{"version":3,"sources":["../../../../sourceES6/core/Maths/math.vector.ts","../node_modules/@babylonjs/core/node_modules/tslib/tslib.es6.js","../node_modules/react/index.js","../../../../sourceES6/core/Misc/decorators.ts","../../../../sourceES6/core/Meshes/buffer.ts","../../../../sourceES6/core/Materials/effect.ts","../../../../sourceES6/core/Misc/observable.ts","../../../../sourceES6/core/Meshes/mesh.ts","../../../../sourceES6/core/Misc/logger.ts","../node_modules/@babel/runtime/helpers/esm/extends.js","../../../../sourceES6/core/Maths/math.color.ts","../../../../../sourceES6/core/Materials/Textures/texture.ts","../../../../sourceES6/core/Misc/typeStore.ts","../node_modules/react/jsx-runtime.js","../../../../sourceES6/core/Misc/tools.ts","../../../../sourceES6/core/Engines/engine.ts","../node_modules/clsx/dist/clsx.m.js","../../../../sourceES6/core/Maths/math.scalar.ts","../../../../sourceES6/core/Materials/materialHelper.ts","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../../../../sourceES6/core/Meshes/mesh.vertexData.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator/index.js","../../../sourceES6/core/sceneComponent.ts","../../../../sourceES6/core/Events/pointerEvents.ts","../../../../sourceES6/core/Materials/materialFlags.ts","../node_modules/@material-ui/core/esm/styles/withStyles.js","../../../../sourceES6/core/Inputs/scene.inputManager.ts","../../../sourceES6/core/scene.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../../../../sourceES6/core/Misc/devTools.ts","../../../../sourceES6/core/PostProcesses/postProcess.ts","../../../../sourceES6/core/Engines/engineStore.ts","../../../../sourceES6/core/Maths/math.axis.ts","../node_modules/prop-types/index.js","../../../../sourceES6/core/Cameras/camera.ts","../../../../sourceES6/core/Animations/animation.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../../../../sourceES6/core/Materials/material.ts","../node_modules/@material-ui/core/esm/utils/capitalize.js","../../../../../sourceES6/core/Engines/WebGL/webGLShaderProcessors.ts","../../../../sourceES6/core/Engines/thinEngine.ts","../node_modules/@material-ui/system/esm/style.js","../../../../sourceES6/core/Maths/math.constants.ts","../../../../../sourceES6/core/Materials/Textures/internalTexture.ts","../node_modules/axios/index.js","../../../sourceES6/core/node.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/defaultFragmentDeclaration.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/defaultUboDeclaration.ts","../../../../sourceES6/core/Shaders/default.fragment.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/defaultVertexDeclaration.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pointCloudVertex.ts","../../../../sourceES6/core/Shaders/default.vertex.ts","../../../../sourceES6/core/Materials/standardMaterial.ts","../../../../sourceES6/core/Meshes/abstractMesh.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@material-ui/utils/esm/chainPropTypes.js","../node_modules/@material-ui/utils/esm/elementAcceptingRef.js","../node_modules/@material-ui/utils/esm/elementTypeAcceptingRef.js","../node_modules/@material-ui/utils/esm/exactProp.js","../node_modules/@material-ui/utils/esm/getDisplayName.js","../node_modules/@material-ui/utils/esm/HTMLElementType.js","../node_modules/@material-ui/utils/esm/ponyfillGlobal.js","../node_modules/@material-ui/utils/esm/refType.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../../../sourceES6/core/Loading/sceneLoader.ts","../node_modules/@material-ui/core/esm/utils/useForkRef.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@material-ui/core/esm/styles/colorManipulator.js","../../../../sourceES6/core/Cameras/cameraInputsManager.ts","../node_modules/recoil/es/recoil.js","../../../../../sourceES6/core/Materials/Textures/renderTargetTexture.ts","../../../../sourceES6/core/Misc/smartArray.ts","../node_modules/react-dom/index.js","../../../../sourceES6/core/Misc/stringTools.ts","../../../sourceES6/core/abstractScene.ts","../../../../sourceES6/core/Rendering/utilityLayerRenderer.ts","../../../../sourceES6/core/Misc/tags.ts","../../../../sourceES6/core/Misc/domManagement.ts","../../../../sourceES6/core/Misc/deepCopier.ts","../../../../sourceES6/core/Materials/imageProcessingConfiguration.ts","../../../../sourceES6/core/Culling/boundingInfo.ts","../../../../sourceES6/core/Misc/arrayTools.ts","../node_modules/@material-ui/core/styles/createBreakpoints.js","../node_modules/@mdi/js/mdi.js","../../../../sourceES6/core/Meshes/transformNode.ts","../../../../sourceES6/core/Actions/actionEvent.ts","../../../../sourceES6/core/Lights/light.ts","../../../../sourceES6/core/Misc/webRequest.ts","../../../../../sourceES6/core/Materials/Textures/baseTexture.ts","../../../../../sourceES6/core/Materials/Textures/thinTexture.ts","../node_modules/@material-ui/core/esm/utils/ownerDocument.js","../../../../../sourceES6/core/Materials/PBR/pbrAnisotropicConfiguration.ts","../../../../../sourceES6/core/Materials/PBR/pbrBRDFConfiguration.ts","../../../../../sourceES6/core/Materials/PBR/pbrSheenConfiguration.ts","../../../../../sourceES6/core/Materials/PBR/pbrSubSurfaceConfiguration.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrFragmentDeclaration.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrUboDeclaration.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrFragmentExtraDeclaration.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrHelperFunctions.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/harmonicsFunctions.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrDirectLightingSetupFunctions.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrDirectLightingFalloffFunctions.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrDirectLightingFunctions.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrIBLFunctions.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrBlockAlbedoOpacity.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrBlockReflectivity.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrBlockAmbientOcclusion.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrBlockAlphaFresnel.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrBlockAnisotropic.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrBlockReflection.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrBlockSheen.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrBlockClearcoat.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrBlockSubSurface.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrBlockNormalGeometric.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrBlockNormalFinal.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrBlockLightmapInit.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrBlockGeometryInfo.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrBlockReflectance0.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrBlockReflectance.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrBlockDirectLighting.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrBlockFinalLitComponents.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrBlockFinalUnlitComponents.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrBlockFinalColorComposition.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrBlockImageProcessing.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrDebug.ts","../../../../sourceES6/core/Shaders/pbr.fragment.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrVertexDeclaration.ts","../../../../sourceES6/core/Shaders/pbr.vertex.ts","../../../../../sourceES6/core/Materials/PBR/pbrBaseMaterial.ts","../../../../sourceES6/core/Collisions/pickingInfo.ts","../../../../sourceES6/core/Misc/perfCounter.ts","../../../../sourceES6/core/Misc/baseError.ts","../../../../sourceES6/core/Misc/fileTools.ts","../node_modules/@material-ui/core/esm/styles/useTheme.js","../../../../sourceES6/core/Cameras/freeCamera.ts","../../../../sourceES6/core/Maths/math.viewport.ts","../../../../sourceES6/core/Misc/precisionDate.ts","../node_modules/@material-ui/core/esm/utils/useEventCallback.js","../../../../../sourceES6/core/Shaders/ShadersInclude/helperFunctions.ts","../../modules/HistoryContext.js","../../modules/createNameContext.js","../../modules/RouterContext.js","../../modules/Router.js","../../modules/MemoryRouter.js","../../modules/Lifecycle.js","../../modules/generatePath.js","../../modules/Redirect.js","../../modules/matchPath.js","../../modules/Route.js","../../modules/StaticRouter.js","../../modules/Switch.js","../../modules/hooks.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../../../../sourceES6/core/Meshes/subMesh.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@material-ui/core/esm/styles/transitions.js","../node_modules/@material-ui/system/esm/compose.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../../../../../sourceES6/core/Materials/Textures/dynamicTexture.ts","../node_modules/jss/dist/jss.esm.js","../../../../../../../webpack/bootstrap","../webpack:/external \"prop-types\"","../webpack:/external \"react\"","../../../../../../../src/Stack.tsx","../../../../../../../src/Icon.tsx","../../../../../sourceES6/core/Meshes/Builders/boxBuilder.ts","../../../../sourceES6/core/Maths/math.plane.ts","../../../../sourceES6/core/Events/keyboardEvents.ts","../node_modules/@material-ui/core/esm/transitions/utils.js","../../../../sourceES6/core/Materials/effectFallbacks.ts","../../../../../sourceES6/core/Materials/Textures/cubeTexture.ts","../../../../../sourceES6/core/Materials/Textures/rawTexture.ts","../../../../sourceES6/core/Materials/multiMaterial.ts","../../../../sourceES6/core/Cameras/targetCamera.ts","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../../../sourceES6/core/Loading/sceneLoaderFlags.ts","../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/@material-ui/core/esm/utils/setRef.js","../../../../sourceES6/core/Misc/canvasGenerator.ts","../../../../sourceES6/core/Meshes/geometry.ts","../node_modules/axios/lib/utils.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/@material-ui/core/esm/FormControl/useFormControl.js","../../../../sourceES6/core/Materials/shaderMaterial.ts","../node_modules/@material-ui/core/esm/utils/debounce.js","../../../../sourceES6/core/Engines/performanceConfigurator.ts","../node_modules/tiny-invariant/dist/tiny-invariant.esm.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@material-ui/core/esm/utils/createSvgIcon.js","../node_modules/dequal/lite/index.mjs","../node_modules/swr/esm/libs/hash.js","../node_modules/swr/esm/cache.js","../node_modules/swr/esm/libs/web-preset.js","../node_modules/swr/esm/config.js","../node_modules/swr/esm/env.js","../node_modules/swr/esm/swr-config-context.js","../node_modules/swr/esm/use-swr.js","../node_modules/swr/esm/index.js","../../../../sourceES6/core/Materials/materialDefines.ts","../../../../sourceES6/core/Maths/math.size.ts","../node_modules/@material-ui/core/esm/FormControl/formControlState.js","../../../../sourceES6/core/Shaders/rgbdEncode.fragment.ts","../../../../sourceES6/core/Misc/environmentTextureTools.ts","../node_modules/@material-ui/core/esm/Drawer/Drawer.js","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/value-equal/esm/value-equal.js","../node_modules/history/esm/history.js","../../../../../sourceES6/core/Shaders/ShadersInclude/instancesDeclaration.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/instancesVertex.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/bonesDeclaration.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/bonesVertex.ts","../../../../sourceES6/core/Maths/sphericalPolynomial.ts","../node_modules/@material-ui/core/styles/useTheme.js","../../../../sourceES6/core/Misc/filesInputStore.ts","../../src/SnackbarContext.ts","../../src/utils/constants.ts","../../src/SnackbarContent/SnackbarContent.tsx","../../src/SnackbarItem/SnackbarItem.util.ts","../../src/utils/defaultIconVariants.tsx","../../src/utils/createChainedFunction.js","../../src/utils/useEventCallback.js","../../src/SnackbarItem/Snackbar.js","../../src/SnackbarItem/SnackbarItem.tsx","../../src/SnackbarContainer.tsx","../../src/SnackbarProvider.tsx","../../src/useSnackbar.ts","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../../../../../sourceES6/core/Meshes/Builders/planeBuilder.ts","../../../../sourceES6/core/Lights/hemisphericLight.ts","../../../../sourceES6/core/Materials/pushMaterial.ts","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@material-ui/core/esm/utils/createChainedFunction.js","../../../../sourceES6/core/Materials/uniformBuffer.ts","../../../../sourceES6/core/Cameras/freeCameraInputsManager.ts","../node_modules/@material-ui/core/esm/List/ListContext.js","../../../../../sourceES6/core/Meshes/WebGL/webGLDataBuffer.ts","../../../../sourceES6/core/Meshes/dataBuffer.ts","../../../../sourceES6/core/Maths/math.frustum.ts","../../../../sourceES6/core/Actions/abstractActionManager.ts","../../../../sourceES6/core/Materials/material.detailMapConfiguration.ts","../../../../../sourceES6/core/Engines/Extensions/engine.rawTexture.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/morphTargetsVertexGlobalDeclaration.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/morphTargetsVertexDeclaration.ts","../node_modules/tiny-warning/dist/tiny-warning.esm.js","../../../../sourceES6/core/PostProcesses/postProcessManager.ts","../../../../sourceES6/core/Rendering/renderingManager.ts","../node_modules/@material-ui/core/esm/Typography/Typography.js","../node_modules/@stripe/react-stripe-js/dist/react-stripe.umd.js","../../../../src/utils/constant.ts","../../../../src/utils/isNil.ts","../../../../src/utils/isNilOrEmpty.ts","../../../../src/utils/isNotNilOrEmpty.ts","../../../../src/utils/calc.ts","../../../../src/utils/get.ts","../../../../src/utils/toValidCssValue.ts","../../../../src/utils/upperFirst.ts","../../../../src/utils/pickNearestBreakpoint.ts","../../../../src/utils/resolveDirection.ts","../../../../src/utils/createBreakpointStyles.ts","../../../../src/utils/createDisplayNone.ts","../../../../src/utils/createHiddenStyles.ts","../../../../src/utils/combineBreakpoints.ts","../../../../src/utils/getFlexBehaviorValue.ts","../../../../src/utils/mapWidthToScreen.ts","../../../../src/utils/normalizeMapById.ts","../../../../../src/utils/iterateRpsById/iterateRpsById.ts","../../../../src/utils/attachHiddenToMapById.ts","../../../../src/utils/isHeaderClipped.ts","../../../../../src/utils/getFieldById/getFieldById.ts","../../../../../src/utils/toObject/toObject.ts","../../../../../src/utils/mapObject/mapObject.ts","../../../../../src/utils/mapRpsById/mapRpsById.ts","../../../../../src/utils/genHiddenBreakpoints/genHiddenBreakpoints.ts","../../../../src/Header/HeaderRegistry.ts","../../../../src/shared/State.ts","../../../../../src/shared/BuilderCreator/SingleObject.ts","../../../../../src/builders/Header/HeaderBuilder.ts","../../../../../src/shared/BuilderCreator/MultiObjects.ts","../../../../../src/builders/Subheader/SubheaderBuilder.ts","../../../../src/EdgeSidebar/EdgeSidebarRegistry.ts","../../../../../src/builders/EdgeSidebar/EdgeSidebarBuilder.ts","../../../../../src/builders/Content/ContentBuilder.ts","../../../../../src/builders/Footer/FooterBuilder.ts","../../../../src/InsetSidebar/InsetSidebarRegistry.ts","../../../../../src/builders/InsetSidebar/InsetSidebarBuilder.ts","../../../../src/builders/LayoutBuilder.ts","../../../../src/contexts/LayoutContext.tsx","../../../../src/utils/sidebarChecker.ts","../../../../src/contexts/SidebarContext.tsx","../../../../src/contexts/WindowContext.tsx","../../../../src/contexts/FullscreenContext.tsx","../../../../../src/components/Root/Root.tsx","../../../../../src/components/InsetContainer/InsetContainer.tsx","../../../../../src/components/SidebarContent/SidebarContent.tsx","../../../../src/compilers/HeaderOffsetCompiler.ts","../../../../../src/components/Shared/StyledProxy.tsx","../../../../../src/components/HeaderOffset/HeaderOffset.tsx","../../../../../src/models/Width/WidthModel.ts","../../../../../src/models/Margin/MarginModel.ts","../../../../../../src/models/Sidebar/Edge/EdgeSidebarModel.ts","../../../../../src/effects/PermanentSidebar/PermanentSidebarEffect.ts","../../../../../src/effects/PersistentSidebar/PersistentSidebarEffect.ts","../../../../../src/effects/EdgeSidebars/EdgeSidebarEffects.ts","../../../../../src/effects/Header/HeaderEffect.ts","../../../../../src/models/Header/HeaderModel.ts","../../../../src/compilers/HeaderCompiler.ts","../../../../../src/components/Header/Header.tsx","../../../../src/compilers/ContentCompiler.ts","../../../../../src/effects/SidebarList/SidebarListEffect.ts","../../../../../src/components/Content/Content.tsx","../../../../src/hooks/useScreen.ts","../../../../src/shared/Responsive.ts","../../../../src/hooks/useScrollY.ts","../../../../../src/models/MultiHeaders/MultiHeadersModel.ts","../../../../../src/effects/MultiHeaders/MultiHeadersEffect.ts","../../../../src/hooks/useHeaderMagnet.ts","../../../../src/hooks/useEdgeHeaderMagnet.ts","../../../../src/compilers/EdgeSidebarCompiler.ts","../../../../src/hooks/useSidebar.ts","../../../../src/utils/getSidebarAnchor.ts","../../../../src/hooks/useSidebarAutoCollapse.ts","../../../../src/hooks/useBreakpointConfig.ts","../../../../src/hooks/useSidebarCollapse.ts","../../../../src/compilers/EdgeCollapseCompiler.ts","../../../../src/hooks/useSidebarTrigger.ts","../../../../src/compilers/EdgeTriggerCompiler.ts","../../../../../src/components/CollapseIcon/CollapseIcon.tsx","../../../../../src/components/CollapseBtn/CollapseBtn.tsx","../../../../../src/components/SidebarTrigger/SidebarTrigger.tsx","../../../../src/compilers/OffsetCompiler.ts","../../../../src/compilers/EdgeHeaderOffsetCompiler.ts","../../../../src/styles/transition.styles.ts","../../../../../src/components/EdgeHeaderOffset/EdgeHeaderOffset.tsx","../../../../../src/components/Shared/SharedSidebar.tsx","../../../../../src/components/DrawerSidebar/DrawerSidebar.tsx","../node_modules/@material-ui/core/esm/utils/useControlled.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../../../../../sourceES6/core/Shaders/ShadersInclude/morphTargetsVertex.ts","../node_modules/@material-ui/core/esm/utils/isMuiElement.js","../node_modules/@material-ui/core/esm/utils/useIsFocusVisible.js","../../../../sourceES6/core/Maths/math.functions.ts","../../../../../sourceES6/core/Misc/HighDynamicRange/cubemapToSphericalPolynomial.ts","../../../../sourceES6/core/Lights/shadowLight.ts","../../../../sourceES6/core/Misc/brdfTextureTools.ts","../node_modules/@material-ui/core/esm/styles/defaultTheme.js","../node_modules/@material-ui/core/esm/utils/ownerWindow.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../../sourceES6/core/Animations/animationRange.ts","../../../../../sourceES6/core/Materials/Textures/renderTargetCreationOptions.ts","../../../../sourceES6/core/Culling/boundingBox.ts","../node_modules/@material-ui/system/esm/merge.js","../../../../sourceES6/core/Misc/timingTools.ts","../node_modules/lodash.mapvalues/index.js","../../../../sourceES6/core/Materials/prePassConfiguration.ts","../../../../../sourceES6/core/Materials/PBR/pbrClearCoatConfiguration.ts","../../src/constants.js","../../src/sheet/Tag.js","../../src/sheet/Sheet.js","../../src/utils/isStaticRules.js","../../src/models/Keyframes.js","../../src/models/StyledComponent.js","../../src/models/GlobalStyle.js","../../src/models/ServerStyleSheet.js","../node_modules/@material-ui/core/esm/Paper/index.js","../node_modules/@babel/runtime/helpers/extends.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../../../../sourceES6/core/Materials/PBR/pbrMaterial.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js","../../../../../sourceES6/core/Shaders/ShadersInclude/lightFragmentDeclaration.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/lightUboDeclaration.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/imageProcessingDeclaration.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/imageProcessingFunctions.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/clipPlaneFragment.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/clipPlaneVertex.ts","../../../../sourceES6/core/Bones/bone.ts","../../../../sourceES6/core/Bones/skeleton.ts","../node_modules/@material-ui/core/esm/FormControl/FormControlContext.js","../../../../sourceES6/core/Morph/morphTargetManager.ts","../../../../sourceES6/core/Misc/stringDictionary.ts","../../../../sourceES6/core/Culling/boundingSphere.ts","../../../../sourceES6/core/Collisions/intersectionInfo.ts","../../../../sourceES6/core/Audio/sound.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@material-ui/core/esm/InputBase/utils.js","../node_modules/@material-ui/icons/KeyboardArrowRightRounded.js","../node_modules/@material-ui/icons/KeyboardArrowLeftRounded.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/is-in-browser/dist/module.js","../node_modules/@material-ui/core/esm/Paper/Paper.js","../node_modules/@babel/runtime/helpers/objectWithoutProperties.js","../node_modules/react-gtm-module/dist/index.js","../../../../sourceES6/core/Animations/animationGroup.ts","../../../../../sourceES6/core/Engines/Extensions/engine.renderTarget.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/logDepthDeclaration.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/clipPlaneVertexDeclaration.ts","../../../../../sourceES6/core/Engines/WebGL/webGL2ShaderProcessors.ts","../../../../sourceES6/core/Materials/thinMaterialHelper.ts","../../../../sourceES6/core/Misc/workerPool.ts","../node_modules/@material-ui/system/esm/breakpoints.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../../sourceES6/core/Misc/guid.ts","../../../../sourceES6/core/Materials/colorCurves.ts","../../../../sourceES6/core/Misc/instantiationTools.ts","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/@material-ui/core/esm/ButtonBase/Ripple.js","../node_modules/@material-ui/core/esm/ButtonBase/TouchRipple.js","../node_modules/@material-ui/core/esm/ButtonBase/ButtonBase.js","../node_modules/@material-ui/styles/esm/useTheme/useTheme.js","../node_modules/@material-ui/core/esm/SvgIcon/SvgIcon.js","../../../../sourceES6/core/Actions/action.ts","../../../../sourceES6/core/Actions/condition.ts","../../../../sourceES6/core/Actions/directActions.ts","../../../../sourceES6/core/Actions/actionManager.ts","../../../../sourceES6/core/Actions/directAudioActions.ts","../../../../sourceES6/core/Actions/interpolateValueAction.ts","../../../../sourceES6/core/Maths/math.path.ts","../../../../sourceES6/core/Animations/easing.ts","../../../../sourceES6/core/Audio/analyser.ts","../../../../sourceES6/core/Audio/audioEngine.ts","../../../../sourceES6/core/Audio/soundTrack.ts","../../../../sourceES6/core/Audio/audioSceneComponent.ts","../../../../../sourceES6/core/Behaviors/Cameras/autoRotationBehavior.ts","../../../../../sourceES6/core/Behaviors/Cameras/bouncingBehavior.ts","../../../../../sourceES6/core/Behaviors/Cameras/framingBehavior.ts","../../../../../sourceES6/core/Behaviors/Meshes/attachToBoxBehavior.ts","../../../../sourceES6/core/Culling/ray.ts","../../../../sourceES6/core/Misc/pivotTools.ts","../../../../../sourceES6/core/Behaviors/Meshes/pointerDragBehavior.ts","../../../../../sourceES6/core/Behaviors/Meshes/multiPointerScaleBehavior.ts","../../../../../sourceES6/core/Behaviors/Meshes/sixDofDragBehavior.ts","../../../../sourceES6/core/Bones/boneIKController.ts","../../../../sourceES6/core/Bones/boneLookController.ts","../../../../sourceES6/core/Gamepads/gamepad.ts","../../../../../sourceES6/core/Cameras/Inputs/arcRotateCameraGamepadInput.ts","../../../../../sourceES6/core/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.ts","../../../../../sourceES6/core/Cameras/Inputs/arcRotateCameraMouseWheelInput.ts","../../../../../sourceES6/core/Cameras/Inputs/BaseCameraPointersInput.ts","../../../../../sourceES6/core/Cameras/Inputs/arcRotateCameraPointersInput.ts","../../../../sourceES6/core/Cameras/arcRotateCameraInputsManager.ts","../../../../../sourceES6/core/Cameras/Inputs/arcRotateCameraVRDeviceOrientationInput.ts","../../../../../sourceES6/core/Cameras/Inputs/flyCameraKeyboardInput.ts","../../../../../sourceES6/core/Cameras/Inputs/flyCameraMouseInput.ts","../../../../../sourceES6/core/Cameras/Inputs/followCameraKeyboardMoveInput.ts","../../../../../sourceES6/core/Cameras/Inputs/followCameraMouseWheelInput.ts","../../../../../sourceES6/core/Cameras/Inputs/followCameraPointersInput.ts","../../../../../sourceES6/core/Cameras/Inputs/freeCameraDeviceOrientationInput.ts","../../../../../sourceES6/core/Cameras/Inputs/freeCameraGamepadInput.ts","../../../../sourceES6/core/Misc/virtualJoystick.ts","../../../../../sourceES6/core/Cameras/Inputs/freeCameraVirtualJoystickInput.ts","../../../../sourceES6/core/Cameras/touchCamera.ts","../../../../sourceES6/core/Cameras/arcRotateCamera.ts","../../../../sourceES6/core/Cameras/deviceOrientationCamera.ts","../../../../sourceES6/core/Cameras/flyCameraInputsManager.ts","../../../../sourceES6/core/Cameras/followCameraInputsManager.ts","../../../../sourceES6/core/Cameras/flyCamera.ts","../../../../sourceES6/core/Cameras/followCamera.ts","../../../../../sourceES6/core/Gamepads/Controllers/poseEnabledController.ts","../../../../sourceES6/core/Gamepads/xboxGamepad.ts","../../../../sourceES6/core/Gamepads/dualShockGamepad.ts","../../../../sourceES6/core/Gamepads/gamepadManager.ts","../../../../sourceES6/core/Gamepads/gamepadSceneComponent.ts","../../../../sourceES6/core/Cameras/universalCamera.ts","../../../../sourceES6/core/Cameras/gamepadCamera.ts","../../../../sourceES6/core/Shaders/pass.fragment.ts","../../../../sourceES6/core/Shaders/passCube.fragment.ts","../../../../sourceES6/core/PostProcesses/passPostProcess.ts","../../../../sourceES6/core/Shaders/anaglyph.fragment.ts","../../../../sourceES6/core/PostProcesses/anaglyphPostProcess.ts","../../../../../sourceES6/core/Cameras/RigModes/stereoscopicAnaglyphRigMode.ts","../../../../../sourceES6/core/Cameras/Stereoscopic/anaglyphArcRotateCamera.ts","../../../../../sourceES6/core/Cameras/Stereoscopic/anaglyphFreeCamera.ts","../../../../../sourceES6/core/Cameras/Stereoscopic/anaglyphGamepadCamera.ts","../../../../../sourceES6/core/Cameras/Stereoscopic/anaglyphUniversalCamera.ts","../../../../../sourceES6/core/Cameras/RigModes/stereoscopicRigMode.ts","../../../../../sourceES6/core/Cameras/Stereoscopic/stereoscopicArcRotateCamera.ts","../../../../../sourceES6/core/Cameras/Stereoscopic/stereoscopicFreeCamera.ts","../../../../../sourceES6/core/Cameras/Stereoscopic/stereoscopicGamepadCamera.ts","../../../../../sourceES6/core/Cameras/Stereoscopic/stereoscopicUniversalCamera.ts","../../../../sourceES6/core/Cameras/virtualJoysticksCamera.ts","../../../../../sourceES6/core/Cameras/VR/vrCameraMetrics.ts","../../../../sourceES6/core/Shaders/vrDistortionCorrection.fragment.ts","../../../../sourceES6/core/PostProcesses/vrDistortionCorrectionPostProcess.ts","../../../../sourceES6/core/Shaders/vrMultiviewToSingleview.fragment.ts","../../../../../sourceES6/core/Materials/Textures/MultiviewRenderTarget.ts","../../../../../sourceES6/core/Engines/Extensions/engine.multiview.ts","../../../../sourceES6/core/PostProcesses/vrMultiviewToSingleviewPostProcess.ts","../../../../../sourceES6/core/Cameras/RigModes/vrRigMode.ts","../../../../../sourceES6/core/Cameras/VR/vrDeviceOrientationArcRotateCamera.ts","../../../../../sourceES6/core/Cameras/VR/vrDeviceOrientationFreeCamera.ts","../../../../../sourceES6/core/Cameras/VR/vrDeviceOrientationGamepadCamera.ts","../../../../../sourceES6/core/Cameras/RigModes/webVRRigMode.ts","../../../../../sourceES6/core/Engines/Extensions/engine.webVR.ts","../../../../../sourceES6/core/Cameras/VR/webVRCamera.ts","../../../../../sourceES6/core/Gamepads/Controllers/webVRController.ts","../../../../sourceES6/core/Shaders/imageProcessing.fragment.ts","../../../../sourceES6/core/PostProcesses/imageProcessingPostProcess.ts","../../../../sourceES6/core/Meshes/groundMesh.ts","../../../../../sourceES6/core/Meshes/Builders/groundBuilder.ts","../../../../../sourceES6/core/Meshes/Builders/torusBuilder.ts","../../../../../sourceES6/core/Meshes/Builders/cylinderBuilder.ts","../../../../sourceES6/core/XR/webXRTypes.ts","../../../../sourceES6/core/XR/webXRManagedOutputCanvas.ts","../../../../sourceES6/core/XR/webXRSessionManager.ts","../../../../../sourceES6/core/Cameras/VR/vrExperienceHelper.ts","../../../../sourceES6/core/Collisions/collider.ts","../../../../sourceES6/core/Collisions/collisionCoordinator.ts","../../../../../sourceES6/core/Culling/Octrees/octreeBlock.ts","../../../../../sourceES6/core/Culling/Octrees/octree.ts","../../../../../sourceES6/core/Culling/Octrees/octreeSceneComponent.ts","../../../../sourceES6/core/Debug/debugLayer.ts","../../../../sourceES6/core/Gizmos/gizmo.ts","../../../../sourceES6/core/Gizmos/axisDragGizmo.ts","../../../../sourceES6/core/Debug/boneAxesViewer.ts","../../../../sourceES6/core/Debug/axesViewer.ts","../../../../../sourceES6/core/Meshes/Builders/sphereBuilder.ts","../../../../sourceES6/core/Physics/physicsJoint.ts","../../../../sourceES6/core/Physics/physicsImpostor.ts","../../../../sourceES6/core/Debug/physicsViewer.ts","../../../../sourceES6/core/Meshes/instancedMesh.ts","../../../../sourceES6/core/Shaders/color.fragment.ts","../../../../sourceES6/core/Shaders/color.vertex.ts","../../../../sourceES6/core/Meshes/linesMesh.ts","../../../../../sourceES6/core/Meshes/Builders/linesBuilder.ts","../../../../sourceES6/core/Debug/rayHelper.ts","../../../../../sourceES6/core/Meshes/Builders/ribbonBuilder.ts","../../../../../sourceES6/core/Meshes/Builders/shapeBuilder.ts","../../../../../sourceES6/core/DeviceInput/InputDevices/deviceEnums.ts","../../../../sourceES6/core/Debug/skeletonViewer.ts","../../../../sourceES6/core/DeviceInput/deviceInputSystem.ts","../../../../../sourceES6/core/DeviceInput/InputDevices/deviceSourceManager.ts","../../../../sourceES6/core/Instrumentation/timeToken.ts","../../../../../sourceES6/core/Engines/Extensions/engine.occlusionQuery.ts","../../../../../sourceES6/core/Engines/Extensions/engine.transformFeedback.ts","../../../../../sourceES6/core/Engines/Extensions/engine.videoTexture.ts","../../../../../sourceES6/core/Engines/Extensions/engine.multiRender.ts","../../../../../sourceES6/core/Engines/Extensions/engine.views.ts","../../../../../sourceES6/core/Engines/Extensions/engine.textureSelector.ts","../../../../../sourceES6/core/Engines/Processors/shaderCodeInliner.ts","../../../../sourceES6/core/Engines/nativeEngine.ts","../../../../../sourceES6/core/Gamepads/Controllers/daydreamController.ts","../../../../../sourceES6/core/Gamepads/Controllers/gearVRController.ts","../../../../../sourceES6/core/Gamepads/Controllers/genericController.ts","../../../../../sourceES6/core/Gamepads/Controllers/oculusTouchController.ts","../../../../../sourceES6/core/Gamepads/Controllers/viveController.ts","../../../../../sourceES6/core/Gamepads/Controllers/windowsMotionController.ts","../../../../sourceES6/core/Gizmos/axisScaleGizmo.ts","../../../../sourceES6/core/Gizmos/boundingBoxGizmo.ts","../../../../sourceES6/core/Gizmos/planeRotationGizmo.ts","../../../../sourceES6/core/Gizmos/rotationGizmo.ts","../../../../sourceES6/core/Gizmos/planeDragGizmo.ts","../../../../sourceES6/core/Gizmos/positionGizmo.ts","../../../../../sourceES6/core/Meshes/Builders/polyhedronBuilder.ts","../../../../sourceES6/core/Gizmos/scaleGizmo.ts","../../../../sourceES6/core/Gizmos/gizmoManager.ts","../../../../../sourceES6/core/Meshes/Builders/hemisphereBuilder.ts","../../../../sourceES6/core/Maths/math.vertexFormat.ts","../../../../sourceES6/core/Gizmos/lightGizmo.ts","../../../../sourceES6/core/Gizmos/cameraGizmo.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/kernelBlurVaryingDeclaration.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/packingFunctions.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/kernelBlurFragment.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/kernelBlurFragment2.ts","../../../../sourceES6/core/Shaders/kernelBlur.fragment.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/kernelBlurVertex.ts","../../../../sourceES6/core/Shaders/kernelBlur.vertex.ts","../../../../sourceES6/core/PostProcesses/blurPostProcess.ts","../../../../../sourceES6/core/Materials/Textures/mirrorTexture.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/backgroundFragmentDeclaration.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/backgroundUboDeclaration.ts","../../../../sourceES6/core/Shaders/background.fragment.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/backgroundVertexDeclaration.ts","../../../../sourceES6/core/Shaders/background.vertex.ts","../../../../../sourceES6/core/Materials/Background/backgroundMaterial.ts","../../../../sourceES6/core/Helpers/environmentHelper.ts","../../../../sourceES6/core/Helpers/textureDome.ts","../../../../sourceES6/core/Helpers/photoDome.ts","../../../../sourceES6/core/Misc/dds.ts","../../../../../../sourceES6/core/Materials/Textures/Loaders/ddsTextureLoader.ts","../../../../../../sourceES6/core/Materials/Textures/Loaders/envTextureLoader.ts","../../../../sourceES6/core/Misc/khronosTextureContainer.ts","../../../../sourceES6/core/Misc/khronosTextureContainer2.ts","../../../../../../sourceES6/core/Materials/Textures/Loaders/ktxTextureLoader.ts","../../../../sourceES6/core/XR/webXRCamera.ts","../../../../sourceES6/core/XR/webXRFeaturesManager.ts","../../../../sourceES6/core/XR/webXRExperienceHelper.ts","../../../../../sourceES6/core/XR/motionController/webXRControllerComponent.ts","../../../../../sourceES6/core/XR/motionController/webXRAbstractMotionController.ts","../../../../../sourceES6/core/XR/motionController/webXRGenericMotionController.ts","../../../../../sourceES6/core/XR/motionController/webXRProfiledMotionController.ts","../../../../../sourceES6/core/XR/motionController/webXRMotionControllerManager.ts","../../../../sourceES6/core/XR/webXRInputSource.ts","../../../../sourceES6/core/XR/webXRInput.ts","../../../../../sourceES6/core/XR/features/WebXRAbstractFeature.ts","../../../../../sourceES6/core/XR/features/WebXRControllerPointerSelection.ts","../../../../sourceES6/core/XR/webXREnterExitUI.ts","../../../../sourceES6/core/Misc/timer.ts","../../../../../sourceES6/core/XR/features/WebXRControllerTeleportation.ts","../../../../sourceES6/core/XR/webXRDefaultExperience.ts","../../../../sourceES6/core/Helpers/sceneHelpers.ts","../../../../../sourceES6/core/Materials/Textures/videoTexture.ts","../../../../sourceES6/core/Helpers/videoDome.ts","../../../../sourceES6/core/Shaders/glowMapGeneration.fragment.ts","../../../../sourceES6/core/Instrumentation/engineInstrumentation.ts","../../../../sourceES6/core/Instrumentation/sceneInstrumentation.ts","../../../../sourceES6/core/Shaders/glowMapGeneration.vertex.ts","../../../../sourceES6/core/Layers/effectLayer.ts","../../../../sourceES6/core/Layers/effectLayerSceneComponent.ts","../../../../sourceES6/core/Shaders/glowMapMerge.fragment.ts","../../../../sourceES6/core/Shaders/glowMapMerge.vertex.ts","../../../../sourceES6/core/Layers/glowLayer.ts","../../../../sourceES6/core/Shaders/glowBlurPostProcess.fragment.ts","../../../../sourceES6/core/Layers/highlightLayer.ts","../../../../sourceES6/core/LensFlares/lensFlare.ts","../../../../sourceES6/core/Shaders/lensFlare.fragment.ts","../../../../sourceES6/core/Shaders/lensFlare.vertex.ts","../../../../sourceES6/core/LensFlares/lensFlareSystem.ts","../../../../sourceES6/core/LensFlares/lensFlareSystemSceneComponent.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/bayerDitherFunctions.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/shadowMapFragmentDeclaration.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/shadowMapFragment.ts","../../../../sourceES6/core/Shaders/shadowMap.fragment.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/shadowMapVertexDeclaration.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/shadowMapVertexNormalBias.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/shadowMapVertexMetric.ts","../../../../sourceES6/core/Shaders/shadowMap.vertex.ts","../../../../sourceES6/core/Shaders/depthBoxBlur.fragment.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/shadowMapFragmentSoftTransparentShadow.ts","../../../../../sourceES6/core/Lights/Shadows/shadowGenerator.ts","../../../../sourceES6/core/Shaders/depth.fragment.ts","../../../../sourceES6/core/Shaders/depth.vertex.ts","../../../../sourceES6/core/Rendering/depthRenderer.ts","../../../../sourceES6/core/Shaders/minmaxRedux.fragment.ts","../../../../sourceES6/core/Misc/depthReducer.ts","../../../../sourceES6/core/Misc/minMaxReducer.ts","../../../../../sourceES6/core/Lights/Shadows/cascadedShadowGenerator.ts","../../../../../sourceES6/core/Lights/Shadows/shadowGeneratorSceneComponent.ts","../../../../sourceES6/core/Loading/loadingScreen.ts","../../../../../sourceES6/core/Misc/HighDynamicRange/panoramaToCubemap.ts","../../../../../sourceES6/core/Misc/HighDynamicRange/hdr.ts","../../../../sourceES6/core/Materials/effectRenderer.ts","../../../../sourceES6/core/Shaders/hdrFiltering.vertex.ts","../../../../sourceES6/core/Shaders/hdrFiltering.fragment.ts","../../../../../../sourceES6/core/Materials/Textures/Filtering/hdrFiltering.ts","../../../../../sourceES6/core/Materials/Textures/hdrCubeTexture.ts","../../../../sourceES6/core/Physics/physicsEngine.ts","../../../../sourceES6/core/Physics/physicsRaycastResult.ts","../../../../../sourceES6/core/Physics/Plugins/cannonJSPlugin.ts","../../../../../sourceES6/core/Physics/Plugins/oimoJSPlugin.ts","../../../../../sourceES6/core/Physics/Plugins/ammoJSPlugin.ts","../../../../sourceES6/core/Probes/reflectionProbe.ts","../../../../../sourceES6/core/Loading/Plugins/babylonFileLoader.ts","../../../../sourceES6/core/Materials/fresnelParameters.ts","../../../../../sourceES6/core/Materials/PBR/pbrBaseSimpleMaterial.ts","../../../../../sourceES6/core/Materials/PBR/pbrMetallicRoughnessMaterial.ts","../../../../../sourceES6/core/Materials/PBR/pbrSpecularGlossinessMaterial.ts","../../../../../sourceES6/core/Materials/Textures/colorGradingTexture.ts","../../../../../sourceES6/core/Materials/Textures/equiRectangularCubeTexture.ts","../../../../sourceES6/core/Misc/tga.ts","../../../../../sourceES6/core/Materials/Textures/htmlElementTexture.ts","../../../../../../sourceES6/core/Materials/Textures/Loaders/tgaTextureLoader.ts","../../../../sourceES6/core/Misc/basis.ts","../../../../../../sourceES6/core/Materials/Textures/Loaders/basisTextureLoader.ts","../../../../../sourceES6/core/Materials/Textures/multiRenderTarget.ts","../../../../../../sourceES6/core/Materials/Textures/Packer/frame.ts","../../../../../../sourceES6/core/Materials/Textures/Procedurals/proceduralTextureSceneComponent.ts","../../../../../../sourceES6/core/Materials/Textures/Packer/packer.ts","../../../../sourceES6/core/Shaders/procedural.vertex.ts","../../../../../../sourceES6/core/Materials/Textures/Procedurals/proceduralTexture.ts","../../../../sourceES6/core/Shaders/noise.fragment.ts","../../../../../../sourceES6/core/Materials/Textures/Procedurals/customProceduralTexture.ts","../../../../../../sourceES6/core/Materials/Textures/Procedurals/noiseProceduralTexture.ts","../../../../../../sourceES6/core/Materials/Node/Enums/nodeMaterialBlockTargets.ts","../../../../../../sourceES6/core/Materials/Node/Enums/nodeMaterialBlockConnectionPointTypes.ts","../../../../../../sourceES6/core/Materials/Node/Enums/nodeMaterialBlockConnectionPointMode.ts","../../../../../../sourceES6/core/Materials/Node/Enums/nodeMaterialSystemValues.ts","../../../../../../sourceES6/core/Materials/Node/Enums/nodeMaterialModes.ts","../../../../../sourceES6/core/Materials/Node/nodeMaterialBlockConnectionPoint.ts","../../../../../sourceES6/core/Materials/Textures/rawTexture2DArray.ts","../../../../../sourceES6/core/Materials/Textures/rawTexture3D.ts","../../../../../sourceES6/core/Materials/Textures/refractionTexture.ts","../../../../../sourceES6/core/Materials/Node/nodeMaterialBlock.ts","../../../../../sourceES6/core/Materials/Node/nodeMaterialBuildState.ts","../../../../../sourceES6/core/Materials/Node/nodeMaterialBuildStateSharedData.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/transformBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/Vertex/vertexOutputBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/Fragment/fragmentOutputBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/Input/animatedInputBlockTypes.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/Input/inputBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/Dual/currentScreenBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/Particle/particleTextureBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/Particle/particleRampGradientBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/Particle/particleBlendMultiplyBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/vectorMergerBlock.ts","../../../../../sourceES6/core/Materials/Node/nodeMaterialDecorator.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/remapBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/multiplyBlock.ts","../../../../../sourceES6/core/Particles/EmitterTypes/boxParticleEmitter.ts","../../../../../sourceES6/core/Particles/EmitterTypes/coneParticleEmitter.ts","../../../../../sourceES6/core/Particles/EmitterTypes/cylinderParticleEmitter.ts","../../../../../sourceES6/core/Particles/EmitterTypes/hemisphericParticleEmitter.ts","../../../../../sourceES6/core/Particles/EmitterTypes/pointParticleEmitter.ts","../../../../../sourceES6/core/Particles/EmitterTypes/sphereParticleEmitter.ts","../../../../../sourceES6/core/Particles/EmitterTypes/customParticleEmitter.ts","../../../../../sourceES6/core/Particles/EmitterTypes/meshParticleEmitter.ts","../../../../sourceES6/core/Particles/baseParticleSystem.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/colorSplitterBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/trigonometryBlock.ts","../../../../../sourceES6/core/Materials/Node/nodeMaterial.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/Vertex/bonesBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/Vertex/instancesBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/Vertex/morphTargetsBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/Vertex/lightInformationBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/Fragment/imageProcessingBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/Fragment/perturbNormalBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/Fragment/discardBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/Fragment/frontFacingBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/Fragment/derivativeBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/Fragment/fragCoordBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/Fragment/screenSizeBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/Dual/fogBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/Dual/lightBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/Dual/textureBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/Dual/reflectionTextureBaseBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/Dual/reflectionTextureBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/addBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/scaleBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/clampBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/crossBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/dotBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/normalizeBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/colorMergerBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/vectorSplitterBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/lerpBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/divideBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/subtractBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/stepBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/oneMinusBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/viewDirectionBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/fresnelBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/maxBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/minBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/distanceBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/lengthBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/negateBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/powBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/randomNumberBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/arcTan2Block.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/smoothStepBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/reciprocalBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/replaceColorBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/posterizeBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/waveBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/gradientBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/nLerpBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/worleyNoise3DBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/simplexPerlin3DBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/normalBlendBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/rotate2dBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/reflectBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/refractBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/desaturateBlock.ts","../../../../../sourceES6/core/Materials/Node/nodeMaterialConnectionPointCustomObject.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/PBR/sheenBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/PBR/anisotropyBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/PBR/reflectionBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/PBR/clearCoatBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/PBR/refractionBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/PBR/subSurfaceBlock.ts","../../../../../../../sourceES6/core/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.ts","../../../../../../sourceES6/core/Materials/Node/Blocks/modBlock.ts","../../../../../../sourceES6/core/Materials/Node/Optimizers/nodeMaterialOptimizer.ts","../../../../sourceES6/core/Materials/shadowDepthWrapper.ts","../../../../sourceES6/core/Meshes/csg.ts","../../../../sourceES6/core/Meshes/trailMesh.ts","../../../../../sourceES6/core/Meshes/Builders/discBuilder.ts","../../../../../sourceES6/core/Meshes/Builders/tiledBoxBuilder.ts","../../../../../sourceES6/core/Meshes/Builders/torusKnotBuilder.ts","../../../../sourceES6/core/Meshes/polygonMesh.ts","../../../../../sourceES6/core/Meshes/Builders/polygonBuilder.ts","../../../../../sourceES6/core/Meshes/Builders/latheBuilder.ts","../../../../../sourceES6/core/Meshes/Builders/tiledPlaneBuilder.ts","../../../../../sourceES6/core/Meshes/Builders/tubeBuilder.ts","../../../../../sourceES6/core/Meshes/Builders/icoSphereBuilder.ts","../../../../../sourceES6/core/Meshes/Builders/decalBuilder.ts","../../../../../sourceES6/core/Meshes/Builders/capsuleBuilder.ts","../../../../sourceES6/core/Meshes/meshSimplification.ts","../../../../sourceES6/core/Meshes/meshBuilder.ts","../../../../sourceES6/core/Meshes/meshSimplificationSceneComponent.ts","../../../../sourceES6/core/Meshes/thinInstanceMesh.ts","../../../../../sourceES6/core/Navigation/Plugins/recastJSPlugin.ts","../../../../sourceES6/core/Offline/database.ts","../../../../sourceES6/core/Particles/subEmitter.ts","../../../../sourceES6/core/Misc/gradients.ts","../../../../sourceES6/core/Particles/particle.ts","../../../../sourceES6/core/Shaders/particles.fragment.ts","../../../../sourceES6/core/Shaders/particles.vertex.ts","../../../../sourceES6/core/Particles/particleSystem.ts","../../../../sourceES6/core/Shaders/gpuUpdateParticles.fragment.ts","../../../../sourceES6/core/Shaders/gpuUpdateParticles.vertex.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/clipPlaneFragmentDeclaration2.ts","../../../../sourceES6/core/Shaders/gpuRenderParticles.fragment.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/clipPlaneVertexDeclaration2.ts","../../../../sourceES6/core/Shaders/gpuRenderParticles.vertex.ts","../../../../sourceES6/core/Particles/gpuParticleSystem.ts","../../../../sourceES6/core/Particles/particleSystemSet.ts","../../../../sourceES6/core/Particles/particleHelper.ts","../../../../sourceES6/core/Particles/particleSystemComponent.ts","../../../../sourceES6/core/Particles/solidParticle.ts","../../../../sourceES6/core/Particles/pointsCloudSystem.ts","../../../../sourceES6/core/Particles/cloudPoint.ts","../../../../sourceES6/core/Particles/solidParticleSystem.ts","../../../../sourceES6/core/Physics/physicsEngineComponent.ts","../../../../sourceES6/core/Physics/physicsHelper.ts","../../../../sourceES6/core/Shaders/blackAndWhite.fragment.ts","../../../../sourceES6/core/PostProcesses/blackAndWhitePostProcess.ts","../../../../../sourceES6/core/PostProcesses/RenderPipeline/postProcessRenderEffect.ts","../../../../sourceES6/core/Shaders/extractHighlights.fragment.ts","../../../../sourceES6/core/PostProcesses/extractHighlightsPostProcess.ts","../../../../sourceES6/core/Shaders/bloomMerge.fragment.ts","../../../../sourceES6/core/PostProcesses/bloomMergePostProcess.ts","../../../../sourceES6/core/PostProcesses/bloomEffect.ts","../../../../sourceES6/core/Shaders/chromaticAberration.fragment.ts","../../../../sourceES6/core/PostProcesses/chromaticAberrationPostProcess.ts","../../../../sourceES6/core/Shaders/circleOfConfusion.fragment.ts","../../../../sourceES6/core/PostProcesses/circleOfConfusionPostProcess.ts","../../../../sourceES6/core/Shaders/colorCorrection.fragment.ts","../../../../sourceES6/core/PostProcesses/colorCorrectionPostProcess.ts","../../../../sourceES6/core/Shaders/convolution.fragment.ts","../../../../sourceES6/core/PostProcesses/convolutionPostProcess.ts","../../../../sourceES6/core/PostProcesses/depthOfFieldBlurPostProcess.ts","../../../../sourceES6/core/Shaders/depthOfFieldMerge.fragment.ts","../../../../sourceES6/core/PostProcesses/depthOfFieldEffect.ts","../../../../sourceES6/core/PostProcesses/depthOfFieldMergePostProcess.ts","../../../../sourceES6/core/Shaders/displayPass.fragment.ts","../../../../sourceES6/core/PostProcesses/displayPassPostProcess.ts","../../../../sourceES6/core/Shaders/filter.fragment.ts","../../../../sourceES6/core/PostProcesses/filterPostProcess.ts","../../../../sourceES6/core/Shaders/fxaa.fragment.ts","../../../../sourceES6/core/Shaders/fxaa.vertex.ts","../../../../sourceES6/core/PostProcesses/fxaaPostProcess.ts","../../../../sourceES6/core/Shaders/grain.fragment.ts","../../../../sourceES6/core/PostProcesses/grainPostProcess.ts","../../../../sourceES6/core/Shaders/highlights.fragment.ts","../../../../sourceES6/core/PostProcesses/highlightsPostProcess.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/mrtFragmentDeclaration.ts","../../../../sourceES6/core/Shaders/geometry.fragment.ts","../../../../sourceES6/core/Shaders/geometry.vertex.ts","../../../../sourceES6/core/Rendering/geometryBufferRenderer.ts","../../../../sourceES6/core/Rendering/motionBlurConfiguration.ts","../../../../sourceES6/core/Rendering/geometryBufferRendererSceneComponent.ts","../../../../sourceES6/core/Shaders/motionBlur.fragment.ts","../../../../sourceES6/core/PostProcesses/motionBlurPostProcess.ts","../../../../sourceES6/core/Shaders/refraction.fragment.ts","../../../../sourceES6/core/PostProcesses/refractionPostProcess.ts","../../../../sourceES6/core/Shaders/sharpen.fragment.ts","../../../../sourceES6/core/PostProcesses/sharpenPostProcess.ts","../../../../../sourceES6/core/PostProcesses/RenderPipeline/postProcessRenderPipeline.ts","../../../../../sourceES6/core/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.ts","../../../../../sourceES6/core/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent.ts","../../../../../../sourceES6/core/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.ts","../../../../sourceES6/core/Shaders/lensHighlights.fragment.ts","../../../../sourceES6/core/Shaders/depthOfField.fragment.ts","../../../../../../sourceES6/core/PostProcesses/RenderPipeline/Pipelines/lensRenderingPipeline.ts","../../../../sourceES6/core/Rendering/ssao2Configuration.ts","../../../../sourceES6/core/Shaders/ssao2.fragment.ts","../../../../sourceES6/core/Shaders/ssaoCombine.fragment.ts","../../../../../../sourceES6/core/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.ts","../../../../sourceES6/core/Shaders/ssao.fragment.ts","../../../../../../sourceES6/core/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.ts","../../../../sourceES6/core/Rendering/screenSpaceReflectionsConfiguration.ts","../../../../sourceES6/core/Shaders/screenSpaceReflection.fragment.ts","../../../../sourceES6/core/PostProcesses/screenSpaceReflectionPostProcess.ts","../../../../sourceES6/core/Shaders/standard.fragment.ts","../../../../../../sourceES6/core/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.ts","../../../../sourceES6/core/Shaders/stereoscopicInterlace.fragment.ts","../../../../sourceES6/core/PostProcesses/stereoscopicInterlacePostProcess.ts","../../../../sourceES6/core/Shaders/tonemap.fragment.ts","../../../../sourceES6/core/PostProcesses/tonemapPostProcess.ts","../../../../sourceES6/core/Shaders/volumetricLightScattering.fragment.ts","../../../../sourceES6/core/Shaders/volumetricLightScatteringPass.vertex.ts","../../../../sourceES6/core/Shaders/volumetricLightScatteringPass.fragment.ts","../../../../sourceES6/core/PostProcesses/volumetricLightScatteringPostProcess.ts","../../../../sourceES6/core/Shaders/screenSpaceCurvature.fragment.ts","../../../../sourceES6/core/PostProcesses/screenSpaceCurvaturePostProcess.ts","../../../../sourceES6/core/Rendering/boundingBoxRenderer.ts","../../../../sourceES6/core/Rendering/depthRendererSceneComponent.ts","../../../../sourceES6/core/Shaders/line.fragment.ts","../../../../sourceES6/core/Shaders/line.vertex.ts","../../../../sourceES6/core/Rendering/edgesRenderer.ts","../../../../sourceES6/core/Rendering/prePassRenderer.ts","../../../../sourceES6/core/Rendering/prePassRendererSceneComponent.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/fibonacci.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/diffusionProfile.ts","../../../../sourceES6/core/Shaders/subSurfaceScattering.fragment.ts","../../../../sourceES6/core/PostProcesses/subSurfaceScatteringPostProcess.ts","../../../../sourceES6/core/Rendering/subSurfaceConfiguration.ts","../../../../sourceES6/core/Rendering/subSurfaceSceneComponent.ts","../../../../sourceES6/core/Shaders/outline.fragment.ts","../../../../sourceES6/core/Shaders/outline.vertex.ts","../../../../sourceES6/core/Rendering/outlineRenderer.ts","../../../../sourceES6/core/Sprites/sprite.ts","../../../../sourceES6/core/Sprites/thinSprite.ts","../../../../sourceES6/core/Sprites/spriteSceneComponent.ts","../../../../sourceES6/core/Shaders/sprites.fragment.ts","../../../../sourceES6/core/Shaders/sprites.vertex.ts","../../../../sourceES6/core/Sprites/spriteRenderer.ts","../../../../sourceES6/core/Sprites/spriteManager.ts","../../../../sourceES6/core/Shaders/spriteMap.fragment.ts","../../../../sourceES6/core/Shaders/spriteMap.vertex.ts","../../../../sourceES6/core/Misc/assetsManager.ts","../../../../sourceES6/core/Sprites/spriteMap.ts","../../../../sourceES6/core/Sprites/spritePackedManager.ts","../../../../sourceES6/core/Misc/iInspectable.ts","../../../../sourceES6/core/Misc/meshExploder.ts","../../../../sourceES6/core/Misc/sceneOptimizer.ts","../../../../sourceES6/core/Misc/filesInput.ts","../../../../sourceES6/core/Misc/sceneSerializer.ts","../../../../sourceES6/core/Misc/screenshotTools.ts","../../../../sourceES6/core/Misc/textureTools.ts","../../../../sourceES6/core/Misc/videoRecorder.ts","../../../../sourceES6/core/Misc/trajectoryClassifier.ts","../../../../sourceES6/core/Misc/dataStorage.ts","../../../../sourceES6/core/Misc/sceneRecorder.ts","../../../../../sourceES6/core/XR/features/WebXRHitTestLegacy.ts","../../../../../sourceES6/core/XR/features/WebXRAnchorSystem.ts","../../../../../sourceES6/core/XR/features/WebXRPlaneDetector.ts","../../../../../sourceES6/core/XR/features/WebXRBackgroundRemover.ts","../../../../../sourceES6/core/XR/features/WebXRControllerPhysics.ts","../../../../../sourceES6/core/XR/features/WebXRHitTest.ts","../../../../../sourceES6/core/XR/features/WebXRFeaturePointSystem.ts","../../../../../sourceES6/core/XR/features/WebXRHandTracking.ts","../../../../../sourceES6/core/XR/motionController/webXRMicrosoftMixedRealityController.ts","../../../../../sourceES6/core/XR/motionController/webXROculusTouchMotionController.ts","../../../../../sourceES6/core/XR/motionController/webXRHTCViveMotionController.ts","../node_modules/@material-ui/core/esm/utils/deprecatedPropType.js","../../../../../sourceES6/core/Shaders/ShadersInclude/fogFragmentDeclaration.ts","../../../../sourceES6/core/Animations/animatable.ts","../../../../../sourceES6/core/Engines/Extensions/engine.alpha.ts","../../../../../sourceES6/core/Engines/Extensions/engine.dynamicBuffer.ts","../../../../../sourceES6/core/Engines/Extensions/engine.renderTargetCube.ts","../../../../../sourceES6/core/Engines/Extensions/engine.dynamicTexture.ts","../../../../../sourceES6/core/Materials/Textures/baseTexture.polynomial.ts","../node_modules/react-is/index.js","../node_modules/@material-ui/core/esm/colors/common.js","../node_modules/@material-ui/styles/esm/StylesProvider/index.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@material-ui/styles/esm/StylesProvider/StylesProvider.js","../node_modules/@material-ui/system/esm/borders.js","../node_modules/@material-ui/system/esm/flexbox.js","../node_modules/@material-ui/system/esm/grid.js","../node_modules/@material-ui/system/esm/positions.js","../node_modules/@material-ui/system/esm/palette.js","../node_modules/@material-ui/system/esm/sizing.js","../node_modules/@material-ui/system/esm/typography.js","../node_modules/@material-ui/system/esm/spacing.js","../node_modules/@material-ui/system/esm/memoize.js","../node_modules/@material-ui/core/esm/Modal/ModalManager.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@material-ui/utils/esm/formatMuiErrorMessage.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/deepmerge/dist/cjs.js","../../../../../sourceES6/core/Engines/Processors/shaderCodeNode.ts","../../../../../sourceES6/core/Engines/Processors/shaderCodeCursor.ts","../../../../../sourceES6/core/Engines/Processors/shaderCodeConditionNode.ts","../../../../../sourceES6/core/Engines/Processors/shaderCodeTestNode.ts","../../../../../../sourceES6/core/Engines/Processors/Expressions/shaderDefineExpression.ts","../../../../../../../sourceES6/core/Engines/Processors/Expressions/Operators/shaderDefineIsDefinedOperator.ts","../../../../../../../sourceES6/core/Engines/Processors/Expressions/Operators/shaderDefineOrOperator.ts","../../../../../../../sourceES6/core/Engines/Processors/Expressions/Operators/shaderDefineAndOperator.ts","../../../../../../../sourceES6/core/Engines/Processors/Expressions/Operators/shaderDefineArithmeticOperator.ts","../../../../../sourceES6/core/Engines/Processors/shaderProcessor.ts","../node_modules/@material-ui/core/esm/Modal/SimpleBackdrop.js","../node_modules/@material-ui/core/esm/Modal/Modal.js","../node_modules/@babel/runtime/helpers/interopRequireWildcard.js","../../modules/BrowserRouter.js","../../modules/HashRouter.js","../../modules/utils/locationUtils.js","../../modules/Link.js","../../modules/NavLink.js","../node_modules/@material-ui/core/node_modules/react-is/index.js","../node_modules/webpack/buildin/global.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@material-ui/core/esm/Modal/index.js","../node_modules/@material-ui/core/esm/utils/unstable_useId.js","../../../../sourceES6/core/Lights/directionalLight.ts","../../../../sourceES6/core/Lights/spotLight.ts","../../../../sourceES6/core/Lights/pointLight.ts","../node_modules/@material-ui/core/esm/utils/unsupportedProp.js","../../../../../sourceES6/core/Shaders/ShadersInclude/fogFragment.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/fogVertexDeclaration.ts","../node_modules/@material-ui/core/esm/colors/grey.js","../node_modules/@material-ui/core/esm/colors/indigo.js","../node_modules/@material-ui/core/esm/colors/pink.js","../node_modules/@material-ui/core/esm/colors/red.js","../node_modules/@material-ui/core/esm/colors/orange.js","../node_modules/@material-ui/core/esm/colors/blue.js","../node_modules/@material-ui/core/esm/colors/green.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../../sourceES6/core/Animations/animationKey.ts","../../../../../sourceES6/core/Engines/Extensions/engine.readTexture.ts","../../../sourceES6/core/assetContainer.ts","../../../../sourceES6/core/Shaders/postprocess.vertex.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/shadowsFragmentFunctions.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/reflectionFunction.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/bumpFragmentMainFunctions.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/bumpFragmentFunctions.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/bumpFragment.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/lightFragment.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/shadowsVertex.ts","../../../../../sourceES6/core/Engines/Extensions/engine.cubeTexture.ts","../../../../sourceES6/core/Morph/morphTarget.ts","../node_modules/@material-ui/styles/esm/withTheme/withTheme.js","../node_modules/debounce/index.js","../../../../sourceES6/core/Misc/andOrNotEvaluator.ts","../../../../sourceES6/core/Animations/runtimeAnimation.ts","../../../../sourceES6/core/Misc/retryStrategy.ts","../../../../sourceES6/core/States/depthCullingState.ts","../../../../sourceES6/core/States/stencilState.ts","../../../../sourceES6/core/States/alphaCullingState.ts","../../../../../sourceES6/core/Engines/WebGL/webGLPipelineContext.ts","../../../../sourceES6/core/Misc/promise.ts","../../../../sourceES6/core/Misc/performanceMonitor.ts","../../../../sourceES6/core/Collisions/meshCollisionData.ts","../../../../sourceES6/core/Rendering/renderingGroup.ts","../../../../sourceES6/core/Meshes/meshLODLevel.ts","../../../../sourceES6/core/Misc/copyTools.ts","../../../../../sourceES6/core/Cameras/Inputs/freeCameraKeyboardMoveInput.ts","../../../../../sourceES6/core/Cameras/Inputs/freeCameraMouseInput.ts","../../../../../sourceES6/core/Cameras/Inputs/freeCameraTouchInput.ts","../../../../sourceES6/core/Misc/rgbdTextureTools.ts","../../../../sourceES6/core/Layers/layerSceneComponent.ts","../node_modules/@material-ui/core/esm/styles/styled.js","../../../../../sourceES6/core/Cameras/Inputs/freeCameraMouseWheelInput.ts","../../../../../sourceES6/core/Cameras/Inputs/BaseCameraMouseWheelInput.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../../../sourceES6/core/Misc/uniqueIdGenerator.ts","../node_modules/@material-ui/core/esm/Slide/Slide.js","../node_modules/@material-ui/styles/esm/useTheme/ThemeContext.js","../node_modules/@material-ui/utils/esm/deepmerge.js","../node_modules/@material-ui/core/esm/styles/zIndex.js","../node_modules/@material-ui/styles/esm/ThemeProvider/nested.js","../node_modules/@material-ui/core/esm/utils/getScrollbarSize.js","../node_modules/@material-ui/core/esm/Backdrop/Backdrop.js","../node_modules/@material-ui/core/esm/internal/svg-icons/ArrowDropDown.js","../node_modules/@material-ui/core/esm/NativeSelect/NativeSelectInput.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/@material-ui/icons/utils/createSvgIcon.js","../node_modules/@material-ui/core/esm/Backdrop/index.js","../node_modules/@material-ui/core/esm/Slide/index.js","../node_modules/@material-ui/core/esm/Box/Box.js","../node_modules/@material-ui/core/styles/defaultTheme.js","../../../../../sourceES6/core/Shaders/ShadersInclude/fogVertex.ts","../node_modules/@material-ui/core/esm/IconButton/IconButton.js","../node_modules/object-assign/index.js","../../../../../sourceES6/core/Engines/Extensions/engine.uniformBuffer.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/lightsFragmentFunctions.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/logDepthFragment.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/bumpVertex.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/logDepthVertex.ts","../node_modules/@material-ui/system/esm/index.js","../node_modules/@material-ui/core/esm/utils/requirePropFactory.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/@material-ui/core/esm/styles/createStyles.js","../node_modules/@material-ui/system/esm/css.js","../node_modules/@material-ui/system/esm/display.js","../node_modules/@material-ui/system/esm/shadows.js","../node_modules/@material-ui/utils/node_modules/react-is/index.js","../node_modules/mini-create-react-context/dist/esm/index.js","../node_modules/path-to-regexp/index.js","../node_modules/@emotion/memoize/dist/memoize.browser.esm.js","../node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js","../node_modules/@material-ui/styles/esm/makeStyles/multiKeyStore.js","../node_modules/@material-ui/styles/esm/makeStyles/indexCounter.js","../node_modules/@material-ui/styles/esm/getStylesCreator/getStylesCreator.js","../node_modules/@material-ui/styles/esm/getStylesCreator/noopTheme.js","../node_modules/@material-ui/styles/esm/makeStyles/makeStyles.js","../node_modules/@babel/runtime/helpers/defineProperty.js","../node_modules/@material-ui/core/esm/Menu/Menu.js","../node_modules/@material-ui/core/esm/internal/SwitchBase.js","../../../../sourceES6/core/Engines/constants.ts","../../../../sourceES6/core/Events/clipboardEvents.ts","../../../../sourceES6/core/Misc/deferred.ts","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/process/browser.js","../node_modules/@material-ui/core/esm/Button/Button.js","../node_modules/@material-ui/core/esm/Input/Input.js","../node_modules/@material-ui/core/esm/styles/createMixins.js","../node_modules/@material-ui/core/esm/styles/createPalette.js","../node_modules/@material-ui/core/esm/styles/createTypography.js","../node_modules/@material-ui/core/esm/styles/shadows.js","../node_modules/@material-ui/core/esm/styles/shape.js","../node_modules/@material-ui/core/esm/styles/createSpacing.js","../node_modules/@material-ui/core/esm/styles/createMuiTheme.js","../../../../sourceES6/core/Animations/animationEvent.ts","../../../../sourceES6/core/Audio/weightedsound.ts","../../../../../sourceES6/core/Behaviors/Meshes/fadeInOutBehavior.ts","../../../../../sourceES6/core/Materials/Textures/rawCubeTexture.ts","../../../../../sourceES6/core/Meshes/Compression/dracoCompression.ts","../../../../sourceES6/core/Misc/dataReader.ts","../node_modules/@material-ui/core/esm/styles/createBreakpoints.js","../node_modules/@material-ui/core/esm/internal/svg-icons/KeyboardArrowLeft.js","../node_modules/@material-ui/core/esm/internal/svg-icons/KeyboardArrowRight.js","../../../../sourceES6/core/Shaders/layer.fragment.ts","../../../../sourceES6/core/Shaders/layer.vertex.ts","../../../../sourceES6/core/Layers/layer.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/prePassDeclaration.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/fresnelFunction.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/depthPrePass.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/prePassVertexDeclaration.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/bumpVertexDeclaration.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/prePassVertex.ts","../../../../sourceES6/core/Engines/nullEngine.ts","../../../../sourceES6/core/Shaders/rgbdDecode.fragment.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/subSurfaceScatteringFunctions.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/importanceSampling.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/pbrBRDFFunctions.ts","../../../../../sourceES6/core/Shaders/ShadersInclude/hdrFilteringFunctions.ts","../node_modules/@material-ui/core/esm/styles/makeStyles.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/defaults.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/core/createError.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/cancel/Cancel.js","../node_modules/@material-ui/core/styles/transitions.js","../node_modules/@material-ui/core/esm/NativeSelect/NativeSelect.js","../node_modules/@mui-treasury/styles/shadow/bouncy/index.js","../../../src/utils/isBrowser.js","../../../src/utils/debounce.js","../../../src/utils/isFunction.js","../../../src/utils/getStyleComputedProperty.js","../../../src/utils/getParentNode.js","../../../src/utils/getScrollParent.js","../../../src/utils/getReferenceNode.js","../../../src/utils/isIE.js","../../../src/utils/getOffsetParent.js","../../../src/utils/getRoot.js","../../../src/utils/findCommonOffsetParent.js","../../../src/utils/isOffsetContainer.js","../../../src/utils/getScroll.js","../../../src/utils/includeScroll.js","../../../src/utils/getBordersSize.js","../../../src/utils/getWindowSizes.js","../../../src/utils/getClientRect.js","../../../src/utils/getBoundingClientRect.js","../../../src/utils/getOffsetRectRelativeToArbitraryNode.js","../../../src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../../../src/utils/isFixed.js","../../../src/utils/getFixedPositionOffsetParent.js","../../../src/utils/getBoundaries.js","../../../src/utils/computeAutoPlacement.js","../../../src/utils/getReferenceOffsets.js","../../../src/utils/getOuterSizes.js","../../../src/utils/getOppositePlacement.js","../../../src/utils/getPopperOffsets.js","../../../src/utils/find.js","../../../src/utils/runModifiers.js","../../../src/utils/findIndex.js","../../../src/methods/update.js","../../../src/utils/isModifierEnabled.js","../../../src/utils/getSupportedPropertyName.js","../../../src/methods/destroy.js","../../../src/utils/getWindow.js","../../../src/utils/setupEventListeners.js","../../../src/methods/enableEventListeners.js","../../../src/methods/disableEventListeners.js","../../../src/utils/removeEventListeners.js","../../../src/utils/isNumeric.js","../../../src/utils/setStyles.js","../../../src/modifiers/computeStyle.js","../../../src/utils/isModifierRequired.js","../../../src/methods/placements.js","../../../src/utils/clockwise.js","../../../src/modifiers/flip.js","../../../src/modifiers/offset.js","../../../src/modifiers/index.js","../../../src/methods/defaults.js","../../../src/modifiers/shift.js","../../../src/modifiers/preventOverflow.js","../../../src/modifiers/keepTogether.js","../../../src/modifiers/arrow.js","../../../src/utils/getOppositeVariation.js","../../../src/modifiers/inner.js","../../../src/modifiers/hide.js","../../../src/utils/getRoundedOffsets.js","../../../src/modifiers/applyStyle.js","../../../src/utils/setAttributes.js","../../../src/index.js","../node_modules/@material-ui/icons/MenuRounded.js","../node_modules/@material-ui/core/Drawer/Drawer.js","../node_modules/shallowequal/index.js","../node_modules/@emotion/stylis/dist/stylis.browser.esm.js","../node_modules/@emotion/unitless/dist/unitless.browser.esm.js","../node_modules/@stripe/stripe-js/dist/stripe.esm.js","../node_modules/@material-ui/styles/esm/createGenerateClassName/createGenerateClassName.js","../node_modules/@material-ui/styles/esm/getThemeProps/getThemeProps.js","../node_modules/@material-ui/core/esm/Fade/Fade.js","../node_modules/@material-ui/core/esm/InputBase/InputBase.js","../node_modules/@material-ui/core/esm/Grow/Grow.js","../node_modules/jss-plugin-rule-value-function/dist/jss-plugin-rule-value-function.esm.js","../node_modules/jss-plugin-global/dist/jss-plugin-global.esm.js","../node_modules/jss-plugin-nested/dist/jss-plugin-nested.esm.js","../node_modules/hyphenate-style-name/index.js","../node_modules/jss-plugin-camel-case/dist/jss-plugin-camel-case.esm.js","../node_modules/jss-plugin-default-unit/dist/jss-plugin-default-unit.esm.js","../node_modules/css-vendor/dist/css-vendor.esm.js","../node_modules/jss-plugin-vendor-prefixer/dist/jss-plugin-vendor-prefixer.esm.js","../node_modules/jss-plugin-props-sort/dist/jss-plugin-props-sort.esm.js","../node_modules/@material-ui/styles/esm/jssPreset/jssPreset.js","../node_modules/@material-ui/core/styles/withStyles.js","../node_modules/@material-ui/core/styles/makeStyles.js","../node_modules/@material-ui/core/styles/colorManipulator.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@material-ui/core/esm/FormControl/FormControl.js","../node_modules/@material-ui/core/esm/InputLabel/InputLabel.js","../node_modules/@material-ui/core/esm/FormHelperText/FormHelperText.js","../node_modules/@material-ui/core/esm/CircularProgress/CircularProgress.js","../node_modules/@material-ui/core/colors/blue.js","../node_modules/@material-ui/core/esm/Select/SelectInput.js","../node_modules/@material-ui/core/esm/Select/Select.js","../node_modules/webpack/buildin/module.js","../node_modules/regenerator-runtime/runtime.js","../../../../../sourceES6/core/Shaders/ShadersInclude/imageProcessingCompatibility.ts","../node_modules/@material-ui/core/esm/Collapse/Collapse.js","../node_modules/@material-ui/core/esm/List/List.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/scheduler/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/core/enhanceError.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/react-gtm-module/dist/TagManager.js","../node_modules/react-gtm-module/dist/Snippets.js","../node_modules/react-gtm-module/dist/utils/warn.js","../node_modules/@material-ui/core/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/@material-ui/core/styles/createMuiTheme.js","../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../node_modules/@material-ui/utils/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/@material-ui/core/styles/createMixins.js","../node_modules/@material-ui/core/styles/createPalette.js","../node_modules/@material-ui/core/colors/common.js","../node_modules/@material-ui/core/colors/grey.js","../node_modules/@material-ui/core/colors/indigo.js","../node_modules/@material-ui/core/colors/pink.js","../node_modules/@material-ui/core/colors/red.js","../node_modules/@material-ui/core/colors/orange.js","../node_modules/@material-ui/core/colors/green.js","../node_modules/@material-ui/core/styles/createTypography.js","../node_modules/@material-ui/core/styles/shadows.js","../node_modules/@material-ui/core/styles/shape.js","../node_modules/@material-ui/core/styles/createSpacing.js","../node_modules/@material-ui/core/styles/zIndex.js","../node_modules/@mui-treasury/styles/shadow/bouncy/bouncyShadow.styles.js","../node_modules/@material-ui/core/utils/capitalize.js","../node_modules/path-to-regexp/node_modules/isarray/index.js","../node_modules/@material-ui/styles/esm/createStyles/createStyles.js","../node_modules/@material-ui/styles/esm/withStyles/withStyles.js","../node_modules/@material-ui/core/esm/ClickAwayListener/ClickAwayListener.js","../node_modules/@material-ui/core/esm/Dialog/Dialog.js","../node_modules/@material-ui/core/esm/Portal/Portal.js","../node_modules/@material-ui/core/esm/DialogTitle/DialogTitle.js","../node_modules/@material-ui/core/esm/DialogContent/DialogContent.js","../node_modules/@material-ui/core/esm/DialogContentText/DialogContentText.js","../node_modules/@material-ui/core/esm/DialogActions/DialogActions.js","../node_modules/@material-ui/styles/esm/styled/styled.js","../node_modules/@material-ui/core/esm/TextareaAutosize/TextareaAutosize.js","../node_modules/@material-ui/core/esm/FilledInput/FilledInput.js","../node_modules/@material-ui/core/esm/FormLabel/FormLabel.js","../node_modules/@material-ui/core/esm/Popover/Popover.js","../node_modules/@material-ui/core/esm/MenuList/MenuList.js","../node_modules/@material-ui/core/esm/Card/Card.js","../node_modules/@material-ui/core/esm/Popper/Popper.js","../node_modules/@material-ui/core/esm/CardActionArea/CardActionArea.js","../node_modules/@material-ui/core/esm/Link/Link.js","../node_modules/@material-ui/core/esm/OutlinedInput/NotchedOutline.js","../node_modules/@material-ui/core/esm/OutlinedInput/OutlinedInput.js","../node_modules/@material-ui/core/esm/internal/svg-icons/Person.js","../node_modules/@material-ui/core/esm/Avatar/Avatar.js","../node_modules/@material-ui/core/esm/TextField/TextField.js","../node_modules/@material-ui/core/esm/FormControlLabel/FormControlLabel.js","../node_modules/@material-ui/core/esm/Toolbar/Toolbar.js","../node_modules/@material-ui/core/esm/Tooltip/Tooltip.js","../node_modules/@material-ui/core/esm/ListItemText/ListItemText.js","../node_modules/@material-ui/core/esm/LinearProgress/LinearProgress.js","../node_modules/@material-ui/core/esm/FormGroup/FormGroup.js","../node_modules/@material-ui/core/esm/colors/cyan.js","../node_modules/@material-ui/core/esm/colors/lightBlue.js","../node_modules/@material-ui/core/esm/colors/deepOrange.js","../node_modules/@material-ui/core/esm/internal/svg-icons/Cancel.js","../node_modules/@material-ui/core/esm/Chip/Chip.js","../node_modules/@material-ui/core/esm/ListItem/ListItem.js","../node_modules/@material-ui/core/esm/styles/cssUtils.js","../node_modules/@material-ui/core/esm/styles/responsiveFontSizes.js","../node_modules/@material-ui/styles/esm/mergeClasses/mergeClasses.js","../node_modules/@material-ui/core/esm/Unstable_TrapFocus/Unstable_TrapFocus.js","../node_modules/@material-ui/core/esm/Switch/Switch.js","../node_modules/@material-ui/styles/esm/ServerStyleSheets/ServerStyleSheets.js","../node_modules/@material-ui/styles/esm/ThemeProvider/ThemeProvider.js","../node_modules/@material-ui/core/esm/CardMedia/CardMedia.js","../node_modules/@material-ui/core/esm/CardActions/CardActions.js","../node_modules/@material-ui/core/esm/AppBar/AppBar.js","../node_modules/@material-ui/core/esm/TabScrollButton/TabScrollButton.js","../node_modules/@material-ui/core/esm/Tab/Tab.js","../node_modules/@material-ui/core/esm/ListSubheader/ListSubheader.js","../node_modules/@material-ui/core/esm/Grid/Grid.js","../node_modules/@material-ui/core/esm/Container/Container.js","../node_modules/@material-ui/core/esm/NoSsr/NoSsr.js","../node_modules/@material-ui/core/esm/ListItemIcon/ListItemIcon.js","../node_modules/@material-ui/core/esm/Divider/Divider.js","../node_modules/@material-ui/core/esm/useMediaQuery/useMediaQuery.js","../node_modules/@material-ui/core/esm/CssBaseline/CssBaseline.js","../node_modules/@material-ui/core/esm/utils/scrollLeft.js","../node_modules/@material-ui/core/esm/internal/animate.js","../node_modules/@material-ui/core/esm/Tabs/ScrollbarSize.js","../node_modules/@material-ui/core/esm/Tabs/TabIndicator.js","../node_modules/@material-ui/core/esm/Tabs/Tabs.js","../node_modules/@material-ui/lab/esm/internal/svg-icons/Close.js","../node_modules/@material-ui/lab/esm/internal/svg-icons/ArrowDropDown.js","../node_modules/@material-ui/lab/esm/useAutocomplete/useAutocomplete.js","../node_modules/@material-ui/lab/esm/Autocomplete/Autocomplete.js","../node_modules/@material-ui/core/esm/SwipeableDrawer/SwipeArea.js","../node_modules/@material-ui/core/esm/SwipeableDrawer/SwipeableDrawer.js","../node_modules/react-transition-group/esm/utils/ChildMapping.js","../node_modules/react-transition-group/esm/TransitionGroup.js"],"names":["x","y","toString","this","getClassName","getHashCode","hash","toArray","array","index","fromArray","Vector2","FromArrayToRef","asArray","result","Array","copyFrom","source","copyFromFloats","set","add","otherVector","addToRef","addInPlace","addVector3","subtract","subtractToRef","subtractInPlace","multiplyInPlace","multiply","multiplyToRef","multiplyByFloats","divide","divideToRef","divideInPlace","negate","negateInPlace","negateToRef","scaleInPlace","scale","scaleToRef","scaleAndAddToRef","equals","equalsWithEpsilon","epsilon","WithinEpsilon","floor","Math","fract","length","sqrt","lengthSquared","normalize","len","clone","Zero","One","FromArray","offset","CatmullRom","value1","value2","value3","value4","amount","squared","cubed","Clamp","value","min","max","Hermite","tangent1","tangent2","part1","part2","part3","part4","Lerp","start","end","Dot","left","right","Normalize","vector","newVector","Minimize","Maximize","Transform","transformation","r","TransformToRef","m","PointInTriangle","p","p0","p1","p2","a","sign","s","t","Distance","DistanceSquared","Center","center","DistanceOfPointFromSegment","segA","segB","l2","v","proj","z","_isDirty","_x","_y","_z","Vector3","toQuaternion","Quaternion","RotationYawPitchRoll","addInPlaceFromFloats","subtractFromFloatsToRef","subtractFromFloats","projectOnPlane","plane","origin","projectOnPlaneToRef","n","normal","d","V","MathTmp","denom","scaledV","equalsToFloats","minimizeInPlace","other","minimizeInPlaceFromFloats","maximizeInPlace","maximizeInPlaceFromFloats","isNonUniformWithinEpsilon","absX","abs","absY","absZ","normalizeFromLength","reorderInPlace","order","toLowerCase","forEach","val","i","rotateByQuaternionToRef","quaternion","toRotationMatrix","Matrix","TransformCoordinatesToRef","rotateByQuaternionAroundPointToRef","point","cross","Cross","normalizeToNew","normalized","normalizeToRef","reference","setAll","GetClipFactor","vector0","vector1","axis","size","d0","GetAngleBetweenVectors","v0","v1","dot","CrossToRef","acos","FromFloatArray","FromFloatArrayToRef","FromFloatsToRef","Up","_UpReadOnly","_ZeroReadOnly","Down","Forward","rightHandedSystem","Backward","Right","Left","TransformCoordinates","TransformCoordinatesFromFloatsToRef","rx","ry","rz","rw","TransformNormal","TransformNormalToRef","TransformNormalFromFloatsToRef","ClampToRef","CheckExtends","LerpToRef","NormalizeToRef","Project","world","transform","viewport","ProjectToRef","cw","width","ch","height","cx","cy","viewportMatrix","FromValuesToRef","matrix","_UnprojectFromInvertedMatrixToRef","num","UnprojectFromTransform","viewportWidth","viewportHeight","invert","Unproject","view","projection","UnprojectToRef","UnprojectFloatsToRef","sourceX","sourceY","sourceZ","screenSource","RotationFromAxis","axis1","axis2","axis3","rotation","RotationFromAxisToRef","ref","quat","RotationQuaternionFromAxisToRef","toEulerAnglesToRef","w","undefined","Vector4","toVector3","FromVector3","_w","otherQuaternion","q1","conjugateToRef","conjugateInPlace","conjugate","inv","toEulerAngles","qz","qx","qy","qw","sqw","sqz","sqx","sqy","zAxisY","limit","atan2","PI","asin","FromQuaternionToRef","fromRotationMatrix","FromRotationMatrixToRef","FromRotationMatrix","data","m11","m12","m13","m21","m22","m23","m31","m32","m33","trace","AreClose","quat0","quat1","Inverse","q","InverseToRef","Identity","IsIdentity","RotationAxis","angle","RotationAxisToRef","sin","cos","FromEulerAngles","RotationYawPitchRollToRef","FromEulerAnglesToRef","FromEulerVector","vec","FromEulerVectorToRef","yaw","pitch","roll","halfRoll","halfPitch","halfYaw","sinRoll","cosRoll","sinPitch","cosPitch","sinYaw","cosYaw","RotationAlphaBetaGamma","alpha","beta","gamma","RotationAlphaBetaGammaToRef","halfGammaPlusAlpha","halfGammaMinusAlpha","halfBeta","RotationQuaternionFromAxis","rotMat","FromXYZAxesToRef","Slerp","SlerpToRef","num2","num3","num4","flag","num5","num6","_isIdentity","_isIdentityDirty","_isIdentity3x2","_isIdentity3x2Dirty","updateFlag","MatrixTrackPrecisionChange","MatrixTrackedMatrices","push","_m","MatrixCurrentType","_updateIdentityStatus","MatrixUse64Bits","_markAsUpdated","_updateFlagSeed","isIdentity","isIdentityDirty","isIdentity3x2","isIdentity3x2Dirty","isIdentityAs3x2","determinant","m00","m01","m02","m03","m10","m20","m30","det_22_33","det_21_33","det_21_32","det_20_33","det_20_32","det_20_31","invertToRef","reset","resultM","otherM","addToSelf","IdentityToRef","cofact_00","cofact_01","cofact_02","cofact_03","det","detInv","det_12_33","det_11_33","det_11_32","det_10_33","det_10_32","det_10_31","det_12_23","det_11_23","det_11_22","det_10_23","det_10_22","det_10_21","cofact_10","cofact_11","cofact_12","cofact_13","cofact_20","cofact_21","cofact_22","cofact_23","cofact_30","cofact_31","cofact_32","cofact_33","addAtIndex","multiplyAtIndex","setTranslationFromFloats","addTranslationFromFloats","setTranslation","vector3","getTranslation","getTranslationToRef","removeRotationAndScaling","copyToArray","o","multiplyToArray","tm0","tm1","tm2","tm3","tm4","tm5","tm6","tm7","tm8","tm9","tm10","tm11","tm12","tm13","tm14","tm15","om0","om1","om2","om3","om4","om5","om6","om7","om8","om9","om10","om11","om12","om13","om14","om15","om","decompose","translation","sx","sy","sz","getRow","setRow","row","setRowFromFloats","transpose","Transpose","transposeToRef","TransposeToRef","toNormalMatrix","tmp","getRotationMatrix","getRotationMatrixToRef","toggleModelMatrixHandInPlace","toggleProjectionMatrixHandInPlace","FromFloat32ArrayToRefScaled","_identityReadOnly","initialM11","initialM12","initialM13","initialM14","initialM21","initialM22","initialM23","initialM24","initialM31","initialM32","initialM33","initialM34","initialM41","initialM42","initialM43","initialM44","FromValues","Compose","ComposeToRef","x2","y2","z2","xx","xy","xz","yy","yz","zz","wx","wy","wz","identity","zero","RotationX","RotationXToRef","Invert","c","RotationY","RotationYToRef","RotationZ","RotationZToRef","c1","RotationAlignToRef","from","to","k","Scaling","ScalingToRef","Translation","TranslationToRef","startValue","endValue","gradient","startM","endM","DecomposeLerp","DecomposeLerpToRef","startScale","startRotation","startTranslation","endScale","endRotation","endTranslation","resultScale","resultRotation","resultTranslation","LookAtLH","eye","target","up","LookAtLHToRef","xAxis","yAxis","zAxis","xSquareLength","ex","ey","ez","LookAtRH","LookAtRHToRef","OrthoLH","znear","zfar","OrthoLHToRef","b","OrthoOffCenterLH","bottom","top","OrthoOffCenterLHToRef","i0","i1","OrthoOffCenterRH","OrthoOffCenterRHToRef","PerspectiveLH","PerspectiveFovLH","fov","aspect","PerspectiveFovLHToRef","isVerticalFovFixed","f","tan","PerspectiveFovReverseLHToRef","PerspectiveFovRH","PerspectiveFovRHToRef","PerspectiveFovReverseRHToRef","PerspectiveFovWebVRToRef","rightHanded","rightHandedFactor","upTan","upDegrees","downTan","downDegrees","leftTan","leftDegrees","rightTan","rightDegrees","xScale","yScale","GetFinalMatrix","zmin","zmax","GetAsMatrix2x2","arr","Float32Array","GetAsMatrix3x3","rm","mm","Reflection","ReflectionToRef","temp","temp2","temp3","xaxis","yaxis","zaxis","zw","zx","yw","xw","BuildArray","RegisteredTypes","extendStatics","Object","setPrototypeOf","__proto__","prototype","hasOwnProperty","call","__extends","__","constructor","create","__assign","assign","arguments","apply","__decorate","decorators","key","desc","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","e","rejected","done","then","__generator","body","g","_","label","sent","trys","ops","verb","Symbol","iterator","op","TypeError","pop","__spreadArrays","il","j","jl","module","exports","require","__decoratorInitialStore","__mergedStore","_copySource","creationFunction","instanciate","destination","AddTagsTo","tags","classStore","getMergedStore","property","propertyDescriptor","sourceProperty","propertyType","type","isRenderTarget","classKey","store","currentTarget","currentKey","initialStore","getPrototypeOf","generateSerializableMember","sourceName","propertyKey","getDirectStore","expandToProperty","callback","targetKey","setCallback","get","enumerable","configurable","generateExpandMember","serialize","serializeAsTexture","serializeAsColor3","serializeAsFresnelParameters","serializeAsVector2","serializeAsVector3","serializeAsMeshReference","serializeAsColorCurves","serializeAsColor4","serializeAsImageProcessingConfiguration","serializeAsQuaternion","serializeAsMatrix","serializeAsCameraReference","AppendSerializedAnimations","animations","animationIndex","animation","Serialize","entity","serializationObject","GetTags","serializedProperties","targetPropertyName","id","Parse","scene","rootUrl","dest","SerializationHelper","_TextureParser","_FresnelParametersParser","getLastMeshByID","_ColorCurvesParser","_ImageProcessingConfigurationParser","getCameraByID","Clone","Instanciate","WarnImport","engine","updatable","stride","postponeInternalCreation","instanced","useBytes","divisor","_isAlreadyOwned","getScene","_engine","getEngine","_updatable","_instanced","_divisor","_data","byteStride","BYTES_PER_ELEMENT","createVertexBuffer","kind","byteOffset","VertexBuffer","isUpdatable","getData","getBuffer","_buffer","getStrideSize","updateDynamicVertexBuffer","createDynamicVertexBuffer","_rebuild","update","updateDirectly","vertexCount","_increaseReferences","references","dispose","_releaseBuffer","takeBufferOwnership","Buffer","_ownsBuffer","_kind","FLOAT","Int8Array","BYTE","Uint8Array","UNSIGNED_BYTE","Int16Array","SHORT","Uint16Array","UNSIGNED_SHORT","Int32Array","INT","Uint32Array","UNSIGNED_INT","typeByteLength","GetTypeByteLength","_size","DeduceStride","_instanceDivisor","getKind","getOffset","getSize","getIsInstanced","getInstanceDivisor","count","ForEach","UVKind","UV2Kind","UV3Kind","UV4Kind","UV5Kind","UV6Kind","NormalKind","PositionKind","ColorKind","MatricesIndicesKind","MatricesIndicesExtraKind","MatricesWeightsKind","MatricesWeightsExtraKind","TangentKind","Error","componentCount","componentType","componentIndex","dataView","ArrayBuffer","DataView","buffer","byteLength","componentByteLength","componentByteOffset","_GetFloatValue","getInt8","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","baseName","attributesNamesOrOptions","uniformsNamesOrEngine","samplers","defines","fallbacks","onCompiled","onError","indexParameters","name","onBind","uniqueId","onCompileObservable","onErrorObservable","_onBindObservable","_wasPreviouslyReady","_bonesComputationForcedToCPU","_multiTarget","_uniformBuffersNames","_samplers","_isReady","_compilationError","_allFallbacksProcessed","_uniforms","_key","_fallbacks","_vertexSourceCode","_fragmentSourceCode","_vertexSourceCodeOverride","_fragmentSourceCodeOverride","_transformFeedbackVaryings","_rawVertexSourceCode","_rawFragmentSourceCode","_pipelineContext","_valueCache","vertexSource","fragmentSource","processFinalCode","attributes","options","_attributesNames","_uniformsNames","uniformsNames","concat","_samplerList","slice","_indexParameters","transformFeedbackVaryings","multiTarget","uniformBuffersNames","_uniformBuffersNamesList","_attributeLocationByName","Effect","_uniqueIdSeed","hostDocument","IsWindowObjectExist","getHostDocument","vertexElement","getElementById","vertex","fragmentElement","fragment","processorOptions","split","isFragment","shouldUseHighPrecisionShader","_shouldUseHighPrecisionShader","processor","_shaderProcessor","supportsUniformBuffers","shadersRepository","ShadersRepository","includesShadersStore","IncludesShadersStore","version","webGLVersion","platformName","_loadShader","vertexCode","fragmentCode","Process","migratedVertexCode","migratedFragmentCode","_useFinalCode","spectorName","_prepareEffect","isReady","_isReadyInternal","getPipelineContext","getAttributesNames","getAttributeLocation","_attributes","getAttributeLocationByName","getAttributesCount","getUniformIndex","uniformName","indexOf","getUniform","getSamplers","getUniformNames","getUniformBuffersNames","getIndexParameters","getCompilationError","allFallbacksProcessed","executeWhenCompiled","func","effect","isAsync","setTimeout","_checkIsReady","previousPipelineContext","_processCompilationErrors","shader","optionalKey","shaderUrl","HTMLElement","GetDOMTextContent","substr","ShadersStore","_loadFile","window","atob","_rebuildProgram","vertexSourceCode","fragmentSourceCode","error","scenes","markAllMaterialsAsDirty","_handlesSpectorRebuildCallback","attributesNames","createPipelineContext","rebuildRebind","bind","_preparePipelineContext","_executeWhenRenderingStateIsCompiled","bindUniformBlock","getUniforms","uniform","getAttributes","splice","bindSamplers","notifyObservers","clear","unBindMesh","_deletePipelineContext","_getShaderCodeAndErrorLine","code","regexp","errorLine","res","match","lineNumber","parseInt","lines","message","map","attribute","LogShaderCodeOnCompilationError","lineErrorVertex","lineErrorFragment","_getVertexShaderCode","_getFragmentShaderCode","hasMoreFallbacks","reduce","_bindTexture","channel","texture","setTexture","setDepthStencilTexture","setTextureArray","textures","exName","initialPos","currentExName","channelIndex","setTextureFromPostProcess","postProcess","setTextureFromPostProcessOutput","_cacheMatrix","cache","_cacheFloat2","changed","_cacheFloat3","_cacheFloat4","bindUniformBuffer","bufferName","_baseCache","bindUniformBufferBase","blockName","setInt","setIntArray","setIntArray2","setIntArray3","setIntArray4","setFloatArray","setArray","setFloatArray2","setArray2","setFloatArray3","setArray3","setFloatArray4","setArray4","setMatrices","matrices","setMatrix","setMatrix3x3","setMatrix2x2","setFloat","setBool","bool","setVector2","vector2","setFloat2","setVector3","setFloat3","setVector4","vector4","setFloat4","setColor3","color3","setColor4","setDirectColor4","color4","_releaseEffect","RegisterShader","pixelShader","vertexShader","ResetCache","mask","skipNextObservers","initalize","scope","_willBeUnregistered","unregisterOnNextCall","_observers","_observables","remove","Watch","observables","MultiObserver","observer","onObserverAdded","_eventState","EventState","_onObserverAdded","insertFirst","unregisterOnFirstCall","Observer","unshift","addOnce","_deferUnregister","removeCallback","_remove","makeObserverTopPriority","makeObserverBottomPriority","eventData","userInfo","state","lastReturnValue","obs","notifyObserversWithPromise","lastReturnedValue","notifyObserver","hasObservers","Observable","hasSpecificMask","visibleInstances","batchCache","_InstancesBatch","instancesBufferSize","mustReturn","renderSelf","hardwareInstancedRendering","instancesCount","matrixBuffer","matrixBufferSize","boundingVectors","worldMatrices","_areNormalsFrozen","_source","meshMap","_preActivateId","_LODLevels","_morphTargetManager","parent","doNotCloneChildren","clonePhysicsImpostor","_internalMeshDataInfo","_InternalMeshDataInfo","delayLoadState","instances","_creationDataStorage","_geometry","_instanceDataStorage","_InstanceDataStorage","_thinInstanceDataStorage","_ThinInstanceDataStorage","_effectiveMaterial","_shouldGenerateFlatShading","_originalBuilderSideOrientation","Mesh","DEFAULTSIDE","overrideMaterialSideOrientation","applyToMesh","DeepCopy","useClonedMeshMap","_ranges","ranges","createAnimationRange","metadata","HasTags","setEnabled","isEnabled","setPivotMatrix","getPivotMatrix","material","directDescendants","getDescendants","child","morphTargetManager","getPhysicsEngine","physicsEngine","impostor","getImpostorForPhysicsObject","physicsImpostor","particleSystems","system","emitter","refreshBoundingInfo","computeWorldMatrix","getCaps","instancedArrays","_GetDefaultSideOrientation","orientation","FRONTSIDE","_internalAbstractMeshDataInfo","_computeBonesUsingShaders","_sourcePositions","setVerticesData","_sourceNormals","_markSubMeshesAsAttributesDirty","_onBeforeRenderObservable","_onBeforeBindObservable","_onAfterRenderObservable","_onBeforeDrawObservable","_onBeforeDrawObserver","onBeforeDrawObservable","_syncGeometryWithMorphTargetManager","_unIndexed","instancesData","manualUpdate","instantiateHierarchy","newParent","onNewNodeCreated","instance","getTotalVertices","doNotInstantiate","createInstance","position","scaling","rotationQuaternion","getChildTransformNodes","fullDetails","ret","_waitingParentId","ib","getIndices","vb","getVerticesData","_unBindEffect","getLODLevels","_sortLODLevels","sort","distance","addLODLevel","mesh","_masterMesh","Warn","level","getLODLevelAtDistance","internalDataInfo","removeLODLevel","getLOD","camera","boundingSphere","bSphere","getBoundingInfo","distanceToCamera","centerWorld","globalPosition","onLODLevelSelection","_checkDelayState","_preActivate","_updateSubMeshesBoundingInfo","worldMatrixFromCache","copyWhenShared","forceCopy","getVertexBuffer","isVerticesDataPresent","_delayInfo","isVertexBufferUpdatable","getVerticesDataKinds","getTotalIndices","completeCheck","forceInstanceSupport","subMeshes","hasThinInstances","mat","defaultMaterial","_storeEffectOnSubMeshes","effectiveMaterial","subMesh","getMaterial","isReadyForSubMesh","lightSources","getShadowGenerator","getShadowMap","renderList","needAlphaBlendingForMesh","lod","freezeNormals","unfreezeNormals","overridenInstanceCount","sceneRenderId","getRenderId","_preActivateForIntermediateRendering","renderId","intermediateDefaultRenderId","_registerInstanceForRenderId","defaultRenderId","selfDefaultRenderId","_renderId","previousRenderId","isFrozen","_afterComputeWorldMatrix","doNotSyncBoundingInfo","thinInstanceRefreshBoundingInfo","_postActivate","edgesShareWithInstances","edgesRenderer","_renderingGroup","_edgesRenderers","pushNoDuplicate","customInstances","getWorldMatrix","applySkeleton","_boundingInfo","isLocked","bias","geometry","boundingBias","_refreshBoundingInfo","_getPositionData","_createGlobalSubMesh","force","totalVertices","totalIndices","needToRecreate","submesh","indexStart","indexCount","verticesStart","verticesCount","releaseSubMeshes","subdivide","subdivisionSize","CreateFromIndices","synchronizeInstances","vertexData","RandomId","removeVerticesData","markVerticesDataAsUpdatable","setVerticesBuffer","CreateGeometryForMesh","updateVerticesData","updateExtends","makeItUnique","makeGeometryUnique","updateMeshPositions","positionFunction","computeNormals","positions","indices","normals","ComputeNormals","meshes","oldGeometry","copy","releaseForMesh","setIndices","updateIndices","gpuMemoryOnly","toLeftHanded","_bind","fillMode","indexToBind","PointFillMode","WireFrameFillMode","_getLinesIndexBuffer","TriangleFillMode","getIndexBuffer","_draw","getVertexBuffers","drawArraysType","drawElementsType","_linesIndexCount","registerBeforeRender","onBeforeRenderObservable","unregisterBeforeRender","registerAfterRender","onAfterRenderObservable","unregisterAfterRender","_getInstancesRenderList","subMeshId","isReplacementMode","previousBatch","isInIntermediateRendering","_isInIntermediateRendering","onlyForInstances","_onlyForInstancesIntermediate","_onlyForInstances","isVisible","currentRenderId","_renderWithInstances","batch","_id","instanceStorage","currentInstancesBufferSize","instancesBuffer","bufferSize","needUpdateBuffer","_effectiveMesh","instanceIndex","_processInstancedBuffers","_activeIndices","addCount","unbindInstanceAttributes","_renderWithThinInstances","_processRendering","renderingMesh","onBeforeDraw","getRenderingMesh","instanceCount","visibleInstancesForSubMesh","visibleInstanceCount","_freeze","_unFreeze","render","enableAlphaMode","effectiveMeshReplacement","_isActiveIntermediate","_isActive","_checkOcclusionQuery","instanceDataStorage","setAlphaMode","alphaMode","getEffect","_beforeRenderingMeshStage","action","sideOrientation","effectiveMesh","backFaceCulling","mainDeterminant","_getWorldMatrixDeterminant","ClockWiseSideOrientation","CounterClockWiseSideOrientation","reverse","_preBind","forceDepthWrite","setDepthWrite","forcePointsCloud","forceWireframe","bindForSubMesh","separateCullingPass","setState","zOffset","_onBeforeDraw","unbind","_afterRenderingMeshStage","isInstance","bindOnlyWorldMatrix","cleanMatrixWeights","normalizeSkinWeightsAndExtra","normalizeSkinFourWeights","matricesWeights","numWeights","recip","matricesWeightsExtra","validateSkinning","skeleton","skinned","valid","report","numberNotSorted","missingWeights","maxUsedWeights","numberNotNormalized","numInfluences","usedWeightCounts","lastWeight","usedWeights","tolerance","numBones","bones","matricesIndices","matricesIndicesExtra","numBadBoneIndices","load","_queueLoad","_addPendingData","getBinaryData","delayLoadingFile","LoadFile","_delayLoadingFunction","JSON","parse","_syncSubMeshes","_removePendingData","offlineProvider","isInFrustum","frustumPlanes","setMaterialByID","materials","multiMaterials","getAnimatables","results","bakeTransformIntoVertices","submeshes","_resetPointsArrayCache","flipFaces","bakeCurrentTransformIntoVertices","bakeIndependenlyOfChildren","resetLocalMatrix","_positions","_generatePointsArray","doNotRecurse","disposeMaterialAndTextures","_scene","_disposeInstanceSpecificData","_disposeThinInstanceSpecificData","applyDisplacementMap","url","minHeight","maxHeight","onSuccess","uvOffset","uvScale","forceUpdate","LoadImage","img","heightMapWidth","heightMapHeight","context","CreateCanvas","getContext","drawImage","getImageData","applyDisplacementMapFromBuffer","uvs","uv","pos","convertToFlatShadedMesh","kindIndex","kinds","vbs","newdata","updatableNormals","vertexBuffer","previousSubmeshes","vertexIndex","p3","p1p2","p3p2","localIndex","submeshIndex","previousOne","AddToMesh","materialIndex","convertToUnIndexedMesh","flipNormals","vertex_data","ExtractFromMesh","increaseVertices","numberPerEdge","currentIndices","segments","tempIndices","deltaPosition","deltaNormal","deltaUV","side","positionPtr","uvPtr","idx","forceSharedVertices","currentUVs","currentPositions","currentColors","colors","ptr","facet","pstring","indexPtr","uniquePositions","_instancedMeshFactory","_PhysicsImpostorParser","physicObject","jsonObject","optimizeIndices","successCallback","vectorPositions","dupes","SyncAsyncForLoop","iteration","realPos","testedPosition","againstPosition","originalSubMeshes","_postMultiplyPivotMatrix","pivotMatrix","localMatrix","infiniteDistance","pickable","isPickable","receiveShadows","billboardMode","visibility","checkCollisions","isBlocker","parentId","isUnIndexed","geometryId","subIndex","doNotSerialize","materialId","morphTargetManagerId","skeletonId","numBoneInfluencers","_getComponent","NAME_PHYSICSENGINE","getPhysicsImpostor","physicsMass","getParam","physicsFriction","physicsRestitution","serializationInstance","serializeAnimationRanges","matrixData","thinInstances","SliceToArray","_userThinInstanceBuffersStorage","userThinInstance","sizes","strides","layerMask","alphaIndex","hasVertexAlpha","overlayAlpha","overlayColor","renderOverlay","applyFog","actionManager","actions","numInfluencers","morphTarget","getActiveTarget","getPositions","getNormals","tangents","getTangents","getUVs","parsedMesh","_GroundMeshParser","setPreTransformMatrix","showBoundingBox","showSubMeshesBoundingBox","useFlatShading","freezeWorldMatrix","_waitingData","boundingBoxMinimum","boundingBoxMaximum","_binaryInfo","hasUVs","hasUVs2","hasUVs3","hasUVs4","hasUVs5","hasUVs6","hasColors","hasMatricesIndices","hasMatricesWeights","_ImportGeometry","ForceFullSceneLoadingForIncremental","getMorphTargetManagerById","getLastSkeletonByID","parsedAnimation","internalClass","GetClass","ParseAnimationRanges","autoAnimate","beginAnimation","autoAnimateFrom","autoAnimateTo","autoAnimateLoop","autoAnimateSpeed","isNaN","lodMeshIds","lods","ids","distances","lodDistances","coverages","lodCoverages","parsedInstance","thinInstanceSetBuffer","CreateRibbon","pathArray","closeArray","closePath","CreateDisc","radius","tessellation","CreateBox","CreateSphere","diameter","CreateHemisphere","CreateCylinder","diameterTop","diameterBottom","subdivisions","CreateTorus","thickness","CreateTorusKnot","tube","radialSegments","tubularSegments","CreateLines","points","CreateDashedLines","dashSize","gapSize","dashNb","CreatePolygon","shape","holes","earcutInjection","earcut","ExtrudePolygon","depth","ExtrudeShape","path","cap","ExtrudeShapeCustom","scaleFunction","rotationFunction","ribbonCloseArray","ribbonClosePath","CreateLathe","CreatePlane","CreateGround","CreateTiledGround","xmin","xmax","precision","CreateGroundFromHeightMap","onReady","alphaFilter","CreateTube","radiusFunction","CreatePolyhedron","CreateIcoSphere","CreateDecal","sourceMesh","CreateCapsule","setPositionsForCPUSkinning","setNormalsForCPUSkinning","_softwareSkinningFrameId","getFrameId","hasNormals","positionsData","normalsData","matricesIndicesData","matricesWeightsData","inf","needExtras","matricesIndicesExtraData","matricesWeightsExtraData","skeletonMatrices","getTransformMatrices","tempVector3","finalMatrix","tempMatrix","matWeightIdx","weight","MinMax","minVector","maxVector","boundingBox","minimumWorld","maximumWorld","meshesOrMinMaxVector","minMaxVector","MergeMeshes","disposeSource","allow32BitsIndices","meshSubclass","subdivideWithSubMeshes","multiMultiMaterials","matIndex","newMultiMaterial","otherVertexData","materialArray","materialIndexArray","indiceArray","isAnInstance","wm","merge","subMaterials","addInstance","_indexInSourceMeshInstanceArray","removeInstance","last","BACKSIDE","DOUBLESIDE","NO_CAP","CAP_START","CAP_END","CAP_ALL","NO_FLIP","FLIP_TILE","ROTATE_TILE","FLIP_ROW","ROTATE_ROW","FLIP_N_ROTATE_TILE","FLIP_N_ROTATE_ROW","CENTER","LEFT","RIGHT","TOP","BOTTOM","_AddLogEntry","entry","Logger","_LogCache","OnNewCacheEntry","_FormatMessage","padStr","date","Date","getHours","getMinutes","getSeconds","_LogDisabled","_LogEnabled","formattedMessage","console","log","_WarnDisabled","_WarnEnabled","warn","_ErrorDisabled","_ErrorEnabled","errorsCount","ClearLogCache","MessageLogLevel","Log","WarningLogLevel","ErrorLogLevel","NoneLogLevel","AllLogLevel","_extends","Color3","toColor4","Color4","toLuminance","otherColor","equalsFloats","clampToRef","toHexString","intR","intG","intB","ToHex","toLinearSpace","convertedColor","toLinearSpaceToRef","toHSV","toHSVToRef","h","dm","pow","toGammaSpace","toGammaSpaceToRef","HSVtoRGBToRef","hue","saturation","chroma","FromHexString","hex","substring","FromInts","Red","Green","Blue","Black","_BlackReadOnly","White","Purple","Magenta","Yellow","Gray","Teal","Random","random","color","returnAsColor3","intA","FromColor3","CheckColors4","colors4","newIndex","sceneOrEngine","noMipmap","invertY","samplingMode","onLoad","deleteBuffer","format","mimeType","loaderOptions","Texture","TRILINEAR_SAMPLINGMODE","uOffset","vOffset","uScale","vScale","uAng","vAng","wAng","uRotationCenter","vRotationCenter","wRotationCenter","homogeneousRotationInUVTransform","inspectableCustomProperties","_noMipmap","_invertY","_rowGenerationMatrix","_cachedTextureMatrix","_projectionModeMatrix","_t0","_t1","_t2","_cachedUOffset","_cachedVOffset","_cachedUScale","_cachedVScale","_cachedUAng","_cachedVAng","_cachedWAng","_cachedProjectionMatrixId","_cachedURotationCenter","_cachedVRotationCenter","_cachedWRotationCenter","_cachedHomogeneousRotationInUVTransform","_cachedCoordinatesMode","_initialSamplingMode","BILINEAR_SAMPLINGMODE","_deleteBuffer","_format","_delayedOnLoad","_delayedOnError","onLoadObservable","_isBlocking","_mimeType","_loaderOptions","_getEngine","onBeforeTextureInitObservable","_texture","_invertVScale","_cachedWrapU","wrapU","_cachedWrapV","wrapV","_cachedWrapR","wrapR","isBlocking","resetCachedMaterial","_getFromCache","SetImmediate","onLoadedObservable","useDelayedTextureLoading","createTexture","updateURL","releaseInternalTexture","StartsWith","delayLoad","_prepareRowForTextureGeneration","checkTransformsAreIdentical","getTextureMatrix","uBase","hasTexture","getReflectionTextureMatrix","coordinatesMode","PROJECTION_MODE","getProjectionMatrix","PLANAR_MODE","projectionMatrix","getActiveTextures","savedName","SerializeBuffers","ForceSerializeBuffers","base64String","replace","EncodeArrayBufferToBase64","GenerateBase64StringFromTexture","parsedTexture","customType","parsedCustomTexture","Instantiate","updateSamplingMode","_samplingMode","isCube","_CubeTextureParser","onLoaded","sampling","generateMipMaps","mirrorPlane","mirrorTexture","_CreateMirror","renderTargetSize","_waitingRenderList","renderTargetTexture","reflectionProbes","probe","cubeTexture","_CreateRenderTargetTexture","CreateFromBase64String","UseSerializedUrlIfAny","LoadFromDataString","jsonTexture","NEAREST_SAMPLINGMODE","NEAREST_NEAREST_MIPLINEAR","LINEAR_LINEAR_MIPNEAREST","LINEAR_LINEAR_MIPLINEAR","NEAREST_NEAREST_MIPNEAREST","NEAREST_LINEAR_MIPNEAREST","NEAREST_LINEAR_MIPLINEAR","NEAREST_LINEAR","NEAREST_NEAREST","LINEAR_NEAREST_MIPNEAREST","LINEAR_NEAREST_MIPLINEAR","LINEAR_LINEAR","LINEAR_NEAREST","EXPLICIT_MODE","SPHERICAL_MODE","CUBIC_MODE","SKYBOX_MODE","INVCUBIC_MODE","EQUIRECTANGULAR_MODE","FIXED_EQUIRECTANGULAR_MODE","FIXED_EQUIRECTANGULAR_MIRRORED_MODE","CLAMP_ADDRESSMODE","WRAP_ADDRESSMODE","MIRROR_ADDRESSMODE","fqdn","BaseUrl","DefaultRetryStrategy","strategy","CorsBehavior","UseFallbackTexture","RegisteredExternalClasses","classes","FallbackTexture","FetchToRef","u","pixels","Mix","className","Slice","isArray","IsExponentOfTwo","FloatRound","fround","Tools","_tmpFloatArray","GetFilename","lastIndexOf","GetFolderPath","uri","returnUnchangedIfNoSlash","ToDegrees","ToRadians","MakeArray","obj","allowsNullUndefined","GetPointerPrefix","eventPrefix","PointerEvent","IsNavigatorAvailable","navigator","pointerEnabled","_badDesktopOS","_badOS","document","SetCorsBehavior","element","CleanUrl","PreprocessUrl","input","onProgress","useArrayBuffer","LoadFileAsync","request","exception","LoadScript","scriptUrl","scriptId","head","getElementsByTagName","script","createElement","setAttribute","onload","onerror","appendChild","LoadScriptAsync","ReadFileAsDataURL","fileToLoad","progressCallback","reader","FileReader","onCompleteObservable","abort","onloadend","onprogress","readAsDataURL","ReadFile","file","FileAsURL","content","fileBlob","Blob","URL","webkitURL","createObjectURL","Format","decimals","toFixed","doNotCopyList","mustCopyList","IsEmpty","RegisterTopRootEvents","windowElement","events","event","addEventListener","handler","UnregisterTopRootEvents","removeEventListener","DumpFramebuffer","fileName","numberOfChannelsByLine","halfHeight","readPixels","currentCell","targetCell","_ScreenshotCanvas","imageData","createImageData","putImageData","EncodeScreenshotCanvasData","ToBlob","canvas","toBlob","quality","binStr","toDataURL","charCodeAt","blob","stringDate","getFullYear","getMonth","getDate","Download","newWindow","open","revokeObjectURL","src","msSaveBlob","style","display","href","download","parentElement","removeChild","click","BackCompatCameraNoPreventDefault","args","CreateScreenshot","CreateScreenshotAsync","CreateScreenshotUsingRenderTarget","samples","antialiasing","CreateScreenshotUsingRenderTargetAsync","IsBase64","DecodeBase64","decodedString","bufferLength","bufferView","GetAbsoluteUrl","LogCache","LogLevels","PerformanceUserMarkLogLevel","StartPerformanceCounter","_StartUserMark","EndPerformanceCounter","_EndUserMark","PerformanceConsoleLogLevel","_StartPerformanceConsole","_EndPerformanceConsole","_StartPerformanceCounterDisabled","_EndPerformanceCounterDisabled","counterName","condition","_performance","performance","mark","measure","time","timeEnd","Now","GetClassName","object","isType","First","predicate","el","getFullClassName","moduleName","classObj","DelayAsync","delay","IsSafari","test","userAgent","UseCustomRequestHeaders","CustomRequestHeaders","PerformanceNoneLogLevel","iterations","_done","_fn","_successCallback","executeNext","breakLoop","Run","fn","loop","AsyncLoop","syncedIterations","breakFunction","timeout","ceil","Apply","canvasOrContext","antialias","adaptToDeviceRatio","enableOfflineSupport","disableManifestCheck","onNewSceneAddedObservable","postProcesses","isPointerLock","onResizeObservable","onCanvasBlurObservable","onCanvasFocusObservable","onCanvasPointerOutObservable","onBeginFrameObservable","customAnimationFrameRequester","onEndFrameObservable","onBeforeShaderCompilationObservable","onAfterShaderCompilationObservable","_deterministicLockstep","_lockstepMaxSteps","_timeStep","_fps","_deltaTime","_drawCalls","canvasTabIndex","disablePerformanceMonitorInBackground","_performanceMonitor","Engine","Instances","_creationOptions","_onCanvasFocus","_onCanvasBlur","_onBlur","disable","_windowIsBackground","_onFocus","enable","_onCanvasPointerOut","ev","hostWindow","getHostWindow","_onFullscreenChange","fullscreen","isFullscreen","mozFullScreen","webkitIsFullScreen","msIsFullScreen","_pointerLockRequested","_RequestPointerlock","_onPointerLockChange","mozPointerLockElement","webkitPointerLockElement","msPointerLockElement","pointerLockElement","audioEngine","AudioEngineFactory","getRenderingCanvas","_connectVREvents","OfflineProviderFactory","doNotHandleTouchAction","_disableTouchAction","deterministicLockstep","lockstepMaxSteps","timeStep","_prepareVRComponent","autoEnableWebVR","initWebVR","NpmPackage","Version","LastCreatedEngine","LastCreatedScene","MarkAllMaterialsAsDirty","engineIndex","sceneIndex","DefaultLoadingScreenFactory","_RescalePostProcessFactory","getInputElement","_renderingCanvas","getAspectRatio","viewportOwner","useScreen","getRenderWidth","getRenderHeight","getScreenAspectRatio","getRenderingCanvasClientRect","getBoundingClientRect","getInputElementClientRect","isDeterministicLockStep","getLockstepMaxSteps","getTimeStep","generateMipMapsForCubemap","gl","_gl","_bindTextureDirectly","TEXTURE_CUBE_MAP","generateMipmap","culling","reverseSide","_depthCullingState","cull","cullFace","cullBackFaces","BACK","FRONT","setZOffset","frontFace","CW","CCW","getZOffset","setDepthBuffer","depthTest","getDepthWrite","depthMask","getStencilBuffer","_stencilState","stencilTest","setStencilBuffer","getStencilMask","stencilMask","setStencilMask","getStencilFunction","stencilFunc","getStencilFunctionReference","stencilFuncRef","getStencilFunctionMask","stencilFuncMask","setStencilFunction","setStencilFunctionReference","setStencilFunctionMask","getStencilOperationFail","stencilOpStencilFail","getStencilOperationDepthFail","stencilOpDepthFail","getStencilOperationPass","stencilOpStencilDepthPass","setStencilOperationFail","operation","setStencilOperationDepthFail","setStencilOperationPass","setDitheringState","DITHER","setRasterizerState","RASTERIZER_DISCARD","getDepthFunction","depthFunc","setDepthFunction","setDepthFunctionToGreater","GREATER","setDepthFunctionToGreaterOrEqual","GEQUAL","setDepthFunctionToLess","LESS","setDepthFunctionToLessOrEqual","LEQUAL","cacheStencilState","_cachedStencilBuffer","_cachedStencilFunction","_cachedStencilMask","_cachedStencilOperationPass","_cachedStencilOperationFail","_cachedStencilOperationDepthFail","_cachedStencilReference","restoreStencilState","setDirectViewport","currentViewport","_cachedViewport","_viewport","scissorClear","clearColor","enableScissor","disableScissor","SCISSOR_TEST","scissor","_reportDrawCall","_submitVRFrame","disableVR","isVRPresenting","_requestVRFrame","_loadFileAsync","getVertexShaderSource","program","shaders","getAttachedShaders","getShaderSource","getFragmentShaderSource","_boundUniforms","depthStencilTexture","_setTexture","_textures","_currentRenderTextureInd","_outputTexture","_rebuildBuffers","_rebuildGeometries","_rebuildTextures","_renderFrame","_activeRenderLoops","renderFunction","_renderLoop","_contextWasLost","shouldRender","renderEvenInBackground","beginFrame","_renderViews","endFrame","requestID","_queueNewFrame","_boundRenderFunction","_frameHandler","_renderingQueueLaunched","switchFullscreen","requestPointerLock","exitFullscreen","enterFullscreen","_RequestFullscreen","_ExitFullscreen","enterPointerlock","exitPointerlock","_ExitPointerlock","_measureFps","resize","setSize","camIndex","cameras","_currentRenderId","pipelineContext","webGLPipelineContext","transformFeedback","deleteTransformFeedback","createShaderProgram","_createShaderProgram","fragmentShader","shaderProgram","createProgram","attachShader","createTransformFeedback","bindTransformFeedback","setTranformFeedbackVaryings","linkProgram","isParallelCompiled","_finalizePipelineContext","_releaseTexture","_postProcesses","_rescaleTexture","internalFormat","onComplete","texParameteri","TEXTURE_2D","TEXTURE_MAG_FILTER","LINEAR","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","rtt","createRenderTargetTexture","generateDepthBuffer","generateStencilBuffer","_rescalePostProcess","onApply","hostingScene","postProcessManager","directRender","copyTexImage2D","unBindFramebuffer","getFps","getDeltaTime","sampleFrame","averageFPS","instantaneousFrameTime","_uploadImageToTexture","image","faceIndex","textureType","_getWebGLTextureType","_getInternalFormat","_getRGBABufferInternalSizedFormat","bindTarget","_unpackFlipY","TEXTURE_CUBE_MAP_POSITIVE_X","texImage2D","updateRenderTargetTextureSampleCount","maxMSAASamples","_depthStencilBuffer","deleteRenderbuffer","_MSAAFramebuffer","deleteFramebuffer","_MSAARenderBuffer","renderbufferStorageMultisample","framebuffer","createFramebuffer","_bindUnboundFramebuffer","colorRenderbuffer","createRenderbuffer","bindRenderbuffer","RENDERBUFFER","_getRGBAMultiSampleBufferFormat","framebufferRenderbuffer","FRAMEBUFFER","COLOR_ATTACHMENT0","_framebuffer","_setupFramebufferDepthAttachments","_generateStencilBuffer","_generateDepthBuffer","updateTextureComparisonFunction","comparisonFunction","TEXTURE_COMPARE_FUNC","TEXTURE_COMPARE_MODE","NONE","COMPARE_REF_TO_TEXTURE","_comparisonFunction","createInstancesBuffer","capacity","createBuffer","bindArrayBuffer","bufferData","ARRAY_BUFFER","DYNAMIC_DRAW","deleteInstancesBuffer","_clientWaitAsync","sync","flags","interval_ms","check","clientWaitSync","WAIT_FAILED","TIMEOUT_EXPIRED","_readPixelsAsync","outputBuffer","_webGLVersion","buf","bindBuffer","PIXEL_PACK_BUFFER","STREAM_READ","fenceSync","SYNC_GPU_COMMANDS_COMPLETE","flush","deleteSync","getBufferSubData","hideLoadingUI","IsDocumentAvailable","touchAction","msTouchAction","displayLoadingUI","loadingScreen","_loadingScreen","text","loadingUIText","loadingUIBackgroundColor","msRequestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","anyDoc","exitPointerLock","msExitPointerLock","mozExitPointerLock","webkitExitPointerLock","requestFunction","requestFullscreen","msRequestFullscreen","webkitRequestFullscreen","mozRequestFullScreen","mozCancelFullScreen","webkitCancelFullScreen","msCancelFullScreen","ALPHA_DISABLE","ALPHA_ADD","ALPHA_COMBINE","ALPHA_SUBTRACT","ALPHA_MULTIPLY","ALPHA_MAXIMIZED","ALPHA_ONEONE","ALPHA_PREMULTIPLIED","ALPHA_PREMULTIPLIED_PORTERDUFF","ALPHA_INTERPOLATE","ALPHA_SCREENMODE","DELAYLOADSTATE_NONE","DELAYLOADSTATE_LOADED","DELAYLOADSTATE_LOADING","DELAYLOADSTATE_NOTLOADED","NEVER","ALWAYS","EQUAL","NOTEQUAL","KEEP","REPLACE","INCR","DECR","INVERT","INCR_WRAP","DECR_WRAP","TEXTURE_CLAMP_ADDRESSMODE","TEXTURE_WRAP_ADDRESSMODE","TEXTURE_MIRROR_ADDRESSMODE","TEXTUREFORMAT_ALPHA","TEXTUREFORMAT_LUMINANCE","TEXTUREFORMAT_LUMINANCE_ALPHA","TEXTUREFORMAT_RGB","TEXTUREFORMAT_RGBA","TEXTUREFORMAT_RED","TEXTUREFORMAT_R","TEXTUREFORMAT_RG","TEXTUREFORMAT_RED_INTEGER","TEXTUREFORMAT_R_INTEGER","TEXTUREFORMAT_RG_INTEGER","TEXTUREFORMAT_RGB_INTEGER","TEXTUREFORMAT_RGBA_INTEGER","TEXTURETYPE_UNSIGNED_BYTE","TEXTURETYPE_UNSIGNED_INT","TEXTURETYPE_FLOAT","TEXTURETYPE_HALF_FLOAT","TEXTURETYPE_BYTE","TEXTURETYPE_SHORT","TEXTURETYPE_UNSIGNED_SHORT","TEXTURETYPE_INT","TEXTURETYPE_UNSIGNED_INTEGER","TEXTURETYPE_UNSIGNED_SHORT_4_4_4_4","TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1","TEXTURETYPE_UNSIGNED_SHORT_5_6_5","TEXTURETYPE_UNSIGNED_INT_2_10_10_10_REV","TEXTURETYPE_UNSIGNED_INT_24_8","TEXTURETYPE_UNSIGNED_INT_10F_11F_11F_REV","TEXTURETYPE_UNSIGNED_INT_5_9_9_9_REV","TEXTURETYPE_FLOAT_32_UNSIGNED_INT_24_8_REV","TEXTURE_NEAREST_SAMPLINGMODE","TEXTURE_BILINEAR_SAMPLINGMODE","TEXTURE_TRILINEAR_SAMPLINGMODE","TEXTURE_NEAREST_NEAREST_MIPLINEAR","TEXTURE_LINEAR_LINEAR_MIPNEAREST","TEXTURE_LINEAR_LINEAR_MIPLINEAR","TEXTURE_NEAREST_NEAREST_MIPNEAREST","TEXTURE_NEAREST_LINEAR_MIPNEAREST","TEXTURE_NEAREST_LINEAR_MIPLINEAR","TEXTURE_NEAREST_LINEAR","TEXTURE_NEAREST_NEAREST","TEXTURE_LINEAR_NEAREST_MIPNEAREST","TEXTURE_LINEAR_NEAREST_MIPLINEAR","TEXTURE_LINEAR_LINEAR","TEXTURE_LINEAR_NEAREST","TEXTURE_EXPLICIT_MODE","TEXTURE_SPHERICAL_MODE","TEXTURE_PLANAR_MODE","TEXTURE_CUBIC_MODE","TEXTURE_PROJECTION_MODE","TEXTURE_SKYBOX_MODE","TEXTURE_INVCUBIC_MODE","TEXTURE_EQUIRECTANGULAR_MODE","TEXTURE_FIXED_EQUIRECTANGULAR_MODE","TEXTURE_FIXED_EQUIRECTANGULAR_MIRRORED_MODE","SCALEMODE_FLOOR","SCALEMODE_NEAREST","SCALEMODE_CEILING","toVal","mix","str","toUpperCase","Sign","Log2","LOG2E","Repeat","Denormalize","DeltaAngle","current","Scalar","PingPong","tx","SmoothStep","MoveTowards","maxDelta","MoveTowardsAngle","LerpAngle","InverseLerp","RandomRange","RangeToPercent","number","PercentToRange","percent","NormalizeRadians","TwoPi","BindEyePosition","variableName","_forcedViewPosition","activeCamera","devicePosition","_mirroredCameraPosition","PrepareDefinesForMergedUV","_needUVs","coordinatesIndex","BindTextureMatrix","uniformBuffer","updateMatrix","GetFogState","fogEnabled","fogMode","FOGMODE_NONE","PrepareDefinesForMisc","useLogarithmicDepth","pointsCloud","alphaTest","_areMiscDirty","nonUniformScaling","PrepareDefinesForFrameBoundValues","useInstances","useClipPlane","useThinInstances","useClipPlane1","useClipPlane2","useClipPlane3","useClipPlane4","useClipPlane5","useClipPlane6","clipPlane","clipPlane2","clipPlane3","clipPlane4","clipPlane5","clipPlane6","getColorWrite","markAsUnprocessed","PrepareDefinesForBones","useBones","computeBonesUsingShaders","materialSupportsBoneTexture","isUsingTextureForMatrices","prePassRenderer","enabled","nonExcluded","excludedSkinnedMesh","PrepareDefinesForMorphTargets","manager","supportsUVs","supportsTangents","supportsNormals","PrepareDefinesForAttributes","useVertexColor","useMorphTargets","useVertexAlpha","_areAttributesDirty","_needNormals","_normals","_uvs","hasVertexColors","useVertexColors","PrepareDefinesForMultiview","previousMultiview","MULTIVIEW","outputRenderTarget","getViewCount","PrepareDefinesForPrePass","canRenderToMRT","previousPrePass","PREPASS","_arePrePassDirty","texturesList","define","SCENE_MRT_COUNT","mrtCount","getIndex","markAsImageProcessingDirty","PrepareDefinesForLight","light","lightIndex","specularSupported","needNormals","needRebuild","prepareLightSpecificDefines","falloffType","FALLOFF_GLTF","FALLOFF_PHYSICAL","FALLOFF_STANDARD","specular","specularEnabled","shadowsEnabled","shadowEnabled","shadowGenerator","shadowMap","prepareDefines","lightmapMode","LIGHTMAP_DEFAULT","LIGHTMAP_SHADOWSONLY","PrepareDefinesForLights","maxSimultaneousLights","disableLighting","_areLightsDirty","lightsEnabled","caps","textureFloatRender","textureFloatLinearFiltering","textureHalfFloatRender","textureHalfFloatLinearFiltering","rebuild","PrepareUniformsAndSamplersForLight","uniformsList","samplersList","projectedLightTexture","uniformBuffersList","updateOnlyBuffersList","PrepareUniformsAndSamplersList","uniformsListOrOptions","HandleFallbacksForShadows","rank","lightFallbackRank","addFallback","PrepareAttributesForMorphTargetsInfluencers","attribs","influencers","_TmpMorphInfluencers","NUM_MORPH_INFLUENCERS","PrepareAttributesForMorphTargets","maxAttributesCount","maxVertexAttribs","tangent","PrepareAttributesForBones","addCPUSkinningFallback","PrepareAttributesForInstances","PushAttributesForInstances","BindLightProperties","transferToEffect","BindLight","useSpecular","rebuildInParallel","_bindLight","BindLights","BindFogParameters","linearSpace","fogStart","fogEnd","fogDensity","fogColor","_tempFogColor","BindBonesParameters","prePassConfiguration","boneTexture","getTransformMatrixTexture","previousBones","MaterialHelper","_CopyBonesTransformationMatrices","BindMorphTargetParameters","abstractMesh","influences","BindLogDepth","maxZ","LN2","BindClipPlane","_objectWithoutProperties","excluded","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","uvs2","uvs3","uvs4","uvs5","uvs6","_applyTo","applyToGeometry","updateMesh","_update","updateGeometry","meshOrGeometry","flip","transformed","tangentTransformed","use32BitsIndices","_validate","decal","_mergeElement","isSrcTypedArray","isOthTypedArray","ret32","getElementCount","values","positionsElementCount","validateElementCount","elementCount","_isExpanded","VertexData","_ExtractFrom","ExtractFromGeometry","CreateTiledBox","CreateTiledPlane","CreateLineSystem","polygon","fUV","fColors","frontUVs","backUVs","wrap","capSubdivisions","p1p2x","p1p2y","p1p2z","p3p2x","p3p2y","p3p2z","faceNormalx","faceNormaly","faceNormalz","v1x","v1y","v1z","v2x","v2y","v2z","v3x","v3y","v3z","computeFacetNormals","computeFacetPositions","computeFacetPartitioning","computeDepthSort","faceNormalSign","ratio","distanceTo","facetNormals","facetPositions","facetPartitioning","useRightHandedSystem","depthSort","depthSortedFacets","xSubRatio","ySubRatio","zSubRatio","subSq","bbSize","ox","oy","oz","b1x","b1y","b1z","b2x","b2y","b2z","b3x","b3y","b3z","block_idx_o","block_idx_v1","block_idx_v2","block_idx_v3","bbSizeMax","subDiv","X","Y","Z","nbFaces","bInfo","minimum","dsf","ind","sqDistance","_ComputeSides","li","ln","lp","l","lu","ImportVertexData","parsedVertexData","uv2s","uv3s","uv4s","uv5s","uv6s","setAllVerticesData","NAME_EFFECTLAYER","NAME_LAYER","NAME_LENSFLARESYSTEM","NAME_BOUNDINGBOXRENDERER","NAME_PARTICLESYSTEM","NAME_GAMEPAD","NAME_SIMPLIFICATIONQUEUE","NAME_GEOMETRYBUFFERRENDERER","NAME_PREPASSRENDERER","NAME_DEPTHRENDERER","NAME_POSTPROCESSRENDERPIPELINEMANAGER","NAME_SPRITE","NAME_SUBSURFACE","NAME_OUTLINERENDERER","NAME_PROCEDURALTEXTURE","NAME_SHADOWGENERATOR","NAME_OCTREE","NAME_AUDIO","STEP_ISREADYFORMESH_EFFECTLAYER","STEP_BEFOREEVALUATEACTIVEMESH_BOUNDINGBOXRENDERER","STEP_EVALUATESUBMESH_BOUNDINGBOXRENDERER","STEP_PREACTIVEMESH_BOUNDINGBOXRENDERER","STEP_CAMERADRAWRENDERTARGET_EFFECTLAYER","STEP_BEFORECAMERADRAW_EFFECTLAYER","STEP_BEFORECAMERADRAW_LAYER","STEP_BEFORECAMERADRAW_PREPASS","STEP_BEFORERENDERTARGETDRAW_LAYER","STEP_BEFORERENDERINGMESH_PREPASS","STEP_BEFORERENDERINGMESH_OUTLINE","STEP_AFTERRENDERINGMESH_PREPASS","STEP_AFTERRENDERINGMESH_OUTLINE","STEP_AFTERRENDERINGGROUPDRAW_EFFECTLAYER_DRAW","STEP_AFTERRENDERINGGROUPDRAW_BOUNDINGBOXRENDERER","STEP_BEFORECAMERAUPDATE_SIMPLIFICATIONQUEUE","STEP_BEFORECAMERAUPDATE_GAMEPAD","STEP_BEFORECLEAR_PROCEDURALTEXTURE","STEP_AFTERRENDERTARGETDRAW_LAYER","STEP_AFTERCAMERADRAW_EFFECTLAYER","STEP_AFTERCAMERADRAW_LENSFLARESYSTEM","STEP_AFTERCAMERADRAW_EFFECTLAYER_DRAW","STEP_AFTERCAMERADRAW_LAYER","STEP_AFTERCAMERADRAW_PREPASS","STEP_AFTERRENDER_AUDIO","STEP_GATHERRENDERTARGETS_DEPTHRENDERER","STEP_GATHERRENDERTARGETS_GEOMETRYBUFFERRENDERER","STEP_GATHERRENDERTARGETS_SHADOWGENERATOR","STEP_GATHERRENDERTARGETS_POSTPROCESSRENDERPIPELINEMANAGER","STEP_GATHERACTIVECAMERARENDERTARGETS_DEPTHRENDERER","STEP_BEFORECLEARSTAGE_PREPASS","STEP_POINTERMOVE_SPRITE","STEP_POINTERDOWN_SPRITE","STEP_POINTERUP_SPRITE","items","Create","Stage","registerStep","component","Number","MAX_VALUE","POINTERDOWN","POINTERUP","POINTERMOVE","POINTERWHEEL","POINTERPICK","POINTERTAP","POINTERDOUBLETAP","localX","localY","ray","skipOnPointerObservable","localPosition","PointerInfoBase","pickInfo","PointerInfo","_DiffuseTextureEnabled","_DetailTextureEnabled","_AmbientTextureEnabled","_OpacityTextureEnabled","_ReflectionTextureEnabled","_EmissiveTextureEnabled","_SpecularTextureEnabled","_BumpTextureEnabled","_LightmapTextureEnabled","_RefractionTextureEnabled","_ColorGradingTextureEnabled","_FresnelEnabled","_ClearCoatTextureEnabled","_ClearCoatBumpTextureEnabled","_ClearCoatTintTextureEnabled","_SheenTextureEnabled","_AnisotropicTextureEnabled","_ThicknessTextureEnabled","withStyles","stylesOrCreator","withStylesWithoutDefault","defaultTheme","_singleClick","_doubleClick","_hasSwiped","_ignore","_alreadyAttached","_wheelEventName","_meshPickProceed","_currentPickResult","_previousPickResult","_totalPointersPressed","_doubleClickOccured","_pointerX","_pointerY","_startingPointerPosition","_previousStartingPointerPosition","_startingPointerTime","_previousStartingPointerTime","_pointerCaptures","_meshUnderPointerId","_keyboardIsAttached","_pointerOverMesh","getMeshUnderPointerByPointerId","pointerId","_unTranslatedPointerX","_unTranslatedPointerY","_updatePointerPosition","evt","canvasRect","clientX","clientY","_processPointerMove","pickResult","tabIndex","doNotHandleCursors","cursor","defaultCursor","isMeshPicked","hit","pickedMesh","setPointerOverMesh","hasPointerTriggers","hoverCursor","_pointerMoveStage","onPointerMove","onPointerObservable","pi","_setRayOnPointerInfo","pointerInfo","_pickingUnavailable","createPickingRay","offsetX","offsetY","_checkPrePointerObservable","onPrePointerObservable","simulatePointerMove","pointerEventInit","simulatePointerDown","_processPointerDown","_pickedDownMesh","_getActionManagerForTrigger","hasPickTriggers","processTrigger","CreateNew","button","hasSpecificTrigger","pick","cameraToUseForPointers","now","InputManager","LongPressDelay","_isPointerSwiping","_pointerDownStage","onPointerDown","DragMovementThreshold","simulatePointerUp","doubleTap","clickInfo","_ClickInfo","doubleClick","singleClick","_processPointerUp","_pickedUpMesh","onPointerPick","ignore","hasSwiped","doubleClickActionManager","_pointerUpStage","pickedDownActionManager","onPointerUp","isPointerCaptured","attachControl","attachUp","attachDown","attachMove","elementToAttachTo","detachControl","_alreadyAttachedTo","_initActionManager","act","pointerDownPredicate","_delayedSimpleClick","btn","cb","DoubleClickDelay","_previousButtonPressed","_initClickEvent","obs1","obs2","checkPicking","needToIgnoreNext","checkSingleClickImmediately","ExclusiveDoubleClickMode","HasSpecificTrigger","_previousDelayedSimpleClickTimeout","_delayedSimpleClickTimeout","checkDoubleClick","clearTimeout","_onPointerMove","pointerMovePredicate","enablePointerMoveEvents","constantlyUpdateMeshUnderPointer","_onPointerDown","preventDefaultOnPointerDown","preventDefault","focus","_onPointerUp","preventDefaultOnPointerUp","pointerUpPredicate","HasTriggers","_onKeyDown","KEYDOWN","onPreKeyboardObservable","onKeyboardObservable","CreateNewFromScene","_onKeyUp","KEYUP","attachedFunction","_onCanvasFocusObserver","activeElement","_onCanvasBlurObserver","onmousewheel","underPointerMesh","getPointerOverMesh","_inputManager","_isScene","_blockEntityCollection","autoClear","autoClearDepthAndStencil","ambientColor","_environmentIntensity","_forceWireframe","_skipFrustumClipping","_forcePointsCloud","animationsEnabled","_animationPropertiesOverride","useConstantAnimationDeltaTime","reservedDataStore","disableOfflineSupportExceptionRules","onDisposeObservable","_onDisposeObserver","_onBeforeRenderObserver","onAfterRenderCameraObservable","_onAfterRenderObserver","onBeforeAnimationsObservable","onAfterAnimationsObservable","onBeforeDrawPhaseObservable","onAfterDrawPhaseObservable","onReadyObservable","onBeforeCameraRenderObservable","_onBeforeCameraRenderObserver","onAfterCameraRenderObservable","_onAfterCameraRenderObserver","onBeforeActiveMeshesEvaluationObservable","onAfterActiveMeshesEvaluationObservable","onBeforeParticlesRenderingObservable","onAfterParticlesRenderingObservable","onDataLoadedObservable","onNewCameraAddedObservable","onCameraRemovedObservable","onNewLightAddedObservable","onLightRemovedObservable","onNewGeometryAddedObservable","onGeometryRemovedObservable","onNewTransformNodeAddedObservable","onTransformNodeRemovedObservable","onNewMeshAddedObservable","onMeshRemovedObservable","onNewSkeletonAddedObservable","onSkeletonRemovedObservable","onNewMaterialAddedObservable","onNewMultiMaterialAddedObservable","onMaterialRemovedObservable","onMultiMaterialRemovedObservable","onNewTextureAddedObservable","onTextureRemovedObservable","onBeforeRenderTargetsRenderObservable","onAfterRenderTargetsRenderObservable","onBeforeStepObservable","onAfterStepObservable","onActiveCameraChanged","onBeforeRenderingGroupObservable","onAfterRenderingGroupObservable","onMeshImportedObservable","onAnimationFileImportedObservable","_registeredForLateAnimationBindings","_useRightHandedSystem","_timeAccumulator","_currentStepId","_currentInternalStep","_fogEnabled","_fogMode","Scene","prePass","_shadowsEnabled","_lightsEnabled","activeCameras","_texturesEnabled","physicsEnabled","particlesEnabled","spritesEnabled","_skeletonsEnabled","lensFlaresEnabled","collisionsEnabled","gravity","postProcessesEnabled","renderTargetsEnabled","dumpNextRenderTargets","customRenderTargets","importedMeshesFiles","probesEnabled","_meshesForIntersections","proceduralTexturesEnabled","_totalVertices","_activeParticles","_activeBones","_animationTime","animationTimeScale","_frameId","_executeWhenReadyTimeoutId","_intermediateRendering","_viewUpdateFlag","_projectionUpdateFlag","_toBeDisposed","_activeRequests","_pendingData","_isDisposed","dispatchAllSubMeshesOfActiveMeshes","_activeMeshes","_processedMaterials","_renderTargets","_activeParticleSystems","_activeSkeletons","_softwareSkinnedMeshes","_activeAnimatables","_transformMatrix","requireLightSorting","_components","_serializableComponents","_transientComponents","_beforeCameraUpdateStage","_beforeClearStage","_gatherRenderTargetsStage","_gatherActiveCameraRenderTargetsStage","_isReadyForMeshStage","_beforeEvaluateActiveMeshStage","_evaluateSubMeshStage","_preActiveMeshStage","_cameraDrawRenderTargetStage","_beforeCameraDrawStage","_beforeRenderTargetDrawStage","_beforeRenderingGroupDrawStage","_afterRenderingGroupDrawStage","_afterCameraDrawStage","_afterRenderTargetDrawStage","_afterRenderStage","geometriesByUniqueId","_defaultMeshCandidates","_defaultSubMeshCandidates","_preventFreeActiveMeshesAndRenderingGroups","_activeMeshesFrozen","_skipEvaluateActiveMeshesCompletely","_allowPostProcessClearColor","getDeterministicFrameTime","_blockMaterialDirtyMechanism","fullOptions","useGeometryUniqueIdsMap","useMaterialMeshMap","virtual","_LastCreatedScene","_uid","_renderingManager","_createUbo","_imageProcessingConfiguration","setDefaultCandidateProviders","DefaultMaterialFactory","CollisionCoordinatorFactory","_environmentTexture","unTranslatedPointer","setStepId","newStepId","getStepId","getInternalStep","_activeCamera","_defaultMaterial","_collisionCoordinator","init","_frustumPlanes","_registerTransientComponents","register","_addComponent","serializableComponent","addFromContainer","_getDefaultMeshCandidates","_getDefaultSubMeshCandidates","getActiveMeshCandidates","getActiveSubMeshCandidates","getIntersectingSubMeshCandidates","getCollidingSubMeshCandidates","meshUnderPointer","pointerX","pointerY","getCachedMaterial","_cachedMaterial","getCachedEffect","_cachedEffect","getCachedVisibility","_cachedVisibility","isCachedMaterialInvalid","getActiveIndices","getActiveParticles","getActiveBones","getActiveMeshes","getAnimationRatio","_animationRatio","incrementRenderId","_sceneUbo","addUniform","areAllEffectsReady","geometries","_executeOnceBeforeRender","execFunc","executeOnceBeforeRender","wasLoading","isLoading","getWaitingItemsCount","executeWhenReady","whenReadyAsync","resetLastAnimationTimeFrame","_animationTimeLast","getViewMatrix","_viewMatrix","_projectionMatrix","getTransformMatrix","setTransformMatrix","viewL","projectionL","viewR","projectionR","GetPlanesToRef","GetPlanes","_multiviewSceneUbo","useUbo","_updateMultiviewUbo","getSceneUniformBuffer","getUniqueId","UniqueId","addMesh","newMesh","recursive","_resyncLightSources","_addToSceneRootNodes","getChildMeshes","removeMesh","toRemove","_removeFromSceneRootNodes","addTransformNode","newTransformNode","_indexInSceneTransformNodesArray","transformNodes","removeTransformNode","lastNode","removeSkeleton","skeletons","removeMorphTargetManager","morphTargetManagers","removeLight","lights","_removeLightSource","sortLightsByPriority","removeCamera","index2","removeParticleSystem","removeAnimation","stopAnimation","animationName","targetMask","removeAnimationGroup","animationGroups","removeMultiMaterial","removeMaterial","_indexInSceneMaterialArray","lastMaterial","removeActionManager","actionManagers","removeTexture","addLight","newLight","CompareLightsPriority","addCamera","newCamera","addSkeleton","newSkeleton","addParticleSystem","newParticleSystem","addAnimation","newAnimation","addAnimationGroup","newAnimationGroup","addMultiMaterial","addMaterial","newMaterial","addMorphTargetManager","newMorphTargetManager","addGeometry","newGeometry","addActionManager","newActionManager","addTexture","newTexture","switchActiveCamera","setActiveCameraByID","setActiveCameraByName","getCameraByName","getAnimationGroupByName","getMaterialByUniqueID","getMaterialByID","getLastMaterialByID","getMaterialByName","getTextureByUniqueID","getCameraByUniqueID","getBoneByID","skeletonIndex","boneIndex","getBoneByName","getLightByName","getLightByID","getLightByUniqueID","getParticleSystemByID","getGeometryByID","_getGeometryByUniqueID","pushGeometry","removeGeometry","lastGeometry","getGeometries","getMeshByID","getMeshesByID","filter","getTransformNodeByID","getTransformNodeByUniqueID","getTransformNodesByID","getMeshByUniqueID","getLastEntryByID","getNodeByID","transformNode","bone","getNodeByName","getMeshByName","getTransformNodeByName","getSkeletonByUniqueId","getSkeletonById","getSkeletonByName","getMorphTargetById","managerIndex","numTargets","getTarget","getMorphTargetByName","getPostProcessByName","postProcessIndex","isActiveMesh","addExternalData","_externalData","getExternalData","getOrAddExternalDataWithFactory","factory","getOrAddWithFactory","removeExternalData","_evaluateSubMesh","initialMesh","hasInstances","alwaysSelectAsActiveMesh","hasRenderTargetTextures","getRenderTargetTextures","concatWithNoDuplicate","dispatch","freeProcessedMaterials","freeActiveMeshes","freeRenderingGroups","blockfreeActiveMeshesAndRenderingGroups","freezeActiveMeshes","skipEvaluateActiveMeshes","_evaluateActiveMeshes","unfreezeActiveMeshes","psLength","animate","_currentLODIsUpToDate","isBlocked","hasSpecificTriggers2","meshToRender","customLODSelector","_currentLOD","BILLBOARDMODE_NONE","_activate","_actAsRegularMesh","_activeMesh","particleIndex","particleSystem","isStarted","dispatchParticles","prepare","updateTransformMatrix","_bindFrameBuffer","_multiviewTexture","multiview","internalTexture","getInternalTexture","bindFramebuffer","restoreDefaultFramebuffer","_renderForCamera","rigParent","_skipRendering","setViewport","_rigCameras","softwareSkinnedMeshIndex","needRebind","renderIndex","renderTarget","_shouldRender","hasSpecialRenderTargetCamera","_prepareFrame","_finalizeFrame","isIntermediate","_processSubCameras","cameraRigMode","RIG_MODE_NONE","_useMultiviewToSingleView","_renderMultiviewToSingleView","_checkIntersections","actionIndex","trigger","parameters","getTriggerParameter","otherMesh","areIntersecting","intersectsMesh","usePreciseIntersection","currentIntersectionInProgress","_intersectionsInProgress","_executeCurrent","parameter","parameterMesh","_advancePhysicsEngineStep","_animate","deltaTime","MinDeltaTime","MaxDeltaTime","defaultFrameTime","defaultFPS","stepsTaken","maxSubSteps","internalSteps","updateCameras","ignoreAnimations","isDisposed","fetchNewFrame","cameraIndex","currentActiveCamera","customIndex","RIG_MODE_CUSTOM","afterRender","freezeMaterials","freeze","unfreezeMaterials","unfreeze","beforeRender","stopAllAnimations","wipeCaches","clearCachedVertexData","meshIndex","vbName","_indices","_vertexBuffers","cleanCachedTextureBuffer","baseTexture","getWorldExtends","filterPredicate","boundingInfo","minBox","maxBox","cameraViewSpace","createPickingRayToRef","createPickingRayInCameraSpace","createPickingRayInCameraSpaceToRef","fastCheck","trianglePredicate","pickWithBoundingInfo","pickWithRay","multiPick","multiPickWithRay","_getByTags","list","tagsQuery","listByTags","item","MatchesQuery","getMeshesByTags","getCamerasByTags","getLightsByTags","getMaterialByTags","getTransformNodesByTags","setRenderingOrder","renderingGroupId","opaqueSortCompareFn","alphaTestSortCompareFn","transparentSortCompareFn","setRenderingAutoClearDepthStencil","autoClearDepthStencil","stencil","getAutoClearDepthStencilSetup","markAsDirty","useOfflineSupport","_requestFile","onOpened","RequestFile","_requestFileAsync","_readFile","_readFileAsync","FOGMODE_EXP","FOGMODE_EXP2","FOGMODE_LINEAR","ownKeys","enumerableOnly","keys","symbols","sym","_objectSpread2","getOwnPropertyDescriptors","defineProperties","fragmentUrl","reusable","vertexUrl","blockCompilation","textureFormat","nodeMaterialSource","enablePixelPerfectMode","forceFullscreenViewport","scaleMode","alwaysForcePOT","_samples","adaptScaleToCurrentViewport","_reusable","_scaleRatio","_texelSize","onActivateObservable","onSizeChangedObservable","onApplyObservable","_camera","attachPostProcess","_options","renderTargetSamplingMode","_textureType","_textureFormat","_fragmentUrl","_vertexUrl","_parameters","updateEffect","getEffectName","_onActivateObserver","_onSizeChangedObserver","_onApplyObserver","_forcedOutputTexture","restoreDefaultInputTexture","getCamera","_shareOutputWithPostProcess","texelSize","_effect","shareOutputWith","_disposeTextures","useOwnOutput","uniforms","createEffect","isReusable","markTextureDirty","activate","sourceTexture","forceDepthStencil","maxSize","maxTextureSize","requiredWidth","requiredHeight","webVRCamera","leftCamera","rightCamera","desiredWidth","desiredHeight","needMipMaps","needPOTTextures","GetExponentOfTwo","textureSize","textureOptions","isStencilEnable","inputTexture","isSupported","aspectRatio","enableEffect","alphaConstants","setAlphaConstants","setPrePassRenderer","_prePassEffectConfiguration","addEffectConfiguration","detachPostProcess","firstPostProcess","_getFirstPostProcess","cameraId","parsedPostProcess","postProcessType","_Parse","PostProcess","Space","Coordinate","setActiveOnSceneIfNoneActive","_position","_upVector","orthoLeft","orthoRight","orthoBottom","orthoTop","minZ","inertia","mode","Camera","PERSPECTIVE_CAMERA","fovMode","FOVMODE_VERTICAL_FIXED","onViewMatrixChangedObservable","onProjectionMatrixChangedObservable","onAfterCheckInputsObservable","onRestoreStateObservable","isRigCamera","_webvrViewMatrix","_globalPosition","_computedViewMatrix","_doNotComputeProjectionMatrix","_refreshFrustumPlanes","_isCamera","_isLeftCamera","_isRightCamera","newPosition","storeState","_stateStored","_storedFov","_restoreStateValues","restoreState","pp","_initCache","_cache","upVector","renderWidth","renderHeight","_updateCache","ignoreParentClass","_isSynchronized","_isSynchronizedViewMatrix","_isSynchronizedProjectionMatrix","isSynchronizedWithParent","ignored","noPreventDefault","_checkInputs","_updateRigCameras","_rigPostProcess","ppIndex","_cascadePostProcessesToRigCams","cam","rigPostProcess","insertAt","_worldMatrix","_getViewMatrix","updateCache","_childUpdateId","_cameraRigParams","vrPreViewMatrix","freezeProjectionMatrix","unfreezeProjectionMatrix","reverseDepth","useReverseDepthBuffer","halfWidth","getTransformationMatrix","_updateFrustumPlanes","checkRigCameras","rigCameras","isCompletelyInFrustum","getForwardRay","getForwardRayToRef","refRay","inputs","getLeftTarget","getRightTarget","setCameraRigMode","rigParams","interaxialDistance","stereoHalfAngle","createRigCamera","RIG_MODE_STEREOSCOPIC_ANAGLYPH","_setStereoscopicAnaglyphRigMode","RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL","RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED","RIG_MODE_STEREOSCOPIC_OVERUNDER","RIG_MODE_STEREOSCOPIC_INTERLACED","_setStereoscopicRigMode","RIG_MODE_VR","_setVRRigMode","RIG_MODE_WEBVR","_setWebVRRigMode","_getVRProjectionMatrix","vrMetrics","aspectRatioFov","vrWorkMatrix","vrHMatrix","_updateCameraRotationMatrix","_updateWebVRCameraRotationMatrix","_getWebVRProjectionMatrix","_getWebVRViewMatrix","setCameraRigParameter","_setupInputs","GetConstructorFromName","isStereoscopicSideBySide","getDirection","localAxis","getDirectionToRef","interaxial_distance","constructorFunc","Construct","_createDefaultParsedCamera","parsedCamera","construct","setPosition","setTarget","ORTHOGRAPHIC_CAMERA","FOVMODE_HORIZONTAL_FIXED","ForceAttachControlToAlwaysPreventDefault","targetProperty","framePerSecond","dataType","loopMode","enableBlending","_runtimeAnimations","_events","blendingSpeed","targetPropertyPath","Animation","ANIMATIONLOOPMODE_CYCLE","_PrepareAnimation","totalFrame","easingFunction","parseFloat","isFinite","ANIMATIONTYPE_FLOAT","ANIMATIONTYPE_QUATERNION","ANIMATIONTYPE_VECTOR3","ANIMATIONTYPE_VECTOR2","ANIMATIONTYPE_COLOR3","ANIMATIONTYPE_COLOR4","ANIMATIONTYPE_SIZE","frame","setKeys","setEasingFunction","CreateAnimation","animationType","ANIMATIONLOOPMODE_CONSTANT","CreateAndStartAnimation","node","onAnimationEnd","beginDirectAnimation","CreateAndStartHierarchyAnimation","directDescendantsOnly","beginDirectHierarchyAnimation","CreateMergeAndStartAnimation","MakeAnimationAdditive","sourceAnimation","referenceFrame","range","cloneOriginal","clonedName","_keys","startIndex","firstKey","endIndex","lastKey","valueStore","referenceValue","referencePosition","referenceQuaternion","referenceScaling","keyPosition","keyQuaternion","keyScaling","referenceFound","rangeValue","getRange","fromKeyFound","toKeyFound","_getKeyValue","nextKey","animationState","repeatCount","_interpolate","ANIMATIONTYPE_MATRIX","TransitionTo","targetValue","host","frameRate","transition","duration","isStopped","first","addEvent","removeEvents","getEvents","createRange","deleteRange","deleteFrames","getKeys","getHighestFrame","nKeys","getEasingFunction","_easingFunction","floatInterpolateFunction","floatInterpolateFunctionWithTangents","outTangent","inTangent","quaternionInterpolateFunction","quaternionInterpolateFunctionWithTangents","vector3InterpolateFunction","vector3InterpolateFunctionWithTangents","vector2InterpolateFunction","vector2InterpolateFunctionWithTangents","sizeInterpolateFunction","color3InterpolateFunction","color4InterpolateFunction","currentFrame","highLimitValue","startKeyIndex","endKey","startKey","interpolation","STEP","useTangent","frameDelta","ease","floatValue","ANIMATIONLOOPMODE_RELATIVE","offsetValue","quatValue","vec3Value","vec2Value","AllowMatricesInterpolation","matrixInterpolateFunction","workValue","AllowMatrixDecomposeForInterpolation","join","loopBehavior","animationKey","_UniversalLerp","_inTangent","_outTangent","keyData","ParseFromFileAsync","readyState","status","responseText","output","serializedAnimation","send","CreateFromSnippetAsync","snippetId","snippet","jsonPayload","SnippetUrl","_AnimationRangeFactory","asyncGeneratorStep","gen","_next","_throw","arg","info","_asyncToGenerator","self","err","doNotAdd","shadowDepthWrapper","allowShaderHotSwapping","checkReadyOnEveryCall","checkReadyOnlyOnce","_alpha","_backFaceCulling","_onUnBindObservable","_onBindObserver","_alphaMode","_needDepthPrePass","disableDepthWrite","disableColorWrite","depthFunction","pointSize","_useUBO","_fillMode","Material","_cachedDepthWriteState","_cachedColorWriteState","_cachedDepthFunctionState","_forceAlphaTest","_transparencyMode","idSubscript","_uniformBuffer","MiscDirtyFlag","TextureDirtyFlag","onBindObservable","_onEffectCreatedObservable","LineListDrawMode","LineLoopDrawMode","LineStripDrawMode","PointListDrawMode","markDirty","MATERIAL_ALPHATESTANDBLEND","_markAllSubMeshesAsTexturesAndMiscDirty","MATERIAL_OPAQUE","MATERIAL_ALPHATEST","needAlphaBlending","_disableAlphaBlending","needAlphaTesting","_shouldTurnAlphaTestOn","getAlphaTestTexture","overrideOrientation","bindSceneUniformBuffer","sceneUbo","bindToEffect","bindView","bindViewProjection","_afterBind","setColorWrite","getBindedMeshes","meshId","forceCompilation","localOptions","currentHotSwapingState","checkReady","clipPlaneState","allDone","lastError","tempSubMesh","_materialDefines","forceCompilationAsync","reason","blockMaterialDirtyMechanism","_DirtyCallbackArray","_TextureDirtyCallBack","LightDirtyFlag","_LightsDirtyCallBack","FresnelDirtyFlag","_FresnelDirtyCallBack","AttributesDirtyFlag","_AttributeDirtyCallBack","_MiscDirtyCallBack","PrePassDirtyFlag","_PrePassDirtyCallBack","_markAllSubMeshesAsDirty","_RunDirtyCallBacks","_markScenePrePassDirty","enablePrePassRenderer","_markAllSubMeshesAsAllDirty","_AllDirtyCallBack","_markAllSubMeshesAsImageProcessingDirty","_ImageProcessingDirtyCallBack","_markAllSubMeshesAsTexturesDirty","_markAllSubMeshesAsFresnelDirty","_markAllSubMeshesAsFresnelAndMiscDirty","_FresnelAndMiscDirtyCallBack","_markAllSubMeshesAsLightsDirty","_markAllSubMeshesAsAttributesDirty","_markAllSubMeshesAsMiscDirty","_markAllSubMeshesAsPrePassDirty","_TextureAndMiscDirtyCallBack","forceDisposeEffect","forceDisposeTextures","notBoundToMesh","releaseVertexArrayObject","_releaseVertexArrayObject","_materialEffect","parsedMaterial","overloadedAlbedo","BABYLON","LegacyPBRMaterial","TriangleStripDrawMode","TriangleFanDrawMode","AllDirtyFlag","MATERIAL_ALPHABLEND","MATERIAL_NORMALBLENDMETHOD_WHITEOUT","MATERIAL_NORMALBLENDMETHOD_RNM","capitalize","string","_formatMuiErrorMessage","charAt","postProcessor","drawBuffersExtension","forcePOTTextures","preventCacheWipeBetweenFrames","validateShaderPrograms","disableUniformBuffers","_uniformBuffers","_highPrecisionShadersAllowed","onContextLostObservable","onContextRestoredObservable","_doNotHandleContextLost","disableVertexArrayObjects","_colorWrite","_colorWriteChanged","_alphaState","_alphaEquation","_internalTexturesCache","_activeChannel","_currentTextureChannel","_boundTexturesCache","_compiledEffects","_vertexAttribArraysEnabled","_uintIndicesCurrentlySet","_currentBoundBuffer","_currentFramebuffer","_dummyFramebuffer","_currentBufferPointers","_currentInstanceLocations","_currentInstanceBuffers","_vaoRecordInProgress","_mustWipeVertexAttributes","_nextFreeTextureSlots","_maxSimultaneousTextures","_transformTextureUrl","hostInformation","isMobile","premultipliedAlpha","_viewportCached","_unpackFlipYCached","enableUnpackFlipYCached","_getDepthStencilBuffer","msInternalFormat","attachment","depthStencilBuffer","renderbufferStorage","SetMatrixPrecision","useHighPrecisionMatrix","preserveDrawingBuffer","xrCompatible","doNotHandleContextLost","ua","ThinEngine","ExceptionList","targets","RegExp","capture","captureConstraint","constraint","matches","exec","_onContextLost","_onContextRestored","_initGLContext","_rebuildEffects","_rebuildInternalTextures","powerPreference","disableWebGL2Support","deleteQuery","getContextAttributes","pixelStorei","UNPACK_COLORSPACE_CONVERSION_WEBGL","useHighPrecisionFloats","devicePixelRatio","limitDeviceRatio","_hardwareScalingLevel","_isStencilEnable","_caps","BufferPointer","WebGLShaderProcessor","description","parallelShaderCompile","highPrecisionShaderSupported","dimensions","_framebufferDimensionsObject","_emptyTexture","createRawTexture","_emptyTexture3D","createRawTexture3D","_emptyTexture2DArray","createRawTexture2DArray","_emptyCubeTexture","faceData","cubeData","createRawCubeTexture","maxTexturesImageUnits","getParameter","MAX_TEXTURE_IMAGE_UNITS","maxCombinedTexturesImageUnits","MAX_COMBINED_TEXTURE_IMAGE_UNITS","maxVertexTextureImageUnits","MAX_VERTEX_TEXTURE_IMAGE_UNITS","MAX_TEXTURE_SIZE","maxSamples","MAX_SAMPLES","maxCubemapTextureSize","MAX_CUBE_MAP_TEXTURE_SIZE","maxRenderTextureSize","MAX_RENDERBUFFER_SIZE","MAX_VERTEX_ATTRIBS","maxVaryingVectors","MAX_VARYING_VECTORS","maxFragmentUniformVectors","MAX_FRAGMENT_UNIFORM_VECTORS","maxVertexUniformVectors","MAX_VERTEX_UNIFORM_VECTORS","getExtension","standardDerivatives","maxAnisotropy","astc","bptc","s3tc","pvrtc","etc1","etc2","textureAnisotropicFilterExtension","uintIndices","fragmentDepthSupported","timerQuery","canUseTimestampForTimerQuery","colorBufferFloat","textureFloat","textureHalfFloat","vertexArrayObject","textureLOD","blendMinMax","oculusMultiview","depthTextureExtension","_glVersion","VERSION","rendererInfo","_glRenderer","UNMASKED_RENDERER_WEBGL","_glVendor","UNMASKED_VENDOR_WEBGL","HALF_FLOAT_OES","RGBA16F","RGBA32F","DEPTH24_STENCIL8","getQuery","getQueryEXT","TIMESTAMP_EXT","QUERY_COUNTER_BITS_EXT","MAX_TEXTURE_MAX_ANISOTROPY_EXT","_canRenderToFloatFramebuffer","_canRenderToHalfFloatFramebuffer","drawBuffers","drawBuffersWEBGL","DRAW_FRAMEBUFFER","UNSIGNED_INT_24_8","UNSIGNED_INT_24_8_WEBGL","vertexArrayObjectExtension","createVertexArray","createVertexArrayOES","bindVertexArray","bindVertexArrayOES","deleteVertexArray","deleteVertexArrayOES","instanceExtension","drawArraysInstanced","drawArraysInstancedANGLE","drawElementsInstanced","drawElementsInstancedANGLE","vertexAttribDivisor","vertexAttribDivisorANGLE","getShaderPrecisionFormat","vertex_highp","VERTEX_SHADER","HIGH_FLOAT","fragment_highp","FRAGMENT_SHADER","blendMinMaxExtension","MAX","MAX_EXT","MIN","MIN_EXT","slot","_prepareWorkingCanvas","_workingCanvas","_workingContext","resetTextureCache","getGlInfo","vendor","renderer","setHardwareScalingLevel","getHardwareScalingLevel","getLoadedTexturesCache","stopRenderLoop","ownerDocument","defaultView","_currentRenderTarget","framebufferWidth","drawingBufferWidth","framebufferHeight","drawingBufferHeight","bindedRenderFunction","requester","QueueNewFrame","runRenderLoop","backBuffer","applyStates","COLOR_BUFFER_BIT","clearDepth","DEPTH_BUFFER_BIT","clearStencil","STENCIL_BUFFER_BIT","flushFramebuffer","clientWidth","innerWidth","clientHeight","innerHeight","lodLevel","layer","is2DArray","framebufferTextureLayer","_webGLTexture","framebufferTexture2D","_depthStencilTexture","DEPTH_STENCIL_ATTACHMENT","DEPTH_ATTACHMENT","disableGenerateMipMaps","onBeforeUnbind","_textureArray","unBindMultiColorAttachmentFramebuffer","READ_FRAMEBUFFER","blitFramebuffer","NEAREST","_resetVertexBufferBinding","_cachedVertexBuffers","_createVertexBuffer","STATIC_DRAW","usage","vbo","dataBuffer","_resetIndexBufferBinding","bindIndexBuffer","_cachedIndexBuffer","createIndexBuffer","_normalizeIndexData","ELEMENT_ARRAY_BUFFER","is32Bits","_unbindVertexArrayObject","uniformLocation","getUniformBlockIndex","uniformBlockBinding","underlyingResource","updateArrayBuffer","bufferSubData","_vertexAttribPointer","indx","pointer","active","vertexAttribPointer","_bindIndexBufferWithCache","indexBuffer","_bindVertexBuffersAttributes","vertexBuffers","unbindAllAttributes","enableVertexAttribArray","recordVertexArrayObject","vao","bindVertexArrayObject","_cachedVertexArrayObject","bindBuffersDirectly","vertexDeclaration","vertexStrideSize","_cachedEffectForVertexBuffers","attributesCount","bindBuffers","boundBuffer","ul","offsetLocation","updateAndBindInstancesBuffer","offsetLocations","bindInstancesBuffer","attributesInfo","computeStride","ai","attributeSize","_currentEffect","attributeName","attributeType","disableInstanceAttributeByName","attributeLocation","disableInstanceAttribute","shouldClean","disableAttributeByIndex","disableVertexAttribArray","draw","useTriangles","drawPointClouds","drawUnIndexed","drawMode","_drawMode","indexFormat","mult","drawElements","drawArrays","TRIANGLES","POINTS","LINES","LINE_LOOP","LINE_STRIP","TRIANGLE_STRIP","TRIANGLE_FAN","__SPECTOR_rebuildProgram","deleteProgram","vertexToken","fragmentToken","compiledEffect","_ConcatenateShader","shaderVersion","_compileShader","_compileRawShader","createShader","shaderSource","compileShader","_getShaderSource","createRawShaderProgram","getProgramParameter","LINK_STATUS","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","vertexCompilationError","fragmentCompilationError","getProgramInfoLog","programLinkError","validateProgram","VALIDATE_STATUS","programValidationError","deleteShader","createAsRaw","webGLRenderingState","_isRenderingStateCompiled","COMPLETION_STATUS_KHR","oldHandler","getUniformLocation","getAttribLocation","uniform1i","uniform1iv","uniform2iv","uniform3iv","uniform4iv","uniform1fv","uniform2fv","uniform3fv","uniform4fv","uniformMatrix4fv","uniformMatrix3fv","uniformMatrix2fv","uniform1f","uniform2f","uniform3f","uniform4f","colorMask","clearInternalTexturesCache","bruteForce","_currentProgram","UNPACK_PREMULTIPLY_ALPHA_WEBGL","_getSamplingParameters","magFilter","minFilter","LINEAR_MIPMAP_NEAREST","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","mag","_createTexture","fallback","forcedExtension","fromData","fromBlob","isBase64","Url","originalUrl","_originalUrl","lastDot","extension","loader","_TextureLoaders","availableLoader","canLoad","onLoadObserver","onInternalError","loadData","loadMipmap","isCompressed","loadFailed","_prepareWebGLTexture","isView","responseURL","potWidth","potHeight","continuationCallback","isPot","RGB","RGBA","_supportsHardwareTextureRescaling","Temp","decoding","close","_FileToolsLoadImage","compression","UNPACK_FLIP_Y_WEBGL","_getUnpackAlignement","UNPACK_ALIGNMENT","_getTextureTarget","is3D","TEXTURE_3D","isMultiview","TEXTURE_2D_ARRAY","updateTextureSamplingMode","filters","_setTextureParameterInteger","updateTextureWrappingMode","_getTextureWrapMode","TEXTURE_WRAP_R","_setupDepthStencilTexture","generateStencil","bilinearFiltering","layers","baseWidth","baseHeight","samplingParameters","_uploadCompressedDataToTextureDirectly","compressedTexImage2D","_uploadDataToTextureDirectly","babylonInternalFormat","useTextureWidthAndHeight","lodMaxWidth","round","lodMaxHeight","updateTextureData","xOffset","yOffset","texSubImage2D","_uploadArrayBufferViewToTexture","_prepareWebGLTextureContinuation","processFunction","DEPTH_STENCIL","depthFormat","DEPTH_COMPONENT16","DEPTH_COMPONENT32F","STENCIL_INDEX8","STENCIL_ATTACHMENT","_releaseFramebufferObjects","_deleteTexture","unbindAllTextures","_lodTextureHigh","_lodTextureMid","_lodTextureLow","_irradianceTexture","deleteTexture","_setProgram","useProgram","_activateCurrentTexture","activeTexture","TEXTURE0","forTextureDataUpdate","wasPreviouslyBound","isTextureForRendering","_associatedChannel","bindTexture","_colorTextureArray","_bindSamplerUniformToChannel","sourceSlot","_currentState","REPEAT","MIRRORED_REPEAT","isPartOfTextureArray","video","emptyCubeTexture","emptyTexture3D","emptyTexture2DArray","emptyTexture","needToBind","textureWrapMode","_setAnisotropicLevel","anisotropicFilteringLevel","_textureUnits","anisotropicFilterExtension","_cachedAnisotropicFilteringLevel","_setTextureParameterFloat","TEXTURE_MAX_ANISOTROPY_EXT","texParameterf","releaseEffects","attachContextLostEvent","attachContextRestoredEvent","getError","_canRenderToFramebuffer","NO_ERROR","successful","fb","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","readFormat","readType","UNSIGNED_SHORT_4_4_4_4","UNSIGNED_SHORT_5_5_5_1","UNSIGNED_SHORT_5_6_5","HALF_FLOAT","UNSIGNED_INT_2_10_10_10_REV","UNSIGNED_INT_10F_11F_11F_REV","UNSIGNED_INT_5_9_9_9_REV","FLOAT_32_UNSIGNED_INT_24_8_REV","ALPHA","LUMINANCE","LUMINANCE_ALPHA","RED","RG","RED_INTEGER","RG_INTEGER","RGB_INTEGER","RGBA_INTEGER","R8_SNORM","RG8_SNORM","RGB8_SNORM","R8I","RG8I","RGB8I","RGBA8I","RGBA8_SNORM","R8","RG8","RGB8","RGBA8","R8UI","RG8UI","RGB8UI","RGBA8UI","R16I","RG16I","RGB16I","RGBA16I","R16UI","RG16UI","RGB16UI","RGBA16UI","R32I","RG32I","RGB32I","RGBA32I","R32UI","RG32UI","RGB32UI","RGBA32UI","R32F","RG32F","RGB32F","R16F","RG16F","RGB16F","RGB565","R11F_G11F_B10F","RGB9_E5","RGBA4","RGB5_A1","RGB10_A2","RGB10_A2UI","_FileToolsLoadFile","hasAlpha","numChannels","_HasMajorPerformanceCaveat","_IsSupported","tempcanvas","WebGLRenderingContext","failIfMajorPerformanceCaveat","CeilingPOT","FloorPOT","NearestPOT","pot","requestPostAnimationFrame","requestAnimationFrame","msRequestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","CollisionsEpsilon","getPath","acc","prop","_options$cssProperty","cssProperty","themeKey","props","propValue","themeMapping","theme","handleBreakpoints","propValueFinal","_defineProperty","propTypes","filterProps","ToGammaSpace","ToLinearSpace","Epsilon","InternalTextureSource","delayAllocation","baseDepth","Unknown","_bufferView","_bufferViewArray","_bufferViewArrayArray","_extension","_files","_attachments","_isDisabled","_compression","_sphericalPolynomial","_lodGenerationScale","_lodGenerationOffset","_depthStencilTextureArray","_isRGBD","_linearSpecularLOD","_references","_gammaSpace","incrementReferences","updateSize","proxy","_swapAndDie","Raw","Raw3D","Raw2DArray","Dynamic","createDynamicTexture","updateDynamicTexture","RenderTarget","createRenderTargetCubeTexture","Depth","depthTextureOptions","createDepthStencilTexture","Cube","createCubeTexture","CubeRaw","CubeRawRGBD","InternalTexture","_UpdateRGBDAsync","CubePrefiltered","createPrefilteredCubeTexture","sphericalPolynomial","lodScale","lodOffset","_doNotSerialize","_isEnabled","_isParentEnabled","_parentUpdateId","_parentNode","_children","_worldMatrixDeterminant","_worldMatrixDeterminantIsDirty","_sceneRootNodesIndex","_isNode","_behaviors","AddNodeConstructor","_NodeConstructors","previousParentNode","_syncParentEnabledState","rootNodes","lastIdx","animationPropertiesOverride","addBehavior","behavior","attachImmediately","attach","removeBehavior","detach","getBehaviorByName","isSynchronized","initialCall","_markSyncedWithParent","checkAncestors","isDescendantOf","ancestor","_getDescendants","cullingStrategy","getChildren","_setReady","getAnimationByName","Node","nAnimations","deleteAnimationRange","getAnimationRange","getAnimationRanges","animationRanges","speedRatio","serializationRanges","localRange","parsedNode","getHierarchyBoundingVectors","includeDescendants","thisAbstractMesh","childMesh","onCreatedEffectParameters","MAINUV1","MAINUV2","DIFFUSE","DIFFUSEDIRECTUV","DETAIL","DETAILDIRECTUV","DETAIL_NORMALBLENDMETHOD","AMBIENT","AMBIENTDIRECTUV","OPACITY","OPACITYDIRECTUV","OPACITYRGB","REFLECTION","EMISSIVE","EMISSIVEDIRECTUV","SPECULAR","SPECULARDIRECTUV","BUMP","BUMPDIRECTUV","PARALLAX","PARALLAXOCCLUSION","SPECULAROVERALPHA","CLIPPLANE","CLIPPLANE2","CLIPPLANE3","CLIPPLANE4","CLIPPLANE5","CLIPPLANE6","ALPHATEST","DEPTHPREPASS","ALPHAFROMDIFFUSE","POINTSIZE","FOG","SPECULARTERM","DIFFUSEFRESNEL","OPACITYFRESNEL","REFLECTIONFRESNEL","REFRACTIONFRESNEL","EMISSIVEFRESNEL","FRESNEL","NORMAL","UV1","UV2","VERTEXCOLOR","VERTEXALPHA","NUM_BONE_INFLUENCERS","BonesPerMesh","BONETEXTURE","BONES_VELOCITY_ENABLED","INSTANCES","THIN_INSTANCES","GLOSSINESS","ROUGHNESS","EMISSIVEASILLUMINATION","LINKEMISSIVEWITHDIFFUSE","REFLECTIONFRESNELFROMSPECULAR","LIGHTMAP","LIGHTMAPDIRECTUV","OBJECTSPACE_NORMALMAP","USELIGHTMAPASSHADOWMAP","REFLECTIONMAP_3D","REFLECTIONMAP_SPHERICAL","REFLECTIONMAP_PLANAR","REFLECTIONMAP_CUBIC","USE_LOCAL_REFLECTIONMAP_CUBIC","REFLECTIONMAP_PROJECTION","REFLECTIONMAP_SKYBOX","REFLECTIONMAP_EXPLICIT","REFLECTIONMAP_EQUIRECTANGULAR","REFLECTIONMAP_EQUIRECTANGULAR_FIXED","REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED","INVERTCUBICMAP","LOGARITHMICDEPTH","REFRACTION","REFRACTIONMAP_3D","REFLECTIONOVERALPHA","TWOSIDEDLIGHTING","SHADOWFLOAT","MORPHTARGETS","MORPHTARGETS_NORMAL","MORPHTARGETS_TANGENT","MORPHTARGETS_UV","NONUNIFORMSCALING","PREMULTIPLYALPHA","ALPHATEST_AFTERALLALPHACOMPUTATIONS","ALPHABLEND","PREPASS_IRRADIANCE","PREPASS_IRRADIANCE_INDEX","PREPASS_ALBEDO","PREPASS_ALBEDO_INDEX","PREPASS_DEPTHNORMAL","PREPASS_DEPTHNORMAL_INDEX","PREPASS_POSITION","PREPASS_POSITION_INDEX","PREPASS_VELOCITY","PREPASS_VELOCITY_INDEX","PREPASS_REFLECTIVITY","PREPASS_REFLECTIVITY_INDEX","RGBDLIGHTMAP","RGBDREFLECTION","RGBDREFRACTION","IMAGEPROCESSING","VIGNETTE","VIGNETTEBLENDMODEMULTIPLY","VIGNETTEBLENDMODEOPAQUE","TONEMAPPING","TONEMAPPING_ACES","CONTRAST","COLORCURVES","COLORGRADING","COLORGRADING3D","SAMPLER3DGREENDEPTH","SAMPLER3DBGRMAP","IMAGEPROCESSINGPOSTPROCESS","IS_REFLECTION_LINEAR","IS_REFRACTION_LINEAR","EXPOSURE","setReflectionMode","modeToEnable","_diffuseTexture","_ambientTexture","_opacityTexture","_reflectionTexture","_emissiveTexture","_specularTexture","_bumpTexture","_lightmapTexture","_refractionTexture","diffuseColor","specularColor","emissiveColor","specularPower","_useAlphaFromDiffuseTexture","_useEmissiveAsIllumination","_linkEmissiveWithDiffuse","_useSpecularOverAlpha","_useReflectionOverAlpha","_disableLighting","_useObjectSpaceNormalMap","_useParallax","_useParallaxOcclusion","parallaxScaleBias","_roughness","indexOfRefraction","invertRefractionY","alphaCutOff","_useLightmapAsShadowmap","_useReflectionFresnelFromSpecular","_useGlossinessFromSpecularMapAlpha","_maxSimultaneousLights","_invertNormalMapX","_invertNormalMapY","_twoSidedLighting","detailMap","_worldViewProjectionMatrix","_globalAmbientColor","_rebuildInParallel","_attachImageProcessingConfiguration","StandardMaterial","ReflectionTextureEnabled","RefractionTextureEnabled","configuration","_imageProcessingObserver","onUpdateParameters","imageProcessingConfiguration","colorCurvesEnabled","colorGradingEnabled","toneMappingEnabled","exposure","contrast","colorGradingTexture","colorCurves","_useLogarithmicDepth","_shouldUseAlphaFromDiffuseTexture","_opacityFresnelParameters","_hasAlphaChannel","_isReadyForSubMesh","_areTexturesDirty","texturesEnabled","DiffuseTextureEnabled","isReadyOrNotBlocking","AmbientTextureEnabled","OpacityTextureEnabled","getAlphaFromRGB","isRGBD","boundingBoxSize","EmissiveTextureEnabled","LightmapTextureEnabled","SpecularTextureEnabled","BumpTextureEnabled","transparencyMode","_areImageProcessingDirty","reflectionTexture","gammaSpace","refractionTexture","_areFresnelDirty","FresnelEnabled","_diffuseFresnelParameters","_emissiveFresnelParameters","_refractionFresnelParameters","_reflectionFresnelParameters","isDirty","lightDisposed","_areLightsDisposed","markAsProcessed","shaderName","uniformBuffers","AddUniforms","AddSamplers","PrepareUniforms","PrepareSamplers","csnrOptions","customShaderNameResolve","previousEffect","maxSimultaneousMorphTargets","setEffect","buildUniformLayout","ubo","PrepareUniformBuffer","_activeEffect","needFlag","_normalMatrix","bindOnlyNormalMatrix","mustRebind","_mustRebind","isSync","diffuseFresnelParameters","updateColor4","leftColor","power","rightColor","opacityFresnelParameters","reflectionFresnelParameters","refractionFresnelParameters","emissiveFresnelParameters","updateFloat2","roughness","updateVector3","boundingBoxPosition","updateFloat3","updateFloat4","updateFloat","updateColor3","BlackReadOnly","applyByPostProcess","activeTextures","DetailTextureEnabled","ColorGradingTextureEnabled","facetNb","partitioningSubdivisions","partitioningBBoxRatio","facetDataEnabled","facetParameters","facetDepthSort","facetDepthSortEnabled","_hasVertexAlpha","_useVertexColors","_numBoneInfluencers","_applyFog","_receiveShadows","_facetData","_FacetDataStorage","_visibility","_skeleton","_layerMask","_InternalAbstractMeshDataInfo","AbstractMesh","CULLINGSTRATEGY_BOUNDINGSPHERE_ONLY","onCollideObservable","onCollisionPositionChangeObservable","onMaterialChangedObservable","definedFacingForward","_occlusionQuery","_renderingGroupId","_material","outlineColor","outlineWidth","useOctreeForRenderingSelection","useOctreeForPicking","useOctreeForCollisions","_meshCollisionData","ellipsoid","ellipsoidOffset","edgesWidth","edgesColor","_edgesRenderer","_lightSources","_bonesTransformMatrices","_transformMatrixTexture","onRebuildObservable","_onCollisionPositionChange","collisionId","collidedMesh","_oldPositionForCollisions","_diffPositionForCollisions","BILLBOARDMODE_X","BILLBOARDMODE_Y","BILLBOARDMODE_Z","BILLBOARDMODE_ALL","BILLBOARDMODE_USE_POSITION","nb","facetDepthSortFrom","location","_updateNonUniformScalingState","_markSubMeshesAsMiscDirty","_onCollideObserver","_onCollisionPositionChangeObserver","_markSubMeshesAsLightDirty","_collisionMask","_collisionResponse","response","_collisionGroup","_surroundingMeshes","needInitialSkinMatrix","_unregisterMeshWithPoseMatrix","_registerMeshWithPoseMatrix","_isWorldMatrixFrozen","_getEffectiveParent","isRecursive","canAffectMesh","_resyncLightSource","isIn","removed","_markSubMeshesAsDirty","markAsLightDirty","_scaling","newScaling","_updateBoundingInfo","normalizeToUnitCube","ignoreRotation","setBoundingInfo","skeletonsEnabled","intermediateRendering","movePOV","amountRight","amountUp","amountForward","calcMovePOV","rotMatrix","translationDelta","defForwardMult","rotatePOV","flipBack","twirlClockwise","tiltRight","calcRotatePOV","extend","reConstruct","maximum","tempVector","absolutePosition","IsGlobal","updateBoundingInfo","overrideMesh","precise","intersects","intersectsPoint","_checkCollisions","collisionEnabled","_collider","moveWithCollisions","displacement","getAbsolutePosition","coordinator","collisionCoordinator","createCollider","_radius","getNewPosition","_collideForSubMesh","transformMatrix","collider","_lastColliderWorldVertices","_lastColliderTransformMatrix","_trianglePlanes","_collide","_processCollisionsForSubMeshes","_checkCollision","collisionsScalingMatrix","collisionsTransformMatrix","onlyBoundingInfo","worldToUse","skipBoundingInfo","pickingInfo","intersectionThreshold","intersectsSphere","intersectsBox","intersectInfo","anySubmeshSupportIntersect","canIntersects","currentIntersectInfo","worldOrigin","direction","pickedPoint","bu","bv","subMeshFaceId","faceId","includedOnlyMeshes","excludedMeshes","isOcclusionQueryInProgress","disableFacetData","onAfterWorldMatrixUpdateObservable","addChild","setParent","_initFacetData","updateFacetData","depthSortedIndices","needs32bits","facetDepthSortFunction","f1","f2","depthSortedFacet","invertedMatrix","facetDepthSortOrigin","getFacetLocalNormals","getFacetLocalPositions","getFacetLocalPartitioning","sind","facetData","getFacetPosition","getFacetPositionToRef","localPos","getFacetNormal","norm","getFacetNormalToRef","localNorm","getFacetsAtLocalCoordinates","getClosestFacetAtCoordinates","projected","checkFace","facing","invMat","invVect","closest","getClosestFacetAtLocalCoordinates","tmpx","tmpy","tmpz","t0","projx","projy","projz","facetsInBlock","fib","shortest","tmpDistance","getFacetDataParameters","createNormals","alignWithNormal","upDirection","axisX","axisZ","disableEdgesRendering","enableEdgesRendering","checkVerticesInsteadOfIndices","getConnectedParticleSystems","OCCLUSION_TYPE_NONE","OCCLUSION_TYPE_OPTIMISTIC","OCCLUSION_TYPE_STRICT","OCCLUSION_ALGORITHM_TYPE_ACCURATE","OCCLUSION_ALGORITHM_TYPE_CONSERVATIVE","CULLINGSTRATEGY_STANDARD","CULLINGSTRATEGY_OPTIMISTIC_INCLUSION","CULLINGSTRATEGY_OPTIMISTIC_INCLUSION_THEN_BSPHERE_ONLY","_slicedToArray","arrayWithHoles","_arr","_n","_d","_e","_s","_i","unsupportedIterableToArray","nonIterableRest","chainPropTypes","propType1","propType2","elementAcceptingRef","PropTypes","isRequired","exactProp","fnNameMatchRegex","getFunctionName","getFunctionComponentName","Component","displayName","getWrappedName","outerType","innerType","wrapperName","functionName","getDisplayName","_typeof","$$typeof","ForwardRef","Memo","HTMLElementType","propName","componentName","propFullName","Function","refType","oneOfType","writable","SceneLoaderAnimationGroupLoadingMode","ShowLoadingScreen","loggingLevel","CleanBoneMatrixWeights","GetDefaultPlugin","SceneLoader","_registeredPlugins","_GetPluginForExtension","registeredPlugin","_GetPluginForDirectLoad","plugin","canDirectLoad","_GetPluginForFilename","sceneFilename","queryStringPosition","dotPosition","_GetDirectLoad","_LoadData","fileInfo","onDispose","pluginExtension","directLoad","createPlugin","OnPluginActivatedObservable","catch","isBinary","dataCallback","pluginDisposed","manifestChecked","errorCallback","requestFile","FilesToLoad","canUseOfflineSupport","exceptionFound","readFile","_GetFileInfo","sceneFile","filename","GetPluginForExtension","IsPluginForExtensionAvailable","RegisterPlugin","extensions","ImportMesh","meshNames","loadingToken","disposeHandler","errorHandler","errorMessage","progressHandler","successHandler","rewriteRootURL","importMesh","syncedPlugin","loadingPluginName","importMeshAsync","ImportMeshAsync","Load","Append","LoadAsync","_showingLoadingScreen","loadAsync","AppendAsync","LoadAssetContainer","assets","loadAssetContainer","assetContainer","loadAssetContainerAsync","LoadAssetContainerAsync","ImportAnimations","overwriteAnimations","animationGroupLoadingMode","targetConverter","Clean","animatables","animationGroup","getNodes","Stop","stop","Sync","restart","NoSync","startingIndexForNewAnimatables","container","mergeAnimationsTo","ImportAnimationsAsync","NO_LOGGING","MINIMAL_LOGGING","SUMMARY_LOGGING","DETAILED_LOGGING","useForkRef","refA","refB","React","refValue","setRef","_createForOfIteratorHelper","allowArrayLike","it","F","normalCompletion","didErr","_e2","clamp","hexToRgb","re","rgbToHex","decomposeColor","int","intToHex","hslToRgb","rgb","recomposeColor","marker","getContrastRatio","foreground","background","lumA","getLuminance","lumB","emphasize","coefficient","darken","lighten","fade","CameraInputTypes","attachedToElement","attached","checkInputs","getSimpleName","_addCheckInputs","inputToRemove","rebuildInputCheck","removeByType","inputType","attachInput","attachElement","detachElement","disconnect","serializedCamera","inputsmgr","parsedInputs","parsedinput","filterIterable","concatIterables","Recoil_isPromise","Recoil_nullthrows","Canceled","CANCELED","loadableAccessors","valueMaybe","valueOrThrow","errorMaybe","errorOrThrow","promiseMaybe","promiseOrThrow","is","contents","loadableWithPromise","loadableWithValue","loadableWithError","getValue","toPromise","promise","__value","Recoil_Loadable","loadableLoading","loadableAll","every","some","find","all","Recoil_recoverableViolation","projectName","Recoil_CopyOnWrite","Set","iterable","Recoil_filterIterable","gks","Map","Recoil_gkx","gk","_gks$get","setPass","setFail","Recoil_gkx_1","Recoil_mapIterable","Recoil_expectationViolation","AbstractRecoilValue","newKey","RecoilState","RecoilValueReadOnly","Recoil_RecoilValue","isRecoilValue","Recoil_RecoilValue_1","Recoil_RecoilValue_2","Recoil_RecoilValue_3","Recoil_RecoilValue_4","Recoil_RecoilValue$1","DefaultValue","DEFAULT_VALUE","RecoilValueNotReady","nodes","recoilValues","NodeMissingError","configDeletionHandlers","getConfigDeletionHandler","Recoil_Node","registerNode","has","recoilValue","getNode","getNodeMaybe","deleteNodeConfigIfPossible","_node$shouldDeleteCon","_getConfigDeletionHan","shouldDeleteConfigOnRelease","delete","setConfigDeletionHandler","recoilValuesForKeys","RetentionZone","Recoil_RetentionZone","setByAddingToSet$1","getNode$1","getNodeMaybe$1","recoilValuesForKeys$1","RetentionZone$1","emptySet","ReadOnlyRecoilValueError","initializeNodeIfNewToStore","treeState","getState","nodeCleanupFunctions","config","retentionCleanup","nodeKey","retainedBy","nodesRetainedByZone","retention","addToZone","zone","deleteFromZone","initializeRetentionForNode","nodeCleanup","peekNodeLoadable","peek","getDownstreamNodes","visitedNodes","visitingNodes","graph","getGraph","_graph$nodeToNodeSubs","subscribedNodes","nodeToNodeSubscriptions","downstreamNode","Recoil_FunctionalCore","newValue","_state$nodeCleanupFun","_node$invalidate","invalidate","atomValues","nonvalidatedAtoms","dirtyAtoms","_graph$nodeDeps$get","_storeState$nodeToCom","_storeState$nodeToCom2","knownAtoms","knownSelectors","downstreamNodes","loadable","isActive","isSet","isModified","deps","nodeDeps","subscribers","components","nodeToComponentSubscriptions","CANCELED$1","getDownstreamNodes$1","getNodeLoadable$1","setNodeValue$1","getNodeMaybe$2","DefaultValue$1","RecoilValueNotReady$1","AbstractRecoilValue$1","RecoilState$1","RecoilValueReadOnly$1","isRecoilValue$1","applyAction","valueOrUpdater","valueFromValueOrUpdater","writes","entries","writeLoadableToTreeState","unvalidatedValue","applyActionsToStore","replaceState","newState","copyTreeState","invalidateDownstreams","queueOrPerformStateUpdate","batchStack","actionsByStore","downstreams","_getNodeMaybe","_getNodeMaybe$invalid","setRecoilValue","subscriptionID","Recoil_RecoilValueInterface","getRecoilValueAsLoadable","_storeState$nextTree","_storeState$previousT","currentTree","nextTree","previousTree","setRecoilValueLoadable","markRecoilValueModified","setUnvalidatedRecoilValue","subscribeToRecoilValue","componentDebugName","subID","release","subs","applyAtomValueWrites","batchStart","invalidateDownstreams_FOR_TESTING","unstable_batchedUpdates","reactDom","batchStart$1","batcher","Recoil_Batching","newBatcher","batchEnd","Recoil_Queue","enqueueExecution","Recoil_differenceSets","setsWithValuesToRemove","FIRST","otherSet","Recoil_mapMap","mergeDependencyMapIntoGraph","olderGraph","upstreams","downstream","existingUpstreams","upstream","existing","Recoil_Graph","dependencyMap","_storeState$previousT2","_storeState$previousT3","_storeState$nextTree2","nextVersion","hamt_1","createCommonjsModule","hamt","BUCKET_SIZE","MASK","MAX_INDEX_NODE","MIN_ARRAY_NODE","nothing","constant","hashFragment","shift","toBitmap","fromBitmap","bitmap","bit","arrayUpdate","mutate","at","out","arraySpliceOut","newLen","empty","__hamt_isEmpty","isEmptyNode","Leaf","edit","_modify","Leaf__modify","Collision","children","Collision__modify","IndexedNode","IndexedNode__modify","ArrayNode","ArrayNode__modify","mergeLeaves","h1","n1","h2","n2","subH1","subH2","canEditNode","keyEq","_v","_newValue","updateCollisionList","frag","exists","canEdit","newChildren","subNodes","expand","arraySpliceIn","newChild","elements","elem","pack","editable","root","_editable","_edit","_config","_root","setTree","newRoot","newSize","tryGetHash","alt","tryGet","getHash","hasHash","defKeyCompare","make","isEmpty","modifyHash","NaN","modify","setHash","del","removeHash","deleteHash","beginMutation","endMutation","transient","appk","lazyVisitChildren","lazyVisit","rest","DONE","MapIterator","visit","buildPairs","buildKeys","buildValues","fold","toVisit","BuiltInMap","_map","persistentMap","HashArrayMappedTrieMap","_hamt","Recoil_PersistentMap_1","graph$1","persistentMap$1","nextTreeStateVersion","getNextTreeStateVersion","makeEmptyTreeState","stateID","transactionMetadata","Recoil_State","commitDepth","transactionSubscriptions","nodeTransactionSubscriptions","queuedComponentCallbacks_DEPRECATED","suspendedComponentResolvers","graphsByVersion","versionsUsedByComponent","referenceCounts","retainablesToCheckForRelease","Recoil_unionSets","sets","Recoil_someSet","cleanUpNode$1","deleteNodeConfigIfPossible$1","getNode$2","RetentionZone$2","emptySet$1","releaseRetainablesNowOnCurrentTree","retainables","releasableNodes","searchFromNodes","nonReleasableNodes","findReleasableNodesInner","releasableNodesFoundThisIteration","doNotDescendInto1","doNotDescendInto2","answer","visited","getDownstreamNodesInTopologicalOrder","_storeState$retention","zonesThatCouldRetainNode","nodeChildren","parents","findReleasableNodes","releaseNode","zones","_storeState$retention2","dep","_storeState$retention3","updateRetainCountToZero","retainable","scheduleOrPerformPossibleReleaseOfRetainable","Recoil_Retention","delta","_map$get","newCount","iters","iter","Recoil_concatIterables","Recoil_Environment","isSSR","isReactNative","product","isSSR$1","batchUpdates$1","initializeNodeIfNewToStore$1","peekNodeInfo$1","graph$2","DEFAULT_VALUE$1","recoilValues$1","recoilValuesForKeys$2","AbstractRecoilValue$2","getRecoilValueAsLoadable$1","setRecoilValue$1","setUnvalidatedRecoilValue$1","updateRetainCount$1","getNextTreeStateVersion$1","makeEmptyStoreState$1","Snapshot","checkRefCount_INTERNAL","_store","getLoadable","opt","isInitialized","mapper","mutableSnapshot","MutableSnapshot","cloneSnapshot","getStore_INTERNAL","replacer","graphs","newGraph","subscribeToTransactions","addTransactionMetadata","retain","autorelease_INTERNAL","_refCount","released","release_INTERNAL","getID_INTERNAL","cloneStoreState","bumpVersion","snapshot","recoilState","newValueOrUpdater","Recoil_Snapshot","freshSnapshot","initializeState","Recoil_Snapshot_1","Recoil_Snapshot_2","Recoil_Snapshot_3","Recoil_Snapshot_4","Recoil_Snapshot$1","getNextTreeStateVersion$2","makeEmptyStoreState$2","cleanUpNode$2","getDownstreamNodes$2","setNodeValue$2","setUnvalidatedAtomValue_DEPRECATED$1","graph$3","cloneGraph$1","applyAtomValueWrites$1","releaseScheduledRetainablesNow$1","freshSnapshot$1","useCallback","react","useContext","useEffect","useMemo","useRef","useState","notInAContext","defaultStore","stateReplacerIsBeingExecuted","startNextTreeIfNeeded","AppContext","createContext","useStoreRef","MutableSourceContext","sendEndOfBatchNotifications","subscriptions","subscription","dependentNodes","comps","Batcher","setNotifyBatcherOfChange","storeRef","discardedVersion","nextID","RecoilRoot_INTERNAL","_createMutableSource","initializeState_DEPRECATED","storeProp","store_INTERNAL","notifyBatcherOfChange","createMutableSource","unstable_createMutableSource","replaced","initial","atom","writtenNodes","setUnvalidatedAtomValues","initialStoreState_DEPRECATED","initialStoreState","mutableSource","atomKey","Provider","Recoil_RecoilRoot_react","override","propsExceptOverride","ancestorStoreRef","Fragment","Recoil_filterMap","Recoil_filterSet","Recoil_invariant","_useMutableSource","Recoil_mergeMaps","maps","useMutableSource","unstable_useMutableSource","Recoil_mutableSource","mutableSourceExists","$disableRecoilValueMutableSource_TEMP_HACK_DO_NOT_USE","Recoil_shallowArrayEqual","useRef$1","Recoil_useComponentName","batchUpdates$2","DEFAULT_VALUE$2","getNode$3","nodes$1","useRecoilMutableSource$1","useStoreRef$1","AbstractRecoilValue$3","getRecoilValueAsLoadable$2","setRecoilValue$2","setRecoilValueLoadable$1","setUnvalidatedRecoilValue$2","subscribeToRecoilValue$1","updateRetainCount$2","RetentionZone$3","cloneSnapshot$1","isSSR$2","mutableSourceExists$1","useMutableSource$1","useCallback$1","useEffect$1","useRef$2","useState$1","SUSPENSE_TIMEOUT_MS","handleLoadable","useRecoilValueLoadable","useRetain","getLoadableWithTesting","subscribe","_storeState","newLoadable","prevLoadableRef","useRecoilValueLoadable_MUTABLESOURCE","_state","_prevLoadableRef$curr","_prevLoadableRef$curr2","useRecoilValueLoadable_LEGACY","useRecoilValue","useSetRecoilState","useTransactionSubscription","externallyVisibleAtomValuesInState","toMap","persistedAtomContentsValues","persistence","persistence_UNSTABLE","usePrevious","useGotoRecoilSnapshot","prev","keysToUpdate","_prev$atomValues$get","_next$atomValues$get","shouldRestoreFromSnapshots","Sentinel","SENTINEL","toRetain","timeoutID","previousRetainables","useRetain_ACTUAL","Recoil_Hooks","gotoSnapshot","errMsg","setSnapshot","previousSnapshot","previousAtomValues","atomInfo","_node$persistence_UNS","_node$persistence_UNS2","_node$persistence_UNS3","_node$persistence_UNS4","backButton","modifiedAtoms","peekNodeInfo$2","useStoreRef$2","Recoil_useGetRecoilValueInfo","RecoilRoot$1","useStoreRef$3","useMemo$2","Recoil_useRecoilBridgeAcrossReactRoots","stringify","includes","String","allowFunctions","_JSON$stringify","toJSON","localeCompare","Recoil_stableStringify","TreeCache","_options$onHit","_options$onSet","_options$mapNodeValue","_numLeafs","_onHit","onHit","_onSet","onSet","_mapNodeValue","mapNodeValue","getNodeValue","handlers","_this$getLeafNode","getLeafNode","findLeaf","onNodeVisit","route","leafNode","addLeaf","nodeValue","pruneNodeFromTree","branches","countDownstreamLeaves","_handlers$onNodeVisit","branchKey","_handlers$onNodeVisit2","pruneUpstreamBranches","branchNode","sum","currNode","Recoil_TreeCache_1","Recoil_TreeCache$1","Recoil_LRUCache_1","LRUCache","_options$mapKey","_maxSize","_head","_tail","_keyMapper","mapKey","mappedKey","_maybeDeleteLRU","deleteLru","tail","Recoil_LRUCache$1","LRUCache$1","TreeCache$1","Recoil_treeCacheLRU","lruCache","lruNode","TreeCache$2","defaultPolicy","equality","eviction","Infinity","getValueMapper","getTreeCache","Recoil_treeCacheFromPolicy","valueMapper","treeCache","Recoil_PerformanceTimings","CANCELED$2","Canceled$1","loadableWithError$1","loadableWithPromise$1","loadableWithValue$1","getNodeLoadable$2","peekNodeLoadable$1","setNodeValue$3","saveDependencyMapToStore$1","DEFAULT_VALUE$3","RecoilValueNotReady$2","getConfigDeletionHandler$1","registerNode$1","isRecoilValue$3","AbstractRecoilValue$4","setRecoilValueLoadable$2","retainedByOptionWithDefault$1","cloneSnapshot$2","startPerfBlock$1","dependencyStack","waitingStores","getNewExecutionId","executionId","Recoil_selector","cachePolicy","cachePolicy_UNSTABLE","retainedBy_UNSTABLE","executionInfoMap","liveStoresCount","selectorIsLive","getExecutionInfo","depValuesDiscoveredSoFarDuringAsyncWork","latestLoadable","latestExecutionId","stateVersion","selectorInit","selectorShouldDeleteConfigOnRelease","notifyStoreWhenAsyncSettles","stores","getCachedNodeLoadable","isKeyPointingToSelector","wrapPendingPromise","depValues","clearExecutionInfo","maybeFreezeValue","setCache","depValuesToDepRoute","setDepsInStore","setLoadableInStoreToNotifyDeps","__key","errorOrPromise","isLatestExecution","updateExecutionInfoDepValues","wrapPendingDependencyPromise","existingDeps","resolvedDep","resolvedDepKey","depValue","bypassSelectorDepCacheOnReevaluation","evaluateSelectorGetter","maybeFreezeLoadableContents","setExecutionInfo","notifyStoresOfSettledAsync","_store$getState","_store$getState$curre","_store$getState2","_store$getState2$next","_store$getState$nextT","_store$getState3","_store$getState3$next","setNewDepInStore","newDepKey","bypassSelectorDepCache","endPerfBlock","resultIsError","getRecoilValue","depKey","depLoadable","gateCallback","getCallback","finally","errorOrDepPromise","getValFromRunningNewExecutionAndUpdatedDeps","newExecutionId","newDepValues","depRoute","maybeSetCacheWithLoadable","getSelectorValAndUpdatedDeps","cachedVal","depsAfterCacheDone","executionInfo","getValFromCacheAndUpdatedDownstreamDeps","inProgressExecutionInfo","_Array$from$find","_executionInfo$depVal","_mapOfCheckedVersions","oldDepValues","cachedDepValuesCheckedForThisVersion","mapOfCheckedVersions","isCachedVersionSame","nodeVal","oldVal","haveAsyncDepsChanged","getExecutionInfoOfInProgressExecution","process","cacheRoute","selectorPeek","selectorGet","detectCircularDependencies","invalidateSelector","syncSelectorSetFinished","setRecoilState","dangerouslyAllowMutability","loadableWithError$2","loadableWithPromise$2","loadableWithValue$2","DEFAULT_VALUE$4","DefaultValue$2","getConfigDeletionHandler$2","registerNode$2","setConfigDeletionHandler$1","isRecoilValue$4","markRecoilValueModified$1","setRecoilValue$3","setRecoilValueLoadable$3","retainedByOptionWithDefault$2","baseAtom","defaultLoadable","default","cachedAnswerForUnvalidatedValue","cleanupEffectsByStore","_ref","_state$atomValues$get3","_cachedAnswerForUnval","nonvalidatedValue","validatorResult","validator","validatedValueLoadable","initState","alreadyKnown","notifyDefaultSubscribers","_store$getState$nextT3","initValue","pendingSetSelf","effects_UNSTABLE","duringInit","setSelf","currentValue","resetSelf","currentStore","_previousTree$atomVal","_pendingSetSelf","_pendingSetSelf2","_pendingSetSelf3","oldLoadable","oldValue","_options$effects_UNST","cleanup","_store$getState$nextT4","initLoadable","wrappedPromise","_state$atomValues$get","_store$getState$nextT2","_state$atomValues$get2","_cleanupEffectsByStor","optionsDefault","restOptions","base","storedValue","sel","baseValue","atomWithFallback","Recoil_atom","Recoil_MapCache_1","MapCache","Recoil_MapCache$1","LRUCache$2","MapCache$1","defaultPolicy$1","getValueMapper$1","getCache","Recoil_cacheFromPolicy","setConfigDeletionHandler$2","Recoil_atomFamily","_options$cachePolicyF","atomCache","cachePolicyForParams_UNSTABLE","params","_stableStringify","cachedAtom","atomOptions","newAtom","setConfigDeletionHandler$3","nextIndex","Recoil_selectorFamily","selectorCache","cachedSelector","newSelector","myKey","myGet","callbacks","myCachePolicy","constantSelector","Recoil_constSelector","throwingSelector","Recoil_errorSelector","Recoil_readOnlySelector","loadableWithError$3","loadableWithPromise$3","loadableWithValue$3","concurrentRequests","fill","exceptions","isError","exp","unwrapDependencies","dependencies","getOwnPropertyNames","getValueFromLoadablePromiseResult","wrapResults","wrapLoadables","Recoil_WaitFor","waitForNone","waitForAny","waitForAll","exceptionResults","syncResults","asyncResults","waitForAllSettled","noWait","dependency","batchUpdates$3","setBatcher$1","DefaultValue$3","RecoilRoot$2","isRecoilValue$5","retentionZone$1","freshSnapshot$2","Recoil_index","RecoilRoot","useRecoilBridgeAcrossReactRoots_UNSTABLE","selector","retentionZone","atomFamily","selectorFamily","constSelector","errorSelector","readOnlySelector","useRecoilState","useRecoilStateLoadable","useResetRecoilState","useGetRecoilValueInfo_UNSTABLE","useRecoilCallback","useRecoilSnapshot","useRecoilTransactionObserver_UNSTABLE","useTransactionObservation_UNSTABLE","useSetUnvalidatedAtomValues_UNSTABLE","batchUpdates","setBatcher","snapshot_UNSTABLE","Recoil_index_1","Recoil_index_2","Recoil_index_4","Recoil_index_5","Recoil_index_8","Recoil_index_12","Recoil_index_13","Recoil_index_14","Recoil_index_15","Recoil_index_16","doNotChangeAspectRatio","isMulti","renderParticles","renderSprites","ignoreCameraViewport","onBeforeBindObservable","onAfterUnbindObservable","onClearObservable","_currentRefreshId","_refreshRate","_coordinatesMode","_initialSizeParameter","_processSizeParameter","_resizeObserver","_generateMipMaps","_doNotChangeAspectRatio","_useSceneAutoClearSetup","_renderTargetOptions","getRenderSize","_textureMatrix","_renderList","_hookArray","oldPush","wasEmpty","oldSplice","deleteCount","deleted","_onAfterUnbindObserver","_onClearObserver","_onRatioRescale","_sizeRatio","_boundingBoxSize","_bestReflectionRenderTargetDimension","resetRefreshCounter","addPostProcess","_postProcessManager","clearPostProcesses","removePostProcess","refreshRate","getRenderLayers","wasCube","useCameraPostProcess","dumpForDebug","useCameraPostProcesses","renderListPredicate","sceneMeshes","_defaultRenderListPrepared","renderToTarget","face","renderDimension","curved","_prepareRenderingManager","currentRenderList","currentRenderListLength","checkLayerMask","customIsReadyFunction","isMasked","unbindFrameBuffer","defaultRenderList","defaultRenderListLength","getCustomRenderList","customRenderFunction","RenderTargetTexture","disposeFramebufferObjects","objBuffer","REFRESHRATE_RENDER_ONCE","REFRESHRATE_RENDER_ONEVERYFRAME","REFRESHRATE_RENDER_ONEVERYTWOFRAMES","SmartArray","_GlobalId","compareFn","contains","_duplicateId","__smartArrayFlags","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","EndsWith","suffix","Decode","TextDecoder","decode","fromCharCode","chr1","chr2","chr3","enc1","enc2","enc3","enc4","keyStr","bytes","PadNumber","AddParser","parser","_BabylonFileParsers","GetParser","AddIndividualParser","_IndividualBabylonFileParsers","GetIndividualParser","jsonData","parserName","originalScene","handleEvents","_lastPointerEvents","_sharedGizmoLight","_renderCamera","pickUtilitySceneFirst","onlyCheckPointerDownEvents","processAllEvents","onPointerOutObservable","utilityLayerScene","_originalPointerObserver","prePointerInfo","eventState","pointerEvent","utilityScenePick","originalScenePick","mainSceneTrackerPredicate","_notifyObservers","_afterRenderObserver","getRenderCamera","_sceneDisposeObserver","_updateCamera","getRigParentIfPossible","activeCam","setRenderCamera","_getSharedGizmoLight","intensity","groundColor","UtilityLayerRenderer","_DefaultUtilityLayer","_DefaultKeepDepthUtilityLayer","oldScene","EnableFor","_tags","hasTags","Tags","addTags","tagsString","removeTags","RemoveTagsFrom","matchesTagsQuery","DisableFor","asString","tagsArray","tag","_AddTagTo","trim","_RemoveTagFrom","Eval","firstChild","nodeType","textContent","nextSibling","cloneValue","destinationObject","getAllPropertyNames","sourceValue","typeOfSourceValue","clonedValue","_colorCurvesEnabled","_colorGradingEnabled","_colorGradingWithGreenDepth","_colorGradingBGR","_exposure","_toneMappingEnabled","_toneMappingType","ImageProcessingConfiguration","TONEMAPPING_STANDARD","_contrast","vignetteStretch","vignetteCentreX","vignetteCentreY","vignetteWeight","vignetteColor","vignetteCameraFov","_vignetteBlendMode","VIGNETTEMODE_MULTIPLY","_vignetteEnabled","_applyByPostProcess","_updateParameters","_colorGradingTexture","forPostProcess","vignetteEnabled","vignetteBlendMode","_VIGNETTEMODE_MULTIPLY","colorGradingWithGreenDepth","colorGradingBGR","overrideAspectRatio","Bind","inverseWidth","inverseHeight","vignetteScaleY","vignetteScaleX","vignetteScaleGeometricMean","vignettePower","_VIGNETTEMODE_OPAQUE","_result0","_result1","computeBoxExtents","box","directions","extendSize","axisOverlap","box0","box1","worldMatrix","_isLocked","centerOn","BoundingInfo","TmpVector3","factor","isCenterInFrustum","_canDoCollision","radiusWorld","Intersects","itemBuilder","_interopRequireDefault","breakpoints","_breakpoints$values","xs","sm","md","lg","xl","_breakpoints$unit","unit","_breakpoints$step","_objectWithoutProperties2","between","_extends2","down","upperbound","only","mdiAccountCog","mdiAccountGroup","mdiAccountOutline","mdiArrowAll","mdiArrowLeft","mdiArrowRight","mdiBasket","mdiCamera","mdiCancel","mdiCheckBold","mdiCheckOutline","mdiChevronLeft","mdiChevronRight","mdiCircle","mdiClose","mdiCloseCircle","mdiCloseCircleOutline","mdiCloud","mdiCloudUpload","mdiCodeBracesBox","mdiCog","mdiCogOutline","mdiCollage","mdiContentDuplicate","mdiCreditCardPlusOutline","mdiCube","mdiDeleteForever","mdiDeleteForeverOutline","mdiDotsVertical","mdiDragHorizontal","mdiEmail","mdiEmailOutline","mdiEmailSendOutline","mdiEmailVariant","mdiEye","mdiEyeOutline","mdiFileReplace","mdiFilmstrip","mdiFolderMultipleImage","mdiFrequentlyAskedQuestions","mdiHelpCircleOutline","mdiImage","mdiImageOutline","mdiInformationOutline","mdiLightbulbOnOutline","mdiLinkVariant","mdiLockOutline","mdiLogoutVariant","mdiMagnify","mdiMagnifyMinus","mdiMagnifyPlus","mdiMagnifyPlusOutline","mdiMoonWaxingCrescent","mdiMoviePlayOutline","mdiMusic","mdiOpenInNew","mdiPause","mdiPauseCircle","mdiPencil","mdiPencilOutline","mdiPlay","mdiPlayCircle","mdiPlayCircleOutline","mdiPlusBox","mdiQrcode","mdiRedo","mdiRefresh","mdiRestore","mdiRotateOrbit","mdiShare","mdiShareVariant","mdiSortAlphabeticalVariant","mdiSquareEditOutline","mdiSync","mdiTheater","mdiThumbDown","mdiThumbDownOutline","mdiThumbUp","mdiThumbUpOutline","mdiUndo","mdiUpload","mdiVideo","mdiVolumeHigh","mdiWallet","mdiWeatherSunny","isPure","_forward","_forwardInverted","_up","_right","_rightInverted","_rotation","_rotationQuaternion","_transformToBoneReferal","_isAbsoluteSynced","_billboardMode","TransformNode","_preserveParentRotationForBillboard","scalingDeterminant","_infiniteDistance","ignoreNonUniformScaling","reIntegrateRotationIntoRotationQuaternion","_poseMatrix","_localMatrix","_usePivotMatrix","_absolutePosition","_absoluteScaling","_absoluteRotationQuaternion","_pivotMatrix","_nonUniformScaling","newRotation","updatePoseMatrix","getPoseMatrix","pivotMatrixUpdated","localMatrixUpdated","_syncAbsoluteScalingAndRotation","postMultiplyPivotMatrix","_pivotMatrixInverse","newWorldMatrix","unfreezeWorldMatrix","setAbsolutePosition","absolutePositionX","absolutePositionY","absolutePositionZ","invertParentWorldMatrix","setPositionWithLocalVector","getPositionExpressedInLocalSpace","invLocalWorldMatrix","locallyTranslate","lookAt","targetPoint","yawCor","pitchCor","rollCor","space","LOCAL","dv","_lookAtVectorCache","setDirection","WORLD","rotationMatrix","parentRotationMatrix","quaternionRotation","setPivotPoint","tmat","getPivotPoint","getPivotPointToRef","getAbsolutePivotPoint","getAbsolutePivotPointToRef","quatRotation","diffMatrix","invParentMatrix","attachToBone","affectedTransformNode","getSkeleton","detachFromBone","rotate","_rotationAxisCache","rotateAround","tmpVector","finalScale","finalTranslation","finalRotation","translationMatrix","translationMatrixInv","translate","displacementVector","tempV3","addRotation","accumulation","useBillboardPosition","useBillboardPath","preserveParentRotationForBillboard","_TmpScaling","cameraWorldMatrix","cameraGlobalPosition","_TmpTranslation","_TmpRotation","scaleMatrix","storedTranslation","eulerAngles","independentOfChildren","bakedMatrix","tmpRotationQuaternion","registerAfterWorldMatrixUpdate","unregisterAfterWorldMatrixUpdate","getPositionInCameraSpace","getDistanceToCamera","currentSerializationObject","parsedTransformNode","storedRotation","storedRotationQuaternion","sizeVec","maxDimension","sourceEvent","additionalData","ActionEvent","CreateNewFromSprite","CreateNewFromPrimitive","prim","pointerPos","diffuse","Light","FALLOFF_DEFAULT","_range","_inverseSquaredRange","_photometricScale","_intensityMode","INTENSITYMODE_AUTOMATIC","renderPriority","_shadowEnabled","_excludeWithLayerMask","_includeOnlyWithLayerMask","_lightmapMode","_excludedMeshesIds","_includedOnlyMeshesIds","_isLight","_buildUniformLayout","_resyncMeshes","_computePhotometricScale","_markMeshesAsLightDirty","_includedOnlyMeshes","_hookArrayForIncludedOnly","_excludedMeshes","_hookArrayForExcluded","transferTexturesToEffect","iAsString","needUpdate","_alreadyBound","scaledIntensity","getScaledIntensity","bindShadowLight","getTypeID","_shadowGenerator","includeOnlyWithLayerMask","excludeWithLayerMask","clonedLight","excludedMeshesIds","includedOnlyMeshesIds","parsedLight","_getPhotometricScale","photometricScale","lightTypeID","photometricMode","intensityMode","LIGHTTYPEID_DIRECTIONALLIGHT","INTENSITYMODE_ILLUMINANCE","INTENSITYMODE_LUMINOUSINTENSITY","LIGHTTYPEID_POINTLIGHT","LIGHTTYPEID_SPOTLIGHT","INTENSITYMODE_LUMINOUSPOWER","INTENSITYMODE_LUMINANCE","apexAngleRadians","LIGHTTYPEID_HEMISPHERICLIGHT","_reorderLightsInScene","_renderPriority","LIGHTMAP_SPECULAR","_xhr","_native","XMLHttpRequest","_injectCustomRequestHeaders","WebRequest","setRequestHeader","statusText","responseType","listener","method","CustomRequestModifiers","getResponseHeader","_hasAlpha","BaseTexture","DEFAULT_ANISOTROPIC_FILTERING_LEVEL","_isCube","invertZ","lodLevelInAlpha","_prefiltered","_wrapU","_wrapV","IdentityReadOnly","texturesCache","texturesCacheEntry","_readTexturePixels","WhenAllReady","numRemaining","_cachedSize","_cachedBaseSize","getBaseSize","markAllSubMeshesAsTexturesDirty","_internalMarkAllSubMeshesAsTexturesDirty","AnisotropicTextureEnabled","ANISOTROPIC","ANISOTROPIC_TEXTURE","AddFallbacks","currentRank","copyTo","anisotropicConfiguration","markAllSubMeshesAsMiscDirty","_useEnergyConservation","PBRBRDFConfiguration","DEFAULT_USE_ENERGY_CONSERVATION","useEnergyConservation","_useSmithVisibilityHeightCorrelated","DEFAULT_USE_SMITH_VISIBILITY_HEIGHT_CORRELATED","useSmithVisibilityHeightCorrelated","_useSphericalHarmonics","DEFAULT_USE_SPHERICAL_HARMONICS","useSphericalHarmonics","_useSpecularGlossinessInputEnergyConservation","DEFAULT_USE_SPECULAR_GLOSSINESS_INPUT_ENERGY_CONSERVATION","useSpecularGlossinessInputEnergyConservation","_internalMarkAllSubMeshesAsMiscDirty","BRDF_V_HEIGHT_CORRELATED","MS_BRDF_ENERGY_CONSERVATION","SPHERICAL_HARMONICS","SPECULAR_GLOSSINESS_ENERGY_CONSERVATION","brdfConfiguration","_linkSheenWithAlbedo","linkSheenWithAlbedo","_useRoughnessFromMainTexture","useRoughnessFromMainTexture","_textureRoughness","textureRoughness","_albedoScaling","albedoScaling","SheenTextureEnabled","SHEEN","SHEEN_LINKWITHALBEDO","SHEEN_ROUGHNESS","SHEEN_ALBEDOSCALING","SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE","SHEEN_TEXTURE_ROUGHNESS_IDENTICAL","SHEEN_TEXTURE","SHEEN_TEXTURE_ROUGHNESS","identicalTextures","sheenConfiguration","markScenePrePassDirty","_isRefractionEnabled","isRefractionEnabled","_isTranslucencyEnabled","isTranslucencyEnabled","_isScatteringEnabled","isScatteringEnabled","_scatteringDiffusionProfileIndex","refractionIntensity","translucencyIntensity","useAlbedoToTintRefraction","_thicknessTexture","thicknessTexture","_indexOfRefraction","_volumeIndexOfRefraction","_invertRefractionY","_linkRefractionWithTransparency","linkRefractionWithTransparency","minimumThickness","maximumThickness","tintColor","tintColorAtDistance","diffusionDistance","_useMaskFromThicknessTexture","useMaskFromThicknessTexture","_useMaskFromThicknessTextureGltf","useMaskFromThicknessTextureGltf","_internalMarkScenePrePassDirty","subSurfaceConfiguration","ssDiffusionProfileColors","enableSubSurfaceForPrePass","addDiffusionProfile","ThicknessTextureEnabled","_getRefractionTexture","SUBSURFACE","SS_TRANSLUCENCY","SS_SCATTERING","SS_THICKNESSANDMASK_TEXTURE","SS_MASK_FROM_THICKNESS_TEXTURE","SS_MASK_FROM_THICKNESS_TEXTURE_GLTF","SS_REFRACTION","SS_REFRACTIONMAP_3D","SS_GAMMAREFRACTION","SS_RGBDREFRACTION","SS_LINEARSPECULARREFRACTION","SS_REFRACTIONMAP_OPPOSITEZ","SS_LODINREFRACTIONALPHA","SS_LINKREFRACTIONTOTRANSPARENCY","SS_ALBEDOFORREFRACTIONTINT","linearSpecularLOD","lodBasedMicrosurface","realTimeFiltering","refractionIor","volumeIndexOfRefraction","lodGenerationScale","lodGenerationOffset","activeEffect","environmentTexture","fillRenderTargetTextures","renderTargets","PBR","NUM_SAMPLES","REALTIME_FILTERING","ALBEDO","GAMMAALBEDO","ALBEDODIRECTUV","AMBIENTINGRAYSCALE","ALPHAFROMALBEDO","ALPHATESTVALUE","RADIANCEOVERALPHA","ALPHAFRESNEL","LINEARALPHAFRESNEL","REFLECTIVITY","REFLECTIVITYDIRECTUV","MICROSURFACEFROMREFLECTIVITYMAP","MICROSURFACEAUTOMATIC","LODBASEDMICROSFURACE","MICROSURFACEMAP","MICROSURFACEMAPDIRECTUV","METALLICWORKFLOW","ROUGHNESSSTOREINMETALMAPALPHA","ROUGHNESSSTOREINMETALMAPGREEN","METALLNESSSTOREINMETALMAPBLUE","AOSTOREINMETALMAPRED","METALLIC_REFLECTANCE","METALLIC_REFLECTANCEDIRECTUV","ENVIRONMENTBRDF","ENVIRONMENTBRDF_RGBD","TANGENT","NORMALXYSCALE","GAMMALIGHTMAP","USESPHERICALFROMREFLECTIONMAP","USEIRRADIANCEMAP","USESPHERICALINVERTEX","REFLECTIONMAP_OPPOSITEZ","LODINREFLECTIONALPHA","GAMMAREFLECTION","LINEARSPECULARREFLECTION","RADIANCEOCCLUSION","HORIZONOCCLUSION","USEPHYSICALLIGHTFALLOFF","USEGLTFLIGHTFALLOFF","FORCENORMALFORWARD","SPECULARAA","CLEARCOAT","CLEARCOAT_DEFAULTIOR","CLEARCOAT_TEXTURE","CLEARCOAT_TEXTURE_ROUGHNESS","CLEARCOAT_TEXTUREDIRECTUV","CLEARCOAT_TEXTURE_ROUGHNESSDIRECTUV","CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE","CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL","CLEARCOAT_BUMP","CLEARCOAT_BUMPDIRECTUV","CLEARCOAT_REMAP_F0","CLEARCOAT_TINT","CLEARCOAT_TINT_TEXTURE","CLEARCOAT_TINT_TEXTUREDIRECTUV","ANISOTROPIC_TEXTUREDIRECTUV","SHEEN_TEXTUREDIRECTUV","SHEEN_TEXTURE_ROUGHNESSDIRECTUV","SS_THICKNESSANDMASK_TEXTUREDIRECTUV","UNLIT","DEBUGMODE","_directIntensity","_emissiveIntensity","_specularIntensity","_lightingInfos","_disableBumpMap","_albedoTexture","_ambientTextureStrength","_ambientTextureImpactOnAnalyticalLights","PBRBaseMaterial","DEFAULT_AO_ON_ANALYTICAL_LIGHTS","_reflectivityTexture","_metallicTexture","_metallic","_metallicF0Factor","_metallicReflectanceColor","_metallicReflectanceTexture","_microSurfaceTexture","_ambientColor","_albedoColor","_reflectivityColor","_reflectionColor","_emissiveColor","_microSurface","_useHorizonOcclusion","_useRadianceOcclusion","_useAlphaFromAlbedoTexture","_useMicroSurfaceFromReflectivityMapAlpha","_useRoughnessFromMetallicTextureAlpha","_useRoughnessFromMetallicTextureGreen","_useMetallnessFromMetallicTextureBlue","_useAmbientOcclusionFromMetallicTextureRed","_useAmbientInGrayScale","_useAutoMicroSurfaceFromReflectivityMap","_lightFalloff","LIGHTFALLOFF_PHYSICAL","_useRadianceOverAlpha","_parallaxScaleBias","_alphaCutOff","_useAlphaFresnel","_useLinearAlphaFresnel","_environmentBRDFTexture","_forceIrradianceInFragment","_realTimeFiltering","_realTimeFilteringQuality","_forceNormalForward","_enableSpecularAntiAliasing","_unlit","_debugMode","debugMode","debugLimit","debugFactor","clearCoat","anisotropy","brdf","sheen","subSurface","GetEnvironmentBRDFTexture","disableAlphaBlending","PBRMATERIAL_OPAQUE","PBRMATERIAL_ALPHATEST","_shouldUseAlphaFromAlbedoTexture","_getReflectionTexture","irradianceTexture","isMetallicWorkflow","_prepareDefines","fallbackRank","realTimeFilteringQuality","LIGHTFALLOFF_STANDARD","LIGHTFALLOFF_GLTF","wireframe","polynomials","preScaledHarmonics","l00","l1_1","l10","l11","l2_2","l2_1","l20","l21","l22","ior","f0","metallicF90","environmentIntensity","updateVector4","eyePosition","invertNormal","environmentBRDFTexture","PBRMATERIAL_ALPHABLEND","PBRMATERIAL_ALPHATESTANDBLEND","pickedSprite","thinInstanceIndex","originMesh","getNormal","useWorldCoordinates","useVerticesNormals","normal0","normal1","normal2","vertex1","vertex2","vertex3","getTextureCoordinates","uv0","uv1","uv2","_startMonitoringTime","_min","_max","_average","_lastSecAverage","_current","_totalValueCount","_totalAccumulated","_lastSecAccumulated","_lastSecTime","_lastSecValueCount","fetchResult","PerfCounter","Enabled","_fetchResult","beginMonitoring","endMonitoring","newFrame","currentTime","_setPrototypeOf","proto","LoadFileError","RequestFileError","ReadFileError","_CleanUrl","FileTools","crossOrigin","usingObjectURL","Image","createImageBitmap","imgBmp","loadHandler","inputText","noOfflineSupport","enableTexturesOffline","loadImage","textureName","decodeURIComponent","blobURL","readAsArrayBuffer","readAsText","loadUrl","aborted","fileRequest","retryHandle","retryLoop","retryIndex","onLoadEnd","onReadyStateChange","IsFileURL","retryStrategy","waitTime","enableSceneOffline","loadFile","protocol","ExponentialBackoff","useTheme","useThemeWithoutDefault","applyGravity","_needMoveForGravity","_oldPosition","_diffPosition","_newPosition","newPos","onCollide","addKeyboard","addMouse","mouse","angularSensibility","keyboard","keysUp","keysUpward","keysDown","keysDownward","keysLeft","keysRight","cameraDirection","cameraRotation","_collideWithWorld","collisionMask","actualDisplacement","_localDirection","_transformedDirection","_decideIfNeedsToMove","_updatePosition","toGlobal","Viewport","toGlobalToRef","useEnhancedEffect","useEventCallback","historyContext","createNamedContext","Router","computeRootMatch","isExact","pathname","componentDidMount","_pendingLocation","componentWillUnmount","unlisten","RouterContext","history","staticContext","HistoryContext","Lifecycle","onMount","componentDidUpdate","onUpdate","prevProps","onUnmount","cacheCount","generatePath","pathToRegexp","compilePath","pretty","Redirect","computedMatch","createLocation","prevLocation","locationsAreEqual","matchPath","exact","strict","sensitive","matched","cacheKey","pathCache","memo","Route","addLeadingSlash","stripBasename","basename","createURL","createPath","staticHandler","methodName","invariant","noop","Switch","useHistory","useLocation","useParams","useRouteMatch","_inheritsLoose","subClass","superClass","createBoundingBox","addToMesh","_effectOverride","_linesIndexBuffer","_alphaIndex","_distanceToCamera","_currentMaterial","_mesh","_renderingMesh","SubMesh","getMesh","getReplacementMesh","getEffectiveMesh","replacementMesh","rootMaterial","_IsMultiMaterial","getSubMaterial","linesIndices","checkStopper","_intersectLines","_intersectUnIndexedLines","_intersectUnIndexedTriangles","_intersectTriangles","intersectionSegment","faceID","indexA","indexB","indexC","intersectsTriangle","newRenderingMesh","minVertexIndex","maxVertexIndex","_toConsumableArray","arrayLikeToArray","iterableToArray","easing","easeInOut","easeOut","easeIn","sharp","shorter","short","standard","complex","enteringScreen","leavingScreen","formatMs","milliseconds","_options$duration","durationOption","_options$easing","easingOption","_options$delay","animatedProp","getAutoHeightDuration","compose","_len","styles","_classCallCheck","Constructor","_canvas","_context","_recreate","scaleTo","fillRect","premulAlpha","drawText","font","fillStyle","textSize","measureText","fontSize","fillText","DynamicTexture","_IsCanvasElement","plainObjectConstrurctor","cloneStyle","newStyle","createRule","decl","jss","declCopy","rule","plugins","onCreateRule","by","toCssValue","ignoreImportant","cssValue","indentStr","indent","toCss","_options$indent","_prop","_value","_prop2","_value2","allowEmpty","escapeRegex","nativeEscape","CSS","escape","BaseStyleRule","isProcessed","renderable","sheet","Renderer","onChangeValue","isDefined","removeProperty","setProperty","StyleRule","_BaseStyleRule","_this","selectorText","scoped","generateId","_assertThisInitialized","_proto2","applyTo","json","opts","link","_createClass","setSelector","replaceRule","pluginStyleRule","defaultToStringOptions","atRegExp","ConditionalRule","query","rules","atMatch","RuleList","_proto","getRule","addRule","onProcessRule","keyRegExp","pluginConditionalRule","defaultToStringOptions$1","nameRegExp","KeyframesRule","frames","nameMatch","keyRegExp$1","refRegExp","findReferencedKeyframe","keyframes","replaceRef","refKeyframe","onProcessStyle","KeyframeRule","pluginKeyframeRule","FontFaceRule","keyRegExp$2","pluginFontFaceRule","ViewportRule","pluginViewportRule","SimpleRule","keysMap","defaultUpdateOptions","forceUpdateOptions","raw","counter","ruleOptions","_this$options","unregister","updateOne","_this$options2","styleRule","nextValue","_nextValue","_prevValue","css","StyleSheet","deployed","queue","deploy","insertRule","addRules","added","deleteRule","_this$rules","PluginsRegistry","internal","external","registry","onProcessSheet","processedValue","use","newPlugin","SheetsRegistry","_temp","_objectWithoutPropertiesLoose","globalThis","ns","moduleId","createGenerateId","ruleCounter","jssId","prefix","classNamePrefix","minify","memoize","getPropertyValue","cssRule","attributeStyleMap","getHead","querySelector","findPrevNode","registry$1","insertionPoint","findHigherSheet","parentNode","findHighestSheet","comment","childNodes","findCommentNode","getNonce","getAttribute","_insertRule","appendRule","cssRules","getValidRuleInsertionIndex","maxIndex","DomRenderer","hasInsertedRules","media","meta","createStyle","nonce","nextNode","insertBefore","insertionPointElement","insertStyle","Boolean","insertRules","nativeParent","latestNativeParent","_insertionIndex","refCssRule","ruleStr","insertionIndex","nativeRule","getRules","instanceCounter","Jss","isInBrowser","setup","createStyleSheet","removeStyleSheet","getDynamicStyles","extracted","hasCSSTOMSupport","installedModules","__webpack_require__","modules","getter","toStringTag","__esModule","Stack","title","horizontal","vertical","spin","ariaLabelledby","anySpin","childrenWithProps","childElement","scaledSize","inStack","role","labelledById","describedById","viewBox","defaultProps","idCounter","Icon","pathStyle","pathElement","transformElement","transformOrigin","spinElement","spinSec","inverse","topBaseAt","bottomBaseAt","topIndex","bottomIndex","basePositions","topFaceBase","bottomFaceBase","topFaceOrder","bottomFaceOrder","flat","scaleArray","accumulator","currentIndex","faceUV","faceColors","totalColors","BoxBuilder","Plane","magnitude","_TmpMatrix","dotCoordinate","copyFromPoints","point1","point2","point3","invPyth","x1","y1","z1","pyth","isFrontFacingTo","signedDistanceTo","FromPoints","FromPositionAndNormal","SignedDistanceToPlaneFromPositionAndNormal","KeyboardInfo","reflow","scrollTop","getTransitionProps","_props$style","transitionDuration","transitionDelay","_defines","_currentRank","_maxRank","currentDefines","currentFallbacks","files","prefiltered","createPolynomials","_rotationY","_forcedExtension","_extensions","_createPolynomials","isDDS","isEnv","onLoadProcessing","setReflectionTextureMatrix","CreateFromImages","rootUrlKey","CubeTexture","CreateFromPrefilteredData","newCubeTexture","updateRawTexture","CreateLuminanceTexture","RawTexture","CreateLuminanceAlphaTexture","CreateAlphaTexture","CreateRGBTexture","CreateRGBATexture","CreateRTexture","_subMaterials","subMaterial","cloneChildren","MultiMaterial","subMat","forceDisposeChildren","ParseMultiMaterial","parsedMultiMaterial","multiMaterial","subMatId","_tmpUpVector","_tmpTargetVector","ignoreParentScaling","updateUpVectorFromRotation","_tmpQuaternion","speed","noRotationConstraint","invertRotation","inverseRotationSpeed","lockedTarget","_currentTarget","_initialFocalDistance","_camMatrix","_cameraTransformMatrix","_cameraRotationMatrix","_referencePoint","_transformedReferencePoint","_defaultUp","_cachedRotationZ","_cachedQuaternionRotationZ","getFrontPosition","_getLockedTargetPosition","_storedPosition","_storedRotation","_storedRotationQuaternion","lockedTargetPosition","_computeLocalCameraSpeed","atan","vDir","directionMultiplier","needToMove","needToRotate","_rotateUpVectorWithCameraRotationMatrix","_computeViewMatrix","parentWorldMatrix","rigCamera","TargetCamera","camLeft","camRight","leftSign","rightSign","_getRigCamPositionAndTarget","halfSpace","_TargetFocalPoint","newFocalTarget","_TargetTransformMatrix","_RigCamTransformMatrix","sourceKeys","SceneLoaderFlags","_ForceFullSceneLoadingForIncremental","_ShowLoadingScreen","_loggingLevel","_CleanBoneMatrixWeights","OffscreenCanvas","_indexBufferIsUpdatable","_positionsCache","useBoundingInfoFromGeometry","_meshes","_vertexArrayObjects","_boundingBias","Geometry","_extend","_indexBuffer","notifyUpdate","_updateExtend","numOfMeshes","_disposeVertexArrayObjects","updateVerticesDataDirectly","tightlyPackedByteStride","remainder","needToUpdateSubMeshes","updateDynamicIndexBuffer","orig","shouldDispose","previousGeometry","_applyToMesh","onGeometryUpdated","tIndices","tTemp","tPositions","tNormals","arrayIdx","stopChecking","toNumberArray","serializeVerticeData","tangets","parsedGeometry","binaryInfo","positionsAttrDesc","normalsAttrDesc","tangetsAttrDesc","tangentsData","uvsAttrDesc","uvsData","uvs2AttrDesc","uvs2Data","uvs3AttrDesc","uvs3Data","uvs4AttrDesc","uvs4Data","uvs5AttrDesc","uvs5Data","uvs6AttrDesc","uvs6Data","colorsAttrDesc","colorsData","matricesIndicesAttrDesc","floatIndices","matricesIndicesExtraAttrDesc","matricesWeightsAttrDesc","indicesAttrDesc","indicesData","subMeshesAttrDesc","subMeshesData","matricesIndex","_CleanMatricesWeights","parsedSubMesh","noInfluenceBoneIndex","numBoneInfluencer","firstZeroWeight","mweight","isUndefined","isObject","isPlainObject","isFunction","isArrayBuffer","isBuffer","isFormData","FormData","isArrayBufferView","isString","isNumber","isDate","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","assignValue","stripBOM","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","isMemo","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","descriptor","useFormControl","FormControlContext","shaderPath","_textureArrays","_floats","_ints","_floatsArrays","_colors3","_colors3Arrays","_colors4","_colors4Arrays","_vectors2","_vectors3","_vectors4","_matrices","_matrixArrays","_matrices3x3","_matrices2x2","_vectors2Arrays","_vectors3Arrays","_vectors4Arrays","_cachedWorldViewMatrix","_cachedWorldViewProjectionMatrix","_multiview","_shaderPath","_checkUniform","setFloats","setColor3Array","setColor4Array","float32Array","_checkCache","_cachedDefines","effectOverride","_transformMatrixR","seffect","ShaderMaterial","textureArrays","floats","FloatArrays","colors3","colors3Arrays","colors4Arrays","vectors2","vectors3","vectors4","matrixArray","matrices3x3","matrices2x2","vectors2Arrays","vectors3Arrays","vectors4Arrays","textureArray","floatsArrays","shaderMaterial","debounce","wait","debounced","that","later","use64bits","PerformanceConfigurator","createSvgIcon","SvgIcon","muiName","forwardRef","table","WeakMap","Cache","initialData","serializeKey","notify","_hash","isSubscribed","_a","online","isOnline","isDocumentVisible","visibilityState","fetcher","fetch","registerOnFocus","registerOnReconnect","slowConnection","effectiveType","defaultConfig","onLoadingSlow","onErrorRetry","revalidate","errorRetryCount","retryCount","errorRetryInterval","focusThrottleInterval","dedupingInterval","loadingTimeout","refreshInterval","revalidateOnFocus","revalidateOnReconnect","refreshWhenHidden","refreshWhenOffline","shouldRetryOnError","suspense","dequal","foo","bar","ctor","getTime","isPaused","webPreset","IS_SERVER","Deno","deno","rAF","useIsomorphicLayoutEffect","useLayoutEffect","SWRConfigContext","CONCURRENT_PROMISES","CONCURRENT_PROMISES_TS","FOCUS_REVALIDATORS","RECONNECT_REVALIDATORS","CACHE_REVALIDATORS","MUTATION_TS","MUTATION_END_TS","ts","revalidate_1","revalidators","shouldRevalidate","keyErr","keyValidating","updaters","currentData","currentError","currentIsValidating","promises","broadcastState","isValidating","beforeMutationTs","beforeConcurrentPromisesTs","isAsyncMutation","err_1","shouldAbort","_b","useSWR","fnArgs","configRef","willRevalidateOnMount","revalidateOnMount","resolveData","cachedData","resolveIsValidating","initialError","initialIsValidating","stateDependencies","stateRef","useDebugValue","latestData","latestError","rerender","payload","shouldUpdateState","unmountedRef","initialMountedRef","keyRef","eventsCallback","boundMutate","addRevalidator","keyedRevalidators","revalidateOpts","dedupe","loading","shouldDeduping","newData","startAt","err_2","_c","isUpdating","currentHookData","latestKeyedData","softRevalidate","pending","unsubFocus","unsubReconnect","unsubUpdate","updatedData","updatedError","updatedIsValidating","timer","tick","memoizedState","markAllAsDirty","disposed","markAsAttributesDirty","markAsTexturesDirty","markAsFresnelDirty","markAsMiscDirty","markAsPrePassDirty","isEqual","cloneTo","Size","otherSize","formControlState","states","muiFormControl","GetEnvInfo","EnvironmentTextureTools","_MagicBytes","manifestString","charCode","manifest","specularDataPosition","CreateEnvTextureAsync","cubeWidth","specularTextures","mipmapsCount","faceWidth","tempTexture","rgbdPostProcess","currentW","currentH","fileReader","arrayBuffer","irradiance","_CreateEnvTextureIrradiance","mipmaps","infoString","infoBuffer","infoView","strLen","totalSize","finalBuffer","finalBufferView","setUint8","polynmials","CreateImageDataArrayBufferViews","specularInfo","imageInfo","UploadEnvLevelsAsync","UploadLevelsAsync","_OnImageReadyAsync","expandTexture","generateNonLODTextures","lodTextures","cubeRtt","lodTexture","maxLODIndex","lodIndex","mipmapIndex","glTextureFromLod","dataLength","UploadEnvSpherical","irradianceInfo","sp","oppositeDirection","isHorizontal","anchor","getAnchor","defaultTransitionDuration","enter","exit","Drawer","_props$anchor","anchorProp","BackdropProps","_props$elevation","elevation","_props$ModalProps","ModalProps","BackdropPropsProp","onClose","_props$open","_props$PaperProps","PaperProps","SlideProps","_props$TransitionComp","TransitionComponent","Slide","_props$transitionDura","_props$variant","variant","mounted","drawer","Paper","square","clsx","paper","docked","slidingDrawer","in","appear","Modal","BackdropComponent","Backdrop","modal","flex","overflowY","flexDirection","zIndex","WebkitOverflowScrolling","outline","paperAnchorLeft","paperAnchorRight","paperAnchorTop","paperAnchorBottom","paperAnchorDockedLeft","borderRight","palette","divider","paperAnchorDockedTop","borderBottom","paperAnchorDockedRight","borderLeft","paperAnchorDockedBottom","borderTop","isAbsolute","spliceOne","resolvePathname","hasTrailingSlash","toParts","fromParts","isToAbs","isFromAbs","mustEndAbs","part","valueOf","valueEqual","aValue","bValue","stripLeadingSlash","hasBasename","stripTrailingSlash","search","currentLocation","hashIndex","searchIndex","parsePath","decodeURI","URIError","createTransitionManager","prompt","listeners","setPrompt","nextPrompt","confirmTransitionTo","getUserConfirmation","appendListener","notifyListeners","canUseDOM","getConfirmation","confirm","PopStateEvent","HashChangeEvent","getHistoryState","createBrowserHistory","globalHistory","canUseHistory","supportsHistory","needsHashChangeListener","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","getDOMLocation","historyState","_window$location","createKey","transitionManager","nextState","handlePopState","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","ok","fromLocation","toLocation","toIndex","allKeys","fromIndex","go","revertPop","initialLocation","createHref","listenerCount","checkDOMListeners","pushState","prevIndex","nextKeys","goBack","goForward","block","unblock","listen","HashChangeEvent$1","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","stripHash","getHashPath","replaceHashPath","createHashHistory","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","allPaths","baseTag","pushHashPath","nextPaths","lowerBound","upperBound","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","nextEntries","canGo","SH3ylmBasisConstants","SH3ylmBasisTrigonometricTerms","applySH3","lm","SHCosKernelConvolution","preScaled","deltaSolidAngle","convertIncidentRadianceToIrradiance","convertIrradianceToLambertianRadiance","preScaleForRendering","sh","SphericalHarmonics","FromPolynomial","polynomial","_harmonics","addAmbient","colorVector","FromHarmonics","harmonics","SphericalPolynomial","_styles","_defaultTheme","allClasses","anchorOriginTopCenter","anchorOriginBottomCenter","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft","containerRoot","containerAnchorOriginTopCenter","containerAnchorOriginBottomCenter","containerAnchorOriginTopRight","containerAnchorOriginBottomRight","containerAnchorOriginTopLeft","containerAnchorOriginBottomLeft","SNACKBAR_INDENTS","dense","DEFAULTS","maxSnack","hideIconVariant","autoHideDuration","anchorOrigin","capitalise","omitContainerKeys","REASONS","TIMEOUT","CLICKAWAY","MAXSNACK","INSTRUCTED","transformer","numberOrNull","numberish","objectMerge","defaults","createStyles","flexWrap","flexGrow","minWidth","SnackbarContent","DIRECTION","getTransitionDirection","CheckIcon","WarningIcon","ErrorIcon","InfoIcon","iconStyles","marginInlineEnd","defaultIconVariants","success","warning","createChainedFunction","funcs","extraArg","argums","Snackbar","ClickAwayListenerProps","disableWindowBlurListener","onMouseEnter","onMouseLeave","resumeHideDuration","timerAutoHide","handleClose","setAutoHideTimer","autoHideDurationParam","handlePause","handleResume","onClickAway","backgroundColor","contentRoot","alignItems","padding","borderRadius","boxShadow","lessPadding","paddingLeft","variantSuccess","variantError","variantInfo","variantWarning","marginLeft","marginRight","wrappedRoot","SnackbarItem","collapsed","setCollapsed","otherAriaAttributes","ariaAttributes","otherClassName","iconVariant","snack","otherAction","otherContent","otherTranComponent","otherTranProps","TransitionProps","otherTranDuration","singleClassName","singleContent","singleAction","singleAriaAttributes","snackMessage","singleTranComponent","singleTranProps","singleTranDuration","singleSnackProps","icon","transitionProps","unmountOnExit","onExited","onExit","onExiting","onEnter","onEntering","onEntered","collapse","useStyle","makeStyles","boxSizing","pointerEvents","maxWidth","rootDense","xsWidthMargin","SnackbarContainer","combinedClassname","SnackbarProvider","enqueueSnackbar","preventDuplicate","hasSpecifiedKey","merger","entered","requestClose","compareFunction","inQueue","inView","handleDisplaySnack","snacks","processQueue","handleDismissOldest","popped","handleEnteredSnack","handleCloseSnack","shouldCloseAll","closeSnackbar","toBeClosed","handleExitedSnack","key1","contextValue","domRoot","categ","category","existingOfCategory","snackbars","SnackbarContext","createPortal","PlaneBuilder","sourcePlane","HemisphericLight","setDirectionToTarget","normalizeDirection","transferToNodeMaterialEffect","lightDataUniformName","normalMatrix","_len2","_key2","dynamic","_noUBO","_dynamic","_uniformLocations","_uniformSizes","_uniformLocationPointer","_needSync","updateMatrix3x3","_updateMatrix3x3ForEffect","updateMatrix2x2","_updateMatrix2x2ForEffect","_updateFloatForEffect","_updateFloat2ForEffect","_updateFloat3ForEffect","_updateFloat4ForEffect","_updateMatrixForEffect","_updateVector3ForEffect","_updateVector4ForEffect","_updateColor3ForEffect","_updateColor4ForEffect","_updateMatrix3x3ForUniform","_updateMatrix2x2ForUniform","_updateFloatForUniform","_updateFloat2ForUniform","_updateFloat3ForUniform","_updateFloat4ForUniform","_updateMatrixForUniform","_updateVector3ForUniform","_updateVector4ForUniform","_updateColor3ForUniform","_updateColor4ForUniform","isDynamic","_bufferData","_fillAlignment","alignment","oldPointer","diff","addMatrix","addFloat2","addFloat3","addColor3","addColor4","addMatrix3x3","addMatrix2x2","createDynamicUniformBuffer","createUniformBuffer","updateUniformBuffer","updateUniform","UniformBuffer","_tempBuffer","updateUniformDirectly","_MAX_UNIFORM_SIZE","_mouseInput","_mouseWheelInput","touchEnabled","removeMouse","addMouseWheel","removeMouseWheel","addTouch","ListContext","resource","Frustum","GetNearPlaneToRef","frustumPlane","GetFarPlaneToRef","GetLeftPlaneToRef","GetRightPlaneToRef","GetTopPlaneToRef","GetBottomPlaneToRef","AbstractActionManager","Triggers","t_int","diffuseBlendLevel","roughnessBlendLevel","bumpLevel","_normalBlendMethod","_convertRGBtoRGBATextureData","rgbData","rgbaData","_makeCreateRawTextureFunction","updateRawTexture3D","updateRawTexture2DArray","_makeUpdateRawTextureFunction","internalType","internalSizedFomat","compressedTexImage3D","texImage3D","updateRawCubeTexture","needConversion","createRawCubeTextureFromUrl","mipmapGenerator","faceDataArrays","mipData","mipSize","mipFaceData","internalCallback","_prepareBuffers","vertices","_buildIndexBuffer","targetTexture","doNotBindFrambuffer","doNotPresent","_renderingGroups","_autoClearDepthStencil","_customOpaqueSortCompareFn","_customAlphaTestSortCompareFn","_customTransparentSortCompareFn","_renderingGroupInfo","RenderingGroupInfo","RenderingManager","MIN_RENDERINGGROUPS","MAX_RENDERINGGROUPS","_clearDepthStencilBuffer","_depthStencilBufferAlreadyCleaned","activeMeshes","spriteManagers","dispatchSprites","renderingGroup","renderingGroupMask","AUTOCLEAR","_prepareRenderingGroup","spriteManager","group","defaultVariantMapping","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","Typography","_props$align","align","_props$color","_props$display","_props$gutterBottom","gutterBottom","_props$noWrap","noWrap","_props$paragraph","paragraph","_props$variantMapping","variantMapping","margin","typography","caption","overline","srOnly","overflow","alignLeft","textAlign","alignCenter","alignRight","alignJustify","textOverflow","whiteSpace","marginBottom","colorInherit","colorPrimary","primary","main","colorSecondary","secondary","colorTextPrimary","colorTextSecondary","colorError","displayInline","displayBlock","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","arr2","ReactPropTypesSecret_1","emptyFunction","emptyFunctionWithReset","resetWarningCache","factoryWithThrowingShims","shim","secret","getShim","ReactPropTypes","symbol","any","arrayOf","elementType","instanceOf","objectOf","oneOf","checkPropTypes","isUnknownObject","isPromise","isStripe","createToken","createPaymentMethod","confirmCardPayment","PLAIN_OBJECT_STR","leftArray","leftPlainObject","leftKeys","rightKeys","keySet","pred","INVALID_STRIPE_ERROR","validateStripe","maybeStripe","parseStripeProp","stripePromise","stripe","ElementsContext","parseElementsContext","ctx","useCase","Elements","rawStripeProp","_final","isMounted","parsed","_React$useState2","setContext","prevStripe","prevOptions","anyStripe","_registerWrapper","registerAppInfo","useElementsContextWithUseCase","useCaseMessage","useElements","useStripe","ElementsConsumer","_ref2","useCallbackReference","extractUpdateableOptions","paymentRequest","capitalized","createElementComponent","isServer","Element","_ref$options","_ref$onBlur","onBlur","_ref$onFocus","onFocus","_ref$onReady","_ref$onChange","onChange","_ref$onEscape","onEscape","_ref$onClick","onClick","elementRef","domNode","callOnReady","callOnBlur","callOnFocus","callOnClick","callOnChange","callOnEscape","mount","on","updateableOptions","destroy","__elementType","AuBankAccountElement","CardElement","CardNumberElement","CardExpiryElement","CardCvcElement","FpxBankElement","IbanElement","IdealBankElement","P24BankElement","EpsBankElement","PaymentElement","PaymentRequestButtonElement","AfterpayClearpayMessageElement","DEFAULT_HEADER_ID","DEFAULT_CONTENT_ID","INITIAL_HEADER_HEIGHT","CSS_TRANSITION","isNil","isNilOrEmpty","subtractCalc","plusCalc","travel","switchDirection","word","mapObject","mediaQueries","resolveDirection","hidden","bp","sortBreakpoints","getHiddenRange","selfBreakpoints","siblingsBreakpoints","siblings","combineSiblings","found","keysUtilBreakpoint","isSibling","isSelf","isLowerBreakpointFromSibling","hiddenRange","createDisplayNone","attachOperator","operator","currentWidth","mapById","rpsById","iteratee","breakpoint","hiddenById","hiddenBreakpoints","pickNearestBreakpoint","getFieldById","dataById","toObject","secondParam","thirdParam","valueIteratee","keyIteratee","genHiddenBreakpoints","componentData","registerConfig","initialHeight","createSingleObjData","rpsConfig","createMultiObjData","rpsConfigById","createSingleObjBuilder","defaultId","Registry","initialRpsConfig","updater","hide","getId","debug","createMultiObjBuilder","initialRpsConfigById","getMapById","propsById","finalMapById","mapValues","nestedValue","attachedMapById","attachHiddenToMapById","configMap","normalizeMapById","configMapById","sidebarIds","HeaderRegistry","registerPermanentConfig","registerPersistentConfig","registerTemporaryConfig","registerFixedConfig","registerAbsoluteConfig","registerStickyConfig","initialLayout","global","autoCollapse","header","HeaderBuilder","subheader","SubheaderBuilder","edgeSidebar","EdgeSidebarBuilder","insetSidebar","InsetSidebarBuilder","ContentBuilder","footer","FooterBuilder","configureHeader","configureSubheader","configureEdgeSidebar","configureInsetSidebar","enableAutoCollapse","getComponentData","headerId","getInitialState","sidebar","getJSON","Context","reducer","useLayoutCtx","defaultScheme","LayoutBuilder","LayoutProvider","controlledInitialState","initialState","scheme","autoGenInitialState","setOpen","isCollapsibleSidebarConfig","isPersistentSidebarConfig","isPermanentSidebarConfig","isTemporarySidebarConfig","expanded","setEntered","setExpanded","useSidebarCtx","SidebarProvider","sidebarState","isMouseOverSidebar","isAutoExpanded","hasAutoExpanded","prevState","wrapOnMouseEnter","wrapOnMouseLeave","wrapOnEntered","slide","wrapOnExit","inlineStyle","SidebarConsumer","WindowContext","iWindow","iDocument","useWindowCtx","useFullscreenCtx","baseTheme","createMuiTheme","Layout","themeProviderOmitted","Div","styled","getResultStyle","DefaultStyled","generateStyledProxyCreator","StyledComponent","refClassName","WrappedComponent","getCssWidth","externalGap","createWidthInterface","combine","toValidCssValue","sumExternalGap","getStyle","getCssMargin","transformMargin","getCssValue","v2","createMarginInterface","m1","m2","combineMargin","collapsible","collapsedWidth","isSidebarCollapsed","createEdgeModel","marginAttr","upperFirst","getObjectWidth","getObjectMargin","getEdgeSidebarEffect","createPermanentSidebarEffect","isBehavior","objectBehavior","isSidebarOpen","getFlexBehaviorValue","createPersistentSidebarEffect","effectsMap","aSidebarId","iterateBreakpointEffects","foundAllSidebars","sidebarCount","effects","existingIds","missingIds","getEffects","incrementZIndex","plus","isAboveSomeSidebars","clipped","isSomeClipped","getHeaderZIndex","getEdgeSidebarZIndex","isHeaderClipped","isObjectClipped","sidebarId","combineBreakpoints","EdgeSidebars","headerConfig","headerEffect","marginInterfaces","widthInterfaces","sidebarEffects","marginStyle","widthStyle","createHeaderModel","StyledAppBar","styledProxy","HeaderOffset","compiler","HeaderOffsetCompiler","createBreakpointStyles","flexShrink","getHeaderOffset","HeaderCompiler","mui-layout","EdgeSidebarEffects","createListEffect","Main","ContentCompiler","getScreen","screen","newKeys","mapWidthToScreen","setScreen","SingleResponsiveObj","getNearestConfig","MultiResponsiveObj","getVisibleConfigs","getScrollY","scrollY","setScrollY","debounceScrollListener","getDefaultValue","configs","relativeConfigs","nonRelativeConfigs","totalHeight","maxHeightFromTop","getSidebarInteraction","clippedConfigs","HeaderEffect","MultiHeadersModel","relativeHeight","nonRelativeHeight","nonRelativeOffset","maxOffset","isClipped","clippedHeight","useHeaderMagnet","useScrollY","subheaderConfigs","marginTop","MultiHeadersEffect","useEdgeHeaderMagnet","sidebarConfig","dynamicHeight","useSidebar","sidebarConfigMap","getSidebarAnchor","persistent","permanent","temporary","createEdgeSidebarModel","EdgeSidebarCompiler","hiddenStyles","useSidebarAutoCollapse","collapsedBp","prevScreen","useBreakpointConfig","useSidebarCollapse","getHiddenBreakpoints","EdgeCollapseCompiler","useSidebarTrigger","EdgeTriggerCompiler","StyledButton","useStyles","borderColor","hover","SvgIconProps","arrowR","arrowL","StyledIconBtn","spacing","subheaderId","getHeight","transitions","transitionProperty","smooth","useTransitionStyles","OffsetCompiler","headerConfigs","CLS","StyledProxyDrawer","createHiddenProxyComponent","createDrawerVariant","Sidebar","StyledDrawer","EdgeHeaderOffset","getEdgeHeaderOffset","TemporaryDrawer","PermanentDrawer","PersistentDrawer","wrappedOnClose","headerAdjustment","commonProps","disableScrollLock","createHiddenStyles","useControlled","controlled","defaultProp","isControlled","_React$useState","valueState","setValue","_defineProperties","protoProps","staticProps","isMuiElement","muiNames","hadKeyboardEvent","hadFocusVisibleRecently","hadFocusVisibleRecentlyTimeout","inputTypesWhitelist","tel","email","password","month","week","datetime","handleKeyDown","metaKey","altKey","ctrlKey","handlePointerDown","handleVisibilityChange","isFocusVisible","tagName","readOnly","isContentEditable","focusTriggersKeyboardModality","handleBlurVisible","useIsFocusVisible","onBlurVisible","doc","ReactDOM","extractMinAndMaxIndexed","extractMinAndMax","worldAxisForNormal","worldAxisForFileX","worldAxisForFileY","ConvertCubeMapTextureToSphericalPolynomial","front","back","cubeInfo","ConvertCubeMapToSphericalPolynomial","sphericalHarmonics","totalSolidAngle","du","minUV","fileFace","FileFaces","dataArray","worldDirection","correctionFactor","FileFaceOrientation","_needProjectionMatrixCompute","_setPosition","_setDirection","_direction","_shadowMinZ","forceProjectionMatrixCompute","_shadowMaxZ","computeTransformedInformation","transformedPosition","transformedDirection","getDepthScale","getShadowDirection","getRotation","needCube","needProjectionMatrixCompute","getDepthMinZ","shadowMinZ","getDepthMaxZ","shadowMaxZ","setShadowProjectionMatrix","viewMatrix","customProjectionMatrixBuilder","_setDefaultShadowProjectionMatrix","previousState","_environmentBRDFBase64Texture","_instanceNumber","ExpandRGBDTexture","ownerWindow","AnimationRange","vectors","extendSizeWorld","vectorsWorld","minX","minY","maxX","maxY","tmpVectors","BoundingBox","newRadius","minWorld","maxWorld","IsInFrustum","IsCompletelyInFrustum","pointX","pointY","pointZ","sphere","IntersectsSphere","intersectsMinMax","myMin","myMax","myMinX","myMinY","myMinZ","myMaxX","myMaxY","myMaxZ","minPoint","maxPoint","sphereCenter","sphereRadius","canReturnFalse","deepmerge","setImmediate","HASH_UNDEFINED","MAX_SAFE_INTEGER","argsTag","arrayTag","boolTag","dateTag","errorTag","funcTag","mapTag","numberTag","objectTag","promiseTag","regexpTag","setTag","stringTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","reIsDeepProp","reIsPlainProp","reLeadingDot","rePropName","reEscapeChar","reIsHostCtor","reIsUint","typedArrayTags","freeGlobal","freeSelf","freeExports","freeModule","freeProcess","nodeUtil","binding","nodeIsTypedArray","isTypedArray","arraySome","isHostObject","mapToArray","setToArray","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","uid","IE_PROTO","funcToString","objectToString","reIsNative","nativeKeys","getNative","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","symbolToString","Hash","ListCache","SetCache","__data__","arrayLikeKeys","inherited","isArguments","baseTimes","skipIndexes","isIndex","assocIndexOf","eq","getMapData","pairs","LARGE_ARRAY_SIZE","fromRight","baseFor","keysFunc","baseGet","isKey","castPath","toKey","baseHasIn","baseIsEqual","customizer","bitmask","stack","isObjectLike","equalFunc","objIsArr","othIsArr","objTag","othTag","getTag","objIsObj","othIsObj","isSameTag","equalArrays","convert","isPartial","stacked","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","objProps","objLength","othLength","skipCtor","objValue","othValue","compared","objCtor","othCtor","equalObjects","baseIsEqualDeep","baseIsNative","baseIteratee","srcValue","isStrictComparable","matchesStrictComparable","defaultValue","hasFunc","isLength","hasPath","hasIn","UNORDERED_COMPARE_FLAG","baseMatchesProperty","matchData","getMatchData","noCustomizer","baseIsMatch","baseMatches","basePropertyDeep","baseKeys","Ctor","isPrototype","stringToPath","arrLength","seen","arrValue","othIndex","isKeyable","isSymbol","ctorString","baseToString","quote","resolver","memoized","isArrayLike","isArrayLikeObject","baseUnary","baseForOwn","previousWorldMatrices","previousViewProjection","PBRClearCoatConfiguration","_DefaultIndexOfRefraction","_remapF0OnInterfaceChange","remapF0OnInterfaceChange","bumpTexture","_isTintEnabled","isTintEnabled","tintThickness","_tintTexture","tintTexture","disableBumpMap","ClearCoatTextureEnabled","ClearCoatBumpTextureEnabled","ClearCoatTintTextureEnabled","invertNormalMapX","invertNormalMapY","eta","clearCoatConfiguration","names","flatten","directIntensity","emissiveIntensity","specularIntensity","ambientTextureStrength","ambientTextureImpactOnAnalyticalLights","PBRMaterial","metallicF0Factor","metallicReflectanceColor","albedoColor","reflectivityColor","reflectionColor","microSurface","useLightmapAsShadowmap","useAlphaFromAlbedoTexture","forceAlphaTest","useSpecularOverAlpha","useMicroSurfaceFromReflectivityMapAlpha","useRoughnessFromMetallicTextureAlpha","useRoughnessFromMetallicTextureGreen","useMetallnessFromMetallicTextureBlue","useAmbientOcclusionFromMetallicTextureRed","useAmbientInGrayScale","useAutoMicroSurfaceFromReflectivityMap","useRadianceOverAlpha","useObjectSpaceNormalMap","useParallax","useParallaxOcclusion","forceIrradianceInFragment","twoSidedLighting","useAlphaFresnel","useLinearAlphaFresnel","forceNormalForward","enableSpecularAntiAliasing","useHorizonOcclusion","useRadianceOcclusion","unlit","usePhysicalLightFalloff","useGLTFLightFalloff","parentBone","restPose","baseMatrix","_index","_absoluteTransform","_invertedAbsoluteTransform","_scalingDeterminant","_worldTransform","_needToDecompose","_needToCompose","_linkedTransformNode","_waitingTransformNodeId","_restPose","_bindPose","_baseMatrix","_updateDifferenceMatrix","_compose","getParent","_parent","updateDifferenceMatrix","getLocalMatrix","getBaseMatrix","getRestPose","setRestPose","getBindPose","setBindPose","returnToRest","_numBonesWithLinkedTransformNode","getInvertedAbsoluteTransform","getAbsoluteTransform","linkTransformNode","getTransformNode","_decompose","_localPosition","_markAsDirtyAndCompose","setRotation","_localRotation","setRotationQuaternion","getScale","setScale","_localScaling","updateLocalMatrix","_markAsDirtyAndDecompose","rootMatrix","updateChildren","_markAsDirty","computeAbsoluteTransforms","Bone","_tmpMats","tvec","_tmpVecs","scaleChildren","locMat","scaleMat","cm","getScaleToRef","setYawPitchRoll","_tmpQuat","rotMatInv","_getNegativeRotationToRef","_rotateWithMatrix","rmat","setAxisAngle","setRotationMatrix","rotMat2","lmat","lx","ly","lz","parentScale","parentScaleInv","getPosition","getPositionToRef","getAbsolutePositionToRef","poseMatrix","getRotationToRef","getRotationQuaternionToRef","getRotationQuaternion","amat","getAbsolutePositionFromLocal","getAbsolutePositionFromLocalToRef","getLocalPositionFromAbsolute","getLocalPositionFromAbsoluteToRef","setCurrentPoseAsRest","_meshesWithPoseMatrix","_identity","_lastAbsoluteTransformsUpdateId","_canUseTextureForBones","_uniqueId","_hasWaitingData","_waitingOverrideMeshId","_useTextureToStoreBoneMatrices","onBeforeComputeObservable","engineCaps","useTextureToStoreBoneMatrices","_transformMatrices","getBoneIndexByName","nBones","copyAnimationRange","rescaleAsRequired","frameOffset","_getHighestAnimationFrame","boneDict","sourceBones","skelDimensionsRatio","dimensionsAtRest","boneName","sourceBone","highest","sceneAnimatables","getAllAnimatablesByTarget","rangeAnimatable","sceneAnimatable","fromFrame","toFrame","animIndex","isAdditive","_computeTransformMatrices","targetMatrix","initialSkinMatrix","mappedIndex","_matrix","_synchronizedWithMesh","textureWidth","_animatables","Skeleton","parentIndex","rangeName","overrideMeshId","serializedBone","parentBoneIndex","linkedTransformNodeId","parsedSkeleton","parsedBone","parsedBoneIndex","sortBones","_sortBones","_targets","_targetInfluenceChangedObservers","_targetDataLayoutChangedObservers","_activeTargets","_supportsNormals","_supportsTangents","_supportsUVs","_vertexCount","_tempInfluences","enableNormalMorphing","enableTangentMorphing","enableUVMorphing","_influences","addTarget","onInfluenceChanged","_syncActiveTargets","_onDataLayoutChanged","removeTarget","MorphTargetManager","influenceCount","influence","hasTangents","synchronize","targetData","_count","getOrAdd","curVal","getAndRemove","cur","BoundingSphere","tempRadiusVector","squareDistance","sphere0","sphere1","radiusSum","urlOrArrayBuffer","readyToPlayCallback","autoplay","useCustomAttenuation","isPlaying","spatialSound","refDistance","rolloffFactor","maxDistance","distanceModel","onEndedObservable","_panningModel","_playbackRate","_streaming","_startTime","_startOffset","_positionInEmitterSpace","_volume","_isReadyToPlay","_isDirectional","_coneInnerAngle","_coneOuterAngle","_coneOuterGain","_isOutputConnected","_urlType","Sound","_SceneComponentInitialization","_readyToPlayCallback","_customAttenuationFunction","currentVolume","currentDistance","volume","playbackRate","streaming","_length","_offset","canUseWebAudio","audioContext","_soundGain","createGain","gain","_inputAudioNode","_outputAudioNode","_createSpatialParameters","mainSoundTrack","addSound","validParameter","MediaStream","urls","codecSupportedFound","_streamingSource","createMediaStreamSource","play","_soundLoaded","skipCodecCheck","isMP3supported","isOGGsupported","_htmlAudioElement","Audio","controls","preload","removeSound","WarnedWebAudioUnsupported","soundTrackId","soundTracks","_soundPanner","_soundSource","_audioBuffer","pause","_connectedTransformNode","_registerFunc","audioData","decodeAudioData","setAudioBuffer","audioBuffer","updateOptions","_updateSpatialParameters","loopStart","loopEnd","headphone","createPanner","connect","panningModel","switchPanningModelToHRTF","_switchPanningModel","switchPanningModelToEqualPower","connectToSoundTrackAudioNode","soundTrackAudioNode","setDirectionalCone","coneInnerAngle","coneOuterAngle","coneOuterGain","setLocalDirectionToMesh","newLocalDirection","_updateDirection","setOrientation","updateDistanceFromListener","setAttenuationFunction","audioEnabled","startTime","createMediaElementSource","onended","_onended","unlocked","playPromise","lock","onAudioUnlockedObservable","createBufferSource","actualOffset","stopTime","setVolume","newVolume","cancelScheduledValues","setValueAtTime","linearRampToValueAtTime","setPlaybackRate","newPlaybackRate","getVolume","attachToMesh","_onRegisterAfterWorldMatrixUpdate","detachFromMesh","currentOptions","clonedSound","setBufferAndRun","getAudioBuffer","getSoundSource","getSoundGain","connectedMeshId","isDirectional","localDirectionToMesh","parsedSound","sourceSound","soundUrl","soundName","newSound","soundPosition","connectedMesh","_inherits","hasValue","isFilled","SSR","isAdornedStart","startAdornment","_interopRequireWildcard","_default","_possibleConstructorReturn","assertThisInitialized","_createSuper","Derived","hasNativeReflectConstruct","isNativeReflectConstruct","Super","NewTarget","isBrowser","_props$component","_props$square","outlined","rounded","elevations","shadows","shadow","border","objectWithoutPropertiesLoose","_TagManager","_TagManager2","targetId","_targetedAnimations","_from","_to","_speedRatio","_loopAnimation","_isAdditive","onAnimationEndObservable","onAnimationLoopObservable","onAnimationGroupLoopObservable","onAnimationGroupEndObservable","onAnimationGroupPauseObservable","onAnimationGroupPlayObservable","_isStarted","_isPaused","loopAnimation","addTargetedAnimation","targetedAnimation","TargetedAnimation","_processLoop","animatable","onAnimationLoop","_animationLoopFlags","_animationLoopCount","_checkAnimationGroupEnded","goToFrame","setWeightForAllAnimatables","syncAllAnimationsWith","syncWith","newName","newGroup","AnimationGroup","targetAnimation","targetedAnimations","targetedAnimationIndex","parsedAnimationGroup","targetNode","sourceAnimationGroup","sizedFormat","currentFrameBuffer","_createDepthStencilCubeTexture","_createDepthStencilTexture","internalOptions","DEPTH_COMPONENT","DEPTH_COMPONENT24","attributeProcessor","varyingProcessor","varying","hasDrawBuffersExtension","holder","workers","_pendingActions","_workerInfos","worker","terminate","workerInfo","_execute","nextAction","defaultBreakpoints","styleFromPropValue","themeBreakpoints","_themeBreakpoints","styleFunction","newStyleFunction","extended","ReferenceError","_dirty","_tempColor","_globalCurve","_highlightsCurve","_midtonesCurve","_shadowsCurve","_positiveCurve","_negativeCurve","_globalHue","_globalDensity","_globalSaturation","_globalExposure","_highlightsHue","_highlightsDensity","_highlightsSaturation","_highlightsExposure","_midtonesHue","_midtonesDensity","_midtonesSaturation","_midtonesExposure","_shadowsHue","_shadowsDensity","_shadowsSaturation","_shadowsExposure","positiveUniform","neutralUniform","negativeUniform","getColorGradingDataToRef","density","ColorCurves","applyColorGradingSliderNonlinear","fromHSBToRef","brightness","Ripple","_props$pulsate","pulsate","rippleX","rippleY","rippleSize","inProp","_props$onExited","leaving","setLeaving","rippleClassName","ripple","rippleVisible","ripplePulsate","rippleStyles","childClassName","childLeaving","childPulsate","handleExited","timeoutId","TouchRipple","_props$center","centerProp","ripples","setRipples","rippleCallback","ignoringMouseDown","startTimer","startTimerCommit","startCommit","oldRipples","_options$pulsate","_options$center","_options$fakeElement","fakeElement","rect","touches","sizeX","sizeY","persist","TransitionGroup","opacity","animationDuration","ButtonBase","buttonRefProp","buttonRef","_props$centerRipple","centerRipple","_props$disabled","disabled","_props$disableRipple","disableRipple","_props$disableTouchRi","disableTouchRipple","_props$focusRipple","focusRipple","focusVisibleClassName","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","onDragLeave","_props$tabIndex","TouchRippleProps","_props$type","rippleRef","focusVisible","setFocusVisible","_useIsFocusVisible","focusVisibleRef","useRippleHandler","rippleAction","eventCallback","skipRippleAction","handleMouseDown","handleDragLeave","handleMouseUp","handleMouseLeave","handleTouchStart","handleTouchEnd","handleTouchMove","handleBlur","handleFocus","isNonNativeButton","keydownRef","handleKeyUp","defaultPrevented","ComponentProp","buttonProps","handleUserRef","handleOwnRef","handleRef","mountedState","setMountedState","enableTouchRipple","justifyContent","WebkitTapHighlightColor","userSelect","verticalAlign","textDecoration","borderStyle","colorAdjust","ThemeContext","_props$fontSize","htmlColor","titleAccess","_props$viewBox","focusable","pxToRem","colorAction","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeLarge","triggerOptions","onBeforeExecuteObservable","_triggerParameter","_nextActiveAction","_condition","_prepare","_actionManager","_evaluationId","_currentResult","isValid","execute","skipToNextActiveAction","_child","_getProperty","propertyPath","_getEffectiveTarget","_serialize","serializedAction","properties","serializedCondition","_SerializeValueAsString","_GetTargetProperty","targetType","_isMesh","ValueCondition","IsEqual","_target","_effectiveTarget","_property","_IsEqual","_IsDifferent","_IsGreater","_IsLesser","IsGreater","IsLesser","IsDifferent","GetOperatorName","Condition","ActionManager","hasSpecificTriggers","triggers","triggerA","triggerB","parameterPredicate","OnPickTrigger","OnPointerOutTrigger","OnPickUpTrigger","registerAction","OnEveryFrameTrigger","unregisterAction","OnKeyUpTrigger","OnKeyDownTrigger","keyCode","lowerCase","unicode","triggerObject","GetTriggerName","_meshId","parsedActions","parseParameter","effectiveTarget","traverse","parsedAction","combineArray","detached","NothingTrigger","getSoundByName","param","newAction","internalClassType","newInstance","triggerParams","OnLeftPickTrigger","OnRightPickTrigger","OnCenterPickTrigger","OnPickDownTrigger","OnDoublePickTrigger","OnPickOutTrigger","OnLongPressTrigger","OnPointerOverTrigger","OnIntersectionEnterTrigger","OnIntersectionExitTrigger","sound","_sound","stopOtherAnimations","onInterpolationDone","onInterpolationDoneObservable","Orientation","Interpolate","refinedT","refinedT2","radians","_radians","degrees","BetweenTwoPoints","Angle","FromRadians","FromDegrees","startPoint","midPoint","endPoint","startToMid","midToEnd","centerPoint","startAngle","a1","a2","a3","_points","closed","addLineTo","newPoint","previousPoint","addArcTo","midX","midY","endX","endY","numberOfSegments","arc","increment","currentAngle","lastPoint","getPoints","getPointAtLengthPosition","normalizedLengthPosition","lengthPosition","previousOffset","bToA","nextOffset","dir","localOffset","StartingAt","Path2","firstNormal","alignTangentsWithPath","_curve","_distances","_tangents","_binormals","_pointAtData","previousPointArrayIndex","subPosition","interpolateReady","interpolationMatrix","_raw","_alignTangentsWithPath","_compute","getCurve","getBinormals","getDistances","getPointAt","_updatePointAtData","getTangentAt","interpolated","getNormalAt","getBinormalAt","UpReadOnly","getDistanceAt","getPreviousPointIndexAt","getSubPositionAt","getClosestPositionTo","smallestDistance","closestPosition","subLength","_start","curvePoints","slicePoints","Path3D","_getFirstNonNullVector","curTang","prevNor","prevBinor","tg0","pp0","_normalVector","_getLastNonNullVector","nNVector","nLVector","vt","va","tgl","interpolateTNB","_updateInterpolationMatrix","_setPointAtData","currentPoint","currentLength","targetLength","tangentFrom","normalFrom","binormalFrom","tangentTo","normalTo","binormalTo","quatFrom","quatTo","_computeLength","CreateQuadraticBezier","nbPoints","bez","equation","val0","val1","val2","Curve3","CreateCubicBezier","v3","val3","CreateHermiteSpline","t1","t2","hermite","CreateCatmullRomSpline","catmullRom","pointsCount","totalPoints","continue","curve","continuedPoints","_easingMode","EasingFunction","EASINGMODE_EASEIN","setEasingMode","easingMode","getEasingMode","easeInCore","EASINGMODE_EASEOUT","EASINGMODE_EASEINOUT","amplitude","bounces","bounciness","num9","num15","num65","num13","num8","num7","oscillations","springiness","exponent","BezierCurve","SMOOTHING","FFT_SIZE","BARGRAPHAMPLITUDE","DEBUGCANVASPOS","DEBUGCANVASSIZE","_audioEngine","_webAudioAnalyser","createAnalyser","minDecibels","maxDecibels","_byteFreqs","frequencyBinCount","_byteTime","_floatFreqs","getFrequencyBinCount","getByteFrequencyData","smoothingTimeConstant","fftSize","getByteTimeDomainData","getFloatFrequencyData","drawDebugCanvas","_debugCanvas","_debugCanvasContext","workingArray","barWidth","stopDebugCanvas","connectAudioNodes","inputAudioNode","outputAudioNode","hostElement","_audioContext","_audioContextInitialized","_muteButton","useCustomUnlockedButton","onAudioLockedObservable","_tryToRun","_onResize","_moveButtonToTopLeft","AudioContext","webkitAudioContext","audioElem","_hostElement","canPlayType","_displayMuteButton","_initializeAudioContext","_triggerSuspendedState","unlock","_triggerRunningState","_resumeAudioContext","resume","masterGain","_hideMuteButton","SVGSVGElement","createTextNode","offsetTop","offsetLeft","_connectedAnalyser","getGlobalVolume","setGlobalVolume","connectToAnalyser","analyser","_isInitialized","soundCollection","mainTrack","_initializeSoundTrackAudioGraph","parsedData","loadedSound","loadedSounds","sounds","compo","_mainSoundTrack","sdIndex","enableAudio","disableAudio","switchAudioModeForHeadphones","switchAudioModeForNormalSpeakers","audioListenerPositionProvider","audioPositioningRefreshRate","_audioEnabled","_headphone","_audioListenerPositionProvider","_cachedCameraDirection","_cachedCameraPosition","_lastCheck","_afterRender","soundtrack","soundId","removeFromContainer","scIndex","suspend","listeningCamera","AudioSceneComponent","_CameraDirectionRH","_CameraDirectionLH","_zoomStopsAnimation","_idleRotationSpeed","_idleRotationWaitTime","_idleRotationSpinupTime","_isPointerDown","_lastFrameTime","_lastInteractionTime","_cameraRotationSpeed","_lastFrameRadius","_attachedCamera","_onPrePointerObservableObserver","pointerInfoPre","_onAfterCheckInputsObserver","dt","_applyUserInteraction","timeToRotation","_userIsZooming","inertialRadiusOffset","_shouldAnimationStopForInteraction","zoomHasHitLimit","_userIsMoving","inertialAlphaOffset","inertialBetaOffset","inertialPanningX","inertialPanningY","lowerRadiusTransitionRange","upperRadiusTransitionRange","_autoTransitionRange","_radiusIsAnimating","_radiusBounceTransition","_onMeshTargetChangedObserver","onMeshTargetChangedObservable","diagonal","diagonalLength","_isRadiusAtLimit","lowerRadiusLimit","_applyBoundRadiusAnimation","upperRadiusLimit","radiusLimit","radiusDelta","BouncingBehavior","EasingMode","_cachedWheelPrecision","wheelPrecision","_clearAnimationLocks","_mode","FramingBehavior","FitFrustumSidesMode","_radiusScale","_positionScale","_defaultElevation","_elevationReturnTime","_elevationReturnWaitTime","_framingTime","autoCorrectCameraLimitsAndSensibility","_betaIsAnimating","zoomOnMesh","_maintainCameraAboveGround","focusOnOriginXZ","zoomOnBoundingInfo","zoomOnMeshHierarchy","zoomOnMeshesHierarchy","zoomTarget","zoomTargetY","_vectorTransition","_calculateLowerRadiusFromModelBoundingSphere","IgnoreBoundsSizeMode","panningSensibility","_radiusTransition","useInputToRestoreState","boxVectorGlobalDiagonal","frustumSlope","_getFrustumSlope","distanceForHorizontalFrustum","distanceForVerticalFrustum","timeSinceInteraction","defaultBeta","limitBeta","_betaTransition","animatabe","frustumSlopeY","frustumSlopeX","isUserIsMoving","rotatedDirection","ui","distanceAwayFromFace","distanceAwayFromBottomOfFace","_faceVectors","_tmpMatrix","_tmpVector","_zeroVector","_lookAtTmpMatrix","_closestFace","targetDirection","_lookAtToRef","_onRenderObserver","cameraPos","facingUp","intersectsBoxMinMax","intersectionTreshold","newMinimum","Ray","_TmpVector3","newMaximum","maxValue","rr","vertex0","edge1","edge2","pvec","qvec","invdet","bw","intersectsPlane","result1","result2","intersectsAxis","tm","_tmpRay","intersectsMeshes","_comparePickingInfo","pickingInfoA","pickingInfoB","sega","segb","threshold","rsegb","rayl","sc","sN","tc","tN","D","sD","tD","smallnum","qtc","qsc","dP","unprojectRayToRef","CreateNewFromTo","nearScreenSource","farScreenSource","nearVec3","farVec3","_internalPickForMesh","rayFunction","_internalPick","thinInstanceEnablePicking","tmpMatrix","thinMatrices","thinInstanceGetWorldMatrices","_internalMultiPick","pickingInfos","_tempPickingRay","_pickWithRayInverseMatrix","_cachedRayForTransform","_RemoveAndStorePivotPoint","PivotTools","_PivotCached","_OldPivotPoint","_PivotPostMultiplyPivotMatrix","_PivotTranslation","_PivotTmpVector","_RestorePivotPoint","_useAlternatePickedPointAboveMaxDragAngleDragSpeed","maxDragAngle","_useAlternatePickedPointAboveMaxDragAngle","currentDraggingPointerID","dragging","dragDeltaRatio","updateDragPlane","_moving","onDragObservable","onDragStartObservable","onDragEndObservable","moveAttached","startAndReleaseDragOnPointerEvents","detachCameraControls","useObjectOrientationForDragging","validateDrag","targetPosition","_alternatePickedPoint","_worldDragAxis","_targetPosition","_attachedToElement","_startDragRay","_lastPointerRay","_dragDelta","_pointA","_pointC","_localAxis","_lookAt","optionCount","dragAxis","dragPlaneNormal","ownerNode","attachedNode","PointerDragBehavior","_planeScene","_dragPlane","lastDragPosition","pickPredicate","_pointerObserver","_startDrag","releaseDrag","_AnyMouseID","pointerType","MouseEvent","_moveDrag","_beforeRenderObserver","dragPlanePoint","arcRotateCamera","_useCtrlForPanning","_panningMouseButton","startDrag","fromRay","startPickedPoint","lastRay","_updateDragPlanePosition","_pickWithRayOnDragPlane","dragLength","dragDistance","forward","dragPlanePosition","_startDistance","_initialScale","_targetScale","_sceneRenderObserver","_dragBehaviorA","_dragBehaviorB","_getCurrentDistance","_ownerNode","change","_startingOrientation","zDragFactor","rotateDraggedObject","SixDofDragBehavior","_virtualScene","lastSixDofOriginPosition","_virtualOriginMesh","_virtualDragMesh","_pointerCamera","oldParent","originDragDifference","localOriginDragDifference","tmpQuaternion","poleTargetPosition","poleTargetLocalOffset","poleAngle","slerpAmount","_bone1Quat","_bone1Mat","_bone2Ang","_maxAngle","_rightHandedSystem","_bendAxis","_slerping","_adjustRoll","_bone2","_bone1","bonePos","boneScale1","boneScale2","_bone1Length","_bone2Length","pos1","pos2","pos3","maxAngle","targetMesh","poleTargetMesh","poleTargetBone","bendAxis","_setMaxAngle","ang","_maxReach","bone1","poleTarget","mat1","BoneIKController","mat2","upAxis","acosa","acosb","angA","angB","angC","_tmpVec","upAxisSpace","adjustYaw","adjustPitch","adjustRoll","_boneQuat","_firstFrameSkipped","_fowardAxis","maxYaw","minYaw","maxPitch","minPitch","yawAxis","pitchAxis","newYawAxis","newPitchAxis","newRollAxis","_transformYawPitch","_transformYawPitchInv","BONE","_minYaw","_minYawSin","_minYawCos","_maxYaw","_midYawConstraint","_getAngleDiff","_yawRange","_maxYawSin","_maxYawCos","_minPitch","_minPitchTan","_maxPitch","_maxPitchTan","BoneLookController","_tmpMat1","_tmpMat2","checkYaw","checkPitch","spaceMat","spaceMatInv","forwardAxis","rightAxis","xzlen","localTarget","newPitch","newYaw","_isAngleBetween","boneFwd","boneRotMat","boneYaw","_getAngleBetween","angBtwMax","ang1","ang2","angDiff","ab","browserGamepad","leftStickX","leftStickY","rightStickX","rightStickY","_leftStick","_rightStick","_isConnected","_invertLeftStickY","Gamepad","GAMEPAD","_leftStickAxisX","_leftStickAxisY","_rightStickAxisX","_rightStickAxisY","axes","onleftstickchanged","_onleftstickchanged","onrightstickchanged","_onrightstickchanged","newValues","leftStick","rightStick","GENERIC","XBOX","POSE_ENABLED","DUALSHOCK","onButtonDownObservable","onButtonUpObservable","_buttons","buttons","onbuttondown","_onbuttondown","onbuttonup","_onbuttonup","_setButtonValue","buttonIndex","gamepadRotationSensibility","gamepadMoveSensibility","_yAxisScale","gamepadManager","_onGamepadConnectedObserver","onGamepadConnectedObservable","gamepad","_onGamepadDisconnectedObserver","onGamepadDisconnectedObservable","getGamepadByType","RSValues","normalizedRX","normalizedRY","LSValues","normalizedLY","keysReset","zoomingSensibility","useAltToZoom","angularSpeed","_onKeyboardObserver","_ctrlPressed","_altPressed","wheelDeltaPercentage","computeDeltaFromMouseWheelLegacyEvent","mouseWheelDelta","wheelDelta","_wheel","mouseWheelLegacyEvent","deltaY","detail","estimatedTargetRadius","targetInertia","_observer","previousPinchSquaredDistance","previousMultiTouchPanPosition","pointA","pointB","_altKey","_ctrlKey","_metaKey","_shiftKey","_buttonsPressed","_pointerInput","isTouch","isInVRExclusivePointerMode","srcElement","shiftKey","movementX","mozMovementX","webkitMovementX","msMovementX","movementY","mozMovementY","webkitMovementY","msMovementY","onTouch","setPointerCapture","onButtonDown","onDoubleTap","releasePointerCapture","onMultiTouch","onButtonUp","ed","distX","distY","pinchSquaredDistance","multiTouchPanPosition","_onLostFocus","onLostFocus","onContextMenu","inputElement","angularSensibilityX","angularSensibilityY","pinchPrecision","pinchDeltaPercentage","useNaturalPinchZoom","multiTouchPanning","multiTouchPanAndZoom","pinchInwards","_isPanClick","_twoFingerActivityCount","_isPinching","moveDeltaX","moveDeltaY","previousPinchDistance","pinchDistance","pinchToPanMaxDistance","addPointers","addVRDeviceOrientation","alphaCorrection","gammaCorrection","_gamma","_deviceOrientationHandler","_onOrientationEvent","DeviceOrientationEvent","requestPermission","keysForward","keysBackward","buttonsYaw","buttonsPitch","buttonsRoll","activeButton","previousPosition","_rollObserver","rollCorrect","restoreRoll","_onMouseMove","rotateCamera","rotationChange","currentRotation","bankedTurnLimit","_trackRoll","bankedTurn","bankingDelta","bankedTurnMultiplier","keysHeightOffsetIncr","keysHeightOffsetDecr","keysHeightOffsetModifierAlt","keysHeightOffsetModifierCtrl","keysHeightOffsetModifierShift","keysRotationOffsetIncr","keysRotationOffsetDecr","keysRotationOffsetModifierAlt","keysRotationOffsetModifierCtrl","keysRotationOffsetModifierShift","keysRadiusIncr","keysRadiusDecr","keysRadiusModifierAlt","keysRadiusModifierCtrl","keysRadiusModifierShift","heightSensibility","rotationSensibility","radiusSensibility","_shiftPressed","_modifierHeightOffset","heightOffset","_modifierRotationOffset","rotationOffset","_modifierRadius","axisControlRadius","axisControlHeight","axisControlRotation","assert","axisXControlRadius","axisXControlHeight","axisXControlRotation","axisYControlRadius","axisYControlHeight","axisYControlRotation","axisPinchControlRadius","axisPinchControlHeight","axisPinchControlRotation","warningEnable","_warningCounter","_warning","pinchDelta","addDeviceOrientation","_deviceOrientationInput","_screenOrientationAngle","_screenQuaternion","_beta","_onDeviceOrientationChangedObservable","_orientationChanged","_deviceOrientation","_constantTranform","WaitForOrientationChangeAsync","rej","gotValue","eventHandler","gamepadAngularSensibility","_cameraTransform","_deltaTransform","_vector3","_vector2","gamepads","normalizedLX","JoystickAxis","leftJoystick","customizations","VirtualJoystick","_GetDefaultOptions","_leftJoystick","_globalJoystickIndex","_axisTargetedByLeftAndRight","_axisTargetedByUpAndDown","reverseLeftRight","reverseUpDown","_touches","_joystickSensibility","_inversedSensibility","vjCanvasWidth","vjCanvasHeight","Canvas","vjCanvasContext","strokeStyle","lineWidth","pressed","limitToContainer","_joystickColor","containerSize","puckSize","puckImage","setPuckImage","containerImage","setContainerImage","alwaysVisible","_alwaysVisibleSticks","_joystickPointerID","_joystickPointerPos","_joystickPreviousPointerPos","_joystickPointerStartPos","_deltaJoystickVector","_onPointerDownHandlerRef","_onPointerMoveHandlerRef","_onPointerUpHandlerRef","_drawVirtualJoystick","setJoystickSensibility","newJoystickSensibility","_joystickPosition","_action","prevX","prevY","deltaJoystickX","deltaJoystickY","_clearPreviousDraw","touch","clearRect","setJoystickColor","newColor","_joystickContainerSize","_clearContainerSize","_clearContainerSizeOffset","_joystickPuckSize","_clearPuckSize","_clearPuckSizeOffset","clearPosition","_alwaysVisible","setActionOnTouch","setAxisForLeftRight","setAxisForUpDown","jp","urlPath","_containerImage","_puckImage","_drawContainer","beginPath","stroke","_drawPuck","releaseCanvas","addVirtualJoystick","getLeftJoystick","_leftjoystick","getRightJoystick","_rightjoystick","cameraTransform","deltaTransform","touchAngularSensibility","touchMoveSensibility","allowMouse","lowerAlphaLimit","upperAlphaLimit","lowerBetaLimit","upperBetaLimit","panningDistanceLimit","panningOriginTarget","panningInertia","zoomOnFactor","targetScreenOffset","allowUpsideDown","panningAxis","collisionRadius","_previousPosition","_collisionVelocity","_computationVector","cosa","sina","cosb","sinb","_getTargetPosition","_collisionTriggered","_upToYMatrix","_YToUpMatrix","setMatUp","pointers","mousewheel","_bouncingBehavior","useBouncingBehavior","_framingBehavior","useFramingBehavior","_autoRotationBehavior","useAutoRotationBehavior","_targetHost","_targetBoundingCenter","_storedAlpha","_storedBeta","_storedRadius","_storedTarget","_storedTargetScreenOffset","useCtrlForPanning","panningMouseButton","_reset","_checkLimits","rebuildAnglesAndRadius","previousAlpha","alphaCorrectionTurns","toBoundingCenter","allowSamePosition","newTarget","zoomOn","doNotUpdateMaxZ","focusOn","meshesOrMinMaxVectorAndDistance","alphaShift","rigCam","ArcRotateCamera","_tmpDragQuaternion","_disablePointerInputWhenUsingDeviceOrientation","_dragFactor","_quaternionCache","_allowCameraRotation","onPointerMovedObservable","_initialQuaternion","enableHorizontalDragging","dragFactor","resetToCurrentRotation","axisName","rate","PoseEnabledControllerType","lowerRotationOffsetLimit","upperRotationOffsetLimit","lowerHeightOffsetLimit","upperHeightOffsetLimit","cameraAcceleration","maxCameraSpeed","_follow","cameraTarget","yRotation","targetX","targetZ","dx","dy","dz","vx","vy","vz","_cartesianCoordinates","_meshTarget","Xbox360Button","Xbox360Dpad","InitiateController","vrGamepad","_ControllerFactories","canCreate","_DefaultControllerFactory","isXR","_deviceRoomPosition","_deviceRoomRotationQuaternion","deviceRotationQuaternion","deviceScaleFactor","_trackPosition","_maxRotationDistFromHeadset","_draggedRoomRotation","_leftHandSystemQuaternion","_deviceToWorld","_pointingPoseNode","_workingMatrix","_meshAttachedObservable","controllerType","_calculatedPosition","_calculatedRotation","_disableTrackPosition","fixedPosition","_updatePoseAndMesh","pose","updateFromDevice","_computeDevicePosition","distanceAway","rotationAmount","poseData","rawPose","_poseControlledCamera","attachToPoseControlledCamera","forwardWorld","POINTING_POSE","DualShockButton","DualShockDpad","xboxOne","_leftTrigger","_rightTrigger","onPadDownObservable","onPadUpObservable","_buttonA","_buttonB","_buttonX","_buttonY","_buttonBack","_buttonStart","_buttonLB","_buttonRB","_buttonLeftStick","_buttonRightStick","_dPadUp","_dPadDown","_dPadLeft","_dPadRight","_isXboxOnePad","onlefttriggerchanged","_onlefttriggerchanged","onrighttriggerchanged","_onrighttriggerchanged","ondpaddown","_ondpaddown","ondpadup","_ondpadup","buttonType","_setDPadValue","A","B","Start","Back","LB","RB","LeftStick","RightStick","buttonA","buttonB","buttonX","buttonY","buttonLB","buttonRB","leftTrigger","rightTrigger","buttonBack","buttonStart","buttonLeftStick","buttonRightStick","dPadUp","dPadDown","dPadLeft","dPadRight","_buttonCross","_buttonCircle","_buttonSquare","_buttonTriangle","_buttonShare","_buttonOptions","_buttonL1","_buttonR1","Circle","Square","Triangle","Options","Share","L1","R1","buttonCross","buttonCircle","buttonSquare","buttonTriangle","buttonL1","buttonR1","buttonShare","buttonOptions","_babylonGamepads","_oneGamepadConnected","_isMonitoring","_gamepadEventSupported","_gamepadSupport","getGamepads","webkitGetGamepads","msGetGamepads","webkitGamepads","_onGamepadConnectedEvent","newGamepad","isConnected","_addNewGamepad","_startMonitoringGamepads","_onGamepadDisconnectedEvent","disconnectedGamepad","_updateGamepadObjects","_stopMonitoringGamepads","dualShock","PoseEnabledControllerHelper","_checkGamepadsStatus","_gamepadManager","addGamepad","_beforeCameraUpdate","targetCamera","PassPostProcess","_face","PassCubePostProcess","_passedProcess","isStereoscopicHoriz","isCrossEye","compensateDistortion","multiviewEnabled","hResolution","vResolution","postProcessScaleFactor","vScreenSize","eyeToScreenDistance","hScreenSize","lensSeparationDistance","interpupillaryDistance","GetDefault","VRCameraMetrics","vScreenCenter","distortionK","chromaAbCorrection","lensCenterOffset","isRightEye","_isRightEye","_distortionFactors","_postProcessScaleFactor","_lensCenterOffset","_scaleIn","_scaleFactor","_lensCenter","createMultiviewRenderTargetTexture","bindMultiviewFramebuffer","texStorage3D","DEPTH32F_STENCIL8","multiviewTexture","ext","framebufferTextureMultisampleMultiviewOVR","framebufferTextureMultiviewOVR","_resizeOrCreateMultiviewTexture","_createMultiviewUbo","scaleFactor","isLeftCamera","metrics","vrCameraMetrics","leftHMatrix","leftPreViewMatrix","rightHMatrix","rightPreViewMatrix","vrDisplay","leftEye","getEyeParameters","rightEye","specs","frameData","parentCamera","_vrExclusivePointerMode","_vrSupported","onVRDisplayChangedObservable","onVRRequestPresentComplete","onVRRequestPresentStart","isVRDevicePresent","_vrDisplay","getVRDevice","initWebVRAsync","eventArgs","vrSupported","_webVRInitPromise","_onVrDisplayConnect","_onVrDisplayDisconnect","cancelAnimationFrame","_onVrDisplayPresentChange","isPresenting","_getVRDisplaysAsync","getVRDisplays","devices","enableVR","presentationAttributes","highRefreshRate","vrPresentationAttributes","foveationLevel","useMultiview","requestPresent","_onVRFullScreenTriggered","_oldSize","_oldHardwareScaleFactor","exitPresent","_onVRDisplayPointerRestricted","_onVRDisplayPointerUnrestricted","submitFrame","webVROptions","_vrDevice","_specsVersion","_attached","_descendants","_standingMatrix","_worldToDevice","controllers","onControllersAttachedObservable","onControllerMeshLoadedObservable","onPoseUpdatedFromDeviceObservable","_poseSet","rigParenting","_defaultHeight","_detachIfAttached","_workingVector","_oneVector","defaultHeight","trackPosition","controllerMeshes","defaultLightingOnControllers","positionScale","_onVREnabled","initControllers","_frameData","VRFrameData","isController","controller","deviceDistanceToRoomGround","useStandingMatrix","stageParameters","sittingToStandingTransform","useStandingMatrixAsync","supported","_updateCacheWhenTrackingDisabledObserver","getControllerByName","gp","hand","_leftController","_rightController","getFrameData","resetPose","_correctPositionIfNotTrackPosition","isViewMatrix","updateCacheCalled","viewArray","leftViewMatrix","rightViewMatrix","depthNear","depthFar","projectionArray","leftProjectionMatrix","rightProjectionMatrix","webVrController","defaultModel","controllerIndex","initControllerMesh","loadedMesh","_lightOnControllers","firstViveWandDetected","VIVE","onTriggerStateChangedObservable","onMainButtonStateChangedObservable","onSecondaryButtonStateChangedObservable","onPadStateChangedObservable","onPadValuesChangedObservable","pad","_changes","pressChanged","touchChanged","valueChanged","onButtonStateChange","_onButtonStateChange","_defaultModel","currentState","touched","_checkChanges","_handleButtonChange","_fromLinearSpace","FROMLINEARSPACE","fromLinearSpace","doNotBuild","toneMappingType","generateOctree","_subdivisionsX","_subdivisionsY","optimize","chunksCount","octreeBlocksSize","createOrUpdateSubmeshesOctree","getHeightAtCoordinates","tmpVect","_minX","_maxX","_minZ","_maxZ","_heightQuads","_initHeightQuads","_computeHeightQuads","_getFacetAt","getNormalAtCoordinates","getNormalAtCoordinatesToRef","tmpMat","updateCoordinateHeights","col","_width","_height","quad","slope","facet1","facet2","subdivisionsX","subdivisionsY","v4","v1v2","v1v3","v1v4","norm1","norm2","cd","d1","d2","GroundMesh","tileRow","tileCol","tileSize","applyTile","xTileMin","zTileMin","xTileMax","zTileMax","rowLength","colorFilter","bufferWidth","bufferHeight","idx1","idx2","idx3","idx4","isVisibleIdx1","isVisibleIdx2","isVisibleIdx3","ground","tiledGround","outerAngle","innerAngle","textureCoordinate","nextI","nextJ","torus","hasRings","enclose","surfaceNb","angle_step","ringVertex","ringNormal","ringFirstVertex","ringFirstNormal","quadNormal","ringIdx","cs","i2","i3","createCylinderCap","isTop","circleVector","vbase","textureScale","WebXRState","WebXRTrackingState","cylinder","GetDefaults","WebXRManagedOutputCanvasOptions","canvasOptions","framebufferScaleFactor","newCanvasCssStyle","_xrSessionManager","xrLayer","onXRLayerInitObservable","canvasElement","_setManagedOutputCanvas","cssText","onXRSessionInit","_addCanvas","onXRSessionEnded","_removeCanvas","initializeXRLayerAsync","xrSession","createLayer","XRWebGLLayer","canvasContext","makeXRCompatible","_setCanvasSize","_originalCanvasSize","offsetWidth","offsetHeight","_sessionEnded","baseLayer","currentTimestamp","defaultHeightCompensation","onXRFrameObservable","onXRReferenceSpaceChanged","_referenceSpace","newReferenceSpace","exitXRAsync","session","getRenderTargetTextureForEye","_rttProvider","getRenderTargetForEye","getWebXRRenderTarget","_xrNavigator","xr","native","initializeAsync","initializeSessionAsync","xrSessionMode","xrSessionInit","requestSession","framebufferDimensionsObject","once","isSessionSupportedAsync","sessionMode","WebXRSessionManager","IsSessionSupportedAsync","resetReferenceSpace","referenceSpace","baseReferenceSpace","runXRRenderLoop","timestamp","xrFrame","getNativeRenderTargetProvider","_createRenderTargetTexture","setReferenceSpaceTypeAsync","referenceSpaceType","requestReferenceSpace","rejectionReason","heightCompensation","XRRigidTransform","getOffsetReferenceSpace","viewerReferenceSpace","updateRenderStateAsync","updateRenderState","functionToUse","isSessionSupported","supportsSession","returnValue","gazeTrackerToClone","_pointerDownOnMeshAsked","_isActionableMesh","_teleportationRequestInitiated","_teleportationBackRequestInitiated","_rotationRightAsked","_rotationLeftAsked","_dpadPressed","_activePointer","VRExperienceHelperGazer","_idCounter","_gazeTracker","targetMat","_getForwardRay","_selectionPointerDown","_currentHit","_selectionPointerUp","_activatePointer","_deactivatePointer","_updatePointerDistance","_interactionsEnabled","_teleportationEnabled","webVRController","_laserPointer","laserPointerMaterial","preloadMesh","preloadPointerPose","_setLaserPointerParent","_meshAttachedObserver","_setLaserPointerColor","_setLaserPointerLightingDisabled","makeNotPick","meshChildren","laserParent","_webVRsupported","_webVRready","_webVRrequesting","_webVRpresenting","_fullscreenVRpresenting","enableGazeEvenWhenNoPointerLock","exitVROnDoubleTap","onEnteringVRObservable","onAfterEnteringVRObservable","onExitingVRObservable","_useCustomVRButton","_teleportationRequested","_teleportActive","_floorMeshesCollection","_teleportationMode","VRExperienceHelper","TELEPORTATIONMODE_CONSTANTTIME","_teleportationTime","_teleportationSpeed","_rotationAllowed","_teleportBackwardsVector","_isDefaultTeleportationTarget","_teleportationFillColor","_teleportationBorderColor","_rotationAngle","_haloCenter","_padSensibilityUp","_padSensibilityDown","_gazeColor","_laserColor","_pickedLaserColor","_pickedGazeColor","onNewMeshSelected","onMeshSelectedWithController","onNewMeshPicked","onBeforeCameraTeleport","onAfterCameraTeleport","onSelectedMeshUnselected","teleportationEnabled","_teleportationInitialized","_interactionsRequested","_displayGaze","_displayLaserPointer","updateGazeTrackerScale","updateGazeTrackerColor","updateControllerLaserColor","requestPointerLockOnFullScreen","xrTestDone","moveButtonToBottomRight","exitVR","msFullscreenElement","_inputElement","_btnVR","updateButtonVisibility","_cachedAngularSensibility","_castRayAndSelectObject","_noControllerIsActive","_cameraGazer","_onNewGamepadConnected","stickValues","_checkTeleportWithRay","_checkTeleportBackwards","_checkRotate","buttonPressed","_tryEnableInteractionOnController","_enableInteractionOnController","_enableTeleportationOnController","_onNewGamepadDisconnected","_workingQuaternion","useXR","createFallbackVRDeviceOrientationFreeCamera","createDeviceOrientationCamera","laserToggle","useCustomVRButton","customVRButton","rayLength","_rayLength","_hasEnteredVR","_deviceOrientationCamera","_existingCamera","createDefaultXRExperienceAsync","floorMeshes","baseExperience","onStateChangedObservable","ENTERING_XR","pointerSelection","displayLaserPointer","EXITING_XR","IN_XR","NOT_IN_XR","completeVRInit","_teleportationTarget","_webVRCamera","_vrDeviceOrientationCamera","vrDeviceOrientationCameraMetrics","currentVRCamera","isInVRMode","enterVR","onmsfullscreenchange","displayVRButton","_onVRDisplayChanged","onVRDisplayChanged","_onVRRequestPresentStart","_onVRRequestPresentComplete","_onDefaultMeshLoaded","_circleEase","_teleportationEasing","vrDeviceOrientationCamera","enableTeleportation","onVrDisplayPresentChange","wasPresenting","_btnVRDisplayed","enterXRAsync","currentYRotation","currentGlobalRotation","enableInteractions","raySelectionPredicate","_floorMeshName","meshSelectionPredicate","_raySelectionPredicate","_isTeleportationFloor","addFloorMesh","floorMesh","removeFloorMesh","vrTeleportationOptions","floorMeshName","teleportation","teleportationMode","teleportationTime","teleportationSpeed","_postProcessMove","_createTeleportationCircles","stateObject","displayGaze","gazer","teleportCamera","_rotateCamera","dynamicTexture","teleportationCircleMaterial","diffuseTexture","animationInnerCircle","_hideTeleportationTarget","_displayTeleportationTarget","animationRotation","animationRotationKeys","animationPP","vignetteWeightKeys","animationPP2","vignetteStretchKeys","_moveTeleportationSelectorTo","pickNormal","_convertNormalToDirectionOfRay","lastFrame","TELEPORTATIONMODE_CONSTANTSPEED","dist","animationCameraTeleportation","animationCameraTeleportationKeys","midFrame","multiplier","deltaFighting","_currentMeshSelected","_notifySelectedMeshUnselected","changeGazeColor","changeLaserColor","gazerAsControllerGazer","setLaserColor","pickedColor","setLaserLightingState","setGazeColor","getLowestRoot","maxR","sqrtD","r1","r2","_collisionPoint","_planeIntersectionPoint","_tempVector","_tempVector2","_tempVector3","_tempVector4","_edge","_baseToVertex","_destinationPoint","_slidePlaneNormal","_displacementVector","_retry","_basePointWorld","_velocityWorld","_normalizedVelocity","_initialize","_velocity","_basePoint","_velocityWorldLength","_epsilon","collisionFound","_checkPointInTriangle","pa","pb","pc","vecMin","vecMax","boxMin","boxMax","intersectBoxAASphere","_testTriangle","trianglePlaneArray","hasMaterial","hostMesh","embeddedInPlane","trianglePlane","signedDistToTrianglePlane","normalDotVelocity","velocitySquaredLength","lowestRoot","edgeSquaredLength","edgeDotVelocity","edgeDotBaseToVertex","distToCollision","_nearestDistance","collisionResponse","intersectionPoint","pts","indexEnd","_getResponse","vel","_scaledPosition","_scaledVelocity","_finalPosition","maximumRetry","excludedMesh","onNewPosition","collisionIndex","_initialVelocity","_initialPosition","velocity","finalPosition","closeDistance","surroundingMeshes","collisionGroup","maxDepth","creationFunc","_boundingVectors","_capacity","_depth","_maxDepth","_creationFunc","_minPoint","_maxPoint","addEntry","blocks","createInnerBlocks","removeEntry","entryIndex","addEntries","select","selection","allowDuplicate","intersectsRay","OctreeBlock","_CreateBlocks","worldMin","worldMax","maxBlockCapacity","currentDepth","blockSize","dynamicContent","_maxBlockCapacity","_selectionContent","CreationFuncForMeshes","CreationFuncForSubMeshes","createOrUpdateSelectionOctree","maxCapacity","_selectionOctree","worldExtends","_submeshesOctree","bbox","DebugLayerTab","checksIsEnabled","_tempRay","sceneOctree","selectionOctree","localRay","gizmoLayer","DefaultUtilityLayer","_attachedMesh","_attachedNode","_isHovered","_customMeshSet","_updateGizmoRotationToMatchAttachedMesh","updateGizmoPositionToMatchAttachedMesh","updateScale","_tempQuaternion","_tempMatrix1","_tempMatrix2","_rightHandtoLeftHandMatrix","_rootMesh","_attachedNodeChanged","setCustomMesh","effectiveNode","attachedMesh","updateGizmoRotationToMatchAttachedMesh","cameraPosition","scaleRatio","_matrixChanged","worldMatrixUC","parentInv","localMat","invParent","boneLocalMatrix","Gizmo","GizmoAxisPointerObserver","gizmoAxisCache","colliderMeshes","gizmoMeshes","hoverMaterial","disableMaterial","snapDistance","onSnapObservable","_dragging","_coloredMaterial","_hoverMaterial","_disableMaterial","arrow","AxisDragGizmo","_CreateArrow","_gizmoMesh","currentSnapDragDistance","tmpSnapEvent","dragBehavior","dragSteps","addToAxisCache","isCollider","line","_CreateArrowInstance","matl","scaleLines","_scaleLinesFactor","redColoredMaterial","greenColoredMaterial","blueColoredMaterial","_xAxis","_yAxis","_zAxis","AxesViewer","_SetRenderingGroupId","axesViewer","_debugLayer","BJSINSPECTOR","_getGlobalInspector","Inspector","OnPropertyChangedObservable","_onPropertyChangedObservable","_createInspector","observers","userOptions","overlay","showExplorer","showInspector","embedMode","handleResize","enablePopup","Show","lineContainerTitles","MarkLineContainerTitleForHighlighting","MarkMultipleLineContainerTitlesForHighlighting","OnSelectionChangeObservable","INSPECTOR","IsVisible","Hide","setAsActiveScene","_SetNewScene","show","inspectorUrl","inspectorURL","DebugLayer","InspectorURL","diameterX","diameterY","diameterZ","dedupTopBottomIndices","totalZRotationSteps","totalYRotationSteps","zRotationStep","normalizedZ","angleZ","yRotationStep","normalizedY","angleY","rotationZ","rotationY","afterRotZ","complete","firstIndex","jointData","nativeParams","_physicsJoint","newJoint","physicsPlugin","_physicsPlugin","executeNativeFunction","DistanceJoint","HingeJoint","BallAndSocketJoint","WheelJoint","SliderJoint","PrismaticJoint","UniversalJoint","Hinge2Joint","PhysicsJoint","PointToPointJoint","SpringJoint","LockJoint","updateDistance","minDistance","updateDistanceJoint","setMotor","maxForce","setLimit","upperLimit","lowerLimit","targetSpeed","motorIndex","mass","friction","restitution","_pluginData","_bodyUpdateRequired","_onBeforePhysicsStepCallbacks","_onAfterPhysicsStepCallbacks","_onPhysicsCollideCallbacks","_deltaPosition","soft","_tmpQuat2","beforeStep","_physicsEngine","_deltaRotationConjugated","getParentsRotation","disableBidirectionalTransformation","getPhysicsPlugin","setPhysicsBodyTransformation","afterStep","setTransformationFromPhysicsBody","_deltaRotation","onCollideEvent","otherImpostor","getImpostorWithPhysicsBody","otherImpostors","pressure","stiffness","velocityIterations","positionIterations","fixedPoints","damping","_joints","ignoreParent","_init","getBodyMass","setMass","getBodyFriction","setBodyFriction","getBodyRestitution","setBodyRestitution","setBodyPressure","getBodyPressure","getBodyStiffness","setBodyStiffness","getBodyVelocityIterations","setBodyVelocityIterations","getBodyPositionIterations","setBodyPositionIterations","removeImpostor","physicsBody","_getPhysicsParent","addImpostor","isBodyInitRequired","_physicsBody","setScalingUpdated","removePhysicsBody","resetUpdateFlags","getObjectExtendSize","PhysicsImpostor","IDENTITY_QUATERNION","DEFAULT_OBJECT_SIZE","getObjectCenter","paramName","setParam","setBodyMass","getLinearVelocity","setLinearVelocity","getAngularVelocity","setAngularVelocity","registerBeforePhysicsStep","unregisterBeforePhysicsStep","registerAfterPhysicsStep","unregisterAfterPhysicsStep","registerOnPhysicsCollide","collideAgainst","collidedAgainstList","unregisterOnPhysicsCollide","cbDef","sameList","applyForce","contactPoint","applyImpulse","createJoint","jointType","joint","addJoint","addAnchor","noCollisionBetweenLinkedBodies","appendAnchor","addHook","appendHook","sleep","sleepBody","wakeUp","wakeUpBody","newObject","removeJoint","setDeltaPosition","setDeltaRotation","getBoxSizeToRef","getRadius","syncBoneWithImpostor","boneMesh","jointPivot","distToJoint","adjustRotation","tempVec","tempQuat","syncImpostorWithBone","boneAxis","boneDir","NoImpostor","SphereImpostor","BoxImpostor","PlaneImpostor","MeshImpostor","CapsuleImpostor","CylinderImpostor","ParticleImpostor","HeightmapImpostor","ConvexHullImpostor","CustomImpostor","RopeImpostor","ClothImpostor","SoftbodyImpostor","_impostors","_numMeshes","_debugMeshMeshes","physicEngine","_physicsEnginePlugin","_utilityLayer","_updateDebugMeshes","hideImpostor","syncMeshWithImpostor","showImpostor","debugMesh","_getDebugMesh","_renderFunction","_getDebugMaterial","_debugMaterial","_getDebugBoxMesh","_debugBoxMesh","_getDebugSphereMesh","_debugSphereMesh","_getDebugCylinderMesh","_debugCylinderMesh","_getDebugMeshMesh","wireframeOver","bi","instancedBuffers","_sourceMesh","tempMaster","registerInstancedBuffer","_userInstancedBuffersStorage","expectedSize","_colorShader","_addClipPlaneDefine","_removeClipPlaneDefine","colorEffect","LinesMesh","vertexColors","shft","dashshft","curvect","curshft","vertexColor","lineColors","lineSystem","LinesBuilder","nbSeg","dashedLines","CreateAndShow","helper","RayHelper","_render","_renderPoints","_renderLine","meshSpaceDirection","meshSpaceOrigin","_attachedToMesh","_meshSpaceDirection","_meshSpaceOrigin","_onAfterStepObserver","_updateToMesh","invertUV","defaultOffset","minlg","customUV","customColors","us","vs","uTotalDistance","vTotalDistance","ar1","ar2","path1","path2","idc","closePathCorr","l1","path1nb","indexFirst","indexLast","positions32","normals32","uvs32","_idx","si","pathPoint","colorIndex","areNormalsFrozen","isFacetDataEnabled","ribbon","DeviceType","PointerInput","DualShockInput","XboxInput","SwitchInput","ShapeBuilder","_ExtrudeShapeGeneric","rotateFunction","rbCA","rbCP","custom","updtbl","path3D","extrusionPathArray","shapePaths","binormals","scl","shapePath","angleStep","planed","rotated","capPath","pointCap","barycenter","storage","extrudedGeneric","autoUpdateBonesMatrices","_debugLines","_localAxes","_obs","_ready","pauseAnimations","displayMode","SkeletonViewer","DISPLAY_LINES","displayOptions","midStep","midStepFactor","sphereBaseSize","sphereScaleUnit","sphereFactor","spurFollowsChild","showLocalAxes","localAxesSize","useAllBones","initialMeshBoneIndices","initialMeshBoneWeights","_boneIndices","DISPLAY_SPHERE_AND_SPURS","_bindObs","CreateBoneWeightShader","colorBase","colorZero","colorQuarter","colorHalf","colorFull","targetBoneIndex","CreateSkeletonMapShader","colorMap","colorMapBuffer","_CreateBoneMapColorBuffer","tempGrad","grad","createLinearGradient","addColorStop","_debugMesh","_displayLinesUpdate","DISPLAY_SPHERES","_buildSpheresAndSpurs","_buildLocalAxes","_getBonePosition","meshMat","tmat2","_getLinesForBonesWithLength","meshPos","_getLinesForBonesNoLength","boneNum","childBone","_revert","utilityLayer","_getAbsoluteBindPoseToRef","spheresOnly","ready","spheres","spurs","NEGATIVE_INFINITY","boneAbsoluteBindPoseTransform","anchorPoint","bc","childAbsoluteBindPoseTransform","childPoint","distanceFromParent","up0","spur","numVertices","mwk","mik","_stepsOut","targetScene","red","green","blue","boneOrigin","boneAxisX","boneAxisY","boneAxisZ","linePoints","changeDisplayMode","wasEnabled","changeDisplayOptions","option","onDeviceDisconnected","_inputs","_keyboardActive","_pointerActive","_keyboardDownEvent","_keyboardUpEvent","_pointerMoveEvent","_pointerDownEvent","_pointerUpEvent","_gamepadConnectedEvent","_gamepadDisconnectedEvent","_onDeviceConnected","_elementToAttachTo","_handleKeyActions","_handlePointerActions","_handleGamepadActions","_checkForConnectedDevices","deviceType","deviceSlot","DeviceInputSystem","pollInput","inputIndex","device","_updateDevice","_addGamePad","matchMedia","_addPointerDevice","Mouse","_getGamepadDeviceType","_registerDevice","_gamepads","currentX","currentY","_MAX_POINTER_INPUTS","numberOfInputs","onDeviceConnected","_unregisterDevice","Keyboard","_MAX_KEYCODES","kbKey","onInputChanged","Touch","deviceName","DualShock","Xbox","Generic","deviceInputSystem","onInputChangedObservable","_deviceInputSystem","getInput","onDeviceConnectedObservable","getDevices","onDeviceDisconnectedObservable","numberOfDeviceTypes","_devices","_firstDevice","_addDevice","getDeviceSource","_removeDevice","getDeviceSources","deviceArray","deviceSet","_updateFirstDevices","_timeElapsedQueryEnded","occlusionInternalRetryCounter","isOccluded","occlusionRetryCount","occlusionType","occlusionQueryAlgorithmType","createQuery","isQueryResultAvailable","getQueryParameter","QUERY_RESULT_AVAILABLE","getQueryResult","QUERY_RESULT","beginOcclusionQuery","algorithmType","glAlgorithm","_getGlAlgorithmType","beginQuery","endOcclusionQuery","endQuery","_createTimeQuery","createQueryEXT","_deleteTimeQuery","deleteQueryEXT","_getTimeQueryResult","getQueryObjectEXT","QUERY_RESULT_EXT","_getTimeQueryAvailability","QUERY_RESULT_AVAILABLE_EXT","startTimeQuery","token","_TimeToken","GPU_DISJOINT_EXT","_startTimeQuery","queryCounterEXT","_currentNonTimestampToken","_timeElapsedQuery","beginQueryEXT","TIME_ELAPSED_EXT","endTimeQuery","_endTimeQuery","endQueryEXT","disjoint","available","timeStart","ANY_SAMPLES_PASSED_CONSERVATIVE","ANY_SAMPLES_PASSED","_occlusionDataStorage","__occlusionDataStorage","dataStorage","occlusionQueryResult","getBoundingBoxRenderer","occlusionBoundingBoxRenderer","renderOcclusionBoundingBox","TRANSFORM_FEEDBACK","beginTransformFeedback","usePoints","endTransformFeedback","INTERLEAVED_ATTRIBS","bindTransformFeedbackBuffer","bindBufferBase","TRANSFORM_FEEDBACK_BUFFER","updateVideoTexture","_videoTextureSupported","videoWidth","videoHeight","restoreSingleAttachment","bindAttachments","buildTextureLayout","textureStatus","attachments","readBuffer","createMultipleRenderTarget","generateDepthTexture","textureCount","types","samplingModes","MultiRenderTarget","depthTexture","updateMultipleRenderTargetTextureSampleCount","registerView","views","masterCanvas","newView","unRegisterView","previewCamera","activeView","dimsChanged","transformTextureUrl","_excludedCompressedTextures","strRegExPattern","lastQuestionMark","querystring","_textureFormatInUse","texturesSupported","setCompressedTextureExclusions","skippedFiles","setTextureFormatToUse","formatsAvailable","len1","len2","sourceCode","numMaxIterations","_sourceCode","_numMaxIterations","_functionDescr","inlineToken","processCode","_collectFunctions","_processInlining","inlineTokenIndex","funcParamsStartIndex","funcNameMatch","ShaderCodeInliner","_RegexpFindFunctionNameAndType","funcType","funcName","funcParamsEndIndex","_extractBetweenMarkers","funcParams","funcBodyStartIndex","_skipWhitespaces","funcBodyEndIndex","funcBody","_removeComments","paramNames","partBefore","partAfter","_replaceFunctionCallsByCode","markerOpen","markerClose","currPos","openMarkers","waitForChar","currChar","nextChar","inComments","doAgain","functionCallIndex","callParamsStartIndex","callParamsEndIndex","callParams","retParamName","callIndex","_replaceNames","injectDeclarationIndex","_findBackward","partBetween","_escapeRegExp","sources","destinations","INVALID_HANDLE","_boundBuffersVertexArray","_currentDepthTest","DEPTH_TEST_LEQUAL","unbindFramebuffer","CLEAR_FLAG_COLOR","CLEAR_FLAG_DEPTH","CLEAR_FLAG_STENCIL","updateable","nativeIndexBuffer","nativeVertexBuffer","_recordVertexArrayObject","vertexArray","recordIndexBuffer","recordVertexBuffer","_getNativeAttribType","nativePipelineContext","nativeProgram","drawIndexed","NativePipelineContext","vertexInliner","fragmentInliner","setProgram","setViewPort","setDepthTest","DEPTH_TEST_ALWAYS","DEPTH_TEST_GREATER","DEPTH_TEST_GEQUAL","DEPTH_TEST_LESS","noDepthWriteChange","_getNativeAlphaMode","setBlendMode","getAlphaMode","NativeEngine","webGLTexture","loadTexture","getTextureWidth","getTextureHeight","_getNativeSamplingMode","setTextureSampling","createDepthTexture","loadCubeTextureWithMips","reorderedFiles","loadCubeTexture","_getNativeTextureFormat","setTextureWrapMode","_getAddressMode","_updateAnisotropicLevel","setTextureAnisotropicLevel","wrapMode","ADDRESS_MODE_WRAP","ADDRESS_MODE_CLAMP","ADDRESS_MODE_MIRROR","deleteIndexBuffer","deleteVertexBuffer","TEXTURE_FORMAT_RGBA8","TEXTURE_FORMAT_RGBA32F","ATTRIB_TYPE_UINT8","ATTRIB_TYPE_INT16","ATTRIB_TYPE_FLOAT","DAYDREAM","meshLoaded","DaydreamController","MODEL_BASE_URL","MODEL_FILENAME","newMeshes","buttonIdx","changes","observable","GAMEPAD_ID_PREFIX","gamepadInfo","_buttonIndexToObservableNameMap","GEAR_VR","GearVRController","GenericController","onSecondaryTriggerStateChangedObservable","onThumbRestChangedObservable","OCULUS","meshName","OculusTouchController","MODEL_LEFT_FILENAME","MODEL_RIGHT_FILENAME","_IsQuest","QUEST_MODEL_BASE_URL","notifyObject","triggerDirection","ViveController","buttonMeshes","axisMeshes","_mapping","buttonMeshNames","buttonObservableNames","axisMeshNames","pointingPoseMeshName","onTrackpadChangedObservable","onTrackpadValuesChangedObservable","trackpad","WINDOWS","_loadedMeshInfo","_updateTrackpad","_lerpAxisTransform","buttonName","_lerpButtonTransform","buttonValue","meshInfo","unpressed","axisValue","lerpValue","forceDefault","WindowsMotionController","GAMEPAD_ID_PATTERN","processModel","rootNode","loadedMeshInfo","parentMesh","createMeshInfo","LoadedMeshInfo","buttonMeshName","buttonMesh","getChildByName","buttonMeshInfo","getImmediateChildByName","axisMeshName","axisMesh","axisMeshInfo","pointingPoseNode","thumbstickValues","onThumbstickStateChangedObservable","onThumbstickValuesChangedObservable","uniformScaling","sensitivity","_tmpMatrix2","_createGizmoMesh","arrowMesh","arrowTail","nodePosition","linePosition","lineScale","increaseGizmoMesh","dragStrength","resetGizmoMesh","snapped","maxScale","uniformScaleGizmo","useGizmoMaterial","DefaultKeepDepthUtilityLayer","_boundingDimensions","_renderObserver","_scaleDragSpeed","_tmpRotationMatrix","ignoreChildren","includeChildPredicate","rotationSphereSize","scaleBoxSize","fixedDragMeshScreenSize","fixedDragMeshBoundsSize","fixedDragMeshScreenSizeDistanceFactor","onScaleBoxDragObservable","onScaleBoxDragEndObservable","onRotationSphereDragObservable","onRotationSphereDragEndObservable","scalePivot","_existingMeshScale","_dragMesh","pointerDragBehavior","_anchorMesh","coloredMaterial","hoverColoredMaterial","_lineBoundingBox","setColor","_rotateSpheresParent","_dragBehavior","startingTurnDirection","totalTurnAmountOfDrag","originalParent","worldDragDirection","toSub","projectDist","updateBoundingBox","_updateDummy","_selectNode","_scaleBoxesParent","zeroAxisCount","relativeDragDistance","deltaScale","pointerIds","_updateRotationSpheres","_updateScaleBoxes","selectedMesh","originalSkeletonOverrideMesh","boundingMinMax","rotateSpheres","distanceFromCamera","scaleBoxes","setEnabledRotationAxis","setEnabledScaling","homogeneousScaling","enableMesh","enableDragBehavior","MakeNotPickableAndWrapInBoundingBox","makeNotPickable","oldPos","oldRot","planeNormal","useEulerRotation","rotationMesh","rotationCirclePaths","_rotationCircle","setupRotationCircle","planeNormalTowardsCamera","localPlaneNormalTowardsCamera","originalRotationPoint","dragStartPoint","updateRotationCircle","amountToRotate","nodeScale","nodeQuaternion","nodeTranslation","originalVector","cameraFlipped","camVec","quaternionCoefficient","paths","PlaneRotationGizmo","_CircleConstants","pi2","rotationCircleRange","updateRotationPath","pathArr","newFill","tessellationCounter","radianCounter","absI","absP","gizmoManager","_gizmoAxisCache","xGizmo","yGizmo","zGizmo","gizmo","_meshAttached","_nodeAttached","_checkBillboardTransform","hovered","isHovered","PlaneDragGizmo","_CreatePlane","dragPlane","_planarGizmoEnabled","xPlaneGizmo","yPlaneGizmo","zPlaneGizmo","_snapDistance","polyhedra","sizeZ","nbfaces","faceIdx","indexes","fl","polyhedron","_sensitivity","_createUniformScaleMesh","_uniformScalingMesh","_octahedron","msh","keepDepthUtilityLayer","clearGizmoOnEmptyPointerEvent","onAttachedToMeshObservable","onAttachedToNodeObservable","_gizmosEnabled","positionGizmo","rotationGizmo","scaleGizmo","boundingBoxGizmo","_pointerObservers","_boundingBoxColor","_thickness","boundingBoxDragBehavior","attachableMeshes","attachableNodes","usePointerToAttachGizmos","_defaultUtilityLayer","_defaultKeepDepthUtilityLayer","gizmos","attachToMeshPointerObserver","_attachToMeshPointerObserver","gizmoAxisPointerObserver","boundingBoxGizmoEnabled","attachToNode","halfSphere","disc","merged","_cachedPosition","_cachedForward","onClickedObservable","_light","_attachedMeshParent","_lightMesh","LightGizmo","_CreateHemisphericLightMesh","_CreateDirectionalLightMesh","_CreateSpotLightMesh","_CreatePointLightMesh","gizmoLight","lightGizmo","hemisphere","_CreateLightLines","_Scale","arrowHead","levels","linePivot","PositionNormalVertex","PositionNormalTextureVertex","_invProjection","_cameraLinesMesh","_cameraMesh","CameraGizmo","_CreateCameraMesh","_CreateCameraFrustum","cameraGizmo","cyl1","cyl2","cyl3","kernel","varyingCount","depCount","_packedFloat","_staticDefines","_idealKernel","_kernel","_nearestBestKernel","N","centerIndex","offsets","weights","totalWeight","_gaussianWeight","linearSamplingWeights","linearSamplingOffsets","linearSamplingMap","sharedCell","weightLinear","offsetLinear","maxVaryingRows","freeVaryingVec2","_glslFloat","packedFloat","idealKernel","sigma","decimalFigures","BlurPostProcess","_mirrorMatrix","_adaptiveBlurKernel","_blurKernelX","_blurKernelY","_blurRatio","_updateGammaSpace","_imageProcessingConfigChangeObserver","_savedViewMatrix","_preparePostProcesses","_autoComputeBlurKernel","blurKernelX","blurKernelY","dw","dh","_blurX","_blurY","MirrorTexture","GAMMADIFFUSE","DIFFUSEHASALPHA","REFLECTIONBLUR","REFLECTIONFALLOFF","TEXTURELODSUPPORT","USERGBCOLOR","USEHIGHLIGHTANDSHADOWCOLORS","BACKMAT_SHADOWONLY","NOISE","REFLECTIONBGR","EQUIRECTANGULAR_RELFECTION_FOV","primaryColor","_primaryColorShadowLevel","_primaryColorHighlightLevel","reflectionBlur","_shadowLights","shadowLights","shadowLevel","sceneCenter","opacityFresnel","reflectionFresnel","reflectionFalloffDistance","reflectionAmount","reflectionReflectance0","reflectionReflectance90","useRGBColor","enableNoise","_fovMultiplier","useEquirectangularFOV","_shadowOnly","shadowOnly","switchToBGR","_reflectionControls","_white","_primaryShadowColor","_primaryHighlightColor","__perceptualColor","_computePrimaryColorFromPerceptualColor","_computePrimaryColors","reflectionWeight","BackgroundMaterial","StandardReflectance0","StandardReflectance90","_opacityFresnel","_reflectionBlur","_useRGBColor","_enableNoise","_primaryColor","_errorHandler","EnvironmentHelper","_getDefaultOptions","_setupBackground","_setupImageProcessing","createGround","groundSize","groundTexture","_groundTextureCDNUrl","groundOpacity","enableGroundShadow","groundShadowLevel","enableGroundMirror","groundMirrorSizeRatio","groundMirrorBlurKernel","groundMirrorAmount","groundMirrorFresnelWeight","groundMirrorFallOffDistance","groundMirrorTextureType","groundYBias","createSkybox","skyboxSize","skyboxTexture","_skyboxTextureCDNUrl","skyboxColor","backgroundYRotation","sizeAuto","rootPosition","setupImageProcessing","_environmentTextureCDNUrl","cameraExposure","cameraContrast","_skybox","_skyboxTexture","_skyboxMaterial","_ground","_groundTexture","_groundMirror","_groundMaterial","newOptions","setMainColor","groundMaterial","skyboxMaterial","groundMirror","_setupEnvironmentTexture","sceneSize","_getSceneSize","_setupGround","_setupGroundMaterial","_setupGroundDiffuseTexture","_setupGroundMirrorTexture","_setupMirrorInGroundMaterial","_setupSkybox","_setupSkyboxMaterial","_setupSkyboxReflectionTexture","sceneExtends","sceneDiagonal","sceneDiagonalLenght","wrapping","adaptiveBlurKernel","reflectionStandardFresnelWeight","textureUrlOrElement","_halfDome","_crossEye","_useDirectMapping","_textureMode","TextureDome","MODE_MONOSCOPIC","onLoadErrorObservable","resolution","clickToPlay","autoPlay","useDirectMapping","faceForward","fovMultiplier","_initTexture","_halfDomeMask","halfDomeMode","crossEyeMode","_changeTextureMode","MODE_SIDEBYSIDE","isRightCamera","MODE_TOPBOTTOM","textureMode","urlsOrElement","DDSD_MIPMAPCOUNT","DDPF_LUMINANCE","FourCCToInt32","FOURCC_DXT1","FOURCC_DXT3","FOURCC_DXT5","FOURCC_DX10","GetDDSInfo","extendedHeader","headerLengthInt","mipmapCount","fourCC","dxgiFormat","isFourCC","isRGB","isLuminance","_ToHalfFloat","DDSTools","_FloatView","_Int32View","bits","_FromHalfFloat","_GetHalfFloatAsFloatRGBAArrayBuffer","dataOffset","destArray","srcData","srcPos","StoreLODInAlphaChannel","_GetHalfFloatRGBAArrayBuffer","_GetFloatRGBAArrayBuffer","_GetFloatAsUIntRGBAArrayBuffer","_GetHalfFloatAsUIntRGBAArrayBuffer","_GetRGBAArrayBuffer","rOffset","gOffset","bOffset","aOffset","byteArray","_ExtractLongWordOrder","_GetRGBArrayBuffer","_GetLuminanceArrayBuffer","UploadDDSLevels","loadMipmaps","faces","currentFace","sphericalPolynomialFaces","mip","internalCompressedFormat","blockBytes","bpp","computeFormats","COMPRESSED_RGBA_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT3_EXT","COMPRESSED_RGBA_S3TC_DXT5_EXT","floatArray","unpackAlignment","unpaddedRowSize","minLODIndex","supportCascades","loadCubeData","imgs","_setCubeMapTextureParams","facesExpected","threeDExpected","textureArrayExpected","isInvalid","KhronosTextureContainer","IsValid","dataSize","headerDataView","littleEndian","glType","glTypeSize","glFormat","glInternalFormat","glBaseInternalFormat","pixelWidth","pixelHeight","pixelDepth","numberOfArrayElements","numberOfFaces","numberOfMipmapLevels","bytesOfKeyValueData","loadType","COMPRESSED_2D","uploadLevels","_upload2DCompressedLevels","TEX_2D","COMPRESSED_3D","TEX_3D","HEADER_LEN","imageSize","identifier","numWorkers","KhronosTextureContainer2","DefaultNumWorkers","_Initialized","_CreateWorkerPool","GetDefaultNumWorkers","hardwareConcurrency","Worker","_WorkerPoolPromise","workerContent","workerFunc","workerBlobUrl","workerPromises","onMessage","postMessage","URLConfig","KTX2DECODER","MSCTranscoder","UseFromWorkerThread","WASMMemoryManager","LoadBinariesFromCurrentThread","uploadAsync","compressedTexturesCaps","workerPool","decodedData","msg","_Ktx2Decoder","KTX2Decoder","transcodedFormat","isInGammaSpace","transcoderName","errors","mipmap","jsDecoderModule","wasmUASTCToASTC","wasmUASTCToBC7","wasmUASTCToRGBA_UNORM","wasmUASTCToRGBA_SRGB","jsMSCTranscoder","wasmMSCTranscoder","ktx2Decoder","onmessage","importScripts","LiteTranscoder_UASTC_ASTC","WasmModuleURL","LiteTranscoder_UASTC_BC7","LiteTranscoder_UASTC_RGBA_UNORM","LiteTranscoder_UASTC_RGBA_SRGB","JSModuleURL","buffers","ktx","_firstFrame","_referenceQuaternion","_referencedPosition","_xrInvPositionCache","_xrInvQuaternionCache","_trackingState","NOT_TRACKING","onTrackingStateChanged","compensateOnFirstFrame","_rotate180","_updateNumberOfRigCameras","_updateFromXRSession","_updateReferenceSpace","_setTrackingState","basePose","getViewerPose","_updateForDualEyeDebugging","setTransformationFromNonVRCamera","otherCamera","resetToBaseReferenceSpace","trackingState","emulatedPosition","TRACKING_LOST","TRACKING","currentRig","renderState","getViewport","viewCount","removedCamera","_updateReferenceSpaceOffset","positionOffset","ignoreHeight","transform2","ANCHOR_SYSTEM","BACKGROUND_REMOVER","HIT_TEST","PHYSICS_CONTROLLERS","PLANE_DETECTION","POINTER_SELECTION","TELEPORTATION","FEATURE_POINTS","HAND_TRACKING","_features","getEnabledFeatures","featureName","feature","featureImplementation","disableAutoAttach","attachFeature","detachFeature","AddWebXRFeature","constructorFunction","stable","_AvailableFeatures","latest","ConstructFeature","xrSessionManager","GetAvailableFeatures","GetAvailableVersions","GetLatestVersionOfFeature","GetStableVersionOfFeature","disableFeature","Name","enableFeature","moduleOptions","attachIfPossible","required","versionToLoad","WebXRFeaturesManager","constructFunction","constructed","dependsOn","isCompatible","getEnabledFeature","extendXRSessionInitObject","nativeName","xrNativeFeatureName","requiredFeatures","optionalFeatures","_nonVRCamera","_originalSceneAutoClear","_supported","onInitialXRPoseSetObservable","sessionManager","featuresManager","CreateAsync","WebXRExperienceHelper","_setState","sessionCreationOptions","_nonXRToXRCamera","_buttonIndex","_axesIndices","_axes","_currentValue","_hasChanges","_pressed","_touched","onAxisValueChangedObservable","onButtonStateChangedObservable","isAxes","isButton","nativeController","buttonUpdated","axesUpdate","previous","BUTTON_TYPE","SQUEEZE_TYPE","THUMBSTICK_TYPE","TOUCHPAD_TYPE","TRIGGER_TYPE","layout","gamepadObject","handedness","_doNotLoadControllerMesh","_initComponent","componentDef","gamepadIndices","_modelReady","disableAnimation","onModelLoadedObservable","getComponentIds","getComponent","rootMesh","getAllComponentsOfType","getComponentOfType","getMainComponent","selectComponentId","loadModel","useGeneric","_getModelLoadingConstraints","loadingParams","_getGenericFilenameAndPath","_getFilenameAndPath","_getGenericParentMesh","_setRootMesh","_processLoadedModel","profileId","updateFromXRFrame","updateModel","pulse","hapticActuatorIndex","hapticActuators","_getChildByName","_getImmediateChildByName","_lerpTransform","axisMap","fixValueCoordinates","minMesh","maxMesh","valueMesh","_updateModel","GenericTriggerLayout","WebXRGenericTriggerMotionController","ProfileId","rootNodeName","visualResponses","gamepadMapping","assetPath","none","xrInput","_profile","_repositoryUrl","layouts","_buttonMeshMapping","_touchDots","visResKey","glbLoaded","componentInLayout","mainMesh","visualResponseKey","visResponse","valueNodeProperty","valueNodeName","minNodeName","maxNodeName","nameOfMesh","touchPointNodeName","_xrFrame","hasChanges","componentProperty","ClearProfilesCache","_ProfilesList","_ProfileLoadingPromises","DefaultFallbacks","RegisterFallbacksForProfileId","FindFallbackWithProfileId","returnArray","_Fallbacks","GetMotionControllerWithXRInput","forceProfile","profileArray","profiles","windowsMRIdx","UseOnlineRepository","firstFunction","PrioritizeOnlineRepository","_LoadProfileFromRepository","_LoadProfilesFromAvailableControllers","RegisterController","_AvailableControllers","UpdateProfilesList","BaseRepositoryUrl","profilesList","profileToLoad","profile","constructionFunction","idCount","inputSource","_disposed","onMeshLoadedObservable","onMotionControllerInitObservable","targetRayMode","gripSpace","grip","forceControllerProfile","motionController","doNotLoadControllerMesh","disableMotionControllerAnimation","getWorldPointerRayToRef","gripIfAvailable","getPose","targetRaySpace","xrCamera","onControllerAddedObservable","onControllerRemovedObservable","_onInputSourcesChange","_addAndRemoveControllers","_sessionEndedObserver","_sessionInitObserver","_frameObserver","customControllersRepositoryURL","disableOnlineControllerRepository","addInputs","removeInputs","controllerOptions","forceInputProfile","doNotLoadControllerMeshes","disableControllerAnimation","keepControllers","removedControllers","_removeOnDetach","_addNewAttachObserver","_onXRFrame","_attachController","xrController","_controllers","_generateNewMeshPair","laserPointer","selectionMesh","tmpRay","WebXRControllerPointerSelection","_attachedController","enablePointerSelectionOnAllControllers","preferredHandedness","_attachTrackedPointerRayMode","_attachGazeMode","_attachScreenRayMode","_tmpVectorForPickCompare","disablePointerLighting","disableSelectionMeshLighting","displaySelectionMesh","laserPointerPickedColor","laserPointerDefaultColor","selectionMeshDefaultColor","selectionMeshPickedColor","_identityMatrix","_screenCoordinatesRef","_viewportRef","_detachController","gazeCamera","webXRCamera","controllerId","getMeshUnderPointer","getXRControllerByPointerId","controllerGlobalPosition","controllerData","maxPointerDistance","disableScenePointerVectorUpdate","timeToSelect","sceneToRenderTo","useUtilityLayer","customUtilityLayerScene","oldPick","discMesh","downTriggered","onFrameObserver","_pickingMoved","disablePointerUpOnTouchOut","forceGazeMode","overrideButtonId","selectionComponent","onButtonChangedObserver","disableSwitchOnClick","selectStartListener","selectEndListener","eventListeners","selectend","selectstart","xrControllerUniqueId","eventName","meshParent","newPick","gazeModePointerMovedFactor","WebXRFeatureName","WebXRAbstractFeature","TimerState","_activeButton","activeButtonChangedObservable","classList","customButtons","hmdBtn","WebXREnterExitUIButton","_updateButtons","renderCanvas","WebXREnterExitUI","supportedPromises","onclick","prevTitle","setAndStartTimer","observableParameters","contextObservable","completeRate","onTick","breakCondition","onAborted","onEnded","onEachCountObservable","onTimerAbortedObservable","onTimerEndedObservable","_breakOnNextTick","_tick","_timer","_timeToEnd","shouldBreak","_breakCondition","_stop","INIT","_contextObservable","_observableParameters","clearObservables","timeToEnd","STARTED","ENDED","_snappedToPoint","backwardsMovementEnabled","backwardsTeleportationDistance","parabolicCheckRadius","parabolicRayEnabled","straightRayEnabled","rotationAngle","_rotationEnabled","forceHandedness","teleportationState","backwards","rotating","baseRotation","movementController","useMainComponentOnly","teleportationComponent","_currentTeleportationControllerId","timeToTeleport","_teleportForward","onAxisChangedObserver","axesData","snapPointsOnly","realWorldHeight","_floorMeshes","rotationEnabled","teleportationTargetMesh","_createDefaultTargetMesh","_snapToPositions","snapPositions","_setTargetMeshVisibility","snapToPoints","addSnapPoint","newSnapPoint","removeFloorMeshByName","removeSnapPoint","snapPointToRemove","setSelectionFeature","selectionFeature","_selectionFeature","hitPossible","pickBlockerMeshes","_setTargetMeshPosition","_showParabolicPath","xRotation","compensation","defaultTargetMeshOptions","teleportationTarget","teleportationFillColor","teleportationBorderColor","cone","torusArrowMaterial","torusConeMaterial","_teleportationRingMaterial","_findClosestSnapPointWithRadius","realPosition","snapToPositionRadius","closestPoint","closestDistance","snapPosition","visible","_quadraticBezierCurve","quadraticBezierVectors","generateRayPathMesh","WebXRDefaultExperience","xrHelper","ignoreNativeCameraTransformation","inputOptions","useStablePlugins","disableTeleportation","outputCanvasOptions","disableDefaultUI","uiOptions","enterExitUI","createDefaultLight","createDefaultCamera","createArcRotateCamera","attachCameraControls","worldSize","worldCenter","freeCamera","createDefaultCameraOrLight","createDefaultSkybox","pbr","blur","setGlobalEnvTexture","hdrSkybox","hdrSkyboxMaterial","createDefaultEnvironment","createDefaultVRExperience","settings","autoUpdateTexture","_onUserActionRequestedObservable","_stillImageCaptured","_displayingPosterTexture","_currentSrc","_createInternalTexture","_settings","poster","_updateInternalTexture","onplaying","muted","playing","HAVE_CURRENT_DATA","frameId","_getName","_getVideo","_createInternalTextureOnEvent","videoHasEnoughData","HTMLVideoElement","currentSrc","updateTexture","paused","VideoTexture","CreateFromStreamAsync","stream","mozSrcObject","srcObject","mozURL","msURL","onPlaying","CreateFromWebCamAsync","constraints","audioConstaints","constraintsDeviceId","deviceId","mediaDevices","getUserMedia","audio","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","CreateFromWebCam","videoTexture","tempOptions","_captureGPUFrameTime","_gpuFrameTime","_captureShaderCompilationTime","_shaderCompilationTime","_onBeginFrameObserver","_onEndFrameObserver","_onBeforeShaderCompilationObserver","_onAfterShaderCompilationObserver","_gpuFrameTimeToken","_captureActiveMeshesEvaluationTime","_activeMeshesEvaluationTime","_captureRenderTargetsRenderTime","_renderTargetsRenderTime","_captureFrameTime","_frameTime","_captureRenderTime","_renderTime","_captureInterFrameTime","_interFrameTime","_captureParticlesRenderTime","_particlesRenderTime","_captureSpritesRenderTime","_spritesRenderTime","_capturePhysicsTime","_physicsTime","_captureAnimationsTime","_animationsTime","_captureCameraRenderTime","_cameraRenderTime","_onBeforeActiveMeshesEvaluationObserver","_onAfterActiveMeshesEvaluationObserver","_onBeforeRenderTargetsRenderObserver","_onAfterRenderTargetsRenderObserver","_onBeforeDrawPhaseObserver","_onAfterDrawPhaseObserver","_onBeforeAnimationsObserver","_onBeforeParticlesRenderingObserver","_onAfterParticlesRenderingObserver","_onBeforeSpritesRenderingObserver","_onAfterSpritesRenderingObserver","_onBeforePhysicsObserver","_onAfterPhysicsObserver","_onAfterAnimationsObserver","onBeforeSpritesRenderingObservable","onAfterSpritesRenderingObservable","onBeforePhysicsObservable","onAfterPhysicsObservable","_mainTextureDesiredSize","_emissiveTextureAndColor","neutralColor","disableBoundingBoxesFromEffectLayer","onBeforeRenderMainTextureObservable","onBeforeComposeObservable","onBeforeRenderMeshToEffect","onAfterRenderMeshToEffect","onAfterComposeObservable","EffectLayer","effectLayers","_generateIndexBuffer","_generateVertexBuffer","_effectLayerOptions","mainTextureRatio","alphaBlendingMode","_setMainTextureSize","_createMainTexture","_createTextureAndPostProcesses","_mergeEffect","_createMergeEffect","mainTextureFixedSize","_mainTexture","opaqueSubMeshes","alphaTestSubMeshes","transparentSubMeshes","depthOnlySubMeshes","_renderSubMesh","previousAlphaMode","boundingBoxRendererEnabled","_addCustomEffectDefines","emissiveTexture","needAlphaTest","needAlphaBlendFromDiffuse","useAlphaFromDiffuseTexture","opacityTexture","morphInfluencers","_effectLayerMapGenerationEffect","currentEffect","_internalRender","_disposeTextureAndPostProcesses","hasMesh","_shouldRenderMesh","_canRenderMesh","_shouldRenderEmissiveTextureForMesh","ownerMesh","_setEmissiveTextureAndColor","_useMeshMaterial","textureMatrix","parsedEffectLayer","effectLayer","removeEffectLayer","addEffectLayer","newEffectLayer","_renderEffects","_needStencil","_previousStencilState","_isReadyForMesh","_renderMainTexture","_setStencil","_drawRenderingGroup","_setStencilBack","_drawCamera","needStencil","getGlowLayerByName","EffectName","_intensity","_meshesUsingTheirOwnMaterials","GlowLayer","DefaultTextureRatio","blurKernelSize","mainTextureSamples","_horizontalBlurPostprocess1","_verticalBlurPostprocess1","_horizontalBlurPostprocess2","_verticalBlurPostprocess2","blurTextureWidth","blurTextureHeight","_blurTexture1","blurTextureWidth2","blurTextureHeight2","_blurTexture2","_postProcesses1","_postProcesses2","internalTexture2","previousStencilBuffer","textureLevel","customEmissiveTextureSelector","customEmissiveColorSelector","addExcludedMesh","removeExcludedMesh","addIncludedOnlyMesh","removeIncludedOnlyMesh","referenceMeshToUseItsOwnMaterial","unReferenceMeshFromUsingItsOwnMaterial","_disposeMesh","includedMeshes","parsedGlowLayer","DefaultBlurKernelSize","getHighlightLayerByName","innerGlow","outerGlow","onBeforeBlurObservable","onAfterBlurObservable","_instanceGlowingMeshStencilReference","HighlightLayer","GlowingMeshStencilReference","NeutralColor","blurTextureSizeRatio","blurHorizontalSize","blurVerticalSize","_horizontalBlurPostprocess","_verticalBlurPostprocess","isStroke","_blurTexture","_downSamplePostprocess","highlightLayerMesh","glowEmissiveOnly","beforeBind","meshExcluded","meshHighlight","observerHighlight","_defaultStencilReference","observerDefault","meshHighlightToCheck","removeAllMeshes","NormalMeshStencilReference","parsedHightlightLayer","hl","highlightedMesh","imgUrl","_system","lensFlares","AddFlare","LensFlare","borderLimit","viewportBorder","LensFlareSystem","_emitter","lensFlareSystems","meshesSelectionPredicate","getEmitter","setEmitter","newEmitter","getEmitterPosition","computeEffectivePosition","globalViewport","_positionX","_positionY","_isVisible","awayX","awayY","away","centerX","centerY","flare","parsedLensFlareSystem","emitterId","lensFlareSystem","flares","parsedFlare","lf","getLensFlareSystemByName","getLensFlareSystemByID","removeLensFlareSystem","addLensFlareSystem","newLensFlareSystem","tmpMatrix2","mapSize","usefulFloatFirst","onBeforeShadowMapRenderObservable","onAfterShadowMapRenderObservable","onBeforeShadowMapRenderMeshObservable","onAfterShadowMapRenderMeshObservable","_bias","_normalBias","_blurBoxOffset","_blurScale","_blurKernel","_useKernelBlur","_filter","ShadowGenerator","FILTER_NONE","_filteringQuality","QUALITY_HIGH","_contactHardeningLightSizeUVRatio","_darkness","_transparencyShadow","enableSoftTransparentShadow","frustumEdgeFalloff","forceBackFacesOnly","_lightDirection","_cachedDirection","_currentFaceIndex","_currentFaceIndexCache","_defaultTextureMatrix","_mapSize","_initializeGenerator","_applyFilterValues","normalBias","_disposeBlurPostProcesses","_depthScale","_validateFilter","FILTER_BLUREXPONENTIALSHADOWMAP","useExponentialShadowMap","FILTER_BLURCLOSEEXPONENTIALSHADOWMAP","useCloseExponentialShadowMap","FILTER_PCF","FILTER_PCSS","usePoissonSampling","FILTER_POISSONSAMPLING","FILTER_EXPONENTIALSHADOWMAP","FILTER_CLOSEEXPONENTIALSHADOWMAP","filteringQuality","contactHardeningLightSizeUVRatio","setDarkness","getDarkness","darkness","setTransparencyShadow","transparent","_shadowMap","getShadowMapForRendering","_shadowMap2","CLASSNAME","addShadowCaster","removeShadowCaster","getLight","recreateShadowMap","_initializeShadowMap","_createTargetRenderTexture","_storedUniqueId","_renderForShadowMap","sceneUBO","useBlurExponentialShadowMap","useBlurCloseExponentialShadowMap","_blurPostProcesses","clearZero","clearOne","RTT","_initializeBlurRTTAndPostProcesses","targetSize","blurScale","useKernelBlur","_kernelBlurXPostprocess","blurKernel","_kernelBlurYPostprocess","_boxBlurPostprocess","colorWrite","_renderSubMeshForShadowMap","_bindCustomEffectForRenderSubMeshForShadowMap","matriceNames","viewProjection","worldViewProjection","worldView","isTransparent","customAllowRendering","depthScale","standalone","baseMaterial","alphaTexture","_matriceNames","_isReadyCustomDefines","_prepareShadowDefines","usePercentageCloserFiltering","useContactHardeningShadow","customShaderOptions","attrib","sampler","QUALITY_LOW","QUALITY_MEDIUM","_currentRenderID","lightPosition","_disposeRTTandPostProcesses","lightId","transparencyShadow","blurBoxOffset","parsedShadowGenerator","constr","useVarianceShadowMap","useBlurVarianceShadowMap","storeNonLinearDepth","useOnlyInActiveCamera","_storeNonLinearDepth","isPacked","_clearColor","DepthRenderer","_depthMap","renderSubMesh","numMorphInfluencers","getDepthMap","_depthRenderer","setDepthRenderer","depthRenderer","_depthRendererId","setSourceTexture","depthRedux","deactivate","disposeAll","onAfterReductionPerformed","_forceFullscreenViewport","_activated","_sourceTexture","_reductionSteps","reductionInitial","reduction","minmax","UpDir","ZeroVec","tmpv1","tmpv2","CascadedShadowGenerator","IsSupported","_numCascades","MIN_CASCADES_COUNT","MAX_CASCADES_COUNT","_freezeShadowCastersBoundingInfo","_freezeShadowCastersBoundingInfoObservable","_computeShadowCastersBoundingInfo","_scbiMin","_scbiMax","MIN_VALUE","_shadowCastersBoundingInfo","setMinMaxDistance","_minDistance","_maxDistance","_breaksAreDirty","getCascadeMinExtents","cascadeIndex","_cascadeMinExtents","getCascadeMaxExtents","_cascadeMaxExtents","_debug","dbg","_depthClamp","_cascadeBlendPercentage","_lambda","lambda","getCascadeViewMatrix","cascadeNum","_viewMatrices","getCascadeProjectionMatrix","_projectionMatrices","getCascadeTransformMatrix","_depthReducer","_autoCalcDepthBounds","splitFrustum","_splitFrustum","near","far","cameraRange","_cascades","prevBreakDistance","breakDistance","_viewSpaceFrustumsZ","_frustumLengths","_computeMatrices","_computeFrustumInWorldSpace","_computeCascadeFrustum","_frustumCenter","_shadowCameraPos","_transformMatricesAsArray","prevSplitDist","splitDist","invViewProj","cornerIndex","frustumCornersNDCSpace","_frustumCornersWorldSpace","stabilizeCascades","lightCameraPos","penumbraDarkness","DEFAULT_CASCADES_COUNT","freezeShadowCastersBoundingInfo","_currentLayer","numCascades","_lightSizeUVCorrection","_depthCorrection","cascadeBlendPercentage","depthClamp","autoCalcDepthBounds","shadowGenerators","_gatherRenderTargets","_loadingText","_loadingDivBackgroundColor","_resizeLoadingUI","canvasPositioning","getComputedStyle","_loadingDiv","gridTemplateRows","gridTemplateColumns","justifyItems","_loadingTextDiv","fontFamily","innerHTML","svgSupport","imgBack","DefaultLoadingScreen","DefaultLogoUrl","gridColumn","gridRow","imageSpinnerContainer","imgSpinner","DefaultSpinnerUrl","webkitAnimation","webkitTransformOrigin","logoSize","loadingSize","ConvertPanoramaToCubemap","inputWidth","inputHeight","CreateCubemapTexture","FACE_FRONT","FACE_BACK","FACE_LEFT","FACE_RIGHT","FACE_UP","FACE_DOWN","texSize","rotDX1","rotDX2","fy","xv1","xv2","CalcProjectionSpherical","theta","phi","px","py","inputY","Ldexp","mantissa","Rgbe2float","float32array","readStringLine","uint8array","character","RGBE_ReadHeader","endOfHeader","findFormat","lineIndex","dataPosition","GetCubeMapTextureData","hdrInfo","RGBE_ReadPixels","RGBE_ReadPixels_RLE","num_scanlines","scanline_width","dataIndex","scanLineArrayBuffer","scanLineArray","resultBuffer","resultArray","RGBE_ReadPixels_NOT_RLE","EffectRenderer","_DefaultOptions","_fullscreenViewport","applyEffectWrapper","effectWrapper","depthCullingState","stencilState","restoreStates","isRenderTargetTexture","outputTexture","creationOptions","effectCreationOptions","uniformNames","useShaderStore","attributeNames","samplerNames","hdrScale","_createRenderTarget","_prefilterInternal","_effectWrapper","_effectRenderer","intTexture","_createEffect","prefilter","onFinished","generateHarmonics","prefilterOnLoad","_generateHarmonics","_onLoad","_onError","_prefilterOnLoad","byteBuffer","dataFace","HDRCubeTexture","_facesMapping","useInGammaSpace","PhysicsEngine","DefaultPluginFactory","_subTimeStep","setGravity","setTimeStep","newTimeStep","setSubTimeStep","subTimeStep","getSubTimeStep","getPhysicsPluginName","generatePhysicsBody","mainImpostor","connectedImpostor","impostorJoint","generateJoint","matchingJoints","_step","executeStep","getImpostors","raycast","_hasHit","_hitDistance","_hitNormalWorld","_hitPointWorld","_rayFromWorld","_rayToWorld","setHitData","hitNormalWorld","hitPointWorld","setHitDistance","calculateHitDistance","_useDeltaForWorldStep","cannonInjection","_physicsMaterials","_fixedTimeStep","_physicsBodysToRemoveAfterStep","_minus90X","_plus90X","_tmpPosition","_tmpDeltaPosition","_tmpUnityRotation","BJSCANNON","_extendNamespace","World","broadphase","NaiveBroadphase","solver","_cannonRaycastResult","RaycastResult","_raycastResult","impostors","_removeMarkedPhysicsBodiesFromWorld","worldPoint","Vec3","impulse","_createShape","oldBody","_addMaterial","bodyCreationObject","nativeOptions","Body","addShape","_processChildMeshes","_updatePhysicsBodyTransformation","childImpostor","pPosition","mainBody","connectedBody","constraintData","pivotA","mainPivot","pivotB","connectedPivot","axisA","mainAxis","axisB","connectedAxis","collideConnected","collision","HingeConstraint","DistanceConstraint","springData","Spring","restLength","localAnchorA","localAnchorB","LockConstraint","PointToPointConstraint","physicsJoint","addConstraint","forceApplicationCallback","removeConstraint","currentMat","_checkWithEpsilon","radiusX","radiusY","radiusZ","Sphere","radiusTop","radiusBottom","numSegments","Cylinder","setFromAxisAngle","transformAllPoints","Box","rawVerts","rawFaces","oldPosition","oldRotation","oldQuaternion","Trimesh","oldPosition2","oldRotation2","oldQuaternion2","_createHeightmap","Particle","pointDepth","arraySize","dim","elementSize","loc","Heightfield","oldPivot","angularVelocity","updateMassProperties","enableMotor","setMotorSpeed","motorEquation","minForce","shapes","boundingSphereRadius","halfExtents","step_tmp1","timeSinceLastCalled","internalStep","h_div_dt","interpvelo","bodies","STATIC","sleepState","SLEEPING","vsub","vadd","interpolatedPosition","interpolatedQuaternion","raycastClosest","hasHit","oimoInjection","_tmpImpostorsArray","_tmpPositionVector","BJSOIMO","contact","contacts","touching","sleeping","collidingImpostor","invScale","bodyConfig","posShape","rot","rotShape","move","radToDeg","resetQuaternion","updatePosition","removeRigidBody","nativeJointData","axe1","axe2","spring","getQuaternion","syncShapes","awake","linearVelocity","staticBody","setupMass","limitMotor","motor","rotationalLimitMotor2","rotationalLimitMotor1","rotationalLimitMotor","halfDepth","ammoInjection","overlappingPairCache","bjsAMMO","_maxSteps","_tmpContactCallbackResult","_tmpContactPoint","_collisionConfiguration","btSoftBodyRigidBodyCollisionConfiguration","_dispatcher","btCollisionDispatcher","_overlappingPairCache","btDbvtBroadphase","_solver","btSequentialImpulseConstraintSolver","_softBodySolver","btDefaultSoftBodySolver","btSoftRigidDynamicsWorld","_tmpAmmoConcreteContactResultCallback","ConcreteContactResultCallback","addSingleResult","colObj0Wrap","partId0","index0","wrapPointer","Ammo","btManifoldPoint","getPositionWorldOnA","_tmpAmmoTransform","btTransform","setIdentity","_tmpAmmoQuaternion","btQuaternion","_tmpAmmoVectorA","btVector3","_tmpAmmoVectorB","_tmpAmmoVectorC","_tmpAmmoVectorD","getWorldInfo","set_m_gravity","setFixedTimeStep","fixedTimeStep","setMaxSteps","maxSteps","_isImpostorInContact","contactTest","_isImpostorPairInContact","impostorA","impostorB","contactPairTest","_stepSimulation","stepSimulation","_afterSoftStep","_ropeStep","_softbodyOrClothStep","nodePositions","bodyVertices","get_m_nodes","nbVertices","get_m_x","_isFromLine","normalDirection","vertexPositions","vertexNormals","nx","ny","nz","nodeNormals","get_m_n","toDispose","colShape","get_m_cfg","set_collisions","set_kDP","castObject","btCollisionObject","getCollisionShape","setMargin","setActivationState","AmmoJSPlugin","DISABLE_DEACTIVATION_FLAG","addSoftBody","localInertia","startTransform","calculateLocalInertia","setOrigin","myMotionState","btDefaultMotionState","rbInfo","btRigidBodyConstructionInfo","btRigidBody","setCollisionFlags","getCollisionFlags","KINEMATIC_FLAG","getChildShape","DISABLE_COLLISION_FLAG","addRigidBody","removeSoftBody","btPoint2PointConstraint","btHingeConstraint","_addMeshVerts","btTriangleMesh","topLevelObject","triangleCount","faceCount","triPoints","addTriangle","_softVertexData","newPoints","newNorms","_createSoftbody","btCompoundShape","triNorms","softBody","btSoftBodyHelpers","CreateFromTriMesh","setX","setY","setZ","_createCloth","segs","CreatePatch","_createRope","pathVectors","ropeBody","CreateRope","_createCustom","onCreateCustomShape","_addHullVerts","btConvexHullShape","addPoint","childrenAdded","parentMat","getOrigin","addChildShape","btSphereShape","btMultiSphereShape","setLocalScaling","btCapsuleShape","btCylinderShape","btBoxShape","tetraMesh","triangeCount","btBvhTriangleMeshShape","convexMesh","getMotionState","getWorldTransform","trans","setWorldTransform","motionState","setTotalMass","setMassProps","set_kDF","setFriction","setRestitution","set_kPR","get_m_materials","set_m_kLST","set_viterations","set_piterations","enableAngularMotor","exntend","_tmpAmmoVectorRCA","_tmpAmmoVectorRCB","rayCallback","ClosestRayResultCallback","rayTest","get_m_hitNormalWorld","get_m_hitPointWorld","removeReflectionProbe","addReflectionProbe","newReflectionProbe","useFloat","_add","_invertYAxis","_renderTargetTexture","isReflectionProbe","parsedReflectionProbe","reflectionProbe","rp","ReflectionProbe","LoaderInjectedPhysicsEngine","hierarchyIds","logOperation","producer","exporter_version","mastermesh","lodmeshes","wasenabled","lodid","lodmesh","addToScene","isPBR","environmentTextureType","hdrSize","environmentTextureSize","hdrTexture","environmentTextureRotationY","compressedTexture","skyboxScale","skyboxBlurLevel","mmat","managerData","addedGeometry","currentMesh","excludedIndex","includedOnlyIndex","includedOnlyMesh","removeAllFromScene","meshesNames","loadedSkeletonsIds","loadedMaterialsIds","geometryType","parsedGeometryData","materialFound","multimatIndex","multimatCache","matCache","skeletonCache","parsedParticleSystem","BabylonFileLoaderConfiguration","physicsGravity","enablePhysics","activeCameraID","newFresnelParameters","FresnelParameters","otherFresnelParameters","parsedFresnelParameters","occlusionStrength","metallic","PBRMetallicRoughnessMaterial","PBRSpecularGlossinessMaterial","_triggerOnLoad","load3dlTexture","tempData","pixelIndexW","pixelIndexH","pixelIndexSlice","maxColor","ColorGradingTexture","_noneEmptyLineRegex","words","pixelStorageIndex","toLocaleLowerCase","loadTextureCallback","getFloat32ArrayFromArrayBuffer","EquiRectangularCubeTexture","_FacesMapping","floatImageData","HtmlElementTexture","DefaultOptions","_isVideo","videoElement","GetTGAHeader","id_length","colormap_type","image_type","colormap_index","colormap_length","colormap_size","pixel_size","UploadContent","TGATools","pixel_data","use_rle","use_pal","use_grey","_TYPE_RLE_INDEXED","_TYPE_INDEXED","_TYPE_RLE_RGB","_TYPE_RGB","_TYPE_RLE_GREY","_TYPE_GREY","palettes","x_start","y_start","x_step","y_step","y_end","x_end","pixel_total","subarray","_ORIGIN_MASK","_ORIGIN_SHIFT","_ORIGIN_UL","_ORIGIN_BL","_ORIGIN_UR","_ORIGIN_BR","_getImageData8bits","colormap","_getImageData16bits","_getImageData24bits","_getImageData32bits","_getImageDataGrey8bits","_getImageDataGrey16bits","BASIS_FORMATS","GetInternalFormatFromBasisFormat","basisFormat","cTFETC1","cTFBC1","cTFBC3","_CreateWorkerAsync","_WorkerPromise","_Worker","BasisTools","wasmBinary","initHandler","TranscodeAsync","actionId","_actionId","messageHandler","dataViewCopy","ignoreSupportedFormats","_IgnoreSupportedFormats","LoadTextureFromTranscodeResult","transcodeResult","rootImage","images","transcodedPixels","_BASIS_FORMAT","transcoderModulePromise","TranscodeLevel","loadedFile","imageIndex","levelIndex","convertToRgb565","dstSize","getImageTranscodedSizeInBytes","dst","transcodeImage","srcByteOffset","blockWidth","blockHeight","blockY","blockX","dstI","ConvertDxtToRgb565","getImageWidth","getImageHeight","Module","onRuntimeInitialized","initializeBasis","imgData","BasisFile","basisFile","getHasAlpha","imageCount","getNumImages","levelCount","getNumLevels","levelInfo","GetFileInfo","supportedCompressionFormats","GetSupportedTranscodeFormat","needsConversion","startTranscoding","loadSingleImage","mipCount","loadMipmapLevels","transcodeConfig","hasMipmap","_initTypes","_multiRenderTargetOptions","_createInternalTextures","_createTextures","defaultType","forceFullRebuild","releaseInternalTextures","_internalTextures","replaceTexture","updateCount","uvsIn","uvsOut","TexturePacker","LAYOUT_STRIP","LAYOUT_COLNUM","colnum","updateInputMeshes","disposeSources","_expecting","fillBlanks","customFillColor","frameSize","paddingRatio","_paddingValue","paddingMode","SUBUV_WRAP","SUBUV_COLOR","paddingColor","_createFrames","dtSize","_calculateSize","dtUnits","doneCount","expecting","meshLength","sKeys","setName","dtx","baseSize","tcs","tcx","_getFrameOffset","updateDt","iDat","_calculateMeshUVFrames","setTransform","cellOffsets","sqrtCount","cols","rowCnt","pOffset","TexturePackerFrame","_updateMeshUV","_updateTextureReferences","uvStep","yStep","xStep","frameID","uvIn","uvOut","toCount","_dispose","_t","setMeshToFrame","updateMaterial","processAsync","imageType","oKeys","_f","encodeURIComponent","updateFromJSON","channels","LAYOUT_POWER2","SUBUV_EXTEND","proceduralTextures","_beforeClear","proceduralIndex","proceduralTexture","fallbackTexture","onGeneratedObservable","onBeforeGenerationObservable","_fallbackTextureUsed","_contentUpdateId","_fullEngine","setFragment","_fallbackTexture","_createIndexBuffer","getContent","_contentData","_getDefines","_fragment","onGenerated","ProceduralTexture","texturePath","_time","_texturePath","_loadJson","jsonUrl","noConfigFile","configFileUrl","xhr","updateShaderUniforms","updateTextures","refreshrate","sampler2Ds","sample2Dname","textureRelativeUrl","octaves","animationSpeedFactor","_updateShaderUniforms","NoiseProceduralTexture","NodeMaterialBlockTargets","NodeMaterialBlockConnectionPointTypes","NodeMaterialBlockConnectionPointMode","NodeMaterialSystemValues","NodeMaterialModes","NodeMaterialConnectionPointCompatibilityStates","NodeMaterialConnectionPointDirection","refractionPlane","RefractionTexture","ownerBlock","_connectedPoint","_endpoints","_typeConnectionSource","_linkedConnectionSource","_acceptedConnectionPointType","_type","Float","_enforceAssociatedVariableName","needDualDirectionValidation","acceptedConnectionPointTypes","excludedConnectionPointTypes","onConnectionObservable","isExposedOnFrame","exposedPortPosition","_prioritizeVertex","VertexAndFragment","_ownerBlock","AreEquivalentTypes","type1","type2","isInput","associatedVariableName","_associatedVariableName","AutoDetect","BasedOnInput","Vertex","connectedPoint","hasEndpoints","isConnectedToInputBlock","endpoint","Neutral","outputs","createCustomInputBlock","canConnectTo","connectionPoint","checkCompatibilityState","Compatible","otherBlock","TargetIncompatible","isConnectedInVertexShader","NodeMaterialConnectionPoint","TypeIncompatible","connectTo","ignoreConstraints","disconnectFrom","inputName","targetBlockId","targetConnectionName","isFinalMerger","_isFinalMerger","_isInput","_name","_isUnique","inputsAreExclusive","_codeVariableName","_outputs","comments","visibleInInspector","validateBlockName","_buildId","getInputByName","getOutputByName","initialize","nodeMaterial","_declareOutput","_getGLType","_writeVariable","_writeFloat","stringVersion","registerInput","isOptional","Input","registerOutput","Output","getFirstAvailableInput","forOutput","getFirstAvailableOutput","forBlock","getSiblingOutput","notFound","_buildBlock","updateUniformsAndSamples","provideFallbacks","initializeDefines","autoConfigure","replaceRepeatableContent","vertexShaderState","fragmentShaderState","_linkConnectionTypes","inputIndex0","inputIndex1","looseCoupling","_processBuild","activeBlocks","build","localBlockIsFragment","_vertexState","otherBlockWasGeneratedInVertexShader","_buildTarget","isAttribute","_noContextSwitch","_emitVaryingFromString","compilationString","sharedData","buildId","_getFreeVariableName","checks","notConnectedNonOptionalInputs","verbose","emitVertex","emitFragment","emitComments","endpoints","_inputRename","_outputRename","_dumpPropertiesCode","_dumpCode","uniqueNames","alreadyDumped","codeString","nameAsVariableName","connectedBlock","_dumpCodeForOutputConnections","connectedOutput","blockType","_deserialize","_deserializePortDisplayNamesAndExposedOnFrame","serializedInputs","serializedOutputs","port","supportUniformBuffers","constants","functions","counters","_attributeDeclaration","_uniformDeclaration","_constantDeclaration","_samplerDeclaration","_varyingTransfer","_injectAtEnd","_repeatableContentAnchorIndex","_builtCompilationString","finalize","isFragmentMode","functionCode","extensionName","varyingDeclaration","variableNames","_getFreeDefineName","defineNames","_excludeVariableName","_emit2DSampler","Int","_emitExtension","_emitFunction","_emitCodeFromInclude","includeName","repeatKey","replaceStrings","replaceString","_emitFunctionFromInclude","storeKey","removeAttributes","removeUniforms","removeVaryings","removeIfDef","_registerTempVariable","temps","notDefine","varyings","_emitUniformFromString","_emitFloat","inputBlocks","textureBlocks","bindableBlocks","blocksWithFallbacks","blocksWithDefines","repeatableContentBlocks","dynamicUniformBlocks","blockingBlocks","animatedInputs","hints","needWorldViewMatrix","needWorldViewProjectionMatrix","allowEmptyVertexProgram","emitErrors","notConnectedInput","complementW","complementZ","otherAsInput","transformName","xyz","AnimatedInputBlockTypes","rgba","remapAttributeName","attributeInFragmentOnly","attributeAsUniform","Undefined","_animationType","None","isBoolean","matrixMode","_systemValue","isConstant","groupInInspector","onValueChangedObservable","convertToGammaSpace","convertToLinearSpace","setDefaultValue","isUniform","isSystemValue","WorldView","WorldViewProjection","View","ViewProjection","Projection","CameraPosition","FogColor","DeltaTime","setAsAttribute","Attribute","setAsSystemValue","systemValue","_storedValue","Uniform","_valueCallback","Varying","Time","_emitDefine","_emitConstant","_emit","_transmitWorld","_transmit","codes","valueString","valueType","wellKnownValue","_samplerName","sourceBlock","_linearDefineName","_gammaDefineName","_injectVertexCode","uvInput","_mainUVName","_writeTextureRead","_writeOutput","vertexMode","_tempTextureRead","swizzle","getInputBlockByPredicate","rampColor","blendColor","alphaColor","PropertyTypeForEdition","xyOut","xyzOut","xInput","yInput","zInput","wInput","xyInput","xyIn","xyzInput","xyzIn","v4Output","v3Output","v2Output","editableInPropertyPage","groupName","propStore","_propStore","sourceRange","targetRange","sourceMin","sourceMax","targetMin","targetMax","direction1","direction2","minEmitBox","maxEmitBox","startDirectionFunction","directionToUpdate","particle","isLocal","randX","randY","randZ","startPositionFunction","positionToUpdate","newOne","BoxParticleEmitter","applyToShader","getEffectDefines","directionRandomizer","radiusRange","heightRange","emitFromSpawnPointOnly","_buildHeight","_angle","ConeParticleEmitter","yPos","radiusDistribution","positionRadius","xPos","zPos","CylinderParticleEmitter","CylinderDirectedParticleEmitter","randRadius","HemisphericParticleEmitter","PointParticleEmitter","SphereParticleEmitter","SphereDirectedParticleEmitter","particlePositionGenerator","particleDestinationGenerator","diffVector","lifeTime","CustomParticleEmitter","_storedNormal","useMeshNormalsForDirection","randomFaceIndex","faceIndexA","faceIndexB","faceIndexC","vertexA","vertexB","vertexC","randomVertex","MeshParticleEmitter","emitRate","manualEmitCount","updateSpeed","targetStopDuration","disposeOnStop","minEmitPower","maxEmitPower","minLifeTime","maxLifeTime","minSize","minScaleX","maxScaleX","minScaleY","maxScaleY","minInitialRotation","maxInitialRotation","minAngularSpeed","maxAngularSpeed","customShader","preventAutoStart","noiseStrength","blendMode","BaseParticleSystem","BLENDMODE_ONEONE","preWarmCycles","preWarmStepOffset","spriteCellChangeSpeed","startSpriteCellID","endSpriteCellID","spriteCellWidth","spriteCellHeight","spriteRandomStartCell","translationPivot","beginAnimationOnStart","beginAnimationFrom","beginAnimationTo","beginAnimationLoop","worldOffset","_colorGradients","_sizeGradients","_lifeTimeGradients","_angularSpeedGradients","_velocityGradients","_limitVelocityGradients","_dragGradients","_emitRateGradients","_startSizeGradients","_rampGradients","_colorRemapGradients","_alphaRemapGradients","startDelay","limitVelocityDamping","color1","color2","colorDead","textureMask","_isSubEmitter","_isBillboardBased","_imageProcessingConfigurationDefines","_noiseTexture","_isAnimationSheetEnabled","_hasTargetStopDurationDependantGradient","getDragGradients","getLimitVelocityGradients","getColorGradients","getSizeGradients","getColorRemapGradients","getAlphaRemapGradients","getLifeTimeGradients","getAngularSpeedGradients","getVelocityGradients","getStartSizeGradients","getEmitRateGradients","particleEmitterType","_removeGradientAndTexture","gradients","createPointEmitter","particleEmitter","createHemisphericEmitter","createSphereEmitter","createDirectedSphereEmitter","createCylinderEmitter","createDirectedCylinderEmitter","createConeEmitter","createBoxEmitter","BLENDMODE_STANDARD","BLENDMODE_ADD","BLENDMODE_MULTIPLY","BLENDMODE_MULTIPLYADD","rgbIn","rgbOutput","rOutput","gOutput","bOutput","aOutput","TrigonometryBlockOperations","Cos","Sin","Abs","Exp","Exp2","Round","Floor","Ceiling","Sqrt","Tan","ArcTan","ArcCos","ArcSin","Fract","Radians","Degrees","markAsUnprocessedIfDirty","NodeMaterial","_BuildIdGenerator","_buildWasSuccessful","_optimizers","_animationFrame","BJSNODEMATERIALEDITOR","_getGlobalNodeMaterialEditor","editorData","ignoreAlpha","onBuildObservable","_vertexOutputNodes","_fragmentOutputNodes","attachedBlocks","NODEEDITOR","NodeEditor","getBlockByName","getBlockByPredicate","getInputBlocks","registerOptimizer","optimizer","unregisterOptimizer","addOutputNode","_addVertexOutputNode","_addFragmentOutputNode","removeOutputNode","_removeVertexOutputNode","_removeFragmentOutputNode","_sharedData","_initializeBlock","nodesToProcessForOtherBuildState","_preparationId","isUnique","_resetDualBlocks","removeBlock","attachedBlockIndex","_vertexCompilationState","_fragmentCompilationState","NodeMaterialBuildStateSharedData","vertexNodes","fragmentNodes","vertexOutputNode","fragmentOutputNode","_prepareDefinesForAttributes","oldNormal","oldTangent","oldUV1","createPostProcess","_createEffectForPostProcess","createEffectForPostProcess","tempName","dummyMesh","_processDefines","_checkInternals","createProceduralTexture","_createEffectForParticles","particleSystemDefinesJoined_","particleSystemDefines","particleSystemDefinesJoined","fillDefines","createEffectForParticles","setCustomEffect","particleSystemDefinesJoinedCurrent","mergedUniforms","mergedSamplers","tb","getTextureBlocks","_createNodeEditor","editorUrl","editorURL","EditorURL","setToDefault","positionInput","worldInput","worldPos","viewProjectionInput","worldPosdMultipliedByViewProjection","vertexOutput","pixelColor","fragmentOutput","setToDefaultPostProcess","const1","vmerger","currentScreen","setToDefaultProceduralTexture","vectorMerger","setToDefaultParticle","rampGradient","cSplitter","blendMultiply","loadFromSerialization","_gatherBlocks","generateCode","vertexBlocks","outputNode","fragmentBlocks","selectedBlocks","outputNodes","_restoreConnections","outputPoint","candidate","inputPoint","parsedBlock","blockIndex","outputNodeId","locations","blockId","blockMap","ParseFromSnippetAsync","CreateDefault","IgnoreTexturesAtLoadTime","matricesIndicesInput","matricesWeightsInput","influenceVariablename","world0","world0Input","world1","world1Input","world2","world2Input","world3","world3Input","instanceID","normalInput","tangentInput","positionOutput","normalOutput","tangentOutput","uvOutput","injectionCode","_repeatableContentAnchor","_lightDataUniformName","_lightColorUniformName","_lightTypeDefineName","worldPosition","_tangentSpaceParameterName","invertX","strength","strengthInput","worldNormal","worldTangent","replaceForBumpInfos","connectInputBlock","tangentReplaceString","normalMapColor","cutoff","writeOutputs","_varName","varName","viewInput","fogColorInput","_fogParameters","tempFogVariablename","_fogDistanceName","cameraPositionInput","_lightId","onlyUpdateBuffersList","worldPosVaryingName","glossiness","glossPower","diffuseOutput","specularOutput","fragmentOnly","_fragmentOnly","parentBlock","_mainUVDefineName","_defineName","_isMixed","_textureInfoName","_textureTransformName","_transformedUVName","complement","_getTexture","_define3DName","_defineLocalCubicName","_defineExplicitName","_defineSkyboxName","_defineCubicName","_defineSphericalName","_definePlanarName","_defineProjectionName","_defineEquirectangularName","_defineEquirectangularFixedName","_defineMirroredEquirectangularFixedName","_reflectionMatrixName","_cubeSamplerName","_2DSamplerName","handleVertexSide","_defineOppositeZ","_positionUVWName","_directionWName","handleFragmentSideInits","_reflectionColorName","_reflectionVectorName","_reflectionCoordsName","handleFragmentSideCodeReflectionCoords","worldNormalVarName","onlyReflectionVector","reflectionMatrix","positionUVW","vEyePosition","handleFragmentSideCodeReflectionColor","lodVarName","swizzleLookupTexture","normalWUnit","rgbOut","rInput","gInput","bInput","aInput","rgbInput","color4Output","color3Output","xyzw","xyzOutput","xyOutput","xOutput","yOutput","zOutput","wOutput","edge","viewDirection","viewDirectionInput","biasInput","powerInput","fresnel","seed","edge0","replacement","WaveBlockKind","steps","SawTooth","_color","colorSteps","GradientBlockColorStep","colorStepsUpdated","_writeColorConstant","tempColor","tempPosition","gradientSource","previousStep","colorStep","manhattanDistance","functionString","jitter","input0","input1","stepR","stepG","angleInput","incident","colorName","tempMin","tempMax","tempMerge","_blockType","_blockName","_nameForCheking","NodeMaterialConnectionPointCustomObject","SheenBlock","getCode","reflectionBlock","_vReflectionMicrosurfaceInfosName","_vReflectionInfosName","AnisotropyBlock","_generateTBNSpace","worldPositionConnectionPoint","worldNormalConnectionPoint","generateTBNSpace","ReflectionBlock","cameraPositionConnectionPoint","viewConnectionPoint","reflection","_defineLODReflectionAlpha","_defineLinearSpecularReflection","_vReflectionFilteringInfoName","reflectionVectorName","_vEnvironmentIrradianceName","normalVarName","computeReflectionCoordsFunc","ClearCoatBlock","intensityInput","tintAtDistance","mainPBRBlock","clearcoat","perturbedNormalBlock","perturbedNormal","worldPositionVarName","GetCode","ccBlock","worldPosVarName","vTBNAvailable","RefractionBlock","refraction","_defineLODRefractionAlpha","_defineLinearSpecularRefraction","_refractionMatrixName","indexOfRefractionConnectionPoint","_vRefractionInfosName","_vRefractionMicrosurfaceInfosName","_vRefractionFilteringInfoName","SubSurfaceBlock","thicknessInput","translucencyEnabled","translucencyDiffusionDist","ssBlock","translucencyDiffusionDistance","refractionBlock","refractionTintAtDistance","refractionView","mapOutputToVariable","lightFalloff","useAlphaTest","alphaTestCutoff","useAlphaBlending","alphaTestCutOffString","_environmentBrdfSamplerName","ambientScene","_invertNormalName","_vMetallicReflectanceFactorsName","_getAlbedoOpacityCode","baseColor","_getAmbientOcclusionCode","ambientOcc","_getReflectivityCode","normalShading","_vNormalWName","anisotropyBlock","sheenBlock","clearcoatBlock","isTangentConnectedToPerturbNormal","isTangentConnectedToAnisotropy","subsurfaceBlock","subsurface","aoColor","aoDirectLightIntensity","remap","conditions","List","vertexOutputNodes","fragmentOutputNodes","_baseMaterial","_subMeshToEffect","_subMeshToDepthEffect","MapMap","_onEffectCreatedObserver","onEffectCreatedObservable","depthEffect","_makeEffect","origEffect","depthDefines","rawVertexSourceCode","rawFragmentSourceCode","vertexNormalBiasCode","remappedVariables","vertexMetricCode","fragmentSoftTransparentShadow","fragmentBlockCode","hasLocationForSoftTransparentShadow","hasLocationForFragment","fragmentCodeToInjectAtEnd","currentCSGMeshId","vertColor","interpolate","splitPolygon","coplanarFront","coplanarBack","polygonType","EPSILON","poly","ti","tj","vi","vj","shared","Polygon","polygons","clipPolygons","clipTo","bsp","allPolygons","FromMesh","meshPosition","meshRotation","meshScaling","meshRotationQuaternion","vertColors","sml","sourceNormal","sourcePosition","csg","CSG","FromPolygons","copyTransformAttributes","union","unionInPlace","intersect","intersectInPlace","inverseInPlace","buildMeshGeometry","keepSubMeshes","vertex_idx","subMesh_obj","polygonIndices","vertice_dict","subMesh_dict","localVertex","localNormal","areUvsDifferent","areColorsDifferent","materialMaxIndex","materialIndexOffset","toMesh","autoStart","_sectionPolygonPointsCount","_running","_autoStart","_generator","_diameter","_sectionVectors","_sectionNormalVectors","_createMesh","meshCenter","newGenerator","TrailMesh","vertexNb","flipTile","pattern","tileWidth","tileHeight","alignH","alignHorizontal","alignV","alignVertical","faceVertexData","baseAlignV","facePositions","faceNormals","newFaceUV","vec0","mtrx0","vec2","mtrx2","mtrx3","vec4","mtrx4","mtrx5","getPos","cu","su","quOverP","ty","tz","tang","bitan","jNext","torusKnot","original","originalPoints","computeBounds","lmin","lmax","Rectangle","ymin","ymax","numberOfSides","contours","_outlinepoints","_holes","_epoints","_eholes","bjsEarcut","_addToepoint","addHole","hole","holepoints","buildVertexData","bounds","positionscount","totalCount","addSide","StartIndex","ulength","vn","wrp","disp","distZ","totalLen","cumulate","polygonTriangulation","hNb","hPoint","PolygonBuilder","clip","tilesX","tilesY","adjustX","adjustY","startX","startY","uvBase","partialBottomRow","partialTopRow","partialLeftCol","partialRightCol","uvPart","uvBaseBR","uvBaseTR","uvBaseLC","uvBaseRC","tubePathArray","circlePaths","circlePath","rad","radiusFunctionFinal","pathIndex","v012","ico_vertices","ico_indices","vertices_unalias_id","ico_vertexuv","island","current_indice","face_vertex_pos","face_vertex_uv","v_id","interp_vertex","c2","vertex_normal","pos_x0","pos_x1","pos_interp","centroid_x0","centroid_x1","uv_x0","uv_x1","uv_interp","cameraWorldTarget","decalWorldMatrix","inverseDecalWorldMatrix","currentVertexDataIndex","extractDecalVector3","indexId","vertexId","clipSize","clipVertices","clipFactor","v1Out","v2Out","v3Out","nV1","nV2","nV3","nV4","faceVertices","vIndex","capDetail","heightSegments","heightMinusCaps","thetaLength","capsTopSegments","topCapSubdivisions","capsBottomSegments","bottomCapSubdivisions","indexArray","cosAlpha","sinAlpha","cone_length","vl","indexRow","cosA","sinA","sinTheta","cosTheta","cone_height","i4","vDat","SimplificationType","capsule","running","_simplificationArray","addTask","task","runSimplification","parallelProcessing","setting","getSimplifier","simplify","simplifier","simplificationType","QUADRATIC","deletePending","borderFactor","isBorder","QuadraticMatrix","triangleStart","originalOffsets","a11","a12","a13","a21","a22","a23","a31","a32","a33","addArrayInPlace","FromData","DataFromNumbers","triangleId","syncIterations","aggressiveness","decimationIterations","boundingBoxEpsilon","initDecimatedMesh","initWithMesh","runDecimation","optimizeMesh","_reconstructedMesh","targetCount","triangles","deletedTriangles","tIdx","deleted0","deleted1","calculateError","delTr","isFlipped","uniqueArray","deletedT","tStart","updateTriangles","tCount","reconstructMesh","positionData","vertexReferences","positionToSearch","ii","findInVertices","DecimationVertex","triangle","DecimationTriangle","originalOffset","newTriangles","newPositionData","newNormalData","newUVsData","newColorsData","normalData","startingIndex","startingVertex","submeshesArray","newIndicesArray","originalIndices","originalSubmesh","deletedArray","origVertex","newDeleted","identifyBorder","vCount","vId","ofs","vv","identifyBorders","newTrianglesVector","newReferences","Reference","vertexError","pointResult","qDet","error1","error2","error3","_simplificationQueue","simplificationQueue","thinInstanceAdd","refresh","_thinInstanceUpdateBufferSize","thinInstanceSetMatrixAt","thinInstanceAddSelf","thinInstanceRegisterAttribute","_thinInstanceInitializeUserStorage","thinInstanceBufferUpdated","thinInstanceSetAttributeAt","staticBuffer","thinInstancePartialBufferUpdate","forceRefreshParentInfo","POSITIVE_INFINITY","numInstances","kindIsMatrix","currentSize","recastInjection","bjsRECAST","_maximumSubStepCount","setMaximumSubStepCount","newStepCount","getMaximumSubStepCount","createNavMesh","tri","pt","rc","rcConfig","borderSize","walkableSlopeAngle","walkableHeight","walkableClimb","walkableRadius","maxEdgeLen","maxSimplificationError","minRegionArea","mergeRegionArea","maxVertsPerPoly","detailSampleDist","detailSampleMaxError","navMesh","NavMesh","meshIndices","meshPositions","createDebugNavMesh","debugNavMesh","getDebugNavMesh","getTriangleCount","getTriangle","getPoint","getClosestPoint","getClosestPointToRef","getRandomPointAround","maxRadius","getRandomPointAroundToRef","moveAlong","moveAlongToRef","computePath","startPos","endPos","navPath","pointCount","getPointCount","createCrowd","maxAgents","maxAgentRadius","setDefaultQueryExtent","extent","getDefaultQueryExtent","buildFromNavmeshData","nDataBytes","dataPtr","_malloc","dataHeap","HEAPU8","NavmeshData","dataPointer","_free","getNavmeshData","navmeshData","arrView","freeNavmeshData","getDefaultQueryExtentToRef","recastCrowd","transforms","agents","bjsRECASTPlugin","Crowd","getNavMesh","addAgent","agentParams","dtCrowdAgentParams","maxAcceleration","maxSpeed","collisionQueryRange","pathOptimizationRange","separationWeight","updateFlags","obstacleAvoidanceType","queryFilterType","userData","agentIndex","getAgentPosition","agentPos","getAgentPositionToRef","getAgentVelocity","agentVel","getAgentVelocityToRef","getAgentNextTargetPath","pathTargetPos","getAgentNextTargetPathToRef","getAgentState","overOffmeshConnection","agentGoto","agentTeleport","updateAgentParameters","getAgentParameters","setAgentParameters","removeAgent","getAgents","maxStepCount","iterationCount","urlToScene","callbackManifestChecked","SubEmitterType","_idbFactory","indexedDB","mozIndexedDB","webkitIndexedDB","msIndexedDB","_callbackManifestChecked","_currentSceneUrl","Database","_ReturnFullUrlLocation","_db","_enableSceneOffline","_enableTexturesOffline","_manifestVersionFound","_mustUpdateRessources","_hasReachedQuota","IDBStorageEnabled","_checkManifestFile","noManifestFile","timeStampUsed","manifestURL","onLine","_ValidateXHRData","manifestFile","IsUASupportingBlobStorage","retryManifestURL","handleError","_isSupported","onblocked","onsuccess","onupgradeneeded","createObjectStore","keyPath","completeURL","saveAndLoadImage","_saveImageIntoDBAsync","_loadImageFromDBAsync","notInDBCallback","transaction","onabort","oncomplete","blobTextureURL","getRequest","objectStore","generateBlobUrl","textureUrl","addRequest","put","_checkVersionFromDB","versionLoaded","_loadVersionFromDBAsync","_saveVersionIntoDBAsync","updateInDBCallback","newVersion","sceneUrl","sceneLoaded","progressCallBack","completeUrl","saveAndLoadFile","_saveFileAsync","targetStore","fileData","newFile","tgaHeader","ddsHeader","_ParseURL","urlWithoutHash","getColorToRef","factor1","factor2","getFactor","GetCurrentGradient","updateFunc","gradientIndex","currentGradient","nextGradient","lastIndex","age","cellIndex","_attachedSubEmitters","_currentColor1","_currentColor2","_currentSize1","_currentSize2","_currentAngularSpeed1","_currentAngularSpeed2","_currentVelocity1","_currentVelocity2","_currentLimitVelocity1","_currentLimitVelocity2","_currentDrag1","_currentDrag2","_Count","isAnimationSheetEnabled","updateCellInfoFromSystem","updateCellIndex","offsetAge","changeSpeed","_randomCellOffset","_initialEndSpriteCellID","_initialStartSpriteCellID","_inheritParticleInfoToSubEmitter","subEmitter","emitterMesh","inheritDirection","inheritedVelocityAmount","_inheritedVelocityOffset","_inheritParticleInfoToSubEmitters","_currentColorGradient","_currentSizeGradient","_currentAngularSpeedGradient","_currentVelocityGradient","_currentLimitVelocityGradient","_currentDragGradient","_initialDirection","useRampGradients","remapData","_randomNoiseCoordinates1","_randomNoiseCoordinates2","END","SubEmitter","_disposeEmitterOnDispose","_ParseParticleSystem","customEffect","onStoppedObservable","_particles","_stockParticles","_newPartsExcess","_scaledColorStep","_colorDiff","_scaledDirection","_scaledGravity","_useInstancing","_started","_stopped","_actualFrame","_currentEmitRate1","_currentEmitRate2","_currentStartSize1","_currentStartSize2","_rawTextureWidth","_useRampGradients","_onBeforeDrawParticlesObservable","recycleParticle","lastParticle","_createParticle","_subEmitters","subEmitters","ATTACHED","_emitFromParticle","templateIndex","subSystem","_rootParticleSystem","activeSubSystems","defaultProjectionMatrix","_vertexArrayObject","_customEffect","0","_createVertexBuffers","updateFunction","particles","noiseTextureSize","noiseTextureData","noiseTexture","scaledUpdateSpeed","_scaledUpdateSpeed","previousAge","GradientHelper","directionScale","limitVelocity","drag","_emitterWorldMatrix","fetchedColorR","_fetchR","fetchedColorG","fetchedColorB","scaledForce","_resetEffect","getActiveCount","isStopping","isAlive","getCustomEffect","_addFactorGradient","factorGradients","newGradient","FactorGradient","_removeFactorGradient","addLifeTimeGradient","removeLifeTimeGradient","addSizeGradient","removeSizeGradient","addColorRemapGradient","removeColorRemapGradient","addAlphaRemapGradient","removeAlphaRemapGradient","addAngularSpeedGradient","removeAngularSpeedGradient","addVelocityGradient","removeVelocityGradient","addLimitVelocityGradient","removeLimitVelocityGradient","addDragGradient","removeDragGradient","addEmitRateGradient","removeEmitRateGradient","addStartSizeGradient","removeStartSizeGradient","_createRampGradientTexture","_rampGradientsTexture","tmpColor","getRampGradients","forceRefreshGradients","_syncRampGradientTexture","addRampGradient","Color3Gradient","removeRampGradient","addColorGradient","colorGradient","removeColorGradient","_vertexBuffer","_spriteBuffer","_vertexBufferSize","ParticleSystem","BILLBOARDMODE_STRETCHED","_vertexData","cellIndexBuffer","directionBuffer","rampDataBuffer","spriteData","getCapacity","_alive","_prepareSubEmitterInternalArray","_currentEmitRateGradient","_currentStartSizeGradient","stopSubEmitters","_stopSubEmitters","_appendParticleVertex","initialDirection","_removeFromRoot","newParticles","emitterPosition","factorGradient1","factorGradient2","lifeTime1","lifeTime2","emitPower","_GetAttributeNamesOrOptions","isBillboardBased","attributeNamesOrOptions","_GetEffectCreationOptions","effectCreationOption","fillUniformsAttributesAndSamplerNames","_getEffect","preWarmOnly","_appendParticleVertices","particleTexture","defaultViewMatrix","outparticles","disposeTexture","shaderOptions","serialization","serializeTexture","_Serialize","cell","sub","colorGradients","serializedGradient","rampGradients","colorRemapGradients","colorRemapGradient","alphaRemapGradients","alphaRemapGradient","sizeGradients","sizeGradient","angularSpeedGradients","angularSpeedGradient","velocityGradients","velocityGradient","dragGradients","dragGradient","emitRateGradients","emitRateGradient","startSizeGradients","startSizeGradient","lifeTimeGradients","lifeTimeGradient","limitVelocityGradients","limitVelocityGradient","emitterType","doNotStart","cellArray","_accumulatedCount","_targetIndex","_timeDelta","_preWarmDone","randomTextureSize","optionsAsNumber","_activeCount","_currentActiveCount","_updateEffectOptions","_randomTexture","_randomTexture2","_randomTextureSize","_updateEffect","_recreateUpdateEffect","_recreateRenderEffect","_releaseBuffers","_releaseVAOs","_refreshColorGradient","reorder","_colorGradientsTexture","_refreshFactorGradient","valueGradient","_sizeGradientsTexture","_angularSpeedGradientsTexture","_velocityGradientsTexture","_limitVelocityGradientsTexture","_dragGradientsTexture","_createUpdateVAO","updateVertexBuffers","_createRenderVAO","spriteSource","renderVertexBuffers","_attributesStrideSize","_buffer0","usingCustomEmitter","_buffer1","_updateVAO","_renderVAO","_sourceBuffer","_targetBuffer","_renderEffect","preWarm","_createFactorGradientTexture","_createSizeGradientTexture","_createAngularSpeedGradientTexture","_createVelocityGradientTexture","_createLimitVelocityGradientTexture","_createDragGradientTexture","_createColorGradientTexture","intPart","emitterWM","invView","tmpBuffer","GPUParticleSystem","activeParticleCount","systems","_emitterNode","setEmitterAsSphere","_emitterCreationOptions","gpu","ParticleSystemSet","BaseAssetsUrl","useGPU","ParticleHelper","ExportSet","individualParser","fragmentName","allSamplers","vertexShaderName","getEmittedParticleSystems","getHierarchyEmittedParticleSystems","descendants","PointColor","particleId","positionIndex","indiceIndex","model","shapeId","idxInShape","sps","modelBoundingInfo","pivot","translateFromPivot","alive","_pos","_ind","_stillInvisible","_rotationMatrix","_model","_sps","_modelBoundingInfo","copyToRef","_bSphereOnly","shapeUV","posFunction","vtxFunction","_indicesLength","shapeID","_shape","_shapeUV","_shapeColors","_positionFunction","_vertexFunction","indLength","indicesLength","nbParticles","billboard","recomputeNormals","vars","_bSphereRadiusFactor","_colors","_pickable","_isVisibilityBoxLocked","_depthSort","_expandable","_shapeCounter","_copy","_computeParticleColor","_computeParticleTexture","_computeParticleRotation","_computeParticleVertex","_computeBoundingBox","_depthSortParticles","_mustUnrotateFixedNormals","_particlesIntersect","_needs32Bits","_isNotBuilt","_lastParticleId","_idxOfId","_multimaterialEnabled","_useModelMaterial","_depthSortFunction","_materialSortFunction","_autoUpdateSubMeshes","enableDepthSort","enableMultiMaterial","useModelMaterial","expandable","particleIntersection","boundingSphereOnly","bSphereRadiusFactor","pickedBySubMesh","pickedParticles","depthSortedParticles","_multimaterial","_materials","_materialIndexesById","_tmpVertex","buildMesh","_indices32","_positions32","_uvs32","_colors32","_sortParticlesByMaterial","_normals32","_fixedNormal32","_unrotateFixedNormals","lind","pickedData","setMultiMaterial","digest","meshInd","meshUV","meshCol","meshNor","totalFacets","facetPos","facetNor","facetInd","facetUV","facetCol","sizeO","fi","_posToShape","_uvsToShapeUV","shapeInd","shapeCol","shapeNor","_setDefaultMaterial","modelShape","ModelShape","currentPos","currentInd","_meshBuilder","_addParticle","tmpNormal","invertedRotMatrix","_resetCopy","storeApart","materialIndexesById","matIdx","tmpVertex","tmpUV","tmpRotated","pivotBackTranslation","scaledPivot","someVertexFunction","vertexFunction","copyUvs","current_ind","DepthSortedParticle","idxpos","idxind","shapeNormals","shapeColors","bbInfo","posfunc","vtxfunc","_insertNewParticle","_rebuildParticle","rebuildMesh","removeParticles","currentNb","firstRemaining","shiftPos","shifInd","particlesLength","modelIndices","modelNormals","modelColors","modelUVs","insertParticlesFromArray","solidParticleArray","currentShapeId","noNor","newPart","currentCopy","setParticles","beforeUpdateParticles","colors32","indices32","fixedNormal32","tempVectors","camAxisX","camAxisY","camAxisZ","camInvertedPosition","tmpVector0","colidx","uvidx","uvIndex","vpos","updateParticle","particleRotationMatrix","particlePosition","particleRotation","particleScaling","particleGlobalPosition","dsp","getParticleById","parentGlobalPosition","rotatedY","rotatedX","rotatedZ","rotMatrixValues","iu","iv","updateParticleVertex","vertexX","vertexY","vertexZ","pz","normalx","normaly","normalz","rotatedx","rotatedy","rotatedz","bBox","modelBoundingInfoVectors","scaledX","scaledY","scaledZ","minBbox","maxBbox","bSphereCenter","halfDiag","bSphereMinBbox","bSphereMaxBbox","dspl","sid","sorted","sortedParticle","computeSubMeshes","afterUpdateParticles","_materialIndexes","_indicesByMaterial","pickedParticle","picked","getParticlesByShapeId","getParticlesByShapeIdToRef","sortedPart","indicesByMaterial","materialIndexes","vcount","subMeshIndex","lastMatIndex","_setMaterialIndexesById","_filterUniqueMaterialId","refreshVisibleSize","setVisibilityBox","vis","initParticles","groupId","idxInGroup","pcs","_group","_pcs","isSphere","groupID","_promises","_groups","_groupCounter","buildMeshAsync","_buildMesh","addPoints","ec","cp","_randomUnitVector","_getColorIndicesForCoord","pointsGroup","_groupImageData","colorIndices","greenIndex","blueIndex","redForCoord","greenForCoord","blueForCoord","alphaForCoord","_setPointsColorOrUV","isVolume","colorFromTexture","place","meshMatrix","facetPoint","uvPoint","idxPoints","id0","id1","id2","v0X","v0Y","v0Z","v1X","v1Y","v1Z","v2X","v2Y","v2Z","vec1","uv0X","uv0Y","uv1X","uv1Y","uv2X","uv2Y","uvec0","uvec1","col0X","col0Y","col0Z","col0A","col1X","col1Y","col1Z","col1A","col2X","col2Y","col2Z","col2A","col0","col1","col2","colvec0","colvec1","lamda","mu","colPoint","biNorm","facetPlaneVec","gap","deltaS","deltaV","hsvCol","pointColors","statedColor","colPoint3","_groupDensity","_groupImgWidth","_groupImgHeight","_colorFromTexture","textureList","_textureNb","_calculateDensity","area","areas","surfaceArea","nbFacets","pointsPerFacet","extraPoints","pointFunction","PointsGroup","addSurfacePoints","colorWith","colored","Color","UV","Stated","addVolumePoints","pindex","cindex","uindex","_physicsTimeAccumulator","disablePhysicsEngine","isPhysicsEnabled","deleteCompoundImpostor","compound","parts","subTime","_physicsImpostor","_disposePhysicsObserver","setPhysicsLinkWith","pivot1","pivot2","PhysicsRadialImpulseFalloff","PhysicsUpdraftMode","applyRadialExplosionImpulse","radiusOrEventOptions","falloff","PhysicsRadialExplosionEventOptions","affectedImpostorsWithData","impostorHitData","getImpostorHitData","hitData","triggerAffectedImpostorsCallback","applyRadialExplosionForce","gravitationalField","updraft","updraftMode","PhysicsUpdraftEventOptions","vortex","PhysicsVortexEventOptions","_dataFetched","_sphere","_intersectsWithSphere","distanceFromOrigin","Constant","affectedImpostorsCallback","_prepareSphere","impostorObject","_physicsHelper","_origin","_tickCallback","radialExplosionEvent","_originTop","_originDirection","_cylinderPosition","Perpendicular","_prepareCylinder","_cylinder","_intersectsWithCylinder","impostorObjectCenter","originOnPlane","originToImpostorDirection","absoluteDistanceFromOrigin","directionToOrigin","centripetalForceThreshold","forceX","centripetalForceMultiplier","forceY","updraftForceMultiplier","forceZ","perpendicularDirection","centrifugalForceMultiplier","degree","BlackAndWhitePostProcess","getPostProcesses","singleInstance","_singleInstance","_getPostProcesses","_cameras","_indicesForCamera","pps","_attachCameras","cameraKey","cams","cameraName","_detachCameras","_enable","_disable","_inputPostProcess","originalFromInput","blurred","bloomScale","bloomWeight","bloomKernel","pipelineTextureType","_effects","_downscale","_merge","disposeEffects","effectIndex","_updateEffects","screenWidth","screenHeight","aberrationAmount","radialIntensity","centerPosition","ChromaticAberrationPostProcess","lensSize","fStop","focusDistance","focalLength","_depthTexture","cocPrecalculation","colorTableUrl","_colorTableTexture","ColorCorrectionPostProcess","ConvolutionPostProcess","EdgeDetect0Kernel","EdgeDetect1Kernel","EdgeDetect2Kernel","SharpenKernel","EmbossKernel","GaussianKernel","circleOfConfusion","imageToBlur","DepthOfFieldEffectBlurLevel","blurSteps","blurLevel","Low","_circleOfConfusion","_depthOfFieldBlurY","_depthOfFieldBlurX","blurCount","kernelSize","High","Medium","adjustedKernelSize","blurY","blurX","_dofMerge","DisplayPassPostProcess","kernelMatrix","FilterPostProcess","glInfo","FxaaPostProcess","animated","GrainPostProcess","_previousTransformationMatrices","_previousBonesTransformationMatrices","excludedSkinnedMeshesFromVelocity","renderTransparentMeshes","_enablePosition","_enableVelocity","_enableReflectivity","_positionIndex","_velocityIndex","_reflectivityIndex","_depthNormalIndex","_linkedWithPrePass","_ratio","GeometryBufferRenderer","_createRenderTargets","_linkPrePassRenderer","_prePassRenderer","_multiRenderTarget","_unlinkPrePassRenderer","_resetLayout","_forceTextureType","geometryBufferType","POSITION_TEXTURE_TYPE","VELOCITY_TEXTURE_TYPE","REFLECTIVITY_TEXTURE_TYPE","DEPTHNORMAL_TEXTURE_TYPE","_setAttachments","_linkInternalTexture","getTextureIndex","needUv","specularTexture","reflectivityTexture","buffersCount","getGBuffer","_assignRenderTargetIndices","bonesTransformations","_copyBonesTransformationMatrices","texturesRequired","_geometryBufferRenderer","enableGeometryBufferRenderer","disableGeometryBufferRenderer","forceGeometryBuffer","motionStrength","_motionBlurSamples","_isObjectBased","_forceGeometryBuffer","_invViewProjection","_previousViewProjection","enableVelocity","MotionBlurConfiguration","_applyMode","excludeSkinnedMesh","skinnedMesh","removeExcludedSkinnedMesh","isObjectBased","_onApplyObjectBased","_onApplyScreenBased","velocityIndex","prePassRT","depthIndex","MotionBlurPostProcess","refractionTextureUrl","colorLevel","_ownRefractionTexture","_refTexture","RefractionPostProcess","colorAmount","edgeAmount","SharpenPostProcess","_renderEffectsForIsolatedPass","renderEffectName","addEffect","renderEffect","_enableEffect","renderEffects","_disableEffect","unique","indicesToDelete","_enableMSAAOnFirstPostProcess","sampleCount","effectKeys","_renderPipelines","renderPipelineName","pipeline","addPipeline","renderPipeline","attachCamerasToRenderPipeline","detachCamerasFromRenderPipeline","enableEffectInPipeline","disableEffectInPipeline","_postProcessRenderPipelineManager","PostProcessRenderPipelineManager","hdr","automaticBuild","_camerasToBeAttached","SharpenPostProcessId","ImageProcessingPostProcessId","FxaaPostProcessId","ChromaticAberrationPostProcessId","GrainPostProcessId","_glowLayer","_imageProcessingConfigurationObserver","_sharpenEnabled","_bloomEnabled","_depthOfFieldEnabled","_depthOfFieldBlurLevel","_fxaaEnabled","_imageProcessingEnabled","_bloomScale","_chromaticAberrationEnabled","_grainEnabled","_buildAllowed","_hardwareScaleLevel","_bloomKernel","_bloomWeight","_bloomThreshold","_hasCleared","_prevPostProcess","_prevPrevPostProcess","_depthOfFieldSceneObserver","_hdr","_defaultPipelineTextureType","postProcessRenderPipelineManager","sharpen","_sharpenEffect","depthOfField","bloom","chromaticAberration","_chromaticAberrationEffect","grain","_grainEffect","imageProcessingEnabled","_buildPipeline","_rebuildBloom","oldBloom","oldDof","_setAutoClearAndTextureSharing","skipTextureSharing","_disposePostProcesses","depthOfFieldEnabled","enableDepthRenderer","bloomEnabled","imageProcessing","sharpenEnabled","grainEnabled","chromaticAberrationEnabled","fxaaEnabled","fxaa","disposeNonRecreated","DefaultRenderingPipeline","LensChromaticAberrationEffect","HighlightsEnhancingEffect","LensDepthOfFieldEffect","_pentagonBokehIsEnabled","grain_texture","_grainTexture","_createGrainTexture","_edgeBlur","edge_blur","_grainAmount","grain_amount","_chromaticAberration","chromatic_aberration","_distortion","distortion","_highlightsGain","dof_gain","_highlightsThreshold","dof_threshold","_dofDistance","dof_focus_distance","_dofAperture","dof_aperture","_dofDarken","dof_darken","_dofPentagon","dof_pentagon","_blurNoise","blur_noise","_createChromaticAberrationPostProcess","_createHighlightsPostProcess","_createDepthOfFieldPostProcess","_chromaticAberrationPostProcess","_highlightsPostProcess","_depthOfFieldPostProcess","setEdgeBlur","setGrainAmount","setChromaticAberration","setAperture","setEdgeDistortion","setFocusDistance","setDarkenOutOfFocus","enablePentagonBokeh","disablePentagonBokeh","setHighlightsGain","setHighlightsThreshold","disableEdgeBlur","disableGrain","disableChromaticAberration","disableEdgeDistortion","disableDepthOfField","enableNoiseBlur","disableNoiseBlur","disableHighlights","disableDepthRender","disableDepthRenderer","SSAOOriginalSceneColorEffect","SSAORenderEffect","SSAOBlurHRenderEffect","SSAOBlurVRenderEffect","SSAOCombineRenderEffect","totalStrength","minZAspect","_textureSamples","_expensiveBlur","_bits","ssaoRatio","blurRatio","_createRandomTexture","_originalColorPostProcess","textureSamples","_createSSAOPostProcess","_createBlurPostProcess","_createSSAOCombinePostProcess","_ssaoPostProcess","_blurHPostProcess","_blurVPostProcess","_ssaoCombinePostProcess","_getDefinesForSSAO","_sampleSphere","_generateHemisphere","_samplerOffsets","expensive","expensiveBlur","_radicalInverse_VdC","_hammersley","_hemisphereSample_uniform","numSamples","rand","SSAO2Configuration","randVector","SSAO2RenderingPipeline","fallOff","_firstUpdate","combineRatio","sampleSphere","reflectionSpecularFalloffExponent","roughnessFactor","_enableSmoothReflections","_reflectionSamples","_smoothSteps","geometryBufferRenderer","enablePosition","enableReflectivity","ScreenSpaceReflectionsConfiguration","_updateEffectDefines","roughnessIndex","normalIndex","ScreenSpaceReflectionPostProcess","originalPostProcess","downSampleX4PostProcess","brightPassPostProcess","blurHPostProcesses","blurVPostProcesses","textureAdderPostProcess","volumetricLightPostProcess","volumetricLightSmoothXPostProcess","volumetricLightSmoothYPostProcess","volumetricLightMergePostProces","volumetricLightFinalPostProcess","luminancePostProcess","luminanceDownSamplePostProcesses","hdrPostProcess","textureAdderFinalPostProcess","lensFlareFinalPostProcess","hdrFinalPostProcess","lensFlarePostProcess","lensFlareComposePostProcess","motionBlurPostProcess","depthOfFieldPostProcess","fxaaPostProcess","screenSpaceReflectionPostProcess","brightThreshold","blurWidth","horizontalBlur","lensTexture","volumetricLightCoefficient","volumetricLightPower","volumetricLightBlurScale","sourceLight","hdrMinimumLuminance","hdrDecreaseRate","hdrIncreaseRate","lensColorTexture","lensFlareStrength","lensFlareGhostDispersal","lensFlareHaloWidth","lensFlareDistortionStrength","lensFlareBlurWidth","lensStarTexture","lensFlareDirtTexture","depthOfFieldDistance","depthOfFieldBlurWidth","_currentDepthOfFieldSource","_fixedExposure","_currentExposure","_hdrAutoExposure","_hdrCurrentLuminance","_motionStrength","_isObjectBasedMotionBlur","_vlsEnabled","_lensFlareEnabled","_hdrEnabled","_motionBlurEnabled","_screenSpaceReflectionsEnabled","_volumetricLightStepsCount","_basePostProcess","_floatTextureType","shouldRebuild","motionBlurSamples","_createDownSampleX4PostProcess","_createBrightPassPostProcess","_createBlurPostProcesses","_createTextureAdderPostProcess","_createVolumetricLightPostProcess","_createLensFlarePostProcess","_createLuminancePostProcesses","_createHdrPostProcess","_createMotionBlurPostProcess","downSampleX4Offsets","brightOffsets","sU","sV","indice","blurWidthKey","geometryRenderer","depthValues","StandardRenderingPipeline","LuminanceSteps","lastLuminance","downSampleOffsets","onAfterRender","pixel","bit_shift","outputLiminance","lastTime","hdrAutoExposure","scaleBias1","scaleBias2","camerax","cameraz","camRot","starRotation","lensStarMatrix","_getDepthTexture","mb","motionScale","prevViewProjection","invViewProjection","screenSize","sourceLightId","isStereoscopicInterlaced","_stepSize","TonemappingOperator","_operator","exposureAdjustment","Hable","Reinhard","HejiDawson","Photographic","postProcessRatio","_screenCoordinates","customMeshPosition","useCustomMeshPosition","decay","_viewPort","VolumetricLightScatteringPostProcess","CreateDefaultMesh","_createPass","passRatio","onActivate","_updateMeshScreenCoordinates","_volumetricLightScatteringRTT","useDiffuseColor","_volumetricLightScatteringPass","setCustomMeshPosition","getCustomMeshPosition","rttIndex","getPass","_meshExcluded","savedSceneClearColor","sceneClearColor","sortedArray","ridge","valley","normalTexture","ScreenSpaceCurvaturePostProcess","_forceShowBoundingBoxes","_boundingBoxRenderer","_showBoundingBox","frontColor","backColor","showBackLines","onBeforeBoxRenderingObservable","onAfterBoxRenderingObservable","onResourcesReadyObservable","_fillIndexBuffer","_fillIndexData","_preActiveMesh","_tag","forceShowBoundingBoxes","_prepareResources","boxdata","boundingBoxIndex","median","force32bitsFloat","supportFullfloat","_gatherActiveCameraRenderTargets","edges","edgesConnectedCount","generateEdgesLines","edgesWidthScalerForOrthographic","edgesWidthScalerForPerspective","_linesPositions","_linesNormals","_linesIndices","_buffers","_buffersForInstances","_checkVerticesInsteadOfIndices","_prepareRessources","useAlternateEdgeFinder","_generateEdgesLinesAlternate","_generateEdgesLines","_meshRebuildObserver","_meshDisposeObserver","GetShader","_edgeRenderLineShader","_lineShader","EdgesRenderer","_ib","_processEdgeForAdjacencies","_processEdgeForAdjacenciesWithVertices","eps","_checkEdge","needToCreateLine","createLine","_tessellateTriangle","edgePoints","indexTriangle","remapVertexIndices","makePointList","pointIndices","startEdge","mainPointIndices","otherPointIndices","numMainPoints","numOtherPoints","bucketIsMain","bucketStep","bucketLimit","bucketIdxLimit","winding","numTris","bucketIdx","nbucketIdx","bucketPoints","nbucketPoints","bucket","useFastVertexMerger","epsVertexMerge","epsilonVertexMerge","mapVertices","applyTessellation","epsVertexAligned","epsilonVertexAligned","mustTesselate","triangleToTessellate","p0Index","p1Index","p2Index","p0x","p0y","p0z","p1x","p1y","p1z","p0p1","p0p","pp1","edgesPoints","faceNormal","ei","_indicesCount","faceAdjacencies","adjacencies","FaceAdjacencies","otherIndex","otherFaceAdjacencies","otherP0","otherP1","otherP2","edgeIndex","otherEdgeIndex","useBuffersWithInstances","thinInstanceCount","_textureFormats","excludedMaterials","_textureIndices","_effectConfigurations","_mrtFormats","_enabled","_useGeometryBufferFallback","disableGammaTransform","PrePassRenderer","imageProcessingPostProcess","_createCompositionEffect","_geometryBuffer","_updateGeometryBufferLayout","_initializeAttachments","multiRenderLayout","clearLayout","defaultLayout","_multiRenderAttachments","_clearAttachments","_defaultAttachments","useGeometryBufferFallback","bindAttachmentsForEffect","restoreAttachments","_beforeCameraDraw","_afterCameraDraw","firstCameraPP","_checkRTSize","_bindPostProcessChain","texturesActivated","_mrtLayout","prePassConstant","geometryBufferConstant","cfg","previousMrtCount","_enableTextures","_resetPostProcessChain","isIPPAlreadyPresent","enablePrePass","_markAllMaterialsAsPrePassDirty","disablePrePassRenderer","metersPerUnit","ssDiffusionS","ssDiffusionD","ssFilterRadii","_ssDiffusionS","_ssFilterRadii","_ssDiffusionD","SubSurfaceConfiguration","getDiffusionProfileParameters","clearAllDiffusionProfiles","maxScatteringDistance","_sampleBurleyDiffusionProfile","rcpS","_subSurfaceConfiguration","disableSubSurfaceForPrePass","getOutlineRenderer","_outlineRenderer","_renderOutline","_renderOverlay","_beforeRenderingMesh","_afterRenderingMesh","useOverlay","_savedDepthWrite","renderOutline","OutlineRenderer","_StencilReference","currentMode","alphaBlendState","alphaState","alphaBlend","useAlphaForPicking","_onAnimationEnd","_endAnimation","disposeWhenFinishedAnimating","_manager","sprites","_fromIndex","playAnimation","_toIndex","_delay","cellRef","invertU","invertV","animationStarted","parsedSprite","sprite","Sprite","_animationStarted","_onBaseAnimationEnd","_internalPickSprites","spriteIndex","_internalMultiPickSprites","multiIntersects","pickSprite","_tempSpritePickingRay","pickSpriteWithRay","multiPickSprite","multiPickSpriteWithRay","setPointerOverSprite","_pointerOverSprite","getPointerOverSprite","_spritePredicate","_pointerMove","_pointerDown","_pointerUp","_pickSpriteButKeepRay","originalPointerInfo","unTranslatedPointerX","unTranslatedPointerY","_pickedDownSprite","spritePickResult","autoResetAlpha","_useVAO","inverts","cellInfo","_effectBase","_effectFog","customSpriteUpdate","shouldRenderFog","noSprite","_appendSpriteVertex","arrayOffset","rowSize","cellWidth","_xOffset","_yOffset","cellHeight","_xSize","_ySize","cellSize","fromPacked","spriteJSON","_packedAndReady","_customUpdate","_spriteMap","_cellData","_fromPacked","_spriteRenderer","_makePacked","_textureContent","celldata","frametemp","spritemap","_checkTextureAlpha","contactPointU","contactPointV","rotatedU","rotatedV","currentSprite","cameraSpacePosition","cameraView","parsedManager","SpriteManager","AssetTaskState","atlasJSON","spriteSheet","stageSize","outputSize","outputPosition","outputRotation","layerCount","maxAnimationFrames","baseTile","flipU","colorMultiply","_frameMap","_createFrameBuffer","_tileMaps","_createTileBuffer","_animationMap","_createTileAnimationBuffer","layerSampleString","shaderString","spriteCount","tickSave","bindSpriteTexture","_output","am","getTileID","getMousePosition","pickinfo","coords","sss","ss","_layer","_ty","_tx","bt","changeTiles","tile","_p","addAnimationToTile","cellID","_frame","toCell","saveTileMaps","hiddenElement","encodeURI","loadTileMaps","_lc","InspectableType","_isCompleted","_taskState","_errorObject","_setErrorObject","run","RUNNING","runTask","onDoneCallback","onErrorCallback","ERROR","remainingCount","loadedContainer","loadedMeshes","loadedParticleSystems","loadedSkeletons","loadedAnimationGroups","AbstractAssetTask","reserved","_isLoading","_tasks","_waitingTasksCount","_totalTasksCount","onTaskSuccessObservable","onTaskErrorObservable","onTasksDoneObservable","onProgressObservable","useDefaultLoadingScreen","autoHideLoadingUI","addContainerTask","taskName","addMeshTask","addTextFileTask","addBinaryFileTask","addImageTask","addTextureTask","addCubeTextureTask","addHDRCubeTextureTask","addEquiRectangularCubeTextureAssetTask","removeTask","_decreaseWaitingTasksCount","AssetsProgressEvent","currentTasks","onFinish","taskState","_runTask","onTaskError","onTaskSuccess","remainingTasks","centerMesh","_meshesOrigins","_toCenterVectors","_centerPosition","_centerMesh","_setCenterMesh","centerMeshIndex","averageCenter","totalCenters","shortestToCenter","distanceToCenter","getMeshes","meshArray","explode","sceneLoadedCallback","additionalRenderLoopLogicCallback","textureLoadingCallback","startingProcessingFilesCallback","onReloadCallback","onProcessFileCallback","_currentScene","_sceneLoadedCallback","_progressCallback","_additionalRenderLoopLogicCallback","_textureLoadingCallback","_startingProcessingFilesCallback","_onReloadCallback","_errorCallback","monitorElementForDragNDrop","elementToMonitor","_elementToMonitor","_dragEnterHandler","_dragOverHandler","_dropHandler","drop","_filesToLoad","remaining","stopPropagation","eventDrop","loadFiles","_traverseFolder","folder","createReader","relativePath","fullPath","readEntries","correctName","isDirectory","_processFiles","_sceneFileToLoad","FilesInput","dataTransfer","folders","getAsEntry","webkitGetAsEntry","_processReload","reload","progress","priority","getDescription","maximumSize","canRescale","SceneOptimization","maximumScale","_currentScale","_directionOffset","isInImprovementMode","onGetDescription","_canBeMerged","hasLODLevels","MergeMeshesOptimization","_UpdateSelectionTree","updateSelectionTree","globalPool","globalLength","currentPool","sceneAsAny","UpdateSelectionTree","targetFrameRate","trackerDuration","optimizations","addOptimization","optimization","addCustomOptimization","LowDegradationAllowed","SceneOptimizerOptions","ModerateDegradationAllowed","HighDegradationAllowed","serializedGeometries","autoGeneratePriorities","improvementMode","_isRunning","_currentPriorityLevel","_targetFrameRate","_trackerDuration","_currentFrameRate","_improvementMode","onSuccessObservable","onNewOptimizationAppliedObservable","onFailureObservable","_checkCurrentState","noOptimizationApplied","OptimizeAsync","onFailure","SceneOptimizer","serializeGeometry","serializationGeometries","serializeMesh","serializationScene","ClearCache","SceneSerializer","animationGroupIndex","boxes","cylinders","toruses","grounds","planes","torusKnots","SerializeMesh","toSerialize","withParents","withChildren","submaterial","CreateResizedCopy","useBilinearMode","passPostProcess","VideoRecorder","isRecording","_defaultOptions","captureStream","fps","audioTracks","track","addTrack","_mediaRecorder","MediaRecorder","ondataavailable","_handleDataAvailable","_handleError","onstop","_handleStop","stopRecording","startRecording","maxDuration","_fileName","_recordedChunks","_resolve","_reject","recordChunckSize","superBuffer","ScreenshotTools","_getScreenshotSize","renderContext","newWidth","newHeight","renderingCanvas","enableStencilBuffer","targetTextureSize","originalSize","previousCamera","previousCameras","renderToTexture","_GetStorage","localStorage","setItem","removeItem","getItem","ReadString","_Storage","WriteString","ReadBoolean","WriteBoolean","ReadNumber","WriteNumber","DataStorage","_trackedScene","_savedJSON","getDelta","newJSON","deltaJSON","_compareCollections","_compareArray","originalUniqueIds","originalObject","originalUniqueId","currentObjects","currentObject","_compareObjects","__state","deleteId","currentUniqueId","originalObjet","aDifferenceWasFound","originalValue","diffFound","GetShadowGeneratorById","ApplyDelta","anyScene","_ApplyDeltaForEntity","_ApplyPropertiesToEntity","finder","addNew","targetEntity","Levenshtein","characters","charToInsertionCost","charToDeletionCost","charsToSubstitutionCost","_characterToIdx","_insertionCosts","_deletionCosts","_substitutionCosts","outerIdx","innerIdx","Deserialize","alphabet","Alphabet","getCharacterIdx","char","getInsertionCost","getDeletionCost","getSubstitutionCost","Sequence","MAX_SEQUENCE_LENGTH","_alphabet","_characters","sequence","_distance","aChars","bChars","aLength","bLength","costMatrix","_costMatrix","aIdx","bIdx","_insertionCost","_deletionCost","_substitutionCost","segmentLength","_segmentLength","trajectory","Trajectory","getLength","numPoints","getT","resampleAtTargetResolution","targetResolution","resampled","tokenize","tokens","tokenization","segmentDir","_transformSegmentDirToRef","_tokenizeSegment","priorVec","fromVec","toVec","_forwardDir","_inverseFromVec","_upDir","_lookMatrix","_fromToVec","segment","_bestMatch","_score","_bestScore","chars","Generate","alphabetSize","startingStepSize","endingStepSize","fixedValues","stepSize","distSq","Vector3Alphabet","scratch","_sequences","TrajectoryDescriptor","CreateFromTrajectory","vector3Alphabet","levenshteinAlphabet","CreateFromTokenizationPyramid","_getTokenizationPyramid","pyramid","FINEST_DESCRIPTOR_RESOLUTION","totalDistance","descriptors","_descriptors","_centroidIdx","_averageDistance","_refreshDescription","centroidIdx","averageDistance","described","TrajectoryClass","getMatchCost","getMatchMinimumDistance","MIN_AVERAGE_DISTANCE","_maximumAllowableMatchCost","_nameToDescribedTrajectory","maximumAllowableMatchCost","_vector3Alphabet","_levenshteinAlphabet","nameToDescribedTrajectory","classifier","TrajectoryClassifier","vecs","charIdxs","trajectorySet","addTrajectoryToClassification","classification","deleteClassification","classifyTrajectory","allowableMatches","trajectoryClass","bestIdx","bestMatch","_mat","_onSelectEnabled","lastNativeXRHitResults","onHitTestResultObservable","_onHitTestResults","xrResults","mats","hitMatrix","worldParentNode","xrHitResult","transformationMatrix","_onSelect","WebXRHitTestLegacy","XRHitTestWithSelectEvent","XRHitTestWithRay","xrRay","requestHitTest","filterFunction","targetRayPose","targetRay","XRRay","testOnPointerDownOnly","anchorIdProvider","_lastFrameDetected","_trackedAnchors","_futureAnchors","onAnchorAddedObservable","onAnchorRemovedObservable","onAnchorUpdatedObservable","_referenceSpaceForFrameAnchors","_populateTmpTransformation","addAnchorPointUsingHitTestResultAsync","hitTestResult","createAnchor","nativeAnchor","resolved","submitted","xrTransformation","addAnchorAtPositionAndRotationAsync","forceCreateInCurrentFrame","_createAnchorAtTransformation","xrAnchor","doNotRemoveAnchorsOnSessionEnded","trackedAnchors","_findIndexInAnchorArray","_updateAnchorWithXRFrame","newAnchor","futureAnchor","anchorSpace","planeIdProvider","_detectedPlanes","onPlaneAddedObservable","onPlaneRemovedObservable","onPlaneUpdatedObservable","doNotRemovePlanesOnSessionEnded","XRPlane","detectedPlanes","worldInformation","xrPlane","lastChangedTime","findIndexInPlaneArray","_updatePlaneWithXRPlane","newPlane","polygonDefinition","internalInit","updateWorldTrackingState","planeDetectionState","worldTrackingState","xrPoint","planeSpace","onBackgroundStateChangedObservable","_setBackgroundState","ignoreEnvironmentHelper","environmentHelperRemovalFlags","skyBox","backgroundSkybox","backgroundPlane","backgroundHelper","backgroundMeshes","physicsProperties","useControllerMesh","controllerMesh","impostorType","impostorSize","impostorMesh","_delta","_lastTimestamp","_enablePhysicsDebug","addController","enableHeadsetImpostor","headsetImpostorParams","_headsetMesh","_headsetImpostor","getHeadsetImpostor","getImpostorForController","setPhysicsProperties","newProperties","comparedPosition","comparedQuaternion","_tmpMat","_tmpPos","initHitTestSource","offsetRay","hitTestOptions","useReferenceSpace","entityTypes","requestHitTestSource","hitTestSource","_xrHitTestSource","cancel","autoCloneTransformation","disablePermanentHitTest","enableTransientHitTest","transientOffsetRay","requestHitTestSourceForTransientInput","hitSource","_transientXrHitTestSource","getHitTestResults","_processWebXRHitTestResult","getHitTestResultsForTransientInput","resultsPerInputSource","hitTestResults","isTransient","_featurePointCloud","onFeaturePointsAddedObservable","onFeaturePointsUpdatedObservable","featurePointCloud","featurePointRawData","numberOfFeaturePoints","updatedFeaturePoints","addedFeaturePoints","rawIndex","confidenceValue","trySetFeaturePointCloudEnabled","trackedMeshes","_handMesh","_rigMapping","disableDefaultHandMesh","_defaultHandMesh","_transformNodeMapping","handPartsDefinition","generateHandPartsDefinition","_generateDefaultHandMesh","WRIST","THUMB_METACARPAL","THUMB_PHALANX_PROXIMAL","THUMB_PHALANX_DISTAL","THUMB_PHALANX_TIP","INDEX_METACARPAL","INDEX_PHALANX_PROXIMAL","INDEX_PHALANX_INTERMEDIATE","INDEX_PHALANX_DISTAL","INDEX_PHALANX_TIP","MIDDLE_METACARPAL","MIDDLE_PHALANX_PROXIMAL","MIDDLE_PHALANX_INTERMEDIATE","MIDDLE_PHALANX_DISTAL","MIDDLE_PHALANX_TIP","RING_METACARPAL","RING_PHALANX_PROXIMAL","RING_PHALANX_INTERMEDIATE","RING_PHALANX_DISTAL","RING_PHALANX_TIP","LITTLE_METACARPAL","LITTLE_PHALANX_PROXIMAL","LITTLE_PHALANX_INTERMEDIATE","LITTLE_PHALANX_DISTAL","LITTLE_PHALANX_TIP","xrJoint","getJointPose","getHandPartMeshes","loaded","handColors","fingerColor","tipFresnel","handShader","needDepthPrePass","handNodes","onHandAddedObservable","onHandRemovedObservable","_hands","_attachHand","originalMesh","jointMeshes","keepOriginalVisible","onHandJointMeshGenerated","returnedMesh","physicsProps","invisible","handMesh","handMeshes","rigMapping","webxrHand","handObject","WebXRHandTracking","XRHand","_detachHand","getHandByControllerId","getHandByHandedness","MixedRealityProfile","defaultButton","unpressedNodeName","pressedNodeName","defaultAxis","labelAnchorNodeName","WebXRMicrosoftMixedRealityController","pressedMesh","unpressedMesh","comp","axisValues","xr_standard_trigger_pressed","xr_standard_squeeze_pressed","xr_standard_touchpad_pressed","xr_standard_touchpad_xaxis_pressed","xr_standard_touchpad_yaxis_pressed","xr_standard_touchpad_xaxis_touched","xr_standard_touchpad_yaxis_touched","xr_standard_touchpad_axes_touched","xr_standard_thumbstick_pressed","xr_standard_thumbstick_xaxis_pressed","xr_standard_thumbstick_yaxis_pressed","legacyMapping","_forceLegacyControllers","OculusTouchLayouts","WebXROculusTouchMotionController","_isQuest","isQuest","_modelRootNode","thumbrest","HTCViveLayout","WebXRHTCViveMotionController","menu","deprecatedPropType","_localDelayOffset","_pausedDelay","_paused","_weight","_syncRoot","disposeOnEnd","appendAnimations","_prepareForSpeedRatioChange","getAnimations","newRuntimeAnimation","_onLoop","getAnimationByTargetProperty","runtimeAnimations","getRuntimeAnimationByTargetProperty","disableBlending","_raiseOnAnimationEnd","runtimeAnimation","waitAsync","isRunning","animationTime","_processLateAnimationBindings","beginWeightedAnimation","returnedAnimatable","stopCurrent","Animatable","shouldRunTargetAnimations","beginHierarchyAnimation","getAnimatableByTarget","_registerTargetForLateAnimationBinding","_lateAnimationHolders","targetPath","totalAdditiveWeight","additiveAnimations","_processLateAnimationBindingsForMatrices","normalizer","finalScaling","finalQuaternion","originalAnimation","skipOverride","currentPosition","currentScaling","currentQuaternion","_animationState","_processLateAnimationBindingsForQuaternions","refQuaternion","cumulativeQuaternion","quaternions","cumulativeAmount","matrixDecomposeMode","finalValue","origTranslation","sourceBoneLength","sourceParent","parentScalingReqd","parentRatio","dimensionsScalingReqd","destKeys","setAlphaBlendConstants","setAlphaBlendFunctionParameters","ONE","ONE_MINUS_SRC_ALPHA","SRC_ALPHA","ZERO","ONE_MINUS_SRC_COLOR","DST_COLOR","CONSTANT_COLOR","ONE_MINUS_CONSTANT_COLOR","CONSTANT_ALPHA","ONE_MINUS_CONSTANT_ALPHA","DST_ALPHA","ONE_MINUS_DST_COLOR","ONE_MINUS_DST_ALPHA","setAlphaEquation","setAlphaEquationParameters","FUNC_ADD","FUNC_SUBTRACT","FUNC_REVERSE_SUBTRACT","getAlphaEquation","forceBindTexture","glformat","common","black","white","injectFirstNode","jssPreset","generateClassName","createGenerateClassName","sheetsManager","defaultOptions","disableGeneration","sheetsCache","sheetsRegistry","StylesContext","StylesProvider","_props$injectFirst","injectFirst","_props$disableGenerat","outerOptions","createComment","getBorder","borders","flexBasis","alignContent","alignSelf","justifySelf","flexbox","gridGap","gridColumnGap","gridRowGap","gridAutoFlow","gridAutoColumns","gridAutoRows","gridTemplateAreas","gridArea","grid","bgcolor","sizeWidth","sizeHeight","sizing","fontStyle","fontWeight","letterSpacing","lineHeight","aliases","marginX","marginY","paddingX","paddingY","getCssProperties","_prop$split","_prop$split2","spacingKeys","createUnarySpacing","themeSpacing","getStyleFromPropValue","cssProperties","ariaHidden","removeAttribute","getPaddingRight","ariaHiddenSiblings","mountNode","currentNode","nodesToExclude","blacklistTagNames","findIndexOf","containerInfo","handleContainer","fixedNodes","restoreStyle","restorePaddings","documentElement","scrollHeight","isOverflowing","scrollbarSize","getScrollbarSize","paddingRight","querySelectorAll","scrollContainer","nodeName","ModalManager","modals","containers","modalIndex","modalRef","hiddenSiblingNodes","hiddenSiblings","getHiddenSiblings","containerIndex","restore","nextTop","_getPrototypeOf","formatMuiErrorMessage","isMergeableObject","isNonNullObject","stringValue","REACT_ELEMENT_TYPE","isReactElement","isSpecial","for","cloneUnlessOtherwiseSpecified","defaultArrayMerge","getEnumerableOwnPropertySymbols","propertyIsOnObject","mergeObject","propertyIsUnsafe","customMerge","getMergeFunction","arrayMerge","sourceIsArray","deepmerge_1","preprocessors","lineProcessor","uniformProcessor","uniformBufferProcessor","lookForClosingBracketForUniformBuffer","endOfUniformBufferProcessor","additionalDefineKey","additionalDefineValue","_lines","subLine","testExpression","isTrue","postfixToInfix","postfix","ShaderDefineExpression","_OperatorPriority","infixToPostfix","infix","stackIdx","pushOperand","operand","_Stack","not","leftOperand","rightOperand","testValue","regexSE","regexSERevert","_ProcessIncludes","codeWithIncludes","migratedCode","_ProcessShaderConversion","_ProcessPrecision","_ExtractOperation","expression","indexOperator","_BuildSubExpression","_BuildExpression","command","_MoveCursorWithinIf","ifNode","currentLine","_MoveCursor","first5","elseNode","elifNode","canRead","newRootNode","newNode","_EvaluatePreProcessors","ShaderCodeCursor","_PreparePreProcessors","preparedSourceCode","preProcessor","regex","keepProcessing","includeFile","includeShaderUrl","ShaderProcessor","fileContent","includeContent","splits","indexString","indexSplits","minIndex","sourceIncludeContent","SimpleBackdrop","_props$invisible","defaultManager","inProps","getThemeProps","_props$BackdropCompon","_props$closeAfterTran","closeAfterTransition","_props$disableAutoFoc","disableAutoFocus","_props$disableBackdro","disableBackdropClick","_props$disableEnforce","disableEnforceFocus","_props$disableEscapeK","disableEscapeKeyDown","_props$disablePortal","disablePortal","_props$disableRestore","disableRestoreFocus","_props$disableScrollL","_props$hideBackdrop","hideBackdrop","_props$keepMounted","keepMounted","_props$manager","onBackdropClick","onEscapeKeyDown","onRendered","exited","setExited","mountNodeRef","hasTransition","getHasTransition","getDoc","getModal","handleMounted","handleOpen","resolvedContainer","getContainer","isTopModal","handlePortalRef","childProps","Portal","TrapFocus","_getRequireWildcardCache","newObj","hasPropertyDescriptor","BrowserRouter","createHistory","resolveToLocation","normalizeToLocation","forwardRefShim","C","LinkAnchor","innerRef","navigate","isModifiedEvent","forwardedRef","Link","ariaCurrent","activeClassName","activeStyle","classNameProp","isActiveProp","locationProp","styleProp","escapedPath","classnames","joinClassnames","useId","idOverride","setDefaultId","DirectionalLight","_shadowFrustumSize","_shadowOrthoScale","autoUpdateExtends","autoCalcShadowZBounds","_orthoLeft","_orthoRight","_orthoTop","_orthoBottom","shadowFrustumSize","_setDefaultFixedFrustumShadowProjectionMatrix","_setDefaultAutoExtendShadowProjectionMatrix","shadowOrthoScale","SpotLight","_innerAngle","_projectionTextureMatrix","_projectionTextureLightNear","_projectionTextureLightFar","_projectionTextureUpDirection","_projectionTextureViewLightDirty","_projectionTextureProjectionLightDirty","_projectionTextureDirty","_projectionTextureViewTargetVector","_projectionTextureViewLightMatrix","_projectionTextureProjectionLightMatrix","_projectionTextureScalingMatrix","_cosHalfAngle","_computeAngleValues","_shadowAngleScale","_projectionTexture","_IsProceduralTexture","_IsTexture","_computeProjectionTextureViewLightMatrix","_computeProjectionTextureProjectionLightMatrix","light_far","projectionTextureLightFar","light_near","projectionTextureLightNear","Q","S","_computeProjectionTextureMatrix","_lightAngleScale","_lightAngleOffset","projectionTexture","PointLight","_shadowAngle","previousNeedCube","shadowAngle","unsupportedProp","grey","50","100","200","300","400","500","600","700","800","900","A100","A200","A400","A700","indigo","pink","orange","AnimationKeyInterpolation","dummy","_wasAddedToScene","instantiateModelsToScene","nameFunction","cloneMaterials","convertionMap","storeMap","InstantiatedEntries","alreadySwappedSkeletons","alreadySwappedMaterials","onClone","clonedMesh","oldMorphTargetManager","oldTarget","sourceMaterial","swap","multi","addAllToScene","_moveAssets","sourceAssets","targetAssets","keepAssets","asset","moveAllFromScene","KeepAssets","createRootMesh","_targetConverter","nodeInAC","nodeInScene","animationInAC","animationInScene","animationWithSameProperty","newAnimationGroups","animationGroupInAC","_partialLoadFile","loadedFiles","onfinish","onErrorCallBack","_internalCount","_cascadeLoadFiles","_cascadeLoadImgs","loadedImages","_partialLoadImg","originalRootUrl","TEXTURE_CUBE_MAP_POSITIVE_Y","TEXTURE_CUBE_MAP_POSITIVE_Z","TEXTURE_CUBE_MAP_NEGATIVE_X","TEXTURE_CUBE_MAP_NEGATIVE_Y","TEXTURE_CUBE_MAP_NEGATIVE_Z","_influence","setPositions","hadPositions","hasPositions","setNormals","hadNormals","setTangents","hadTangents","setUVs","hadUVs","MorphTarget","withThemeCreator","withTheme","WithTheme","immediate","callNow","evaluateCallback","AndOrNotEvaluator","_HandleParenthesisContent","parenthesisContent","or","ori","_SimplifyNegation","and","andj","booleanString","_staticOffsetValueQuaternion","_staticOffsetValueVector3","_staticOffsetValueVector2","_staticOffsetValueSize","_staticOffsetValueColor3","_currentFrame","_originalValue","_originalBlendValue","_offsetsCache","_highLimitsCache","_blendingFactor","_currentActiveTarget","_directTarget","_targetPath","_ratioOffset","_previousDelay","_previousRatio","_targetIsArray","_animation","_host","_getCorrectLoopMode","_minFrame","_maxFrame","_minValue","_maxValue","_preparePath","_getOriginalValues","_clone","_enableBlending","targetIndex","restoreOriginal","_setValue","isDone","onlyOnce","newSpeedRatio","newRatio","keyOffset","fromValue","toValue","syncRoot","masterFrame","maxRetries","baseInterval","_isDepthTestDirty","_isDepthMaskDirty","_isDepthFuncDirty","_isCullFaceDirty","_isCullDirty","_isZOffsetDirty","_isFrontFaceDirty","_zOffset","_cullFace","_cull","_depthFunc","_depthMask","_depthTest","_frontFace","CULL_FACE","DEPTH_TEST","POLYGON_OFFSET_FILL","polygonOffset","_isStencilTestDirty","_isStencilMaskDirty","_isStencilFuncDirty","_isStencilOpDirty","_stencilFunc","_stencilFuncRef","_stencilFuncMask","_stencilOpStencilFail","_stencilOpDepthFail","_stencilOpStencilDepthPass","_stencilMask","_stencilTest","StencilState","STENCIL_TEST","stencilOp","_isAlphaBlendDirty","_isBlendFunctionParametersDirty","_isBlendEquationParametersDirty","_isBlendConstantsDirty","_alphaBlend","_blendFunctionParameters","_blendEquationParameters","_blendConstants","value0","BLEND","blendFuncSeparate","blendEquationSeparate","PromiseStates","Pending","_rejectWasConsumed","_resultValue","_result","onRejected","onFulfilled","newPromise","InternalPromise","_onFulfilled","_onRejected","Fulfilled","returnedValue","returnedPromise","_reason","_moveChildren","Rejected","onLocalThrow","_RegisterForFulfillment","agregator","rootPromise","FulFillmentAgregator","race","frameSampleSize","_rollingFrameTime","RollingAverage","timeMs","_lastFrameTimeMs","average","variance","isSaturated","bottomValue","_sampleCount","_m2","_wrapPosition","_opaqueSubMeshes","_transparentSubMeshes","_alphaTestSubMeshes","_depthOnlySubMeshes","_particleSystems","_spriteManagers","_opaqueSortCompareFn","_renderOpaque","renderOpaqueSorted","RenderingGroup","renderUnsorted","_alphaTestSortCompareFn","_renderAlphaTest","renderAlphaTestSorted","_transparentSortCompareFn","defaultTransparentSortCompare","_renderTransparent","renderTransparentSorted","_renderSprites","_renderParticles","onBeforeTransparentRendering","edgesRendererIndex","renderSorted","sortCompareFn","backToFrontSortCompare","frontToBackSortCompare","npixels","canvas2","ctx2","FreeCameraKeyboardMoveInput","FreeCameraMouseInput","_offsetX","_offsetY","_pointerPressed","isMouseEvent","FreeCameraTouchInput","_drawCameraBackground","_drawCameraForeground","_drawRenderTargetBackground","_drawRenderTargetForeground","_drawCameraPredicate","isBackground","cameraLayerMask","renderOnlyInRenderTargetTextures","_drawRenderTargetPredicate","renderTargetTextures","componentCreator","styledWithoutDefault","_CameraProperty","wheelPrecisionX","wheelPrecisionY","wheelPrecisionZ","onChangedObservable","_wheelDeltaX","_wheelDeltaY","_wheelDeltaZ","_ffMultiplier","_normalize","platformScale","deltaMode","WheelEvent","DOM_DELTA_LINE","deltaX","deltaZ","wheelDeltaY","wheelDeltaX","wheelDeltaZ","_moveRelative","_rotateRelative","_moveScene","_wheelXAction","MoveRelative","_wheelXActionCoordinate","_wheelYAction","_wheelYActionCoordinate","_wheelZAction","_wheelZActionCoordinate","RotateRelative","MoveScene","cameraTransformMatrix","moveRelative","rotateRelative","moveScene","updateCameraProperty","cameraProperty","coordinate","_iterableToArray","_isNativeReflectConstruct","sham","Proxy","_UniqueIdCounter","setTranslateValue","fakeTransform","computedStyle","transformValues","getTranslateValue","webkitTransform","defaultTimeout","_props$direction","_props$timeout","Transition","childrenRef","handleRefIntermediary","normalizedTransitionCallback","isAppearing","handleEnter","handleEntering","webkitTransition","handleEntered","handleExiting","handleExit","nodeRef","mobileStepper","speedDial","appBar","snackbar","tooltip","hasSymbol","scrollDiv","Fade","NativeSelectInput","IconComponent","inputRef","multiple","Parent","Class","Wrapper","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","_React$Component","initialStatus","isMounting","appearStatus","mountOnEnter","nextCallback","updateStatus","nextStatus","cancelNextCallback","getTimeouts","mounting","performEnter","performExit","_this2","appearing","findDOMNode","maybeNode","maybeAppearing","timeouts","enterTimeout","safeSetState","onTransitionEnd","_this3","setNextCallback","_this4","doesNotHaveTimeoutOrListener","addEndListener","_ref3","maybeNextCallback","_this$props","TransitionGroupContext","cloneElement","Children","_utils","IconButton","_props$edge","_props$disableFocusRi","disableFocusRipple","_props$size","edgeStart","edgeEnd","hoverOpacity","sizeSmall","propIsEnumerable","test1","test2","test3","letter","shouldUseNative","UNIFORM_BUFFER","requirePropFactory","componentNameInError","_toArray","createStylesOriginal","fields","omit","displayPrint","displayRaw","MAX_SIGNED_31_BIT_INT","commonjsGlobal","createEventEmitter","off","changedBits","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","_Component","getChildContext","componentWillReceiveProps","nextProps","Consumer","_Component2","observedBits","isarray","compile","tokensToFunction","tokensToRegExp","PATH_REGEXP","defaultDelimiter","delimiter","escaped","modifier","asterisk","partial","repeat","optional","escapeGroup","escapeString","encodeURIComponentPretty","encode","attachKeys","endsWithDelimiter","groups","regexpToRegexp","arrayToRegexp","stringToRegexp","reactPropsRegex","multiKeyStore","key2","subCache","indexCounter","getStylesCreator","themingEnabled","overrides","stylesWithOverrides","noopTheme","getClasses","stylesOptions","cacheClasses","lastProp","lastJSS","generate","mergeClasses","baseClasses","newClasses","stylesCreator","sheetManager","refs","staticSheet","dynamicStyles","serverGenerateClassName","dynamicSheet","_ref4","useSynchronousEffect","classNamePrefixOption","_options$defaultTheme","stylesOptions2","shouldUpdate","RTL_ORIGIN","LTR_ORIGIN","Menu","_props$autoFocus","autoFocus","disableAutoFocusItem","_props$MenuListProps","MenuListProps","PopoverClasses","autoFocusItem","menuListActionsRef","contentAnchorRef","activeItemIndex","selected","Popover","getContentAnchorEl","adjustStyleForScrollbar","MenuList","SwitchBase","checkedProp","checked","checkedIcon","defaultChecked","disabledProp","inputProps","_useControlled","_useControlled2","setCheckedState","hasLabelFor","newChecked","ALPHA_ONEONE_ONEONE","ALPHA_ALPHATOCOLOR","ALPHA_REVERSEONEMINUS","ALPHA_SRC_DSTONEMINUSSRCALPHA","ALPHA_ONEONE_ONEZERO","ALPHA_EXCLUSION","ALPHA_EQUATION_ADD","ALPHA_EQUATION_SUBSTRACT","ALPHA_EQUATION_REVERSE_SUBTRACT","ALPHA_EQUATION_MAX","ALPHA_EQUATION_MIN","ALPHA_EQUATION_DARKEN","TEXTURE_FILTERING_QUALITY_OFFLINE","TEXTURE_FILTERING_QUALITY_HIGH","TEXTURE_FILTERING_QUALITY_MEDIUM","TEXTURE_FILTERING_QUALITY_LOW","MATERIAL_TextureDirtyFlag","MATERIAL_LightDirtyFlag","MATERIAL_FresnelDirtyFlag","MATERIAL_AttributesDirtyFlag","MATERIAL_MiscDirtyFlag","MATERIAL_PrePassDirtyFlag","MATERIAL_AllDirtyFlag","MATERIAL_TriangleFillMode","MATERIAL_WireFrameFillMode","MATERIAL_PointFillMode","MATERIAL_PointListDrawMode","MATERIAL_LineListDrawMode","MATERIAL_LineLoopDrawMode","MATERIAL_LineStripDrawMode","MATERIAL_TriangleStripDrawMode","MATERIAL_TriangleFanDrawMode","MATERIAL_ClockWiseSideOrientation","MATERIAL_CounterClockWiseSideOrientation","ACTION_NothingTrigger","ACTION_OnPickTrigger","ACTION_OnLeftPickTrigger","ACTION_OnRightPickTrigger","ACTION_OnCenterPickTrigger","ACTION_OnPickDownTrigger","ACTION_OnDoublePickTrigger","ACTION_OnPickUpTrigger","ACTION_OnPickOutTrigger","ACTION_OnLongPressTrigger","ACTION_OnPointerOverTrigger","ACTION_OnPointerOutTrigger","ACTION_OnEveryFrameTrigger","ACTION_OnIntersectionEnterTrigger","ACTION_OnIntersectionExitTrigger","ACTION_OnKeyDownTrigger","ACTION_OnKeyUpTrigger","PARTICLES_BILLBOARDMODE_Y","PARTICLES_BILLBOARDMODE_ALL","PARTICLES_BILLBOARDMODE_STRETCHED","MESHES_CULLINGSTRATEGY_STANDARD","MESHES_CULLINGSTRATEGY_BOUNDINGSPHERE_ONLY","MESHES_CULLINGSTRATEGY_OPTIMISTIC_INCLUSION","MESHES_CULLINGSTRATEGY_OPTIMISTIC_INCLUSION_THEN_BSPHERE_ONLY","SCENELOADER_NO_LOGGING","SCENELOADER_MINIMAL_LOGGING","SCENELOADER_SUMMARY_LOGGING","SCENELOADER_DETAILED_LOGGING","PREPASS_IRRADIANCE_TEXTURE_TYPE","PREPASS_POSITION_TEXTURE_TYPE","PREPASS_VELOCITY_TEXTURE_TYPE","PREPASS_REFLECTIVITY_TEXTURE_TYPE","PREPASS_COLOR_TEXTURE_TYPE","PREPASS_DEPTHNORMAL_TEXTURE_TYPE","PREPASS_ALBEDO_TEXTURE_TYPE","COPY","CUT","PASTE","GetTypeFromCharacter","ClipboardEventTypes","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","runClearTimeout","Item","nextTick","browser","env","argv","versions","addListener","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","cwd","chdir","umask","Button","_props$disableElevati","disableElevation","endIconProp","endIcon","_props$fullWidth","fullWidth","startIconProp","startIcon","textPrimary","textSecondary","disabledBackground","outlinedPrimary","outlinedSecondary","contained","getContrastText","containedPrimary","contrastText","dark","containedSecondary","textSizeSmall","textSizeLarge","outlinedSizeSmall","outlinedSizeLarge","containedSizeSmall","containedSizeLarge","sizeLarge","iconSizeSmall","iconSizeMedium","iconSizeLarge","disableUnderline","_props$inputComponent","inputComponent","_props$multiline","multiline","InputBase","underline","bottomLineColor","formControl","focused","borderBottomColor","borderBottomStyle","marginDense","inputMarginDense","inputMultiline","inputTypeSearch","createMixins","_toolbar","gutters","toolbar","hint","selectedOpacity","disabledOpacity","focusOpacity","activatedOpacity","addLightOrDark","intent","shade","tonalOffset","tonalOffsetLight","tonalOffsetDark","createPalette","_palette$primary","_palette$secondary","_palette$error","_palette$warning","_palette$info","_palette$success","_palette$type","_palette$contrastThre","contrastThreshold","_palette$tonalOffset","augmentColor","mainShade","lightShade","darkShade","caseAllCaps","textTransform","defaultFontFamily","createTypography","_ref$fontFamily","_ref$fontSize","_ref$fontWeightLight","fontWeightLight","_ref$fontWeightRegula","fontWeightRegular","_ref$fontWeightMedium","fontWeightMedium","_ref$fontWeightBold","fontWeightBold","_ref$htmlFontSize","htmlFontSize","allVariants","pxToRem2","coef","buildVariant","casing","variants","createShadow","createSpacing","spacingInput","mui","argument","_options$breakpoints","breakpointsInput","_options$mixins","mixinsInput","_options$palette","paletteInput","_options$typography","typographyInput","createBreakpoints","muiTheme","AnimationEvent","_sounds","_weights","weightSum","invWeightSum","directionalConeInnerAngle","directionalConeOuterAngle","_currentIndex","startOffset","randomValue","total","fadeInTime","_millisecondsPerFrame","_hovered","_hoverValue","_setAllVisibility","fadeIn","updateRGBDAsync","RawCubeTexture","decodeMesh","decoderModule","onIndicesData","onAttributeData","DecoderBuffer","Init","decoder","Decoder","GetEncodedGeometryType","TRIANGULAR_MESH","DecodeBufferToMesh","POINT_CLOUD","PointCloud","DecodeBufferToPointCloud","error_msg","numIndices","num_faces","GetTrianglesUInt32Array","HEAPF32","processAttribute","numComponents","num_components","num_points","numValues","GetAttributeDataArrayForAllPoints","DT_FLOAT32","babylonData","GetAttributeByUniqueId","nativeAttributeTypes","GetAttributeId","GetAttribute","decoderPromise","DracoDecoderModule","getAbsoluteUrl","DracoCompression","Configuration","decoderInfo","wasmUrl","wasmBinaryUrl","WebAssembly","wasmBinaryPromise","fallbackUrl","_workerPoolPromise","decoderWasmBinary","_decoderModulePromise","_Default","decodeMeshAsync","readAsync","_dataView","_dataByteOffset","readUint32","readUint8Array","readString","skipBytes","layerComponent","_previousDefines","NullEngineOptions","theCurrentGlobal","urlArg","makeStylesWithoutDefault","utils","paramsSerializer","serializedParams","toISOString","hashmarkIndex","__CANCEL__","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","adapter","getDefaultAdapter","transformRequest","transformResponse","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","requestData","requestHeaders","auth","username","unescape","Authorization","btoa","baseURL","onreadystatechange","responseHeaders","getAllResponseHeaders","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","read","onDownloadProgress","onUploadProgress","upload","cancelToken","enhanceError","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","mergeDeepProperties","axiosKeys","otherKeys","Cancel","filled","selectMenu","iconOpen","iconFilled","iconOutlined","nativeInput","defaultInput","NativeSelect","_props$IconComponent","ArrowDropDownIcon","_props$input","fcs","_bouncyShadow","useBouncyShadowStyles","_makeStyles","timeoutDuration","longerTimeoutBrowsers","called","scheduled","functionToCheck","getType","getStyleComputedProperty","getParentNode","getScrollParent","overflowX","getReferenceNode","isIE11","isIE10","isIE","getOffsetParent","noOffsetParent","offsetParent","getRoot","findCommonOffsetParent","element1","element2","commonAncestorContainer","isOffsetContainer","element1root","getScroll","upperSide","html","scrollingElement","includeScroll","scrollLeft","getBordersSize","sideA","sideB","getWindowSizes","getClientRect","horizScrollbar","vertScrollbar","getOffsetRectRelativeToArbitraryNode","runIsIE","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","isFixed","getFixedPositionOffsetParent","getBoundaries","boundaries","boundariesElement","boundariesNode","popper","isPaddingNumber","getArea","computeAutoPlacement","placement","rects","refRect","sortedAreas","filteredAreas","computedPlacement","variation","getReferenceOffsets","commonOffsetParent","getOuterSizes","getOppositePlacement","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","runModifiers","modifiers","ends","findIndex","positionFixed","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","toCheck","getWindow","attachToScrollParents","scrollParents","isBody","passive","setupEventListeners","scrollElement","enableEventListeners","disableEventListeners","removeEventListeners","isNumeric","setStyles","isFirefox","isModifierRequired","requesting","requested","validPlacements","placements","clockwise","BEHAVIORS","parseOffset","useHeight","basePlacement","fragments","splitRegex","mergeWithPrevious","shiftvariation","isVertical","shiftOffsets","transformProp","popperStyles","opSide","arrowElement","sideCapitalized","altSide","arrowElementSize","popperMarginSide","popperBorderSide","sideValue","placementOpposite","flipOrder","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flippedVariationByContent","flippedVariation","getOppositeVariation","subtractLength","bound","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","bothOddWidth","getRoundedOffsets","prefixedProperty","invertTop","invertLeft","Popper","modifierOptions","eventsEnabled","Utils","PopperUtils","Defaults","_clsx","_Modal","_Backdrop","_withStyles","_Slide","_Paper","_capitalize","_transitions","_useTheme","objA","objB","compareContext","keysA","keysB","bHasOwnProperty","valueA","valueB","stylis_min","W","M","K","I","J","G","ca","O","H","da","ea","fa","L","E","ha","ia","ja","ka","aa","ba","la","ma","R","na","oa","U","T","unitlessKeys","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flexPositive","flexNegative","flexOrder","gridRowEnd","gridRowSpan","gridRowStart","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","orphans","tabSize","widows","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","V3_URL","V3_URL_REGEX","EXISTING_SCRIPT_MESSAGE","loadScript","Stripe","scripts","findScript","queryString","advancedFraudSignals","headOrBody","injectScript","initStripe","registerWrapper","stripePromise$1","loadCalled","loadStripe","pseudoClasses","_options$disableGloba","disableGlobal","_options$productionPr","productionPrefix","_options$seed","seedPrefix","getNextCounterId","styleSheet","nested","entering","_props$disableStrictM","disableStrictModeCompat","enableStrictModeCompat","unstable_strictMode","foreignRef","nodeOrAppearing","ariaDescribedby","autoComplete","endAdornment","_props$inputProps","inputPropsProp","inputRefProp","placeholder","renderSuffix","rows","rowsMax","rowsMin","valueProp","handleInputRefWarning","handleInputPropsRefProp","handleInputRefProp","handleInputRef","setFocused","onFilled","onEmpty","checkDirty","InputComponent","TextareaAutosize","setAdornedStart","adornedStart","adornedEnd","onAnimationStart","hiddenLabel","inputHiddenLabel","inputAdornedStart","inputAdornedEnd","placeholderHidden","placeholderVisible","paddingTop","Grow","autoTimeout","_getTransitionProps","_getTransitionProps2","nodeOrNext","maybeNext","muiSupportAuto","fnValuesNs","fnRuleNs","functionPlugin","fnValues","fnRule","atPrefix","GlobalContainerRule","GlobalPrefixedRule","separatorRegExp","addScope","jssGlobal","handleNestedGlobalContainerRule","handlePrefixedGlobalRule","parentRegExp","jssNested","getReplaceRef","replaceParentRefs","nestedProp","parentProp","parentSelectors","nestedSelectors","getOptions","nestingLevel","isNested","isNestedConditional","uppercasePattern","msPattern","toHyphenLower","hyphenateStyleName","hName","convertCase","converted","hyphenate","camelCase","hyphenatedProp","ms","addCamelCasedVersion","regExp","units","inset","motion","perspective","iterate","innerProp","_innerProp","defaultUnit","camelCasedOptions","js","jsCssMap","Moz","Webkit","appearence","noPrefill","supportedProperty","toUpper","camelize","pascalize","longhand","textOrientation","writingMode","breakPropsOld","inlineLogicalOld","newProp","unprefixed","prefixed","pascalized","scrollSnap","overscrollBehavior","propMap","flex2012","propMap$1","propKeys","prefixCss","propertyDetectors","computed","key$1","el$1","cache$1","transitionProperties","transPropsRegExp","prefixTransitionCallback","prefixedValue","supportedValue","jssVendorPrefixer","prefixStyle","changeProp","supportedProp","changeValue","supportedValue$1","atRule","jssPropsSort","prop0","prop1","vendorPrefixer","propsSort","FormControl","_props$error","visuallyFocused","_props$hiddenLabel","_props$margin","_props$required","initialAdornedStart","initialFilled","setFilled","_React$useState3","_focused","childContext","registerEffect","marginNormal","InputLabel","_props$disableAnimati","shrinkProp","shrink","FormLabel","FormHelperText","dangerouslySetInnerHTML","__html","SIZE","CircularProgress","_props$disableShrink","disableShrink","_props$thickness","_props$value","circleStyle","rootStyle","rootProps","circumference","determinate","indeterminate","static","svg","circle","circleDisableShrink","circleDeterminate","circleIndeterminate","circleStatic","areEqualValues","SelectInput","ariaLabel","autoWidth","displayEmpty","labelId","_props$MenuProps","MenuProps","onOpen","openProp","renderValue","_props$SelectDisplayP","SelectDisplayProps","tabIndexProp","displayNode","setDisplayNode","isOpenControlled","menuMinWidthState","setMenuMinWidthState","openState","setOpenState","getSelection","isCollapsed","displaySingle","childrenArray","handleItemClick","itemIndex","displayMultiple","computeDisplay","menuMinWidth","buttonId","anchorEl","disableListWrap","nativeSelectStyles","FilledInput","Select","_props$autoWidth","_props$displayEmpty","_props$labelWidth","labelWidth","_props$multiple","_props$native","variantProps","OutlinedInput","webpackPolyfill","deprecate","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","_invoke","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iteratorMethod","isGeneratorFunction","genFun","awrap","async","skipTempReset","rootRecord","rval","handle","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Collapse","_props$collapsedHeigh","collapsedHeight","collapsedHeightProp","wrapperRef","autoTransitionDuration","wrapperHeight","duration2","wrapper","wrapperInner","_props$dense","_props$disablePadding","disablePadding","listStyle","paddingBottom","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentOwner","__self","__source","_owner","jsx","jsxs","StrictMode","Profiler","Suspense","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","isReactComponent","isPureReactComponent","_status","ReactCurrentDispatcher","ReactCurrentBatchConfig","IsSomeRendererActing","PureComponent","_calculateChangedBits","_currentValue2","_threadCount","createFactory","createRef","isValidElement","lazy","_payload","useImperativeHandle","useReducer","acceptsBooleans","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","qa","setAttributeNS","xlinkHref","ra","sa","ta","wa","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ma","Ka","La","Na","Oa","Pa","prepareStackTrace","Qa","Ra","Sa","Ta","Va","_valueTracker","stopTracking","Ua","Wa","Xa","Ya","_wrapperState","initialChecked","Za","initialValue","$a","bb","eb","db","defaultSelected","gb","hb","jb","kb","lb","ob","namespaceURI","MSApp","execUnsafeLocalFunction","lastChild","qb","lineClamp","rb","sb","ub","menuitem","br","embed","hr","keygen","wbr","wb","xb","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Ob","Pb","Qb","Rb","Sb","Tb","Ub","Vb","Wb","Xb","Zb","alternate","return","$b","dehydrated","ac","cc","sibling","dc","fc","gc","hc","ic","jc","kc","lc","mc","nc","oc","qc","blockedOn","domEventName","eventSystemFlags","nativeEvent","targetContainers","vc","wc","lanePriority","unstable_runWithPriority","hydrate","xc","yc","zc","Ac","Bc","unstable_scheduleCallback","unstable_NormalPriority","Cc","Dc","Ec","animationend","animationiteration","animationstart","transitionend","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","unstable_now","Rc","Uc","pendingLanes","expiredLanes","suspendedLanes","pingedLanes","Vc","entangledLanes","entanglements","Wc","Xc","Yc","Zc","$c","eventTimes","clz32","bd","dd","unstable_UserBlockingPriority","fd","gd","hd","uc","jd","kd","ld","nd","od","pd","qd","rd","_reactName","_targetInst","isDefaultPrevented","isPropagationStopped","cancelBubble","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","vd","Ad","screenX","screenY","pageX","pageY","getModifierState","zd","relatedTarget","fromElement","toElement","Bd","Dd","Fd","Hd","elapsedTime","pseudoElement","Jd","clipboardData","Ld","Md","Esc","Spacebar","Del","Win","Apps","Scroll","MozPrintableKey","Nd","8","9","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","Od","Alt","Control","Meta","Shift","Pd","Rd","locale","which","Td","tangentialPressure","tiltX","tiltY","twist","isPrimary","Vd","targetTouches","changedTouches","Xd","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","me","ne","oe","pe","qe","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","Le","Me","compareDocumentPosition","Ne","HTMLIFrameElement","contentWindow","Oe","contentEditable","Pe","Qe","Re","Se","Te","Ue","selectionStart","selectionEnd","anchorNode","anchorOffset","focusNode","focusOffset","Ve","We","Xe","Ye","Ze","Yb","$e","af","bf","cf","df","Nb","ef","ff","parentWindow","gf","hf","je","ke","jf","kf","mf","nf","of","pf","qf","rf","sf","previousSibling","tf","vf","wf","xf","yf","zf","Af","Bf","Cf","Df","Ef","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","Gf","Hf","If","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","Of","Pf","unstable_cancelCallback","Qf","unstable_shouldYield","Rf","unstable_requestPaint","Sf","Tf","unstable_getCurrentPriorityLevel","Uf","unstable_ImmediatePriority","Vf","Wf","Xf","unstable_LowPriority","Yf","unstable_IdlePriority","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","mg","ng","og","pg","qg","rg","sg","childLanes","tg","firstContext","lanes","ug","vg","responders","wg","xg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","yg","zg","eventTime","lane","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Kg","_reactInternals","Hg","Ig","Jg","Lg","shouldComponentUpdate","Mg","Ng","UNSAFE_componentWillReceiveProps","Og","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","Pg","Qg","_stringRef","Rg","Sg","lastEffect","nextEffect","firstEffect","Tg","Ug","Vg","implementation","Wg","Xg","Yg","Zg","$g","ah","bh","eh","fh","gh","hh","ih","memoizedProps","revealOrder","jh","kh","lh","mh","nh","oh","pendingProps","ph","qh","rh","th","uh","_workInProgressVersionPrimary","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","baseQueue","Ih","Jh","Kh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","Lh","Mh","_getVersion","mutableReadLanes","Nh","getSnapshot","Oh","Ph","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ci","di","readContext","useDeferredValue","useTransition","useOpaqueIdentifier","unstable_isNewReconciler","uf","gi","hi","ji","ki","mi","baseLanes","ni","oi","UNSAFE_componentWillUpdate","componentWillUpdate","qi","ri","pendingContext","Bi","Di","Ei","retryLane","unstable_avoidThisFallback","unstable_expectedLoadTime","wi","xi","yi","zi","isBackwards","rendering","renderingStartTime","tailMode","Ai","Fi","Gi","wasMultiple","createElementNS","Hi","Ii","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","componentDidCatch","Ti","componentStack","Ui","WeakSet","Vi","Wi","Xi","__reactInternalSnapshotBeforeUpdate","Yi","Zi","$i","aj","bj","onCommitFiberUnmount","cj","dj","ej","fj","gj","hj","_reactRootContainer","ij","jj","kj","lj","mj","nj","oj","pj","qj","rj","sj","uj","wj","ck","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Sc","Kj","Lj","Mj","callbackNode","expirationTimes","callbackPriority","Tc","Nj","Oj","Pj","Qj","Rj","Sj","Tj","finishedWork","finishedLanes","Uj","timeoutHandle","Wj","Xj","pingCache","Yj","Zj","ak","bk","dk","rangeCount","focusedElem","selectionRange","ek","setStart","removeAllRanges","addRange","setEnd","onCommitFiberRoot","fk","ik","pendingChildren","jk","mutableSourceEagerHydrationData","kk","lk","mk","nk","qk","hydrationOptions","mutableSources","_internalRoot","rk","tk","hasAttribute","sk","uk","hk","unstable_observedBits","unmount","form","Vj","vk","Events","wk","findFiberByHostInstance","bundleType","rendererPackageName","xk","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","yk","isDisabled","supportsFiber","inject","flushSync","unmountComponentAtNode","unstable_createPortal","unstable_renderSubtreeIntoContainer","MessageChannel","unstable_forceFrameRate","port2","port1","sortIndex","expirationTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Lazy","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","ReactPropTypesSecret","Axios","mergeConfig","axios","instanceConfig","CancelToken","isCancel","spread","isAxiosError","InterceptorManager","dispatchRequest","interceptors","chain","interceptor","getUri","eject","transformData","throwIfCancellationRequested","throwIfRequested","fns","normalizedName","columnNumber","write","expires","domain","secure","cookie","toGMTString","isAbsoluteURL","combineURLs","requestedURL","relativeURL","ignoreDuplicateOf","originURL","msie","urlParsingNode","resolveURL","hostname","requestURL","executor","resolvePromise","_Snippets","_Snippets2","TagManager","dataScript","dataLayer","gtm","snippets","noScript","noscript","iframe","dataLayerVar","gtmId","_ref$events","_ref$dataLayerName","dataLayerName","_ref$auth","_ref$preview","preview","_dataLayer","_ref2$dataLayerName","_warn","_warn2","Snippets","gtm_auth","gtm_preview","_createBreakpoints","_createMixins","_createPalette","_createTypography","_shadows","_createSpacing","_zIndex","_extends3","_defineProperty2","_indigo","_pink","_red","_orange","_blue","_green","_colorManipulator","_common","_grey","_options$withTheme","WithStyles","more","mapEventPropToEvent","eventProp","ClickAwayListener","_props$disableReactTr","disableReactTree","_props$mouseEvent","mouseEvent","_props$touchEvent","touchEvent","movedRef","activatedRef","syntheticEventRef","handleClickAway","insideReactTree","clickedRootScrollbar","insideDOM","composedPath","createHandleSynthetic","handlerName","childrenPropsHandler","childrenProps","mappedTouchEvent","mappedMouseEvent","Dialog","_props$fullScreen","fullScreen","_props$maxWidth","_props$PaperComponent","PaperComponent","_props$scroll","scroll","mouseDownTarget","paperFullScreen","paperFullWidth","scrollPaper","scrollBody","paperScrollPaper","paperScrollBody","paperWidthFalse","paperWidthXs","paperWidthSm","paperWidthMd","paperWidthLg","paperWidthXl","setMountNode","DialogTitle","_props$disableTypogra","disableTypography","DialogContent","_props$dividers","dividers","DialogContentText","DialogActions","_props$disableSpacing","disableSpacing","FinalComponent","getStyleValue","_props$rowsMin","rowsMinProp","shadowRef","renders","syncHeight","inputShallow","singleRowHeight","outerHeight","outerHeightStyle","borderTopLeftRadius","borderTopRightRadius","WebkitBoxShadow","WebkitTextFillColor","caretColor","getOffsetTop","getOffsetLeft","getTransformOriginValue","getAnchorEl","_props$anchorOrigin","anchorPosition","_props$anchorReferenc","anchorReference","containerProp","_props$marginThreshol","marginThreshold","_props$transformOrigi","transitionDurationProp","_props$TransitionProp","paperRef","getAnchorOffset","contentAnchorOffset","resolvedAnchorEl","anchorRect","anchorVertical","getContentAnchorOffset","contentAnchorEl","getTransformOrigin","elemRect","getPositioningStyle","elemTransformOrigin","containerWindow","heightThreshold","widthThreshold","_diff","_diff2","_diff3","setPositioningStyles","positioning","handlePaperRef","nextItem","nextElementSibling","previousItem","previousElementSibling","textCriteriaMatches","nextFocus","textCriteria","innerText","repeating","moveFocus","currentFocus","disabledItemsFocusable","traversalFunction","wrappedOnce","nextFocusDisabled","_props$autoFocusItem","_props$disabledItemsF","_props$disableListWra","listRef","textCriteriaRef","previousKeyMatched","containerElement","noExplicitWidth","newChildProps","criteria","lowerKey","currTime","keepFocusOnCurrent","Card","_props$raised","raised","defaultPopperOptions","_props$placement","initialPlacement","_props$popperOptions","popperOptions","popperRefProp","popperRef","_props$transition","tooltipRef","ownRef","handlePopperRef","handlePopperRefRef","rtlPlacement","flipPlacement","setPlacement","handlePopperUpdate","PopperJs","preventOverflow","onCreate","CardActionArea","focusHighlight","TypographyClasses","_props$underline","handlerRef","underlineNone","underlineHover","underlineAlways","NotchedOutline","labelWidthProp","notched","legendLabelled","legendNotched","legend","borderWidth","notchedOutline","Avatar","childrenProp","imgProps","srcSet","setLoaded","useLoaded","hasImg","hasImgNotFailing","Person","colorDefault","circular","objectFit","textIndent","variantComponent","TextField","FormHelperTextProps","helperText","InputLabelProps","InputProps","_props$select","SelectProps","InputMore","_InputLabelProps$requ","displayRequired","helperTextId","inputLabelId","InputElement","htmlFor","FormControlLabel","control","_props$labelPlacement","labelPlacement","controlProps","labelPlacementStart","labelPlacementTop","labelPlacementBottom","Toolbar","_props$disableGutters","disableGutters","regular","hystersisOpen","hystersisTimer","Tooltip","_props$arrow","_props$disableFocusLi","disableFocusListener","_props$disableHoverLi","disableHoverListener","_props$disableTouchLi","disableTouchListener","_props$enterDelay","enterDelay","_props$enterNextDelay","enterNextDelay","_props$enterTouchDela","enterTouchDelay","idProp","_props$interactive","interactive","_props$leaveDelay","leaveDelay","_props$leaveTouchDela","leaveTouchDelay","_props$PopperComponen","PopperComponent","PopperProps","childNode","setChildNode","arrowRef","setArrowRef","ignoreNonTouchEvents","closeTimer","enterTimer","leaveTimer","touchTimer","onMouseOver","childIsFocusVisible","setChildIsFocusVisible","handleLeave","detectTouchStart","handleUseRef","handleFocusRef","shouldShowNativeTitle","interactiveWrapperListeners","mergedPopperProps","popperInteractive","popperArrow","placementInner","TransitionPropsInner","tooltipArrow","wordWrap","tooltipPlacementLeft","tooltipPlacementRight","tooltipPlacementTop","tooltipPlacementBottom","ListItemText","_props$inset","primaryProp","primaryTypographyProps","secondaryProp","secondaryTypographyProps","LinearProgress","valueBuffer","inlineStyles","bar1","bar2","_transform","dashed","bar1Indeterminate","bar1Determinate","bar1Buffer","bar2Indeterminate","bar2Buffer","getColor","backgroundPrimary","backgroundSecondary","dashedColorPrimary","backgroundImage","backgroundSize","backgroundPosition","dashedColorSecondary","barColorPrimary","barColorSecondary","FormGroup","_props$row","cyan","lightBlue","deepOrange","isDeleteKeyboardEvent","keyboardEvent","Chip","avatarProp","avatar","clickableProp","clickable","deleteIconProp","deleteIcon","iconProp","onDelete","chipRef","handleDeleteIconClick","small","moreProps","customClasses","deleteIconSmall","CancelIcon","avatarSmall","iconSmall","deletable","labelSmall","deleteIconColor","clickableColorPrimary","clickableColorSecondary","deletableColorPrimary","deletableColorSecondary","avatarColorPrimary","avatarColorSecondary","iconColorPrimary","iconColorSecondary","deleteIconColorPrimary","deleteIconColorSecondary","deleteIconOutlinedColorPrimary","deleteIconOutlinedColorSecondary","ListItem","_props$alignItems","_props$button","componentProp","_props$ContainerCompo","ContainerComponent","_props$ContainerProps","ContainerProps","ContainerClassName","_props$divider","_props$selected","listItemRef","hasSecondaryAction","componentProps","alignItemsFlexStart","secondaryAction","backgroundClip","isUnitless","toUnitless","convertLength","baseFontSize","toUnit","fromUnit","pxLength","outputLength","alignProperty","sizeBelow","sizeAbove","fontGrid","responsiveProperty","_ref3$unit","_ref3$breakpoints","_ref3$transform","responsiveFontSizes","themeInput","_options$disableAlign","disableAlign","_options$factor","_options$variants","breakpointValues","remFontSize","maxFontSize","minFontSize","nextClasses","Unstable_TrapFocus","ignoreNextEnforceFocus","sentinelStart","sentinelEnd","nodeToRestore","rootRef","prevOpenRef","contain","hasFocus","loopFocus","interval","setInterval","clearInterval","thumb","switchBase","ServerStyleSheets","ThemeProvider","localTheme","outerTheme","mergeOuterLocalTheme","MEDIA_COMPONENTS","CardMedia","isMediaComponent","composedStyle","backgroundRepeat","CardActions","AppBar","_props$position","backgroundColorDefault","positionAbsolute","positionSticky","positionStatic","positionRelative","colorTransparent","KeyboardArrowLeft","KeyboardArrowRight","TabScrollButton","Tab","indicator","selectionFollowsFocus","_props$textColor","textColor","_props$wrapped","wrapped","labelIcon","textColorInherit","textColorPrimary","textColorSecondary","ListSubheader","_props$disableSticky","disableSticky","sticky","SPACINGS","GRID_SIZES","div","Grid","_props$alignContent","_props$container","_props$item","_props$justify","justify","_props$lg","_props$md","_props$sm","_props$spacing","_props$wrap","_props$xl","_props$xs","_props$zeroMinWidth","zeroMinWidth","StyledGrid","generateGutter","globalStyles","generateGrid","Container","_props$fixed","fixed","maxWidthXs","maxWidthSm","maxWidthMd","maxWidthLg","maxWidthXl","NoSsr","_props$defer","defer","_props$fallback","ListItemIcon","Divider","_props$absolute","absolute","_props$flexItem","flexItem","_props$light","_props$orientation","_props$role","middle","useMediaQuery","queryInput","supportMatchMedia","_props$options","_props$options$defaul","defaultMatches","_props$options$matchM","_props$options$noSsr","noSsr","_props$options$ssrMat","ssrMatchMedia","setMatch","queryList","updateMatch","WebkitFontSmoothing","MozOsxFontSmoothing","_props$children","cachedType","detectScrollType","getNormalizedScrollLeft","scrollWidth","easeInOutSin","ScrollbarSize","scrollbarHeight","setMeasurements","prevHeight","TabIndicator","Tabs","ariaLabelledBy","_props$centered","centered","_props$indicatorColor","indicatorColor","_props$ScrollButtonCo","ScrollButtonComponent","_props$scrollButtons","scrollButtons","_props$TabIndicatorPr","TabIndicatorProps","TabScrollButtonProps","scrollable","isRtl","scrollStart","clientSize","setMounted","indicatorStyle","setIndicatorStyle","displayScroll","setDisplayScroll","_React$useState4","scrollerStyle","setScrollerStyle","valueToIndex","tabsRef","tabListRef","getTabsMeta","tabsMeta","tabMeta","tabsNode","scrollLeftNormalized","tab","updateIndicatorState","_newIndicatorStyle","_getTabsMeta","correction","newIndicatorStyle","dStart","dSize","scrollValue","_options$ease","cancelled","moveTabsScroll","handleStartScrollClick","handleEndScrollClick","handleScrollbarSizeChange","scrollSelectedIntoView","_getTabsMeta2","nextScrollStart","_nextScrollStart","updateScrollButtonState","showStartScroll","showEndScroll","_tabsRef$current","win","handleTabsScroll","updateIndicator","updateScrollButtons","childIndex","childValue","conditionalElements","scrollbarSizeListener","scrollButtonsActive","showScrollButtons","scrollButtonStart","scrollButtonsDesktop","scrollButtonEnd","getConditionalElements","scroller","onScroll","flexContainer","flexContainerVertical","newFocusTarget","previousItemKey","nextItemKey","scrollbarWidth","stripDiacritics","defaultFilterOptions","_config$ignoreAccents","ignoreAccents","_config$ignoreCase","ignoreCase","_config$matchFrom","matchFrom","_config$trim","inputValue","getOptionLabel","filteredOptions","createFilterOptions","useAutocomplete","_props$autoComplete","_props$autoHighlight","autoHighlight","_props$autoSelect","autoSelect","_props$blurOnSelect","blurOnSelect","_props$clearOnBlur","clearOnBlur","freeSolo","_props$clearOnEscape","clearOnEscape","_props$componentName","_props$debug","_props$defaultValue","_props$disableClearab","disableClearable","_props$disableCloseOn","disableCloseOnSelect","_props$filterOptions","filterOptions","_props$filterSelected","filterSelectedOptions","_props$freeSolo","getOptionDisabled","_props$getOptionLabel","getOptionLabelProp","_props$getOptionSelec","getOptionSelected","groupBy","_props$handleHomeEndK","handleHomeEndKeys","_props$includeInputIn","includeInputInList","inputValueProp","onHighlightChange","onInputChange","_props$openOnFocus","openOnFocus","_props$selectOnFocus","selectOnFocus","ignoreFocus","firstFocus","listboxRef","setAnchorEl","focusedTag","setFocusedTag","defaultHighlighted","highlightedIndexRef","_useControlled3","_useControlled4","setInputValue","resetInputValue","newInputValue","optionLabel","_useControlled5","_useControlled6","inputValueIsSelectedValue","popupOpen","focusTag","tagToFocus","setHighlightedIndex","_ref2$reason","listboxNode","scrollBottom","elementBottom","changeHighlightedIndex","_ref3$direction","_ref3$reason","validOptionIndex","getNextIndex","setSelectionRange","syncHighlightedIndex","valueItem","currentOption","optionItem","handleListboxRef","handleValue","details","selectNewValue","reasonProp","handleFocusTag","nextTag","validTagIndex","handleClear","handleInputChange","handleOptionMouseOver","handleOptionTouchStart","handleOptionClick","handleTagDelete","handlePopupIndicator","handleClick","handleInputMouseDown","dirty","groupedOptions","getRootProps","getInputLabelProps","getInputProps","autoCapitalize","spellCheck","getClearProps","getPopupIndicatorProps","getTagProps","getListboxProps","getOptionProps","_ref5","DisablePortal","CloseIcon","Autocomplete","ChipProps","_props$clearText","clearText","_props$closeIcon","closeIcon","_props$closeText","closeText","_props$forcePopupIcon","forcePopupIcon","_props$getLimitTagsTe","getLimitTagsText","_props$limitTags","limitTags","_props$ListboxCompone","ListboxComponent","ListboxProps","_props$loading","_props$loadingText","loadingText","_props$noOptionsText","noOptionsText","_props$openText","openText","PopperComponentProp","_props$popupIcon","popupIcon","renderGroupProp","renderGroup","renderInput","renderOptionProp","renderOption","renderTags","_useAutocomplete","getCustomizedTagProps","tagSizeSmall","groupLabel","groupUl","renderListOption","optionProps","hasClearIcon","hasPopupIcon","inputRoot","clearIndicator","clearIndicatorDirty","popupIndicator","popupIndicatorOpen","inputFocused","popperDisablePortal","noOptions","listbox","option2","_option","SwipeArea","anchorLeft","anchorRight","anchorTop","anchorBottom","nodeThatClaimedTheSwipe","calculateCurrentX","calculateCurrentY","getMaxTranslate","horizontalSwipe","paperInstance","getTranslate","currentTranslate","startLocation","maxTranslate","iOS","transitionDurationDefault","SwipeableDrawer","disableBackdropTransition","_props$disableDiscove","disableDiscovery","_props$disableSwipeTo","disableSwipeToOpen","_props$hysteresis","hysteresis","_props$minFlingVeloci","minFlingVelocity","ModalPropsProp","SwipeAreaProps","_props$swipeAreaWidth","swipeAreaWidth","maybeSwiping","setMaybeSwiping","swipeInstance","isSwiping","swipeAreaRef","backdropRef","touchDetected","calculatedDurationRef","_options$mode","_options$changeTransi","changeTransition","anchorRtl","rtlTranslateMultiplier","drawerStyle","backdropStyle","handleBodyTouchEnd","translateRatio","handleBodyTouchMove","nativeHandler","domTreeShapes","axisProperties","goingForward","scrollPosition","areNotAtStart","areNotAtEnd","findNativeHandler","getDomTreeShapes","definitelySwiping","paperHit","lastTranslate","handleBodyTouchStart","muiHandled","handleBackdropRef","getChildMapping","mapFn","getProp","getNextChildMapping","prevChildMapping","nextChildMapping","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","pendingNextKey","mergeChildMappings","hasPrev","hasNext","prevChild","isLeaving","firstRender","currentChildMapping","childFactory"],"mappings":"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CA,OACA,yCACA,qDACA,8CACA,OACA,yCACA,qDACA,8CACA,OACA,yCACA,qDACA,8CACA,OACA,yCACA,qDACA,8CACA,OACA,yCACA,2CACA,2CACA,OACA,yCACA,2CACA,2CACA,OACA,yCACA,2CACA,2CACA,OACA,yCACA,2CACA,2CACA,OACA,yCACA,2CACA,2CACA,OACA,yCACA,2CACA,2CACA,OACA,yCACA,2CACA,2CACA,OACA,yCACA,2CACA,2CACA,OACA,yCACA,2CACA,2CACA,OACA,gEACA,+DACA,gEACA,gEACA,gEACA,gEACA,gEACA,gEACA,gEACA,OACA,oCACA,+BACA,iEACA,+BACA,8DACA,oCACA,+BACA,iEACA,+BACA,8DACA,oCACA,+BACA,iEACA,+BACA,8DACA,mCACA,+BACA,qDACA,6DACA,sDACA,4EACA,8DACA,6CACA,6CACA,6CACA,wDACA,2DACA,qDACA,yCACA,YAElBp+a,EAAMmmb,cAAc,WAFpBkhB,q5KAEgD,eAChDrnc,EAAM+ib,mBAAqBrnd,KAAK+kd,eAAe/kd,KAAKskd,SAAS,GAAIhgb,GAAS,aAAatkC,KAAK0qe,KAAKtoB,uBAAsB,KAAKpid,KAAK4re,OAAOxpB,uBAAsB,KAAKpid,KAAK0re,kBAAiB,SAElL1re,OAKD,YAAAkod,oBAAV,WAGI,OAFoBlod,KAAKqkd,kBAAiB,wBAAwBrkd,KAAK0re,kBAAiB,SAOrF,YAAA7/c,UAAP,WACI,IAAImB,EAAsB,YAAMnB,UAAS,WAIzC,OAFAmB,EAAoB0+c,kBAAoB1re,KAAK0re,kBAEtC1+c,GAKJ,YAAA47b,aAAP,SAAoB57b,EAA0BM,EAAcC,GACxD,YAAMq7b,aAAY,UAAC57b,EAAqBM,EAAOC,GAE/CvtB,KAAK0re,kBAAoB1+c,EAAoB0+c,mBA3OjD,aADCha,GAAuB,yBAA0Bd,GAAuB50O,QAAS,aAAc,CAAE,UAAa,CAAE,QAAU,M,wCA8O/H,EAhPA,CAAwC,IAkPxC,IAAWj2N,gBAAgB,8BAAgC,GC/N3D,mBAKI,WAAmB+O,GAAnB,MACI,YAAMA,EAAMurb,GAAyB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I,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa,EAAG,GAAI,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,GAAIA,EAAa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","file":"static/js/10.f55798c6.chunk.js","sourcesContent":["import { Scalar } from \"./math.scalar\";\r\nimport { Epsilon } from './math.constants';\r\nimport { Viewport } from './math.viewport';\r\nimport { DeepImmutable, Nullable, FloatArray, float } from \"../types\";\r\nimport { ArrayTools } from '../Misc/arrayTools';\r\nimport { IPlaneLike } from './math.like';\r\nimport { _TypeStore } from '../Misc/typeStore';\r\nimport { Plane } from './math.plane';\r\nimport { PerformanceConfigurator } from '../Engines/performanceConfigurator';\r\n\r\n/**\r\n * Class representing a vector containing 2 coordinates\r\n */\r\nexport class Vector2 {\r\n /**\r\n * Creates a new Vector2 from the given x and y coordinates\r\n * @param x defines the first coordinate\r\n * @param y defines the second coordinate\r\n */\r\n constructor(\r\n /** defines the first coordinate */\r\n public x: number = 0,\r\n /** defines the second coordinate */\r\n public y: number = 0) {\r\n }\r\n\r\n /**\r\n * Gets a string with the Vector2 coordinates\r\n * @returns a string with the Vector2 coordinates\r\n */\r\n public toString(): string {\r\n return \"{X: \" + this.x + \" Y: \" + this.y + \"}\";\r\n }\r\n\r\n /**\r\n * Gets class name\r\n * @returns the string \"Vector2\"\r\n */\r\n public getClassName(): string {\r\n return \"Vector2\";\r\n }\r\n\r\n /**\r\n * Gets current vector hash code\r\n * @returns the Vector2 hash code as a number\r\n */\r\n public getHashCode(): number {\r\n let hash = this.x | 0;\r\n hash = (hash * 397) ^ (this.y | 0);\r\n return hash;\r\n }\r\n\r\n // Operators\r\n\r\n /**\r\n * Sets the Vector2 coordinates in the given array or Float32Array from the given index.\r\n * @param array defines the source array\r\n * @param index defines the offset in source array\r\n * @returns the current Vector2\r\n */\r\n public toArray(array: FloatArray, index: number = 0): Vector2 {\r\n array[index] = this.x;\r\n array[index + 1] = this.y;\r\n return this;\r\n }\r\n\r\n /**\r\n * Update the current vector from an array\r\n * @param array defines the destination array\r\n * @param index defines the offset in the destination array\r\n * @returns the current Vector3\r\n */\r\n public fromArray(array: FloatArray, index: number = 0): Vector2 {\r\n Vector2.FromArrayToRef(array, index, this);\r\n return this;\r\n }\r\n\r\n /**\r\n * Copy the current vector to an array\r\n * @returns a new array with 2 elements: the Vector2 coordinates.\r\n */\r\n public asArray(): number[] {\r\n var result = new Array();\r\n this.toArray(result, 0);\r\n return result;\r\n }\r\n\r\n /**\r\n * Sets the Vector2 coordinates with the given Vector2 coordinates\r\n * @param source defines the source Vector2\r\n * @returns the current updated Vector2\r\n */\r\n public copyFrom(source: DeepImmutable): Vector2 {\r\n this.x = source.x;\r\n this.y = source.y;\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets the Vector2 coordinates with the given floats\r\n * @param x defines the first coordinate\r\n * @param y defines the second coordinate\r\n * @returns the current updated Vector2\r\n */\r\n public copyFromFloats(x: number, y: number): Vector2 {\r\n this.x = x;\r\n this.y = y;\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets the Vector2 coordinates with the given floats\r\n * @param x defines the first coordinate\r\n * @param y defines the second coordinate\r\n * @returns the current updated Vector2\r\n */\r\n public set(x: number, y: number): Vector2 {\r\n return this.copyFromFloats(x, y);\r\n }\r\n /**\r\n * Add another vector with the current one\r\n * @param otherVector defines the other vector\r\n * @returns a new Vector2 set with the addition of the current Vector2 and the given one coordinates\r\n */\r\n public add(otherVector: DeepImmutable): Vector2 {\r\n return new Vector2(this.x + otherVector.x, this.y + otherVector.y);\r\n }\r\n\r\n /**\r\n * Sets the \"result\" coordinates with the addition of the current Vector2 and the given one coordinates\r\n * @param otherVector defines the other vector\r\n * @param result defines the target vector\r\n * @returns the unmodified current Vector2\r\n */\r\n public addToRef(otherVector: DeepImmutable, result: Vector2): Vector2 {\r\n result.x = this.x + otherVector.x;\r\n result.y = this.y + otherVector.y;\r\n return this;\r\n }\r\n\r\n /**\r\n * Set the Vector2 coordinates by adding the given Vector2 coordinates\r\n * @param otherVector defines the other vector\r\n * @returns the current updated Vector2\r\n */\r\n public addInPlace(otherVector: DeepImmutable): Vector2 {\r\n this.x += otherVector.x;\r\n this.y += otherVector.y;\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets a new Vector2 by adding the current Vector2 coordinates to the given Vector3 x, y coordinates\r\n * @param otherVector defines the other vector\r\n * @returns a new Vector2\r\n */\r\n public addVector3(otherVector: Vector3): Vector2 {\r\n return new Vector2(this.x + otherVector.x, this.y + otherVector.y);\r\n }\r\n\r\n /**\r\n * Gets a new Vector2 set with the subtracted coordinates of the given one from the current Vector2\r\n * @param otherVector defines the other vector\r\n * @returns a new Vector2\r\n */\r\n public subtract(otherVector: Vector2): Vector2 {\r\n return new Vector2(this.x - otherVector.x, this.y - otherVector.y);\r\n }\r\n\r\n /**\r\n * Sets the \"result\" coordinates with the subtraction of the given one from the current Vector2 coordinates.\r\n * @param otherVector defines the other vector\r\n * @param result defines the target vector\r\n * @returns the unmodified current Vector2\r\n */\r\n public subtractToRef(otherVector: DeepImmutable, result: Vector2): Vector2 {\r\n result.x = this.x - otherVector.x;\r\n result.y = this.y - otherVector.y;\r\n return this;\r\n }\r\n /**\r\n * Sets the current Vector2 coordinates by subtracting from it the given one coordinates\r\n * @param otherVector defines the other vector\r\n * @returns the current updated Vector2\r\n */\r\n public subtractInPlace(otherVector: DeepImmutable): Vector2 {\r\n this.x -= otherVector.x;\r\n this.y -= otherVector.y;\r\n return this;\r\n }\r\n\r\n /**\r\n * Multiplies in place the current Vector2 coordinates by the given ones\r\n * @param otherVector defines the other vector\r\n * @returns the current updated Vector2\r\n */\r\n public multiplyInPlace(otherVector: DeepImmutable): Vector2 {\r\n this.x *= otherVector.x;\r\n this.y *= otherVector.y;\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns a new Vector2 set with the multiplication of the current Vector2 and the given one coordinates\r\n * @param otherVector defines the other vector\r\n * @returns a new Vector2\r\n */\r\n public multiply(otherVector: DeepImmutable): Vector2 {\r\n return new Vector2(this.x * otherVector.x, this.y * otherVector.y);\r\n }\r\n\r\n /**\r\n * Sets \"result\" coordinates with the multiplication of the current Vector2 and the given one coordinates\r\n * @param otherVector defines the other vector\r\n * @param result defines the target vector\r\n * @returns the unmodified current Vector2\r\n */\r\n public multiplyToRef(otherVector: DeepImmutable, result: Vector2): Vector2 {\r\n result.x = this.x * otherVector.x;\r\n result.y = this.y * otherVector.y;\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets a new Vector2 set with the Vector2 coordinates multiplied by the given floats\r\n * @param x defines the first coordinate\r\n * @param y defines the second coordinate\r\n * @returns a new Vector2\r\n */\r\n public multiplyByFloats(x: number, y: number): Vector2 {\r\n return new Vector2(this.x * x, this.y * y);\r\n }\r\n\r\n /**\r\n * Returns a new Vector2 set with the Vector2 coordinates divided by the given one coordinates\r\n * @param otherVector defines the other vector\r\n * @returns a new Vector2\r\n */\r\n public divide(otherVector: Vector2): Vector2 {\r\n return new Vector2(this.x / otherVector.x, this.y / otherVector.y);\r\n }\r\n\r\n /**\r\n * Sets the \"result\" coordinates with the Vector2 divided by the given one coordinates\r\n * @param otherVector defines the other vector\r\n * @param result defines the target vector\r\n * @returns the unmodified current Vector2\r\n */\r\n public divideToRef(otherVector: DeepImmutable, result: Vector2): Vector2 {\r\n result.x = this.x / otherVector.x;\r\n result.y = this.y / otherVector.y;\r\n return this;\r\n }\r\n\r\n /**\r\n * Divides the current Vector2 coordinates by the given ones\r\n * @param otherVector defines the other vector\r\n * @returns the current updated Vector2\r\n */\r\n public divideInPlace(otherVector: DeepImmutable): Vector2 {\r\n return this.divideToRef(otherVector, this);\r\n }\r\n\r\n /**\r\n * Gets a new Vector2 with current Vector2 negated coordinates\r\n * @returns a new Vector2\r\n */\r\n public negate(): Vector2 {\r\n return new Vector2(-this.x, -this.y);\r\n }\r\n\r\n /**\r\n * Negate this vector in place\r\n * @returns this\r\n */\r\n public negateInPlace(): Vector2 {\r\n this.x *= -1;\r\n this.y *= -1;\r\n return this;\r\n }\r\n\r\n /**\r\n * Negate the current Vector2 and stores the result in the given vector \"result\" coordinates\r\n * @param result defines the Vector3 object where to store the result\r\n * @returns the current Vector2\r\n */\r\n public negateToRef(result: Vector2): Vector2 {\r\n return result.copyFromFloats(this.x * -1, this.y * -1);\r\n }\r\n\r\n /**\r\n * Multiply the Vector2 coordinates by scale\r\n * @param scale defines the scaling factor\r\n * @returns the current updated Vector2\r\n */\r\n public scaleInPlace(scale: number): Vector2 {\r\n this.x *= scale;\r\n this.y *= scale;\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns a new Vector2 scaled by \"scale\" from the current Vector2\r\n * @param scale defines the scaling factor\r\n * @returns a new Vector2\r\n */\r\n public scale(scale: number): Vector2 {\r\n let result = new Vector2(0, 0);\r\n this.scaleToRef(scale, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Scale the current Vector2 values by a factor to a given Vector2\r\n * @param scale defines the scale factor\r\n * @param result defines the Vector2 object where to store the result\r\n * @returns the unmodified current Vector2\r\n */\r\n public scaleToRef(scale: number, result: Vector2): Vector2 {\r\n result.x = this.x * scale;\r\n result.y = this.y * scale;\r\n return this;\r\n }\r\n\r\n /**\r\n * Scale the current Vector2 values by a factor and add the result to a given Vector2\r\n * @param scale defines the scale factor\r\n * @param result defines the Vector2 object where to store the result\r\n * @returns the unmodified current Vector2\r\n */\r\n public scaleAndAddToRef(scale: number, result: Vector2): Vector2 {\r\n result.x += this.x * scale;\r\n result.y += this.y * scale;\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets a boolean if two vectors are equals\r\n * @param otherVector defines the other vector\r\n * @returns true if the given vector coordinates strictly equal the current Vector2 ones\r\n */\r\n public equals(otherVector: DeepImmutable): boolean {\r\n return otherVector && this.x === otherVector.x && this.y === otherVector.y;\r\n }\r\n\r\n /**\r\n * Gets a boolean if two vectors are equals (using an epsilon value)\r\n * @param otherVector defines the other vector\r\n * @param epsilon defines the minimal distance to consider equality\r\n * @returns true if the given vector coordinates are close to the current ones by a distance of epsilon.\r\n */\r\n public equalsWithEpsilon(otherVector: DeepImmutable, epsilon: number = Epsilon): boolean {\r\n return otherVector && Scalar.WithinEpsilon(this.x, otherVector.x, epsilon) && Scalar.WithinEpsilon(this.y, otherVector.y, epsilon);\r\n }\r\n\r\n /**\r\n * Gets a new Vector2 from current Vector2 floored values\r\n * @returns a new Vector2\r\n */\r\n public floor(): Vector2 {\r\n return new Vector2(Math.floor(this.x), Math.floor(this.y));\r\n }\r\n\r\n /**\r\n * Gets a new Vector2 from current Vector2 floored values\r\n * @returns a new Vector2\r\n */\r\n public fract(): Vector2 {\r\n return new Vector2(this.x - Math.floor(this.x), this.y - Math.floor(this.y));\r\n }\r\n\r\n // Properties\r\n\r\n /**\r\n * Gets the length of the vector\r\n * @returns the vector length (float)\r\n */\r\n public length(): number {\r\n return Math.sqrt(this.x * this.x + this.y * this.y);\r\n }\r\n\r\n /**\r\n * Gets the vector squared length\r\n * @returns the vector squared length (float)\r\n */\r\n public lengthSquared(): number {\r\n return (this.x * this.x + this.y * this.y);\r\n }\r\n\r\n // Methods\r\n\r\n /**\r\n * Normalize the vector\r\n * @returns the current updated Vector2\r\n */\r\n public normalize(): Vector2 {\r\n var len = this.length();\r\n\r\n if (len === 0) {\r\n return this;\r\n }\r\n\r\n this.x /= len;\r\n this.y /= len;\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets a new Vector2 copied from the Vector2\r\n * @returns a new Vector2\r\n */\r\n public clone(): Vector2 {\r\n return new Vector2(this.x, this.y);\r\n }\r\n\r\n // Statics\r\n\r\n /**\r\n * Gets a new Vector2(0, 0)\r\n * @returns a new Vector2\r\n */\r\n public static Zero(): Vector2 {\r\n return new Vector2(0, 0);\r\n }\r\n\r\n /**\r\n * Gets a new Vector2(1, 1)\r\n * @returns a new Vector2\r\n */\r\n public static One(): Vector2 {\r\n return new Vector2(1, 1);\r\n }\r\n\r\n /**\r\n * Gets a new Vector2 set from the given index element of the given array\r\n * @param array defines the data source\r\n * @param offset defines the offset in the data source\r\n * @returns a new Vector2\r\n */\r\n public static FromArray(array: DeepImmutable>, offset: number = 0): Vector2 {\r\n return new Vector2(array[offset], array[offset + 1]);\r\n }\r\n\r\n /**\r\n * Sets \"result\" from the given index element of the given array\r\n * @param array defines the data source\r\n * @param offset defines the offset in the data source\r\n * @param result defines the target vector\r\n */\r\n public static FromArrayToRef(array: DeepImmutable>, offset: number, result: Vector2): void {\r\n result.x = array[offset];\r\n result.y = array[offset + 1];\r\n }\r\n\r\n /**\r\n * Gets a new Vector2 located for \"amount\" (float) on the CatmullRom spline defined by the given four Vector2\r\n * @param value1 defines 1st point of control\r\n * @param value2 defines 2nd point of control\r\n * @param value3 defines 3rd point of control\r\n * @param value4 defines 4th point of control\r\n * @param amount defines the interpolation factor\r\n * @returns a new Vector2\r\n */\r\n public static CatmullRom(value1: DeepImmutable, value2: DeepImmutable, value3: DeepImmutable, value4: DeepImmutable, amount: number): Vector2 {\r\n var squared = amount * amount;\r\n var cubed = amount * squared;\r\n\r\n var x = 0.5 * ((((2.0 * value2.x) + ((-value1.x + value3.x) * amount)) +\r\n (((((2.0 * value1.x) - (5.0 * value2.x)) + (4.0 * value3.x)) - value4.x) * squared)) +\r\n ((((-value1.x + (3.0 * value2.x)) - (3.0 * value3.x)) + value4.x) * cubed));\r\n\r\n var y = 0.5 * ((((2.0 * value2.y) + ((-value1.y + value3.y) * amount)) +\r\n (((((2.0 * value1.y) - (5.0 * value2.y)) + (4.0 * value3.y)) - value4.y) * squared)) +\r\n ((((-value1.y + (3.0 * value2.y)) - (3.0 * value3.y)) + value4.y) * cubed));\r\n\r\n return new Vector2(x, y);\r\n }\r\n\r\n /**\r\n * Returns a new Vector2 set with same the coordinates than \"value\" ones if the vector \"value\" is in the square defined by \"min\" and \"max\".\r\n * If a coordinate of \"value\" is lower than \"min\" coordinates, the returned Vector2 is given this \"min\" coordinate.\r\n * If a coordinate of \"value\" is greater than \"max\" coordinates, the returned Vector2 is given this \"max\" coordinate\r\n * @param value defines the value to clamp\r\n * @param min defines the lower limit\r\n * @param max defines the upper limit\r\n * @returns a new Vector2\r\n */\r\n public static Clamp(value: DeepImmutable, min: DeepImmutable, max: DeepImmutable): Vector2 {\r\n var x = value.x;\r\n x = (x > max.x) ? max.x : x;\r\n x = (x < min.x) ? min.x : x;\r\n\r\n var y = value.y;\r\n y = (y > max.y) ? max.y : y;\r\n y = (y < min.y) ? min.y : y;\r\n\r\n return new Vector2(x, y);\r\n }\r\n\r\n /**\r\n * Returns a new Vector2 located for \"amount\" (float) on the Hermite spline defined by the vectors \"value1\", \"value3\", \"tangent1\", \"tangent2\"\r\n * @param value1 defines the 1st control point\r\n * @param tangent1 defines the outgoing tangent\r\n * @param value2 defines the 2nd control point\r\n * @param tangent2 defines the incoming tangent\r\n * @param amount defines the interpolation factor\r\n * @returns a new Vector2\r\n */\r\n public static Hermite(value1: DeepImmutable, tangent1: DeepImmutable, value2: DeepImmutable, tangent2: DeepImmutable, amount: number): Vector2 {\r\n var squared = amount * amount;\r\n var cubed = amount * squared;\r\n var part1 = ((2.0 * cubed) - (3.0 * squared)) + 1.0;\r\n var part2 = (-2.0 * cubed) + (3.0 * squared);\r\n var part3 = (cubed - (2.0 * squared)) + amount;\r\n var part4 = cubed - squared;\r\n\r\n var x = (((value1.x * part1) + (value2.x * part2)) + (tangent1.x * part3)) + (tangent2.x * part4);\r\n var y = (((value1.y * part1) + (value2.y * part2)) + (tangent1.y * part3)) + (tangent2.y * part4);\r\n\r\n return new Vector2(x, y);\r\n }\r\n\r\n /**\r\n * Returns a new Vector2 located for \"amount\" (float) on the linear interpolation between the vector \"start\" adn the vector \"end\".\r\n * @param start defines the start vector\r\n * @param end defines the end vector\r\n * @param amount defines the interpolation factor\r\n * @returns a new Vector2\r\n */\r\n public static Lerp(start: DeepImmutable, end: DeepImmutable, amount: number): Vector2 {\r\n var x = start.x + ((end.x - start.x) * amount);\r\n var y = start.y + ((end.y - start.y) * amount);\r\n return new Vector2(x, y);\r\n }\r\n\r\n /**\r\n * Gets the dot product of the vector \"left\" and the vector \"right\"\r\n * @param left defines first vector\r\n * @param right defines second vector\r\n * @returns the dot product (float)\r\n */\r\n public static Dot(left: DeepImmutable, right: DeepImmutable): number {\r\n return left.x * right.x + left.y * right.y;\r\n }\r\n\r\n /**\r\n * Returns a new Vector2 equal to the normalized given vector\r\n * @param vector defines the vector to normalize\r\n * @returns a new Vector2\r\n */\r\n public static Normalize(vector: DeepImmutable): Vector2 {\r\n var newVector = vector.clone();\r\n newVector.normalize();\r\n return newVector;\r\n }\r\n\r\n /**\r\n * Gets a new Vector2 set with the minimal coordinate values from the \"left\" and \"right\" vectors\r\n * @param left defines 1st vector\r\n * @param right defines 2nd vector\r\n * @returns a new Vector2\r\n */\r\n public static Minimize(left: DeepImmutable, right: DeepImmutable): Vector2 {\r\n var x = (left.x < right.x) ? left.x : right.x;\r\n var y = (left.y < right.y) ? left.y : right.y;\r\n return new Vector2(x, y);\r\n }\r\n\r\n /**\r\n * Gets a new Vecto2 set with the maximal coordinate values from the \"left\" and \"right\" vectors\r\n * @param left defines 1st vector\r\n * @param right defines 2nd vector\r\n * @returns a new Vector2\r\n */\r\n public static Maximize(left: DeepImmutable, right: DeepImmutable): Vector2 {\r\n var x = (left.x > right.x) ? left.x : right.x;\r\n var y = (left.y > right.y) ? left.y : right.y;\r\n return new Vector2(x, y);\r\n }\r\n\r\n /**\r\n * Gets a new Vector2 set with the transformed coordinates of the given vector by the given transformation matrix\r\n * @param vector defines the vector to transform\r\n * @param transformation defines the matrix to apply\r\n * @returns a new Vector2\r\n */\r\n public static Transform(vector: DeepImmutable, transformation: DeepImmutable): Vector2 {\r\n let r = Vector2.Zero();\r\n Vector2.TransformToRef(vector, transformation, r);\r\n return r;\r\n }\r\n\r\n /**\r\n * Transforms the given vector coordinates by the given transformation matrix and stores the result in the vector \"result\" coordinates\r\n * @param vector defines the vector to transform\r\n * @param transformation defines the matrix to apply\r\n * @param result defines the target vector\r\n */\r\n public static TransformToRef(vector: DeepImmutable, transformation: DeepImmutable, result: Vector2) {\r\n const m = transformation.m;\r\n var x = (vector.x * m[0]) + (vector.y * m[4]) + m[12];\r\n var y = (vector.x * m[1]) + (vector.y * m[5]) + m[13];\r\n result.x = x;\r\n result.y = y;\r\n }\r\n\r\n /**\r\n * Determines if a given vector is included in a triangle\r\n * @param p defines the vector to test\r\n * @param p0 defines 1st triangle point\r\n * @param p1 defines 2nd triangle point\r\n * @param p2 defines 3rd triangle point\r\n * @returns true if the point \"p\" is in the triangle defined by the vertors \"p0\", \"p1\", \"p2\"\r\n */\r\n public static PointInTriangle(p: DeepImmutable, p0: DeepImmutable, p1: DeepImmutable, p2: DeepImmutable) {\r\n let a = 1 / 2 * (-p1.y * p2.x + p0.y * (-p1.x + p2.x) + p0.x * (p1.y - p2.y) + p1.x * p2.y);\r\n let sign = a < 0 ? -1 : 1;\r\n let s = (p0.y * p2.x - p0.x * p2.y + (p2.y - p0.y) * p.x + (p0.x - p2.x) * p.y) * sign;\r\n let t = (p0.x * p1.y - p0.y * p1.x + (p0.y - p1.y) * p.x + (p1.x - p0.x) * p.y) * sign;\r\n\r\n return s > 0 && t > 0 && (s + t) < 2 * a * sign;\r\n }\r\n\r\n /**\r\n * Gets the distance between the vectors \"value1\" and \"value2\"\r\n * @param value1 defines first vector\r\n * @param value2 defines second vector\r\n * @returns the distance between vectors\r\n */\r\n public static Distance(value1: DeepImmutable, value2: DeepImmutable): number {\r\n return Math.sqrt(Vector2.DistanceSquared(value1, value2));\r\n }\r\n\r\n /**\r\n * Returns the squared distance between the vectors \"value1\" and \"value2\"\r\n * @param value1 defines first vector\r\n * @param value2 defines second vector\r\n * @returns the squared distance between vectors\r\n */\r\n public static DistanceSquared(value1: DeepImmutable, value2: DeepImmutable): number {\r\n var x = value1.x - value2.x;\r\n var y = value1.y - value2.y;\r\n return (x * x) + (y * y);\r\n }\r\n\r\n /**\r\n * Gets a new Vector2 located at the center of the vectors \"value1\" and \"value2\"\r\n * @param value1 defines first vector\r\n * @param value2 defines second vector\r\n * @returns a new Vector2\r\n */\r\n public static Center(value1: DeepImmutable, value2: DeepImmutable): Vector2 {\r\n var center = value1.add(value2);\r\n center.scaleInPlace(0.5);\r\n return center;\r\n }\r\n\r\n /**\r\n * Gets the shortest distance (float) between the point \"p\" and the segment defined by the two points \"segA\" and \"segB\".\r\n * @param p defines the middle point\r\n * @param segA defines one point of the segment\r\n * @param segB defines the other point of the segment\r\n * @returns the shortest distance\r\n */\r\n public static DistanceOfPointFromSegment(p: DeepImmutable, segA: DeepImmutable, segB: DeepImmutable): number {\r\n let l2 = Vector2.DistanceSquared(segA, segB);\r\n if (l2 === 0.0) {\r\n return Vector2.Distance(p, segA);\r\n }\r\n let v = segB.subtract(segA);\r\n let t = Math.max(0, Math.min(1, Vector2.Dot(p.subtract(segA), v) / l2));\r\n let proj = segA.add(v.multiplyByFloats(t, t));\r\n return Vector2.Distance(p, proj);\r\n }\r\n}\r\n\r\n/**\r\n * Class used to store (x,y,z) vector representation\r\n * A Vector3 is the main object used in 3D geometry\r\n * It can represent etiher the coordinates of a point the space, either a direction\r\n * Reminder: js uses a left handed forward facing system\r\n */\r\nexport class Vector3 {\r\n private static _UpReadOnly = Vector3.Up() as DeepImmutable;\r\n private static _ZeroReadOnly = Vector3.Zero() as DeepImmutable;\r\n\r\n /** @hidden */\r\n public _x: number;\r\n\r\n /** @hidden */\r\n public _y: number;\r\n\r\n /** @hidden */\r\n public _z: number;\r\n\r\n /** @hidden */\r\n public _isDirty = true;\r\n\r\n /** Gets or sets the x coordinate */\r\n public get x() {\r\n return this._x;\r\n }\r\n\r\n public set x(value: number) {\r\n this._x = value;\r\n this._isDirty = true;\r\n }\r\n\r\n /** Gets or sets the y coordinate */\r\n public get y() {\r\n return this._y;\r\n }\r\n\r\n public set y(value: number) {\r\n this._y = value;\r\n this._isDirty = true;\r\n }\r\n\r\n /** Gets or sets the z coordinate */\r\n public get z() {\r\n return this._z;\r\n }\r\n\r\n public set z(value: number) {\r\n this._z = value;\r\n this._isDirty = true;\r\n }\r\n\r\n /**\r\n * Creates a new Vector3 object from the given x, y, z (floats) coordinates.\r\n * @param x defines the first coordinates (on X axis)\r\n * @param y defines the second coordinates (on Y axis)\r\n * @param z defines the third coordinates (on Z axis)\r\n */\r\n constructor(\r\n x: number = 0,\r\n y: number = 0,\r\n z: number = 0\r\n ) {\r\n this._x = x;\r\n this._y = y;\r\n this._z = z;\r\n }\r\n\r\n /**\r\n * Creates a string representation of the Vector3\r\n * @returns a string with the Vector3 coordinates.\r\n */\r\n public toString(): string {\r\n return \"{X: \" + this._x + \" Y:\" + this._y + \" Z:\" + this._z + \"}\";\r\n }\r\n\r\n /**\r\n * Gets the class name\r\n * @returns the string \"Vector3\"\r\n */\r\n public getClassName(): string {\r\n return \"Vector3\";\r\n }\r\n\r\n /**\r\n * Creates the Vector3 hash code\r\n * @returns a number which tends to be unique between Vector3 instances\r\n */\r\n public getHashCode(): number {\r\n let hash = this._x | 0;\r\n hash = (hash * 397) ^ (this._y | 0);\r\n hash = (hash * 397) ^ (this._z | 0);\r\n return hash;\r\n }\r\n\r\n // Operators\r\n\r\n /**\r\n * Creates an array containing three elements : the coordinates of the Vector3\r\n * @returns a new array of numbers\r\n */\r\n public asArray(): number[] {\r\n var result: number[] = [];\r\n this.toArray(result, 0);\r\n return result;\r\n }\r\n\r\n /**\r\n * Populates the given array or Float32Array from the given index with the successive coordinates of the Vector3\r\n * @param array defines the destination array\r\n * @param index defines the offset in the destination array\r\n * @returns the current Vector3\r\n */\r\n public toArray(array: FloatArray, index: number = 0): Vector3 {\r\n array[index] = this._x;\r\n array[index + 1] = this._y;\r\n array[index + 2] = this._z;\r\n return this;\r\n }\r\n\r\n /**\r\n * Update the current vector from an array\r\n * @param array defines the destination array\r\n * @param index defines the offset in the destination array\r\n * @returns the current Vector3\r\n */\r\n public fromArray(array: FloatArray, index: number = 0): Vector3 {\r\n Vector3.FromArrayToRef(array, index, this);\r\n return this;\r\n }\r\n\r\n /**\r\n * Converts the current Vector3 into a quaternion (considering that the Vector3 contains Euler angles representation of a rotation)\r\n * @returns a new Quaternion object, computed from the Vector3 coordinates\r\n */\r\n public toQuaternion(): Quaternion {\r\n return Quaternion.RotationYawPitchRoll(this._y, this._x, this._z);\r\n }\r\n\r\n /**\r\n * Adds the given vector to the current Vector3\r\n * @param otherVector defines the second operand\r\n * @returns the current updated Vector3\r\n */\r\n public addInPlace(otherVector: DeepImmutable): Vector3 {\r\n return this.addInPlaceFromFloats(otherVector._x, otherVector._y, otherVector._z);\r\n }\r\n\r\n /**\r\n * Adds the given coordinates to the current Vector3\r\n * @param x defines the x coordinate of the operand\r\n * @param y defines the y coordinate of the operand\r\n * @param z defines the z coordinate of the operand\r\n * @returns the current updated Vector3\r\n */\r\n public addInPlaceFromFloats(x: number, y: number, z: number): Vector3 {\r\n this.x += x;\r\n this.y += y;\r\n this.z += z;\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets a new Vector3, result of the addition the current Vector3 and the given vector\r\n * @param otherVector defines the second operand\r\n * @returns the resulting Vector3\r\n */\r\n public add(otherVector: DeepImmutable): Vector3 {\r\n return new Vector3(this._x + otherVector._x, this._y + otherVector._y, this._z + otherVector._z);\r\n }\r\n\r\n /**\r\n * Adds the current Vector3 to the given one and stores the result in the vector \"result\"\r\n * @param otherVector defines the second operand\r\n * @param result defines the Vector3 object where to store the result\r\n * @returns the current Vector3\r\n */\r\n public addToRef(otherVector: DeepImmutable, result: Vector3): Vector3 {\r\n return result.copyFromFloats(this._x + otherVector._x, this._y + otherVector._y, this._z + otherVector._z);\r\n }\r\n\r\n /**\r\n * Subtract the given vector from the current Vector3\r\n * @param otherVector defines the second operand\r\n * @returns the current updated Vector3\r\n */\r\n public subtractInPlace(otherVector: DeepImmutable): Vector3 {\r\n this.x -= otherVector._x;\r\n this.y -= otherVector._y;\r\n this.z -= otherVector._z;\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns a new Vector3, result of the subtraction of the given vector from the current Vector3\r\n * @param otherVector defines the second operand\r\n * @returns the resulting Vector3\r\n */\r\n public subtract(otherVector: DeepImmutable): Vector3 {\r\n return new Vector3(this._x - otherVector._x, this._y - otherVector._y, this._z - otherVector._z);\r\n }\r\n\r\n /**\r\n * Subtracts the given vector from the current Vector3 and stores the result in the vector \"result\".\r\n * @param otherVector defines the second operand\r\n * @param result defines the Vector3 object where to store the result\r\n * @returns the current Vector3\r\n */\r\n public subtractToRef(otherVector: DeepImmutable, result: Vector3): Vector3 {\r\n return this.subtractFromFloatsToRef(otherVector._x, otherVector._y, otherVector._z, result);\r\n }\r\n\r\n /**\r\n * Returns a new Vector3 set with the subtraction of the given floats from the current Vector3 coordinates\r\n * @param x defines the x coordinate of the operand\r\n * @param y defines the y coordinate of the operand\r\n * @param z defines the z coordinate of the operand\r\n * @returns the resulting Vector3\r\n */\r\n public subtractFromFloats(x: number, y: number, z: number): Vector3 {\r\n return new Vector3(this._x - x, this._y - y, this._z - z);\r\n }\r\n\r\n /**\r\n * Subtracts the given floats from the current Vector3 coordinates and set the given vector \"result\" with this result\r\n * @param x defines the x coordinate of the operand\r\n * @param y defines the y coordinate of the operand\r\n * @param z defines the z coordinate of the operand\r\n * @param result defines the Vector3 object where to store the result\r\n * @returns the current Vector3\r\n */\r\n public subtractFromFloatsToRef(x: number, y: number, z: number, result: Vector3): Vector3 {\r\n return result.copyFromFloats(this._x - x, this._y - y, this._z - z);\r\n }\r\n\r\n /**\r\n * Gets a new Vector3 set with the current Vector3 negated coordinates\r\n * @returns a new Vector3\r\n */\r\n public negate(): Vector3 {\r\n return new Vector3(-this._x, -this._y, -this._z);\r\n }\r\n\r\n /**\r\n * Negate this vector in place\r\n * @returns this\r\n */\r\n public negateInPlace(): Vector3 {\r\n this.x *= -1;\r\n this.y *= -1;\r\n this.z *= -1;\r\n return this;\r\n }\r\n\r\n /**\r\n * Negate the current Vector3 and stores the result in the given vector \"result\" coordinates\r\n * @param result defines the Vector3 object where to store the result\r\n * @returns the current Vector3\r\n */\r\n public negateToRef(result: Vector3): Vector3 {\r\n return result.copyFromFloats(this._x * -1, this._y * -1, this._z * -1);\r\n }\r\n\r\n /**\r\n * Multiplies the Vector3 coordinates by the float \"scale\"\r\n * @param scale defines the multiplier factor\r\n * @returns the current updated Vector3\r\n */\r\n public scaleInPlace(scale: number): Vector3 {\r\n this.x *= scale;\r\n this.y *= scale;\r\n this.z *= scale;\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns a new Vector3 set with the current Vector3 coordinates multiplied by the float \"scale\"\r\n * @param scale defines the multiplier factor\r\n * @returns a new Vector3\r\n */\r\n public scale(scale: number): Vector3 {\r\n return new Vector3(this._x * scale, this._y * scale, this._z * scale);\r\n }\r\n\r\n /**\r\n * Multiplies the current Vector3 coordinates by the float \"scale\" and stores the result in the given vector \"result\" coordinates\r\n * @param scale defines the multiplier factor\r\n * @param result defines the Vector3 object where to store the result\r\n * @returns the current Vector3\r\n */\r\n public scaleToRef(scale: number, result: Vector3): Vector3 {\r\n return result.copyFromFloats(this._x * scale, this._y * scale, this._z * scale);\r\n }\r\n\r\n /**\r\n * Scale the current Vector3 values by a factor and add the result to a given Vector3\r\n * @param scale defines the scale factor\r\n * @param result defines the Vector3 object where to store the result\r\n * @returns the unmodified current Vector3\r\n */\r\n public scaleAndAddToRef(scale: number, result: Vector3): Vector3 {\r\n return result.addInPlaceFromFloats(this._x * scale, this._y * scale, this._z * scale);\r\n }\r\n\r\n /**\r\n * Projects the current vector3 to a plane along a ray starting from a specified origin and directed towards the point.\r\n * @param origin defines the origin of the projection ray\r\n * @param plane defines the plane to project to\r\n * @returns the projected vector3\r\n */\r\n public projectOnPlane(plane: Plane, origin: Vector3): Vector3 {\r\n let result = Vector3.Zero();\r\n\r\n this.projectOnPlaneToRef(plane, origin, result);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Projects the current vector3 to a plane along a ray starting from a specified origin and directed towards the point.\r\n * @param origin defines the origin of the projection ray\r\n * @param plane defines the plane to project to\r\n * @param result defines the Vector3 where to store the result\r\n */\r\n public projectOnPlaneToRef(plane: Plane, origin: Vector3, result: Vector3): void {\r\n let n = plane.normal;\r\n let d = plane.d;\r\n\r\n let V = MathTmp.Vector3[0];\r\n\r\n // ray direction\r\n this.subtractToRef(origin, V);\r\n\r\n V.normalize();\r\n\r\n let denom = Vector3.Dot(V, n);\r\n let t = -(Vector3.Dot(origin, n) + d) / denom;\r\n\r\n // P = P0 + t*V\r\n let scaledV = V.scaleInPlace(t);\r\n origin.addToRef(scaledV, result);\r\n }\r\n\r\n /**\r\n * Returns true if the current Vector3 and the given vector coordinates are strictly equal\r\n * @param otherVector defines the second operand\r\n * @returns true if both vectors are equals\r\n */\r\n public equals(otherVector: DeepImmutable): boolean {\r\n return otherVector && this._x === otherVector._x && this._y === otherVector._y && this._z === otherVector._z;\r\n }\r\n\r\n /**\r\n * Returns true if the current Vector3 and the given vector coordinates are distant less than epsilon\r\n * @param otherVector defines the second operand\r\n * @param epsilon defines the minimal distance to define values as equals\r\n * @returns true if both vectors are distant less than epsilon\r\n */\r\n public equalsWithEpsilon(otherVector: DeepImmutable, epsilon: number = Epsilon): boolean {\r\n return otherVector && Scalar.WithinEpsilon(this._x, otherVector._x, epsilon) && Scalar.WithinEpsilon(this._y, otherVector._y, epsilon) && Scalar.WithinEpsilon(this._z, otherVector._z, epsilon);\r\n }\r\n\r\n /**\r\n * Returns true if the current Vector3 coordinates equals the given floats\r\n * @param x defines the x coordinate of the operand\r\n * @param y defines the y coordinate of the operand\r\n * @param z defines the z coordinate of the operand\r\n * @returns true if both vectors are equals\r\n */\r\n public equalsToFloats(x: number, y: number, z: number): boolean {\r\n return this._x === x && this._y === y && this._z === z;\r\n }\r\n\r\n /**\r\n * Multiplies the current Vector3 coordinates by the given ones\r\n * @param otherVector defines the second operand\r\n * @returns the current updated Vector3\r\n */\r\n public multiplyInPlace(otherVector: DeepImmutable): Vector3 {\r\n this.x *= otherVector._x;\r\n this.y *= otherVector._y;\r\n this.z *= otherVector._z;\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns a new Vector3, result of the multiplication of the current Vector3 by the given vector\r\n * @param otherVector defines the second operand\r\n * @returns the new Vector3\r\n */\r\n public multiply(otherVector: DeepImmutable): Vector3 {\r\n return this.multiplyByFloats(otherVector._x, otherVector._y, otherVector._z);\r\n }\r\n\r\n /**\r\n * Multiplies the current Vector3 by the given one and stores the result in the given vector \"result\"\r\n * @param otherVector defines the second operand\r\n * @param result defines the Vector3 object where to store the result\r\n * @returns the current Vector3\r\n */\r\n public multiplyToRef(otherVector: DeepImmutable, result: Vector3): Vector3 {\r\n return result.copyFromFloats(this._x * otherVector._x, this._y * otherVector._y, this._z * otherVector._z);\r\n }\r\n\r\n /**\r\n * Returns a new Vector3 set with the result of the mulliplication of the current Vector3 coordinates by the given floats\r\n * @param x defines the x coordinate of the operand\r\n * @param y defines the y coordinate of the operand\r\n * @param z defines the z coordinate of the operand\r\n * @returns the new Vector3\r\n */\r\n public multiplyByFloats(x: number, y: number, z: number): Vector3 {\r\n return new Vector3(this._x * x, this._y * y, this._z * z);\r\n }\r\n\r\n /**\r\n * Returns a new Vector3 set with the result of the division of the current Vector3 coordinates by the given ones\r\n * @param otherVector defines the second operand\r\n * @returns the new Vector3\r\n */\r\n public divide(otherVector: DeepImmutable): Vector3 {\r\n return new Vector3(this._x / otherVector._x, this._y / otherVector._y, this._z / otherVector._z);\r\n }\r\n\r\n /**\r\n * Divides the current Vector3 coordinates by the given ones and stores the result in the given vector \"result\"\r\n * @param otherVector defines the second operand\r\n * @param result defines the Vector3 object where to store the result\r\n * @returns the current Vector3\r\n */\r\n public divideToRef(otherVector: DeepImmutable, result: Vector3): Vector3 {\r\n return result.copyFromFloats(this._x / otherVector._x, this._y / otherVector._y, this._z / otherVector._z);\r\n }\r\n\r\n /**\r\n * Divides the current Vector3 coordinates by the given ones.\r\n * @param otherVector defines the second operand\r\n * @returns the current updated Vector3\r\n */\r\n public divideInPlace(otherVector: Vector3): Vector3 {\r\n return this.divideToRef(otherVector, this);\r\n }\r\n\r\n /**\r\n * Updates the current Vector3 with the minimal coordinate values between its and the given vector ones\r\n * @param other defines the second operand\r\n * @returns the current updated Vector3\r\n */\r\n public minimizeInPlace(other: DeepImmutable): Vector3 {\r\n return this.minimizeInPlaceFromFloats(other._x, other._y, other._z);\r\n }\r\n\r\n /**\r\n * Updates the current Vector3 with the maximal coordinate values between its and the given vector ones.\r\n * @param other defines the second operand\r\n * @returns the current updated Vector3\r\n */\r\n public maximizeInPlace(other: DeepImmutable): Vector3 {\r\n return this.maximizeInPlaceFromFloats(other._x, other._y, other._z);\r\n }\r\n\r\n /**\r\n * Updates the current Vector3 with the minimal coordinate values between its and the given coordinates\r\n * @param x defines the x coordinate of the operand\r\n * @param y defines the y coordinate of the operand\r\n * @param z defines the z coordinate of the operand\r\n * @returns the current updated Vector3\r\n */\r\n public minimizeInPlaceFromFloats(x: number, y: number, z: number): Vector3 {\r\n if (x < this._x) { this.x = x; }\r\n if (y < this._y) { this.y = y; }\r\n if (z < this._z) { this.z = z; }\r\n return this;\r\n }\r\n\r\n /**\r\n * Updates the current Vector3 with the maximal coordinate values between its and the given coordinates.\r\n * @param x defines the x coordinate of the operand\r\n * @param y defines the y coordinate of the operand\r\n * @param z defines the z coordinate of the operand\r\n * @returns the current updated Vector3\r\n */\r\n public maximizeInPlaceFromFloats(x: number, y: number, z: number): Vector3 {\r\n if (x > this._x) { this.x = x; }\r\n if (y > this._y) { this.y = y; }\r\n if (z > this._z) { this.z = z; }\r\n return this;\r\n }\r\n\r\n /**\r\n * Due to float precision, scale of a mesh could be uniform but float values are off by a small fraction\r\n * Check if is non uniform within a certain amount of decimal places to account for this\r\n * @param epsilon the amount the values can differ\r\n * @returns if the the vector is non uniform to a certain number of decimal places\r\n */\r\n public isNonUniformWithinEpsilon(epsilon: number) {\r\n let absX = Math.abs(this._x);\r\n let absY = Math.abs(this._y);\r\n if (!Scalar.WithinEpsilon(absX, absY, epsilon)) {\r\n return true;\r\n }\r\n\r\n let absZ = Math.abs(this._z);\r\n if (!Scalar.WithinEpsilon(absX, absZ, epsilon)) {\r\n return true;\r\n }\r\n\r\n if (!Scalar.WithinEpsilon(absY, absZ, epsilon)) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating that the vector is non uniform meaning x, y or z are not all the same\r\n */\r\n public get isNonUniform(): boolean {\r\n let absX = Math.abs(this._x);\r\n let absY = Math.abs(this._y);\r\n if (absX !== absY) {\r\n return true;\r\n }\r\n\r\n let absZ = Math.abs(this._z);\r\n if (absX !== absZ) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Gets a new Vector3 from current Vector3 floored values\r\n * @returns a new Vector3\r\n */\r\n public floor(): Vector3 {\r\n return new Vector3(Math.floor(this._x), Math.floor(this._y), Math.floor(this._z));\r\n }\r\n\r\n /**\r\n * Gets a new Vector3 from current Vector3 floored values\r\n * @returns a new Vector3\r\n */\r\n public fract(): Vector3 {\r\n return new Vector3(this._x - Math.floor(this._x), this._y - Math.floor(this._y), this._z - Math.floor(this._z));\r\n }\r\n\r\n // Properties\r\n /**\r\n * Gets the length of the Vector3\r\n * @returns the length of the Vector3\r\n */\r\n public length(): number {\r\n return Math.sqrt(this._x * this._x + this._y * this._y + this._z * this._z);\r\n }\r\n\r\n /**\r\n * Gets the squared length of the Vector3\r\n * @returns squared length of the Vector3\r\n */\r\n public lengthSquared(): number {\r\n return (this._x * this._x + this._y * this._y + this._z * this._z);\r\n }\r\n\r\n /**\r\n * Normalize the current Vector3.\r\n * Please note that this is an in place operation.\r\n * @returns the current updated Vector3\r\n */\r\n public normalize(): Vector3 {\r\n return this.normalizeFromLength(this.length());\r\n }\r\n\r\n /**\r\n * Reorders the x y z properties of the vector in place\r\n * @param order new ordering of the properties (eg. for vector 1,2,3 with \"ZYX\" will produce 3,2,1)\r\n * @returns the current updated vector\r\n */\r\n public reorderInPlace(order: string) {\r\n order = order.toLowerCase();\r\n if (order === \"xyz\") {\r\n return this;\r\n }\r\n MathTmp.Vector3[0].copyFrom(this);\r\n [\"x\", \"y\", \"z\"].forEach((val, i) => {\r\n (this)[val] = (MathTmp.Vector3[0])[order[i]];\r\n });\r\n return this;\r\n }\r\n\r\n /**\r\n * Rotates the vector around 0,0,0 by a quaternion\r\n * @param quaternion the rotation quaternion\r\n * @param result vector to store the result\r\n * @returns the resulting vector\r\n */\r\n public rotateByQuaternionToRef(quaternion: Quaternion, result: Vector3) {\r\n quaternion.toRotationMatrix(MathTmp.Matrix[0]);\r\n Vector3.TransformCoordinatesToRef(this, MathTmp.Matrix[0], result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Rotates a vector around a given point\r\n * @param quaternion the rotation quaternion\r\n * @param point the point to rotate around\r\n * @param result vector to store the result\r\n * @returns the resulting vector\r\n */\r\n public rotateByQuaternionAroundPointToRef(quaternion: Quaternion, point: Vector3, result: Vector3) {\r\n this.subtractToRef(point, MathTmp.Vector3[0]);\r\n MathTmp.Vector3[0].rotateByQuaternionToRef(quaternion, MathTmp.Vector3[0]);\r\n point.addToRef(MathTmp.Vector3[0], result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Returns a new Vector3 as the cross product of the current vector and the \"other\" one\r\n * The cross product is then orthogonal to both current and \"other\"\r\n * @param other defines the right operand\r\n * @returns the cross product\r\n */\r\n public cross(other: Vector3) {\r\n return Vector3.Cross(this, other);\r\n }\r\n\r\n /**\r\n * Normalize the current Vector3 with the given input length.\r\n * Please note that this is an in place operation.\r\n * @param len the length of the vector\r\n * @returns the current updated Vector3\r\n */\r\n public normalizeFromLength(len: number): Vector3 {\r\n if (len === 0 || len === 1.0) {\r\n return this;\r\n }\r\n\r\n return this.scaleInPlace(1.0 / len);\r\n }\r\n\r\n /**\r\n * Normalize the current Vector3 to a new vector\r\n * @returns the new Vector3\r\n */\r\n public normalizeToNew(): Vector3 {\r\n const normalized = new Vector3(0, 0, 0);\r\n this.normalizeToRef(normalized);\r\n return normalized;\r\n }\r\n\r\n /**\r\n * Normalize the current Vector3 to the reference\r\n * @param reference define the Vector3 to update\r\n * @returns the updated Vector3\r\n */\r\n public normalizeToRef(reference: Vector3): Vector3 {\r\n var len = this.length();\r\n if (len === 0 || len === 1.0) {\r\n return reference.copyFromFloats(this._x, this._y, this._z);\r\n }\r\n\r\n return this.scaleToRef(1.0 / len, reference);\r\n }\r\n\r\n /**\r\n * Creates a new Vector3 copied from the current Vector3\r\n * @returns the new Vector3\r\n */\r\n public clone(): Vector3 {\r\n return new Vector3(this._x, this._y, this._z);\r\n }\r\n\r\n /**\r\n * Copies the given vector coordinates to the current Vector3 ones\r\n * @param source defines the source Vector3\r\n * @returns the current updated Vector3\r\n */\r\n public copyFrom(source: DeepImmutable): Vector3 {\r\n return this.copyFromFloats(source._x, source._y, source._z);\r\n }\r\n\r\n /**\r\n * Copies the given floats to the current Vector3 coordinates\r\n * @param x defines the x coordinate of the operand\r\n * @param y defines the y coordinate of the operand\r\n * @param z defines the z coordinate of the operand\r\n * @returns the current updated Vector3\r\n */\r\n public copyFromFloats(x: number, y: number, z: number): Vector3 {\r\n this.x = x;\r\n this.y = y;\r\n this.z = z;\r\n return this;\r\n }\r\n\r\n /**\r\n * Copies the given floats to the current Vector3 coordinates\r\n * @param x defines the x coordinate of the operand\r\n * @param y defines the y coordinate of the operand\r\n * @param z defines the z coordinate of the operand\r\n * @returns the current updated Vector3\r\n */\r\n public set(x: number, y: number, z: number): Vector3 {\r\n return this.copyFromFloats(x, y, z);\r\n }\r\n\r\n /**\r\n * Copies the given float to the current Vector3 coordinates\r\n * @param v defines the x, y and z coordinates of the operand\r\n * @returns the current updated Vector3\r\n */\r\n public setAll(v: number): Vector3 {\r\n this.x = this.y = this.z = v;\r\n return this;\r\n }\r\n\r\n // Statics\r\n\r\n /**\r\n * Get the clip factor between two vectors\r\n * @param vector0 defines the first operand\r\n * @param vector1 defines the second operand\r\n * @param axis defines the axis to use\r\n * @param size defines the size along the axis\r\n * @returns the clip factor\r\n */\r\n public static GetClipFactor(vector0: DeepImmutable, vector1: DeepImmutable, axis: DeepImmutable, size: number) {\r\n var d0 = Vector3.Dot(vector0, axis) - size;\r\n var d1 = Vector3.Dot(vector1, axis) - size;\r\n\r\n var s = d0 / (d0 - d1);\r\n\r\n return s;\r\n }\r\n\r\n /**\r\n * Get angle between two vectors\r\n * @param vector0 angle between vector0 and vector1\r\n * @param vector1 angle between vector0 and vector1\r\n * @param normal direction of the normal\r\n * @return the angle between vector0 and vector1\r\n */\r\n public static GetAngleBetweenVectors(vector0: DeepImmutable, vector1: DeepImmutable, normal: DeepImmutable): number {\r\n const v0: Vector3 = vector0.normalizeToRef(MathTmp.Vector3[1]);\r\n const v1: Vector3 = vector1.normalizeToRef(MathTmp.Vector3[2]);\r\n const dot: number = Vector3.Dot(v0, v1);\r\n const n = MathTmp.Vector3[3];\r\n Vector3.CrossToRef(v0, v1, n);\r\n if (Vector3.Dot(n, normal) > 0) {\r\n return Math.acos(dot);\r\n }\r\n return -Math.acos(dot);\r\n }\r\n\r\n /**\r\n * Returns a new Vector3 set from the index \"offset\" of the given array\r\n * @param array defines the source array\r\n * @param offset defines the offset in the source array\r\n * @returns the new Vector3\r\n */\r\n public static FromArray(array: DeepImmutable>, offset: number = 0): Vector3 {\r\n return new Vector3(array[offset], array[offset + 1], array[offset + 2]);\r\n }\r\n\r\n /**\r\n * Returns a new Vector3 set from the index \"offset\" of the given Float32Array\r\n * @param array defines the source array\r\n * @param offset defines the offset in the source array\r\n * @returns the new Vector3\r\n * @deprecated Please use FromArray instead.\r\n */\r\n public static FromFloatArray(array: DeepImmutable, offset?: number): Vector3 {\r\n return Vector3.FromArray(array, offset);\r\n }\r\n\r\n /**\r\n * Sets the given vector \"result\" with the element values from the index \"offset\" of the given array\r\n * @param array defines the source array\r\n * @param offset defines the offset in the source array\r\n * @param result defines the Vector3 where to store the result\r\n */\r\n public static FromArrayToRef(array: DeepImmutable>, offset: number, result: Vector3): void {\r\n result.x = array[offset];\r\n result.y = array[offset + 1];\r\n result.z = array[offset + 2];\r\n }\r\n\r\n /**\r\n * Sets the given vector \"result\" with the element values from the index \"offset\" of the given Float32Array\r\n * @param array defines the source array\r\n * @param offset defines the offset in the source array\r\n * @param result defines the Vector3 where to store the result\r\n * @deprecated Please use FromArrayToRef instead.\r\n */\r\n public static FromFloatArrayToRef(array: DeepImmutable, offset: number, result: Vector3): void {\r\n return Vector3.FromArrayToRef(array, offset, result);\r\n }\r\n\r\n /**\r\n * Sets the given vector \"result\" with the given floats.\r\n * @param x defines the x coordinate of the source\r\n * @param y defines the y coordinate of the source\r\n * @param z defines the z coordinate of the source\r\n * @param result defines the Vector3 where to store the result\r\n */\r\n public static FromFloatsToRef(x: number, y: number, z: number, result: Vector3): void {\r\n result.copyFromFloats(x, y, z);\r\n }\r\n\r\n /**\r\n * Returns a new Vector3 set to (0.0, 0.0, 0.0)\r\n * @returns a new empty Vector3\r\n */\r\n public static Zero(): Vector3 {\r\n return new Vector3(0.0, 0.0, 0.0);\r\n }\r\n /**\r\n * Returns a new Vector3 set to (1.0, 1.0, 1.0)\r\n * @returns a new unit Vector3\r\n */\r\n public static One(): Vector3 {\r\n return new Vector3(1.0, 1.0, 1.0);\r\n }\r\n /**\r\n * Returns a new Vector3 set to (0.0, 1.0, 0.0)\r\n * @returns a new up Vector3\r\n */\r\n public static Up(): Vector3 {\r\n return new Vector3(0.0, 1.0, 0.0);\r\n }\r\n\r\n /**\r\n * Gets a up Vector3 that must not be updated\r\n */\r\n public static get UpReadOnly(): DeepImmutable {\r\n return Vector3._UpReadOnly;\r\n }\r\n\r\n /**\r\n * Gets a zero Vector3 that must not be updated\r\n */\r\n public static get ZeroReadOnly(): DeepImmutable {\r\n return Vector3._ZeroReadOnly;\r\n }\r\n\r\n /**\r\n * Returns a new Vector3 set to (0.0, -1.0, 0.0)\r\n * @returns a new down Vector3\r\n */\r\n public static Down(): Vector3 {\r\n return new Vector3(0.0, -1.0, 0.0);\r\n }\r\n /**\r\n * Returns a new Vector3 set to (0.0, 0.0, 1.0)\r\n * @param rightHandedSystem is the scene right-handed (negative z)\r\n * @returns a new forward Vector3\r\n */\r\n public static Forward(rightHandedSystem: boolean = false): Vector3 {\r\n return new Vector3(0.0, 0.0, (rightHandedSystem ? -1.0 : 1.0));\r\n }\r\n /**\r\n * Returns a new Vector3 set to (0.0, 0.0, -1.0)\r\n * @param rightHandedSystem is the scene right-handed (negative-z)\r\n * @returns a new forward Vector3\r\n */\r\n public static Backward(rightHandedSystem: boolean = false): Vector3 {\r\n return new Vector3(0.0, 0.0, (rightHandedSystem ? 1.0 : -1.0));\r\n }\r\n /**\r\n * Returns a new Vector3 set to (1.0, 0.0, 0.0)\r\n * @returns a new right Vector3\r\n */\r\n public static Right(): Vector3 {\r\n return new Vector3(1.0, 0.0, 0.0);\r\n }\r\n /**\r\n * Returns a new Vector3 set to (-1.0, 0.0, 0.0)\r\n * @returns a new left Vector3\r\n */\r\n public static Left(): Vector3 {\r\n return new Vector3(-1.0, 0.0, 0.0);\r\n }\r\n\r\n /**\r\n * Returns a new Vector3 set with the result of the transformation by the given matrix of the given vector.\r\n * This method computes tranformed coordinates only, not transformed direction vectors (ie. it takes translation in account)\r\n * @param vector defines the Vector3 to transform\r\n * @param transformation defines the transformation matrix\r\n * @returns the transformed Vector3\r\n */\r\n public static TransformCoordinates(vector: DeepImmutable, transformation: DeepImmutable): Vector3 {\r\n var result = Vector3.Zero();\r\n Vector3.TransformCoordinatesToRef(vector, transformation, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Sets the given vector \"result\" coordinates with the result of the transformation by the given matrix of the given vector\r\n * This method computes tranformed coordinates only, not transformed direction vectors (ie. it takes translation in account)\r\n * @param vector defines the Vector3 to transform\r\n * @param transformation defines the transformation matrix\r\n * @param result defines the Vector3 where to store the result\r\n */\r\n public static TransformCoordinatesToRef(vector: DeepImmutable, transformation: DeepImmutable, result: Vector3): void {\r\n Vector3.TransformCoordinatesFromFloatsToRef(vector._x, vector._y, vector._z, transformation, result);\r\n }\r\n\r\n /**\r\n * Sets the given vector \"result\" coordinates with the result of the transformation by the given matrix of the given floats (x, y, z)\r\n * This method computes tranformed coordinates only, not transformed direction vectors\r\n * @param x define the x coordinate of the source vector\r\n * @param y define the y coordinate of the source vector\r\n * @param z define the z coordinate of the source vector\r\n * @param transformation defines the transformation matrix\r\n * @param result defines the Vector3 where to store the result\r\n */\r\n public static TransformCoordinatesFromFloatsToRef(x: number, y: number, z: number, transformation: DeepImmutable, result: Vector3): void {\r\n const m = transformation.m;\r\n var rx = x * m[0] + y * m[4] + z * m[8] + m[12];\r\n var ry = x * m[1] + y * m[5] + z * m[9] + m[13];\r\n var rz = x * m[2] + y * m[6] + z * m[10] + m[14];\r\n var rw = 1 / (x * m[3] + y * m[7] + z * m[11] + m[15]);\r\n\r\n result.x = rx * rw;\r\n result.y = ry * rw;\r\n result.z = rz * rw;\r\n }\r\n\r\n /**\r\n * Returns a new Vector3 set with the result of the normal transformation by the given matrix of the given vector\r\n * This methods computes transformed normalized direction vectors only (ie. it does not apply translation)\r\n * @param vector defines the Vector3 to transform\r\n * @param transformation defines the transformation matrix\r\n * @returns the new Vector3\r\n */\r\n public static TransformNormal(vector: DeepImmutable, transformation: DeepImmutable): Vector3 {\r\n var result = Vector3.Zero();\r\n Vector3.TransformNormalToRef(vector, transformation, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Sets the given vector \"result\" with the result of the normal transformation by the given matrix of the given vector\r\n * This methods computes transformed normalized direction vectors only (ie. it does not apply translation)\r\n * @param vector defines the Vector3 to transform\r\n * @param transformation defines the transformation matrix\r\n * @param result defines the Vector3 where to store the result\r\n */\r\n public static TransformNormalToRef(vector: DeepImmutable, transformation: DeepImmutable, result: Vector3): void {\r\n this.TransformNormalFromFloatsToRef(vector._x, vector._y, vector._z, transformation, result);\r\n }\r\n\r\n /**\r\n * Sets the given vector \"result\" with the result of the normal transformation by the given matrix of the given floats (x, y, z)\r\n * This methods computes transformed normalized direction vectors only (ie. it does not apply translation)\r\n * @param x define the x coordinate of the source vector\r\n * @param y define the y coordinate of the source vector\r\n * @param z define the z coordinate of the source vector\r\n * @param transformation defines the transformation matrix\r\n * @param result defines the Vector3 where to store the result\r\n */\r\n public static TransformNormalFromFloatsToRef(x: number, y: number, z: number, transformation: DeepImmutable, result: Vector3): void {\r\n const m = transformation.m;\r\n result.x = x * m[0] + y * m[4] + z * m[8];\r\n result.y = x * m[1] + y * m[5] + z * m[9];\r\n result.z = x * m[2] + y * m[6] + z * m[10];\r\n }\r\n\r\n /**\r\n * Returns a new Vector3 located for \"amount\" on the CatmullRom interpolation spline defined by the vectors \"value1\", \"value2\", \"value3\", \"value4\"\r\n * @param value1 defines the first control point\r\n * @param value2 defines the second control point\r\n * @param value3 defines the third control point\r\n * @param value4 defines the fourth control point\r\n * @param amount defines the amount on the spline to use\r\n * @returns the new Vector3\r\n */\r\n public static CatmullRom(value1: DeepImmutable, value2: DeepImmutable, value3: DeepImmutable, value4: DeepImmutable, amount: number): Vector3 {\r\n var squared = amount * amount;\r\n var cubed = amount * squared;\r\n\r\n var x = 0.5 * ((((2.0 * value2._x) + ((-value1._x + value3._x) * amount)) +\r\n (((((2.0 * value1._x) - (5.0 * value2._x)) + (4.0 * value3._x)) - value4._x) * squared)) +\r\n ((((-value1._x + (3.0 * value2._x)) - (3.0 * value3._x)) + value4._x) * cubed));\r\n\r\n var y = 0.5 * ((((2.0 * value2._y) + ((-value1._y + value3._y) * amount)) +\r\n (((((2.0 * value1._y) - (5.0 * value2._y)) + (4.0 * value3._y)) - value4._y) * squared)) +\r\n ((((-value1._y + (3.0 * value2._y)) - (3.0 * value3._y)) + value4._y) * cubed));\r\n\r\n var z = 0.5 * ((((2.0 * value2._z) + ((-value1._z + value3._z) * amount)) +\r\n (((((2.0 * value1._z) - (5.0 * value2._z)) + (4.0 * value3._z)) - value4._z) * squared)) +\r\n ((((-value1._z + (3.0 * value2._z)) - (3.0 * value3._z)) + value4._z) * cubed));\r\n\r\n return new Vector3(x, y, z);\r\n }\r\n\r\n /**\r\n * Returns a new Vector3 set with the coordinates of \"value\", if the vector \"value\" is in the cube defined by the vectors \"min\" and \"max\"\r\n * If a coordinate value of \"value\" is lower than one of the \"min\" coordinate, then this \"value\" coordinate is set with the \"min\" one\r\n * If a coordinate value of \"value\" is greater than one of the \"max\" coordinate, then this \"value\" coordinate is set with the \"max\" one\r\n * @param value defines the current value\r\n * @param min defines the lower range value\r\n * @param max defines the upper range value\r\n * @returns the new Vector3\r\n */\r\n public static Clamp(value: DeepImmutable, min: DeepImmutable, max: DeepImmutable): Vector3 {\r\n const v = new Vector3();\r\n Vector3.ClampToRef(value, min, max, v);\r\n return v;\r\n }\r\n /**\r\n * Sets the given vector \"result\" with the coordinates of \"value\", if the vector \"value\" is in the cube defined by the vectors \"min\" and \"max\"\r\n * If a coordinate value of \"value\" is lower than one of the \"min\" coordinate, then this \"value\" coordinate is set with the \"min\" one\r\n * If a coordinate value of \"value\" is greater than one of the \"max\" coordinate, then this \"value\" coordinate is set with the \"max\" one\r\n * @param value defines the current value\r\n * @param min defines the lower range value\r\n * @param max defines the upper range value\r\n * @param result defines the Vector3 where to store the result\r\n */\r\n public static ClampToRef(value: DeepImmutable, min: DeepImmutable, max: DeepImmutable, result: Vector3): void {\r\n var x = value._x;\r\n x = (x > max._x) ? max._x : x;\r\n x = (x < min._x) ? min._x : x;\r\n\r\n var y = value._y;\r\n y = (y > max._y) ? max._y : y;\r\n y = (y < min._y) ? min._y : y;\r\n\r\n var z = value._z;\r\n z = (z > max._z) ? max._z : z;\r\n z = (z < min._z) ? min._z : z;\r\n\r\n result.copyFromFloats(x, y, z);\r\n }\r\n\r\n /**\r\n * Checks if a given vector is inside a specific range\r\n * @param v defines the vector to test\r\n * @param min defines the minimum range\r\n * @param max defines the maximum range\r\n */\r\n public static CheckExtends(v: Vector3, min: Vector3, max: Vector3): void {\r\n min.minimizeInPlace(v);\r\n max.maximizeInPlace(v);\r\n }\r\n\r\n /**\r\n * Returns a new Vector3 located for \"amount\" (float) on the Hermite interpolation spline defined by the vectors \"value1\", \"tangent1\", \"value2\", \"tangent2\"\r\n * @param value1 defines the first control point\r\n * @param tangent1 defines the first tangent vector\r\n * @param value2 defines the second control point\r\n * @param tangent2 defines the second tangent vector\r\n * @param amount defines the amount on the interpolation spline (between 0 and 1)\r\n * @returns the new Vector3\r\n */\r\n public static Hermite(value1: DeepImmutable, tangent1: DeepImmutable, value2: DeepImmutable, tangent2: DeepImmutable, amount: number): Vector3 {\r\n var squared = amount * amount;\r\n var cubed = amount * squared;\r\n var part1 = ((2.0 * cubed) - (3.0 * squared)) + 1.0;\r\n var part2 = (-2.0 * cubed) + (3.0 * squared);\r\n var part3 = (cubed - (2.0 * squared)) + amount;\r\n var part4 = cubed - squared;\r\n\r\n var x = (((value1._x * part1) + (value2._x * part2)) + (tangent1._x * part3)) + (tangent2._x * part4);\r\n var y = (((value1._y * part1) + (value2._y * part2)) + (tangent1._y * part3)) + (tangent2._y * part4);\r\n var z = (((value1._z * part1) + (value2._z * part2)) + (tangent1._z * part3)) + (tangent2._z * part4);\r\n return new Vector3(x, y, z);\r\n }\r\n\r\n /**\r\n * Returns a new Vector3 located for \"amount\" (float) on the linear interpolation between the vectors \"start\" and \"end\"\r\n * @param start defines the start value\r\n * @param end defines the end value\r\n * @param amount max defines amount between both (between 0 and 1)\r\n * @returns the new Vector3\r\n */\r\n public static Lerp(start: DeepImmutable, end: DeepImmutable, amount: number): Vector3 {\r\n var result = new Vector3(0, 0, 0);\r\n Vector3.LerpToRef(start, end, amount, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Sets the given vector \"result\" with the result of the linear interpolation from the vector \"start\" for \"amount\" to the vector \"end\"\r\n * @param start defines the start value\r\n * @param end defines the end value\r\n * @param amount max defines amount between both (between 0 and 1)\r\n * @param result defines the Vector3 where to store the result\r\n */\r\n public static LerpToRef(start: DeepImmutable, end: DeepImmutable, amount: number, result: Vector3): void {\r\n result.x = start._x + ((end._x - start._x) * amount);\r\n result.y = start._y + ((end._y - start._y) * amount);\r\n result.z = start._z + ((end._z - start._z) * amount);\r\n }\r\n\r\n /**\r\n * Returns the dot product (float) between the vectors \"left\" and \"right\"\r\n * @param left defines the left operand\r\n * @param right defines the right operand\r\n * @returns the dot product\r\n */\r\n public static Dot(left: DeepImmutable, right: DeepImmutable): number {\r\n return (left._x * right._x + left._y * right._y + left._z * right._z);\r\n }\r\n\r\n /**\r\n * Returns a new Vector3 as the cross product of the vectors \"left\" and \"right\"\r\n * The cross product is then orthogonal to both \"left\" and \"right\"\r\n * @param left defines the left operand\r\n * @param right defines the right operand\r\n * @returns the cross product\r\n */\r\n public static Cross(left: DeepImmutable, right: DeepImmutable): Vector3 {\r\n var result = Vector3.Zero();\r\n Vector3.CrossToRef(left, right, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Sets the given vector \"result\" with the cross product of \"left\" and \"right\"\r\n * The cross product is then orthogonal to both \"left\" and \"right\"\r\n * @param left defines the left operand\r\n * @param right defines the right operand\r\n * @param result defines the Vector3 where to store the result\r\n */\r\n public static CrossToRef(left: DeepImmutable, right: DeepImmutable, result: Vector3): void {\r\n const x = left._y * right._z - left._z * right._y;\r\n const y = left._z * right._x - left._x * right._z;\r\n const z = left._x * right._y - left._y * right._x;\r\n result.copyFromFloats(x, y, z);\r\n }\r\n\r\n /**\r\n * Returns a new Vector3 as the normalization of the given vector\r\n * @param vector defines the Vector3 to normalize\r\n * @returns the new Vector3\r\n */\r\n public static Normalize(vector: DeepImmutable): Vector3 {\r\n var result = Vector3.Zero();\r\n Vector3.NormalizeToRef(vector, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Sets the given vector \"result\" with the normalization of the given first vector\r\n * @param vector defines the Vector3 to normalize\r\n * @param result defines the Vector3 where to store the result\r\n */\r\n public static NormalizeToRef(vector: DeepImmutable, result: Vector3): void {\r\n vector.normalizeToRef(result);\r\n }\r\n\r\n /**\r\n * Project a Vector3 onto screen space\r\n * @param vector defines the Vector3 to project\r\n * @param world defines the world matrix to use\r\n * @param transform defines the transform (view x projection) matrix to use\r\n * @param viewport defines the screen viewport to use\r\n * @returns the new Vector3\r\n */\r\n public static Project(vector: DeepImmutable, world: DeepImmutable, transform: DeepImmutable, viewport: DeepImmutable): Vector3 {\r\n const result = new Vector3();\r\n Vector3.ProjectToRef(vector, world, transform, viewport, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Project a Vector3 onto screen space to reference\r\n * @param vector defines the Vector3 to project\r\n * @param world defines the world matrix to use\r\n * @param transform defines the transform (view x projection) matrix to use\r\n * @param viewport defines the screen viewport to use\r\n * @param result the vector in which the screen space will be stored\r\n * @returns the new Vector3\r\n */\r\n public static ProjectToRef(vector: DeepImmutable, world: DeepImmutable, transform: DeepImmutable, viewport: DeepImmutable, result: DeepImmutable): Vector3 {\r\n var cw = viewport.width;\r\n var ch = viewport.height;\r\n var cx = viewport.x;\r\n var cy = viewport.y;\r\n\r\n var viewportMatrix = MathTmp.Matrix[1];\r\n\r\n Matrix.FromValuesToRef(\r\n cw / 2.0, 0, 0, 0,\r\n 0, -ch / 2.0, 0, 0,\r\n 0, 0, 0.5, 0,\r\n cx + cw / 2.0, ch / 2.0 + cy, 0.5, 1, viewportMatrix);\r\n\r\n var matrix = MathTmp.Matrix[0];\r\n world.multiplyToRef(transform, matrix);\r\n matrix.multiplyToRef(viewportMatrix, matrix);\r\n\r\n Vector3.TransformCoordinatesToRef(vector, matrix, result);\r\n return result;\r\n }\r\n\r\n /** @hidden */\r\n public static _UnprojectFromInvertedMatrixToRef(source: DeepImmutable, matrix: DeepImmutable, result: Vector3) {\r\n Vector3.TransformCoordinatesToRef(source, matrix, result);\r\n const m = matrix.m;\r\n var num = source._x * m[3] + source._y * m[7] + source._z * m[11] + m[15];\r\n if (Scalar.WithinEpsilon(num, 1.0)) {\r\n result.scaleInPlace(1.0 / num);\r\n }\r\n }\r\n\r\n /**\r\n * Unproject from screen space to object space\r\n * @param source defines the screen space Vector3 to use\r\n * @param viewportWidth defines the current width of the viewport\r\n * @param viewportHeight defines the current height of the viewport\r\n * @param world defines the world matrix to use (can be set to Identity to go to world space)\r\n * @param transform defines the transform (view x projection) matrix to use\r\n * @returns the new Vector3\r\n */\r\n public static UnprojectFromTransform(source: Vector3, viewportWidth: number, viewportHeight: number, world: DeepImmutable, transform: DeepImmutable): Vector3 {\r\n var matrix = MathTmp.Matrix[0];\r\n world.multiplyToRef(transform, matrix);\r\n matrix.invert();\r\n source.x = source._x / viewportWidth * 2 - 1;\r\n source.y = -(source._y / viewportHeight * 2 - 1);\r\n const vector = new Vector3();\r\n Vector3._UnprojectFromInvertedMatrixToRef(source, matrix, vector);\r\n return vector;\r\n }\r\n\r\n /**\r\n * Unproject from screen space to object space\r\n * @param source defines the screen space Vector3 to use\r\n * @param viewportWidth defines the current width of the viewport\r\n * @param viewportHeight defines the current height of the viewport\r\n * @param world defines the world matrix to use (can be set to Identity to go to world space)\r\n * @param view defines the view matrix to use\r\n * @param projection defines the projection matrix to use\r\n * @returns the new Vector3\r\n */\r\n public static Unproject(source: DeepImmutable, viewportWidth: number, viewportHeight: number, world: DeepImmutable, view: DeepImmutable, projection: DeepImmutable): Vector3 {\r\n let result = Vector3.Zero();\r\n\r\n Vector3.UnprojectToRef(source, viewportWidth, viewportHeight, world, view, projection, result);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Unproject from screen space to object space\r\n * @param source defines the screen space Vector3 to use\r\n * @param viewportWidth defines the current width of the viewport\r\n * @param viewportHeight defines the current height of the viewport\r\n * @param world defines the world matrix to use (can be set to Identity to go to world space)\r\n * @param view defines the view matrix to use\r\n * @param projection defines the projection matrix to use\r\n * @param result defines the Vector3 where to store the result\r\n */\r\n public static UnprojectToRef(source: DeepImmutable, viewportWidth: number, viewportHeight: number, world: DeepImmutable, view: DeepImmutable, projection: DeepImmutable, result: Vector3): void {\r\n Vector3.UnprojectFloatsToRef(source._x, source._y, source._z, viewportWidth, viewportHeight, world, view, projection, result);\r\n }\r\n\r\n /**\r\n * Unproject from screen space to object space\r\n * @param sourceX defines the screen space x coordinate to use\r\n * @param sourceY defines the screen space y coordinate to use\r\n * @param sourceZ defines the screen space z coordinate to use\r\n * @param viewportWidth defines the current width of the viewport\r\n * @param viewportHeight defines the current height of the viewport\r\n * @param world defines the world matrix to use (can be set to Identity to go to world space)\r\n * @param view defines the view matrix to use\r\n * @param projection defines the projection matrix to use\r\n * @param result defines the Vector3 where to store the result\r\n */\r\n public static UnprojectFloatsToRef(sourceX: float, sourceY: float, sourceZ: float, viewportWidth: number, viewportHeight: number, world: DeepImmutable, view: DeepImmutable, projection: DeepImmutable, result: Vector3): void {\r\n var matrix = MathTmp.Matrix[0];\r\n world.multiplyToRef(view, matrix);\r\n matrix.multiplyToRef(projection, matrix);\r\n matrix.invert();\r\n var screenSource = MathTmp.Vector3[0];\r\n screenSource.x = sourceX / viewportWidth * 2 - 1;\r\n screenSource.y = -(sourceY / viewportHeight * 2 - 1);\r\n screenSource.z = 2 * sourceZ - 1.0;\r\n Vector3._UnprojectFromInvertedMatrixToRef(screenSource, matrix, result);\r\n }\r\n\r\n /**\r\n * Gets the minimal coordinate values between two Vector3\r\n * @param left defines the first operand\r\n * @param right defines the second operand\r\n * @returns the new Vector3\r\n */\r\n public static Minimize(left: DeepImmutable, right: DeepImmutable): Vector3 {\r\n var min = left.clone();\r\n min.minimizeInPlace(right);\r\n return min;\r\n }\r\n\r\n /**\r\n * Gets the maximal coordinate values between two Vector3\r\n * @param left defines the first operand\r\n * @param right defines the second operand\r\n * @returns the new Vector3\r\n */\r\n public static Maximize(left: DeepImmutable, right: DeepImmutable): Vector3 {\r\n var max = left.clone();\r\n max.maximizeInPlace(right);\r\n return max;\r\n }\r\n\r\n /**\r\n * Returns the distance between the vectors \"value1\" and \"value2\"\r\n * @param value1 defines the first operand\r\n * @param value2 defines the second operand\r\n * @returns the distance\r\n */\r\n public static Distance(value1: DeepImmutable, value2: DeepImmutable): number {\r\n return Math.sqrt(Vector3.DistanceSquared(value1, value2));\r\n }\r\n\r\n /**\r\n * Returns the squared distance between the vectors \"value1\" and \"value2\"\r\n * @param value1 defines the first operand\r\n * @param value2 defines the second operand\r\n * @returns the squared distance\r\n */\r\n public static DistanceSquared(value1: DeepImmutable, value2: DeepImmutable): number {\r\n var x = value1._x - value2._x;\r\n var y = value1._y - value2._y;\r\n var z = value1._z - value2._z;\r\n\r\n return (x * x) + (y * y) + (z * z);\r\n }\r\n\r\n /**\r\n * Returns a new Vector3 located at the center between \"value1\" and \"value2\"\r\n * @param value1 defines the first operand\r\n * @param value2 defines the second operand\r\n * @returns the new Vector3\r\n */\r\n public static Center(value1: DeepImmutable, value2: DeepImmutable): Vector3 {\r\n var center = value1.add(value2);\r\n center.scaleInPlace(0.5);\r\n return center;\r\n }\r\n\r\n /**\r\n * Given three orthogonal normalized left-handed oriented Vector3 axis in space (target system),\r\n * RotationFromAxis() returns the rotation Euler angles (ex : rotation.x, rotation.y, rotation.z) to apply\r\n * to something in order to rotate it from its local system to the given target system\r\n * Note: axis1, axis2 and axis3 are normalized during this operation\r\n * @param axis1 defines the first axis\r\n * @param axis2 defines the second axis\r\n * @param axis3 defines the third axis\r\n * @returns a new Vector3\r\n */\r\n public static RotationFromAxis(axis1: DeepImmutable, axis2: DeepImmutable, axis3: DeepImmutable): Vector3 {\r\n var rotation = Vector3.Zero();\r\n Vector3.RotationFromAxisToRef(axis1, axis2, axis3, rotation);\r\n return rotation;\r\n }\r\n\r\n /**\r\n * The same than RotationFromAxis but updates the given ref Vector3 parameter instead of returning a new Vector3\r\n * @param axis1 defines the first axis\r\n * @param axis2 defines the second axis\r\n * @param axis3 defines the third axis\r\n * @param ref defines the Vector3 where to store the result\r\n */\r\n public static RotationFromAxisToRef(axis1: DeepImmutable, axis2: DeepImmutable, axis3: DeepImmutable, ref: Vector3): void {\r\n var quat = MathTmp.Quaternion[0];\r\n Quaternion.RotationQuaternionFromAxisToRef(axis1, axis2, axis3, quat);\r\n quat.toEulerAnglesToRef(ref);\r\n }\r\n}\r\n\r\n/**\r\n * Vector4 class created for EulerAngle class conversion to Quaternion\r\n */\r\nexport class Vector4 {\r\n /**\r\n * Creates a Vector4 object from the given floats.\r\n * @param x x value of the vector\r\n * @param y y value of the vector\r\n * @param z z value of the vector\r\n * @param w w value of the vector\r\n */\r\n constructor(\r\n /** x value of the vector */\r\n public x: number,\r\n /** y value of the vector */\r\n public y: number,\r\n /** z value of the vector */\r\n public z: number,\r\n /** w value of the vector */\r\n public w: number\r\n ) { }\r\n\r\n /**\r\n * Returns the string with the Vector4 coordinates.\r\n * @returns a string containing all the vector values\r\n */\r\n public toString(): string {\r\n return \"{X: \" + this.x + \" Y:\" + this.y + \" Z:\" + this.z + \" W:\" + this.w + \"}\";\r\n }\r\n\r\n /**\r\n * Returns the string \"Vector4\".\r\n * @returns \"Vector4\"\r\n */\r\n public getClassName(): string {\r\n return \"Vector4\";\r\n }\r\n\r\n /**\r\n * Returns the Vector4 hash code.\r\n * @returns a unique hash code\r\n */\r\n public getHashCode(): number {\r\n let hash = this.x | 0;\r\n hash = (hash * 397) ^ (this.y | 0);\r\n hash = (hash * 397) ^ (this.z | 0);\r\n hash = (hash * 397) ^ (this.w | 0);\r\n return hash;\r\n }\r\n\r\n // Operators\r\n /**\r\n * Returns a new array populated with 4 elements : the Vector4 coordinates.\r\n * @returns the resulting array\r\n */\r\n public asArray(): number[] {\r\n var result = new Array();\r\n\r\n this.toArray(result, 0);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Populates the given array from the given index with the Vector4 coordinates.\r\n * @param array array to populate\r\n * @param index index of the array to start at (default: 0)\r\n * @returns the Vector4.\r\n */\r\n public toArray(array: FloatArray, index?: number): Vector4 {\r\n if (index === undefined) {\r\n index = 0;\r\n }\r\n array[index] = this.x;\r\n array[index + 1] = this.y;\r\n array[index + 2] = this.z;\r\n array[index + 3] = this.w;\r\n return this;\r\n }\r\n\r\n /**\r\n * Update the current vector from an array\r\n * @param array defines the destination array\r\n * @param index defines the offset in the destination array\r\n * @returns the current Vector3\r\n */\r\n public fromArray(array: FloatArray, index: number = 0): Vector4 {\r\n Vector4.FromArrayToRef(array, index, this);\r\n return this;\r\n }\r\n\r\n /**\r\n * Adds the given vector to the current Vector4.\r\n * @param otherVector the vector to add\r\n * @returns the updated Vector4.\r\n */\r\n public addInPlace(otherVector: DeepImmutable): Vector4 {\r\n this.x += otherVector.x;\r\n this.y += otherVector.y;\r\n this.z += otherVector.z;\r\n this.w += otherVector.w;\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns a new Vector4 as the result of the addition of the current Vector4 and the given one.\r\n * @param otherVector the vector to add\r\n * @returns the resulting vector\r\n */\r\n public add(otherVector: DeepImmutable): Vector4 {\r\n return new Vector4(this.x + otherVector.x, this.y + otherVector.y, this.z + otherVector.z, this.w + otherVector.w);\r\n }\r\n\r\n /**\r\n * Updates the given vector \"result\" with the result of the addition of the current Vector4 and the given one.\r\n * @param otherVector the vector to add\r\n * @param result the vector to store the result\r\n * @returns the current Vector4.\r\n */\r\n public addToRef(otherVector: DeepImmutable, result: Vector4): Vector4 {\r\n result.x = this.x + otherVector.x;\r\n result.y = this.y + otherVector.y;\r\n result.z = this.z + otherVector.z;\r\n result.w = this.w + otherVector.w;\r\n return this;\r\n }\r\n\r\n /**\r\n * Subtract in place the given vector from the current Vector4.\r\n * @param otherVector the vector to subtract\r\n * @returns the updated Vector4.\r\n */\r\n public subtractInPlace(otherVector: DeepImmutable): Vector4 {\r\n this.x -= otherVector.x;\r\n this.y -= otherVector.y;\r\n this.z -= otherVector.z;\r\n this.w -= otherVector.w;\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns a new Vector4 with the result of the subtraction of the given vector from the current Vector4.\r\n * @param otherVector the vector to add\r\n * @returns the new vector with the result\r\n */\r\n public subtract(otherVector: DeepImmutable): Vector4 {\r\n return new Vector4(this.x - otherVector.x, this.y - otherVector.y, this.z - otherVector.z, this.w - otherVector.w);\r\n }\r\n\r\n /**\r\n * Sets the given vector \"result\" with the result of the subtraction of the given vector from the current Vector4.\r\n * @param otherVector the vector to subtract\r\n * @param result the vector to store the result\r\n * @returns the current Vector4.\r\n */\r\n public subtractToRef(otherVector: DeepImmutable, result: Vector4): Vector4 {\r\n result.x = this.x - otherVector.x;\r\n result.y = this.y - otherVector.y;\r\n result.z = this.z - otherVector.z;\r\n result.w = this.w - otherVector.w;\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns a new Vector4 set with the result of the subtraction of the given floats from the current Vector4 coordinates.\r\n */\r\n /**\r\n * Returns a new Vector4 set with the result of the subtraction of the given floats from the current Vector4 coordinates.\r\n * @param x value to subtract\r\n * @param y value to subtract\r\n * @param z value to subtract\r\n * @param w value to subtract\r\n * @returns new vector containing the result\r\n */\r\n public subtractFromFloats(x: number, y: number, z: number, w: number): Vector4 {\r\n return new Vector4(this.x - x, this.y - y, this.z - z, this.w - w);\r\n }\r\n\r\n /**\r\n * Sets the given vector \"result\" set with the result of the subtraction of the given floats from the current Vector4 coordinates.\r\n * @param x value to subtract\r\n * @param y value to subtract\r\n * @param z value to subtract\r\n * @param w value to subtract\r\n * @param result the vector to store the result in\r\n * @returns the current Vector4.\r\n */\r\n public subtractFromFloatsToRef(x: number, y: number, z: number, w: number, result: Vector4): Vector4 {\r\n result.x = this.x - x;\r\n result.y = this.y - y;\r\n result.z = this.z - z;\r\n result.w = this.w - w;\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns a new Vector4 set with the current Vector4 negated coordinates.\r\n * @returns a new vector with the negated values\r\n */\r\n public negate(): Vector4 {\r\n return new Vector4(-this.x, -this.y, -this.z, -this.w);\r\n }\r\n\r\n /**\r\n * Negate this vector in place\r\n * @returns this\r\n */\r\n public negateInPlace(): Vector4 {\r\n this.x *= -1;\r\n this.y *= -1;\r\n this.z *= -1;\r\n this.w *= -1;\r\n return this;\r\n }\r\n\r\n /**\r\n * Negate the current Vector4 and stores the result in the given vector \"result\" coordinates\r\n * @param result defines the Vector3 object where to store the result\r\n * @returns the current Vector4\r\n */\r\n public negateToRef(result: Vector4): Vector4 {\r\n return result.copyFromFloats(this.x * -1, this.y * -1, this.z * -1, this.w * -1);\r\n }\r\n\r\n /**\r\n * Multiplies the current Vector4 coordinates by scale (float).\r\n * @param scale the number to scale with\r\n * @returns the updated Vector4.\r\n */\r\n public scaleInPlace(scale: number): Vector4 {\r\n this.x *= scale;\r\n this.y *= scale;\r\n this.z *= scale;\r\n this.w *= scale;\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns a new Vector4 set with the current Vector4 coordinates multiplied by scale (float).\r\n * @param scale the number to scale with\r\n * @returns a new vector with the result\r\n */\r\n public scale(scale: number): Vector4 {\r\n return new Vector4(this.x * scale, this.y * scale, this.z * scale, this.w * scale);\r\n }\r\n\r\n /**\r\n * Sets the given vector \"result\" with the current Vector4 coordinates multiplied by scale (float).\r\n * @param scale the number to scale with\r\n * @param result a vector to store the result in\r\n * @returns the current Vector4.\r\n */\r\n public scaleToRef(scale: number, result: Vector4): Vector4 {\r\n result.x = this.x * scale;\r\n result.y = this.y * scale;\r\n result.z = this.z * scale;\r\n result.w = this.w * scale;\r\n return this;\r\n }\r\n\r\n /**\r\n * Scale the current Vector4 values by a factor and add the result to a given Vector4\r\n * @param scale defines the scale factor\r\n * @param result defines the Vector4 object where to store the result\r\n * @returns the unmodified current Vector4\r\n */\r\n public scaleAndAddToRef(scale: number, result: Vector4): Vector4 {\r\n result.x += this.x * scale;\r\n result.y += this.y * scale;\r\n result.z += this.z * scale;\r\n result.w += this.w * scale;\r\n return this;\r\n }\r\n\r\n /**\r\n * Boolean : True if the current Vector4 coordinates are stricly equal to the given ones.\r\n * @param otherVector the vector to compare against\r\n * @returns true if they are equal\r\n */\r\n public equals(otherVector: DeepImmutable): boolean {\r\n return otherVector && this.x === otherVector.x && this.y === otherVector.y && this.z === otherVector.z && this.w === otherVector.w;\r\n }\r\n\r\n /**\r\n * Boolean : True if the current Vector4 coordinates are each beneath the distance \"epsilon\" from the given vector ones.\r\n * @param otherVector vector to compare against\r\n * @param epsilon (Default: very small number)\r\n * @returns true if they are equal\r\n */\r\n public equalsWithEpsilon(otherVector: DeepImmutable, epsilon: number = Epsilon): boolean {\r\n return otherVector\r\n && Scalar.WithinEpsilon(this.x, otherVector.x, epsilon)\r\n && Scalar.WithinEpsilon(this.y, otherVector.y, epsilon)\r\n && Scalar.WithinEpsilon(this.z, otherVector.z, epsilon)\r\n && Scalar.WithinEpsilon(this.w, otherVector.w, epsilon);\r\n }\r\n\r\n /**\r\n * Boolean : True if the given floats are strictly equal to the current Vector4 coordinates.\r\n * @param x x value to compare against\r\n * @param y y value to compare against\r\n * @param z z value to compare against\r\n * @param w w value to compare against\r\n * @returns true if equal\r\n */\r\n public equalsToFloats(x: number, y: number, z: number, w: number): boolean {\r\n return this.x === x && this.y === y && this.z === z && this.w === w;\r\n }\r\n\r\n /**\r\n * Multiplies in place the current Vector4 by the given one.\r\n * @param otherVector vector to multiple with\r\n * @returns the updated Vector4.\r\n */\r\n public multiplyInPlace(otherVector: Vector4): Vector4 {\r\n this.x *= otherVector.x;\r\n this.y *= otherVector.y;\r\n this.z *= otherVector.z;\r\n this.w *= otherVector.w;\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns a new Vector4 set with the multiplication result of the current Vector4 and the given one.\r\n * @param otherVector vector to multiple with\r\n * @returns resulting new vector\r\n */\r\n public multiply(otherVector: DeepImmutable): Vector4 {\r\n return new Vector4(this.x * otherVector.x, this.y * otherVector.y, this.z * otherVector.z, this.w * otherVector.w);\r\n }\r\n /**\r\n * Updates the given vector \"result\" with the multiplication result of the current Vector4 and the given one.\r\n * @param otherVector vector to multiple with\r\n * @param result vector to store the result\r\n * @returns the current Vector4.\r\n */\r\n public multiplyToRef(otherVector: DeepImmutable, result: Vector4): Vector4 {\r\n result.x = this.x * otherVector.x;\r\n result.y = this.y * otherVector.y;\r\n result.z = this.z * otherVector.z;\r\n result.w = this.w * otherVector.w;\r\n return this;\r\n }\r\n /**\r\n * Returns a new Vector4 set with the multiplication result of the given floats and the current Vector4 coordinates.\r\n * @param x x value multiply with\r\n * @param y y value multiply with\r\n * @param z z value multiply with\r\n * @param w w value multiply with\r\n * @returns resulting new vector\r\n */\r\n public multiplyByFloats(x: number, y: number, z: number, w: number): Vector4 {\r\n return new Vector4(this.x * x, this.y * y, this.z * z, this.w * w);\r\n }\r\n /**\r\n * Returns a new Vector4 set with the division result of the current Vector4 by the given one.\r\n * @param otherVector vector to devide with\r\n * @returns resulting new vector\r\n */\r\n public divide(otherVector: DeepImmutable): Vector4 {\r\n return new Vector4(this.x / otherVector.x, this.y / otherVector.y, this.z / otherVector.z, this.w / otherVector.w);\r\n }\r\n /**\r\n * Updates the given vector \"result\" with the division result of the current Vector4 by the given one.\r\n * @param otherVector vector to devide with\r\n * @param result vector to store the result\r\n * @returns the current Vector4.\r\n */\r\n public divideToRef(otherVector: DeepImmutable, result: Vector4): Vector4 {\r\n result.x = this.x / otherVector.x;\r\n result.y = this.y / otherVector.y;\r\n result.z = this.z / otherVector.z;\r\n result.w = this.w / otherVector.w;\r\n return this;\r\n }\r\n\r\n /**\r\n * Divides the current Vector3 coordinates by the given ones.\r\n * @param otherVector vector to devide with\r\n * @returns the updated Vector3.\r\n */\r\n public divideInPlace(otherVector: DeepImmutable): Vector4 {\r\n return this.divideToRef(otherVector, this);\r\n }\r\n\r\n /**\r\n * Updates the Vector4 coordinates with the minimum values between its own and the given vector ones\r\n * @param other defines the second operand\r\n * @returns the current updated Vector4\r\n */\r\n public minimizeInPlace(other: DeepImmutable): Vector4 {\r\n if (other.x < this.x) { this.x = other.x; }\r\n if (other.y < this.y) { this.y = other.y; }\r\n if (other.z < this.z) { this.z = other.z; }\r\n if (other.w < this.w) { this.w = other.w; }\r\n return this;\r\n }\r\n /**\r\n * Updates the Vector4 coordinates with the maximum values between its own and the given vector ones\r\n * @param other defines the second operand\r\n * @returns the current updated Vector4\r\n */\r\n public maximizeInPlace(other: DeepImmutable): Vector4 {\r\n if (other.x > this.x) { this.x = other.x; }\r\n if (other.y > this.y) { this.y = other.y; }\r\n if (other.z > this.z) { this.z = other.z; }\r\n if (other.w > this.w) { this.w = other.w; }\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets a new Vector4 from current Vector4 floored values\r\n * @returns a new Vector4\r\n */\r\n public floor(): Vector4 {\r\n return new Vector4(Math.floor(this.x), Math.floor(this.y), Math.floor(this.z), Math.floor(this.w));\r\n }\r\n\r\n /**\r\n * Gets a new Vector4 from current Vector3 floored values\r\n * @returns a new Vector4\r\n */\r\n public fract(): Vector4 {\r\n return new Vector4(this.x - Math.floor(this.x), this.y - Math.floor(this.y), this.z - Math.floor(this.z), this.w - Math.floor(this.w));\r\n }\r\n\r\n // Properties\r\n /**\r\n * Returns the Vector4 length (float).\r\n * @returns the length\r\n */\r\n public length(): number {\r\n return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w);\r\n }\r\n /**\r\n * Returns the Vector4 squared length (float).\r\n * @returns the length squared\r\n */\r\n public lengthSquared(): number {\r\n return (this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w);\r\n }\r\n\r\n // Methods\r\n /**\r\n * Normalizes in place the Vector4.\r\n * @returns the updated Vector4.\r\n */\r\n public normalize(): Vector4 {\r\n var len = this.length();\r\n\r\n if (len === 0) {\r\n return this;\r\n }\r\n\r\n return this.scaleInPlace(1.0 / len);\r\n }\r\n\r\n /**\r\n * Returns a new Vector3 from the Vector4 (x, y, z) coordinates.\r\n * @returns this converted to a new vector3\r\n */\r\n public toVector3(): Vector3 {\r\n return new Vector3(this.x, this.y, this.z);\r\n }\r\n /**\r\n * Returns a new Vector4 copied from the current one.\r\n * @returns the new cloned vector\r\n */\r\n public clone(): Vector4 {\r\n return new Vector4(this.x, this.y, this.z, this.w);\r\n }\r\n /**\r\n * Updates the current Vector4 with the given one coordinates.\r\n * @param source the source vector to copy from\r\n * @returns the updated Vector4.\r\n */\r\n public copyFrom(source: DeepImmutable): Vector4 {\r\n this.x = source.x;\r\n this.y = source.y;\r\n this.z = source.z;\r\n this.w = source.w;\r\n return this;\r\n }\r\n /**\r\n * Updates the current Vector4 coordinates with the given floats.\r\n * @param x float to copy from\r\n * @param y float to copy from\r\n * @param z float to copy from\r\n * @param w float to copy from\r\n * @returns the updated Vector4.\r\n */\r\n public copyFromFloats(x: number, y: number, z: number, w: number): Vector4 {\r\n this.x = x;\r\n this.y = y;\r\n this.z = z;\r\n this.w = w;\r\n return this;\r\n }\r\n /**\r\n * Updates the current Vector4 coordinates with the given floats.\r\n * @param x float to set from\r\n * @param y float to set from\r\n * @param z float to set from\r\n * @param w float to set from\r\n * @returns the updated Vector4.\r\n */\r\n public set(x: number, y: number, z: number, w: number): Vector4 {\r\n return this.copyFromFloats(x, y, z, w);\r\n }\r\n\r\n /**\r\n * Copies the given float to the current Vector3 coordinates\r\n * @param v defines the x, y, z and w coordinates of the operand\r\n * @returns the current updated Vector3\r\n */\r\n public setAll(v: number): Vector4 {\r\n this.x = this.y = this.z = this.w = v;\r\n return this;\r\n }\r\n\r\n // Statics\r\n /**\r\n * Returns a new Vector4 set from the starting index of the given array.\r\n * @param array the array to pull values from\r\n * @param offset the offset into the array to start at\r\n * @returns the new vector\r\n */\r\n public static FromArray(array: DeepImmutable>, offset?: number): Vector4 {\r\n if (!offset) {\r\n offset = 0;\r\n }\r\n return new Vector4(array[offset], array[offset + 1], array[offset + 2], array[offset + 3]);\r\n }\r\n /**\r\n * Updates the given vector \"result\" from the starting index of the given array.\r\n * @param array the array to pull values from\r\n * @param offset the offset into the array to start at\r\n * @param result the vector to store the result in\r\n */\r\n public static FromArrayToRef(array: DeepImmutable>, offset: number, result: Vector4): void {\r\n result.x = array[offset];\r\n result.y = array[offset + 1];\r\n result.z = array[offset + 2];\r\n result.w = array[offset + 3];\r\n }\r\n /**\r\n * Updates the given vector \"result\" from the starting index of the given Float32Array.\r\n * @param array the array to pull values from\r\n * @param offset the offset into the array to start at\r\n * @param result the vector to store the result in\r\n */\r\n public static FromFloatArrayToRef(array: DeepImmutable, offset: number, result: Vector4): void {\r\n Vector4.FromArrayToRef(array, offset, result);\r\n }\r\n /**\r\n * Updates the given vector \"result\" coordinates from the given floats.\r\n * @param x float to set from\r\n * @param y float to set from\r\n * @param z float to set from\r\n * @param w float to set from\r\n * @param result the vector to the floats in\r\n */\r\n public static FromFloatsToRef(x: number, y: number, z: number, w: number, result: Vector4): void {\r\n result.x = x;\r\n result.y = y;\r\n result.z = z;\r\n result.w = w;\r\n }\r\n /**\r\n * Returns a new Vector4 set to (0.0, 0.0, 0.0, 0.0)\r\n * @returns the new vector\r\n */\r\n public static Zero(): Vector4 {\r\n return new Vector4(0.0, 0.0, 0.0, 0.0);\r\n }\r\n /**\r\n * Returns a new Vector4 set to (1.0, 1.0, 1.0, 1.0)\r\n * @returns the new vector\r\n */\r\n public static One(): Vector4 {\r\n return new Vector4(1.0, 1.0, 1.0, 1.0);\r\n }\r\n /**\r\n * Returns a new normalized Vector4 from the given one.\r\n * @param vector the vector to normalize\r\n * @returns the vector\r\n */\r\n public static Normalize(vector: DeepImmutable): Vector4 {\r\n var result = Vector4.Zero();\r\n Vector4.NormalizeToRef(vector, result);\r\n return result;\r\n }\r\n /**\r\n * Updates the given vector \"result\" from the normalization of the given one.\r\n * @param vector the vector to normalize\r\n * @param result the vector to store the result in\r\n */\r\n public static NormalizeToRef(vector: DeepImmutable, result: Vector4): void {\r\n result.copyFrom(vector);\r\n result.normalize();\r\n }\r\n\r\n /**\r\n * Returns a vector with the minimum values from the left and right vectors\r\n * @param left left vector to minimize\r\n * @param right right vector to minimize\r\n * @returns a new vector with the minimum of the left and right vector values\r\n */\r\n public static Minimize(left: DeepImmutable, right: DeepImmutable): Vector4 {\r\n var min = left.clone();\r\n min.minimizeInPlace(right);\r\n return min;\r\n }\r\n\r\n /**\r\n * Returns a vector with the maximum values from the left and right vectors\r\n * @param left left vector to maximize\r\n * @param right right vector to maximize\r\n * @returns a new vector with the maximum of the left and right vector values\r\n */\r\n public static Maximize(left: DeepImmutable, right: DeepImmutable): Vector4 {\r\n var max = left.clone();\r\n max.maximizeInPlace(right);\r\n return max;\r\n }\r\n /**\r\n * Returns the distance (float) between the vectors \"value1\" and \"value2\".\r\n * @param value1 value to calulate the distance between\r\n * @param value2 value to calulate the distance between\r\n * @return the distance between the two vectors\r\n */\r\n public static Distance(value1: DeepImmutable, value2: DeepImmutable): number {\r\n return Math.sqrt(Vector4.DistanceSquared(value1, value2));\r\n }\r\n /**\r\n * Returns the squared distance (float) between the vectors \"value1\" and \"value2\".\r\n * @param value1 value to calulate the distance between\r\n * @param value2 value to calulate the distance between\r\n * @return the distance between the two vectors squared\r\n */\r\n public static DistanceSquared(value1: DeepImmutable, value2: DeepImmutable): number {\r\n var x = value1.x - value2.x;\r\n var y = value1.y - value2.y;\r\n var z = value1.z - value2.z;\r\n var w = value1.w - value2.w;\r\n\r\n return (x * x) + (y * y) + (z * z) + (w * w);\r\n }\r\n /**\r\n * Returns a new Vector4 located at the center between the vectors \"value1\" and \"value2\".\r\n * @param value1 value to calulate the center between\r\n * @param value2 value to calulate the center between\r\n * @return the center between the two vectors\r\n */\r\n public static Center(value1: DeepImmutable, value2: DeepImmutable): Vector4 {\r\n var center = value1.add(value2);\r\n center.scaleInPlace(0.5);\r\n return center;\r\n }\r\n\r\n /**\r\n * Returns a new Vector4 set with the result of the normal transformation by the given matrix of the given vector.\r\n * This methods computes transformed normalized direction vectors only.\r\n * @param vector the vector to transform\r\n * @param transformation the transformation matrix to apply\r\n * @returns the new vector\r\n */\r\n public static TransformNormal(vector: DeepImmutable, transformation: DeepImmutable): Vector4 {\r\n var result = Vector4.Zero();\r\n Vector4.TransformNormalToRef(vector, transformation, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Sets the given vector \"result\" with the result of the normal transformation by the given matrix of the given vector.\r\n * This methods computes transformed normalized direction vectors only.\r\n * @param vector the vector to transform\r\n * @param transformation the transformation matrix to apply\r\n * @param result the vector to store the result in\r\n */\r\n public static TransformNormalToRef(vector: DeepImmutable, transformation: DeepImmutable, result: Vector4): void {\r\n const m = transformation.m;\r\n var x = (vector.x * m[0]) + (vector.y * m[4]) + (vector.z * m[8]);\r\n var y = (vector.x * m[1]) + (vector.y * m[5]) + (vector.z * m[9]);\r\n var z = (vector.x * m[2]) + (vector.y * m[6]) + (vector.z * m[10]);\r\n result.x = x;\r\n result.y = y;\r\n result.z = z;\r\n result.w = vector.w;\r\n }\r\n\r\n /**\r\n * Sets the given vector \"result\" with the result of the normal transformation by the given matrix of the given floats (x, y, z, w).\r\n * This methods computes transformed normalized direction vectors only.\r\n * @param x value to transform\r\n * @param y value to transform\r\n * @param z value to transform\r\n * @param w value to transform\r\n * @param transformation the transformation matrix to apply\r\n * @param result the vector to store the results in\r\n */\r\n public static TransformNormalFromFloatsToRef(x: number, y: number, z: number, w: number, transformation: DeepImmutable, result: Vector4): void {\r\n const m = transformation.m;\r\n result.x = (x * m[0]) + (y * m[4]) + (z * m[8]);\r\n result.y = (x * m[1]) + (y * m[5]) + (z * m[9]);\r\n result.z = (x * m[2]) + (y * m[6]) + (z * m[10]);\r\n result.w = w;\r\n }\r\n\r\n /**\r\n * Creates a new Vector4 from a Vector3\r\n * @param source defines the source data\r\n * @param w defines the 4th component (default is 0)\r\n * @returns a new Vector4\r\n */\r\n public static FromVector3(source: Vector3, w: number = 0) {\r\n return new Vector4(source._x, source._y, source._z, w);\r\n }\r\n}\r\n\r\n/**\r\n * Class used to store quaternion data\r\n * @see https://en.wikipedia.org/wiki/Quaternion\r\n * @see https://doc.babylonjs.com/features/position,_rotation,_scaling\r\n */\r\nexport class Quaternion {\r\n /** @hidden */\r\n public _x: number;\r\n\r\n /** @hidden */\r\n public _y: number;\r\n\r\n /** @hidden */\r\n public _z: number;\r\n\r\n /** @hidden */\r\n public _w: number;\r\n\r\n /** @hidden */\r\n public _isDirty = true;\r\n\r\n /** Gets or sets the x coordinate */\r\n public get x() {\r\n return this._x;\r\n }\r\n\r\n public set x(value: number) {\r\n this._x = value;\r\n this._isDirty = true;\r\n }\r\n\r\n /** Gets or sets the y coordinate */\r\n public get y() {\r\n return this._y;\r\n }\r\n\r\n public set y(value: number) {\r\n this._y = value;\r\n this._isDirty = true;\r\n }\r\n\r\n /** Gets or sets the z coordinate */\r\n public get z() {\r\n return this._z;\r\n }\r\n\r\n public set z(value: number) {\r\n this._z = value;\r\n this._isDirty = true;\r\n }\r\n\r\n /** Gets or sets the w coordinate */\r\n public get w() {\r\n return this._w;\r\n }\r\n\r\n public set w(value: number) {\r\n this._w = value;\r\n this._isDirty = true;\r\n }\r\n /**\r\n * Creates a new Quaternion from the given floats\r\n * @param x defines the first component (0 by default)\r\n * @param y defines the second component (0 by default)\r\n * @param z defines the third component (0 by default)\r\n * @param w defines the fourth component (1.0 by default)\r\n */\r\n constructor(\r\n x: number = 0.0,\r\n y: number = 0.0,\r\n z: number = 0.0,\r\n w: number = 1.0) {\r\n this._x = x;\r\n this._y = y;\r\n this._z = z;\r\n this._w = w;\r\n }\r\n\r\n /**\r\n * Gets a string representation for the current quaternion\r\n * @returns a string with the Quaternion coordinates\r\n */\r\n public toString(): string {\r\n return \"{X: \" + this._x + \" Y:\" + this._y + \" Z:\" + this._z + \" W:\" + this._w + \"}\";\r\n }\r\n\r\n /**\r\n * Gets the class name of the quaternion\r\n * @returns the string \"Quaternion\"\r\n */\r\n public getClassName(): string {\r\n return \"Quaternion\";\r\n }\r\n\r\n /**\r\n * Gets a hash code for this quaternion\r\n * @returns the quaternion hash code\r\n */\r\n public getHashCode(): number {\r\n let hash = this._x | 0;\r\n hash = (hash * 397) ^ (this._y | 0);\r\n hash = (hash * 397) ^ (this._z | 0);\r\n hash = (hash * 397) ^ (this._w | 0);\r\n return hash;\r\n }\r\n\r\n /**\r\n * Copy the quaternion to an array\r\n * @returns a new array populated with 4 elements from the quaternion coordinates\r\n */\r\n public asArray(): number[] {\r\n return [this._x, this._y, this._z, this._w];\r\n }\r\n /**\r\n * Check if two quaternions are equals\r\n * @param otherQuaternion defines the second operand\r\n * @return true if the current quaternion and the given one coordinates are strictly equals\r\n */\r\n public equals(otherQuaternion: DeepImmutable): boolean {\r\n return otherQuaternion && this._x === otherQuaternion._x && this._y === otherQuaternion._y && this._z === otherQuaternion._z && this._w === otherQuaternion._w;\r\n }\r\n\r\n /**\r\n * Gets a boolean if two quaternions are equals (using an epsilon value)\r\n * @param otherQuaternion defines the other quaternion\r\n * @param epsilon defines the minimal distance to consider equality\r\n * @returns true if the given quaternion coordinates are close to the current ones by a distance of epsilon.\r\n */\r\n public equalsWithEpsilon(otherQuaternion: DeepImmutable, epsilon: number = Epsilon): boolean {\r\n return otherQuaternion\r\n && Scalar.WithinEpsilon(this._x, otherQuaternion._x, epsilon)\r\n && Scalar.WithinEpsilon(this._y, otherQuaternion._y, epsilon)\r\n && Scalar.WithinEpsilon(this._z, otherQuaternion._z, epsilon)\r\n && Scalar.WithinEpsilon(this._w, otherQuaternion._w, epsilon);\r\n }\r\n\r\n /**\r\n * Clone the current quaternion\r\n * @returns a new quaternion copied from the current one\r\n */\r\n public clone(): Quaternion {\r\n return new Quaternion(this._x, this._y, this._z, this._w);\r\n }\r\n\r\n /**\r\n * Copy a quaternion to the current one\r\n * @param other defines the other quaternion\r\n * @returns the updated current quaternion\r\n */\r\n public copyFrom(other: DeepImmutable): Quaternion {\r\n this.x = other._x;\r\n this.y = other._y;\r\n this.z = other._z;\r\n this.w = other._w;\r\n return this;\r\n }\r\n\r\n /**\r\n * Updates the current quaternion with the given float coordinates\r\n * @param x defines the x coordinate\r\n * @param y defines the y coordinate\r\n * @param z defines the z coordinate\r\n * @param w defines the w coordinate\r\n * @returns the updated current quaternion\r\n */\r\n public copyFromFloats(x: number, y: number, z: number, w: number): Quaternion {\r\n this.x = x;\r\n this.y = y;\r\n this.z = z;\r\n this.w = w;\r\n return this;\r\n }\r\n\r\n /**\r\n * Updates the current quaternion from the given float coordinates\r\n * @param x defines the x coordinate\r\n * @param y defines the y coordinate\r\n * @param z defines the z coordinate\r\n * @param w defines the w coordinate\r\n * @returns the updated current quaternion\r\n */\r\n public set(x: number, y: number, z: number, w: number): Quaternion {\r\n return this.copyFromFloats(x, y, z, w);\r\n }\r\n\r\n /**\r\n * Adds two quaternions\r\n * @param other defines the second operand\r\n * @returns a new quaternion as the addition result of the given one and the current quaternion\r\n */\r\n public add(other: DeepImmutable): Quaternion {\r\n return new Quaternion(this._x + other._x, this._y + other._y, this._z + other._z, this._w + other._w);\r\n }\r\n\r\n /**\r\n * Add a quaternion to the current one\r\n * @param other defines the quaternion to add\r\n * @returns the current quaternion\r\n */\r\n public addInPlace(other: DeepImmutable): Quaternion {\r\n this._x += other._x;\r\n this._y += other._y;\r\n this._z += other._z;\r\n this._w += other._w;\r\n return this;\r\n }\r\n /**\r\n * Subtract two quaternions\r\n * @param other defines the second operand\r\n * @returns a new quaternion as the subtraction result of the given one from the current one\r\n */\r\n public subtract(other: Quaternion): Quaternion {\r\n return new Quaternion(this._x - other._x, this._y - other._y, this._z - other._z, this._w - other._w);\r\n }\r\n\r\n /**\r\n * Multiplies the current quaternion by a scale factor\r\n * @param value defines the scale factor\r\n * @returns a new quaternion set by multiplying the current quaternion coordinates by the float \"scale\"\r\n */\r\n public scale(value: number): Quaternion {\r\n return new Quaternion(this._x * value, this._y * value, this._z * value, this._w * value);\r\n }\r\n\r\n /**\r\n * Scale the current quaternion values by a factor and stores the result to a given quaternion\r\n * @param scale defines the scale factor\r\n * @param result defines the Quaternion object where to store the result\r\n * @returns the unmodified current quaternion\r\n */\r\n public scaleToRef(scale: number, result: Quaternion): Quaternion {\r\n result.x = this._x * scale;\r\n result.y = this._y * scale;\r\n result.z = this._z * scale;\r\n result.w = this._w * scale;\r\n return this;\r\n }\r\n\r\n /**\r\n * Multiplies in place the current quaternion by a scale factor\r\n * @param value defines the scale factor\r\n * @returns the current modified quaternion\r\n */\r\n public scaleInPlace(value: number): Quaternion {\r\n this.x *= value;\r\n this.y *= value;\r\n this.z *= value;\r\n this.w *= value;\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Scale the current quaternion values by a factor and add the result to a given quaternion\r\n * @param scale defines the scale factor\r\n * @param result defines the Quaternion object where to store the result\r\n * @returns the unmodified current quaternion\r\n */\r\n public scaleAndAddToRef(scale: number, result: Quaternion): Quaternion {\r\n result.x += this._x * scale;\r\n result.y += this._y * scale;\r\n result.z += this._z * scale;\r\n result.w += this._w * scale;\r\n return this;\r\n }\r\n\r\n /**\r\n * Multiplies two quaternions\r\n * @param q1 defines the second operand\r\n * @returns a new quaternion set as the multiplication result of the current one with the given one \"q1\"\r\n */\r\n public multiply(q1: DeepImmutable): Quaternion {\r\n var result = new Quaternion(0, 0, 0, 1.0);\r\n this.multiplyToRef(q1, result);\r\n return result;\r\n }\r\n /**\r\n * Sets the given \"result\" as the the multiplication result of the current one with the given one \"q1\"\r\n * @param q1 defines the second operand\r\n * @param result defines the target quaternion\r\n * @returns the current quaternion\r\n */\r\n public multiplyToRef(q1: DeepImmutable, result: Quaternion): Quaternion {\r\n var x = this._x * q1._w + this._y * q1._z - this._z * q1._y + this._w * q1._x;\r\n var y = -this._x * q1._z + this._y * q1._w + this._z * q1._x + this._w * q1._y;\r\n var z = this._x * q1._y - this._y * q1._x + this._z * q1._w + this._w * q1._z;\r\n var w = -this._x * q1._x - this._y * q1._y - this._z * q1._z + this._w * q1._w;\r\n result.copyFromFloats(x, y, z, w);\r\n return this;\r\n }\r\n\r\n /**\r\n * Updates the current quaternion with the multiplication of itself with the given one \"q1\"\r\n * @param q1 defines the second operand\r\n * @returns the currentupdated quaternion\r\n */\r\n public multiplyInPlace(q1: DeepImmutable): Quaternion {\r\n this.multiplyToRef(q1, this);\r\n return this;\r\n }\r\n\r\n /**\r\n * Conjugates (1-q) the current quaternion and stores the result in the given quaternion\r\n * @param ref defines the target quaternion\r\n * @returns the current quaternion\r\n */\r\n public conjugateToRef(ref: Quaternion): Quaternion {\r\n ref.copyFromFloats(-this._x, -this._y, -this._z, this._w);\r\n return this;\r\n }\r\n\r\n /**\r\n * Conjugates in place (1-q) the current quaternion\r\n * @returns the current updated quaternion\r\n */\r\n public conjugateInPlace(): Quaternion {\r\n this.x *= -1;\r\n this.y *= -1;\r\n this.z *= -1;\r\n return this;\r\n }\r\n\r\n /**\r\n * Conjugates in place (1-q) the current quaternion\r\n * @returns a new quaternion\r\n */\r\n public conjugate(): Quaternion {\r\n var result = new Quaternion(-this._x, -this._y, -this._z, this._w);\r\n return result;\r\n }\r\n\r\n /**\r\n * Gets length of current quaternion\r\n * @returns the quaternion length (float)\r\n */\r\n public length(): number {\r\n return Math.sqrt((this._x * this._x) + (this._y * this._y) + (this._z * this._z) + (this._w * this._w));\r\n }\r\n\r\n /**\r\n * Normalize in place the current quaternion\r\n * @returns the current updated quaternion\r\n */\r\n public normalize(): Quaternion {\r\n var len = this.length();\r\n\r\n if (len === 0) {\r\n return this;\r\n }\r\n\r\n var inv = 1.0 / len;\r\n this.x *= inv;\r\n this.y *= inv;\r\n this.z *= inv;\r\n this.w *= inv;\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns a new Vector3 set with the Euler angles translated from the current quaternion\r\n * @param order is a reserved parameter and is ignored for now\r\n * @returns a new Vector3 containing the Euler angles\r\n */\r\n public toEulerAngles(order = \"YZX\"): Vector3 {\r\n var result = Vector3.Zero();\r\n this.toEulerAnglesToRef(result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Sets the given vector3 \"result\" with the Euler angles translated from the current quaternion\r\n * @param result defines the vector which will be filled with the Euler angles\r\n * @returns the current unchanged quaternion\r\n */\r\n public toEulerAnglesToRef(result: Vector3): Quaternion {\r\n\r\n var qz = this._z;\r\n var qx = this._x;\r\n var qy = this._y;\r\n var qw = this._w;\r\n\r\n var sqw = qw * qw;\r\n var sqz = qz * qz;\r\n var sqx = qx * qx;\r\n var sqy = qy * qy;\r\n\r\n var zAxisY = qy * qz - qx * qw;\r\n var limit = .4999999;\r\n\r\n if (zAxisY < -limit) {\r\n result.y = 2 * Math.atan2(qy, qw);\r\n result.x = Math.PI / 2;\r\n result.z = 0;\r\n } else if (zAxisY > limit) {\r\n result.y = 2 * Math.atan2(qy, qw);\r\n result.x = -Math.PI / 2;\r\n result.z = 0;\r\n } else {\r\n result.z = Math.atan2(2.0 * (qx * qy + qz * qw), (-sqz - sqx + sqy + sqw));\r\n result.x = Math.asin(-2.0 * (qz * qy - qx * qw));\r\n result.y = Math.atan2(2.0 * (qz * qx + qy * qw), (sqz - sqx - sqy + sqw));\r\n }\r\n\r\n return this;\r\n\r\n }\r\n\r\n /**\r\n * Updates the given rotation matrix with the current quaternion values\r\n * @param result defines the target matrix\r\n * @returns the current unchanged quaternion\r\n */\r\n public toRotationMatrix(result: Matrix): Quaternion {\r\n Matrix.FromQuaternionToRef(this, result);\r\n return this;\r\n }\r\n\r\n /**\r\n * Updates the current quaternion from the given rotation matrix values\r\n * @param matrix defines the source matrix\r\n * @returns the current updated quaternion\r\n */\r\n public fromRotationMatrix(matrix: DeepImmutable): Quaternion {\r\n Quaternion.FromRotationMatrixToRef(matrix, this);\r\n return this;\r\n }\r\n\r\n // Statics\r\n\r\n /**\r\n * Creates a new quaternion from a rotation matrix\r\n * @param matrix defines the source matrix\r\n * @returns a new quaternion created from the given rotation matrix values\r\n */\r\n public static FromRotationMatrix(matrix: DeepImmutable): Quaternion {\r\n var result = new Quaternion();\r\n Quaternion.FromRotationMatrixToRef(matrix, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Updates the given quaternion with the given rotation matrix values\r\n * @param matrix defines the source matrix\r\n * @param result defines the target quaternion\r\n */\r\n public static FromRotationMatrixToRef(matrix: DeepImmutable, result: Quaternion): void {\r\n var data = matrix.m;\r\n var m11 = data[0], m12 = data[4], m13 = data[8];\r\n var m21 = data[1], m22 = data[5], m23 = data[9];\r\n var m31 = data[2], m32 = data[6], m33 = data[10];\r\n var trace = m11 + m22 + m33;\r\n var s;\r\n\r\n if (trace > 0) {\r\n\r\n s = 0.5 / Math.sqrt(trace + 1.0);\r\n\r\n result.w = 0.25 / s;\r\n result.x = (m32 - m23) * s;\r\n result.y = (m13 - m31) * s;\r\n result.z = (m21 - m12) * s;\r\n } else if (m11 > m22 && m11 > m33) {\r\n\r\n s = 2.0 * Math.sqrt(1.0 + m11 - m22 - m33);\r\n\r\n result.w = (m32 - m23) / s;\r\n result.x = 0.25 * s;\r\n result.y = (m12 + m21) / s;\r\n result.z = (m13 + m31) / s;\r\n } else if (m22 > m33) {\r\n\r\n s = 2.0 * Math.sqrt(1.0 + m22 - m11 - m33);\r\n\r\n result.w = (m13 - m31) / s;\r\n result.x = (m12 + m21) / s;\r\n result.y = 0.25 * s;\r\n result.z = (m23 + m32) / s;\r\n } else {\r\n\r\n s = 2.0 * Math.sqrt(1.0 + m33 - m11 - m22);\r\n\r\n result.w = (m21 - m12) / s;\r\n result.x = (m13 + m31) / s;\r\n result.y = (m23 + m32) / s;\r\n result.z = 0.25 * s;\r\n }\r\n }\r\n\r\n /**\r\n * Returns the dot product (float) between the quaternions \"left\" and \"right\"\r\n * @param left defines the left operand\r\n * @param right defines the right operand\r\n * @returns the dot product\r\n */\r\n public static Dot(left: DeepImmutable, right: DeepImmutable): number {\r\n return (left._x * right._x + left._y * right._y + left._z * right._z + left._w * right._w);\r\n }\r\n\r\n /**\r\n * Checks if the two quaternions are close to each other\r\n * @param quat0 defines the first quaternion to check\r\n * @param quat1 defines the second quaternion to check\r\n * @returns true if the two quaternions are close to each other\r\n */\r\n public static AreClose(quat0: DeepImmutable, quat1: DeepImmutable): boolean {\r\n let dot = Quaternion.Dot(quat0, quat1);\r\n\r\n return dot >= 0;\r\n }\r\n\r\n /**\r\n * Creates an empty quaternion\r\n * @returns a new quaternion set to (0.0, 0.0, 0.0)\r\n */\r\n public static Zero(): Quaternion {\r\n return new Quaternion(0.0, 0.0, 0.0, 0.0);\r\n }\r\n\r\n /**\r\n * Inverse a given quaternion\r\n * @param q defines the source quaternion\r\n * @returns a new quaternion as the inverted current quaternion\r\n */\r\n public static Inverse(q: DeepImmutable): Quaternion {\r\n return new Quaternion(-q._x, -q._y, -q._z, q._w);\r\n }\r\n\r\n /**\r\n * Inverse a given quaternion\r\n * @param q defines the source quaternion\r\n * @param result the quaternion the result will be stored in\r\n * @returns the result quaternion\r\n */\r\n public static InverseToRef(q: Quaternion, result: Quaternion): Quaternion {\r\n result.set(-q._x, -q._y, -q._z, q._w);\r\n return result;\r\n }\r\n\r\n /**\r\n * Creates an identity quaternion\r\n * @returns the identity quaternion\r\n */\r\n public static Identity(): Quaternion {\r\n return new Quaternion(0.0, 0.0, 0.0, 1.0);\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if the given quaternion is identity\r\n * @param quaternion defines the quaternion to check\r\n * @returns true if the quaternion is identity\r\n */\r\n public static IsIdentity(quaternion: DeepImmutable): boolean {\r\n return quaternion && quaternion._x === 0 && quaternion._y === 0 && quaternion._z === 0 && quaternion._w === 1;\r\n }\r\n\r\n /**\r\n * Creates a quaternion from a rotation around an axis\r\n * @param axis defines the axis to use\r\n * @param angle defines the angle to use\r\n * @returns a new quaternion created from the given axis (Vector3) and angle in radians (float)\r\n */\r\n public static RotationAxis(axis: DeepImmutable, angle: number): Quaternion {\r\n return Quaternion.RotationAxisToRef(axis, angle, new Quaternion());\r\n }\r\n\r\n /**\r\n * Creates a rotation around an axis and stores it into the given quaternion\r\n * @param axis defines the axis to use\r\n * @param angle defines the angle to use\r\n * @param result defines the target quaternion\r\n * @returns the target quaternion\r\n */\r\n public static RotationAxisToRef(axis: DeepImmutable, angle: number, result: Quaternion): Quaternion {\r\n var sin = Math.sin(angle / 2);\r\n axis.normalize();\r\n result.w = Math.cos(angle / 2);\r\n result.x = axis._x * sin;\r\n result.y = axis._y * sin;\r\n result.z = axis._z * sin;\r\n return result;\r\n }\r\n\r\n /**\r\n * Creates a new quaternion from data stored into an array\r\n * @param array defines the data source\r\n * @param offset defines the offset in the source array where the data starts\r\n * @returns a new quaternion\r\n */\r\n public static FromArray(array: DeepImmutable>, offset?: number): Quaternion {\r\n if (!offset) {\r\n offset = 0;\r\n }\r\n return new Quaternion(array[offset], array[offset + 1], array[offset + 2], array[offset + 3]);\r\n }\r\n\r\n /**\r\n * Updates the given quaternion \"result\" from the starting index of the given array.\r\n * @param array the array to pull values from\r\n * @param offset the offset into the array to start at\r\n * @param result the quaternion to store the result in\r\n */\r\n public static FromArrayToRef(array: DeepImmutable>, offset: number, result: Quaternion): void {\r\n result.x = array[offset];\r\n result.y = array[offset + 1];\r\n result.z = array[offset + 2];\r\n result.w = array[offset + 3];\r\n }\r\n\r\n /**\r\n * Create a quaternion from Euler rotation angles\r\n * @param x Pitch\r\n * @param y Yaw\r\n * @param z Roll\r\n * @returns the new Quaternion\r\n */\r\n public static FromEulerAngles(x: number, y: number, z: number): Quaternion {\r\n var q = new Quaternion();\r\n Quaternion.RotationYawPitchRollToRef(y, x, z, q);\r\n return q;\r\n }\r\n\r\n /**\r\n * Updates a quaternion from Euler rotation angles\r\n * @param x Pitch\r\n * @param y Yaw\r\n * @param z Roll\r\n * @param result the quaternion to store the result\r\n * @returns the updated quaternion\r\n */\r\n public static FromEulerAnglesToRef(x: number, y: number, z: number, result: Quaternion): Quaternion {\r\n Quaternion.RotationYawPitchRollToRef(y, x, z, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Create a quaternion from Euler rotation vector\r\n * @param vec the Euler vector (x Pitch, y Yaw, z Roll)\r\n * @returns the new Quaternion\r\n */\r\n public static FromEulerVector(vec: DeepImmutable): Quaternion {\r\n var q = new Quaternion();\r\n Quaternion.RotationYawPitchRollToRef(vec._y, vec._x, vec._z, q);\r\n return q;\r\n }\r\n\r\n /**\r\n * Updates a quaternion from Euler rotation vector\r\n * @param vec the Euler vector (x Pitch, y Yaw, z Roll)\r\n * @param result the quaternion to store the result\r\n * @returns the updated quaternion\r\n */\r\n public static FromEulerVectorToRef(vec: DeepImmutable, result: Quaternion): Quaternion {\r\n Quaternion.RotationYawPitchRollToRef(vec._y, vec._x, vec._z, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Creates a new quaternion from the given Euler float angles (y, x, z)\r\n * @param yaw defines the rotation around Y axis\r\n * @param pitch defines the rotation around X axis\r\n * @param roll defines the rotation around Z axis\r\n * @returns the new quaternion\r\n */\r\n public static RotationYawPitchRoll(yaw: number, pitch: number, roll: number): Quaternion {\r\n var q = new Quaternion();\r\n Quaternion.RotationYawPitchRollToRef(yaw, pitch, roll, q);\r\n return q;\r\n }\r\n\r\n /**\r\n * Creates a new rotation from the given Euler float angles (y, x, z) and stores it in the target quaternion\r\n * @param yaw defines the rotation around Y axis\r\n * @param pitch defines the rotation around X axis\r\n * @param roll defines the rotation around Z axis\r\n * @param result defines the target quaternion\r\n */\r\n public static RotationYawPitchRollToRef(yaw: number, pitch: number, roll: number, result: Quaternion): void {\r\n // Produces a quaternion from Euler angles in the z-y-x orientation (Tait-Bryan angles)\r\n var halfRoll = roll * 0.5;\r\n var halfPitch = pitch * 0.5;\r\n var halfYaw = yaw * 0.5;\r\n\r\n var sinRoll = Math.sin(halfRoll);\r\n var cosRoll = Math.cos(halfRoll);\r\n var sinPitch = Math.sin(halfPitch);\r\n var cosPitch = Math.cos(halfPitch);\r\n var sinYaw = Math.sin(halfYaw);\r\n var cosYaw = Math.cos(halfYaw);\r\n\r\n result.x = (cosYaw * sinPitch * cosRoll) + (sinYaw * cosPitch * sinRoll);\r\n result.y = (sinYaw * cosPitch * cosRoll) - (cosYaw * sinPitch * sinRoll);\r\n result.z = (cosYaw * cosPitch * sinRoll) - (sinYaw * sinPitch * cosRoll);\r\n result.w = (cosYaw * cosPitch * cosRoll) + (sinYaw * sinPitch * sinRoll);\r\n }\r\n\r\n /**\r\n * Creates a new quaternion from the given Euler float angles expressed in z-x-z orientation\r\n * @param alpha defines the rotation around first axis\r\n * @param beta defines the rotation around second axis\r\n * @param gamma defines the rotation around third axis\r\n * @returns the new quaternion\r\n */\r\n public static RotationAlphaBetaGamma(alpha: number, beta: number, gamma: number): Quaternion {\r\n var result = new Quaternion();\r\n Quaternion.RotationAlphaBetaGammaToRef(alpha, beta, gamma, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Creates a new quaternion from the given Euler float angles expressed in z-x-z orientation and stores it in the target quaternion\r\n * @param alpha defines the rotation around first axis\r\n * @param beta defines the rotation around second axis\r\n * @param gamma defines the rotation around third axis\r\n * @param result defines the target quaternion\r\n */\r\n public static RotationAlphaBetaGammaToRef(alpha: number, beta: number, gamma: number, result: Quaternion): void {\r\n // Produces a quaternion from Euler angles in the z-x-z orientation\r\n var halfGammaPlusAlpha = (gamma + alpha) * 0.5;\r\n var halfGammaMinusAlpha = (gamma - alpha) * 0.5;\r\n var halfBeta = beta * 0.5;\r\n\r\n result.x = Math.cos(halfGammaMinusAlpha) * Math.sin(halfBeta);\r\n result.y = Math.sin(halfGammaMinusAlpha) * Math.sin(halfBeta);\r\n result.z = Math.sin(halfGammaPlusAlpha) * Math.cos(halfBeta);\r\n result.w = Math.cos(halfGammaPlusAlpha) * Math.cos(halfBeta);\r\n }\r\n\r\n /**\r\n * Creates a new quaternion containing the rotation value to reach the target (axis1, axis2, axis3) orientation as a rotated XYZ system (axis1, axis2 and axis3 are normalized during this operation)\r\n * @param axis1 defines the first axis\r\n * @param axis2 defines the second axis\r\n * @param axis3 defines the third axis\r\n * @returns the new quaternion\r\n */\r\n public static RotationQuaternionFromAxis(axis1: DeepImmutable, axis2: DeepImmutable, axis3: DeepImmutable): Quaternion {\r\n var quat = new Quaternion(0.0, 0.0, 0.0, 0.0);\r\n Quaternion.RotationQuaternionFromAxisToRef(axis1, axis2, axis3, quat);\r\n return quat;\r\n }\r\n\r\n /**\r\n * Creates a rotation value to reach the target (axis1, axis2, axis3) orientation as a rotated XYZ system (axis1, axis2 and axis3 are normalized during this operation) and stores it in the target quaternion\r\n * @param axis1 defines the first axis\r\n * @param axis2 defines the second axis\r\n * @param axis3 defines the third axis\r\n * @param ref defines the target quaternion\r\n */\r\n public static RotationQuaternionFromAxisToRef(axis1: DeepImmutable, axis2: DeepImmutable, axis3: DeepImmutable, ref: Quaternion): void {\r\n var rotMat = MathTmp.Matrix[0];\r\n Matrix.FromXYZAxesToRef(axis1.normalize(), axis2.normalize(), axis3.normalize(), rotMat);\r\n Quaternion.FromRotationMatrixToRef(rotMat, ref);\r\n }\r\n\r\n /**\r\n * Interpolates between two quaternions\r\n * @param left defines first quaternion\r\n * @param right defines second quaternion\r\n * @param amount defines the gradient to use\r\n * @returns the new interpolated quaternion\r\n */\r\n public static Slerp(left: DeepImmutable, right: DeepImmutable, amount: number): Quaternion {\r\n var result = Quaternion.Identity();\r\n\r\n Quaternion.SlerpToRef(left, right, amount, result);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Interpolates between two quaternions and stores it into a target quaternion\r\n * @param left defines first quaternion\r\n * @param right defines second quaternion\r\n * @param amount defines the gradient to use\r\n * @param result defines the target quaternion\r\n */\r\n public static SlerpToRef(left: DeepImmutable, right: DeepImmutable, amount: number, result: Quaternion): void {\r\n var num2;\r\n var num3;\r\n var num4 = (((left._x * right._x) + (left._y * right._y)) + (left._z * right._z)) + (left._w * right._w);\r\n var flag = false;\r\n\r\n if (num4 < 0) {\r\n flag = true;\r\n num4 = -num4;\r\n }\r\n\r\n if (num4 > 0.999999) {\r\n num3 = 1 - amount;\r\n num2 = flag ? -amount : amount;\r\n }\r\n else {\r\n var num5 = Math.acos(num4);\r\n var num6 = (1.0 / Math.sin(num5));\r\n num3 = (Math.sin((1.0 - amount) * num5)) * num6;\r\n num2 = flag ? ((-Math.sin(amount * num5)) * num6) : ((Math.sin(amount * num5)) * num6);\r\n }\r\n\r\n result.x = (num3 * left._x) + (num2 * right._x);\r\n result.y = (num3 * left._y) + (num2 * right._y);\r\n result.z = (num3 * left._z) + (num2 * right._z);\r\n result.w = (num3 * left._w) + (num2 * right._w);\r\n }\r\n\r\n /**\r\n * Interpolate between two quaternions using Hermite interpolation\r\n * @param value1 defines first quaternion\r\n * @param tangent1 defines the incoming tangent\r\n * @param value2 defines second quaternion\r\n * @param tangent2 defines the outgoing tangent\r\n * @param amount defines the target quaternion\r\n * @returns the new interpolated quaternion\r\n */\r\n public static Hermite(value1: DeepImmutable, tangent1: DeepImmutable, value2: DeepImmutable, tangent2: DeepImmutable, amount: number): Quaternion {\r\n var squared = amount * amount;\r\n var cubed = amount * squared;\r\n var part1 = ((2.0 * cubed) - (3.0 * squared)) + 1.0;\r\n var part2 = (-2.0 * cubed) + (3.0 * squared);\r\n var part3 = (cubed - (2.0 * squared)) + amount;\r\n var part4 = cubed - squared;\r\n\r\n var x = (((value1._x * part1) + (value2._x * part2)) + (tangent1._x * part3)) + (tangent2._x * part4);\r\n var y = (((value1._y * part1) + (value2._y * part2)) + (tangent1._y * part3)) + (tangent2._y * part4);\r\n var z = (((value1._z * part1) + (value2._z * part2)) + (tangent1._z * part3)) + (tangent2._z * part4);\r\n var w = (((value1._w * part1) + (value2._w * part2)) + (tangent1._w * part3)) + (tangent2._w * part4);\r\n return new Quaternion(x, y, z, w);\r\n }\r\n}\r\n\r\n/**\r\n * Class used to store matrix data (4x4)\r\n */\r\nexport class Matrix {\r\n\r\n /**\r\n * Gets the precision of matrix computations\r\n */\r\n public static get Use64Bits(): boolean {\r\n return PerformanceConfigurator.MatrixUse64Bits;\r\n }\r\n\r\n private static _updateFlagSeed = 0;\r\n private static _identityReadOnly = Matrix.Identity() as DeepImmutable;\r\n\r\n private _isIdentity = false;\r\n private _isIdentityDirty = true;\r\n private _isIdentity3x2 = true;\r\n private _isIdentity3x2Dirty = true;\r\n /**\r\n * Gets the update flag of the matrix which is an unique number for the matrix.\r\n * It will be incremented every time the matrix data change.\r\n * You can use it to speed the comparison between two versions of the same matrix.\r\n */\r\n public updateFlag: number = -1;\r\n\r\n private readonly _m: Float32Array | Array;\r\n\r\n /**\r\n * Gets the internal data of the matrix\r\n */\r\n public get m(): DeepImmutable> { return this._m; }\r\n\r\n /** @hidden */\r\n public _markAsUpdated() {\r\n this.updateFlag = Matrix._updateFlagSeed++;\r\n this._isIdentity = false;\r\n this._isIdentity3x2 = false;\r\n this._isIdentityDirty = true;\r\n this._isIdentity3x2Dirty = true;\r\n }\r\n\r\n /** @hidden */\r\n private _updateIdentityStatus(isIdentity: boolean, isIdentityDirty: boolean = false, isIdentity3x2: boolean = false, isIdentity3x2Dirty: boolean = true) {\r\n this.updateFlag = Matrix._updateFlagSeed++;\r\n this._isIdentity = isIdentity;\r\n this._isIdentity3x2 = isIdentity || isIdentity3x2;\r\n this._isIdentityDirty = this._isIdentity ? false : isIdentityDirty;\r\n this._isIdentity3x2Dirty = this._isIdentity3x2 ? false : isIdentity3x2Dirty;\r\n }\r\n\r\n /**\r\n * Creates an empty matrix (filled with zeros)\r\n */\r\n public constructor() {\r\n if (PerformanceConfigurator.MatrixTrackPrecisionChange) {\r\n PerformanceConfigurator.MatrixTrackedMatrices!.push(this);\r\n }\r\n\r\n this._m = new PerformanceConfigurator.MatrixCurrentType(16);\r\n this._updateIdentityStatus(false);\r\n }\r\n\r\n // Properties\r\n\r\n /**\r\n * Check if the current matrix is identity\r\n * @returns true is the matrix is the identity matrix\r\n */\r\n public isIdentity(): boolean {\r\n if (this._isIdentityDirty) {\r\n this._isIdentityDirty = false;\r\n const m = this._m;\r\n this._isIdentity = (\r\n m[0] === 1.0 && m[1] === 0.0 && m[2] === 0.0 && m[3] === 0.0 &&\r\n m[4] === 0.0 && m[5] === 1.0 && m[6] === 0.0 && m[7] === 0.0 &&\r\n m[8] === 0.0 && m[9] === 0.0 && m[10] === 1.0 && m[11] === 0.0 &&\r\n m[12] === 0.0 && m[13] === 0.0 && m[14] === 0.0 && m[15] === 1.0\r\n );\r\n }\r\n\r\n return this._isIdentity;\r\n }\r\n\r\n /**\r\n * Check if the current matrix is identity as a texture matrix (3x2 store in 4x4)\r\n * @returns true is the matrix is the identity matrix\r\n */\r\n public isIdentityAs3x2(): boolean {\r\n if (this._isIdentity3x2Dirty) {\r\n this._isIdentity3x2Dirty = false;\r\n if (this._m[0] !== 1.0 || this._m[5] !== 1.0 || this._m[15] !== 1.0) {\r\n this._isIdentity3x2 = false;\r\n } else if (this._m[1] !== 0.0 || this._m[2] !== 0.0 || this._m[3] !== 0.0 ||\r\n this._m[4] !== 0.0 || this._m[6] !== 0.0 || this._m[7] !== 0.0 ||\r\n this._m[8] !== 0.0 || this._m[9] !== 0.0 || this._m[10] !== 0.0 || this._m[11] !== 0.0 ||\r\n this._m[12] !== 0.0 || this._m[13] !== 0.0 || this._m[14] !== 0.0) {\r\n this._isIdentity3x2 = false;\r\n } else {\r\n this._isIdentity3x2 = true;\r\n }\r\n }\r\n\r\n return this._isIdentity3x2;\r\n }\r\n\r\n /**\r\n * Gets the determinant of the matrix\r\n * @returns the matrix determinant\r\n */\r\n public determinant(): number {\r\n if (this._isIdentity === true) {\r\n return 1;\r\n }\r\n\r\n const m = this._m;\r\n const m00 = m[0], m01 = m[1], m02 = m[2], m03 = m[3];\r\n const m10 = m[4], m11 = m[5], m12 = m[6], m13 = m[7];\r\n const m20 = m[8], m21 = m[9], m22 = m[10], m23 = m[11];\r\n const m30 = m[12], m31 = m[13], m32 = m[14], m33 = m[15];\r\n // https://en.wikipedia.org/wiki/Laplace_expansion\r\n // to compute the deterrminant of a 4x4 Matrix we compute the cofactors of any row or column,\r\n // then we multiply each Cofactor by its corresponding matrix value and sum them all to get the determinant\r\n // Cofactor(i, j) = sign(i,j) * det(Minor(i, j))\r\n // where\r\n // - sign(i,j) = (i+j) % 2 === 0 ? 1 : -1\r\n // - Minor(i, j) is the 3x3 matrix we get by removing row i and column j from current Matrix\r\n //\r\n // Here we do that for the 1st row.\r\n\r\n const det_22_33 = m22 * m33 - m32 * m23;\r\n const det_21_33 = m21 * m33 - m31 * m23;\r\n const det_21_32 = m21 * m32 - m31 * m22;\r\n const det_20_33 = m20 * m33 - m30 * m23;\r\n const det_20_32 = m20 * m32 - m22 * m30;\r\n const det_20_31 = m20 * m31 - m30 * m21;\r\n const cofact_00 = +(m11 * det_22_33 - m12 * det_21_33 + m13 * det_21_32);\r\n const cofact_01 = -(m10 * det_22_33 - m12 * det_20_33 + m13 * det_20_32);\r\n const cofact_02 = +(m10 * det_21_33 - m11 * det_20_33 + m13 * det_20_31);\r\n const cofact_03 = -(m10 * det_21_32 - m11 * det_20_32 + m12 * det_20_31);\r\n return m00 * cofact_00 + m01 * cofact_01 + m02 * cofact_02 + m03 * cofact_03;\r\n }\r\n\r\n // Methods\r\n\r\n /**\r\n * Returns the matrix as a Float32Array or Array\r\n * @returns the matrix underlying array\r\n */\r\n public toArray(): DeepImmutable> {\r\n return this._m;\r\n }\r\n /**\r\n * Returns the matrix as a Float32Array or Array\r\n * @returns the matrix underlying array.\r\n */\r\n public asArray(): DeepImmutable> {\r\n return this._m;\r\n }\r\n\r\n /**\r\n * Inverts the current matrix in place\r\n * @returns the current inverted matrix\r\n */\r\n public invert(): Matrix {\r\n this.invertToRef(this);\r\n return this;\r\n }\r\n /**\r\n * Sets all the matrix elements to zero\r\n * @returns the current matrix\r\n */\r\n public reset(): Matrix {\r\n Matrix.FromValuesToRef(\r\n 0.0, 0.0, 0.0, 0.0,\r\n 0.0, 0.0, 0.0, 0.0,\r\n 0.0, 0.0, 0.0, 0.0,\r\n 0.0, 0.0, 0.0, 0.0,\r\n this\r\n );\r\n this._updateIdentityStatus(false);\r\n return this;\r\n }\r\n\r\n /**\r\n * Adds the current matrix with a second one\r\n * @param other defines the matrix to add\r\n * @returns a new matrix as the addition of the current matrix and the given one\r\n */\r\n public add(other: DeepImmutable): Matrix {\r\n var result = new Matrix();\r\n this.addToRef(other, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Sets the given matrix \"result\" to the addition of the current matrix and the given one\r\n * @param other defines the matrix to add\r\n * @param result defines the target matrix\r\n * @returns the current matrix\r\n */\r\n public addToRef(other: DeepImmutable, result: Matrix): Matrix {\r\n const m = this._m;\r\n const resultM = result._m;\r\n const otherM = other.m;\r\n for (var index = 0; index < 16; index++) {\r\n resultM[index] = m[index] + otherM[index];\r\n }\r\n result._markAsUpdated();\r\n return this;\r\n }\r\n\r\n /**\r\n * Adds in place the given matrix to the current matrix\r\n * @param other defines the second operand\r\n * @returns the current updated matrix\r\n */\r\n public addToSelf(other: DeepImmutable): Matrix {\r\n const m = this._m;\r\n const otherM = other.m;\r\n for (var index = 0; index < 16; index++) {\r\n m[index] += otherM[index];\r\n }\r\n this._markAsUpdated();\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets the given matrix to the current inverted Matrix\r\n * @param other defines the target matrix\r\n * @returns the unmodified current matrix\r\n */\r\n public invertToRef(other: Matrix): Matrix {\r\n if (this._isIdentity === true) {\r\n Matrix.IdentityToRef(other);\r\n return this;\r\n }\r\n\r\n // the inverse of a Matrix is the transpose of cofactor matrix divided by the determinant\r\n const m = this._m;\r\n const m00 = m[0], m01 = m[1], m02 = m[2], m03 = m[3];\r\n const m10 = m[4], m11 = m[5], m12 = m[6], m13 = m[7];\r\n const m20 = m[8], m21 = m[9], m22 = m[10], m23 = m[11];\r\n const m30 = m[12], m31 = m[13], m32 = m[14], m33 = m[15];\r\n\r\n const det_22_33 = m22 * m33 - m32 * m23;\r\n const det_21_33 = m21 * m33 - m31 * m23;\r\n const det_21_32 = m21 * m32 - m31 * m22;\r\n const det_20_33 = m20 * m33 - m30 * m23;\r\n const det_20_32 = m20 * m32 - m22 * m30;\r\n const det_20_31 = m20 * m31 - m30 * m21;\r\n\r\n const cofact_00 = +(m11 * det_22_33 - m12 * det_21_33 + m13 * det_21_32);\r\n const cofact_01 = -(m10 * det_22_33 - m12 * det_20_33 + m13 * det_20_32);\r\n const cofact_02 = +(m10 * det_21_33 - m11 * det_20_33 + m13 * det_20_31);\r\n const cofact_03 = -(m10 * det_21_32 - m11 * det_20_32 + m12 * det_20_31);\r\n\r\n const det = m00 * cofact_00 + m01 * cofact_01 + m02 * cofact_02 + m03 * cofact_03;\r\n\r\n if (det === 0) {\r\n // not invertible\r\n other.copyFrom(this);\r\n return this;\r\n }\r\n\r\n const detInv = 1 / det;\r\n const det_12_33 = m12 * m33 - m32 * m13;\r\n const det_11_33 = m11 * m33 - m31 * m13;\r\n const det_11_32 = m11 * m32 - m31 * m12;\r\n const det_10_33 = m10 * m33 - m30 * m13;\r\n const det_10_32 = m10 * m32 - m30 * m12;\r\n const det_10_31 = m10 * m31 - m30 * m11;\r\n const det_12_23 = m12 * m23 - m22 * m13;\r\n const det_11_23 = m11 * m23 - m21 * m13;\r\n const det_11_22 = m11 * m22 - m21 * m12;\r\n const det_10_23 = m10 * m23 - m20 * m13;\r\n const det_10_22 = m10 * m22 - m20 * m12;\r\n const det_10_21 = m10 * m21 - m20 * m11;\r\n\r\n const cofact_10 = -(m01 * det_22_33 - m02 * det_21_33 + m03 * det_21_32);\r\n const cofact_11 = +(m00 * det_22_33 - m02 * det_20_33 + m03 * det_20_32);\r\n const cofact_12 = -(m00 * det_21_33 - m01 * det_20_33 + m03 * det_20_31);\r\n const cofact_13 = +(m00 * det_21_32 - m01 * det_20_32 + m02 * det_20_31);\r\n\r\n const cofact_20 = +(m01 * det_12_33 - m02 * det_11_33 + m03 * det_11_32);\r\n const cofact_21 = -(m00 * det_12_33 - m02 * det_10_33 + m03 * det_10_32);\r\n const cofact_22 = +(m00 * det_11_33 - m01 * det_10_33 + m03 * det_10_31);\r\n const cofact_23 = -(m00 * det_11_32 - m01 * det_10_32 + m02 * det_10_31);\r\n\r\n const cofact_30 = -(m01 * det_12_23 - m02 * det_11_23 + m03 * det_11_22);\r\n const cofact_31 = +(m00 * det_12_23 - m02 * det_10_23 + m03 * det_10_22);\r\n const cofact_32 = -(m00 * det_11_23 - m01 * det_10_23 + m03 * det_10_21);\r\n const cofact_33 = +(m00 * det_11_22 - m01 * det_10_22 + m02 * det_10_21);\r\n\r\n Matrix.FromValuesToRef(\r\n cofact_00 * detInv, cofact_10 * detInv, cofact_20 * detInv, cofact_30 * detInv,\r\n cofact_01 * detInv, cofact_11 * detInv, cofact_21 * detInv, cofact_31 * detInv,\r\n cofact_02 * detInv, cofact_12 * detInv, cofact_22 * detInv, cofact_32 * detInv,\r\n cofact_03 * detInv, cofact_13 * detInv, cofact_23 * detInv, cofact_33 * detInv,\r\n other\r\n );\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * add a value at the specified position in the current Matrix\r\n * @param index the index of the value within the matrix. between 0 and 15.\r\n * @param value the value to be added\r\n * @returns the current updated matrix\r\n */\r\n public addAtIndex(index: number, value: number): Matrix {\r\n this._m[index] += value;\r\n this._markAsUpdated();\r\n return this;\r\n }\r\n\r\n /**\r\n * mutiply the specified position in the current Matrix by a value\r\n * @param index the index of the value within the matrix. between 0 and 15.\r\n * @param value the value to be added\r\n * @returns the current updated matrix\r\n */\r\n public multiplyAtIndex(index: number, value: number): Matrix {\r\n this._m[index] *= value;\r\n this._markAsUpdated();\r\n return this;\r\n }\r\n\r\n /**\r\n * Inserts the translation vector (using 3 floats) in the current matrix\r\n * @param x defines the 1st component of the translation\r\n * @param y defines the 2nd component of the translation\r\n * @param z defines the 3rd component of the translation\r\n * @returns the current updated matrix\r\n */\r\n public setTranslationFromFloats(x: number, y: number, z: number): Matrix {\r\n this._m[12] = x;\r\n this._m[13] = y;\r\n this._m[14] = z;\r\n this._markAsUpdated();\r\n return this;\r\n }\r\n\r\n /**\r\n * Adds the translation vector (using 3 floats) in the current matrix\r\n * @param x defines the 1st component of the translation\r\n * @param y defines the 2nd component of the translation\r\n * @param z defines the 3rd component of the translation\r\n * @returns the current updated matrix\r\n */\r\n public addTranslationFromFloats(x: number, y: number, z: number): Matrix {\r\n this._m[12] += x;\r\n this._m[13] += y;\r\n this._m[14] += z;\r\n this._markAsUpdated();\r\n return this;\r\n }\r\n\r\n /**\r\n * Inserts the translation vector in the current matrix\r\n * @param vector3 defines the translation to insert\r\n * @returns the current updated matrix\r\n */\r\n public setTranslation(vector3: DeepImmutable): Matrix {\r\n return this.setTranslationFromFloats(vector3._x, vector3._y, vector3._z);\r\n }\r\n\r\n /**\r\n * Gets the translation value of the current matrix\r\n * @returns a new Vector3 as the extracted translation from the matrix\r\n */\r\n public getTranslation(): Vector3 {\r\n return new Vector3(this._m[12], this._m[13], this._m[14]);\r\n }\r\n\r\n /**\r\n * Fill a Vector3 with the extracted translation from the matrix\r\n * @param result defines the Vector3 where to store the translation\r\n * @returns the current matrix\r\n */\r\n public getTranslationToRef(result: Vector3): Matrix {\r\n result.x = this._m[12];\r\n result.y = this._m[13];\r\n result.z = this._m[14];\r\n return this;\r\n }\r\n\r\n /**\r\n * Remove rotation and scaling part from the matrix\r\n * @returns the updated matrix\r\n */\r\n public removeRotationAndScaling(): Matrix {\r\n const m = this.m;\r\n Matrix.FromValuesToRef(\r\n 1.0, 0.0, 0.0, 0.0,\r\n 0.0, 1.0, 0.0, 0.0,\r\n 0.0, 0.0, 1.0, 0.0,\r\n m[12], m[13], m[14], m[15],\r\n this\r\n );\r\n this._updateIdentityStatus(m[12] === 0 && m[13] === 0 && m[14] === 0 && m[15] === 1);\r\n return this;\r\n }\r\n\r\n /**\r\n * Multiply two matrices\r\n * @param other defines the second operand\r\n * @returns a new matrix set with the multiplication result of the current Matrix and the given one\r\n */\r\n public multiply(other: DeepImmutable): Matrix {\r\n var result = new Matrix();\r\n this.multiplyToRef(other, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Copy the current matrix from the given one\r\n * @param other defines the source matrix\r\n * @returns the current updated matrix\r\n */\r\n public copyFrom(other: DeepImmutable): Matrix {\r\n other.copyToArray(this._m);\r\n const o = (other as Matrix);\r\n this._updateIdentityStatus(o._isIdentity, o._isIdentityDirty, o._isIdentity3x2, o._isIdentity3x2Dirty);\r\n return this;\r\n }\r\n\r\n /**\r\n * Populates the given array from the starting index with the current matrix values\r\n * @param array defines the target array\r\n * @param offset defines the offset in the target array where to start storing values\r\n * @returns the current matrix\r\n */\r\n public copyToArray(array: Float32Array | Array, offset: number = 0): Matrix {\r\n let source = this._m;\r\n array[offset] = source[0];\r\n array[offset + 1] = source[1];\r\n array[offset + 2] = source[2];\r\n array[offset + 3] = source[3];\r\n array[offset + 4] = source[4];\r\n array[offset + 5] = source[5];\r\n array[offset + 6] = source[6];\r\n array[offset + 7] = source[7];\r\n array[offset + 8] = source[8];\r\n array[offset + 9] = source[9];\r\n array[offset + 10] = source[10];\r\n array[offset + 11] = source[11];\r\n array[offset + 12] = source[12];\r\n array[offset + 13] = source[13];\r\n array[offset + 14] = source[14];\r\n array[offset + 15] = source[15];\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets the given matrix \"result\" with the multiplication result of the current Matrix and the given one\r\n * @param other defines the second operand\r\n * @param result defines the matrix where to store the multiplication\r\n * @returns the current matrix\r\n */\r\n public multiplyToRef(other: DeepImmutable, result: Matrix): Matrix {\r\n if (this._isIdentity) {\r\n result.copyFrom(other);\r\n return this;\r\n }\r\n if ((other as Matrix)._isIdentity) {\r\n result.copyFrom(this);\r\n return this;\r\n }\r\n\r\n this.multiplyToArray(other, result._m, 0);\r\n result._markAsUpdated();\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets the Float32Array \"result\" from the given index \"offset\" with the multiplication of the current matrix and the given one\r\n * @param other defines the second operand\r\n * @param result defines the array where to store the multiplication\r\n * @param offset defines the offset in the target array where to start storing values\r\n * @returns the current matrix\r\n */\r\n public multiplyToArray(other: DeepImmutable, result: Float32Array | Array, offset: number): Matrix {\r\n const m = this._m;\r\n const otherM = other.m;\r\n var tm0 = m[0], tm1 = m[1], tm2 = m[2], tm3 = m[3];\r\n var tm4 = m[4], tm5 = m[5], tm6 = m[6], tm7 = m[7];\r\n var tm8 = m[8], tm9 = m[9], tm10 = m[10], tm11 = m[11];\r\n var tm12 = m[12], tm13 = m[13], tm14 = m[14], tm15 = m[15];\r\n\r\n var om0 = otherM[0], om1 = otherM[1], om2 = otherM[2], om3 = otherM[3];\r\n var om4 = otherM[4], om5 = otherM[5], om6 = otherM[6], om7 = otherM[7];\r\n var om8 = otherM[8], om9 = otherM[9], om10 = otherM[10], om11 = otherM[11];\r\n var om12 = otherM[12], om13 = otherM[13], om14 = otherM[14], om15 = otherM[15];\r\n\r\n result[offset] = tm0 * om0 + tm1 * om4 + tm2 * om8 + tm3 * om12;\r\n result[offset + 1] = tm0 * om1 + tm1 * om5 + tm2 * om9 + tm3 * om13;\r\n result[offset + 2] = tm0 * om2 + tm1 * om6 + tm2 * om10 + tm3 * om14;\r\n result[offset + 3] = tm0 * om3 + tm1 * om7 + tm2 * om11 + tm3 * om15;\r\n\r\n result[offset + 4] = tm4 * om0 + tm5 * om4 + tm6 * om8 + tm7 * om12;\r\n result[offset + 5] = tm4 * om1 + tm5 * om5 + tm6 * om9 + tm7 * om13;\r\n result[offset + 6] = tm4 * om2 + tm5 * om6 + tm6 * om10 + tm7 * om14;\r\n result[offset + 7] = tm4 * om3 + tm5 * om7 + tm6 * om11 + tm7 * om15;\r\n\r\n result[offset + 8] = tm8 * om0 + tm9 * om4 + tm10 * om8 + tm11 * om12;\r\n result[offset + 9] = tm8 * om1 + tm9 * om5 + tm10 * om9 + tm11 * om13;\r\n result[offset + 10] = tm8 * om2 + tm9 * om6 + tm10 * om10 + tm11 * om14;\r\n result[offset + 11] = tm8 * om3 + tm9 * om7 + tm10 * om11 + tm11 * om15;\r\n\r\n result[offset + 12] = tm12 * om0 + tm13 * om4 + tm14 * om8 + tm15 * om12;\r\n result[offset + 13] = tm12 * om1 + tm13 * om5 + tm14 * om9 + tm15 * om13;\r\n result[offset + 14] = tm12 * om2 + tm13 * om6 + tm14 * om10 + tm15 * om14;\r\n result[offset + 15] = tm12 * om3 + tm13 * om7 + tm14 * om11 + tm15 * om15;\r\n return this;\r\n }\r\n\r\n /**\r\n * Check equality between this matrix and a second one\r\n * @param value defines the second matrix to compare\r\n * @returns true is the current matrix and the given one values are strictly equal\r\n */\r\n public equals(value: DeepImmutable): boolean {\r\n const other = (value as Matrix);\r\n if (!other) {\r\n return false;\r\n }\r\n\r\n if (this._isIdentity || other._isIdentity) {\r\n if (!this._isIdentityDirty && !other._isIdentityDirty) {\r\n return this._isIdentity && other._isIdentity;\r\n }\r\n }\r\n\r\n const m = this.m;\r\n const om = other.m;\r\n return (\r\n m[0] === om[0] && m[1] === om[1] && m[2] === om[2] && m[3] === om[3] &&\r\n m[4] === om[4] && m[5] === om[5] && m[6] === om[6] && m[7] === om[7] &&\r\n m[8] === om[8] && m[9] === om[9] && m[10] === om[10] && m[11] === om[11] &&\r\n m[12] === om[12] && m[13] === om[13] && m[14] === om[14] && m[15] === om[15]\r\n );\r\n }\r\n\r\n /**\r\n * Clone the current matrix\r\n * @returns a new matrix from the current matrix\r\n */\r\n public clone(): Matrix {\r\n const matrix = new Matrix();\r\n matrix.copyFrom(this);\r\n return matrix;\r\n }\r\n\r\n /**\r\n * Returns the name of the current matrix class\r\n * @returns the string \"Matrix\"\r\n */\r\n public getClassName(): string {\r\n return \"Matrix\";\r\n }\r\n\r\n /**\r\n * Gets the hash code of the current matrix\r\n * @returns the hash code\r\n */\r\n public getHashCode(): number {\r\n let hash = this._m[0] | 0;\r\n for (let i = 1; i < 16; i++) {\r\n hash = (hash * 397) ^ (this._m[i] | 0);\r\n }\r\n return hash;\r\n }\r\n\r\n /**\r\n * Decomposes the current Matrix into a translation, rotation and scaling components\r\n * @param scale defines the scale vector3 given as a reference to update\r\n * @param rotation defines the rotation quaternion given as a reference to update\r\n * @param translation defines the translation vector3 given as a reference to update\r\n * @returns true if operation was successful\r\n */\r\n public decompose(scale?: Vector3, rotation?: Quaternion, translation?: Vector3): boolean {\r\n if (this._isIdentity) {\r\n if (translation) {\r\n translation.setAll(0);\r\n }\r\n if (scale) {\r\n scale.setAll(1);\r\n }\r\n if (rotation) {\r\n rotation.copyFromFloats(0, 0, 0, 1);\r\n }\r\n return true;\r\n }\r\n\r\n const m = this._m;\r\n if (translation) {\r\n translation.copyFromFloats(m[12], m[13], m[14]);\r\n }\r\n\r\n scale = scale || MathTmp.Vector3[0];\r\n scale.x = Math.sqrt(m[0] * m[0] + m[1] * m[1] + m[2] * m[2]);\r\n scale.y = Math.sqrt(m[4] * m[4] + m[5] * m[5] + m[6] * m[6]);\r\n scale.z = Math.sqrt(m[8] * m[8] + m[9] * m[9] + m[10] * m[10]);\r\n\r\n if (this.determinant() <= 0) {\r\n scale.y *= -1;\r\n }\r\n\r\n if (scale._x === 0 || scale._y === 0 || scale._z === 0) {\r\n if (rotation) {\r\n rotation.copyFromFloats(0.0, 0.0, 0.0, 1.0);\r\n }\r\n return false;\r\n }\r\n\r\n if (rotation) {\r\n const sx = 1 / scale._x, sy = 1 / scale._y, sz = 1 / scale._z;\r\n Matrix.FromValuesToRef(\r\n m[0] * sx, m[1] * sx, m[2] * sx, 0.0,\r\n m[4] * sy, m[5] * sy, m[6] * sy, 0.0,\r\n m[8] * sz, m[9] * sz, m[10] * sz, 0.0,\r\n 0.0, 0.0, 0.0, 1.0,\r\n MathTmp.Matrix[0]\r\n );\r\n\r\n Quaternion.FromRotationMatrixToRef(MathTmp.Matrix[0], rotation);\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Gets specific row of the matrix\r\n * @param index defines the number of the row to get\r\n * @returns the index-th row of the current matrix as a new Vector4\r\n */\r\n public getRow(index: number): Nullable {\r\n if (index < 0 || index > 3) {\r\n return null;\r\n }\r\n var i = index * 4;\r\n return new Vector4(this._m[i + 0], this._m[i + 1], this._m[i + 2], this._m[i + 3]);\r\n }\r\n\r\n /**\r\n * Sets the index-th row of the current matrix to the vector4 values\r\n * @param index defines the number of the row to set\r\n * @param row defines the target vector4\r\n * @returns the updated current matrix\r\n */\r\n public setRow(index: number, row: Vector4): Matrix {\r\n return this.setRowFromFloats(index, row.x, row.y, row.z, row.w);\r\n }\r\n\r\n /**\r\n * Compute the transpose of the matrix\r\n * @returns the new transposed matrix\r\n */\r\n public transpose(): Matrix {\r\n return Matrix.Transpose(this);\r\n }\r\n\r\n /**\r\n * Compute the transpose of the matrix and store it in a given matrix\r\n * @param result defines the target matrix\r\n * @returns the current matrix\r\n */\r\n public transposeToRef(result: Matrix): Matrix {\r\n Matrix.TransposeToRef(this, result);\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets the index-th row of the current matrix with the given 4 x float values\r\n * @param index defines the row index\r\n * @param x defines the x component to set\r\n * @param y defines the y component to set\r\n * @param z defines the z component to set\r\n * @param w defines the w component to set\r\n * @returns the updated current matrix\r\n */\r\n public setRowFromFloats(index: number, x: number, y: number, z: number, w: number): Matrix {\r\n if (index < 0 || index > 3) {\r\n return this;\r\n }\r\n var i = index * 4;\r\n this._m[i + 0] = x;\r\n this._m[i + 1] = y;\r\n this._m[i + 2] = z;\r\n this._m[i + 3] = w;\r\n\r\n this._markAsUpdated();\r\n return this;\r\n }\r\n\r\n /**\r\n * Compute a new matrix set with the current matrix values multiplied by scale (float)\r\n * @param scale defines the scale factor\r\n * @returns a new matrix\r\n */\r\n public scale(scale: number): Matrix {\r\n var result = new Matrix();\r\n this.scaleToRef(scale, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Scale the current matrix values by a factor to a given result matrix\r\n * @param scale defines the scale factor\r\n * @param result defines the matrix to store the result\r\n * @returns the current matrix\r\n */\r\n public scaleToRef(scale: number, result: Matrix): Matrix {\r\n for (var index = 0; index < 16; index++) {\r\n result._m[index] = this._m[index] * scale;\r\n }\r\n result._markAsUpdated();\r\n return this;\r\n }\r\n\r\n /**\r\n * Scale the current matrix values by a factor and add the result to a given matrix\r\n * @param scale defines the scale factor\r\n * @param result defines the Matrix to store the result\r\n * @returns the current matrix\r\n */\r\n public scaleAndAddToRef(scale: number, result: Matrix): Matrix {\r\n for (var index = 0; index < 16; index++) {\r\n result._m[index] += this._m[index] * scale;\r\n }\r\n result._markAsUpdated();\r\n return this;\r\n }\r\n\r\n /**\r\n * Writes to the given matrix a normal matrix, computed from this one (using values from identity matrix for fourth row and column).\r\n * @param ref matrix to store the result\r\n */\r\n public toNormalMatrix(ref: Matrix): void {\r\n const tmp = MathTmp.Matrix[0];\r\n this.invertToRef(tmp);\r\n tmp.transposeToRef(ref);\r\n var m = ref._m;\r\n Matrix.FromValuesToRef(\r\n m[0], m[1], m[2], 0.0,\r\n m[4], m[5], m[6], 0.0,\r\n m[8], m[9], m[10], 0.0,\r\n 0.0, 0.0, 0.0, 1.0,\r\n ref\r\n );\r\n }\r\n\r\n /**\r\n * Gets only rotation part of the current matrix\r\n * @returns a new matrix sets to the extracted rotation matrix from the current one\r\n */\r\n public getRotationMatrix(): Matrix {\r\n var result = new Matrix();\r\n this.getRotationMatrixToRef(result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Extracts the rotation matrix from the current one and sets it as the given \"result\"\r\n * @param result defines the target matrix to store data to\r\n * @returns the current matrix\r\n */\r\n public getRotationMatrixToRef(result: Matrix): Matrix {\r\n const scale = MathTmp.Vector3[0];\r\n if (!this.decompose(scale)) {\r\n Matrix.IdentityToRef(result);\r\n return this;\r\n }\r\n\r\n const m = this._m;\r\n const sx = 1 / scale._x, sy = 1 / scale._y, sz = 1 / scale._z;\r\n Matrix.FromValuesToRef(\r\n m[0] * sx, m[1] * sx, m[2] * sx, 0.0,\r\n m[4] * sy, m[5] * sy, m[6] * sy, 0.0,\r\n m[8] * sz, m[9] * sz, m[10] * sz, 0.0,\r\n 0.0, 0.0, 0.0, 1.0,\r\n result\r\n );\r\n return this;\r\n }\r\n\r\n /**\r\n * Toggles model matrix from being right handed to left handed in place and vice versa\r\n */\r\n public toggleModelMatrixHandInPlace() {\r\n const m = this._m;\r\n m[2] *= -1;\r\n m[6] *= -1;\r\n m[8] *= -1;\r\n m[9] *= -1;\r\n m[14] *= -1;\r\n this._markAsUpdated();\r\n }\r\n\r\n /**\r\n * Toggles projection matrix from being right handed to left handed in place and vice versa\r\n */\r\n public toggleProjectionMatrixHandInPlace() {\r\n var m = this._m;\r\n m[8] *= -1;\r\n m[9] *= -1;\r\n m[10] *= -1;\r\n m[11] *= -1;\r\n this._markAsUpdated();\r\n }\r\n\r\n // Statics\r\n /**\r\n * Creates a matrix from an array\r\n * @param array defines the source array\r\n * @param offset defines an offset in the source array\r\n * @returns a new Matrix set from the starting index of the given array\r\n */\r\n public static FromArray(array: DeepImmutable>, offset: number = 0): Matrix {\r\n var result = new Matrix();\r\n Matrix.FromArrayToRef(array, offset, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Copy the content of an array into a given matrix\r\n * @param array defines the source array\r\n * @param offset defines an offset in the source array\r\n * @param result defines the target matrix\r\n */\r\n public static FromArrayToRef(array: DeepImmutable>, offset: number, result: Matrix) {\r\n for (var index = 0; index < 16; index++) {\r\n result._m[index] = array[index + offset];\r\n }\r\n result._markAsUpdated();\r\n }\r\n\r\n /**\r\n * Stores an array into a matrix after having multiplied each component by a given factor\r\n * @param array defines the source array\r\n * @param offset defines the offset in the source array\r\n * @param scale defines the scaling factor\r\n * @param result defines the target matrix\r\n */\r\n public static FromFloat32ArrayToRefScaled(array: DeepImmutable>, offset: number, scale: number, result: Matrix) {\r\n for (var index = 0; index < 16; index++) {\r\n result._m[index] = array[index + offset] * scale;\r\n }\r\n result._markAsUpdated();\r\n }\r\n\r\n /**\r\n * Gets an identity matrix that must not be updated\r\n */\r\n public static get IdentityReadOnly(): DeepImmutable {\r\n return Matrix._identityReadOnly;\r\n }\r\n\r\n /**\r\n * Stores a list of values (16) inside a given matrix\r\n * @param initialM11 defines 1st value of 1st row\r\n * @param initialM12 defines 2nd value of 1st row\r\n * @param initialM13 defines 3rd value of 1st row\r\n * @param initialM14 defines 4th value of 1st row\r\n * @param initialM21 defines 1st value of 2nd row\r\n * @param initialM22 defines 2nd value of 2nd row\r\n * @param initialM23 defines 3rd value of 2nd row\r\n * @param initialM24 defines 4th value of 2nd row\r\n * @param initialM31 defines 1st value of 3rd row\r\n * @param initialM32 defines 2nd value of 3rd row\r\n * @param initialM33 defines 3rd value of 3rd row\r\n * @param initialM34 defines 4th value of 3rd row\r\n * @param initialM41 defines 1st value of 4th row\r\n * @param initialM42 defines 2nd value of 4th row\r\n * @param initialM43 defines 3rd value of 4th row\r\n * @param initialM44 defines 4th value of 4th row\r\n * @param result defines the target matrix\r\n */\r\n public static FromValuesToRef(initialM11: number, initialM12: number, initialM13: number, initialM14: number,\r\n initialM21: number, initialM22: number, initialM23: number, initialM24: number,\r\n initialM31: number, initialM32: number, initialM33: number, initialM34: number,\r\n initialM41: number, initialM42: number, initialM43: number, initialM44: number, result: Matrix): void {\r\n\r\n const m = result._m;\r\n m[0] = initialM11; m[1] = initialM12; m[2] = initialM13; m[3] = initialM14;\r\n m[4] = initialM21; m[5] = initialM22; m[6] = initialM23; m[7] = initialM24;\r\n m[8] = initialM31; m[9] = initialM32; m[10] = initialM33; m[11] = initialM34;\r\n m[12] = initialM41; m[13] = initialM42; m[14] = initialM43; m[15] = initialM44;\r\n\r\n result._markAsUpdated();\r\n }\r\n\r\n /**\r\n * Creates new matrix from a list of values (16)\r\n * @param initialM11 defines 1st value of 1st row\r\n * @param initialM12 defines 2nd value of 1st row\r\n * @param initialM13 defines 3rd value of 1st row\r\n * @param initialM14 defines 4th value of 1st row\r\n * @param initialM21 defines 1st value of 2nd row\r\n * @param initialM22 defines 2nd value of 2nd row\r\n * @param initialM23 defines 3rd value of 2nd row\r\n * @param initialM24 defines 4th value of 2nd row\r\n * @param initialM31 defines 1st value of 3rd row\r\n * @param initialM32 defines 2nd value of 3rd row\r\n * @param initialM33 defines 3rd value of 3rd row\r\n * @param initialM34 defines 4th value of 3rd row\r\n * @param initialM41 defines 1st value of 4th row\r\n * @param initialM42 defines 2nd value of 4th row\r\n * @param initialM43 defines 3rd value of 4th row\r\n * @param initialM44 defines 4th value of 4th row\r\n * @returns the new matrix\r\n */\r\n public static FromValues(initialM11: number, initialM12: number, initialM13: number, initialM14: number,\r\n initialM21: number, initialM22: number, initialM23: number, initialM24: number,\r\n initialM31: number, initialM32: number, initialM33: number, initialM34: number,\r\n initialM41: number, initialM42: number, initialM43: number, initialM44: number): Matrix {\r\n\r\n var result = new Matrix();\r\n const m = result._m;\r\n m[0] = initialM11; m[1] = initialM12; m[2] = initialM13; m[3] = initialM14;\r\n m[4] = initialM21; m[5] = initialM22; m[6] = initialM23; m[7] = initialM24;\r\n m[8] = initialM31; m[9] = initialM32; m[10] = initialM33; m[11] = initialM34;\r\n m[12] = initialM41; m[13] = initialM42; m[14] = initialM43; m[15] = initialM44;\r\n result._markAsUpdated();\r\n return result;\r\n }\r\n\r\n /**\r\n * Creates a new matrix composed by merging scale (vector3), rotation (quaternion) and translation (vector3)\r\n * @param scale defines the scale vector3\r\n * @param rotation defines the rotation quaternion\r\n * @param translation defines the translation vector3\r\n * @returns a new matrix\r\n */\r\n public static Compose(scale: DeepImmutable, rotation: DeepImmutable, translation: DeepImmutable): Matrix {\r\n var result = new Matrix();\r\n Matrix.ComposeToRef(scale, rotation, translation, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Sets a matrix to a value composed by merging scale (vector3), rotation (quaternion) and translation (vector3)\r\n * @param scale defines the scale vector3\r\n * @param rotation defines the rotation quaternion\r\n * @param translation defines the translation vector3\r\n * @param result defines the target matrix\r\n */\r\n public static ComposeToRef(scale: DeepImmutable, rotation: DeepImmutable, translation: DeepImmutable, result: Matrix): void {\r\n let m = result._m;\r\n var x = rotation._x, y = rotation._y, z = rotation._z, w = rotation._w;\r\n var x2 = x + x, y2 = y + y, z2 = z + z;\r\n var xx = x * x2, xy = x * y2, xz = x * z2;\r\n var yy = y * y2, yz = y * z2, zz = z * z2;\r\n var wx = w * x2, wy = w * y2, wz = w * z2;\r\n\r\n var sx = scale._x, sy = scale._y, sz = scale._z;\r\n\r\n m[0] = (1 - (yy + zz)) * sx;\r\n m[1] = (xy + wz) * sx;\r\n m[2] = (xz - wy) * sx;\r\n m[3] = 0;\r\n\r\n m[4] = (xy - wz) * sy;\r\n m[5] = (1 - (xx + zz)) * sy;\r\n m[6] = (yz + wx) * sy;\r\n m[7] = 0;\r\n\r\n m[8] = (xz + wy) * sz;\r\n m[9] = (yz - wx) * sz;\r\n m[10] = (1 - (xx + yy)) * sz;\r\n m[11] = 0;\r\n\r\n m[12] = translation._x;\r\n m[13] = translation._y;\r\n m[14] = translation._z;\r\n m[15] = 1;\r\n\r\n result._markAsUpdated();\r\n }\r\n\r\n /**\r\n * Creates a new identity matrix\r\n * @returns a new identity matrix\r\n */\r\n public static Identity(): Matrix {\r\n const identity = Matrix.FromValues(\r\n 1.0, 0.0, 0.0, 0.0,\r\n 0.0, 1.0, 0.0, 0.0,\r\n 0.0, 0.0, 1.0, 0.0,\r\n 0.0, 0.0, 0.0, 1.0);\r\n identity._updateIdentityStatus(true);\r\n return identity;\r\n }\r\n\r\n /**\r\n * Creates a new identity matrix and stores the result in a given matrix\r\n * @param result defines the target matrix\r\n */\r\n public static IdentityToRef(result: Matrix): void {\r\n Matrix.FromValuesToRef(\r\n 1.0, 0.0, 0.0, 0.0,\r\n 0.0, 1.0, 0.0, 0.0,\r\n 0.0, 0.0, 1.0, 0.0,\r\n 0.0, 0.0, 0.0, 1.0,\r\n result\r\n );\r\n result._updateIdentityStatus(true);\r\n }\r\n\r\n /**\r\n * Creates a new zero matrix\r\n * @returns a new zero matrix\r\n */\r\n public static Zero(): Matrix {\r\n const zero = Matrix.FromValues(\r\n 0.0, 0.0, 0.0, 0.0,\r\n 0.0, 0.0, 0.0, 0.0,\r\n 0.0, 0.0, 0.0, 0.0,\r\n 0.0, 0.0, 0.0, 0.0);\r\n zero._updateIdentityStatus(false);\r\n return zero;\r\n }\r\n\r\n /**\r\n * Creates a new rotation matrix for \"angle\" radians around the X axis\r\n * @param angle defines the angle (in radians) to use\r\n * @return the new matrix\r\n */\r\n public static RotationX(angle: number): Matrix {\r\n var result = new Matrix();\r\n Matrix.RotationXToRef(angle, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Creates a new matrix as the invert of a given matrix\r\n * @param source defines the source matrix\r\n * @returns the new matrix\r\n */\r\n public static Invert(source: DeepImmutable): Matrix {\r\n var result = new Matrix();\r\n source.invertToRef(result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Creates a new rotation matrix for \"angle\" radians around the X axis and stores it in a given matrix\r\n * @param angle defines the angle (in radians) to use\r\n * @param result defines the target matrix\r\n */\r\n public static RotationXToRef(angle: number, result: Matrix): void {\r\n var s = Math.sin(angle);\r\n var c = Math.cos(angle);\r\n Matrix.FromValuesToRef(\r\n 1.0, 0.0, 0.0, 0.0,\r\n 0.0, c, s, 0.0,\r\n 0.0, -s, c, 0.0,\r\n 0.0, 0.0, 0.0, 1.0,\r\n result\r\n );\r\n\r\n result._updateIdentityStatus(c === 1 && s === 0);\r\n }\r\n\r\n /**\r\n * Creates a new rotation matrix for \"angle\" radians around the Y axis\r\n * @param angle defines the angle (in radians) to use\r\n * @return the new matrix\r\n */\r\n public static RotationY(angle: number): Matrix {\r\n var result = new Matrix();\r\n Matrix.RotationYToRef(angle, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Creates a new rotation matrix for \"angle\" radians around the Y axis and stores it in a given matrix\r\n * @param angle defines the angle (in radians) to use\r\n * @param result defines the target matrix\r\n */\r\n public static RotationYToRef(angle: number, result: Matrix): void {\r\n var s = Math.sin(angle);\r\n var c = Math.cos(angle);\r\n Matrix.FromValuesToRef(\r\n c, 0.0, -s, 0.0,\r\n 0.0, 1.0, 0.0, 0.0,\r\n s, 0.0, c, 0.0,\r\n 0.0, 0.0, 0.0, 1.0,\r\n result\r\n );\r\n\r\n result._updateIdentityStatus(c === 1 && s === 0);\r\n }\r\n\r\n /**\r\n * Creates a new rotation matrix for \"angle\" radians around the Z axis\r\n * @param angle defines the angle (in radians) to use\r\n * @return the new matrix\r\n */\r\n public static RotationZ(angle: number): Matrix {\r\n var result = new Matrix();\r\n Matrix.RotationZToRef(angle, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Creates a new rotation matrix for \"angle\" radians around the Z axis and stores it in a given matrix\r\n * @param angle defines the angle (in radians) to use\r\n * @param result defines the target matrix\r\n */\r\n public static RotationZToRef(angle: number, result: Matrix): void {\r\n var s = Math.sin(angle);\r\n var c = Math.cos(angle);\r\n Matrix.FromValuesToRef(\r\n c, s, 0.0, 0.0,\r\n -s, c, 0.0, 0.0,\r\n 0.0, 0.0, 1.0, 0.0,\r\n 0.0, 0.0, 0.0, 1.0,\r\n result\r\n );\r\n\r\n result._updateIdentityStatus(c === 1 && s === 0);\r\n }\r\n\r\n /**\r\n * Creates a new rotation matrix for \"angle\" radians around the given axis\r\n * @param axis defines the axis to use\r\n * @param angle defines the angle (in radians) to use\r\n * @return the new matrix\r\n */\r\n public static RotationAxis(axis: DeepImmutable, angle: number): Matrix {\r\n var result = new Matrix();\r\n Matrix.RotationAxisToRef(axis, angle, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Creates a new rotation matrix for \"angle\" radians around the given axis and stores it in a given matrix\r\n * @param axis defines the axis to use\r\n * @param angle defines the angle (in radians) to use\r\n * @param result defines the target matrix\r\n */\r\n public static RotationAxisToRef(axis: DeepImmutable, angle: number, result: Matrix): void {\r\n var s = Math.sin(-angle);\r\n var c = Math.cos(-angle);\r\n var c1 = 1 - c;\r\n\r\n axis.normalize();\r\n const m = result._m;\r\n m[0] = (axis._x * axis._x) * c1 + c;\r\n m[1] = (axis._x * axis._y) * c1 - (axis._z * s);\r\n m[2] = (axis._x * axis._z) * c1 + (axis._y * s);\r\n m[3] = 0.0;\r\n\r\n m[4] = (axis._y * axis._x) * c1 + (axis._z * s);\r\n m[5] = (axis._y * axis._y) * c1 + c;\r\n m[6] = (axis._y * axis._z) * c1 - (axis._x * s);\r\n m[7] = 0.0;\r\n\r\n m[8] = (axis._z * axis._x) * c1 - (axis._y * s);\r\n m[9] = (axis._z * axis._y) * c1 + (axis._x * s);\r\n m[10] = (axis._z * axis._z) * c1 + c;\r\n m[11] = 0.0;\r\n\r\n m[12] = 0.0;\r\n m[13] = 0.0;\r\n m[14] = 0.0;\r\n m[15] = 1.0;\r\n\r\n result._markAsUpdated();\r\n }\r\n\r\n /**\r\n * Takes normalised vectors and returns a rotation matrix to align \"from\" with \"to\".\r\n * Taken from http://www.iquilezles.org/www/articles/noacos/noacos.htm\r\n * @param from defines the vector to align\r\n * @param to defines the vector to align to\r\n * @param result defines the target matrix\r\n */\r\n public static RotationAlignToRef(from: DeepImmutable, to: DeepImmutable, result: Matrix): void {\r\n const v = Vector3.Cross(to, from);\r\n const c = Vector3.Dot(to, from);\r\n const k = 1 / (1 + c);\r\n\r\n const m = result._m;\r\n m[0] = v._x * v._x * k + c; m[1] = v._y * v._x * k - v._z; m[2] = v._z * v._x * k + v._y; m[3] = 0;\r\n m[4] = v._x * v._y * k + v._z; m[5] = v._y * v._y * k + c; m[6] = v._z * v._y * k - v._x; m[7] = 0;\r\n m[8] = v._x * v._z * k - v._y; m[9] = v._y * v._z * k + v._x; m[10] = v._z * v._z * k + c; m[11] = 0;\r\n m[12] = 0; m[13] = 0; m[14] = 0; m[15] = 1;\r\n\r\n result._markAsUpdated();\r\n }\r\n\r\n /**\r\n * Creates a rotation matrix\r\n * @param yaw defines the yaw angle in radians (Y axis)\r\n * @param pitch defines the pitch angle in radians (X axis)\r\n * @param roll defines the roll angle in radians (Z axis)\r\n * @returns the new rotation matrix\r\n */\r\n public static RotationYawPitchRoll(yaw: number, pitch: number, roll: number): Matrix {\r\n var result = new Matrix();\r\n Matrix.RotationYawPitchRollToRef(yaw, pitch, roll, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Creates a rotation matrix and stores it in a given matrix\r\n * @param yaw defines the yaw angle in radians (Y axis)\r\n * @param pitch defines the pitch angle in radians (X axis)\r\n * @param roll defines the roll angle in radians (Z axis)\r\n * @param result defines the target matrix\r\n */\r\n public static RotationYawPitchRollToRef(yaw: number, pitch: number, roll: number, result: Matrix): void {\r\n Quaternion.RotationYawPitchRollToRef(yaw, pitch, roll, MathTmp.Quaternion[0]);\r\n MathTmp.Quaternion[0].toRotationMatrix(result);\r\n }\r\n\r\n /**\r\n * Creates a scaling matrix\r\n * @param x defines the scale factor on X axis\r\n * @param y defines the scale factor on Y axis\r\n * @param z defines the scale factor on Z axis\r\n * @returns the new matrix\r\n */\r\n public static Scaling(x: number, y: number, z: number): Matrix {\r\n var result = new Matrix();\r\n Matrix.ScalingToRef(x, y, z, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Creates a scaling matrix and stores it in a given matrix\r\n * @param x defines the scale factor on X axis\r\n * @param y defines the scale factor on Y axis\r\n * @param z defines the scale factor on Z axis\r\n * @param result defines the target matrix\r\n */\r\n public static ScalingToRef(x: number, y: number, z: number, result: Matrix): void {\r\n Matrix.FromValuesToRef(\r\n x, 0.0, 0.0, 0.0,\r\n 0.0, y, 0.0, 0.0,\r\n 0.0, 0.0, z, 0.0,\r\n 0.0, 0.0, 0.0, 1.0,\r\n result\r\n );\r\n\r\n result._updateIdentityStatus(x === 1 && y === 1 && z === 1);\r\n }\r\n\r\n /**\r\n * Creates a translation matrix\r\n * @param x defines the translation on X axis\r\n * @param y defines the translation on Y axis\r\n * @param z defines the translationon Z axis\r\n * @returns the new matrix\r\n */\r\n public static Translation(x: number, y: number, z: number): Matrix {\r\n var result = new Matrix();\r\n Matrix.TranslationToRef(x, y, z, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Creates a translation matrix and stores it in a given matrix\r\n * @param x defines the translation on X axis\r\n * @param y defines the translation on Y axis\r\n * @param z defines the translationon Z axis\r\n * @param result defines the target matrix\r\n */\r\n public static TranslationToRef(x: number, y: number, z: number, result: Matrix): void {\r\n Matrix.FromValuesToRef(\r\n 1.0, 0.0, 0.0, 0.0,\r\n 0.0, 1.0, 0.0, 0.0,\r\n 0.0, 0.0, 1.0, 0.0,\r\n x, y, z, 1.0,\r\n result\r\n );\r\n result._updateIdentityStatus(x === 0 && y === 0 && z === 0);\r\n }\r\n\r\n /**\r\n * Returns a new Matrix whose values are the interpolated values for \"gradient\" (float) between the ones of the matrices \"startValue\" and \"endValue\".\r\n * @param startValue defines the start value\r\n * @param endValue defines the end value\r\n * @param gradient defines the gradient factor\r\n * @returns the new matrix\r\n */\r\n public static Lerp(startValue: DeepImmutable, endValue: DeepImmutable, gradient: number): Matrix {\r\n var result = new Matrix();\r\n Matrix.LerpToRef(startValue, endValue, gradient, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Set the given matrix \"result\" as the interpolated values for \"gradient\" (float) between the ones of the matrices \"startValue\" and \"endValue\".\r\n * @param startValue defines the start value\r\n * @param endValue defines the end value\r\n * @param gradient defines the gradient factor\r\n * @param result defines the Matrix object where to store data\r\n */\r\n public static LerpToRef(startValue: DeepImmutable, endValue: DeepImmutable, gradient: number, result: Matrix): void {\r\n const resultM = result._m;\r\n const startM = startValue.m;\r\n const endM = endValue.m;\r\n for (var index = 0; index < 16; index++) {\r\n resultM[index] = startM[index] * (1.0 - gradient) + endM[index] * gradient;\r\n }\r\n result._markAsUpdated();\r\n }\r\n\r\n /**\r\n * Builds a new matrix whose values are computed by:\r\n * * decomposing the the \"startValue\" and \"endValue\" matrices into their respective scale, rotation and translation matrices\r\n * * interpolating for \"gradient\" (float) the values between each of these decomposed matrices between the start and the end\r\n * * recomposing a new matrix from these 3 interpolated scale, rotation and translation matrices\r\n * @param startValue defines the first matrix\r\n * @param endValue defines the second matrix\r\n * @param gradient defines the gradient between the two matrices\r\n * @returns the new matrix\r\n */\r\n public static DecomposeLerp(startValue: DeepImmutable, endValue: DeepImmutable, gradient: number): Matrix {\r\n var result = new Matrix();\r\n Matrix.DecomposeLerpToRef(startValue, endValue, gradient, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Update a matrix to values which are computed by:\r\n * * decomposing the the \"startValue\" and \"endValue\" matrices into their respective scale, rotation and translation matrices\r\n * * interpolating for \"gradient\" (float) the values between each of these decomposed matrices between the start and the end\r\n * * recomposing a new matrix from these 3 interpolated scale, rotation and translation matrices\r\n * @param startValue defines the first matrix\r\n * @param endValue defines the second matrix\r\n * @param gradient defines the gradient between the two matrices\r\n * @param result defines the target matrix\r\n */\r\n public static DecomposeLerpToRef(startValue: DeepImmutable, endValue: DeepImmutable, gradient: number, result: Matrix) {\r\n var startScale = MathTmp.Vector3[0];\r\n var startRotation = MathTmp.Quaternion[0];\r\n var startTranslation = MathTmp.Vector3[1];\r\n startValue.decompose(startScale, startRotation, startTranslation);\r\n\r\n var endScale = MathTmp.Vector3[2];\r\n var endRotation = MathTmp.Quaternion[1];\r\n var endTranslation = MathTmp.Vector3[3];\r\n endValue.decompose(endScale, endRotation, endTranslation);\r\n\r\n var resultScale = MathTmp.Vector3[4];\r\n Vector3.LerpToRef(startScale, endScale, gradient, resultScale);\r\n var resultRotation = MathTmp.Quaternion[2];\r\n Quaternion.SlerpToRef(startRotation, endRotation, gradient, resultRotation);\r\n\r\n var resultTranslation = MathTmp.Vector3[5];\r\n Vector3.LerpToRef(startTranslation, endTranslation, gradient, resultTranslation);\r\n\r\n Matrix.ComposeToRef(resultScale, resultRotation, resultTranslation, result);\r\n }\r\n\r\n /**\r\n * Gets a new rotation matrix used to rotate an entity so as it looks at the target vector3, from the eye vector3 position, the up vector3 being oriented like \"up\"\r\n * This function works in left handed mode\r\n * @param eye defines the final position of the entity\r\n * @param target defines where the entity should look at\r\n * @param up defines the up vector for the entity\r\n * @returns the new matrix\r\n */\r\n public static LookAtLH(eye: DeepImmutable, target: DeepImmutable, up: DeepImmutable): Matrix {\r\n var result = new Matrix();\r\n Matrix.LookAtLHToRef(eye, target, up, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Sets the given \"result\" Matrix to a rotation matrix used to rotate an entity so that it looks at the target vector3, from the eye vector3 position, the up vector3 being oriented like \"up\".\r\n * This function works in left handed mode\r\n * @param eye defines the final position of the entity\r\n * @param target defines where the entity should look at\r\n * @param up defines the up vector for the entity\r\n * @param result defines the target matrix\r\n */\r\n public static LookAtLHToRef(eye: DeepImmutable, target: DeepImmutable, up: DeepImmutable, result: Matrix): void {\r\n const xAxis = MathTmp.Vector3[0];\r\n const yAxis = MathTmp.Vector3[1];\r\n const zAxis = MathTmp.Vector3[2];\r\n\r\n // Z axis\r\n target.subtractToRef(eye, zAxis);\r\n zAxis.normalize();\r\n\r\n // X axis\r\n Vector3.CrossToRef(up, zAxis, xAxis);\r\n\r\n const xSquareLength = xAxis.lengthSquared();\r\n if (xSquareLength === 0) {\r\n xAxis.x = 1.0;\r\n } else {\r\n xAxis.normalizeFromLength(Math.sqrt(xSquareLength));\r\n }\r\n\r\n // Y axis\r\n Vector3.CrossToRef(zAxis, xAxis, yAxis);\r\n yAxis.normalize();\r\n\r\n // Eye angles\r\n var ex = -Vector3.Dot(xAxis, eye);\r\n var ey = -Vector3.Dot(yAxis, eye);\r\n var ez = -Vector3.Dot(zAxis, eye);\r\n\r\n Matrix.FromValuesToRef(\r\n xAxis._x, yAxis._x, zAxis._x, 0.0,\r\n xAxis._y, yAxis._y, zAxis._y, 0.0,\r\n xAxis._z, yAxis._z, zAxis._z, 0.0,\r\n ex, ey, ez, 1.0,\r\n result\r\n );\r\n }\r\n\r\n /**\r\n * Gets a new rotation matrix used to rotate an entity so as it looks at the target vector3, from the eye vector3 position, the up vector3 being oriented like \"up\"\r\n * This function works in right handed mode\r\n * @param eye defines the final position of the entity\r\n * @param target defines where the entity should look at\r\n * @param up defines the up vector for the entity\r\n * @returns the new matrix\r\n */\r\n public static LookAtRH(eye: DeepImmutable, target: DeepImmutable, up: DeepImmutable): Matrix {\r\n var result = new Matrix();\r\n Matrix.LookAtRHToRef(eye, target, up, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Sets the given \"result\" Matrix to a rotation matrix used to rotate an entity so that it looks at the target vector3, from the eye vector3 position, the up vector3 being oriented like \"up\".\r\n * This function works in right handed mode\r\n * @param eye defines the final position of the entity\r\n * @param target defines where the entity should look at\r\n * @param up defines the up vector for the entity\r\n * @param result defines the target matrix\r\n */\r\n public static LookAtRHToRef(eye: DeepImmutable, target: DeepImmutable, up: DeepImmutable, result: Matrix): void {\r\n const xAxis = MathTmp.Vector3[0];\r\n const yAxis = MathTmp.Vector3[1];\r\n const zAxis = MathTmp.Vector3[2];\r\n\r\n // Z axis\r\n eye.subtractToRef(target, zAxis);\r\n zAxis.normalize();\r\n\r\n // X axis\r\n Vector3.CrossToRef(up, zAxis, xAxis);\r\n\r\n const xSquareLength = xAxis.lengthSquared();\r\n if (xSquareLength === 0) {\r\n xAxis.x = 1.0;\r\n } else {\r\n xAxis.normalizeFromLength(Math.sqrt(xSquareLength));\r\n }\r\n\r\n // Y axis\r\n Vector3.CrossToRef(zAxis, xAxis, yAxis);\r\n yAxis.normalize();\r\n\r\n // Eye angles\r\n var ex = -Vector3.Dot(xAxis, eye);\r\n var ey = -Vector3.Dot(yAxis, eye);\r\n var ez = -Vector3.Dot(zAxis, eye);\r\n\r\n Matrix.FromValuesToRef(\r\n xAxis._x, yAxis._x, zAxis._x, 0.0,\r\n xAxis._y, yAxis._y, zAxis._y, 0.0,\r\n xAxis._z, yAxis._z, zAxis._z, 0.0,\r\n ex, ey, ez, 1.0,\r\n result\r\n );\r\n }\r\n\r\n /**\r\n * Create a left-handed orthographic projection matrix\r\n * @param width defines the viewport width\r\n * @param height defines the viewport height\r\n * @param znear defines the near clip plane\r\n * @param zfar defines the far clip plane\r\n * @returns a new matrix as a left-handed orthographic projection matrix\r\n */\r\n public static OrthoLH(width: number, height: number, znear: number, zfar: number): Matrix {\r\n var matrix = new Matrix();\r\n Matrix.OrthoLHToRef(width, height, znear, zfar, matrix);\r\n return matrix;\r\n }\r\n\r\n /**\r\n * Store a left-handed orthographic projection to a given matrix\r\n * @param width defines the viewport width\r\n * @param height defines the viewport height\r\n * @param znear defines the near clip plane\r\n * @param zfar defines the far clip plane\r\n * @param result defines the target matrix\r\n */\r\n public static OrthoLHToRef(width: number, height: number, znear: number, zfar: number, result: Matrix): void {\r\n let n = znear;\r\n let f = zfar;\r\n\r\n let a = 2.0 / width;\r\n let b = 2.0 / height;\r\n let c = 2.0 / (f - n);\r\n let d = -(f + n) / (f - n);\r\n\r\n Matrix.FromValuesToRef(\r\n a, 0.0, 0.0, 0.0,\r\n 0.0, b, 0.0, 0.0,\r\n 0.0, 0.0, c, 0.0,\r\n 0.0, 0.0, d, 1.0,\r\n result\r\n );\r\n\r\n result._updateIdentityStatus(a === 1 && b === 1 && c === 1 && d === 0);\r\n }\r\n\r\n /**\r\n * Create a left-handed orthographic projection matrix\r\n * @param left defines the viewport left coordinate\r\n * @param right defines the viewport right coordinate\r\n * @param bottom defines the viewport bottom coordinate\r\n * @param top defines the viewport top coordinate\r\n * @param znear defines the near clip plane\r\n * @param zfar defines the far clip plane\r\n * @returns a new matrix as a left-handed orthographic projection matrix\r\n */\r\n public static OrthoOffCenterLH(left: number, right: number, bottom: number, top: number, znear: number, zfar: number): Matrix {\r\n var matrix = new Matrix();\r\n Matrix.OrthoOffCenterLHToRef(left, right, bottom, top, znear, zfar, matrix);\r\n return matrix;\r\n }\r\n\r\n /**\r\n * Stores a left-handed orthographic projection into a given matrix\r\n * @param left defines the viewport left coordinate\r\n * @param right defines the viewport right coordinate\r\n * @param bottom defines the viewport bottom coordinate\r\n * @param top defines the viewport top coordinate\r\n * @param znear defines the near clip plane\r\n * @param zfar defines the far clip plane\r\n * @param result defines the target matrix\r\n */\r\n public static OrthoOffCenterLHToRef(left: number, right: number, bottom: number, top: number, znear: number, zfar: number, result: Matrix): void {\r\n let n = znear;\r\n let f = zfar;\r\n\r\n let a = 2.0 / (right - left);\r\n let b = 2.0 / (top - bottom);\r\n let c = 2.0 / (f - n);\r\n let d = -(f + n) / (f - n);\r\n let i0 = (left + right) / (left - right);\r\n let i1 = (top + bottom) / (bottom - top);\r\n\r\n Matrix.FromValuesToRef(\r\n a, 0.0, 0.0, 0.0,\r\n 0.0, b, 0.0, 0.0,\r\n 0.0, 0.0, c, 0.0,\r\n i0, i1, d, 1.0,\r\n result\r\n );\r\n\r\n result._markAsUpdated();\r\n }\r\n\r\n /**\r\n * Creates a right-handed orthographic projection matrix\r\n * @param left defines the viewport left coordinate\r\n * @param right defines the viewport right coordinate\r\n * @param bottom defines the viewport bottom coordinate\r\n * @param top defines the viewport top coordinate\r\n * @param znear defines the near clip plane\r\n * @param zfar defines the far clip plane\r\n * @returns a new matrix as a right-handed orthographic projection matrix\r\n */\r\n public static OrthoOffCenterRH(left: number, right: number, bottom: number, top: number, znear: number, zfar: number): Matrix {\r\n var matrix = new Matrix();\r\n Matrix.OrthoOffCenterRHToRef(left, right, bottom, top, znear, zfar, matrix);\r\n return matrix;\r\n }\r\n\r\n /**\r\n * Stores a right-handed orthographic projection into a given matrix\r\n * @param left defines the viewport left coordinate\r\n * @param right defines the viewport right coordinate\r\n * @param bottom defines the viewport bottom coordinate\r\n * @param top defines the viewport top coordinate\r\n * @param znear defines the near clip plane\r\n * @param zfar defines the far clip plane\r\n * @param result defines the target matrix\r\n */\r\n public static OrthoOffCenterRHToRef(left: number, right: number, bottom: number, top: number, znear: number, zfar: number, result: Matrix): void {\r\n Matrix.OrthoOffCenterLHToRef(left, right, bottom, top, znear, zfar, result);\r\n result._m[10] *= -1; // No need to call _markAsUpdated as previous function already called it and let _isIdentityDirty to true\r\n }\r\n\r\n /**\r\n * Creates a left-handed perspective projection matrix\r\n * @param width defines the viewport width\r\n * @param height defines the viewport height\r\n * @param znear defines the near clip plane\r\n * @param zfar defines the far clip plane\r\n * @returns a new matrix as a left-handed perspective projection matrix\r\n */\r\n public static PerspectiveLH(width: number, height: number, znear: number, zfar: number): Matrix {\r\n var matrix = new Matrix();\r\n\r\n let n = znear;\r\n let f = zfar;\r\n\r\n let a = 2.0 * n / width;\r\n let b = 2.0 * n / height;\r\n let c = (f + n) / (f - n);\r\n let d = -2.0 * f * n / (f - n);\r\n\r\n Matrix.FromValuesToRef(\r\n a, 0.0, 0.0, 0.0,\r\n 0.0, b, 0.0, 0.0,\r\n 0.0, 0.0, c, 1.0,\r\n 0.0, 0.0, d, 0.0,\r\n matrix\r\n );\r\n\r\n matrix._updateIdentityStatus(false);\r\n return matrix;\r\n }\r\n\r\n /**\r\n * Creates a left-handed perspective projection matrix\r\n * @param fov defines the horizontal field of view\r\n * @param aspect defines the aspect ratio\r\n * @param znear defines the near clip plane\r\n * @param zfar defines the far clip plane\r\n * @returns a new matrix as a left-handed perspective projection matrix\r\n */\r\n public static PerspectiveFovLH(fov: number, aspect: number, znear: number, zfar: number): Matrix {\r\n var matrix = new Matrix();\r\n Matrix.PerspectiveFovLHToRef(fov, aspect, znear, zfar, matrix);\r\n return matrix;\r\n }\r\n\r\n /**\r\n * Stores a left-handed perspective projection into a given matrix\r\n * @param fov defines the horizontal field of view\r\n * @param aspect defines the aspect ratio\r\n * @param znear defines the near clip plane\r\n * @param zfar defines the far clip plane\r\n * @param result defines the target matrix\r\n * @param isVerticalFovFixed defines it the fov is vertically fixed (default) or horizontally\r\n */\r\n public static PerspectiveFovLHToRef(fov: number, aspect: number, znear: number, zfar: number, result: Matrix, isVerticalFovFixed = true): void {\r\n let n = znear;\r\n let f = zfar;\r\n\r\n let t = 1.0 / (Math.tan(fov * 0.5));\r\n let a = isVerticalFovFixed ? (t / aspect) : t;\r\n let b = isVerticalFovFixed ? t : (t * aspect);\r\n let c = (f + n) / (f - n);\r\n let d = -2.0 * f * n / (f - n);\r\n\r\n Matrix.FromValuesToRef(\r\n a, 0.0, 0.0, 0.0,\r\n 0.0, b, 0.0, 0.0,\r\n 0.0, 0.0, c, 1.0,\r\n 0.0, 0.0, d, 0.0,\r\n result\r\n );\r\n result._updateIdentityStatus(false);\r\n }\r\n\r\n /**\r\n * Stores a left-handed perspective projection into a given matrix with depth reversed\r\n * @param fov defines the horizontal field of view\r\n * @param aspect defines the aspect ratio\r\n * @param znear defines the near clip plane\r\n * @param zfar not used as infinity is used as far clip\r\n * @param result defines the target matrix\r\n * @param isVerticalFovFixed defines it the fov is vertically fixed (default) or horizontally\r\n */\r\n public static PerspectiveFovReverseLHToRef(fov: number, aspect: number, znear: number, zfar: number, result: Matrix, isVerticalFovFixed = true): void {\r\n let t = 1.0 / (Math.tan(fov * 0.5));\r\n let a = isVerticalFovFixed ? (t / aspect) : t;\r\n let b = isVerticalFovFixed ? t : (t * aspect);\r\n Matrix.FromValuesToRef(\r\n a, 0.0, 0.0, 0.0,\r\n 0.0, b, 0.0, 0.0,\r\n 0.0, 0.0, -znear, 1.0,\r\n 0.0, 0.0, 1.0, 0.0,\r\n result\r\n );\r\n result._updateIdentityStatus(false);\r\n }\r\n\r\n /**\r\n * Creates a right-handed perspective projection matrix\r\n * @param fov defines the horizontal field of view\r\n * @param aspect defines the aspect ratio\r\n * @param znear defines the near clip plane\r\n * @param zfar defines the far clip plane\r\n * @returns a new matrix as a right-handed perspective projection matrix\r\n */\r\n public static PerspectiveFovRH(fov: number, aspect: number, znear: number, zfar: number): Matrix {\r\n var matrix = new Matrix();\r\n Matrix.PerspectiveFovRHToRef(fov, aspect, znear, zfar, matrix);\r\n return matrix;\r\n }\r\n\r\n /**\r\n * Stores a right-handed perspective projection into a given matrix\r\n * @param fov defines the horizontal field of view\r\n * @param aspect defines the aspect ratio\r\n * @param znear defines the near clip plane\r\n * @param zfar defines the far clip plane\r\n * @param result defines the target matrix\r\n * @param isVerticalFovFixed defines it the fov is vertically fixed (default) or horizontally\r\n */\r\n public static PerspectiveFovRHToRef(fov: number, aspect: number, znear: number, zfar: number, result: Matrix, isVerticalFovFixed = true): void {\r\n //alternatively this could be expressed as:\r\n // m = PerspectiveFovLHToRef\r\n // m[10] *= -1.0;\r\n // m[11] *= -1.0;\r\n\r\n let n = znear;\r\n let f = zfar;\r\n\r\n let t = 1.0 / (Math.tan(fov * 0.5));\r\n let a = isVerticalFovFixed ? (t / aspect) : t;\r\n let b = isVerticalFovFixed ? t : (t * aspect);\r\n let c = -(f + n) / (f - n);\r\n let d = -2 * f * n / (f - n);\r\n\r\n Matrix.FromValuesToRef(\r\n a, 0.0, 0.0, 0.0,\r\n 0.0, b, 0.0, 0.0,\r\n 0.0, 0.0, c, -1.0,\r\n 0.0, 0.0, d, 0.0,\r\n result\r\n );\r\n\r\n result._updateIdentityStatus(false);\r\n }\r\n\r\n /**\r\n * Stores a right-handed perspective projection into a given matrix\r\n * @param fov defines the horizontal field of view\r\n * @param aspect defines the aspect ratio\r\n * @param znear defines the near clip plane\r\n * @param zfar not used as infinity is used as far clip\r\n * @param result defines the target matrix\r\n * @param isVerticalFovFixed defines it the fov is vertically fixed (default) or horizontally\r\n */\r\n public static PerspectiveFovReverseRHToRef(fov: number, aspect: number, znear: number, zfar: number, result: Matrix, isVerticalFovFixed = true): void {\r\n //alternatively this could be expressed as:\r\n // m = PerspectiveFovLHToRef\r\n // m[10] *= -1.0;\r\n // m[11] *= -1.0;\r\n\r\n let t = 1.0 / (Math.tan(fov * 0.5));\r\n let a = isVerticalFovFixed ? (t / aspect) : t;\r\n let b = isVerticalFovFixed ? t : (t * aspect);\r\n\r\n Matrix.FromValuesToRef(\r\n a, 0.0, 0.0, 0.0,\r\n 0.0, b, 0.0, 0.0,\r\n 0.0, 0.0, -znear, -1.0,\r\n 0.0, 0.0, -1.0, 0.0,\r\n result\r\n );\r\n\r\n result._updateIdentityStatus(false);\r\n }\r\n\r\n /**\r\n * Stores a perspective projection for WebVR info a given matrix\r\n * @param fov defines the field of view\r\n * @param znear defines the near clip plane\r\n * @param zfar defines the far clip plane\r\n * @param result defines the target matrix\r\n * @param rightHanded defines if the matrix must be in right-handed mode (false by default)\r\n */\r\n public static PerspectiveFovWebVRToRef(fov: { upDegrees: number, downDegrees: number, leftDegrees: number, rightDegrees: number }, znear: number, zfar: number, result: Matrix, rightHanded = false): void {\r\n\r\n var rightHandedFactor = rightHanded ? -1 : 1;\r\n\r\n var upTan = Math.tan(fov.upDegrees * Math.PI / 180.0);\r\n var downTan = Math.tan(fov.downDegrees * Math.PI / 180.0);\r\n var leftTan = Math.tan(fov.leftDegrees * Math.PI / 180.0);\r\n var rightTan = Math.tan(fov.rightDegrees * Math.PI / 180.0);\r\n var xScale = 2.0 / (leftTan + rightTan);\r\n var yScale = 2.0 / (upTan + downTan);\r\n const m = result._m;\r\n m[0] = xScale;\r\n m[1] = m[2] = m[3] = m[4] = 0.0;\r\n m[5] = yScale;\r\n m[6] = m[7] = 0.0;\r\n m[8] = ((leftTan - rightTan) * xScale * 0.5);\r\n m[9] = -((upTan - downTan) * yScale * 0.5);\r\n m[10] = -zfar / (znear - zfar);\r\n m[11] = 1.0 * rightHandedFactor;\r\n m[12] = m[13] = m[15] = 0.0;\r\n m[14] = -(2.0 * zfar * znear) / (zfar - znear);\r\n\r\n result._markAsUpdated();\r\n }\r\n\r\n /**\r\n * Computes a complete transformation matrix\r\n * @param viewport defines the viewport to use\r\n * @param world defines the world matrix\r\n * @param view defines the view matrix\r\n * @param projection defines the projection matrix\r\n * @param zmin defines the near clip plane\r\n * @param zmax defines the far clip plane\r\n * @returns the transformation matrix\r\n */\r\n public static GetFinalMatrix(viewport: DeepImmutable, world: DeepImmutable, view: DeepImmutable, projection: DeepImmutable, zmin: number, zmax: number): Matrix {\r\n var cw = viewport.width;\r\n var ch = viewport.height;\r\n var cx = viewport.x;\r\n var cy = viewport.y;\r\n\r\n var viewportMatrix = Matrix.FromValues(\r\n cw / 2.0, 0.0, 0.0, 0.0,\r\n 0.0, -ch / 2.0, 0.0, 0.0,\r\n 0.0, 0.0, zmax - zmin, 0.0,\r\n cx + cw / 2.0, ch / 2.0 + cy, zmin, 1.0);\r\n\r\n var matrix = MathTmp.Matrix[0];\r\n world.multiplyToRef(view, matrix);\r\n matrix.multiplyToRef(projection, matrix);\r\n return matrix.multiply(viewportMatrix);\r\n }\r\n\r\n /**\r\n * Extracts a 2x2 matrix from a given matrix and store the result in a Float32Array\r\n * @param matrix defines the matrix to use\r\n * @returns a new Float32Array array with 4 elements : the 2x2 matrix extracted from the given matrix\r\n */\r\n public static GetAsMatrix2x2(matrix: DeepImmutable): Float32Array | Array {\r\n const m = matrix.m;\r\n const arr = [m[0], m[1], m[4], m[5]];\r\n return PerformanceConfigurator.MatrixUse64Bits ? arr : new Float32Array(arr);\r\n }\r\n /**\r\n * Extracts a 3x3 matrix from a given matrix and store the result in a Float32Array\r\n * @param matrix defines the matrix to use\r\n * @returns a new Float32Array array with 9 elements : the 3x3 matrix extracted from the given matrix\r\n */\r\n public static GetAsMatrix3x3(matrix: DeepImmutable): Float32Array | Array {\r\n const m = matrix.m;\r\n const arr = [\r\n m[0], m[1], m[2],\r\n m[4], m[5], m[6],\r\n m[8], m[9], m[10]\r\n ];\r\n return PerformanceConfigurator.MatrixUse64Bits ? arr : new Float32Array(arr);\r\n }\r\n\r\n /**\r\n * Compute the transpose of a given matrix\r\n * @param matrix defines the matrix to transpose\r\n * @returns the new matrix\r\n */\r\n public static Transpose(matrix: DeepImmutable): Matrix {\r\n var result = new Matrix();\r\n Matrix.TransposeToRef(matrix, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Compute the transpose of a matrix and store it in a target matrix\r\n * @param matrix defines the matrix to transpose\r\n * @param result defines the target matrix\r\n */\r\n public static TransposeToRef(matrix: DeepImmutable, result: Matrix): void {\r\n const rm = result._m;\r\n const mm = matrix.m;\r\n rm[0] = mm[0];\r\n rm[1] = mm[4];\r\n rm[2] = mm[8];\r\n rm[3] = mm[12];\r\n\r\n rm[4] = mm[1];\r\n rm[5] = mm[5];\r\n rm[6] = mm[9];\r\n rm[7] = mm[13];\r\n\r\n rm[8] = mm[2];\r\n rm[9] = mm[6];\r\n rm[10] = mm[10];\r\n rm[11] = mm[14];\r\n\r\n rm[12] = mm[3];\r\n rm[13] = mm[7];\r\n rm[14] = mm[11];\r\n rm[15] = mm[15];\r\n // identity-ness does not change when transposing\r\n result._updateIdentityStatus((matrix as Matrix)._isIdentity, (matrix as Matrix)._isIdentityDirty);\r\n }\r\n\r\n /**\r\n * Computes a reflection matrix from a plane\r\n * @param plane defines the reflection plane\r\n * @returns a new matrix\r\n */\r\n public static Reflection(plane: DeepImmutable): Matrix {\r\n var matrix = new Matrix();\r\n Matrix.ReflectionToRef(plane, matrix);\r\n return matrix;\r\n }\r\n\r\n /**\r\n * Computes a reflection matrix from a plane\r\n * @param plane defines the reflection plane\r\n * @param result defines the target matrix\r\n */\r\n public static ReflectionToRef(plane: DeepImmutable, result: Matrix): void {\r\n plane.normalize();\r\n var x = plane.normal.x;\r\n var y = plane.normal.y;\r\n var z = plane.normal.z;\r\n var temp = -2 * x;\r\n var temp2 = -2 * y;\r\n var temp3 = -2 * z;\r\n Matrix.FromValuesToRef(\r\n temp * x + 1, temp2 * x, temp3 * x, 0.0,\r\n temp * y, temp2 * y + 1, temp3 * y, 0.0,\r\n temp * z, temp2 * z, temp3 * z + 1, 0.0,\r\n temp * plane.d, temp2 * plane.d, temp3 * plane.d, 1.0,\r\n result\r\n );\r\n }\r\n\r\n /**\r\n * Sets the given matrix as a rotation matrix composed from the 3 left handed axes\r\n * @param xaxis defines the value of the 1st axis\r\n * @param yaxis defines the value of the 2nd axis\r\n * @param zaxis defines the value of the 3rd axis\r\n * @param result defines the target matrix\r\n */\r\n public static FromXYZAxesToRef(xaxis: DeepImmutable, yaxis: DeepImmutable, zaxis: DeepImmutable, result: Matrix) {\r\n Matrix.FromValuesToRef(\r\n xaxis._x, xaxis._y, xaxis._z, 0.0,\r\n yaxis._x, yaxis._y, yaxis._z, 0.0,\r\n zaxis._x, zaxis._y, zaxis._z, 0.0,\r\n 0.0, 0.0, 0.0, 1.0,\r\n result\r\n );\r\n }\r\n\r\n /**\r\n * Creates a rotation matrix from a quaternion and stores it in a target matrix\r\n * @param quat defines the quaternion to use\r\n * @param result defines the target matrix\r\n */\r\n public static FromQuaternionToRef(quat: DeepImmutable, result: Matrix) {\r\n var xx = quat._x * quat._x;\r\n var yy = quat._y * quat._y;\r\n var zz = quat._z * quat._z;\r\n var xy = quat._x * quat._y;\r\n var zw = quat._z * quat._w;\r\n var zx = quat._z * quat._x;\r\n var yw = quat._y * quat._w;\r\n var yz = quat._y * quat._z;\r\n var xw = quat._x * quat._w;\r\n\r\n result._m[0] = 1.0 - (2.0 * (yy + zz));\r\n result._m[1] = 2.0 * (xy + zw);\r\n result._m[2] = 2.0 * (zx - yw);\r\n result._m[3] = 0.0;\r\n\r\n result._m[4] = 2.0 * (xy - zw);\r\n result._m[5] = 1.0 - (2.0 * (zz + xx));\r\n result._m[6] = 2.0 * (yz + xw);\r\n result._m[7] = 0.0;\r\n\r\n result._m[8] = 2.0 * (zx + yw);\r\n result._m[9] = 2.0 * (yz - xw);\r\n result._m[10] = 1.0 - (2.0 * (yy + xx));\r\n result._m[11] = 0.0;\r\n\r\n result._m[12] = 0.0;\r\n result._m[13] = 0.0;\r\n result._m[14] = 0.0;\r\n result._m[15] = 1.0;\r\n\r\n result._markAsUpdated();\r\n }\r\n}\r\n\r\n/**\r\n * @hidden\r\n * Same as Tmp but not exported to keep it only for math functions to avoid conflicts\r\n */\r\nclass MathTmp {\r\n public static Vector3: Vector3[] = ArrayTools.BuildArray(6, Vector3.Zero);\r\n public static Matrix: Matrix[] = ArrayTools.BuildArray(2, Matrix.Identity);\r\n public static Quaternion: Quaternion[] = ArrayTools.BuildArray(3, Quaternion.Zero);\r\n}\r\n\r\n/**\r\n * @hidden\r\n */\r\nexport class TmpVectors {\r\n public static Vector2: Vector2[] = ArrayTools.BuildArray(3, Vector2.Zero); // 3 temp Vector2 at once should be enough\r\n public static Vector3: Vector3[] = ArrayTools.BuildArray(13, Vector3.Zero); // 13 temp Vector3 at once should be enough\r\n public static Vector4: Vector4[] = ArrayTools.BuildArray(3, Vector4.Zero); // 3 temp Vector4 at once should be enough\r\n public static Quaternion: Quaternion[] = ArrayTools.BuildArray(2, Quaternion.Zero); // 2 temp Quaternion at once should be enough\r\n public static Matrix: Matrix[] = ArrayTools.BuildArray(8, Matrix.Identity); // 8 temp Matrices at once should be enough\r\n}\r\n\r\n_TypeStore.RegisteredTypes[\"BABYLON.Vector2\"] = Vector2;\r\n_TypeStore.RegisteredTypes[\"BABYLON.Vector3\"] = Vector3;\r\n_TypeStore.RegisteredTypes[\"BABYLON.Vector4\"] = Vector4;\r\n_TypeStore.RegisteredTypes[\"BABYLON.Matrix\"] = Matrix;","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\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\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 __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","import { Tags } from \"../Misc/tags\";\r\nimport { Nullable } from \"../types\";\r\nimport { Quaternion, Vector2, Vector3, Matrix } from \"../Maths/math.vector\";\r\nimport { _DevTools } from './devTools';\r\nimport { IAnimatable } from '../Animations/animatable.interface';\r\nimport { Color4, Color3 } from '../Maths/math.color';\r\n\r\ndeclare type Scene = import(\"../scene\").Scene;\r\ndeclare type Camera = import(\"../Cameras/camera\").Camera;\r\n\r\ndeclare type ImageProcessingConfiguration = import(\"../Materials/imageProcessingConfiguration\").ImageProcessingConfiguration;\r\ndeclare type FresnelParameters = import(\"../Materials/fresnelParameters\").FresnelParameters;\r\ndeclare type ColorCurves = import(\"../Materials/colorCurves\").ColorCurves;\r\ndeclare type BaseTexture = import(\"../Materials/Textures/baseTexture\").BaseTexture;\r\n\r\nvar __decoratorInitialStore = {};\r\nvar __mergedStore = {};\r\n\r\nvar _copySource = function (creationFunction: () => T, source: T, instanciate: boolean): T {\r\n var destination = creationFunction();\r\n\r\n // Tags\r\n if (Tags) {\r\n Tags.AddTagsTo(destination, (source).tags);\r\n }\r\n\r\n var classStore = getMergedStore(destination);\r\n\r\n // Properties\r\n for (var property in classStore) {\r\n var propertyDescriptor = classStore[property];\r\n var sourceProperty = (source)[property];\r\n var propertyType = propertyDescriptor.type;\r\n\r\n if (sourceProperty !== undefined && sourceProperty !== null && property !== \"uniqueId\") {\r\n switch (propertyType) {\r\n case 0: // Value\r\n case 6: // Mesh reference\r\n case 11: // Camera reference\r\n (destination)[property] = sourceProperty;\r\n break;\r\n case 1: // Texture\r\n (destination)[property] = (instanciate || sourceProperty.isRenderTarget) ? sourceProperty : sourceProperty.clone();\r\n break;\r\n case 2: // Color3\r\n case 3: // FresnelParameters\r\n case 4: // Vector2\r\n case 5: // Vector3\r\n case 7: // Color Curves\r\n case 10: // Quaternion\r\n case 12: // Matrix\r\n (destination)[property] = instanciate ? sourceProperty : sourceProperty.clone();\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return destination;\r\n};\r\n\r\nfunction getDirectStore(target: any): any {\r\n var classKey = target.getClassName();\r\n\r\n if (!(__decoratorInitialStore)[classKey]) {\r\n (__decoratorInitialStore)[classKey] = {};\r\n }\r\n\r\n return (__decoratorInitialStore)[classKey];\r\n}\r\n\r\n/**\r\n * Return the list of properties flagged as serializable\r\n * @param target: host object\r\n */\r\nfunction getMergedStore(target: any): any {\r\n let classKey = target.getClassName();\r\n\r\n if ((__mergedStore)[classKey]) {\r\n return (__mergedStore)[classKey];\r\n }\r\n\r\n (__mergedStore)[classKey] = {};\r\n\r\n let store = (__mergedStore)[classKey];\r\n let currentTarget = target;\r\n let currentKey = classKey;\r\n while (currentKey) {\r\n let initialStore = (__decoratorInitialStore)[currentKey];\r\n for (var property in initialStore) {\r\n store[property] = initialStore[property];\r\n }\r\n\r\n let parent: any;\r\n let done = false;\r\n\r\n do {\r\n parent = Object.getPrototypeOf(currentTarget);\r\n if (!parent.getClassName) {\r\n done = true;\r\n break;\r\n }\r\n\r\n if (parent.getClassName() !== currentKey) {\r\n break;\r\n }\r\n\r\n currentTarget = parent;\r\n }\r\n while (parent);\r\n\r\n if (done) {\r\n break;\r\n }\r\n\r\n currentKey = parent.getClassName();\r\n currentTarget = parent;\r\n }\r\n\r\n return store;\r\n}\r\n\r\nfunction generateSerializableMember(type: number, sourceName?: string) {\r\n return (target: any, propertyKey: string | symbol) => {\r\n var classStore = getDirectStore(target);\r\n\r\n if (!classStore[propertyKey]) {\r\n classStore[propertyKey] = { type: type, sourceName: sourceName };\r\n }\r\n };\r\n}\r\n\r\nfunction generateExpandMember(setCallback: string, targetKey: Nullable = null) {\r\n return (target: any, propertyKey: string) => {\r\n var key = targetKey || (\"_\" + propertyKey);\r\n Object.defineProperty(target, propertyKey, {\r\n get: function(this: any) {\r\n return this[key];\r\n },\r\n set: function(this: any, value) {\r\n if (this[key] === value) {\r\n return;\r\n }\r\n this[key] = value;\r\n\r\n target[setCallback].apply(this);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n };\r\n}\r\n\r\nexport function expandToProperty(callback: string, targetKey: Nullable = null) {\r\n return generateExpandMember(callback, targetKey);\r\n}\r\n\r\nexport function serialize(sourceName?: string) {\r\n return generateSerializableMember(0, sourceName); // value member\r\n}\r\n\r\nexport function serializeAsTexture(sourceName?: string) {\r\n return generateSerializableMember(1, sourceName); // texture member\r\n}\r\n\r\nexport function serializeAsColor3(sourceName?: string) {\r\n return generateSerializableMember(2, sourceName); // color3 member\r\n}\r\n\r\nexport function serializeAsFresnelParameters(sourceName?: string) {\r\n return generateSerializableMember(3, sourceName); // fresnel parameters member\r\n}\r\n\r\nexport function serializeAsVector2(sourceName?: string) {\r\n return generateSerializableMember(4, sourceName); // vector2 member\r\n}\r\n\r\nexport function serializeAsVector3(sourceName?: string) {\r\n return generateSerializableMember(5, sourceName); // vector3 member\r\n}\r\n\r\nexport function serializeAsMeshReference(sourceName?: string) {\r\n return generateSerializableMember(6, sourceName); // mesh reference member\r\n}\r\n\r\nexport function serializeAsColorCurves(sourceName?: string) {\r\n return generateSerializableMember(7, sourceName); // color curves\r\n}\r\n\r\nexport function serializeAsColor4(sourceName?: string) {\r\n return generateSerializableMember(8, sourceName); // color 4\r\n}\r\n\r\nexport function serializeAsImageProcessingConfiguration(sourceName?: string) {\r\n return generateSerializableMember(9, sourceName); // image processing\r\n}\r\n\r\nexport function serializeAsQuaternion(sourceName?: string) {\r\n return generateSerializableMember(10, sourceName); // quaternion member\r\n}\r\n\r\nexport function serializeAsMatrix(sourceName?: string) {\r\n return generateSerializableMember(12, sourceName); // matrix member\r\n}\r\n\r\n/**\r\n * Decorator used to define property that can be serialized as reference to a camera\r\n * @param sourceName defines the name of the property to decorate\r\n */\r\nexport function serializeAsCameraReference(sourceName?: string) {\r\n return generateSerializableMember(11, sourceName); // camera reference member\r\n}\r\n\r\n/**\r\n * Class used to help serialization objects\r\n */\r\nexport class SerializationHelper {\r\n /** @hidden */\r\n public static _ImageProcessingConfigurationParser = (sourceProperty: any): ImageProcessingConfiguration => {\r\n throw _DevTools.WarnImport(\"ImageProcessingConfiguration\");\r\n }\r\n\r\n /** @hidden */\r\n public static _FresnelParametersParser = (sourceProperty: any): FresnelParameters => {\r\n throw _DevTools.WarnImport(\"FresnelParameters\");\r\n }\r\n\r\n /** @hidden */\r\n public static _ColorCurvesParser = (sourceProperty: any): ColorCurves => {\r\n throw _DevTools.WarnImport(\"ColorCurves\");\r\n }\r\n\r\n /** @hidden */\r\n public static _TextureParser = (sourceProperty: any, scene: Scene, rootUrl: string): Nullable => {\r\n throw _DevTools.WarnImport(\"Texture\");\r\n }\r\n\r\n /**\r\n * Appends the serialized animations from the source animations\r\n * @param source Source containing the animations\r\n * @param destination Target to store the animations\r\n */\r\n public static AppendSerializedAnimations(source: IAnimatable, destination: any): void {\r\n if (source.animations) {\r\n destination.animations = [];\r\n for (var animationIndex = 0; animationIndex < source.animations.length; animationIndex++) {\r\n var animation = source.animations[animationIndex];\r\n\r\n destination.animations.push(animation.serialize());\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Static function used to serialized a specific entity\r\n * @param entity defines the entity to serialize\r\n * @param serializationObject defines the optional target obecjt where serialization data will be stored\r\n * @returns a JSON compatible object representing the serialization of the entity\r\n */\r\n public static Serialize(entity: T, serializationObject?: any): any {\r\n if (!serializationObject) {\r\n serializationObject = {};\r\n }\r\n\r\n // Tags\r\n if (Tags) {\r\n serializationObject.tags = Tags.GetTags(entity);\r\n }\r\n\r\n var serializedProperties = getMergedStore(entity);\r\n\r\n // Properties\r\n for (var property in serializedProperties) {\r\n var propertyDescriptor = serializedProperties[property];\r\n var targetPropertyName = propertyDescriptor.sourceName || property;\r\n var propertyType = propertyDescriptor.type;\r\n var sourceProperty = (entity)[property];\r\n\r\n if (sourceProperty !== undefined && sourceProperty !== null && property !== \"uniqueId\") {\r\n switch (propertyType) {\r\n case 0: // Value\r\n serializationObject[targetPropertyName] = sourceProperty;\r\n break;\r\n case 1: // Texture\r\n serializationObject[targetPropertyName] = sourceProperty.serialize();\r\n break;\r\n case 2: // Color3\r\n serializationObject[targetPropertyName] = sourceProperty.asArray();\r\n break;\r\n case 3: // FresnelParameters\r\n serializationObject[targetPropertyName] = sourceProperty.serialize();\r\n break;\r\n case 4: // Vector2\r\n serializationObject[targetPropertyName] = sourceProperty.asArray();\r\n break;\r\n case 5: // Vector3\r\n serializationObject[targetPropertyName] = sourceProperty.asArray();\r\n break;\r\n case 6: // Mesh reference\r\n serializationObject[targetPropertyName] = sourceProperty.id;\r\n break;\r\n case 7: // Color Curves\r\n serializationObject[targetPropertyName] = sourceProperty.serialize();\r\n break;\r\n case 8: // Color 4\r\n serializationObject[targetPropertyName] = (sourceProperty).asArray();\r\n break;\r\n case 9: // Image Processing\r\n serializationObject[targetPropertyName] = (sourceProperty).serialize();\r\n break;\r\n case 10: // Quaternion\r\n serializationObject[targetPropertyName] = (sourceProperty).asArray();\r\n break;\r\n case 11: // Camera reference\r\n serializationObject[targetPropertyName] = (sourceProperty).id;\r\n case 12: // Matrix\r\n serializationObject[targetPropertyName] = (sourceProperty).asArray();\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return serializationObject;\r\n }\r\n\r\n /**\r\n * Creates a new entity from a serialization data object\r\n * @param creationFunction defines a function used to instanciated the new entity\r\n * @param source defines the source serialization data\r\n * @param scene defines the hosting scene\r\n * @param rootUrl defines the root url for resources\r\n * @returns a new entity\r\n */\r\n public static Parse(creationFunction: () => T, source: any, scene: Nullable, rootUrl: Nullable = null): T {\r\n var destination = creationFunction();\r\n\r\n if (!rootUrl) {\r\n rootUrl = \"\";\r\n }\r\n\r\n // Tags\r\n if (Tags) {\r\n Tags.AddTagsTo(destination, source.tags);\r\n }\r\n\r\n var classStore = getMergedStore(destination);\r\n\r\n // Properties\r\n for (var property in classStore) {\r\n var propertyDescriptor = classStore[property];\r\n var sourceProperty = source[propertyDescriptor.sourceName || property];\r\n var propertyType = propertyDescriptor.type;\r\n\r\n if (sourceProperty !== undefined && sourceProperty !== null && property !== \"uniqueId\") {\r\n var dest = destination;\r\n switch (propertyType) {\r\n case 0: // Value\r\n dest[property] = sourceProperty;\r\n break;\r\n case 1: // Texture\r\n if (scene) {\r\n dest[property] = SerializationHelper._TextureParser(sourceProperty, scene, rootUrl);\r\n }\r\n break;\r\n case 2: // Color3\r\n dest[property] = Color3.FromArray(sourceProperty);\r\n break;\r\n case 3: // FresnelParameters\r\n dest[property] = SerializationHelper._FresnelParametersParser(sourceProperty);\r\n break;\r\n case 4: // Vector2\r\n dest[property] = Vector2.FromArray(sourceProperty);\r\n break;\r\n case 5: // Vector3\r\n dest[property] = Vector3.FromArray(sourceProperty);\r\n break;\r\n case 6: // Mesh reference\r\n if (scene) {\r\n dest[property] = scene.getLastMeshByID(sourceProperty);\r\n }\r\n break;\r\n case 7: // Color Curves\r\n dest[property] = SerializationHelper._ColorCurvesParser(sourceProperty);\r\n break;\r\n case 8: // Color 4\r\n dest[property] = Color4.FromArray(sourceProperty);\r\n break;\r\n case 9: // Image Processing\r\n dest[property] = SerializationHelper._ImageProcessingConfigurationParser(sourceProperty);\r\n break;\r\n case 10: // Quaternion\r\n dest[property] = Quaternion.FromArray(sourceProperty);\r\n break;\r\n case 11: // Camera reference\r\n if (scene) {\r\n dest[property] = scene.getCameraByID(sourceProperty);\r\n }\r\n case 12: // Matrix\r\n dest[property] = Matrix.FromArray(sourceProperty);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return destination;\r\n }\r\n\r\n /**\r\n * Clones an object\r\n * @param creationFunction defines the function used to instanciate the new object\r\n * @param source defines the source object\r\n * @returns the cloned object\r\n */\r\n public static Clone(creationFunction: () => T, source: T): T {\r\n return _copySource(creationFunction, source, false);\r\n }\r\n\r\n /**\r\n * Instanciates a new object based on a source one (some data will be shared between both object)\r\n * @param creationFunction defines the function used to instanciate the new object\r\n * @param source defines the source object\r\n * @returns the new object\r\n */\r\n public static Instanciate(creationFunction: () => T, source: T): T {\r\n return _copySource(creationFunction, source, true);\r\n }\r\n}\r\n","import { Nullable, DataArray } from \"../types\";\r\nimport { ThinEngine } from \"../Engines/thinEngine\";\r\nimport { DataBuffer } from './dataBuffer';\r\n\r\n/**\r\n * Class used to store data that will be store in GPU memory\r\n */\r\nexport class Buffer {\r\n private _engine: ThinEngine;\r\n private _buffer: Nullable;\r\n /** @hidden */\r\n public _data: Nullable;\r\n private _updatable: boolean;\r\n private _instanced: boolean;\r\n private _divisor: number;\r\n private _isAlreadyOwned = false;\r\n\r\n /**\r\n * Gets the byte stride.\r\n */\r\n public readonly byteStride: number;\r\n\r\n /**\r\n * Constructor\r\n * @param engine the engine\r\n * @param data the data to use for this buffer\r\n * @param updatable whether the data is updatable\r\n * @param stride the stride (optional)\r\n * @param postponeInternalCreation whether to postpone creating the internal WebGL buffer (optional)\r\n * @param instanced whether the buffer is instanced (optional)\r\n * @param useBytes set to true if the stride in in bytes (optional)\r\n * @param divisor sets an optional divisor for instances (1 by default)\r\n */\r\n constructor(engine: any, data: DataArray, updatable: boolean, stride = 0, postponeInternalCreation = false, instanced = false, useBytes = false, divisor?: number) {\r\n if (engine.getScene) { // old versions of VertexBuffer accepted 'mesh' instead of 'engine'\r\n this._engine = engine.getScene().getEngine();\r\n }\r\n else {\r\n this._engine = engine;\r\n }\r\n\r\n this._updatable = updatable;\r\n this._instanced = instanced;\r\n this._divisor = divisor || 1;\r\n\r\n this._data = data;\r\n\r\n this.byteStride = useBytes ? stride : stride * Float32Array.BYTES_PER_ELEMENT;\r\n\r\n if (!postponeInternalCreation) { // by default\r\n this.create();\r\n }\r\n }\r\n\r\n /**\r\n * Create a new VertexBuffer based on the current buffer\r\n * @param kind defines the vertex buffer kind (position, normal, etc.)\r\n * @param offset defines offset in the buffer (0 by default)\r\n * @param size defines the size in floats of attributes (position is 3 for instance)\r\n * @param stride defines the stride size in floats in the buffer (the offset to apply to reach next value when data is interleaved)\r\n * @param instanced defines if the vertex buffer contains indexed data\r\n * @param useBytes defines if the offset and stride are in bytes *\r\n * @param divisor sets an optional divisor for instances (1 by default)\r\n * @returns the new vertex buffer\r\n */\r\n public createVertexBuffer(kind: string, offset: number, size: number, stride?: number, instanced?: boolean, useBytes = false, divisor?: number): VertexBuffer {\r\n const byteOffset = useBytes ? offset : offset * Float32Array.BYTES_PER_ELEMENT;\r\n const byteStride = stride ? (useBytes ? stride : stride * Float32Array.BYTES_PER_ELEMENT) : this.byteStride;\r\n\r\n // a lot of these parameters are ignored as they are overriden by the buffer\r\n return new VertexBuffer(this._engine, this, kind, this._updatable, true, byteStride, instanced === undefined ? this._instanced : instanced, byteOffset, size, undefined, undefined, true, this._divisor || divisor);\r\n }\r\n\r\n // Properties\r\n\r\n /**\r\n * Gets a boolean indicating if the Buffer is updatable?\r\n * @returns true if the buffer is updatable\r\n */\r\n public isUpdatable(): boolean {\r\n return this._updatable;\r\n }\r\n\r\n /**\r\n * Gets current buffer's data\r\n * @returns a DataArray or null\r\n */\r\n public getData(): Nullable {\r\n return this._data;\r\n }\r\n\r\n /**\r\n * Gets underlying native buffer\r\n * @returns underlying native buffer\r\n */\r\n public getBuffer(): Nullable {\r\n return this._buffer;\r\n }\r\n\r\n /**\r\n * Gets the stride in float32 units (i.e. byte stride / 4).\r\n * May not be an integer if the byte stride is not divisible by 4.\r\n * @returns the stride in float32 units\r\n * @deprecated Please use byteStride instead.\r\n */\r\n public getStrideSize(): number {\r\n return this.byteStride / Float32Array.BYTES_PER_ELEMENT;\r\n }\r\n\r\n // Methods\r\n\r\n /**\r\n * Store data into the buffer. If the buffer was already used it will be either recreated or updated depending on isUpdatable property\r\n * @param data defines the data to store\r\n */\r\n public create(data: Nullable = null): void {\r\n if (!data && this._buffer) {\r\n return; // nothing to do\r\n }\r\n\r\n data = data || this._data;\r\n\r\n if (!data) {\r\n return;\r\n }\r\n\r\n if (!this._buffer) { // create buffer\r\n if (this._updatable) {\r\n this._buffer = this._engine.createDynamicVertexBuffer(data);\r\n this._data = data;\r\n } else {\r\n this._buffer = this._engine.createVertexBuffer(data);\r\n }\r\n } else if (this._updatable) { // update buffer\r\n this._engine.updateDynamicVertexBuffer(this._buffer, data);\r\n this._data = data;\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _rebuild(): void {\r\n this._buffer = null;\r\n this.create(this._data);\r\n }\r\n\r\n /**\r\n * Update current buffer data\r\n * @param data defines the data to store\r\n */\r\n public update(data: DataArray): void {\r\n this.create(data);\r\n }\r\n\r\n /**\r\n * Updates the data directly.\r\n * @param data the new data\r\n * @param offset the new offset\r\n * @param vertexCount the vertex count (optional)\r\n * @param useBytes set to true if the offset is in bytes\r\n */\r\n public updateDirectly(data: DataArray, offset: number, vertexCount?: number, useBytes: boolean = false): void {\r\n if (!this._buffer) {\r\n return;\r\n }\r\n\r\n if (this._updatable) { // update buffer\r\n this._engine.updateDynamicVertexBuffer(this._buffer, data, useBytes ? offset : offset * Float32Array.BYTES_PER_ELEMENT, (vertexCount ? vertexCount * this.byteStride : undefined));\r\n this._data = null;\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _increaseReferences() {\r\n if (!this._buffer) {\r\n return;\r\n }\r\n\r\n if (!this._isAlreadyOwned) {\r\n this._isAlreadyOwned = true;\r\n return;\r\n }\r\n\r\n this._buffer.references++;\r\n }\r\n\r\n /**\r\n * Release all resources\r\n */\r\n public dispose(): void {\r\n if (!this._buffer) {\r\n return;\r\n }\r\n if (this._engine._releaseBuffer(this._buffer)) {\r\n this._buffer = null;\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Specialized buffer used to store vertex data\r\n */\r\nexport class VertexBuffer {\r\n /** @hidden */\r\n public _buffer: Buffer;\r\n private _kind: string;\r\n private _size: number;\r\n private _ownsBuffer: boolean;\r\n private _instanced: boolean;\r\n private _instanceDivisor: number;\r\n\r\n /**\r\n * The byte type.\r\n */\r\n public static readonly BYTE = 5120;\r\n\r\n /**\r\n * The unsigned byte type.\r\n */\r\n public static readonly UNSIGNED_BYTE = 5121;\r\n\r\n /**\r\n * The short type.\r\n */\r\n public static readonly SHORT = 5122;\r\n\r\n /**\r\n * The unsigned short type.\r\n */\r\n public static readonly UNSIGNED_SHORT = 5123;\r\n\r\n /**\r\n * The integer type.\r\n */\r\n public static readonly INT = 5124;\r\n\r\n /**\r\n * The unsigned integer type.\r\n */\r\n public static readonly UNSIGNED_INT = 5125;\r\n\r\n /**\r\n * The float type.\r\n */\r\n public static readonly FLOAT = 5126;\r\n\r\n /**\r\n * Gets or sets the instance divisor when in instanced mode\r\n */\r\n public get instanceDivisor(): number {\r\n return this._instanceDivisor;\r\n }\r\n\r\n public set instanceDivisor(value: number) {\r\n this._instanceDivisor = value;\r\n if (value == 0) {\r\n this._instanced = false;\r\n } else {\r\n this._instanced = true;\r\n }\r\n }\r\n\r\n /**\r\n * Gets the byte stride.\r\n */\r\n public readonly byteStride: number;\r\n\r\n /**\r\n * Gets the byte offset.\r\n */\r\n public readonly byteOffset: number;\r\n\r\n /**\r\n * Gets whether integer data values should be normalized into a certain range when being casted to a float.\r\n */\r\n public readonly normalized: boolean;\r\n\r\n /**\r\n * Gets the data type of each component in the array.\r\n */\r\n public readonly type: number;\r\n\r\n /**\r\n * Constructor\r\n * @param engine the engine\r\n * @param data the data to use for this vertex buffer\r\n * @param kind the vertex buffer kind\r\n * @param updatable whether the data is updatable\r\n * @param postponeInternalCreation whether to postpone creating the internal WebGL buffer (optional)\r\n * @param stride the stride (optional)\r\n * @param instanced whether the buffer is instanced (optional)\r\n * @param offset the offset of the data (optional)\r\n * @param size the number of components (optional)\r\n * @param type the type of the component (optional)\r\n * @param normalized whether the data contains normalized data (optional)\r\n * @param useBytes set to true if stride and offset are in bytes (optional)\r\n * @param divisor defines the instance divisor to use (1 by default)\r\n * @param takeBufferOwnership defines if the buffer should be released when the vertex buffer is disposed\r\n */\r\n constructor(engine: any, data: DataArray | Buffer, kind: string, updatable: boolean, postponeInternalCreation?: boolean, stride?: number,\r\n instanced?: boolean, offset?: number, size?: number, type?: number, normalized = false, useBytes = false, divisor = 1, takeBufferOwnership = false) {\r\n if (data instanceof Buffer) {\r\n this._buffer = data;\r\n this._ownsBuffer = takeBufferOwnership;\r\n\r\n if (takeBufferOwnership) {\r\n this._buffer._increaseReferences();\r\n }\r\n } else {\r\n this._buffer = new Buffer(engine, data, updatable, stride, postponeInternalCreation, instanced, useBytes);\r\n this._ownsBuffer = true;\r\n }\r\n\r\n this._kind = kind;\r\n\r\n if (type == undefined) {\r\n const data = this.getData();\r\n this.type = VertexBuffer.FLOAT;\r\n if (data instanceof Int8Array) { this.type = VertexBuffer.BYTE; }\r\n else if (data instanceof Uint8Array) { this.type = VertexBuffer.UNSIGNED_BYTE; }\r\n else if (data instanceof Int16Array) { this.type = VertexBuffer.SHORT; }\r\n else if (data instanceof Uint16Array) { this.type = VertexBuffer.UNSIGNED_SHORT; }\r\n else if (data instanceof Int32Array) { this.type = VertexBuffer.INT; }\r\n else if (data instanceof Uint32Array) { this.type = VertexBuffer.UNSIGNED_INT; }\r\n }\r\n else {\r\n this.type = type;\r\n }\r\n\r\n const typeByteLength = VertexBuffer.GetTypeByteLength(this.type);\r\n\r\n if (useBytes) {\r\n this._size = size || (stride ? (stride / typeByteLength) : VertexBuffer.DeduceStride(kind));\r\n this.byteStride = stride || this._buffer.byteStride || (this._size * typeByteLength);\r\n this.byteOffset = offset || 0;\r\n }\r\n else {\r\n this._size = size || stride || VertexBuffer.DeduceStride(kind);\r\n this.byteStride = stride ? (stride * typeByteLength) : (this._buffer.byteStride || (this._size * typeByteLength));\r\n this.byteOffset = (offset || 0) * typeByteLength;\r\n }\r\n\r\n this.normalized = normalized;\r\n\r\n this._instanced = instanced !== undefined ? instanced : false;\r\n this._instanceDivisor = instanced ? divisor : 0;\r\n }\r\n\r\n /** @hidden */\r\n public _rebuild(): void {\r\n if (!this._buffer) {\r\n return;\r\n }\r\n\r\n this._buffer._rebuild();\r\n }\r\n\r\n /**\r\n * Returns the kind of the VertexBuffer (string)\r\n * @returns a string\r\n */\r\n public getKind(): string {\r\n return this._kind;\r\n }\r\n\r\n // Properties\r\n\r\n /**\r\n * Gets a boolean indicating if the VertexBuffer is updatable?\r\n * @returns true if the buffer is updatable\r\n */\r\n public isUpdatable(): boolean {\r\n return this._buffer.isUpdatable();\r\n }\r\n\r\n /**\r\n * Gets current buffer's data\r\n * @returns a DataArray or null\r\n */\r\n public getData(): Nullable {\r\n return this._buffer.getData();\r\n }\r\n\r\n /**\r\n * Gets underlying native buffer\r\n * @returns underlying native buffer\r\n */\r\n public getBuffer(): Nullable {\r\n return this._buffer.getBuffer();\r\n }\r\n\r\n /**\r\n * Gets the stride in float32 units (i.e. byte stride / 4).\r\n * May not be an integer if the byte stride is not divisible by 4.\r\n * @returns the stride in float32 units\r\n * @deprecated Please use byteStride instead.\r\n */\r\n public getStrideSize(): number {\r\n return this.byteStride / VertexBuffer.GetTypeByteLength(this.type);\r\n }\r\n\r\n /**\r\n * Returns the offset as a multiple of the type byte length.\r\n * @returns the offset in bytes\r\n * @deprecated Please use byteOffset instead.\r\n */\r\n public getOffset(): number {\r\n return this.byteOffset / VertexBuffer.GetTypeByteLength(this.type);\r\n }\r\n\r\n /**\r\n * Returns the number of components per vertex attribute (integer)\r\n * @returns the size in float\r\n */\r\n public getSize(): number {\r\n return this._size;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating is the internal buffer of the VertexBuffer is instanced\r\n * @returns true if this buffer is instanced\r\n */\r\n public getIsInstanced(): boolean {\r\n return this._instanced;\r\n }\r\n\r\n /**\r\n * Returns the instancing divisor, zero for non-instanced (integer).\r\n * @returns a number\r\n */\r\n public getInstanceDivisor(): number {\r\n return this._instanceDivisor;\r\n }\r\n\r\n // Methods\r\n\r\n /**\r\n * Store data into the buffer. If the buffer was already used it will be either recreated or updated depending on isUpdatable property\r\n * @param data defines the data to store\r\n */\r\n public create(data?: DataArray): void {\r\n this._buffer.create(data);\r\n }\r\n\r\n /**\r\n * Updates the underlying buffer according to the passed numeric array or Float32Array.\r\n * This function will create a new buffer if the current one is not updatable\r\n * @param data defines the data to store\r\n */\r\n public update(data: DataArray): void {\r\n this._buffer.update(data);\r\n }\r\n\r\n /**\r\n * Updates directly the underlying WebGLBuffer according to the passed numeric array or Float32Array.\r\n * Returns the directly updated WebGLBuffer.\r\n * @param data the new data\r\n * @param offset the new offset\r\n * @param useBytes set to true if the offset is in bytes\r\n */\r\n public updateDirectly(data: DataArray, offset: number, useBytes: boolean = false): void {\r\n this._buffer.updateDirectly(data, offset, undefined, useBytes);\r\n }\r\n\r\n /**\r\n * Disposes the VertexBuffer and the underlying WebGLBuffer.\r\n */\r\n public dispose(): void {\r\n if (this._ownsBuffer) {\r\n this._buffer.dispose();\r\n }\r\n }\r\n\r\n /**\r\n * Enumerates each value of this vertex buffer as numbers.\r\n * @param count the number of values to enumerate\r\n * @param callback the callback function called for each value\r\n */\r\n public forEach(count: number, callback: (value: number, index: number) => void): void {\r\n VertexBuffer.ForEach(this._buffer.getData()!, this.byteOffset, this.byteStride, this._size, this.type, count, this.normalized, callback);\r\n }\r\n\r\n // Enums\r\n /**\r\n * Positions\r\n */\r\n public static readonly PositionKind = \"position\";\r\n /**\r\n * Normals\r\n */\r\n public static readonly NormalKind = \"normal\";\r\n /**\r\n * Tangents\r\n */\r\n public static readonly TangentKind = \"tangent\";\r\n /**\r\n * Texture coordinates\r\n */\r\n public static readonly UVKind = \"uv\";\r\n /**\r\n * Texture coordinates 2\r\n */\r\n public static readonly UV2Kind = \"uv2\";\r\n /**\r\n * Texture coordinates 3\r\n */\r\n public static readonly UV3Kind = \"uv3\";\r\n /**\r\n * Texture coordinates 4\r\n */\r\n public static readonly UV4Kind = \"uv4\";\r\n /**\r\n * Texture coordinates 5\r\n */\r\n public static readonly UV5Kind = \"uv5\";\r\n /**\r\n * Texture coordinates 6\r\n */\r\n public static readonly UV6Kind = \"uv6\";\r\n /**\r\n * Colors\r\n */\r\n public static readonly ColorKind = \"color\";\r\n /**\r\n * Matrix indices (for bones)\r\n */\r\n public static readonly MatricesIndicesKind = \"matricesIndices\";\r\n /**\r\n * Matrix weights (for bones)\r\n */\r\n public static readonly MatricesWeightsKind = \"matricesWeights\";\r\n /**\r\n * Additional matrix indices (for bones)\r\n */\r\n public static readonly MatricesIndicesExtraKind = \"matricesIndicesExtra\";\r\n /**\r\n * Additional matrix weights (for bones)\r\n */\r\n public static readonly MatricesWeightsExtraKind = \"matricesWeightsExtra\";\r\n\r\n /**\r\n * Deduces the stride given a kind.\r\n * @param kind The kind string to deduce\r\n * @returns The deduced stride\r\n */\r\n public static DeduceStride(kind: string): number {\r\n switch (kind) {\r\n case VertexBuffer.UVKind:\r\n case VertexBuffer.UV2Kind:\r\n case VertexBuffer.UV3Kind:\r\n case VertexBuffer.UV4Kind:\r\n case VertexBuffer.UV5Kind:\r\n case VertexBuffer.UV6Kind:\r\n return 2;\r\n case VertexBuffer.NormalKind:\r\n case VertexBuffer.PositionKind:\r\n return 3;\r\n case VertexBuffer.ColorKind:\r\n case VertexBuffer.MatricesIndicesKind:\r\n case VertexBuffer.MatricesIndicesExtraKind:\r\n case VertexBuffer.MatricesWeightsKind:\r\n case VertexBuffer.MatricesWeightsExtraKind:\r\n case VertexBuffer.TangentKind:\r\n return 4;\r\n default:\r\n throw new Error(\"Invalid kind '\" + kind + \"'\");\r\n }\r\n }\r\n\r\n /**\r\n * Gets the byte length of the given type.\r\n * @param type the type\r\n * @returns the number of bytes\r\n */\r\n public static GetTypeByteLength(type: number): number {\r\n switch (type) {\r\n case VertexBuffer.BYTE:\r\n case VertexBuffer.UNSIGNED_BYTE:\r\n return 1;\r\n case VertexBuffer.SHORT:\r\n case VertexBuffer.UNSIGNED_SHORT:\r\n return 2;\r\n case VertexBuffer.INT:\r\n case VertexBuffer.UNSIGNED_INT:\r\n case VertexBuffer.FLOAT:\r\n return 4;\r\n default:\r\n throw new Error(`Invalid type '${type}'`);\r\n }\r\n }\r\n\r\n /**\r\n * Enumerates each value of the given parameters as numbers.\r\n * @param data the data to enumerate\r\n * @param byteOffset the byte offset of the data\r\n * @param byteStride the byte stride of the data\r\n * @param componentCount the number of components per element\r\n * @param componentType the type of the component\r\n * @param count the number of values to enumerate\r\n * @param normalized whether the data is normalized\r\n * @param callback the callback function called for each value\r\n */\r\n public static ForEach(data: DataArray, byteOffset: number, byteStride: number, componentCount: number, componentType: number, count: number, normalized: boolean, callback: (value: number, index: number) => void): void {\r\n if (data instanceof Array) {\r\n let offset = byteOffset / 4;\r\n const stride = byteStride / 4;\r\n for (let index = 0; index < count; index += componentCount) {\r\n for (let componentIndex = 0; componentIndex < componentCount; componentIndex++) {\r\n callback(data[offset + componentIndex], index + componentIndex);\r\n }\r\n offset += stride;\r\n }\r\n }\r\n else {\r\n const dataView = data instanceof ArrayBuffer ? new DataView(data) : new DataView(data.buffer, data.byteOffset, data.byteLength);\r\n const componentByteLength = VertexBuffer.GetTypeByteLength(componentType);\r\n for (let index = 0; index < count; index += componentCount) {\r\n let componentByteOffset = byteOffset;\r\n for (let componentIndex = 0; componentIndex < componentCount; componentIndex++) {\r\n const value = VertexBuffer._GetFloatValue(dataView, componentType, componentByteOffset, normalized);\r\n callback(value, index + componentIndex);\r\n componentByteOffset += componentByteLength;\r\n }\r\n byteOffset += byteStride;\r\n }\r\n }\r\n }\r\n\r\n private static _GetFloatValue(dataView: DataView, type: number, byteOffset: number, normalized: boolean): number {\r\n switch (type) {\r\n case VertexBuffer.BYTE: {\r\n let value = dataView.getInt8(byteOffset);\r\n if (normalized) {\r\n value = Math.max(value / 127, -1);\r\n }\r\n return value;\r\n }\r\n case VertexBuffer.UNSIGNED_BYTE: {\r\n let value = dataView.getUint8(byteOffset);\r\n if (normalized) {\r\n value = value / 255;\r\n }\r\n return value;\r\n }\r\n case VertexBuffer.SHORT: {\r\n let value = dataView.getInt16(byteOffset, true);\r\n if (normalized) {\r\n value = Math.max(value / 32767, -1);\r\n }\r\n return value;\r\n }\r\n case VertexBuffer.UNSIGNED_SHORT: {\r\n let value = dataView.getUint16(byteOffset, true);\r\n if (normalized) {\r\n value = value / 65535;\r\n }\r\n return value;\r\n }\r\n case VertexBuffer.INT: {\r\n return dataView.getInt32(byteOffset, true);\r\n }\r\n case VertexBuffer.UNSIGNED_INT: {\r\n return dataView.getUint32(byteOffset, true);\r\n }\r\n case VertexBuffer.FLOAT: {\r\n return dataView.getFloat32(byteOffset, true);\r\n }\r\n default: {\r\n throw new Error(`Invalid component type ${type}`);\r\n }\r\n }\r\n }\r\n}","import { Observable } from \"../Misc/observable\";\r\nimport { Nullable } from \"../types\";\r\n\r\nimport { DomManagement } from \"../Misc/domManagement\";\r\nimport { Logger } from \"../Misc/logger\";\r\nimport { IDisposable } from '../scene';\r\nimport { IPipelineContext } from '../Engines/IPipelineContext';\r\nimport { DataBuffer } from '../Meshes/dataBuffer';\r\nimport { ShaderProcessor } from '../Engines/Processors/shaderProcessor';\r\nimport { IMatrixLike, IVector2Like, IVector3Like, IVector4Like, IColor3Like, IColor4Like } from '../Maths/math.like';\r\nimport { ThinEngine } from '../Engines/thinEngine';\r\nimport { IEffectFallbacks } from './iEffectFallbacks';\r\n\r\ndeclare type Engine = import(\"../Engines/engine\").Engine;\r\ndeclare type InternalTexture = import(\"../Materials/Textures/internalTexture\").InternalTexture;\r\ndeclare type ThinTexture = import(\"../Materials/Textures/thinTexture\").ThinTexture;\r\ndeclare type RenderTargetTexture = import(\"../Materials/Textures/renderTargetTexture\").RenderTargetTexture;\r\ndeclare type PostProcess = import(\"../PostProcesses/postProcess\").PostProcess;\r\n\r\n/**\r\n * Options to be used when creating an effect.\r\n */\r\nexport interface IEffectCreationOptions {\r\n /**\r\n * Atrributes that will be used in the shader.\r\n */\r\n attributes: string[];\r\n /**\r\n * Uniform varible names that will be set in the shader.\r\n */\r\n uniformsNames: string[];\r\n /**\r\n * Uniform buffer variable names that will be set in the shader.\r\n */\r\n uniformBuffersNames: string[];\r\n /**\r\n * Sampler texture variable names that will be set in the shader.\r\n */\r\n samplers: string[];\r\n /**\r\n * Define statements that will be set in the shader.\r\n */\r\n defines: any;\r\n /**\r\n * Possible fallbacks for this effect to improve performance when needed.\r\n */\r\n fallbacks: Nullable;\r\n /**\r\n * Callback that will be called when the shader is compiled.\r\n */\r\n onCompiled: Nullable<(effect: Effect) => void>;\r\n /**\r\n * Callback that will be called if an error occurs during shader compilation.\r\n */\r\n onError: Nullable<(effect: Effect, errors: string) => void>;\r\n /**\r\n * Parameters to be used with Babylons include syntax to iterate over an array (eg. {lights: 10})\r\n */\r\n indexParameters?: any;\r\n /**\r\n * Max number of lights that can be used in the shader.\r\n */\r\n maxSimultaneousLights?: number;\r\n /**\r\n * See https://developer.mozilla.org/en-US/docs/Web/API/WebGL2RenderingContext/transformFeedbackVaryings\r\n */\r\n transformFeedbackVaryings?: Nullable;\r\n /**\r\n * If provided, will be called two times with the vertex and fragment code so that this code can be updated before it is compiled by the GPU\r\n */\r\n processFinalCode?: Nullable<(shaderType: string, code: string) => string>;\r\n /**\r\n * Is this effect rendering to several color attachments ?\r\n */\r\n multiTarget?: boolean;\r\n}\r\n\r\n/**\r\n * Effect containing vertex and fragment shader that can be executed on an object.\r\n */\r\nexport class Effect implements IDisposable {\r\n /**\r\n * Gets or sets the relative url used to load shaders if using the engine in non-minified mode\r\n */\r\n public static ShadersRepository = \"src/Shaders/\";\r\n /**\r\n * Enable logging of the shader code when a compilation error occurs\r\n */\r\n public static LogShaderCodeOnCompilationError = true;\r\n /**\r\n * Name of the effect.\r\n */\r\n public name: any = null;\r\n /**\r\n * String container all the define statements that should be set on the shader.\r\n */\r\n public defines: string = \"\";\r\n /**\r\n * Callback that will be called when the shader is compiled.\r\n */\r\n public onCompiled: Nullable<(effect: Effect) => void> = null;\r\n /**\r\n * Callback that will be called if an error occurs during shader compilation.\r\n */\r\n public onError: Nullable<(effect: Effect, errors: string) => void> = null;\r\n /**\r\n * Callback that will be called when effect is bound.\r\n */\r\n public onBind: Nullable<(effect: Effect) => void> = null;\r\n /**\r\n * Unique ID of the effect.\r\n */\r\n public uniqueId = 0;\r\n /**\r\n * Observable that will be called when the shader is compiled.\r\n * It is recommended to use executeWhenCompile() or to make sure that scene.isReady() is called to get this observable raised.\r\n */\r\n public onCompileObservable = new Observable();\r\n /**\r\n * Observable that will be called if an error occurs during shader compilation.\r\n */\r\n public onErrorObservable = new Observable();\r\n\r\n /** @hidden */\r\n public _onBindObservable: Nullable> = null;\r\n\r\n /**\r\n * @hidden\r\n * Specifies if the effect was previously ready\r\n */\r\n public _wasPreviouslyReady = false;\r\n\r\n /**\r\n * Observable that will be called when effect is bound.\r\n */\r\n public get onBindObservable(): Observable {\r\n if (!this._onBindObservable) {\r\n this._onBindObservable = new Observable();\r\n }\r\n\r\n return this._onBindObservable;\r\n }\r\n\r\n /** @hidden */\r\n public _bonesComputationForcedToCPU = false;\r\n /** @hidden */\r\n public _multiTarget: boolean = false;\r\n\r\n private static _uniqueIdSeed = 0;\r\n private _engine: Engine;\r\n private _uniformBuffersNames: { [key: string]: number } = {};\r\n private _uniformBuffersNamesList: string[];\r\n private _uniformsNames: string[];\r\n private _samplerList: string[];\r\n private _samplers: { [key: string]: number } = {};\r\n private _isReady = false;\r\n private _compilationError = \"\";\r\n private _allFallbacksProcessed = false;\r\n private _attributesNames: string[];\r\n private _attributes: number[];\r\n private _attributeLocationByName: { [name: string] : number };\r\n private _uniforms: { [key: string]: Nullable } = {};\r\n /**\r\n * Key for the effect.\r\n * @hidden\r\n */\r\n public _key: string = \"\";\r\n private _indexParameters: any;\r\n private _fallbacks: Nullable = null;\r\n private _vertexSourceCode: string = \"\";\r\n private _fragmentSourceCode: string = \"\";\r\n private _vertexSourceCodeOverride: string = \"\";\r\n private _fragmentSourceCodeOverride: string = \"\";\r\n private _transformFeedbackVaryings: Nullable = null;\r\n private _rawVertexSourceCode: string = \"\";\r\n private _rawFragmentSourceCode: string = \"\";\r\n /**\r\n * Compiled shader to webGL program.\r\n * @hidden\r\n */\r\n public _pipelineContext: Nullable = null;\r\n private _valueCache: { [key: string]: any } = {};\r\n private static _baseCache: { [key: number]: DataBuffer } = {};\r\n\r\n /**\r\n * Instantiates an effect.\r\n * An effect can be used to create/manage/execute vertex and fragment shaders.\r\n * @param baseName Name of the effect.\r\n * @param attributesNamesOrOptions List of attribute names that will be passed to the shader or set of all options to create the effect.\r\n * @param uniformsNamesOrEngine List of uniform variable names that will be passed to the shader or the engine that will be used to render effect.\r\n * @param samplers List of sampler variables that will be passed to the shader.\r\n * @param engine Engine to be used to render the effect\r\n * @param defines Define statements to be added to the shader.\r\n * @param fallbacks Possible fallbacks for this effect to improve performance when needed.\r\n * @param onCompiled Callback that will be called when the shader is compiled.\r\n * @param onError Callback that will be called if an error occurs during shader compilation.\r\n * @param indexParameters Parameters to be used with Babylons include syntax to iterate over an array (eg. {lights: 10})\r\n */\r\n constructor(baseName: any, attributesNamesOrOptions: string[] | IEffectCreationOptions, uniformsNamesOrEngine: string[] | ThinEngine, samplers: Nullable = null,\r\n engine?: ThinEngine, defines: Nullable = null,\r\n fallbacks: Nullable = null, onCompiled: Nullable<(effect: Effect) => void> = null, onError: Nullable<(effect: Effect, errors: string) => void> = null, indexParameters?: any) {\r\n this.name = baseName;\r\n\r\n let processFinalCode: Nullable<(shaderType: string, code: string) => string> = null;\r\n\r\n if ((attributesNamesOrOptions).attributes) {\r\n var options = attributesNamesOrOptions;\r\n this._engine = uniformsNamesOrEngine;\r\n\r\n this._attributesNames = options.attributes;\r\n this._uniformsNames = options.uniformsNames.concat(options.samplers);\r\n this._samplerList = options.samplers.slice();\r\n this.defines = options.defines;\r\n this.onError = options.onError;\r\n this.onCompiled = options.onCompiled;\r\n this._fallbacks = options.fallbacks;\r\n this._indexParameters = options.indexParameters;\r\n this._transformFeedbackVaryings = options.transformFeedbackVaryings || null;\r\n this._multiTarget = !!options.multiTarget;\r\n\r\n if (options.uniformBuffersNames) {\r\n this._uniformBuffersNamesList = options.uniformBuffersNames.slice();\r\n for (var i = 0; i < options.uniformBuffersNames.length; i++) {\r\n this._uniformBuffersNames[options.uniformBuffersNames[i]] = i;\r\n }\r\n }\r\n\r\n processFinalCode = options.processFinalCode ?? null;\r\n } else {\r\n this._engine = engine;\r\n this.defines = (defines == null ? \"\" : defines);\r\n this._uniformsNames = (uniformsNamesOrEngine).concat(samplers);\r\n this._samplerList = samplers ? samplers.slice() : [];\r\n this._attributesNames = (attributesNamesOrOptions);\r\n this._uniformBuffersNamesList = [];\r\n\r\n this.onError = onError;\r\n this.onCompiled = onCompiled;\r\n\r\n this._indexParameters = indexParameters;\r\n this._fallbacks = fallbacks;\r\n }\r\n\r\n this._attributeLocationByName = { };\r\n\r\n this.uniqueId = Effect._uniqueIdSeed++;\r\n\r\n var vertexSource: any;\r\n var fragmentSource: any;\r\n\r\n let hostDocument = DomManagement.IsWindowObjectExist() ? this._engine.getHostDocument() : null;\r\n\r\n if (baseName.vertexSource) {\r\n vertexSource = \"source:\" + baseName.vertexSource;\r\n } else if (baseName.vertexElement) {\r\n vertexSource = hostDocument ? hostDocument.getElementById(baseName.vertexElement) : null;\r\n\r\n if (!vertexSource) {\r\n vertexSource = baseName.vertexElement;\r\n }\r\n } else {\r\n vertexSource = baseName.vertex || baseName;\r\n }\r\n\r\n if (baseName.fragmentSource) {\r\n fragmentSource = \"source:\" + baseName.fragmentSource;\r\n } else if (baseName.fragmentElement) {\r\n fragmentSource = hostDocument ? hostDocument.getElementById(baseName.fragmentElement) : null;\r\n\r\n if (!fragmentSource) {\r\n fragmentSource = baseName.fragmentElement;\r\n }\r\n } else {\r\n fragmentSource = baseName.fragment || baseName;\r\n }\r\n\r\n let processorOptions = {\r\n defines: this.defines.split(\"\\n\"),\r\n indexParameters: this._indexParameters,\r\n isFragment: false,\r\n shouldUseHighPrecisionShader: this._engine._shouldUseHighPrecisionShader,\r\n processor: this._engine._shaderProcessor,\r\n supportsUniformBuffers: this._engine.supportsUniformBuffers,\r\n shadersRepository: Effect.ShadersRepository,\r\n includesShadersStore: Effect.IncludesShadersStore,\r\n version: (this._engine.webGLVersion * 100).toString(),\r\n platformName: this._engine.webGLVersion >= 2 ? \"WEBGL2\" : \"WEBGL1\"\r\n };\r\n\r\n this._loadShader(vertexSource, \"Vertex\", \"\", (vertexCode) => {\r\n this._rawVertexSourceCode = vertexCode;\r\n this._loadShader(fragmentSource, \"Fragment\", \"Pixel\", (fragmentCode) => {\r\n this._rawFragmentSourceCode = fragmentCode;\r\n ShaderProcessor.Process(vertexCode, processorOptions, (migratedVertexCode) => {\r\n if (processFinalCode) {\r\n migratedVertexCode = processFinalCode(\"vertex\", migratedVertexCode);\r\n }\r\n processorOptions.isFragment = true;\r\n ShaderProcessor.Process(fragmentCode, processorOptions, (migratedFragmentCode) => {\r\n if (processFinalCode) {\r\n migratedFragmentCode = processFinalCode(\"fragment\", migratedFragmentCode);\r\n }\r\n this._useFinalCode(migratedVertexCode, migratedFragmentCode, baseName);\r\n }, this._engine);\r\n }, this._engine);\r\n });\r\n });\r\n }\r\n\r\n private _useFinalCode(migratedVertexCode: string, migratedFragmentCode: string, baseName: any) {\r\n if (baseName) {\r\n var vertex = baseName.vertexElement || baseName.vertex || baseName.spectorName || baseName;\r\n var fragment = baseName.fragmentElement || baseName.fragment || baseName.spectorName || baseName;\r\n\r\n this._vertexSourceCode = \"#define SHADER_NAME vertex:\" + vertex + \"\\n\" + migratedVertexCode;\r\n this._fragmentSourceCode = \"#define SHADER_NAME fragment:\" + fragment + \"\\n\" + migratedFragmentCode;\r\n } else {\r\n this._vertexSourceCode = migratedVertexCode;\r\n this._fragmentSourceCode = migratedFragmentCode;\r\n }\r\n this._prepareEffect();\r\n }\r\n\r\n /**\r\n * Unique key for this effect\r\n */\r\n public get key(): string {\r\n return this._key;\r\n }\r\n\r\n /**\r\n * If the effect has been compiled and prepared.\r\n * @returns if the effect is compiled and prepared.\r\n */\r\n public isReady(): boolean {\r\n try {\r\n return this._isReadyInternal();\r\n }\r\n catch {\r\n return false;\r\n }\r\n }\r\n\r\n private _isReadyInternal(): boolean {\r\n if (this._isReady) {\r\n return true;\r\n }\r\n if (this._pipelineContext) {\r\n return this._pipelineContext.isReady;\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * The engine the effect was initialized with.\r\n * @returns the engine.\r\n */\r\n public getEngine(): Engine {\r\n return this._engine;\r\n }\r\n\r\n /**\r\n * The pipeline context for this effect\r\n * @returns the associated pipeline context\r\n */\r\n public getPipelineContext(): Nullable {\r\n return this._pipelineContext;\r\n }\r\n\r\n /**\r\n * The set of names of attribute variables for the shader.\r\n * @returns An array of attribute names.\r\n */\r\n public getAttributesNames(): string[] {\r\n return this._attributesNames;\r\n }\r\n\r\n /**\r\n * Returns the attribute at the given index.\r\n * @param index The index of the attribute.\r\n * @returns The location of the attribute.\r\n */\r\n public getAttributeLocation(index: number): number {\r\n return this._attributes[index];\r\n }\r\n\r\n /**\r\n * Returns the attribute based on the name of the variable.\r\n * @param name of the attribute to look up.\r\n * @returns the attribute location.\r\n */\r\n public getAttributeLocationByName(name: string): number {\r\n return this._attributeLocationByName[name];\r\n }\r\n\r\n /**\r\n * The number of attributes.\r\n * @returns the numnber of attributes.\r\n */\r\n public getAttributesCount(): number {\r\n return this._attributes.length;\r\n }\r\n\r\n /**\r\n * Gets the index of a uniform variable.\r\n * @param uniformName of the uniform to look up.\r\n * @returns the index.\r\n */\r\n public getUniformIndex(uniformName: string): number {\r\n return this._uniformsNames.indexOf(uniformName);\r\n }\r\n\r\n /**\r\n * Returns the attribute based on the name of the variable.\r\n * @param uniformName of the uniform to look up.\r\n * @returns the location of the uniform.\r\n */\r\n public getUniform(uniformName: string): Nullable {\r\n return this._uniforms[uniformName];\r\n }\r\n\r\n /**\r\n * Returns an array of sampler variable names\r\n * @returns The array of sampler variable names.\r\n */\r\n public getSamplers(): string[] {\r\n return this._samplerList;\r\n }\r\n\r\n /**\r\n * Returns an array of uniform variable names\r\n * @returns The array of uniform variable names.\r\n */\r\n public getUniformNames(): string[] {\r\n return this._uniformsNames;\r\n }\r\n\r\n /**\r\n * Returns an array of uniform buffer variable names\r\n * @returns The array of uniform buffer variable names.\r\n */\r\n public getUniformBuffersNames(): string[] {\r\n return this._uniformBuffersNamesList;\r\n }\r\n\r\n /**\r\n * Returns the index parameters used to create the effect\r\n * @returns The index parameters object\r\n */\r\n public getIndexParameters(): any {\r\n return this._indexParameters;\r\n }\r\n\r\n /**\r\n * The error from the last compilation.\r\n * @returns the error string.\r\n */\r\n public getCompilationError(): string {\r\n return this._compilationError;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating that all fallbacks were used during compilation\r\n * @returns true if all fallbacks were used\r\n */\r\n public allFallbacksProcessed(): boolean {\r\n return this._allFallbacksProcessed;\r\n }\r\n\r\n /**\r\n * Adds a callback to the onCompiled observable and call the callback imediatly if already ready.\r\n * @param func The callback to be used.\r\n */\r\n public executeWhenCompiled(func: (effect: Effect) => void): void {\r\n if (this.isReady()) {\r\n func(this);\r\n return;\r\n }\r\n\r\n this.onCompileObservable.add((effect) => {\r\n func(effect);\r\n });\r\n\r\n if (!this._pipelineContext || this._pipelineContext.isAsync) {\r\n setTimeout(() => {\r\n this._checkIsReady(null);\r\n }, 16);\r\n }\r\n }\r\n\r\n private _checkIsReady(previousPipelineContext: Nullable) {\r\n try {\r\n if (this._isReadyInternal()) {\r\n return;\r\n }\r\n } catch (e) {\r\n this._processCompilationErrors(e, previousPipelineContext);\r\n return;\r\n }\r\n\r\n setTimeout(() => {\r\n this._checkIsReady(previousPipelineContext);\r\n }, 16);\r\n }\r\n\r\n private _loadShader(shader: any, key: string, optionalKey: string, callback: (data: any) => void): void {\r\n if (typeof(HTMLElement) !== \"undefined\") {\r\n // DOM element ?\r\n if (shader instanceof HTMLElement) {\r\n var shaderCode = DomManagement.GetDOMTextContent(shader);\r\n callback(shaderCode);\r\n return;\r\n }\r\n }\r\n\r\n // Direct source ?\r\n if (shader.substr(0, 7) === \"source:\") {\r\n callback(shader.substr(7));\r\n return;\r\n }\r\n\r\n // Base64 encoded ?\r\n if (shader.substr(0, 7) === \"base64:\") {\r\n var shaderBinary = window.atob(shader.substr(7));\r\n callback(shaderBinary);\r\n return;\r\n }\r\n\r\n // Is in local store ?\r\n if (Effect.ShadersStore[shader + key + \"Shader\"]) {\r\n callback(Effect.ShadersStore[shader + key + \"Shader\"]);\r\n return;\r\n }\r\n\r\n if (optionalKey && Effect.ShadersStore[shader + optionalKey + \"Shader\"]) {\r\n callback(Effect.ShadersStore[shader + optionalKey + \"Shader\"]);\r\n return;\r\n }\r\n\r\n var shaderUrl;\r\n\r\n if (shader[0] === \".\" || shader[0] === \"/\" || shader.indexOf(\"http\") > -1) {\r\n shaderUrl = shader;\r\n } else {\r\n shaderUrl = Effect.ShadersRepository + shader;\r\n }\r\n\r\n // Vertex shader\r\n this._engine._loadFile(shaderUrl + \".\" + key.toLowerCase() + \".fx\", callback);\r\n }\r\n\r\n /**\r\n * Gets the vertex shader source code of this effect\r\n */\r\n public get vertexSourceCode(): string {\r\n return this._vertexSourceCodeOverride && this._fragmentSourceCodeOverride ? this._vertexSourceCodeOverride : this._vertexSourceCode;\r\n }\r\n\r\n /**\r\n * Gets the fragment shader source code of this effect\r\n */\r\n public get fragmentSourceCode(): string {\r\n return this._vertexSourceCodeOverride && this._fragmentSourceCodeOverride ? this._fragmentSourceCodeOverride : this._fragmentSourceCode;\r\n }\r\n\r\n /**\r\n * Gets the vertex shader source code before it has been processed by the preprocessor\r\n */\r\n public get rawVertexSourceCode(): string {\r\n return this._rawVertexSourceCode;\r\n }\r\n\r\n /**\r\n * Gets the fragment shader source code before it has been processed by the preprocessor\r\n */\r\n public get rawFragmentSourceCode(): string {\r\n return this._rawFragmentSourceCode;\r\n }\r\n\r\n /**\r\n * Recompiles the webGL program\r\n * @param vertexSourceCode The source code for the vertex shader.\r\n * @param fragmentSourceCode The source code for the fragment shader.\r\n * @param onCompiled Callback called when completed.\r\n * @param onError Callback called on error.\r\n * @hidden\r\n */\r\n public _rebuildProgram(vertexSourceCode: string, fragmentSourceCode: string, onCompiled: (pipelineContext: IPipelineContext) => void, onError: (message: string) => void) {\r\n this._isReady = false;\r\n\r\n this._vertexSourceCodeOverride = vertexSourceCode;\r\n this._fragmentSourceCodeOverride = fragmentSourceCode;\r\n this.onError = (effect, error) => {\r\n if (onError) {\r\n onError(error);\r\n }\r\n };\r\n this.onCompiled = () => {\r\n var scenes = this.getEngine().scenes;\r\n if (scenes) {\r\n for (var i = 0; i < scenes.length; i++) {\r\n scenes[i].markAllMaterialsAsDirty(63);\r\n }\r\n }\r\n\r\n this._pipelineContext!._handlesSpectorRebuildCallback(onCompiled);\r\n };\r\n this._fallbacks = null;\r\n this._prepareEffect();\r\n }\r\n\r\n /**\r\n * Prepares the effect\r\n * @hidden\r\n */\r\n public _prepareEffect() {\r\n let attributesNames = this._attributesNames;\r\n let defines = this.defines;\r\n this._valueCache = {};\r\n\r\n var previousPipelineContext = this._pipelineContext;\r\n\r\n try {\r\n let engine = this._engine;\r\n\r\n this._pipelineContext = engine.createPipelineContext();\r\n\r\n let rebuildRebind = this._rebuildProgram.bind(this);\r\n if (this._vertexSourceCodeOverride && this._fragmentSourceCodeOverride) {\r\n engine._preparePipelineContext(this._pipelineContext, this._vertexSourceCodeOverride, this._fragmentSourceCodeOverride, true, rebuildRebind, null, this._transformFeedbackVaryings);\r\n }\r\n else {\r\n engine._preparePipelineContext(this._pipelineContext, this._vertexSourceCode, this._fragmentSourceCode, false, rebuildRebind, defines, this._transformFeedbackVaryings);\r\n }\r\n\r\n engine._executeWhenRenderingStateIsCompiled(this._pipelineContext, () => {\r\n if (engine.supportsUniformBuffers) {\r\n for (var name in this._uniformBuffersNames) {\r\n this.bindUniformBlock(name, this._uniformBuffersNames[name]);\r\n }\r\n }\r\n\r\n let uniforms = engine.getUniforms(this._pipelineContext!, this._uniformsNames);\r\n uniforms.forEach((uniform, index) => {\r\n this._uniforms[this._uniformsNames[index]] = uniform;\r\n });\r\n\r\n this._attributes = engine.getAttributes(this._pipelineContext!, attributesNames);\r\n if (attributesNames) {\r\n for (let i = 0; i < attributesNames.length; i++) {\r\n const name = attributesNames[i];\r\n this._attributeLocationByName[name] = this._attributes[i];\r\n }\r\n }\r\n\r\n var index: number;\r\n for (index = 0; index < this._samplerList.length; index++) {\r\n var sampler = this.getUniform(this._samplerList[index]);\r\n\r\n if (sampler == null) {\r\n this._samplerList.splice(index, 1);\r\n index--;\r\n }\r\n }\r\n\r\n this._samplerList.forEach((name, index) => {\r\n this._samplers[name] = index;\r\n });\r\n\r\n engine.bindSamplers(this);\r\n\r\n this._compilationError = \"\";\r\n this._isReady = true;\r\n if (this.onCompiled) {\r\n this.onCompiled(this);\r\n }\r\n this.onCompileObservable.notifyObservers(this);\r\n this.onCompileObservable.clear();\r\n\r\n // Unbind mesh reference in fallbacks\r\n if (this._fallbacks) {\r\n this._fallbacks.unBindMesh();\r\n }\r\n\r\n if (previousPipelineContext) {\r\n this.getEngine()._deletePipelineContext(previousPipelineContext);\r\n }\r\n });\r\n\r\n if (this._pipelineContext.isAsync) {\r\n this._checkIsReady(previousPipelineContext);\r\n }\r\n\r\n } catch (e) {\r\n this._processCompilationErrors(e, previousPipelineContext);\r\n }\r\n }\r\n\r\n private _getShaderCodeAndErrorLine(code: Nullable, error: Nullable, isFragment: boolean): [Nullable, Nullable] {\r\n const regexp = isFragment ? /FRAGMENT SHADER ERROR: 0:(\\d+?):/ : /VERTEX SHADER ERROR: 0:(\\d+?):/;\r\n\r\n let errorLine = null;\r\n\r\n if (error && code) {\r\n const res = error.match(regexp);\r\n if (res && res.length === 2) {\r\n const lineNumber = parseInt(res[1]);\r\n const lines = code.split(\"\\n\", -1);\r\n if (lines.length >= lineNumber) {\r\n errorLine = `Offending line [${lineNumber}] in ${isFragment ? \"fragment\" : \"vertex\"} code: ${lines[lineNumber - 1]}`;\r\n }\r\n }\r\n }\r\n\r\n return [code, errorLine];\r\n }\r\n\r\n private _processCompilationErrors(e: any, previousPipelineContext: Nullable = null) {\r\n this._compilationError = e.message;\r\n let attributesNames = this._attributesNames;\r\n let fallbacks = this._fallbacks;\r\n\r\n // Let's go through fallbacks then\r\n Logger.Error(\"Unable to compile effect:\");\r\n Logger.Error(\"Uniforms: \" + this._uniformsNames.map(function(uniform) {\r\n return \" \" + uniform;\r\n }));\r\n Logger.Error(\"Attributes: \" + attributesNames.map(function(attribute) {\r\n return \" \" + attribute;\r\n }));\r\n Logger.Error(\"Defines:\\r\\n\" + this.defines);\r\n if (Effect.LogShaderCodeOnCompilationError) {\r\n let lineErrorVertex = null, lineErrorFragment = null, code = null;\r\n if (this._pipelineContext?._getVertexShaderCode()) {\r\n [code, lineErrorVertex] = this._getShaderCodeAndErrorLine(this._pipelineContext._getVertexShaderCode(), this._compilationError, false);\r\n if (code) {\r\n Logger.Error(\"Vertex code:\");\r\n Logger.Error(code);\r\n }\r\n }\r\n if (this._pipelineContext?._getFragmentShaderCode()) {\r\n [code, lineErrorFragment] = this._getShaderCodeAndErrorLine(this._pipelineContext?._getFragmentShaderCode(), this._compilationError, true);\r\n if (code) {\r\n Logger.Error(\"Fragment code:\");\r\n Logger.Error(code);\r\n }\r\n }\r\n if (lineErrorVertex) {\r\n Logger.Error(lineErrorVertex);\r\n }\r\n if (lineErrorFragment) {\r\n Logger.Error(lineErrorFragment);\r\n }\r\n }\r\n Logger.Error(\"Error: \" + this._compilationError);\r\n if (previousPipelineContext) {\r\n this._pipelineContext = previousPipelineContext;\r\n this._isReady = true;\r\n if (this.onError) {\r\n this.onError(this, this._compilationError);\r\n }\r\n this.onErrorObservable.notifyObservers(this);\r\n }\r\n\r\n if (fallbacks) {\r\n this._pipelineContext = null;\r\n if (fallbacks.hasMoreFallbacks) {\r\n this._allFallbacksProcessed = false;\r\n Logger.Error(\"Trying next fallback.\");\r\n this.defines = fallbacks.reduce(this.defines, this);\r\n this._prepareEffect();\r\n } else { // Sorry we did everything we can\r\n this._allFallbacksProcessed = true;\r\n if (this.onError) {\r\n this.onError(this, this._compilationError);\r\n }\r\n this.onErrorObservable.notifyObservers(this);\r\n this.onErrorObservable.clear();\r\n\r\n // Unbind mesh reference in fallbacks\r\n if (this._fallbacks) {\r\n this._fallbacks.unBindMesh();\r\n }\r\n }\r\n } else {\r\n this._allFallbacksProcessed = true;\r\n }\r\n }\r\n\r\n /**\r\n * Checks if the effect is supported. (Must be called after compilation)\r\n */\r\n public get isSupported(): boolean {\r\n return this._compilationError === \"\";\r\n }\r\n\r\n /**\r\n * Binds a texture to the engine to be used as output of the shader.\r\n * @param channel Name of the output variable.\r\n * @param texture Texture to bind.\r\n * @hidden\r\n */\r\n public _bindTexture(channel: string, texture: Nullable): void {\r\n this._engine._bindTexture(this._samplers[channel], texture);\r\n }\r\n\r\n /**\r\n * Sets a texture on the engine to be used in the shader.\r\n * @param channel Name of the sampler variable.\r\n * @param texture Texture to set.\r\n */\r\n public setTexture(channel: string, texture: Nullable): void {\r\n this._engine.setTexture(this._samplers[channel], this._uniforms[channel], texture);\r\n }\r\n\r\n /**\r\n * Sets a depth stencil texture from a render target on the engine to be used in the shader.\r\n * @param channel Name of the sampler variable.\r\n * @param texture Texture to set.\r\n */\r\n public setDepthStencilTexture(channel: string, texture: Nullable): void {\r\n this._engine.setDepthStencilTexture(this._samplers[channel], this._uniforms[channel], texture);\r\n }\r\n\r\n /**\r\n * Sets an array of textures on the engine to be used in the shader.\r\n * @param channel Name of the variable.\r\n * @param textures Textures to set.\r\n */\r\n public setTextureArray(channel: string, textures: ThinTexture[]): void {\r\n let exName = channel + \"Ex\";\r\n if (this._samplerList.indexOf(exName + \"0\") === -1) {\r\n const initialPos = this._samplerList.indexOf(channel);\r\n for (var index = 1; index < textures.length; index++) {\r\n const currentExName = exName + (index - 1).toString();\r\n this._samplerList.splice(initialPos + index, 0, currentExName);\r\n }\r\n\r\n // Reset every channels\r\n let channelIndex = 0;\r\n for (var key of this._samplerList) {\r\n this._samplers[key] = channelIndex;\r\n channelIndex += 1;\r\n }\r\n }\r\n\r\n this._engine.setTextureArray(this._samplers[channel], this._uniforms[channel], textures);\r\n }\r\n\r\n /**\r\n * Sets a texture to be the input of the specified post process. (To use the output, pass in the next post process in the pipeline)\r\n * @param channel Name of the sampler variable.\r\n * @param postProcess Post process to get the input texture from.\r\n */\r\n public setTextureFromPostProcess(channel: string, postProcess: Nullable): void {\r\n this._engine.setTextureFromPostProcess(this._samplers[channel], postProcess);\r\n }\r\n\r\n /**\r\n * (Warning! setTextureFromPostProcessOutput may be desired instead)\r\n * Sets the input texture of the passed in post process to be input of this effect. (To use the output of the passed in post process use setTextureFromPostProcessOutput)\r\n * @param channel Name of the sampler variable.\r\n * @param postProcess Post process to get the output texture from.\r\n */\r\n public setTextureFromPostProcessOutput(channel: string, postProcess: Nullable): void {\r\n this._engine.setTextureFromPostProcessOutput(this._samplers[channel], postProcess);\r\n }\r\n\r\n /** @hidden */\r\n public _cacheMatrix(uniformName: string, matrix: IMatrixLike): boolean {\r\n var cache = this._valueCache[uniformName];\r\n var flag = matrix.updateFlag;\r\n if (cache !== undefined && cache === flag) {\r\n return false;\r\n }\r\n\r\n this._valueCache[uniformName] = flag;\r\n\r\n return true;\r\n }\r\n\r\n /** @hidden */\r\n public _cacheFloat2(uniformName: string, x: number, y: number): boolean {\r\n var cache = this._valueCache[uniformName];\r\n if (!cache || cache.length !== 2) {\r\n cache = [x, y];\r\n this._valueCache[uniformName] = cache;\r\n return true;\r\n }\r\n\r\n var changed = false;\r\n if (cache[0] !== x) {\r\n cache[0] = x;\r\n changed = true;\r\n }\r\n if (cache[1] !== y) {\r\n cache[1] = y;\r\n changed = true;\r\n }\r\n\r\n return changed;\r\n }\r\n\r\n /** @hidden */\r\n public _cacheFloat3(uniformName: string, x: number, y: number, z: number): boolean {\r\n var cache = this._valueCache[uniformName];\r\n if (!cache || cache.length !== 3) {\r\n cache = [x, y, z];\r\n this._valueCache[uniformName] = cache;\r\n return true;\r\n }\r\n\r\n var changed = false;\r\n if (cache[0] !== x) {\r\n cache[0] = x;\r\n changed = true;\r\n }\r\n if (cache[1] !== y) {\r\n cache[1] = y;\r\n changed = true;\r\n }\r\n if (cache[2] !== z) {\r\n cache[2] = z;\r\n changed = true;\r\n }\r\n\r\n return changed;\r\n }\r\n\r\n /** @hidden */\r\n public _cacheFloat4(uniformName: string, x: number, y: number, z: number, w: number): boolean {\r\n var cache = this._valueCache[uniformName];\r\n if (!cache || cache.length !== 4) {\r\n cache = [x, y, z, w];\r\n this._valueCache[uniformName] = cache;\r\n return true;\r\n }\r\n\r\n var changed = false;\r\n if (cache[0] !== x) {\r\n cache[0] = x;\r\n changed = true;\r\n }\r\n if (cache[1] !== y) {\r\n cache[1] = y;\r\n changed = true;\r\n }\r\n if (cache[2] !== z) {\r\n cache[2] = z;\r\n changed = true;\r\n }\r\n if (cache[3] !== w) {\r\n cache[3] = w;\r\n changed = true;\r\n }\r\n\r\n return changed;\r\n }\r\n\r\n /**\r\n * Binds a buffer to a uniform.\r\n * @param buffer Buffer to bind.\r\n * @param name Name of the uniform variable to bind to.\r\n */\r\n public bindUniformBuffer(buffer: DataBuffer, name: string): void {\r\n let bufferName = this._uniformBuffersNames[name];\r\n if (bufferName === undefined || Effect._baseCache[bufferName] === buffer) {\r\n return;\r\n }\r\n Effect._baseCache[bufferName] = buffer;\r\n this._engine.bindUniformBufferBase(buffer, bufferName);\r\n }\r\n\r\n /**\r\n * Binds block to a uniform.\r\n * @param blockName Name of the block to bind.\r\n * @param index Index to bind.\r\n */\r\n public bindUniformBlock(blockName: string, index: number): void {\r\n this._engine.bindUniformBlock(this._pipelineContext!, blockName, index);\r\n }\r\n\r\n /**\r\n * Sets an interger value on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param value Value to be set.\r\n * @returns this effect.\r\n */\r\n public setInt(uniformName: string, value: number): Effect {\r\n var cache = this._valueCache[uniformName];\r\n if (cache !== undefined && cache === value) {\r\n return this;\r\n }\r\n\r\n if (this._engine.setInt(this._uniforms[uniformName], value)) {\r\n this._valueCache[uniformName] = value;\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets an int array on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n * @returns this effect.\r\n */\r\n public setIntArray(uniformName: string, array: Int32Array): Effect {\r\n this._valueCache[uniformName] = null;\r\n this._engine.setIntArray(this._uniforms[uniformName], array);\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets an int array 2 on a uniform variable. (Array is specified as single array eg. [1,2,3,4] will result in [[1,2],[3,4]] in the shader)\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n * @returns this effect.\r\n */\r\n public setIntArray2(uniformName: string, array: Int32Array): Effect {\r\n this._valueCache[uniformName] = null;\r\n this._engine.setIntArray2(this._uniforms[uniformName], array);\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets an int array 3 on a uniform variable. (Array is specified as single array eg. [1,2,3,4,5,6] will result in [[1,2,3],[4,5,6]] in the shader)\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n * @returns this effect.\r\n */\r\n public setIntArray3(uniformName: string, array: Int32Array): Effect {\r\n this._valueCache[uniformName] = null;\r\n this._engine.setIntArray3(this._uniforms[uniformName], array);\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets an int array 4 on a uniform variable. (Array is specified as single array eg. [1,2,3,4,5,6,7,8] will result in [[1,2,3,4],[5,6,7,8]] in the shader)\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n * @returns this effect.\r\n */\r\n public setIntArray4(uniformName: string, array: Int32Array): Effect {\r\n this._valueCache[uniformName] = null;\r\n this._engine.setIntArray4(this._uniforms[uniformName], array);\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets an float array on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n * @returns this effect.\r\n */\r\n public setFloatArray(uniformName: string, array: Float32Array): Effect {\r\n this._valueCache[uniformName] = null;\r\n this._engine.setArray(this._uniforms[uniformName], array);\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets an float array 2 on a uniform variable. (Array is specified as single array eg. [1,2,3,4] will result in [[1,2],[3,4]] in the shader)\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n * @returns this effect.\r\n */\r\n public setFloatArray2(uniformName: string, array: Float32Array): Effect {\r\n this._valueCache[uniformName] = null;\r\n this._engine.setArray2(this._uniforms[uniformName], array);\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets an float array 3 on a uniform variable. (Array is specified as single array eg. [1,2,3,4,5,6] will result in [[1,2,3],[4,5,6]] in the shader)\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n * @returns this effect.\r\n */\r\n public setFloatArray3(uniformName: string, array: Float32Array): Effect {\r\n this._valueCache[uniformName] = null;\r\n this._engine.setArray3(this._uniforms[uniformName], array);\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets an float array 4 on a uniform variable. (Array is specified as single array eg. [1,2,3,4,5,6,7,8] will result in [[1,2,3,4],[5,6,7,8]] in the shader)\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n * @returns this effect.\r\n */\r\n public setFloatArray4(uniformName: string, array: Float32Array): Effect {\r\n this._valueCache[uniformName] = null;\r\n this._engine.setArray4(this._uniforms[uniformName], array);\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets an array on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n * @returns this effect.\r\n */\r\n public setArray(uniformName: string, array: number[]): Effect {\r\n this._valueCache[uniformName] = null;\r\n this._engine.setArray(this._uniforms[uniformName], array);\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets an array 2 on a uniform variable. (Array is specified as single array eg. [1,2,3,4] will result in [[1,2],[3,4]] in the shader)\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n * @returns this effect.\r\n */\r\n public setArray2(uniformName: string, array: number[]): Effect {\r\n this._valueCache[uniformName] = null;\r\n this._engine.setArray2(this._uniforms[uniformName], array);\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets an array 3 on a uniform variable. (Array is specified as single array eg. [1,2,3,4,5,6] will result in [[1,2,3],[4,5,6]] in the shader)\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n * @returns this effect.\r\n */\r\n public setArray3(uniformName: string, array: number[]): Effect {\r\n this._valueCache[uniformName] = null;\r\n this._engine.setArray3(this._uniforms[uniformName], array);\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets an array 4 on a uniform variable. (Array is specified as single array eg. [1,2,3,4,5,6,7,8] will result in [[1,2,3,4],[5,6,7,8]] in the shader)\r\n * @param uniformName Name of the variable.\r\n * @param array array to be set.\r\n * @returns this effect.\r\n */\r\n public setArray4(uniformName: string, array: number[]): Effect {\r\n this._valueCache[uniformName] = null;\r\n this._engine.setArray4(this._uniforms[uniformName], array);\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets matrices on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param matrices matrices to be set.\r\n * @returns this effect.\r\n */\r\n public setMatrices(uniformName: string, matrices: Float32Array | Array): Effect {\r\n if (!matrices) {\r\n return this;\r\n }\r\n\r\n this._valueCache[uniformName] = null;\r\n this._engine.setMatrices(this._uniforms[uniformName], matrices as Float32Array); // the cast is ok because it is gl.uniformMatrix4fv() which is called at the end, and this function accepts Float32Array and Array\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets matrix on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param matrix matrix to be set.\r\n * @returns this effect.\r\n */\r\n public setMatrix(uniformName: string, matrix: IMatrixLike): Effect {\r\n if (this._cacheMatrix(uniformName, matrix)) {\r\n if (!this._engine.setMatrices(this._uniforms[uniformName], matrix.toArray() as Float32Array)) {\r\n this._valueCache[uniformName] = null;\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets a 3x3 matrix on a uniform variable. (Speicified as [1,2,3,4,5,6,7,8,9] will result in [1,2,3][4,5,6][7,8,9] matrix)\r\n * @param uniformName Name of the variable.\r\n * @param matrix matrix to be set.\r\n * @returns this effect.\r\n */\r\n public setMatrix3x3(uniformName: string, matrix: Float32Array | Array): Effect {\r\n this._valueCache[uniformName] = null;\r\n this._engine.setMatrix3x3(this._uniforms[uniformName], matrix as Float32Array); // the cast is ok because it is gl.uniformMatrix3fv() which is called at the end, and this function accepts Float32Array and Array\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets a 2x2 matrix on a uniform variable. (Speicified as [1,2,3,4] will result in [1,2][3,4] matrix)\r\n * @param uniformName Name of the variable.\r\n * @param matrix matrix to be set.\r\n * @returns this effect.\r\n */\r\n public setMatrix2x2(uniformName: string, matrix: Float32Array | Array): Effect {\r\n this._valueCache[uniformName] = null;\r\n this._engine.setMatrix2x2(this._uniforms[uniformName], matrix as Float32Array); // the cast is ok because it is gl.uniformMatrix2fv() which is called at the end, and this function accepts Float32Array and Array\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets a float on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param value value to be set.\r\n * @returns this effect.\r\n */\r\n public setFloat(uniformName: string, value: number): Effect {\r\n var cache = this._valueCache[uniformName];\r\n if (cache !== undefined && cache === value) {\r\n return this;\r\n }\r\n\r\n if (this._engine.setFloat(this._uniforms[uniformName], value)) {\r\n this._valueCache[uniformName] = value;\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets a boolean on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param bool value to be set.\r\n * @returns this effect.\r\n */\r\n public setBool(uniformName: string, bool: boolean): Effect {\r\n var cache = this._valueCache[uniformName];\r\n if (cache !== undefined && cache === bool) {\r\n return this;\r\n }\r\n\r\n if (this._engine.setInt(this._uniforms[uniformName], bool ? 1 : 0)) {\r\n this._valueCache[uniformName] = bool;\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets a Vector2 on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param vector2 vector2 to be set.\r\n * @returns this effect.\r\n */\r\n public setVector2(uniformName: string, vector2: IVector2Like): Effect {\r\n if (this._cacheFloat2(uniformName, vector2.x, vector2.y)) {\r\n if (!this._engine.setFloat2(this._uniforms[uniformName], vector2.x, vector2.y)) {\r\n this._valueCache[uniformName] = null;\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets a float2 on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param x First float in float2.\r\n * @param y Second float in float2.\r\n * @returns this effect.\r\n */\r\n public setFloat2(uniformName: string, x: number, y: number): Effect {\r\n if (this._cacheFloat2(uniformName, x, y)) {\r\n if (!this._engine.setFloat2(this._uniforms[uniformName], x, y)) {\r\n this._valueCache[uniformName] = null;\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets a Vector3 on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param vector3 Value to be set.\r\n * @returns this effect.\r\n */\r\n public setVector3(uniformName: string, vector3: IVector3Like): Effect {\r\n if (this._cacheFloat3(uniformName, vector3.x, vector3.y, vector3.z)) {\r\n if (!this._engine.setFloat3(this._uniforms[uniformName], vector3.x, vector3.y, vector3.z)) {\r\n this._valueCache[uniformName] = null;\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets a float3 on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param x First float in float3.\r\n * @param y Second float in float3.\r\n * @param z Third float in float3.\r\n * @returns this effect.\r\n */\r\n public setFloat3(uniformName: string, x: number, y: number, z: number): Effect {\r\n if (this._cacheFloat3(uniformName, x, y, z)) {\r\n if (!this._engine.setFloat3(this._uniforms[uniformName], x, y, z)) {\r\n this._valueCache[uniformName] = null;\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets a Vector4 on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param vector4 Value to be set.\r\n * @returns this effect.\r\n */\r\n public setVector4(uniformName: string, vector4: IVector4Like): Effect {\r\n if (this._cacheFloat4(uniformName, vector4.x, vector4.y, vector4.z, vector4.w)) {\r\n if (!this._engine.setFloat4(this._uniforms[uniformName], vector4.x, vector4.y, vector4.z, vector4.w)) {\r\n this._valueCache[uniformName] = null;\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets a float4 on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param x First float in float4.\r\n * @param y Second float in float4.\r\n * @param z Third float in float4.\r\n * @param w Fourth float in float4.\r\n * @returns this effect.\r\n */\r\n public setFloat4(uniformName: string, x: number, y: number, z: number, w: number): Effect {\r\n if (this._cacheFloat4(uniformName, x, y, z, w)) {\r\n if (!this._engine.setFloat4(this._uniforms[uniformName], x, y, z, w)) {\r\n this._valueCache[uniformName] = null;\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets a Color3 on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param color3 Value to be set.\r\n * @returns this effect.\r\n */\r\n public setColor3(uniformName: string, color3: IColor3Like): Effect {\r\n if (this._cacheFloat3(uniformName, color3.r, color3.g, color3.b)) {\r\n if (!this._engine.setFloat3(this._uniforms[uniformName], color3.r, color3.g, color3.b)) {\r\n this._valueCache[uniformName] = null;\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets a Color4 on a uniform variable.\r\n * @param uniformName Name of the variable.\r\n * @param color3 Value to be set.\r\n * @param alpha Alpha value to be set.\r\n * @returns this effect.\r\n */\r\n public setColor4(uniformName: string, color3: IColor3Like, alpha: number): Effect {\r\n if (this._cacheFloat4(uniformName, color3.r, color3.g, color3.b, alpha)) {\r\n if (!this._engine.setFloat4(this._uniforms[uniformName], color3.r, color3.g, color3.b, alpha)) {\r\n this._valueCache[uniformName] = null;\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets a Color4 on a uniform variable\r\n * @param uniformName defines the name of the variable\r\n * @param color4 defines the value to be set\r\n * @returns this effect.\r\n */\r\n public setDirectColor4(uniformName: string, color4: IColor4Like): Effect {\r\n if (this._cacheFloat4(uniformName, color4.r, color4.g, color4.b, color4.a)) {\r\n if (!this._engine.setFloat4(this._uniforms[uniformName], color4.r, color4.g, color4.b, color4.a)) {\r\n this._valueCache[uniformName] = null;\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n /** Release all associated resources */\r\n public dispose() {\r\n this._engine._releaseEffect(this);\r\n }\r\n\r\n /**\r\n * This function will add a new shader to the shader store\r\n * @param name the name of the shader\r\n * @param pixelShader optional pixel shader content\r\n * @param vertexShader optional vertex shader content\r\n */\r\n public static RegisterShader(name: string, pixelShader?: string, vertexShader?: string) {\r\n if (pixelShader) {\r\n Effect.ShadersStore[`${name}PixelShader`] = pixelShader;\r\n }\r\n\r\n if (vertexShader) {\r\n Effect.ShadersStore[`${name}VertexShader`] = vertexShader;\r\n }\r\n }\r\n\r\n /**\r\n * Store of each shader (The can be looked up using effect.key)\r\n */\r\n public static ShadersStore: { [key: string]: string } = {};\r\n /**\r\n * Store of each included file for a shader (The can be looked up using effect.key)\r\n */\r\n public static IncludesShadersStore: { [key: string]: string } = {};\r\n\r\n /**\r\n * Resets the cache of effects.\r\n */\r\n public static ResetCache() {\r\n Effect._baseCache = {};\r\n }\r\n}","import { Nullable } from \"../types\";\r\n\r\n/**\r\n * A class serves as a medium between the observable and its observers\r\n */\r\nexport class EventState {\r\n\r\n /**\r\n * Create a new EventState\r\n * @param mask defines the mask associated with this state\r\n * @param skipNextObservers defines a flag which will instruct the observable to skip following observers when set to true\r\n * @param target defines the original target of the state\r\n * @param currentTarget defines the current target of the state\r\n */\r\n constructor(mask: number, skipNextObservers = false, target?: any, currentTarget?: any) {\r\n this.initalize(mask, skipNextObservers, target, currentTarget);\r\n }\r\n\r\n /**\r\n * Initialize the current event state\r\n * @param mask defines the mask associated with this state\r\n * @param skipNextObservers defines a flag which will instruct the observable to skip following observers when set to true\r\n * @param target defines the original target of the state\r\n * @param currentTarget defines the current target of the state\r\n * @returns the current event state\r\n */\r\n public initalize(mask: number, skipNextObservers = false, target?: any, currentTarget?: any): EventState {\r\n this.mask = mask;\r\n this.skipNextObservers = skipNextObservers;\r\n this.target = target;\r\n this.currentTarget = currentTarget;\r\n return this;\r\n }\r\n\r\n /**\r\n * An Observer can set this property to true to prevent subsequent observers of being notified\r\n */\r\n public skipNextObservers: boolean;\r\n\r\n /**\r\n * Get the mask value that were used to trigger the event corresponding to this EventState object\r\n */\r\n public mask: number;\r\n\r\n /**\r\n * The object that originally notified the event\r\n */\r\n public target?: any;\r\n\r\n /**\r\n * The current object in the bubbling phase\r\n */\r\n public currentTarget?: any;\r\n\r\n /**\r\n * This will be populated with the return value of the last function that was executed.\r\n * If it is the first function in the callback chain it will be the event data.\r\n */\r\n public lastReturnValue?: any;\r\n\r\n /**\r\n * User defined information that will be sent to observers\r\n */\r\n public userInfo?: any;\r\n}\r\n\r\n/**\r\n * Represent an Observer registered to a given Observable object.\r\n */\r\nexport class Observer {\r\n /** @hidden */\r\n public _willBeUnregistered = false;\r\n /**\r\n * Gets or sets a property defining that the observer as to be unregistered after the next notification\r\n */\r\n public unregisterOnNextCall = false;\r\n\r\n /**\r\n * Creates a new observer\r\n * @param callback defines the callback to call when the observer is notified\r\n * @param mask defines the mask of the observer (used to filter notifications)\r\n * @param scope defines the current scope used to restore the JS context\r\n */\r\n constructor(\r\n /**\r\n * Defines the callback to call when the observer is notified\r\n */\r\n public callback: (eventData: T, eventState: EventState) => void,\r\n /**\r\n * Defines the mask of the observer (used to filter notifications)\r\n */\r\n public mask: number,\r\n /**\r\n * Defines the current scope used to restore the JS context\r\n */\r\n public scope: any = null) {\r\n }\r\n}\r\n\r\n/**\r\n * Represent a list of observers registered to multiple Observables object.\r\n */\r\nexport class MultiObserver {\r\n private _observers: Nullable[]>;\r\n private _observables: Nullable[]>;\r\n\r\n /**\r\n * Release associated resources\r\n */\r\n public dispose(): void {\r\n if (this._observers && this._observables) {\r\n for (var index = 0; index < this._observers.length; index++) {\r\n this._observables[index].remove(this._observers[index]);\r\n }\r\n }\r\n\r\n this._observers = null;\r\n this._observables = null;\r\n }\r\n\r\n /**\r\n * Raise a callback when one of the observable will notify\r\n * @param observables defines a list of observables to watch\r\n * @param callback defines the callback to call on notification\r\n * @param mask defines the mask used to filter notifications\r\n * @param scope defines the current scope used to restore the JS context\r\n * @returns the new MultiObserver\r\n */\r\n public static Watch(observables: Observable[], callback: (eventData: T, eventState: EventState) => void, mask: number = -1, scope: any = null): MultiObserver {\r\n let result = new MultiObserver();\r\n\r\n result._observers = new Array>();\r\n result._observables = observables;\r\n\r\n for (var observable of observables) {\r\n let observer = observable.add(callback, mask, false, scope);\r\n if (observer) {\r\n result._observers.push(observer);\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n\r\n/**\r\n * The Observable class is a simple implementation of the Observable pattern.\r\n *\r\n * There's one slight particularity though: a given Observable can notify its observer using a particular mask value, only the Observers registered with this mask value will be notified.\r\n * This enable a more fine grained execution without having to rely on multiple different Observable objects.\r\n * For instance you may have a given Observable that have four different types of notifications: Move (mask = 0x01), Stop (mask = 0x02), Turn Right (mask = 0X04), Turn Left (mask = 0X08).\r\n * A given observer can register itself with only Move and Stop (mask = 0x03), then it will only be notified when one of these two occurs and will never be for Turn Left/Right.\r\n */\r\nexport class Observable {\r\n private _observers = new Array>();\r\n\r\n private _eventState: EventState;\r\n\r\n private _onObserverAdded: Nullable<(observer: Observer) => void>;\r\n\r\n /**\r\n * Gets the list of observers\r\n */\r\n public get observers(): Array> {\r\n return this._observers;\r\n }\r\n\r\n /**\r\n * Creates a new observable\r\n * @param onObserverAdded defines a callback to call when a new observer is added\r\n */\r\n constructor(onObserverAdded?: (observer: Observer) => void) {\r\n this._eventState = new EventState(0);\r\n\r\n if (onObserverAdded) {\r\n this._onObserverAdded = onObserverAdded;\r\n }\r\n }\r\n\r\n /**\r\n * Create a new Observer with the specified callback\r\n * @param callback the callback that will be executed for that Observer\r\n * @param mask the mask used to filter observers\r\n * @param insertFirst if true the callback will be inserted at the first position, hence executed before the others ones. If false (default behavior) the callback will be inserted at the last position, executed after all the others already present.\r\n * @param scope optional scope for the callback to be called from\r\n * @param unregisterOnFirstCall defines if the observer as to be unregistered after the next notification\r\n * @returns the new observer created for the callback\r\n */\r\n public add(callback: (eventData: T, eventState: EventState) => void, mask: number = -1, insertFirst = false, scope: any = null, unregisterOnFirstCall = false): Nullable> {\r\n if (!callback) {\r\n return null;\r\n }\r\n\r\n var observer = new Observer(callback, mask, scope);\r\n observer.unregisterOnNextCall = unregisterOnFirstCall;\r\n\r\n if (insertFirst) {\r\n this._observers.unshift(observer);\r\n } else {\r\n this._observers.push(observer);\r\n }\r\n\r\n if (this._onObserverAdded) {\r\n this._onObserverAdded(observer);\r\n }\r\n\r\n return observer;\r\n }\r\n\r\n /**\r\n * Create a new Observer with the specified callback and unregisters after the next notification\r\n * @param callback the callback that will be executed for that Observer\r\n * @returns the new observer created for the callback\r\n */\r\n public addOnce(callback: (eventData: T, eventState: EventState) => void): Nullable> {\r\n return this.add(callback, undefined, undefined, undefined, true);\r\n }\r\n\r\n /**\r\n * Remove an Observer from the Observable object\r\n * @param observer the instance of the Observer to remove\r\n * @returns false if it doesn't belong to this Observable\r\n */\r\n public remove(observer: Nullable>): boolean {\r\n if (!observer) {\r\n return false;\r\n }\r\n\r\n var index = this._observers.indexOf(observer);\r\n\r\n if (index !== -1) {\r\n this._deferUnregister(observer);\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Remove a callback from the Observable object\r\n * @param callback the callback to remove\r\n * @param scope optional scope. If used only the callbacks with this scope will be removed\r\n * @returns false if it doesn't belong to this Observable\r\n */\r\n public removeCallback(callback: (eventData: T, eventState: EventState) => void, scope?: any): boolean {\r\n\r\n for (var index = 0; index < this._observers.length; index++) {\r\n const observer = this._observers[index];\r\n if (observer._willBeUnregistered) {\r\n continue;\r\n }\r\n if (observer.callback === callback && (!scope || scope === observer.scope)) {\r\n this._deferUnregister(observer);\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private _deferUnregister(observer: Observer): void {\r\n observer.unregisterOnNextCall = false;\r\n observer._willBeUnregistered = true;\r\n setTimeout(() => {\r\n this._remove(observer);\r\n }, 0);\r\n }\r\n\r\n // This should only be called when not iterating over _observers to avoid callback skipping.\r\n // Removes an observer from the _observer Array.\r\n private _remove(observer: Nullable>): boolean {\r\n if (!observer) {\r\n return false;\r\n }\r\n\r\n var index = this._observers.indexOf(observer);\r\n\r\n if (index !== -1) {\r\n this._observers.splice(index, 1);\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Moves the observable to the top of the observer list making it get called first when notified\r\n * @param observer the observer to move\r\n */\r\n public makeObserverTopPriority(observer: Observer) {\r\n this._remove(observer);\r\n this._observers.unshift(observer);\r\n }\r\n\r\n /**\r\n * Moves the observable to the bottom of the observer list making it get called last when notified\r\n * @param observer the observer to move\r\n */\r\n public makeObserverBottomPriority(observer: Observer) {\r\n this._remove(observer);\r\n this._observers.push(observer);\r\n }\r\n\r\n /**\r\n * Notify all Observers by calling their respective callback with the given data\r\n * Will return true if all observers were executed, false if an observer set skipNextObservers to true, then prevent the subsequent ones to execute\r\n * @param eventData defines the data to send to all observers\r\n * @param mask defines the mask of the current notification (observers with incompatible mask (ie mask & observer.mask === 0) will not be notified)\r\n * @param target defines the original target of the state\r\n * @param currentTarget defines the current target of the state\r\n * @param userInfo defines any user info to send to observers\r\n * @returns false if the complete observer chain was not processed (because one observer set the skipNextObservers to true)\r\n */\r\n public notifyObservers(eventData: T, mask: number = -1, target?: any, currentTarget?: any, userInfo?: any): boolean {\r\n if (!this._observers.length) {\r\n return true;\r\n }\r\n\r\n let state = this._eventState;\r\n state.mask = mask;\r\n state.target = target;\r\n state.currentTarget = currentTarget;\r\n state.skipNextObservers = false;\r\n state.lastReturnValue = eventData;\r\n state.userInfo = userInfo;\r\n\r\n for (var obs of this._observers) {\r\n if (obs._willBeUnregistered) {\r\n continue;\r\n }\r\n\r\n if (obs.mask & mask) {\r\n if (obs.scope) {\r\n state.lastReturnValue = obs.callback.apply(obs.scope, [eventData, state]);\r\n } else {\r\n state.lastReturnValue = obs.callback(eventData, state);\r\n }\r\n\r\n if (obs.unregisterOnNextCall) {\r\n this._deferUnregister(obs);\r\n }\r\n }\r\n if (state.skipNextObservers) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Calling this will execute each callback, expecting it to be a promise or return a value.\r\n * If at any point in the chain one function fails, the promise will fail and the execution will not continue.\r\n * This is useful when a chain of events (sometimes async events) is needed to initialize a certain object\r\n * and it is crucial that all callbacks will be executed.\r\n * The order of the callbacks is kept, callbacks are not executed parallel.\r\n *\r\n * @param eventData The data to be sent to each callback\r\n * @param mask is used to filter observers defaults to -1\r\n * @param target defines the callback target (see EventState)\r\n * @param currentTarget defines he current object in the bubbling phase\r\n * @param userInfo defines any user info to send to observers\r\n * @returns {Promise} will return a Promise than resolves when all callbacks executed successfully.\r\n */\r\n public notifyObserversWithPromise(eventData: T, mask: number = -1, target?: any, currentTarget?: any, userInfo?: any): Promise {\r\n\r\n // create an empty promise\r\n let p: Promise = Promise.resolve(eventData);\r\n\r\n // no observers? return this promise.\r\n if (!this._observers.length) {\r\n return p;\r\n }\r\n\r\n let state = this._eventState;\r\n state.mask = mask;\r\n state.target = target;\r\n state.currentTarget = currentTarget;\r\n state.skipNextObservers = false;\r\n state.userInfo = userInfo;\r\n\r\n // execute one callback after another (not using Promise.all, the order is important)\r\n this._observers.forEach((obs) => {\r\n if (state.skipNextObservers) {\r\n return;\r\n }\r\n if (obs._willBeUnregistered) {\r\n return;\r\n }\r\n if (obs.mask & mask) {\r\n if (obs.scope) {\r\n p = p.then((lastReturnedValue) => {\r\n state.lastReturnValue = lastReturnedValue;\r\n return obs.callback.apply(obs.scope, [eventData, state]);\r\n });\r\n } else {\r\n p = p.then((lastReturnedValue) => {\r\n state.lastReturnValue = lastReturnedValue;\r\n return obs.callback(eventData, state);\r\n });\r\n }\r\n if (obs.unregisterOnNextCall) {\r\n this._deferUnregister(obs);\r\n }\r\n }\r\n });\r\n\r\n // return the eventData\r\n return p.then(() => { return eventData; });\r\n }\r\n\r\n /**\r\n * Notify a specific observer\r\n * @param observer defines the observer to notify\r\n * @param eventData defines the data to be sent to each callback\r\n * @param mask is used to filter observers defaults to -1\r\n */\r\n public notifyObserver(observer: Observer, eventData: T, mask: number = -1): void {\r\n let state = this._eventState;\r\n state.mask = mask;\r\n state.skipNextObservers = false;\r\n\r\n observer.callback(eventData, state);\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if the observable has at least one observer\r\n * @returns true is the Observable has at least one Observer registered\r\n */\r\n public hasObservers(): boolean {\r\n return this._observers.length > 0;\r\n }\r\n\r\n /**\r\n * Clear the list of observers\r\n */\r\n public clear(): void {\r\n this._observers = new Array>();\r\n this._onObserverAdded = null;\r\n }\r\n\r\n /**\r\n * Clone the current observable\r\n * @returns a new observable\r\n */\r\n public clone(): Observable {\r\n var result = new Observable();\r\n\r\n result._observers = this._observers.slice(0);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Does this observable handles observer registered with a given mask\r\n * @param mask defines the mask to be tested\r\n * @return whether or not one observer registered with the given mask is handeled\r\n **/\r\n public hasSpecificMask(mask: number = -1): boolean {\r\n for (var obs of this._observers) {\r\n if (obs.mask & mask || obs.mask === mask) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n}\r\n","import { Observer, Observable } from \"../Misc/observable\";\r\nimport { Tools, AsyncLoop } from \"../Misc/tools\";\r\nimport { IAnimatable } from '../Animations/animatable.interface';\r\nimport { DeepCopier } from \"../Misc/deepCopier\";\r\nimport { Tags } from \"../Misc/tags\";\r\nimport { Nullable, FloatArray, IndicesArray } from \"../types\";\r\nimport { Camera } from \"../Cameras/camera\";\r\nimport { Scene } from \"../scene\";\r\nimport { Quaternion, Matrix, Vector3, Vector2, Vector4 } from \"../Maths/math.vector\";\r\nimport { Color3, Color4 } from '../Maths/math.color';\r\nimport { Engine } from \"../Engines/engine\";\r\nimport { Node } from \"../node\";\r\nimport { VertexBuffer } from \"./buffer\";\r\nimport { VertexData, IGetSetVerticesData } from \"./mesh.vertexData\";\r\nimport { Buffer } from \"./buffer\";\r\nimport { Geometry } from \"./geometry\";\r\nimport { AbstractMesh } from \"./abstractMesh\";\r\nimport { SubMesh } from \"./subMesh\";\r\nimport { BoundingInfo } from \"../Culling/boundingInfo\";\r\nimport { BoundingSphere } from \"../Culling/boundingSphere\";\r\nimport { Effect } from \"../Materials/effect\";\r\nimport { Material } from \"../Materials/material\";\r\nimport { MultiMaterial } from \"../Materials/multiMaterial\";\r\nimport { SceneLoaderFlags } from \"../Loading/sceneLoaderFlags\";\r\nimport { Skeleton } from \"../Bones/skeleton\";\r\nimport { MorphTargetManager } from \"../Morph/morphTargetManager\";\r\n\r\nimport { SerializationHelper } from \"../Misc/decorators\";\r\nimport { Logger } from \"../Misc/logger\";\r\nimport { _TypeStore } from '../Misc/typeStore';\r\nimport { _DevTools } from '../Misc/devTools';\r\nimport { SceneComponentConstants } from \"../sceneComponent\";\r\nimport { MeshLODLevel } from './meshLODLevel';\r\nimport { Path3D } from '../Maths/math.path';\r\nimport { Plane } from '../Maths/math.plane';\r\nimport { TransformNode } from './transformNode';\r\nimport { CanvasGenerator } from '../Misc/canvasGenerator';\r\nimport { ICreateCapsuleOptions } from './Builders/capsuleBuilder';\r\n\r\ndeclare type LinesMesh = import(\"./linesMesh\").LinesMesh;\r\ndeclare type InstancedMesh = import(\"./instancedMesh\").InstancedMesh;\r\ndeclare type GroundMesh = import(\"./groundMesh\").GroundMesh;\r\ndeclare type IPhysicsEnabledObject = import(\"../Physics/physicsImpostor\").IPhysicsEnabledObject;\r\ndeclare type PhysicsImpostor = import(\"../Physics/physicsImpostor\").PhysicsImpostor;\r\n\r\ndeclare var earcut: any;\r\n\r\n/**\r\n * @hidden\r\n **/\r\nexport class _CreationDataStorage {\r\n public closePath?: boolean;\r\n public closeArray?: boolean;\r\n public idx: number[];\r\n public dashSize: number;\r\n public gapSize: number;\r\n public path3D: Path3D;\r\n public pathArray: Vector3[][];\r\n public arc: number;\r\n public radius: number;\r\n public cap: number;\r\n public tessellation: number;\r\n}\r\n\r\n/**\r\n * @hidden\r\n **/\r\nclass _InstanceDataStorage {\r\n public visibleInstances: any = {};\r\n public batchCache = new _InstancesBatch();\r\n public instancesBufferSize = 32 * 16 * 4; // let's start with a maximum of 32 instances\r\n public instancesBuffer: Nullable;\r\n public instancesData: Float32Array;\r\n public overridenInstanceCount: number;\r\n public isFrozen: boolean;\r\n public previousBatch: Nullable<_InstancesBatch>;\r\n public hardwareInstancedRendering: boolean;\r\n public sideOrientation: number;\r\n public manualUpdate: boolean;\r\n public previousRenderId: number;\r\n}\r\n\r\n/**\r\n * @hidden\r\n **/\r\nexport class _InstancesBatch {\r\n public mustReturn = false;\r\n public visibleInstances = new Array>>();\r\n public renderSelf = new Array();\r\n public hardwareInstancedRendering = new Array();\r\n}\r\n\r\n/**\r\n * @hidden\r\n **/\r\nclass _ThinInstanceDataStorage {\r\n public instancesCount: number = 0;\r\n public matrixBuffer: Nullable = null;\r\n public matrixBufferSize = 32 * 16; // let's start with a maximum of 32 thin instances\r\n public matrixData: Nullable;\r\n public boundingVectors: Array = [];\r\n public worldMatrices: Nullable = null;\r\n}\r\n\r\n/**\r\n * @hidden\r\n **/\r\nclass _InternalMeshDataInfo {\r\n // Events\r\n public _onBeforeRenderObservable: Nullable>;\r\n public _onBeforeBindObservable: Nullable>;\r\n public _onAfterRenderObservable: Nullable>;\r\n public _onBeforeDrawObservable: Nullable>;\r\n\r\n public _areNormalsFrozen: boolean = false; // Will be used by ribbons mainly\r\n public _sourcePositions: Float32Array; // Will be used to save original positions when using software skinning\r\n public _sourceNormals: Float32Array; // Will be used to save original normals when using software skinning\r\n\r\n // Will be used to save a source mesh reference, If any\r\n public _source: Nullable = null;\r\n // Will be used to for fast cloned mesh lookup\r\n public meshMap: Nullable<{ [id: string]: Mesh | undefined }> = null;\r\n\r\n public _preActivateId: number = -1;\r\n public _LODLevels = new Array();\r\n\r\n // Morph\r\n public _morphTargetManager: Nullable = null;\r\n}\r\n\r\n/**\r\n * Class used to represent renderable models\r\n */\r\nexport class Mesh extends AbstractMesh implements IGetSetVerticesData {\r\n // Consts\r\n\r\n /**\r\n * Mesh side orientation : usually the external or front surface\r\n */\r\n public static readonly FRONTSIDE = VertexData.FRONTSIDE;\r\n\r\n /**\r\n * Mesh side orientation : usually the internal or back surface\r\n */\r\n public static readonly BACKSIDE = VertexData.BACKSIDE;\r\n /**\r\n * Mesh side orientation : both internal and external or front and back surfaces\r\n */\r\n public static readonly DOUBLESIDE = VertexData.DOUBLESIDE;\r\n /**\r\n * Mesh side orientation : by default, `FRONTSIDE`\r\n */\r\n public static readonly DEFAULTSIDE = VertexData.DEFAULTSIDE;\r\n /**\r\n * Mesh cap setting : no cap\r\n */\r\n public static readonly NO_CAP = 0;\r\n /**\r\n * Mesh cap setting : one cap at the beginning of the mesh\r\n */\r\n public static readonly CAP_START = 1;\r\n /**\r\n * Mesh cap setting : one cap at the end of the mesh\r\n */\r\n public static readonly CAP_END = 2;\r\n /**\r\n * Mesh cap setting : two caps, one at the beginning and one at the end of the mesh\r\n */\r\n public static readonly CAP_ALL = 3;\r\n /**\r\n * Mesh pattern setting : no flip or rotate\r\n */\r\n public static readonly NO_FLIP = 0;\r\n /**\r\n * Mesh pattern setting : flip (reflect in y axis) alternate tiles on each row or column\r\n */\r\n public static readonly FLIP_TILE = 1;\r\n /**\r\n * Mesh pattern setting : rotate (180degs) alternate tiles on each row or column\r\n */\r\n public static readonly ROTATE_TILE = 2;\r\n /**\r\n * Mesh pattern setting : flip (reflect in y axis) all tiles on alternate rows\r\n */\r\n public static readonly FLIP_ROW = 3;\r\n /**\r\n * Mesh pattern setting : rotate (180degs) all tiles on alternate rows\r\n */\r\n public static readonly ROTATE_ROW = 4;\r\n /**\r\n * Mesh pattern setting : flip and rotate alternate tiles on each row or column\r\n */\r\n public static readonly FLIP_N_ROTATE_TILE = 5;\r\n /**\r\n * Mesh pattern setting : rotate pattern and rotate\r\n */\r\n public static readonly FLIP_N_ROTATE_ROW = 6;\r\n /**\r\n * Mesh tile positioning : part tiles same on left/right or top/bottom\r\n */\r\n public static readonly CENTER = 0;\r\n /**\r\n * Mesh tile positioning : part tiles on left\r\n */\r\n public static readonly LEFT = 1;\r\n /**\r\n * Mesh tile positioning : part tiles on right\r\n */\r\n public static readonly RIGHT = 2;\r\n /**\r\n * Mesh tile positioning : part tiles on top\r\n */\r\n public static readonly TOP = 3;\r\n /**\r\n * Mesh tile positioning : part tiles on bottom\r\n */\r\n public static readonly BOTTOM = 4;\r\n\r\n /**\r\n * Gets the default side orientation.\r\n * @param orientation the orientation to value to attempt to get\r\n * @returns the default orientation\r\n * @hidden\r\n */\r\n public static _GetDefaultSideOrientation(orientation?: number): number {\r\n return orientation || Mesh.FRONTSIDE; // works as Mesh.FRONTSIDE is 0\r\n }\r\n\r\n // Internal data\r\n private _internalMeshDataInfo = new _InternalMeshDataInfo();\r\n\r\n public get computeBonesUsingShaders(): boolean {\r\n return this._internalAbstractMeshDataInfo._computeBonesUsingShaders;\r\n }\r\n public set computeBonesUsingShaders(value: boolean) {\r\n if (this._internalAbstractMeshDataInfo._computeBonesUsingShaders === value) {\r\n return;\r\n }\r\n\r\n if (value && this._internalMeshDataInfo._sourcePositions) {\r\n // switch from software to GPU computation: we need to reset the vertex and normal buffers that have been updated by the software process\r\n this.setVerticesData(VertexBuffer.PositionKind, this._internalMeshDataInfo._sourcePositions.slice(), true);\r\n if (this._internalMeshDataInfo._sourceNormals) {\r\n this.setVerticesData(VertexBuffer.NormalKind, this._internalMeshDataInfo._sourceNormals.slice(), true);\r\n }\r\n }\r\n\r\n this._internalAbstractMeshDataInfo._computeBonesUsingShaders = value;\r\n this._markSubMeshesAsAttributesDirty();\r\n }\r\n\r\n /**\r\n * An event triggered before rendering the mesh\r\n */\r\n public get onBeforeRenderObservable(): Observable {\r\n if (!this._internalMeshDataInfo._onBeforeRenderObservable) {\r\n this._internalMeshDataInfo._onBeforeRenderObservable = new Observable();\r\n }\r\n\r\n return this._internalMeshDataInfo._onBeforeRenderObservable;\r\n }\r\n\r\n /**\r\n * An event triggered before binding the mesh\r\n */\r\n public get onBeforeBindObservable(): Observable {\r\n if (!this._internalMeshDataInfo._onBeforeBindObservable) {\r\n this._internalMeshDataInfo._onBeforeBindObservable = new Observable();\r\n }\r\n\r\n return this._internalMeshDataInfo._onBeforeBindObservable;\r\n }\r\n\r\n /**\r\n * An event triggered after rendering the mesh\r\n */\r\n public get onAfterRenderObservable(): Observable {\r\n if (!this._internalMeshDataInfo._onAfterRenderObservable) {\r\n this._internalMeshDataInfo._onAfterRenderObservable = new Observable();\r\n }\r\n\r\n return this._internalMeshDataInfo._onAfterRenderObservable;\r\n }\r\n\r\n /**\r\n * An event triggered before drawing the mesh\r\n */\r\n public get onBeforeDrawObservable(): Observable {\r\n if (!this._internalMeshDataInfo._onBeforeDrawObservable) {\r\n this._internalMeshDataInfo._onBeforeDrawObservable = new Observable();\r\n }\r\n\r\n return this._internalMeshDataInfo._onBeforeDrawObservable;\r\n }\r\n\r\n private _onBeforeDrawObserver: Nullable>;\r\n\r\n /**\r\n * Sets a callback to call before drawing the mesh. It is recommended to use onBeforeDrawObservable instead\r\n */\r\n public set onBeforeDraw(callback: () => void) {\r\n if (this._onBeforeDrawObserver) {\r\n this.onBeforeDrawObservable.remove(this._onBeforeDrawObserver);\r\n }\r\n this._onBeforeDrawObserver = this.onBeforeDrawObservable.add(callback);\r\n }\r\n\r\n public get hasInstances(): boolean {\r\n return this.instances.length > 0;\r\n }\r\n\r\n public get hasThinInstances(): boolean {\r\n return (this._thinInstanceDataStorage.instancesCount ?? 0) > 0;\r\n }\r\n\r\n // Members\r\n\r\n /**\r\n * Gets the delay loading state of the mesh (when delay loading is turned on)\r\n * @see https://doc.babylonjs.com/how_to/using_the_incremental_loading_system\r\n */\r\n public delayLoadState = 0;\r\n\r\n /**\r\n * Gets the list of instances created from this mesh\r\n * it is not supposed to be modified manually.\r\n * Note also that the order of the InstancedMesh wihin the array is not significant and might change.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_instances\r\n */\r\n public instances = new Array();\r\n\r\n /**\r\n * Gets the file containing delay loading data for this mesh\r\n */\r\n public delayLoadingFile: string;\r\n\r\n /** @hidden */\r\n public _binaryInfo: any;\r\n\r\n /**\r\n * User defined function used to change how LOD level selection is done\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_lod\r\n */\r\n public onLODLevelSelection: (distance: number, mesh: Mesh, selectedLevel: Nullable) => void;\r\n\r\n /**\r\n * Gets or sets the morph target manager\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_morphtargets\r\n */\r\n public get morphTargetManager(): Nullable {\r\n return this._internalMeshDataInfo._morphTargetManager;\r\n }\r\n\r\n public set morphTargetManager(value: Nullable) {\r\n if (this._internalMeshDataInfo._morphTargetManager === value) {\r\n return;\r\n }\r\n this._internalMeshDataInfo._morphTargetManager = value;\r\n this._syncGeometryWithMorphTargetManager();\r\n }\r\n\r\n // Private\r\n /** @hidden */\r\n public _creationDataStorage: Nullable<_CreationDataStorage> = null;\r\n\r\n /** @hidden */\r\n public _geometry: Nullable = null;\r\n /** @hidden */\r\n public _delayInfo: Array;\r\n /** @hidden */\r\n public _delayLoadingFunction: (any: any, mesh: Mesh) => void;\r\n\r\n /** @hidden */\r\n public _instanceDataStorage = new _InstanceDataStorage();\r\n\r\n /** @hidden */\r\n public _thinInstanceDataStorage = new _ThinInstanceDataStorage();\r\n\r\n private _effectiveMaterial: Nullable = null;\r\n\r\n /** @hidden */\r\n public _shouldGenerateFlatShading: boolean = false;\r\n\r\n // Use by builder only to know what orientation were the mesh build in.\r\n /** @hidden */\r\n public _originalBuilderSideOrientation: number = Mesh.DEFAULTSIDE;\r\n\r\n /**\r\n * Use this property to change the original side orientation defined at construction time\r\n */\r\n public overrideMaterialSideOrientation: Nullable = null;\r\n\r\n /**\r\n * Gets the source mesh (the one used to clone this one from)\r\n */\r\n public get source(): Nullable {\r\n return this._internalMeshDataInfo._source;\r\n }\r\n\r\n /**\r\n * Gets the list of clones of this mesh\r\n * The scene must have been constructed with useClonedMeshMap=true for this to work!\r\n * Note that useClonedMeshMap=true is the default setting\r\n */\r\n public get cloneMeshMap(): Nullable<{ [id: string]: Mesh | undefined }> {\r\n return this._internalMeshDataInfo.meshMap;\r\n }\r\n\r\n /**\r\n * Gets or sets a boolean indicating that this mesh does not use index buffer\r\n */\r\n public get isUnIndexed(): boolean {\r\n return this._unIndexed;\r\n }\r\n\r\n public set isUnIndexed(value: boolean) {\r\n if (this._unIndexed !== value) {\r\n this._unIndexed = value;\r\n this._markSubMeshesAsAttributesDirty();\r\n }\r\n }\r\n\r\n /** Gets the array buffer used to store the instanced buffer used for instances' world matrices */\r\n public get worldMatrixInstancedBuffer() {\r\n return this._instanceDataStorage.instancesData;\r\n }\r\n\r\n /** Gets or sets a boolean indicating that the update of the instance buffer of the world matrices is manual */\r\n public get manualUpdateOfWorldMatrixInstancedBuffer() {\r\n return this._instanceDataStorage.manualUpdate;\r\n }\r\n\r\n public set manualUpdateOfWorldMatrixInstancedBuffer(value: boolean) {\r\n this._instanceDataStorage.manualUpdate = value;\r\n }\r\n\r\n /**\r\n * @constructor\r\n * @param name The value used by scene.getMeshByName() to do a lookup.\r\n * @param scene The scene to add this mesh to.\r\n * @param parent The parent of this mesh, if it has one\r\n * @param source An optional Mesh from which geometry is shared, cloned.\r\n * @param doNotCloneChildren When cloning, skip cloning child meshes of source, default False.\r\n * When false, achieved by calling a clone(), also passing False.\r\n * This will make creation of children, recursive.\r\n * @param clonePhysicsImpostor When cloning, include cloning mesh physics impostor, default True.\r\n */\r\n constructor(name: string, scene: Nullable = null, parent: Nullable = null, source: Nullable = null, doNotCloneChildren?: boolean, clonePhysicsImpostor: boolean = true) {\r\n super(name, scene);\r\n\r\n scene = this.getScene();\r\n\r\n if (source) {\r\n // Geometry\r\n if (source._geometry) {\r\n source._geometry.applyToMesh(this);\r\n }\r\n\r\n // Deep copy\r\n DeepCopier.DeepCopy(source, this, [\r\n \"name\", \"material\", \"skeleton\", \"instances\", \"parent\", \"uniqueId\", \"source\", \"metadata\", \"morphTargetManager\",\r\n \"hasInstances\", \"source\", \"worldMatrixInstancedBuffer\", \"hasLODLevels\", \"geometry\", \"isBlocked\", \"areNormalsFrozen\",\r\n \"facetNb\", \"isFacetDataEnabled\", \"lightSources\", \"useBones\", \"isAnInstance\", \"collider\", \"edgesRenderer\", \"forward\",\r\n \"up\", \"right\", \"absolutePosition\", \"absoluteScaling\", \"absoluteRotationQuaternion\", \"isWorldMatrixFrozen\",\r\n \"nonUniformScaling\", \"behaviors\", \"worldMatrixFromCache\", \"hasThinInstances\", \"cloneMeshMap\"\r\n ], [\"_poseMatrix\"]);\r\n\r\n // Source mesh\r\n this._internalMeshDataInfo._source = source;\r\n if (scene.useClonedMeshMap) {\r\n if (!source._internalMeshDataInfo.meshMap) {\r\n source._internalMeshDataInfo.meshMap = {};\r\n }\r\n source._internalMeshDataInfo.meshMap[this.uniqueId] = this;\r\n }\r\n\r\n // Construction Params\r\n // Clone parameters allowing mesh to be updated in case of parametric shapes.\r\n this._originalBuilderSideOrientation = source._originalBuilderSideOrientation;\r\n this._creationDataStorage = source._creationDataStorage;\r\n\r\n // Animation ranges\r\n if (source._ranges) {\r\n const ranges = source._ranges;\r\n for (var name in ranges) {\r\n if (!ranges.hasOwnProperty(name)) {\r\n continue;\r\n }\r\n\r\n if (!ranges[name]) {\r\n continue;\r\n }\r\n\r\n this.createAnimationRange(name, ranges[name]!.from, ranges[name]!.to);\r\n }\r\n }\r\n\r\n // Metadata\r\n if (source.metadata && source.metadata.clone) {\r\n this.metadata = source.metadata.clone();\r\n } else {\r\n this.metadata = source.metadata;\r\n }\r\n\r\n // Tags\r\n if (Tags && Tags.HasTags(source)) {\r\n Tags.AddTagsTo(this, Tags.GetTags(source, true));\r\n }\r\n\r\n // Enabled\r\n this.setEnabled(source.isEnabled());\r\n\r\n // Parent\r\n this.parent = source.parent;\r\n\r\n // Pivot\r\n this.setPivotMatrix(source.getPivotMatrix());\r\n\r\n this.id = name + \".\" + source.id;\r\n\r\n // Material\r\n this.material = source.material;\r\n var index: number;\r\n if (!doNotCloneChildren) {\r\n // Children\r\n let directDescendants = source.getDescendants(true);\r\n for (let index = 0; index < directDescendants.length; index++) {\r\n var child = directDescendants[index];\r\n\r\n if ((child).clone) {\r\n (child).clone(name + \".\" + child.name, this);\r\n }\r\n }\r\n }\r\n\r\n // Morphs\r\n if (source.morphTargetManager) {\r\n this.morphTargetManager = source.morphTargetManager;\r\n }\r\n\r\n // Physics clone\r\n if (scene.getPhysicsEngine) {\r\n var physicsEngine = scene.getPhysicsEngine();\r\n if (clonePhysicsImpostor && physicsEngine) {\r\n var impostor = physicsEngine.getImpostorForPhysicsObject(source);\r\n if (impostor) {\r\n this.physicsImpostor = impostor.clone(this);\r\n }\r\n }\r\n }\r\n\r\n // Particles\r\n for (index = 0; index < scene.particleSystems.length; index++) {\r\n var system = scene.particleSystems[index];\r\n\r\n if (system.emitter === source) {\r\n system.clone(system.name, this);\r\n }\r\n }\r\n this.refreshBoundingInfo();\r\n this.computeWorldMatrix(true);\r\n }\r\n\r\n // Parent\r\n if (parent !== null) {\r\n this.parent = parent;\r\n }\r\n\r\n this._instanceDataStorage.hardwareInstancedRendering = this.getEngine().getCaps().instancedArrays;\r\n }\r\n\r\n // Methods\r\n public instantiateHierarchy(newParent: Nullable = null, options?: { doNotInstantiate: boolean}, onNewNodeCreated?: (source: TransformNode, clone: TransformNode) => void): Nullable {\r\n let instance = (this.getTotalVertices() > 0 && (!options || !options.doNotInstantiate)) ? this.createInstance(\"instance of \" + (this.name || this.id)) : this.clone(\"Clone of \" + (this.name || this.id), newParent || this.parent, true);\r\n\r\n if (instance) {\r\n instance.parent = newParent || this.parent;\r\n instance.position = this.position.clone();\r\n instance.scaling = this.scaling.clone();\r\n if (this.rotationQuaternion) {\r\n instance.rotationQuaternion = this.rotationQuaternion.clone();\r\n } else {\r\n instance.rotation = this.rotation.clone();\r\n }\r\n\r\n if (onNewNodeCreated) {\r\n onNewNodeCreated(this, instance);\r\n }\r\n }\r\n\r\n for (var child of this.getChildTransformNodes(true)) {\r\n child.instantiateHierarchy(instance, options, onNewNodeCreated);\r\n }\r\n\r\n return instance;\r\n }\r\n\r\n /**\r\n * Gets the class name\r\n * @returns the string \"Mesh\".\r\n */\r\n public getClassName(): string {\r\n return \"Mesh\";\r\n }\r\n\r\n /** @hidden */\r\n public get _isMesh() {\r\n return true;\r\n }\r\n\r\n /**\r\n * Returns a description of this mesh\r\n * @param fullDetails define if full details about this mesh must be used\r\n * @returns a descriptive string representing this mesh\r\n */\r\n public toString(fullDetails?: boolean): string {\r\n var ret = super.toString(fullDetails);\r\n ret += \", n vertices: \" + this.getTotalVertices();\r\n ret += \", parent: \" + (this._waitingParentId ? this._waitingParentId : (this.parent ? this.parent.name : \"NONE\"));\r\n\r\n if (this.animations) {\r\n for (var i = 0; i < this.animations.length; i++) {\r\n ret += \", animation[0]: \" + this.animations[i].toString(fullDetails);\r\n }\r\n }\r\n\r\n if (fullDetails) {\r\n\r\n if (this._geometry) {\r\n let ib = this.getIndices();\r\n let vb = this.getVerticesData(VertexBuffer.PositionKind);\r\n\r\n if (vb && ib) {\r\n ret += \", flat shading: \" + (vb.length / 3 === ib.length ? \"YES\" : \"NO\");\r\n }\r\n } else {\r\n ret += \", flat shading: UNKNOWN\";\r\n }\r\n }\r\n return ret;\r\n }\r\n\r\n /** @hidden */\r\n public _unBindEffect() {\r\n super._unBindEffect();\r\n\r\n for (var instance of this.instances) {\r\n instance._unBindEffect();\r\n }\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if this mesh has LOD\r\n */\r\n public get hasLODLevels(): boolean {\r\n return this._internalMeshDataInfo._LODLevels.length > 0;\r\n }\r\n\r\n /**\r\n * Gets the list of MeshLODLevel associated with the current mesh\r\n * @returns an array of MeshLODLevel\r\n */\r\n public getLODLevels(): MeshLODLevel[] {\r\n return this._internalMeshDataInfo._LODLevels;\r\n }\r\n\r\n private _sortLODLevels(): void {\r\n this._internalMeshDataInfo._LODLevels.sort((a, b) => {\r\n if (a.distance < b.distance) {\r\n return 1;\r\n }\r\n if (a.distance > b.distance) {\r\n return -1;\r\n }\r\n\r\n return 0;\r\n });\r\n }\r\n\r\n /**\r\n * Add a mesh as LOD level triggered at the given distance.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_lod\r\n * @param distance The distance from the center of the object to show this level\r\n * @param mesh The mesh to be added as LOD level (can be null)\r\n * @return This mesh (for chaining)\r\n */\r\n public addLODLevel(distance: number, mesh: Nullable): Mesh {\r\n if (mesh && mesh._masterMesh) {\r\n Logger.Warn(\"You cannot use a mesh as LOD level twice\");\r\n return this;\r\n }\r\n\r\n var level = new MeshLODLevel(distance, mesh);\r\n this._internalMeshDataInfo._LODLevels.push(level);\r\n\r\n if (mesh) {\r\n mesh._masterMesh = this;\r\n }\r\n\r\n this._sortLODLevels();\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns the LOD level mesh at the passed distance or null if not found.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_lod\r\n * @param distance The distance from the center of the object to show this level\r\n * @returns a Mesh or `null`\r\n */\r\n public getLODLevelAtDistance(distance: number): Nullable {\r\n let internalDataInfo = this._internalMeshDataInfo;\r\n for (var index = 0; index < internalDataInfo._LODLevels.length; index++) {\r\n var level = internalDataInfo._LODLevels[index];\r\n\r\n if (level.distance === distance) {\r\n return level.mesh;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Remove a mesh from the LOD array\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_lod\r\n * @param mesh defines the mesh to be removed\r\n * @return This mesh (for chaining)\r\n */\r\n public removeLODLevel(mesh: Mesh): Mesh {\r\n let internalDataInfo = this._internalMeshDataInfo;\r\n for (var index = 0; index < internalDataInfo._LODLevels.length; index++) {\r\n if (internalDataInfo._LODLevels[index].mesh === mesh) {\r\n internalDataInfo._LODLevels.splice(index, 1);\r\n if (mesh) {\r\n mesh._masterMesh = null;\r\n }\r\n }\r\n }\r\n\r\n this._sortLODLevels();\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns the registered LOD mesh distant from the parameter `camera` position if any, else returns the current mesh.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_lod\r\n * @param camera defines the camera to use to compute distance\r\n * @param boundingSphere defines a custom bounding sphere to use instead of the one from this mesh\r\n * @return This mesh (for chaining)\r\n */\r\n public getLOD(camera: Camera, boundingSphere?: BoundingSphere): Nullable {\r\n let internalDataInfo = this._internalMeshDataInfo;\r\n if (!internalDataInfo._LODLevels || internalDataInfo._LODLevels.length === 0) {\r\n return this;\r\n }\r\n\r\n let bSphere: BoundingSphere;\r\n\r\n if (boundingSphere) {\r\n bSphere = boundingSphere;\r\n } else {\r\n let boundingInfo = this.getBoundingInfo();\r\n\r\n bSphere = boundingInfo.boundingSphere;\r\n }\r\n\r\n var distanceToCamera = bSphere.centerWorld.subtract(camera.globalPosition).length();\r\n\r\n if (internalDataInfo._LODLevels[internalDataInfo._LODLevels.length - 1].distance > distanceToCamera) {\r\n if (this.onLODLevelSelection) {\r\n this.onLODLevelSelection(distanceToCamera, this, this);\r\n }\r\n return this;\r\n }\r\n\r\n for (var index = 0; index < internalDataInfo._LODLevels.length; index++) {\r\n var level = internalDataInfo._LODLevels[index];\r\n\r\n if (level.distance < distanceToCamera) {\r\n if (level.mesh) {\r\n if (level.mesh.delayLoadState === 4) {\r\n level.mesh._checkDelayState();\r\n return this;\r\n }\r\n\r\n if (level.mesh.delayLoadState === 2) {\r\n return this;\r\n }\r\n\r\n level.mesh._preActivate();\r\n level.mesh._updateSubMeshesBoundingInfo(this.worldMatrixFromCache);\r\n }\r\n\r\n if (this.onLODLevelSelection) {\r\n this.onLODLevelSelection(distanceToCamera, this, level.mesh);\r\n }\r\n\r\n return level.mesh;\r\n }\r\n }\r\n\r\n if (this.onLODLevelSelection) {\r\n this.onLODLevelSelection(distanceToCamera, this, this);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets the mesh internal Geometry object\r\n */\r\n public get geometry(): Nullable {\r\n return this._geometry;\r\n }\r\n\r\n /**\r\n * Returns the total number of vertices within the mesh geometry or zero if the mesh has no geometry.\r\n * @returns the total number of vertices\r\n */\r\n public getTotalVertices(): number {\r\n if (this._geometry === null || this._geometry === undefined) {\r\n return 0;\r\n }\r\n return this._geometry.getTotalVertices();\r\n }\r\n\r\n /**\r\n * Returns the content of an associated vertex buffer\r\n * @param kind defines which buffer to read from (positions, indices, normals, etc). Possible `kind` values :\r\n * - VertexBuffer.PositionKind\r\n * - VertexBuffer.UVKind\r\n * - VertexBuffer.UV2Kind\r\n * - VertexBuffer.UV3Kind\r\n * - VertexBuffer.UV4Kind\r\n * - VertexBuffer.UV5Kind\r\n * - VertexBuffer.UV6Kind\r\n * - VertexBuffer.ColorKind\r\n * - VertexBuffer.MatricesIndicesKind\r\n * - VertexBuffer.MatricesIndicesExtraKind\r\n * - VertexBuffer.MatricesWeightsKind\r\n * - VertexBuffer.MatricesWeightsExtraKind\r\n * @param copyWhenShared defines a boolean indicating that if the mesh geometry is shared among some other meshes, the returned array is a copy of the internal one\r\n * @param forceCopy defines a boolean forcing the copy of the buffer no matter what the value of copyWhenShared is\r\n * @returns a FloatArray or null if the mesh has no geometry or no vertex buffer for this kind.\r\n */\r\n public getVerticesData(kind: string, copyWhenShared?: boolean, forceCopy?: boolean): Nullable {\r\n if (!this._geometry) {\r\n return null;\r\n }\r\n return this._geometry.getVerticesData(kind, copyWhenShared, forceCopy);\r\n }\r\n\r\n /**\r\n * Returns the mesh VertexBuffer object from the requested `kind`\r\n * @param kind defines which buffer to read from (positions, indices, normals, etc). Possible `kind` values :\r\n * - VertexBuffer.PositionKind\r\n * - VertexBuffer.NormalKind\r\n * - VertexBuffer.UVKind\r\n * - VertexBuffer.UV2Kind\r\n * - VertexBuffer.UV3Kind\r\n * - VertexBuffer.UV4Kind\r\n * - VertexBuffer.UV5Kind\r\n * - VertexBuffer.UV6Kind\r\n * - VertexBuffer.ColorKind\r\n * - VertexBuffer.MatricesIndicesKind\r\n * - VertexBuffer.MatricesIndicesExtraKind\r\n * - VertexBuffer.MatricesWeightsKind\r\n * - VertexBuffer.MatricesWeightsExtraKind\r\n * @returns a FloatArray or null if the mesh has no vertex buffer for this kind.\r\n */\r\n public getVertexBuffer(kind: string): Nullable {\r\n if (!this._geometry) {\r\n return null;\r\n }\r\n return this._geometry.getVertexBuffer(kind);\r\n }\r\n\r\n /**\r\n * Tests if a specific vertex buffer is associated with this mesh\r\n * @param kind defines which buffer to check (positions, indices, normals, etc). Possible `kind` values :\r\n * - VertexBuffer.PositionKind\r\n * - VertexBuffer.NormalKind\r\n * - VertexBuffer.UVKind\r\n * - VertexBuffer.UV2Kind\r\n * - VertexBuffer.UV3Kind\r\n * - VertexBuffer.UV4Kind\r\n * - VertexBuffer.UV5Kind\r\n * - VertexBuffer.UV6Kind\r\n * - VertexBuffer.ColorKind\r\n * - VertexBuffer.MatricesIndicesKind\r\n * - VertexBuffer.MatricesIndicesExtraKind\r\n * - VertexBuffer.MatricesWeightsKind\r\n * - VertexBuffer.MatricesWeightsExtraKind\r\n * @returns a boolean\r\n */\r\n public isVerticesDataPresent(kind: string): boolean {\r\n if (!this._geometry) {\r\n if (this._delayInfo) {\r\n return this._delayInfo.indexOf(kind) !== -1;\r\n }\r\n return false;\r\n }\r\n return this._geometry.isVerticesDataPresent(kind);\r\n }\r\n\r\n /**\r\n * Returns a boolean defining if the vertex data for the requested `kind` is updatable.\r\n * @param kind defines which buffer to check (positions, indices, normals, etc). Possible `kind` values :\r\n * - VertexBuffer.PositionKind\r\n * - VertexBuffer.UVKind\r\n * - VertexBuffer.UV2Kind\r\n * - VertexBuffer.UV3Kind\r\n * - VertexBuffer.UV4Kind\r\n * - VertexBuffer.UV5Kind\r\n * - VertexBuffer.UV6Kind\r\n * - VertexBuffer.ColorKind\r\n * - VertexBuffer.MatricesIndicesKind\r\n * - VertexBuffer.MatricesIndicesExtraKind\r\n * - VertexBuffer.MatricesWeightsKind\r\n * - VertexBuffer.MatricesWeightsExtraKind\r\n * @returns a boolean\r\n */\r\n public isVertexBufferUpdatable(kind: string): boolean {\r\n if (!this._geometry) {\r\n if (this._delayInfo) {\r\n return this._delayInfo.indexOf(kind) !== -1;\r\n }\r\n return false;\r\n }\r\n return this._geometry.isVertexBufferUpdatable(kind);\r\n }\r\n\r\n /**\r\n * Returns a string which contains the list of existing `kinds` of Vertex Data associated with this mesh.\r\n * @param kind defines which buffer to read from (positions, indices, normals, etc). Possible `kind` values :\r\n * - VertexBuffer.PositionKind\r\n * - VertexBuffer.NormalKind\r\n * - VertexBuffer.UVKind\r\n * - VertexBuffer.UV2Kind\r\n * - VertexBuffer.UV3Kind\r\n * - VertexBuffer.UV4Kind\r\n * - VertexBuffer.UV5Kind\r\n * - VertexBuffer.UV6Kind\r\n * - VertexBuffer.ColorKind\r\n * - VertexBuffer.MatricesIndicesKind\r\n * - VertexBuffer.MatricesIndicesExtraKind\r\n * - VertexBuffer.MatricesWeightsKind\r\n * - VertexBuffer.MatricesWeightsExtraKind\r\n * @returns an array of strings\r\n */\r\n public getVerticesDataKinds(): string[] {\r\n if (!this._geometry) {\r\n var result = new Array();\r\n if (this._delayInfo) {\r\n this._delayInfo.forEach(function(kind) {\r\n result.push(kind);\r\n });\r\n }\r\n return result;\r\n }\r\n return this._geometry.getVerticesDataKinds();\r\n }\r\n\r\n /**\r\n * Returns a positive integer : the total number of indices in this mesh geometry.\r\n * @returns the numner of indices or zero if the mesh has no geometry.\r\n */\r\n public getTotalIndices(): number {\r\n if (!this._geometry) {\r\n return 0;\r\n }\r\n return this._geometry.getTotalIndices();\r\n }\r\n\r\n /**\r\n * Returns an array of integers or a typed array (Int32Array, Uint32Array, Uint16Array) populated with the mesh indices.\r\n * @param copyWhenShared If true (default false) and and if the mesh geometry is shared among some other meshes, the returned array is a copy of the internal one.\r\n * @param forceCopy defines a boolean indicating that the returned array must be cloned upon returning it\r\n * @returns the indices array or an empty array if the mesh has no geometry\r\n */\r\n public getIndices(copyWhenShared?: boolean, forceCopy?: boolean): Nullable {\r\n\r\n if (!this._geometry) {\r\n return [];\r\n }\r\n return this._geometry.getIndices(copyWhenShared, forceCopy);\r\n }\r\n\r\n public get isBlocked(): boolean {\r\n return this._masterMesh !== null && this._masterMesh !== undefined;\r\n }\r\n\r\n /**\r\n * Determine if the current mesh is ready to be rendered\r\n * @param completeCheck defines if a complete check (including materials and lights) has to be done (false by default)\r\n * @param forceInstanceSupport will check if the mesh will be ready when used with instances (false by default)\r\n * @returns true if all associated assets are ready (material, textures, shaders)\r\n */\r\n public isReady(completeCheck = false, forceInstanceSupport = false): boolean {\r\n if (this.delayLoadState === 2) {\r\n return false;\r\n }\r\n\r\n if (!super.isReady(completeCheck)) {\r\n return false;\r\n }\r\n\r\n if (!this.subMeshes || this.subMeshes.length === 0) {\r\n return true;\r\n }\r\n\r\n if (!completeCheck) {\r\n return true;\r\n }\r\n\r\n let engine = this.getEngine();\r\n let scene = this.getScene();\r\n let hardwareInstancedRendering = forceInstanceSupport || engine.getCaps().instancedArrays && (this.instances.length > 0 || this.hasThinInstances);\r\n\r\n this.computeWorldMatrix();\r\n\r\n let mat = this.material || scene.defaultMaterial;\r\n if (mat) {\r\n if (mat._storeEffectOnSubMeshes) {\r\n for (var subMesh of this.subMeshes) {\r\n let effectiveMaterial = subMesh.getMaterial();\r\n if (effectiveMaterial) {\r\n if (effectiveMaterial._storeEffectOnSubMeshes) {\r\n if (!effectiveMaterial.isReadyForSubMesh(this, subMesh, hardwareInstancedRendering)) {\r\n return false;\r\n }\r\n }\r\n else {\r\n if (!effectiveMaterial.isReady(this, hardwareInstancedRendering)) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n if (!mat.isReady(this, hardwareInstancedRendering)) {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n // Shadows\r\n for (var light of this.lightSources) {\r\n let generator = light.getShadowGenerator();\r\n\r\n if (generator && (!generator.getShadowMap()?.renderList || generator.getShadowMap()?.renderList && generator.getShadowMap()?.renderList?.indexOf(this) !== -1)) {\r\n for (var subMesh of this.subMeshes) {\r\n if (!generator.isReady(subMesh, hardwareInstancedRendering, subMesh.getMaterial()?.needAlphaBlendingForMesh(this) ?? false)) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n // LOD\r\n for (var lod of this._internalMeshDataInfo._LODLevels) {\r\n if (lod.mesh && !lod.mesh.isReady(hardwareInstancedRendering)) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if the normals aren't to be recomputed on next mesh `positions` array update. This property is pertinent only for updatable parametric shapes.\r\n */\r\n public get areNormalsFrozen(): boolean {\r\n return this._internalMeshDataInfo._areNormalsFrozen;\r\n }\r\n\r\n /**\r\n * This function affects parametric shapes on vertex position update only : ribbons, tubes, etc. It has no effect at all on other shapes. It prevents the mesh normals from being recomputed on next `positions` array update.\r\n * @returns the current mesh\r\n */\r\n public freezeNormals(): Mesh {\r\n this._internalMeshDataInfo._areNormalsFrozen = true;\r\n return this;\r\n }\r\n\r\n /**\r\n * This function affects parametric shapes on vertex position update only : ribbons, tubes, etc. It has no effect at all on other shapes. It reactivates the mesh normals computation if it was previously frozen\r\n * @returns the current mesh\r\n */\r\n public unfreezeNormals(): Mesh {\r\n this._internalMeshDataInfo._areNormalsFrozen = false;\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets a value overriding the instance count. Only applicable when custom instanced InterleavedVertexBuffer are used rather than InstancedMeshs\r\n */\r\n public set overridenInstanceCount(count: number) {\r\n this._instanceDataStorage.overridenInstanceCount = count;\r\n }\r\n\r\n // Methods\r\n /** @hidden */\r\n public _preActivate(): Mesh {\r\n let internalDataInfo = this._internalMeshDataInfo;\r\n var sceneRenderId = this.getScene().getRenderId();\r\n if (internalDataInfo._preActivateId === sceneRenderId) {\r\n return this;\r\n }\r\n\r\n internalDataInfo._preActivateId = sceneRenderId;\r\n this._instanceDataStorage.visibleInstances = null;\r\n return this;\r\n }\r\n\r\n /** @hidden */\r\n public _preActivateForIntermediateRendering(renderId: number): Mesh {\r\n if (this._instanceDataStorage.visibleInstances) {\r\n this._instanceDataStorage.visibleInstances.intermediateDefaultRenderId = renderId;\r\n }\r\n return this;\r\n }\r\n\r\n /** @hidden */\r\n public _registerInstanceForRenderId(instance: InstancedMesh, renderId: number): Mesh {\r\n if (!this._instanceDataStorage.visibleInstances) {\r\n this._instanceDataStorage.visibleInstances = {\r\n defaultRenderId: renderId,\r\n selfDefaultRenderId: this._renderId\r\n };\r\n }\r\n\r\n if (!this._instanceDataStorage.visibleInstances[renderId]) {\r\n if (this._instanceDataStorage.previousRenderId !== undefined && this._instanceDataStorage.isFrozen) {\r\n this._instanceDataStorage.visibleInstances[this._instanceDataStorage.previousRenderId] = null;\r\n }\r\n this._instanceDataStorage.previousRenderId = renderId;\r\n this._instanceDataStorage.visibleInstances[renderId] = new Array();\r\n }\r\n\r\n this._instanceDataStorage.visibleInstances[renderId].push(instance);\r\n return this;\r\n }\r\n\r\n protected _afterComputeWorldMatrix(): void {\r\n super._afterComputeWorldMatrix();\r\n\r\n if (!this.hasThinInstances) {\r\n return;\r\n }\r\n\r\n if (!this.doNotSyncBoundingInfo) {\r\n this.thinInstanceRefreshBoundingInfo(false);\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _postActivate(): void {\r\n if (this.edgesShareWithInstances && this.edgesRenderer && this.edgesRenderer.isEnabled && this._renderingGroup) {\r\n this._renderingGroup._edgesRenderers.pushNoDuplicate(this.edgesRenderer);\r\n this.edgesRenderer.customInstances.push(this.getWorldMatrix());\r\n }\r\n }\r\n\r\n /**\r\n * This method recomputes and sets a new BoundingInfo to the mesh unless it is locked.\r\n * This means the mesh underlying bounding box and sphere are recomputed.\r\n * @param applySkeleton defines whether to apply the skeleton before computing the bounding info\r\n * @returns the current mesh\r\n */\r\n public refreshBoundingInfo(applySkeleton: boolean = false): Mesh {\r\n if (this._boundingInfo && this._boundingInfo.isLocked) {\r\n return this;\r\n }\r\n\r\n const bias = this.geometry ? this.geometry.boundingBias : null;\r\n this._refreshBoundingInfo(this._getPositionData(applySkeleton), bias);\r\n return this;\r\n }\r\n\r\n /** @hidden */\r\n public _createGlobalSubMesh(force: boolean): Nullable {\r\n var totalVertices = this.getTotalVertices();\r\n if (!totalVertices || !this.getIndices()) {\r\n return null;\r\n }\r\n\r\n // Check if we need to recreate the submeshes\r\n if (this.subMeshes && this.subMeshes.length > 0) {\r\n let ib = this.getIndices();\r\n\r\n if (!ib) {\r\n return null;\r\n }\r\n\r\n var totalIndices = ib.length;\r\n let needToRecreate = false;\r\n\r\n if (force) {\r\n needToRecreate = true;\r\n } else {\r\n for (var submesh of this.subMeshes) {\r\n if (submesh.indexStart + submesh.indexCount > totalIndices) {\r\n needToRecreate = true;\r\n break;\r\n }\r\n\r\n if (submesh.verticesStart + submesh.verticesCount > totalVertices) {\r\n needToRecreate = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (!needToRecreate) {\r\n return this.subMeshes[0];\r\n }\r\n }\r\n\r\n this.releaseSubMeshes();\r\n return new SubMesh(0, 0, totalVertices, 0, this.getTotalIndices(), this);\r\n }\r\n\r\n /**\r\n * This function will subdivide the mesh into multiple submeshes\r\n * @param count defines the expected number of submeshes\r\n */\r\n public subdivide(count: number): void {\r\n if (count < 1) {\r\n return;\r\n }\r\n\r\n var totalIndices = this.getTotalIndices();\r\n var subdivisionSize = (totalIndices / count) | 0;\r\n var offset = 0;\r\n\r\n // Ensure that subdivisionSize is a multiple of 3\r\n while (subdivisionSize % 3 !== 0) {\r\n subdivisionSize++;\r\n }\r\n\r\n this.releaseSubMeshes();\r\n for (var index = 0; index < count; index++) {\r\n if (offset >= totalIndices) {\r\n break;\r\n }\r\n\r\n SubMesh.CreateFromIndices(0, offset, index === count - 1 ? totalIndices - offset : subdivisionSize, this);\r\n\r\n offset += subdivisionSize;\r\n }\r\n\r\n this.synchronizeInstances();\r\n }\r\n\r\n /**\r\n * Copy a FloatArray into a specific associated vertex buffer\r\n * @param kind defines which buffer to write to (positions, indices, normals, etc). Possible `kind` values :\r\n * - VertexBuffer.PositionKind\r\n * - VertexBuffer.UVKind\r\n * - VertexBuffer.UV2Kind\r\n * - VertexBuffer.UV3Kind\r\n * - VertexBuffer.UV4Kind\r\n * - VertexBuffer.UV5Kind\r\n * - VertexBuffer.UV6Kind\r\n * - VertexBuffer.ColorKind\r\n * - VertexBuffer.MatricesIndicesKind\r\n * - VertexBuffer.MatricesIndicesExtraKind\r\n * - VertexBuffer.MatricesWeightsKind\r\n * - VertexBuffer.MatricesWeightsExtraKind\r\n * @param data defines the data source\r\n * @param updatable defines if the updated vertex buffer must be flagged as updatable\r\n * @param stride defines the data stride size (can be null)\r\n * @returns the current mesh\r\n */\r\n public setVerticesData(kind: string, data: FloatArray, updatable: boolean = false, stride?: number): AbstractMesh {\r\n if (!this._geometry) {\r\n var vertexData = new VertexData();\r\n vertexData.set(data, kind);\r\n\r\n var scene = this.getScene();\r\n\r\n new Geometry(Geometry.RandomId(), scene, vertexData, updatable, this);\r\n }\r\n else {\r\n this._geometry.setVerticesData(kind, data, updatable, stride);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Delete a vertex buffer associated with this mesh\r\n * @param kind defines which buffer to delete (positions, indices, normals, etc). Possible `kind` values :\r\n * - VertexBuffer.PositionKind\r\n * - VertexBuffer.UVKind\r\n * - VertexBuffer.UV2Kind\r\n * - VertexBuffer.UV3Kind\r\n * - VertexBuffer.UV4Kind\r\n * - VertexBuffer.UV5Kind\r\n * - VertexBuffer.UV6Kind\r\n * - VertexBuffer.ColorKind\r\n * - VertexBuffer.MatricesIndicesKind\r\n * - VertexBuffer.MatricesIndicesExtraKind\r\n * - VertexBuffer.MatricesWeightsKind\r\n * - VertexBuffer.MatricesWeightsExtraKind\r\n */\r\n public removeVerticesData(kind: string) {\r\n if (!this._geometry) {\r\n return;\r\n }\r\n\r\n this._geometry.removeVerticesData(kind);\r\n }\r\n\r\n /**\r\n * Flags an associated vertex buffer as updatable\r\n * @param kind defines which buffer to use (positions, indices, normals, etc). Possible `kind` values :\r\n * - VertexBuffer.PositionKind\r\n * - VertexBuffer.UVKind\r\n * - VertexBuffer.UV2Kind\r\n * - VertexBuffer.UV3Kind\r\n * - VertexBuffer.UV4Kind\r\n * - VertexBuffer.UV5Kind\r\n * - VertexBuffer.UV6Kind\r\n * - VertexBuffer.ColorKind\r\n * - VertexBuffer.MatricesIndicesKind\r\n * - VertexBuffer.MatricesIndicesExtraKind\r\n * - VertexBuffer.MatricesWeightsKind\r\n * - VertexBuffer.MatricesWeightsExtraKind\r\n * @param updatable defines if the updated vertex buffer must be flagged as updatable\r\n */\r\n public markVerticesDataAsUpdatable(kind: string, updatable = true) {\r\n let vb = this.getVertexBuffer(kind);\r\n\r\n if (!vb || vb.isUpdatable() === updatable) {\r\n return;\r\n }\r\n\r\n this.setVerticesData(kind, (this.getVerticesData(kind)), updatable);\r\n }\r\n\r\n /**\r\n * Sets the mesh global Vertex Buffer\r\n * @param buffer defines the buffer to use\r\n * @returns the current mesh\r\n */\r\n public setVerticesBuffer(buffer: VertexBuffer): Mesh {\r\n if (!this._geometry) {\r\n this._geometry = Geometry.CreateGeometryForMesh(this);\r\n }\r\n\r\n this._geometry.setVerticesBuffer(buffer);\r\n return this;\r\n }\r\n\r\n /**\r\n * Update a specific associated vertex buffer\r\n * @param kind defines which buffer to write to (positions, indices, normals, etc). Possible `kind` values :\r\n * - VertexBuffer.PositionKind\r\n * - VertexBuffer.UVKind\r\n * - VertexBuffer.UV2Kind\r\n * - VertexBuffer.UV3Kind\r\n * - VertexBuffer.UV4Kind\r\n * - VertexBuffer.UV5Kind\r\n * - VertexBuffer.UV6Kind\r\n * - VertexBuffer.ColorKind\r\n * - VertexBuffer.MatricesIndicesKind\r\n * - VertexBuffer.MatricesIndicesExtraKind\r\n * - VertexBuffer.MatricesWeightsKind\r\n * - VertexBuffer.MatricesWeightsExtraKind\r\n * @param data defines the data source\r\n * @param updateExtends defines if extends info of the mesh must be updated (can be null). This is mostly useful for \"position\" kind\r\n * @param makeItUnique defines if the geometry associated with the mesh must be cloned to make the change only for this mesh (and not all meshes associated with the same geometry)\r\n * @returns the current mesh\r\n */\r\n public updateVerticesData(kind: string, data: FloatArray, updateExtends?: boolean, makeItUnique?: boolean): AbstractMesh {\r\n if (!this._geometry) {\r\n return this;\r\n }\r\n if (!makeItUnique) {\r\n this._geometry.updateVerticesData(kind, data, updateExtends);\r\n }\r\n else {\r\n this.makeGeometryUnique();\r\n this.updateVerticesData(kind, data, updateExtends, false);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * This method updates the vertex positions of an updatable mesh according to the `positionFunction` returned values.\r\n * @see https://doc.babylonjs.com/how_to/how_to_dynamically_morph_a_mesh#other-shapes-updatemeshpositions\r\n * @param positionFunction is a simple JS function what is passed the mesh `positions` array. It doesn't need to return anything\r\n * @param computeNormals is a boolean (default true) to enable/disable the mesh normal recomputation after the vertex position update\r\n * @returns the current mesh\r\n */\r\n public updateMeshPositions(positionFunction: (data: FloatArray) => void, computeNormals: boolean = true): Mesh {\r\n var positions = this.getVerticesData(VertexBuffer.PositionKind);\r\n if (!positions) {\r\n return this;\r\n }\r\n\r\n positionFunction(positions);\r\n this.updateVerticesData(VertexBuffer.PositionKind, positions, false, false);\r\n\r\n if (computeNormals) {\r\n var indices = this.getIndices();\r\n var normals = this.getVerticesData(VertexBuffer.NormalKind);\r\n\r\n if (!normals) {\r\n return this;\r\n }\r\n\r\n VertexData.ComputeNormals(positions, indices, normals);\r\n this.updateVerticesData(VertexBuffer.NormalKind, normals, false, false);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Creates a un-shared specific occurence of the geometry for the mesh.\r\n * @returns the current mesh\r\n */\r\n public makeGeometryUnique(): Mesh {\r\n if (!this._geometry) {\r\n return this;\r\n }\r\n\r\n if (this._geometry.meshes.length === 1) {\r\n return this;\r\n }\r\n\r\n var oldGeometry = this._geometry;\r\n var geometry = this._geometry.copy(Geometry.RandomId());\r\n oldGeometry.releaseForMesh(this, true);\r\n geometry.applyToMesh(this);\r\n return this;\r\n }\r\n\r\n /**\r\n * Set the index buffer of this mesh\r\n * @param indices defines the source data\r\n * @param totalVertices defines the total number of vertices referenced by this index data (can be null)\r\n * @param updatable defines if the updated index buffer must be flagged as updatable (default is false)\r\n * @returns the current mesh\r\n */\r\n public setIndices(indices: IndicesArray, totalVertices: Nullable = null, updatable: boolean = false): AbstractMesh {\r\n if (!this._geometry) {\r\n var vertexData = new VertexData();\r\n vertexData.indices = indices;\r\n\r\n var scene = this.getScene();\r\n\r\n new Geometry(Geometry.RandomId(), scene, vertexData, updatable, this);\r\n }\r\n else {\r\n this._geometry.setIndices(indices, totalVertices, updatable);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Update the current index buffer\r\n * @param indices defines the source data\r\n * @param offset defines the offset in the index buffer where to store the new data (can be null)\r\n * @param gpuMemoryOnly defines a boolean indicating that only the GPU memory must be updated leaving the CPU version of the indices unchanged (false by default)\r\n * @returns the current mesh\r\n */\r\n public updateIndices(indices: IndicesArray, offset?: number, gpuMemoryOnly = false): AbstractMesh {\r\n if (!this._geometry) {\r\n return this;\r\n }\r\n\r\n this._geometry.updateIndices(indices, offset, gpuMemoryOnly);\r\n return this;\r\n }\r\n\r\n /**\r\n * Invert the geometry to move from a right handed system to a left handed one.\r\n * @returns the current mesh\r\n */\r\n public toLeftHanded(): Mesh {\r\n if (!this._geometry) {\r\n return this;\r\n }\r\n this._geometry.toLeftHanded();\r\n return this;\r\n }\r\n\r\n /** @hidden */\r\n public _bind(subMesh: SubMesh, effect: Effect, fillMode: number): Mesh {\r\n if (!this._geometry) {\r\n return this;\r\n }\r\n\r\n var engine = this.getScene().getEngine();\r\n\r\n // Wireframe\r\n var indexToBind;\r\n\r\n if (this._unIndexed) {\r\n indexToBind = null;\r\n } else {\r\n switch (fillMode) {\r\n case Material.PointFillMode:\r\n indexToBind = null;\r\n break;\r\n case Material.WireFrameFillMode:\r\n indexToBind = subMesh._getLinesIndexBuffer(this.getIndices(), engine);\r\n break;\r\n default:\r\n case Material.TriangleFillMode:\r\n indexToBind = this._geometry.getIndexBuffer();\r\n break;\r\n }\r\n }\r\n\r\n // VBOs\r\n this._geometry._bind(effect, indexToBind);\r\n return this;\r\n }\r\n\r\n /** @hidden */\r\n public _draw(subMesh: SubMesh, fillMode: number, instancesCount?: number): Mesh {\r\n if (!this._geometry || !this._geometry.getVertexBuffers() || (!this._unIndexed && !this._geometry.getIndexBuffer())) {\r\n return this;\r\n }\r\n\r\n if (this._internalMeshDataInfo._onBeforeDrawObservable) {\r\n this._internalMeshDataInfo._onBeforeDrawObservable.notifyObservers(this);\r\n }\r\n\r\n let scene = this.getScene();\r\n let engine = scene.getEngine();\r\n\r\n if (this._unIndexed || fillMode == Material.PointFillMode) {\r\n // or triangles as points\r\n engine.drawArraysType(fillMode, subMesh.verticesStart, subMesh.verticesCount, instancesCount);\r\n } else if (fillMode == Material.WireFrameFillMode) {\r\n // Triangles as wireframe\r\n engine.drawElementsType(fillMode, 0, subMesh._linesIndexCount, instancesCount);\r\n } else {\r\n engine.drawElementsType(fillMode, subMesh.indexStart, subMesh.indexCount, instancesCount);\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Registers for this mesh a javascript function called just before the rendering process\r\n * @param func defines the function to call before rendering this mesh\r\n * @returns the current mesh\r\n */\r\n public registerBeforeRender(func: (mesh: AbstractMesh) => void): Mesh {\r\n this.onBeforeRenderObservable.add(func);\r\n return this;\r\n }\r\n\r\n /**\r\n * Disposes a previously registered javascript function called before the rendering\r\n * @param func defines the function to remove\r\n * @returns the current mesh\r\n */\r\n public unregisterBeforeRender(func: (mesh: AbstractMesh) => void): Mesh {\r\n this.onBeforeRenderObservable.removeCallback(func);\r\n return this;\r\n }\r\n\r\n /**\r\n * Registers for this mesh a javascript function called just after the rendering is complete\r\n * @param func defines the function to call after rendering this mesh\r\n * @returns the current mesh\r\n */\r\n public registerAfterRender(func: (mesh: AbstractMesh) => void): Mesh {\r\n this.onAfterRenderObservable.add(func);\r\n return this;\r\n }\r\n\r\n /**\r\n * Disposes a previously registered javascript function called after the rendering.\r\n * @param func defines the function to remove\r\n * @returns the current mesh\r\n */\r\n public unregisterAfterRender(func: (mesh: AbstractMesh) => void): Mesh {\r\n this.onAfterRenderObservable.removeCallback(func);\r\n return this;\r\n }\r\n\r\n /** @hidden */\r\n public _getInstancesRenderList(subMeshId: number, isReplacementMode: boolean = false): _InstancesBatch {\r\n if (this._instanceDataStorage.isFrozen && this._instanceDataStorage.previousBatch) {\r\n return this._instanceDataStorage.previousBatch;\r\n }\r\n var scene = this.getScene();\r\n const isInIntermediateRendering = scene._isInIntermediateRendering();\r\n const onlyForInstances = isInIntermediateRendering ? this._internalAbstractMeshDataInfo._onlyForInstancesIntermediate : this._internalAbstractMeshDataInfo._onlyForInstances;\r\n let batchCache = this._instanceDataStorage.batchCache;\r\n batchCache.mustReturn = false;\r\n batchCache.renderSelf[subMeshId] = isReplacementMode || (!onlyForInstances && this.isEnabled() && this.isVisible);\r\n batchCache.visibleInstances[subMeshId] = null;\r\n\r\n if (this._instanceDataStorage.visibleInstances && !isReplacementMode) {\r\n let visibleInstances = this._instanceDataStorage.visibleInstances;\r\n var currentRenderId = scene.getRenderId();\r\n var defaultRenderId = (isInIntermediateRendering ? visibleInstances.intermediateDefaultRenderId : visibleInstances.defaultRenderId);\r\n batchCache.visibleInstances[subMeshId] = visibleInstances[currentRenderId];\r\n\r\n if (!batchCache.visibleInstances[subMeshId] && defaultRenderId) {\r\n batchCache.visibleInstances[subMeshId] = visibleInstances[defaultRenderId];\r\n }\r\n }\r\n batchCache.hardwareInstancedRendering[subMeshId] =\r\n !isReplacementMode &&\r\n this._instanceDataStorage.hardwareInstancedRendering\r\n && (batchCache.visibleInstances[subMeshId] !== null)\r\n && (batchCache.visibleInstances[subMeshId] !== undefined);\r\n this._instanceDataStorage.previousBatch = batchCache;\r\n return batchCache;\r\n }\r\n\r\n /** @hidden */\r\n public _renderWithInstances(subMesh: SubMesh, fillMode: number, batch: _InstancesBatch, effect: Effect, engine: Engine): Mesh {\r\n var visibleInstances = batch.visibleInstances[subMesh._id];\r\n if (!visibleInstances) {\r\n return this;\r\n }\r\n\r\n let instanceStorage = this._instanceDataStorage;\r\n var currentInstancesBufferSize = instanceStorage.instancesBufferSize;\r\n var instancesBuffer = instanceStorage.instancesBuffer;\r\n var matricesCount = visibleInstances.length + 1;\r\n var bufferSize = matricesCount * 16 * 4;\r\n\r\n while (instanceStorage.instancesBufferSize < bufferSize) {\r\n instanceStorage.instancesBufferSize *= 2;\r\n }\r\n\r\n if (!instanceStorage.instancesData || currentInstancesBufferSize != instanceStorage.instancesBufferSize) {\r\n instanceStorage.instancesData = new Float32Array(instanceStorage.instancesBufferSize / 4);\r\n }\r\n\r\n var offset = 0;\r\n var instancesCount = 0;\r\n\r\n let renderSelf = batch.renderSelf[subMesh._id];\r\n\r\n const needUpdateBuffer = !instancesBuffer || currentInstancesBufferSize !== instanceStorage.instancesBufferSize;\r\n\r\n if (!this._instanceDataStorage.manualUpdate && (!instanceStorage.isFrozen || needUpdateBuffer)) {\r\n var world = this._effectiveMesh.getWorldMatrix();\r\n if (renderSelf) {\r\n world.copyToArray(instanceStorage.instancesData, offset);\r\n offset += 16;\r\n instancesCount++;\r\n }\r\n\r\n if (visibleInstances) {\r\n for (var instanceIndex = 0; instanceIndex < visibleInstances.length; instanceIndex++) {\r\n var instance = visibleInstances[instanceIndex];\r\n instance.getWorldMatrix().copyToArray(instanceStorage.instancesData, offset);\r\n offset += 16;\r\n instancesCount++;\r\n }\r\n }\r\n } else {\r\n instancesCount = (renderSelf ? 1 : 0) + visibleInstances.length;\r\n }\r\n\r\n if (needUpdateBuffer) {\r\n if (instancesBuffer) {\r\n instancesBuffer.dispose();\r\n }\r\n\r\n instancesBuffer = new Buffer(engine, instanceStorage.instancesData, true, 16, false, true);\r\n instanceStorage.instancesBuffer = instancesBuffer;\r\n\r\n this.setVerticesBuffer(instancesBuffer.createVertexBuffer(\"world0\", 0, 4));\r\n this.setVerticesBuffer(instancesBuffer.createVertexBuffer(\"world1\", 4, 4));\r\n this.setVerticesBuffer(instancesBuffer.createVertexBuffer(\"world2\", 8, 4));\r\n this.setVerticesBuffer(instancesBuffer.createVertexBuffer(\"world3\", 12, 4));\r\n } else {\r\n if (!this._instanceDataStorage.isFrozen) {\r\n instancesBuffer!.updateDirectly(instanceStorage.instancesData, 0, instancesCount);\r\n }\r\n }\r\n\r\n this._processInstancedBuffers(visibleInstances, renderSelf);\r\n\r\n // Stats\r\n this.getScene()._activeIndices.addCount(subMesh.indexCount * instancesCount, false);\r\n\r\n // Draw\r\n this._bind(subMesh, effect, fillMode);\r\n this._draw(subMesh, fillMode, instancesCount);\r\n\r\n engine.unbindInstanceAttributes();\r\n return this;\r\n }\r\n\r\n /** @hidden */\r\n public _renderWithThinInstances(subMesh: SubMesh, fillMode: number, effect: Effect, engine: Engine) {\r\n // Stats\r\n const instancesCount = this._thinInstanceDataStorage?.instancesCount ?? 0;\r\n\r\n this.getScene()._activeIndices.addCount(subMesh.indexCount * instancesCount, false);\r\n\r\n // Draw\r\n this._bind(subMesh, effect, fillMode);\r\n this._draw(subMesh, fillMode, instancesCount);\r\n\r\n engine.unbindInstanceAttributes();\r\n }\r\n\r\n /** @hidden */\r\n public _processInstancedBuffers(visibleInstances: InstancedMesh[], renderSelf: boolean) {\r\n // Do nothing\r\n }\r\n\r\n /** @hidden */\r\n public _processRendering(renderingMesh: AbstractMesh, subMesh: SubMesh, effect: Effect, fillMode: number, batch: _InstancesBatch, hardwareInstancedRendering: boolean,\r\n onBeforeDraw: (isInstance: boolean, world: Matrix, effectiveMaterial?: Material) => void, effectiveMaterial?: Material): Mesh {\r\n var scene = this.getScene();\r\n var engine = scene.getEngine();\r\n\r\n if (hardwareInstancedRendering && subMesh.getRenderingMesh().hasThinInstances) {\r\n this._renderWithThinInstances(subMesh, fillMode, effect, engine);\r\n return this;\r\n }\r\n\r\n if (hardwareInstancedRendering) {\r\n this._renderWithInstances(subMesh, fillMode, batch, effect, engine);\r\n } else {\r\n let instanceCount = 0;\r\n if (batch.renderSelf[subMesh._id]) {\r\n // Draw\r\n if (onBeforeDraw) {\r\n onBeforeDraw(false, renderingMesh._effectiveMesh.getWorldMatrix(), effectiveMaterial);\r\n }\r\n instanceCount++;\r\n\r\n this._draw(subMesh, fillMode, this._instanceDataStorage.overridenInstanceCount);\r\n }\r\n\r\n let visibleInstancesForSubMesh = batch.visibleInstances[subMesh._id];\r\n\r\n if (visibleInstancesForSubMesh) {\r\n let visibleInstanceCount = visibleInstancesForSubMesh.length;\r\n instanceCount += visibleInstanceCount;\r\n\r\n // Stats\r\n for (var instanceIndex = 0; instanceIndex < visibleInstanceCount; instanceIndex++) {\r\n var instance = visibleInstancesForSubMesh[instanceIndex];\r\n\r\n // World\r\n var world = instance.getWorldMatrix();\r\n if (onBeforeDraw) {\r\n onBeforeDraw(true, world, effectiveMaterial);\r\n }\r\n // Draw\r\n this._draw(subMesh, fillMode);\r\n }\r\n }\r\n\r\n // Stats\r\n scene._activeIndices.addCount(subMesh.indexCount * instanceCount, false);\r\n }\r\n return this;\r\n }\r\n\r\n /** @hidden */\r\n public _rebuild(): void {\r\n if (this._instanceDataStorage.instancesBuffer) {\r\n // Dispose instance buffer to be recreated in _renderWithInstances when rendered\r\n this._instanceDataStorage.instancesBuffer.dispose();\r\n this._instanceDataStorage.instancesBuffer = null;\r\n }\r\n super._rebuild();\r\n }\r\n\r\n /** @hidden */\r\n public _freeze() {\r\n if (!this.subMeshes) {\r\n return;\r\n }\r\n\r\n // Prepare batches\r\n for (var index = 0; index < this.subMeshes.length; index++) {\r\n this._getInstancesRenderList(index);\r\n }\r\n\r\n this._effectiveMaterial = null;\r\n this._instanceDataStorage.isFrozen = true;\r\n }\r\n\r\n /** @hidden */\r\n public _unFreeze() {\r\n this._instanceDataStorage.isFrozen = false;\r\n this._instanceDataStorage.previousBatch = null;\r\n }\r\n\r\n /**\r\n * Triggers the draw call for the mesh. Usually, you don't need to call this method by your own because the mesh rendering is handled by the scene rendering manager\r\n * @param subMesh defines the subMesh to render\r\n * @param enableAlphaMode defines if alpha mode can be changed\r\n * @param effectiveMeshReplacement defines an optional mesh used to provide info for the rendering\r\n * @returns the current mesh\r\n */\r\n public render(subMesh: SubMesh, enableAlphaMode: boolean, effectiveMeshReplacement?: AbstractMesh): Mesh {\r\n var scene = this.getScene();\r\n\r\n if (this._internalAbstractMeshDataInfo._isActiveIntermediate) {\r\n this._internalAbstractMeshDataInfo._isActiveIntermediate = false;\r\n } else {\r\n this._internalAbstractMeshDataInfo._isActive = false;\r\n }\r\n\r\n if (this._checkOcclusionQuery()) {\r\n return this;\r\n }\r\n\r\n // Managing instances\r\n var batch = this._getInstancesRenderList(subMesh._id, !!effectiveMeshReplacement);\r\n\r\n if (batch.mustReturn) {\r\n return this;\r\n }\r\n\r\n // Checking geometry state\r\n if (!this._geometry || !this._geometry.getVertexBuffers() || (!this._unIndexed && !this._geometry.getIndexBuffer())) {\r\n return this;\r\n }\r\n\r\n if (this._internalMeshDataInfo._onBeforeRenderObservable) {\r\n this._internalMeshDataInfo._onBeforeRenderObservable.notifyObservers(this);\r\n }\r\n\r\n var engine = scene.getEngine();\r\n var hardwareInstancedRendering = batch.hardwareInstancedRendering[subMesh._id] || subMesh.getRenderingMesh().hasThinInstances;\r\n let instanceDataStorage = this._instanceDataStorage;\r\n\r\n let material = subMesh.getMaterial();\r\n\r\n if (!material) {\r\n return this;\r\n }\r\n\r\n // Material\r\n if (!instanceDataStorage.isFrozen || !this._effectiveMaterial || this._effectiveMaterial !== material) {\r\n if (material._storeEffectOnSubMeshes) {\r\n if (!material.isReadyForSubMesh(this, subMesh, hardwareInstancedRendering)) {\r\n return this;\r\n }\r\n } else if (!material.isReady(this, hardwareInstancedRendering)) {\r\n return this;\r\n }\r\n\r\n this._effectiveMaterial = material;\r\n }\r\n\r\n // Alpha mode\r\n if (enableAlphaMode) {\r\n engine.setAlphaMode(this._effectiveMaterial.alphaMode);\r\n }\r\n\r\n var effect: Nullable;\r\n if (this._effectiveMaterial._storeEffectOnSubMeshes) {\r\n effect = subMesh.effect;\r\n } else {\r\n effect = this._effectiveMaterial.getEffect();\r\n }\r\n\r\n for (let step of scene._beforeRenderingMeshStage) {\r\n step.action(this, subMesh, batch, effect);\r\n }\r\n\r\n if (!effect) {\r\n return this;\r\n }\r\n\r\n const effectiveMesh = effectiveMeshReplacement || this._effectiveMesh;\r\n\r\n var sideOrientation: Nullable;\r\n\r\n if (!instanceDataStorage.isFrozen &&\r\n (this._effectiveMaterial.backFaceCulling || this.overrideMaterialSideOrientation !== null)) {\r\n let mainDeterminant = effectiveMesh._getWorldMatrixDeterminant();\r\n sideOrientation = this.overrideMaterialSideOrientation;\r\n if (sideOrientation == null) {\r\n sideOrientation = this._effectiveMaterial.sideOrientation;\r\n }\r\n if (mainDeterminant < 0) {\r\n sideOrientation = (sideOrientation === Material.ClockWiseSideOrientation ? Material.CounterClockWiseSideOrientation : Material.ClockWiseSideOrientation);\r\n }\r\n instanceDataStorage.sideOrientation = sideOrientation!;\r\n } else {\r\n sideOrientation = instanceDataStorage.sideOrientation;\r\n }\r\n\r\n var reverse = this._effectiveMaterial._preBind(effect, sideOrientation);\r\n\r\n if (this._effectiveMaterial.forceDepthWrite) {\r\n engine.setDepthWrite(true);\r\n }\r\n\r\n // Bind\r\n var fillMode = scene.forcePointsCloud ? Material.PointFillMode : (scene.forceWireframe ? Material.WireFrameFillMode : this._effectiveMaterial.fillMode);\r\n\r\n if (this._internalMeshDataInfo._onBeforeBindObservable) {\r\n this._internalMeshDataInfo._onBeforeBindObservable.notifyObservers(this);\r\n }\r\n\r\n if (!hardwareInstancedRendering) { // Binding will be done later because we need to add more info to the VB\r\n this._bind(subMesh, effect, fillMode);\r\n }\r\n\r\n var world = effectiveMesh.getWorldMatrix();\r\n\r\n if (this._effectiveMaterial._storeEffectOnSubMeshes) {\r\n this._effectiveMaterial.bindForSubMesh(world, this, subMesh);\r\n } else {\r\n this._effectiveMaterial.bind(world, this);\r\n }\r\n\r\n if (!this._effectiveMaterial.backFaceCulling && this._effectiveMaterial.separateCullingPass) {\r\n engine.setState(true, this._effectiveMaterial.zOffset, false, !reverse);\r\n this._processRendering(this, subMesh, effect, fillMode, batch, hardwareInstancedRendering, this._onBeforeDraw, this._effectiveMaterial);\r\n engine.setState(true, this._effectiveMaterial.zOffset, false, reverse);\r\n }\r\n\r\n // Draw\r\n this._processRendering(this, subMesh, effect, fillMode, batch, hardwareInstancedRendering, this._onBeforeDraw, this._effectiveMaterial);\r\n\r\n // Unbind\r\n this._effectiveMaterial.unbind();\r\n\r\n for (let step of scene._afterRenderingMeshStage) {\r\n step.action(this, subMesh, batch, effect);\r\n }\r\n\r\n if (this._internalMeshDataInfo._onAfterRenderObservable) {\r\n this._internalMeshDataInfo._onAfterRenderObservable.notifyObservers(this);\r\n }\r\n return this;\r\n }\r\n\r\n private _onBeforeDraw(isInstance: boolean, world: Matrix, effectiveMaterial?: Material): void {\r\n if (isInstance && effectiveMaterial) {\r\n effectiveMaterial.bindOnlyWorldMatrix(world);\r\n }\r\n }\r\n\r\n /**\r\n * Renormalize the mesh and patch it up if there are no weights\r\n * Similar to normalization by adding the weights compute the reciprocal and multiply all elements, this wil ensure that everything adds to 1.\r\n * However in the case of zero weights then we set just a single influence to 1.\r\n * We check in the function for extra's present and if so we use the normalizeSkinWeightsWithExtras rather than the FourWeights version.\r\n */\r\n public cleanMatrixWeights(): void {\r\n\r\n if (this.isVerticesDataPresent(VertexBuffer.MatricesWeightsKind)) {\r\n if (this.isVerticesDataPresent(VertexBuffer.MatricesWeightsExtraKind)) {\r\n this.normalizeSkinWeightsAndExtra();\r\n }\r\n else {\r\n this.normalizeSkinFourWeights();\r\n }\r\n }\r\n }\r\n\r\n // faster 4 weight version.\r\n private normalizeSkinFourWeights(): void {\r\n\r\n let matricesWeights = (this.getVerticesData(VertexBuffer.MatricesWeightsKind));\r\n let numWeights = matricesWeights.length;\r\n\r\n for (var a = 0; a < numWeights; a += 4) {\r\n // accumulate weights\r\n var t = matricesWeights[a] + matricesWeights[a + 1] + matricesWeights[a + 2] + matricesWeights[a + 3];\r\n // check for invalid weight and just set it to 1.\r\n if (t === 0) { matricesWeights[a] = 1; }\r\n else {\r\n // renormalize so everything adds to 1 use reciprical\r\n let recip = 1 / t;\r\n matricesWeights[a] *= recip;\r\n matricesWeights[a + 1] *= recip;\r\n matricesWeights[a + 2] *= recip;\r\n matricesWeights[a + 3] *= recip;\r\n }\r\n\r\n }\r\n this.setVerticesData(VertexBuffer.MatricesWeightsKind, matricesWeights);\r\n }\r\n // handle special case of extra verts. (in theory gltf can handle 12 influences)\r\n private normalizeSkinWeightsAndExtra(): void {\r\n\r\n let matricesWeightsExtra = (this.getVerticesData(VertexBuffer.MatricesWeightsExtraKind));\r\n let matricesWeights = (this.getVerticesData(VertexBuffer.MatricesWeightsKind));\r\n let numWeights = matricesWeights.length;\r\n\r\n for (var a = 0; a < numWeights; a += 4) {\r\n // accumulate weights\r\n var t = matricesWeights[a] + matricesWeights[a + 1] + matricesWeights[a + 2] + matricesWeights[a + 3];\r\n t += matricesWeightsExtra[a] + matricesWeightsExtra[a + 1] + matricesWeightsExtra[a + 2] + matricesWeightsExtra[a + 3];\r\n // check for invalid weight and just set it to 1.\r\n if (t === 0) { matricesWeights[a] = 1; }\r\n else {\r\n // renormalize so everything adds to 1 use reciprical\r\n let recip = 1 / t;\r\n matricesWeights[a] *= recip;\r\n matricesWeights[a + 1] *= recip;\r\n matricesWeights[a + 2] *= recip;\r\n matricesWeights[a + 3] *= recip;\r\n // same goes for extras\r\n matricesWeightsExtra[a] *= recip;\r\n matricesWeightsExtra[a + 1] *= recip;\r\n matricesWeightsExtra[a + 2] *= recip;\r\n matricesWeightsExtra[a + 3] *= recip;\r\n }\r\n\r\n }\r\n this.setVerticesData(VertexBuffer.MatricesWeightsKind, matricesWeights);\r\n this.setVerticesData(VertexBuffer.MatricesWeightsKind, matricesWeightsExtra);\r\n }\r\n\r\n /**\r\n * ValidateSkinning is used to determine that a mesh has valid skinning data along with skin metrics, if missing weights,\r\n * or not normalized it is returned as invalid mesh the string can be used for console logs, or on screen messages to let\r\n * the user know there was an issue with importing the mesh\r\n * @returns a validation object with skinned, valid and report string\r\n */\r\n public validateSkinning(): { skinned: boolean, valid: boolean, report: string } {\r\n\r\n let matricesWeightsExtra = (this.getVerticesData(VertexBuffer.MatricesWeightsExtraKind));\r\n let matricesWeights = (this.getVerticesData(VertexBuffer.MatricesWeightsKind));\r\n if (matricesWeights === null || this.skeleton == null) {\r\n return { skinned: false, valid: true, report: \"not skinned\" };\r\n }\r\n\r\n let numWeights = matricesWeights.length;\r\n let numberNotSorted: number = 0;\r\n let missingWeights: number = 0;\r\n let maxUsedWeights: number = 0;\r\n let numberNotNormalized: number = 0;\r\n let numInfluences: number = matricesWeightsExtra === null ? 4 : 8;\r\n var usedWeightCounts = new Array();\r\n for (var a = 0; a <= numInfluences; a++) {\r\n usedWeightCounts[a] = 0;\r\n }\r\n const toleranceEpsilon: number = 0.001;\r\n\r\n for (var a = 0; a < numWeights; a += 4) {\r\n\r\n let lastWeight: number = matricesWeights[a];\r\n var t = lastWeight;\r\n let usedWeights: number = t === 0 ? 0 : 1;\r\n\r\n for (var b = 1; b < numInfluences; b++) {\r\n var d = b < 4 ? matricesWeights[a + b] : matricesWeightsExtra[a + b - 4];\r\n if (d > lastWeight) { numberNotSorted++; }\r\n if (d !== 0) { usedWeights++; }\r\n t += d;\r\n lastWeight = d;\r\n }\r\n // count the buffer weights usage\r\n usedWeightCounts[usedWeights]++;\r\n\r\n // max influences\r\n if (usedWeights > maxUsedWeights) { maxUsedWeights = usedWeights; }\r\n\r\n // check for invalid weight and just set it to 1.\r\n if (t === 0) {\r\n missingWeights++;\r\n }\r\n else {\r\n // renormalize so everything adds to 1 use reciprical\r\n let recip = 1 / t;\r\n let tolerance = 0;\r\n for (b = 0; b < numInfluences; b++) {\r\n if (b < 4) {\r\n tolerance += Math.abs(matricesWeights[a + b] - (matricesWeights[a + b] * recip));\r\n }\r\n else {\r\n tolerance += Math.abs(matricesWeightsExtra[a + b - 4] - (matricesWeightsExtra[a + b - 4] * recip));\r\n }\r\n }\r\n // arbitary epsilon value for dicdating not normalized\r\n if (tolerance > toleranceEpsilon) { numberNotNormalized++; }\r\n }\r\n }\r\n\r\n // validate bone indices are in range of the skeleton\r\n let numBones: number = this.skeleton.bones.length;\r\n let matricesIndices = (this.getVerticesData(VertexBuffer.MatricesIndicesKind));\r\n let matricesIndicesExtra = (this.getVerticesData(VertexBuffer.MatricesIndicesExtraKind));\r\n let numBadBoneIndices: number = 0;\r\n for (var a = 0; a < numWeights; a += 4) {\r\n for (var b = 0; b < numInfluences; b++) {\r\n let index = b < 4 ? matricesIndices[a + b] : matricesIndicesExtra[a + b - 4];\r\n if (index >= numBones || index < 0) { numBadBoneIndices++; }\r\n }\r\n }\r\n\r\n // log mesh stats\r\n var output = \"Number of Weights = \" + numWeights / 4 + \"\\nMaximum influences = \" + maxUsedWeights +\r\n \"\\nMissing Weights = \" + missingWeights + \"\\nNot Sorted = \" + numberNotSorted +\r\n \"\\nNot Normalized = \" + numberNotNormalized + \"\\nWeightCounts = [\" + usedWeightCounts + \"]\" +\r\n \"\\nNumber of bones = \" + numBones + \"\\nBad Bone Indices = \" + numBadBoneIndices;\r\n\r\n return { skinned: true, valid: missingWeights === 0 && numberNotNormalized === 0 && numBadBoneIndices === 0, report: output };\r\n }\r\n\r\n /** @hidden */\r\n public _checkDelayState(): Mesh {\r\n var scene = this.getScene();\r\n if (this._geometry) {\r\n this._geometry.load(scene);\r\n }\r\n else if (this.delayLoadState === 4) {\r\n this.delayLoadState = 2;\r\n\r\n this._queueLoad(scene);\r\n }\r\n return this;\r\n }\r\n\r\n private _queueLoad(scene: Scene): Mesh {\r\n scene._addPendingData(this);\r\n\r\n var getBinaryData = (this.delayLoadingFile.indexOf(\".babylonbinarymeshdata\") !== -1);\r\n\r\n Tools.LoadFile(this.delayLoadingFile, (data) => {\r\n\r\n if (data instanceof ArrayBuffer) {\r\n this._delayLoadingFunction(data, this);\r\n }\r\n else {\r\n this._delayLoadingFunction(JSON.parse(data), this);\r\n }\r\n\r\n this.instances.forEach((instance) => {\r\n instance.refreshBoundingInfo();\r\n instance._syncSubMeshes();\r\n });\r\n\r\n this.delayLoadState = 1;\r\n scene._removePendingData(this);\r\n\r\n }, () => { }, scene.offlineProvider, getBinaryData);\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns `true` if the mesh is within the frustum defined by the passed array of planes.\r\n * A mesh is in the frustum if its bounding box intersects the frustum\r\n * @param frustumPlanes defines the frustum to test\r\n * @returns true if the mesh is in the frustum planes\r\n */\r\n public isInFrustum(frustumPlanes: Plane[]): boolean {\r\n if (this.delayLoadState === 2) {\r\n return false;\r\n }\r\n\r\n if (!super.isInFrustum(frustumPlanes)) {\r\n return false;\r\n }\r\n\r\n this._checkDelayState();\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Sets the mesh material by the material or multiMaterial `id` property\r\n * @param id is a string identifying the material or the multiMaterial\r\n * @returns the current mesh\r\n */\r\n public setMaterialByID(id: string): Mesh {\r\n var materials = this.getScene().materials;\r\n var index: number;\r\n for (index = materials.length - 1; index > -1; index--) {\r\n if (materials[index].id === id) {\r\n this.material = materials[index];\r\n return this;\r\n }\r\n }\r\n\r\n // Multi\r\n var multiMaterials = this.getScene().multiMaterials;\r\n for (index = multiMaterials.length - 1; index > -1; index--) {\r\n if (multiMaterials[index].id === id) {\r\n this.material = multiMaterials[index];\r\n return this;\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns as a new array populated with the mesh material and/or skeleton, if any.\r\n * @returns an array of IAnimatable\r\n */\r\n public getAnimatables(): IAnimatable[] {\r\n var results = new Array();\r\n\r\n if (this.material) {\r\n results.push(this.material);\r\n }\r\n\r\n if (this.skeleton) {\r\n results.push(this.skeleton);\r\n }\r\n\r\n return results;\r\n }\r\n\r\n /**\r\n * Modifies the mesh geometry according to the passed transformation matrix.\r\n * This method returns nothing but it really modifies the mesh even if it's originally not set as updatable.\r\n * The mesh normals are modified using the same transformation.\r\n * Note that, under the hood, this method sets a new VertexBuffer each call.\r\n * @param transform defines the transform matrix to use\r\n * @see https://doc.babylonjs.com/resources/baking_transformations\r\n * @returns the current mesh\r\n */\r\n public bakeTransformIntoVertices(transform: Matrix): Mesh {\r\n // Position\r\n if (!this.isVerticesDataPresent(VertexBuffer.PositionKind)) {\r\n return this;\r\n }\r\n\r\n var submeshes = this.subMeshes.splice(0);\r\n\r\n this._resetPointsArrayCache();\r\n\r\n var data = this.getVerticesData(VertexBuffer.PositionKind);\r\n\r\n var temp = new Array();\r\n var index: number;\r\n for (index = 0; index < data.length; index += 3) {\r\n Vector3.TransformCoordinates(Vector3.FromArray(data, index), transform).toArray(temp, index);\r\n }\r\n\r\n this.setVerticesData(VertexBuffer.PositionKind, temp, (this.getVertexBuffer(VertexBuffer.PositionKind)).isUpdatable());\r\n\r\n // Normals\r\n if (this.isVerticesDataPresent(VertexBuffer.NormalKind)) {\r\n data = this.getVerticesData(VertexBuffer.NormalKind);\r\n temp = [];\r\n for (index = 0; index < data.length; index += 3) {\r\n Vector3.TransformNormal(Vector3.FromArray(data, index), transform).normalize().toArray(temp, index);\r\n }\r\n this.setVerticesData(VertexBuffer.NormalKind, temp, (this.getVertexBuffer(VertexBuffer.NormalKind)).isUpdatable());\r\n }\r\n\r\n // flip faces?\r\n if (transform.m[0] * transform.m[5] * transform.m[10] < 0) { this.flipFaces(); }\r\n\r\n // Restore submeshes\r\n this.releaseSubMeshes();\r\n this.subMeshes = submeshes;\r\n return this;\r\n }\r\n\r\n /**\r\n * Modifies the mesh geometry according to its own current World Matrix.\r\n * The mesh World Matrix is then reset.\r\n * This method returns nothing but really modifies the mesh even if it's originally not set as updatable.\r\n * Note that, under the hood, this method sets a new VertexBuffer each call.\r\n * @see https://doc.babylonjs.com/resources/baking_transformations\r\n * @param bakeIndependenlyOfChildren indicates whether to preserve all child nodes' World Matrix during baking\r\n * @returns the current mesh\r\n */\r\n public bakeCurrentTransformIntoVertices(bakeIndependenlyOfChildren : boolean = true): Mesh {\r\n this.bakeTransformIntoVertices(this.computeWorldMatrix(true));\r\n this.resetLocalMatrix(bakeIndependenlyOfChildren);\r\n return this;\r\n }\r\n\r\n // Cache\r\n\r\n /** @hidden */\r\n public get _positions(): Nullable {\r\n if (this._geometry) {\r\n return this._geometry._positions;\r\n }\r\n return null;\r\n }\r\n\r\n /** @hidden */\r\n public _resetPointsArrayCache(): Mesh {\r\n if (this._geometry) {\r\n this._geometry._resetPointsArrayCache();\r\n }\r\n return this;\r\n }\r\n\r\n /** @hidden */\r\n public _generatePointsArray(): boolean {\r\n if (this._geometry) {\r\n return this._geometry._generatePointsArray();\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Returns a new Mesh object generated from the current mesh properties.\r\n * This method must not get confused with createInstance()\r\n * @param name is a string, the name given to the new mesh\r\n * @param newParent can be any Node object (default `null`)\r\n * @param doNotCloneChildren allows/denies the recursive cloning of the original mesh children if any (default `false`)\r\n * @param clonePhysicsImpostor allows/denies the cloning in the same time of the original mesh `body` used by the physics engine, if any (default `true`)\r\n * @returns a new mesh\r\n */\r\n public clone(name: string = \"\", newParent: Nullable = null, doNotCloneChildren?: boolean, clonePhysicsImpostor: boolean = true): Mesh {\r\n return new Mesh(name, this.getScene(), newParent, this, doNotCloneChildren, clonePhysicsImpostor);\r\n }\r\n\r\n /**\r\n * Releases resources associated with this mesh.\r\n * @param doNotRecurse Set to true to not recurse into each children (recurse into each children by default)\r\n * @param disposeMaterialAndTextures Set to true to also dispose referenced materials and textures (false by default)\r\n */\r\n public dispose(doNotRecurse?: boolean, disposeMaterialAndTextures = false): void {\r\n this.morphTargetManager = null;\r\n\r\n if (this._geometry) {\r\n this._geometry.releaseForMesh(this, true);\r\n }\r\n\r\n let internalDataInfo = this._internalMeshDataInfo;\r\n\r\n if (internalDataInfo._onBeforeDrawObservable) {\r\n internalDataInfo._onBeforeDrawObservable.clear();\r\n }\r\n\r\n if (internalDataInfo._onBeforeBindObservable) {\r\n internalDataInfo._onBeforeBindObservable.clear();\r\n }\r\n\r\n if (internalDataInfo._onBeforeRenderObservable) {\r\n internalDataInfo._onBeforeRenderObservable.clear();\r\n }\r\n\r\n if (internalDataInfo._onAfterRenderObservable) {\r\n internalDataInfo._onAfterRenderObservable.clear();\r\n }\r\n\r\n // Sources\r\n if (this._scene.useClonedMeshMap) {\r\n if (internalDataInfo.meshMap) {\r\n for (const uniqueId in internalDataInfo.meshMap) {\r\n const mesh = internalDataInfo.meshMap[uniqueId];\r\n if (mesh) {\r\n mesh._internalMeshDataInfo._source = null;\r\n internalDataInfo.meshMap[uniqueId] = undefined;\r\n }\r\n }\r\n }\r\n\r\n if (internalDataInfo._source && internalDataInfo._source._internalMeshDataInfo.meshMap) {\r\n internalDataInfo._source._internalMeshDataInfo.meshMap[this.uniqueId] = undefined;\r\n }\r\n }\r\n else {\r\n var meshes = this.getScene().meshes;\r\n for (const abstractMesh of meshes) {\r\n let mesh = abstractMesh as Mesh;\r\n if (mesh._internalMeshDataInfo && mesh._internalMeshDataInfo._source && mesh._internalMeshDataInfo._source === this) {\r\n mesh._internalMeshDataInfo._source = null;\r\n }\r\n }\r\n }\r\n\r\n internalDataInfo._source = null;\r\n\r\n // Instances\r\n this._disposeInstanceSpecificData();\r\n\r\n // Thin instances\r\n this._disposeThinInstanceSpecificData();\r\n\r\n super.dispose(doNotRecurse, disposeMaterialAndTextures);\r\n }\r\n\r\n /** @hidden */\r\n public _disposeInstanceSpecificData() {\r\n // Do nothing\r\n }\r\n\r\n /** @hidden */\r\n public _disposeThinInstanceSpecificData() {\r\n // Do nothing\r\n }\r\n\r\n /**\r\n * Modifies the mesh geometry according to a displacement map.\r\n * A displacement map is a colored image. Each pixel color value (actually a gradient computed from red, green, blue values) will give the displacement to apply to each mesh vertex.\r\n * The mesh must be set as updatable. Its internal geometry is directly modified, no new buffer are allocated.\r\n * @param url is a string, the URL from the image file is to be downloaded.\r\n * @param minHeight is the lower limit of the displacement.\r\n * @param maxHeight is the upper limit of the displacement.\r\n * @param onSuccess is an optional Javascript function to be called just after the mesh is modified. It is passed the modified mesh and must return nothing.\r\n * @param uvOffset is an optional vector2 used to offset UV.\r\n * @param uvScale is an optional vector2 used to scale UV.\r\n * @param forceUpdate defines whether or not to force an update of the generated buffers. This is useful to apply on a deserialized model for instance.\r\n * @returns the Mesh.\r\n */\r\n public applyDisplacementMap(url: string, minHeight: number, maxHeight: number, onSuccess?: (mesh: Mesh) => void, uvOffset?: Vector2, uvScale?: Vector2, forceUpdate = false): Mesh {\r\n var scene = this.getScene();\r\n\r\n var onload = (img: HTMLImageElement | ImageBitmap) => {\r\n // Getting height map data\r\n var heightMapWidth = img.width;\r\n var heightMapHeight = img.height;\r\n var canvas = CanvasGenerator.CreateCanvas(heightMapWidth, heightMapHeight);\r\n var context = canvas.getContext(\"2d\");\r\n\r\n context.drawImage(img, 0, 0);\r\n\r\n // Create VertexData from map data\r\n //Cast is due to wrong definition in lib.d.ts from ts 1.3 - https://github.com/Microsoft/TypeScript/issues/949\r\n var buffer = (context.getImageData(0, 0, heightMapWidth, heightMapHeight).data);\r\n\r\n this.applyDisplacementMapFromBuffer(buffer, heightMapWidth, heightMapHeight, minHeight, maxHeight, uvOffset, uvScale, forceUpdate);\r\n //execute success callback, if set\r\n if (onSuccess) {\r\n onSuccess(this);\r\n }\r\n };\r\n\r\n Tools.LoadImage(url, onload, () => { }, scene.offlineProvider);\r\n return this;\r\n }\r\n\r\n /**\r\n * Modifies the mesh geometry according to a displacementMap buffer.\r\n * A displacement map is a colored image. Each pixel color value (actually a gradient computed from red, green, blue values) will give the displacement to apply to each mesh vertex.\r\n * The mesh must be set as updatable. Its internal geometry is directly modified, no new buffer are allocated.\r\n * @param buffer is a `Uint8Array` buffer containing series of `Uint8` lower than 255, the red, green, blue and alpha values of each successive pixel.\r\n * @param heightMapWidth is the width of the buffer image.\r\n * @param heightMapHeight is the height of the buffer image.\r\n * @param minHeight is the lower limit of the displacement.\r\n * @param maxHeight is the upper limit of the displacement.\r\n * @param onSuccess is an optional Javascript function to be called just after the mesh is modified. It is passed the modified mesh and must return nothing.\r\n * @param uvOffset is an optional vector2 used to offset UV.\r\n * @param uvScale is an optional vector2 used to scale UV.\r\n * @param forceUpdate defines whether or not to force an update of the generated buffers. This is useful to apply on a deserialized model for instance.\r\n * @returns the Mesh.\r\n */\r\n public applyDisplacementMapFromBuffer(buffer: Uint8Array, heightMapWidth: number, heightMapHeight: number, minHeight: number, maxHeight: number, uvOffset?: Vector2, uvScale?: Vector2, forceUpdate = false): Mesh {\r\n if (!this.isVerticesDataPresent(VertexBuffer.PositionKind)\r\n || !this.isVerticesDataPresent(VertexBuffer.NormalKind)\r\n || !this.isVerticesDataPresent(VertexBuffer.UVKind)) {\r\n Logger.Warn(\"Cannot call applyDisplacementMap: Given mesh is not complete. Position, Normal or UV are missing\");\r\n return this;\r\n }\r\n\r\n var positions = this.getVerticesData(VertexBuffer.PositionKind, true, true);\r\n var normals = this.getVerticesData(VertexBuffer.NormalKind);\r\n var uvs = this.getVerticesData(VertexBuffer.UVKind);\r\n var position = Vector3.Zero();\r\n var normal = Vector3.Zero();\r\n var uv = Vector2.Zero();\r\n\r\n uvOffset = uvOffset || Vector2.Zero();\r\n uvScale = uvScale || new Vector2(1, 1);\r\n\r\n for (var index = 0; index < positions.length; index += 3) {\r\n Vector3.FromArrayToRef(positions, index, position);\r\n Vector3.FromArrayToRef(normals, index, normal);\r\n Vector2.FromArrayToRef(uvs, (index / 3) * 2, uv);\r\n\r\n // Compute height\r\n var u = ((Math.abs(uv.x * uvScale.x + uvOffset.x % 1) * (heightMapWidth - 1)) % heightMapWidth) | 0;\r\n var v = ((Math.abs(uv.y * uvScale.y + uvOffset.y % 1) * (heightMapHeight - 1)) % heightMapHeight) | 0;\r\n\r\n var pos = (u + v * heightMapWidth) * 4;\r\n var r = buffer[pos] / 255.0;\r\n var g = buffer[pos + 1] / 255.0;\r\n var b = buffer[pos + 2] / 255.0;\r\n\r\n var gradient = r * 0.3 + g * 0.59 + b * 0.11;\r\n\r\n normal.normalize();\r\n normal.scaleInPlace(minHeight + (maxHeight - minHeight) * gradient);\r\n position = position.add(normal);\r\n\r\n position.toArray(positions, index);\r\n }\r\n\r\n VertexData.ComputeNormals(positions, this.getIndices(), normals);\r\n\r\n if (forceUpdate) {\r\n this.setVerticesData(VertexBuffer.PositionKind, positions);\r\n this.setVerticesData(VertexBuffer.NormalKind, normals);\r\n }\r\n else {\r\n this.updateVerticesData(VertexBuffer.PositionKind, positions);\r\n this.updateVerticesData(VertexBuffer.NormalKind, normals);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Modify the mesh to get a flat shading rendering.\r\n * This means each mesh facet will then have its own normals. Usually new vertices are added in the mesh geometry to get this result.\r\n * Warning : the mesh is really modified even if not set originally as updatable and, under the hood, a new VertexBuffer is allocated.\r\n * @returns current mesh\r\n */\r\n public convertToFlatShadedMesh(): Mesh {\r\n var kinds = this.getVerticesDataKinds();\r\n var vbs: { [key: string]: VertexBuffer } = {};\r\n var data: { [key: string]: FloatArray } = {};\r\n var newdata: { [key: string]: Array } = {};\r\n var updatableNormals = false;\r\n var kindIndex: number;\r\n var kind: string;\r\n for (kindIndex = 0; kindIndex < kinds.length; kindIndex++) {\r\n kind = kinds[kindIndex];\r\n var vertexBuffer = this.getVertexBuffer(kind);\r\n\r\n if (kind === VertexBuffer.NormalKind) {\r\n updatableNormals = vertexBuffer.isUpdatable();\r\n kinds.splice(kindIndex, 1);\r\n kindIndex--;\r\n continue;\r\n }\r\n\r\n vbs[kind] = vertexBuffer;\r\n data[kind] = vbs[kind].getData();\r\n newdata[kind] = [];\r\n }\r\n\r\n // Save previous submeshes\r\n var previousSubmeshes = this.subMeshes.slice(0);\r\n\r\n var indices = this.getIndices();\r\n var totalIndices = this.getTotalIndices();\r\n\r\n // Generating unique vertices per face\r\n var index: number;\r\n for (index = 0; index < totalIndices; index++) {\r\n var vertexIndex = indices[index];\r\n\r\n for (kindIndex = 0; kindIndex < kinds.length; kindIndex++) {\r\n kind = kinds[kindIndex];\r\n var stride = vbs[kind].getStrideSize();\r\n\r\n for (var offset = 0; offset < stride; offset++) {\r\n newdata[kind].push(data[kind][vertexIndex * stride + offset]);\r\n }\r\n }\r\n }\r\n\r\n // Updating faces & normal\r\n var normals = [];\r\n var positions = newdata[VertexBuffer.PositionKind];\r\n for (index = 0; index < totalIndices; index += 3) {\r\n indices[index] = index;\r\n indices[index + 1] = index + 1;\r\n indices[index + 2] = index + 2;\r\n\r\n var p1 = Vector3.FromArray(positions, index * 3);\r\n var p2 = Vector3.FromArray(positions, (index + 1) * 3);\r\n var p3 = Vector3.FromArray(positions, (index + 2) * 3);\r\n\r\n var p1p2 = p1.subtract(p2);\r\n var p3p2 = p3.subtract(p2);\r\n\r\n var normal = Vector3.Normalize(Vector3.Cross(p1p2, p3p2));\r\n\r\n // Store same normals for every vertex\r\n for (var localIndex = 0; localIndex < 3; localIndex++) {\r\n normals.push(normal.x);\r\n normals.push(normal.y);\r\n normals.push(normal.z);\r\n }\r\n }\r\n\r\n this.setIndices(indices);\r\n this.setVerticesData(VertexBuffer.NormalKind, normals, updatableNormals);\r\n\r\n // Updating vertex buffers\r\n for (kindIndex = 0; kindIndex < kinds.length; kindIndex++) {\r\n kind = kinds[kindIndex];\r\n this.setVerticesData(kind, newdata[kind], vbs[kind].isUpdatable());\r\n }\r\n\r\n // Updating submeshes\r\n this.releaseSubMeshes();\r\n for (var submeshIndex = 0; submeshIndex < previousSubmeshes.length; submeshIndex++) {\r\n var previousOne = previousSubmeshes[submeshIndex];\r\n SubMesh.AddToMesh(previousOne.materialIndex, previousOne.indexStart, previousOne.indexCount, previousOne.indexStart, previousOne.indexCount, this);\r\n }\r\n\r\n this.synchronizeInstances();\r\n return this;\r\n }\r\n\r\n /**\r\n * This method removes all the mesh indices and add new vertices (duplication) in order to unfold facets into buffers.\r\n * In other words, more vertices, no more indices and a single bigger VBO.\r\n * The mesh is really modified even if not set originally as updatable. Under the hood, a new VertexBuffer is allocated.\r\n * @returns current mesh\r\n */\r\n public convertToUnIndexedMesh(): Mesh {\r\n var kinds = this.getVerticesDataKinds();\r\n var vbs: { [key: string]: VertexBuffer } = {};\r\n var data: { [key: string]: FloatArray } = {};\r\n var newdata: { [key: string]: Array } = {};\r\n var kindIndex: number;\r\n var kind: string;\r\n for (kindIndex = 0; kindIndex < kinds.length; kindIndex++) {\r\n kind = kinds[kindIndex];\r\n var vertexBuffer = this.getVertexBuffer(kind);\r\n vbs[kind] = vertexBuffer;\r\n data[kind] = vbs[kind].getData();\r\n newdata[kind] = [];\r\n }\r\n\r\n // Save previous submeshes\r\n var previousSubmeshes = this.subMeshes.slice(0);\r\n\r\n var indices = this.getIndices();\r\n var totalIndices = this.getTotalIndices();\r\n\r\n // Generating unique vertices per face\r\n var index: number;\r\n for (index = 0; index < totalIndices; index++) {\r\n var vertexIndex = indices[index];\r\n\r\n for (kindIndex = 0; kindIndex < kinds.length; kindIndex++) {\r\n kind = kinds[kindIndex];\r\n var stride = vbs[kind].getStrideSize();\r\n\r\n for (var offset = 0; offset < stride; offset++) {\r\n newdata[kind].push(data[kind][vertexIndex * stride + offset]);\r\n }\r\n }\r\n }\r\n\r\n // Updating indices\r\n for (index = 0; index < totalIndices; index += 3) {\r\n indices[index] = index;\r\n indices[index + 1] = index + 1;\r\n indices[index + 2] = index + 2;\r\n }\r\n\r\n this.setIndices(indices);\r\n\r\n // Updating vertex buffers\r\n for (kindIndex = 0; kindIndex < kinds.length; kindIndex++) {\r\n kind = kinds[kindIndex];\r\n this.setVerticesData(kind, newdata[kind], vbs[kind].isUpdatable());\r\n }\r\n\r\n // Updating submeshes\r\n this.releaseSubMeshes();\r\n for (var submeshIndex = 0; submeshIndex < previousSubmeshes.length; submeshIndex++) {\r\n var previousOne = previousSubmeshes[submeshIndex];\r\n SubMesh.AddToMesh(previousOne.materialIndex, previousOne.indexStart, previousOne.indexCount, previousOne.indexStart, previousOne.indexCount, this);\r\n }\r\n\r\n this._unIndexed = true;\r\n\r\n this.synchronizeInstances();\r\n return this;\r\n }\r\n\r\n /**\r\n * Inverses facet orientations.\r\n * Warning : the mesh is really modified even if not set originally as updatable. A new VertexBuffer is created under the hood each call.\r\n * @param flipNormals will also inverts the normals\r\n * @returns current mesh\r\n */\r\n public flipFaces(flipNormals: boolean = false): Mesh {\r\n var vertex_data = VertexData.ExtractFromMesh(this);\r\n var i: number;\r\n if (flipNormals && this.isVerticesDataPresent(VertexBuffer.NormalKind) && vertex_data.normals) {\r\n for (i = 0; i < vertex_data.normals.length; i++) {\r\n vertex_data.normals[i] *= -1;\r\n }\r\n }\r\n\r\n if (vertex_data.indices) {\r\n var temp;\r\n for (i = 0; i < vertex_data.indices.length; i += 3) {\r\n // reassign indices\r\n temp = vertex_data.indices[i + 1];\r\n vertex_data.indices[i + 1] = vertex_data.indices[i + 2];\r\n vertex_data.indices[i + 2] = temp;\r\n }\r\n }\r\n\r\n vertex_data.applyToMesh(this, this.isVertexBufferUpdatable(VertexBuffer.PositionKind));\r\n return this;\r\n }\r\n\r\n /**\r\n * Increase the number of facets and hence vertices in a mesh\r\n * Vertex normals are interpolated from existing vertex normals\r\n * Warning : the mesh is really modified even if not set originally as updatable. A new VertexBuffer is created under the hood each call.\r\n * @param numberPerEdge the number of new vertices to add to each edge of a facet, optional default 1\r\n */\r\n public increaseVertices(numberPerEdge: number): void {\r\n var vertex_data = VertexData.ExtractFromMesh(this);\r\n var uvs = vertex_data.uvs;\r\n var currentIndices = vertex_data.indices;\r\n var positions = vertex_data.positions;\r\n var normals = vertex_data.normals;\r\n\r\n if (!currentIndices || !positions || !normals || !uvs) {\r\n Logger.Warn(\"VertexData contains null entries\");\r\n }\r\n else {\r\n var segments: number = numberPerEdge + 1; //segments per current facet edge, become sides of new facets\r\n var tempIndices: Array> = new Array();\r\n for (var i = 0; i < segments + 1; i++) {\r\n tempIndices[i] = new Array();\r\n }\r\n var a: number; //vertex index of one end of a side\r\n var b: number; //vertex index of other end of the side\r\n var deltaPosition: Vector3 = new Vector3(0, 0, 0);\r\n var deltaNormal: Vector3 = new Vector3(0, 0, 0);\r\n var deltaUV: Vector2 = new Vector2(0, 0);\r\n var indices: number[] = new Array();\r\n var vertexIndex: number[] = new Array();\r\n var side: Array>> = new Array();\r\n var len: number;\r\n var positionPtr: number = positions.length;\r\n var uvPtr: number = uvs.length;\r\n\r\n for (var i = 0; i < currentIndices.length; i += 3) {\r\n vertexIndex[0] = currentIndices[i];\r\n vertexIndex[1] = currentIndices[i + 1];\r\n vertexIndex[2] = currentIndices[i + 2];\r\n for (var j = 0; j < 3; j++) {\r\n a = vertexIndex[j];\r\n b = vertexIndex[(j + 1) % 3];\r\n if (side[a] === undefined && side[b] === undefined) {\r\n side[a] = new Array();\r\n side[b] = new Array();\r\n }\r\n else {\r\n if (side[a] === undefined) {\r\n side[a] = new Array();\r\n }\r\n if (side[b] === undefined) {\r\n side[b] = new Array();\r\n }\r\n }\r\n if (side[a][b] === undefined && side[b][a] === undefined) {\r\n side[a][b] = [];\r\n deltaPosition.x = (positions[3 * b] - positions[3 * a]) / segments;\r\n deltaPosition.y = (positions[3 * b + 1] - positions[3 * a + 1]) / segments;\r\n deltaPosition.z = (positions[3 * b + 2] - positions[3 * a + 2]) / segments;\r\n deltaNormal.x = (normals[3 * b] - normals[3 * a]) / segments;\r\n deltaNormal.y = (normals[3 * b + 1] - normals[3 * a + 1]) / segments;\r\n deltaNormal.z = (normals[3 * b + 2] - normals[3 * a + 2]) / segments;\r\n deltaUV.x = (uvs[2 * b] - uvs[2 * a]) / segments;\r\n deltaUV.y = (uvs[2 * b + 1] - uvs[2 * a + 1]) / segments;\r\n side[a][b].push(a);\r\n for (var k = 1; k < segments; k++) {\r\n side[a][b].push(positions.length / 3);\r\n positions[positionPtr] = positions[3 * a] + k * deltaPosition.x;\r\n normals[positionPtr++] = normals[3 * a] + k * deltaNormal.x;\r\n positions[positionPtr] = positions[3 * a + 1] + k * deltaPosition.y;\r\n normals[positionPtr++] = normals[3 * a + 1] + k * deltaNormal.y;\r\n positions[positionPtr] = positions[3 * a + 2] + k * deltaPosition.z;\r\n normals[positionPtr++] = normals[3 * a + 2] + k * deltaNormal.z;\r\n uvs[uvPtr++] = uvs[2 * a] + k * deltaUV.x;\r\n uvs[uvPtr++] = uvs[2 * a + 1] + k * deltaUV.y;\r\n }\r\n side[a][b].push(b);\r\n side[b][a] = new Array();\r\n len = side[a][b].length;\r\n for (var idx = 0; idx < len; idx++) {\r\n side[b][a][idx] = side[a][b][len - 1 - idx];\r\n }\r\n }\r\n }\r\n //Calculate positions, normals and uvs of new internal vertices\r\n tempIndices[0][0] = currentIndices[i];\r\n tempIndices[1][0] = side[currentIndices[i]][currentIndices[i + 1]][1];\r\n tempIndices[1][1] = side[currentIndices[i]][currentIndices[i + 2]][1];\r\n for (var k = 2; k < segments; k++) {\r\n tempIndices[k][0] = side[currentIndices[i]][currentIndices[i + 1]][k];\r\n tempIndices[k][k] = side[currentIndices[i]][currentIndices[i + 2]][k];\r\n deltaPosition.x = (positions[3 * tempIndices[k][k]] - positions[3 * tempIndices[k][0]]) / k;\r\n deltaPosition.y = (positions[3 * tempIndices[k][k] + 1] - positions[3 * tempIndices[k][0] + 1]) / k;\r\n deltaPosition.z = (positions[3 * tempIndices[k][k] + 2] - positions[3 * tempIndices[k][0] + 2]) / k;\r\n deltaNormal.x = (normals[3 * tempIndices[k][k]] - normals[3 * tempIndices[k][0]]) / k;\r\n deltaNormal.y = (normals[3 * tempIndices[k][k] + 1] - normals[3 * tempIndices[k][0] + 1]) / k;\r\n deltaNormal.z = (normals[3 * tempIndices[k][k] + 2] - normals[3 * tempIndices[k][0] + 2]) / k;\r\n deltaUV.x = (uvs[2 * tempIndices[k][k]] - uvs[2 * tempIndices[k][0]]) / k;\r\n deltaUV.y = (uvs[2 * tempIndices[k][k] + 1] - uvs[2 * tempIndices[k][0] + 1]) / k;\r\n for (var j = 1; j < k; j++) {\r\n tempIndices[k][j] = positions.length / 3;\r\n positions[positionPtr] = positions[3 * tempIndices[k][0]] + j * deltaPosition.x;\r\n normals[positionPtr++] = normals[3 * tempIndices[k][0]] + j * deltaNormal.x;\r\n positions[positionPtr] = positions[3 * tempIndices[k][0] + 1] + j * deltaPosition.y;\r\n normals[positionPtr++] = normals[3 * tempIndices[k][0] + 1] + j * deltaNormal.y;\r\n positions[positionPtr] = positions[3 * tempIndices[k][0] + 2] + j * deltaPosition.z;\r\n normals[positionPtr++] = normals[3 * tempIndices[k][0] + 2] + j * deltaNormal.z;\r\n uvs[uvPtr++] = uvs[2 * tempIndices[k][0]] + j * deltaUV.x;\r\n uvs[uvPtr++] = uvs[2 * tempIndices[k][0] + 1] + j * deltaUV.y;\r\n }\r\n }\r\n tempIndices[segments] = side[currentIndices[i + 1]][currentIndices[i + 2]];\r\n\r\n // reform indices\r\n indices.push(tempIndices[0][0], tempIndices[1][0], tempIndices[1][1]);\r\n for (var k = 1; k < segments; k++) {\r\n for (var j = 0; j < k; j++) {\r\n indices.push(tempIndices[k][j], tempIndices[k + 1][j], tempIndices[k + 1][j + 1]);\r\n indices.push(tempIndices[k][j], tempIndices[k + 1][j + 1], tempIndices[k][j + 1]);\r\n }\r\n indices.push(tempIndices[k][j], tempIndices[k + 1][j], tempIndices[k + 1][j + 1]);\r\n }\r\n }\r\n\r\n vertex_data.indices = indices;\r\n vertex_data.applyToMesh(this, this.isVertexBufferUpdatable(VertexBuffer.PositionKind));\r\n }\r\n }\r\n\r\n /**\r\n * Force adjacent facets to share vertices and remove any facets that have all vertices in a line\r\n * This will undo any application of covertToFlatShadedMesh\r\n * Warning : the mesh is really modified even if not set originally as updatable. A new VertexBuffer is created under the hood each call.\r\n */\r\n public forceSharedVertices(): void {\r\n var vertex_data = VertexData.ExtractFromMesh(this);\r\n var currentUVs = vertex_data.uvs;\r\n var currentIndices = vertex_data.indices;\r\n var currentPositions = vertex_data.positions;\r\n var currentColors = vertex_data.colors;\r\n\r\n if (currentIndices === void 0 || currentPositions === void 0 || currentIndices === null || currentPositions === null) {\r\n Logger.Warn(\"VertexData contains empty entries\");\r\n }\r\n else {\r\n var positions: Array = new Array();\r\n var indices: Array = new Array();\r\n var uvs: Array = new Array();\r\n var colors: Array = new Array();\r\n var pstring: Array = new Array(); //lists facet vertex positions (a,b,c) as string \"a|b|c\"\r\n\r\n var indexPtr: number = 0; // pointer to next available index value\r\n var uniquePositions: { [key: string]: number } = {}; // unique vertex positions\r\n var ptr: number; // pointer to element in uniquePositions\r\n var facet: Array;\r\n\r\n for (var i = 0; i < currentIndices.length; i += 3) {\r\n facet = [currentIndices[i], currentIndices[i + 1], currentIndices[i + 2]]; //facet vertex indices\r\n pstring = new Array();\r\n for (var j = 0; j < 3; j++) {\r\n pstring[j] = \"\";\r\n for (var k = 0; k < 3; k++) {\r\n //small values make 0\r\n if (Math.abs(currentPositions[3 * facet[j] + k]) < 0.00000001) {\r\n currentPositions[3 * facet[j] + k] = 0;\r\n }\r\n pstring[j] += currentPositions[3 * facet[j] + k] + \"|\";\r\n }\r\n }\r\n //check facet vertices to see that none are repeated\r\n // do not process any facet that has a repeated vertex, ie is a line\r\n if (!(pstring[0] == pstring[1] || pstring[0] == pstring[2] || pstring[1] == pstring[2])) {\r\n //for each facet position check if already listed in uniquePositions\r\n // if not listed add to uniquePositions and set index pointer\r\n // if listed use its index in uniquePositions and new index pointer\r\n for (var j = 0; j < 3; j++) {\r\n ptr = uniquePositions[pstring[j]];\r\n if (ptr === undefined) {\r\n uniquePositions[pstring[j]] = indexPtr;\r\n ptr = indexPtr++;\r\n //not listed so add individual x, y, z coordinates to positions\r\n for (var k = 0; k < 3; k++) {\r\n positions.push(currentPositions[3 * facet[j] + k]);\r\n }\r\n if (currentColors !== null && currentColors !== void 0) {\r\n for (var k = 0; k < 4; k++) {\r\n colors.push(currentColors[4 * facet[j] + k]);\r\n }\r\n }\r\n if (currentUVs !== null && currentUVs !== void 0) {\r\n for (var k = 0; k < 2; k++) {\r\n uvs.push(currentUVs[2 * facet[j] + k]);\r\n }\r\n }\r\n }\r\n // add new index pointer to indices array\r\n indices.push(ptr);\r\n }\r\n }\r\n }\r\n\r\n var normals: Array = new Array();\r\n VertexData.ComputeNormals(positions, indices, normals);\r\n\r\n //create new vertex data object and update\r\n vertex_data.positions = positions;\r\n vertex_data.indices = indices;\r\n vertex_data.normals = normals;\r\n if (currentUVs !== null && currentUVs !== void 0) {\r\n vertex_data.uvs = uvs;\r\n }\r\n if (currentColors !== null && currentColors !== void 0) {\r\n vertex_data.colors = colors;\r\n }\r\n\r\n vertex_data.applyToMesh(this, this.isVertexBufferUpdatable(VertexBuffer.PositionKind));\r\n }\r\n }\r\n\r\n // Instances\r\n /** @hidden */\r\n public static _instancedMeshFactory(name: string, mesh: Mesh): InstancedMesh {\r\n throw _DevTools.WarnImport(\"InstancedMesh\");\r\n }\r\n\r\n /** @hidden */\r\n public static _PhysicsImpostorParser(scene: Scene, physicObject: IPhysicsEnabledObject, jsonObject: any): PhysicsImpostor {\r\n throw _DevTools.WarnImport(\"PhysicsImpostor\");\r\n }\r\n\r\n /**\r\n * Creates a new InstancedMesh object from the mesh model.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_instances\r\n * @param name defines the name of the new instance\r\n * @returns a new InstancedMesh\r\n */\r\n public createInstance(name: string): InstancedMesh {\r\n let geometry = this.geometry;\r\n\r\n if (geometry && geometry.meshes.length > 1) {\r\n let others = geometry.meshes.slice(0);\r\n for (var other of others) {\r\n if (other === this) {\r\n continue;\r\n }\r\n other.makeGeometryUnique();\r\n }\r\n }\r\n\r\n return Mesh._instancedMeshFactory(name, this);\r\n }\r\n\r\n /**\r\n * Synchronises all the mesh instance submeshes to the current mesh submeshes, if any.\r\n * After this call, all the mesh instances have the same submeshes than the current mesh.\r\n * @returns the current mesh\r\n */\r\n public synchronizeInstances(): Mesh {\r\n if (this._geometry && this._geometry.meshes.length !== 1 && this.instances.length) {\r\n this.makeGeometryUnique();\r\n }\r\n\r\n for (var instanceIndex = 0; instanceIndex < this.instances.length; instanceIndex++) {\r\n var instance = this.instances[instanceIndex];\r\n instance._syncSubMeshes();\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Optimization of the mesh's indices, in case a mesh has duplicated vertices.\r\n * The function will only reorder the indices and will not remove unused vertices to avoid problems with submeshes.\r\n * This should be used together with the simplification to avoid disappearing triangles.\r\n * @param successCallback an optional success callback to be called after the optimization finished.\r\n * @returns the current mesh\r\n */\r\n public optimizeIndices(successCallback?: (mesh?: Mesh) => void): Mesh {\r\n var indices = this.getIndices();\r\n var positions = this.getVerticesData(VertexBuffer.PositionKind);\r\n\r\n if (!positions || !indices) {\r\n return this;\r\n }\r\n\r\n var vectorPositions = new Array();\r\n for (var pos = 0; pos < positions.length; pos = pos + 3) {\r\n vectorPositions.push(Vector3.FromArray(positions, pos));\r\n }\r\n var dupes = new Array();\r\n\r\n AsyncLoop.SyncAsyncForLoop(vectorPositions.length, 40, (iteration) => {\r\n var realPos = vectorPositions.length - 1 - iteration;\r\n var testedPosition = vectorPositions[realPos];\r\n for (var j = 0; j < realPos; ++j) {\r\n var againstPosition = vectorPositions[j];\r\n if (testedPosition.equals(againstPosition)) {\r\n dupes[realPos] = j;\r\n break;\r\n }\r\n }\r\n }, () => {\r\n for (var i = 0; i < indices.length; ++i) {\r\n indices[i] = dupes[indices[i]] || indices[i];\r\n }\r\n\r\n //indices are now reordered\r\n var originalSubMeshes = this.subMeshes.slice(0);\r\n this.setIndices(indices);\r\n this.subMeshes = originalSubMeshes;\r\n if (successCallback) {\r\n successCallback(this);\r\n }\r\n });\r\n return this;\r\n }\r\n\r\n /**\r\n * Serialize current mesh\r\n * @param serializationObject defines the object which will receive the serialization data\r\n */\r\n public serialize(serializationObject: any): void {\r\n serializationObject.name = this.name;\r\n serializationObject.id = this.id;\r\n serializationObject.uniqueId = this.uniqueId;\r\n serializationObject.type = this.getClassName();\r\n\r\n if (Tags && Tags.HasTags(this)) {\r\n serializationObject.tags = Tags.GetTags(this);\r\n }\r\n\r\n serializationObject.position = this.position.asArray();\r\n\r\n if (this.rotationQuaternion) {\r\n serializationObject.rotationQuaternion = this.rotationQuaternion.asArray();\r\n } else if (this.rotation) {\r\n serializationObject.rotation = this.rotation.asArray();\r\n }\r\n\r\n serializationObject.scaling = this.scaling.asArray();\r\n if (this._postMultiplyPivotMatrix) {\r\n serializationObject.pivotMatrix = this.getPivotMatrix().asArray();\r\n } else {\r\n serializationObject.localMatrix = this.getPivotMatrix().asArray();\r\n }\r\n\r\n serializationObject.isEnabled = this.isEnabled(false);\r\n serializationObject.isVisible = this.isVisible;\r\n serializationObject.infiniteDistance = this.infiniteDistance;\r\n serializationObject.pickable = this.isPickable;\r\n\r\n serializationObject.receiveShadows = this.receiveShadows;\r\n\r\n serializationObject.billboardMode = this.billboardMode;\r\n serializationObject.visibility = this.visibility;\r\n\r\n serializationObject.checkCollisions = this.checkCollisions;\r\n serializationObject.isBlocker = this.isBlocker;\r\n serializationObject.overrideMaterialSideOrientation = this.overrideMaterialSideOrientation;\r\n\r\n // Parent\r\n if (this.parent) {\r\n serializationObject.parentId = this.parent.id;\r\n }\r\n\r\n // Geometry\r\n serializationObject.isUnIndexed = this.isUnIndexed;\r\n var geometry = this._geometry;\r\n if (geometry) {\r\n var geometryId = geometry.id;\r\n serializationObject.geometryId = geometryId;\r\n\r\n // SubMeshes\r\n serializationObject.subMeshes = [];\r\n for (var subIndex = 0; subIndex < this.subMeshes.length; subIndex++) {\r\n var subMesh = this.subMeshes[subIndex];\r\n\r\n serializationObject.subMeshes.push({\r\n materialIndex: subMesh.materialIndex,\r\n verticesStart: subMesh.verticesStart,\r\n verticesCount: subMesh.verticesCount,\r\n indexStart: subMesh.indexStart,\r\n indexCount: subMesh.indexCount\r\n });\r\n }\r\n }\r\n\r\n // Material\r\n if (this.material) {\r\n if (!this.material.doNotSerialize) {\r\n serializationObject.materialId = this.material.id;\r\n }\r\n } else {\r\n this.material = null;\r\n }\r\n\r\n // Morph targets\r\n if (this.morphTargetManager) {\r\n serializationObject.morphTargetManagerId = this.morphTargetManager.uniqueId;\r\n }\r\n\r\n // Skeleton\r\n if (this.skeleton) {\r\n serializationObject.skeletonId = this.skeleton.id;\r\n serializationObject.numBoneInfluencers = this.numBoneInfluencers;\r\n }\r\n\r\n // Physics\r\n //TODO implement correct serialization for physics impostors.\r\n if (this.getScene()._getComponent(SceneComponentConstants.NAME_PHYSICSENGINE)) {\r\n let impostor = this.getPhysicsImpostor();\r\n if (impostor) {\r\n serializationObject.physicsMass = impostor.getParam(\"mass\");\r\n serializationObject.physicsFriction = impostor.getParam(\"friction\");\r\n serializationObject.physicsRestitution = impostor.getParam(\"mass\");\r\n serializationObject.physicsImpostor = impostor.type;\r\n }\r\n }\r\n\r\n // Metadata\r\n if (this.metadata) {\r\n serializationObject.metadata = this.metadata;\r\n }\r\n\r\n // Instances\r\n serializationObject.instances = [];\r\n for (var index = 0; index < this.instances.length; index++) {\r\n var instance = this.instances[index];\r\n if (instance.doNotSerialize) {\r\n continue;\r\n }\r\n\r\n var serializationInstance: any = {\r\n name: instance.name,\r\n id: instance.id,\r\n isEnabled: instance.isEnabled(false),\r\n isVisible: instance.isVisible,\r\n isPickable: instance.isPickable,\r\n checkCollisions: instance.checkCollisions,\r\n position: instance.position.asArray(),\r\n scaling: instance.scaling.asArray()\r\n };\r\n\r\n if (instance.parent) {\r\n serializationInstance.parentId = instance.parent.id;\r\n }\r\n\r\n if (instance.rotationQuaternion) {\r\n serializationInstance.rotationQuaternion = instance.rotationQuaternion.asArray();\r\n } else if (instance.rotation) {\r\n serializationInstance.rotation = instance.rotation.asArray();\r\n }\r\n\r\n // Physics\r\n //TODO implement correct serialization for physics impostors.\r\n if (this.getScene()._getComponent(SceneComponentConstants.NAME_PHYSICSENGINE)) {\r\n let impostor = instance.getPhysicsImpostor();\r\n if (impostor) {\r\n serializationInstance.physicsMass = impostor.getParam(\"mass\");\r\n serializationInstance.physicsFriction = impostor.getParam(\"friction\");\r\n serializationInstance.physicsRestitution = impostor.getParam(\"mass\");\r\n serializationInstance.physicsImpostor = impostor.type;\r\n }\r\n }\r\n\r\n // Metadata\r\n if (instance.metadata) {\r\n serializationInstance.metadata = instance.metadata;\r\n }\r\n\r\n serializationObject.instances.push(serializationInstance);\r\n\r\n // Animations\r\n SerializationHelper.AppendSerializedAnimations(instance, serializationInstance);\r\n serializationInstance.ranges = instance.serializeAnimationRanges();\r\n }\r\n\r\n // Thin instances\r\n if (this._thinInstanceDataStorage.instancesCount && this._thinInstanceDataStorage.matrixData) {\r\n serializationObject.thinInstances = {\r\n instancesCount: this._thinInstanceDataStorage.instancesCount,\r\n matrixData: Tools.SliceToArray(this._thinInstanceDataStorage.matrixData),\r\n matrixBufferSize: this._thinInstanceDataStorage.matrixBufferSize,\r\n };\r\n\r\n if (this._userThinInstanceBuffersStorage) {\r\n const userThinInstance: any = {\r\n data: {},\r\n sizes: {},\r\n strides: {},\r\n };\r\n\r\n for (const kind in this._userThinInstanceBuffersStorage.data) {\r\n userThinInstance.data[kind] = Tools.SliceToArray(this._userThinInstanceBuffersStorage.data[kind]);\r\n userThinInstance.sizes[kind] = this._userThinInstanceBuffersStorage.sizes[kind];\r\n userThinInstance.strides[kind] = this._userThinInstanceBuffersStorage.strides[kind];\r\n }\r\n\r\n serializationObject.thinInstances.userThinInstance = userThinInstance;\r\n }\r\n }\r\n\r\n // Animations\r\n SerializationHelper.AppendSerializedAnimations(this, serializationObject);\r\n serializationObject.ranges = this.serializeAnimationRanges();\r\n\r\n // Layer mask\r\n serializationObject.layerMask = this.layerMask;\r\n\r\n // Alpha\r\n serializationObject.alphaIndex = this.alphaIndex;\r\n serializationObject.hasVertexAlpha = this.hasVertexAlpha;\r\n\r\n // Overlay\r\n serializationObject.overlayAlpha = this.overlayAlpha;\r\n serializationObject.overlayColor = this.overlayColor.asArray();\r\n serializationObject.renderOverlay = this.renderOverlay;\r\n\r\n // Fog\r\n serializationObject.applyFog = this.applyFog;\r\n\r\n // Action Manager\r\n if (this.actionManager) {\r\n serializationObject.actions = this.actionManager.serialize(this.name);\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _syncGeometryWithMorphTargetManager() {\r\n if (!this.geometry) {\r\n return;\r\n }\r\n\r\n this._markSubMeshesAsAttributesDirty();\r\n\r\n let morphTargetManager = this._internalMeshDataInfo._morphTargetManager;\r\n if (morphTargetManager && morphTargetManager.vertexCount) {\r\n if (morphTargetManager.vertexCount !== this.getTotalVertices()) {\r\n Logger.Error(\"Mesh is incompatible with morph targets. Targets and mesh must all have the same vertices count.\");\r\n this.morphTargetManager = null;\r\n return;\r\n }\r\n\r\n for (var index = 0; index < morphTargetManager.numInfluencers; index++) {\r\n var morphTarget = morphTargetManager.getActiveTarget(index);\r\n\r\n const positions = morphTarget.getPositions();\r\n if (!positions) {\r\n Logger.Error(\"Invalid morph target. Target must have positions.\");\r\n return;\r\n }\r\n\r\n this.geometry.setVerticesData(VertexBuffer.PositionKind + index, positions, false, 3);\r\n\r\n const normals = morphTarget.getNormals();\r\n if (normals) {\r\n this.geometry.setVerticesData(VertexBuffer.NormalKind + index, normals, false, 3);\r\n }\r\n\r\n const tangents = morphTarget.getTangents();\r\n if (tangents) {\r\n this.geometry.setVerticesData(VertexBuffer.TangentKind + index, tangents, false, 3);\r\n }\r\n\r\n const uvs = morphTarget.getUVs();\r\n if (uvs) {\r\n this.geometry.setVerticesData(VertexBuffer.UVKind + \"_\" + index, uvs, false, 2);\r\n }\r\n }\r\n } else {\r\n var index = 0;\r\n\r\n // Positions\r\n while (this.geometry.isVerticesDataPresent(VertexBuffer.PositionKind + index)) {\r\n this.geometry.removeVerticesData(VertexBuffer.PositionKind + index);\r\n\r\n if (this.geometry.isVerticesDataPresent(VertexBuffer.NormalKind + index)) {\r\n this.geometry.removeVerticesData(VertexBuffer.NormalKind + index);\r\n }\r\n if (this.geometry.isVerticesDataPresent(VertexBuffer.TangentKind + index)) {\r\n this.geometry.removeVerticesData(VertexBuffer.TangentKind + index);\r\n }\r\n if (this.geometry.isVerticesDataPresent(VertexBuffer.UVKind + index)) {\r\n this.geometry.removeVerticesData(VertexBuffer.UVKind + \"_\" + index);\r\n }\r\n index++;\r\n }\r\n }\r\n }\r\n\r\n // Statics\r\n /** @hidden */\r\n public static _GroundMeshParser = (parsedMesh: any, scene: Scene): Mesh => {\r\n throw _DevTools.WarnImport(\"GroundMesh\");\r\n }\r\n\r\n /**\r\n * Returns a new Mesh object parsed from the source provided.\r\n * @param parsedMesh is the source\r\n * @param scene defines the hosting scene\r\n * @param rootUrl is the root URL to prefix the `delayLoadingFile` property with\r\n * @returns a new Mesh\r\n */\r\n public static Parse(parsedMesh: any, scene: Scene, rootUrl: string): Mesh {\r\n var mesh: Mesh;\r\n\r\n if (parsedMesh.type && parsedMesh.type === \"GroundMesh\") {\r\n mesh = Mesh._GroundMeshParser(parsedMesh, scene);\r\n } else {\r\n mesh = new Mesh(parsedMesh.name, scene);\r\n }\r\n mesh.id = parsedMesh.id;\r\n\r\n if (Tags) {\r\n Tags.AddTagsTo(mesh, parsedMesh.tags);\r\n }\r\n\r\n mesh.position = Vector3.FromArray(parsedMesh.position);\r\n\r\n if (parsedMesh.metadata !== undefined) {\r\n mesh.metadata = parsedMesh.metadata;\r\n }\r\n\r\n if (parsedMesh.rotationQuaternion) {\r\n mesh.rotationQuaternion = Quaternion.FromArray(parsedMesh.rotationQuaternion);\r\n } else if (parsedMesh.rotation) {\r\n mesh.rotation = Vector3.FromArray(parsedMesh.rotation);\r\n }\r\n\r\n mesh.scaling = Vector3.FromArray(parsedMesh.scaling);\r\n\r\n if (parsedMesh.localMatrix) {\r\n mesh.setPreTransformMatrix(Matrix.FromArray(parsedMesh.localMatrix));\r\n } else if (parsedMesh.pivotMatrix) {\r\n mesh.setPivotMatrix(Matrix.FromArray(parsedMesh.pivotMatrix));\r\n }\r\n\r\n mesh.setEnabled(parsedMesh.isEnabled);\r\n mesh.isVisible = parsedMesh.isVisible;\r\n mesh.infiniteDistance = parsedMesh.infiniteDistance;\r\n\r\n mesh.showBoundingBox = parsedMesh.showBoundingBox;\r\n mesh.showSubMeshesBoundingBox = parsedMesh.showSubMeshesBoundingBox;\r\n\r\n if (parsedMesh.applyFog !== undefined) {\r\n mesh.applyFog = parsedMesh.applyFog;\r\n }\r\n\r\n if (parsedMesh.pickable !== undefined) {\r\n mesh.isPickable = parsedMesh.pickable;\r\n }\r\n\r\n if (parsedMesh.alphaIndex !== undefined) {\r\n mesh.alphaIndex = parsedMesh.alphaIndex;\r\n }\r\n\r\n mesh.receiveShadows = parsedMesh.receiveShadows;\r\n\r\n mesh.billboardMode = parsedMesh.billboardMode;\r\n\r\n if (parsedMesh.visibility !== undefined) {\r\n mesh.visibility = parsedMesh.visibility;\r\n }\r\n\r\n mesh.checkCollisions = parsedMesh.checkCollisions;\r\n mesh.overrideMaterialSideOrientation = parsedMesh.overrideMaterialSideOrientation;\r\n\r\n if (parsedMesh.isBlocker !== undefined) {\r\n mesh.isBlocker = parsedMesh.isBlocker;\r\n }\r\n\r\n mesh._shouldGenerateFlatShading = parsedMesh.useFlatShading;\r\n\r\n // freezeWorldMatrix\r\n if (parsedMesh.freezeWorldMatrix) {\r\n mesh._waitingData.freezeWorldMatrix = parsedMesh.freezeWorldMatrix;\r\n }\r\n\r\n // Parent\r\n if (parsedMesh.parentId) {\r\n mesh._waitingParentId = parsedMesh.parentId;\r\n }\r\n\r\n // Actions\r\n if (parsedMesh.actions !== undefined) {\r\n mesh._waitingData.actions = parsedMesh.actions;\r\n }\r\n\r\n // Overlay\r\n if (parsedMesh.overlayAlpha !== undefined) {\r\n mesh.overlayAlpha = parsedMesh.overlayAlpha;\r\n }\r\n\r\n if (parsedMesh.overlayColor !== undefined) {\r\n mesh.overlayColor = Color3.FromArray(parsedMesh.overlayColor);\r\n }\r\n\r\n if (parsedMesh.renderOverlay !== undefined) {\r\n mesh.renderOverlay = parsedMesh.renderOverlay;\r\n }\r\n\r\n // Geometry\r\n mesh.isUnIndexed = !!parsedMesh.isUnIndexed;\r\n mesh.hasVertexAlpha = parsedMesh.hasVertexAlpha;\r\n\r\n if (parsedMesh.delayLoadingFile) {\r\n mesh.delayLoadState = 4;\r\n mesh.delayLoadingFile = rootUrl + parsedMesh.delayLoadingFile;\r\n mesh._boundingInfo = new BoundingInfo(Vector3.FromArray(parsedMesh.boundingBoxMinimum), Vector3.FromArray(parsedMesh.boundingBoxMaximum));\r\n\r\n if (parsedMesh._binaryInfo) {\r\n mesh._binaryInfo = parsedMesh._binaryInfo;\r\n }\r\n\r\n mesh._delayInfo = [];\r\n if (parsedMesh.hasUVs) {\r\n mesh._delayInfo.push(VertexBuffer.UVKind);\r\n }\r\n\r\n if (parsedMesh.hasUVs2) {\r\n mesh._delayInfo.push(VertexBuffer.UV2Kind);\r\n }\r\n\r\n if (parsedMesh.hasUVs3) {\r\n mesh._delayInfo.push(VertexBuffer.UV3Kind);\r\n }\r\n\r\n if (parsedMesh.hasUVs4) {\r\n mesh._delayInfo.push(VertexBuffer.UV4Kind);\r\n }\r\n\r\n if (parsedMesh.hasUVs5) {\r\n mesh._delayInfo.push(VertexBuffer.UV5Kind);\r\n }\r\n\r\n if (parsedMesh.hasUVs6) {\r\n mesh._delayInfo.push(VertexBuffer.UV6Kind);\r\n }\r\n\r\n if (parsedMesh.hasColors) {\r\n mesh._delayInfo.push(VertexBuffer.ColorKind);\r\n }\r\n\r\n if (parsedMesh.hasMatricesIndices) {\r\n mesh._delayInfo.push(VertexBuffer.MatricesIndicesKind);\r\n }\r\n\r\n if (parsedMesh.hasMatricesWeights) {\r\n mesh._delayInfo.push(VertexBuffer.MatricesWeightsKind);\r\n }\r\n\r\n mesh._delayLoadingFunction = Geometry._ImportGeometry;\r\n\r\n if (SceneLoaderFlags.ForceFullSceneLoadingForIncremental) {\r\n mesh._checkDelayState();\r\n }\r\n\r\n } else {\r\n Geometry._ImportGeometry(parsedMesh, mesh);\r\n }\r\n\r\n // Material\r\n if (parsedMesh.materialId) {\r\n mesh.setMaterialByID(parsedMesh.materialId);\r\n } else {\r\n mesh.material = null;\r\n }\r\n\r\n // Morph targets\r\n if (parsedMesh.morphTargetManagerId > -1) {\r\n mesh.morphTargetManager = scene.getMorphTargetManagerById(parsedMesh.morphTargetManagerId);\r\n }\r\n\r\n // Skeleton\r\n if (parsedMesh.skeletonId !== undefined && parsedMesh.skeletonId !== null) {\r\n mesh.skeleton = scene.getLastSkeletonByID(parsedMesh.skeletonId);\r\n if (parsedMesh.numBoneInfluencers) {\r\n mesh.numBoneInfluencers = parsedMesh.numBoneInfluencers;\r\n }\r\n }\r\n\r\n // Animations\r\n if (parsedMesh.animations) {\r\n for (var animationIndex = 0; animationIndex < parsedMesh.animations.length; animationIndex++) {\r\n var parsedAnimation = parsedMesh.animations[animationIndex];\r\n const internalClass = _TypeStore.GetClass(\"BABYLON.Animation\");\r\n if (internalClass) {\r\n mesh.animations.push(internalClass.Parse(parsedAnimation));\r\n }\r\n }\r\n Node.ParseAnimationRanges(mesh, parsedMesh, scene);\r\n }\r\n\r\n if (parsedMesh.autoAnimate) {\r\n scene.beginAnimation(mesh, parsedMesh.autoAnimateFrom, parsedMesh.autoAnimateTo, parsedMesh.autoAnimateLoop, parsedMesh.autoAnimateSpeed || 1.0);\r\n }\r\n\r\n // Layer Mask\r\n if (parsedMesh.layerMask && (!isNaN(parsedMesh.layerMask))) {\r\n mesh.layerMask = Math.abs(parseInt(parsedMesh.layerMask));\r\n } else {\r\n mesh.layerMask = 0x0FFFFFFF;\r\n }\r\n\r\n // Physics\r\n if (parsedMesh.physicsImpostor) {\r\n Mesh._PhysicsImpostorParser(scene, mesh, parsedMesh);\r\n }\r\n\r\n // Levels\r\n if (parsedMesh.lodMeshIds) {\r\n mesh._waitingData.lods = {\r\n ids: parsedMesh.lodMeshIds,\r\n distances: (parsedMesh.lodDistances) ? parsedMesh.lodDistances : null,\r\n coverages: (parsedMesh.lodCoverages) ? parsedMesh.lodCoverages : null\r\n };\r\n }\r\n\r\n // Instances\r\n if (parsedMesh.instances) {\r\n for (var index = 0; index < parsedMesh.instances.length; index++) {\r\n var parsedInstance = parsedMesh.instances[index];\r\n var instance = mesh.createInstance(parsedInstance.name);\r\n\r\n if (parsedInstance.id) {\r\n instance.id = parsedInstance.id;\r\n }\r\n\r\n if (Tags) {\r\n if (parsedInstance.tags) {\r\n Tags.AddTagsTo(instance, parsedInstance.tags);\r\n } else {\r\n Tags.AddTagsTo(instance, parsedMesh.tags);\r\n }\r\n }\r\n\r\n instance.position = Vector3.FromArray(parsedInstance.position);\r\n\r\n if (parsedInstance.metadata !== undefined) {\r\n instance.metadata = parsedInstance.metadata;\r\n }\r\n\r\n if (parsedInstance.parentId) {\r\n instance._waitingParentId = parsedInstance.parentId;\r\n }\r\n\r\n if (parsedInstance.isEnabled !== undefined && parsedInstance.isEnabled !== null) {\r\n instance.setEnabled(parsedInstance.isEnabled);\r\n }\r\n\r\n if (parsedInstance.isVisible !== undefined && parsedInstance.isVisible !== null) {\r\n instance.isVisible = parsedInstance.isVisible;\r\n }\r\n\r\n if (parsedInstance.isPickable !== undefined && parsedInstance.isPickable !== null) {\r\n instance.isPickable = parsedInstance.isPickable;\r\n }\r\n\r\n if (parsedInstance.rotationQuaternion) {\r\n instance.rotationQuaternion = Quaternion.FromArray(parsedInstance.rotationQuaternion);\r\n } else if (parsedInstance.rotation) {\r\n instance.rotation = Vector3.FromArray(parsedInstance.rotation);\r\n }\r\n\r\n instance.scaling = Vector3.FromArray(parsedInstance.scaling);\r\n\r\n if (parsedInstance.checkCollisions != undefined && parsedInstance.checkCollisions != null) {\r\n instance.checkCollisions = parsedInstance.checkCollisions;\r\n }\r\n if (parsedInstance.pickable != undefined && parsedInstance.pickable != null) {\r\n instance.isPickable = parsedInstance.pickable;\r\n }\r\n if (parsedInstance.showBoundingBox != undefined && parsedInstance.showBoundingBox != null) {\r\n instance.showBoundingBox = parsedInstance.showBoundingBox;\r\n }\r\n if (parsedInstance.showSubMeshesBoundingBox != undefined && parsedInstance.showSubMeshesBoundingBox != null) {\r\n instance.showSubMeshesBoundingBox = parsedInstance.showSubMeshesBoundingBox;\r\n }\r\n if (parsedInstance.alphaIndex != undefined && parsedInstance.showSubMeshesBoundingBox != null) {\r\n instance.alphaIndex = parsedInstance.alphaIndex;\r\n }\r\n\r\n // Physics\r\n if (parsedInstance.physicsImpostor) {\r\n Mesh._PhysicsImpostorParser(scene, instance, parsedInstance);\r\n }\r\n\r\n // Animation\r\n if (parsedInstance.animations) {\r\n for (animationIndex = 0; animationIndex < parsedInstance.animations.length; animationIndex++) {\r\n parsedAnimation = parsedInstance.animations[animationIndex];\r\n const internalClass = _TypeStore.GetClass(\"BABYLON.Animation\");\r\n if (internalClass) {\r\n instance.animations.push(internalClass.Parse(parsedAnimation));\r\n }\r\n }\r\n Node.ParseAnimationRanges(instance, parsedInstance, scene);\r\n\r\n if (parsedInstance.autoAnimate) {\r\n scene.beginAnimation(instance, parsedInstance.autoAnimateFrom, parsedInstance.autoAnimateTo, parsedInstance.autoAnimateLoop, parsedInstance.autoAnimateSpeed || 1.0);\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Thin instances\r\n if (parsedMesh.thinInstances) {\r\n const thinInstances = parsedMesh.thinInstances;\r\n\r\n if (thinInstances.matrixData) {\r\n mesh.thinInstanceSetBuffer(\"matrix\", new Float32Array(thinInstances.matrixData), 16, false);\r\n\r\n mesh._thinInstanceDataStorage.matrixBufferSize = thinInstances.matrixBufferSize;\r\n mesh._thinInstanceDataStorage.instancesCount = thinInstances.instancesCount;\r\n } else {\r\n mesh._thinInstanceDataStorage.matrixBufferSize = thinInstances.matrixBufferSize;\r\n }\r\n\r\n if (parsedMesh.thinInstances.userThinInstance) {\r\n const userThinInstance = parsedMesh.thinInstances.userThinInstance;\r\n\r\n for (const kind in userThinInstance.data) {\r\n mesh.thinInstanceSetBuffer(kind, new Float32Array(userThinInstance.data[kind]), userThinInstance.strides[kind], false);\r\n mesh._userThinInstanceBuffersStorage.sizes[kind] = userThinInstance.sizes[kind];\r\n }\r\n }\r\n }\r\n\r\n return mesh;\r\n }\r\n\r\n /**\r\n * Creates a ribbon mesh. Please consider using the same method from the MeshBuilder class instead\r\n * @see https://doc.babylonjs.com/how_to/parametric_shapes\r\n * @param name defines the name of the mesh to create\r\n * @param pathArray is a required array of paths, what are each an array of successive Vector3. The pathArray parameter depicts the ribbon geometry.\r\n * @param closeArray creates a seam between the first and the last paths of the path array (default is false)\r\n * @param closePath creates a seam between the first and the last points of each path of the path array\r\n * @param offset is taken in account only if the `pathArray` is containing a single path\r\n * @param scene defines the hosting scene\r\n * @param updatable defines if the mesh must be flagged as updatable\r\n * @param sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation)\r\n * @param instance defines an instance of an existing Ribbon object to be updated with the passed `pathArray` parameter (https://doc.babylonjs.com/how_to/How_to_dynamically_morph_a_mesh#ribbon)\r\n * @returns a new Mesh\r\n */\r\n public static CreateRibbon(name: string, pathArray: Vector3[][], closeArray: boolean, closePath: boolean, offset: number, scene?: Scene, updatable?: boolean, sideOrientation?: number, instance?: Mesh): Mesh {\r\n throw _DevTools.WarnImport(\"MeshBuilder\");\r\n }\r\n\r\n /**\r\n * Creates a plane polygonal mesh. By default, this is a disc. Please consider using the same method from the MeshBuilder class instead\r\n * @param name defines the name of the mesh to create\r\n * @param radius sets the radius size (float) of the polygon (default 0.5)\r\n * @param tessellation sets the number of polygon sides (positive integer, default 64). So a tessellation valued to 3 will build a triangle, to 4 a square, etc\r\n * @param scene defines the hosting scene\r\n * @param updatable defines if the mesh must be flagged as updatable\r\n * @param sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation)\r\n * @returns a new Mesh\r\n */\r\n public static CreateDisc(name: string, radius: number, tessellation: number, scene: Nullable = null, updatable?: boolean, sideOrientation?: number): Mesh {\r\n throw _DevTools.WarnImport(\"MeshBuilder\");\r\n }\r\n\r\n /**\r\n * Creates a box mesh. Please consider using the same method from the MeshBuilder class instead\r\n * @param name defines the name of the mesh to create\r\n * @param size sets the size (float) of each box side (default 1)\r\n * @param scene defines the hosting scene\r\n * @param updatable defines if the mesh must be flagged as updatable\r\n * @param sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation)\r\n * @returns a new Mesh\r\n */\r\n public static CreateBox(name: string, size: number, scene: Nullable = null, updatable?: boolean, sideOrientation?: number): Mesh {\r\n throw _DevTools.WarnImport(\"MeshBuilder\");\r\n }\r\n\r\n /**\r\n * Creates a sphere mesh. Please consider using the same method from the MeshBuilder class instead\r\n * @param name defines the name of the mesh to create\r\n * @param segments sets the sphere number of horizontal stripes (positive integer, default 32)\r\n * @param diameter sets the diameter size (float) of the sphere (default 1)\r\n * @param scene defines the hosting scene\r\n * @param updatable defines if the mesh must be flagged as updatable\r\n * @param sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation)\r\n * @returns a new Mesh\r\n */\r\n public static CreateSphere(name: string, segments: number, diameter: number, scene?: Scene, updatable?: boolean, sideOrientation?: number): Mesh {\r\n throw _DevTools.WarnImport(\"MeshBuilder\");\r\n }\r\n\r\n /**\r\n * Creates a hemisphere mesh. Please consider using the same method from the MeshBuilder class instead\r\n * @param name defines the name of the mesh to create\r\n * @param segments sets the sphere number of horizontal stripes (positive integer, default 32)\r\n * @param diameter sets the diameter size (float) of the sphere (default 1)\r\n * @param scene defines the hosting scene\r\n * @returns a new Mesh\r\n */\r\n public static CreateHemisphere(name: string, segments: number, diameter: number, scene?: Scene): Mesh {\r\n throw _DevTools.WarnImport(\"MeshBuilder\");\r\n }\r\n\r\n /**\r\n * Creates a cylinder or a cone mesh. Please consider using the same method from the MeshBuilder class instead\r\n * @param name defines the name of the mesh to create\r\n * @param height sets the height size (float) of the cylinder/cone (float, default 2)\r\n * @param diameterTop set the top cap diameter (floats, default 1)\r\n * @param diameterBottom set the bottom cap diameter (floats, default 1). This value can't be zero\r\n * @param tessellation sets the number of cylinder sides (positive integer, default 24). Set it to 3 to get a prism for instance\r\n * @param subdivisions sets the number of rings along the cylinder height (positive integer, default 1)\r\n * @param scene defines the hosting scene\r\n * @param updatable defines if the mesh must be flagged as updatable\r\n * @param sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation)\r\n * @returns a new Mesh\r\n */\r\n public static CreateCylinder(name: string, height: number, diameterTop: number, diameterBottom: number, tessellation: number, subdivisions: any, scene?: Scene, updatable?: any, sideOrientation?: number): Mesh {\r\n throw _DevTools.WarnImport(\"MeshBuilder\");\r\n }\r\n\r\n // Torus (Code from SharpDX.org)\r\n /**\r\n * Creates a torus mesh. Please consider using the same method from the MeshBuilder class instead\r\n * @param name defines the name of the mesh to create\r\n * @param diameter sets the diameter size (float) of the torus (default 1)\r\n * @param thickness sets the diameter size of the tube of the torus (float, default 0.5)\r\n * @param tessellation sets the number of torus sides (postive integer, default 16)\r\n * @param scene defines the hosting scene\r\n * @param updatable defines if the mesh must be flagged as updatable\r\n * @param sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation)\r\n * @returns a new Mesh\r\n */\r\n public static CreateTorus(name: string, diameter: number, thickness: number, tessellation: number, scene?: Scene, updatable?: boolean, sideOrientation?: number): Mesh {\r\n throw _DevTools.WarnImport(\"MeshBuilder\");\r\n }\r\n\r\n /**\r\n * Creates a torus knot mesh. Please consider using the same method from the MeshBuilder class instead\r\n * @param name defines the name of the mesh to create\r\n * @param radius sets the global radius size (float) of the torus knot (default 2)\r\n * @param tube sets the diameter size of the tube of the torus (float, default 0.5)\r\n * @param radialSegments sets the number of sides on each tube segments (positive integer, default 32)\r\n * @param tubularSegments sets the number of tubes to decompose the knot into (positive integer, default 32)\r\n * @param p the number of windings on X axis (positive integers, default 2)\r\n * @param q the number of windings on Y axis (positive integers, default 3)\r\n * @param scene defines the hosting scene\r\n * @param updatable defines if the mesh must be flagged as updatable\r\n * @param sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation)\r\n * @returns a new Mesh\r\n */\r\n public static CreateTorusKnot(name: string, radius: number, tube: number, radialSegments: number, tubularSegments: number, p: number, q: number, scene?: Scene, updatable?: boolean, sideOrientation?: number): Mesh {\r\n throw _DevTools.WarnImport(\"MeshBuilder\");\r\n }\r\n\r\n /**\r\n * Creates a line mesh. Please consider using the same method from the MeshBuilder class instead.\r\n * @param name defines the name of the mesh to create\r\n * @param points is an array successive Vector3\r\n * @param scene defines the hosting scene\r\n * @param updatable defines if the mesh must be flagged as updatable\r\n * @param instance is an instance of an existing LineMesh object to be updated with the passed `points` parameter (https://doc.babylonjs.com/how_to/How_to_dynamically_morph_a_mesh#lines-and-dashedlines).\r\n * @returns a new Mesh\r\n */\r\n public static CreateLines(name: string, points: Vector3[], scene: Nullable = null, updatable: boolean = false, instance: Nullable = null): LinesMesh {\r\n throw _DevTools.WarnImport(\"MeshBuilder\");\r\n }\r\n\r\n /**\r\n * Creates a dashed line mesh. Please consider using the same method from the MeshBuilder class instead\r\n * @param name defines the name of the mesh to create\r\n * @param points is an array successive Vector3\r\n * @param dashSize is the size of the dashes relatively the dash number (positive float, default 3)\r\n * @param gapSize is the size of the gap between two successive dashes relatively the dash number (positive float, default 1)\r\n * @param dashNb is the intended total number of dashes (positive integer, default 200)\r\n * @param scene defines the hosting scene\r\n * @param updatable defines if the mesh must be flagged as updatable\r\n * @param instance is an instance of an existing LineMesh object to be updated with the passed `points` parameter (https://doc.babylonjs.com/how_to/How_to_dynamically_morph_a_mesh#lines-and-dashedlines)\r\n * @returns a new Mesh\r\n */\r\n public static CreateDashedLines(name: string, points: Vector3[], dashSize: number, gapSize: number, dashNb: number, scene: Nullable = null, updatable?: boolean, instance?: LinesMesh): LinesMesh {\r\n throw _DevTools.WarnImport(\"MeshBuilder\");\r\n }\r\n\r\n /**\r\n * Creates a polygon mesh.Please consider using the same method from the MeshBuilder class instead\r\n * The polygon's shape will depend on the input parameters and is constructed parallel to a ground mesh.\r\n * The parameter `shape` is a required array of successive Vector3 representing the corners of the polygon in th XoZ plane, that is y = 0 for all vectors.\r\n * You can set the mesh side orientation with the values : Mesh.FRONTSIDE (default), Mesh.BACKSIDE or Mesh.DOUBLESIDE\r\n * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created.\r\n * Remember you can only change the shape positions, not their number when updating a polygon.\r\n * @see https://doc.babylonjs.com/how_to/parametric_shapes#non-regular-polygon\r\n * @param name defines the name of the mesh to create\r\n * @param shape is a required array of successive Vector3 representing the corners of the polygon in th XoZ plane, that is y = 0 for all vectors\r\n * @param scene defines the hosting scene\r\n * @param holes is a required array of arrays of successive Vector3 used to defines holes in the polygon\r\n * @param updatable defines if the mesh must be flagged as updatable\r\n * @param sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation)\r\n * @param earcutInjection can be used to inject your own earcut reference\r\n * @returns a new Mesh\r\n */\r\n public static CreatePolygon(name: string, shape: Vector3[], scene: Scene, holes?: Vector3[][], updatable?: boolean, sideOrientation?: number, earcutInjection = earcut): Mesh {\r\n throw _DevTools.WarnImport(\"MeshBuilder\");\r\n }\r\n\r\n /**\r\n * Creates an extruded polygon mesh, with depth in the Y direction. Please consider using the same method from the MeshBuilder class instead.\r\n * @see https://doc.babylonjs.com/how_to/parametric_shapes#extruded-non-regular-polygon\r\n * @param name defines the name of the mesh to create\r\n * @param shape is a required array of successive Vector3 representing the corners of the polygon in th XoZ plane, that is y = 0 for all vectors\r\n * @param depth defines the height of extrusion\r\n * @param scene defines the hosting scene\r\n * @param holes is a required array of arrays of successive Vector3 used to defines holes in the polygon\r\n * @param updatable defines if the mesh must be flagged as updatable\r\n * @param sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation)\r\n * @param earcutInjection can be used to inject your own earcut reference\r\n * @returns a new Mesh\r\n */\r\n public static ExtrudePolygon(name: string, shape: Vector3[], depth: number, scene: Scene, holes?: Vector3[][], updatable?: boolean, sideOrientation?: number, earcutInjection = earcut): Mesh {\r\n throw _DevTools.WarnImport(\"MeshBuilder\");\r\n }\r\n\r\n /**\r\n * Creates an extruded shape mesh.\r\n * The extrusion is a parametric shape. It has no predefined shape. Its final shape will depend on the input parameters. Please consider using the same method from the MeshBuilder class instead\r\n * @see https://doc.babylonjs.com/how_to/parametric_shapes\r\n * @see https://doc.babylonjs.com/how_to/parametric_shapes#extruded-shapes\r\n * @param name defines the name of the mesh to create\r\n * @param shape is a required array of successive Vector3. This array depicts the shape to be extruded in its local space : the shape must be designed in the xOy plane and will be extruded along the Z axis\r\n * @param path is a required array of successive Vector3. This is the axis curve the shape is extruded along\r\n * @param scale is the value to scale the shape\r\n * @param rotation is the angle value to rotate the shape each step (each path point), from the former step (so rotation added each step) along the curve\r\n * @param cap sets the way the extruded shape is capped. Possible values : Mesh.NO_CAP (default), Mesh.CAP_START, Mesh.CAP_END, Mesh.CAP_ALL\r\n * @param scene defines the hosting scene\r\n * @param updatable defines if the mesh must be flagged as updatable\r\n * @param sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation)\r\n * @param instance is an instance of an existing ExtrudedShape object to be updated with the passed `shape`, `path`, `scale` or `rotation` parameters (https://doc.babylonjs.com/how_to/How_to_dynamically_morph_a_mesh#extruded-shape)\r\n * @returns a new Mesh\r\n */\r\n public static ExtrudeShape(name: string, shape: Vector3[], path: Vector3[], scale: number, rotation: number, cap: number, scene: Nullable = null, updatable?: boolean, sideOrientation?: number, instance?: Mesh): Mesh {\r\n throw _DevTools.WarnImport(\"MeshBuilder\");\r\n }\r\n\r\n /**\r\n * Creates an custom extruded shape mesh.\r\n * The custom extrusion is a parametric shape.\r\n * It has no predefined shape. Its final shape will depend on the input parameters.\r\n * Please consider using the same method from the MeshBuilder class instead\r\n * @see https://doc.babylonjs.com/how_to/parametric_shapes#extruded-shapes\r\n * @param name defines the name of the mesh to create\r\n * @param shape is a required array of successive Vector3. This array depicts the shape to be extruded in its local space : the shape must be designed in the xOy plane and will be extruded along the Z axis\r\n * @param path is a required array of successive Vector3. This is the axis curve the shape is extruded along\r\n * @param scaleFunction is a custom Javascript function called on each path point\r\n * @param rotationFunction is a custom Javascript function called on each path point\r\n * @param ribbonCloseArray forces the extrusion underlying ribbon to close all the paths in its `pathArray`\r\n * @param ribbonClosePath forces the extrusion underlying ribbon to close its `pathArray`\r\n * @param cap sets the way the extruded shape is capped. Possible values : Mesh.NO_CAP (default), Mesh.CAP_START, Mesh.CAP_END, Mesh.CAP_ALL\r\n * @param scene defines the hosting scene\r\n * @param updatable defines if the mesh must be flagged as updatable\r\n * @param sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation)\r\n * @param instance is an instance of an existing ExtrudedShape object to be updated with the passed `shape`, `path`, `scale` or `rotation` parameters (https://doc.babylonjs.com/how_to/how_to_dynamically_morph_a_mesh#extruded-shape)\r\n * @returns a new Mesh\r\n */\r\n public static ExtrudeShapeCustom(name: string, shape: Vector3[], path: Vector3[], scaleFunction: Function, rotationFunction: Function, ribbonCloseArray: boolean, ribbonClosePath: boolean, cap: number, scene: Scene, updatable?: boolean, sideOrientation?: number, instance?: Mesh): Mesh {\r\n throw _DevTools.WarnImport(\"MeshBuilder\");\r\n }\r\n\r\n /**\r\n * Creates lathe mesh.\r\n * The lathe is a shape with a symetry axis : a 2D model shape is rotated around this axis to design the lathe.\r\n * Please consider using the same method from the MeshBuilder class instead\r\n * @param name defines the name of the mesh to create\r\n * @param shape is a required array of successive Vector3. This array depicts the shape to be rotated in its local space : the shape must be designed in the xOy plane and will be rotated around the Y axis. It's usually a 2D shape, so the Vector3 z coordinates are often set to zero\r\n * @param radius is the radius value of the lathe\r\n * @param tessellation is the side number of the lathe.\r\n * @param scene defines the hosting scene\r\n * @param updatable defines if the mesh must be flagged as updatable\r\n * @param sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation)\r\n * @returns a new Mesh\r\n */\r\n public static CreateLathe(name: string, shape: Vector3[], radius: number, tessellation: number, scene: Scene, updatable?: boolean, sideOrientation?: number): Mesh {\r\n throw _DevTools.WarnImport(\"MeshBuilder\");\r\n }\r\n\r\n /**\r\n * Creates a plane mesh. Please consider using the same method from the MeshBuilder class instead\r\n * @param name defines the name of the mesh to create\r\n * @param size sets the size (float) of both sides of the plane at once (default 1)\r\n * @param scene defines the hosting scene\r\n * @param updatable defines if the mesh must be flagged as updatable\r\n * @param sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation)\r\n * @returns a new Mesh\r\n */\r\n public static CreatePlane(name: string, size: number, scene: Scene, updatable?: boolean, sideOrientation?: number): Mesh {\r\n throw _DevTools.WarnImport(\"MeshBuilder\");\r\n }\r\n\r\n /**\r\n * Creates a ground mesh.\r\n * Please consider using the same method from the MeshBuilder class instead\r\n * @param name defines the name of the mesh to create\r\n * @param width set the width of the ground\r\n * @param height set the height of the ground\r\n * @param subdivisions sets the number of subdivisions per side\r\n * @param scene defines the hosting scene\r\n * @param updatable defines if the mesh must be flagged as updatable\r\n * @returns a new Mesh\r\n */\r\n public static CreateGround(name: string, width: number, height: number, subdivisions: number, scene?: Scene, updatable?: boolean): Mesh {\r\n throw _DevTools.WarnImport(\"MeshBuilder\");\r\n }\r\n\r\n /**\r\n * Creates a tiled ground mesh.\r\n * Please consider using the same method from the MeshBuilder class instead\r\n * @param name defines the name of the mesh to create\r\n * @param xmin set the ground minimum X coordinate\r\n * @param zmin set the ground minimum Y coordinate\r\n * @param xmax set the ground maximum X coordinate\r\n * @param zmax set the ground maximum Z coordinate\r\n * @param subdivisions is an object `{w: positive integer, h: positive integer}` (default `{w: 6, h: 6}`). `w` and `h` are the numbers of subdivisions on the ground width and height. Each subdivision is called a tile\r\n * @param precision is an object `{w: positive integer, h: positive integer}` (default `{w: 2, h: 2}`). `w` and `h` are the numbers of subdivisions on the ground width and height of each tile\r\n * @param scene defines the hosting scene\r\n * @param updatable defines if the mesh must be flagged as updatable\r\n * @returns a new Mesh\r\n */\r\n public static CreateTiledGround(name: string, xmin: number, zmin: number, xmax: number, zmax: number, subdivisions: { w: number; h: number; }, precision: { w: number; h: number; }, scene: Scene, updatable?: boolean): Mesh {\r\n throw _DevTools.WarnImport(\"MeshBuilder\");\r\n }\r\n\r\n /**\r\n * Creates a ground mesh from a height map.\r\n * Please consider using the same method from the MeshBuilder class instead\r\n * @see https://doc.babylonjs.com/babylon101/height_map\r\n * @param name defines the name of the mesh to create\r\n * @param url sets the URL of the height map image resource\r\n * @param width set the ground width size\r\n * @param height set the ground height size\r\n * @param subdivisions sets the number of subdivision per side\r\n * @param minHeight is the minimum altitude on the ground\r\n * @param maxHeight is the maximum altitude on the ground\r\n * @param scene defines the hosting scene\r\n * @param updatable defines if the mesh must be flagged as updatable\r\n * @param onReady is a callback function that will be called once the mesh is built (the height map download can last some time)\r\n * @param alphaFilter will filter any data where the alpha channel is below this value, defaults 0 (all data visible)\r\n * @returns a new Mesh\r\n */\r\n public static CreateGroundFromHeightMap(name: string, url: string, width: number, height: number, subdivisions: number, minHeight: number, maxHeight: number, scene: Scene, updatable?: boolean, onReady?: (mesh: GroundMesh) => void, alphaFilter?: number): GroundMesh {\r\n throw _DevTools.WarnImport(\"MeshBuilder\");\r\n }\r\n\r\n /**\r\n * Creates a tube mesh.\r\n * The tube is a parametric shape.\r\n * It has no predefined shape. Its final shape will depend on the input parameters.\r\n * Please consider using the same method from the MeshBuilder class instead\r\n * @see https://doc.babylonjs.com/how_to/parametric_shapes\r\n * @param name defines the name of the mesh to create\r\n * @param path is a required array of successive Vector3. It is the curve used as the axis of the tube\r\n * @param radius sets the tube radius size\r\n * @param tessellation is the number of sides on the tubular surface\r\n * @param radiusFunction is a custom function. If it is not null, it overwrittes the parameter `radius`. This function is called on each point of the tube path and is passed the index `i` of the i-th point and the distance of this point from the first point of the path\r\n * @param cap sets the way the extruded shape is capped. Possible values : Mesh.NO_CAP (default), Mesh.CAP_START, Mesh.CAP_END, Mesh.CAP_ALL\r\n * @param scene defines the hosting scene\r\n * @param updatable defines if the mesh must be flagged as updatable\r\n * @param sideOrientation defines the mesh side orientation (https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation)\r\n * @param instance is an instance of an existing Tube object to be updated with the passed `pathArray` parameter (https://doc.babylonjs.com/how_to/How_to_dynamically_morph_a_mesh#tube)\r\n * @returns a new Mesh\r\n */\r\n public static CreateTube(name: string, path: Vector3[], radius: number, tessellation: number, radiusFunction: { (i: number, distance: number): number; }, cap: number, scene: Scene, updatable?: boolean, sideOrientation?: number, instance?: Mesh): Mesh {\r\n throw _DevTools.WarnImport(\"MeshBuilder\");\r\n }\r\n\r\n /**\r\n * Creates a polyhedron mesh.\r\n * Please consider using the same method from the MeshBuilder class instead.\r\n * * The parameter `type` (positive integer, max 14, default 0) sets the polyhedron type to build among the 15 embbeded types. Please refer to the type sheet in the tutorial to choose the wanted type\r\n * * The parameter `size` (positive float, default 1) sets the polygon size\r\n * * You can overwrite the `size` on each dimension bu using the parameters `sizeX`, `sizeY` or `sizeZ` (positive floats, default to `size` value)\r\n * * You can build other polyhedron types than the 15 embbeded ones by setting the parameter `custom` (`polyhedronObject`, default null). If you set the parameter `custom`, this overwrittes the parameter `type`\r\n * * A `polyhedronObject` is a formatted javascript object. You'll find a full file with pre-set polyhedra here : https://github.com/BabylonJS/Extensions/tree/master/Polyhedron\r\n * * You can set the color and the UV of each side of the polyhedron with the parameters `faceColors` (Color4, default `(1, 1, 1, 1)`) and faceUV (Vector4, default `(0, 0, 1, 1)`)\r\n * * To understand how to set `faceUV` or `faceColors`, please read this by considering the right number of faces of your polyhedron, instead of only 6 for the box : https://doc.babylonjs.com/how_to/createbox_per_face_textures_and_colors\r\n * * The parameter `flat` (boolean, default true). If set to false, it gives the polyhedron a single global face, so less vertices and shared normals. In this case, `faceColors` and `faceUV` are ignored\r\n * * You can also set the mesh side orientation with the values : Mesh.FRONTSIDE (default), Mesh.BACKSIDE or Mesh.DOUBLESIDE\r\n * * If you create a double-sided mesh, you can choose what parts of the texture image to crop and stick respectively on the front and the back sides with the parameters `frontUVs` and `backUVs` (Vector4). Detail here : https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation\r\n * * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created\r\n * @param name defines the name of the mesh to create\r\n * @param options defines the options used to create the mesh\r\n * @param scene defines the hosting scene\r\n * @returns a new Mesh\r\n */\r\n public static CreatePolyhedron(name: string, options: { type?: number, size?: number, sizeX?: number, sizeY?: number, sizeZ?: number, custom?: any, faceUV?: Vector4[], faceColors?: Color4[], updatable?: boolean, sideOrientation?: number }, scene: Scene): Mesh {\r\n throw _DevTools.WarnImport(\"MeshBuilder\");\r\n }\r\n\r\n /**\r\n * Creates a sphere based upon an icosahedron with 20 triangular faces which can be subdivided\r\n * * The parameter `radius` sets the radius size (float) of the icosphere (default 1)\r\n * * You can set some different icosphere dimensions, for instance to build an ellipsoid, by using the parameters `radiusX`, `radiusY` and `radiusZ` (all by default have the same value than `radius`)\r\n * * The parameter `subdivisions` sets the number of subdivisions (postive integer, default 4). The more subdivisions, the more faces on the icosphere whatever its size\r\n * * The parameter `flat` (boolean, default true) gives each side its own normals. Set it to false to get a smooth continuous light reflection on the surface\r\n * * You can also set the mesh side orientation with the values : Mesh.FRONTSIDE (default), Mesh.BACKSIDE or Mesh.DOUBLESIDE\r\n * * If you create a double-sided mesh, you can choose what parts of the texture image to crop and stick respectively on the front and the back sides with the parameters `frontUVs` and `backUVs` (Vector4). Detail here : https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation\r\n * * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created\r\n * @param name defines the name of the mesh\r\n * @param options defines the options used to create the mesh\r\n * @param scene defines the hosting scene\r\n * @returns a new Mesh\r\n * @see https://doc.babylonjs.com/how_to/polyhedra_shapes#icosphere\r\n */\r\n public static CreateIcoSphere(name: string, options: { radius?: number, flat?: boolean, subdivisions?: number, sideOrientation?: number, updatable?: boolean }, scene: Scene): Mesh {\r\n throw _DevTools.WarnImport(\"MeshBuilder\");\r\n }\r\n\r\n /**\r\n * Creates a decal mesh.\r\n * Please consider using the same method from the MeshBuilder class instead.\r\n * A decal is a mesh usually applied as a model onto the surface of another mesh\r\n * @param name defines the name of the mesh\r\n * @param sourceMesh defines the mesh receiving the decal\r\n * @param position sets the position of the decal in world coordinates\r\n * @param normal sets the normal of the mesh where the decal is applied onto in world coordinates\r\n * @param size sets the decal scaling\r\n * @param angle sets the angle to rotate the decal\r\n * @returns a new Mesh\r\n */\r\n public static CreateDecal(name: string, sourceMesh: AbstractMesh, position: Vector3, normal: Vector3, size: Vector3, angle: number): Mesh {\r\n throw _DevTools.WarnImport(\"MeshBuilder\");\r\n }\r\n\r\n /** Creates a Capsule Mesh\r\n * @param name defines the name of the mesh.\r\n * @param options the constructors options used to shape the mesh.\r\n * @param scene defines the scene the mesh is scoped to.\r\n * @returns the capsule mesh\r\n * @see https://doc.babylonjs.com/how_to/capsule_shape\r\n */\r\n public static CreateCapsule(name: string, options: ICreateCapsuleOptions, scene: Scene): Mesh {\r\n throw _DevTools.WarnImport(\"MeshBuilder\");\r\n }\r\n // Skeletons\r\n\r\n /**\r\n * Prepare internal position array for software CPU skinning\r\n * @returns original positions used for CPU skinning. Useful for integrating Morphing with skeletons in same mesh\r\n */\r\n public setPositionsForCPUSkinning(): Float32Array {\r\n let internalDataInfo = this._internalMeshDataInfo;\r\n if (!internalDataInfo._sourcePositions) {\r\n let source = this.getVerticesData(VertexBuffer.PositionKind);\r\n if (!source) {\r\n return internalDataInfo._sourcePositions;\r\n }\r\n\r\n internalDataInfo._sourcePositions = new Float32Array(source);\r\n\r\n if (!this.isVertexBufferUpdatable(VertexBuffer.PositionKind)) {\r\n this.setVerticesData(VertexBuffer.PositionKind, source, true);\r\n }\r\n }\r\n return internalDataInfo._sourcePositions;\r\n }\r\n\r\n /**\r\n * Prepare internal normal array for software CPU skinning\r\n * @returns original normals used for CPU skinning. Useful for integrating Morphing with skeletons in same mesh.\r\n */\r\n public setNormalsForCPUSkinning(): Float32Array {\r\n let internalDataInfo = this._internalMeshDataInfo;\r\n\r\n if (!internalDataInfo._sourceNormals) {\r\n let source = this.getVerticesData(VertexBuffer.NormalKind);\r\n\r\n if (!source) {\r\n return internalDataInfo._sourceNormals;\r\n }\r\n\r\n internalDataInfo._sourceNormals = new Float32Array(source);\r\n\r\n if (!this.isVertexBufferUpdatable(VertexBuffer.NormalKind)) {\r\n this.setVerticesData(VertexBuffer.NormalKind, source, true);\r\n }\r\n }\r\n return internalDataInfo._sourceNormals;\r\n }\r\n\r\n /**\r\n * Updates the vertex buffer by applying transformation from the bones\r\n * @param skeleton defines the skeleton to apply to current mesh\r\n * @returns the current mesh\r\n */\r\n public applySkeleton(skeleton: Skeleton): Mesh {\r\n if (!this.geometry) {\r\n return this;\r\n }\r\n\r\n if (this.geometry._softwareSkinningFrameId == this.getScene().getFrameId()) {\r\n return this;\r\n }\r\n\r\n this.geometry._softwareSkinningFrameId = this.getScene().getFrameId();\r\n\r\n if (!this.isVerticesDataPresent(VertexBuffer.PositionKind)) {\r\n return this;\r\n }\r\n if (!this.isVerticesDataPresent(VertexBuffer.MatricesIndicesKind)) {\r\n return this;\r\n }\r\n if (!this.isVerticesDataPresent(VertexBuffer.MatricesWeightsKind)) {\r\n return this;\r\n }\r\n\r\n const hasNormals = this.isVerticesDataPresent(VertexBuffer.NormalKind);\r\n\r\n let internalDataInfo = this._internalMeshDataInfo;\r\n\r\n if (!internalDataInfo._sourcePositions) {\r\n var submeshes = this.subMeshes.slice();\r\n this.setPositionsForCPUSkinning();\r\n this.subMeshes = submeshes;\r\n }\r\n\r\n if (hasNormals && !internalDataInfo._sourceNormals) {\r\n this.setNormalsForCPUSkinning();\r\n }\r\n\r\n // positionsData checks for not being Float32Array will only pass at most once\r\n var positionsData = this.getVerticesData(VertexBuffer.PositionKind);\r\n\r\n if (!positionsData) {\r\n return this;\r\n }\r\n\r\n if (!(positionsData instanceof Float32Array)) {\r\n positionsData = new Float32Array(positionsData);\r\n }\r\n\r\n // normalsData checks for not being Float32Array will only pass at most once\r\n var normalsData = this.getVerticesData(VertexBuffer.NormalKind);\r\n\r\n if (hasNormals) {\r\n if (!normalsData) {\r\n return this;\r\n }\r\n\r\n if (!(normalsData instanceof Float32Array)) {\r\n normalsData = new Float32Array(normalsData);\r\n }\r\n }\r\n\r\n var matricesIndicesData = this.getVerticesData(VertexBuffer.MatricesIndicesKind);\r\n var matricesWeightsData = this.getVerticesData(VertexBuffer.MatricesWeightsKind);\r\n\r\n if (!matricesWeightsData || !matricesIndicesData) {\r\n return this;\r\n }\r\n\r\n var needExtras = this.numBoneInfluencers > 4;\r\n var matricesIndicesExtraData = needExtras ? this.getVerticesData(VertexBuffer.MatricesIndicesExtraKind) : null;\r\n var matricesWeightsExtraData = needExtras ? this.getVerticesData(VertexBuffer.MatricesWeightsExtraKind) : null;\r\n\r\n var skeletonMatrices = skeleton.getTransformMatrices(this);\r\n\r\n var tempVector3 = Vector3.Zero();\r\n var finalMatrix = new Matrix();\r\n var tempMatrix = new Matrix();\r\n\r\n var matWeightIdx = 0;\r\n var inf: number;\r\n for (var index = 0; index < positionsData.length; index += 3, matWeightIdx += 4) {\r\n var weight: number;\r\n for (inf = 0; inf < 4; inf++) {\r\n weight = matricesWeightsData[matWeightIdx + inf];\r\n if (weight > 0) {\r\n Matrix.FromFloat32ArrayToRefScaled(skeletonMatrices, Math.floor(matricesIndicesData[matWeightIdx + inf] * 16), weight, tempMatrix);\r\n finalMatrix.addToSelf(tempMatrix);\r\n }\r\n }\r\n if (needExtras) {\r\n for (inf = 0; inf < 4; inf++) {\r\n weight = matricesWeightsExtraData![matWeightIdx + inf];\r\n if (weight > 0) {\r\n Matrix.FromFloat32ArrayToRefScaled(skeletonMatrices, Math.floor(matricesIndicesExtraData![matWeightIdx + inf] * 16), weight, tempMatrix);\r\n finalMatrix.addToSelf(tempMatrix);\r\n }\r\n }\r\n }\r\n\r\n Vector3.TransformCoordinatesFromFloatsToRef(internalDataInfo._sourcePositions[index], internalDataInfo._sourcePositions[index + 1], internalDataInfo._sourcePositions[index + 2], finalMatrix, tempVector3);\r\n tempVector3.toArray(positionsData, index);\r\n\r\n if (hasNormals) {\r\n Vector3.TransformNormalFromFloatsToRef(internalDataInfo._sourceNormals[index], internalDataInfo._sourceNormals[index + 1], internalDataInfo._sourceNormals[index + 2], finalMatrix, tempVector3);\r\n tempVector3.toArray(normalsData!, index);\r\n }\r\n\r\n finalMatrix.reset();\r\n }\r\n\r\n this.updateVerticesData(VertexBuffer.PositionKind, positionsData);\r\n if (hasNormals) {\r\n this.updateVerticesData(VertexBuffer.NormalKind, normalsData!);\r\n }\r\n\r\n return this;\r\n }\r\n\r\n // Tools\r\n\r\n /**\r\n * Returns an object containing a min and max Vector3 which are the minimum and maximum vectors of each mesh bounding box from the passed array, in the world coordinates\r\n * @param meshes defines the list of meshes to scan\r\n * @returns an object `{min:` Vector3`, max:` Vector3`}`\r\n */\r\n public static MinMax(meshes: AbstractMesh[]): { min: Vector3; max: Vector3 } {\r\n var minVector: Nullable = null;\r\n var maxVector: Nullable = null;\r\n\r\n meshes.forEach(function(mesh) {\r\n let boundingInfo = mesh.getBoundingInfo();\r\n\r\n let boundingBox = boundingInfo.boundingBox;\r\n if (!minVector || !maxVector) {\r\n minVector = boundingBox.minimumWorld;\r\n maxVector = boundingBox.maximumWorld;\r\n } else {\r\n minVector.minimizeInPlace(boundingBox.minimumWorld);\r\n maxVector.maximizeInPlace(boundingBox.maximumWorld);\r\n }\r\n });\r\n\r\n if (!minVector || !maxVector) {\r\n return {\r\n min: Vector3.Zero(),\r\n max: Vector3.Zero()\r\n };\r\n }\r\n\r\n return {\r\n min: minVector,\r\n max: maxVector\r\n };\r\n }\r\n\r\n /**\r\n * Returns the center of the `{min:` Vector3`, max:` Vector3`}` or the center of MinMax vector3 computed from a mesh array\r\n * @param meshesOrMinMaxVector could be an array of meshes or a `{min:` Vector3`, max:` Vector3`}` object\r\n * @returns a vector3\r\n */\r\n public static Center(meshesOrMinMaxVector: { min: Vector3; max: Vector3 } | AbstractMesh[]): Vector3 {\r\n var minMaxVector = (meshesOrMinMaxVector instanceof Array) ? Mesh.MinMax(meshesOrMinMaxVector) : meshesOrMinMaxVector;\r\n return Vector3.Center(minMaxVector.min, minMaxVector.max);\r\n }\r\n\r\n /**\r\n * Merge the array of meshes into a single mesh for performance reasons.\r\n * @param meshes defines he vertices source. They should all be of the same material. Entries can empty\r\n * @param disposeSource when true (default), dispose of the vertices from the source meshes\r\n * @param allow32BitsIndices when the sum of the vertices > 64k, this must be set to true\r\n * @param meshSubclass when set, vertices inserted into this Mesh. Meshes can then be merged into a Mesh sub-class.\r\n * @param subdivideWithSubMeshes when true (false default), subdivide mesh to his subMesh array with meshes source.\r\n * @param multiMultiMaterials when true (false default), subdivide mesh and accept multiple multi materials, ignores subdivideWithSubMeshes.\r\n * @returns a new mesh\r\n */\r\n public static MergeMeshes(meshes: Array, disposeSource = true, allow32BitsIndices?: boolean, meshSubclass?: Mesh, subdivideWithSubMeshes?: boolean, multiMultiMaterials?: boolean): Nullable {\r\n var index: number;\r\n if (!allow32BitsIndices) {\r\n var totalVertices = 0;\r\n\r\n // Counting vertices\r\n for (index = 0; index < meshes.length; index++) {\r\n if (meshes[index]) {\r\n totalVertices += meshes[index].getTotalVertices();\r\n\r\n if (totalVertices >= 65536) {\r\n Logger.Warn(\"Cannot merge meshes because resulting mesh will have more than 65536 vertices. Please use allow32BitsIndices = true to use 32 bits indices\");\r\n return null;\r\n }\r\n }\r\n }\r\n }\r\n if (multiMultiMaterials) {\r\n var newMultiMaterial: Nullable = null;\r\n var subIndex: number;\r\n var matIndex: number;\r\n subdivideWithSubMeshes = false;\r\n }\r\n var materialArray: Array = new Array();\r\n var materialIndexArray: Array = new Array();\r\n // Merge\r\n var vertexData: Nullable = null;\r\n var otherVertexData: VertexData;\r\n var indiceArray: Array = new Array();\r\n var source: Nullable = null;\r\n for (index = 0; index < meshes.length; index++) {\r\n if (meshes[index]) {\r\n var mesh = meshes[index];\r\n if (mesh.isAnInstance) {\r\n Logger.Warn(\"Cannot merge instance meshes.\");\r\n return null;\r\n }\r\n\r\n const wm = mesh.computeWorldMatrix(true);\r\n otherVertexData = VertexData.ExtractFromMesh(mesh, true, true);\r\n otherVertexData.transform(wm);\r\n\r\n if (vertexData) {\r\n vertexData.merge(otherVertexData, allow32BitsIndices);\r\n } else {\r\n vertexData = otherVertexData;\r\n source = mesh;\r\n }\r\n if (subdivideWithSubMeshes) {\r\n indiceArray.push(mesh.getTotalIndices());\r\n }\r\n if (multiMultiMaterials) {\r\n if (mesh.material) {\r\n var material = mesh.material;\r\n if (material instanceof MultiMaterial) {\r\n for (matIndex = 0; matIndex < material.subMaterials.length; matIndex++) {\r\n if (materialArray.indexOf(material.subMaterials[matIndex]) < 0) {\r\n materialArray.push(material.subMaterials[matIndex]);\r\n }\r\n }\r\n for (subIndex = 0; subIndex < mesh.subMeshes.length; subIndex++) {\r\n materialIndexArray.push(materialArray.indexOf(material.subMaterials[mesh.subMeshes[subIndex].materialIndex]));\r\n indiceArray.push(mesh.subMeshes[subIndex].indexCount);\r\n }\r\n } else {\r\n if (materialArray.indexOf(material) < 0) {\r\n materialArray.push(material);\r\n }\r\n for (subIndex = 0; subIndex < mesh.subMeshes.length; subIndex++) {\r\n materialIndexArray.push(materialArray.indexOf(material));\r\n indiceArray.push(mesh.subMeshes[subIndex].indexCount);\r\n }\r\n }\r\n } else {\r\n for (subIndex = 0; subIndex < mesh.subMeshes.length; subIndex++) {\r\n materialIndexArray.push(0);\r\n indiceArray.push(mesh.subMeshes[subIndex].indexCount);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n source = source;\r\n\r\n if (!meshSubclass) {\r\n meshSubclass = new Mesh(source.name + \"_merged\", source.getScene());\r\n }\r\n\r\n (vertexData).applyToMesh(meshSubclass);\r\n\r\n // Setting properties\r\n meshSubclass.checkCollisions = source.checkCollisions;\r\n meshSubclass.overrideMaterialSideOrientation = source.overrideMaterialSideOrientation;\r\n\r\n // Cleaning\r\n if (disposeSource) {\r\n for (index = 0; index < meshes.length; index++) {\r\n if (meshes[index]) {\r\n meshes[index].dispose();\r\n }\r\n }\r\n }\r\n\r\n // Subdivide\r\n if (subdivideWithSubMeshes || multiMultiMaterials) {\r\n\r\n //-- removal of global submesh\r\n meshSubclass.releaseSubMeshes();\r\n index = 0;\r\n var offset = 0;\r\n\r\n //-- apply subdivision according to index table\r\n while (index < indiceArray.length) {\r\n SubMesh.CreateFromIndices(0, offset, indiceArray[index], meshSubclass);\r\n offset += indiceArray[index];\r\n index++;\r\n }\r\n }\r\n\r\n if (multiMultiMaterials) {\r\n newMultiMaterial = new MultiMaterial(source.name + \"_merged\", source.getScene());\r\n newMultiMaterial.subMaterials = materialArray;\r\n for (subIndex = 0; subIndex < meshSubclass.subMeshes.length; subIndex++) {\r\n meshSubclass.subMeshes[subIndex].materialIndex = materialIndexArray[subIndex];\r\n }\r\n meshSubclass.material = newMultiMaterial;\r\n } else {\r\n meshSubclass.material = source.material;\r\n }\r\n\r\n return meshSubclass;\r\n }\r\n\r\n /** @hidden */\r\n public addInstance(instance: InstancedMesh) {\r\n instance._indexInSourceMeshInstanceArray = this.instances.length;\r\n this.instances.push(instance);\r\n }\r\n\r\n /** @hidden */\r\n public removeInstance(instance: InstancedMesh) {\r\n // Remove from mesh\r\n const index = instance._indexInSourceMeshInstanceArray;\r\n if (index != -1) {\r\n if (index !== this.instances.length - 1) {\r\n const last = this.instances[this.instances.length - 1];\r\n this.instances[index] = last;\r\n last._indexInSourceMeshInstanceArray = index;\r\n }\r\n\r\n instance._indexInSourceMeshInstanceArray = -1;\r\n this.instances.pop();\r\n }\r\n }\r\n}\r\n\r\n_TypeStore.RegisteredTypes[\"BABYLON.Mesh\"] = Mesh;\r\n","/**\r\n * Logger used througouht the application to allow configuration of\r\n * the log level required for the messages.\r\n */\r\nexport class Logger {\r\n /**\r\n * No log\r\n */\r\n public static readonly NoneLogLevel = 0;\r\n /**\r\n * Only message logs\r\n */\r\n public static readonly MessageLogLevel = 1;\r\n /**\r\n * Only warning logs\r\n */\r\n public static readonly WarningLogLevel = 2;\r\n /**\r\n * Only error logs\r\n */\r\n public static readonly ErrorLogLevel = 4;\r\n /**\r\n * All logs\r\n */\r\n public static readonly AllLogLevel = 7;\r\n\r\n private static _LogCache = \"\";\r\n\r\n /**\r\n * Gets a value indicating the number of loading errors\r\n * @ignorenaming\r\n */\r\n public static errorsCount = 0;\r\n\r\n /**\r\n * Callback called when a new log is added\r\n */\r\n public static OnNewCacheEntry: (entry: string) => void;\r\n\r\n private static _AddLogEntry(entry: string) {\r\n Logger._LogCache = entry + Logger._LogCache;\r\n\r\n if (Logger.OnNewCacheEntry) {\r\n Logger.OnNewCacheEntry(entry);\r\n }\r\n }\r\n\r\n private static _FormatMessage(message: string): string {\r\n var padStr = (i: number) => (i < 10) ? \"0\" + i : \"\" + i;\r\n\r\n var date = new Date();\r\n return \"[\" + padStr(date.getHours()) + \":\" + padStr(date.getMinutes()) + \":\" + padStr(date.getSeconds()) + \"]: \" + message;\r\n }\r\n\r\n private static _LogDisabled(message: string): void {\r\n // nothing to do\r\n }\r\n private static _LogEnabled(message: string): void {\r\n var formattedMessage = Logger._FormatMessage(message);\r\n console.log(\"BJS - \" + formattedMessage);\r\n\r\n var entry = \"
\" + formattedMessage + \"

\";\r\n Logger._AddLogEntry(entry);\r\n }\r\n\r\n private static _WarnDisabled(message: string): void {\r\n // nothing to do\r\n }\r\n private static _WarnEnabled(message: string): void {\r\n var formattedMessage = Logger._FormatMessage(message);\r\n console.warn(\"BJS - \" + formattedMessage);\r\n\r\n var entry = \"
\" + formattedMessage + \"

\";\r\n Logger._AddLogEntry(entry);\r\n }\r\n\r\n private static _ErrorDisabled(message: string): void {\r\n // nothing to do\r\n }\r\n private static _ErrorEnabled(message: string): void {\r\n Logger.errorsCount++;\r\n var formattedMessage = Logger._FormatMessage(message);\r\n console.error(\"BJS - \" + formattedMessage);\r\n\r\n var entry = \"
\" + formattedMessage + \"

\";\r\n Logger._AddLogEntry(entry);\r\n }\r\n\r\n /**\r\n * Log a message to the console\r\n */\r\n public static Log: (message: string) => void = Logger._LogEnabled;\r\n\r\n /**\r\n * Write a warning message to the console\r\n */\r\n public static Warn: (message: string) => void = Logger._WarnEnabled;\r\n\r\n /**\r\n * Write an error message to the console\r\n */\r\n public static Error: (message: string) => void = Logger._ErrorEnabled;\r\n\r\n /**\r\n * Gets current log cache (list of logs)\r\n */\r\n public static get LogCache(): string {\r\n return Logger._LogCache;\r\n }\r\n\r\n /**\r\n * Clears the log cache\r\n */\r\n public static ClearLogCache(): void {\r\n Logger._LogCache = \"\";\r\n Logger.errorsCount = 0;\r\n }\r\n\r\n /**\r\n * Sets the current log level (MessageLogLevel / WarningLogLevel / ErrorLogLevel)\r\n */\r\n public static set LogLevels(level: number) {\r\n if ((level & Logger.MessageLogLevel) === Logger.MessageLogLevel) {\r\n Logger.Log = Logger._LogEnabled;\r\n }\r\n else {\r\n Logger.Log = Logger._LogDisabled;\r\n }\r\n\r\n if ((level & Logger.WarningLogLevel) === Logger.WarningLogLevel) {\r\n Logger.Warn = Logger._WarnEnabled;\r\n }\r\n else {\r\n Logger.Warn = Logger._WarnDisabled;\r\n }\r\n\r\n if ((level & Logger.ErrorLogLevel) === Logger.ErrorLogLevel) {\r\n Logger.Error = Logger._ErrorEnabled;\r\n }\r\n else {\r\n Logger.Error = Logger._ErrorDisabled;\r\n }\r\n }\r\n}","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","import { DeepImmutable, FloatArray } from '../types';\r\nimport { Scalar } from './math.scalar';\r\nimport { ToLinearSpace, ToGammaSpace } from './math.constants';\r\nimport { ArrayTools } from '../Misc/arrayTools';\r\nimport { _TypeStore } from '../Misc/typeStore';\r\n\r\n/**\r\n * Class used to hold a RBG color\r\n */\r\nexport class Color3 {\r\n\r\n /**\r\n * Creates a new Color3 object from red, green, blue values, all between 0 and 1\r\n * @param r defines the red component (between 0 and 1, default is 0)\r\n * @param g defines the green component (between 0 and 1, default is 0)\r\n * @param b defines the blue component (between 0 and 1, default is 0)\r\n */\r\n constructor(\r\n /**\r\n * Defines the red component (between 0 and 1, default is 0)\r\n */\r\n public r: number = 0,\r\n /**\r\n * Defines the green component (between 0 and 1, default is 0)\r\n */\r\n public g: number = 0,\r\n /**\r\n * Defines the blue component (between 0 and 1, default is 0)\r\n */\r\n public b: number = 0) {\r\n }\r\n\r\n /**\r\n * Creates a string with the Color3 current values\r\n * @returns the string representation of the Color3 object\r\n */\r\n public toString(): string {\r\n return \"{R: \" + this.r + \" G:\" + this.g + \" B:\" + this.b + \"}\";\r\n }\r\n\r\n /**\r\n * Returns the string \"Color3\"\r\n * @returns \"Color3\"\r\n */\r\n public getClassName(): string {\r\n return \"Color3\";\r\n }\r\n\r\n /**\r\n * Compute the Color3 hash code\r\n * @returns an unique number that can be used to hash Color3 objects\r\n */\r\n public getHashCode(): number {\r\n let hash = (this.r * 255) | 0;\r\n hash = (hash * 397) ^ ((this.g * 255) | 0);\r\n hash = (hash * 397) ^ ((this.b * 255) | 0);\r\n return hash;\r\n }\r\n\r\n // Operators\r\n\r\n /**\r\n * Stores in the given array from the given starting index the red, green, blue values as successive elements\r\n * @param array defines the array where to store the r,g,b components\r\n * @param index defines an optional index in the target array to define where to start storing values\r\n * @returns the current Color3 object\r\n */\r\n public toArray(array: FloatArray, index: number = 0): Color3 {\r\n array[index] = this.r;\r\n array[index + 1] = this.g;\r\n array[index + 2] = this.b;\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Update the current color with values stored in an array from the starting index of the given array\r\n * @param array defines the source array\r\n * @param offset defines an offset in the source array\r\n * @returns the current Color3 object\r\n */\r\n public fromArray(array: DeepImmutable>, offset: number = 0): Color3 {\r\n Color3.FromArrayToRef(array, offset, this);\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns a new Color4 object from the current Color3 and the given alpha\r\n * @param alpha defines the alpha component on the new Color4 object (default is 1)\r\n * @returns a new Color4 object\r\n */\r\n public toColor4(alpha: number = 1): Color4 {\r\n return new Color4(this.r, this.g, this.b, alpha);\r\n }\r\n\r\n /**\r\n * Returns a new array populated with 3 numeric elements : red, green and blue values\r\n * @returns the new array\r\n */\r\n public asArray(): number[] {\r\n var result = new Array();\r\n this.toArray(result, 0);\r\n return result;\r\n }\r\n\r\n /**\r\n * Returns the luminance value\r\n * @returns a float value\r\n */\r\n public toLuminance(): number {\r\n return this.r * 0.3 + this.g * 0.59 + this.b * 0.11;\r\n }\r\n\r\n /**\r\n * Multiply each Color3 rgb values by the given Color3 rgb values in a new Color3 object\r\n * @param otherColor defines the second operand\r\n * @returns the new Color3 object\r\n */\r\n public multiply(otherColor: DeepImmutable): Color3 {\r\n return new Color3(this.r * otherColor.r, this.g * otherColor.g, this.b * otherColor.b);\r\n }\r\n\r\n /**\r\n * Multiply the rgb values of the Color3 and the given Color3 and stores the result in the object \"result\"\r\n * @param otherColor defines the second operand\r\n * @param result defines the Color3 object where to store the result\r\n * @returns the current Color3\r\n */\r\n public multiplyToRef(otherColor: DeepImmutable, result: Color3): Color3 {\r\n result.r = this.r * otherColor.r;\r\n result.g = this.g * otherColor.g;\r\n result.b = this.b * otherColor.b;\r\n return this;\r\n }\r\n\r\n /**\r\n * Determines equality between Color3 objects\r\n * @param otherColor defines the second operand\r\n * @returns true if the rgb values are equal to the given ones\r\n */\r\n public equals(otherColor: DeepImmutable): boolean {\r\n return otherColor && this.r === otherColor.r && this.g === otherColor.g && this.b === otherColor.b;\r\n }\r\n\r\n /**\r\n * Determines equality between the current Color3 object and a set of r,b,g values\r\n * @param r defines the red component to check\r\n * @param g defines the green component to check\r\n * @param b defines the blue component to check\r\n * @returns true if the rgb values are equal to the given ones\r\n */\r\n public equalsFloats(r: number, g: number, b: number): boolean {\r\n return this.r === r && this.g === g && this.b === b;\r\n }\r\n\r\n /**\r\n * Multiplies in place each rgb value by scale\r\n * @param scale defines the scaling factor\r\n * @returns the updated Color3\r\n */\r\n public scale(scale: number): Color3 {\r\n return new Color3(this.r * scale, this.g * scale, this.b * scale);\r\n }\r\n\r\n /**\r\n * Multiplies the rgb values by scale and stores the result into \"result\"\r\n * @param scale defines the scaling factor\r\n * @param result defines the Color3 object where to store the result\r\n * @returns the unmodified current Color3\r\n */\r\n public scaleToRef(scale: number, result: Color3): Color3 {\r\n result.r = this.r * scale;\r\n result.g = this.g * scale;\r\n result.b = this.b * scale;\r\n return this;\r\n }\r\n\r\n /**\r\n * Scale the current Color3 values by a factor and add the result to a given Color3\r\n * @param scale defines the scale factor\r\n * @param result defines color to store the result into\r\n * @returns the unmodified current Color3\r\n */\r\n public scaleAndAddToRef(scale: number, result: Color3): Color3 {\r\n result.r += this.r * scale;\r\n result.g += this.g * scale;\r\n result.b += this.b * scale;\r\n return this;\r\n }\r\n\r\n /**\r\n * Clamps the rgb values by the min and max values and stores the result into \"result\"\r\n * @param min defines minimum clamping value (default is 0)\r\n * @param max defines maximum clamping value (default is 1)\r\n * @param result defines color to store the result into\r\n * @returns the original Color3\r\n */\r\n public clampToRef(min: number = 0, max: number = 1, result: Color3): Color3 {\r\n result.r = Scalar.Clamp(this.r, min, max);\r\n result.g = Scalar.Clamp(this.g, min, max);\r\n result.b = Scalar.Clamp(this.b, min, max);\r\n return this;\r\n }\r\n\r\n /**\r\n * Creates a new Color3 set with the added values of the current Color3 and of the given one\r\n * @param otherColor defines the second operand\r\n * @returns the new Color3\r\n */\r\n public add(otherColor: DeepImmutable): Color3 {\r\n return new Color3(this.r + otherColor.r, this.g + otherColor.g, this.b + otherColor.b);\r\n }\r\n\r\n /**\r\n * Stores the result of the addition of the current Color3 and given one rgb values into \"result\"\r\n * @param otherColor defines the second operand\r\n * @param result defines Color3 object to store the result into\r\n * @returns the unmodified current Color3\r\n */\r\n public addToRef(otherColor: DeepImmutable, result: Color3): Color3 {\r\n result.r = this.r + otherColor.r;\r\n result.g = this.g + otherColor.g;\r\n result.b = this.b + otherColor.b;\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns a new Color3 set with the subtracted values of the given one from the current Color3\r\n * @param otherColor defines the second operand\r\n * @returns the new Color3\r\n */\r\n public subtract(otherColor: DeepImmutable): Color3 {\r\n return new Color3(this.r - otherColor.r, this.g - otherColor.g, this.b - otherColor.b);\r\n }\r\n\r\n /**\r\n * Stores the result of the subtraction of given one from the current Color3 rgb values into \"result\"\r\n * @param otherColor defines the second operand\r\n * @param result defines Color3 object to store the result into\r\n * @returns the unmodified current Color3\r\n */\r\n public subtractToRef(otherColor: DeepImmutable, result: Color3): Color3 {\r\n result.r = this.r - otherColor.r;\r\n result.g = this.g - otherColor.g;\r\n result.b = this.b - otherColor.b;\r\n return this;\r\n }\r\n\r\n /**\r\n * Copy the current object\r\n * @returns a new Color3 copied the current one\r\n */\r\n public clone(): Color3 {\r\n return new Color3(this.r, this.g, this.b);\r\n }\r\n\r\n /**\r\n * Copies the rgb values from the source in the current Color3\r\n * @param source defines the source Color3 object\r\n * @returns the updated Color3 object\r\n */\r\n public copyFrom(source: DeepImmutable): Color3 {\r\n this.r = source.r;\r\n this.g = source.g;\r\n this.b = source.b;\r\n return this;\r\n }\r\n\r\n /**\r\n * Updates the Color3 rgb values from the given floats\r\n * @param r defines the red component to read from\r\n * @param g defines the green component to read from\r\n * @param b defines the blue component to read from\r\n * @returns the current Color3 object\r\n */\r\n public copyFromFloats(r: number, g: number, b: number): Color3 {\r\n this.r = r;\r\n this.g = g;\r\n this.b = b;\r\n return this;\r\n }\r\n\r\n /**\r\n * Updates the Color3 rgb values from the given floats\r\n * @param r defines the red component to read from\r\n * @param g defines the green component to read from\r\n * @param b defines the blue component to read from\r\n * @returns the current Color3 object\r\n */\r\n public set(r: number, g: number, b: number): Color3 {\r\n return this.copyFromFloats(r, g, b);\r\n }\r\n\r\n /**\r\n * Compute the Color3 hexadecimal code as a string\r\n * @returns a string containing the hexadecimal representation of the Color3 object\r\n */\r\n public toHexString(): string {\r\n var intR = (this.r * 255) | 0;\r\n var intG = (this.g * 255) | 0;\r\n var intB = (this.b * 255) | 0;\r\n return \"#\" + Scalar.ToHex(intR) + Scalar.ToHex(intG) + Scalar.ToHex(intB);\r\n }\r\n\r\n /**\r\n * Computes a new Color3 converted from the current one to linear space\r\n * @returns a new Color3 object\r\n */\r\n public toLinearSpace(): Color3 {\r\n var convertedColor = new Color3();\r\n this.toLinearSpaceToRef(convertedColor);\r\n return convertedColor;\r\n }\r\n\r\n /**\r\n * Converts current color in rgb space to HSV values\r\n * @returns a new color3 representing the HSV values\r\n */\r\n public toHSV(): Color3 {\r\n let result = new Color3();\r\n\r\n this.toHSVToRef(result);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Converts current color in rgb space to HSV values\r\n * @param result defines the Color3 where to store the HSV values\r\n */\r\n public toHSVToRef(result: Color3) {\r\n var r = this.r;\r\n var g = this.g;\r\n var b = this.b;\r\n\r\n var max = Math.max(r, g, b);\r\n var min = Math.min(r, g, b);\r\n var h = 0;\r\n var s = 0;\r\n var v = max;\r\n\r\n var dm = max - min;\r\n\r\n if (max !== 0) {\r\n s = dm / max;\r\n }\r\n\r\n if (max != min) {\r\n if (max == r) {\r\n h = (g - b) / dm;\r\n if (g < b) {\r\n h += 6;\r\n }\r\n } else if (max == g) {\r\n h = (b - r) / dm + 2;\r\n } else if (max == b) {\r\n h = (r - g) / dm + 4;\r\n }\r\n h *= 60;\r\n }\r\n\r\n result.r = h;\r\n result.g = s;\r\n result.b = v;\r\n }\r\n\r\n /**\r\n * Converts the Color3 values to linear space and stores the result in \"convertedColor\"\r\n * @param convertedColor defines the Color3 object where to store the linear space version\r\n * @returns the unmodified Color3\r\n */\r\n public toLinearSpaceToRef(convertedColor: Color3): Color3 {\r\n convertedColor.r = Math.pow(this.r, ToLinearSpace);\r\n convertedColor.g = Math.pow(this.g, ToLinearSpace);\r\n convertedColor.b = Math.pow(this.b, ToLinearSpace);\r\n return this;\r\n }\r\n\r\n /**\r\n * Computes a new Color3 converted from the current one to gamma space\r\n * @returns a new Color3 object\r\n */\r\n public toGammaSpace(): Color3 {\r\n var convertedColor = new Color3();\r\n this.toGammaSpaceToRef(convertedColor);\r\n return convertedColor;\r\n }\r\n\r\n /**\r\n * Converts the Color3 values to gamma space and stores the result in \"convertedColor\"\r\n * @param convertedColor defines the Color3 object where to store the gamma space version\r\n * @returns the unmodified Color3\r\n */\r\n public toGammaSpaceToRef(convertedColor: Color3): Color3 {\r\n convertedColor.r = Math.pow(this.r, ToGammaSpace);\r\n convertedColor.g = Math.pow(this.g, ToGammaSpace);\r\n convertedColor.b = Math.pow(this.b, ToGammaSpace);\r\n return this;\r\n }\r\n\r\n // Statics\r\n\r\n private static _BlackReadOnly = Color3.Black() as DeepImmutable;\r\n\r\n /**\r\n * Convert Hue, saturation and value to a Color3 (RGB)\r\n * @param hue defines the hue\r\n * @param saturation defines the saturation\r\n * @param value defines the value\r\n * @param result defines the Color3 where to store the RGB values\r\n */\r\n public static HSVtoRGBToRef(hue: number, saturation: number, value: number, result: Color3) {\r\n var chroma = value * saturation;\r\n var h = hue / 60;\r\n var x = chroma * (1 - Math.abs((h % 2) - 1));\r\n var r = 0;\r\n var g = 0;\r\n var b = 0;\r\n\r\n if (h >= 0 && h <= 1) {\r\n r = chroma;\r\n g = x;\r\n } else if (h >= 1 && h <= 2) {\r\n r = x;\r\n g = chroma;\r\n } else if (h >= 2 && h <= 3) {\r\n g = chroma;\r\n b = x;\r\n } else if (h >= 3 && h <= 4) {\r\n g = x;\r\n b = chroma;\r\n } else if (h >= 4 && h <= 5) {\r\n r = x;\r\n b = chroma;\r\n } else if (h >= 5 && h <= 6) {\r\n r = chroma;\r\n b = x;\r\n }\r\n\r\n var m = value - chroma;\r\n result.set((r + m), (g + m), (b + m));\r\n }\r\n\r\n /**\r\n * Creates a new Color3 from the string containing valid hexadecimal values\r\n * @param hex defines a string containing valid hexadecimal values\r\n * @returns a new Color3 object\r\n */\r\n public static FromHexString(hex: string): Color3 {\r\n if (hex.substring(0, 1) !== \"#\" || hex.length !== 7) {\r\n return new Color3(0, 0, 0);\r\n }\r\n\r\n var r = parseInt(hex.substring(1, 3), 16);\r\n var g = parseInt(hex.substring(3, 5), 16);\r\n var b = parseInt(hex.substring(5, 7), 16);\r\n\r\n return Color3.FromInts(r, g, b);\r\n }\r\n\r\n /**\r\n * Creates a new Color3 from the starting index of the given array\r\n * @param array defines the source array\r\n * @param offset defines an offset in the source array\r\n * @returns a new Color3 object\r\n */\r\n public static FromArray(array: DeepImmutable>, offset: number = 0): Color3 {\r\n return new Color3(array[offset], array[offset + 1], array[offset + 2]);\r\n }\r\n\r\n /**\r\n * Creates a new Color3 from the starting index element of the given array\r\n * @param array defines the source array to read from\r\n * @param offset defines the offset in the source array\r\n * @param result defines the target Color3 object\r\n */\r\n public static FromArrayToRef(array: DeepImmutable>, offset: number = 0, result: Color3) {\r\n result.r = array[offset];\r\n result.g = array[offset + 1];\r\n result.b = array[offset + 2];\r\n }\r\n\r\n /**\r\n * Creates a new Color3 from integer values (< 256)\r\n * @param r defines the red component to read from (value between 0 and 255)\r\n * @param g defines the green component to read from (value between 0 and 255)\r\n * @param b defines the blue component to read from (value between 0 and 255)\r\n * @returns a new Color3 object\r\n */\r\n public static FromInts(r: number, g: number, b: number): Color3 {\r\n return new Color3(r / 255.0, g / 255.0, b / 255.0);\r\n }\r\n\r\n /**\r\n * Creates a new Color3 with values linearly interpolated of \"amount\" between the start Color3 and the end Color3\r\n * @param start defines the start Color3 value\r\n * @param end defines the end Color3 value\r\n * @param amount defines the gradient value between start and end\r\n * @returns a new Color3 object\r\n */\r\n public static Lerp(start: DeepImmutable, end: DeepImmutable, amount: number): Color3 {\r\n var result = new Color3(0.0, 0.0, 0.0);\r\n Color3.LerpToRef(start, end, amount, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Creates a new Color3 with values linearly interpolated of \"amount\" between the start Color3 and the end Color3\r\n * @param left defines the start value\r\n * @param right defines the end value\r\n * @param amount defines the gradient factor\r\n * @param result defines the Color3 object where to store the result\r\n */\r\n public static LerpToRef(left: DeepImmutable, right: DeepImmutable, amount: number, result: Color3): void {\r\n result.r = left.r + ((right.r - left.r) * amount);\r\n result.g = left.g + ((right.g - left.g) * amount);\r\n result.b = left.b + ((right.b - left.b) * amount);\r\n }\r\n\r\n /**\r\n * Returns a Color3 value containing a red color\r\n * @returns a new Color3 object\r\n */\r\n public static Red(): Color3 { return new Color3(1, 0, 0); }\r\n /**\r\n * Returns a Color3 value containing a green color\r\n * @returns a new Color3 object\r\n */\r\n public static Green(): Color3 { return new Color3(0, 1, 0); }\r\n /**\r\n * Returns a Color3 value containing a blue color\r\n * @returns a new Color3 object\r\n */\r\n public static Blue(): Color3 { return new Color3(0, 0, 1); }\r\n /**\r\n * Returns a Color3 value containing a black color\r\n * @returns a new Color3 object\r\n */\r\n public static Black(): Color3 { return new Color3(0, 0, 0); }\r\n\r\n /**\r\n * Gets a Color3 value containing a black color that must not be updated\r\n */\r\n public static get BlackReadOnly(): DeepImmutable {\r\n return Color3._BlackReadOnly;\r\n }\r\n\r\n /**\r\n * Returns a Color3 value containing a white color\r\n * @returns a new Color3 object\r\n */\r\n public static White(): Color3 { return new Color3(1, 1, 1); }\r\n /**\r\n * Returns a Color3 value containing a purple color\r\n * @returns a new Color3 object\r\n */\r\n public static Purple(): Color3 { return new Color3(0.5, 0, 0.5); }\r\n /**\r\n * Returns a Color3 value containing a magenta color\r\n * @returns a new Color3 object\r\n */\r\n public static Magenta(): Color3 { return new Color3(1, 0, 1); }\r\n /**\r\n * Returns a Color3 value containing a yellow color\r\n * @returns a new Color3 object\r\n */\r\n public static Yellow(): Color3 { return new Color3(1, 1, 0); }\r\n /**\r\n * Returns a Color3 value containing a gray color\r\n * @returns a new Color3 object\r\n */\r\n public static Gray(): Color3 { return new Color3(0.5, 0.5, 0.5); }\r\n /**\r\n * Returns a Color3 value containing a teal color\r\n * @returns a new Color3 object\r\n */\r\n public static Teal(): Color3 { return new Color3(0, 1.0, 1.0); }\r\n /**\r\n * Returns a Color3 value containing a random color\r\n * @returns a new Color3 object\r\n */\r\n public static Random(): Color3 { return new Color3(Math.random(), Math.random(), Math.random()); }\r\n}\r\n\r\n/**\r\n * Class used to hold a RBGA color\r\n */\r\nexport class Color4 {\r\n /**\r\n * Creates a new Color4 object from red, green, blue values, all between 0 and 1\r\n * @param r defines the red component (between 0 and 1, default is 0)\r\n * @param g defines the green component (between 0 and 1, default is 0)\r\n * @param b defines the blue component (between 0 and 1, default is 0)\r\n * @param a defines the alpha component (between 0 and 1, default is 1)\r\n */\r\n constructor(\r\n /**\r\n * Defines the red component (between 0 and 1, default is 0)\r\n */\r\n public r: number = 0,\r\n /**\r\n * Defines the green component (between 0 and 1, default is 0)\r\n */\r\n public g: number = 0,\r\n /**\r\n * Defines the blue component (between 0 and 1, default is 0)\r\n */\r\n public b: number = 0,\r\n /**\r\n * Defines the alpha component (between 0 and 1, default is 1)\r\n */\r\n public a: number = 1) {\r\n }\r\n\r\n // Operators\r\n\r\n /**\r\n * Adds in place the given Color4 values to the current Color4 object\r\n * @param right defines the second operand\r\n * @returns the current updated Color4 object\r\n */\r\n public addInPlace(right: DeepImmutable): Color4 {\r\n this.r += right.r;\r\n this.g += right.g;\r\n this.b += right.b;\r\n this.a += right.a;\r\n return this;\r\n }\r\n\r\n /**\r\n * Creates a new array populated with 4 numeric elements : red, green, blue, alpha values\r\n * @returns the new array\r\n */\r\n public asArray(): number[] {\r\n var result = new Array();\r\n this.toArray(result, 0);\r\n return result;\r\n }\r\n\r\n /**\r\n * Stores from the starting index in the given array the Color4 successive values\r\n * @param array defines the array where to store the r,g,b components\r\n * @param index defines an optional index in the target array to define where to start storing values\r\n * @returns the current Color4 object\r\n */\r\n public toArray(array: number[], index: number = 0): Color4 {\r\n array[index] = this.r;\r\n array[index + 1] = this.g;\r\n array[index + 2] = this.b;\r\n array[index + 3] = this.a;\r\n return this;\r\n }\r\n\r\n /**\r\n * Update the current color with values stored in an array from the starting index of the given array\r\n * @param array defines the source array\r\n * @param offset defines an offset in the source array\r\n * @returns the current Color4 object\r\n */\r\n public fromArray(array: DeepImmutable>, offset: number = 0): Color4 {\r\n Color4.FromArrayToRef(array, offset, this);\r\n return this;\r\n }\r\n\r\n /**\r\n * Determines equality between Color4 objects\r\n * @param otherColor defines the second operand\r\n * @returns true if the rgba values are equal to the given ones\r\n */\r\n public equals(otherColor: DeepImmutable): boolean {\r\n return otherColor && this.r === otherColor.r && this.g === otherColor.g && this.b === otherColor.b && this.a === otherColor.a;\r\n }\r\n\r\n /**\r\n * Creates a new Color4 set with the added values of the current Color4 and of the given one\r\n * @param right defines the second operand\r\n * @returns a new Color4 object\r\n */\r\n public add(right: DeepImmutable): Color4 {\r\n return new Color4(this.r + right.r, this.g + right.g, this.b + right.b, this.a + right.a);\r\n }\r\n\r\n /**\r\n * Creates a new Color4 set with the subtracted values of the given one from the current Color4\r\n * @param right defines the second operand\r\n * @returns a new Color4 object\r\n */\r\n public subtract(right: DeepImmutable): Color4 {\r\n return new Color4(this.r - right.r, this.g - right.g, this.b - right.b, this.a - right.a);\r\n }\r\n\r\n /**\r\n * Subtracts the given ones from the current Color4 values and stores the results in \"result\"\r\n * @param right defines the second operand\r\n * @param result defines the Color4 object where to store the result\r\n * @returns the current Color4 object\r\n */\r\n public subtractToRef(right: DeepImmutable, result: Color4): Color4 {\r\n result.r = this.r - right.r;\r\n result.g = this.g - right.g;\r\n result.b = this.b - right.b;\r\n result.a = this.a - right.a;\r\n return this;\r\n }\r\n\r\n /**\r\n * Creates a new Color4 with the current Color4 values multiplied by scale\r\n * @param scale defines the scaling factor to apply\r\n * @returns a new Color4 object\r\n */\r\n public scale(scale: number): Color4 {\r\n return new Color4(this.r * scale, this.g * scale, this.b * scale, this.a * scale);\r\n }\r\n\r\n /**\r\n * Multiplies the current Color4 values by scale and stores the result in \"result\"\r\n * @param scale defines the scaling factor to apply\r\n * @param result defines the Color4 object where to store the result\r\n * @returns the current unmodified Color4\r\n */\r\n public scaleToRef(scale: number, result: Color4): Color4 {\r\n result.r = this.r * scale;\r\n result.g = this.g * scale;\r\n result.b = this.b * scale;\r\n result.a = this.a * scale;\r\n return this;\r\n }\r\n\r\n /**\r\n * Scale the current Color4 values by a factor and add the result to a given Color4\r\n * @param scale defines the scale factor\r\n * @param result defines the Color4 object where to store the result\r\n * @returns the unmodified current Color4\r\n */\r\n public scaleAndAddToRef(scale: number, result: Color4): Color4 {\r\n result.r += this.r * scale;\r\n result.g += this.g * scale;\r\n result.b += this.b * scale;\r\n result.a += this.a * scale;\r\n return this;\r\n }\r\n\r\n /**\r\n * Clamps the rgb values by the min and max values and stores the result into \"result\"\r\n * @param min defines minimum clamping value (default is 0)\r\n * @param max defines maximum clamping value (default is 1)\r\n * @param result defines color to store the result into.\r\n * @returns the cuurent Color4\r\n */\r\n public clampToRef(min: number = 0, max: number = 1, result: Color4): Color4 {\r\n result.r = Scalar.Clamp(this.r, min, max);\r\n result.g = Scalar.Clamp(this.g, min, max);\r\n result.b = Scalar.Clamp(this.b, min, max);\r\n result.a = Scalar.Clamp(this.a, min, max);\r\n return this;\r\n }\r\n\r\n /**\r\n * Multipy an Color4 value by another and return a new Color4 object\r\n * @param color defines the Color4 value to multiply by\r\n * @returns a new Color4 object\r\n */\r\n public multiply(color: Color4): Color4 {\r\n return new Color4(this.r * color.r, this.g * color.g, this.b * color.b, this.a * color.a);\r\n }\r\n\r\n /**\r\n * Multipy a Color4 value by another and push the result in a reference value\r\n * @param color defines the Color4 value to multiply by\r\n * @param result defines the Color4 to fill the result in\r\n * @returns the result Color4\r\n */\r\n public multiplyToRef(color: Color4, result: Color4): Color4 {\r\n result.r = this.r * color.r;\r\n result.g = this.g * color.g;\r\n result.b = this.b * color.b;\r\n result.a = this.a * color.a;\r\n return result;\r\n }\r\n\r\n /**\r\n * Creates a string with the Color4 current values\r\n * @returns the string representation of the Color4 object\r\n */\r\n public toString(): string {\r\n return \"{R: \" + this.r + \" G:\" + this.g + \" B:\" + this.b + \" A:\" + this.a + \"}\";\r\n }\r\n\r\n /**\r\n * Returns the string \"Color4\"\r\n * @returns \"Color4\"\r\n */\r\n public getClassName(): string {\r\n return \"Color4\";\r\n }\r\n\r\n /**\r\n * Compute the Color4 hash code\r\n * @returns an unique number that can be used to hash Color4 objects\r\n */\r\n public getHashCode(): number {\r\n let hash = (this.r * 255) | 0;\r\n hash = (hash * 397) ^ ((this.g * 255) | 0);\r\n hash = (hash * 397) ^ ((this.b * 255) | 0);\r\n hash = (hash * 397) ^ ((this.a * 255) | 0);\r\n return hash;\r\n }\r\n\r\n /**\r\n * Creates a new Color4 copied from the current one\r\n * @returns a new Color4 object\r\n */\r\n public clone(): Color4 {\r\n return new Color4(this.r, this.g, this.b, this.a);\r\n }\r\n\r\n /**\r\n * Copies the given Color4 values into the current one\r\n * @param source defines the source Color4 object\r\n * @returns the current updated Color4 object\r\n */\r\n public copyFrom(source: Color4): Color4 {\r\n this.r = source.r;\r\n this.g = source.g;\r\n this.b = source.b;\r\n this.a = source.a;\r\n return this;\r\n }\r\n\r\n /**\r\n * Copies the given float values into the current one\r\n * @param r defines the red component to read from\r\n * @param g defines the green component to read from\r\n * @param b defines the blue component to read from\r\n * @param a defines the alpha component to read from\r\n * @returns the current updated Color4 object\r\n */\r\n public copyFromFloats(r: number, g: number, b: number, a: number): Color4 {\r\n this.r = r;\r\n this.g = g;\r\n this.b = b;\r\n this.a = a;\r\n return this;\r\n }\r\n\r\n /**\r\n * Copies the given float values into the current one\r\n * @param r defines the red component to read from\r\n * @param g defines the green component to read from\r\n * @param b defines the blue component to read from\r\n * @param a defines the alpha component to read from\r\n * @returns the current updated Color4 object\r\n */\r\n public set(r: number, g: number, b: number, a: number): Color4 {\r\n return this.copyFromFloats(r, g, b, a);\r\n }\r\n\r\n /**\r\n * Compute the Color4 hexadecimal code as a string\r\n * @param returnAsColor3 defines if the string should only contains RGB values (off by default)\r\n * @returns a string containing the hexadecimal representation of the Color4 object\r\n */\r\n public toHexString(returnAsColor3 = false): string {\r\n var intR = (this.r * 255) | 0;\r\n var intG = (this.g * 255) | 0;\r\n var intB = (this.b * 255) | 0;\r\n\r\n if (returnAsColor3) {\r\n return \"#\" + Scalar.ToHex(intR) + Scalar.ToHex(intG) + Scalar.ToHex(intB);\r\n }\r\n\r\n var intA = (this.a * 255) | 0;\r\n return \"#\" + Scalar.ToHex(intR) + Scalar.ToHex(intG) + Scalar.ToHex(intB) + Scalar.ToHex(intA);\r\n }\r\n\r\n /**\r\n * Computes a new Color4 converted from the current one to linear space\r\n * @returns a new Color4 object\r\n */\r\n public toLinearSpace(): Color4 {\r\n var convertedColor = new Color4();\r\n this.toLinearSpaceToRef(convertedColor);\r\n return convertedColor;\r\n }\r\n\r\n /**\r\n * Converts the Color4 values to linear space and stores the result in \"convertedColor\"\r\n * @param convertedColor defines the Color4 object where to store the linear space version\r\n * @returns the unmodified Color4\r\n */\r\n public toLinearSpaceToRef(convertedColor: Color4): Color4 {\r\n convertedColor.r = Math.pow(this.r, ToLinearSpace);\r\n convertedColor.g = Math.pow(this.g, ToLinearSpace);\r\n convertedColor.b = Math.pow(this.b, ToLinearSpace);\r\n convertedColor.a = this.a;\r\n return this;\r\n }\r\n\r\n /**\r\n * Computes a new Color4 converted from the current one to gamma space\r\n * @returns a new Color4 object\r\n */\r\n public toGammaSpace(): Color4 {\r\n var convertedColor = new Color4();\r\n this.toGammaSpaceToRef(convertedColor);\r\n return convertedColor;\r\n }\r\n\r\n /**\r\n * Converts the Color4 values to gamma space and stores the result in \"convertedColor\"\r\n * @param convertedColor defines the Color4 object where to store the gamma space version\r\n * @returns the unmodified Color4\r\n */\r\n public toGammaSpaceToRef(convertedColor: Color4): Color4 {\r\n convertedColor.r = Math.pow(this.r, ToGammaSpace);\r\n convertedColor.g = Math.pow(this.g, ToGammaSpace);\r\n convertedColor.b = Math.pow(this.b, ToGammaSpace);\r\n convertedColor.a = this.a;\r\n return this;\r\n }\r\n\r\n // Statics\r\n\r\n /**\r\n * Creates a new Color4 from the string containing valid hexadecimal values\r\n * @param hex defines a string containing valid hexadecimal values\r\n * @returns a new Color4 object\r\n */\r\n public static FromHexString(hex: string): Color4 {\r\n if (hex.substring(0, 1) !== \"#\" || hex.length !== 9) {\r\n return new Color4(0.0, 0.0, 0.0, 0.0);\r\n }\r\n\r\n var r = parseInt(hex.substring(1, 3), 16);\r\n var g = parseInt(hex.substring(3, 5), 16);\r\n var b = parseInt(hex.substring(5, 7), 16);\r\n var a = parseInt(hex.substring(7, 9), 16);\r\n\r\n return Color4.FromInts(r, g, b, a);\r\n }\r\n\r\n /**\r\n * Creates a new Color4 object set with the linearly interpolated values of \"amount\" between the left Color4 object and the right Color4 object\r\n * @param left defines the start value\r\n * @param right defines the end value\r\n * @param amount defines the gradient factor\r\n * @returns a new Color4 object\r\n */\r\n public static Lerp(left: DeepImmutable, right: DeepImmutable, amount: number): Color4 {\r\n var result = new Color4(0.0, 0.0, 0.0, 0.0);\r\n Color4.LerpToRef(left, right, amount, result);\r\n return result;\r\n }\r\n\r\n /**\r\n * Set the given \"result\" with the linearly interpolated values of \"amount\" between the left Color4 object and the right Color4 object\r\n * @param left defines the start value\r\n * @param right defines the end value\r\n * @param amount defines the gradient factor\r\n * @param result defines the Color4 object where to store data\r\n */\r\n public static LerpToRef(left: DeepImmutable, right: DeepImmutable, amount: number, result: Color4): void {\r\n result.r = left.r + (right.r - left.r) * amount;\r\n result.g = left.g + (right.g - left.g) * amount;\r\n result.b = left.b + (right.b - left.b) * amount;\r\n result.a = left.a + (right.a - left.a) * amount;\r\n }\r\n\r\n /**\r\n * Creates a new Color4 from a Color3 and an alpha value\r\n * @param color3 defines the source Color3 to read from\r\n * @param alpha defines the alpha component (1.0 by default)\r\n * @returns a new Color4 object\r\n */\r\n public static FromColor3(color3: DeepImmutable, alpha: number = 1.0): Color4 {\r\n return new Color4(color3.r, color3.g, color3.b, alpha);\r\n }\r\n\r\n /**\r\n * Creates a new Color4 from the starting index element of the given array\r\n * @param array defines the source array to read from\r\n * @param offset defines the offset in the source array\r\n * @returns a new Color4 object\r\n */\r\n public static FromArray(array: DeepImmutable>, offset: number = 0): Color4 {\r\n return new Color4(array[offset], array[offset + 1], array[offset + 2], array[offset + 3]);\r\n }\r\n\r\n /**\r\n * Creates a new Color4 from the starting index element of the given array\r\n * @param array defines the source array to read from\r\n * @param offset defines the offset in the source array\r\n * @param result defines the target Color4 object\r\n */\r\n public static FromArrayToRef(array: DeepImmutable>, offset: number = 0, result: Color4) {\r\n result.r = array[offset];\r\n result.g = array[offset + 1];\r\n result.b = array[offset + 2];\r\n result.a = array[offset + 3];\r\n }\r\n\r\n /**\r\n * Creates a new Color3 from integer values (< 256)\r\n * @param r defines the red component to read from (value between 0 and 255)\r\n * @param g defines the green component to read from (value between 0 and 255)\r\n * @param b defines the blue component to read from (value between 0 and 255)\r\n * @param a defines the alpha component to read from (value between 0 and 255)\r\n * @returns a new Color3 object\r\n */\r\n public static FromInts(r: number, g: number, b: number, a: number): Color4 {\r\n return new Color4(r / 255.0, g / 255.0, b / 255.0, a / 255.0);\r\n }\r\n\r\n /**\r\n * Check the content of a given array and convert it to an array containing RGBA data\r\n * If the original array was already containing count * 4 values then it is returned directly\r\n * @param colors defines the array to check\r\n * @param count defines the number of RGBA data to expect\r\n * @returns an array containing count * 4 values (RGBA)\r\n */\r\n public static CheckColors4(colors: number[], count: number): number[] {\r\n // Check if color3 was used\r\n if (colors.length === count * 3) {\r\n var colors4 = [];\r\n for (var index = 0; index < colors.length; index += 3) {\r\n var newIndex = (index / 3) * 4;\r\n colors4[newIndex] = colors[index];\r\n colors4[newIndex + 1] = colors[index + 1];\r\n colors4[newIndex + 2] = colors[index + 2];\r\n colors4[newIndex + 3] = 1.0;\r\n }\r\n\r\n return colors4;\r\n }\r\n\r\n return colors;\r\n }\r\n}\r\n\r\n/**\r\n * @hidden\r\n */\r\nexport class TmpColors {\r\n public static Color3: Color3[] = ArrayTools.BuildArray(3, Color3.Black);\r\n public static Color4: Color4[] = ArrayTools.BuildArray(3, () => new Color4(0, 0, 0, 0));\r\n}\r\n\r\n_TypeStore.RegisteredTypes[\"BABYLON.Color3\"] = Color3;\r\n_TypeStore.RegisteredTypes[\"BABYLON.Color4\"] = Color4;","import { serialize, SerializationHelper } from \"../../Misc/decorators\";\r\nimport { Observable } from \"../../Misc/observable\";\r\nimport { Nullable } from \"../../types\";\r\nimport { Matrix, TmpVectors, Vector3 } from \"../../Maths/math.vector\";\r\nimport { BaseTexture } from \"../../Materials/Textures/baseTexture\";\r\n\r\nimport { _TypeStore } from '../../Misc/typeStore';\r\nimport { _DevTools } from '../../Misc/devTools';\r\nimport { IInspectable } from '../../Misc/iInspectable';\r\nimport { ThinEngine } from '../../Engines/thinEngine';\r\nimport { TimingTools } from '../../Misc/timingTools';\r\nimport { InstantiationTools } from '../../Misc/instantiationTools';\r\nimport { Plane } from '../../Maths/math.plane';\r\nimport { StringTools } from '../../Misc/stringTools';\r\nimport { CopyTools } from '../../Misc/copyTools';\r\n\r\ndeclare type CubeTexture = import(\"../../Materials/Textures/cubeTexture\").CubeTexture;\r\ndeclare type MirrorTexture = import(\"../../Materials/Textures/mirrorTexture\").MirrorTexture;\r\ndeclare type RenderTargetTexture = import(\"../../Materials/Textures/renderTargetTexture\").RenderTargetTexture;\r\ndeclare type Scene = import(\"../../scene\").Scene;\r\n\r\n/**\r\n * This represents a texture in babylon. It can be easily loaded from a network, base64 or html input.\r\n * @see https://doc.babylonjs.com/babylon101/materials#texture\r\n */\r\nexport class Texture extends BaseTexture {\r\n /**\r\n * Gets or sets a general boolean used to indicate that textures containing direct data (buffers) must be saved as part of the serialization process\r\n */\r\n public static SerializeBuffers = true;\r\n\r\n /**\r\n * Gets or sets a general boolean used to indicate that texture buffers must be saved as part of the serialization process.\r\n * If no buffer exists, one will be created as base64 string from the internal webgl data.\r\n */\r\n public static ForceSerializeBuffers = false;\r\n\r\n /** @hidden */\r\n public static _CubeTextureParser = (jsonTexture: any, scene: Scene, rootUrl: string): CubeTexture => {\r\n throw _DevTools.WarnImport(\"CubeTexture\");\r\n }\r\n /** @hidden */\r\n public static _CreateMirror = (name: string, renderTargetSize: number, scene: Scene, generateMipMaps: boolean): MirrorTexture => {\r\n throw _DevTools.WarnImport(\"MirrorTexture\");\r\n }\r\n /** @hidden */\r\n public static _CreateRenderTargetTexture = (name: string, renderTargetSize: number, scene: Scene, generateMipMaps: boolean): RenderTargetTexture => {\r\n throw _DevTools.WarnImport(\"RenderTargetTexture\");\r\n }\r\n\r\n /** nearest is mag = nearest and min = nearest and mip = linear */\r\n public static readonly NEAREST_SAMPLINGMODE = 1;\r\n /** nearest is mag = nearest and min = nearest and mip = linear */\r\n public static readonly NEAREST_NEAREST_MIPLINEAR = 8; // nearest is mag = nearest and min = nearest and mip = linear\r\n\r\n /** Bilinear is mag = linear and min = linear and mip = nearest */\r\n public static readonly BILINEAR_SAMPLINGMODE = 2;\r\n /** Bilinear is mag = linear and min = linear and mip = nearest */\r\n public static readonly LINEAR_LINEAR_MIPNEAREST = 11; // Bilinear is mag = linear and min = linear and mip = nearest\r\n\r\n /** Trilinear is mag = linear and min = linear and mip = linear */\r\n public static readonly TRILINEAR_SAMPLINGMODE = 3;\r\n /** Trilinear is mag = linear and min = linear and mip = linear */\r\n public static readonly LINEAR_LINEAR_MIPLINEAR = 3; // Trilinear is mag = linear and min = linear and mip = linear\r\n\r\n /** mag = nearest and min = nearest and mip = nearest */\r\n public static readonly NEAREST_NEAREST_MIPNEAREST = 4;\r\n /** mag = nearest and min = linear and mip = nearest */\r\n public static readonly NEAREST_LINEAR_MIPNEAREST = 5;\r\n /** mag = nearest and min = linear and mip = linear */\r\n public static readonly NEAREST_LINEAR_MIPLINEAR = 6;\r\n /** mag = nearest and min = linear and mip = none */\r\n public static readonly NEAREST_LINEAR = 7;\r\n /** mag = nearest and min = nearest and mip = none */\r\n public static readonly NEAREST_NEAREST = 1;\r\n /** mag = linear and min = nearest and mip = nearest */\r\n public static readonly LINEAR_NEAREST_MIPNEAREST = 9;\r\n /** mag = linear and min = nearest and mip = linear */\r\n public static readonly LINEAR_NEAREST_MIPLINEAR = 10;\r\n /** mag = linear and min = linear and mip = none */\r\n public static readonly LINEAR_LINEAR = 2;\r\n /** mag = linear and min = nearest and mip = none */\r\n public static readonly LINEAR_NEAREST = 12;\r\n\r\n /** Explicit coordinates mode */\r\n public static readonly EXPLICIT_MODE = 0;\r\n /** Spherical coordinates mode */\r\n public static readonly SPHERICAL_MODE = 1;\r\n /** Planar coordinates mode */\r\n public static readonly PLANAR_MODE = 2;\r\n /** Cubic coordinates mode */\r\n public static readonly CUBIC_MODE = 3;\r\n /** Projection coordinates mode */\r\n public static readonly PROJECTION_MODE = 4;\r\n /** Inverse Cubic coordinates mode */\r\n public static readonly SKYBOX_MODE = 5;\r\n /** Inverse Cubic coordinates mode */\r\n public static readonly INVCUBIC_MODE = 6;\r\n /** Equirectangular coordinates mode */\r\n public static readonly EQUIRECTANGULAR_MODE = 7;\r\n /** Equirectangular Fixed coordinates mode */\r\n public static readonly FIXED_EQUIRECTANGULAR_MODE = 8;\r\n /** Equirectangular Fixed Mirrored coordinates mode */\r\n public static readonly FIXED_EQUIRECTANGULAR_MIRRORED_MODE = 9;\r\n\r\n /** Texture is not repeating outside of 0..1 UVs */\r\n public static readonly CLAMP_ADDRESSMODE = 0;\r\n /** Texture is repeating outside of 0..1 UVs */\r\n public static readonly WRAP_ADDRESSMODE = 1;\r\n /** Texture is repeating and mirrored */\r\n public static readonly MIRROR_ADDRESSMODE = 2;\r\n\r\n /**\r\n * Gets or sets a boolean which defines if the texture url must be build from the serialized URL instead of just using the name and loading them side by side with the scene file\r\n */\r\n public static UseSerializedUrlIfAny = false;\r\n\r\n /**\r\n * Define the url of the texture.\r\n */\r\n @serialize()\r\n public url: Nullable = null;\r\n\r\n /**\r\n * Define an offset on the texture to offset the u coordinates of the UVs\r\n * @see https://doc.babylonjs.com/how_to/more_materials#offsetting\r\n */\r\n @serialize()\r\n public uOffset = 0;\r\n\r\n /**\r\n * Define an offset on the texture to offset the v coordinates of the UVs\r\n * @see https://doc.babylonjs.com/how_to/more_materials#offsetting\r\n */\r\n @serialize()\r\n public vOffset = 0;\r\n\r\n /**\r\n * Define an offset on the texture to scale the u coordinates of the UVs\r\n * @see https://doc.babylonjs.com/how_to/more_materials#tiling\r\n */\r\n @serialize()\r\n public uScale = 1.0;\r\n\r\n /**\r\n * Define an offset on the texture to scale the v coordinates of the UVs\r\n * @see https://doc.babylonjs.com/how_to/more_materials#tiling\r\n */\r\n @serialize()\r\n public vScale = 1.0;\r\n\r\n /**\r\n * Define an offset on the texture to rotate around the u coordinates of the UVs\r\n * @see https://doc.babylonjs.com/how_to/more_materials\r\n */\r\n @serialize()\r\n public uAng = 0;\r\n\r\n /**\r\n * Define an offset on the texture to rotate around the v coordinates of the UVs\r\n * @see https://doc.babylonjs.com/how_to/more_materials\r\n */\r\n @serialize()\r\n public vAng = 0;\r\n\r\n /**\r\n * Define an offset on the texture to rotate around the w coordinates of the UVs (in case of 3d texture)\r\n * @see https://doc.babylonjs.com/how_to/more_materials\r\n */\r\n @serialize()\r\n public wAng = 0;\r\n\r\n /**\r\n * Defines the center of rotation (U)\r\n */\r\n @serialize()\r\n public uRotationCenter = 0.5;\r\n\r\n /**\r\n * Defines the center of rotation (V)\r\n */\r\n @serialize()\r\n public vRotationCenter = 0.5;\r\n\r\n /**\r\n * Defines the center of rotation (W)\r\n */\r\n @serialize()\r\n public wRotationCenter = 0.5;\r\n\r\n /**\r\n * Sets this property to true to avoid deformations when rotating the texture with non-uniform scaling\r\n */\r\n @serialize()\r\n public homogeneousRotationInUVTransform = false;\r\n\r\n /**\r\n * Are mip maps generated for this texture or not.\r\n */\r\n get noMipmap(): boolean {\r\n return this._noMipmap;\r\n }\r\n\r\n /**\r\n * List of inspectable custom properties (used by the Inspector)\r\n * @see https://doc.babylonjs.com/how_to/debug_layer#extensibility\r\n */\r\n public inspectableCustomProperties: Nullable = null;\r\n\r\n private _noMipmap: boolean = false;\r\n /** @hidden */\r\n public _invertY: boolean = false;\r\n private _rowGenerationMatrix: Nullable = null;\r\n private _cachedTextureMatrix: Nullable = null;\r\n private _projectionModeMatrix: Nullable = null;\r\n private _t0: Nullable = null;\r\n private _t1: Nullable = null;\r\n private _t2: Nullable = null;\r\n\r\n private _cachedUOffset: number = -1;\r\n private _cachedVOffset: number = -1;\r\n private _cachedUScale: number = 0;\r\n private _cachedVScale: number = 0;\r\n private _cachedUAng: number = -1;\r\n private _cachedVAng: number = -1;\r\n private _cachedWAng: number = -1;\r\n private _cachedProjectionMatrixId: number = -1;\r\n private _cachedURotationCenter: number = -1;\r\n private _cachedVRotationCenter: number = -1;\r\n private _cachedWRotationCenter: number = -1;\r\n private _cachedHomogeneousRotationInUVTransform: boolean = false;\r\n private _cachedCoordinatesMode: number = -1;\r\n\r\n /** @hidden */\r\n protected _initialSamplingMode = Texture.BILINEAR_SAMPLINGMODE;\r\n\r\n /** @hidden */\r\n public _buffer: Nullable = null;\r\n private _deleteBuffer: boolean = false;\r\n protected _format: Nullable = null;\r\n private _delayedOnLoad: Nullable<() => void> = null;\r\n private _delayedOnError: Nullable<() => void> = null;\r\n private _mimeType?: string;\r\n private _loaderOptions?: any;\r\n\r\n /** Returns the texture mime type if it was defined by a loader (undefined else) */\r\n public get mimeType() {\r\n return this._mimeType;\r\n }\r\n\r\n /**\r\n * Observable triggered once the texture has been loaded.\r\n */\r\n public onLoadObservable: Observable = new Observable();\r\n\r\n protected _isBlocking: boolean = true;\r\n /**\r\n * Is the texture preventing material to render while loading.\r\n * If false, a default texture will be used instead of the loading one during the preparation step.\r\n */\r\n public set isBlocking(value: boolean) {\r\n this._isBlocking = value;\r\n }\r\n @serialize()\r\n public get isBlocking(): boolean {\r\n return this._isBlocking;\r\n }\r\n\r\n /**\r\n * Get the current sampling mode associated with the texture.\r\n */\r\n public get samplingMode(): number {\r\n if (!this._texture) {\r\n return this._initialSamplingMode;\r\n }\r\n\r\n return this._texture.samplingMode;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if the texture needs to be inverted on the y axis during loading\r\n */\r\n public get invertY(): boolean {\r\n return this._invertY;\r\n }\r\n\r\n /**\r\n * Instantiates a new texture.\r\n * This represents a texture in babylon. It can be easily loaded from a network, base64 or html input.\r\n * @see https://doc.babylonjs.com/babylon101/materials#texture\r\n * @param url defines the url of the picture to load as a texture\r\n * @param sceneOrEngine defines the scene or engine the texture will belong to\r\n * @param noMipmap defines if the texture will require mip maps or not\r\n * @param invertY defines if the texture needs to be inverted on the y axis during loading\r\n * @param samplingMode defines the sampling mode we want for the texture while fectching from it (Texture.NEAREST_SAMPLINGMODE...)\r\n * @param onLoad defines a callback triggered when the texture has been loaded\r\n * @param onError defines a callback triggered when an error occurred during the loading session\r\n * @param buffer defines the buffer to load the texture from in case the texture is loaded from a buffer representation\r\n * @param deleteBuffer defines if the buffer we are loading the texture from should be deleted after load\r\n * @param format defines the format of the texture we are trying to load (Engine.TEXTUREFORMAT_RGBA...)\r\n * @param mimeType defines an optional mime type information\r\n * @param loaderOptions options to be passed to the loader\r\n */\r\n constructor(url: Nullable, sceneOrEngine: Nullable, noMipmap: boolean = false, invertY: boolean = true, samplingMode: number = Texture.TRILINEAR_SAMPLINGMODE,\r\n onLoad: Nullable<() => void> = null, onError: Nullable<(message?: string, exception?: any) => void> = null, buffer: Nullable = null,\r\n deleteBuffer: boolean = false, format?: number, mimeType?: string, loaderOptions?: any)\r\n {\r\n super(sceneOrEngine);\r\n\r\n this.name = url || \"\";\r\n this.url = url;\r\n this._noMipmap = noMipmap;\r\n this._invertY = invertY;\r\n this._initialSamplingMode = samplingMode;\r\n this._buffer = buffer;\r\n this._deleteBuffer = deleteBuffer;\r\n this._mimeType = mimeType;\r\n this._loaderOptions = loaderOptions;\r\n if (format) {\r\n this._format = format;\r\n }\r\n\r\n var scene = this.getScene();\r\n var engine = this._getEngine();\r\n if (!engine) {\r\n return;\r\n }\r\n\r\n engine.onBeforeTextureInitObservable.notifyObservers(this);\r\n\r\n let load = () => {\r\n if (this._texture) {\r\n if (this._texture._invertVScale) {\r\n this.vScale *= -1;\r\n this.vOffset += 1;\r\n }\r\n\r\n // Update texutre to match internal texture's wrapping\r\n if (this._texture._cachedWrapU !== null) {\r\n this.wrapU = this._texture._cachedWrapU;\r\n this._texture._cachedWrapU = null;\r\n }\r\n if (this._texture._cachedWrapV !== null) {\r\n this.wrapV = this._texture._cachedWrapV;\r\n this._texture._cachedWrapV = null;\r\n }\r\n if (this._texture._cachedWrapR !== null) {\r\n this.wrapR = this._texture._cachedWrapR;\r\n this._texture._cachedWrapR = null;\r\n }\r\n }\r\n\r\n if (this.onLoadObservable.hasObservers()) {\r\n this.onLoadObservable.notifyObservers(this);\r\n }\r\n if (onLoad) {\r\n onLoad();\r\n }\r\n\r\n if (!this.isBlocking && scene) {\r\n scene.resetCachedMaterial();\r\n }\r\n };\r\n\r\n if (!this.url) {\r\n this._delayedOnLoad = load;\r\n this._delayedOnError = onError;\r\n return;\r\n }\r\n\r\n this._texture = this._getFromCache(this.url, noMipmap, samplingMode, invertY);\r\n\r\n if (!this._texture) {\r\n if (!scene || !scene.useDelayedTextureLoading) {\r\n this._texture = engine.createTexture(this.url, noMipmap, invertY, scene, samplingMode, load, onError, this._buffer, undefined, this._format, null, mimeType, loaderOptions);\r\n if (deleteBuffer) {\r\n this._buffer = null;\r\n }\r\n } else {\r\n this.delayLoadState = 4;\r\n\r\n this._delayedOnLoad = load;\r\n this._delayedOnError = onError;\r\n }\r\n } else {\r\n if (this._texture.isReady) {\r\n TimingTools.SetImmediate(() => load());\r\n } else {\r\n this._texture.onLoadedObservable.add(load);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Update the url (and optional buffer) of this texture if url was null during construction.\r\n * @param url the url of the texture\r\n * @param buffer the buffer of the texture (defaults to null)\r\n * @param onLoad callback called when the texture is loaded (defaults to null)\r\n */\r\n public updateURL(url: string, buffer: Nullable = null, onLoad?: () => void): void {\r\n if (this.url) {\r\n this.releaseInternalTexture();\r\n this.getScene()!.markAllMaterialsAsDirty(1);\r\n }\r\n\r\n if (!this.name || StringTools.StartsWith(this.name, \"data:\")) {\r\n this.name = url;\r\n }\r\n this.url = url;\r\n this._buffer = buffer;\r\n this.delayLoadState = 4;\r\n\r\n if (onLoad) {\r\n this._delayedOnLoad = onLoad;\r\n }\r\n this.delayLoad();\r\n }\r\n\r\n /**\r\n * Finish the loading sequence of a texture flagged as delayed load.\r\n * @hidden\r\n */\r\n public delayLoad(): void {\r\n if (this.delayLoadState !== 4) {\r\n return;\r\n }\r\n\r\n let scene = this.getScene();\r\n if (!scene) {\r\n return;\r\n }\r\n\r\n this.delayLoadState = 1;\r\n this._texture = this._getFromCache(this.url, this._noMipmap, this.samplingMode, this._invertY);\r\n\r\n if (!this._texture) {\r\n this._texture = scene.getEngine().createTexture(this.url, this._noMipmap, this._invertY, scene, this.samplingMode, this._delayedOnLoad, this._delayedOnError, this._buffer, null, this._format, null, this._mimeType, this._loaderOptions);\r\n if (this._deleteBuffer) {\r\n this._buffer = null;\r\n }\r\n } else {\r\n if (this._delayedOnLoad) {\r\n if (this._texture.isReady) {\r\n TimingTools.SetImmediate(this._delayedOnLoad);\r\n } else {\r\n this._texture.onLoadedObservable.add(this._delayedOnLoad);\r\n }\r\n }\r\n }\r\n\r\n this._delayedOnLoad = null;\r\n this._delayedOnError = null;\r\n }\r\n\r\n private _prepareRowForTextureGeneration(x: number, y: number, z: number, t: Vector3): void {\r\n x *= this._cachedUScale;\r\n y *= this._cachedVScale;\r\n\r\n x -= this.uRotationCenter * this._cachedUScale;\r\n y -= this.vRotationCenter * this._cachedVScale;\r\n z -= this.wRotationCenter;\r\n\r\n Vector3.TransformCoordinatesFromFloatsToRef(x, y, z, this._rowGenerationMatrix!, t);\r\n\r\n t.x += this.uRotationCenter * this._cachedUScale + this._cachedUOffset;\r\n t.y += this.vRotationCenter * this._cachedVScale + this._cachedVOffset;\r\n t.z += this.wRotationCenter;\r\n }\r\n\r\n /**\r\n * Checks if the texture has the same transform matrix than another texture\r\n * @param texture texture to check against\r\n * @returns true if the transforms are the same, else false\r\n */\r\n public checkTransformsAreIdentical(texture: Nullable): boolean {\r\n return texture !== null &&\r\n this.uOffset === texture.uOffset &&\r\n this.vOffset === texture.vOffset &&\r\n this.uScale === texture.uScale &&\r\n this.vScale === texture.vScale &&\r\n this.uAng === texture.uAng &&\r\n this.vAng === texture.vAng &&\r\n this.wAng === texture.wAng;\r\n }\r\n\r\n /**\r\n * Get the current texture matrix which includes the requested offsetting, tiling and rotation components.\r\n * @returns the transform matrix of the texture.\r\n */\r\n public getTextureMatrix(uBase = 1): Matrix {\r\n if (\r\n this.uOffset === this._cachedUOffset &&\r\n this.vOffset === this._cachedVOffset &&\r\n this.uScale * uBase === this._cachedUScale &&\r\n this.vScale === this._cachedVScale &&\r\n this.uAng === this._cachedUAng &&\r\n this.vAng === this._cachedVAng &&\r\n this.wAng === this._cachedWAng &&\r\n this.uRotationCenter === this._cachedURotationCenter &&\r\n this.vRotationCenter === this._cachedVRotationCenter &&\r\n this.wRotationCenter === this._cachedWRotationCenter &&\r\n this.homogeneousRotationInUVTransform === this._cachedHomogeneousRotationInUVTransform) {\r\n return this._cachedTextureMatrix!;\r\n }\r\n\r\n this._cachedUOffset = this.uOffset;\r\n this._cachedVOffset = this.vOffset;\r\n this._cachedUScale = this.uScale * uBase;\r\n this._cachedVScale = this.vScale;\r\n this._cachedUAng = this.uAng;\r\n this._cachedVAng = this.vAng;\r\n this._cachedWAng = this.wAng;\r\n this._cachedURotationCenter = this.uRotationCenter;\r\n this._cachedVRotationCenter = this.vRotationCenter;\r\n this._cachedWRotationCenter = this.wRotationCenter;\r\n this._cachedHomogeneousRotationInUVTransform = this.homogeneousRotationInUVTransform;\r\n\r\n if (!this._cachedTextureMatrix || !this._rowGenerationMatrix) {\r\n this._cachedTextureMatrix = Matrix.Zero();\r\n this._rowGenerationMatrix = new Matrix();\r\n this._t0 = Vector3.Zero();\r\n this._t1 = Vector3.Zero();\r\n this._t2 = Vector3.Zero();\r\n }\r\n\r\n Matrix.RotationYawPitchRollToRef(this.vAng, this.uAng, this.wAng, this._rowGenerationMatrix!);\r\n\r\n if (this.homogeneousRotationInUVTransform) {\r\n Matrix.TranslationToRef(-this._cachedURotationCenter, -this._cachedVRotationCenter, -this._cachedWRotationCenter, TmpVectors.Matrix[0]);\r\n Matrix.TranslationToRef(this._cachedURotationCenter, this._cachedVRotationCenter, this._cachedWRotationCenter, TmpVectors.Matrix[1]);\r\n Matrix.ScalingToRef(this._cachedUScale, this._cachedVScale, 0, TmpVectors.Matrix[2]);\r\n Matrix.TranslationToRef(this._cachedUOffset, this._cachedVOffset, 0, TmpVectors.Matrix[3]);\r\n\r\n TmpVectors.Matrix[0].multiplyToRef(this._rowGenerationMatrix!, this._cachedTextureMatrix);\r\n this._cachedTextureMatrix.multiplyToRef(TmpVectors.Matrix[1], this._cachedTextureMatrix);\r\n this._cachedTextureMatrix.multiplyToRef(TmpVectors.Matrix[2], this._cachedTextureMatrix);\r\n this._cachedTextureMatrix.multiplyToRef(TmpVectors.Matrix[3], this._cachedTextureMatrix);\r\n\r\n // copy the translation row to the 3rd row of the matrix so that we don't need to update the shaders (which expects the translation to be on the 3rd row)\r\n this._cachedTextureMatrix.setRowFromFloats(2, this._cachedTextureMatrix.m[12], this._cachedTextureMatrix.m[13], this._cachedTextureMatrix.m[14], 1);\r\n } else {\r\n this._prepareRowForTextureGeneration(0, 0, 0, this._t0!);\r\n this._prepareRowForTextureGeneration(1.0, 0, 0, this._t1!);\r\n this._prepareRowForTextureGeneration(0, 1.0, 0, this._t2!);\r\n\r\n this._t1!.subtractInPlace(this._t0!);\r\n this._t2!.subtractInPlace(this._t0!);\r\n\r\n Matrix.FromValuesToRef(\r\n this._t1!.x, this._t1!.y, this._t1!.z, 0.0,\r\n this._t2!.x, this._t2!.y, this._t2!.z, 0.0,\r\n this._t0!.x, this._t0!.y, this._t0!.z, 0.0,\r\n 0.0, 0.0, 0.0, 1.0,\r\n this._cachedTextureMatrix\r\n );\r\n }\r\n\r\n let scene = this.getScene();\r\n\r\n if (!scene) {\r\n return this._cachedTextureMatrix;\r\n }\r\n\r\n scene.markAllMaterialsAsDirty(1, (mat) => {\r\n return mat.hasTexture(this);\r\n });\r\n\r\n return this._cachedTextureMatrix;\r\n }\r\n\r\n /**\r\n * Get the current matrix used to apply reflection. This is useful to rotate an environment texture for instance.\r\n * @returns The reflection texture transform\r\n */\r\n public getReflectionTextureMatrix(): Matrix {\r\n let scene = this.getScene();\r\n\r\n if (!scene) {\r\n return this._cachedTextureMatrix!;\r\n }\r\n\r\n if (\r\n this.uOffset === this._cachedUOffset &&\r\n this.vOffset === this._cachedVOffset &&\r\n this.uScale === this._cachedUScale &&\r\n this.vScale === this._cachedVScale &&\r\n this.coordinatesMode === this._cachedCoordinatesMode) {\r\n if (this.coordinatesMode === Texture.PROJECTION_MODE) {\r\n if (this._cachedProjectionMatrixId === scene.getProjectionMatrix().updateFlag) {\r\n return this._cachedTextureMatrix!;\r\n }\r\n } else {\r\n return this._cachedTextureMatrix!;\r\n }\r\n }\r\n\r\n if (!this._cachedTextureMatrix) {\r\n this._cachedTextureMatrix = Matrix.Zero();\r\n }\r\n\r\n if (!this._projectionModeMatrix) {\r\n this._projectionModeMatrix = Matrix.Zero();\r\n }\r\n\r\n this._cachedUOffset = this.uOffset;\r\n this._cachedVOffset = this.vOffset;\r\n this._cachedUScale = this.uScale;\r\n this._cachedVScale = this.vScale;\r\n this._cachedCoordinatesMode = this.coordinatesMode;\r\n\r\n switch (this.coordinatesMode) {\r\n case Texture.PLANAR_MODE:\r\n Matrix.IdentityToRef(this._cachedTextureMatrix);\r\n (this._cachedTextureMatrix)[0] = this.uScale;\r\n (this._cachedTextureMatrix)[5] = this.vScale;\r\n (this._cachedTextureMatrix)[12] = this.uOffset;\r\n (this._cachedTextureMatrix)[13] = this.vOffset;\r\n break;\r\n case Texture.PROJECTION_MODE:\r\n Matrix.FromValuesToRef(\r\n 0.5, 0.0, 0.0, 0.0,\r\n 0.0, -0.5, 0.0, 0.0,\r\n 0.0, 0.0, 0.0, 0.0,\r\n 0.5, 0.5, 1.0, 1.0,\r\n this._projectionModeMatrix\r\n );\r\n\r\n let projectionMatrix = scene.getProjectionMatrix();\r\n this._cachedProjectionMatrixId = projectionMatrix.updateFlag;\r\n projectionMatrix.multiplyToRef(this._projectionModeMatrix, this._cachedTextureMatrix);\r\n break;\r\n default:\r\n Matrix.IdentityToRef(this._cachedTextureMatrix);\r\n break;\r\n }\r\n\r\n scene.markAllMaterialsAsDirty(1, (mat) => {\r\n return (mat.getActiveTextures().indexOf(this) !== -1);\r\n });\r\n\r\n return this._cachedTextureMatrix;\r\n }\r\n\r\n /**\r\n * Clones the texture.\r\n * @returns the cloned texture\r\n */\r\n public clone(): Texture {\r\n return SerializationHelper.Clone(() => {\r\n return new Texture(this._texture ? this._texture.url : null, this.getScene(), this._noMipmap, this._invertY, this.samplingMode, undefined, undefined, this._texture ? this._texture._buffer : undefined);\r\n }, this);\r\n }\r\n\r\n /**\r\n * Serialize the texture to a JSON representation we can easily use in the resepective Parse function.\r\n * @returns The JSON representation of the texture\r\n */\r\n public serialize(): any {\r\n let savedName = this.name;\r\n\r\n if (!Texture.SerializeBuffers) {\r\n if (StringTools.StartsWith(this.name, \"data:\")) {\r\n this.name = \"\";\r\n }\r\n }\r\n\r\n if (StringTools.StartsWith(this.name, \"data:\") && this.url === this.name) {\r\n this.url = \"\";\r\n }\r\n\r\n var serializationObject = super.serialize();\r\n\r\n if (!serializationObject) {\r\n return null;\r\n }\r\n\r\n if (Texture.SerializeBuffers || Texture.ForceSerializeBuffers) {\r\n if (typeof this._buffer === \"string\" && (this._buffer as string).substr(0, 5) === \"data:\") {\r\n serializationObject.base64String = this._buffer;\r\n serializationObject.name = serializationObject.name.replace(\"data:\", \"\");\r\n } else if (this.url && StringTools.StartsWith(this.url, \"data:\") && this._buffer instanceof Uint8Array) {\r\n serializationObject.base64String = \"data:image/png;base64,\" + StringTools.EncodeArrayBufferToBase64(this._buffer);\r\n } else if (Texture.ForceSerializeBuffers) {\r\n serializationObject.base64String = CopyTools.GenerateBase64StringFromTexture(this);\r\n }\r\n }\r\n\r\n serializationObject.invertY = this._invertY;\r\n serializationObject.samplingMode = this.samplingMode;\r\n\r\n this.name = savedName;\r\n\r\n return serializationObject;\r\n }\r\n\r\n /**\r\n * Get the current class name of the texture useful for serialization or dynamic coding.\r\n * @returns \"Texture\"\r\n */\r\n public getClassName(): string {\r\n return \"Texture\";\r\n }\r\n\r\n /**\r\n * Dispose the texture and release its associated resources.\r\n */\r\n public dispose(): void {\r\n super.dispose();\r\n\r\n this.onLoadObservable.clear();\r\n\r\n this._delayedOnLoad = null;\r\n this._delayedOnError = null;\r\n }\r\n\r\n /**\r\n * Parse the JSON representation of a texture in order to recreate the texture in the given scene.\r\n * @param parsedTexture Define the JSON representation of the texture\r\n * @param scene Define the scene the parsed texture should be instantiated in\r\n * @param rootUrl Define the root url of the parsing sequence in the case of relative dependencies\r\n * @returns The parsed texture if successful\r\n */\r\n public static Parse(parsedTexture: any, scene: Scene, rootUrl: string): Nullable {\r\n if (parsedTexture.customType) {\r\n var customTexture = InstantiationTools.Instantiate(parsedTexture.customType);\r\n // Update Sampling Mode\r\n var parsedCustomTexture: any = customTexture.Parse(parsedTexture, scene, rootUrl);\r\n if (parsedTexture.samplingMode && parsedCustomTexture.updateSamplingMode && parsedCustomTexture._samplingMode) {\r\n if (parsedCustomTexture._samplingMode !== parsedTexture.samplingMode) {\r\n parsedCustomTexture.updateSamplingMode(parsedTexture.samplingMode);\r\n }\r\n }\r\n return parsedCustomTexture;\r\n }\r\n\r\n if (parsedTexture.isCube && !parsedTexture.isRenderTarget) {\r\n return Texture._CubeTextureParser(parsedTexture, scene, rootUrl);\r\n }\r\n\r\n if (!parsedTexture.name && !parsedTexture.isRenderTarget) {\r\n return null;\r\n }\r\n\r\n const onLoaded = () => {\r\n // Clear cache\r\n if (texture && texture._texture) {\r\n texture._texture._cachedWrapU = null;\r\n texture._texture._cachedWrapV = null;\r\n texture._texture._cachedWrapR = null;\r\n }\r\n\r\n // Update Sampling Mode\r\n if (parsedTexture.samplingMode) {\r\n var sampling: number = parsedTexture.samplingMode;\r\n if (texture && texture.samplingMode !== sampling) {\r\n texture.updateSamplingMode(sampling);\r\n }\r\n }\r\n // Animations\r\n if (texture && parsedTexture.animations) {\r\n for (var animationIndex = 0; animationIndex < parsedTexture.animations.length; animationIndex++) {\r\n var parsedAnimation = parsedTexture.animations[animationIndex];\r\n const internalClass = _TypeStore.GetClass(\"BABYLON.Animation\");\r\n if (internalClass) {\r\n texture.animations.push(internalClass.Parse(parsedAnimation));\r\n }\r\n }\r\n }\r\n };\r\n\r\n var texture = SerializationHelper.Parse(() => {\r\n var generateMipMaps: boolean = true;\r\n if (parsedTexture.noMipmap) {\r\n generateMipMaps = false;\r\n }\r\n if (parsedTexture.mirrorPlane) {\r\n var mirrorTexture = Texture._CreateMirror(parsedTexture.name, parsedTexture.renderTargetSize, scene, generateMipMaps);\r\n mirrorTexture._waitingRenderList = parsedTexture.renderList;\r\n mirrorTexture.mirrorPlane = Plane.FromArray(parsedTexture.mirrorPlane);\r\n onLoaded();\r\n return mirrorTexture;\r\n } else if (parsedTexture.isRenderTarget) {\r\n let renderTargetTexture: Nullable = null;\r\n if (parsedTexture.isCube) {\r\n // Search for an existing reflection probe (which contains a cube render target texture)\r\n if (scene.reflectionProbes) {\r\n for (var index = 0; index < scene.reflectionProbes.length; index++) {\r\n const probe = scene.reflectionProbes[index];\r\n if (probe.name === parsedTexture.name) {\r\n return probe.cubeTexture;\r\n }\r\n }\r\n }\r\n } else {\r\n renderTargetTexture = Texture._CreateRenderTargetTexture(parsedTexture.name, parsedTexture.renderTargetSize, scene, generateMipMaps);\r\n renderTargetTexture._waitingRenderList = parsedTexture.renderList;\r\n }\r\n onLoaded();\r\n return renderTargetTexture;\r\n } else {\r\n var texture: Texture;\r\n if (parsedTexture.base64String) {\r\n texture = Texture.CreateFromBase64String(parsedTexture.base64String, parsedTexture.name, scene, !generateMipMaps, parsedTexture.invertY, undefined, onLoaded);\r\n } else {\r\n let url: string;\r\n if (parsedTexture.name && parsedTexture.name.indexOf(\"://\") > 0) {\r\n url = parsedTexture.name;\r\n }\r\n else {\r\n url = rootUrl + parsedTexture.name;\r\n }\r\n\r\n if (StringTools.StartsWith(parsedTexture.url, \"data:\") || (Texture.UseSerializedUrlIfAny && parsedTexture.url)) {\r\n url = parsedTexture.url;\r\n }\r\n texture = new Texture(url, scene, !generateMipMaps, parsedTexture.invertY, undefined, onLoaded);\r\n }\r\n\r\n return texture;\r\n }\r\n }, parsedTexture, scene);\r\n\r\n return texture;\r\n }\r\n\r\n /**\r\n * Creates a texture from its base 64 representation.\r\n * @param data Define the base64 payload without the data: prefix\r\n * @param name Define the name of the texture in the scene useful fo caching purpose for instance\r\n * @param scene Define the scene the texture should belong to\r\n * @param noMipmap Forces the texture to not create mip map information if true\r\n * @param invertY define if the texture needs to be inverted on the y axis during loading\r\n * @param samplingMode define the sampling mode we want for the texture while fectching from it (Texture.NEAREST_SAMPLINGMODE...)\r\n * @param onLoad define a callback triggered when the texture has been loaded\r\n * @param onError define a callback triggered when an error occurred during the loading session\r\n * @param format define the format of the texture we are trying to load (Engine.TEXTUREFORMAT_RGBA...)\r\n * @returns the created texture\r\n */\r\n public static CreateFromBase64String(data: string, name: string, scene: Scene, noMipmap?: boolean, invertY?: boolean, samplingMode: number = Texture.TRILINEAR_SAMPLINGMODE,\r\n onLoad: Nullable<() => void> = null, onError: Nullable<() => void> = null, format: number = 5): Texture {\r\n return new Texture(\"data:\" + name, scene, noMipmap, invertY, samplingMode, onLoad, onError, data, false, format);\r\n }\r\n\r\n /**\r\n * Creates a texture from its data: representation. (data: will be added in case only the payload has been passed in)\r\n * @param data Define the base64 payload without the data: prefix\r\n * @param name Define the name of the texture in the scene useful fo caching purpose for instance\r\n * @param buffer define the buffer to load the texture from in case the texture is loaded from a buffer representation\r\n * @param scene Define the scene the texture should belong to\r\n * @param deleteBuffer define if the buffer we are loading the texture from should be deleted after load\r\n * @param noMipmap Forces the texture to not create mip map information if true\r\n * @param invertY define if the texture needs to be inverted on the y axis during loading\r\n * @param samplingMode define the sampling mode we want for the texture while fectching from it (Texture.NEAREST_SAMPLINGMODE...)\r\n * @param onLoad define a callback triggered when the texture has been loaded\r\n * @param onError define a callback triggered when an error occurred during the loading session\r\n * @param format define the format of the texture we are trying to load (Engine.TEXTUREFORMAT_RGBA...)\r\n * @returns the created texture\r\n */\r\n public static LoadFromDataString(name: string, buffer: any, scene: Scene, deleteBuffer: boolean = false, noMipmap: boolean = false, invertY: boolean = true, samplingMode: number = Texture.TRILINEAR_SAMPLINGMODE,\r\n onLoad: Nullable<() => void> = null, onError: Nullable<(message?: string, exception?: any) => void> = null, format: number = 5): Texture {\r\n if (name.substr(0, 5) !== \"data:\") {\r\n name = \"data:\" + name;\r\n }\r\n\r\n return new Texture(name, scene, noMipmap, invertY, samplingMode, onLoad, onError, buffer, deleteBuffer, format);\r\n }\r\n}\r\n\r\n// References the dependencies.\r\n_TypeStore.RegisteredTypes[\"BABYLON.Texture\"] = Texture;\r\nSerializationHelper._TextureParser = Texture.Parse;\r\n","/** @hidden */\r\nexport class _TypeStore {\r\n /** @hidden */\r\n public static RegisteredTypes: { [key: string]: Object } = {};\r\n\r\n /** @hidden */\r\n public static GetClass(fqdn: string): any {\r\n if (this.RegisteredTypes && this.RegisteredTypes[fqdn]) {\r\n return this.RegisteredTypes[fqdn];\r\n }\r\n return null;\r\n }\r\n}","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import { Nullable, float } from \"../types\";\r\nimport { Observable } from \"./observable\";\r\nimport { DomManagement } from \"./domManagement\";\r\nimport { Logger } from \"./logger\";\r\nimport { _TypeStore } from \"./typeStore\";\r\nimport { DeepCopier } from \"./deepCopier\";\r\nimport { PrecisionDate } from \"./precisionDate\";\r\nimport { _DevTools } from \"./devTools\";\r\nimport { WebRequest } from \"./webRequest\";\r\nimport { IFileRequest } from \"./fileRequest\";\r\nimport { EngineStore } from \"../Engines/engineStore\";\r\nimport { FileTools, ReadFileError } from \"./fileTools\";\r\nimport { IOfflineProvider } from \"../Offline/IOfflineProvider\";\r\nimport { PromisePolyfill } from \"./promise\";\r\nimport { TimingTools } from \"./timingTools\";\r\nimport { InstantiationTools } from \"./instantiationTools\";\r\nimport { GUID } from \"./guid\";\r\nimport { IScreenshotSize } from \"./interfaces/screenshotSize\";\r\n\r\ndeclare type Camera = import(\"../Cameras/camera\").Camera;\r\ndeclare type Engine = import(\"../Engines/engine\").Engine;\r\n\r\ninterface IColor4Like {\r\n r: float;\r\n g: float;\r\n b: float;\r\n a: float;\r\n}\r\n\r\n/**\r\n * Class containing a set of static utilities functions\r\n */\r\nexport class Tools {\r\n /**\r\n * Gets or sets the base URL to use to load assets\r\n */\r\n public static get BaseUrl() {\r\n return FileTools.BaseUrl;\r\n }\r\n\r\n public static set BaseUrl(value: string) {\r\n FileTools.BaseUrl = value;\r\n }\r\n\r\n /**\r\n * Enable/Disable Custom HTTP Request Headers globally.\r\n * default = false\r\n * @see CustomRequestHeaders\r\n */\r\n public static UseCustomRequestHeaders: boolean = false;\r\n\r\n /**\r\n * Custom HTTP Request Headers to be sent with XMLHttpRequests\r\n * i.e. when loading files, where the server/service expects an Authorization header\r\n */\r\n public static CustomRequestHeaders = WebRequest.CustomRequestHeaders;\r\n\r\n /**\r\n * Gets or sets the retry strategy to apply when an error happens while loading an asset\r\n */\r\n public static get DefaultRetryStrategy() {\r\n return FileTools.DefaultRetryStrategy;\r\n }\r\n\r\n public static set DefaultRetryStrategy(strategy: (url: string, request: WebRequest, retryIndex: number) => number) {\r\n FileTools.DefaultRetryStrategy = strategy;\r\n }\r\n\r\n /**\r\n * Default behaviour for cors in the application.\r\n * It can be a string if the expected behavior is identical in the entire app.\r\n * Or a callback to be able to set it per url or on a group of them (in case of Video source for instance)\r\n */\r\n public static get CorsBehavior(): string | ((url: string | string[]) => string) {\r\n return FileTools.CorsBehavior;\r\n }\r\n\r\n public static set CorsBehavior(value: string | ((url: string | string[]) => string)) {\r\n FileTools.CorsBehavior = value;\r\n }\r\n\r\n /**\r\n * Gets or sets a global variable indicating if fallback texture must be used when a texture cannot be loaded\r\n * @ignorenaming\r\n */\r\n public static get UseFallbackTexture() {\r\n return EngineStore.UseFallbackTexture;\r\n }\r\n\r\n public static set UseFallbackTexture(value: boolean) {\r\n EngineStore.UseFallbackTexture = value;\r\n }\r\n\r\n /**\r\n * Use this object to register external classes like custom textures or material\r\n * to allow the laoders to instantiate them\r\n */\r\n public static get RegisteredExternalClasses() {\r\n return InstantiationTools.RegisteredExternalClasses;\r\n }\r\n\r\n public static set RegisteredExternalClasses(classes: { [key: string]: Object }) {\r\n InstantiationTools.RegisteredExternalClasses = classes;\r\n }\r\n\r\n /**\r\n * Texture content used if a texture cannot loaded\r\n * @ignorenaming\r\n */\r\n public static get fallbackTexture() {\r\n return EngineStore.FallbackTexture;\r\n }\r\n\r\n public static set fallbackTexture(value: string) {\r\n EngineStore.FallbackTexture = value;\r\n }\r\n\r\n /**\r\n * Read the content of a byte array at a specified coordinates (taking in account wrapping)\r\n * @param u defines the coordinate on X axis\r\n * @param v defines the coordinate on Y axis\r\n * @param width defines the width of the source data\r\n * @param height defines the height of the source data\r\n * @param pixels defines the source byte array\r\n * @param color defines the output color\r\n */\r\n public static FetchToRef(u: number, v: number, width: number, height: number, pixels: Uint8Array, color: IColor4Like): void {\r\n let wrappedU = (Math.abs(u) * width) % width | 0;\r\n let wrappedV = (Math.abs(v) * height) % height | 0;\r\n\r\n let position = (wrappedU + wrappedV * width) * 4;\r\n color.r = pixels[position] / 255;\r\n color.g = pixels[position + 1] / 255;\r\n color.b = pixels[position + 2] / 255;\r\n color.a = pixels[position + 3] / 255;\r\n }\r\n\r\n /**\r\n * Interpolates between a and b via alpha\r\n * @param a The lower value (returned when alpha = 0)\r\n * @param b The upper value (returned when alpha = 1)\r\n * @param alpha The interpolation-factor\r\n * @return The mixed value\r\n */\r\n public static Mix(a: number, b: number, alpha: number): number {\r\n return a * (1 - alpha) + b * alpha;\r\n }\r\n\r\n /**\r\n * Tries to instantiate a new object from a given class name\r\n * @param className defines the class name to instantiate\r\n * @returns the new object or null if the system was not able to do the instantiation\r\n */\r\n public static Instantiate(className: string): any {\r\n return InstantiationTools.Instantiate(className);\r\n }\r\n\r\n /**\r\n * Provides a slice function that will work even on IE\r\n * @param data defines the array to slice\r\n * @param start defines the start of the data (optional)\r\n * @param end defines the end of the data (optional)\r\n * @returns the new sliced array\r\n */\r\n public static Slice(data: T, start?: number, end?: number): T {\r\n if ((data as any).slice) {\r\n return (data as any).slice(start, end);\r\n }\r\n\r\n return Array.prototype.slice.call(data, start, end);\r\n }\r\n\r\n /**\r\n * Provides a slice function that will work even on IE\r\n * The difference between this and Slice is that this will force-convert to array\r\n * @param data defines the array to slice\r\n * @param start defines the start of the data (optional)\r\n * @param end defines the end of the data (optional)\r\n * @returns the new sliced array\r\n */\r\n public static SliceToArray(data: T, start?: number, end?: number): Array

{\r\n if (Array.isArray(data)) {\r\n return (data as Array

).slice(start, end);\r\n }\r\n\r\n return Array.prototype.slice.call(data, start, end);\r\n }\r\n\r\n /**\r\n * Polyfill for setImmediate\r\n * @param action defines the action to execute after the current execution block\r\n */\r\n public static SetImmediate(action: () => void) {\r\n TimingTools.SetImmediate(action);\r\n }\r\n\r\n /**\r\n * Function indicating if a number is an exponent of 2\r\n * @param value defines the value to test\r\n * @returns true if the value is an exponent of 2\r\n */\r\n public static IsExponentOfTwo(value: number): boolean {\r\n var count = 1;\r\n\r\n do {\r\n count *= 2;\r\n } while (count < value);\r\n\r\n return count === value;\r\n }\r\n\r\n private static _tmpFloatArray = new Float32Array(1);\r\n\r\n /**\r\n * Returns the nearest 32-bit single precision float representation of a Number\r\n * @param value A Number. If the parameter is of a different type, it will get converted\r\n * to a number or to NaN if it cannot be converted\r\n * @returns number\r\n */\r\n public static FloatRound(value: number): number {\r\n if (Math.fround) {\r\n return Math.fround(value);\r\n }\r\n\r\n return (Tools._tmpFloatArray[0] = value);\r\n }\r\n\r\n /**\r\n * Extracts the filename from a path\r\n * @param path defines the path to use\r\n * @returns the filename\r\n */\r\n public static GetFilename(path: string): string {\r\n var index = path.lastIndexOf(\"/\");\r\n if (index < 0) {\r\n return path;\r\n }\r\n\r\n return path.substring(index + 1);\r\n }\r\n\r\n /**\r\n * Extracts the \"folder\" part of a path (everything before the filename).\r\n * @param uri The URI to extract the info from\r\n * @param returnUnchangedIfNoSlash Do not touch the URI if no slashes are present\r\n * @returns The \"folder\" part of the path\r\n */\r\n public static GetFolderPath(uri: string, returnUnchangedIfNoSlash = false): string {\r\n var index = uri.lastIndexOf(\"/\");\r\n if (index < 0) {\r\n if (returnUnchangedIfNoSlash) {\r\n return uri;\r\n }\r\n return \"\";\r\n }\r\n\r\n return uri.substring(0, index + 1);\r\n }\r\n\r\n /**\r\n * Extracts text content from a DOM element hierarchy\r\n * Back Compat only, please use DomManagement.GetDOMTextContent instead.\r\n */\r\n public static GetDOMTextContent = DomManagement.GetDOMTextContent;\r\n\r\n /**\r\n * Convert an angle in radians to degrees\r\n * @param angle defines the angle to convert\r\n * @returns the angle in degrees\r\n */\r\n public static ToDegrees(angle: number): number {\r\n return (angle * 180) / Math.PI;\r\n }\r\n\r\n /**\r\n * Convert an angle in degrees to radians\r\n * @param angle defines the angle to convert\r\n * @returns the angle in radians\r\n */\r\n public static ToRadians(angle: number): number {\r\n return (angle * Math.PI) / 180;\r\n }\r\n\r\n /**\r\n * Returns an array if obj is not an array\r\n * @param obj defines the object to evaluate as an array\r\n * @param allowsNullUndefined defines a boolean indicating if obj is allowed to be null or undefined\r\n * @returns either obj directly if obj is an array or a new array containing obj\r\n */\r\n public static MakeArray(obj: any, allowsNullUndefined?: boolean): Nullable> {\r\n if (allowsNullUndefined !== true && (obj === undefined || obj == null)) {\r\n return null;\r\n }\r\n\r\n return Array.isArray(obj) ? obj : [obj];\r\n }\r\n\r\n /**\r\n * Gets the pointer prefix to use\r\n * @param engine defines the engine we are finding the prefix for\r\n * @returns \"pointer\" if touch is enabled. Else returns \"mouse\"\r\n */\r\n public static GetPointerPrefix(engine: Engine): string {\r\n var eventPrefix = \"pointer\";\r\n\r\n // Check if pointer events are supported\r\n if (DomManagement.IsWindowObjectExist() && !window.PointerEvent && DomManagement.IsNavigatorAvailable() && !navigator.pointerEnabled) {\r\n eventPrefix = \"mouse\";\r\n }\r\n\r\n // Special Fallback MacOS Safari...\r\n if (\r\n engine._badDesktopOS &&\r\n !engine._badOS &&\r\n // And not ipad pros who claim to be macs...\r\n !(document && \"ontouchend\" in document)\r\n ) {\r\n eventPrefix = \"mouse\";\r\n }\r\n\r\n return eventPrefix;\r\n }\r\n\r\n /**\r\n * Sets the cors behavior on a dom element. This will add the required Tools.CorsBehavior to the element.\r\n * @param url define the url we are trying\r\n * @param element define the dom element where to configure the cors policy\r\n */\r\n public static SetCorsBehavior(url: string | string[], element: { crossOrigin: string | null }): void {\r\n FileTools.SetCorsBehavior(url, element);\r\n }\r\n\r\n // External files\r\n\r\n /**\r\n * Removes unwanted characters from an url\r\n * @param url defines the url to clean\r\n * @returns the cleaned url\r\n */\r\n public static CleanUrl(url: string): string {\r\n url = url.replace(/#/gm, \"%23\");\r\n return url;\r\n }\r\n\r\n /**\r\n * Gets or sets a function used to pre-process url before using them to load assets\r\n */\r\n public static get PreprocessUrl() {\r\n return FileTools.PreprocessUrl;\r\n }\r\n\r\n public static set PreprocessUrl(processor: (url: string) => string) {\r\n FileTools.PreprocessUrl = processor;\r\n }\r\n\r\n /**\r\n * Loads an image as an HTMLImageElement.\r\n * @param input url string, ArrayBuffer, or Blob to load\r\n * @param onLoad callback called when the image successfully loads\r\n * @param onError callback called when the image fails to load\r\n * @param offlineProvider offline provider for caching\r\n * @param mimeType optional mime type\r\n * @returns the HTMLImageElement of the loaded image\r\n */\r\n public static LoadImage(input: string | ArrayBuffer | Blob, onLoad: (img: HTMLImageElement | ImageBitmap) => void, onError: (message?: string, exception?: any) => void, offlineProvider: Nullable, mimeType?: string): Nullable {\r\n return FileTools.LoadImage(input, onLoad, onError, offlineProvider, mimeType);\r\n }\r\n\r\n /**\r\n * Loads a file from a url\r\n * @param url url string, ArrayBuffer, or Blob to load\r\n * @param onSuccess callback called when the file successfully loads\r\n * @param onProgress callback called while file is loading (if the server supports this mode)\r\n * @param offlineProvider defines the offline provider for caching\r\n * @param useArrayBuffer defines a boolean indicating that date must be returned as ArrayBuffer\r\n * @param onError callback called when the file fails to load\r\n * @returns a file request object\r\n */\r\n public static LoadFile(url: string, onSuccess: (data: string | ArrayBuffer, responseURL?: string) => void, onProgress?: (data: any) => void, offlineProvider?: IOfflineProvider, useArrayBuffer?: boolean, onError?: (request?: WebRequest, exception?: any) => void): IFileRequest {\r\n return FileTools.LoadFile(url, onSuccess, onProgress, offlineProvider, useArrayBuffer, onError);\r\n }\r\n\r\n /**\r\n * Loads a file from a url\r\n * @param url the file url to load\r\n * @param useArrayBuffer defines a boolean indicating that date must be returned as ArrayBuffer\r\n * @returns a promise containing an ArrayBuffer corresponding to the loaded file\r\n */\r\n public static LoadFileAsync(url: string, useArrayBuffer: boolean = true): Promise {\r\n return new Promise((resolve, reject) => {\r\n FileTools.LoadFile(\r\n url,\r\n (data) => {\r\n resolve(data);\r\n },\r\n undefined,\r\n undefined,\r\n useArrayBuffer,\r\n (request, exception) => {\r\n reject(exception);\r\n }\r\n );\r\n });\r\n }\r\n\r\n /**\r\n * Load a script (identified by an url). When the url returns, the\r\n * content of this file is added into a new script element, attached to the DOM (body element)\r\n * @param scriptUrl defines the url of the script to laod\r\n * @param onSuccess defines the callback called when the script is loaded\r\n * @param onError defines the callback to call if an error occurs\r\n * @param scriptId defines the id of the script element\r\n */\r\n public static LoadScript(scriptUrl: string, onSuccess: () => void, onError?: (message?: string, exception?: any) => void, scriptId?: string) {\r\n if (!DomManagement.IsWindowObjectExist()) {\r\n return;\r\n }\r\n var head = document.getElementsByTagName(\"head\")[0];\r\n var script = document.createElement(\"script\");\r\n script.setAttribute(\"type\", \"text/javascript\");\r\n script.setAttribute(\"src\", scriptUrl);\r\n if (scriptId) {\r\n script.id = scriptId;\r\n }\r\n\r\n script.onload = () => {\r\n if (onSuccess) {\r\n onSuccess();\r\n }\r\n };\r\n\r\n script.onerror = (e) => {\r\n if (onError) {\r\n onError(`Unable to load script '${scriptUrl}'`, e);\r\n }\r\n };\r\n\r\n head.appendChild(script);\r\n }\r\n\r\n /**\r\n * Load an asynchronous script (identified by an url). When the url returns, the\r\n * content of this file is added into a new script element, attached to the DOM (body element)\r\n * @param scriptUrl defines the url of the script to laod\r\n * @param scriptId defines the id of the script element\r\n * @returns a promise request object\r\n */\r\n public static LoadScriptAsync(scriptUrl: string, scriptId?: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.LoadScript(\r\n scriptUrl,\r\n () => {\r\n resolve();\r\n },\r\n (message, exception) => {\r\n reject(exception);\r\n }\r\n );\r\n });\r\n }\r\n\r\n /**\r\n * Loads a file from a blob\r\n * @param fileToLoad defines the blob to use\r\n * @param callback defines the callback to call when data is loaded\r\n * @param progressCallback defines the callback to call during loading process\r\n * @returns a file request object\r\n */\r\n public static ReadFileAsDataURL(fileToLoad: Blob, callback: (data: any) => void, progressCallback: (ev: ProgressEvent) => any): IFileRequest {\r\n let reader = new FileReader();\r\n\r\n let request: IFileRequest = {\r\n onCompleteObservable: new Observable(),\r\n abort: () => reader.abort(),\r\n };\r\n\r\n reader.onloadend = (e) => {\r\n request.onCompleteObservable.notifyObservers(request);\r\n };\r\n\r\n reader.onload = (e) => {\r\n //target doesn't have result from ts 1.3\r\n callback((e.target)[\"result\"]);\r\n };\r\n\r\n reader.onprogress = progressCallback;\r\n\r\n reader.readAsDataURL(fileToLoad);\r\n\r\n return request;\r\n }\r\n\r\n /**\r\n * Reads a file from a File object\r\n * @param file defines the file to load\r\n * @param onSuccess defines the callback to call when data is loaded\r\n * @param onProgress defines the callback to call during loading process\r\n * @param useArrayBuffer defines a boolean indicating that data must be returned as an ArrayBuffer\r\n * @param onError defines the callback to call when an error occurs\r\n * @returns a file request object\r\n */\r\n public static ReadFile(file: File, onSuccess: (data: any) => void, onProgress?: (ev: ProgressEvent) => any, useArrayBuffer?: boolean, onError?: (error: ReadFileError) => void): IFileRequest {\r\n return FileTools.ReadFile(file, onSuccess, onProgress, useArrayBuffer, onError);\r\n }\r\n\r\n /**\r\n * Creates a data url from a given string content\r\n * @param content defines the content to convert\r\n * @returns the new data url link\r\n */\r\n public static FileAsURL(content: string): string {\r\n var fileBlob = new Blob([content]);\r\n var url = window.URL || window.webkitURL;\r\n var link: string = url.createObjectURL(fileBlob);\r\n return link;\r\n }\r\n\r\n /**\r\n * Format the given number to a specific decimal format\r\n * @param value defines the number to format\r\n * @param decimals defines the number of decimals to use\r\n * @returns the formatted string\r\n */\r\n public static Format(value: number, decimals: number = 2): string {\r\n return value.toFixed(decimals);\r\n }\r\n\r\n /**\r\n * Tries to copy an object by duplicating every property\r\n * @param source defines the source object\r\n * @param destination defines the target object\r\n * @param doNotCopyList defines a list of properties to avoid\r\n * @param mustCopyList defines a list of properties to copy (even if they start with _)\r\n */\r\n public static DeepCopy(source: any, destination: any, doNotCopyList?: string[], mustCopyList?: string[]): void {\r\n DeepCopier.DeepCopy(source, destination, doNotCopyList, mustCopyList);\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if the given object has no own property\r\n * @param obj defines the object to test\r\n * @returns true if object has no own property\r\n */\r\n public static IsEmpty(obj: any): boolean {\r\n for (var i in obj) {\r\n if (obj.hasOwnProperty(i)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Function used to register events at window level\r\n * @param windowElement defines the Window object to use\r\n * @param events defines the events to register\r\n */\r\n public static RegisterTopRootEvents(windowElement: Window, events: { name: string; handler: Nullable<(e: FocusEvent) => any> }[]): void {\r\n for (var index = 0; index < events.length; index++) {\r\n var event = events[index];\r\n windowElement.addEventListener(event.name, event.handler, false);\r\n\r\n try {\r\n if (window.parent) {\r\n window.parent.addEventListener(event.name, event.handler, false);\r\n }\r\n } catch (e) {\r\n // Silently fails...\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Function used to unregister events from window level\r\n * @param windowElement defines the Window object to use\r\n * @param events defines the events to unregister\r\n */\r\n public static UnregisterTopRootEvents(windowElement: Window, events: { name: string; handler: Nullable<(e: FocusEvent) => any> }[]): void {\r\n for (var index = 0; index < events.length; index++) {\r\n var event = events[index];\r\n windowElement.removeEventListener(event.name, event.handler);\r\n\r\n try {\r\n if (windowElement.parent) {\r\n windowElement.parent.removeEventListener(event.name, event.handler);\r\n }\r\n } catch (e) {\r\n // Silently fails...\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n public static _ScreenshotCanvas: HTMLCanvasElement;\r\n\r\n /**\r\n * Dumps the current bound framebuffer\r\n * @param width defines the rendering width\r\n * @param height defines the rendering height\r\n * @param engine defines the hosting engine\r\n * @param successCallback defines the callback triggered once the data are available\r\n * @param mimeType defines the mime type of the result\r\n * @param fileName defines the filename to download. If present, the result will automatically be downloaded\r\n */\r\n public static DumpFramebuffer(width: number, height: number, engine: Engine, successCallback?: (data: string) => void, mimeType: string = \"image/png\", fileName?: string): void {\r\n // Read the contents of the framebuffer\r\n var numberOfChannelsByLine = width * 4;\r\n var halfHeight = height / 2;\r\n\r\n //Reading datas from WebGL\r\n var data = engine.readPixels(0, 0, width, height);\r\n\r\n //To flip image on Y axis.\r\n for (var i = 0; i < halfHeight; i++) {\r\n for (var j = 0; j < numberOfChannelsByLine; j++) {\r\n var currentCell = j + i * numberOfChannelsByLine;\r\n var targetLine = height - i - 1;\r\n var targetCell = j + targetLine * numberOfChannelsByLine;\r\n\r\n var temp = data[currentCell];\r\n data[currentCell] = data[targetCell];\r\n data[targetCell] = temp;\r\n }\r\n }\r\n\r\n // Create a 2D canvas to store the result\r\n if (!Tools._ScreenshotCanvas) {\r\n Tools._ScreenshotCanvas = document.createElement(\"canvas\");\r\n }\r\n Tools._ScreenshotCanvas.width = width;\r\n Tools._ScreenshotCanvas.height = height;\r\n var context = Tools._ScreenshotCanvas.getContext(\"2d\");\r\n\r\n if (context) {\r\n // Copy the pixels to a 2D canvas\r\n var imageData = context.createImageData(width, height);\r\n var castData = imageData.data;\r\n castData.set(data);\r\n context.putImageData(imageData, 0, 0);\r\n\r\n Tools.EncodeScreenshotCanvasData(successCallback, mimeType, fileName);\r\n }\r\n }\r\n\r\n /**\r\n * Converts the canvas data to blob.\r\n * This acts as a polyfill for browsers not supporting the to blob function.\r\n * @param canvas Defines the canvas to extract the data from\r\n * @param successCallback Defines the callback triggered once the data are available\r\n * @param mimeType Defines the mime type of the result\r\n */\r\n static ToBlob(canvas: HTMLCanvasElement, successCallback: (blob: Nullable) => void, mimeType: string = \"image/png\"): void {\r\n // We need HTMLCanvasElement.toBlob for HD screenshots\r\n if (!canvas.toBlob) {\r\n // low performance polyfill based on toDataURL (https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob)\r\n canvas.toBlob = function (callback, type, quality) {\r\n setTimeout(() => {\r\n var binStr = atob(this.toDataURL(type, quality).split(\",\")[1]),\r\n len = binStr.length,\r\n arr = new Uint8Array(len);\r\n\r\n for (var i = 0; i < len; i++) {\r\n arr[i] = binStr.charCodeAt(i);\r\n }\r\n callback(new Blob([arr]));\r\n });\r\n };\r\n }\r\n canvas.toBlob(function (blob) {\r\n successCallback(blob);\r\n }, mimeType);\r\n }\r\n\r\n /**\r\n * Encodes the canvas data to base 64 or automatically download the result if filename is defined\r\n * @param successCallback defines the callback triggered once the data are available\r\n * @param mimeType defines the mime type of the result\r\n * @param fileName defines he filename to download. If present, the result will automatically be downloaded\r\n */\r\n static EncodeScreenshotCanvasData(successCallback?: (data: string) => void, mimeType: string = \"image/png\", fileName?: string): void {\r\n if (successCallback) {\r\n var base64Image = Tools._ScreenshotCanvas.toDataURL(mimeType);\r\n successCallback(base64Image);\r\n } else {\r\n this.ToBlob(\r\n Tools._ScreenshotCanvas,\r\n function (blob) {\r\n //Creating a link if the browser have the download attribute on the a tag, to automatically start download generated image.\r\n if (\"download\" in document.createElement(\"a\")) {\r\n if (!fileName) {\r\n var date = new Date();\r\n var stringDate = (date.getFullYear() + \"-\" + (date.getMonth() + 1)).slice(2) + \"-\" + date.getDate() + \"_\" + date.getHours() + \"-\" + (\"0\" + date.getMinutes()).slice(-2);\r\n fileName = \"screenshot_\" + stringDate + \".png\";\r\n }\r\n Tools.Download(blob!, fileName);\r\n } else {\r\n var url = URL.createObjectURL(blob);\r\n\r\n var newWindow = window.open(\"\");\r\n if (!newWindow) {\r\n return;\r\n }\r\n var img = newWindow.document.createElement(\"img\");\r\n img.onload = function () {\r\n // no longer need to read the blob so it's revoked\r\n URL.revokeObjectURL(url);\r\n };\r\n img.src = url;\r\n newWindow.document.body.appendChild(img);\r\n }\r\n },\r\n mimeType\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Downloads a blob in the browser\r\n * @param blob defines the blob to download\r\n * @param fileName defines the name of the downloaded file\r\n */\r\n public static Download(blob: Blob, fileName: string): void {\r\n if (navigator && navigator.msSaveBlob) {\r\n navigator.msSaveBlob(blob, fileName);\r\n return;\r\n }\r\n\r\n var url = window.URL.createObjectURL(blob);\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.style.display = \"none\";\r\n a.href = url;\r\n a.download = fileName;\r\n a.addEventListener(\"click\", () => {\r\n if (a.parentElement) {\r\n a.parentElement.removeChild(a);\r\n }\r\n });\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n }\r\n\r\n /**\r\n * Will return the right value of the noPreventDefault variable\r\n * Needed to keep backwards compatibility to the old API.\r\n *\r\n * @param args arguments passed to the attachControl function\r\n * @returns the correct value for noPreventDefault\r\n */\r\n public static BackCompatCameraNoPreventDefault(args: IArguments): boolean {\r\n // is it used correctly?\r\n if (typeof args[0] === \"boolean\") {\r\n return args[0];\r\n } else if (typeof args[1] === \"boolean\") {\r\n return args[1];\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Captures a screenshot of the current rendering\r\n * @see https://doc.babylonjs.com/how_to/render_scene_on_a_png\r\n * @param engine defines the rendering engine\r\n * @param camera defines the source camera\r\n * @param size This parameter can be set to a single number or to an object with the\r\n * following (optional) properties: precision, width, height. If a single number is passed,\r\n * it will be used for both width and height. If an object is passed, the screenshot size\r\n * will be derived from the parameters. The precision property is a multiplier allowing\r\n * rendering at a higher or lower resolution\r\n * @param successCallback defines the callback receives a single parameter which contains the\r\n * screenshot as a string of base64-encoded characters. This string can be assigned to the\r\n * src parameter of an to display it\r\n * @param mimeType defines the MIME type of the screenshot image (default: image/png).\r\n * Check your browser for supported MIME types\r\n */\r\n public static CreateScreenshot(engine: Engine, camera: Camera, size: IScreenshotSize | number, successCallback?: (data: string) => void, mimeType: string = \"image/png\"): void {\r\n throw _DevTools.WarnImport(\"ScreenshotTools\");\r\n }\r\n\r\n /**\r\n * Captures a screenshot of the current rendering\r\n * @see https://doc.babylonjs.com/how_to/render_scene_on_a_png\r\n * @param engine defines the rendering engine\r\n * @param camera defines the source camera\r\n * @param size This parameter can be set to a single number or to an object with the\r\n * following (optional) properties: precision, width, height. If a single number is passed,\r\n * it will be used for both width and height. If an object is passed, the screenshot size\r\n * will be derived from the parameters. The precision property is a multiplier allowing\r\n * rendering at a higher or lower resolution\r\n * @param mimeType defines the MIME type of the screenshot image (default: image/png).\r\n * Check your browser for supported MIME types\r\n * @returns screenshot as a string of base64-encoded characters. This string can be assigned\r\n * to the src parameter of an to display it\r\n */\r\n public static CreateScreenshotAsync(engine: Engine, camera: Camera, size: IScreenshotSize | number, mimeType: string = \"image/png\"): Promise {\r\n throw _DevTools.WarnImport(\"ScreenshotTools\");\r\n }\r\n\r\n /**\r\n * Generates an image screenshot from the specified camera.\r\n * @see https://doc.babylonjs.com/how_to/render_scene_on_a_png\r\n * @param engine The engine to use for rendering\r\n * @param camera The camera to use for rendering\r\n * @param size This parameter can be set to a single number or to an object with the\r\n * following (optional) properties: precision, width, height. If a single number is passed,\r\n * it will be used for both width and height. If an object is passed, the screenshot size\r\n * will be derived from the parameters. The precision property is a multiplier allowing\r\n * rendering at a higher or lower resolution\r\n * @param successCallback The callback receives a single parameter which contains the\r\n * screenshot as a string of base64-encoded characters. This string can be assigned to the\r\n * src parameter of an to display it\r\n * @param mimeType The MIME type of the screenshot image (default: image/png).\r\n * Check your browser for supported MIME types\r\n * @param samples Texture samples (default: 1)\r\n * @param antialiasing Whether antialiasing should be turned on or not (default: false)\r\n * @param fileName A name for for the downloaded file.\r\n */\r\n public static CreateScreenshotUsingRenderTarget(engine: Engine, camera: Camera, size: IScreenshotSize | number, successCallback?: (data: string) => void, mimeType: string = \"image/png\", samples: number = 1, antialiasing: boolean = false, fileName?: string): void {\r\n throw _DevTools.WarnImport(\"ScreenshotTools\");\r\n }\r\n\r\n /**\r\n * Generates an image screenshot from the specified camera.\r\n * @see https://doc.babylonjs.com/how_to/render_scene_on_a_png\r\n * @param engine The engine to use for rendering\r\n * @param camera The camera to use for rendering\r\n * @param size This parameter can be set to a single number or to an object with the\r\n * following (optional) properties: precision, width, height. If a single number is passed,\r\n * it will be used for both width and height. If an object is passed, the screenshot size\r\n * will be derived from the parameters. The precision property is a multiplier allowing\r\n * rendering at a higher or lower resolution\r\n * @param mimeType The MIME type of the screenshot image (default: image/png).\r\n * Check your browser for supported MIME types\r\n * @param samples Texture samples (default: 1)\r\n * @param antialiasing Whether antialiasing should be turned on or not (default: false)\r\n * @param fileName A name for for the downloaded file.\r\n * @returns screenshot as a string of base64-encoded characters. This string can be assigned\r\n * to the src parameter of an to display it\r\n */\r\n public static CreateScreenshotUsingRenderTargetAsync(engine: Engine, camera: Camera, size: IScreenshotSize | number, mimeType: string = \"image/png\", samples: number = 1, antialiasing: boolean = false, fileName?: string): Promise {\r\n throw _DevTools.WarnImport(\"ScreenshotTools\");\r\n }\r\n\r\n /**\r\n * Implementation from http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#answer-2117523\r\n * Be aware Math.random() could cause collisions, but:\r\n * \"All but 6 of the 128 bits of the ID are randomly generated, which means that for any two ids, there's a 1 in 2^^122 (or 5.3x10^^36) chance they'll collide\"\r\n * @returns a pseudo random id\r\n */\r\n public static RandomId(): string {\r\n return GUID.RandomId();\r\n }\r\n\r\n /**\r\n * Test if the given uri is a base64 string\r\n * @param uri The uri to test\r\n * @return True if the uri is a base64 string or false otherwise\r\n */\r\n public static IsBase64(uri: string): boolean {\r\n return uri.length < 5 ? false : uri.substr(0, 5) === \"data:\";\r\n }\r\n\r\n /**\r\n * Decode the given base64 uri.\r\n * @param uri The uri to decode\r\n * @return The decoded base64 data.\r\n */\r\n public static DecodeBase64(uri: string): ArrayBuffer {\r\n const decodedString = atob(uri.split(\",\")[1]);\r\n const bufferLength = decodedString.length;\r\n const bufferView = new Uint8Array(new ArrayBuffer(bufferLength));\r\n\r\n for (let i = 0; i < bufferLength; i++) {\r\n bufferView[i] = decodedString.charCodeAt(i);\r\n }\r\n\r\n return bufferView.buffer;\r\n }\r\n\r\n /**\r\n * Gets the absolute url.\r\n * @param url the input url\r\n * @return the absolute url\r\n */\r\n public static GetAbsoluteUrl(url: string): string {\r\n const a = document.createElement(\"a\");\r\n a.href = url;\r\n return a.href;\r\n }\r\n\r\n // Logs\r\n /**\r\n * No log\r\n */\r\n public static readonly NoneLogLevel = Logger.NoneLogLevel;\r\n /**\r\n * Only message logs\r\n */\r\n public static readonly MessageLogLevel = Logger.MessageLogLevel;\r\n /**\r\n * Only warning logs\r\n */\r\n public static readonly WarningLogLevel = Logger.WarningLogLevel;\r\n /**\r\n * Only error logs\r\n */\r\n public static readonly ErrorLogLevel = Logger.ErrorLogLevel;\r\n /**\r\n * All logs\r\n */\r\n public static readonly AllLogLevel = Logger.AllLogLevel;\r\n\r\n /**\r\n * Gets a value indicating the number of loading errors\r\n * @ignorenaming\r\n */\r\n public static get errorsCount(): number {\r\n return Logger.errorsCount;\r\n }\r\n\r\n /**\r\n * Callback called when a new log is added\r\n */\r\n public static OnNewCacheEntry: (entry: string) => void;\r\n\r\n /**\r\n * Log a message to the console\r\n * @param message defines the message to log\r\n */\r\n public static Log(message: string): void {\r\n Logger.Log(message);\r\n }\r\n\r\n /**\r\n * Write a warning message to the console\r\n * @param message defines the message to log\r\n */\r\n public static Warn(message: string): void {\r\n Logger.Warn(message);\r\n }\r\n\r\n /**\r\n * Write an error message to the console\r\n * @param message defines the message to log\r\n */\r\n public static Error(message: string): void {\r\n Logger.Error(message);\r\n }\r\n\r\n /**\r\n * Gets current log cache (list of logs)\r\n */\r\n public static get LogCache(): string {\r\n return Logger.LogCache;\r\n }\r\n\r\n /**\r\n * Clears the log cache\r\n */\r\n public static ClearLogCache(): void {\r\n Logger.ClearLogCache();\r\n }\r\n\r\n /**\r\n * Sets the current log level (MessageLogLevel / WarningLogLevel / ErrorLogLevel)\r\n */\r\n public static set LogLevels(level: number) {\r\n Logger.LogLevels = level;\r\n }\r\n\r\n /**\r\n * Checks if the window object exists\r\n * Back Compat only, please use DomManagement.IsWindowObjectExist instead.\r\n */\r\n public static IsWindowObjectExist = DomManagement.IsWindowObjectExist;\r\n\r\n // Performances\r\n\r\n /**\r\n * No performance log\r\n */\r\n public static readonly PerformanceNoneLogLevel = 0;\r\n /**\r\n * Use user marks to log performance\r\n */\r\n public static readonly PerformanceUserMarkLogLevel = 1;\r\n /**\r\n * Log performance to the console\r\n */\r\n public static readonly PerformanceConsoleLogLevel = 2;\r\n\r\n private static _performance: Performance;\r\n\r\n /**\r\n * Sets the current performance log level\r\n */\r\n public static set PerformanceLogLevel(level: number) {\r\n if ((level & Tools.PerformanceUserMarkLogLevel) === Tools.PerformanceUserMarkLogLevel) {\r\n Tools.StartPerformanceCounter = Tools._StartUserMark;\r\n Tools.EndPerformanceCounter = Tools._EndUserMark;\r\n return;\r\n }\r\n\r\n if ((level & Tools.PerformanceConsoleLogLevel) === Tools.PerformanceConsoleLogLevel) {\r\n Tools.StartPerformanceCounter = Tools._StartPerformanceConsole;\r\n Tools.EndPerformanceCounter = Tools._EndPerformanceConsole;\r\n return;\r\n }\r\n\r\n Tools.StartPerformanceCounter = Tools._StartPerformanceCounterDisabled;\r\n Tools.EndPerformanceCounter = Tools._EndPerformanceCounterDisabled;\r\n }\r\n\r\n private static _StartPerformanceCounterDisabled(counterName: string, condition?: boolean): void {}\r\n\r\n private static _EndPerformanceCounterDisabled(counterName: string, condition?: boolean): void {}\r\n\r\n private static _StartUserMark(counterName: string, condition = true): void {\r\n if (!Tools._performance) {\r\n if (!DomManagement.IsWindowObjectExist()) {\r\n return;\r\n }\r\n Tools._performance = window.performance;\r\n }\r\n\r\n if (!condition || !Tools._performance.mark) {\r\n return;\r\n }\r\n Tools._performance.mark(counterName + \"-Begin\");\r\n }\r\n\r\n private static _EndUserMark(counterName: string, condition = true): void {\r\n if (!condition || !Tools._performance.mark) {\r\n return;\r\n }\r\n Tools._performance.mark(counterName + \"-End\");\r\n Tools._performance.measure(counterName, counterName + \"-Begin\", counterName + \"-End\");\r\n }\r\n\r\n private static _StartPerformanceConsole(counterName: string, condition = true): void {\r\n if (!condition) {\r\n return;\r\n }\r\n\r\n Tools._StartUserMark(counterName, condition);\r\n\r\n if (console.time) {\r\n console.time(counterName);\r\n }\r\n }\r\n\r\n private static _EndPerformanceConsole(counterName: string, condition = true): void {\r\n if (!condition) {\r\n return;\r\n }\r\n\r\n Tools._EndUserMark(counterName, condition);\r\n\r\n console.timeEnd(counterName);\r\n }\r\n\r\n /**\r\n * Starts a performance counter\r\n */\r\n public static StartPerformanceCounter: (counterName: string, condition?: boolean) => void = Tools._StartPerformanceCounterDisabled;\r\n\r\n /**\r\n * Ends a specific performance coutner\r\n */\r\n public static EndPerformanceCounter: (counterName: string, condition?: boolean) => void = Tools._EndPerformanceCounterDisabled;\r\n\r\n /**\r\n * Gets either window.performance.now() if supported or Date.now() else\r\n */\r\n public static get Now(): number {\r\n return PrecisionDate.Now;\r\n }\r\n\r\n /**\r\n * This method will return the name of the class used to create the instance of the given object.\r\n * It will works only on Javascript basic data types (number, string, ...) and instance of class declared with the @className decorator.\r\n * @param object the object to get the class name from\r\n * @param isType defines if the object is actually a type\r\n * @returns the name of the class, will be \"object\" for a custom data type not using the @className decorator\r\n */\r\n public static GetClassName(object: any, isType: boolean = false): string {\r\n let name = null;\r\n\r\n if (!isType && object.getClassName) {\r\n name = object.getClassName();\r\n } else {\r\n if (object instanceof Object) {\r\n let classObj = isType ? object : Object.getPrototypeOf(object);\r\n name = classObj.constructor[\"__bjsclassName__\"];\r\n }\r\n if (!name) {\r\n name = typeof object;\r\n }\r\n }\r\n return name;\r\n }\r\n\r\n /**\r\n * Gets the first element of an array satisfying a given predicate\r\n * @param array defines the array to browse\r\n * @param predicate defines the predicate to use\r\n * @returns null if not found or the element\r\n */\r\n public static First(array: Array, predicate: (item: T) => boolean): Nullable {\r\n for (let el of array) {\r\n if (predicate(el)) {\r\n return el;\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * This method will return the name of the full name of the class, including its owning module (if any).\r\n * It will works only on Javascript basic data types (number, string, ...) and instance of class declared with the @className decorator or implementing a method getClassName():string (in which case the module won't be specified).\r\n * @param object the object to get the class name from\r\n * @param isType defines if the object is actually a type\r\n * @return a string that can have two forms: \"moduleName.className\" if module was specified when the class' Name was registered or \"className\" if there was not module specified.\r\n * @ignorenaming\r\n */\r\n public static getFullClassName(object: any, isType: boolean = false): Nullable {\r\n let className = null;\r\n let moduleName = null;\r\n\r\n if (!isType && object.getClassName) {\r\n className = object.getClassName();\r\n } else {\r\n if (object instanceof Object) {\r\n let classObj = isType ? object : Object.getPrototypeOf(object);\r\n className = classObj.constructor[\"__bjsclassName__\"];\r\n moduleName = classObj.constructor[\"__bjsmoduleName__\"];\r\n }\r\n if (!className) {\r\n className = typeof object;\r\n }\r\n }\r\n\r\n if (!className) {\r\n return null;\r\n }\r\n\r\n return (moduleName != null ? moduleName + \".\" : \"\") + className;\r\n }\r\n\r\n /**\r\n * Returns a promise that resolves after the given amount of time.\r\n * @param delay Number of milliseconds to delay\r\n * @returns Promise that resolves after the given amount of time\r\n */\r\n public static DelayAsync(delay: number): Promise {\r\n return new Promise((resolve) => {\r\n setTimeout(() => {\r\n resolve();\r\n }, delay);\r\n });\r\n }\r\n\r\n /**\r\n * Utility function to detect if the current user agent is Safari\r\n * @returns whether or not the current user agent is safari\r\n */\r\n public static IsSafari(): boolean {\r\n return /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\r\n }\r\n}\r\n\r\n/**\r\n * Use this className as a decorator on a given class definition to add it a name and optionally its module.\r\n * You can then use the Tools.getClassName(obj) on an instance to retrieve its class name.\r\n * This method is the only way to get it done in all cases, even if the .js file declaring the class is minified\r\n * @param name The name of the class, case should be preserved\r\n * @param module The name of the Module hosting the class, optional, but strongly recommended to specify if possible. Case should be preserved.\r\n */\r\nexport function className(name: string, module?: string): (target: Object) => void {\r\n return (target: Object) => {\r\n (target)[\"__bjsclassName__\"] = name;\r\n (target)[\"__bjsmoduleName__\"] = module != null ? module : null;\r\n };\r\n}\r\n\r\n/**\r\n * An implementation of a loop for asynchronous functions.\r\n */\r\nexport class AsyncLoop {\r\n /**\r\n * Defines the current index of the loop.\r\n */\r\n public index: number;\r\n private _done: boolean;\r\n private _fn: (asyncLoop: AsyncLoop) => void;\r\n private _successCallback: () => void;\r\n\r\n /**\r\n * Constructor.\r\n * @param iterations the number of iterations.\r\n * @param func the function to run each iteration\r\n * @param successCallback the callback that will be called upon succesful execution\r\n * @param offset starting offset.\r\n */\r\n constructor(\r\n /**\r\n * Defines the number of iterations for the loop\r\n */\r\n public iterations: number,\r\n func: (asyncLoop: AsyncLoop) => void,\r\n successCallback: () => void,\r\n offset: number = 0\r\n ) {\r\n this.index = offset - 1;\r\n this._done = false;\r\n this._fn = func;\r\n this._successCallback = successCallback;\r\n }\r\n\r\n /**\r\n * Execute the next iteration. Must be called after the last iteration was finished.\r\n */\r\n public executeNext(): void {\r\n if (!this._done) {\r\n if (this.index + 1 < this.iterations) {\r\n ++this.index;\r\n this._fn(this);\r\n } else {\r\n this.breakLoop();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Break the loop and run the success callback.\r\n */\r\n public breakLoop(): void {\r\n this._done = true;\r\n this._successCallback();\r\n }\r\n\r\n /**\r\n * Create and run an async loop.\r\n * @param iterations the number of iterations.\r\n * @param fn the function to run each iteration\r\n * @param successCallback the callback that will be called upon succesful execution\r\n * @param offset starting offset.\r\n * @returns the created async loop object\r\n */\r\n public static Run(iterations: number, fn: (asyncLoop: AsyncLoop) => void, successCallback: () => void, offset: number = 0): AsyncLoop {\r\n var loop = new AsyncLoop(iterations, fn, successCallback, offset);\r\n\r\n loop.executeNext();\r\n\r\n return loop;\r\n }\r\n\r\n /**\r\n * A for-loop that will run a given number of iterations synchronous and the rest async.\r\n * @param iterations total number of iterations\r\n * @param syncedIterations number of synchronous iterations in each async iteration.\r\n * @param fn the function to call each iteration.\r\n * @param callback a success call back that will be called when iterating stops.\r\n * @param breakFunction a break condition (optional)\r\n * @param timeout timeout settings for the setTimeout function. default - 0.\r\n * @returns the created async loop object\r\n */\r\n public static SyncAsyncForLoop(iterations: number, syncedIterations: number, fn: (iteration: number) => void, callback: () => void, breakFunction?: () => boolean, timeout: number = 0): AsyncLoop {\r\n return AsyncLoop.Run(\r\n Math.ceil(iterations / syncedIterations),\r\n (loop: AsyncLoop) => {\r\n if (breakFunction && breakFunction()) {\r\n loop.breakLoop();\r\n } else {\r\n setTimeout(() => {\r\n for (var i = 0; i < syncedIterations; ++i) {\r\n var iteration = loop.index * syncedIterations + i;\r\n if (iteration >= iterations) {\r\n break;\r\n }\r\n fn(iteration);\r\n if (breakFunction && breakFunction()) {\r\n loop.breakLoop();\r\n break;\r\n }\r\n }\r\n loop.executeNext();\r\n }, timeout);\r\n }\r\n },\r\n callback\r\n );\r\n }\r\n}\r\n\r\n// Will only be define if Tools is imported freeing up some space when only engine is required\r\nEngineStore.FallbackTexture =\r\n \"data:image/jpg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBmRXhpZgAATU0AKgAAAAgABAEaAAUAAAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIAAAExAAIAAAAQAAAATgAAAAAAAABgAAAAAQAAAGAAAAABcGFpbnQubmV0IDQuMC41AP/bAEMABAIDAwMCBAMDAwQEBAQFCQYFBQUFCwgIBgkNCw0NDQsMDA4QFBEODxMPDAwSGBITFRYXFxcOERkbGRYaFBYXFv/bAEMBBAQEBQUFCgYGChYPDA8WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFv/AABEIAQABAAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APH6KKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FCiiigD6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++gooooA+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gUKKKKAPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76CiiigD5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BQooooA+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/voKKKKAPl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FCiiigD6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++gooooA+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gUKKKKAPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76CiiigD5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BQooooA+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/voKKKKAPl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FCiiigD6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++gooooA+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gUKKKKAPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76P//Z\";\r\n\r\n// Register promise fallback for IE\r\nPromisePolyfill.Apply();\r\n","import { Observable } from \"../Misc/observable\";\r\nimport { Nullable } from \"../types\";\r\nimport { Scene } from \"../scene\";\r\nimport { InternalTexture } from \"../Materials/Textures/internalTexture\";\r\nimport { IOfflineProvider } from \"../Offline/IOfflineProvider\";\r\nimport { ILoadingScreen } from \"../Loading/loadingScreen\";\r\nimport { DomManagement } from \"../Misc/domManagement\";\r\nimport { EngineStore } from \"./engineStore\";\r\nimport { _DevTools } from '../Misc/devTools';\r\nimport { WebGLPipelineContext } from './WebGL/webGLPipelineContext';\r\nimport { IPipelineContext } from './IPipelineContext';\r\nimport { ICustomAnimationFrameRequester } from '../Misc/customAnimationFrameRequester';\r\nimport { ThinEngine, EngineOptions } from './thinEngine';\r\n\r\nimport { IViewportLike, IColor4Like } from '../Maths/math.like';\r\nimport { RenderTargetTexture } from '../Materials/Textures/renderTargetTexture';\r\nimport { PerformanceMonitor } from '../Misc/performanceMonitor';\r\nimport { DataBuffer } from '../Meshes/dataBuffer';\r\nimport { PerfCounter } from '../Misc/perfCounter';\r\nimport { WebGLDataBuffer } from '../Meshes/WebGL/webGLDataBuffer';\r\nimport { Logger } from '../Misc/logger';\r\n\r\nimport \"./Extensions/engine.alpha\";\r\nimport \"./Extensions/engine.readTexture\";\r\nimport \"./Extensions/engine.dynamicBuffer\";\r\nimport { IAudioEngine } from '../Audio/Interfaces/IAudioEngine';\r\n\r\ndeclare type Material = import(\"../Materials/material\").Material;\r\ndeclare type PostProcess = import(\"../PostProcesses/postProcess\").PostProcess;\r\n\r\n/**\r\n * Defines the interface used by display changed events\r\n */\r\nexport interface IDisplayChangedEventArgs {\r\n /** Gets the vrDisplay object (if any) */\r\n vrDisplay: Nullable;\r\n /** Gets a boolean indicating if webVR is supported */\r\n vrSupported: boolean;\r\n}\r\n\r\n/**\r\n * Defines the interface used by objects containing a viewport (like a camera)\r\n */\r\ninterface IViewportOwnerLike {\r\n /**\r\n * Gets or sets the viewport\r\n */\r\n viewport: IViewportLike;\r\n}\r\n\r\n/**\r\n * The engine class is responsible for interfacing with all lower-level APIs such as WebGL and Audio\r\n */\r\nexport class Engine extends ThinEngine {\r\n // Const statics\r\n\r\n /** Defines that alpha blending is disabled */\r\n public static readonly ALPHA_DISABLE = 0;\r\n /** Defines that alpha blending to SRC ALPHA * SRC + DEST */\r\n public static readonly ALPHA_ADD = 1;\r\n /** Defines that alpha blending to SRC ALPHA * SRC + (1 - SRC ALPHA) * DEST */\r\n public static readonly ALPHA_COMBINE = 2;\r\n /** Defines that alpha blending to DEST - SRC * DEST */\r\n public static readonly ALPHA_SUBTRACT = 3;\r\n /** Defines that alpha blending to SRC * DEST */\r\n public static readonly ALPHA_MULTIPLY = 4;\r\n /** Defines that alpha blending to SRC ALPHA * SRC + (1 - SRC) * DEST */\r\n public static readonly ALPHA_MAXIMIZED = 5;\r\n /** Defines that alpha blending to SRC + DEST */\r\n public static readonly ALPHA_ONEONE = 6;\r\n /** Defines that alpha blending to SRC + (1 - SRC ALPHA) * DEST */\r\n public static readonly ALPHA_PREMULTIPLIED = 7;\r\n /**\r\n * Defines that alpha blending to SRC + (1 - SRC ALPHA) * DEST\r\n * Alpha will be set to (1 - SRC ALPHA) * DEST ALPHA\r\n */\r\n public static readonly ALPHA_PREMULTIPLIED_PORTERDUFF = 8;\r\n /** Defines that alpha blending to CST * SRC + (1 - CST) * DEST */\r\n public static readonly ALPHA_INTERPOLATE = 9;\r\n /**\r\n * Defines that alpha blending to SRC + (1 - SRC) * DEST\r\n * Alpha will be set to SRC ALPHA + (1 - SRC ALPHA) * DEST ALPHA\r\n */\r\n public static readonly ALPHA_SCREENMODE = 10;\r\n\r\n /** Defines that the ressource is not delayed*/\r\n public static readonly DELAYLOADSTATE_NONE = 0;\r\n /** Defines that the ressource was successfully delay loaded */\r\n public static readonly DELAYLOADSTATE_LOADED = 1;\r\n /** Defines that the ressource is currently delay loading */\r\n public static readonly DELAYLOADSTATE_LOADING = 2;\r\n /** Defines that the ressource is delayed and has not started loading */\r\n public static readonly DELAYLOADSTATE_NOTLOADED = 4;\r\n\r\n // Depht or Stencil test Constants.\r\n /** Passed to depthFunction or stencilFunction to specify depth or stencil tests will never pass. i.e. Nothing will be drawn */\r\n public static readonly NEVER = 512;\r\n /** Passed to depthFunction or stencilFunction to specify depth or stencil tests will always pass. i.e. Pixels will be drawn in the order they are drawn */\r\n public static readonly ALWAYS = 519;\r\n /** Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is less than the stored value */\r\n public static readonly LESS = 513;\r\n /** Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is equals to the stored value */\r\n public static readonly EQUAL = 514;\r\n /** Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is less than or equal to the stored value */\r\n public static readonly LEQUAL = 515;\r\n /** Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is greater than the stored value */\r\n public static readonly GREATER = 516;\r\n /** Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is greater than or equal to the stored value */\r\n public static readonly GEQUAL = 518;\r\n /** Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is not equal to the stored value */\r\n public static readonly NOTEQUAL = 517;\r\n\r\n // Stencil Actions Constants.\r\n /** Passed to stencilOperation to specify that stencil value must be kept */\r\n public static readonly KEEP = 7680;\r\n /** Passed to stencilOperation to specify that stencil value must be replaced */\r\n public static readonly REPLACE = 7681;\r\n /** Passed to stencilOperation to specify that stencil value must be incremented */\r\n public static readonly INCR = 7682;\r\n /** Passed to stencilOperation to specify that stencil value must be decremented */\r\n public static readonly DECR = 7683;\r\n /** Passed to stencilOperation to specify that stencil value must be inverted */\r\n public static readonly INVERT = 5386;\r\n /** Passed to stencilOperation to specify that stencil value must be incremented with wrapping */\r\n public static readonly INCR_WRAP = 34055;\r\n /** Passed to stencilOperation to specify that stencil value must be decremented with wrapping */\r\n public static readonly DECR_WRAP = 34056;\r\n\r\n /** Texture is not repeating outside of 0..1 UVs */\r\n public static readonly TEXTURE_CLAMP_ADDRESSMODE = 0;\r\n /** Texture is repeating outside of 0..1 UVs */\r\n public static readonly TEXTURE_WRAP_ADDRESSMODE = 1;\r\n /** Texture is repeating and mirrored */\r\n public static readonly TEXTURE_MIRROR_ADDRESSMODE = 2;\r\n\r\n /** ALPHA */\r\n public static readonly TEXTUREFORMAT_ALPHA = 0;\r\n /** LUMINANCE */\r\n public static readonly TEXTUREFORMAT_LUMINANCE = 1;\r\n /** LUMINANCE_ALPHA */\r\n public static readonly TEXTUREFORMAT_LUMINANCE_ALPHA = 2;\r\n /** RGB */\r\n public static readonly TEXTUREFORMAT_RGB = 4;\r\n /** RGBA */\r\n public static readonly TEXTUREFORMAT_RGBA = 5;\r\n /** RED */\r\n public static readonly TEXTUREFORMAT_RED = 6;\r\n /** RED (2nd reference) */\r\n public static readonly TEXTUREFORMAT_R = 6;\r\n /** RG */\r\n public static readonly TEXTUREFORMAT_RG = 7;\r\n /** RED_INTEGER */\r\n public static readonly TEXTUREFORMAT_RED_INTEGER = 8;\r\n /** RED_INTEGER (2nd reference) */\r\n public static readonly TEXTUREFORMAT_R_INTEGER = 8;\r\n /** RG_INTEGER */\r\n public static readonly TEXTUREFORMAT_RG_INTEGER = 9;\r\n /** RGB_INTEGER */\r\n public static readonly TEXTUREFORMAT_RGB_INTEGER = 10;\r\n /** RGBA_INTEGER */\r\n public static readonly TEXTUREFORMAT_RGBA_INTEGER = 11;\r\n\r\n /** UNSIGNED_BYTE */\r\n public static readonly TEXTURETYPE_UNSIGNED_BYTE = 0;\r\n /** UNSIGNED_BYTE (2nd reference) */\r\n public static readonly TEXTURETYPE_UNSIGNED_INT = 0;\r\n /** FLOAT */\r\n public static readonly TEXTURETYPE_FLOAT = 1;\r\n /** HALF_FLOAT */\r\n public static readonly TEXTURETYPE_HALF_FLOAT = 2;\r\n /** BYTE */\r\n public static readonly TEXTURETYPE_BYTE = 3;\r\n /** SHORT */\r\n public static readonly TEXTURETYPE_SHORT = 4;\r\n /** UNSIGNED_SHORT */\r\n public static readonly TEXTURETYPE_UNSIGNED_SHORT = 5;\r\n /** INT */\r\n public static readonly TEXTURETYPE_INT = 6;\r\n /** UNSIGNED_INT */\r\n public static readonly TEXTURETYPE_UNSIGNED_INTEGER = 7;\r\n /** UNSIGNED_SHORT_4_4_4_4 */\r\n public static readonly TEXTURETYPE_UNSIGNED_SHORT_4_4_4_4 = 8;\r\n /** UNSIGNED_SHORT_5_5_5_1 */\r\n public static readonly TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1 = 9;\r\n /** UNSIGNED_SHORT_5_6_5 */\r\n public static readonly TEXTURETYPE_UNSIGNED_SHORT_5_6_5 = 10;\r\n /** UNSIGNED_INT_2_10_10_10_REV */\r\n public static readonly TEXTURETYPE_UNSIGNED_INT_2_10_10_10_REV = 11;\r\n /** UNSIGNED_INT_24_8 */\r\n public static readonly TEXTURETYPE_UNSIGNED_INT_24_8 = 12;\r\n /** UNSIGNED_INT_10F_11F_11F_REV */\r\n public static readonly TEXTURETYPE_UNSIGNED_INT_10F_11F_11F_REV = 13;\r\n /** UNSIGNED_INT_5_9_9_9_REV */\r\n public static readonly TEXTURETYPE_UNSIGNED_INT_5_9_9_9_REV = 14;\r\n /** FLOAT_32_UNSIGNED_INT_24_8_REV */\r\n public static readonly TEXTURETYPE_FLOAT_32_UNSIGNED_INT_24_8_REV = 15;\r\n\r\n /** nearest is mag = nearest and min = nearest and mip = linear */\r\n public static readonly TEXTURE_NEAREST_SAMPLINGMODE = 1;\r\n /** Bilinear is mag = linear and min = linear and mip = nearest */\r\n public static readonly TEXTURE_BILINEAR_SAMPLINGMODE = 2;\r\n /** Trilinear is mag = linear and min = linear and mip = linear */\r\n public static readonly TEXTURE_TRILINEAR_SAMPLINGMODE = 3;\r\n /** nearest is mag = nearest and min = nearest and mip = linear */\r\n public static readonly TEXTURE_NEAREST_NEAREST_MIPLINEAR = 8;\r\n /** Bilinear is mag = linear and min = linear and mip = nearest */\r\n public static readonly TEXTURE_LINEAR_LINEAR_MIPNEAREST = 11;\r\n /** Trilinear is mag = linear and min = linear and mip = linear */\r\n public static readonly TEXTURE_LINEAR_LINEAR_MIPLINEAR = 3;\r\n /** mag = nearest and min = nearest and mip = nearest */\r\n public static readonly TEXTURE_NEAREST_NEAREST_MIPNEAREST = 4;\r\n /** mag = nearest and min = linear and mip = nearest */\r\n public static readonly TEXTURE_NEAREST_LINEAR_MIPNEAREST = 5;\r\n /** mag = nearest and min = linear and mip = linear */\r\n public static readonly TEXTURE_NEAREST_LINEAR_MIPLINEAR = 6;\r\n /** mag = nearest and min = linear and mip = none */\r\n public static readonly TEXTURE_NEAREST_LINEAR = 7;\r\n /** mag = nearest and min = nearest and mip = none */\r\n public static readonly TEXTURE_NEAREST_NEAREST = 1;\r\n /** mag = linear and min = nearest and mip = nearest */\r\n public static readonly TEXTURE_LINEAR_NEAREST_MIPNEAREST = 9;\r\n /** mag = linear and min = nearest and mip = linear */\r\n public static readonly TEXTURE_LINEAR_NEAREST_MIPLINEAR = 10;\r\n /** mag = linear and min = linear and mip = none */\r\n public static readonly TEXTURE_LINEAR_LINEAR = 2;\r\n /** mag = linear and min = nearest and mip = none */\r\n public static readonly TEXTURE_LINEAR_NEAREST = 12;\r\n\r\n /** Explicit coordinates mode */\r\n public static readonly TEXTURE_EXPLICIT_MODE = 0;\r\n /** Spherical coordinates mode */\r\n public static readonly TEXTURE_SPHERICAL_MODE = 1;\r\n /** Planar coordinates mode */\r\n public static readonly TEXTURE_PLANAR_MODE = 2;\r\n /** Cubic coordinates mode */\r\n public static readonly TEXTURE_CUBIC_MODE = 3;\r\n /** Projection coordinates mode */\r\n public static readonly TEXTURE_PROJECTION_MODE = 4;\r\n /** Skybox coordinates mode */\r\n public static readonly TEXTURE_SKYBOX_MODE = 5;\r\n /** Inverse Cubic coordinates mode */\r\n public static readonly TEXTURE_INVCUBIC_MODE = 6;\r\n /** Equirectangular coordinates mode */\r\n public static readonly TEXTURE_EQUIRECTANGULAR_MODE = 7;\r\n /** Equirectangular Fixed coordinates mode */\r\n public static readonly TEXTURE_FIXED_EQUIRECTANGULAR_MODE = 8;\r\n /** Equirectangular Fixed Mirrored coordinates mode */\r\n public static readonly TEXTURE_FIXED_EQUIRECTANGULAR_MIRRORED_MODE = 9;\r\n\r\n // Texture rescaling mode\r\n /** Defines that texture rescaling will use a floor to find the closer power of 2 size */\r\n public static readonly SCALEMODE_FLOOR = 1;\r\n /** Defines that texture rescaling will look for the nearest power of 2 size */\r\n public static readonly SCALEMODE_NEAREST = 2;\r\n /** Defines that texture rescaling will use a ceil to find the closer power of 2 size */\r\n public static readonly SCALEMODE_CEILING = 3;\r\n\r\n /**\r\n * Returns the current npm package of the sdk\r\n */\r\n // Not mixed with Version for tooling purpose.\r\n public static get NpmPackage(): string {\r\n return ThinEngine.NpmPackage;\r\n }\r\n\r\n /**\r\n * Returns the current version of the framework\r\n */\r\n public static get Version(): string {\r\n return ThinEngine.Version;\r\n }\r\n\r\n /** Gets the list of created engines */\r\n public static get Instances(): Engine[] {\r\n return EngineStore.Instances;\r\n }\r\n\r\n /**\r\n * Gets the latest created engine\r\n */\r\n public static get LastCreatedEngine(): Nullable {\r\n return EngineStore.LastCreatedEngine;\r\n }\r\n\r\n /**\r\n * Gets the latest created scene\r\n */\r\n public static get LastCreatedScene(): Nullable {\r\n return EngineStore.LastCreatedScene;\r\n }\r\n\r\n /**\r\n * Will flag all materials in all scenes in all engines as dirty to trigger new shader compilation\r\n * @param flag defines which part of the materials must be marked as dirty\r\n * @param predicate defines a predicate used to filter which materials should be affected\r\n */\r\n public static MarkAllMaterialsAsDirty(flag: number, predicate?: (mat: Material) => boolean): void {\r\n for (var engineIndex = 0; engineIndex < Engine.Instances.length; engineIndex++) {\r\n var engine = Engine.Instances[engineIndex];\r\n\r\n for (var sceneIndex = 0; sceneIndex < engine.scenes.length; sceneIndex++) {\r\n engine.scenes[sceneIndex].markAllMaterialsAsDirty(flag, predicate);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Method called to create the default loading screen.\r\n * This can be overriden in your own app.\r\n * @param canvas The rendering canvas element\r\n * @returns The loading screen\r\n */\r\n public static DefaultLoadingScreenFactory(canvas: HTMLCanvasElement): ILoadingScreen {\r\n throw _DevTools.WarnImport(\"LoadingScreen\");\r\n }\r\n\r\n /**\r\n * Method called to create the default rescale post process on each engine.\r\n */\r\n public static _RescalePostProcessFactory: Nullable<(engine: Engine) => PostProcess> = null;\r\n\r\n // Members\r\n\r\n /**\r\n * Gets or sets a boolean to enable/disable IndexedDB support and avoid XHR on .manifest\r\n **/\r\n public enableOfflineSupport = false;\r\n\r\n /**\r\n * Gets or sets a boolean to enable/disable checking manifest if IndexedDB support is enabled (js will always consider the database is up to date)\r\n **/\r\n public disableManifestCheck = false;\r\n\r\n /**\r\n * Gets the list of created scenes\r\n */\r\n public scenes = new Array();\r\n\r\n /**\r\n * Event raised when a new scene is created\r\n */\r\n public onNewSceneAddedObservable = new Observable();\r\n\r\n /**\r\n * Gets the list of created postprocesses\r\n */\r\n public postProcesses = new Array();\r\n\r\n /**\r\n * Gets a boolean indicating if the pointer is currently locked\r\n */\r\n public isPointerLock = false;\r\n\r\n // Observables\r\n\r\n /**\r\n * Observable event triggered each time the rendering canvas is resized\r\n */\r\n public onResizeObservable = new Observable();\r\n\r\n /**\r\n * Observable event triggered each time the canvas loses focus\r\n */\r\n public onCanvasBlurObservable = new Observable();\r\n\r\n /**\r\n * Observable event triggered each time the canvas gains focus\r\n */\r\n public onCanvasFocusObservable = new Observable();\r\n\r\n /**\r\n * Observable event triggered each time the canvas receives pointerout event\r\n */\r\n public onCanvasPointerOutObservable = new Observable();\r\n\r\n /**\r\n * Observable raised when the engine begins a new frame\r\n */\r\n public onBeginFrameObservable = new Observable();\r\n\r\n /**\r\n * If set, will be used to request the next animation frame for the render loop\r\n */\r\n public customAnimationFrameRequester: Nullable = null;\r\n\r\n /**\r\n * Observable raised when the engine ends the current frame\r\n */\r\n public onEndFrameObservable = new Observable();\r\n\r\n /**\r\n * Observable raised when the engine is about to compile a shader\r\n */\r\n public onBeforeShaderCompilationObservable = new Observable();\r\n\r\n /**\r\n * Observable raised when the engine has jsut compiled a shader\r\n */\r\n public onAfterShaderCompilationObservable = new Observable();\r\n\r\n /**\r\n * Gets the audio engine\r\n * @see https://doc.babylonjs.com/how_to/playing_sounds_and_music\r\n * @ignorenaming\r\n */\r\n public static audioEngine: IAudioEngine;\r\n\r\n /**\r\n * Default AudioEngine factory responsible of creating the Audio Engine.\r\n * By default, this will create a BabylonJS Audio Engine if the workload has been embedded.\r\n */\r\n public static AudioEngineFactory: (hostElement: Nullable) => IAudioEngine;\r\n\r\n /**\r\n * Default offline support factory responsible of creating a tool used to store data locally.\r\n * By default, this will create a Database object if the workload has been embedded.\r\n */\r\n public static OfflineProviderFactory: (urlToScene: string, callbackManifestChecked: (checked: boolean) => any, disableManifestCheck: boolean) => IOfflineProvider;\r\n\r\n private _loadingScreen: ILoadingScreen;\r\n private _pointerLockRequested: boolean;\r\n private _rescalePostProcess: PostProcess;\r\n\r\n // Deterministic lockstepMaxSteps\r\n private _deterministicLockstep: boolean = false;\r\n private _lockstepMaxSteps: number = 4;\r\n private _timeStep: number = 1 / 60;\r\n\r\n protected get _supportsHardwareTextureRescaling() {\r\n return !!Engine._RescalePostProcessFactory;\r\n }\r\n\r\n // FPS\r\n private _fps = 60;\r\n private _deltaTime = 0;\r\n\r\n /** @hidden */\r\n public _drawCalls = new PerfCounter();\r\n\r\n /** Gets or sets the tab index to set to the rendering canvas. 1 is the minimum value to set to be able to capture keyboard events */\r\n public canvasTabIndex = 1;\r\n\r\n /**\r\n * Turn this value on if you want to pause FPS computation when in background\r\n */\r\n public disablePerformanceMonitorInBackground = false;\r\n\r\n private _performanceMonitor = new PerformanceMonitor();\r\n /**\r\n * Gets the performance monitor attached to this engine\r\n * @see https://doc.babylonjs.com/how_to/optimizing_your_scene#engineinstrumentation\r\n */\r\n public get performanceMonitor(): PerformanceMonitor {\r\n return this._performanceMonitor;\r\n }\r\n\r\n // Focus\r\n private _onFocus: () => void;\r\n private _onBlur: () => void;\r\n private _onCanvasPointerOut: (event: PointerEvent) => void;\r\n private _onCanvasBlur: () => void;\r\n private _onCanvasFocus: () => void;\r\n\r\n private _onFullscreenChange: () => void;\r\n private _onPointerLockChange: () => void;\r\n\r\n // Events\r\n\r\n /**\r\n * Gets the HTML element used to attach event listeners\r\n * @returns a HTML element\r\n */\r\n public getInputElement(): Nullable {\r\n return this._renderingCanvas;\r\n }\r\n\r\n /**\r\n * Creates a new engine\r\n * @param canvasOrContext defines the canvas or WebGL context to use for rendering. If you provide a WebGL context, Babylon.js will not hook events on the canvas (like pointers, keyboards, etc...) so no event observables will be available. This is mostly used when Babylon.js is used as a plugin on a system which alreay used the WebGL context\r\n * @param antialias defines enable antialiasing (default: false)\r\n * @param options defines further options to be sent to the getContext() function\r\n * @param adaptToDeviceRatio defines whether to adapt to the device's viewport characteristics (default: false)\r\n */\r\n constructor(canvasOrContext: Nullable, antialias?: boolean, options?: EngineOptions, adaptToDeviceRatio: boolean = false) {\r\n super(canvasOrContext, antialias, options, adaptToDeviceRatio);\r\n\r\n Engine.Instances.push(this);\r\n\r\n if (!canvasOrContext) {\r\n return;\r\n }\r\n\r\n options = this._creationOptions;\r\n\r\n if ((canvasOrContext).getContext) {\r\n let canvas = canvasOrContext;\r\n\r\n this._onCanvasFocus = () => {\r\n this.onCanvasFocusObservable.notifyObservers(this);\r\n };\r\n\r\n this._onCanvasBlur = () => {\r\n this.onCanvasBlurObservable.notifyObservers(this);\r\n };\r\n\r\n canvas.addEventListener(\"focus\", this._onCanvasFocus);\r\n canvas.addEventListener(\"blur\", this._onCanvasBlur);\r\n\r\n this._onBlur = () => {\r\n if (this.disablePerformanceMonitorInBackground) {\r\n this._performanceMonitor.disable();\r\n }\r\n this._windowIsBackground = true;\r\n };\r\n\r\n this._onFocus = () => {\r\n if (this.disablePerformanceMonitorInBackground) {\r\n this._performanceMonitor.enable();\r\n }\r\n this._windowIsBackground = false;\r\n };\r\n\r\n this._onCanvasPointerOut = (ev) => {\r\n this.onCanvasPointerOutObservable.notifyObservers(ev);\r\n };\r\n\r\n canvas.addEventListener(\"pointerout\", this._onCanvasPointerOut);\r\n\r\n if (DomManagement.IsWindowObjectExist()) {\r\n let hostWindow = this.getHostWindow()!;\r\n hostWindow.addEventListener(\"blur\", this._onBlur);\r\n hostWindow.addEventListener(\"focus\", this._onFocus);\r\n\r\n let anyDoc = document as any;\r\n\r\n // Fullscreen\r\n this._onFullscreenChange = () => {\r\n\r\n if (anyDoc.fullscreen !== undefined) {\r\n this.isFullscreen = anyDoc.fullscreen;\r\n } else if (anyDoc.mozFullScreen !== undefined) {\r\n this.isFullscreen = anyDoc.mozFullScreen;\r\n } else if (anyDoc.webkitIsFullScreen !== undefined) {\r\n this.isFullscreen = anyDoc.webkitIsFullScreen;\r\n } else if (anyDoc.msIsFullScreen !== undefined) {\r\n this.isFullscreen = anyDoc.msIsFullScreen;\r\n }\r\n\r\n // Pointer lock\r\n if (this.isFullscreen && this._pointerLockRequested && canvas) {\r\n Engine._RequestPointerlock(canvas);\r\n }\r\n };\r\n\r\n document.addEventListener(\"fullscreenchange\", this._onFullscreenChange, false);\r\n document.addEventListener(\"mozfullscreenchange\", this._onFullscreenChange, false);\r\n document.addEventListener(\"webkitfullscreenchange\", this._onFullscreenChange, false);\r\n document.addEventListener(\"msfullscreenchange\", this._onFullscreenChange, false);\r\n\r\n // Pointer lock\r\n this._onPointerLockChange = () => {\r\n this.isPointerLock = (anyDoc.mozPointerLockElement === canvas ||\r\n anyDoc.webkitPointerLockElement === canvas ||\r\n anyDoc.msPointerLockElement === canvas ||\r\n anyDoc.pointerLockElement === canvas\r\n );\r\n };\r\n\r\n document.addEventListener(\"pointerlockchange\", this._onPointerLockChange, false);\r\n document.addEventListener(\"mspointerlockchange\", this._onPointerLockChange, false);\r\n document.addEventListener(\"mozpointerlockchange\", this._onPointerLockChange, false);\r\n document.addEventListener(\"webkitpointerlockchange\", this._onPointerLockChange, false);\r\n\r\n // Create Audio Engine if needed.\r\n if (!Engine.audioEngine && options.audioEngine && Engine.AudioEngineFactory) {\r\n Engine.audioEngine = Engine.AudioEngineFactory(this.getRenderingCanvas());\r\n }\r\n }\r\n\r\n this._connectVREvents();\r\n\r\n this.enableOfflineSupport = Engine.OfflineProviderFactory !== undefined;\r\n\r\n if (!options.doNotHandleTouchAction) {\r\n this._disableTouchAction();\r\n }\r\n\r\n this._deterministicLockstep = !!options.deterministicLockstep;\r\n this._lockstepMaxSteps = options.lockstepMaxSteps || 0;\r\n this._timeStep = options.timeStep || 1 / 60;\r\n\r\n }\r\n\r\n // Load WebVR Devices\r\n this._prepareVRComponent();\r\n if (options.autoEnableWebVR) {\r\n this.initWebVR();\r\n }\r\n }\r\n\r\n /**\r\n * Gets current aspect ratio\r\n * @param viewportOwner defines the camera to use to get the aspect ratio\r\n * @param useScreen defines if screen size must be used (or the current render target if any)\r\n * @returns a number defining the aspect ratio\r\n */\r\n public getAspectRatio(viewportOwner: IViewportOwnerLike, useScreen = false): number {\r\n var viewport = viewportOwner.viewport;\r\n return (this.getRenderWidth(useScreen) * viewport.width) / (this.getRenderHeight(useScreen) * viewport.height);\r\n }\r\n\r\n /**\r\n * Gets current screen aspect ratio\r\n * @returns a number defining the aspect ratio\r\n */\r\n public getScreenAspectRatio(): number {\r\n return (this.getRenderWidth(true)) / (this.getRenderHeight(true));\r\n }\r\n\r\n /**\r\n * Gets the client rect of the HTML canvas attached with the current webGL context\r\n * @returns a client rectanglee\r\n */\r\n public getRenderingCanvasClientRect(): Nullable {\r\n if (!this._renderingCanvas) {\r\n return null;\r\n }\r\n return this._renderingCanvas.getBoundingClientRect();\r\n }\r\n\r\n /**\r\n * Gets the client rect of the HTML element used for events\r\n * @returns a client rectanglee\r\n */\r\n public getInputElementClientRect(): Nullable {\r\n if (!this._renderingCanvas) {\r\n return null;\r\n }\r\n return this.getInputElement()!.getBoundingClientRect();\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating that the engine is running in deterministic lock step mode\r\n * @see https://doc.babylonjs.com/babylon101/animations#deterministic-lockstep\r\n * @returns true if engine is in deterministic lock step mode\r\n */\r\n public isDeterministicLockStep(): boolean {\r\n return this._deterministicLockstep;\r\n }\r\n\r\n /**\r\n * Gets the max steps when engine is running in deterministic lock step\r\n * @see https://doc.babylonjs.com/babylon101/animations#deterministic-lockstep\r\n * @returns the max steps\r\n */\r\n public getLockstepMaxSteps(): number {\r\n return this._lockstepMaxSteps;\r\n }\r\n\r\n /**\r\n * Returns the time in ms between steps when using deterministic lock step.\r\n * @returns time step in (ms)\r\n */\r\n public getTimeStep(): number {\r\n return this._timeStep * 1000;\r\n }\r\n\r\n /**\r\n * Force the mipmap generation for the given render target texture\r\n * @param texture defines the render target texture to use\r\n * @param unbind defines whether or not to unbind the texture after generation. Defaults to true.\r\n */\r\n public generateMipMapsForCubemap(texture: InternalTexture, unbind = true) {\r\n if (texture.generateMipMaps) {\r\n var gl = this._gl;\r\n this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, texture, true);\r\n gl.generateMipmap(gl.TEXTURE_CUBE_MAP);\r\n if (unbind) {\r\n this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, null);\r\n }\r\n }\r\n }\r\n\r\n /** States */\r\n\r\n /**\r\n * Set various states to the webGL context\r\n * @param culling defines backface culling state\r\n * @param zOffset defines the value to apply to zOffset (0 by default)\r\n * @param force defines if states must be applied even if cache is up to date\r\n * @param reverseSide defines if culling must be reversed (CCW instead of CW and CW instead of CCW)\r\n */\r\n public setState(culling: boolean, zOffset: number = 0, force?: boolean, reverseSide = false): void {\r\n // Culling\r\n if (this._depthCullingState.cull !== culling || force) {\r\n this._depthCullingState.cull = culling;\r\n }\r\n\r\n // Cull face\r\n var cullFace = this.cullBackFaces ? this._gl.BACK : this._gl.FRONT;\r\n if (this._depthCullingState.cullFace !== cullFace || force) {\r\n this._depthCullingState.cullFace = cullFace;\r\n }\r\n\r\n // Z offset\r\n this.setZOffset(zOffset);\r\n\r\n // Front face\r\n var frontFace = reverseSide ? this._gl.CW : this._gl.CCW;\r\n if (this._depthCullingState.frontFace !== frontFace || force) {\r\n this._depthCullingState.frontFace = frontFace;\r\n }\r\n }\r\n\r\n /**\r\n * Set the z offset to apply to current rendering\r\n * @param value defines the offset to apply\r\n */\r\n public setZOffset(value: number): void {\r\n this._depthCullingState.zOffset = value;\r\n }\r\n\r\n /**\r\n * Gets the current value of the zOffset\r\n * @returns the current zOffset state\r\n */\r\n public getZOffset(): number {\r\n return this._depthCullingState.zOffset;\r\n }\r\n\r\n /**\r\n * Enable or disable depth buffering\r\n * @param enable defines the state to set\r\n */\r\n public setDepthBuffer(enable: boolean): void {\r\n this._depthCullingState.depthTest = enable;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if depth writing is enabled\r\n * @returns the current depth writing state\r\n */\r\n public getDepthWrite(): boolean {\r\n return this._depthCullingState.depthMask;\r\n }\r\n\r\n /**\r\n * Enable or disable depth writing\r\n * @param enable defines the state to set\r\n */\r\n public setDepthWrite(enable: boolean): void {\r\n this._depthCullingState.depthMask = enable;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if stencil buffer is enabled\r\n * @returns the current stencil buffer state\r\n */\r\n public getStencilBuffer(): boolean {\r\n return this._stencilState.stencilTest;\r\n }\r\n\r\n /**\r\n * Enable or disable the stencil buffer\r\n * @param enable defines if the stencil buffer must be enabled or disabled\r\n */\r\n public setStencilBuffer(enable: boolean): void {\r\n this._stencilState.stencilTest = enable;\r\n }\r\n\r\n /**\r\n * Gets the current stencil mask\r\n * @returns a number defining the new stencil mask to use\r\n */\r\n public getStencilMask(): number {\r\n return this._stencilState.stencilMask;\r\n }\r\n\r\n /**\r\n * Sets the current stencil mask\r\n * @param mask defines the new stencil mask to use\r\n */\r\n public setStencilMask(mask: number): void {\r\n this._stencilState.stencilMask = mask;\r\n }\r\n\r\n /**\r\n * Gets the current stencil function\r\n * @returns a number defining the stencil function to use\r\n */\r\n public getStencilFunction(): number {\r\n return this._stencilState.stencilFunc;\r\n }\r\n\r\n /**\r\n * Gets the current stencil reference value\r\n * @returns a number defining the stencil reference value to use\r\n */\r\n public getStencilFunctionReference(): number {\r\n return this._stencilState.stencilFuncRef;\r\n }\r\n\r\n /**\r\n * Gets the current stencil mask\r\n * @returns a number defining the stencil mask to use\r\n */\r\n public getStencilFunctionMask(): number {\r\n return this._stencilState.stencilFuncMask;\r\n }\r\n\r\n /**\r\n * Sets the current stencil function\r\n * @param stencilFunc defines the new stencil function to use\r\n */\r\n public setStencilFunction(stencilFunc: number) {\r\n this._stencilState.stencilFunc = stencilFunc;\r\n }\r\n\r\n /**\r\n * Sets the current stencil reference\r\n * @param reference defines the new stencil reference to use\r\n */\r\n public setStencilFunctionReference(reference: number) {\r\n this._stencilState.stencilFuncRef = reference;\r\n }\r\n\r\n /**\r\n * Sets the current stencil mask\r\n * @param mask defines the new stencil mask to use\r\n */\r\n public setStencilFunctionMask(mask: number) {\r\n this._stencilState.stencilFuncMask = mask;\r\n }\r\n\r\n /**\r\n * Gets the current stencil operation when stencil fails\r\n * @returns a number defining stencil operation to use when stencil fails\r\n */\r\n public getStencilOperationFail(): number {\r\n return this._stencilState.stencilOpStencilFail;\r\n }\r\n\r\n /**\r\n * Gets the current stencil operation when depth fails\r\n * @returns a number defining stencil operation to use when depth fails\r\n */\r\n public getStencilOperationDepthFail(): number {\r\n return this._stencilState.stencilOpDepthFail;\r\n }\r\n\r\n /**\r\n * Gets the current stencil operation when stencil passes\r\n * @returns a number defining stencil operation to use when stencil passes\r\n */\r\n public getStencilOperationPass(): number {\r\n return this._stencilState.stencilOpStencilDepthPass;\r\n }\r\n\r\n /**\r\n * Sets the stencil operation to use when stencil fails\r\n * @param operation defines the stencil operation to use when stencil fails\r\n */\r\n public setStencilOperationFail(operation: number): void {\r\n this._stencilState.stencilOpStencilFail = operation;\r\n }\r\n\r\n /**\r\n * Sets the stencil operation to use when depth fails\r\n * @param operation defines the stencil operation to use when depth fails\r\n */\r\n public setStencilOperationDepthFail(operation: number): void {\r\n this._stencilState.stencilOpDepthFail = operation;\r\n }\r\n\r\n /**\r\n * Sets the stencil operation to use when stencil passes\r\n * @param operation defines the stencil operation to use when stencil passes\r\n */\r\n public setStencilOperationPass(operation: number): void {\r\n this._stencilState.stencilOpStencilDepthPass = operation;\r\n }\r\n\r\n /**\r\n * Sets a boolean indicating if the dithering state is enabled or disabled\r\n * @param value defines the dithering state\r\n */\r\n public setDitheringState(value: boolean): void {\r\n if (value) {\r\n this._gl.enable(this._gl.DITHER);\r\n } else {\r\n this._gl.disable(this._gl.DITHER);\r\n }\r\n }\r\n\r\n /**\r\n * Sets a boolean indicating if the rasterizer state is enabled or disabled\r\n * @param value defines the rasterizer state\r\n */\r\n public setRasterizerState(value: boolean): void {\r\n if (value) {\r\n this._gl.disable(this._gl.RASTERIZER_DISCARD);\r\n } else {\r\n this._gl.enable(this._gl.RASTERIZER_DISCARD);\r\n }\r\n }\r\n\r\n /**\r\n * Gets the current depth function\r\n * @returns a number defining the depth function\r\n */\r\n public getDepthFunction(): Nullable {\r\n return this._depthCullingState.depthFunc;\r\n }\r\n\r\n /**\r\n * Sets the current depth function\r\n * @param depthFunc defines the function to use\r\n */\r\n public setDepthFunction(depthFunc: number) {\r\n this._depthCullingState.depthFunc = depthFunc;\r\n }\r\n\r\n /**\r\n * Sets the current depth function to GREATER\r\n */\r\n public setDepthFunctionToGreater(): void {\r\n this._depthCullingState.depthFunc = this._gl.GREATER;\r\n }\r\n\r\n /**\r\n * Sets the current depth function to GEQUAL\r\n */\r\n public setDepthFunctionToGreaterOrEqual(): void {\r\n this._depthCullingState.depthFunc = this._gl.GEQUAL;\r\n }\r\n\r\n /**\r\n * Sets the current depth function to LESS\r\n */\r\n public setDepthFunctionToLess(): void {\r\n this._depthCullingState.depthFunc = this._gl.LESS;\r\n }\r\n\r\n /**\r\n * Sets the current depth function to LEQUAL\r\n */\r\n public setDepthFunctionToLessOrEqual(): void {\r\n this._depthCullingState.depthFunc = this._gl.LEQUAL;\r\n }\r\n\r\n private _cachedStencilBuffer: boolean;\r\n private _cachedStencilFunction: number;\r\n private _cachedStencilMask: number;\r\n private _cachedStencilOperationPass: number;\r\n private _cachedStencilOperationFail: number;\r\n private _cachedStencilOperationDepthFail: number;\r\n private _cachedStencilReference: number;\r\n\r\n /**\r\n * Caches the the state of the stencil buffer\r\n */\r\n public cacheStencilState() {\r\n this._cachedStencilBuffer = this.getStencilBuffer();\r\n this._cachedStencilFunction = this.getStencilFunction();\r\n this._cachedStencilMask = this.getStencilMask();\r\n this._cachedStencilOperationPass = this.getStencilOperationPass();\r\n this._cachedStencilOperationFail = this.getStencilOperationFail();\r\n this._cachedStencilOperationDepthFail = this.getStencilOperationDepthFail();\r\n this._cachedStencilReference = this.getStencilFunctionReference();\r\n }\r\n\r\n /**\r\n * Restores the state of the stencil buffer\r\n */\r\n public restoreStencilState() {\r\n this.setStencilFunction(this._cachedStencilFunction);\r\n this.setStencilMask(this._cachedStencilMask);\r\n this.setStencilBuffer(this._cachedStencilBuffer);\r\n this.setStencilOperationPass(this._cachedStencilOperationPass);\r\n this.setStencilOperationFail(this._cachedStencilOperationFail);\r\n this.setStencilOperationDepthFail(this._cachedStencilOperationDepthFail);\r\n this.setStencilFunctionReference(this._cachedStencilReference);\r\n }\r\n\r\n /**\r\n * Directly set the WebGL Viewport\r\n * @param x defines the x coordinate of the viewport (in screen space)\r\n * @param y defines the y coordinate of the viewport (in screen space)\r\n * @param width defines the width of the viewport (in screen space)\r\n * @param height defines the height of the viewport (in screen space)\r\n * @return the current viewport Object (if any) that is being replaced by this call. You can restore this viewport later on to go back to the original state\r\n */\r\n public setDirectViewport(x: number, y: number, width: number, height: number): Nullable {\r\n let currentViewport = this._cachedViewport;\r\n this._cachedViewport = null;\r\n\r\n this._viewport(x, y, width, height);\r\n\r\n return currentViewport;\r\n }\r\n\r\n /**\r\n * Executes a scissor clear (ie. a clear on a specific portion of the screen)\r\n * @param x defines the x-coordinate of the top left corner of the clear rectangle\r\n * @param y defines the y-coordinate of the corner of the clear rectangle\r\n * @param width defines the width of the clear rectangle\r\n * @param height defines the height of the clear rectangle\r\n * @param clearColor defines the clear color\r\n */\r\n public scissorClear(x: number, y: number, width: number, height: number, clearColor: IColor4Like): void {\r\n this.enableScissor(x, y, width, height);\r\n this.clear(clearColor, true, true, true);\r\n this.disableScissor();\r\n }\r\n\r\n /**\r\n * Enable scissor test on a specific rectangle (ie. render will only be executed on a specific portion of the screen)\r\n * @param x defines the x-coordinate of the top left corner of the clear rectangle\r\n * @param y defines the y-coordinate of the corner of the clear rectangle\r\n * @param width defines the width of the clear rectangle\r\n * @param height defines the height of the clear rectangle\r\n */\r\n public enableScissor(x: number, y: number, width: number, height: number): void {\r\n let gl = this._gl;\r\n\r\n // Change state\r\n gl.enable(gl.SCISSOR_TEST);\r\n gl.scissor(x, y, width, height);\r\n }\r\n\r\n /**\r\n * Disable previously set scissor test rectangle\r\n */\r\n public disableScissor() {\r\n let gl = this._gl;\r\n\r\n gl.disable(gl.SCISSOR_TEST);\r\n }\r\n\r\n protected _reportDrawCall() {\r\n this._drawCalls.addCount(1, false);\r\n }\r\n\r\n /**\r\n * Initializes a webVR display and starts listening to display change events\r\n * The onVRDisplayChangedObservable will be notified upon these changes\r\n * @returns The onVRDisplayChangedObservable\r\n */\r\n public initWebVR(): Observable {\r\n throw _DevTools.WarnImport(\"WebVRCamera\");\r\n }\r\n\r\n /** @hidden */\r\n public _prepareVRComponent() {\r\n // Do nothing as the engine side effect will overload it\r\n }\r\n\r\n /** @hidden */\r\n public _connectVREvents(canvas?: HTMLCanvasElement, document?: any) {\r\n // Do nothing as the engine side effect will overload it\r\n }\r\n\r\n /** @hidden */\r\n public _submitVRFrame() {\r\n // Do nothing as the engine side effect will overload it\r\n }\r\n /**\r\n * Call this function to leave webVR mode\r\n * Will do nothing if webVR is not supported or if there is no webVR device\r\n * @see https://doc.babylonjs.com/how_to/webvr_camera\r\n */\r\n public disableVR() {\r\n // Do nothing as the engine side effect will overload it\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating that the system is in VR mode and is presenting\r\n * @returns true if VR mode is engaged\r\n */\r\n public isVRPresenting() {\r\n return false;\r\n }\r\n\r\n /** @hidden */\r\n public _requestVRFrame() {\r\n // Do nothing as the engine side effect will overload it\r\n }\r\n\r\n /** @hidden */\r\n public _loadFileAsync(url: string, offlineProvider?: IOfflineProvider, useArrayBuffer?: boolean): Promise {\r\n return new Promise((resolve, reject) => {\r\n this._loadFile(url, (data) => {\r\n resolve(data);\r\n }, undefined, offlineProvider, useArrayBuffer, (request, exception) => {\r\n reject(exception);\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Gets the source code of the vertex shader associated with a specific webGL program\r\n * @param program defines the program to use\r\n * @returns a string containing the source code of the vertex shader associated with the program\r\n */\r\n public getVertexShaderSource(program: WebGLProgram): Nullable {\r\n var shaders = this._gl.getAttachedShaders(program);\r\n\r\n if (!shaders) {\r\n return null;\r\n }\r\n\r\n return this._gl.getShaderSource(shaders[0]);\r\n }\r\n\r\n /**\r\n * Gets the source code of the fragment shader associated with a specific webGL program\r\n * @param program defines the program to use\r\n * @returns a string containing the source code of the fragment shader associated with the program\r\n */\r\n public getFragmentShaderSource(program: WebGLProgram): Nullable {\r\n var shaders = this._gl.getAttachedShaders(program);\r\n\r\n if (!shaders) {\r\n return null;\r\n }\r\n\r\n return this._gl.getShaderSource(shaders[1]);\r\n }\r\n\r\n /**\r\n * Sets a depth stencil texture from a render target to the according uniform.\r\n * @param channel The texture channel\r\n * @param uniform The uniform to set\r\n * @param texture The render target texture containing the depth stencil texture to apply\r\n */\r\n public setDepthStencilTexture(channel: number, uniform: Nullable, texture: Nullable): void {\r\n if (channel === undefined) {\r\n return;\r\n }\r\n\r\n if (uniform) {\r\n this._boundUniforms[channel] = uniform;\r\n }\r\n\r\n if (!texture || !texture.depthStencilTexture) {\r\n this._setTexture(channel, null);\r\n }\r\n else {\r\n this._setTexture(channel, texture, false, true);\r\n }\r\n }\r\n\r\n /**\r\n * Sets a texture to the webGL context from a postprocess\r\n * @param channel defines the channel to use\r\n * @param postProcess defines the source postprocess\r\n */\r\n public setTextureFromPostProcess(channel: number, postProcess: Nullable): void {\r\n this._bindTexture(channel, postProcess ? postProcess._textures.data[postProcess._currentRenderTextureInd] : null);\r\n }\r\n\r\n /**\r\n * Binds the output of the passed in post process to the texture channel specified\r\n * @param channel The channel the texture should be bound to\r\n * @param postProcess The post process which's output should be bound\r\n */\r\n public setTextureFromPostProcessOutput(channel: number, postProcess: Nullable): void {\r\n this._bindTexture(channel, postProcess ? postProcess._outputTexture : null);\r\n }\r\n\r\n protected _rebuildBuffers(): void {\r\n // Index / Vertex\r\n for (var scene of this.scenes) {\r\n scene.resetCachedMaterial();\r\n scene._rebuildGeometries();\r\n scene._rebuildTextures();\r\n }\r\n\r\n super._rebuildBuffers();\r\n }\r\n\r\n /** @hidden */\r\n public _renderFrame() {\r\n for (var index = 0; index < this._activeRenderLoops.length; index++) {\r\n var renderFunction = this._activeRenderLoops[index];\r\n\r\n renderFunction();\r\n }\r\n }\r\n\r\n public _renderLoop(): void {\r\n if (!this._contextWasLost) {\r\n var shouldRender = true;\r\n if (!this.renderEvenInBackground && this._windowIsBackground) {\r\n shouldRender = false;\r\n }\r\n\r\n if (shouldRender) {\r\n // Start new frame\r\n this.beginFrame();\r\n\r\n // Child canvases\r\n if (!this._renderViews()) {\r\n // Main frame\r\n this._renderFrame();\r\n }\r\n\r\n // Present\r\n this.endFrame();\r\n }\r\n }\r\n\r\n if (this._activeRenderLoops.length > 0) {\r\n // Register new frame\r\n if (this.customAnimationFrameRequester) {\r\n this.customAnimationFrameRequester.requestID = this._queueNewFrame(this.customAnimationFrameRequester.renderFunction || this._boundRenderFunction, this.customAnimationFrameRequester);\r\n this._frameHandler = this.customAnimationFrameRequester.requestID;\r\n } else if (this.isVRPresenting()) {\r\n this._requestVRFrame();\r\n } else {\r\n this._frameHandler = this._queueNewFrame(this._boundRenderFunction, this.getHostWindow());\r\n }\r\n } else {\r\n this._renderingQueueLaunched = false;\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _renderViews() {\r\n return false;\r\n }\r\n\r\n /**\r\n * Toggle full screen mode\r\n * @param requestPointerLock defines if a pointer lock should be requested from the user\r\n */\r\n public switchFullscreen(requestPointerLock: boolean): void {\r\n if (this.isFullscreen) {\r\n this.exitFullscreen();\r\n } else {\r\n this.enterFullscreen(requestPointerLock);\r\n }\r\n }\r\n\r\n /**\r\n * Enters full screen mode\r\n * @param requestPointerLock defines if a pointer lock should be requested from the user\r\n */\r\n public enterFullscreen(requestPointerLock: boolean): void {\r\n if (!this.isFullscreen) {\r\n this._pointerLockRequested = requestPointerLock;\r\n if (this._renderingCanvas) {\r\n Engine._RequestFullscreen(this._renderingCanvas);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Exits full screen mode\r\n */\r\n public exitFullscreen(): void {\r\n if (this.isFullscreen) {\r\n Engine._ExitFullscreen();\r\n }\r\n }\r\n\r\n /**\r\n * Enters Pointerlock mode\r\n */\r\n public enterPointerlock(): void {\r\n if (this._renderingCanvas) {\r\n Engine._RequestPointerlock(this._renderingCanvas);\r\n }\r\n }\r\n\r\n /**\r\n * Exits Pointerlock mode\r\n */\r\n public exitPointerlock(): void {\r\n Engine._ExitPointerlock();\r\n }\r\n\r\n /**\r\n * Begin a new frame\r\n */\r\n public beginFrame(): void {\r\n this._measureFps();\r\n\r\n this.onBeginFrameObservable.notifyObservers(this);\r\n super.beginFrame();\r\n }\r\n\r\n /**\r\n * Enf the current frame\r\n */\r\n public endFrame(): void {\r\n super.endFrame();\r\n this._submitVRFrame();\r\n\r\n this.onEndFrameObservable.notifyObservers(this);\r\n }\r\n\r\n public resize(): void {\r\n // We're not resizing the size of the canvas while in VR mode & presenting\r\n if (this.isVRPresenting()) {\r\n return;\r\n }\r\n\r\n super.resize();\r\n }\r\n\r\n /**\r\n * Force a specific size of the canvas\r\n * @param width defines the new canvas' width\r\n * @param height defines the new canvas' height\r\n * @returns true if the size was changed\r\n */\r\n public setSize(width: number, height: number): boolean {\r\n if (!this._renderingCanvas) {\r\n return false;\r\n }\r\n\r\n if (!super.setSize(width, height)) {\r\n return false;\r\n }\r\n\r\n if (this.scenes) {\r\n for (var index = 0; index < this.scenes.length; index++) {\r\n var scene = this.scenes[index];\r\n\r\n for (var camIndex = 0; camIndex < scene.cameras.length; camIndex++) {\r\n var cam = scene.cameras[camIndex];\r\n\r\n cam._currentRenderId = 0;\r\n }\r\n }\r\n\r\n if (this.onResizeObservable.hasObservers()) {\r\n this.onResizeObservable.notifyObservers(this);\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n public _deletePipelineContext(pipelineContext: IPipelineContext): void {\r\n let webGLPipelineContext = pipelineContext as WebGLPipelineContext;\r\n if (webGLPipelineContext && webGLPipelineContext.program) {\r\n if (webGLPipelineContext.transformFeedback) {\r\n this.deleteTransformFeedback(webGLPipelineContext.transformFeedback);\r\n webGLPipelineContext.transformFeedback = null;\r\n }\r\n }\r\n super._deletePipelineContext(pipelineContext);\r\n }\r\n\r\n public createShaderProgram(pipelineContext: IPipelineContext, vertexCode: string, fragmentCode: string, defines: Nullable, context?: WebGLRenderingContext, transformFeedbackVaryings: Nullable = null): WebGLProgram {\r\n context = context || this._gl;\r\n\r\n this.onBeforeShaderCompilationObservable.notifyObservers(this);\r\n\r\n let program = super.createShaderProgram(pipelineContext, vertexCode, fragmentCode, defines, context, transformFeedbackVaryings);\r\n this.onAfterShaderCompilationObservable.notifyObservers(this);\r\n\r\n return program;\r\n }\r\n\r\n protected _createShaderProgram(pipelineContext: WebGLPipelineContext, vertexShader: WebGLShader, fragmentShader: WebGLShader, context: WebGLRenderingContext, transformFeedbackVaryings: Nullable = null): WebGLProgram {\r\n var shaderProgram = context.createProgram();\r\n pipelineContext.program = shaderProgram;\r\n\r\n if (!shaderProgram) {\r\n throw new Error(\"Unable to create program\");\r\n }\r\n\r\n context.attachShader(shaderProgram, vertexShader);\r\n context.attachShader(shaderProgram, fragmentShader);\r\n\r\n if (this.webGLVersion > 1 && transformFeedbackVaryings) {\r\n let transformFeedback = this.createTransformFeedback();\r\n\r\n this.bindTransformFeedback(transformFeedback);\r\n this.setTranformFeedbackVaryings(shaderProgram, transformFeedbackVaryings);\r\n pipelineContext.transformFeedback = transformFeedback;\r\n }\r\n\r\n context.linkProgram(shaderProgram);\r\n\r\n if (this.webGLVersion > 1 && transformFeedbackVaryings) {\r\n this.bindTransformFeedback(null);\r\n }\r\n\r\n pipelineContext.context = context;\r\n pipelineContext.vertexShader = vertexShader;\r\n pipelineContext.fragmentShader = fragmentShader;\r\n\r\n if (!pipelineContext.isParallelCompiled) {\r\n this._finalizePipelineContext(pipelineContext);\r\n }\r\n\r\n return shaderProgram;\r\n }\r\n\r\n public _releaseTexture(texture: InternalTexture): void {\r\n super._releaseTexture(texture);\r\n\r\n // Set output texture of post process to null if the texture has been released/disposed\r\n this.scenes.forEach((scene) => {\r\n scene.postProcesses.forEach((postProcess) => {\r\n if (postProcess._outputTexture == texture) {\r\n postProcess._outputTexture = null;\r\n }\r\n });\r\n scene.cameras.forEach((camera) => {\r\n camera._postProcesses.forEach((postProcess) => {\r\n if (postProcess) {\r\n if (postProcess._outputTexture == texture) {\r\n postProcess._outputTexture = null;\r\n }\r\n }\r\n });\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Rescales a texture\r\n * @param source input texutre\r\n * @param destination destination texture\r\n * @param scene scene to use to render the resize\r\n * @param internalFormat format to use when resizing\r\n * @param onComplete callback to be called when resize has completed\r\n */\r\n public _rescaleTexture(source: InternalTexture, destination: InternalTexture, scene: Nullable, internalFormat: number, onComplete: () => void): void {\r\n this._gl.texParameteri(this._gl.TEXTURE_2D, this._gl.TEXTURE_MAG_FILTER, this._gl.LINEAR);\r\n this._gl.texParameteri(this._gl.TEXTURE_2D, this._gl.TEXTURE_MIN_FILTER, this._gl.LINEAR);\r\n this._gl.texParameteri(this._gl.TEXTURE_2D, this._gl.TEXTURE_WRAP_S, this._gl.CLAMP_TO_EDGE);\r\n this._gl.texParameteri(this._gl.TEXTURE_2D, this._gl.TEXTURE_WRAP_T, this._gl.CLAMP_TO_EDGE);\r\n\r\n let rtt = this.createRenderTargetTexture({\r\n width: destination.width,\r\n height: destination.height,\r\n }, {\r\n generateMipMaps: false,\r\n type: 0,\r\n samplingMode: 2,\r\n generateDepthBuffer: false,\r\n generateStencilBuffer: false\r\n }\r\n );\r\n\r\n if (!this._rescalePostProcess && Engine._RescalePostProcessFactory) {\r\n this._rescalePostProcess = Engine._RescalePostProcessFactory(this);\r\n }\r\n\r\n this._rescalePostProcess.getEffect().executeWhenCompiled(() => {\r\n this._rescalePostProcess.onApply = function(effect) {\r\n effect._bindTexture(\"textureSampler\", source);\r\n };\r\n\r\n let hostingScene: Scene = scene;\r\n\r\n if (!hostingScene) {\r\n hostingScene = this.scenes[this.scenes.length - 1];\r\n }\r\n hostingScene.postProcessManager.directRender([this._rescalePostProcess], rtt, true);\r\n\r\n this._bindTextureDirectly(this._gl.TEXTURE_2D, destination, true);\r\n this._gl.copyTexImage2D(this._gl.TEXTURE_2D, 0, internalFormat, 0, 0, destination.width, destination.height, 0);\r\n\r\n this.unBindFramebuffer(rtt);\r\n this._releaseTexture(rtt);\r\n\r\n if (onComplete) {\r\n onComplete();\r\n }\r\n });\r\n }\r\n\r\n // FPS\r\n\r\n /**\r\n * Gets the current framerate\r\n * @returns a number representing the framerate\r\n */\r\n public getFps(): number {\r\n return this._fps;\r\n }\r\n\r\n /**\r\n * Gets the time spent between current and previous frame\r\n * @returns a number representing the delta time in ms\r\n */\r\n public getDeltaTime(): number {\r\n return this._deltaTime;\r\n }\r\n\r\n private _measureFps(): void {\r\n this._performanceMonitor.sampleFrame();\r\n this._fps = this._performanceMonitor.averageFPS;\r\n this._deltaTime = this._performanceMonitor.instantaneousFrameTime || 0;\r\n }\r\n\r\n /** @hidden */\r\n public _uploadImageToTexture(texture: InternalTexture, image: HTMLImageElement | ImageBitmap, faceIndex: number = 0, lod: number = 0) {\r\n var gl = this._gl;\r\n\r\n var textureType = this._getWebGLTextureType(texture.type);\r\n var format = this._getInternalFormat(texture.format);\r\n var internalFormat = this._getRGBABufferInternalSizedFormat(texture.type, format);\r\n\r\n var bindTarget = texture.isCube ? gl.TEXTURE_CUBE_MAP : gl.TEXTURE_2D;\r\n\r\n this._bindTextureDirectly(bindTarget, texture, true);\r\n this._unpackFlipY(texture.invertY);\r\n\r\n var target = gl.TEXTURE_2D;\r\n if (texture.isCube) {\r\n target = gl.TEXTURE_CUBE_MAP_POSITIVE_X + faceIndex;\r\n }\r\n\r\n gl.texImage2D(target, lod, internalFormat, format, textureType, image);\r\n this._bindTextureDirectly(bindTarget, null, true);\r\n }\r\n\r\n /**\r\n * Updates the sample count of a render target texture\r\n * @see https://doc.babylonjs.com/features/webgl2#multisample-render-targets\r\n * @param texture defines the texture to update\r\n * @param samples defines the sample count to set\r\n * @returns the effective sample count (could be 0 if multisample render targets are not supported)\r\n */\r\n public updateRenderTargetTextureSampleCount(texture: Nullable, samples: number): number {\r\n if (this.webGLVersion < 2 || !texture) {\r\n return 1;\r\n }\r\n\r\n if (texture.samples === samples) {\r\n return samples;\r\n }\r\n\r\n var gl = this._gl;\r\n\r\n samples = Math.min(samples, this.getCaps().maxMSAASamples);\r\n\r\n // Dispose previous render buffers\r\n if (texture._depthStencilBuffer) {\r\n gl.deleteRenderbuffer(texture._depthStencilBuffer);\r\n texture._depthStencilBuffer = null;\r\n }\r\n\r\n if (texture._MSAAFramebuffer) {\r\n gl.deleteFramebuffer(texture._MSAAFramebuffer);\r\n texture._MSAAFramebuffer = null;\r\n }\r\n\r\n if (texture._MSAARenderBuffer) {\r\n gl.deleteRenderbuffer(texture._MSAARenderBuffer);\r\n texture._MSAARenderBuffer = null;\r\n }\r\n\r\n if (samples > 1 && gl.renderbufferStorageMultisample) {\r\n let framebuffer = gl.createFramebuffer();\r\n\r\n if (!framebuffer) {\r\n throw new Error(\"Unable to create multi sampled framebuffer\");\r\n }\r\n\r\n texture._MSAAFramebuffer = framebuffer;\r\n this._bindUnboundFramebuffer(texture._MSAAFramebuffer);\r\n\r\n var colorRenderbuffer = gl.createRenderbuffer();\r\n\r\n if (!colorRenderbuffer) {\r\n throw new Error(\"Unable to create multi sampled framebuffer\");\r\n }\r\n\r\n gl.bindRenderbuffer(gl.RENDERBUFFER, colorRenderbuffer);\r\n gl.renderbufferStorageMultisample(gl.RENDERBUFFER, samples, this._getRGBAMultiSampleBufferFormat(texture.type), texture.width, texture.height);\r\n\r\n gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, colorRenderbuffer);\r\n\r\n texture._MSAARenderBuffer = colorRenderbuffer;\r\n } else {\r\n this._bindUnboundFramebuffer(texture._framebuffer);\r\n }\r\n\r\n texture.samples = samples;\r\n texture._depthStencilBuffer = this._setupFramebufferDepthAttachments(texture._generateStencilBuffer, texture._generateDepthBuffer, texture.width, texture.height, samples);\r\n\r\n this._bindUnboundFramebuffer(null);\r\n\r\n return samples;\r\n }\r\n\r\n /**\r\n * Updates a depth texture Comparison Mode and Function.\r\n * If the comparison Function is equal to 0, the mode will be set to none.\r\n * Otherwise, this only works in webgl 2 and requires a shadow sampler in the shader.\r\n * @param texture The texture to set the comparison function for\r\n * @param comparisonFunction The comparison function to set, 0 if no comparison required\r\n */\r\n public updateTextureComparisonFunction(texture: InternalTexture, comparisonFunction: number): void {\r\n if (this.webGLVersion === 1) {\r\n Logger.Error(\"WebGL 1 does not support texture comparison.\");\r\n return;\r\n }\r\n\r\n var gl = this._gl;\r\n\r\n if (texture.isCube) {\r\n this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP, texture, true);\r\n\r\n if (comparisonFunction === 0) {\r\n gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_COMPARE_FUNC, 515);\r\n gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_COMPARE_MODE, gl.NONE);\r\n }\r\n else {\r\n gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_COMPARE_FUNC, comparisonFunction);\r\n gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_COMPARE_MODE, gl.COMPARE_REF_TO_TEXTURE);\r\n }\r\n\r\n this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP, null);\r\n } else {\r\n this._bindTextureDirectly(this._gl.TEXTURE_2D, texture, true);\r\n\r\n if (comparisonFunction === 0) {\r\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_COMPARE_FUNC, 515);\r\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_COMPARE_MODE, gl.NONE);\r\n }\r\n else {\r\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_COMPARE_FUNC, comparisonFunction);\r\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_COMPARE_MODE, gl.COMPARE_REF_TO_TEXTURE);\r\n }\r\n\r\n this._bindTextureDirectly(this._gl.TEXTURE_2D, null);\r\n }\r\n\r\n texture._comparisonFunction = comparisonFunction;\r\n }\r\n\r\n /**\r\n * Creates a webGL buffer to use with instanciation\r\n * @param capacity defines the size of the buffer\r\n * @returns the webGL buffer\r\n */\r\n public createInstancesBuffer(capacity: number): DataBuffer {\r\n var buffer = this._gl.createBuffer();\r\n\r\n if (!buffer) {\r\n throw new Error(\"Unable to create instance buffer\");\r\n }\r\n\r\n var result = new WebGLDataBuffer(buffer);\r\n result.capacity = capacity;\r\n\r\n this.bindArrayBuffer(result);\r\n this._gl.bufferData(this._gl.ARRAY_BUFFER, capacity, this._gl.DYNAMIC_DRAW);\r\n return result;\r\n }\r\n\r\n /**\r\n * Delete a webGL buffer used with instanciation\r\n * @param buffer defines the webGL buffer to delete\r\n */\r\n public deleteInstancesBuffer(buffer: WebGLBuffer): void {\r\n this._gl.deleteBuffer(buffer);\r\n }\r\n\r\n private _clientWaitAsync(sync: WebGLSync, flags = 0, interval_ms = 10) {\r\n let gl = (this._gl as any);\r\n return new Promise((resolve, reject) => {\r\n let check = () => {\r\n const res = gl.clientWaitSync(sync, flags, 0);\r\n if (res == gl.WAIT_FAILED) {\r\n reject();\r\n return;\r\n }\r\n if (res == gl.TIMEOUT_EXPIRED) {\r\n setTimeout(check, interval_ms);\r\n return;\r\n }\r\n resolve();\r\n };\r\n\r\n check();\r\n });\r\n }\r\n\r\n /** @hidden */\r\n public _readPixelsAsync(x: number, y: number, w: number, h: number, format: number, type: number, outputBuffer: ArrayBufferView) {\r\n if (this._webGLVersion < 2) {\r\n throw new Error(\"_readPixelsAsync only work on WebGL2+\");\r\n }\r\n\r\n let gl = (this._gl as any);\r\n const buf = gl.createBuffer();\r\n gl.bindBuffer(gl.PIXEL_PACK_BUFFER, buf);\r\n gl.bufferData(gl.PIXEL_PACK_BUFFER, outputBuffer.byteLength, gl.STREAM_READ);\r\n gl.readPixels(x, y, w, h, format, type, 0);\r\n gl.bindBuffer(gl.PIXEL_PACK_BUFFER, null);\r\n\r\n const sync = gl.fenceSync(gl.SYNC_GPU_COMMANDS_COMPLETE, 0);\r\n if (!sync) {\r\n return null;\r\n }\r\n\r\n gl.flush();\r\n\r\n return this._clientWaitAsync(sync, 0, 10).then(() => {\r\n gl.deleteSync(sync);\r\n\r\n gl.bindBuffer(gl.PIXEL_PACK_BUFFER, buf);\r\n gl.getBufferSubData(gl.PIXEL_PACK_BUFFER, 0, outputBuffer);\r\n gl.bindBuffer(gl.PIXEL_PACK_BUFFER, null);\r\n gl.deleteBuffer(buf);\r\n\r\n return outputBuffer;\r\n });\r\n }\r\n\r\n public dispose(): void {\r\n this.hideLoadingUI();\r\n\r\n this.onNewSceneAddedObservable.clear();\r\n\r\n // Release postProcesses\r\n while (this.postProcesses.length) {\r\n this.postProcesses[0].dispose();\r\n }\r\n\r\n // Rescale PP\r\n if (this._rescalePostProcess) {\r\n this._rescalePostProcess.dispose();\r\n }\r\n\r\n // Release scenes\r\n while (this.scenes.length) {\r\n this.scenes[0].dispose();\r\n }\r\n\r\n // Release audio engine\r\n if (Engine.Instances.length === 1 && Engine.audioEngine) {\r\n Engine.audioEngine.dispose();\r\n }\r\n\r\n //WebVR\r\n this.disableVR();\r\n\r\n // Events\r\n if (DomManagement.IsWindowObjectExist()) {\r\n window.removeEventListener(\"blur\", this._onBlur);\r\n window.removeEventListener(\"focus\", this._onFocus);\r\n\r\n if (this._renderingCanvas) {\r\n this._renderingCanvas.removeEventListener(\"focus\", this._onCanvasFocus);\r\n this._renderingCanvas.removeEventListener(\"blur\", this._onCanvasBlur);\r\n this._renderingCanvas.removeEventListener(\"pointerout\", this._onCanvasPointerOut);\r\n }\r\n\r\n if (DomManagement.IsDocumentAvailable()) {\r\n document.removeEventListener(\"fullscreenchange\", this._onFullscreenChange);\r\n document.removeEventListener(\"mozfullscreenchange\", this._onFullscreenChange);\r\n document.removeEventListener(\"webkitfullscreenchange\", this._onFullscreenChange);\r\n document.removeEventListener(\"msfullscreenchange\", this._onFullscreenChange);\r\n document.removeEventListener(\"pointerlockchange\", this._onPointerLockChange);\r\n document.removeEventListener(\"mspointerlockchange\", this._onPointerLockChange);\r\n document.removeEventListener(\"mozpointerlockchange\", this._onPointerLockChange);\r\n document.removeEventListener(\"webkitpointerlockchange\", this._onPointerLockChange);\r\n }\r\n }\r\n\r\n super.dispose();\r\n\r\n // Remove from Instances\r\n var index = Engine.Instances.indexOf(this);\r\n\r\n if (index >= 0) {\r\n Engine.Instances.splice(index, 1);\r\n }\r\n\r\n // Observables\r\n this.onResizeObservable.clear();\r\n this.onCanvasBlurObservable.clear();\r\n this.onCanvasFocusObservable.clear();\r\n this.onCanvasPointerOutObservable.clear();\r\n this.onBeginFrameObservable.clear();\r\n this.onEndFrameObservable.clear();\r\n }\r\n\r\n private _disableTouchAction(): void {\r\n if (!this._renderingCanvas || !this._renderingCanvas.setAttribute) {\r\n return;\r\n }\r\n\r\n this._renderingCanvas.setAttribute(\"touch-action\", \"none\");\r\n this._renderingCanvas.style.touchAction = \"none\";\r\n (this._renderingCanvas.style as any).msTouchAction = \"none\";\r\n }\r\n\r\n // Loading screen\r\n\r\n /**\r\n * Display the loading screen\r\n * @see https://doc.babylonjs.com/how_to/creating_a_custom_loading_screen\r\n */\r\n public displayLoadingUI(): void {\r\n if (!DomManagement.IsWindowObjectExist()) {\r\n return;\r\n }\r\n const loadingScreen = this.loadingScreen;\r\n if (loadingScreen) {\r\n loadingScreen.displayLoadingUI();\r\n }\r\n }\r\n\r\n /**\r\n * Hide the loading screen\r\n * @see https://doc.babylonjs.com/how_to/creating_a_custom_loading_screen\r\n */\r\n public hideLoadingUI(): void {\r\n if (!DomManagement.IsWindowObjectExist()) {\r\n return;\r\n }\r\n const loadingScreen = this._loadingScreen;\r\n if (loadingScreen) {\r\n loadingScreen.hideLoadingUI();\r\n }\r\n }\r\n\r\n /**\r\n * Gets the current loading screen object\r\n * @see https://doc.babylonjs.com/how_to/creating_a_custom_loading_screen\r\n */\r\n public get loadingScreen(): ILoadingScreen {\r\n if (!this._loadingScreen && this._renderingCanvas) {\r\n this._loadingScreen = Engine.DefaultLoadingScreenFactory(this._renderingCanvas);\r\n }\r\n return this._loadingScreen;\r\n }\r\n\r\n /**\r\n * Sets the current loading screen object\r\n * @see https://doc.babylonjs.com/how_to/creating_a_custom_loading_screen\r\n */\r\n public set loadingScreen(loadingScreen: ILoadingScreen) {\r\n this._loadingScreen = loadingScreen;\r\n }\r\n\r\n /**\r\n * Sets the current loading screen text\r\n * @see https://doc.babylonjs.com/how_to/creating_a_custom_loading_screen\r\n */\r\n public set loadingUIText(text: string) {\r\n this.loadingScreen.loadingUIText = text;\r\n }\r\n\r\n /**\r\n * Sets the current loading screen background color\r\n * @see https://doc.babylonjs.com/how_to/creating_a_custom_loading_screen\r\n */\r\n public set loadingUIBackgroundColor(color: string) {\r\n this.loadingScreen.loadingUIBackgroundColor = color;\r\n }\r\n\r\n /** Pointerlock and fullscreen */\r\n\r\n /**\r\n * Ask the browser to promote the current element to pointerlock mode\r\n * @param element defines the DOM element to promote\r\n */\r\n static _RequestPointerlock(element: HTMLElement): void {\r\n element.requestPointerLock = element.requestPointerLock || (element).msRequestPointerLock || (element).mozRequestPointerLock || (element).webkitRequestPointerLock;\r\n if (element.requestPointerLock) {\r\n element.requestPointerLock();\r\n }\r\n }\r\n\r\n /**\r\n * Asks the browser to exit pointerlock mode\r\n */\r\n static _ExitPointerlock(): void {\r\n let anyDoc = document as any;\r\n document.exitPointerLock = document.exitPointerLock || anyDoc.msExitPointerLock || anyDoc.mozExitPointerLock || anyDoc.webkitExitPointerLock;\r\n\r\n if (document.exitPointerLock) {\r\n document.exitPointerLock();\r\n }\r\n }\r\n\r\n /**\r\n * Ask the browser to promote the current element to fullscreen rendering mode\r\n * @param element defines the DOM element to promote\r\n */\r\n static _RequestFullscreen(element: HTMLElement): void {\r\n var requestFunction = element.requestFullscreen || (element).msRequestFullscreen || (element).webkitRequestFullscreen || (element).mozRequestFullScreen;\r\n if (!requestFunction) { return; }\r\n requestFunction.call(element);\r\n }\r\n\r\n /**\r\n * Asks the browser to exit fullscreen mode\r\n */\r\n static _ExitFullscreen(): void {\r\n let anyDoc = document as any;\r\n\r\n if (document.exitFullscreen) {\r\n document.exitFullscreen();\r\n }\r\n else if (anyDoc.mozCancelFullScreen) {\r\n anyDoc.mozCancelFullScreen();\r\n }\r\n else if (anyDoc.webkitCancelFullScreen) {\r\n anyDoc.webkitCancelFullScreen();\r\n }\r\n else if (anyDoc.msCancelFullScreen) {\r\n anyDoc.msCancelFullScreen();\r\n }\r\n }\r\n}\r\n","function toVal(mix) {\n\tvar k, y, str='';\n\n\tif (typeof mix === 'string' || typeof mix === 'number') {\n\t\tstr += mix;\n\t} else if (typeof mix === 'object') {\n\t\tif (Array.isArray(mix)) {\n\t\t\tfor (k=0; k < mix.length; k++) {\n\t\t\t\tif (mix[k]) {\n\t\t\t\t\tif (y = toVal(mix[k])) {\n\t\t\t\t\t\tstr && (str += ' ');\n\t\t\t\t\t\tstr += y;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor (k in mix) {\n\t\t\t\tif (mix[k]) {\n\t\t\t\t\tstr && (str += ' ');\n\t\t\t\t\tstr += k;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn str;\n}\n\nexport default function () {\n\tvar i=0, tmp, x, str='';\n\twhile (i < arguments.length) {\n\t\tif (tmp = arguments[i++]) {\n\t\t\tif (x = toVal(tmp)) {\n\t\t\t\tstr && (str += ' ');\n\t\t\t\tstr += x\n\t\t\t}\n\t\t}\n\t}\n\treturn str;\n}\n","/**\r\n * Scalar computation library\r\n */\r\nexport class Scalar {\r\n\r\n /**\r\n * Two pi constants convenient for computation.\r\n */\r\n public static TwoPi: number = Math.PI * 2;\r\n\r\n /**\r\n * Boolean : true if the absolute difference between a and b is lower than epsilon (default = 1.401298E-45)\r\n * @param a number\r\n * @param b number\r\n * @param epsilon (default = 1.401298E-45)\r\n * @returns true if the absolute difference between a and b is lower than epsilon (default = 1.401298E-45)\r\n */\r\n public static WithinEpsilon(a: number, b: number, epsilon: number = 1.401298E-45): boolean {\r\n var num = a - b;\r\n return -epsilon <= num && num <= epsilon;\r\n }\r\n\r\n /**\r\n * Returns a string : the upper case translation of the number i to hexadecimal.\r\n * @param i number\r\n * @returns the upper case translation of the number i to hexadecimal.\r\n */\r\n public static ToHex(i: number): string {\r\n var str = i.toString(16);\r\n\r\n if (i <= 15) {\r\n return (\"0\" + str).toUpperCase();\r\n }\r\n\r\n return str.toUpperCase();\r\n }\r\n\r\n /**\r\n * Returns -1 if value is negative and +1 is value is positive.\r\n * @param value the value\r\n * @returns the value itself if it's equal to zero.\r\n */\r\n public static Sign(value: number): number {\r\n value = +value; // convert to a number\r\n\r\n if (value === 0 || isNaN(value)) {\r\n return value;\r\n }\r\n\r\n return value > 0 ? 1 : -1;\r\n }\r\n\r\n /**\r\n * Returns the value itself if it's between min and max.\r\n * Returns min if the value is lower than min.\r\n * Returns max if the value is greater than max.\r\n * @param value the value to clmap\r\n * @param min the min value to clamp to (default: 0)\r\n * @param max the max value to clamp to (default: 1)\r\n * @returns the clamped value\r\n */\r\n public static Clamp(value: number, min = 0, max = 1): number {\r\n return Math.min(max, Math.max(min, value));\r\n }\r\n\r\n /**\r\n * the log2 of value.\r\n * @param value the value to compute log2 of\r\n * @returns the log2 of value.\r\n */\r\n public static Log2(value: number): number {\r\n return Math.log(value) * Math.LOG2E;\r\n }\r\n\r\n /**\r\n * Loops the value, so that it is never larger than length and never smaller than 0.\r\n *\r\n * This is similar to the modulo operator but it works with floating point numbers.\r\n * For example, using 3.0 for t and 2.5 for length, the result would be 0.5.\r\n * With t = 5 and length = 2.5, the result would be 0.0.\r\n * Note, however, that the behaviour is not defined for negative numbers as it is for the modulo operator\r\n * @param value the value\r\n * @param length the length\r\n * @returns the looped value\r\n */\r\n public static Repeat(value: number, length: number): number {\r\n return value - Math.floor(value / length) * length;\r\n }\r\n\r\n /**\r\n * Normalize the value between 0.0 and 1.0 using min and max values\r\n * @param value value to normalize\r\n * @param min max to normalize between\r\n * @param max min to normalize between\r\n * @returns the normalized value\r\n */\r\n public static Normalize(value: number, min: number, max: number): number {\r\n return (value - min) / (max - min);\r\n }\r\n\r\n /**\r\n * Denormalize the value from 0.0 and 1.0 using min and max values\r\n * @param normalized value to denormalize\r\n * @param min max to denormalize between\r\n * @param max min to denormalize between\r\n * @returns the denormalized value\r\n */\r\n public static Denormalize(normalized: number, min: number, max: number): number {\r\n return (normalized * (max - min) + min);\r\n }\r\n\r\n /**\r\n * Calculates the shortest difference between two given angles given in degrees.\r\n * @param current current angle in degrees\r\n * @param target target angle in degrees\r\n * @returns the delta\r\n */\r\n public static DeltaAngle(current: number, target: number): number {\r\n var num: number = Scalar.Repeat(target - current, 360.0);\r\n if (num > 180.0) {\r\n num -= 360.0;\r\n }\r\n return num;\r\n }\r\n\r\n /**\r\n * PingPongs the value t, so that it is never larger than length and never smaller than 0.\r\n * @param tx value\r\n * @param length length\r\n * @returns The returned value will move back and forth between 0 and length\r\n */\r\n public static PingPong(tx: number, length: number): number {\r\n var t: number = Scalar.Repeat(tx, length * 2.0);\r\n return length - Math.abs(t - length);\r\n }\r\n\r\n /**\r\n * Interpolates between min and max with smoothing at the limits.\r\n *\r\n * This function interpolates between min and max in a similar way to Lerp. However, the interpolation will gradually speed up\r\n * from the start and slow down toward the end. This is useful for creating natural-looking animation, fading and other transitions.\r\n * @param from from\r\n * @param to to\r\n * @param tx value\r\n * @returns the smooth stepped value\r\n */\r\n public static SmoothStep(from: number, to: number, tx: number): number {\r\n var t: number = Scalar.Clamp(tx);\r\n t = -2.0 * t * t * t + 3.0 * t * t;\r\n return to * t + from * (1.0 - t);\r\n }\r\n\r\n /**\r\n * Moves a value current towards target.\r\n *\r\n * This is essentially the same as Mathf.Lerp but instead the function will ensure that the speed never exceeds maxDelta.\r\n * Negative values of maxDelta pushes the value away from target.\r\n * @param current current value\r\n * @param target target value\r\n * @param maxDelta max distance to move\r\n * @returns resulting value\r\n */\r\n public static MoveTowards(current: number, target: number, maxDelta: number): number {\r\n var result: number = 0;\r\n if (Math.abs(target - current) <= maxDelta) {\r\n result = target;\r\n } else {\r\n result = current + Scalar.Sign(target - current) * maxDelta;\r\n }\r\n return result;\r\n }\r\n\r\n /**\r\n * Same as MoveTowards but makes sure the values interpolate correctly when they wrap around 360 degrees.\r\n *\r\n * Variables current and target are assumed to be in degrees. For optimization reasons, negative values of maxDelta\r\n * are not supported and may cause oscillation. To push current away from a target angle, add 180 to that angle instead.\r\n * @param current current value\r\n * @param target target value\r\n * @param maxDelta max distance to move\r\n * @returns resulting angle\r\n */\r\n public static MoveTowardsAngle(current: number, target: number, maxDelta: number): number {\r\n var num: number = Scalar.DeltaAngle(current, target);\r\n var result: number = 0;\r\n if (-maxDelta < num && num < maxDelta) {\r\n result = target;\r\n } else {\r\n target = current + num;\r\n result = Scalar.MoveTowards(current, target, maxDelta);\r\n }\r\n return result;\r\n }\r\n\r\n /**\r\n * Creates a new scalar with values linearly interpolated of \"amount\" between the start scalar and the end scalar.\r\n * @param start start value\r\n * @param end target value\r\n * @param amount amount to lerp between\r\n * @returns the lerped value\r\n */\r\n public static Lerp(start: number, end: number, amount: number): number {\r\n return start + ((end - start) * amount);\r\n }\r\n\r\n /**\r\n * Same as Lerp but makes sure the values interpolate correctly when they wrap around 360 degrees.\r\n * The parameter t is clamped to the range [0, 1]. Variables a and b are assumed to be in degrees.\r\n * @param start start value\r\n * @param end target value\r\n * @param amount amount to lerp between\r\n * @returns the lerped value\r\n */\r\n public static LerpAngle(start: number, end: number, amount: number): number {\r\n var num: number = Scalar.Repeat(end - start, 360.0);\r\n if (num > 180.0) {\r\n num -= 360.0;\r\n }\r\n return start + num * Scalar.Clamp(amount);\r\n }\r\n\r\n /**\r\n * Calculates the linear parameter t that produces the interpolant value within the range [a, b].\r\n * @param a start value\r\n * @param b target value\r\n * @param value value between a and b\r\n * @returns the inverseLerp value\r\n */\r\n public static InverseLerp(a: number, b: number, value: number): number {\r\n var result: number = 0;\r\n if (a != b) {\r\n result = Scalar.Clamp((value - a) / (b - a));\r\n } else {\r\n result = 0.0;\r\n }\r\n return result;\r\n }\r\n\r\n /**\r\n * Returns a new scalar located for \"amount\" (float) on the Hermite spline defined by the scalars \"value1\", \"value3\", \"tangent1\", \"tangent2\".\r\n * @see http://mathworld.wolfram.com/HermitePolynomial.html\r\n * @param value1 spline value\r\n * @param tangent1 spline value\r\n * @param value2 spline value\r\n * @param tangent2 spline value\r\n * @param amount input value\r\n * @returns hermite result\r\n */\r\n public static Hermite(value1: number, tangent1: number, value2: number, tangent2: number, amount: number): number {\r\n var squared = amount * amount;\r\n var cubed = amount * squared;\r\n var part1 = ((2.0 * cubed) - (3.0 * squared)) + 1.0;\r\n var part2 = (-2.0 * cubed) + (3.0 * squared);\r\n var part3 = (cubed - (2.0 * squared)) + amount;\r\n var part4 = cubed - squared;\r\n\r\n return (((value1 * part1) + (value2 * part2)) + (tangent1 * part3)) + (tangent2 * part4);\r\n }\r\n\r\n /**\r\n * Returns a random float number between and min and max values\r\n * @param min min value of random\r\n * @param max max value of random\r\n * @returns random value\r\n */\r\n public static RandomRange(min: number, max: number): number {\r\n if (min === max) { return min; }\r\n return ((Math.random() * (max - min)) + min);\r\n }\r\n\r\n /**\r\n * This function returns percentage of a number in a given range.\r\n *\r\n * RangeToPercent(40,20,60) will return 0.5 (50%)\r\n * RangeToPercent(34,0,100) will return 0.34 (34%)\r\n * @param number to convert to percentage\r\n * @param min min range\r\n * @param max max range\r\n * @returns the percentage\r\n */\r\n public static RangeToPercent(number: number, min: number, max: number): number {\r\n return ((number - min) / (max - min));\r\n }\r\n\r\n /**\r\n * This function returns number that corresponds to the percentage in a given range.\r\n *\r\n * PercentToRange(0.34,0,100) will return 34.\r\n * @param percent to convert to number\r\n * @param min min range\r\n * @param max max range\r\n * @returns the number\r\n */\r\n public static PercentToRange(percent: number, min: number, max: number): number {\r\n return ((max - min) * percent + min);\r\n }\r\n\r\n /**\r\n * Returns the angle converted to equivalent value between -Math.PI and Math.PI radians.\r\n * @param angle The angle to normalize in radian.\r\n * @return The converted angle.\r\n */\r\n public static NormalizeRadians(angle: number): number {\r\n // More precise but slower version kept for reference.\r\n // angle = angle % Tools.TwoPi;\r\n // angle = (angle + Tools.TwoPi) % Tools.TwoPi;\r\n\r\n //if (angle > Math.PI) {\r\n //\tangle -= Tools.TwoPi;\r\n //}\r\n\r\n angle -= (Scalar.TwoPi * Math.floor((angle + Math.PI) / Scalar.TwoPi));\r\n\r\n return angle;\r\n }\r\n}\r\n","import { Logger } from \"../Misc/logger\";\r\nimport { Nullable } from \"../types\";\r\nimport { Camera } from \"../Cameras/camera\";\r\nimport { Scene } from \"../scene\";\r\nimport { Engine } from \"../Engines/engine\";\r\nimport { EngineStore } from \"../Engines/engineStore\";\r\nimport { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { Mesh } from \"../Meshes/mesh\";\r\nimport { VertexBuffer } from \"../Meshes/buffer\";\r\nimport { Light } from \"../Lights/light\";\r\n\r\nimport { PrePassConfiguration } from \"../Materials/prePassConfiguration\";\r\n\r\nimport { UniformBuffer } from \"./uniformBuffer\";\r\nimport { Effect, IEffectCreationOptions } from \"./effect\";\r\nimport { BaseTexture } from \"../Materials/Textures/baseTexture\";\r\nimport { WebVRFreeCamera } from '../Cameras/VR/webVRCamera';\r\nimport { MaterialDefines } from \"./materialDefines\";\r\nimport { Color3 } from '../Maths/math.color';\r\nimport { EffectFallbacks } from './effectFallbacks';\r\nimport { ThinMaterialHelper } from './thinMaterialHelper';\r\n\r\n/**\r\n * \"Static Class\" containing the most commonly used helper while dealing with material for rendering purpose.\r\n *\r\n * It contains the basic tools to help defining defines, binding uniform for the common part of the materials.\r\n *\r\n * This works by convention in BabylonJS but is meant to be use only with shader following the in place naming rules and conventions.\r\n */\r\nexport class MaterialHelper {\r\n\r\n /**\r\n * Bind the current view position to an effect.\r\n * @param effect The effect to be bound\r\n * @param scene The scene the eyes position is used from\r\n * @param variableName name of the shader variable that will hold the eye position\r\n */\r\n public static BindEyePosition(effect: Effect, scene: Scene, variableName = \"vEyePosition\"): void {\r\n if (scene._forcedViewPosition) {\r\n effect.setVector3(variableName, scene._forcedViewPosition);\r\n return;\r\n }\r\n var globalPosition = scene.activeCamera!.globalPosition;\r\n if (!globalPosition) {\r\n // Use WebVRFreecamera's device position as global position is not it's actual position in babylon space\r\n globalPosition = (scene.activeCamera! as WebVRFreeCamera).devicePosition;\r\n }\r\n effect.setVector3(variableName, scene._mirroredCameraPosition ? scene._mirroredCameraPosition : globalPosition);\r\n }\r\n\r\n /**\r\n * Helps preparing the defines values about the UVs in used in the effect.\r\n * UVs are shared as much as we can accross channels in the shaders.\r\n * @param texture The texture we are preparing the UVs for\r\n * @param defines The defines to update\r\n * @param key The channel key \"diffuse\", \"specular\"... used in the shader\r\n */\r\n public static PrepareDefinesForMergedUV(texture: BaseTexture, defines: any, key: string): void {\r\n defines._needUVs = true;\r\n defines[key] = true;\r\n if (texture.getTextureMatrix().isIdentityAs3x2()) {\r\n defines[key + \"DIRECTUV\"] = texture.coordinatesIndex + 1;\r\n if (texture.coordinatesIndex === 0) {\r\n defines[\"MAINUV1\"] = true;\r\n } else {\r\n defines[\"MAINUV2\"] = true;\r\n }\r\n } else {\r\n defines[key + \"DIRECTUV\"] = 0;\r\n }\r\n }\r\n\r\n /**\r\n * Binds a texture matrix value to its corrsponding uniform\r\n * @param texture The texture to bind the matrix for\r\n * @param uniformBuffer The uniform buffer receivin the data\r\n * @param key The channel key \"diffuse\", \"specular\"... used in the shader\r\n */\r\n public static BindTextureMatrix(texture: BaseTexture, uniformBuffer: UniformBuffer, key: string): void {\r\n var matrix = texture.getTextureMatrix();\r\n\r\n uniformBuffer.updateMatrix(key + \"Matrix\", matrix);\r\n }\r\n\r\n /**\r\n * Gets the current status of the fog (should it be enabled?)\r\n * @param mesh defines the mesh to evaluate for fog support\r\n * @param scene defines the hosting scene\r\n * @returns true if fog must be enabled\r\n */\r\n public static GetFogState(mesh: AbstractMesh, scene: Scene) {\r\n return (scene.fogEnabled && mesh.applyFog && scene.fogMode !== Scene.FOGMODE_NONE);\r\n }\r\n\r\n /**\r\n * Helper used to prepare the list of defines associated with misc. values for shader compilation\r\n * @param mesh defines the current mesh\r\n * @param scene defines the current scene\r\n * @param useLogarithmicDepth defines if logarithmic depth has to be turned on\r\n * @param pointsCloud defines if point cloud rendering has to be turned on\r\n * @param fogEnabled defines if fog has to be turned on\r\n * @param alphaTest defines if alpha testing has to be turned on\r\n * @param defines defines the current list of defines\r\n */\r\n public static PrepareDefinesForMisc(mesh: AbstractMesh, scene: Scene, useLogarithmicDepth: boolean, pointsCloud: boolean, fogEnabled: boolean, alphaTest: boolean, defines: any): void {\r\n if (defines._areMiscDirty) {\r\n defines[\"LOGARITHMICDEPTH\"] = useLogarithmicDepth;\r\n defines[\"POINTSIZE\"] = pointsCloud;\r\n defines[\"FOG\"] = fogEnabled && this.GetFogState(mesh, scene);\r\n defines[\"NONUNIFORMSCALING\"] = mesh.nonUniformScaling;\r\n defines[\"ALPHATEST\"] = alphaTest;\r\n }\r\n }\r\n\r\n /**\r\n * Helper used to prepare the list of defines associated with frame values for shader compilation\r\n * @param scene defines the current scene\r\n * @param engine defines the current engine\r\n * @param defines specifies the list of active defines\r\n * @param useInstances defines if instances have to be turned on\r\n * @param useClipPlane defines if clip plane have to be turned on\r\n * @param useInstances defines if instances have to be turned on\r\n * @param useThinInstances defines if thin instances have to be turned on\r\n */\r\n public static PrepareDefinesForFrameBoundValues(scene: Scene, engine: Engine, defines: any, useInstances: boolean, useClipPlane: Nullable = null, useThinInstances: boolean = false): void {\r\n var changed = false;\r\n let useClipPlane1 = false;\r\n let useClipPlane2 = false;\r\n let useClipPlane3 = false;\r\n let useClipPlane4 = false;\r\n let useClipPlane5 = false;\r\n let useClipPlane6 = false;\r\n\r\n useClipPlane1 = useClipPlane == null ? (scene.clipPlane !== undefined && scene.clipPlane !== null) : useClipPlane;\r\n useClipPlane2 = useClipPlane == null ? (scene.clipPlane2 !== undefined && scene.clipPlane2 !== null) : useClipPlane;\r\n useClipPlane3 = useClipPlane == null ? (scene.clipPlane3 !== undefined && scene.clipPlane3 !== null) : useClipPlane;\r\n useClipPlane4 = useClipPlane == null ? (scene.clipPlane4 !== undefined && scene.clipPlane4 !== null) : useClipPlane;\r\n useClipPlane5 = useClipPlane == null ? (scene.clipPlane5 !== undefined && scene.clipPlane5 !== null) : useClipPlane;\r\n useClipPlane6 = useClipPlane == null ? (scene.clipPlane6 !== undefined && scene.clipPlane6 !== null) : useClipPlane;\r\n\r\n if (defines[\"CLIPPLANE\"] !== useClipPlane1) {\r\n defines[\"CLIPPLANE\"] = useClipPlane1;\r\n changed = true;\r\n }\r\n\r\n if (defines[\"CLIPPLANE2\"] !== useClipPlane2) {\r\n defines[\"CLIPPLANE2\"] = useClipPlane2;\r\n changed = true;\r\n }\r\n\r\n if (defines[\"CLIPPLANE3\"] !== useClipPlane3) {\r\n defines[\"CLIPPLANE3\"] = useClipPlane3;\r\n changed = true;\r\n }\r\n\r\n if (defines[\"CLIPPLANE4\"] !== useClipPlane4) {\r\n defines[\"CLIPPLANE4\"] = useClipPlane4;\r\n changed = true;\r\n }\r\n\r\n if (defines[\"CLIPPLANE5\"] !== useClipPlane5) {\r\n defines[\"CLIPPLANE5\"] = useClipPlane5;\r\n changed = true;\r\n }\r\n\r\n if (defines[\"CLIPPLANE6\"] !== useClipPlane6) {\r\n defines[\"CLIPPLANE6\"] = useClipPlane6;\r\n changed = true;\r\n }\r\n\r\n if (defines[\"DEPTHPREPASS\"] !== !engine.getColorWrite()) {\r\n defines[\"DEPTHPREPASS\"] = !defines[\"DEPTHPREPASS\"];\r\n changed = true;\r\n }\r\n\r\n if (defines[\"INSTANCES\"] !== useInstances) {\r\n defines[\"INSTANCES\"] = useInstances;\r\n changed = true;\r\n }\r\n\r\n if (defines[\"THIN_INSTANCES\"] !== useThinInstances) {\r\n defines[\"THIN_INSTANCES\"] = useThinInstances;\r\n changed = true;\r\n }\r\n\r\n if (changed) {\r\n defines.markAsUnprocessed();\r\n }\r\n }\r\n\r\n /**\r\n * Prepares the defines for bones\r\n * @param mesh The mesh containing the geometry data we will draw\r\n * @param defines The defines to update\r\n */\r\n public static PrepareDefinesForBones(mesh: AbstractMesh, defines: any) {\r\n if (mesh.useBones && mesh.computeBonesUsingShaders && mesh.skeleton) {\r\n defines[\"NUM_BONE_INFLUENCERS\"] = mesh.numBoneInfluencers;\r\n\r\n const materialSupportsBoneTexture = defines[\"BONETEXTURE\"] !== undefined;\r\n\r\n if (mesh.skeleton.isUsingTextureForMatrices && materialSupportsBoneTexture) {\r\n defines[\"BONETEXTURE\"] = true;\r\n } else {\r\n defines[\"BonesPerMesh\"] = (mesh.skeleton.bones.length + 1);\r\n defines[\"BONETEXTURE\"] = materialSupportsBoneTexture ? false : undefined;\r\n\r\n const prePassRenderer = mesh.getScene().prePassRenderer;\r\n if (prePassRenderer && prePassRenderer.enabled) {\r\n const nonExcluded = prePassRenderer.excludedSkinnedMesh.indexOf(mesh) === -1;\r\n defines[\"BONES_VELOCITY_ENABLED\"] = nonExcluded;\r\n }\r\n }\r\n } else {\r\n defines[\"NUM_BONE_INFLUENCERS\"] = 0;\r\n defines[\"BonesPerMesh\"] = 0;\r\n }\r\n }\r\n\r\n /**\r\n * Prepares the defines for morph targets\r\n * @param mesh The mesh containing the geometry data we will draw\r\n * @param defines The defines to update\r\n */\r\n public static PrepareDefinesForMorphTargets(mesh: AbstractMesh, defines: any) {\r\n var manager = (mesh).morphTargetManager;\r\n if (manager) {\r\n defines[\"MORPHTARGETS_UV\"] = manager.supportsUVs && defines[\"UV1\"];\r\n defines[\"MORPHTARGETS_TANGENT\"] = manager.supportsTangents && defines[\"TANGENT\"];\r\n defines[\"MORPHTARGETS_NORMAL\"] = manager.supportsNormals && defines[\"NORMAL\"];\r\n defines[\"MORPHTARGETS\"] = (manager.numInfluencers > 0);\r\n defines[\"NUM_MORPH_INFLUENCERS\"] = manager.numInfluencers;\r\n } else {\r\n defines[\"MORPHTARGETS_UV\"] = false;\r\n defines[\"MORPHTARGETS_TANGENT\"] = false;\r\n defines[\"MORPHTARGETS_NORMAL\"] = false;\r\n defines[\"MORPHTARGETS\"] = false;\r\n defines[\"NUM_MORPH_INFLUENCERS\"] = 0;\r\n }\r\n }\r\n\r\n /**\r\n * Prepares the defines used in the shader depending on the attributes data available in the mesh\r\n * @param mesh The mesh containing the geometry data we will draw\r\n * @param defines The defines to update\r\n * @param useVertexColor Precise whether vertex colors should be used or not (override mesh info)\r\n * @param useBones Precise whether bones should be used or not (override mesh info)\r\n * @param useMorphTargets Precise whether morph targets should be used or not (override mesh info)\r\n * @param useVertexAlpha Precise whether vertex alpha should be used or not (override mesh info)\r\n * @returns false if defines are considered not dirty and have not been checked\r\n */\r\n public static PrepareDefinesForAttributes(mesh: AbstractMesh, defines: any, useVertexColor: boolean, useBones: boolean, useMorphTargets = false, useVertexAlpha = true): boolean {\r\n if (!defines._areAttributesDirty && defines._needNormals === defines._normals && defines._needUVs === defines._uvs) {\r\n return false;\r\n }\r\n\r\n defines._normals = defines._needNormals;\r\n defines._uvs = defines._needUVs;\r\n\r\n defines[\"NORMAL\"] = (defines._needNormals && mesh.isVerticesDataPresent(VertexBuffer.NormalKind));\r\n\r\n if (defines._needNormals && mesh.isVerticesDataPresent(VertexBuffer.TangentKind)) {\r\n defines[\"TANGENT\"] = true;\r\n }\r\n\r\n if (defines._needUVs) {\r\n defines[\"UV1\"] = mesh.isVerticesDataPresent(VertexBuffer.UVKind);\r\n defines[\"UV2\"] = mesh.isVerticesDataPresent(VertexBuffer.UV2Kind);\r\n } else {\r\n defines[\"UV1\"] = false;\r\n defines[\"UV2\"] = false;\r\n }\r\n\r\n if (useVertexColor) {\r\n var hasVertexColors = mesh.useVertexColors && mesh.isVerticesDataPresent(VertexBuffer.ColorKind);\r\n defines[\"VERTEXCOLOR\"] = hasVertexColors;\r\n defines[\"VERTEXALPHA\"] = mesh.hasVertexAlpha && hasVertexColors && useVertexAlpha;\r\n }\r\n\r\n if (useBones) {\r\n this.PrepareDefinesForBones(mesh, defines);\r\n }\r\n\r\n if (useMorphTargets) {\r\n this.PrepareDefinesForMorphTargets(mesh, defines);\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Prepares the defines related to multiview\r\n * @param scene The scene we are intending to draw\r\n * @param defines The defines to update\r\n */\r\n public static PrepareDefinesForMultiview(scene: Scene, defines: any) {\r\n if (scene.activeCamera) {\r\n var previousMultiview = defines.MULTIVIEW;\r\n defines.MULTIVIEW = (scene.activeCamera.outputRenderTarget !== null && scene.activeCamera.outputRenderTarget.getViewCount() > 1);\r\n if (defines.MULTIVIEW != previousMultiview) {\r\n defines.markAsUnprocessed();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Prepares the defines related to the prepass\r\n * @param scene The scene we are intending to draw\r\n * @param defines The defines to update\r\n * @param canRenderToMRT Indicates if this material renders to several textures in the prepass\r\n */\r\n public static PrepareDefinesForPrePass(scene: Scene, defines: any, canRenderToMRT: boolean) {\r\n const previousPrePass = defines.PREPASS;\r\n\r\n if (!defines._arePrePassDirty) {\r\n return;\r\n }\r\n\r\n const texturesList = [\r\n {\r\n type: 1,\r\n define: \"PREPASS_POSITION\",\r\n index: \"PREPASS_POSITION_INDEX\",\r\n },\r\n {\r\n type: 2,\r\n define: \"PREPASS_VELOCITY\",\r\n index: \"PREPASS_VELOCITY_INDEX\",\r\n },\r\n {\r\n type: 3,\r\n define: \"PREPASS_REFLECTIVITY\",\r\n index: \"PREPASS_REFLECTIVITY_INDEX\",\r\n },\r\n {\r\n type: 0,\r\n define: \"PREPASS_IRRADIANCE\",\r\n index: \"PREPASS_IRRADIANCE_INDEX\",\r\n },\r\n {\r\n type: 6,\r\n define: \"PREPASS_ALBEDO\",\r\n index: \"PREPASS_ALBEDO_INDEX\",\r\n },\r\n {\r\n type: 5,\r\n define: \"PREPASS_DEPTHNORMAL\",\r\n index: \"PREPASS_DEPTHNORMAL_INDEX\",\r\n }];\r\n\r\n if (scene.prePassRenderer && scene.prePassRenderer.enabled && canRenderToMRT) {\r\n defines.PREPASS = true;\r\n defines.SCENE_MRT_COUNT = scene.prePassRenderer.mrtCount;\r\n\r\n for (let i = 0; i < texturesList.length; i++) {\r\n const index = scene.prePassRenderer.getIndex(texturesList[i].type);\r\n if (index !== -1) {\r\n defines[texturesList[i].define] = true;\r\n defines[texturesList[i].index] = index;\r\n } else {\r\n defines[texturesList[i].define] = false;\r\n }\r\n }\r\n\r\n } else {\r\n defines.PREPASS = false;\r\n for (let i = 0; i < texturesList.length; i++) {\r\n defines[texturesList[i].define] = false;\r\n }\r\n }\r\n\r\n if (defines.PREPASS != previousPrePass) {\r\n defines.markAsUnprocessed();\r\n defines.markAsImageProcessingDirty();\r\n }\r\n }\r\n\r\n /**\r\n * Prepares the defines related to the light information passed in parameter\r\n * @param scene The scene we are intending to draw\r\n * @param mesh The mesh the effect is compiling for\r\n * @param light The light the effect is compiling for\r\n * @param lightIndex The index of the light\r\n * @param defines The defines to update\r\n * @param specularSupported Specifies whether specular is supported or not (override lights data)\r\n * @param state Defines the current state regarding what is needed (normals, etc...)\r\n */\r\n public static PrepareDefinesForLight(scene: Scene, mesh: AbstractMesh, light: Light, lightIndex: number, defines: any, specularSupported: boolean, state: {\r\n needNormals: boolean,\r\n needRebuild: boolean,\r\n shadowEnabled: boolean,\r\n specularEnabled: boolean,\r\n lightmapMode: boolean\r\n }) {\r\n state.needNormals = true;\r\n\r\n if (defines[\"LIGHT\" + lightIndex] === undefined) {\r\n state.needRebuild = true;\r\n }\r\n\r\n defines[\"LIGHT\" + lightIndex] = true;\r\n\r\n defines[\"SPOTLIGHT\" + lightIndex] = false;\r\n defines[\"HEMILIGHT\" + lightIndex] = false;\r\n defines[\"POINTLIGHT\" + lightIndex] = false;\r\n defines[\"DIRLIGHT\" + lightIndex] = false;\r\n\r\n light.prepareLightSpecificDefines(defines, lightIndex);\r\n\r\n // FallOff.\r\n defines[\"LIGHT_FALLOFF_PHYSICAL\" + lightIndex] = false;\r\n defines[\"LIGHT_FALLOFF_GLTF\" + lightIndex] = false;\r\n defines[\"LIGHT_FALLOFF_STANDARD\" + lightIndex] = false;\r\n\r\n switch (light.falloffType) {\r\n case Light.FALLOFF_GLTF:\r\n defines[\"LIGHT_FALLOFF_GLTF\" + lightIndex] = true;\r\n break;\r\n case Light.FALLOFF_PHYSICAL:\r\n defines[\"LIGHT_FALLOFF_PHYSICAL\" + lightIndex] = true;\r\n break;\r\n case Light.FALLOFF_STANDARD:\r\n defines[\"LIGHT_FALLOFF_STANDARD\" + lightIndex] = true;\r\n break;\r\n }\r\n\r\n // Specular\r\n if (specularSupported && !light.specular.equalsFloats(0, 0, 0)) {\r\n state.specularEnabled = true;\r\n }\r\n\r\n // Shadows\r\n defines[\"SHADOW\" + lightIndex] = false;\r\n defines[\"SHADOWCSM\" + lightIndex] = false;\r\n defines[\"SHADOWCSMDEBUG\" + lightIndex] = false;\r\n defines[\"SHADOWCSMNUM_CASCADES\" + lightIndex] = false;\r\n defines[\"SHADOWCSMUSESHADOWMAXZ\" + lightIndex] = false;\r\n defines[\"SHADOWCSMNOBLEND\" + lightIndex] = false;\r\n defines[\"SHADOWCSM_RIGHTHANDED\" + lightIndex] = false;\r\n defines[\"SHADOWPCF\" + lightIndex] = false;\r\n defines[\"SHADOWPCSS\" + lightIndex] = false;\r\n defines[\"SHADOWPOISSON\" + lightIndex] = false;\r\n defines[\"SHADOWESM\" + lightIndex] = false;\r\n defines[\"SHADOWCLOSEESM\" + lightIndex] = false;\r\n defines[\"SHADOWCUBE\" + lightIndex] = false;\r\n defines[\"SHADOWLOWQUALITY\" + lightIndex] = false;\r\n defines[\"SHADOWMEDIUMQUALITY\" + lightIndex] = false;\r\n\r\n if (mesh && mesh.receiveShadows && scene.shadowsEnabled && light.shadowEnabled) {\r\n var shadowGenerator = light.getShadowGenerator();\r\n if (shadowGenerator) {\r\n const shadowMap = shadowGenerator.getShadowMap();\r\n if (shadowMap) {\r\n if (shadowMap.renderList && shadowMap.renderList.length > 0) {\r\n state.shadowEnabled = true;\r\n shadowGenerator.prepareDefines(defines, lightIndex);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (light.lightmapMode != Light.LIGHTMAP_DEFAULT) {\r\n state.lightmapMode = true;\r\n defines[\"LIGHTMAPEXCLUDED\" + lightIndex] = true;\r\n defines[\"LIGHTMAPNOSPECULAR\" + lightIndex] = (light.lightmapMode == Light.LIGHTMAP_SHADOWSONLY);\r\n } else {\r\n defines[\"LIGHTMAPEXCLUDED\" + lightIndex] = false;\r\n defines[\"LIGHTMAPNOSPECULAR\" + lightIndex] = false;\r\n }\r\n }\r\n\r\n /**\r\n * Prepares the defines related to the light information passed in parameter\r\n * @param scene The scene we are intending to draw\r\n * @param mesh The mesh the effect is compiling for\r\n * @param defines The defines to update\r\n * @param specularSupported Specifies whether specular is supported or not (override lights data)\r\n * @param maxSimultaneousLights Specfies how manuy lights can be added to the effect at max\r\n * @param disableLighting Specifies whether the lighting is disabled (override scene and light)\r\n * @returns true if normals will be required for the rest of the effect\r\n */\r\n public static PrepareDefinesForLights(scene: Scene, mesh: AbstractMesh, defines: any, specularSupported: boolean, maxSimultaneousLights = 4, disableLighting = false): boolean {\r\n if (!defines._areLightsDirty) {\r\n return defines._needNormals;\r\n }\r\n\r\n var lightIndex = 0;\r\n let state = {\r\n needNormals: false,\r\n needRebuild: false,\r\n lightmapMode: false,\r\n shadowEnabled: false,\r\n specularEnabled: false\r\n };\r\n\r\n if (scene.lightsEnabled && !disableLighting) {\r\n for (var light of mesh.lightSources) {\r\n this.PrepareDefinesForLight(scene, mesh, light, lightIndex, defines, specularSupported, state);\r\n\r\n lightIndex++;\r\n if (lightIndex === maxSimultaneousLights) {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n defines[\"SPECULARTERM\"] = state.specularEnabled;\r\n defines[\"SHADOWS\"] = state.shadowEnabled;\r\n\r\n // Resetting all other lights if any\r\n for (var index = lightIndex; index < maxSimultaneousLights; index++) {\r\n if (defines[\"LIGHT\" + index] !== undefined) {\r\n defines[\"LIGHT\" + index] = false;\r\n defines[\"HEMILIGHT\" + index] = false;\r\n defines[\"POINTLIGHT\" + index] = false;\r\n defines[\"DIRLIGHT\" + index] = false;\r\n defines[\"SPOTLIGHT\" + index] = false;\r\n defines[\"SHADOW\" + index] = false;\r\n defines[\"SHADOWCSM\" + index] = false;\r\n defines[\"SHADOWCSMDEBUG\" + index] = false;\r\n defines[\"SHADOWCSMNUM_CASCADES\" + index] = false;\r\n defines[\"SHADOWCSMUSESHADOWMAXZ\" + index] = false;\r\n defines[\"SHADOWCSMNOBLEND\" + index] = false;\r\n defines[\"SHADOWCSM_RIGHTHANDED\" + index] = false;\r\n defines[\"SHADOWPCF\" + index] = false;\r\n defines[\"SHADOWPCSS\" + index] = false;\r\n defines[\"SHADOWPOISSON\" + index] = false;\r\n defines[\"SHADOWESM\" + index] = false;\r\n defines[\"SHADOWCLOSEESM\" + index] = false;\r\n defines[\"SHADOWCUBE\" + index] = false;\r\n defines[\"SHADOWLOWQUALITY\" + index] = false;\r\n defines[\"SHADOWMEDIUMQUALITY\" + index] = false;\r\n }\r\n }\r\n\r\n let caps = scene.getEngine().getCaps();\r\n\r\n if (defines[\"SHADOWFLOAT\"] === undefined) {\r\n state.needRebuild = true;\r\n }\r\n\r\n defines[\"SHADOWFLOAT\"] = state.shadowEnabled &&\r\n ((caps.textureFloatRender && caps.textureFloatLinearFiltering) ||\r\n (caps.textureHalfFloatRender && caps.textureHalfFloatLinearFiltering));\r\n defines[\"LIGHTMAPEXCLUDED\"] = state.lightmapMode;\r\n\r\n if (state.needRebuild) {\r\n defines.rebuild();\r\n }\r\n\r\n return state.needNormals;\r\n }\r\n\r\n /**\r\n * Prepares the uniforms and samplers list to be used in the effect (for a specific light)\r\n * @param lightIndex defines the light index\r\n * @param uniformsList The uniform list\r\n * @param samplersList The sampler list\r\n * @param projectedLightTexture defines if projected texture must be used\r\n * @param uniformBuffersList defines an optional list of uniform buffers\r\n * @param updateOnlyBuffersList True to only update the uniformBuffersList array\r\n */\r\n public static PrepareUniformsAndSamplersForLight(lightIndex: number, uniformsList: string[], samplersList: string[], projectedLightTexture?: any, uniformBuffersList: Nullable = null, updateOnlyBuffersList = false) {\r\n if (uniformBuffersList) {\r\n uniformBuffersList.push(\"Light\" + lightIndex);\r\n }\r\n\r\n if (updateOnlyBuffersList) {\r\n return;\r\n }\r\n\r\n uniformsList.push(\r\n \"vLightData\" + lightIndex,\r\n \"vLightDiffuse\" + lightIndex,\r\n \"vLightSpecular\" + lightIndex,\r\n \"vLightDirection\" + lightIndex,\r\n \"vLightFalloff\" + lightIndex,\r\n \"vLightGround\" + lightIndex,\r\n \"lightMatrix\" + lightIndex,\r\n \"shadowsInfo\" + lightIndex,\r\n \"depthValues\" + lightIndex,\r\n );\r\n\r\n samplersList.push(\"shadowSampler\" + lightIndex);\r\n samplersList.push(\"depthSampler\" + lightIndex);\r\n\r\n uniformsList.push(\r\n \"viewFrustumZ\" + lightIndex,\r\n \"cascadeBlendFactor\" + lightIndex,\r\n \"lightSizeUVCorrection\" + lightIndex,\r\n \"depthCorrection\" + lightIndex,\r\n \"penumbraDarkness\" + lightIndex,\r\n \"frustumLengths\" + lightIndex,\r\n );\r\n\r\n if (projectedLightTexture) {\r\n samplersList.push(\"projectionLightSampler\" + lightIndex);\r\n uniformsList.push(\r\n \"textureProjectionMatrix\" + lightIndex,\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Prepares the uniforms and samplers list to be used in the effect\r\n * @param uniformsListOrOptions The uniform names to prepare or an EffectCreationOptions containing the liist and extra information\r\n * @param samplersList The sampler list\r\n * @param defines The defines helping in the list generation\r\n * @param maxSimultaneousLights The maximum number of simultanous light allowed in the effect\r\n */\r\n public static PrepareUniformsAndSamplersList(uniformsListOrOptions: string[] | IEffectCreationOptions, samplersList?: string[], defines?: any, maxSimultaneousLights = 4): void {\r\n let uniformsList: string[];\r\n let uniformBuffersList: Nullable = null;\r\n\r\n if ((uniformsListOrOptions).uniformsNames) {\r\n var options = uniformsListOrOptions;\r\n uniformsList = options.uniformsNames;\r\n uniformBuffersList = options.uniformBuffersNames;\r\n samplersList = options.samplers;\r\n defines = options.defines;\r\n maxSimultaneousLights = options.maxSimultaneousLights || 0;\r\n } else {\r\n uniformsList = uniformsListOrOptions;\r\n if (!samplersList) {\r\n samplersList = [];\r\n }\r\n }\r\n\r\n for (var lightIndex = 0; lightIndex < maxSimultaneousLights; lightIndex++) {\r\n if (!defines[\"LIGHT\" + lightIndex]) {\r\n break;\r\n }\r\n this.PrepareUniformsAndSamplersForLight(lightIndex, uniformsList, samplersList, defines[\"PROJECTEDLIGHTTEXTURE\" + lightIndex], uniformBuffersList);\r\n }\r\n\r\n if (defines[\"NUM_MORPH_INFLUENCERS\"]) {\r\n uniformsList.push(\"morphTargetInfluences\");\r\n }\r\n }\r\n\r\n /**\r\n * This helps decreasing rank by rank the shadow quality (0 being the highest rank and quality)\r\n * @param defines The defines to update while falling back\r\n * @param fallbacks The authorized effect fallbacks\r\n * @param maxSimultaneousLights The maximum number of lights allowed\r\n * @param rank the current rank of the Effect\r\n * @returns The newly affected rank\r\n */\r\n public static HandleFallbacksForShadows(defines: any, fallbacks: EffectFallbacks, maxSimultaneousLights = 4, rank = 0): number {\r\n let lightFallbackRank = 0;\r\n for (var lightIndex = 0; lightIndex < maxSimultaneousLights; lightIndex++) {\r\n if (!defines[\"LIGHT\" + lightIndex]) {\r\n break;\r\n }\r\n\r\n if (lightIndex > 0) {\r\n lightFallbackRank = rank + lightIndex;\r\n fallbacks.addFallback(lightFallbackRank, \"LIGHT\" + lightIndex);\r\n }\r\n\r\n if (!defines[\"SHADOWS\"]) {\r\n if (defines[\"SHADOW\" + lightIndex]) {\r\n fallbacks.addFallback(rank, \"SHADOW\" + lightIndex);\r\n }\r\n\r\n if (defines[\"SHADOWPCF\" + lightIndex]) {\r\n fallbacks.addFallback(rank, \"SHADOWPCF\" + lightIndex);\r\n }\r\n\r\n if (defines[\"SHADOWPCSS\" + lightIndex]) {\r\n fallbacks.addFallback(rank, \"SHADOWPCSS\" + lightIndex);\r\n }\r\n\r\n if (defines[\"SHADOWPOISSON\" + lightIndex]) {\r\n fallbacks.addFallback(rank, \"SHADOWPOISSON\" + lightIndex);\r\n }\r\n\r\n if (defines[\"SHADOWESM\" + lightIndex]) {\r\n fallbacks.addFallback(rank, \"SHADOWESM\" + lightIndex);\r\n }\r\n\r\n if (defines[\"SHADOWCLOSEESM\" + lightIndex]) {\r\n fallbacks.addFallback(rank, \"SHADOWCLOSEESM\" + lightIndex);\r\n }\r\n }\r\n }\r\n return lightFallbackRank++;\r\n }\r\n\r\n private static _TmpMorphInfluencers = { \"NUM_MORPH_INFLUENCERS\": 0 };\r\n /**\r\n * Prepares the list of attributes required for morph targets according to the effect defines.\r\n * @param attribs The current list of supported attribs\r\n * @param mesh The mesh to prepare the morph targets attributes for\r\n * @param influencers The number of influencers\r\n */\r\n public static PrepareAttributesForMorphTargetsInfluencers(attribs: string[], mesh: AbstractMesh, influencers: number): void {\r\n this._TmpMorphInfluencers.NUM_MORPH_INFLUENCERS = influencers;\r\n this.PrepareAttributesForMorphTargets(attribs, mesh, this._TmpMorphInfluencers);\r\n }\r\n\r\n /**\r\n * Prepares the list of attributes required for morph targets according to the effect defines.\r\n * @param attribs The current list of supported attribs\r\n * @param mesh The mesh to prepare the morph targets attributes for\r\n * @param defines The current Defines of the effect\r\n */\r\n public static PrepareAttributesForMorphTargets(attribs: string[], mesh: AbstractMesh, defines: any): void {\r\n var influencers = defines[\"NUM_MORPH_INFLUENCERS\"];\r\n\r\n if (influencers > 0 && EngineStore.LastCreatedEngine) {\r\n var maxAttributesCount = EngineStore.LastCreatedEngine.getCaps().maxVertexAttribs;\r\n var manager = (mesh).morphTargetManager;\r\n var normal = manager && manager.supportsNormals && defines[\"NORMAL\"];\r\n var tangent = manager && manager.supportsTangents && defines[\"TANGENT\"];\r\n var uv = manager && manager.supportsUVs && defines[\"UV1\"];\r\n for (var index = 0; index < influencers; index++) {\r\n attribs.push(VertexBuffer.PositionKind + index);\r\n\r\n if (normal) {\r\n attribs.push(VertexBuffer.NormalKind + index);\r\n }\r\n\r\n if (tangent) {\r\n attribs.push(VertexBuffer.TangentKind + index);\r\n }\r\n\r\n if (uv) {\r\n attribs.push(VertexBuffer.UVKind + \"_\" + index);\r\n }\r\n\r\n if (attribs.length > maxAttributesCount) {\r\n Logger.Error(\"Cannot add more vertex attributes for mesh \" + mesh.name);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Prepares the list of attributes required for bones according to the effect defines.\r\n * @param attribs The current list of supported attribs\r\n * @param mesh The mesh to prepare the bones attributes for\r\n * @param defines The current Defines of the effect\r\n * @param fallbacks The current efffect fallback strategy\r\n */\r\n public static PrepareAttributesForBones(attribs: string[], mesh: AbstractMesh, defines: any, fallbacks: EffectFallbacks): void {\r\n if (defines[\"NUM_BONE_INFLUENCERS\"] > 0) {\r\n fallbacks.addCPUSkinningFallback(0, mesh);\r\n\r\n attribs.push(VertexBuffer.MatricesIndicesKind);\r\n attribs.push(VertexBuffer.MatricesWeightsKind);\r\n if (defines[\"NUM_BONE_INFLUENCERS\"] > 4) {\r\n attribs.push(VertexBuffer.MatricesIndicesExtraKind);\r\n attribs.push(VertexBuffer.MatricesWeightsExtraKind);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Check and prepare the list of attributes required for instances according to the effect defines.\r\n * @param attribs The current list of supported attribs\r\n * @param defines The current MaterialDefines of the effect\r\n */\r\n public static PrepareAttributesForInstances(attribs: string[], defines: MaterialDefines): void {\r\n if (defines[\"INSTANCES\"] || defines[\"THIN_INSTANCES\"]) {\r\n this.PushAttributesForInstances(attribs);\r\n }\r\n }\r\n\r\n /**\r\n * Add the list of attributes required for instances to the attribs array.\r\n * @param attribs The current list of supported attribs\r\n */\r\n public static PushAttributesForInstances(attribs: string[]): void {\r\n attribs.push(\"world0\");\r\n attribs.push(\"world1\");\r\n attribs.push(\"world2\");\r\n attribs.push(\"world3\");\r\n }\r\n\r\n /**\r\n * Binds the light information to the effect.\r\n * @param light The light containing the generator\r\n * @param effect The effect we are binding the data to\r\n * @param lightIndex The light index in the effect used to render\r\n */\r\n public static BindLightProperties(light: Light, effect: Effect, lightIndex: number): void {\r\n light.transferToEffect(effect, lightIndex + \"\");\r\n }\r\n\r\n /**\r\n * Binds the lights information from the scene to the effect for the given mesh.\r\n * @param light Light to bind\r\n * @param lightIndex Light index\r\n * @param scene The scene where the light belongs to\r\n * @param effect The effect we are binding the data to\r\n * @param useSpecular Defines if specular is supported\r\n * @param rebuildInParallel Specifies whether the shader is rebuilding in parallel\r\n */\r\n public static BindLight(light: Light, lightIndex: number, scene: Scene, effect: Effect, useSpecular: boolean, rebuildInParallel = false): void {\r\n light._bindLight(lightIndex, scene, effect, useSpecular, rebuildInParallel);\r\n }\r\n\r\n /**\r\n * Binds the lights information from the scene to the effect for the given mesh.\r\n * @param scene The scene the lights belongs to\r\n * @param mesh The mesh we are binding the information to render\r\n * @param effect The effect we are binding the data to\r\n * @param defines The generated defines for the effect\r\n * @param maxSimultaneousLights The maximum number of light that can be bound to the effect\r\n * @param rebuildInParallel Specifies whether the shader is rebuilding in parallel\r\n */\r\n public static BindLights(scene: Scene, mesh: AbstractMesh, effect: Effect, defines: any, maxSimultaneousLights = 4, rebuildInParallel = false): void {\r\n let len = Math.min(mesh.lightSources.length, maxSimultaneousLights);\r\n\r\n for (var i = 0; i < len; i++) {\r\n\r\n let light = mesh.lightSources[i];\r\n this.BindLight(light, i, scene, effect, typeof defines === \"boolean\" ? defines : defines[\"SPECULARTERM\"], rebuildInParallel);\r\n }\r\n }\r\n\r\n private static _tempFogColor = Color3.Black();\r\n /**\r\n * Binds the fog information from the scene to the effect for the given mesh.\r\n * @param scene The scene the lights belongs to\r\n * @param mesh The mesh we are binding the information to render\r\n * @param effect The effect we are binding the data to\r\n * @param linearSpace Defines if the fog effect is applied in linear space\r\n */\r\n public static BindFogParameters(scene: Scene, mesh: AbstractMesh, effect: Effect, linearSpace = false): void {\r\n if (scene.fogEnabled && mesh.applyFog && scene.fogMode !== Scene.FOGMODE_NONE) {\r\n effect.setFloat4(\"vFogInfos\", scene.fogMode, scene.fogStart, scene.fogEnd, scene.fogDensity);\r\n // Convert fog color to linear space if used in a linear space computed shader.\r\n if (linearSpace) {\r\n scene.fogColor.toLinearSpaceToRef(this._tempFogColor);\r\n effect.setColor3(\"vFogColor\", this._tempFogColor);\r\n }\r\n else {\r\n effect.setColor3(\"vFogColor\", scene.fogColor);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Binds the bones information from the mesh to the effect.\r\n * @param mesh The mesh we are binding the information to render\r\n * @param effect The effect we are binding the data to\r\n * @param prePassConfiguration Configuration for the prepass, in case prepass is activated\r\n */\r\n public static BindBonesParameters(mesh?: AbstractMesh, effect?: Effect, prePassConfiguration?: PrePassConfiguration): void {\r\n if (!effect || !mesh) {\r\n return;\r\n }\r\n if (mesh.computeBonesUsingShaders && effect._bonesComputationForcedToCPU) {\r\n mesh.computeBonesUsingShaders = false;\r\n }\r\n\r\n if (mesh.useBones && mesh.computeBonesUsingShaders && mesh.skeleton) {\r\n const skeleton = mesh.skeleton;\r\n\r\n if (skeleton.isUsingTextureForMatrices && effect.getUniformIndex(\"boneTextureWidth\") > -1) {\r\n const boneTexture = skeleton.getTransformMatrixTexture(mesh);\r\n effect.setTexture(\"boneSampler\", boneTexture);\r\n effect.setFloat(\"boneTextureWidth\", 4.0 * (skeleton.bones.length + 1));\r\n } else {\r\n const matrices = skeleton.getTransformMatrices(mesh);\r\n\r\n if (matrices) {\r\n effect.setMatrices(\"mBones\", matrices);\r\n if (prePassConfiguration && mesh.getScene().prePassRenderer && mesh.getScene().prePassRenderer!.getIndex(2)) {\r\n if (prePassConfiguration.previousBones[mesh.uniqueId]) {\r\n effect.setMatrices(\"mPreviousBones\", prePassConfiguration.previousBones[mesh.uniqueId]);\r\n }\r\n\r\n MaterialHelper._CopyBonesTransformationMatrices(matrices, prePassConfiguration.previousBones[mesh.uniqueId]);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Copies the bones transformation matrices into the target array and returns the target's reference\r\n private static _CopyBonesTransformationMatrices(source: Float32Array, target: Float32Array): Float32Array {\r\n target.set(source);\r\n\r\n return target;\r\n }\r\n\r\n /**\r\n * Binds the morph targets information from the mesh to the effect.\r\n * @param abstractMesh The mesh we are binding the information to render\r\n * @param effect The effect we are binding the data to\r\n */\r\n public static BindMorphTargetParameters(abstractMesh: AbstractMesh, effect: Effect): void {\r\n let manager = (abstractMesh).morphTargetManager;\r\n if (!abstractMesh || !manager) {\r\n return;\r\n }\r\n\r\n effect.setFloatArray(\"morphTargetInfluences\", manager.influences);\r\n }\r\n\r\n /**\r\n * Binds the logarithmic depth information from the scene to the effect for the given defines.\r\n * @param defines The generated defines used in the effect\r\n * @param effect The effect we are binding the data to\r\n * @param scene The scene we are willing to render with logarithmic scale for\r\n */\r\n public static BindLogDepth(defines: any, effect: Effect, scene: Scene): void {\r\n if (defines[\"LOGARITHMICDEPTH\"]) {\r\n effect.setFloat(\"logarithmicDepthConstant\", 2.0 / (Math.log((scene.activeCamera).maxZ + 1.0) / Math.LN2));\r\n }\r\n }\r\n\r\n /**\r\n * Binds the clip plane information from the scene to the effect.\r\n * @param scene The scene the clip plane information are extracted from\r\n * @param effect The effect we are binding the data to\r\n */\r\n public static BindClipPlane(effect: Effect, scene: Scene): void {\r\n ThinMaterialHelper.BindClipPlane(effect, scene);\r\n }\r\n}\r\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","import { Nullable, FloatArray, IndicesArray } from \"../types\";\r\nimport { Matrix, Vector3, Vector2, Vector4 } from \"../Maths/math.vector\";\r\nimport { VertexBuffer } from \"../Meshes/buffer\";\r\nimport { _DevTools } from '../Misc/devTools';\r\nimport { Color4, Color3 } from '../Maths/math.color';\r\nimport { Logger } from '../Misc/logger';\r\n\r\ndeclare type Geometry = import(\"../Meshes/geometry\").Geometry;\r\ndeclare type Mesh = import(\"../Meshes/mesh\").Mesh;\r\n\r\nimport { ICreateCapsuleOptions } from \"./Builders/capsuleBuilder\";\r\n\r\n/**\r\n * Define an interface for all classes that will get and set the data on vertices\r\n */\r\nexport interface IGetSetVerticesData {\r\n /**\r\n * Gets a boolean indicating if specific vertex data is present\r\n * @param kind defines the vertex data kind to use\r\n * @returns true is data kind is present\r\n */\r\n isVerticesDataPresent(kind: string): boolean;\r\n /**\r\n * Gets a specific vertex data attached to this geometry. Float data is constructed if the vertex buffer data cannot be returned directly.\r\n * @param kind defines the data kind (Position, normal, etc...)\r\n * @param copyWhenShared defines if the returned array must be cloned upon returning it if the current geometry is shared between multiple meshes\r\n * @param forceCopy defines a boolean indicating that the returned array must be cloned upon returning it\r\n * @returns a float array containing vertex data\r\n */\r\n getVerticesData(kind: string, copyWhenShared?: boolean, forceCopy?: boolean): Nullable;\r\n /**\r\n * Returns an array of integers or a typed array (Int32Array, Uint32Array, Uint16Array) populated with the mesh indices.\r\n * @param copyWhenShared If true (default false) and and if the mesh geometry is shared among some other meshes, the returned array is a copy of the internal one.\r\n * @param forceCopy defines a boolean indicating that the returned array must be cloned upon returning it\r\n * @returns the indices array or an empty array if the mesh has no geometry\r\n */\r\n getIndices(copyWhenShared?: boolean, forceCopy?: boolean): Nullable;\r\n /**\r\n * Set specific vertex data\r\n * @param kind defines the data kind (Position, normal, etc...)\r\n * @param data defines the vertex data to use\r\n * @param updatable defines if the vertex must be flagged as updatable (false as default)\r\n * @param stride defines the stride to use (0 by default). This value is deduced from the kind value if not specified\r\n */\r\n setVerticesData(kind: string, data: FloatArray, updatable: boolean): void;\r\n /**\r\n * Update a specific associated vertex buffer\r\n * @param kind defines which buffer to write to (positions, indices, normals, etc). Possible `kind` values :\r\n * - VertexBuffer.PositionKind\r\n * - VertexBuffer.UVKind\r\n * - VertexBuffer.UV2Kind\r\n * - VertexBuffer.UV3Kind\r\n * - VertexBuffer.UV4Kind\r\n * - VertexBuffer.UV5Kind\r\n * - VertexBuffer.UV6Kind\r\n * - VertexBuffer.ColorKind\r\n * - VertexBuffer.MatricesIndicesKind\r\n * - VertexBuffer.MatricesIndicesExtraKind\r\n * - VertexBuffer.MatricesWeightsKind\r\n * - VertexBuffer.MatricesWeightsExtraKind\r\n * @param data defines the data source\r\n * @param updateExtends defines if extends info of the mesh must be updated (can be null). This is mostly useful for \"position\" kind\r\n * @param makeItUnique defines if the geometry associated with the mesh must be cloned to make the change only for this mesh (and not all meshes associated with the same geometry)\r\n */\r\n updateVerticesData(kind: string, data: FloatArray, updateExtends?: boolean, makeItUnique?: boolean): void;\r\n /**\r\n * Creates a new index buffer\r\n * @param indices defines the indices to store in the index buffer\r\n * @param totalVertices defines the total number of vertices (could be null)\r\n * @param updatable defines if the index buffer must be flagged as updatable (false by default)\r\n */\r\n setIndices(indices: IndicesArray, totalVertices: Nullable, updatable?: boolean): void;\r\n}\r\n\r\n/**\r\n * This class contains the various kinds of data on every vertex of a mesh used in determining its shape and appearance\r\n */\r\nexport class VertexData {\r\n /**\r\n * Mesh side orientation : usually the external or front surface\r\n */\r\n public static readonly FRONTSIDE = 0;\r\n /**\r\n * Mesh side orientation : usually the internal or back surface\r\n */\r\n public static readonly BACKSIDE = 1;\r\n /**\r\n * Mesh side orientation : both internal and external or front and back surfaces\r\n */\r\n public static readonly DOUBLESIDE = 2;\r\n /**\r\n * Mesh side orientation : by default, `FRONTSIDE`\r\n */\r\n public static readonly DEFAULTSIDE = 0;\r\n\r\n /**\r\n * An array of the x, y, z position of each vertex [...., x, y, z, .....]\r\n */\r\n public positions: Nullable;\r\n\r\n /**\r\n * An array of the x, y, z normal vector of each vertex [...., x, y, z, .....]\r\n */\r\n public normals: Nullable;\r\n\r\n /**\r\n * An array of the x, y, z tangent vector of each vertex [...., x, y, z, .....]\r\n */\r\n public tangents: Nullable;\r\n\r\n /**\r\n * An array of u,v which maps a texture image onto each vertex [...., u, v, .....]\r\n */\r\n public uvs: Nullable;\r\n\r\n /**\r\n * A second array of u,v which maps a texture image onto each vertex [...., u, v, .....]\r\n */\r\n public uvs2: Nullable;\r\n\r\n /**\r\n * A third array of u,v which maps a texture image onto each vertex [...., u, v, .....]\r\n */\r\n public uvs3: Nullable;\r\n\r\n /**\r\n * A fourth array of u,v which maps a texture image onto each vertex [...., u, v, .....]\r\n */\r\n public uvs4: Nullable;\r\n\r\n /**\r\n * A fifth array of u,v which maps a texture image onto each vertex [...., u, v, .....]\r\n */\r\n public uvs5: Nullable;\r\n\r\n /**\r\n * A sixth array of u,v which maps a texture image onto each vertex [...., u, v, .....]\r\n */\r\n public uvs6: Nullable;\r\n\r\n /**\r\n * An array of the r, g, b, a, color of each vertex [...., r, g, b, a, .....]\r\n */\r\n public colors: Nullable;\r\n\r\n /**\r\n * An array containing the list of indices to the array of matrices produced by bones, each vertex have up to 4 indices (8 if the matricesIndicesExtra is set).\r\n */\r\n public matricesIndices: Nullable;\r\n\r\n /**\r\n * An array containing the list of weights defining the weight of each indexed matrix in the final computation\r\n */\r\n public matricesWeights: Nullable;\r\n\r\n /**\r\n * An array extending the number of possible indices\r\n */\r\n public matricesIndicesExtra: Nullable;\r\n\r\n /**\r\n * An array extending the number of possible weights when the number of indices is extended\r\n */\r\n public matricesWeightsExtra: Nullable;\r\n\r\n /**\r\n * An array of i, j, k the three vertex indices required for each triangular facet [...., i, j, k .....]\r\n */\r\n public indices: Nullable;\r\n\r\n /**\r\n * Uses the passed data array to set the set the values for the specified kind of data\r\n * @param data a linear array of floating numbers\r\n * @param kind the type of data that is being set, eg positions, colors etc\r\n */\r\n public set(data: FloatArray, kind: string) {\r\n if (!data.length) {\r\n Logger.Warn(`Setting vertex data kind '${kind}' with an empty array`);\r\n }\r\n\r\n switch (kind) {\r\n case VertexBuffer.PositionKind:\r\n this.positions = data;\r\n break;\r\n case VertexBuffer.NormalKind:\r\n this.normals = data;\r\n break;\r\n case VertexBuffer.TangentKind:\r\n this.tangents = data;\r\n break;\r\n case VertexBuffer.UVKind:\r\n this.uvs = data;\r\n break;\r\n case VertexBuffer.UV2Kind:\r\n this.uvs2 = data;\r\n break;\r\n case VertexBuffer.UV3Kind:\r\n this.uvs3 = data;\r\n break;\r\n case VertexBuffer.UV4Kind:\r\n this.uvs4 = data;\r\n break;\r\n case VertexBuffer.UV5Kind:\r\n this.uvs5 = data;\r\n break;\r\n case VertexBuffer.UV6Kind:\r\n this.uvs6 = data;\r\n break;\r\n case VertexBuffer.ColorKind:\r\n this.colors = data;\r\n break;\r\n case VertexBuffer.MatricesIndicesKind:\r\n this.matricesIndices = data;\r\n break;\r\n case VertexBuffer.MatricesWeightsKind:\r\n this.matricesWeights = data;\r\n break;\r\n case VertexBuffer.MatricesIndicesExtraKind:\r\n this.matricesIndicesExtra = data;\r\n break;\r\n case VertexBuffer.MatricesWeightsExtraKind:\r\n this.matricesWeightsExtra = data;\r\n break;\r\n }\r\n }\r\n\r\n /**\r\n * Associates the vertexData to the passed Mesh.\r\n * Sets it as updatable or not (default `false`)\r\n * @param mesh the mesh the vertexData is applied to\r\n * @param updatable when used and having the value true allows new data to update the vertexData\r\n * @returns the VertexData\r\n */\r\n public applyToMesh(mesh: Mesh, updatable?: boolean): VertexData {\r\n this._applyTo(mesh, updatable);\r\n return this;\r\n }\r\n\r\n /**\r\n * Associates the vertexData to the passed Geometry.\r\n * Sets it as updatable or not (default `false`)\r\n * @param geometry the geometry the vertexData is applied to\r\n * @param updatable when used and having the value true allows new data to update the vertexData\r\n * @returns VertexData\r\n */\r\n public applyToGeometry(geometry: Geometry, updatable?: boolean): VertexData {\r\n this._applyTo(geometry, updatable);\r\n return this;\r\n }\r\n\r\n /**\r\n * Updates the associated mesh\r\n * @param mesh the mesh to be updated\r\n * @param updateExtends when true the mesh BoundingInfo will be renewed when and if position kind is updated, optional with default false\r\n * @param makeItUnique when true, and when and if position kind is updated, a new global geometry will be created from these positions and set to the mesh, optional with default false\r\n * @returns VertexData\r\n */\r\n public updateMesh(mesh: Mesh): VertexData {\r\n this._update(mesh);\r\n return this;\r\n }\r\n\r\n /**\r\n * Updates the associated geometry\r\n * @param geometry the geometry to be updated\r\n * @param updateExtends when true BoundingInfo will be renewed when and if position kind is updated, optional with default false\r\n * @param makeItUnique when true, and when and if position kind is updated, a new global geometry will be created from these positions and set to the mesh, optional with default false\r\n * @returns VertexData.\r\n */\r\n public updateGeometry(geometry: Geometry): VertexData {\r\n this._update(geometry);\r\n return this;\r\n }\r\n\r\n private _applyTo(meshOrGeometry: IGetSetVerticesData, updatable: boolean = false): VertexData {\r\n if (this.positions) {\r\n meshOrGeometry.setVerticesData(VertexBuffer.PositionKind, this.positions, updatable);\r\n }\r\n\r\n if (this.normals) {\r\n meshOrGeometry.setVerticesData(VertexBuffer.NormalKind, this.normals, updatable);\r\n }\r\n\r\n if (this.tangents) {\r\n meshOrGeometry.setVerticesData(VertexBuffer.TangentKind, this.tangents, updatable);\r\n }\r\n\r\n if (this.uvs) {\r\n meshOrGeometry.setVerticesData(VertexBuffer.UVKind, this.uvs, updatable);\r\n }\r\n\r\n if (this.uvs2) {\r\n meshOrGeometry.setVerticesData(VertexBuffer.UV2Kind, this.uvs2, updatable);\r\n }\r\n\r\n if (this.uvs3) {\r\n meshOrGeometry.setVerticesData(VertexBuffer.UV3Kind, this.uvs3, updatable);\r\n }\r\n\r\n if (this.uvs4) {\r\n meshOrGeometry.setVerticesData(VertexBuffer.UV4Kind, this.uvs4, updatable);\r\n }\r\n\r\n if (this.uvs5) {\r\n meshOrGeometry.setVerticesData(VertexBuffer.UV5Kind, this.uvs5, updatable);\r\n }\r\n\r\n if (this.uvs6) {\r\n meshOrGeometry.setVerticesData(VertexBuffer.UV6Kind, this.uvs6, updatable);\r\n }\r\n\r\n if (this.colors) {\r\n meshOrGeometry.setVerticesData(VertexBuffer.ColorKind, this.colors, updatable);\r\n }\r\n\r\n if (this.matricesIndices) {\r\n meshOrGeometry.setVerticesData(VertexBuffer.MatricesIndicesKind, this.matricesIndices, updatable);\r\n }\r\n\r\n if (this.matricesWeights) {\r\n meshOrGeometry.setVerticesData(VertexBuffer.MatricesWeightsKind, this.matricesWeights, updatable);\r\n }\r\n\r\n if (this.matricesIndicesExtra) {\r\n meshOrGeometry.setVerticesData(VertexBuffer.MatricesIndicesExtraKind, this.matricesIndicesExtra, updatable);\r\n }\r\n\r\n if (this.matricesWeightsExtra) {\r\n meshOrGeometry.setVerticesData(VertexBuffer.MatricesWeightsExtraKind, this.matricesWeightsExtra, updatable);\r\n }\r\n\r\n if (this.indices) {\r\n meshOrGeometry.setIndices(this.indices, null, updatable);\r\n } else {\r\n meshOrGeometry.setIndices([], null);\r\n }\r\n\r\n return this;\r\n }\r\n\r\n private _update(meshOrGeometry: IGetSetVerticesData, updateExtends?: boolean, makeItUnique?: boolean): VertexData {\r\n if (this.positions) {\r\n meshOrGeometry.updateVerticesData(VertexBuffer.PositionKind, this.positions, updateExtends, makeItUnique);\r\n }\r\n\r\n if (this.normals) {\r\n meshOrGeometry.updateVerticesData(VertexBuffer.NormalKind, this.normals, updateExtends, makeItUnique);\r\n }\r\n\r\n if (this.tangents) {\r\n meshOrGeometry.updateVerticesData(VertexBuffer.TangentKind, this.tangents, updateExtends, makeItUnique);\r\n }\r\n\r\n if (this.uvs) {\r\n meshOrGeometry.updateVerticesData(VertexBuffer.UVKind, this.uvs, updateExtends, makeItUnique);\r\n }\r\n\r\n if (this.uvs2) {\r\n meshOrGeometry.updateVerticesData(VertexBuffer.UV2Kind, this.uvs2, updateExtends, makeItUnique);\r\n }\r\n\r\n if (this.uvs3) {\r\n meshOrGeometry.updateVerticesData(VertexBuffer.UV3Kind, this.uvs3, updateExtends, makeItUnique);\r\n }\r\n\r\n if (this.uvs4) {\r\n meshOrGeometry.updateVerticesData(VertexBuffer.UV4Kind, this.uvs4, updateExtends, makeItUnique);\r\n }\r\n\r\n if (this.uvs5) {\r\n meshOrGeometry.updateVerticesData(VertexBuffer.UV5Kind, this.uvs5, updateExtends, makeItUnique);\r\n }\r\n\r\n if (this.uvs6) {\r\n meshOrGeometry.updateVerticesData(VertexBuffer.UV6Kind, this.uvs6, updateExtends, makeItUnique);\r\n }\r\n\r\n if (this.colors) {\r\n meshOrGeometry.updateVerticesData(VertexBuffer.ColorKind, this.colors, updateExtends, makeItUnique);\r\n }\r\n\r\n if (this.matricesIndices) {\r\n meshOrGeometry.updateVerticesData(VertexBuffer.MatricesIndicesKind, this.matricesIndices, updateExtends, makeItUnique);\r\n }\r\n\r\n if (this.matricesWeights) {\r\n meshOrGeometry.updateVerticesData(VertexBuffer.MatricesWeightsKind, this.matricesWeights, updateExtends, makeItUnique);\r\n }\r\n\r\n if (this.matricesIndicesExtra) {\r\n meshOrGeometry.updateVerticesData(VertexBuffer.MatricesIndicesExtraKind, this.matricesIndicesExtra, updateExtends, makeItUnique);\r\n }\r\n\r\n if (this.matricesWeightsExtra) {\r\n meshOrGeometry.updateVerticesData(VertexBuffer.MatricesWeightsExtraKind, this.matricesWeightsExtra, updateExtends, makeItUnique);\r\n }\r\n\r\n if (this.indices) {\r\n meshOrGeometry.setIndices(this.indices, null);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Transforms each position and each normal of the vertexData according to the passed Matrix\r\n * @param matrix the transforming matrix\r\n * @returns the VertexData\r\n */\r\n public transform(matrix: Matrix): VertexData {\r\n var flip = matrix.determinant() < 0;\r\n var transformed = Vector3.Zero();\r\n var index: number;\r\n if (this.positions) {\r\n var position = Vector3.Zero();\r\n\r\n for (index = 0; index < this.positions.length; index += 3) {\r\n Vector3.FromArrayToRef(this.positions, index, position);\r\n\r\n Vector3.TransformCoordinatesToRef(position, matrix, transformed);\r\n this.positions[index] = transformed.x;\r\n this.positions[index + 1] = transformed.y;\r\n this.positions[index + 2] = transformed.z;\r\n }\r\n }\r\n\r\n if (this.normals) {\r\n var normal = Vector3.Zero();\r\n\r\n for (index = 0; index < this.normals.length; index += 3) {\r\n Vector3.FromArrayToRef(this.normals, index, normal);\r\n\r\n Vector3.TransformNormalToRef(normal, matrix, transformed);\r\n this.normals[index] = transformed.x;\r\n this.normals[index + 1] = transformed.y;\r\n this.normals[index + 2] = transformed.z;\r\n }\r\n }\r\n\r\n if (this.tangents) {\r\n var tangent = Vector4.Zero();\r\n var tangentTransformed = Vector4.Zero();\r\n\r\n for (index = 0; index < this.tangents.length; index += 4) {\r\n Vector4.FromArrayToRef(this.tangents, index, tangent);\r\n\r\n Vector4.TransformNormalToRef(tangent, matrix, tangentTransformed);\r\n this.tangents[index] = tangentTransformed.x;\r\n this.tangents[index + 1] = tangentTransformed.y;\r\n this.tangents[index + 2] = tangentTransformed.z;\r\n this.tangents[index + 3] = tangentTransformed.w;\r\n }\r\n }\r\n\r\n if (flip && this.indices) {\r\n for (index = 0; index < this.indices!.length; index += 3) {\r\n let tmp = this.indices[index + 1];\r\n this.indices[index + 1] = this.indices[index + 2];\r\n this.indices[index + 2] = tmp;\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Merges the passed VertexData into the current one\r\n * @param other the VertexData to be merged into the current one\r\n * @param use32BitsIndices defines a boolean indicating if indices must be store in a 32 bits array\r\n * @returns the modified VertexData\r\n */\r\n public merge(other: VertexData, use32BitsIndices = false): VertexData {\r\n this._validate();\r\n other._validate();\r\n\r\n if (!this.normals !== !other.normals ||\r\n !this.tangents !== !other.tangents ||\r\n !this.uvs !== !other.uvs ||\r\n !this.uvs2 !== !other.uvs2 ||\r\n !this.uvs3 !== !other.uvs3 ||\r\n !this.uvs4 !== !other.uvs4 ||\r\n !this.uvs5 !== !other.uvs5 ||\r\n !this.uvs6 !== !other.uvs6 ||\r\n !this.colors !== !other.colors ||\r\n !this.matricesIndices !== !other.matricesIndices ||\r\n !this.matricesWeights !== !other.matricesWeights ||\r\n !this.matricesIndicesExtra !== !other.matricesIndicesExtra ||\r\n !this.matricesWeightsExtra !== !other.matricesWeightsExtra) {\r\n throw new Error(\"Cannot merge vertex data that do not have the same set of attributes\");\r\n }\r\n\r\n if (other.indices) {\r\n if (!this.indices) {\r\n this.indices = [];\r\n }\r\n\r\n var offset = this.positions ? this.positions.length / 3 : 0;\r\n\r\n var isSrcTypedArray = (this.indices).BYTES_PER_ELEMENT !== undefined;\r\n\r\n if (isSrcTypedArray) {\r\n var len = this.indices.length + other.indices.length;\r\n var temp = use32BitsIndices || this.indices instanceof Uint32Array ? new Uint32Array(len) : new Uint16Array(len);\r\n temp.set(this.indices);\r\n\r\n let decal = this.indices.length;\r\n for (var index = 0; index < other.indices.length; index++) {\r\n temp[decal + index] = other.indices[index] + offset;\r\n }\r\n\r\n this.indices = temp;\r\n } else {\r\n for (var index = 0; index < other.indices.length; index++) {\r\n (this.indices).push(other.indices[index] + offset);\r\n }\r\n }\r\n }\r\n\r\n this.positions = this._mergeElement(this.positions, other.positions);\r\n this.normals = this._mergeElement(this.normals, other.normals);\r\n this.tangents = this._mergeElement(this.tangents, other.tangents);\r\n this.uvs = this._mergeElement(this.uvs, other.uvs);\r\n this.uvs2 = this._mergeElement(this.uvs2, other.uvs2);\r\n this.uvs3 = this._mergeElement(this.uvs3, other.uvs3);\r\n this.uvs4 = this._mergeElement(this.uvs4, other.uvs4);\r\n this.uvs5 = this._mergeElement(this.uvs5, other.uvs5);\r\n this.uvs6 = this._mergeElement(this.uvs6, other.uvs6);\r\n this.colors = this._mergeElement(this.colors, other.colors);\r\n this.matricesIndices = this._mergeElement(this.matricesIndices, other.matricesIndices);\r\n this.matricesWeights = this._mergeElement(this.matricesWeights, other.matricesWeights);\r\n this.matricesIndicesExtra = this._mergeElement(this.matricesIndicesExtra, other.matricesIndicesExtra);\r\n this.matricesWeightsExtra = this._mergeElement(this.matricesWeightsExtra, other.matricesWeightsExtra);\r\n return this;\r\n }\r\n\r\n private _mergeElement(source: Nullable, other: Nullable): Nullable {\r\n if (!source) {\r\n return other;\r\n }\r\n\r\n if (!other) {\r\n return source;\r\n }\r\n\r\n var len = other.length + source.length;\r\n var isSrcTypedArray = source instanceof Float32Array;\r\n var isOthTypedArray = other instanceof Float32Array;\r\n\r\n // use non-loop method when the source is Float32Array\r\n if (isSrcTypedArray) {\r\n var ret32 = new Float32Array(len);\r\n ret32.set(source);\r\n ret32.set(other, source.length);\r\n return ret32;\r\n\r\n // source is number[], when other is also use concat\r\n } else if (!isOthTypedArray) {\r\n return (source).concat(other);\r\n\r\n // source is a number[], but other is a Float32Array, loop required\r\n } else {\r\n var ret = (source).slice(0); // copy source to a separate array\r\n for (var i = 0, len = other.length; i < len; i++) {\r\n ret.push(other[i]);\r\n }\r\n return ret;\r\n }\r\n }\r\n\r\n private _validate(): void {\r\n if (!this.positions) {\r\n throw new Error(\"Positions are required\");\r\n }\r\n\r\n const getElementCount = (kind: string, values: FloatArray) => {\r\n const stride = VertexBuffer.DeduceStride(kind);\r\n if ((values.length % stride) !== 0) {\r\n throw new Error(\"The \" + kind + \"s array count must be a multiple of \" + stride);\r\n }\r\n\r\n return values.length / stride;\r\n };\r\n\r\n const positionsElementCount = getElementCount(VertexBuffer.PositionKind, this.positions);\r\n\r\n const validateElementCount = (kind: string, values: FloatArray) => {\r\n const elementCount = getElementCount(kind, values);\r\n if (elementCount !== positionsElementCount) {\r\n throw new Error(\"The \" + kind + \"s element count (\" + elementCount + \") does not match the positions count (\" + positionsElementCount + \")\");\r\n }\r\n };\r\n\r\n if (this.normals) { validateElementCount(VertexBuffer.NormalKind, this.normals); }\r\n if (this.tangents) { validateElementCount(VertexBuffer.TangentKind, this.tangents); }\r\n if (this.uvs) { validateElementCount(VertexBuffer.UVKind, this.uvs); }\r\n if (this.uvs2) { validateElementCount(VertexBuffer.UV2Kind, this.uvs2); }\r\n if (this.uvs3) { validateElementCount(VertexBuffer.UV3Kind, this.uvs3); }\r\n if (this.uvs4) { validateElementCount(VertexBuffer.UV4Kind, this.uvs4); }\r\n if (this.uvs5) { validateElementCount(VertexBuffer.UV5Kind, this.uvs5); }\r\n if (this.uvs6) { validateElementCount(VertexBuffer.UV6Kind, this.uvs6); }\r\n if (this.colors) { validateElementCount(VertexBuffer.ColorKind, this.colors); }\r\n if (this.matricesIndices) { validateElementCount(VertexBuffer.MatricesIndicesKind, this.matricesIndices); }\r\n if (this.matricesWeights) { validateElementCount(VertexBuffer.MatricesWeightsKind, this.matricesWeights); }\r\n if (this.matricesIndicesExtra) { validateElementCount(VertexBuffer.MatricesIndicesExtraKind, this.matricesIndicesExtra); }\r\n if (this.matricesWeightsExtra) { validateElementCount(VertexBuffer.MatricesWeightsExtraKind, this.matricesWeightsExtra); }\r\n }\r\n\r\n /**\r\n * Serializes the VertexData\r\n * @returns a serialized object\r\n */\r\n public serialize(): any {\r\n var serializationObject = this.serialize();\r\n\r\n if (this.positions) {\r\n serializationObject.positions = this.positions;\r\n }\r\n\r\n if (this.normals) {\r\n serializationObject.normals = this.normals;\r\n }\r\n\r\n if (this.tangents) {\r\n serializationObject.tangents = this.tangents;\r\n }\r\n\r\n if (this.uvs) {\r\n serializationObject.uvs = this.uvs;\r\n }\r\n\r\n if (this.uvs2) {\r\n serializationObject.uvs2 = this.uvs2;\r\n }\r\n\r\n if (this.uvs3) {\r\n serializationObject.uvs3 = this.uvs3;\r\n }\r\n\r\n if (this.uvs4) {\r\n serializationObject.uvs4 = this.uvs4;\r\n }\r\n\r\n if (this.uvs5) {\r\n serializationObject.uvs5 = this.uvs5;\r\n }\r\n\r\n if (this.uvs6) {\r\n serializationObject.uvs6 = this.uvs6;\r\n }\r\n\r\n if (this.colors) {\r\n serializationObject.colors = this.colors;\r\n }\r\n\r\n if (this.matricesIndices) {\r\n serializationObject.matricesIndices = this.matricesIndices;\r\n serializationObject.matricesIndices._isExpanded = true;\r\n }\r\n\r\n if (this.matricesWeights) {\r\n serializationObject.matricesWeights = this.matricesWeights;\r\n }\r\n\r\n if (this.matricesIndicesExtra) {\r\n serializationObject.matricesIndicesExtra = this.matricesIndicesExtra;\r\n serializationObject.matricesIndicesExtra._isExpanded = true;\r\n }\r\n\r\n if (this.matricesWeightsExtra) {\r\n serializationObject.matricesWeightsExtra = this.matricesWeightsExtra;\r\n }\r\n\r\n serializationObject.indices = this.indices;\r\n\r\n return serializationObject;\r\n }\r\n\r\n // Statics\r\n /**\r\n * Extracts the vertexData from a mesh\r\n * @param mesh the mesh from which to extract the VertexData\r\n * @param copyWhenShared defines if the VertexData must be cloned when shared between multiple meshes, optional, default false\r\n * @param forceCopy indicating that the VertexData must be cloned, optional, default false\r\n * @returns the object VertexData associated to the passed mesh\r\n */\r\n public static ExtractFromMesh(mesh: Mesh, copyWhenShared?: boolean, forceCopy?: boolean): VertexData {\r\n return VertexData._ExtractFrom(mesh, copyWhenShared, forceCopy);\r\n }\r\n\r\n /**\r\n * Extracts the vertexData from the geometry\r\n * @param geometry the geometry from which to extract the VertexData\r\n * @param copyWhenShared defines if the VertexData must be cloned when the geometrty is shared between multiple meshes, optional, default false\r\n * @param forceCopy indicating that the VertexData must be cloned, optional, default false\r\n * @returns the object VertexData associated to the passed mesh\r\n */\r\n public static ExtractFromGeometry(geometry: Geometry, copyWhenShared?: boolean, forceCopy?: boolean): VertexData {\r\n return VertexData._ExtractFrom(geometry, copyWhenShared, forceCopy);\r\n }\r\n\r\n private static _ExtractFrom(meshOrGeometry: IGetSetVerticesData, copyWhenShared?: boolean, forceCopy?: boolean): VertexData {\r\n var result = new VertexData();\r\n\r\n if (meshOrGeometry.isVerticesDataPresent(VertexBuffer.PositionKind)) {\r\n result.positions = meshOrGeometry.getVerticesData(VertexBuffer.PositionKind, copyWhenShared, forceCopy);\r\n }\r\n\r\n if (meshOrGeometry.isVerticesDataPresent(VertexBuffer.NormalKind)) {\r\n result.normals = meshOrGeometry.getVerticesData(VertexBuffer.NormalKind, copyWhenShared, forceCopy);\r\n }\r\n\r\n if (meshOrGeometry.isVerticesDataPresent(VertexBuffer.TangentKind)) {\r\n result.tangents = meshOrGeometry.getVerticesData(VertexBuffer.TangentKind, copyWhenShared, forceCopy);\r\n }\r\n\r\n if (meshOrGeometry.isVerticesDataPresent(VertexBuffer.UVKind)) {\r\n result.uvs = meshOrGeometry.getVerticesData(VertexBuffer.UVKind, copyWhenShared, forceCopy);\r\n }\r\n\r\n if (meshOrGeometry.isVerticesDataPresent(VertexBuffer.UV2Kind)) {\r\n result.uvs2 = meshOrGeometry.getVerticesData(VertexBuffer.UV2Kind, copyWhenShared, forceCopy);\r\n }\r\n\r\n if (meshOrGeometry.isVerticesDataPresent(VertexBuffer.UV3Kind)) {\r\n result.uvs3 = meshOrGeometry.getVerticesData(VertexBuffer.UV3Kind, copyWhenShared, forceCopy);\r\n }\r\n\r\n if (meshOrGeometry.isVerticesDataPresent(VertexBuffer.UV4Kind)) {\r\n result.uvs4 = meshOrGeometry.getVerticesData(VertexBuffer.UV4Kind, copyWhenShared, forceCopy);\r\n }\r\n\r\n if (meshOrGeometry.isVerticesDataPresent(VertexBuffer.UV5Kind)) {\r\n result.uvs5 = meshOrGeometry.getVerticesData(VertexBuffer.UV5Kind, copyWhenShared, forceCopy);\r\n }\r\n\r\n if (meshOrGeometry.isVerticesDataPresent(VertexBuffer.UV6Kind)) {\r\n result.uvs6 = meshOrGeometry.getVerticesData(VertexBuffer.UV6Kind, copyWhenShared, forceCopy);\r\n }\r\n\r\n if (meshOrGeometry.isVerticesDataPresent(VertexBuffer.ColorKind)) {\r\n result.colors = meshOrGeometry.getVerticesData(VertexBuffer.ColorKind, copyWhenShared, forceCopy);\r\n }\r\n\r\n if (meshOrGeometry.isVerticesDataPresent(VertexBuffer.MatricesIndicesKind)) {\r\n result.matricesIndices = meshOrGeometry.getVerticesData(VertexBuffer.MatricesIndicesKind, copyWhenShared, forceCopy);\r\n }\r\n\r\n if (meshOrGeometry.isVerticesDataPresent(VertexBuffer.MatricesWeightsKind)) {\r\n result.matricesWeights = meshOrGeometry.getVerticesData(VertexBuffer.MatricesWeightsKind, copyWhenShared, forceCopy);\r\n }\r\n\r\n if (meshOrGeometry.isVerticesDataPresent(VertexBuffer.MatricesIndicesExtraKind)) {\r\n result.matricesIndicesExtra = meshOrGeometry.getVerticesData(VertexBuffer.MatricesIndicesExtraKind, copyWhenShared, forceCopy);\r\n }\r\n\r\n if (meshOrGeometry.isVerticesDataPresent(VertexBuffer.MatricesWeightsExtraKind)) {\r\n result.matricesWeightsExtra = meshOrGeometry.getVerticesData(VertexBuffer.MatricesWeightsExtraKind, copyWhenShared, forceCopy);\r\n }\r\n\r\n result.indices = meshOrGeometry.getIndices(copyWhenShared, forceCopy);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Creates the VertexData for a Ribbon\r\n * @param options an object used to set the following optional parameters for the ribbon, required but can be empty\r\n * * pathArray array of paths, each of which an array of successive Vector3\r\n * * closeArray creates a seam between the first and the last paths of the pathArray, optional, default false\r\n * * closePath creates a seam between the first and the last points of each path of the path array, optional, default false\r\n * * offset a positive integer, only used when pathArray contains a single path (offset = 10 means the point 1 is joined to the point 11), default rounded half size of the pathArray length\r\n * * sideOrientation optional and takes the values : Mesh.FRONTSIDE (default), Mesh.BACKSIDE or Mesh.DOUBLESIDE\r\n * * frontUvs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the front side, optional, default vector4 (0, 0, 1, 1)\r\n * * backUVs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the back side, optional, default vector4 (0, 0, 1, 1)\r\n * * invertUV swaps in the U and V coordinates when applying a texture, optional, default false\r\n * * uvs a linear array, of length 2 * number of vertices, of custom UV values, optional\r\n * * colors a linear array, of length 4 * number of vertices, of custom color values, optional\r\n * @returns the VertexData of the ribbon\r\n */\r\n public static CreateRibbon(options: { pathArray: Vector3[][], closeArray?: boolean, closePath?: boolean, offset?: number, sideOrientation?: number, frontUVs?: Vector4, backUVs?: Vector4, invertUV?: boolean, uvs?: Vector2[], colors?: Color4[] }): VertexData {\r\n throw _DevTools.WarnImport(\"ribbonBuilder\");\r\n }\r\n\r\n /**\r\n * Creates the VertexData for a box\r\n * @param options an object used to set the following optional parameters for the box, required but can be empty\r\n * * size sets the width, height and depth of the box to the value of size, optional default 1\r\n * * width sets the width (x direction) of the box, overwrites the width set by size, optional, default size\r\n * * height sets the height (y direction) of the box, overwrites the height set by size, optional, default size\r\n * * depth sets the depth (z direction) of the box, overwrites the depth set by size, optional, default size\r\n * * faceUV an array of 6 Vector4 elements used to set different images to each box side\r\n * * faceColors an array of 6 Color3 elements used to set different colors to each box side\r\n * * sideOrientation optional and takes the values : Mesh.FRONTSIDE (default), Mesh.BACKSIDE or Mesh.DOUBLESIDE\r\n * * frontUvs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the front side, optional, default vector4 (0, 0, 1, 1)\r\n * * backUVs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the back side, optional, default vector4 (0, 0, 1, 1)\r\n * @returns the VertexData of the box\r\n */\r\n public static CreateBox(options: { size?: number, width?: number, height?: number, depth?: number, faceUV?: Vector4[], faceColors?: Color4[], sideOrientation?: number, frontUVs?: Vector4, backUVs?: Vector4 }): VertexData {\r\n throw _DevTools.WarnImport(\"boxBuilder\");\r\n }\r\n\r\n /**\r\n * Creates the VertexData for a tiled box\r\n * @param options an object used to set the following optional parameters for the box, required but can be empty\r\n * * faceTiles sets the pattern, tile size and number of tiles for a face\r\n * * faceUV an array of 6 Vector4 elements used to set different images to each box side\r\n * * faceColors an array of 6 Color3 elements used to set different colors to each box side\r\n * * sideOrientation optional and takes the values : Mesh.FRONTSIDE (default), Mesh.BACKSIDE or Mesh.DOUBLESIDE\r\n * @returns the VertexData of the box\r\n */\r\n public static CreateTiledBox(options: { pattern?: number, width?: number, height?: number, depth?: number, tileSize?: number, tileWidth?: number, tileHeight?: number, alignHorizontal?: number, alignVertical?: number, faceUV?: Vector4[], faceColors?: Color4[], sideOrientation?: number }): VertexData {\r\n throw _DevTools.WarnImport(\"tiledBoxBuilder\");\r\n }\r\n\r\n /**\r\n * Creates the VertexData for a tiled plane\r\n * @param options an object used to set the following optional parameters for the box, required but can be empty\r\n * * pattern a limited pattern arrangement depending on the number\r\n * * tileSize sets the width, height and depth of the tile to the value of size, optional default 1\r\n * * tileWidth sets the width (x direction) of the tile, overwrites the width set by size, optional, default size\r\n * * tileHeight sets the height (y direction) of the tile, overwrites the height set by size, optional, default size\r\n * * sideOrientation optional and takes the values : Mesh.FRONTSIDE (default), Mesh.BACKSIDE or Mesh.DOUBLESIDE\r\n * * frontUvs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the front side, optional, default vector4 (0, 0, 1, 1)\r\n * * backUVs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the back side, optional, default vector4 (0, 0, 1, 1)\r\n * @returns the VertexData of the tiled plane\r\n */\r\n public static CreateTiledPlane(options: { pattern?: number, tileSize?: number, tileWidth?: number, tileHeight?: number, size?: number, width?: number, height?: number, alignHorizontal?: number, alignVertical?: number, sideOrientation?: number, frontUVs?: Vector4, backUVs?: Vector4 }): VertexData {\r\n throw _DevTools.WarnImport(\"tiledPlaneBuilder\");\r\n }\r\n\r\n /**\r\n * Creates the VertexData for an ellipsoid, defaults to a sphere\r\n * @param options an object used to set the following optional parameters for the box, required but can be empty\r\n * * segments sets the number of horizontal strips optional, default 32\r\n * * diameter sets the axes dimensions, diameterX, diameterY and diameterZ to the value of diameter, optional default 1\r\n * * diameterX sets the diameterX (x direction) of the ellipsoid, overwrites the diameterX set by diameter, optional, default diameter\r\n * * diameterY sets the diameterY (y direction) of the ellipsoid, overwrites the diameterY set by diameter, optional, default diameter\r\n * * diameterZ sets the diameterZ (z direction) of the ellipsoid, overwrites the diameterZ set by diameter, optional, default diameter\r\n * * arc a number from 0 to 1, to create an unclosed ellipsoid based on the fraction of the circumference (latitude) given by the arc value, optional, default 1\r\n * * slice a number from 0 to 1, to create an unclosed ellipsoid based on the fraction of the height (latitude) given by the arc value, optional, default 1\r\n * * sideOrientation optional and takes the values : Mesh.FRONTSIDE (default), Mesh.BACKSIDE or Mesh.DOUBLESIDE\r\n * * frontUvs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the front side, optional, default vector4 (0, 0, 1, 1)\r\n * * backUVs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the back side, optional, default vector4 (0, 0, 1, 1)\r\n * @returns the VertexData of the ellipsoid\r\n */\r\n public static CreateSphere(options: { segments?: number, diameter?: number, diameterX?: number, diameterY?: number, diameterZ?: number, arc?: number, slice?: number, sideOrientation?: number, frontUVs?: Vector4, backUVs?: Vector4 }): VertexData {\r\n throw _DevTools.WarnImport(\"sphereBuilder\");\r\n }\r\n\r\n /**\r\n * Creates the VertexData for a cylinder, cone or prism\r\n * @param options an object used to set the following optional parameters for the box, required but can be empty\r\n * * height sets the height (y direction) of the cylinder, optional, default 2\r\n * * diameterTop sets the diameter of the top of the cone, overwrites diameter, optional, default diameter\r\n * * diameterBottom sets the diameter of the bottom of the cone, overwrites diameter, optional, default diameter\r\n * * diameter sets the diameter of the top and bottom of the cone, optional default 1\r\n * * tessellation the number of prism sides, 3 for a triangular prism, optional, default 24\r\n * * subdivisions` the number of rings along the cylinder height, optional, default 1\r\n * * arc a number from 0 to 1, to create an unclosed cylinder based on the fraction of the circumference given by the arc value, optional, default 1\r\n * * faceColors an array of Color3 elements used to set different colors to the top, rings and bottom respectively\r\n * * faceUV an array of Vector4 elements used to set different images to the top, rings and bottom respectively\r\n * * hasRings when true makes each subdivision independantly treated as a face for faceUV and faceColors, optional, default false\r\n * * enclose when true closes an open cylinder by adding extra flat faces between the height axis and vertical edges, think cut cake\r\n * * sideOrientation optional and takes the values : Mesh.FRONTSIDE (default), Mesh.BACKSIDE or Mesh.DOUBLESIDE\r\n * * frontUvs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the front side, optional, default vector4 (0, 0, 1, 1)\r\n * * backUVs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the back side, optional, default vector4 (0, 0, 1, 1)\r\n * @returns the VertexData of the cylinder, cone or prism\r\n */\r\n public static CreateCylinder(options: { height?: number, diameterTop?: number, diameterBottom?: number, diameter?: number, tessellation?: number, subdivisions?: number, arc?: number, faceColors?: Color4[], faceUV?: Vector4[], hasRings?: boolean, enclose?: boolean, sideOrientation?: number, frontUVs?: Vector4, backUVs?: Vector4 }): VertexData {\r\n throw _DevTools.WarnImport(\"cylinderBuilder\");\r\n }\r\n\r\n /**\r\n * Creates the VertexData for a torus\r\n * @param options an object used to set the following optional parameters for the box, required but can be empty\r\n * * diameter the diameter of the torus, optional default 1\r\n * * thickness the diameter of the tube forming the torus, optional default 0.5\r\n * * tessellation the number of prism sides, 3 for a triangular prism, optional, default 24\r\n * * sideOrientation optional and takes the values : Mesh.FRONTSIDE (default), Mesh.BACKSIDE or Mesh.DOUBLESIDE\r\n * * frontUvs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the front side, optional, default vector4 (0, 0, 1, 1)\r\n * * backUVs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the back side, optional, default vector4 (0, 0, 1, 1)\r\n * @returns the VertexData of the torus\r\n */\r\n public static CreateTorus(options: { diameter?: number, thickness?: number, tessellation?: number, sideOrientation?: number, frontUVs?: Vector4, backUVs?: Vector4 }): VertexData {\r\n throw _DevTools.WarnImport(\"torusBuilder\");\r\n }\r\n\r\n /**\r\n * Creates the VertexData of the LineSystem\r\n * @param options an object used to set the following optional parameters for the LineSystem, required but can be empty\r\n * - lines an array of lines, each line being an array of successive Vector3\r\n * - colors an array of line colors, each of the line colors being an array of successive Color4, one per line point\r\n * @returns the VertexData of the LineSystem\r\n */\r\n public static CreateLineSystem(options: { lines: Vector3[][], colors?: Nullable }): VertexData {\r\n throw _DevTools.WarnImport(\"linesBuilder\");\r\n }\r\n\r\n /**\r\n * Create the VertexData for a DashedLines\r\n * @param options an object used to set the following optional parameters for the DashedLines, required but can be empty\r\n * - points an array successive Vector3\r\n * - dashSize the size of the dashes relative to the dash number, optional, default 3\r\n * - gapSize the size of the gap between two successive dashes relative to the dash number, optional, default 1\r\n * - dashNb the intended total number of dashes, optional, default 200\r\n * @returns the VertexData for the DashedLines\r\n */\r\n public static CreateDashedLines(options: { points: Vector3[], dashSize?: number, gapSize?: number, dashNb?: number }): VertexData {\r\n throw _DevTools.WarnImport(\"linesBuilder\");\r\n }\r\n\r\n /**\r\n * Creates the VertexData for a Ground\r\n * @param options an object used to set the following optional parameters for the Ground, required but can be empty\r\n * - width the width (x direction) of the ground, optional, default 1\r\n * - height the height (z direction) of the ground, optional, default 1\r\n * - subdivisions the number of subdivisions per side, optional, default 1\r\n * @returns the VertexData of the Ground\r\n */\r\n public static CreateGround(options: { width?: number, height?: number, subdivisions?: number, subdivisionsX?: number, subdivisionsY?: number }): VertexData {\r\n throw _DevTools.WarnImport(\"groundBuilder\");\r\n }\r\n\r\n /**\r\n * Creates the VertexData for a TiledGround by subdividing the ground into tiles\r\n * @param options an object used to set the following optional parameters for the Ground, required but can be empty\r\n * * xmin the ground minimum X coordinate, optional, default -1\r\n * * zmin the ground minimum Z coordinate, optional, default -1\r\n * * xmax the ground maximum X coordinate, optional, default 1\r\n * * zmax the ground maximum Z coordinate, optional, default 1\r\n * * subdivisions a javascript object {w: positive integer, h: positive integer}, `w` and `h` are the numbers of subdivisions on the ground width and height creating 'tiles', default {w: 6, h: 6}\r\n * * precision a javascript object {w: positive integer, h: positive integer}, `w` and `h` are the numbers of subdivisions on the tile width and height, default {w: 2, h: 2}\r\n * @returns the VertexData of the TiledGround\r\n */\r\n public static CreateTiledGround(options: { xmin: number, zmin: number, xmax: number, zmax: number, subdivisions?: { w: number; h: number; }, precision?: { w: number; h: number; } }): VertexData {\r\n throw _DevTools.WarnImport(\"groundBuilder\");\r\n }\r\n\r\n /**\r\n * Creates the VertexData of the Ground designed from a heightmap\r\n * @param options an object used to set the following parameters for the Ground, required and provided by MeshBuilder.CreateGroundFromHeightMap\r\n * * width the width (x direction) of the ground\r\n * * height the height (z direction) of the ground\r\n * * subdivisions the number of subdivisions per side\r\n * * minHeight the minimum altitude on the ground, optional, default 0\r\n * * maxHeight the maximum altitude on the ground, optional default 1\r\n * * colorFilter the filter to apply to the image pixel colors to compute the height, optional Color3, default (0.3, 0.59, 0.11)\r\n * * buffer the array holding the image color data\r\n * * bufferWidth the width of image\r\n * * bufferHeight the height of image\r\n * * alphaFilter Remove any data where the alpha channel is below this value, defaults 0 (all data visible)\r\n * @returns the VertexData of the Ground designed from a heightmap\r\n */\r\n public static CreateGroundFromHeightMap(options: { width: number, height: number, subdivisions: number, minHeight: number, maxHeight: number, colorFilter: Color3, buffer: Uint8Array, bufferWidth: number, bufferHeight: number, alphaFilter: number }): VertexData {\r\n throw _DevTools.WarnImport(\"groundBuilder\");\r\n }\r\n\r\n /**\r\n * Creates the VertexData for a Plane\r\n * @param options an object used to set the following optional parameters for the plane, required but can be empty\r\n * * size sets the width and height of the plane to the value of size, optional default 1\r\n * * width sets the width (x direction) of the plane, overwrites the width set by size, optional, default size\r\n * * height sets the height (y direction) of the plane, overwrites the height set by size, optional, default size\r\n * * sideOrientation optional and takes the values : Mesh.FRONTSIDE (default), Mesh.BACKSIDE or Mesh.DOUBLESIDE\r\n * * frontUvs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the front side, optional, default vector4 (0, 0, 1, 1)\r\n * * backUVs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the back side, optional, default vector4 (0, 0, 1, 1)\r\n * @returns the VertexData of the box\r\n */\r\n public static CreatePlane(options: { size?: number, width?: number, height?: number, sideOrientation?: number, frontUVs?: Vector4, backUVs?: Vector4 }): VertexData {\r\n throw _DevTools.WarnImport(\"planeBuilder\");\r\n }\r\n\r\n /**\r\n * Creates the VertexData of the Disc or regular Polygon\r\n * @param options an object used to set the following optional parameters for the disc, required but can be empty\r\n * * radius the radius of the disc, optional default 0.5\r\n * * tessellation the number of polygon sides, optional, default 64\r\n * * arc a number from 0 to 1, to create an unclosed polygon based on the fraction of the circumference given by the arc value, optional, default 1\r\n * * sideOrientation optional and takes the values : Mesh.FRONTSIDE (default), Mesh.BACKSIDE or Mesh.DOUBLESIDE\r\n * * frontUvs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the front side, optional, default vector4 (0, 0, 1, 1)\r\n * * backUVs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the back side, optional, default vector4 (0, 0, 1, 1)\r\n * @returns the VertexData of the box\r\n */\r\n public static CreateDisc(options: { radius?: number, tessellation?: number, arc?: number, sideOrientation?: number, frontUVs?: Vector4, backUVs?: Vector4 }): VertexData {\r\n throw _DevTools.WarnImport(\"discBuilder\");\r\n }\r\n\r\n /**\r\n * Creates the VertexData for an irregular Polygon in the XoZ plane using a mesh built by polygonTriangulation.build()\r\n * All parameters are provided by MeshBuilder.CreatePolygon as needed\r\n * @param polygon a mesh built from polygonTriangulation.build()\r\n * @param sideOrientation takes the values Mesh.FRONTSIDE (default), Mesh.BACKSIDE or Mesh.DOUBLESIDE\r\n * @param fUV an array of Vector4 elements used to set different images to the top, rings and bottom respectively\r\n * @param fColors an array of Color3 elements used to set different colors to the top, rings and bottom respectively\r\n * @param frontUVs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the front side, optional, default vector4 (0, 0, 1, 1)\r\n * @param backUVs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the back side, optional, default vector4 (0, 0, 1, 1)\r\n * @param wrap a boolean, default false, when true and fUVs used texture is wrapped around all sides, when false texture is applied side\r\n * @returns the VertexData of the Polygon\r\n */\r\n public static CreatePolygon(polygon: Mesh, sideOrientation: number, fUV?: Vector4[], fColors?: Color4[], frontUVs?: Vector4, backUVs?: Vector4, wrap?: boolean): VertexData {\r\n throw _DevTools.WarnImport(\"polygonBuilder\");\r\n }\r\n\r\n /**\r\n * Creates the VertexData of the IcoSphere\r\n * @param options an object used to set the following optional parameters for the IcoSphere, required but can be empty\r\n * * radius the radius of the IcoSphere, optional default 1\r\n * * radiusX allows stretching in the x direction, optional, default radius\r\n * * radiusY allows stretching in the y direction, optional, default radius\r\n * * radiusZ allows stretching in the z direction, optional, default radius\r\n * * flat when true creates a flat shaded mesh, optional, default true\r\n * * subdivisions increasing the subdivisions increases the number of faces, optional, default 4\r\n * * sideOrientation optional and takes the values : Mesh.FRONTSIDE (default), Mesh.BACKSIDE or Mesh.DOUBLESIDE\r\n * * frontUvs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the front side, optional, default vector4 (0, 0, 1, 1)\r\n * * backUVs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the back side, optional, default vector4 (0, 0, 1, 1)\r\n * @returns the VertexData of the IcoSphere\r\n */\r\n public static CreateIcoSphere(options: { radius?: number, radiusX?: number, radiusY?: number, radiusZ?: number, flat?: boolean, subdivisions?: number, sideOrientation?: number, frontUVs?: Vector4, backUVs?: Vector4 }): VertexData {\r\n throw _DevTools.WarnImport(\"icoSphereBuilder\");\r\n }\r\n\r\n // inspired from // http://stemkoski.github.io/Three.js/Polyhedra.html\r\n /**\r\n * Creates the VertexData for a Polyhedron\r\n * @param options an object used to set the following optional parameters for the polyhedron, required but can be empty\r\n * * type provided types are:\r\n * * 0 : Tetrahedron, 1 : Octahedron, 2 : Dodecahedron, 3 : Icosahedron, 4 : Rhombicuboctahedron, 5 : Triangular Prism, 6 : Pentagonal Prism, 7 : Hexagonal Prism, 8 : Square Pyramid (J1)\r\n * * 9 : Pentagonal Pyramid (J2), 10 : Triangular Dipyramid (J12), 11 : Pentagonal Dipyramid (J13), 12 : Elongated Square Dipyramid (J15), 13 : Elongated Pentagonal Dipyramid (J16), 14 : Elongated Pentagonal Cupola (J20)\r\n * * size the size of the IcoSphere, optional default 1\r\n * * sizeX allows stretching in the x direction, optional, default size\r\n * * sizeY allows stretching in the y direction, optional, default size\r\n * * sizeZ allows stretching in the z direction, optional, default size\r\n * * custom a number that overwrites the type to create from an extended set of polyhedron from https://www.babylonjs-playground.com/#21QRSK#15 with minimised editor\r\n * * faceUV an array of Vector4 elements used to set different images to the top, rings and bottom respectively\r\n * * faceColors an array of Color3 elements used to set different colors to the top, rings and bottom respectively\r\n * * flat when true creates a flat shaded mesh, optional, default true\r\n * * subdivisions increasing the subdivisions increases the number of faces, optional, default 4\r\n * * sideOrientation optional and takes the values : Mesh.FRONTSIDE (default), Mesh.BACKSIDE or Mesh.DOUBLESIDE\r\n * * frontUvs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the front side, optional, default vector4 (0, 0, 1, 1)\r\n * * backUVs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the back side, optional, default vector4 (0, 0, 1, 1)\r\n * @returns the VertexData of the Polyhedron\r\n */\r\n public static CreatePolyhedron(options: { type?: number, size?: number, sizeX?: number, sizeY?: number, sizeZ?: number, custom?: any, faceUV?: Vector4[], faceColors?: Color4[], flat?: boolean, sideOrientation?: number, frontUVs?: Vector4, backUVs?: Vector4 }): VertexData {\r\n throw _DevTools.WarnImport(\"polyhedronBuilder\");\r\n }\r\n\r\n //\r\n /**\r\n * Creates the VertexData for a Capsule, inspired from https://github.com/maximeq/three-js-capsule-geometry/blob/master/src/CapsuleBufferGeometry.js\r\n * @param options an object used to set the following optional parameters for the capsule, required but can be empty\r\n * @returns the VertexData of the Capsule\r\n */\r\n public static CreateCapsule(options: ICreateCapsuleOptions = {\r\n orientation : Vector3.Up(),\r\n subdivisions: 2,\r\n tessellation: 16,\r\n height: 1,\r\n radius: 0.25,\r\n capSubdivisions: 6\r\n }): VertexData {\r\n throw _DevTools.WarnImport(\"capsuleBuilder\");\r\n }\r\n\r\n // based on http://code.google.com/p/away3d/source/browse/trunk/fp10/Away3D/src/away3d/primitives/TorusKnot.as?spec=svn2473&r=2473\r\n /**\r\n * Creates the VertexData for a TorusKnot\r\n * @param options an object used to set the following optional parameters for the TorusKnot, required but can be empty\r\n * * radius the radius of the torus knot, optional, default 2\r\n * * tube the thickness of the tube, optional, default 0.5\r\n * * radialSegments the number of sides on each tube segments, optional, default 32\r\n * * tubularSegments the number of tubes to decompose the knot into, optional, default 32\r\n * * p the number of windings around the z axis, optional, default 2\r\n * * q the number of windings around the x axis, optional, default 3\r\n * * sideOrientation optional and takes the values : Mesh.FRONTSIDE (default), Mesh.BACKSIDE or Mesh.DOUBLESIDE\r\n * * frontUvs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the front side, optional, default vector4 (0, 0, 1, 1)\r\n * * backUVs only usable when you create a double-sided mesh, used to choose what parts of the texture image to crop and apply on the back side, optional, default vector4 (0, 0, 1, 1)\r\n * @returns the VertexData of the Torus Knot\r\n */\r\n public static CreateTorusKnot(options: { radius?: number, tube?: number, radialSegments?: number, tubularSegments?: number, p?: number, q?: number, sideOrientation?: number, frontUVs?: Vector4, backUVs?: Vector4 }): VertexData {\r\n throw _DevTools.WarnImport(\"torusKnotBuilder\");\r\n }\r\n\r\n // Tools\r\n\r\n /**\r\n * Compute normals for given positions and indices\r\n * @param positions an array of vertex positions, [...., x, y, z, ......]\r\n * @param indices an array of indices in groups of three for each triangular facet, [...., i, j, k, ......]\r\n * @param normals an array of vertex normals, [...., x, y, z, ......]\r\n * @param options an object used to set the following optional parameters for the TorusKnot, optional\r\n * * facetNormals : optional array of facet normals (vector3)\r\n * * facetPositions : optional array of facet positions (vector3)\r\n * * facetPartitioning : optional partitioning array. facetPositions is required for facetPartitioning computation\r\n * * ratio : optional partitioning ratio / bounding box, required for facetPartitioning computation\r\n * * bInfo : optional bounding info, required for facetPartitioning computation\r\n * * bbSize : optional bounding box size data, required for facetPartitioning computation\r\n * * subDiv : optional partitioning data about subdivsions on each axis (int), required for facetPartitioning computation\r\n * * useRightHandedSystem: optional boolean to for right handed system computation\r\n * * depthSort : optional boolean to enable the facet depth sort computation\r\n * * distanceTo : optional Vector3 to compute the facet depth from this location\r\n * * depthSortedFacets : optional array of depthSortedFacets to store the facet distances from the reference location\r\n */\r\n public static ComputeNormals(positions: any, indices: any, normals: any,\r\n options?: {\r\n facetNormals?: any, facetPositions?: any, facetPartitioning?: any, ratio?: number, bInfo?: any, bbSize?: Vector3, subDiv?: any,\r\n useRightHandedSystem?: boolean, depthSort?: boolean, distanceTo?: Vector3, depthSortedFacets?: any\r\n }): void {\r\n\r\n // temporary scalar variables\r\n var index = 0; // facet index\r\n var p1p2x = 0.0; // p1p2 vector x coordinate\r\n var p1p2y = 0.0; // p1p2 vector y coordinate\r\n var p1p2z = 0.0; // p1p2 vector z coordinate\r\n var p3p2x = 0.0; // p3p2 vector x coordinate\r\n var p3p2y = 0.0; // p3p2 vector y coordinate\r\n var p3p2z = 0.0; // p3p2 vector z coordinate\r\n var faceNormalx = 0.0; // facet normal x coordinate\r\n var faceNormaly = 0.0; // facet normal y coordinate\r\n var faceNormalz = 0.0; // facet normal z coordinate\r\n var length = 0.0; // facet normal length before normalization\r\n var v1x = 0; // vector1 x index in the positions array\r\n var v1y = 0; // vector1 y index in the positions array\r\n var v1z = 0; // vector1 z index in the positions array\r\n var v2x = 0; // vector2 x index in the positions array\r\n var v2y = 0; // vector2 y index in the positions array\r\n var v2z = 0; // vector2 z index in the positions array\r\n var v3x = 0; // vector3 x index in the positions array\r\n var v3y = 0; // vector3 y index in the positions array\r\n var v3z = 0; // vector3 z index in the positions array\r\n var computeFacetNormals = false;\r\n var computeFacetPositions = false;\r\n var computeFacetPartitioning = false;\r\n var computeDepthSort = false;\r\n var faceNormalSign = 1;\r\n let ratio = 0;\r\n var distanceTo: Nullable = null;\r\n if (options) {\r\n computeFacetNormals = (options.facetNormals) ? true : false;\r\n computeFacetPositions = (options.facetPositions) ? true : false;\r\n computeFacetPartitioning = (options.facetPartitioning) ? true : false;\r\n faceNormalSign = (options.useRightHandedSystem === true) ? -1 : 1;\r\n ratio = options.ratio || 0;\r\n computeDepthSort = (options.depthSort) ? true : false;\r\n distanceTo = (options.distanceTo);\r\n if (computeDepthSort) {\r\n if (distanceTo === undefined) {\r\n distanceTo = Vector3.Zero();\r\n }\r\n var depthSortedFacets = options.depthSortedFacets;\r\n }\r\n }\r\n\r\n // facetPartitioning reinit if needed\r\n let xSubRatio = 0;\r\n let ySubRatio = 0;\r\n let zSubRatio = 0;\r\n let subSq = 0;\r\n if (computeFacetPartitioning && options && options.bbSize) {\r\n var ox = 0; // X partitioning index for facet position\r\n var oy = 0; // Y partinioning index for facet position\r\n var oz = 0; // Z partinioning index for facet position\r\n var b1x = 0; // X partitioning index for facet v1 vertex\r\n var b1y = 0; // Y partitioning index for facet v1 vertex\r\n var b1z = 0; // z partitioning index for facet v1 vertex\r\n var b2x = 0; // X partitioning index for facet v2 vertex\r\n var b2y = 0; // Y partitioning index for facet v2 vertex\r\n var b2z = 0; // Z partitioning index for facet v2 vertex\r\n var b3x = 0; // X partitioning index for facet v3 vertex\r\n var b3y = 0; // Y partitioning index for facet v3 vertex\r\n var b3z = 0; // Z partitioning index for facet v3 vertex\r\n var block_idx_o = 0; // facet barycenter block index\r\n var block_idx_v1 = 0; // v1 vertex block index\r\n var block_idx_v2 = 0; // v2 vertex block index\r\n var block_idx_v3 = 0; // v3 vertex block index\r\n\r\n var bbSizeMax = (options.bbSize.x > options.bbSize.y) ? options.bbSize.x : options.bbSize.y;\r\n bbSizeMax = (bbSizeMax > options.bbSize.z) ? bbSizeMax : options.bbSize.z;\r\n xSubRatio = options.subDiv.X * ratio / options.bbSize.x;\r\n ySubRatio = options.subDiv.Y * ratio / options.bbSize.y;\r\n zSubRatio = options.subDiv.Z * ratio / options.bbSize.z;\r\n subSq = options.subDiv.max * options.subDiv.max;\r\n options.facetPartitioning.length = 0;\r\n }\r\n\r\n // reset the normals\r\n for (index = 0; index < positions.length; index++) {\r\n normals[index] = 0.0;\r\n }\r\n\r\n // Loop : 1 indice triplet = 1 facet\r\n var nbFaces = (indices.length / 3) | 0;\r\n for (index = 0; index < nbFaces; index++) {\r\n\r\n // get the indexes of the coordinates of each vertex of the facet\r\n v1x = indices[index * 3] * 3;\r\n v1y = v1x + 1;\r\n v1z = v1x + 2;\r\n v2x = indices[index * 3 + 1] * 3;\r\n v2y = v2x + 1;\r\n v2z = v2x + 2;\r\n v3x = indices[index * 3 + 2] * 3;\r\n v3y = v3x + 1;\r\n v3z = v3x + 2;\r\n\r\n p1p2x = positions[v1x] - positions[v2x]; // compute two vectors per facet : p1p2 and p3p2\r\n p1p2y = positions[v1y] - positions[v2y];\r\n p1p2z = positions[v1z] - positions[v2z];\r\n\r\n p3p2x = positions[v3x] - positions[v2x];\r\n p3p2y = positions[v3y] - positions[v2y];\r\n p3p2z = positions[v3z] - positions[v2z];\r\n\r\n // compute the face normal with the cross product\r\n faceNormalx = faceNormalSign * (p1p2y * p3p2z - p1p2z * p3p2y);\r\n faceNormaly = faceNormalSign * (p1p2z * p3p2x - p1p2x * p3p2z);\r\n faceNormalz = faceNormalSign * (p1p2x * p3p2y - p1p2y * p3p2x);\r\n // normalize this normal and store it in the array facetData\r\n length = Math.sqrt(faceNormalx * faceNormalx + faceNormaly * faceNormaly + faceNormalz * faceNormalz);\r\n length = (length === 0) ? 1.0 : length;\r\n faceNormalx /= length;\r\n faceNormaly /= length;\r\n faceNormalz /= length;\r\n\r\n if (computeFacetNormals && options) {\r\n options.facetNormals[index].x = faceNormalx;\r\n options.facetNormals[index].y = faceNormaly;\r\n options.facetNormals[index].z = faceNormalz;\r\n }\r\n\r\n if (computeFacetPositions && options) {\r\n // compute and the facet barycenter coordinates in the array facetPositions\r\n options.facetPositions[index].x = (positions[v1x] + positions[v2x] + positions[v3x]) / 3.0;\r\n options.facetPositions[index].y = (positions[v1y] + positions[v2y] + positions[v3y]) / 3.0;\r\n options.facetPositions[index].z = (positions[v1z] + positions[v2z] + positions[v3z]) / 3.0;\r\n }\r\n\r\n if (computeFacetPartitioning && options) {\r\n // store the facet indexes in arrays in the main facetPartitioning array :\r\n // compute each facet vertex (+ facet barycenter) index in the partiniong array\r\n ox = Math.floor((options.facetPositions[index].x - options.bInfo.minimum.x * ratio) * xSubRatio);\r\n oy = Math.floor((options.facetPositions[index].y - options.bInfo.minimum.y * ratio) * ySubRatio);\r\n oz = Math.floor((options.facetPositions[index].z - options.bInfo.minimum.z * ratio) * zSubRatio);\r\n b1x = Math.floor((positions[v1x] - options.bInfo.minimum.x * ratio) * xSubRatio);\r\n b1y = Math.floor((positions[v1y] - options.bInfo.minimum.y * ratio) * ySubRatio);\r\n b1z = Math.floor((positions[v1z] - options.bInfo.minimum.z * ratio) * zSubRatio);\r\n b2x = Math.floor((positions[v2x] - options.bInfo.minimum.x * ratio) * xSubRatio);\r\n b2y = Math.floor((positions[v2y] - options.bInfo.minimum.y * ratio) * ySubRatio);\r\n b2z = Math.floor((positions[v2z] - options.bInfo.minimum.z * ratio) * zSubRatio);\r\n b3x = Math.floor((positions[v3x] - options.bInfo.minimum.x * ratio) * xSubRatio);\r\n b3y = Math.floor((positions[v3y] - options.bInfo.minimum.y * ratio) * ySubRatio);\r\n b3z = Math.floor((positions[v3z] - options.bInfo.minimum.z * ratio) * zSubRatio);\r\n\r\n block_idx_v1 = b1x + options.subDiv.max * b1y + subSq * b1z;\r\n block_idx_v2 = b2x + options.subDiv.max * b2y + subSq * b2z;\r\n block_idx_v3 = b3x + options.subDiv.max * b3y + subSq * b3z;\r\n block_idx_o = ox + options.subDiv.max * oy + subSq * oz;\r\n\r\n options.facetPartitioning[block_idx_o] = options.facetPartitioning[block_idx_o] ? options.facetPartitioning[block_idx_o] : new Array();\r\n options.facetPartitioning[block_idx_v1] = options.facetPartitioning[block_idx_v1] ? options.facetPartitioning[block_idx_v1] : new Array();\r\n options.facetPartitioning[block_idx_v2] = options.facetPartitioning[block_idx_v2] ? options.facetPartitioning[block_idx_v2] : new Array();\r\n options.facetPartitioning[block_idx_v3] = options.facetPartitioning[block_idx_v3] ? options.facetPartitioning[block_idx_v3] : new Array();\r\n\r\n // push each facet index in each block containing the vertex\r\n options.facetPartitioning[block_idx_v1].push(index);\r\n if (block_idx_v2 != block_idx_v1) {\r\n options.facetPartitioning[block_idx_v2].push(index);\r\n }\r\n if (!(block_idx_v3 == block_idx_v2 || block_idx_v3 == block_idx_v1)) {\r\n options.facetPartitioning[block_idx_v3].push(index);\r\n }\r\n if (!(block_idx_o == block_idx_v1 || block_idx_o == block_idx_v2 || block_idx_o == block_idx_v3)) {\r\n options.facetPartitioning[block_idx_o].push(index);\r\n }\r\n }\r\n\r\n if (computeDepthSort && options && options.facetPositions) {\r\n var dsf = depthSortedFacets[index];\r\n dsf.ind = index * 3;\r\n dsf.sqDistance = Vector3.DistanceSquared(options.facetPositions[index], distanceTo!);\r\n }\r\n\r\n // compute the normals anyway\r\n normals[v1x] += faceNormalx; // accumulate all the normals per face\r\n normals[v1y] += faceNormaly;\r\n normals[v1z] += faceNormalz;\r\n normals[v2x] += faceNormalx;\r\n normals[v2y] += faceNormaly;\r\n normals[v2z] += faceNormalz;\r\n normals[v3x] += faceNormalx;\r\n normals[v3y] += faceNormaly;\r\n normals[v3z] += faceNormalz;\r\n }\r\n // last normalization of each normal\r\n for (index = 0; index < normals.length / 3; index++) {\r\n faceNormalx = normals[index * 3];\r\n faceNormaly = normals[index * 3 + 1];\r\n faceNormalz = normals[index * 3 + 2];\r\n\r\n length = Math.sqrt(faceNormalx * faceNormalx + faceNormaly * faceNormaly + faceNormalz * faceNormalz);\r\n length = (length === 0) ? 1.0 : length;\r\n faceNormalx /= length;\r\n faceNormaly /= length;\r\n faceNormalz /= length;\r\n\r\n normals[index * 3] = faceNormalx;\r\n normals[index * 3 + 1] = faceNormaly;\r\n normals[index * 3 + 2] = faceNormalz;\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public static _ComputeSides(sideOrientation: number, positions: FloatArray, indices: FloatArray, normals: FloatArray, uvs: FloatArray, frontUVs?: Vector4, backUVs?: Vector4) {\r\n var li: number = indices.length;\r\n var ln: number = normals.length;\r\n var i: number;\r\n var n: number;\r\n sideOrientation = sideOrientation || VertexData.DEFAULTSIDE;\r\n\r\n switch (sideOrientation) {\r\n\r\n case VertexData.FRONTSIDE:\r\n // nothing changed\r\n break;\r\n\r\n case VertexData.BACKSIDE:\r\n var tmp: number;\r\n // indices\r\n for (i = 0; i < li; i += 3) {\r\n tmp = indices[i];\r\n indices[i] = indices[i + 2];\r\n indices[i + 2] = tmp;\r\n }\r\n // normals\r\n for (n = 0; n < ln; n++) {\r\n normals[n] = -normals[n];\r\n }\r\n break;\r\n\r\n case VertexData.DOUBLESIDE:\r\n // positions\r\n var lp: number = positions.length;\r\n var l: number = lp / 3;\r\n for (var p = 0; p < lp; p++) {\r\n positions[lp + p] = positions[p];\r\n }\r\n // indices\r\n for (i = 0; i < li; i += 3) {\r\n indices[i + li] = indices[i + 2] + l;\r\n indices[i + 1 + li] = indices[i + 1] + l;\r\n indices[i + 2 + li] = indices[i] + l;\r\n }\r\n // normals\r\n for (n = 0; n < ln; n++) {\r\n normals[ln + n] = -normals[n];\r\n }\r\n\r\n // uvs\r\n var lu: number = uvs.length;\r\n var u: number = 0;\r\n for (u = 0; u < lu; u++) {\r\n uvs[u + lu] = uvs[u];\r\n }\r\n frontUVs = frontUVs ? frontUVs : new Vector4(0.0, 0.0, 1.0, 1.0);\r\n backUVs = backUVs ? backUVs : new Vector4(0.0, 0.0, 1.0, 1.0);\r\n u = 0;\r\n for (i = 0; i < lu / 2; i++) {\r\n uvs[u] = frontUVs.x + (frontUVs.z - frontUVs.x) * uvs[u];\r\n uvs[u + 1] = frontUVs.y + (frontUVs.w - frontUVs.y) * uvs[u + 1];\r\n uvs[u + lu] = backUVs.x + (backUVs.z - backUVs.x) * uvs[u + lu];\r\n uvs[u + lu + 1] = backUVs.y + (backUVs.w - backUVs.y) * uvs[u + lu + 1];\r\n u += 2;\r\n }\r\n break;\r\n }\r\n }\r\n\r\n /**\r\n * Applies VertexData created from the imported parameters to the geometry\r\n * @param parsedVertexData the parsed data from an imported file\r\n * @param geometry the geometry to apply the VertexData to\r\n */\r\n public static ImportVertexData(parsedVertexData: any, geometry: Geometry) {\r\n var vertexData = new VertexData();\r\n\r\n // positions\r\n var positions = parsedVertexData.positions;\r\n if (positions) {\r\n vertexData.set(positions, VertexBuffer.PositionKind);\r\n }\r\n\r\n // normals\r\n var normals = parsedVertexData.normals;\r\n if (normals) {\r\n vertexData.set(normals, VertexBuffer.NormalKind);\r\n }\r\n\r\n // tangents\r\n var tangents = parsedVertexData.tangents;\r\n if (tangents) {\r\n vertexData.set(tangents, VertexBuffer.TangentKind);\r\n }\r\n\r\n // uvs\r\n var uvs = parsedVertexData.uvs;\r\n if (uvs) {\r\n vertexData.set(uvs, VertexBuffer.UVKind);\r\n }\r\n\r\n // uv2s\r\n var uv2s = parsedVertexData.uv2s;\r\n if (uv2s) {\r\n vertexData.set(uv2s, VertexBuffer.UV2Kind);\r\n }\r\n\r\n // uv3s\r\n var uv3s = parsedVertexData.uv3s;\r\n if (uv3s) {\r\n vertexData.set(uv3s, VertexBuffer.UV3Kind);\r\n }\r\n\r\n // uv4s\r\n var uv4s = parsedVertexData.uv4s;\r\n if (uv4s) {\r\n vertexData.set(uv4s, VertexBuffer.UV4Kind);\r\n }\r\n\r\n // uv5s\r\n var uv5s = parsedVertexData.uv5s;\r\n if (uv5s) {\r\n vertexData.set(uv5s, VertexBuffer.UV5Kind);\r\n }\r\n\r\n // uv6s\r\n var uv6s = parsedVertexData.uv6s;\r\n if (uv6s) {\r\n vertexData.set(uv6s, VertexBuffer.UV6Kind);\r\n }\r\n\r\n // colors\r\n var colors = parsedVertexData.colors;\r\n if (colors) {\r\n vertexData.set(Color4.CheckColors4(colors, positions.length / 3), VertexBuffer.ColorKind);\r\n }\r\n\r\n // matricesIndices\r\n var matricesIndices = parsedVertexData.matricesIndices;\r\n if (matricesIndices) {\r\n vertexData.set(matricesIndices, VertexBuffer.MatricesIndicesKind);\r\n }\r\n\r\n // matricesWeights\r\n var matricesWeights = parsedVertexData.matricesWeights;\r\n if (matricesWeights) {\r\n vertexData.set(matricesWeights, VertexBuffer.MatricesWeightsKind);\r\n }\r\n\r\n // indices\r\n var indices = parsedVertexData.indices;\r\n if (indices) {\r\n vertexData.indices = indices;\r\n }\r\n\r\n geometry.setAllVerticesData(vertexData, parsedVertexData.updatable);\r\n }\r\n}\r\n","module.exports = require(\"regenerator-runtime\");\n","import { Scene } from \"./scene\";\r\nimport { AbstractMesh } from \"./Meshes/abstractMesh\";\r\nimport { SubMesh, } from \"./Meshes/subMesh\";\r\nimport { _InstancesBatch } from \"./Meshes/mesh\";\r\nimport { SmartArrayNoDuplicate } from \"./Misc/smartArray\";\r\nimport { Nullable } from \"./types\";\r\nimport { Camera } from \"./Cameras/camera\";\r\nimport { RenderTargetTexture } from \"./Materials/Textures/renderTargetTexture\";\r\nimport { PickingInfo } from \"./Collisions/pickingInfo\";\r\nimport { AbstractScene } from \"./abstractScene\";\r\n\r\ndeclare type Mesh = import(\"./Meshes/mesh\").Mesh;\r\ndeclare type Effect = import(\"./Materials/effect\").Effect;\r\n\r\n/**\r\n * Groups all the scene component constants in one place to ease maintenance.\r\n * @hidden\r\n */\r\nexport class SceneComponentConstants {\r\n public static readonly NAME_EFFECTLAYER = \"EffectLayer\";\r\n public static readonly NAME_LAYER = \"Layer\";\r\n public static readonly NAME_LENSFLARESYSTEM = \"LensFlareSystem\";\r\n public static readonly NAME_BOUNDINGBOXRENDERER = \"BoundingBoxRenderer\";\r\n public static readonly NAME_PARTICLESYSTEM = \"ParticleSystem\";\r\n public static readonly NAME_GAMEPAD = \"Gamepad\";\r\n public static readonly NAME_SIMPLIFICATIONQUEUE = \"SimplificationQueue\";\r\n public static readonly NAME_GEOMETRYBUFFERRENDERER = \"GeometryBufferRenderer\";\r\n public static readonly NAME_PREPASSRENDERER = \"PrePassRenderer\";\r\n public static readonly NAME_DEPTHRENDERER = \"DepthRenderer\";\r\n public static readonly NAME_POSTPROCESSRENDERPIPELINEMANAGER = \"PostProcessRenderPipelineManager\";\r\n public static readonly NAME_SPRITE = \"Sprite\";\r\n public static readonly NAME_SUBSURFACE = \"SubSurface\";\r\n public static readonly NAME_OUTLINERENDERER = \"Outline\";\r\n public static readonly NAME_PROCEDURALTEXTURE = \"ProceduralTexture\";\r\n public static readonly NAME_SHADOWGENERATOR = \"ShadowGenerator\";\r\n public static readonly NAME_OCTREE = \"Octree\";\r\n public static readonly NAME_PHYSICSENGINE = \"PhysicsEngine\";\r\n public static readonly NAME_AUDIO = \"Audio\";\r\n\r\n public static readonly STEP_ISREADYFORMESH_EFFECTLAYER = 0;\r\n\r\n public static readonly STEP_BEFOREEVALUATEACTIVEMESH_BOUNDINGBOXRENDERER = 0;\r\n\r\n public static readonly STEP_EVALUATESUBMESH_BOUNDINGBOXRENDERER = 0;\r\n\r\n public static readonly STEP_PREACTIVEMESH_BOUNDINGBOXRENDERER = 0;\r\n\r\n public static readonly STEP_CAMERADRAWRENDERTARGET_EFFECTLAYER = 1;\r\n\r\n public static readonly STEP_BEFORECAMERADRAW_EFFECTLAYER = 0;\r\n public static readonly STEP_BEFORECAMERADRAW_LAYER = 1;\r\n public static readonly STEP_BEFORECAMERADRAW_PREPASS = 2;\r\n\r\n public static readonly STEP_BEFORERENDERTARGETDRAW_LAYER = 0;\r\n\r\n public static readonly STEP_BEFORERENDERINGMESH_PREPASS = 0;\r\n public static readonly STEP_BEFORERENDERINGMESH_OUTLINE = 1;\r\n\r\n public static readonly STEP_AFTERRENDERINGMESH_PREPASS = 0;\r\n public static readonly STEP_AFTERRENDERINGMESH_OUTLINE = 1;\r\n\r\n public static readonly STEP_AFTERRENDERINGGROUPDRAW_EFFECTLAYER_DRAW = 0;\r\n public static readonly STEP_AFTERRENDERINGGROUPDRAW_BOUNDINGBOXRENDERER = 1;\r\n\r\n public static readonly STEP_BEFORECAMERAUPDATE_SIMPLIFICATIONQUEUE = 0;\r\n public static readonly STEP_BEFORECAMERAUPDATE_GAMEPAD = 1;\r\n\r\n public static readonly STEP_BEFORECLEAR_PROCEDURALTEXTURE = 0;\r\n\r\n public static readonly STEP_AFTERRENDERTARGETDRAW_LAYER = 0;\r\n\r\n public static readonly STEP_AFTERCAMERADRAW_EFFECTLAYER = 0;\r\n public static readonly STEP_AFTERCAMERADRAW_LENSFLARESYSTEM = 1;\r\n public static readonly STEP_AFTERCAMERADRAW_EFFECTLAYER_DRAW = 2;\r\n public static readonly STEP_AFTERCAMERADRAW_LAYER = 3;\r\n public static readonly STEP_AFTERCAMERADRAW_PREPASS = 4;\r\n\r\n public static readonly STEP_AFTERRENDER_AUDIO = 0;\r\n\r\n public static readonly STEP_GATHERRENDERTARGETS_DEPTHRENDERER = 0;\r\n public static readonly STEP_GATHERRENDERTARGETS_GEOMETRYBUFFERRENDERER = 1;\r\n public static readonly STEP_GATHERRENDERTARGETS_SHADOWGENERATOR = 2;\r\n public static readonly STEP_GATHERRENDERTARGETS_POSTPROCESSRENDERPIPELINEMANAGER = 3;\r\n\r\n public static readonly STEP_GATHERACTIVECAMERARENDERTARGETS_DEPTHRENDERER = 0;\r\n\r\n public static readonly STEP_BEFORECLEARSTAGE_PREPASS = 0;\r\n\r\n public static readonly STEP_POINTERMOVE_SPRITE = 0;\r\n public static readonly STEP_POINTERDOWN_SPRITE = 0;\r\n public static readonly STEP_POINTERUP_SPRITE = 0;\r\n}\r\n\r\n/**\r\n * This represents a scene component.\r\n *\r\n * This is used to decouple the dependency the scene is having on the different workloads like\r\n * layers, post processes...\r\n */\r\nexport interface ISceneComponent {\r\n /**\r\n * The name of the component. Each component must have a unique name.\r\n */\r\n name: string;\r\n\r\n /**\r\n * The scene the component belongs to.\r\n */\r\n scene: Scene;\r\n\r\n /**\r\n * Register the component to one instance of a scene.\r\n */\r\n register(): void;\r\n\r\n /**\r\n * Rebuilds the elements related to this component in case of\r\n * context lost for instance.\r\n */\r\n rebuild(): void;\r\n\r\n /**\r\n * Disposes the component and the associated ressources.\r\n */\r\n dispose(): void;\r\n}\r\n\r\n/**\r\n * This represents a SERIALIZABLE scene component.\r\n *\r\n * This extends Scene Component to add Serialization methods on top.\r\n */\r\nexport interface ISceneSerializableComponent extends ISceneComponent {\r\n /**\r\n * Adds all the elements from the container to the scene\r\n * @param container the container holding the elements\r\n */\r\n addFromContainer(container: AbstractScene): void;\r\n\r\n /**\r\n * Removes all the elements in the container from the scene\r\n * @param container contains the elements to remove\r\n * @param dispose if the removed element should be disposed (default: false)\r\n */\r\n removeFromContainer(container: AbstractScene, dispose?: boolean): void;\r\n\r\n /**\r\n * Serializes the component data to the specified json object\r\n * @param serializationObject The object to serialize to\r\n */\r\n serialize(serializationObject: any): void;\r\n}\r\n\r\n/**\r\n * Strong typing of a Mesh related stage step action\r\n */\r\nexport type MeshStageAction = (mesh: AbstractMesh, hardwareInstancedRendering: boolean) => boolean;\r\n\r\n/**\r\n * Strong typing of a Evaluate Sub Mesh related stage step action\r\n */\r\nexport type EvaluateSubMeshStageAction = (mesh: AbstractMesh, subMesh: SubMesh) => void;\r\n\r\n/**\r\n * Strong typing of a pre active Mesh related stage step action\r\n */\r\nexport type PreActiveMeshStageAction = (mesh: AbstractMesh) => void;\r\n\r\n/**\r\n * Strong typing of a Camera related stage step action\r\n */\r\nexport type CameraStageAction = (camera: Camera) => void;\r\n\r\n/**\r\n * Strong typing of a Camera Frame buffer related stage step action\r\n */\r\nexport type CameraStageFrameBufferAction = (camera: Camera) => boolean;\r\n\r\n/**\r\n * Strong typing of a Render Target related stage step action\r\n */\r\nexport type RenderTargetStageAction = (renderTarget: RenderTargetTexture) => void;\r\n\r\n/**\r\n * Strong typing of a RenderingGroup related stage step action\r\n */\r\nexport type RenderingGroupStageAction = (renderingGroupId: number) => void;\r\n\r\n/**\r\n * Strong typing of a Mesh Render related stage step action\r\n */\r\nexport type RenderingMeshStageAction = (mesh: Mesh, subMesh: SubMesh, batch: _InstancesBatch, effect: Nullable) => void;\r\n\r\n/**\r\n * Strong typing of a simple stage step action\r\n */\r\nexport type SimpleStageAction = () => void;\r\n\r\n/**\r\n * Strong typing of a render target action.\r\n */\r\nexport type RenderTargetsStageAction = (renderTargets: SmartArrayNoDuplicate) => void;\r\n\r\n/**\r\n * Strong typing of a pointer move action.\r\n */\r\nexport type PointerMoveStageAction = (unTranslatedPointerX: number, unTranslatedPointerY: number, pickResult: Nullable, isMeshPicked: boolean, element: HTMLElement) => Nullable;\r\n\r\n/**\r\n * Strong typing of a pointer up/down action.\r\n */\r\nexport type PointerUpDownStageAction = (unTranslatedPointerX: number, unTranslatedPointerY: number, pickResult: Nullable, evt: PointerEvent) => Nullable;\r\n\r\n/**\r\n * Representation of a stage in the scene (Basically a list of ordered steps)\r\n * @hidden\r\n */\r\nexport class Stage extends Array<{ index: number, component: ISceneComponent, action: T }> {\r\n /**\r\n * Hide ctor from the rest of the world.\r\n * @param items The items to add.\r\n */\r\n private constructor(items?: { index: number, component: ISceneComponent, action: T }[]) {\r\n super(...items);\r\n }\r\n\r\n /**\r\n * Creates a new Stage.\r\n * @returns A new instance of a Stage\r\n */\r\n static Create(): Stage {\r\n return Object.create(Stage.prototype);\r\n }\r\n\r\n /**\r\n * Registers a step in an ordered way in the targeted stage.\r\n * @param index Defines the position to register the step in\r\n * @param component Defines the component attached to the step\r\n * @param action Defines the action to launch during the step\r\n */\r\n public registerStep(index: number, component: ISceneComponent, action: T): void {\r\n let i = 0;\r\n let maxIndex = Number.MAX_VALUE;\r\n for (; i < this.length; i++) {\r\n let step = this[i];\r\n maxIndex = step.index;\r\n if (index < maxIndex) {\r\n break;\r\n }\r\n }\r\n this.splice(i, 0, { index, component, action: action.bind(component) });\r\n }\r\n\r\n /**\r\n * Clears all the steps from the stage.\r\n */\r\n public clear(): void {\r\n this.length = 0;\r\n }\r\n}\r\n","import { Nullable } from \"../types\";\r\nimport { Vector2 } from \"../Maths/math.vector\";\r\nimport { PickingInfo } from \"../Collisions/pickingInfo\";\r\n\r\ndeclare type Ray = import(\"../Culling/ray\").Ray;\r\n\r\n/**\r\n * Gather the list of pointer event types as constants.\r\n */\r\nexport class PointerEventTypes {\r\n /**\r\n * The pointerdown event is fired when a pointer becomes active. For mouse, it is fired when the device transitions from no buttons depressed to at least one button depressed. For touch, it is fired when physical contact is made with the digitizer. For pen, it is fired when the stylus makes physical contact with the digitizer.\r\n */\r\n public static readonly POINTERDOWN = 0x01;\r\n /**\r\n * The pointerup event is fired when a pointer is no longer active.\r\n */\r\n public static readonly POINTERUP = 0x02;\r\n /**\r\n * The pointermove event is fired when a pointer changes coordinates.\r\n */\r\n public static readonly POINTERMOVE = 0x04;\r\n /**\r\n * The pointerwheel event is fired when a mouse wheel has been rotated.\r\n */\r\n public static readonly POINTERWHEEL = 0x08;\r\n /**\r\n * The pointerpick event is fired when a mesh or sprite has been picked by the pointer.\r\n */\r\n public static readonly POINTERPICK = 0x10;\r\n /**\r\n * The pointertap event is fired when a the object has been touched and released without drag.\r\n */\r\n public static readonly POINTERTAP = 0x20;\r\n /**\r\n * The pointerdoubletap event is fired when a the object has been touched and released twice without drag.\r\n */\r\n public static readonly POINTERDOUBLETAP = 0x40;\r\n}\r\n\r\n/**\r\n * Base class of pointer info types.\r\n */\r\nexport class PointerInfoBase {\r\n /**\r\n * Instantiates the base class of pointers info.\r\n * @param type Defines the type of event (PointerEventTypes)\r\n * @param event Defines the related dom event\r\n */\r\n constructor(\r\n /**\r\n * Defines the type of event (PointerEventTypes)\r\n */\r\n public type: number,\r\n /**\r\n * Defines the related dom event\r\n */\r\n public event: PointerEvent | MouseWheelEvent) {\r\n }\r\n}\r\n\r\n/**\r\n * This class is used to store pointer related info for the onPrePointerObservable event.\r\n * Set the skipOnPointerObservable property to true if you want the engine to stop any process after this event is triggered, even not calling onPointerObservable\r\n */\r\nexport class PointerInfoPre extends PointerInfoBase {\r\n /**\r\n * Ray from a pointer if availible (eg. 6dof controller)\r\n */\r\n public ray: Nullable = null;\r\n\r\n /**\r\n * Defines the local position of the pointer on the canvas.\r\n */\r\n public localPosition: Vector2;\r\n\r\n /**\r\n * Defines whether the engine should skip the next OnPointerObservable associated to this pre.\r\n */\r\n public skipOnPointerObservable: boolean;\r\n\r\n /**\r\n * Instantiates a PointerInfoPre to store pointer related info to the onPrePointerObservable event.\r\n * @param type Defines the type of event (PointerEventTypes)\r\n * @param event Defines the related dom event\r\n * @param localX Defines the local x coordinates of the pointer when the event occured\r\n * @param localY Defines the local y coordinates of the pointer when the event occured\r\n */\r\n constructor(type: number, event: PointerEvent | MouseWheelEvent, localX: number, localY: number) {\r\n super(type, event);\r\n this.skipOnPointerObservable = false;\r\n this.localPosition = new Vector2(localX, localY);\r\n }\r\n}\r\n\r\n/**\r\n * This type contains all the data related to a pointer event in Babylon.js.\r\n * The event member is an instance of PointerEvent for all types except PointerWheel and is of type MouseWheelEvent when type equals PointerWheel. The different event types can be found in the PointerEventTypes class.\r\n */\r\nexport class PointerInfo extends PointerInfoBase {\r\n /**\r\n * Instantiates a PointerInfo to store pointer related info to the onPointerObservable event.\r\n * @param type Defines the type of event (PointerEventTypes)\r\n * @param event Defines the related dom event\r\n * @param pickInfo Defines the picking info associated to the info (if any)\\\r\n */\r\n constructor(type: number,\r\n event: PointerEvent | MouseWheelEvent,\r\n /**\r\n * Defines the picking info associated to the info (if any)\\\r\n */\r\n public pickInfo: Nullable) {\r\n super(type, event);\r\n }\r\n}\r\n\r\n/**\r\n * Data relating to a touch event on the screen.\r\n */\r\nexport interface PointerTouch {\r\n /**\r\n * X coordinate of touch.\r\n */\r\n x: number;\r\n /**\r\n * Y coordinate of touch.\r\n */\r\n y: number;\r\n /**\r\n * Id of touch. Unique for each finger.\r\n */\r\n pointerId: number;\r\n /**\r\n * Event type passed from DOM.\r\n */\r\n type: any;\r\n}\r\n","import { Engine } from \"../Engines/engine\";\r\n\r\n\r\n/**\r\n * This groups all the flags used to control the materials channel.\r\n */\r\nexport class MaterialFlags {\r\n // Flags used to enable or disable a type of texture for all Standard Materials\r\n private static _DiffuseTextureEnabled = true;\r\n /**\r\n * Are diffuse textures enabled in the application.\r\n */\r\n public static get DiffuseTextureEnabled(): boolean {\r\n return this._DiffuseTextureEnabled;\r\n }\r\n public static set DiffuseTextureEnabled(value: boolean) {\r\n if (this._DiffuseTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._DiffuseTextureEnabled = value;\r\n Engine.MarkAllMaterialsAsDirty(1);\r\n }\r\n\r\n private static _DetailTextureEnabled = true;\r\n /**\r\n * Are detail textures enabled in the application.\r\n */\r\n public static get DetailTextureEnabled(): boolean {\r\n return this._DetailTextureEnabled;\r\n }\r\n public static set DetailTextureEnabled(value: boolean) {\r\n if (this._DetailTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._DetailTextureEnabled = value;\r\n Engine.MarkAllMaterialsAsDirty(1);\r\n }\r\n\r\n private static _AmbientTextureEnabled = true;\r\n /**\r\n * Are ambient textures enabled in the application.\r\n */\r\n public static get AmbientTextureEnabled(): boolean {\r\n return this._AmbientTextureEnabled;\r\n }\r\n public static set AmbientTextureEnabled(value: boolean) {\r\n if (this._AmbientTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._AmbientTextureEnabled = value;\r\n Engine.MarkAllMaterialsAsDirty(1);\r\n }\r\n\r\n private static _OpacityTextureEnabled = true;\r\n /**\r\n * Are opacity textures enabled in the application.\r\n */\r\n public static get OpacityTextureEnabled(): boolean {\r\n return this._OpacityTextureEnabled;\r\n }\r\n public static set OpacityTextureEnabled(value: boolean) {\r\n if (this._OpacityTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._OpacityTextureEnabled = value;\r\n Engine.MarkAllMaterialsAsDirty(1);\r\n }\r\n\r\n private static _ReflectionTextureEnabled = true;\r\n /**\r\n * Are reflection textures enabled in the application.\r\n */\r\n public static get ReflectionTextureEnabled(): boolean {\r\n return this._ReflectionTextureEnabled;\r\n }\r\n public static set ReflectionTextureEnabled(value: boolean) {\r\n if (this._ReflectionTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._ReflectionTextureEnabled = value;\r\n Engine.MarkAllMaterialsAsDirty(1);\r\n }\r\n\r\n private static _EmissiveTextureEnabled = true;\r\n /**\r\n * Are emissive textures enabled in the application.\r\n */\r\n public static get EmissiveTextureEnabled(): boolean {\r\n return this._EmissiveTextureEnabled;\r\n }\r\n public static set EmissiveTextureEnabled(value: boolean) {\r\n if (this._EmissiveTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._EmissiveTextureEnabled = value;\r\n Engine.MarkAllMaterialsAsDirty(1);\r\n }\r\n\r\n private static _SpecularTextureEnabled = true;\r\n /**\r\n * Are specular textures enabled in the application.\r\n */\r\n public static get SpecularTextureEnabled(): boolean {\r\n return this._SpecularTextureEnabled;\r\n }\r\n public static set SpecularTextureEnabled(value: boolean) {\r\n if (this._SpecularTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._SpecularTextureEnabled = value;\r\n Engine.MarkAllMaterialsAsDirty(1);\r\n }\r\n\r\n private static _BumpTextureEnabled = true;\r\n /**\r\n * Are bump textures enabled in the application.\r\n */\r\n public static get BumpTextureEnabled(): boolean {\r\n return this._BumpTextureEnabled;\r\n }\r\n public static set BumpTextureEnabled(value: boolean) {\r\n if (this._BumpTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._BumpTextureEnabled = value;\r\n Engine.MarkAllMaterialsAsDirty(1);\r\n }\r\n\r\n private static _LightmapTextureEnabled = true;\r\n /**\r\n * Are lightmap textures enabled in the application.\r\n */\r\n public static get LightmapTextureEnabled(): boolean {\r\n return this._LightmapTextureEnabled;\r\n }\r\n public static set LightmapTextureEnabled(value: boolean) {\r\n if (this._LightmapTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._LightmapTextureEnabled = value;\r\n Engine.MarkAllMaterialsAsDirty(1);\r\n }\r\n\r\n private static _RefractionTextureEnabled = true;\r\n /**\r\n * Are refraction textures enabled in the application.\r\n */\r\n public static get RefractionTextureEnabled(): boolean {\r\n return this._RefractionTextureEnabled;\r\n }\r\n public static set RefractionTextureEnabled(value: boolean) {\r\n if (this._RefractionTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._RefractionTextureEnabled = value;\r\n Engine.MarkAllMaterialsAsDirty(1);\r\n }\r\n\r\n private static _ColorGradingTextureEnabled = true;\r\n /**\r\n * Are color grading textures enabled in the application.\r\n */\r\n public static get ColorGradingTextureEnabled(): boolean {\r\n return this._ColorGradingTextureEnabled;\r\n }\r\n public static set ColorGradingTextureEnabled(value: boolean) {\r\n if (this._ColorGradingTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._ColorGradingTextureEnabled = value;\r\n Engine.MarkAllMaterialsAsDirty(1);\r\n }\r\n\r\n private static _FresnelEnabled = true;\r\n /**\r\n * Are fresnels enabled in the application.\r\n */\r\n public static get FresnelEnabled(): boolean {\r\n return this._FresnelEnabled;\r\n }\r\n public static set FresnelEnabled(value: boolean) {\r\n if (this._FresnelEnabled === value) {\r\n return;\r\n }\r\n\r\n this._FresnelEnabled = value;\r\n Engine.MarkAllMaterialsAsDirty(4);\r\n }\r\n\r\n private static _ClearCoatTextureEnabled = true;\r\n /**\r\n * Are clear coat textures enabled in the application.\r\n */\r\n public static get ClearCoatTextureEnabled(): boolean {\r\n return this._ClearCoatTextureEnabled;\r\n }\r\n public static set ClearCoatTextureEnabled(value: boolean) {\r\n if (this._ClearCoatTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._ClearCoatTextureEnabled = value;\r\n Engine.MarkAllMaterialsAsDirty(1);\r\n }\r\n\r\n private static _ClearCoatBumpTextureEnabled = true;\r\n /**\r\n * Are clear coat bump textures enabled in the application.\r\n */\r\n public static get ClearCoatBumpTextureEnabled(): boolean {\r\n return this._ClearCoatBumpTextureEnabled;\r\n }\r\n public static set ClearCoatBumpTextureEnabled(value: boolean) {\r\n if (this._ClearCoatBumpTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._ClearCoatBumpTextureEnabled = value;\r\n Engine.MarkAllMaterialsAsDirty(1);\r\n }\r\n\r\n private static _ClearCoatTintTextureEnabled = true;\r\n /**\r\n * Are clear coat tint textures enabled in the application.\r\n */\r\n public static get ClearCoatTintTextureEnabled(): boolean {\r\n return this._ClearCoatTintTextureEnabled;\r\n }\r\n public static set ClearCoatTintTextureEnabled(value: boolean) {\r\n if (this._ClearCoatTintTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._ClearCoatTintTextureEnabled = value;\r\n Engine.MarkAllMaterialsAsDirty(1);\r\n }\r\n\r\n private static _SheenTextureEnabled = true;\r\n /**\r\n * Are sheen textures enabled in the application.\r\n */\r\n public static get SheenTextureEnabled(): boolean {\r\n return this._SheenTextureEnabled;\r\n }\r\n public static set SheenTextureEnabled(value: boolean) {\r\n if (this._SheenTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._SheenTextureEnabled = value;\r\n Engine.MarkAllMaterialsAsDirty(1);\r\n }\r\n\r\n private static _AnisotropicTextureEnabled = true;\r\n /**\r\n * Are anisotropic textures enabled in the application.\r\n */\r\n public static get AnisotropicTextureEnabled(): boolean {\r\n return this._AnisotropicTextureEnabled;\r\n }\r\n public static set AnisotropicTextureEnabled(value: boolean) {\r\n if (this._AnisotropicTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._AnisotropicTextureEnabled = value;\r\n Engine.MarkAllMaterialsAsDirty(1);\r\n }\r\n\r\n private static _ThicknessTextureEnabled = true;\r\n /**\r\n * Are thickness textures enabled in the application.\r\n */\r\n public static get ThicknessTextureEnabled(): boolean {\r\n return this._ThicknessTextureEnabled;\r\n }\r\n public static set ThicknessTextureEnabled(value: boolean) {\r\n if (this._ThicknessTextureEnabled === value) {\r\n return;\r\n }\r\n\r\n this._ThicknessTextureEnabled = value;\r\n Engine.MarkAllMaterialsAsDirty(1);\r\n }\r\n}\r\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { withStyles as withStylesWithoutDefault } from '@material-ui/styles';\nimport defaultTheme from './defaultTheme';\n\nfunction withStyles(stylesOrCreator, options) {\n return withStylesWithoutDefault(stylesOrCreator, _extends({\n defaultTheme: defaultTheme\n }, options));\n}\n\nexport default withStyles;","import { Observable, Observer } from \"../Misc/observable\";\r\nimport { PointerInfoPre, PointerInfo, PointerEventTypes } from \"../Events/pointerEvents\";\r\nimport { Nullable } from \"../types\";\r\nimport { AbstractActionManager } from \"../Actions/abstractActionManager\";\r\nimport { PickingInfo } from \"../Collisions/pickingInfo\";\r\nimport { Vector2, Matrix } from \"../Maths/math.vector\";\r\nimport { AbstractMesh } from \"../Meshes/abstractMesh\";\r\n\r\nimport { ActionEvent } from \"../Actions/actionEvent\";\r\nimport { Tools } from \"../Misc/tools\";\r\nimport { Engine } from \"../Engines/engine\";\r\nimport { KeyboardEventTypes, KeyboardInfoPre, KeyboardInfo } from \"../Events/keyboardEvents\";\r\n\r\ndeclare type Scene = import(\"../scene\").Scene;\r\n\r\n/** @hidden */\r\nclass _ClickInfo {\r\n private _singleClick = false;\r\n private _doubleClick = false;\r\n private _hasSwiped = false;\r\n private _ignore = false;\r\n\r\n public get singleClick(): boolean {\r\n return this._singleClick;\r\n }\r\n public get doubleClick(): boolean {\r\n return this._doubleClick;\r\n }\r\n public get hasSwiped(): boolean {\r\n return this._hasSwiped;\r\n }\r\n public get ignore(): boolean {\r\n return this._ignore;\r\n }\r\n\r\n public set singleClick(b: boolean) {\r\n this._singleClick = b;\r\n }\r\n public set doubleClick(b: boolean) {\r\n this._doubleClick = b;\r\n }\r\n public set hasSwiped(b: boolean) {\r\n this._hasSwiped = b;\r\n }\r\n public set ignore(b: boolean) {\r\n this._ignore = b;\r\n }\r\n}\r\n\r\n/**\r\n * Class used to manage all inputs for the scene.\r\n */\r\nexport class InputManager {\r\n /** The distance in pixel that you have to move to prevent some events */\r\n public static DragMovementThreshold = 10; // in pixels\r\n /** Time in milliseconds to wait to raise long press events if button is still pressed */\r\n public static LongPressDelay = 500; // in milliseconds\r\n /** Time in milliseconds with two consecutive clicks will be considered as a double click */\r\n public static DoubleClickDelay = 300; // in milliseconds\r\n /** If you need to check double click without raising a single click at first click, enable this flag */\r\n public static ExclusiveDoubleClickMode = false;\r\n\r\n /** This is a defensive check to not allow control attachment prior to an already active one. If already attached, previous control is unattached before attaching the new one. */\r\n private _alreadyAttached = false;\r\n private _alreadyAttachedTo: HTMLElement;\r\n\r\n // Pointers\r\n private _wheelEventName = \"\";\r\n private _onPointerMove: (evt: PointerEvent) => void;\r\n private _onPointerDown: (evt: PointerEvent) => void;\r\n private _onPointerUp: (evt: PointerEvent) => void;\r\n\r\n private _initClickEvent: (obs1: Observable, obs2: Observable, evt: PointerEvent, cb: (clickInfo: _ClickInfo, pickResult: Nullable) => void) => void;\r\n private _initActionManager: (act: Nullable, clickInfo: _ClickInfo) => Nullable;\r\n private _delayedSimpleClick: (btn: number, clickInfo: _ClickInfo, cb: (clickInfo: _ClickInfo, pickResult: Nullable) => void) => void;\r\n private _delayedSimpleClickTimeout: number;\r\n private _previousDelayedSimpleClickTimeout: number;\r\n private _meshPickProceed = false;\r\n\r\n private _previousButtonPressed: number;\r\n private _currentPickResult: Nullable = null;\r\n private _previousPickResult: Nullable = null;\r\n private _totalPointersPressed = 0;\r\n private _doubleClickOccured = false;\r\n\r\n private _pointerOverMesh: Nullable;\r\n\r\n private _pickedDownMesh: Nullable;\r\n private _pickedUpMesh: Nullable;\r\n\r\n private _pointerX: number = 0;\r\n private _pointerY: number = 0;\r\n private _unTranslatedPointerX: number;\r\n private _unTranslatedPointerY: number;\r\n private _startingPointerPosition = new Vector2(0, 0);\r\n private _previousStartingPointerPosition = new Vector2(0, 0);\r\n private _startingPointerTime = 0;\r\n private _previousStartingPointerTime = 0;\r\n private _pointerCaptures: { [pointerId: number]: boolean } = {};\r\n\r\n private _meshUnderPointerId: Nullable[] = [];\r\n\r\n // Keyboard\r\n private _onKeyDown: (evt: KeyboardEvent) => void;\r\n private _onKeyUp: (evt: KeyboardEvent) => void;\r\n private _keyboardIsAttached = false;\r\n private _onCanvasFocusObserver: Nullable>;\r\n private _onCanvasBlurObserver: Nullable>;\r\n\r\n private _scene: Scene;\r\n\r\n /**\r\n * Creates a new InputManager\r\n * @param scene defines the hosting scene\r\n */\r\n public constructor(scene: Scene) {\r\n this._scene = scene;\r\n }\r\n\r\n /**\r\n * Gets the mesh that is currently under the pointer\r\n */\r\n public get meshUnderPointer(): Nullable {\r\n return this._pointerOverMesh;\r\n }\r\n\r\n /**\r\n * When using more than one pointer (for example in XR) you can get the mesh under the specific pointer\r\n * @param pointerId the pointer id to use\r\n * @returns The mesh under this pointer id or null if not found\r\n */\r\n public getMeshUnderPointerByPointerId(pointerId: number): Nullable {\r\n return this._meshUnderPointerId[pointerId];\r\n }\r\n\r\n /**\r\n * Gets the pointer coordinates in 2D without any translation (ie. straight out of the pointer event)\r\n */\r\n public get unTranslatedPointer(): Vector2 {\r\n return new Vector2(this._unTranslatedPointerX, this._unTranslatedPointerY);\r\n }\r\n\r\n /**\r\n * Gets or sets the current on-screen X position of the pointer\r\n */\r\n public get pointerX(): number {\r\n return this._pointerX;\r\n }\r\n\r\n public set pointerX(value: number) {\r\n this._pointerX = value;\r\n }\r\n\r\n /**\r\n * Gets or sets the current on-screen Y position of the pointer\r\n */\r\n public get pointerY(): number {\r\n return this._pointerY;\r\n }\r\n\r\n public set pointerY(value: number) {\r\n this._pointerY = value;\r\n }\r\n\r\n private _updatePointerPosition(evt: PointerEvent): void {\r\n var canvasRect = this._scene.getEngine().getInputElementClientRect();\r\n\r\n if (!canvasRect) {\r\n return;\r\n }\r\n\r\n this._pointerX = evt.clientX - canvasRect.left;\r\n this._pointerY = evt.clientY - canvasRect.top;\r\n\r\n this._unTranslatedPointerX = this._pointerX;\r\n this._unTranslatedPointerY = this._pointerY;\r\n }\r\n\r\n private _processPointerMove(pickResult: Nullable, evt: PointerEvent) {\r\n let scene = this._scene;\r\n let engine = scene.getEngine();\r\n var canvas = engine.getInputElement();\r\n\r\n if (!canvas) {\r\n return;\r\n }\r\n\r\n canvas.tabIndex = engine.canvasTabIndex;\r\n\r\n // Restore pointer\r\n if (!scene.doNotHandleCursors) {\r\n canvas.style.cursor = scene.defaultCursor;\r\n }\r\n\r\n var isMeshPicked = pickResult && pickResult.hit && pickResult.pickedMesh ? true : false;\r\n if (isMeshPicked) {\r\n scene.setPointerOverMesh(pickResult!.pickedMesh, evt.pointerId);\r\n\r\n if (this._pointerOverMesh && this._pointerOverMesh.actionManager && this._pointerOverMesh.actionManager.hasPointerTriggers) {\r\n if (!scene.doNotHandleCursors) {\r\n if (this._pointerOverMesh.actionManager.hoverCursor) {\r\n canvas.style.cursor = this._pointerOverMesh.actionManager.hoverCursor;\r\n } else {\r\n canvas.style.cursor = scene.hoverCursor;\r\n }\r\n }\r\n }\r\n } else {\r\n scene.setPointerOverMesh(null, evt.pointerId);\r\n }\r\n\r\n for (let step of scene._pointerMoveStage) {\r\n pickResult = step.action(this._unTranslatedPointerX, this._unTranslatedPointerY, pickResult, isMeshPicked, canvas);\r\n }\r\n\r\n if (pickResult) {\r\n let type = evt.type === this._wheelEventName ? PointerEventTypes.POINTERWHEEL : PointerEventTypes.POINTERMOVE;\r\n\r\n if (scene.onPointerMove) {\r\n scene.onPointerMove(evt, pickResult, type);\r\n }\r\n\r\n if (scene.onPointerObservable.hasObservers()) {\r\n let pi = new PointerInfo(type, evt, pickResult);\r\n this._setRayOnPointerInfo(pi);\r\n scene.onPointerObservable.notifyObservers(pi, type);\r\n }\r\n }\r\n }\r\n\r\n // Pointers handling\r\n private _setRayOnPointerInfo(pointerInfo: PointerInfo) {\r\n let scene = this._scene;\r\n if (pointerInfo.pickInfo && !pointerInfo.pickInfo._pickingUnavailable) {\r\n if (!pointerInfo.pickInfo.ray) {\r\n pointerInfo.pickInfo.ray = scene.createPickingRay(pointerInfo.event.offsetX, pointerInfo.event.offsetY, Matrix.Identity(), scene.activeCamera);\r\n }\r\n }\r\n }\r\n\r\n private _checkPrePointerObservable(pickResult: Nullable, evt: PointerEvent, type: number) {\r\n let scene = this._scene;\r\n let pi = new PointerInfoPre(type, evt, this._unTranslatedPointerX, this._unTranslatedPointerY);\r\n if (pickResult) {\r\n pi.ray = pickResult.ray;\r\n }\r\n scene.onPrePointerObservable.notifyObservers(pi, type);\r\n if (pi.skipOnPointerObservable) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Use this method to simulate a pointer move on a mesh\r\n * The pickResult parameter can be obtained from a scene.pick or scene.pickWithRay\r\n * @param pickResult pickingInfo of the object wished to simulate pointer event on\r\n * @param pointerEventInit pointer event state to be used when simulating the pointer event (eg. pointer id for multitouch)\r\n */\r\n public simulatePointerMove(pickResult: PickingInfo, pointerEventInit?: PointerEventInit): void {\r\n let evt = new PointerEvent(\"pointermove\", pointerEventInit);\r\n\r\n if (this._checkPrePointerObservable(pickResult, evt, PointerEventTypes.POINTERMOVE)) {\r\n return;\r\n }\r\n this._processPointerMove(pickResult, evt);\r\n }\r\n\r\n /**\r\n * Use this method to simulate a pointer down on a mesh\r\n * The pickResult parameter can be obtained from a scene.pick or scene.pickWithRay\r\n * @param pickResult pickingInfo of the object wished to simulate pointer event on\r\n * @param pointerEventInit pointer event state to be used when simulating the pointer event (eg. pointer id for multitouch)\r\n */\r\n public simulatePointerDown(pickResult: PickingInfo, pointerEventInit?: PointerEventInit): void {\r\n let evt = new PointerEvent(\"pointerdown\", pointerEventInit);\r\n\r\n if (this._checkPrePointerObservable(pickResult, evt, PointerEventTypes.POINTERDOWN)) {\r\n return;\r\n }\r\n\r\n this._processPointerDown(pickResult, evt);\r\n }\r\n\r\n private _processPointerDown(pickResult: Nullable, evt: PointerEvent): void {\r\n let scene = this._scene;\r\n if (pickResult && pickResult.hit && pickResult.pickedMesh) {\r\n this._pickedDownMesh = pickResult.pickedMesh;\r\n var actionManager = pickResult.pickedMesh._getActionManagerForTrigger();\r\n if (actionManager) {\r\n if (actionManager.hasPickTriggers) {\r\n actionManager.processTrigger(5, ActionEvent.CreateNew(pickResult.pickedMesh, evt));\r\n switch (evt.button) {\r\n case 0:\r\n actionManager.processTrigger(2, ActionEvent.CreateNew(pickResult.pickedMesh, evt));\r\n break;\r\n case 1:\r\n actionManager.processTrigger(4, ActionEvent.CreateNew(pickResult.pickedMesh, evt));\r\n break;\r\n case 2:\r\n actionManager.processTrigger(3, ActionEvent.CreateNew(pickResult.pickedMesh, evt));\r\n break;\r\n }\r\n }\r\n\r\n if (actionManager.hasSpecificTrigger(8)) {\r\n window.setTimeout(() => {\r\n var pickResult = scene.pick(\r\n this._unTranslatedPointerX,\r\n this._unTranslatedPointerY,\r\n (mesh: AbstractMesh): boolean => (mesh.isPickable && mesh.isVisible && mesh.isReady() && mesh.actionManager && mesh.actionManager.hasSpecificTrigger(8) && mesh == this._pickedDownMesh),\r\n false,\r\n scene.cameraToUseForPointers\r\n );\r\n\r\n if (pickResult && pickResult.hit && pickResult.pickedMesh && actionManager) {\r\n if (this._totalPointersPressed !== 0 && Date.now() - this._startingPointerTime > InputManager.LongPressDelay && !this._isPointerSwiping()) {\r\n this._startingPointerTime = 0;\r\n actionManager.processTrigger(8, ActionEvent.CreateNew(pickResult.pickedMesh, evt));\r\n }\r\n }\r\n }, InputManager.LongPressDelay);\r\n }\r\n }\r\n } else {\r\n for (let step of scene._pointerDownStage) {\r\n pickResult = step.action(this._unTranslatedPointerX, this._unTranslatedPointerY, pickResult, evt);\r\n }\r\n }\r\n\r\n if (pickResult) {\r\n let type = PointerEventTypes.POINTERDOWN;\r\n\r\n if (scene.onPointerDown) {\r\n scene.onPointerDown(evt, pickResult, type);\r\n }\r\n\r\n if (scene.onPointerObservable.hasObservers()) {\r\n let pi = new PointerInfo(type, evt, pickResult);\r\n this._setRayOnPointerInfo(pi);\r\n scene.onPointerObservable.notifyObservers(pi, type);\r\n }\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _isPointerSwiping(): boolean {\r\n return Math.abs(this._startingPointerPosition.x - this._pointerX) > InputManager.DragMovementThreshold || Math.abs(this._startingPointerPosition.y - this._pointerY) > InputManager.DragMovementThreshold;\r\n }\r\n\r\n /**\r\n * Use this method to simulate a pointer up on a mesh\r\n * The pickResult parameter can be obtained from a scene.pick or scene.pickWithRay\r\n * @param pickResult pickingInfo of the object wished to simulate pointer event on\r\n * @param pointerEventInit pointer event state to be used when simulating the pointer event (eg. pointer id for multitouch)\r\n * @param doubleTap indicates that the pointer up event should be considered as part of a double click (false by default)\r\n */\r\n public simulatePointerUp(pickResult: PickingInfo, pointerEventInit?: PointerEventInit, doubleTap?: boolean): void {\r\n let evt = new PointerEvent(\"pointerup\", pointerEventInit);\r\n let clickInfo = new _ClickInfo();\r\n\r\n if (doubleTap) {\r\n clickInfo.doubleClick = true;\r\n } else {\r\n clickInfo.singleClick = true;\r\n }\r\n\r\n if (this._checkPrePointerObservable(pickResult, evt, PointerEventTypes.POINTERUP)) {\r\n return;\r\n }\r\n\r\n this._processPointerUp(pickResult, evt, clickInfo);\r\n }\r\n\r\n private _processPointerUp(pickResult: Nullable, evt: PointerEvent, clickInfo: _ClickInfo): void {\r\n let scene = this._scene;\r\n if (pickResult && pickResult && pickResult.pickedMesh) {\r\n this._pickedUpMesh = pickResult.pickedMesh;\r\n if (this._pickedDownMesh === this._pickedUpMesh) {\r\n if (scene.onPointerPick) {\r\n scene.onPointerPick(evt, pickResult);\r\n }\r\n if (clickInfo.singleClick && !clickInfo.ignore && scene.onPointerObservable.hasObservers()) {\r\n let type = PointerEventTypes.POINTERPICK;\r\n let pi = new PointerInfo(type, evt, pickResult);\r\n this._setRayOnPointerInfo(pi);\r\n scene.onPointerObservable.notifyObservers(pi, type);\r\n }\r\n }\r\n let actionManager = pickResult.pickedMesh._getActionManagerForTrigger();\r\n if (actionManager && !clickInfo.ignore) {\r\n actionManager.processTrigger(7, ActionEvent.CreateNew(pickResult.pickedMesh, evt));\r\n\r\n if (!clickInfo.hasSwiped && clickInfo.singleClick) {\r\n actionManager.processTrigger(1, ActionEvent.CreateNew(pickResult.pickedMesh, evt));\r\n }\r\n\r\n let doubleClickActionManager = pickResult.pickedMesh._getActionManagerForTrigger(6);\r\n if (clickInfo.doubleClick && doubleClickActionManager) {\r\n doubleClickActionManager.processTrigger(6, ActionEvent.CreateNew(pickResult.pickedMesh, evt));\r\n }\r\n }\r\n } else {\r\n if (!clickInfo.ignore) {\r\n for (let step of scene._pointerUpStage) {\r\n pickResult = step.action(this._unTranslatedPointerX, this._unTranslatedPointerY, pickResult, evt);\r\n }\r\n }\r\n }\r\n\r\n if (this._pickedDownMesh && this._pickedDownMesh !== this._pickedUpMesh) {\r\n let pickedDownActionManager = this._pickedDownMesh._getActionManagerForTrigger(16);\r\n if (pickedDownActionManager) {\r\n pickedDownActionManager.processTrigger(16, ActionEvent.CreateNew(this._pickedDownMesh, evt));\r\n }\r\n }\r\n\r\n let type = 0;\r\n if (scene.onPointerObservable.hasObservers()) {\r\n if (!clickInfo.ignore && !clickInfo.hasSwiped) {\r\n if (clickInfo.singleClick && scene.onPointerObservable.hasSpecificMask(PointerEventTypes.POINTERTAP)) {\r\n type = PointerEventTypes.POINTERTAP;\r\n } else if (clickInfo.doubleClick && scene.onPointerObservable.hasSpecificMask(PointerEventTypes.POINTERDOUBLETAP)) {\r\n type = PointerEventTypes.POINTERDOUBLETAP;\r\n }\r\n if (type) {\r\n let pi = new PointerInfo(type, evt, pickResult);\r\n this._setRayOnPointerInfo(pi);\r\n scene.onPointerObservable.notifyObservers(pi, type);\r\n }\r\n }\r\n\r\n if (!clickInfo.ignore) {\r\n type = PointerEventTypes.POINTERUP;\r\n\r\n let pi = new PointerInfo(type, evt, pickResult);\r\n this._setRayOnPointerInfo(pi);\r\n scene.onPointerObservable.notifyObservers(pi, type);\r\n }\r\n }\r\n\r\n if (scene.onPointerUp && !clickInfo.ignore) {\r\n scene.onPointerUp(evt, pickResult, type);\r\n }\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if the current pointer event is captured (meaning that the scene has already handled the pointer down)\r\n * @param pointerId defines the pointer id to use in a multi-touch scenario (0 by default)\r\n * @returns true if the pointer was captured\r\n */\r\n public isPointerCaptured(pointerId = 0): boolean {\r\n return this._pointerCaptures[pointerId];\r\n }\r\n\r\n /**\r\n * Attach events to the canvas (To handle actionManagers triggers and raise onPointerMove, onPointerDown and onPointerUp\r\n * @param attachUp defines if you want to attach events to pointerup\r\n * @param attachDown defines if you want to attach events to pointerdown\r\n * @param attachMove defines if you want to attach events to pointermove\r\n * @param elementToAttachTo defines the target DOM element to attach to (will use the canvas by default)\r\n */\r\n public attachControl(attachUp = true, attachDown = true, attachMove = true, elementToAttachTo: Nullable = null): void {\r\n let scene = this._scene;\r\n\r\n if (!elementToAttachTo) {\r\n elementToAttachTo = scene.getEngine().getInputElement();\r\n }\r\n\r\n if (!elementToAttachTo) {\r\n return;\r\n }\r\n\r\n if (this._alreadyAttached) {\r\n this.detachControl();\r\n }\r\n this._alreadyAttachedTo = elementToAttachTo;\r\n let engine = scene.getEngine();\r\n\r\n this._initActionManager = (act: Nullable, clickInfo: _ClickInfo): Nullable => {\r\n if (!this._meshPickProceed) {\r\n let pickResult = scene.pick(this._unTranslatedPointerX, this._unTranslatedPointerY, scene.pointerDownPredicate, false, scene.cameraToUseForPointers);\r\n this._currentPickResult = pickResult;\r\n if (pickResult) {\r\n act = pickResult.hit && pickResult.pickedMesh ? pickResult.pickedMesh._getActionManagerForTrigger() : null;\r\n }\r\n this._meshPickProceed = true;\r\n }\r\n return act;\r\n };\r\n\r\n this._delayedSimpleClick = (btn: number, clickInfo: _ClickInfo, cb: (clickInfo: _ClickInfo, pickResult: Nullable) => void) => {\r\n // double click delay is over and that no double click has been raised since, or the 2 consecutive keys pressed are different\r\n if ((Date.now() - this._previousStartingPointerTime > InputManager.DoubleClickDelay && !this._doubleClickOccured) || btn !== this._previousButtonPressed) {\r\n this._doubleClickOccured = false;\r\n clickInfo.singleClick = true;\r\n clickInfo.ignore = false;\r\n cb(clickInfo, this._currentPickResult);\r\n }\r\n };\r\n\r\n this._initClickEvent = (obs1: Observable, obs2: Observable, evt: PointerEvent, cb: (clickInfo: _ClickInfo, pickResult: Nullable) => void): void => {\r\n let clickInfo = new _ClickInfo();\r\n this._currentPickResult = null;\r\n let act: Nullable = null;\r\n\r\n let checkPicking =\r\n obs1.hasSpecificMask(PointerEventTypes.POINTERPICK) ||\r\n obs2.hasSpecificMask(PointerEventTypes.POINTERPICK) ||\r\n obs1.hasSpecificMask(PointerEventTypes.POINTERTAP) ||\r\n obs2.hasSpecificMask(PointerEventTypes.POINTERTAP) ||\r\n obs1.hasSpecificMask(PointerEventTypes.POINTERDOUBLETAP) ||\r\n obs2.hasSpecificMask(PointerEventTypes.POINTERDOUBLETAP);\r\n if (!checkPicking && AbstractActionManager) {\r\n act = this._initActionManager(act, clickInfo);\r\n if (act) {\r\n checkPicking = act.hasPickTriggers;\r\n }\r\n }\r\n\r\n let needToIgnoreNext = false;\r\n\r\n if (checkPicking) {\r\n let btn = evt.button;\r\n clickInfo.hasSwiped = this._isPointerSwiping();\r\n\r\n if (!clickInfo.hasSwiped) {\r\n let checkSingleClickImmediately = !InputManager.ExclusiveDoubleClickMode;\r\n\r\n if (!checkSingleClickImmediately) {\r\n checkSingleClickImmediately = !obs1.hasSpecificMask(PointerEventTypes.POINTERDOUBLETAP) && !obs2.hasSpecificMask(PointerEventTypes.POINTERDOUBLETAP);\r\n\r\n if (checkSingleClickImmediately && !AbstractActionManager.HasSpecificTrigger(6)) {\r\n act = this._initActionManager(act, clickInfo);\r\n if (act) {\r\n checkSingleClickImmediately = !act.hasSpecificTrigger(6);\r\n }\r\n }\r\n }\r\n\r\n if (checkSingleClickImmediately) {\r\n // single click detected if double click delay is over or two different successive keys pressed without exclusive double click or no double click required\r\n if (Date.now() - this._previousStartingPointerTime > InputManager.DoubleClickDelay || btn !== this._previousButtonPressed) {\r\n clickInfo.singleClick = true;\r\n cb(clickInfo, this._currentPickResult);\r\n needToIgnoreNext = true;\r\n }\r\n }\r\n // at least one double click is required to be check and exclusive double click is enabled\r\n else {\r\n // wait that no double click has been raised during the double click delay\r\n this._previousDelayedSimpleClickTimeout = this._delayedSimpleClickTimeout;\r\n this._delayedSimpleClickTimeout = window.setTimeout(this._delayedSimpleClick.bind(this, btn, clickInfo, cb), InputManager.DoubleClickDelay);\r\n }\r\n\r\n let checkDoubleClick = obs1.hasSpecificMask(PointerEventTypes.POINTERDOUBLETAP) || obs2.hasSpecificMask(PointerEventTypes.POINTERDOUBLETAP);\r\n if (!checkDoubleClick && AbstractActionManager.HasSpecificTrigger(6)) {\r\n act = this._initActionManager(act, clickInfo);\r\n if (act) {\r\n checkDoubleClick = act.hasSpecificTrigger(6);\r\n }\r\n }\r\n if (checkDoubleClick) {\r\n // two successive keys pressed are equal, double click delay is not over and double click has not just occurred\r\n if (btn === this._previousButtonPressed && Date.now() - this._previousStartingPointerTime < InputManager.DoubleClickDelay && !this._doubleClickOccured) {\r\n // pointer has not moved for 2 clicks, it's a double click\r\n if (!clickInfo.hasSwiped && !this._isPointerSwiping()) {\r\n this._previousStartingPointerTime = 0;\r\n this._doubleClickOccured = true;\r\n clickInfo.doubleClick = true;\r\n clickInfo.ignore = false;\r\n if (InputManager.ExclusiveDoubleClickMode && this._previousDelayedSimpleClickTimeout) {\r\n clearTimeout(this._previousDelayedSimpleClickTimeout);\r\n }\r\n this._previousDelayedSimpleClickTimeout = this._delayedSimpleClickTimeout;\r\n cb(clickInfo, this._currentPickResult);\r\n }\r\n // if the two successive clicks are too far, it's just two simple clicks\r\n else {\r\n this._doubleClickOccured = false;\r\n this._previousStartingPointerTime = this._startingPointerTime;\r\n this._previousStartingPointerPosition.x = this._startingPointerPosition.x;\r\n this._previousStartingPointerPosition.y = this._startingPointerPosition.y;\r\n this._previousButtonPressed = btn;\r\n if (InputManager.ExclusiveDoubleClickMode) {\r\n if (this._previousDelayedSimpleClickTimeout) {\r\n clearTimeout(this._previousDelayedSimpleClickTimeout);\r\n }\r\n this._previousDelayedSimpleClickTimeout = this._delayedSimpleClickTimeout;\r\n\r\n cb(clickInfo, this._previousPickResult);\r\n } else {\r\n cb(clickInfo, this._currentPickResult);\r\n }\r\n }\r\n needToIgnoreNext = true;\r\n }\r\n // just the first click of the double has been raised\r\n else {\r\n this._doubleClickOccured = false;\r\n this._previousStartingPointerTime = this._startingPointerTime;\r\n this._previousStartingPointerPosition.x = this._startingPointerPosition.x;\r\n this._previousStartingPointerPosition.y = this._startingPointerPosition.y;\r\n this._previousButtonPressed = btn;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (!needToIgnoreNext) {\r\n cb(clickInfo, this._currentPickResult);\r\n }\r\n };\r\n\r\n this._onPointerMove = (evt: PointerEvent) => {\r\n // preserve compatibility with Safari when pointerId is not present\r\n if (evt.pointerId === undefined) {\r\n (evt as any).pointerId = 0;\r\n }\r\n\r\n this._updatePointerPosition(evt);\r\n\r\n // PreObservable support\r\n if (this._checkPrePointerObservable(null, evt, evt.type === this._wheelEventName ? PointerEventTypes.POINTERWHEEL : PointerEventTypes.POINTERMOVE)) {\r\n return;\r\n }\r\n\r\n if (!scene.cameraToUseForPointers && !scene.activeCamera) {\r\n return;\r\n }\r\n\r\n if (!scene.pointerMovePredicate) {\r\n scene.pointerMovePredicate = (mesh: AbstractMesh): boolean =>\r\n mesh.isPickable &&\r\n mesh.isVisible &&\r\n mesh.isReady() &&\r\n mesh.isEnabled() &&\r\n (mesh.enablePointerMoveEvents || scene.constantlyUpdateMeshUnderPointer || mesh._getActionManagerForTrigger() != null) &&\r\n (!scene.cameraToUseForPointers || (scene.cameraToUseForPointers.layerMask & mesh.layerMask) !== 0);\r\n }\r\n\r\n // Meshes\r\n var pickResult = scene.pick(this._unTranslatedPointerX, this._unTranslatedPointerY, scene.pointerMovePredicate, false, scene.cameraToUseForPointers);\r\n\r\n this._processPointerMove(pickResult, evt);\r\n };\r\n\r\n this._onPointerDown = (evt: PointerEvent) => {\r\n this._totalPointersPressed++;\r\n this._pickedDownMesh = null;\r\n this._meshPickProceed = false;\r\n\r\n // preserve compatibility with Safari when pointerId is not present\r\n if (evt.pointerId === undefined) {\r\n (evt as any).pointerId = 0;\r\n }\r\n\r\n this._updatePointerPosition(evt);\r\n\r\n if (scene.preventDefaultOnPointerDown && elementToAttachTo) {\r\n evt.preventDefault();\r\n elementToAttachTo.focus();\r\n }\r\n\r\n this._startingPointerPosition.x = this._pointerX;\r\n this._startingPointerPosition.y = this._pointerY;\r\n this._startingPointerTime = Date.now();\r\n\r\n // PreObservable support\r\n if (this._checkPrePointerObservable(null, evt, PointerEventTypes.POINTERDOWN)) {\r\n return;\r\n }\r\n\r\n if (!scene.cameraToUseForPointers && !scene.activeCamera) {\r\n return;\r\n }\r\n\r\n this._pointerCaptures[evt.pointerId] = true;\r\n\r\n if (!scene.pointerDownPredicate) {\r\n scene.pointerDownPredicate = (mesh: AbstractMesh): boolean => {\r\n return mesh.isPickable && mesh.isVisible && mesh.isReady() && mesh.isEnabled() && (!scene.cameraToUseForPointers || (scene.cameraToUseForPointers.layerMask & mesh.layerMask) !== 0);\r\n };\r\n }\r\n\r\n // Meshes\r\n this._pickedDownMesh = null;\r\n var pickResult = scene.pick(this._unTranslatedPointerX, this._unTranslatedPointerY, scene.pointerDownPredicate, false, scene.cameraToUseForPointers);\r\n\r\n this._processPointerDown(pickResult, evt);\r\n };\r\n\r\n this._onPointerUp = (evt: PointerEvent) => {\r\n if (this._totalPointersPressed === 0) {\r\n // We are attaching the pointer up to windows because of a bug in FF\r\n return; // So we need to test it the pointer down was pressed before.\r\n }\r\n\r\n this._totalPointersPressed--;\r\n this._pickedUpMesh = null;\r\n this._meshPickProceed = false;\r\n\r\n // preserve compatibility with Safari when pointerId is not present\r\n if (evt.pointerId === undefined) {\r\n (evt as any).pointerId = 0;\r\n }\r\n\r\n this._updatePointerPosition(evt);\r\n\r\n if (scene.preventDefaultOnPointerUp && elementToAttachTo) {\r\n evt.preventDefault();\r\n elementToAttachTo.focus();\r\n }\r\n\r\n this._initClickEvent(scene.onPrePointerObservable, scene.onPointerObservable, evt, (clickInfo: _ClickInfo, pickResult: Nullable) => {\r\n // PreObservable support\r\n if (scene.onPrePointerObservable.hasObservers()) {\r\n if (!clickInfo.ignore) {\r\n if (!clickInfo.hasSwiped) {\r\n if (clickInfo.singleClick && scene.onPrePointerObservable.hasSpecificMask(PointerEventTypes.POINTERTAP)) {\r\n if (this._checkPrePointerObservable(null, evt, PointerEventTypes.POINTERTAP)) {\r\n return;\r\n }\r\n }\r\n if (clickInfo.doubleClick && scene.onPrePointerObservable.hasSpecificMask(PointerEventTypes.POINTERDOUBLETAP)) {\r\n if (this._checkPrePointerObservable(null, evt, PointerEventTypes.POINTERDOUBLETAP)) {\r\n return;\r\n }\r\n }\r\n }\r\n if (this._checkPrePointerObservable(null, evt, PointerEventTypes.POINTERUP)) {\r\n return;\r\n }\r\n }\r\n }\r\n\r\n if (!this._pointerCaptures[evt.pointerId]) {\r\n return;\r\n }\r\n\r\n this._pointerCaptures[evt.pointerId] = false;\r\n if (!scene.cameraToUseForPointers && !scene.activeCamera) {\r\n return;\r\n }\r\n\r\n if (!scene.pointerUpPredicate) {\r\n scene.pointerUpPredicate = (mesh: AbstractMesh): boolean => {\r\n return mesh.isPickable && mesh.isVisible && mesh.isReady() && mesh.isEnabled() && (!scene.cameraToUseForPointers || (scene.cameraToUseForPointers.layerMask & mesh.layerMask) !== 0);\r\n };\r\n }\r\n\r\n // Meshes\r\n if (!this._meshPickProceed && ((AbstractActionManager && AbstractActionManager.HasTriggers) || scene.onPointerObservable.hasObservers())) {\r\n this._initActionManager(null, clickInfo);\r\n }\r\n if (!pickResult) {\r\n pickResult = this._currentPickResult;\r\n }\r\n\r\n this._processPointerUp(pickResult, evt, clickInfo);\r\n\r\n this._previousPickResult = this._currentPickResult;\r\n });\r\n };\r\n\r\n this._onKeyDown = (evt: KeyboardEvent) => {\r\n let type = KeyboardEventTypes.KEYDOWN;\r\n if (scene.onPreKeyboardObservable.hasObservers()) {\r\n let pi = new KeyboardInfoPre(type, evt);\r\n scene.onPreKeyboardObservable.notifyObservers(pi, type);\r\n if (pi.skipOnPointerObservable) {\r\n return;\r\n }\r\n }\r\n\r\n if (scene.onKeyboardObservable.hasObservers()) {\r\n let pi = new KeyboardInfo(type, evt);\r\n scene.onKeyboardObservable.notifyObservers(pi, type);\r\n }\r\n\r\n if (scene.actionManager) {\r\n scene.actionManager.processTrigger(14, ActionEvent.CreateNewFromScene(scene, evt));\r\n }\r\n };\r\n\r\n this._onKeyUp = (evt: KeyboardEvent) => {\r\n let type = KeyboardEventTypes.KEYUP;\r\n if (scene.onPreKeyboardObservable.hasObservers()) {\r\n let pi = new KeyboardInfoPre(type, evt);\r\n scene.onPreKeyboardObservable.notifyObservers(pi, type);\r\n if (pi.skipOnPointerObservable) {\r\n return;\r\n }\r\n }\r\n\r\n if (scene.onKeyboardObservable.hasObservers()) {\r\n let pi = new KeyboardInfo(type, evt);\r\n scene.onKeyboardObservable.notifyObservers(pi, type);\r\n }\r\n\r\n if (scene.actionManager) {\r\n scene.actionManager.processTrigger(15, ActionEvent.CreateNewFromScene(scene, evt));\r\n }\r\n };\r\n\r\n let attachedFunction = () => {\r\n if (!elementToAttachTo || this._keyboardIsAttached) {\r\n return;\r\n }\r\n elementToAttachTo.addEventListener(\"keydown\", this._onKeyDown, false);\r\n elementToAttachTo.addEventListener(\"keyup\", this._onKeyUp, false);\r\n this._keyboardIsAttached = true;\r\n };\r\n\r\n // Keyboard events\r\n this._onCanvasFocusObserver = engine.onCanvasFocusObservable.add(\r\n (() => {\r\n\r\n if (document.activeElement === elementToAttachTo) {\r\n attachedFunction();\r\n }\r\n return attachedFunction;\r\n })()\r\n );\r\n\r\n this._onCanvasBlurObserver = engine.onCanvasBlurObservable.add(() => {\r\n if (!elementToAttachTo) {\r\n return;\r\n }\r\n elementToAttachTo.removeEventListener(\"keydown\", this._onKeyDown);\r\n elementToAttachTo.removeEventListener(\"keyup\", this._onKeyUp);\r\n this._keyboardIsAttached = false;\r\n });\r\n\r\n attachedFunction();\r\n\r\n // Pointer events\r\n var eventPrefix = Tools.GetPointerPrefix(engine);\r\n\r\n if (attachMove) {\r\n elementToAttachTo.addEventListener(eventPrefix + \"move\", this._onPointerMove, false);\r\n\r\n // Wheel\r\n this._wheelEventName =\r\n \"onwheel\" in document.createElement(\"div\")\r\n ? \"wheel\" // Modern browsers support \"wheel\"\r\n : (document).onmousewheel !== undefined\r\n ? \"mousewheel\" // Webkit and IE support at least \"mousewheel\"\r\n : \"DOMMouseScroll\"; // let's assume that remaining browsers are older Firefox\r\n\r\n elementToAttachTo.addEventListener(this._wheelEventName, this._onPointerMove, false);\r\n }\r\n\r\n if (attachDown) {\r\n elementToAttachTo.addEventListener(eventPrefix + \"down\", this._onPointerDown, false);\r\n }\r\n\r\n if (attachUp) {\r\n let hostWindow = scene.getEngine().getHostWindow();\r\n if (hostWindow) {\r\n hostWindow.addEventListener(eventPrefix + \"up\", this._onPointerUp, false);\r\n }\r\n }\r\n this._alreadyAttached = true;\r\n }\r\n\r\n /**\r\n * Detaches all event handlers\r\n */\r\n public detachControl() {\r\n const engine = this._scene.getEngine();\r\n const eventPrefix = Tools.GetPointerPrefix(engine);\r\n\r\n if (!this._alreadyAttachedTo) {\r\n return;\r\n }\r\n\r\n if (!this._alreadyAttached) {\r\n return;\r\n }\r\n\r\n // Pointer\r\n this._alreadyAttachedTo.removeEventListener(eventPrefix + \"move\", this._onPointerMove);\r\n this._alreadyAttachedTo.removeEventListener(this._wheelEventName, this._onPointerMove);\r\n this._alreadyAttachedTo.removeEventListener(eventPrefix + \"down\", this._onPointerDown);\r\n window.removeEventListener(eventPrefix + \"up\", this._onPointerUp);\r\n\r\n // Blur / Focus\r\n if (this._onCanvasBlurObserver) {\r\n engine.onCanvasBlurObservable.remove(this._onCanvasBlurObserver);\r\n }\r\n\r\n if (this._onCanvasFocusObserver) {\r\n engine.onCanvasFocusObservable.remove(this._onCanvasFocusObserver);\r\n }\r\n\r\n // Keyboard\r\n this._alreadyAttachedTo.removeEventListener(\"keydown\", this._onKeyDown);\r\n this._alreadyAttachedTo.removeEventListener(\"keyup\", this._onKeyUp);\r\n\r\n // Cursor\r\n if (!this._scene.doNotHandleCursors) {\r\n this._alreadyAttachedTo.style.cursor = this._scene.defaultCursor;\r\n }\r\n\r\n this._alreadyAttached = false;\r\n }\r\n\r\n /**\r\n * Force the value of meshUnderPointer\r\n * @param mesh defines the mesh to use\r\n * @param pointerId optional pointer id when using more than one pointer. Defaults to 0\r\n */\r\n public setPointerOverMesh(mesh: Nullable, pointerId: number = 0): void {\r\n // Sanity check\r\n if (pointerId < 0) {\r\n pointerId = 0;\r\n }\r\n if (this._meshUnderPointerId[pointerId] === mesh) {\r\n return;\r\n }\r\n\r\n let underPointerMesh = this._meshUnderPointerId[pointerId];\r\n\r\n let actionManager: Nullable;\r\n if (underPointerMesh) {\r\n actionManager = underPointerMesh._getActionManagerForTrigger(10);\r\n if (actionManager) {\r\n actionManager.processTrigger(10, ActionEvent.CreateNew(underPointerMesh, undefined, { pointerId }));\r\n }\r\n }\r\n\r\n this._meshUnderPointerId[pointerId] = mesh;\r\n this._pointerOverMesh = mesh;\r\n\r\n underPointerMesh = this._meshUnderPointerId[pointerId];\r\n if (underPointerMesh) {\r\n actionManager = underPointerMesh._getActionManagerForTrigger(9);\r\n if (actionManager) {\r\n actionManager.processTrigger(9, ActionEvent.CreateNew(underPointerMesh, undefined, { pointerId }));\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Gets the mesh under the pointer\r\n * @returns a Mesh or null if no mesh is under the pointer\r\n */\r\n public getPointerOverMesh(): Nullable {\r\n return this._pointerOverMesh;\r\n }\r\n}\r\n","import { Nullable } from \"./types\";\r\nimport { Tools } from \"./Misc/tools\";\r\nimport { IAnimatable } from './Animations/animatable.interface';\r\nimport { PrecisionDate } from \"./Misc/precisionDate\";\r\nimport { Observable, Observer } from \"./Misc/observable\";\r\nimport { SmartArrayNoDuplicate, SmartArray, ISmartArrayLike } from \"./Misc/smartArray\";\r\nimport { StringDictionary } from \"./Misc/stringDictionary\";\r\nimport { Tags } from \"./Misc/tags\";\r\nimport { Vector2, Vector3, Matrix } from \"./Maths/math.vector\";\r\nimport { Geometry } from \"./Meshes/geometry\";\r\nimport { TransformNode } from \"./Meshes/transformNode\";\r\nimport { SubMesh } from \"./Meshes/subMesh\";\r\nimport { AbstractMesh } from \"./Meshes/abstractMesh\";\r\nimport { Mesh } from \"./Meshes/mesh\";\r\nimport { IParticleSystem } from \"./Particles/IParticleSystem\";\r\nimport { Bone } from \"./Bones/bone\";\r\nimport { Skeleton } from \"./Bones/skeleton\";\r\nimport { MorphTargetManager } from \"./Morph/morphTargetManager\";\r\nimport { Camera } from \"./Cameras/camera\";\r\nimport { AbstractScene } from \"./abstractScene\";\r\nimport { BaseTexture } from \"./Materials/Textures/baseTexture\";\r\nimport { Texture } from \"./Materials/Textures/texture\";\r\nimport { RenderTargetTexture } from \"./Materials/Textures/renderTargetTexture\";\r\nimport { Material } from \"./Materials/material\";\r\nimport { ImageProcessingConfiguration } from \"./Materials/imageProcessingConfiguration\";\r\nimport { Effect } from \"./Materials/effect\";\r\nimport { UniformBuffer } from \"./Materials/uniformBuffer\";\r\nimport { MultiMaterial } from \"./Materials/multiMaterial\";\r\nimport { Light } from \"./Lights/light\";\r\nimport { PickingInfo } from \"./Collisions/pickingInfo\";\r\nimport { ICollisionCoordinator } from \"./Collisions/collisionCoordinator\";\r\nimport { PointerEventTypes, PointerInfoPre, PointerInfo } from \"./Events/pointerEvents\";\r\nimport { KeyboardInfoPre, KeyboardInfo } from \"./Events/keyboardEvents\";\r\nimport { ActionEvent } from \"./Actions/actionEvent\";\r\nimport { PostProcessManager } from \"./PostProcesses/postProcessManager\";\r\nimport { IOfflineProvider } from \"./Offline/IOfflineProvider\";\r\nimport { RenderingGroupInfo, RenderingManager, IRenderingManagerAutoClearSetup } from \"./Rendering/renderingManager\";\r\nimport { ISceneComponent, ISceneSerializableComponent, Stage, SimpleStageAction, RenderTargetsStageAction, RenderTargetStageAction, MeshStageAction, EvaluateSubMeshStageAction, PreActiveMeshStageAction, CameraStageAction, RenderingGroupStageAction, RenderingMeshStageAction, PointerMoveStageAction, PointerUpDownStageAction, CameraStageFrameBufferAction } from \"./sceneComponent\";\r\nimport { Engine } from \"./Engines/engine\";\r\nimport { Node } from \"./node\";\r\nimport { MorphTarget } from \"./Morph/morphTarget\";\r\n\r\nimport { DomManagement } from \"./Misc/domManagement\";\r\nimport { Logger } from \"./Misc/logger\";\r\nimport { EngineStore } from \"./Engines/engineStore\";\r\nimport { AbstractActionManager } from './Actions/abstractActionManager';\r\nimport { _DevTools } from './Misc/devTools';\r\nimport { WebRequest } from './Misc/webRequest';\r\nimport { InputManager } from './Inputs/scene.inputManager';\r\nimport { PerfCounter } from './Misc/perfCounter';\r\nimport { IFileRequest } from './Misc/fileRequest';\r\nimport { Color4, Color3 } from './Maths/math.color';\r\nimport { Plane } from './Maths/math.plane';\r\nimport { Frustum } from './Maths/math.frustum';\r\nimport { UniqueIdGenerator } from './Misc/uniqueIdGenerator';\r\nimport { FileTools, LoadFileError, RequestFileError, ReadFileError } from './Misc/fileTools';\r\nimport { IClipPlanesHolder } from './Misc/interfaces/iClipPlanesHolder';\r\n\r\ndeclare type Ray = import(\"./Culling/ray\").Ray;\r\ndeclare type TrianglePickingPredicate = import(\"./Culling/ray\").TrianglePickingPredicate;\r\ndeclare type Animation = import(\"./Animations/animation\").Animation;\r\ndeclare type Animatable = import(\"./Animations/animatable\").Animatable;\r\ndeclare type AnimationGroup = import(\"./Animations/animationGroup\").AnimationGroup;\r\ndeclare type AnimationPropertiesOverride = import(\"./Animations/animationPropertiesOverride\").AnimationPropertiesOverride;\r\ndeclare type Collider = import(\"./Collisions/collider\").Collider;\r\ndeclare type PostProcess = import(\"./PostProcesses/postProcess\").PostProcess;\r\n\r\n/**\r\n * Define an interface for all classes that will hold resources\r\n */\r\nexport interface IDisposable {\r\n /**\r\n * Releases all held resources\r\n */\r\n dispose(): void;\r\n}\r\n\r\n/** Interface defining initialization parameters for Scene class */\r\nexport interface SceneOptions {\r\n /**\r\n * Defines that scene should keep up-to-date a map of geometry to enable fast look-up by uniqueId\r\n * It will improve performance when the number of geometries becomes important.\r\n */\r\n useGeometryUniqueIdsMap?: boolean;\r\n\r\n /**\r\n * Defines that each material of the scene should keep up-to-date a map of referencing meshes for fast diposing\r\n * It will improve performance when the number of mesh becomes important, but might consume a bit more memory\r\n */\r\n useMaterialMeshMap?: boolean;\r\n\r\n /**\r\n * Defines that each mesh of the scene should keep up-to-date a map of referencing cloned meshes for fast diposing\r\n * It will improve performance when the number of mesh becomes important, but might consume a bit more memory\r\n */\r\n useClonedMeshMap?: boolean;\r\n\r\n /** Defines if the creation of the scene should impact the engine (Eg. UtilityLayer's scene) */\r\n virtual?: boolean;\r\n}\r\n\r\n/**\r\n * Represents a scene to be rendered by the engine.\r\n * @see https://doc.babylonjs.com/features/scene\r\n */\r\nexport class Scene extends AbstractScene implements IAnimatable, IClipPlanesHolder {\r\n /** The fog is deactivated */\r\n public static readonly FOGMODE_NONE = 0;\r\n /** The fog density is following an exponential function */\r\n public static readonly FOGMODE_EXP = 1;\r\n /** The fog density is following an exponential function faster than FOGMODE_EXP */\r\n public static readonly FOGMODE_EXP2 = 2;\r\n /** The fog density is following a linear function. */\r\n public static readonly FOGMODE_LINEAR = 3;\r\n\r\n /**\r\n * Gets or sets the minimum deltatime when deterministic lock step is enabled\r\n * @see https://doc.babylonjs.com/babylon101/animations#deterministic-lockstep\r\n */\r\n public static MinDeltaTime = 1.0;\r\n /**\r\n * Gets or sets the maximum deltatime when deterministic lock step is enabled\r\n * @see https://doc.babylonjs.com/babylon101/animations#deterministic-lockstep\r\n */\r\n public static MaxDeltaTime = 1000.0;\r\n\r\n /**\r\n * Factory used to create the default material.\r\n * @param name The name of the material to create\r\n * @param scene The scene to create the material for\r\n * @returns The default material\r\n */\r\n public static DefaultMaterialFactory(scene: Scene): Material {\r\n throw _DevTools.WarnImport(\"StandardMaterial\");\r\n }\r\n\r\n /**\r\n * Factory used to create the a collision coordinator.\r\n * @returns The collision coordinator\r\n */\r\n public static CollisionCoordinatorFactory(): ICollisionCoordinator {\r\n throw _DevTools.WarnImport(\"DefaultCollisionCoordinator\");\r\n }\r\n\r\n // Members\r\n\r\n /** @hidden */\r\n public _inputManager = new InputManager(this);\r\n\r\n /** Define this parameter if you are using multiple cameras and you want to specify which one should be used for pointer position */\r\n public cameraToUseForPointers: Nullable = null;\r\n\r\n /** @hidden */\r\n public readonly _isScene = true;\r\n\r\n /** @hidden */\r\n public _blockEntityCollection = false;\r\n\r\n /**\r\n * Gets or sets a boolean that indicates if the scene must clear the render buffer before rendering a frame\r\n */\r\n public autoClear = true;\r\n /**\r\n * Gets or sets a boolean that indicates if the scene must clear the depth and stencil buffers before rendering a frame\r\n */\r\n public autoClearDepthAndStencil = true;\r\n /**\r\n * Defines the color used to clear the render buffer (Default is (0.2, 0.2, 0.3, 1.0))\r\n */\r\n public clearColor: Color4 = new Color4(0.2, 0.2, 0.3, 1.0);\r\n /**\r\n * Defines the color used to simulate the ambient color (Default is (0, 0, 0))\r\n */\r\n public ambientColor = new Color3(0, 0, 0);\r\n\r\n /**\r\n * This is use to store the default BRDF lookup for PBR materials in your scene.\r\n * It should only be one of the following (if not the default embedded one):\r\n * * For uncorrelated BRDF (pbr.brdf.useEnergyConservation = false and pbr.brdf.useSmithVisibilityHeightCorrelated = false) : https://assets.babylonjs.com/environments/uncorrelatedBRDF.dds\r\n * * For correlated BRDF (pbr.brdf.useEnergyConservation = false and pbr.brdf.useSmithVisibilityHeightCorrelated = true) : https://assets.babylonjs.com/environments/correlatedBRDF.dds\r\n * * For correlated multi scattering BRDF (pbr.brdf.useEnergyConservation = true and pbr.brdf.useSmithVisibilityHeightCorrelated = true) : https://assets.babylonjs.com/environments/correlatedMSBRDF.dds\r\n * The material properties need to be setup according to the type of texture in use.\r\n */\r\n public environmentBRDFTexture: BaseTexture;\r\n\r\n /**\r\n * Texture used in all pbr material as the reflection texture.\r\n * As in the majority of the scene they are the same (exception for multi room and so on),\r\n * this is easier to reference from here than from all the materials.\r\n */\r\n public get environmentTexture(): Nullable {\r\n return this._environmentTexture;\r\n }\r\n /**\r\n * Texture used in all pbr material as the reflection texture.\r\n * As in the majority of the scene they are the same (exception for multi room and so on),\r\n * this is easier to set here than in all the materials.\r\n */\r\n public set environmentTexture(value: Nullable) {\r\n if (this._environmentTexture === value) {\r\n return;\r\n }\r\n\r\n this._environmentTexture = value;\r\n this.markAllMaterialsAsDirty(1);\r\n }\r\n\r\n /** @hidden */\r\n protected _environmentIntensity: number = 1;\r\n /**\r\n * Intensity of the environment in all pbr material.\r\n * This dims or reinforces the IBL lighting overall (reflection and diffuse).\r\n * As in the majority of the scene they are the same (exception for multi room and so on),\r\n * this is easier to reference from here than from all the materials.\r\n */\r\n public get environmentIntensity(): number {\r\n return this._environmentIntensity;\r\n }\r\n /**\r\n * Intensity of the environment in all pbr material.\r\n * This dims or reinforces the IBL lighting overall (reflection and diffuse).\r\n * As in the majority of the scene they are the same (exception for multi room and so on),\r\n * this is easier to set here than in all the materials.\r\n */\r\n public set environmentIntensity(value: number) {\r\n if (this._environmentIntensity === value) {\r\n return;\r\n }\r\n\r\n this._environmentIntensity = value;\r\n this.markAllMaterialsAsDirty(1);\r\n }\r\n\r\n /** @hidden */\r\n protected _imageProcessingConfiguration: ImageProcessingConfiguration;\r\n /**\r\n * Default image processing configuration used either in the rendering\r\n * Forward main pass or through the imageProcessingPostProcess if present.\r\n * As in the majority of the scene they are the same (exception for multi camera),\r\n * this is easier to reference from here than from all the materials and post process.\r\n *\r\n * No setter as we it is a shared configuration, you can set the values instead.\r\n */\r\n public get imageProcessingConfiguration(): ImageProcessingConfiguration {\r\n return this._imageProcessingConfiguration;\r\n }\r\n\r\n private _forceWireframe = false;\r\n /**\r\n * Gets or sets a boolean indicating if all rendering must be done in wireframe\r\n */\r\n public set forceWireframe(value: boolean) {\r\n if (this._forceWireframe === value) {\r\n return;\r\n }\r\n this._forceWireframe = value;\r\n this.markAllMaterialsAsDirty(16);\r\n }\r\n public get forceWireframe(): boolean {\r\n return this._forceWireframe;\r\n }\r\n\r\n private _skipFrustumClipping = false;\r\n /**\r\n * Gets or sets a boolean indicating if we should skip the frustum clipping part of the active meshes selection\r\n */\r\n public set skipFrustumClipping(value: boolean) {\r\n if (this._skipFrustumClipping === value) {\r\n return;\r\n }\r\n this._skipFrustumClipping = value;\r\n }\r\n public get skipFrustumClipping(): boolean {\r\n return this._skipFrustumClipping;\r\n }\r\n\r\n private _forcePointsCloud = false;\r\n /**\r\n * Gets or sets a boolean indicating if all rendering must be done in point cloud\r\n */\r\n public set forcePointsCloud(value: boolean) {\r\n if (this._forcePointsCloud === value) {\r\n return;\r\n }\r\n this._forcePointsCloud = value;\r\n this.markAllMaterialsAsDirty(16);\r\n }\r\n public get forcePointsCloud(): boolean {\r\n return this._forcePointsCloud;\r\n }\r\n\r\n /**\r\n * Gets or sets the active clipplane 1\r\n */\r\n public clipPlane: Nullable;\r\n\r\n /**\r\n * Gets or sets the active clipplane 2\r\n */\r\n public clipPlane2: Nullable;\r\n\r\n /**\r\n * Gets or sets the active clipplane 3\r\n */\r\n public clipPlane3: Nullable;\r\n\r\n /**\r\n * Gets or sets the active clipplane 4\r\n */\r\n public clipPlane4: Nullable;\r\n\r\n /**\r\n * Gets or sets the active clipplane 5\r\n */\r\n public clipPlane5: Nullable;\r\n\r\n /**\r\n * Gets or sets the active clipplane 6\r\n */\r\n public clipPlane6: Nullable;\r\n\r\n /**\r\n * Gets or sets a boolean indicating if animations are enabled\r\n */\r\n public animationsEnabled = true;\r\n\r\n private _animationPropertiesOverride: Nullable = null;\r\n\r\n /**\r\n * Gets or sets the animation properties override\r\n */\r\n public get animationPropertiesOverride(): Nullable {\r\n return this._animationPropertiesOverride;\r\n }\r\n\r\n public set animationPropertiesOverride(value: Nullable) {\r\n this._animationPropertiesOverride = value;\r\n }\r\n\r\n /**\r\n * Gets or sets a boolean indicating if a constant deltatime has to be used\r\n * This is mostly useful for testing purposes when you do not want the animations to scale with the framerate\r\n */\r\n public useConstantAnimationDeltaTime = false;\r\n /**\r\n * Gets or sets a boolean indicating if the scene must keep the meshUnderPointer property updated\r\n * Please note that it requires to run a ray cast through the scene on every frame\r\n */\r\n public constantlyUpdateMeshUnderPointer = false;\r\n\r\n /**\r\n * Defines the HTML cursor to use when hovering over interactive elements\r\n */\r\n public hoverCursor = \"pointer\";\r\n /**\r\n * Defines the HTML default cursor to use (empty by default)\r\n */\r\n public defaultCursor: string = \"\";\r\n /**\r\n * Defines whether cursors are handled by the scene.\r\n */\r\n public doNotHandleCursors = false;\r\n /**\r\n * This is used to call preventDefault() on pointer down\r\n * in order to block unwanted artifacts like system double clicks\r\n */\r\n public preventDefaultOnPointerDown = true;\r\n\r\n /**\r\n * This is used to call preventDefault() on pointer up\r\n * in order to block unwanted artifacts like system double clicks\r\n */\r\n public preventDefaultOnPointerUp = true;\r\n\r\n // Metadata\r\n /**\r\n * Gets or sets user defined metadata\r\n */\r\n public metadata: any = null;\r\n\r\n /**\r\n * For internal use only. Please do not use.\r\n */\r\n public reservedDataStore: any = null;\r\n\r\n /**\r\n * Gets the name of the plugin used to load this scene (null by default)\r\n */\r\n public loadingPluginName: string;\r\n\r\n /**\r\n * Use this array to add regular expressions used to disable offline support for specific urls\r\n */\r\n public disableOfflineSupportExceptionRules = new Array();\r\n\r\n /**\r\n * An event triggered when the scene is disposed.\r\n */\r\n public onDisposeObservable = new Observable();\r\n\r\n private _onDisposeObserver: Nullable> = null;\r\n /** Sets a function to be executed when this scene is disposed. */\r\n public set onDispose(callback: () => void) {\r\n if (this._onDisposeObserver) {\r\n this.onDisposeObservable.remove(this._onDisposeObserver);\r\n }\r\n this._onDisposeObserver = this.onDisposeObservable.add(callback);\r\n }\r\n\r\n /**\r\n * An event triggered before rendering the scene (right after animations and physics)\r\n */\r\n public onBeforeRenderObservable = new Observable();\r\n\r\n private _onBeforeRenderObserver: Nullable> = null;\r\n /** Sets a function to be executed before rendering this scene */\r\n public set beforeRender(callback: Nullable<() => void>) {\r\n if (this._onBeforeRenderObserver) {\r\n this.onBeforeRenderObservable.remove(this._onBeforeRenderObserver);\r\n }\r\n if (callback) {\r\n this._onBeforeRenderObserver = this.onBeforeRenderObservable.add(callback);\r\n }\r\n }\r\n\r\n /**\r\n * An event triggered after rendering the scene\r\n */\r\n public onAfterRenderObservable = new Observable();\r\n\r\n /**\r\n * An event triggered after rendering the scene for an active camera (When scene.render is called this will be called after each camera)\r\n */\r\n public onAfterRenderCameraObservable = new Observable();\r\n\r\n private _onAfterRenderObserver: Nullable> = null;\r\n /** Sets a function to be executed after rendering this scene */\r\n public set afterRender(callback: Nullable<() => void>) {\r\n if (this._onAfterRenderObserver) {\r\n this.onAfterRenderObservable.remove(this._onAfterRenderObserver);\r\n }\r\n\r\n if (callback) {\r\n this._onAfterRenderObserver = this.onAfterRenderObservable.add(callback);\r\n }\r\n }\r\n\r\n /**\r\n * An event triggered before animating the scene\r\n */\r\n public onBeforeAnimationsObservable = new Observable();\r\n\r\n /**\r\n * An event triggered after animations processing\r\n */\r\n public onAfterAnimationsObservable = new Observable();\r\n\r\n /**\r\n * An event triggered before draw calls are ready to be sent\r\n */\r\n public onBeforeDrawPhaseObservable = new Observable();\r\n\r\n /**\r\n * An event triggered after draw calls have been sent\r\n */\r\n public onAfterDrawPhaseObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when the scene is ready\r\n */\r\n public onReadyObservable = new Observable();\r\n\r\n /**\r\n * An event triggered before rendering a camera\r\n */\r\n public onBeforeCameraRenderObservable = new Observable();\r\n\r\n private _onBeforeCameraRenderObserver: Nullable> = null;\r\n /** Sets a function to be executed before rendering a camera*/\r\n public set beforeCameraRender(callback: () => void) {\r\n if (this._onBeforeCameraRenderObserver) {\r\n this.onBeforeCameraRenderObservable.remove(this._onBeforeCameraRenderObserver);\r\n }\r\n\r\n this._onBeforeCameraRenderObserver = this.onBeforeCameraRenderObservable.add(callback);\r\n }\r\n\r\n /**\r\n * An event triggered after rendering a camera\r\n */\r\n public onAfterCameraRenderObservable = new Observable();\r\n\r\n private _onAfterCameraRenderObserver: Nullable> = null;\r\n /** Sets a function to be executed after rendering a camera*/\r\n public set afterCameraRender(callback: () => void) {\r\n if (this._onAfterCameraRenderObserver) {\r\n this.onAfterCameraRenderObservable.remove(this._onAfterCameraRenderObserver);\r\n }\r\n this._onAfterCameraRenderObserver = this.onAfterCameraRenderObservable.add(callback);\r\n }\r\n\r\n /**\r\n * An event triggered when active meshes evaluation is about to start\r\n */\r\n public onBeforeActiveMeshesEvaluationObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when active meshes evaluation is done\r\n */\r\n public onAfterActiveMeshesEvaluationObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when particles rendering is about to start\r\n * Note: This event can be trigger more than once per frame (because particles can be rendered by render target textures as well)\r\n */\r\n public onBeforeParticlesRenderingObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when particles rendering is done\r\n * Note: This event can be trigger more than once per frame (because particles can be rendered by render target textures as well)\r\n */\r\n public onAfterParticlesRenderingObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when SceneLoader.Append or SceneLoader.Load or SceneLoader.ImportMesh were successfully executed\r\n */\r\n public onDataLoadedObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when a camera is created\r\n */\r\n public onNewCameraAddedObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when a camera is removed\r\n */\r\n public onCameraRemovedObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when a light is created\r\n */\r\n public onNewLightAddedObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when a light is removed\r\n */\r\n public onLightRemovedObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when a geometry is created\r\n */\r\n public onNewGeometryAddedObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when a geometry is removed\r\n */\r\n public onGeometryRemovedObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when a transform node is created\r\n */\r\n public onNewTransformNodeAddedObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when a transform node is removed\r\n */\r\n public onTransformNodeRemovedObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when a mesh is created\r\n */\r\n public onNewMeshAddedObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when a mesh is removed\r\n */\r\n public onMeshRemovedObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when a skeleton is created\r\n */\r\n public onNewSkeletonAddedObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when a skeleton is removed\r\n */\r\n public onSkeletonRemovedObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when a material is created\r\n */\r\n public onNewMaterialAddedObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when a multi material is created\r\n */\r\n public onNewMultiMaterialAddedObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when a material is removed\r\n */\r\n public onMaterialRemovedObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when a multi material is removed\r\n */\r\n public onMultiMaterialRemovedObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when a texture is created\r\n */\r\n public onNewTextureAddedObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when a texture is removed\r\n */\r\n public onTextureRemovedObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when render targets are about to be rendered\r\n * Can happen multiple times per frame.\r\n */\r\n public onBeforeRenderTargetsRenderObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when render targets were rendered.\r\n * Can happen multiple times per frame.\r\n */\r\n public onAfterRenderTargetsRenderObservable = new Observable();\r\n\r\n /**\r\n * An event triggered before calculating deterministic simulation step\r\n */\r\n public onBeforeStepObservable = new Observable();\r\n\r\n /**\r\n * An event triggered after calculating deterministic simulation step\r\n */\r\n public onAfterStepObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when the activeCamera property is updated\r\n */\r\n public onActiveCameraChanged = new Observable();\r\n\r\n /**\r\n * This Observable will be triggered before rendering each renderingGroup of each rendered camera.\r\n * The RenderinGroupInfo class contains all the information about the context in which the observable is called\r\n * If you wish to register an Observer only for a given set of renderingGroup, use the mask with a combination of the renderingGroup index elevated to the power of two (1 for renderingGroup 0, 2 for renderingrOup1, 4 for 2 and 8 for 3)\r\n */\r\n public onBeforeRenderingGroupObservable = new Observable();\r\n\r\n /**\r\n * This Observable will be triggered after rendering each renderingGroup of each rendered camera.\r\n * The RenderinGroupInfo class contains all the information about the context in which the observable is called\r\n * If you wish to register an Observer only for a given set of renderingGroup, use the mask with a combination of the renderingGroup index elevated to the power of two (1 for renderingGroup 0, 2 for renderingrOup1, 4 for 2 and 8 for 3)\r\n */\r\n public onAfterRenderingGroupObservable = new Observable();\r\n\r\n /**\r\n * This Observable will when a mesh has been imported into the scene.\r\n */\r\n public onMeshImportedObservable = new Observable();\r\n\r\n /**\r\n * This Observable will when an animation file has been imported into the scene.\r\n */\r\n public onAnimationFileImportedObservable = new Observable();\r\n\r\n /**\r\n * Gets or sets a user defined funtion to select LOD from a mesh and a camera.\r\n * By default this function is undefined and Babylon.js will select LOD based on distance to camera\r\n */\r\n public customLODSelector: (mesh: AbstractMesh, camera: Camera) => Nullable;\r\n\r\n // Animations\r\n\r\n /** @hidden */\r\n public _registeredForLateAnimationBindings = new SmartArrayNoDuplicate(256);\r\n\r\n // Pointers\r\n /**\r\n * Gets or sets a predicate used to select candidate meshes for a pointer down event\r\n */\r\n public pointerDownPredicate: (Mesh: AbstractMesh) => boolean;\r\n /**\r\n * Gets or sets a predicate used to select candidate meshes for a pointer up event\r\n */\r\n public pointerUpPredicate: (Mesh: AbstractMesh) => boolean;\r\n /**\r\n * Gets or sets a predicate used to select candidate meshes for a pointer move event\r\n */\r\n public pointerMovePredicate: (Mesh: AbstractMesh) => boolean;\r\n\r\n /** Callback called when a pointer move is detected */\r\n public onPointerMove: (evt: PointerEvent, pickInfo: PickingInfo, type: PointerEventTypes) => void;\r\n /** Callback called when a pointer down is detected */\r\n public onPointerDown: (evt: PointerEvent, pickInfo: PickingInfo, type: PointerEventTypes) => void;\r\n /** Callback called when a pointer up is detected */\r\n public onPointerUp: (evt: PointerEvent, pickInfo: Nullable, type: PointerEventTypes) => void;\r\n /** Callback called when a pointer pick is detected */\r\n public onPointerPick: (evt: PointerEvent, pickInfo: PickingInfo) => void;\r\n\r\n /**\r\n * This observable event is triggered when any ponter event is triggered. It is registered during Scene.attachControl() and it is called BEFORE the 3D engine process anything (mesh/sprite picking for instance).\r\n * You have the possibility to skip the process and the call to onPointerObservable by setting PointerInfoPre.skipOnPointerObservable to true\r\n */\r\n public onPrePointerObservable = new Observable();\r\n\r\n /**\r\n * Observable event triggered each time an input event is received from the rendering canvas\r\n */\r\n public onPointerObservable = new Observable();\r\n\r\n /**\r\n * Gets the pointer coordinates without any translation (ie. straight out of the pointer event)\r\n */\r\n public get unTranslatedPointer(): Vector2 {\r\n return this._inputManager.unTranslatedPointer;\r\n }\r\n\r\n /**\r\n * Gets or sets the distance in pixel that you have to move to prevent some events. Default is 10 pixels\r\n */\r\n public static get DragMovementThreshold() {\r\n return InputManager.DragMovementThreshold;\r\n }\r\n\r\n public static set DragMovementThreshold(value: number) {\r\n InputManager.DragMovementThreshold = value;\r\n }\r\n\r\n /**\r\n * Time in milliseconds to wait to raise long press events if button is still pressed. Default is 500 ms\r\n */\r\n public static get LongPressDelay() {\r\n return InputManager.LongPressDelay;\r\n }\r\n\r\n public static set LongPressDelay(value: number) {\r\n InputManager.LongPressDelay = value;\r\n }\r\n\r\n /**\r\n * Time in milliseconds to wait to raise long press events if button is still pressed. Default is 300 ms\r\n */\r\n public static get DoubleClickDelay() {\r\n return InputManager.DoubleClickDelay;\r\n }\r\n\r\n public static set DoubleClickDelay(value: number) {\r\n InputManager.DoubleClickDelay = value;\r\n }\r\n\r\n /** If you need to check double click without raising a single click at first click, enable this flag */\r\n public static get ExclusiveDoubleClickMode() {\r\n return InputManager.ExclusiveDoubleClickMode;\r\n }\r\n\r\n public static set ExclusiveDoubleClickMode(value: boolean) {\r\n InputManager.ExclusiveDoubleClickMode = value;\r\n }\r\n\r\n // Mirror\r\n /** @hidden */\r\n public _mirroredCameraPosition: Nullable;\r\n\r\n // Keyboard\r\n\r\n /**\r\n * This observable event is triggered when any keyboard event si raised and registered during Scene.attachControl()\r\n * You have the possibility to skip the process and the call to onKeyboardObservable by setting KeyboardInfoPre.skipOnPointerObservable to true\r\n */\r\n public onPreKeyboardObservable = new Observable();\r\n\r\n /**\r\n * Observable event triggered each time an keyboard event is received from the hosting window\r\n */\r\n public onKeyboardObservable = new Observable();\r\n\r\n // Coordinates system\r\n\r\n private _useRightHandedSystem = false;\r\n /**\r\n * Gets or sets a boolean indicating if the scene must use right-handed coordinates system\r\n */\r\n public set useRightHandedSystem(value: boolean) {\r\n if (this._useRightHandedSystem === value) {\r\n return;\r\n }\r\n this._useRightHandedSystem = value;\r\n this.markAllMaterialsAsDirty(16);\r\n }\r\n public get useRightHandedSystem(): boolean {\r\n return this._useRightHandedSystem;\r\n }\r\n\r\n // Deterministic lockstep\r\n private _timeAccumulator: number = 0;\r\n private _currentStepId: number = 0;\r\n private _currentInternalStep: number = 0;\r\n\r\n /**\r\n * Sets the step Id used by deterministic lock step\r\n * @see https://doc.babylonjs.com/babylon101/animations#deterministic-lockstep\r\n * @param newStepId defines the step Id\r\n */\r\n public setStepId(newStepId: number): void {\r\n this._currentStepId = newStepId;\r\n }\r\n\r\n /**\r\n * Gets the step Id used by deterministic lock step\r\n * @see https://doc.babylonjs.com/babylon101/animations#deterministic-lockstep\r\n * @returns the step Id\r\n */\r\n public getStepId(): number {\r\n return this._currentStepId;\r\n }\r\n\r\n /**\r\n * Gets the internal step used by deterministic lock step\r\n * @see https://doc.babylonjs.com/babylon101/animations#deterministic-lockstep\r\n * @returns the internal step\r\n */\r\n public getInternalStep(): number {\r\n return this._currentInternalStep;\r\n }\r\n\r\n // Fog\r\n\r\n private _fogEnabled = true;\r\n /**\r\n * Gets or sets a boolean indicating if fog is enabled on this scene\r\n * @see https://doc.babylonjs.com/babylon101/environment#fog\r\n * (Default is true)\r\n */\r\n public set fogEnabled(value: boolean) {\r\n if (this._fogEnabled === value) {\r\n return;\r\n }\r\n this._fogEnabled = value;\r\n this.markAllMaterialsAsDirty(16);\r\n }\r\n public get fogEnabled(): boolean {\r\n return this._fogEnabled;\r\n }\r\n\r\n private _fogMode = Scene.FOGMODE_NONE;\r\n /**\r\n * Gets or sets the fog mode to use\r\n * @see https://doc.babylonjs.com/babylon101/environment#fog\r\n * | mode | value |\r\n * | --- | --- |\r\n * | FOGMODE_NONE | 0 |\r\n * | FOGMODE_EXP | 1 |\r\n * | FOGMODE_EXP2 | 2 |\r\n * | FOGMODE_LINEAR | 3 |\r\n */\r\n public set fogMode(value: number) {\r\n if (this._fogMode === value) {\r\n return;\r\n }\r\n this._fogMode = value;\r\n this.markAllMaterialsAsDirty(16);\r\n }\r\n public get fogMode(): number {\r\n return this._fogMode;\r\n }\r\n\r\n /**\r\n * Gets or sets the fog color to use\r\n * @see https://doc.babylonjs.com/babylon101/environment#fog\r\n * (Default is Color3(0.2, 0.2, 0.3))\r\n */\r\n public fogColor = new Color3(0.2, 0.2, 0.3);\r\n /**\r\n * Gets or sets the fog density to use\r\n * @see https://doc.babylonjs.com/babylon101/environment#fog\r\n * (Default is 0.1)\r\n */\r\n public fogDensity = 0.1;\r\n /**\r\n * Gets or sets the fog start distance to use\r\n * @see https://doc.babylonjs.com/babylon101/environment#fog\r\n * (Default is 0)\r\n */\r\n public fogStart = 0;\r\n /**\r\n * Gets or sets the fog end distance to use\r\n * @see https://doc.babylonjs.com/babylon101/environment#fog\r\n * (Default is 1000)\r\n */\r\n public fogEnd = 1000.0;\r\n\r\n /**\r\n * Flag indicating that the frame buffer binding is handled by another component\r\n */\r\n public prePass: boolean = false;\r\n\r\n // Lights\r\n private _shadowsEnabled = true;\r\n /**\r\n * Gets or sets a boolean indicating if shadows are enabled on this scene\r\n */\r\n public set shadowsEnabled(value: boolean) {\r\n if (this._shadowsEnabled === value) {\r\n return;\r\n }\r\n this._shadowsEnabled = value;\r\n this.markAllMaterialsAsDirty(2);\r\n }\r\n public get shadowsEnabled(): boolean {\r\n return this._shadowsEnabled;\r\n }\r\n\r\n private _lightsEnabled = true;\r\n /**\r\n * Gets or sets a boolean indicating if lights are enabled on this scene\r\n */\r\n public set lightsEnabled(value: boolean) {\r\n if (this._lightsEnabled === value) {\r\n return;\r\n }\r\n this._lightsEnabled = value;\r\n this.markAllMaterialsAsDirty(2);\r\n }\r\n\r\n public get lightsEnabled(): boolean {\r\n return this._lightsEnabled;\r\n }\r\n\r\n /** All of the active cameras added to this scene. */\r\n public activeCameras: Nullable = new Array();\r\n\r\n /** @hidden */\r\n public _activeCamera: Nullable;\r\n /** Gets or sets the current active camera */\r\n public get activeCamera(): Nullable {\r\n return this._activeCamera;\r\n }\r\n\r\n public set activeCamera(value: Nullable) {\r\n if (value === this._activeCamera) {\r\n return;\r\n }\r\n\r\n this._activeCamera = value;\r\n this.onActiveCameraChanged.notifyObservers(this);\r\n }\r\n\r\n private _defaultMaterial: Material;\r\n\r\n /** The default material used on meshes when no material is affected */\r\n public get defaultMaterial(): Material {\r\n if (!this._defaultMaterial) {\r\n this._defaultMaterial = Scene.DefaultMaterialFactory(this);\r\n }\r\n\r\n return this._defaultMaterial;\r\n }\r\n\r\n /** The default material used on meshes when no material is affected */\r\n public set defaultMaterial(value: Material) {\r\n this._defaultMaterial = value;\r\n }\r\n\r\n // Textures\r\n private _texturesEnabled = true;\r\n /**\r\n * Gets or sets a boolean indicating if textures are enabled on this scene\r\n */\r\n public set texturesEnabled(value: boolean) {\r\n if (this._texturesEnabled === value) {\r\n return;\r\n }\r\n this._texturesEnabled = value;\r\n this.markAllMaterialsAsDirty(1);\r\n }\r\n\r\n public get texturesEnabled(): boolean {\r\n return this._texturesEnabled;\r\n }\r\n\r\n // Physics\r\n /**\r\n * Gets or sets a boolean indicating if physic engines are enabled on this scene\r\n */\r\n public physicsEnabled = true;\r\n\r\n // Particles\r\n /**\r\n * Gets or sets a boolean indicating if particles are enabled on this scene\r\n */\r\n public particlesEnabled = true;\r\n\r\n // Sprites\r\n /**\r\n * Gets or sets a boolean indicating if sprites are enabled on this scene\r\n */\r\n public spritesEnabled = true;\r\n\r\n // Skeletons\r\n private _skeletonsEnabled = true;\r\n /**\r\n * Gets or sets a boolean indicating if skeletons are enabled on this scene\r\n */\r\n public set skeletonsEnabled(value: boolean) {\r\n if (this._skeletonsEnabled === value) {\r\n return;\r\n }\r\n this._skeletonsEnabled = value;\r\n this.markAllMaterialsAsDirty(8);\r\n }\r\n\r\n public get skeletonsEnabled(): boolean {\r\n return this._skeletonsEnabled;\r\n }\r\n\r\n // Lens flares\r\n /**\r\n * Gets or sets a boolean indicating if lens flares are enabled on this scene\r\n */\r\n public lensFlaresEnabled = true;\r\n\r\n // Collisions\r\n /**\r\n * Gets or sets a boolean indicating if collisions are enabled on this scene\r\n * @see https://doc.babylonjs.com/babylon101/cameras,_mesh_collisions_and_gravity\r\n */\r\n public collisionsEnabled = true;\r\n\r\n private _collisionCoordinator: ICollisionCoordinator;\r\n\r\n /** @hidden */\r\n public get collisionCoordinator(): ICollisionCoordinator {\r\n if (!this._collisionCoordinator) {\r\n this._collisionCoordinator = Scene.CollisionCoordinatorFactory();\r\n this._collisionCoordinator.init(this);\r\n }\r\n\r\n return this._collisionCoordinator;\r\n }\r\n\r\n /**\r\n * Defines the gravity applied to this scene (used only for collisions)\r\n * @see https://doc.babylonjs.com/babylon101/cameras,_mesh_collisions_and_gravity\r\n */\r\n public gravity = new Vector3(0, -9.807, 0);\r\n\r\n // Postprocesses\r\n /**\r\n * Gets or sets a boolean indicating if postprocesses are enabled on this scene\r\n */\r\n public postProcessesEnabled = true;\r\n /**\r\n * Gets the current postprocess manager\r\n */\r\n public postProcessManager: PostProcessManager;\r\n\r\n // Customs render targets\r\n /**\r\n * Gets or sets a boolean indicating if render targets are enabled on this scene\r\n */\r\n public renderTargetsEnabled = true;\r\n /**\r\n * Gets or sets a boolean indicating if next render targets must be dumped as image for debugging purposes\r\n * We recommend not using it and instead rely on Spector.js: http://spector.babylonjs.com\r\n */\r\n public dumpNextRenderTargets = false;\r\n /**\r\n * The list of user defined render targets added to the scene\r\n */\r\n public customRenderTargets = new Array();\r\n\r\n /**\r\n * Defines if texture loading must be delayed\r\n * If true, textures will only be loaded when they need to be rendered\r\n */\r\n public useDelayedTextureLoading: boolean;\r\n\r\n /**\r\n * Gets the list of meshes imported to the scene through SceneLoader\r\n */\r\n public importedMeshesFiles = new Array();\r\n\r\n // Probes\r\n /**\r\n * Gets or sets a boolean indicating if probes are enabled on this scene\r\n */\r\n public probesEnabled = true;\r\n\r\n // Offline support\r\n /**\r\n * Gets or sets the current offline provider to use to store scene data\r\n * @see https://doc.babylonjs.com/how_to/caching_resources_in_indexeddb\r\n */\r\n public offlineProvider: IOfflineProvider;\r\n\r\n /**\r\n * Gets or sets the action manager associated with the scene\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions\r\n */\r\n public actionManager: AbstractActionManager;\r\n\r\n private _meshesForIntersections = new SmartArrayNoDuplicate(256);\r\n\r\n // Procedural textures\r\n /**\r\n * Gets or sets a boolean indicating if procedural textures are enabled on this scene\r\n */\r\n public proceduralTexturesEnabled = true;\r\n\r\n // Private\r\n private _engine: Engine;\r\n\r\n // Performance counters\r\n private _totalVertices = new PerfCounter();\r\n /** @hidden */\r\n public _activeIndices = new PerfCounter();\r\n /** @hidden */\r\n public _activeParticles = new PerfCounter();\r\n /** @hidden */\r\n public _activeBones = new PerfCounter();\r\n\r\n private _animationRatio: number;\r\n\r\n /** @hidden */\r\n public _animationTimeLast: number;\r\n\r\n /** @hidden */\r\n public _animationTime: number = 0;\r\n\r\n /**\r\n * Gets or sets a general scale for animation speed\r\n * @see https://www.babylonjs-playground.com/#IBU2W7#3\r\n */\r\n public animationTimeScale: number = 1;\r\n\r\n /** @hidden */\r\n public _cachedMaterial: Nullable;\r\n /** @hidden */\r\n public _cachedEffect: Nullable;\r\n /** @hidden */\r\n public _cachedVisibility: Nullable;\r\n\r\n private _renderId = 0;\r\n private _frameId = 0;\r\n private _executeWhenReadyTimeoutId = -1;\r\n private _intermediateRendering = false;\r\n\r\n private _viewUpdateFlag = -1;\r\n private _projectionUpdateFlag = -1;\r\n\r\n /** @hidden */\r\n public _toBeDisposed = new Array>(256);\r\n private _activeRequests = new Array();\r\n\r\n /** @hidden */\r\n public _pendingData = new Array();\r\n private _isDisposed = false;\r\n\r\n /**\r\n * Gets or sets a boolean indicating that all submeshes of active meshes must be rendered\r\n * Use this boolean to avoid computing frustum clipping on submeshes (This could help when you are CPU bound)\r\n */\r\n public dispatchAllSubMeshesOfActiveMeshes: boolean = false;\r\n private _activeMeshes = new SmartArray(256);\r\n private _processedMaterials = new SmartArray(256);\r\n private _renderTargets = new SmartArrayNoDuplicate(256);\r\n /** @hidden */\r\n public _activeParticleSystems = new SmartArray(256);\r\n private _activeSkeletons = new SmartArrayNoDuplicate(32);\r\n private _softwareSkinnedMeshes = new SmartArrayNoDuplicate(32);\r\n\r\n private _renderingManager: RenderingManager;\r\n\r\n /** @hidden */\r\n public _activeAnimatables = new Array();\r\n\r\n private _transformMatrix = Matrix.Zero();\r\n private _sceneUbo: UniformBuffer;\r\n\r\n /** @hidden */\r\n public _viewMatrix: Matrix;\r\n private _projectionMatrix: Matrix;\r\n /** @hidden */\r\n public _forcedViewPosition: Nullable;\r\n\r\n /** @hidden */\r\n public _frustumPlanes: Plane[];\r\n /**\r\n * Gets the list of frustum planes (built from the active camera)\r\n */\r\n public get frustumPlanes(): Plane[] {\r\n return this._frustumPlanes;\r\n }\r\n\r\n /**\r\n * Gets or sets a boolean indicating if lights must be sorted by priority (off by default)\r\n * This is useful if there are more lights that the maximum simulteanous authorized\r\n */\r\n public requireLightSorting = false;\r\n\r\n /** @hidden */\r\n public readonly useMaterialMeshMap: boolean;\r\n /** @hidden */\r\n public readonly useClonedMeshMap: boolean;\r\n\r\n private _externalData: StringDictionary;\r\n private _uid: Nullable;\r\n\r\n /**\r\n * @hidden\r\n * Backing store of defined scene components.\r\n */\r\n public _components: ISceneComponent[] = [];\r\n\r\n /**\r\n * @hidden\r\n * Backing store of defined scene components.\r\n */\r\n public _serializableComponents: ISceneSerializableComponent[] = [];\r\n\r\n /**\r\n * List of components to register on the next registration step.\r\n */\r\n private _transientComponents: ISceneComponent[] = [];\r\n\r\n /**\r\n * Registers the transient components if needed.\r\n */\r\n private _registerTransientComponents(): void {\r\n // Register components that have been associated lately to the scene.\r\n if (this._transientComponents.length > 0) {\r\n for (let component of this._transientComponents) {\r\n component.register();\r\n }\r\n this._transientComponents = [];\r\n }\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Add a component to the scene.\r\n * Note that the ccomponent could be registered on th next frame if this is called after\r\n * the register component stage.\r\n * @param component Defines the component to add to the scene\r\n */\r\n public _addComponent(component: ISceneComponent) {\r\n this._components.push(component);\r\n this._transientComponents.push(component);\r\n\r\n const serializableComponent = component as ISceneSerializableComponent;\r\n if (serializableComponent.addFromContainer && serializableComponent.serialize) {\r\n this._serializableComponents.push(serializableComponent);\r\n }\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Gets a component from the scene.\r\n * @param name defines the name of the component to retrieve\r\n * @returns the component or null if not present\r\n */\r\n public _getComponent(name: string): Nullable {\r\n for (let component of this._components) {\r\n if (component.name === name) {\r\n return component;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Defines the actions happening before camera updates.\r\n */\r\n public _beforeCameraUpdateStage = Stage.Create();\r\n /**\r\n * @hidden\r\n * Defines the actions happening before clear the canvas.\r\n */\r\n public _beforeClearStage = Stage.Create();\r\n /**\r\n * @hidden\r\n * Defines the actions when collecting render targets for the frame.\r\n */\r\n public _gatherRenderTargetsStage = Stage.Create();\r\n /**\r\n * @hidden\r\n * Defines the actions happening for one camera in the frame.\r\n */\r\n public _gatherActiveCameraRenderTargetsStage = Stage.Create();\r\n /**\r\n * @hidden\r\n * Defines the actions happening during the per mesh ready checks.\r\n */\r\n public _isReadyForMeshStage = Stage.Create();\r\n /**\r\n * @hidden\r\n * Defines the actions happening before evaluate active mesh checks.\r\n */\r\n public _beforeEvaluateActiveMeshStage = Stage.Create();\r\n /**\r\n * @hidden\r\n * Defines the actions happening during the evaluate sub mesh checks.\r\n */\r\n public _evaluateSubMeshStage = Stage.Create();\r\n /**\r\n * @hidden\r\n * Defines the actions happening during the active mesh stage.\r\n */\r\n public _preActiveMeshStage = Stage.Create();\r\n /**\r\n * @hidden\r\n * Defines the actions happening during the per camera render target step.\r\n */\r\n public _cameraDrawRenderTargetStage = Stage.Create();\r\n /**\r\n * @hidden\r\n * Defines the actions happening just before the active camera is drawing.\r\n */\r\n public _beforeCameraDrawStage = Stage.Create();\r\n /**\r\n * @hidden\r\n * Defines the actions happening just before a render target is drawing.\r\n */\r\n public _beforeRenderTargetDrawStage = Stage.Create();\r\n /**\r\n * @hidden\r\n * Defines the actions happening just before a rendering group is drawing.\r\n */\r\n public _beforeRenderingGroupDrawStage = Stage.Create();\r\n /**\r\n * @hidden\r\n * Defines the actions happening just before a mesh is drawing.\r\n */\r\n public _beforeRenderingMeshStage = Stage.Create();\r\n /**\r\n * @hidden\r\n * Defines the actions happening just after a mesh has been drawn.\r\n */\r\n public _afterRenderingMeshStage = Stage.Create();\r\n /**\r\n * @hidden\r\n * Defines the actions happening just after a rendering group has been drawn.\r\n */\r\n public _afterRenderingGroupDrawStage = Stage.Create();\r\n /**\r\n * @hidden\r\n * Defines the actions happening just after the active camera has been drawn.\r\n */\r\n public _afterCameraDrawStage = Stage.Create();\r\n /**\r\n * @hidden\r\n * Defines the actions happening just after a render target has been drawn.\r\n */\r\n public _afterRenderTargetDrawStage = Stage.Create();\r\n /**\r\n * @hidden\r\n * Defines the actions happening just after rendering all cameras and computing intersections.\r\n */\r\n public _afterRenderStage = Stage.Create();\r\n /**\r\n * @hidden\r\n * Defines the actions happening when a pointer move event happens.\r\n */\r\n public _pointerMoveStage = Stage.Create();\r\n /**\r\n * @hidden\r\n * Defines the actions happening when a pointer down event happens.\r\n */\r\n public _pointerDownStage = Stage.Create();\r\n /**\r\n * @hidden\r\n * Defines the actions happening when a pointer up event happens.\r\n */\r\n public _pointerUpStage = Stage.Create();\r\n\r\n /**\r\n * an optional map from Geometry Id to Geometry index in the 'geometries' array\r\n */\r\n private geometriesByUniqueId: Nullable<{ [uniqueId: string]: number | undefined }> = null;\r\n\r\n /**\r\n * Creates a new Scene\r\n * @param engine defines the engine to use to render this scene\r\n * @param options defines the scene options\r\n */\r\n constructor(engine: Engine, options?: SceneOptions) {\r\n super();\r\n\r\n const fullOptions = {\r\n useGeometryUniqueIdsMap: true,\r\n useMaterialMeshMap: true,\r\n useClonedMeshMap: true,\r\n virtual: false,\r\n ...options\r\n };\r\n\r\n this._engine = engine || EngineStore.LastCreatedEngine;\r\n if (!fullOptions.virtual) {\r\n EngineStore._LastCreatedScene = this;\r\n this._engine.scenes.push(this);\r\n }\r\n\r\n this._uid = null;\r\n\r\n this._renderingManager = new RenderingManager(this);\r\n\r\n if (PostProcessManager) {\r\n this.postProcessManager = new PostProcessManager(this);\r\n }\r\n\r\n if (DomManagement.IsWindowObjectExist()) {\r\n this.attachControl();\r\n }\r\n\r\n // Uniform Buffer\r\n this._createUbo();\r\n\r\n // Default Image processing definition\r\n if (ImageProcessingConfiguration) {\r\n this._imageProcessingConfiguration = new ImageProcessingConfiguration();\r\n }\r\n\r\n this.setDefaultCandidateProviders();\r\n\r\n if (fullOptions.useGeometryUniqueIdsMap) {\r\n this.geometriesByUniqueId = {};\r\n }\r\n\r\n this.useMaterialMeshMap = fullOptions.useMaterialMeshMap;\r\n this.useClonedMeshMap = fullOptions.useClonedMeshMap;\r\n\r\n if (!options || !options.virtual) {\r\n this._engine.onNewSceneAddedObservable.notifyObservers(this);\r\n }\r\n }\r\n\r\n /**\r\n * Gets a string identifying the name of the class\r\n * @returns \"Scene\" string\r\n */\r\n public getClassName(): string {\r\n return \"Scene\";\r\n }\r\n\r\n private _defaultMeshCandidates: ISmartArrayLike = {\r\n data: [],\r\n length: 0\r\n };\r\n\r\n /**\r\n * @hidden\r\n */\r\n public _getDefaultMeshCandidates(): ISmartArrayLike {\r\n this._defaultMeshCandidates.data = this.meshes;\r\n this._defaultMeshCandidates.length = this.meshes.length;\r\n return this._defaultMeshCandidates;\r\n }\r\n\r\n private _defaultSubMeshCandidates: ISmartArrayLike = {\r\n data: [],\r\n length: 0\r\n };\r\n\r\n /**\r\n * @hidden\r\n */\r\n public _getDefaultSubMeshCandidates(mesh: AbstractMesh): ISmartArrayLike {\r\n this._defaultSubMeshCandidates.data = mesh.subMeshes;\r\n this._defaultSubMeshCandidates.length = mesh.subMeshes.length;\r\n return this._defaultSubMeshCandidates;\r\n }\r\n\r\n /**\r\n * Sets the default candidate providers for the scene.\r\n * This sets the getActiveMeshCandidates, getActiveSubMeshCandidates, getIntersectingSubMeshCandidates\r\n * and getCollidingSubMeshCandidates to their default function\r\n */\r\n public setDefaultCandidateProviders(): void {\r\n this.getActiveMeshCandidates = this._getDefaultMeshCandidates.bind(this);\r\n\r\n this.getActiveSubMeshCandidates = this._getDefaultSubMeshCandidates.bind(this);\r\n this.getIntersectingSubMeshCandidates = this._getDefaultSubMeshCandidates.bind(this);\r\n this.getCollidingSubMeshCandidates = this._getDefaultSubMeshCandidates.bind(this);\r\n }\r\n\r\n /**\r\n * Gets the mesh that is currently under the pointer\r\n */\r\n public get meshUnderPointer(): Nullable {\r\n return this._inputManager.meshUnderPointer;\r\n }\r\n\r\n /**\r\n * Gets or sets the current on-screen X position of the pointer\r\n */\r\n public get pointerX(): number {\r\n return this._inputManager.pointerX;\r\n }\r\n\r\n public set pointerX(value: number) {\r\n this._inputManager.pointerX = value;\r\n }\r\n\r\n /**\r\n * Gets or sets the current on-screen Y position of the pointer\r\n */\r\n public get pointerY(): number {\r\n return this._inputManager.pointerY;\r\n }\r\n\r\n public set pointerY(value: number) {\r\n this._inputManager.pointerY = value;\r\n }\r\n\r\n /**\r\n * Gets the cached material (ie. the latest rendered one)\r\n * @returns the cached material\r\n */\r\n public getCachedMaterial(): Nullable {\r\n return this._cachedMaterial;\r\n }\r\n\r\n /**\r\n * Gets the cached effect (ie. the latest rendered one)\r\n * @returns the cached effect\r\n */\r\n public getCachedEffect(): Nullable {\r\n return this._cachedEffect;\r\n }\r\n\r\n /**\r\n * Gets the cached visibility state (ie. the latest rendered one)\r\n * @returns the cached visibility state\r\n */\r\n public getCachedVisibility(): Nullable {\r\n return this._cachedVisibility;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if the current material / effect / visibility must be bind again\r\n * @param material defines the current material\r\n * @param effect defines the current effect\r\n * @param visibility defines the current visibility state\r\n * @returns true if one parameter is not cached\r\n */\r\n public isCachedMaterialInvalid(material: Material, effect: Effect, visibility: number = 1) {\r\n return this._cachedEffect !== effect || this._cachedMaterial !== material || this._cachedVisibility !== visibility;\r\n }\r\n\r\n /**\r\n * Gets the engine associated with the scene\r\n * @returns an Engine\r\n */\r\n public getEngine(): Engine {\r\n return this._engine;\r\n }\r\n\r\n /**\r\n * Gets the total number of vertices rendered per frame\r\n * @returns the total number of vertices rendered per frame\r\n */\r\n public getTotalVertices(): number {\r\n return this._totalVertices.current;\r\n }\r\n\r\n /**\r\n * Gets the performance counter for total vertices\r\n * @see https://doc.babylonjs.com/how_to/optimizing_your_scene#instrumentation\r\n */\r\n public get totalVerticesPerfCounter(): PerfCounter {\r\n return this._totalVertices;\r\n }\r\n\r\n /**\r\n * Gets the total number of active indices rendered per frame (You can deduce the number of rendered triangles by dividing this number by 3)\r\n * @returns the total number of active indices rendered per frame\r\n */\r\n public getActiveIndices(): number {\r\n return this._activeIndices.current;\r\n }\r\n\r\n /**\r\n * Gets the performance counter for active indices\r\n * @see https://doc.babylonjs.com/how_to/optimizing_your_scene#instrumentation\r\n */\r\n public get totalActiveIndicesPerfCounter(): PerfCounter {\r\n return this._activeIndices;\r\n }\r\n\r\n /**\r\n * Gets the total number of active particles rendered per frame\r\n * @returns the total number of active particles rendered per frame\r\n */\r\n public getActiveParticles(): number {\r\n return this._activeParticles.current;\r\n }\r\n\r\n /**\r\n * Gets the performance counter for active particles\r\n * @see https://doc.babylonjs.com/how_to/optimizing_your_scene#instrumentation\r\n */\r\n public get activeParticlesPerfCounter(): PerfCounter {\r\n return this._activeParticles;\r\n }\r\n\r\n /**\r\n * Gets the total number of active bones rendered per frame\r\n * @returns the total number of active bones rendered per frame\r\n */\r\n public getActiveBones(): number {\r\n return this._activeBones.current;\r\n }\r\n\r\n /**\r\n * Gets the performance counter for active bones\r\n * @see https://doc.babylonjs.com/how_to/optimizing_your_scene#instrumentation\r\n */\r\n public get activeBonesPerfCounter(): PerfCounter {\r\n return this._activeBones;\r\n }\r\n\r\n /**\r\n * Gets the array of active meshes\r\n * @returns an array of AbstractMesh\r\n */\r\n public getActiveMeshes(): SmartArray {\r\n return this._activeMeshes;\r\n }\r\n\r\n /**\r\n * Gets the animation ratio (which is 1.0 is the scene renders at 60fps and 2 if the scene renders at 30fps, etc.)\r\n * @returns a number\r\n */\r\n public getAnimationRatio(): number {\r\n return this._animationRatio !== undefined ? this._animationRatio : 1;\r\n }\r\n\r\n /**\r\n * Gets an unique Id for the current render phase\r\n * @returns a number\r\n */\r\n public getRenderId(): number {\r\n return this._renderId;\r\n }\r\n\r\n /**\r\n * Gets an unique Id for the current frame\r\n * @returns a number\r\n */\r\n public getFrameId(): number {\r\n return this._frameId;\r\n }\r\n\r\n /** Call this function if you want to manually increment the render Id*/\r\n public incrementRenderId(): void {\r\n this._renderId++;\r\n }\r\n\r\n private _createUbo(): void {\r\n this._sceneUbo = new UniformBuffer(this._engine, undefined, true);\r\n this._sceneUbo.addUniform(\"viewProjection\", 16);\r\n this._sceneUbo.addUniform(\"view\", 16);\r\n }\r\n\r\n /**\r\n * Use this method to simulate a pointer move on a mesh\r\n * The pickResult parameter can be obtained from a scene.pick or scene.pickWithRay\r\n * @param pickResult pickingInfo of the object wished to simulate pointer event on\r\n * @param pointerEventInit pointer event state to be used when simulating the pointer event (eg. pointer id for multitouch)\r\n * @returns the current scene\r\n */\r\n public simulatePointerMove(pickResult: PickingInfo, pointerEventInit?: PointerEventInit): Scene {\r\n this._inputManager.simulatePointerMove(pickResult, pointerEventInit);\r\n return this;\r\n }\r\n\r\n /**\r\n * Use this method to simulate a pointer down on a mesh\r\n * The pickResult parameter can be obtained from a scene.pick or scene.pickWithRay\r\n * @param pickResult pickingInfo of the object wished to simulate pointer event on\r\n * @param pointerEventInit pointer event state to be used when simulating the pointer event (eg. pointer id for multitouch)\r\n * @returns the current scene\r\n */\r\n public simulatePointerDown(pickResult: PickingInfo, pointerEventInit?: PointerEventInit): Scene {\r\n this._inputManager.simulatePointerDown(pickResult, pointerEventInit);\r\n return this;\r\n }\r\n\r\n /**\r\n * Use this method to simulate a pointer up on a mesh\r\n * The pickResult parameter can be obtained from a scene.pick or scene.pickWithRay\r\n * @param pickResult pickingInfo of the object wished to simulate pointer event on\r\n * @param pointerEventInit pointer event state to be used when simulating the pointer event (eg. pointer id for multitouch)\r\n * @param doubleTap indicates that the pointer up event should be considered as part of a double click (false by default)\r\n * @returns the current scene\r\n */\r\n public simulatePointerUp(pickResult: PickingInfo, pointerEventInit?: PointerEventInit, doubleTap?: boolean): Scene {\r\n this._inputManager.simulatePointerUp(pickResult, pointerEventInit, doubleTap);\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if the current pointer event is captured (meaning that the scene has already handled the pointer down)\r\n * @param pointerId defines the pointer id to use in a multi-touch scenario (0 by default)\r\n * @returns true if the pointer was captured\r\n */\r\n public isPointerCaptured(pointerId = 0): boolean {\r\n return this._inputManager.isPointerCaptured(pointerId);\r\n }\r\n\r\n /**\r\n * Attach events to the canvas (To handle actionManagers triggers and raise onPointerMove, onPointerDown and onPointerUp\r\n * @param attachUp defines if you want to attach events to pointerup\r\n * @param attachDown defines if you want to attach events to pointerdown\r\n * @param attachMove defines if you want to attach events to pointermove\r\n */\r\n public attachControl(attachUp = true, attachDown = true, attachMove = true): void {\r\n this._inputManager.attachControl(attachUp, attachDown, attachMove);\r\n }\r\n\r\n /** Detaches all event handlers*/\r\n public detachControl() {\r\n this._inputManager.detachControl();\r\n }\r\n\r\n /**\r\n * This function will check if the scene can be rendered (textures are loaded, shaders are compiled)\r\n * Delay loaded resources are not taking in account\r\n * @return true if all required resources are ready\r\n */\r\n public isReady(): boolean {\r\n if (this._isDisposed) {\r\n return false;\r\n }\r\n\r\n let index: number;\r\n let engine = this.getEngine();\r\n\r\n // Effects\r\n if (!engine.areAllEffectsReady()) {\r\n return false;\r\n }\r\n\r\n // Pending data\r\n if (this._pendingData.length > 0) {\r\n return false;\r\n }\r\n\r\n // Meshes\r\n for (index = 0; index < this.meshes.length; index++) {\r\n var mesh = this.meshes[index];\r\n\r\n if (!mesh.isEnabled()) {\r\n continue;\r\n }\r\n\r\n if (!mesh.subMeshes || mesh.subMeshes.length === 0) {\r\n continue;\r\n }\r\n\r\n if (!mesh.isReady(true)) {\r\n return false;\r\n }\r\n\r\n let hardwareInstancedRendering = mesh.hasThinInstances || mesh.getClassName() === \"InstancedMesh\" || mesh.getClassName() === \"InstancedLinesMesh\" || engine.getCaps().instancedArrays && (mesh).instances.length > 0;\r\n // Is Ready For Mesh\r\n for (let step of this._isReadyForMeshStage) {\r\n if (!step.action(mesh, hardwareInstancedRendering)) {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n // Geometries\r\n for (index = 0; index < this.geometries.length; index++) {\r\n var geometry = this.geometries[index];\r\n\r\n if (geometry.delayLoadState === 2) {\r\n return false;\r\n }\r\n }\r\n\r\n // Post-processes\r\n if (this.activeCameras && this.activeCameras.length > 0) {\r\n for (var camera of this.activeCameras) {\r\n if (!camera.isReady(true)) {\r\n return false;\r\n }\r\n }\r\n } else if (this.activeCamera) {\r\n if (!this.activeCamera.isReady(true)) {\r\n return false;\r\n }\r\n }\r\n\r\n // Particles\r\n for (var particleSystem of this.particleSystems) {\r\n if (!particleSystem.isReady()) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /** Resets all cached information relative to material (including effect and visibility) */\r\n public resetCachedMaterial(): void {\r\n this._cachedMaterial = null;\r\n this._cachedEffect = null;\r\n this._cachedVisibility = null;\r\n }\r\n\r\n /**\r\n * Registers a function to be called before every frame render\r\n * @param func defines the function to register\r\n */\r\n public registerBeforeRender(func: () => void): void {\r\n this.onBeforeRenderObservable.add(func);\r\n }\r\n\r\n /**\r\n * Unregisters a function called before every frame render\r\n * @param func defines the function to unregister\r\n */\r\n public unregisterBeforeRender(func: () => void): void {\r\n this.onBeforeRenderObservable.removeCallback(func);\r\n }\r\n\r\n /**\r\n * Registers a function to be called after every frame render\r\n * @param func defines the function to register\r\n */\r\n public registerAfterRender(func: () => void): void {\r\n this.onAfterRenderObservable.add(func);\r\n }\r\n\r\n /**\r\n * Unregisters a function called after every frame render\r\n * @param func defines the function to unregister\r\n */\r\n public unregisterAfterRender(func: () => void): void {\r\n this.onAfterRenderObservable.removeCallback(func);\r\n }\r\n\r\n private _executeOnceBeforeRender(func: () => void): void {\r\n let execFunc = () => {\r\n func();\r\n setTimeout(() => {\r\n this.unregisterBeforeRender(execFunc);\r\n });\r\n };\r\n this.registerBeforeRender(execFunc);\r\n }\r\n\r\n /**\r\n * The provided function will run before render once and will be disposed afterwards.\r\n * A timeout delay can be provided so that the function will be executed in N ms.\r\n * The timeout is using the browser's native setTimeout so time percision cannot be guaranteed.\r\n * @param func The function to be executed.\r\n * @param timeout optional delay in ms\r\n */\r\n public executeOnceBeforeRender(func: () => void, timeout?: number): void {\r\n if (timeout !== undefined) {\r\n setTimeout(() => {\r\n this._executeOnceBeforeRender(func);\r\n }, timeout);\r\n } else {\r\n this._executeOnceBeforeRender(func);\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _addPendingData(data: any): void {\r\n this._pendingData.push(data);\r\n }\r\n\r\n /** @hidden */\r\n public _removePendingData(data: any): void {\r\n var wasLoading = this.isLoading;\r\n var index = this._pendingData.indexOf(data);\r\n\r\n if (index !== -1) {\r\n this._pendingData.splice(index, 1);\r\n }\r\n\r\n if (wasLoading && !this.isLoading) {\r\n this.onDataLoadedObservable.notifyObservers(this);\r\n }\r\n }\r\n\r\n /**\r\n * Returns the number of items waiting to be loaded\r\n * @returns the number of items waiting to be loaded\r\n */\r\n public getWaitingItemsCount(): number {\r\n return this._pendingData.length;\r\n }\r\n\r\n /**\r\n * Returns a boolean indicating if the scene is still loading data\r\n */\r\n public get isLoading(): boolean {\r\n return this._pendingData.length > 0;\r\n }\r\n\r\n /**\r\n * Registers a function to be executed when the scene is ready\r\n * @param {Function} func - the function to be executed\r\n */\r\n public executeWhenReady(func: () => void): void {\r\n this.onReadyObservable.add(func);\r\n\r\n if (this._executeWhenReadyTimeoutId !== -1) {\r\n return;\r\n }\r\n\r\n this._executeWhenReadyTimeoutId = setTimeout(() => {\r\n this._checkIsReady();\r\n }, 150);\r\n }\r\n\r\n /**\r\n * Returns a promise that resolves when the scene is ready\r\n * @returns A promise that resolves when the scene is ready\r\n */\r\n public whenReadyAsync(): Promise {\r\n return new Promise((resolve) => {\r\n this.executeWhenReady(() => {\r\n resolve();\r\n });\r\n });\r\n }\r\n\r\n /** @hidden */\r\n public _checkIsReady() {\r\n this._registerTransientComponents();\r\n\r\n if (this.isReady()) {\r\n this.onReadyObservable.notifyObservers(this);\r\n\r\n this.onReadyObservable.clear();\r\n this._executeWhenReadyTimeoutId = -1;\r\n return;\r\n }\r\n\r\n if (this._isDisposed) {\r\n this.onReadyObservable.clear();\r\n this._executeWhenReadyTimeoutId = -1;\r\n return;\r\n }\r\n\r\n this._executeWhenReadyTimeoutId = setTimeout(() => {\r\n this._checkIsReady();\r\n }, 150);\r\n }\r\n\r\n /**\r\n * Gets all animatable attached to the scene\r\n */\r\n public get animatables(): Animatable[] {\r\n return this._activeAnimatables;\r\n }\r\n\r\n /**\r\n * Resets the last animation time frame.\r\n * Useful to override when animations start running when loading a scene for the first time.\r\n */\r\n public resetLastAnimationTimeFrame(): void {\r\n this._animationTimeLast = PrecisionDate.Now;\r\n }\r\n\r\n // Matrix\r\n\r\n /**\r\n * Gets the current view matrix\r\n * @returns a Matrix\r\n */\r\n public getViewMatrix(): Matrix {\r\n return this._viewMatrix;\r\n }\r\n\r\n /**\r\n * Gets the current projection matrix\r\n * @returns a Matrix\r\n */\r\n public getProjectionMatrix(): Matrix {\r\n return this._projectionMatrix;\r\n }\r\n\r\n /**\r\n * Gets the current transform matrix\r\n * @returns a Matrix made of View * Projection\r\n */\r\n public getTransformMatrix(): Matrix {\r\n return this._transformMatrix;\r\n }\r\n\r\n /**\r\n * Sets the current transform matrix\r\n * @param viewL defines the View matrix to use\r\n * @param projectionL defines the Projection matrix to use\r\n * @param viewR defines the right View matrix to use (if provided)\r\n * @param projectionR defines the right Projection matrix to use (if provided)\r\n */\r\n public setTransformMatrix(viewL: Matrix, projectionL: Matrix, viewR?: Matrix, projectionR?: Matrix): void {\r\n if (this._viewUpdateFlag === viewL.updateFlag && this._projectionUpdateFlag === projectionL.updateFlag) {\r\n return;\r\n }\r\n\r\n this._viewUpdateFlag = viewL.updateFlag;\r\n this._projectionUpdateFlag = projectionL.updateFlag;\r\n this._viewMatrix = viewL;\r\n this._projectionMatrix = projectionL;\r\n\r\n this._viewMatrix.multiplyToRef(this._projectionMatrix, this._transformMatrix);\r\n\r\n // Update frustum\r\n if (!this._frustumPlanes) {\r\n this._frustumPlanes = Frustum.GetPlanes(this._transformMatrix);\r\n } else {\r\n Frustum.GetPlanesToRef(this._transformMatrix, this._frustumPlanes);\r\n }\r\n\r\n if (this._multiviewSceneUbo && this._multiviewSceneUbo.useUbo) {\r\n this._updateMultiviewUbo(viewR, projectionR);\r\n } else if (this._sceneUbo.useUbo) {\r\n this._sceneUbo.updateMatrix(\"viewProjection\", this._transformMatrix);\r\n this._sceneUbo.updateMatrix(\"view\", this._viewMatrix);\r\n this._sceneUbo.update();\r\n }\r\n }\r\n\r\n /**\r\n * Gets the uniform buffer used to store scene data\r\n * @returns a UniformBuffer\r\n */\r\n public getSceneUniformBuffer(): UniformBuffer {\r\n return this._multiviewSceneUbo ? this._multiviewSceneUbo : this._sceneUbo;\r\n }\r\n\r\n /**\r\n * Gets an unique (relatively to the current scene) Id\r\n * @returns an unique number for the scene\r\n */\r\n public getUniqueId() {\r\n return UniqueIdGenerator.UniqueId;\r\n }\r\n\r\n /**\r\n * Add a mesh to the list of scene's meshes\r\n * @param newMesh defines the mesh to add\r\n * @param recursive if all child meshes should also be added to the scene\r\n */\r\n public addMesh(newMesh: AbstractMesh, recursive = false) {\r\n if (this._blockEntityCollection) {\r\n return;\r\n }\r\n\r\n this.meshes.push(newMesh);\r\n\r\n newMesh._resyncLightSources();\r\n\r\n if (!newMesh.parent) {\r\n newMesh._addToSceneRootNodes();\r\n }\r\n\r\n this.onNewMeshAddedObservable.notifyObservers(newMesh);\r\n\r\n if (recursive) {\r\n newMesh.getChildMeshes().forEach((m) => {\r\n this.addMesh(m);\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Remove a mesh for the list of scene's meshes\r\n * @param toRemove defines the mesh to remove\r\n * @param recursive if all child meshes should also be removed from the scene\r\n * @returns the index where the mesh was in the mesh list\r\n */\r\n public removeMesh(toRemove: AbstractMesh, recursive = false): number {\r\n var index = this.meshes.indexOf(toRemove);\r\n if (index !== -1) {\r\n // Remove from the scene if mesh found\r\n this.meshes[index] = this.meshes[this.meshes.length - 1];\r\n this.meshes.pop();\r\n\r\n if (!toRemove.parent) {\r\n toRemove._removeFromSceneRootNodes();\r\n }\r\n }\r\n\r\n this.onMeshRemovedObservable.notifyObservers(toRemove);\r\n if (recursive) {\r\n toRemove.getChildMeshes().forEach((m) => {\r\n this.removeMesh(m);\r\n });\r\n }\r\n return index;\r\n }\r\n\r\n /**\r\n * Add a transform node to the list of scene's transform nodes\r\n * @param newTransformNode defines the transform node to add\r\n */\r\n public addTransformNode(newTransformNode: TransformNode) {\r\n if (this._blockEntityCollection) {\r\n return;\r\n }\r\n newTransformNode._indexInSceneTransformNodesArray = this.transformNodes.length;\r\n this.transformNodes.push(newTransformNode);\r\n\r\n if (!newTransformNode.parent) {\r\n newTransformNode._addToSceneRootNodes();\r\n }\r\n\r\n this.onNewTransformNodeAddedObservable.notifyObservers(newTransformNode);\r\n }\r\n\r\n /**\r\n * Remove a transform node for the list of scene's transform nodes\r\n * @param toRemove defines the transform node to remove\r\n * @returns the index where the transform node was in the transform node list\r\n */\r\n public removeTransformNode(toRemove: TransformNode): number {\r\n var index = toRemove._indexInSceneTransformNodesArray;\r\n if (index !== -1) {\r\n if (index !== this.transformNodes.length - 1) {\r\n const lastNode = this.transformNodes[this.transformNodes.length - 1];\r\n this.transformNodes[index] = lastNode;\r\n lastNode._indexInSceneTransformNodesArray = index;\r\n }\r\n\r\n toRemove._indexInSceneTransformNodesArray = -1;\r\n this.transformNodes.pop();\r\n if (!toRemove.parent) {\r\n toRemove._removeFromSceneRootNodes();\r\n }\r\n }\r\n\r\n this.onTransformNodeRemovedObservable.notifyObservers(toRemove);\r\n\r\n return index;\r\n }\r\n\r\n /**\r\n * Remove a skeleton for the list of scene's skeletons\r\n * @param toRemove defines the skeleton to remove\r\n * @returns the index where the skeleton was in the skeleton list\r\n */\r\n public removeSkeleton(toRemove: Skeleton): number {\r\n var index = this.skeletons.indexOf(toRemove);\r\n if (index !== -1) {\r\n // Remove from the scene if found\r\n this.skeletons.splice(index, 1);\r\n this.onSkeletonRemovedObservable.notifyObservers(toRemove);\r\n }\r\n\r\n return index;\r\n }\r\n\r\n /**\r\n * Remove a morph target for the list of scene's morph targets\r\n * @param toRemove defines the morph target to remove\r\n * @returns the index where the morph target was in the morph target list\r\n */\r\n public removeMorphTargetManager(toRemove: MorphTargetManager): number {\r\n var index = this.morphTargetManagers.indexOf(toRemove);\r\n if (index !== -1) {\r\n // Remove from the scene if found\r\n this.morphTargetManagers.splice(index, 1);\r\n }\r\n\r\n return index;\r\n }\r\n\r\n /**\r\n * Remove a light for the list of scene's lights\r\n * @param toRemove defines the light to remove\r\n * @returns the index where the light was in the light list\r\n */\r\n public removeLight(toRemove: Light): number {\r\n var index = this.lights.indexOf(toRemove);\r\n if (index !== -1) {\r\n // Remove from meshes\r\n for (var mesh of this.meshes) {\r\n mesh._removeLightSource(toRemove, false);\r\n }\r\n\r\n // Remove from the scene if mesh found\r\n this.lights.splice(index, 1);\r\n this.sortLightsByPriority();\r\n\r\n if (!toRemove.parent) {\r\n toRemove._removeFromSceneRootNodes();\r\n }\r\n }\r\n this.onLightRemovedObservable.notifyObservers(toRemove);\r\n return index;\r\n }\r\n\r\n /**\r\n * Remove a camera for the list of scene's cameras\r\n * @param toRemove defines the camera to remove\r\n * @returns the index where the camera was in the camera list\r\n */\r\n public removeCamera(toRemove: Camera): number {\r\n var index = this.cameras.indexOf(toRemove);\r\n if (index !== -1) {\r\n // Remove from the scene if mesh found\r\n this.cameras.splice(index, 1);\r\n if (!toRemove.parent) {\r\n toRemove._removeFromSceneRootNodes();\r\n }\r\n }\r\n // Remove from activeCameras\r\n if (this.activeCameras) {\r\n var index2 = this.activeCameras.indexOf(toRemove);\r\n if (index2 !== -1) {\r\n // Remove from the scene if mesh found\r\n this.activeCameras.splice(index2, 1);\r\n }\r\n }\r\n // Reset the activeCamera\r\n if (this.activeCamera === toRemove) {\r\n if (this.cameras.length > 0) {\r\n this.activeCamera = this.cameras[0];\r\n } else {\r\n this.activeCamera = null;\r\n }\r\n }\r\n this.onCameraRemovedObservable.notifyObservers(toRemove);\r\n return index;\r\n }\r\n\r\n /**\r\n * Remove a particle system for the list of scene's particle systems\r\n * @param toRemove defines the particle system to remove\r\n * @returns the index where the particle system was in the particle system list\r\n */\r\n public removeParticleSystem(toRemove: IParticleSystem): number {\r\n var index = this.particleSystems.indexOf(toRemove);\r\n if (index !== -1) {\r\n this.particleSystems.splice(index, 1);\r\n }\r\n return index;\r\n }\r\n\r\n /**\r\n * Remove a animation for the list of scene's animations\r\n * @param toRemove defines the animation to remove\r\n * @returns the index where the animation was in the animation list\r\n */\r\n public removeAnimation(toRemove: Animation): number {\r\n var index = this.animations.indexOf(toRemove);\r\n if (index !== -1) {\r\n this.animations.splice(index, 1);\r\n }\r\n return index;\r\n }\r\n\r\n /**\r\n * Will stop the animation of the given target\r\n * @param target - the target\r\n * @param animationName - the name of the animation to stop (all animations will be stopped if both this and targetMask are empty)\r\n * @param targetMask - a function that determines if the animation should be stopped based on its target (all animations will be stopped if both this and animationName are empty)\r\n */\r\n public stopAnimation(target: any, animationName?: string, targetMask?: (target: any) => boolean): void {\r\n // Do nothing as code will be provided by animation component\r\n }\r\n\r\n /**\r\n * Removes the given animation group from this scene.\r\n * @param toRemove The animation group to remove\r\n * @returns The index of the removed animation group\r\n */\r\n public removeAnimationGroup(toRemove: AnimationGroup): number {\r\n var index = this.animationGroups.indexOf(toRemove);\r\n if (index !== -1) {\r\n this.animationGroups.splice(index, 1);\r\n }\r\n return index;\r\n }\r\n\r\n /**\r\n * Removes the given multi-material from this scene.\r\n * @param toRemove The multi-material to remove\r\n * @returns The index of the removed multi-material\r\n */\r\n public removeMultiMaterial(toRemove: MultiMaterial): number {\r\n var index = this.multiMaterials.indexOf(toRemove);\r\n if (index !== -1) {\r\n this.multiMaterials.splice(index, 1);\r\n }\r\n\r\n this.onMultiMaterialRemovedObservable.notifyObservers(toRemove);\r\n\r\n return index;\r\n }\r\n\r\n /**\r\n * Removes the given material from this scene.\r\n * @param toRemove The material to remove\r\n * @returns The index of the removed material\r\n */\r\n public removeMaterial(toRemove: Material): number {\r\n var index = toRemove._indexInSceneMaterialArray;\r\n if (index !== -1 && index < this.materials.length) {\r\n if (index !== this.materials.length - 1) {\r\n const lastMaterial = this.materials[this.materials.length - 1];\r\n this.materials[index] = lastMaterial;\r\n lastMaterial._indexInSceneMaterialArray = index;\r\n }\r\n\r\n toRemove._indexInSceneMaterialArray = -1;\r\n this.materials.pop();\r\n }\r\n\r\n this.onMaterialRemovedObservable.notifyObservers(toRemove);\r\n\r\n return index;\r\n }\r\n\r\n /**\r\n * Removes the given action manager from this scene.\r\n * @param toRemove The action manager to remove\r\n * @returns The index of the removed action manager\r\n */\r\n public removeActionManager(toRemove: AbstractActionManager): number {\r\n var index = this.actionManagers.indexOf(toRemove);\r\n if (index !== -1) {\r\n this.actionManagers.splice(index, 1);\r\n }\r\n return index;\r\n }\r\n\r\n /**\r\n * Removes the given texture from this scene.\r\n * @param toRemove The texture to remove\r\n * @returns The index of the removed texture\r\n */\r\n public removeTexture(toRemove: BaseTexture): number {\r\n var index = this.textures.indexOf(toRemove);\r\n if (index !== -1) {\r\n this.textures.splice(index, 1);\r\n }\r\n this.onTextureRemovedObservable.notifyObservers(toRemove);\r\n\r\n return index;\r\n }\r\n\r\n /**\r\n * Adds the given light to this scene\r\n * @param newLight The light to add\r\n */\r\n public addLight(newLight: Light): void {\r\n if (this._blockEntityCollection) {\r\n return;\r\n }\r\n this.lights.push(newLight);\r\n this.sortLightsByPriority();\r\n\r\n if (!newLight.parent) {\r\n newLight._addToSceneRootNodes();\r\n }\r\n\r\n // Add light to all meshes (To support if the light is removed and then re-added)\r\n for (var mesh of this.meshes) {\r\n if (mesh.lightSources.indexOf(newLight) === -1) {\r\n mesh.lightSources.push(newLight);\r\n mesh._resyncLightSources();\r\n }\r\n }\r\n\r\n this.onNewLightAddedObservable.notifyObservers(newLight);\r\n }\r\n\r\n /**\r\n * Sorts the list list based on light priorities\r\n */\r\n public sortLightsByPriority(): void {\r\n if (this.requireLightSorting) {\r\n this.lights.sort(Light.CompareLightsPriority);\r\n }\r\n }\r\n\r\n /**\r\n * Adds the given camera to this scene\r\n * @param newCamera The camera to add\r\n */\r\n public addCamera(newCamera: Camera): void {\r\n if (this._blockEntityCollection) {\r\n return;\r\n }\r\n\r\n this.cameras.push(newCamera);\r\n this.onNewCameraAddedObservable.notifyObservers(newCamera);\r\n\r\n if (!newCamera.parent) {\r\n newCamera._addToSceneRootNodes();\r\n }\r\n }\r\n\r\n /**\r\n * Adds the given skeleton to this scene\r\n * @param newSkeleton The skeleton to add\r\n */\r\n public addSkeleton(newSkeleton: Skeleton): void {\r\n if (this._blockEntityCollection) {\r\n return;\r\n }\r\n this.skeletons.push(newSkeleton);\r\n this.onNewSkeletonAddedObservable.notifyObservers(newSkeleton);\r\n }\r\n\r\n /**\r\n * Adds the given particle system to this scene\r\n * @param newParticleSystem The particle system to add\r\n */\r\n public addParticleSystem(newParticleSystem: IParticleSystem): void {\r\n if (this._blockEntityCollection) {\r\n return;\r\n }\r\n this.particleSystems.push(newParticleSystem);\r\n }\r\n\r\n /**\r\n * Adds the given animation to this scene\r\n * @param newAnimation The animation to add\r\n */\r\n public addAnimation(newAnimation: Animation): void {\r\n if (this._blockEntityCollection) {\r\n return;\r\n }\r\n this.animations.push(newAnimation);\r\n }\r\n\r\n /**\r\n * Adds the given animation group to this scene.\r\n * @param newAnimationGroup The animation group to add\r\n */\r\n public addAnimationGroup(newAnimationGroup: AnimationGroup): void {\r\n if (this._blockEntityCollection) {\r\n return;\r\n }\r\n this.animationGroups.push(newAnimationGroup);\r\n }\r\n\r\n /**\r\n * Adds the given multi-material to this scene\r\n * @param newMultiMaterial The multi-material to add\r\n */\r\n public addMultiMaterial(newMultiMaterial: MultiMaterial): void {\r\n if (this._blockEntityCollection) {\r\n return;\r\n }\r\n this.multiMaterials.push(newMultiMaterial);\r\n this.onNewMultiMaterialAddedObservable.notifyObservers(newMultiMaterial);\r\n }\r\n\r\n /**\r\n * Adds the given material to this scene\r\n * @param newMaterial The material to add\r\n */\r\n public addMaterial(newMaterial: Material): void {\r\n if (this._blockEntityCollection) {\r\n return;\r\n }\r\n\r\n newMaterial._indexInSceneMaterialArray = this.materials.length;\r\n this.materials.push(newMaterial);\r\n this.onNewMaterialAddedObservable.notifyObservers(newMaterial);\r\n }\r\n\r\n /**\r\n * Adds the given morph target to this scene\r\n * @param newMorphTargetManager The morph target to add\r\n */\r\n public addMorphTargetManager(newMorphTargetManager: MorphTargetManager): void {\r\n if (this._blockEntityCollection) {\r\n return;\r\n }\r\n this.morphTargetManagers.push(newMorphTargetManager);\r\n }\r\n\r\n /**\r\n * Adds the given geometry to this scene\r\n * @param newGeometry The geometry to add\r\n */\r\n public addGeometry(newGeometry: Geometry): void {\r\n if (this._blockEntityCollection) {\r\n return;\r\n }\r\n\r\n if (this.geometriesByUniqueId) {\r\n this.geometriesByUniqueId[newGeometry.uniqueId] = this.geometries.length;\r\n }\r\n\r\n this.geometries.push(newGeometry);\r\n }\r\n\r\n /**\r\n * Adds the given action manager to this scene\r\n * @param newActionManager The action manager to add\r\n */\r\n public addActionManager(newActionManager: AbstractActionManager): void {\r\n this.actionManagers.push(newActionManager);\r\n }\r\n\r\n /**\r\n * Adds the given texture to this scene.\r\n * @param newTexture The texture to add\r\n */\r\n public addTexture(newTexture: BaseTexture): void {\r\n if (this._blockEntityCollection) {\r\n return;\r\n }\r\n this.textures.push(newTexture);\r\n this.onNewTextureAddedObservable.notifyObservers(newTexture);\r\n }\r\n\r\n /**\r\n * Switch active camera\r\n * @param newCamera defines the new active camera\r\n * @param attachControl defines if attachControl must be called for the new active camera (default: true)\r\n */\r\n public switchActiveCamera(newCamera: Camera, attachControl = true): void {\r\n var canvas = this._engine.getInputElement();\r\n\r\n if (!canvas) {\r\n return;\r\n }\r\n\r\n if (this.activeCamera) {\r\n this.activeCamera.detachControl();\r\n }\r\n this.activeCamera = newCamera;\r\n if (attachControl) {\r\n newCamera.attachControl();\r\n }\r\n }\r\n\r\n /**\r\n * sets the active camera of the scene using its ID\r\n * @param id defines the camera's ID\r\n * @return the new active camera or null if none found.\r\n */\r\n public setActiveCameraByID(id: string): Nullable {\r\n var camera = this.getCameraByID(id);\r\n\r\n if (camera) {\r\n this.activeCamera = camera;\r\n return camera;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * sets the active camera of the scene using its name\r\n * @param name defines the camera's name\r\n * @returns the new active camera or null if none found.\r\n */\r\n public setActiveCameraByName(name: string): Nullable {\r\n var camera = this.getCameraByName(name);\r\n\r\n if (camera) {\r\n this.activeCamera = camera;\r\n return camera;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * get an animation group using its name\r\n * @param name defines the material's name\r\n * @return the animation group or null if none found.\r\n */\r\n public getAnimationGroupByName(name: string): Nullable {\r\n for (var index = 0; index < this.animationGroups.length; index++) {\r\n if (this.animationGroups[index].name === name) {\r\n return this.animationGroups[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Get a material using its unique id\r\n * @param uniqueId defines the material's unique id\r\n * @return the material or null if none found.\r\n */\r\n public getMaterialByUniqueID(uniqueId: number): Nullable {\r\n for (var index = 0; index < this.materials.length; index++) {\r\n if (this.materials[index].uniqueId === uniqueId) {\r\n return this.materials[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * get a material using its id\r\n * @param id defines the material's ID\r\n * @return the material or null if none found.\r\n */\r\n public getMaterialByID(id: string): Nullable {\r\n for (var index = 0; index < this.materials.length; index++) {\r\n if (this.materials[index].id === id) {\r\n return this.materials[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a the last added material using a given id\r\n * @param id defines the material's ID\r\n * @return the last material with the given id or null if none found.\r\n */\r\n public getLastMaterialByID(id: string): Nullable {\r\n for (var index = this.materials.length - 1; index >= 0; index--) {\r\n if (this.materials[index].id === id) {\r\n return this.materials[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a material using its name\r\n * @param name defines the material's name\r\n * @return the material or null if none found.\r\n */\r\n public getMaterialByName(name: string): Nullable {\r\n for (var index = 0; index < this.materials.length; index++) {\r\n if (this.materials[index].name === name) {\r\n return this.materials[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Get a texture using its unique id\r\n * @param uniqueId defines the texture's unique id\r\n * @return the texture or null if none found.\r\n */\r\n public getTextureByUniqueID(uniqueId: number): Nullable {\r\n for (var index = 0; index < this.textures.length; index++) {\r\n if (this.textures[index].uniqueId === uniqueId) {\r\n return this.textures[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a camera using its id\r\n * @param id defines the id to look for\r\n * @returns the camera or null if not found\r\n */\r\n public getCameraByID(id: string): Nullable {\r\n for (var index = 0; index < this.cameras.length; index++) {\r\n if (this.cameras[index].id === id) {\r\n return this.cameras[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a camera using its unique id\r\n * @param uniqueId defines the unique id to look for\r\n * @returns the camera or null if not found\r\n */\r\n public getCameraByUniqueID(uniqueId: number): Nullable {\r\n for (var index = 0; index < this.cameras.length; index++) {\r\n if (this.cameras[index].uniqueId === uniqueId) {\r\n return this.cameras[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a camera using its name\r\n * @param name defines the camera's name\r\n * @return the camera or null if none found.\r\n */\r\n public getCameraByName(name: string): Nullable {\r\n for (var index = 0; index < this.cameras.length; index++) {\r\n if (this.cameras[index].name === name) {\r\n return this.cameras[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a bone using its id\r\n * @param id defines the bone's id\r\n * @return the bone or null if not found\r\n */\r\n public getBoneByID(id: string): Nullable {\r\n for (var skeletonIndex = 0; skeletonIndex < this.skeletons.length; skeletonIndex++) {\r\n var skeleton = this.skeletons[skeletonIndex];\r\n for (var boneIndex = 0; boneIndex < skeleton.bones.length; boneIndex++) {\r\n if (skeleton.bones[boneIndex].id === id) {\r\n return skeleton.bones[boneIndex];\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a bone using its id\r\n * @param name defines the bone's name\r\n * @return the bone or null if not found\r\n */\r\n public getBoneByName(name: string): Nullable {\r\n for (var skeletonIndex = 0; skeletonIndex < this.skeletons.length; skeletonIndex++) {\r\n var skeleton = this.skeletons[skeletonIndex];\r\n for (var boneIndex = 0; boneIndex < skeleton.bones.length; boneIndex++) {\r\n if (skeleton.bones[boneIndex].name === name) {\r\n return skeleton.bones[boneIndex];\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a light node using its name\r\n * @param name defines the the light's name\r\n * @return the light or null if none found.\r\n */\r\n public getLightByName(name: string): Nullable {\r\n for (var index = 0; index < this.lights.length; index++) {\r\n if (this.lights[index].name === name) {\r\n return this.lights[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a light node using its id\r\n * @param id defines the light's id\r\n * @return the light or null if none found.\r\n */\r\n public getLightByID(id: string): Nullable {\r\n for (var index = 0; index < this.lights.length; index++) {\r\n if (this.lights[index].id === id) {\r\n return this.lights[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a light node using its scene-generated unique ID\r\n * @param uniqueId defines the light's unique id\r\n * @return the light or null if none found.\r\n */\r\n public getLightByUniqueID(uniqueId: number): Nullable {\r\n for (var index = 0; index < this.lights.length; index++) {\r\n if (this.lights[index].uniqueId === uniqueId) {\r\n return this.lights[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a particle system by id\r\n * @param id defines the particle system id\r\n * @return the corresponding system or null if none found\r\n */\r\n public getParticleSystemByID(id: string): Nullable {\r\n for (var index = 0; index < this.particleSystems.length; index++) {\r\n if (this.particleSystems[index].id === id) {\r\n return this.particleSystems[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a geometry using its ID\r\n * @param id defines the geometry's id\r\n * @return the geometry or null if none found.\r\n */\r\n public getGeometryByID(id: string): Nullable {\r\n for (var index = 0; index < this.geometries.length; index++) {\r\n if (this.geometries[index].id === id) {\r\n return this.geometries[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _getGeometryByUniqueID(uniqueId: number): Nullable {\r\n if (this.geometriesByUniqueId) {\r\n const index = this.geometriesByUniqueId[uniqueId];\r\n if (index !== undefined) {\r\n return this.geometries[index];\r\n }\r\n }\r\n else {\r\n for (var index = 0; index < this.geometries.length; index++) {\r\n if (this.geometries[index].uniqueId === uniqueId) {\r\n return this.geometries[index];\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Add a new geometry to this scene\r\n * @param geometry defines the geometry to be added to the scene.\r\n * @param force defines if the geometry must be pushed even if a geometry with this id already exists\r\n * @return a boolean defining if the geometry was added or not\r\n */\r\n public pushGeometry(geometry: Geometry, force?: boolean): boolean {\r\n if (!force && this._getGeometryByUniqueID(geometry.uniqueId)) {\r\n return false;\r\n }\r\n\r\n this.addGeometry(geometry);\r\n\r\n this.onNewGeometryAddedObservable.notifyObservers(geometry);\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Removes an existing geometry\r\n * @param geometry defines the geometry to be removed from the scene\r\n * @return a boolean defining if the geometry was removed or not\r\n */\r\n public removeGeometry(geometry: Geometry): boolean {\r\n let index;\r\n if (this.geometriesByUniqueId) {\r\n index = this.geometriesByUniqueId[geometry.uniqueId];\r\n if (index === undefined) {\r\n return false;\r\n }\r\n }\r\n else {\r\n index = this.geometries.indexOf(geometry);\r\n if (index < 0) {\r\n return false;\r\n }\r\n }\r\n\r\n if (index !== this.geometries.length - 1) {\r\n const lastGeometry = this.geometries[this.geometries.length - 1];\r\n if (lastGeometry) {\r\n this.geometries[index] = lastGeometry;\r\n if (this.geometriesByUniqueId) {\r\n this.geometriesByUniqueId[lastGeometry.uniqueId] = index;\r\n this.geometriesByUniqueId[geometry.uniqueId] = undefined;\r\n }\r\n }\r\n }\r\n\r\n this.geometries.pop();\r\n\r\n this.onGeometryRemovedObservable.notifyObservers(geometry);\r\n return true;\r\n }\r\n\r\n /**\r\n * Gets the list of geometries attached to the scene\r\n * @returns an array of Geometry\r\n */\r\n public getGeometries(): Geometry[] {\r\n return this.geometries;\r\n }\r\n\r\n /**\r\n * Gets the first added mesh found of a given ID\r\n * @param id defines the id to search for\r\n * @return the mesh found or null if not found at all\r\n */\r\n public getMeshByID(id: string): Nullable {\r\n for (var index = 0; index < this.meshes.length; index++) {\r\n if (this.meshes[index].id === id) {\r\n return this.meshes[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a list of meshes using their id\r\n * @param id defines the id to search for\r\n * @returns a list of meshes\r\n */\r\n public getMeshesByID(id: string): Array {\r\n return this.meshes.filter(function(m) {\r\n return m.id === id;\r\n });\r\n }\r\n\r\n /**\r\n * Gets the first added transform node found of a given ID\r\n * @param id defines the id to search for\r\n * @return the found transform node or null if not found at all.\r\n */\r\n public getTransformNodeByID(id: string): Nullable {\r\n for (var index = 0; index < this.transformNodes.length; index++) {\r\n if (this.transformNodes[index].id === id) {\r\n return this.transformNodes[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a transform node with its auto-generated unique id\r\n * @param uniqueId efines the unique id to search for\r\n * @return the found transform node or null if not found at all.\r\n */\r\n public getTransformNodeByUniqueID(uniqueId: number): Nullable {\r\n for (var index = 0; index < this.transformNodes.length; index++) {\r\n if (this.transformNodes[index].uniqueId === uniqueId) {\r\n return this.transformNodes[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a list of transform nodes using their id\r\n * @param id defines the id to search for\r\n * @returns a list of transform nodes\r\n */\r\n public getTransformNodesByID(id: string): Array {\r\n return this.transformNodes.filter(function(m) {\r\n return m.id === id;\r\n });\r\n }\r\n\r\n /**\r\n * Gets a mesh with its auto-generated unique id\r\n * @param uniqueId defines the unique id to search for\r\n * @return the found mesh or null if not found at all.\r\n */\r\n public getMeshByUniqueID(uniqueId: number): Nullable {\r\n for (var index = 0; index < this.meshes.length; index++) {\r\n if (this.meshes[index].uniqueId === uniqueId) {\r\n return this.meshes[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a the last added mesh using a given id\r\n * @param id defines the id to search for\r\n * @return the found mesh or null if not found at all.\r\n */\r\n public getLastMeshByID(id: string): Nullable {\r\n for (var index = this.meshes.length - 1; index >= 0; index--) {\r\n if (this.meshes[index].id === id) {\r\n return this.meshes[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a the last added node (Mesh, Camera, Light) using a given id\r\n * @param id defines the id to search for\r\n * @return the found node or null if not found at all\r\n */\r\n public getLastEntryByID(id: string): Nullable {\r\n var index: number;\r\n for (index = this.meshes.length - 1; index >= 0; index--) {\r\n if (this.meshes[index].id === id) {\r\n return this.meshes[index];\r\n }\r\n }\r\n\r\n for (index = this.transformNodes.length - 1; index >= 0; index--) {\r\n if (this.transformNodes[index].id === id) {\r\n return this.transformNodes[index];\r\n }\r\n }\r\n\r\n for (index = this.cameras.length - 1; index >= 0; index--) {\r\n if (this.cameras[index].id === id) {\r\n return this.cameras[index];\r\n }\r\n }\r\n\r\n for (index = this.lights.length - 1; index >= 0; index--) {\r\n if (this.lights[index].id === id) {\r\n return this.lights[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a node (Mesh, Camera, Light) using a given id\r\n * @param id defines the id to search for\r\n * @return the found node or null if not found at all\r\n */\r\n public getNodeByID(id: string): Nullable {\r\n const mesh = this.getMeshByID(id);\r\n if (mesh) {\r\n return mesh;\r\n }\r\n\r\n const transformNode = this.getTransformNodeByID(id);\r\n if (transformNode) {\r\n return transformNode;\r\n }\r\n\r\n const light = this.getLightByID(id);\r\n if (light) {\r\n return light;\r\n }\r\n\r\n const camera = this.getCameraByID(id);\r\n if (camera) {\r\n return camera;\r\n }\r\n\r\n const bone = this.getBoneByID(id);\r\n if (bone) {\r\n return bone;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a node (Mesh, Camera, Light) using a given name\r\n * @param name defines the name to search for\r\n * @return the found node or null if not found at all.\r\n */\r\n public getNodeByName(name: string): Nullable {\r\n const mesh = this.getMeshByName(name);\r\n if (mesh) {\r\n return mesh;\r\n }\r\n\r\n const transformNode = this.getTransformNodeByName(name);\r\n if (transformNode) {\r\n return transformNode;\r\n }\r\n\r\n const light = this.getLightByName(name);\r\n if (light) {\r\n return light;\r\n }\r\n\r\n const camera = this.getCameraByName(name);\r\n if (camera) {\r\n return camera;\r\n }\r\n\r\n const bone = this.getBoneByName(name);\r\n if (bone) {\r\n return bone;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a mesh using a given name\r\n * @param name defines the name to search for\r\n * @return the found mesh or null if not found at all.\r\n */\r\n public getMeshByName(name: string): Nullable {\r\n for (var index = 0; index < this.meshes.length; index++) {\r\n if (this.meshes[index].name === name) {\r\n return this.meshes[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a transform node using a given name\r\n * @param name defines the name to search for\r\n * @return the found transform node or null if not found at all.\r\n */\r\n public getTransformNodeByName(name: string): Nullable {\r\n for (var index = 0; index < this.transformNodes.length; index++) {\r\n if (this.transformNodes[index].name === name) {\r\n return this.transformNodes[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a skeleton using a given id (if many are found, this function will pick the last one)\r\n * @param id defines the id to search for\r\n * @return the found skeleton or null if not found at all.\r\n */\r\n public getLastSkeletonByID(id: string): Nullable {\r\n for (var index = this.skeletons.length - 1; index >= 0; index--) {\r\n if (this.skeletons[index].id === id) {\r\n return this.skeletons[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a skeleton using a given auto generated unique id\r\n * @param uniqueId defines the unique id to search for\r\n * @return the found skeleton or null if not found at all.\r\n */\r\n public getSkeletonByUniqueId(uniqueId: number): Nullable {\r\n for (var index = 0; index < this.skeletons.length; index++) {\r\n if (this.skeletons[index].uniqueId === uniqueId) {\r\n return this.skeletons[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a skeleton using a given id (if many are found, this function will pick the first one)\r\n * @param id defines the id to search for\r\n * @return the found skeleton or null if not found at all.\r\n */\r\n public getSkeletonById(id: string): Nullable {\r\n for (var index = 0; index < this.skeletons.length; index++) {\r\n if (this.skeletons[index].id === id) {\r\n return this.skeletons[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a skeleton using a given name\r\n * @param name defines the name to search for\r\n * @return the found skeleton or null if not found at all.\r\n */\r\n public getSkeletonByName(name: string): Nullable {\r\n for (var index = 0; index < this.skeletons.length; index++) {\r\n if (this.skeletons[index].name === name) {\r\n return this.skeletons[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a morph target manager using a given id (if many are found, this function will pick the last one)\r\n * @param id defines the id to search for\r\n * @return the found morph target manager or null if not found at all.\r\n */\r\n public getMorphTargetManagerById(id: number): Nullable {\r\n for (var index = 0; index < this.morphTargetManagers.length; index++) {\r\n if (this.morphTargetManagers[index].uniqueId === id) {\r\n return this.morphTargetManagers[index];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a morph target using a given id (if many are found, this function will pick the first one)\r\n * @param id defines the id to search for\r\n * @return the found morph target or null if not found at all.\r\n */\r\n public getMorphTargetById(id: string): Nullable {\r\n for (let managerIndex = 0; managerIndex < this.morphTargetManagers.length; ++managerIndex) {\r\n const morphTargetManager = this.morphTargetManagers[managerIndex];\r\n for (let index = 0; index < morphTargetManager.numTargets; ++index) {\r\n const target = morphTargetManager.getTarget(index);\r\n if (target.id === id) {\r\n return target;\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a morph target using a given name (if many are found, this function will pick the first one)\r\n * @param name defines the name to search for\r\n * @return the found morph target or null if not found at all.\r\n */\r\n public getMorphTargetByName(name: string): Nullable {\r\n for (let managerIndex = 0; managerIndex < this.morphTargetManagers.length; ++managerIndex) {\r\n const morphTargetManager = this.morphTargetManagers[managerIndex];\r\n for (let index = 0; index < morphTargetManager.numTargets; ++index) {\r\n const target = morphTargetManager.getTarget(index);\r\n if (target.name === name) {\r\n return target;\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a post process using a given name (if many are found, this function will pick the first one)\r\n * @param name defines the name to search for\r\n * @return the found post process or null if not found at all.\r\n */\r\n public getPostProcessByName(name: string): Nullable {\r\n for (let postProcessIndex = 0; postProcessIndex < this.postProcesses.length; ++postProcessIndex) {\r\n const postProcess = this.postProcesses[postProcessIndex];\r\n if (postProcess.name === name) {\r\n return postProcess;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if the given mesh is active\r\n * @param mesh defines the mesh to look for\r\n * @returns true if the mesh is in the active list\r\n */\r\n public isActiveMesh(mesh: AbstractMesh): boolean {\r\n return (this._activeMeshes.indexOf(mesh) !== -1);\r\n }\r\n\r\n /**\r\n * Return a unique id as a string which can serve as an identifier for the scene\r\n */\r\n public get uid(): string {\r\n if (!this._uid) {\r\n this._uid = Tools.RandomId();\r\n }\r\n return this._uid;\r\n }\r\n\r\n /**\r\n * Add an externaly attached data from its key.\r\n * This method call will fail and return false, if such key already exists.\r\n * If you don't care and just want to get the data no matter what, use the more convenient getOrAddExternalDataWithFactory() method.\r\n * @param key the unique key that identifies the data\r\n * @param data the data object to associate to the key for this Engine instance\r\n * @return true if no such key were already present and the data was added successfully, false otherwise\r\n */\r\n public addExternalData(key: string, data: T): boolean {\r\n if (!this._externalData) {\r\n this._externalData = new StringDictionary();\r\n }\r\n return this._externalData.add(key, data);\r\n }\r\n\r\n /**\r\n * Get an externaly attached data from its key\r\n * @param key the unique key that identifies the data\r\n * @return the associated data, if present (can be null), or undefined if not present\r\n */\r\n public getExternalData(key: string): Nullable {\r\n if (!this._externalData) {\r\n return null;\r\n }\r\n return this._externalData.get(key);\r\n }\r\n\r\n /**\r\n * Get an externaly attached data from its key, create it using a factory if it's not already present\r\n * @param key the unique key that identifies the data\r\n * @param factory the factory that will be called to create the instance if and only if it doesn't exists\r\n * @return the associated data, can be null if the factory returned null.\r\n */\r\n public getOrAddExternalDataWithFactory(key: string, factory: (k: string) => T): T {\r\n if (!this._externalData) {\r\n this._externalData = new StringDictionary();\r\n }\r\n return this._externalData.getOrAddWithFactory(key, factory);\r\n }\r\n\r\n /**\r\n * Remove an externaly attached data from the Engine instance\r\n * @param key the unique key that identifies the data\r\n * @return true if the data was successfully removed, false if it doesn't exist\r\n */\r\n public removeExternalData(key: string): boolean {\r\n return this._externalData.remove(key);\r\n }\r\n\r\n private _evaluateSubMesh(subMesh: SubMesh, mesh: AbstractMesh, initialMesh: AbstractMesh): void {\r\n if (initialMesh.hasInstances || initialMesh.isAnInstance || this.dispatchAllSubMeshesOfActiveMeshes || this._skipFrustumClipping || mesh.alwaysSelectAsActiveMesh || mesh.subMeshes.length === 1 || subMesh.isInFrustum(this._frustumPlanes)) {\r\n for (let step of this._evaluateSubMeshStage) {\r\n step.action(mesh, subMesh);\r\n }\r\n\r\n const material = subMesh.getMaterial();\r\n if (material !== null && material !== undefined) {\r\n // Render targets\r\n if (material.hasRenderTargetTextures && material.getRenderTargetTextures != null) {\r\n if (this._processedMaterials.indexOf(material) === -1) {\r\n this._processedMaterials.push(material);\r\n\r\n this._renderTargets.concatWithNoDuplicate(material.getRenderTargetTextures!());\r\n }\r\n }\r\n\r\n // Dispatch\r\n this._renderingManager.dispatch(subMesh, mesh, material);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Clear the processed materials smart array preventing retention point in material dispose.\r\n */\r\n public freeProcessedMaterials(): void {\r\n this._processedMaterials.dispose();\r\n }\r\n\r\n private _preventFreeActiveMeshesAndRenderingGroups = false;\r\n\r\n /** Gets or sets a boolean blocking all the calls to freeActiveMeshes and freeRenderingGroups\r\n * It can be used in order to prevent going through methods freeRenderingGroups and freeActiveMeshes several times to improve performance\r\n * when disposing several meshes in a row or a hierarchy of meshes.\r\n * When used, it is the responsability of the user to blockfreeActiveMeshesAndRenderingGroups back to false.\r\n */\r\n public get blockfreeActiveMeshesAndRenderingGroups(): boolean {\r\n return this._preventFreeActiveMeshesAndRenderingGroups;\r\n }\r\n\r\n public set blockfreeActiveMeshesAndRenderingGroups(value: boolean) {\r\n if (this._preventFreeActiveMeshesAndRenderingGroups === value) {\r\n return;\r\n }\r\n\r\n if (value) {\r\n this.freeActiveMeshes();\r\n this.freeRenderingGroups();\r\n }\r\n\r\n this._preventFreeActiveMeshesAndRenderingGroups = value;\r\n }\r\n\r\n /**\r\n * Clear the active meshes smart array preventing retention point in mesh dispose.\r\n */\r\n public freeActiveMeshes(): void {\r\n if (this.blockfreeActiveMeshesAndRenderingGroups) {\r\n return;\r\n }\r\n\r\n this._activeMeshes.dispose();\r\n if (this.activeCamera && this.activeCamera._activeMeshes) {\r\n this.activeCamera._activeMeshes.dispose();\r\n }\r\n if (this.activeCameras) {\r\n for (let i = 0; i < this.activeCameras.length; i++) {\r\n let activeCamera = this.activeCameras[i];\r\n if (activeCamera && activeCamera._activeMeshes) {\r\n activeCamera._activeMeshes.dispose();\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Clear the info related to rendering groups preventing retention points during dispose.\r\n */\r\n public freeRenderingGroups(): void {\r\n if (this.blockfreeActiveMeshesAndRenderingGroups) {\r\n return;\r\n }\r\n\r\n if (this._renderingManager) {\r\n this._renderingManager.freeRenderingGroups();\r\n }\r\n if (this.textures) {\r\n for (let i = 0; i < this.textures.length; i++) {\r\n let texture = this.textures[i];\r\n if (texture && (texture).renderList) {\r\n (texture).freeRenderingGroups();\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _isInIntermediateRendering(): boolean {\r\n return this._intermediateRendering;\r\n }\r\n\r\n /**\r\n * Lambda returning the list of potentially active meshes.\r\n */\r\n public getActiveMeshCandidates: () => ISmartArrayLike;\r\n\r\n /**\r\n * Lambda returning the list of potentially active sub meshes.\r\n */\r\n public getActiveSubMeshCandidates: (mesh: AbstractMesh) => ISmartArrayLike;\r\n\r\n /**\r\n * Lambda returning the list of potentially intersecting sub meshes.\r\n */\r\n public getIntersectingSubMeshCandidates: (mesh: AbstractMesh, localRay: Ray) => ISmartArrayLike;\r\n\r\n /**\r\n * Lambda returning the list of potentially colliding sub meshes.\r\n */\r\n public getCollidingSubMeshCandidates: (mesh: AbstractMesh, collider: Collider) => ISmartArrayLike;\r\n\r\n /** @hidden */\r\n public _activeMeshesFrozen = false;\r\n private _skipEvaluateActiveMeshesCompletely = false;\r\n\r\n /**\r\n * Use this function to stop evaluating active meshes. The current list will be keep alive between frames\r\n * @param skipEvaluateActiveMeshes defines an optional boolean indicating that the evaluate active meshes step must be completely skipped\r\n * @param onSuccess optional success callback\r\n * @param onError optional error callback\r\n * @returns the current scene\r\n */\r\n public freezeActiveMeshes(skipEvaluateActiveMeshes = false, onSuccess?: () => void, onError?: (message: string) => void): Scene {\r\n this.executeWhenReady(() => {\r\n if (!this.activeCamera) {\r\n onError && onError('No active camera found');\r\n return;\r\n }\r\n\r\n if (!this._frustumPlanes) {\r\n this.setTransformMatrix(this.activeCamera.getViewMatrix(), this.activeCamera.getProjectionMatrix());\r\n }\r\n\r\n this._evaluateActiveMeshes();\r\n this._activeMeshesFrozen = true;\r\n this._skipEvaluateActiveMeshesCompletely = skipEvaluateActiveMeshes;\r\n\r\n for (var index = 0; index < this._activeMeshes.length; index++) {\r\n this._activeMeshes.data[index]._freeze();\r\n }\r\n onSuccess && onSuccess();\r\n });\r\n return this;\r\n }\r\n\r\n /**\r\n * Use this function to restart evaluating active meshes on every frame\r\n * @returns the current scene\r\n */\r\n public unfreezeActiveMeshes(): Scene {\r\n\r\n for (var index = 0; index < this.meshes.length; index++) {\r\n const mesh = this.meshes[index];\r\n if (mesh._internalAbstractMeshDataInfo) {\r\n mesh._internalAbstractMeshDataInfo._isActive = false;\r\n }\r\n }\r\n\r\n for (var index = 0; index < this._activeMeshes.length; index++) {\r\n this._activeMeshes.data[index]._unFreeze();\r\n }\r\n\r\n this._activeMeshesFrozen = false;\r\n return this;\r\n }\r\n\r\n private _evaluateActiveMeshes(): void {\r\n if (this._activeMeshesFrozen && this._activeMeshes.length) {\r\n\r\n if (!this._skipEvaluateActiveMeshesCompletely) {\r\n const len = this._activeMeshes.length;\r\n for (let i = 0; i < len; i++) {\r\n let mesh = this._activeMeshes.data[i];\r\n mesh.computeWorldMatrix();\r\n }\r\n }\r\n\r\n if (this._activeParticleSystems) {\r\n const psLength = this._activeParticleSystems.length;\r\n for (let i = 0; i < psLength; i++) {\r\n this._activeParticleSystems.data[i].animate();\r\n }\r\n }\r\n\r\n return;\r\n }\r\n\r\n if (!this.activeCamera) {\r\n return;\r\n }\r\n\r\n this.onBeforeActiveMeshesEvaluationObservable.notifyObservers(this);\r\n\r\n this.activeCamera._activeMeshes.reset();\r\n this._activeMeshes.reset();\r\n this._renderingManager.reset();\r\n this._processedMaterials.reset();\r\n this._activeParticleSystems.reset();\r\n this._activeSkeletons.reset();\r\n this._softwareSkinnedMeshes.reset();\r\n for (let step of this._beforeEvaluateActiveMeshStage) {\r\n step.action();\r\n }\r\n\r\n // Determine mesh candidates\r\n const meshes = this.getActiveMeshCandidates();\r\n\r\n // Check each mesh\r\n const len = meshes.length;\r\n for (let i = 0; i < len; i++) {\r\n const mesh = meshes.data[i];\r\n mesh._internalAbstractMeshDataInfo._currentLODIsUpToDate = false;\r\n if (mesh.isBlocked) {\r\n continue;\r\n }\r\n\r\n this._totalVertices.addCount(mesh.getTotalVertices(), false);\r\n\r\n if (!mesh.isReady() || !mesh.isEnabled() || mesh.scaling.lengthSquared() === 0) {\r\n continue;\r\n }\r\n\r\n mesh.computeWorldMatrix();\r\n\r\n // Intersections\r\n if (mesh.actionManager && mesh.actionManager.hasSpecificTriggers2(12, 13)) {\r\n this._meshesForIntersections.pushNoDuplicate(mesh);\r\n }\r\n\r\n // Switch to current LOD\r\n let meshToRender = this.customLODSelector ? this.customLODSelector(mesh, this.activeCamera) : mesh.getLOD(this.activeCamera);\r\n mesh._internalAbstractMeshDataInfo._currentLOD = meshToRender;\r\n mesh._internalAbstractMeshDataInfo._currentLODIsUpToDate = true;\r\n if (meshToRender === undefined || meshToRender === null) {\r\n continue;\r\n }\r\n\r\n // Compute world matrix if LOD is billboard\r\n if (meshToRender !== mesh && meshToRender.billboardMode !== TransformNode.BILLBOARDMODE_NONE) {\r\n meshToRender.computeWorldMatrix();\r\n }\r\n\r\n mesh._preActivate();\r\n\r\n if (mesh.isVisible && mesh.visibility > 0 && ((mesh.layerMask & this.activeCamera.layerMask) !== 0) && (this._skipFrustumClipping || mesh.alwaysSelectAsActiveMesh || mesh.isInFrustum(this._frustumPlanes))) {\r\n this._activeMeshes.push(mesh);\r\n this.activeCamera._activeMeshes.push(mesh);\r\n\r\n if (meshToRender !== mesh) {\r\n meshToRender._activate(this._renderId, false);\r\n }\r\n\r\n for (let step of this._preActiveMeshStage) {\r\n step.action(mesh);\r\n }\r\n\r\n if (mesh._activate(this._renderId, false)) {\r\n if (!mesh.isAnInstance) {\r\n meshToRender._internalAbstractMeshDataInfo._onlyForInstances = false;\r\n } else {\r\n if (mesh._internalAbstractMeshDataInfo._actAsRegularMesh) {\r\n meshToRender = mesh;\r\n }\r\n }\r\n meshToRender._internalAbstractMeshDataInfo._isActive = true;\r\n this._activeMesh(mesh, meshToRender);\r\n }\r\n\r\n mesh._postActivate();\r\n }\r\n }\r\n\r\n this.onAfterActiveMeshesEvaluationObservable.notifyObservers(this);\r\n\r\n // Particle systems\r\n if (this.particlesEnabled) {\r\n this.onBeforeParticlesRenderingObservable.notifyObservers(this);\r\n for (var particleIndex = 0; particleIndex < this.particleSystems.length; particleIndex++) {\r\n var particleSystem = this.particleSystems[particleIndex];\r\n\r\n if (!particleSystem.isStarted() || !particleSystem.emitter) {\r\n continue;\r\n }\r\n\r\n let emitter = particleSystem.emitter;\r\n if (!emitter.position || emitter.isEnabled()) {\r\n this._activeParticleSystems.push(particleSystem);\r\n particleSystem.animate();\r\n this._renderingManager.dispatchParticles(particleSystem);\r\n }\r\n }\r\n this.onAfterParticlesRenderingObservable.notifyObservers(this);\r\n }\r\n }\r\n\r\n private _activeMesh(sourceMesh: AbstractMesh, mesh: AbstractMesh): void {\r\n if (this._skeletonsEnabled && mesh.skeleton !== null && mesh.skeleton !== undefined) {\r\n if (this._activeSkeletons.pushNoDuplicate(mesh.skeleton)) {\r\n mesh.skeleton.prepare();\r\n }\r\n\r\n if (!mesh.computeBonesUsingShaders) {\r\n this._softwareSkinnedMeshes.pushNoDuplicate(mesh);\r\n }\r\n }\r\n\r\n if (\r\n mesh !== undefined && mesh !== null\r\n && mesh.subMeshes !== undefined && mesh.subMeshes !== null && mesh.subMeshes.length > 0\r\n ) {\r\n const subMeshes = this.getActiveSubMeshCandidates(mesh);\r\n const len = subMeshes.length;\r\n for (let i = 0; i < len; i++) {\r\n const subMesh = subMeshes.data[i];\r\n this._evaluateSubMesh(subMesh, mesh, sourceMesh);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Update the transform matrix to update from the current active camera\r\n * @param force defines a boolean used to force the update even if cache is up to date\r\n */\r\n public updateTransformMatrix(force?: boolean): void {\r\n if (!this.activeCamera) {\r\n return;\r\n }\r\n this.setTransformMatrix(this.activeCamera.getViewMatrix(), this.activeCamera.getProjectionMatrix(force));\r\n }\r\n\r\n private _bindFrameBuffer() {\r\n if (this.activeCamera && this.activeCamera._multiviewTexture) {\r\n this.activeCamera._multiviewTexture._bindFrameBuffer();\r\n } else if (this.activeCamera && this.activeCamera.outputRenderTarget) {\r\n var useMultiview = this.getEngine().getCaps().multiview && this.activeCamera.outputRenderTarget && this.activeCamera.outputRenderTarget.getViewCount() > 1;\r\n if (useMultiview) {\r\n this.activeCamera.outputRenderTarget._bindFrameBuffer();\r\n } else {\r\n var internalTexture = this.activeCamera.outputRenderTarget.getInternalTexture();\r\n if (internalTexture) {\r\n this.getEngine().bindFramebuffer(internalTexture);\r\n } else {\r\n Logger.Error(\"Camera contains invalid customDefaultRenderTarget\");\r\n }\r\n }\r\n } else {\r\n this.getEngine().restoreDefaultFramebuffer(); // Restore back buffer if needed\r\n }\r\n }\r\n /** @hidden */\r\n public _allowPostProcessClearColor = true;\r\n /** @hidden */\r\n public _renderForCamera(camera: Camera, rigParent?: Camera): void {\r\n if (camera && camera._skipRendering) {\r\n return;\r\n }\r\n\r\n var engine = this._engine;\r\n\r\n // Use _activeCamera instead of activeCamera to avoid onActiveCameraChanged\r\n this._activeCamera = camera;\r\n\r\n if (!this.activeCamera) {\r\n throw new Error(\"Active camera not set\");\r\n }\r\n\r\n // Viewport\r\n engine.setViewport(this.activeCamera.viewport);\r\n\r\n // Camera\r\n this.resetCachedMaterial();\r\n this._renderId++;\r\n\r\n var useMultiview = this.getEngine().getCaps().multiview && camera.outputRenderTarget && camera.outputRenderTarget.getViewCount() > 1;\r\n if (useMultiview) {\r\n this.setTransformMatrix(camera._rigCameras[0].getViewMatrix(), camera._rigCameras[0].getProjectionMatrix(), camera._rigCameras[1].getViewMatrix(), camera._rigCameras[1].getProjectionMatrix());\r\n } else {\r\n this.updateTransformMatrix();\r\n }\r\n\r\n this.onBeforeCameraRenderObservable.notifyObservers(this.activeCamera);\r\n\r\n // Meshes\r\n this._evaluateActiveMeshes();\r\n\r\n // Software skinning\r\n for (var softwareSkinnedMeshIndex = 0; softwareSkinnedMeshIndex < this._softwareSkinnedMeshes.length; softwareSkinnedMeshIndex++) {\r\n var mesh = this._softwareSkinnedMeshes.data[softwareSkinnedMeshIndex];\r\n\r\n mesh.applySkeleton(mesh.skeleton);\r\n }\r\n\r\n // Render targets\r\n this.onBeforeRenderTargetsRenderObservable.notifyObservers(this);\r\n\r\n if (camera.customRenderTargets && camera.customRenderTargets.length > 0) {\r\n this._renderTargets.concatWithNoDuplicate(camera.customRenderTargets);\r\n }\r\n\r\n if (rigParent && rigParent.customRenderTargets && rigParent.customRenderTargets.length > 0) {\r\n this._renderTargets.concatWithNoDuplicate(rigParent.customRenderTargets);\r\n }\r\n\r\n // Collects render targets from external components.\r\n for (let step of this._gatherActiveCameraRenderTargetsStage) {\r\n step.action(this._renderTargets);\r\n }\r\n\r\n let needRebind = false;\r\n if (this.renderTargetsEnabled) {\r\n this._intermediateRendering = true;\r\n\r\n if (this._renderTargets.length > 0) {\r\n Tools.StartPerformanceCounter(\"Render targets\", this._renderTargets.length > 0);\r\n for (var renderIndex = 0; renderIndex < this._renderTargets.length; renderIndex++) {\r\n let renderTarget = this._renderTargets.data[renderIndex];\r\n if (renderTarget._shouldRender()) {\r\n this._renderId++;\r\n var hasSpecialRenderTargetCamera = renderTarget.activeCamera && renderTarget.activeCamera !== this.activeCamera;\r\n renderTarget.render((hasSpecialRenderTargetCamera), this.dumpNextRenderTargets);\r\n needRebind = true;\r\n }\r\n }\r\n Tools.EndPerformanceCounter(\"Render targets\", this._renderTargets.length > 0);\r\n\r\n this._renderId++;\r\n }\r\n\r\n for (let step of this._cameraDrawRenderTargetStage) {\r\n needRebind = step.action(this.activeCamera) || needRebind;\r\n }\r\n\r\n this._intermediateRendering = false;\r\n\r\n // Need to bind if sub-camera has an outputRenderTarget eg. for webXR\r\n if (this.activeCamera && this.activeCamera.outputRenderTarget) {\r\n needRebind = true;\r\n }\r\n }\r\n\r\n // Restore framebuffer after rendering to targets\r\n if (needRebind && !this.prePass) {\r\n this._bindFrameBuffer();\r\n }\r\n\r\n this.onAfterRenderTargetsRenderObservable.notifyObservers(this);\r\n\r\n // Prepare Frame\r\n if (this.postProcessManager && !camera._multiviewTexture && !this.prePass) {\r\n this.postProcessManager._prepareFrame();\r\n }\r\n\r\n // Before Camera Draw\r\n for (let step of this._beforeCameraDrawStage) {\r\n step.action(this.activeCamera);\r\n }\r\n\r\n // Render\r\n this.onBeforeDrawPhaseObservable.notifyObservers(this);\r\n this._renderingManager.render(null, null, true, true);\r\n this.onAfterDrawPhaseObservable.notifyObservers(this);\r\n\r\n // After Camera Draw\r\n for (let step of this._afterCameraDrawStage) {\r\n step.action(this.activeCamera);\r\n }\r\n\r\n // Finalize frame\r\n if (this.postProcessManager && !camera._multiviewTexture) {\r\n // if the camera has an output render target, render the post process to the render target\r\n const texture = camera.outputRenderTarget ? camera.outputRenderTarget.getInternalTexture()! : undefined;\r\n this.postProcessManager._finalizeFrame(camera.isIntermediate, texture);\r\n }\r\n\r\n // Reset some special arrays\r\n this._renderTargets.reset();\r\n\r\n this.onAfterCameraRenderObservable.notifyObservers(this.activeCamera);\r\n }\r\n\r\n private _processSubCameras(camera: Camera): void {\r\n if (camera.cameraRigMode === Camera.RIG_MODE_NONE || (camera.outputRenderTarget && camera.outputRenderTarget.getViewCount() > 1 && this.getEngine().getCaps().multiview)) {\r\n this._renderForCamera(camera);\r\n this.onAfterRenderCameraObservable.notifyObservers(camera);\r\n return;\r\n }\r\n\r\n if (camera._useMultiviewToSingleView) {\r\n this._renderMultiviewToSingleView(camera);\r\n } else {\r\n // rig cameras\r\n for (var index = 0; index < camera._rigCameras.length; index++) {\r\n this._renderForCamera(camera._rigCameras[index], camera);\r\n }\r\n }\r\n\r\n // Use _activeCamera instead of activeCamera to avoid onActiveCameraChanged\r\n this._activeCamera = camera;\r\n this.setTransformMatrix(this._activeCamera.getViewMatrix(), this._activeCamera.getProjectionMatrix());\r\n this.onAfterRenderCameraObservable.notifyObservers(camera);\r\n }\r\n\r\n private _checkIntersections(): void {\r\n for (var index = 0; index < this._meshesForIntersections.length; index++) {\r\n var sourceMesh = this._meshesForIntersections.data[index];\r\n\r\n if (!sourceMesh.actionManager) {\r\n continue;\r\n }\r\n\r\n for (var actionIndex = 0; sourceMesh.actionManager && actionIndex < sourceMesh.actionManager.actions.length; actionIndex++) {\r\n var action = sourceMesh.actionManager.actions[actionIndex];\r\n\r\n if (action.trigger === 12 || action.trigger === 13) {\r\n var parameters = action.getTriggerParameter();\r\n var otherMesh = parameters instanceof AbstractMesh ? parameters : parameters.mesh;\r\n\r\n var areIntersecting = otherMesh.intersectsMesh(sourceMesh, parameters.usePreciseIntersection);\r\n var currentIntersectionInProgress = sourceMesh._intersectionsInProgress.indexOf(otherMesh);\r\n\r\n if (areIntersecting && currentIntersectionInProgress === -1) {\r\n if (action.trigger === 12) {\r\n action._executeCurrent(ActionEvent.CreateNew(sourceMesh, undefined, otherMesh));\r\n sourceMesh._intersectionsInProgress.push(otherMesh);\r\n } else if (action.trigger === 13) {\r\n sourceMesh._intersectionsInProgress.push(otherMesh);\r\n }\r\n } else if (!areIntersecting && currentIntersectionInProgress > -1) {\r\n //They intersected, and now they don't.\r\n\r\n //is this trigger an exit trigger? execute an event.\r\n if (action.trigger === 13) {\r\n action._executeCurrent(ActionEvent.CreateNew(sourceMesh, undefined, otherMesh));\r\n }\r\n\r\n //if this is an exit trigger, or no exit trigger exists, remove the id from the intersection in progress array.\r\n if (!sourceMesh.actionManager.hasSpecificTrigger(13, (parameter) => {\r\n var parameterMesh = parameter instanceof AbstractMesh ? parameter : parameter.mesh;\r\n return otherMesh === parameterMesh;\r\n }) || action.trigger === 13) {\r\n sourceMesh._intersectionsInProgress.splice(currentIntersectionInProgress, 1);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _advancePhysicsEngineStep(step: number) {\r\n // Do nothing. Code will be replaced if physics engine component is referenced\r\n }\r\n\r\n /**\r\n * User updatable function that will return a deterministic frame time when engine is in deterministic lock step mode\r\n */\r\n public getDeterministicFrameTime: () => number = () => {\r\n return this._engine.getTimeStep();\r\n }\r\n\r\n /** @hidden */\r\n public _animate(): void {\r\n // Nothing to do as long as Animatable have not been imported.\r\n }\r\n\r\n /** Execute all animations (for a frame) */\r\n public animate() {\r\n if (this._engine.isDeterministicLockStep()) {\r\n var deltaTime = Math.max(Scene.MinDeltaTime, Math.min(this._engine.getDeltaTime(), Scene.MaxDeltaTime)) + this._timeAccumulator;\r\n\r\n let defaultFrameTime = this._engine.getTimeStep();\r\n var defaultFPS = (1000.0 / defaultFrameTime) / 1000.0;\r\n\r\n let stepsTaken = 0;\r\n\r\n var maxSubSteps = this._engine.getLockstepMaxSteps();\r\n\r\n var internalSteps = Math.floor(deltaTime / defaultFrameTime);\r\n internalSteps = Math.min(internalSteps, maxSubSteps);\r\n\r\n while (deltaTime > 0 && stepsTaken < internalSteps) {\r\n this.onBeforeStepObservable.notifyObservers(this);\r\n\r\n // Animations\r\n this._animationRatio = defaultFrameTime * defaultFPS;\r\n this._animate();\r\n this.onAfterAnimationsObservable.notifyObservers(this);\r\n\r\n // Physics\r\n if (this.physicsEnabled) {\r\n this._advancePhysicsEngineStep(defaultFrameTime);\r\n }\r\n\r\n this.onAfterStepObservable.notifyObservers(this);\r\n this._currentStepId++;\r\n\r\n stepsTaken++;\r\n deltaTime -= defaultFrameTime;\r\n\r\n }\r\n\r\n this._timeAccumulator = deltaTime < 0 ? 0 : deltaTime;\r\n\r\n }\r\n else {\r\n // Animations\r\n var deltaTime = this.useConstantAnimationDeltaTime ? 16 : Math.max(Scene.MinDeltaTime, Math.min(this._engine.getDeltaTime(), Scene.MaxDeltaTime));\r\n this._animationRatio = deltaTime * (60.0 / 1000.0);\r\n this._animate();\r\n this.onAfterAnimationsObservable.notifyObservers(this);\r\n\r\n // Physics\r\n if (this.physicsEnabled) {\r\n this._advancePhysicsEngineStep(deltaTime);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Render the scene\r\n * @param updateCameras defines a boolean indicating if cameras must update according to their inputs (true by default)\r\n * @param ignoreAnimations defines a boolean indicating if animations should not be executed (false by default)\r\n */\r\n public render(updateCameras = true, ignoreAnimations = false): void {\r\n if (this.isDisposed) {\r\n return;\r\n }\r\n\r\n if (this.onReadyObservable.hasObservers() && this._executeWhenReadyTimeoutId === -1) {\r\n this._checkIsReady();\r\n }\r\n\r\n this._frameId++;\r\n\r\n // Register components that have been associated lately to the scene.\r\n this._registerTransientComponents();\r\n\r\n this._activeParticles.fetchNewFrame();\r\n this._totalVertices.fetchNewFrame();\r\n this._activeIndices.fetchNewFrame();\r\n this._activeBones.fetchNewFrame();\r\n this._meshesForIntersections.reset();\r\n this.resetCachedMaterial();\r\n\r\n this.onBeforeAnimationsObservable.notifyObservers(this);\r\n\r\n // Actions\r\n if (this.actionManager) {\r\n this.actionManager.processTrigger(11);\r\n }\r\n\r\n // Animations\r\n if (!ignoreAnimations) {\r\n this.animate();\r\n }\r\n\r\n // Before camera update steps\r\n for (let step of this._beforeCameraUpdateStage) {\r\n step.action();\r\n }\r\n\r\n // Update Cameras\r\n if (updateCameras) {\r\n if (this.activeCameras && this.activeCameras.length > 0) {\r\n for (var cameraIndex = 0; cameraIndex < this.activeCameras.length; cameraIndex++) {\r\n let camera = this.activeCameras[cameraIndex];\r\n camera.update();\r\n if (camera.cameraRigMode !== Camera.RIG_MODE_NONE) {\r\n // rig cameras\r\n for (var index = 0; index < camera._rigCameras.length; index++) {\r\n camera._rigCameras[index].update();\r\n }\r\n }\r\n }\r\n } else if (this.activeCamera) {\r\n this.activeCamera.update();\r\n if (this.activeCamera.cameraRigMode !== Camera.RIG_MODE_NONE) {\r\n // rig cameras\r\n for (var index = 0; index < this.activeCamera._rigCameras.length; index++) {\r\n this.activeCamera._rigCameras[index].update();\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Before render\r\n this.onBeforeRenderObservable.notifyObservers(this);\r\n\r\n // Customs render targets\r\n this.onBeforeRenderTargetsRenderObservable.notifyObservers(this);\r\n var engine = this.getEngine();\r\n var currentActiveCamera = this.activeCamera;\r\n if (this.renderTargetsEnabled) {\r\n Tools.StartPerformanceCounter(\"Custom render targets\", this.customRenderTargets.length > 0);\r\n this._intermediateRendering = true;\r\n for (var customIndex = 0; customIndex < this.customRenderTargets.length; customIndex++) {\r\n var renderTarget = this.customRenderTargets[customIndex];\r\n if (renderTarget._shouldRender()) {\r\n this._renderId++;\r\n\r\n this.activeCamera = renderTarget.activeCamera || this.activeCamera;\r\n\r\n if (!this.activeCamera) {\r\n throw new Error(\"Active camera not set\");\r\n }\r\n\r\n // Viewport\r\n engine.setViewport(this.activeCamera.viewport);\r\n\r\n // Camera\r\n this.updateTransformMatrix();\r\n\r\n renderTarget.render(currentActiveCamera !== this.activeCamera, this.dumpNextRenderTargets);\r\n }\r\n }\r\n Tools.EndPerformanceCounter(\"Custom render targets\", this.customRenderTargets.length > 0);\r\n this._intermediateRendering = false;\r\n this._renderId++;\r\n }\r\n\r\n // Restore back buffer\r\n this.activeCamera = currentActiveCamera;\r\n if (this._activeCamera && this._activeCamera.cameraRigMode !== Camera.RIG_MODE_CUSTOM && !this.prePass) {\r\n this._bindFrameBuffer();\r\n }\r\n this.onAfterRenderTargetsRenderObservable.notifyObservers(this);\r\n\r\n for (let step of this._beforeClearStage) {\r\n step.action();\r\n }\r\n\r\n // Clear\r\n if ((this.autoClearDepthAndStencil || this.autoClear) && !this.prePass) {\r\n this._engine.clear(this.clearColor,\r\n this.autoClear || this.forceWireframe || this.forcePointsCloud,\r\n this.autoClearDepthAndStencil,\r\n this.autoClearDepthAndStencil);\r\n }\r\n\r\n // Collects render targets from external components.\r\n for (let step of this._gatherRenderTargetsStage) {\r\n step.action(this._renderTargets);\r\n }\r\n\r\n // Multi-cameras?\r\n if (this.activeCameras && this.activeCameras.length > 0) {\r\n for (var cameraIndex = 0; cameraIndex < this.activeCameras.length; cameraIndex++) {\r\n if (cameraIndex > 0) {\r\n this._engine.clear(null, false, true, true);\r\n }\r\n\r\n this._processSubCameras(this.activeCameras[cameraIndex]);\r\n }\r\n } else {\r\n if (!this.activeCamera) {\r\n throw new Error(\"No camera defined\");\r\n }\r\n\r\n this._processSubCameras(this.activeCamera);\r\n }\r\n\r\n // Intersection checks\r\n this._checkIntersections();\r\n\r\n // Executes the after render stage actions.\r\n for (let step of this._afterRenderStage) {\r\n step.action();\r\n }\r\n\r\n // After render\r\n if (this.afterRender) {\r\n this.afterRender();\r\n }\r\n\r\n this.onAfterRenderObservable.notifyObservers(this);\r\n\r\n // Cleaning\r\n if (this._toBeDisposed.length) {\r\n for (var index = 0; index < this._toBeDisposed.length; index++) {\r\n var data = this._toBeDisposed[index];\r\n if (data) {\r\n data.dispose();\r\n }\r\n }\r\n\r\n this._toBeDisposed = [];\r\n }\r\n\r\n if (this.dumpNextRenderTargets) {\r\n this.dumpNextRenderTargets = false;\r\n }\r\n\r\n this._activeBones.addCount(0, true);\r\n this._activeIndices.addCount(0, true);\r\n this._activeParticles.addCount(0, true);\r\n }\r\n\r\n /**\r\n * Freeze all materials\r\n * A frozen material will not be updatable but should be faster to render\r\n */\r\n public freezeMaterials(): void {\r\n for (var i = 0; i < this.materials.length; i++) {\r\n this.materials[i].freeze();\r\n }\r\n }\r\n\r\n /**\r\n * Unfreeze all materials\r\n * A frozen material will not be updatable but should be faster to render\r\n */\r\n public unfreezeMaterials(): void {\r\n for (var i = 0; i < this.materials.length; i++) {\r\n this.materials[i].unfreeze();\r\n }\r\n }\r\n\r\n /**\r\n * Releases all held ressources\r\n */\r\n public dispose(): void {\r\n this.beforeRender = null;\r\n this.afterRender = null;\r\n\r\n if (EngineStore._LastCreatedScene === this) {\r\n EngineStore._LastCreatedScene = null;\r\n }\r\n\r\n this.skeletons = [];\r\n this.morphTargetManagers = [];\r\n this._transientComponents = [];\r\n this._isReadyForMeshStage.clear();\r\n this._beforeEvaluateActiveMeshStage.clear();\r\n this._evaluateSubMeshStage.clear();\r\n this._preActiveMeshStage.clear();\r\n this._cameraDrawRenderTargetStage.clear();\r\n this._beforeCameraDrawStage.clear();\r\n this._beforeRenderTargetDrawStage.clear();\r\n this._beforeRenderingGroupDrawStage.clear();\r\n this._beforeRenderingMeshStage.clear();\r\n this._afterRenderingMeshStage.clear();\r\n this._afterRenderingGroupDrawStage.clear();\r\n this._afterCameraDrawStage.clear();\r\n this._afterRenderTargetDrawStage.clear();\r\n this._afterRenderStage.clear();\r\n this._beforeCameraUpdateStage.clear();\r\n this._beforeClearStage.clear();\r\n this._gatherRenderTargetsStage.clear();\r\n this._gatherActiveCameraRenderTargetsStage.clear();\r\n this._pointerMoveStage.clear();\r\n this._pointerDownStage.clear();\r\n this._pointerUpStage.clear();\r\n\r\n for (let component of this._components) {\r\n component.dispose();\r\n }\r\n\r\n this.importedMeshesFiles = new Array();\r\n\r\n if (this.stopAllAnimations) {\r\n this.stopAllAnimations();\r\n }\r\n\r\n this.resetCachedMaterial();\r\n\r\n // Smart arrays\r\n if (this.activeCamera) {\r\n this.activeCamera._activeMeshes.dispose();\r\n this.activeCamera = null;\r\n }\r\n this._activeMeshes.dispose();\r\n this._renderingManager.dispose();\r\n this._processedMaterials.dispose();\r\n this._activeParticleSystems.dispose();\r\n this._activeSkeletons.dispose();\r\n this._softwareSkinnedMeshes.dispose();\r\n this._renderTargets.dispose();\r\n this._registeredForLateAnimationBindings.dispose();\r\n this._meshesForIntersections.dispose();\r\n this._toBeDisposed = [];\r\n\r\n // Abort active requests\r\n for (let request of this._activeRequests) {\r\n request.abort();\r\n }\r\n\r\n // Events\r\n this.onDisposeObservable.notifyObservers(this);\r\n\r\n this.onDisposeObservable.clear();\r\n this.onBeforeRenderObservable.clear();\r\n this.onAfterRenderObservable.clear();\r\n this.onBeforeRenderTargetsRenderObservable.clear();\r\n this.onAfterRenderTargetsRenderObservable.clear();\r\n this.onAfterStepObservable.clear();\r\n this.onBeforeStepObservable.clear();\r\n this.onBeforeActiveMeshesEvaluationObservable.clear();\r\n this.onAfterActiveMeshesEvaluationObservable.clear();\r\n this.onBeforeParticlesRenderingObservable.clear();\r\n this.onAfterParticlesRenderingObservable.clear();\r\n this.onBeforeDrawPhaseObservable.clear();\r\n this.onAfterDrawPhaseObservable.clear();\r\n this.onBeforeAnimationsObservable.clear();\r\n this.onAfterAnimationsObservable.clear();\r\n this.onDataLoadedObservable.clear();\r\n this.onBeforeRenderingGroupObservable.clear();\r\n this.onAfterRenderingGroupObservable.clear();\r\n this.onMeshImportedObservable.clear();\r\n this.onBeforeCameraRenderObservable.clear();\r\n this.onAfterCameraRenderObservable.clear();\r\n this.onReadyObservable.clear();\r\n this.onNewCameraAddedObservable.clear();\r\n this.onCameraRemovedObservable.clear();\r\n this.onNewLightAddedObservable.clear();\r\n this.onLightRemovedObservable.clear();\r\n this.onNewGeometryAddedObservable.clear();\r\n this.onGeometryRemovedObservable.clear();\r\n this.onNewTransformNodeAddedObservable.clear();\r\n this.onTransformNodeRemovedObservable.clear();\r\n this.onNewMeshAddedObservable.clear();\r\n this.onMeshRemovedObservable.clear();\r\n this.onNewSkeletonAddedObservable.clear();\r\n this.onSkeletonRemovedObservable.clear();\r\n this.onNewMaterialAddedObservable.clear();\r\n this.onNewMultiMaterialAddedObservable.clear();\r\n this.onMaterialRemovedObservable.clear();\r\n this.onMultiMaterialRemovedObservable.clear();\r\n this.onNewTextureAddedObservable.clear();\r\n this.onTextureRemovedObservable.clear();\r\n this.onPrePointerObservable.clear();\r\n this.onPointerObservable.clear();\r\n this.onPreKeyboardObservable.clear();\r\n this.onKeyboardObservable.clear();\r\n this.onActiveCameraChanged.clear();\r\n\r\n this.detachControl();\r\n\r\n // Detach cameras\r\n var canvas = this._engine.getInputElement();\r\n\r\n if (canvas) {\r\n var index;\r\n for (index = 0; index < this.cameras.length; index++) {\r\n this.cameras[index].detachControl();\r\n }\r\n }\r\n\r\n // Release animation groups\r\n while (this.animationGroups.length) {\r\n this.animationGroups[0].dispose();\r\n }\r\n\r\n // Release lights\r\n while (this.lights.length) {\r\n this.lights[0].dispose();\r\n }\r\n\r\n // Release meshes\r\n while (this.meshes.length) {\r\n this.meshes[0].dispose(true);\r\n }\r\n while (this.transformNodes.length) {\r\n this.transformNodes[0].dispose(true);\r\n }\r\n\r\n // Release cameras\r\n while (this.cameras.length) {\r\n this.cameras[0].dispose();\r\n }\r\n\r\n // Release materials\r\n if (this._defaultMaterial) {\r\n this._defaultMaterial.dispose();\r\n }\r\n while (this.multiMaterials.length) {\r\n this.multiMaterials[0].dispose();\r\n }\r\n while (this.materials.length) {\r\n this.materials[0].dispose();\r\n }\r\n\r\n // Release particles\r\n while (this.particleSystems.length) {\r\n this.particleSystems[0].dispose();\r\n }\r\n\r\n // Release postProcesses\r\n while (this.postProcesses.length) {\r\n this.postProcesses[0].dispose();\r\n }\r\n\r\n // Release textures\r\n while (this.textures.length) {\r\n this.textures[0].dispose();\r\n }\r\n\r\n // Release UBO\r\n this._sceneUbo.dispose();\r\n\r\n if (this._multiviewSceneUbo) {\r\n this._multiviewSceneUbo.dispose();\r\n }\r\n\r\n // Post-processes\r\n this.postProcessManager.dispose();\r\n\r\n // Remove from engine\r\n index = this._engine.scenes.indexOf(this);\r\n\r\n if (index > -1) {\r\n this._engine.scenes.splice(index, 1);\r\n }\r\n\r\n this._engine.wipeCaches(true);\r\n this._isDisposed = true;\r\n }\r\n\r\n /**\r\n * Gets if the scene is already disposed\r\n */\r\n public get isDisposed(): boolean {\r\n return this._isDisposed;\r\n }\r\n\r\n /**\r\n * Call this function to reduce memory footprint of the scene.\r\n * Vertex buffers will not store CPU data anymore (this will prevent picking, collisions or physics to work correctly)\r\n */\r\n public clearCachedVertexData(): void {\r\n for (var meshIndex = 0; meshIndex < this.meshes.length; meshIndex++) {\r\n var mesh = this.meshes[meshIndex];\r\n var geometry = (mesh).geometry;\r\n\r\n if (geometry) {\r\n geometry._indices = [];\r\n\r\n for (var vbName in geometry._vertexBuffers) {\r\n if (!geometry._vertexBuffers.hasOwnProperty(vbName)) {\r\n continue;\r\n }\r\n geometry._vertexBuffers[vbName]._buffer._data = null;\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * This function will remove the local cached buffer data from texture.\r\n * It will save memory but will prevent the texture from being rebuilt\r\n */\r\n public cleanCachedTextureBuffer(): void {\r\n for (var baseTexture of this.textures) {\r\n let buffer = (baseTexture)._buffer;\r\n\r\n if (buffer) {\r\n (baseTexture)._buffer = null;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Get the world extend vectors with an optional filter\r\n *\r\n * @param filterPredicate the predicate - which meshes should be included when calculating the world size\r\n * @returns {{ min: Vector3; max: Vector3 }} min and max vectors\r\n */\r\n public getWorldExtends(filterPredicate?: (mesh: AbstractMesh) => boolean): { min: Vector3; max: Vector3 } {\r\n var min = new Vector3(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE);\r\n var max = new Vector3(-Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE);\r\n filterPredicate = filterPredicate || (() => true);\r\n this.meshes.filter(filterPredicate).forEach((mesh) => {\r\n mesh.computeWorldMatrix(true);\r\n\r\n if (!mesh.subMeshes || mesh.subMeshes.length === 0 || mesh.infiniteDistance) {\r\n return;\r\n }\r\n\r\n let boundingInfo = mesh.getBoundingInfo();\r\n\r\n var minBox = boundingInfo.boundingBox.minimumWorld;\r\n var maxBox = boundingInfo.boundingBox.maximumWorld;\r\n\r\n Vector3.CheckExtends(minBox, min, max);\r\n Vector3.CheckExtends(maxBox, min, max);\r\n });\r\n\r\n return {\r\n min: min,\r\n max: max\r\n };\r\n }\r\n\r\n // Picking\r\n\r\n /**\r\n * Creates a ray that can be used to pick in the scene\r\n * @param x defines the x coordinate of the origin (on-screen)\r\n * @param y defines the y coordinate of the origin (on-screen)\r\n * @param world defines the world matrix to use if you want to pick in object space (instead of world space)\r\n * @param camera defines the camera to use for the picking\r\n * @param cameraViewSpace defines if picking will be done in view space (false by default)\r\n * @returns a Ray\r\n */\r\n public createPickingRay(x: number, y: number, world: Matrix, camera: Nullable, cameraViewSpace = false): Ray {\r\n throw _DevTools.WarnImport(\"Ray\");\r\n }\r\n\r\n /**\r\n * Creates a ray that can be used to pick in the scene\r\n * @param x defines the x coordinate of the origin (on-screen)\r\n * @param y defines the y coordinate of the origin (on-screen)\r\n * @param world defines the world matrix to use if you want to pick in object space (instead of world space)\r\n * @param result defines the ray where to store the picking ray\r\n * @param camera defines the camera to use for the picking\r\n * @param cameraViewSpace defines if picking will be done in view space (false by default)\r\n * @returns the current scene\r\n */\r\n public createPickingRayToRef(x: number, y: number, world: Matrix, result: Ray, camera: Nullable, cameraViewSpace = false): Scene {\r\n throw _DevTools.WarnImport(\"Ray\");\r\n }\r\n\r\n /**\r\n * Creates a ray that can be used to pick in the scene\r\n * @param x defines the x coordinate of the origin (on-screen)\r\n * @param y defines the y coordinate of the origin (on-screen)\r\n * @param camera defines the camera to use for the picking\r\n * @returns a Ray\r\n */\r\n public createPickingRayInCameraSpace(x: number, y: number, camera?: Camera): Ray {\r\n throw _DevTools.WarnImport(\"Ray\");\r\n }\r\n\r\n /**\r\n * Creates a ray that can be used to pick in the scene\r\n * @param x defines the x coordinate of the origin (on-screen)\r\n * @param y defines the y coordinate of the origin (on-screen)\r\n * @param result defines the ray where to store the picking ray\r\n * @param camera defines the camera to use for the picking\r\n * @returns the current scene\r\n */\r\n public createPickingRayInCameraSpaceToRef(x: number, y: number, result: Ray, camera?: Camera): Scene {\r\n throw _DevTools.WarnImport(\"Ray\");\r\n }\r\n\r\n /** Launch a ray to try to pick a mesh in the scene\r\n * @param x position on screen\r\n * @param y position on screen\r\n * @param predicate Predicate function used to determine eligible meshes. Can be set to null. In this case, a mesh must be enabled, visible and with isPickable set to true\r\n * @param fastCheck defines if the first intersection will be used (and not the closest)\r\n * @param camera to use for computing the picking ray. Can be set to null. In this case, the scene.activeCamera will be used\r\n * @param trianglePredicate defines an optional predicate used to select faces when a mesh intersection is detected\r\n * @returns a PickingInfo\r\n */\r\n public pick(x: number, y: number, predicate?: (mesh: AbstractMesh) => boolean,\r\n fastCheck?: boolean, camera?: Nullable,\r\n trianglePredicate?: TrianglePickingPredicate\r\n ): Nullable {\r\n // Dummy info if picking as not been imported\r\n const pi = new PickingInfo();\r\n pi._pickingUnavailable = true;\r\n return pi;\r\n }\r\n\r\n /** Launch a ray to try to pick a mesh in the scene using only bounding information of the main mesh (not using submeshes)\r\n * @param x position on screen\r\n * @param y position on screen\r\n * @param predicate Predicate function used to determine eligible meshes. Can be set to null. In this case, a mesh must be enabled, visible and with isPickable set to true\r\n * @param fastCheck defines if the first intersection will be used (and not the closest)\r\n * @param camera to use for computing the picking ray. Can be set to null. In this case, the scene.activeCamera will be used\r\n * @returns a PickingInfo (Please note that some info will not be set like distance, bv, bu and everything that cannot be capture by only using bounding infos)\r\n */\r\n public pickWithBoundingInfo(x: number, y: number, predicate?: (mesh: AbstractMesh) => boolean,\r\n fastCheck?: boolean, camera?: Nullable): Nullable {\r\n // Dummy info if picking as not been imported\r\n const pi = new PickingInfo();\r\n pi._pickingUnavailable = true;\r\n return pi;\r\n }\r\n\r\n /** Use the given ray to pick a mesh in the scene\r\n * @param ray The ray to use to pick meshes\r\n * @param predicate Predicate function used to determine eligible meshes. Can be set to null. In this case, a mesh must have isPickable set to true\r\n * @param fastCheck defines if the first intersection will be used (and not the closest)\r\n * @param trianglePredicate defines an optional predicate used to select faces when a mesh intersection is detected\r\n * @returns a PickingInfo\r\n */\r\n public pickWithRay(ray: Ray, predicate?: (mesh: AbstractMesh) => boolean, fastCheck?: boolean,\r\n trianglePredicate?: TrianglePickingPredicate): Nullable {\r\n throw _DevTools.WarnImport(\"Ray\");\r\n }\r\n\r\n /**\r\n * Launch a ray to try to pick a mesh in the scene\r\n * @param x X position on screen\r\n * @param y Y position on screen\r\n * @param predicate Predicate function used to determine eligible meshes. Can be set to null. In this case, a mesh must be enabled, visible and with isPickable set to true\r\n * @param camera camera to use for computing the picking ray. Can be set to null. In this case, the scene.activeCamera will be used\r\n * @param trianglePredicate defines an optional predicate used to select faces when a mesh intersection is detected\r\n * @returns an array of PickingInfo\r\n */\r\n public multiPick(x: number, y: number, predicate?: (mesh: AbstractMesh) => boolean, camera?: Camera,\r\n trianglePredicate?: TrianglePickingPredicate): Nullable {\r\n throw _DevTools.WarnImport(\"Ray\");\r\n }\r\n\r\n /**\r\n * Launch a ray to try to pick a mesh in the scene\r\n * @param ray Ray to use\r\n * @param predicate Predicate function used to determine eligible meshes. Can be set to null. In this case, a mesh must be enabled, visible and with isPickable set to true\r\n * @param trianglePredicate defines an optional predicate used to select faces when a mesh intersection is detected\r\n * @returns an array of PickingInfo\r\n */\r\n public multiPickWithRay(ray: Ray, predicate: (mesh: AbstractMesh) => boolean, trianglePredicate?: TrianglePickingPredicate): Nullable {\r\n throw _DevTools.WarnImport(\"Ray\");\r\n }\r\n\r\n /**\r\n * Force the value of meshUnderPointer\r\n * @param mesh defines the mesh to use\r\n * @param pointerId optional pointer id when using more than one pointer\r\n */\r\n public setPointerOverMesh(mesh: Nullable, pointerId?: number): void {\r\n this._inputManager.setPointerOverMesh(mesh, pointerId);\r\n }\r\n\r\n /**\r\n * Gets the mesh under the pointer\r\n * @returns a Mesh or null if no mesh is under the pointer\r\n */\r\n public getPointerOverMesh(): Nullable {\r\n return this._inputManager.getPointerOverMesh();\r\n }\r\n\r\n // Misc.\r\n /** @hidden */\r\n public _rebuildGeometries(): void {\r\n for (var geometry of this.geometries) {\r\n geometry._rebuild();\r\n }\r\n\r\n for (var mesh of this.meshes) {\r\n mesh._rebuild();\r\n }\r\n\r\n if (this.postProcessManager) {\r\n this.postProcessManager._rebuild();\r\n }\r\n\r\n for (let component of this._components) {\r\n component.rebuild();\r\n }\r\n\r\n for (var system of this.particleSystems) {\r\n system.rebuild();\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _rebuildTextures(): void {\r\n for (var texture of this.textures) {\r\n texture._rebuild();\r\n }\r\n\r\n this.markAllMaterialsAsDirty(1);\r\n }\r\n\r\n // Tags\r\n private _getByTags(list: any[], tagsQuery: string, forEach?: (item: any) => void): any[] {\r\n if (tagsQuery === undefined) {\r\n // returns the complete list (could be done with Tags.MatchesQuery but no need to have a for-loop here)\r\n return list;\r\n }\r\n\r\n var listByTags = [];\r\n\r\n forEach = forEach || ((item: any) => { return; });\r\n\r\n for (var i in list) {\r\n var item = list[i];\r\n if (Tags && Tags.MatchesQuery(item, tagsQuery)) {\r\n listByTags.push(item);\r\n forEach(item);\r\n }\r\n }\r\n\r\n return listByTags;\r\n }\r\n\r\n /**\r\n * Get a list of meshes by tags\r\n * @param tagsQuery defines the tags query to use\r\n * @param forEach defines a predicate used to filter results\r\n * @returns an array of Mesh\r\n */\r\n public getMeshesByTags(tagsQuery: string, forEach?: (mesh: AbstractMesh) => void): Mesh[] {\r\n return this._getByTags(this.meshes, tagsQuery, forEach);\r\n }\r\n\r\n /**\r\n * Get a list of cameras by tags\r\n * @param tagsQuery defines the tags query to use\r\n * @param forEach defines a predicate used to filter results\r\n * @returns an array of Camera\r\n */\r\n public getCamerasByTags(tagsQuery: string, forEach?: (camera: Camera) => void): Camera[] {\r\n return this._getByTags(this.cameras, tagsQuery, forEach);\r\n }\r\n\r\n /**\r\n * Get a list of lights by tags\r\n * @param tagsQuery defines the tags query to use\r\n * @param forEach defines a predicate used to filter results\r\n * @returns an array of Light\r\n */\r\n public getLightsByTags(tagsQuery: string, forEach?: (light: Light) => void): Light[] {\r\n return this._getByTags(this.lights, tagsQuery, forEach);\r\n }\r\n\r\n /**\r\n * Get a list of materials by tags\r\n * @param tagsQuery defines the tags query to use\r\n * @param forEach defines a predicate used to filter results\r\n * @returns an array of Material\r\n */\r\n public getMaterialByTags(tagsQuery: string, forEach?: (material: Material) => void): Material[] {\r\n return this._getByTags(this.materials, tagsQuery, forEach).concat(this._getByTags(this.multiMaterials, tagsQuery, forEach));\r\n }\r\n\r\n /**\r\n * Get a list of transform nodes by tags\r\n * @param tagsQuery defines the tags query to use\r\n * @param forEach defines a predicate used to filter results\r\n * @returns an array of TransformNode\r\n */\r\n public getTransformNodesByTags(tagsQuery: string, forEach?: (transform: TransformNode) => void): TransformNode[] {\r\n return this._getByTags(this.transformNodes, tagsQuery, forEach);\r\n }\r\n\r\n /**\r\n * Overrides the default sort function applied in the renderging group to prepare the meshes.\r\n * This allowed control for front to back rendering or reversly depending of the special needs.\r\n *\r\n * @param renderingGroupId The rendering group id corresponding to its index\r\n * @param opaqueSortCompareFn The opaque queue comparison function use to sort.\r\n * @param alphaTestSortCompareFn The alpha test queue comparison function use to sort.\r\n * @param transparentSortCompareFn The transparent queue comparison function use to sort.\r\n */\r\n public setRenderingOrder(renderingGroupId: number,\r\n opaqueSortCompareFn: Nullable<(a: SubMesh, b: SubMesh) => number> = null,\r\n alphaTestSortCompareFn: Nullable<(a: SubMesh, b: SubMesh) => number> = null,\r\n transparentSortCompareFn: Nullable<(a: SubMesh, b: SubMesh) => number> = null): void {\r\n\r\n this._renderingManager.setRenderingOrder(renderingGroupId,\r\n opaqueSortCompareFn,\r\n alphaTestSortCompareFn,\r\n transparentSortCompareFn);\r\n }\r\n\r\n /**\r\n * Specifies whether or not the stencil and depth buffer are cleared between two rendering groups.\r\n *\r\n * @param renderingGroupId The rendering group id corresponding to its index\r\n * @param autoClearDepthStencil Automatically clears depth and stencil between groups if true.\r\n * @param depth Automatically clears depth between groups if true and autoClear is true.\r\n * @param stencil Automatically clears stencil between groups if true and autoClear is true.\r\n */\r\n public setRenderingAutoClearDepthStencil(renderingGroupId: number, autoClearDepthStencil: boolean,\r\n depth = true,\r\n stencil = true): void {\r\n this._renderingManager.setRenderingAutoClearDepthStencil(renderingGroupId, autoClearDepthStencil, depth, stencil);\r\n }\r\n\r\n /**\r\n * Gets the current auto clear configuration for one rendering group of the rendering\r\n * manager.\r\n * @param index the rendering group index to get the information for\r\n * @returns The auto clear setup for the requested rendering group\r\n */\r\n public getAutoClearDepthStencilSetup(index: number): IRenderingManagerAutoClearSetup {\r\n return this._renderingManager.getAutoClearDepthStencilSetup(index);\r\n }\r\n\r\n private _blockMaterialDirtyMechanism = false;\r\n\r\n /** Gets or sets a boolean blocking all the calls to markAllMaterialsAsDirty (ie. the materials won't be updated if they are out of sync) */\r\n public get blockMaterialDirtyMechanism(): boolean {\r\n return this._blockMaterialDirtyMechanism;\r\n }\r\n\r\n public set blockMaterialDirtyMechanism(value: boolean) {\r\n if (this._blockMaterialDirtyMechanism === value) {\r\n return;\r\n }\r\n\r\n this._blockMaterialDirtyMechanism = value;\r\n\r\n if (!value) { // Do a complete update\r\n this.markAllMaterialsAsDirty(63);\r\n }\r\n }\r\n\r\n /**\r\n * Will flag all materials as dirty to trigger new shader compilation\r\n * @param flag defines the flag used to specify which material part must be marked as dirty\r\n * @param predicate If not null, it will be used to specifiy if a material has to be marked as dirty\r\n */\r\n public markAllMaterialsAsDirty(flag: number, predicate?: (mat: Material) => boolean): void {\r\n if (this._blockMaterialDirtyMechanism) {\r\n return;\r\n }\r\n\r\n for (var material of this.materials) {\r\n if (predicate && !predicate(material)) {\r\n continue;\r\n }\r\n material.markAsDirty(flag);\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _loadFile(url: string, onSuccess: (data: string | ArrayBuffer, responseURL?: string) => void, onProgress?: (ev: ProgressEvent) => void, useOfflineSupport?: boolean, useArrayBuffer?: boolean, onError?: (request?: WebRequest, exception?: LoadFileError) => void): IFileRequest {\r\n const request = FileTools.LoadFile(url, onSuccess, onProgress, useOfflineSupport ? this.offlineProvider : undefined, useArrayBuffer, onError);\r\n this._activeRequests.push(request);\r\n request.onCompleteObservable.add((request) => {\r\n this._activeRequests.splice(this._activeRequests.indexOf(request), 1);\r\n });\r\n return request;\r\n }\r\n\r\n /** @hidden */\r\n public _loadFileAsync(url: string, onProgress?: (data: any) => void, useOfflineSupport?: boolean, useArrayBuffer?: boolean): Promise {\r\n return new Promise((resolve, reject) => {\r\n this._loadFile(url, (data) => {\r\n resolve(data);\r\n }, onProgress, useOfflineSupport, useArrayBuffer, (request, exception) => {\r\n reject(exception);\r\n });\r\n });\r\n }\r\n\r\n /** @hidden */\r\n public _requestFile(url: string, onSuccess: (data: string | ArrayBuffer, request?: WebRequest) => void, onProgress?: (ev: ProgressEvent) => void, useOfflineSupport?: boolean, useArrayBuffer?: boolean, onError?: (error: RequestFileError) => void, onOpened?: (request: WebRequest) => void): IFileRequest {\r\n const request = FileTools.RequestFile(url, onSuccess, onProgress, useOfflineSupport ? this.offlineProvider : undefined, useArrayBuffer, onError, onOpened);\r\n this._activeRequests.push(request);\r\n request.onCompleteObservable.add((request) => {\r\n this._activeRequests.splice(this._activeRequests.indexOf(request), 1);\r\n });\r\n return request;\r\n }\r\n\r\n /** @hidden */\r\n public _requestFileAsync(url: string, onProgress?: (ev: ProgressEvent) => void, useOfflineSupport?: boolean, useArrayBuffer?: boolean, onOpened?: (request: WebRequest) => void): Promise {\r\n return new Promise((resolve, reject) => {\r\n this._requestFile(url, (data) => {\r\n resolve(data);\r\n }, onProgress, useOfflineSupport, useArrayBuffer, (error) => {\r\n reject(error);\r\n }, onOpened);\r\n });\r\n }\r\n\r\n /** @hidden */\r\n public _readFile(file: File, onSuccess: (data: string | ArrayBuffer) => void, onProgress?: (ev: ProgressEvent) => any, useArrayBuffer?: boolean, onError?: (error: ReadFileError) => void): IFileRequest {\r\n const request = FileTools.ReadFile(file, onSuccess, onProgress, useArrayBuffer, onError);\r\n this._activeRequests.push(request);\r\n request.onCompleteObservable.add((request) => {\r\n this._activeRequests.splice(this._activeRequests.indexOf(request), 1);\r\n });\r\n return request;\r\n }\r\n\r\n /** @hidden */\r\n public _readFileAsync(file: File, onProgress?: (ev: ProgressEvent) => any, useArrayBuffer?: boolean): Promise {\r\n return new Promise((resolve, reject) => {\r\n this._readFile(file, (data) => {\r\n resolve(data);\r\n }, onProgress, useArrayBuffer, (error) => {\r\n reject(error);\r\n });\r\n });\r\n }\r\n}\r\n","import defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _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}","/** @hidden */\r\nexport class _DevTools {\r\n public static WarnImport(name: string) {\r\n return `${name} needs to be imported before as it contains a side-effect required by your code.`;\r\n }\r\n}","import { Nullable } from \"../types\";\r\nimport { SmartArray } from \"../Misc/smartArray\";\r\nimport { Observable, Observer } from \"../Misc/observable\";\r\nimport { Vector2 } from \"../Maths/math.vector\";\r\nimport { Camera } from \"../Cameras/camera\";\r\nimport { Effect } from \"../Materials/effect\";\r\n\r\nimport \"../Shaders/postprocess.vertex\";\r\nimport { IInspectable } from '../Misc/iInspectable';\r\nimport { Engine } from '../Engines/engine';\r\nimport { Color4 } from '../Maths/math.color';\r\n\r\nimport \"../Engines/Extensions/engine.renderTarget\";\r\nimport { NodeMaterial } from '../Materials/Node/nodeMaterial';\r\nimport { serialize, serializeAsColor4, SerializationHelper } from '../Misc/decorators';\r\nimport { _TypeStore } from '../Misc/typeStore';\r\n\r\ndeclare type Scene = import(\"../scene\").Scene;\r\ndeclare type InternalTexture = import(\"../Materials/Textures/internalTexture\").InternalTexture;\r\ndeclare type WebVRFreeCamera = import(\"../Cameras/VR/webVRCamera\").WebVRFreeCamera;\r\ndeclare type Animation = import(\"../Animations/animation\").Animation;\r\ndeclare type PrePassRenderer = import(\"../Rendering/prePassRenderer\").PrePassRenderer;\r\ndeclare type PrePassEffectConfiguration = import(\"../Rendering/prePassEffectConfiguration\").PrePassEffectConfiguration;\r\n\r\n/**\r\n * Size options for a post process\r\n */\r\nexport type PostProcessOptions = { width: number, height: number };\r\n\r\n/**\r\n * PostProcess can be used to apply a shader to a texture after it has been rendered\r\n * See https://doc.babylonjs.com/how_to/how_to_use_postprocesses\r\n */\r\nexport class PostProcess {\r\n /**\r\n * Gets or sets the unique id of the post process\r\n */\r\n @serialize()\r\n public uniqueId: number;\r\n\r\n /** Name of the PostProcess. */\r\n @serialize()\r\n public name: string;\r\n\r\n /**\r\n * Width of the texture to apply the post process on\r\n */\r\n @serialize()\r\n public width = -1;\r\n\r\n /**\r\n * Height of the texture to apply the post process on\r\n */\r\n @serialize()\r\n public height = -1;\r\n\r\n /**\r\n * Gets the node material used to create this postprocess (null if the postprocess was manually created)\r\n */\r\n public nodeMaterialSource: Nullable = null;\r\n\r\n /**\r\n * Internal, reference to the location where this postprocess was output to. (Typically the texture on the next postprocess in the chain)\r\n * @hidden\r\n */\r\n public _outputTexture: Nullable = null;\r\n /**\r\n * Sampling mode used by the shader\r\n * See https://doc.babylonjs.com/classes/3.1/texture\r\n */\r\n @serialize()\r\n public renderTargetSamplingMode: number;\r\n /**\r\n * Clear color to use when screen clearing\r\n */\r\n @serializeAsColor4()\r\n public clearColor: Color4;\r\n /**\r\n * If the buffer needs to be cleared before applying the post process. (default: true)\r\n * Should be set to false if shader will overwrite all previous pixels.\r\n */\r\n @serialize()\r\n public autoClear = true;\r\n /**\r\n * Type of alpha mode to use when performing the post process (default: Engine.ALPHA_DISABLE)\r\n */\r\n @serialize()\r\n public alphaMode = 0;\r\n /**\r\n * Sets the setAlphaBlendConstants of the babylon engine\r\n */\r\n @serialize()\r\n public alphaConstants: Color4;\r\n /**\r\n * Animations to be used for the post processing\r\n */\r\n public animations = new Array();\r\n\r\n /**\r\n * Enable Pixel Perfect mode where texture is not scaled to be power of 2.\r\n * Can only be used on a single postprocess or on the last one of a chain. (default: false)\r\n */\r\n @serialize()\r\n public enablePixelPerfectMode = false;\r\n\r\n /**\r\n * Force the postprocess to be applied without taking in account viewport\r\n */\r\n @serialize()\r\n public forceFullscreenViewport = true;\r\n\r\n /**\r\n * List of inspectable custom properties (used by the Inspector)\r\n * @see https://doc.babylonjs.com/how_to/debug_layer#extensibility\r\n */\r\n public inspectableCustomProperties: IInspectable[];\r\n\r\n /**\r\n * Scale mode for the post process (default: Engine.SCALEMODE_FLOOR)\r\n *\r\n * | Value | Type | Description |\r\n * | ----- | ----------------------------------- | ----------- |\r\n * | 1 | SCALEMODE_FLOOR | [engine.scalemode_floor](https://doc.babylonjs.com/api/classes/babylon.engine#scalemode_floor) |\r\n * | 2 | SCALEMODE_NEAREST | [engine.scalemode_nearest](https://doc.babylonjs.com/api/classes/babylon.engine#scalemode_nearest) |\r\n * | 3 | SCALEMODE_CEILING | [engine.scalemode_ceiling](https://doc.babylonjs.com/api/classes/babylon.engine#scalemode_ceiling) |\r\n *\r\n */\r\n @serialize()\r\n public scaleMode = 1;\r\n /**\r\n * Force textures to be a power of two (default: false)\r\n */\r\n @serialize()\r\n public alwaysForcePOT = false;\r\n\r\n @serialize(\"samples\")\r\n private _samples = 1;\r\n\r\n /**\r\n * Number of sample textures (default: 1)\r\n */\r\n public get samples() {\r\n return this._samples;\r\n }\r\n\r\n public set samples(n: number) {\r\n this._samples = Math.min(n, this._engine.getCaps().maxMSAASamples);\r\n\r\n this._textures.forEach((texture) => {\r\n if (texture.samples !== this._samples) {\r\n this._engine.updateRenderTargetTextureSampleCount(texture, this._samples);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Modify the scale of the post process to be the same as the viewport (default: false)\r\n */\r\n @serialize()\r\n public adaptScaleToCurrentViewport = false;\r\n\r\n private _camera: Camera;\r\n protected _scene: Scene;\r\n private _engine: Engine;\r\n\r\n private _options: number | PostProcessOptions;\r\n private _reusable = false;\r\n private _textureType: number;\r\n private _textureFormat: number;\r\n /**\r\n * Smart array of input and output textures for the post process.\r\n * @hidden\r\n */\r\n public _textures = new SmartArray(2);\r\n /**\r\n * The index in _textures that corresponds to the output texture.\r\n * @hidden\r\n */\r\n public _currentRenderTextureInd = 0;\r\n private _effect: Effect;\r\n private _samplers: string[];\r\n private _fragmentUrl: string;\r\n private _vertexUrl: string;\r\n private _parameters: string[];\r\n private _scaleRatio = new Vector2(1, 1);\r\n protected _indexParameters: any;\r\n private _shareOutputWithPostProcess: Nullable;\r\n private _texelSize = Vector2.Zero();\r\n private _forcedOutputTexture: Nullable;\r\n\r\n /**\r\n * Prepass configuration in case this post process needs a texture from prepass\r\n * @hidden\r\n */\r\n public _prePassEffectConfiguration: PrePassEffectConfiguration;\r\n\r\n /**\r\n * Returns the fragment url or shader name used in the post process.\r\n * @returns the fragment url or name in the shader store.\r\n */\r\n public getEffectName(): string {\r\n return this._fragmentUrl;\r\n }\r\n\r\n // Events\r\n\r\n /**\r\n * An event triggered when the postprocess is activated.\r\n */\r\n public onActivateObservable = new Observable();\r\n\r\n private _onActivateObserver: Nullable>;\r\n /**\r\n * A function that is added to the onActivateObservable\r\n */\r\n public set onActivate(callback: Nullable<(camera: Camera) => void>) {\r\n if (this._onActivateObserver) {\r\n this.onActivateObservable.remove(this._onActivateObserver);\r\n }\r\n if (callback) {\r\n this._onActivateObserver = this.onActivateObservable.add(callback);\r\n }\r\n }\r\n\r\n /**\r\n * An event triggered when the postprocess changes its size.\r\n */\r\n public onSizeChangedObservable = new Observable();\r\n\r\n private _onSizeChangedObserver: Nullable>;\r\n /**\r\n * A function that is added to the onSizeChangedObservable\r\n */\r\n public set onSizeChanged(callback: (postProcess: PostProcess) => void) {\r\n if (this._onSizeChangedObserver) {\r\n this.onSizeChangedObservable.remove(this._onSizeChangedObserver);\r\n }\r\n this._onSizeChangedObserver = this.onSizeChangedObservable.add(callback);\r\n }\r\n\r\n /**\r\n * An event triggered when the postprocess applies its effect.\r\n */\r\n public onApplyObservable = new Observable();\r\n\r\n private _onApplyObserver: Nullable>;\r\n /**\r\n * A function that is added to the onApplyObservable\r\n */\r\n public set onApply(callback: (effect: Effect) => void) {\r\n if (this._onApplyObserver) {\r\n this.onApplyObservable.remove(this._onApplyObserver);\r\n }\r\n this._onApplyObserver = this.onApplyObservable.add(callback);\r\n }\r\n\r\n /**\r\n * An event triggered before rendering the postprocess\r\n */\r\n public onBeforeRenderObservable = new Observable();\r\n\r\n private _onBeforeRenderObserver: Nullable>;\r\n /**\r\n * A function that is added to the onBeforeRenderObservable\r\n */\r\n public set onBeforeRender(callback: (effect: Effect) => void) {\r\n if (this._onBeforeRenderObserver) {\r\n this.onBeforeRenderObservable.remove(this._onBeforeRenderObserver);\r\n }\r\n this._onBeforeRenderObserver = this.onBeforeRenderObservable.add(callback);\r\n }\r\n\r\n /**\r\n * An event triggered after rendering the postprocess\r\n */\r\n public onAfterRenderObservable = new Observable();\r\n\r\n private _onAfterRenderObserver: Nullable>;\r\n /**\r\n * A function that is added to the onAfterRenderObservable\r\n */\r\n public set onAfterRender(callback: (efect: Effect) => void) {\r\n if (this._onAfterRenderObserver) {\r\n this.onAfterRenderObservable.remove(this._onAfterRenderObserver);\r\n }\r\n this._onAfterRenderObserver = this.onAfterRenderObservable.add(callback);\r\n }\r\n\r\n /**\r\n * The input texture for this post process and the output texture of the previous post process. When added to a pipeline the previous post process will\r\n * render it's output into this texture and this texture will be used as textureSampler in the fragment shader of this post process.\r\n */\r\n public get inputTexture(): InternalTexture {\r\n return this._textures.data[this._currentRenderTextureInd];\r\n }\r\n\r\n public set inputTexture(value: InternalTexture) {\r\n this._forcedOutputTexture = value;\r\n }\r\n\r\n /**\r\n * Since inputTexture should always be defined, if we previously manually set `inputTexture`,\r\n * the only way to unset it is to use this function to restore its internal state\r\n */\r\n public restoreDefaultInputTexture() {\r\n this._forcedOutputTexture = null;\r\n }\r\n\r\n /**\r\n * Gets the camera which post process is applied to.\r\n * @returns The camera the post process is applied to.\r\n */\r\n public getCamera(): Camera {\r\n return this._camera;\r\n }\r\n\r\n /**\r\n * Gets the texel size of the postprocess.\r\n * See https://en.wikipedia.org/wiki/Texel_(graphics)\r\n */\r\n public get texelSize(): Vector2 {\r\n if (this._shareOutputWithPostProcess) {\r\n return this._shareOutputWithPostProcess.texelSize;\r\n }\r\n\r\n if (this._forcedOutputTexture) {\r\n this._texelSize.copyFromFloats(1.0 / this._forcedOutputTexture.width, 1.0 / this._forcedOutputTexture.height);\r\n }\r\n\r\n return this._texelSize;\r\n }\r\n\r\n /**\r\n * Creates a new instance PostProcess\r\n * @param name The name of the PostProcess.\r\n * @param fragmentUrl The url of the fragment shader to be used.\r\n * @param parameters Array of the names of uniform non-sampler2D variables that will be passed to the shader.\r\n * @param samplers Array of the names of uniform sampler2D variables that will be passed to the shader.\r\n * @param options The required width/height ratio to downsize to before computing the render pass. (Use 1.0 for full size)\r\n * @param camera The camera to apply the render pass to.\r\n * @param samplingMode The sampling mode to be used when computing the pass. (default: 0)\r\n * @param engine The engine which the post process will be applied. (default: current engine)\r\n * @param reusable If the post process can be reused on the same frame. (default: false)\r\n * @param defines String of defines that will be set when running the fragment shader. (default: null)\r\n * @param textureType Type of textures used when performing the post process. (default: 0)\r\n * @param vertexUrl The url of the vertex shader to be used. (default: \"postprocess\")\r\n * @param indexParameters The index parameters to be used for babylons include syntax \"#include[0..varyingCount]\". (default: undefined) See usage in babylon.blurPostProcess.ts and kernelBlur.vertex.fx\r\n * @param blockCompilation If the shader should not be compiled immediatly. (default: false)\r\n * @param textureFormat Format of textures used when performing the post process. (default: TEXTUREFORMAT_RGBA)\r\n */\r\n constructor(\r\n name: string,\r\n fragmentUrl: string, parameters: Nullable, samplers: Nullable, options: number | PostProcessOptions, camera: Nullable,\r\n samplingMode: number = 1, engine?: Engine, reusable?: boolean, defines: Nullable = null, textureType: number = 0, vertexUrl: string = \"postprocess\",\r\n indexParameters?: any, blockCompilation = false, textureFormat = 5) {\r\n\r\n this.name = name;\r\n if (camera != null) {\r\n this._camera = camera;\r\n this._scene = camera.getScene();\r\n camera.attachPostProcess(this);\r\n this._engine = this._scene.getEngine();\r\n\r\n this._scene.postProcesses.push(this);\r\n this.uniqueId = this._scene.getUniqueId();\r\n }\r\n else if (engine) {\r\n this._engine = engine;\r\n this._engine.postProcesses.push(this);\r\n }\r\n this._options = options;\r\n this.renderTargetSamplingMode = samplingMode ? samplingMode : 1;\r\n this._reusable = reusable || false;\r\n this._textureType = textureType;\r\n this._textureFormat = textureFormat;\r\n\r\n this._samplers = samplers || [];\r\n this._samplers.push(\"textureSampler\");\r\n\r\n this._fragmentUrl = fragmentUrl;\r\n this._vertexUrl = vertexUrl;\r\n this._parameters = parameters || [];\r\n\r\n this._parameters.push(\"scale\");\r\n\r\n this._indexParameters = indexParameters;\r\n\r\n if (!blockCompilation) {\r\n this.updateEffect(defines);\r\n }\r\n }\r\n\r\n /**\r\n * Gets a string identifying the name of the class\r\n * @returns \"PostProcess\" string\r\n */\r\n public getClassName(): string {\r\n return \"PostProcess\";\r\n }\r\n\r\n /**\r\n * Gets the engine which this post process belongs to.\r\n * @returns The engine the post process was enabled with.\r\n */\r\n public getEngine(): Engine {\r\n return this._engine;\r\n }\r\n\r\n /**\r\n * The effect that is created when initializing the post process.\r\n * @returns The created effect corresponding the the postprocess.\r\n */\r\n public getEffect(): Effect {\r\n return this._effect;\r\n }\r\n\r\n /**\r\n * To avoid multiple redundant textures for multiple post process, the output the output texture for this post process can be shared with another.\r\n * @param postProcess The post process to share the output with.\r\n * @returns This post process.\r\n */\r\n public shareOutputWith(postProcess: PostProcess): PostProcess {\r\n this._disposeTextures();\r\n\r\n this._shareOutputWithPostProcess = postProcess;\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Reverses the effect of calling shareOutputWith and returns the post process back to its original state.\r\n * This should be called if the post process that shares output with this post process is disabled/disposed.\r\n */\r\n public useOwnOutput() {\r\n if (this._textures.length == 0) {\r\n this._textures = new SmartArray(2);\r\n }\r\n\r\n this._shareOutputWithPostProcess = null;\r\n }\r\n\r\n /**\r\n * Updates the effect with the current post process compile time values and recompiles the shader.\r\n * @param defines Define statements that should be added at the beginning of the shader. (default: null)\r\n * @param uniforms Set of uniform variables that will be passed to the shader. (default: null)\r\n * @param samplers Set of Texture2D variables that will be passed to the shader. (default: null)\r\n * @param indexParameters The index parameters to be used for babylons include syntax \"#include[0..varyingCount]\". (default: undefined) See usage in babylon.blurPostProcess.ts and kernelBlur.vertex.fx\r\n * @param onCompiled Called when the shader has been compiled.\r\n * @param onError Called if there is an error when compiling a shader.\r\n * @param vertexUrl The url of the vertex shader to be used (default: the one given at construction time)\r\n * @param fragmentUrl The url of the fragment shader to be used (default: the one given at construction time)\r\n */\r\n public updateEffect(defines: Nullable = null, uniforms: Nullable = null, samplers: Nullable = null, indexParameters?: any,\r\n onCompiled?: (effect: Effect) => void, onError?: (effect: Effect, errors: string) => void, vertexUrl?: string, fragmentUrl?: string) {\r\n this._effect = this._engine.createEffect({ vertex: vertexUrl ?? this._vertexUrl, fragment: fragmentUrl ?? this._fragmentUrl },\r\n [\"position\"],\r\n uniforms || this._parameters,\r\n samplers || this._samplers,\r\n defines !== null ? defines : \"\",\r\n undefined,\r\n onCompiled,\r\n onError,\r\n indexParameters || this._indexParameters\r\n );\r\n }\r\n\r\n /**\r\n * The post process is reusable if it can be used multiple times within one frame.\r\n * @returns If the post process is reusable\r\n */\r\n public isReusable(): boolean {\r\n return this._reusable;\r\n }\r\n\r\n /** invalidate frameBuffer to hint the postprocess to create a depth buffer */\r\n public markTextureDirty(): void {\r\n this.width = -1;\r\n }\r\n\r\n /**\r\n * Activates the post process by intializing the textures to be used when executed. Notifies onActivateObservable.\r\n * When this post process is used in a pipeline, this is call will bind the input texture of this post process to the output of the previous.\r\n * @param camera The camera that will be used in the post process. This camera will be used when calling onActivateObservable.\r\n * @param sourceTexture The source texture to be inspected to get the width and height if not specified in the post process constructor. (default: null)\r\n * @param forceDepthStencil If true, a depth and stencil buffer will be generated. (default: false)\r\n * @returns The target texture that was bound to be written to.\r\n */\r\n public activate(camera: Nullable, sourceTexture: Nullable = null, forceDepthStencil?: boolean): InternalTexture {\r\n camera = camera || this._camera;\r\n\r\n var scene = camera.getScene();\r\n var engine = scene.getEngine();\r\n var maxSize = engine.getCaps().maxTextureSize;\r\n\r\n var requiredWidth = ((sourceTexture ? sourceTexture.width : this._engine.getRenderWidth(true)) * this._options) | 0;\r\n var requiredHeight = ((sourceTexture ? sourceTexture.height : this._engine.getRenderHeight(true)) * this._options) | 0;\r\n\r\n // If rendering to a webvr camera's left or right eye only half the width should be used to avoid resize when rendered to screen\r\n var webVRCamera = (camera.parent);\r\n if (webVRCamera && (webVRCamera.leftCamera == camera || webVRCamera.rightCamera == camera)) {\r\n requiredWidth /= 2;\r\n }\r\n\r\n var desiredWidth = ((this._options).width || requiredWidth);\r\n var desiredHeight = (this._options).height || requiredHeight;\r\n\r\n const needMipMaps =\r\n this.renderTargetSamplingMode !== 7 &&\r\n this.renderTargetSamplingMode !== 1 &&\r\n this.renderTargetSamplingMode !== 2;\r\n\r\n if (!this._shareOutputWithPostProcess && !this._forcedOutputTexture) {\r\n\r\n if (this.adaptScaleToCurrentViewport) {\r\n let currentViewport = engine.currentViewport;\r\n\r\n if (currentViewport) {\r\n desiredWidth *= currentViewport.width;\r\n desiredHeight *= currentViewport.height;\r\n }\r\n }\r\n\r\n if (needMipMaps || this.alwaysForcePOT) {\r\n if (!(this._options).width) {\r\n desiredWidth = engine.needPOTTextures ? Engine.GetExponentOfTwo(desiredWidth, maxSize, this.scaleMode) : desiredWidth;\r\n }\r\n\r\n if (!(this._options).height) {\r\n desiredHeight = engine.needPOTTextures ? Engine.GetExponentOfTwo(desiredHeight, maxSize, this.scaleMode) : desiredHeight;\r\n }\r\n }\r\n\r\n if (this.width !== desiredWidth || this.height !== desiredHeight) {\r\n if (this._textures.length > 0) {\r\n for (var i = 0; i < this._textures.length; i++) {\r\n this._engine._releaseTexture(this._textures.data[i]);\r\n }\r\n this._textures.reset();\r\n }\r\n this.width = desiredWidth;\r\n this.height = desiredHeight;\r\n\r\n let textureSize = { width: this.width, height: this.height };\r\n let textureOptions = {\r\n generateMipMaps: needMipMaps,\r\n generateDepthBuffer: forceDepthStencil || camera._postProcesses.indexOf(this) === 0,\r\n generateStencilBuffer: (forceDepthStencil || camera._postProcesses.indexOf(this) === 0) && this._engine.isStencilEnable,\r\n samplingMode: this.renderTargetSamplingMode,\r\n type: this._textureType,\r\n format: this._textureFormat\r\n };\r\n\r\n this._textures.push(this._engine.createRenderTargetTexture(textureSize, textureOptions));\r\n\r\n if (this._reusable) {\r\n this._textures.push(this._engine.createRenderTargetTexture(textureSize, textureOptions));\r\n }\r\n\r\n this._texelSize.copyFromFloats(1.0 / this.width, 1.0 / this.height);\r\n\r\n this.onSizeChangedObservable.notifyObservers(this);\r\n }\r\n\r\n this._textures.forEach((texture) => {\r\n if (texture.samples !== this.samples) {\r\n this._engine.updateRenderTargetTextureSampleCount(texture, this.samples);\r\n }\r\n });\r\n }\r\n\r\n var target: InternalTexture;\r\n\r\n if (this._shareOutputWithPostProcess) {\r\n target = this._shareOutputWithPostProcess.inputTexture;\r\n } else if (this._forcedOutputTexture) {\r\n target = this._forcedOutputTexture;\r\n\r\n this.width = this._forcedOutputTexture.width;\r\n this.height = this._forcedOutputTexture.height;\r\n } else {\r\n target = this.inputTexture;\r\n }\r\n\r\n // Bind the input of this post process to be used as the output of the previous post process.\r\n if (this.enablePixelPerfectMode) {\r\n this._scaleRatio.copyFromFloats(requiredWidth / desiredWidth, requiredHeight / desiredHeight);\r\n this._engine.bindFramebuffer(target, 0, requiredWidth, requiredHeight, this.forceFullscreenViewport);\r\n }\r\n else {\r\n this._scaleRatio.copyFromFloats(1, 1);\r\n this._engine.bindFramebuffer(target, 0, undefined, undefined, this.forceFullscreenViewport);\r\n }\r\n\r\n this.onActivateObservable.notifyObservers(camera);\r\n\r\n // Clear\r\n if (this.autoClear && this.alphaMode === 0) {\r\n this._engine.clear(this.clearColor ? this.clearColor : scene.clearColor, scene._allowPostProcessClearColor, true, true);\r\n }\r\n\r\n if (this._reusable) {\r\n this._currentRenderTextureInd = (this._currentRenderTextureInd + 1) % 2;\r\n }\r\n return target;\r\n }\r\n\r\n /**\r\n * If the post process is supported.\r\n */\r\n public get isSupported(): boolean {\r\n return this._effect.isSupported;\r\n }\r\n\r\n /**\r\n * The aspect ratio of the output texture.\r\n */\r\n public get aspectRatio(): number {\r\n if (this._shareOutputWithPostProcess) {\r\n return this._shareOutputWithPostProcess.aspectRatio;\r\n }\r\n\r\n if (this._forcedOutputTexture) {\r\n return this._forcedOutputTexture.width / this._forcedOutputTexture.height;\r\n }\r\n return this.width / this.height;\r\n }\r\n\r\n /**\r\n * Get a value indicating if the post-process is ready to be used\r\n * @returns true if the post-process is ready (shader is compiled)\r\n */\r\n public isReady(): boolean {\r\n return this._effect && this._effect.isReady();\r\n }\r\n\r\n /**\r\n * Binds all textures and uniforms to the shader, this will be run on every pass.\r\n * @returns the effect corresponding to this post process. Null if not compiled or not ready.\r\n */\r\n public apply(): Nullable {\r\n // Check\r\n if (!this._effect || !this._effect.isReady()) {\r\n return null;\r\n }\r\n\r\n // States\r\n this._engine.enableEffect(this._effect);\r\n this._engine.setState(false);\r\n this._engine.setDepthBuffer(false);\r\n this._engine.setDepthWrite(false);\r\n\r\n // Alpha\r\n this._engine.setAlphaMode(this.alphaMode);\r\n if (this.alphaConstants) {\r\n this.getEngine().setAlphaConstants(this.alphaConstants.r, this.alphaConstants.g, this.alphaConstants.b, this.alphaConstants.a);\r\n }\r\n\r\n // Bind the output texture of the preivous post process as the input to this post process.\r\n var source: InternalTexture;\r\n if (this._shareOutputWithPostProcess) {\r\n source = this._shareOutputWithPostProcess.inputTexture;\r\n } else if (this._forcedOutputTexture) {\r\n source = this._forcedOutputTexture;\r\n } else {\r\n source = this.inputTexture;\r\n }\r\n this._effect._bindTexture(\"textureSampler\", source);\r\n\r\n // Parameters\r\n this._effect.setVector2(\"scale\", this._scaleRatio);\r\n this.onApplyObservable.notifyObservers(this._effect);\r\n\r\n return this._effect;\r\n }\r\n\r\n private _disposeTextures() {\r\n if (this._shareOutputWithPostProcess || this._forcedOutputTexture) {\r\n return;\r\n }\r\n\r\n if (this._textures.length > 0) {\r\n for (var i = 0; i < this._textures.length; i++) {\r\n this._engine._releaseTexture(this._textures.data[i]);\r\n }\r\n }\r\n this._textures.dispose();\r\n }\r\n\r\n /**\r\n * Sets the required values to the prepass renderer.\r\n * @param prePassRenderer defines the prepass renderer to setup.\r\n * @returns true if the pre pass is needed.\r\n */\r\n public setPrePassRenderer(prePassRenderer: PrePassRenderer): boolean {\r\n if (this._prePassEffectConfiguration) {\r\n this._prePassEffectConfiguration = prePassRenderer.addEffectConfiguration(this._prePassEffectConfiguration);\r\n this._prePassEffectConfiguration.enabled = true;\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Disposes the post process.\r\n * @param camera The camera to dispose the post process on.\r\n */\r\n public dispose(camera?: Camera): void {\r\n camera = camera || this._camera;\r\n\r\n this._disposeTextures();\r\n\r\n let index;\r\n if (this._scene) {\r\n index = this._scene.postProcesses.indexOf(this);\r\n if (index !== -1) {\r\n this._scene.postProcesses.splice(index, 1);\r\n }\r\n }\r\n\r\n index = this._engine.postProcesses.indexOf(this);\r\n if (index !== -1) {\r\n this._engine.postProcesses.splice(index, 1);\r\n }\r\n\r\n if (!camera) {\r\n return;\r\n }\r\n camera.detachPostProcess(this);\r\n\r\n index = camera._postProcesses.indexOf(this);\r\n if (index === 0 && camera._postProcesses.length > 0) {\r\n var firstPostProcess = this._camera._getFirstPostProcess();\r\n if (firstPostProcess) {\r\n firstPostProcess.markTextureDirty();\r\n }\r\n }\r\n\r\n this.onActivateObservable.clear();\r\n this.onAfterRenderObservable.clear();\r\n this.onApplyObservable.clear();\r\n this.onBeforeRenderObservable.clear();\r\n this.onSizeChangedObservable.clear();\r\n }\r\n\r\n /**\r\n * Serializes the particle system to a JSON object\r\n * @returns the JSON object\r\n */\r\n public serialize(): any {\r\n var serializationObject = SerializationHelper.Serialize(this);\r\n serializationObject.customType = \"BABYLON.\" + this.getClassName();\r\n serializationObject.cameraId = this.getCamera().id;\r\n serializationObject.reusable = this._reusable;\r\n serializationObject.options = this._options;\r\n serializationObject.textureType = this._textureType;\r\n\r\n return serializationObject;\r\n }\r\n\r\n /**\r\n * Creates a material from parsed material data\r\n * @param parsedPostProcess defines parsed post process data\r\n * @param scene defines the hosting scene\r\n * @param rootUrl defines the root URL to use to load textures\r\n * @returns a new post process\r\n */\r\n public static Parse(parsedPostProcess: any, scene: Scene, rootUrl: string): Nullable {\r\n var postProcessType = _TypeStore.GetClass(parsedPostProcess.customType);\r\n\r\n if (!postProcessType || !postProcessType._Parse) {\r\n return null;\r\n }\r\n\r\n var camera = scene.getCameraByID(parsedPostProcess.cameraId);\r\n\r\n if (!camera) {\r\n return null;\r\n }\r\n\r\n return postProcessType._Parse(parsedPostProcess, camera, scene, rootUrl);\r\n }\r\n}\r\n\r\n_TypeStore.RegisteredTypes[\"BABYLON.PostProcess\"] = PostProcess;\r\n","import { Nullable } from \"../types\";\r\n\r\ndeclare type Engine = import(\"./engine\").Engine;\r\ndeclare type Scene = import(\"../scene\").Scene;\r\n\r\n/**\r\n * The engine store class is responsible to hold all the instances of Engine and Scene created\r\n * during the life time of the application.\r\n */\r\nexport class EngineStore {\r\n /** Gets the list of created engines */\r\n public static Instances = new Array();\r\n\r\n /** @hidden */\r\n public static _LastCreatedScene: Nullable = null;\r\n\r\n /**\r\n * Gets the latest created engine\r\n */\r\n public static get LastCreatedEngine(): Nullable {\r\n if (this.Instances.length === 0) {\r\n return null;\r\n }\r\n\r\n return this.Instances[this.Instances.length - 1];\r\n }\r\n\r\n /**\r\n * Gets the latest created scene\r\n */\r\n public static get LastCreatedScene(): Nullable {\r\n return this._LastCreatedScene;\r\n }\r\n\r\n /**\r\n * Gets or sets a global variable indicating if fallback texture must be used when a texture cannot be loaded\r\n * @ignorenaming\r\n */\r\n public static UseFallbackTexture = true;\r\n\r\n /**\r\n * Texture content used if a texture cannot loaded\r\n * @ignorenaming\r\n */\r\n public static FallbackTexture = \"\";\r\n}\r\n","import { Vector3 } from './math.vector';\r\n\r\n/** Defines supported spaces */\r\nexport enum Space {\r\n /** Local (object) space */\r\n LOCAL = 0,\r\n /** World space */\r\n WORLD = 1,\r\n /** Bone space */\r\n BONE = 2\r\n}\r\n\r\n/** Defines the 3 main axes */\r\nexport class Axis {\r\n /** X axis */\r\n public static X: Vector3 = new Vector3(1.0, 0.0, 0.0);\r\n /** Y axis */\r\n public static Y: Vector3 = new Vector3(0.0, 1.0, 0.0);\r\n /** Z axis */\r\n public static Z: Vector3 = new Vector3(0.0, 0.0, 1.0);\r\n}\r\n\r\n/**\r\n * Defines cartesian components.\r\n */\r\nexport enum Coordinate {\r\n /** X axis */\r\n X,\r\n /** Y axis */\r\n Y,\r\n /** Z axis */\r\n Z\r\n}\r\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import { serialize, SerializationHelper, serializeAsVector3 } from \"../Misc/decorators\";\nimport { SmartArray } from \"../Misc/smartArray\";\nimport { Tools } from \"../Misc/tools\";\nimport { Observable } from \"../Misc/observable\";\nimport { Nullable } from \"../types\";\nimport { CameraInputsManager } from \"./cameraInputsManager\";\nimport { Scene } from \"../scene\";\nimport { Matrix, Vector3, Quaternion } from \"../Maths/math.vector\";\nimport { Node } from \"../node\";\nimport { Mesh } from \"../Meshes/mesh\";\nimport { AbstractMesh } from \"../Meshes/abstractMesh\";\nimport { ICullable } from \"../Culling/boundingInfo\";\nimport { Logger } from \"../Misc/logger\";\nimport { _TypeStore } from '../Misc/typeStore';\nimport { _DevTools } from '../Misc/devTools';\nimport { Viewport } from '../Maths/math.viewport';\nimport { Frustum } from '../Maths/math.frustum';\nimport { Plane } from '../Maths/math.plane';\n\ndeclare type PostProcess = import(\"../PostProcesses/postProcess\").PostProcess;\ndeclare type RenderTargetTexture = import(\"../Materials/Textures/renderTargetTexture\").RenderTargetTexture;\ndeclare type FreeCamera = import(\"./freeCamera\").FreeCamera;\ndeclare type TargetCamera = import(\"./targetCamera\").TargetCamera;\ndeclare type Ray = import(\"../Culling/ray\").Ray;\n\n/**\n * This is the base class of all the camera used in the application.\n * @see https://doc.babylonjs.com/features/cameras\n */\nexport class Camera extends Node {\n /** @hidden */\n public static _createDefaultParsedCamera = (name: string, scene: Scene): Camera => {\n throw _DevTools.WarnImport(\"UniversalCamera\");\n }\n\n /**\n * This is the default projection mode used by the cameras.\n * It helps recreating a feeling of perspective and better appreciate depth.\n * This is the best way to simulate real life cameras.\n */\n public static readonly PERSPECTIVE_CAMERA = 0;\n /**\n * This helps creating camera with an orthographic mode.\n * Orthographic is commonly used in engineering as a means to produce object specifications that communicate dimensions unambiguously, each line of 1 unit length (cm, meter..whatever) will appear to have the same length everywhere on the drawing. This allows the drafter to dimension only a subset of lines and let the reader know that other lines of that length on the drawing are also that length in reality. Every parallel line in the drawing is also parallel in the object.\n */\n public static readonly ORTHOGRAPHIC_CAMERA = 1;\n\n /**\n * This is the default FOV mode for perspective cameras.\n * This setting aligns the upper and lower bounds of the viewport to the upper and lower bounds of the camera frustum.\n */\n public static readonly FOVMODE_VERTICAL_FIXED = 0;\n /**\n * This setting aligns the left and right bounds of the viewport to the left and right bounds of the camera frustum.\n */\n public static readonly FOVMODE_HORIZONTAL_FIXED = 1;\n\n /**\n * This specifies ther is no need for a camera rig.\n * Basically only one eye is rendered corresponding to the camera.\n */\n public static readonly RIG_MODE_NONE = 0;\n /**\n * Simulates a camera Rig with one blue eye and one red eye.\n * This can be use with 3d blue and red glasses.\n */\n public static readonly RIG_MODE_STEREOSCOPIC_ANAGLYPH = 10;\n /**\n * Defines that both eyes of the camera will be rendered side by side with a parallel target.\n */\n public static readonly RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL = 11;\n /**\n * Defines that both eyes of the camera will be rendered side by side with a none parallel target.\n */\n public static readonly RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED = 12;\n /**\n * Defines that both eyes of the camera will be rendered over under each other.\n */\n public static readonly RIG_MODE_STEREOSCOPIC_OVERUNDER = 13;\n /**\n * Defines that both eyes of the camera will be rendered on successive lines interlaced for passive 3d monitors.\n */\n public static readonly RIG_MODE_STEREOSCOPIC_INTERLACED = 14;\n /**\n * Defines that both eyes of the camera should be renderered in a VR mode (carbox).\n */\n public static readonly RIG_MODE_VR = 20;\n /**\n * Defines that both eyes of the camera should be renderered in a VR mode (webVR).\n */\n public static readonly RIG_MODE_WEBVR = 21;\n /**\n * Custom rig mode allowing rig cameras to be populated manually with any number of cameras\n */\n public static readonly RIG_MODE_CUSTOM = 22;\n\n /**\n * Defines if by default attaching controls should prevent the default javascript event to continue.\n */\n public static ForceAttachControlToAlwaysPreventDefault = false;\n\n /**\n * Define the input manager associated with the camera.\n */\n public inputs: CameraInputsManager;\n\n /** @hidden */\n @serializeAsVector3(\"position\")\n public _position = Vector3.Zero();\n\n /**\n * Define the current local position of the camera in the scene\n */\n public get position(): Vector3 {\n return this._position;\n }\n\n public set position(newPosition: Vector3) {\n this._position = newPosition;\n }\n\n @serializeAsVector3(\"upVector\")\n protected _upVector = Vector3.Up();\n\n /**\n * The vector the camera should consider as up.\n * (default is Vector3(0, 1, 0) aka Vector3.Up())\n */\n public set upVector(vec: Vector3) {\n this._upVector = vec;\n }\n\n public get upVector() {\n return this._upVector;\n }\n\n /**\n * Define the current limit on the left side for an orthographic camera\n * In scene unit\n */\n @serialize()\n public orthoLeft: Nullable = null;\n\n /**\n * Define the current limit on the right side for an orthographic camera\n * In scene unit\n */\n @serialize()\n public orthoRight: Nullable = null;\n\n /**\n * Define the current limit on the bottom side for an orthographic camera\n * In scene unit\n */\n @serialize()\n public orthoBottom: Nullable = null;\n\n /**\n * Define the current limit on the top side for an orthographic camera\n * In scene unit\n */\n @serialize()\n public orthoTop: Nullable = null;\n\n /**\n * Field Of View is set in Radians. (default is 0.8)\n */\n @serialize()\n public fov = 0.8;\n\n /**\n * Define the minimum distance the camera can see from.\n * This is important to note that the depth buffer are not infinite and the closer it starts\n * the more your scene might encounter depth fighting issue.\n */\n @serialize()\n public minZ = 1;\n\n /**\n * Define the maximum distance the camera can see to.\n * This is important to note that the depth buffer are not infinite and the further it end\n * the more your scene might encounter depth fighting issue.\n */\n @serialize()\n public maxZ = 10000.0;\n\n /**\n * Define the default inertia of the camera.\n * This helps giving a smooth feeling to the camera movement.\n */\n @serialize()\n public inertia = 0.9;\n\n /**\n * Define the mode of the camera (Camera.PERSPECTIVE_CAMERA or Camera.ORTHOGRAPHIC_CAMERA)\n */\n @serialize()\n public mode = Camera.PERSPECTIVE_CAMERA;\n\n /**\n * Define whether the camera is intermediate.\n * This is useful to not present the output directly to the screen in case of rig without post process for instance\n */\n public isIntermediate = false;\n\n /**\n * Define the viewport of the camera.\n * This correspond to the portion of the screen the camera will render to in normalized 0 to 1 unit.\n */\n public viewport = new Viewport(0, 0, 1.0, 1.0);\n\n /**\n * Restricts the camera to viewing objects with the same layerMask.\n * A camera with a layerMask of 1 will render mesh.layerMask & camera.layerMask!== 0\n */\n @serialize()\n public layerMask: number = 0x0FFFFFFF;\n\n /**\n * fovMode sets the camera frustum bounds to the viewport bounds. (default is FOVMODE_VERTICAL_FIXED)\n */\n @serialize()\n public fovMode: number = Camera.FOVMODE_VERTICAL_FIXED;\n\n /**\n * Rig mode of the camera.\n * This is useful to create the camera with two \"eyes\" instead of one to create VR or stereoscopic scenes.\n * This is normally controlled byt the camera themselves as internal use.\n */\n @serialize()\n public cameraRigMode = Camera.RIG_MODE_NONE;\n\n /**\n * Defines the distance between both \"eyes\" in case of a RIG\n */\n @serialize()\n public interaxialDistance: number;\n\n /**\n * Defines if stereoscopic rendering is done side by side or over under.\n */\n @serialize()\n public isStereoscopicSideBySide: boolean;\n\n /**\n * Defines the list of custom render target which are rendered to and then used as the input to this camera's render. Eg. display another camera view on a TV in the main scene\n * This is pretty helpfull if you wish to make a camera render to a texture you could reuse somewhere\n * else in the scene. (Eg. security camera)\n *\n * To change the final output target of the camera, camera.outputRenderTarget should be used instead (eg. webXR renders to a render target corrisponding to an HMD)\n */\n public customRenderTargets = new Array();\n /**\n * When set, the camera will render to this render target instead of the default canvas\n *\n * If the desire is to use the output of a camera as a texture in the scene consider using camera.customRenderTargets instead\n */\n public outputRenderTarget: Nullable = null;\n\n /**\n * Observable triggered when the camera view matrix has changed.\n */\n public onViewMatrixChangedObservable = new Observable();\n /**\n * Observable triggered when the camera Projection matrix has changed.\n */\n public onProjectionMatrixChangedObservable = new Observable();\n /**\n * Observable triggered when the inputs have been processed.\n */\n public onAfterCheckInputsObservable = new Observable();\n /**\n * Observable triggered when reset has been called and applied to the camera.\n */\n public onRestoreStateObservable = new Observable();\n\n /**\n * Is this camera a part of a rig system?\n */\n public isRigCamera: boolean = false;\n\n /**\n * If isRigCamera set to true this will be set with the parent camera.\n * The parent camera is not (!) necessarily the .parent of this camera (like in the case of XR)\n */\n public rigParent?: Camera;\n\n /** @hidden */\n public _cameraRigParams: any;\n /** @hidden */\n public _rigCameras = new Array();\n /** @hidden */\n public _rigPostProcess: Nullable;\n\n protected _webvrViewMatrix = Matrix.Identity();\n /** @hidden */\n public _skipRendering = false;\n\n /** @hidden */\n public _projectionMatrix = new Matrix();\n\n /** @hidden */\n public _postProcesses = new Array>();\n\n /** @hidden */\n public _activeMeshes = new SmartArray(256);\n\n protected _globalPosition = Vector3.Zero();\n\n /** @hidden */\n public _computedViewMatrix = Matrix.Identity();\n private _doNotComputeProjectionMatrix = false;\n private _transformMatrix = Matrix.Zero();\n private _frustumPlanes: Plane[];\n private _refreshFrustumPlanes = true;\n private _storedFov: number;\n private _stateStored: boolean;\n\n /**\n * Instantiates a new camera object.\n * This should not be used directly but through the inherited cameras: ArcRotate, Free...\n * @see https://doc.babylonjs.com/features/cameras\n * @param name Defines the name of the camera in the scene\n * @param position Defines the position of the camera\n * @param scene Defines the scene the camera belongs too\n * @param setActiveOnSceneIfNoneActive Defines if the camera should be set as active after creation if no other camera have been defined in the scene\n */\n constructor(name: string, position: Vector3, scene: Scene, setActiveOnSceneIfNoneActive = true) {\n super(name, scene);\n\n this.getScene().addCamera(this);\n\n if (setActiveOnSceneIfNoneActive && !this.getScene().activeCamera) {\n this.getScene().activeCamera = this;\n }\n\n this.position = position;\n }\n\n /**\n * Store current camera state (fov, position, etc..)\n * @returns the camera\n */\n public storeState(): Camera {\n this._stateStored = true;\n this._storedFov = this.fov;\n\n return this;\n }\n\n /**\n * Restores the camera state values if it has been stored. You must call storeState() first\n */\n protected _restoreStateValues(): boolean {\n if (!this._stateStored) {\n return false;\n }\n\n this.fov = this._storedFov;\n\n return true;\n }\n\n /**\n * Restored camera state. You must call storeState() first.\n * @returns true if restored and false otherwise\n */\n public restoreState(): boolean {\n if (this._restoreStateValues()) {\n this.onRestoreStateObservable.notifyObservers(this);\n return true;\n }\n\n return false;\n }\n\n /**\n * Gets the class name of the camera.\n * @returns the class name\n */\n public getClassName(): string {\n return \"Camera\";\n }\n\n /** @hidden */\n public readonly _isCamera = true;\n\n /**\n * Gets a string representation of the camera useful for debug purpose.\n * @param fullDetails Defines that a more verboe level of logging is required\n * @returns the string representation\n */\n public toString(fullDetails?: boolean): string {\n var ret = \"Name: \" + this.name;\n ret += \", type: \" + this.getClassName();\n if (this.animations) {\n for (var i = 0; i < this.animations.length; i++) {\n ret += \", animation[0]: \" + this.animations[i].toString(fullDetails);\n }\n }\n if (fullDetails) {\n }\n return ret;\n }\n\n /**\n * Gets the current world space position of the camera.\n */\n public get globalPosition(): Vector3 {\n return this._globalPosition;\n }\n\n /**\n * Gets the list of active meshes this frame (meshes no culled or excluded by lod s in the frame)\n * @returns the active meshe list\n */\n public getActiveMeshes(): SmartArray {\n return this._activeMeshes;\n }\n\n /**\n * Check whether a mesh is part of the current active mesh list of the camera\n * @param mesh Defines the mesh to check\n * @returns true if active, false otherwise\n */\n public isActiveMesh(mesh: Mesh): boolean {\n return (this._activeMeshes.indexOf(mesh) !== -1);\n }\n\n /**\n * Is this camera ready to be used/rendered\n * @param completeCheck defines if a complete check (including post processes) has to be done (false by default)\n * @return true if the camera is ready\n */\n public isReady(completeCheck = false): boolean {\n if (completeCheck) {\n for (var pp of this._postProcesses) {\n if (pp && !pp.isReady()) {\n return false;\n }\n }\n }\n return super.isReady(completeCheck);\n }\n\n /** @hidden */\n public _initCache() {\n super._initCache();\n\n this._cache.position = new Vector3(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE);\n this._cache.upVector = new Vector3(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE);\n\n this._cache.mode = undefined;\n this._cache.minZ = undefined;\n this._cache.maxZ = undefined;\n\n this._cache.fov = undefined;\n this._cache.fovMode = undefined;\n this._cache.aspectRatio = undefined;\n\n this._cache.orthoLeft = undefined;\n this._cache.orthoRight = undefined;\n this._cache.orthoBottom = undefined;\n this._cache.orthoTop = undefined;\n this._cache.renderWidth = undefined;\n this._cache.renderHeight = undefined;\n }\n\n /** @hidden */\n public _updateCache(ignoreParentClass?: boolean): void {\n if (!ignoreParentClass) {\n super._updateCache();\n }\n\n this._cache.position.copyFrom(this.position);\n this._cache.upVector.copyFrom(this.upVector);\n }\n\n /** @hidden */\n public _isSynchronized(): boolean {\n return this._isSynchronizedViewMatrix() && this._isSynchronizedProjectionMatrix();\n }\n\n /** @hidden */\n public _isSynchronizedViewMatrix(): boolean {\n if (!super._isSynchronized()) {\n return false;\n }\n\n return this._cache.position.equals(this.position)\n && this._cache.upVector.equals(this.upVector)\n && this.isSynchronizedWithParent();\n }\n\n /** @hidden */\n public _isSynchronizedProjectionMatrix(): boolean {\n var check = this._cache.mode === this.mode\n && this._cache.minZ === this.minZ\n && this._cache.maxZ === this.maxZ;\n\n if (!check) {\n return false;\n }\n\n var engine = this.getEngine();\n\n if (this.mode === Camera.PERSPECTIVE_CAMERA) {\n check = this._cache.fov === this.fov\n && this._cache.fovMode === this.fovMode\n && this._cache.aspectRatio === engine.getAspectRatio(this);\n }\n else {\n check = this._cache.orthoLeft === this.orthoLeft\n && this._cache.orthoRight === this.orthoRight\n && this._cache.orthoBottom === this.orthoBottom\n && this._cache.orthoTop === this.orthoTop\n && this._cache.renderWidth === engine.getRenderWidth()\n && this._cache.renderHeight === engine.getRenderHeight();\n }\n\n return check;\n }\n\n /**\n * Attach the input controls to a specific dom element to get the input from.\n * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\n */\n public attachControl(noPreventDefault?: boolean): void;\n /**\n * Attach the input controls to a specific dom element to get the input from.\n * @param ignored defines an ignored parameter kept for backward compatibility. If you want to define the source input element, you can set engine.inputElement before calling camera.attachControl\n * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\n * BACK COMPAT SIGNATURE ONLY.\n */\n public attachControl(ignored: any, noPreventDefault?: boolean): void;\n /**\n * Attach the input controls to a specific dom element to get the input from.\n * @param ignored defines an ignored parameter kept for backward compatibility. If you want to define the source input element, you can set engine.inputElement before calling camera.attachControl\n * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\n */\n public attachControl(ignored?: any, noPreventDefault?: boolean): void {\n }\n\n /**\n * Detach the current controls from the specified dom element.\n */\n public detachControl(): void;\n /**\n * Detach the current controls from the specified dom element.\n * @param ignored defines an ignored parameter kept for backward compatibility. If you want to define the source input element, you can set engine.inputElement before calling camera.attachControl\n */\n public detachControl(ignored: any): void;\n /**\n * Detach the current controls from the specified dom element.\n * @param ignored defines an ignored parameter kept for backward compatibility. If you want to define the source input element, you can set engine.inputElement before calling camera.attachControl\n */\n public detachControl(ignored?: any): void {\n }\n\n /**\n * Update the camera state according to the different inputs gathered during the frame.\n */\n public update(): void {\n this._checkInputs();\n if (this.cameraRigMode !== Camera.RIG_MODE_NONE) {\n this._updateRigCameras();\n }\n }\n\n /** @hidden */\n public _checkInputs(): void {\n this.onAfterCheckInputsObservable.notifyObservers(this);\n }\n\n /** @hidden */\n public get rigCameras(): Camera[] {\n return this._rigCameras;\n }\n\n /**\n * Gets the post process used by the rig cameras\n */\n public get rigPostProcess(): Nullable {\n return this._rigPostProcess;\n }\n\n /**\n * Internal, gets the first post proces.\n * @returns the first post process to be run on this camera.\n */\n public _getFirstPostProcess(): Nullable {\n for (var ppIndex = 0; ppIndex < this._postProcesses.length; ppIndex++) {\n if (this._postProcesses[ppIndex] !== null) {\n return this._postProcesses[ppIndex];\n }\n }\n return null;\n }\n\n private _cascadePostProcessesToRigCams(): void {\n // invalidate framebuffer\n var firstPostProcess = this._getFirstPostProcess();\n if (firstPostProcess) {\n firstPostProcess.markTextureDirty();\n }\n\n // glue the rigPostProcess to the end of the user postprocesses & assign to each sub-camera\n for (var i = 0, len = this._rigCameras.length; i < len; i++) {\n var cam = this._rigCameras[i];\n var rigPostProcess = cam._rigPostProcess;\n\n // for VR rig, there does not have to be a post process\n if (rigPostProcess) {\n var isPass = rigPostProcess.getEffectName() === \"pass\";\n if (isPass) {\n // any rig which has a PassPostProcess for rig[0], cannot be isIntermediate when there are also user postProcesses\n cam.isIntermediate = this._postProcesses.length === 0;\n }\n cam._postProcesses = this._postProcesses.slice(0).concat(rigPostProcess);\n rigPostProcess.markTextureDirty();\n\n } else {\n cam._postProcesses = this._postProcesses.slice(0);\n }\n }\n }\n\n /**\n * Attach a post process to the camera.\n * @see https://doc.babylonjs.com/how_to/how_to_use_postprocesses#attach-postprocess\n * @param postProcess The post process to attach to the camera\n * @param insertAt The position of the post process in case several of them are in use in the scene\n * @returns the position the post process has been inserted at\n */\n public attachPostProcess(postProcess: PostProcess, insertAt: Nullable = null): number {\n if (!postProcess.isReusable() && this._postProcesses.indexOf(postProcess) > -1) {\n Logger.Error(\"You're trying to reuse a post process not defined as reusable.\");\n return 0;\n }\n\n if (insertAt == null || insertAt < 0) {\n this._postProcesses.push(postProcess);\n } else if (this._postProcesses[insertAt] === null) {\n this._postProcesses[insertAt] = postProcess;\n } else {\n this._postProcesses.splice(insertAt, 0, postProcess);\n }\n this._cascadePostProcessesToRigCams(); // also ensures framebuffer invalidated\n\n // Update prePass\n if (this._scene.prePassRenderer) {\n this._scene.prePassRenderer.markAsDirty();\n }\n\n return this._postProcesses.indexOf(postProcess);\n }\n\n /**\n * Detach a post process to the camera.\n * @see https://doc.babylonjs.com/how_to/how_to_use_postprocesses#attach-postprocess\n * @param postProcess The post process to detach from the camera\n */\n public detachPostProcess(postProcess: PostProcess): void {\n var idx = this._postProcesses.indexOf(postProcess);\n if (idx !== -1) {\n this._postProcesses[idx] = null;\n }\n\n // Update prePass\n if (this._scene.prePassRenderer) {\n this._scene.prePassRenderer.markAsDirty();\n }\n\n this._cascadePostProcessesToRigCams(); // also ensures framebuffer invalidated\n }\n\n /**\n * Gets the current world matrix of the camera\n */\n public getWorldMatrix(): Matrix {\n if (this._isSynchronizedViewMatrix()) {\n return this._worldMatrix;\n }\n\n // Getting the the view matrix will also compute the world matrix.\n this.getViewMatrix();\n\n return this._worldMatrix;\n }\n\n /** @hidden */\n public _getViewMatrix(): Matrix {\n return Matrix.Identity();\n }\n\n /**\n * Gets the current view matrix of the camera.\n * @param force forces the camera to recompute the matrix without looking at the cached state\n * @returns the view matrix\n */\n public getViewMatrix(force?: boolean): Matrix {\n if (!force && this._isSynchronizedViewMatrix()) {\n return this._computedViewMatrix;\n }\n\n this.updateCache();\n this._computedViewMatrix = this._getViewMatrix();\n this._currentRenderId = this.getScene().getRenderId();\n this._childUpdateId++;\n\n this._refreshFrustumPlanes = true;\n\n if (this._cameraRigParams && this._cameraRigParams.vrPreViewMatrix) {\n this._computedViewMatrix.multiplyToRef(this._cameraRigParams.vrPreViewMatrix, this._computedViewMatrix);\n }\n\n // Notify parent camera if rig camera is changed\n if (this.parent && (this.parent as Camera).onViewMatrixChangedObservable) {\n (this.parent as Camera).onViewMatrixChangedObservable.notifyObservers((this.parent as Camera));\n }\n\n this.onViewMatrixChangedObservable.notifyObservers(this);\n\n this._computedViewMatrix.invertToRef(this._worldMatrix);\n\n return this._computedViewMatrix;\n }\n\n /**\n * Freeze the projection matrix.\n * It will prevent the cache check of the camera projection compute and can speed up perf\n * if no parameter of the camera are meant to change\n * @param projection Defines manually a projection if necessary\n */\n public freezeProjectionMatrix(projection?: Matrix): void {\n this._doNotComputeProjectionMatrix = true;\n if (projection !== undefined) {\n this._projectionMatrix = projection;\n }\n }\n\n /**\n * Unfreeze the projection matrix if it has previously been freezed by freezeProjectionMatrix.\n */\n public unfreezeProjectionMatrix(): void {\n this._doNotComputeProjectionMatrix = false;\n }\n\n /**\n * Gets the current projection matrix of the camera.\n * @param force forces the camera to recompute the matrix without looking at the cached state\n * @returns the projection matrix\n */\n public getProjectionMatrix(force?: boolean): Matrix {\n if (this._doNotComputeProjectionMatrix || (!force && this._isSynchronizedProjectionMatrix())) {\n return this._projectionMatrix;\n }\n\n // Cache\n this._cache.mode = this.mode;\n this._cache.minZ = this.minZ;\n this._cache.maxZ = this.maxZ;\n\n // Matrix\n this._refreshFrustumPlanes = true;\n\n var engine = this.getEngine();\n var scene = this.getScene();\n if (this.mode === Camera.PERSPECTIVE_CAMERA) {\n this._cache.fov = this.fov;\n this._cache.fovMode = this.fovMode;\n this._cache.aspectRatio = engine.getAspectRatio(this);\n\n if (this.minZ <= 0) {\n this.minZ = 0.1;\n }\n\n const reverseDepth = engine.useReverseDepthBuffer;\n let getProjectionMatrix: (fov: number, aspect: number, znear: number, zfar: number, result: Matrix, isVerticalFovFixed: boolean) => void;\n if (scene.useRightHandedSystem) {\n getProjectionMatrix = reverseDepth ? Matrix.PerspectiveFovReverseRHToRef : Matrix.PerspectiveFovRHToRef;\n } else {\n getProjectionMatrix = reverseDepth ? Matrix.PerspectiveFovReverseLHToRef : Matrix.PerspectiveFovLHToRef;\n }\n\n getProjectionMatrix(this.fov,\n engine.getAspectRatio(this),\n this.minZ,\n this.maxZ,\n this._projectionMatrix,\n this.fovMode === Camera.FOVMODE_VERTICAL_FIXED);\n } else {\n var halfWidth = engine.getRenderWidth() / 2.0;\n var halfHeight = engine.getRenderHeight() / 2.0;\n if (scene.useRightHandedSystem) {\n Matrix.OrthoOffCenterRHToRef(this.orthoLeft ?? -halfWidth,\n this.orthoRight ?? halfWidth,\n this.orthoBottom ?? -halfHeight,\n this.orthoTop ?? halfHeight,\n this.minZ,\n this.maxZ,\n this._projectionMatrix);\n } else {\n Matrix.OrthoOffCenterLHToRef(this.orthoLeft ?? -halfWidth,\n this.orthoRight ?? halfWidth,\n this.orthoBottom ?? -halfHeight,\n this.orthoTop ?? halfHeight,\n this.minZ,\n this.maxZ,\n this._projectionMatrix);\n }\n\n this._cache.orthoLeft = this.orthoLeft;\n this._cache.orthoRight = this.orthoRight;\n this._cache.orthoBottom = this.orthoBottom;\n this._cache.orthoTop = this.orthoTop;\n this._cache.renderWidth = engine.getRenderWidth();\n this._cache.renderHeight = engine.getRenderHeight();\n }\n\n this.onProjectionMatrixChangedObservable.notifyObservers(this);\n\n return this._projectionMatrix;\n }\n\n /**\n * Gets the transformation matrix (ie. the multiplication of view by projection matrices)\n * @returns a Matrix\n */\n public getTransformationMatrix(): Matrix {\n this._computedViewMatrix.multiplyToRef(this._projectionMatrix, this._transformMatrix);\n return this._transformMatrix;\n }\n\n private _updateFrustumPlanes(): void {\n if (!this._refreshFrustumPlanes) {\n return;\n }\n\n this.getTransformationMatrix();\n\n if (!this._frustumPlanes) {\n this._frustumPlanes = Frustum.GetPlanes(this._transformMatrix);\n } else {\n Frustum.GetPlanesToRef(this._transformMatrix, this._frustumPlanes);\n }\n\n this._refreshFrustumPlanes = false;\n }\n\n /**\n * Checks if a cullable object (mesh...) is in the camera frustum\n * This checks the bounding box center. See isCompletelyInFrustum for a full bounding check\n * @param target The object to check\n * @param checkRigCameras If the rig cameras should be checked (eg. with webVR camera both eyes should be checked) (Default: false)\n * @returns true if the object is in frustum otherwise false\n */\n public isInFrustum(target: ICullable, checkRigCameras = false): boolean {\n this._updateFrustumPlanes();\n\n if (checkRigCameras && this.rigCameras.length > 0) {\n var result = false;\n this.rigCameras.forEach((cam) => {\n cam._updateFrustumPlanes();\n result = result || target.isInFrustum(cam._frustumPlanes);\n });\n return result;\n } else {\n return target.isInFrustum(this._frustumPlanes);\n }\n }\n\n /**\n * Checks if a cullable object (mesh...) is in the camera frustum\n * Unlike isInFrustum this cheks the full bounding box\n * @param target The object to check\n * @returns true if the object is in frustum otherwise false\n */\n public isCompletelyInFrustum(target: ICullable): boolean {\n this._updateFrustumPlanes();\n\n return target.isCompletelyInFrustum(this._frustumPlanes);\n }\n\n /**\n * Gets a ray in the forward direction from the camera.\n * @param length Defines the length of the ray to create\n * @param transform Defines the transform to apply to the ray, by default the world matrx is used to create a workd space ray\n * @param origin Defines the start point of the ray which defaults to the camera position\n * @returns the forward ray\n */\n public getForwardRay(length = 100, transform?: Matrix, origin?: Vector3): Ray {\n throw _DevTools.WarnImport(\"Ray\");\n }\n\n /**\n * Gets a ray in the forward direction from the camera.\n * @param refRay the ray to (re)use when setting the values\n * @param length Defines the length of the ray to create\n * @param transform Defines the transform to apply to the ray, by default the world matrx is used to create a workd space ray\n * @param origin Defines the start point of the ray which defaults to the camera position\n * @returns the forward ray\n */\n public getForwardRayToRef(refRay: Ray, length = 100, transform?: Matrix, origin?: Vector3): Ray {\n throw _DevTools.WarnImport(\"Ray\");\n }\n\n /**\n * Releases resources associated with this node.\n * @param doNotRecurse Set to true to not recurse into each children (recurse into each children by default)\n * @param disposeMaterialAndTextures Set to true to also dispose referenced materials and textures (false by default)\n */\n public dispose(doNotRecurse?: boolean, disposeMaterialAndTextures = false): void {\n // Observables\n this.onViewMatrixChangedObservable.clear();\n this.onProjectionMatrixChangedObservable.clear();\n this.onAfterCheckInputsObservable.clear();\n this.onRestoreStateObservable.clear();\n\n // Inputs\n if (this.inputs) {\n this.inputs.clear();\n }\n\n // Animations\n this.getScene().stopAnimation(this);\n\n // Remove from scene\n this.getScene().removeCamera(this);\n while (this._rigCameras.length > 0) {\n let camera = this._rigCameras.pop();\n if (camera) {\n camera.dispose();\n }\n }\n\n // Postprocesses\n if (this._rigPostProcess) {\n this._rigPostProcess.dispose(this);\n this._rigPostProcess = null;\n this._postProcesses = [];\n }\n else if (this.cameraRigMode !== Camera.RIG_MODE_NONE) {\n this._rigPostProcess = null;\n this._postProcesses = [];\n } else {\n var i = this._postProcesses.length;\n while (--i >= 0) {\n var postProcess = this._postProcesses[i];\n if (postProcess) {\n postProcess.dispose(this);\n }\n }\n }\n\n // Render targets\n var i = this.customRenderTargets.length;\n while (--i >= 0) {\n this.customRenderTargets[i].dispose();\n }\n this.customRenderTargets = [];\n\n // Active Meshes\n this._activeMeshes.dispose();\n\n super.dispose(doNotRecurse, disposeMaterialAndTextures);\n }\n\n /** @hidden */\n public _isLeftCamera = false;\n /**\n * Gets the left camera of a rig setup in case of Rigged Camera\n */\n public get isLeftCamera(): boolean {\n return this._isLeftCamera;\n }\n\n /** @hidden */\n public _isRightCamera = false;\n /**\n * Gets the right camera of a rig setup in case of Rigged Camera\n */\n public get isRightCamera(): boolean {\n return this._isRightCamera;\n }\n\n /**\n * Gets the left camera of a rig setup in case of Rigged Camera\n */\n public get leftCamera(): Nullable {\n if (this._rigCameras.length < 1) {\n return null;\n }\n return (this._rigCameras[0]);\n }\n\n /**\n * Gets the right camera of a rig setup in case of Rigged Camera\n */\n public get rightCamera(): Nullable {\n if (this._rigCameras.length < 2) {\n return null;\n }\n return (this._rigCameras[1]);\n }\n\n /**\n * Gets the left camera target of a rig setup in case of Rigged Camera\n * @returns the target position\n */\n public getLeftTarget(): Nullable {\n if (this._rigCameras.length < 1) {\n return null;\n }\n return (this._rigCameras[0]).getTarget();\n }\n\n /**\n * Gets the right camera target of a rig setup in case of Rigged Camera\n * @returns the target position\n */\n public getRightTarget(): Nullable {\n if (this._rigCameras.length < 2) {\n return null;\n }\n return (this._rigCameras[1]).getTarget();\n }\n\n /**\n * @hidden\n */\n public setCameraRigMode(mode: number, rigParams: any): void {\n if (this.cameraRigMode === mode) {\n return;\n }\n\n while (this._rigCameras.length > 0) {\n let camera = this._rigCameras.pop();\n\n if (camera) {\n camera.dispose();\n }\n }\n this.cameraRigMode = mode;\n this._cameraRigParams = {};\n //we have to implement stereo camera calcultating left and right viewpoints from interaxialDistance and target,\n //not from a given angle as it is now, but until that complete code rewriting provisional stereoHalfAngle value is introduced\n this._cameraRigParams.interaxialDistance = rigParams.interaxialDistance || 0.0637;\n this._cameraRigParams.stereoHalfAngle = Tools.ToRadians(this._cameraRigParams.interaxialDistance / 0.0637);\n\n // create the rig cameras, unless none\n if (this.cameraRigMode !== Camera.RIG_MODE_NONE) {\n let leftCamera = this.createRigCamera(this.name + \"_L\", 0);\n if (leftCamera) {\n leftCamera._isLeftCamera = true;\n }\n let rightCamera = this.createRigCamera(this.name + \"_R\", 1);\n if (rightCamera) {\n rightCamera._isRightCamera = true;\n }\n if (leftCamera && rightCamera) {\n this._rigCameras.push(leftCamera);\n this._rigCameras.push(rightCamera);\n }\n }\n\n switch (this.cameraRigMode) {\n case Camera.RIG_MODE_STEREOSCOPIC_ANAGLYPH:\n Camera._setStereoscopicAnaglyphRigMode(this);\n break;\n case Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL:\n case Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED:\n case Camera.RIG_MODE_STEREOSCOPIC_OVERUNDER:\n case Camera.RIG_MODE_STEREOSCOPIC_INTERLACED:\n Camera._setStereoscopicRigMode(this);\n break;\n case Camera.RIG_MODE_VR:\n Camera._setVRRigMode(this, rigParams);\n break;\n case Camera.RIG_MODE_WEBVR:\n Camera._setWebVRRigMode(this, rigParams);\n break;\n }\n\n this._cascadePostProcessesToRigCams();\n this.update();\n }\n\n /** @hidden */\n public static _setStereoscopicRigMode(camera: Camera) {\n throw \"Import Cameras/RigModes/stereoscopicRigMode before using stereoscopic rig mode\";\n }\n\n /** @hidden */\n public static _setStereoscopicAnaglyphRigMode(camera: Camera) {\n throw \"Import Cameras/RigModes/stereoscopicAnaglyphRigMode before using stereoscopic anaglyph rig mode\";\n }\n\n /** @hidden */\n public static _setVRRigMode(camera: Camera, rigParams: any) {\n throw \"Import Cameras/RigModes/vrRigMode before using VR rig mode\";\n }\n\n /** @hidden */\n public static _setWebVRRigMode(camera: Camera, rigParams: any) {\n throw \"Import Cameras/RigModes/WebVRRigMode before using Web VR rig mode\";\n }\n\n /** @hidden */\n public _getVRProjectionMatrix(): Matrix {\n Matrix.PerspectiveFovLHToRef(this._cameraRigParams.vrMetrics.aspectRatioFov, this._cameraRigParams.vrMetrics.aspectRatio, this.minZ, this.maxZ, this._cameraRigParams.vrWorkMatrix);\n this._cameraRigParams.vrWorkMatrix.multiplyToRef(this._cameraRigParams.vrHMatrix, this._projectionMatrix);\n return this._projectionMatrix;\n }\n\n protected _updateCameraRotationMatrix() {\n //Here for WebVR\n }\n\n protected _updateWebVRCameraRotationMatrix() {\n //Here for WebVR\n }\n\n /**\n * This function MUST be overwritten by the different WebVR cameras available.\n * The context in which it is running is the RIG camera. So 'this' is the TargetCamera, left or right.\n * @hidden\n */\n public _getWebVRProjectionMatrix(): Matrix {\n return Matrix.Identity();\n }\n\n /**\n * This function MUST be overwritten by the different WebVR cameras available.\n * The context in which it is running is the RIG camera. So 'this' is the TargetCamera, left or right.\n * @hidden\n */\n public _getWebVRViewMatrix(): Matrix {\n return Matrix.Identity();\n }\n\n /** @hidden */\n public setCameraRigParameter(name: string, value: any) {\n if (!this._cameraRigParams) {\n this._cameraRigParams = {};\n }\n this._cameraRigParams[name] = value;\n //provisionnally:\n if (name === \"interaxialDistance\") {\n this._cameraRigParams.stereoHalfAngle = Tools.ToRadians(value / 0.0637);\n }\n }\n\n /**\n * needs to be overridden by children so sub has required properties to be copied\n * @hidden\n */\n public createRigCamera(name: string, cameraIndex: number): Nullable {\n return null;\n }\n\n /**\n * May need to be overridden by children\n * @hidden\n */\n public _updateRigCameras() {\n for (var i = 0; i < this._rigCameras.length; i++) {\n this._rigCameras[i].minZ = this.minZ;\n this._rigCameras[i].maxZ = this.maxZ;\n this._rigCameras[i].fov = this.fov;\n this._rigCameras[i].upVector.copyFrom(this.upVector);\n }\n\n // only update viewport when ANAGLYPH\n if (this.cameraRigMode === Camera.RIG_MODE_STEREOSCOPIC_ANAGLYPH) {\n this._rigCameras[0].viewport = this._rigCameras[1].viewport = this.viewport;\n }\n }\n\n /** @hidden */\n public _setupInputs() {\n }\n\n /**\n * Serialiaze the camera setup to a json represention\n * @returns the JSON representation\n */\n public serialize(): any {\n var serializationObject = SerializationHelper.Serialize(this);\n\n // Type\n serializationObject.type = this.getClassName();\n\n // Parent\n if (this.parent) {\n serializationObject.parentId = this.parent.id;\n }\n\n if (this.inputs) {\n this.inputs.serialize(serializationObject);\n }\n // Animations\n SerializationHelper.AppendSerializedAnimations(this, serializationObject);\n serializationObject.ranges = this.serializeAnimationRanges();\n\n return serializationObject;\n }\n\n /**\n * Clones the current camera.\n * @param name The cloned camera name\n * @returns the cloned camera\n */\n public clone(name: string): Camera {\n return SerializationHelper.Clone(Camera.GetConstructorFromName(this.getClassName(), name, this.getScene(), this.interaxialDistance, this.isStereoscopicSideBySide), this);\n }\n\n /**\n * Gets the direction of the camera relative to a given local axis.\n * @param localAxis Defines the reference axis to provide a relative direction.\n * @return the direction\n */\n public getDirection(localAxis: Vector3): Vector3 {\n var result = Vector3.Zero();\n\n this.getDirectionToRef(localAxis, result);\n\n return result;\n }\n\n /**\n * Returns the current camera absolute rotation\n */\n public get absoluteRotation(): Quaternion {\n var result = Quaternion.Zero();\n\n this.getWorldMatrix().decompose(undefined, result);\n\n return result;\n }\n\n /**\n * Gets the direction of the camera relative to a given local axis into a passed vector.\n * @param localAxis Defines the reference axis to provide a relative direction.\n * @param result Defines the vector to store the result in\n */\n public getDirectionToRef(localAxis: Vector3, result: Vector3): void {\n Vector3.TransformNormalToRef(localAxis, this.getWorldMatrix(), result);\n }\n\n /**\n * Gets a camera constructor for a given camera type\n * @param type The type of the camera to construct (should be equal to one of the camera class name)\n * @param name The name of the camera the result will be able to instantiate\n * @param scene The scene the result will construct the camera in\n * @param interaxial_distance In case of stereoscopic setup, the distance between both eyes\n * @param isStereoscopicSideBySide In case of stereoscopic setup, should the sereo be side b side\n * @returns a factory method to construc the camera\n */\n static GetConstructorFromName(type: string, name: string, scene: Scene, interaxial_distance: number = 0, isStereoscopicSideBySide: boolean = true): () => Camera {\n let constructorFunc = Node.Construct(type, name, scene, {\n interaxial_distance: interaxial_distance,\n isStereoscopicSideBySide: isStereoscopicSideBySide\n });\n\n if (constructorFunc) {\n return <() => Camera>constructorFunc;\n }\n\n // Default to universal camera\n return () => Camera._createDefaultParsedCamera(name, scene);\n }\n\n /**\n * Compute the world matrix of the camera.\n * @returns the camera world matrix\n */\n public computeWorldMatrix(): Matrix {\n return this.getWorldMatrix();\n }\n\n /**\n * Parse a JSON and creates the camera from the parsed information\n * @param parsedCamera The JSON to parse\n * @param scene The scene to instantiate the camera in\n * @returns the newly constructed camera\n */\n public static Parse(parsedCamera: any, scene: Scene): Camera {\n var type = parsedCamera.type;\n var construct = Camera.GetConstructorFromName(type, parsedCamera.name, scene, parsedCamera.interaxial_distance, parsedCamera.isStereoscopicSideBySide);\n\n var camera = SerializationHelper.Parse(construct, parsedCamera, scene);\n\n // Parent\n if (parsedCamera.parentId) {\n camera._waitingParentId = parsedCamera.parentId;\n }\n\n //If camera has an input manager, let it parse inputs settings\n if (camera.inputs) {\n camera.inputs.parse(parsedCamera);\n\n camera._setupInputs();\n }\n\n if (parsedCamera.upVector) {\n camera.upVector = Vector3.FromArray(parsedCamera.upVector); // need to force the upVector\n }\n\n if ((camera).setPosition) { // need to force position\n camera.position.copyFromFloats(0, 0, 0);\n (camera).setPosition(Vector3.FromArray(parsedCamera.position));\n }\n\n // Target\n if (parsedCamera.target) {\n if ((camera).setTarget) {\n (camera).setTarget(Vector3.FromArray(parsedCamera.target));\n }\n }\n\n // Apply 3d rig, when found\n if (parsedCamera.cameraRigMode) {\n var rigParams = (parsedCamera.interaxial_distance) ? { interaxialDistance: parsedCamera.interaxial_distance } : {};\n camera.setCameraRigMode(parsedCamera.cameraRigMode, rigParams);\n }\n\n // Animations\n if (parsedCamera.animations) {\n for (var animationIndex = 0; animationIndex < parsedCamera.animations.length; animationIndex++) {\n var parsedAnimation = parsedCamera.animations[animationIndex];\n const internalClass = _TypeStore.GetClass(\"BABYLON.Animation\");\n if (internalClass) {\n camera.animations.push(internalClass.Parse(parsedAnimation));\n }\n }\n Node.ParseAnimationRanges(camera, parsedCamera, scene);\n }\n\n if (parsedCamera.autoAnimate) {\n scene.beginAnimation(camera, parsedCamera.autoAnimateFrom, parsedCamera.autoAnimateTo, parsedCamera.autoAnimateLoop, parsedCamera.autoAnimateSpeed || 1.0);\n }\n\n return camera;\n }\n}\n","import { IEasingFunction, EasingFunction } from \"./easing\";\r\nimport { Vector3, Quaternion, Vector2, Matrix, TmpVectors } from \"../Maths/math.vector\";\r\nimport { Color3, Color4 } from '../Maths/math.color';\r\nimport { Scalar } from \"../Maths/math.scalar\";\r\n\r\nimport { Nullable } from \"../types\";\r\nimport { Scene } from \"../scene\";\r\nimport { SerializationHelper } from \"../Misc/decorators\";\r\nimport { _TypeStore } from '../Misc/typeStore';\r\nimport { IAnimationKey, AnimationKeyInterpolation } from './animationKey';\r\nimport { AnimationRange } from './animationRange';\r\nimport { AnimationEvent } from './animationEvent';\r\nimport { Node } from \"../node\";\r\nimport { IAnimatable } from './animatable.interface';\r\nimport { Size } from '../Maths/math.size';\r\nimport { WebRequest } from '../Misc/webRequest';\r\n\r\ndeclare type Animatable = import(\"./animatable\").Animatable;\r\ndeclare type RuntimeAnimation = import(\"./runtimeAnimation\").RuntimeAnimation;\r\n\r\n/**\r\n * @hidden\r\n */\r\nexport class _IAnimationState {\r\n key: number;\r\n repeatCount: number;\r\n workValue?: any;\r\n loopMode?: number;\r\n offsetValue?: any;\r\n highLimitValue?: any;\r\n}\r\n\r\n/**\r\n * Class used to store any kind of animation\r\n */\r\nexport class Animation {\r\n /**\r\n * Use matrix interpolation instead of using direct key value when animating matrices\r\n */\r\n public static AllowMatricesInterpolation = false;\r\n\r\n /**\r\n * When matrix interpolation is enabled, this boolean forces the system to use Matrix.DecomposeLerp instead of Matrix.Lerp. Interpolation is more precise but slower\r\n */\r\n public static AllowMatrixDecomposeForInterpolation = true;\r\n\r\n /** Define the Url to load snippets */\r\n public static SnippetUrl = \"https://snippet.babylonjs.com\";\r\n\r\n /** Snippet ID if the animation was created from the snippet server */\r\n public snippetId: string;\r\n\r\n /**\r\n * Stores the key frames of the animation\r\n */\r\n private _keys: Array;\r\n\r\n /**\r\n * Stores the easing function of the animation\r\n */\r\n private _easingFunction: IEasingFunction;\r\n\r\n /**\r\n * @hidden Internal use only\r\n */\r\n public _runtimeAnimations = new Array();\r\n\r\n /**\r\n * The set of event that will be linked to this animation\r\n */\r\n private _events = new Array();\r\n\r\n /**\r\n * Stores an array of target property paths\r\n */\r\n public targetPropertyPath: string[];\r\n\r\n /**\r\n * Stores the blending speed of the animation\r\n */\r\n public blendingSpeed = 0.01;\r\n\r\n /**\r\n * Stores the animation ranges for the animation\r\n */\r\n private _ranges: { [name: string]: Nullable } = {};\r\n\r\n /**\r\n * @hidden Internal use\r\n */\r\n public static _PrepareAnimation(name: string, targetProperty: string, framePerSecond: number, totalFrame: number,\r\n from: any, to: any, loopMode?: number, easingFunction?: EasingFunction): Nullable {\r\n var dataType = undefined;\r\n\r\n if (!isNaN(parseFloat(from)) && isFinite(from)) {\r\n dataType = Animation.ANIMATIONTYPE_FLOAT;\r\n } else if (from instanceof Quaternion) {\r\n dataType = Animation.ANIMATIONTYPE_QUATERNION;\r\n } else if (from instanceof Vector3) {\r\n dataType = Animation.ANIMATIONTYPE_VECTOR3;\r\n } else if (from instanceof Vector2) {\r\n dataType = Animation.ANIMATIONTYPE_VECTOR2;\r\n } else if (from instanceof Color3) {\r\n dataType = Animation.ANIMATIONTYPE_COLOR3;\r\n } else if (from instanceof Color4) {\r\n dataType = Animation.ANIMATIONTYPE_COLOR4;\r\n } else if (from instanceof Size) {\r\n dataType = Animation.ANIMATIONTYPE_SIZE;\r\n }\r\n\r\n if (dataType == undefined) {\r\n return null;\r\n }\r\n\r\n var animation = new Animation(name, targetProperty, framePerSecond, dataType, loopMode);\r\n\r\n var keys: Array = [{ frame: 0, value: from }, { frame: totalFrame, value: to }];\r\n animation.setKeys(keys);\r\n\r\n if (easingFunction !== undefined) {\r\n animation.setEasingFunction(easingFunction);\r\n }\r\n\r\n return animation;\r\n }\r\n\r\n /**\r\n * Sets up an animation\r\n * @param property The property to animate\r\n * @param animationType The animation type to apply\r\n * @param framePerSecond The frames per second of the animation\r\n * @param easingFunction The easing function used in the animation\r\n * @returns The created animation\r\n */\r\n public static CreateAnimation(property: string, animationType: number, framePerSecond: number, easingFunction: EasingFunction): Animation {\r\n var animation: Animation = new Animation(property + \"Animation\",\r\n property,\r\n framePerSecond,\r\n animationType,\r\n Animation.ANIMATIONLOOPMODE_CONSTANT);\r\n\r\n animation.setEasingFunction(easingFunction);\r\n\r\n return animation;\r\n }\r\n\r\n /**\r\n * Create and start an animation on a node\r\n * @param name defines the name of the global animation that will be run on all nodes\r\n * @param node defines the root node where the animation will take place\r\n * @param targetProperty defines property to animate\r\n * @param framePerSecond defines the number of frame per second yo use\r\n * @param totalFrame defines the number of frames in total\r\n * @param from defines the initial value\r\n * @param to defines the final value\r\n * @param loopMode defines which loop mode you want to use (off by default)\r\n * @param easingFunction defines the easing function to use (linear by default)\r\n * @param onAnimationEnd defines the callback to call when animation end\r\n * @returns the animatable created for this animation\r\n */\r\n public static CreateAndStartAnimation(name: string, node: Node, targetProperty: string,\r\n framePerSecond: number, totalFrame: number,\r\n from: any, to: any, loopMode?: number, easingFunction?: EasingFunction, onAnimationEnd?: () => void): Nullable {\r\n\r\n var animation = Animation._PrepareAnimation(name, targetProperty, framePerSecond, totalFrame, from, to, loopMode, easingFunction);\r\n\r\n if (!animation) {\r\n return null;\r\n }\r\n\r\n return node.getScene().beginDirectAnimation(node, [animation], 0, totalFrame, (animation.loopMode === 1), 1.0, onAnimationEnd);\r\n }\r\n\r\n /**\r\n * Create and start an animation on a node and its descendants\r\n * @param name defines the name of the global animation that will be run on all nodes\r\n * @param node defines the root node where the animation will take place\r\n * @param directDescendantsOnly if true only direct descendants will be used, if false direct and also indirect (children of children, an so on in a recursive manner) descendants will be used\r\n * @param targetProperty defines property to animate\r\n * @param framePerSecond defines the number of frame per second to use\r\n * @param totalFrame defines the number of frames in total\r\n * @param from defines the initial value\r\n * @param to defines the final value\r\n * @param loopMode defines which loop mode you want to use (off by default)\r\n * @param easingFunction defines the easing function to use (linear by default)\r\n * @param onAnimationEnd defines the callback to call when an animation ends (will be called once per node)\r\n * @returns the list of animatables created for all nodes\r\n * @example https://www.babylonjs-playground.com/#MH0VLI\r\n */\r\n public static CreateAndStartHierarchyAnimation(name: string, node: Node, directDescendantsOnly: boolean, targetProperty: string,\r\n framePerSecond: number, totalFrame: number,\r\n from: any, to: any, loopMode?: number, easingFunction?: EasingFunction, onAnimationEnd?: () => void): Nullable {\r\n\r\n var animation = Animation._PrepareAnimation(name, targetProperty, framePerSecond, totalFrame, from, to, loopMode, easingFunction);\r\n\r\n if (!animation) {\r\n return null;\r\n }\r\n\r\n let scene = node.getScene();\r\n return scene.beginDirectHierarchyAnimation(node, directDescendantsOnly, [animation], 0, totalFrame, (animation.loopMode === 1), 1.0, onAnimationEnd);\r\n }\r\n\r\n /**\r\n * Creates a new animation, merges it with the existing animations and starts it\r\n * @param name Name of the animation\r\n * @param node Node which contains the scene that begins the animations\r\n * @param targetProperty Specifies which property to animate\r\n * @param framePerSecond The frames per second of the animation\r\n * @param totalFrame The total number of frames\r\n * @param from The frame at the beginning of the animation\r\n * @param to The frame at the end of the animation\r\n * @param loopMode Specifies the loop mode of the animation\r\n * @param easingFunction (Optional) The easing function of the animation, which allow custom mathematical formulas for animations\r\n * @param onAnimationEnd Callback to run once the animation is complete\r\n * @returns Nullable animation\r\n */\r\n public static CreateMergeAndStartAnimation(name: string, node: Node, targetProperty: string,\r\n framePerSecond: number, totalFrame: number,\r\n from: any, to: any, loopMode?: number, easingFunction?: EasingFunction, onAnimationEnd?: () => void): Nullable {\r\n\r\n var animation = Animation._PrepareAnimation(name, targetProperty, framePerSecond, totalFrame, from, to, loopMode, easingFunction);\r\n\r\n if (!animation) {\r\n return null;\r\n }\r\n\r\n node.animations.push(animation);\r\n\r\n return node.getScene().beginAnimation(node, 0, totalFrame, (animation.loopMode === 1), 1.0, onAnimationEnd);\r\n }\r\n\r\n /**\r\n * Convert the keyframes for all animations belonging to the group to be relative to a given reference frame.\r\n * @param sourceAnimation defines the Animation containing keyframes to convert\r\n * @param referenceFrame defines the frame that keyframes in the range will be relative to\r\n * @param range defines the name of the AnimationRange belonging to the Animation to convert\r\n * @param cloneOriginal defines whether or not to clone the animation and convert the clone or convert the original animation (default is false)\r\n * @param clonedName defines the name of the resulting cloned Animation if cloneOriginal is true\r\n * @returns a new Animation if cloneOriginal is true or the original Animation if cloneOriginal is false\r\n */\r\n public static MakeAnimationAdditive(sourceAnimation: Animation, referenceFrame = 0, range?: string, cloneOriginal = false, clonedName?: string): Animation {\r\n let animation = sourceAnimation;\r\n\r\n if (cloneOriginal) {\r\n animation = sourceAnimation.clone();\r\n animation.name = clonedName || animation.name;\r\n }\r\n\r\n if (!animation._keys.length) {\r\n return animation;\r\n }\r\n\r\n referenceFrame = referenceFrame >= 0 ? referenceFrame : 0;\r\n let startIndex = 0;\r\n let firstKey = animation._keys[0];\r\n let endIndex = animation._keys.length - 1;\r\n let lastKey = animation._keys[endIndex];\r\n let valueStore = {\r\n referenceValue: firstKey.value,\r\n referencePosition: TmpVectors.Vector3[0],\r\n referenceQuaternion: TmpVectors.Quaternion[0],\r\n referenceScaling: TmpVectors.Vector3[1],\r\n keyPosition: TmpVectors.Vector3[2],\r\n keyQuaternion: TmpVectors.Quaternion[1],\r\n keyScaling: TmpVectors.Vector3[3]\r\n };\r\n let referenceFound = false;\r\n let from = firstKey.frame;\r\n let to = lastKey.frame;\r\n if (range) {\r\n let rangeValue = animation.getRange(range);\r\n\r\n if (rangeValue) {\r\n from = rangeValue.from;\r\n to = rangeValue.to;\r\n }\r\n }\r\n let fromKeyFound = firstKey.frame === from;\r\n let toKeyFound = lastKey.frame === to;\r\n\r\n // There's only one key, so use it\r\n if (animation._keys.length === 1) {\r\n let value = animation._getKeyValue(animation._keys[0]);\r\n valueStore.referenceValue = value.clone ? value.clone() : value;\r\n referenceFound = true;\r\n }\r\n\r\n // Reference frame is before the first frame, so just use the first frame\r\n else if (referenceFrame <= firstKey.frame) {\r\n let value = animation._getKeyValue(firstKey.value);\r\n valueStore.referenceValue = value.clone ? value.clone() : value;\r\n referenceFound = true;\r\n }\r\n\r\n // Reference frame is after the last frame, so just use the last frame\r\n else if (referenceFrame >= lastKey.frame) {\r\n let value = animation._getKeyValue(lastKey.value);\r\n valueStore.referenceValue = value.clone ? value.clone() : value;\r\n referenceFound = true;\r\n }\r\n\r\n // Find key bookends, create them if they don't exist\r\n var index = 0;\r\n while (!referenceFound || !fromKeyFound || !toKeyFound && index < animation._keys.length - 1) {\r\n let currentKey = animation._keys[index];\r\n let nextKey = animation._keys[index + 1];\r\n\r\n // If reference frame wasn't found yet, check if we can interpolate to it\r\n if (!referenceFound && referenceFrame >= currentKey.frame && referenceFrame <= nextKey.frame) {\r\n let value;\r\n\r\n if (referenceFrame === currentKey.frame) {\r\n value = animation._getKeyValue(currentKey.value);\r\n } else if (referenceFrame === nextKey.frame) {\r\n value = animation._getKeyValue(nextKey.value);\r\n } else {\r\n let animationState = {\r\n key: index,\r\n repeatCount: 0,\r\n loopMode: this.ANIMATIONLOOPMODE_CONSTANT\r\n };\r\n value = animation._interpolate(referenceFrame, animationState);\r\n }\r\n\r\n valueStore.referenceValue = value.clone ? value.clone() : value;\r\n referenceFound = true;\r\n }\r\n\r\n // If from key wasn't found yet, check if we can interpolate to it\r\n if (!fromKeyFound && from >= currentKey.frame && from <= nextKey.frame) {\r\n if (from === currentKey.frame) {\r\n startIndex = index;\r\n } else if (from === nextKey.frame) {\r\n startIndex = index + 1;\r\n } else {\r\n let animationState = {\r\n key: index,\r\n repeatCount: 0,\r\n loopMode: this.ANIMATIONLOOPMODE_CONSTANT\r\n };\r\n let value = animation._interpolate(from, animationState);\r\n let key: IAnimationKey = {\r\n frame: from,\r\n value: value.clone ? value.clone() : value\r\n };\r\n animation._keys.splice(index + 1, 0, key);\r\n startIndex = index + 1;\r\n }\r\n\r\n fromKeyFound = true;\r\n }\r\n\r\n // If to key wasn't found yet, check if we can interpolate to it\r\n if (!toKeyFound && to >= currentKey.frame && to <= nextKey.frame) {\r\n if (to === currentKey.frame) {\r\n endIndex = index;\r\n } else if (to === nextKey.frame) {\r\n endIndex = index + 1;\r\n } else {\r\n let animationState = {\r\n key: index,\r\n repeatCount: 0,\r\n loopMode: this.ANIMATIONLOOPMODE_CONSTANT\r\n };\r\n let value = animation._interpolate(to, animationState);\r\n let key: IAnimationKey = {\r\n frame: to,\r\n value: value.clone ? value.clone() : value\r\n };\r\n animation._keys.splice(index + 1, 0, key);\r\n endIndex = index + 1;\r\n }\r\n\r\n toKeyFound = true;\r\n }\r\n\r\n index++;\r\n }\r\n\r\n // Conjugate the quaternion\r\n if (animation.dataType === Animation.ANIMATIONTYPE_QUATERNION) {\r\n valueStore.referenceValue.normalize().conjugateInPlace();\r\n }\r\n\r\n // Decompose matrix and conjugate the quaternion\r\n else if (animation.dataType === Animation.ANIMATIONTYPE_MATRIX) {\r\n valueStore.referenceValue.decompose(valueStore.referenceScaling, valueStore.referenceQuaternion, valueStore.referencePosition);\r\n valueStore.referenceQuaternion.normalize().conjugateInPlace();\r\n }\r\n\r\n // Subtract the reference value from all of the key values\r\n for (var index = startIndex; index <= endIndex; index++) {\r\n let key = animation._keys[index];\r\n\r\n // If this key was duplicated to create a frame 0 key, skip it because its value has already been updated\r\n if (index && animation.dataType !== Animation.ANIMATIONTYPE_FLOAT && key.value === firstKey.value) {\r\n continue;\r\n }\r\n\r\n switch (animation.dataType) {\r\n case Animation.ANIMATIONTYPE_MATRIX:\r\n key.value.decompose(valueStore.keyScaling, valueStore.keyQuaternion, valueStore.keyPosition);\r\n valueStore.keyPosition.subtractInPlace(valueStore.referencePosition);\r\n valueStore.keyScaling.divideInPlace(valueStore.referenceScaling);\r\n valueStore.referenceQuaternion.multiplyToRef(valueStore.keyQuaternion, valueStore.keyQuaternion);\r\n Matrix.ComposeToRef(valueStore.keyScaling, valueStore.keyQuaternion, valueStore.keyPosition, key.value);\r\n break;\r\n\r\n case Animation.ANIMATIONTYPE_QUATERNION:\r\n valueStore.referenceValue.multiplyToRef(key.value, key.value);\r\n break;\r\n\r\n case Animation.ANIMATIONTYPE_VECTOR2:\r\n case Animation.ANIMATIONTYPE_VECTOR3:\r\n case Animation.ANIMATIONTYPE_COLOR3:\r\n case Animation.ANIMATIONTYPE_COLOR4:\r\n key.value.subtractToRef(valueStore.referenceValue, key.value);\r\n break;\r\n\r\n case Animation.ANIMATIONTYPE_SIZE:\r\n key.value.width -= valueStore.referenceValue.width;\r\n key.value.height -= valueStore.referenceValue.height;\r\n break;\r\n\r\n default:\r\n key.value -= valueStore.referenceValue;\r\n }\r\n }\r\n\r\n return animation;\r\n }\r\n\r\n /**\r\n * Transition property of an host to the target Value\r\n * @param property The property to transition\r\n * @param targetValue The target Value of the property\r\n * @param host The object where the property to animate belongs\r\n * @param scene Scene used to run the animation\r\n * @param frameRate Framerate (in frame/s) to use\r\n * @param transition The transition type we want to use\r\n * @param duration The duration of the animation, in milliseconds\r\n * @param onAnimationEnd Callback trigger at the end of the animation\r\n * @returns Nullable animation\r\n */\r\n public static TransitionTo(property: string, targetValue: any, host: any, scene: Scene, frameRate: number, transition: Animation, duration: number, onAnimationEnd: Nullable<() => void> = null): Nullable {\r\n if (duration <= 0) {\r\n host[property] = targetValue;\r\n if (onAnimationEnd) {\r\n onAnimationEnd();\r\n }\r\n return null;\r\n }\r\n\r\n var endFrame: number = frameRate * (duration / 1000);\r\n\r\n transition.setKeys([{\r\n frame: 0,\r\n value: host[property].clone ? host[property].clone() : host[property]\r\n },\r\n {\r\n frame: endFrame,\r\n value: targetValue\r\n }]);\r\n\r\n if (!host.animations) {\r\n host.animations = [];\r\n }\r\n\r\n host.animations.push(transition);\r\n\r\n var animation: Animatable = scene.beginAnimation(host, 0, endFrame, false);\r\n animation.onAnimationEnd = onAnimationEnd;\r\n return animation;\r\n }\r\n\r\n /**\r\n * Return the array of runtime animations currently using this animation\r\n */\r\n public get runtimeAnimations(): RuntimeAnimation[] {\r\n return this._runtimeAnimations;\r\n }\r\n\r\n /**\r\n * Specifies if any of the runtime animations are currently running\r\n */\r\n public get hasRunningRuntimeAnimations(): boolean {\r\n for (var runtimeAnimation of this._runtimeAnimations) {\r\n if (!runtimeAnimation.isStopped) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Initializes the animation\r\n * @param name Name of the animation\r\n * @param targetProperty Property to animate\r\n * @param framePerSecond The frames per second of the animation\r\n * @param dataType The data type of the animation\r\n * @param loopMode The loop mode of the animation\r\n * @param enableBlending Specifies if blending should be enabled\r\n */\r\n constructor(\r\n /**Name of the animation */\r\n public name: string,\r\n /**Property to animate */\r\n public targetProperty: string,\r\n /**The frames per second of the animation */\r\n public framePerSecond: number,\r\n /**The data type of the animation */\r\n public dataType: number,\r\n /**The loop mode of the animation */\r\n public loopMode?: number,\r\n /**Specifies if blending should be enabled */\r\n public enableBlending?: boolean) {\r\n this.targetPropertyPath = targetProperty.split(\".\");\r\n this.dataType = dataType;\r\n this.loopMode = loopMode === undefined ? Animation.ANIMATIONLOOPMODE_CYCLE : loopMode;\r\n }\r\n\r\n // Methods\r\n /**\r\n * Converts the animation to a string\r\n * @param fullDetails support for multiple levels of logging within scene loading\r\n * @returns String form of the animation\r\n */\r\n public toString(fullDetails?: boolean): string {\r\n var ret = \"Name: \" + this.name + \", property: \" + this.targetProperty;\r\n ret += \", datatype: \" + ([\"Float\", \"Vector3\", \"Quaternion\", \"Matrix\", \"Color3\", \"Vector2\"])[this.dataType];\r\n ret += \", nKeys: \" + (this._keys ? this._keys.length : \"none\");\r\n ret += \", nRanges: \" + (this._ranges ? Object.keys(this._ranges).length : \"none\");\r\n if (fullDetails) {\r\n ret += \", Ranges: {\";\r\n var first = true;\r\n for (var name in this._ranges) {\r\n if (first) {\r\n ret += \", \";\r\n first = false;\r\n }\r\n ret += name;\r\n }\r\n ret += \"}\";\r\n }\r\n return ret;\r\n }\r\n\r\n /**\r\n * Add an event to this animation\r\n * @param event Event to add\r\n */\r\n public addEvent(event: AnimationEvent): void {\r\n this._events.push(event);\r\n this._events.sort((a, b) => a.frame - b.frame);\r\n }\r\n\r\n /**\r\n * Remove all events found at the given frame\r\n * @param frame The frame to remove events from\r\n */\r\n public removeEvents(frame: number): void {\r\n for (var index = 0; index < this._events.length; index++) {\r\n if (this._events[index].frame === frame) {\r\n this._events.splice(index, 1);\r\n index--;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Retrieves all the events from the animation\r\n * @returns Events from the animation\r\n */\r\n public getEvents(): AnimationEvent[] {\r\n return this._events;\r\n }\r\n\r\n /**\r\n * Creates an animation range\r\n * @param name Name of the animation range\r\n * @param from Starting frame of the animation range\r\n * @param to Ending frame of the animation\r\n */\r\n public createRange(name: string, from: number, to: number): void {\r\n // check name not already in use; could happen for bones after serialized\r\n if (!this._ranges[name]) {\r\n this._ranges[name] = new AnimationRange(name, from, to);\r\n }\r\n }\r\n\r\n /**\r\n * Deletes an animation range by name\r\n * @param name Name of the animation range to delete\r\n * @param deleteFrames Specifies if the key frames for the range should also be deleted (true) or not (false)\r\n */\r\n public deleteRange(name: string, deleteFrames = true): void {\r\n let range = this._ranges[name];\r\n if (!range) {\r\n return;\r\n\r\n }\r\n if (deleteFrames) {\r\n var from = range.from;\r\n var to = range.to;\r\n\r\n // this loop MUST go high to low for multiple splices to work\r\n for (var key = this._keys.length - 1; key >= 0; key--) {\r\n if (this._keys[key].frame >= from && this._keys[key].frame <= to) {\r\n this._keys.splice(key, 1);\r\n }\r\n }\r\n }\r\n this._ranges[name] = null; // said much faster than 'delete this._range[name]'\r\n\r\n }\r\n\r\n /**\r\n * Gets the animation range by name, or null if not defined\r\n * @param name Name of the animation range\r\n * @returns Nullable animation range\r\n */\r\n public getRange(name: string): Nullable {\r\n return this._ranges[name];\r\n }\r\n\r\n /**\r\n * Gets the key frames from the animation\r\n * @returns The key frames of the animation\r\n */\r\n public getKeys(): Array {\r\n return this._keys;\r\n }\r\n\r\n /**\r\n * Gets the highest frame rate of the animation\r\n * @returns Highest frame rate of the animation\r\n */\r\n public getHighestFrame(): number {\r\n var ret = 0;\r\n\r\n for (var key = 0, nKeys = this._keys.length; key < nKeys; key++) {\r\n if (ret < this._keys[key].frame) {\r\n ret = this._keys[key].frame;\r\n }\r\n }\r\n return ret;\r\n }\r\n\r\n /**\r\n * Gets the easing function of the animation\r\n * @returns Easing function of the animation\r\n */\r\n public getEasingFunction(): IEasingFunction {\r\n return this._easingFunction;\r\n }\r\n\r\n /**\r\n * Sets the easing function of the animation\r\n * @param easingFunction A custom mathematical formula for animation\r\n */\r\n public setEasingFunction(easingFunction: EasingFunction): void {\r\n this._easingFunction = easingFunction;\r\n }\r\n\r\n /**\r\n * Interpolates a scalar linearly\r\n * @param startValue Start value of the animation curve\r\n * @param endValue End value of the animation curve\r\n * @param gradient Scalar amount to interpolate\r\n * @returns Interpolated scalar value\r\n */\r\n public floatInterpolateFunction(startValue: number, endValue: number, gradient: number): number {\r\n return Scalar.Lerp(startValue, endValue, gradient);\r\n }\r\n\r\n /**\r\n * Interpolates a scalar cubically\r\n * @param startValue Start value of the animation curve\r\n * @param outTangent End tangent of the animation\r\n * @param endValue End value of the animation curve\r\n * @param inTangent Start tangent of the animation curve\r\n * @param gradient Scalar amount to interpolate\r\n * @returns Interpolated scalar value\r\n */\r\n public floatInterpolateFunctionWithTangents(startValue: number, outTangent: number, endValue: number, inTangent: number, gradient: number): number {\r\n return Scalar.Hermite(startValue, outTangent, endValue, inTangent, gradient);\r\n }\r\n\r\n /**\r\n * Interpolates a quaternion using a spherical linear interpolation\r\n * @param startValue Start value of the animation curve\r\n * @param endValue End value of the animation curve\r\n * @param gradient Scalar amount to interpolate\r\n * @returns Interpolated quaternion value\r\n */\r\n public quaternionInterpolateFunction(startValue: Quaternion, endValue: Quaternion, gradient: number): Quaternion {\r\n return Quaternion.Slerp(startValue, endValue, gradient);\r\n }\r\n\r\n /**\r\n * Interpolates a quaternion cubically\r\n * @param startValue Start value of the animation curve\r\n * @param outTangent End tangent of the animation curve\r\n * @param endValue End value of the animation curve\r\n * @param inTangent Start tangent of the animation curve\r\n * @param gradient Scalar amount to interpolate\r\n * @returns Interpolated quaternion value\r\n */\r\n public quaternionInterpolateFunctionWithTangents(startValue: Quaternion, outTangent: Quaternion, endValue: Quaternion, inTangent: Quaternion, gradient: number): Quaternion {\r\n return Quaternion.Hermite(startValue, outTangent, endValue, inTangent, gradient).normalize();\r\n }\r\n\r\n /**\r\n * Interpolates a Vector3 linearl\r\n * @param startValue Start value of the animation curve\r\n * @param endValue End value of the animation curve\r\n * @param gradient Scalar amount to interpolate\r\n * @returns Interpolated scalar value\r\n */\r\n public vector3InterpolateFunction(startValue: Vector3, endValue: Vector3, gradient: number): Vector3 {\r\n return Vector3.Lerp(startValue, endValue, gradient);\r\n }\r\n\r\n /**\r\n * Interpolates a Vector3 cubically\r\n * @param startValue Start value of the animation curve\r\n * @param outTangent End tangent of the animation\r\n * @param endValue End value of the animation curve\r\n * @param inTangent Start tangent of the animation curve\r\n * @param gradient Scalar amount to interpolate\r\n * @returns InterpolatedVector3 value\r\n */\r\n public vector3InterpolateFunctionWithTangents(startValue: Vector3, outTangent: Vector3, endValue: Vector3, inTangent: Vector3, gradient: number): Vector3 {\r\n return Vector3.Hermite(startValue, outTangent, endValue, inTangent, gradient);\r\n }\r\n\r\n /**\r\n * Interpolates a Vector2 linearly\r\n * @param startValue Start value of the animation curve\r\n * @param endValue End value of the animation curve\r\n * @param gradient Scalar amount to interpolate\r\n * @returns Interpolated Vector2 value\r\n */\r\n public vector2InterpolateFunction(startValue: Vector2, endValue: Vector2, gradient: number): Vector2 {\r\n return Vector2.Lerp(startValue, endValue, gradient);\r\n }\r\n\r\n /**\r\n * Interpolates a Vector2 cubically\r\n * @param startValue Start value of the animation curve\r\n * @param outTangent End tangent of the animation\r\n * @param endValue End value of the animation curve\r\n * @param inTangent Start tangent of the animation curve\r\n * @param gradient Scalar amount to interpolate\r\n * @returns Interpolated Vector2 value\r\n */\r\n public vector2InterpolateFunctionWithTangents(startValue: Vector2, outTangent: Vector2, endValue: Vector2, inTangent: Vector2, gradient: number): Vector2 {\r\n return Vector2.Hermite(startValue, outTangent, endValue, inTangent, gradient);\r\n }\r\n\r\n /**\r\n * Interpolates a size linearly\r\n * @param startValue Start value of the animation curve\r\n * @param endValue End value of the animation curve\r\n * @param gradient Scalar amount to interpolate\r\n * @returns Interpolated Size value\r\n */\r\n public sizeInterpolateFunction(startValue: Size, endValue: Size, gradient: number): Size {\r\n return Size.Lerp(startValue, endValue, gradient);\r\n }\r\n\r\n /**\r\n * Interpolates a Color3 linearly\r\n * @param startValue Start value of the animation curve\r\n * @param endValue End value of the animation curve\r\n * @param gradient Scalar amount to interpolate\r\n * @returns Interpolated Color3 value\r\n */\r\n public color3InterpolateFunction(startValue: Color3, endValue: Color3, gradient: number): Color3 {\r\n return Color3.Lerp(startValue, endValue, gradient);\r\n }\r\n\r\n /**\r\n * Interpolates a Color4 linearly\r\n * @param startValue Start value of the animation curve\r\n * @param endValue End value of the animation curve\r\n * @param gradient Scalar amount to interpolate\r\n * @returns Interpolated Color3 value\r\n */\r\n public color4InterpolateFunction(startValue: Color4, endValue: Color4, gradient: number): Color4 {\r\n return Color4.Lerp(startValue, endValue, gradient);\r\n }\r\n\r\n /**\r\n * @hidden Internal use only\r\n */\r\n public _getKeyValue(value: any): any {\r\n if (typeof value === \"function\") {\r\n return value();\r\n }\r\n\r\n return value;\r\n }\r\n\r\n /**\r\n * @hidden Internal use only\r\n */\r\n public _interpolate(currentFrame: number, state: _IAnimationState): any {\r\n if (state.loopMode === Animation.ANIMATIONLOOPMODE_CONSTANT && state.repeatCount > 0) {\r\n return state.highLimitValue.clone ? state.highLimitValue.clone() : state.highLimitValue;\r\n }\r\n\r\n const keys = this._keys;\r\n if (keys.length === 1) {\r\n return this._getKeyValue(keys[0].value);\r\n }\r\n\r\n var startKeyIndex = state.key;\r\n\r\n if (keys[startKeyIndex].frame >= currentFrame) {\r\n while (startKeyIndex - 1 >= 0 && keys[startKeyIndex].frame >= currentFrame) {\r\n startKeyIndex--;\r\n }\r\n }\r\n\r\n for (var key = startKeyIndex; key < keys.length; key++) {\r\n var endKey = keys[key + 1];\r\n\r\n if (endKey.frame >= currentFrame) {\r\n state.key = key;\r\n var startKey = keys[key];\r\n var startValue = this._getKeyValue(startKey.value);\r\n if (startKey.interpolation === AnimationKeyInterpolation.STEP) {\r\n return startValue;\r\n }\r\n\r\n var endValue = this._getKeyValue(endKey.value);\r\n\r\n var useTangent = startKey.outTangent !== undefined && endKey.inTangent !== undefined;\r\n var frameDelta = endKey.frame - startKey.frame;\r\n\r\n // gradient : percent of currentFrame between the frame inf and the frame sup\r\n var gradient = (currentFrame - startKey.frame) / frameDelta;\r\n\r\n // check for easingFunction and correction of gradient\r\n let easingFunction = this.getEasingFunction();\r\n if (easingFunction != null) {\r\n gradient = easingFunction.ease(gradient);\r\n }\r\n\r\n switch (this.dataType) {\r\n // Float\r\n case Animation.ANIMATIONTYPE_FLOAT:\r\n var floatValue = useTangent ? this.floatInterpolateFunctionWithTangents(startValue, startKey.outTangent * frameDelta, endValue, endKey.inTangent * frameDelta, gradient) : this.floatInterpolateFunction(startValue, endValue, gradient);\r\n switch (state.loopMode) {\r\n case Animation.ANIMATIONLOOPMODE_CYCLE:\r\n case Animation.ANIMATIONLOOPMODE_CONSTANT:\r\n return floatValue;\r\n case Animation.ANIMATIONLOOPMODE_RELATIVE:\r\n return state.offsetValue * state.repeatCount + floatValue;\r\n }\r\n break;\r\n // Quaternion\r\n case Animation.ANIMATIONTYPE_QUATERNION:\r\n var quatValue = useTangent ? this.quaternionInterpolateFunctionWithTangents(startValue, startKey.outTangent.scale(frameDelta), endValue, endKey.inTangent.scale(frameDelta), gradient) : this.quaternionInterpolateFunction(startValue, endValue, gradient);\r\n switch (state.loopMode) {\r\n case Animation.ANIMATIONLOOPMODE_CYCLE:\r\n case Animation.ANIMATIONLOOPMODE_CONSTANT:\r\n return quatValue;\r\n case Animation.ANIMATIONLOOPMODE_RELATIVE:\r\n return quatValue.addInPlace(state.offsetValue.scale(state.repeatCount));\r\n }\r\n\r\n return quatValue;\r\n // Vector3\r\n case Animation.ANIMATIONTYPE_VECTOR3:\r\n var vec3Value = useTangent ? this.vector3InterpolateFunctionWithTangents(startValue, startKey.outTangent.scale(frameDelta), endValue, endKey.inTangent.scale(frameDelta), gradient) : this.vector3InterpolateFunction(startValue, endValue, gradient);\r\n switch (state.loopMode) {\r\n case Animation.ANIMATIONLOOPMODE_CYCLE:\r\n case Animation.ANIMATIONLOOPMODE_CONSTANT:\r\n return vec3Value;\r\n case Animation.ANIMATIONLOOPMODE_RELATIVE:\r\n return vec3Value.add(state.offsetValue.scale(state.repeatCount));\r\n }\r\n // Vector2\r\n case Animation.ANIMATIONTYPE_VECTOR2:\r\n var vec2Value = useTangent ? this.vector2InterpolateFunctionWithTangents(startValue, startKey.outTangent.scale(frameDelta), endValue, endKey.inTangent.scale(frameDelta), gradient) : this.vector2InterpolateFunction(startValue, endValue, gradient);\r\n switch (state.loopMode) {\r\n case Animation.ANIMATIONLOOPMODE_CYCLE:\r\n case Animation.ANIMATIONLOOPMODE_CONSTANT:\r\n return vec2Value;\r\n case Animation.ANIMATIONLOOPMODE_RELATIVE:\r\n return vec2Value.add(state.offsetValue.scale(state.repeatCount));\r\n }\r\n // Size\r\n case Animation.ANIMATIONTYPE_SIZE:\r\n switch (state.loopMode) {\r\n case Animation.ANIMATIONLOOPMODE_CYCLE:\r\n case Animation.ANIMATIONLOOPMODE_CONSTANT:\r\n return this.sizeInterpolateFunction(startValue, endValue, gradient);\r\n case Animation.ANIMATIONLOOPMODE_RELATIVE:\r\n return this.sizeInterpolateFunction(startValue, endValue, gradient).add(state.offsetValue.scale(state.repeatCount));\r\n }\r\n // Color3\r\n case Animation.ANIMATIONTYPE_COLOR3:\r\n switch (state.loopMode) {\r\n case Animation.ANIMATIONLOOPMODE_CYCLE:\r\n case Animation.ANIMATIONLOOPMODE_CONSTANT:\r\n return this.color3InterpolateFunction(startValue, endValue, gradient);\r\n case Animation.ANIMATIONLOOPMODE_RELATIVE:\r\n return this.color3InterpolateFunction(startValue, endValue, gradient).add(state.offsetValue.scale(state.repeatCount));\r\n }\r\n // Color4\r\n case Animation.ANIMATIONTYPE_COLOR4:\r\n switch (state.loopMode) {\r\n case Animation.ANIMATIONLOOPMODE_CYCLE:\r\n case Animation.ANIMATIONLOOPMODE_CONSTANT:\r\n return this.color4InterpolateFunction(startValue, endValue, gradient);\r\n case Animation.ANIMATIONLOOPMODE_RELATIVE:\r\n return this.color4InterpolateFunction(startValue, endValue, gradient).add(state.offsetValue.scale(state.repeatCount));\r\n }\r\n // Matrix\r\n case Animation.ANIMATIONTYPE_MATRIX:\r\n switch (state.loopMode) {\r\n case Animation.ANIMATIONLOOPMODE_CYCLE:\r\n case Animation.ANIMATIONLOOPMODE_CONSTANT:\r\n if (Animation.AllowMatricesInterpolation) {\r\n return this.matrixInterpolateFunction(startValue, endValue, gradient, state.workValue);\r\n }\r\n case Animation.ANIMATIONLOOPMODE_RELATIVE:\r\n return startValue;\r\n }\r\n default:\r\n break;\r\n }\r\n break;\r\n }\r\n }\r\n\r\n return this._getKeyValue(keys[keys.length - 1].value);\r\n }\r\n\r\n /**\r\n * Defines the function to use to interpolate matrices\r\n * @param startValue defines the start matrix\r\n * @param endValue defines the end matrix\r\n * @param gradient defines the gradient between both matrices\r\n * @param result defines an optional target matrix where to store the interpolation\r\n * @returns the interpolated matrix\r\n */\r\n public matrixInterpolateFunction(startValue: Matrix, endValue: Matrix, gradient: number, result?: Matrix): Matrix {\r\n if (Animation.AllowMatrixDecomposeForInterpolation) {\r\n if (result) {\r\n Matrix.DecomposeLerpToRef(startValue, endValue, gradient, result);\r\n return result;\r\n }\r\n return Matrix.DecomposeLerp(startValue, endValue, gradient);\r\n }\r\n\r\n if (result) {\r\n Matrix.LerpToRef(startValue, endValue, gradient, result);\r\n return result;\r\n }\r\n return Matrix.Lerp(startValue, endValue, gradient);\r\n }\r\n\r\n /**\r\n * Makes a copy of the animation\r\n * @returns Cloned animation\r\n */\r\n public clone(): Animation {\r\n var clone = new Animation(this.name, this.targetPropertyPath.join(\".\"), this.framePerSecond, this.dataType, this.loopMode);\r\n\r\n clone.enableBlending = this.enableBlending;\r\n clone.blendingSpeed = this.blendingSpeed;\r\n\r\n if (this._keys) {\r\n clone.setKeys(this._keys);\r\n }\r\n\r\n if (this._ranges) {\r\n clone._ranges = {};\r\n for (var name in this._ranges) {\r\n let range = this._ranges[name];\r\n if (!range) {\r\n continue;\r\n }\r\n clone._ranges[name] = range.clone();\r\n }\r\n }\r\n\r\n return clone;\r\n }\r\n\r\n /**\r\n * Sets the key frames of the animation\r\n * @param values The animation key frames to set\r\n */\r\n public setKeys(values: Array): void {\r\n this._keys = values.slice(0);\r\n }\r\n\r\n /**\r\n * Serializes the animation to an object\r\n * @returns Serialized object\r\n */\r\n public serialize(): any {\r\n var serializationObject: any = {};\r\n\r\n serializationObject.name = this.name;\r\n serializationObject.property = this.targetProperty;\r\n serializationObject.framePerSecond = this.framePerSecond;\r\n serializationObject.dataType = this.dataType;\r\n serializationObject.loopBehavior = this.loopMode;\r\n serializationObject.enableBlending = this.enableBlending;\r\n serializationObject.blendingSpeed = this.blendingSpeed;\r\n\r\n var dataType = this.dataType;\r\n serializationObject.keys = [];\r\n var keys = this.getKeys();\r\n for (var index = 0; index < keys.length; index++) {\r\n var animationKey = keys[index];\r\n\r\n var key: any = {};\r\n key.frame = animationKey.frame;\r\n\r\n switch (dataType) {\r\n case Animation.ANIMATIONTYPE_FLOAT:\r\n key.values = [animationKey.value];\r\n if (animationKey.inTangent !== undefined) {\r\n key.values.push(animationKey.inTangent);\r\n }\r\n if (animationKey.outTangent !== undefined) {\r\n if (animationKey.inTangent === undefined) {\r\n key.values.push(undefined);\r\n }\r\n key.values.push(animationKey.outTangent);\r\n }\r\n break;\r\n case Animation.ANIMATIONTYPE_QUATERNION:\r\n case Animation.ANIMATIONTYPE_MATRIX:\r\n case Animation.ANIMATIONTYPE_VECTOR3:\r\n case Animation.ANIMATIONTYPE_COLOR3:\r\n case Animation.ANIMATIONTYPE_COLOR4:\r\n key.values = animationKey.value.asArray();\r\n if (animationKey.inTangent != undefined) {\r\n key.values.push(animationKey.inTangent.asArray());\r\n }\r\n if (animationKey.outTangent != undefined) {\r\n if (animationKey.inTangent === undefined) {\r\n key.values.push(undefined);\r\n }\r\n key.values.push(animationKey.outTangent.asArray());\r\n }\r\n break;\r\n }\r\n\r\n serializationObject.keys.push(key);\r\n }\r\n\r\n serializationObject.ranges = [];\r\n for (var name in this._ranges) {\r\n let source = this._ranges[name];\r\n\r\n if (!source) {\r\n continue;\r\n }\r\n var range: any = {};\r\n range.name = name;\r\n range.from = source.from;\r\n range.to = source.to;\r\n serializationObject.ranges.push(range);\r\n }\r\n\r\n return serializationObject;\r\n }\r\n\r\n // Statics\r\n /**\r\n * Float animation type\r\n */\r\n public static readonly ANIMATIONTYPE_FLOAT = 0;\r\n /**\r\n * Vector3 animation type\r\n */\r\n public static readonly ANIMATIONTYPE_VECTOR3 = 1;\r\n /**\r\n * Quaternion animation type\r\n */\r\n public static readonly ANIMATIONTYPE_QUATERNION = 2;\r\n /**\r\n * Matrix animation type\r\n */\r\n public static readonly ANIMATIONTYPE_MATRIX = 3;\r\n /**\r\n * Color3 animation type\r\n */\r\n public static readonly ANIMATIONTYPE_COLOR3 = 4;\r\n /**\r\n * Color3 animation type\r\n */\r\n public static readonly ANIMATIONTYPE_COLOR4 = 7;\r\n /**\r\n * Vector2 animation type\r\n */\r\n public static readonly ANIMATIONTYPE_VECTOR2 = 5;\r\n /**\r\n * Size animation type\r\n */\r\n public static readonly ANIMATIONTYPE_SIZE = 6;\r\n /**\r\n * Relative Loop Mode\r\n */\r\n public static readonly ANIMATIONLOOPMODE_RELATIVE = 0;\r\n /**\r\n * Cycle Loop Mode\r\n */\r\n public static readonly ANIMATIONLOOPMODE_CYCLE = 1;\r\n /**\r\n * Constant Loop Mode\r\n */\r\n public static readonly ANIMATIONLOOPMODE_CONSTANT = 2;\r\n\r\n /** @hidden */\r\n public static _UniversalLerp(left: any, right: any, amount: number): any {\r\n let constructor = left.constructor;\r\n if (constructor.Lerp) { // Lerp supported\r\n return constructor.Lerp(left, right, amount);\r\n } else if (constructor.Slerp) { // Slerp supported\r\n return constructor.Slerp(left, right, amount);\r\n } else if (left.toFixed) { // Number\r\n return left * (1.0 - amount) + amount * right;\r\n } else { // Blending not supported\r\n return right;\r\n }\r\n }\r\n\r\n /**\r\n * Parses an animation object and creates an animation\r\n * @param parsedAnimation Parsed animation object\r\n * @returns Animation object\r\n */\r\n public static Parse(parsedAnimation: any): Animation {\r\n var animation = new Animation(parsedAnimation.name, parsedAnimation.property, parsedAnimation.framePerSecond, parsedAnimation.dataType, parsedAnimation.loopBehavior);\r\n\r\n var dataType = parsedAnimation.dataType;\r\n var keys: Array = [];\r\n var data;\r\n var index: number;\r\n\r\n if (parsedAnimation.enableBlending) {\r\n animation.enableBlending = parsedAnimation.enableBlending;\r\n }\r\n\r\n if (parsedAnimation.blendingSpeed) {\r\n animation.blendingSpeed = parsedAnimation.blendingSpeed;\r\n }\r\n\r\n for (index = 0; index < parsedAnimation.keys.length; index++) {\r\n var key = parsedAnimation.keys[index];\r\n var inTangent: any;\r\n var outTangent: any;\r\n\r\n switch (dataType) {\r\n case Animation.ANIMATIONTYPE_FLOAT:\r\n data = key.values[0];\r\n if (key.values.length >= 1) {\r\n inTangent = key.values[1];\r\n }\r\n if (key.values.length >= 2) {\r\n outTangent = key.values[2];\r\n }\r\n break;\r\n case Animation.ANIMATIONTYPE_QUATERNION:\r\n data = Quaternion.FromArray(key.values);\r\n if (key.values.length >= 8) {\r\n var _inTangent = Quaternion.FromArray(key.values.slice(4, 8));\r\n if (!_inTangent.equals(Quaternion.Zero())) {\r\n inTangent = _inTangent;\r\n }\r\n }\r\n if (key.values.length >= 12) {\r\n var _outTangent = Quaternion.FromArray(key.values.slice(8, 12));\r\n if (!_outTangent.equals(Quaternion.Zero())) {\r\n outTangent = _outTangent;\r\n }\r\n }\r\n break;\r\n case Animation.ANIMATIONTYPE_MATRIX:\r\n data = Matrix.FromArray(key.values);\r\n break;\r\n case Animation.ANIMATIONTYPE_COLOR3:\r\n data = Color3.FromArray(key.values);\r\n break;\r\n case Animation.ANIMATIONTYPE_COLOR4:\r\n data = Color4.FromArray(key.values);\r\n break;\r\n case Animation.ANIMATIONTYPE_VECTOR3:\r\n default:\r\n data = Vector3.FromArray(key.values);\r\n break;\r\n }\r\n\r\n var keyData: any = {};\r\n keyData.frame = key.frame;\r\n keyData.value = data;\r\n\r\n if (inTangent != undefined) {\r\n keyData.inTangent = inTangent;\r\n }\r\n if (outTangent != undefined) {\r\n keyData.outTangent = outTangent;\r\n }\r\n keys.push(keyData);\r\n }\r\n\r\n animation.setKeys(keys);\r\n\r\n if (parsedAnimation.ranges) {\r\n for (index = 0; index < parsedAnimation.ranges.length; index++) {\r\n data = parsedAnimation.ranges[index];\r\n animation.createRange(data.name, data.from, data.to);\r\n }\r\n }\r\n\r\n return animation;\r\n }\r\n\r\n /**\r\n * Appends the serialized animations from the source animations\r\n * @param source Source containing the animations\r\n * @param destination Target to store the animations\r\n */\r\n public static AppendSerializedAnimations(source: IAnimatable, destination: any): void {\r\n SerializationHelper.AppendSerializedAnimations(source, destination);\r\n }\r\n\r\n /**\r\n * Creates a new animation or an array of animations from a snippet saved in a remote file\r\n * @param name defines the name of the animation to create (can be null or empty to use the one from the json data)\r\n * @param url defines the url to load from\r\n * @returns a promise that will resolve to the new animation or an array of animations\r\n */\r\n public static ParseFromFileAsync(name: Nullable, url: string): Promise> {\r\n\r\n return new Promise((resolve, reject) => {\r\n var request = new WebRequest();\r\n request.addEventListener(\"readystatechange\", () => {\r\n if (request.readyState == 4) {\r\n if (request.status == 200) {\r\n let serializationObject = JSON.parse(request.responseText);\r\n\r\n if (serializationObject.length) {\r\n let output = new Array();\r\n for (var serializedAnimation of serializationObject) {\r\n output.push(this.Parse(serializedAnimation));\r\n }\r\n\r\n resolve(output);\r\n } else {\r\n let output = this.Parse(serializationObject);\r\n\r\n if (name) {\r\n output.name = name;\r\n }\r\n\r\n resolve(output);\r\n }\r\n } else {\r\n reject(\"Unable to load the animation\");\r\n }\r\n }\r\n });\r\n\r\n request.open(\"GET\", url);\r\n request.send();\r\n });\r\n }\r\n\r\n /**\r\n * Creates an animation or an array of animations from a snippet saved by the Inspector\r\n * @param snippetId defines the snippet to load\r\n * @returns a promise that will resolve to the new animation or a new array of animations\r\n */\r\n public static CreateFromSnippetAsync(snippetId: string): Promise> {\r\n return new Promise((resolve, reject) => {\r\n var request = new WebRequest();\r\n request.addEventListener(\"readystatechange\", () => {\r\n if (request.readyState == 4) {\r\n if (request.status == 200) {\r\n var snippet = JSON.parse(JSON.parse(request.responseText).jsonPayload);\r\n\r\n if (snippet.animations) {\r\n let serializationObject = JSON.parse(snippet.animations);\r\n let output = new Array();\r\n for (var serializedAnimation of serializationObject) {\r\n output.push(this.Parse(serializedAnimation));\r\n }\r\n\r\n resolve(output);\r\n } else {\r\n let serializationObject = JSON.parse(snippet.animation);\r\n let output = this.Parse(serializationObject);\r\n\r\n output.snippetId = snippetId;\r\n\r\n resolve(output);\r\n }\r\n } else {\r\n reject(\"Unable to load the snippet \" + snippetId);\r\n }\r\n }\r\n });\r\n\r\n request.open(\"GET\", this.SnippetUrl + \"/\" + snippetId.replace(/#/g, \"/\"));\r\n request.send();\r\n });\r\n }\r\n}\r\n\r\n_TypeStore.RegisteredTypes[\"BABYLON.Animation\"] = Animation;\r\nNode._AnimationRangeFactory = (name: string, from: number, to: number) => new AnimationRange(name, from, to);\r\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import { serialize, SerializationHelper } from \"../Misc/decorators\";\r\nimport { Tools } from \"../Misc/tools\";\r\nimport { IAnimatable } from '../Animations/animatable.interface';\r\nimport { SmartArray } from \"../Misc/smartArray\";\r\nimport { Observer, Observable } from \"../Misc/observable\";\r\nimport { Nullable } from \"../types\";\r\nimport { Scene } from \"../scene\";\r\nimport { Matrix } from \"../Maths/math.vector\";\r\nimport { EngineStore } from \"../Engines/engineStore\";\r\nimport { SubMesh } from \"../Meshes/subMesh\";\r\nimport { Geometry } from \"../Meshes/geometry\";\r\nimport { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { UniformBuffer } from \"./uniformBuffer\";\r\nimport { Effect } from \"./effect\";\r\nimport { BaseTexture } from \"../Materials/Textures/baseTexture\";\r\nimport { RenderTargetTexture } from \"../Materials/Textures/renderTargetTexture\";\r\nimport { MaterialDefines } from \"./materialDefines\";\r\n\r\nimport { Logger } from \"../Misc/logger\";\r\nimport { IInspectable } from '../Misc/iInspectable';\r\nimport { Plane } from '../Maths/math.plane';\r\nimport { ShadowDepthWrapper } from './shadowDepthWrapper';\r\n\r\ndeclare type PrePassRenderer = import(\"../Rendering/prePassRenderer\").PrePassRenderer;\r\ndeclare type Mesh = import(\"../Meshes/mesh\").Mesh;\r\ndeclare type Animation = import(\"../Animations/animation\").Animation;\r\ndeclare type InstancedMesh = import('../Meshes/instancedMesh').InstancedMesh;\r\n\r\ndeclare var BABYLON: any;\r\n\r\n/**\r\n * Options for compiling materials.\r\n */\r\nexport interface IMaterialCompilationOptions {\r\n /**\r\n * Defines whether clip planes are enabled.\r\n */\r\n clipPlane: boolean;\r\n\r\n /**\r\n * Defines whether instances are enabled.\r\n */\r\n useInstances: boolean;\r\n}\r\n\r\n/**\r\n * Options passed when calling customShaderNameResolve\r\n */\r\nexport interface ICustomShaderNameResolveOptions {\r\n /**\r\n * If provided, will be called two times with the vertex and fragment code so that this code can be updated before it is compiled by the GPU\r\n */\r\n processFinalCode?: Nullable<(shaderType: string, code: string) => string>;\r\n}\r\n\r\n/**\r\n * Base class for the main features of a material in Babylon.js\r\n */\r\nexport class Material implements IAnimatable {\r\n /**\r\n * Returns the triangle fill mode\r\n */\r\n public static readonly TriangleFillMode = 0;\r\n /**\r\n * Returns the wireframe mode\r\n */\r\n public static readonly WireFrameFillMode = 1;\r\n /**\r\n * Returns the point fill mode\r\n */\r\n public static readonly PointFillMode = 2;\r\n /**\r\n * Returns the point list draw mode\r\n */\r\n public static readonly PointListDrawMode = 3;\r\n /**\r\n * Returns the line list draw mode\r\n */\r\n public static readonly LineListDrawMode = 4;\r\n /**\r\n * Returns the line loop draw mode\r\n */\r\n public static readonly LineLoopDrawMode = 5;\r\n /**\r\n * Returns the line strip draw mode\r\n */\r\n public static readonly LineStripDrawMode = 6;\r\n /**\r\n * Returns the triangle strip draw mode\r\n */\r\n public static readonly TriangleStripDrawMode = 7;\r\n /**\r\n * Returns the triangle fan draw mode\r\n */\r\n public static readonly TriangleFanDrawMode = 8;\r\n\r\n /**\r\n * Stores the clock-wise side orientation\r\n */\r\n public static readonly ClockWiseSideOrientation = 0;\r\n\r\n /**\r\n * Stores the counter clock-wise side orientation\r\n */\r\n public static readonly CounterClockWiseSideOrientation = 1;\r\n\r\n /**\r\n * The dirty texture flag value\r\n */\r\n public static readonly TextureDirtyFlag = 1;\r\n\r\n /**\r\n * The dirty light flag value\r\n */\r\n public static readonly LightDirtyFlag = 2;\r\n\r\n /**\r\n * The dirty fresnel flag value\r\n */\r\n public static readonly FresnelDirtyFlag = 4;\r\n\r\n /**\r\n * The dirty attribute flag value\r\n */\r\n public static readonly AttributesDirtyFlag = 8;\r\n\r\n /**\r\n * The dirty misc flag value\r\n */\r\n public static readonly MiscDirtyFlag = 16;\r\n\r\n /**\r\n * The dirty prepass flag value\r\n */\r\n public static readonly PrePassDirtyFlag = 32;\r\n\r\n /**\r\n * The all dirty flag value\r\n */\r\n public static readonly AllDirtyFlag = 63;\r\n\r\n /**\r\n * MaterialTransparencyMode: No transparency mode, Alpha channel is not use.\r\n */\r\n public static readonly MATERIAL_OPAQUE = 0;\r\n\r\n /**\r\n * MaterialTransparencyMode: Alpha Test mode, pixel are discarded below a certain threshold defined by the alpha cutoff value.\r\n */\r\n public static readonly MATERIAL_ALPHATEST = 1;\r\n\r\n /**\r\n * MaterialTransparencyMode: Pixels are blended (according to the alpha mode) with the already drawn pixels in the current frame buffer.\r\n */\r\n public static readonly MATERIAL_ALPHABLEND = 2;\r\n\r\n /**\r\n * MaterialTransparencyMode: Pixels are blended (according to the alpha mode) with the already drawn pixels in the current frame buffer.\r\n * They are also discarded below the alpha cutoff threshold to improve performances.\r\n */\r\n public static readonly MATERIAL_ALPHATESTANDBLEND = 3;\r\n\r\n /**\r\n * The Whiteout method is used to blend normals.\r\n * Details of the algorithm can be found here: https://blog.selfshadow.com/publications/blending-in-detail/\r\n */\r\n public static readonly MATERIAL_NORMALBLENDMETHOD_WHITEOUT = 0;\r\n\r\n /**\r\n * The Reoriented Normal Mapping method is used to blend normals.\r\n * Details of the algorithm can be found here: https://blog.selfshadow.com/publications/blending-in-detail/\r\n */\r\n public static readonly MATERIAL_NORMALBLENDMETHOD_RNM = 1;\r\n\r\n /**\r\n * Custom callback helping to override the default shader used in the material.\r\n */\r\n public customShaderNameResolve: (shaderName: string, uniforms: string[], uniformBuffers: string[], samplers: string[], defines: MaterialDefines | string[], attributes?: string[], options?: ICustomShaderNameResolveOptions) => string;\r\n\r\n /**\r\n * Custom shadow depth material to use for shadow rendering instead of the in-built one\r\n */\r\n public shadowDepthWrapper: Nullable = null;\r\n\r\n /**\r\n * Gets or sets a boolean indicating that the material is allowed (if supported) to do shader hot swapping.\r\n * This means that the material can keep using a previous shader while a new one is being compiled.\r\n * This is mostly used when shader parallel compilation is supported (true by default)\r\n */\r\n public allowShaderHotSwapping = true;\r\n\r\n /**\r\n * The ID of the material\r\n */\r\n @serialize()\r\n public id: string;\r\n\r\n /**\r\n * Gets or sets the unique id of the material\r\n */\r\n @serialize()\r\n public uniqueId: number;\r\n\r\n /**\r\n * The name of the material\r\n */\r\n @serialize()\r\n public name: string;\r\n\r\n /**\r\n * Gets or sets user defined metadata\r\n */\r\n public metadata: any = null;\r\n\r\n /**\r\n * For internal use only. Please do not use.\r\n */\r\n public reservedDataStore: any = null;\r\n\r\n /**\r\n * Specifies if the ready state should be checked on each call\r\n */\r\n @serialize()\r\n public checkReadyOnEveryCall = false;\r\n\r\n /**\r\n * Specifies if the ready state should be checked once\r\n */\r\n @serialize()\r\n public checkReadyOnlyOnce = false;\r\n\r\n /**\r\n * The state of the material\r\n */\r\n @serialize()\r\n public state = \"\";\r\n\r\n /**\r\n * If the material can be rendered to several textures with MRT extension\r\n */\r\n public get canRenderToMRT() : boolean {\r\n // By default, shaders are not compatible with MRTs\r\n // Base classes should override that if their shader supports MRT\r\n return false;\r\n }\r\n\r\n /**\r\n * The alpha value of the material\r\n */\r\n @serialize(\"alpha\")\r\n protected _alpha = 1.0;\r\n\r\n /**\r\n * List of inspectable custom properties (used by the Inspector)\r\n * @see https://doc.babylonjs.com/how_to/debug_layer#extensibility\r\n */\r\n public inspectableCustomProperties: IInspectable[];\r\n\r\n /**\r\n * Sets the alpha value of the material\r\n */\r\n public set alpha(value: number) {\r\n if (this._alpha === value) {\r\n return;\r\n }\r\n this._alpha = value;\r\n this.markAsDirty(Material.MiscDirtyFlag);\r\n }\r\n\r\n /**\r\n * Gets the alpha value of the material\r\n */\r\n public get alpha(): number {\r\n return this._alpha;\r\n }\r\n\r\n /**\r\n * Specifies if back face culling is enabled\r\n */\r\n @serialize(\"backFaceCulling\")\r\n protected _backFaceCulling = true;\r\n\r\n /**\r\n * Sets the back-face culling state\r\n */\r\n public set backFaceCulling(value: boolean) {\r\n if (this._backFaceCulling === value) {\r\n return;\r\n }\r\n this._backFaceCulling = value;\r\n this.markAsDirty(Material.TextureDirtyFlag);\r\n }\r\n\r\n /**\r\n * Gets the back-face culling state\r\n */\r\n public get backFaceCulling(): boolean {\r\n return this._backFaceCulling;\r\n }\r\n\r\n /**\r\n * Stores the value for side orientation\r\n */\r\n @serialize()\r\n public sideOrientation: number;\r\n\r\n /**\r\n * Callback triggered when the material is compiled\r\n */\r\n public onCompiled: Nullable<(effect: Effect) => void> = null;\r\n\r\n /**\r\n * Callback triggered when an error occurs\r\n */\r\n public onError: Nullable<(effect: Effect, errors: string) => void> = null;\r\n\r\n /**\r\n * Callback triggered to get the render target textures\r\n */\r\n public getRenderTargetTextures: Nullable<() => SmartArray> = null;\r\n\r\n /**\r\n * Gets a boolean indicating that current material needs to register RTT\r\n */\r\n public get hasRenderTargetTextures(): boolean {\r\n return false;\r\n }\r\n\r\n /**\r\n * Specifies if the material should be serialized\r\n */\r\n public doNotSerialize = false;\r\n\r\n /**\r\n * @hidden\r\n */\r\n public _storeEffectOnSubMeshes = false;\r\n\r\n /**\r\n * Stores the animations for the material\r\n */\r\n public animations: Nullable> = null;\r\n\r\n /**\r\n * An event triggered when the material is disposed\r\n */\r\n public onDisposeObservable = new Observable();\r\n\r\n /**\r\n * An observer which watches for dispose events\r\n */\r\n private _onDisposeObserver: Nullable> = null;\r\n private _onUnBindObservable: Nullable> = null;\r\n\r\n /**\r\n * Called during a dispose event\r\n */\r\n public set onDispose(callback: () => void) {\r\n if (this._onDisposeObserver) {\r\n this.onDisposeObservable.remove(this._onDisposeObserver);\r\n }\r\n this._onDisposeObserver = this.onDisposeObservable.add(callback);\r\n }\r\n\r\n private _onBindObservable: Nullable>;\r\n\r\n /**\r\n * An event triggered when the material is bound\r\n */\r\n public get onBindObservable(): Observable {\r\n if (!this._onBindObservable) {\r\n this._onBindObservable = new Observable();\r\n }\r\n\r\n return this._onBindObservable;\r\n }\r\n\r\n /**\r\n * An observer which watches for bind events\r\n */\r\n private _onBindObserver: Nullable> = null;\r\n\r\n /**\r\n * Called during a bind event\r\n */\r\n public set onBind(callback: (Mesh: AbstractMesh) => void) {\r\n if (this._onBindObserver) {\r\n this.onBindObservable.remove(this._onBindObserver);\r\n }\r\n this._onBindObserver = this.onBindObservable.add(callback);\r\n }\r\n\r\n /**\r\n * An event triggered when the material is unbound\r\n */\r\n public get onUnBindObservable(): Observable {\r\n if (!this._onUnBindObservable) {\r\n this._onUnBindObservable = new Observable();\r\n }\r\n\r\n return this._onUnBindObservable;\r\n }\r\n\r\n protected _onEffectCreatedObservable: Nullable}>>;\r\n\r\n /**\r\n * An event triggered when the effect is (re)created\r\n */\r\n public get onEffectCreatedObservable(): Observable<{ effect: Effect, subMesh: Nullable}> {\r\n if (!this._onEffectCreatedObservable) {\r\n this._onEffectCreatedObservable = new Observable<{effect: Effect, subMesh: Nullable}>();\r\n }\r\n\r\n return this._onEffectCreatedObservable;\r\n }\r\n\r\n /**\r\n * Stores the value of the alpha mode\r\n */\r\n @serialize(\"alphaMode\")\r\n private _alphaMode: number = 2;\r\n\r\n /**\r\n * Sets the value of the alpha mode.\r\n *\r\n * | Value | Type | Description |\r\n * | --- | --- | --- |\r\n * | 0 | ALPHA_DISABLE | |\r\n * | 1 | ALPHA_ADD | |\r\n * | 2 | ALPHA_COMBINE | |\r\n * | 3 | ALPHA_SUBTRACT | |\r\n * | 4 | ALPHA_MULTIPLY | |\r\n * | 5 | ALPHA_MAXIMIZED | |\r\n * | 6 | ALPHA_ONEONE | |\r\n * | 7 | ALPHA_PREMULTIPLIED | |\r\n * | 8 | ALPHA_PREMULTIPLIED_PORTERDUFF | |\r\n * | 9 | ALPHA_INTERPOLATE | |\r\n * | 10 | ALPHA_SCREENMODE | |\r\n *\r\n */\r\n public set alphaMode(value: number) {\r\n if (this._alphaMode === value) {\r\n return;\r\n }\r\n this._alphaMode = value;\r\n this.markAsDirty(Material.TextureDirtyFlag);\r\n }\r\n\r\n /**\r\n * Gets the value of the alpha mode\r\n */\r\n public get alphaMode(): number {\r\n return this._alphaMode;\r\n }\r\n\r\n /**\r\n * Stores the state of the need depth pre-pass value\r\n */\r\n @serialize()\r\n private _needDepthPrePass = false;\r\n\r\n /**\r\n * Sets the need depth pre-pass value\r\n */\r\n public set needDepthPrePass(value: boolean) {\r\n if (this._needDepthPrePass === value) {\r\n return;\r\n }\r\n this._needDepthPrePass = value;\r\n if (this._needDepthPrePass) {\r\n this.checkReadyOnEveryCall = true;\r\n }\r\n }\r\n\r\n /**\r\n * Gets the depth pre-pass value\r\n */\r\n public get needDepthPrePass(): boolean {\r\n return this._needDepthPrePass;\r\n }\r\n\r\n /**\r\n * Specifies if depth writing should be disabled\r\n */\r\n @serialize()\r\n public disableDepthWrite = false;\r\n\r\n /**\r\n * Specifies if color writing should be disabled\r\n */\r\n @serialize()\r\n public disableColorWrite = false;\r\n\r\n /**\r\n * Specifies if depth writing should be forced\r\n */\r\n @serialize()\r\n public forceDepthWrite = false;\r\n\r\n /**\r\n * Specifies the depth function that should be used. 0 means the default engine function\r\n */\r\n @serialize()\r\n public depthFunction = 0;\r\n\r\n /**\r\n * Specifies if there should be a separate pass for culling\r\n */\r\n @serialize()\r\n public separateCullingPass = false;\r\n\r\n /**\r\n * Stores the state specifing if fog should be enabled\r\n */\r\n @serialize(\"fogEnabled\")\r\n private _fogEnabled = true;\r\n\r\n /**\r\n * Sets the state for enabling fog\r\n */\r\n public set fogEnabled(value: boolean) {\r\n if (this._fogEnabled === value) {\r\n return;\r\n }\r\n this._fogEnabled = value;\r\n this.markAsDirty(Material.MiscDirtyFlag);\r\n }\r\n\r\n /**\r\n * Gets the value of the fog enabled state\r\n */\r\n public get fogEnabled(): boolean {\r\n return this._fogEnabled;\r\n }\r\n\r\n /**\r\n * Stores the size of points\r\n */\r\n @serialize()\r\n public pointSize = 1.0;\r\n\r\n /**\r\n * Stores the z offset value\r\n */\r\n @serialize()\r\n public zOffset = 0;\r\n\r\n public get wireframe(): boolean {\r\n switch (this._fillMode) {\r\n case Material.WireFrameFillMode:\r\n case Material.LineListDrawMode:\r\n case Material.LineLoopDrawMode:\r\n case Material.LineStripDrawMode:\r\n return true;\r\n }\r\n\r\n return this._scene.forceWireframe;\r\n }\r\n\r\n /**\r\n * Sets the state of wireframe mode\r\n */\r\n public set wireframe(value: boolean) {\r\n this.fillMode = (value ? Material.WireFrameFillMode : Material.TriangleFillMode);\r\n }\r\n\r\n /**\r\n * Gets the value specifying if point clouds are enabled\r\n */\r\n @serialize()\r\n public get pointsCloud(): boolean {\r\n switch (this._fillMode) {\r\n case Material.PointFillMode:\r\n case Material.PointListDrawMode:\r\n return true;\r\n }\r\n\r\n return this._scene.forcePointsCloud;\r\n }\r\n\r\n /**\r\n * Sets the state of point cloud mode\r\n */\r\n public set pointsCloud(value: boolean) {\r\n this.fillMode = (value ? Material.PointFillMode : Material.TriangleFillMode);\r\n }\r\n\r\n /**\r\n * Gets the material fill mode\r\n */\r\n @serialize()\r\n public get fillMode(): number {\r\n return this._fillMode;\r\n }\r\n\r\n /**\r\n * Sets the material fill mode\r\n */\r\n public set fillMode(value: number) {\r\n if (this._fillMode === value) {\r\n return;\r\n }\r\n\r\n this._fillMode = value;\r\n this.markAsDirty(Material.MiscDirtyFlag);\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Stores the effects for the material\r\n */\r\n public _effect: Nullable = null;\r\n\r\n /**\r\n * Specifies if uniform buffers should be used\r\n */\r\n private _useUBO: boolean = false;\r\n\r\n /**\r\n * Stores a reference to the scene\r\n */\r\n private _scene: Scene;\r\n\r\n /**\r\n * Stores the fill mode state\r\n */\r\n private _fillMode = Material.TriangleFillMode;\r\n\r\n /**\r\n * Specifies if the depth write state should be cached\r\n */\r\n private _cachedDepthWriteState: boolean = false;\r\n\r\n /**\r\n * Specifies if the color write state should be cached\r\n */\r\n private _cachedColorWriteState: boolean = false;\r\n\r\n /**\r\n * Specifies if the depth function state should be cached\r\n */\r\n private _cachedDepthFunctionState: number = 0;\r\n\r\n /**\r\n * Stores the uniform buffer\r\n */\r\n protected _uniformBuffer: UniformBuffer;\r\n\r\n /** @hidden */\r\n public _indexInSceneMaterialArray = -1;\r\n\r\n /** @hidden */\r\n public meshMap: Nullable<{ [id: string]: AbstractMesh | undefined }> = null;\r\n\r\n /**\r\n * Creates a material instance\r\n * @param name defines the name of the material\r\n * @param scene defines the scene to reference\r\n * @param doNotAdd specifies if the material should be added to the scene\r\n */\r\n constructor(name: string, scene: Scene, doNotAdd?: boolean) {\r\n this.name = name;\r\n let idSubscript = 1;\r\n this._scene = scene || EngineStore.LastCreatedScene;\r\n\r\n this.id = name || Tools.RandomId();\r\n while (this._scene.getMaterialByID(this.id)) {\r\n this.id = name + \" \" + idSubscript++;\r\n }\r\n\r\n this.uniqueId = this._scene.getUniqueId();\r\n\r\n if (this._scene.useRightHandedSystem) {\r\n this.sideOrientation = Material.ClockWiseSideOrientation;\r\n } else {\r\n this.sideOrientation = Material.CounterClockWiseSideOrientation;\r\n }\r\n\r\n this._uniformBuffer = new UniformBuffer(this._scene.getEngine());\r\n this._useUBO = this.getScene().getEngine().supportsUniformBuffers;\r\n\r\n if (!doNotAdd) {\r\n this._scene.addMaterial(this);\r\n }\r\n\r\n if (this._scene.useMaterialMeshMap) {\r\n this.meshMap = {};\r\n }\r\n }\r\n\r\n /**\r\n * Returns a string representation of the current material\r\n * @param fullDetails defines a boolean indicating which levels of logging is desired\r\n * @returns a string with material information\r\n */\r\n public toString(fullDetails?: boolean): string {\r\n var ret = \"Name: \" + this.name;\r\n if (fullDetails) {\r\n }\r\n return ret;\r\n }\r\n\r\n /**\r\n * Gets the class name of the material\r\n * @returns a string with the class name of the material\r\n */\r\n public getClassName(): string {\r\n return \"Material\";\r\n }\r\n\r\n /**\r\n * Specifies if updates for the material been locked\r\n */\r\n public get isFrozen(): boolean {\r\n return this.checkReadyOnlyOnce;\r\n }\r\n\r\n /**\r\n * Locks updates for the material\r\n */\r\n public freeze(): void {\r\n this.markDirty();\r\n this.checkReadyOnlyOnce = true;\r\n }\r\n\r\n /**\r\n * Unlocks updates for the material\r\n */\r\n public unfreeze(): void {\r\n this.markDirty();\r\n this.checkReadyOnlyOnce = false;\r\n }\r\n\r\n /**\r\n * Specifies if the material is ready to be used\r\n * @param mesh defines the mesh to check\r\n * @param useInstances specifies if instances should be used\r\n * @returns a boolean indicating if the material is ready to be used\r\n */\r\n public isReady(mesh?: AbstractMesh, useInstances?: boolean): boolean {\r\n return true;\r\n }\r\n\r\n /**\r\n * Specifies that the submesh is ready to be used\r\n * @param mesh defines the mesh to check\r\n * @param subMesh defines which submesh to check\r\n * @param useInstances specifies that instances should be used\r\n * @returns a boolean indicating that the submesh is ready or not\r\n */\r\n public isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean {\r\n return false;\r\n }\r\n\r\n /**\r\n * Returns the material effect\r\n * @returns the effect associated with the material\r\n */\r\n public getEffect(): Nullable {\r\n return this._effect;\r\n }\r\n\r\n /**\r\n * Returns the current scene\r\n * @returns a Scene\r\n */\r\n public getScene(): Scene {\r\n return this._scene;\r\n }\r\n\r\n /**\r\n * Enforces alpha test in opaque or blend mode in order to improve the performances of some situations.\r\n */\r\n protected _forceAlphaTest = false;\r\n\r\n /**\r\n * The transparency mode of the material.\r\n */\r\n protected _transparencyMode: Nullable = null;\r\n\r\n /**\r\n * Gets the current transparency mode.\r\n */\r\n @serialize()\r\n public get transparencyMode(): Nullable {\r\n return this._transparencyMode;\r\n }\r\n\r\n /**\r\n * Sets the transparency mode of the material.\r\n *\r\n * | Value | Type | Description |\r\n * | ----- | ----------------------------------- | ----------- |\r\n * | 0 | OPAQUE | |\r\n * | 1 | ALPHATEST | |\r\n * | 2 | ALPHABLEND | |\r\n * | 3 | ALPHATESTANDBLEND | |\r\n *\r\n */\r\n public set transparencyMode(value: Nullable) {\r\n if (this._transparencyMode === value) {\r\n return;\r\n }\r\n\r\n this._transparencyMode = value;\r\n\r\n this._forceAlphaTest = (value === Material.MATERIAL_ALPHATESTANDBLEND);\r\n\r\n this._markAllSubMeshesAsTexturesAndMiscDirty();\r\n }\r\n\r\n /**\r\n * Returns true if alpha blending should be disabled.\r\n */\r\n protected get _disableAlphaBlending(): boolean {\r\n return (this._transparencyMode === Material.MATERIAL_OPAQUE ||\r\n this._transparencyMode === Material.MATERIAL_ALPHATEST);\r\n }\r\n\r\n /**\r\n * Specifies whether or not this material should be rendered in alpha blend mode.\r\n * @returns a boolean specifying if alpha blending is needed\r\n */\r\n public needAlphaBlending(): boolean {\r\n if (this._disableAlphaBlending) {\r\n return false;\r\n }\r\n\r\n return (this.alpha < 1.0);\r\n }\r\n\r\n /**\r\n * Specifies if the mesh will require alpha blending\r\n * @param mesh defines the mesh to check\r\n * @returns a boolean specifying if alpha blending is needed for the mesh\r\n */\r\n public needAlphaBlendingForMesh(mesh: AbstractMesh): boolean {\r\n if (this._disableAlphaBlending && mesh.visibility >= 1.0) {\r\n return false;\r\n }\r\n\r\n return this.needAlphaBlending() || (mesh.visibility < 1.0) || mesh.hasVertexAlpha;\r\n }\r\n\r\n /**\r\n * Specifies whether or not this material should be rendered in alpha test mode.\r\n * @returns a boolean specifying if an alpha test is needed.\r\n */\r\n public needAlphaTesting(): boolean {\r\n if (this._forceAlphaTest) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Specifies if material alpha testing should be turned on for the mesh\r\n * @param mesh defines the mesh to check\r\n */\r\n protected _shouldTurnAlphaTestOn(mesh: AbstractMesh): boolean {\r\n return (!this.needAlphaBlendingForMesh(mesh) && this.needAlphaTesting());\r\n }\r\n\r\n /**\r\n * Gets the texture used for the alpha test\r\n * @returns the texture to use for alpha testing\r\n */\r\n public getAlphaTestTexture(): Nullable {\r\n return null;\r\n }\r\n\r\n /**\r\n * Marks the material to indicate that it needs to be re-calculated\r\n */\r\n public markDirty(): void {\r\n const meshes = this.getScene().meshes;\r\n for (var mesh of meshes) {\r\n if (!mesh.subMeshes) {\r\n continue;\r\n }\r\n for (var subMesh of mesh.subMeshes) {\r\n if (subMesh.getMaterial() !== this) {\r\n continue;\r\n }\r\n\r\n if (!subMesh.effect) {\r\n continue;\r\n }\r\n\r\n subMesh.effect._wasPreviouslyReady = false;\r\n }\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _preBind(effect?: Effect, overrideOrientation: Nullable = null): boolean {\r\n var engine = this._scene.getEngine();\r\n\r\n var orientation = (overrideOrientation == null) ? this.sideOrientation : overrideOrientation;\r\n var reverse = orientation === Material.ClockWiseSideOrientation;\r\n\r\n engine.enableEffect(effect ? effect : this._effect);\r\n engine.setState(this.backFaceCulling, this.zOffset, false, reverse);\r\n\r\n return reverse;\r\n }\r\n\r\n /**\r\n * Binds the material to the mesh\r\n * @param world defines the world transformation matrix\r\n * @param mesh defines the mesh to bind the material to\r\n */\r\n public bind(world: Matrix, mesh?: Mesh): void {\r\n }\r\n\r\n /**\r\n * Binds the submesh to the material\r\n * @param world defines the world transformation matrix\r\n * @param mesh defines the mesh containing the submesh\r\n * @param subMesh defines the submesh to bind the material to\r\n */\r\n public bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void {\r\n }\r\n\r\n /**\r\n * Binds the world matrix to the material\r\n * @param world defines the world transformation matrix\r\n */\r\n public bindOnlyWorldMatrix(world: Matrix): void {\r\n }\r\n\r\n /**\r\n * Binds the scene's uniform buffer to the effect.\r\n * @param effect defines the effect to bind to the scene uniform buffer\r\n * @param sceneUbo defines the uniform buffer storing scene data\r\n */\r\n public bindSceneUniformBuffer(effect: Effect, sceneUbo: UniformBuffer): void {\r\n sceneUbo.bindToEffect(effect, \"Scene\");\r\n }\r\n\r\n /**\r\n * Binds the view matrix to the effect\r\n * @param effect defines the effect to bind the view matrix to\r\n */\r\n public bindView(effect: Effect): void {\r\n if (!this._useUBO) {\r\n effect.setMatrix(\"view\", this.getScene().getViewMatrix());\r\n } else {\r\n this.bindSceneUniformBuffer(effect, this.getScene().getSceneUniformBuffer());\r\n }\r\n }\r\n\r\n /**\r\n * Binds the view projection matrix to the effect\r\n * @param effect defines the effect to bind the view projection matrix to\r\n */\r\n public bindViewProjection(effect: Effect): void {\r\n if (!this._useUBO) {\r\n effect.setMatrix(\"viewProjection\", this.getScene().getTransformMatrix());\r\n } else {\r\n this.bindSceneUniformBuffer(effect, this.getScene().getSceneUniformBuffer());\r\n }\r\n }\r\n\r\n /**\r\n * Processes to execute after binding the material to a mesh\r\n * @param mesh defines the rendered mesh\r\n */\r\n protected _afterBind(mesh?: Mesh): void {\r\n this._scene._cachedMaterial = this;\r\n if (mesh) {\r\n this._scene._cachedVisibility = mesh.visibility;\r\n } else {\r\n this._scene._cachedVisibility = 1;\r\n }\r\n\r\n if (this._onBindObservable && mesh) {\r\n this._onBindObservable.notifyObservers(mesh);\r\n }\r\n\r\n if (this.disableDepthWrite) {\r\n var engine = this._scene.getEngine();\r\n this._cachedDepthWriteState = engine.getDepthWrite();\r\n engine.setDepthWrite(false);\r\n }\r\n\r\n if (this.disableColorWrite) {\r\n var engine = this._scene.getEngine();\r\n this._cachedColorWriteState = engine.getColorWrite();\r\n engine.setColorWrite(false);\r\n }\r\n\r\n if (this.depthFunction !== 0) {\r\n var engine = this._scene.getEngine();\r\n this._cachedDepthFunctionState = engine.getDepthFunction() || 0;\r\n engine.setDepthFunction(this.depthFunction);\r\n }\r\n }\r\n\r\n /**\r\n * Unbinds the material from the mesh\r\n */\r\n public unbind(): void {\r\n if (this._onUnBindObservable) {\r\n this._onUnBindObservable.notifyObservers(this);\r\n }\r\n\r\n if (this.depthFunction !== 0) {\r\n var engine = this._scene.getEngine();\r\n engine.setDepthFunction(this._cachedDepthFunctionState);\r\n }\r\n\r\n if (this.disableDepthWrite) {\r\n var engine = this._scene.getEngine();\r\n engine.setDepthWrite(this._cachedDepthWriteState);\r\n }\r\n\r\n if (this.disableColorWrite) {\r\n var engine = this._scene.getEngine();\r\n engine.setColorWrite(this._cachedColorWriteState);\r\n }\r\n }\r\n\r\n /**\r\n * Gets the active textures from the material\r\n * @returns an array of textures\r\n */\r\n public getActiveTextures(): BaseTexture[] {\r\n return [];\r\n }\r\n\r\n /**\r\n * Specifies if the material uses a texture\r\n * @param texture defines the texture to check against the material\r\n * @returns a boolean specifying if the material uses the texture\r\n */\r\n public hasTexture(texture: BaseTexture): boolean {\r\n return false;\r\n }\r\n\r\n /**\r\n * Makes a duplicate of the material, and gives it a new name\r\n * @param name defines the new name for the duplicated material\r\n * @returns the cloned material\r\n */\r\n public clone(name: string): Nullable {\r\n return null;\r\n }\r\n\r\n /**\r\n * Gets the meshes bound to the material\r\n * @returns an array of meshes bound to the material\r\n */\r\n public getBindedMeshes(): AbstractMesh[] {\r\n if (this.meshMap) {\r\n var result = new Array();\r\n for (let meshId in this.meshMap) {\r\n const mesh = this.meshMap[meshId];\r\n if (mesh) {\r\n result.push(mesh);\r\n }\r\n }\r\n return result;\r\n }\r\n else {\r\n const meshes = this._scene.meshes;\r\n return meshes.filter((mesh) => mesh.material === this);\r\n }\r\n }\r\n\r\n /**\r\n * Force shader compilation\r\n * @param mesh defines the mesh associated with this material\r\n * @param onCompiled defines a function to execute once the material is compiled\r\n * @param options defines the options to configure the compilation\r\n * @param onError defines a function to execute if the material fails compiling\r\n */\r\n public forceCompilation(mesh: AbstractMesh, onCompiled?: (material: Material) => void, options?: Partial, onError?: (reason: string) => void): void {\r\n let localOptions = {\r\n clipPlane: false,\r\n useInstances: false,\r\n ...options\r\n };\r\n\r\n var scene = this.getScene();\r\n let currentHotSwapingState = this.allowShaderHotSwapping;\r\n this.allowShaderHotSwapping = false; // Turned off to let us evaluate the real compilation state\r\n\r\n var checkReady = () => {\r\n if (!this._scene || !this._scene.getEngine()) {\r\n return;\r\n }\r\n\r\n var clipPlaneState = scene.clipPlane;\r\n\r\n if (localOptions.clipPlane) {\r\n scene.clipPlane = new Plane(0, 0, 0, 1);\r\n }\r\n\r\n if (this._storeEffectOnSubMeshes) {\r\n var allDone = true, lastError = null;\r\n if (mesh.subMeshes) {\r\n let tempSubMesh = new SubMesh(0, 0, 0, 0, 0, mesh, undefined, false, false);\r\n if (tempSubMesh._materialDefines) {\r\n tempSubMesh._materialDefines._renderId = -1;\r\n }\r\n if (!this.isReadyForSubMesh(mesh, tempSubMesh, localOptions.useInstances)) {\r\n if (tempSubMesh.effect && tempSubMesh.effect.getCompilationError() && tempSubMesh.effect.allFallbacksProcessed()) {\r\n lastError = tempSubMesh.effect.getCompilationError();\r\n } else {\r\n allDone = false;\r\n setTimeout(checkReady, 16);\r\n }\r\n }\r\n }\r\n if (allDone) {\r\n this.allowShaderHotSwapping = currentHotSwapingState;\r\n if (lastError) {\r\n if (onError) {\r\n onError(lastError);\r\n }\r\n }\r\n if (onCompiled) {\r\n onCompiled(this);\r\n }\r\n }\r\n } else {\r\n if (this.isReady()) {\r\n this.allowShaderHotSwapping = currentHotSwapingState;\r\n if (onCompiled) {\r\n onCompiled(this);\r\n }\r\n }\r\n else {\r\n setTimeout(checkReady, 16);\r\n }\r\n }\r\n\r\n if (localOptions.clipPlane) {\r\n scene.clipPlane = clipPlaneState;\r\n }\r\n };\r\n\r\n checkReady();\r\n }\r\n\r\n /**\r\n * Force shader compilation\r\n * @param mesh defines the mesh that will use this material\r\n * @param options defines additional options for compiling the shaders\r\n * @returns a promise that resolves when the compilation completes\r\n */\r\n public forceCompilationAsync(mesh: AbstractMesh, options?: Partial): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.forceCompilation(mesh, () => {\r\n resolve();\r\n }, options, (reason) => {\r\n reject(reason);\r\n });\r\n });\r\n }\r\n\r\n private static readonly _AllDirtyCallBack = (defines: MaterialDefines) => defines.markAllAsDirty();\r\n private static readonly _ImageProcessingDirtyCallBack = (defines: MaterialDefines) => defines.markAsImageProcessingDirty();\r\n private static readonly _TextureDirtyCallBack = (defines: MaterialDefines) => defines.markAsTexturesDirty();\r\n private static readonly _FresnelDirtyCallBack = (defines: MaterialDefines) => defines.markAsFresnelDirty();\r\n private static readonly _MiscDirtyCallBack = (defines: MaterialDefines) => defines.markAsMiscDirty();\r\n private static readonly _PrePassDirtyCallBack = (defines: MaterialDefines) => defines.markAsPrePassDirty();\r\n private static readonly _LightsDirtyCallBack = (defines: MaterialDefines) => defines.markAsLightDirty();\r\n private static readonly _AttributeDirtyCallBack = (defines: MaterialDefines) => defines.markAsAttributesDirty();\r\n\r\n private static _FresnelAndMiscDirtyCallBack = (defines: MaterialDefines) => {\r\n Material._FresnelDirtyCallBack(defines);\r\n Material._MiscDirtyCallBack(defines);\r\n }\r\n\r\n private static _TextureAndMiscDirtyCallBack = (defines: MaterialDefines) => {\r\n Material._TextureDirtyCallBack(defines);\r\n Material._MiscDirtyCallBack(defines);\r\n }\r\n\r\n private static readonly _DirtyCallbackArray: Array<(defines: MaterialDefines) => void> = [];\r\n private static readonly _RunDirtyCallBacks = (defines: MaterialDefines) => {\r\n for (const cb of Material._DirtyCallbackArray) {\r\n cb(defines);\r\n }\r\n }\r\n\r\n /**\r\n * Marks a define in the material to indicate that it needs to be re-computed\r\n * @param flag defines a flag used to determine which parts of the material have to be marked as dirty\r\n */\r\n public markAsDirty(flag: number): void {\r\n if (this.getScene().blockMaterialDirtyMechanism) {\r\n return;\r\n }\r\n\r\n Material._DirtyCallbackArray.length = 0;\r\n\r\n if (flag & Material.TextureDirtyFlag) {\r\n Material._DirtyCallbackArray.push(Material._TextureDirtyCallBack);\r\n }\r\n\r\n if (flag & Material.LightDirtyFlag) {\r\n Material._DirtyCallbackArray.push(Material._LightsDirtyCallBack);\r\n }\r\n\r\n if (flag & Material.FresnelDirtyFlag) {\r\n Material._DirtyCallbackArray.push(Material._FresnelDirtyCallBack);\r\n }\r\n\r\n if (flag & Material.AttributesDirtyFlag) {\r\n Material._DirtyCallbackArray.push(Material._AttributeDirtyCallBack);\r\n }\r\n\r\n if (flag & Material.MiscDirtyFlag) {\r\n Material._DirtyCallbackArray.push(Material._MiscDirtyCallBack);\r\n }\r\n\r\n if (flag & Material.PrePassDirtyFlag) {\r\n Material._DirtyCallbackArray.push(Material._PrePassDirtyCallBack);\r\n }\r\n\r\n if (Material._DirtyCallbackArray.length) {\r\n this._markAllSubMeshesAsDirty(Material._RunDirtyCallBacks);\r\n }\r\n\r\n this.getScene().resetCachedMaterial();\r\n }\r\n\r\n /**\r\n * Marks all submeshes of a material to indicate that their material defines need to be re-calculated\r\n * @param func defines a function which checks material defines against the submeshes\r\n */\r\n protected _markAllSubMeshesAsDirty(func: (defines: MaterialDefines) => void) {\r\n if (this.getScene().blockMaterialDirtyMechanism) {\r\n return;\r\n }\r\n\r\n const meshes = this.getScene().meshes;\r\n for (var mesh of meshes) {\r\n if (!mesh.subMeshes) {\r\n continue;\r\n }\r\n for (var subMesh of mesh.subMeshes) {\r\n if (subMesh.getMaterial() !== this) {\r\n continue;\r\n }\r\n\r\n if (!subMesh._materialDefines) {\r\n continue;\r\n }\r\n\r\n func(subMesh._materialDefines);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Indicates that the scene should check if the rendering now needs a prepass\r\n */\r\n protected _markScenePrePassDirty() {\r\n if (this.getScene().blockMaterialDirtyMechanism) {\r\n return;\r\n }\r\n\r\n const prePassRenderer = this.getScene().enablePrePassRenderer();\r\n if (prePassRenderer) {\r\n prePassRenderer.markAsDirty();\r\n }\r\n }\r\n\r\n /**\r\n * Indicates that we need to re-calculated for all submeshes\r\n */\r\n protected _markAllSubMeshesAsAllDirty() {\r\n this._markAllSubMeshesAsDirty(Material._AllDirtyCallBack);\r\n }\r\n\r\n /**\r\n * Indicates that image processing needs to be re-calculated for all submeshes\r\n */\r\n protected _markAllSubMeshesAsImageProcessingDirty() {\r\n this._markAllSubMeshesAsDirty(Material._ImageProcessingDirtyCallBack);\r\n }\r\n\r\n /**\r\n * Indicates that textures need to be re-calculated for all submeshes\r\n */\r\n protected _markAllSubMeshesAsTexturesDirty() {\r\n this._markAllSubMeshesAsDirty(Material._TextureDirtyCallBack);\r\n }\r\n\r\n /**\r\n * Indicates that fresnel needs to be re-calculated for all submeshes\r\n */\r\n protected _markAllSubMeshesAsFresnelDirty() {\r\n this._markAllSubMeshesAsDirty(Material._FresnelDirtyCallBack);\r\n }\r\n\r\n /**\r\n * Indicates that fresnel and misc need to be re-calculated for all submeshes\r\n */\r\n protected _markAllSubMeshesAsFresnelAndMiscDirty() {\r\n this._markAllSubMeshesAsDirty(Material._FresnelAndMiscDirtyCallBack);\r\n }\r\n\r\n /**\r\n * Indicates that lights need to be re-calculated for all submeshes\r\n */\r\n protected _markAllSubMeshesAsLightsDirty() {\r\n this._markAllSubMeshesAsDirty(Material._LightsDirtyCallBack);\r\n }\r\n\r\n /**\r\n * Indicates that attributes need to be re-calculated for all submeshes\r\n */\r\n protected _markAllSubMeshesAsAttributesDirty() {\r\n this._markAllSubMeshesAsDirty(Material._AttributeDirtyCallBack);\r\n }\r\n\r\n /**\r\n * Indicates that misc needs to be re-calculated for all submeshes\r\n */\r\n protected _markAllSubMeshesAsMiscDirty() {\r\n this._markAllSubMeshesAsDirty(Material._MiscDirtyCallBack);\r\n }\r\n\r\n /**\r\n * Indicates that prepass needs to be re-calculated for all submeshes\r\n */\r\n protected _markAllSubMeshesAsPrePassDirty() {\r\n this._markAllSubMeshesAsDirty(Material._MiscDirtyCallBack);\r\n }\r\n\r\n /**\r\n * Indicates that textures and misc need to be re-calculated for all submeshes\r\n */\r\n protected _markAllSubMeshesAsTexturesAndMiscDirty() {\r\n this._markAllSubMeshesAsDirty(Material._TextureAndMiscDirtyCallBack);\r\n }\r\n\r\n /**\r\n * Sets the required values to the prepass renderer.\r\n * @param prePassRenderer defines the prepass renderer to setup.\r\n * @returns true if the pre pass is needed.\r\n */\r\n public setPrePassRenderer(prePassRenderer: PrePassRenderer): boolean {\r\n // Do Nothing by default\r\n return false;\r\n }\r\n\r\n /**\r\n * Disposes the material\r\n * @param forceDisposeEffect specifies if effects should be forcefully disposed\r\n * @param forceDisposeTextures specifies if textures should be forcefully disposed\r\n * @param notBoundToMesh specifies if the material that is being disposed is known to be not bound to any mesh\r\n */\r\n public dispose(forceDisposeEffect?: boolean, forceDisposeTextures?: boolean, notBoundToMesh?: boolean): void {\r\n const scene = this.getScene();\r\n // Animations\r\n scene.stopAnimation(this);\r\n scene.freeProcessedMaterials();\r\n\r\n // Remove from scene\r\n scene.removeMaterial(this);\r\n\r\n if (notBoundToMesh !== true) {\r\n // Remove from meshes\r\n if (this.meshMap) {\r\n for (let meshId in this.meshMap) {\r\n const mesh = this.meshMap[meshId];\r\n if (mesh) {\r\n mesh.material = null; // will set the entry in the map to undefined\r\n this.releaseVertexArrayObject(mesh, forceDisposeEffect);\r\n }\r\n }\r\n }\r\n else {\r\n const meshes = scene.meshes;\r\n for (let mesh of meshes) {\r\n if (mesh.material === this && !(mesh as InstancedMesh).sourceMesh) {\r\n mesh.material = null;\r\n this.releaseVertexArrayObject(mesh, forceDisposeEffect);\r\n }\r\n }\r\n }\r\n }\r\n\r\n this._uniformBuffer.dispose();\r\n\r\n // Shader are kept in cache for further use but we can get rid of this by using forceDisposeEffect\r\n if (forceDisposeEffect && this._effect) {\r\n if (!this._storeEffectOnSubMeshes) {\r\n this._effect.dispose();\r\n }\r\n\r\n this._effect = null;\r\n }\r\n\r\n // Callback\r\n this.onDisposeObservable.notifyObservers(this);\r\n\r\n this.onDisposeObservable.clear();\r\n if (this._onBindObservable) {\r\n this._onBindObservable.clear();\r\n }\r\n\r\n if (this._onUnBindObservable) {\r\n this._onUnBindObservable.clear();\r\n }\r\n\r\n if (this._onEffectCreatedObservable) {\r\n this._onEffectCreatedObservable.clear();\r\n }\r\n }\r\n\r\n /** @hidden */\r\n private releaseVertexArrayObject(mesh: AbstractMesh, forceDisposeEffect?: boolean) {\r\n if ((mesh).geometry) {\r\n var geometry = ((mesh).geometry);\r\n if (this._storeEffectOnSubMeshes) {\r\n for (var subMesh of mesh.subMeshes) {\r\n geometry._releaseVertexArrayObject(subMesh._materialEffect);\r\n if (forceDisposeEffect && subMesh._materialEffect) {\r\n subMesh._materialEffect.dispose();\r\n }\r\n }\r\n } else {\r\n geometry._releaseVertexArrayObject(this._effect);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Serializes this material\r\n * @returns the serialized material object\r\n */\r\n public serialize(): any {\r\n return SerializationHelper.Serialize(this);\r\n }\r\n\r\n /**\r\n * Creates a material from parsed material data\r\n * @param parsedMaterial defines parsed material data\r\n * @param scene defines the hosting scene\r\n * @param rootUrl defines the root URL to use to load textures\r\n * @returns a new material\r\n */\r\n public static Parse(parsedMaterial: any, scene: Scene, rootUrl: string): Nullable {\r\n if (!parsedMaterial.customType) {\r\n parsedMaterial.customType = \"BABYLON.StandardMaterial\";\r\n }\r\n else if (parsedMaterial.customType === \"BABYLON.PBRMaterial\" && parsedMaterial.overloadedAlbedo) {\r\n parsedMaterial.customType = \"BABYLON.LegacyPBRMaterial\";\r\n if (!BABYLON.LegacyPBRMaterial) {\r\n Logger.Error(\"Your scene is trying to load a legacy version of the PBRMaterial, please, include it from the materials library.\");\r\n return null;\r\n }\r\n }\r\n\r\n var materialType = Tools.Instantiate(parsedMaterial.customType);\r\n return materialType.Parse(parsedMaterial, scene, rootUrl);\r\n }\r\n}","import { formatMuiErrorMessage as _formatMuiErrorMessage } from \"@material-ui/utils\";\n// It should to be noted that this function isn't equivalent to `text-transform: capitalize`.\n//\n// A strict capitalization should uppercase the first letter of each word a the sentence.\n// We only handle the first word.\nexport default function capitalize(string) {\n if (typeof string !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? \"Material-UI: capitalize(string) expects a string argument.\" : _formatMuiErrorMessage(7));\n }\n\n return string.charAt(0).toUpperCase() + string.slice(1);\n}","import { IShaderProcessor } from '../Processors/iShaderProcessor';\r\n\r\nimport { ThinEngine } from '../thinEngine';\r\n\r\n/** @hidden */\r\nexport class WebGLShaderProcessor implements IShaderProcessor {\r\n public postProcessor(code: string, defines: string[], isFragment: boolean, engine: ThinEngine) {\r\n\r\n // Remove extensions\r\n if (!engine.getCaps().drawBuffersExtension) {\r\n // even if enclosed in #if/#endif, IE11 does parse the #extension declaration, so we need to remove it altogether\r\n var regex = /#extension.+GL_EXT_draw_buffers.+(enable|require)/g;\r\n code = code.replace(regex, \"\");\r\n }\r\n\r\n return code;\r\n }\r\n}","import { EngineStore } from './engineStore';\r\nimport { IInternalTextureLoader } from '../Materials/Textures/internalTextureLoader';\r\nimport { Effect, IEffectCreationOptions } from '../Materials/effect';\r\nimport { _DevTools } from '../Misc/devTools';\r\nimport { IShaderProcessor } from './Processors/iShaderProcessor';\r\nimport { UniformBuffer } from '../Materials/uniformBuffer';\r\nimport { Nullable, DataArray, IndicesArray } from '../types';\r\nimport { EngineCapabilities } from './engineCapabilities';\r\nimport { Observable } from '../Misc/observable';\r\nimport { DepthCullingState } from '../States/depthCullingState';\r\nimport { StencilState } from '../States/stencilState';\r\nimport { AlphaState } from '../States/alphaCullingState';\r\n\r\nimport { InternalTexture, InternalTextureSource } from '../Materials/Textures/internalTexture';\r\nimport { IViewportLike, IColor4Like } from '../Maths/math.like';\r\nimport { DataBuffer } from '../Meshes/dataBuffer';\r\nimport { IFileRequest } from '../Misc/fileRequest';\r\nimport { Logger } from '../Misc/logger';\r\nimport { DomManagement } from '../Misc/domManagement';\r\nimport { WebGLShaderProcessor } from './WebGL/webGLShaderProcessors';\r\nimport { WebGL2ShaderProcessor } from './WebGL/webGL2ShaderProcessors';\r\nimport { WebGLDataBuffer } from '../Meshes/WebGL/webGLDataBuffer';\r\nimport { IPipelineContext } from './IPipelineContext';\r\nimport { WebGLPipelineContext } from './WebGL/webGLPipelineContext';\r\nimport { VertexBuffer } from '../Meshes/buffer';\r\nimport { InstancingAttributeInfo } from './instancingAttributeInfo';\r\nimport { ThinTexture } from '../Materials/Textures/thinTexture';\r\nimport { IOfflineProvider } from '../Offline/IOfflineProvider';\r\nimport { IEffectFallbacks } from '../Materials/iEffectFallbacks';\r\nimport { IWebRequest } from '../Misc/interfaces/iWebRequest';\r\nimport { CanvasGenerator } from '../Misc/canvasGenerator';\r\nimport { PerformanceConfigurator } from './performanceConfigurator';\r\n\r\ndeclare type WebRequest = import(\"../Misc/webRequest\").WebRequest;\r\ndeclare type LoadFileError = import(\"../Misc/fileTools\").LoadFileError;\r\ndeclare type Observer = import(\"../Misc/observable\").Observer;\r\ndeclare type VideoTexture = import(\"../Materials/Textures/videoTexture\").VideoTexture;\r\ndeclare type RenderTargetTexture = import(\"../Materials/Textures/renderTargetTexture\").RenderTargetTexture;\r\ndeclare type Texture = import(\"../Materials/Textures/texture\").Texture;\r\n\r\n/**\r\n * Defines the interface used by objects working like Scene\r\n * @hidden\r\n */\r\nexport interface ISceneLike {\r\n _addPendingData(data: any): void;\r\n _removePendingData(data: any): void;\r\n offlineProvider: IOfflineProvider;\r\n}\r\n\r\n/**\r\n * Keeps track of all the buffer info used in engine.\r\n */\r\nclass BufferPointer {\r\n public active: boolean;\r\n public index: number;\r\n public size: number;\r\n public type: number;\r\n public normalized: boolean;\r\n public stride: number;\r\n public offset: number;\r\n public buffer: WebGLBuffer;\r\n}\r\n\r\n/**\r\n * Information about the current host\r\n */\r\nexport interface HostInformation {\r\n /**\r\n * Defines if the current host is a mobile\r\n */\r\n isMobile: boolean;\r\n}\r\n\r\n/** Interface defining initialization parameters for Engine class */\r\nexport interface EngineOptions extends WebGLContextAttributes {\r\n /**\r\n * Defines if the engine should no exceed a specified device ratio\r\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio\r\n */\r\n limitDeviceRatio?: number;\r\n /**\r\n * Defines if webvr should be enabled automatically\r\n * @see https://doc.babylonjs.com/how_to/webvr_camera\r\n */\r\n autoEnableWebVR?: boolean;\r\n /**\r\n * Defines if webgl2 should be turned off even if supported\r\n * @see https://doc.babylonjs.com/features/webgl2\r\n */\r\n disableWebGL2Support?: boolean;\r\n /**\r\n * Defines if webaudio should be initialized as well\r\n * @see https://doc.babylonjs.com/how_to/playing_sounds_and_music\r\n */\r\n audioEngine?: boolean;\r\n /**\r\n * Defines if animations should run using a deterministic lock step\r\n * @see https://doc.babylonjs.com/babylon101/animations#deterministic-lockstep\r\n */\r\n deterministicLockstep?: boolean;\r\n /** Defines the maximum steps to use with deterministic lock step mode */\r\n lockstepMaxSteps?: number;\r\n /** Defines the seconds between each deterministic lock step */\r\n timeStep?: number;\r\n /**\r\n * Defines that engine should ignore context lost events\r\n * If this event happens when this parameter is true, you will have to reload the page to restore rendering\r\n */\r\n\r\n doNotHandleContextLost?: boolean;\r\n /**\r\n * Defines that engine should ignore modifying touch action attribute and style\r\n * If not handle, you might need to set it up on your side for expected touch devices behavior.\r\n */\r\n doNotHandleTouchAction?: boolean;\r\n /**\r\n * Defines that engine should compile shaders with high precision floats (if supported). True by default\r\n */\r\n useHighPrecisionFloats?: boolean;\r\n /**\r\n * Make the canvas XR Compatible for XR sessions\r\n */\r\n xrCompatible?: boolean;\r\n\r\n /**\r\n * Make the matrix computations to be performed in 64 bits instead of 32 bits. False by default\r\n */\r\n useHighPrecisionMatrix?: boolean;\r\n\r\n /**\r\n * Will prevent the system from falling back to software implementation if a hardware device cannot be created\r\n */\r\n failIfMajorPerformanceCaveat?: boolean;\r\n}\r\n\r\n/**\r\n * The base engine class (root of all engines)\r\n */\r\nexport class ThinEngine {\r\n /** Use this array to turn off some WebGL2 features on known buggy browsers version */\r\n public static ExceptionList = [\r\n { key: \"Chrome\\/63\\.0\", capture: \"63\\\\.0\\\\.3239\\\\.(\\\\d+)\", captureConstraint: 108, targets: [\"uniformBuffer\"] },\r\n { key: \"Firefox\\/58\", capture: null, captureConstraint: null, targets: [\"uniformBuffer\"] },\r\n { key: \"Firefox\\/59\", capture: null, captureConstraint: null, targets: [\"uniformBuffer\"] },\r\n { key: \"Chrome\\/72.+?Mobile\", capture: null, captureConstraint: null, targets: [\"vao\"] },\r\n { key: \"Chrome\\/73.+?Mobile\", capture: null, captureConstraint: null, targets: [\"vao\"] },\r\n { key: \"Chrome\\/74.+?Mobile\", capture: null, captureConstraint: null, targets: [\"vao\"] },\r\n { key: \"Mac OS.+Chrome\\/71\", capture: null, captureConstraint: null, targets: [\"vao\"] },\r\n { key: \"Mac OS.+Chrome\\/72\", capture: null, captureConstraint: null, targets: [\"vao\"] }\r\n ];\r\n\r\n /** @hidden */\r\n public static _TextureLoaders: IInternalTextureLoader[] = [];\r\n\r\n /**\r\n * Returns the current npm package of the sdk\r\n */\r\n // Not mixed with Version for tooling purpose.\r\n public static get NpmPackage(): string {\r\n return \"babylonjs@4.2.0\";\r\n }\r\n\r\n /**\r\n * Returns the current version of the framework\r\n */\r\n public static get Version(): string {\r\n return \"4.2.0\";\r\n }\r\n\r\n /**\r\n * Returns a string describing the current engine\r\n */\r\n public get description(): string {\r\n let description = \"WebGL\" + this.webGLVersion;\r\n\r\n if (this._caps.parallelShaderCompile) {\r\n description += \" - Parallel shader compilation\";\r\n }\r\n\r\n return description;\r\n }\r\n\r\n // Updatable statics so stick with vars here\r\n\r\n /**\r\n * Gets or sets the epsilon value used by collision engine\r\n */\r\n public static CollisionsEpsilon = 0.001;\r\n\r\n /**\r\n * Gets or sets the relative url used to load shaders if using the engine in non-minified mode\r\n */\r\n public static get ShadersRepository(): string {\r\n return Effect.ShadersRepository;\r\n }\r\n public static set ShadersRepository(value: string) {\r\n Effect.ShadersRepository = value;\r\n }\r\n\r\n // Public members\r\n\r\n /** @hidden */\r\n public _shaderProcessor: IShaderProcessor;\r\n\r\n /**\r\n * Gets or sets a boolean that indicates if textures must be forced to power of 2 size even if not required\r\n */\r\n public forcePOTTextures = false;\r\n\r\n /**\r\n * Gets a boolean indicating if the engine is currently rendering in fullscreen mode\r\n */\r\n public isFullscreen = false;\r\n\r\n /**\r\n * Gets or sets a boolean indicating if back faces must be culled (true by default)\r\n */\r\n public cullBackFaces = true;\r\n\r\n /**\r\n * Gets or sets a boolean indicating if the engine must keep rendering even if the window is not in foregroun\r\n */\r\n public renderEvenInBackground = true;\r\n\r\n /**\r\n * Gets or sets a boolean indicating that cache can be kept between frames\r\n */\r\n public preventCacheWipeBetweenFrames = false;\r\n\r\n /** Gets or sets a boolean indicating if the engine should validate programs after compilation */\r\n public validateShaderPrograms = false;\r\n\r\n /**\r\n * Gets or sets a boolean indicating if depth buffer should be reverse, going from far to near.\r\n * This can provide greater z depth for distant objects.\r\n */\r\n public useReverseDepthBuffer = false;\r\n // Uniform buffers list\r\n\r\n /**\r\n * Gets or sets a boolean indicating that uniform buffers must be disabled even if they are supported\r\n */\r\n public disableUniformBuffers = false;\r\n\r\n /** @hidden */\r\n public _uniformBuffers = new Array();\r\n\r\n /**\r\n * Gets a boolean indicating that the engine supports uniform buffers\r\n * @see https://doc.babylonjs.com/features/webgl2#uniform-buffer-objets\r\n */\r\n public get supportsUniformBuffers(): boolean {\r\n return this.webGLVersion > 1 && !this.disableUniformBuffers;\r\n }\r\n\r\n // Private Members\r\n\r\n /** @hidden */\r\n public _gl: WebGLRenderingContext;\r\n /** @hidden */\r\n public _webGLVersion = 1.0;\r\n protected _renderingCanvas: Nullable;\r\n protected _windowIsBackground = false;\r\n protected _creationOptions: EngineOptions;\r\n\r\n protected _highPrecisionShadersAllowed = true;\r\n /** @hidden */\r\n public get _shouldUseHighPrecisionShader(): boolean {\r\n return !!(this._caps.highPrecisionShaderSupported && this._highPrecisionShadersAllowed);\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating that only power of 2 textures are supported\r\n * Please note that you can still use non power of 2 textures but in this case the engine will forcefully convert them\r\n */\r\n public get needPOTTextures(): boolean {\r\n return this._webGLVersion < 2 || this.forcePOTTextures;\r\n }\r\n\r\n /** @hidden */\r\n public _badOS = false;\r\n\r\n /** @hidden */\r\n public _badDesktopOS = false;\r\n\r\n private _hardwareScalingLevel: number;\r\n /** @hidden */\r\n public _caps: EngineCapabilities;\r\n private _isStencilEnable: boolean;\r\n\r\n private _glVersion: string;\r\n private _glRenderer: string;\r\n private _glVendor: string;\r\n\r\n /** @hidden */\r\n public _videoTextureSupported: boolean;\r\n\r\n protected _renderingQueueLaunched = false;\r\n protected _activeRenderLoops = new Array<() => void>();\r\n\r\n // Lost context\r\n /**\r\n * Observable signaled when a context lost event is raised\r\n */\r\n public onContextLostObservable = new Observable();\r\n /**\r\n * Observable signaled when a context restored event is raised\r\n */\r\n public onContextRestoredObservable = new Observable();\r\n private _onContextLost: (evt: Event) => void;\r\n private _onContextRestored: (evt: Event) => void;\r\n protected _contextWasLost = false;\r\n\r\n /** @hidden */\r\n public _doNotHandleContextLost = false;\r\n\r\n /**\r\n * Gets or sets a boolean indicating if resources should be retained to be able to handle context lost events\r\n * @see https://doc.babylonjs.com/how_to/optimizing_your_scene#handling-webgl-context-lost\r\n */\r\n public get doNotHandleContextLost(): boolean {\r\n return this._doNotHandleContextLost;\r\n }\r\n\r\n public set doNotHandleContextLost(value: boolean) {\r\n this._doNotHandleContextLost = value;\r\n }\r\n\r\n /**\r\n * Gets or sets a boolean indicating that vertex array object must be disabled even if they are supported\r\n */\r\n public disableVertexArrayObjects = false;\r\n\r\n // States\r\n /** @hidden */\r\n protected _colorWrite = true;\r\n /** @hidden */\r\n protected _colorWriteChanged = true;\r\n /** @hidden */\r\n protected _depthCullingState = new DepthCullingState();\r\n /** @hidden */\r\n protected _stencilState = new StencilState();\r\n /** @hidden */\r\n public _alphaState = new AlphaState();\r\n /** @hidden */\r\n public _alphaMode = 1;\r\n /** @hidden */\r\n public _alphaEquation = 0;\r\n\r\n // Cache\r\n /** @hidden */\r\n public _internalTexturesCache = new Array();\r\n /** @hidden */\r\n protected _activeChannel = 0;\r\n private _currentTextureChannel = -1;\r\n /** @hidden */\r\n protected _boundTexturesCache: { [key: string]: Nullable } = {};\r\n /** @hidden */\r\n protected _currentEffect: Nullable;\r\n /** @hidden */\r\n protected _currentProgram: Nullable;\r\n private _compiledEffects: { [key: string]: Effect } = {};\r\n private _vertexAttribArraysEnabled: boolean[] = [];\r\n /** @hidden */\r\n protected _cachedViewport: Nullable;\r\n private _cachedVertexArrayObject: Nullable;\r\n /** @hidden */\r\n protected _cachedVertexBuffers: any;\r\n /** @hidden */\r\n protected _cachedIndexBuffer: Nullable;\r\n /** @hidden */\r\n protected _cachedEffectForVertexBuffers: Nullable;\r\n /** @hidden */\r\n public _currentRenderTarget: Nullable;\r\n private _uintIndicesCurrentlySet = false;\r\n protected _currentBoundBuffer = new Array>();\r\n /** @hidden */\r\n public _currentFramebuffer: Nullable = null;\r\n /** @hidden */\r\n public _dummyFramebuffer: Nullable = null;\r\n private _currentBufferPointers = new Array();\r\n private _currentInstanceLocations = new Array();\r\n private _currentInstanceBuffers = new Array();\r\n private _textureUnits: Int32Array;\r\n\r\n /** @hidden */\r\n public _workingCanvas: Nullable;\r\n /** @hidden */\r\n public _workingContext: Nullable;\r\n\r\n /** @hidden */\r\n public _boundRenderFunction: any;\r\n\r\n private _vaoRecordInProgress = false;\r\n private _mustWipeVertexAttributes = false;\r\n\r\n private _emptyTexture: Nullable;\r\n private _emptyCubeTexture: Nullable;\r\n private _emptyTexture3D: Nullable;\r\n private _emptyTexture2DArray: Nullable;\r\n\r\n /** @hidden */\r\n public _frameHandler: number;\r\n\r\n private _nextFreeTextureSlots = new Array();\r\n private _maxSimultaneousTextures = 0;\r\n\r\n private _activeRequests = new Array();\r\n\r\n /** @hidden */\r\n public _transformTextureUrl: Nullable<(url: string) => string> = null;\r\n\r\n /**\r\n * Gets information about the current host\r\n */\r\n public hostInformation: HostInformation = {\r\n isMobile: false\r\n };\r\n\r\n protected get _supportsHardwareTextureRescaling() {\r\n return false;\r\n }\r\n\r\n private _framebufferDimensionsObject: Nullable<{framebufferWidth: number, framebufferHeight: number}>;\r\n\r\n /**\r\n * sets the object from which width and height will be taken from when getting render width and height\r\n * Will fallback to the gl object\r\n * @param dimensions the framebuffer width and height that will be used.\r\n */\r\n public set framebufferDimensionsObject(dimensions: Nullable<{framebufferWidth: number, framebufferHeight: number}>) {\r\n this._framebufferDimensionsObject = dimensions;\r\n }\r\n\r\n /**\r\n * Gets the current viewport\r\n */\r\n public get currentViewport(): Nullable {\r\n return this._cachedViewport;\r\n }\r\n\r\n /**\r\n * Gets the default empty texture\r\n */\r\n public get emptyTexture(): InternalTexture {\r\n if (!this._emptyTexture) {\r\n this._emptyTexture = this.createRawTexture(new Uint8Array(4), 1, 1, 5, false, false, 1);\r\n }\r\n\r\n return this._emptyTexture;\r\n }\r\n\r\n /**\r\n * Gets the default empty 3D texture\r\n */\r\n public get emptyTexture3D(): InternalTexture {\r\n if (!this._emptyTexture3D) {\r\n this._emptyTexture3D = this.createRawTexture3D(new Uint8Array(4), 1, 1, 1, 5, false, false, 1);\r\n }\r\n\r\n return this._emptyTexture3D;\r\n }\r\n\r\n /**\r\n * Gets the default empty 2D array texture\r\n */\r\n public get emptyTexture2DArray(): InternalTexture {\r\n if (!this._emptyTexture2DArray) {\r\n this._emptyTexture2DArray = this.createRawTexture2DArray(new Uint8Array(4), 1, 1, 1, 5, false, false, 1);\r\n }\r\n\r\n return this._emptyTexture2DArray;\r\n }\r\n\r\n /**\r\n * Gets the default empty cube texture\r\n */\r\n public get emptyCubeTexture(): InternalTexture {\r\n if (!this._emptyCubeTexture) {\r\n var faceData = new Uint8Array(4);\r\n var cubeData = [faceData, faceData, faceData, faceData, faceData, faceData];\r\n this._emptyCubeTexture = this.createRawCubeTexture(cubeData, 1, 5, 0, false, false, 1);\r\n }\r\n\r\n return this._emptyCubeTexture;\r\n }\r\n\r\n /**\r\n * Defines whether the engine has been created with the premultipliedAlpha option on or not.\r\n */\r\n public readonly premultipliedAlpha: boolean = true;\r\n\r\n /**\r\n * Observable event triggered before each texture is initialized\r\n */\r\n public onBeforeTextureInitObservable = new Observable();\r\n\r\n /**\r\n * Creates a new engine\r\n * @param canvasOrContext defines the canvas or WebGL context to use for rendering. If you provide a WebGL context, Babylon.js will not hook events on the canvas (like pointers, keyboards, etc...) so no event observables will be available. This is mostly used when Babylon.js is used as a plugin on a system which alreay used the WebGL context\r\n * @param antialias defines enable antialiasing (default: false)\r\n * @param options defines further options to be sent to the getContext() function\r\n * @param adaptToDeviceRatio defines whether to adapt to the device's viewport characteristics (default: false)\r\n */\r\n constructor(canvasOrContext: Nullable, antialias?: boolean, options?: EngineOptions, adaptToDeviceRatio: boolean = false) {\r\n\r\n let canvas: Nullable = null;\r\n\r\n if (!canvasOrContext) {\r\n return;\r\n }\r\n\r\n options = options || {};\r\n\r\n PerformanceConfigurator.SetMatrixPrecision(!!options.useHighPrecisionMatrix);\r\n\r\n if ((canvasOrContext as any).getContext) {\r\n canvas = canvasOrContext;\r\n this._renderingCanvas = canvas;\r\n\r\n if (antialias != null) {\r\n options.antialias = antialias;\r\n }\r\n\r\n if (options.deterministicLockstep === undefined) {\r\n options.deterministicLockstep = false;\r\n }\r\n\r\n if (options.lockstepMaxSteps === undefined) {\r\n options.lockstepMaxSteps = 4;\r\n }\r\n\r\n if (options.timeStep === undefined) {\r\n options.timeStep = 1 / 60;\r\n }\r\n\r\n if (options.preserveDrawingBuffer === undefined) {\r\n options.preserveDrawingBuffer = false;\r\n }\r\n\r\n if (options.audioEngine === undefined) {\r\n options.audioEngine = true;\r\n }\r\n\r\n if (options.stencil === undefined) {\r\n options.stencil = true;\r\n }\r\n\r\n if (options.premultipliedAlpha === false) {\r\n this.premultipliedAlpha = false;\r\n }\r\n\r\n if (options.xrCompatible === undefined) {\r\n options.xrCompatible = true;\r\n }\r\n\r\n this._doNotHandleContextLost = options.doNotHandleContextLost ? true : false;\r\n\r\n // Exceptions\r\n if (navigator && navigator.userAgent) {\r\n let ua = navigator.userAgent;\r\n\r\n this.hostInformation.isMobile = ua.indexOf(\"Mobile\") !== -1;\r\n\r\n for (var exception of ThinEngine.ExceptionList) {\r\n let key = exception.key;\r\n let targets = exception.targets;\r\n let check = new RegExp(key);\r\n\r\n if (check.test(ua)) {\r\n if (exception.capture && exception.captureConstraint) {\r\n let capture = exception.capture;\r\n let constraint = exception.captureConstraint;\r\n\r\n let regex = new RegExp(capture);\r\n let matches = regex.exec(ua);\r\n\r\n if (matches && matches.length > 0) {\r\n let capturedValue = parseInt(matches[matches.length - 1]);\r\n if (capturedValue >= constraint) {\r\n continue;\r\n }\r\n }\r\n }\r\n\r\n for (var target of targets) {\r\n switch (target) {\r\n case \"uniformBuffer\":\r\n this.disableUniformBuffers = true;\r\n break;\r\n case \"vao\":\r\n this.disableVertexArrayObjects = true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Context lost\r\n if (!this._doNotHandleContextLost) {\r\n this._onContextLost = (evt: Event) => {\r\n evt.preventDefault();\r\n this._contextWasLost = true;\r\n Logger.Warn(\"WebGL context lost.\");\r\n\r\n this.onContextLostObservable.notifyObservers(this);\r\n };\r\n\r\n this._onContextRestored = () => {\r\n // Adding a timeout to avoid race condition at browser level\r\n setTimeout(() => {\r\n // Rebuild gl context\r\n this._initGLContext();\r\n // Rebuild effects\r\n this._rebuildEffects();\r\n // Rebuild textures\r\n this._rebuildInternalTextures();\r\n // Rebuild buffers\r\n this._rebuildBuffers();\r\n // Cache\r\n this.wipeCaches(true);\r\n Logger.Warn(\"WebGL context successfully restored.\");\r\n this.onContextRestoredObservable.notifyObservers(this);\r\n this._contextWasLost = false;\r\n }, 0);\r\n };\r\n\r\n canvas.addEventListener(\"webglcontextlost\", this._onContextLost, false);\r\n canvas.addEventListener(\"webglcontextrestored\", this._onContextRestored, false);\r\n\r\n options.powerPreference = \"high-performance\";\r\n }\r\n\r\n // GL\r\n if (!options.disableWebGL2Support) {\r\n try {\r\n this._gl = (canvas.getContext(\"webgl2\", options) || canvas.getContext(\"experimental-webgl2\", options));\r\n if (this._gl) {\r\n this._webGLVersion = 2.0;\r\n\r\n // Prevent weird browsers to lie (yeah that happens!)\r\n if (!this._gl.deleteQuery) {\r\n this._webGLVersion = 1.0;\r\n }\r\n }\r\n } catch (e) {\r\n // Do nothing\r\n }\r\n }\r\n\r\n if (!this._gl) {\r\n if (!canvas) {\r\n throw new Error(\"The provided canvas is null or undefined.\");\r\n }\r\n try {\r\n this._gl = (canvas.getContext(\"webgl\", options) || canvas.getContext(\"experimental-webgl\", options));\r\n } catch (e) {\r\n throw new Error(\"WebGL not supported\");\r\n }\r\n }\r\n\r\n if (!this._gl) {\r\n throw new Error(\"WebGL not supported\");\r\n }\r\n } else {\r\n this._gl = canvasOrContext;\r\n this._renderingCanvas = this._gl.canvas as HTMLCanvasElement;\r\n\r\n if (this._gl.renderbufferStorageMultisample) {\r\n this._webGLVersion = 2.0;\r\n }\r\n\r\n const attributes = this._gl.getContextAttributes();\r\n if (attributes) {\r\n options.stencil = attributes.stencil;\r\n }\r\n }\r\n\r\n // Ensures a consistent color space unpacking of textures cross browser.\r\n this._gl.pixelStorei(this._gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, this._gl.NONE);\r\n\r\n if (options.useHighPrecisionFloats !== undefined) {\r\n this._highPrecisionShadersAllowed = options.useHighPrecisionFloats;\r\n }\r\n\r\n // Viewport\r\n const devicePixelRatio = DomManagement.IsWindowObjectExist() ? (window.devicePixelRatio || 1.0) : 1.0;\r\n\r\n var limitDeviceRatio = options.limitDeviceRatio || devicePixelRatio;\r\n this._hardwareScalingLevel = adaptToDeviceRatio ? 1.0 / Math.min(limitDeviceRatio, devicePixelRatio) : 1.0;\r\n this.resize();\r\n\r\n this._isStencilEnable = options.stencil ? true : false;\r\n this._initGLContext();\r\n\r\n // Prepare buffer pointers\r\n for (var i = 0; i < this._caps.maxVertexAttribs; i++) {\r\n this._currentBufferPointers[i] = new BufferPointer();\r\n }\r\n\r\n // Shader processor\r\n if (this.webGLVersion > 1) {\r\n this._shaderProcessor = new WebGL2ShaderProcessor();\r\n } else {\r\n this._shaderProcessor = new WebGLShaderProcessor();\r\n }\r\n\r\n // Detect if we are running on a faulty buggy OS.\r\n this._badOS = /iPad/i.test(navigator.userAgent) || /iPhone/i.test(navigator.userAgent);\r\n\r\n // Starting with iOS 14, we can trust the browser\r\n // let matches = navigator.userAgent.match(/Version\\/(\\d+)/);\r\n\r\n // if (matches && matches.length === 2) {\r\n // if (parseInt(matches[1]) >= 14) {\r\n // this._badOS = false;\r\n // }\r\n // }\r\n\r\n // Detect if we are running on a faulty buggy desktop OS.\r\n this._badDesktopOS = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\r\n\r\n this._creationOptions = options;\r\n console.log(`Babylon.js v${ThinEngine.Version} - ${this.description}`);\r\n }\r\n\r\n private _rebuildInternalTextures(): void {\r\n let currentState = this._internalTexturesCache.slice(); // Do a copy because the rebuild will add proxies\r\n\r\n for (var internalTexture of currentState) {\r\n internalTexture._rebuild();\r\n }\r\n }\r\n\r\n private _rebuildEffects(): void {\r\n for (var key in this._compiledEffects) {\r\n let effect = this._compiledEffects[key];\r\n\r\n effect._prepareEffect();\r\n }\r\n\r\n Effect.ResetCache();\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if all created effects are ready\r\n * @returns true if all effects are ready\r\n */\r\n public areAllEffectsReady(): boolean {\r\n for (var key in this._compiledEffects) {\r\n let effect = this._compiledEffects[key];\r\n\r\n if (!effect.isReady()) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n protected _rebuildBuffers(): void {\r\n // Uniforms\r\n for (var uniformBuffer of this._uniformBuffers) {\r\n uniformBuffer._rebuild();\r\n }\r\n }\r\n\r\n protected _initGLContext(): void {\r\n // Caps\r\n this._caps = {\r\n maxTexturesImageUnits: this._gl.getParameter(this._gl.MAX_TEXTURE_IMAGE_UNITS),\r\n maxCombinedTexturesImageUnits: this._gl.getParameter(this._gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS),\r\n maxVertexTextureImageUnits: this._gl.getParameter(this._gl.MAX_VERTEX_TEXTURE_IMAGE_UNITS),\r\n maxTextureSize: this._gl.getParameter(this._gl.MAX_TEXTURE_SIZE),\r\n maxSamples: this._webGLVersion > 1 ? this._gl.getParameter(this._gl.MAX_SAMPLES) : 1,\r\n maxCubemapTextureSize: this._gl.getParameter(this._gl.MAX_CUBE_MAP_TEXTURE_SIZE),\r\n maxRenderTextureSize: this._gl.getParameter(this._gl.MAX_RENDERBUFFER_SIZE),\r\n maxVertexAttribs: this._gl.getParameter(this._gl.MAX_VERTEX_ATTRIBS),\r\n maxVaryingVectors: this._gl.getParameter(this._gl.MAX_VARYING_VECTORS),\r\n maxFragmentUniformVectors: this._gl.getParameter(this._gl.MAX_FRAGMENT_UNIFORM_VECTORS),\r\n maxVertexUniformVectors: this._gl.getParameter(this._gl.MAX_VERTEX_UNIFORM_VECTORS),\r\n parallelShaderCompile: this._gl.getExtension('KHR_parallel_shader_compile'),\r\n standardDerivatives: this._webGLVersion > 1 || (this._gl.getExtension('OES_standard_derivatives') !== null),\r\n maxAnisotropy: 1,\r\n astc: this._gl.getExtension('WEBGL_compressed_texture_astc') || this._gl.getExtension('WEBKIT_WEBGL_compressed_texture_astc'),\r\n bptc: this._gl.getExtension('EXT_texture_compression_bptc') || this._gl.getExtension('WEBKIT_EXT_texture_compression_bptc'),\r\n s3tc: this._gl.getExtension('WEBGL_compressed_texture_s3tc') || this._gl.getExtension('WEBKIT_WEBGL_compressed_texture_s3tc'),\r\n pvrtc: this._gl.getExtension('WEBGL_compressed_texture_pvrtc') || this._gl.getExtension('WEBKIT_WEBGL_compressed_texture_pvrtc'),\r\n etc1: this._gl.getExtension('WEBGL_compressed_texture_etc1') || this._gl.getExtension('WEBKIT_WEBGL_compressed_texture_etc1'),\r\n etc2: this._gl.getExtension('WEBGL_compressed_texture_etc') || this._gl.getExtension('WEBKIT_WEBGL_compressed_texture_etc') ||\r\n this._gl.getExtension('WEBGL_compressed_texture_es3_0'), // also a requirement of OpenGL ES 3\r\n textureAnisotropicFilterExtension: this._gl.getExtension('EXT_texture_filter_anisotropic') || this._gl.getExtension('WEBKIT_EXT_texture_filter_anisotropic') || this._gl.getExtension('MOZ_EXT_texture_filter_anisotropic'),\r\n uintIndices: this._webGLVersion > 1 || this._gl.getExtension('OES_element_index_uint') !== null,\r\n fragmentDepthSupported: this._webGLVersion > 1 || this._gl.getExtension('EXT_frag_depth') !== null,\r\n highPrecisionShaderSupported: false,\r\n timerQuery: this._gl.getExtension('EXT_disjoint_timer_query_webgl2') || this._gl.getExtension(\"EXT_disjoint_timer_query\"),\r\n canUseTimestampForTimerQuery: false,\r\n drawBuffersExtension: false,\r\n maxMSAASamples: 1,\r\n colorBufferFloat: this._webGLVersion > 1 && this._gl.getExtension('EXT_color_buffer_float'),\r\n textureFloat: (this._webGLVersion > 1 || this._gl.getExtension('OES_texture_float')) ? true : false,\r\n textureHalfFloat: (this._webGLVersion > 1 || this._gl.getExtension('OES_texture_half_float')) ? true : false,\r\n textureHalfFloatRender: false,\r\n textureFloatLinearFiltering: false,\r\n textureFloatRender: false,\r\n textureHalfFloatLinearFiltering: false,\r\n vertexArrayObject: false,\r\n instancedArrays: false,\r\n textureLOD: (this._webGLVersion > 1 || this._gl.getExtension('EXT_shader_texture_lod')) ? true : false,\r\n blendMinMax: false,\r\n multiview: this._gl.getExtension('OVR_multiview2'),\r\n oculusMultiview: this._gl.getExtension('OCULUS_multiview'),\r\n depthTextureExtension: false\r\n };\r\n\r\n // Infos\r\n this._glVersion = this._gl.getParameter(this._gl.VERSION);\r\n\r\n var rendererInfo: any = this._gl.getExtension(\"WEBGL_debug_renderer_info\");\r\n if (rendererInfo != null) {\r\n this._glRenderer = this._gl.getParameter(rendererInfo.UNMASKED_RENDERER_WEBGL);\r\n this._glVendor = this._gl.getParameter(rendererInfo.UNMASKED_VENDOR_WEBGL);\r\n }\r\n\r\n if (!this._glVendor) {\r\n this._glVendor = \"Unknown vendor\";\r\n }\r\n\r\n if (!this._glRenderer) {\r\n this._glRenderer = \"Unknown renderer\";\r\n }\r\n\r\n // Constants\r\n if (this._gl.HALF_FLOAT_OES !== 0x8D61) {\r\n this._gl.HALF_FLOAT_OES = 0x8D61; // Half floating-point type (16-bit).\r\n }\r\n if (this._gl.RGBA16F !== 0x881A) {\r\n this._gl.RGBA16F = 0x881A; // RGBA 16-bit floating-point color-renderable internal sized format.\r\n }\r\n if (this._gl.RGBA32F !== 0x8814) {\r\n this._gl.RGBA32F = 0x8814; // RGBA 32-bit floating-point color-renderable internal sized format.\r\n }\r\n if (this._gl.DEPTH24_STENCIL8 !== 35056) {\r\n this._gl.DEPTH24_STENCIL8 = 35056;\r\n }\r\n\r\n // Extensions\r\n if (this._caps.timerQuery) {\r\n if (this._webGLVersion === 1) {\r\n this._gl.getQuery = (this._caps.timerQuery).getQueryEXT.bind(this._caps.timerQuery);\r\n }\r\n this._caps.canUseTimestampForTimerQuery = this._gl.getQuery(this._caps.timerQuery.TIMESTAMP_EXT, this._caps.timerQuery.QUERY_COUNTER_BITS_EXT) > 0;\r\n }\r\n\r\n this._caps.maxAnisotropy = this._caps.textureAnisotropicFilterExtension ? this._gl.getParameter(this._caps.textureAnisotropicFilterExtension.MAX_TEXTURE_MAX_ANISOTROPY_EXT) : 0;\r\n this._caps.textureFloatLinearFiltering = this._caps.textureFloat && this._gl.getExtension('OES_texture_float_linear') ? true : false;\r\n this._caps.textureFloatRender = this._caps.textureFloat && this._canRenderToFloatFramebuffer() ? true : false;\r\n this._caps.textureHalfFloatLinearFiltering = (this._webGLVersion > 1 || (this._caps.textureHalfFloat && this._gl.getExtension('OES_texture_half_float_linear'))) ? true : false;\r\n\r\n // Checks if some of the format renders first to allow the use of webgl inspector.\r\n if (this._webGLVersion > 1) {\r\n if (this._gl.HALF_FLOAT_OES !== 0x140B) {\r\n this._gl.HALF_FLOAT_OES = 0x140B;\r\n }\r\n }\r\n this._caps.textureHalfFloatRender = this._caps.textureHalfFloat && this._canRenderToHalfFloatFramebuffer();\r\n // Draw buffers\r\n if (this._webGLVersion > 1) {\r\n this._caps.drawBuffersExtension = true;\r\n this._caps.maxMSAASamples = this._gl.getParameter(this._gl.MAX_SAMPLES);\r\n } else {\r\n var drawBuffersExtension = this._gl.getExtension('WEBGL_draw_buffers');\r\n\r\n if (drawBuffersExtension !== null) {\r\n this._caps.drawBuffersExtension = true;\r\n this._gl.drawBuffers = drawBuffersExtension.drawBuffersWEBGL.bind(drawBuffersExtension);\r\n this._gl.DRAW_FRAMEBUFFER = this._gl.FRAMEBUFFER;\r\n\r\n for (var i = 0; i < 16; i++) {\r\n (this._gl)[\"COLOR_ATTACHMENT\" + i + \"_WEBGL\"] = (drawBuffersExtension)[\"COLOR_ATTACHMENT\" + i + \"_WEBGL\"];\r\n }\r\n }\r\n }\r\n\r\n // Depth Texture\r\n if (this._webGLVersion > 1) {\r\n this._caps.depthTextureExtension = true;\r\n } else {\r\n var depthTextureExtension = this._gl.getExtension('WEBGL_depth_texture');\r\n\r\n if (depthTextureExtension != null) {\r\n this._caps.depthTextureExtension = true;\r\n this._gl.UNSIGNED_INT_24_8 = depthTextureExtension.UNSIGNED_INT_24_8_WEBGL;\r\n }\r\n }\r\n\r\n // Vertex array object\r\n if (this.disableVertexArrayObjects) {\r\n this._caps.vertexArrayObject = false;\r\n } else if (this._webGLVersion > 1) {\r\n this._caps.vertexArrayObject = true;\r\n } else {\r\n var vertexArrayObjectExtension = this._gl.getExtension('OES_vertex_array_object');\r\n\r\n if (vertexArrayObjectExtension != null) {\r\n this._caps.vertexArrayObject = true;\r\n this._gl.createVertexArray = vertexArrayObjectExtension.createVertexArrayOES.bind(vertexArrayObjectExtension);\r\n this._gl.bindVertexArray = vertexArrayObjectExtension.bindVertexArrayOES.bind(vertexArrayObjectExtension);\r\n this._gl.deleteVertexArray = vertexArrayObjectExtension.deleteVertexArrayOES.bind(vertexArrayObjectExtension);\r\n }\r\n }\r\n\r\n // Instances count\r\n if (this._webGLVersion > 1) {\r\n this._caps.instancedArrays = true;\r\n } else {\r\n var instanceExtension = this._gl.getExtension('ANGLE_instanced_arrays');\r\n\r\n if (instanceExtension != null) {\r\n this._caps.instancedArrays = true;\r\n this._gl.drawArraysInstanced = instanceExtension.drawArraysInstancedANGLE.bind(instanceExtension);\r\n this._gl.drawElementsInstanced = instanceExtension.drawElementsInstancedANGLE.bind(instanceExtension);\r\n this._gl.vertexAttribDivisor = instanceExtension.vertexAttribDivisorANGLE.bind(instanceExtension);\r\n } else {\r\n this._caps.instancedArrays = false;\r\n }\r\n }\r\n\r\n if (this._gl.getShaderPrecisionFormat) {\r\n var vertex_highp = this._gl.getShaderPrecisionFormat(this._gl.VERTEX_SHADER, this._gl.HIGH_FLOAT);\r\n var fragment_highp = this._gl.getShaderPrecisionFormat(this._gl.FRAGMENT_SHADER, this._gl.HIGH_FLOAT);\r\n\r\n if (vertex_highp && fragment_highp) {\r\n this._caps.highPrecisionShaderSupported = vertex_highp.precision !== 0 && fragment_highp.precision !== 0;\r\n }\r\n }\r\n\r\n if (this._webGLVersion > 1) {\r\n this._caps.blendMinMax = true;\r\n }\r\n else {\r\n const blendMinMaxExtension = this._gl.getExtension('EXT_blend_minmax');\r\n if (blendMinMaxExtension != null) {\r\n this._caps.blendMinMax = true;\r\n this._gl.MAX = blendMinMaxExtension.MAX_EXT;\r\n this._gl.MIN = blendMinMaxExtension.MIN_EXT;\r\n }\r\n }\r\n\r\n // Depth buffer\r\n this._depthCullingState.depthTest = true;\r\n this._depthCullingState.depthFunc = this._gl.LEQUAL;\r\n this._depthCullingState.depthMask = true;\r\n\r\n // Texture maps\r\n this._maxSimultaneousTextures = this._caps.maxCombinedTexturesImageUnits;\r\n for (let slot = 0; slot < this._maxSimultaneousTextures; slot++) {\r\n this._nextFreeTextureSlots.push(slot);\r\n }\r\n }\r\n\r\n /**\r\n * Gets version of the current webGL context\r\n */\r\n public get webGLVersion(): number {\r\n return this._webGLVersion;\r\n }\r\n\r\n /**\r\n * Gets a string identifying the name of the class\r\n * @returns \"Engine\" string\r\n */\r\n public getClassName(): string {\r\n return \"ThinEngine\";\r\n }\r\n\r\n /**\r\n * Returns true if the stencil buffer has been enabled through the creation option of the context.\r\n */\r\n public get isStencilEnable(): boolean {\r\n return this._isStencilEnable;\r\n }\r\n\r\n /** @hidden */\r\n public _prepareWorkingCanvas(): void {\r\n if (this._workingCanvas) {\r\n return;\r\n }\r\n\r\n this._workingCanvas = CanvasGenerator.CreateCanvas(1, 1);\r\n let context = this._workingCanvas.getContext(\"2d\");\r\n\r\n if (context) {\r\n this._workingContext = context;\r\n }\r\n }\r\n\r\n /**\r\n * Reset the texture cache to empty state\r\n */\r\n public resetTextureCache() {\r\n for (var key in this._boundTexturesCache) {\r\n if (!this._boundTexturesCache.hasOwnProperty(key)) {\r\n continue;\r\n }\r\n this._boundTexturesCache[key] = null;\r\n }\r\n\r\n this._currentTextureChannel = -1;\r\n }\r\n\r\n /**\r\n * Gets an object containing information about the current webGL context\r\n * @returns an object containing the vender, the renderer and the version of the current webGL context\r\n */\r\n public getGlInfo() {\r\n return {\r\n vendor: this._glVendor,\r\n renderer: this._glRenderer,\r\n version: this._glVersion\r\n };\r\n }\r\n\r\n /**\r\n * Defines the hardware scaling level.\r\n * By default the hardware scaling level is computed from the window device ratio.\r\n * if level = 1 then the engine will render at the exact resolution of the canvas. If level = 0.5 then the engine will render at twice the size of the canvas.\r\n * @param level defines the level to use\r\n */\r\n public setHardwareScalingLevel(level: number): void {\r\n this._hardwareScalingLevel = level;\r\n this.resize();\r\n }\r\n\r\n /**\r\n * Gets the current hardware scaling level.\r\n * By default the hardware scaling level is computed from the window device ratio.\r\n * if level = 1 then the engine will render at the exact resolution of the canvas. If level = 0.5 then the engine will render at twice the size of the canvas.\r\n * @returns a number indicating the current hardware scaling level\r\n */\r\n public getHardwareScalingLevel(): number {\r\n return this._hardwareScalingLevel;\r\n }\r\n\r\n /**\r\n * Gets the list of loaded textures\r\n * @returns an array containing all loaded textures\r\n */\r\n public getLoadedTexturesCache(): InternalTexture[] {\r\n return this._internalTexturesCache;\r\n }\r\n\r\n /**\r\n * Gets the object containing all engine capabilities\r\n * @returns the EngineCapabilities object\r\n */\r\n public getCaps(): EngineCapabilities {\r\n return this._caps;\r\n }\r\n\r\n /**\r\n * stop executing a render loop function and remove it from the execution array\r\n * @param renderFunction defines the function to be removed. If not provided all functions will be removed.\r\n */\r\n public stopRenderLoop(renderFunction?: () => void): void {\r\n if (!renderFunction) {\r\n this._activeRenderLoops = [];\r\n return;\r\n }\r\n\r\n var index = this._activeRenderLoops.indexOf(renderFunction);\r\n\r\n if (index >= 0) {\r\n this._activeRenderLoops.splice(index, 1);\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _renderLoop(): void {\r\n if (!this._contextWasLost) {\r\n var shouldRender = true;\r\n if (!this.renderEvenInBackground && this._windowIsBackground) {\r\n shouldRender = false;\r\n }\r\n\r\n if (shouldRender) {\r\n // Start new frame\r\n this.beginFrame();\r\n\r\n for (var index = 0; index < this._activeRenderLoops.length; index++) {\r\n var renderFunction = this._activeRenderLoops[index];\r\n\r\n renderFunction();\r\n }\r\n\r\n // Present\r\n this.endFrame();\r\n }\r\n }\r\n\r\n if (this._activeRenderLoops.length > 0) {\r\n this._frameHandler = this._queueNewFrame(this._boundRenderFunction, this.getHostWindow());\r\n } else {\r\n this._renderingQueueLaunched = false;\r\n }\r\n }\r\n\r\n /**\r\n * Gets the HTML canvas attached with the current webGL context\r\n * @returns a HTML canvas\r\n */\r\n public getRenderingCanvas(): Nullable {\r\n return this._renderingCanvas;\r\n }\r\n\r\n /**\r\n * Gets host window\r\n * @returns the host window object\r\n */\r\n public getHostWindow(): Nullable {\r\n if (!DomManagement.IsWindowObjectExist()) {\r\n return null;\r\n }\r\n\r\n if (this._renderingCanvas && this._renderingCanvas.ownerDocument && this._renderingCanvas.ownerDocument.defaultView) {\r\n return this._renderingCanvas.ownerDocument.defaultView;\r\n }\r\n\r\n return window;\r\n }\r\n\r\n /**\r\n * Gets the current render width\r\n * @param useScreen defines if screen size must be used (or the current render target if any)\r\n * @returns a number defining the current render width\r\n */\r\n public getRenderWidth(useScreen = false): number {\r\n if (!useScreen && this._currentRenderTarget) {\r\n return this._currentRenderTarget.width;\r\n }\r\n\r\n return this._framebufferDimensionsObject ? this._framebufferDimensionsObject.framebufferWidth : this._gl.drawingBufferWidth;\r\n }\r\n\r\n /**\r\n * Gets the current render height\r\n * @param useScreen defines if screen size must be used (or the current render target if any)\r\n * @returns a number defining the current render height\r\n */\r\n public getRenderHeight(useScreen = false): number {\r\n if (!useScreen && this._currentRenderTarget) {\r\n return this._currentRenderTarget.height;\r\n }\r\n\r\n return this._framebufferDimensionsObject ? this._framebufferDimensionsObject.framebufferHeight : this._gl.drawingBufferHeight;\r\n }\r\n\r\n /**\r\n * Can be used to override the current requestAnimationFrame requester.\r\n * @hidden\r\n */\r\n protected _queueNewFrame(bindedRenderFunction: any, requester?: any): number {\r\n return ThinEngine.QueueNewFrame(bindedRenderFunction, requester);\r\n }\r\n\r\n /**\r\n * Register and execute a render loop. The engine can have more than one render function\r\n * @param renderFunction defines the function to continuously execute\r\n */\r\n public runRenderLoop(renderFunction: () => void): void {\r\n if (this._activeRenderLoops.indexOf(renderFunction) !== -1) {\r\n return;\r\n }\r\n\r\n this._activeRenderLoops.push(renderFunction);\r\n\r\n if (!this._renderingQueueLaunched) {\r\n this._renderingQueueLaunched = true;\r\n this._boundRenderFunction = this._renderLoop.bind(this);\r\n this._frameHandler = this._queueNewFrame(this._boundRenderFunction, this.getHostWindow());\r\n }\r\n }\r\n\r\n /**\r\n * Clear the current render buffer or the current render target (if any is set up)\r\n * @param color defines the color to use\r\n * @param backBuffer defines if the back buffer must be cleared\r\n * @param depth defines if the depth buffer must be cleared\r\n * @param stencil defines if the stencil buffer must be cleared\r\n */\r\n public clear(color: Nullable, backBuffer: boolean, depth: boolean, stencil: boolean = false): void {\r\n this.applyStates();\r\n\r\n var mode = 0;\r\n if (backBuffer && color) {\r\n this._gl.clearColor(color.r, color.g, color.b, color.a !== undefined ? color.a : 1.0);\r\n mode |= this._gl.COLOR_BUFFER_BIT;\r\n }\r\n\r\n if (depth) {\r\n if (this.useReverseDepthBuffer) {\r\n this._depthCullingState.depthFunc = this._gl.GREATER;\r\n this._gl.clearDepth(0.0);\r\n } else {\r\n this._gl.clearDepth(1.0);\r\n }\r\n mode |= this._gl.DEPTH_BUFFER_BIT;\r\n }\r\n if (stencil) {\r\n this._gl.clearStencil(0);\r\n mode |= this._gl.STENCIL_BUFFER_BIT;\r\n }\r\n this._gl.clear(mode);\r\n }\r\n\r\n private _viewportCached = { x: 0, y: 0, z: 0, w: 0 };\r\n\r\n /** @hidden */\r\n public _viewport(x: number, y: number, width: number, height: number): void {\r\n if (x !== this._viewportCached.x ||\r\n y !== this._viewportCached.y ||\r\n width !== this._viewportCached.z ||\r\n height !== this._viewportCached.w) {\r\n this._viewportCached.x = x;\r\n this._viewportCached.y = y;\r\n this._viewportCached.z = width;\r\n this._viewportCached.w = height;\r\n\r\n this._gl.viewport(x, y, width, height);\r\n }\r\n }\r\n\r\n /**\r\n * Set the WebGL's viewport\r\n * @param viewport defines the viewport element to be used\r\n * @param requiredWidth defines the width required for rendering. If not provided the rendering canvas' width is used\r\n * @param requiredHeight defines the height required for rendering. If not provided the rendering canvas' height is used\r\n */\r\n public setViewport(viewport: IViewportLike, requiredWidth?: number, requiredHeight?: number): void {\r\n var width = requiredWidth || this.getRenderWidth();\r\n var height = requiredHeight || this.getRenderHeight();\r\n var x = viewport.x || 0;\r\n var y = viewport.y || 0;\r\n\r\n this._cachedViewport = viewport;\r\n\r\n this._viewport(x * width, y * height, width * viewport.width, height * viewport.height);\r\n }\r\n\r\n /**\r\n * Begin a new frame\r\n */\r\n public beginFrame(): void {\r\n }\r\n\r\n /**\r\n * Enf the current frame\r\n */\r\n public endFrame(): void {\r\n // Force a flush in case we are using a bad OS.\r\n if (this._badOS) {\r\n this.flushFramebuffer();\r\n }\r\n }\r\n\r\n /**\r\n * Resize the view according to the canvas' size\r\n */\r\n public resize(): void {\r\n let width: number;\r\n let height: number;\r\n\r\n if (DomManagement.IsWindowObjectExist()) {\r\n width = this._renderingCanvas ? (this._renderingCanvas.clientWidth || this._renderingCanvas.width) : window.innerWidth;\r\n height = this._renderingCanvas ? (this._renderingCanvas.clientHeight || this._renderingCanvas.height) : window.innerHeight;\r\n } else {\r\n width = this._renderingCanvas ? this._renderingCanvas.width : 100;\r\n height = this._renderingCanvas ? this._renderingCanvas.height : 100;\r\n }\r\n\r\n this.setSize(width / this._hardwareScalingLevel, height / this._hardwareScalingLevel);\r\n }\r\n\r\n /**\r\n * Force a specific size of the canvas\r\n * @param width defines the new canvas' width\r\n * @param height defines the new canvas' height\r\n * @returns true if the size was changed\r\n */\r\n public setSize(width: number, height: number): boolean {\r\n if (!this._renderingCanvas) {\r\n return false;\r\n }\r\n\r\n width = width | 0;\r\n height = height | 0;\r\n\r\n if (this._renderingCanvas.width === width && this._renderingCanvas.height === height) {\r\n return false;\r\n }\r\n\r\n this._renderingCanvas.width = width;\r\n this._renderingCanvas.height = height;\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Binds the frame buffer to the specified texture.\r\n * @param texture The texture to render to or null for the default canvas\r\n * @param faceIndex The face of the texture to render to in case of cube texture\r\n * @param requiredWidth The width of the target to render to\r\n * @param requiredHeight The height of the target to render to\r\n * @param forceFullscreenViewport Forces the viewport to be the entire texture/screen if true\r\n * @param lodLevel defines the lod level to bind to the frame buffer\r\n * @param layer defines the 2d array index to bind to frame buffer to\r\n */\r\n public bindFramebuffer(texture: InternalTexture, faceIndex: number = 0, requiredWidth?: number, requiredHeight?: number, forceFullscreenViewport?: boolean, lodLevel = 0, layer = 0): void {\r\n if (this._currentRenderTarget) {\r\n this.unBindFramebuffer(this._currentRenderTarget);\r\n }\r\n this._currentRenderTarget = texture;\r\n this._bindUnboundFramebuffer(texture._MSAAFramebuffer ? texture._MSAAFramebuffer : texture._framebuffer);\r\n\r\n const gl = this._gl;\r\n if (texture.is2DArray) {\r\n gl.framebufferTextureLayer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, texture._webGLTexture, lodLevel, layer);\r\n }\r\n else if (texture.isCube) {\r\n gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_CUBE_MAP_POSITIVE_X + faceIndex, texture._webGLTexture, lodLevel);\r\n }\r\n\r\n const depthStencilTexture = texture._depthStencilTexture;\r\n if (depthStencilTexture) {\r\n const attachment = (depthStencilTexture._generateStencilBuffer) ? gl.DEPTH_STENCIL_ATTACHMENT : gl.DEPTH_ATTACHMENT;\r\n if (texture.is2DArray) {\r\n gl.framebufferTextureLayer(gl.FRAMEBUFFER, attachment, depthStencilTexture._webGLTexture, lodLevel, layer);\r\n }\r\n else if (texture.isCube) {\r\n gl.framebufferTexture2D(gl.FRAMEBUFFER, attachment, gl.TEXTURE_CUBE_MAP_POSITIVE_X + faceIndex, depthStencilTexture._webGLTexture, lodLevel);\r\n }\r\n else {\r\n gl.framebufferTexture2D(gl.FRAMEBUFFER, attachment, gl.TEXTURE_2D, depthStencilTexture._webGLTexture, lodLevel);\r\n }\r\n }\r\n\r\n if (this._cachedViewport && !forceFullscreenViewport) {\r\n this.setViewport(this._cachedViewport, requiredWidth, requiredHeight);\r\n } else {\r\n if (!requiredWidth) {\r\n requiredWidth = texture.width;\r\n if (lodLevel) {\r\n requiredWidth = requiredWidth / Math.pow(2, lodLevel);\r\n }\r\n }\r\n if (!requiredHeight) {\r\n requiredHeight = texture.height;\r\n if (lodLevel) {\r\n requiredHeight = requiredHeight / Math.pow(2, lodLevel);\r\n }\r\n }\r\n\r\n this._viewport(0, 0, requiredWidth, requiredHeight);\r\n }\r\n\r\n this.wipeCaches();\r\n }\r\n\r\n /** @hidden */\r\n public _bindUnboundFramebuffer(framebuffer: Nullable) {\r\n if (this._currentFramebuffer !== framebuffer) {\r\n this._gl.bindFramebuffer(this._gl.FRAMEBUFFER, framebuffer);\r\n this._currentFramebuffer = framebuffer;\r\n }\r\n }\r\n\r\n /**\r\n * Unbind the current render target texture from the webGL context\r\n * @param texture defines the render target texture to unbind\r\n * @param disableGenerateMipMaps defines a boolean indicating that mipmaps must not be generated\r\n * @param onBeforeUnbind defines a function which will be called before the effective unbind\r\n */\r\n public unBindFramebuffer(texture: InternalTexture, disableGenerateMipMaps = false, onBeforeUnbind?: () => void): void {\r\n this._currentRenderTarget = null;\r\n\r\n // If MSAA, we need to bitblt back to main texture\r\n var gl = this._gl;\r\n if (texture._MSAAFramebuffer) {\r\n if (texture._textureArray) {\r\n // This texture is part of a MRT texture, we need to treat all attachments\r\n this.unBindMultiColorAttachmentFramebuffer(texture._textureArray!, disableGenerateMipMaps, onBeforeUnbind);\r\n return;\r\n }\r\n gl.bindFramebuffer(gl.READ_FRAMEBUFFER, texture._MSAAFramebuffer);\r\n gl.bindFramebuffer(gl.DRAW_FRAMEBUFFER, texture._framebuffer);\r\n gl.blitFramebuffer(0, 0, texture.width, texture.height,\r\n 0, 0, texture.width, texture.height,\r\n gl.COLOR_BUFFER_BIT, gl.NEAREST);\r\n }\r\n\r\n if (texture.generateMipMaps && !disableGenerateMipMaps && !texture.isCube) {\r\n this._bindTextureDirectly(gl.TEXTURE_2D, texture, true);\r\n gl.generateMipmap(gl.TEXTURE_2D);\r\n this._bindTextureDirectly(gl.TEXTURE_2D, null);\r\n }\r\n\r\n if (onBeforeUnbind) {\r\n if (texture._MSAAFramebuffer) {\r\n // Bind the correct framebuffer\r\n this._bindUnboundFramebuffer(texture._framebuffer);\r\n }\r\n onBeforeUnbind();\r\n }\r\n\r\n this._bindUnboundFramebuffer(null);\r\n }\r\n\r\n /**\r\n * Force a webGL flush (ie. a flush of all waiting webGL commands)\r\n */\r\n public flushFramebuffer(): void {\r\n this._gl.flush();\r\n }\r\n\r\n /**\r\n * Unbind the current render target and bind the default framebuffer\r\n */\r\n public restoreDefaultFramebuffer(): void {\r\n if (this._currentRenderTarget) {\r\n this.unBindFramebuffer(this._currentRenderTarget);\r\n } else {\r\n this._bindUnboundFramebuffer(null);\r\n }\r\n if (this._cachedViewport) {\r\n this.setViewport(this._cachedViewport);\r\n }\r\n\r\n this.wipeCaches();\r\n }\r\n\r\n // VBOs\r\n\r\n /** @hidden */\r\n protected _resetVertexBufferBinding(): void {\r\n this.bindArrayBuffer(null);\r\n this._cachedVertexBuffers = null;\r\n }\r\n\r\n /**\r\n * Creates a vertex buffer\r\n * @param data the data for the vertex buffer\r\n * @returns the new WebGL static buffer\r\n */\r\n public createVertexBuffer(data: DataArray): DataBuffer {\r\n return this._createVertexBuffer(data, this._gl.STATIC_DRAW);\r\n }\r\n\r\n private _createVertexBuffer(data: DataArray, usage: number): DataBuffer {\r\n var vbo = this._gl.createBuffer();\r\n\r\n if (!vbo) {\r\n throw new Error(\"Unable to create vertex buffer\");\r\n }\r\n\r\n let dataBuffer = new WebGLDataBuffer(vbo);\r\n this.bindArrayBuffer(dataBuffer);\r\n\r\n if (data instanceof Array) {\r\n this._gl.bufferData(this._gl.ARRAY_BUFFER, new Float32Array(data), this._gl.STATIC_DRAW);\r\n } else {\r\n this._gl.bufferData(this._gl.ARRAY_BUFFER, data, this._gl.STATIC_DRAW);\r\n }\r\n\r\n this._resetVertexBufferBinding();\r\n\r\n dataBuffer.references = 1;\r\n return dataBuffer;\r\n }\r\n\r\n /**\r\n * Creates a dynamic vertex buffer\r\n * @param data the data for the dynamic vertex buffer\r\n * @returns the new WebGL dynamic buffer\r\n */\r\n public createDynamicVertexBuffer(data: DataArray): DataBuffer {\r\n return this._createVertexBuffer(data, this._gl.DYNAMIC_DRAW);\r\n }\r\n\r\n protected _resetIndexBufferBinding(): void {\r\n this.bindIndexBuffer(null);\r\n this._cachedIndexBuffer = null;\r\n }\r\n\r\n /**\r\n * Creates a new index buffer\r\n * @param indices defines the content of the index buffer\r\n * @param updatable defines if the index buffer must be updatable\r\n * @returns a new webGL buffer\r\n */\r\n public createIndexBuffer(indices: IndicesArray, updatable?: boolean): DataBuffer {\r\n var vbo = this._gl.createBuffer();\r\n let dataBuffer = new WebGLDataBuffer(vbo!);\r\n\r\n if (!vbo) {\r\n throw new Error(\"Unable to create index buffer\");\r\n }\r\n\r\n this.bindIndexBuffer(dataBuffer);\r\n\r\n const data = this._normalizeIndexData(indices);\r\n this._gl.bufferData(this._gl.ELEMENT_ARRAY_BUFFER, data, updatable ? this._gl.DYNAMIC_DRAW : this._gl.STATIC_DRAW);\r\n this._resetIndexBufferBinding();\r\n dataBuffer.references = 1;\r\n dataBuffer.is32Bits = (data.BYTES_PER_ELEMENT === 4);\r\n return dataBuffer;\r\n }\r\n\r\n protected _normalizeIndexData(indices: IndicesArray): Uint16Array | Uint32Array {\r\n if (indices instanceof Uint16Array) {\r\n return indices;\r\n }\r\n\r\n // Check 32 bit support\r\n if (this._caps.uintIndices) {\r\n if (indices instanceof Uint32Array) {\r\n return indices;\r\n } else {\r\n // number[] or Int32Array, check if 32 bit is necessary\r\n for (var index = 0; index < indices.length; index++) {\r\n if (indices[index] >= 65535) {\r\n return new Uint32Array(indices);\r\n }\r\n }\r\n\r\n return new Uint16Array(indices);\r\n }\r\n }\r\n\r\n // No 32 bit support, force conversion to 16 bit (values greater 16 bit are lost)\r\n return new Uint16Array(indices);\r\n }\r\n\r\n /**\r\n * Bind a webGL buffer to the webGL context\r\n * @param buffer defines the buffer to bind\r\n */\r\n public bindArrayBuffer(buffer: Nullable): void {\r\n if (!this._vaoRecordInProgress) {\r\n this._unbindVertexArrayObject();\r\n }\r\n this.bindBuffer(buffer, this._gl.ARRAY_BUFFER);\r\n }\r\n\r\n /**\r\n * Bind a specific block at a given index in a specific shader program\r\n * @param pipelineContext defines the pipeline context to use\r\n * @param blockName defines the block name\r\n * @param index defines the index where to bind the block\r\n */\r\n public bindUniformBlock(pipelineContext: IPipelineContext, blockName: string, index: number): void {\r\n let program = (pipelineContext as WebGLPipelineContext).program!;\r\n\r\n var uniformLocation = this._gl.getUniformBlockIndex(program, blockName);\r\n\r\n this._gl.uniformBlockBinding(program, uniformLocation, index);\r\n }\r\n\r\n protected bindIndexBuffer(buffer: Nullable): void {\r\n if (!this._vaoRecordInProgress) {\r\n this._unbindVertexArrayObject();\r\n }\r\n this.bindBuffer(buffer, this._gl.ELEMENT_ARRAY_BUFFER);\r\n }\r\n\r\n private bindBuffer(buffer: Nullable, target: number): void {\r\n if (this._vaoRecordInProgress || this._currentBoundBuffer[target] !== buffer) {\r\n this._gl.bindBuffer(target, buffer ? buffer.underlyingResource : null);\r\n this._currentBoundBuffer[target] = buffer;\r\n }\r\n }\r\n\r\n /**\r\n * update the bound buffer with the given data\r\n * @param data defines the data to update\r\n */\r\n public updateArrayBuffer(data: Float32Array): void {\r\n this._gl.bufferSubData(this._gl.ARRAY_BUFFER, 0, data);\r\n }\r\n\r\n private _vertexAttribPointer(buffer: DataBuffer, indx: number, size: number, type: number, normalized: boolean, stride: number, offset: number): void {\r\n var pointer = this._currentBufferPointers[indx];\r\n if (!pointer) {\r\n return;\r\n }\r\n\r\n var changed = false;\r\n if (!pointer.active) {\r\n changed = true;\r\n pointer.active = true;\r\n pointer.index = indx;\r\n pointer.size = size;\r\n pointer.type = type;\r\n pointer.normalized = normalized;\r\n pointer.stride = stride;\r\n pointer.offset = offset;\r\n pointer.buffer = buffer;\r\n } else {\r\n if (pointer.buffer !== buffer) { pointer.buffer = buffer; changed = true; }\r\n if (pointer.size !== size) { pointer.size = size; changed = true; }\r\n if (pointer.type !== type) { pointer.type = type; changed = true; }\r\n if (pointer.normalized !== normalized) { pointer.normalized = normalized; changed = true; }\r\n if (pointer.stride !== stride) { pointer.stride = stride; changed = true; }\r\n if (pointer.offset !== offset) { pointer.offset = offset; changed = true; }\r\n }\r\n\r\n if (changed || this._vaoRecordInProgress) {\r\n this.bindArrayBuffer(buffer);\r\n this._gl.vertexAttribPointer(indx, size, type, normalized, stride, offset);\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _bindIndexBufferWithCache(indexBuffer: Nullable): void {\r\n if (indexBuffer == null) {\r\n return;\r\n }\r\n if (this._cachedIndexBuffer !== indexBuffer) {\r\n this._cachedIndexBuffer = indexBuffer;\r\n this.bindIndexBuffer(indexBuffer);\r\n this._uintIndicesCurrentlySet = indexBuffer.is32Bits;\r\n }\r\n }\r\n\r\n private _bindVertexBuffersAttributes(vertexBuffers: { [key: string]: Nullable }, effect: Effect): void {\r\n var attributes = effect.getAttributesNames();\r\n\r\n if (!this._vaoRecordInProgress) {\r\n this._unbindVertexArrayObject();\r\n }\r\n\r\n this.unbindAllAttributes();\r\n\r\n for (var index = 0; index < attributes.length; index++) {\r\n var order = effect.getAttributeLocation(index);\r\n\r\n if (order >= 0) {\r\n var vertexBuffer = vertexBuffers[attributes[index]];\r\n\r\n if (!vertexBuffer) {\r\n continue;\r\n }\r\n\r\n this._gl.enableVertexAttribArray(order);\r\n if (!this._vaoRecordInProgress) {\r\n this._vertexAttribArraysEnabled[order] = true;\r\n }\r\n\r\n var buffer = vertexBuffer.getBuffer();\r\n if (buffer) {\r\n this._vertexAttribPointer(buffer, order, vertexBuffer.getSize(), vertexBuffer.type, vertexBuffer.normalized, vertexBuffer.byteStride, vertexBuffer.byteOffset);\r\n\r\n if (vertexBuffer.getIsInstanced()) {\r\n this._gl.vertexAttribDivisor(order, vertexBuffer.getInstanceDivisor());\r\n if (!this._vaoRecordInProgress) {\r\n this._currentInstanceLocations.push(order);\r\n this._currentInstanceBuffers.push(buffer);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Records a vertex array object\r\n * @see https://doc.babylonjs.com/features/webgl2#vertex-array-objects\r\n * @param vertexBuffers defines the list of vertex buffers to store\r\n * @param indexBuffer defines the index buffer to store\r\n * @param effect defines the effect to store\r\n * @returns the new vertex array object\r\n */\r\n public recordVertexArrayObject(vertexBuffers: { [key: string]: VertexBuffer; }, indexBuffer: Nullable, effect: Effect): WebGLVertexArrayObject {\r\n var vao = this._gl.createVertexArray();\r\n\r\n this._vaoRecordInProgress = true;\r\n\r\n this._gl.bindVertexArray(vao);\r\n\r\n this._mustWipeVertexAttributes = true;\r\n this._bindVertexBuffersAttributes(vertexBuffers, effect);\r\n\r\n this.bindIndexBuffer(indexBuffer);\r\n\r\n this._vaoRecordInProgress = false;\r\n this._gl.bindVertexArray(null);\r\n\r\n return vao;\r\n }\r\n\r\n /**\r\n * Bind a specific vertex array object\r\n * @see https://doc.babylonjs.com/features/webgl2#vertex-array-objects\r\n * @param vertexArrayObject defines the vertex array object to bind\r\n * @param indexBuffer defines the index buffer to bind\r\n */\r\n public bindVertexArrayObject(vertexArrayObject: WebGLVertexArrayObject, indexBuffer: Nullable): void {\r\n if (this._cachedVertexArrayObject !== vertexArrayObject) {\r\n this._cachedVertexArrayObject = vertexArrayObject;\r\n\r\n this._gl.bindVertexArray(vertexArrayObject);\r\n this._cachedVertexBuffers = null;\r\n this._cachedIndexBuffer = null;\r\n\r\n this._uintIndicesCurrentlySet = indexBuffer != null && indexBuffer.is32Bits;\r\n this._mustWipeVertexAttributes = true;\r\n }\r\n }\r\n\r\n /**\r\n * Bind webGl buffers directly to the webGL context\r\n * @param vertexBuffer defines the vertex buffer to bind\r\n * @param indexBuffer defines the index buffer to bind\r\n * @param vertexDeclaration defines the vertex declaration to use with the vertex buffer\r\n * @param vertexStrideSize defines the vertex stride of the vertex buffer\r\n * @param effect defines the effect associated with the vertex buffer\r\n */\r\n public bindBuffersDirectly(vertexBuffer: DataBuffer, indexBuffer: DataBuffer, vertexDeclaration: number[], vertexStrideSize: number, effect: Effect): void {\r\n if (this._cachedVertexBuffers !== vertexBuffer || this._cachedEffectForVertexBuffers !== effect) {\r\n this._cachedVertexBuffers = vertexBuffer;\r\n this._cachedEffectForVertexBuffers = effect;\r\n\r\n let attributesCount = effect.getAttributesCount();\r\n\r\n this._unbindVertexArrayObject();\r\n this.unbindAllAttributes();\r\n\r\n var offset = 0;\r\n for (var index = 0; index < attributesCount; index++) {\r\n\r\n if (index < vertexDeclaration.length) {\r\n\r\n var order = effect.getAttributeLocation(index);\r\n\r\n if (order >= 0) {\r\n this._gl.enableVertexAttribArray(order);\r\n this._vertexAttribArraysEnabled[order] = true;\r\n this._vertexAttribPointer(vertexBuffer, order, vertexDeclaration[index], this._gl.FLOAT, false, vertexStrideSize, offset);\r\n }\r\n\r\n offset += vertexDeclaration[index] * 4;\r\n }\r\n }\r\n }\r\n\r\n this._bindIndexBufferWithCache(indexBuffer);\r\n }\r\n\r\n private _unbindVertexArrayObject(): void {\r\n if (!this._cachedVertexArrayObject) {\r\n return;\r\n }\r\n\r\n this._cachedVertexArrayObject = null;\r\n this._gl.bindVertexArray(null);\r\n }\r\n\r\n /**\r\n * Bind a list of vertex buffers to the webGL context\r\n * @param vertexBuffers defines the list of vertex buffers to bind\r\n * @param indexBuffer defines the index buffer to bind\r\n * @param effect defines the effect associated with the vertex buffers\r\n */\r\n public bindBuffers(vertexBuffers: { [key: string]: Nullable }, indexBuffer: Nullable, effect: Effect): void {\r\n if (this._cachedVertexBuffers !== vertexBuffers || this._cachedEffectForVertexBuffers !== effect) {\r\n this._cachedVertexBuffers = vertexBuffers;\r\n this._cachedEffectForVertexBuffers = effect;\r\n\r\n this._bindVertexBuffersAttributes(vertexBuffers, effect);\r\n }\r\n\r\n this._bindIndexBufferWithCache(indexBuffer);\r\n }\r\n\r\n /**\r\n * Unbind all instance attributes\r\n */\r\n public unbindInstanceAttributes() {\r\n var boundBuffer;\r\n for (var i = 0, ul = this._currentInstanceLocations.length; i < ul; i++) {\r\n var instancesBuffer = this._currentInstanceBuffers[i];\r\n if (boundBuffer != instancesBuffer && instancesBuffer.references) {\r\n boundBuffer = instancesBuffer;\r\n this.bindArrayBuffer(instancesBuffer);\r\n }\r\n var offsetLocation = this._currentInstanceLocations[i];\r\n this._gl.vertexAttribDivisor(offsetLocation, 0);\r\n }\r\n this._currentInstanceBuffers.length = 0;\r\n this._currentInstanceLocations.length = 0;\r\n }\r\n\r\n /**\r\n * Release and free the memory of a vertex array object\r\n * @param vao defines the vertex array object to delete\r\n */\r\n public releaseVertexArrayObject(vao: WebGLVertexArrayObject) {\r\n this._gl.deleteVertexArray(vao);\r\n }\r\n\r\n /** @hidden */\r\n public _releaseBuffer(buffer: DataBuffer): boolean {\r\n buffer.references--;\r\n\r\n if (buffer.references === 0) {\r\n this._deleteBuffer(buffer);\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n protected _deleteBuffer(buffer: DataBuffer): void {\r\n this._gl.deleteBuffer(buffer.underlyingResource);\r\n }\r\n\r\n /**\r\n * Update the content of a webGL buffer used with instanciation and bind it to the webGL context\r\n * @param instancesBuffer defines the webGL buffer to update and bind\r\n * @param data defines the data to store in the buffer\r\n * @param offsetLocations defines the offsets or attributes information used to determine where data must be stored in the buffer\r\n */\r\n public updateAndBindInstancesBuffer(instancesBuffer: DataBuffer, data: Float32Array, offsetLocations: number[] | InstancingAttributeInfo[]): void {\r\n this.bindArrayBuffer(instancesBuffer);\r\n if (data) {\r\n this._gl.bufferSubData(this._gl.ARRAY_BUFFER, 0, data);\r\n }\r\n\r\n if ((offsetLocations[0]).index !== undefined) {\r\n this.bindInstancesBuffer(instancesBuffer, offsetLocations as any, true);\r\n } else {\r\n for (let index = 0; index < 4; index++) {\r\n let offsetLocation = offsetLocations[index];\r\n\r\n if (!this._vertexAttribArraysEnabled[offsetLocation]) {\r\n this._gl.enableVertexAttribArray(offsetLocation);\r\n this._vertexAttribArraysEnabled[offsetLocation] = true;\r\n }\r\n\r\n this._vertexAttribPointer(instancesBuffer, offsetLocation, 4, this._gl.FLOAT, false, 64, index * 16);\r\n this._gl.vertexAttribDivisor(offsetLocation, 1);\r\n this._currentInstanceLocations.push(offsetLocation);\r\n this._currentInstanceBuffers.push(instancesBuffer);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Bind the content of a webGL buffer used with instantiation\r\n * @param instancesBuffer defines the webGL buffer to bind\r\n * @param attributesInfo defines the offsets or attributes information used to determine where data must be stored in the buffer\r\n * @param computeStride defines Whether to compute the strides from the info or use the default 0\r\n */\r\n public bindInstancesBuffer(instancesBuffer: DataBuffer, attributesInfo: InstancingAttributeInfo[], computeStride = true): void {\r\n this.bindArrayBuffer(instancesBuffer);\r\n\r\n let stride = 0;\r\n if (computeStride) {\r\n for (let i = 0; i < attributesInfo.length; i++) {\r\n let ai = attributesInfo[i];\r\n stride += ai.attributeSize * 4;\r\n }\r\n }\r\n\r\n for (let i = 0; i < attributesInfo.length; i++) {\r\n let ai = attributesInfo[i];\r\n if (ai.index === undefined) {\r\n ai.index = this._currentEffect!.getAttributeLocationByName(ai.attributeName);\r\n }\r\n\r\n if (ai.index < 0) {\r\n continue;\r\n }\r\n\r\n if (!this._vertexAttribArraysEnabled[ai.index]) {\r\n this._gl.enableVertexAttribArray(ai.index);\r\n this._vertexAttribArraysEnabled[ai.index] = true;\r\n }\r\n\r\n this._vertexAttribPointer(instancesBuffer, ai.index, ai.attributeSize, ai.attributeType || this._gl.FLOAT, ai.normalized || false, stride, ai.offset);\r\n this._gl.vertexAttribDivisor(ai.index, ai.divisor === undefined ? 1 : ai.divisor);\r\n this._currentInstanceLocations.push(ai.index);\r\n this._currentInstanceBuffers.push(instancesBuffer);\r\n }\r\n }\r\n\r\n /**\r\n * Disable the instance attribute corresponding to the name in parameter\r\n * @param name defines the name of the attribute to disable\r\n */\r\n public disableInstanceAttributeByName(name: string) {\r\n if (!this._currentEffect) {\r\n return;\r\n }\r\n\r\n const attributeLocation = this._currentEffect.getAttributeLocationByName(name);\r\n this.disableInstanceAttribute(attributeLocation);\r\n }\r\n\r\n /**\r\n * Disable the instance attribute corresponding to the location in parameter\r\n * @param attributeLocation defines the attribute location of the attribute to disable\r\n */\r\n public disableInstanceAttribute(attributeLocation: number) {\r\n let shouldClean = false;\r\n let index: number;\r\n while ((index = this._currentInstanceLocations.indexOf(attributeLocation)) !== -1) {\r\n this._currentInstanceLocations.splice(index, 1);\r\n this._currentInstanceBuffers.splice(index, 1);\r\n\r\n shouldClean = true;\r\n index = this._currentInstanceLocations.indexOf(attributeLocation);\r\n }\r\n\r\n if (shouldClean) {\r\n this._gl.vertexAttribDivisor(attributeLocation, 0);\r\n this.disableAttributeByIndex(attributeLocation);\r\n }\r\n }\r\n\r\n /**\r\n * Disable the attribute corresponding to the location in parameter\r\n * @param attributeLocation defines the attribute location of the attribute to disable\r\n */\r\n public disableAttributeByIndex(attributeLocation: number) {\r\n this._gl.disableVertexAttribArray(attributeLocation);\r\n this._vertexAttribArraysEnabled[attributeLocation] = false;\r\n this._currentBufferPointers[attributeLocation].active = false;\r\n }\r\n\r\n /**\r\n * Send a draw order\r\n * @param useTriangles defines if triangles must be used to draw (else wireframe will be used)\r\n * @param indexStart defines the starting index\r\n * @param indexCount defines the number of index to draw\r\n * @param instancesCount defines the number of instances to draw (if instanciation is enabled)\r\n */\r\n public draw(useTriangles: boolean, indexStart: number, indexCount: number, instancesCount?: number): void {\r\n this.drawElementsType(useTriangles ? 0 : 1, indexStart, indexCount, instancesCount);\r\n }\r\n\r\n /**\r\n * Draw a list of points\r\n * @param verticesStart defines the index of first vertex to draw\r\n * @param verticesCount defines the count of vertices to draw\r\n * @param instancesCount defines the number of instances to draw (if instanciation is enabled)\r\n */\r\n public drawPointClouds(verticesStart: number, verticesCount: number, instancesCount?: number): void {\r\n this.drawArraysType(2, verticesStart, verticesCount, instancesCount);\r\n }\r\n\r\n /**\r\n * Draw a list of unindexed primitives\r\n * @param useTriangles defines if triangles must be used to draw (else wireframe will be used)\r\n * @param verticesStart defines the index of first vertex to draw\r\n * @param verticesCount defines the count of vertices to draw\r\n * @param instancesCount defines the number of instances to draw (if instanciation is enabled)\r\n */\r\n public drawUnIndexed(useTriangles: boolean, verticesStart: number, verticesCount: number, instancesCount?: number): void {\r\n this.drawArraysType(useTriangles ? 0 : 1, verticesStart, verticesCount, instancesCount);\r\n }\r\n\r\n /**\r\n * Draw a list of indexed primitives\r\n * @param fillMode defines the primitive to use\r\n * @param indexStart defines the starting index\r\n * @param indexCount defines the number of index to draw\r\n * @param instancesCount defines the number of instances to draw (if instanciation is enabled)\r\n */\r\n public drawElementsType(fillMode: number, indexStart: number, indexCount: number, instancesCount?: number): void {\r\n // Apply states\r\n this.applyStates();\r\n\r\n this._reportDrawCall();\r\n\r\n // Render\r\n\r\n const drawMode = this._drawMode(fillMode);\r\n var indexFormat = this._uintIndicesCurrentlySet ? this._gl.UNSIGNED_INT : this._gl.UNSIGNED_SHORT;\r\n var mult = this._uintIndicesCurrentlySet ? 4 : 2;\r\n if (instancesCount) {\r\n this._gl.drawElementsInstanced(drawMode, indexCount, indexFormat, indexStart * mult, instancesCount);\r\n } else {\r\n this._gl.drawElements(drawMode, indexCount, indexFormat, indexStart * mult);\r\n }\r\n }\r\n\r\n /**\r\n * Draw a list of unindexed primitives\r\n * @param fillMode defines the primitive to use\r\n * @param verticesStart defines the index of first vertex to draw\r\n * @param verticesCount defines the count of vertices to draw\r\n * @param instancesCount defines the number of instances to draw (if instanciation is enabled)\r\n */\r\n public drawArraysType(fillMode: number, verticesStart: number, verticesCount: number, instancesCount?: number): void {\r\n // Apply states\r\n this.applyStates();\r\n\r\n this._reportDrawCall();\r\n\r\n const drawMode = this._drawMode(fillMode);\r\n if (instancesCount) {\r\n this._gl.drawArraysInstanced(drawMode, verticesStart, verticesCount, instancesCount);\r\n } else {\r\n this._gl.drawArrays(drawMode, verticesStart, verticesCount);\r\n }\r\n }\r\n\r\n private _drawMode(fillMode: number): number {\r\n switch (fillMode) {\r\n // Triangle views\r\n case 0:\r\n return this._gl.TRIANGLES;\r\n case 2:\r\n return this._gl.POINTS;\r\n case 1:\r\n return this._gl.LINES;\r\n // Draw modes\r\n case 3:\r\n return this._gl.POINTS;\r\n case 4:\r\n return this._gl.LINES;\r\n case 5:\r\n return this._gl.LINE_LOOP;\r\n case 6:\r\n return this._gl.LINE_STRIP;\r\n case 7:\r\n return this._gl.TRIANGLE_STRIP;\r\n case 8:\r\n return this._gl.TRIANGLE_FAN;\r\n default:\r\n return this._gl.TRIANGLES;\r\n }\r\n }\r\n\r\n /** @hidden */\r\n protected _reportDrawCall() {\r\n // Will be implemented by children\r\n }\r\n\r\n // Shaders\r\n\r\n /** @hidden */\r\n public _releaseEffect(effect: Effect): void {\r\n if (this._compiledEffects[effect._key]) {\r\n delete this._compiledEffects[effect._key];\r\n\r\n this._deletePipelineContext(effect.getPipelineContext() as WebGLPipelineContext);\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _deletePipelineContext(pipelineContext: IPipelineContext): void {\r\n let webGLPipelineContext = pipelineContext as WebGLPipelineContext;\r\n if (webGLPipelineContext && webGLPipelineContext.program) {\r\n webGLPipelineContext.program.__SPECTOR_rebuildProgram = null;\r\n\r\n this._gl.deleteProgram(webGLPipelineContext.program);\r\n }\r\n }\r\n\r\n /**\r\n * Create a new effect (used to store vertex/fragment shaders)\r\n * @param baseName defines the base name of the effect (The name of file without .fragment.fx or .vertex.fx)\r\n * @param attributesNamesOrOptions defines either a list of attribute names or an IEffectCreationOptions object\r\n * @param uniformsNamesOrEngine defines either a list of uniform names or the engine to use\r\n * @param samplers defines an array of string used to represent textures\r\n * @param defines defines the string containing the defines to use to compile the shaders\r\n * @param fallbacks defines the list of potential fallbacks to use if shader conmpilation fails\r\n * @param onCompiled defines a function to call when the effect creation is successful\r\n * @param onError defines a function to call when the effect creation has failed\r\n * @param indexParameters defines an object containing the index values to use to compile shaders (like the maximum number of simultaneous lights)\r\n * @returns the new Effect\r\n */\r\n public createEffect(baseName: any, attributesNamesOrOptions: string[] | IEffectCreationOptions, uniformsNamesOrEngine: string[] | ThinEngine, samplers?: string[], defines?: string,\r\n fallbacks?: IEffectFallbacks,\r\n onCompiled?: Nullable<(effect: Effect) => void>, onError?: Nullable<(effect: Effect, errors: string) => void>, indexParameters?: any): Effect {\r\n var vertex = baseName.vertexElement || baseName.vertex || baseName.vertexToken || baseName.vertexSource || baseName;\r\n var fragment = baseName.fragmentElement || baseName.fragment || baseName.fragmentToken || baseName.fragmentSource || baseName;\r\n\r\n var name = vertex + \"+\" + fragment + \"@\" + (defines ? defines : (attributesNamesOrOptions).defines);\r\n if (this._compiledEffects[name]) {\r\n var compiledEffect = this._compiledEffects[name];\r\n if (onCompiled && compiledEffect.isReady()) {\r\n onCompiled(compiledEffect);\r\n }\r\n\r\n return compiledEffect;\r\n }\r\n var effect = new Effect(baseName, attributesNamesOrOptions, uniformsNamesOrEngine, samplers, this, defines, fallbacks, onCompiled, onError, indexParameters);\r\n effect._key = name;\r\n this._compiledEffects[name] = effect;\r\n\r\n return effect;\r\n }\r\n\r\n protected static _ConcatenateShader(source: string, defines: Nullable, shaderVersion: string = \"\"): string {\r\n return shaderVersion + (defines ? defines + \"\\n\" : \"\") + source;\r\n }\r\n\r\n private _compileShader(source: string, type: string, defines: Nullable, shaderVersion: string): WebGLShader {\r\n return this._compileRawShader(ThinEngine._ConcatenateShader(source, defines, shaderVersion), type);\r\n }\r\n\r\n private _compileRawShader(source: string, type: string): WebGLShader {\r\n var gl = this._gl;\r\n var shader = gl.createShader(type === \"vertex\" ? gl.VERTEX_SHADER : gl.FRAGMENT_SHADER);\r\n\r\n if (!shader) {\r\n throw new Error(\"Something went wrong while compile the shader.\");\r\n }\r\n\r\n gl.shaderSource(shader, source);\r\n gl.compileShader(shader);\r\n\r\n return shader;\r\n }\r\n\r\n /** @hidden */\r\n public _getShaderSource(shader: WebGLShader): Nullable {\r\n return this._gl.getShaderSource(shader);\r\n }\r\n\r\n /**\r\n * Directly creates a webGL program\r\n * @param pipelineContext defines the pipeline context to attach to\r\n * @param vertexCode defines the vertex shader code to use\r\n * @param fragmentCode defines the fragment shader code to use\r\n * @param context defines the webGL context to use (if not set, the current one will be used)\r\n * @param transformFeedbackVaryings defines the list of transform feedback varyings to use\r\n * @returns the new webGL program\r\n */\r\n public createRawShaderProgram(pipelineContext: IPipelineContext, vertexCode: string, fragmentCode: string, context?: WebGLRenderingContext, transformFeedbackVaryings: Nullable = null): WebGLProgram {\r\n context = context || this._gl;\r\n\r\n var vertexShader = this._compileRawShader(vertexCode, \"vertex\");\r\n var fragmentShader = this._compileRawShader(fragmentCode, \"fragment\");\r\n\r\n return this._createShaderProgram(pipelineContext as WebGLPipelineContext, vertexShader, fragmentShader, context, transformFeedbackVaryings);\r\n }\r\n\r\n /**\r\n * Creates a webGL program\r\n * @param pipelineContext defines the pipeline context to attach to\r\n * @param vertexCode defines the vertex shader code to use\r\n * @param fragmentCode defines the fragment shader code to use\r\n * @param defines defines the string containing the defines to use to compile the shaders\r\n * @param context defines the webGL context to use (if not set, the current one will be used)\r\n * @param transformFeedbackVaryings defines the list of transform feedback varyings to use\r\n * @returns the new webGL program\r\n */\r\n public createShaderProgram(pipelineContext: IPipelineContext, vertexCode: string, fragmentCode: string, defines: Nullable, context?: WebGLRenderingContext, transformFeedbackVaryings: Nullable = null): WebGLProgram {\r\n context = context || this._gl;\r\n\r\n var shaderVersion = (this._webGLVersion > 1) ? \"#version 300 es\\n#define WEBGL2 \\n\" : \"\";\r\n var vertexShader = this._compileShader(vertexCode, \"vertex\", defines, shaderVersion);\r\n var fragmentShader = this._compileShader(fragmentCode, \"fragment\", defines, shaderVersion);\r\n\r\n return this._createShaderProgram(pipelineContext as WebGLPipelineContext, vertexShader, fragmentShader, context, transformFeedbackVaryings);\r\n }\r\n\r\n /**\r\n * Creates a new pipeline context\r\n * @returns the new pipeline\r\n */\r\n public createPipelineContext(): IPipelineContext {\r\n var pipelineContext = new WebGLPipelineContext();\r\n pipelineContext.engine = this;\r\n\r\n if (this._caps.parallelShaderCompile) {\r\n pipelineContext.isParallelCompiled = true;\r\n }\r\n\r\n return pipelineContext;\r\n }\r\n\r\n protected _createShaderProgram(pipelineContext: WebGLPipelineContext, vertexShader: WebGLShader, fragmentShader: WebGLShader, context: WebGLRenderingContext, transformFeedbackVaryings: Nullable = null): WebGLProgram {\r\n var shaderProgram = context.createProgram();\r\n pipelineContext.program = shaderProgram;\r\n\r\n if (!shaderProgram) {\r\n throw new Error(\"Unable to create program\");\r\n }\r\n\r\n context.attachShader(shaderProgram, vertexShader);\r\n context.attachShader(shaderProgram, fragmentShader);\r\n\r\n context.linkProgram(shaderProgram);\r\n\r\n pipelineContext.context = context;\r\n pipelineContext.vertexShader = vertexShader;\r\n pipelineContext.fragmentShader = fragmentShader;\r\n\r\n if (!pipelineContext.isParallelCompiled) {\r\n this._finalizePipelineContext(pipelineContext);\r\n }\r\n\r\n return shaderProgram;\r\n }\r\n\r\n protected _finalizePipelineContext(pipelineContext: WebGLPipelineContext) {\r\n const context = pipelineContext.context!;\r\n const vertexShader = pipelineContext.vertexShader!;\r\n const fragmentShader = pipelineContext.fragmentShader!;\r\n const program = pipelineContext.program!;\r\n\r\n var linked = context.getProgramParameter(program, context.LINK_STATUS);\r\n if (!linked) { // Get more info\r\n // Vertex\r\n if (!this._gl.getShaderParameter(vertexShader, this._gl.COMPILE_STATUS)) {\r\n const log = this._gl.getShaderInfoLog(vertexShader);\r\n if (log) {\r\n pipelineContext.vertexCompilationError = log;\r\n throw new Error(\"VERTEX SHADER \" + log);\r\n }\r\n }\r\n\r\n // Fragment\r\n if (!this._gl.getShaderParameter(fragmentShader, this._gl.COMPILE_STATUS)) {\r\n const log = this._gl.getShaderInfoLog(fragmentShader);\r\n if (log) {\r\n pipelineContext.fragmentCompilationError = log;\r\n throw new Error(\"FRAGMENT SHADER \" + log);\r\n }\r\n }\r\n\r\n var error = context.getProgramInfoLog(program);\r\n if (error) {\r\n pipelineContext.programLinkError = error;\r\n throw new Error(error);\r\n }\r\n }\r\n\r\n if (this.validateShaderPrograms) {\r\n context.validateProgram(program);\r\n var validated = context.getProgramParameter(program, context.VALIDATE_STATUS);\r\n\r\n if (!validated) {\r\n var error = context.getProgramInfoLog(program);\r\n if (error) {\r\n pipelineContext.programValidationError = error;\r\n throw new Error(error);\r\n }\r\n }\r\n }\r\n\r\n context.deleteShader(vertexShader);\r\n context.deleteShader(fragmentShader);\r\n\r\n pipelineContext.vertexShader = undefined;\r\n pipelineContext.fragmentShader = undefined;\r\n\r\n if (pipelineContext.onCompiled) {\r\n pipelineContext.onCompiled();\r\n pipelineContext.onCompiled = undefined;\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _preparePipelineContext(pipelineContext: IPipelineContext, vertexSourceCode: string, fragmentSourceCode: string, createAsRaw: boolean,\r\n rebuildRebind: any,\r\n defines: Nullable,\r\n transformFeedbackVaryings: Nullable) {\r\n let webGLRenderingState = pipelineContext as WebGLPipelineContext;\r\n\r\n if (createAsRaw) {\r\n webGLRenderingState.program = this.createRawShaderProgram(webGLRenderingState, vertexSourceCode, fragmentSourceCode, undefined, transformFeedbackVaryings);\r\n }\r\n else {\r\n webGLRenderingState.program = this.createShaderProgram(webGLRenderingState, vertexSourceCode, fragmentSourceCode, defines, undefined, transformFeedbackVaryings);\r\n }\r\n webGLRenderingState.program.__SPECTOR_rebuildProgram = rebuildRebind;\r\n }\r\n\r\n /** @hidden */\r\n public _isRenderingStateCompiled(pipelineContext: IPipelineContext): boolean {\r\n let webGLPipelineContext = pipelineContext as WebGLPipelineContext;\r\n if (this._gl.getProgramParameter(webGLPipelineContext.program!, this._caps.parallelShaderCompile!.COMPLETION_STATUS_KHR)) {\r\n this._finalizePipelineContext(webGLPipelineContext);\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /** @hidden */\r\n public _executeWhenRenderingStateIsCompiled(pipelineContext: IPipelineContext, action: () => void) {\r\n let webGLPipelineContext = pipelineContext as WebGLPipelineContext;\r\n\r\n if (!webGLPipelineContext.isParallelCompiled) {\r\n action();\r\n return;\r\n }\r\n\r\n let oldHandler = webGLPipelineContext.onCompiled;\r\n\r\n if (oldHandler) {\r\n webGLPipelineContext.onCompiled = () => {\r\n oldHandler!();\r\n action();\r\n };\r\n } else {\r\n webGLPipelineContext.onCompiled = action;\r\n }\r\n }\r\n\r\n /**\r\n * Gets the list of webGL uniform locations associated with a specific program based on a list of uniform names\r\n * @param pipelineContext defines the pipeline context to use\r\n * @param uniformsNames defines the list of uniform names\r\n * @returns an array of webGL uniform locations\r\n */\r\n public getUniforms(pipelineContext: IPipelineContext, uniformsNames: string[]): Nullable[] {\r\n var results = new Array>();\r\n let webGLPipelineContext = pipelineContext as WebGLPipelineContext;\r\n\r\n for (var index = 0; index < uniformsNames.length; index++) {\r\n results.push(this._gl.getUniformLocation(webGLPipelineContext.program!, uniformsNames[index]));\r\n }\r\n\r\n return results;\r\n }\r\n\r\n /**\r\n * Gets the lsit of active attributes for a given webGL program\r\n * @param pipelineContext defines the pipeline context to use\r\n * @param attributesNames defines the list of attribute names to get\r\n * @returns an array of indices indicating the offset of each attribute\r\n */\r\n public getAttributes(pipelineContext: IPipelineContext, attributesNames: string[]): number[] {\r\n var results = [];\r\n let webGLPipelineContext = pipelineContext as WebGLPipelineContext;\r\n\r\n for (var index = 0; index < attributesNames.length; index++) {\r\n try {\r\n results.push(this._gl.getAttribLocation(webGLPipelineContext.program!, attributesNames[index]));\r\n } catch (e) {\r\n results.push(-1);\r\n }\r\n }\r\n\r\n return results;\r\n }\r\n\r\n /**\r\n * Activates an effect, mkaing it the current one (ie. the one used for rendering)\r\n * @param effect defines the effect to activate\r\n */\r\n public enableEffect(effect: Nullable): void {\r\n if (!effect || effect === this._currentEffect) {\r\n return;\r\n }\r\n\r\n // Use program\r\n this.bindSamplers(effect);\r\n\r\n this._currentEffect = effect;\r\n\r\n if (effect.onBind) {\r\n effect.onBind(effect);\r\n }\r\n if (effect._onBindObservable) {\r\n effect._onBindObservable.notifyObservers(effect);\r\n }\r\n }\r\n\r\n /**\r\n * Set the value of an uniform to a number (int)\r\n * @param uniform defines the webGL uniform location where to store the value\r\n * @param value defines the int number to store\r\n * @returns true if the value was set\r\n */\r\n public setInt(uniform: Nullable, value: number): boolean {\r\n if (!uniform) {\r\n return false;\r\n }\r\n\r\n this._gl.uniform1i(uniform, value);\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Set the value of an uniform to an array of int32\r\n * @param uniform defines the webGL uniform location where to store the value\r\n * @param array defines the array of int32 to store\r\n * @returns true if the value was set\r\n */\r\n public setIntArray(uniform: Nullable, array: Int32Array): boolean {\r\n if (!uniform) {\r\n return false;\r\n }\r\n\r\n this._gl.uniform1iv(uniform, array);\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Set the value of an uniform to an array of int32 (stored as vec2)\r\n * @param uniform defines the webGL uniform location where to store the value\r\n * @param array defines the array of int32 to store\r\n * @returns true if the value was set\r\n */\r\n public setIntArray2(uniform: Nullable, array: Int32Array): boolean {\r\n if (!uniform || array.length % 2 !== 0) {\r\n return false;\r\n }\r\n\r\n this._gl.uniform2iv(uniform, array);\r\n return true;\r\n }\r\n\r\n /**\r\n * Set the value of an uniform to an array of int32 (stored as vec3)\r\n * @param uniform defines the webGL uniform location where to store the value\r\n * @param array defines the array of int32 to store\r\n * @returns true if the value was set\r\n */\r\n public setIntArray3(uniform: Nullable, array: Int32Array): boolean {\r\n if (!uniform || array.length % 3 !== 0) {\r\n return false;\r\n }\r\n\r\n this._gl.uniform3iv(uniform, array);\r\n return true;\r\n }\r\n\r\n /**\r\n * Set the value of an uniform to an array of int32 (stored as vec4)\r\n * @param uniform defines the webGL uniform location where to store the value\r\n * @param array defines the array of int32 to store\r\n * @returns true if the value was set\r\n */\r\n public setIntArray4(uniform: Nullable, array: Int32Array): boolean {\r\n if (!uniform || array.length % 4 !== 0) {\r\n return false;\r\n }\r\n\r\n this._gl.uniform4iv(uniform, array);\r\n return true;\r\n }\r\n\r\n /**\r\n * Set the value of an uniform to an array of number\r\n * @param uniform defines the webGL uniform location where to store the value\r\n * @param array defines the array of number to store\r\n * @returns true if the value was set\r\n */\r\n public setArray(uniform: Nullable, array: number[] | Float32Array): boolean {\r\n if (!uniform) {\r\n return false;\r\n }\r\n\r\n this._gl.uniform1fv(uniform, array);\r\n return true;\r\n }\r\n\r\n /**\r\n * Set the value of an uniform to an array of number (stored as vec2)\r\n * @param uniform defines the webGL uniform location where to store the value\r\n * @param array defines the array of number to store\r\n * @returns true if the value was set\r\n */\r\n public setArray2(uniform: Nullable, array: number[] | Float32Array): boolean {\r\n if (!uniform || array.length % 2 !== 0) {\r\n return false;\r\n }\r\n\r\n this._gl.uniform2fv(uniform, array);\r\n return true;\r\n }\r\n\r\n /**\r\n * Set the value of an uniform to an array of number (stored as vec3)\r\n * @param uniform defines the webGL uniform location where to store the value\r\n * @param array defines the array of number to store\r\n * @returns true if the value was set\r\n */\r\n public setArray3(uniform: Nullable, array: number[] | Float32Array): boolean {\r\n if (!uniform || array.length % 3 !== 0) {\r\n return false;\r\n }\r\n\r\n this._gl.uniform3fv(uniform, array);\r\n return true;\r\n }\r\n\r\n /**\r\n * Set the value of an uniform to an array of number (stored as vec4)\r\n * @param uniform defines the webGL uniform location where to store the value\r\n * @param array defines the array of number to store\r\n * @returns true if the value was set\r\n */\r\n public setArray4(uniform: Nullable, array: number[] | Float32Array): boolean {\r\n if (!uniform || array.length % 4 !== 0) {\r\n return false;\r\n }\r\n\r\n this._gl.uniform4fv(uniform, array);\r\n return true;\r\n }\r\n\r\n /**\r\n * Set the value of an uniform to an array of float32 (stored as matrices)\r\n * @param uniform defines the webGL uniform location where to store the value\r\n * @param matrices defines the array of float32 to store\r\n * @returns true if the value was set\r\n */\r\n public setMatrices(uniform: Nullable, matrices: Float32Array): boolean {\r\n if (!uniform) {\r\n return false;\r\n }\r\n\r\n this._gl.uniformMatrix4fv(uniform, false, matrices);\r\n return true;\r\n }\r\n\r\n /**\r\n * Set the value of an uniform to a matrix (3x3)\r\n * @param uniform defines the webGL uniform location where to store the value\r\n * @param matrix defines the Float32Array representing the 3x3 matrix to store\r\n * @returns true if the value was set\r\n */\r\n public setMatrix3x3(uniform: Nullable, matrix: Float32Array): boolean {\r\n if (!uniform) {\r\n return false;\r\n }\r\n\r\n this._gl.uniformMatrix3fv(uniform, false, matrix);\r\n return true;\r\n }\r\n\r\n /**\r\n * Set the value of an uniform to a matrix (2x2)\r\n * @param uniform defines the webGL uniform location where to store the value\r\n * @param matrix defines the Float32Array representing the 2x2 matrix to store\r\n * @returns true if the value was set\r\n */\r\n public setMatrix2x2(uniform: Nullable, matrix: Float32Array): boolean {\r\n if (!uniform) {\r\n return false;\r\n }\r\n\r\n this._gl.uniformMatrix2fv(uniform, false, matrix);\r\n return true;\r\n }\r\n\r\n /**\r\n * Set the value of an uniform to a number (float)\r\n * @param uniform defines the webGL uniform location where to store the value\r\n * @param value defines the float number to store\r\n * @returns true if the value was transfered\r\n */\r\n public setFloat(uniform: Nullable, value: number): boolean {\r\n if (!uniform) {\r\n return false;\r\n }\r\n\r\n this._gl.uniform1f(uniform, value);\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Set the value of an uniform to a vec2\r\n * @param uniform defines the webGL uniform location where to store the value\r\n * @param x defines the 1st component of the value\r\n * @param y defines the 2nd component of the value\r\n * @returns true if the value was set\r\n */\r\n public setFloat2(uniform: Nullable, x: number, y: number): boolean {\r\n if (!uniform) {\r\n return false;\r\n }\r\n\r\n this._gl.uniform2f(uniform, x, y);\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Set the value of an uniform to a vec3\r\n * @param uniform defines the webGL uniform location where to store the value\r\n * @param x defines the 1st component of the value\r\n * @param y defines the 2nd component of the value\r\n * @param z defines the 3rd component of the value\r\n * @returns true if the value was set\r\n */\r\n public setFloat3(uniform: Nullable, x: number, y: number, z: number): boolean {\r\n if (!uniform) {\r\n return false;\r\n }\r\n\r\n this._gl.uniform3f(uniform, x, y, z);\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Set the value of an uniform to a vec4\r\n * @param uniform defines the webGL uniform location where to store the value\r\n * @param x defines the 1st component of the value\r\n * @param y defines the 2nd component of the value\r\n * @param z defines the 3rd component of the value\r\n * @param w defines the 4th component of the value\r\n * @returns true if the value was set\r\n */\r\n public setFloat4(uniform: Nullable, x: number, y: number, z: number, w: number): boolean {\r\n if (!uniform) {\r\n return false;\r\n }\r\n\r\n this._gl.uniform4f(uniform, x, y, z, w);\r\n\r\n return true;\r\n }\r\n\r\n // States\r\n\r\n /**\r\n * Apply all cached states (depth, culling, stencil and alpha)\r\n */\r\n public applyStates() {\r\n this._depthCullingState.apply(this._gl);\r\n this._stencilState.apply(this._gl);\r\n this._alphaState.apply(this._gl);\r\n\r\n if (this._colorWriteChanged) {\r\n this._colorWriteChanged = false;\r\n const enable = this._colorWrite;\r\n this._gl.colorMask(enable, enable, enable, enable);\r\n }\r\n }\r\n\r\n /**\r\n * Enable or disable color writing\r\n * @param enable defines the state to set\r\n */\r\n public setColorWrite(enable: boolean): void {\r\n if (enable !== this._colorWrite) {\r\n this._colorWriteChanged = true;\r\n this._colorWrite = enable;\r\n }\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if color writing is enabled\r\n * @returns the current color writing state\r\n */\r\n public getColorWrite(): boolean {\r\n return this._colorWrite;\r\n }\r\n\r\n /**\r\n * Gets the depth culling state manager\r\n */\r\n public get depthCullingState(): DepthCullingState {\r\n return this._depthCullingState;\r\n }\r\n\r\n /**\r\n * Gets the alpha state manager\r\n */\r\n public get alphaState(): AlphaState {\r\n return this._alphaState;\r\n }\r\n\r\n /**\r\n * Gets the stencil state manager\r\n */\r\n public get stencilState(): StencilState {\r\n return this._stencilState;\r\n }\r\n\r\n // Textures\r\n\r\n /**\r\n * Clears the list of texture accessible through engine.\r\n * This can help preventing texture load conflict due to name collision.\r\n */\r\n public clearInternalTexturesCache() {\r\n this._internalTexturesCache = [];\r\n }\r\n\r\n /**\r\n * Force the entire cache to be cleared\r\n * You should not have to use this function unless your engine needs to share the webGL context with another engine\r\n * @param bruteForce defines a boolean to force clearing ALL caches (including stencil, detoh and alpha states)\r\n */\r\n public wipeCaches(bruteForce?: boolean): void {\r\n if (this.preventCacheWipeBetweenFrames && !bruteForce) {\r\n return;\r\n }\r\n this._currentEffect = null;\r\n this._viewportCached.x = 0;\r\n this._viewportCached.y = 0;\r\n this._viewportCached.z = 0;\r\n this._viewportCached.w = 0;\r\n\r\n // Done before in case we clean the attributes\r\n this._unbindVertexArrayObject();\r\n\r\n if (bruteForce) {\r\n this._currentProgram = null;\r\n this.resetTextureCache();\r\n\r\n this._stencilState.reset();\r\n\r\n this._depthCullingState.reset();\r\n this._depthCullingState.depthFunc = this._gl.LEQUAL;\r\n\r\n this._alphaState.reset();\r\n this._alphaMode = 1;\r\n this._alphaEquation = 0;\r\n\r\n this._colorWrite = true;\r\n this._colorWriteChanged = true;\r\n\r\n this._unpackFlipYCached = null;\r\n\r\n this._gl.pixelStorei(this._gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, this._gl.NONE);\r\n this._gl.pixelStorei(this._gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 0);\r\n\r\n this._mustWipeVertexAttributes = true;\r\n this.unbindAllAttributes();\r\n }\r\n\r\n this._resetVertexBufferBinding();\r\n this._cachedIndexBuffer = null;\r\n this._cachedEffectForVertexBuffers = null;\r\n this.bindIndexBuffer(null);\r\n }\r\n\r\n /** @hidden */\r\n public _getSamplingParameters(samplingMode: number, generateMipMaps: boolean): { min: number; mag: number } {\r\n var gl = this._gl;\r\n var magFilter = gl.NEAREST;\r\n var minFilter = gl.NEAREST;\r\n\r\n switch (samplingMode) {\r\n case 11:\r\n magFilter = gl.LINEAR;\r\n if (generateMipMaps) {\r\n minFilter = gl.LINEAR_MIPMAP_NEAREST;\r\n } else {\r\n minFilter = gl.LINEAR;\r\n }\r\n break;\r\n case 3:\r\n magFilter = gl.LINEAR;\r\n if (generateMipMaps) {\r\n minFilter = gl.LINEAR_MIPMAP_LINEAR;\r\n } else {\r\n minFilter = gl.LINEAR;\r\n }\r\n break;\r\n case 8:\r\n magFilter = gl.NEAREST;\r\n if (generateMipMaps) {\r\n minFilter = gl.NEAREST_MIPMAP_LINEAR;\r\n } else {\r\n minFilter = gl.NEAREST;\r\n }\r\n break;\r\n case 4:\r\n magFilter = gl.NEAREST;\r\n if (generateMipMaps) {\r\n minFilter = gl.NEAREST_MIPMAP_NEAREST;\r\n } else {\r\n minFilter = gl.NEAREST;\r\n }\r\n break;\r\n case 5:\r\n magFilter = gl.NEAREST;\r\n if (generateMipMaps) {\r\n minFilter = gl.LINEAR_MIPMAP_NEAREST;\r\n } else {\r\n minFilter = gl.LINEAR;\r\n }\r\n break;\r\n case 6:\r\n magFilter = gl.NEAREST;\r\n if (generateMipMaps) {\r\n minFilter = gl.LINEAR_MIPMAP_LINEAR;\r\n } else {\r\n minFilter = gl.LINEAR;\r\n }\r\n break;\r\n case 7:\r\n magFilter = gl.NEAREST;\r\n minFilter = gl.LINEAR;\r\n break;\r\n case 1:\r\n magFilter = gl.NEAREST;\r\n minFilter = gl.NEAREST;\r\n break;\r\n case 9:\r\n magFilter = gl.LINEAR;\r\n if (generateMipMaps) {\r\n minFilter = gl.NEAREST_MIPMAP_NEAREST;\r\n } else {\r\n minFilter = gl.NEAREST;\r\n }\r\n break;\r\n case 10:\r\n magFilter = gl.LINEAR;\r\n if (generateMipMaps) {\r\n minFilter = gl.NEAREST_MIPMAP_LINEAR;\r\n } else {\r\n minFilter = gl.NEAREST;\r\n }\r\n break;\r\n case 2:\r\n magFilter = gl.LINEAR;\r\n minFilter = gl.LINEAR;\r\n break;\r\n case 12:\r\n magFilter = gl.LINEAR;\r\n minFilter = gl.NEAREST;\r\n break;\r\n }\r\n\r\n return {\r\n min: minFilter,\r\n mag: magFilter\r\n };\r\n }\r\n\r\n /** @hidden */\r\n public _createTexture(): WebGLTexture {\r\n let texture = this._gl.createTexture();\r\n\r\n if (!texture) {\r\n throw new Error(\"Unable to create texture\");\r\n }\r\n\r\n return texture;\r\n }\r\n\r\n /**\r\n * Usually called from Texture.ts.\r\n * Passed information to create a WebGLTexture\r\n * @param url defines a value which contains one of the following:\r\n * * A conventional http URL, e.g. 'http://...' or 'file://...'\r\n * * A base64 string of in-line texture data, e.g. 'data:image/jpg;base64,/...'\r\n * * An indicator that data being passed using the buffer parameter, e.g. 'data:mytexture.jpg'\r\n * @param noMipmap defines a boolean indicating that no mipmaps shall be generated. Ignored for compressed textures. They must be in the file\r\n * @param invertY when true, image is flipped when loaded. You probably want true. Certain compressed textures may invert this if their default is inverted (eg. ktx)\r\n * @param scene needed for loading to the correct scene\r\n * @param samplingMode mode with should be used sample / access the texture (Default: Texture.TRILINEAR_SAMPLINGMODE)\r\n * @param onLoad optional callback to be called upon successful completion\r\n * @param onError optional callback to be called upon failure\r\n * @param buffer a source of a file previously fetched as either a base64 string, an ArrayBuffer (compressed or image format), HTMLImageElement (image format), or a Blob\r\n * @param fallback an internal argument in case the function must be called again, due to etc1 not having alpha capabilities\r\n * @param format internal format. Default: RGB when extension is '.jpg' else RGBA. Ignored for compressed textures\r\n * @param forcedExtension defines the extension to use to pick the right loader\r\n * @param mimeType defines an optional mime type\r\n * @param loaderOptions options to be passed to the loader\r\n * @returns a InternalTexture for assignment back into BABYLON.Texture\r\n */\r\n public createTexture(url: Nullable, noMipmap: boolean, invertY: boolean, scene: Nullable, samplingMode: number = 3,\r\n onLoad: Nullable<() => void> = null, onError: Nullable<(message: string, exception: any) => void> = null,\r\n buffer: Nullable = null, fallback: Nullable = null, format: Nullable = null,\r\n forcedExtension: Nullable = null, mimeType?: string, loaderOptions?: any): InternalTexture {\r\n url = url || \"\";\r\n const fromData = url.substr(0, 5) === \"data:\";\r\n const fromBlob = url.substr(0, 5) === \"blob:\";\r\n const isBase64 = fromData && url.indexOf(\";base64,\") !== -1;\r\n\r\n let texture = fallback ? fallback : new InternalTexture(this, InternalTextureSource.Url);\r\n\r\n const originalUrl = url;\r\n if (this._transformTextureUrl && !isBase64 && !fallback && !buffer) {\r\n url = this._transformTextureUrl(url);\r\n }\r\n\r\n if (originalUrl !== url) {\r\n texture._originalUrl = originalUrl;\r\n }\r\n\r\n // establish the file extension, if possible\r\n const lastDot = url.lastIndexOf('.');\r\n let extension = forcedExtension ? forcedExtension : (lastDot > -1 ? url.substring(lastDot).toLowerCase() : \"\");\r\n let loader: Nullable = null;\r\n\r\n // Remove query string\r\n let queryStringIndex = extension.indexOf(\"?\");\r\n\r\n if (queryStringIndex > -1) {\r\n extension = extension.split(\"?\")[0];\r\n }\r\n\r\n for (const availableLoader of ThinEngine._TextureLoaders) {\r\n if (availableLoader.canLoad(extension, mimeType)) {\r\n loader = availableLoader;\r\n break;\r\n }\r\n }\r\n\r\n if (scene) {\r\n scene._addPendingData(texture);\r\n }\r\n texture.url = url;\r\n texture.generateMipMaps = !noMipmap;\r\n texture.samplingMode = samplingMode;\r\n texture.invertY = invertY;\r\n\r\n if (!this._doNotHandleContextLost) {\r\n // Keep a link to the buffer only if we plan to handle context lost\r\n texture._buffer = buffer;\r\n }\r\n\r\n let onLoadObserver: Nullable> = null;\r\n if (onLoad && !fallback) {\r\n onLoadObserver = texture.onLoadedObservable.add(onLoad);\r\n }\r\n\r\n if (!fallback) { this._internalTexturesCache.push(texture); }\r\n\r\n const onInternalError = (message?: string, exception?: any) => {\r\n if (scene) {\r\n scene._removePendingData(texture);\r\n }\r\n\r\n if (url === originalUrl) {\r\n if (onLoadObserver) {\r\n texture.onLoadedObservable.remove(onLoadObserver);\r\n }\r\n\r\n if (EngineStore.UseFallbackTexture) {\r\n this.createTexture(EngineStore.FallbackTexture, noMipmap, texture.invertY, scene, samplingMode, null, onError, buffer, texture);\r\n }\r\n\r\n if (onError) {\r\n onError((message || \"Unknown error\") + (EngineStore.UseFallbackTexture ? \" - Fallback texture was used\" : \"\"), exception);\r\n }\r\n }\r\n else {\r\n // fall back to the original url if the transformed url fails to load\r\n Logger.Warn(`Failed to load ${url}, falling back to ${originalUrl}`);\r\n this.createTexture(originalUrl, noMipmap, texture.invertY, scene, samplingMode, onLoad, onError, buffer, texture, format, forcedExtension, mimeType, loaderOptions);\r\n }\r\n };\r\n\r\n // processing for non-image formats\r\n if (loader) {\r\n const callback = (data: ArrayBufferView) => {\r\n loader!.loadData(data, texture, (width: number, height: number, loadMipmap: boolean, isCompressed: boolean, done: () => void, loadFailed) => {\r\n if (loadFailed) {\r\n onInternalError(\"TextureLoader failed to load data\");\r\n } else {\r\n this._prepareWebGLTexture(texture, scene, width, height, texture.invertY, !loadMipmap, isCompressed, () => {\r\n done();\r\n return false;\r\n }, samplingMode);\r\n }\r\n }, loaderOptions);\r\n };\r\n\r\n if (!buffer) {\r\n this._loadFile(url, (data) => callback(new Uint8Array(data as ArrayBuffer)), undefined, scene ? scene.offlineProvider : undefined, true, (request?: IWebRequest, exception?: any) => {\r\n onInternalError(\"Unable to load \" + (request ? request.responseURL : url, exception));\r\n });\r\n } else {\r\n if (buffer instanceof ArrayBuffer) {\r\n callback(new Uint8Array(buffer));\r\n }\r\n else if (ArrayBuffer.isView(buffer)) {\r\n callback(buffer);\r\n }\r\n else {\r\n if (onError) {\r\n onError(\"Unable to load: only ArrayBuffer or ArrayBufferView is supported\", null);\r\n }\r\n }\r\n }\r\n } else {\r\n const onload = (img: HTMLImageElement | ImageBitmap) => {\r\n if (fromBlob && !this._doNotHandleContextLost) {\r\n // We need to store the image if we need to rebuild the texture\r\n // in case of a webgl context lost\r\n texture._buffer = img;\r\n }\r\n\r\n this._prepareWebGLTexture(texture, scene, img.width, img.height, texture.invertY, noMipmap, false, (potWidth, potHeight, continuationCallback) => {\r\n let gl = this._gl;\r\n var isPot = (img.width === potWidth && img.height === potHeight);\r\n let internalFormat = format ? this._getInternalFormat(format) : ((extension === \".jpg\") ? gl.RGB : gl.RGBA);\r\n\r\n if (isPot) {\r\n gl.texImage2D(gl.TEXTURE_2D, 0, internalFormat, internalFormat, gl.UNSIGNED_BYTE, img);\r\n return false;\r\n }\r\n\r\n let maxTextureSize = this._caps.maxTextureSize;\r\n\r\n if (img.width > maxTextureSize || img.height > maxTextureSize || !this._supportsHardwareTextureRescaling) {\r\n this._prepareWorkingCanvas();\r\n if (!this._workingCanvas || !this._workingContext) {\r\n return false;\r\n }\r\n\r\n this._workingCanvas.width = potWidth;\r\n this._workingCanvas.height = potHeight;\r\n\r\n this._workingContext.drawImage(img, 0, 0, img.width, img.height, 0, 0, potWidth, potHeight);\r\n gl.texImage2D(gl.TEXTURE_2D, 0, internalFormat, internalFormat, gl.UNSIGNED_BYTE, this._workingCanvas);\r\n\r\n texture.width = potWidth;\r\n texture.height = potHeight;\r\n\r\n return false;\r\n } else {\r\n // Using shaders when possible to rescale because canvas.drawImage is lossy\r\n let source = new InternalTexture(this, InternalTextureSource.Temp);\r\n this._bindTextureDirectly(gl.TEXTURE_2D, source, true);\r\n gl.texImage2D(gl.TEXTURE_2D, 0, internalFormat, internalFormat, gl.UNSIGNED_BYTE, img);\r\n\r\n this._rescaleTexture(source, texture, scene, internalFormat, () => {\r\n this._releaseTexture(source);\r\n this._bindTextureDirectly(gl.TEXTURE_2D, texture, true);\r\n\r\n continuationCallback();\r\n });\r\n }\r\n\r\n return true;\r\n }, samplingMode);\r\n };\r\n\r\n if (!fromData || isBase64) {\r\n if (buffer && ((buffer).decoding || (buffer).close)) {\r\n onload(buffer);\r\n } else {\r\n ThinEngine._FileToolsLoadImage(url, onload, onInternalError, scene ? scene.offlineProvider : null, mimeType);\r\n }\r\n }\r\n else if (typeof buffer === \"string\" || buffer instanceof ArrayBuffer || ArrayBuffer.isView(buffer) || buffer instanceof Blob) {\r\n ThinEngine._FileToolsLoadImage(buffer, onload, onInternalError, scene ? scene.offlineProvider : null, mimeType);\r\n }\r\n else if (buffer) {\r\n onload(buffer);\r\n }\r\n }\r\n\r\n return texture;\r\n }\r\n\r\n /**\r\n * Loads an image as an HTMLImageElement.\r\n * @param input url string, ArrayBuffer, or Blob to load\r\n * @param onLoad callback called when the image successfully loads\r\n * @param onError callback called when the image fails to load\r\n * @param offlineProvider offline provider for caching\r\n * @param mimeType optional mime type\r\n * @returns the HTMLImageElement of the loaded image\r\n * @hidden\r\n */\r\n public static _FileToolsLoadImage(input: string | ArrayBuffer | ArrayBufferView | Blob, onLoad: (img: HTMLImageElement | ImageBitmap) => void, onError: (message?: string, exception?: any) => void, offlineProvider: Nullable, mimeType?: string): Nullable {\r\n throw _DevTools.WarnImport(\"FileTools\");\r\n }\r\n\r\n /**\r\n * @hidden\r\n */\r\n public _rescaleTexture(source: InternalTexture, destination: InternalTexture, scene: Nullable, internalFormat: number, onComplete: () => void): void {\r\n }\r\n\r\n /**\r\n * Creates a raw texture\r\n * @param data defines the data to store in the texture\r\n * @param width defines the width of the texture\r\n * @param height defines the height of the texture\r\n * @param format defines the format of the data\r\n * @param generateMipMaps defines if the engine should generate the mip levels\r\n * @param invertY defines if data must be stored with Y axis inverted\r\n * @param samplingMode defines the required sampling mode (Texture.NEAREST_SAMPLINGMODE by default)\r\n * @param compression defines the compression used (null by default)\r\n * @param type defines the type fo the data (Engine.TEXTURETYPE_UNSIGNED_INT by default)\r\n * @returns the raw texture inside an InternalTexture\r\n */\r\n public createRawTexture(data: Nullable, width: number, height: number, format: number, generateMipMaps: boolean, invertY: boolean, samplingMode: number, compression: Nullable = null, type: number = 0): InternalTexture {\r\n throw _DevTools.WarnImport(\"Engine.RawTexture\");\r\n }\r\n\r\n /**\r\n * Creates a new raw cube texture\r\n * @param data defines the array of data to use to create each face\r\n * @param size defines the size of the textures\r\n * @param format defines the format of the data\r\n * @param type defines the type of the data (like Engine.TEXTURETYPE_UNSIGNED_INT)\r\n * @param generateMipMaps defines if the engine should generate the mip levels\r\n * @param invertY defines if data must be stored with Y axis inverted\r\n * @param samplingMode defines the required sampling mode (like Texture.NEAREST_SAMPLINGMODE)\r\n * @param compression defines the compression used (null by default)\r\n * @returns the cube texture as an InternalTexture\r\n */\r\n public createRawCubeTexture(data: Nullable, size: number, format: number, type: number,\r\n generateMipMaps: boolean, invertY: boolean, samplingMode: number,\r\n compression: Nullable = null): InternalTexture {\r\n throw _DevTools.WarnImport(\"Engine.RawTexture\");\r\n }\r\n\r\n /**\r\n * Creates a new raw 3D texture\r\n * @param data defines the data used to create the texture\r\n * @param width defines the width of the texture\r\n * @param height defines the height of the texture\r\n * @param depth defines the depth of the texture\r\n * @param format defines the format of the texture\r\n * @param generateMipMaps defines if the engine must generate mip levels\r\n * @param invertY defines if data must be stored with Y axis inverted\r\n * @param samplingMode defines the required sampling mode (like Texture.NEAREST_SAMPLINGMODE)\r\n * @param compression defines the compressed used (can be null)\r\n * @param textureType defines the compressed used (can be null)\r\n * @returns a new raw 3D texture (stored in an InternalTexture)\r\n */\r\n public createRawTexture3D(data: Nullable, width: number, height: number, depth: number, format: number, generateMipMaps: boolean, invertY: boolean, samplingMode: number, compression: Nullable = null, textureType = 0): InternalTexture {\r\n throw _DevTools.WarnImport(\"Engine.RawTexture\");\r\n }\r\n\r\n /**\r\n * Creates a new raw 2D array texture\r\n * @param data defines the data used to create the texture\r\n * @param width defines the width of the texture\r\n * @param height defines the height of the texture\r\n * @param depth defines the number of layers of the texture\r\n * @param format defines the format of the texture\r\n * @param generateMipMaps defines if the engine must generate mip levels\r\n * @param invertY defines if data must be stored with Y axis inverted\r\n * @param samplingMode defines the required sampling mode (like Texture.NEAREST_SAMPLINGMODE)\r\n * @param compression defines the compressed used (can be null)\r\n * @param textureType defines the compressed used (can be null)\r\n * @returns a new raw 2D array texture (stored in an InternalTexture)\r\n */\r\n public createRawTexture2DArray(data: Nullable, width: number, height: number, depth: number, format: number, generateMipMaps: boolean, invertY: boolean, samplingMode: number, compression: Nullable = null, textureType = 0): InternalTexture {\r\n throw _DevTools.WarnImport(\"Engine.RawTexture\");\r\n }\r\n\r\n private _unpackFlipYCached: Nullable = null;\r\n\r\n /**\r\n * In case you are sharing the context with other applications, it might\r\n * be interested to not cache the unpack flip y state to ensure a consistent\r\n * value would be set.\r\n */\r\n public enableUnpackFlipYCached = true;\r\n\r\n /** @hidden */\r\n public _unpackFlipY(value: boolean): void {\r\n if (this._unpackFlipYCached !== value) {\r\n this._gl.pixelStorei(this._gl.UNPACK_FLIP_Y_WEBGL, value ? 1 : 0);\r\n\r\n if (this.enableUnpackFlipYCached) {\r\n this._unpackFlipYCached = value;\r\n }\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _getUnpackAlignement(): number {\r\n return this._gl.getParameter(this._gl.UNPACK_ALIGNMENT);\r\n }\r\n\r\n private _getTextureTarget(texture: InternalTexture): number {\r\n if (texture.isCube) {\r\n return this._gl.TEXTURE_CUBE_MAP;\r\n } else if (texture.is3D) {\r\n return this._gl.TEXTURE_3D;\r\n } else if (texture.is2DArray || texture.isMultiview) {\r\n return this._gl.TEXTURE_2D_ARRAY;\r\n }\r\n return this._gl.TEXTURE_2D;\r\n }\r\n\r\n /**\r\n * Update the sampling mode of a given texture\r\n * @param samplingMode defines the required sampling mode\r\n * @param texture defines the texture to update\r\n * @param generateMipMaps defines whether to generate mipmaps for the texture\r\n */\r\n public updateTextureSamplingMode(samplingMode: number, texture: InternalTexture, generateMipMaps: boolean = false): void {\r\n const target = this._getTextureTarget(texture);\r\n var filters = this._getSamplingParameters(samplingMode, texture.generateMipMaps || generateMipMaps);\r\n\r\n this._setTextureParameterInteger(target, this._gl.TEXTURE_MAG_FILTER, filters.mag, texture);\r\n this._setTextureParameterInteger(target, this._gl.TEXTURE_MIN_FILTER, filters.min);\r\n\r\n if (generateMipMaps) {\r\n texture.generateMipMaps = true;\r\n this._gl.generateMipmap(target);\r\n }\r\n\r\n this._bindTextureDirectly(target, null);\r\n\r\n texture.samplingMode = samplingMode;\r\n }\r\n\r\n /**\r\n * Update the sampling mode of a given texture\r\n * @param texture defines the texture to update\r\n * @param wrapU defines the texture wrap mode of the u coordinates\r\n * @param wrapV defines the texture wrap mode of the v coordinates\r\n * @param wrapR defines the texture wrap mode of the r coordinates\r\n */\r\n public updateTextureWrappingMode(texture: InternalTexture, wrapU: Nullable, wrapV: Nullable = null, wrapR: Nullable = null): void {\r\n const target = this._getTextureTarget(texture);\r\n\r\n if (wrapU !== null) {\r\n this._setTextureParameterInteger(target, this._gl.TEXTURE_WRAP_S, this._getTextureWrapMode(wrapU), texture);\r\n texture._cachedWrapU = wrapU;\r\n }\r\n if (wrapV !== null) {\r\n this._setTextureParameterInteger(target, this._gl.TEXTURE_WRAP_T, this._getTextureWrapMode(wrapV), texture);\r\n texture._cachedWrapV = wrapV;\r\n }\r\n if ((texture.is2DArray || texture.is3D) && (wrapR !== null)) {\r\n this._setTextureParameterInteger(target, this._gl.TEXTURE_WRAP_R, this._getTextureWrapMode(wrapR), texture);\r\n texture._cachedWrapR = wrapR;\r\n }\r\n\r\n this._bindTextureDirectly(target, null);\r\n }\r\n\r\n /** @hidden */\r\n public _setupDepthStencilTexture(internalTexture: InternalTexture, size: number | { width: number, height: number, layers?: number }, generateStencil: boolean, bilinearFiltering: boolean, comparisonFunction: number): void {\r\n const width = (<{ width: number, height: number, layers?: number }>size).width || size;\r\n const height = (<{ width: number, height: number, layers?: number }>size).height || size;\r\n const layers = (<{ width: number, height: number, layers?: number }>size).layers || 0;\r\n\r\n internalTexture.baseWidth = width;\r\n internalTexture.baseHeight = height;\r\n internalTexture.width = width;\r\n internalTexture.height = height;\r\n internalTexture.is2DArray = layers > 0;\r\n internalTexture.depth = layers;\r\n internalTexture.isReady = true;\r\n internalTexture.samples = 1;\r\n internalTexture.generateMipMaps = false;\r\n internalTexture._generateDepthBuffer = true;\r\n internalTexture._generateStencilBuffer = generateStencil;\r\n internalTexture.samplingMode = bilinearFiltering ? 2 : 1;\r\n internalTexture.type = 0;\r\n internalTexture._comparisonFunction = comparisonFunction;\r\n\r\n const gl = this._gl;\r\n const target = this._getTextureTarget(internalTexture);\r\n const samplingParameters = this._getSamplingParameters(internalTexture.samplingMode, false);\r\n gl.texParameteri(target, gl.TEXTURE_MAG_FILTER, samplingParameters.mag);\r\n gl.texParameteri(target, gl.TEXTURE_MIN_FILTER, samplingParameters.min);\r\n gl.texParameteri(target, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\r\n gl.texParameteri(target, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\r\n\r\n if (comparisonFunction === 0) {\r\n gl.texParameteri(target, gl.TEXTURE_COMPARE_FUNC, 515);\r\n gl.texParameteri(target, gl.TEXTURE_COMPARE_MODE, gl.NONE);\r\n }\r\n else {\r\n gl.texParameteri(target, gl.TEXTURE_COMPARE_FUNC, comparisonFunction);\r\n gl.texParameteri(target, gl.TEXTURE_COMPARE_MODE, gl.COMPARE_REF_TO_TEXTURE);\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _uploadCompressedDataToTextureDirectly(texture: InternalTexture, internalFormat: number, width: number, height: number, data: ArrayBufferView, faceIndex: number = 0, lod: number = 0) {\r\n var gl = this._gl;\r\n\r\n var target = gl.TEXTURE_2D;\r\n if (texture.isCube) {\r\n target = gl.TEXTURE_CUBE_MAP_POSITIVE_X + faceIndex;\r\n }\r\n\r\n this._gl.compressedTexImage2D(target, lod, internalFormat, width, height, 0, data);\r\n }\r\n\r\n /** @hidden */\r\n public _uploadDataToTextureDirectly(texture: InternalTexture, imageData: ArrayBufferView, faceIndex: number = 0, lod: number = 0, babylonInternalFormat?: number, useTextureWidthAndHeight = false): void {\r\n var gl = this._gl;\r\n\r\n var textureType = this._getWebGLTextureType(texture.type);\r\n var format = this._getInternalFormat(texture.format);\r\n var internalFormat = babylonInternalFormat === undefined ? this._getRGBABufferInternalSizedFormat(texture.type, texture.format) : this._getInternalFormat(babylonInternalFormat);\r\n\r\n this._unpackFlipY(texture.invertY);\r\n\r\n var target = gl.TEXTURE_2D;\r\n if (texture.isCube) {\r\n target = gl.TEXTURE_CUBE_MAP_POSITIVE_X + faceIndex;\r\n }\r\n\r\n const lodMaxWidth = Math.round(Math.log(texture.width) * Math.LOG2E);\r\n const lodMaxHeight = Math.round(Math.log(texture.height) * Math.LOG2E);\r\n const width = useTextureWidthAndHeight ? texture.width : Math.pow(2, Math.max(lodMaxWidth - lod, 0));\r\n const height = useTextureWidthAndHeight ? texture.height : Math.pow(2, Math.max(lodMaxHeight - lod, 0));\r\n\r\n gl.texImage2D(target, lod, internalFormat, width, height, 0, format, textureType, imageData);\r\n }\r\n\r\n /**\r\n * Update a portion of an internal texture\r\n * @param texture defines the texture to update\r\n * @param imageData defines the data to store into the texture\r\n * @param xOffset defines the x coordinates of the update rectangle\r\n * @param yOffset defines the y coordinates of the update rectangle\r\n * @param width defines the width of the update rectangle\r\n * @param height defines the height of the update rectangle\r\n * @param faceIndex defines the face index if texture is a cube (0 by default)\r\n * @param lod defines the lod level to update (0 by default)\r\n */\r\n public updateTextureData(texture: InternalTexture, imageData: ArrayBufferView, xOffset: number, yOffset: number, width: number, height: number, faceIndex: number = 0, lod: number = 0): void {\r\n var gl = this._gl;\r\n\r\n var textureType = this._getWebGLTextureType(texture.type);\r\n var format = this._getInternalFormat(texture.format);\r\n\r\n this._unpackFlipY(texture.invertY);\r\n\r\n var target = gl.TEXTURE_2D;\r\n if (texture.isCube) {\r\n target = gl.TEXTURE_CUBE_MAP_POSITIVE_X + faceIndex;\r\n }\r\n\r\n gl.texSubImage2D(target, lod, xOffset, yOffset, width, height, format, textureType, imageData);\r\n }\r\n\r\n /** @hidden */\r\n public _uploadArrayBufferViewToTexture(texture: InternalTexture, imageData: ArrayBufferView, faceIndex: number = 0, lod: number = 0): void {\r\n var gl = this._gl;\r\n var bindTarget = texture.isCube ? gl.TEXTURE_CUBE_MAP : gl.TEXTURE_2D;\r\n\r\n this._bindTextureDirectly(bindTarget, texture, true);\r\n\r\n this._uploadDataToTextureDirectly(texture, imageData, faceIndex, lod);\r\n\r\n this._bindTextureDirectly(bindTarget, null, true);\r\n }\r\n\r\n protected _prepareWebGLTextureContinuation(texture: InternalTexture, scene: Nullable, noMipmap: boolean, isCompressed: boolean, samplingMode: number): void {\r\n var gl = this._gl;\r\n if (!gl) {\r\n return;\r\n }\r\n\r\n var filters = this._getSamplingParameters(samplingMode, !noMipmap);\r\n\r\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, filters.mag);\r\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, filters.min);\r\n\r\n if (!noMipmap && !isCompressed) {\r\n gl.generateMipmap(gl.TEXTURE_2D);\r\n }\r\n\r\n this._bindTextureDirectly(gl.TEXTURE_2D, null);\r\n\r\n // this.resetTextureCache();\r\n if (scene) {\r\n scene._removePendingData(texture);\r\n }\r\n\r\n texture.onLoadedObservable.notifyObservers(texture);\r\n texture.onLoadedObservable.clear();\r\n }\r\n\r\n private _prepareWebGLTexture(texture: InternalTexture, scene: Nullable, width: number, height: number, invertY: boolean, noMipmap: boolean, isCompressed: boolean,\r\n processFunction: (width: number, height: number, continuationCallback: () => void) => boolean, samplingMode: number = 3): void {\r\n var maxTextureSize = this.getCaps().maxTextureSize;\r\n var potWidth = Math.min(maxTextureSize, this.needPOTTextures ? ThinEngine.GetExponentOfTwo(width, maxTextureSize) : width);\r\n var potHeight = Math.min(maxTextureSize, this.needPOTTextures ? ThinEngine.GetExponentOfTwo(height, maxTextureSize) : height);\r\n\r\n var gl = this._gl;\r\n if (!gl) {\r\n return;\r\n }\r\n\r\n if (!texture._webGLTexture) {\r\n // this.resetTextureCache();\r\n if (scene) {\r\n scene._removePendingData(texture);\r\n }\r\n\r\n return;\r\n }\r\n\r\n this._bindTextureDirectly(gl.TEXTURE_2D, texture, true);\r\n this._unpackFlipY(invertY === undefined ? true : (invertY ? true : false));\r\n\r\n texture.baseWidth = width;\r\n texture.baseHeight = height;\r\n texture.width = potWidth;\r\n texture.height = potHeight;\r\n texture.isReady = true;\r\n\r\n if (processFunction(potWidth, potHeight, () => {\r\n this._prepareWebGLTextureContinuation(texture, scene, noMipmap, isCompressed, samplingMode);\r\n })) {\r\n // Returning as texture needs extra async steps\r\n return;\r\n }\r\n\r\n this._prepareWebGLTextureContinuation(texture, scene, noMipmap, isCompressed, samplingMode);\r\n }\r\n\r\n /** @hidden */\r\n public _setupFramebufferDepthAttachments(generateStencilBuffer: boolean, generateDepthBuffer: boolean, width: number, height: number, samples = 1): Nullable {\r\n var gl = this._gl;\r\n\r\n // Create the depth/stencil buffer\r\n if (generateStencilBuffer && generateDepthBuffer) {\r\n return this._getDepthStencilBuffer(width, height, samples, gl.DEPTH_STENCIL, gl.DEPTH24_STENCIL8, gl.DEPTH_STENCIL_ATTACHMENT);\r\n }\r\n if (generateDepthBuffer) {\r\n let depthFormat = gl.DEPTH_COMPONENT16;\r\n if (this._webGLVersion > 1) {\r\n depthFormat = gl.DEPTH_COMPONENT32F;\r\n }\r\n\r\n return this._getDepthStencilBuffer(width, height, samples, depthFormat, depthFormat, gl.DEPTH_ATTACHMENT);\r\n }\r\n if (generateStencilBuffer) {\r\n return this._getDepthStencilBuffer(width, height, samples, gl.STENCIL_INDEX8, gl.STENCIL_INDEX8, gl.STENCIL_ATTACHMENT);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _getDepthStencilBuffer = (width: number, height: number, samples: number, internalFormat: number, msInternalFormat: number, attachment: number) => {\r\n var gl = this._gl;\r\n const depthStencilBuffer = gl.createRenderbuffer();\r\n\r\n gl.bindRenderbuffer(gl.RENDERBUFFER, depthStencilBuffer);\r\n\r\n if (samples > 1 && gl.renderbufferStorageMultisample) {\r\n gl.renderbufferStorageMultisample(gl.RENDERBUFFER, samples, msInternalFormat, width, height);\r\n } else {\r\n gl.renderbufferStorage(gl.RENDERBUFFER, internalFormat, width, height);\r\n }\r\n\r\n gl.framebufferRenderbuffer(gl.FRAMEBUFFER, attachment, gl.RENDERBUFFER, depthStencilBuffer);\r\n\r\n gl.bindRenderbuffer(gl.RENDERBUFFER, null);\r\n\r\n return depthStencilBuffer;\r\n }\r\n\r\n /** @hidden */\r\n public _releaseFramebufferObjects(texture: InternalTexture): void {\r\n var gl = this._gl;\r\n\r\n if (texture._framebuffer) {\r\n gl.deleteFramebuffer(texture._framebuffer);\r\n texture._framebuffer = null;\r\n }\r\n\r\n if (texture._depthStencilBuffer) {\r\n gl.deleteRenderbuffer(texture._depthStencilBuffer);\r\n texture._depthStencilBuffer = null;\r\n }\r\n\r\n if (texture._MSAAFramebuffer) {\r\n gl.deleteFramebuffer(texture._MSAAFramebuffer);\r\n texture._MSAAFramebuffer = null;\r\n }\r\n\r\n if (texture._MSAARenderBuffer) {\r\n gl.deleteRenderbuffer(texture._MSAARenderBuffer);\r\n texture._MSAARenderBuffer = null;\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _releaseTexture(texture: InternalTexture): void {\r\n this._releaseFramebufferObjects(texture);\r\n\r\n this._deleteTexture(texture._webGLTexture);\r\n\r\n // Unbind channels\r\n this.unbindAllTextures();\r\n\r\n var index = this._internalTexturesCache.indexOf(texture);\r\n if (index !== -1) {\r\n this._internalTexturesCache.splice(index, 1);\r\n }\r\n\r\n // Integrated fixed lod samplers.\r\n if (texture._lodTextureHigh) {\r\n texture._lodTextureHigh.dispose();\r\n }\r\n if (texture._lodTextureMid) {\r\n texture._lodTextureMid.dispose();\r\n }\r\n if (texture._lodTextureLow) {\r\n texture._lodTextureLow.dispose();\r\n }\r\n\r\n // Integrated irradiance map.\r\n if (texture._irradianceTexture) {\r\n texture._irradianceTexture.dispose();\r\n }\r\n }\r\n\r\n protected _deleteTexture(texture: Nullable): void {\r\n this._gl.deleteTexture(texture);\r\n }\r\n\r\n protected _setProgram(program: WebGLProgram): void {\r\n if (this._currentProgram !== program) {\r\n this._gl.useProgram(program);\r\n this._currentProgram = program;\r\n }\r\n }\r\n\r\n protected _boundUniforms: { [key: number]: WebGLUniformLocation } = {};\r\n\r\n /**\r\n * Binds an effect to the webGL context\r\n * @param effect defines the effect to bind\r\n */\r\n public bindSamplers(effect: Effect): void {\r\n let webGLPipelineContext = effect.getPipelineContext() as WebGLPipelineContext;\r\n this._setProgram(webGLPipelineContext.program!);\r\n var samplers = effect.getSamplers();\r\n for (var index = 0; index < samplers.length; index++) {\r\n var uniform = effect.getUniform(samplers[index]);\r\n\r\n if (uniform) {\r\n this._boundUniforms[index] = uniform;\r\n }\r\n }\r\n this._currentEffect = null;\r\n }\r\n\r\n private _activateCurrentTexture() {\r\n if (this._currentTextureChannel !== this._activeChannel) {\r\n this._gl.activeTexture(this._gl.TEXTURE0 + this._activeChannel);\r\n this._currentTextureChannel = this._activeChannel;\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _bindTextureDirectly(target: number, texture: Nullable, forTextureDataUpdate = false, force = false): boolean {\r\n var wasPreviouslyBound = false;\r\n let isTextureForRendering = texture && texture._associatedChannel > -1;\r\n if (forTextureDataUpdate && isTextureForRendering) {\r\n this._activeChannel = texture!._associatedChannel;\r\n }\r\n\r\n let currentTextureBound = this._boundTexturesCache[this._activeChannel];\r\n\r\n if (currentTextureBound !== texture || force) {\r\n this._activateCurrentTexture();\r\n\r\n if (texture && texture.isMultiview) {\r\n this._gl.bindTexture(target, texture ? texture._colorTextureArray : null);\r\n } else {\r\n this._gl.bindTexture(target, texture ? texture._webGLTexture : null);\r\n }\r\n\r\n this._boundTexturesCache[this._activeChannel] = texture;\r\n\r\n if (texture) {\r\n texture._associatedChannel = this._activeChannel;\r\n }\r\n } else if (forTextureDataUpdate) {\r\n wasPreviouslyBound = true;\r\n this._activateCurrentTexture();\r\n }\r\n\r\n if (isTextureForRendering && !forTextureDataUpdate) {\r\n this._bindSamplerUniformToChannel(texture!._associatedChannel, this._activeChannel);\r\n }\r\n\r\n return wasPreviouslyBound;\r\n }\r\n\r\n /** @hidden */\r\n public _bindTexture(channel: number, texture: Nullable): void {\r\n if (channel === undefined) {\r\n return;\r\n }\r\n\r\n if (texture) {\r\n texture._associatedChannel = channel;\r\n }\r\n\r\n this._activeChannel = channel;\r\n const target = texture ? this._getTextureTarget(texture) : this._gl.TEXTURE_2D;\r\n this._bindTextureDirectly(target, texture);\r\n }\r\n\r\n /**\r\n * Unbind all textures from the webGL context\r\n */\r\n public unbindAllTextures(): void {\r\n for (var channel = 0; channel < this._maxSimultaneousTextures; channel++) {\r\n this._activeChannel = channel;\r\n this._bindTextureDirectly(this._gl.TEXTURE_2D, null);\r\n this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP, null);\r\n if (this.webGLVersion > 1) {\r\n this._bindTextureDirectly(this._gl.TEXTURE_3D, null);\r\n this._bindTextureDirectly(this._gl.TEXTURE_2D_ARRAY, null);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Sets a texture to the according uniform.\r\n * @param channel The texture channel\r\n * @param uniform The uniform to set\r\n * @param texture The texture to apply\r\n */\r\n public setTexture(channel: number, uniform: Nullable, texture: Nullable): void {\r\n if (channel === undefined) {\r\n return;\r\n }\r\n\r\n if (uniform) {\r\n this._boundUniforms[channel] = uniform;\r\n }\r\n\r\n this._setTexture(channel, texture);\r\n }\r\n\r\n private _bindSamplerUniformToChannel(sourceSlot: number, destination: number) {\r\n let uniform = this._boundUniforms[sourceSlot];\r\n if (!uniform || uniform._currentState === destination) {\r\n return;\r\n }\r\n this._gl.uniform1i(uniform, destination);\r\n uniform._currentState = destination;\r\n }\r\n\r\n private _getTextureWrapMode(mode: number): number {\r\n switch (mode) {\r\n case 1:\r\n return this._gl.REPEAT;\r\n case 0:\r\n return this._gl.CLAMP_TO_EDGE;\r\n case 2:\r\n return this._gl.MIRRORED_REPEAT;\r\n }\r\n return this._gl.REPEAT;\r\n }\r\n\r\n protected _setTexture(channel: number, texture: Nullable, isPartOfTextureArray = false, depthStencilTexture = false): boolean {\r\n // Not ready?\r\n if (!texture) {\r\n if (this._boundTexturesCache[channel] != null) {\r\n this._activeChannel = channel;\r\n this._bindTextureDirectly(this._gl.TEXTURE_2D, null);\r\n this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP, null);\r\n if (this.webGLVersion > 1) {\r\n this._bindTextureDirectly(this._gl.TEXTURE_3D, null);\r\n this._bindTextureDirectly(this._gl.TEXTURE_2D_ARRAY, null);\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n // Video\r\n if ((texture).video) {\r\n this._activeChannel = channel;\r\n (texture).update();\r\n } else if (texture.delayLoadState === 4) { // Delay loading\r\n texture.delayLoad();\r\n return false;\r\n }\r\n\r\n let internalTexture: InternalTexture;\r\n if (depthStencilTexture) {\r\n internalTexture = (texture).depthStencilTexture!;\r\n }\r\n else if (texture.isReady()) {\r\n internalTexture = texture.getInternalTexture();\r\n }\r\n else if (texture.isCube) {\r\n internalTexture = this.emptyCubeTexture;\r\n }\r\n else if (texture.is3D) {\r\n internalTexture = this.emptyTexture3D;\r\n }\r\n else if (texture.is2DArray) {\r\n internalTexture = this.emptyTexture2DArray;\r\n }\r\n else {\r\n internalTexture = this.emptyTexture;\r\n }\r\n\r\n if (!isPartOfTextureArray && internalTexture) {\r\n internalTexture._associatedChannel = channel;\r\n }\r\n\r\n let needToBind = true;\r\n if (this._boundTexturesCache[channel] === internalTexture) {\r\n if (!isPartOfTextureArray) {\r\n this._bindSamplerUniformToChannel(internalTexture._associatedChannel, channel);\r\n }\r\n\r\n needToBind = false;\r\n }\r\n\r\n this._activeChannel = channel;\r\n const target = this._getTextureTarget(internalTexture);\r\n if (needToBind) {\r\n this._bindTextureDirectly(target, internalTexture, isPartOfTextureArray);\r\n }\r\n\r\n if (internalTexture && !internalTexture.isMultiview) {\r\n // CUBIC_MODE and SKYBOX_MODE both require CLAMP_TO_EDGE. All other modes use REPEAT.\r\n if (internalTexture.isCube && internalTexture._cachedCoordinatesMode !== texture.coordinatesMode) {\r\n internalTexture._cachedCoordinatesMode = texture.coordinatesMode;\r\n\r\n var textureWrapMode = (texture.coordinatesMode !== 3 && texture.coordinatesMode !== 5) ? 1 : 0;\r\n texture.wrapU = textureWrapMode;\r\n texture.wrapV = textureWrapMode;\r\n }\r\n\r\n if (internalTexture._cachedWrapU !== texture.wrapU) {\r\n internalTexture._cachedWrapU = texture.wrapU;\r\n this._setTextureParameterInteger(target, this._gl.TEXTURE_WRAP_S, this._getTextureWrapMode(texture.wrapU), internalTexture);\r\n }\r\n\r\n if (internalTexture._cachedWrapV !== texture.wrapV) {\r\n internalTexture._cachedWrapV = texture.wrapV;\r\n this._setTextureParameterInteger(target, this._gl.TEXTURE_WRAP_T, this._getTextureWrapMode(texture.wrapV), internalTexture);\r\n }\r\n\r\n if (internalTexture.is3D && internalTexture._cachedWrapR !== texture.wrapR) {\r\n internalTexture._cachedWrapR = texture.wrapR;\r\n this._setTextureParameterInteger(target, this._gl.TEXTURE_WRAP_R, this._getTextureWrapMode(texture.wrapR), internalTexture);\r\n }\r\n\r\n this._setAnisotropicLevel(target, internalTexture, texture.anisotropicFilteringLevel);\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Sets an array of texture to the webGL context\r\n * @param channel defines the channel where the texture array must be set\r\n * @param uniform defines the associated uniform location\r\n * @param textures defines the array of textures to bind\r\n */\r\n public setTextureArray(channel: number, uniform: Nullable, textures: ThinTexture[]): void {\r\n if (channel === undefined || !uniform) {\r\n return;\r\n }\r\n\r\n if (!this._textureUnits || this._textureUnits.length !== textures.length) {\r\n this._textureUnits = new Int32Array(textures.length);\r\n }\r\n for (let i = 0; i < textures.length; i++) {\r\n let texture = textures[i].getInternalTexture();\r\n\r\n if (texture) {\r\n this._textureUnits[i] = channel + i;\r\n texture._associatedChannel = channel + i;\r\n } else {\r\n this._textureUnits[i] = -1;\r\n }\r\n }\r\n this._gl.uniform1iv(uniform, this._textureUnits);\r\n\r\n for (var index = 0; index < textures.length; index++) {\r\n this._setTexture(this._textureUnits[index], textures[index], true);\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _setAnisotropicLevel(target: number, internalTexture: InternalTexture, anisotropicFilteringLevel: number) {\r\n var anisotropicFilterExtension = this._caps.textureAnisotropicFilterExtension;\r\n if (internalTexture.samplingMode !== 11\r\n && internalTexture.samplingMode !== 3\r\n && internalTexture.samplingMode !== 2) {\r\n anisotropicFilteringLevel = 1; // Forcing the anisotropic to 1 because else webgl will force filters to linear\r\n }\r\n\r\n if (anisotropicFilterExtension && internalTexture._cachedAnisotropicFilteringLevel !== anisotropicFilteringLevel) {\r\n this._setTextureParameterFloat(target, anisotropicFilterExtension.TEXTURE_MAX_ANISOTROPY_EXT, Math.min(anisotropicFilteringLevel, this._caps.maxAnisotropy), internalTexture);\r\n internalTexture._cachedAnisotropicFilteringLevel = anisotropicFilteringLevel;\r\n }\r\n }\r\n\r\n private _setTextureParameterFloat(target: number, parameter: number, value: number, texture: InternalTexture): void {\r\n this._bindTextureDirectly(target, texture, true, true);\r\n this._gl.texParameterf(target, parameter, value);\r\n }\r\n\r\n private _setTextureParameterInteger(target: number, parameter: number, value: number, texture?: InternalTexture) {\r\n if (texture) {\r\n this._bindTextureDirectly(target, texture, true, true);\r\n }\r\n this._gl.texParameteri(target, parameter, value);\r\n }\r\n\r\n /**\r\n * Unbind all vertex attributes from the webGL context\r\n */\r\n public unbindAllAttributes() {\r\n if (this._mustWipeVertexAttributes) {\r\n this._mustWipeVertexAttributes = false;\r\n\r\n for (var i = 0; i < this._caps.maxVertexAttribs; i++) {\r\n this.disableAttributeByIndex(i);\r\n }\r\n return;\r\n }\r\n\r\n for (var i = 0, ul = this._vertexAttribArraysEnabled.length; i < ul; i++) {\r\n if (i >= this._caps.maxVertexAttribs || !this._vertexAttribArraysEnabled[i]) {\r\n continue;\r\n }\r\n\r\n this.disableAttributeByIndex(i);\r\n }\r\n }\r\n\r\n /**\r\n * Force the engine to release all cached effects. This means that next effect compilation will have to be done completely even if a similar effect was already compiled\r\n */\r\n public releaseEffects() {\r\n for (var name in this._compiledEffects) {\r\n let webGLPipelineContext = this._compiledEffects[name].getPipelineContext() as WebGLPipelineContext;\r\n this._deletePipelineContext(webGLPipelineContext);\r\n }\r\n\r\n this._compiledEffects = {};\r\n }\r\n\r\n /**\r\n * Dispose and release all associated resources\r\n */\r\n public dispose(): void {\r\n this.stopRenderLoop();\r\n\r\n // Clear observables\r\n if (this.onBeforeTextureInitObservable) {\r\n this.onBeforeTextureInitObservable.clear();\r\n }\r\n\r\n // Empty texture\r\n if (this._emptyTexture) {\r\n this._releaseTexture(this._emptyTexture);\r\n this._emptyTexture = null;\r\n }\r\n if (this._emptyCubeTexture) {\r\n this._releaseTexture(this._emptyCubeTexture);\r\n this._emptyCubeTexture = null;\r\n }\r\n\r\n if (this._dummyFramebuffer) {\r\n this._gl.deleteFramebuffer(this._dummyFramebuffer);\r\n }\r\n\r\n // Release effects\r\n this.releaseEffects();\r\n\r\n // Unbind\r\n this.unbindAllAttributes();\r\n this._boundUniforms = [];\r\n\r\n // Events\r\n if (DomManagement.IsWindowObjectExist()) {\r\n if (this._renderingCanvas) {\r\n if (!this._doNotHandleContextLost) {\r\n this._renderingCanvas.removeEventListener(\"webglcontextlost\", this._onContextLost);\r\n this._renderingCanvas.removeEventListener(\"webglcontextrestored\", this._onContextRestored);\r\n }\r\n }\r\n }\r\n\r\n this._workingCanvas = null;\r\n this._workingContext = null;\r\n this._currentBufferPointers = [];\r\n this._renderingCanvas = null;\r\n this._currentProgram = null;\r\n this._boundRenderFunction = null;\r\n\r\n Effect.ResetCache();\r\n\r\n // Abort active requests\r\n for (let request of this._activeRequests) {\r\n request.abort();\r\n }\r\n }\r\n\r\n /**\r\n * Attach a new callback raised when context lost event is fired\r\n * @param callback defines the callback to call\r\n */\r\n public attachContextLostEvent(callback: ((event: WebGLContextEvent) => void)): void {\r\n if (this._renderingCanvas) {\r\n this._renderingCanvas.addEventListener(\"webglcontextlost\", callback, false);\r\n }\r\n }\r\n\r\n /**\r\n * Attach a new callback raised when context restored event is fired\r\n * @param callback defines the callback to call\r\n */\r\n public attachContextRestoredEvent(callback: ((event: WebGLContextEvent) => void)): void {\r\n if (this._renderingCanvas) {\r\n this._renderingCanvas.addEventListener(\"webglcontextrestored\", callback, false);\r\n }\r\n }\r\n\r\n /**\r\n * Get the current error code of the webGL context\r\n * @returns the error code\r\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/getError\r\n */\r\n public getError(): number {\r\n return this._gl.getError();\r\n }\r\n\r\n private _canRenderToFloatFramebuffer(): boolean {\r\n if (this._webGLVersion > 1) {\r\n return this._caps.colorBufferFloat;\r\n }\r\n return this._canRenderToFramebuffer(1);\r\n }\r\n\r\n private _canRenderToHalfFloatFramebuffer(): boolean {\r\n if (this._webGLVersion > 1) {\r\n return this._caps.colorBufferFloat;\r\n }\r\n return this._canRenderToFramebuffer(2);\r\n }\r\n\r\n // Thank you : http://stackoverflow.com/questions/28827511/webgl-ios-render-to-floating-point-texture\r\n private _canRenderToFramebuffer(type: number): boolean {\r\n let gl = this._gl;\r\n\r\n //clear existing errors\r\n while (gl.getError() !== gl.NO_ERROR) { }\r\n\r\n let successful = true;\r\n\r\n let texture = gl.createTexture();\r\n gl.bindTexture(gl.TEXTURE_2D, texture);\r\n gl.texImage2D(gl.TEXTURE_2D, 0, this._getRGBABufferInternalSizedFormat(type), 1, 1, 0, gl.RGBA, this._getWebGLTextureType(type), null);\r\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\r\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\r\n\r\n let fb = gl.createFramebuffer();\r\n gl.bindFramebuffer(gl.FRAMEBUFFER, fb);\r\n gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0);\r\n let status = gl.checkFramebufferStatus(gl.FRAMEBUFFER);\r\n\r\n successful = successful && (status === gl.FRAMEBUFFER_COMPLETE);\r\n successful = successful && (gl.getError() === gl.NO_ERROR);\r\n\r\n //try render by clearing frame buffer's color buffer\r\n if (successful) {\r\n gl.clear(gl.COLOR_BUFFER_BIT);\r\n successful = successful && (gl.getError() === gl.NO_ERROR);\r\n }\r\n\r\n //try reading from frame to ensure render occurs (just creating the FBO is not sufficient to determine if rendering is supported)\r\n if (successful) {\r\n //in practice it's sufficient to just read from the backbuffer rather than handle potentially issues reading from the texture\r\n gl.bindFramebuffer(gl.FRAMEBUFFER, null);\r\n let readFormat = gl.RGBA;\r\n let readType = gl.UNSIGNED_BYTE;\r\n let buffer = new Uint8Array(4);\r\n gl.readPixels(0, 0, 1, 1, readFormat, readType, buffer);\r\n successful = successful && (gl.getError() === gl.NO_ERROR);\r\n }\r\n\r\n //clean up\r\n gl.deleteTexture(texture);\r\n gl.deleteFramebuffer(fb);\r\n gl.bindFramebuffer(gl.FRAMEBUFFER, null);\r\n\r\n //clear accumulated errors\r\n while (!successful && (gl.getError() !== gl.NO_ERROR)) { }\r\n\r\n return successful;\r\n }\r\n\r\n /** @hidden */\r\n public _getWebGLTextureType(type: number): number {\r\n if (this._webGLVersion === 1) {\r\n switch (type) {\r\n case 1:\r\n return this._gl.FLOAT;\r\n case 2:\r\n return this._gl.HALF_FLOAT_OES;\r\n case 0:\r\n return this._gl.UNSIGNED_BYTE;\r\n case 8:\r\n return this._gl.UNSIGNED_SHORT_4_4_4_4;\r\n case 9:\r\n return this._gl.UNSIGNED_SHORT_5_5_5_1;\r\n case 10:\r\n return this._gl.UNSIGNED_SHORT_5_6_5;\r\n }\r\n return this._gl.UNSIGNED_BYTE;\r\n }\r\n\r\n switch (type) {\r\n case 3:\r\n return this._gl.BYTE;\r\n case 0:\r\n return this._gl.UNSIGNED_BYTE;\r\n case 4:\r\n return this._gl.SHORT;\r\n case 5:\r\n return this._gl.UNSIGNED_SHORT;\r\n case 6:\r\n return this._gl.INT;\r\n case 7: // Refers to UNSIGNED_INT\r\n return this._gl.UNSIGNED_INT;\r\n case 1:\r\n return this._gl.FLOAT;\r\n case 2:\r\n return this._gl.HALF_FLOAT;\r\n case 8:\r\n return this._gl.UNSIGNED_SHORT_4_4_4_4;\r\n case 9:\r\n return this._gl.UNSIGNED_SHORT_5_5_5_1;\r\n case 10:\r\n return this._gl.UNSIGNED_SHORT_5_6_5;\r\n case 11:\r\n return this._gl.UNSIGNED_INT_2_10_10_10_REV;\r\n case 12:\r\n return this._gl.UNSIGNED_INT_24_8;\r\n case 13:\r\n return this._gl.UNSIGNED_INT_10F_11F_11F_REV;\r\n case 14:\r\n return this._gl.UNSIGNED_INT_5_9_9_9_REV;\r\n case 15:\r\n return this._gl.FLOAT_32_UNSIGNED_INT_24_8_REV;\r\n }\r\n\r\n return this._gl.UNSIGNED_BYTE;\r\n }\r\n\r\n /** @hidden */\r\n public _getInternalFormat(format: number): number {\r\n var internalFormat = this._gl.RGBA;\r\n\r\n switch (format) {\r\n case 0:\r\n internalFormat = this._gl.ALPHA;\r\n break;\r\n case 1:\r\n internalFormat = this._gl.LUMINANCE;\r\n break;\r\n case 2:\r\n internalFormat = this._gl.LUMINANCE_ALPHA;\r\n break;\r\n case 6:\r\n internalFormat = this._gl.RED;\r\n break;\r\n case 7:\r\n internalFormat = this._gl.RG;\r\n break;\r\n case 4:\r\n internalFormat = this._gl.RGB;\r\n break;\r\n case 5:\r\n internalFormat = this._gl.RGBA;\r\n break;\r\n }\r\n\r\n if (this._webGLVersion > 1) {\r\n switch (format) {\r\n case 8:\r\n internalFormat = this._gl.RED_INTEGER;\r\n break;\r\n case 9:\r\n internalFormat = this._gl.RG_INTEGER;\r\n break;\r\n case 10:\r\n internalFormat = this._gl.RGB_INTEGER;\r\n break;\r\n case 11:\r\n internalFormat = this._gl.RGBA_INTEGER;\r\n break;\r\n }\r\n }\r\n\r\n return internalFormat;\r\n }\r\n\r\n /** @hidden */\r\n public _getRGBABufferInternalSizedFormat(type: number, format?: number): number {\r\n if (this._webGLVersion === 1) {\r\n if (format !== undefined) {\r\n switch (format) {\r\n case 0:\r\n return this._gl.ALPHA;\r\n case 1:\r\n return this._gl.LUMINANCE;\r\n case 2:\r\n return this._gl.LUMINANCE_ALPHA;\r\n case 4:\r\n return this._gl.RGB;\r\n }\r\n }\r\n return this._gl.RGBA;\r\n }\r\n\r\n switch (type) {\r\n case 3:\r\n switch (format) {\r\n case 6:\r\n return this._gl.R8_SNORM;\r\n case 7:\r\n return this._gl.RG8_SNORM;\r\n case 4:\r\n return this._gl.RGB8_SNORM;\r\n case 8:\r\n return this._gl.R8I;\r\n case 9:\r\n return this._gl.RG8I;\r\n case 10:\r\n return this._gl.RGB8I;\r\n case 11:\r\n return this._gl.RGBA8I;\r\n default:\r\n return this._gl.RGBA8_SNORM;\r\n }\r\n case 0:\r\n switch (format) {\r\n case 6:\r\n return this._gl.R8;\r\n case 7:\r\n return this._gl.RG8;\r\n case 4:\r\n return this._gl.RGB8; // By default. Other possibilities are RGB565, SRGB8.\r\n case 5:\r\n return this._gl.RGBA8; // By default. Other possibilities are RGB5_A1, RGBA4, SRGB8_ALPHA8.\r\n case 8:\r\n return this._gl.R8UI;\r\n case 9:\r\n return this._gl.RG8UI;\r\n case 10:\r\n return this._gl.RGB8UI;\r\n case 11:\r\n return this._gl.RGBA8UI;\r\n case 0:\r\n return this._gl.ALPHA;\r\n case 1:\r\n return this._gl.LUMINANCE;\r\n case 2:\r\n return this._gl.LUMINANCE_ALPHA;\r\n default:\r\n return this._gl.RGBA8;\r\n }\r\n case 4:\r\n switch (format) {\r\n case 8:\r\n return this._gl.R16I;\r\n case 9:\r\n return this._gl.RG16I;\r\n case 10:\r\n return this._gl.RGB16I;\r\n case 11:\r\n return this._gl.RGBA16I;\r\n default:\r\n return this._gl.RGBA16I;\r\n }\r\n case 5:\r\n switch (format) {\r\n case 8:\r\n return this._gl.R16UI;\r\n case 9:\r\n return this._gl.RG16UI;\r\n case 10:\r\n return this._gl.RGB16UI;\r\n case 11:\r\n return this._gl.RGBA16UI;\r\n default:\r\n return this._gl.RGBA16UI;\r\n }\r\n case 6:\r\n switch (format) {\r\n case 8:\r\n return this._gl.R32I;\r\n case 9:\r\n return this._gl.RG32I;\r\n case 10:\r\n return this._gl.RGB32I;\r\n case 11:\r\n return this._gl.RGBA32I;\r\n default:\r\n return this._gl.RGBA32I;\r\n }\r\n case 7: // Refers to UNSIGNED_INT\r\n switch (format) {\r\n case 8:\r\n return this._gl.R32UI;\r\n case 9:\r\n return this._gl.RG32UI;\r\n case 10:\r\n return this._gl.RGB32UI;\r\n case 11:\r\n return this._gl.RGBA32UI;\r\n default:\r\n return this._gl.RGBA32UI;\r\n }\r\n case 1:\r\n switch (format) {\r\n case 6:\r\n return this._gl.R32F; // By default. Other possibility is R16F.\r\n case 7:\r\n return this._gl.RG32F; // By default. Other possibility is RG16F.\r\n case 4:\r\n return this._gl.RGB32F; // By default. Other possibilities are RGB16F, R11F_G11F_B10F, RGB9_E5.\r\n case 5:\r\n return this._gl.RGBA32F; // By default. Other possibility is RGBA16F.\r\n default:\r\n return this._gl.RGBA32F;\r\n }\r\n case 2:\r\n switch (format) {\r\n case 6:\r\n return this._gl.R16F;\r\n case 7:\r\n return this._gl.RG16F;\r\n case 4:\r\n return this._gl.RGB16F; // By default. Other possibilities are R11F_G11F_B10F, RGB9_E5.\r\n case 5:\r\n return this._gl.RGBA16F;\r\n default:\r\n return this._gl.RGBA16F;\r\n }\r\n case 10:\r\n return this._gl.RGB565;\r\n case 13:\r\n return this._gl.R11F_G11F_B10F;\r\n case 14:\r\n return this._gl.RGB9_E5;\r\n case 8:\r\n return this._gl.RGBA4;\r\n case 9:\r\n return this._gl.RGB5_A1;\r\n case 11:\r\n switch (format) {\r\n case 5:\r\n return this._gl.RGB10_A2; // By default. Other possibility is RGB5_A1.\r\n case 11:\r\n return this._gl.RGB10_A2UI;\r\n default:\r\n return this._gl.RGB10_A2;\r\n }\r\n }\r\n\r\n return this._gl.RGBA8;\r\n }\r\n\r\n /** @hidden */\r\n public _getRGBAMultiSampleBufferFormat(type: number): number {\r\n if (type === 1) {\r\n return this._gl.RGBA32F;\r\n }\r\n else if (type === 2) {\r\n return this._gl.RGBA16F;\r\n }\r\n\r\n return this._gl.RGBA8;\r\n }\r\n\r\n /** @hidden */\r\n public _loadFile(url: string, onSuccess: (data: string | ArrayBuffer, responseURL?: string) => void, onProgress?: (data: any) => void,\r\n offlineProvider?: IOfflineProvider, useArrayBuffer?: boolean, onError?: (request?: IWebRequest, exception?: any) => void): IFileRequest {\r\n let request = ThinEngine._FileToolsLoadFile(url, onSuccess, onProgress, offlineProvider, useArrayBuffer, onError);\r\n this._activeRequests.push(request);\r\n request.onCompleteObservable.add((request) => {\r\n this._activeRequests.splice(this._activeRequests.indexOf(request), 1);\r\n });\r\n return request;\r\n }\r\n\r\n /**\r\n * Loads a file from a url\r\n * @param url url to load\r\n * @param onSuccess callback called when the file successfully loads\r\n * @param onProgress callback called while file is loading (if the server supports this mode)\r\n * @param offlineProvider defines the offline provider for caching\r\n * @param useArrayBuffer defines a boolean indicating that date must be returned as ArrayBuffer\r\n * @param onError callback called when the file fails to load\r\n * @returns a file request object\r\n * @hidden\r\n */\r\n public static _FileToolsLoadFile(url: string, onSuccess: (data: string | ArrayBuffer, responseURL?: string) => void, onProgress?: (ev: ProgressEvent) => void, offlineProvider?: IOfflineProvider, useArrayBuffer?: boolean, onError?: (request?: WebRequest, exception?: LoadFileError) => void): IFileRequest {\r\n throw _DevTools.WarnImport(\"FileTools\");\r\n }\r\n\r\n /**\r\n * Reads pixels from the current frame buffer. Please note that this function can be slow\r\n * @param x defines the x coordinate of the rectangle where pixels must be read\r\n * @param y defines the y coordinate of the rectangle where pixels must be read\r\n * @param width defines the width of the rectangle where pixels must be read\r\n * @param height defines the height of the rectangle where pixels must be read\r\n * @param hasAlpha defines whether the output should have alpha or not (defaults to true)\r\n * @returns a Uint8Array containing RGBA colors\r\n */\r\n public readPixels(x: number, y: number, width: number, height: number, hasAlpha = true): Uint8Array {\r\n const numChannels = hasAlpha ? 4 : 3;\r\n const format = hasAlpha ? this._gl.RGBA : this._gl.RGB;\r\n const data = new Uint8Array(height * width * numChannels);\r\n this._gl.readPixels(x, y, width, height, format, this._gl.UNSIGNED_BYTE, data);\r\n return data;\r\n }\r\n\r\n // Statics\r\n\r\n private static _IsSupported: Nullable = null;\r\n private static _HasMajorPerformanceCaveat : Nullable = null;\r\n\r\n /**\r\n * Gets a boolean indicating if the engine can be instanciated (ie. if a webGL context can be found)\r\n */\r\n public static get IsSupported(): boolean {\r\n return this.isSupported(); // Backward compat\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if the engine can be instanciated (ie. if a webGL context can be found)\r\n * @returns true if the engine can be created\r\n * @ignorenaming\r\n */\r\n public static isSupported(): boolean {\r\n if (this._HasMajorPerformanceCaveat !== null) {\r\n return !this._HasMajorPerformanceCaveat; // We know it is performant so WebGL is supported\r\n }\r\n\r\n if (this._IsSupported === null) {\r\n try {\r\n var tempcanvas = CanvasGenerator.CreateCanvas(1, 1);\r\n var gl = tempcanvas.getContext(\"webgl\") || (tempcanvas as any).getContext(\"experimental-webgl\");\r\n\r\n this._IsSupported = gl != null && !!window.WebGLRenderingContext;\r\n } catch (e) {\r\n this._IsSupported = false;\r\n }\r\n }\r\n\r\n return this._IsSupported;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if the engine can be instanciated on a performant device (ie. if a webGL context can be found and it does not use a slow implementation)\r\n */\r\n public static get HasMajorPerformanceCaveat(): boolean {\r\n if (this._HasMajorPerformanceCaveat === null) {\r\n try {\r\n var tempcanvas = CanvasGenerator.CreateCanvas(1, 1);\r\n var gl = tempcanvas.getContext(\"webgl\", { failIfMajorPerformanceCaveat: true }) || (tempcanvas as any).getContext(\"experimental-webgl\", { failIfMajorPerformanceCaveat: true });\r\n\r\n this._HasMajorPerformanceCaveat = !gl;\r\n } catch (e) {\r\n this._HasMajorPerformanceCaveat = false;\r\n }\r\n }\r\n\r\n return this._HasMajorPerformanceCaveat;\r\n }\r\n\r\n /**\r\n * Find the next highest power of two.\r\n * @param x Number to start search from.\r\n * @return Next highest power of two.\r\n */\r\n public static CeilingPOT(x: number): number {\r\n x--;\r\n x |= x >> 1;\r\n x |= x >> 2;\r\n x |= x >> 4;\r\n x |= x >> 8;\r\n x |= x >> 16;\r\n x++;\r\n return x;\r\n }\r\n\r\n /**\r\n * Find the next lowest power of two.\r\n * @param x Number to start search from.\r\n * @return Next lowest power of two.\r\n */\r\n public static FloorPOT(x: number): number {\r\n x = x | (x >> 1);\r\n x = x | (x >> 2);\r\n x = x | (x >> 4);\r\n x = x | (x >> 8);\r\n x = x | (x >> 16);\r\n return x - (x >> 1);\r\n }\r\n\r\n /**\r\n * Find the nearest power of two.\r\n * @param x Number to start search from.\r\n * @return Next nearest power of two.\r\n */\r\n public static NearestPOT(x: number): number {\r\n var c = ThinEngine.CeilingPOT(x);\r\n var f = ThinEngine.FloorPOT(x);\r\n return (c - x) > (x - f) ? f : c;\r\n }\r\n\r\n /**\r\n * Get the closest exponent of two\r\n * @param value defines the value to approximate\r\n * @param max defines the maximum value to return\r\n * @param mode defines how to define the closest value\r\n * @returns closest exponent of two of the given value\r\n */\r\n public static GetExponentOfTwo(value: number, max: number, mode = 2): number {\r\n let pot;\r\n\r\n switch (mode) {\r\n case 1:\r\n pot = ThinEngine.FloorPOT(value);\r\n break;\r\n case 2:\r\n pot = ThinEngine.NearestPOT(value);\r\n break;\r\n case 3:\r\n default:\r\n pot = ThinEngine.CeilingPOT(value);\r\n break;\r\n }\r\n\r\n return Math.min(pot, max);\r\n }\r\n\r\n /**\r\n * Queue a new function into the requested animation frame pool (ie. this function will be executed byt the browser for the next frame)\r\n * @param func - the function to be called\r\n * @param requester - the object that will request the next frame. Falls back to window.\r\n * @returns frame number\r\n */\r\n public static QueueNewFrame(func: () => void, requester?: any): number {\r\n if (!DomManagement.IsWindowObjectExist()) {\r\n if (typeof requestAnimationFrame !== \"undefined\") {\r\n return requestAnimationFrame(func);\r\n }\r\n\r\n return setTimeout(func, 16);\r\n }\r\n\r\n if (!requester) {\r\n requester = window;\r\n }\r\n\r\n if (requester.requestPostAnimationFrame) {\r\n return requester.requestPostAnimationFrame(func);\r\n }\r\n else if (requester.requestAnimationFrame) {\r\n return requester.requestAnimationFrame(func);\r\n }\r\n else if (requester.msRequestAnimationFrame) {\r\n return requester.msRequestAnimationFrame(func);\r\n }\r\n else if (requester.webkitRequestAnimationFrame) {\r\n return requester.webkitRequestAnimationFrame(func);\r\n }\r\n else if (requester.mozRequestAnimationFrame) {\r\n return requester.mozRequestAnimationFrame(func);\r\n }\r\n else if (requester.oRequestAnimationFrame) {\r\n return requester.oRequestAnimationFrame(func);\r\n }\r\n else {\r\n return window.setTimeout(func, 16);\r\n }\r\n }\r\n\r\n /**\r\n * Gets host document\r\n * @returns the host document object\r\n */\r\n public getHostDocument(): Nullable {\r\n if (this._renderingCanvas && this._renderingCanvas.ownerDocument) {\r\n return this._renderingCanvas.ownerDocument;\r\n }\r\n\r\n return document;\r\n }\r\n}\r\n","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport responsivePropType from './responsivePropType';\nimport { handleBreakpoints } from './breakpoints';\n\nfunction getPath(obj, path) {\n if (!path || typeof path !== 'string') {\n return null;\n }\n\n return path.split('.').reduce(function (acc, item) {\n return acc && acc[item] ? acc[item] : null;\n }, obj);\n}\n\nfunction style(options) {\n var prop = options.prop,\n _options$cssProperty = options.cssProperty,\n cssProperty = _options$cssProperty === void 0 ? options.prop : _options$cssProperty,\n themeKey = options.themeKey,\n transform = options.transform;\n\n var fn = function fn(props) {\n if (props[prop] == null) {\n return null;\n }\n\n var propValue = props[prop];\n var theme = props.theme;\n var themeMapping = getPath(theme, themeKey) || {};\n\n var styleFromPropValue = function styleFromPropValue(propValueFinal) {\n var value;\n\n if (typeof themeMapping === 'function') {\n value = themeMapping(propValueFinal);\n } else if (Array.isArray(themeMapping)) {\n value = themeMapping[propValueFinal] || propValueFinal;\n } else {\n value = getPath(themeMapping, propValueFinal) || propValueFinal;\n\n if (transform) {\n value = transform(value);\n }\n }\n\n if (cssProperty === false) {\n return value;\n }\n\n return _defineProperty({}, cssProperty, value);\n };\n\n return handleBreakpoints(props, propValue, styleFromPropValue);\n };\n\n fn.propTypes = process.env.NODE_ENV !== 'production' ? _defineProperty({}, prop, responsivePropType) : {};\n fn.filterProps = [prop];\n return fn;\n}\n\nexport default style;","/**\r\n * Constant used to convert a value to gamma space\r\n * @ignorenaming\r\n */\r\nexport const ToGammaSpace = 1 / 2.2;\r\n/**\r\n * Constant used to convert a value to linear space\r\n * @ignorenaming\r\n */\r\nexport const ToLinearSpace = 2.2;\r\n/**\r\n * Constant used to define the minimal number value in Babylon.js\r\n * @ignorenaming\r\n */\r\nlet Epsilon = 0.001;\r\nexport { Epsilon };","import { Observable } from \"../../Misc/observable\";\r\nimport { Nullable, int } from \"../../types\";\r\nimport { RenderTargetCreationOptions } from \"../../Materials/Textures/renderTargetCreationOptions\";\r\n\r\nimport { _DevTools } from '../../Misc/devTools';\r\nimport { Engine } from '../../Engines/engine';\r\n\r\ndeclare type ThinEngine = import(\"../../Engines/thinEngine\").ThinEngine;\r\ndeclare type BaseTexture = import(\"../../Materials/Textures/baseTexture\").BaseTexture;\r\ndeclare type SphericalPolynomial = import(\"../../Maths/sphericalPolynomial\").SphericalPolynomial;\r\n\r\n/**\r\n * Defines the source of the internal texture\r\n */\r\nexport enum InternalTextureSource {\r\n /**\r\n * The source of the texture data is unknown\r\n */\r\n Unknown,\r\n /**\r\n * Texture data comes from an URL\r\n */\r\n Url,\r\n /**\r\n * Texture data is only used for temporary storage\r\n */\r\n Temp,\r\n /**\r\n * Texture data comes from raw data (ArrayBuffer)\r\n */\r\n Raw,\r\n /**\r\n * Texture content is dynamic (video or dynamic texture)\r\n */\r\n Dynamic,\r\n /**\r\n * Texture content is generated by rendering to it\r\n */\r\n RenderTarget,\r\n /**\r\n * Texture content is part of a multi render target process\r\n */\r\n MultiRenderTarget,\r\n /**\r\n * Texture data comes from a cube data file\r\n */\r\n Cube,\r\n /**\r\n * Texture data comes from a raw cube data\r\n */\r\n CubeRaw,\r\n /**\r\n * Texture data come from a prefiltered cube data file\r\n */\r\n CubePrefiltered,\r\n /**\r\n * Texture content is raw 3D data\r\n */\r\n Raw3D,\r\n /**\r\n * Texture content is raw 2D array data\r\n */\r\n Raw2DArray,\r\n /**\r\n * Texture content is a depth texture\r\n */\r\n Depth,\r\n /**\r\n * Texture data comes from a raw cube data encoded with RGBD\r\n */\r\n CubeRawRGBD\r\n}\r\n\r\n/**\r\n * Class used to store data associated with WebGL texture data for the engine\r\n * This class should not be used directly\r\n */\r\nexport class InternalTexture {\r\n\r\n /** @hidden */\r\n public static _UpdateRGBDAsync = (internalTexture: InternalTexture, data: ArrayBufferView[][], sphericalPolynomial: Nullable, lodScale: number, lodOffset: number): Promise => {\r\n throw _DevTools.WarnImport(\"environmentTextureTools\");\r\n }\r\n\r\n /**\r\n * Defines if the texture is ready\r\n */\r\n public isReady: boolean = false;\r\n /**\r\n * Defines if the texture is a cube texture\r\n */\r\n public isCube: boolean = false;\r\n /**\r\n * Defines if the texture contains 3D data\r\n */\r\n public is3D: boolean = false;\r\n /**\r\n * Defines if the texture contains 2D array data\r\n */\r\n public is2DArray: boolean = false;\r\n /**\r\n * Defines if the texture contains multiview data\r\n */\r\n public isMultiview: boolean = false;\r\n /**\r\n * Gets the URL used to load this texture\r\n */\r\n public url: string = \"\";\r\n /** @hidden */\r\n public _originalUrl: string; // not empty only if different from url\r\n /**\r\n * Gets the sampling mode of the texture\r\n */\r\n public samplingMode: number = -1;\r\n /**\r\n * Gets a boolean indicating if the texture needs mipmaps generation\r\n */\r\n public generateMipMaps: boolean = false;\r\n /**\r\n * Gets the number of samples used by the texture (WebGL2+ only)\r\n */\r\n public samples: number = 0;\r\n /**\r\n * Gets the type of the texture (int, float...)\r\n */\r\n public type: number = -1;\r\n /**\r\n * Gets the format of the texture (RGB, RGBA...)\r\n */\r\n public format: number = -1;\r\n /**\r\n * Observable called when the texture is loaded\r\n */\r\n public onLoadedObservable = new Observable();\r\n /**\r\n * Gets the width of the texture\r\n */\r\n public width: number = 0;\r\n /**\r\n * Gets the height of the texture\r\n */\r\n public height: number = 0;\r\n /**\r\n * Gets the depth of the texture\r\n */\r\n public depth: number = 0;\r\n /**\r\n * Gets the initial width of the texture (It could be rescaled if the current system does not support non power of two textures)\r\n */\r\n public baseWidth: number = 0;\r\n /**\r\n * Gets the initial height of the texture (It could be rescaled if the current system does not support non power of two textures)\r\n */\r\n public baseHeight: number = 0;\r\n /**\r\n * Gets the initial depth of the texture (It could be rescaled if the current system does not support non power of two textures)\r\n */\r\n public baseDepth: number = 0;\r\n /**\r\n * Gets a boolean indicating if the texture is inverted on Y axis\r\n */\r\n public invertY: boolean = false;\r\n\r\n // Private\r\n /** @hidden */\r\n public _invertVScale = false;\r\n /** @hidden */\r\n public _associatedChannel = -1;\r\n /** @hidden */\r\n public _source = InternalTextureSource.Unknown;\r\n /** @hidden */\r\n public _buffer: Nullable = null;\r\n /** @hidden */\r\n public _bufferView: Nullable = null;\r\n /** @hidden */\r\n public _bufferViewArray: Nullable = null;\r\n /** @hidden */\r\n public _bufferViewArrayArray: Nullable = null;\r\n /** @hidden */\r\n public _size: number = 0;\r\n /** @hidden */\r\n public _extension: string = \"\";\r\n /** @hidden */\r\n public _files: Nullable = null;\r\n /** @hidden */\r\n public _workingCanvas: Nullable = null;\r\n /** @hidden */\r\n public _workingContext: Nullable = null;\r\n /** @hidden */\r\n public _framebuffer: Nullable = null;\r\n /** @hidden */\r\n public _depthStencilBuffer: Nullable = null;\r\n /** @hidden */\r\n public _MSAAFramebuffer: Nullable = null;\r\n /** @hidden */\r\n public _MSAARenderBuffer: Nullable = null;\r\n /** @hidden */\r\n public _attachments: Nullable = null;\r\n /** @hidden */\r\n public _textureArray: Nullable = null;\r\n /** @hidden */\r\n public _cachedCoordinatesMode: Nullable = null;\r\n /** @hidden */\r\n public _cachedWrapU: Nullable = null;\r\n /** @hidden */\r\n public _cachedWrapV: Nullable = null;\r\n /** @hidden */\r\n public _cachedWrapR: Nullable = null;\r\n /** @hidden */\r\n public _cachedAnisotropicFilteringLevel: Nullable = null;\r\n /** @hidden */\r\n public _isDisabled: boolean = false;\r\n /** @hidden */\r\n public _compression: Nullable = null;\r\n /** @hidden */\r\n public _generateStencilBuffer: boolean = false;\r\n /** @hidden */\r\n public _generateDepthBuffer: boolean = false;\r\n /** @hidden */\r\n public _comparisonFunction: number = 0;\r\n /** @hidden */\r\n public _sphericalPolynomial: Nullable = null;\r\n /** @hidden */\r\n public _lodGenerationScale: number = 0;\r\n /** @hidden */\r\n public _lodGenerationOffset: number = 0;\r\n /** @hidden */\r\n public _depthStencilTexture: Nullable;\r\n\r\n // Multiview\r\n /** @hidden */\r\n public _colorTextureArray: Nullable = null;\r\n /** @hidden */\r\n public _depthStencilTextureArray: Nullable = null;\r\n\r\n // The following three fields helps sharing generated fixed LODs for texture filtering\r\n // In environment not supporting the textureLOD extension like EDGE. They are for internal use only.\r\n // They are at the level of the gl texture to benefit from the cache.\r\n /** @hidden */\r\n public _lodTextureHigh: Nullable = null;\r\n /** @hidden */\r\n public _lodTextureMid: Nullable = null;\r\n /** @hidden */\r\n public _lodTextureLow: Nullable = null;\r\n /** @hidden */\r\n public _isRGBD: boolean = false;\r\n\r\n /** @hidden */\r\n public _linearSpecularLOD: boolean = false;\r\n /** @hidden */\r\n public _irradianceTexture: Nullable = null;\r\n\r\n /** @hidden */\r\n public _webGLTexture: Nullable = null;\r\n /** @hidden */\r\n public _references: number = 1;\r\n\r\n /** @hidden */\r\n public _gammaSpace: Nullable = null;\r\n\r\n private _engine: ThinEngine;\r\n\r\n /**\r\n * Gets the Engine the texture belongs to.\r\n * @returns The babylon engine\r\n */\r\n public getEngine(): ThinEngine {\r\n return this._engine;\r\n }\r\n\r\n /**\r\n * Gets the data source type of the texture\r\n */\r\n public get source(): InternalTextureSource {\r\n return this._source;\r\n }\r\n\r\n /**\r\n * Creates a new InternalTexture\r\n * @param engine defines the engine to use\r\n * @param source defines the type of data that will be used\r\n * @param delayAllocation if the texture allocation should be delayed (default: false)\r\n */\r\n constructor(engine: ThinEngine, source: InternalTextureSource, delayAllocation = false) {\r\n this._engine = engine;\r\n this._source = source;\r\n\r\n if (!delayAllocation) {\r\n this._webGLTexture = engine._createTexture();\r\n }\r\n }\r\n\r\n /**\r\n * Increments the number of references (ie. the number of Texture that point to it)\r\n */\r\n public incrementReferences(): void {\r\n this._references++;\r\n }\r\n\r\n /**\r\n * Change the size of the texture (not the size of the content)\r\n * @param width defines the new width\r\n * @param height defines the new height\r\n * @param depth defines the new depth (1 by default)\r\n */\r\n public updateSize(width: int, height: int, depth: int = 1): void {\r\n this.width = width;\r\n this.height = height;\r\n this.depth = depth;\r\n\r\n this.baseWidth = width;\r\n this.baseHeight = height;\r\n this.baseDepth = depth;\r\n\r\n this._size = width * height * depth;\r\n }\r\n\r\n /** @hidden */\r\n public _rebuild(): void {\r\n var proxy: InternalTexture;\r\n this.isReady = false;\r\n this._cachedCoordinatesMode = null;\r\n this._cachedWrapU = null;\r\n this._cachedWrapV = null;\r\n this._cachedAnisotropicFilteringLevel = null;\r\n\r\n switch (this.source) {\r\n case InternalTextureSource.Temp:\r\n return;\r\n\r\n case InternalTextureSource.Url:\r\n proxy = this._engine.createTexture(this._originalUrl ?? this.url, !this.generateMipMaps, this.invertY, null, this.samplingMode, () => {\r\n proxy._swapAndDie(this);\r\n this.isReady = true;\r\n }, null, this._buffer, undefined, this.format);\r\n return;\r\n\r\n case InternalTextureSource.Raw:\r\n proxy = this._engine.createRawTexture(this._bufferView, this.baseWidth, this.baseHeight, this.format, this.generateMipMaps,\r\n this.invertY, this.samplingMode, this._compression);\r\n proxy._swapAndDie(this);\r\n\r\n this.isReady = true;\r\n return;\r\n\r\n case InternalTextureSource.Raw3D:\r\n proxy = this._engine.createRawTexture3D(this._bufferView, this.baseWidth, this.baseHeight, this.baseDepth, this.format, this.generateMipMaps,\r\n this.invertY, this.samplingMode, this._compression);\r\n proxy._swapAndDie(this);\r\n\r\n this.isReady = true;\r\n return;\r\n\r\n case InternalTextureSource.Raw2DArray:\r\n proxy = this._engine.createRawTexture2DArray(this._bufferView, this.baseWidth, this.baseHeight, this.baseDepth, this.format, this.generateMipMaps,\r\n this.invertY, this.samplingMode, this._compression);\r\n proxy._swapAndDie(this);\r\n\r\n this.isReady = true;\r\n return;\r\n\r\n case InternalTextureSource.Dynamic:\r\n proxy = this._engine.createDynamicTexture(this.baseWidth, this.baseHeight, this.generateMipMaps, this.samplingMode);\r\n proxy._swapAndDie(this);\r\n this._engine.updateDynamicTexture(this, this._engine.getRenderingCanvas()!, this.invertY, undefined, undefined, true);\r\n\r\n // The engine will make sure to update content so no need to flag it as isReady = true\r\n return;\r\n\r\n case InternalTextureSource.RenderTarget:\r\n let options = new RenderTargetCreationOptions();\r\n options.generateDepthBuffer = this._generateDepthBuffer;\r\n options.generateMipMaps = this.generateMipMaps;\r\n options.generateStencilBuffer = this._generateStencilBuffer;\r\n options.samplingMode = this.samplingMode;\r\n options.type = this.type;\r\n\r\n if (this.isCube) {\r\n proxy = this._engine.createRenderTargetCubeTexture(this.width, options);\r\n } else {\r\n let size = {\r\n width: this.width,\r\n height: this.height,\r\n layers: this.is2DArray ? this.depth : undefined\r\n };\r\n\r\n proxy = (this._engine as Engine).createRenderTargetTexture(size, options);\r\n }\r\n proxy._swapAndDie(this);\r\n\r\n this.isReady = true;\r\n return;\r\n case InternalTextureSource.Depth:\r\n let depthTextureOptions = {\r\n bilinearFiltering: this.samplingMode !== 2,\r\n comparisonFunction: this._comparisonFunction,\r\n generateStencil: this._generateStencilBuffer,\r\n isCube: this.isCube\r\n };\r\n\r\n let size = {\r\n width: this.width,\r\n height: this.height,\r\n layers: this.is2DArray ? this.depth : undefined\r\n };\r\n proxy = this._engine.createDepthStencilTexture(size, depthTextureOptions);\r\n proxy._swapAndDie(this);\r\n\r\n this.isReady = true;\r\n return;\r\n\r\n case InternalTextureSource.Cube:\r\n proxy = this._engine.createCubeTexture(this.url, null, this._files, !this.generateMipMaps, () => {\r\n proxy._swapAndDie(this);\r\n this.isReady = true;\r\n }, null, this.format, this._extension);\r\n return;\r\n\r\n case InternalTextureSource.CubeRaw:\r\n proxy = this._engine.createRawCubeTexture(this._bufferViewArray!, this.width, this.format, this.type, this.generateMipMaps, this.invertY, this.samplingMode, this._compression);\r\n proxy._swapAndDie(this);\r\n this.isReady = true;\r\n return;\r\n\r\n case InternalTextureSource.CubeRawRGBD:\r\n proxy = this._engine.createRawCubeTexture(null, this.width, this.format, this.type, this.generateMipMaps, this.invertY, this.samplingMode, this._compression);\r\n InternalTexture._UpdateRGBDAsync(proxy, this._bufferViewArrayArray!, this._sphericalPolynomial, this._lodGenerationScale, this._lodGenerationOffset).then(() => {\r\n proxy._swapAndDie(this);\r\n this.isReady = true;\r\n });\r\n return;\r\n\r\n case InternalTextureSource.CubePrefiltered:\r\n proxy = this._engine.createPrefilteredCubeTexture(this.url, null, this._lodGenerationScale, this._lodGenerationOffset, (proxy) => {\r\n if (proxy) {\r\n proxy._swapAndDie(this);\r\n }\r\n\r\n this.isReady = true;\r\n }, null, this.format, this._extension);\r\n proxy._sphericalPolynomial = this._sphericalPolynomial;\r\n return;\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _swapAndDie(target: InternalTexture): void {\r\n target._webGLTexture = this._webGLTexture;\r\n target._isRGBD = this._isRGBD;\r\n\r\n if (this._framebuffer) {\r\n target._framebuffer = this._framebuffer;\r\n }\r\n\r\n if (this._depthStencilBuffer) {\r\n target._depthStencilBuffer = this._depthStencilBuffer;\r\n }\r\n\r\n target._depthStencilTexture = this._depthStencilTexture;\r\n\r\n if (this._lodTextureHigh) {\r\n if (target._lodTextureHigh) {\r\n target._lodTextureHigh.dispose();\r\n }\r\n target._lodTextureHigh = this._lodTextureHigh;\r\n }\r\n\r\n if (this._lodTextureMid) {\r\n if (target._lodTextureMid) {\r\n target._lodTextureMid.dispose();\r\n }\r\n target._lodTextureMid = this._lodTextureMid;\r\n }\r\n\r\n if (this._lodTextureLow) {\r\n if (target._lodTextureLow) {\r\n target._lodTextureLow.dispose();\r\n }\r\n target._lodTextureLow = this._lodTextureLow;\r\n }\r\n\r\n if (this._irradianceTexture) {\r\n if (target._irradianceTexture) {\r\n target._irradianceTexture.dispose();\r\n }\r\n target._irradianceTexture = this._irradianceTexture;\r\n }\r\n\r\n let cache = this._engine.getLoadedTexturesCache();\r\n var index = cache.indexOf(this);\r\n if (index !== -1) {\r\n cache.splice(index, 1);\r\n }\r\n\r\n var index = cache.indexOf(target);\r\n if (index === -1) {\r\n cache.push(target);\r\n }\r\n }\r\n\r\n /**\r\n * Dispose the current allocated resources\r\n */\r\n public dispose(): void {\r\n if (!this._webGLTexture) {\r\n return;\r\n }\r\n\r\n this._references--;\r\n if (this._references === 0) {\r\n this._engine._releaseTexture(this);\r\n this._webGLTexture = null;\r\n }\r\n }\r\n}\r\n","module.exports = require('./lib/axios');","import { Scene } from \"./scene\";\r\nimport { Nullable } from \"./types\";\r\nimport { Matrix, Vector3 } from \"./Maths/math.vector\";\r\nimport { Engine } from \"./Engines/engine\";\r\nimport { IBehaviorAware, Behavior } from \"./Behaviors/behavior\";\r\nimport { serialize } from \"./Misc/decorators\";\r\nimport { Observable, Observer } from \"./Misc/observable\";\r\nimport { EngineStore } from \"./Engines/engineStore\";\r\nimport { _DevTools } from './Misc/devTools';\r\nimport { AbstractActionManager } from './Actions/abstractActionManager';\r\nimport { IInspectable } from './Misc/iInspectable';\r\n\r\ndeclare type Animatable = import(\"./Animations/animatable\").Animatable;\r\ndeclare type AnimationPropertiesOverride = import(\"./Animations/animationPropertiesOverride\").AnimationPropertiesOverride;\r\ndeclare type Animation = import(\"./Animations/animation\").Animation;\r\ndeclare type AnimationRange = import(\"./Animations/animationRange\").AnimationRange;\r\ndeclare type AbstractMesh = import(\"./Meshes/abstractMesh\").AbstractMesh;\r\n\r\n/**\r\n * Defines how a node can be built from a string name.\r\n */\r\nexport type NodeConstructor = (name: string, scene: Scene, options?: any) => () => Node;\r\n\r\n/**\r\n * Node is the basic class for all scene objects (Mesh, Light, Camera.)\r\n */\r\nexport class Node implements IBehaviorAware {\r\n /** @hidden */\r\n public static _AnimationRangeFactory = (name: string, from: number, to: number): AnimationRange => {\r\n throw _DevTools.WarnImport(\"AnimationRange\");\r\n }\r\n\r\n private static _NodeConstructors: { [key: string]: any } = {};\r\n\r\n /**\r\n * Add a new node constructor\r\n * @param type defines the type name of the node to construct\r\n * @param constructorFunc defines the constructor function\r\n */\r\n public static AddNodeConstructor(type: string, constructorFunc: NodeConstructor) {\r\n this._NodeConstructors[type] = constructorFunc;\r\n }\r\n\r\n /**\r\n * Returns a node constructor based on type name\r\n * @param type defines the type name\r\n * @param name defines the new node name\r\n * @param scene defines the hosting scene\r\n * @param options defines optional options to transmit to constructors\r\n * @returns the new constructor or null\r\n */\r\n public static Construct(type: string, name: string, scene: Scene, options?: any): Nullable<() => Node> {\r\n let constructorFunc = this._NodeConstructors[type];\r\n\r\n if (!constructorFunc) {\r\n return null;\r\n }\r\n\r\n return constructorFunc(name, scene, options);\r\n }\r\n\r\n /**\r\n * Gets or sets the name of the node\r\n */\r\n @serialize()\r\n public name: string;\r\n\r\n /**\r\n * Gets or sets the id of the node\r\n */\r\n @serialize()\r\n public id: string;\r\n\r\n /**\r\n * Gets or sets the unique id of the node\r\n */\r\n @serialize()\r\n public uniqueId: number;\r\n\r\n /**\r\n * Gets or sets a string used to store user defined state for the node\r\n */\r\n @serialize()\r\n public state = \"\";\r\n\r\n /**\r\n * Gets or sets an object used to store user defined information for the node\r\n */\r\n @serialize()\r\n public metadata: any = null;\r\n\r\n /**\r\n * For internal use only. Please do not use.\r\n */\r\n public reservedDataStore: any = null;\r\n\r\n /**\r\n * List of inspectable custom properties (used by the Inspector)\r\n * @see https://doc.babylonjs.com/how_to/debug_layer#extensibility\r\n */\r\n public inspectableCustomProperties: IInspectable[];\r\n\r\n private _doNotSerialize = false;\r\n /**\r\n * Gets or sets a boolean used to define if the node must be serialized\r\n */\r\n public get doNotSerialize() {\r\n if (this._doNotSerialize) {\r\n return true;\r\n }\r\n\r\n if (this._parentNode) {\r\n return this._parentNode.doNotSerialize;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public set doNotSerialize(value: boolean) {\r\n this._doNotSerialize = value;\r\n }\r\n\r\n /** @hidden */\r\n public _isDisposed = false;\r\n\r\n /**\r\n * Gets a list of Animations associated with the node\r\n */\r\n public animations = new Array();\r\n protected _ranges: { [name: string]: Nullable } = {};\r\n\r\n /**\r\n * Callback raised when the node is ready to be used\r\n */\r\n public onReady: Nullable<(node: Node) => void> = null;\r\n\r\n private _isEnabled = true;\r\n private _isParentEnabled = true;\r\n private _isReady = true;\r\n /** @hidden */\r\n public _currentRenderId = -1;\r\n private _parentUpdateId = -1;\r\n /** @hidden */\r\n public _childUpdateId = -1;\r\n\r\n /** @hidden */\r\n public _waitingParentId: Nullable = null;\r\n /** @hidden */\r\n public _scene: Scene;\r\n /** @hidden */\r\n public _cache: any = {};\r\n\r\n private _parentNode: Nullable = null;\r\n private _children: Nullable = null;\r\n\r\n /** @hidden */\r\n public _worldMatrix = Matrix.Identity();\r\n /** @hidden */\r\n public _worldMatrixDeterminant = 0;\r\n /** @hidden */\r\n public _worldMatrixDeterminantIsDirty = true;\r\n\r\n /** @hidden */\r\n private _sceneRootNodesIndex = -1;\r\n\r\n /**\r\n * Gets a boolean indicating if the node has been disposed\r\n * @returns true if the node was disposed\r\n */\r\n public isDisposed(): boolean {\r\n return this._isDisposed;\r\n }\r\n\r\n /**\r\n * Gets or sets the parent of the node (without keeping the current position in the scene)\r\n * @see https://doc.babylonjs.com/how_to/parenting\r\n */\r\n public set parent(parent: Nullable) {\r\n if (this._parentNode === parent) {\r\n return;\r\n }\r\n\r\n const previousParentNode = this._parentNode;\r\n\r\n // Remove self from list of children of parent\r\n if (this._parentNode && this._parentNode._children !== undefined && this._parentNode._children !== null) {\r\n var index = this._parentNode._children.indexOf(this);\r\n if (index !== -1) {\r\n this._parentNode._children.splice(index, 1);\r\n }\r\n\r\n if (!parent && !this._isDisposed) {\r\n this._addToSceneRootNodes();\r\n }\r\n }\r\n\r\n // Store new parent\r\n this._parentNode = parent;\r\n\r\n // Add as child to new parent\r\n if (this._parentNode) {\r\n if (this._parentNode._children === undefined || this._parentNode._children === null) {\r\n this._parentNode._children = new Array();\r\n }\r\n this._parentNode._children.push(this);\r\n\r\n if (!previousParentNode) {\r\n this._removeFromSceneRootNodes();\r\n }\r\n }\r\n\r\n // Enabled state\r\n this._syncParentEnabledState();\r\n }\r\n\r\n public get parent(): Nullable {\r\n return this._parentNode;\r\n }\r\n\r\n /** @hidden */\r\n public _addToSceneRootNodes() {\r\n if (this._sceneRootNodesIndex === -1) {\r\n this._sceneRootNodesIndex = this._scene.rootNodes.length;\r\n this._scene.rootNodes.push(this);\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _removeFromSceneRootNodes() {\r\n if (this._sceneRootNodesIndex !== -1) {\r\n const rootNodes = this._scene.rootNodes;\r\n const lastIdx = rootNodes.length - 1;\r\n rootNodes[this._sceneRootNodesIndex] = rootNodes[lastIdx];\r\n rootNodes[this._sceneRootNodesIndex]._sceneRootNodesIndex = this._sceneRootNodesIndex;\r\n this._scene.rootNodes.pop();\r\n this._sceneRootNodesIndex = -1;\r\n }\r\n }\r\n\r\n private _animationPropertiesOverride: Nullable = null;\r\n\r\n /**\r\n * Gets or sets the animation properties override\r\n */\r\n public get animationPropertiesOverride(): Nullable {\r\n if (!this._animationPropertiesOverride) {\r\n return this._scene.animationPropertiesOverride;\r\n }\r\n return this._animationPropertiesOverride;\r\n }\r\n\r\n public set animationPropertiesOverride(value: Nullable) {\r\n this._animationPropertiesOverride = value;\r\n }\r\n\r\n /**\r\n * Gets a string identifying the name of the class\r\n * @returns \"Node\" string\r\n */\r\n public getClassName(): string {\r\n return \"Node\";\r\n }\r\n\r\n /** @hidden */\r\n public readonly _isNode = true;\r\n\r\n /**\r\n * An event triggered when the mesh is disposed\r\n */\r\n public onDisposeObservable = new Observable();\r\n\r\n private _onDisposeObserver: Nullable> = null;\r\n /**\r\n * Sets a callback that will be raised when the node will be disposed\r\n */\r\n public set onDispose(callback: () => void) {\r\n if (this._onDisposeObserver) {\r\n this.onDisposeObservable.remove(this._onDisposeObserver);\r\n }\r\n this._onDisposeObserver = this.onDisposeObservable.add(callback);\r\n }\r\n\r\n /**\r\n * Creates a new Node\r\n * @param name the name and id to be given to this node\r\n * @param scene the scene this node will be added to\r\n */\r\n constructor(name: string, scene: Nullable = null) {\r\n this.name = name;\r\n this.id = name;\r\n this._scene = (scene || EngineStore.LastCreatedScene);\r\n this.uniqueId = this._scene.getUniqueId();\r\n this._initCache();\r\n }\r\n\r\n /**\r\n * Gets the scene of the node\r\n * @returns a scene\r\n */\r\n public getScene(): Scene {\r\n return this._scene;\r\n }\r\n\r\n /**\r\n * Gets the engine of the node\r\n * @returns a Engine\r\n */\r\n public getEngine(): Engine {\r\n return this._scene.getEngine();\r\n }\r\n\r\n // Behaviors\r\n private _behaviors = new Array>();\r\n\r\n /**\r\n * Attach a behavior to the node\r\n * @see https://doc.babylonjs.com/features/behaviour\r\n * @param behavior defines the behavior to attach\r\n * @param attachImmediately defines that the behavior must be attached even if the scene is still loading\r\n * @returns the current Node\r\n */\r\n public addBehavior(behavior: Behavior, attachImmediately = false): Node {\r\n var index = this._behaviors.indexOf(behavior);\r\n\r\n if (index !== -1) {\r\n return this;\r\n }\r\n\r\n behavior.init();\r\n if (this._scene.isLoading && !attachImmediately) {\r\n // We defer the attach when the scene will be loaded\r\n this._scene.onDataLoadedObservable.addOnce(() => {\r\n behavior.attach(this);\r\n });\r\n } else {\r\n behavior.attach(this);\r\n }\r\n this._behaviors.push(behavior);\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Remove an attached behavior\r\n * @see https://doc.babylonjs.com/features/behaviour\r\n * @param behavior defines the behavior to attach\r\n * @returns the current Node\r\n */\r\n public removeBehavior(behavior: Behavior): Node {\r\n var index = this._behaviors.indexOf(behavior);\r\n\r\n if (index === -1) {\r\n return this;\r\n }\r\n\r\n this._behaviors[index].detach();\r\n this._behaviors.splice(index, 1);\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets the list of attached behaviors\r\n * @see https://doc.babylonjs.com/features/behaviour\r\n */\r\n public get behaviors(): Behavior[] {\r\n return this._behaviors;\r\n }\r\n\r\n /**\r\n * Gets an attached behavior by name\r\n * @param name defines the name of the behavior to look for\r\n * @see https://doc.babylonjs.com/features/behaviour\r\n * @returns null if behavior was not found else the requested behavior\r\n */\r\n public getBehaviorByName(name: string): Nullable> {\r\n for (var behavior of this._behaviors) {\r\n if (behavior.name === name) {\r\n return behavior;\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the latest update of the World matrix\r\n * @returns a Matrix\r\n */\r\n public getWorldMatrix(): Matrix {\r\n if (this._currentRenderId !== this._scene.getRenderId()) {\r\n this.computeWorldMatrix();\r\n }\r\n return this._worldMatrix;\r\n }\r\n\r\n /** @hidden */\r\n public _getWorldMatrixDeterminant(): number {\r\n if (this._worldMatrixDeterminantIsDirty) {\r\n this._worldMatrixDeterminantIsDirty = false;\r\n this._worldMatrixDeterminant = this._worldMatrix.determinant();\r\n }\r\n return this._worldMatrixDeterminant;\r\n }\r\n\r\n /**\r\n * Returns directly the latest state of the mesh World matrix.\r\n * A Matrix is returned.\r\n */\r\n public get worldMatrixFromCache(): Matrix {\r\n return this._worldMatrix;\r\n }\r\n\r\n // override it in derived class if you add new variables to the cache\r\n // and call the parent class method\r\n /** @hidden */\r\n public _initCache() {\r\n this._cache = {};\r\n this._cache.parent = undefined;\r\n }\r\n\r\n /** @hidden */\r\n public updateCache(force?: boolean): void {\r\n if (!force && this.isSynchronized()) {\r\n return;\r\n }\r\n\r\n this._cache.parent = this.parent;\r\n\r\n this._updateCache();\r\n }\r\n\r\n /** @hidden */\r\n public _getActionManagerForTrigger(trigger?: number, initialCall = true): Nullable {\r\n if (!this.parent) {\r\n return null;\r\n }\r\n\r\n return this.parent._getActionManagerForTrigger(trigger, false);\r\n }\r\n\r\n // override it in derived class if you add new variables to the cache\r\n // and call the parent class method if !ignoreParentClass\r\n /** @hidden */\r\n public _updateCache(ignoreParentClass?: boolean): void {\r\n }\r\n\r\n // override it in derived class if you add new variables to the cache\r\n /** @hidden */\r\n public _isSynchronized(): boolean {\r\n return true;\r\n }\r\n\r\n /** @hidden */\r\n public _markSyncedWithParent() {\r\n if (this._parentNode) {\r\n this._parentUpdateId = this._parentNode._childUpdateId;\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public isSynchronizedWithParent(): boolean {\r\n if (!this._parentNode) {\r\n return true;\r\n }\r\n\r\n if (this._parentUpdateId !== this._parentNode._childUpdateId) {\r\n return false;\r\n }\r\n\r\n return this._parentNode.isSynchronized();\r\n }\r\n\r\n /** @hidden */\r\n public isSynchronized(): boolean {\r\n if (this._cache.parent != this._parentNode) {\r\n this._cache.parent = this._parentNode;\r\n return false;\r\n }\r\n\r\n if (this._parentNode && !this.isSynchronizedWithParent()) {\r\n return false;\r\n }\r\n\r\n return this._isSynchronized();\r\n }\r\n\r\n /**\r\n * Is this node ready to be used/rendered\r\n * @param completeCheck defines if a complete check (including materials and lights) has to be done (false by default)\r\n * @return true if the node is ready\r\n */\r\n public isReady(completeCheck = false): boolean {\r\n return this._isReady;\r\n }\r\n\r\n /**\r\n * Is this node enabled?\r\n * If the node has a parent, all ancestors will be checked and false will be returned if any are false (not enabled), otherwise will return true\r\n * @param checkAncestors indicates if this method should check the ancestors. The default is to check the ancestors. If set to false, the method will return the value of this node without checking ancestors\r\n * @return whether this node (and its parent) is enabled\r\n */\r\n public isEnabled(checkAncestors: boolean = true): boolean {\r\n if (checkAncestors === false) {\r\n return this._isEnabled;\r\n }\r\n\r\n if (!this._isEnabled) {\r\n return false;\r\n }\r\n\r\n return this._isParentEnabled;\r\n }\r\n\r\n /** @hidden */\r\n protected _syncParentEnabledState() {\r\n this._isParentEnabled = this._parentNode ? this._parentNode.isEnabled() : true;\r\n\r\n if (this._children) {\r\n this._children.forEach((c) => {\r\n c._syncParentEnabledState(); // Force children to update accordingly\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Set the enabled state of this node\r\n * @param value defines the new enabled state\r\n */\r\n public setEnabled(value: boolean): void {\r\n this._isEnabled = value;\r\n\r\n this._syncParentEnabledState();\r\n }\r\n\r\n /**\r\n * Is this node a descendant of the given node?\r\n * The function will iterate up the hierarchy until the ancestor was found or no more parents defined\r\n * @param ancestor defines the parent node to inspect\r\n * @returns a boolean indicating if this node is a descendant of the given node\r\n */\r\n public isDescendantOf(ancestor: Node): boolean {\r\n if (this.parent) {\r\n if (this.parent === ancestor) {\r\n return true;\r\n }\r\n\r\n return this.parent.isDescendantOf(ancestor);\r\n }\r\n return false;\r\n }\r\n\r\n /** @hidden */\r\n public _getDescendants(results: Node[], directDescendantsOnly: boolean = false, predicate?: (node: Node) => boolean): void {\r\n if (!this._children) {\r\n return;\r\n }\r\n\r\n for (var index = 0; index < this._children.length; index++) {\r\n var item = this._children[index];\r\n\r\n if (!predicate || predicate(item)) {\r\n results.push(item);\r\n }\r\n\r\n if (!directDescendantsOnly) {\r\n item._getDescendants(results, false, predicate);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Will return all nodes that have this node as ascendant\r\n * @param directDescendantsOnly defines if true only direct descendants of 'this' will be considered, if false direct and also indirect (children of children, an so on in a recursive manner) descendants of 'this' will be considered\r\n * @param predicate defines an optional predicate that will be called on every evaluated child, the predicate must return true for a given child to be part of the result, otherwise it will be ignored\r\n * @return all children nodes of all types\r\n */\r\n public getDescendants(directDescendantsOnly?: boolean, predicate?: (node: Node) => boolean): Node[] {\r\n var results = new Array();\r\n\r\n this._getDescendants(results, directDescendantsOnly, predicate);\r\n\r\n return results;\r\n }\r\n\r\n /**\r\n * Get all child-meshes of this node\r\n * @param directDescendantsOnly defines if true only direct descendants of 'this' will be considered, if false direct and also indirect (children of children, an so on in a recursive manner) descendants of 'this' will be considered (Default: false)\r\n * @param predicate defines an optional predicate that will be called on every evaluated child, the predicate must return true for a given child to be part of the result, otherwise it will be ignored\r\n * @returns an array of AbstractMesh\r\n */\r\n public getChildMeshes(directDescendantsOnly?: boolean, predicate?: (node: Node) => boolean): AbstractMesh[] {\r\n var results: Array = [];\r\n this._getDescendants(results, directDescendantsOnly, (node: Node) => {\r\n return ((!predicate || predicate(node)) && ((node).cullingStrategy !== undefined));\r\n });\r\n return results;\r\n }\r\n\r\n /**\r\n * Get all direct children of this node\r\n * @param predicate defines an optional predicate that will be called on every evaluated child, the predicate must return true for a given child to be part of the result, otherwise it will be ignored\r\n * @param directDescendantsOnly defines if true only direct descendants of 'this' will be considered, if false direct and also indirect (children of children, an so on in a recursive manner) descendants of 'this' will be considered (Default: true)\r\n * @returns an array of Node\r\n */\r\n public getChildren(predicate?: (node: Node) => boolean, directDescendantsOnly = true): Node[] {\r\n return this.getDescendants(directDescendantsOnly, predicate);\r\n }\r\n\r\n /** @hidden */\r\n public _setReady(state: boolean): void {\r\n if (state === this._isReady) {\r\n return;\r\n }\r\n\r\n if (!state) {\r\n this._isReady = false;\r\n return;\r\n }\r\n\r\n if (this.onReady) {\r\n this.onReady(this);\r\n }\r\n this._isReady = true;\r\n }\r\n\r\n /**\r\n * Get an animation by name\r\n * @param name defines the name of the animation to look for\r\n * @returns null if not found else the requested animation\r\n */\r\n public getAnimationByName(name: string): Nullable {\r\n for (var i = 0; i < this.animations.length; i++) {\r\n var animation = this.animations[i];\r\n\r\n if (animation.name === name) {\r\n return animation;\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Creates an animation range for this node\r\n * @param name defines the name of the range\r\n * @param from defines the starting key\r\n * @param to defines the end key\r\n */\r\n public createAnimationRange(name: string, from: number, to: number): void {\r\n // check name not already in use\r\n if (!this._ranges[name]) {\r\n this._ranges[name] = Node._AnimationRangeFactory(name, from, to);\r\n for (var i = 0, nAnimations = this.animations.length; i < nAnimations; i++) {\r\n if (this.animations[i]) {\r\n this.animations[i].createRange(name, from, to);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Delete a specific animation range\r\n * @param name defines the name of the range to delete\r\n * @param deleteFrames defines if animation frames from the range must be deleted as well\r\n */\r\n public deleteAnimationRange(name: string, deleteFrames = true): void {\r\n for (var i = 0, nAnimations = this.animations.length; i < nAnimations; i++) {\r\n if (this.animations[i]) {\r\n this.animations[i].deleteRange(name, deleteFrames);\r\n }\r\n }\r\n this._ranges[name] = null; // said much faster than 'delete this._range[name]'\r\n }\r\n\r\n /**\r\n * Get an animation range by name\r\n * @param name defines the name of the animation range to look for\r\n * @returns null if not found else the requested animation range\r\n */\r\n public getAnimationRange(name: string): Nullable {\r\n return this._ranges[name] || null;\r\n }\r\n\r\n /**\r\n * Gets the list of all animation ranges defined on this node\r\n * @returns an array\r\n */\r\n public getAnimationRanges(): Nullable[] {\r\n var animationRanges: Nullable[] = [];\r\n var name: string;\r\n for (name in this._ranges) {\r\n animationRanges.push(this._ranges[name]);\r\n }\r\n return animationRanges;\r\n }\r\n\r\n /**\r\n * Will start the animation sequence\r\n * @param name defines the range frames for animation sequence\r\n * @param loop defines if the animation should loop (false by default)\r\n * @param speedRatio defines the speed factor in which to run the animation (1 by default)\r\n * @param onAnimationEnd defines a function to be executed when the animation ended (undefined by default)\r\n * @returns the object created for this animation. If range does not exist, it will return null\r\n */\r\n public beginAnimation(name: string, loop?: boolean, speedRatio?: number, onAnimationEnd?: () => void): Nullable {\r\n var range = this.getAnimationRange(name);\r\n\r\n if (!range) {\r\n return null;\r\n }\r\n\r\n return this._scene.beginAnimation(this, range.from, range.to, loop, speedRatio, onAnimationEnd);\r\n }\r\n\r\n /**\r\n * Serialize animation ranges into a JSON compatible object\r\n * @returns serialization object\r\n */\r\n public serializeAnimationRanges(): any {\r\n var serializationRanges = [];\r\n for (var name in this._ranges) {\r\n var localRange = this._ranges[name];\r\n if (!localRange) {\r\n continue;\r\n }\r\n var range: any = {};\r\n range.name = name;\r\n range.from = localRange.from;\r\n range.to = localRange.to;\r\n serializationRanges.push(range);\r\n }\r\n return serializationRanges;\r\n }\r\n\r\n /**\r\n * Computes the world matrix of the node\r\n * @param force defines if the cache version should be invalidated forcing the world matrix to be created from scratch\r\n * @returns the world matrix\r\n */\r\n public computeWorldMatrix(force?: boolean): Matrix {\r\n if (!this._worldMatrix) {\r\n this._worldMatrix = Matrix.Identity();\r\n }\r\n return this._worldMatrix;\r\n }\r\n\r\n /**\r\n * Releases resources associated with this node.\r\n * @param doNotRecurse Set to true to not recurse into each children (recurse into each children by default)\r\n * @param disposeMaterialAndTextures Set to true to also dispose referenced materials and textures (false by default)\r\n */\r\n public dispose(doNotRecurse?: boolean, disposeMaterialAndTextures = false): void {\r\n this._isDisposed = true;\r\n\r\n if (!doNotRecurse) {\r\n const nodes = this.getDescendants(true);\r\n for (const node of nodes) {\r\n node.dispose(doNotRecurse, disposeMaterialAndTextures);\r\n }\r\n }\r\n\r\n if (!this.parent) {\r\n this._removeFromSceneRootNodes();\r\n } else {\r\n this.parent = null;\r\n }\r\n\r\n // Callback\r\n this.onDisposeObservable.notifyObservers(this);\r\n this.onDisposeObservable.clear();\r\n\r\n // Behaviors\r\n for (var behavior of this._behaviors) {\r\n behavior.detach();\r\n }\r\n\r\n this._behaviors = [];\r\n }\r\n\r\n /**\r\n * Parse animation range data from a serialization object and store them into a given node\r\n * @param node defines where to store the animation ranges\r\n * @param parsedNode defines the serialization object to read data from\r\n * @param scene defines the hosting scene\r\n */\r\n public static ParseAnimationRanges(node: Node, parsedNode: any, scene: Scene): void {\r\n if (parsedNode.ranges) {\r\n for (var index = 0; index < parsedNode.ranges.length; index++) {\r\n var data = parsedNode.ranges[index];\r\n node.createAnimationRange(data.name, data.from, data.to);\r\n }\r\n }\r\n }\r\n /**\r\n * Return the minimum and maximum world vectors of the entire hierarchy under current node\r\n * @param includeDescendants Include bounding info from descendants as well (true by default)\r\n * @param predicate defines a callback function that can be customize to filter what meshes should be included in the list used to compute the bounding vectors\r\n * @returns the new bounding vectors\r\n */\r\n public getHierarchyBoundingVectors(includeDescendants = true, predicate: Nullable<(abstractMesh: AbstractMesh) => boolean> = null): { min: Vector3, max: Vector3 } {\r\n // Ensures that all world matrix will be recomputed.\r\n this.getScene().incrementRenderId();\r\n\r\n this.computeWorldMatrix(true);\r\n\r\n let min: Vector3;\r\n let max: Vector3;\r\n\r\n let thisAbstractMesh = (this as Node as AbstractMesh);\r\n if (thisAbstractMesh.getBoundingInfo && thisAbstractMesh.subMeshes) {\r\n // If this is an abstract mesh get its bounding info\r\n let boundingInfo = thisAbstractMesh.getBoundingInfo();\r\n min = boundingInfo.boundingBox.minimumWorld.clone();\r\n max = boundingInfo.boundingBox.maximumWorld.clone();\r\n } else {\r\n min = new Vector3(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE);\r\n max = new Vector3(-Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE);\r\n }\r\n\r\n if (includeDescendants) {\r\n let descendants = this.getDescendants(false);\r\n\r\n for (var descendant of descendants) {\r\n let childMesh = descendant;\r\n childMesh.computeWorldMatrix(true);\r\n\r\n // Filters meshes based on custom predicate function.\r\n if (predicate && !predicate(childMesh)) {\r\n continue;\r\n }\r\n\r\n //make sure we have the needed params to get mix and max\r\n if (!childMesh.getBoundingInfo || childMesh.getTotalVertices() === 0) {\r\n continue;\r\n }\r\n\r\n let childBoundingInfo = childMesh.getBoundingInfo();\r\n let boundingBox = childBoundingInfo.boundingBox;\r\n\r\n var minBox = boundingBox.minimumWorld;\r\n var maxBox = boundingBox.maximumWorld;\r\n\r\n Vector3.CheckExtends(minBox, min, max);\r\n Vector3.CheckExtends(maxBox, min, max);\r\n }\r\n }\r\n\r\n return {\r\n min: min,\r\n max: max\r\n };\r\n }\r\n}\r\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'defaultFragmentDeclaration';\nlet shader = `uniform vec4 vDiffuseColor;\n#ifdef SPECULARTERM\nuniform vec4 vSpecularColor;\n#endif\nuniform vec3 vEmissiveColor;\nuniform float visibility;\n\n#ifdef DIFFUSE\nuniform vec2 vDiffuseInfos;\n#endif\n#ifdef AMBIENT\nuniform vec2 vAmbientInfos;\n#endif\n#ifdef OPACITY\nuniform vec2 vOpacityInfos;\n#endif\n#ifdef EMISSIVE\nuniform vec2 vEmissiveInfos;\n#endif\n#ifdef LIGHTMAP\nuniform vec2 vLightmapInfos;\n#endif\n#ifdef BUMP\nuniform vec3 vBumpInfos;\nuniform vec2 vTangentSpaceParams;\n#endif\n#if defined(REFLECTIONMAP_SPHERICAL) || defined(REFLECTIONMAP_PROJECTION) || defined(REFRACTION)\nuniform mat4 view;\n#endif\n#ifdef REFRACTION\nuniform vec4 vRefractionInfos;\n#ifndef REFRACTIONMAP_3D\nuniform mat4 refractionMatrix;\n#endif\n#ifdef REFRACTIONFRESNEL\nuniform vec4 refractionLeftColor;\nuniform vec4 refractionRightColor;\n#endif\n#endif\n#if defined(SPECULAR) && defined(SPECULARTERM)\nuniform vec2 vSpecularInfos;\n#endif\n#ifdef DIFFUSEFRESNEL\nuniform vec4 diffuseLeftColor;\nuniform vec4 diffuseRightColor;\n#endif\n#ifdef OPACITYFRESNEL\nuniform vec4 opacityParts;\n#endif\n#ifdef EMISSIVEFRESNEL\nuniform vec4 emissiveLeftColor;\nuniform vec4 emissiveRightColor;\n#endif\n\n#ifdef REFLECTION\nuniform vec2 vReflectionInfos;\n#if defined(REFLECTIONMAP_PLANAR) || defined(REFLECTIONMAP_CUBIC) || defined(REFLECTIONMAP_PROJECTION) || defined(REFLECTIONMAP_EQUIRECTANGULAR) || defined(REFLECTIONMAP_SPHERICAL) || defined(REFLECTIONMAP_SKYBOX)\nuniform mat4 reflectionMatrix;\n#endif\n#ifndef REFLECTIONMAP_SKYBOX\n#if defined(USE_LOCAL_REFLECTIONMAP_CUBIC) && defined(REFLECTIONMAP_CUBIC)\nuniform vec3 vReflectionPosition;\nuniform vec3 vReflectionSize;\n#endif\n#endif\n#ifdef REFLECTIONFRESNEL\nuniform vec4 reflectionLeftColor;\nuniform vec4 reflectionRightColor;\n#endif\n#endif`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var defaultFragmentDeclaration = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'defaultUboDeclaration';\nlet shader = `layout(std140,column_major) uniform;\nuniform Material\n{\nvec4 diffuseLeftColor;\nvec4 diffuseRightColor;\nvec4 opacityParts;\nvec4 reflectionLeftColor;\nvec4 reflectionRightColor;\nvec4 refractionLeftColor;\nvec4 refractionRightColor;\nvec4 emissiveLeftColor;\nvec4 emissiveRightColor;\nvec2 vDiffuseInfos;\nvec2 vAmbientInfos;\nvec2 vOpacityInfos;\nvec2 vReflectionInfos;\nvec3 vReflectionPosition;\nvec3 vReflectionSize;\nvec2 vEmissiveInfos;\nvec2 vLightmapInfos;\nvec2 vSpecularInfos;\nvec3 vBumpInfos;\nmat4 diffuseMatrix;\nmat4 ambientMatrix;\nmat4 opacityMatrix;\nmat4 reflectionMatrix;\nmat4 emissiveMatrix;\nmat4 lightmapMatrix;\nmat4 specularMatrix;\nmat4 bumpMatrix;\nvec2 vTangentSpaceParams;\nfloat pointSize;\nmat4 refractionMatrix;\nvec4 vRefractionInfos;\nvec4 vSpecularColor;\nvec3 vEmissiveColor;\nfloat visibility;\nvec4 vDiffuseColor;\nvec4 vDetailInfos;\nmat4 detailMatrix;\n};\nuniform Scene {\nmat4 viewProjection;\n#ifdef MULTIVIEW\nmat4 viewProjectionR;\n#endif\nmat4 view;\n};\n`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var defaultUboDeclaration = { name, shader };\n","import { Effect } from \"../Materials/effect\";\nimport \"./ShadersInclude/defaultFragmentDeclaration\";\nimport \"./ShadersInclude/defaultUboDeclaration\";\nimport \"./ShadersInclude/prePassDeclaration\";\nimport \"./ShadersInclude/helperFunctions\";\nimport \"./ShadersInclude/lightFragmentDeclaration\";\nimport \"./ShadersInclude/lightUboDeclaration\";\nimport \"./ShadersInclude/lightsFragmentFunctions\";\nimport \"./ShadersInclude/shadowsFragmentFunctions\";\nimport \"./ShadersInclude/fresnelFunction\";\nimport \"./ShadersInclude/reflectionFunction\";\nimport \"./ShadersInclude/imageProcessingDeclaration\";\nimport \"./ShadersInclude/imageProcessingFunctions\";\nimport \"./ShadersInclude/bumpFragmentMainFunctions\";\nimport \"./ShadersInclude/bumpFragmentFunctions\";\nimport \"./ShadersInclude/clipPlaneFragmentDeclaration\";\nimport \"./ShadersInclude/logDepthDeclaration\";\nimport \"./ShadersInclude/fogFragmentDeclaration\";\nimport \"./ShadersInclude/clipPlaneFragment\";\nimport \"./ShadersInclude/bumpFragment\";\nimport \"./ShadersInclude/depthPrePass\";\nimport \"./ShadersInclude/lightFragment\";\nimport \"./ShadersInclude/logDepthFragment\";\nimport \"./ShadersInclude/fogFragment\";\n\nlet name = 'defaultPixelShader';\nlet shader = `#include<__decl__defaultFragment>\n#if defined(BUMP) || !defined(NORMAL)\n#extension GL_OES_standard_derivatives : enable\n#endif\n#include[SCENE_MRT_COUNT]\n#define CUSTOM_FRAGMENT_BEGIN\n#ifdef LOGARITHMICDEPTH\n#extension GL_EXT_frag_depth : enable\n#endif\n\n#define RECIPROCAL_PI2 0.15915494\nuniform vec3 vEyePosition;\nuniform vec3 vAmbientColor;\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#ifdef MAINUV1\nvarying vec2 vMainUV1;\n#endif\n#ifdef MAINUV2\nvarying vec2 vMainUV2;\n#endif\n\n#include\n\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n#include\n#include\n\n#ifdef DIFFUSE\n#if DIFFUSEDIRECTUV == 1\n#define vDiffuseUV vMainUV1\n#elif DIFFUSEDIRECTUV == 2\n#define vDiffuseUV vMainUV2\n#else\nvarying vec2 vDiffuseUV;\n#endif\nuniform sampler2D diffuseSampler;\n#endif\n#ifdef AMBIENT\n#if AMBIENTDIRECTUV == 1\n#define vAmbientUV vMainUV1\n#elif AMBIENTDIRECTUV == 2\n#define vAmbientUV vMainUV2\n#else\nvarying vec2 vAmbientUV;\n#endif\nuniform sampler2D ambientSampler;\n#endif\n#ifdef OPACITY\n#if OPACITYDIRECTUV == 1\n#define vOpacityUV vMainUV1\n#elif OPACITYDIRECTUV == 2\n#define vOpacityUV vMainUV2\n#else\nvarying vec2 vOpacityUV;\n#endif\nuniform sampler2D opacitySampler;\n#endif\n#ifdef EMISSIVE\n#if EMISSIVEDIRECTUV == 1\n#define vEmissiveUV vMainUV1\n#elif EMISSIVEDIRECTUV == 2\n#define vEmissiveUV vMainUV2\n#else\nvarying vec2 vEmissiveUV;\n#endif\nuniform sampler2D emissiveSampler;\n#endif\n#ifdef LIGHTMAP\n#if LIGHTMAPDIRECTUV == 1\n#define vLightmapUV vMainUV1\n#elif LIGHTMAPDIRECTUV == 2\n#define vLightmapUV vMainUV2\n#else\nvarying vec2 vLightmapUV;\n#endif\nuniform sampler2D lightmapSampler;\n#endif\n#ifdef REFRACTION\n#ifdef REFRACTIONMAP_3D\nuniform samplerCube refractionCubeSampler;\n#else\nuniform sampler2D refraction2DSampler;\n#endif\n#endif\n#if defined(SPECULAR) && defined(SPECULARTERM)\n#if SPECULARDIRECTUV == 1\n#define vSpecularUV vMainUV1\n#elif SPECULARDIRECTUV == 2\n#define vSpecularUV vMainUV2\n#else\nvarying vec2 vSpecularUV;\n#endif\nuniform sampler2D specularSampler;\n#endif\n#ifdef ALPHATEST\nuniform float alphaCutOff;\n#endif\n\n#include\n\n#ifdef REFLECTION\n#ifdef REFLECTIONMAP_3D\nuniform samplerCube reflectionCubeSampler;\n#else\nuniform sampler2D reflection2DSampler;\n#endif\n#ifdef REFLECTIONMAP_SKYBOX\nvarying vec3 vPositionUVW;\n#else\n#if defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED) || defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\nvarying vec3 vDirectionW;\n#endif\n#endif\n#include\n#endif\n#include\n#include\n#include\n#include\n#include\n#include\n#include\n#define CUSTOM_FRAGMENT_DEFINITIONS\nvoid main(void) {\n#define CUSTOM_FRAGMENT_MAIN_BEGIN\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\n\nvec4 baseColor=vec4(1.,1.,1.,1.);\nvec3 diffuseColor=vDiffuseColor.rgb;\n\nfloat alpha=vDiffuseColor.a;\n\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=normalize(-cross(dFdx(vPositionW),dFdy(vPositionW)));\n#endif\n#include\n#ifdef TWOSIDEDLIGHTING\nnormalW=gl_FrontFacing ? normalW : -normalW;\n#endif\n#ifdef DIFFUSE\nbaseColor=texture2D(diffuseSampler,vDiffuseUV+uvOffset);\n#if defined(ALPHATEST) && !defined(ALPHATEST_AFTERALLALPHACOMPUTATIONS)\nif (baseColor.a\n#ifdef VERTEXCOLOR\nbaseColor.rgb*=vColor.rgb;\n#endif\n#ifdef DETAIL\nbaseColor.rgb=baseColor.rgb*2.0*mix(0.5,detailColor.r,vDetailInfos.y);\n#endif\n#define CUSTOM_FRAGMENT_UPDATE_DIFFUSE\n\nvec3 baseAmbientColor=vec3(1.,1.,1.);\n#ifdef AMBIENT\nbaseAmbientColor=texture2D(ambientSampler,vAmbientUV+uvOffset).rgb*vAmbientInfos.y;\n#endif\n#define CUSTOM_FRAGMENT_BEFORE_LIGHTS\n\n#ifdef SPECULARTERM\nfloat glossiness=vSpecularColor.a;\nvec3 specularColor=vSpecularColor.rgb;\n#ifdef SPECULAR\nvec4 specularMapColor=texture2D(specularSampler,vSpecularUV+uvOffset);\nspecularColor=specularMapColor.rgb;\n#ifdef GLOSSINESS\nglossiness=glossiness*specularMapColor.a;\n#endif\n#endif\n#else\nfloat glossiness=0.;\n#endif\n\nvec3 diffuseBase=vec3(0.,0.,0.);\nlightingInfo info;\n#ifdef SPECULARTERM\nvec3 specularBase=vec3(0.,0.,0.);\n#endif\nfloat shadow=1.;\n#ifdef LIGHTMAP\nvec4 lightmapColor=texture2D(lightmapSampler,vLightmapUV+uvOffset);\n#ifdef RGBDLIGHTMAP\nlightmapColor.rgb=fromRGBD(lightmapColor);\n#endif\nlightmapColor.rgb*=vLightmapInfos.y;\n#endif\n#include[0..maxSimultaneousLights]\n\nvec4 refractionColor=vec4(0.,0.,0.,1.);\n#ifdef REFRACTION\nvec3 refractionVector=normalize(refract(-viewDirectionW,normalW,vRefractionInfos.y));\n#ifdef REFRACTIONMAP_3D\nrefractionVector.y=refractionVector.y*vRefractionInfos.w;\nif (dot(refractionVector,viewDirectionW)<1.0) {\nrefractionColor=textureCube(refractionCubeSampler,refractionVector);\n}\n#else\nvec3 vRefractionUVW=vec3(refractionMatrix*(view*vec4(vPositionW+refractionVector*vRefractionInfos.z,1.0)));\nvec2 refractionCoords=vRefractionUVW.xy/vRefractionUVW.z;\nrefractionCoords.y=1.0-refractionCoords.y;\nrefractionColor=texture2D(refraction2DSampler,refractionCoords);\n#endif\n#ifdef RGBDREFRACTION\nrefractionColor.rgb=fromRGBD(refractionColor);\n#endif\n#ifdef IS_REFRACTION_LINEAR\nrefractionColor.rgb=toGammaSpace(refractionColor.rgb);\n#endif\nrefractionColor.rgb*=vRefractionInfos.x;\n#endif\n\nvec4 reflectionColor=vec4(0.,0.,0.,1.);\n#ifdef REFLECTION\nvec3 vReflectionUVW=computeReflectionCoords(vec4(vPositionW,1.0),normalW);\n#ifdef REFLECTIONMAP_3D\n#ifdef ROUGHNESS\nfloat bias=vReflectionInfos.y;\n#ifdef SPECULARTERM\n#ifdef SPECULAR\n#ifdef GLOSSINESS\nbias*=(1.0-specularMapColor.a);\n#endif\n#endif\n#endif\nreflectionColor=textureCube(reflectionCubeSampler,vReflectionUVW,bias);\n#else\nreflectionColor=textureCube(reflectionCubeSampler,vReflectionUVW);\n#endif\n#else\nvec2 coords=vReflectionUVW.xy;\n#ifdef REFLECTIONMAP_PROJECTION\ncoords/=vReflectionUVW.z;\n#endif\ncoords.y=1.0-coords.y;\nreflectionColor=texture2D(reflection2DSampler,coords);\n#endif\n#ifdef RGBDREFLECTION\nreflectionColor.rgb=fromRGBD(reflectionColor);\n#endif\n#ifdef IS_REFLECTION_LINEAR\nreflectionColor.rgb=toGammaSpace(reflectionColor.rgb);\n#endif\nreflectionColor.rgb*=vReflectionInfos.x;\n#ifdef REFLECTIONFRESNEL\nfloat reflectionFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,reflectionRightColor.a,reflectionLeftColor.a);\n#ifdef REFLECTIONFRESNELFROMSPECULAR\n#ifdef SPECULARTERM\nreflectionColor.rgb*=specularColor.rgb*(1.0-reflectionFresnelTerm)+reflectionFresnelTerm*reflectionRightColor.rgb;\n#else\nreflectionColor.rgb*=reflectionLeftColor.rgb*(1.0-reflectionFresnelTerm)+reflectionFresnelTerm*reflectionRightColor.rgb;\n#endif\n#else\nreflectionColor.rgb*=reflectionLeftColor.rgb*(1.0-reflectionFresnelTerm)+reflectionFresnelTerm*reflectionRightColor.rgb;\n#endif\n#endif\n#endif\n#ifdef REFRACTIONFRESNEL\nfloat refractionFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,refractionRightColor.a,refractionLeftColor.a);\nrefractionColor.rgb*=refractionLeftColor.rgb*(1.0-refractionFresnelTerm)+refractionFresnelTerm*refractionRightColor.rgb;\n#endif\n#ifdef OPACITY\nvec4 opacityMap=texture2D(opacitySampler,vOpacityUV+uvOffset);\n#ifdef OPACITYRGB\nopacityMap.rgb=opacityMap.rgb*vec3(0.3,0.59,0.11);\nalpha*=(opacityMap.x+opacityMap.y+opacityMap.z)* vOpacityInfos.y;\n#else\nalpha*=opacityMap.a*vOpacityInfos.y;\n#endif\n#endif\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\n#ifdef OPACITYFRESNEL\nfloat opacityFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,opacityParts.z,opacityParts.w);\nalpha+=opacityParts.x*(1.0-opacityFresnelTerm)+opacityFresnelTerm*opacityParts.y;\n#endif\n#ifdef ALPHATEST\n#ifdef ALPHATEST_AFTERALLALPHACOMPUTATIONS\nif (alpha\n#include\n\n\n#ifdef IMAGEPROCESSINGPOSTPROCESS\ncolor.rgb=toLinearSpace(color.rgb);\n#else\n#ifdef IMAGEPROCESSING\ncolor.rgb=toLinearSpace(color.rgb);\ncolor=applyImageProcessing(color);\n#endif\n#endif\ncolor.a*=visibility;\n#ifdef PREMULTIPLYALPHA\n\ncolor.rgb*=color.a;\n#endif\n#define CUSTOM_FRAGMENT_BEFORE_FRAGCOLOR\n#ifdef PREPASS\ngl_FragData[0]=color;\n#ifdef PREPASS_POSITION\ngl_FragData[PREPASS_POSITION_INDEX]=vec4(vPositionW,1.0);\n#endif\n#ifdef PREPASS_VELOCITY\nvec2 a=(vCurrentPosition.xy/vCurrentPosition.w)*0.5+0.5;\nvec2 b=(vPreviousPosition.xy/vPreviousPosition.w)*0.5+0.5;\nvec2 velocity=abs(a-b);\nvelocity=vec2(pow(velocity.x,1.0/3.0),pow(velocity.y,1.0/3.0))*sign(a-b)*0.5+0.5;\ngl_FragData[PREPASS_VELOCITY_INDEX]=vec4(velocity,0.0,1.0);\n#endif\n#ifdef PREPASS_IRRADIANCE\ngl_FragData[PREPASS_IRRADIANCE_INDEX]=vec4(0.0,0.0,0.0,1.0);\n#endif\n#ifdef PREPASS_DEPTHNORMAL\ngl_FragData[PREPASS_DEPTHNORMAL_INDEX]=vec4(vViewPos.z,(view*vec4(normalW,0.0)).rgb);\n#endif\n#ifdef PREPASS_ALBEDO\ngl_FragData[PREPASS_ALBEDO_INDEX]=vec4(0.0,0.0,0.0,1.0);\n#endif\n#ifdef PREPASS_REFLECTIVITY\n#if defined(SPECULAR)\ngl_FragData[PREPASS_REFLECTIVITY_INDEX]=specularMapColor;\n#else\ngl_FragData[PREPASS_REFLECTIVITY_INDEX]=vec4(0.0,0.0,0.0,1.0);\n#endif\n#endif\n#endif\n#if !defined(PREPASS) || defined(WEBGL2)\ngl_FragColor=color;\n#endif\n}\n`;\n\nEffect.ShadersStore[name] = shader;\n/** @hidden */\nexport var defaultPixelShader = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'defaultVertexDeclaration';\nlet shader = `\nuniform mat4 viewProjection;\nuniform mat4 view;\n#ifdef DIFFUSE\nuniform mat4 diffuseMatrix;\nuniform vec2 vDiffuseInfos;\n#endif\n#ifdef AMBIENT\nuniform mat4 ambientMatrix;\nuniform vec2 vAmbientInfos;\n#endif\n#ifdef OPACITY\nuniform mat4 opacityMatrix;\nuniform vec2 vOpacityInfos;\n#endif\n#ifdef EMISSIVE\nuniform vec2 vEmissiveInfos;\nuniform mat4 emissiveMatrix;\n#endif\n#ifdef LIGHTMAP\nuniform vec2 vLightmapInfos;\nuniform mat4 lightmapMatrix;\n#endif\n#if defined(SPECULAR) && defined(SPECULARTERM)\nuniform vec2 vSpecularInfos;\nuniform mat4 specularMatrix;\n#endif\n#ifdef BUMP\nuniform vec3 vBumpInfos;\nuniform mat4 bumpMatrix;\n#endif\n#ifdef REFLECTION\nuniform mat4 reflectionMatrix;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var defaultVertexDeclaration = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pointCloudVertex';\nlet shader = `#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pointCloudVertex = { name, shader };\n","import { Effect } from \"../Materials/effect\";\nimport \"./ShadersInclude/defaultVertexDeclaration\";\nimport \"./ShadersInclude/defaultUboDeclaration\";\nimport \"./ShadersInclude/helperFunctions\";\nimport \"./ShadersInclude/bonesDeclaration\";\nimport \"./ShadersInclude/instancesDeclaration\";\nimport \"./ShadersInclude/prePassVertexDeclaration\";\nimport \"./ShadersInclude/bumpVertexDeclaration\";\nimport \"./ShadersInclude/clipPlaneVertexDeclaration\";\nimport \"./ShadersInclude/fogVertexDeclaration\";\nimport \"./ShadersInclude/lightFragmentDeclaration\";\nimport \"./ShadersInclude/lightUboDeclaration\";\nimport \"./ShadersInclude/morphTargetsVertexGlobalDeclaration\";\nimport \"./ShadersInclude/morphTargetsVertexDeclaration\";\nimport \"./ShadersInclude/logDepthDeclaration\";\nimport \"./ShadersInclude/morphTargetsVertex\";\nimport \"./ShadersInclude/instancesVertex\";\nimport \"./ShadersInclude/bonesVertex\";\nimport \"./ShadersInclude/prePassVertex\";\nimport \"./ShadersInclude/bumpVertex\";\nimport \"./ShadersInclude/clipPlaneVertex\";\nimport \"./ShadersInclude/fogVertex\";\nimport \"./ShadersInclude/shadowsVertex\";\nimport \"./ShadersInclude/pointCloudVertex\";\nimport \"./ShadersInclude/logDepthVertex\";\n\nlet name = 'defaultVertexShader';\nlet shader = `#include<__decl__defaultVertex>\n\n#define CUSTOM_VERTEX_BEGIN\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef TANGENT\nattribute vec4 tangent;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include\n#include\n\n#include\n#include\n#ifdef MAINUV1\nvarying vec2 vMainUV1;\n#endif\n#ifdef MAINUV2\nvarying vec2 vMainUV2;\n#endif\n#if defined(DIFFUSE) && DIFFUSEDIRECTUV == 0\nvarying vec2 vDiffuseUV;\n#endif\n#if defined(DETAIL) && DETAILDIRECTUV == 0\nvarying vec2 vDetailUV;\n#endif\n#if defined(AMBIENT) && AMBIENTDIRECTUV == 0\nvarying vec2 vAmbientUV;\n#endif\n#if defined(OPACITY) && OPACITYDIRECTUV == 0\nvarying vec2 vOpacityUV;\n#endif\n#if defined(EMISSIVE) && EMISSIVEDIRECTUV == 0\nvarying vec2 vEmissiveUV;\n#endif\n#if defined(LIGHTMAP) && LIGHTMAPDIRECTUV == 0\nvarying vec2 vLightmapUV;\n#endif\n#if defined(SPECULAR) && defined(SPECULARTERM) && SPECULARDIRECTUV == 0\nvarying vec2 vSpecularUV;\n#endif\n#if defined(BUMP) && BUMPDIRECTUV == 0\nvarying vec2 vBumpUV;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\n#include\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n#include\n#include[0..maxSimultaneousMorphTargets]\n#ifdef REFLECTIONMAP_SKYBOX\nvarying vec3 vPositionUVW;\n#endif\n#if defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED) || defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\nvarying vec3 vDirectionW;\n#endif\n#include\n#define CUSTOM_VERTEX_DEFINITIONS\nvoid main(void) {\n#define CUSTOM_VERTEX_MAIN_BEGIN\nvec3 positionUpdated=position;\n#ifdef NORMAL\nvec3 normalUpdated=normal;\n#endif\n#ifdef TANGENT\nvec4 tangentUpdated=tangent;\n#endif\n#ifdef UV1\nvec2 uvUpdated=uv;\n#endif\n#include[0..maxSimultaneousMorphTargets]\n#ifdef REFLECTIONMAP_SKYBOX\nvPositionUVW=positionUpdated;\n#endif\n#define CUSTOM_VERTEX_UPDATE_POSITION\n#define CUSTOM_VERTEX_UPDATE_NORMAL\n#include\n#if defined(PREPASS) && defined(PREPASS_VELOCITY) && !defined(BONES_VELOCITY_ENABLED)\n\nvCurrentPosition=viewProjection*finalWorld*vec4(positionUpdated,1.0);\nvPreviousPosition=previousViewProjection*previousWorld*vec4(positionUpdated,1.0);\n#endif\n#include\nvec4 worldPos=finalWorld*vec4(positionUpdated,1.0);\n#ifdef NORMAL\nmat3 normalWorld=mat3(finalWorld);\n#if defined(INSTANCES) && defined(THIN_INSTANCES)\nvNormalW=normalUpdated/vec3(dot(normalWorld[0],normalWorld[0]),dot(normalWorld[1],normalWorld[1]),dot(normalWorld[2],normalWorld[2]));\nvNormalW=normalize(normalWorld*vNormalW);\n#else\n#ifdef NONUNIFORMSCALING\nnormalWorld=transposeMat3(inverseMat3(normalWorld));\n#endif\nvNormalW=normalize(normalWorld*normalUpdated);\n#endif\n#endif\n#define CUSTOM_VERTEX_UPDATE_WORLDPOS\n#ifdef MULTIVIEW\nif (gl_ViewID_OVR == 0u) {\ngl_Position=viewProjection*worldPos;\n} else {\ngl_Position=viewProjectionR*worldPos;\n}\n#else\ngl_Position=viewProjection*worldPos;\n#endif\nvPositionW=vec3(worldPos);\n#include\n#if defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED) || defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\nvDirectionW=normalize(vec3(finalWorld*vec4(positionUpdated,0.0)));\n#endif\n\n#ifndef UV1\nvec2 uvUpdated=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef MAINUV1\nvMainUV1=uvUpdated;\n#endif\n#ifdef MAINUV2\nvMainUV2=uv2;\n#endif\n#if defined(DIFFUSE) && DIFFUSEDIRECTUV == 0\nif (vDiffuseInfos.x == 0.)\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\n}\nelse\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#if defined(DETAIL) && DETAILDIRECTUV == 0\nif (vDetailInfos.x == 0.)\n{\nvDetailUV=vec2(detailMatrix*vec4(uvUpdated,1.0,0.0));\n}\nelse\n{\nvDetailUV=vec2(detailMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#if defined(AMBIENT) && AMBIENTDIRECTUV == 0\nif (vAmbientInfos.x == 0.)\n{\nvAmbientUV=vec2(ambientMatrix*vec4(uvUpdated,1.0,0.0));\n}\nelse\n{\nvAmbientUV=vec2(ambientMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#if defined(OPACITY) && OPACITYDIRECTUV == 0\nif (vOpacityInfos.x == 0.)\n{\nvOpacityUV=vec2(opacityMatrix*vec4(uvUpdated,1.0,0.0));\n}\nelse\n{\nvOpacityUV=vec2(opacityMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#if defined(EMISSIVE) && EMISSIVEDIRECTUV == 0\nif (vEmissiveInfos.x == 0.)\n{\nvEmissiveUV=vec2(emissiveMatrix*vec4(uvUpdated,1.0,0.0));\n}\nelse\n{\nvEmissiveUV=vec2(emissiveMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#if defined(LIGHTMAP) && LIGHTMAPDIRECTUV == 0\nif (vLightmapInfos.x == 0.)\n{\nvLightmapUV=vec2(lightmapMatrix*vec4(uvUpdated,1.0,0.0));\n}\nelse\n{\nvLightmapUV=vec2(lightmapMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#if defined(SPECULAR) && defined(SPECULARTERM) && SPECULARDIRECTUV == 0\nif (vSpecularInfos.x == 0.)\n{\nvSpecularUV=vec2(specularMatrix*vec4(uvUpdated,1.0,0.0));\n}\nelse\n{\nvSpecularUV=vec2(specularMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#if defined(BUMP) && BUMPDIRECTUV == 0\nif (vBumpInfos.x == 0.)\n{\nvBumpUV=vec2(bumpMatrix*vec4(uvUpdated,1.0,0.0));\n}\nelse\n{\nvBumpUV=vec2(bumpMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#include\n#include\n#include\n#include[0..maxSimultaneousLights]\n#ifdef VERTEXCOLOR\n\nvColor=color;\n#endif\n#include\n#include\n#define CUSTOM_VERTEX_MAIN_END\n}\n`;\n\nEffect.ShadersStore[name] = shader;\n/** @hidden */\nexport var defaultVertexShader = { name, shader };\n","import { serialize, SerializationHelper, serializeAsColor3, expandToProperty, serializeAsFresnelParameters, serializeAsTexture } from \"../Misc/decorators\";\r\nimport { Observer } from \"../Misc/observable\";\r\nimport { SmartArray } from \"../Misc/smartArray\";\r\nimport { IAnimatable } from '../Animations/animatable.interface';\r\n\r\nimport { Nullable } from \"../types\";\r\nimport { Scene } from \"../scene\";\r\nimport { Matrix } from \"../Maths/math.vector\";\r\nimport { Color3 } from '../Maths/math.color';\r\nimport { VertexBuffer } from \"../Meshes/buffer\";\r\nimport { SubMesh } from \"../Meshes/subMesh\";\r\nimport { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { Mesh } from \"../Meshes/mesh\";\r\nimport { PrePassConfiguration } from \"./prePassConfiguration\";\r\n\r\nimport { ImageProcessingConfiguration, IImageProcessingConfigurationDefines } from \"./imageProcessingConfiguration\";\r\nimport { ColorCurves } from \"./colorCurves\";\r\nimport { FresnelParameters } from \"./fresnelParameters\";\r\nimport { Material, ICustomShaderNameResolveOptions } from \"../Materials/material\";\r\nimport { MaterialDefines } from \"../Materials/materialDefines\";\r\nimport { PushMaterial } from \"./pushMaterial\";\r\nimport { MaterialHelper } from \"./materialHelper\";\r\n\r\nimport { BaseTexture } from \"../Materials/Textures/baseTexture\";\r\nimport { Texture } from \"../Materials/Textures/texture\";\r\nimport { CubeTexture } from \"../Materials/Textures/cubeTexture\";\r\nimport { RenderTargetTexture } from \"../Materials/Textures/renderTargetTexture\";\r\nimport { _TypeStore } from \"../Misc/typeStore\";\r\nimport { MaterialFlags } from \"./materialFlags\";\r\n\r\nimport \"../Shaders/default.fragment\";\r\nimport \"../Shaders/default.vertex\";\r\n\r\nimport { EffectFallbacks } from './effectFallbacks';\r\nimport { Effect, IEffectCreationOptions } from './effect';\r\nimport { IMaterialDetailMapDefines, DetailMapConfiguration } from './material.detailMapConfiguration';\r\n\r\nconst onCreatedEffectParameters = { effect: null as unknown as Effect, subMesh: null as unknown as Nullable };\r\n\r\n/** @hidden */\r\nexport class StandardMaterialDefines extends MaterialDefines implements IImageProcessingConfigurationDefines, IMaterialDetailMapDefines {\r\n public MAINUV1 = false;\r\n public MAINUV2 = false;\r\n public DIFFUSE = false;\r\n public DIFFUSEDIRECTUV = 0;\r\n public DETAIL = false;\r\n public DETAILDIRECTUV = 0;\r\n public DETAIL_NORMALBLENDMETHOD = 0;\r\n public AMBIENT = false;\r\n public AMBIENTDIRECTUV = 0;\r\n public OPACITY = false;\r\n public OPACITYDIRECTUV = 0;\r\n public OPACITYRGB = false;\r\n public REFLECTION = false;\r\n public EMISSIVE = false;\r\n public EMISSIVEDIRECTUV = 0;\r\n public SPECULAR = false;\r\n public SPECULARDIRECTUV = 0;\r\n public BUMP = false;\r\n public BUMPDIRECTUV = 0;\r\n public PARALLAX = false;\r\n public PARALLAXOCCLUSION = false;\r\n public SPECULAROVERALPHA = false;\r\n public CLIPPLANE = false;\r\n public CLIPPLANE2 = false;\r\n public CLIPPLANE3 = false;\r\n public CLIPPLANE4 = false;\r\n public CLIPPLANE5 = false;\r\n public CLIPPLANE6 = false;\r\n public ALPHATEST = false;\r\n public DEPTHPREPASS = false;\r\n public ALPHAFROMDIFFUSE = false;\r\n public POINTSIZE = false;\r\n public FOG = false;\r\n public SPECULARTERM = false;\r\n public DIFFUSEFRESNEL = false;\r\n public OPACITYFRESNEL = false;\r\n public REFLECTIONFRESNEL = false;\r\n public REFRACTIONFRESNEL = false;\r\n public EMISSIVEFRESNEL = false;\r\n public FRESNEL = false;\r\n public NORMAL = false;\r\n public UV1 = false;\r\n public UV2 = false;\r\n public VERTEXCOLOR = false;\r\n public VERTEXALPHA = false;\r\n public NUM_BONE_INFLUENCERS = 0;\r\n public BonesPerMesh = 0;\r\n public BONETEXTURE = false;\r\n public BONES_VELOCITY_ENABLED = false;\r\n public INSTANCES = false;\r\n public THIN_INSTANCES = false;\r\n public GLOSSINESS = false;\r\n public ROUGHNESS = false;\r\n public EMISSIVEASILLUMINATION = false;\r\n public LINKEMISSIVEWITHDIFFUSE = false;\r\n public REFLECTIONFRESNELFROMSPECULAR = false;\r\n public LIGHTMAP = false;\r\n public LIGHTMAPDIRECTUV = 0;\r\n public OBJECTSPACE_NORMALMAP = false;\r\n public USELIGHTMAPASSHADOWMAP = false;\r\n public REFLECTIONMAP_3D = false;\r\n public REFLECTIONMAP_SPHERICAL = false;\r\n public REFLECTIONMAP_PLANAR = false;\r\n public REFLECTIONMAP_CUBIC = false;\r\n public USE_LOCAL_REFLECTIONMAP_CUBIC = false;\r\n public REFLECTIONMAP_PROJECTION = false;\r\n public REFLECTIONMAP_SKYBOX = false;\r\n public REFLECTIONMAP_EXPLICIT = false;\r\n public REFLECTIONMAP_EQUIRECTANGULAR = false;\r\n public REFLECTIONMAP_EQUIRECTANGULAR_FIXED = false;\r\n public REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED = false;\r\n public INVERTCUBICMAP = false;\r\n public LOGARITHMICDEPTH = false;\r\n public REFRACTION = false;\r\n public REFRACTIONMAP_3D = false;\r\n public REFLECTIONOVERALPHA = false;\r\n public TWOSIDEDLIGHTING = false;\r\n public SHADOWFLOAT = false;\r\n public MORPHTARGETS = false;\r\n public MORPHTARGETS_NORMAL = false;\r\n public MORPHTARGETS_TANGENT = false;\r\n public MORPHTARGETS_UV = false;\r\n public NUM_MORPH_INFLUENCERS = 0;\r\n public NONUNIFORMSCALING = false; // https://playground.babylonjs.com#V6DWIH\r\n public PREMULTIPLYALPHA = false; // https://playground.babylonjs.com#LNVJJ7\r\n public ALPHATEST_AFTERALLALPHACOMPUTATIONS = false;\r\n public ALPHABLEND = true;\r\n\r\n public PREPASS = false;\r\n public PREPASS_IRRADIANCE = false;\r\n public PREPASS_IRRADIANCE_INDEX = -1;\r\n public PREPASS_ALBEDO = false;\r\n public PREPASS_ALBEDO_INDEX = -1;\r\n public PREPASS_DEPTHNORMAL = false;\r\n public PREPASS_DEPTHNORMAL_INDEX = -1;\r\n public PREPASS_POSITION = false;\r\n public PREPASS_POSITION_INDEX = -1;\r\n public PREPASS_VELOCITY = false;\r\n public PREPASS_VELOCITY_INDEX = -1;\r\n public PREPASS_REFLECTIVITY = false;\r\n public PREPASS_REFLECTIVITY_INDEX = -1;\r\n public SCENE_MRT_COUNT = 0;\r\n\r\n public RGBDLIGHTMAP = false;\r\n public RGBDREFLECTION = false;\r\n public RGBDREFRACTION = false;\r\n\r\n public IMAGEPROCESSING = false;\r\n public VIGNETTE = false;\r\n public VIGNETTEBLENDMODEMULTIPLY = false;\r\n public VIGNETTEBLENDMODEOPAQUE = false;\r\n public TONEMAPPING = false;\r\n public TONEMAPPING_ACES = false;\r\n public CONTRAST = false;\r\n public COLORCURVES = false;\r\n public COLORGRADING = false;\r\n public COLORGRADING3D = false;\r\n public SAMPLER3DGREENDEPTH = false;\r\n public SAMPLER3DBGRMAP = false;\r\n public IMAGEPROCESSINGPOSTPROCESS = false;\r\n public MULTIVIEW = false;\r\n /**\r\n * If the reflection texture on this material is in linear color space\r\n * @hidden\r\n */\r\n public IS_REFLECTION_LINEAR = false;\r\n /**\r\n * If the refraction texture on this material is in linear color space\r\n * @hidden\r\n */\r\n public IS_REFRACTION_LINEAR = false;\r\n public EXPOSURE = false;\r\n\r\n constructor() {\r\n super();\r\n this.rebuild();\r\n }\r\n\r\n public setReflectionMode(modeToEnable: string) {\r\n var modes = [\r\n \"REFLECTIONMAP_CUBIC\", \"REFLECTIONMAP_EXPLICIT\", \"REFLECTIONMAP_PLANAR\",\r\n \"REFLECTIONMAP_PROJECTION\", \"REFLECTIONMAP_PROJECTION\", \"REFLECTIONMAP_SKYBOX\",\r\n \"REFLECTIONMAP_SPHERICAL\", \"REFLECTIONMAP_EQUIRECTANGULAR\", \"REFLECTIONMAP_EQUIRECTANGULAR_FIXED\",\r\n \"REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED\"\r\n ];\r\n\r\n for (var mode of modes) {\r\n (this)[mode] = (mode === modeToEnable);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * This is the default material used in Babylon. It is the best trade off between quality\r\n * and performances.\r\n * @see https://doc.babylonjs.com/babylon101/materials\r\n */\r\nexport class StandardMaterial extends PushMaterial {\r\n @serializeAsTexture(\"diffuseTexture\")\r\n private _diffuseTexture: Nullable = null;\r\n /**\r\n * The basic texture of the material as viewed under a light.\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesAndMiscDirty\")\r\n public diffuseTexture: Nullable;\r\n\r\n @serializeAsTexture(\"ambientTexture\")\r\n private _ambientTexture: Nullable = null;\r\n /**\r\n * AKA Occlusion Texture in other nomenclature, it helps adding baked shadows into your material.\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public ambientTexture: Nullable;\r\n\r\n @serializeAsTexture(\"opacityTexture\")\r\n private _opacityTexture: Nullable = null;\r\n /**\r\n * Define the transparency of the material from a texture.\r\n * The final alpha value can be read either from the red channel (if texture.getAlphaFromRGB is false)\r\n * or from the luminance or the current texel (if texture.getAlphaFromRGB is true)\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesAndMiscDirty\")\r\n public opacityTexture: Nullable;\r\n\r\n @serializeAsTexture(\"reflectionTexture\")\r\n private _reflectionTexture: Nullable = null;\r\n /**\r\n * Define the texture used to display the reflection.\r\n * @see https://doc.babylonjs.com/how_to/reflect#how-to-obtain-reflections-and-refractions\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public reflectionTexture: Nullable;\r\n\r\n @serializeAsTexture(\"emissiveTexture\")\r\n private _emissiveTexture: Nullable = null;\r\n /**\r\n * Define texture of the material as if self lit.\r\n * This will be mixed in the final result even in the absence of light.\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public emissiveTexture: Nullable;\r\n\r\n @serializeAsTexture(\"specularTexture\")\r\n private _specularTexture: Nullable = null;\r\n /**\r\n * Define how the color and intensity of the highlight given by the light in the material.\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public specularTexture: Nullable;\r\n\r\n @serializeAsTexture(\"bumpTexture\")\r\n private _bumpTexture: Nullable = null;\r\n /**\r\n * Bump mapping is a technique to simulate bump and dents on a rendered surface.\r\n * These are made by creating a normal map from an image. The means to do this can be found on the web, a search for 'normal map generator' will bring up free and paid for methods of doing this.\r\n * @see https://doc.babylonjs.com/how_to/more_materials#bump-map\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public bumpTexture: Nullable;\r\n\r\n @serializeAsTexture(\"lightmapTexture\")\r\n private _lightmapTexture: Nullable = null;\r\n /**\r\n * Complex lighting can be computationally expensive to compute at runtime.\r\n * To save on computation, lightmaps may be used to store calculated lighting in a texture which will be applied to a given mesh.\r\n * @see https://doc.babylonjs.com/babylon101/lights#lightmaps\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public lightmapTexture: Nullable;\r\n\r\n @serializeAsTexture(\"refractionTexture\")\r\n private _refractionTexture: Nullable = null;\r\n /**\r\n * Define the texture used to display the refraction.\r\n * @see https://doc.babylonjs.com/how_to/reflect#how-to-obtain-reflections-and-refractions\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public refractionTexture: Nullable;\r\n\r\n /**\r\n * The color of the material lit by the environmental background lighting.\r\n * @see https://doc.babylonjs.com/babylon101/materials#ambient-color-example\r\n */\r\n @serializeAsColor3(\"ambient\")\r\n public ambientColor = new Color3(0, 0, 0);\r\n\r\n /**\r\n * The basic color of the material as viewed under a light.\r\n */\r\n @serializeAsColor3(\"diffuse\")\r\n public diffuseColor = new Color3(1, 1, 1);\r\n\r\n /**\r\n * Define how the color and intensity of the highlight given by the light in the material.\r\n */\r\n @serializeAsColor3(\"specular\")\r\n public specularColor = new Color3(1, 1, 1);\r\n\r\n /**\r\n * Define the color of the material as if self lit.\r\n * This will be mixed in the final result even in the absence of light.\r\n */\r\n @serializeAsColor3(\"emissive\")\r\n public emissiveColor = new Color3(0, 0, 0);\r\n\r\n /**\r\n * Defines how sharp are the highlights in the material.\r\n * The bigger the value the sharper giving a more glossy feeling to the result.\r\n * Reversely, the smaller the value the blurrier giving a more rough feeling to the result.\r\n */\r\n @serialize()\r\n public specularPower = 64;\r\n\r\n @serialize(\"useAlphaFromDiffuseTexture\")\r\n private _useAlphaFromDiffuseTexture = false;\r\n /**\r\n * Does the transparency come from the diffuse texture alpha channel.\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesAndMiscDirty\")\r\n public useAlphaFromDiffuseTexture: boolean;\r\n\r\n @serialize(\"useEmissiveAsIllumination\")\r\n private _useEmissiveAsIllumination = false;\r\n /**\r\n * If true, the emissive value is added into the end result, otherwise it is multiplied in.\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public useEmissiveAsIllumination: boolean;\r\n\r\n @serialize(\"linkEmissiveWithDiffuse\")\r\n private _linkEmissiveWithDiffuse = false;\r\n /**\r\n * If true, some kind of energy conservation will prevent the end result to be more than 1 by reducing\r\n * the emissive level when the final color is close to one.\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public linkEmissiveWithDiffuse: boolean;\r\n\r\n @serialize(\"useSpecularOverAlpha\")\r\n private _useSpecularOverAlpha = false;\r\n /**\r\n * Specifies that the material will keep the specular highlights over a transparent surface (only the most limunous ones).\r\n * A car glass is a good exemple of that. When sun reflects on it you can not see what is behind.\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public useSpecularOverAlpha: boolean;\r\n\r\n @serialize(\"useReflectionOverAlpha\")\r\n private _useReflectionOverAlpha = false;\r\n /**\r\n * Specifies that the material will keeps the reflection highlights over a transparent surface (only the most limunous ones).\r\n * A car glass is a good exemple of that. When the street lights reflects on it you can not see what is behind.\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public useReflectionOverAlpha: boolean;\r\n\r\n @serialize(\"disableLighting\")\r\n private _disableLighting = false;\r\n /**\r\n * Does lights from the scene impacts this material.\r\n * It can be a nice trick for performance to disable lighting on a fully emissive material.\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsLightsDirty\")\r\n public disableLighting: boolean;\r\n\r\n @serialize(\"useObjectSpaceNormalMap\")\r\n private _useObjectSpaceNormalMap = false;\r\n /**\r\n * Allows using an object space normal map (instead of tangent space).\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public useObjectSpaceNormalMap: boolean;\r\n\r\n @serialize(\"useParallax\")\r\n private _useParallax = false;\r\n /**\r\n * Is parallax enabled or not.\r\n * @see https://doc.babylonjs.com/how_to/using_parallax_mapping\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public useParallax: boolean;\r\n\r\n @serialize(\"useParallaxOcclusion\")\r\n private _useParallaxOcclusion = false;\r\n /**\r\n * Is parallax occlusion enabled or not.\r\n * If true, the outcome is way more realistic than traditional Parallax but you can expect a performance hit that worthes consideration.\r\n * @see https://doc.babylonjs.com/how_to/using_parallax_mapping\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public useParallaxOcclusion: boolean;\r\n\r\n /**\r\n * Apply a scaling factor that determine which \"depth\" the height map should reprensent. A value between 0.05 and 0.1 is reasonnable in Parallax, you can reach 0.2 using Parallax Occlusion.\r\n */\r\n @serialize()\r\n public parallaxScaleBias = 0.05;\r\n\r\n @serialize(\"roughness\")\r\n private _roughness = 0;\r\n /**\r\n * Helps to define how blurry the reflections should appears in the material.\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public roughness: number;\r\n\r\n /**\r\n * In case of refraction, define the value of the index of refraction.\r\n * @see https://doc.babylonjs.com/how_to/reflect#how-to-obtain-reflections-and-refractions\r\n */\r\n @serialize()\r\n public indexOfRefraction = 0.98;\r\n\r\n /**\r\n * Invert the refraction texture alongside the y axis.\r\n * It can be useful with procedural textures or probe for instance.\r\n * @see https://doc.babylonjs.com/how_to/reflect#how-to-obtain-reflections-and-refractions\r\n */\r\n @serialize()\r\n public invertRefractionY = true;\r\n\r\n /**\r\n * Defines the alpha limits in alpha test mode.\r\n */\r\n @serialize()\r\n public alphaCutOff = 0.4;\r\n\r\n @serialize(\"useLightmapAsShadowmap\")\r\n private _useLightmapAsShadowmap = false;\r\n /**\r\n * In case of light mapping, define whether the map contains light or shadow informations.\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public useLightmapAsShadowmap: boolean;\r\n\r\n // Fresnel\r\n @serializeAsFresnelParameters(\"diffuseFresnelParameters\")\r\n private _diffuseFresnelParameters: FresnelParameters;\r\n /**\r\n * Define the diffuse fresnel parameters of the material.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_fresnelparameters\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsFresnelDirty\")\r\n public diffuseFresnelParameters: FresnelParameters;\r\n\r\n @serializeAsFresnelParameters(\"opacityFresnelParameters\")\r\n private _opacityFresnelParameters: FresnelParameters;\r\n /**\r\n * Define the opacity fresnel parameters of the material.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_fresnelparameters\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsFresnelAndMiscDirty\")\r\n public opacityFresnelParameters: FresnelParameters;\r\n\r\n @serializeAsFresnelParameters(\"reflectionFresnelParameters\")\r\n private _reflectionFresnelParameters: FresnelParameters;\r\n /**\r\n * Define the reflection fresnel parameters of the material.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_fresnelparameters\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsFresnelDirty\")\r\n public reflectionFresnelParameters: FresnelParameters;\r\n\r\n @serializeAsFresnelParameters(\"refractionFresnelParameters\")\r\n private _refractionFresnelParameters: FresnelParameters;\r\n /**\r\n * Define the refraction fresnel parameters of the material.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_fresnelparameters\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsFresnelDirty\")\r\n public refractionFresnelParameters: FresnelParameters;\r\n\r\n @serializeAsFresnelParameters(\"emissiveFresnelParameters\")\r\n private _emissiveFresnelParameters: FresnelParameters;\r\n /**\r\n * Define the emissive fresnel parameters of the material.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_fresnelparameters\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsFresnelDirty\")\r\n public emissiveFresnelParameters: FresnelParameters;\r\n\r\n @serialize(\"useReflectionFresnelFromSpecular\")\r\n private _useReflectionFresnelFromSpecular = false;\r\n /**\r\n * If true automatically deducts the fresnels values from the material specularity.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_fresnelparameters\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsFresnelDirty\")\r\n public useReflectionFresnelFromSpecular: boolean;\r\n\r\n @serialize(\"useGlossinessFromSpecularMapAlpha\")\r\n private _useGlossinessFromSpecularMapAlpha = false;\r\n /**\r\n * Defines if the glossiness/roughness of the material should be read from the specular map alpha channel\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public useGlossinessFromSpecularMapAlpha: boolean;\r\n\r\n @serialize(\"maxSimultaneousLights\")\r\n private _maxSimultaneousLights = 4;\r\n /**\r\n * Defines the maximum number of lights that can be used in the material\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsLightsDirty\")\r\n public maxSimultaneousLights: number;\r\n\r\n @serialize(\"invertNormalMapX\")\r\n private _invertNormalMapX = false;\r\n /**\r\n * If sets to true, x component of normal map value will invert (x = 1.0 - x).\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public invertNormalMapX: boolean;\r\n\r\n @serialize(\"invertNormalMapY\")\r\n private _invertNormalMapY = false;\r\n /**\r\n * If sets to true, y component of normal map value will invert (y = 1.0 - y).\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public invertNormalMapY: boolean;\r\n\r\n @serialize(\"twoSidedLighting\")\r\n private _twoSidedLighting = false;\r\n /**\r\n * If sets to true and backfaceCulling is false, normals will be flipped on the backside.\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public twoSidedLighting: boolean;\r\n\r\n /**\r\n * Default configuration related to image processing available in the standard Material.\r\n */\r\n protected _imageProcessingConfiguration: ImageProcessingConfiguration;\r\n\r\n /**\r\n * Gets the image processing configuration used either in this material.\r\n */\r\n public get imageProcessingConfiguration(): ImageProcessingConfiguration {\r\n return this._imageProcessingConfiguration;\r\n }\r\n\r\n /**\r\n * Sets the Default image processing configuration used either in the this material.\r\n *\r\n * If sets to null, the scene one is in use.\r\n */\r\n public set imageProcessingConfiguration(value: ImageProcessingConfiguration) {\r\n this._attachImageProcessingConfiguration(value);\r\n\r\n // Ensure the effect will be rebuilt.\r\n this._markAllSubMeshesAsTexturesDirty();\r\n }\r\n\r\n /**\r\n * Keep track of the image processing observer to allow dispose and replace.\r\n */\r\n private _imageProcessingObserver: Nullable>;\r\n\r\n /**\r\n * Attaches a new image processing configuration to the Standard Material.\r\n * @param configuration\r\n */\r\n protected _attachImageProcessingConfiguration(configuration: Nullable): void {\r\n if (configuration === this._imageProcessingConfiguration) {\r\n return;\r\n }\r\n\r\n // Detaches observer\r\n if (this._imageProcessingConfiguration && this._imageProcessingObserver) {\r\n this._imageProcessingConfiguration.onUpdateParameters.remove(this._imageProcessingObserver);\r\n }\r\n\r\n // Pick the scene configuration if needed\r\n if (!configuration) {\r\n this._imageProcessingConfiguration = this.getScene().imageProcessingConfiguration;\r\n }\r\n else {\r\n this._imageProcessingConfiguration = configuration;\r\n }\r\n\r\n // Attaches observer\r\n if (this._imageProcessingConfiguration) {\r\n this._imageProcessingObserver = this._imageProcessingConfiguration.onUpdateParameters.add(() => {\r\n this._markAllSubMeshesAsImageProcessingDirty();\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Defines additionnal PrePass parameters for the material.\r\n */\r\n public readonly prePassConfiguration: PrePassConfiguration;\r\n\r\n /**\r\n * Gets wether the color curves effect is enabled.\r\n */\r\n public get cameraColorCurvesEnabled(): boolean {\r\n return this.imageProcessingConfiguration.colorCurvesEnabled;\r\n }\r\n /**\r\n * Sets wether the color curves effect is enabled.\r\n */\r\n public set cameraColorCurvesEnabled(value: boolean) {\r\n this.imageProcessingConfiguration.colorCurvesEnabled = value;\r\n }\r\n\r\n /**\r\n * Gets wether the color grading effect is enabled.\r\n */\r\n public get cameraColorGradingEnabled(): boolean {\r\n return this.imageProcessingConfiguration.colorGradingEnabled;\r\n }\r\n /**\r\n * Gets wether the color grading effect is enabled.\r\n */\r\n public set cameraColorGradingEnabled(value: boolean) {\r\n this.imageProcessingConfiguration.colorGradingEnabled = value;\r\n }\r\n\r\n /**\r\n * Gets wether tonemapping is enabled or not.\r\n */\r\n public get cameraToneMappingEnabled(): boolean {\r\n return this._imageProcessingConfiguration.toneMappingEnabled;\r\n }\r\n /**\r\n * Sets wether tonemapping is enabled or not\r\n */\r\n public set cameraToneMappingEnabled(value: boolean) {\r\n this._imageProcessingConfiguration.toneMappingEnabled = value;\r\n }\r\n\r\n /**\r\n * The camera exposure used on this material.\r\n * This property is here and not in the camera to allow controlling exposure without full screen post process.\r\n * This corresponds to a photographic exposure.\r\n */\r\n public get cameraExposure(): number {\r\n return this._imageProcessingConfiguration.exposure;\r\n }\r\n /**\r\n * The camera exposure used on this material.\r\n * This property is here and not in the camera to allow controlling exposure without full screen post process.\r\n * This corresponds to a photographic exposure.\r\n */\r\n public set cameraExposure(value: number) {\r\n this._imageProcessingConfiguration.exposure = value;\r\n }\r\n\r\n /**\r\n * Gets The camera contrast used on this material.\r\n */\r\n public get cameraContrast(): number {\r\n return this._imageProcessingConfiguration.contrast;\r\n }\r\n\r\n /**\r\n * Sets The camera contrast used on this material.\r\n */\r\n public set cameraContrast(value: number) {\r\n this._imageProcessingConfiguration.contrast = value;\r\n }\r\n\r\n /**\r\n * Gets the Color Grading 2D Lookup Texture.\r\n */\r\n public get cameraColorGradingTexture(): Nullable {\r\n return this._imageProcessingConfiguration.colorGradingTexture;\r\n }\r\n /**\r\n * Sets the Color Grading 2D Lookup Texture.\r\n */\r\n public set cameraColorGradingTexture(value: Nullable) {\r\n this._imageProcessingConfiguration.colorGradingTexture = value;\r\n }\r\n\r\n /**\r\n * The color grading curves provide additional color adjustmnent that is applied after any color grading transform (3D LUT).\r\n * They allow basic adjustment of saturation and small exposure adjustments, along with color filter tinting to provide white balance adjustment or more stylistic effects.\r\n * These are similar to controls found in many professional imaging or colorist software. The global controls are applied to the entire image. For advanced tuning, extra controls are provided to adjust the shadow, midtone and highlight areas of the image;\r\n * corresponding to low luminance, medium luminance, and high luminance areas respectively.\r\n */\r\n public get cameraColorCurves(): Nullable {\r\n return this._imageProcessingConfiguration.colorCurves;\r\n }\r\n /**\r\n * The color grading curves provide additional color adjustmnent that is applied after any color grading transform (3D LUT).\r\n * They allow basic adjustment of saturation and small exposure adjustments, along with color filter tinting to provide white balance adjustment or more stylistic effects.\r\n * These are similar to controls found in many professional imaging or colorist software. The global controls are applied to the entire image. For advanced tuning, extra controls are provided to adjust the shadow, midtone and highlight areas of the image;\r\n * corresponding to low luminance, medium luminance, and high luminance areas respectively.\r\n */\r\n public set cameraColorCurves(value: Nullable) {\r\n this._imageProcessingConfiguration.colorCurves = value;\r\n }\r\n\r\n /**\r\n * Can this material render to several textures at once\r\n */\r\n public get canRenderToMRT() {\r\n return true;\r\n }\r\n\r\n /**\r\n * Defines the detail map parameters for the material.\r\n */\r\n public readonly detailMap = new DetailMapConfiguration(this._markAllSubMeshesAsTexturesDirty.bind(this));\r\n\r\n protected _renderTargets = new SmartArray(16);\r\n protected _worldViewProjectionMatrix = Matrix.Zero();\r\n protected _globalAmbientColor = new Color3(0, 0, 0);\r\n protected _useLogarithmicDepth: boolean;\r\n protected _rebuildInParallel = false;\r\n\r\n /**\r\n * Instantiates a new standard material.\r\n * This is the default material used in Babylon. It is the best trade off between quality\r\n * and performances.\r\n * @see https://doc.babylonjs.com/babylon101/materials\r\n * @param name Define the name of the material in the scene\r\n * @param scene Define the scene the material belong to\r\n */\r\n constructor(name: string, scene: Scene) {\r\n super(name, scene);\r\n\r\n // Setup the default processing configuration to the scene.\r\n this._attachImageProcessingConfiguration(null);\r\n this.prePassConfiguration = new PrePassConfiguration();\r\n\r\n this.getRenderTargetTextures = (): SmartArray => {\r\n this._renderTargets.reset();\r\n\r\n if (StandardMaterial.ReflectionTextureEnabled && this._reflectionTexture && this._reflectionTexture.isRenderTarget) {\r\n this._renderTargets.push(this._reflectionTexture);\r\n }\r\n\r\n if (StandardMaterial.RefractionTextureEnabled && this._refractionTexture && this._refractionTexture.isRenderTarget) {\r\n this._renderTargets.push(this._refractionTexture);\r\n }\r\n\r\n return this._renderTargets;\r\n };\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating that current material needs to register RTT\r\n */\r\n public get hasRenderTargetTextures(): boolean {\r\n if (StandardMaterial.ReflectionTextureEnabled && this._reflectionTexture && this._reflectionTexture.isRenderTarget) {\r\n return true;\r\n }\r\n\r\n if (StandardMaterial.RefractionTextureEnabled && this._refractionTexture && this._refractionTexture.isRenderTarget) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Gets the current class name of the material e.g. \"StandardMaterial\"\r\n * Mainly use in serialization.\r\n * @returns the class name\r\n */\r\n public getClassName(): string {\r\n return \"StandardMaterial\";\r\n }\r\n\r\n /**\r\n * In case the depth buffer does not allow enough depth precision for your scene (might be the case in large scenes)\r\n * You can try switching to logarithmic depth.\r\n * @see https://doc.babylonjs.com/how_to/using_logarithmic_depth_buffer\r\n */\r\n @serialize()\r\n public get useLogarithmicDepth(): boolean {\r\n return this._useLogarithmicDepth;\r\n }\r\n\r\n public set useLogarithmicDepth(value: boolean) {\r\n this._useLogarithmicDepth = value && this.getScene().getEngine().getCaps().fragmentDepthSupported;\r\n\r\n this._markAllSubMeshesAsMiscDirty();\r\n }\r\n\r\n /**\r\n * Specifies if the material will require alpha blending\r\n * @returns a boolean specifying if alpha blending is needed\r\n */\r\n public needAlphaBlending(): boolean {\r\n if (this._disableAlphaBlending) {\r\n return false;\r\n }\r\n\r\n return (this.alpha < 1.0) || (this._opacityTexture != null) || this._shouldUseAlphaFromDiffuseTexture() || this._opacityFresnelParameters && this._opacityFresnelParameters.isEnabled;\r\n }\r\n\r\n /**\r\n * Specifies if this material should be rendered in alpha test mode\r\n * @returns a boolean specifying if an alpha test is needed.\r\n */\r\n public needAlphaTesting(): boolean {\r\n if (this._forceAlphaTest) {\r\n return true;\r\n }\r\n\r\n return this._hasAlphaChannel() && (this._transparencyMode == null || this._transparencyMode === Material.MATERIAL_ALPHATEST);\r\n }\r\n\r\n /**\r\n * Specifies whether or not the alpha value of the diffuse texture should be used for alpha blending.\r\n */\r\n protected _shouldUseAlphaFromDiffuseTexture(): boolean {\r\n return this._diffuseTexture != null && this._diffuseTexture.hasAlpha && this._useAlphaFromDiffuseTexture && this._transparencyMode !== Material.MATERIAL_OPAQUE;\r\n }\r\n\r\n /**\r\n * Specifies whether or not there is a usable alpha channel for transparency.\r\n */\r\n protected _hasAlphaChannel(): boolean {\r\n return (this._diffuseTexture != null && this._diffuseTexture.hasAlpha) || this._opacityTexture != null;\r\n }\r\n\r\n /**\r\n * Get the texture used for alpha test purpose.\r\n * @returns the diffuse texture in case of the standard material.\r\n */\r\n public getAlphaTestTexture(): Nullable {\r\n return this._diffuseTexture;\r\n }\r\n\r\n /**\r\n * Get if the submesh is ready to be used and all its information available.\r\n * Child classes can use it to update shaders\r\n * @param mesh defines the mesh to check\r\n * @param subMesh defines which submesh to check\r\n * @param useInstances specifies that instances should be used\r\n * @returns a boolean indicating that the submesh is ready or not\r\n */\r\n public isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances: boolean = false): boolean {\r\n if (subMesh.effect && this.isFrozen) {\r\n if (subMesh.effect._wasPreviouslyReady) {\r\n return true;\r\n }\r\n }\r\n\r\n if (!subMesh._materialDefines) {\r\n subMesh._materialDefines = new StandardMaterialDefines();\r\n }\r\n\r\n var scene = this.getScene();\r\n var defines = subMesh._materialDefines;\r\n if (this._isReadyForSubMesh(subMesh)) {\r\n return true;\r\n }\r\n\r\n var engine = scene.getEngine();\r\n\r\n // Lights\r\n defines._needNormals = MaterialHelper.PrepareDefinesForLights(scene, mesh, defines, true, this._maxSimultaneousLights, this._disableLighting);\r\n\r\n // Multiview\r\n MaterialHelper.PrepareDefinesForMultiview(scene, defines);\r\n\r\n // PrePass\r\n MaterialHelper.PrepareDefinesForPrePass(scene, defines, this.canRenderToMRT);\r\n\r\n // Textures\r\n if (defines._areTexturesDirty) {\r\n defines._needUVs = false;\r\n defines.MAINUV1 = false;\r\n defines.MAINUV2 = false;\r\n if (scene.texturesEnabled) {\r\n if (this._diffuseTexture && StandardMaterial.DiffuseTextureEnabled) {\r\n if (!this._diffuseTexture.isReadyOrNotBlocking()) {\r\n return false;\r\n } else {\r\n MaterialHelper.PrepareDefinesForMergedUV(this._diffuseTexture, defines, \"DIFFUSE\");\r\n }\r\n } else {\r\n defines.DIFFUSE = false;\r\n }\r\n\r\n if (this._ambientTexture && StandardMaterial.AmbientTextureEnabled) {\r\n if (!this._ambientTexture.isReadyOrNotBlocking()) {\r\n return false;\r\n } else {\r\n MaterialHelper.PrepareDefinesForMergedUV(this._ambientTexture, defines, \"AMBIENT\");\r\n }\r\n } else {\r\n defines.AMBIENT = false;\r\n }\r\n\r\n if (this._opacityTexture && StandardMaterial.OpacityTextureEnabled) {\r\n if (!this._opacityTexture.isReadyOrNotBlocking()) {\r\n return false;\r\n } else {\r\n MaterialHelper.PrepareDefinesForMergedUV(this._opacityTexture, defines, \"OPACITY\");\r\n defines.OPACITYRGB = this._opacityTexture.getAlphaFromRGB;\r\n }\r\n } else {\r\n defines.OPACITY = false;\r\n }\r\n\r\n if (this._reflectionTexture && StandardMaterial.ReflectionTextureEnabled) {\r\n if (!this._reflectionTexture.isReadyOrNotBlocking()) {\r\n return false;\r\n } else {\r\n defines._needNormals = true;\r\n defines.REFLECTION = true;\r\n\r\n defines.ROUGHNESS = (this._roughness > 0);\r\n defines.REFLECTIONOVERALPHA = this._useReflectionOverAlpha;\r\n defines.INVERTCUBICMAP = (this._reflectionTexture.coordinatesMode === Texture.INVCUBIC_MODE);\r\n defines.REFLECTIONMAP_3D = this._reflectionTexture.isCube;\r\n defines.RGBDREFLECTION = this._reflectionTexture.isRGBD;\r\n\r\n switch (this._reflectionTexture.coordinatesMode) {\r\n case Texture.EXPLICIT_MODE:\r\n defines.setReflectionMode(\"REFLECTIONMAP_EXPLICIT\");\r\n break;\r\n case Texture.PLANAR_MODE:\r\n defines.setReflectionMode(\"REFLECTIONMAP_PLANAR\");\r\n break;\r\n case Texture.PROJECTION_MODE:\r\n defines.setReflectionMode(\"REFLECTIONMAP_PROJECTION\");\r\n break;\r\n case Texture.SKYBOX_MODE:\r\n defines.setReflectionMode(\"REFLECTIONMAP_SKYBOX\");\r\n break;\r\n case Texture.SPHERICAL_MODE:\r\n defines.setReflectionMode(\"REFLECTIONMAP_SPHERICAL\");\r\n break;\r\n case Texture.EQUIRECTANGULAR_MODE:\r\n defines.setReflectionMode(\"REFLECTIONMAP_EQUIRECTANGULAR\");\r\n break;\r\n case Texture.FIXED_EQUIRECTANGULAR_MODE:\r\n defines.setReflectionMode(\"REFLECTIONMAP_EQUIRECTANGULAR_FIXED\");\r\n break;\r\n case Texture.FIXED_EQUIRECTANGULAR_MIRRORED_MODE:\r\n defines.setReflectionMode(\"REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED\");\r\n break;\r\n case Texture.CUBIC_MODE:\r\n case Texture.INVCUBIC_MODE:\r\n default:\r\n defines.setReflectionMode(\"REFLECTIONMAP_CUBIC\");\r\n break;\r\n }\r\n\r\n defines.USE_LOCAL_REFLECTIONMAP_CUBIC = (this._reflectionTexture).boundingBoxSize ? true : false;\r\n }\r\n } else {\r\n defines.REFLECTION = false;\r\n }\r\n\r\n if (this._emissiveTexture && StandardMaterial.EmissiveTextureEnabled) {\r\n if (!this._emissiveTexture.isReadyOrNotBlocking()) {\r\n return false;\r\n } else {\r\n MaterialHelper.PrepareDefinesForMergedUV(this._emissiveTexture, defines, \"EMISSIVE\");\r\n }\r\n } else {\r\n defines.EMISSIVE = false;\r\n }\r\n\r\n if (this._lightmapTexture && StandardMaterial.LightmapTextureEnabled) {\r\n if (!this._lightmapTexture.isReadyOrNotBlocking()) {\r\n return false;\r\n } else {\r\n MaterialHelper.PrepareDefinesForMergedUV(this._lightmapTexture, defines, \"LIGHTMAP\");\r\n defines.USELIGHTMAPASSHADOWMAP = this._useLightmapAsShadowmap;\r\n defines.RGBDLIGHTMAP = this._lightmapTexture.isRGBD;\r\n }\r\n } else {\r\n defines.LIGHTMAP = false;\r\n }\r\n\r\n if (this._specularTexture && StandardMaterial.SpecularTextureEnabled) {\r\n if (!this._specularTexture.isReadyOrNotBlocking()) {\r\n return false;\r\n } else {\r\n MaterialHelper.PrepareDefinesForMergedUV(this._specularTexture, defines, \"SPECULAR\");\r\n defines.GLOSSINESS = this._useGlossinessFromSpecularMapAlpha;\r\n }\r\n } else {\r\n defines.SPECULAR = false;\r\n }\r\n\r\n if (scene.getEngine().getCaps().standardDerivatives && this._bumpTexture && StandardMaterial.BumpTextureEnabled) {\r\n // Bump texure can not be not blocking.\r\n if (!this._bumpTexture.isReady()) {\r\n return false;\r\n } else {\r\n MaterialHelper.PrepareDefinesForMergedUV(this._bumpTexture, defines, \"BUMP\");\r\n\r\n defines.PARALLAX = this._useParallax;\r\n defines.PARALLAXOCCLUSION = this._useParallaxOcclusion;\r\n }\r\n\r\n defines.OBJECTSPACE_NORMALMAP = this._useObjectSpaceNormalMap;\r\n } else {\r\n defines.BUMP = false;\r\n }\r\n\r\n if (this._refractionTexture && StandardMaterial.RefractionTextureEnabled) {\r\n if (!this._refractionTexture.isReadyOrNotBlocking()) {\r\n return false;\r\n } else {\r\n defines._needUVs = true;\r\n defines.REFRACTION = true;\r\n\r\n defines.REFRACTIONMAP_3D = this._refractionTexture.isCube;\r\n defines.RGBDREFRACTION = this._refractionTexture.isRGBD;\r\n }\r\n } else {\r\n defines.REFRACTION = false;\r\n }\r\n\r\n defines.TWOSIDEDLIGHTING = !this._backFaceCulling && this._twoSidedLighting;\r\n } else {\r\n defines.DIFFUSE = false;\r\n defines.AMBIENT = false;\r\n defines.OPACITY = false;\r\n defines.REFLECTION = false;\r\n defines.EMISSIVE = false;\r\n defines.LIGHTMAP = false;\r\n defines.BUMP = false;\r\n defines.REFRACTION = false;\r\n }\r\n\r\n defines.ALPHAFROMDIFFUSE = this._shouldUseAlphaFromDiffuseTexture();\r\n\r\n defines.EMISSIVEASILLUMINATION = this._useEmissiveAsIllumination;\r\n\r\n defines.LINKEMISSIVEWITHDIFFUSE = this._linkEmissiveWithDiffuse;\r\n\r\n defines.SPECULAROVERALPHA = this._useSpecularOverAlpha;\r\n\r\n defines.PREMULTIPLYALPHA = (this.alphaMode === 7 || this.alphaMode === 8);\r\n\r\n defines.ALPHATEST_AFTERALLALPHACOMPUTATIONS = this.transparencyMode !== null;\r\n\r\n defines.ALPHABLEND = this.transparencyMode === null || this.needAlphaBlendingForMesh(mesh); // check on null for backward compatibility\r\n }\r\n\r\n if (!this.detailMap.isReadyForSubMesh(defines, scene)) {\r\n return false;\r\n }\r\n\r\n if (defines._areImageProcessingDirty && this._imageProcessingConfiguration) {\r\n if (!this._imageProcessingConfiguration.isReady()) {\r\n return false;\r\n }\r\n\r\n this._imageProcessingConfiguration.prepareDefines(defines);\r\n\r\n defines.IS_REFLECTION_LINEAR = (this.reflectionTexture != null && !this.reflectionTexture.gammaSpace);\r\n defines.IS_REFRACTION_LINEAR = (this.refractionTexture != null && !this.refractionTexture.gammaSpace);\r\n }\r\n\r\n if (defines._areFresnelDirty) {\r\n if (StandardMaterial.FresnelEnabled) {\r\n // Fresnel\r\n if (this._diffuseFresnelParameters || this._opacityFresnelParameters ||\r\n this._emissiveFresnelParameters || this._refractionFresnelParameters ||\r\n this._reflectionFresnelParameters) {\r\n\r\n defines.DIFFUSEFRESNEL = (this._diffuseFresnelParameters && this._diffuseFresnelParameters.isEnabled);\r\n\r\n defines.OPACITYFRESNEL = (this._opacityFresnelParameters && this._opacityFresnelParameters.isEnabled);\r\n\r\n defines.REFLECTIONFRESNEL = (this._reflectionFresnelParameters && this._reflectionFresnelParameters.isEnabled);\r\n\r\n defines.REFLECTIONFRESNELFROMSPECULAR = this._useReflectionFresnelFromSpecular;\r\n\r\n defines.REFRACTIONFRESNEL = (this._refractionFresnelParameters && this._refractionFresnelParameters.isEnabled);\r\n\r\n defines.EMISSIVEFRESNEL = (this._emissiveFresnelParameters && this._emissiveFresnelParameters.isEnabled);\r\n\r\n defines._needNormals = true;\r\n defines.FRESNEL = true;\r\n }\r\n } else {\r\n defines.FRESNEL = false;\r\n }\r\n }\r\n\r\n // Misc.\r\n MaterialHelper.PrepareDefinesForMisc(mesh, scene, this._useLogarithmicDepth, this.pointsCloud, this.fogEnabled, this._shouldTurnAlphaTestOn(mesh) || this._forceAlphaTest, defines);\r\n\r\n // Attribs\r\n MaterialHelper.PrepareDefinesForAttributes(mesh, defines, true, true, true);\r\n\r\n // Values that need to be evaluated on every frame\r\n MaterialHelper.PrepareDefinesForFrameBoundValues(scene, engine, defines, useInstances, null, subMesh.getRenderingMesh().hasThinInstances);\r\n\r\n // External config\r\n this.detailMap.prepareDefines(defines, scene);\r\n\r\n // Get correct effect\r\n if (defines.isDirty) {\r\n const lightDisposed = defines._areLightsDisposed;\r\n defines.markAsProcessed();\r\n\r\n // Fallbacks\r\n var fallbacks = new EffectFallbacks();\r\n if (defines.REFLECTION) {\r\n fallbacks.addFallback(0, \"REFLECTION\");\r\n }\r\n\r\n if (defines.SPECULAR) {\r\n fallbacks.addFallback(0, \"SPECULAR\");\r\n }\r\n\r\n if (defines.BUMP) {\r\n fallbacks.addFallback(0, \"BUMP\");\r\n }\r\n\r\n if (defines.PARALLAX) {\r\n fallbacks.addFallback(1, \"PARALLAX\");\r\n }\r\n\r\n if (defines.PARALLAXOCCLUSION) {\r\n fallbacks.addFallback(0, \"PARALLAXOCCLUSION\");\r\n }\r\n\r\n if (defines.SPECULAROVERALPHA) {\r\n fallbacks.addFallback(0, \"SPECULAROVERALPHA\");\r\n }\r\n\r\n if (defines.FOG) {\r\n fallbacks.addFallback(1, \"FOG\");\r\n }\r\n\r\n if (defines.POINTSIZE) {\r\n fallbacks.addFallback(0, \"POINTSIZE\");\r\n }\r\n\r\n if (defines.LOGARITHMICDEPTH) {\r\n fallbacks.addFallback(0, \"LOGARITHMICDEPTH\");\r\n }\r\n\r\n MaterialHelper.HandleFallbacksForShadows(defines, fallbacks, this._maxSimultaneousLights);\r\n\r\n if (defines.SPECULARTERM) {\r\n fallbacks.addFallback(0, \"SPECULARTERM\");\r\n }\r\n\r\n if (defines.DIFFUSEFRESNEL) {\r\n fallbacks.addFallback(1, \"DIFFUSEFRESNEL\");\r\n }\r\n\r\n if (defines.OPACITYFRESNEL) {\r\n fallbacks.addFallback(2, \"OPACITYFRESNEL\");\r\n }\r\n\r\n if (defines.REFLECTIONFRESNEL) {\r\n fallbacks.addFallback(3, \"REFLECTIONFRESNEL\");\r\n }\r\n\r\n if (defines.EMISSIVEFRESNEL) {\r\n fallbacks.addFallback(4, \"EMISSIVEFRESNEL\");\r\n }\r\n\r\n if (defines.FRESNEL) {\r\n fallbacks.addFallback(4, \"FRESNEL\");\r\n }\r\n\r\n if (defines.MULTIVIEW) {\r\n fallbacks.addFallback(0, \"MULTIVIEW\");\r\n }\r\n\r\n //Attributes\r\n var attribs = [VertexBuffer.PositionKind];\r\n\r\n if (defines.NORMAL) {\r\n attribs.push(VertexBuffer.NormalKind);\r\n }\r\n\r\n if (defines.UV1) {\r\n attribs.push(VertexBuffer.UVKind);\r\n }\r\n\r\n if (defines.UV2) {\r\n attribs.push(VertexBuffer.UV2Kind);\r\n }\r\n\r\n if (defines.VERTEXCOLOR) {\r\n attribs.push(VertexBuffer.ColorKind);\r\n }\r\n\r\n MaterialHelper.PrepareAttributesForBones(attribs, mesh, defines, fallbacks);\r\n MaterialHelper.PrepareAttributesForInstances(attribs, defines);\r\n MaterialHelper.PrepareAttributesForMorphTargets(attribs, mesh, defines);\r\n\r\n var shaderName = \"default\";\r\n\r\n var uniforms = [\"world\", \"view\", \"viewProjection\", \"vEyePosition\", \"vLightsType\", \"vAmbientColor\", \"vDiffuseColor\", \"vSpecularColor\", \"vEmissiveColor\", \"visibility\",\r\n \"vFogInfos\", \"vFogColor\", \"pointSize\",\r\n \"vDiffuseInfos\", \"vAmbientInfos\", \"vOpacityInfos\", \"vReflectionInfos\", \"vEmissiveInfos\", \"vSpecularInfos\", \"vBumpInfos\", \"vLightmapInfos\", \"vRefractionInfos\",\r\n \"mBones\",\r\n \"vClipPlane\", \"vClipPlane2\", \"vClipPlane3\", \"vClipPlane4\", \"vClipPlane5\", \"vClipPlane6\", \"diffuseMatrix\", \"ambientMatrix\", \"opacityMatrix\", \"reflectionMatrix\", \"emissiveMatrix\", \"specularMatrix\", \"bumpMatrix\", \"normalMatrix\", \"lightmapMatrix\", \"refractionMatrix\",\r\n \"diffuseLeftColor\", \"diffuseRightColor\", \"opacityParts\", \"reflectionLeftColor\", \"reflectionRightColor\", \"emissiveLeftColor\", \"emissiveRightColor\", \"refractionLeftColor\", \"refractionRightColor\",\r\n \"vReflectionPosition\", \"vReflectionSize\",\r\n \"logarithmicDepthConstant\", \"vTangentSpaceParams\", \"alphaCutOff\", \"boneTextureWidth\"\r\n ];\r\n\r\n var samplers = [\"diffuseSampler\", \"ambientSampler\", \"opacitySampler\", \"reflectionCubeSampler\",\r\n \"reflection2DSampler\", \"emissiveSampler\", \"specularSampler\", \"bumpSampler\", \"lightmapSampler\",\r\n \"refractionCubeSampler\", \"refraction2DSampler\", \"boneSampler\"];\r\n\r\n var uniformBuffers = [\"Material\", \"Scene\"];\r\n\r\n DetailMapConfiguration.AddUniforms(uniforms);\r\n DetailMapConfiguration.AddSamplers(samplers);\r\n\r\n PrePassConfiguration.AddUniforms(uniforms);\r\n PrePassConfiguration.AddSamplers(uniforms);\r\n\r\n if (ImageProcessingConfiguration) {\r\n ImageProcessingConfiguration.PrepareUniforms(uniforms, defines);\r\n ImageProcessingConfiguration.PrepareSamplers(samplers, defines);\r\n }\r\n\r\n MaterialHelper.PrepareUniformsAndSamplersList({\r\n uniformsNames: uniforms,\r\n uniformBuffersNames: uniformBuffers,\r\n samplers: samplers,\r\n defines: defines,\r\n maxSimultaneousLights: this._maxSimultaneousLights\r\n });\r\n\r\n const csnrOptions: ICustomShaderNameResolveOptions = {};\r\n\r\n if (this.customShaderNameResolve) {\r\n shaderName = this.customShaderNameResolve(shaderName, uniforms, uniformBuffers, samplers, defines, attribs, csnrOptions);\r\n }\r\n\r\n var join = defines.toString();\r\n\r\n let previousEffect = subMesh.effect;\r\n let effect = scene.getEngine().createEffect(shaderName, {\r\n attributes: attribs,\r\n uniformsNames: uniforms,\r\n uniformBuffersNames: uniformBuffers,\r\n samplers: samplers,\r\n defines: join,\r\n fallbacks: fallbacks,\r\n onCompiled: this.onCompiled,\r\n onError: this.onError,\r\n indexParameters: { maxSimultaneousLights: this._maxSimultaneousLights, maxSimultaneousMorphTargets: defines.NUM_MORPH_INFLUENCERS },\r\n processFinalCode: csnrOptions.processFinalCode,\r\n multiTarget: defines.PREPASS\r\n }, engine);\r\n\r\n if (effect) {\r\n if (this._onEffectCreatedObservable) {\r\n onCreatedEffectParameters.effect = effect;\r\n onCreatedEffectParameters.subMesh = subMesh;\r\n this._onEffectCreatedObservable.notifyObservers(onCreatedEffectParameters);\r\n }\r\n\r\n // Use previous effect while new one is compiling\r\n if (this.allowShaderHotSwapping && previousEffect && !effect.isReady()) {\r\n effect = previousEffect;\r\n this._rebuildInParallel = true;\r\n defines.markAsUnprocessed();\r\n\r\n if (lightDisposed) {\r\n // re register in case it takes more than one frame.\r\n defines._areLightsDisposed = true;\r\n return false;\r\n }\r\n } else {\r\n this._rebuildInParallel = false;\r\n scene.resetCachedMaterial();\r\n subMesh.setEffect(effect, defines);\r\n this.buildUniformLayout();\r\n }\r\n }\r\n }\r\n\r\n if (!subMesh.effect || !subMesh.effect.isReady()) {\r\n return false;\r\n }\r\n\r\n defines._renderId = scene.getRenderId();\r\n subMesh.effect._wasPreviouslyReady = true;\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Builds the material UBO layouts.\r\n * Used internally during the effect preparation.\r\n */\r\n public buildUniformLayout(): void {\r\n // Order is important !\r\n let ubo = this._uniformBuffer;\r\n ubo.addUniform(\"diffuseLeftColor\", 4);\r\n ubo.addUniform(\"diffuseRightColor\", 4);\r\n ubo.addUniform(\"opacityParts\", 4);\r\n ubo.addUniform(\"reflectionLeftColor\", 4);\r\n ubo.addUniform(\"reflectionRightColor\", 4);\r\n ubo.addUniform(\"refractionLeftColor\", 4);\r\n ubo.addUniform(\"refractionRightColor\", 4);\r\n ubo.addUniform(\"emissiveLeftColor\", 4);\r\n ubo.addUniform(\"emissiveRightColor\", 4);\r\n\r\n ubo.addUniform(\"vDiffuseInfos\", 2);\r\n ubo.addUniform(\"vAmbientInfos\", 2);\r\n ubo.addUniform(\"vOpacityInfos\", 2);\r\n ubo.addUniform(\"vReflectionInfos\", 2);\r\n ubo.addUniform(\"vReflectionPosition\", 3);\r\n ubo.addUniform(\"vReflectionSize\", 3);\r\n ubo.addUniform(\"vEmissiveInfos\", 2);\r\n ubo.addUniform(\"vLightmapInfos\", 2);\r\n ubo.addUniform(\"vSpecularInfos\", 2);\r\n ubo.addUniform(\"vBumpInfos\", 3);\r\n\r\n ubo.addUniform(\"diffuseMatrix\", 16);\r\n ubo.addUniform(\"ambientMatrix\", 16);\r\n ubo.addUniform(\"opacityMatrix\", 16);\r\n ubo.addUniform(\"reflectionMatrix\", 16);\r\n ubo.addUniform(\"emissiveMatrix\", 16);\r\n ubo.addUniform(\"lightmapMatrix\", 16);\r\n ubo.addUniform(\"specularMatrix\", 16);\r\n ubo.addUniform(\"bumpMatrix\", 16);\r\n ubo.addUniform(\"vTangentSpaceParams\", 2);\r\n ubo.addUniform(\"pointSize\", 1);\r\n ubo.addUniform(\"refractionMatrix\", 16);\r\n ubo.addUniform(\"vRefractionInfos\", 4);\r\n ubo.addUniform(\"vSpecularColor\", 4);\r\n ubo.addUniform(\"vEmissiveColor\", 3);\r\n ubo.addUniform(\"visibility\", 1);\r\n ubo.addUniform(\"vDiffuseColor\", 4);\r\n\r\n DetailMapConfiguration.PrepareUniformBuffer(ubo);\r\n\r\n ubo.create();\r\n }\r\n\r\n /**\r\n * Unbinds the material from the mesh\r\n */\r\n public unbind(): void {\r\n if (this._activeEffect) {\r\n let needFlag = false;\r\n if (this._reflectionTexture && this._reflectionTexture.isRenderTarget) {\r\n this._activeEffect.setTexture(\"reflection2DSampler\", null);\r\n needFlag = true;\r\n }\r\n\r\n if (this._refractionTexture && this._refractionTexture.isRenderTarget) {\r\n this._activeEffect.setTexture(\"refraction2DSampler\", null);\r\n needFlag = true;\r\n }\r\n\r\n if (needFlag) {\r\n this._markAllSubMeshesAsTexturesDirty();\r\n }\r\n }\r\n\r\n super.unbind();\r\n }\r\n\r\n /**\r\n * Binds the submesh to this material by preparing the effect and shader to draw\r\n * @param world defines the world transformation matrix\r\n * @param mesh defines the mesh containing the submesh\r\n * @param subMesh defines the submesh to bind the material to\r\n */\r\n public bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void {\r\n var scene = this.getScene();\r\n\r\n var defines = subMesh._materialDefines;\r\n if (!defines) {\r\n return;\r\n }\r\n\r\n var effect = subMesh.effect;\r\n if (!effect) {\r\n return;\r\n }\r\n this._activeEffect = effect;\r\n\r\n // Matrices\r\n if (!defines.INSTANCES || defines.THIN_INSTANCES) {\r\n this.bindOnlyWorldMatrix(world);\r\n }\r\n\r\n // PrePass\r\n this.prePassConfiguration.bindForSubMesh(this._activeEffect, scene, mesh, world, this.isFrozen);\r\n\r\n // Normal Matrix\r\n if (defines.OBJECTSPACE_NORMALMAP) {\r\n world.toNormalMatrix(this._normalMatrix);\r\n this.bindOnlyNormalMatrix(this._normalMatrix);\r\n }\r\n\r\n let mustRebind = this._mustRebind(scene, effect, mesh.visibility);\r\n\r\n // Bones\r\n MaterialHelper.BindBonesParameters(mesh, effect);\r\n let ubo = this._uniformBuffer;\r\n if (mustRebind) {\r\n ubo.bindToEffect(effect, \"Material\");\r\n\r\n this.bindViewProjection(effect);\r\n if (!ubo.useUbo || !this.isFrozen || !ubo.isSync) {\r\n\r\n if (StandardMaterial.FresnelEnabled && defines.FRESNEL) {\r\n // Fresnel\r\n if (this.diffuseFresnelParameters && this.diffuseFresnelParameters.isEnabled) {\r\n ubo.updateColor4(\"diffuseLeftColor\", this.diffuseFresnelParameters.leftColor, this.diffuseFresnelParameters.power);\r\n ubo.updateColor4(\"diffuseRightColor\", this.diffuseFresnelParameters.rightColor, this.diffuseFresnelParameters.bias);\r\n }\r\n\r\n if (this.opacityFresnelParameters && this.opacityFresnelParameters.isEnabled) {\r\n ubo.updateColor4(\"opacityParts\", new Color3(this.opacityFresnelParameters.leftColor.toLuminance(), this.opacityFresnelParameters.rightColor.toLuminance(), this.opacityFresnelParameters.bias), this.opacityFresnelParameters.power);\r\n }\r\n\r\n if (this.reflectionFresnelParameters && this.reflectionFresnelParameters.isEnabled) {\r\n ubo.updateColor4(\"reflectionLeftColor\", this.reflectionFresnelParameters.leftColor, this.reflectionFresnelParameters.power);\r\n ubo.updateColor4(\"reflectionRightColor\", this.reflectionFresnelParameters.rightColor, this.reflectionFresnelParameters.bias);\r\n }\r\n\r\n if (this.refractionFresnelParameters && this.refractionFresnelParameters.isEnabled) {\r\n ubo.updateColor4(\"refractionLeftColor\", this.refractionFresnelParameters.leftColor, this.refractionFresnelParameters.power);\r\n ubo.updateColor4(\"refractionRightColor\", this.refractionFresnelParameters.rightColor, this.refractionFresnelParameters.bias);\r\n }\r\n\r\n if (this.emissiveFresnelParameters && this.emissiveFresnelParameters.isEnabled) {\r\n ubo.updateColor4(\"emissiveLeftColor\", this.emissiveFresnelParameters.leftColor, this.emissiveFresnelParameters.power);\r\n ubo.updateColor4(\"emissiveRightColor\", this.emissiveFresnelParameters.rightColor, this.emissiveFresnelParameters.bias);\r\n }\r\n }\r\n\r\n // Textures\r\n if (scene.texturesEnabled) {\r\n if (this._diffuseTexture && StandardMaterial.DiffuseTextureEnabled) {\r\n ubo.updateFloat2(\"vDiffuseInfos\", this._diffuseTexture.coordinatesIndex, this._diffuseTexture.level);\r\n MaterialHelper.BindTextureMatrix(this._diffuseTexture, ubo, \"diffuse\");\r\n\r\n }\r\n\r\n if (this._ambientTexture && StandardMaterial.AmbientTextureEnabled) {\r\n ubo.updateFloat2(\"vAmbientInfos\", this._ambientTexture.coordinatesIndex, this._ambientTexture.level);\r\n MaterialHelper.BindTextureMatrix(this._ambientTexture, ubo, \"ambient\");\r\n }\r\n\r\n if (this._opacityTexture && StandardMaterial.OpacityTextureEnabled) {\r\n ubo.updateFloat2(\"vOpacityInfos\", this._opacityTexture.coordinatesIndex, this._opacityTexture.level);\r\n MaterialHelper.BindTextureMatrix(this._opacityTexture, ubo, \"opacity\");\r\n }\r\n\r\n if (this._hasAlphaChannel()) {\r\n effect.setFloat(\"alphaCutOff\", this.alphaCutOff);\r\n }\r\n\r\n if (this._reflectionTexture && StandardMaterial.ReflectionTextureEnabled) {\r\n ubo.updateFloat2(\"vReflectionInfos\", this._reflectionTexture.level, this.roughness);\r\n ubo.updateMatrix(\"reflectionMatrix\", this._reflectionTexture.getReflectionTextureMatrix());\r\n\r\n if ((this._reflectionTexture).boundingBoxSize) {\r\n let cubeTexture = this._reflectionTexture;\r\n\r\n ubo.updateVector3(\"vReflectionPosition\", cubeTexture.boundingBoxPosition);\r\n ubo.updateVector3(\"vReflectionSize\", cubeTexture.boundingBoxSize);\r\n }\r\n }\r\n\r\n if (this._emissiveTexture && StandardMaterial.EmissiveTextureEnabled) {\r\n ubo.updateFloat2(\"vEmissiveInfos\", this._emissiveTexture.coordinatesIndex, this._emissiveTexture.level);\r\n MaterialHelper.BindTextureMatrix(this._emissiveTexture, ubo, \"emissive\");\r\n }\r\n\r\n if (this._lightmapTexture && StandardMaterial.LightmapTextureEnabled) {\r\n ubo.updateFloat2(\"vLightmapInfos\", this._lightmapTexture.coordinatesIndex, this._lightmapTexture.level);\r\n MaterialHelper.BindTextureMatrix(this._lightmapTexture, ubo, \"lightmap\");\r\n }\r\n\r\n if (this._specularTexture && StandardMaterial.SpecularTextureEnabled) {\r\n ubo.updateFloat2(\"vSpecularInfos\", this._specularTexture.coordinatesIndex, this._specularTexture.level);\r\n MaterialHelper.BindTextureMatrix(this._specularTexture, ubo, \"specular\");\r\n }\r\n\r\n if (this._bumpTexture && scene.getEngine().getCaps().standardDerivatives && StandardMaterial.BumpTextureEnabled) {\r\n ubo.updateFloat3(\"vBumpInfos\", this._bumpTexture.coordinatesIndex, 1.0 / this._bumpTexture.level, this.parallaxScaleBias);\r\n MaterialHelper.BindTextureMatrix(this._bumpTexture, ubo, \"bump\");\r\n\r\n if (scene._mirroredCameraPosition) {\r\n ubo.updateFloat2(\"vTangentSpaceParams\", this._invertNormalMapX ? 1.0 : -1.0, this._invertNormalMapY ? 1.0 : -1.0);\r\n } else {\r\n ubo.updateFloat2(\"vTangentSpaceParams\", this._invertNormalMapX ? -1.0 : 1.0, this._invertNormalMapY ? -1.0 : 1.0);\r\n }\r\n }\r\n\r\n if (this._refractionTexture && StandardMaterial.RefractionTextureEnabled) {\r\n var depth = 1.0;\r\n if (!this._refractionTexture.isCube) {\r\n ubo.updateMatrix(\"refractionMatrix\", this._refractionTexture.getReflectionTextureMatrix());\r\n\r\n if ((this._refractionTexture).depth) {\r\n depth = (this._refractionTexture).depth;\r\n }\r\n }\r\n ubo.updateFloat4(\"vRefractionInfos\", this._refractionTexture.level, this.indexOfRefraction, depth, this.invertRefractionY ? -1 : 1);\r\n }\r\n }\r\n\r\n // Point size\r\n if (this.pointsCloud) {\r\n ubo.updateFloat(\"pointSize\", this.pointSize);\r\n }\r\n\r\n if (defines.SPECULARTERM) {\r\n ubo.updateColor4(\"vSpecularColor\", this.specularColor, this.specularPower);\r\n }\r\n ubo.updateColor3(\"vEmissiveColor\", StandardMaterial.EmissiveTextureEnabled ? this.emissiveColor : Color3.BlackReadOnly);\r\n\r\n // Diffuse\r\n ubo.updateColor4(\"vDiffuseColor\", this.diffuseColor, this.alpha);\r\n }\r\n\r\n // Visibility\r\n ubo.updateFloat(\"visibility\", mesh.visibility);\r\n\r\n // Textures\r\n if (scene.texturesEnabled) {\r\n if (this._diffuseTexture && StandardMaterial.DiffuseTextureEnabled) {\r\n effect.setTexture(\"diffuseSampler\", this._diffuseTexture);\r\n }\r\n\r\n if (this._ambientTexture && StandardMaterial.AmbientTextureEnabled) {\r\n effect.setTexture(\"ambientSampler\", this._ambientTexture);\r\n }\r\n\r\n if (this._opacityTexture && StandardMaterial.OpacityTextureEnabled) {\r\n effect.setTexture(\"opacitySampler\", this._opacityTexture);\r\n }\r\n\r\n if (this._reflectionTexture && StandardMaterial.ReflectionTextureEnabled) {\r\n if (this._reflectionTexture.isCube) {\r\n effect.setTexture(\"reflectionCubeSampler\", this._reflectionTexture);\r\n } else {\r\n effect.setTexture(\"reflection2DSampler\", this._reflectionTexture);\r\n }\r\n }\r\n\r\n if (this._emissiveTexture && StandardMaterial.EmissiveTextureEnabled) {\r\n effect.setTexture(\"emissiveSampler\", this._emissiveTexture);\r\n }\r\n\r\n if (this._lightmapTexture && StandardMaterial.LightmapTextureEnabled) {\r\n effect.setTexture(\"lightmapSampler\", this._lightmapTexture);\r\n }\r\n\r\n if (this._specularTexture && StandardMaterial.SpecularTextureEnabled) {\r\n effect.setTexture(\"specularSampler\", this._specularTexture);\r\n }\r\n\r\n if (this._bumpTexture && scene.getEngine().getCaps().standardDerivatives && StandardMaterial.BumpTextureEnabled) {\r\n effect.setTexture(\"bumpSampler\", this._bumpTexture);\r\n }\r\n\r\n if (this._refractionTexture && StandardMaterial.RefractionTextureEnabled) {\r\n var depth = 1.0;\r\n if (this._refractionTexture.isCube) {\r\n effect.setTexture(\"refractionCubeSampler\", this._refractionTexture);\r\n } else {\r\n effect.setTexture(\"refraction2DSampler\", this._refractionTexture);\r\n }\r\n }\r\n }\r\n\r\n this.detailMap.bindForSubMesh(ubo, scene, this.isFrozen);\r\n\r\n // Clip plane\r\n MaterialHelper.BindClipPlane(effect, scene);\r\n\r\n // Colors\r\n scene.ambientColor.multiplyToRef(this.ambientColor, this._globalAmbientColor);\r\n\r\n MaterialHelper.BindEyePosition(effect, scene);\r\n effect.setColor3(\"vAmbientColor\", this._globalAmbientColor);\r\n }\r\n\r\n if (mustRebind || !this.isFrozen) {\r\n // Lights\r\n if (scene.lightsEnabled && !this._disableLighting) {\r\n MaterialHelper.BindLights(scene, mesh, effect, defines, this._maxSimultaneousLights, this._rebuildInParallel);\r\n }\r\n\r\n // View\r\n if (scene.fogEnabled && mesh.applyFog && scene.fogMode !== Scene.FOGMODE_NONE || this._reflectionTexture || this._refractionTexture) {\r\n this.bindView(effect);\r\n }\r\n\r\n // Fog\r\n MaterialHelper.BindFogParameters(scene, mesh, effect);\r\n\r\n // Morph targets\r\n if (defines.NUM_MORPH_INFLUENCERS) {\r\n MaterialHelper.BindMorphTargetParameters(mesh, effect);\r\n }\r\n\r\n // Log. depth\r\n if (this.useLogarithmicDepth) {\r\n MaterialHelper.BindLogDepth(defines, effect, scene);\r\n }\r\n\r\n // image processing\r\n if (this._imageProcessingConfiguration && !this._imageProcessingConfiguration.applyByPostProcess) {\r\n this._imageProcessingConfiguration.bind(this._activeEffect);\r\n }\r\n }\r\n\r\n ubo.update();\r\n this._afterBind(mesh, this._activeEffect);\r\n }\r\n\r\n /**\r\n * Get the list of animatables in the material.\r\n * @returns the list of animatables object used in the material\r\n */\r\n public getAnimatables(): IAnimatable[] {\r\n var results = [];\r\n\r\n if (this._diffuseTexture && this._diffuseTexture.animations && this._diffuseTexture.animations.length > 0) {\r\n results.push(this._diffuseTexture);\r\n }\r\n\r\n if (this._ambientTexture && this._ambientTexture.animations && this._ambientTexture.animations.length > 0) {\r\n results.push(this._ambientTexture);\r\n }\r\n\r\n if (this._opacityTexture && this._opacityTexture.animations && this._opacityTexture.animations.length > 0) {\r\n results.push(this._opacityTexture);\r\n }\r\n\r\n if (this._reflectionTexture && this._reflectionTexture.animations && this._reflectionTexture.animations.length > 0) {\r\n results.push(this._reflectionTexture);\r\n }\r\n\r\n if (this._emissiveTexture && this._emissiveTexture.animations && this._emissiveTexture.animations.length > 0) {\r\n results.push(this._emissiveTexture);\r\n }\r\n\r\n if (this._specularTexture && this._specularTexture.animations && this._specularTexture.animations.length > 0) {\r\n results.push(this._specularTexture);\r\n }\r\n\r\n if (this._bumpTexture && this._bumpTexture.animations && this._bumpTexture.animations.length > 0) {\r\n results.push(this._bumpTexture);\r\n }\r\n\r\n if (this._lightmapTexture && this._lightmapTexture.animations && this._lightmapTexture.animations.length > 0) {\r\n results.push(this._lightmapTexture);\r\n }\r\n\r\n if (this._refractionTexture && this._refractionTexture.animations && this._refractionTexture.animations.length > 0) {\r\n results.push(this._refractionTexture);\r\n }\r\n\r\n this.detailMap.getAnimatables(results);\r\n\r\n return results;\r\n }\r\n\r\n /**\r\n * Gets the active textures from the material\r\n * @returns an array of textures\r\n */\r\n public getActiveTextures(): BaseTexture[] {\r\n var activeTextures = super.getActiveTextures();\r\n\r\n if (this._diffuseTexture) {\r\n activeTextures.push(this._diffuseTexture);\r\n }\r\n\r\n if (this._ambientTexture) {\r\n activeTextures.push(this._ambientTexture);\r\n }\r\n\r\n if (this._opacityTexture) {\r\n activeTextures.push(this._opacityTexture);\r\n }\r\n\r\n if (this._reflectionTexture) {\r\n activeTextures.push(this._reflectionTexture);\r\n }\r\n\r\n if (this._emissiveTexture) {\r\n activeTextures.push(this._emissiveTexture);\r\n }\r\n\r\n if (this._specularTexture) {\r\n activeTextures.push(this._specularTexture);\r\n }\r\n\r\n if (this._bumpTexture) {\r\n activeTextures.push(this._bumpTexture);\r\n }\r\n\r\n if (this._lightmapTexture) {\r\n activeTextures.push(this._lightmapTexture);\r\n }\r\n\r\n if (this._refractionTexture) {\r\n activeTextures.push(this._refractionTexture);\r\n }\r\n\r\n this.detailMap.getActiveTextures(activeTextures);\r\n\r\n return activeTextures;\r\n }\r\n\r\n /**\r\n * Specifies if the material uses a texture\r\n * @param texture defines the texture to check against the material\r\n * @returns a boolean specifying if the material uses the texture\r\n */\r\n public hasTexture(texture: BaseTexture): boolean {\r\n if (super.hasTexture(texture)) {\r\n return true;\r\n }\r\n\r\n if (this._diffuseTexture === texture) {\r\n return true;\r\n }\r\n\r\n if (this._ambientTexture === texture) {\r\n return true;\r\n }\r\n\r\n if (this._opacityTexture === texture) {\r\n return true;\r\n }\r\n\r\n if (this._reflectionTexture === texture) {\r\n return true;\r\n }\r\n\r\n if (this._emissiveTexture === texture) {\r\n return true;\r\n }\r\n\r\n if (this._specularTexture === texture) {\r\n return true;\r\n }\r\n\r\n if (this._bumpTexture === texture) {\r\n return true;\r\n }\r\n\r\n if (this._lightmapTexture === texture) {\r\n return true;\r\n }\r\n\r\n if (this._refractionTexture === texture) {\r\n return true;\r\n }\r\n\r\n return this.detailMap.hasTexture(texture);\r\n }\r\n\r\n /**\r\n * Disposes the material\r\n * @param forceDisposeEffect specifies if effects should be forcefully disposed\r\n * @param forceDisposeTextures specifies if textures should be forcefully disposed\r\n */\r\n public dispose(forceDisposeEffect?: boolean, forceDisposeTextures?: boolean): void {\r\n if (forceDisposeTextures) {\r\n this._diffuseTexture?.dispose();\r\n this._ambientTexture?.dispose();\r\n this._opacityTexture?.dispose();\r\n this._reflectionTexture?.dispose();\r\n this._emissiveTexture?.dispose();\r\n this._specularTexture?.dispose();\r\n this._bumpTexture?.dispose();\r\n this._lightmapTexture?.dispose();\r\n this._refractionTexture?.dispose();\r\n }\r\n\r\n this.detailMap.dispose(forceDisposeTextures);\r\n\r\n if (this._imageProcessingConfiguration && this._imageProcessingObserver) {\r\n this._imageProcessingConfiguration.onUpdateParameters.remove(this._imageProcessingObserver);\r\n }\r\n\r\n super.dispose(forceDisposeEffect, forceDisposeTextures);\r\n }\r\n\r\n /**\r\n * Makes a duplicate of the material, and gives it a new name\r\n * @param name defines the new name for the duplicated material\r\n * @returns the cloned material\r\n */\r\n public clone(name: string): StandardMaterial {\r\n var result = SerializationHelper.Clone(() => new StandardMaterial(name, this.getScene()), this);\r\n\r\n result.name = name;\r\n result.id = name;\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Serializes this material in a JSON representation\r\n * @returns the serialized material object\r\n */\r\n public serialize(): any {\r\n return SerializationHelper.Serialize(this);\r\n }\r\n\r\n /**\r\n * Creates a standard material from parsed material data\r\n * @param source defines the JSON representation of the material\r\n * @param scene defines the hosting scene\r\n * @param rootUrl defines the root URL to use to load textures and relative dependencies\r\n * @returns a new standard material\r\n */\r\n public static Parse(source: any, scene: Scene, rootUrl: string): StandardMaterial {\r\n return SerializationHelper.Parse(() => new StandardMaterial(source.name, scene), source, scene, rootUrl);\r\n }\r\n\r\n // Flags used to enable or disable a type of texture for all Standard Materials\r\n /**\r\n * Are diffuse textures enabled in the application.\r\n */\r\n public static get DiffuseTextureEnabled(): boolean {\r\n return MaterialFlags.DiffuseTextureEnabled;\r\n }\r\n public static set DiffuseTextureEnabled(value: boolean) {\r\n MaterialFlags.DiffuseTextureEnabled = value;\r\n }\r\n\r\n /**\r\n * Are detail textures enabled in the application.\r\n */\r\n public static get DetailTextureEnabled(): boolean {\r\n return MaterialFlags.DetailTextureEnabled;\r\n }\r\n public static set DetailTextureEnabled(value: boolean) {\r\n MaterialFlags.DetailTextureEnabled = value;\r\n }\r\n\r\n /**\r\n * Are ambient textures enabled in the application.\r\n */\r\n public static get AmbientTextureEnabled(): boolean {\r\n return MaterialFlags.AmbientTextureEnabled;\r\n }\r\n public static set AmbientTextureEnabled(value: boolean) {\r\n MaterialFlags.AmbientTextureEnabled = value;\r\n }\r\n\r\n /**\r\n * Are opacity textures enabled in the application.\r\n */\r\n public static get OpacityTextureEnabled(): boolean {\r\n return MaterialFlags.OpacityTextureEnabled;\r\n }\r\n public static set OpacityTextureEnabled(value: boolean) {\r\n MaterialFlags.OpacityTextureEnabled = value;\r\n }\r\n\r\n /**\r\n * Are reflection textures enabled in the application.\r\n */\r\n public static get ReflectionTextureEnabled(): boolean {\r\n return MaterialFlags.ReflectionTextureEnabled;\r\n }\r\n public static set ReflectionTextureEnabled(value: boolean) {\r\n MaterialFlags.ReflectionTextureEnabled = value;\r\n }\r\n\r\n /**\r\n * Are emissive textures enabled in the application.\r\n */\r\n public static get EmissiveTextureEnabled(): boolean {\r\n return MaterialFlags.EmissiveTextureEnabled;\r\n }\r\n public static set EmissiveTextureEnabled(value: boolean) {\r\n MaterialFlags.EmissiveTextureEnabled = value;\r\n }\r\n\r\n /**\r\n * Are specular textures enabled in the application.\r\n */\r\n public static get SpecularTextureEnabled(): boolean {\r\n return MaterialFlags.SpecularTextureEnabled;\r\n }\r\n public static set SpecularTextureEnabled(value: boolean) {\r\n MaterialFlags.SpecularTextureEnabled = value;\r\n }\r\n\r\n /**\r\n * Are bump textures enabled in the application.\r\n */\r\n public static get BumpTextureEnabled(): boolean {\r\n return MaterialFlags.BumpTextureEnabled;\r\n }\r\n public static set BumpTextureEnabled(value: boolean) {\r\n MaterialFlags.BumpTextureEnabled = value;\r\n }\r\n\r\n /**\r\n * Are lightmap textures enabled in the application.\r\n */\r\n public static get LightmapTextureEnabled(): boolean {\r\n return MaterialFlags.LightmapTextureEnabled;\r\n }\r\n public static set LightmapTextureEnabled(value: boolean) {\r\n MaterialFlags.LightmapTextureEnabled = value;\r\n }\r\n\r\n /**\r\n * Are refraction textures enabled in the application.\r\n */\r\n public static get RefractionTextureEnabled(): boolean {\r\n return MaterialFlags.RefractionTextureEnabled;\r\n }\r\n public static set RefractionTextureEnabled(value: boolean) {\r\n MaterialFlags.RefractionTextureEnabled = value;\r\n }\r\n\r\n /**\r\n * Are color grading textures enabled in the application.\r\n */\r\n public static get ColorGradingTextureEnabled(): boolean {\r\n return MaterialFlags.ColorGradingTextureEnabled;\r\n }\r\n public static set ColorGradingTextureEnabled(value: boolean) {\r\n MaterialFlags.ColorGradingTextureEnabled = value;\r\n }\r\n\r\n /**\r\n * Are fresnels enabled in the application.\r\n */\r\n public static get FresnelEnabled(): boolean {\r\n return MaterialFlags.FresnelEnabled;\r\n }\r\n public static set FresnelEnabled(value: boolean) {\r\n MaterialFlags.FresnelEnabled = value;\r\n }\r\n}\r\n\r\n_TypeStore.RegisteredTypes[\"BABYLON.StandardMaterial\"] = StandardMaterial;\r\n\r\nScene.DefaultMaterialFactory = (scene: Scene) => {\r\n return new StandardMaterial(\"default material\", scene);\r\n};","import { Tools } from \"../Misc/tools\";\r\nimport { Observable } from \"../Misc/observable\";\r\nimport { Nullable, FloatArray, IndicesArray, DeepImmutable } from \"../types\";\r\nimport { Camera } from \"../Cameras/camera\";\r\nimport { Scene, IDisposable } from \"../scene\";\r\nimport { Quaternion, Matrix, Vector3, TmpVectors, Vector2 } from \"../Maths/math.vector\";\r\nimport { Engine } from \"../Engines/engine\";\r\nimport { Node } from \"../node\";\r\nimport { VertexBuffer } from \"../Meshes/buffer\";\r\nimport { VertexData, IGetSetVerticesData } from \"../Meshes/mesh.vertexData\";\r\nimport { TransformNode } from \"../Meshes/transformNode\";\r\nimport { SubMesh } from \"../Meshes/subMesh\";\r\nimport { PickingInfo } from \"../Collisions/pickingInfo\";\r\nimport { IntersectionInfo } from \"../Collisions/intersectionInfo\";\r\nimport { ICullable, BoundingInfo } from \"../Culling/boundingInfo\";\r\nimport { Material } from \"../Materials/material\";\r\nimport { MaterialDefines } from \"../Materials/materialDefines\";\r\nimport { Light } from \"../Lights/light\";\r\nimport { Skeleton } from \"../Bones/skeleton\";\r\nimport { IEdgesRenderer } from \"../Rendering/edgesRenderer\";\r\nimport { SolidParticle } from \"../Particles/solidParticle\";\r\n\r\nimport { AbstractActionManager } from '../Actions/abstractActionManager';\r\nimport { _MeshCollisionData } from '../Collisions/meshCollisionData';\r\nimport { _DevTools } from '../Misc/devTools';\r\nimport { RawTexture } from '../Materials/Textures/rawTexture';\r\nimport { extractMinAndMax } from '../Maths/math.functions';\r\nimport { Color3, Color4 } from '../Maths/math.color';\r\nimport { Epsilon } from '../Maths/math.constants';\r\nimport { Plane } from '../Maths/math.plane';\r\nimport { Axis } from '../Maths/math.axis';\r\nimport { IParticleSystem } from '../Particles/IParticleSystem';\r\nimport { _TypeStore } from '../Misc/typeStore';\r\n\r\ndeclare type Ray = import(\"../Culling/ray\").Ray;\r\ndeclare type Collider = import(\"../Collisions/collider\").Collider;\r\ndeclare type TrianglePickingPredicate = import(\"../Culling/ray\").TrianglePickingPredicate;\r\ndeclare type RenderingGroup = import(\"../Rendering/renderingGroup\").RenderingGroup;\r\ndeclare type IEdgesRendererOptions = import(\"../Rendering/edgesRenderer\").IEdgesRendererOptions;\r\n\r\n/** @hidden */\r\nclass _FacetDataStorage {\r\n // facetData private properties\r\n public facetPositions: Vector3[]; // facet local positions\r\n public facetNormals: Vector3[]; // facet local normals\r\n public facetPartitioning: number[][]; // partitioning array of facet index arrays\r\n public facetNb: number = 0; // facet number\r\n public partitioningSubdivisions: number = 10; // number of subdivisions per axis in the partioning space\r\n public partitioningBBoxRatio: number = 1.01; // the partioning array space is by default 1% bigger than the bounding box\r\n public facetDataEnabled: boolean = false; // is the facet data feature enabled on this mesh ?\r\n public facetParameters: any = {}; // keep a reference to the object parameters to avoid memory re-allocation\r\n public bbSize: Vector3 = Vector3.Zero(); // bbox size approximated for facet data\r\n public subDiv = { // actual number of subdivisions per axis for ComputeNormals()\r\n max: 1,\r\n X: 1,\r\n Y: 1,\r\n Z: 1\r\n };\r\n\r\n public facetDepthSort: boolean = false; // is the facet depth sort to be computed\r\n public facetDepthSortEnabled: boolean = false; // is the facet depth sort initialized\r\n public depthSortedIndices: IndicesArray; // copy of the indices array to store them once sorted\r\n public depthSortedFacets: { ind: number, sqDistance: number }[]; // array of depth sorted facets\r\n public facetDepthSortFunction: (f1: { ind: number, sqDistance: number }, f2: { ind: number, sqDistance: number }) => number; // facet depth sort function\r\n public facetDepthSortFrom: Vector3; // location where to depth sort from\r\n public facetDepthSortOrigin: Vector3; // same as facetDepthSortFrom but expressed in the mesh local space\r\n\r\n public invertedMatrix: Matrix; // Inverted world matrix.\r\n}\r\n\r\n/**\r\n * @hidden\r\n **/\r\nclass _InternalAbstractMeshDataInfo {\r\n public _hasVertexAlpha = false;\r\n public _useVertexColors = true;\r\n public _numBoneInfluencers = 4;\r\n public _applyFog = true;\r\n public _receiveShadows = false;\r\n public _facetData = new _FacetDataStorage();\r\n public _visibility = 1.0;\r\n public _skeleton: Nullable = null;\r\n public _layerMask: number = 0x0FFFFFFF;\r\n public _computeBonesUsingShaders = true;\r\n public _isActive = false;\r\n public _onlyForInstances = false;\r\n public _isActiveIntermediate = false;\r\n public _onlyForInstancesIntermediate = false;\r\n public _actAsRegularMesh = false;\r\n public _currentLOD: Nullable = null;\r\n public _currentLODIsUpToDate: boolean = false;\r\n}\r\n\r\n/**\r\n * Class used to store all common mesh properties\r\n */\r\nexport class AbstractMesh extends TransformNode implements IDisposable, ICullable, IGetSetVerticesData {\r\n /** No occlusion */\r\n public static OCCLUSION_TYPE_NONE = 0;\r\n /** Occlusion set to optimisitic */\r\n public static OCCLUSION_TYPE_OPTIMISTIC = 1;\r\n /** Occlusion set to strict */\r\n public static OCCLUSION_TYPE_STRICT = 2;\r\n /** Use an accurante occlusion algorithm */\r\n public static OCCLUSION_ALGORITHM_TYPE_ACCURATE = 0;\r\n /** Use a conservative occlusion algorithm */\r\n public static OCCLUSION_ALGORITHM_TYPE_CONSERVATIVE = 1;\r\n\r\n /** Default culling strategy : this is an exclusion test and it's the more accurate.\r\n * Test order :\r\n * Is the bounding sphere outside the frustum ?\r\n * If not, are the bounding box vertices outside the frustum ?\r\n * It not, then the cullable object is in the frustum.\r\n */\r\n public static readonly CULLINGSTRATEGY_STANDARD = 0;\r\n /** Culling strategy : Bounding Sphere Only.\r\n * This is an exclusion test. It's faster than the standard strategy because the bounding box is not tested.\r\n * It's also less accurate than the standard because some not visible objects can still be selected.\r\n * Test : is the bounding sphere outside the frustum ?\r\n * If not, then the cullable object is in the frustum.\r\n */\r\n public static readonly CULLINGSTRATEGY_BOUNDINGSPHERE_ONLY = 1;\r\n /** Culling strategy : Optimistic Inclusion.\r\n * This in an inclusion test first, then the standard exclusion test.\r\n * This can be faster when a cullable object is expected to be almost always in the camera frustum.\r\n * This could also be a little slower than the standard test when the tested object center is not the frustum but one of its bounding box vertex is still inside.\r\n * Anyway, it's as accurate as the standard strategy.\r\n * Test :\r\n * Is the cullable object bounding sphere center in the frustum ?\r\n * If not, apply the default culling strategy.\r\n */\r\n public static readonly CULLINGSTRATEGY_OPTIMISTIC_INCLUSION = 2;\r\n /** Culling strategy : Optimistic Inclusion then Bounding Sphere Only.\r\n * This in an inclusion test first, then the bounding sphere only exclusion test.\r\n * This can be the fastest test when a cullable object is expected to be almost always in the camera frustum.\r\n * This could also be a little slower than the BoundingSphereOnly strategy when the tested object center is not in the frustum but its bounding sphere still intersects it.\r\n * It's less accurate than the standard strategy and as accurate as the BoundingSphereOnly strategy.\r\n * Test :\r\n * Is the cullable object bounding sphere center in the frustum ?\r\n * If not, apply the Bounding Sphere Only strategy. No Bounding Box is tested here.\r\n */\r\n public static readonly CULLINGSTRATEGY_OPTIMISTIC_INCLUSION_THEN_BSPHERE_ONLY = 3;\r\n\r\n /**\r\n * No billboard\r\n */\r\n public static get BILLBOARDMODE_NONE(): number {\r\n return TransformNode.BILLBOARDMODE_NONE;\r\n }\r\n\r\n /** Billboard on X axis */\r\n public static get BILLBOARDMODE_X(): number {\r\n return TransformNode.BILLBOARDMODE_X;\r\n }\r\n\r\n /** Billboard on Y axis */\r\n public static get BILLBOARDMODE_Y(): number {\r\n return TransformNode.BILLBOARDMODE_Y;\r\n }\r\n\r\n /** Billboard on Z axis */\r\n public static get BILLBOARDMODE_Z(): number {\r\n return TransformNode.BILLBOARDMODE_Z;\r\n }\r\n\r\n /** Billboard on all axes */\r\n public static get BILLBOARDMODE_ALL(): number {\r\n return TransformNode.BILLBOARDMODE_ALL;\r\n }\r\n\r\n /** Billboard on using position instead of orientation */\r\n public static get BILLBOARDMODE_USE_POSITION(): number {\r\n return TransformNode.BILLBOARDMODE_USE_POSITION;\r\n }\r\n\r\n // Internal data\r\n /** @hidden */\r\n public _internalAbstractMeshDataInfo = new _InternalAbstractMeshDataInfo();\r\n\r\n /**\r\n * The culling strategy to use to check whether the mesh must be rendered or not.\r\n * This value can be changed at any time and will be used on the next render mesh selection.\r\n * The possible values are :\r\n * - AbstractMesh.CULLINGSTRATEGY_STANDARD\r\n * - AbstractMesh.CULLINGSTRATEGY_BOUNDINGSPHERE_ONLY\r\n * - AbstractMesh.CULLINGSTRATEGY_OPTIMISTIC_INCLUSION\r\n * - AbstractMesh.CULLINGSTRATEGY_OPTIMISTIC_INCLUSION_THEN_BSPHERE_ONLY\r\n * Please read each static variable documentation to get details about the culling process.\r\n * */\r\n public cullingStrategy = AbstractMesh.CULLINGSTRATEGY_BOUNDINGSPHERE_ONLY;\r\n\r\n /**\r\n * Gets the number of facets in the mesh\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_facetdata#what-is-a-mesh-facet\r\n */\r\n public get facetNb(): number {\r\n return this._internalAbstractMeshDataInfo._facetData.facetNb;\r\n }\r\n /**\r\n * Gets or set the number (integer) of subdivisions per axis in the partioning space\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_facetdata#tweaking-the-partitioning\r\n */\r\n public get partitioningSubdivisions(): number {\r\n return this._internalAbstractMeshDataInfo._facetData.partitioningSubdivisions;\r\n }\r\n public set partitioningSubdivisions(nb: number) {\r\n this._internalAbstractMeshDataInfo._facetData.partitioningSubdivisions = nb;\r\n }\r\n /**\r\n * The ratio (float) to apply to the bouding box size to set to the partioning space.\r\n * Ex : 1.01 (default) the partioning space is 1% bigger than the bounding box\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_facetdata#tweaking-the-partitioning\r\n */\r\n public get partitioningBBoxRatio(): number {\r\n return this._internalAbstractMeshDataInfo._facetData.partitioningBBoxRatio;\r\n }\r\n public set partitioningBBoxRatio(ratio: number) {\r\n this._internalAbstractMeshDataInfo._facetData.partitioningBBoxRatio = ratio;\r\n }\r\n\r\n /**\r\n * Gets or sets a boolean indicating that the facets must be depth sorted on next call to `updateFacetData()`.\r\n * Works only for updatable meshes.\r\n * Doesn't work with multi-materials\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_facetdata#facet-depth-sort\r\n */\r\n public get mustDepthSortFacets(): boolean {\r\n return this._internalAbstractMeshDataInfo._facetData.facetDepthSort;\r\n }\r\n public set mustDepthSortFacets(sort: boolean) {\r\n this._internalAbstractMeshDataInfo._facetData.facetDepthSort = sort;\r\n }\r\n\r\n /**\r\n * The location (Vector3) where the facet depth sort must be computed from.\r\n * By default, the active camera position.\r\n * Used only when facet depth sort is enabled\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_facetdata#facet-depth-sort\r\n */\r\n public get facetDepthSortFrom(): Vector3 {\r\n return this._internalAbstractMeshDataInfo._facetData.facetDepthSortFrom;\r\n }\r\n public set facetDepthSortFrom(location: Vector3) {\r\n this._internalAbstractMeshDataInfo._facetData.facetDepthSortFrom = location;\r\n }\r\n\r\n /**\r\n * gets a boolean indicating if facetData is enabled\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_facetdata#what-is-a-mesh-facet\r\n */\r\n public get isFacetDataEnabled(): boolean {\r\n return this._internalAbstractMeshDataInfo._facetData.facetDataEnabled;\r\n }\r\n\r\n /** @hidden */\r\n public _updateNonUniformScalingState(value: boolean): boolean {\r\n if (!super._updateNonUniformScalingState(value)) {\r\n return false;\r\n }\r\n this._markSubMeshesAsMiscDirty();\r\n return true;\r\n }\r\n\r\n // Events\r\n\r\n /**\r\n * An event triggered when this mesh collides with another one\r\n */\r\n public onCollideObservable = new Observable();\r\n\r\n /** Set a function to call when this mesh collides with another one */\r\n public set onCollide(callback: () => void) {\r\n if (this._meshCollisionData._onCollideObserver) {\r\n this.onCollideObservable.remove(this._meshCollisionData._onCollideObserver);\r\n }\r\n this._meshCollisionData._onCollideObserver = this.onCollideObservable.add(callback);\r\n }\r\n\r\n /**\r\n * An event triggered when the collision's position changes\r\n */\r\n public onCollisionPositionChangeObservable = new Observable();\r\n\r\n /** Set a function to call when the collision's position changes */\r\n public set onCollisionPositionChange(callback: () => void) {\r\n if (this._meshCollisionData._onCollisionPositionChangeObserver) {\r\n this.onCollisionPositionChangeObservable.remove(this._meshCollisionData._onCollisionPositionChangeObserver);\r\n }\r\n this._meshCollisionData._onCollisionPositionChangeObserver = this.onCollisionPositionChangeObservable.add(callback);\r\n }\r\n\r\n /**\r\n * An event triggered when material is changed\r\n */\r\n public onMaterialChangedObservable = new Observable();\r\n\r\n // Properties\r\n\r\n /**\r\n * Gets or sets the orientation for POV movement & rotation\r\n */\r\n public definedFacingForward = true;\r\n\r\n /** @hidden */\r\n public _occlusionQuery: Nullable = null;\r\n\r\n /** @hidden */\r\n public _renderingGroup: Nullable = null;\r\n\r\n /**\r\n * Gets or sets mesh visibility between 0 and 1 (default is 1)\r\n */\r\n public get visibility(): number {\r\n return this._internalAbstractMeshDataInfo._visibility;\r\n }\r\n\r\n /**\r\n * Gets or sets mesh visibility between 0 and 1 (default is 1)\r\n */\r\n public set visibility(value: number) {\r\n if (this._internalAbstractMeshDataInfo._visibility === value) {\r\n return;\r\n }\r\n\r\n this._internalAbstractMeshDataInfo._visibility = value;\r\n this._markSubMeshesAsMiscDirty();\r\n }\r\n\r\n /** Gets or sets the alpha index used to sort transparent meshes\r\n * @see https://doc.babylonjs.com/resources/transparency_and_how_meshes_are_rendered#alpha-index\r\n */\r\n public alphaIndex = Number.MAX_VALUE;\r\n\r\n /**\r\n * Gets or sets a boolean indicating if the mesh is visible (renderable). Default is true\r\n */\r\n public isVisible = true;\r\n\r\n /**\r\n * Gets or sets a boolean indicating if the mesh can be picked (by scene.pick for instance or through actions). Default is true\r\n */\r\n public isPickable = true;\r\n\r\n /** Gets or sets a boolean indicating that bounding boxes of subMeshes must be rendered as well (false by default) */\r\n public showSubMeshesBoundingBox = false;\r\n\r\n /** Gets or sets a boolean indicating if the mesh must be considered as a ray blocker for lens flares (false by default)\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_lens_flares\r\n */\r\n public isBlocker = false;\r\n\r\n /**\r\n * Gets or sets a boolean indicating that pointer move events must be supported on this mesh (false by default)\r\n */\r\n public enablePointerMoveEvents = false;\r\n\r\n private _renderingGroupId = 0;\r\n\r\n /**\r\n * Specifies the rendering group id for this mesh (0 by default)\r\n * @see https://doc.babylonjs.com/resources/transparency_and_how_meshes_are_rendered#rendering-groups\r\n */\r\n public get renderingGroupId() {\r\n return this._renderingGroupId;\r\n }\r\n\r\n public set renderingGroupId(value: number) {\r\n this._renderingGroupId = value;\r\n }\r\n private _material: Nullable = null;\r\n\r\n /** Gets or sets current material */\r\n public get material(): Nullable {\r\n return this._material;\r\n }\r\n public set material(value: Nullable) {\r\n if (this._material === value) {\r\n return;\r\n }\r\n\r\n // remove from material mesh map id needed\r\n if (this._material && this._material.meshMap) {\r\n this._material.meshMap[this.uniqueId] = undefined;\r\n }\r\n\r\n this._material = value;\r\n\r\n if (value && value.meshMap) {\r\n value.meshMap[this.uniqueId] = this;\r\n }\r\n\r\n if (this.onMaterialChangedObservable.hasObservers()) {\r\n this.onMaterialChangedObservable.notifyObservers(this);\r\n }\r\n\r\n if (!this.subMeshes) {\r\n return;\r\n }\r\n\r\n this._unBindEffect();\r\n }\r\n\r\n /**\r\n * Gets or sets a boolean indicating that this mesh can receive realtime shadows\r\n * @see https://doc.babylonjs.com/babylon101/shadows\r\n */\r\n public get receiveShadows(): boolean {\r\n return this._internalAbstractMeshDataInfo._receiveShadows;\r\n }\r\n public set receiveShadows(value: boolean) {\r\n if (this._internalAbstractMeshDataInfo._receiveShadows === value) {\r\n return;\r\n }\r\n\r\n this._internalAbstractMeshDataInfo._receiveShadows = value;\r\n this._markSubMeshesAsLightDirty();\r\n }\r\n\r\n /** Defines color to use when rendering outline */\r\n public outlineColor = Color3.Red();\r\n /** Define width to use when rendering outline */\r\n public outlineWidth = 0.02;\r\n\r\n /** Defines color to use when rendering overlay */\r\n public overlayColor = Color3.Red();\r\n /** Defines alpha to use when rendering overlay */\r\n public overlayAlpha = 0.5;\r\n\r\n /** Gets or sets a boolean indicating that this mesh contains vertex color data with alpha values */\r\n public get hasVertexAlpha(): boolean {\r\n return this._internalAbstractMeshDataInfo._hasVertexAlpha;\r\n }\r\n public set hasVertexAlpha(value: boolean) {\r\n if (this._internalAbstractMeshDataInfo._hasVertexAlpha === value) {\r\n return;\r\n }\r\n\r\n this._internalAbstractMeshDataInfo._hasVertexAlpha = value;\r\n this._markSubMeshesAsAttributesDirty();\r\n this._markSubMeshesAsMiscDirty();\r\n }\r\n\r\n /** Gets or sets a boolean indicating that this mesh needs to use vertex color data to render (if this kind of vertex data is available in the geometry) */\r\n public get useVertexColors(): boolean {\r\n return this._internalAbstractMeshDataInfo._useVertexColors;\r\n }\r\n public set useVertexColors(value: boolean) {\r\n if (this._internalAbstractMeshDataInfo._useVertexColors === value) {\r\n return;\r\n }\r\n\r\n this._internalAbstractMeshDataInfo._useVertexColors = value;\r\n this._markSubMeshesAsAttributesDirty();\r\n }\r\n\r\n /**\r\n * Gets or sets a boolean indicating that bone animations must be computed by the CPU (false by default)\r\n */\r\n public get computeBonesUsingShaders(): boolean {\r\n return this._internalAbstractMeshDataInfo._computeBonesUsingShaders;\r\n }\r\n public set computeBonesUsingShaders(value: boolean) {\r\n if (this._internalAbstractMeshDataInfo._computeBonesUsingShaders === value) {\r\n return;\r\n }\r\n\r\n this._internalAbstractMeshDataInfo._computeBonesUsingShaders = value;\r\n this._markSubMeshesAsAttributesDirty();\r\n }\r\n\r\n /** Gets or sets the number of allowed bone influences per vertex (4 by default) */\r\n public get numBoneInfluencers(): number {\r\n return this._internalAbstractMeshDataInfo._numBoneInfluencers;\r\n }\r\n public set numBoneInfluencers(value: number) {\r\n if (this._internalAbstractMeshDataInfo._numBoneInfluencers === value) {\r\n return;\r\n }\r\n\r\n this._internalAbstractMeshDataInfo._numBoneInfluencers = value;\r\n this._markSubMeshesAsAttributesDirty();\r\n }\r\n\r\n /** Gets or sets a boolean indicating that this mesh will allow fog to be rendered on it (true by default) */\r\n public get applyFog(): boolean {\r\n return this._internalAbstractMeshDataInfo._applyFog;\r\n }\r\n public set applyFog(value: boolean) {\r\n if (this._internalAbstractMeshDataInfo._applyFog === value) {\r\n return;\r\n }\r\n\r\n this._internalAbstractMeshDataInfo._applyFog = value;\r\n this._markSubMeshesAsMiscDirty();\r\n }\r\n\r\n /** Gets or sets a boolean indicating that internal octree (if available) can be used to boost submeshes selection (true by default) */\r\n public useOctreeForRenderingSelection = true;\r\n /** Gets or sets a boolean indicating that internal octree (if available) can be used to boost submeshes picking (true by default) */\r\n public useOctreeForPicking = true;\r\n /** Gets or sets a boolean indicating that internal octree (if available) can be used to boost submeshes collision (true by default) */\r\n public useOctreeForCollisions = true;\r\n\r\n /**\r\n * Gets or sets the current layer mask (default is 0x0FFFFFFF)\r\n * @see https://doc.babylonjs.com/how_to/layermasks_and_multi-cam_textures\r\n */\r\n public get layerMask(): number {\r\n return this._internalAbstractMeshDataInfo._layerMask;\r\n }\r\n\r\n public set layerMask(value: number) {\r\n if (value === this._internalAbstractMeshDataInfo._layerMask) {\r\n return;\r\n }\r\n\r\n this._internalAbstractMeshDataInfo._layerMask = value;\r\n this._resyncLightSources();\r\n }\r\n\r\n /**\r\n * True if the mesh must be rendered in any case (this will shortcut the frustum clipping phase)\r\n */\r\n public alwaysSelectAsActiveMesh = false;\r\n\r\n /**\r\n * Gets or sets a boolean indicating that the bounding info does not need to be kept in sync (for performance reason)\r\n */\r\n public doNotSyncBoundingInfo = false;\r\n\r\n /**\r\n * Gets or sets the current action manager\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions\r\n */\r\n public actionManager: Nullable = null;\r\n\r\n // Collisions\r\n private _meshCollisionData = new _MeshCollisionData();\r\n\r\n /**\r\n * Gets or sets the ellipsoid used to impersonate this mesh when using collision engine (default is (0.5, 1, 0.5))\r\n * @see https://doc.babylonjs.com/babylon101/cameras,_mesh_collisions_and_gravity\r\n */\r\n public ellipsoid = new Vector3(0.5, 1, 0.5);\r\n /**\r\n * Gets or sets the ellipsoid offset used to impersonate this mesh when using collision engine (default is (0, 0, 0))\r\n * @see https://doc.babylonjs.com/babylon101/cameras,_mesh_collisions_and_gravity\r\n */\r\n public ellipsoidOffset = new Vector3(0, 0, 0);\r\n\r\n /**\r\n * Gets or sets a collision mask used to mask collisions (default is -1).\r\n * A collision between A and B will happen if A.collisionGroup & b.collisionMask !== 0\r\n */\r\n public get collisionMask(): number {\r\n return this._meshCollisionData._collisionMask;\r\n }\r\n\r\n public set collisionMask(mask: number) {\r\n this._meshCollisionData._collisionMask = !isNaN(mask) ? mask : -1;\r\n }\r\n\r\n /**\r\n * Gets or sets a collision response flag (default is true).\r\n * when collisionResponse is false, events are still triggered but colliding entity has no response\r\n * This helps creating trigger volume when user wants collision feedback events but not position/velocity\r\n * to respond to the collision.\r\n */\r\n public get collisionResponse(): boolean {\r\n return this._meshCollisionData._collisionResponse;\r\n }\r\n\r\n public set collisionResponse(response: boolean) {\r\n this._meshCollisionData._collisionResponse = response;\r\n }\r\n /**\r\n * Gets or sets the current collision group mask (-1 by default).\r\n * A collision between A and B will happen if A.collisionGroup & b.collisionMask !== 0\r\n */\r\n public get collisionGroup(): number {\r\n return this._meshCollisionData._collisionGroup;\r\n }\r\n\r\n public set collisionGroup(mask: number) {\r\n this._meshCollisionData._collisionGroup = !isNaN(mask) ? mask : -1;\r\n }\r\n\r\n /**\r\n * Gets or sets current surrounding meshes (null by default).\r\n *\r\n * By default collision detection is tested against every mesh in the scene.\r\n * It is possible to set surroundingMeshes to a defined list of meshes and then only these specified\r\n * meshes will be tested for the collision.\r\n *\r\n * Note: if set to an empty array no collision will happen when this mesh is moved.\r\n */\r\n public get surroundingMeshes(): Nullable {\r\n return this._meshCollisionData._surroundingMeshes;\r\n }\r\n\r\n public set surroundingMeshes(meshes: Nullable) {\r\n this._meshCollisionData._surroundingMeshes = meshes;\r\n }\r\n\r\n // Edges\r\n /**\r\n * Defines edge width used when edgesRenderer is enabled\r\n * @see https://www.babylonjs-playground.com/#10OJSG#13\r\n */\r\n public edgesWidth = 1;\r\n /**\r\n * Defines edge color used when edgesRenderer is enabled\r\n * @see https://www.babylonjs-playground.com/#10OJSG#13\r\n */\r\n public edgesColor = new Color4(1, 0, 0, 1);\r\n /** @hidden */\r\n public _edgesRenderer: Nullable = null;\r\n\r\n /** @hidden */\r\n public _masterMesh: Nullable = null;\r\n /** @hidden */\r\n public _boundingInfo: Nullable = null;\r\n /** @hidden */\r\n public _renderId = 0;\r\n\r\n /**\r\n * Gets or sets the list of subMeshes\r\n * @see https://doc.babylonjs.com/how_to/multi_materials\r\n */\r\n public subMeshes: SubMesh[];\r\n\r\n /** @hidden */\r\n public _intersectionsInProgress = new Array();\r\n\r\n /** @hidden */\r\n public _unIndexed = false;\r\n\r\n /** @hidden */\r\n public _lightSources = new Array();\r\n\r\n /** Gets the list of lights affecting that mesh */\r\n public get lightSources(): Light[] {\r\n return this._lightSources;\r\n }\r\n\r\n /** @hidden */\r\n public get _positions(): Nullable {\r\n return null;\r\n }\r\n\r\n // Loading properties\r\n /** @hidden */\r\n public _waitingData: {\r\n lods: Nullable,\r\n actions: Nullable\r\n freezeWorldMatrix: Nullable\r\n } = {\r\n lods: null,\r\n actions: null,\r\n freezeWorldMatrix: null\r\n };\r\n\r\n /** @hidden */\r\n public _bonesTransformMatrices: Nullable = null;\r\n\r\n /** @hidden */\r\n public _transformMatrixTexture: Nullable = null;\r\n\r\n /**\r\n * Gets or sets a skeleton to apply skining transformations\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_bones_and_skeletons\r\n */\r\n public set skeleton(value: Nullable) {\r\n let skeleton = this._internalAbstractMeshDataInfo._skeleton;\r\n if (skeleton && skeleton.needInitialSkinMatrix) {\r\n skeleton._unregisterMeshWithPoseMatrix(this);\r\n }\r\n\r\n if (value && value.needInitialSkinMatrix) {\r\n value._registerMeshWithPoseMatrix(this);\r\n }\r\n\r\n this._internalAbstractMeshDataInfo._skeleton = value;\r\n\r\n if (!this._internalAbstractMeshDataInfo._skeleton) {\r\n this._bonesTransformMatrices = null;\r\n }\r\n\r\n this._markSubMeshesAsAttributesDirty();\r\n }\r\n\r\n public get skeleton(): Nullable {\r\n return this._internalAbstractMeshDataInfo._skeleton;\r\n }\r\n\r\n /**\r\n * An event triggered when the mesh is rebuilt.\r\n */\r\n public onRebuildObservable = new Observable();\r\n\r\n // Constructor\r\n\r\n /**\r\n * Creates a new AbstractMesh\r\n * @param name defines the name of the mesh\r\n * @param scene defines the hosting scene\r\n */\r\n constructor(name: string, scene: Nullable = null) {\r\n super(name, scene, false);\r\n\r\n this.getScene().addMesh(this);\r\n\r\n this._resyncLightSources();\r\n }\r\n\r\n /**\r\n * Returns the string \"AbstractMesh\"\r\n * @returns \"AbstractMesh\"\r\n */\r\n public getClassName(): string {\r\n return \"AbstractMesh\";\r\n }\r\n\r\n /**\r\n * Gets a string representation of the current mesh\r\n * @param fullDetails defines a boolean indicating if full details must be included\r\n * @returns a string representation of the current mesh\r\n */\r\n public toString(fullDetails?: boolean): string {\r\n var ret = \"Name: \" + this.name + \", isInstance: \" + (this.getClassName() !== \"InstancedMesh\" ? \"YES\" : \"NO\");\r\n ret += \", # of submeshes: \" + (this.subMeshes ? this.subMeshes.length : 0);\r\n\r\n let skeleton = this._internalAbstractMeshDataInfo._skeleton;\r\n if (skeleton) {\r\n ret += \", skeleton: \" + skeleton.name;\r\n }\r\n if (fullDetails) {\r\n ret += \", billboard mode: \" + ([\"NONE\", \"X\", \"Y\", null, \"Z\", null, null, \"ALL\"])[this.billboardMode];\r\n ret += \", freeze wrld mat: \" + (this._isWorldMatrixFrozen || this._waitingData.freezeWorldMatrix ? \"YES\" : \"NO\");\r\n }\r\n return ret;\r\n }\r\n\r\n /**\r\n * @hidden\r\n */\r\n protected _getEffectiveParent(): Nullable {\r\n if (this._masterMesh && this.billboardMode !== TransformNode.BILLBOARDMODE_NONE) {\r\n return this._masterMesh;\r\n }\r\n\r\n return super._getEffectiveParent();\r\n }\r\n\r\n /** @hidden */\r\n public _getActionManagerForTrigger(trigger?: number, initialCall = true): Nullable {\r\n if (this.actionManager && (initialCall || this.actionManager.isRecursive)) {\r\n if (trigger) {\r\n if (this.actionManager.hasSpecificTrigger(trigger)) {\r\n return this.actionManager;\r\n }\r\n }\r\n else {\r\n return this.actionManager;\r\n }\r\n }\r\n\r\n if (!this.parent) {\r\n return null;\r\n }\r\n\r\n return this.parent._getActionManagerForTrigger(trigger, false);\r\n }\r\n\r\n /** @hidden */\r\n public _rebuild(): void {\r\n this.onRebuildObservable.notifyObservers(this);\r\n\r\n if (this._occlusionQuery) {\r\n this._occlusionQuery = null;\r\n }\r\n\r\n if (!this.subMeshes) {\r\n return;\r\n }\r\n\r\n for (var subMesh of this.subMeshes) {\r\n subMesh._rebuild();\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _resyncLightSources(): void {\r\n this._lightSources.length = 0;\r\n\r\n for (var light of this.getScene().lights) {\r\n if (!light.isEnabled()) {\r\n continue;\r\n }\r\n\r\n if (light.canAffectMesh(this)) {\r\n this._lightSources.push(light);\r\n }\r\n }\r\n\r\n this._markSubMeshesAsLightDirty();\r\n }\r\n\r\n /** @hidden */\r\n public _resyncLightSource(light: Light): void {\r\n var isIn = light.isEnabled() && light.canAffectMesh(this);\r\n\r\n var index = this._lightSources.indexOf(light);\r\n var removed = false;\r\n if (index === -1) {\r\n if (!isIn) {\r\n return;\r\n }\r\n this._lightSources.push(light);\r\n } else {\r\n if (isIn) {\r\n return;\r\n }\r\n removed = true;\r\n this._lightSources.splice(index, 1);\r\n }\r\n\r\n this._markSubMeshesAsLightDirty(removed);\r\n }\r\n\r\n /** @hidden */\r\n public _unBindEffect() {\r\n for (var subMesh of this.subMeshes) {\r\n subMesh.setEffect(null);\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _removeLightSource(light: Light, dispose: boolean): void {\r\n var index = this._lightSources.indexOf(light);\r\n\r\n if (index === -1) {\r\n return;\r\n }\r\n this._lightSources.splice(index, 1);\r\n\r\n this._markSubMeshesAsLightDirty(dispose);\r\n }\r\n\r\n private _markSubMeshesAsDirty(func: (defines: MaterialDefines) => void) {\r\n if (!this.subMeshes) {\r\n return;\r\n }\r\n\r\n for (var subMesh of this.subMeshes) {\r\n if (subMesh._materialDefines) {\r\n func(subMesh._materialDefines);\r\n }\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _markSubMeshesAsLightDirty(dispose: boolean = false) {\r\n this._markSubMeshesAsDirty((defines) => defines.markAsLightDirty(dispose));\r\n }\r\n\r\n /** @hidden */\r\n public _markSubMeshesAsAttributesDirty() {\r\n this._markSubMeshesAsDirty((defines) => defines.markAsAttributesDirty());\r\n }\r\n\r\n /** @hidden */\r\n public _markSubMeshesAsMiscDirty() {\r\n this._markSubMeshesAsDirty((defines) => defines.markAsMiscDirty());\r\n }\r\n\r\n /**\r\n * Gets or sets a Vector3 depicting the mesh scaling along each local axis X, Y, Z. Default is (1.0, 1.0, 1.0)\r\n */\r\n public get scaling(): Vector3 {\r\n return this._scaling;\r\n }\r\n\r\n public set scaling(newScaling: Vector3) {\r\n this._scaling = newScaling;\r\n }\r\n\r\n // Methods\r\n /**\r\n * Returns true if the mesh is blocked. Implemented by child classes\r\n */\r\n public get isBlocked(): boolean {\r\n return false;\r\n }\r\n\r\n /**\r\n * Returns the mesh itself by default. Implemented by child classes\r\n * @param camera defines the camera to use to pick the right LOD level\r\n * @returns the currentAbstractMesh\r\n */\r\n public getLOD(camera: Camera): Nullable {\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns 0 by default. Implemented by child classes\r\n * @returns an integer\r\n */\r\n public getTotalVertices(): number {\r\n return 0;\r\n }\r\n\r\n /**\r\n * Returns a positive integer : the total number of indices in this mesh geometry.\r\n * @returns the numner of indices or zero if the mesh has no geometry.\r\n */\r\n public getTotalIndices(): number {\r\n return 0;\r\n }\r\n\r\n /**\r\n * Returns null by default. Implemented by child classes\r\n * @returns null\r\n */\r\n public getIndices(): Nullable {\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the array of the requested vertex data kind. Implemented by child classes\r\n * @param kind defines the vertex data kind to use\r\n * @returns null\r\n */\r\n public getVerticesData(kind: string): Nullable {\r\n return null;\r\n }\r\n\r\n /**\r\n * Sets the vertex data of the mesh geometry for the requested `kind`.\r\n * If the mesh has no geometry, a new Geometry object is set to the mesh and then passed this vertex data.\r\n * Note that a new underlying VertexBuffer object is created each call.\r\n * If the `kind` is the `PositionKind`, the mesh BoundingInfo is renewed, so the bounding box and sphere, and the mesh World Matrix is recomputed.\r\n * @param kind defines vertex data kind:\r\n * * VertexBuffer.PositionKind\r\n * * VertexBuffer.UVKind\r\n * * VertexBuffer.UV2Kind\r\n * * VertexBuffer.UV3Kind\r\n * * VertexBuffer.UV4Kind\r\n * * VertexBuffer.UV5Kind\r\n * * VertexBuffer.UV6Kind\r\n * * VertexBuffer.ColorKind\r\n * * VertexBuffer.MatricesIndicesKind\r\n * * VertexBuffer.MatricesIndicesExtraKind\r\n * * VertexBuffer.MatricesWeightsKind\r\n * * VertexBuffer.MatricesWeightsExtraKind\r\n * @param data defines the data source\r\n * @param updatable defines if the data must be flagged as updatable (or static)\r\n * @param stride defines the vertex stride (size of an entire vertex). Can be null and in this case will be deduced from vertex data kind\r\n * @returns the current mesh\r\n */\r\n public setVerticesData(kind: string, data: FloatArray, updatable?: boolean, stride?: number): AbstractMesh {\r\n return this;\r\n }\r\n\r\n /**\r\n * Updates the existing vertex data of the mesh geometry for the requested `kind`.\r\n * If the mesh has no geometry, it is simply returned as it is.\r\n * @param kind defines vertex data kind:\r\n * * VertexBuffer.PositionKind\r\n * * VertexBuffer.UVKind\r\n * * VertexBuffer.UV2Kind\r\n * * VertexBuffer.UV3Kind\r\n * * VertexBuffer.UV4Kind\r\n * * VertexBuffer.UV5Kind\r\n * * VertexBuffer.UV6Kind\r\n * * VertexBuffer.ColorKind\r\n * * VertexBuffer.MatricesIndicesKind\r\n * * VertexBuffer.MatricesIndicesExtraKind\r\n * * VertexBuffer.MatricesWeightsKind\r\n * * VertexBuffer.MatricesWeightsExtraKind\r\n * @param data defines the data source\r\n * @param updateExtends If `kind` is `PositionKind` and if `updateExtends` is true, the mesh BoundingInfo is renewed, so the bounding box and sphere, and the mesh World Matrix is recomputed\r\n * @param makeItUnique If true, a new global geometry is created from this data and is set to the mesh\r\n * @returns the current mesh\r\n */\r\n public updateVerticesData(kind: string, data: FloatArray, updateExtends?: boolean, makeItUnique?: boolean): AbstractMesh {\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets the mesh indices,\r\n * If the mesh has no geometry, a new Geometry object is created and set to the mesh.\r\n * @param indices Expects an array populated with integers or a typed array (Int32Array, Uint32Array, Uint16Array)\r\n * @param totalVertices Defines the total number of vertices\r\n * @returns the current mesh\r\n */\r\n public setIndices(indices: IndicesArray, totalVertices: Nullable): AbstractMesh {\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if specific vertex data is present\r\n * @param kind defines the vertex data kind to use\r\n * @returns true is data kind is present\r\n */\r\n public isVerticesDataPresent(kind: string): boolean {\r\n return false;\r\n }\r\n\r\n /**\r\n * Returns the mesh BoundingInfo object or creates a new one and returns if it was undefined.\r\n * Note that it returns a shallow bounding of the mesh (i.e. it does not include children).\r\n * To get the full bounding of all children, call `getHierarchyBoundingVectors` instead.\r\n * @returns a BoundingInfo\r\n */\r\n public getBoundingInfo(): BoundingInfo {\r\n if (this._masterMesh) {\r\n return this._masterMesh.getBoundingInfo();\r\n }\r\n\r\n if (!this._boundingInfo) {\r\n // this._boundingInfo is being created here\r\n this._updateBoundingInfo();\r\n }\r\n // cannot be null.\r\n return this._boundingInfo!;\r\n }\r\n\r\n /**\r\n * Uniformly scales the mesh to fit inside of a unit cube (1 X 1 X 1 units)\r\n * @param includeDescendants Use the hierarchy's bounding box instead of the mesh's bounding box. Default is false\r\n * @param ignoreRotation ignore rotation when computing the scale (ie. object will be axis aligned). Default is false\r\n * @param predicate predicate that is passed in to getHierarchyBoundingVectors when selecting which object should be included when scaling\r\n * @returns the current mesh\r\n */\r\n public normalizeToUnitCube(includeDescendants = true, ignoreRotation = false, predicate?: Nullable<(node: AbstractMesh) => boolean>): AbstractMesh {\r\n return super.normalizeToUnitCube(includeDescendants, ignoreRotation, predicate);\r\n }\r\n /**\r\n * Overwrite the current bounding info\r\n * @param boundingInfo defines the new bounding info\r\n * @returns the current mesh\r\n */\r\n public setBoundingInfo(boundingInfo: BoundingInfo): AbstractMesh {\r\n this._boundingInfo = boundingInfo;\r\n return this;\r\n }\r\n\r\n /** Gets a boolean indicating if this mesh has skinning data and an attached skeleton */\r\n public get useBones(): boolean {\r\n return ((this.skeleton && this.getScene().skeletonsEnabled && this.isVerticesDataPresent(VertexBuffer.MatricesIndicesKind) && this.isVerticesDataPresent(VertexBuffer.MatricesWeightsKind)));\r\n }\r\n\r\n /** @hidden */\r\n public _preActivate(): void {\r\n }\r\n\r\n /** @hidden */\r\n public _preActivateForIntermediateRendering(renderId: number): void {\r\n }\r\n\r\n /** @hidden */\r\n public _activate(renderId: number, intermediateRendering: boolean): boolean {\r\n this._renderId = renderId;\r\n return true;\r\n }\r\n\r\n /** @hidden */\r\n public _postActivate(): void {\r\n // Do nothing\r\n }\r\n\r\n /** @hidden */\r\n public _freeze() {\r\n // Do nothing\r\n }\r\n\r\n /** @hidden */\r\n public _unFreeze() {\r\n // Do nothing\r\n }\r\n\r\n /**\r\n * Gets the current world matrix\r\n * @returns a Matrix\r\n */\r\n public getWorldMatrix(): Matrix {\r\n if (this._masterMesh && this.billboardMode === TransformNode.BILLBOARDMODE_NONE) {\r\n return this._masterMesh.getWorldMatrix();\r\n }\r\n\r\n return super.getWorldMatrix();\r\n }\r\n\r\n /** @hidden */\r\n public _getWorldMatrixDeterminant(): number {\r\n if (this._masterMesh) {\r\n return this._masterMesh._getWorldMatrixDeterminant();\r\n }\r\n\r\n return super._getWorldMatrixDeterminant();\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if this mesh is an instance or a regular mesh\r\n */\r\n public get isAnInstance(): boolean {\r\n return false;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if this mesh has instances\r\n */\r\n public get hasInstances(): boolean {\r\n return false;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if this mesh has thin instances\r\n */\r\n public get hasThinInstances(): boolean {\r\n return false;\r\n }\r\n\r\n // ================================== Point of View Movement =================================\r\n\r\n /**\r\n * Perform relative position change from the point of view of behind the front of the mesh.\r\n * This is performed taking into account the meshes current rotation, so you do not have to care.\r\n * Supports definition of mesh facing forward or backward\r\n * @param amountRight defines the distance on the right axis\r\n * @param amountUp defines the distance on the up axis\r\n * @param amountForward defines the distance on the forward axis\r\n * @returns the current mesh\r\n */\r\n public movePOV(amountRight: number, amountUp: number, amountForward: number): AbstractMesh {\r\n this.position.addInPlace(this.calcMovePOV(amountRight, amountUp, amountForward));\r\n return this;\r\n }\r\n\r\n /**\r\n * Calculate relative position change from the point of view of behind the front of the mesh.\r\n * This is performed taking into account the meshes current rotation, so you do not have to care.\r\n * Supports definition of mesh facing forward or backward\r\n * @param amountRight defines the distance on the right axis\r\n * @param amountUp defines the distance on the up axis\r\n * @param amountForward defines the distance on the forward axis\r\n * @returns the new displacement vector\r\n */\r\n public calcMovePOV(amountRight: number, amountUp: number, amountForward: number): Vector3 {\r\n var rotMatrix = new Matrix();\r\n var rotQuaternion = (this.rotationQuaternion) ? this.rotationQuaternion : Quaternion.RotationYawPitchRoll(this.rotation.y, this.rotation.x, this.rotation.z);\r\n rotQuaternion.toRotationMatrix(rotMatrix);\r\n\r\n var translationDelta = Vector3.Zero();\r\n var defForwardMult = this.definedFacingForward ? -1 : 1;\r\n Vector3.TransformCoordinatesFromFloatsToRef(amountRight * defForwardMult, amountUp, amountForward * defForwardMult, rotMatrix, translationDelta);\r\n return translationDelta;\r\n }\r\n // ================================== Point of View Rotation =================================\r\n /**\r\n * Perform relative rotation change from the point of view of behind the front of the mesh.\r\n * Supports definition of mesh facing forward or backward\r\n * @param flipBack defines the flip\r\n * @param twirlClockwise defines the twirl\r\n * @param tiltRight defines the tilt\r\n * @returns the current mesh\r\n */\r\n public rotatePOV(flipBack: number, twirlClockwise: number, tiltRight: number): AbstractMesh {\r\n this.rotation.addInPlace(this.calcRotatePOV(flipBack, twirlClockwise, tiltRight));\r\n return this;\r\n }\r\n\r\n /**\r\n * Calculate relative rotation change from the point of view of behind the front of the mesh.\r\n * Supports definition of mesh facing forward or backward.\r\n * @param flipBack defines the flip\r\n * @param twirlClockwise defines the twirl\r\n * @param tiltRight defines the tilt\r\n * @returns the new rotation vector\r\n */\r\n public calcRotatePOV(flipBack: number, twirlClockwise: number, tiltRight: number): Vector3 {\r\n var defForwardMult = this.definedFacingForward ? 1 : -1;\r\n return new Vector3(flipBack * defForwardMult, twirlClockwise, tiltRight * defForwardMult);\r\n }\r\n\r\n /**\r\n * This method recomputes and sets a new BoundingInfo to the mesh unless it is locked.\r\n * This means the mesh underlying bounding box and sphere are recomputed.\r\n * @param applySkeleton defines whether to apply the skeleton before computing the bounding info\r\n * @returns the current mesh\r\n */\r\n public refreshBoundingInfo(applySkeleton: boolean = false): AbstractMesh {\r\n if (this._boundingInfo && this._boundingInfo.isLocked) {\r\n return this;\r\n }\r\n\r\n this._refreshBoundingInfo(this._getPositionData(applySkeleton), null);\r\n return this;\r\n }\r\n\r\n /** @hidden */\r\n public _refreshBoundingInfo(data: Nullable, bias: Nullable): void {\r\n if (data) {\r\n var extend = extractMinAndMax(data, 0, this.getTotalVertices(), bias);\r\n if (this._boundingInfo) {\r\n this._boundingInfo.reConstruct(extend.minimum, extend.maximum);\r\n }\r\n else {\r\n this._boundingInfo = new BoundingInfo(extend.minimum, extend.maximum);\r\n }\r\n }\r\n\r\n if (this.subMeshes) {\r\n for (var index = 0; index < this.subMeshes.length; index++) {\r\n this.subMeshes[index].refreshBoundingInfo(data);\r\n }\r\n }\r\n\r\n this._updateBoundingInfo();\r\n }\r\n\r\n /** @hidden */\r\n public _getPositionData(applySkeleton: boolean): Nullable {\r\n var data = this.getVerticesData(VertexBuffer.PositionKind);\r\n\r\n if (data && applySkeleton && this.skeleton) {\r\n data = Tools.Slice(data);\r\n this._generatePointsArray();\r\n\r\n var matricesIndicesData = this.getVerticesData(VertexBuffer.MatricesIndicesKind);\r\n var matricesWeightsData = this.getVerticesData(VertexBuffer.MatricesWeightsKind);\r\n if (matricesWeightsData && matricesIndicesData) {\r\n var needExtras = this.numBoneInfluencers > 4;\r\n var matricesIndicesExtraData = needExtras ? this.getVerticesData(VertexBuffer.MatricesIndicesExtraKind) : null;\r\n var matricesWeightsExtraData = needExtras ? this.getVerticesData(VertexBuffer.MatricesWeightsExtraKind) : null;\r\n\r\n this.skeleton.prepare();\r\n var skeletonMatrices = this.skeleton.getTransformMatrices(this);\r\n\r\n var tempVector = TmpVectors.Vector3[0];\r\n var finalMatrix = TmpVectors.Matrix[0];\r\n var tempMatrix = TmpVectors.Matrix[1];\r\n\r\n var matWeightIdx = 0;\r\n for (var index = 0; index < data.length; index += 3, matWeightIdx += 4) {\r\n finalMatrix.reset();\r\n\r\n var inf: number;\r\n var weight: number;\r\n for (inf = 0; inf < 4; inf++) {\r\n weight = matricesWeightsData[matWeightIdx + inf];\r\n if (weight > 0) {\r\n Matrix.FromFloat32ArrayToRefScaled(skeletonMatrices, Math.floor(matricesIndicesData[matWeightIdx + inf] * 16), weight, tempMatrix);\r\n finalMatrix.addToSelf(tempMatrix);\r\n }\r\n }\r\n if (needExtras) {\r\n for (inf = 0; inf < 4; inf++) {\r\n weight = matricesWeightsExtraData![matWeightIdx + inf];\r\n if (weight > 0) {\r\n Matrix.FromFloat32ArrayToRefScaled(skeletonMatrices, Math.floor(matricesIndicesExtraData![matWeightIdx + inf] * 16), weight, tempMatrix);\r\n finalMatrix.addToSelf(tempMatrix);\r\n }\r\n }\r\n }\r\n\r\n Vector3.TransformCoordinatesFromFloatsToRef(data[index], data[index + 1], data[index + 2], finalMatrix, tempVector);\r\n tempVector.toArray(data, index);\r\n\r\n if (this._positions) {\r\n this._positions[index / 3].copyFrom(tempVector);\r\n }\r\n }\r\n }\r\n }\r\n\r\n return data;\r\n }\r\n\r\n /** @hidden */\r\n public _updateBoundingInfo(): AbstractMesh {\r\n const effectiveMesh = this._effectiveMesh;\r\n if (this._boundingInfo) {\r\n this._boundingInfo.update(effectiveMesh.worldMatrixFromCache);\r\n }\r\n else {\r\n this._boundingInfo = new BoundingInfo(this.absolutePosition, this.absolutePosition, effectiveMesh.worldMatrixFromCache);\r\n }\r\n this._updateSubMeshesBoundingInfo(effectiveMesh.worldMatrixFromCache);\r\n return this;\r\n }\r\n\r\n /** @hidden */\r\n public _updateSubMeshesBoundingInfo(matrix: DeepImmutable): AbstractMesh {\r\n if (!this.subMeshes) {\r\n return this;\r\n }\r\n let count = this.subMeshes.length;\r\n for (var subIndex = 0; subIndex < count; subIndex++) {\r\n var subMesh = this.subMeshes[subIndex];\r\n if (count > 1 || !subMesh.IsGlobal) {\r\n subMesh.updateBoundingInfo(matrix);\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n /** @hidden */\r\n protected _afterComputeWorldMatrix(): void {\r\n if (this.doNotSyncBoundingInfo) {\r\n return;\r\n }\r\n // Bounding info\r\n this._updateBoundingInfo();\r\n }\r\n\r\n /** @hidden */\r\n public get _effectiveMesh(): AbstractMesh {\r\n return (this.skeleton && this.skeleton.overrideMesh) || this;\r\n }\r\n\r\n /**\r\n * Returns `true` if the mesh is within the frustum defined by the passed array of planes.\r\n * A mesh is in the frustum if its bounding box intersects the frustum\r\n * @param frustumPlanes defines the frustum to test\r\n * @returns true if the mesh is in the frustum planes\r\n */\r\n public isInFrustum(frustumPlanes: Plane[]): boolean {\r\n return this._boundingInfo !== null && this._boundingInfo.isInFrustum(frustumPlanes, this.cullingStrategy);\r\n }\r\n\r\n /**\r\n * Returns `true` if the mesh is completely in the frustum defined be the passed array of planes.\r\n * A mesh is completely in the frustum if its bounding box it completely inside the frustum.\r\n * @param frustumPlanes defines the frustum to test\r\n * @returns true if the mesh is completely in the frustum planes\r\n */\r\n public isCompletelyInFrustum(frustumPlanes: Plane[]): boolean {\r\n return this._boundingInfo !== null && this._boundingInfo.isCompletelyInFrustum(frustumPlanes);\r\n }\r\n\r\n /**\r\n * True if the mesh intersects another mesh or a SolidParticle object\r\n * @param mesh defines a target mesh or SolidParticle to test\r\n * @param precise Unless the parameter `precise` is set to `true` the intersection is computed according to Axis Aligned Bounding Boxes (AABB), else according to OBB (Oriented BBoxes)\r\n * @param includeDescendants Can be set to true to test if the mesh defined in parameters intersects with the current mesh or any child meshes\r\n * @returns true if there is an intersection\r\n */\r\n public intersectsMesh(mesh: AbstractMesh | SolidParticle, precise: boolean = false, includeDescendants?: boolean): boolean {\r\n if (!this._boundingInfo || !mesh._boundingInfo) {\r\n return false;\r\n }\r\n\r\n if (this._boundingInfo.intersects(mesh._boundingInfo, precise)) {\r\n return true;\r\n }\r\n\r\n if (includeDescendants) {\r\n for (var child of this.getChildMeshes()) {\r\n if (child.intersectsMesh(mesh, precise, true)) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Returns true if the passed point (Vector3) is inside the mesh bounding box\r\n * @param point defines the point to test\r\n * @returns true if there is an intersection\r\n */\r\n public intersectsPoint(point: Vector3): boolean {\r\n if (!this._boundingInfo) {\r\n return false;\r\n }\r\n\r\n return this._boundingInfo.intersectsPoint(point);\r\n }\r\n\r\n // Collisions\r\n\r\n /**\r\n * Gets or sets a boolean indicating that this mesh can be used in the collision engine\r\n * @see https://doc.babylonjs.com/babylon101/cameras,_mesh_collisions_and_gravity\r\n */\r\n public get checkCollisions(): boolean {\r\n return this._meshCollisionData._checkCollisions;\r\n }\r\n\r\n public set checkCollisions(collisionEnabled: boolean) {\r\n this._meshCollisionData._checkCollisions = collisionEnabled;\r\n }\r\n\r\n /**\r\n * Gets Collider object used to compute collisions (not physics)\r\n * @see https://doc.babylonjs.com/babylon101/cameras,_mesh_collisions_and_gravity\r\n */\r\n public get collider(): Nullable {\r\n return this._meshCollisionData._collider;\r\n }\r\n\r\n /**\r\n * Move the mesh using collision engine\r\n * @see https://doc.babylonjs.com/babylon101/cameras,_mesh_collisions_and_gravity\r\n * @param displacement defines the requested displacement vector\r\n * @returns the current mesh\r\n */\r\n public moveWithCollisions(displacement: Vector3): AbstractMesh {\r\n var globalPosition = this.getAbsolutePosition();\r\n\r\n globalPosition.addToRef(this.ellipsoidOffset, this._meshCollisionData._oldPositionForCollisions);\r\n let coordinator = this.getScene().collisionCoordinator;\r\n\r\n if (!this._meshCollisionData._collider) {\r\n this._meshCollisionData._collider = coordinator.createCollider();\r\n }\r\n\r\n this._meshCollisionData._collider._radius = this.ellipsoid;\r\n\r\n coordinator.getNewPosition(this._meshCollisionData._oldPositionForCollisions, displacement, this._meshCollisionData._collider, 3, this, this._onCollisionPositionChange, this.uniqueId);\r\n return this;\r\n }\r\n\r\n private _onCollisionPositionChange = (collisionId: number, newPosition: Vector3, collidedMesh: Nullable = null) => {\r\n newPosition.subtractToRef(this._meshCollisionData._oldPositionForCollisions, this._meshCollisionData._diffPositionForCollisions);\r\n\r\n if (this._meshCollisionData._diffPositionForCollisions.length() > Engine.CollisionsEpsilon) {\r\n this.position.addInPlace(this._meshCollisionData._diffPositionForCollisions);\r\n }\r\n\r\n if (collidedMesh) {\r\n this.onCollideObservable.notifyObservers(collidedMesh);\r\n }\r\n\r\n this.onCollisionPositionChangeObservable.notifyObservers(this.position);\r\n }\r\n\r\n // Collisions\r\n /** @hidden */\r\n public _collideForSubMesh(subMesh: SubMesh, transformMatrix: Matrix, collider: Collider): AbstractMesh {\r\n this._generatePointsArray();\r\n\r\n if (!this._positions) {\r\n return this;\r\n }\r\n\r\n // Transformation\r\n if (!subMesh._lastColliderWorldVertices || !subMesh._lastColliderTransformMatrix!.equals(transformMatrix)) {\r\n subMesh._lastColliderTransformMatrix = transformMatrix.clone();\r\n subMesh._lastColliderWorldVertices = [];\r\n subMesh._trianglePlanes = [];\r\n var start = subMesh.verticesStart;\r\n var end = (subMesh.verticesStart + subMesh.verticesCount);\r\n for (var i = start; i < end; i++) {\r\n subMesh._lastColliderWorldVertices.push(Vector3.TransformCoordinates(this._positions[i], transformMatrix));\r\n }\r\n }\r\n\r\n // Collide\r\n collider._collide(subMesh._trianglePlanes, subMesh._lastColliderWorldVertices, (this.getIndices()), subMesh.indexStart, subMesh.indexStart + subMesh.indexCount, subMesh.verticesStart, !!subMesh.getMaterial(), this);\r\n return this;\r\n }\r\n\r\n /** @hidden */\r\n public _processCollisionsForSubMeshes(collider: Collider, transformMatrix: Matrix): AbstractMesh {\r\n const subMeshes = this._scene.getCollidingSubMeshCandidates(this, collider);\r\n const len = subMeshes.length;\r\n\r\n for (var index = 0; index < len; index++) {\r\n var subMesh = subMeshes.data[index];\r\n\r\n // Bounding test\r\n if (len > 1 && !subMesh._checkCollision(collider)) {\r\n continue;\r\n }\r\n\r\n this._collideForSubMesh(subMesh, transformMatrix, collider);\r\n }\r\n return this;\r\n }\r\n\r\n /** @hidden */\r\n public _checkCollision(collider: Collider): AbstractMesh {\r\n // Bounding box test\r\n if (!this._boundingInfo || !this._boundingInfo._checkCollision(collider)) {\r\n return this;\r\n }\r\n\r\n // Transformation matrix\r\n const collisionsScalingMatrix = TmpVectors.Matrix[0];\r\n const collisionsTransformMatrix = TmpVectors.Matrix[1];\r\n Matrix.ScalingToRef(1.0 / collider._radius.x, 1.0 / collider._radius.y, 1.0 / collider._radius.z, collisionsScalingMatrix);\r\n this.worldMatrixFromCache.multiplyToRef(collisionsScalingMatrix, collisionsTransformMatrix);\r\n this._processCollisionsForSubMeshes(collider, collisionsTransformMatrix);\r\n return this;\r\n }\r\n\r\n // Picking\r\n /** @hidden */\r\n public _generatePointsArray(): boolean {\r\n return false;\r\n }\r\n\r\n /**\r\n * Checks if the passed Ray intersects with the mesh\r\n * @param ray defines the ray to use\r\n * @param fastCheck defines if fast mode (but less precise) must be used (false by default)\r\n * @param trianglePredicate defines an optional predicate used to select faces when a mesh intersection is detected\r\n * @param onlyBoundingInfo defines a boolean indicating if picking should only happen using bounding info (false by default)\r\n * @param worldToUse defines the world matrix to use to get the world coordinate of the intersection point\r\n * @param skipBoundingInfo a boolean indicating if we should skip the bounding info check\r\n * @returns the picking info\r\n * @see https://doc.babylonjs.com/babylon101/intersect_collisions_-_mesh\r\n */\r\n public intersects(ray: Ray, fastCheck?: boolean, trianglePredicate?: TrianglePickingPredicate, onlyBoundingInfo = false, worldToUse?: Matrix, skipBoundingInfo = false): PickingInfo {\r\n var pickingInfo = new PickingInfo();\r\n const intersectionThreshold = this.getClassName() === \"InstancedLinesMesh\" || this.getClassName() === \"LinesMesh\" ? (this as any).intersectionThreshold : 0;\r\n const boundingInfo = this._boundingInfo;\r\n if (!this.subMeshes || !boundingInfo) {\r\n return pickingInfo;\r\n }\r\n if (!skipBoundingInfo && (!ray.intersectsSphere(boundingInfo.boundingSphere, intersectionThreshold) || !ray.intersectsBox(boundingInfo.boundingBox, intersectionThreshold))) {\r\n return pickingInfo;\r\n }\r\n\r\n if (onlyBoundingInfo) {\r\n pickingInfo.hit = skipBoundingInfo ? false : true;\r\n pickingInfo.pickedMesh = skipBoundingInfo ? null : this;\r\n pickingInfo.distance = skipBoundingInfo ? 0 : Vector3.Distance(ray.origin, boundingInfo.boundingSphere.center);\r\n pickingInfo.subMeshId = 0;\r\n return pickingInfo;\r\n }\r\n\r\n if (!this._generatePointsArray()) {\r\n return pickingInfo;\r\n }\r\n\r\n var intersectInfo: Nullable = null;\r\n\r\n var subMeshes = this._scene.getIntersectingSubMeshCandidates(this, ray);\r\n var len: number = subMeshes.length;\r\n\r\n // Check if all submeshes are using a material that don't allow picking (point/lines rendering)\r\n // if no submesh can be picked that way, then fallback to BBox picking\r\n var anySubmeshSupportIntersect = false;\r\n for (var index = 0; index < len; index++) {\r\n var subMesh = subMeshes.data[index];\r\n var material = subMesh.getMaterial();\r\n if (!material) {\r\n continue;\r\n }\r\n if (this.getIndices()?.length && (material.fillMode == 7 ||\r\n material.fillMode == 0 ||\r\n material.fillMode == 1 ||\r\n material.fillMode == 2)) {\r\n anySubmeshSupportIntersect = true;\r\n break;\r\n }\r\n }\r\n\r\n // no sub mesh support intersection, fallback to BBox that has already be done\r\n if (!anySubmeshSupportIntersect) {\r\n pickingInfo.hit = true;\r\n pickingInfo.pickedMesh = this;\r\n pickingInfo.distance = Vector3.Distance(ray.origin, boundingInfo.boundingSphere.center);\r\n pickingInfo.subMeshId = -1;\r\n return pickingInfo;\r\n }\r\n\r\n // at least 1 submesh supports intersection, keep going\r\n for (var index = 0; index < len; index++) {\r\n var subMesh = subMeshes.data[index];\r\n\r\n // Bounding test\r\n if (len > 1 && !subMesh.canIntersects(ray)) {\r\n continue;\r\n }\r\n\r\n var currentIntersectInfo = subMesh.intersects(ray, (this._positions),\r\n (this.getIndices()), fastCheck,\r\n trianglePredicate);\r\n\r\n if (currentIntersectInfo) {\r\n if (fastCheck || !intersectInfo || currentIntersectInfo.distance < intersectInfo.distance) {\r\n intersectInfo = currentIntersectInfo;\r\n intersectInfo.subMeshId = index;\r\n\r\n if (fastCheck) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (intersectInfo) {\r\n // Get picked point\r\n const world = worldToUse ?? (this.skeleton && this.skeleton.overrideMesh ? this.skeleton.overrideMesh.getWorldMatrix() : this.getWorldMatrix());\r\n const worldOrigin = TmpVectors.Vector3[0];\r\n const direction = TmpVectors.Vector3[1];\r\n Vector3.TransformCoordinatesToRef(ray.origin, world, worldOrigin);\r\n ray.direction.scaleToRef(intersectInfo.distance, direction);\r\n const worldDirection = Vector3.TransformNormal(direction, world);\r\n const pickedPoint = worldDirection.addInPlace(worldOrigin);\r\n\r\n // Return result\r\n pickingInfo.hit = true;\r\n pickingInfo.distance = Vector3.Distance(worldOrigin, pickedPoint);\r\n pickingInfo.pickedPoint = pickedPoint;\r\n pickingInfo.pickedMesh = this;\r\n pickingInfo.bu = intersectInfo.bu || 0;\r\n pickingInfo.bv = intersectInfo.bv || 0;\r\n pickingInfo.subMeshFaceId = intersectInfo.faceId;\r\n pickingInfo.faceId = intersectInfo.faceId + subMeshes.data[intersectInfo.subMeshId].indexStart / (this.getClassName().indexOf(\"LinesMesh\") !== -1 ? 2 : 3);\r\n pickingInfo.subMeshId = intersectInfo.subMeshId;\r\n return pickingInfo;\r\n }\r\n\r\n return pickingInfo;\r\n }\r\n\r\n /**\r\n * Clones the current mesh\r\n * @param name defines the mesh name\r\n * @param newParent defines the new mesh parent\r\n * @param doNotCloneChildren defines a boolean indicating that children must not be cloned (false by default)\r\n * @returns the new mesh\r\n */\r\n public clone(name: string, newParent: Nullable, doNotCloneChildren?: boolean): Nullable {\r\n return null;\r\n }\r\n\r\n /**\r\n * Disposes all the submeshes of the current meshnp\r\n * @returns the current mesh\r\n */\r\n public releaseSubMeshes(): AbstractMesh {\r\n if (this.subMeshes) {\r\n while (this.subMeshes.length) {\r\n this.subMeshes[0].dispose();\r\n }\r\n } else {\r\n this.subMeshes = new Array();\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Releases resources associated with this abstract mesh.\r\n * @param doNotRecurse Set to true to not recurse into each children (recurse into each children by default)\r\n * @param disposeMaterialAndTextures Set to true to also dispose referenced materials and textures (false by default)\r\n */\r\n public dispose(doNotRecurse?: boolean, disposeMaterialAndTextures = false): void {\r\n var index: number;\r\n\r\n // mesh map release.\r\n if (this._scene.useMaterialMeshMap) {\r\n // remove from material mesh map id needed\r\n if (this._material && this._material.meshMap) {\r\n this._material.meshMap[this.uniqueId] = undefined;\r\n }\r\n }\r\n\r\n // Smart Array Retainers.\r\n this.getScene().freeActiveMeshes();\r\n this.getScene().freeRenderingGroups();\r\n\r\n // Action manager\r\n if (this.actionManager !== undefined && this.actionManager !== null) {\r\n this.actionManager.dispose();\r\n this.actionManager = null;\r\n }\r\n\r\n // Skeleton\r\n this._internalAbstractMeshDataInfo._skeleton = null;\r\n\r\n if (this._transformMatrixTexture) {\r\n this._transformMatrixTexture.dispose();\r\n this._transformMatrixTexture = null;\r\n }\r\n\r\n // Intersections in progress\r\n for (index = 0; index < this._intersectionsInProgress.length; index++) {\r\n var other = this._intersectionsInProgress[index];\r\n\r\n var pos = other._intersectionsInProgress.indexOf(this);\r\n other._intersectionsInProgress.splice(pos, 1);\r\n }\r\n\r\n this._intersectionsInProgress = [];\r\n\r\n // Lights\r\n var lights = this.getScene().lights;\r\n\r\n lights.forEach((light: Light) => {\r\n var meshIndex = light.includedOnlyMeshes.indexOf(this);\r\n\r\n if (meshIndex !== -1) {\r\n light.includedOnlyMeshes.splice(meshIndex, 1);\r\n }\r\n\r\n meshIndex = light.excludedMeshes.indexOf(this);\r\n\r\n if (meshIndex !== -1) {\r\n light.excludedMeshes.splice(meshIndex, 1);\r\n }\r\n\r\n // Shadow generators\r\n var generator = light.getShadowGenerator();\r\n if (generator) {\r\n var shadowMap = generator.getShadowMap();\r\n\r\n if (shadowMap && shadowMap.renderList) {\r\n meshIndex = shadowMap.renderList.indexOf(this);\r\n\r\n if (meshIndex !== -1) {\r\n shadowMap.renderList.splice(meshIndex, 1);\r\n }\r\n }\r\n }\r\n });\r\n\r\n // SubMeshes\r\n if (this.getClassName() !== \"InstancedMesh\" || this.getClassName() !== \"InstancedLinesMesh\") {\r\n this.releaseSubMeshes();\r\n }\r\n\r\n // Query\r\n let engine = this.getScene().getEngine();\r\n if (this._occlusionQuery) {\r\n this.isOcclusionQueryInProgress = false;\r\n engine.deleteQuery(this._occlusionQuery);\r\n this._occlusionQuery = null;\r\n }\r\n\r\n // Engine\r\n engine.wipeCaches();\r\n\r\n // Remove from scene\r\n this.getScene().removeMesh(this);\r\n\r\n if (disposeMaterialAndTextures) {\r\n if (this.material) {\r\n if (this.material.getClassName() === \"MultiMaterial\") {\r\n this.material.dispose(false, true, true);\r\n } else {\r\n this.material.dispose(false, true);\r\n }\r\n }\r\n }\r\n\r\n if (!doNotRecurse) {\r\n // Particles\r\n for (index = 0; index < this.getScene().particleSystems.length; index++) {\r\n if (this.getScene().particleSystems[index].emitter === this) {\r\n this.getScene().particleSystems[index].dispose();\r\n index--;\r\n }\r\n }\r\n }\r\n\r\n // facet data\r\n if (this._internalAbstractMeshDataInfo._facetData.facetDataEnabled) {\r\n this.disableFacetData();\r\n }\r\n\r\n this.onAfterWorldMatrixUpdateObservable.clear();\r\n this.onCollideObservable.clear();\r\n this.onCollisionPositionChangeObservable.clear();\r\n this.onRebuildObservable.clear();\r\n\r\n super.dispose(doNotRecurse, disposeMaterialAndTextures);\r\n }\r\n\r\n /**\r\n * Adds the passed mesh as a child to the current mesh\r\n * @param mesh defines the child mesh\r\n * @returns the current mesh\r\n */\r\n public addChild(mesh: AbstractMesh): AbstractMesh {\r\n mesh.setParent(this);\r\n return this;\r\n }\r\n\r\n /**\r\n * Removes the passed mesh from the current mesh children list\r\n * @param mesh defines the child mesh\r\n * @returns the current mesh\r\n */\r\n public removeChild(mesh: AbstractMesh): AbstractMesh {\r\n mesh.setParent(null);\r\n return this;\r\n }\r\n\r\n // Facet data\r\n /** @hidden */\r\n private _initFacetData(): AbstractMesh {\r\n const data = this._internalAbstractMeshDataInfo._facetData;\r\n if (!data.facetNormals) {\r\n data.facetNormals = new Array();\r\n }\r\n if (!data.facetPositions) {\r\n data.facetPositions = new Array();\r\n }\r\n if (!data.facetPartitioning) {\r\n data.facetPartitioning = new Array();\r\n }\r\n data.facetNb = ((this.getIndices()).length / 3) | 0;\r\n data.partitioningSubdivisions = (data.partitioningSubdivisions) ? data.partitioningSubdivisions : 10; // default nb of partitioning subdivisions = 10\r\n data.partitioningBBoxRatio = (data.partitioningBBoxRatio) ? data.partitioningBBoxRatio : 1.01; // default ratio 1.01 = the partitioning is 1% bigger than the bounding box\r\n for (var f = 0; f < data.facetNb; f++) {\r\n data.facetNormals[f] = Vector3.Zero();\r\n data.facetPositions[f] = Vector3.Zero();\r\n }\r\n data.facetDataEnabled = true;\r\n return this;\r\n }\r\n\r\n /**\r\n * Updates the mesh facetData arrays and the internal partitioning when the mesh is morphed or updated.\r\n * This method can be called within the render loop.\r\n * You don't need to call this method by yourself in the render loop when you update/morph a mesh with the methods CreateXXX() as they automatically manage this computation\r\n * @returns the current mesh\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_facetdata\r\n */\r\n public updateFacetData(): AbstractMesh {\r\n const data = this._internalAbstractMeshDataInfo._facetData;\r\n if (!data.facetDataEnabled) {\r\n this._initFacetData();\r\n }\r\n var positions = this.getVerticesData(VertexBuffer.PositionKind);\r\n var indices = this.getIndices();\r\n var normals = this.getVerticesData(VertexBuffer.NormalKind);\r\n var bInfo = this.getBoundingInfo();\r\n\r\n if (data.facetDepthSort && !data.facetDepthSortEnabled) {\r\n // init arrays, matrix and sort function on first call\r\n data.facetDepthSortEnabled = true;\r\n if (indices instanceof Uint16Array) {\r\n data.depthSortedIndices = new Uint16Array(indices!);\r\n }\r\n else if (indices instanceof Uint32Array) {\r\n data.depthSortedIndices = new Uint32Array(indices!);\r\n }\r\n else {\r\n var needs32bits = false;\r\n for (var i = 0; i < indices!.length; i++) {\r\n if (indices![i] > 65535) {\r\n needs32bits = true;\r\n break;\r\n }\r\n }\r\n if (needs32bits) {\r\n data.depthSortedIndices = new Uint32Array(indices!);\r\n }\r\n else {\r\n data.depthSortedIndices = new Uint16Array(indices!);\r\n }\r\n }\r\n data.facetDepthSortFunction = function(f1, f2) {\r\n return (f2.sqDistance - f1.sqDistance);\r\n };\r\n if (!data.facetDepthSortFrom) {\r\n var camera = this.getScene().activeCamera;\r\n data.facetDepthSortFrom = (camera) ? camera.position : Vector3.Zero();\r\n }\r\n data.depthSortedFacets = [];\r\n for (var f = 0; f < data.facetNb; f++) {\r\n var depthSortedFacet = { ind: f * 3, sqDistance: 0.0 };\r\n data.depthSortedFacets.push(depthSortedFacet);\r\n }\r\n data.invertedMatrix = Matrix.Identity();\r\n data.facetDepthSortOrigin = Vector3.Zero();\r\n }\r\n\r\n data.bbSize.x = (bInfo.maximum.x - bInfo.minimum.x > Epsilon) ? bInfo.maximum.x - bInfo.minimum.x : Epsilon;\r\n data.bbSize.y = (bInfo.maximum.y - bInfo.minimum.y > Epsilon) ? bInfo.maximum.y - bInfo.minimum.y : Epsilon;\r\n data.bbSize.z = (bInfo.maximum.z - bInfo.minimum.z > Epsilon) ? bInfo.maximum.z - bInfo.minimum.z : Epsilon;\r\n var bbSizeMax = (data.bbSize.x > data.bbSize.y) ? data.bbSize.x : data.bbSize.y;\r\n bbSizeMax = (bbSizeMax > data.bbSize.z) ? bbSizeMax : data.bbSize.z;\r\n data.subDiv.max = data.partitioningSubdivisions;\r\n data.subDiv.X = Math.floor(data.subDiv.max * data.bbSize.x / bbSizeMax); // adjust the number of subdivisions per axis\r\n data.subDiv.Y = Math.floor(data.subDiv.max * data.bbSize.y / bbSizeMax); // according to each bbox size per axis\r\n data.subDiv.Z = Math.floor(data.subDiv.max * data.bbSize.z / bbSizeMax);\r\n data.subDiv.X = data.subDiv.X < 1 ? 1 : data.subDiv.X; // at least one subdivision\r\n data.subDiv.Y = data.subDiv.Y < 1 ? 1 : data.subDiv.Y;\r\n data.subDiv.Z = data.subDiv.Z < 1 ? 1 : data.subDiv.Z;\r\n // set the parameters for ComputeNormals()\r\n data.facetParameters.facetNormals = this.getFacetLocalNormals();\r\n data.facetParameters.facetPositions = this.getFacetLocalPositions();\r\n data.facetParameters.facetPartitioning = this.getFacetLocalPartitioning();\r\n data.facetParameters.bInfo = bInfo;\r\n data.facetParameters.bbSize = data.bbSize;\r\n data.facetParameters.subDiv = data.subDiv;\r\n data.facetParameters.ratio = this.partitioningBBoxRatio;\r\n data.facetParameters.depthSort = data.facetDepthSort;\r\n if (data.facetDepthSort && data.facetDepthSortEnabled) {\r\n this.computeWorldMatrix(true);\r\n this._worldMatrix.invertToRef(data.invertedMatrix);\r\n Vector3.TransformCoordinatesToRef(data.facetDepthSortFrom, data.invertedMatrix, data.facetDepthSortOrigin);\r\n data.facetParameters.distanceTo = data.facetDepthSortOrigin;\r\n }\r\n data.facetParameters.depthSortedFacets = data.depthSortedFacets;\r\n VertexData.ComputeNormals(positions, indices, normals, data.facetParameters);\r\n\r\n if (data.facetDepthSort && data.facetDepthSortEnabled) {\r\n data.depthSortedFacets.sort(data.facetDepthSortFunction);\r\n var l = (data.depthSortedIndices.length / 3) | 0;\r\n for (var f = 0; f < l; f++) {\r\n var sind = data.depthSortedFacets[f].ind;\r\n data.depthSortedIndices[f * 3] = indices![sind];\r\n data.depthSortedIndices[f * 3 + 1] = indices![sind + 1];\r\n data.depthSortedIndices[f * 3 + 2] = indices![sind + 2];\r\n }\r\n this.updateIndices(data.depthSortedIndices, undefined, true);\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns the facetLocalNormals array.\r\n * The normals are expressed in the mesh local spac\r\n * @returns an array of Vector3\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_facetdata\r\n */\r\n public getFacetLocalNormals(): Vector3[] {\r\n let facetData = this._internalAbstractMeshDataInfo._facetData;\r\n if (!facetData.facetNormals) {\r\n this.updateFacetData();\r\n }\r\n return facetData.facetNormals;\r\n }\r\n\r\n /**\r\n * Returns the facetLocalPositions array.\r\n * The facet positions are expressed in the mesh local space\r\n * @returns an array of Vector3\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_facetdata\r\n */\r\n public getFacetLocalPositions(): Vector3[] {\r\n let facetData = this._internalAbstractMeshDataInfo._facetData;\r\n if (!facetData.facetPositions) {\r\n this.updateFacetData();\r\n }\r\n return facetData.facetPositions;\r\n }\r\n\r\n /**\r\n * Returns the facetLocalPartioning array\r\n * @returns an array of array of numbers\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_facetdata\r\n */\r\n public getFacetLocalPartitioning(): number[][] {\r\n let facetData = this._internalAbstractMeshDataInfo._facetData;\r\n\r\n if (!facetData.facetPartitioning) {\r\n this.updateFacetData();\r\n }\r\n return facetData.facetPartitioning;\r\n }\r\n\r\n /**\r\n * Returns the i-th facet position in the world system.\r\n * This method allocates a new Vector3 per call\r\n * @param i defines the facet index\r\n * @returns a new Vector3\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_facetdata\r\n */\r\n public getFacetPosition(i: number): Vector3 {\r\n var pos = Vector3.Zero();\r\n this.getFacetPositionToRef(i, pos);\r\n return pos;\r\n }\r\n\r\n /**\r\n * Sets the reference Vector3 with the i-th facet position in the world system\r\n * @param i defines the facet index\r\n * @param ref defines the target vector\r\n * @returns the current mesh\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_facetdata\r\n */\r\n public getFacetPositionToRef(i: number, ref: Vector3): AbstractMesh {\r\n var localPos = (this.getFacetLocalPositions())[i];\r\n var world = this.getWorldMatrix();\r\n Vector3.TransformCoordinatesToRef(localPos, world, ref);\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns the i-th facet normal in the world system.\r\n * This method allocates a new Vector3 per call\r\n * @param i defines the facet index\r\n * @returns a new Vector3\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_facetdata\r\n */\r\n public getFacetNormal(i: number): Vector3 {\r\n var norm = Vector3.Zero();\r\n this.getFacetNormalToRef(i, norm);\r\n return norm;\r\n }\r\n\r\n /**\r\n * Sets the reference Vector3 with the i-th facet normal in the world system\r\n * @param i defines the facet index\r\n * @param ref defines the target vector\r\n * @returns the current mesh\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_facetdata\r\n */\r\n public getFacetNormalToRef(i: number, ref: Vector3) {\r\n var localNorm = (this.getFacetLocalNormals())[i];\r\n Vector3.TransformNormalToRef(localNorm, this.getWorldMatrix(), ref);\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns the facets (in an array) in the same partitioning block than the one the passed coordinates are located (expressed in the mesh local system)\r\n * @param x defines x coordinate\r\n * @param y defines y coordinate\r\n * @param z defines z coordinate\r\n * @returns the array of facet indexes\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_facetdata\r\n */\r\n public getFacetsAtLocalCoordinates(x: number, y: number, z: number): Nullable {\r\n var bInfo = this.getBoundingInfo();\r\n const data = this._internalAbstractMeshDataInfo._facetData;\r\n\r\n var ox = Math.floor((x - bInfo.minimum.x * data.partitioningBBoxRatio) * data.subDiv.X * data.partitioningBBoxRatio / data.bbSize.x);\r\n var oy = Math.floor((y - bInfo.minimum.y * data.partitioningBBoxRatio) * data.subDiv.Y * data.partitioningBBoxRatio / data.bbSize.y);\r\n var oz = Math.floor((z - bInfo.minimum.z * data.partitioningBBoxRatio) * data.subDiv.Z * data.partitioningBBoxRatio / data.bbSize.z);\r\n if (ox < 0 || ox > data.subDiv.max || oy < 0 || oy > data.subDiv.max || oz < 0 || oz > data.subDiv.max) {\r\n return null;\r\n }\r\n return data.facetPartitioning[ox + data.subDiv.max * oy + data.subDiv.max * data.subDiv.max * oz];\r\n }\r\n\r\n /**\r\n * Returns the closest mesh facet index at (x,y,z) World coordinates, null if not found\r\n * @param projected sets as the (x,y,z) world projection on the facet\r\n * @param checkFace if true (default false), only the facet \"facing\" to (x,y,z) or only the ones \"turning their backs\", according to the parameter \"facing\" are returned\r\n * @param facing if facing and checkFace are true, only the facet \"facing\" to (x, y, z) are returned : positive dot (x, y, z) * facet position. If facing si false and checkFace is true, only the facet \"turning their backs\" to (x, y, z) are returned : negative dot (x, y, z) * facet position\r\n * @param x defines x coordinate\r\n * @param y defines y coordinate\r\n * @param z defines z coordinate\r\n * @returns the face index if found (or null instead)\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_facetdata\r\n */\r\n public getClosestFacetAtCoordinates(x: number, y: number, z: number, projected?: Vector3, checkFace: boolean = false, facing: boolean = true): Nullable {\r\n var world = this.getWorldMatrix();\r\n var invMat = TmpVectors.Matrix[5];\r\n world.invertToRef(invMat);\r\n var invVect = TmpVectors.Vector3[8];\r\n Vector3.TransformCoordinatesFromFloatsToRef(x, y, z, invMat, invVect); // transform (x,y,z) to coordinates in the mesh local space\r\n var closest = this.getClosestFacetAtLocalCoordinates(invVect.x, invVect.y, invVect.z, projected, checkFace, facing);\r\n if (projected) {\r\n // tranform the local computed projected vector to world coordinates\r\n Vector3.TransformCoordinatesFromFloatsToRef(projected.x, projected.y, projected.z, world, projected);\r\n }\r\n return closest;\r\n }\r\n\r\n /**\r\n * Returns the closest mesh facet index at (x,y,z) local coordinates, null if not found\r\n * @param projected sets as the (x,y,z) local projection on the facet\r\n * @param checkFace if true (default false), only the facet \"facing\" to (x,y,z) or only the ones \"turning their backs\", according to the parameter \"facing\" are returned\r\n * @param facing if facing and checkFace are true, only the facet \"facing\" to (x, y, z) are returned : positive dot (x, y, z) * facet position. If facing si false and checkFace is true, only the facet \"turning their backs\" to (x, y, z) are returned : negative dot (x, y, z) * facet position\r\n * @param x defines x coordinate\r\n * @param y defines y coordinate\r\n * @param z defines z coordinate\r\n * @returns the face index if found (or null instead)\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_facetdata\r\n */\r\n public getClosestFacetAtLocalCoordinates(x: number, y: number, z: number, projected?: Vector3, checkFace: boolean = false, facing: boolean = true): Nullable {\r\n var closest = null;\r\n var tmpx = 0.0;\r\n var tmpy = 0.0;\r\n var tmpz = 0.0;\r\n var d = 0.0; // tmp dot facet normal * facet position\r\n var t0 = 0.0;\r\n var projx = 0.0;\r\n var projy = 0.0;\r\n var projz = 0.0;\r\n // Get all the facets in the same partitioning block than (x, y, z)\r\n var facetPositions = this.getFacetLocalPositions();\r\n var facetNormals = this.getFacetLocalNormals();\r\n var facetsInBlock = this.getFacetsAtLocalCoordinates(x, y, z);\r\n if (!facetsInBlock) {\r\n return null;\r\n }\r\n // Get the closest facet to (x, y, z)\r\n var shortest = Number.MAX_VALUE; // init distance vars\r\n var tmpDistance = shortest;\r\n var fib; // current facet in the block\r\n var norm; // current facet normal\r\n var p0; // current facet barycenter position\r\n // loop on all the facets in the current partitioning block\r\n for (var idx = 0; idx < facetsInBlock.length; idx++) {\r\n fib = facetsInBlock[idx];\r\n norm = facetNormals[fib];\r\n p0 = facetPositions[fib];\r\n\r\n d = (x - p0.x) * norm.x + (y - p0.y) * norm.y + (z - p0.z) * norm.z;\r\n if (!checkFace || (checkFace && facing && d >= 0.0) || (checkFace && !facing && d <= 0.0)) {\r\n // compute (x,y,z) projection on the facet = (projx, projy, projz)\r\n d = norm.x * p0.x + norm.y * p0.y + norm.z * p0.z;\r\n t0 = -(norm.x * x + norm.y * y + norm.z * z - d) / (norm.x * norm.x + norm.y * norm.y + norm.z * norm.z);\r\n projx = x + norm.x * t0;\r\n projy = y + norm.y * t0;\r\n projz = z + norm.z * t0;\r\n\r\n tmpx = projx - x;\r\n tmpy = projy - y;\r\n tmpz = projz - z;\r\n tmpDistance = tmpx * tmpx + tmpy * tmpy + tmpz * tmpz; // compute length between (x, y, z) and its projection on the facet\r\n if (tmpDistance < shortest) { // just keep the closest facet to (x, y, z)\r\n shortest = tmpDistance;\r\n closest = fib;\r\n if (projected) {\r\n projected.x = projx;\r\n projected.y = projy;\r\n projected.z = projz;\r\n }\r\n }\r\n }\r\n }\r\n return closest;\r\n }\r\n\r\n /**\r\n * Returns the object \"parameter\" set with all the expected parameters for facetData computation by ComputeNormals()\r\n * @returns the parameters\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_facetdata\r\n */\r\n public getFacetDataParameters(): any {\r\n return this._internalAbstractMeshDataInfo._facetData.facetParameters;\r\n }\r\n\r\n /**\r\n * Disables the feature FacetData and frees the related memory\r\n * @returns the current mesh\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_facetdata\r\n */\r\n public disableFacetData(): AbstractMesh {\r\n let facetData = this._internalAbstractMeshDataInfo._facetData;\r\n if (facetData.facetDataEnabled) {\r\n facetData.facetDataEnabled = false;\r\n facetData.facetPositions = new Array();\r\n facetData.facetNormals = new Array();\r\n facetData.facetPartitioning = new Array();\r\n facetData.facetParameters = null;\r\n facetData.depthSortedIndices = new Uint32Array(0);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Updates the AbstractMesh indices array\r\n * @param indices defines the data source\r\n * @param offset defines the offset in the index buffer where to store the new data (can be null)\r\n * @param gpuMemoryOnly defines a boolean indicating that only the GPU memory must be updated leaving the CPU version of the indices unchanged (false by default)\r\n * @returns the current mesh\r\n */\r\n public updateIndices(indices: IndicesArray, offset?: number, gpuMemoryOnly = false): AbstractMesh {\r\n return this;\r\n }\r\n\r\n /**\r\n * Creates new normals data for the mesh\r\n * @param updatable defines if the normal vertex buffer must be flagged as updatable\r\n * @returns the current mesh\r\n */\r\n public createNormals(updatable: boolean): AbstractMesh {\r\n var positions = this.getVerticesData(VertexBuffer.PositionKind);\r\n var indices = this.getIndices();\r\n var normals: FloatArray;\r\n\r\n if (this.isVerticesDataPresent(VertexBuffer.NormalKind)) {\r\n normals = (this.getVerticesData(VertexBuffer.NormalKind));\r\n } else {\r\n normals = [];\r\n }\r\n\r\n VertexData.ComputeNormals(positions, indices, normals, { useRightHandedSystem: this.getScene().useRightHandedSystem });\r\n this.setVerticesData(VertexBuffer.NormalKind, normals, updatable);\r\n return this;\r\n }\r\n\r\n /**\r\n * Align the mesh with a normal\r\n * @param normal defines the normal to use\r\n * @param upDirection can be used to redefined the up vector to use (will use the (0, 1, 0) by default)\r\n * @returns the current mesh\r\n */\r\n public alignWithNormal(normal: Vector3, upDirection?: Vector3): AbstractMesh {\r\n if (!upDirection) {\r\n upDirection = Axis.Y;\r\n }\r\n\r\n var axisX = TmpVectors.Vector3[0];\r\n var axisZ = TmpVectors.Vector3[1];\r\n Vector3.CrossToRef(upDirection, normal, axisZ);\r\n Vector3.CrossToRef(normal, axisZ, axisX);\r\n\r\n if (this.rotationQuaternion) {\r\n Quaternion.RotationQuaternionFromAxisToRef(axisX, normal, axisZ, this.rotationQuaternion);\r\n } else {\r\n Vector3.RotationFromAxisToRef(axisX, normal, axisZ, this.rotation);\r\n }\r\n return this;\r\n }\r\n\r\n /** @hidden */\r\n public _checkOcclusionQuery(): boolean { // Will be replaced by correct code if Occlusion queries are referenced\r\n return false;\r\n }\r\n\r\n /**\r\n * Disables the mesh edge rendering mode\r\n * @returns the currentAbstractMesh\r\n */\r\n disableEdgesRendering(): AbstractMesh {\r\n throw _DevTools.WarnImport(\"EdgesRenderer\");\r\n }\r\n\r\n /**\r\n * Enables the edge rendering mode on the mesh.\r\n * This mode makes the mesh edges visible\r\n * @param epsilon defines the maximal distance between two angles to detect a face\r\n * @param checkVerticesInsteadOfIndices indicates that we should check vertex list directly instead of faces\r\n * @param options options to the edge renderer\r\n * @returns the currentAbstractMesh\r\n * @see https://www.babylonjs-playground.com/#19O9TU#0\r\n */\r\n enableEdgesRendering(epsilon?: number, checkVerticesInsteadOfIndices?: boolean, options?: IEdgesRendererOptions): AbstractMesh {\r\n throw _DevTools.WarnImport(\"EdgesRenderer\");\r\n }\r\n\r\n /**\r\n * This function returns all of the particle systems in the scene that use the mesh as an emitter.\r\n * @returns an array of particle systems in the scene that use the mesh as an emitter\r\n */\r\n public getConnectedParticleSystems(): IParticleSystem[] {\r\n return this._scene.particleSystems.filter((particleSystem) => particleSystem.emitter === this);\r\n }\r\n}\r\n\r\n_TypeStore.RegisteredTypes[\"BABYLON.AbstractMesh\"] = AbstractMesh;\r\n","import arrayWithHoles from \"@babel/runtime/helpers/esm/arrayWithHoles\";\nimport iterableToArrayLimit from \"@babel/runtime/helpers/esm/iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableRest from \"@babel/runtime/helpers/esm/nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function chainPropTypes(propType1, propType2) {\n if (process.env.NODE_ENV === 'production') {\n return function () {\n return null;\n };\n }\n\n return function validate() {\n return propType1.apply(void 0, arguments) || propType2.apply(void 0, arguments);\n };\n}","import PropTypes from 'prop-types';\nimport chainPropTypes from './chainPropTypes';\n\nfunction isClassComponent(elementType) {\n // elementType.prototype?.isReactComponent\n var _elementType$prototyp = elementType.prototype,\n prototype = _elementType$prototyp === void 0 ? {} : _elementType$prototyp;\n return Boolean(prototype.isReactComponent);\n}\n\nfunction acceptingRef(props, propName, componentName, location, propFullName) {\n var element = props[propName];\n var safePropName = propFullName || propName;\n\n if (element == null) {\n return null;\n }\n\n var warningHint;\n var elementType = element.type;\n /**\n * Blacklisting instead of whitelisting\n *\n * Blacklisting will miss some components, such as React.Fragment. Those will at least\n * trigger a warning in React.\n * We can't whitelist because there is no safe way to detect React.forwardRef\n * or class components. \"Safe\" means there's no public API.\n *\n */\n\n if (typeof elementType === 'function' && !isClassComponent(elementType)) {\n warningHint = 'Did you accidentally use a plain function component for an element instead?';\n }\n\n if (warningHint !== undefined) {\n return new Error(\"Invalid \".concat(location, \" `\").concat(safePropName, \"` supplied to `\").concat(componentName, \"`. \") + \"Expected an element that can hold a ref. \".concat(warningHint, \" \") + 'For more information see https://material-ui.com/r/caveat-with-refs-guide');\n }\n\n return null;\n}\n\nvar elementAcceptingRef = chainPropTypes(PropTypes.element, acceptingRef);\nelementAcceptingRef.isRequired = chainPropTypes(PropTypes.element.isRequired, acceptingRef);\nexport default elementAcceptingRef;","import * as PropTypes from 'prop-types';\nimport chainPropTypes from './chainPropTypes';\n\nfunction isClassComponent(elementType) {\n // elementType.prototype?.isReactComponent\n var _elementType$prototyp = elementType.prototype,\n prototype = _elementType$prototyp === void 0 ? {} : _elementType$prototyp;\n return Boolean(prototype.isReactComponent);\n}\n\nfunction elementTypeAcceptingRef(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var safePropName = propFullName || propName;\n\n if (propValue == null) {\n return null;\n }\n\n var warningHint;\n /**\n * Blacklisting instead of whitelisting\n *\n * Blacklisting will miss some components, such as React.Fragment. Those will at least\n * trigger a warning in React.\n * We can't whitelist because there is no safe way to detect React.forwardRef\n * or class components. \"Safe\" means there's no public API.\n *\n */\n\n if (typeof propValue === 'function' && !isClassComponent(propValue)) {\n warningHint = 'Did you accidentally provide a plain function component instead?';\n }\n\n if (warningHint !== undefined) {\n return new Error(\"Invalid \".concat(location, \" `\").concat(safePropName, \"` supplied to `\").concat(componentName, \"`. \") + \"Expected an element type that can hold a ref. \".concat(warningHint, \" \") + 'For more information see https://material-ui.com/r/caveat-with-refs-guide');\n }\n\n return null;\n}\n\nexport default chainPropTypes(PropTypes.elementType, elementTypeAcceptingRef);","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n// This module is based on https://github.com/airbnb/prop-types-exact repository.\n// However, in order to reduce the number of dependencies and to remove some extra safe checks\n// the module was forked.\n// Only exported for test purposes.\nexport var specialProperty = \"exact-prop: \\u200B\";\nexport default function exactProp(propTypes) {\n if (process.env.NODE_ENV === 'production') {\n return propTypes;\n }\n\n return _extends({}, propTypes, _defineProperty({}, specialProperty, function (props) {\n var unsupportedProps = Object.keys(props).filter(function (prop) {\n return !propTypes.hasOwnProperty(prop);\n });\n\n if (unsupportedProps.length > 0) {\n return new Error(\"The following props are not supported: \".concat(unsupportedProps.map(function (prop) {\n return \"`\".concat(prop, \"`\");\n }).join(', '), \". Please remove them.\"));\n }\n\n return null;\n }));\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { ForwardRef, Memo } from 'react-is'; // Simplified polyfill for IE 11 support\n// https://github.com/JamesMGreene/Function.name/blob/58b314d4a983110c3682f1228f845d39ccca1817/Function.name.js#L3\n\nvar fnNameMatchRegex = /^\\s*function(?:\\s|\\s*\\/\\*.*\\*\\/\\s*)+([^(\\s/]*)\\s*/;\nexport function getFunctionName(fn) {\n var match = \"\".concat(fn).match(fnNameMatchRegex);\n var name = match && match[1];\n return name || '';\n}\n/**\n * @param {function} Component\n * @param {string} fallback\n * @returns {string | undefined}\n */\n\nfunction getFunctionComponentName(Component) {\n var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return Component.displayName || Component.name || getFunctionName(Component) || fallback;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var functionName = getFunctionComponentName(innerType);\n return outerType.displayName || (functionName !== '' ? \"\".concat(wrapperName, \"(\").concat(functionName, \")\") : wrapperName);\n}\n/**\n * cherry-pick from\n * https://github.com/facebook/react/blob/769b1f270e1251d9dbdce0fcbd9e92e502d059b8/packages/shared/getComponentName.js\n * originally forked from recompose/getDisplayName with added IE 11 support\n *\n * @param {React.ReactType} Component\n * @returns {string | undefined}\n */\n\n\nexport default function getDisplayName(Component) {\n if (Component == null) {\n return undefined;\n }\n\n if (typeof Component === 'string') {\n return Component;\n }\n\n if (typeof Component === 'function') {\n return getFunctionComponentName(Component, 'Component');\n }\n\n if (_typeof(Component) === 'object') {\n switch (Component.$$typeof) {\n case ForwardRef:\n return getWrappedName(Component, Component.render, 'ForwardRef');\n\n case Memo:\n return getWrappedName(Component, Component.type, 'memo');\n\n default:\n return undefined;\n }\n }\n\n return undefined;\n}","export default function HTMLElementType(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n\n var propValue = props[propName];\n var safePropName = propFullName || propName;\n\n if (propValue == null) {\n return null;\n }\n\n if (propValue && propValue.nodeType !== 1) {\n return new Error(\"Invalid \".concat(location, \" `\").concat(safePropName, \"` supplied to `\").concat(componentName, \"`. \") + \"Expected an HTMLElement.\");\n }\n\n return null;\n}","/* eslint-disable */\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nexport default typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();","import PropTypes from 'prop-types';\nvar refType = PropTypes.oneOfType([PropTypes.func, PropTypes.object]);\nexport default refType;","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import { Tools } from \"../Misc/tools\";\r\nimport { Observable } from \"../Misc/observable\";\r\nimport { FilesInputStore } from \"../Misc/filesInputStore\";\r\nimport { Nullable } from \"../types\";\r\nimport { Scene } from \"../scene\";\r\nimport { Engine } from \"../Engines/engine\";\r\nimport { EngineStore } from \"../Engines/engineStore\";\r\nimport { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { AnimationGroup } from \"../Animations/animationGroup\";\r\nimport { AssetContainer } from \"../assetContainer\";\r\nimport { IParticleSystem } from \"../Particles/IParticleSystem\";\r\nimport { Skeleton } from \"../Bones/skeleton\";\r\nimport { Logger } from \"../Misc/logger\";\r\n\r\nimport { SceneLoaderFlags } from \"./sceneLoaderFlags\";\r\nimport { IFileRequest } from \"../Misc/fileRequest\";\r\nimport { WebRequest } from \"../Misc/webRequest\";\r\nimport { RequestFileError, ReadFileError } from '../Misc/fileTools';\r\nimport { TransformNode } from '../Meshes/transformNode';\r\nimport { Geometry } from '../Meshes/geometry';\r\nimport { Light } from '../Lights/light';\r\n\r\n/**\r\n * Type used for the success callback of ImportMesh\r\n */\r\nexport type SceneLoaderSuccessCallback = (\r\n meshes: AbstractMesh[],\r\n particleSystems: IParticleSystem[],\r\n skeletons: Skeleton[],\r\n animationGroups: AnimationGroup[],\r\n transformNodes: TransformNode[],\r\n geometries: Geometry[],\r\n lights: Light[]\r\n) => void;\r\n\r\n/**\r\n * Interface used for the result of ImportMeshAsync\r\n */\r\nexport interface ISceneLoaderAsyncResult {\r\n /**\r\n * The array of loaded meshes\r\n */\r\n readonly meshes: AbstractMesh[];\r\n\r\n /**\r\n * The array of loaded particle systems\r\n */\r\n readonly particleSystems: IParticleSystem[];\r\n\r\n /**\r\n * The array of loaded skeletons\r\n */\r\n readonly skeletons: Skeleton[];\r\n\r\n /**\r\n * The array of loaded animation groups\r\n */\r\n readonly animationGroups: AnimationGroup[];\r\n\r\n /**\r\n * The array of loaded transform nodes\r\n */\r\n readonly transformNodes: TransformNode[];\r\n\r\n /**\r\n * The array of loaded geometries\r\n */\r\n readonly geometries: Geometry[];\r\n\r\n /**\r\n * The array of loaded lights\r\n */\r\n readonly lights: Light[];\r\n}\r\n\r\n/**\r\n * Interface used to represent data loading progression\r\n */\r\nexport interface ISceneLoaderProgressEvent {\r\n /**\r\n * Defines if data length to load can be evaluated\r\n */\r\n readonly lengthComputable: boolean;\r\n\r\n /**\r\n * Defines the loaded data length\r\n */\r\n readonly loaded: number;\r\n\r\n /**\r\n * Defines the data length to load\r\n */\r\n readonly total: number;\r\n}\r\n\r\n/**\r\n * Interface used by SceneLoader plugins to define supported file extensions\r\n */\r\nexport interface ISceneLoaderPluginExtensions {\r\n /**\r\n * Defines the list of supported extensions\r\n */\r\n [extension: string]: {\r\n isBinary: boolean;\r\n };\r\n}\r\n\r\n/**\r\n * Interface used by SceneLoader plugin factory\r\n */\r\nexport interface ISceneLoaderPluginFactory {\r\n /**\r\n * Defines the name of the factory\r\n */\r\n name: string;\r\n\r\n /**\r\n * Function called to create a new plugin\r\n * @return the new plugin\r\n */\r\n createPlugin(): ISceneLoaderPlugin | ISceneLoaderPluginAsync;\r\n\r\n /**\r\n * The callback that returns true if the data can be directly loaded.\r\n * @param data string containing the file data\r\n * @returns if the data can be loaded directly\r\n */\r\n canDirectLoad?(data: string): boolean;\r\n}\r\n\r\n/**\r\n * Interface used to define the base of ISceneLoaderPlugin and ISceneLoaderPluginAsync\r\n */\r\nexport interface ISceneLoaderPluginBase {\r\n /**\r\n * The friendly name of this plugin.\r\n */\r\n name: string;\r\n\r\n /**\r\n * The file extensions supported by this plugin.\r\n */\r\n extensions: string | ISceneLoaderPluginExtensions;\r\n\r\n /**\r\n * The callback called when loading from a url.\r\n * @param scene scene loading this url\r\n * @param url url to load\r\n * @param onSuccess callback called when the file successfully loads\r\n * @param onProgress callback called while file is loading (if the server supports this mode)\r\n * @param useArrayBuffer defines a boolean indicating that date must be returned as ArrayBuffer\r\n * @param onError callback called when the file fails to load\r\n * @returns a file request object\r\n */\r\n requestFile?(scene: Scene, url: string, onSuccess: (data: any, request?: WebRequest) => void, onProgress?: (ev: ISceneLoaderProgressEvent) => void, useArrayBuffer?: boolean, onError?: (error: any) => void): IFileRequest;\r\n\r\n /**\r\n * The callback called when loading from a file object.\r\n * @param scene scene loading this file\r\n * @param file defines the file to load\r\n * @param onSuccess defines the callback to call when data is loaded\r\n * @param onProgress defines the callback to call during loading process\r\n * @param useArrayBuffer defines a boolean indicating that data must be returned as an ArrayBuffer\r\n * @param onError defines the callback to call when an error occurs\r\n * @returns a file request object\r\n */\r\n readFile?(scene: Scene, file: File, onSuccess: (data: any) => void, onProgress?: (ev: ISceneLoaderProgressEvent) => any, useArrayBuffer?: boolean, onError?: (error: any) => void): IFileRequest;\r\n\r\n /**\r\n * The callback that returns true if the data can be directly loaded.\r\n * @param data string containing the file data\r\n * @returns if the data can be loaded directly\r\n */\r\n canDirectLoad?(data: string): boolean;\r\n\r\n /**\r\n * The callback that returns the data to pass to the plugin if the data can be directly loaded.\r\n * @param scene scene loading this data\r\n * @param data string containing the data\r\n * @returns data to pass to the plugin\r\n */\r\n directLoad?(scene: Scene, data: string): any;\r\n\r\n /**\r\n * The callback that allows custom handling of the root url based on the response url.\r\n * @param rootUrl the original root url\r\n * @param responseURL the response url if available\r\n * @returns the new root url\r\n */\r\n rewriteRootURL?(rootUrl: string, responseURL?: string): string;\r\n}\r\n\r\n/**\r\n * Interface used to define a SceneLoader plugin\r\n */\r\nexport interface ISceneLoaderPlugin extends ISceneLoaderPluginBase {\r\n /**\r\n * Import meshes into a scene.\r\n * @param meshesNames An array of mesh names, a single mesh name, or empty string for all meshes that filter what meshes are imported\r\n * @param scene The scene to import into\r\n * @param data The data to import\r\n * @param rootUrl The root url for scene and resources\r\n * @param meshes The meshes array to import into\r\n * @param particleSystems The particle systems array to import into\r\n * @param skeletons The skeletons array to import into\r\n * @param onError The callback when import fails\r\n * @returns True if successful or false otherwise\r\n */\r\n importMesh(meshesNames: any, scene: Scene, data: any, rootUrl: string, meshes: AbstractMesh[], particleSystems: IParticleSystem[], skeletons: Skeleton[], onError?: (message: string, exception?: any) => void): boolean;\r\n\r\n /**\r\n * Load into a scene.\r\n * @param scene The scene to load into\r\n * @param data The data to import\r\n * @param rootUrl The root url for scene and resources\r\n * @param onError The callback when import fails\r\n * @returns True if successful or false otherwise\r\n */\r\n load(scene: Scene, data: any, rootUrl: string, onError?: (message: string, exception?: any) => void): boolean;\r\n\r\n /**\r\n * Load into an asset container.\r\n * @param scene The scene to load into\r\n * @param data The data to import\r\n * @param rootUrl The root url for scene and resources\r\n * @param onError The callback when import fails\r\n * @returns The loaded asset container\r\n */\r\n loadAssetContainer(scene: Scene, data: any, rootUrl: string, onError?: (message: string, exception?: any) => void): AssetContainer;\r\n}\r\n\r\n/**\r\n * Interface used to define an async SceneLoader plugin\r\n */\r\nexport interface ISceneLoaderPluginAsync extends ISceneLoaderPluginBase {\r\n /**\r\n * Import meshes into a scene.\r\n * @param meshesNames An array of mesh names, a single mesh name, or empty string for all meshes that filter what meshes are imported\r\n * @param scene The scene to import into\r\n * @param data The data to import\r\n * @param rootUrl The root url for scene and resources\r\n * @param onProgress The callback when the load progresses\r\n * @param fileName Defines the name of the file to load\r\n * @returns The loaded objects (e.g. meshes, particle systems, skeletons, animation groups, etc.)\r\n */\r\n importMeshAsync(meshesNames: any, scene: Scene, data: any, rootUrl: string, onProgress?: (event: ISceneLoaderProgressEvent) => void, fileName?: string): Promise;\r\n\r\n /**\r\n * Load into a scene.\r\n * @param scene The scene to load into\r\n * @param data The data to import\r\n * @param rootUrl The root url for scene and resources\r\n * @param onProgress The callback when the load progresses\r\n * @param fileName Defines the name of the file to load\r\n * @returns Nothing\r\n */\r\n loadAsync(scene: Scene, data: any, rootUrl: string, onProgress?: (event: ISceneLoaderProgressEvent) => void, fileName?: string): Promise;\r\n\r\n /**\r\n * Load into an asset container.\r\n * @param scene The scene to load into\r\n * @param data The data to import\r\n * @param rootUrl The root url for scene and resources\r\n * @param onProgress The callback when the load progresses\r\n * @param fileName Defines the name of the file to load\r\n * @returns The loaded asset container\r\n */\r\n loadAssetContainerAsync(scene: Scene, data: any, rootUrl: string, onProgress?: (event: ISceneLoaderProgressEvent) => void, fileName?: string): Promise;\r\n}\r\n\r\n/**\r\n * Mode that determines how to handle old animation groups before loading new ones.\r\n */\r\nexport enum SceneLoaderAnimationGroupLoadingMode {\r\n /**\r\n * Reset all old animations to initial state then dispose them.\r\n */\r\n Clean = 0,\r\n\r\n /**\r\n * Stop all old animations.\r\n */\r\n Stop = 1,\r\n\r\n /**\r\n * Restart old animations from first frame.\r\n */\r\n Sync = 2,\r\n\r\n /**\r\n * Old animations remains untouched.\r\n */\r\n NoSync = 3\r\n}\r\n\r\n/**\r\n * Defines a plugin registered by the SceneLoader\r\n */\r\ninterface IRegisteredPlugin {\r\n /**\r\n * Defines the plugin to use\r\n */\r\n plugin: ISceneLoaderPlugin | ISceneLoaderPluginAsync | ISceneLoaderPluginFactory;\r\n /**\r\n * Defines if the plugin supports binary data\r\n */\r\n isBinary: boolean;\r\n}\r\n\r\n/**\r\n * Defines file information\r\n */\r\ninterface IFileInfo {\r\n /**\r\n * Gets the file url\r\n */\r\n url: string;\r\n /**\r\n * Gets the root url\r\n */\r\n rootUrl: string;\r\n /**\r\n * Gets filename\r\n */\r\n name: string;\r\n /**\r\n * Gets the file\r\n */\r\n file: Nullable;\r\n}\r\n\r\n/**\r\n * Class used to load scene from various file formats using registered plugins\r\n * @see https://doc.babylonjs.com/how_to/load_from_any_file_type\r\n */\r\nexport class SceneLoader {\r\n /**\r\n * No logging while loading\r\n */\r\n public static readonly NO_LOGGING = 0;\r\n\r\n /**\r\n * Minimal logging while loading\r\n */\r\n public static readonly MINIMAL_LOGGING = 1;\r\n\r\n /**\r\n * Summary logging while loading\r\n */\r\n public static readonly SUMMARY_LOGGING = 2;\r\n\r\n /**\r\n * Detailled logging while loading\r\n */\r\n public static readonly DETAILED_LOGGING = 3;\r\n\r\n /**\r\n * Gets or sets a boolean indicating if entire scene must be loaded even if scene contains incremental data\r\n */\r\n public static get ForceFullSceneLoadingForIncremental() {\r\n return SceneLoaderFlags.ForceFullSceneLoadingForIncremental;\r\n }\r\n\r\n public static set ForceFullSceneLoadingForIncremental(value: boolean) {\r\n SceneLoaderFlags.ForceFullSceneLoadingForIncremental = value;\r\n }\r\n\r\n /**\r\n * Gets or sets a boolean indicating if loading screen must be displayed while loading a scene\r\n */\r\n public static get ShowLoadingScreen(): boolean {\r\n return SceneLoaderFlags.ShowLoadingScreen;\r\n }\r\n\r\n public static set ShowLoadingScreen(value: boolean) {\r\n SceneLoaderFlags.ShowLoadingScreen = value;\r\n }\r\n\r\n /**\r\n * Defines the current logging level (while loading the scene)\r\n * @ignorenaming\r\n */\r\n public static get loggingLevel(): number {\r\n return SceneLoaderFlags.loggingLevel;\r\n }\r\n\r\n public static set loggingLevel(value: number) {\r\n SceneLoaderFlags.loggingLevel = value;\r\n }\r\n\r\n /**\r\n * Gets or set a boolean indicating if matrix weights must be cleaned upon loading\r\n */\r\n public static get CleanBoneMatrixWeights(): boolean {\r\n return SceneLoaderFlags.CleanBoneMatrixWeights;\r\n }\r\n\r\n public static set CleanBoneMatrixWeights(value: boolean) {\r\n SceneLoaderFlags.CleanBoneMatrixWeights = value;\r\n }\r\n\r\n // Members\r\n\r\n /**\r\n * Event raised when a plugin is used to load a scene\r\n */\r\n public static OnPluginActivatedObservable = new Observable();\r\n\r\n private static _registeredPlugins: { [extension: string]: IRegisteredPlugin } = {};\r\n\r\n private static _showingLoadingScreen = false;\r\n\r\n /**\r\n * Gets the default plugin (used to load Babylon files)\r\n * @returns the .babylon plugin\r\n */\r\n public static GetDefaultPlugin(): IRegisteredPlugin {\r\n return SceneLoader._registeredPlugins[\".babylon\"];\r\n }\r\n\r\n private static _GetPluginForExtension(extension: string): IRegisteredPlugin {\r\n var registeredPlugin = SceneLoader._registeredPlugins[extension];\r\n if (registeredPlugin) {\r\n return registeredPlugin;\r\n }\r\n Logger.Warn(\"Unable to find a plugin to load \" + extension + \" files. Trying to use .babylon default plugin. To load from a specific filetype (eg. gltf) see: https://doc.babylonjs.com/how_to/load_from_any_file_type\");\r\n return SceneLoader.GetDefaultPlugin();\r\n }\r\n\r\n private static _GetPluginForDirectLoad(data: string): IRegisteredPlugin {\r\n for (var extension in SceneLoader._registeredPlugins) {\r\n var plugin = SceneLoader._registeredPlugins[extension].plugin;\r\n\r\n if (plugin.canDirectLoad && plugin.canDirectLoad(data)) {\r\n return SceneLoader._registeredPlugins[extension];\r\n }\r\n }\r\n\r\n return SceneLoader.GetDefaultPlugin();\r\n }\r\n\r\n private static _GetPluginForFilename(sceneFilename: string): IRegisteredPlugin {\r\n var queryStringPosition = sceneFilename.indexOf(\"?\");\r\n\r\n if (queryStringPosition !== -1) {\r\n sceneFilename = sceneFilename.substring(0, queryStringPosition);\r\n }\r\n\r\n var dotPosition = sceneFilename.lastIndexOf(\".\");\r\n\r\n var extension = sceneFilename.substring(dotPosition, sceneFilename.length).toLowerCase();\r\n return SceneLoader._GetPluginForExtension(extension);\r\n }\r\n\r\n private static _GetDirectLoad(sceneFilename: string): Nullable {\r\n if (sceneFilename.substr(0, 5) === \"data:\") {\r\n return sceneFilename.substr(5);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private static _LoadData(fileInfo: IFileInfo, scene: Scene, onSuccess: (plugin: ISceneLoaderPlugin | ISceneLoaderPluginAsync, data: any, responseURL?: string) => void, onProgress: ((event: ISceneLoaderProgressEvent) => void) | undefined, onError: (message: string, exception?: any) => void, onDispose: () => void, pluginExtension: Nullable): Nullable {\r\n const directLoad = SceneLoader._GetDirectLoad(fileInfo.name);\r\n const registeredPlugin = pluginExtension ? SceneLoader._GetPluginForExtension(pluginExtension) : (directLoad ? SceneLoader._GetPluginForDirectLoad(fileInfo.name) : SceneLoader._GetPluginForFilename(fileInfo.name));\r\n\r\n let plugin: ISceneLoaderPlugin | ISceneLoaderPluginAsync;\r\n if ((registeredPlugin.plugin as ISceneLoaderPluginFactory).createPlugin !== undefined) {\r\n plugin = (registeredPlugin.plugin as ISceneLoaderPluginFactory).createPlugin();\r\n }\r\n else {\r\n plugin = registeredPlugin.plugin;\r\n }\r\n\r\n if (!plugin) {\r\n throw \"The loader plugin corresponding to the file type you are trying to load has not been found. If using es6, please import the plugin you wish to use before.\";\r\n }\r\n\r\n SceneLoader.OnPluginActivatedObservable.notifyObservers(plugin);\r\n\r\n if (directLoad) {\r\n if (plugin.directLoad) {\r\n const result = plugin.directLoad(scene, directLoad);\r\n if (result.then) {\r\n result.then((data: any) => {\r\n onSuccess(plugin, data);\r\n }).catch((error: any) => {\r\n onError(\"Error in directLoad of _loadData: \" + error, error);\r\n });\r\n }\r\n else {\r\n onSuccess(plugin, result);\r\n }\r\n } else {\r\n onSuccess(plugin, directLoad);\r\n }\r\n return plugin;\r\n }\r\n\r\n const useArrayBuffer = registeredPlugin.isBinary;\r\n\r\n const dataCallback = (data: any, responseURL?: string) => {\r\n if (scene.isDisposed) {\r\n onError(\"Scene has been disposed\");\r\n return;\r\n }\r\n\r\n onSuccess(plugin, data, responseURL);\r\n };\r\n\r\n let request: Nullable = null;\r\n let pluginDisposed = false;\r\n const onDisposeObservable = (plugin as any).onDisposeObservable as Observable;\r\n if (onDisposeObservable) {\r\n onDisposeObservable.add(() => {\r\n pluginDisposed = true;\r\n\r\n if (request) {\r\n request.abort();\r\n request = null;\r\n }\r\n\r\n onDispose();\r\n });\r\n }\r\n\r\n const manifestChecked = () => {\r\n if (pluginDisposed) {\r\n return;\r\n }\r\n\r\n const successCallback = (data: string | ArrayBuffer, request?: WebRequest) => {\r\n dataCallback(data, request ? request.responseURL : undefined);\r\n };\r\n\r\n const errorCallback = (error: RequestFileError) => {\r\n onError(error.message, error);\r\n };\r\n\r\n request = plugin.requestFile\r\n ? plugin.requestFile(scene, fileInfo.url, successCallback, onProgress, useArrayBuffer, errorCallback)\r\n : scene._requestFile(fileInfo.url, successCallback, onProgress, true, useArrayBuffer, errorCallback);\r\n };\r\n\r\n const file = fileInfo.file || FilesInputStore.FilesToLoad[fileInfo.name.toLowerCase()];\r\n\r\n if (fileInfo.rootUrl.indexOf(\"file:\") === -1 || (fileInfo.rootUrl.indexOf(\"file:\") !== -1 && !file)) {\r\n const engine = scene.getEngine();\r\n let canUseOfflineSupport = engine.enableOfflineSupport;\r\n if (canUseOfflineSupport) {\r\n // Also check for exceptions\r\n let exceptionFound = false;\r\n for (var regex of scene.disableOfflineSupportExceptionRules) {\r\n if (regex.test(fileInfo.url)) {\r\n exceptionFound = true;\r\n break;\r\n }\r\n }\r\n\r\n canUseOfflineSupport = !exceptionFound;\r\n }\r\n\r\n if (canUseOfflineSupport && Engine.OfflineProviderFactory) {\r\n // Checking if a manifest file has been set for this scene and if offline mode has been requested\r\n scene.offlineProvider = Engine.OfflineProviderFactory(fileInfo.url, manifestChecked, engine.disableManifestCheck);\r\n }\r\n else {\r\n manifestChecked();\r\n }\r\n }\r\n // Loading file from disk via input file or drag'n'drop\r\n else {\r\n if (file) {\r\n const errorCallback = (error: ReadFileError) => {\r\n onError(error.message, error);\r\n };\r\n\r\n request = plugin.readFile\r\n ? plugin.readFile(scene, file, dataCallback, onProgress, useArrayBuffer, errorCallback)\r\n : scene._readFile(file, dataCallback, onProgress, useArrayBuffer, errorCallback);\r\n } else {\r\n onError(\"Unable to find file named \" + fileInfo.name);\r\n }\r\n }\r\n return plugin;\r\n }\r\n\r\n private static _GetFileInfo(rootUrl: string, sceneFilename: string | File): Nullable {\r\n let url: string;\r\n let name: string;\r\n let file: Nullable = null;\r\n\r\n if (!sceneFilename) {\r\n url = rootUrl;\r\n name = Tools.GetFilename(rootUrl);\r\n rootUrl = Tools.GetFolderPath(rootUrl);\r\n }\r\n else if ((sceneFilename as File).name) {\r\n const sceneFile = sceneFilename as File;\r\n url = rootUrl + sceneFile.name;\r\n name = sceneFile.name;\r\n file = sceneFile;\r\n }\r\n else {\r\n const filename = sceneFilename as string;\r\n if (filename.substr(0, 1) === \"/\") {\r\n Tools.Error(\"Wrong sceneFilename parameter\");\r\n return null;\r\n }\r\n\r\n url = rootUrl + filename;\r\n name = filename;\r\n }\r\n\r\n return {\r\n url: url,\r\n rootUrl: rootUrl,\r\n name: name,\r\n file: file\r\n };\r\n }\r\n\r\n // Public functions\r\n\r\n /**\r\n * Gets a plugin that can load the given extension\r\n * @param extension defines the extension to load\r\n * @returns a plugin or null if none works\r\n */\r\n public static GetPluginForExtension(extension: string): ISceneLoaderPlugin | ISceneLoaderPluginAsync | ISceneLoaderPluginFactory {\r\n return SceneLoader._GetPluginForExtension(extension).plugin;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating that the given extension can be loaded\r\n * @param extension defines the extension to load\r\n * @returns true if the extension is supported\r\n */\r\n public static IsPluginForExtensionAvailable(extension: string): boolean {\r\n return !!SceneLoader._registeredPlugins[extension];\r\n }\r\n\r\n /**\r\n * Adds a new plugin to the list of registered plugins\r\n * @param plugin defines the plugin to add\r\n */\r\n public static RegisterPlugin(plugin: ISceneLoaderPlugin | ISceneLoaderPluginAsync): void {\r\n if (typeof plugin.extensions === \"string\") {\r\n var extension = plugin.extensions;\r\n SceneLoader._registeredPlugins[extension.toLowerCase()] = {\r\n plugin: plugin,\r\n isBinary: false\r\n };\r\n }\r\n else {\r\n var extensions = plugin.extensions;\r\n Object.keys(extensions).forEach((extension) => {\r\n SceneLoader._registeredPlugins[extension.toLowerCase()] = {\r\n plugin: plugin,\r\n isBinary: extensions[extension].isBinary\r\n };\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Import meshes into a scene\r\n * @param meshNames an array of mesh names, a single mesh name, or empty string for all meshes that filter what meshes are imported\r\n * @param rootUrl a string that defines the root url for the scene and resources or the concatenation of rootURL and filename (e.g. http://example.com/test.glb)\r\n * @param sceneFilename a string that defines the name of the scene file or starts with \"data:\" following by the stringified version of the scene or a File object (default: empty string)\r\n * @param scene the instance of BABYLON.Scene to append to\r\n * @param onSuccess a callback with a list of imported meshes, particleSystems, skeletons, and animationGroups when import succeeds\r\n * @param onProgress a callback with a progress event for each file being loaded\r\n * @param onError a callback with the scene, a message, and possibly an exception when import fails\r\n * @param pluginExtension the extension used to determine the plugin\r\n * @returns The loaded plugin\r\n */\r\n public static ImportMesh(meshNames: any, rootUrl: string, sceneFilename: string | File = \"\", scene: Nullable = EngineStore.LastCreatedScene, onSuccess: Nullable = null, onProgress: Nullable<(event: ISceneLoaderProgressEvent) => void> = null, onError: Nullable<(scene: Scene, message: string, exception?: any) => void> = null, pluginExtension: Nullable = null): Nullable {\r\n if (!scene) {\r\n Logger.Error(\"No scene available to import mesh to\");\r\n return null;\r\n }\r\n\r\n const fileInfo = SceneLoader._GetFileInfo(rootUrl, sceneFilename);\r\n if (!fileInfo) {\r\n return null;\r\n }\r\n\r\n var loadingToken = {};\r\n scene._addPendingData(loadingToken);\r\n\r\n var disposeHandler = () => {\r\n scene._removePendingData(loadingToken);\r\n };\r\n\r\n var errorHandler = (message: string, exception?: any) => {\r\n let errorMessage = \"Unable to import meshes from \" + fileInfo.url + \": \" + message;\r\n\r\n if (onError) {\r\n onError(scene, errorMessage, exception);\r\n } else {\r\n Logger.Error(errorMessage);\r\n // should the exception be thrown?\r\n }\r\n\r\n disposeHandler();\r\n };\r\n\r\n var progressHandler = onProgress ? (event: ISceneLoaderProgressEvent) => {\r\n try {\r\n onProgress(event);\r\n }\r\n catch (e) {\r\n errorHandler(\"Error in onProgress callback: \" + e, e);\r\n }\r\n } : undefined;\r\n\r\n var successHandler: SceneLoaderSuccessCallback = (meshes, particleSystems, skeletons, animationGroups, transformNodes, geometries, lights) => {\r\n scene.importedMeshesFiles.push(fileInfo.url);\r\n\r\n if (onSuccess) {\r\n try {\r\n onSuccess(meshes, particleSystems, skeletons, animationGroups, transformNodes, geometries, lights);\r\n }\r\n catch (e) {\r\n errorHandler(\"Error in onSuccess callback: \" + e, e);\r\n }\r\n }\r\n\r\n scene._removePendingData(loadingToken);\r\n };\r\n\r\n return SceneLoader._LoadData(fileInfo, scene, (plugin, data, responseURL) => {\r\n if (plugin.rewriteRootURL) {\r\n fileInfo.rootUrl = plugin.rewriteRootURL(fileInfo.rootUrl, responseURL);\r\n }\r\n\r\n if ((plugin).importMesh) {\r\n var syncedPlugin = plugin;\r\n var meshes = new Array();\r\n var particleSystems = new Array();\r\n var skeletons = new Array();\r\n\r\n if (!syncedPlugin.importMesh(meshNames, scene, data, fileInfo.rootUrl, meshes, particleSystems, skeletons, errorHandler)) {\r\n return;\r\n }\r\n\r\n scene.loadingPluginName = plugin.name;\r\n successHandler(meshes, particleSystems, skeletons, [], [], [], []);\r\n }\r\n else {\r\n var asyncedPlugin = plugin;\r\n asyncedPlugin.importMeshAsync(meshNames, scene, data, fileInfo.rootUrl, progressHandler, fileInfo.name).then((result) => {\r\n scene.loadingPluginName = plugin.name;\r\n successHandler(result.meshes, result.particleSystems, result.skeletons, result.animationGroups, result.transformNodes, result.geometries, result.lights);\r\n }).catch((error) => {\r\n errorHandler(error.message, error);\r\n });\r\n }\r\n }, progressHandler, errorHandler, disposeHandler, pluginExtension);\r\n }\r\n\r\n /**\r\n * Import meshes into a scene\r\n * @param meshNames an array of mesh names, a single mesh name, or empty string for all meshes that filter what meshes are imported\r\n * @param rootUrl a string that defines the root url for the scene and resources or the concatenation of rootURL and filename (e.g. http://example.com/test.glb)\r\n * @param sceneFilename a string that defines the name of the scene file or starts with \"data:\" following by the stringified version of the scene or a File object (default: empty string)\r\n * @param scene the instance of BABYLON.Scene to append to\r\n * @param onProgress a callback with a progress event for each file being loaded\r\n * @param pluginExtension the extension used to determine the plugin\r\n * @returns The loaded list of imported meshes, particle systems, skeletons, and animation groups\r\n */\r\n public static ImportMeshAsync(meshNames: any, rootUrl: string, sceneFilename: string | File = \"\", scene: Nullable = EngineStore.LastCreatedScene, onProgress: Nullable<(event: ISceneLoaderProgressEvent) => void> = null, pluginExtension: Nullable = null): Promise {\r\n return new Promise((resolve, reject) => {\r\n SceneLoader.ImportMesh(meshNames, rootUrl, sceneFilename, scene, (meshes, particleSystems, skeletons, animationGroups, transformNodes, geometries, lights) => {\r\n resolve({\r\n meshes: meshes,\r\n particleSystems: particleSystems,\r\n skeletons: skeletons,\r\n animationGroups: animationGroups,\r\n transformNodes: transformNodes,\r\n geometries: geometries,\r\n lights: lights\r\n });\r\n }, onProgress, (scene, message, exception) => {\r\n reject(exception || new Error(message));\r\n },\r\n pluginExtension);\r\n });\r\n }\r\n\r\n /**\r\n * Load a scene\r\n * @param rootUrl a string that defines the root url for the scene and resources or the concatenation of rootURL and filename (e.g. http://example.com/test.glb)\r\n * @param sceneFilename a string that defines the name of the scene file or starts with \"data:\" following by the stringified version of the scene or a File object (default: empty string)\r\n * @param engine is the instance of BABYLON.Engine to use to create the scene\r\n * @param onSuccess a callback with the scene when import succeeds\r\n * @param onProgress a callback with a progress event for each file being loaded\r\n * @param onError a callback with the scene, a message, and possibly an exception when import fails\r\n * @param pluginExtension the extension used to determine the plugin\r\n * @returns The loaded plugin\r\n */\r\n public static Load(rootUrl: string, sceneFilename: string | File = \"\", engine: Nullable = EngineStore.LastCreatedEngine, onSuccess: Nullable<(scene: Scene) => void> = null, onProgress: Nullable<(event: ISceneLoaderProgressEvent) => void> = null, onError: Nullable<(scene: Scene, message: string, exception?: any) => void> = null, pluginExtension: Nullable = null): Nullable {\r\n if (!engine) {\r\n Tools.Error(\"No engine available\");\r\n return null;\r\n }\r\n\r\n return SceneLoader.Append(rootUrl, sceneFilename, new Scene(engine), onSuccess, onProgress, onError, pluginExtension);\r\n }\r\n\r\n /**\r\n * Load a scene\r\n * @param rootUrl a string that defines the root url for the scene and resources or the concatenation of rootURL and filename (e.g. http://example.com/test.glb)\r\n * @param sceneFilename a string that defines the name of the scene file or starts with \"data:\" following by the stringified version of the scene or a File object (default: empty string)\r\n * @param engine is the instance of BABYLON.Engine to use to create the scene\r\n * @param onProgress a callback with a progress event for each file being loaded\r\n * @param pluginExtension the extension used to determine the plugin\r\n * @returns The loaded scene\r\n */\r\n public static LoadAsync(rootUrl: string, sceneFilename: string | File = \"\", engine: Nullable = EngineStore.LastCreatedEngine, onProgress: Nullable<(event: ISceneLoaderProgressEvent) => void> = null, pluginExtension: Nullable = null): Promise {\r\n return new Promise((resolve, reject) => {\r\n SceneLoader.Load(rootUrl, sceneFilename, engine, (scene) => {\r\n resolve(scene);\r\n }, onProgress, (scene, message, exception) => {\r\n reject(exception || new Error(message));\r\n }, pluginExtension);\r\n });\r\n }\r\n\r\n /**\r\n * Append a scene\r\n * @param rootUrl a string that defines the root url for the scene and resources or the concatenation of rootURL and filename (e.g. http://example.com/test.glb)\r\n * @param sceneFilename a string that defines the name of the scene file or starts with \"data:\" following by the stringified version of the scene or a File object (default: empty string)\r\n * @param scene is the instance of BABYLON.Scene to append to\r\n * @param onSuccess a callback with the scene when import succeeds\r\n * @param onProgress a callback with a progress event for each file being loaded\r\n * @param onError a callback with the scene, a message, and possibly an exception when import fails\r\n * @param pluginExtension the extension used to determine the plugin\r\n * @returns The loaded plugin\r\n */\r\n public static Append(rootUrl: string, sceneFilename: string | File = \"\", scene: Nullable = EngineStore.LastCreatedScene, onSuccess: Nullable<(scene: Scene) => void> = null, onProgress: Nullable<(event: ISceneLoaderProgressEvent) => void> = null, onError: Nullable<(scene: Scene, message: string, exception?: any) => void> = null, pluginExtension: Nullable = null): Nullable {\r\n if (!scene) {\r\n Logger.Error(\"No scene available to append to\");\r\n return null;\r\n }\r\n\r\n const fileInfo = SceneLoader._GetFileInfo(rootUrl, sceneFilename);\r\n if (!fileInfo) {\r\n return null;\r\n }\r\n\r\n if (SceneLoader.ShowLoadingScreen && !this._showingLoadingScreen) {\r\n this._showingLoadingScreen = true;\r\n scene.getEngine().displayLoadingUI();\r\n scene.executeWhenReady(() => {\r\n scene.getEngine().hideLoadingUI();\r\n this._showingLoadingScreen = false;\r\n });\r\n }\r\n\r\n var loadingToken = {};\r\n scene._addPendingData(loadingToken);\r\n\r\n var disposeHandler = () => {\r\n scene._removePendingData(loadingToken);\r\n };\r\n\r\n var errorHandler = (message: Nullable, exception?: any) => {\r\n let errorMessage = \"Unable to load from \" + fileInfo.url + (message ? \": \" + message : \"\");\r\n if (onError) {\r\n onError(scene, errorMessage, exception);\r\n } else {\r\n Logger.Error(errorMessage);\r\n // should the exception be thrown?\r\n }\r\n\r\n disposeHandler();\r\n };\r\n\r\n var progressHandler = onProgress ? (event: ISceneLoaderProgressEvent) => {\r\n try {\r\n onProgress(event);\r\n }\r\n catch (e) {\r\n errorHandler(\"Error in onProgress callback\", e);\r\n }\r\n } : undefined;\r\n\r\n var successHandler = () => {\r\n if (onSuccess) {\r\n try {\r\n onSuccess(scene);\r\n }\r\n catch (e) {\r\n errorHandler(\"Error in onSuccess callback\", e);\r\n }\r\n }\r\n\r\n scene._removePendingData(loadingToken);\r\n };\r\n\r\n return SceneLoader._LoadData(fileInfo, scene, (plugin, data) => {\r\n if ((plugin).load) {\r\n var syncedPlugin = plugin;\r\n if (!syncedPlugin.load(scene, data, fileInfo.rootUrl, errorHandler)) {\r\n return;\r\n }\r\n\r\n scene.loadingPluginName = plugin.name;\r\n successHandler();\r\n } else {\r\n var asyncedPlugin = plugin;\r\n asyncedPlugin.loadAsync(scene, data, fileInfo.rootUrl, progressHandler, fileInfo.name).then(() => {\r\n scene.loadingPluginName = plugin.name;\r\n successHandler();\r\n }).catch((error) => {\r\n errorHandler(error.message, error);\r\n });\r\n }\r\n }, progressHandler, errorHandler, disposeHandler, pluginExtension);\r\n }\r\n\r\n /**\r\n * Append a scene\r\n * @param rootUrl a string that defines the root url for the scene and resources or the concatenation of rootURL and filename (e.g. http://example.com/test.glb)\r\n * @param sceneFilename a string that defines the name of the scene file or starts with \"data:\" following by the stringified version of the scene or a File object (default: empty string)\r\n * @param scene is the instance of BABYLON.Scene to append to\r\n * @param onProgress a callback with a progress event for each file being loaded\r\n * @param pluginExtension the extension used to determine the plugin\r\n * @returns The given scene\r\n */\r\n public static AppendAsync(rootUrl: string, sceneFilename: string | File = \"\", scene: Nullable = EngineStore.LastCreatedScene, onProgress: Nullable<(event: ISceneLoaderProgressEvent) => void> = null, pluginExtension: Nullable = null): Promise {\r\n return new Promise((resolve, reject) => {\r\n SceneLoader.Append(rootUrl, sceneFilename, scene, (scene) => {\r\n resolve(scene);\r\n }, onProgress, (scene, message, exception) => {\r\n reject(exception || new Error(message));\r\n }, pluginExtension);\r\n });\r\n }\r\n\r\n /**\r\n * Load a scene into an asset container\r\n * @param rootUrl a string that defines the root url for the scene and resources or the concatenation of rootURL and filename (e.g. http://example.com/test.glb)\r\n * @param sceneFilename a string that defines the name of the scene file or starts with \"data:\" following by the stringified version of the scene or a File object (default: empty string)\r\n * @param scene is the instance of BABYLON.Scene to append to (default: last created scene)\r\n * @param onSuccess a callback with the scene when import succeeds\r\n * @param onProgress a callback with a progress event for each file being loaded\r\n * @param onError a callback with the scene, a message, and possibly an exception when import fails\r\n * @param pluginExtension the extension used to determine the plugin\r\n * @returns The loaded plugin\r\n */\r\n public static LoadAssetContainer(\r\n rootUrl: string,\r\n sceneFilename: string | File = \"\",\r\n scene: Nullable = EngineStore.LastCreatedScene,\r\n onSuccess: Nullable<(assets: AssetContainer) => void> = null,\r\n onProgress: Nullable<(event: ISceneLoaderProgressEvent) => void> = null,\r\n onError: Nullable<(scene: Scene, message: string, exception?: any) => void> = null,\r\n pluginExtension: Nullable = null\r\n ): Nullable {\r\n if (!scene) {\r\n Logger.Error(\"No scene available to load asset container to\");\r\n return null;\r\n }\r\n\r\n const fileInfo = SceneLoader._GetFileInfo(rootUrl, sceneFilename);\r\n if (!fileInfo) {\r\n return null;\r\n }\r\n\r\n var loadingToken = {};\r\n scene._addPendingData(loadingToken);\r\n\r\n var disposeHandler = () => {\r\n scene._removePendingData(loadingToken);\r\n };\r\n\r\n var errorHandler = (message: Nullable, exception?: any) => {\r\n let errorMessage = \"Unable to load assets from \" + fileInfo.url + (message ? \": \" + message : \"\");\r\n\r\n if (exception && exception.message) {\r\n errorMessage += ` (${exception.message})`;\r\n }\r\n\r\n if (onError) {\r\n onError(scene, errorMessage, exception);\r\n } else {\r\n Logger.Error(errorMessage);\r\n // should the exception be thrown?\r\n }\r\n\r\n disposeHandler();\r\n };\r\n\r\n var progressHandler = onProgress ? (event: ISceneLoaderProgressEvent) => {\r\n try {\r\n onProgress(event);\r\n }\r\n catch (e) {\r\n errorHandler(\"Error in onProgress callback\", e);\r\n }\r\n } : undefined;\r\n\r\n var successHandler = (assets: AssetContainer) => {\r\n if (onSuccess) {\r\n try {\r\n onSuccess(assets);\r\n }\r\n catch (e) {\r\n errorHandler(\"Error in onSuccess callback\", e);\r\n }\r\n }\r\n\r\n scene._removePendingData(loadingToken);\r\n };\r\n\r\n return SceneLoader._LoadData(fileInfo, scene, (plugin, data) => {\r\n if ((plugin).loadAssetContainer) {\r\n var syncedPlugin = plugin;\r\n var assetContainer = syncedPlugin.loadAssetContainer(scene, data, fileInfo.rootUrl, errorHandler);\r\n if (!assetContainer) {\r\n return;\r\n }\r\n\r\n scene.loadingPluginName = plugin.name;\r\n successHandler(assetContainer);\r\n } else if ((plugin).loadAssetContainerAsync) {\r\n var asyncedPlugin = plugin;\r\n asyncedPlugin.loadAssetContainerAsync(scene, data, fileInfo.rootUrl, progressHandler, fileInfo.name).then((assetContainer) => {\r\n scene.loadingPluginName = plugin.name;\r\n successHandler(assetContainer);\r\n }).catch((error) => {\r\n errorHandler(error.message, error);\r\n });\r\n } else {\r\n errorHandler(\"LoadAssetContainer is not supported by this plugin. Plugin did not provide a loadAssetContainer or loadAssetContainerAsync method.\");\r\n }\r\n }, progressHandler, errorHandler, disposeHandler, pluginExtension);\r\n }\r\n\r\n /**\r\n * Load a scene into an asset container\r\n * @param rootUrl a string that defines the root url for the scene and resources or the concatenation of rootURL and filename (e.g. http://example.com/test.glb)\r\n * @param sceneFilename a string that defines the name of the scene file or starts with \"data:\" following by the stringified version of the scene (default: empty string)\r\n * @param scene is the instance of Scene to append to\r\n * @param onProgress a callback with a progress event for each file being loaded\r\n * @param pluginExtension the extension used to determine the plugin\r\n * @returns The loaded asset container\r\n */\r\n public static LoadAssetContainerAsync(rootUrl: string, sceneFilename: string = \"\", scene: Nullable = EngineStore.LastCreatedScene, onProgress: Nullable<(event: ISceneLoaderProgressEvent) => void> = null, pluginExtension: Nullable = null): Promise {\r\n return new Promise((resolve, reject) => {\r\n SceneLoader.LoadAssetContainer(rootUrl, sceneFilename, scene, (assetContainer) => {\r\n resolve(assetContainer);\r\n }, onProgress, (scene, message, exception) => {\r\n reject(exception || new Error(message));\r\n }, pluginExtension);\r\n });\r\n }\r\n\r\n /**\r\n * Import animations from a file into a scene\r\n * @param rootUrl a string that defines the root url for the scene and resources or the concatenation of rootURL and filename (e.g. http://example.com/test.glb)\r\n * @param sceneFilename a string that defines the name of the scene file or starts with \"data:\" following by the stringified version of the scene or a File object (default: empty string)\r\n * @param scene is the instance of BABYLON.Scene to append to (default: last created scene)\r\n * @param overwriteAnimations when true, animations are cleaned before importing new ones. Animations are appended otherwise\r\n * @param animationGroupLoadingMode defines how to handle old animations groups before importing new ones\r\n * @param targetConverter defines a function used to convert animation targets from loaded scene to current scene (default: search node by name)\r\n * @param onSuccess a callback with the scene when import succeeds\r\n * @param onProgress a callback with a progress event for each file being loaded\r\n * @param onError a callback with the scene, a message, and possibly an exception when import fails\r\n * @param pluginExtension the extension used to determine the plugin\r\n */\r\n public static ImportAnimations(rootUrl: string, sceneFilename: string | File = \"\", scene: Nullable = EngineStore.LastCreatedScene, overwriteAnimations = true, animationGroupLoadingMode = SceneLoaderAnimationGroupLoadingMode.Clean, targetConverter: Nullable<(target: any) => any> = null, onSuccess: Nullable<(scene: Scene) => void> = null, onProgress: Nullable<(event: ISceneLoaderProgressEvent) => void> = null, onError: Nullable<(scene: Scene, message: string, exception?: any) => void> = null, pluginExtension: Nullable = null): void {\r\n if (!scene) {\r\n Logger.Error(\"No scene available to load animations to\");\r\n return;\r\n }\r\n\r\n if (overwriteAnimations) {\r\n // Reset, stop and dispose all animations before loading new ones\r\n for (let animatable of scene.animatables) {\r\n animatable.reset();\r\n }\r\n scene.stopAllAnimations();\r\n scene.animationGroups.slice().forEach((animationGroup) => {\r\n animationGroup.dispose();\r\n });\r\n let nodes = scene.getNodes();\r\n nodes.forEach((node) => {\r\n if (node.animations) {\r\n node.animations = [];\r\n }\r\n });\r\n }\r\n else {\r\n switch (animationGroupLoadingMode) {\r\n case SceneLoaderAnimationGroupLoadingMode.Clean:\r\n scene.animationGroups.slice().forEach((animationGroup) => {\r\n animationGroup.dispose();\r\n });\r\n break;\r\n case SceneLoaderAnimationGroupLoadingMode.Stop:\r\n scene.animationGroups.forEach((animationGroup) => {\r\n animationGroup.stop();\r\n });\r\n break;\r\n case SceneLoaderAnimationGroupLoadingMode.Sync:\r\n scene.animationGroups.forEach((animationGroup) => {\r\n animationGroup.reset();\r\n animationGroup.restart();\r\n });\r\n break;\r\n case SceneLoaderAnimationGroupLoadingMode.NoSync:\r\n // nothing to do\r\n break;\r\n default:\r\n Logger.Error(\"Unknown animation group loading mode value '\" + animationGroupLoadingMode + \"'\");\r\n return;\r\n }\r\n }\r\n\r\n let startingIndexForNewAnimatables = scene.animatables.length;\r\n\r\n let onAssetContainerLoaded = (container: AssetContainer) => {\r\n container.mergeAnimationsTo(scene, scene.animatables.slice(startingIndexForNewAnimatables), targetConverter);\r\n\r\n container.dispose();\r\n\r\n scene.onAnimationFileImportedObservable.notifyObservers(scene);\r\n\r\n if (onSuccess) {\r\n onSuccess(scene);\r\n }\r\n };\r\n\r\n this.LoadAssetContainer(rootUrl, sceneFilename, scene, onAssetContainerLoaded, onProgress, onError, pluginExtension);\r\n }\r\n\r\n /**\r\n * Import animations from a file into a scene\r\n * @param rootUrl a string that defines the root url for the scene and resources or the concatenation of rootURL and filename (e.g. http://example.com/test.glb)\r\n * @param sceneFilename a string that defines the name of the scene file or starts with \"data:\" following by the stringified version of the scene or a File object (default: empty string)\r\n * @param scene is the instance of BABYLON.Scene to append to (default: last created scene)\r\n * @param overwriteAnimations when true, animations are cleaned before importing new ones. Animations are appended otherwise\r\n * @param animationGroupLoadingMode defines how to handle old animations groups before importing new ones\r\n * @param targetConverter defines a function used to convert animation targets from loaded scene to current scene (default: search node by name)\r\n * @param onSuccess a callback with the scene when import succeeds\r\n * @param onProgress a callback with a progress event for each file being loaded\r\n * @param onError a callback with the scene, a message, and possibly an exception when import fails\r\n * @param pluginExtension the extension used to determine the plugin\r\n * @returns the updated scene with imported animations\r\n */\r\n public static ImportAnimationsAsync(rootUrl: string, sceneFilename: string | File = \"\", scene: Nullable = EngineStore.LastCreatedScene, overwriteAnimations = true, animationGroupLoadingMode = SceneLoaderAnimationGroupLoadingMode.Clean, targetConverter: Nullable<(target: any) => any> = null, onSuccess: Nullable<(scene: Scene) => void> = null, onProgress: Nullable<(event: ISceneLoaderProgressEvent) => void> = null, onError: Nullable<(scene: Scene, message: string, exception?: any) => void> = null, pluginExtension: Nullable = null): Promise {\r\n return new Promise((resolve, reject) => {\r\n SceneLoader.ImportAnimations(rootUrl, sceneFilename, scene, overwriteAnimations, animationGroupLoadingMode, targetConverter, (_scene: Scene) => {\r\n resolve(_scene);\r\n }, onProgress, (_scene: Scene, message: string, exception: any) => {\r\n reject(exception || new Error(message));\r\n }, pluginExtension);\r\n });\r\n }\r\n}\r\n","import * as React from 'react';\nimport setRef from './setRef';\nexport default function useForkRef(refA, refB) {\n /**\n * This will create a new function if the ref props change and are defined.\n * This means react will call the old forkRef with `null` and the new forkRef\n * with the ref. Cleanup naturally emerges from this behavior\n */\n return React.useMemo(function () {\n if (refA == null && refB == null) {\n return null;\n }\n\n return function (refValue) {\n setRef(refA, refValue);\n setRef(refB, refValue);\n };\n }, [refA, refB]);\n}","import unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","import { formatMuiErrorMessage as _formatMuiErrorMessage } from \"@material-ui/utils\";\n\n/* eslint-disable no-use-before-define */\n\n/**\n * Returns a number whose value is limited to the given range.\n *\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\nfunction clamp(value) {\n var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(\"Material-UI: The value provided \".concat(value, \" is out of range [\").concat(min, \", \").concat(max, \"].\"));\n }\n }\n\n return Math.min(Math.max(min, value), max);\n}\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n *\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\n\n\nexport function hexToRgb(color) {\n color = color.substr(1);\n var re = new RegExp(\".{1,\".concat(color.length >= 6 ? 2 : 1, \"}\"), 'g');\n var colors = color.match(re);\n\n if (colors && colors[0].length === 1) {\n colors = colors.map(function (n) {\n return n + n;\n });\n }\n\n return colors ? \"rgb\".concat(colors.length === 4 ? 'a' : '', \"(\").concat(colors.map(function (n, index) {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', '), \")\") : '';\n}\n\nfunction intToHex(int) {\n var hex = int.toString(16);\n return hex.length === 1 ? \"0\".concat(hex) : hex;\n}\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n *\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\n\n\nexport function rgbToHex(color) {\n // Idempotent\n if (color.indexOf('#') === 0) {\n return color;\n }\n\n var _decomposeColor = decomposeColor(color),\n values = _decomposeColor.values;\n\n return \"#\".concat(values.map(function (n) {\n return intToHex(n);\n }).join(''));\n}\n/**\n * Converts a color from hsl format to rgb format.\n *\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\n\nexport function hslToRgb(color) {\n color = decomposeColor(color);\n var _color = color,\n values = _color.values;\n var h = values[0];\n var s = values[1] / 100;\n var l = values[2] / 100;\n var a = s * Math.min(l, 1 - l);\n\n var f = function f(n) {\n var k = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : (n + h / 30) % 12;\n return l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n };\n\n var type = 'rgb';\n var rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n\n return recomposeColor({\n type: type,\n values: rgb\n });\n}\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\n\nexport function decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n\n var marker = color.indexOf('(');\n var type = color.substring(0, marker);\n\n if (['rgb', 'rgba', 'hsl', 'hsla'].indexOf(type) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? \"Material-UI: Unsupported `\".concat(color, \"` color.\\nWe support the following formats: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla().\") : _formatMuiErrorMessage(3, color));\n }\n\n var values = color.substring(marker + 1, color.length - 1).split(',');\n values = values.map(function (value) {\n return parseFloat(value);\n });\n return {\n type: type,\n values: values\n };\n}\n/**\n * Converts a color object with type and values to a string.\n *\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\n\nexport function recomposeColor(color) {\n var type = color.type;\n var values = color.values;\n\n if (type.indexOf('rgb') !== -1) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map(function (n, i) {\n return i < 3 ? parseInt(n, 10) : n;\n });\n } else if (type.indexOf('hsl') !== -1) {\n values[1] = \"\".concat(values[1], \"%\");\n values[2] = \"\".concat(values[2], \"%\");\n }\n\n return \"\".concat(type, \"(\").concat(values.join(', '), \")\");\n}\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n *\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\n\nexport function getContrastRatio(foreground, background) {\n var lumA = getLuminance(foreground);\n var lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\n\nexport function getLuminance(color) {\n color = decomposeColor(color);\n var rgb = color.type === 'hsl' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(function (val) {\n val /= 255; // normalized\n\n return val <= 0.03928 ? val / 12.92 : Math.pow((val + 0.055) / 1.055, 2.4);\n }); // Truncate at 3 digits\n\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\n\nexport function emphasize(color) {\n var coefficient = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0.15;\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\n/**\n * Set the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} value - value to set the alpha channel to in the range 0 -1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\n\nexport function fade(color, value) {\n color = decomposeColor(color);\n value = clamp(value);\n\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n\n color.values[3] = value;\n return recomposeColor(color);\n}\n/**\n * Darkens a color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\n\nexport function darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clamp(coefficient);\n\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (var i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n\n return recomposeColor(color);\n}\n/**\n * Lightens a color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\n\nexport function lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clamp(coefficient);\n\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (var i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n }\n\n return recomposeColor(color);\n}","import { Logger } from \"../Misc/logger\";\r\nimport { SerializationHelper } from \"../Misc/decorators\";\r\nimport { Nullable } from \"../types\";\r\nimport { Camera } from \"./camera\";\r\n/**\r\n * @ignore\r\n * This is a list of all the different input types that are available in the application.\r\n * Fo instance: ArcRotateCameraGamepadInput...\r\n */\r\nexport var CameraInputTypes = {};\r\n\r\n/**\r\n * This is the contract to implement in order to create a new input class.\r\n * Inputs are dealing with listening to user actions and moving the camera accordingly.\r\n */\r\nexport interface ICameraInput {\r\n /**\r\n * Defines the camera the input is attached to.\r\n */\r\n camera: Nullable;\r\n /**\r\n * Gets the class name of the current intput.\r\n * @returns the class name\r\n */\r\n getClassName(): string;\r\n /**\r\n * Get the friendly name associated with the input class.\r\n * @returns the input friendly name\r\n */\r\n getSimpleName(): string;\r\n /**\r\n * Attach the input controls to a specific dom element to get the input from.\r\n * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\r\n */\r\n attachControl(noPreventDefault?: boolean): void;\r\n /**\r\n * Detach the current controls from the specified dom element.\r\n */\r\n detachControl(): void;\r\n /**\r\n * Update the current camera state depending on the inputs that have been used this frame.\r\n * This is a dynamically created lambda to avoid the performance penalty of looping for inputs in the render loop.\r\n */\r\n checkInputs?: () => void;\r\n}\r\n\r\n/**\r\n * Represents a map of input types to input instance or input index to input instance.\r\n */\r\nexport interface CameraInputsMap {\r\n /**\r\n * Accessor to the input by input type.\r\n */\r\n [name: string]: ICameraInput;\r\n /**\r\n * Accessor to the input by input index.\r\n */\r\n [idx: number]: ICameraInput;\r\n}\r\n\r\n/**\r\n * This represents the input manager used within a camera.\r\n * It helps dealing with all the different kind of input attached to a camera.\r\n * @see https://doc.babylonjs.com/how_to/customizing_camera_inputs\r\n */\r\nexport class CameraInputsManager {\r\n /**\r\n * Defines the list of inputs attahed to the camera.\r\n */\r\n public attached: CameraInputsMap;\r\n\r\n /**\r\n * Defines the dom element the camera is collecting inputs from.\r\n * This is null if the controls have not been attached.\r\n */\r\n public attachedToElement: boolean = false;\r\n\r\n /**\r\n * Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\r\n */\r\n public noPreventDefault: boolean;\r\n\r\n /**\r\n * Defined the camera the input manager belongs to.\r\n */\r\n public camera: TCamera;\r\n\r\n /**\r\n * Update the current camera state depending on the inputs that have been used this frame.\r\n * This is a dynamically created lambda to avoid the performance penalty of looping for inputs in the render loop.\r\n */\r\n public checkInputs: () => void;\r\n\r\n /**\r\n * Instantiate a new Camera Input Manager.\r\n * @param camera Defines the camera the input manager blongs to\r\n */\r\n constructor(camera: TCamera) {\r\n this.attached = {};\r\n this.camera = camera;\r\n this.checkInputs = () => {};\r\n }\r\n\r\n /**\r\n * Add an input method to a camera\r\n * @see https://doc.babylonjs.com/how_to/customizing_camera_inputs\r\n * @param input camera input method\r\n */\r\n public add(input: ICameraInput): void {\r\n var type = input.getSimpleName();\r\n if (this.attached[type]) {\r\n Logger.Warn(\"camera input of type \" + type + \" already exists on camera\");\r\n return;\r\n }\r\n\r\n this.attached[type] = input;\r\n\r\n input.camera = this.camera;\r\n\r\n //for checkInputs, we are dynamically creating a function\r\n //the goal is to avoid the performance penalty of looping for inputs in the render loop\r\n if (input.checkInputs) {\r\n this.checkInputs = this._addCheckInputs(input.checkInputs.bind(input));\r\n }\r\n\r\n if (this.attachedToElement) {\r\n input.attachControl();\r\n }\r\n }\r\n\r\n /**\r\n * Remove a specific input method from a camera\r\n * example: camera.inputs.remove(camera.inputs.attached.mouse);\r\n * @param inputToRemove camera input method\r\n */\r\n public remove(inputToRemove: ICameraInput): void {\r\n for (var cam in this.attached) {\r\n var input = this.attached[cam];\r\n if (input === inputToRemove) {\r\n input.detachControl();\r\n input.camera = null;\r\n delete this.attached[cam];\r\n this.rebuildInputCheck();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Remove a specific input type from a camera\r\n * example: camera.inputs.remove(\"ArcRotateCameraGamepadInput\");\r\n * @param inputType the type of the input to remove\r\n */\r\n public removeByType(inputType: string): void {\r\n for (var cam in this.attached) {\r\n var input = this.attached[cam];\r\n if (input.getClassName() === inputType) {\r\n input.detachControl();\r\n input.camera = null;\r\n delete this.attached[cam];\r\n this.rebuildInputCheck();\r\n }\r\n }\r\n }\r\n\r\n private _addCheckInputs(fn: () => void) {\r\n var current = this.checkInputs;\r\n return () => {\r\n current();\r\n fn();\r\n };\r\n }\r\n\r\n /**\r\n * Attach the input controls to the currently attached dom element to listen the events from.\r\n * @param input Defines the input to attach\r\n */\r\n public attachInput(input: ICameraInput): void {\r\n if (this.attachedToElement) {\r\n input.attachControl(this.noPreventDefault);\r\n }\r\n }\r\n\r\n /**\r\n * Attach the current manager inputs controls to a specific dom element to listen the events from.\r\n * @param element Defines the dom element to collect the events from\r\n * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\r\n */\r\n public attachElement(noPreventDefault: boolean = false): void {\r\n if (this.attachedToElement) {\r\n return;\r\n }\r\n\r\n noPreventDefault = Camera.ForceAttachControlToAlwaysPreventDefault ? false : noPreventDefault;\r\n this.attachedToElement = true;\r\n this.noPreventDefault = noPreventDefault;\r\n\r\n for (var cam in this.attached) {\r\n this.attached[cam].attachControl(noPreventDefault);\r\n }\r\n }\r\n\r\n /**\r\n * Detach the current manager inputs controls from a specific dom element.\r\n * @param element Defines the dom element to collect the events from\r\n * @param disconnect Defines whether the input should be removed from the current list of attached inputs\r\n */\r\n public detachElement(disconnect = false): void {\r\n for (var cam in this.attached) {\r\n this.attached[cam].detachControl();\r\n\r\n if (disconnect) {\r\n this.attached[cam].camera = null;\r\n }\r\n }\r\n this.attachedToElement = false;\r\n }\r\n\r\n /**\r\n * Rebuild the dynamic inputCheck function from the current list of\r\n * defined inputs in the manager.\r\n */\r\n public rebuildInputCheck(): void {\r\n this.checkInputs = () => {};\r\n\r\n for (var cam in this.attached) {\r\n var input = this.attached[cam];\r\n if (input.checkInputs) {\r\n this.checkInputs = this._addCheckInputs(input.checkInputs.bind(input));\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Remove all attached input methods from a camera\r\n */\r\n public clear(): void {\r\n if (this.attachedToElement) {\r\n this.detachElement(true);\r\n }\r\n this.attached = {};\r\n this.attachedToElement = false;\r\n this.checkInputs = () => {};\r\n }\r\n\r\n /**\r\n * Serialize the current input manager attached to a camera.\r\n * This ensures than once parsed,\r\n * the input associated to the camera will be identical to the current ones\r\n * @param serializedCamera Defines the camera serialization JSON the input serialization should write to\r\n */\r\n public serialize(serializedCamera: any): void {\r\n var inputs: { [key: string]: any } = {};\r\n for (var cam in this.attached) {\r\n var input = this.attached[cam];\r\n var res = SerializationHelper.Serialize(input);\r\n inputs[input.getClassName()] = res;\r\n }\r\n\r\n serializedCamera.inputsmgr = inputs;\r\n }\r\n\r\n /**\r\n * Parses an input manager serialized JSON to restore the previous list of inputs\r\n * and states associated to a camera.\r\n * @param parsedCamera Defines the JSON to parse\r\n */\r\n public parse(parsedCamera: any): void {\r\n var parsedInputs = parsedCamera.inputsmgr;\r\n if (parsedInputs) {\r\n this.clear();\r\n\r\n for (var n in parsedInputs) {\r\n var construct = (CameraInputTypes)[n];\r\n if (construct) {\r\n var parsedinput = parsedInputs[n];\r\n var input = SerializationHelper.Parse(\r\n () => {\r\n return new construct();\r\n },\r\n parsedinput,\r\n null\r\n );\r\n this.add(input as any);\r\n }\r\n }\r\n } else {\r\n //2016-03-08 this part is for managing backward compatibility\r\n for (var n in this.attached) {\r\n var construct = (CameraInputTypes)[this.attached[n].getClassName()];\r\n if (construct) {\r\n var input = SerializationHelper.Parse(\r\n () => {\r\n return new construct();\r\n },\r\n parsedCamera,\r\n null\r\n );\r\n this.remove(this.attached[n]);\r\n this.add(input as any);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import reactDom from 'react-dom';\nimport react from 'react';\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @emails oncall+recoil\n * \n * @format\n */\n\n// Split declaration and implementation to allow this function to pretend to\n// check for actual instance of Promise instead of something with a `then`\n// method.\n// eslint-disable-next-line no-redeclare\nfunction isPromise(p) {\n return !!p && typeof p.then === 'function';\n}\n\nvar Recoil_isPromise = isPromise;\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @emails oncall+recoil\n * \n * @format\n */\n\nfunction nullthrows(x, message) {\n if (x != null) {\n return x;\n }\n\n throw new Error(message !== null && message !== void 0 ? message : 'Got unexpected null or undefined');\n}\n\nvar Recoil_nullthrows = nullthrows;\n\n// TODO Convert Loadable to a Class to allow for runtime type detection.\n// Containing static factories of withValue(), withError(), withPromise(), and all()\n\n\nclass Canceled {}\n\nconst CANCELED = new Canceled();\nconst loadableAccessors = {\n valueMaybe() {\n return undefined;\n },\n\n valueOrThrow() {\n const error = new Error(`Loadable expected value, but in \"${this.state}\" state`); // V8 keeps closures alive until stack is accessed, this prevents a memory leak\n throw error;\n },\n\n errorMaybe() {\n return undefined;\n },\n\n errorOrThrow() {\n const error = new Error(`Loadable expected error, but in \"${this.state}\" state`); // V8 keeps closures alive until stack is accessed, this prevents a memory leak\n throw error;\n },\n\n promiseMaybe() {\n return undefined;\n },\n\n promiseOrThrow() {\n const error = new Error(`Loadable expected promise, but in \"${this.state}\" state`); // V8 keeps closures alive until stack is accessed, this prevents a memory leak\n throw error;\n },\n\n is(other) {\n return other.state === this.state && other.contents === this.contents;\n },\n\n // TODO Unit tests\n // TODO Convert Loadable to a Class to better support chaining\n // by returning a Loadable from a map function\n map(map) {\n if (this.state === 'hasError') {\n return this;\n }\n\n if (this.state === 'hasValue') {\n try {\n const next = map(this.contents); // TODO if next instanceof Loadable, then return next\n\n return Recoil_isPromise(next) ? loadableWithPromise(next) : loadableWithValue(next);\n } catch (e) {\n return Recoil_isPromise(e) ? // If we \"suspended\", then try again.\n // errors and subsequent retries will be handled in 'loading' case\n loadableWithPromise(e.next(() => map(this.contents))) : loadableWithError(e);\n }\n }\n\n if (this.state === 'loading') {\n return loadableWithPromise(this.contents // TODO if map returns a loadable, then return the value or promise or throw the error\n .then(map).catch(e => {\n if (Recoil_isPromise(e)) {\n // we were \"suspended,\" try again\n return e.then(() => map(this.contents));\n }\n\n throw e;\n }));\n }\n\n const error = new Error('Invalid Loadable state'); // V8 keeps closures alive until stack is accessed, this prevents a memory leak\n throw error;\n }\n\n};\n\nfunction loadableWithValue(value) {\n // Build objects this way since Flow doesn't support disjoint unions for class properties\n return Object.freeze({\n state: 'hasValue',\n contents: value,\n ...loadableAccessors,\n\n getValue() {\n return this.contents;\n },\n\n toPromise() {\n return Promise.resolve(this.contents);\n },\n\n valueMaybe() {\n return this.contents;\n },\n\n valueOrThrow() {\n return this.contents;\n }\n\n });\n}\n\nfunction loadableWithError(error) {\n return Object.freeze({\n state: 'hasError',\n contents: error,\n ...loadableAccessors,\n\n getValue() {\n throw this.contents;\n },\n\n toPromise() {\n return Promise.reject(this.contents);\n },\n\n errorMaybe() {\n return this.contents;\n },\n\n errorOrThrow() {\n return this.contents;\n }\n\n });\n}\n\nfunction loadableWithPromise(promise) {\n return Object.freeze({\n state: 'loading',\n contents: promise,\n ...loadableAccessors,\n\n getValue() {\n throw this.contents.then(({\n __value\n }) => __value);\n },\n\n toPromise() {\n return this.contents.then(({\n __value\n }) => __value);\n },\n\n promiseMaybe() {\n return this.contents.then(({\n __value\n }) => __value);\n },\n\n promiseOrThrow() {\n return this.contents.then(({\n __value\n }) => __value);\n }\n\n });\n}\n\nfunction loadableLoading() {\n return loadableWithPromise(new Promise(() => {}));\n}\n\nfunction loadableAll(inputs) {\n return inputs.every(i => i.state === 'hasValue') ? loadableWithValue(inputs.map(i => i.contents)) : inputs.some(i => i.state === 'hasError') ? loadableWithError(Recoil_nullthrows(inputs.find(i => i.state === 'hasError'), 'Invalid loadable passed to loadableAll').contents) : loadableWithPromise(Promise.all(inputs.map(i => i.contents)).then(value => ({\n __value: value\n })));\n}\n\nvar Recoil_Loadable = {\n loadableWithValue,\n loadableWithError,\n loadableWithPromise,\n loadableLoading,\n loadableAll,\n Canceled,\n CANCELED\n};\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @emails oncall+recoil\n * \n * @format\n */\n\nfunction recoverableViolation(message, projectName, {\n error\n} = {}) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(message, error);\n }\n\n return null;\n}\n\nvar recoverableViolation_1 = recoverableViolation;\n\n// @oss-only\n\n\nvar Recoil_recoverableViolation = recoverableViolation_1;\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Utilities for working with built-in Maps and Sets without mutating them.\n *\n * @emails oncall+recoil\n * \n * @format\n */\n\nfunction setByAddingToSet(set, v) {\n const next = new Set(set);\n next.add(v);\n return next;\n}\n\nfunction setByDeletingFromSet(set, v) {\n const next = new Set(set);\n next.delete(v);\n return next;\n}\n\nfunction mapBySettingInMap(map, k, v) {\n const next = new Map(map);\n next.set(k, v);\n return next;\n}\n\nfunction mapByUpdatingInMap(map, k, updater) {\n const next = new Map(map);\n next.set(k, updater(next.get(k)));\n return next;\n}\n\nfunction mapByDeletingFromMap(map, k) {\n const next = new Map(map);\n next.delete(k);\n return next;\n}\n\nfunction mapByDeletingMultipleFromMap(map, ks) {\n const next = new Map(map);\n ks.forEach(k => next.delete(k));\n return next;\n}\n\nvar Recoil_CopyOnWrite = {\n setByAddingToSet,\n setByDeletingFromSet,\n mapBySettingInMap,\n mapByUpdatingInMap,\n mapByDeletingFromMap,\n mapByDeletingMultipleFromMap\n};\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @emails oncall+recoil\n * \n * @format\n */\n/**\n * Creates a new iterable whose output is generated by passing the input\n * iterable's values through the filter function.\n */\n\nfunction* filterIterable(iterable, predicate) {\n // Use generator to create iterable/iterator\n let index = 0;\n\n for (const value of iterable) {\n if (predicate(value, index++)) {\n yield value;\n }\n }\n}\n\nvar Recoil_filterIterable = filterIterable;\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @emails oncall+recoil\n * \n * @format\n */\n\nconst gks = new Map().set('recoil_hamt_2020', true).set('recoil_memory_managament_2020', true);\n\nfunction Recoil_gkx(gk) {\n var _gks$get;\n\n return (_gks$get = gks.get(gk)) !== null && _gks$get !== void 0 ? _gks$get : false;\n}\n\nRecoil_gkx.setPass = gk => {\n gks.set(gk, true);\n};\n\nRecoil_gkx.setFail = gk => {\n gks.set(gk, false);\n};\n\nvar Recoil_gkx_1 = Recoil_gkx; // @oss-only\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @emails oncall+recoil\n * \n * @format\n */\n/**\n * Creates a new iterable whose output is generated by passing the input\n * iterable's values through the mapper function.\n */\n\nfunction mapIterable(iterable, callback) {\n // Use generator to create iterable/iterator\n return function* () {\n let index = 0;\n\n for (const value of iterable) {\n yield callback(value, index++);\n }\n }();\n}\n\nvar Recoil_mapIterable = mapIterable;\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @emails oncall+recoil\n * \n * @format\n */\n\nfunction sprintf(format, ...args) {\n let index = 0;\n return format.replace(/%s/g, () => String(args[index++]));\n}\n\nvar sprintf_1 = sprintf;\n\nfunction expectationViolation(format, ...args) {\n if (process.env.NODE_ENV !== \"production\") {\n const message = sprintf_1.call(null, format, ...args);\n const error = new Error(message);\n error.name = 'Expectation Violation';\n console.error(error);\n }\n}\n\nvar expectationViolation_1 = expectationViolation;\n\n// @oss-only\n\n\nvar Recoil_expectationViolation = expectationViolation_1;\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\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 * @emails oncall+recoil\n * \n * @format\n */\n\n// eslint-disable-next-line no-unused-vars\nclass AbstractRecoilValue {\n constructor(newKey) {\n _defineProperty(this, \"key\", void 0);\n\n this.key = newKey;\n }\n\n}\n\nclass RecoilState extends AbstractRecoilValue {}\n\nclass RecoilValueReadOnly extends AbstractRecoilValue {}\n\nfunction isRecoilValue(x) {\n return x instanceof RecoilState || x instanceof RecoilValueReadOnly;\n}\n\nvar Recoil_RecoilValue = {\n AbstractRecoilValue,\n RecoilState,\n RecoilValueReadOnly,\n isRecoilValue\n};\n\nvar Recoil_RecoilValue_1 = Recoil_RecoilValue.AbstractRecoilValue;\nvar Recoil_RecoilValue_2 = Recoil_RecoilValue.RecoilState;\nvar Recoil_RecoilValue_3 = Recoil_RecoilValue.RecoilValueReadOnly;\nvar Recoil_RecoilValue_4 = Recoil_RecoilValue.isRecoilValue;\n\nvar Recoil_RecoilValue$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n AbstractRecoilValue: Recoil_RecoilValue_1,\n RecoilState: Recoil_RecoilValue_2,\n RecoilValueReadOnly: Recoil_RecoilValue_3,\n isRecoilValue: Recoil_RecoilValue_4\n});\n\nclass DefaultValue {}\n\nconst DEFAULT_VALUE = new DefaultValue();\n\nclass RecoilValueNotReady extends Error {\n constructor(key) {\n super(`Tried to set the value of Recoil selector ${key} using an updater function, but it is an async selector in a pending or error state; this is not supported.`);\n }\n\n}\n\n// flowlint-next-line unclear-type:off\nconst nodes = new Map(); // flowlint-next-line unclear-type:off\n\nconst recoilValues = new Map();\n/* eslint-disable no-redeclare */\n\nfunction recoilValuesForKeys(keys) {\n return Recoil_mapIterable(keys, key => Recoil_nullthrows(recoilValues.get(key)));\n}\n\nfunction registerNode(node) {\n if (nodes.has(node.key)) {\n const message = `Duplicate atom key \"${node.key}\". This is a FATAL ERROR in\n production. But it is safe to ignore this warning if it occurred because of\n hot module replacement.`; // TODO Need to figure out if there is a standard/open-source equivalent to see if hot module replacement is happening:\n // prettier-ignore\n // @fb-only: if (__DEV__) {\n // @fb-only: const isAcceptingUpdate = require('__debug').isAcceptingUpdate;\n // prettier-ignore\n // @fb-only: if (typeof isAcceptingUpdate !== 'function' || !isAcceptingUpdate()) {\n // @fb-only: expectationViolation(message, 'recoil');\n // @fb-only: }\n // prettier-ignore\n // @fb-only: } else {\n // @fb-only: recoverableViolation(message, 'recoil');\n // @fb-only: }\n\n console.warn(message); // @oss-only\n }\n\n nodes.set(node.key, node);\n const recoilValue = node.set == null ? new Recoil_RecoilValue$1.RecoilValueReadOnly(node.key) : new Recoil_RecoilValue$1.RecoilState(node.key);\n recoilValues.set(node.key, recoilValue);\n return recoilValue;\n}\n/* eslint-enable no-redeclare */\n\n\nclass NodeMissingError extends Error {} // flowlint-next-line unclear-type:off\n\n\nfunction getNode(key) {\n const node = nodes.get(key);\n\n if (node == null) {\n throw new NodeMissingError(`Missing definition for RecoilValue: \"${key}\"\"`);\n }\n\n return node;\n} // flowlint-next-line unclear-type:off\n\n\nfunction getNodeMaybe(key) {\n return nodes.get(key);\n}\n\nconst configDeletionHandlers = new Map();\n\nfunction deleteNodeConfigIfPossible(key) {\n var _node$shouldDeleteCon;\n\n if (!Recoil_gkx_1('recoil_memory_managament_2020')) {\n return;\n }\n\n const node = nodes.get(key);\n\n if (node === null || node === void 0 ? void 0 : (_node$shouldDeleteCon = node.shouldDeleteConfigOnRelease) === null || _node$shouldDeleteCon === void 0 ? void 0 : _node$shouldDeleteCon.call(node)) {\n var _getConfigDeletionHan;\n\n nodes.delete(key);\n (_getConfigDeletionHan = getConfigDeletionHandler(key)) === null || _getConfigDeletionHan === void 0 ? void 0 : _getConfigDeletionHan();\n configDeletionHandlers.delete(key);\n }\n}\n\nfunction setConfigDeletionHandler(key, fn) {\n if (!Recoil_gkx_1('recoil_memory_managament_2020')) {\n return;\n }\n\n if (fn === undefined) {\n configDeletionHandlers.delete(key);\n } else {\n configDeletionHandlers.set(key, fn);\n }\n}\n\nfunction getConfigDeletionHandler(key) {\n return configDeletionHandlers.get(key);\n}\n\nvar Recoil_Node = {\n nodes,\n recoilValues,\n registerNode,\n getNode,\n getNodeMaybe,\n deleteNodeConfigIfPossible,\n setConfigDeletionHandler,\n getConfigDeletionHandler,\n recoilValuesForKeys,\n NodeMissingError,\n DefaultValue,\n DEFAULT_VALUE,\n RecoilValueNotReady\n};\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @emails oncall+recoil\n * \n * @format\n */\n\nclass RetentionZone {}\n\nfunction retentionZone() {\n return new RetentionZone();\n}\n\nvar Recoil_RetentionZone = {\n RetentionZone,\n retentionZone\n};\n\nconst {\n setByAddingToSet: setByAddingToSet$1\n} = Recoil_CopyOnWrite;\n\n\n\n\n\n\n\nconst {\n getNode: getNode$1,\n getNodeMaybe: getNodeMaybe$1,\n recoilValuesForKeys: recoilValuesForKeys$1\n} = Recoil_Node;\n\nconst {\n RetentionZone: RetentionZone$1\n} = Recoil_RetentionZone; // flowlint-next-line unclear-type:off\n\n\nconst emptySet = Object.freeze(new Set());\n\nclass ReadOnlyRecoilValueError extends Error {}\n\nfunction initializeRetentionForNode(store, nodeKey, retainedBy) {\n if (!Recoil_gkx_1('recoil_memory_managament_2020')) {\n return () => undefined;\n }\n\n const {\n nodesRetainedByZone\n } = store.getState().retention;\n\n function addToZone(zone) {\n let set = nodesRetainedByZone.get(zone);\n\n if (!set) {\n nodesRetainedByZone.set(zone, set = new Set());\n }\n\n set.add(nodeKey);\n }\n\n if (retainedBy instanceof RetentionZone$1) {\n addToZone(retainedBy);\n } else if (Array.isArray(retainedBy)) {\n for (const zone of retainedBy) {\n addToZone(zone);\n }\n }\n\n return () => {\n if (!Recoil_gkx_1('recoil_memory_managament_2020')) {\n return;\n }\n\n const nodesRetainedByZone = store.getState().retention.nodesRetainedByZone;\n\n function deleteFromZone(zone) {\n const set = nodesRetainedByZone.get(zone);\n\n if (set) {\n set.delete(nodeKey);\n }\n\n if (set && set.size === 0) {\n nodesRetainedByZone.delete(zone);\n }\n }\n\n if (retainedBy instanceof RetentionZone$1) {\n deleteFromZone(retainedBy);\n } else if (Array.isArray(retainedBy)) {\n for (const zone of retainedBy) {\n deleteFromZone(zone);\n }\n }\n };\n}\n\nfunction initializeNodeIfNewToStore(store, treeState, key, trigger) {\n const storeState = store.getState();\n\n if (storeState.nodeCleanupFunctions.has(key)) {\n return;\n }\n\n const config = getNode$1(key);\n const retentionCleanup = initializeRetentionForNode(store, key, config.retainedBy);\n const nodeCleanup = config.init(store, treeState, trigger);\n storeState.nodeCleanupFunctions.set(key, () => {\n nodeCleanup();\n retentionCleanup();\n });\n}\n\nfunction cleanUpNode(store, key) {\n var _state$nodeCleanupFun;\n\n const state = store.getState();\n (_state$nodeCleanupFun = state.nodeCleanupFunctions.get(key)) === null || _state$nodeCleanupFun === void 0 ? void 0 : _state$nodeCleanupFun();\n state.nodeCleanupFunctions.delete(key);\n} // Get the current value loadable of a node and update the state.\n// Update dependencies and subscriptions for selectors.\n// Update saved value validation for atoms.\n\n\nfunction getNodeLoadable(store, state, key) {\n initializeNodeIfNewToStore(store, state, key, 'get');\n return getNode$1(key).get(store, state);\n} // Peek at the current value loadable for a node without any evaluation or state change\n\n\nfunction peekNodeLoadable(store, state, key) {\n return getNode$1(key).peek(store, state);\n} // Write value directly to state bypassing the Node interface as the node\n// definitions may not have been loaded yet when processing the initial snapshot.\n\n\nfunction setUnvalidatedAtomValue_DEPRECATED(state, key, newValue) {\n var _node$invalidate;\n\n const node = getNodeMaybe$1(key);\n node === null || node === void 0 ? void 0 : (_node$invalidate = node.invalidate) === null || _node$invalidate === void 0 ? void 0 : _node$invalidate.call(node, state);\n return { ...state,\n atomValues: state.atomValues.clone().delete(key),\n nonvalidatedAtoms: state.nonvalidatedAtoms.clone().set(key, newValue),\n dirtyAtoms: setByAddingToSet$1(state.dirtyAtoms, key)\n };\n} // Return the discovered dependencies and values to be written by setting\n// a node value. (Multiple values may be written due to selectors getting to\n// set upstreams; deps may be discovered because of reads in updater functions.)\n\n\nfunction setNodeValue(store, state, key, newValue) {\n const node = getNode$1(key);\n\n if (node.set == null) {\n throw new ReadOnlyRecoilValueError(`Attempt to set read-only RecoilValue: ${key}`);\n }\n\n const set = node.set; // so flow doesn't lose the above refinement.\n\n initializeNodeIfNewToStore(store, state, key, 'set');\n return set(store, state, newValue);\n}\n\nfunction peekNodeInfo(store, state, key) {\n var _graph$nodeDeps$get, _storeState$nodeToCom, _storeState$nodeToCom2;\n\n const storeState = store.getState();\n const graph = store.getGraph(state.version);\n const type = storeState.knownAtoms.has(key) ? 'atom' : storeState.knownSelectors.has(key) ? 'selector' : undefined;\n const downstreamNodes = Recoil_filterIterable(getDownstreamNodes(store, state, new Set([key])), nodeKey => nodeKey !== key);\n return {\n loadable: peekNodeLoadable(store, state, key),\n isActive: storeState.knownAtoms.has(key) || storeState.knownSelectors.has(key),\n isSet: type === 'selector' ? false : state.atomValues.has(key),\n isModified: state.dirtyAtoms.has(key),\n type,\n // Report current dependencies. If the node hasn't been evaluated, then\n // dependencies may be missing based on the current state.\n deps: recoilValuesForKeys$1((_graph$nodeDeps$get = graph.nodeDeps.get(key)) !== null && _graph$nodeDeps$get !== void 0 ? _graph$nodeDeps$get : []),\n // Reportsall \"current\" subscribers. Evaluating other nodes or\n // previous in-progress async evaluations may introduce new subscribers.\n subscribers: {\n nodes: recoilValuesForKeys$1(downstreamNodes),\n components: Recoil_mapIterable((_storeState$nodeToCom = (_storeState$nodeToCom2 = storeState.nodeToComponentSubscriptions.get(key)) === null || _storeState$nodeToCom2 === void 0 ? void 0 : _storeState$nodeToCom2.values()) !== null && _storeState$nodeToCom !== void 0 ? _storeState$nodeToCom : [], ([name]) => ({\n name\n }))\n }\n };\n} // Find all of the recursively dependent nodes\n\n\nfunction getDownstreamNodes(store, state, keys) {\n const visitedNodes = new Set();\n const visitingNodes = Array.from(keys);\n const graph = store.getGraph(state.version);\n\n for (let key = visitingNodes.pop(); key; key = visitingNodes.pop()) {\n var _graph$nodeToNodeSubs;\n\n visitedNodes.add(key);\n const subscribedNodes = (_graph$nodeToNodeSubs = graph.nodeToNodeSubscriptions.get(key)) !== null && _graph$nodeToNodeSubs !== void 0 ? _graph$nodeToNodeSubs : emptySet;\n\n for (const downstreamNode of subscribedNodes) {\n if (!visitedNodes.has(downstreamNode)) {\n visitingNodes.push(downstreamNode);\n }\n }\n }\n\n return visitedNodes;\n}\n\nvar Recoil_FunctionalCore = {\n getNodeLoadable,\n peekNodeLoadable,\n setNodeValue,\n cleanUpNode,\n setUnvalidatedAtomValue_DEPRECATED,\n peekNodeInfo,\n getDownstreamNodes,\n initializeNodeIfNewToStore\n};\n\nconst {\n CANCELED: CANCELED$1\n} = Recoil_Loadable;\n\n\n\n\n\nconst {\n getDownstreamNodes: getDownstreamNodes$1,\n getNodeLoadable: getNodeLoadable$1,\n setNodeValue: setNodeValue$1\n} = Recoil_FunctionalCore;\n\nconst {\n getNodeMaybe: getNodeMaybe$2\n} = Recoil_Node;\n\nconst {\n DefaultValue: DefaultValue$1,\n RecoilValueNotReady: RecoilValueNotReady$1\n} = Recoil_Node;\n\nconst {\n AbstractRecoilValue: AbstractRecoilValue$1,\n RecoilState: RecoilState$1,\n RecoilValueReadOnly: RecoilValueReadOnly$1,\n isRecoilValue: isRecoilValue$1\n} = Recoil_RecoilValue$1;\n\nfunction getRecoilValueAsLoadable(store, {\n key\n}, treeState = store.getState().currentTree) {\n var _storeState$nextTree, _storeState$previousT;\n\n // Reading from an older tree can cause bugs because the dependencies that we\n // discover during the read are lost.\n const storeState = store.getState();\n\n if (!(treeState.version === storeState.currentTree.version || treeState.version === ((_storeState$nextTree = storeState.nextTree) === null || _storeState$nextTree === void 0 ? void 0 : _storeState$nextTree.version) || treeState.version === ((_storeState$previousT = storeState.previousTree) === null || _storeState$previousT === void 0 ? void 0 : _storeState$previousT.version))) {\n Recoil_recoverableViolation('Tried to read from a discarded tree');\n }\n\n const loadable = getNodeLoadable$1(store, treeState, key);\n\n if (loadable.state === 'loading') {\n loadable.contents.catch(() => {\n /**\n * HACK: intercept thrown error here to prevent an uncaught promise exception. Ideally this would happen closer to selector\n * execution (perhaps introducing a new ERROR class to be resolved by async selectors that are in an error state)\n */\n return CANCELED$1;\n });\n }\n\n return loadable;\n}\n\nfunction applyAtomValueWrites(atomValues, writes) {\n const result = atomValues.clone();\n writes.forEach((v, k) => {\n if (v.state === 'hasValue' && v.contents instanceof DefaultValue$1) {\n result.delete(k);\n } else {\n result.set(k, v);\n }\n });\n return result;\n}\n\nfunction valueFromValueOrUpdater(store, state, {\n key\n}, valueOrUpdater) {\n if (typeof valueOrUpdater === 'function') {\n // Updater form: pass in the current value. Throw if the current value\n // is unavailable (namely when updating an async selector that's\n // pending or errored):\n const current = getNodeLoadable$1(store, state, key);\n\n if (current.state === 'loading') {\n throw new RecoilValueNotReady$1(key);\n } else if (current.state === 'hasError') {\n throw current.contents;\n } // T itself may be a function, so our refinement is not sufficient:\n\n\n return valueOrUpdater(current.contents); // flowlint-line unclear-type:off\n } else {\n return valueOrUpdater;\n }\n}\n\nfunction applyAction(store, state, action) {\n if (action.type === 'set') {\n const {\n recoilValue,\n valueOrUpdater\n } = action;\n const newValue = valueFromValueOrUpdater(store, state, recoilValue, valueOrUpdater);\n const writes = setNodeValue$1(store, state, recoilValue.key, newValue);\n\n for (const [key, loadable] of writes.entries()) {\n writeLoadableToTreeState(state, key, loadable);\n }\n } else if (action.type === 'setLoadable') {\n const {\n recoilValue: {\n key\n },\n loadable\n } = action;\n writeLoadableToTreeState(state, key, loadable);\n } else if (action.type === 'markModified') {\n const {\n recoilValue: {\n key\n }\n } = action;\n state.dirtyAtoms.add(key);\n } else if (action.type === 'setUnvalidated') {\n var _node$invalidate;\n\n // Write value directly to state bypassing the Node interface as the node\n // definitions may not have been loaded yet when processing the initial snapshot.\n const {\n recoilValue: {\n key\n },\n unvalidatedValue\n } = action;\n const node = getNodeMaybe$2(key);\n node === null || node === void 0 ? void 0 : (_node$invalidate = node.invalidate) === null || _node$invalidate === void 0 ? void 0 : _node$invalidate.call(node, state);\n state.atomValues.delete(key);\n state.nonvalidatedAtoms.set(key, unvalidatedValue);\n state.dirtyAtoms.add(key);\n } else {\n Recoil_recoverableViolation(`Unknown action ${action.type}`);\n }\n}\n\nfunction writeLoadableToTreeState(state, key, loadable) {\n if (loadable.state === 'hasValue' && loadable.contents instanceof DefaultValue$1) {\n state.atomValues.delete(key);\n } else {\n state.atomValues.set(key, loadable);\n }\n\n state.dirtyAtoms.add(key);\n state.nonvalidatedAtoms.delete(key);\n}\n\nfunction applyActionsToStore(store, actions) {\n store.replaceState(state => {\n const newState = copyTreeState(state);\n\n for (const action of actions) {\n applyAction(store, newState, action);\n }\n\n invalidateDownstreams(store, newState);\n return newState;\n });\n}\n\nfunction queueOrPerformStateUpdate(store, action) {\n if (batchStack.length) {\n const actionsByStore = batchStack[batchStack.length - 1];\n let actions = actionsByStore.get(store);\n\n if (!actions) {\n actionsByStore.set(store, actions = []);\n }\n\n actions.push(action);\n } else {\n applyActionsToStore(store, [action]);\n }\n}\n\nconst batchStack = [];\n\nfunction batchStart() {\n const actionsByStore = new Map();\n batchStack.push(actionsByStore);\n return () => {\n for (const [store, actions] of actionsByStore) {\n applyActionsToStore(store, actions);\n }\n\n const popped = batchStack.pop();\n\n if (popped !== actionsByStore) {\n Recoil_recoverableViolation('Incorrect order of batch popping');\n }\n };\n}\n\nfunction copyTreeState(state) {\n return { ...state,\n atomValues: state.atomValues.clone(),\n nonvalidatedAtoms: state.nonvalidatedAtoms.clone(),\n dirtyAtoms: new Set(state.dirtyAtoms)\n };\n}\n\nfunction invalidateDownstreams(store, state) {\n // Inform any nodes that were changed or downstream of changes so that they\n // can clear out any caches as needed due to the update:\n const downstreams = getDownstreamNodes$1(store, state, state.dirtyAtoms);\n\n for (const key of downstreams) {\n var _getNodeMaybe, _getNodeMaybe$invalid;\n\n (_getNodeMaybe = getNodeMaybe$2(key)) === null || _getNodeMaybe === void 0 ? void 0 : (_getNodeMaybe$invalid = _getNodeMaybe.invalidate) === null || _getNodeMaybe$invalid === void 0 ? void 0 : _getNodeMaybe$invalid.call(_getNodeMaybe, state);\n }\n}\n\nfunction setRecoilValue(store, recoilValue, valueOrUpdater) {\n queueOrPerformStateUpdate(store, {\n type: 'set',\n recoilValue,\n valueOrUpdater\n });\n}\n\nfunction setRecoilValueLoadable(store, recoilValue, loadable) {\n if (loadable instanceof DefaultValue$1) {\n return setRecoilValue(store, recoilValue, loadable);\n }\n\n queueOrPerformStateUpdate(store, {\n type: 'setLoadable',\n recoilValue,\n loadable\n });\n}\n\nfunction markRecoilValueModified(store, recoilValue) {\n queueOrPerformStateUpdate(store, {\n type: 'markModified',\n recoilValue\n });\n}\n\nfunction setUnvalidatedRecoilValue(store, recoilValue, unvalidatedValue) {\n queueOrPerformStateUpdate(store, {\n type: 'setUnvalidated',\n recoilValue,\n unvalidatedValue\n });\n}\n\nlet subscriptionID = 0;\n\nfunction subscribeToRecoilValue(store, {\n key\n}, callback, componentDebugName = null) {\n const subID = subscriptionID++;\n const storeState = store.getState();\n\n if (!storeState.nodeToComponentSubscriptions.has(key)) {\n storeState.nodeToComponentSubscriptions.set(key, new Map());\n }\n\n Recoil_nullthrows(storeState.nodeToComponentSubscriptions.get(key)).set(subID, [componentDebugName !== null && componentDebugName !== void 0 ? componentDebugName : '', callback]);\n return {\n release: () => {\n const storeState = store.getState();\n const subs = storeState.nodeToComponentSubscriptions.get(key);\n\n if (subs === undefined || !subs.has(subID)) {\n Recoil_recoverableViolation(`Subscription missing at release time for atom ${key}. This is a bug in Recoil.`);\n return;\n }\n\n subs.delete(subID);\n\n if (subs.size === 0) {\n storeState.nodeToComponentSubscriptions.delete(key);\n }\n }\n };\n}\n\nvar Recoil_RecoilValueInterface = {\n RecoilValueReadOnly: RecoilValueReadOnly$1,\n AbstractRecoilValue: AbstractRecoilValue$1,\n RecoilState: RecoilState$1,\n getRecoilValueAsLoadable,\n setRecoilValue,\n setRecoilValueLoadable,\n markRecoilValueModified,\n setUnvalidatedRecoilValue,\n subscribeToRecoilValue,\n isRecoilValue: isRecoilValue$1,\n applyAtomValueWrites,\n // TODO Remove export when deprecating initialStoreState_DEPRECATED in RecoilRoot\n batchStart,\n invalidateDownstreams_FOR_TESTING: invalidateDownstreams\n};\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @emails oncall+recoil\n * \n * @format\n *\n * This is to export esstiential functions from react-dom\n * for our web build\n */\nconst {\n unstable_batchedUpdates\n} = reactDom;\n\nvar ReactBatchedUpdates = {\n unstable_batchedUpdates\n};\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @emails oncall+recoil\n * \n * @format\n *\n * This is to export esstiential functions from react-dom\n * for our web build\n */\n// @fb-only: const {unstable_batchedUpdates} = require('ReactDOMComet');\nconst {\n unstable_batchedUpdates: unstable_batchedUpdates$1\n} = ReactBatchedUpdates; // @oss-only\n\n\nvar Recoil_ReactBatchedUpdates = {\n unstable_batchedUpdates: unstable_batchedUpdates$1\n};\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @emails oncall+recoil\n * \n * @format\n */\nconst {\n batchStart: batchStart$1\n} = Recoil_RecoilValueInterface;\n\nconst {\n unstable_batchedUpdates: unstable_batchedUpdates$2\n} = Recoil_ReactBatchedUpdates;\n\nlet batcher = unstable_batchedUpdates$2; // flowlint-next-line unclear-type:off\n\n/**\n * Sets the provided batcher function as the batcher function used by Recoil.\n *\n * Set the batcher to a custom batcher for your renderer,\n * if you use a renderer other than React DOM or React Native.\n */\nconst setBatcher = newBatcher => {\n batcher = newBatcher;\n};\n/**\n * Returns the current batcher function.\n */\n\n\nconst getBatcher = () => batcher;\n/**\n * Calls the current batcher function and passes the\n * provided callback function.\n */\n\n\nconst batchUpdates = callback => {\n batcher(() => {\n let batchEnd = () => undefined;\n\n try {\n batchEnd = batchStart$1();\n callback();\n } finally {\n batchEnd();\n }\n });\n};\n\nvar Recoil_Batching = {\n getBatcher,\n setBatcher,\n batchUpdates\n};\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @emails oncall+recoil\n * \n * @format\n */\n\nfunction enqueueExecution(s, f) {\n f();\n}\n\nvar Recoil_Queue = {\n enqueueExecution\n};\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @emails oncall+recoil\n * \n * @format\n */\n/**\n * Returns a set containing all of the values from the first set that are not\n * present in any of the subsequent sets.\n *\n * Note: this is written procedurally (i.e., without filterSet) for performant\n * use in tight loops.\n */\n\nfunction differenceSets(set, ...setsWithValuesToRemove) {\n const ret = new Set();\n\n FIRST: for (const value of set) {\n for (const otherSet of setsWithValuesToRemove) {\n if (otherSet.has(value)) {\n continue FIRST;\n }\n }\n\n ret.add(value);\n }\n\n return ret;\n}\n\nvar Recoil_differenceSets = differenceSets;\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @emails oncall+recoil\n * \n * @format\n */\n/**\n * Returns a new Map object with the same keys as the original, but with the\n * values replaced with the output of the given callback function.\n */\n\nfunction mapMap(map, callback) {\n const result = new Map();\n map.forEach((value, key) => {\n result.set(key, callback(value, key));\n });\n return result;\n}\n\nvar Recoil_mapMap = mapMap;\n\nfunction graph() {\n return {\n nodeDeps: new Map(),\n nodeToNodeSubscriptions: new Map()\n };\n}\n\nfunction cloneGraph(graph) {\n return {\n nodeDeps: Recoil_mapMap(graph.nodeDeps, s => new Set(s)),\n nodeToNodeSubscriptions: Recoil_mapMap(graph.nodeToNodeSubscriptions, s => new Set(s))\n };\n} // Note that this overwrites the deps of existing nodes, rather than unioning\n// the new deps with the old deps.\n\n\nfunction mergeDependencyMapIntoGraph(deps, graph, // If olderGraph is given then we will not overwrite changes made to the given\n// graph compared with olderGraph:\nolderGraph) {\n const {\n nodeDeps,\n nodeToNodeSubscriptions\n } = graph;\n deps.forEach((upstreams, downstream) => {\n const existingUpstreams = nodeDeps.get(downstream);\n\n if (existingUpstreams && olderGraph && existingUpstreams !== olderGraph.nodeDeps.get(downstream)) {\n return;\n } // Update nodeDeps:\n\n\n nodeDeps.set(downstream, new Set(upstreams)); // Add new deps to nodeToNodeSubscriptions:\n\n const addedUpstreams = existingUpstreams == null ? upstreams : Recoil_differenceSets(upstreams, existingUpstreams);\n addedUpstreams.forEach(upstream => {\n if (!nodeToNodeSubscriptions.has(upstream)) {\n nodeToNodeSubscriptions.set(upstream, new Set());\n }\n\n const existing = Recoil_nullthrows(nodeToNodeSubscriptions.get(upstream));\n existing.add(downstream);\n }); // Remove removed deps from nodeToNodeSubscriptions:\n\n if (existingUpstreams) {\n const removedUpstreams = Recoil_differenceSets(existingUpstreams, upstreams);\n removedUpstreams.forEach(upstream => {\n if (!nodeToNodeSubscriptions.has(upstream)) {\n return;\n }\n\n const existing = Recoil_nullthrows(nodeToNodeSubscriptions.get(upstream));\n existing.delete(downstream);\n\n if (existing.size === 0) {\n nodeToNodeSubscriptions.delete(upstream);\n }\n });\n }\n });\n}\n\nfunction saveDependencyMapToStore(dependencyMap, store, version) {\n var _storeState$nextTree, _storeState$previousT, _storeState$previousT2, _storeState$previousT3;\n\n const storeState = store.getState();\n\n if (!(version === storeState.currentTree.version || version === ((_storeState$nextTree = storeState.nextTree) === null || _storeState$nextTree === void 0 ? void 0 : _storeState$nextTree.version) || version === ((_storeState$previousT = storeState.previousTree) === null || _storeState$previousT === void 0 ? void 0 : _storeState$previousT.version))) {\n Recoil_recoverableViolation('Tried to save dependencies to a discarded tree');\n } // Merge the dependencies discovered into the store's dependency map\n // for the version that was read:\n\n\n const graph = store.getGraph(version);\n mergeDependencyMapIntoGraph(dependencyMap, graph); // If this version is not the latest version, also write these dependencies\n // into later versions if they don't already have their own:\n\n if (version === ((_storeState$previousT2 = storeState.previousTree) === null || _storeState$previousT2 === void 0 ? void 0 : _storeState$previousT2.version)) {\n const currentGraph = store.getGraph(storeState.currentTree.version);\n mergeDependencyMapIntoGraph(dependencyMap, currentGraph, graph);\n }\n\n if (version === ((_storeState$previousT3 = storeState.previousTree) === null || _storeState$previousT3 === void 0 ? void 0 : _storeState$previousT3.version) || version === storeState.currentTree.version) {\n var _storeState$nextTree2;\n\n const nextVersion = (_storeState$nextTree2 = storeState.nextTree) === null || _storeState$nextTree2 === void 0 ? void 0 : _storeState$nextTree2.version;\n\n if (nextVersion !== undefined) {\n const nextGraph = store.getGraph(nextVersion);\n mergeDependencyMapIntoGraph(dependencyMap, nextGraph, graph);\n }\n }\n}\n\nfunction mergeDepsIntoDependencyMap(from, into) {\n from.forEach((upstreamDeps, downstreamNode) => {\n if (!into.has(downstreamNode)) {\n into.set(downstreamNode, new Set());\n }\n\n const deps = Recoil_nullthrows(into.get(downstreamNode));\n upstreamDeps.forEach(dep => deps.add(dep));\n });\n}\n\nfunction addToDependencyMap(downstream, upstream, dependencyMap) {\n if (!dependencyMap.has(downstream)) {\n dependencyMap.set(downstream, new Set());\n }\n\n Recoil_nullthrows(dependencyMap.get(downstream)).add(upstream);\n}\n\nvar Recoil_Graph = {\n addToDependencyMap,\n cloneGraph,\n graph,\n mergeDepsIntoDependencyMap,\n saveDependencyMapToStore\n};\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar hamt_1 = createCommonjsModule(function (module) {\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/**\n @fileOverview Hash Array Mapped Trie.\n\n Code based on: https://github.com/exclipy/pdata\n*/\n\n\nvar hamt = {}; // export\n\n/* Configuration\n ******************************************************************************/\n\nvar SIZE = 5;\nvar BUCKET_SIZE = Math.pow(2, SIZE);\nvar MASK = BUCKET_SIZE - 1;\nvar MAX_INDEX_NODE = BUCKET_SIZE / 2;\nvar MIN_ARRAY_NODE = BUCKET_SIZE / 4;\n/*\n ******************************************************************************/\n\nvar nothing = {};\n\nvar constant = function constant(x) {\n return function () {\n return x;\n };\n};\n/**\n Get 32 bit hash of string.\n\n Based on:\n http://stackoverflow.com/questions/7616461/generate-a-hash-from-string-in-javascript-jquery\n*/\n\n\nvar hash = hamt.hash = function (str) {\n var type = typeof str === 'undefined' ? 'undefined' : _typeof(str);\n if (type === 'number') return str;\n if (type !== 'string') str += '';\n var hash = 0;\n\n for (var i = 0, len = str.length; i < len; ++i) {\n var c = str.charCodeAt(i);\n hash = (hash << 5) - hash + c | 0;\n }\n\n return hash;\n};\n/* Bit Ops\n ******************************************************************************/\n\n/**\n Hamming weight.\n\n Taken from: http://jsperf.com/hamming-weight\n*/\n\n\nvar popcount = function popcount(x) {\n x -= x >> 1 & 0x55555555;\n x = (x & 0x33333333) + (x >> 2 & 0x33333333);\n x = x + (x >> 4) & 0x0f0f0f0f;\n x += x >> 8;\n x += x >> 16;\n return x & 0x7f;\n};\n\nvar hashFragment = function hashFragment(shift, h) {\n return h >>> shift & MASK;\n};\n\nvar toBitmap = function toBitmap(x) {\n return 1 << x;\n};\n\nvar fromBitmap = function fromBitmap(bitmap, bit) {\n return popcount(bitmap & bit - 1);\n};\n/* Array Ops\n ******************************************************************************/\n\n/**\n Set a value in an array.\n\n @param mutate Should the input array be mutated?\n @param at Index to change.\n @param v New value\n @param arr Array.\n*/\n\n\nvar arrayUpdate = function arrayUpdate(mutate, at, v, arr) {\n var out = arr;\n\n if (!mutate) {\n var len = arr.length;\n out = new Array(len);\n\n for (var i = 0; i < len; ++i) {\n out[i] = arr[i];\n }\n }\n\n out[at] = v;\n return out;\n};\n/**\n Remove a value from an array.\n\n @param mutate Should the input array be mutated?\n @param at Index to remove.\n @param arr Array.\n*/\n\n\nvar arraySpliceOut = function arraySpliceOut(mutate, at, arr) {\n var newLen = arr.length - 1;\n var i = 0;\n var g = 0;\n var out = arr;\n\n if (mutate) {\n i = g = at;\n } else {\n out = new Array(newLen);\n\n while (i < at) {\n out[g++] = arr[i++];\n }\n }\n\n ++i;\n\n while (i <= newLen) {\n out[g++] = arr[i++];\n }\n\n if (mutate) {\n out.length = newLen;\n }\n\n return out;\n};\n/**\n Insert a value into an array.\n\n @param mutate Should the input array be mutated?\n @param at Index to insert at.\n @param v Value to insert,\n @param arr Array.\n*/\n\n\nvar arraySpliceIn = function arraySpliceIn(mutate, at, v, arr) {\n var len = arr.length;\n\n if (mutate) {\n var _i = len;\n\n while (_i >= at) {\n arr[_i--] = arr[_i];\n }\n\n arr[at] = v;\n return arr;\n }\n\n var i = 0,\n g = 0;\n var out = new Array(len + 1);\n\n while (i < at) {\n out[g++] = arr[i++];\n }\n\n out[at] = v;\n\n while (i < len) {\n out[++g] = arr[i++];\n }\n\n return out;\n};\n/* Node Structures\n ******************************************************************************/\n\n\nvar LEAF = 1;\nvar COLLISION = 2;\nvar INDEX = 3;\nvar ARRAY = 4;\n/**\n Empty node.\n*/\n\nvar empty = {\n __hamt_isEmpty: true\n};\n\nvar isEmptyNode = function isEmptyNode(x) {\n return x === empty || x && x.__hamt_isEmpty;\n};\n/**\n Leaf holding a value.\n\n @member edit Edit of the node.\n @member hash Hash of key.\n @member key Key.\n @member value Value stored.\n*/\n\n\nvar Leaf = function Leaf(edit, hash, key, value) {\n return {\n type: LEAF,\n edit: edit,\n hash: hash,\n key: key,\n value: value,\n _modify: Leaf__modify\n };\n};\n/**\n Leaf holding multiple values with the same hash but different keys.\n\n @member edit Edit of the node.\n @member hash Hash of key.\n @member children Array of collision children node.\n*/\n\n\nvar Collision = function Collision(edit, hash, children) {\n return {\n type: COLLISION,\n edit: edit,\n hash: hash,\n children: children,\n _modify: Collision__modify\n };\n};\n/**\n Internal node with a sparse set of children.\n\n Uses a bitmap and array to pack children.\n\n @member edit Edit of the node.\n @member mask Bitmap that encode the positions of children in the array.\n @member children Array of child nodes.\n*/\n\n\nvar IndexedNode = function IndexedNode(edit, mask, children) {\n return {\n type: INDEX,\n edit: edit,\n mask: mask,\n children: children,\n _modify: IndexedNode__modify\n };\n};\n/**\n Internal node with many children.\n\n @member edit Edit of the node.\n @member size Number of children.\n @member children Array of child nodes.\n*/\n\n\nvar ArrayNode = function ArrayNode(edit, size, children) {\n return {\n type: ARRAY,\n edit: edit,\n size: size,\n children: children,\n _modify: ArrayNode__modify\n };\n};\n/**\n Is `node` a leaf node?\n*/\n\n\nvar isLeaf = function isLeaf(node) {\n return node === empty || node.type === LEAF || node.type === COLLISION;\n};\n/* Internal node operations.\n ******************************************************************************/\n\n/**\n Expand an indexed node into an array node.\n\n @param edit Current edit.\n @param frag Index of added child.\n @param child Added child.\n @param mask Index node mask before child added.\n @param subNodes Index node children before child added.\n*/\n\n\nvar expand = function expand(edit, frag, child, bitmap, subNodes) {\n var arr = [];\n var bit = bitmap;\n var count = 0;\n\n for (var i = 0; bit; ++i) {\n if (bit & 1) arr[i] = subNodes[count++];\n bit >>>= 1;\n }\n\n arr[frag] = child;\n return ArrayNode(edit, count + 1, arr);\n};\n/**\n Collapse an array node into a indexed node.\n\n @param edit Current edit.\n @param count Number of elements in new array.\n @param removed Index of removed element.\n @param elements Array node children before remove.\n*/\n\n\nvar pack = function pack(edit, count, removed, elements) {\n var children = new Array(count - 1);\n var g = 0;\n var bitmap = 0;\n\n for (var i = 0, len = elements.length; i < len; ++i) {\n if (i !== removed) {\n var elem = elements[i];\n\n if (elem && !isEmptyNode(elem)) {\n children[g++] = elem;\n bitmap |= 1 << i;\n }\n }\n }\n\n return IndexedNode(edit, bitmap, children);\n};\n/**\n Merge two leaf nodes.\n\n @param shift Current shift.\n @param h1 Node 1 hash.\n @param n1 Node 1.\n @param h2 Node 2 hash.\n @param n2 Node 2.\n*/\n\n\nvar mergeLeaves = function mergeLeaves(edit, shift, h1, n1, h2, n2) {\n if (h1 === h2) return Collision(edit, h1, [n2, n1]);\n var subH1 = hashFragment(shift, h1);\n var subH2 = hashFragment(shift, h2);\n return IndexedNode(edit, toBitmap(subH1) | toBitmap(subH2), subH1 === subH2 ? [mergeLeaves(edit, shift + SIZE, h1, n1, h2, n2)] : subH1 < subH2 ? [n1, n2] : [n2, n1]);\n};\n/**\n Update an entry in a collision list.\n\n @param mutate Should mutation be used?\n @param edit Current edit.\n @param keyEq Key compare function.\n @param hash Hash of collision.\n @param list Collision list.\n @param f Update function.\n @param k Key to update.\n @param size Size ref.\n*/\n\n\nvar updateCollisionList = function updateCollisionList(mutate, edit, keyEq, h, list, f, k, size) {\n var len = list.length;\n\n for (var i = 0; i < len; ++i) {\n var child = list[i];\n\n if (keyEq(k, child.key)) {\n var value = child.value;\n\n var _newValue = f(value);\n\n if (_newValue === value) return list;\n\n if (_newValue === nothing) {\n --size.value;\n return arraySpliceOut(mutate, i, list);\n }\n\n return arrayUpdate(mutate, i, Leaf(edit, h, k, _newValue), list);\n }\n }\n\n var newValue = f();\n if (newValue === nothing) return list;\n ++size.value;\n return arrayUpdate(mutate, len, Leaf(edit, h, k, newValue), list);\n};\n\nvar canEditNode = function canEditNode(edit, node) {\n return edit === node.edit;\n};\n/* Editing\n ******************************************************************************/\n\n\nvar Leaf__modify = function Leaf__modify(edit, keyEq, shift, f, h, k, size) {\n if (keyEq(k, this.key)) {\n var _v = f(this.value);\n\n if (_v === this.value) return this;else if (_v === nothing) {\n --size.value;\n return empty;\n }\n\n if (canEditNode(edit, this)) {\n this.value = _v;\n return this;\n }\n\n return Leaf(edit, h, k, _v);\n }\n\n var v = f();\n if (v === nothing) return this;\n ++size.value;\n return mergeLeaves(edit, shift, this.hash, this, h, Leaf(edit, h, k, v));\n};\n\nvar Collision__modify = function Collision__modify(edit, keyEq, shift, f, h, k, size) {\n if (h === this.hash) {\n var canEdit = canEditNode(edit, this);\n var list = updateCollisionList(canEdit, edit, keyEq, this.hash, this.children, f, k, size);\n if (list === this.children) return this;\n return list.length > 1 ? Collision(edit, this.hash, list) : list[0]; // collapse single element collision list\n }\n\n var v = f();\n if (v === nothing) return this;\n ++size.value;\n return mergeLeaves(edit, shift, this.hash, this, h, Leaf(edit, h, k, v));\n};\n\nvar IndexedNode__modify = function IndexedNode__modify(edit, keyEq, shift, f, h, k, size) {\n var mask = this.mask;\n var children = this.children;\n var frag = hashFragment(shift, h);\n var bit = toBitmap(frag);\n var indx = fromBitmap(mask, bit);\n var exists = mask & bit;\n var current = exists ? children[indx] : empty;\n\n var child = current._modify(edit, keyEq, shift + SIZE, f, h, k, size);\n\n if (current === child) return this;\n var canEdit = canEditNode(edit, this);\n var bitmap = mask;\n var newChildren = void 0;\n\n if (exists && isEmptyNode(child)) {\n // remove\n bitmap &= ~bit;\n if (!bitmap) return empty;\n if (children.length <= 2 && isLeaf(children[indx ^ 1])) return children[indx ^ 1]; // collapse\n\n newChildren = arraySpliceOut(canEdit, indx, children);\n } else if (!exists && !isEmptyNode(child)) {\n // add\n if (children.length >= MAX_INDEX_NODE) return expand(edit, frag, child, mask, children);\n bitmap |= bit;\n newChildren = arraySpliceIn(canEdit, indx, child, children);\n } else {\n // modify\n newChildren = arrayUpdate(canEdit, indx, child, children);\n }\n\n if (canEdit) {\n this.mask = bitmap;\n this.children = newChildren;\n return this;\n }\n\n return IndexedNode(edit, bitmap, newChildren);\n};\n\nvar ArrayNode__modify = function ArrayNode__modify(edit, keyEq, shift, f, h, k, size) {\n var count = this.size;\n var children = this.children;\n var frag = hashFragment(shift, h);\n var child = children[frag];\n\n var newChild = (child || empty)._modify(edit, keyEq, shift + SIZE, f, h, k, size);\n\n if (child === newChild) return this;\n var canEdit = canEditNode(edit, this);\n var newChildren = void 0;\n\n if (isEmptyNode(child) && !isEmptyNode(newChild)) {\n // add\n ++count;\n newChildren = arrayUpdate(canEdit, frag, newChild, children);\n } else if (!isEmptyNode(child) && isEmptyNode(newChild)) {\n // remove\n --count;\n if (count <= MIN_ARRAY_NODE) return pack(edit, count, frag, children);\n newChildren = arrayUpdate(canEdit, frag, empty, children);\n } else {\n // modify\n newChildren = arrayUpdate(canEdit, frag, newChild, children);\n }\n\n if (canEdit) {\n this.size = count;\n this.children = newChildren;\n return this;\n }\n\n return ArrayNode(edit, count, newChildren);\n};\n\nempty._modify = function (edit, keyEq, shift, f, h, k, size) {\n var v = f();\n if (v === nothing) return empty;\n ++size.value;\n return Leaf(edit, h, k, v);\n};\n/*\n ******************************************************************************/\n\n\nfunction Map(editable, edit, config, root, size) {\n this._editable = editable;\n this._edit = edit;\n this._config = config;\n this._root = root;\n this._size = size;\n}\n\nMap.prototype.setTree = function (newRoot, newSize) {\n if (this._editable) {\n this._root = newRoot;\n this._size = newSize;\n return this;\n }\n\n return newRoot === this._root ? this : new Map(this._editable, this._edit, this._config, newRoot, newSize);\n};\n/* Queries\n ******************************************************************************/\n\n/**\n Lookup the value for `key` in `map` using a custom `hash`.\n\n Returns the value or `alt` if none.\n*/\n\n\nvar tryGetHash = hamt.tryGetHash = function (alt, hash, key, map) {\n var node = map._root;\n var shift = 0;\n var keyEq = map._config.keyEq;\n\n while (true) {\n switch (node.type) {\n case LEAF:\n {\n return keyEq(key, node.key) ? node.value : alt;\n }\n\n case COLLISION:\n {\n if (hash === node.hash) {\n var children = node.children;\n\n for (var i = 0, len = children.length; i < len; ++i) {\n var child = children[i];\n if (keyEq(key, child.key)) return child.value;\n }\n }\n\n return alt;\n }\n\n case INDEX:\n {\n var frag = hashFragment(shift, hash);\n var bit = toBitmap(frag);\n\n if (node.mask & bit) {\n node = node.children[fromBitmap(node.mask, bit)];\n shift += SIZE;\n break;\n }\n\n return alt;\n }\n\n case ARRAY:\n {\n node = node.children[hashFragment(shift, hash)];\n\n if (node) {\n shift += SIZE;\n break;\n }\n\n return alt;\n }\n\n default:\n return alt;\n }\n }\n};\n\nMap.prototype.tryGetHash = function (alt, hash, key) {\n return tryGetHash(alt, hash, key, this);\n};\n/**\n Lookup the value for `key` in `map` using internal hash function.\n\n @see `tryGetHash`\n*/\n\n\nvar tryGet = hamt.tryGet = function (alt, key, map) {\n return tryGetHash(alt, map._config.hash(key), key, map);\n};\n\nMap.prototype.tryGet = function (alt, key) {\n return tryGet(alt, key, this);\n};\n/**\n Lookup the value for `key` in `map` using a custom `hash`.\n\n Returns the value or `undefined` if none.\n*/\n\n\nvar getHash = hamt.getHash = function (hash, key, map) {\n return tryGetHash(undefined, hash, key, map);\n};\n\nMap.prototype.getHash = function (hash, key) {\n return getHash(hash, key, this);\n};\n/**\n Lookup the value for `key` in `map` using internal hash function.\n\n @see `get`\n*/\n\n\nvar get = hamt.get = function (key, map) {\n return tryGetHash(undefined, map._config.hash(key), key, map);\n};\n\nMap.prototype.get = function (key, alt) {\n return tryGet(alt, key, this);\n};\n/**\n Does an entry exist for `key` in `map`? Uses custom `hash`.\n*/\n\n\nvar hasHash = hamt.has = function (hash, key, map) {\n return tryGetHash(nothing, hash, key, map) !== nothing;\n};\n\nMap.prototype.hasHash = function (hash, key) {\n return hasHash(hash, key, this);\n};\n/**\n Does an entry exist for `key` in `map`? Uses internal hash function.\n*/\n\n\nvar has = hamt.has = function (key, map) {\n return hasHash(map._config.hash(key), key, map);\n};\n\nMap.prototype.has = function (key) {\n return has(key, this);\n};\n\nvar defKeyCompare = function defKeyCompare(x, y) {\n return x === y;\n};\n/**\n Create an empty map.\n\n @param config Configuration.\n*/\n\n\nhamt.make = function (config) {\n return new Map(0, 0, {\n keyEq: config && config.keyEq || defKeyCompare,\n hash: config && config.hash || hash\n }, empty, 0);\n};\n/**\n Empty map.\n*/\n\n\nhamt.empty = hamt.make();\n/**\n Does `map` contain any elements?\n*/\n\nvar isEmpty = hamt.isEmpty = function (map) {\n return map && !!isEmptyNode(map._root);\n};\n\nMap.prototype.isEmpty = function () {\n return isEmpty(this);\n};\n/* Updates\n ******************************************************************************/\n\n/**\n Alter the value stored for `key` in `map` using function `f` using\n custom hash.\n\n `f` is invoked with the current value for `k` if it exists,\n or no arguments if no such value exists. `modify` will always either\n update or insert a value into the map.\n\n Returns a map with the modified value. Does not alter `map`.\n*/\n\n\nvar modifyHash = hamt.modifyHash = function (f, hash, key, map) {\n var size = {\n value: map._size\n };\n\n var newRoot = map._root._modify(map._editable ? map._edit : NaN, map._config.keyEq, 0, f, hash, key, size);\n\n return map.setTree(newRoot, size.value);\n};\n\nMap.prototype.modifyHash = function (hash, key, f) {\n return modifyHash(f, hash, key, this);\n};\n/**\n Alter the value stored for `key` in `map` using function `f` using\n internal hash function.\n\n @see `modifyHash`\n*/\n\n\nvar modify = hamt.modify = function (f, key, map) {\n return modifyHash(f, map._config.hash(key), key, map);\n};\n\nMap.prototype.modify = function (key, f) {\n return modify(f, key, this);\n};\n/**\n Store `value` for `key` in `map` using custom `hash`.\n\n Returns a map with the modified value. Does not alter `map`.\n*/\n\n\nvar setHash = hamt.setHash = function (hash, key, value, map) {\n return modifyHash(constant(value), hash, key, map);\n};\n\nMap.prototype.setHash = function (hash, key, value) {\n return setHash(hash, key, value, this);\n};\n/**\n Store `value` for `key` in `map` using internal hash function.\n\n @see `setHash`\n*/\n\n\nvar set = hamt.set = function (key, value, map) {\n return setHash(map._config.hash(key), key, value, map);\n};\n\nMap.prototype.set = function (key, value) {\n return set(key, value, this);\n};\n/**\n Remove the entry for `key` in `map`.\n\n Returns a map with the value removed. Does not alter `map`.\n*/\n\n\nvar del = constant(nothing);\n\nvar removeHash = hamt.removeHash = function (hash, key, map) {\n return modifyHash(del, hash, key, map);\n};\n\nMap.prototype.removeHash = Map.prototype.deleteHash = function (hash, key) {\n return removeHash(hash, key, this);\n};\n/**\n Remove the entry for `key` in `map` using internal hash function.\n\n @see `removeHash`\n*/\n\n\nvar remove = hamt.remove = function (key, map) {\n return removeHash(map._config.hash(key), key, map);\n};\n\nMap.prototype.remove = Map.prototype.delete = function (key) {\n return remove(key, this);\n};\n/* Mutation\n ******************************************************************************/\n\n/**\n Mark `map` as mutable.\n */\n\n\nvar beginMutation = hamt.beginMutation = function (map) {\n return new Map(map._editable + 1, map._edit + 1, map._config, map._root, map._size);\n};\n\nMap.prototype.beginMutation = function () {\n return beginMutation(this);\n};\n/**\n Mark `map` as immutable.\n */\n\n\nvar endMutation = hamt.endMutation = function (map) {\n map._editable = map._editable && map._editable - 1;\n return map;\n};\n\nMap.prototype.endMutation = function () {\n return endMutation(this);\n};\n/**\n Mutate `map` within the context of `f`.\n @param f\n @param map HAMT\n*/\n\n\nvar mutate = hamt.mutate = function (f, map) {\n var transient = beginMutation(map);\n f(transient);\n return endMutation(transient);\n};\n\nMap.prototype.mutate = function (f) {\n return mutate(f, this);\n};\n/* Traversal\n ******************************************************************************/\n\n/**\n Apply a continuation.\n*/\n\n\nvar appk = function appk(k) {\n return k && lazyVisitChildren(k[0], k[1], k[2], k[3], k[4]);\n};\n/**\n Recursively visit all values stored in an array of nodes lazily.\n*/\n\n\nvar lazyVisitChildren = function lazyVisitChildren(len, children, i, f, k) {\n while (i < len) {\n var child = children[i++];\n if (child && !isEmptyNode(child)) return lazyVisit(child, f, [len, children, i, f, k]);\n }\n\n return appk(k);\n};\n/**\n Recursively visit all values stored in `node` lazily.\n*/\n\n\nvar lazyVisit = function lazyVisit(node, f, k) {\n switch (node.type) {\n case LEAF:\n return {\n value: f(node),\n rest: k\n };\n\n case COLLISION:\n case ARRAY:\n case INDEX:\n var children = node.children;\n return lazyVisitChildren(children.length, children, 0, f, k);\n\n default:\n return appk(k);\n }\n};\n\nvar DONE = {\n done: true\n};\n/**\n Javascript iterator over a map.\n*/\n\nfunction MapIterator(v) {\n this.v = v;\n}\n\nMapIterator.prototype.next = function () {\n if (!this.v) return DONE;\n var v0 = this.v;\n this.v = appk(v0.rest);\n return v0;\n};\n\nMapIterator.prototype[Symbol.iterator] = function () {\n return this;\n};\n/**\n Lazily visit each value in map with function `f`.\n*/\n\n\nvar visit = function visit(map, f) {\n return new MapIterator(lazyVisit(map._root, f));\n};\n/**\n Get a Javascsript iterator of `map`.\n\n Iterates over `[key, value]` arrays.\n*/\n\n\nvar buildPairs = function buildPairs(x) {\n return [x.key, x.value];\n};\n\nvar entries = hamt.entries = function (map) {\n return visit(map, buildPairs);\n};\n\nMap.prototype.entries = Map.prototype[Symbol.iterator] = function () {\n return entries(this);\n};\n/**\n Get array of all keys in `map`.\n\n Order is not guaranteed.\n*/\n\n\nvar buildKeys = function buildKeys(x) {\n return x.key;\n};\n\nvar keys = hamt.keys = function (map) {\n return visit(map, buildKeys);\n};\n\nMap.prototype.keys = function () {\n return keys(this);\n};\n/**\n Get array of all values in `map`.\n\n Order is not guaranteed, duplicates are preserved.\n*/\n\n\nvar buildValues = function buildValues(x) {\n return x.value;\n};\n\nvar values = hamt.values = Map.prototype.values = function (map) {\n return visit(map, buildValues);\n};\n\nMap.prototype.values = function () {\n return values(this);\n};\n/* Fold\n ******************************************************************************/\n\n/**\n Visit every entry in the map, aggregating data.\n\n Order of nodes is not guaranteed.\n\n @param f Function mapping accumulated value, value, and key to new value.\n @param z Starting value.\n @param m HAMT\n*/\n\n\nvar fold = hamt.fold = function (f, z, m) {\n var root = m._root;\n if (root.type === LEAF) return f(z, root.value, root.key);\n var toVisit = [root.children];\n var children = void 0;\n\n while (children = toVisit.pop()) {\n for (var i = 0, len = children.length; i < len;) {\n var child = children[i++];\n\n if (child && child.type) {\n if (child.type === LEAF) z = f(z, child.value, child.key);else toVisit.push(child.children);\n }\n }\n }\n\n return z;\n};\n\nMap.prototype.fold = function (f, z) {\n return fold(f, z, this);\n};\n/**\n Visit every entry in the map, aggregating data.\n\n Order of nodes is not guaranteed.\n\n @param f Function invoked with value and key\n @param map HAMT\n*/\n\n\nvar forEach = hamt.forEach = function (f, map) {\n return fold(function (_, value, key) {\n return f(value, key, map);\n }, null, map);\n};\n\nMap.prototype.forEach = function (f) {\n return forEach(f, this);\n};\n/* Aggregate\n ******************************************************************************/\n\n/**\n Get the number of entries in `map`.\n*/\n\n\nvar count = hamt.count = function (map) {\n return map._size;\n};\n\nMap.prototype.count = function () {\n return count(this);\n};\n\nObject.defineProperty(Map.prototype, 'size', {\n get: Map.prototype.count\n});\n/* Export\n ******************************************************************************/\n\nif ( module.exports) {\n module.exports = hamt;\n} else {\n undefined.hamt = hamt;\n}\n});\n\nclass BuiltInMap {\n constructor(existing) {\n _defineProperty(this, \"_map\", void 0);\n\n this._map = new Map(existing === null || existing === void 0 ? void 0 : existing.entries());\n }\n\n keys() {\n return this._map.keys();\n }\n\n entries() {\n return this._map.entries();\n }\n\n get(k) {\n return this._map.get(k);\n }\n\n has(k) {\n return this._map.has(k);\n }\n\n set(k, v) {\n this._map.set(k, v);\n\n return this;\n }\n\n delete(k) {\n this._map.delete(k);\n\n return this;\n }\n\n clone() {\n return persistentMap(this);\n }\n\n toMap() {\n return new Map(this._map);\n }\n\n}\n\nclass HashArrayMappedTrieMap {\n // Because hamt.empty is not a function there is no way to introduce type\n // parameters on it, so empty is typed as HAMTPlusMap.\n // flowlint-next-line unclear-type:off\n constructor(existing) {\n _defineProperty(this, \"_hamt\", hamt_1.empty.beginMutation());\n\n if (existing instanceof HashArrayMappedTrieMap) {\n const h = existing._hamt.endMutation();\n\n existing._hamt = h.beginMutation();\n this._hamt = h.beginMutation();\n } else if (existing) {\n for (const [k, v] of existing.entries()) {\n this._hamt.set(k, v);\n }\n }\n }\n\n keys() {\n return this._hamt.keys();\n }\n\n entries() {\n return this._hamt.entries();\n }\n\n get(k) {\n return this._hamt.get(k);\n }\n\n has(k) {\n return this._hamt.has(k);\n }\n\n set(k, v) {\n this._hamt.set(k, v);\n\n return this;\n }\n\n delete(k) {\n this._hamt.delete(k);\n\n return this;\n }\n\n clone() {\n return persistentMap(this);\n }\n\n toMap() {\n return new Map(this._hamt);\n }\n\n}\n\nfunction persistentMap(existing) {\n if (Recoil_gkx_1('recoil_hamt_2020')) {\n return new HashArrayMappedTrieMap(existing);\n } else {\n return new BuiltInMap(existing);\n }\n}\n\nvar Recoil_PersistentMap = {\n persistentMap\n};\n\nvar Recoil_PersistentMap_1 = Recoil_PersistentMap.persistentMap;\n\nvar Recoil_PersistentMap$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n persistentMap: Recoil_PersistentMap_1\n});\n\nconst {\n graph: graph$1\n} = Recoil_Graph;\n\nconst {\n persistentMap: persistentMap$1\n} = Recoil_PersistentMap$1; // flowlint-next-line unclear-type:off\n\n\nlet nextTreeStateVersion = 0;\n\nconst getNextTreeStateVersion = () => nextTreeStateVersion++;\n\nfunction makeEmptyTreeState() {\n const version = getNextTreeStateVersion();\n return {\n version,\n stateID: version,\n transactionMetadata: {},\n dirtyAtoms: new Set(),\n atomValues: persistentMap$1(),\n nonvalidatedAtoms: persistentMap$1()\n };\n}\n\nfunction makeEmptyStoreState() {\n const currentTree = makeEmptyTreeState();\n return {\n currentTree,\n nextTree: null,\n previousTree: null,\n commitDepth: 0,\n knownAtoms: new Set(),\n knownSelectors: new Set(),\n transactionSubscriptions: new Map(),\n nodeTransactionSubscriptions: new Map(),\n nodeToComponentSubscriptions: new Map(),\n queuedComponentCallbacks_DEPRECATED: [],\n suspendedComponentResolvers: new Set(),\n graphsByVersion: new Map().set(currentTree.version, graph$1()),\n versionsUsedByComponent: new Map(),\n retention: {\n referenceCounts: new Map(),\n nodesRetainedByZone: new Map(),\n retainablesToCheckForRelease: new Set()\n },\n nodeCleanupFunctions: new Map()\n };\n}\n\nvar Recoil_State = {\n makeEmptyTreeState,\n makeEmptyStoreState,\n getNextTreeStateVersion\n};\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @emails oncall+recoil\n * \n * @format\n */\n\nfunction unionSets(...sets) {\n const result = new Set();\n\n for (const set of sets) {\n for (const value of set) {\n result.add(value);\n }\n }\n\n return result;\n}\n\nvar Recoil_unionSets = unionSets;\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @emails oncall+recoil\n * \n * @format\n */\n/**\n * The someSet() method tests whether some elements in the given Set pass the\n * test implemented by the provided function.\n */\n\nfunction someSet(set, callback, context) {\n const iterator = set.entries();\n let current = iterator.next();\n\n while (!current.done) {\n const entry = current.value;\n\n if (callback.call(context, entry[1], entry[0], set)) {\n return true;\n }\n\n current = iterator.next();\n }\n\n return false;\n}\n\nvar Recoil_someSet = someSet;\n\nconst {\n cleanUpNode: cleanUpNode$1\n} = Recoil_FunctionalCore;\n\nconst {\n deleteNodeConfigIfPossible: deleteNodeConfigIfPossible$1,\n getNode: getNode$2\n} = Recoil_Node;\n\nconst {\n RetentionZone: RetentionZone$2\n} = Recoil_RetentionZone;\n\nconst emptySet$1 = new Set();\n\nfunction releaseRetainablesNowOnCurrentTree(store, retainables) {\n const storeState = store.getState();\n const treeState = storeState.currentTree;\n\n if (storeState.nextTree) {\n Recoil_recoverableViolation('releaseNodesNowOnCurrentTree should only be called at the end of a batch');\n return; // leak memory rather than erase something that's about to be used.\n }\n\n const nodes = new Set();\n\n for (const r of retainables) {\n if (r instanceof RetentionZone$2) {\n for (const n of nodesRetainedByZone(storeState, r)) {\n nodes.add(n);\n }\n } else {\n nodes.add(r);\n }\n }\n\n const releasableNodes = findReleasableNodes(store, nodes);\n\n for (const node of releasableNodes) {\n releaseNode(store, treeState, node);\n }\n}\n\nfunction findReleasableNodes(store, searchFromNodes) {\n const storeState = store.getState();\n const treeState = storeState.currentTree;\n const graph = store.getGraph(treeState.version);\n const releasableNodes = new Set(); // mutated to collect answer\n\n const nonReleasableNodes = new Set();\n findReleasableNodesInner(searchFromNodes);\n return releasableNodes;\n\n function findReleasableNodesInner(searchFromNodes) {\n const releasableNodesFoundThisIteration = new Set();\n const downstreams = getDownstreamNodesInTopologicalOrder(store, treeState, searchFromNodes, releasableNodes, // don't descend into these\n nonReleasableNodes // don't descend into these\n ); // Find which of the downstream nodes are releasable and which are not:\n\n for (const node of downstreams) {\n var _storeState$retention;\n\n // Not releasable if configured to be retained forever:\n if (getNode$2(node).retainedBy === 'recoilRoot') {\n nonReleasableNodes.add(node);\n continue;\n } // Not releasable if retained directly by a component:\n\n\n if (((_storeState$retention = storeState.retention.referenceCounts.get(node)) !== null && _storeState$retention !== void 0 ? _storeState$retention : 0) > 0) {\n nonReleasableNodes.add(node);\n continue;\n } // Not releasable if retained by a zone:\n\n\n if (zonesThatCouldRetainNode(node).some(z => storeState.retention.referenceCounts.get(z))) {\n nonReleasableNodes.add(node);\n continue;\n } // Not releasable if it has a non-releasable child (which will already be in\n // nonReleasableNodes because we are going in topological order):\n\n\n const nodeChildren = graph.nodeToNodeSubscriptions.get(node);\n\n if (nodeChildren && Recoil_someSet(nodeChildren, child => nonReleasableNodes.has(child))) {\n nonReleasableNodes.add(node);\n continue;\n }\n\n releasableNodes.add(node);\n releasableNodesFoundThisIteration.add(node);\n } // If we found any releasable nodes, we need to walk UP from those nodes to\n // find whether their parents can now be released as well:\n\n\n const parents = new Set();\n\n for (const node of releasableNodesFoundThisIteration) {\n for (const parent of (_graph$nodeDeps$get = graph.nodeDeps.get(node)) !== null && _graph$nodeDeps$get !== void 0 ? _graph$nodeDeps$get : emptySet$1) {\n var _graph$nodeDeps$get;\n\n if (!releasableNodes.has(parent)) {\n parents.add(parent);\n }\n }\n }\n\n if (parents.size) {\n findReleasableNodesInner(parents);\n }\n }\n} // Children before parents\n\n\nfunction getDownstreamNodesInTopologicalOrder(store, treeState, nodes, // Mutable set is destroyed in place\ndoNotDescendInto1, doNotDescendInto2) {\n const graph = store.getGraph(treeState.version);\n const answer = [];\n const visited = new Set();\n\n while (nodes.size > 0) {\n visit(Recoil_nullthrows(nodes.values().next().value));\n }\n\n return answer;\n\n function visit(node) {\n if (doNotDescendInto1.has(node) || doNotDescendInto2.has(node)) {\n nodes.delete(node);\n return;\n }\n\n if (visited.has(node)) {\n return;\n }\n\n const children = graph.nodeToNodeSubscriptions.get(node);\n\n if (children) {\n for (const child of children) {\n visit(child);\n }\n }\n\n visited.add(node);\n nodes.delete(node);\n answer.push(node);\n }\n}\n\nfunction releaseNode(store, treeState, node) {\n if (!Recoil_gkx_1('recoil_memory_managament_2020')) {\n return;\n } // Atom effects, in-closure caches, etc.:\n\n\n cleanUpNode$1(store, node); // Delete from store state:\n\n const storeState = store.getState();\n storeState.knownAtoms.delete(node);\n storeState.knownSelectors.delete(node);\n storeState.nodeTransactionSubscriptions.delete(node);\n storeState.retention.referenceCounts.delete(node);\n const zones = zonesThatCouldRetainNode(node);\n\n for (const zone of zones) {\n var _storeState$retention2;\n\n (_storeState$retention2 = storeState.retention.nodesRetainedByZone.get(zone)) === null || _storeState$retention2 === void 0 ? void 0 : _storeState$retention2.delete(node);\n } // Note that we DO NOT delete from nodeToComponentSubscriptions because this\n // already happens when the last component that was retaining the node unmounts,\n // and this could happen either before or after that.\n // Delete from TreeState and dep graph:\n\n\n treeState.atomValues.delete(node);\n treeState.dirtyAtoms.delete(node);\n treeState.nonvalidatedAtoms.delete(node);\n const graph = storeState.graphsByVersion.get(treeState.version);\n\n if (graph) {\n const deps = graph.nodeDeps.get(node);\n\n if (deps !== undefined) {\n graph.nodeDeps.delete(node);\n\n for (const dep of deps) {\n var _graph$nodeToNodeSubs;\n\n (_graph$nodeToNodeSubs = graph.nodeToNodeSubscriptions.get(dep)) === null || _graph$nodeToNodeSubs === void 0 ? void 0 : _graph$nodeToNodeSubs.delete(node);\n }\n } // No need to delete sub's deps as there should be no subs at this point.\n // But an invariant would require deleting nodes in topological order.\n\n\n graph.nodeToNodeSubscriptions.delete(node);\n } // Node config (for family members only as their configs can be recreated, and\n // only if they are not retained within any other Stores):\n\n\n deleteNodeConfigIfPossible$1(node);\n}\n\nfunction nodesRetainedByZone(storeState, zone) {\n var _storeState$retention3;\n\n return (_storeState$retention3 = storeState.retention.nodesRetainedByZone.get(zone)) !== null && _storeState$retention3 !== void 0 ? _storeState$retention3 : emptySet$1;\n}\n\nfunction zonesThatCouldRetainNode(node) {\n const retainedBy = getNode$2(node).retainedBy;\n\n if (retainedBy === undefined || retainedBy === 'components' || retainedBy === 'recoilRoot') {\n return [];\n } else if (retainedBy instanceof RetentionZone$2) {\n return [retainedBy];\n } else {\n return retainedBy; // it's an array of zones\n }\n}\n\nfunction scheduleOrPerformPossibleReleaseOfRetainable(store, retainable) {\n const state = store.getState();\n\n if (state.nextTree) {\n state.retention.retainablesToCheckForRelease.add(retainable);\n } else {\n releaseRetainablesNowOnCurrentTree(store, new Set([retainable]));\n }\n}\n\nfunction updateRetainCount(store, retainable, delta) {\n var _map$get;\n\n if (!Recoil_gkx_1('recoil_memory_managament_2020')) {\n return;\n }\n\n const map = store.getState().retention.referenceCounts;\n const newCount = ((_map$get = map.get(retainable)) !== null && _map$get !== void 0 ? _map$get : 0) + delta;\n\n if (newCount === 0) {\n updateRetainCountToZero(store, retainable);\n } else {\n map.set(retainable, newCount);\n }\n}\n\nfunction updateRetainCountToZero(store, retainable) {\n if (!Recoil_gkx_1('recoil_memory_managament_2020')) {\n return;\n }\n\n const map = store.getState().retention.referenceCounts;\n map.delete(retainable);\n scheduleOrPerformPossibleReleaseOfRetainable(store, retainable);\n}\n\nfunction releaseScheduledRetainablesNow(store) {\n if (!Recoil_gkx_1('recoil_memory_managament_2020')) {\n return;\n }\n\n const state = store.getState();\n releaseRetainablesNowOnCurrentTree(store, state.retention.retainablesToCheckForRelease);\n state.retention.retainablesToCheckForRelease.clear();\n}\n\nfunction retainedByOptionWithDefault(r) {\n // The default will change from 'recoilRoot' to 'components' in the future.\n return r === undefined ? 'recoilRoot' : r;\n}\n\nvar Recoil_Retention = {\n updateRetainCount,\n updateRetainCountToZero,\n releaseScheduledRetainablesNow,\n retainedByOptionWithDefault\n};\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @emails oncall+recoil\n * \n * @format\n */\n/**\n * Combines multiple Iterables into a single Iterable.\n * Traverses the input Iterables in the order provided and maintains the order\n * of their elements.\n *\n * Example:\n * ```\n * const r = Array.from(concatIterables(['a', 'b'], ['c'], ['d', 'e', 'f']));\n * r == ['a', 'b', 'c', 'd', 'e', 'f'];\n * ```\n */\n\nfunction* concatIterables(iters) {\n for (const iter of iters) {\n for (const val of iter) {\n yield val;\n }\n }\n}\n\nvar Recoil_concatIterables = concatIterables;\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @emails oncall+recoil\n * \n * @format\n */\n\nconst isSSR = typeof window === 'undefined';\nconst isReactNative = typeof navigator !== 'undefined' && navigator.product === 'ReactNative'; // eslint-disable-line fb-www/typeof-undefined\n\nvar Recoil_Environment = {\n isSSR,\n isReactNative\n};\n\nconst {\n isSSR: isSSR$1\n} = Recoil_Environment;\n\n\n\n\n\n\n\n\n\nconst {\n batchUpdates: batchUpdates$1\n} = Recoil_Batching;\n\nconst {\n initializeNodeIfNewToStore: initializeNodeIfNewToStore$1,\n peekNodeInfo: peekNodeInfo$1\n} = Recoil_FunctionalCore;\n\nconst {\n graph: graph$2\n} = Recoil_Graph;\n\nconst {\n DEFAULT_VALUE: DEFAULT_VALUE$1,\n recoilValues: recoilValues$1,\n recoilValuesForKeys: recoilValuesForKeys$2\n} = Recoil_Node;\n\nconst {\n AbstractRecoilValue: AbstractRecoilValue$2,\n getRecoilValueAsLoadable: getRecoilValueAsLoadable$1,\n setRecoilValue: setRecoilValue$1,\n setUnvalidatedRecoilValue: setUnvalidatedRecoilValue$1\n} = Recoil_RecoilValueInterface;\n\nconst {\n updateRetainCount: updateRetainCount$1,\n updateRetainCountToZero: updateRetainCountToZero$1\n} = Recoil_Retention;\n\nconst {\n getNextTreeStateVersion: getNextTreeStateVersion$1,\n makeEmptyStoreState: makeEmptyStoreState$1\n} = Recoil_State; // Opaque at this surface because it's part of the public API from here.\n\n\nconst retainWarning = `\nRecoil Snapshots only last for the duration of the callback they are provided to. To keep a Snapshot longer, do this:\n\n const release = snapshot.retain();\n try {\n await useTheSnapshotAsynchronously(snapshot);\n } finally {\n release();\n }\n\nThis is currently a DEV-only warning but will become a thrown exception in the next release of Recoil.\n`; // A \"Snapshot\" is \"read-only\" and captures a specific set of values of atoms.\n// However, the data-flow-graph and selector values may evolve as selector\n// evaluation functions are executed and async selectors resolve.\n\nclass Snapshot {\n constructor(storeState) {\n _defineProperty(this, \"_store\", void 0);\n\n _defineProperty(this, \"_refCount\", 0);\n\n _defineProperty(this, \"getLoadable\", recoilValue => {\n this.checkRefCount_INTERNAL();\n return getRecoilValueAsLoadable$1(this._store, recoilValue);\n });\n\n _defineProperty(this, \"getPromise\", recoilValue => {\n this.checkRefCount_INTERNAL();\n return this.getLoadable(recoilValue).toPromise();\n });\n\n _defineProperty(this, \"getNodes_UNSTABLE\", opt => {\n this.checkRefCount_INTERNAL(); // TODO Deal with modified selectors\n\n if ((opt === null || opt === void 0 ? void 0 : opt.isModified) === true) {\n if ((opt === null || opt === void 0 ? void 0 : opt.isInitialized) === false) {\n return [];\n }\n\n const state = this._store.getState().currentTree;\n\n return recoilValuesForKeys$2(state.dirtyAtoms);\n }\n\n const knownAtoms = this._store.getState().knownAtoms;\n\n const knownSelectors = this._store.getState().knownSelectors;\n\n return (opt === null || opt === void 0 ? void 0 : opt.isInitialized) == null ? recoilValues$1.values() : opt.isInitialized === true ? recoilValuesForKeys$2(Recoil_concatIterables([this._store.getState().knownAtoms, this._store.getState().knownSelectors])) : Recoil_filterIterable(recoilValues$1.values(), ({\n key\n }) => !knownAtoms.has(key) && !knownSelectors.has(key));\n });\n\n _defineProperty(this, \"getInfo_UNSTABLE\", ({\n key\n }) => {\n this.checkRefCount_INTERNAL();\n return peekNodeInfo$1(this._store, this._store.getState().currentTree, key);\n });\n\n _defineProperty(this, \"map\", mapper => {\n this.checkRefCount_INTERNAL();\n const mutableSnapshot = new MutableSnapshot(this);\n mapper(mutableSnapshot); // if removing batchUpdates from `set` add it here\n\n return cloneSnapshot(mutableSnapshot.getStore_INTERNAL());\n });\n\n _defineProperty(this, \"asyncMap\", async mapper => {\n this.checkRefCount_INTERNAL();\n const mutableSnapshot = new MutableSnapshot(this);\n await mapper(mutableSnapshot);\n return cloneSnapshot(mutableSnapshot.getStore_INTERNAL());\n });\n\n this._store = {\n getState: () => storeState,\n replaceState: replacer => {\n storeState.currentTree = replacer(storeState.currentTree); // no batching so nextTree is never active\n },\n getGraph: version => {\n const graphs = storeState.graphsByVersion;\n\n if (graphs.has(version)) {\n return Recoil_nullthrows(graphs.get(version));\n }\n\n const newGraph = graph$2();\n graphs.set(version, newGraph);\n return newGraph;\n },\n subscribeToTransactions: () => ({\n release: () => {}\n }),\n addTransactionMetadata: () => {\n throw new Error('Cannot subscribe to Snapshots');\n }\n }; // Initialize any nodes that are live in the parent store (primarily so that this\n // snapshot gets counted towards the node's live stores count).\n\n for (const nodeKey of this._store.getState().nodeCleanupFunctions.keys()) {\n initializeNodeIfNewToStore$1(this._store, storeState.currentTree, nodeKey, 'get');\n updateRetainCount$1(this._store, nodeKey, 1);\n }\n\n this.retain();\n this.autorelease_INTERNAL();\n }\n\n retain() {\n if (!Recoil_gkx_1('recoil_memory_managament_2020')) {\n return () => undefined;\n }\n\n this._refCount++;\n let released = false;\n return () => {\n if (!released) {\n released = true;\n this.release_INTERNAL();\n }\n };\n }\n\n autorelease_INTERNAL() {\n if (!Recoil_gkx_1('recoil_memory_managament_2020')) {\n return;\n }\n\n if (!isSSR$1) {\n window.setTimeout(() => this.release_INTERNAL(), 0);\n }\n }\n\n release_INTERNAL() {\n if (!Recoil_gkx_1('recoil_memory_managament_2020')) {\n return;\n }\n\n this._refCount--;\n\n if (this._refCount === 0) ;\n }\n\n checkRefCount_INTERNAL() {\n if (Recoil_gkx_1('recoil_memory_managament_2020') && this._refCount <= 0) {\n if (process.env.NODE_ENV !== \"production\") {\n Recoil_recoverableViolation(retainWarning);\n } // What we will ship later:\n // throw new Error(retainWarning);\n\n }\n }\n\n getStore_INTERNAL() {\n this.checkRefCount_INTERNAL();\n return this._store;\n }\n\n getID() {\n this.checkRefCount_INTERNAL();\n return this.getID_INTERNAL();\n }\n\n getID_INTERNAL() {\n this.checkRefCount_INTERNAL();\n return this._store.getState().currentTree.stateID;\n } // We want to allow the methods to be destructured and used as accessors\n // eslint-disable-next-line fb-www/extra-arrow-initializer\n\n\n}\n\nfunction cloneStoreState(store, treeState, bumpVersion = false) {\n const storeState = store.getState();\n const version = bumpVersion ? getNextTreeStateVersion$1() : treeState.version;\n return {\n currentTree: bumpVersion ? {\n // TODO snapshots shouldn't really have versions because a new version number\n // is always assigned when the snapshot is gone to.\n version,\n stateID: version,\n transactionMetadata: { ...treeState.transactionMetadata\n },\n dirtyAtoms: new Set(treeState.dirtyAtoms),\n atomValues: treeState.atomValues.clone(),\n nonvalidatedAtoms: treeState.nonvalidatedAtoms.clone()\n } : treeState,\n commitDepth: 0,\n nextTree: null,\n previousTree: null,\n knownAtoms: new Set(storeState.knownAtoms),\n // FIXME here's a copy\n knownSelectors: new Set(storeState.knownSelectors),\n // FIXME here's a copy\n transactionSubscriptions: new Map(),\n nodeTransactionSubscriptions: new Map(),\n nodeToComponentSubscriptions: new Map(),\n queuedComponentCallbacks_DEPRECATED: [],\n suspendedComponentResolvers: new Set(),\n graphsByVersion: new Map().set(version, store.getGraph(treeState.version)),\n versionsUsedByComponent: new Map(),\n retention: {\n referenceCounts: new Map(),\n nodesRetainedByZone: new Map(),\n retainablesToCheckForRelease: new Set()\n },\n nodeCleanupFunctions: new Map()\n };\n} // Factory to build a fresh snapshot\n\n\nfunction freshSnapshot(initializeState) {\n const snapshot = new Snapshot(makeEmptyStoreState$1());\n return initializeState != null ? snapshot.map(initializeState) : snapshot;\n} // Factory to clone a snapahot state\n\n\nfunction cloneSnapshot(store, version = 'current') {\n const storeState = store.getState();\n const treeState = version === 'current' ? storeState.currentTree : Recoil_nullthrows(storeState.previousTree);\n return new Snapshot(cloneStoreState(store, treeState));\n}\n\nclass MutableSnapshot extends Snapshot {\n constructor(snapshot) {\n super(cloneStoreState(snapshot.getStore_INTERNAL(), snapshot.getStore_INTERNAL().getState().currentTree, true));\n\n _defineProperty(this, \"set\", (recoilState, newValueOrUpdater) => {\n this.checkRefCount_INTERNAL();\n const store = this.getStore_INTERNAL(); // This batchUpdates ensures this `set` is applied immediately and you can\n // read the written value after calling `set`. I would like to remove this\n // behavior and only batch in `Snapshot.map`, but this would be a breaking\n // change potentially.\n\n batchUpdates$1(() => {\n updateRetainCount$1(store, recoilState.key, 1);\n setRecoilValue$1(this.getStore_INTERNAL(), recoilState, newValueOrUpdater);\n });\n });\n\n _defineProperty(this, \"reset\", recoilState => {\n this.checkRefCount_INTERNAL();\n const store = this.getStore_INTERNAL(); // See note at `set` about batched updates.\n\n batchUpdates$1(() => {\n updateRetainCount$1(store, recoilState.key, 1);\n setRecoilValue$1(this.getStore_INTERNAL(), recoilState, DEFAULT_VALUE$1);\n });\n });\n\n _defineProperty(this, \"setUnvalidatedAtomValues_DEPRECATED\", values => {\n this.checkRefCount_INTERNAL();\n const store = this.getStore_INTERNAL(); // See note at `set` about batched updates.\n\n batchUpdates$1(() => {\n for (const [k, v] of values.entries()) {\n updateRetainCount$1(store, k, 1);\n setUnvalidatedRecoilValue$1(store, new AbstractRecoilValue$2(k), v);\n }\n });\n });\n } // We want to allow the methods to be destructured and used as accessors\n // eslint-disable-next-line fb-www/extra-arrow-initializer\n\n\n}\n\nvar Recoil_Snapshot = {\n Snapshot,\n MutableSnapshot,\n freshSnapshot,\n cloneSnapshot\n};\n\nvar Recoil_Snapshot_1 = Recoil_Snapshot.Snapshot;\nvar Recoil_Snapshot_2 = Recoil_Snapshot.MutableSnapshot;\nvar Recoil_Snapshot_3 = Recoil_Snapshot.freshSnapshot;\nvar Recoil_Snapshot_4 = Recoil_Snapshot.cloneSnapshot;\n\nvar Recoil_Snapshot$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n Snapshot: Recoil_Snapshot_1,\n MutableSnapshot: Recoil_Snapshot_2,\n freshSnapshot: Recoil_Snapshot_3,\n cloneSnapshot: Recoil_Snapshot_4\n});\n\n// @fb-only: const RecoilusagelogEvent = require('RecoilusagelogEvent');\n// @fb-only: const RecoilUsageLogFalcoEvent = require('RecoilUsageLogFalcoEvent');\n// @fb-only: const URI = require('URI');\n\n\nconst {\n getNextTreeStateVersion: getNextTreeStateVersion$2,\n makeEmptyStoreState: makeEmptyStoreState$2\n} = Recoil_State;\n\n\n\n\n\n // @fb-only: const recoverableViolation = require('../util/Recoil_recoverableViolation');\n\n\n\n\nconst {\n cleanUpNode: cleanUpNode$2,\n getDownstreamNodes: getDownstreamNodes$2,\n setNodeValue: setNodeValue$2,\n setUnvalidatedAtomValue_DEPRECATED: setUnvalidatedAtomValue_DEPRECATED$1\n} = Recoil_FunctionalCore;\n\nconst {\n graph: graph$3\n} = Recoil_Graph;\n\nconst {\n cloneGraph: cloneGraph$1\n} = Recoil_Graph;\n\nconst {\n applyAtomValueWrites: applyAtomValueWrites$1\n} = Recoil_RecoilValueInterface;\n\nconst {\n releaseScheduledRetainablesNow: releaseScheduledRetainablesNow$1\n} = Recoil_Retention;\n\nconst {\n freshSnapshot: freshSnapshot$1\n} = Recoil_Snapshot$1;\n\n\n\nconst {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState\n} = react;\n\nfunction notInAContext() {\n throw new Error('This component must be used inside a component.');\n}\n\nconst defaultStore = Object.freeze({\n getState: notInAContext,\n replaceState: notInAContext,\n getGraph: notInAContext,\n subscribeToTransactions: notInAContext,\n addTransactionMetadata: notInAContext\n});\nlet stateReplacerIsBeingExecuted = false;\n\nfunction startNextTreeIfNeeded(store) {\n if (stateReplacerIsBeingExecuted) {\n throw new Error('An atom update was triggered within the execution of a state updater function. State updater functions provided to Recoil must be pure functions.');\n }\n\n const storeState = store.getState();\n\n if (storeState.nextTree === null) {\n if (Recoil_gkx_1('recoil_memory_managament_2020') && Recoil_gkx_1('recoil_release_on_cascading_update_killswitch_2021')) {\n // If this is a cascading update (that is, rendering due to one state change\n // invokes a second state change), we won't have cleaned up retainables yet\n // because this normally happens after notifying components. Do it before\n // proceeding with the cascading update so that it remains predictable:\n if (storeState.commitDepth > 0) {\n releaseScheduledRetainablesNow$1(store);\n }\n }\n\n const version = storeState.currentTree.version;\n const nextVersion = getNextTreeStateVersion$2();\n storeState.nextTree = { ...storeState.currentTree,\n version: nextVersion,\n stateID: nextVersion,\n dirtyAtoms: new Set(),\n transactionMetadata: {}\n };\n storeState.graphsByVersion.set(nextVersion, cloneGraph$1(Recoil_nullthrows(storeState.graphsByVersion.get(version))));\n }\n}\n\nconst AppContext = react.createContext({\n current: defaultStore\n});\n\nconst useStoreRef = () => useContext(AppContext);\n\nconst MutableSourceContext = react.createContext(null); // TODO T2710559282599660\n\nfunction useRecoilMutableSource() {\n const mutableSource = useContext(MutableSourceContext);\n\n if (mutableSource == null) {\n Recoil_expectationViolation('Attempted to use a Recoil hook outside of a . ' + ' must be an ancestor of any component that uses ' + 'Recoil hooks.');\n }\n\n return mutableSource;\n}\n\nfunction sendEndOfBatchNotifications(store) {\n const storeState = store.getState();\n const treeState = storeState.currentTree; // Inform transaction subscribers of the transaction:\n\n const dirtyAtoms = treeState.dirtyAtoms;\n\n if (dirtyAtoms.size) {\n // Execute Node-specific subscribers before global subscribers\n for (const [key, subscriptions] of storeState.nodeTransactionSubscriptions) {\n if (dirtyAtoms.has(key)) {\n for (const [_, subscription] of subscriptions) {\n subscription(store);\n }\n }\n }\n\n for (const [_, subscription] of storeState.transactionSubscriptions) {\n subscription(store);\n } // Components that are subscribed to the dirty atom:\n\n\n const dependentNodes = getDownstreamNodes$2(store, treeState, dirtyAtoms);\n\n for (const key of dependentNodes) {\n const comps = storeState.nodeToComponentSubscriptions.get(key);\n\n if (comps) {\n for (const [_subID, [_debugName, callback]] of comps) {\n callback(treeState);\n }\n }\n } // Wake all suspended components so the right one(s) can try to re-render.\n // We need to wake up components not just when some asynchronous selector\n // resolved, but also when changing synchronous values because this may cause\n // a selector to change from asynchronous to synchronous, in which case there\n // would be no follow-up asynchronous resolution to wake us up.\n // TODO OPTIMIZATION Only wake up related downstream components\n\n\n storeState.suspendedComponentResolvers.forEach(cb => cb());\n } // Special behavior ONLY invoked by useInterface.\n // FIXME delete queuedComponentCallbacks_DEPRECATED when deleting useInterface.\n\n\n storeState.queuedComponentCallbacks_DEPRECATED.forEach(cb => cb(treeState));\n storeState.queuedComponentCallbacks_DEPRECATED.splice(0, storeState.queuedComponentCallbacks_DEPRECATED.length);\n}\n/*\n * The purpose of the Batcher is to observe when React batches end so that\n * Recoil state changes can be batched. Whenever Recoil state changes, we call\n * setState on the batcher. Then we wait for that change to be committed, which\n * signifies the end of the batch. That's when we respond to the Recoil change.\n */\n\n\nfunction Batcher({\n setNotifyBatcherOfChange\n}) {\n const storeRef = useStoreRef();\n const [_, setState] = useState([]);\n setNotifyBatcherOfChange(() => setState({}));\n useEffect(() => {\n // enqueueExecution runs this function immediately; it is only used to\n // manipulate the order of useEffects during tests, since React seems to\n // call useEffect in an unpredictable order sometimes.\n Recoil_Queue.enqueueExecution('Batcher', () => {\n const storeState = storeRef.current.getState();\n storeState.commitDepth++;\n\n try {\n const {\n nextTree\n } = storeState; // Ignore commits that are not because of Recoil transactions -- namely,\n // because something above RecoilRoot re-rendered:\n\n if (nextTree === null) {\n return;\n } // nextTree is now committed -- note that copying and reset occurs when\n // a transaction begins, in startNextTreeIfNeeded:\n\n\n storeState.previousTree = storeState.currentTree;\n storeState.currentTree = nextTree;\n storeState.nextTree = null;\n sendEndOfBatchNotifications(storeRef.current);\n const discardedVersion = Recoil_nullthrows(storeState.previousTree).version;\n storeState.graphsByVersion.delete(discardedVersion);\n storeState.previousTree = null;\n\n if (Recoil_gkx_1('recoil_memory_managament_2020')) {\n releaseScheduledRetainablesNow$1(storeRef.current);\n }\n } finally {\n storeState.commitDepth--;\n }\n });\n }); // If an asynchronous selector resolves after the Batcher is unmounted,\n // notifyBatcherOfChange will still be called. An error gets thrown whenever\n // setState is called after a component is already unmounted, so this sets\n // notifyBatcherOfChange to be a no-op.\n\n useEffect(() => {\n return () => {\n setNotifyBatcherOfChange(() => {});\n };\n }, [setNotifyBatcherOfChange]);\n return null;\n}\n\nif (process.env.NODE_ENV !== \"production\") {\n if (typeof window !== 'undefined' && !window.$recoilDebugStates) {\n window.$recoilDebugStates = [];\n }\n} // When removing this deprecated function, remove stateBySettingRecoilValue\n// which will no longer be needed.\n\n\nfunction initialStoreState_DEPRECATED(store, initializeState) {\n const initial = makeEmptyStoreState$2();\n initializeState({\n // $FlowFixMe[escaped-generic]\n set: (atom, value) => {\n const state = initial.currentTree;\n const writes = setNodeValue$2(store, state, atom.key, value);\n const writtenNodes = new Set(writes.keys());\n const nonvalidatedAtoms = state.nonvalidatedAtoms.clone();\n\n for (const n of writtenNodes) {\n nonvalidatedAtoms.delete(n);\n }\n\n initial.currentTree = { ...state,\n dirtyAtoms: Recoil_unionSets(state.dirtyAtoms, writtenNodes),\n atomValues: applyAtomValueWrites$1(state.atomValues, writes),\n // NB: PLEASE un-export applyAtomValueWrites when deleting this code\n nonvalidatedAtoms\n };\n },\n setUnvalidatedAtomValues: atomValues => {\n // FIXME replace this with a mutative loop\n atomValues.forEach((v, k) => {\n initial.currentTree = setUnvalidatedAtomValue_DEPRECATED$1(initial.currentTree, k, v);\n });\n }\n });\n return initial;\n}\n\nfunction initialStoreState(initializeState) {\n const snapshot = freshSnapshot$1().map(initializeState);\n return snapshot.getStore_INTERNAL().getState();\n}\n\nlet nextID = 0;\n\nfunction RecoilRoot_INTERNAL({\n initializeState_DEPRECATED,\n initializeState,\n store_INTERNAL: storeProp,\n // For use with React \"context bridging\"\n children\n}) {\n var _createMutableSource;\n\n // prettier-ignore\n // @fb-only: useEffect(() => {\n // @fb-only: if (gkx('recoil_usage_logging')) {\n // @fb-only: try {\n // @fb-only: RecoilUsageLogFalcoEvent.log(() => ({\n // @fb-only: type: RecoilusagelogEvent.RECOIL_ROOT_MOUNTED,\n // @fb-only: path: URI.getRequestURI().getPath(),\n // @fb-only: }));\n // @fb-only: } catch {\n // @fb-only: recoverableViolation(\n // @fb-only: 'Error when logging Recoil Usage event',\n // @fb-only: 'recoil',\n // @fb-only: );\n // @fb-only: }\n // @fb-only: }\n // @fb-only: }, []);\n let storeState; // eslint-disable-line prefer-const\n\n const getGraph = version => {\n const graphs = storeState.current.graphsByVersion;\n\n if (graphs.has(version)) {\n return Recoil_nullthrows(graphs.get(version));\n }\n\n const newGraph = graph$3();\n graphs.set(version, newGraph);\n return newGraph;\n };\n\n const subscribeToTransactions = (callback, key) => {\n if (key == null) {\n // Global transaction subscriptions\n const {\n transactionSubscriptions\n } = storeRef.current.getState();\n const id = nextID++;\n transactionSubscriptions.set(id, callback);\n return {\n release: () => {\n transactionSubscriptions.delete(id);\n }\n };\n } else {\n // Node-specific transaction subscriptions:\n const {\n nodeTransactionSubscriptions\n } = storeRef.current.getState();\n\n if (!nodeTransactionSubscriptions.has(key)) {\n nodeTransactionSubscriptions.set(key, new Map());\n }\n\n const id = nextID++;\n Recoil_nullthrows(nodeTransactionSubscriptions.get(key)).set(id, callback);\n return {\n release: () => {\n const subs = nodeTransactionSubscriptions.get(key);\n\n if (subs) {\n subs.delete(id);\n\n if (subs.size === 0) {\n nodeTransactionSubscriptions.delete(key);\n }\n }\n }\n };\n }\n };\n\n const addTransactionMetadata = metadata => {\n startNextTreeIfNeeded(storeRef.current);\n\n for (const k of Object.keys(metadata)) {\n Recoil_nullthrows(storeRef.current.getState().nextTree).transactionMetadata[k] = metadata[k];\n }\n };\n\n const replaceState = replacer => {\n const storeState = storeRef.current.getState();\n startNextTreeIfNeeded(storeRef.current); // Use replacer to get the next state:\n\n const nextTree = Recoil_nullthrows(storeState.nextTree);\n let replaced;\n\n try {\n stateReplacerIsBeingExecuted = true;\n replaced = replacer(nextTree);\n } finally {\n stateReplacerIsBeingExecuted = false;\n }\n\n if (replaced === nextTree) {\n return;\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof window !== 'undefined') {\n window.$recoilDebugStates.push(replaced); // TODO this shouldn't happen here because it's not batched\n }\n } // Save changes to nextTree and schedule a React update:\n\n\n storeState.nextTree = replaced;\n Recoil_nullthrows(notifyBatcherOfChange.current)();\n };\n\n const notifyBatcherOfChange = useRef(null);\n const setNotifyBatcherOfChange = useCallback(x => {\n notifyBatcherOfChange.current = x;\n }, [notifyBatcherOfChange]); // FIXME T2710559282599660\n\n const createMutableSource = (_createMutableSource = react.createMutableSource) !== null && _createMutableSource !== void 0 ? _createMutableSource : // flowlint-line unclear-type:off\n react.unstable_createMutableSource; // flowlint-line unclear-type:off\n\n const store = storeProp !== null && storeProp !== void 0 ? storeProp : {\n getState: () => storeState.current,\n replaceState,\n getGraph,\n subscribeToTransactions,\n addTransactionMetadata\n };\n const storeRef = useRef(store);\n storeState = useRef(initializeState_DEPRECATED != null ? initialStoreState_DEPRECATED(store, initializeState_DEPRECATED) : initializeState != null ? initialStoreState(initializeState) : makeEmptyStoreState$2());\n const mutableSource = useMemo(() => createMutableSource ? createMutableSource(storeState, () => storeState.current.currentTree.version) : null, [createMutableSource, storeState]); // Cleanup when the is unmounted\n\n useEffect(() => () => {\n for (const atomKey of storeRef.current.getState().knownAtoms) {\n cleanUpNode$2(storeRef.current, atomKey);\n }\n }, []);\n return /*#__PURE__*/react.createElement(AppContext.Provider, {\n value: storeRef\n }, /*#__PURE__*/react.createElement(MutableSourceContext.Provider, {\n value: mutableSource\n }, /*#__PURE__*/react.createElement(Batcher, {\n setNotifyBatcherOfChange: setNotifyBatcherOfChange\n }), children));\n}\n\nfunction RecoilRoot(props) {\n const {\n override,\n ...propsExceptOverride\n } = props;\n const ancestorStoreRef = useStoreRef();\n\n if (override === false && ancestorStoreRef.current !== defaultStore) {\n // If ancestorStoreRef.current !== defaultStore, it means that this\n // RecoilRoot is not nested within another.\n return /*#__PURE__*/react.createElement(react.Fragment, null, props.children);\n }\n\n return /*#__PURE__*/react.createElement(RecoilRoot_INTERNAL, propsExceptOverride);\n}\n\nvar Recoil_RecoilRoot_react = {\n useStoreRef,\n useRecoilMutableSource,\n RecoilRoot,\n sendEndOfBatchNotifications_FOR_TESTING: sendEndOfBatchNotifications\n};\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @emails oncall+recoil\n * \n * @format\n */\n/**\n * Returns a map containing all of the keys + values from the original map where\n * the given callback returned true.\n */\n\nfunction filterMap(map, callback) {\n const result = new Map();\n\n for (const [key, value] of map) {\n if (callback(value, key)) {\n result.set(key, value);\n }\n }\n\n return result;\n}\n\nvar Recoil_filterMap = filterMap;\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @emails oncall+recoil\n * \n * @format\n */\n/**\n * Returns a set containing all of the values from the original set where\n * the given callback returned true.\n */\n\nfunction filterSet(set, callback) {\n const result = new Set();\n\n for (const value of set) {\n if (callback(value)) {\n result.add(value);\n }\n }\n\n return result;\n}\n\nvar Recoil_filterSet = filterSet;\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @emails oncall+recoil\n * \n * @format\n */\n\nfunction invariant(condition, message) {\n if (!condition) {\n throw new Error(message);\n }\n}\n\nvar invariant_1 = invariant;\n\n// @oss-only\n\n\nvar Recoil_invariant = invariant_1;\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @emails oncall+recoil\n * \n * @format\n */\n\nfunction mergeMaps(...maps) {\n const result = new Map();\n\n for (let i = 0; i < maps.length; i++) {\n const iterator = maps[i].keys();\n let nextKey;\n\n while (!(nextKey = iterator.next()).done) {\n // $FlowFixMe[incompatible-call] - map/iterator knows nothing about flow types\n result.set(nextKey.value, maps[i].get(nextKey.value));\n }\n }\n /* $FlowFixMe[incompatible-return] (>=0.66.0 site=www,mobile) This comment\n * suppresses an error found when Flow v0.66 was deployed. To see the error\n * delete this comment and run Flow. */\n\n\n return result;\n}\n\nvar Recoil_mergeMaps = mergeMaps;\n\nvar _useMutableSource;\n\n // FIXME T2710559282599660\n\n\nconst useMutableSource = // flowlint-line unclear-type:off\n(_useMutableSource = react.useMutableSource) !== null && _useMutableSource !== void 0 ? _useMutableSource : react.unstable_useMutableSource; // flowlint-line unclear-type:off\n\nfunction mutableSourceExists() {\n return useMutableSource && !(typeof window !== 'undefined' && window.$disableRecoilValueMutableSource_TEMP_HACK_DO_NOT_USE);\n}\n\nvar Recoil_mutableSource = {\n mutableSourceExists,\n useMutableSource\n};\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @emails oncall+recoil\n * \n * @format\n */\n\nfunction shallowArrayEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (a.length !== b.length) {\n return false;\n }\n\n for (let i = 0, l = a.length; i < l; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nvar Recoil_shallowArrayEqual = shallowArrayEqual;\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * MIT License\n *\n * Copyright (c) 2014-2019 Georg Tavonius\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n * @emails oncall+recoil\n * \n * @format\n */\n\nconst UNKNOWN_FUNCTION = '';\n/**\n * This parses the different stack traces and puts them into one format\n * This borrows heavily from TraceKit (https://github.com/csnover/TraceKit)\n */\n\nfunction stackTraceParser(stackString) {\n const lines = stackString.split('\\n');\n return lines.reduce((stack, line) => {\n const parseResult = parseChrome(line) || parseWinjs(line) || parseGecko(line) || parseNode(line) || parseJSC(line);\n\n if (parseResult) {\n stack.push(parseResult);\n }\n\n return stack;\n }, []);\n}\n\nconst chromeRe = /^\\s*at (.*?) ?\\(((?:file|https?|blob|chrome-extension|native|eval|webpack||\\/|[a-z]:\\\\|\\\\\\\\).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\nconst chromeEvalRe = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n\nfunction parseChrome(line) {\n const parts = chromeRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n const isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n\n const isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n\n const submatch = chromeEvalRe.exec(parts[2]);\n\n if (isEval && submatch != null) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1]; // url\n\n parts[3] = submatch[2]; // line\n\n parts[4] = submatch[3]; // column\n }\n\n return {\n file: !isNative ? parts[2] : null,\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: isNative ? [parts[2]] : [],\n lineNumber: parts[3] ? +parts[3] : null,\n column: parts[4] ? +parts[4] : null\n };\n}\n\nconst winjsRe = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nfunction parseWinjs(line) {\n const parts = winjsRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n return {\n file: parts[2],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: [],\n lineNumber: +parts[3],\n column: parts[4] ? +parts[4] : null\n };\n}\n\nconst geckoRe = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nconst geckoEvalRe = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\n\nfunction parseGecko(line) {\n const parts = geckoRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n const isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n const submatch = geckoEvalRe.exec(parts[3]);\n\n if (isEval && submatch != null) {\n // throw out eval line/column and use top-most line number\n parts[3] = submatch[1];\n parts[4] = submatch[2];\n parts[5] = null; // no column when eval\n }\n\n return {\n file: parts[3],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: parts[2] ? parts[2].split(',') : [],\n lineNumber: parts[4] ? +parts[4] : null,\n column: parts[5] ? +parts[5] : null\n };\n}\n\nconst javaScriptCoreRe = /^\\s*(?:([^@]*)(?:\\((.*?)\\))?@)?(\\S.*?):(\\d+)(?::(\\d+))?\\s*$/i;\n\nfunction parseJSC(line) {\n const parts = javaScriptCoreRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n return {\n file: parts[3],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: [],\n lineNumber: +parts[4],\n column: parts[5] ? +parts[5] : null\n };\n}\n\nconst nodeRe = /^\\s*at (?:((?:\\[object object\\])?[^\\\\/]+(?: \\[as \\S+\\])?) )?\\(?(.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nfunction parseNode(line) {\n const parts = nodeRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n return {\n file: parts[2],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: [],\n lineNumber: +parts[3],\n column: parts[4] ? +parts[4] : null\n };\n}\n\nvar Recoil_stackTraceParser = stackTraceParser;\n\nconst {\n useRef: useRef$1\n} = react;\n\nfunction useComponentName() {\n const nameRef = useRef$1();\n\n if (process.env.NODE_ENV !== \"production\") {\n if (Recoil_gkx_1('recoil_infer_component_names')) {\n var _nameRef$current;\n\n if (nameRef.current === undefined) {\n // There is no blessed way to determine the calling React component from\n // within a hook. This hack uses the fact that hooks must start with 'use'\n // and that hooks are either called by React Components or other hooks. It\n // follows therefore, that to find the calling component, you simply need\n // to look down the stack and find the first function which doesn't start\n // with 'use'. We are only enabling this in dev for now, since once the\n // codebase is minified, the naming assumptions no longer hold true.\n const frames = Recoil_stackTraceParser(new Error().stack);\n\n for (const {\n methodName\n } of frames) {\n // I observed cases where the frame was of the form 'Object.useXXX'\n // hence why I'm searching for hooks following a word boundary\n if (!methodName.match(/\\buse[^\\b]+$/)) {\n return nameRef.current = methodName;\n }\n }\n\n nameRef.current = null;\n }\n\n return (_nameRef$current = nameRef.current) !== null && _nameRef$current !== void 0 ? _nameRef$current : '';\n }\n } // @fb-only: return \"\";\n\n\n return ''; // @oss-only\n}\n\nvar Recoil_useComponentName = useComponentName;\n\nconst {\n batchUpdates: batchUpdates$2\n} = Recoil_Batching;\n\nconst {\n DEFAULT_VALUE: DEFAULT_VALUE$2,\n getNode: getNode$3,\n nodes: nodes$1\n} = Recoil_Node;\n\nconst {\n useRecoilMutableSource: useRecoilMutableSource$1,\n useStoreRef: useStoreRef$1\n} = Recoil_RecoilRoot_react;\n\nconst {\n isRecoilValue: isRecoilValue$2\n} = Recoil_RecoilValue$1;\n\nconst {\n AbstractRecoilValue: AbstractRecoilValue$3,\n getRecoilValueAsLoadable: getRecoilValueAsLoadable$2,\n setRecoilValue: setRecoilValue$2,\n setRecoilValueLoadable: setRecoilValueLoadable$1,\n setUnvalidatedRecoilValue: setUnvalidatedRecoilValue$2,\n subscribeToRecoilValue: subscribeToRecoilValue$1\n} = Recoil_RecoilValueInterface;\n\nconst {\n updateRetainCount: updateRetainCount$2\n} = Recoil_Retention;\n\nconst {\n RetentionZone: RetentionZone$3\n} = Recoil_RetentionZone;\n\nconst {\n Snapshot: Snapshot$1,\n cloneSnapshot: cloneSnapshot$1\n} = Recoil_Snapshot$1;\n\nconst {\n setByAddingToSet: setByAddingToSet$2\n} = Recoil_CopyOnWrite;\n\n\n\nconst {\n isSSR: isSSR$2\n} = Recoil_Environment;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst {\n mutableSourceExists: mutableSourceExists$1,\n useMutableSource: useMutableSource$1\n} = Recoil_mutableSource;\n\n\n\n\n\n\n\n\n\nconst {\n useCallback: useCallback$1,\n useEffect: useEffect$1,\n useMemo: useMemo$1,\n useRef: useRef$2,\n useState: useState$1\n} = react; // Components that aren't mounted after suspending for this long will be assumed\n// to be discarded and their resources released.\n\n\nconst SUSPENSE_TIMEOUT_MS = 120000;\n\nfunction handleLoadable(loadable, atom, storeRef) {\n // We can't just throw the promise we are waiting on to Suspense. If the\n // upstream dependencies change it may produce a state in which the component\n // can render, but it would still be suspended on a Promise that may never resolve.\n if (loadable.state === 'hasValue') {\n return loadable.contents;\n } else if (loadable.state === 'loading') {\n const promise = new Promise(resolve => {\n storeRef.current.getState().suspendedComponentResolvers.add(resolve);\n });\n throw promise;\n } else if (loadable.state === 'hasError') {\n throw loadable.contents;\n } else {\n throw new Error(`Invalid value of loadable atom \"${atom.key}\"`);\n }\n}\n\nfunction validateRecoilValue(recoilValue, hookName) {\n if (!isRecoilValue$2(recoilValue)) {\n throw new Error(`Invalid argument to ${hookName}: expected an atom or selector but got ${String(recoilValue)}`);\n }\n}\n\n/**\n * Various things are broken with useRecoilInterface, particularly concurrent mode\n * and memory management. They will not be fixed.\n * */\nfunction useRecoilInterface_DEPRECATED() {\n const storeRef = useStoreRef$1();\n const [_, forceUpdate] = useState$1([]);\n const recoilValuesUsed = useRef$2(new Set());\n recoilValuesUsed.current = new Set(); // Track the RecoilValues used just during this render\n\n const previousSubscriptions = useRef$2(new Set());\n const subscriptions = useRef$2(new Map());\n const unsubscribeFrom = useCallback$1(key => {\n const sub = subscriptions.current.get(key);\n\n if (sub) {\n sub.release();\n subscriptions.current.delete(key);\n }\n }, [subscriptions]);\n const componentName = Recoil_useComponentName();\n useEffect$1(() => {\n const store = storeRef.current;\n\n function updateState(_state, key) {\n if (!subscriptions.current.has(key)) {\n return;\n }\n\n forceUpdate([]);\n }\n\n Recoil_differenceSets(recoilValuesUsed.current, previousSubscriptions.current).forEach(key => {\n if (subscriptions.current.has(key)) {\n Recoil_expectationViolation(`Double subscription to RecoilValue \"${key}\"`);\n return;\n }\n\n const sub = subscribeToRecoilValue$1(store, new AbstractRecoilValue$3(key), state => {\n updateState(state, key);\n }, componentName);\n subscriptions.current.set(key, sub);\n /**\n * Since we're subscribing in an effect we need to update to the latest\n * value of the atom since it may have changed since we rendered. We can\n * go ahead and do that now, unless we're in the middle of a batch --\n * in which case we should do it at the end of the batch, due to the\n * following edge case: Suppose an atom is updated in another useEffect\n * of this same component. Then the following sequence of events occur:\n * 1. Atom is updated and subs fired (but we may not be subscribed\n * yet depending on order of effects, so we miss this) Updated value\n * is now in nextTree, but not currentTree.\n * 2. This effect happens. We subscribe and update.\n * 3. From the update we re-render and read currentTree, with old value.\n * 4. Batcher's effect sets currentTree to nextTree.\n * In this sequence we miss the update. To avoid that, add the update\n * to queuedComponentCallback if a batch is in progress.\n */\n // FIXME delete queuedComponentCallbacks_DEPRECATED when deleting useInterface.\n\n const state = store.getState();\n\n if (state.nextTree) {\n store.getState().queuedComponentCallbacks_DEPRECATED.push(() => {\n updateState(store.getState(), key);\n });\n } else {\n updateState(store.getState(), key);\n }\n });\n Recoil_differenceSets(previousSubscriptions.current, recoilValuesUsed.current).forEach(key => {\n unsubscribeFrom(key);\n });\n previousSubscriptions.current = recoilValuesUsed.current;\n });\n useEffect$1(() => {\n const subs = subscriptions.current;\n return () => subs.forEach((_, key) => unsubscribeFrom(key));\n }, [unsubscribeFrom]);\n return useMemo$1(() => {\n function useSetRecoilState(recoilState) {\n if (process.env.NODE_ENV !== \"production\") {\n // $FlowFixMe[escaped-generic]\n validateRecoilValue(recoilState, 'useSetRecoilState');\n }\n\n return newValueOrUpdater => {\n setRecoilValue$2(storeRef.current, recoilState, newValueOrUpdater);\n };\n }\n\n function useResetRecoilState(recoilState) {\n if (process.env.NODE_ENV !== \"production\") {\n // $FlowFixMe[escaped-generic]\n validateRecoilValue(recoilState, 'useResetRecoilState');\n }\n\n return () => setRecoilValue$2(storeRef.current, recoilState, DEFAULT_VALUE$2);\n }\n\n function useRecoilValueLoadable(recoilValue) {\n if (process.env.NODE_ENV !== \"production\") {\n // $FlowFixMe[escaped-generic]\n validateRecoilValue(recoilValue, 'useRecoilValueLoadable');\n }\n\n if (!recoilValuesUsed.current.has(recoilValue.key)) {\n recoilValuesUsed.current = setByAddingToSet$2(recoilValuesUsed.current, recoilValue.key);\n } // TODO Restore optimization to memoize lookup\n\n\n return getRecoilValueAsLoadable$2(storeRef.current, recoilValue);\n }\n\n function useRecoilValue(recoilValue) {\n if (process.env.NODE_ENV !== \"production\") {\n // $FlowFixMe[escaped-generic]\n validateRecoilValue(recoilValue, 'useRecoilValue');\n }\n\n const loadable = useRecoilValueLoadable(recoilValue); // $FlowFixMe[escaped-generic]\n\n return handleLoadable(loadable, recoilValue, storeRef);\n }\n\n function useRecoilState(recoilState) {\n if (process.env.NODE_ENV !== \"production\") {\n // $FlowFixMe[escaped-generic]\n validateRecoilValue(recoilState, 'useRecoilState');\n }\n\n return [useRecoilValue(recoilState), useSetRecoilState(recoilState)];\n }\n\n function useRecoilStateLoadable(recoilState) {\n if (process.env.NODE_ENV !== \"production\") {\n // $FlowFixMe[escaped-generic]\n validateRecoilValue(recoilState, 'useRecoilStateLoadable');\n }\n\n return [useRecoilValueLoadable(recoilState), useSetRecoilState(recoilState)];\n }\n\n return {\n getRecoilValue: useRecoilValue,\n getRecoilValueLoadable: useRecoilValueLoadable,\n getRecoilState: useRecoilState,\n getRecoilStateLoadable: useRecoilStateLoadable,\n getSetRecoilState: useSetRecoilState,\n getResetRecoilState: useResetRecoilState\n };\n }, [recoilValuesUsed, storeRef]);\n}\n\nconst recoilComponentGetRecoilValueCount_FOR_TESTING = {\n current: 0\n};\n\nfunction useRecoilValueLoadable_MUTABLESOURCE(recoilValue) {\n if (process.env.NODE_ENV !== \"production\") {\n // $FlowFixMe[escaped-generic]\n validateRecoilValue(recoilValue, 'useRecoilValueLoadable');\n }\n\n const storeRef = useStoreRef$1();\n const getLoadable = useCallback$1(() => {\n const store = storeRef.current;\n const treeState = store.getState().currentTree;\n return getRecoilValueAsLoadable$2(store, recoilValue, treeState);\n }, [storeRef, recoilValue]);\n const getLoadableWithTesting = useCallback$1(() => {\n if (process.env.NODE_ENV !== \"production\") {\n recoilComponentGetRecoilValueCount_FOR_TESTING.current++;\n }\n\n return getLoadable();\n }, [getLoadable]);\n const componentName = Recoil_useComponentName();\n const subscribe = useCallback$1((_storeState, callback) => {\n const store = storeRef.current;\n const subscription = subscribeToRecoilValue$1(store, recoilValue, () => {\n if (!Recoil_gkx_1('recoil_suppress_rerender_in_callback')) {\n return callback();\n } // Only re-render if the value has changed.\n // This will evaluate the atom/selector now as well as when the\n // component renders, but that may help with prefetching.\n\n\n const newLoadable = getLoadable();\n\n if (!prevLoadableRef.current.is(newLoadable)) {\n callback();\n } // If the component is suspended then the effect setting prevLoadableRef\n // will not run. So, set the previous value here when its subscription\n // is fired to wake it up. We can't just rely on this, though, because\n // this only executes when an atom/selector is dirty and the atom/selector\n // passed to the hook can dynamically change.\n\n\n prevLoadableRef.current = newLoadable;\n }, componentName);\n return subscription.release;\n }, [storeRef, recoilValue, componentName, getLoadable]);\n const source = useRecoilMutableSource$1();\n const loadable = useMutableSource$1(source, getLoadableWithTesting, subscribe);\n const prevLoadableRef = useRef$2(loadable);\n useEffect$1(() => {\n prevLoadableRef.current = loadable;\n });\n return loadable;\n}\n\nfunction useRecoilValueLoadable_LEGACY(recoilValue) {\n if (process.env.NODE_ENV !== \"production\") {\n // $FlowFixMe[escaped-generic]\n validateRecoilValue(recoilValue, 'useRecoilValueLoadable');\n }\n\n const storeRef = useStoreRef$1();\n const [_, forceUpdate] = useState$1([]);\n const componentName = Recoil_useComponentName();\n useEffect$1(() => {\n const store = storeRef.current;\n const storeState = store.getState();\n const subscription = subscribeToRecoilValue$1(store, recoilValue, _state => {\n var _prevLoadableRef$curr;\n\n if (!Recoil_gkx_1('recoil_suppress_rerender_in_callback')) {\n return forceUpdate([]);\n }\n\n const newLoadable = getRecoilValueAsLoadable$2(store, recoilValue, store.getState().currentTree);\n\n if (!((_prevLoadableRef$curr = prevLoadableRef.current) === null || _prevLoadableRef$curr === void 0 ? void 0 : _prevLoadableRef$curr.is(newLoadable))) {\n forceUpdate(newLoadable);\n }\n\n prevLoadableRef.current = newLoadable;\n }, componentName);\n /**\n * Since we're subscribing in an effect we need to update to the latest\n * value of the atom since it may have changed since we rendered. We can\n * go ahead and do that now, unless we're in the middle of a batch --\n * in which case we should do it at the end of the batch, due to the\n * following edge case: Suppose an atom is updated in another useEffect\n * of this same component. Then the following sequence of events occur:\n * 1. Atom is updated and subs fired (but we may not be subscribed\n * yet depending on order of effects, so we miss this) Updated value\n * is now in nextTree, but not currentTree.\n * 2. This effect happens. We subscribe and update.\n * 3. From the update we re-render and read currentTree, with old value.\n * 4. Batcher's effect sets currentTree to nextTree.\n * In this sequence we miss the update. To avoid that, add the update\n * to queuedComponentCallback if a batch is in progress.\n */\n\n if (storeState.nextTree) {\n store.getState().queuedComponentCallbacks_DEPRECATED.push(() => {\n prevLoadableRef.current = null;\n forceUpdate([]);\n });\n } else {\n var _prevLoadableRef$curr2;\n\n if (!Recoil_gkx_1('recoil_suppress_rerender_in_callback')) {\n return forceUpdate([]);\n }\n\n const newLoadable = getRecoilValueAsLoadable$2(store, recoilValue, store.getState().currentTree);\n\n if (!((_prevLoadableRef$curr2 = prevLoadableRef.current) === null || _prevLoadableRef$curr2 === void 0 ? void 0 : _prevLoadableRef$curr2.is(newLoadable))) {\n forceUpdate(newLoadable);\n }\n\n prevLoadableRef.current = newLoadable;\n }\n\n return subscription.release;\n }, [componentName, recoilValue, storeRef]);\n const loadable = getRecoilValueAsLoadable$2(storeRef.current, recoilValue);\n const prevLoadableRef = useRef$2(loadable);\n useEffect$1(() => {\n prevLoadableRef.current = loadable;\n });\n return loadable;\n}\n/**\n Like useRecoilValue(), but either returns the value if available or\n just undefined if not available for any reason, such as pending or error.\n*/\n\n\nfunction useRecoilValueLoadable(recoilValue) {\n if (Recoil_gkx_1('recoil_memory_managament_2020')) {\n // eslint-disable-next-line fb-www/react-hooks\n useRetain(recoilValue);\n }\n\n if (mutableSourceExists$1()) {\n // eslint-disable-next-line fb-www/react-hooks\n return useRecoilValueLoadable_MUTABLESOURCE(recoilValue);\n } else {\n // eslint-disable-next-line fb-www/react-hooks\n return useRecoilValueLoadable_LEGACY(recoilValue);\n }\n}\n/**\n Returns the value represented by the RecoilValue.\n If the value is pending, it will throw a Promise to suspend the component,\n if the value is an error it will throw it for the nearest React error boundary.\n This will also subscribe the component for any updates in the value.\n */\n\n\nfunction useRecoilValue(recoilValue) {\n if (process.env.NODE_ENV !== \"production\") {\n // $FlowFixMe[escaped-generic]\n validateRecoilValue(recoilValue, 'useRecoilValue');\n }\n\n const storeRef = useStoreRef$1();\n const loadable = useRecoilValueLoadable(recoilValue); // $FlowFixMe[escaped-generic]\n\n return handleLoadable(loadable, recoilValue, storeRef);\n}\n/**\n Returns a function that allows the value of a RecoilState to be updated, but does\n not subscribe the component to changes to that RecoilState.\n*/\n\n\nfunction useSetRecoilState(recoilState) {\n if (process.env.NODE_ENV !== \"production\") {\n // $FlowFixMe[escaped-generic]\n validateRecoilValue(recoilState, 'useSetRecoilState');\n }\n\n const storeRef = useStoreRef$1();\n return useCallback$1(newValueOrUpdater => {\n setRecoilValue$2(storeRef.current, recoilState, newValueOrUpdater);\n }, [storeRef, recoilState]);\n}\n/**\n Returns a function that will reset the value of a RecoilState to its default\n*/\n\n\nfunction useResetRecoilState(recoilState) {\n if (process.env.NODE_ENV !== \"production\") {\n // $FlowFixMe[escaped-generic]\n validateRecoilValue(recoilState, 'useResetRecoilState');\n }\n\n const storeRef = useStoreRef$1();\n return useCallback$1(() => {\n setRecoilValue$2(storeRef.current, recoilState, DEFAULT_VALUE$2);\n }, [storeRef, recoilState]);\n}\n/**\n Equivalent to useState(). Allows the value of the RecoilState to be read and written.\n Subsequent updates to the RecoilState will cause the component to re-render. If the\n RecoilState is pending, this will suspend the component and initiate the\n retrieval of the value. If evaluating the RecoilState resulted in an error, this will\n throw the error so that the nearest React error boundary can catch it.\n*/\n\n\nfunction useRecoilState(recoilState) {\n if (process.env.NODE_ENV !== \"production\") {\n // $FlowFixMe[escaped-generic]\n validateRecoilValue(recoilState, 'useRecoilState');\n }\n\n return [useRecoilValue(recoilState), useSetRecoilState(recoilState)];\n}\n/**\n Like useRecoilState(), but does not cause Suspense or React error handling. Returns\n an object that indicates whether the RecoilState is available, pending, or\n unavailable due to an error.\n*/\n\n\nfunction useRecoilStateLoadable(recoilState) {\n if (process.env.NODE_ENV !== \"production\") {\n // $FlowFixMe[escaped-generic]\n validateRecoilValue(recoilState, 'useRecoilStateLoadable');\n }\n\n return [useRecoilValueLoadable(recoilState), useSetRecoilState(recoilState)];\n}\n\nfunction useTransactionSubscription(callback) {\n const storeRef = useStoreRef$1();\n useEffect$1(() => {\n const sub = storeRef.current.subscribeToTransactions(callback);\n return sub.release;\n }, [callback, storeRef]);\n}\n\nfunction externallyVisibleAtomValuesInState(state) {\n const atomValues = state.atomValues.toMap();\n const persistedAtomContentsValues = Recoil_mapMap(Recoil_filterMap(atomValues, (v, k) => {\n const node = getNode$3(k);\n const persistence = node.persistence_UNSTABLE;\n return persistence != null && persistence.type !== 'none' && v.state === 'hasValue';\n }), v => v.contents); // Merge in nonvalidated atoms; we may not have defs for them but they will\n // all have persistence on or they wouldn't be there in the first place.\n\n return Recoil_mergeMaps(state.nonvalidatedAtoms.toMap(), persistedAtomContentsValues);\n}\n\n/**\n Calls the given callback after any atoms have been modified and the consequent\n component re-renders have been committed. This is intended for persisting\n the values of the atoms to storage. The stored values can then be restored\n using the useSetUnvalidatedAtomValues hook.\n\n The callback receives the following info:\n\n atomValues: The current value of every atom that is both persistable (persistence\n type not set to 'none') and whose value is available (not in an\n error or loading state).\n\n previousAtomValues: The value of every persistable and available atom before\n the transaction began.\n\n atomInfo: A map containing the persistence settings for each atom. Every key\n that exists in atomValues will also exist in atomInfo.\n\n modifiedAtoms: The set of atoms that were written to during the transaction.\n\n transactionMetadata: Arbitrary information that was added via the\n useSetUnvalidatedAtomValues hook. Useful for ignoring the useSetUnvalidatedAtomValues\n transaction, to avoid loops.\n*/\nfunction useTransactionObservation_DEPRECATED(callback) {\n useTransactionSubscription(useCallback$1(store => {\n let previousTree = store.getState().previousTree;\n const currentTree = store.getState().currentTree;\n\n if (!previousTree) {\n Recoil_recoverableViolation('Transaction subscribers notified without a previous tree being present -- this is a bug in Recoil');\n previousTree = store.getState().currentTree; // attempt to trundle on\n }\n\n const atomValues = externallyVisibleAtomValuesInState(currentTree);\n const previousAtomValues = externallyVisibleAtomValuesInState(previousTree);\n const atomInfo = Recoil_mapMap(nodes$1, node => {\n var _node$persistence_UNS, _node$persistence_UNS2, _node$persistence_UNS3, _node$persistence_UNS4;\n\n return {\n persistence_UNSTABLE: {\n type: (_node$persistence_UNS = (_node$persistence_UNS2 = node.persistence_UNSTABLE) === null || _node$persistence_UNS2 === void 0 ? void 0 : _node$persistence_UNS2.type) !== null && _node$persistence_UNS !== void 0 ? _node$persistence_UNS : 'none',\n backButton: (_node$persistence_UNS3 = (_node$persistence_UNS4 = node.persistence_UNSTABLE) === null || _node$persistence_UNS4 === void 0 ? void 0 : _node$persistence_UNS4.backButton) !== null && _node$persistence_UNS3 !== void 0 ? _node$persistence_UNS3 : false\n }\n };\n }); // Filter on existance in atomValues so that externally-visible rules\n // are also applied to modified atoms (specifically exclude selectors):\n\n const modifiedAtoms = Recoil_filterSet(currentTree.dirtyAtoms, k => atomValues.has(k) || previousAtomValues.has(k));\n callback({\n atomValues,\n previousAtomValues,\n atomInfo,\n modifiedAtoms,\n transactionMetadata: { ...currentTree.transactionMetadata\n }\n });\n }, [callback]));\n}\n\nfunction useRecoilTransactionObserver(callback) {\n useTransactionSubscription(useCallback$1(store => {\n const snapshot = cloneSnapshot$1(store, 'current');\n const previousSnapshot = cloneSnapshot$1(store, 'previous');\n callback({\n snapshot,\n previousSnapshot\n });\n }, [callback]));\n}\n\nfunction usePrevious(value) {\n const ref = useRef$2();\n useEffect$1(() => {\n ref.current = value;\n });\n return ref.current;\n} // Return a snapshot of the current state and subscribe to all state changes\n\n\nfunction useRecoilSnapshot() {\n const storeRef = useStoreRef$1();\n const [snapshot, setSnapshot] = useState$1(() => cloneSnapshot$1(storeRef.current));\n const previousSnapshot = usePrevious(snapshot);\n const timeoutID = useRef$2();\n useEffect$1(() => {\n if (timeoutID.current && !isSSR$2) {\n window.clearTimeout(timeoutID.current);\n }\n\n return snapshot.retain();\n }, [snapshot]);\n useTransactionSubscription(useCallback$1(store => setSnapshot(cloneSnapshot$1(store)), []));\n\n if (previousSnapshot !== snapshot && !isSSR$2) {\n if (timeoutID.current) {\n previousSnapshot === null || previousSnapshot === void 0 ? void 0 : previousSnapshot.release_INTERNAL();\n window.clearTimeout(timeoutID.current);\n }\n\n snapshot.retain();\n timeoutID.current = window.setTimeout(() => {\n snapshot.release_INTERNAL();\n timeoutID.current = null;\n }, SUSPENSE_TIMEOUT_MS);\n }\n\n return snapshot;\n}\n\nfunction useGotoRecoilSnapshot() {\n const storeRef = useStoreRef$1();\n return useCallback$1(snapshot => {\n var _storeState$nextTree;\n\n const storeState = storeRef.current.getState();\n const prev = (_storeState$nextTree = storeState.nextTree) !== null && _storeState$nextTree !== void 0 ? _storeState$nextTree : storeState.currentTree;\n const next = snapshot.getStore_INTERNAL().getState().currentTree;\n batchUpdates$2(() => {\n const keysToUpdate = new Set();\n\n for (const keys of [prev.atomValues.keys(), next.atomValues.keys()]) {\n for (const key of keys) {\n var _prev$atomValues$get, _next$atomValues$get;\n\n if (((_prev$atomValues$get = prev.atomValues.get(key)) === null || _prev$atomValues$get === void 0 ? void 0 : _prev$atomValues$get.contents) !== ((_next$atomValues$get = next.atomValues.get(key)) === null || _next$atomValues$get === void 0 ? void 0 : _next$atomValues$get.contents) && getNode$3(key).shouldRestoreFromSnapshots) {\n keysToUpdate.add(key);\n }\n }\n }\n\n keysToUpdate.forEach(key => {\n setRecoilValueLoadable$1(storeRef.current, new AbstractRecoilValue$3(key), next.atomValues.has(key) ? Recoil_nullthrows(next.atomValues.get(key)) : DEFAULT_VALUE$2);\n });\n storeRef.current.replaceState(state => {\n return { ...state,\n stateID: snapshot.getID_INTERNAL()\n };\n });\n });\n }, [storeRef]);\n}\n\nfunction useSetUnvalidatedAtomValues() {\n const storeRef = useStoreRef$1();\n return (values, transactionMetadata = {}) => {\n batchUpdates$2(() => {\n storeRef.current.addTransactionMetadata(transactionMetadata);\n values.forEach((value, key) => setUnvalidatedRecoilValue$2(storeRef.current, new AbstractRecoilValue$3(key), value));\n });\n };\n}\n\nclass Sentinel {}\n\nconst SENTINEL = new Sentinel();\n\nfunction useRecoilCallback(fn, deps) {\n const storeRef = useStoreRef$1();\n const gotoSnapshot = useGotoRecoilSnapshot();\n return useCallback$1((...args) => {\n function set(recoilState, newValueOrUpdater) {\n setRecoilValue$2(storeRef.current, recoilState, newValueOrUpdater);\n }\n\n function reset(recoilState) {\n setRecoilValue$2(storeRef.current, recoilState, DEFAULT_VALUE$2);\n } // Use currentTree for the snapshot to show the currently committed state\n\n\n const snapshot = cloneSnapshot$1(storeRef.current);\n let ret = SENTINEL;\n batchUpdates$2(() => {\n const errMsg = 'useRecoilCallback expects a function that returns a function: ' + 'it accepts a function of the type (RecoilInterface) => T = R ' + 'and returns a callback function T => R, where RecoilInterface is an ' + 'object {snapshot, set, ...} and T and R are the argument and return ' + 'types of the callback you want to create. Please see the docs ' + 'at recoiljs.org for details.';\n\n if (typeof fn !== 'function') {\n throw new Error(errMsg);\n } // flowlint-next-line unclear-type:off\n\n\n const cb = fn({\n set,\n reset,\n snapshot,\n gotoSnapshot\n });\n\n if (typeof cb !== 'function') {\n throw new Error(errMsg);\n }\n\n ret = cb(...args);\n });\n !!(ret instanceof Sentinel) ? process.env.NODE_ENV !== \"production\" ? Recoil_invariant(false, 'batchUpdates should return immediately') : Recoil_invariant(false) : void 0;\n return ret;\n }, deps != null ? [...deps, storeRef] : undefined // eslint-disable-line fb-www/react-hooks-deps\n );\n} // I don't see a way to avoid the any type here because we want to accept readable\n// and writable values with any type parameter, but normally with writable ones\n// RecoilState is not a subtype of RecoilState.\n\n\n// flowlint-line unclear-type:off\nfunction useRetain(toRetain) {\n if (!Recoil_gkx_1('recoil_memory_managament_2020')) {\n return;\n } // eslint-disable-next-line fb-www/react-hooks\n\n\n return useRetain_ACTUAL(toRetain);\n}\n\nfunction useRetain_ACTUAL(toRetain) {\n const array = Array.isArray(toRetain) ? toRetain : [toRetain];\n const retainables = array.map(a => a instanceof RetentionZone$3 ? a : a.key);\n const storeRef = useStoreRef$1();\n useEffect$1(() => {\n if (!Recoil_gkx_1('recoil_memory_managament_2020')) {\n return;\n }\n\n const store = storeRef.current;\n\n if (timeoutID.current && !isSSR$2) {\n // Already performed a temporary retain on render, simply cancel the release\n // of that temporary retain.\n window.clearTimeout(timeoutID.current);\n timeoutID.current = null;\n } else {\n // Log this since it's not clear that there's any scenario where it should happen.\n Recoil_recoverableViolation('Did not retain recoil value on render, or committed after timeout elapsed. This is fine, but odd.');\n\n for (const r of retainables) {\n updateRetainCount$2(store, r, 1);\n }\n }\n\n return () => {\n for (const r of retainables) {\n updateRetainCount$2(store, r, -1);\n }\n }; // eslint-disable-next-line fb-www/react-hooks-deps\n }, [storeRef, ...retainables]); // We want to retain if the component suspends. This is terrible but the Suspense\n // API affords us no better option. If we suspend and never commit after some\n // seconds, then release. The 'actual' retain/release in the effect above\n // cancels this.\n\n const timeoutID = useRef$2();\n const previousRetainables = usePrevious(retainables);\n\n if (!isSSR$2 && (previousRetainables === undefined || !Recoil_shallowArrayEqual(previousRetainables, retainables))) {\n const store = storeRef.current;\n\n for (const r of retainables) {\n updateRetainCount$2(store, r, 1);\n }\n\n if (previousRetainables) {\n for (const r of previousRetainables) {\n updateRetainCount$2(store, r, -1);\n }\n }\n\n if (timeoutID.current) {\n window.clearTimeout(timeoutID.current);\n }\n\n timeoutID.current = window.setTimeout(() => {\n timeoutID.current = null;\n\n for (const r of retainables) {\n updateRetainCount$2(store, r, -1);\n }\n }, SUSPENSE_TIMEOUT_MS);\n }\n}\n\nvar Recoil_Hooks = {\n recoilComponentGetRecoilValueCount_FOR_TESTING,\n useGotoRecoilSnapshot,\n useRecoilCallback,\n useRecoilInterface: useRecoilInterface_DEPRECATED,\n useRecoilSnapshot,\n useRecoilState,\n useRecoilStateLoadable,\n useRecoilTransactionObserver,\n useRecoilValue,\n useRecoilValueLoadable,\n useRetain,\n useResetRecoilState,\n useSetRecoilState,\n useSetUnvalidatedAtomValues,\n useTransactionObservation_DEPRECATED,\n useTransactionSubscription_DEPRECATED: useTransactionSubscription\n};\n\nconst {\n peekNodeInfo: peekNodeInfo$2\n} = Recoil_FunctionalCore;\n\nconst {\n useStoreRef: useStoreRef$2\n} = Recoil_RecoilRoot_react;\n\nfunction useGetRecoilValueInfo() {\n const storeRef = useStoreRef$2();\n return ({\n key\n }) => peekNodeInfo$2(storeRef.current, storeRef.current.getState().currentTree, key);\n}\n\nvar Recoil_useGetRecoilValueInfo = useGetRecoilValueInfo;\n\nconst {\n RecoilRoot: RecoilRoot$1,\n useStoreRef: useStoreRef$3\n} = Recoil_RecoilRoot_react;\n\n\n\nconst {\n useMemo: useMemo$2\n} = react;\n\nfunction useRecoilBridgeAcrossReactRoots() {\n const store = useStoreRef$3().current;\n return useMemo$2(() => {\n function RecoilBridge({\n children\n }) {\n return /*#__PURE__*/react.createElement(RecoilRoot$1, {\n store_INTERNAL: store\n }, children);\n }\n\n return RecoilBridge;\n }, [store]);\n}\n\nvar Recoil_useRecoilBridgeAcrossReactRoots = useRecoilBridgeAcrossReactRoots;\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @emails oncall+recoil\n * \n * @format\n */\n\nfunction isNode(object) {\n var _ownerDocument, _doc$defaultView;\n\n if (typeof window === 'undefined') {\n return false;\n }\n\n const doc = object != null ? (_ownerDocument = object.ownerDocument) !== null && _ownerDocument !== void 0 ? _ownerDocument : object : document;\n const defaultView = (_doc$defaultView = doc.defaultView) !== null && _doc$defaultView !== void 0 ? _doc$defaultView : window;\n return !!(object != null && (typeof defaultView.Node === 'function' ? object instanceof defaultView.Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string'));\n}\n\nvar Recoil_isNode = isNode;\n\nconst {\n isReactNative: isReactNative$1,\n isSSR: isSSR$3\n} = Recoil_Environment;\n\n\n\n\n\nfunction shouldNotBeFrozen(value) {\n // Primitives and functions:\n if (value === null || typeof value !== 'object') {\n return true;\n } // React elements:\n\n\n switch (typeof value.$$typeof) {\n case 'symbol':\n return true;\n\n case 'number':\n return true;\n } // Immutable structures:\n\n\n if (value['@@__IMMUTABLE_ITERABLE__@@'] != null || value['@@__IMMUTABLE_KEYED__@@'] != null || value['@@__IMMUTABLE_INDEXED__@@'] != null || value['@@__IMMUTABLE_ORDERED__@@'] != null || value['@@__IMMUTABLE_RECORD__@@'] != null) {\n return true;\n } // DOM nodes:\n\n\n if (Recoil_isNode(value)) {\n return true;\n }\n\n if (Recoil_isPromise(value)) {\n return true;\n }\n\n if (value instanceof Error) {\n return true;\n }\n\n if (ArrayBuffer.isView(value)) {\n return true;\n } // Some environments, just as Jest, don't work with the instanceof check\n\n\n if (!isSSR$3 && !isReactNative$1 && ( // $FlowFixMe(site=recoil) Window does not have a FlowType definition https://github.com/facebook/flow/issues/6709\n value === window || value instanceof Window)) {\n return true;\n }\n\n return false;\n} // Recursively freeze a value to enforce it is read-only.\n// This may also have minimal performance improvements for enumerating\n// objects (based on browser implementations, of course)\n\n\nfunction deepFreezeValue(value) {\n if (typeof value !== 'object' || shouldNotBeFrozen(value)) {\n return;\n }\n\n Object.freeze(value); // Make all properties read-only\n\n for (const key in value) {\n if (Object.prototype.hasOwnProperty.call(value, key)) {\n const prop = value[key]; // Prevent infinite recurssion for circular references.\n\n if (typeof prop === 'object' && prop != null && !Object.isFrozen(prop)) {\n deepFreezeValue(prop);\n }\n }\n }\n\n Object.seal(value); // This also makes existing properties non-configurable.\n}\n\nvar Recoil_deepFreezeValue = deepFreezeValue;\n\nconst TIME_WARNING_THRESHOLD_MS = 15;\n\nfunction stringify(x, opt, key) {\n // A optimization to avoid the more expensive JSON.stringify() for simple strings\n // This may lose protection for u2028 and u2029, though.\n if (typeof x === 'string' && !x.includes('\"') && !x.includes('\\\\')) {\n return `\"${x}\"`;\n } // Handle primitive types\n\n\n switch (typeof x) {\n case 'undefined':\n return '';\n // JSON.stringify(undefined) returns undefined, but we always want to return a string\n\n case 'boolean':\n return x ? 'true' : 'false';\n\n case 'number':\n case 'symbol':\n // case 'bigint': // BigInt is not supported in www\n return String(x);\n\n case 'string':\n // Add surrounding quotes and escape internal quotes\n return JSON.stringify(x);\n\n case 'function':\n if ((opt === null || opt === void 0 ? void 0 : opt.allowFunctions) !== true) {\n throw new Error('Attempt to serialize function in a Recoil cache key');\n }\n\n return `__FUNCTION(${x.name})__`;\n }\n\n if (x === null) {\n return 'null';\n } // Fallback case for unknown types\n\n\n if (typeof x !== 'object') {\n var _JSON$stringify;\n\n return (_JSON$stringify = JSON.stringify(x)) !== null && _JSON$stringify !== void 0 ? _JSON$stringify : '';\n } // Deal with all promises as equivalent for now.\n\n\n if (Recoil_isPromise(x)) {\n return '__PROMISE__';\n } // Arrays handle recursive stringification\n\n\n if (Array.isArray(x)) {\n return `[${x.map((v, i) => stringify(v, opt, i.toString()))}]`;\n } // If an object defines a toJSON() method, then use that to override the\n // serialization. This matches the behavior of JSON.stringify().\n // Pass the key for compatibility.\n // Immutable.js collections define this method to allow us to serialize them.\n\n\n if (typeof x.toJSON === 'function') {\n // flowlint-next-line unclear-type: off\n return stringify(x.toJSON(key), opt, key);\n } // For built-in Maps, sort the keys in a stable order instead of the\n // default insertion order. Support non-string keys.\n\n\n if (x instanceof Map) {\n const obj = {};\n\n for (const [k, v] of x) {\n // Stringify will escape any nested quotes\n obj[typeof k === 'string' ? k : stringify(k, opt)] = v;\n }\n\n return stringify(obj, opt, key);\n } // For built-in Sets, sort the keys in a stable order instead of the\n // default insertion order.\n\n\n if (x instanceof Set) {\n return stringify(Array.from(x).sort((a, b) => stringify(a, opt).localeCompare(stringify(b, opt))), opt, key);\n } // Anything else that is iterable serialize as an Array.\n\n\n if (Symbol !== undefined && x[Symbol.iterator] != null && typeof x[Symbol.iterator] === 'function') {\n // flowlint-next-line unclear-type: off\n return stringify(Array.from(x), opt, key);\n } // For all other Objects, sort the keys in a stable order.\n\n\n return `{${Object.keys(x).filter(key => x[key] !== undefined).sort() // stringify the key to add quotes and escape any nested slashes or quotes.\n .map(key => `${stringify(key, opt)}:${stringify(x[key], opt, key)}`).join(',')}}`;\n} // Utility similar to JSON.stringify() except:\n// * Serialize built-in Sets as an Array\n// * Serialize built-in Maps as an Object. Supports non-string keys.\n// * Serialize other iterables as arrays\n// * Sort the keys of Objects and Maps to have a stable order based on string conversion.\n// This overrides their default insertion order.\n// * Still uses toJSON() of any object to override serialization\n// * Support Symbols (though don't guarantee uniqueness)\n// * We could support BigInt, but Flow doesn't seem to like it.\n// See Recoil_stableStringify-test.js for examples\n\n\nfunction stableStringify(x, opt = {\n allowFunctions: false\n}) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof window !== 'undefined') {\n const startTime = window.performance ? window.performance.now() : 0;\n const str = stringify(x, opt);\n const endTime = window.performance ? window.performance.now() : 0;\n\n if (endTime - startTime > TIME_WARNING_THRESHOLD_MS) {\n /* eslint-disable fb-www/no-console */\n console.groupCollapsed(`Recoil: Spent ${endTime - startTime}ms computing a cache key`);\n console.warn(x, str);\n console.groupEnd();\n /* eslint-enable fb-www/no-console */\n }\n\n return str;\n }\n }\n\n return stringify(x, opt);\n}\n\nvar Recoil_stableStringify = stableStringify;\n\nclass TreeCache {\n constructor(options) {\n var _options$onHit, _options$onSet, _options$mapNodeValue;\n\n _defineProperty(this, \"_numLeafs\", void 0);\n\n _defineProperty(this, \"_root\", void 0);\n\n _defineProperty(this, \"_onHit\", void 0);\n\n _defineProperty(this, \"_onSet\", void 0);\n\n _defineProperty(this, \"_mapNodeValue\", void 0);\n\n this._numLeafs = 0;\n this._root = null;\n this._onHit = (_options$onHit = options === null || options === void 0 ? void 0 : options.onHit) !== null && _options$onHit !== void 0 ? _options$onHit : () => {};\n this._onSet = (_options$onSet = options === null || options === void 0 ? void 0 : options.onSet) !== null && _options$onSet !== void 0 ? _options$onSet : () => {};\n this._mapNodeValue = (_options$mapNodeValue = options === null || options === void 0 ? void 0 : options.mapNodeValue) !== null && _options$mapNodeValue !== void 0 ? _options$mapNodeValue : val => val;\n }\n\n size() {\n return this._numLeafs;\n } // TODO: nodeCount(): number\n\n\n root() {\n return this._root;\n }\n\n get(getNodeValue, handlers) {\n var _this$getLeafNode;\n\n return (_this$getLeafNode = this.getLeafNode(getNodeValue, handlers)) === null || _this$getLeafNode === void 0 ? void 0 : _this$getLeafNode.value;\n }\n\n getLeafNode(getNodeValue, handlers) {\n return findLeaf(this.root(), nodeKey => this._mapNodeValue(getNodeValue(nodeKey)), {\n onNodeVisit: node => {\n handlers === null || handlers === void 0 ? void 0 : handlers.onNodeVisit(node);\n\n if (node.type === 'leaf') {\n this._onHit(node);\n }\n }\n });\n }\n\n set(route, value, handlers) {\n let leafNode;\n const newRoot = addLeaf(this.root(), route.map(([nodeKey, nodeValue]) => [nodeKey, this._mapNodeValue(nodeValue)]), null, value, null, {\n onNodeVisit: node => {\n handlers === null || handlers === void 0 ? void 0 : handlers.onNodeVisit(node);\n\n if (node.type === 'leaf') {\n leafNode = node;\n }\n }\n });\n\n if (!this.root()) {\n this._root = newRoot;\n }\n\n this._numLeafs++;\n\n this._onSet(Recoil_nullthrows(leafNode));\n }\n\n delete(node) {\n if (!this.root()) {\n return false;\n }\n\n const root = Recoil_nullthrows(this.root());\n const existsInTree = pruneNodeFromTree(root, node, node.parent);\n\n if (!existsInTree) {\n return false;\n }\n\n if (node === root || root.type === 'branch' && !root.branches.size) {\n this._root = null;\n this._numLeafs = 0;\n return true;\n }\n\n this._numLeafs -= countDownstreamLeaves(node);\n return true;\n }\n\n clear() {\n this._numLeafs = 0;\n this._root = null;\n }\n\n}\n\nconst findLeaf = (root, getNodeValue, handlers) => {\n var _handlers$onNodeVisit;\n\n if (root == null) {\n return undefined;\n }\n\n handlers === null || handlers === void 0 ? void 0 : (_handlers$onNodeVisit = handlers.onNodeVisit) === null || _handlers$onNodeVisit === void 0 ? void 0 : _handlers$onNodeVisit.call(handlers, root);\n\n if (root.type === 'leaf') {\n return root;\n }\n\n const nodeValue = getNodeValue(root.nodeKey);\n return findLeaf(root.branches.get(nodeValue), getNodeValue, handlers);\n};\n\nconst addLeaf = (root, route, parent, value, branchKey, handlers) => {\n var _handlers$onNodeVisit2;\n\n let node;\n\n if (root == null) {\n if (route.length === 0) {\n node = {\n type: 'leaf',\n value,\n parent,\n branchKey\n };\n } else {\n const [path, ...rest] = route;\n const [nodeKey, nodeValue] = path;\n node = {\n type: 'branch',\n nodeKey,\n parent,\n branches: new Map(),\n branchKey\n };\n node.branches.set(nodeValue, addLeaf(null, rest, node, value, nodeValue, handlers));\n }\n } else {\n node = root;\n\n if (route.length) {\n const [path, ...rest] = route;\n const [nodeKey, nodeValue] = path;\n !(root.type === 'branch' && root.nodeKey === nodeKey) ? process.env.NODE_ENV !== \"production\" ? Recoil_invariant(false, 'Existing cache must have a branch midway through the route with matching node key') : Recoil_invariant(false) : void 0;\n root.branches.set(nodeValue, addLeaf(root.branches.get(nodeValue), rest, root, value, nodeValue, handlers));\n }\n }\n\n handlers === null || handlers === void 0 ? void 0 : (_handlers$onNodeVisit2 = handlers.onNodeVisit) === null || _handlers$onNodeVisit2 === void 0 ? void 0 : _handlers$onNodeVisit2.call(handlers, node);\n return node;\n};\n\nconst pruneNodeFromTree = (root, node, parent) => {\n if (!parent) {\n return root === node;\n }\n\n parent.branches.delete(node.branchKey);\n return pruneUpstreamBranches(root, parent, parent.parent);\n};\n\nconst pruneUpstreamBranches = (root, branchNode, parent) => {\n if (!parent) {\n return root === branchNode;\n }\n\n if (branchNode.branches.size === 0) {\n parent.branches.delete(branchNode.branchKey);\n }\n\n return pruneUpstreamBranches(root, parent, parent.parent);\n};\n\nconst countDownstreamLeaves = node => node.type === 'leaf' ? 1 : Array.from(node.branches.values()).reduce((sum, currNode) => sum + countDownstreamLeaves(currNode), 0);\n\nvar Recoil_TreeCache = {\n TreeCache\n};\n\nvar Recoil_TreeCache_1 = Recoil_TreeCache.TreeCache;\n\nvar Recoil_TreeCache$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n TreeCache: Recoil_TreeCache_1\n});\n\nclass LRUCache {\n constructor(options) {\n var _options$mapKey;\n\n _defineProperty(this, \"_maxSize\", void 0);\n\n _defineProperty(this, \"_size\", void 0);\n\n _defineProperty(this, \"_head\", void 0);\n\n _defineProperty(this, \"_tail\", void 0);\n\n _defineProperty(this, \"_map\", void 0);\n\n _defineProperty(this, \"_keyMapper\", void 0);\n\n this._maxSize = options.maxSize;\n this._size = 0;\n this._head = null;\n this._tail = null;\n this._map = new Map();\n this._keyMapper = (_options$mapKey = options.mapKey) !== null && _options$mapKey !== void 0 ? _options$mapKey : v => v;\n }\n\n head() {\n return this._head;\n }\n\n tail() {\n return this._tail;\n }\n\n size() {\n return this._size;\n }\n\n maxSize() {\n return this._maxSize;\n }\n\n has(key) {\n return this._map.has(this._keyMapper(key));\n }\n\n get(key) {\n const mappedKey = this._keyMapper(key);\n\n const node = this._map.get(mappedKey);\n\n if (!node) {\n return undefined;\n }\n\n this.set(key, node.value);\n return node.value;\n }\n\n set(key, val) {\n const mappedKey = this._keyMapper(key);\n\n const existingNode = this._map.get(mappedKey);\n\n if (existingNode) {\n this.delete(key);\n }\n\n const head = this.head();\n const node = {\n key,\n right: head,\n left: null,\n value: val\n };\n\n if (head) {\n head.left = node;\n } else {\n this._tail = node;\n }\n\n this._map.set(mappedKey, node);\n\n this._head = node;\n this._size++;\n\n this._maybeDeleteLRU();\n }\n\n _maybeDeleteLRU() {\n if (this.size() > this.maxSize()) {\n this.deleteLru();\n }\n }\n\n deleteLru() {\n const tail = this.tail();\n\n if (tail) {\n this.delete(tail.key);\n }\n }\n\n delete(key) {\n const mappedKey = this._keyMapper(key);\n\n if (!this._size || !this._map.has(mappedKey)) {\n return;\n }\n\n const node = Recoil_nullthrows(this._map.get(mappedKey));\n const right = node.right;\n const left = node.left;\n\n if (right) {\n right.left = node.left;\n }\n\n if (left) {\n left.right = node.right;\n }\n\n if (node === this.head()) {\n this._head = right;\n }\n\n if (node === this.tail()) {\n this._tail = left;\n }\n\n this._map.delete(mappedKey);\n\n this._size--;\n }\n\n clear() {\n this._size = 0;\n this._head = null;\n this._tail = null;\n this._map = new Map();\n }\n\n}\n\nvar Recoil_LRUCache = {\n LRUCache\n};\n\nvar Recoil_LRUCache_1 = Recoil_LRUCache.LRUCache;\n\nvar Recoil_LRUCache$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n LRUCache: Recoil_LRUCache_1\n});\n\nconst {\n LRUCache: LRUCache$1\n} = Recoil_LRUCache$1;\n\nconst {\n TreeCache: TreeCache$1\n} = Recoil_TreeCache$1;\n\nfunction treeCacheLRU(maxSize, mapNodeValue = v => v) {\n const lruCache = new LRUCache$1({\n maxSize\n });\n const cache = new TreeCache$1({\n mapNodeValue,\n onHit: node => {\n lruCache.set(node, true);\n },\n onSet: node => {\n const lruNode = lruCache.tail();\n lruCache.set(node, true);\n\n if (lruNode && cache.size() > maxSize) {\n cache.delete(lruNode.key);\n }\n }\n });\n return cache;\n}\n\nvar Recoil_treeCacheLRU = treeCacheLRU;\n\nconst {\n TreeCache: TreeCache$2\n} = Recoil_TreeCache$1;\n\n\n\nconst defaultPolicy = {\n equality: 'reference',\n eviction: 'none',\n maxSize: Infinity\n};\n\nfunction treeCacheFromPolicy({\n equality = defaultPolicy.equality,\n eviction = defaultPolicy.eviction,\n maxSize = defaultPolicy.maxSize\n} = defaultPolicy) {\n const valueMapper = getValueMapper(equality);\n const treeCache = getTreeCache(eviction, maxSize, valueMapper);\n return treeCache;\n}\n\nfunction getValueMapper(equality) {\n switch (equality) {\n case 'reference':\n return val => val;\n\n case 'value':\n return val => Recoil_stableStringify(val);\n }\n\n throw new Error(`Unrecognized equality policy ${equality}`);\n}\n\nfunction getTreeCache(eviction, maxSize, mapNodeValue) {\n switch (eviction) {\n case 'none':\n return new TreeCache$2({\n mapNodeValue\n });\n\n case 'lru':\n return Recoil_treeCacheLRU(Recoil_nullthrows(maxSize), mapNodeValue);\n }\n\n throw new Error(`Unrecognized eviction policy ${eviction}`);\n}\n\nvar Recoil_treeCacheFromPolicy = treeCacheFromPolicy;\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @emails oncall+recoil\n * \n * @format\n *\n * This is a stub for some integration into FB internal stuff\n */\nfunction startPerfBlock(_id) {\n return () => null;\n}\n\nvar Recoil_PerformanceTimings = {\n startPerfBlock\n};\n\nconst {\n CANCELED: CANCELED$2,\n Canceled: Canceled$1,\n loadableWithError: loadableWithError$1,\n loadableWithPromise: loadableWithPromise$1,\n loadableWithValue: loadableWithValue$1\n} = Recoil_Loadable;\n\n\n\nconst {\n getNodeLoadable: getNodeLoadable$2,\n peekNodeLoadable: peekNodeLoadable$1,\n setNodeValue: setNodeValue$3\n} = Recoil_FunctionalCore;\n\nconst {\n saveDependencyMapToStore: saveDependencyMapToStore$1\n} = Recoil_Graph;\n\nconst {\n DEFAULT_VALUE: DEFAULT_VALUE$3,\n RecoilValueNotReady: RecoilValueNotReady$2,\n getConfigDeletionHandler: getConfigDeletionHandler$1,\n registerNode: registerNode$1\n} = Recoil_Node;\n\nconst {\n isRecoilValue: isRecoilValue$3\n} = Recoil_RecoilValue$1;\n\nconst {\n AbstractRecoilValue: AbstractRecoilValue$4\n} = Recoil_RecoilValue$1;\n\nconst {\n setRecoilValueLoadable: setRecoilValueLoadable$2\n} = Recoil_RecoilValueInterface;\n\nconst {\n retainedByOptionWithDefault: retainedByOptionWithDefault$1\n} = Recoil_Retention;\n\nconst {\n cloneSnapshot: cloneSnapshot$2\n} = Recoil_Snapshot$1;\n\n\n\n\n\n\n\n\n\n\n\nconst {\n startPerfBlock: startPerfBlock$1\n} = Recoil_PerformanceTimings;\n\n\n\nconst dependencyStack = []; // for detecting circular dependencies.\n\nconst waitingStores = new Map();\n/* eslint-disable no-redeclare */\n\nconst getNewExecutionId = (() => {\n let executionId = 0;\n return () => executionId++;\n})();\n\nfunction getInitialExecutionInfo() {\n return {\n depValuesDiscoveredSoFarDuringAsyncWork: null,\n latestLoadable: null,\n latestExecutionId: null,\n stateVersion: null\n };\n}\n\nfunction selector(options) {\n const {\n key,\n get,\n cachePolicy_UNSTABLE: cachePolicy\n } = options;\n const set = options.set != null ? options.set : undefined; // flow\n\n const cache = Recoil_treeCacheFromPolicy(cachePolicy !== null && cachePolicy !== void 0 ? cachePolicy : {\n equality: 'reference',\n eviction: 'none'\n });\n const retainedBy = retainedByOptionWithDefault$1(options.retainedBy_UNSTABLE);\n const executionInfoMap = new Map();\n let liveStoresCount = 0;\n\n function selectorIsLive() {\n return !Recoil_gkx_1('recoil_memory_managament_2020') || liveStoresCount > 0;\n }\n\n function getExecutionInfo(store) {\n if (!executionInfoMap.has(store)) {\n executionInfoMap.set(store, getInitialExecutionInfo());\n }\n\n return Recoil_nullthrows(executionInfoMap.get(store));\n }\n\n function selectorInit(store) {\n liveStoresCount++;\n store.getState().knownSelectors.add(key); // FIXME remove knownSelectors?\n\n return () => {\n liveStoresCount--;\n store.getState().knownSelectors.delete(key);\n executionInfoMap.delete(store);\n };\n }\n\n function selectorShouldDeleteConfigOnRelease() {\n return getConfigDeletionHandler$1(key) !== undefined && !selectorIsLive();\n }\n\n function notifyStoreWhenAsyncSettles(store, loadable, executionId) {\n if (loadable.state === 'loading') {\n let stores = waitingStores.get(executionId);\n\n if (stores == null) {\n waitingStores.set(executionId, stores = new Set());\n }\n\n stores.add(store);\n }\n }\n\n function notifyStoresOfSettledAsync(newLoadable, executionId) {\n const stores = waitingStores.get(executionId);\n\n if (stores !== undefined) {\n for (const store of stores) {\n setRecoilValueLoadable$2(store, new AbstractRecoilValue$4(key), newLoadable);\n }\n\n waitingStores.delete(executionId);\n }\n }\n\n function getCachedNodeLoadable(store, state, key) {\n if (state.atomValues.has(key)) {\n return Recoil_nullthrows(state.atomValues.get(key));\n }\n\n const loadable = getNodeLoadable$2(store, state, key);\n const isKeyPointingToSelector = store.getState().knownSelectors.has(key);\n\n if (loadable.state !== 'loading' && isKeyPointingToSelector) {\n state.atomValues.set(key, loadable);\n }\n\n return loadable;\n }\n /**\n * This function attaches a then() and a catch() to a promise that was\n * returned from a selector's get() (either explicitly or implicitly by\n * running a function that uses the \"async\" keyword). If a selector's get()\n * returns a promise, we have two possibilities:\n *\n * 1. The promise will resolve, in which case it will have completely finished\n * executing without any remaining pending dependencies. No more retries\n * are needed and we can proceed with updating the cache and notifying\n * subscribers (if it is the latest execution, otherwise only the cache\n * will be updated and subscriptions will not be fired). This is the case\n * handled by the attached then() handler.\n *\n * 2. The promise will throw because it either has an error or it came across\n * an async dependency that has not yet resolved, in which case we will\n * call wrapDepdencyPromise(), whose responsibility is to handle dependency\n * promises. This case is handled by the attached catch() handler.\n *\n * Both branches will eventually resolve to the final result of the selector\n * (or an error if a real error occurred).\n *\n * The execution will run to completion even if it is stale, and its value\n * will be cached. But stale executions will not update global state or update\n * executionInfo as that is the responsibility of the 'latest' execution.\n *\n * Note this function should not be passed a promise that was thrown--AKA a\n * dependency promise. Dependency promises should be passed to\n * wrapPendingDependencyPromise()).\n */\n\n\n function wrapPendingPromise(store, promise, state, depValues, executionId) {\n return promise.then(value => {\n if (!selectorIsLive()) {\n // The selector was released since the request began; ignore the response.\n clearExecutionInfo(store, executionId);\n return CANCELED$2;\n }\n\n const loadable = loadableWithValue$1(value);\n maybeFreezeValue(value);\n setCache(state, depValuesToDepRoute(depValues), loadable);\n setDepsInStore(store, state, new Set(depValues.keys()), executionId);\n setLoadableInStoreToNotifyDeps(store, loadable, executionId);\n return {\n __value: value,\n __key: key\n };\n }).catch(errorOrPromise => {\n if (!selectorIsLive()) {\n // The selector was released since the request began; ignore the response.\n clearExecutionInfo(store, executionId);\n return CANCELED$2;\n }\n\n if (isLatestExecution(store, executionId)) {\n updateExecutionInfoDepValues(depValues, store, executionId);\n }\n\n if (Recoil_isPromise(errorOrPromise)) {\n return wrapPendingDependencyPromise(store, errorOrPromise, state, depValues, executionId);\n }\n\n const loadable = loadableWithError$1(errorOrPromise);\n maybeFreezeValue(errorOrPromise);\n setCache(state, depValuesToDepRoute(depValues), loadable);\n setDepsInStore(store, state, new Set(depValues.keys()), executionId);\n setLoadableInStoreToNotifyDeps(store, loadable, executionId);\n throw errorOrPromise;\n });\n }\n /**\n * This function attaches a then() and a catch() to a promise that was\n * thrown from a selector's get(). If a selector's get() throws a promise,\n * we have two possibilities:\n *\n * 1. The promise will resolve, meaning one of our selector's dependencies is\n * now available and we should \"retry\" our get() by running it again. This\n * is the case handled by the attached then() handler.\n *\n * 2. The promise will throw because something went wrong with the dependency\n * promise (in other words a real error occurred). This case is handled by\n * the attached catch() handler. If the dependency promise throws, it is\n * _always_ a real error and not another dependency promise (any dependency\n * promises would have been handled upstream).\n *\n * The then() branch will eventually resolve to the final result of the\n * selector (or an error if a real error occurs), and the catch() will always\n * resolve to an error because the dependency promise is a promise that was\n * wrapped upstream, meaning it will only resolve to its real value or to a\n * real error.\n *\n * The execution will run to completion even if it is stale, and its value\n * will be cached. But stale executions will not update global state or update\n * executionInfo as that is the responsibility of the 'latest' execution.\n *\n * Note this function should not be passed a promise that was returned from\n * get(). The intention is that this function is only passed promises that\n * were thrown due to a pending dependency. Promises returned by get() should\n * be passed to wrapPendingPromise() instead.\n */\n\n\n function wrapPendingDependencyPromise(store, promise, state, existingDeps, executionId) {\n return promise.then(resolvedDep => {\n if (!selectorIsLive()) {\n // The selector was released since the request began; ignore the response.\n clearExecutionInfo(store, executionId);\n return CANCELED$2;\n }\n\n if (resolvedDep instanceof Canceled$1) {\n Recoil_recoverableViolation('Selector was released while it had dependencies');\n return CANCELED$2;\n }\n\n const {\n __key: resolvedDepKey,\n __value: depValue\n } = resolvedDep !== null && resolvedDep !== void 0 ? resolvedDep : {};\n /**\n * We need to bypass the selector dep cache if the resolved dep was a\n * user-thrown promise because the selector dep cache will contain the\n * stale values of dependencies, causing an infinite evaluation loop.\n */\n\n let bypassSelectorDepCacheOnReevaluation = true;\n\n if (resolvedDepKey != null) {\n /**\n * Note for async atoms, this means we are changing the atom's value\n * in the store for the given version. This should be alright because\n * the version of state is now stale and a new version will have\n * already been triggered by the atom being resolved (see this logic\n * in Recoil_atom.js)\n */\n state.atomValues.set(resolvedDepKey, loadableWithValue$1(depValue));\n /**\n * We've added the resolved dependency to the selector dep cache, so\n * there's no need to bypass the cache\n */\n\n bypassSelectorDepCacheOnReevaluation = false;\n }\n\n const [loadable, depValues] = evaluateSelectorGetter(store, state, executionId, bypassSelectorDepCacheOnReevaluation);\n\n if (isLatestExecution(store, executionId)) {\n updateExecutionInfoDepValues(depValues, store, executionId);\n }\n\n maybeFreezeLoadableContents(loadable);\n\n if (loadable.state !== 'loading') {\n setCache(state, depValuesToDepRoute(depValues), loadable);\n setDepsInStore(store, state, new Set(depValues.keys()), executionId);\n setLoadableInStoreToNotifyDeps(store, loadable, executionId);\n }\n\n if (loadable.state === 'hasError') {\n throw loadable.contents;\n }\n\n if (loadable.state === 'hasValue') {\n return {\n __value: loadable.contents,\n __key: key\n };\n }\n /**\n * Returning promise here without wrapping as the wrapepr logic was\n * already done when we called evaluateSelectorGetter() to get this\n * loadable\n */\n\n\n return loadable.contents;\n }).catch(error => {\n if (!selectorIsLive()) {\n // The selector was released since the request began; ignore the response.\n clearExecutionInfo(store, executionId);\n return CANCELED$2;\n }\n\n const loadable = loadableWithError$1(error);\n maybeFreezeValue(error);\n setCache(state, depValuesToDepRoute(existingDeps), loadableWithError$1(error));\n setDepsInStore(store, state, new Set(existingDeps.keys()), executionId);\n setLoadableInStoreToNotifyDeps(store, loadable, executionId);\n throw error;\n });\n }\n\n function setLoadableInStoreToNotifyDeps(store, loadable, executionId) {\n if (isLatestExecution(store, executionId)) {\n setExecutionInfo(loadable, store);\n notifyStoresOfSettledAsync(loadable, executionId);\n }\n }\n\n function setDepsInStore(store, state, deps, executionId) {\n var _store$getState, _store$getState$curre, _store$getState2, _store$getState2$next;\n\n if (isLatestExecution(store, executionId) || state.version === ((_store$getState = store.getState()) === null || _store$getState === void 0 ? void 0 : (_store$getState$curre = _store$getState.currentTree) === null || _store$getState$curre === void 0 ? void 0 : _store$getState$curre.version) || state.version === ((_store$getState2 = store.getState()) === null || _store$getState2 === void 0 ? void 0 : (_store$getState2$next = _store$getState2.nextTree) === null || _store$getState2$next === void 0 ? void 0 : _store$getState2$next.version)) {\n var _store$getState$nextT, _store$getState3, _store$getState3$next;\n\n saveDependencyMapToStore$1(new Map([[key, deps]]), store, (_store$getState$nextT = (_store$getState3 = store.getState()) === null || _store$getState3 === void 0 ? void 0 : (_store$getState3$next = _store$getState3.nextTree) === null || _store$getState3$next === void 0 ? void 0 : _store$getState3$next.version) !== null && _store$getState$nextT !== void 0 ? _store$getState$nextT : store.getState().currentTree.version);\n }\n }\n\n function setNewDepInStore(store, state, deps, newDepKey, executionId) {\n deps.add(newDepKey);\n setDepsInStore(store, state, deps, executionId);\n }\n\n function evaluateSelectorGetter(store, state, executionId, bypassSelectorDepCache = false) {\n const endPerfBlock = startPerfBlock$1(key); // TODO T63965866: use execution ID here\n\n let result;\n let resultIsError = false;\n let loadable;\n const depValues = new Map();\n /**\n * Starting a fresh set of deps that we'll be using to update state. We're\n * starting a new set versus adding it in existing state deps because\n * the version of state that we update deps for may be a more recent version\n * than the version the selector was called with. This is because the latest\n * execution will update the deps of the current/latest version of state (\n * this is safe to do because the fact that the selector is the latest\n * execution means the deps we discover below are our best guess at the\n * deps for the current/latest state in the store)\n */\n\n const deps = new Set();\n setDepsInStore(store, state, deps, executionId);\n\n function getRecoilValue(recoilValue) {\n const {\n key: depKey\n } = recoilValue;\n setNewDepInStore(store, state, deps, depKey, executionId);\n const depLoadable = bypassSelectorDepCache ? getNodeLoadable$2(store, state, depKey) : getCachedNodeLoadable(store, state, depKey);\n maybeFreezeLoadableContents(depLoadable);\n depValues.set(depKey, depLoadable);\n\n if (depLoadable.state === 'hasValue') {\n return depLoadable.contents;\n }\n\n throw depLoadable.contents;\n }\n\n let gateCallback = false;\n\n const getCallback = fn => {\n return (...args) => {\n if (!gateCallback) {\n throw new Error('getCallback() should only be called asynchronously after the selector is evalutated. It can be used for selectors to return objects with callbacks that can obtain the current Recoil state without a subscription.');\n }\n\n const snapshot = cloneSnapshot$2(store);\n const cb = fn({\n snapshot\n });\n\n if (typeof cb !== 'function') {\n throw new Error('getCallback() expects a function that returns a function.');\n }\n\n return cb(...args);\n };\n };\n\n try {\n result = get({\n get: getRecoilValue,\n getCallback\n });\n result = isRecoilValue$3(result) ? getRecoilValue(result) : result;\n gateCallback = true;\n\n if (Recoil_isPromise(result)) {\n result = wrapPendingPromise(store, // $FlowFixMe[incompatible-call]\n result, state, depValues, executionId).finally(endPerfBlock);\n } else {\n endPerfBlock();\n }\n } catch (errorOrDepPromise) {\n result = errorOrDepPromise;\n\n if (Recoil_isPromise(result)) {\n result = wrapPendingDependencyPromise(store, // $FlowFixMe[incompatible-call]\n result, state, depValues, executionId).finally(endPerfBlock);\n } else {\n resultIsError = true;\n endPerfBlock();\n }\n }\n\n if (resultIsError) {\n loadable = loadableWithError$1(result);\n } else if (Recoil_isPromise(result)) {\n // $FlowFixMe[incompatible-call]\n loadable = loadableWithPromise$1(result);\n } else {\n // $FlowFixMe[incompatible-call]\n loadable = loadableWithValue$1(result);\n }\n\n maybeFreezeLoadableContents(loadable);\n return [loadable, depValues];\n }\n\n function getValFromCacheAndUpdatedDownstreamDeps(store, state) {\n const depsAfterCacheDone = new Set();\n const executionInfo = getExecutionInfo(store);\n const cachedVal = cache.get(nodeKey => {\n !(typeof nodeKey === 'string') ? process.env.NODE_ENV !== \"production\" ? Recoil_invariant(false, 'Cache nodeKey is type string') : Recoil_invariant(false) : void 0;\n const loadable = getCachedNodeLoadable(store, state, nodeKey);\n return loadable.contents;\n }, {\n onNodeVisit: node => {\n if (node.type === 'branch' && node.nodeKey !== key && typeof node.nodeKey === 'string') {\n depsAfterCacheDone.add(node.nodeKey);\n }\n }\n });\n /**\n * Ensure store contains correct dependencies if we hit the cache so that\n * the store deps and cache are in sync for a given state. This is important\n * because store deps are normally updated when new executions are created,\n * but cache hits don't trigger new executions but they still _may_ signifiy\n * a change in deps in the store if the store deps for this state are empty\n * or stale.\n */\n\n if (cachedVal) {\n setDepsInStore(store, state, depsAfterCacheDone, executionInfo.latestExecutionId);\n }\n\n return cachedVal;\n }\n /**\n * FIXME: dep keys should take into account the state of the loadable to\n * prevent the edge case where a loadable with an error and a loadable with\n * an error as a value are treated as the same thing incorrectly. For example\n * these two should be treated differently:\n *\n * selector({key: '', get: () => new Error('hi')});\n * selector({key: '', get () => {throw new Error('hi')}});\n *\n * With current implementation they are treated the same\n */\n\n\n function depValuesToDepRoute(depValues) {\n return Array.from(depValues.entries()).map(([key, valLoadable]) => [key, valLoadable.contents]);\n }\n\n function getValFromRunningNewExecutionAndUpdatedDeps(store, state) {\n const newExecutionId = getNewExecutionId();\n const [loadable, newDepValues] = evaluateSelectorGetter(store, state, newExecutionId);\n setExecutionInfo(loadable, store, newDepValues, newExecutionId, state);\n maybeSetCacheWithLoadable(state, depValuesToDepRoute(newDepValues), loadable);\n notifyStoreWhenAsyncSettles(store, loadable, newExecutionId);\n return loadable;\n }\n /**\n * Given a tree state, this function returns the \"selector result\", which is\n * defined as a size-2 tuple of [DependencyMap, Loadable].\n *\n * The selector's get() function will only be re-evaluated if _both_ of the\n * following statements are true:\n *\n * 1. The current dep values from the given state produced a cache key that\n * was not found in the cache.\n * 2. There is no currently running async execution OR there is an\n * async execution that is running, but after comparing the dep values in\n * the given state with the dep values that the execution has discovered so\n * far we find that at least one dep value has changed, in which case we\n * start a new execution (the previously running execution will continue to\n * run to completion, but only the new execution will be deemed the\n * 'latest' execution, meaning it will be the only execution that will\n * update global state when it is finished. Any non-latest executions will\n * run to completion and update the selector cache but not global state).\n */\n\n\n function getSelectorValAndUpdatedDeps(store, state) {\n const cachedVal = getValFromCacheAndUpdatedDownstreamDeps(store, state);\n\n if (cachedVal != null) {\n setExecutionInfo(cachedVal, store);\n return cachedVal;\n }\n\n const inProgressExecutionInfo = getExecutionInfoOfInProgressExecution(store, state); // FIXME: this won't work with custom caching b/c it uses separate cache\n\n if (inProgressExecutionInfo) {\n const executionInfo = inProgressExecutionInfo;\n notifyStoreWhenAsyncSettles(store, Recoil_nullthrows(executionInfo.latestLoadable), Recoil_nullthrows(executionInfo.latestExecutionId)); // FIXME: check after the fact to see if we made the right choice by waiting\n\n return Recoil_nullthrows(executionInfo.latestLoadable);\n }\n\n return getValFromRunningNewExecutionAndUpdatedDeps(store, state);\n }\n /**\n * Searches execution info across all stores to see if there is an in-progress\n * execution whose dependency values match the values of the requesting store.\n */\n\n\n function getExecutionInfoOfInProgressExecution(store, state) {\n var _Array$from$find;\n\n const [, executionInfo] = (_Array$from$find = Array.from(executionInfoMap.entries()).find(([, executionInfo]) => {\n return executionInfo.latestLoadable != null && executionInfo.latestExecutionId != null && !haveAsyncDepsChanged(store, state);\n })) !== null && _Array$from$find !== void 0 ? _Array$from$find : [];\n return executionInfo;\n }\n\n const mapOfCheckedVersions = new Map();\n\n function haveAsyncDepsChanged(store, state) {\n var _executionInfo$depVal, _mapOfCheckedVersions;\n\n const executionInfo = getExecutionInfo(store);\n const oldDepValues = (_executionInfo$depVal = executionInfo.depValuesDiscoveredSoFarDuringAsyncWork) !== null && _executionInfo$depVal !== void 0 ? _executionInfo$depVal : new Map();\n const cachedDepValuesCheckedForThisVersion = Array(((_mapOfCheckedVersions = mapOfCheckedVersions.get(state.version)) !== null && _mapOfCheckedVersions !== void 0 ? _mapOfCheckedVersions : new Map()).entries());\n const isCachedVersionSame = mapOfCheckedVersions.has(state.version) && cachedDepValuesCheckedForThisVersion.length === oldDepValues.size && cachedDepValuesCheckedForThisVersion.every(([nodeKey, nodeVal]) => {\n return oldDepValues.get(nodeKey) === nodeVal;\n });\n\n if (oldDepValues == null || state.version === executionInfo.stateVersion || isCachedVersionSame) {\n return false;\n }\n\n mapOfCheckedVersions.set(state.version, new Map(oldDepValues));\n return Array.from(oldDepValues).some(([nodeKey, oldVal]) => {\n const loadable = getCachedNodeLoadable(store, state, nodeKey);\n return loadable.contents !== oldVal.contents &&\n /**\n * FIXME: in the condition below we're making the assumption that a\n * dependency that goes from loading to having a value is always because\n * the dependency resolved to that value, so we don't count it as a dep\n * change as the normal retry loop will handle retrying in response to a\n * resolved async dep. This is an incorrect assumption for the edge case\n * where there is an async selector that is loading, and while it is\n * loading one of its dependencies changes, triggering a new execution,\n * and that new execution produces a value synchronously (we don't make\n * that assumption for asynchronous work b/c it's guaranteed that a\n * loadable that goes from 'loading' to 'loading' in a new loadable is\n * a dep change).\n */\n !(oldVal.state === 'loading' && loadable.state !== 'loading');\n });\n }\n /**\n * This function will update the selector's execution info when the selector\n * has either finished running an execution or has started a new execution. If\n * the given loadable is in a 'loading' state, the intention is that a new\n * execution has started. Otherwise, the intention is that an execution has\n * just finished.\n */\n\n\n function setExecutionInfo(loadable, store, depValues, newExecutionId, state) {\n const executionInfo = getExecutionInfo(store);\n\n if (loadable.state === 'loading') {\n executionInfo.depValuesDiscoveredSoFarDuringAsyncWork = depValues;\n executionInfo.latestExecutionId = newExecutionId;\n executionInfo.latestLoadable = loadable;\n executionInfo.stateVersion = state === null || state === void 0 ? void 0 : state.version;\n } else {\n executionInfo.depValuesDiscoveredSoFarDuringAsyncWork = null;\n executionInfo.latestExecutionId = null;\n executionInfo.latestLoadable = null;\n executionInfo.stateVersion = null;\n }\n }\n /**\n * Conditionally updates the cache with a given loadable.\n *\n * We only cache loadables that are not loading because our cache keys are\n * based on dep values, which are in an unfinished state for loadables that\n * have a 'loading' state (new deps may be discovered while the selector\n * runs its async code). We never want to cache partial dependencies b/c it\n * could lead to errors, such as prematurely returning the result based on a\n * partial list of deps-- we need the full list of deps to ensure that we\n * are returning the correct result from cache.\n */\n\n\n function maybeSetCacheWithLoadable(state, depRoute, loadable) {\n if (loadable.state !== 'loading') {\n setCache(state, depRoute, loadable);\n }\n }\n\n function updateExecutionInfoDepValues(depValues, store, executionId) {\n const executionInfo = getExecutionInfo(store);\n\n if (isLatestExecution(store, executionId)) {\n executionInfo.depValuesDiscoveredSoFarDuringAsyncWork = depValues;\n }\n }\n\n function clearExecutionInfo(store, executionId) {\n if (isLatestExecution(store, executionId)) {\n executionInfoMap.delete(store);\n }\n }\n\n function isLatestExecution(store, executionId) {\n const executionInfo = getExecutionInfo(store);\n return executionId === executionInfo.latestExecutionId;\n }\n\n function maybeFreezeLoadableContents(loadable) {\n if (loadable.state !== 'loading') {\n maybeFreezeValue(loadable.contents);\n }\n }\n\n function maybeFreezeValue(val) {\n if (process.env.NODE_ENV !== \"production\") {\n if (Boolean(options.dangerouslyAllowMutability) === false) {\n Recoil_deepFreezeValue(val);\n }\n }\n }\n\n function setCache(state, cacheRoute, loadable) {\n state.atomValues.set(key, loadable);\n cache.set(cacheRoute, loadable);\n }\n\n function detectCircularDependencies(fn) {\n if (dependencyStack.includes(key)) {\n const message = `Recoil selector has circular dependencies: ${dependencyStack.slice(dependencyStack.indexOf(key)).join(' \\u2192 ')}`;\n return loadableWithError$1(new Error(message));\n }\n\n dependencyStack.push(key);\n\n try {\n return fn();\n } finally {\n dependencyStack.pop();\n }\n }\n\n function selectorPeek(store, state) {\n const cacheVal = cache.get(nodeKey => {\n !(typeof nodeKey === 'string') ? process.env.NODE_ENV !== \"production\" ? Recoil_invariant(false, 'Cache nodeKey is type string') : Recoil_invariant(false) : void 0;\n const peek = peekNodeLoadable$1(store, state, nodeKey);\n return peek === null || peek === void 0 ? void 0 : peek.contents;\n });\n return cacheVal;\n }\n\n function selectorGet(store, state) {\n return detectCircularDependencies(() => getSelectorValAndUpdatedDeps(store, state));\n }\n\n function invalidateSelector(state) {\n state.atomValues.delete(key);\n }\n\n if (set != null) {\n /**\n * ES5 strict mode prohibits defining non-top-level function declarations,\n * so don't use function declaration syntax here\n */\n const selectorSet = (store, state, newValue) => {\n let syncSelectorSetFinished = false;\n const writes = new Map();\n\n function getRecoilValue({\n key\n }) {\n if (syncSelectorSetFinished) {\n throw new Error('Recoil: Async selector sets are not currently supported.');\n }\n\n const loadable = getCachedNodeLoadable(store, state, key);\n maybeFreezeLoadableContents(loadable);\n\n if (loadable.state === 'hasValue') {\n return loadable.contents;\n } else if (loadable.state === 'loading') {\n throw new RecoilValueNotReady$2(key);\n } else {\n throw loadable.contents;\n }\n }\n\n function setRecoilState(recoilState, valueOrUpdater) {\n if (syncSelectorSetFinished) {\n throw new Error('Recoil: Async selector sets are not currently supported.');\n }\n\n const newValue = typeof valueOrUpdater === 'function' ? // cast to any because we can't restrict type S from being a function itself without losing support for opaque types\n // flowlint-next-line unclear-type:off\n valueOrUpdater(getRecoilValue(recoilState)) : valueOrUpdater;\n const upstreamWrites = setNodeValue$3(store, state, recoilState.key, newValue);\n upstreamWrites.forEach((v, k) => writes.set(k, v));\n }\n\n function resetRecoilState(recoilState) {\n setRecoilState(recoilState, DEFAULT_VALUE$3);\n }\n\n const ret = set({\n set: setRecoilState,\n get: getRecoilValue,\n reset: resetRecoilState\n }, newValue); // set should be a void method, but if the user makes it `async`, then it\n // will return a Promise, which we don't currently support.\n\n if (ret !== undefined) {\n throw Recoil_isPromise(ret) ? new Error('Recoil: Async selector sets are not currently supported.') : new Error('Recoil: selector set should be a void function.');\n }\n\n syncSelectorSetFinished = true;\n return writes;\n };\n\n return registerNode$1({\n key,\n peek: selectorPeek,\n get: selectorGet,\n set: selectorSet,\n init: selectorInit,\n invalidate: invalidateSelector,\n shouldDeleteConfigOnRelease: selectorShouldDeleteConfigOnRelease,\n dangerouslyAllowMutability: options.dangerouslyAllowMutability,\n shouldRestoreFromSnapshots: false,\n retainedBy\n });\n } else {\n return registerNode$1({\n key,\n peek: selectorPeek,\n get: selectorGet,\n init: selectorInit,\n invalidate: invalidateSelector,\n shouldDeleteConfigOnRelease: selectorShouldDeleteConfigOnRelease,\n dangerouslyAllowMutability: options.dangerouslyAllowMutability,\n shouldRestoreFromSnapshots: false,\n retainedBy\n });\n }\n}\n/* eslint-enable no-redeclare */\n\n\nvar Recoil_selector = selector;\n\n// @fb-only: const {scopedAtom} = require('Recoil_ScopedAtom');\nconst {\n loadableWithError: loadableWithError$2,\n loadableWithPromise: loadableWithPromise$2,\n loadableWithValue: loadableWithValue$2\n} = Recoil_Loadable;\n\nconst {\n DEFAULT_VALUE: DEFAULT_VALUE$4,\n DefaultValue: DefaultValue$2,\n getConfigDeletionHandler: getConfigDeletionHandler$2,\n registerNode: registerNode$2,\n setConfigDeletionHandler: setConfigDeletionHandler$1\n} = Recoil_Node;\n\nconst {\n isRecoilValue: isRecoilValue$4\n} = Recoil_RecoilValue$1;\n\nconst {\n markRecoilValueModified: markRecoilValueModified$1,\n setRecoilValue: setRecoilValue$3,\n setRecoilValueLoadable: setRecoilValueLoadable$3\n} = Recoil_RecoilValueInterface;\n\nconst {\n retainedByOptionWithDefault: retainedByOptionWithDefault$2\n} = Recoil_Retention;\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction baseAtom(options) {\n const {\n key,\n persistence_UNSTABLE: persistence\n } = options;\n const retainedBy = retainedByOptionWithDefault$2(options.retainedBy_UNSTABLE);\n let liveStoresCount = 0;\n let defaultLoadable = Recoil_isPromise(options.default) ? loadableWithPromise$2(options.default.then(value => {\n defaultLoadable = loadableWithValue$2(value); // TODO Temporary disable Flow due to pending selector_NEW refactor\n\n const promiseInfo = {\n __key: key,\n __value: value\n };\n return promiseInfo;\n }).catch(error => {\n defaultLoadable = loadableWithError$2(error);\n throw error;\n })) : loadableWithValue$2(options.default);\n let cachedAnswerForUnvalidatedValue = undefined; // Cleanup handlers for this atom\n // Rely on stable reference equality of the store to use it as a key per \n\n const cleanupEffectsByStore = new Map();\n\n function wrapPendingPromise(store, promise) {\n const wrappedPromise = promise.then(value => {\n var _store$getState$nextT, _state$atomValues$get;\n\n const state = (_store$getState$nextT = store.getState().nextTree) !== null && _store$getState$nextT !== void 0 ? _store$getState$nextT : store.getState().currentTree;\n\n if (((_state$atomValues$get = state.atomValues.get(key)) === null || _state$atomValues$get === void 0 ? void 0 : _state$atomValues$get.contents) === wrappedPromise) {\n setRecoilValue$3(store, node, value);\n }\n\n return {\n __key: key,\n __value: value\n };\n }).catch(error => {\n var _store$getState$nextT2, _state$atomValues$get2;\n\n const state = (_store$getState$nextT2 = store.getState().nextTree) !== null && _store$getState$nextT2 !== void 0 ? _store$getState$nextT2 : store.getState().currentTree;\n\n if (((_state$atomValues$get2 = state.atomValues.get(key)) === null || _state$atomValues$get2 === void 0 ? void 0 : _state$atomValues$get2.contents) === wrappedPromise) {\n setRecoilValueLoadable$3(store, node, loadableWithError$2(error));\n }\n\n throw error;\n });\n return wrappedPromise;\n }\n\n function initAtom(store, initState, trigger) {\n liveStoresCount++;\n const alreadyKnown = store.getState().knownAtoms.has(key);\n store.getState().knownAtoms.add(key); // Setup async defaults to notify subscribers when they resolve\n\n if (defaultLoadable.state === 'loading') {\n const notifyDefaultSubscribers = () => {\n var _store$getState$nextT3;\n\n const state = (_store$getState$nextT3 = store.getState().nextTree) !== null && _store$getState$nextT3 !== void 0 ? _store$getState$nextT3 : store.getState().currentTree;\n\n if (!state.atomValues.has(key)) {\n markRecoilValueModified$1(store, node);\n }\n };\n\n defaultLoadable.contents.then(notifyDefaultSubscribers).catch(notifyDefaultSubscribers);\n } // Run Atom Effects\n // This state is scoped by Store, since this is in the initAtom() closure\n\n\n let initValue = DEFAULT_VALUE$4;\n let pendingSetSelf = null;\n\n if (options.effects_UNSTABLE != null && !alreadyKnown) {\n let duringInit = true;\n\n const setSelf = effect => valueOrUpdater => {\n if (duringInit) {\n const currentValue = initValue instanceof DefaultValue$2 || Recoil_isPromise(initValue) ? defaultLoadable.state === 'hasValue' ? defaultLoadable.contents : DEFAULT_VALUE$4 : initValue;\n initValue = typeof valueOrUpdater === 'function' ? // cast to any because we can't restrict T from being a function without losing support for opaque types\n valueOrUpdater(currentValue) // flowlint-line unclear-type:off\n : valueOrUpdater; // Avoid calling onSet() when setSelf() initializes with a Promise\n\n if (Recoil_isPromise(initValue)) {\n initValue = initValue.then(value => {\n pendingSetSelf = {\n effect,\n value\n };\n return value;\n });\n }\n } else {\n if (Recoil_isPromise(valueOrUpdater)) {\n throw new Error('Setting atoms to async values is not implemented.');\n }\n\n if (typeof valueOrUpdater !== 'function') {\n pendingSetSelf = {\n effect,\n value: valueOrUpdater\n };\n }\n\n setRecoilValue$3(store, node, typeof valueOrUpdater === 'function' ? currentValue => {\n const newValue = // cast to any because we can't restrict T from being a function without losing support for opaque types\n valueOrUpdater(currentValue); // flowlint-line unclear-type:off\n\n pendingSetSelf = {\n effect,\n value: newValue\n };\n return newValue;\n } : valueOrUpdater);\n }\n };\n\n const resetSelf = effect => () => setSelf(effect)(DEFAULT_VALUE$4);\n\n const onSet = effect => handler => {\n store.subscribeToTransactions(currentStore => {\n // eslint-disable-next-line prefer-const\n let {\n currentTree,\n previousTree\n } = currentStore.getState();\n\n if (!previousTree) {\n Recoil_recoverableViolation('Transaction subscribers notified without a next tree being present -- this is a bug in Recoil');\n previousTree = currentTree; // attempt to trundle on\n }\n\n const newLoadable = currentTree.atomValues.get(key);\n\n if (newLoadable == null || newLoadable.state === 'hasValue') {\n var _previousTree$atomVal, _pendingSetSelf, _pendingSetSelf2, _pendingSetSelf3;\n\n const newValue = newLoadable != null ? newLoadable.contents : DEFAULT_VALUE$4;\n const oldLoadable = (_previousTree$atomVal = previousTree.atomValues.get(key)) !== null && _previousTree$atomVal !== void 0 ? _previousTree$atomVal : defaultLoadable;\n const oldValue = oldLoadable.state === 'hasValue' ? oldLoadable.contents : DEFAULT_VALUE$4; // TODO This isn't actually valid, use as a placeholder for now.\n // Ignore atom value changes that were set via setSelf() in the same effect.\n // We will still properly call the handler if there was a subsequent\n // set from something other than an atom effect which was batched\n // with the `setSelf()` call. However, we may incorrectly ignore\n // the handler if the subsequent batched call happens to set the\n // atom to the exact same value as the `setSelf()`. But, in that\n // case, it was kind of a noop, so the semantics are debatable..\n\n if (((_pendingSetSelf = pendingSetSelf) === null || _pendingSetSelf === void 0 ? void 0 : _pendingSetSelf.effect) !== effect || ((_pendingSetSelf2 = pendingSetSelf) === null || _pendingSetSelf2 === void 0 ? void 0 : _pendingSetSelf2.value) !== newValue) {\n handler(newValue, oldValue);\n } else if (((_pendingSetSelf3 = pendingSetSelf) === null || _pendingSetSelf3 === void 0 ? void 0 : _pendingSetSelf3.effect) === effect) {\n pendingSetSelf = null;\n }\n }\n }, key);\n };\n\n for (const effect of (_options$effects_UNST = options.effects_UNSTABLE) !== null && _options$effects_UNST !== void 0 ? _options$effects_UNST : []) {\n var _options$effects_UNST;\n\n const cleanup = effect({\n node,\n trigger,\n setSelf: setSelf(effect),\n resetSelf: resetSelf(effect),\n onSet: onSet(effect)\n });\n\n if (cleanup != null) {\n cleanupEffectsByStore.set(store, cleanup);\n }\n }\n\n duringInit = false;\n } // Mutate initial state in place since we know there are no other subscribers\n // since we are the ones initializing on first use.\n\n\n if (!(initValue instanceof DefaultValue$2)) {\n var _store$getState$nextT4;\n\n const initLoadable = Recoil_isPromise(initValue) ? loadableWithPromise$2(wrapPendingPromise(store, initValue)) : loadableWithValue$2(initValue);\n initState.atomValues.set(key, initLoadable); // If there is a pending transaction, then also mutate the next state tree.\n // This could happen if the atom was first initialized in an action that\n // also updated some other atom's state.\n\n (_store$getState$nextT4 = store.getState().nextTree) === null || _store$getState$nextT4 === void 0 ? void 0 : _store$getState$nextT4.atomValues.set(key, initLoadable);\n }\n\n return () => {\n var _cleanupEffectsByStor;\n\n liveStoresCount--;\n (_cleanupEffectsByStor = cleanupEffectsByStore.get(store)) === null || _cleanupEffectsByStor === void 0 ? void 0 : _cleanupEffectsByStor();\n cleanupEffectsByStore.delete(store);\n store.getState().knownAtoms.delete(key); // FIXME remove knownAtoms?\n };\n }\n\n function peekAtom(_store, state) {\n var _ref, _state$atomValues$get3, _cachedAnswerForUnval;\n\n return (_ref = (_state$atomValues$get3 = state.atomValues.get(key)) !== null && _state$atomValues$get3 !== void 0 ? _state$atomValues$get3 : (_cachedAnswerForUnval = cachedAnswerForUnvalidatedValue) === null || _cachedAnswerForUnval === void 0 ? void 0 : _cachedAnswerForUnval[1]) !== null && _ref !== void 0 ? _ref : defaultLoadable;\n }\n\n function getAtom(_store, state) {\n if (state.atomValues.has(key)) {\n // Atom value is stored in state:\n return Recoil_nullthrows(state.atomValues.get(key));\n } else if (state.nonvalidatedAtoms.has(key)) {\n // Atom value is stored but needs validation before use.\n // We might have already validated it and have a cached validated value:\n if (cachedAnswerForUnvalidatedValue != null) {\n return cachedAnswerForUnvalidatedValue;\n }\n\n if (persistence == null) {\n Recoil_expectationViolation(`Tried to restore a persisted value for atom ${key} but it has no persistence settings.`);\n return defaultLoadable;\n }\n\n const nonvalidatedValue = state.nonvalidatedAtoms.get(key);\n const validatorResult = persistence.validator(nonvalidatedValue, DEFAULT_VALUE$4);\n const validatedValueLoadable = validatorResult instanceof DefaultValue$2 ? defaultLoadable : loadableWithValue$2(validatorResult);\n cachedAnswerForUnvalidatedValue = validatedValueLoadable;\n return cachedAnswerForUnvalidatedValue;\n } else {\n return defaultLoadable;\n }\n }\n\n function invalidateAtom() {\n cachedAnswerForUnvalidatedValue = undefined;\n }\n\n function setAtom(_store, state, newValue) {\n // Bail out if we're being set to the existing value, or if we're being\n // reset but have no stored value (validated or unvalidated) to reset from:\n if (state.atomValues.has(key)) {\n const existing = Recoil_nullthrows(state.atomValues.get(key));\n\n if (existing.state === 'hasValue' && newValue === existing.contents) {\n return new Map();\n }\n } else if (!state.nonvalidatedAtoms.has(key) && newValue instanceof DefaultValue$2) {\n return new Map();\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n if (options.dangerouslyAllowMutability !== true) {\n Recoil_deepFreezeValue(newValue);\n }\n }\n\n cachedAnswerForUnvalidatedValue = undefined; // can be released now if it was previously in use\n\n return new Map().set(key, loadableWithValue$2(newValue));\n }\n\n function shouldDeleteConfigOnReleaseAtom() {\n return getConfigDeletionHandler$2(key) !== undefined && liveStoresCount <= 0;\n }\n\n const node = registerNode$2({\n key,\n peek: peekAtom,\n get: getAtom,\n set: setAtom,\n init: initAtom,\n invalidate: invalidateAtom,\n shouldDeleteConfigOnRelease: shouldDeleteConfigOnReleaseAtom,\n dangerouslyAllowMutability: options.dangerouslyAllowMutability,\n persistence_UNSTABLE: options.persistence_UNSTABLE ? {\n type: options.persistence_UNSTABLE.type,\n backButton: options.persistence_UNSTABLE.backButton\n } : undefined,\n shouldRestoreFromSnapshots: true,\n retainedBy\n });\n return node;\n} // prettier-ignore\n\n\nfunction atom(options) {\n const {\n default: optionsDefault,\n // @fb-only: scopeRules_APPEND_ONLY_READ_THE_DOCS,\n ...restOptions\n } = options;\n\n if (isRecoilValue$4(optionsDefault) // Continue to use atomWithFallback for promise defaults for scoped atoms\n // for now, since scoped atoms don't support async defaults\n // @fb-only: || (isPromise(optionsDefault) && scopeRules_APPEND_ONLY_READ_THE_DOCS)\n ) {\n return atomWithFallback({ ...restOptions,\n default: optionsDefault // @fb-only: scopeRules_APPEND_ONLY_READ_THE_DOCS,\n\n }); // @fb-only: } else if (scopeRules_APPEND_ONLY_READ_THE_DOCS && !isPromise(optionsDefault)) {\n // @fb-only: return scopedAtom({\n // @fb-only: ...restOptions,\n // @fb-only: default: optionsDefault,\n // @fb-only: scopeRules_APPEND_ONLY_READ_THE_DOCS,\n // @fb-only: });\n } else {\n return baseAtom({ ...restOptions,\n default: optionsDefault\n });\n }\n}\n\nfunction atomWithFallback(options) {\n const base = atom({ ...options,\n default: DEFAULT_VALUE$4,\n persistence_UNSTABLE: options.persistence_UNSTABLE === undefined ? undefined : { ...options.persistence_UNSTABLE,\n validator: storedValue => storedValue instanceof DefaultValue$2 ? storedValue : Recoil_nullthrows(options.persistence_UNSTABLE).validator(storedValue, DEFAULT_VALUE$4)\n },\n // TODO Hack for now.\n // flowlint-next-line unclear-type: off\n effects_UNSTABLE: options.effects_UNSTABLE\n });\n const sel = Recoil_selector({\n key: `${options.key}__withFallback`,\n get: ({\n get\n }) => {\n const baseValue = get(base);\n return baseValue instanceof DefaultValue$2 ? options.default : baseValue;\n },\n set: ({\n set\n }, newValue) => set(base, newValue),\n dangerouslyAllowMutability: options.dangerouslyAllowMutability\n });\n setConfigDeletionHandler$1(sel.key, getConfigDeletionHandler$2(options.key));\n return sel;\n}\n\nvar Recoil_atom = atom;\n\n/**\n * (c) Facebook, Inc. and its affiliates. Confidential and proprietary.\n *\n * @emails oncall+recoil\n * \n * @format\n */\n\nclass MapCache {\n constructor(options) {\n var _options$mapKey;\n\n _defineProperty(this, \"_map\", void 0);\n\n _defineProperty(this, \"_keyMapper\", void 0);\n\n this._map = new Map();\n this._keyMapper = (_options$mapKey = options === null || options === void 0 ? void 0 : options.mapKey) !== null && _options$mapKey !== void 0 ? _options$mapKey : v => v;\n }\n\n size() {\n return this._map.size;\n }\n\n has(key) {\n return this._map.has(this._keyMapper(key));\n }\n\n get(key) {\n return this._map.get(this._keyMapper(key));\n }\n\n set(key, val) {\n this._map.set(this._keyMapper(key), val);\n }\n\n delete(key) {\n this._map.delete(this._keyMapper(key));\n }\n\n clear() {\n this._map.clear();\n }\n\n}\n\nvar Recoil_MapCache = {\n MapCache\n};\n\nvar Recoil_MapCache_1 = Recoil_MapCache.MapCache;\n\nvar Recoil_MapCache$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n MapCache: Recoil_MapCache_1\n});\n\nconst {\n LRUCache: LRUCache$2\n} = Recoil_LRUCache$1;\n\nconst {\n MapCache: MapCache$1\n} = Recoil_MapCache$1;\n\nconst defaultPolicy$1 = {\n equality: 'reference',\n eviction: 'none',\n maxSize: Infinity\n};\n\nfunction cacheFromPolicy({\n equality = defaultPolicy$1.equality,\n eviction = defaultPolicy$1.eviction,\n maxSize = defaultPolicy$1.maxSize\n} = defaultPolicy$1) {\n const valueMapper = getValueMapper$1(equality);\n const cache = getCache(eviction, maxSize, valueMapper);\n return cache;\n}\n\nfunction getValueMapper$1(equality) {\n switch (equality) {\n case 'reference':\n return val => val;\n\n case 'value':\n return val => Recoil_stableStringify(val);\n }\n\n throw new Error(`Unrecognized equality policy ${equality}`);\n}\n\nfunction getCache(eviction, maxSize, mapKey) {\n switch (eviction) {\n case 'none':\n return new MapCache$1({\n mapKey\n });\n\n case 'lru':\n return new LRUCache$2({\n mapKey,\n maxSize: Recoil_nullthrows(maxSize)\n });\n }\n\n throw new Error(`Unrecognized eviction policy ${eviction}`);\n}\n\nvar Recoil_cacheFromPolicy = cacheFromPolicy;\n\nconst {\n setConfigDeletionHandler: setConfigDeletionHandler$2\n} = Recoil_Node;\n/*\nA function which returns an atom based on the input parameter.\n\nEach unique parameter returns a unique atom. E.g.,\n\n const f = atomFamily(...);\n f({a: 1}) => an atom\n f({a: 2}) => a different atom\n\nThis allows components to persist local, private state using atoms. Each\ninstance of the component may have a different key, which it uses as the\nparameter for a family of atoms; in this way, each component will have\nits own atom not shared by other instances. These state keys may be composed\ninto children's state keys as well.\n*/\n\n\nfunction atomFamily(options) {\n var _options$cachePolicyF;\n\n const atomCache = Recoil_cacheFromPolicy((_options$cachePolicyF = options.cachePolicyForParams_UNSTABLE) !== null && _options$cachePolicyF !== void 0 ? _options$cachePolicyF : {\n equality: 'value',\n eviction: 'none'\n }); // Simple atomFamily implementation to cache individual atoms based\n // on the parameter value equality.\n\n return params => {\n var _stableStringify;\n\n const cachedAtom = atomCache.get(params);\n\n if (cachedAtom != null) {\n return cachedAtom;\n }\n\n const {\n cachePolicyForParams_UNSTABLE,\n ...atomOptions\n } = options;\n const newAtom = Recoil_atom({ ...atomOptions,\n key: `${options.key}__${(_stableStringify = Recoil_stableStringify(params)) !== null && _stableStringify !== void 0 ? _stableStringify : 'void'}`,\n default: typeof options.default === 'function' ? // The default was parameterized\n // Flow doesn't know that T isn't a function, so we need to case to any\n options.default(params) // flowlint-line unclear-type:off\n : // Default may be a static value, promise, or RecoilValue\n options.default,\n retainedBy_UNSTABLE: typeof options.retainedBy_UNSTABLE === 'function' ? options.retainedBy_UNSTABLE(params) : options.retainedBy_UNSTABLE,\n effects_UNSTABLE: typeof options.effects_UNSTABLE === 'function' ? options.effects_UNSTABLE(params) : options.effects_UNSTABLE // prettier-ignore\n // @fb-only: scopeRules_APPEND_ONLY_READ_THE_DOCS: mapScopeRules(\n // @fb-only: options.scopeRules_APPEND_ONLY_READ_THE_DOCS,\n // @fb-only: params,\n // @fb-only: ),\n\n });\n atomCache.set(params, newAtom);\n setConfigDeletionHandler$2(newAtom.key, () => {\n atomCache.delete(params);\n });\n return newAtom;\n };\n}\n\nvar Recoil_atomFamily = atomFamily;\n\nconst {\n setConfigDeletionHandler: setConfigDeletionHandler$3\n} = Recoil_Node;\n\n\n\n // Keep in mind the parameter needs to be serializable as a cahche key\n// using Recoil_stableStringify\n\n\n// Add a unique index to each selector in case the cache implementation allows\n// duplicate keys based on equivalent stringified parameters\nlet nextIndex = 0;\n/* eslint-disable no-redeclare */\n\n// Return a function that returns members of a family of selectors of the same type\n// E.g.,\n//\n// const s = selectorFamily(...);\n// s({a: 1}) => a selector\n// s({a: 2}) => a different selector\n//\n// By default, the selectors are distinguished by distinct values of the\n// parameter based on value equality, not reference equality. This allows using\n// object literals or other equivalent objects at callsites to not create\n// duplicate cache entries. This behavior may be overridden with the\n// cacheImplementationForParams option.\nfunction selectorFamily(options) {\n var _options$cachePolicyF;\n\n const selectorCache = Recoil_cacheFromPolicy((_options$cachePolicyF = options.cachePolicyForParams_UNSTABLE) !== null && _options$cachePolicyF !== void 0 ? _options$cachePolicyF : {\n equality: 'value',\n eviction: 'none'\n });\n return params => {\n var _stableStringify;\n\n const cachedSelector = selectorCache.get(params);\n\n if (cachedSelector != null) {\n return cachedSelector;\n }\n\n const myKey = `${options.key}__selectorFamily/${(_stableStringify = Recoil_stableStringify(params, {\n // It is possible to use functions in parameters if the user uses\n // a cache with reference equality thanks to the incrementing index.\n allowFunctions: true\n })) !== null && _stableStringify !== void 0 ? _stableStringify : 'void'}/${nextIndex++}`; // Append index in case values serialize to the same key string\n\n const myGet = callbacks => options.get(params)(callbacks);\n\n const myCachePolicy = options.cachePolicy_UNSTABLE;\n const retainedBy = typeof options.retainedBy_UNSTABLE === 'function' ? options.retainedBy_UNSTABLE(params) : options.retainedBy_UNSTABLE;\n let newSelector;\n\n if (options.set != null) {\n const set = options.set;\n\n const mySet = (callbacks, newValue) => set(params)(callbacks, newValue);\n\n newSelector = Recoil_selector({\n key: myKey,\n get: myGet,\n set: mySet,\n cachePolicy_UNSTABLE: myCachePolicy,\n dangerouslyAllowMutability: options.dangerouslyAllowMutability,\n retainedBy_UNSTABLE: retainedBy\n });\n } else {\n newSelector = Recoil_selector({\n key: myKey,\n get: myGet,\n cachePolicy_UNSTABLE: myCachePolicy,\n dangerouslyAllowMutability: options.dangerouslyAllowMutability,\n retainedBy_UNSTABLE: retainedBy\n });\n }\n\n selectorCache.set(params, newSelector);\n setConfigDeletionHandler$3(newSelector.key, () => {\n selectorCache.delete(params);\n });\n return newSelector;\n };\n}\n/* eslint-enable no-redeclare */\n\n\nvar Recoil_selectorFamily = selectorFamily;\n\n// flowlint-next-line unclear-type:off\n\n\nconst constantSelector = Recoil_selectorFamily({\n key: '__constant',\n get: constant => () => constant,\n cachePolicyForParams_UNSTABLE: {\n equality: 'reference'\n }\n}); // Function that returns a selector which always produces the\n// same constant value. It may be called multiple times with the\n// same value, based on reference equality, and will provide the\n// same selector.\n\nfunction constSelector(constant) {\n return constantSelector(constant);\n}\n\nvar Recoil_constSelector = constSelector;\n\n// flowlint-next-line unclear-type:off\n\n\nconst throwingSelector = Recoil_selectorFamily({\n key: '__error',\n get: message => () => {\n throw new Error(message);\n },\n cachePolicyForParams_UNSTABLE: {\n equality: 'reference'\n }\n}); // Function that returns a selector which always throws an error\n// with the provided message.\n\nfunction errorSelector(message) {\n return throwingSelector(message);\n}\n\nvar Recoil_errorSelector = errorSelector;\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Wraps another recoil value and prevents writing to it.\n *\n * @emails oncall+recoil\n * \n * @format\n */\n\nfunction readOnlySelector(atom) {\n // flowlint-next-line unclear-type: off\n return atom;\n}\n\nvar Recoil_readOnlySelector = readOnlySelector;\n\nconst {\n loadableWithError: loadableWithError$3,\n loadableWithPromise: loadableWithPromise$3,\n loadableWithValue: loadableWithValue$3\n} = Recoil_Loadable;\n\n\n\n /////////////////\n// TRUTH TABLE\n/////////////////\n// Dependencies waitForNone waitForAny waitForAll waitForAllSettled\n// [loading, loading] [Promise, Promise] Promise Promise Promise\n// [value, loading] [value, Promise] [value, Promise] Promise Promise\n// [value, value] [value, value] [value, value] [value, value] [value, value]\n//\n// [error, loading] [Error, Promise] [Error, Promise] Error Promise\n// [error, error] [Error, Error] [Error, Error] Error [error, error]\n// [value, error] [value, Error] [value, Error] Error [value, error]\n// Issue parallel requests for all dependencies and return the current\n// status if they have results, have some error, or are still pending.\n\n\nfunction concurrentRequests(getRecoilValue, deps) {\n const results = Array(deps.length).fill(undefined);\n const exceptions = Array(deps.length).fill(undefined);\n\n for (const [i, dep] of deps.entries()) {\n try {\n results[i] = getRecoilValue(dep);\n } catch (e) {\n // exceptions can either be Promises of pending results or real errors\n exceptions[i] = e;\n }\n }\n\n return [results, exceptions];\n}\n\nfunction isError(exp) {\n return exp != null && !Recoil_isPromise(exp);\n}\n\nfunction unwrapDependencies(dependencies) {\n return Array.isArray(dependencies) ? dependencies : Object.getOwnPropertyNames(dependencies).map(key => dependencies[key]);\n}\n\nfunction getValueFromLoadablePromiseResult(result) {\n if (result != null && typeof result === 'object' && result.hasOwnProperty('__value')) {\n return result.__value;\n }\n\n return result;\n}\n\nfunction wrapResults(dependencies, results) {\n return Array.isArray(dependencies) ? results : // Object.getOwnPropertyNames() has consistent key ordering with ES6\n Object.getOwnPropertyNames(dependencies).reduce((out, key, idx) => ({ ...out,\n [key]: results[idx]\n }), {});\n}\n\nfunction wrapLoadables(dependencies, results, exceptions) {\n const output = exceptions.map((exception, idx) => exception == null ? loadableWithValue$3(results[idx]) : Recoil_isPromise(exception) ? loadableWithPromise$3(exception) : loadableWithError$3(exception));\n return wrapResults(dependencies, output);\n}\n\nfunction combineAsyncResultsWithSyncResults(syncResults, asyncResults) {\n return asyncResults.map((result, idx) =>\n /**\n * it's important we use === undefined as opposed to == null, because the\n * resolved value of the async promise could be `null`, in which case we\n * don't want to use syncResults[idx], which would be undefined. If async\n * promise resolves to `undefined`, that's ok because `syncResults[idx]`\n * will also be `undefined`. That's a little hacky, but it works.\n */\n result === undefined ? syncResults[idx] : result);\n} // Selector that requests all dependencies in parallel and immediately returns\n// current results without waiting.\n\n\nconst waitForNone = Recoil_selectorFamily({\n key: '__waitForNone',\n get: dependencies => ({\n get\n }) => {\n // Issue requests for all dependencies in parallel.\n const deps = unwrapDependencies(dependencies);\n const [results, exceptions] = concurrentRequests(get, deps); // Always return the current status of the results; never block.\n\n return wrapLoadables(dependencies, results, exceptions);\n }\n}); // Selector that requests all dependencies in parallel and waits for at least\n// one to be available before returning results. It will only error if all\n// dependencies have errors.\n\nconst waitForAny = Recoil_selectorFamily({\n key: '__waitForAny',\n get: dependencies => ({\n get\n }) => {\n // Issue requests for all dependencies in parallel.\n // Exceptions can either be Promises of pending results or real errors\n const deps = unwrapDependencies(dependencies);\n const [results, exceptions] = concurrentRequests(get, deps); // If any results are available, value or error, return the current status\n\n if (exceptions.some(exp => !Recoil_isPromise(exp))) {\n return wrapLoadables(dependencies, results, exceptions);\n } // Otherwise, return a promise that will resolve when the next result is\n // available, whichever one happens to be next. But, if all pending\n // dependencies end up with errors, then reject the promise.\n\n\n return new Promise(resolve => {\n for (const [i, exp] of exceptions.entries()) {\n if (Recoil_isPromise(exp)) {\n exp.then(result => {\n results[i] = getValueFromLoadablePromiseResult(result);\n exceptions[i] = undefined;\n resolve(wrapLoadables(dependencies, results, exceptions));\n }).catch(error => {\n exceptions[i] = error;\n resolve(wrapLoadables(dependencies, results, exceptions));\n });\n }\n }\n });\n }\n}); // Selector that requests all dependencies in parallel and waits for all to be\n// available before returning a value. It will error if any dependencies error.\n\nconst waitForAll = Recoil_selectorFamily({\n key: '__waitForAll',\n get: dependencies => ({\n get\n }) => {\n // Issue requests for all dependencies in parallel.\n // Exceptions can either be Promises of pending results or real errors\n const deps = unwrapDependencies(dependencies);\n const [results, exceptions] = concurrentRequests(get, deps); // If all results are available, return the results\n\n if (exceptions.every(exp => exp == null)) {\n return wrapResults(dependencies, results);\n } // If we have any errors, throw the first error\n\n\n const error = exceptions.find(isError);\n\n if (error != null) {\n throw error;\n } // Otherwise, return a promise that will resolve when all results are available\n\n\n return Promise.all(exceptions).then(exceptionResults => wrapResults(dependencies, combineAsyncResultsWithSyncResults(results, exceptionResults).map(getValueFromLoadablePromiseResult)));\n }\n});\nconst waitForAllSettled = Recoil_selectorFamily({\n key: '__waitForAllSettled',\n get: dependencies => ({\n get\n }) => {\n // Issue requests for all dependencies in parallel.\n // Exceptions can either be Promises of pending results or real errors\n const deps = unwrapDependencies(dependencies);\n const [results, exceptions] = concurrentRequests(get, deps); // If all results are available, return the results\n\n if (exceptions.every(exp => !Recoil_isPromise(exp))) {\n return wrapLoadables(dependencies, results, exceptions);\n } // Wait for all results to settle\n\n\n return Promise.all(exceptions.map((exp, i) => Recoil_isPromise(exp) ? exp.then(result => {\n results[i] = getValueFromLoadablePromiseResult(result);\n exceptions[i] = undefined;\n }).catch(error => {\n results[i] = undefined;\n exceptions[i] = error;\n }) : null)) // Then wrap them as loadables\n .then(() => wrapLoadables(dependencies, results, exceptions));\n }\n});\nconst noWait = Recoil_selectorFamily({\n key: '__noWait',\n get: dependency => ({\n get\n }) => {\n try {\n return loadableWithValue$3(get(dependency));\n } catch (exception) {\n return Recoil_isPromise(exception) ? loadableWithPromise$3(exception) : loadableWithError$3(exception);\n }\n }\n});\nvar Recoil_WaitFor = {\n waitForNone,\n waitForAny,\n waitForAll,\n waitForAllSettled,\n noWait\n};\n\nconst {\n batchUpdates: batchUpdates$3,\n setBatcher: setBatcher$1\n} = Recoil_Batching;\n\nconst {\n DefaultValue: DefaultValue$3\n} = Recoil_Node;\n\nconst {\n RecoilRoot: RecoilRoot$2\n} = Recoil_RecoilRoot_react;\n\nconst {\n isRecoilValue: isRecoilValue$5\n} = Recoil_RecoilValue$1;\n\nconst {\n retentionZone: retentionZone$1\n} = Recoil_RetentionZone;\n\nconst {\n freshSnapshot: freshSnapshot$2\n} = Recoil_Snapshot$1;\n\nconst {\n useGotoRecoilSnapshot: useGotoRecoilSnapshot$1,\n useRecoilCallback: useRecoilCallback$1,\n useRecoilSnapshot: useRecoilSnapshot$1,\n useRecoilState: useRecoilState$1,\n useRecoilStateLoadable: useRecoilStateLoadable$1,\n useRecoilTransactionObserver: useRecoilTransactionObserver$1,\n useRecoilValue: useRecoilValue$1,\n useRecoilValueLoadable: useRecoilValueLoadable$1,\n useResetRecoilState: useResetRecoilState$1,\n useRetain: useRetain$1,\n useSetRecoilState: useSetRecoilState$1,\n useSetUnvalidatedAtomValues: useSetUnvalidatedAtomValues$1,\n useTransactionObservation_DEPRECATED: useTransactionObservation_DEPRECATED$1\n} = Recoil_Hooks;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst {\n noWait: noWait$1,\n waitForAll: waitForAll$1,\n waitForAllSettled: waitForAllSettled$1,\n waitForAny: waitForAny$1,\n waitForNone: waitForNone$1\n} = Recoil_WaitFor;\n\nvar Recoil_index = {\n // Types\n DefaultValue: DefaultValue$3,\n // Components\n RecoilRoot: RecoilRoot$2,\n useRecoilBridgeAcrossReactRoots_UNSTABLE: Recoil_useRecoilBridgeAcrossReactRoots,\n // RecoilValues\n atom: Recoil_atom,\n selector: Recoil_selector,\n // Other factories\n retentionZone: retentionZone$1,\n // Convenience RecoilValues\n atomFamily: Recoil_atomFamily,\n selectorFamily: Recoil_selectorFamily,\n constSelector: Recoil_constSelector,\n errorSelector: Recoil_errorSelector,\n readOnlySelector: Recoil_readOnlySelector,\n // Hooks that accept RecoilValues\n useRecoilValue: useRecoilValue$1,\n useRecoilValueLoadable: useRecoilValueLoadable$1,\n useRecoilState: useRecoilState$1,\n useRecoilStateLoadable: useRecoilStateLoadable$1,\n useSetRecoilState: useSetRecoilState$1,\n useResetRecoilState: useResetRecoilState$1,\n useGetRecoilValueInfo_UNSTABLE: Recoil_useGetRecoilValueInfo,\n useRetain: useRetain$1,\n // Hooks for asynchronous Recoil\n useRecoilCallback: useRecoilCallback$1,\n // Hooks for Snapshots\n useGotoRecoilSnapshot: useGotoRecoilSnapshot$1,\n useRecoilSnapshot: useRecoilSnapshot$1,\n useRecoilTransactionObserver_UNSTABLE: useRecoilTransactionObserver$1,\n useTransactionObservation_UNSTABLE: useTransactionObservation_DEPRECATED$1,\n useSetUnvalidatedAtomValues_UNSTABLE: useSetUnvalidatedAtomValues$1,\n // Concurrency Helpers\n noWait: noWait$1,\n waitForNone: waitForNone$1,\n waitForAny: waitForAny$1,\n waitForAll: waitForAll$1,\n waitForAllSettled: waitForAllSettled$1,\n // Other functions\n isRecoilValue: isRecoilValue$5,\n // Batching\n batchUpdates: batchUpdates$3,\n setBatcher: setBatcher$1,\n // Snapshot Utils\n snapshot_UNSTABLE: freshSnapshot$2\n};\nvar Recoil_index_1 = Recoil_index.DefaultValue;\nvar Recoil_index_2 = Recoil_index.RecoilRoot;\nvar Recoil_index_3 = Recoil_index.useRecoilBridgeAcrossReactRoots_UNSTABLE;\nvar Recoil_index_4 = Recoil_index.atom;\nvar Recoil_index_5 = Recoil_index.selector;\nvar Recoil_index_6 = Recoil_index.retentionZone;\nvar Recoil_index_7 = Recoil_index.atomFamily;\nvar Recoil_index_8 = Recoil_index.selectorFamily;\nvar Recoil_index_9 = Recoil_index.constSelector;\nvar Recoil_index_10 = Recoil_index.errorSelector;\nvar Recoil_index_11 = Recoil_index.readOnlySelector;\nvar Recoil_index_12 = Recoil_index.useRecoilValue;\nvar Recoil_index_13 = Recoil_index.useRecoilValueLoadable;\nvar Recoil_index_14 = Recoil_index.useRecoilState;\nvar Recoil_index_15 = Recoil_index.useRecoilStateLoadable;\nvar Recoil_index_16 = Recoil_index.useSetRecoilState;\nvar Recoil_index_17 = Recoil_index.useResetRecoilState;\nvar Recoil_index_18 = Recoil_index.useGetRecoilValueInfo_UNSTABLE;\nvar Recoil_index_19 = Recoil_index.useRetain;\nvar Recoil_index_20 = Recoil_index.useRecoilCallback;\nvar Recoil_index_21 = Recoil_index.useGotoRecoilSnapshot;\nvar Recoil_index_22 = Recoil_index.useRecoilSnapshot;\nvar Recoil_index_23 = Recoil_index.useRecoilTransactionObserver_UNSTABLE;\nvar Recoil_index_24 = Recoil_index.useTransactionObservation_UNSTABLE;\nvar Recoil_index_25 = Recoil_index.useSetUnvalidatedAtomValues_UNSTABLE;\nvar Recoil_index_26 = Recoil_index.noWait;\nvar Recoil_index_27 = Recoil_index.waitForNone;\nvar Recoil_index_28 = Recoil_index.waitForAny;\nvar Recoil_index_29 = Recoil_index.waitForAll;\nvar Recoil_index_30 = Recoil_index.waitForAllSettled;\nvar Recoil_index_31 = Recoil_index.isRecoilValue;\nvar Recoil_index_32 = Recoil_index.batchUpdates;\nvar Recoil_index_33 = Recoil_index.setBatcher;\nvar Recoil_index_34 = Recoil_index.snapshot_UNSTABLE;\n\nexport default Recoil_index;\nexport { Recoil_index_1 as DefaultValue, Recoil_index_2 as RecoilRoot, Recoil_index_4 as atom, Recoil_index_7 as atomFamily, Recoil_index_32 as batchUpdates, Recoil_index_9 as constSelector, Recoil_index_10 as errorSelector, Recoil_index_31 as isRecoilValue, Recoil_index_26 as noWait, Recoil_index_11 as readOnlySelector, Recoil_index_6 as retentionZone, Recoil_index_5 as selector, Recoil_index_8 as selectorFamily, Recoil_index_33 as setBatcher, Recoil_index_34 as snapshot_UNSTABLE, Recoil_index_18 as useGetRecoilValueInfo_UNSTABLE, Recoil_index_21 as useGotoRecoilSnapshot, Recoil_index_3 as useRecoilBridgeAcrossReactRoots_UNSTABLE, Recoil_index_20 as useRecoilCallback, Recoil_index_22 as useRecoilSnapshot, Recoil_index_14 as useRecoilState, Recoil_index_15 as useRecoilStateLoadable, Recoil_index_23 as useRecoilTransactionObserver_UNSTABLE, Recoil_index_12 as useRecoilValue, Recoil_index_13 as useRecoilValueLoadable, Recoil_index_17 as useResetRecoilState, Recoil_index_19 as useRetain, Recoil_index_16 as useSetRecoilState, Recoil_index_25 as useSetUnvalidatedAtomValues_UNSTABLE, Recoil_index_24 as useTransactionObservation_UNSTABLE, Recoil_index_29 as waitForAll, Recoil_index_30 as waitForAllSettled, Recoil_index_28 as waitForAny, Recoil_index_27 as waitForNone };\n","import { Observer, Observable } from \"../../Misc/observable\";\r\nimport { Tools } from \"../../Misc/tools\";\r\nimport { SmartArray } from \"../../Misc/smartArray\";\r\nimport { Nullable, Immutable } from \"../../types\";\r\nimport { Camera } from \"../../Cameras/camera\";\r\nimport { Scene } from \"../../scene\";\r\nimport { Matrix, Vector3 } from \"../../Maths/math.vector\";\r\nimport { Color4 } from '../../Maths/math.color';\r\nimport { RenderTargetCreationOptions } from \"../../Materials/Textures/renderTargetCreationOptions\";\r\nimport { AbstractMesh } from \"../../Meshes/abstractMesh\";\r\nimport { SubMesh } from \"../../Meshes/subMesh\";\r\nimport { InternalTexture } from \"../../Materials/Textures/internalTexture\";\r\nimport { Texture } from \"../../Materials/Textures/texture\";\r\nimport { PostProcessManager } from \"../../PostProcesses/postProcessManager\";\r\nimport { PostProcess } from \"../../PostProcesses/postProcess\";\r\nimport { RenderingManager } from \"../../Rendering/renderingManager\";\r\n\r\n\r\nimport \"../../Engines/Extensions/engine.renderTarget\";\r\nimport \"../../Engines/Extensions/engine.renderTargetCube\";\r\nimport { Engine } from '../../Engines/engine';\r\n\r\n/**\r\n * This Helps creating a texture that will be created from a camera in your scene.\r\n * It is basically a dynamic texture that could be used to create special effects for instance.\r\n * Actually, It is the base of lot of effects in the framework like post process, shadows, effect layers and rendering pipelines...\r\n */\r\nexport class RenderTargetTexture extends Texture {\r\n /**\r\n * The texture will only be rendered once which can be useful to improve performance if everything in your render is static for instance.\r\n */\r\n public static readonly REFRESHRATE_RENDER_ONCE: number = 0;\r\n /**\r\n * The texture will only be rendered rendered every frame and is recomended for dynamic contents.\r\n */\r\n public static readonly REFRESHRATE_RENDER_ONEVERYFRAME: number = 1;\r\n /**\r\n * The texture will be rendered every 2 frames which could be enough if your dynamic objects are not\r\n * the central point of your effect and can save a lot of performances.\r\n */\r\n public static readonly REFRESHRATE_RENDER_ONEVERYTWOFRAMES: number = 2;\r\n\r\n /**\r\n * Use this predicate to dynamically define the list of mesh you want to render.\r\n * If set, the renderList property will be overwritten.\r\n */\r\n public renderListPredicate: (AbstractMesh: AbstractMesh) => boolean;\r\n\r\n private _renderList: Nullable>;\r\n /**\r\n * Use this list to define the list of mesh you want to render.\r\n */\r\n public get renderList(): Nullable> {\r\n return this._renderList;\r\n }\r\n\r\n public set renderList(value: Nullable>) {\r\n this._renderList = value;\r\n\r\n if (this._renderList) {\r\n this._hookArray(this._renderList);\r\n }\r\n }\r\n\r\n /**\r\n * Use this function to overload the renderList array at rendering time.\r\n * Return null to render with the curent renderList, else return the list of meshes to use for rendering.\r\n * For 2DArray RTT, layerOrFace is the index of the layer that is going to be rendered, else it is the faceIndex of\r\n * the cube (if the RTT is a cube, else layerOrFace=0).\r\n * The renderList passed to the function is the current render list (the one that will be used if the function returns null).\r\n * The length of this list is passed through renderListLength: don't use renderList.length directly because the array can\r\n * hold dummy elements!\r\n */\r\n public getCustomRenderList: (layerOrFace: number, renderList: Nullable>>, renderListLength: number) => Nullable>;\r\n\r\n private _hookArray(array: AbstractMesh[]): void {\r\n var oldPush = array.push;\r\n array.push = (...items: AbstractMesh[]) => {\r\n let wasEmpty = array.length === 0;\r\n\r\n var result = oldPush.apply(array, items);\r\n\r\n if (wasEmpty && this.getScene()) {\r\n this.getScene()!.meshes.forEach((mesh) => {\r\n mesh._markSubMeshesAsLightDirty();\r\n });\r\n }\r\n\r\n return result;\r\n };\r\n\r\n var oldSplice = array.splice;\r\n array.splice = (index: number, deleteCount?: number) => {\r\n var deleted = oldSplice.apply(array, [index, deleteCount]);\r\n\r\n if (array.length === 0) {\r\n this.getScene()!.meshes.forEach((mesh) => {\r\n mesh._markSubMeshesAsLightDirty();\r\n });\r\n }\r\n\r\n return deleted;\r\n };\r\n }\r\n\r\n /**\r\n * Define if particles should be rendered in your texture.\r\n */\r\n public renderParticles = true;\r\n /**\r\n * Define if sprites should be rendered in your texture.\r\n */\r\n public renderSprites = false;\r\n /**\r\n * Define the camera used to render the texture.\r\n */\r\n public activeCamera: Nullable;\r\n /**\r\n * Override the mesh isReady function with your own one.\r\n */\r\n public customIsReadyFunction: (mesh: AbstractMesh, refreshRate: number) => boolean;\r\n /**\r\n * Override the render function of the texture with your own one.\r\n */\r\n public customRenderFunction: (opaqueSubMeshes: SmartArray, alphaTestSubMeshes: SmartArray, transparentSubMeshes: SmartArray, depthOnlySubMeshes: SmartArray, beforeTransparents?: () => void) => void;\r\n /**\r\n * Define if camera post processes should be use while rendering the texture.\r\n */\r\n public useCameraPostProcesses: boolean;\r\n /**\r\n * Define if the camera viewport should be respected while rendering the texture or if the render should be done to the entire texture.\r\n */\r\n public ignoreCameraViewport: boolean = false;\r\n\r\n private _postProcessManager: Nullable;\r\n private _postProcesses: PostProcess[];\r\n private _resizeObserver: Nullable>;\r\n\r\n /**\r\n * An event triggered when the texture is unbind.\r\n */\r\n public onBeforeBindObservable = new Observable();\r\n\r\n /**\r\n * An event triggered when the texture is unbind.\r\n */\r\n public onAfterUnbindObservable = new Observable();\r\n\r\n private _onAfterUnbindObserver: Nullable>;\r\n /**\r\n * Set a after unbind callback in the texture.\r\n * This has been kept for backward compatibility and use of onAfterUnbindObservable is recommended.\r\n */\r\n public set onAfterUnbind(callback: () => void) {\r\n if (this._onAfterUnbindObserver) {\r\n this.onAfterUnbindObservable.remove(this._onAfterUnbindObserver);\r\n }\r\n this._onAfterUnbindObserver = this.onAfterUnbindObservable.add(callback);\r\n }\r\n\r\n /**\r\n * An event triggered before rendering the texture\r\n */\r\n public onBeforeRenderObservable = new Observable();\r\n\r\n private _onBeforeRenderObserver: Nullable>;\r\n /**\r\n * Set a before render callback in the texture.\r\n * This has been kept for backward compatibility and use of onBeforeRenderObservable is recommended.\r\n */\r\n public set onBeforeRender(callback: (faceIndex: number) => void) {\r\n if (this._onBeforeRenderObserver) {\r\n this.onBeforeRenderObservable.remove(this._onBeforeRenderObserver);\r\n }\r\n this._onBeforeRenderObserver = this.onBeforeRenderObservable.add(callback);\r\n }\r\n\r\n /**\r\n * An event triggered after rendering the texture\r\n */\r\n public onAfterRenderObservable = new Observable();\r\n\r\n private _onAfterRenderObserver: Nullable>;\r\n /**\r\n * Set a after render callback in the texture.\r\n * This has been kept for backward compatibility and use of onAfterRenderObservable is recommended.\r\n */\r\n public set onAfterRender(callback: (faceIndex: number) => void) {\r\n if (this._onAfterRenderObserver) {\r\n this.onAfterRenderObservable.remove(this._onAfterRenderObserver);\r\n }\r\n this._onAfterRenderObserver = this.onAfterRenderObservable.add(callback);\r\n }\r\n\r\n /**\r\n * An event triggered after the texture clear\r\n */\r\n public onClearObservable = new Observable();\r\n\r\n private _onClearObserver: Nullable>;\r\n /**\r\n * Set a clear callback in the texture.\r\n * This has been kept for backward compatibility and use of onClearObservable is recommended.\r\n */\r\n public set onClear(callback: (Engine: Engine) => void) {\r\n if (this._onClearObserver) {\r\n this.onClearObservable.remove(this._onClearObserver);\r\n }\r\n this._onClearObserver = this.onClearObservable.add(callback);\r\n }\r\n\r\n /**\r\n * An event triggered when the texture is resized.\r\n */\r\n public onResizeObservable = new Observable();\r\n\r\n /**\r\n * Define the clear color of the Render Target if it should be different from the scene.\r\n */\r\n public clearColor: Color4;\r\n protected _size: number | { width: number, height: number, layers?: number };\r\n protected _initialSizeParameter: number | { width: number, height: number } | { ratio: number };\r\n protected _sizeRatio: Nullable;\r\n /** @hidden */\r\n public _generateMipMaps: boolean;\r\n protected _renderingManager: RenderingManager;\r\n /** @hidden */\r\n public _waitingRenderList?: string[];\r\n protected _doNotChangeAspectRatio: boolean;\r\n protected _currentRefreshId = -1;\r\n protected _refreshRate = 1;\r\n protected _textureMatrix: Matrix;\r\n protected _samples = 1;\r\n protected _renderTargetOptions: RenderTargetCreationOptions;\r\n /**\r\n * Gets render target creation options that were used.\r\n */\r\n public get renderTargetOptions(): RenderTargetCreationOptions {\r\n return this._renderTargetOptions;\r\n }\r\n\r\n protected _onRatioRescale(): void {\r\n if (this._sizeRatio) {\r\n this.resize(this._initialSizeParameter);\r\n }\r\n }\r\n\r\n /**\r\n * Gets or sets the center of the bounding box associated with the texture (when in cube mode)\r\n * It must define where the camera used to render the texture is set\r\n */\r\n public boundingBoxPosition = Vector3.Zero();\r\n\r\n private _boundingBoxSize: Vector3;\r\n\r\n /**\r\n * Gets or sets the size of the bounding box associated with the texture (when in cube mode)\r\n * When defined, the cubemap will switch to local mode\r\n * @see https://community.arm.com/graphics/b/blog/posts/reflections-based-on-local-cubemaps-in-unity\r\n * @example https://www.babylonjs-playground.com/#RNASML\r\n */\r\n public set boundingBoxSize(value: Vector3) {\r\n if (this._boundingBoxSize && this._boundingBoxSize.equals(value)) {\r\n return;\r\n }\r\n this._boundingBoxSize = value;\r\n let scene = this.getScene();\r\n if (scene) {\r\n scene.markAllMaterialsAsDirty(1);\r\n }\r\n }\r\n public get boundingBoxSize(): Vector3 {\r\n return this._boundingBoxSize;\r\n }\r\n\r\n /**\r\n * In case the RTT has been created with a depth texture, get the associated\r\n * depth texture.\r\n * Otherwise, return null.\r\n */\r\n public get depthStencilTexture(): Nullable {\r\n return this.getInternalTexture()?._depthStencilTexture || null;\r\n }\r\n\r\n /**\r\n * Instantiate a render target texture. This is mainly used to render of screen the scene to for instance apply post processse\r\n * or used a shadow, depth texture...\r\n * @param name The friendly name of the texture\r\n * @param size The size of the RTT (number if square, or {width: number, height:number} or {ratio:} to define a ratio from the main scene)\r\n * @param scene The scene the RTT belongs to. The latest created scene will be used if not precised.\r\n * @param generateMipMaps True if mip maps need to be generated after render.\r\n * @param doNotChangeAspectRatio True to not change the aspect ratio of the scene in the RTT\r\n * @param type The type of the buffer in the RTT (int, half float, float...)\r\n * @param isCube True if a cube texture needs to be created\r\n * @param samplingMode The sampling mode to be usedwith the render target (Linear, Nearest...)\r\n * @param generateDepthBuffer True to generate a depth buffer\r\n * @param generateStencilBuffer True to generate a stencil buffer\r\n * @param isMulti True if multiple textures need to be created (Draw Buffers)\r\n * @param format The internal format of the buffer in the RTT (RED, RG, RGB, RGBA, ALPHA...)\r\n * @param delayAllocation if the texture allocation should be delayed (default: false)\r\n */\r\n constructor(name: string, size: number | { width: number, height: number, layers?: number } | { ratio: number }, scene: Nullable, generateMipMaps?: boolean, doNotChangeAspectRatio: boolean = true, type: number = 0, isCube = false, samplingMode = Texture.TRILINEAR_SAMPLINGMODE, generateDepthBuffer = true, generateStencilBuffer = false, isMulti = false, format = 5, delayAllocation = false) {\r\n super(null, scene, !generateMipMaps);\r\n scene = this.getScene();\r\n if (!scene) {\r\n return;\r\n }\r\n\r\n this._coordinatesMode = Texture.PROJECTION_MODE;\r\n this.renderList = new Array();\r\n this.name = name;\r\n this.isRenderTarget = true;\r\n this._initialSizeParameter = size;\r\n\r\n this._processSizeParameter(size);\r\n\r\n this._resizeObserver = this.getScene()!.getEngine().onResizeObservable.add(() => {\r\n });\r\n\r\n this._generateMipMaps = generateMipMaps ? true : false;\r\n this._doNotChangeAspectRatio = doNotChangeAspectRatio;\r\n\r\n // Rendering groups\r\n this._renderingManager = new RenderingManager(scene);\r\n this._renderingManager._useSceneAutoClearSetup = true;\r\n\r\n if (isMulti) {\r\n return;\r\n }\r\n\r\n this._renderTargetOptions = {\r\n generateMipMaps: generateMipMaps,\r\n type: type,\r\n format: format,\r\n samplingMode: samplingMode,\r\n generateDepthBuffer: generateDepthBuffer,\r\n generateStencilBuffer: generateStencilBuffer\r\n };\r\n\r\n if (samplingMode === Texture.NEAREST_SAMPLINGMODE) {\r\n this.wrapU = Texture.CLAMP_ADDRESSMODE;\r\n this.wrapV = Texture.CLAMP_ADDRESSMODE;\r\n }\r\n\r\n if (!delayAllocation) {\r\n if (isCube) {\r\n this._texture = scene.getEngine().createRenderTargetCubeTexture(this.getRenderSize(), this._renderTargetOptions);\r\n this.coordinatesMode = Texture.INVCUBIC_MODE;\r\n this._textureMatrix = Matrix.Identity();\r\n } else {\r\n this._texture = scene.getEngine().createRenderTargetTexture(this._size, this._renderTargetOptions);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Creates a depth stencil texture.\r\n * This is only available in WebGL 2 or with the depth texture extension available.\r\n * @param comparisonFunction Specifies the comparison function to set on the texture. If 0 or undefined, the texture is not in comparison mode\r\n * @param bilinearFiltering Specifies whether or not bilinear filtering is enable on the texture\r\n * @param generateStencil Specifies whether or not a stencil should be allocated in the texture\r\n */\r\n public createDepthStencilTexture(comparisonFunction: number = 0, bilinearFiltering: boolean = true, generateStencil: boolean = false): void {\r\n const internalTexture = this.getInternalTexture();\r\n if (!this.getScene() || !internalTexture) {\r\n return;\r\n }\r\n\r\n var engine = this.getScene()!.getEngine();\r\n internalTexture._depthStencilTexture = engine.createDepthStencilTexture(this._size, {\r\n bilinearFiltering,\r\n comparisonFunction,\r\n generateStencil,\r\n isCube: this.isCube\r\n });\r\n }\r\n\r\n private _processSizeParameter(size: number | { width: number, height: number } | { ratio: number }): void {\r\n if ((<{ ratio: number }>size).ratio) {\r\n this._sizeRatio = (<{ ratio: number }>size).ratio;\r\n const engine = this._getEngine()!;\r\n this._size = {\r\n width: this._bestReflectionRenderTargetDimension(engine.getRenderWidth(), this._sizeRatio),\r\n height: this._bestReflectionRenderTargetDimension(engine.getRenderHeight(), this._sizeRatio)\r\n };\r\n } else {\r\n this._size = size;\r\n }\r\n }\r\n\r\n /**\r\n * Define the number of samples to use in case of MSAA.\r\n * It defaults to one meaning no MSAA has been enabled.\r\n */\r\n public get samples(): number {\r\n return this._samples;\r\n }\r\n\r\n public set samples(value: number) {\r\n if (this._samples === value) {\r\n return;\r\n }\r\n\r\n let scene = this.getScene();\r\n\r\n if (!scene) {\r\n return;\r\n }\r\n\r\n this._samples = scene.getEngine().updateRenderTargetTextureSampleCount(this._texture, value);\r\n }\r\n\r\n /**\r\n * Resets the refresh counter of the texture and start bak from scratch.\r\n * Could be useful to regenerate the texture if it is setup to render only once.\r\n */\r\n public resetRefreshCounter(): void {\r\n this._currentRefreshId = -1;\r\n }\r\n\r\n /**\r\n * Define the refresh rate of the texture or the rendering frequency.\r\n * Use 0 to render just once, 1 to render on every frame, 2 to render every two frames and so on...\r\n */\r\n public get refreshRate(): number {\r\n return this._refreshRate;\r\n }\r\n public set refreshRate(value: number) {\r\n this._refreshRate = value;\r\n this.resetRefreshCounter();\r\n }\r\n\r\n /**\r\n * Adds a post process to the render target rendering passes.\r\n * @param postProcess define the post process to add\r\n */\r\n public addPostProcess(postProcess: PostProcess): void {\r\n if (!this._postProcessManager) {\r\n let scene = this.getScene();\r\n\r\n if (!scene) {\r\n return;\r\n }\r\n this._postProcessManager = new PostProcessManager(scene);\r\n this._postProcesses = new Array();\r\n }\r\n\r\n this._postProcesses.push(postProcess);\r\n this._postProcesses[0].autoClear = false;\r\n }\r\n\r\n /**\r\n * Clear all the post processes attached to the render target\r\n * @param dispose define if the cleared post processesshould also be disposed (false by default)\r\n */\r\n public clearPostProcesses(dispose: boolean = false): void {\r\n if (!this._postProcesses) {\r\n return;\r\n }\r\n\r\n if (dispose) {\r\n for (var postProcess of this._postProcesses) {\r\n postProcess.dispose();\r\n }\r\n }\r\n\r\n this._postProcesses = [];\r\n }\r\n\r\n /**\r\n * Remove one of the post process from the list of attached post processes to the texture\r\n * @param postProcess define the post process to remove from the list\r\n */\r\n public removePostProcess(postProcess: PostProcess): void {\r\n if (!this._postProcesses) {\r\n return;\r\n }\r\n\r\n var index = this._postProcesses.indexOf(postProcess);\r\n\r\n if (index === -1) {\r\n return;\r\n }\r\n\r\n this._postProcesses.splice(index, 1);\r\n\r\n if (this._postProcesses.length > 0) {\r\n this._postProcesses[0].autoClear = false;\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _shouldRender(): boolean {\r\n if (this._currentRefreshId === -1) { // At least render once\r\n this._currentRefreshId = 1;\r\n return true;\r\n }\r\n\r\n if (this.refreshRate === this._currentRefreshId) {\r\n this._currentRefreshId = 1;\r\n return true;\r\n }\r\n\r\n this._currentRefreshId++;\r\n return false;\r\n }\r\n\r\n /**\r\n * Gets the actual render size of the texture.\r\n * @returns the width of the render size\r\n */\r\n public getRenderSize(): number {\r\n return this.getRenderWidth();\r\n }\r\n\r\n /**\r\n * Gets the actual render width of the texture.\r\n * @returns the width of the render size\r\n */\r\n public getRenderWidth(): number {\r\n if ((<{ width: number, height: number }>this._size).width) {\r\n return (<{ width: number, height: number }>this._size).width;\r\n }\r\n\r\n return this._size;\r\n }\r\n\r\n /**\r\n * Gets the actual render height of the texture.\r\n * @returns the height of the render size\r\n */\r\n public getRenderHeight(): number {\r\n if ((<{ width: number, height: number }>this._size).width) {\r\n return (<{ width: number, height: number }>this._size).height;\r\n }\r\n\r\n return this._size;\r\n }\r\n\r\n /**\r\n * Gets the actual number of layers of the texture.\r\n * @returns the number of layers\r\n */\r\n public getRenderLayers(): number {\r\n const layers = (<{ width: number, height: number, layers?: number }>this._size).layers;\r\n if (layers) {\r\n return layers;\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n /**\r\n * Get if the texture can be rescaled or not.\r\n */\r\n public get canRescale(): boolean {\r\n return true;\r\n }\r\n\r\n /**\r\n * Resize the texture using a ratio.\r\n * @param ratio the ratio to apply to the texture size in order to compute the new target size\r\n */\r\n public scale(ratio: number): void {\r\n var newSize = Math.max(1, this.getRenderSize() * ratio);\r\n\r\n this.resize(newSize);\r\n }\r\n\r\n /**\r\n * Get the texture reflection matrix used to rotate/transform the reflection.\r\n * @returns the reflection matrix\r\n */\r\n public getReflectionTextureMatrix(): Matrix {\r\n if (this.isCube) {\r\n return this._textureMatrix;\r\n }\r\n\r\n return super.getReflectionTextureMatrix();\r\n }\r\n\r\n /**\r\n * Resize the texture to a new desired size.\r\n * Be carrefull as it will recreate all the data in the new texture.\r\n * @param size Define the new size. It can be:\r\n * - a number for squared texture,\r\n * - an object containing { width: number, height: number }\r\n * - or an object containing a ratio { ratio: number }\r\n */\r\n public resize(size: number | { width: number, height: number } | { ratio: number }): void {\r\n var wasCube = this.isCube;\r\n\r\n this.releaseInternalTexture();\r\n let scene = this.getScene();\r\n\r\n if (!scene) {\r\n return;\r\n }\r\n\r\n this._processSizeParameter(size);\r\n\r\n if (wasCube) {\r\n this._texture = scene.getEngine().createRenderTargetCubeTexture(this.getRenderSize(), this._renderTargetOptions);\r\n } else {\r\n this._texture = scene.getEngine().createRenderTargetTexture(this._size, this._renderTargetOptions);\r\n }\r\n\r\n if (this.onResizeObservable.hasObservers()) {\r\n this.onResizeObservable.notifyObservers(this);\r\n }\r\n }\r\n\r\n private _defaultRenderListPrepared: boolean;\r\n\r\n /**\r\n * Renders all the objects from the render list into the texture.\r\n * @param useCameraPostProcess Define if camera post processes should be used during the rendering\r\n * @param dumpForDebug Define if the rendering result should be dumped (copied) for debugging purpose\r\n */\r\n public render(useCameraPostProcess: boolean = false, dumpForDebug: boolean = false): void {\r\n var scene = this.getScene();\r\n\r\n if (!scene) {\r\n return;\r\n }\r\n\r\n var engine = scene.getEngine();\r\n\r\n if (this.useCameraPostProcesses !== undefined) {\r\n useCameraPostProcess = this.useCameraPostProcesses;\r\n }\r\n\r\n if (this._waitingRenderList) {\r\n this.renderList = [];\r\n for (var index = 0; index < this._waitingRenderList.length; index++) {\r\n var id = this._waitingRenderList[index];\r\n let mesh = scene.getMeshByID(id);\r\n if (mesh) {\r\n this.renderList.push(mesh);\r\n }\r\n }\r\n\r\n this._waitingRenderList = undefined;\r\n }\r\n\r\n // Is predicate defined?\r\n if (this.renderListPredicate) {\r\n if (this.renderList) {\r\n this.renderList.length = 0; // Clear previous renderList\r\n } else {\r\n this.renderList = [];\r\n }\r\n\r\n var scene = this.getScene();\r\n\r\n if (!scene) {\r\n return;\r\n }\r\n\r\n var sceneMeshes = scene.meshes;\r\n\r\n for (var index = 0; index < sceneMeshes.length; index++) {\r\n var mesh = sceneMeshes[index];\r\n if (this.renderListPredicate(mesh)) {\r\n this.renderList.push(mesh);\r\n }\r\n }\r\n }\r\n\r\n this.onBeforeBindObservable.notifyObservers(this);\r\n\r\n // Set custom projection.\r\n // Needs to be before binding to prevent changing the aspect ratio.\r\n let camera: Nullable;\r\n if (this.activeCamera) {\r\n camera = this.activeCamera;\r\n engine.setViewport(this.activeCamera.viewport, this.getRenderWidth(), this.getRenderHeight());\r\n\r\n if (this.activeCamera !== scene.activeCamera) {\r\n scene.setTransformMatrix(this.activeCamera.getViewMatrix(), this.activeCamera.getProjectionMatrix(true));\r\n }\r\n }\r\n else {\r\n camera = scene.activeCamera;\r\n if (camera) {\r\n engine.setViewport(camera.viewport, this.getRenderWidth(), this.getRenderHeight());\r\n }\r\n }\r\n\r\n this._defaultRenderListPrepared = false;\r\n\r\n if (this.is2DArray) {\r\n for (let layer = 0; layer < this.getRenderLayers(); layer++) {\r\n this.renderToTarget(0, useCameraPostProcess, dumpForDebug, layer, camera);\r\n scene.incrementRenderId();\r\n scene.resetCachedMaterial();\r\n }\r\n }\r\n else if (this.isCube) {\r\n for (var face = 0; face < 6; face++) {\r\n this.renderToTarget(face, useCameraPostProcess, dumpForDebug, undefined, camera);\r\n scene.incrementRenderId();\r\n scene.resetCachedMaterial();\r\n }\r\n } else {\r\n this.renderToTarget(0, useCameraPostProcess, dumpForDebug, undefined, camera);\r\n }\r\n\r\n this.onAfterUnbindObservable.notifyObservers(this);\r\n\r\n if (scene.activeCamera) {\r\n // Do not avoid setting uniforms when multiple scenes are active as another camera may have overwrite these\r\n if (scene.getEngine().scenes.length > 1 || (this.activeCamera && this.activeCamera !== scene.activeCamera)) {\r\n scene.setTransformMatrix(scene.activeCamera.getViewMatrix(), scene.activeCamera.getProjectionMatrix(true));\r\n }\r\n engine.setViewport(scene.activeCamera.viewport);\r\n }\r\n\r\n scene.resetCachedMaterial();\r\n }\r\n\r\n private _bestReflectionRenderTargetDimension(renderDimension: number, scale: number): number {\r\n let minimum = 128;\r\n let x = renderDimension * scale;\r\n let curved = Engine.NearestPOT(x + (minimum * minimum / (minimum + x)));\r\n\r\n // Ensure we don't exceed the render dimension (while staying POT)\r\n return Math.min(Engine.FloorPOT(renderDimension), curved);\r\n }\r\n\r\n private _prepareRenderingManager(currentRenderList: Array, currentRenderListLength: number, camera: Nullable, checkLayerMask: boolean): void {\r\n var scene = this.getScene();\r\n\r\n if (!scene) {\r\n return;\r\n }\r\n\r\n this._renderingManager.reset();\r\n\r\n var sceneRenderId = scene.getRenderId();\r\n for (var meshIndex = 0; meshIndex < currentRenderListLength; meshIndex++) {\r\n var mesh = currentRenderList[meshIndex];\r\n\r\n if (mesh && !mesh.isBlocked) {\r\n if (this.customIsReadyFunction) {\r\n if (!this.customIsReadyFunction(mesh, this.refreshRate)) {\r\n this.resetRefreshCounter();\r\n continue;\r\n }\r\n }\r\n else if (!mesh.isReady(this.refreshRate === 0)) {\r\n this.resetRefreshCounter();\r\n continue;\r\n }\r\n\r\n if (!mesh._internalAbstractMeshDataInfo._currentLODIsUpToDate && scene.activeCamera) {\r\n mesh._internalAbstractMeshDataInfo._currentLOD = scene.customLODSelector ? scene.customLODSelector(mesh, scene.activeCamera) : mesh.getLOD(scene.activeCamera);\r\n mesh._internalAbstractMeshDataInfo._currentLODIsUpToDate = true;\r\n }\r\n if (!mesh._internalAbstractMeshDataInfo._currentLOD) {\r\n continue;\r\n }\r\n\r\n let meshToRender = mesh._internalAbstractMeshDataInfo._currentLOD;\r\n\r\n meshToRender._preActivateForIntermediateRendering(sceneRenderId);\r\n\r\n let isMasked;\r\n if (checkLayerMask && camera) {\r\n isMasked = ((mesh.layerMask & camera.layerMask) === 0);\r\n } else {\r\n isMasked = false;\r\n }\r\n\r\n if (mesh.isEnabled() && mesh.isVisible && mesh.subMeshes && !isMasked) {\r\n if (meshToRender !== mesh) {\r\n meshToRender._activate(sceneRenderId, true);\r\n }\r\n if (mesh._activate(sceneRenderId, true) && mesh.subMeshes.length) {\r\n if (!mesh.isAnInstance) {\r\n meshToRender._internalAbstractMeshDataInfo._onlyForInstancesIntermediate = false;\r\n } else {\r\n if (mesh._internalAbstractMeshDataInfo._actAsRegularMesh) {\r\n meshToRender = mesh;\r\n }\r\n }\r\n meshToRender._internalAbstractMeshDataInfo._isActiveIntermediate = true;\r\n\r\n for (var subIndex = 0; subIndex < meshToRender.subMeshes.length; subIndex++) {\r\n var subMesh = meshToRender.subMeshes[subIndex];\r\n this._renderingManager.dispatch(subMesh, meshToRender);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (var particleIndex = 0; particleIndex < scene.particleSystems.length; particleIndex++) {\r\n var particleSystem = scene.particleSystems[particleIndex];\r\n\r\n let emitter: any = particleSystem.emitter;\r\n if (!particleSystem.isStarted() || !emitter || !emitter.position || !emitter.isEnabled()) {\r\n continue;\r\n }\r\n\r\n if (currentRenderList.indexOf(emitter) >= 0) {\r\n this._renderingManager.dispatchParticles(particleSystem);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @hidden\r\n * @param faceIndex face index to bind to if this is a cubetexture\r\n * @param layer defines the index of the texture to bind in the array\r\n */\r\n public _bindFrameBuffer(faceIndex: number = 0, layer = 0) {\r\n var scene = this.getScene();\r\n if (!scene) {\r\n return;\r\n }\r\n\r\n var engine = scene.getEngine();\r\n if (this._texture) {\r\n engine.bindFramebuffer(this._texture, this.isCube ? faceIndex : undefined, undefined, undefined, this.ignoreCameraViewport, 0, layer);\r\n }\r\n }\r\n\r\n protected unbindFrameBuffer(engine: Engine, faceIndex: number): void {\r\n if (!this._texture) {\r\n return;\r\n }\r\n engine.unBindFramebuffer(this._texture, this.isCube, () => {\r\n this.onAfterRenderObservable.notifyObservers(faceIndex);\r\n });\r\n }\r\n\r\n private renderToTarget(faceIndex: number, useCameraPostProcess: boolean, dumpForDebug: boolean, layer = 0, camera: Nullable = null): void {\r\n var scene = this.getScene();\r\n\r\n if (!scene) {\r\n return;\r\n }\r\n\r\n var engine = scene.getEngine();\r\n\r\n if (!this._texture) {\r\n return;\r\n }\r\n\r\n // Bind\r\n if (this._postProcessManager) {\r\n this._postProcessManager._prepareFrame(this._texture, this._postProcesses);\r\n }\r\n else if (!useCameraPostProcess || !scene.postProcessManager._prepareFrame(this._texture)) {\r\n this._bindFrameBuffer(faceIndex, layer);\r\n }\r\n\r\n if (this.is2DArray) {\r\n this.onBeforeRenderObservable.notifyObservers(layer);\r\n }\r\n else {\r\n this.onBeforeRenderObservable.notifyObservers(faceIndex);\r\n }\r\n\r\n // Get the list of meshes to render\r\n let currentRenderList: Nullable> = null;\r\n let defaultRenderList = this.renderList ? this.renderList : scene.getActiveMeshes().data;\r\n let defaultRenderListLength = this.renderList ? this.renderList.length : scene.getActiveMeshes().length;\r\n\r\n if (this.getCustomRenderList) {\r\n currentRenderList = this.getCustomRenderList(this.is2DArray ? layer : faceIndex, defaultRenderList, defaultRenderListLength);\r\n }\r\n\r\n if (!currentRenderList) {\r\n // No custom render list provided, we prepare the rendering for the default list, but check\r\n // first if we did not already performed the preparation before so as to avoid re-doing it several times\r\n if (!this._defaultRenderListPrepared) {\r\n this._prepareRenderingManager(defaultRenderList, defaultRenderListLength, camera, !this.renderList);\r\n this._defaultRenderListPrepared = true;\r\n }\r\n currentRenderList = defaultRenderList;\r\n } else {\r\n // Prepare the rendering for the custom render list provided\r\n this._prepareRenderingManager(currentRenderList, currentRenderList.length, camera, false);\r\n }\r\n\r\n // Clear\r\n if (this.onClearObservable.hasObservers()) {\r\n this.onClearObservable.notifyObservers(engine);\r\n } else {\r\n engine.clear(this.clearColor || scene.clearColor, true, true, true);\r\n }\r\n\r\n if (!this._doNotChangeAspectRatio) {\r\n scene.updateTransformMatrix(true);\r\n }\r\n\r\n // Before Camera Draw\r\n for (let step of scene._beforeRenderTargetDrawStage) {\r\n step.action(this);\r\n }\r\n\r\n // Render\r\n this._renderingManager.render(this.customRenderFunction, currentRenderList, this.renderParticles, this.renderSprites);\r\n\r\n // After Camera Draw\r\n for (let step of scene._afterRenderTargetDrawStage) {\r\n step.action(this);\r\n }\r\n\r\n if (this._postProcessManager) {\r\n this._postProcessManager._finalizeFrame(false, this._texture, faceIndex, this._postProcesses, this.ignoreCameraViewport);\r\n }\r\n else if (useCameraPostProcess) {\r\n scene.postProcessManager._finalizeFrame(false, this._texture, faceIndex);\r\n }\r\n\r\n if (!this._doNotChangeAspectRatio) {\r\n scene.updateTransformMatrix(true);\r\n }\r\n\r\n // Dump ?\r\n if (dumpForDebug) {\r\n Tools.DumpFramebuffer(this.getRenderWidth(), this.getRenderHeight(), engine);\r\n }\r\n\r\n // Unbind\r\n if (!this.isCube || faceIndex === 5) {\r\n if (this.isCube) {\r\n\r\n if (faceIndex === 5) {\r\n engine.generateMipMapsForCubemap(this._texture);\r\n }\r\n }\r\n\r\n this.unbindFrameBuffer(engine, faceIndex);\r\n\r\n } else {\r\n this.onAfterRenderObservable.notifyObservers(faceIndex);\r\n }\r\n }\r\n\r\n /**\r\n * Overrides the default sort function applied in the renderging group to prepare the meshes.\r\n * This allowed control for front to back rendering or reversly depending of the special needs.\r\n *\r\n * @param renderingGroupId The rendering group id corresponding to its index\r\n * @param opaqueSortCompareFn The opaque queue comparison function use to sort.\r\n * @param alphaTestSortCompareFn The alpha test queue comparison function use to sort.\r\n * @param transparentSortCompareFn The transparent queue comparison function use to sort.\r\n */\r\n public setRenderingOrder(renderingGroupId: number,\r\n opaqueSortCompareFn: Nullable<(a: SubMesh, b: SubMesh) => number> = null,\r\n alphaTestSortCompareFn: Nullable<(a: SubMesh, b: SubMesh) => number> = null,\r\n transparentSortCompareFn: Nullable<(a: SubMesh, b: SubMesh) => number> = null): void {\r\n\r\n this._renderingManager.setRenderingOrder(renderingGroupId,\r\n opaqueSortCompareFn,\r\n alphaTestSortCompareFn,\r\n transparentSortCompareFn);\r\n }\r\n\r\n /**\r\n * Specifies whether or not the stencil and depth buffer are cleared between two rendering groups.\r\n *\r\n * @param renderingGroupId The rendering group id corresponding to its index\r\n * @param autoClearDepthStencil Automatically clears depth and stencil between groups if true.\r\n */\r\n public setRenderingAutoClearDepthStencil(renderingGroupId: number, autoClearDepthStencil: boolean): void {\r\n this._renderingManager.setRenderingAutoClearDepthStencil(renderingGroupId, autoClearDepthStencil);\r\n this._renderingManager._useSceneAutoClearSetup = false;\r\n }\r\n\r\n /**\r\n * Clones the texture.\r\n * @returns the cloned texture\r\n */\r\n public clone(): RenderTargetTexture {\r\n var textureSize = this.getSize();\r\n var newTexture = new RenderTargetTexture(\r\n this.name,\r\n textureSize,\r\n this.getScene(),\r\n this._renderTargetOptions.generateMipMaps,\r\n this._doNotChangeAspectRatio,\r\n this._renderTargetOptions.type,\r\n this.isCube,\r\n this._renderTargetOptions.samplingMode,\r\n this._renderTargetOptions.generateDepthBuffer,\r\n this._renderTargetOptions.generateStencilBuffer\r\n );\r\n\r\n // Base texture\r\n newTexture.hasAlpha = this.hasAlpha;\r\n newTexture.level = this.level;\r\n\r\n // RenderTarget Texture\r\n newTexture.coordinatesMode = this.coordinatesMode;\r\n if (this.renderList) {\r\n newTexture.renderList = this.renderList.slice(0);\r\n }\r\n\r\n return newTexture;\r\n }\r\n\r\n /**\r\n * Serialize the texture to a JSON representation we can easily use in the resepective Parse function.\r\n * @returns The JSON representation of the texture\r\n */\r\n public serialize(): any {\r\n if (!this.name) {\r\n return null;\r\n }\r\n\r\n var serializationObject = super.serialize();\r\n\r\n serializationObject.renderTargetSize = this.getRenderSize();\r\n serializationObject.renderList = [];\r\n\r\n if (this.renderList) {\r\n for (var index = 0; index < this.renderList.length; index++) {\r\n serializationObject.renderList.push(this.renderList[index].id);\r\n }\r\n }\r\n\r\n return serializationObject;\r\n }\r\n\r\n /**\r\n * This will remove the attached framebuffer objects. The texture will not be able to be used as render target anymore\r\n */\r\n public disposeFramebufferObjects(): void {\r\n let objBuffer = this.getInternalTexture();\r\n let scene = this.getScene();\r\n if (objBuffer && scene) {\r\n scene.getEngine()._releaseFramebufferObjects(objBuffer);\r\n }\r\n }\r\n\r\n /**\r\n * Dispose the texture and release its associated resources.\r\n */\r\n public dispose(): void {\r\n this.onResizeObservable.clear();\r\n this.onClearObservable.clear();\r\n this.onAfterRenderObservable.clear();\r\n this.onAfterUnbindObservable.clear();\r\n this.onBeforeBindObservable.clear();\r\n this.onBeforeRenderObservable.clear();\r\n\r\n if (this._postProcessManager) {\r\n this._postProcessManager.dispose();\r\n this._postProcessManager = null;\r\n }\r\n\r\n this.clearPostProcesses(true);\r\n\r\n if (this._resizeObserver) {\r\n this.getScene()!.getEngine().onResizeObservable.remove(this._resizeObserver);\r\n this._resizeObserver = null;\r\n }\r\n\r\n this.renderList = null;\r\n\r\n // Remove from custom render targets\r\n var scene = this.getScene();\r\n\r\n if (!scene) {\r\n return;\r\n }\r\n\r\n var index = scene.customRenderTargets.indexOf(this);\r\n\r\n if (index >= 0) {\r\n scene.customRenderTargets.splice(index, 1);\r\n }\r\n\r\n for (var camera of scene.cameras) {\r\n index = camera.customRenderTargets.indexOf(this);\r\n\r\n if (index >= 0) {\r\n camera.customRenderTargets.splice(index, 1);\r\n }\r\n }\r\n\r\n if (this.depthStencilTexture) {\r\n this.getScene()!.getEngine()._releaseTexture(this.depthStencilTexture);\r\n }\r\n\r\n super.dispose();\r\n }\r\n\r\n /** @hidden */\r\n public _rebuild(): void {\r\n if (this.refreshRate === RenderTargetTexture.REFRESHRATE_RENDER_ONCE) {\r\n this.refreshRate = RenderTargetTexture.REFRESHRATE_RENDER_ONCE;\r\n }\r\n\r\n if (this._postProcessManager) {\r\n this._postProcessManager._rebuild();\r\n }\r\n }\r\n\r\n /**\r\n * Clear the info related to rendering groups preventing retention point in material dispose.\r\n */\r\n public freeRenderingGroups(): void {\r\n if (this._renderingManager) {\r\n this._renderingManager.freeRenderingGroups();\r\n }\r\n }\r\n\r\n /**\r\n * Gets the number of views the corresponding to the texture (eg. a MultiviewRenderTarget will have > 1)\r\n * @returns the view count\r\n */\r\n public getViewCount() {\r\n return 1;\r\n }\r\n}\r\n\r\nTexture._CreateRenderTargetTexture = (name: string, renderTargetSize: number, scene: Scene, generateMipMaps: boolean) => {\r\n return new RenderTargetTexture(name, renderTargetSize, scene, generateMipMaps);\r\n};\r\n","/**\r\n * Defines an array and its length.\r\n * It can be helpfull to group result from both Arrays and smart arrays in one structure.\r\n */\r\nexport interface ISmartArrayLike {\r\n /**\r\n * The data of the array.\r\n */\r\n data: Array;\r\n /**\r\n * The active length of the array.\r\n */\r\n length: number;\r\n}\r\n\r\n/**\r\n * Defines an GC Friendly array where the backfield array do not shrink to prevent over allocations.\r\n */\r\nexport class SmartArray implements ISmartArrayLike {\r\n /**\r\n * The full set of data from the array.\r\n */\r\n public data: Array;\r\n\r\n /**\r\n * The active length of the array.\r\n */\r\n public length: number = 0;\r\n\r\n protected _id: number;\r\n\r\n /**\r\n * Instantiates a Smart Array.\r\n * @param capacity defines the default capacity of the array.\r\n */\r\n constructor(capacity: number) {\r\n this.data = new Array(capacity);\r\n this._id = SmartArray._GlobalId++;\r\n }\r\n\r\n /**\r\n * Pushes a value at the end of the active data.\r\n * @param value defines the object to push in the array.\r\n */\r\n public push(value: T): void {\r\n this.data[this.length++] = value;\r\n\r\n if (this.length > this.data.length) {\r\n this.data.length *= 2;\r\n }\r\n }\r\n\r\n /**\r\n * Iterates over the active data and apply the lambda to them.\r\n * @param func defines the action to apply on each value.\r\n */\r\n public forEach(func: (content: T) => void): void {\r\n for (var index = 0; index < this.length; index++) {\r\n func(this.data[index]);\r\n }\r\n }\r\n\r\n /**\r\n * Sorts the full sets of data.\r\n * @param compareFn defines the comparison function to apply.\r\n */\r\n public sort(compareFn: (a: T, b: T) => number): void {\r\n this.data.sort(compareFn);\r\n }\r\n\r\n /**\r\n * Resets the active data to an empty array.\r\n */\r\n public reset(): void {\r\n this.length = 0;\r\n }\r\n\r\n /**\r\n * Releases all the data from the array as well as the array.\r\n */\r\n public dispose(): void {\r\n this.reset();\r\n\r\n if (this.data) {\r\n this.data.length = 0;\r\n this.data = [];\r\n }\r\n }\r\n\r\n /**\r\n * Concats the active data with a given array.\r\n * @param array defines the data to concatenate with.\r\n */\r\n public concat(array: any): void {\r\n if (array.length === 0) {\r\n return;\r\n }\r\n if (this.length + array.length > this.data.length) {\r\n this.data.length = (this.length + array.length) * 2;\r\n }\r\n\r\n for (var index = 0; index < array.length; index++) {\r\n this.data[this.length++] = (array.data || array)[index];\r\n }\r\n }\r\n\r\n /**\r\n * Returns the position of a value in the active data.\r\n * @param value defines the value to find the index for\r\n * @returns the index if found in the active data otherwise -1\r\n */\r\n public indexOf(value: T): number {\r\n var position = this.data.indexOf(value);\r\n\r\n if (position >= this.length) {\r\n return -1;\r\n }\r\n\r\n return position;\r\n }\r\n\r\n /**\r\n * Returns whether an element is part of the active data.\r\n * @param value defines the value to look for\r\n * @returns true if found in the active data otherwise false\r\n */\r\n public contains(value: T): boolean {\r\n return this.indexOf(value) !== -1;\r\n }\r\n\r\n // Statics\r\n private static _GlobalId = 0;\r\n}\r\n\r\n/**\r\n * Defines an GC Friendly array where the backfield array do not shrink to prevent over allocations.\r\n * The data in this array can only be present once\r\n */\r\nexport class SmartArrayNoDuplicate extends SmartArray {\r\n private _duplicateId = 0;\r\n\r\n /**\r\n * Pushes a value at the end of the active data.\r\n * THIS DOES NOT PREVENT DUPPLICATE DATA\r\n * @param value defines the object to push in the array.\r\n */\r\n public push(value: T): void {\r\n super.push(value);\r\n\r\n if (!(value).__smartArrayFlags) {\r\n (value).__smartArrayFlags = {};\r\n }\r\n\r\n (value).__smartArrayFlags[this._id] = this._duplicateId;\r\n }\r\n\r\n /**\r\n * Pushes a value at the end of the active data.\r\n * If the data is already present, it won t be added again\r\n * @param value defines the object to push in the array.\r\n * @returns true if added false if it was already present\r\n */\r\n public pushNoDuplicate(value: T): boolean {\r\n if ((value).__smartArrayFlags && (value).__smartArrayFlags[this._id] === this._duplicateId) {\r\n return false;\r\n }\r\n this.push(value);\r\n return true;\r\n }\r\n\r\n /**\r\n * Resets the active data to an empty array.\r\n */\r\n public reset(): void {\r\n super.reset();\r\n this._duplicateId++;\r\n }\r\n\r\n /**\r\n * Concats the active data with a given array.\r\n * This ensures no dupplicate will be present in the result.\r\n * @param array defines the data to concatenate with.\r\n */\r\n public concatWithNoDuplicate(array: any): void {\r\n if (array.length === 0) {\r\n return;\r\n }\r\n if (this.length + array.length > this.data.length) {\r\n this.data.length = (this.length + array.length) * 2;\r\n }\r\n\r\n for (var index = 0; index < array.length; index++) {\r\n var item = (array.data || array)[index];\r\n this.pushNoDuplicate(item);\r\n }\r\n }\r\n}\r\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","/**\r\n * Helper to manipulate strings\r\n */\r\nexport class StringTools {\r\n /**\r\n * Checks for a matching suffix at the end of a string (for ES5 and lower)\r\n * @param str Source string\r\n * @param suffix Suffix to search for in the source string\r\n * @returns Boolean indicating whether the suffix was found (true) or not (false)\r\n */\r\n public static EndsWith(str: string, suffix: string): boolean {\r\n return str.indexOf(suffix, str.length - suffix.length) !== -1;\r\n }\r\n\r\n /**\r\n * Checks for a matching suffix at the beginning of a string (for ES5 and lower)\r\n * @param str Source string\r\n * @param suffix Suffix to search for in the source string\r\n * @returns Boolean indicating whether the suffix was found (true) or not (false)\r\n */\r\n public static StartsWith(str: string, suffix: string): boolean {\r\n if (!str) {\r\n return false;\r\n }\r\n return str.indexOf(suffix) === 0;\r\n }\r\n\r\n /**\r\n * Decodes a buffer into a string\r\n * @param buffer The buffer to decode\r\n * @returns The decoded string\r\n */\r\n public static Decode(buffer: Uint8Array | Uint16Array): string {\r\n if (typeof TextDecoder !== \"undefined\") {\r\n return new TextDecoder().decode(buffer);\r\n }\r\n\r\n let result = \"\";\r\n for (let i = 0; i < buffer.byteLength; i++) {\r\n result += String.fromCharCode(buffer[i]);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Encode a buffer to a base64 string\r\n * @param buffer defines the buffer to encode\r\n * @returns the encoded string\r\n */\r\n public static EncodeArrayBufferToBase64(buffer: ArrayBuffer | ArrayBufferView): string {\r\n var keyStr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\n var output = \"\";\r\n var chr1, chr2, chr3, enc1, enc2, enc3, enc4;\r\n var i = 0;\r\n var bytes = ArrayBuffer.isView(buffer) ? new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength) : new Uint8Array(buffer);\r\n\r\n while (i < bytes.length) {\r\n chr1 = bytes[i++];\r\n chr2 = i < bytes.length ? bytes[i++] : Number.NaN;\r\n chr3 = i < bytes.length ? bytes[i++] : Number.NaN;\r\n\r\n enc1 = chr1 >> 2;\r\n enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\r\n enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\r\n enc4 = chr3 & 63;\r\n\r\n if (isNaN(chr2)) {\r\n enc3 = enc4 = 64;\r\n } else if (isNaN(chr3)) {\r\n enc4 = 64;\r\n }\r\n output += keyStr.charAt(enc1) + keyStr.charAt(enc2) +\r\n keyStr.charAt(enc3) + keyStr.charAt(enc4);\r\n }\r\n\r\n return output;\r\n }\r\n\r\n /**\r\n * Converts a number to string and pads with preceeding zeroes until it is of specified length.\r\n * @param num the number to convert and pad\r\n * @param length the expected length of the string\r\n * @returns the padded string\r\n */\r\n public static PadNumber(num: number, length: number): string {\r\n var str = String(num);\r\n while (str.length < length) { str = \"0\" + str; }\r\n return str;\r\n }\r\n\r\n}","import { Scene } from \"./scene\";\r\nimport { Nullable } from \"./types\";\r\nimport { AbstractMesh } from \"./Meshes/abstractMesh\";\r\nimport { TransformNode } from \"./Meshes/transformNode\";\r\nimport { Geometry } from \"./Meshes/geometry\";\r\nimport { Skeleton } from \"./Bones/skeleton\";\r\nimport { MorphTargetManager } from \"./Morph/morphTargetManager\";\r\nimport { AssetContainer } from \"./assetContainer\";\r\nimport { IParticleSystem } from \"./Particles/IParticleSystem\";\r\nimport { AnimationGroup } from \"./Animations/animationGroup\";\r\nimport { BaseTexture } from \"./Materials/Textures/baseTexture\";\r\nimport { Material } from \"./Materials/material\";\r\nimport { MultiMaterial } from \"./Materials/multiMaterial\";\r\nimport { AbstractActionManager } from \"./Actions/abstractActionManager\";\r\nimport { Camera } from \"./Cameras/camera\";\r\nimport { Light } from \"./Lights/light\";\r\nimport { Node } from \"./node\";\r\n\r\ndeclare type Animation = import(\"./Animations/animation\").Animation;\r\ndeclare type PostProcess = import(\"./PostProcesses/postProcess\").PostProcess;\r\n\r\n/**\r\n * Defines how the parser contract is defined.\r\n * These parsers are used to parse a list of specific assets (like particle systems, etc..)\r\n */\r\nexport type BabylonFileParser = (parsedData: any, scene: Scene, container: AssetContainer, rootUrl: string) => void;\r\n\r\n/**\r\n * Defines how the individual parser contract is defined.\r\n * These parser can parse an individual asset\r\n */\r\nexport type IndividualBabylonFileParser = (parsedData: any, scene: Scene, rootUrl: string) => any;\r\n\r\n/**\r\n * Base class of the scene acting as a container for the different elements composing a scene.\r\n * This class is dynamically extended by the different components of the scene increasing\r\n * flexibility and reducing coupling\r\n */\r\nexport abstract class AbstractScene {\r\n /**\r\n * Stores the list of available parsers in the application.\r\n */\r\n private static _BabylonFileParsers: { [key: string]: BabylonFileParser } = {};\r\n\r\n /**\r\n * Stores the list of available individual parsers in the application.\r\n */\r\n private static _IndividualBabylonFileParsers: { [key: string]: IndividualBabylonFileParser } = {};\r\n\r\n /**\r\n * Adds a parser in the list of available ones\r\n * @param name Defines the name of the parser\r\n * @param parser Defines the parser to add\r\n */\r\n public static AddParser(name: string, parser: BabylonFileParser): void {\r\n this._BabylonFileParsers[name] = parser;\r\n }\r\n\r\n /**\r\n * Gets a general parser from the list of avaialble ones\r\n * @param name Defines the name of the parser\r\n * @returns the requested parser or null\r\n */\r\n public static GetParser(name: string): Nullable {\r\n if (this._BabylonFileParsers[name]) {\r\n return this._BabylonFileParsers[name];\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Adds n individual parser in the list of available ones\r\n * @param name Defines the name of the parser\r\n * @param parser Defines the parser to add\r\n */\r\n public static AddIndividualParser(name: string, parser: IndividualBabylonFileParser): void {\r\n this._IndividualBabylonFileParsers[name] = parser;\r\n }\r\n\r\n /**\r\n * Gets an individual parser from the list of avaialble ones\r\n * @param name Defines the name of the parser\r\n * @returns the requested parser or null\r\n */\r\n public static GetIndividualParser(name: string): Nullable {\r\n if (this._IndividualBabylonFileParsers[name]) {\r\n return this._IndividualBabylonFileParsers[name];\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Parser json data and populate both a scene and its associated container object\r\n * @param jsonData Defines the data to parse\r\n * @param scene Defines the scene to parse the data for\r\n * @param container Defines the container attached to the parsing sequence\r\n * @param rootUrl Defines the root url of the data\r\n */\r\n public static Parse(jsonData: any, scene: Scene, container: AssetContainer, rootUrl: string): void {\r\n for (let parserName in this._BabylonFileParsers) {\r\n if (this._BabylonFileParsers.hasOwnProperty(parserName)) {\r\n this._BabylonFileParsers[parserName](jsonData, scene, container, rootUrl);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Gets the list of root nodes (ie. nodes with no parent)\r\n */\r\n public rootNodes = new Array();\r\n\r\n /** All of the cameras added to this scene\r\n * @see https://doc.babylonjs.com/babylon101/cameras\r\n */\r\n public cameras = new Array();\r\n\r\n /**\r\n * All of the lights added to this scene\r\n * @see https://doc.babylonjs.com/babylon101/lights\r\n */\r\n public lights = new Array();\r\n\r\n /**\r\n * All of the (abstract) meshes added to this scene\r\n */\r\n public meshes = new Array();\r\n\r\n /**\r\n * The list of skeletons added to the scene\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_bones_and_skeletons\r\n */\r\n public skeletons = new Array();\r\n\r\n /**\r\n * All of the particle systems added to this scene\r\n * @see https://doc.babylonjs.com/babylon101/particles\r\n */\r\n public particleSystems = new Array();\r\n\r\n /**\r\n * Gets a list of Animations associated with the scene\r\n */\r\n public animations: Animation[] = [];\r\n\r\n /**\r\n * All of the animation groups added to this scene\r\n * @see https://doc.babylonjs.com/how_to/group\r\n */\r\n public animationGroups = new Array();\r\n\r\n /**\r\n * All of the multi-materials added to this scene\r\n * @see https://doc.babylonjs.com/how_to/multi_materials\r\n */\r\n public multiMaterials = new Array();\r\n\r\n /**\r\n * All of the materials added to this scene\r\n * In the context of a Scene, it is not supposed to be modified manually.\r\n * Any addition or removal should be done using the addMaterial and removeMaterial Scene methods.\r\n * Note also that the order of the Material within the array is not significant and might change.\r\n * @see https://doc.babylonjs.com/babylon101/materials\r\n */\r\n public materials = new Array();\r\n\r\n /**\r\n * The list of morph target managers added to the scene\r\n * @see https://doc.babylonjs.com/how_to/how_to_dynamically_morph_a_mesh\r\n */\r\n public morphTargetManagers = new Array();\r\n\r\n /**\r\n * The list of geometries used in the scene.\r\n */\r\n public geometries = new Array();\r\n\r\n /**\r\n * All of the tranform nodes added to this scene\r\n * In the context of a Scene, it is not supposed to be modified manually.\r\n * Any addition or removal should be done using the addTransformNode and removeTransformNode Scene methods.\r\n * Note also that the order of the TransformNode wihin the array is not significant and might change.\r\n * @see https://doc.babylonjs.com/how_to/transformnode\r\n */\r\n public transformNodes = new Array();\r\n\r\n /**\r\n * ActionManagers available on the scene.\r\n */\r\n public actionManagers = new Array();\r\n\r\n /**\r\n * Textures to keep.\r\n */\r\n public textures = new Array();\r\n\r\n /** @hidden */\r\n protected _environmentTexture: Nullable = null;\r\n /**\r\n * Texture used in all pbr material as the reflection texture.\r\n * As in the majority of the scene they are the same (exception for multi room and so on),\r\n * this is easier to reference from here than from all the materials.\r\n */\r\n public get environmentTexture(): Nullable {\r\n return this._environmentTexture;\r\n }\r\n\r\n public set environmentTexture(value: Nullable) {\r\n this._environmentTexture = value;\r\n }\r\n\r\n /**\r\n * The list of postprocesses added to the scene\r\n */\r\n public postProcesses = new Array();\r\n\r\n /**\r\n * @returns all meshes, lights, cameras, transformNodes and bones\r\n */\r\n public getNodes(): Array {\r\n let nodes = new Array();\r\n nodes = nodes.concat(this.meshes);\r\n nodes = nodes.concat(this.lights);\r\n nodes = nodes.concat(this.cameras);\r\n nodes = nodes.concat(this.transformNodes); // dummies\r\n this.skeletons.forEach((skeleton) => nodes = nodes.concat(skeleton.bones));\r\n return nodes;\r\n }\r\n}\r\n","import { IDisposable, Scene } from \"../scene\";\r\nimport { Nullable } from \"../types\";\r\nimport { Observable, Observer } from \"../Misc/observable\";\r\nimport { PointerInfoPre, PointerInfo, PointerEventTypes } from \"../Events/pointerEvents\";\r\nimport { PickingInfo } from \"../Collisions/pickingInfo\";\r\nimport { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { EngineStore } from \"../Engines/engineStore\";\r\nimport { HemisphericLight } from '../Lights/hemisphericLight';\r\nimport { Vector3 } from '../Maths/math.vector';\r\nimport { Camera } from '../Cameras/camera';\r\nimport { Color3 } from '../Maths/math.color';\r\n\r\n/**\r\n * Renders a layer on top of an existing scene\r\n */\r\nexport class UtilityLayerRenderer implements IDisposable {\r\n private _pointerCaptures: { [pointerId: number]: boolean } = {};\r\n private _lastPointerEvents: { [pointerId: number]: boolean } = {};\r\n private static _DefaultUtilityLayer: Nullable = null;\r\n private static _DefaultKeepDepthUtilityLayer: Nullable = null;\r\n private _sharedGizmoLight: Nullable = null;\r\n\r\n private _renderCamera: Nullable = null;\r\n\r\n /**\r\n * Gets the camera that is used to render the utility layer (when not set, this will be the last active camera)\r\n * @param getRigParentIfPossible if the current active camera is a rig camera, should its parent camera be returned\r\n * @returns the camera that is used when rendering the utility layer\r\n */\r\n public getRenderCamera(getRigParentIfPossible?: boolean) {\r\n if (this._renderCamera) {\r\n return this._renderCamera;\r\n } else {\r\n let activeCam: Camera;\r\n if (this.originalScene.activeCameras && this.originalScene.activeCameras.length > 1) {\r\n activeCam = this.originalScene.activeCameras[this.originalScene.activeCameras.length - 1];\r\n } else {\r\n activeCam = (this.originalScene.activeCamera!);\r\n }\r\n\r\n if (getRigParentIfPossible && activeCam && activeCam.isRigCamera) {\r\n return activeCam.rigParent!;\r\n }\r\n return activeCam;\r\n }\r\n }\r\n /**\r\n * Sets the camera that should be used when rendering the utility layer (If set to null the last active camera will be used)\r\n * @param cam the camera that should be used when rendering the utility layer\r\n */\r\n public setRenderCamera(cam: Nullable) {\r\n this._renderCamera = cam;\r\n }\r\n\r\n /**\r\n * @hidden\r\n * Light which used by gizmos to get light shading\r\n */\r\n public _getSharedGizmoLight(): HemisphericLight {\r\n if (!this._sharedGizmoLight) {\r\n this._sharedGizmoLight = new HemisphericLight(\"shared gizmo light\", new Vector3(0, 1, 0), this.utilityLayerScene);\r\n this._sharedGizmoLight.intensity = 2;\r\n this._sharedGizmoLight.groundColor = Color3.Gray();\r\n }\r\n return this._sharedGizmoLight;\r\n }\r\n\r\n /**\r\n * If the picking should be done on the utility layer prior to the actual scene (Default: true)\r\n */\r\n public pickUtilitySceneFirst = true;\r\n /**\r\n * A shared utility layer that can be used to overlay objects into a scene (Depth map of the previous scene is cleared before drawing on top of it)\r\n */\r\n public static get DefaultUtilityLayer(): UtilityLayerRenderer {\r\n if (UtilityLayerRenderer._DefaultUtilityLayer == null) {\r\n UtilityLayerRenderer._DefaultUtilityLayer = new UtilityLayerRenderer(EngineStore.LastCreatedScene!);\r\n UtilityLayerRenderer._DefaultUtilityLayer.originalScene.onDisposeObservable.addOnce(() => {\r\n UtilityLayerRenderer._DefaultUtilityLayer = null;\r\n });\r\n }\r\n return UtilityLayerRenderer._DefaultUtilityLayer;\r\n }\r\n /**\r\n * A shared utility layer that can be used to embed objects into a scene (Depth map of the previous scene is not cleared before drawing on top of it)\r\n */\r\n public static get DefaultKeepDepthUtilityLayer(): UtilityLayerRenderer {\r\n if (UtilityLayerRenderer._DefaultKeepDepthUtilityLayer == null) {\r\n UtilityLayerRenderer._DefaultKeepDepthUtilityLayer = new UtilityLayerRenderer(EngineStore.LastCreatedScene!);\r\n UtilityLayerRenderer._DefaultKeepDepthUtilityLayer.utilityLayerScene.autoClearDepthAndStencil = false;\r\n UtilityLayerRenderer._DefaultKeepDepthUtilityLayer.originalScene.onDisposeObservable.addOnce(() => {\r\n UtilityLayerRenderer._DefaultKeepDepthUtilityLayer = null;\r\n });\r\n }\r\n return UtilityLayerRenderer._DefaultKeepDepthUtilityLayer;\r\n }\r\n\r\n /**\r\n * The scene that is rendered on top of the original scene\r\n */\r\n public utilityLayerScene: Scene;\r\n\r\n /**\r\n * If the utility layer should automatically be rendered on top of existing scene\r\n */\r\n public shouldRender: boolean = true;\r\n /**\r\n * If set to true, only pointer down onPointerObservable events will be blocked when picking is occluded by original scene\r\n */\r\n public onlyCheckPointerDownEvents = true;\r\n\r\n /**\r\n * If set to false, only pointerUp, pointerDown and pointerMove will be sent to the utilityLayerScene (false by default)\r\n */\r\n public processAllEvents = false;\r\n\r\n /**\r\n * Observable raised when the pointer move from the utility layer scene to the main scene\r\n */\r\n public onPointerOutObservable = new Observable();\r\n\r\n /** Gets or sets a predicate that will be used to indicate utility meshes present in the main scene */\r\n public mainSceneTrackerPredicate: (mesh: Nullable) => boolean;\r\n\r\n private _afterRenderObserver: Nullable>;\r\n private _sceneDisposeObserver: Nullable>;\r\n private _originalPointerObserver: Nullable>;\r\n /**\r\n * Instantiates a UtilityLayerRenderer\r\n * @param originalScene the original scene that will be rendered on top of\r\n * @param handleEvents boolean indicating if the utility layer should handle events\r\n */\r\n constructor(\r\n /** the original scene that will be rendered on top of */\r\n public originalScene: Scene,\r\n handleEvents: boolean = true) {\r\n // Create scene which will be rendered in the foreground and remove it from being referenced by engine to avoid interfering with existing app\r\n this.utilityLayerScene = new Scene(originalScene.getEngine(), { virtual: true });\r\n this.utilityLayerScene.useRightHandedSystem = originalScene.useRightHandedSystem;\r\n this.utilityLayerScene._allowPostProcessClearColor = false;\r\n\r\n // Detach controls on utility scene, events will be fired by logic below to handle picking priority\r\n this.utilityLayerScene.detachControl();\r\n\r\n if (handleEvents) {\r\n this._originalPointerObserver = originalScene.onPrePointerObservable.add((prePointerInfo, eventState) => {\r\n if (!this.utilityLayerScene.activeCamera) {\r\n return;\r\n }\r\n if (!this.processAllEvents) {\r\n if (prePointerInfo.type !== PointerEventTypes.POINTERMOVE\r\n && prePointerInfo.type !== PointerEventTypes.POINTERUP\r\n && prePointerInfo.type !== PointerEventTypes.POINTERDOWN\r\n && prePointerInfo.type !== PointerEventTypes.POINTERDOUBLETAP) {\r\n return;\r\n }\r\n }\r\n this.utilityLayerScene.pointerX = originalScene.pointerX;\r\n this.utilityLayerScene.pointerY = originalScene.pointerY;\r\n let pointerEvent = (prePointerInfo.event);\r\n if (originalScene!.isPointerCaptured(pointerEvent.pointerId)) {\r\n this._pointerCaptures[pointerEvent.pointerId] = false;\r\n return;\r\n }\r\n\r\n var utilityScenePick = prePointerInfo.ray ? this.utilityLayerScene.pickWithRay(prePointerInfo.ray) : this.utilityLayerScene.pick(originalScene.pointerX, originalScene.pointerY);\r\n if (!prePointerInfo.ray && utilityScenePick) {\r\n prePointerInfo.ray = utilityScenePick.ray;\r\n }\r\n\r\n // always fire the prepointer oversvable\r\n this.utilityLayerScene.onPrePointerObservable.notifyObservers(prePointerInfo);\r\n\r\n // allow every non pointer down event to flow to the utility layer\r\n if (this.onlyCheckPointerDownEvents && prePointerInfo.type != PointerEventTypes.POINTERDOWN) {\r\n if (!prePointerInfo.skipOnPointerObservable) {\r\n this.utilityLayerScene.onPointerObservable.notifyObservers(new PointerInfo(prePointerInfo.type, prePointerInfo.event, utilityScenePick), prePointerInfo.type);\r\n }\r\n if (prePointerInfo.type === PointerEventTypes.POINTERUP && this._pointerCaptures[pointerEvent.pointerId]) {\r\n this._pointerCaptures[pointerEvent.pointerId] = false;\r\n }\r\n return;\r\n }\r\n\r\n if (this.utilityLayerScene.autoClearDepthAndStencil || this.pickUtilitySceneFirst) {\r\n // If this layer is an overlay, check if this layer was hit and if so, skip pointer events for the main scene\r\n if (utilityScenePick && utilityScenePick.hit) {\r\n\r\n if (!prePointerInfo.skipOnPointerObservable) {\r\n this.utilityLayerScene.onPointerObservable.notifyObservers(new PointerInfo(prePointerInfo.type, prePointerInfo.event, utilityScenePick), prePointerInfo.type);\r\n }\r\n prePointerInfo.skipOnPointerObservable = true;\r\n }\r\n } else {\r\n var originalScenePick = prePointerInfo.ray ? originalScene.pickWithRay(prePointerInfo.ray) : originalScene.pick(originalScene.pointerX, originalScene.pointerY);\r\n let pointerEvent = (prePointerInfo.event);\r\n\r\n // If the layer can be occluded by the original scene, only fire pointer events to the first layer that hit they ray\r\n if (originalScenePick && utilityScenePick) {\r\n\r\n // No pick in utility scene\r\n if (utilityScenePick.distance === 0 && originalScenePick.pickedMesh) {\r\n if (this.mainSceneTrackerPredicate && this.mainSceneTrackerPredicate(originalScenePick.pickedMesh)) {\r\n // We touched an utility mesh present in the main scene\r\n this._notifyObservers(prePointerInfo, originalScenePick, pointerEvent);\r\n prePointerInfo.skipOnPointerObservable = true;\r\n } else if (prePointerInfo.type === PointerEventTypes.POINTERDOWN) {\r\n this._pointerCaptures[pointerEvent.pointerId] = true;\r\n } else if (this._lastPointerEvents[pointerEvent.pointerId]) {\r\n // We need to send a last pointerup to the utilityLayerScene to make sure animations can complete\r\n this.onPointerOutObservable.notifyObservers(pointerEvent.pointerId);\r\n delete this._lastPointerEvents[pointerEvent.pointerId];\r\n }\r\n } else if (!this._pointerCaptures[pointerEvent.pointerId] && (utilityScenePick.distance < originalScenePick.distance || originalScenePick.distance === 0)) {\r\n // We pick something in utility scene or the pick in utility is closer than the one in main scene\r\n this._notifyObservers(prePointerInfo, utilityScenePick, pointerEvent);\r\n // If a previous utility layer set this, do not unset this\r\n if (!prePointerInfo.skipOnPointerObservable) {\r\n prePointerInfo.skipOnPointerObservable = utilityScenePick.distance > 0;\r\n }\r\n } else if (!this._pointerCaptures[pointerEvent.pointerId] && (utilityScenePick.distance > originalScenePick.distance)) {\r\n // We have a pick in both scenes but main is closer than utility\r\n\r\n // We touched an utility mesh present in the main scene\r\n if (this.mainSceneTrackerPredicate && this.mainSceneTrackerPredicate(originalScenePick.pickedMesh)) {\r\n this._notifyObservers(prePointerInfo, originalScenePick, pointerEvent);\r\n prePointerInfo.skipOnPointerObservable = true;\r\n } else if (this._lastPointerEvents[pointerEvent.pointerId]) {\r\n // We need to send a last pointerup to the utilityLayerScene to make sure animations can complete\r\n this.onPointerOutObservable.notifyObservers(pointerEvent.pointerId);\r\n delete this._lastPointerEvents[pointerEvent.pointerId];\r\n }\r\n }\r\n\r\n if (prePointerInfo.type === PointerEventTypes.POINTERUP && this._pointerCaptures[pointerEvent.pointerId]) {\r\n this._pointerCaptures[pointerEvent.pointerId] = false;\r\n }\r\n }\r\n }\r\n });\r\n\r\n // As a newly added utility layer will be rendered over the screen last, it's pointer events should be processed first\r\n if (this._originalPointerObserver) {\r\n originalScene.onPrePointerObservable.makeObserverTopPriority(this._originalPointerObserver);\r\n }\r\n }\r\n\r\n // Render directly on top of existing scene without clearing\r\n this.utilityLayerScene.autoClear = false;\r\n\r\n this._afterRenderObserver = this.originalScene.onAfterCameraRenderObservable.add((camera) => {\r\n // Only render when the render camera finishes rendering\r\n if (this.shouldRender && camera == this.getRenderCamera()) {\r\n this.render();\r\n }\r\n });\r\n\r\n this._sceneDisposeObserver = this.originalScene.onDisposeObservable.add(() => {\r\n this.dispose();\r\n });\r\n\r\n this._updateCamera();\r\n }\r\n\r\n private _notifyObservers(prePointerInfo: PointerInfoPre, pickInfo: PickingInfo, pointerEvent: PointerEvent) {\r\n if (!prePointerInfo.skipOnPointerObservable) {\r\n this.utilityLayerScene.onPointerObservable.notifyObservers(new PointerInfo(prePointerInfo.type, prePointerInfo.event, pickInfo), prePointerInfo.type);\r\n this._lastPointerEvents[pointerEvent.pointerId] = true;\r\n }\r\n }\r\n\r\n /**\r\n * Renders the utility layers scene on top of the original scene\r\n */\r\n public render() {\r\n this._updateCamera();\r\n if (this.utilityLayerScene.activeCamera) {\r\n // Set the camera's scene to utility layers scene\r\n var oldScene = this.utilityLayerScene.activeCamera.getScene();\r\n var camera = this.utilityLayerScene.activeCamera;\r\n camera._scene = this.utilityLayerScene;\r\n if (camera.leftCamera) {\r\n camera.leftCamera._scene = this.utilityLayerScene;\r\n }\r\n if (camera.rightCamera) {\r\n camera.rightCamera._scene = this.utilityLayerScene;\r\n }\r\n\r\n this.utilityLayerScene.render(false);\r\n\r\n // Reset camera's scene back to original\r\n camera._scene = oldScene;\r\n if (camera.leftCamera) {\r\n camera.leftCamera._scene = oldScene;\r\n }\r\n if (camera.rightCamera) {\r\n camera.rightCamera._scene = oldScene;\r\n }\r\n }\r\n\r\n }\r\n\r\n /**\r\n * Disposes of the renderer\r\n */\r\n public dispose() {\r\n this.onPointerOutObservable.clear();\r\n\r\n if (this._afterRenderObserver) {\r\n this.originalScene.onAfterCameraRenderObservable.remove(this._afterRenderObserver);\r\n }\r\n if (this._sceneDisposeObserver) {\r\n this.originalScene.onDisposeObservable.remove(this._sceneDisposeObserver);\r\n }\r\n if (this._originalPointerObserver) {\r\n this.originalScene.onPrePointerObservable.remove(this._originalPointerObserver);\r\n }\r\n this.utilityLayerScene.dispose();\r\n }\r\n\r\n private _updateCamera() {\r\n this.utilityLayerScene.cameraToUseForPointers = this.getRenderCamera();\r\n this.utilityLayerScene.activeCamera = this.getRenderCamera();\r\n }\r\n}\r\n","import { AndOrNotEvaluator } from \"./andOrNotEvaluator\";\r\n\r\n/**\r\n * Class used to store custom tags\r\n */\r\nexport class Tags {\r\n /**\r\n * Adds support for tags on the given object\r\n * @param obj defines the object to use\r\n */\r\n public static EnableFor(obj: any): void {\r\n obj._tags = obj._tags || {};\r\n\r\n obj.hasTags = () => {\r\n return Tags.HasTags(obj);\r\n };\r\n\r\n obj.addTags = (tagsString: string) => {\r\n return Tags.AddTagsTo(obj, tagsString);\r\n };\r\n\r\n obj.removeTags = (tagsString: string) => {\r\n return Tags.RemoveTagsFrom(obj, tagsString);\r\n };\r\n\r\n obj.matchesTagsQuery = (tagsQuery: string) => {\r\n return Tags.MatchesQuery(obj, tagsQuery);\r\n };\r\n }\r\n\r\n /**\r\n * Removes tags support\r\n * @param obj defines the object to use\r\n */\r\n public static DisableFor(obj: any): void {\r\n delete obj._tags;\r\n delete obj.hasTags;\r\n delete obj.addTags;\r\n delete obj.removeTags;\r\n delete obj.matchesTagsQuery;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if the given object has tags\r\n * @param obj defines the object to use\r\n * @returns a boolean\r\n */\r\n public static HasTags(obj: any): boolean {\r\n if (!obj._tags) {\r\n return false;\r\n }\r\n\r\n let tags = obj._tags;\r\n for (var i in tags) {\r\n if (tags.hasOwnProperty(i)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Gets the tags available on a given object\r\n * @param obj defines the object to use\r\n * @param asString defines if the tags must be returned as a string instead of an array of strings\r\n * @returns the tags\r\n */\r\n public static GetTags(obj: any, asString: boolean = true): any {\r\n if (!obj._tags) {\r\n return null;\r\n }\r\n if (asString) {\r\n var tagsArray = [];\r\n for (var tag in obj._tags) {\r\n if (obj._tags.hasOwnProperty(tag) && obj._tags[tag] === true) {\r\n tagsArray.push(tag);\r\n }\r\n }\r\n return tagsArray.join(\" \");\r\n } else {\r\n return obj._tags;\r\n }\r\n\r\n }\r\n\r\n /**\r\n * Adds tags to an object\r\n * @param obj defines the object to use\r\n * @param tagsString defines the tag string. The tags 'true' and 'false' are reserved and cannot be used as tags.\r\n * A tag cannot start with '||', '&&', and '!'. It cannot contain whitespaces\r\n */\r\n public static AddTagsTo(obj: any, tagsString: string): void {\r\n if (!tagsString) {\r\n return;\r\n }\r\n\r\n if (typeof tagsString !== \"string\") {\r\n return;\r\n }\r\n\r\n var tags = tagsString.split(\" \");\r\n tags.forEach(function(tag, index, array) {\r\n Tags._AddTagTo(obj, tag);\r\n });\r\n }\r\n\r\n /**\r\n * @hidden\r\n */\r\n public static _AddTagTo(obj: any, tag: string): void {\r\n tag = tag.trim();\r\n\r\n if (tag === \"\" || tag === \"true\" || tag === \"false\") {\r\n return;\r\n }\r\n\r\n if (tag.match(/[\\s]/) || tag.match(/^([!]|([|]|[&]){2})/)) {\r\n return;\r\n }\r\n\r\n Tags.EnableFor(obj);\r\n obj._tags[tag] = true;\r\n }\r\n\r\n /**\r\n * Removes specific tags from a specific object\r\n * @param obj defines the object to use\r\n * @param tagsString defines the tags to remove\r\n */\r\n public static RemoveTagsFrom(obj: any, tagsString: string) {\r\n if (!Tags.HasTags(obj)) {\r\n return;\r\n }\r\n var tags = tagsString.split(\" \");\r\n for (var t in tags) {\r\n Tags._RemoveTagFrom(obj, tags[t]);\r\n }\r\n }\r\n\r\n /**\r\n * @hidden\r\n */\r\n public static _RemoveTagFrom(obj: any, tag: string): void {\r\n delete obj._tags[tag];\r\n }\r\n\r\n /**\r\n * Defines if tags hosted on an object match a given query\r\n * @param obj defines the object to use\r\n * @param tagsQuery defines the tag query\r\n * @returns a boolean\r\n */\r\n public static MatchesQuery(obj: any, tagsQuery: string): boolean {\r\n if (tagsQuery === undefined) {\r\n return true;\r\n }\r\n\r\n if (tagsQuery === \"\") {\r\n return Tags.HasTags(obj);\r\n }\r\n\r\n return AndOrNotEvaluator.Eval(tagsQuery, (r) => Tags.HasTags(obj) && obj._tags[r]);\r\n }\r\n}\r\n","/**\r\n * Sets of helpers dealing with the DOM and some of the recurrent functions needed in\r\n * Babylon.js\r\n */\r\nexport class DomManagement {\r\n /**\r\n * Checks if the window object exists\r\n * @returns true if the window object exists\r\n */\r\n public static IsWindowObjectExist(): boolean {\r\n return (typeof window) !== \"undefined\";\r\n }\r\n\r\n /**\r\n * Checks if the navigator object exists\r\n * @returns true if the navigator object exists\r\n */\r\n public static IsNavigatorAvailable(): boolean {\r\n return (typeof navigator) !== \"undefined\";\r\n }\r\n\r\n /**\r\n * Check if the document object exists\r\n * @returns true if the document object exists\r\n */\r\n public static IsDocumentAvailable(): boolean {\r\n return (typeof document) !== \"undefined\";\r\n }\r\n\r\n /**\r\n * Extracts text content from a DOM element hierarchy\r\n * @param element defines the root element\r\n * @returns a string\r\n */\r\n public static GetDOMTextContent(element: HTMLElement): string {\r\n var result = \"\";\r\n var child = element.firstChild;\r\n\r\n while (child) {\r\n if (child.nodeType === 3) {\r\n result += child.textContent;\r\n }\r\n child = (child.nextSibling);\r\n }\r\n\r\n return result;\r\n }\r\n}","import { StringTools } from './stringTools';\r\nimport { Logger } from './logger';\r\n\r\nvar cloneValue = (source: any, destinationObject: any) => {\r\n if (!source) {\r\n return null;\r\n }\r\n\r\n if (source.getClassName && source.getClassName() === \"Mesh\") {\r\n return null;\r\n }\r\n\r\n if (source.getClassName && source.getClassName() === \"SubMesh\") {\r\n return source.clone(destinationObject);\r\n } else if (source.clone) {\r\n return source.clone();\r\n }\r\n return null;\r\n};\r\n\r\nfunction getAllPropertyNames(obj: any): string[] {\r\n const props: string[] = [];\r\n\r\n do {\r\n Object.getOwnPropertyNames(obj).forEach(function(prop) {\r\n if (props.indexOf(prop) === -1) {\r\n props.push(prop);\r\n }\r\n });\r\n } while (obj = Object.getPrototypeOf(obj));\r\n\r\n return props;\r\n}\r\n\r\n/**\r\n * Class containing a set of static utilities functions for deep copy.\r\n */\r\nexport class DeepCopier {\r\n /**\r\n * Tries to copy an object by duplicating every property\r\n * @param source defines the source object\r\n * @param destination defines the target object\r\n * @param doNotCopyList defines a list of properties to avoid\r\n * @param mustCopyList defines a list of properties to copy (even if they start with _)\r\n */\r\n public static DeepCopy(source: any, destination: any, doNotCopyList?: string[], mustCopyList?: string[]): void {\r\n const proerties = getAllPropertyNames(source);\r\n for (var prop of proerties) {\r\n\r\n if (prop[0] === \"_\" && (!mustCopyList || mustCopyList.indexOf(prop) === -1)) {\r\n continue;\r\n }\r\n\r\n if (StringTools.EndsWith(prop, \"Observable\")) {\r\n continue;\r\n }\r\n\r\n if (doNotCopyList && doNotCopyList.indexOf(prop) !== -1) {\r\n continue;\r\n }\r\n\r\n var sourceValue = source[prop];\r\n var typeOfSourceValue = typeof sourceValue;\r\n\r\n if (typeOfSourceValue === \"function\") {\r\n continue;\r\n }\r\n\r\n try {\r\n if (typeOfSourceValue === \"object\") {\r\n if (sourceValue instanceof Array) {\r\n destination[prop] = [];\r\n\r\n if (sourceValue.length > 0) {\r\n if (typeof sourceValue[0] == \"object\") {\r\n for (var index = 0; index < sourceValue.length; index++) {\r\n var clonedValue = cloneValue(sourceValue[index], destination);\r\n\r\n if (destination[prop].indexOf(clonedValue) === -1) { // Test if auto inject was not done\r\n destination[prop].push(clonedValue);\r\n }\r\n }\r\n } else {\r\n destination[prop] = sourceValue.slice(0);\r\n }\r\n }\r\n } else {\r\n destination[prop] = cloneValue(sourceValue, destination);\r\n }\r\n } else {\r\n destination[prop] = sourceValue;\r\n }\r\n }\r\n catch (e) {\r\n // Log a warning (it could be because of a read-only property)\r\n Logger.Warn(e.message);\r\n }\r\n }\r\n }\r\n}\r\n","import { serialize, SerializationHelper, serializeAsTexture, serializeAsColorCurves, serializeAsColor4 } from \"../Misc/decorators\";\r\nimport { Observable } from \"../Misc/observable\";\r\nimport { Tools } from \"../Misc/tools\";\r\nimport { Nullable } from \"../types\";\r\nimport { Color4 } from \"../Maths/math.color\";\r\nimport { MaterialDefines } from \"../Materials/materialDefines\";\r\nimport { Effect } from \"../Materials/effect\";\r\nimport { BaseTexture } from \"../Materials/Textures/baseTexture\";\r\nimport { ColorCurves } from \"../Materials/colorCurves\";\r\n\r\n/**\r\n * Interface to follow in your material defines to integrate easily the\r\n * Image proccessing functions.\r\n * @hidden\r\n */\r\nexport interface IImageProcessingConfigurationDefines {\r\n IMAGEPROCESSING: boolean;\r\n VIGNETTE: boolean;\r\n VIGNETTEBLENDMODEMULTIPLY: boolean;\r\n VIGNETTEBLENDMODEOPAQUE: boolean;\r\n TONEMAPPING: boolean;\r\n TONEMAPPING_ACES: boolean;\r\n CONTRAST: boolean;\r\n EXPOSURE: boolean;\r\n COLORCURVES: boolean;\r\n COLORGRADING: boolean;\r\n COLORGRADING3D: boolean;\r\n SAMPLER3DGREENDEPTH: boolean;\r\n SAMPLER3DBGRMAP: boolean;\r\n IMAGEPROCESSINGPOSTPROCESS: boolean;\r\n}\r\n\r\n/**\r\n * @hidden\r\n */\r\nexport class ImageProcessingConfigurationDefines extends MaterialDefines implements IImageProcessingConfigurationDefines {\r\n public IMAGEPROCESSING = false;\r\n public VIGNETTE = false;\r\n public VIGNETTEBLENDMODEMULTIPLY = false;\r\n public VIGNETTEBLENDMODEOPAQUE = false;\r\n public TONEMAPPING = false;\r\n public TONEMAPPING_ACES = false;\r\n public CONTRAST = false;\r\n public COLORCURVES = false;\r\n public COLORGRADING = false;\r\n public COLORGRADING3D = false;\r\n public SAMPLER3DGREENDEPTH = false;\r\n public SAMPLER3DBGRMAP = false;\r\n public IMAGEPROCESSINGPOSTPROCESS = false;\r\n public EXPOSURE = false;\r\n\r\n constructor() {\r\n super();\r\n this.rebuild();\r\n }\r\n}\r\n\r\n/**\r\n * This groups together the common properties used for image processing either in direct forward pass\r\n * or through post processing effect depending on the use of the image processing pipeline in your scene\r\n * or not.\r\n */\r\nexport class ImageProcessingConfiguration {\r\n\r\n /**\r\n * Default tone mapping applied in BabylonJS.\r\n */\r\n public static readonly TONEMAPPING_STANDARD = 0;\r\n\r\n /**\r\n * ACES Tone mapping (used by default in unreal and unity). This can help getting closer\r\n * to other engines rendering to increase portability.\r\n */\r\n public static readonly TONEMAPPING_ACES = 1;\r\n\r\n /**\r\n * Color curves setup used in the effect if colorCurvesEnabled is set to true\r\n */\r\n @serializeAsColorCurves()\r\n public colorCurves: Nullable = new ColorCurves();\r\n\r\n @serialize()\r\n private _colorCurvesEnabled = false;\r\n /**\r\n * Gets wether the color curves effect is enabled.\r\n */\r\n public get colorCurvesEnabled(): boolean {\r\n return this._colorCurvesEnabled;\r\n }\r\n /**\r\n * Sets wether the color curves effect is enabled.\r\n */\r\n public set colorCurvesEnabled(value: boolean) {\r\n if (this._colorCurvesEnabled === value) {\r\n return;\r\n }\r\n\r\n this._colorCurvesEnabled = value;\r\n this._updateParameters();\r\n }\r\n\r\n @serializeAsTexture(\"colorGradingTexture\")\r\n private _colorGradingTexture: Nullable;\r\n /**\r\n * Color grading LUT texture used in the effect if colorGradingEnabled is set to true\r\n */\r\n public get colorGradingTexture(): Nullable {\r\n return this._colorGradingTexture;\r\n }\r\n /**\r\n * Color grading LUT texture used in the effect if colorGradingEnabled is set to true\r\n */\r\n public set colorGradingTexture(value: Nullable) {\r\n if (this._colorGradingTexture === value) {\r\n return;\r\n }\r\n\r\n this._colorGradingTexture = value;\r\n this._updateParameters();\r\n }\r\n\r\n @serialize()\r\n private _colorGradingEnabled = false;\r\n /**\r\n * Gets wether the color grading effect is enabled.\r\n */\r\n public get colorGradingEnabled(): boolean {\r\n return this._colorGradingEnabled;\r\n }\r\n /**\r\n * Sets wether the color grading effect is enabled.\r\n */\r\n public set colorGradingEnabled(value: boolean) {\r\n if (this._colorGradingEnabled === value) {\r\n return;\r\n }\r\n\r\n this._colorGradingEnabled = value;\r\n this._updateParameters();\r\n }\r\n\r\n @serialize()\r\n private _colorGradingWithGreenDepth = true;\r\n /**\r\n * Gets wether the color grading effect is using a green depth for the 3d Texture.\r\n */\r\n public get colorGradingWithGreenDepth(): boolean {\r\n return this._colorGradingWithGreenDepth;\r\n }\r\n /**\r\n * Sets wether the color grading effect is using a green depth for the 3d Texture.\r\n */\r\n public set colorGradingWithGreenDepth(value: boolean) {\r\n if (this._colorGradingWithGreenDepth === value) {\r\n return;\r\n }\r\n\r\n this._colorGradingWithGreenDepth = value;\r\n this._updateParameters();\r\n }\r\n\r\n @serialize()\r\n private _colorGradingBGR = true;\r\n /**\r\n * Gets wether the color grading texture contains BGR values.\r\n */\r\n public get colorGradingBGR(): boolean {\r\n return this._colorGradingBGR;\r\n }\r\n /**\r\n * Sets wether the color grading texture contains BGR values.\r\n */\r\n public set colorGradingBGR(value: boolean) {\r\n if (this._colorGradingBGR === value) {\r\n return;\r\n }\r\n\r\n this._colorGradingBGR = value;\r\n this._updateParameters();\r\n }\r\n\r\n /** @hidden */\r\n @serialize()\r\n public _exposure = 1.0;\r\n /**\r\n * Gets the Exposure used in the effect.\r\n */\r\n public get exposure(): number {\r\n return this._exposure;\r\n }\r\n /**\r\n * Sets the Exposure used in the effect.\r\n */\r\n public set exposure(value: number) {\r\n if (this._exposure === value) {\r\n return;\r\n }\r\n\r\n this._exposure = value;\r\n this._updateParameters();\r\n }\r\n\r\n @serialize()\r\n private _toneMappingEnabled = false;\r\n /**\r\n * Gets wether the tone mapping effect is enabled.\r\n */\r\n public get toneMappingEnabled(): boolean {\r\n return this._toneMappingEnabled;\r\n }\r\n /**\r\n * Sets wether the tone mapping effect is enabled.\r\n */\r\n public set toneMappingEnabled(value: boolean) {\r\n if (this._toneMappingEnabled === value) {\r\n return;\r\n }\r\n\r\n this._toneMappingEnabled = value;\r\n this._updateParameters();\r\n }\r\n\r\n @serialize()\r\n private _toneMappingType = ImageProcessingConfiguration.TONEMAPPING_STANDARD;\r\n /**\r\n * Gets the type of tone mapping effect.\r\n */\r\n public get toneMappingType(): number {\r\n return this._toneMappingType;\r\n }\r\n /**\r\n * Sets the type of tone mapping effect used in BabylonJS.\r\n */\r\n public set toneMappingType(value: number) {\r\n if (this._toneMappingType === value) {\r\n return;\r\n }\r\n\r\n this._toneMappingType = value;\r\n this._updateParameters();\r\n }\r\n\r\n @serialize()\r\n protected _contrast = 1.0;\r\n /**\r\n * Gets the contrast used in the effect.\r\n */\r\n public get contrast(): number {\r\n return this._contrast;\r\n }\r\n /**\r\n * Sets the contrast used in the effect.\r\n */\r\n public set contrast(value: number) {\r\n if (this._contrast === value) {\r\n return;\r\n }\r\n\r\n this._contrast = value;\r\n this._updateParameters();\r\n }\r\n\r\n /**\r\n * Vignette stretch size.\r\n */\r\n @serialize()\r\n public vignetteStretch = 0;\r\n\r\n /**\r\n * Vignette centre X Offset.\r\n */\r\n @serialize()\r\n public vignetteCentreX = 0;\r\n\r\n /**\r\n * Vignette centre Y Offset.\r\n */\r\n @serialize()\r\n public vignetteCentreY = 0;\r\n\r\n /**\r\n * Vignette weight or intensity of the vignette effect.\r\n */\r\n @serialize()\r\n public vignetteWeight = 1.5;\r\n\r\n /**\r\n * Color of the vignette applied on the screen through the chosen blend mode (vignetteBlendMode)\r\n * if vignetteEnabled is set to true.\r\n */\r\n @serializeAsColor4()\r\n public vignetteColor: Color4 = new Color4(0, 0, 0, 0);\r\n\r\n /**\r\n * Camera field of view used by the Vignette effect.\r\n */\r\n @serialize()\r\n public vignetteCameraFov = 0.5;\r\n\r\n @serialize()\r\n private _vignetteBlendMode = ImageProcessingConfiguration.VIGNETTEMODE_MULTIPLY;\r\n /**\r\n * Gets the vignette blend mode allowing different kind of effect.\r\n */\r\n public get vignetteBlendMode(): number {\r\n return this._vignetteBlendMode;\r\n }\r\n /**\r\n * Sets the vignette blend mode allowing different kind of effect.\r\n */\r\n public set vignetteBlendMode(value: number) {\r\n if (this._vignetteBlendMode === value) {\r\n return;\r\n }\r\n\r\n this._vignetteBlendMode = value;\r\n this._updateParameters();\r\n }\r\n\r\n @serialize()\r\n private _vignetteEnabled = false;\r\n /**\r\n * Gets wether the vignette effect is enabled.\r\n */\r\n public get vignetteEnabled(): boolean {\r\n return this._vignetteEnabled;\r\n }\r\n /**\r\n * Sets wether the vignette effect is enabled.\r\n */\r\n public set vignetteEnabled(value: boolean) {\r\n if (this._vignetteEnabled === value) {\r\n return;\r\n }\r\n\r\n this._vignetteEnabled = value;\r\n this._updateParameters();\r\n }\r\n\r\n @serialize()\r\n private _applyByPostProcess = false;\r\n /**\r\n * Gets wether the image processing is applied through a post process or not.\r\n */\r\n public get applyByPostProcess(): boolean {\r\n return this._applyByPostProcess;\r\n }\r\n /**\r\n * Sets wether the image processing is applied through a post process or not.\r\n */\r\n public set applyByPostProcess(value: boolean) {\r\n if (this._applyByPostProcess === value) {\r\n return;\r\n }\r\n\r\n this._applyByPostProcess = value;\r\n this._updateParameters();\r\n }\r\n\r\n @serialize()\r\n private _isEnabled = true;\r\n /**\r\n * Gets wether the image processing is enabled or not.\r\n */\r\n public get isEnabled(): boolean {\r\n return this._isEnabled;\r\n }\r\n /**\r\n * Sets wether the image processing is enabled or not.\r\n */\r\n public set isEnabled(value: boolean) {\r\n if (this._isEnabled === value) {\r\n return;\r\n }\r\n\r\n this._isEnabled = value;\r\n this._updateParameters();\r\n }\r\n\r\n /**\r\n * An event triggered when the configuration changes and requires Shader to Update some parameters.\r\n */\r\n public onUpdateParameters = new Observable();\r\n\r\n /**\r\n * Method called each time the image processing information changes requires to recompile the effect.\r\n */\r\n protected _updateParameters(): void {\r\n this.onUpdateParameters.notifyObservers(this);\r\n }\r\n\r\n /**\r\n * Gets the current class name.\r\n * @return \"ImageProcessingConfiguration\"\r\n */\r\n public getClassName(): string {\r\n return \"ImageProcessingConfiguration\";\r\n }\r\n\r\n /**\r\n * Prepare the list of uniforms associated with the Image Processing effects.\r\n * @param uniforms The list of uniforms used in the effect\r\n * @param defines the list of defines currently in use\r\n */\r\n public static PrepareUniforms(uniforms: string[], defines: IImageProcessingConfigurationDefines): void {\r\n if (defines.EXPOSURE) {\r\n uniforms.push(\"exposureLinear\");\r\n }\r\n if (defines.CONTRAST) {\r\n uniforms.push(\"contrast\");\r\n }\r\n if (defines.COLORGRADING) {\r\n uniforms.push(\"colorTransformSettings\");\r\n }\r\n if (defines.VIGNETTE) {\r\n uniforms.push(\"vInverseScreenSize\");\r\n uniforms.push(\"vignetteSettings1\");\r\n uniforms.push(\"vignetteSettings2\");\r\n }\r\n if (defines.COLORCURVES) {\r\n ColorCurves.PrepareUniforms(uniforms);\r\n }\r\n }\r\n\r\n /**\r\n * Prepare the list of samplers associated with the Image Processing effects.\r\n * @param samplersList The list of uniforms used in the effect\r\n * @param defines the list of defines currently in use\r\n */\r\n public static PrepareSamplers(samplersList: string[], defines: IImageProcessingConfigurationDefines): void {\r\n if (defines.COLORGRADING) {\r\n samplersList.push(\"txColorTransform\");\r\n }\r\n }\r\n\r\n /**\r\n * Prepare the list of defines associated to the shader.\r\n * @param defines the list of defines to complete\r\n * @param forPostProcess Define if we are currently in post process mode or not\r\n */\r\n public prepareDefines(defines: IImageProcessingConfigurationDefines, forPostProcess: boolean = false): void {\r\n if (forPostProcess !== this.applyByPostProcess || !this._isEnabled) {\r\n defines.VIGNETTE = false;\r\n defines.TONEMAPPING = false;\r\n defines.TONEMAPPING_ACES = false;\r\n defines.CONTRAST = false;\r\n defines.EXPOSURE = false;\r\n defines.COLORCURVES = false;\r\n defines.COLORGRADING = false;\r\n defines.COLORGRADING3D = false;\r\n defines.IMAGEPROCESSING = false;\r\n defines.IMAGEPROCESSINGPOSTPROCESS = this.applyByPostProcess && this._isEnabled;\r\n return;\r\n }\r\n\r\n defines.VIGNETTE = this.vignetteEnabled;\r\n defines.VIGNETTEBLENDMODEMULTIPLY = (this.vignetteBlendMode === ImageProcessingConfiguration._VIGNETTEMODE_MULTIPLY);\r\n defines.VIGNETTEBLENDMODEOPAQUE = !defines.VIGNETTEBLENDMODEMULTIPLY;\r\n\r\n defines.TONEMAPPING = this.toneMappingEnabled;\r\n switch (this._toneMappingType) {\r\n case ImageProcessingConfiguration.TONEMAPPING_ACES:\r\n defines.TONEMAPPING_ACES = true;\r\n break;\r\n default:\r\n defines.TONEMAPPING_ACES = false;\r\n break;\r\n }\r\n\r\n defines.CONTRAST = (this.contrast !== 1.0);\r\n defines.EXPOSURE = (this.exposure !== 1.0);\r\n defines.COLORCURVES = (this.colorCurvesEnabled && !!this.colorCurves);\r\n defines.COLORGRADING = (this.colorGradingEnabled && !!this.colorGradingTexture);\r\n if (defines.COLORGRADING) {\r\n defines.COLORGRADING3D = this.colorGradingTexture!.is3D;\r\n } else {\r\n defines.COLORGRADING3D = false;\r\n }\r\n defines.SAMPLER3DGREENDEPTH = this.colorGradingWithGreenDepth;\r\n defines.SAMPLER3DBGRMAP = this.colorGradingBGR;\r\n defines.IMAGEPROCESSINGPOSTPROCESS = this.applyByPostProcess;\r\n defines.IMAGEPROCESSING = defines.VIGNETTE || defines.TONEMAPPING || defines.CONTRAST || defines.EXPOSURE || defines.COLORCURVES || defines.COLORGRADING;\r\n }\r\n\r\n /**\r\n * Returns true if all the image processing information are ready.\r\n * @returns True if ready, otherwise, false\r\n */\r\n public isReady() {\r\n // Color Grading texure can not be none blocking.\r\n return !this.colorGradingEnabled || !this.colorGradingTexture || this.colorGradingTexture.isReady();\r\n }\r\n\r\n /**\r\n * Binds the image processing to the shader.\r\n * @param effect The effect to bind to\r\n * @param overrideAspectRatio Override the aspect ratio of the effect\r\n */\r\n public bind(effect: Effect, overrideAspectRatio?: number): void {\r\n // Color Curves\r\n if (this._colorCurvesEnabled && this.colorCurves) {\r\n ColorCurves.Bind(this.colorCurves, effect);\r\n }\r\n\r\n // Vignette\r\n if (this._vignetteEnabled) {\r\n var inverseWidth = 1 / effect.getEngine().getRenderWidth();\r\n var inverseHeight = 1 / effect.getEngine().getRenderHeight();\r\n effect.setFloat2(\"vInverseScreenSize\", inverseWidth, inverseHeight);\r\n\r\n let aspectRatio = overrideAspectRatio != null ? overrideAspectRatio : (inverseHeight / inverseWidth);\r\n\r\n let vignetteScaleY = Math.tan(this.vignetteCameraFov * 0.5);\r\n let vignetteScaleX = vignetteScaleY * aspectRatio;\r\n\r\n let vignetteScaleGeometricMean = Math.sqrt(vignetteScaleX * vignetteScaleY);\r\n vignetteScaleX = Tools.Mix(vignetteScaleX, vignetteScaleGeometricMean, this.vignetteStretch);\r\n vignetteScaleY = Tools.Mix(vignetteScaleY, vignetteScaleGeometricMean, this.vignetteStretch);\r\n\r\n effect.setFloat4(\"vignetteSettings1\", vignetteScaleX, vignetteScaleY, -vignetteScaleX * this.vignetteCentreX, -vignetteScaleY * this.vignetteCentreY);\r\n\r\n let vignettePower = -2.0 * this.vignetteWeight;\r\n effect.setFloat4(\"vignetteSettings2\", this.vignetteColor.r, this.vignetteColor.g, this.vignetteColor.b, vignettePower);\r\n }\r\n\r\n // Exposure\r\n effect.setFloat(\"exposureLinear\", this.exposure);\r\n\r\n // Contrast\r\n effect.setFloat(\"contrast\", this.contrast);\r\n\r\n // Color transform settings\r\n if (this.colorGradingTexture) {\r\n effect.setTexture(\"txColorTransform\", this.colorGradingTexture);\r\n let textureSize = this.colorGradingTexture.getSize().height;\r\n\r\n effect.setFloat4(\"colorTransformSettings\",\r\n (textureSize - 1) / textureSize, // textureScale\r\n 0.5 / textureSize, // textureOffset\r\n textureSize, // textureSize\r\n this.colorGradingTexture.level // weight\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Clones the current image processing instance.\r\n * @return The cloned image processing\r\n */\r\n public clone(): ImageProcessingConfiguration {\r\n return SerializationHelper.Clone(() => new ImageProcessingConfiguration(), this);\r\n }\r\n\r\n /**\r\n * Serializes the current image processing instance to a json representation.\r\n * @return a JSON representation\r\n */\r\n public serialize(): any {\r\n return SerializationHelper.Serialize(this);\r\n }\r\n\r\n /**\r\n * Parses the image processing from a json representation.\r\n * @param source the JSON source to parse\r\n * @return The parsed image processing\r\n */\r\n public static Parse(source: any): ImageProcessingConfiguration {\r\n return SerializationHelper.Parse(() => new ImageProcessingConfiguration(), source, null, null);\r\n }\r\n\r\n // Static constants associated to the image processing.\r\n private static _VIGNETTEMODE_MULTIPLY = 0;\r\n private static _VIGNETTEMODE_OPAQUE = 1;\r\n\r\n /**\r\n * Used to apply the vignette as a mix with the pixel color.\r\n */\r\n public static get VIGNETTEMODE_MULTIPLY(): number {\r\n return this._VIGNETTEMODE_MULTIPLY;\r\n }\r\n\r\n /**\r\n * Used to apply the vignette as a replacement of the pixel color.\r\n */\r\n public static get VIGNETTEMODE_OPAQUE(): number {\r\n return this._VIGNETTEMODE_OPAQUE;\r\n }\r\n}\r\n\r\n// References the dependencies.\r\nSerializationHelper._ImageProcessingConfigurationParser = ImageProcessingConfiguration.Parse;\r\n","import { DeepImmutable } from \"../types\";\r\nimport { ArrayTools } from \"../Misc/arrayTools\";\r\nimport { Matrix, Vector3 } from \"../Maths/math.vector\";\r\n\r\nimport { BoundingBox } from \"./boundingBox\";\r\nimport { BoundingSphere } from \"./boundingSphere\";\r\nimport { Plane } from '../Maths/math.plane';\r\n\r\ndeclare type Collider = import(\"../Collisions/collider\").Collider;\r\n\r\nconst _result0 = { min: 0, max: 0 };\r\nconst _result1 = { min: 0, max: 0 };\r\nconst computeBoxExtents = (axis: DeepImmutable, box: DeepImmutable, result: { min: number, max: number }) => {\r\n const p = Vector3.Dot(box.centerWorld, axis);\r\n\r\n const r0 = Math.abs(Vector3.Dot(box.directions[0], axis)) * box.extendSize.x;\r\n const r1 = Math.abs(Vector3.Dot(box.directions[1], axis)) * box.extendSize.y;\r\n const r2 = Math.abs(Vector3.Dot(box.directions[2], axis)) * box.extendSize.z;\r\n\r\n const r = r0 + r1 + r2;\r\n result.min = p - r;\r\n result.max = p + r;\r\n};\r\n\r\nconst axisOverlap = (axis: DeepImmutable, box0: DeepImmutable, box1: DeepImmutable): boolean => {\r\n computeBoxExtents(axis, box0, _result0);\r\n computeBoxExtents(axis, box1, _result1);\r\n return !(_result0.min > _result1.max || _result1.min > _result0.max);\r\n};\r\n\r\n/**\r\n * Interface for cullable objects\r\n * @see https://doc.babylonjs.com/babylon101/materials#back-face-culling\r\n */\r\nexport interface ICullable {\r\n /**\r\n * Checks if the object or part of the object is in the frustum\r\n * @param frustumPlanes Camera near/planes\r\n * @returns true if the object is in frustum otherwise false\r\n */\r\n isInFrustum(frustumPlanes: Plane[]): boolean;\r\n /**\r\n * Checks if a cullable object (mesh...) is in the camera frustum\r\n * Unlike isInFrustum this cheks the full bounding box\r\n * @param frustumPlanes Camera near/planes\r\n * @returns true if the object is in frustum otherwise false\r\n */\r\n isCompletelyInFrustum(frustumPlanes: Plane[]): boolean;\r\n}\r\n\r\n/**\r\n * Info for a bounding data of a mesh\r\n */\r\nexport class BoundingInfo implements ICullable {\r\n /**\r\n * Bounding box for the mesh\r\n */\r\n public readonly boundingBox: BoundingBox;\r\n /**\r\n * Bounding sphere for the mesh\r\n */\r\n public readonly boundingSphere: BoundingSphere;\r\n\r\n private _isLocked = false;\r\n\r\n private static readonly TmpVector3 = ArrayTools.BuildArray(2, Vector3.Zero);\r\n\r\n /**\r\n * Constructs bounding info\r\n * @param minimum min vector of the bounding box/sphere\r\n * @param maximum max vector of the bounding box/sphere\r\n * @param worldMatrix defines the new world matrix\r\n */\r\n constructor(minimum: DeepImmutable, maximum: DeepImmutable, worldMatrix?: DeepImmutable) {\r\n this.boundingBox = new BoundingBox(minimum, maximum, worldMatrix);\r\n this.boundingSphere = new BoundingSphere(minimum, maximum, worldMatrix);\r\n }\r\n\r\n /**\r\n * Recreates the entire bounding info from scratch as if we call the constructor in place\r\n * @param min defines the new minimum vector (in local space)\r\n * @param max defines the new maximum vector (in local space)\r\n * @param worldMatrix defines the new world matrix\r\n */\r\n public reConstruct(min: DeepImmutable, max: DeepImmutable, worldMatrix?: DeepImmutable) {\r\n this.boundingBox.reConstruct(min, max, worldMatrix);\r\n this.boundingSphere.reConstruct(min, max, worldMatrix);\r\n }\r\n\r\n /**\r\n * min vector of the bounding box/sphere\r\n */\r\n public get minimum(): Vector3 {\r\n return this.boundingBox.minimum;\r\n }\r\n\r\n /**\r\n * max vector of the bounding box/sphere\r\n */\r\n public get maximum(): Vector3 {\r\n return this.boundingBox.maximum;\r\n }\r\n\r\n /**\r\n * If the info is locked and won't be updated to avoid perf overhead\r\n */\r\n public get isLocked(): boolean {\r\n return this._isLocked;\r\n }\r\n\r\n public set isLocked(value: boolean) {\r\n this._isLocked = value;\r\n }\r\n\r\n // Methods\r\n /**\r\n * Updates the bounding sphere and box\r\n * @param world world matrix to be used to update\r\n */\r\n public update(world: DeepImmutable) {\r\n if (this._isLocked) {\r\n return;\r\n }\r\n this.boundingBox._update(world);\r\n this.boundingSphere._update(world);\r\n }\r\n\r\n /**\r\n * Recreate the bounding info to be centered around a specific point given a specific extend.\r\n * @param center New center of the bounding info\r\n * @param extend New extend of the bounding info\r\n * @returns the current bounding info\r\n */\r\n public centerOn(center: DeepImmutable, extend: DeepImmutable): BoundingInfo {\r\n\r\n const minimum = BoundingInfo.TmpVector3[0].copyFrom(center).subtractInPlace(extend);\r\n const maximum = BoundingInfo.TmpVector3[1].copyFrom(center).addInPlace(extend);\r\n\r\n this.boundingBox.reConstruct(minimum, maximum, this.boundingBox.getWorldMatrix());\r\n this.boundingSphere.reConstruct(minimum, maximum, this.boundingBox.getWorldMatrix());\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Scale the current bounding info by applying a scale factor\r\n * @param factor defines the scale factor to apply\r\n * @returns the current bounding info\r\n */\r\n public scale(factor: number): BoundingInfo {\r\n this.boundingBox.scale(factor);\r\n this.boundingSphere.scale(factor);\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns `true` if the bounding info is within the frustum defined by the passed array of planes.\r\n * @param frustumPlanes defines the frustum to test\r\n * @param strategy defines the strategy to use for the culling (default is BABYLON.AbstractMesh.CULLINGSTRATEGY_STANDARD)\r\n * @returns true if the bounding info is in the frustum planes\r\n */\r\n public isInFrustum(frustumPlanes: Array>, strategy: number = 0): boolean {\r\n let inclusionTest = (strategy === 2 || strategy === 3);\r\n if (inclusionTest) {\r\n if (this.boundingSphere.isCenterInFrustum(frustumPlanes)) {\r\n return true;\r\n }\r\n }\r\n\r\n if (!this.boundingSphere.isInFrustum(frustumPlanes)) {\r\n return false;\r\n }\r\n\r\n let bSphereOnlyTest = (strategy === 1 || strategy === 3);\r\n if (bSphereOnlyTest) {\r\n return true;\r\n }\r\n\r\n return this.boundingBox.isInFrustum(frustumPlanes);\r\n }\r\n\r\n /**\r\n * Gets the world distance between the min and max points of the bounding box\r\n */\r\n public get diagonalLength(): number {\r\n const boundingBox = this.boundingBox;\r\n const diag = boundingBox.maximumWorld.subtractToRef(boundingBox.minimumWorld, BoundingInfo.TmpVector3[0]);\r\n return diag.length();\r\n }\r\n\r\n /**\r\n * Checks if a cullable object (mesh...) is in the camera frustum\r\n * Unlike isInFrustum this cheks the full bounding box\r\n * @param frustumPlanes Camera near/planes\r\n * @returns true if the object is in frustum otherwise false\r\n */\r\n public isCompletelyInFrustum(frustumPlanes: Array>): boolean {\r\n return this.boundingBox.isCompletelyInFrustum(frustumPlanes);\r\n }\r\n /** @hidden */\r\n public _checkCollision(collider: Collider): boolean {\r\n return collider._canDoCollision(this.boundingSphere.centerWorld, this.boundingSphere.radiusWorld, this.boundingBox.minimumWorld, this.boundingBox.maximumWorld);\r\n }\r\n\r\n /**\r\n * Checks if a point is inside the bounding box and bounding sphere or the mesh\r\n * @see https://doc.babylonjs.com/babylon101/intersect_collisions_-_mesh\r\n * @param point the point to check intersection with\r\n * @returns if the point intersects\r\n */\r\n public intersectsPoint(point: DeepImmutable): boolean {\r\n if (!this.boundingSphere.centerWorld) {\r\n return false;\r\n }\r\n\r\n if (!this.boundingSphere.intersectsPoint(point)) {\r\n return false;\r\n }\r\n\r\n if (!this.boundingBox.intersectsPoint(point)) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Checks if another bounding info intersects the bounding box and bounding sphere or the mesh\r\n * @see https://doc.babylonjs.com/babylon101/intersect_collisions_-_mesh\r\n * @param boundingInfo the bounding info to check intersection with\r\n * @param precise if the intersection should be done using OBB\r\n * @returns if the bounding info intersects\r\n */\r\n public intersects(boundingInfo: DeepImmutable, precise: boolean): boolean {\r\n if (!BoundingSphere.Intersects(this.boundingSphere, boundingInfo.boundingSphere)) {\r\n return false;\r\n }\r\n\r\n if (!BoundingBox.Intersects(this.boundingBox, boundingInfo.boundingBox)) {\r\n return false;\r\n }\r\n\r\n if (!precise) {\r\n return true;\r\n }\r\n\r\n var box0 = this.boundingBox;\r\n var box1 = boundingInfo.boundingBox;\r\n\r\n if (!axisOverlap(box0.directions[0], box0, box1)) { return false; }\r\n if (!axisOverlap(box0.directions[1], box0, box1)) { return false; }\r\n if (!axisOverlap(box0.directions[2], box0, box1)) { return false; }\r\n if (!axisOverlap(box1.directions[0], box0, box1)) { return false; }\r\n if (!axisOverlap(box1.directions[1], box0, box1)) { return false; }\r\n if (!axisOverlap(box1.directions[2], box0, box1)) { return false; }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[0], box1.directions[0]), box0, box1)) { return false; }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[0], box1.directions[1]), box0, box1)) { return false; }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[0], box1.directions[2]), box0, box1)) { return false; }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[1], box1.directions[0]), box0, box1)) { return false; }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[1], box1.directions[1]), box0, box1)) { return false; }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[1], box1.directions[2]), box0, box1)) { return false; }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[2], box1.directions[0]), box0, box1)) { return false; }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[2], box1.directions[1]), box0, box1)) { return false; }\r\n if (!axisOverlap(Vector3.Cross(box0.directions[2], box1.directions[2]), box0, box1)) { return false; }\r\n\r\n return true;\r\n }\r\n}\r\n","/**\r\n * Class containing a set of static utilities functions for arrays.\r\n */\r\nexport class ArrayTools {\r\n /**\r\n * Returns an array of the given size filled with element built from the given constructor and the paramters\r\n * @param size the number of element to construct and put in the array\r\n * @param itemBuilder a callback responsible for creating new instance of item. Called once per array entry.\r\n * @returns a new array filled with new objects\r\n */\r\n public static BuildArray(size: number, itemBuilder: () => T): Array {\r\n const a: T[] = [];\r\n for (let i = 0; i < size; ++i) {\r\n a.push(itemBuilder());\r\n }\r\n return a;\r\n }\r\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createBreakpoints;\nexports.keys = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\n// Sorted ASC by size. That's important.\n// It can't be configured as it's used statically for propTypes.\nvar keys = ['xs', 'sm', 'md', 'lg', 'xl']; // Keep in mind that @media is inclusive by the CSS specification.\n\nexports.keys = keys;\n\nfunction createBreakpoints(breakpoints) {\n var _breakpoints$values = breakpoints.values,\n values = _breakpoints$values === void 0 ? {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920\n } : _breakpoints$values,\n _breakpoints$unit = breakpoints.unit,\n unit = _breakpoints$unit === void 0 ? 'px' : _breakpoints$unit,\n _breakpoints$step = breakpoints.step,\n step = _breakpoints$step === void 0 ? 5 : _breakpoints$step,\n other = (0, _objectWithoutProperties2.default)(breakpoints, [\"values\", \"unit\", \"step\"]);\n\n function up(key) {\n var value = typeof values[key] === 'number' ? values[key] : key;\n return \"@media (min-width:\".concat(value).concat(unit, \")\");\n }\n\n function down(key) {\n var endIndex = keys.indexOf(key) + 1;\n var upperbound = values[keys[endIndex]];\n\n if (endIndex === keys.length) {\n // xl down applies to all sizes\n return up('xs');\n }\n\n var value = typeof upperbound === 'number' && endIndex > 0 ? upperbound : key;\n return \"@media (max-width:\".concat(value - step / 100).concat(unit, \")\");\n }\n\n function between(start, end) {\n var endIndex = keys.indexOf(end);\n\n if (endIndex === keys.length - 1) {\n return up(start);\n }\n\n return \"@media (min-width:\".concat(typeof values[start] === 'number' ? values[start] : start).concat(unit, \") and \") + \"(max-width:\".concat((endIndex !== -1 && typeof values[keys[endIndex + 1]] === 'number' ? values[keys[endIndex + 1]] : end) - step / 100).concat(unit, \")\");\n }\n\n function only(key) {\n return between(key, key);\n }\n\n function width(key) {\n return values[key];\n }\n\n return (0, _extends2.default)({\n keys: keys,\n values: values,\n up: up,\n down: down,\n between: between,\n only: only,\n width: width\n }, other);\n}","// Material Design Icons v6.1.95\r\nexport var mdiAbTesting = \"M4 2A2 2 0 0 0 2 4V12H4V8H6V12H8V4A2 2 0 0 0 6 2H4M4 4H6V6H4M22 15.5V14A2 2 0 0 0 20 12H16V22H20A2 2 0 0 0 22 20V18.5A1.54 1.54 0 0 0 20.5 17A1.54 1.54 0 0 0 22 15.5M20 20H18V18H20V20M20 16H18V14H20M5.79 21.61L4.21 20.39L18.21 2.39L19.79 3.61Z\";\r\nexport var mdiAbacus = \"M5 5H7V11H5V5M10 5H8V11H10V5M5 19H7V13H5V19M10 13H8V19H10V17H15V15H10V13M2 21H4V3H2V21M20 3V7H13V5H11V11H13V9H20V15H18V13H16V19H18V17H20V21H22V3H20Z\";\r\nexport var mdiAbjadArabic = \"M12 4C10.08 4 8.5 5.58 8.5 7.5C8.5 8.43 8.88 9.28 9.5 9.91C7.97 10.91 7 12.62 7 14.5C7 17.53 9.47 20 12.5 20C14.26 20 16 19.54 17.5 18.66L16.5 16.93C15.28 17.63 13.9 18 12.5 18C10.56 18 9 16.45 9 14.5C9 12.91 10.06 11.53 11.59 11.12L16.8 9.72L16.28 7.79L11.83 9C11.08 8.9 10.5 8.28 10.5 7.5C10.5 6.66 11.16 6 12 6C12.26 6 12.5 6.07 12.75 6.2L13.75 4.47C13.22 4.16 12.61 4 12 4Z\";\r\nexport var mdiAbjadHebrew = \"M3.9 4L9 10.03C7.58 10.17 6.36 11.18 6 12.59L4 20H6.07L7.92 13.11C8.09 12.46 8.69 12 9.36 12H10.69L17.47 20H20.1L15 13.97C16.42 13.83 17.64 12.82 18 11.41L20 4H17.93L16.08 10.89C15.91 11.54 15.31 12 14.64 12H13.31L6.53 4Z\";\r\nexport var mdiAbugidaDevanagari = \"M8 3V5H11C12.32 5 13.41 5.83 13.82 7H6V9H14V10H12C9.25 10 7 12.25 7 15C7 17.75 9.25 20 12 20C12.77 20 13.45 19.73 14 19.3V21H16V17H14C13.55 17.62 12.83 18 12 18C10.33 18 9 16.67 9 15C9 13.33 10.33 12 12 12H16V9H18V7H15.9C15.43 4.72 13.41 3 11 3H8Z\";\r\nexport var mdiAbugidaThai = \"M9 20C9 17.44 10.87 12.42 13.86 7.25C14.29 6.5 15.08 6 16 6C17.12 6 18 6.88 18 8V20H20V8C20 5.8 18.2 4 16 4C14.34 4 12.9 4.92 12.13 6.25C10.56 8.96 9.61 11.15 9 13.03V6.5C9 5.13 7.87 4 6.5 4C5.13 4 4 5.13 4 6.5C4 7.87 5.13 9 6.5 9C6.67 9 6.84 9 7 8.95V20M6.5 6C6.79 6 7 6.21 7 6.5C7 6.79 6.79 7 6.5 7C6.21 7 6 6.79 6 6.5C6 6.21 6.21 6 6.5 6Z\";\r\nexport var mdiAccessPoint = \"M4.93,4.93C3.12,6.74 2,9.24 2,12C2,14.76 3.12,17.26 4.93,19.07L6.34,17.66C4.89,16.22 4,14.22 4,12C4,9.79 4.89,7.78 6.34,6.34L4.93,4.93M19.07,4.93L17.66,6.34C19.11,7.78 20,9.79 20,12C20,14.22 19.11,16.22 17.66,17.66L19.07,19.07C20.88,17.26 22,14.76 22,12C22,9.24 20.88,6.74 19.07,4.93M7.76,7.76C6.67,8.85 6,10.35 6,12C6,13.65 6.67,15.15 7.76,16.24L9.17,14.83C8.45,14.11 8,13.11 8,12C8,10.89 8.45,9.89 9.17,9.17L7.76,7.76M16.24,7.76L14.83,9.17C15.55,9.89 16,10.89 16,12C16,13.11 15.55,14.11 14.83,14.83L16.24,16.24C17.33,15.15 18,13.65 18,12C18,10.35 17.33,8.85 16.24,7.76M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\r\nexport var mdiAccessPointCheck = \"M20.59 14.84L21.75 16.25L17 21L14.25 18L15.41 16.84L17 18.43L20.59 14.84M19.07 4.93L17.66 6.34C19.11 7.78 20 9.79 20 12V12.34C20.68 12.59 21.33 12.96 21.88 13.43C21.95 12.96 22 12.5 22 12C22 9.24 20.88 6.74 19.07 4.93M15.96 12.36C16.6 12.13 17.28 12 18 12C18 10.35 17.33 8.85 16.24 7.76L14.83 9.17C15.55 9.89 16 10.89 16 12C16 12.12 15.97 12.24 15.96 12.36M12 10C10.9 10 10 10.9 10 12S10.9 14 12 14 14 13.1 14 12 13.1 10 12 10M6.34 6.34L4.93 4.93C3.12 6.74 2 9.24 2 12S3.12 17.26 4.93 19.07L6.34 17.66C4.89 16.22 4 14.22 4 12C4 9.79 4.89 7.78 6.34 6.34M7.76 7.76C6.67 8.85 6 10.35 6 12S6.67 15.15 7.76 16.24L9.17 14.83C8.45 14.11 8 13.11 8 12S8.45 9.89 9.17 9.17L7.76 7.76Z\";\r\nexport var mdiAccessPointMinus = \"M16 12C16 10.89 15.55 9.89 14.83 9.17L16.24 7.76C17.33 8.85 18 10.35 18 12C17.28 12 16.6 12.13 15.96 12.36C15.97 12.24 16 12.12 16 12M20 12.34C20.68 12.59 21.33 12.96 21.88 13.43C21.95 12.96 22 12.5 22 12C22 9.24 20.88 6.74 19.07 4.93L17.66 6.34C19.11 7.78 20 9.79 20 12C20 12.12 20 12.23 20 12.34M12 10C10.9 10 10 10.9 10 12S10.9 14 12 14 14 13.1 14 12 13.1 10 12 10M7.76 7.76C6.67 8.85 6 10.35 6 12S6.67 15.15 7.76 16.24L9.17 14.83C8.45 14.11 8 13.11 8 12S8.45 9.89 9.17 9.17L7.76 7.76M6.34 6.34L4.93 4.93C3.12 6.74 2 9.24 2 12S3.12 17.26 4.93 19.07L6.34 17.66C4.89 16.22 4 14.22 4 12C4 9.79 4.89 7.78 6.34 6.34M14 19H22V17H14V19Z\";\r\nexport var mdiAccessPointNetwork = \"M4.93,3.93C3.12,5.74 2,8.24 2,11C2,13.76 3.12,16.26 4.93,18.07L6.34,16.66C4.89,15.22 4,13.22 4,11C4,8.79 4.89,6.78 6.34,5.34L4.93,3.93M19.07,3.93L17.66,5.34C19.11,6.78 20,8.79 20,11C20,13.22 19.11,15.22 17.66,16.66L19.07,18.07C20.88,16.26 22,13.76 22,11C22,8.24 20.88,5.74 19.07,3.93M7.76,6.76C6.67,7.85 6,9.35 6,11C6,12.65 6.67,14.15 7.76,15.24L9.17,13.83C8.45,13.11 8,12.11 8,11C8,9.89 8.45,8.89 9.17,8.17L7.76,6.76M16.24,6.76L14.83,8.17C15.55,8.89 16,9.89 16,11C16,12.11 15.55,13.11 14.83,13.83L16.24,15.24C17.33,14.15 18,12.65 18,11C18,9.35 17.33,7.85 16.24,6.76M12,9A2,2 0 0,0 10,11A2,2 0 0,0 12,13A2,2 0 0,0 14,11A2,2 0 0,0 12,9M11,15V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15A1,1 0 0,0 14,19H13V15H11Z\";\r\nexport var mdiAccessPointNetworkOff = \"M14.83,13.83C15.55,13.11 16,12.11 16,11C16,9.89 15.55,8.89 14.83,8.17L16.24,6.76C17.33,7.85 18,9.35 18,11C18,12.65 17.33,14.15 16.24,15.24L14.83,13.83M14,11A2,2 0 0,0 12,9C11.4,9 10.87,9.27 10.5,9.68L13.32,12.5C13.73,12.13 14,11.6 14,11M17.66,16.66L19.07,18.07C20.88,16.26 22,13.76 22,11C22,8.24 20.88,5.74 19.07,3.93L17.66,5.34C19.11,6.78 20,8.79 20,11C20,13.22 19.11,15.22 17.66,16.66M22,21.18V20H20.82L22,21.18M20.27,22L21,22.73L19.73,24L17.73,22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V15.27L8.34,12.61C8.54,13.07 8.82,13.5 9.17,13.83L7.76,15.24C6.67,14.15 6,12.65 6,11C6,10.77 6,10.54 6.04,10.31L4.37,8.64C4.14,9.39 4,10.18 4,11C4,13.22 4.89,15.22 6.34,16.66L4.93,18.07C3.12,16.26 2,13.76 2,11C2,9.61 2.29,8.28 2.81,7.08L1,5.27L2.28,4L3.7,5.42L5.15,6.87L6.63,8.35V8.35L8.17,9.9L10.28,12L11,12.71L18.27,20H18.28L20.28,22H20.27M15.73,20L13,17.27V19H14A1,1 0 0,1 15,20H15.73Z\";\r\nexport var mdiAccessPointOff = \"M20.84 22.73L12.1 14C12.06 14 12.03 14 12 14C10.9 14 10 13.11 10 12C10 11.97 10 11.94 10 11.9L8.4 10.29C8.15 10.81 8 11.38 8 12C8 13.11 8.45 14.11 9.17 14.83L7.76 16.24C6.67 15.15 6 13.65 6 12C6 10.83 6.34 9.74 6.93 8.82L5.5 7.37C4.55 8.67 4 10.27 4 12C4 14.22 4.89 16.22 6.34 17.66L4.93 19.07C3.12 17.26 2 14.76 2 12C2 9.72 2.77 7.63 4.06 5.95L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M15.93 12.73L17.53 14.33C17.83 13.61 18 12.83 18 12C18 10.35 17.33 8.85 16.24 7.76L14.83 9.17C15.55 9.89 16 10.89 16 12C16 12.25 15.97 12.5 15.93 12.73M19.03 15.83L20.5 17.28C21.44 15.75 22 13.94 22 12C22 9.24 20.88 6.74 19.07 4.93L17.66 6.34C19.11 7.78 20 9.79 20 12C20 13.39 19.65 14.7 19.03 15.83Z\";\r\nexport var mdiAccessPointPlus = \"M16 12C16 10.89 15.55 9.89 14.83 9.17L16.24 7.76C17.33 8.85 18 10.35 18 12C17.28 12 16.6 12.13 15.96 12.36C15.97 12.24 16 12.12 16 12M20 12.34C20.68 12.59 21.33 12.96 21.88 13.43C21.95 12.96 22 12.5 22 12C22 9.24 20.88 6.74 19.07 4.93L17.66 6.34C19.11 7.78 20 9.79 20 12C20 12.12 20 12.23 20 12.34M12 10C10.9 10 10 10.9 10 12S10.9 14 12 14 14 13.1 14 12 13.1 10 12 10M6.34 6.34L4.93 4.93C3.12 6.74 2 9.24 2 12S3.12 17.26 4.93 19.07L6.34 17.66C4.89 16.22 4 14.22 4 12C4 9.79 4.89 7.78 6.34 6.34M7.76 7.76C6.67 8.85 6 10.35 6 12S6.67 15.15 7.76 16.24L9.17 14.83C8.45 14.11 8 13.11 8 12S8.45 9.89 9.17 9.17L7.76 7.76M19 14H17V17H14V19H17V22H19V19H22V17H19V14Z\";\r\nexport var mdiAccessPointRemove = \"M16 12C16 10.89 15.55 9.89 14.83 9.17L16.24 7.76C17.33 8.85 18 10.35 18 12C17.28 12 16.6 12.13 15.96 12.36C15.97 12.24 16 12.12 16 12M6.34 6.34L4.93 4.93C3.12 6.74 2 9.24 2 12S3.12 17.26 4.93 19.07L6.34 17.66C4.89 16.22 4 14.22 4 12C4 9.79 4.89 7.78 6.34 6.34M19.07 4.93L17.66 6.34C19.11 7.78 20 9.79 20 12C20 12.12 20 12.23 20 12.34C20.68 12.59 21.33 12.96 21.88 13.43C21.95 12.96 22 12.5 22 12C22 9.24 20.88 6.74 19.07 4.93M12 10C10.9 10 10 10.9 10 12S10.9 14 12 14 14 13.1 14 12 13.1 10 12 10M7.76 7.76C6.67 8.85 6 10.35 6 12S6.67 15.15 7.76 16.24L9.17 14.83C8.45 14.11 8 13.11 8 12S8.45 9.89 9.17 9.17L7.76 7.76M20.12 14.46L18 16.59L15.88 14.47L14.47 15.88L16.59 18L14.47 20.12L15.88 21.53L18 19.41L20.12 21.53L21.53 20.12L19.41 18L21.53 15.88L20.12 14.46Z\";\r\nexport var mdiAccount = \"M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14Z\";\r\nexport var mdiAccountAlert = \"M10 4A4 4 0 0 1 14 8A4 4 0 0 1 10 12A4 4 0 0 1 6 8A4 4 0 0 1 10 4M10 14C14.42 14 18 15.79 18 18V20H2V18C2 15.79 5.58 14 10 14M20 12V7H22V13H20M20 17V15H22V17H20Z\";\r\nexport var mdiAccountAlertOutline = \"M20 12V7H22V13H20M20 17H22V15H20M10 13C12.67 13 18 14.34 18 17V20H2V17C2 14.34 7.33 13 10 13M10 4A4 4 0 0 1 14 8A4 4 0 0 1 10 12A4 4 0 0 1 6 8A4 4 0 0 1 10 4M10 14.9C7.03 14.9 3.9 16.36 3.9 17V18.1H16.1V17C16.1 16.36 12.97 14.9 10 14.9M10 5.9A2.1 2.1 0 0 0 7.9 8A2.1 2.1 0 0 0 10 10.1A2.1 2.1 0 0 0 12.1 8A2.1 2.1 0 0 0 10 5.9Z\";\r\nexport var mdiAccountArrowLeft = \"M18,21L15,18L18,15V17H22V19H18V21M10,4A4,4 0 0,1 14,8A4,4 0 0,1 10,12A4,4 0 0,1 6,8A4,4 0 0,1 10,4M10,14C11.15,14 12.25,14.12 13.24,14.34C12.46,15.35 12,16.62 12,18C12,18.7 12.12,19.37 12.34,20H2V18C2,15.79 5.58,14 10,14Z\";\r\nexport var mdiAccountArrowLeftOutline = \"M18,21L15,18L18,15V17H22V19H18V21M13,18C13,18.71 13.15,19.39 13.42,20H2V17C2,14.79 5.58,13 10,13C11,13 11.96,13.09 12.85,13.26C13.68,13.42 14.44,13.64 15.11,13.92C13.83,14.83 13,16.32 13,18M4,17V18H11C11,16.96 11.23,15.97 11.64,15.08L10,15C6.69,15 4,15.9 4,17M10,4A4,4 0 0,1 14,8A4,4 0 0,1 10,12A4,4 0 0,1 6,8A4,4 0 0,1 10,4M10,6A2,2 0 0,0 8,8A2,2 0 0,0 10,10A2,2 0 0,0 12,8A2,2 0 0,0 10,6Z\";\r\nexport var mdiAccountArrowRight = \"M19,21V19H15V17H19V15L22,18L19,21M10,4A4,4 0 0,1 14,8A4,4 0 0,1 10,12A4,4 0 0,1 6,8A4,4 0 0,1 10,4M10,14C11.15,14 12.25,14.12 13.24,14.34C12.46,15.35 12,16.62 12,18C12,18.7 12.12,19.37 12.34,20H2V18C2,15.79 5.58,14 10,14Z\";\r\nexport var mdiAccountArrowRightOutline = \"M19,21V19H15V17H19V15L22,18L19,21M13,18C13,18.71 13.15,19.39 13.42,20H2V17C2,14.79 5.58,13 10,13C11,13 11.96,13.09 12.85,13.26C13.68,13.42 14.44,13.64 15.11,13.92C13.83,14.83 13,16.32 13,18M4,17V18H11C11,16.96 11.23,15.97 11.64,15.08L10,15C6.69,15 4,15.9 4,17M10,4A4,4 0 0,1 14,8A4,4 0 0,1 10,12A4,4 0 0,1 6,8A4,4 0 0,1 10,4M10,6A2,2 0 0,0 8,8A2,2 0 0,0 10,10A2,2 0 0,0 12,8A2,2 0 0,0 10,6Z\";\r\nexport var mdiAccountBox = \"M6,17C6,15 10,13.9 12,13.9C14,13.9 18,15 18,17V18H6M15,9A3,3 0 0,1 12,12A3,3 0 0,1 9,9A3,3 0 0,1 12,6A3,3 0 0,1 15,9M3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5C3.89,3 3,3.9 3,5Z\";\r\nexport var mdiAccountBoxMultiple = \"M4,6H2V20A2,2 0 0,0 4,22H18V20H4V6M20,2A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H8A2,2 0 0,1 6,16V4A2,2 0 0,1 8,2H20M17,7A3,3 0 0,0 14,4A3,3 0 0,0 11,7A3,3 0 0,0 14,10A3,3 0 0,0 17,7M8,15V16H20V15C20,13 16,11.9 14,11.9C12,11.9 8,13 8,15Z\";\r\nexport var mdiAccountBoxMultipleOutline = \"M4 6H2V20C2 21.11 2.9 22 4 22H18V20H4V6M18.5 14.25C18.5 12.75 15.5 12 14 12S9.5 12.75 9.5 14.25V15H18.5M14 10.25C15.24 10.25 16.25 9.24 16.25 8S15.24 5.75 14 5.75 11.75 6.76 11.75 8 12.76 10.25 14 10.25M20 2H8C6.9 2 6 2.9 6 4V16C6 17.11 6.9 18 8 18H20C21.11 18 22 17.11 22 16V4C22 2.89 21.1 2 20 2M20 16H8V4H20V16Z\";\r\nexport var mdiAccountBoxOutline = \"M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M16.5,16.25C16.5,14.75 13.5,14 12,14C10.5,14 7.5,14.75 7.5,16.25V17H16.5M12,12.25A2.25,2.25 0 0,0 14.25,10A2.25,2.25 0 0,0 12,7.75A2.25,2.25 0 0,0 9.75,10A2.25,2.25 0 0,0 12,12.25Z\";\r\nexport var mdiAccountCancel = \"M10 4A4 4 0 0 0 6 8A4 4 0 0 0 10 12A4 4 0 0 0 14 8A4 4 0 0 0 10 4M17.5 13C15 13 13 15 13 17.5C13 20 15 22 17.5 22C20 22 22 20 22 17.5C22 15 20 13 17.5 13M10 14C5.58 14 2 15.79 2 18V20H11.5A6.5 6.5 0 0 1 11 17.5A6.5 6.5 0 0 1 11.95 14.14C11.32 14.06 10.68 14 10 14M17.5 14.5C19.16 14.5 20.5 15.84 20.5 17.5C20.5 18.06 20.35 18.58 20.08 19L16 14.92C16.42 14.65 16.94 14.5 17.5 14.5M14.92 16L19 20.08C18.58 20.35 18.06 20.5 17.5 20.5C15.84 20.5 14.5 19.16 14.5 17.5C14.5 16.94 14.65 16.42 14.92 16Z\";\r\nexport var mdiAccountCancelOutline = \"M10 4A4 4 0 0 0 6 8A4 4 0 0 0 10 12A4 4 0 0 0 14 8A4 4 0 0 0 10 4M10 6A2 2 0 0 1 12 8A2 2 0 0 1 10 10A2 2 0 0 1 8 8A2 2 0 0 1 10 6M10 13C7.33 13 2 14.33 2 17V20H11.5A6.5 6.5 0 0 1 11.03 18.1H3.9V17C3.9 16.36 7.03 14.9 10 14.9C10.5 14.9 11 14.95 11.5 15.03A6.5 6.5 0 0 1 12.55 13.29C11.61 13.1 10.71 13 10 13M17.5 13C15 13 13 15 13 17.5C13 20 15 22 17.5 22C20 22 22 20 22 17.5C22 15 20 13 17.5 13M17.5 14.5C19.16 14.5 20.5 15.84 20.5 17.5C20.5 18.06 20.35 18.58 20.08 19L16 14.92C16.42 14.65 16.94 14.5 17.5 14.5M14.92 16L19 20.08C18.58 20.35 18.06 20.5 17.5 20.5C15.84 20.5 14.5 19.16 14.5 17.5C14.5 16.94 14.65 16.42 14.92 16Z\";\r\nexport var mdiAccountCash = \"M11 8C11 10.21 9.21 12 7 12C4.79 12 3 10.21 3 8C3 5.79 4.79 4 7 4C9.21 4 11 5.79 11 8M11 14.72V20H0V18C0 15.79 3.13 14 7 14C8.5 14 9.87 14.27 11 14.72M24 20H13V3H24V20M16 11.5C16 10.12 17.12 9 18.5 9C19.88 9 21 10.12 21 11.5C21 12.88 19.88 14 18.5 14C17.12 14 16 12.88 16 11.5M22 7C20.9 7 20 6.11 20 5H17C17 6.11 16.11 7 15 7V16C16.11 16 17 16.9 17 18H20C20 16.9 20.9 16 22 16V7Z\";\r\nexport var mdiAccountCashOutline = \"M16 11.5C16 10.12 17.12 9 18.5 9S21 10.12 21 11.5 19.88 14 18.5 14 16 12.88 16 11.5M13 3V20H24V3H13M22 16C20.9 16 20 16.9 20 18H17C17 16.9 16.11 16 15 16V7C16.11 7 17 6.11 17 5H20C20 6.11 20.9 7 22 7V16M7 6C8.1 6 9 6.9 9 8S8.1 10 7 10 5 9.1 5 8 5.9 6 7 6M7 4C4.79 4 3 5.79 3 8S4.79 12 7 12 11 10.21 11 8 9.21 4 7 4M7 14C3.13 14 0 15.79 0 18V20H11V18H2C2 17.42 3.75 16 7 16C8.83 16 10.17 16.45 11 16.95V14.72C9.87 14.27 8.5 14 7 14Z\";\r\nexport var mdiAccountCheck = \"M21.1,12.5L22.5,13.91L15.97,20.5L12.5,17L13.9,15.59L15.97,17.67L21.1,12.5M10,17L13,20H3V18C3,15.79 6.58,14 11,14L12.89,14.11L10,17M11,4A4,4 0 0,1 15,8A4,4 0 0,1 11,12A4,4 0 0,1 7,8A4,4 0 0,1 11,4Z\";\r\nexport var mdiAccountCheckOutline = \"M21.1,12.5L22.5,13.91L15.97,20.5L12.5,17L13.9,15.59L15.97,17.67L21.1,12.5M11,4A4,4 0 0,1 15,8A4,4 0 0,1 11,12A4,4 0 0,1 7,8A4,4 0 0,1 11,4M11,6A2,2 0 0,0 9,8A2,2 0 0,0 11,10A2,2 0 0,0 13,8A2,2 0 0,0 11,6M11,13C11.68,13 12.5,13.09 13.41,13.26L11.74,14.93L11,14.9C8.03,14.9 4.9,16.36 4.9,17V18.1H11.1L13,20H3V17C3,14.34 8.33,13 11,13Z\";\r\nexport var mdiAccountChild = \"M12,2A3,3 0 0,1 15,5A3,3 0 0,1 12,8A3,3 0 0,1 9,5A3,3 0 0,1 12,2M12,9C13.63,9 15.12,9.35 16.5,10.05C17.84,10.76 18.5,11.61 18.5,12.61V18.38C18.5,19.5 17.64,20.44 15.89,21.19V19C15.89,18.05 15.03,17.38 13.31,16.97C12.75,16.84 12.31,16.78 12,16.78C11.13,16.78 10.3,16.95 9.54,17.3C8.77,17.64 8.31,18.08 8.16,18.61C9.5,19.14 10.78,19.41 12,19.41L13,19.31V21.94L12,22C10.63,22 9.33,21.72 8.11,21.19C6.36,20.44 5.5,19.5 5.5,18.38V12.61C5.5,11.61 6.16,10.76 7.5,10.05C8.88,9.35 10.38,9 12,9M12,11A2,2 0 0,0 10,13A2,2 0 0,0 12,15A2,2 0 0,0 14,13A2,2 0 0,0 12,11Z\";\r\nexport var mdiAccountChildCircle = \"M12,12A1.5,1.5 0 0,1 13.5,13.5A1.5,1.5 0 0,1 12,15A1.5,1.5 0 0,1 10.5,13.5A1.5,1.5 0 0,1 12,12M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,16C12.72,16 13.4,16.15 14.04,16.5C14.68,16.8 15,17.2 15,17.67V19.41C16.34,18.81 17,18.08 17,17.2V12.8C17,12 16.5,11.35 15.45,10.8C14.4,10.26 13.25,10 12,10C10.75,10 9.6,10.26 8.55,10.8C7.5,11.35 7,12 7,12.8V17.2C7,18 7.53,18.69 8.63,19.22C9.72,19.75 10.84,20 12,20L13,19.92V17.91L12,18C11,18 10,17.8 9.05,17.39C9.17,17 9.53,16.69 10.13,16.41C10.72,16.13 11.34,16 12,16M12,4A2.5,2.5 0 0,0 9.5,6.5A2.5,2.5 0 0,0 12,9A2.5,2.5 0 0,0 14.5,6.5A2.5,2.5 0 0,0 12,4Z\";\r\nexport var mdiAccountChildOutline = \"M12 17C10.9 17 10 16.1 10 15C10 13.9 10.9 13 12 13C13.1 13 14 13.9 14 15C14 16.1 13.1 17 12 17M12 10C14.34 10 19 11.16 19 13.5V18.63C19 19.5 18.31 20.24 17.34 20.79V13.38C17.34 12.82 14.6 11.54 12 11.54C9.4 11.54 6.66 12.82 6.66 13.38V18.75C6.66 19 7.31 19.46 8.28 19.85C9 19 10.93 18.56 12 18.56C13.33 18.56 16 19.22 16 20.56V21.39C14.63 21.88 13.07 22.13 12 22.13C10.93 22.13 9.38 21.88 8 21.39H8C6.37 20.81 5 19.89 5 18.63V13.5C5 11.16 9.66 10 12 10M12 3.75C11.03 3.75 10.25 4.53 10.25 5.5C10.25 6.47 11.03 7.25 12 7.25C12.97 7.25 13.75 6.47 13.75 5.5C13.75 4.53 12.97 3.75 12 3.75M12 9C10.07 9 8.5 7.43 8.5 5.5C8.5 3.57 10.07 2 12 2C13.93 2 15.5 3.57 15.5 5.5C15.5 7.43 13.93 9 12 9Z\";\r\nexport var mdiAccountCircle = \"M12,19.2C9.5,19.2 7.29,17.92 6,16C6.03,14 10,12.9 12,12.9C14,12.9 17.97,14 18,16C16.71,17.92 14.5,19.2 12,19.2M12,5A3,3 0 0,1 15,8A3,3 0 0,1 12,11A3,3 0 0,1 9,8A3,3 0 0,1 12,5M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z\";\r\nexport var mdiAccountCircleOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7.07,18.28C7.5,17.38 10.12,16.5 12,16.5C13.88,16.5 16.5,17.38 16.93,18.28C15.57,19.36 13.86,20 12,20C10.14,20 8.43,19.36 7.07,18.28M18.36,16.83C16.93,15.09 13.46,14.5 12,14.5C10.54,14.5 7.07,15.09 5.64,16.83C4.62,15.5 4,13.82 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,13.82 19.38,15.5 18.36,16.83M12,6C10.06,6 8.5,7.56 8.5,9.5C8.5,11.44 10.06,13 12,13C13.94,13 15.5,11.44 15.5,9.5C15.5,7.56 13.94,6 12,6M12,11A1.5,1.5 0 0,1 10.5,9.5A1.5,1.5 0 0,1 12,8A1.5,1.5 0 0,1 13.5,9.5A1.5,1.5 0 0,1 12,11Z\";\r\nexport var mdiAccountClock = \"M10.63,14.1C12.23,10.58 16.38,9.03 19.9,10.63C23.42,12.23 24.97,16.38 23.37,19.9C22.24,22.4 19.75,24 17,24C14.3,24 11.83,22.44 10.67,20H1V18C1.06,16.86 1.84,15.93 3.34,15.18C4.84,14.43 6.72,14.04 9,14C9.57,14 10.11,14.05 10.63,14.1V14.1M9,4C10.12,4.03 11.06,4.42 11.81,5.17C12.56,5.92 12.93,6.86 12.93,8C12.93,9.14 12.56,10.08 11.81,10.83C11.06,11.58 10.12,11.95 9,11.95C7.88,11.95 6.94,11.58 6.19,10.83C5.44,10.08 5.07,9.14 5.07,8C5.07,6.86 5.44,5.92 6.19,5.17C6.94,4.42 7.88,4.03 9,4M17,22A5,5 0 0,0 22,17A5,5 0 0,0 17,12A5,5 0 0,0 12,17A5,5 0 0,0 17,22M16,14H17.5V16.82L19.94,18.23L19.19,19.53L16,17.69V14Z\";\r\nexport var mdiAccountClockOutline = \"M16,14H17.5V16.82L19.94,18.23L19.19,19.53L16,17.69V14M17,12A5,5 0 0,0 12,17A5,5 0 0,0 17,22A5,5 0 0,0 22,17A5,5 0 0,0 17,12M17,10A7,7 0 0,1 24,17A7,7 0 0,1 17,24C14.21,24 11.8,22.36 10.67,20H1V17C1,14.34 6.33,13 9,13C9.6,13 10.34,13.07 11.12,13.2C12.36,11.28 14.53,10 17,10M10,17C10,16.3 10.1,15.62 10.29,15C9.87,14.93 9.43,14.9 9,14.9C6.03,14.9 2.9,16.36 2.9,17V18.1H10.09C10.03,17.74 10,17.37 10,17M9,4A4,4 0 0,1 13,8A4,4 0 0,1 9,12A4,4 0 0,1 5,8A4,4 0 0,1 9,4M9,5.9A2.1,2.1 0 0,0 6.9,8A2.1,2.1 0 0,0 9,10.1A2.1,2.1 0 0,0 11.1,8A2.1,2.1 0 0,0 9,5.9Z\";\r\nexport var mdiAccountCog = \"M10 4A4 4 0 0 0 6 8A4 4 0 0 0 10 12A4 4 0 0 0 14 8A4 4 0 0 0 10 4M17 12C16.87 12 16.76 12.09 16.74 12.21L16.55 13.53C16.25 13.66 15.96 13.82 15.7 14L14.46 13.5C14.35 13.5 14.22 13.5 14.15 13.63L13.15 15.36C13.09 15.47 13.11 15.6 13.21 15.68L14.27 16.5C14.25 16.67 14.24 16.83 14.24 17C14.24 17.17 14.25 17.33 14.27 17.5L13.21 18.32C13.12 18.4 13.09 18.53 13.15 18.64L14.15 20.37C14.21 20.5 14.34 20.5 14.46 20.5L15.7 20C15.96 20.18 16.24 20.35 16.55 20.47L16.74 21.79C16.76 21.91 16.86 22 17 22H19C19.11 22 19.22 21.91 19.24 21.79L19.43 20.47C19.73 20.34 20 20.18 20.27 20L21.5 20.5C21.63 20.5 21.76 20.5 21.83 20.37L22.83 18.64C22.89 18.53 22.86 18.4 22.77 18.32L21.7 17.5C21.72 17.33 21.74 17.17 21.74 17C21.74 16.83 21.73 16.67 21.7 16.5L22.76 15.68C22.85 15.6 22.88 15.47 22.82 15.36L21.82 13.63C21.76 13.5 21.63 13.5 21.5 13.5L20.27 14C20 13.82 19.73 13.65 19.42 13.53L19.23 12.21C19.22 12.09 19.11 12 19 12H17M10 14C5.58 14 2 15.79 2 18V20H11.68A7 7 0 0 1 11 17A7 7 0 0 1 11.64 14.09C11.11 14.03 10.56 14 10 14M18 15.5C18.83 15.5 19.5 16.17 19.5 17C19.5 17.83 18.83 18.5 18 18.5C17.16 18.5 16.5 17.83 16.5 17C16.5 16.17 17.17 15.5 18 15.5Z\";\r\nexport var mdiAccountCogOutline = \"M10 4A4 4 0 0 0 6 8A4 4 0 0 0 10 12A4 4 0 0 0 14 8A4 4 0 0 0 10 4M10 6A2 2 0 0 1 12 8A2 2 0 0 1 10 10A2 2 0 0 1 8 8A2 2 0 0 1 10 6M17 12C16.84 12 16.76 12.08 16.76 12.24L16.5 13.5C16.28 13.68 15.96 13.84 15.72 14L14.44 13.5C14.36 13.5 14.2 13.5 14.12 13.6L13.16 15.36C13.08 15.44 13.08 15.6 13.24 15.68L14.28 16.5V17.5L13.24 18.32C13.16 18.4 13.08 18.56 13.16 18.64L14.12 20.4C14.2 20.5 14.36 20.5 14.44 20.5L15.72 20C15.96 20.16 16.28 20.32 16.5 20.5L16.76 21.76C16.76 21.92 16.84 22 17 22H19C19.08 22 19.24 21.92 19.24 21.76L19.4 20.5C19.72 20.32 20.04 20.16 20.28 20L21.5 20.5C21.64 20.5 21.8 20.5 21.8 20.4L22.84 18.64C22.92 18.56 22.84 18.4 22.76 18.32L21.72 17.5V16.5L22.76 15.68C22.84 15.6 22.92 15.44 22.84 15.36L21.8 13.6C21.8 13.5 21.64 13.5 21.5 13.5L20.28 14C20.04 13.84 19.72 13.68 19.4 13.5L19.24 12.24C19.24 12.08 19.08 12 19 12H17M10 13C7.33 13 2 14.33 2 17V20H11.67C11.39 19.41 11.19 18.77 11.09 18.1H3.9V17C3.9 16.36 7.03 14.9 10 14.9C10.43 14.9 10.87 14.94 11.3 15C11.5 14.36 11.77 13.76 12.12 13.21C11.34 13.08 10.6 13 10 13M18.04 15.5C18.84 15.5 19.5 16.16 19.5 17.04C19.5 17.84 18.84 18.5 18.04 18.5C17.16 18.5 16.5 17.84 16.5 17.04C16.5 16.16 17.16 15.5 18.04 15.5Z\";\r\nexport var mdiAccountConvert = \"M12 0L11.34 .03L15.15 3.84L16.5 2.5C19.75 4.07 22.09 7.24 22.45 11H23.95C23.44 4.84 18.29 0 12 0M12 4C10.07 4 8.5 5.57 8.5 7.5C8.5 9.43 10.07 11 12 11C13.93 11 15.5 9.43 15.5 7.5C15.5 5.57 13.93 4 12 4M.05 13C.56 19.16 5.71 24 12 24L12.66 23.97L8.85 20.16L7.5 21.5C4.25 19.94 1.91 16.76 1.55 13H.05M12 13C8.13 13 5 14.57 5 16.5V18H19V16.5C19 14.57 15.87 13 12 13Z\";\r\nexport var mdiAccountConvertOutline = \"M12 0L11.34 .03L15.15 3.84L16.5 2.5C19.75 4.07 22.09 7.24 22.45 11H23.95C23.44 4.84 18.29 0 12 0M12 4C10.07 4 8.5 5.57 8.5 7.5C8.5 9.43 10.07 11 12 11C13.93 11 15.5 9.43 15.5 7.5C15.5 5.57 13.93 4 12 4M12 6C12.83 6 13.5 6.67 13.5 7.5C13.5 8.33 12.83 9 12 9C11.17 9 10.5 8.33 10.5 7.5C10.5 6.67 11.17 6 12 6M.05 13C.56 19.16 5.71 24 12 24L12.66 23.97L8.85 20.16L7.5 21.5C4.25 19.94 1.91 16.76 1.55 13H.05M12 13C8.13 13 5 14.57 5 16.5V18H19V16.5C19 14.57 15.87 13 12 13M12 15C14.11 15 15.61 15.53 16.39 16H7.61C8.39 15.53 9.89 15 12 15Z\";\r\nexport var mdiAccountCowboyHat = \"M20 22H4V20C4 17.8 7.6 16 12 16S20 17.8 20 20M8 9H16V10C16 12.2 14.2 14 12 14S8 12.2 8 10M19 4C18.4 4 18 4.4 18 5V6H16.5L15.1 3C15 2.8 14.9 2.6 14.7 2.5C14.2 2 13.4 1.9 12.7 2.2L12 2.4L11.3 2.1C10.6 1.8 9.8 1.9 9.3 2.4C9.1 2.6 9 2.8 8.9 3L7.5 6H6V5C6 4.4 5.6 4 5 4S4 4.4 4 5V6C4 7.1 4.9 8 6 8H18C19.1 8 20 7.1 20 6V5C20 4.5 19.6 4 19 4Z\";\r\nexport var mdiAccountCowboyHatOutline = \"M19 4C18.4 4 18 4.4 18 5V6H16.5L15.1 3C15 2.8 14.9 2.6 14.7 2.5C14.2 2 13.4 1.9 12.7 2.2L12 2.4L11.3 2.1C10.6 1.8 9.8 1.9 9.3 2.4C9.1 2.6 9 2.8 8.9 3L7.5 6H6V5C6 4.4 5.6 4 5 4S4 4.4 4 5V6C4 7.1 4.9 8 6 8H18C19.1 8 20 7.1 20 6V5C20 4.5 19.6 4 19 4M4 22V19C4 16.33 9.33 15 12 15S20 16.33 20 19V22H4M18.1 20.1V19C18.1 18.36 14.97 16.9 12 16.9S5.9 18.36 5.9 19V20.1H18.1M16 9V10C16 12.21 14.21 14 12 14S8 12.21 8 10V9H10V10C10 11.11 10.9 12 12 12S14 11.11 14 10V9H16Z\";\r\nexport var mdiAccountDetails = \"M11 9C11 10.66 9.66 12 8 12C6.34 12 5 10.66 5 9C5 7.34 6.34 6 8 6C9.66 6 11 7.34 11 9M14 20H2V18C2 15.79 4.69 14 8 14C11.31 14 14 15.79 14 18M22 12V14H13V12M22 8V10H13V8M22 4V6H13V4Z\";\r\nexport var mdiAccountDetailsOutline = \"M11 9C11 10.66 9.66 12 8 12C6.34 12 5 10.66 5 9C5 7.34 6.34 6 8 6C9.66 6 11 7.34 11 9M14 20H2V18C2 15.79 4.69 14 8 14C11.31 14 14 15.79 14 18M7 9C7 9.55 7.45 10 8 10C8.55 10 9 9.55 9 9C9 8.45 8.55 8 8 8C7.45 8 7 8.45 7 9M4 18H12C12 16.9 10.21 16 8 16C5.79 16 4 16.9 4 18M22 12V14H13V12M22 8V10H13V8M22 4V6H13V4Z\";\r\nexport var mdiAccountEdit = \"M21.7,13.35L20.7,14.35L18.65,12.3L19.65,11.3C19.86,11.09 20.21,11.09 20.42,11.3L21.7,12.58C21.91,12.79 21.91,13.14 21.7,13.35M12,18.94L18.06,12.88L20.11,14.93L14.06,21H12V18.94M12,14C7.58,14 4,15.79 4,18V20H10V18.11L14,14.11C13.34,14.03 12.67,14 12,14M12,4A4,4 0 0,0 8,8A4,4 0 0,0 12,12A4,4 0 0,0 16,8A4,4 0 0,0 12,4Z\";\r\nexport var mdiAccountEditOutline = \"M2 17V20H10V18.11H3.9V17C3.9 16.36 7.03 14.9 10 14.9C10.96 14.91 11.91 15.04 12.83 15.28L14.35 13.76C12.95 13.29 11.5 13.03 10 13C7.33 13 2 14.33 2 17M10 4C7.79 4 6 5.79 6 8S7.79 12 10 12 14 10.21 14 8 12.21 4 10 4M10 10C8.9 10 8 9.11 8 8S8.9 6 10 6 12 6.9 12 8 11.11 10 10 10M21.7 13.35L20.7 14.35L18.65 12.35L19.65 11.35C19.86 11.14 20.21 11.14 20.42 11.35L21.7 12.63C21.91 12.84 21.91 13.19 21.7 13.4M12 18.94L18.06 12.88L20.11 14.88L14.11 20.95H12V18.94\";\r\nexport var mdiAccountEye = \"M6 8C6 5.79 7.79 4 10 4S14 5.79 14 8 12.21 12 10 12 6 10.21 6 8M9.14 19.75L8.85 19L9.14 18.25C9.84 16.5 11.08 15.14 12.61 14.22C11.79 14.08 10.92 14 10 14C5.58 14 2 15.79 2 18V20H9.27C9.23 19.91 9.18 19.83 9.14 19.75M17 18C16.44 18 16 18.44 16 19S16.44 20 17 20 18 19.56 18 19 17.56 18 17 18M23 19C22.06 21.34 19.73 23 17 23S11.94 21.34 11 19C11.94 16.66 14.27 15 17 15S22.06 16.66 23 19M19.5 19C19.5 17.62 18.38 16.5 17 16.5S14.5 17.62 14.5 19 15.62 21.5 17 21.5 19.5 20.38 19.5 19Z\";\r\nexport var mdiAccountEyeOutline = \"M10 12C12.21 12 14 10.21 14 8S12.21 4 10 4 6 5.79 6 8 7.79 12 10 12M10 6C11.11 6 12 6.9 12 8S11.11 10 10 10 8 9.11 8 8 8.9 6 10 6M9.27 20H2V17C2 14.33 7.33 13 10 13C11.04 13 12.5 13.21 13.86 13.61C13 13.95 12.2 14.42 11.5 15C11 14.94 10.5 14.9 10 14.9C7.03 14.9 3.9 16.36 3.9 17V18.1H9.22C9.2 18.15 9.17 18.2 9.14 18.25L8.85 19L9.14 19.75C9.18 19.83 9.23 19.91 9.27 20M17 18C17.56 18 18 18.44 18 19S17.56 20 17 20 16 19.56 16 19 16.44 18 17 18M17 15C14.27 15 11.94 16.66 11 19C11.94 21.34 14.27 23 17 23S22.06 21.34 23 19C22.06 16.66 19.73 15 17 15M17 21.5C15.62 21.5 14.5 20.38 14.5 19S15.62 16.5 17 16.5 19.5 17.62 19.5 19 18.38 21.5 17 21.5Z\";\r\nexport var mdiAccountFilter = \"M10 4C12.2 4 14 5.8 14 8S12.2 12 10 12 6 10.2 6 8 7.8 4 10 4M17 21L18.8 22.8C19.3 23.3 20 22.9 20 22.3V18L22.8 14.6C23.3 13.9 22.8 13 22 13H15C14.2 13 13.7 14 14.2 14.6L17 18V21M15 18.7L12.7 15.9C12.3 15.4 12.1 14.8 12.1 14.2C11.4 14 10.7 14 10 14C5.6 14 2 15.8 2 18V20H15V18.7Z\";\r\nexport var mdiAccountFilterOutline = \"M17 21L18.8 22.8C19.3 23.3 20 22.9 20 22.3V18L22.8 14.6C23.3 13.9 22.8 13 22 13H15C14.2 13 13.7 14 14.2 14.6L17 18V21M15 20H2V17C2 14.3 7.3 13 10 13C10.6 13 11.3 13.1 12.1 13.2C11.9 13.8 12 14.5 12.2 15.1C11.5 15 10.7 14.9 10 14.9C7 14.9 3.9 16.4 3.9 17V18.1H14.5L15 18.7V20M10 12C12.2 12 14 10.2 14 8S12.2 4 10 4 6 5.8 6 8 7.8 12 10 12M10 6C11.1 6 12 6.9 12 8S11.1 10 10 10 8 9.1 8 8 8.9 6 10 6Z\";\r\nexport var mdiAccountGroup = \"M12,5.5A3.5,3.5 0 0,1 15.5,9A3.5,3.5 0 0,1 12,12.5A3.5,3.5 0 0,1 8.5,9A3.5,3.5 0 0,1 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14A3,3 0 0,1 2,11A3,3 0 0,1 5,8M19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z\";\r\nexport var mdiAccountGroupOutline = \"M12,5A3.5,3.5 0 0,0 8.5,8.5A3.5,3.5 0 0,0 12,12A3.5,3.5 0 0,0 15.5,8.5A3.5,3.5 0 0,0 12,5M12,7A1.5,1.5 0 0,1 13.5,8.5A1.5,1.5 0 0,1 12,10A1.5,1.5 0 0,1 10.5,8.5A1.5,1.5 0 0,1 12,7M5.5,8A2.5,2.5 0 0,0 3,10.5C3,11.44 3.53,12.25 4.29,12.68C4.65,12.88 5.06,13 5.5,13C5.94,13 6.35,12.88 6.71,12.68C7.08,12.47 7.39,12.17 7.62,11.81C6.89,10.86 6.5,9.7 6.5,8.5C6.5,8.41 6.5,8.31 6.5,8.22C6.2,8.08 5.86,8 5.5,8M18.5,8C18.14,8 17.8,8.08 17.5,8.22C17.5,8.31 17.5,8.41 17.5,8.5C17.5,9.7 17.11,10.86 16.38,11.81C16.5,12 16.63,12.15 16.78,12.3C16.94,12.45 17.1,12.58 17.29,12.68C17.65,12.88 18.06,13 18.5,13C18.94,13 19.35,12.88 19.71,12.68C20.47,12.25 21,11.44 21,10.5A2.5,2.5 0 0,0 18.5,8M12,14C9.66,14 5,15.17 5,17.5V19H19V17.5C19,15.17 14.34,14 12,14M4.71,14.55C2.78,14.78 0,15.76 0,17.5V19H3V17.07C3,16.06 3.69,15.22 4.71,14.55M19.29,14.55C20.31,15.22 21,16.06 21,17.07V19H24V17.5C24,15.76 21.22,14.78 19.29,14.55M12,16C13.53,16 15.24,16.5 16.23,17H7.77C8.76,16.5 10.47,16 12,16Z\";\r\nexport var mdiAccountHardHat = \"M12,15C7.58,15 4,16.79 4,19V21H20V19C20,16.79 16.42,15 12,15M8,9A4,4 0 0,0 12,13A4,4 0 0,0 16,9M11.5,2C11.2,2 11,2.21 11,2.5V5.5H10V3C10,3 7.75,3.86 7.75,6.75C7.75,6.75 7,6.89 7,8H17C16.95,6.89 16.25,6.75 16.25,6.75C16.25,3.86 14,3 14,3V5.5H13V2.5C13,2.21 12.81,2 12.5,2H11.5Z\";\r\nexport var mdiAccountHeart = \"M15,14C12.3,14 7,15.3 7,18V20H23V18C23,15.3 17.7,14 15,14M15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12M5,15L4.4,14.5C2.4,12.6 1,11.4 1,9.9C1,8.7 2,7.7 3.2,7.7C3.9,7.7 4.6,8 5,8.5C5.4,8 6.1,7.7 6.8,7.7C8,7.7 9,8.6 9,9.9C9,11.4 7.6,12.6 5.6,14.5L5,15Z\";\r\nexport var mdiAccountHeartOutline = \"M5,15L4.4,14.5C2.4,12.6 1,11.4 1,9.9C1,8.7 2,7.7 3.2,7.7C3.9,7.7 4.6,8 5,8.5C5.4,8 6.1,7.7 6.8,7.7C8,7.7 9,8.6 9,9.9C9,11.4 7.6,12.6 5.6,14.5L5,15M15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4M15,10.1A2.1,2.1 0 0,1 12.9,8A2.1,2.1 0 0,1 15,5.9C16.16,5.9 17.1,6.84 17.1,8C17.1,9.16 16.16,10.1 15,10.1M15,13C12.33,13 7,14.33 7,17V20H23V17C23,14.33 17.67,13 15,13M21.1,18.1H8.9V17C8.9,16.36 12,14.9 15,14.9C17.97,14.9 21.1,16.36 21.1,17V18.1Z\";\r\nexport var mdiAccountInjury = \"M8 6C8 3.79 9.79 2 12 2S16 3.79 16 6 14.21 10 12 10 8 8.21 8 6M17 22H18C19.1 22 20 21.1 20 20V15.22C20 14.1 19.39 13.07 18.39 12.56C17.96 12.34 17.5 12.13 17 11.94V22M12.34 17L15 11.33C14.07 11.12 13.07 11 12 11C9.47 11 7.29 11.7 5.61 12.56C4.61 13.07 4 14.1 4 15.22V22H6.34C6.12 21.55 6 21.04 6 20.5C6 18.57 7.57 17 9.5 17H12.34M10 22L11.41 19H9.5C8.67 19 8 19.67 8 20.5S8.67 22 9.5 22H10Z\";\r\nexport var mdiAccountInjuryOutline = \"M12 10C14.21 10 16 8.21 16 6S14.21 2 12 2 8 3.79 8 6 9.79 10 12 10M12 4C13.1 4 14 4.9 14 6S13.1 8 12 8 10 7.1 10 6 10.9 4 12 4M18.39 12.56C16.71 11.7 14.53 11 12 11S7.29 11.7 5.61 12.56C4.61 13.07 4 14.1 4 15.22V22H6V15.22C6 14.84 6.2 14.5 6.5 14.34C7.71 13.73 9.63 13 12 13C12.76 13 13.47 13.07 14.13 13.2L12.58 16.5H9.75C8.23 16.5 7 17.73 7 19.25S8.23 22 9.75 22H18C19.1 22 20 21.1 20 20V15.22C20 14.1 19.39 13.07 18.39 12.56M10.94 20H9.75C9.34 20 9 19.66 9 19.25S9.34 18.5 9.75 18.5H11.64L10.94 20M18 20H13.15L16.09 13.73C16.63 13.93 17.1 14.14 17.5 14.34C17.8 14.5 18 14.84 18 15.22V20Z\";\r\nexport var mdiAccountKey = \"M11,10V12H10V14H8V12H5.83C5.42,13.17 4.31,14 3,14A3,3 0 0,1 0,11A3,3 0 0,1 3,8C4.31,8 5.42,8.83 5.83,10H11M3,10A1,1 0 0,0 2,11A1,1 0 0,0 3,12A1,1 0 0,0 4,11A1,1 0 0,0 3,10M16,14C18.67,14 24,15.34 24,18V20H8V18C8,15.34 13.33,14 16,14M16,12A4,4 0 0,1 12,8A4,4 0 0,1 16,4A4,4 0 0,1 20,8A4,4 0 0,1 16,12Z\";\r\nexport var mdiAccountKeyOutline = \"M5.83,10C5.42,8.83 4.31,8 3,8A3,3 0 0,0 0,11A3,3 0 0,0 3,14C4.31,14 5.42,13.17 5.83,12H8V14H10V12H11V10H5.83M3,12A1,1 0 0,1 2,11A1,1 0 0,1 3,10A1,1 0 0,1 4,11A1,1 0 0,1 3,12M16,4A4,4 0 0,0 12,8A4,4 0 0,0 16,12A4,4 0 0,0 20,8A4,4 0 0,0 16,4M16,10.1A2.1,2.1 0 0,1 13.9,8A2.1,2.1 0 0,1 16,5.9C17.16,5.9 18.1,6.84 18.1,8C18.1,9.16 17.16,10.1 16,10.1M16,13C13.33,13 8,14.33 8,17V20H24V17C24,14.33 18.67,13 16,13M22.1,18.1H9.9V17C9.9,16.36 13,14.9 16,14.9C18.97,14.9 22.1,16.36 22.1,17V18.1Z\";\r\nexport var mdiAccountLock = \"M22 17V16.5C22 15.12 20.88 14 19.5 14S17 15.12 17 16.5V17C16.45 17 16 17.45 16 18V22C16 22.55 16.45 23 17 23H22C22.55 23 23 22.55 23 22V18C23 17.45 22.55 17 22 17M21 17H18V16.5C18 15.67 18.67 15 19.5 15S21 15.67 21 16.5V17M8 8C8 5.79 9.79 4 12 4S16 5.79 16 8 14.21 12 12 12 8 10.21 8 8M14 20H4V18C4 15.79 7.58 14 12 14C13.27 14 14.46 14.15 15.53 14.41C15.32 14.82 15.15 15.25 15.07 15.71C14.42 16.26 14 17.08 14 18V20Z\";\r\nexport var mdiAccountLockOutline = \"M22 17V16.5C22 15.12 20.88 14 19.5 14S17 15.12 17 16.5V17C16.45 17 16 17.45 16 18V22C16 22.55 16.45 23 17 23H22C22.55 23 23 22.55 23 22V18C23 17.45 22.55 17 22 17M21 17H18V16.5C18 15.67 18.67 15 19.5 15S21 15.67 21 16.5V17M14 20H4V17C4 14.33 9.33 13 12 13C13.08 13 14.6 13.22 16 13.66C15.61 14.15 15.33 14.74 15.16 15.38C14.19 15.1 13.09 14.9 12 14.9C9.03 14.9 5.9 16.36 5.9 17V18.1H14V20M12 12C14.21 12 16 10.21 16 8S14.21 4 12 4 8 5.79 8 8 9.79 12 12 12M12 6C13.11 6 14 6.9 14 8S13.11 10 12 10 10 9.11 10 8 10.9 6 12 6Z\";\r\nexport var mdiAccountMinus = \"M15,14C12.33,14 7,15.33 7,18V20H23V18C23,15.33 17.67,14 15,14M1,10V12H9V10M15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12Z\";\r\nexport var mdiAccountMinusOutline = \"M15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4M15,5.9C16.16,5.9 17.1,6.84 17.1,8C17.1,9.16 16.16,10.1 15,10.1A2.1,2.1 0 0,1 12.9,8A2.1,2.1 0 0,1 15,5.9M1,10V12H9V10H1M15,13C12.33,13 7,14.33 7,17V20H23V17C23,14.33 17.67,13 15,13M15,14.9C17.97,14.9 21.1,16.36 21.1,17V18.1H8.9V17C8.9,16.36 12,14.9 15,14.9Z\";\r\nexport var mdiAccountMultiple = \"M16 17V19H2V17S2 13 9 13 16 17 16 17M12.5 7.5A3.5 3.5 0 1 0 9 11A3.5 3.5 0 0 0 12.5 7.5M15.94 13A5.32 5.32 0 0 1 18 17V19H22V17S22 13.37 15.94 13M15 4A3.39 3.39 0 0 0 13.07 4.59A5 5 0 0 1 13.07 10.41A3.39 3.39 0 0 0 15 11A3.5 3.5 0 0 0 15 4Z\";\r\nexport var mdiAccountMultipleCheck = \"M19 17V19H7V17S7 13 13 13 19 17 19 17M16 8A3 3 0 1 0 13 11A3 3 0 0 0 16 8M19.2 13.06A5.6 5.6 0 0 1 21 17V19H24V17S24 13.55 19.2 13.06M18 5A2.91 2.91 0 0 0 17.11 5.14A5 5 0 0 1 17.11 10.86A2.91 2.91 0 0 0 18 11A3 3 0 0 0 18 5M7.34 8.92L8.5 10.33L3.75 15.08L1 12.08L2.16 10.92L3.75 12.5L7.34 8.92\";\r\nexport var mdiAccountMultipleCheckOutline = \"M13 11A3 3 0 1 0 10 8A3 3 0 0 0 13 11M13 7A1 1 0 1 1 12 8A1 1 0 0 1 13 7M17.11 10.86A5 5 0 0 0 17.11 5.14A2.91 2.91 0 0 1 18 5A3 3 0 0 1 18 11A2.91 2.91 0 0 1 17.11 10.86M13 13C7 13 7 17 7 17V19H19V17S19 13 13 13M9 17C9 16.71 9.32 15 13 15C16.5 15 16.94 16.56 17 17M24 17V19H21V17A5.6 5.6 0 0 0 19.2 13.06C24 13.55 24 17 24 17M7.34 8.92L8.5 10.33L3.75 15.08L1 12.08L2.16 10.92L3.75 12.5L7.34 8.92\";\r\nexport var mdiAccountMultipleMinus = \"M19 17V19H7V17S7 13 13 13 19 17 19 17M16 8A3 3 0 1 0 13 11A3 3 0 0 0 16 8M19.2 13.06A5.6 5.6 0 0 1 21 17V19H24V17S24 13.55 19.2 13.06M18 5A2.91 2.91 0 0 0 17.11 5.14A5 5 0 0 1 17.11 10.86A2.91 2.91 0 0 0 18 11A3 3 0 0 0 18 5M8 10H0V12H8Z\";\r\nexport var mdiAccountMultipleMinusOutline = \"M13 11A3 3 0 1 0 10 8A3 3 0 0 0 13 11M13 7A1 1 0 1 1 12 8A1 1 0 0 1 13 7M17.11 10.86A5 5 0 0 0 17.11 5.14A2.91 2.91 0 0 1 18 5A3 3 0 0 1 18 11A2.91 2.91 0 0 1 17.11 10.86M13 13C7 13 7 17 7 17V19H19V17S19 13 13 13M9 17C9 16.71 9.32 15 13 15C16.5 15 16.94 16.56 17 17M24 17V19H21V17A5.6 5.6 0 0 0 19.2 13.06C24 13.55 24 17 24 17M8 12H0V10H8Z\";\r\nexport var mdiAccountMultipleOutline = \"M13.07 10.41A5 5 0 0 0 13.07 4.59A3.39 3.39 0 0 1 15 4A3.5 3.5 0 0 1 15 11A3.39 3.39 0 0 1 13.07 10.41M5.5 7.5A3.5 3.5 0 1 1 9 11A3.5 3.5 0 0 1 5.5 7.5M7.5 7.5A1.5 1.5 0 1 0 9 6A1.5 1.5 0 0 0 7.5 7.5M16 17V19H2V17S2 13 9 13 16 17 16 17M14 17C13.86 16.22 12.67 15 9 15S4.07 16.31 4 17M15.95 13A5.32 5.32 0 0 1 18 17V19H22V17S22 13.37 15.94 13Z\";\r\nexport var mdiAccountMultiplePlus = \"M19 17V19H7V17S7 13 13 13 19 17 19 17M16 8A3 3 0 1 0 13 11A3 3 0 0 0 16 8M19.2 13.06A5.6 5.6 0 0 1 21 17V19H24V17S24 13.55 19.2 13.06M18 5A2.91 2.91 0 0 0 17.11 5.14A5 5 0 0 1 17.11 10.86A2.91 2.91 0 0 0 18 11A3 3 0 0 0 18 5M8 10H5V7H3V10H0V12H3V15H5V12H8Z\";\r\nexport var mdiAccountMultiplePlusOutline = \"M13 11A3 3 0 1 0 10 8A3 3 0 0 0 13 11M13 7A1 1 0 1 1 12 8A1 1 0 0 1 13 7M17.11 10.86A5 5 0 0 0 17.11 5.14A2.91 2.91 0 0 1 18 5A3 3 0 0 1 18 11A2.91 2.91 0 0 1 17.11 10.86M13 13C7 13 7 17 7 17V19H19V17S19 13 13 13M9 17C9 16.71 9.32 15 13 15C16.5 15 16.94 16.56 17 17M24 17V19H21V17A5.6 5.6 0 0 0 19.2 13.06C24 13.55 24 17 24 17M8 12H5V15H3V12H0V10H3V7H5V10H8Z\";\r\nexport var mdiAccountMultipleRemove = \"M24 17V19H21V17C21 15.45 20.3 14.06 19.18 13.06C24 13.55 24 17 24 17M18 5C19.66 5 21 6.34 21 8C21 9.66 19.66 11 18 11C17.69 11 17.38 10.95 17.1 10.86C17.67 10.05 18 9.07 18 8C18 6.94 17.67 5.95 17.1 5.14C17.38 5.05 17.69 5 18 5M13 5C14.66 5 16 6.34 16 8C16 9.66 14.66 11 13 11C11.34 11 10 9.66 10 8C10 6.34 11.34 5 13 5M19 17V19H7V17C7 14.79 9.69 13 13 13C16.31 13 19 14.79 19 17M.464 13.12L2.59 11L.464 8.88L1.88 7.46L4 9.59L6.12 7.46L7.54 8.88L5.41 11L7.54 13.12L6.12 14.54L4 12.41L1.88 14.54Z\";\r\nexport var mdiAccountMultipleRemoveOutline = \"M24 17V19H21V17C21 15.45 20.3 14.06 19.18 13.06C24 13.55 24 17 24 17M18 5C19.66 5 21 6.34 21 8C21 9.66 19.66 11 18 11C17.69 11 17.38 10.95 17.1 10.86C17.67 10.05 18 9.07 18 8C18 6.94 17.67 5.95 17.1 5.14C17.38 5.05 17.69 5 18 5M13 5C14.66 5 16 6.34 16 8C16 9.66 14.66 11 13 11C11.34 11 10 9.66 10 8C10 6.34 11.34 5 13 5M19 17V19H7V17C7 14.79 9.69 13 13 13C16.31 13 19 14.79 19 17M13 7C12.45 7 12 7.45 12 8C12 8.55 12.45 9 13 9C13.55 9 14 8.55 14 8C14 7.45 13.55 7 13 7M13 15C10.79 15 9 15.9 9 17H17C17 15.9 15.21 15 13 15M.464 13.12L2.59 11L.464 8.88L1.88 7.46L4 9.59L6.12 7.46L7.54 8.88L5.41 11L7.54 13.12L6.12 14.54L4 12.41L1.88 14.54Z\";\r\nexport var mdiAccountMusic = \"M11,14C12,14 13.05,14.16 14.2,14.44C13.39,15.31 13,16.33 13,17.5C13,18.39 13.25,19.23 13.78,20H3V18C3,16.81 3.91,15.85 5.74,15.12C7.57,14.38 9.33,14 11,14M11,12C9.92,12 9,11.61 8.18,10.83C7.38,10.05 7,9.11 7,8C7,6.92 7.38,6 8.18,5.18C9,4.38 9.92,4 11,4C12.11,4 13.05,4.38 13.83,5.18C14.61,6 15,6.92 15,8C15,9.11 14.61,10.05 13.83,10.83C13.05,11.61 12.11,12 11,12M18.5,10H20L22,10V12H20V17.5A2.5,2.5 0 0,1 17.5,20A2.5,2.5 0 0,1 15,17.5A2.5,2.5 0 0,1 17.5,15C17.86,15 18.19,15.07 18.5,15.21V10Z\";\r\nexport var mdiAccountMusicOutline = \"M11,4A4,4 0 0,1 15,8A4,4 0 0,1 11,12A4,4 0 0,1 7,8A4,4 0 0,1 11,4M11,6A2,2 0 0,0 9,8A2,2 0 0,0 11,10A2,2 0 0,0 13,8A2,2 0 0,0 11,6M11,13C12.1,13 13.66,13.23 15.11,13.69C14.5,14.07 14,14.6 13.61,15.23C12.79,15.03 11.89,14.9 11,14.9C8.03,14.9 4.9,16.36 4.9,17V18.1H13.04C13.13,18.8 13.38,19.44 13.76,20H3V17C3,14.34 8.33,13 11,13M18.5,10H20L22,10V12H20V17.5A2.5,2.5 0 0,1 17.5,20A2.5,2.5 0 0,1 15,17.5A2.5,2.5 0 0,1 17.5,15C17.86,15 18.19,15.07 18.5,15.21V10Z\";\r\nexport var mdiAccountNetwork = \"M13,17V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H5V15.5C5,13.57 8.13,12 12,12C15.87,12 19,13.57 19,15.5V17H13M12,3A3.5,3.5 0 0,1 15.5,6.5A3.5,3.5 0 0,1 12,10A3.5,3.5 0 0,1 8.5,6.5A3.5,3.5 0 0,1 12,3Z\";\r\nexport var mdiAccountNetworkOutline = \"M12,10A3.5,3.5 0 0,0 15.5,6.5A3.5,3.5 0 0,0 12,3A3.5,3.5 0 0,0 8.5,6.5A3.5,3.5 0 0,0 12,10M12,5A1.5,1.5 0 0,1 13.5,6.5A1.5,1.5 0 0,1 12,8A1.5,1.5 0 0,1 10.5,6.5A1.5,1.5 0 0,1 12,5M15,20A1,1 0 0,0 14,19H13V17H19V15.5C19,13.57 15.87,12 12,12C8.13,12 5,13.57 5,15.5V17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7.61,15C8.39,14.53 9.89,14 12,14C14.11,14 15.61,14.53 16.39,15H7.61Z\";\r\nexport var mdiAccountOff = \"M12,4A4,4 0 0,1 16,8C16,9.95 14.6,11.58 12.75,11.93L8.07,7.25C8.42,5.4 10.05,4 12,4M12.28,14L18.28,20L20,21.72L18.73,23L15.73,20H4V18C4,16.16 6.5,14.61 9.87,14.14L2.78,7.05L4.05,5.78L12.28,14M20,18V19.18L15.14,14.32C18,14.93 20,16.35 20,18Z\";\r\nexport var mdiAccountOffOutline = \"M2.75,7L4.03,5.75L13.26,15L20,21.72L18.73,23L15.73,20H4V17C4,15.14 6.61,13.92 9.09,13.36L2.75,7M20,17V19.18L18.1,17.28V17C18.1,16.74 17.6,16.35 16.8,16L14,13.18C16.71,13.63 20,14.91 20,17M5.9,17V18.1H13.83L10.72,15C8.19,15.3 5.9,16.45 5.9,17M12,4A4,4 0 0,1 16,8C16,9.95 14.6,11.58 12.75,11.93L8.07,7.25C8.42,5.4 10.05,4 12,4M12,6A2,2 0 0,0 10,8A2,2 0 0,0 12,10A2,2 0 0,0 14,8A2,2 0 0,0 12,6Z\";\r\nexport var mdiAccountOutline = \"M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,6A2,2 0 0,0 10,8A2,2 0 0,0 12,10A2,2 0 0,0 14,8A2,2 0 0,0 12,6M12,13C14.67,13 20,14.33 20,17V20H4V17C4,14.33 9.33,13 12,13M12,14.9C9.03,14.9 5.9,16.36 5.9,17V18.1H18.1V17C18.1,16.36 14.97,14.9 12,14.9Z\";\r\nexport var mdiAccountPlus = \"M15,14C12.33,14 7,15.33 7,18V20H23V18C23,15.33 17.67,14 15,14M6,10V7H4V10H1V12H4V15H6V12H9V10M15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12Z\";\r\nexport var mdiAccountPlusOutline = \"M15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4M15,5.9C16.16,5.9 17.1,6.84 17.1,8C17.1,9.16 16.16,10.1 15,10.1A2.1,2.1 0 0,1 12.9,8A2.1,2.1 0 0,1 15,5.9M4,7V10H1V12H4V15H6V12H9V10H6V7H4M15,13C12.33,13 7,14.33 7,17V20H23V17C23,14.33 17.67,13 15,13M15,14.9C17.97,14.9 21.1,16.36 21.1,17V18.1H8.9V17C8.9,16.36 12,14.9 15,14.9Z\";\r\nexport var mdiAccountQuestion = \"M13,8A4,4 0 0,1 9,12A4,4 0 0,1 5,8A4,4 0 0,1 9,4A4,4 0 0,1 13,8M17,18V20H1V18C1,15.79 4.58,14 9,14C13.42,14 17,15.79 17,18M20.5,14.5V16H19V14.5H20.5M18.5,9.5H17V9A3,3 0 0,1 20,6A3,3 0 0,1 23,9C23,9.97 22.5,10.88 21.71,11.41L21.41,11.6C20.84,12 20.5,12.61 20.5,13.3V13.5H19V13.3C19,12.11 19.6,11 20.59,10.35L20.88,10.16C21.27,9.9 21.5,9.47 21.5,9A1.5,1.5 0 0,0 20,7.5A1.5,1.5 0 0,0 18.5,9V9.5Z\";\r\nexport var mdiAccountQuestionOutline = \"M20.5,14.5V16H19V14.5H20.5M18.5,9.5H17V9A3,3 0 0,1 20,6A3,3 0 0,1 23,9C23,9.97 22.5,10.88 21.71,11.41L21.41,11.6C20.84,12 20.5,12.61 20.5,13.3V13.5H19V13.3C19,12.11 19.6,11 20.59,10.35L20.88,10.16C21.27,9.9 21.5,9.47 21.5,9A1.5,1.5 0 0,0 20,7.5A1.5,1.5 0 0,0 18.5,9V9.5M9,13C11.67,13 17,14.34 17,17V20H1V17C1,14.34 6.33,13 9,13M9,4A4,4 0 0,1 13,8A4,4 0 0,1 9,12A4,4 0 0,1 5,8A4,4 0 0,1 9,4M9,14.9C6.03,14.9 2.9,16.36 2.9,17V18.1H15.1V17C15.1,16.36 11.97,14.9 9,14.9M9,5.9A2.1,2.1 0 0,0 6.9,8A2.1,2.1 0 0,0 9,10.1A2.1,2.1 0 0,0 11.1,8A2.1,2.1 0 0,0 9,5.9Z\";\r\nexport var mdiAccountReactivate = \"M21.5 9H16.5L18.36 7.14C16.9 5.23 14.59 4 12 4C7.58 4 4 7.58 4 12C4 13.83 4.61 15.5 5.64 16.85C6.86 15.45 9.15 14.5 12 14.5C14.85 14.5 17.15 15.45 18.36 16.85C19.39 15.5 20 13.83 20 12H22C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C15.14 2 17.95 3.45 19.78 5.72L21.5 4V9M12 7C13.66 7 15 8.34 15 10C15 11.66 13.66 13 12 13C10.34 13 9 11.66 9 10C9 8.34 10.34 7 12 7Z\";\r\nexport var mdiAccountReactivateOutline = \"M21.5 9H16.5L18.36 7.14C16.9 5.23 14.59 4 12 4C7.58 4 4 7.58 4 12C4 13.83 4.61 15.5 5.64 16.85C6.86 15.45 9.15 14.5 12 14.5C14.85 14.5 17.15 15.45 18.36 16.85C19.39 15.5 20 13.83 20 12H22C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C15.14 2 17.95 3.45 19.78 5.72L21.5 4V9M12 20C13.9 20 15.64 19.34 17 18.24C16.36 17.23 14.45 16.5 12 16.5C9.55 16.5 7.64 17.23 7 18.24C8.36 19.34 10.1 20 12 20M12 6C13.93 6 15.5 7.57 15.5 9.5C15.5 11.43 13.93 13 12 13C10.07 13 8.5 11.43 8.5 9.5C8.5 7.57 10.07 6 12 6M12 8C11.17 8 10.5 8.67 10.5 9.5C10.5 10.33 11.17 11 12 11C12.83 11 13.5 10.33 13.5 9.5C13.5 8.67 12.83 8 12 8Z\";\r\nexport var mdiAccountRemove = \"M15,14C17.67,14 23,15.33 23,18V20H7V18C7,15.33 12.33,14 15,14M15,12A4,4 0 0,1 11,8A4,4 0 0,1 15,4A4,4 0 0,1 19,8A4,4 0 0,1 15,12M5,9.59L7.12,7.46L8.54,8.88L6.41,11L8.54,13.12L7.12,14.54L5,12.41L2.88,14.54L1.46,13.12L3.59,11L1.46,8.88L2.88,7.46L5,9.59Z\";\r\nexport var mdiAccountRemoveOutline = \"M1.46,8.88L2.88,7.46L5,9.59L7.12,7.46L8.54,8.88L6.41,11L8.54,13.12L7.12,14.54L5,12.41L2.88,14.54L1.46,13.12L3.59,11L1.46,8.88M15,4A4,4 0 0,1 19,8A4,4 0 0,1 15,12A4,4 0 0,1 11,8A4,4 0 0,1 15,4M15,5.9A2.1,2.1 0 0,0 12.9,8A2.1,2.1 0 0,0 15,10.1C16.16,10.1 17.1,9.16 17.1,8C17.1,6.84 16.16,5.9 15,5.9M15,13C17.67,13 23,14.33 23,17V20H7V17C7,14.33 12.33,13 15,13M15,14.9C12,14.9 8.9,16.36 8.9,17V18.1H21.1V17C21.1,16.36 17.97,14.9 15,14.9Z\";\r\nexport var mdiAccountSearch = \"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M10,4A4,4 0 0,1 14,8C14,8.91 13.69,9.75 13.18,10.43C12.32,10.75 11.55,11.26 10.91,11.9L10,12A4,4 0 0,1 6,8A4,4 0 0,1 10,4M2,20V18C2,15.88 5.31,14.14 9.5,14C9.18,14.78 9,15.62 9,16.5C9,17.79 9.38,19 10,20H2Z\";\r\nexport var mdiAccountSearchOutline = \"M10,13C9.65,13.59 9.36,14.24 9.19,14.93C6.5,15.16 3.9,16.42 3.9,17V18.1H9.2C9.37,18.78 9.65,19.42 10,20H2V17C2,14.34 7.33,13 10,13M10,4A4,4 0 0,1 14,8C14,8.91 13.69,9.75 13.18,10.43C12.32,10.75 11.55,11.26 10.91,11.9L10,12A4,4 0 0,1 6,8A4,4 0 0,1 10,4M10,5.9A2.1,2.1 0 0,0 7.9,8A2.1,2.1 0 0,0 10,10.1A2.1,2.1 0 0,0 12.1,8A2.1,2.1 0 0,0 10,5.9M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14Z\";\r\nexport var mdiAccountSettings = \"M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22Z\";\r\nexport var mdiAccountSettingsOutline = \"M12 4C14.21 4 16 5.79 16 8S14.21 12 12 12 8 10.21 8 8 9.79 4 12 4M12 6C10.9 6 10 6.9 10 8S10.9 10 12 10 14 9.11 14 8 13.11 6 12 6M12 13C14.67 13 20 14.33 20 17V20H4V17C4 14.33 9.33 13 12 13M12 14.9C9.03 14.9 5.9 16.36 5.9 17V18.1H18.1V17C18.1 16.36 14.97 14.9 12 14.9M13 22H11V24H13V22M17 22H15V24H17V22M9 22H7V24H9V22Z\";\r\nexport var mdiAccountStar = \"M15,14C12.33,14 7,15.33 7,18V20H23V18C23,15.33 17.67,14 15,14M15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12M5,13.28L7.45,14.77L6.8,11.96L9,10.08L6.11,9.83L5,7.19L3.87,9.83L1,10.08L3.18,11.96L2.5,14.77L5,13.28Z\";\r\nexport var mdiAccountStarOutline = \"M15,4A4,4 0 0,1 19,8A4,4 0 0,1 15,12A4,4 0 0,1 11,8A4,4 0 0,1 15,4M15,5.9A2.1,2.1 0 0,0 12.9,8A2.1,2.1 0 0,0 15,10.1C16.16,10.1 17.1,9.16 17.1,8C17.1,6.84 16.16,5.9 15,5.9M15,13C17.67,13 23,14.33 23,17V20H7V17C7,14.33 12.33,13 15,13M15,14.9C12,14.9 8.9,16.36 8.9,17V18.1H21.1V17C21.1,16.36 17.97,14.9 15,14.9M5,13.28L2.5,14.77L3.18,11.96L1,10.08L3.87,9.83L5,7.19L6.11,9.83L9,10.08L6.8,11.96L7.45,14.77L5,13.28Z\";\r\nexport var mdiAccountSupervisor = \"M16.5,12A2.5,2.5 0 0,0 19,9.5A2.5,2.5 0 0,0 16.5,7A2.5,2.5 0 0,0 14,9.5A2.5,2.5 0 0,0 16.5,12M9,11A3,3 0 0,0 12,8A3,3 0 0,0 9,5A3,3 0 0,0 6,8A3,3 0 0,0 9,11M16.5,14C14.67,14 11,14.92 11,16.75V19H22V16.75C22,14.92 18.33,14 16.5,14M9,13C6.67,13 2,14.17 2,16.5V19H9V16.75C9,15.9 9.33,14.41 11.37,13.28C10.5,13.1 9.66,13 9,13Z\";\r\nexport var mdiAccountSupervisorCircle = \"M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M15.6,8.34C16.67,8.34 17.53,9.2 17.53,10.27C17.53,11.34 16.67,12.2 15.6,12.2A1.93,1.93 0 0,1 13.67,10.27C13.66,9.2 14.53,8.34 15.6,8.34M9.6,6.76C10.9,6.76 11.96,7.82 11.96,9.12C11.96,10.42 10.9,11.5 9.6,11.5C8.3,11.5 7.24,10.42 7.24,9.12C7.24,7.81 8.29,6.76 9.6,6.76M9.6,15.89V19.64C7.2,18.89 5.3,17.04 4.46,14.68C5.5,13.56 8.13,13 9.6,13C10.13,13 10.8,13.07 11.5,13.21C9.86,14.08 9.6,15.23 9.6,15.89M12,20C11.72,20 11.46,20 11.2,19.96V15.89C11.2,14.47 14.14,13.76 15.6,13.76C16.67,13.76 18.5,14.15 19.44,14.91C18.27,17.88 15.38,20 12,20Z\";\r\nexport var mdiAccountSupervisorCircleOutline = \"M12.5 10C12.5 8.34 11.16 7 9.5 7C7.86 7 6.5 8.34 6.5 10C6.5 11.64 7.86 13 9.5 13C11.16 13 12.5 11.64 12.5 10M9.5 11C8.96 11 8.5 10.54 8.5 10C8.5 9.44 8.96 9 9.5 9C10.06 9 10.5 9.44 10.5 10C10.5 10.54 10.06 11 9.5 11M16 13C17.12 13 18 12.1 18 11C18 9.88 17.12 9 16 9C14.9 9 14 9.88 14 11C14 12.1 14.9 13 16 13M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12C22 6.5 17.5 2 12 2M5.85 17.11C6.53 16.57 8.12 16 9.5 16C9.58 16 9.66 16 9.74 16C10 15.37 10.41 14.72 11.04 14.15C10.5 14.05 9.95 14 9.5 14C8.21 14 6.12 14.44 4.78 15.42C4.28 14.38 4 13.22 4 12C4 7.58 7.59 4 12 4C16.41 4 20 7.58 20 12C20 13.19 19.73 14.33 19.25 15.36C18.25 14.77 16.89 14.5 16 14.5C14.5 14.5 11.5 15.3 11.5 17.19V19.97C9.24 19.84 7.22 18.76 5.85 17.11Z\";\r\nexport var mdiAccountSupervisorOutline = \"M16.5 15.5C18.22 15.5 20.25 16.3 20.5 16.78V17.5H12.5V16.78C12.75 16.3 14.78 15.5 16.5 15.5M16.5 14C14.67 14 11 14.92 11 16.75V19H22V16.75C22 14.92 18.33 14 16.5 14M9 13C6.67 13 2 14.17 2 16.5V19H9V17.5H3.5V16.5C3.5 15.87 6.29 14.34 9.82 14.5A5.12 5.12 0 0 1 11.37 13.25A12.28 12.28 0 0 0 9 13M9 6.5A1.5 1.5 0 1 1 7.5 8A1.5 1.5 0 0 1 9 6.5M9 5A3 3 0 1 0 12 8A3 3 0 0 0 9 5M16.5 8.5A1 1 0 1 1 15.5 9.5A1 1 0 0 1 16.5 8.5M16.5 7A2.5 2.5 0 1 0 19 9.5A2.5 2.5 0 0 0 16.5 7Z\";\r\nexport var mdiAccountSwitch = \"M16 9C22 9 22 13 22 13V15H16V13C16 13 16 11.31 14.85 9.8C14.68 9.57 14.47 9.35 14.25 9.14C14.77 9.06 15.34 9 16 9M2 13C2 13 2 9 8 9S14 13 14 13V15H2V13M9 17V19H15V17L18 20L15 23V21H9V23L6 20L9 17M8 1C6.34 1 5 2.34 5 4S6.34 7 8 7 11 5.66 11 4 9.66 1 8 1M16 1C14.34 1 13 2.34 13 4S14.34 7 16 7 19 5.66 19 4 17.66 1 16 1Z\";\r\nexport var mdiAccountSwitchOutline = \"M16 9C22 9 22 13 22 13V15H16V13C16 13 16 11.31 14.85 9.8C14.68 9.57 14.47 9.35 14.25 9.14C14.77 9.06 15.34 9 16 9M8 11C11.5 11 11.94 12.56 12 13H4C4.06 12.56 4.5 11 8 11M8 9C2 9 2 13 2 13V15H14V13C14 13 14 9 8 9M9 17V19H15V17L18 20L15 23V21H9V23L6 20L9 17M8 3C8.55 3 9 3.45 9 4S8.55 5 8 5 7 4.55 7 4 7.45 3 8 3M8 1C6.34 1 5 2.34 5 4S6.34 7 8 7 11 5.66 11 4 9.66 1 8 1M16 1C14.34 1 13 2.34 13 4S14.34 7 16 7 19 5.66 19 4 17.66 1 16 1Z\";\r\nexport var mdiAccountTie = \"M12 3C14.21 3 16 4.79 16 7S14.21 11 12 11 8 9.21 8 7 9.79 3 12 3M16 13.54C16 14.6 15.72 17.07 13.81 19.83L13 15L13.94 13.12C13.32 13.05 12.67 13 12 13S10.68 13.05 10.06 13.12L11 15L10.19 19.83C8.28 17.07 8 14.6 8 13.54C5.61 14.24 4 15.5 4 17V21H20V17C20 15.5 18.4 14.24 16 13.54Z\";\r\nexport var mdiAccountTieOutline = \"M16.36 12.76C18.31 13.42 20 14.5 20 16V21H4V16C4 14.5 5.69 13.42 7.65 12.76L8.27 14L8.5 14.5C7 14.96 5.9 15.62 5.9 16V19.1H10.12L11 14.03L10.06 12.15C10.68 12.08 11.33 12.03 12 12.03C12.67 12.03 13.32 12.08 13.94 12.15L13 14.03L13.88 19.1H18.1V16C18.1 15.62 17 14.96 15.5 14.5L15.73 14L16.36 12.76M12 5C10.9 5 10 5.9 10 7C10 8.1 10.9 9 12 9C13.1 9 14 8.1 14 7C14 5.9 13.1 5 12 5M12 11C9.79 11 8 9.21 8 7C8 4.79 9.79 3 12 3C14.21 3 16 4.79 16 7C16 9.21 14.21 11 12 11Z\";\r\nexport var mdiAccountTieVoice = \"M16.75 4.36C18.77 6.56 18.77 9.61 16.75 11.63L15.07 9.94C15.91 8.76 15.91 7.23 15.07 6.05L16.75 4.36M20.06 1C24 5.05 23.96 11.11 20.06 15L18.43 13.37C21.2 10.19 21.2 5.65 18.43 2.63L20.06 1M9 4C11.2 4 13 5.79 13 8S11.2 12 9 12 5 10.21 5 8 6.79 4 9 4M13 14.54C13 15.6 12.71 18.07 10.8 20.83L10 16L10.93 14.12C10.31 14.05 9.66 14 9 14S7.67 14.05 7.05 14.12L8 16L7.18 20.83C5.27 18.07 5 15.6 5 14.54C2.6 15.24 .994 16.5 .994 18V22H17V18C17 16.5 15.39 15.24 13 14.54Z\";\r\nexport var mdiAccountTieVoiceOff = \"M12.7 9.5L7.5 4.3C7.96 4.11 8.46 4 9 4C11.2 4 13 5.79 13 8C13 8.53 12.89 9.04 12.7 9.5M16.75 11.63C18.77 9.61 18.77 6.56 16.75 4.36L15.07 6.05C15.91 7.23 15.91 8.76 15.07 9.94L16.75 11.63M20.06 15C23.96 11.11 24 5.05 20.06 1L18.43 2.63C21.2 5.65 21.2 10.19 18.43 13.37L20.06 15M2.39 1.73L1.11 3L5.13 7C5.05 7.34 5 7.66 5 8C5 10.21 6.79 12 9 12C9.33 12 9.66 11.94 9.97 11.86L13 14.87C12.93 16.06 12.54 18.32 10.8 20.83L10 16L10.93 14.12C10.31 14.05 9.66 14 9 14C8.32 14 7.67 14.05 7.05 14.12L8 16L7.18 20.83C5.27 18.07 5 15.6 5 14.54C2.6 15.24 .994 16.5 .994 18V22H17V18.88L20.84 22.73L22.11 21.46L2.39 1.73Z\";\r\nexport var mdiAccountTieVoiceOffOutline = \"M9.22 6L7.5 4.3C7.96 4.11 8.47 4 9 4C11.21 4 13 5.79 13 8C13 8.53 12.89 9.04 12.7 9.5L11 7.78C10.87 6.86 10.14 6.13 9.22 6M20.06 15C23.96 11.11 24 5.05 20.06 1L18.43 2.63C21.2 5.65 21.2 10.19 18.43 13.37L20.06 15M16.75 11.63C18.77 9.61 18.77 6.56 16.75 4.36L15.07 6.05C15.91 7.23 15.91 8.76 15.07 9.94L16.75 11.63M2.39 1.73L1.11 3L5.14 7.03C5.06 7.34 5 7.66 5 8C5 10.21 6.79 12 9 12C9.34 12 9.66 11.94 9.97 11.86L12.86 14.75L12.73 15L12.5 15.5C13.3 15.74 13.97 16.05 14.44 16.33L15.1 17V20.1H10.88L10 15.03L10.94 13.15C10.32 13.08 9.67 13.03 9 13.03S7.68 13.08 7.06 13.15L8 15.03L7.12 20.1H2.9V17C2.9 16.62 4 15.96 5.5 15.5L5.27 15L4.65 13.76C2.69 14.42 1 15.5 1 17V22H17V18.89L20.84 22.73L22.11 21.46L2.39 1.73Z\";\r\nexport var mdiAccountTieVoiceOutline = \"M16.75 4.36C18.77 6.56 18.77 9.61 16.75 11.63L15.07 9.94C15.91 8.76 15.91 7.23 15.07 6.05L16.75 4.36M20.06 1C24 5.05 23.96 11.11 20.06 15L18.43 13.37C21.2 10.19 21.2 5.65 18.43 2.63L20.06 1M13.36 13.76C15.31 14.42 17 15.5 17 17V22H1V17C1 15.5 2.69 14.42 4.65 13.76L5.27 15L5.5 15.5C4 15.96 2.9 16.62 2.9 17V20.1H7.12L8 15.03L7.06 13.15C7.68 13.08 8.33 13.03 9 13.03S10.32 13.08 10.94 13.15L10 15.03L10.88 20.1H15.1V17C15.1 16.62 14 15.96 12.5 15.5L12.73 15L13.36 13.76M9 6C7.9 6 7 6.9 7 8S7.9 10 9 10 11 9.1 11 8 10.1 6 9 6M9 12C6.79 12 5 10.21 5 8S6.79 4 9 4 13 5.79 13 8 11.21 12 9 12Z\";\r\nexport var mdiAccountVoice = \"M9,5A4,4 0 0,1 13,9A4,4 0 0,1 9,13A4,4 0 0,1 5,9A4,4 0 0,1 9,5M9,15C11.67,15 17,16.34 17,19V21H1V19C1,16.34 6.33,15 9,15M16.76,5.36C18.78,7.56 18.78,10.61 16.76,12.63L15.08,10.94C15.92,9.76 15.92,8.23 15.08,7.05L16.76,5.36M20.07,2C24,6.05 23.97,12.11 20.07,16L18.44,14.37C21.21,11.19 21.21,6.65 18.44,3.63L20.07,2Z\";\r\nexport var mdiAccountVoiceOff = \"M2,3.27L3.28,2L22,20.72L20.73,22L16.73,18C16.9,18.31 17,18.64 17,19V21H1V19C1,16.34 6.33,15 9,15C10.77,15 13.72,15.59 15.5,16.77L11.12,12.39C10.5,12.78 9.78,13 9,13A4,4 0 0,1 5,9C5,8.22 5.22,7.5 5.61,6.88L2,3.27M9,5A4,4 0 0,1 13,9V9.17L8.83,5H9M16.76,5.36C18.78,7.56 18.78,10.61 16.76,12.63L15.08,10.94C15.92,9.76 15.92,8.23 15.08,7.05L16.76,5.36M20.07,2C24,6.05 23.97,12.11 20.07,16L18.44,14.37C21.21,11.19 21.21,6.65 18.44,3.63L20.07,2Z\";\r\nexport var mdiAdjust = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9A3,3 0 0,1 15,12Z\";\r\nexport var mdiAirConditioner = \"M6.59,0.66C8.93,-1.15 11.47,1.06 12.04,4.5C12.47,4.5 12.89,4.62 13.27,4.84C13.79,4.24 14.25,3.42 14.07,2.5C13.65,0.35 16.06,-1.39 18.35,1.58C20.16,3.92 17.95,6.46 14.5,7.03C14.5,7.46 14.39,7.89 14.16,8.27C14.76,8.78 15.58,9.24 16.5,9.06C18.63,8.64 20.38,11.04 17.41,13.34C15.07,15.15 12.53,12.94 11.96,9.5C11.53,9.5 11.11,9.37 10.74,9.15C10.22,9.75 9.75,10.58 9.93,11.5C10.35,13.64 7.94,15.39 5.65,12.42C3.83,10.07 6.05,7.53 9.5,6.97C9.5,6.54 9.63,6.12 9.85,5.74C9.25,5.23 8.43,4.76 7.5,4.94C5.37,5.36 3.62,2.96 6.59,0.66M5,16H7A2,2 0 0,1 9,18V24H7V22H5V24H3V18A2,2 0 0,1 5,16M5,18V20H7V18H5M12.93,16H15L12.07,24H10L12.93,16M18,16H21V18H18V22H21V24H18A2,2 0 0,1 16,22V18A2,2 0 0,1 18,16Z\";\r\nexport var mdiAirFilter = \"M19,18.31V20A2,2 0 0,1 17,22H7A2,2 0 0,1 5,20V16.3C4.54,16.12 3.95,16 3,16A1,1 0 0,1 2,15A1,1 0 0,1 3,14C3.82,14 4.47,14.08 5,14.21V12.3C4.54,12.12 3.95,12 3,12A1,1 0 0,1 2,11A1,1 0 0,1 3,10C3.82,10 4.47,10.08 5,10.21V8.3C4.54,8.12 3.95,8 3,8A1,1 0 0,1 2,7A1,1 0 0,1 3,6C3.82,6 4.47,6.08 5,6.21V4A2,2 0 0,1 7,2H17A2,2 0 0,1 19,4V6.16C20.78,6.47 21.54,7.13 21.71,7.29C22.1,7.68 22.1,8.32 21.71,8.71C21.32,9.1 20.8,9.09 20.29,8.71V8.71C20.29,8.71 19.25,8 17,8C15.74,8 14.91,8.41 13.95,8.9C12.91,9.41 11.74,10 10,10C9.64,10 9.31,10 9,9.96V7.95C9.3,8 9.63,8 10,8C11.26,8 12.09,7.59 13.05,7.11C14.09,6.59 15.27,6 17,6V4H7V20H17V18C18.5,18 18.97,18.29 19,18.31M17,10C15.27,10 14.09,10.59 13.05,11.11C12.09,11.59 11.26,12 10,12C9.63,12 9.3,12 9,11.95V13.96C9.31,14 9.64,14 10,14C11.74,14 12.91,13.41 13.95,12.9C14.91,12.42 15.74,12 17,12C19.25,12 20.29,12.71 20.29,12.71V12.71C20.8,13.1 21.32,13.1 21.71,12.71C22.1,12.32 22.1,11.69 21.71,11.29C21.5,11.08 20.25,10 17,10M17,14C15.27,14 14.09,14.59 13.05,15.11C12.09,15.59 11.26,16 10,16C9.63,16 9.3,16 9,15.95V17.96C9.31,18 9.64,18 10,18C11.74,18 12.91,17.41 13.95,16.9C14.91,16.42 15.74,16 17,16C19.25,16 20.29,16.71 20.29,16.71V16.71C20.8,17.1 21.32,17.1 21.71,16.71C22.1,16.32 22.1,15.69 21.71,15.29C21.5,15.08 20.25,14 17,14Z\";\r\nexport var mdiAirHorn = \"M19,2.8V6L19,9.2C19,9.5 18.7,9.8 18.4,9.7C18.4,9.7 14.5,7.1 10,7.1V9.5H10.2C10.7,9.5 11.2,9.7 11.4,10.1L12.7,11.9C12.9,12.1 13,12.4 13,12.6V20.6C13,21.3 12.3,22 11.5,22H6.5C5.7,22 5,21.4 5,20.6V12.6C5,12.3 5.1,12.1 5.3,11.9L6.6,10.1C6.9,9.7 7.3,9.5 7.8,9.5H8V8C7.6,8.5 7,8.8 6.4,8.8C5.1,8.8 4,7.5 4,6C4,4.5 5.1,3.2 6.4,3.2C7,3.3 7.6,3.6 8,4V2.6H10V5C14.5,5 18.4,2.4 18.4,2.4C18.7,2.3 19,2.5 19,2.8Z\";\r\nexport var mdiAirHumidifier = \"M11 9C8.79 9 7 10.79 7 13S8.79 17 11 17 15 15.21 15 13 13.21 9 11 9M11 15C9.9 15 9 14.11 9 13S9.9 11 11 11 13 11.9 13 13 12.11 15 11 15M7 4H14C16.21 4 18 5.79 18 8V9H16V8C16 6.9 15.11 6 14 6H7C5.9 6 5 6.9 5 8V20H16V18H18V22H3V8C3 5.79 4.79 4 7 4M19 10.5C19 10.5 21 12.67 21 14C21 15.1 20.1 16 19 16S17 15.1 17 14C17 12.67 19 10.5 19 10.5\";\r\nexport var mdiAirHumidifierOff = \"M22.1 21.5L2.4 1.7L1.1 3L3.8 5.7C3.3 6.3 3 7.1 3 8V22H18V19.9L20.8 22.7L22.1 21.5M9.6 11.5L12.4 14.3C12.1 14.7 11.6 15 11 15C9.9 15 9 14.1 9 13C9 12.4 9.3 11.9 9.6 11.5M16 17.9V20H5V8C5 7.7 5.1 7.4 5.2 7.1L8.2 10.1C7.5 10.8 7 11.9 7 13C7 15.2 8.8 17 11 17C12.1 17 13.2 16.5 13.9 15.8L16 17.9M17 13.8C17.1 12.5 19 10.5 19 10.5S21 12.7 21 14C21 15 20.2 15.9 19.2 16L17 13.8M9.2 6L7.2 4H14C16.2 4 18 5.8 18 8V9H16V8C16 6.9 15.1 6 14 6H9.2Z\";\r\nexport var mdiAirPurifier = \"M11,9A4,4 0 0,1 15,13A4,4 0 0,1 11,17A4,4 0 0,1 7,13A4,4 0 0,1 11,9M11,11A2,2 0 0,0 9,13A2,2 0 0,0 11,15A2,2 0 0,0 13,13A2,2 0 0,0 11,11M7,4H14A4,4 0 0,1 18,8V9H16V8A2,2 0 0,0 14,6H7A2,2 0 0,0 5,8V20H16V18H18V22H3V8A4,4 0 0,1 7,4M16,11C18.5,11 18.5,9 21,9V11C18.5,11 18.5,13 16,13V11M16,15C18.5,15 18.5,13 21,13V15C18.5,15 18.5,17 16,17V15Z\";\r\nexport var mdiAirbag = \"M14,8A5,5 0 0,1 9,13A5,5 0 0,1 4,8A5,5 0 0,1 9,3A5,5 0 0,1 14,8M10.46,15.55L13,18.03L11,18.05L7.5,21.58L6,20.09L10.46,15.55M17,2C18.08,2 19,2.88 19,4C19,5.08 18.12,6 17,6C15.92,6 15,5.12 15,4C15,2.92 15.89,2 17,2M14.41,15H11.59L17.29,20.71L18.71,19.29L14.41,15M15.12,14.29L19.41,18.59L19.63,18.8C19.86,18.42 20,18 20,17.5V9.5A2.5,2.5 0 0,0 17.5,7A2.5,2.5 0 0,0 15,9.5V14.17L15.12,14.29Z\";\r\nexport var mdiAirballoon = \"M11,23A2,2 0 0,1 9,21V19H15V21A2,2 0 0,1 13,23H11M12,1C12.71,1 13.39,1.09 14.05,1.26C15.22,2.83 16,5.71 16,9C16,11.28 15.62,13.37 15,16A2,2 0 0,1 13,18H11A2,2 0 0,1 9,16C8.38,13.37 8,11.28 8,9C8,5.71 8.78,2.83 9.95,1.26C10.61,1.09 11.29,1 12,1M20,8C20,11.18 18.15,15.92 15.46,17.21C16.41,15.39 17,11.83 17,9C17,6.17 16.41,3.61 15.46,1.79C18.15,3.08 20,4.82 20,8M4,8C4,4.82 5.85,3.08 8.54,1.79C7.59,3.61 7,6.17 7,9C7,11.83 7.59,15.39 8.54,17.21C5.85,15.92 4,11.18 4,8Z\";\r\nexport var mdiAirballoonOutline = \"M11 23C9.9 23 9 22.1 9 21V19H15V21C15 22.1 14.1 23 13 23H11M12 3C12.28 3 12.55 3 12.81 3.05C13.42 4.22 14 6.26 14 9C14 11.1 13 16 13 16H11C11 16 10 11.1 10 9C10 6.26 10.58 4.22 11.19 3.05C11.45 3 11.72 3 12 3M12 1C11.29 1 10.61 1.09 9.95 1.26C8.78 2.83 8 5.71 8 9C8 11.28 8.38 13.37 9 16C9 17.1 9.9 18 11 18H13C14.1 18 15 17.1 15 16C15.62 13.37 16 11.28 16 9C16 5.71 15.22 2.83 14.05 1.26C13.39 1.09 12.71 1 12 1M4 8C4 11.18 5.85 15.92 8.54 17.21C8 16.21 7.61 14.67 7.34 13C6.55 11.53 6 9.62 6 8C6 6.66 6.44 5.67 7.47 4.8C7.73 3.67 8.09 2.65 8.54 1.79C5.85 3.08 4 4.82 4 8M15.46 1.79C15.91 2.65 16.27 3.67 16.53 4.8C17.56 5.67 18 6.66 18 8C18 9.62 17.45 11.53 16.66 13C16.39 14.67 16 16.21 15.46 17.21C18.15 15.92 20 11.18 20 8S18.15 3.08 15.46 1.79Z\";\r\nexport var mdiAirplane = \"M21,16V14L13,9V3.5A1.5,1.5 0 0,0 11.5,2A1.5,1.5 0 0,0 10,3.5V9L2,14V16L10,13.5V19L8,20.5V22L11.5,21L15,22V20.5L13,19V13.5L21,16Z\";\r\nexport var mdiAirplaneLanding = \"M2.5,19H21.5V21H2.5V19M9.68,13.27L14.03,14.43L19.34,15.85C20.14,16.06 20.96,15.59 21.18,14.79C21.39,14 20.92,13.17 20.12,12.95L14.81,11.53L12.05,2.5L10.12,2V10.28L5.15,8.95L4.22,6.63L2.77,6.24V11.41L4.37,11.84L9.68,13.27Z\";\r\nexport var mdiAirplaneOff = \"M3.15,5.27L8.13,10.26L2.15,14V16L10.15,13.5V19L8.15,20.5V22L11.65,21L15.15,22V20.5L13.15,19V15.27L18.87,21L20.15,19.73L4.42,4M13.15,9V3.5A1.5,1.5 0 0,0 11.65,2A1.5,1.5 0 0,0 10.15,3.5V7.18L17.97,15L21.15,16V14L13.15,9Z\";\r\nexport var mdiAirplaneTakeoff = \"M2.5,19H21.5V21H2.5V19M22.07,9.64C21.86,8.84 21.03,8.36 20.23,8.58L14.92,10L8,3.57L6.09,4.08L10.23,11.25L5.26,12.58L3.29,11.04L1.84,11.43L3.66,14.59L4.43,15.92L6.03,15.5L11.34,14.07L15.69,12.91L21,11.5C21.81,11.26 22.28,10.44 22.07,9.64Z\";\r\nexport var mdiAirport = \"M14.97,5.92C14.83,5.41 14.3,5.1 13.79,5.24L10.39,6.15L5.95,2.03L4.72,2.36L7.38,6.95L4.19,7.8L2.93,6.82L2,7.07L3.66,9.95L14.28,7.11C14.8,6.96 15.1,6.43 14.97,5.92M21,10L20,12H15L14,10L15,9H17V7H18V9H20L21,10M22,20V22H2V20H15V13H20V20H22Z\";\r\nexport var mdiAlarm = \"M12,20A7,7 0 0,1 5,13A7,7 0 0,1 12,6A7,7 0 0,1 19,13A7,7 0 0,1 12,20M12,4A9,9 0 0,0 3,13A9,9 0 0,0 12,22A9,9 0 0,0 21,13A9,9 0 0,0 12,4M12.5,8H11V14L15.75,16.85L16.5,15.62L12.5,13.25V8M7.88,3.39L6.6,1.86L2,5.71L3.29,7.24L7.88,3.39M22,5.72L17.4,1.86L16.11,3.39L20.71,7.25L22,5.72Z\";\r\nexport var mdiAlarmBell = \"M15,18.66V22H5V18.66C8.09,20.45 11.91,20.45 15,18.66M22,4A2,2 0 0,0 20,2C19.69,2 19.39,2.07 19.12,2.21C18.82,2.36 18.56,2.58 18.36,2.85C17.72,3.75 17.94,5 18.85,5.64C19.18,5.87 19.59,6 20,6C20.08,6 20.16,6 20.24,6C21.97,10.43 20.66,15.46 17,18.5C16.68,18.75 16.35,19 16,19.22V21H17V19.74C20.14,17.5 22,13.86 22,10C22,8.5 21.72,7 21.17,5.62C21.69,5.24 22,4.64 22,4M18,10A8,8 0 0,1 10,18A8,8 0 0,1 2,10A8,8 0 0,1 10,2A8,8 0 0,1 18,10Z\";\r\nexport var mdiAlarmCheck = \"M10.54,14.53L8.41,12.4L7.35,13.46L10.53,16.64L16.53,10.64L15.47,9.58L10.54,14.53M12,20A7,7 0 0,1 5,13A7,7 0 0,1 12,6A7,7 0 0,1 19,13A7,7 0 0,1 12,20M12,4A9,9 0 0,0 3,13A9,9 0 0,0 12,22A9,9 0 0,0 21,13A9,9 0 0,0 12,4M7.88,3.39L6.6,1.86L2,5.71L3.29,7.24L7.88,3.39M22,5.72L17.4,1.86L16.11,3.39L20.71,7.25L22,5.72Z\";\r\nexport var mdiAlarmLight = \"M6,6.9L3.87,4.78L5.28,3.37L7.4,5.5L6,6.9M13,1V4H11V1H13M20.13,4.78L18,6.9L16.6,5.5L18.72,3.37L20.13,4.78M4.5,10.5V12.5H1.5V10.5H4.5M19.5,10.5H22.5V12.5H19.5V10.5M6,20H18A2,2 0 0,1 20,22H4A2,2 0 0,1 6,20M12,5A6,6 0 0,1 18,11V19H6V11A6,6 0 0,1 12,5Z\";\r\nexport var mdiAlarmLightOff = \"M18 14.8L9 5.8C9.9 5.3 10.9 5 12 5C15.3 5 18 7.7 18 11V14.8M20.1 4.8L18.7 3.4L16.6 5.5L18 6.9L20.1 4.8M19.5 10.5V12.5H22.5V10.5H19.5M4.5 10.5H1.5V12.5H4.5V10.5M1.1 3L6.6 8.5C6.2 9.2 6 10.1 6 11V19H17.1L18.1 20H6C4.9 20 4 20.9 4 22H20.1L20.8 22.7L22.1 21.4L2.4 1.7L1.1 3M13 1H11V4H13V1Z\";\r\nexport var mdiAlarmLightOffOutline = \"M10.5 7.3L9 5.8C9.9 5.3 10.9 5 12 5C15.3 5 18 7.7 18 11V14.8L16 12.8V11C16 8.8 14.2 7 12 7C11.5 7 11 7.1 10.5 7.3M20.1 4.8L18.7 3.4L16.6 5.5L18 6.9L20.1 4.8M19.5 10.5V12.5H22.5V10.5H19.5M4.5 10.5H1.5V12.5H4.5V10.5M2.4 1.7L22.1 21.4L20.8 22.7L20.1 22H4C4 20.9 4.9 20 6 20H18.1L17.1 19H6V11C6 10.1 6.2 9.2 6.6 8.5L1.1 3L2.4 1.7M8 17H15.1L8.1 10C8.1 10.3 8 10.7 8 11V17M13 1H11V4H13V1Z\";\r\nexport var mdiAlarmLightOutline = \"M6,6.9L3.87,4.78L5.28,3.37L7.4,5.5L6,6.9M13,1V4H11V1H13M20.13,4.78L18,6.9L16.6,5.5L18.72,3.37L20.13,4.78M4.5,10.5V12.5H1.5V10.5H4.5M19.5,10.5H22.5V12.5H19.5V10.5M6,20H18A2,2 0 0,1 20,22H4A2,2 0 0,1 6,20M12,5A6,6 0 0,1 18,11V19H6V11A6,6 0 0,1 12,5M12,7A4,4 0 0,0 8,11V17H16V11A4,4 0 0,0 12,7Z\";\r\nexport var mdiAlarmMultiple = \"M9.29,3.25L5.16,6.72L4,5.34L8.14,1.87L9.29,3.25M22,5.35L20.84,6.73L16.7,3.25L17.86,1.87L22,5.35M13,4A8,8 0 0,1 21,12A8,8 0 0,1 13,20A8,8 0 0,1 5,12A8,8 0 0,1 13,4M13,6A6,6 0 0,0 7,12A6,6 0 0,0 13,18A6,6 0 0,0 19,12A6,6 0 0,0 13,6M12,7.5H13.5V12.03L16.72,13.5L16.1,14.86L12,13V7.5M1,14C1,11.5 2.13,9.3 3.91,7.83C3.33,9.1 3,10.5 3,12L3.06,13.13L3,14C3,16.28 4.27,18.26 6.14,19.28C7.44,20.5 9.07,21.39 10.89,21.78C10.28,21.92 9.65,22 9,22A8,8 0 0,1 1,14Z\";\r\nexport var mdiAlarmNote = \"M17.4,1.86L16.11,3.39L20.71,7.25L22,5.72L17.4,1.86M6.6,1.86L2,5.71L3.29,7.24L7.88,3.39L6.6,1.86M12,4A9,9 0 0,0 3,13A9,9 0 0,0 12,22C12.33,22 12.67,22 13,21.94V19.94C12.67,20 12.33,20 12,20A7,7 0 0,1 5,13A7,7 0 0,1 12,6C15.1,6 17.83,8.03 18.71,11H20.78C19.85,6.9 16.2,4 12,4M23,15H20V20.5A2.5,2.5 0 0,1 17.5,23A2.5,2.5 0 0,1 15,20.5A2.5,2.5 0 0,1 17.5,18C18.04,18 18.57,18.18 19,18.5V13H23V15M11.5,8V13.25L7.5,15.62L8.25,16.85L13,14V8H11.5Z\";\r\nexport var mdiAlarmNoteOff = \"M19,13V15.8L20,16.8V15H23V13H19M2.38,1.73L1.11,3L3,4.88L2,5.71L3.29,7.24L4.41,6.3L5.21,7.1C1.95,10.85 2.35,16.54 6.11,19.8C7.74,21.22 9.83,22 12,22C12.33,22 12.67,22 13,21.94V19.94C12.67,20 12.33,20 12,20A7,7 0 0,1 5,13C5,11.36 5.57,9.77 6.63,8.5L11.41,13.3L7.5,15.62L8.25,16.85L12.44,14.33L16.38,18.27C15.14,18.88 14.64,20.38 15.25,21.62C15.86,22.86 17.36,23.36 18.6,22.75C19.09,22.5 19.5,22.11 19.73,21.62L20.84,22.73L22.11,21.46L2.38,1.73M12,6C15.1,6 17.83,8.03 18.71,11H20.78C19.85,6.9 16.2,4 12,4C10.65,4 9.31,4.3 8.1,4.9L9.62,6.42C10.38,6.14 11.19,6 12,6M11.5,8.3L13,9.8V8H11.5V8.3M7.88,3.39L6.6,1.86L5.76,2.56L7.18,4L7.88,3.39M17.4,1.86L16.11,3.39L20.71,7.25L22,5.72L17.4,1.86Z\";\r\nexport var mdiAlarmOff = \"M8,3.28L6.6,1.86L5.74,2.57L7.16,4M16.47,18.39C15.26,19.39 13.7,20 12,20A7,7 0 0,1 5,13C5,11.3 5.61,9.74 6.61,8.53M2.92,2.29L1.65,3.57L3,4.9L1.87,5.83L3.29,7.25L4.4,6.31L5.2,7.11C3.83,8.69 3,10.75 3,13A9,9 0 0,0 12,22C14.25,22 16.31,21.17 17.89,19.8L20.09,22L21.36,20.73L3.89,3.27L2.92,2.29M22,5.72L17.4,1.86L16.11,3.39L20.71,7.25L22,5.72M12,6A7,7 0 0,1 19,13C19,13.84 18.84,14.65 18.57,15.4L20.09,16.92C20.67,15.73 21,14.41 21,13A9,9 0 0,0 12,4C10.59,4 9.27,4.33 8.08,4.91L9.6,6.43C10.35,6.16 11.16,6 12,6Z\";\r\nexport var mdiAlarmPanel = \"M20 3H4C2.9 3 2 3.9 2 5V19C2 20.1 2.9 21 4 21H20C21.1 21 22 20.1 22 19V5C22 3.9 21.1 3 20 3M8 19H5V17H8V19M8 16H5V14H8V16M8 13H5V11H8V13M13.5 19H10.5V17H13.5V19M13.5 16H10.5V14H13.5V16M13.5 13H10.5V11H13.5V13M19 19H16V17H19V19M19 16H16V14H19V16M19 13H16V11H19V13M19 9H5V5H19V9Z\";\r\nexport var mdiAlarmPanelOutline = \"M9 12H6V10H9V12M13.5 10H10.5V12H13.5V10M18 10H15V12H18V10M18 6H6V9H18V6M20 5H4L4 19L20 19L20 5L20 5M20 3C21.1 3 22 3.9 22 5V19C22 20.1 21.1 21 20 21H4C2.9 21 2 20.1 2 19V5C2 3.9 2.9 3 4 3H20M9 13H6V15H9V13M13.5 13H10.5V15H13.5V13M18 13H15V15H18V13M9 16H6V18H9V16M13.5 16H10.5V18H13.5V16M18 16H15V18H18V16Z\";\r\nexport var mdiAlarmPlus = \"M13,9H11V12H8V14H11V17H13V14H16V12H13M12,20A7,7 0 0,1 5,13A7,7 0 0,1 12,6A7,7 0 0,1 19,13A7,7 0 0,1 12,20M12,4A9,9 0 0,0 3,13A9,9 0 0,0 12,22A9,9 0 0,0 21,13A9,9 0 0,0 12,4M22,5.72L17.4,1.86L16.11,3.39L20.71,7.25M7.88,3.39L6.6,1.86L2,5.71L3.29,7.24L7.88,3.39Z\";\r\nexport var mdiAlarmSnooze = \"M7.88,3.39L6.6,1.86L2,5.71L3.29,7.24L7.88,3.39M22,5.72L17.4,1.86L16.11,3.39L20.71,7.25L22,5.72M12,4A9,9 0 0,0 3,13A9,9 0 0,0 12,22A9,9 0 0,0 21,13A9,9 0 0,0 12,4M12,20A7,7 0 0,1 5,13A7,7 0 0,1 12,6A7,7 0 0,1 19,13A7,7 0 0,1 12,20M9,11H12.63L9,15.2V17H15V15H11.37L15,10.8V9H9V11Z\";\r\nexport var mdiAlbum = \"M12,11A1,1 0 0,0 11,12A1,1 0 0,0 12,13A1,1 0 0,0 13,12A1,1 0 0,0 12,11M12,16.5C9.5,16.5 7.5,14.5 7.5,12C7.5,9.5 9.5,7.5 12,7.5C14.5,7.5 16.5,9.5 16.5,12C16.5,14.5 14.5,16.5 12,16.5M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiAlert = \"M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z\";\r\nexport var mdiAlertBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M13,13V7H11V13H13M13,17V15H11V17H13Z\";\r\nexport var mdiAlertBoxOutline = \"M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M11,15H13V17H11V15M11,7H13V13H11V7\";\r\nexport var mdiAlertCircle = \"M13,13H11V7H13M13,17H11V15H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiAlertCircleCheck = \"M18.75 22.16L16 19.16L17.16 18L18.75 19.59L22.34 16L23.5 17.41L18.75 22.16M13 13V7H11V13H13M13 17V15H11V17H13M12 2C17.5 2 22 6.5 22 12L21.91 13.31C21.31 13.11 20.67 13 20 13C16.69 13 14 15.69 14 19C14 19.95 14.22 20.85 14.62 21.65C13.78 21.88 12.91 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2Z\";\r\nexport var mdiAlertCircleCheckOutline = \"M18.75 22.16L16 19.16L17.16 18L18.75 19.59L22.34 16L23.5 17.41L18.75 22.16M11 15H13V17H11V15M11 7H13V13H11V7M12 2C17.5 2 22 6.5 22 12L21.92 13.31C21.31 13.11 20.67 13 19.94 13L20 12C20 7.58 16.42 4 12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C12.71 20 13.39 19.91 14.05 19.74C14.13 20.42 14.33 21.06 14.62 21.65C13.78 21.88 12.9 22 12 22C6.47 22 2 17.5 2 12C2 6.5 6.47 2 12 2Z\";\r\nexport var mdiAlertCircleOutline = \"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z\";\r\nexport var mdiAlertDecagram = \"M23,12L20.56,9.22L20.9,5.54L17.29,4.72L15.4,1.54L12,3L8.6,1.54L6.71,4.72L3.1,5.53L3.44,9.21L1,12L3.44,14.78L3.1,18.47L6.71,19.29L8.6,22.47L12,21L15.4,22.46L17.29,19.28L20.9,18.46L20.56,14.78L23,12M13,17H11V15H13V17M13,13H11V7H13V13Z\";\r\nexport var mdiAlertDecagramOutline = \"M23,12L20.56,14.78L20.9,18.46L17.29,19.28L15.4,22.46L12,21L8.6,22.47L6.71,19.29L3.1,18.47L3.44,14.78L1,12L3.44,9.21L3.1,5.53L6.71,4.72L8.6,1.54L12,3L15.4,1.54L17.29,4.72L20.9,5.54L20.56,9.22L23,12M20.33,12L18.5,9.89L18.74,7.1L16,6.5L14.58,4.07L12,5.18L9.42,4.07L8,6.5L5.26,7.09L5.5,9.88L3.67,12L5.5,14.1L5.26,16.9L8,17.5L9.42,19.93L12,18.81L14.58,19.92L16,17.5L18.74,16.89L18.5,14.1L20.33,12M11,15H13V17H11V15M11,7H13V13H11V7\";\r\nexport var mdiAlertMinus = \"M14 19C14 16.21 15.91 13.87 18.5 13.2L12 2L1 21H14.35C14.13 20.37 14 19.7 14 19M13 18H11V16H13V18M13 14H11V10H13V14M24 18V20H16V18H24Z\";\r\nexport var mdiAlertMinusOutline = \"M11 15.5H13V17.5H11V15.5M14 19C14 18.86 14 18.73 14 18.6H5.4L12 7.3L16.11 14.44C16.62 14 17.2 13.65 17.84 13.41L12 3.3L2 20.6H14.22C14.08 20.09 14 19.56 14 19M13 10.5H11V14.5H13V10.5M16 18V20H24V18H16Z\";\r\nexport var mdiAlertOctagon = \"M13 13H11V7H13M11 15H13V17H11M15.73 3H8.27L3 8.27V15.73L8.27 21H15.73L21 15.73V8.27L15.73 3Z\";\r\nexport var mdiAlertOctagonOutline = \"M8.27,3L3,8.27V15.73L8.27,21H15.73C17.5,19.24 21,15.73 21,15.73V8.27L15.73,3M9.1,5H14.9L19,9.1V14.9L14.9,19H9.1L5,14.9V9.1M11,15H13V17H11V15M11,7H13V13H11V7\";\r\nexport var mdiAlertOctagram = \"M2.2,16.06L3.88,12L2.2,7.94L6.26,6.26L7.94,2.2L12,3.88L16.06,2.2L17.74,6.26L21.8,7.94L20.12,12L21.8,16.06L17.74,17.74L16.06,21.8L12,20.12L7.94,21.8L6.26,17.74L2.2,16.06M13,17V15H11V17H13M13,13V7H11V13H13Z\";\r\nexport var mdiAlertOctagramOutline = \"M2.2,16.06L3.88,12L2.2,7.94L6.26,6.26L7.94,2.2L12,3.88L16.06,2.2L17.74,6.26L21.8,7.94L20.12,12L21.8,16.06L17.74,17.74L16.06,21.8L12,20.12L7.94,21.8L6.26,17.74L2.2,16.06M4.81,9L6.05,12L4.81,15L7.79,16.21L9,19.19L12,17.95L15,19.19L16.21,16.21L19.19,15L17.95,12L19.19,9L16.21,7.79L15,4.81L12,6.05L9,4.81L7.79,7.79L4.81,9M11,15H13V17H11V15M11,7H13V13H11V7\";\r\nexport var mdiAlertOutline = \"M12,2L1,21H23M12,6L19.53,19H4.47M11,10V14H13V10M11,16V18H13V16\";\r\nexport var mdiAlertPlus = \"M14 19C14 16.21 15.91 13.87 18.5 13.2L12 2L1 21H14.35C14.13 20.37 14 19.7 14 19M13 18H11V16H13V18M13 14H11V10H13V14M21 15V18H24V20H21V23H19V20H16V18H19V15H21Z\";\r\nexport var mdiAlertPlusOutline = \"M11 15.5H13V17.5H11V15.5M14 19C14 18.86 14 18.73 14 18.6H5.4L12 7.3L16.11 14.44C16.62 14 17.2 13.65 17.84 13.41L12 3.3L2 20.6H14.22C14.08 20.09 14 19.56 14 19M13 10.5H11V14.5H13V10.5M19 15V18H16V20H19V23H21V20H24V18H21V15H19Z\";\r\nexport var mdiAlertRemove = \"M14 19C14 16.21 15.91 13.87 18.5 13.2L12 2L1 21H14.35C14.13 20.37 14 19.7 14 19M13 18H11V16H13V18M13 14H11V10H13V14M23.54 16.88L21.41 19L23.54 21.12L22.12 22.54L20 20.41L17.88 22.54L16.47 21.12L18.59 19L16.47 16.88L17.88 15.47L20 17.59L22.12 15.46L23.54 16.88Z\";\r\nexport var mdiAlertRemoveOutline = \"M11 15.5H13V17.5H11V15.5M14 19C14 18.86 14 18.73 14 18.6H5.4L12 7.3L16.11 14.44C16.62 14 17.2 13.65 17.84 13.41L12 3.3L2 20.6H14.22C14.08 20.09 14 19.56 14 19M13 10.5H11V14.5H13V10.5M22.12 15.46L20 17.59L17.88 15.46L16.47 16.88L18.59 19L16.47 21.12L17.88 22.54L20 20.41L22.12 22.54L23.54 21.12L21.41 19L23.54 16.88L22.12 15.46Z\";\r\nexport var mdiAlertRhombus = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M11 7H13V13H11V7M11 15H13V17H11V15Z\";\r\nexport var mdiAlertRhombusOutline = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M12 4L20 12L12 20L4 12M11 7V13H13V7M11 15V17H13V15Z\";\r\nexport var mdiAlien = \"M12,3C16.97,3 21,6.58 21,11C21,15.42 15,21 12,21C9,21 3,15.42 3,11C3,6.58 7.03,3 12,3M10.31,10.93C9.29,9.29 7.47,8.58 6.25,9.34C5.03,10.1 4.87,12.05 5.89,13.69C6.92,15.33 8.74,16.04 9.96,15.28C11.18,14.5 11.33,12.57 10.31,10.93M13.69,10.93C12.67,12.57 12.82,14.5 14.04,15.28C15.26,16.04 17.08,15.33 18.11,13.69C19.13,12.05 18.97,10.1 17.75,9.34C16.53,8.58 14.71,9.29 13.69,10.93M12,17.75C10,17.75 9.5,17 9.5,17C9.5,17.03 10,19 12,19C14,19 14.5,17 14.5,17C14.5,17 14,17.75 12,17.75Z\";\r\nexport var mdiAlienOutline = \"M10.31 10.93C11.33 12.57 11.18 14.5 9.96 15.28C8.74 16.04 6.92 15.33 5.89 13.69C4.87 12.05 5.03 10.1 6.25 9.34C7.47 8.58 9.29 9.29 10.31 10.93M12 17.75C14 17.75 14.5 17 14.5 17C14.5 17 14 19 12 19C10 19 9.5 17.03 9.5 17C9.5 17 10 17.75 12 17.75M17.75 9.34C18.97 10.1 19.13 12.05 18.11 13.69C17.08 15.33 15.26 16.04 14.04 15.28C12.82 14.5 12.67 12.57 13.69 10.93C14.71 9.29 16.53 8.58 17.75 9.34M12 20C14.5 20 20 14.86 20 11C20 7.14 16.41 4 12 4C7.59 4 4 7.14 4 11C4 14.86 9.5 20 12 20M12 2C17.5 2 22 6.04 22 11C22 15.08 16.32 22 12 22C7.68 22 2 15.08 2 11C2 6.04 6.5 2 12 2Z\";\r\nexport var mdiAlignHorizontalCenter = \"M20 19H13V22H11V19H4V13H11V11H7V5H11V2H13V5H17V11H13V13H20V19Z\";\r\nexport var mdiAlignHorizontalLeft = \"M22 13V19H6V13H22M6 5V11H16V5H6M2 2V22H4V2H2\";\r\nexport var mdiAlignHorizontalRight = \"M18 13V19H2V13H18M8 5V11H18V5H8M20 2V22H22V2H20Z\";\r\nexport var mdiAlignVerticalBottom = \"M11 18H5V2H11V18M19 8H13V18H19V8M22 20H2V22H22V20Z\";\r\nexport var mdiAlignVerticalCenter = \"M5 20V13H2V11H5V4H11V11H13V7H19V11H22V13H19V17H13V13H11V20H5Z\";\r\nexport var mdiAlignVerticalTop = \"M11 22H5V6H11V22M19 6H13V16H19V6M22 2H2V4H22V2Z\";\r\nexport var mdiAllInclusive = \"M18.6,6.62C17.16,6.62 15.8,7.18 14.83,8.15L7.8,14.39C7.16,15.03 6.31,15.38 5.4,15.38C3.53,15.38 2,13.87 2,12C2,10.13 3.53,8.62 5.4,8.62C6.31,8.62 7.16,8.97 7.84,9.65L8.97,10.65L10.5,9.31L9.22,8.2C8.2,7.18 6.84,6.62 5.4,6.62C2.42,6.62 0,9.04 0,12C0,14.96 2.42,17.38 5.4,17.38C6.84,17.38 8.2,16.82 9.17,15.85L16.2,9.61C16.84,8.97 17.69,8.62 18.6,8.62C20.47,8.62 22,10.13 22,12C22,13.87 20.47,15.38 18.6,15.38C17.7,15.38 16.84,15.03 16.16,14.35L15,13.34L13.5,14.68L14.78,15.8C15.8,16.81 17.15,17.37 18.6,17.37C21.58,17.37 24,14.96 24,12C24,9 21.58,6.62 18.6,6.62Z\";\r\nexport var mdiAllergy = \"M19.75 5.33A1.25 1.25 0 0 0 18.5 6.58V11.17H17.67V4.08A1.25 1.25 0 0 0 15.17 4.08V11.17H14.33V3.25A1.25 1.25 0 1 0 11.83 3.25V11.17H11V5.33A1.25 1.25 0 0 0 8.5 5.33V15.26L4.91 13.26A1 1 0 0 0 4.41 13.12A1 1 0 0 0 3.75 13.37L2.67 14.37L9.21 21A3.29 3.29 0 0 0 11.58 22H17.67A3.33 3.33 0 0 0 21 18.67V6.58A1.25 1.25 0 0 0 19.75 5.33M11 15A1 1 0 1 1 12 14A1 1 0 0 1 11 15M13 18A1 1 0 1 1 14 17A1 1 0 0 1 13 18M18 16A1 1 0 1 1 19 15A1 1 0 0 1 18 16M17 19A1 1 0 1 1 18 18A1 1 0 0 1 17 19M15 15A1 1 0 1 1 16 14A1 1 0 0 1 15 15Z\";\r\nexport var mdiAlpha = \"M18.08,17.8C17.62,17.93 17.21,18 16.85,18C15.65,18 14.84,17.12 14.43,15.35H14.38C13.39,17.26 12,18.21 10.25,18.21C8.94,18.21 7.89,17.72 7.1,16.73C6.31,15.74 5.92,14.5 5.92,13C5.92,11.25 6.37,9.85 7.26,8.76C8.15,7.67 9.36,7.12 10.89,7.12C11.71,7.12 12.45,7.35 13.09,7.8C13.73,8.26 14.22,8.9 14.56,9.73H14.6L15.31,7.33H17.87L15.73,12.65C15.97,13.89 16.22,14.74 16.5,15.19C16.74,15.64 17.08,15.87 17.5,15.87C17.74,15.87 17.93,15.83 18.1,15.76L18.08,17.8M13.82,12.56C13.61,11.43 13.27,10.55 12.81,9.95C12.36,9.34 11.81,9.04 11.18,9.04C10.36,9.04 9.7,9.41 9.21,10.14C8.72,10.88 8.5,11.79 8.5,12.86C8.5,13.84 8.69,14.65 9.12,15.31C9.54,15.97 10.11,16.29 10.82,16.29C11.42,16.29 11.97,16 12.46,15.45C12.96,14.88 13.37,14.05 13.7,12.96L13.82,12.56Z\";\r\nexport var mdiAlphaA = \"M11,7A2,2 0 0,0 9,9V17H11V13H13V17H15V9A2,2 0 0,0 13,7H11M11,9H13V11H11V9Z\";\r\nexport var mdiAlphaABox = \"M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M11,7A2,2 0 0,0 9,9V17H11V13H13V17H15V9A2,2 0 0,0 13,7H11M11,9H13V11H11V9Z\";\r\nexport var mdiAlphaABoxOutline = \"M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M5,5V19H19V5H5M11,7H13A2,2 0 0,1 15,9V17H13V13H11V17H9V9A2,2 0 0,1 11,7M11,9V11H13V9H11Z\";\r\nexport var mdiAlphaACircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M11,7A2,2 0 0,0 9,9V17H11V13H13V17H15V9A2,2 0 0,0 13,7H11M11,9H13V11H11V9Z\";\r\nexport var mdiAlphaACircleOutline = \"M11,7H13A2,2 0 0,1 15,9V17H13V13H11V17H9V9A2,2 0 0,1 11,7M11,9V11H13V9H11M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaB = \"M15,10.5V9A2,2 0 0,0 13,7H9V17H13A2,2 0 0,0 15,15V13.5C15,12.7 14.3,12 13.5,12C14.3,12 15,11.3 15,10.5M13,15H11V13H13V15M13,11H11V9H13V11Z\";\r\nexport var mdiAlphaBBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M15,10.5V9A2,2 0 0,0 13,7H9V17H13A2,2 0 0,0 15,15V13.5C15,12.7 14.3,12 13.5,12C14.3,12 15,11.3 15,10.5M13,15H11V13H13V15M13,11H11V9H13V11Z\";\r\nexport var mdiAlphaBBoxOutline = \"M15,10.5C15,11.3 14.3,12 13.5,12C14.3,12 15,12.7 15,13.5V15A2,2 0 0,1 13,17H9V7H13A2,2 0 0,1 15,9V10.5M13,15V13H11V15H13M13,11V9H11V11H13M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaBCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M15,10.5V9A2,2 0 0,0 13,7H9V17H13A2,2 0 0,0 15,15V13.5C15,12.7 14.3,12 13.5,12C14.3,12 15,11.3 15,10.5M13,15H11V13H13V15M13,11H11V9H13V11Z\";\r\nexport var mdiAlphaBCircleOutline = \"M15,10.5C15,11.3 14.3,12 13.5,12C14.3,12 15,12.7 15,13.5V15A2,2 0 0,1 13,17H9V7H13A2,2 0 0,1 15,9V10.5M13,15V13H11V15H13M13,11V9H11V11H13M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaC = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V14H13V15H11V9H13V10H15V9A2,2 0 0,0 13,7H11Z\";\r\nexport var mdiAlphaCBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V14H13V15H11V9H13V10H15V9A2,2 0 0,0 13,7H11Z\";\r\nexport var mdiAlphaCBoxOutline = \"M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M5,5V19H19V5H5M11,7H13A2,2 0 0,1 15,9V10H13V9H11V15H13V14H15V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7Z\";\r\nexport var mdiAlphaCCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V14H13V15H11V9H13V10H15V9A2,2 0 0,0 13,7H11Z\";\r\nexport var mdiAlphaCCircleOutline = \"M11,7H13A2,2 0 0,1 15,9V10H13V9H11V15H13V14H15V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaD = \"M9,7V17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H9M11,9H13V15H11V9Z\";\r\nexport var mdiAlphaDBox = \"M9,7V17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H9M11,9H13V15H11V9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaDBoxOutline = \"M9,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17H9V7M11,9V15H13V9H11M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaDCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M9,7V17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H9M11,9H13V15H11V9Z\";\r\nexport var mdiAlphaDCircleOutline = \"M9,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17H9V7M11,9V15H13V9H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaE = \"M9,7V17H15V15H11V13H15V11H11V9H15V7H9Z\";\r\nexport var mdiAlphaEBox = \"M9,7V17H15V15H11V13H15V11H11V9H15V7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaEBoxOutline = \"M9,7H15V9H11V11H15V13H11V15H15V17H9V7M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaECircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M9,7V17H15V15H11V13H15V11H11V9H15V7H9Z\";\r\nexport var mdiAlphaECircleOutline = \"M9,7H15V9H11V11H15V13H11V15H15V17H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaF = \"M9,7V17H11V13H14V11H11V9H15V7H9Z\";\r\nexport var mdiAlphaFBox = \"M9,7V17H11V13H14V11H11V9H15V7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaFBoxOutline = \"M9,7H15V9H11V11H14V13H11V17H9V7M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaFCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M9,7V17H11V13H14V11H11V9H15V7H9Z\";\r\nexport var mdiAlphaFCircleOutline = \"M9,7H15V9H11V11H14V13H11V17H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaG = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V11H13V15H11V9H15V7H11Z\";\r\nexport var mdiAlphaGBox = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V11H13V15H11V9H15V7H11M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaGBoxOutline = \"M11,7H15V9H11V15H13V11H15V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaGCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V11H13V15H11V9H15V7H11Z\";\r\nexport var mdiAlphaGCircleOutline = \"M11,7H15V9H11V15H13V11H15V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaH = \"M9,7V17H11V13H13V17H15V7H13V11H11V7H9Z\";\r\nexport var mdiAlphaHBox = \"M9,7V17H11V13H13V17H15V7H13V11H11V7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaHBoxOutline = \"M9,7H11V11H13V7H15V17H13V13H11V17H9V7M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaHCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M9,7V17H11V13H13V17H15V7H13V11H11V7H9Z\";\r\nexport var mdiAlphaHCircleOutline = \"M9,7H11V11H13V7H15V17H13V13H11V17H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaI = \"M14,7V9H13V15H14V17H10V15H11V9H10V7H14Z\";\r\nexport var mdiAlphaIBox = \"M14,7H10V9H11V15H10V17H14V15H13V9H14V7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaIBoxOutline = \"M14,7V9H13V15H14V17H10V15H11V9H10V7H14M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaICircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M14,7H10V9H11V15H10V17H14V15H13V9H14V7Z\";\r\nexport var mdiAlphaICircleOutline = \"M14,7V9H13V15H14V17H10V15H11V9H10V7H14M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaJ = \"M13,7V15H11V14H9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V7H13Z\";\r\nexport var mdiAlphaJBox = \"M13,7V15H11V14H9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V7H13M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaJBoxOutline = \"M13,7H15V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V14H11V15H13V7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaJCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M13,7V15H11V14H9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V7H13Z\";\r\nexport var mdiAlphaJCircleOutline = \"M13,7H15V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V14H11V15H13V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaK = \"M9,7V17H11V13.67L13,17H15L12,12L15,7H13L11,10.33V7H9Z\";\r\nexport var mdiAlphaKBox = \"M9,7V17H11V13.67L13,17H15L12,12L15,7H13L11,10.33V7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaKBoxOutline = \"M9,7H11V10.33L13,7H15L12,12L15,17H13L11,13.67V17H9V7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaKCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M9,7V17H11V13.67L13,17H15L12,12L15,7H13L11,10.33V7H9Z\";\r\nexport var mdiAlphaKCircleOutline = \"M9,7H11V10.33L13,7H15L12,12L15,17H13L11,13.67V17H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaL = \"M9,7V17H15V15H11V7H9Z\";\r\nexport var mdiAlphaLBox = \"M9,7V17H15V15H11V7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaLBoxOutline = \"M9,7H11V15H15V17H9V7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaLCircle = \"M9,7V17H15V15H11V7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaLCircleOutline = \"M9,7H11V15H15V17H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaM = \"M9,7A2,2 0 0,0 7,9V17H9V9H11V16H13V9H15V17H17V9A2,2 0 0,0 15,7H9Z\";\r\nexport var mdiAlphaMBox = \"M9,7A2,2 0 0,0 7,9V17H9V9H11V16H13V9H15V17H17V9A2,2 0 0,0 15,7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaMBoxOutline = \"M9,7H15A2,2 0 0,1 17,9V17H15V9H13V16H11V9H9V17H7V9A2,2 0 0,1 9,7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaMCircle = \"M9,7A2,2 0 0,0 7,9V17H9V9H11V16H13V9H15V17H17V9A2,2 0 0,0 15,7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaMCircleOutline = \"M9,7H15A2,2 0 0,1 17,9V17H15V9H13V16H11V9H9V17H7V9A2,2 0 0,1 9,7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaN = \"M9,7V17H11V12L13,17H15V7H13V12L11,7H9Z\";\r\nexport var mdiAlphaNBox = \"M9,7V17H11V12L13,17H15V7H13V12L11,7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaNBoxOutline = \"M9,7H11L13,12V7H15V17H13L11,12V17H9V7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaNCircle = \"M9,7V17H11V12L13,17H15V7H13V12L11,7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaNCircleOutline = \"M9,7H11L13,12V7H15V17H13L11,12V17H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaO = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9Z\";\r\nexport var mdiAlphaOBox = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaOBoxOutline = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5M11,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M11,9V15H13V9H11Z\";\r\nexport var mdiAlphaOCircle = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaOCircleOutline = \"M11,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M11,9V15H13V9H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaP = \"M9,7V17H11V13H13A2,2 0 0,0 15,11V9A2,2 0 0,0 13,7H9M11,9H13V11H11V9Z\";\r\nexport var mdiAlphaPBox = \"M9,7V17H11V13H13A2,2 0 0,0 15,11V9A2,2 0 0,0 13,7H9M11,9H13V11H11V9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaPBoxOutline = \"M9,7H13A2,2 0 0,1 15,9V11A2,2 0 0,1 13,13H11V17H9V7M11,9V11H13V9H11M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaPCircle = \"M9,7V17H11V13H13A2,2 0 0,0 15,11V9A2,2 0 0,0 13,7H9M11,9H13V11H11V9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaPCircleOutline = \"M9,7H13A2,2 0 0,1 15,9V11A2,2 0 0,1 13,13H11V17H9V7M11,9V11H13V9H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaQ = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17V19H13V17A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9Z\";\r\nexport var mdiAlphaQBox = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17V19H13V17A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9M5,4H19A2,2 0 0,1 21,6V20A2,2 0 0,1 19,22H5A2,2 0 0,1 3,20V6A2,2 0 0,1 5,4Z\";\r\nexport var mdiAlphaQBoxOutline = \"M5,4H19A2,2 0 0,1 21,6V20A2,2 0 0,1 19,22H5A2,2 0 0,1 3,20V6A2,2 0 0,1 5,4M5,6V20H19V6H5M11,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17V19H11V17A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M11,9V15H13V9H11Z\";\r\nexport var mdiAlphaQCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17V19H13V17A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9Z\";\r\nexport var mdiAlphaQCircleOutline = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4M11,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17V19H11V17A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M11,9V15H13V9H11Z\";\r\nexport var mdiAlphaR = \"M9,7V17H11V13H11.8L13,17H15L13.76,12.85C14.5,12.55 15,11.84 15,11V9A2,2 0 0,0 13,7H9M11,9H13V11H11V9Z\";\r\nexport var mdiAlphaRBox = \"M9,7V17H11V13H11.8L13,17H15L13.76,12.85C14.5,12.55 15,11.84 15,11V9A2,2 0 0,0 13,7H9M11,9H13V11H11V9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaRBoxOutline = \"M9,7H13A2,2 0 0,1 15,9V11C15,11.84 14.5,12.55 13.76,12.85L15,17H13L11.8,13H11V17H9V7M11,9V11H13V9H11M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaRCircle = \"M9,7V17H11V13H11.8L13,17H15L13.76,12.85C14.5,12.55 15,11.84 15,11V9A2,2 0 0,0 13,7H9M11,9H13V11H11V9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaRCircleOutline = \"M9,7H13A2,2 0 0,1 15,9V11C15,11.84 14.5,12.55 13.76,12.85L15,17H13L11.8,13H11V17H9V7M11,9V11H13V9H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12C4,16.41 7.58,20 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaS = \"M11,7A2,2 0 0,0 9,9V11A2,2 0 0,0 11,13H13V15H9V17H13A2,2 0 0,0 15,15V13A2,2 0 0,0 13,11H11V9H15V7H11Z\";\r\nexport var mdiAlphaSBox = \"M11,7A2,2 0 0,0 9,9V11A2,2 0 0,0 11,13H13V15H9V17H13A2,2 0 0,0 15,15V13A2,2 0 0,0 13,11H11V9H15V7H11M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaSBoxOutline = \"M11,7H15V9H11V11H13A2,2 0 0,1 15,13V15A2,2 0 0,1 13,17H9V15H13V13H11A2,2 0 0,1 9,11V9A2,2 0 0,1 11,7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaSCircle = \"M11,7A2,2 0 0,0 9,9V11A2,2 0 0,0 11,13H13V15H9V17H13A2,2 0 0,0 15,15V13A2,2 0 0,0 13,11H11V9H15V7H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaSCircleOutline = \"M11,7H15V9H11V11H13A2,2 0 0,1 15,13V15A2,2 0 0,1 13,17H9V15H13V13H11A2,2 0 0,1 9,11V9A2,2 0 0,1 11,7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaT = \"M9,7V9H11V17H13V9H15V7H9Z\";\r\nexport var mdiAlphaTBox = \"M9,7V9H11V17H13V9H15V7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaTBoxOutline = \"M9,7H15V9H13V17H11V9H9V7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaTCircle = \"M9,7V9H11V17H13V9H15V7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaTCircleOutline = \"M9,7H15V9H13V17H11V9H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaU = \"M9,7V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V7H13V15H11V7H9Z\";\r\nexport var mdiAlphaUBox = \"M9,7V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V7H13V15H11V7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaUBoxOutline = \"M9,7H11V15H13V7H15V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaUCircle = \"M9,7V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V7H13V15H11V7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaUCircleOutline = \"M9,7H11V15H13V7H15V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaV = \"M9,7L11,17H13L15,7H13L12,12L11,7H9Z\";\r\nexport var mdiAlphaVBox = \"M9,7L11,17H13L15,7H13L12,12L11,7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaVBoxOutline = \"M9,7H11L12,12L13,7H15L13,17H11L9,7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaVCircle = \"M9,7L11,17H13L15,7H13L12,12L11,7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaVCircleOutline = \"M9,7H11L12,12L13,7H15L13,17H11L9,7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaW = \"M9,17A2,2 0 0,1 7,15V7H9V15H11V8H13V15H15V7H17V15A2,2 0 0,1 15,17H9Z\";\r\nexport var mdiAlphaWBox = \"M9,17H15A2,2 0 0,0 17,15V7H15V15H13V8H11V15H9V7H7V15A2,2 0 0,0 9,17M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaWBoxOutline = \"M9,17A2,2 0 0,1 7,15V7H9V15H11V8H13V15H15V7H17V15A2,2 0 0,1 15,17H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaWCircle = \"M9,17H15A2,2 0 0,0 17,15V7H15V15H13V8H11V15H9V7H7V15A2,2 0 0,0 9,17M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaWCircleOutline = \"M9,17A2,2 0 0,1 7,15V7H9V15H11V8H13V15H15V7H17V15A2,2 0 0,1 15,17H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaX = \"M9,7L11,12L9,17H11L12,14.5L13,17H15L13,12L15,7H13L12,9.5L11,7H9Z\";\r\nexport var mdiAlphaXBox = \"M9,7L11,12L9,17H11L12,14.5L13,17H15L13,12L15,7H13L12,9.5L11,7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaXBoxOutline = \"M9,7H11L12,9.5L13,7H15L13,12L15,17H13L12,14.5L11,17H9L11,12L9,7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaXCircle = \"M9,7L11,12L9,17H11L12,14.5L13,17H15L13,12L15,7H13L12,9.5L11,7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaXCircleOutline = \"M9,7H11L12,9.5L13,7H15L13,12L15,17H13L12,14.5L11,17H9L11,12L9,7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaY = \"M9,7L11,13V17H13V13L15,7H13L12,10L11,7H9Z\";\r\nexport var mdiAlphaYBox = \"M9,7L11,13V17H13V13L15,7H13L12,10L11,7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaYBoxOutline = \"M9,7H11L12,10L13,7H15L13,13V17H11V13L9,7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaYCircle = \"M9,7L11,13V17H13V13L15,7H13L12,10L11,7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaYCircleOutline = \"M9,7H11L12,10L13,7H15L13,13V17H11V13L9,7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaZ = \"M9,7V9H13L9,15V17H15V15H11L15,9V7H9Z\";\r\nexport var mdiAlphaZBox = \"M9,7V9H13L9,15V17H15V15H11L15,9V7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaZBoxOutline = \"M9,7H15V9L11,15H15V17H9V15L13,9H9V7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaZCircle = \"M9,7V9H13L9,15V17H15V15H11L15,9V7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaZCircleOutline = \"M9,7H15V9L11,15H15V17H9V15L13,9H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphabetAurebesh = \"M3 4V11H14.23L22 4H19L13.46 9H5V4H3M3 13V20H5V15H13.46L19 20H22L14.23 13H3Z\";\r\nexport var mdiAlphabetCyrillic = \"M16 6C14.36 6 13 7.36 13 9V15C13 16.65 14.36 18 16 18H17C18.65 18 20 16.65 20 15V12C20 10.36 18.65 9 17 9H15C15 8.44 15.44 8 16 8H18C19.09 8 20 7.09 20 6M5 9V11H8C8.57 11 9 11.43 9 12H7C5.36 12 4 13.36 4 15C4 16.65 5.36 18 7 18H11V12C11 10.36 9.65 9 8 9M15 11H17C17.57 11 18 11.43 18 12V15C18 15.57 17.57 16 17 16H16C15.43 16 15 15.57 15 15M7 14H9V16H7C6.43 16 6 15.57 6 15C6 14.43 6.43 14 7 14Z\";\r\nexport var mdiAlphabetGreek = \"M16 6C14.36 6 13 7.36 13 9V21H15V9C15 8.43 15.43 8 16 8H17C17.57 8 18 8.43 18 9V10C18 10.57 17.57 11 17 11H16V13H17C17.57 13 18 13.43 18 14V15C18 15.57 17.57 16 17 16H16V18H17C18.65 18 20 16.65 20 15V14C20 13.18 19.59 12.46 19 12C19.59 11.54 20 10.82 20 10V9C20 7.36 18.65 6 17 6M7 9C5.36 9 4 10.36 4 12V15C4 16.65 5.36 18 7 18H7.7C8.2 18 8.65 17.81 9 17.5V18H11V9H9V9.5C8.65 9.19 8.2 9 7.7 9M7 11H8C8.57 11 9 11.43 9 12V15C9 15.57 8.57 16 8 16H7C6.43 16 6 15.57 6 15V12C6 11.43 6.43 11 7 11Z\";\r\nexport var mdiAlphabetLatin = \"M13 6V18H15V17.31C15.37 17.73 15.9 18 16.5 18H17C18.65 18 20 16.65 20 15V12C20 10.36 18.65 9 17 9H16.5C15.9 9 15.37 9.27 15 9.7V6M5 9V11H8C8.57 11 9 11.43 9 12H7C5.36 12 4 13.36 4 15C4 16.65 5.36 18 7 18H11V12C11 10.36 9.65 9 8 9M16 11H17C17.57 11 18 11.43 18 12V15C18 15.57 17.57 16 17 16H16C15.43 16 15 15.57 15 15V12C15 11.43 15.43 11 16 11M7 14H9V16H7C6.43 16 6 15.57 6 15C6 14.43 6.43 14 7 14Z\";\r\nexport var mdiAlphabetPiqad = \"M13.04 4L6.54 17.85C6.21 18.55 5.5 19 4.73 19H4V20H16C17.2 20 18.27 20.54 19 21.39H20C19.05 19.32 17 18 14.7 18H12C11.29 18 10.62 17.63 10.24 17.03C9.85 16.43 9.8 15.68 10.1 15.03L10.58 14H19V13H17.5C15.29 13 13.5 11.21 13.5 9C13.5 6.79 15.29 5 17.5 5H20V4Z\";\r\nexport var mdiAlphabetTengwar = \"M10 7L12.5 3H15L11 7H10M12.5 9C11.96 9 11.46 9.13 11 9.35V9H8V11H9V21H11V12.5C11 11.67 11.67 11 12.5 11C13.33 11 14 11.67 14 12.5V14.5C14 15.33 13.33 16 12.5 16H12V18H12.5C14.43 18 16 16.43 16 14.5V12.5C16 10.57 14.43 9 12.5 9Z\";\r\nexport var mdiAlphabetical = \"M6,11A2,2 0 0,1 8,13V17H4A2,2 0 0,1 2,15V13A2,2 0 0,1 4,11H6M4,13V15H6V13H4M20,13V15H22V17H20A2,2 0 0,1 18,15V13A2,2 0 0,1 20,11H22V13H20M12,7V11H14A2,2 0 0,1 16,13V15A2,2 0 0,1 14,17H12A2,2 0 0,1 10,15V7H12M12,15H14V13H12V15Z\";\r\nexport var mdiAlphabeticalOff = \"M22.11 21.46L16 15.31L14 13.31L13.65 13L10 9.34L2.39 1.73L1.11 3L10 11.89V15A2 2 0 0 0 12 17H14A1.92 1.92 0 0 0 14.89 16.78L20.84 22.73M12 15V13.89L13.11 15M16 12.78L14.22 11A2 2 0 0 1 16 12.78M20.2 17L18 14.8V13A2 2 0 0 1 20 11H22V13H20V15H22V17M6 11H4A2 2 0 0 0 2 13V15A2 2 0 0 0 4 17H8V13A2 2 0 0 0 6 11M6 15H4V13H6M12 8.8L10.2 7H12Z\";\r\nexport var mdiAlphabeticalVariant = \"M3 7A2 2 0 0 0 1 9V17H3V13H5V17H7V9A2 2 0 0 0 5 7H3M3 9H5V11H3M15 10.5V9A2 2 0 0 0 13 7H9V17H13A2 2 0 0 0 15 15V13.5A1.54 1.54 0 0 0 13.5 12A1.54 1.54 0 0 0 15 10.5M13 15H11V13H13V15M13 11H11V9H13M19 7A2 2 0 0 0 17 9V15A2 2 0 0 0 19 17H21A2 2 0 0 0 23 15V14H21V15H19V9H21V10H23V9A2 2 0 0 0 21 7Z\";\r\nexport var mdiAlphabeticalVariantOff = \"M12.2 9L10.2 7H13A2 2 0 0 1 15 9V10.5A1.47 1.47 0 0 1 14.64 11.44L13 9.8V9M23 10V9A2 2 0 0 0 21 7H19A2 2 0 0 0 17 9V13.8L20.2 17H21A2 2 0 0 0 23 15V14H21V15H19V9H21V10M15 14.35L22.11 21.46L20.84 22.73L14.46 16.35A2 2 0 0 1 13 17H9V10.89L7 8.89V17H5V13H3V17H1V9A2 2 0 0 1 3 7H5.12L1.12 3L2.39 1.73L9 8.34L11 10.34L11.66 11L15 14.34M5 9H3V11H5M13 14.89L11.11 13H11V15H13Z\";\r\nexport var mdiAltimeter = \"M7,3V5H17V3H7M9,7V9H15V7H9M2,7.96V16.04L6.03,12L2,7.96M22.03,7.96L18,12L22.03,16.04V7.96M7,11V13H17V11H7M9,15V17H15V15H9M7,19V21H17V19H7Z\";\r\nexport var mdiAmbulance = \"M18,18.5A1.5,1.5 0 0,0 19.5,17A1.5,1.5 0 0,0 18,15.5A1.5,1.5 0 0,0 16.5,17A1.5,1.5 0 0,0 18,18.5M19.5,9.5H17V12H21.46L19.5,9.5M6,18.5A1.5,1.5 0 0,0 7.5,17A1.5,1.5 0 0,0 6,15.5A1.5,1.5 0 0,0 4.5,17A1.5,1.5 0 0,0 6,18.5M20,8L23,12V17H21A3,3 0 0,1 18,20A3,3 0 0,1 15,17H9A3,3 0 0,1 6,20A3,3 0 0,1 3,17H1V6C1,4.89 1.89,4 3,4H17V8H20M8,6V9H5V11H8V14H10V11H13V9H10V6H8Z\";\r\nexport var mdiAmmunition = \"M14,22H10V21H14V22M13,10V7H11V10L10,11.5V20H14V11.5L13,10M12,2C12,2 11,3 11,5V6H13V5C13,5 13,3 12,2M8,22H4V21H8V22M7,10V7H5V10L4,11.5V20H8V11.5L7,10M6,2C6,2 5,3 5,5V6H7V5C7,5 7,3 6,2M20,22H16V21H20V22M19,10V7H17V10L16,11.5V20H20V11.5L19,10M18,2C18,2 17,3 17,5V6H19V5C19,5 19,3 18,2Z\";\r\nexport var mdiAmpersand = \"M4.4,16.5C4.4,15.6 4.7,14.7 5.2,13.9C5.7,13.1 6.7,12.2 8.2,11.2C7.3,10.1 6.8,9.3 6.5,8.7C6.1,8 6,7.4 6,6.7C6,5.2 6.4,4.1 7.3,3.2C8.2,2.3 9.4,2 10.9,2C12.2,2 13.3,2.4 14.2,3.2C15.1,4 15.5,5 15.5,6.1C15.5,6.9 15.3,7.6 14.9,8.3C14.5,9 13.8,9.7 12.8,10.4L11.4,11.5L15.7,16.7C16.3,15.5 16.6,14.3 16.6,12.8H18.8C18.8,15.1 18.3,17 17.2,18.5L20,21.8H17L15.7,20.3C15,20.9 14.3,21.3 13.4,21.6C12.5,21.9 11.6,22.1 10.7,22.1C8.8,22.1 7.3,21.6 6.1,20.6C5,19.5 4.4,18.2 4.4,16.5M10.7,20C12,20 13.2,19.5 14.3,18.5L9.6,12.8L9.2,13.1C7.7,14.2 7,15.3 7,16.5C7,17.6 7.3,18.4 8,19C8.7,19.6 9.5,20 10.7,20M8.5,6.7C8.5,7.6 9,8.6 10.1,9.9L11.7,8.8C12.3,8.4 12.7,8 12.9,7.6C13.1,7.2 13.2,6.7 13.2,6.2C13.2,5.6 13,5.1 12.5,4.7C12.1,4.3 11.5,4.1 10.8,4.1C10.1,4.1 9.5,4.3 9.1,4.8C8.7,5.3 8.5,5.9 8.5,6.7Z\";\r\nexport var mdiAmplifier = \"M10,2H14A1,1 0 0,1 15,3H21V21H19A1,1 0 0,1 18,22A1,1 0 0,1 17,21H7A1,1 0 0,1 6,22A1,1 0 0,1 5,21H3V3H9A1,1 0 0,1 10,2M5,5V9H19V5H5M7,6A1,1 0 0,1 8,7A1,1 0 0,1 7,8A1,1 0 0,1 6,7A1,1 0 0,1 7,6M12,6H14V7H12V6M15,6H16V8H15V6M17,6H18V8H17V6M12,11A4,4 0 0,0 8,15A4,4 0 0,0 12,19A4,4 0 0,0 16,15A4,4 0 0,0 12,11M10,6A1,1 0 0,1 11,7A1,1 0 0,1 10,8A1,1 0 0,1 9,7A1,1 0 0,1 10,6Z\";\r\nexport var mdiAmplifierOff = \"M22.1 21.5L2.4 1.7L1.1 3L3 4.9V21H5C5 21.6 5.4 22 6 22S7 21.6 7 21H17C17 21.6 17.4 22 18 22S19 21.6 19 21H19.1L20.8 22.7L22.1 21.5M5 9V6.9L7.1 9H5M12 19C9.8 19 8 17.2 8 15C8 13.6 8.7 12.4 9.8 11.7L15.3 17.2C14.6 18.3 13.4 19 12 19M14 6V7H12V6H14M10 6C10.6 6 11 6.4 11 7C11 7.2 10.9 7.4 10.8 7.6L9.4 6.2C9.6 6.1 9.8 6 10 6M8.2 5L6.2 3H9C9 2.4 9.4 2 10 2H14C14.6 2 15 2.4 15 3H21V17.8L12.2 9H19V5H8.2M16 6V8H15V6H16M18 6V8H17V6H18Z\";\r\nexport var mdiAnchor = \"M12 2A3 3 0 0 0 9 5A3 3 0 0 0 11 7.83V9H8V11H11V19.92C10.26 19.79 9.5 19.58 8.79 19.27C8.05 18.95 7.4 18.56 6.82 18.09C6.24 17.62 5.78 17.11 5.44 16.55L7 15L3 12V15C3 15.97 3.27 16.88 3.82 17.72C4.37 18.56 5.09 19.31 6 19.95C6.87 20.59 7.84 21.09 8.88 21.45C9.93 21.81 10.97 22 12 22C13.03 22 14.07 21.8 15.12 21.44C16.16 21.08 17.13 20.58 18 19.95C18.92 19.31 19.63 18.57 20.18 17.72C20.73 16.88 21 15.97 21 15V12L17 15L18.56 16.55C18.22 17.11 17.76 17.62 17.18 18.09C16.6 18.56 15.95 18.95 15.21 19.27C14.5 19.58 13.74 19.79 13 19.92V11H16V9H13V7.82A3 3 0 0 0 15 5A3 3 0 0 0 12 2M12 4A1 1 0 0 1 13 5A1 1 0 0 1 12 6A1 1 0 0 1 11 5A1 1 0 0 1 12 4Z\";\r\nexport var mdiAndroid = \"M16.61 15.15C16.15 15.15 15.77 14.78 15.77 14.32S16.15 13.5 16.61 13.5H16.61C17.07 13.5 17.45 13.86 17.45 14.32C17.45 14.78 17.07 15.15 16.61 15.15M7.41 15.15C6.95 15.15 6.57 14.78 6.57 14.32C6.57 13.86 6.95 13.5 7.41 13.5H7.41C7.87 13.5 8.24 13.86 8.24 14.32C8.24 14.78 7.87 15.15 7.41 15.15M16.91 10.14L18.58 7.26C18.67 7.09 18.61 6.88 18.45 6.79C18.28 6.69 18.07 6.75 18 6.92L16.29 9.83C14.95 9.22 13.5 8.9 12 8.91C10.47 8.91 9 9.24 7.73 9.82L6.04 6.91C5.95 6.74 5.74 6.68 5.57 6.78C5.4 6.87 5.35 7.08 5.44 7.25L7.1 10.13C4.25 11.69 2.29 14.58 2 18H22C21.72 14.59 19.77 11.7 16.91 10.14H16.91Z\";\r\nexport var mdiAndroidMessages = \"M20,20H7A2,2 0 0,1 5,18V8.94L2.23,5.64C2.09,5.47 2,5.24 2,5A1,1 0 0,1 3,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20M8.5,7A0.5,0.5 0 0,0 8,7.5V8.5A0.5,0.5 0 0,0 8.5,9H18.5A0.5,0.5 0 0,0 19,8.5V7.5A0.5,0.5 0 0,0 18.5,7H8.5M8.5,11A0.5,0.5 0 0,0 8,11.5V12.5A0.5,0.5 0 0,0 8.5,13H18.5A0.5,0.5 0 0,0 19,12.5V11.5A0.5,0.5 0 0,0 18.5,11H8.5M8.5,15A0.5,0.5 0 0,0 8,15.5V16.5A0.5,0.5 0 0,0 8.5,17H13.5A0.5,0.5 0 0,0 14,16.5V15.5A0.5,0.5 0 0,0 13.5,15H8.5Z\";\r\nexport var mdiAndroidStudio = \"M11,2H13V4H13.5A1.5,1.5 0 0,1 15,5.5V9L14.56,9.44L16.2,12.28C17.31,11.19 18,9.68 18,8H20C20,10.42 18.93,12.59 17.23,14.06L20.37,19.5L20.5,21.72L18.63,20.5L15.56,15.17C14.5,15.7 13.28,16 12,16C10.72,16 9.5,15.7 8.44,15.17L5.37,20.5L3.5,21.72L3.63,19.5L9.44,9.44L9,9V5.5A1.5,1.5 0 0,1 10.5,4H11V2M9.44,13.43C10.22,13.8 11.09,14 12,14C12.91,14 13.78,13.8 14.56,13.43L13.1,10.9H13.09C12.47,11.5 11.53,11.5 10.91,10.9H10.9L9.44,13.43M12,6A1,1 0 0,0 11,7A1,1 0 0,0 12,8A1,1 0 0,0 13,7A1,1 0 0,0 12,6Z\";\r\nexport var mdiAngleAcute = \"M20,19H4.09L14.18,4.43L15.82,5.57L11.28,12.13C12.89,12.96 14,14.62 14,16.54C14,16.7 14,16.85 13.97,17H20V19M7.91,17H11.96C12,16.85 12,16.7 12,16.54C12,15.28 11.24,14.22 10.14,13.78L7.91,17Z\";\r\nexport var mdiAngleObtuse = \"M21,19H9.31L4.07,5.36L5.93,4.64L8.96,12.5C9.5,12.29 10.09,12.17 10.71,12.17V12.17C13.38,12.17 15.56,14.34 15.58,17H21V19M10.69,17H13.58C13.56,15.42 12.3,14.17 10.71,14.17C10.34,14.17 10,14.24 9.67,14.36L10.69,17Z\";\r\nexport var mdiAngleRight = \"M5,4H7V11H13V17H20V19H5V4M7,17H11V13H7V17Z\";\r\nexport var mdiAngular = \"M12,2.5L20.84,5.65L19.5,17.35L12,21.5L4.5,17.35L3.16,5.65L12,2.5M12,4.6L6.47,17H8.53L9.64,14.22H14.34L15.45,17H17.5L12,4.6M13.62,12.5H10.39L12,8.63L13.62,12.5Z\";\r\nexport var mdiAngularjs = \"M12,2.5L20.84,5.65L19.5,17.35L12,21.5L4.5,17.35L3.16,5.65L12,2.5M12,4.5L5,7L6.08,16.22L12,19.5L17.92,16.22L19,7L12,4.5M12,5.72L16.58,16H14.87L13.94,13.72H10.04L9.12,16H7.41L12,5.72M13.34,12.3L12,9.07L10.66,12.3H13.34Z\";\r\nexport var mdiAnimation = \"M4,2C2.89,2 2,2.89 2,4V14H4V4H14V2H4M8,6C6.89,6 6,6.89 6,8V18H8V8H18V6H8M12,10C10.89,10 10,10.89 10,12V20C10,21.11 10.89,22 12,22H20C21.11,22 22,21.11 22,20V12C22,10.89 21.11,10 20,10H12Z\";\r\nexport var mdiAnimationOutline = \"M4,2A2,2 0 0,0 2,4V14H4V4H14V2H4M8,6A2,2 0 0,0 6,8V18H8V8H18V6H8M20,12V20H12V12H20M20,10H12A2,2 0 0,0 10,12V20A2,2 0 0,0 12,22H20A2,2 0 0,0 22,20V12A2,2 0 0,0 20,10Z\";\r\nexport var mdiAnimationPlay = \"M4,2H14V4H4V14H2V4C2,2.89 2.89,2 4,2M8,6H18V8H8V18H6V8C6,6.89 6.89,6 8,6M12,10H20C21.11,10 22,10.89 22,12V20C22,21.11 21.11,22 20,22H12C10.89,22 10,21.11 10,20V12C10,10.89 10.89,10 12,10M14,12V20L20,16L14,12Z\";\r\nexport var mdiAnimationPlayOutline = \"M4,2A2,2 0 0,0 2,4V14H4V4H14V2H4M8,6A2,2 0 0,0 6,8V18H8V8H18V6H8M20,12V20H12V12H20M20,10H12A2,2 0 0,0 10,12V20A2,2 0 0,0 12,22H20A2,2 0 0,0 22,20V12A2,2 0 0,0 20,10M14,13V19L18,16L14,13Z\";\r\nexport var mdiAnsible = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12C22 6.5 17.5 2 12 2M16.1 17C15.91 17 15.76 16.9 15.55 16.73L10.39 12.56L8.66 16.9H7.17L11.54 6.39C11.65 6.11 11.89 5.97 12.17 5.97C12.45 5.97 12.67 6.11 12.79 6.39L16.77 15.97C16.81 16.08 16.84 16.19 16.84 16.26C16.83 16.68 16.5 17 16.1 17M12.17 8.11L14.76 14.5L10.85 11.42L12.17 8.11Z\";\r\nexport var mdiAntenna = \"M12 7.5C12.69 7.5 13.27 7.73 13.76 8.2S14.5 9.27 14.5 10C14.5 11.05 14 11.81 13 12.28V21H11V12.28C10 11.81 9.5 11.05 9.5 10C9.5 9.27 9.76 8.67 10.24 8.2S11.31 7.5 12 7.5M16.69 5.3C17.94 6.55 18.61 8.11 18.7 10C18.7 11.8 18.03 13.38 16.69 14.72L15.5 13.5C16.5 12.59 17 11.42 17 10C17 8.67 16.5 7.5 15.5 6.5L16.69 5.3M6.09 4.08C4.5 5.67 3.7 7.64 3.7 10S4.5 14.3 6.09 15.89L4.92 17.11C3 15.08 2 12.7 2 10C2 7.3 3 4.94 4.92 2.91L6.09 4.08M19.08 2.91C21 4.94 22 7.3 22 10C22 12.8 21 15.17 19.08 17.11L17.91 15.89C19.5 14.3 20.3 12.33 20.3 10S19.5 5.67 17.91 4.08L19.08 2.91M7.31 5.3L8.5 6.5C7.5 7.42 7 8.58 7 10C7 11.33 7.5 12.5 8.5 13.5L7.31 14.72C5.97 13.38 5.3 11.8 5.3 10C5.3 8.2 5.97 6.64 7.31 5.3Z\";\r\nexport var mdiAnvil = \"M9,5V10C13.03,12.47 8.44,14.97 6,16V19H21V16C14.59,13.27 17.47,9 22,8V5H9M2,6C2.81,8.13 4.42,9.5 7,10V6H2Z\";\r\nexport var mdiApacheKafka = \"M15.54 12.97C14.86 12.97 14.24 13.22 13.76 13.64L12.47 12.89C12.56 12.6 12.6 12.29 12.6 11.97C12.6 11.65 12.56 11.34 12.5 11.05L13.73 10.32C14.21 10.76 14.85 11 15.54 11C17.03 11 18.24 9.81 18.24 8.32S17.03 5.63 15.54 5.63 12.84 6.84 12.84 8.33C12.84 8.5 12.86 8.7 12.89 8.88L11.64 9.6C11.21 9.15 10.64 8.82 10 8.65V7.26C11.09 6.91 11.88 5.89 11.88 4.69C11.88 3.2 10.67 2 9.18 2C7.69 2 6.5 3.2 6.5 4.69C6.5 5.89 7.26 6.9 8.34 7.26V8.66C6.86 9.04 5.76 10.37 5.76 11.97C5.76 13.57 6.86 14.91 8.34 15.28V16.73C7.26 17.09 6.5 18.1 6.5 19.3C6.5 20.79 7.69 22 9.18 22C10.67 22 11.88 20.79 11.88 19.3C11.88 18.1 11.09 17.08 10 16.73V15.29C10.64 15.13 11.2 14.8 11.64 14.35L12.9 15.08C12.86 15.27 12.84 15.46 12.84 15.66C12.84 17.15 14.05 18.36 15.54 18.36S18.24 17.15 18.24 15.66 17.03 12.97 15.54 12.97M15.54 7C16.28 7 16.87 7.59 16.87 8.32S16.28 9.66 15.54 9.66 14.21 9.06 14.21 8.32 14.8 7 15.54 7M7.85 4.69C7.85 3.95 8.44 3.35 9.18 3.35C9.92 3.35 10.5 3.95 10.5 4.69S9.92 6.03 9.18 6.03C8.44 6.03 7.85 5.43 7.85 4.69M10.5 19.3C10.5 20.04 9.92 20.64 9.18 20.64C8.44 20.64 7.85 20.04 7.85 19.3C7.85 18.56 8.44 17.96 9.18 17.96C9.92 17.96 10.5 18.56 10.5 19.3M9.18 13.89C8.12 13.89 7.26 13.03 7.26 11.97C7.26 10.91 8.12 10.05 9.18 10.05S11.1 10.91 11.1 11.97C11.1 13.03 10.24 13.89 9.18 13.89M15.54 17C14.8 17 14.21 16.4 14.21 15.66S14.8 14.33 15.54 14.33 16.87 14.93 16.87 15.66 16.28 17 15.54 17Z\";\r\nexport var mdiApi = \"M7 7H5A2 2 0 0 0 3 9V17H5V13H7V17H9V9A2 2 0 0 0 7 7M7 11H5V9H7M14 7H10V17H12V13H14A2 2 0 0 0 16 11V9A2 2 0 0 0 14 7M14 11H12V9H14M20 9V15H21V17H17V15H18V9H17V7H21V9Z\";\r\nexport var mdiApiOff = \"M7 11H5V9H7M14 7H11.38L13.29 9H14V9.75L15.87 11.71C15.95 11.5 16 11.25 16 11V9C16 7.9 15.11 7 14 7M4.45 2.62L3 4L5.86 7H5C3.9 7 3 7.9 3 9V17H5V13H7V17H9V10.3L10 11.34V17H12V13.45L19.55 21.38L21 20M20.9 17H21V15H20V9H21V7H17V9H18V13.95Z\";\r\nexport var mdiApple = \"M18.71,19.5C17.88,20.74 17,21.95 15.66,21.97C14.32,22 13.89,21.18 12.37,21.18C10.84,21.18 10.37,21.95 9.1,22C7.79,22.05 6.8,20.68 5.96,19.47C4.25,17 2.94,12.45 4.7,9.39C5.57,7.87 7.13,6.91 8.82,6.88C10.1,6.86 11.32,7.75 12.11,7.75C12.89,7.75 14.37,6.68 15.92,6.84C16.57,6.87 18.39,7.1 19.56,8.82C19.47,8.88 17.39,10.1 17.41,12.63C17.44,15.65 20.06,16.66 20.09,16.67C20.06,16.74 19.67,18.11 18.71,19.5M13,3.5C13.73,2.67 14.94,2.04 15.94,2C16.07,3.17 15.6,4.35 14.9,5.19C14.21,6.04 13.07,6.7 11.95,6.61C11.8,5.46 12.36,4.26 13,3.5Z\";\r\nexport var mdiAppleFinder = \"M8 11C7.45 11 7 10.55 7 10V8C7 7.45 7.45 7 8 7C8.55 7 9 7.45 9 8V10C9 10.55 8.55 11 8 11M17 10V8C17 7.45 16.55 7 16 7C15.45 7 15 7.45 15 8V10C15 10.55 15.45 11 16 11C16.55 11 17 10.55 17 10M22 5V20C22 21.1 21.1 22 20 22H4C2.9 22 2 21.1 2 20V5C2 3.9 2.9 3 4 3H20C21.1 3 22 3.9 22 5M4 20L13.06 20C12.96 19.35 12.89 18.64 12.83 17.94C12.56 17.96 12.3 18 12 18C8.24 18 6.31 15.73 6.23 15.63C5.88 15.21 5.94 14.58 6.36 14.22C6.78 13.87 7.41 13.93 7.77 14.35C7.83 14.43 9.23 16 12 16C12.27 16 12.5 15.97 12.74 15.95C12.71 14.75 12.73 13.74 12.74 13.26H10.93C10.28 13.26 9.75 12.7 9.75 12C9.77 11.75 10.07 7.82 11 5H4L4 20M20 20L20 5H12.6C11.74 7.19 11.37 10.73 11.27 11.76H13.08C13.72 11.76 14.25 12.32 14.25 13C14.25 13.04 14.21 14.15 14.24 15.6C15.54 15.11 16.22 14.35 16.23 14.34C16.58 13.92 17.21 13.85 17.63 14.2C18.06 14.55 18.12 15.18 17.77 15.61C17.71 15.68 16.55 17.05 14.32 17.68C14.38 18.5 14.46 19.29 14.58 20H20Z\";\r\nexport var mdiAppleIcloud = \"M22,15.04C22,17.23 20.24,19 18.07,19H5.93C3.76,19 2,17.23 2,15.04C2,13.07 3.43,11.44 5.31,11.14C5.28,11 5.27,10.86 5.27,10.71C5.27,9.33 6.38,8.2 7.76,8.2C8.37,8.2 8.94,8.43 9.37,8.8C10.14,7.05 11.13,5.44 13.91,5.44C17.28,5.44 18.87,8.06 18.87,10.83C18.87,10.94 18.87,11.06 18.86,11.17C20.65,11.54 22,13.13 22,15.04Z\";\r\nexport var mdiAppleIos = \"M2.09 16.8H3.75V9.76H2.09M2.92 8.84C3.44 8.84 3.84 8.44 3.84 7.94C3.84 7.44 3.44 7.04 2.92 7.04C2.4 7.04 2 7.44 2 7.94C2 8.44 2.4 8.84 2.92 8.84M9.25 7.06C6.46 7.06 4.7 8.96 4.7 12C4.7 15.06 6.46 16.96 9.25 16.96C12.04 16.96 13.8 15.06 13.8 12C13.8 8.96 12.04 7.06 9.25 7.06M9.25 8.5C10.96 8.5 12.05 9.87 12.05 12C12.05 14.15 10.96 15.5 9.25 15.5C7.54 15.5 6.46 14.15 6.46 12C6.46 9.87 7.54 8.5 9.25 8.5M14.5 14.11C14.57 15.87 16 16.96 18.22 16.96C20.54 16.96 22 15.82 22 14C22 12.57 21.18 11.77 19.23 11.32L18.13 11.07C16.95 10.79 16.47 10.42 16.47 9.78C16.47 9 17.2 8.45 18.28 8.45C19.38 8.45 20.13 9 20.21 9.89H21.84C21.8 8.2 20.41 7.06 18.29 7.06C16.21 7.06 14.73 8.21 14.73 9.91C14.73 11.28 15.56 12.13 17.33 12.53L18.57 12.82C19.78 13.11 20.27 13.5 20.27 14.2C20.27 15 19.47 15.57 18.31 15.57C17.15 15.57 16.26 15 16.16 14.11H14.5Z\";\r\nexport var mdiAppleKeyboardCaps = \"M15,14V8H17.17L12,2.83L6.83,8H9V14H15M12,0L22,10H17V16H7V10H2L12,0M7,18H17V24H7V18M15,20H9V22H15V20Z\";\r\nexport var mdiAppleKeyboardCommand = \"M6,2A4,4 0 0,1 10,6V8H14V6A4,4 0 0,1 18,2A4,4 0 0,1 22,6A4,4 0 0,1 18,10H16V14H18A4,4 0 0,1 22,18A4,4 0 0,1 18,22A4,4 0 0,1 14,18V16H10V18A4,4 0 0,1 6,22A4,4 0 0,1 2,18A4,4 0 0,1 6,14H8V10H6A4,4 0 0,1 2,6A4,4 0 0,1 6,2M16,18A2,2 0 0,0 18,20A2,2 0 0,0 20,18A2,2 0 0,0 18,16H16V18M14,10H10V14H14V10M6,16A2,2 0 0,0 4,18A2,2 0 0,0 6,20A2,2 0 0,0 8,18V16H6M8,6A2,2 0 0,0 6,4A2,2 0 0,0 4,6A2,2 0 0,0 6,8H8V6M18,8A2,2 0 0,0 20,6A2,2 0 0,0 18,4A2,2 0 0,0 16,6V8H18Z\";\r\nexport var mdiAppleKeyboardControl = \"M19.78,11.78L18.36,13.19L12,6.83L5.64,13.19L4.22,11.78L12,4L19.78,11.78Z\";\r\nexport var mdiAppleKeyboardOption = \"M3,4H9.11L16.15,18H21V20H14.88L7.84,6H3V4M14,4H21V6H14V4Z\";\r\nexport var mdiAppleKeyboardShift = \"M15,18V12H17.17L12,6.83L6.83,12H9V18H15M12,4L22,14H17V20H7V14H2L12,4Z\";\r\nexport var mdiAppleSafari = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12C4,14.09 4.8,16 6.11,17.41L9.88,9.88L17.41,6.11C16,4.8 14.09,4 12,4M12,20A8,8 0 0,0 20,12C20,9.91 19.2,8 17.89,6.59L14.12,14.12L6.59,17.89C8,19.2 9.91,20 12,20M12,12L11.23,11.23L9.7,14.3L12.77,12.77L12,12M12,17.5H13V19H12V17.5M15.88,15.89L16.59,15.18L17.65,16.24L16.94,16.95L15.88,15.89M17.5,12V11H19V12H17.5M12,6.5H11V5H12V6.5M8.12,8.11L7.41,8.82L6.35,7.76L7.06,7.05L8.12,8.11M6.5,12V13H5V12H6.5Z\";\r\nexport var mdiApplication = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M21 7H3V4H21V7Z\";\r\nexport var mdiApplicationArray = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M10 11H8V18H10V20H6V9H10V11M18 20H14V18H16V11H14V9H18V20M21 7H3V4H21V7Z\";\r\nexport var mdiApplicationArrayOutline = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M21 20H3V6H21V20M6 8V18H10V16H8V10H10V8H6M16 16H14V18H18V8H14V10H16V16\";\r\nexport var mdiApplicationBraces = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M11 11H9V12.5C9 13.6 8.1 14.5 7 14.5C8.1 14.5 9 15.4 9 16.5V18H11V20H9C7.9 20 7 19.1 7 18V17.5C7 16.4 6.1 15.5 5 15.5V13.5C6.1 13.5 7 12.6 7 11.5V11C7 9.9 7.9 9 9 9H11V11M19 15.5C17.9 15.5 17 16.4 17 17.5V18C17 19.1 16.1 20 15 20H13V18H15V16.5C15 15.4 15.9 14.5 17 14.5C15.9 14.5 15 13.6 15 12.5V11H13V9H15C16.1 9 17 9.9 17 11V11.5C17 12.6 17.9 13.5 19 13.5V15.5M21 7H3V4H21V7Z\";\r\nexport var mdiApplicationBracesOutline = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M21 20H3V6H21V20M9 8C7.9 8 7 8.9 7 10C7 11.1 6.1 12 5 12V14C6.1 14 7 14.9 7 16C7 17.1 7.9 18 9 18H11V16H9V15C9 13.9 8.1 13 7 13C8.1 13 9 12.1 9 11V10H11V8M15 8C16.1 8 17 8.9 17 10C17 11.1 17.9 12 19 12V14C17.9 14 17 14.9 17 16C17 17.1 16.1 18 15 18H13V16H15V15C15 13.9 15.9 13 17 13C15.9 13 15 12.1 15 11V10H13V8H15Z\";\r\nexport var mdiApplicationBrackets = \"M21,2H3A2,2 0 0,0 1,4V20A2,2 0 0,0 3,22H21A2,2 0 0,0 23,20V4A2,2 0 0,0 21,2M11,17.5L9.5,19L5,14.5L9.5,10L11,11.5L8,14.5L11,17.5M14.5,19L13,17.5L16,14.5L13,11.5L14.5,10L19,14.5L14.5,19M21,7H3V4H21V7Z\";\r\nexport var mdiApplicationBracketsOutline = \"M9.5,8.5L11,10L8,13L11,16L9.5,17.5L5,13L9.5,8.5M14.5,17.5L13,16L16,13L13,10L14.5,8.5L19,13L14.5,17.5M21,2H3A2,2 0 0,0 1,4V20A2,2 0 0,0 3,22H21A2,2 0 0,0 23,20V4A2,2 0 0,0 21,2M21,20H3V6H21V20Z\";\r\nexport var mdiApplicationCog = \"M21.7 18.6V17.6L22.8 16.8C22.9 16.7 23 16.6 22.9 16.5L21.9 14.8C21.9 14.7 21.7 14.7 21.6 14.7L20.4 15.2C20.1 15 19.8 14.8 19.5 14.7L19.3 13.4C19.3 13.3 19.2 13.2 19.1 13.2H17.1C16.9 13.2 16.8 13.3 16.8 13.4L16.6 14.7C16.3 14.9 16.1 15 15.8 15.2L14.6 14.7C14.5 14.7 14.4 14.7 14.3 14.8L13.3 16.5C13.3 16.6 13.3 16.7 13.4 16.8L14.5 17.6V18.6L13.4 19.4C13.3 19.5 13.2 19.6 13.3 19.7L14.3 21.4C14.4 21.5 14.5 21.5 14.6 21.5L15.8 21C16 21.2 16.3 21.4 16.6 21.5L16.8 22.8C16.9 22.9 17 23 17.1 23H19.1C19.2 23 19.3 22.9 19.3 22.8L19.5 21.5C19.8 21.3 20 21.2 20.3 21L21.5 21.4C21.6 21.4 21.7 21.4 21.8 21.3L22.8 19.6C22.9 19.5 22.9 19.4 22.8 19.4L21.7 18.6M18 19.5C17.2 19.5 16.5 18.8 16.5 18S17.2 16.5 18 16.5 19.5 17.2 19.5 18 18.8 19.5 18 19.5M11 18C11 14.1 14.1 11 18 11C20 11 21.7 11.8 23 13.1V4C23 2.9 22.1 2 21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H12.3C11.5 20.9 11 19.5 11 18M3 4H21V7H3V4Z\";\r\nexport var mdiApplicationCogOutline = \"M21.7 18.6V17.6L22.8 16.8C22.9 16.7 23 16.6 22.9 16.5L21.9 14.8C21.9 14.7 21.7 14.7 21.6 14.7L20.4 15.2C20.1 15 19.8 14.8 19.5 14.7L19.3 13.4C19.3 13.3 19.2 13.2 19.1 13.2H17.1C16.9 13.2 16.8 13.3 16.8 13.4L16.6 14.7C16.3 14.9 16.1 15 15.8 15.2L14.6 14.7C14.5 14.7 14.4 14.7 14.3 14.8L13.3 16.5C13.3 16.6 13.3 16.7 13.4 16.8L14.5 17.6V18.6L13.4 19.4C13.3 19.5 13.2 19.6 13.3 19.7L14.3 21.4C14.4 21.5 14.5 21.5 14.6 21.5L15.8 21C16 21.2 16.3 21.4 16.6 21.5L16.8 22.8C16.9 22.9 17 23 17.1 23H19.1C19.2 23 19.3 22.9 19.3 22.8L19.5 21.5C19.8 21.3 20 21.2 20.3 21L21.5 21.4C21.6 21.4 21.7 21.4 21.8 21.3L22.8 19.6C22.9 19.5 22.9 19.4 22.8 19.4L21.7 18.6M18 19.5C17.2 19.5 16.5 18.8 16.5 18S17.2 16.5 18 16.5 19.5 17.2 19.5 18 18.8 19.5 18 19.5M12.3 22H3C1.9 22 1 21.1 1 20V4C1 2.9 1.9 2 3 2H21C22.1 2 23 2.9 23 4V13.1C22.4 12.5 21.7 12 21 11.7V6H3V20H11.3C11.5 20.7 11.8 21.4 12.3 22Z\";\r\nexport var mdiApplicationEdit = \"M11 20.1L19.2 11.9C19.7 11.4 20.3 11.1 21 11.1C21.7 11.1 22.3 11.4 22.8 11.9L23 12.1V4C23 2.9 22.1 2 21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H11V20.1M3 4H21V7H3V4M21 13.1C20.9 13.1 20.7 13.2 20.6 13.3L19.6 14.3L21.7 16.4L22.7 15.4C22.9 15.2 22.9 14.8 22.7 14.6L21.4 13.3C21.3 13.2 21.2 13.1 21 13.1M19.1 14.9L13 20.9V23H15.1L21.2 16.9L19.1 14.9Z\";\r\nexport var mdiApplicationEditOutline = \"M11 20V22H3C1.9 22 1 21.1 1 20V4C1 2.9 1.9 2 3 2H21C22.1 2 23 2.9 23 4V12.1L22.8 11.9C22.3 11.4 21.7 11.1 21 11.1V6H3V20H11M21.4 13.3L22.7 14.6C22.9 14.8 22.9 15.2 22.7 15.4L21.7 16.4L19.6 14.3L20.6 13.3C20.7 13.2 20.8 13.1 21 13.1C21.2 13.1 21.3 13.2 21.4 13.3M21.1 16.9L15.1 23H13V20.9L19.1 14.8L21.1 16.9Z\";\r\nexport var mdiApplicationExport = \"M9 12H18.8L16.3 9.5L17.7 8.1L22.6 13L17.7 17.9L16.3 16.5L18.8 14H9V12M21 17.4V20H3V6H21V8.6L23 10.6V4C23 2.9 22.1 2 21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V15.4L21 17.4Z\";\r\nexport var mdiApplicationImport = \"M1 12H10.8L8.3 9.5L9.7 8.1L14.6 13L9.7 17.9L8.3 16.5L10.8 14H1V12M21 2H3C1.9 2 1 2.9 1 4V10.1H3V6H21V20H3V16H1V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2\";\r\nexport var mdiApplicationOutline = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M21 20H3V6H21V20Z\";\r\nexport var mdiApplicationParentheses = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M10 19.4L8.4 20C6.9 18.6 6 16.6 6 14.5S6.9 10.4 8.4 9L10 9.6C8.7 10.7 8 12.6 8 14.5S8.7 18.2 10 19.4M15.6 20L14 19.4C15.3 18.2 16 16.4 16 14.5S15.3 10.8 14 9.6L15.6 9C17.1 10.4 18 12.4 18 14.5C18 16.6 17.1 18.6 15.6 20M21 7H3V4H21V7Z\";\r\nexport var mdiApplicationParenthesesOutline = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M21 20H3V6H21V20M15.6 8C17.1 9.3 18 11.1 18 13C18 14.9 17.1 16.7 15.6 18L14 17.4C15.3 16.4 16 14.7 16 13S15.3 9.6 14 8.6L15.6 8M8.4 8L10 8.6C8.7 9.6 8 11.3 8 13S8.7 16.4 10 17.4L8.4 18C6.9 16.7 6 14.9 6 13S6.9 9.3 8.4 8Z\";\r\nexport var mdiApplicationSettings = \"M21 0H3C1.9 0 1 .9 1 2V18C1 19.1 1.9 20 3 20H21C22.1 20 23 19.1 23 18V2C23 .9 22.1 0 21 0M21 5H3V2H21V5M7 22H9V24H7V22M11 22H13V24H11V22M15 22H17V24H15V22\";\r\nexport var mdiApplicationSettingsOutline = \"M21 0H3C1.9 0 1 .9 1 2V18C1 19.1 1.9 20 3 20H21C22.1 20 23 19.1 23 18V2C23 .9 22.1 0 21 0M21 18H3V4H21V18M7 22H9V24H7V22M11 22H13V24H11V22M15 22H17V24H15V22\";\r\nexport var mdiApplicationVariable = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M7.4 20C5.9 18.6 5 16.6 5 14.5S5.9 10.4 7.4 9L9 9.6C7.7 10.7 7 12.6 7 14.5S7.7 18.2 9 19.4L7.4 20M12.7 18L11.9 16L10.5 18H9L11.3 14.9L10 12H11.3L12.1 14L13.5 12H15L12.8 15L14.1 18H12.7M16.6 20L15 19.4C16.3 18.2 17 16.4 17 14.5S16.3 10.8 15 9.6L16.6 9C18.1 10.4 19 12.4 19 14.5C19 16.6 18.1 18.6 16.6 20M21 7H3V4H21V7Z\";\r\nexport var mdiApplicationVariableOutline = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M21 20H3V6H21V20M16.6 8C18.1 9.3 19 11.1 19 13C19 14.9 18.1 16.7 16.6 18L15 17.4C16.3 16.4 17 14.7 17 13S16.3 9.6 15 8.6L16.6 8M7.4 8L9 8.6C7.7 9.6 7 11.3 7 13S7.7 16.4 9 17.4L7.4 18C5.9 16.7 5 14.9 5 13S5.9 9.3 7.4 8M12.1 12L13.5 10H15L12.8 13L14.1 16H12.8L12 14L10.6 16H9L11.3 12.9L10 10H11.3L12.1 12Z\";\r\nexport var mdiApproximatelyEqual = \"M18.9 9.2C18.1 10.1 16.6 11 15 11C13.5 11 12.6 10.5 11.8 10.1C11 9.8 10.2 9.3 8.9 9.3C7.7 9.3 6.6 10 6 10.6L5 9.1C5.9 8.2 7.3 7.2 8.9 7.2C10.4 7.2 11.3 7.8 12.1 8.1C12.9 8.4 13.7 9 15 9C16.2 9 17.3 8.2 17.9 7.6L18.9 9.2M19 14.1C18.1 15 16.7 16 15.1 16C13.6 16 12.7 15.5 11.9 15.1C11.1 14.8 10.3 14.2 9 14.2C7.8 14.2 6.7 15 6.1 15.6L5.1 14C6 13.1 7.4 12.1 9 12.1C10.5 12.1 11.4 12.6 12.2 13C13 13.3 13.8 13.8 15.1 13.8C16.3 13.8 17.4 13 18 12.4L19 14.1Z\";\r\nexport var mdiApproximatelyEqualBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M9.3 8.2C10.6 8.2 11.4 8.7 12.1 9C12.7 9.3 13.4 9.7 14.5 9.7C15.5 9.7 16.5 9 17 8.5L17.8 9.8C17.1 10.6 15.8 11.4 14.4 11.4C13.1 11.4 12.3 10.9 11.7 10.6C11.1 10.3 10.3 9.9 9.2 9.9C8.2 9.9 7.2 10.6 6.7 11.1L6 9.8C6.7 9 8 8.2 9.3 8.2M14.6 15.8C13.3 15.8 12.5 15.3 11.8 15C11.2 14.7 10.4 14.3 9.3 14.3C8.3 14.3 7.3 15 6.8 15.5L6 14.1C6.7 13.3 8 12.5 9.3 12.5C10.6 12.5 11.4 13 12.1 13.3C12.7 13.6 13.4 14 14.6 14C15.6 14 16.6 13.3 17.1 12.8L17.9 14.1C17.3 15 16 15.8 14.6 15.8Z\";\r\nexport var mdiApps = \"M16,20H20V16H16M16,14H20V10H16M10,8H14V4H10M16,8H20V4H16M10,14H14V10H10M4,14H8V10H4M4,20H8V16H4M10,20H14V16H10M4,8H8V4H4V8Z\";\r\nexport var mdiAppsBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M7,7V9H9V7H7M11,7V9H13V7H11M15,7V9H17V7H15M7,11V13H9V11H7M11,11V13H13V11H11M15,11V13H17V11H15M7,15V17H9V15H7M11,15V17H13V15H11M15,15V17H17V15H15Z\";\r\nexport var mdiArch = \"M12,2C11.11,4.18 10.57,5.61 9.58,7.73C10.19,8.37 10.93,9.12 12.14,9.97C10.84,9.43 9.95,8.9 9.29,8.34C8,11 6.03,14.75 2,22C5.17,20.17 7.63,19.04 9.92,18.61C9.82,18.19 9.76,17.73 9.77,17.25V17.15C9.82,15.12 10.88,13.56 12.13,13.67C13.38,13.77 14.35,15.5 14.3,17.54C14.29,17.92 14.25,18.29 14.18,18.63C16.44,19.07 18.87,20.19 22,22C21.38,20.86 20.83,19.84 20.31,18.87C19.5,18.23 18.61,17.39 16.85,16.5C18.06,16.8 18.93,17.16 19.61,17.57C14.26,7.62 13.83,6.3 12,2Z\";\r\nexport var mdiArchive = \"M3,3H21V7H3V3M4,8H20V21H4V8M9.5,11A0.5,0.5 0 0,0 9,11.5V13H15V11.5A0.5,0.5 0 0,0 14.5,11H9.5Z\";\r\nexport var mdiArchiveAlert = \"M2 4H18V7H2V4M3 8H17V20H3V8M7.5 11C7.22 11 7 11.22 7 11.5V13H13V11.5C13 11.22 12.78 11 12.5 11H7.5M20 13V7H22V13H20M20 17V15H22V17H20Z\";\r\nexport var mdiArchiveAlertOutline = \"M2 4H18V7H2V4M7.5 11H12.5C12.78 11 13 11.22 13 11.5V13H7V11.5C7 11.22 7.22 11 7.5 11M20 13V7H22V13H20M20 17V15H22V17H20M3 8H5V18H15V8H17V20H3V8Z\";\r\nexport var mdiArchiveArrowDown = \"M3 3H21V7H3V3M4 21V8H20V21H4M14 14V11H10V14H7L12 19L17 14H14Z\";\r\nexport var mdiArchiveArrowDownOutline = \"M20 21H4V10H6V19H18V10H20V21M3 3H21V9H3V3M5 5V7H19V5M10.5 11V14H8L12 18L16 14H13.5V11\";\r\nexport var mdiArchiveArrowUp = \"M4 21H20V8H4M14 15V18H10V15H7L12 10L17 15M3 3H21V7H3\";\r\nexport var mdiArchiveArrowUpOutline = \"M20 21H4V10H6V19H18V10H20V21M3 3H21V9H3V3M5 5V7H19V5M10.5 17V14H8L12 10L16 14H13.5V17\";\r\nexport var mdiArchiveCancel = \"M18.5 12C19 12 19.5 12.07 20 12.18V8H4V21H12.5C12.18 20.23 12 19.39 12 18.5C12 14.91 14.91 12 18.5 12M9 13V11.5C9 11.22 9.22 11 9.5 11H14.5C14.78 11 15 11.22 15 11.5V13H9M21 7H3V3H21V7M18.5 14C16 14 14 16 14 18.5S16 23 18.5 23 23 21 23 18.5 21 14 18.5 14M18.5 21.5C16.84 21.5 15.5 20.16 15.5 18.5C15.5 17.94 15.65 17.42 15.92 17L20 21.08C19.58 21.35 19.06 21.5 18.5 21.5M21.08 20L17 15.92C17.42 15.65 17.94 15.5 18.5 15.5C20.16 15.5 21.5 16.84 21.5 18.5C21.5 19.06 21.35 19.58 21.08 20Z\";\r\nexport var mdiArchiveCancelOutline = \"M14.5 11C14.78 11 15 11.22 15 11.5V13H9V11.5C9 11.22 9.22 11 9.5 11H14.5M18.5 12C19 12 19.5 12.07 20 12.18V10H18V12.03C18.17 12 18.33 12 18.5 12M6 19V10H4V21H12.5C12.24 20.38 12.09 19.7 12.03 19H6M21 9H3V3H21V9M19 5H5V7H19V5M23 18.5C23 21 21 23 18.5 23S14 21 14 18.5 16 14 18.5 14 23 16 23 18.5M20 21.08L15.92 17C15.65 17.42 15.5 17.94 15.5 18.5C15.5 20.16 16.84 21.5 18.5 21.5C19.06 21.5 19.58 21.35 20 21.08M21.5 18.5C21.5 16.84 20.16 15.5 18.5 15.5C17.94 15.5 17.42 15.65 17 15.92L21.08 20C21.35 19.58 21.5 19.06 21.5 18.5Z\";\r\nexport var mdiArchiveCheck = \"M19 13C19.34 13 19.67 13.04 20 13.09V8H4V21H13.35C13.13 20.37 13 19.7 13 19C13 15.69 15.69 13 19 13M9 13V11.5C9 11.22 9.22 11 9.5 11H14.5C14.78 11 15 11.22 15 11.5V13H9M21 7H3V3H21V7M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\r\nexport var mdiArchiveCheckOutline = \"M21 3H3V9H21V3M19 7H5V5H19V7M14.5 11C14.78 11 15 11.22 15 11.5V13H9V11.5C9 11.22 9.22 11 9.5 11H14.5M18 13.09V10H20V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09M13 19C13 19.7 13.13 20.37 13.35 21H4V10H6V19H13M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\r\nexport var mdiArchiveClock = \"M20 6H2V2H20V6M16.5 12H15V17L18.61 19.16L19.36 17.94L16.5 16.25V12M23 16C23 19.87 19.87 23 16 23C13.62 23 11.53 21.81 10.26 20H3V7H19V9.68C21.36 10.81 23 13.21 23 16M8 12H10.26C10.83 11.19 11.56 10.5 12.41 10H8.5C8.22 10 8 10.22 8 10.5V12M21 16C21 13.24 18.76 11 16 11S11 13.24 11 16 13.24 21 16 21 21 18.76 21 16Z\";\r\nexport var mdiArchiveClockOutline = \"M20 2H2V8H20V2M18 6H4V4H18V6M16 9C14.69 9 13.46 9.37 12.41 10H8.5C8.22 10 8 10.22 8 10.5V12H10.26C9.47 13.13 9 14.5 9 16C9 16.7 9.11 17.37 9.29 18H5V9H3V20H10.26C11.53 21.81 13.62 23 16 23C19.87 23 23 19.87 23 16C23 12.13 19.87 9 16 9M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25Z\";\r\nexport var mdiArchiveCog = \"M21 7H3V3H21V7M12 19C12 19.7 12.11 20.37 12.3 21H4V8H20V12.08C19.67 12.03 19.34 12 19 12C15.13 12 12 15.13 12 19M15 13V11.5C15 11.22 14.78 11 14.5 11H9.5C9.22 11 9 11.22 9 11.5V13H15M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\r\nexport var mdiArchiveCogOutline = \"M18 12.08V10H20V12.08C19.67 12.03 19.34 12 19 12C18.66 12 18.33 12.03 18 12.08M9.5 11C9.22 11 9 11.22 9 11.5V13H15V11.5C15 11.22 14.78 11 14.5 11H9.5M6 19V10H4V21H12.3C12.11 20.37 12 19.7 12 19H6M21 9H3V3H21V9M19 5H5V7H19V5M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\r\nexport var mdiArchiveEdit = \"M20 10.3V8H4V21H11V19.13L19.39 10.74C19.57 10.56 19.78 10.42 20 10.3M15 13H9V11.5C9 11.22 9.22 11 9.5 11H14.5C14.78 11 15 11.22 15 11.5V13M21 7H3V3H21V7M22.85 14.19L21.87 15.17L19.83 13.13L20.81 12.15C21 11.95 21.33 11.95 21.53 12.15L22.85 13.47C23.05 13.67 23.05 14 22.85 14.19M19.13 13.83L21.17 15.87L15.04 22H13V19.96L19.13 13.83Z\";\r\nexport var mdiArchiveEditOutline = \"M18 12.13V10H20V10.3C19.78 10.42 19.57 10.56 19.39 10.74L18 12.13M9.5 11C9.22 11 9 11.22 9 11.5V13H15V11.5C15 11.22 14.78 11 14.5 11H9.5M6 10H4V21H11V19.13L11.13 19H6V10M21 9H3V3H21V9M19 5H5V7H19V5M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47Z\";\r\nexport var mdiArchiveEye = \"M21 7H3V3H21V7M9.14 19.75C9.32 20.19 9.54 20.61 9.78 21H4V8H20V13.55C19.06 13.19 18.05 13 17 13C13.5 13 10.43 15.06 9.14 18.25L8.85 19L9.14 19.75M9 13H15V11.5C15 11.22 14.78 11 14.5 11H9.5C9.22 11 9 11.22 9 11.5V13M17 18C16.44 18 16 18.44 16 19S16.44 20 17 20 18 19.56 18 19 17.56 18 17 18M23 19C22.06 21.34 19.73 23 17 23S11.94 21.34 11 19C11.94 16.66 14.27 15 17 15S22.06 16.66 23 19M19.5 19C19.5 17.62 18.38 16.5 17 16.5S14.5 17.62 14.5 19 15.62 21.5 17 21.5 19.5 20.38 19.5 19Z\";\r\nexport var mdiArchiveEyeOutline = \"M14.5 11C14.78 11 15 11.22 15 11.5V13H9V11.5C9 11.22 9.22 11 9.5 11H14.5M20 13.55V10H18V13.06C18.69 13.14 19.36 13.31 20 13.55M21 9H3V3H21V9M19 5H5V7H19V5M8.85 19H6V10H4V21H9.78C9.54 20.61 9.32 20.19 9.14 19.75L8.85 19M17 18C16.44 18 16 18.44 16 19S16.44 20 17 20 18 19.56 18 19 17.56 18 17 18M23 19C22.06 21.34 19.73 23 17 23S11.94 21.34 11 19C11.94 16.66 14.27 15 17 15S22.06 16.66 23 19M19.5 19C19.5 17.62 18.38 16.5 17 16.5S14.5 17.62 14.5 19 15.62 21.5 17 21.5 19.5 20.38 19.5 19Z\";\r\nexport var mdiArchiveLock = \"M21 7H3V3H21V7M9.5 11H14.5C14.78 11 15 11.22 15 11.5V12.06C15.87 10.83 17.35 10 19 10C19.34 10 19.68 10.04 20 10.11V8H4V21H13.03C13 20.9 13 20.8 13 20.7V17.2C13 16.24 13.5 15.34 14.2 14.74V14.5C14.2 14 14.32 13.47 14.5 13H9V11.5C9 11.22 9.22 11 9.5 11M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\r\nexport var mdiArchiveLockOpen = \"M21 7H3V3H21V7M19 9C19.34 9 19.68 9.04 20 9.11V8H4V21H13.03C13 20.9 13 20.8 13 20.7V17.2C13 16.24 13.5 15.34 14.2 14.74V13.5C14.2 13.33 14.24 13.17 14.26 13H9V11.5C9 11.22 9.22 11 9.5 11H14.5C14.67 11 14.82 11.09 14.91 11.22C15.75 9.91 17.28 9 19 9M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\r\nexport var mdiArchiveLockOpenOutline = \"M14.5 11C14.67 11 14.82 11.09 14.91 11.22C14.56 11.76 14.34 12.36 14.26 13H9V11.5C9 11.22 9.22 11 9.5 11H14.5M13 19H6V10H4V21H13.03C13 20.9 13 20.8 13 20.7V19M21 9H3V3H21V9M19 5H5V7H19V5M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\r\nexport var mdiArchiveLockOutline = \"M15 12.06C14.79 12.35 14.64 12.67 14.5 13H9V11.5C9 11.22 9.22 11 9.5 11H14.5C14.78 11 15 11.22 15 11.5V12.06M21 9H3V3H21V9M19 5H5V7H19V5M13 19H6V10H4V21H13.03C13 20.9 13 20.8 13 20.7V19M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\r\nexport var mdiArchiveMarker = \"M21 7H3V3H21V7M13.63 13H9V11.5C9 11.22 9.22 11 9.5 11H14.5C14.72 11 14.9 11.14 14.97 11.33C15.93 10.5 17.17 10 18.5 10C19 10 19.5 10.08 20 10.22V8H4V21H15.19C14.12 19.43 13 17.35 13 15.5C13 14.61 13.23 13.76 13.63 13M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\r\nexport var mdiArchiveMarkerOutline = \"M14.5 11C14.72 11 14.9 11.14 14.97 11.33C14.42 11.79 13.96 12.36 13.63 13H9V11.5C9 11.22 9.22 11 9.5 11H14.5M21 9H3V3H21V9M19 5H5V7H19V5M6 19V10H4V21H15.19C14.78 20.4 14.36 19.72 14 19H6M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\r\nexport var mdiArchiveMinus = \"M19 13C19.34 13 19.67 13.04 20 13.09V8H4V21H13.35C13.13 20.37 13 19.7 13 19C13 15.69 15.69 13 19 13M9 13V11.5C9 11.22 9.22 11 9.5 11H14.5C14.78 11 15 11.22 15 11.5V13H9M21 7H3V3H21V7M23 18V20H15V18H23Z\";\r\nexport var mdiArchiveMinusOutline = \"M13 19C13 19.7 13.13 20.37 13.35 21H4V10H6V19H13M19 13C19.34 13 19.67 13.04 20 13.09V10H18V13.09C18.33 13.04 18.66 13 19 13M9.5 11C9.22 11 9 11.22 9 11.5V13H15V11.5C15 11.22 14.78 11 14.5 11H9.5M21 9H3V3H21V9M19 5H5V7H19V5M15 18V20H23V18H15Z\";\r\nexport var mdiArchiveMusic = \"M16.5 16.11V11H20V8H4V21H13.03C13 20.84 13 20.67 13 20.5C13 18.36 14.5 16.57 16.5 16.11M9 13V11.5C9 11.22 9.22 11 9.5 11H14.5C14.78 11 15 11.22 15 11.5V13H9M21 7H3V3H21V7M22 13V15H20V20.5C20 21.88 18.88 23 17.5 23S15 21.88 15 20.5 16.12 18 17.5 18C17.86 18 18.19 18.07 18.5 18.21V13H22Z\";\r\nexport var mdiArchiveMusicOutline = \"M21 3H3V9H21V3M19 7H5V5H19V7M18 11V10H20V11H18M14.5 11C14.78 11 15 11.22 15 11.5V13H9V11.5C9 11.22 9.22 11 9.5 11H14.5M13.26 19C13.09 19.47 13 19.97 13 20.5C13 20.67 13 20.84 13.03 21H4V10H6V19H13.26M22 13V15H20V20.5C20 21.88 18.88 23 17.5 23S15 21.88 15 20.5 16.12 18 17.5 18C17.86 18 18.19 18.07 18.5 18.21V13H22Z\";\r\nexport var mdiArchiveOff = \"M10.2 7L6.2 3H21V7H10.2M20 8H11.2L20 16.8V8M20 19.35V19.34L8.66 8H8.66L7.66 7H7.66L2.39 1.73L1.11 3L3 4.89V7H5.11L6.11 8H4V21H19.11L20.84 22.73L22.11 21.46L20 19.35Z\";\r\nexport var mdiArchiveOffOutline = \"M8.2 5L6.2 3H21V9H12.2L10.2 7H19V5H8.2M20 16.8V10H18V14.8L20 16.8M20 19.35V19.34L18 17.34V17.35L9.66 9H9.66L7.66 7H7.66L6.13 5.47L2.39 1.73L1.11 3L3 4.89V9H7.11L17.11 19H6V10H4V21H19.11L20.84 22.73L22.11 21.46L20 19.35Z\";\r\nexport var mdiArchiveOutline = \"M20 21H4V10H6V19H18V10H20V21M3 3H21V9H3V3M9.5 11H14.5C14.78 11 15 11.22 15 11.5V13H9V11.5C9 11.22 9.22 11 9.5 11M5 5V7H19V5H5Z\";\r\nexport var mdiArchivePlus = \"M21 7H3V3H21V7M13 19C13 19.7 13.13 20.37 13.35 21H4V8H20V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M15 13V11.5C15 11.22 14.78 11 14.5 11H9.5C9.22 11 9 11.22 9 11.5V13H15M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiArchivePlusOutline = \"M18 13.09V10H20V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09M9.5 11C9.22 11 9 11.22 9 11.5V13H15V11.5C15 11.22 14.78 11 14.5 11H9.5M21 9H3V3H21V9M19 5H5V7H19V5M6 19V10H4V21H13.35C13.13 20.37 13 19.7 13 19H6M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiArchiveRefresh = \"M18.5 12C19 12 19.5 12.07 20 12.18V8H4V21H12.5C12.18 20.23 12 19.39 12 18.5C12 14.91 14.91 12 18.5 12M9 13V11.5C9 11.22 9.22 11 9.5 11H14.5C14.78 11 15 11.22 15 11.5V13H9M21 7H3V3H21V7M18 18.5L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5S16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5S15.79 14.5 18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18Z\";\r\nexport var mdiArchiveRefreshOutline = \"M18 12.03V10H20V12.18C19.5 12.07 19 12 18.5 12C18.33 12 18.17 12 18 12.03M9.5 11C9.22 11 9 11.22 9 11.5V13H15V11.5C15 11.22 14.78 11 14.5 11H9.5M6 19V10H4V21H12.5C12.24 20.38 12.09 19.7 12.03 19H6M21 9H3V3H21V9M19 5H5V7H19V5M22 18.5V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22Z\";\r\nexport var mdiArchiveRemove = \"M21 7H3V3H21V7M13 19C13 19.7 13.13 20.37 13.35 21H4V8H20V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M15 13V11.5C15 11.22 14.78 11 14.5 11H9.5C9.22 11 9 11.22 9 11.5V13H15M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiArchiveRemoveOutline = \"M18 13.09V10H20V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09M14.5 11H9.5C9.22 11 9 11.22 9 11.5V13H15V11.5C15 11.22 14.78 11 14.5 11M6 19V10H4V21H13.35C13.13 20.37 13 19.7 13 19H6M21 9H3V3H21V9M19 5H5V7H19V5M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiArchiveSearch = \"M20 6H2V2H20V6M11.03 12H8V10.5C8 10.22 8.22 10 8.5 10H13.04C14.84 8.87 17.07 8.7 19 9.5V7H3V20H11.82C9.7 17.8 9.44 14.5 11.03 12M23.39 21L22 22.39L18.88 19.32C18.19 19.75 17.37 20 16.5 20C14 20 12 18 12 15.5S14 11 16.5 11 21 13 21 15.5C21 16.38 20.75 17.21 20.31 17.9L23.39 21M19 15.5C19 14.12 17.88 13 16.5 13S14 14.12 14 15.5 15.12 18 16.5 18 19 16.88 19 15.5Z\";\r\nexport var mdiArchiveSearchOutline = \"M13.04 10C12.64 10.25 12.26 10.55 11.9 10.9C11.57 11.24 11.27 11.61 11.03 12H8V10.5C8 10.22 8.22 10 8.5 10H13.04M20 8H2V2H20V8M18 4H4V6H18V4M5 18V9H3V20H11.82C11.24 19.4 10.8 18.72 10.5 18H5M23.39 21L22 22.39L18.88 19.32C18.19 19.75 17.37 20 16.5 20C14 20 12 18 12 15.5S14 11 16.5 11 21 13 21 15.5C21 16.38 20.75 17.21 20.31 17.9L23.39 21M19 15.5C19 14.12 17.88 13 16.5 13S14 14.12 14 15.5 15.12 18 16.5 18 19 16.88 19 15.5Z\";\r\nexport var mdiArchiveSettings = \"M21 2V6H3V2H21M4 7H20V20H4V7M9 12H15V10.5C15 10.22 14.78 10 14.5 10H9.5C9.22 10 9 10.22 9 10.5V12M7 24H9V22H7V24M11 24H13V22H11V24M15 24H17V22H15V24Z\";\r\nexport var mdiArchiveSettingsOutline = \"M3 2V8H21V2H3M19 6H5V4H19V6M18 9H20V20H4V9H6V18H18V9M15 10.5V12H9V10.5C9 10.22 9.22 10 9.5 10H14.5C14.78 10 15 10.22 15 10.5M7 22H9V24H7V22M11 22H13V24H11V22M15 22H17V24H15V22Z\";\r\nexport var mdiArchiveStar = \"M21 7H3V3H21V7M13 19C13 19.7 13.13 20.37 13.35 21H4V8H20V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M15 13V11.5C15 11.22 14.78 11 14.5 11H9.5C9.22 11 9 11.22 9 11.5V13H15M23 17.89L20.11 17.64L19 15L17.87 17.64L15 17.89L17.18 19.77L16.5 22.58L19 21.09L21.45 22.58L20.8 19.77L23 17.89Z\";\r\nexport var mdiArchiveStarOutline = \"M18 13.09V10H20V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09M9.5 11C9.22 11 9 11.22 9 11.5V13H15V11.5C15 11.22 14.78 11 14.5 11H9.5M6 19V10H4V21H13.35C13.13 20.37 13 19.7 13 19H6M21 9H3V3H21V9M19 5H5V7H19V5M23 17.89L20.11 17.64L19 15L17.87 17.64L15 17.89L17.18 19.77L16.5 22.58L19 21.09L21.45 22.58L20.8 19.77L23 17.89Z\";\r\nexport var mdiArchiveSync = \"M21 7H3V3H21V7M9.5 11H14.5C14.78 11 15 11.22 15 11.5V12.82C16.17 11.69 17.75 11 19.5 11C19.67 11 19.84 11 20 11.03V8H4V21H14.03C13.38 20 13 18.79 13 17.5C13 15.75 13.69 14.17 14.82 13H9V11.5C9 11.22 9.22 11 9.5 11M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20Z\";\r\nexport var mdiArchiveSyncOutline = \"M18 11.18V10H20V11.03C19.84 11 19.67 11 19.5 11C19 11 18.5 11.07 18 11.18M15 11.5C15 11.22 14.78 11 14.5 11H9.5C9.22 11 9 11.22 9 11.5V13H14.82C14.88 12.94 14.94 12.88 15 12.82V11.5M6 19V10H4V21H14.03C13.64 20.39 13.35 19.72 13.18 19H6M21 9H3V3H21V9M19 5H5V7H19V5M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20Z\";\r\nexport var mdiArmFlex = \"M3 18.34C3 18.34 4 7.09 7 3L12 4L11 7.09H9V14.25H10C12 11.18 16.14 10.06 18.64 11.18C21.94 12.71 21.64 17.32 18.64 19.36C16.24 21 9 22.43 3 18.34Z\";\r\nexport var mdiArmFlexOutline = \"M7 7.76V16.25H11.08L11.68 15.34C12.84 13.55 14.93 12.75 16.47 12.75C17 12.75 17.45 12.84 17.79 13C18.7 13.41 18.95 14.18 19 14.74C19.08 15.87 18.5 17.03 17.5 17.71C16.6 18.33 14.44 19 11.87 19C10.12 19 7.61 18.69 5.12 17.3C5.41 14.85 6 10.88 7 7.76M7 3C4 7.09 3 18.34 3 18.34C5.9 20.31 9.08 21 11.87 21C14.86 21 17.39 20.21 18.64 19.36C21.64 17.32 21.94 12.71 18.64 11.18C18 10.89 17.26 10.75 16.47 10.75C14.17 10.75 11.5 11.96 10 14.25H9V7.09H11L12 4L7 3Z\";\r\nexport var mdiArrangeBringForward = \"M2,2H16V16H2V2M22,8V22H8V18H10V20H20V10H18V8H22Z\";\r\nexport var mdiArrangeBringToFront = \"M2,2H11V6H9V4H4V9H6V11H2V2M22,13V22H13V18H15V20H20V15H18V13H22M8,8H16V16H8V8Z\";\r\nexport var mdiArrangeSendBackward = \"M2,2H16V16H2V2M22,8V22H8V18H18V8H22M4,4V14H14V4H4Z\";\r\nexport var mdiArrangeSendToBack = \"M2,2H11V11H2V2M9,4H4V9H9V4M22,13V22H13V13H22M15,20H20V15H15V20M16,8V11H13V8H16M11,16H8V13H11V16Z\";\r\nexport var mdiArrowAll = \"M13,11H18L16.5,9.5L17.92,8.08L21.84,12L17.92,15.92L16.5,14.5L18,13H13V18L14.5,16.5L15.92,17.92L12,21.84L8.08,17.92L9.5,16.5L11,18V13H6L7.5,14.5L6.08,15.92L2.16,12L6.08,8.08L7.5,9.5L6,11H11V6L9.5,7.5L8.08,6.08L12,2.16L15.92,6.08L14.5,7.5L13,6V11Z\";\r\nexport var mdiArrowBottomLeft = \"M19,6.41L17.59,5L7,15.59V9H5V19H15V17H8.41L19,6.41Z\";\r\nexport var mdiArrowBottomLeftBoldOutline = \"M18.36,19.78H4.22V5.64L8.47,9.88L14.12,4.22L19.78,9.88L14.12,15.54L18.36,19.78M6.34,17.66H13.41L11.29,15.54L16.95,9.88L14.12,7.05L8.46,12.71L6.34,10.59V17.66Z\";\r\nexport var mdiArrowBottomLeftThick = \"M15.5,5.69L18.31,8.5L11.94,14.89H16.89V18.31H5.69V7.11H9.12V12.06L15.5,5.69Z\";\r\nexport var mdiArrowBottomLeftThinCircleOutline = \"M12 20.03C16.41 20.03 20.03 16.41 20.03 12C20.03 7.59 16.41 3.97 12 3.97C7.59 3.97 3.97 7.59 3.97 12C3.97 16.41 7.59 20.03 12 20.03M12 22C6.46 22 2 17.54 2 12C2 6.46 6.46 2 12 2C17.54 2 22 6.46 22 12C22 17.54 17.54 22 12 22M10.12 12.47L8 10.36V16H13.64L11.53 13.88L16.5 8.9L15.1 7.5\";\r\nexport var mdiArrowBottomRight = \"M5,6.41L6.41,5L17,15.59V9H19V19H9V17H15.59L5,6.41Z\";\r\nexport var mdiArrowBottomRightBoldOutline = \"M9.88,15.54L4.22,9.88L9.88,4.22L15.54,9.88L19.78,5.64V19.78H5.64L9.88,15.54M17.66,10.59L15.54,12.71L9.88,7.05L7.05,9.88L12.71,15.54L10.59,17.66H17.66V10.59Z\";\r\nexport var mdiArrowBottomRightThick = \"M14.89,12.06V7.11H18.31V18.31H7.11V14.89H12.06L5.69,8.5L8.5,5.69L14.89,12.06Z\";\r\nexport var mdiArrowBottomRightThinCircleOutline = \"M12 20.03C7.59 20.03 3.97 16.41 3.97 12C3.97 7.59 7.59 3.97 12 3.97C16.41 3.97 20.03 7.59 20.03 12C20.03 16.41 16.41 20.03 12 20.03M12 22C17.54 22 22 17.54 22 12C22 6.46 17.54 2 12 2C6.46 2 2 6.46 2 12C2 17.54 6.46 22 12 22M13.88 12.47L16 10.36V16H10.36L12.47 13.88L7.5 8.9L8.9 7.5\";\r\nexport var mdiArrowCollapse = \"M19.5,3.09L15,7.59V4H13V11H20V9H16.41L20.91,4.5L19.5,3.09M4,13V15H7.59L3.09,19.5L4.5,20.91L9,16.41V20H11V13H4Z\";\r\nexport var mdiArrowCollapseAll = \"M19.5,3.09L20.91,4.5L16.41,9H20V11H13V4H15V7.59L19.5,3.09M20.91,19.5L19.5,20.91L15,16.41V20H13V13H20V15H16.41L20.91,19.5M4.5,3.09L9,7.59V4H11V11H4V9H7.59L3.09,4.5L4.5,3.09M3.09,19.5L7.59,15H4V13H11V20H9V16.41L4.5,20.91L3.09,19.5Z\";\r\nexport var mdiArrowCollapseDown = \"M19.92,12.08L12,20L4.08,12.08L5.5,10.67L11,16.17V2H13V16.17L18.5,10.66L19.92,12.08M12,20H2V22H22V20H12Z\";\r\nexport var mdiArrowCollapseHorizontal = \"M13,20V4H15.03V20H13M10,20V4H12.03V20H10M5,8L9.03,12L5,16V13H2V11H5V8M20,16L16,12L20,8V11H23V13H20V16Z\";\r\nexport var mdiArrowCollapseLeft = \"M11.92,19.92L4,12L11.92,4.08L13.33,5.5L7.83,11H22V13H7.83L13.34,18.5L11.92,19.92M4,12V2H2V22H4V12Z\";\r\nexport var mdiArrowCollapseRight = \"M12.08,4.08L20,12L12.08,19.92L10.67,18.5L16.17,13H2V11H16.17L10.67,5.5L12.08,4.08M20,12V22H22V2H20V12Z\";\r\nexport var mdiArrowCollapseUp = \"M4.08,11.92L12,4L19.92,11.92L18.5,13.33L13,7.83V22H11V7.83L5.5,13.33L4.08,11.92M12,4H22V2H2V4H12Z\";\r\nexport var mdiArrowCollapseVertical = \"M4,12H20V14H4V12M4,9H20V11H4V9M16,4L12,8L8,4H11V1H13V4H16M8,19L12,15L16,19H13V22H11V19H8Z\";\r\nexport var mdiArrowDecision = \"M11,5H8L12,1L16,5H13V9.43C12.25,9.89 11.58,10.46 11,11.12V5M22,11L18,7V10C14.39,9.85 11.31,12.57 11,16.17C9.44,16.72 8.62,18.44 9.17,20C9.72,21.56 11.44,22.38 13,21.83C14.56,21.27 15.38,19.56 14.83,18C14.53,17.14 13.85,16.47 13,16.17C13.47,12.17 17.47,11.97 17.95,11.97V14.97L22,11M10.63,11.59C9.3,10.57 7.67,10 6,10V7L2,11L6,15V12C7.34,12.03 8.63,12.5 9.64,13.4C9.89,12.76 10.22,12.15 10.63,11.59Z\";\r\nexport var mdiArrowDecisionAuto = \"M12,5H9L13,1L17,5H14V9.43C13.25,9.89 12.58,10.46 12,11.12V5M10.4,15H8.5L7.8,13H4.6L3.9,15H2L5.2,6H7.2L10.4,15M7.35,11.65L6.2,8L5.05,11.65H7.35M23,11L19,7V10C15.39,9.85 12.31,12.57 12,16.17C10.44,16.72 9.62,18.44 10.17,20C10.72,21.56 12.44,22.38 14,21.83C15.56,21.27 16.38,19.56 15.83,18C15.53,17.14 14.85,16.47 14,16.17C14.47,12.17 18.47,11.97 18.95,11.97V14.97L23,11Z\";\r\nexport var mdiArrowDecisionAutoOutline = \"M19,15V12C18.5,12 14.5,12.16 14.05,16.2C15.61,16.75 16.43,18.47 15.88,20.03C15.33,21.59 13.61,22.41 12.05,21.86C10.5,21.3 9.67,19.59 10.22,18.03C10.5,17.17 11.2,16.5 12.05,16.2C12.34,12.61 15.4,9.88 19,10V7L23,11L19,15M14,19A1,1 0 0,0 13,18A1,1 0 0,0 12,19A1,1 0 0,0 13,20A1,1 0 0,0 14,19M12,11.12C12.58,10.46 13.25,9.89 14,9.43V5H17L13,1L9,5H12V11.12M7.2,6H5.2L2,15H3.9L4.6,13H7.8L8.5,15H10.4L7.2,6M5.05,11.65L6.2,8L7.35,11.65H5.05Z\";\r\nexport var mdiArrowDecisionOutline = \"M9.64,13.4C8.63,12.5 7.34,12.03 6,12V15L2,11L6,7V10C7.67,10 9.3,10.57 10.63,11.59C10.22,12.15 9.89,12.76 9.64,13.4M18,15V12C17.5,12 13.5,12.16 13.05,16.2C14.61,16.75 15.43,18.47 14.88,20.03C14.33,21.59 12.61,22.41 11.05,21.86C9.5,21.3 8.67,19.59 9.22,18.03C9.5,17.17 10.2,16.5 11.05,16.2C11.34,12.61 14.4,9.88 18,10V7L22,11L18,15M13,19A1,1 0 0,0 12,18A1,1 0 0,0 11,19A1,1 0 0,0 12,20A1,1 0 0,0 13,19M11,11.12C11.58,10.46 12.25,9.89 13,9.43V5H16L12,1L8,5H11V11.12Z\";\r\nexport var mdiArrowDown = \"M11,4H13V16L18.5,10.5L19.92,11.92L12,19.84L4.08,11.92L5.5,10.5L11,16V4Z\";\r\nexport var mdiArrowDownBold = \"M9,4H15V12H19.84L12,19.84L4.16,12H9V4Z\";\r\nexport var mdiArrowDownBoldBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M12,17L17,12H14V8H10V12H7L12,17Z\";\r\nexport var mdiArrowDownBoldBoxOutline = \"M12,17L7,12H10V8H14V12H17L12,17M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiArrowDownBoldCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,17L17,12H14V8H10V12H7L12,17Z\";\r\nexport var mdiArrowDownBoldCircleOutline = \"M12,17L7,12H10V8H14V12H17L12,17M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiArrowDownBoldHexagonOutline = \"M12,17L7,12H10V8H14V12H17L12,17M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\r\nexport var mdiArrowDownBoldOutline = \"M22,11L12,21L2,11H8V3H16V11H22M12,18L17,13H14V5H10V13H7L12,18Z\";\r\nexport var mdiArrowDownBox = \"M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M11,6V14.5L7.5,11L6.08,12.42L12,18.34L17.92,12.42L16.5,11L13,14.5V6H11Z\";\r\nexport var mdiArrowDownCircle = \"M11,6V14L7.5,10.5L6.08,11.92L12,17.84L17.92,11.92L16.5,10.5L13,14V6H11M12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22Z\";\r\nexport var mdiArrowDownCircleOutline = \"M11,6H13V14L16.5,10.5L17.92,11.92L12,17.84L6.08,11.92L7.5,10.5L11,14V6M12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20Z\";\r\nexport var mdiArrowDownDropCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M7,10L12,15L17,10H7Z\";\r\nexport var mdiArrowDownDropCircleOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4M7,10L12,15L17,10H7Z\";\r\nexport var mdiArrowDownLeft = \"M20 4V6H13.5C11 6 9 8 9 10.5V16.17L12.09 13.09L13.5 14.5L8 20L2.5 14.5L3.91 13.08L7 16.17V10.5C7 6.91 9.91 4 13.5 4H20Z\";\r\nexport var mdiArrowDownLeftBold = \"M21 3V7H13.5C11.57 7 10 8.57 10 10.5V13H14L8 20L2 13H6V10.5C6 6.36 9.36 3 13.5 3H21Z\";\r\nexport var mdiArrowDownRight = \"M21.5 14.5L16 20L10.5 14.5L11.91 13.09L15 16.17V10.5C15 8 13 6 10.5 6H4V4H10.5C14.09 4 17 6.91 17 10.5V16.17L20.09 13.08L21.5 14.5Z\";\r\nexport var mdiArrowDownRightBold = \"M10.5 3C14.64 3 18 6.36 18 10.5V13H22L16 20L10 13H14V10.5C14 8.57 12.43 7 10.5 7H3V3H10.5Z\";\r\nexport var mdiArrowDownThick = \"M10,4H14V13L17.5,9.5L19.92,11.92L12,19.84L4.08,11.92L6.5,9.5L10,13V4Z\";\r\nexport var mdiArrowDownThinCircleOutline = \"M12 20.03C16.41 20.03 20.03 16.41 20.03 12C20.03 7.59 16.41 3.97 12 3.97C7.59 3.97 3.97 7.59 3.97 12C3.97 16.41 7.59 20.03 12 20.03M12 22C6.46 22 2 17.54 2 12C2 6.46 6.46 2 12 2C17.54 2 22 6.46 22 12C22 17.54 17.54 22 12 22M11 13.54H8L12 17.5L16 13.54H13V6.5H11\";\r\nexport var mdiArrowExpand = \"M10,21V19H6.41L10.91,14.5L9.5,13.09L5,17.59V14H3V21H10M14.5,10.91L19,6.41V10H21V3H14V5H17.59L13.09,9.5L14.5,10.91Z\";\r\nexport var mdiArrowExpandAll = \"M9.5,13.09L10.91,14.5L6.41,19H10V21H3V14H5V17.59L9.5,13.09M10.91,9.5L9.5,10.91L5,6.41V10H3V3H10V5H6.41L10.91,9.5M14.5,13.09L19,17.59V14H21V21H14V19H17.59L13.09,14.5L14.5,13.09M13.09,9.5L17.59,5H14V3H21V10H19V6.41L14.5,10.91L13.09,9.5Z\";\r\nexport var mdiArrowExpandDown = \"M22,4V2H2V4H11V18.17L5.5,12.67L4.08,14.08L12,22L19.92,14.08L18.5,12.67L13,18.17V4H22Z\";\r\nexport var mdiArrowExpandHorizontal = \"M9,11H15V8L19,12L15,16V13H9V16L5,12L9,8V11M2,20V4H4V20H2M20,20V4H22V20H20Z\";\r\nexport var mdiArrowExpandLeft = \"M20,22H22V2H20V11H5.83L11.33,5.5L9.92,4.08L2,12L9.92,19.92L11.33,18.5L5.83,13H20V22Z\";\r\nexport var mdiArrowExpandRight = \"M4,2H2V22H4V13H18.17L12.67,18.5L14.08,19.92L22,12L14.08,4.08L12.67,5.5L18.17,11H4V2Z\";\r\nexport var mdiArrowExpandUp = \"M2,20V22H22V20H13V5.83L18.5,11.33L19.92,9.92L12,2L4.08,9.92L5.5,11.33L11,5.83V20H2Z\";\r\nexport var mdiArrowExpandVertical = \"M13,9V15H16L12,19L8,15H11V9H8L12,5L16,9H13M4,2H20V4H4V2M4,20H20V22H4V20Z\";\r\nexport var mdiArrowHorizontalLock = \"M14.8 7V5.5C14.8 4.1 13.4 3 12 3S9.2 4.1 9.2 5.5V7C8.6 7 8 7.6 8 8.2V11.7C8 12.4 8.6 13 9.2 13H14.7C15.4 13 16 12.4 16 11.8V8.3C16 7.6 15.4 7 14.8 7M13.5 7H10.5V5.5C10.5 4.7 11.2 4.2 12 4.2S13.5 4.7 13.5 5.5V7M6 17V20L2 16L6 12V15H18V12L22 16L18 20V17H6Z\";\r\nexport var mdiArrowLeft = \"M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z\";\r\nexport var mdiArrowLeftBold = \"M20,9V15H12V19.84L4.16,12L12,4.16V9H20Z\";\r\nexport var mdiArrowLeftBoldBox = \"M21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5M7,12L12,17V14H16V10H12V7L7,12Z\";\r\nexport var mdiArrowLeftBoldBoxOutline = \"M7,12L12,7V10H16V14H12V17L7,12M21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5M19,5H5V19H19V5Z\";\r\nexport var mdiArrowLeftBoldCircle = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M7,12L12,17V14H16V10H12V7L7,12Z\";\r\nexport var mdiArrowLeftBoldCircleOutline = \"M7,12L12,7V10H16V14H12V17L7,12M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12Z\";\r\nexport var mdiArrowLeftBoldHexagonOutline = \"M7,12L12,7V10H16V14H12V17L7,12M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\r\nexport var mdiArrowLeftBoldOutline = \"M13,22L3,12L13,2V8H21V16H13V22M6,12L11,17V14H19V10H11V7L6,12Z\";\r\nexport var mdiArrowLeftBottom = \"M20 4V10.5C20 14.09 17.09 17 13.5 17H7.83L10.92 20.09L9.5 21.5L4 16L9.5 10.5L10.91 11.91L7.83 15H13.5C16 15 18 13 18 10.5V4H20Z\";\r\nexport var mdiArrowLeftBottomBold = \"M21 10.5C21 14.64 17.64 18 13.5 18H11V22L4 16L11 10V14H13.5C15.43 14 17 12.43 17 10.5V3H21V10.5Z\";\r\nexport var mdiArrowLeftBox = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5C3,3.89 3.9,3 5,3H19M18,11H9.5L13,7.5L11.58,6.08L5.66,12L11.58,17.92L13,16.5L9.5,13H18V11Z\";\r\nexport var mdiArrowLeftCircle = \"M2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12M18,11H10L13.5,7.5L12.08,6.08L6.16,12L12.08,17.92L13.5,16.5L10,13H18V11Z\";\r\nexport var mdiArrowLeftCircleOutline = \"M18,11V13H10L13.5,16.5L12.08,17.92L6.16,12L12.08,6.08L13.5,7.5L10,11H18M2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12M4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12Z\";\r\nexport var mdiArrowLeftDropCircle = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M14,7L9,12L14,17V7Z\";\r\nexport var mdiArrowLeftDropCircleOutline = \"M22,12A10,10 0 0,0 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12M14,7L9,12L14,17V7Z\";\r\nexport var mdiArrowLeftRight = \"M6.45,17.45L1,12L6.45,6.55L7.86,7.96L4.83,11H19.17L16.14,7.96L17.55,6.55L23,12L17.55,17.45L16.14,16.04L19.17,13H4.83L7.86,16.04L6.45,17.45Z\";\r\nexport var mdiArrowLeftRightBold = \"M8,14V18L2,12L8,6V10H16V6L22,12L16,18V14H8Z\";\r\nexport var mdiArrowLeftRightBoldOutline = \"M14,16V22L24,12L14,2V8H10V2L0,12L10,22V16H14M8,14V17L3,12L8,7V10H16V7L21,12L16,17V14H8Z\";\r\nexport var mdiArrowLeftThick = \"M20,10V14H11L14.5,17.5L12.08,19.92L4.16,12L12.08,4.08L14.5,6.5L11,10H20Z\";\r\nexport var mdiArrowLeftThinCircleOutline = \"M3.97 12C3.97 16.41 7.59 20.03 12 20.03C16.41 20.03 20.03 16.41 20.03 12C20.03 7.59 16.41 3.97 12 3.97C7.59 3.97 3.97 7.59 3.97 12M2 12C2 6.46 6.46 2 12 2C17.54 2 22 6.46 22 12C22 17.54 17.54 22 12 22C6.46 22 2 17.54 2 12M10.46 11V8L6.5 12L10.46 16V13H17.5V11\";\r\nexport var mdiArrowLeftTop = \"M20 13.5V20H18V13.5C18 11 16 9 13.5 9H7.83L10.91 12.09L9.5 13.5L4 8L9.5 2.5L10.92 3.91L7.83 7H13.5C17.09 7 20 9.91 20 13.5Z\";\r\nexport var mdiArrowLeftTopBold = \"M21 21H17V13.5C17 11.57 15.43 10 13.5 10H11V14L4 8L11 2V6H13.5C17.64 6 21 9.36 21 13.5V21Z\";\r\nexport var mdiArrowRight = \"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\";\r\nexport var mdiArrowRightBold = \"M4,15V9H12V4.16L19.84,12L12,19.84V15H4Z\";\r\nexport var mdiArrowRightBoldBox = \"M3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19M17,12L12,7V10H8V14H12V17L17,12Z\";\r\nexport var mdiArrowRightBoldBoxOutline = \"M17,12L12,17V14H8V10H12V7L17,12M3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19M5,19H19V5H5V19Z\";\r\nexport var mdiArrowRightBoldCircle = \"M2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12M17,12L12,7V10H8V14H12V17L17,12Z\";\r\nexport var mdiArrowRightBoldCircleOutline = \"M17,12L12,17V14H8V10H12V7L17,12M2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12M4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12Z\";\r\nexport var mdiArrowRightBoldHexagonOutline = \"M17,12L12,17V14H8V10H12V7L17,12M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\r\nexport var mdiArrowRightBoldOutline = \"M11,16H3V8H11V2L21,12L11,22V16M13,7V10H5V14H13V17L18,12L13,7Z\";\r\nexport var mdiArrowRightBottom = \"M20 16L14.5 21.5L13.08 20.09L16.17 17H10.5C6.91 17 4 14.09 4 10.5V4H6V10.5C6 13 8 15 10.5 15H16.17L13.09 11.91L14.5 10.5L20 16Z\";\r\nexport var mdiArrowRightBottomBold = \"M3 3H7V10.5C7 12.43 8.57 14 10.5 14H13V10L20 16L13 22V18H10.5C6.36 18 3 14.64 3 10.5V3Z\";\r\nexport var mdiArrowRightBox = \"M5,21A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19C21,20.11 20.1,21 19,21H5M6,13H14.5L11,16.5L12.42,17.92L18.34,12L12.42,6.08L11,7.5L14.5,11H6V13Z\";\r\nexport var mdiArrowRightCircle = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M6,13H14L10.5,16.5L11.92,17.92L17.84,12L11.92,6.08L10.5,7.5L14,11H6V13Z\";\r\nexport var mdiArrowRightCircleOutline = \"M6,13V11H14L10.5,7.5L11.92,6.08L17.84,12L11.92,17.92L10.5,16.5L14,13H6M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12Z\";\r\nexport var mdiArrowRightDropCircle = \"M2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12M10,17L15,12L10,7V17Z\";\r\nexport var mdiArrowRightDropCircleOutline = \"M2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2A10,10 0 0,0 2,12M4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12M10,17L15,12L10,7V17Z\";\r\nexport var mdiArrowRightThick = \"M4,10V14H13L9.5,17.5L11.92,19.92L19.84,12L11.92,4.08L9.5,6.5L13,10H4Z\";\r\nexport var mdiArrowRightThinCircleOutline = \"M20.03 12C20.03 7.59 16.41 3.97 12 3.97C7.59 3.97 3.97 7.59 3.97 12C3.97 16.41 7.59 20.03 12 20.03C16.41 20.03 20.03 16.41 20.03 12M22 12C22 17.54 17.54 22 12 22C6.46 22 2 17.54 2 12C2 6.46 6.46 2 12 2C17.54 2 22 6.46 22 12M13.54 13V16L17.5 12L13.54 8V11H6.5V13\";\r\nexport var mdiArrowRightTop = \"M20 8L14.5 13.5L13.09 12.09L16.17 9H10.5C8 9 6 11 6 13.5V20H4V13.5C4 9.91 6.91 7 10.5 7H16.17L13.08 3.91L14.5 2.5L20 8Z\";\r\nexport var mdiArrowRightTopBold = \"M3 13.5C3 9.36 6.36 6 10.5 6H13V2L20 8L13 14V10H10.5C8.57 10 7 11.57 7 13.5V21H3V13.5Z\";\r\nexport var mdiArrowSplitHorizontal = \"M8,18H11V15H2V13H22V15H13V18H16L12,22L8,18M12,2L8,6H11V9H2V11H22V9H13V6H16L12,2Z\";\r\nexport var mdiArrowSplitVertical = \"M18,16V13H15V22H13V2H15V11H18V8L22,12L18,16M2,12L6,16V13H9V22H11V2H9V11H6V8L2,12Z\";\r\nexport var mdiArrowTopLeft = \"M19,17.59L17.59,19L7,8.41V15H5V5H15V7H8.41L19,17.59Z\";\r\nexport var mdiArrowTopLeftBoldOutline = \"M14.12,8.46L19.78,14.12L14.12,19.78L8.46,14.12L4.22,18.36V4.22H18.36L14.12,8.46M6.34,13.41L8.46,11.29L14.12,16.95L16.95,14.12L11.29,8.47L13.41,6.34H6.34V13.41Z\";\r\nexport var mdiArrowTopLeftBottomRight = \"M13,21H21V13H19V17.59L6.41,5H11V3H3V11H5V6.41L17.59,19H13V21Z\";\r\nexport var mdiArrowTopLeftBottomRightBold = \"M5.83,8.66L3,11.5V3H11.5L8.66,5.83L18.17,15.34L21,12.5V21H12.5L15.34,18.17L5.83,8.66Z\";\r\nexport var mdiArrowTopLeftThick = \"M9.12,11.94V16.89H5.69V5.69H16.89V9.12H11.94L18.31,15.5L15.5,18.31L9.12,11.94Z\";\r\nexport var mdiArrowTopLeftThinCircleOutline = \"M12 3.97C16.41 3.97 20.03 7.59 20.03 12C20.03 16.41 16.41 20.03 12 20.03C7.59 20.03 3.97 16.41 3.97 12C3.97 7.59 7.59 3.97 12 3.97M12 2C6.46 2 2 6.46 2 12C2 17.54 6.46 22 12 22C17.54 22 22 17.54 22 12C22 6.46 17.54 2 12 2M10.12 11.53L8 13.64V8H13.64L11.53 10.12L16.5 15.1L15.1 16.5\";\r\nexport var mdiArrowTopRight = \"M5,17.59L15.59,7H9V5H19V15H17V8.41L6.41,19L5,17.59Z\";\r\nexport var mdiArrowTopRightBoldOutline = \"M5.64,4.22H19.78V18.36L15.54,14.12L9.88,19.78L4.22,14.12L9.88,8.46L5.64,4.22M17.66,6.34H10.59L12.71,8.46L7.05,14.12L9.88,16.95L15.54,11.29L17.66,13.41V6.34H17.66Z\";\r\nexport var mdiArrowTopRightBottomLeft = \"M11,21H3V13H5V17.59L17.59,5H13V3H21V11H19V6.41L6.41,19H11V21Z\";\r\nexport var mdiArrowTopRightBottomLeftBold = \"M18.17,8.66L21,11.5V3H12.5L15.34,5.83L5.83,15.34L3,12.5V21H11.5L8.66,18.17L18.17,8.66Z\";\r\nexport var mdiArrowTopRightThick = \"M8.5,18.31L5.69,15.5L12.06,9.12H7.11V5.69H18.31V16.89H14.89V11.94L8.5,18.31Z\";\r\nexport var mdiArrowTopRightThinCircleOutline = \"M12 3.97C7.59 3.97 3.97 7.59 3.97 12C3.97 16.41 7.59 20.03 12 20.03C16.41 20.03 20.03 16.41 20.03 12C20.03 7.59 16.41 3.97 12 3.97M12 2C17.54 2 22 6.46 22 12C22 17.54 17.54 22 12 22C6.46 22 2 17.54 2 12C2 6.46 6.46 2 12 2M13.88 11.53L16 13.64V8H10.36L12.47 10.12L7.5 15.1L8.9 16.5\";\r\nexport var mdiArrowUDownLeft = \"M20 10.5V18H18V10.5C18 8 16 6 13.5 6S9 8 9 10.5V16.17L12.09 13.09L13.5 14.5L8 20L2.5 14.5L3.91 13.08L7 16.17V10.5C7 6.91 9.91 4 13.5 4S20 6.91 20 10.5Z\";\r\nexport var mdiArrowUDownLeftBold = \"M21 10.5V18H17V10.5C17 8.57 15.43 7 13.5 7S10 8.57 10 10.5V13H14L8 20L2 13H6V10.5C6 6.36 9.36 3 13.5 3S21 6.36 21 10.5Z\";\r\nexport var mdiArrowUDownRight = \"M21.5 14.5L16 20L10.5 14.5L11.91 13.09L15 16.17V10.5C15 8 13 6 10.5 6S6 8 6 10.5V18H4V10.5C4 6.91 6.91 4 10.5 4S17 6.91 17 10.5V16.17L20.09 13.08L21.5 14.5Z\";\r\nexport var mdiArrowUDownRightBold = \"M10.5 3C14.64 3 18 6.36 18 10.5V13H22L16 20L10 13H14V10.5C14 8.57 12.43 7 10.5 7S7 8.57 7 10.5V18H3V10.5C3 6.36 6.36 3 10.5 3Z\";\r\nexport var mdiArrowULeftBottom = \"M20 10.5C20 14.09 17.09 17 13.5 17H7.83L10.92 20.09L9.5 21.5L4 16L9.5 10.5L10.91 11.91L7.83 15H13.5C16 15 18 13 18 10.5S16 6 13.5 6H6V4H13.5C17.09 4 20 6.91 20 10.5Z\";\r\nexport var mdiArrowULeftBottomBold = \"M21 10.5C21 14.64 17.64 18 13.5 18H11V22L4 16L11 10V14H13.5C15.43 14 17 12.43 17 10.5S15.43 7 13.5 7H6V3H13.5C17.64 3 21 6.36 21 10.5Z\";\r\nexport var mdiArrowULeftTop = \"M20 13.5C20 17.09 17.09 20 13.5 20H6V18H13.5C16 18 18 16 18 13.5S16 9 13.5 9H7.83L10.91 12.09L9.5 13.5L4 8L9.5 2.5L10.92 3.91L7.83 7H13.5C17.09 7 20 9.91 20 13.5Z\";\r\nexport var mdiArrowULeftTopBold = \"M13.5 21H6V17H13.5C15.43 17 17 15.43 17 13.5S15.43 10 13.5 10H11V14L4 8L11 2V6H13.5C17.64 6 21 9.36 21 13.5S17.64 21 13.5 21Z\";\r\nexport var mdiArrowURightBottom = \"M20 16L14.5 21.5L13.08 20.09L16.17 17H10.5C6.91 17 4 14.09 4 10.5S6.91 4 10.5 4H18V6H10.5C8 6 6 8 6 10.5S8 15 10.5 15H16.17L13.09 11.91L14.5 10.5L20 16Z\";\r\nexport var mdiArrowURightBottomBold = \"M10.5 3H18V7H10.5C8.57 7 7 8.57 7 10.5S8.57 14 10.5 14H13V10L20 16L13 22V18H10.5C6.36 18 3 14.64 3 10.5S6.36 3 10.5 3Z\";\r\nexport var mdiArrowURightTop = \"M10.5 18H18V20H10.5C6.91 20 4 17.09 4 13.5S6.91 7 10.5 7H16.17L13.08 3.91L14.5 2.5L20 8L14.5 13.5L13.09 12.09L16.17 9H10.5C8 9 6 11 6 13.5S8 18 10.5 18Z\";\r\nexport var mdiArrowURightTopBold = \"M3 13.5C3 9.36 6.36 6 10.5 6H13V2L20 8L13 14V10H10.5C8.57 10 7 11.57 7 13.5S8.57 17 10.5 17H18V21H10.5C6.36 21 3 17.64 3 13.5Z\";\r\nexport var mdiArrowUUpLeft = \"M20 6V13.5C20 17.09 17.09 20 13.5 20S7 17.09 7 13.5V7.83L3.91 10.92L2.5 9.5L8 4L13.5 9.5L12.09 10.91L9 7.83V13.5C9 16 11 18 13.5 18S18 16 18 13.5V6H20Z\";\r\nexport var mdiArrowUUpLeftBold = \"M13.5 21C9.36 21 6 17.64 6 13.5V11H2L8 4L14 11H10V13.5C10 15.43 11.57 17 13.5 17S17 15.43 17 13.5V6H21V13.5C21 17.64 17.64 21 13.5 21Z\";\r\nexport var mdiArrowUUpRight = \"M21.5 9.5L20.09 10.92L17 7.83V13.5C17 17.09 14.09 20 10.5 20S4 17.09 4 13.5V6H6V13.5C6 16 8 18 10.5 18S15 16 15 13.5V7.83L11.91 10.91L10.5 9.5L16 4L21.5 9.5Z\";\r\nexport var mdiArrowUUpRightBold = \"M3 13.5V6H7V13.5C7 15.43 8.57 17 10.5 17S14 15.43 14 13.5V11H10L16 4L22 11H18V13.5C18 17.64 14.64 21 10.5 21S3 17.64 3 13.5Z\";\r\nexport var mdiArrowUp = \"M13,20H11V8L5.5,13.5L4.08,12.08L12,4.16L19.92,12.08L18.5,13.5L13,8V20Z\";\r\nexport var mdiArrowUpBold = \"M15,20H9V12H4.16L12,4.16L19.84,12H15V20Z\";\r\nexport var mdiArrowUpBoldBox = \"M19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21M12,7L7,12H10V16H14V12H17L12,7Z\";\r\nexport var mdiArrowUpBoldBoxOutline = \"M12,7L17,12H14V16H10V12H7L12,7M19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21M19,19V5H5V19H19Z\";\r\nexport var mdiArrowUpBoldCircle = \"M12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22M12,7L7,12H10V16H14V12H17L12,7Z\";\r\nexport var mdiArrowUpBoldCircleOutline = \"M12,7L17,12H14V16H10V12H7L12,7M12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20Z\";\r\nexport var mdiArrowUpBoldHexagonOutline = \"M12,7L17,12H14V16H10V12H7L12,7M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\r\nexport var mdiArrowUpBoldOutline = \"M16,13V21H8V13H2L12,3L22,13H16M7,11H10V19H14V11H17L12,6L7,11Z\";\r\nexport var mdiArrowUpBox = \"M21,19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19C20.11,3 21,3.9 21,5V19M13,18V9.5L16.5,13L17.92,11.58L12,5.66L6.08,11.58L7.5,13L11,9.5V18H13Z\";\r\nexport var mdiArrowUpCircle = \"M13,18V10L16.5,13.5L17.92,12.08L12,6.16L6.08,12.08L7.5,13.5L11,10V18H13M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiArrowUpCircleOutline = \"M13,18H11V10L7.5,13.5L6.08,12.08L12,6.16L17.92,12.08L16.5,13.5L13,10V18M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiArrowUpDown = \"M17.45,17.55L12,23L6.55,17.55L7.96,16.14L11,19.17V4.83L7.96,7.86L6.55,6.45L12,1L17.45,6.45L16.04,7.86L13,4.83V19.17L16.04,16.14L17.45,17.55Z\";\r\nexport var mdiArrowUpDownBold = \"M10,8H6L12,2L18,8H14V16H18L12,22L6,16H10V8Z\";\r\nexport var mdiArrowUpDownBoldOutline = \"M16,10H22L12,0L2,10H8V14H2L12,24L22,14H16V10M14,16H17L12,21L7,16H10V8H7L12,3L17,8H14V16Z\";\r\nexport var mdiArrowUpDropCircle = \"M12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22M17,14L12,9L7,14H17Z\";\r\nexport var mdiArrowUpDropCircleOutline = \"M12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M17,14L12,9L7,14H17Z\";\r\nexport var mdiArrowUpLeft = \"M20 18V20H13.5C9.91 20 7 17.09 7 13.5V7.83L3.91 10.92L2.5 9.5L8 4L13.5 9.5L12.09 10.91L9 7.83V13.5C9 16 11 18 13.5 18H20Z\";\r\nexport var mdiArrowUpLeftBold = \"M13.5 21C9.36 21 6 17.64 6 13.5V11H2L8 4L14 11H10V13.5C10 15.43 11.57 17 13.5 17H21V21H13.5Z\";\r\nexport var mdiArrowUpRight = \"M21.5 9.5L20.09 10.92L17 7.83V13.5C17 17.09 14.09 20 10.5 20H4V18H10.5C13 18 15 16 15 13.5V7.83L11.91 10.91L10.5 9.5L16 4L21.5 9.5Z\";\r\nexport var mdiArrowUpRightBold = \"M3 21V17H10.5C12.43 17 14 15.43 14 13.5V11H10L16 4L22 11H18V13.5C18 17.64 14.64 21 10.5 21H3Z\";\r\nexport var mdiArrowUpThick = \"M14,20H10V11L6.5,14.5L4.08,12.08L12,4.16L19.92,12.08L17.5,14.5L14,11V20Z\";\r\nexport var mdiArrowUpThinCircleOutline = \"M12 3.97C7.59 3.97 3.97 7.59 3.97 12C3.97 16.41 7.59 20.03 12 20.03C16.41 20.03 20.03 16.41 20.03 12C20.03 7.59 16.41 3.97 12 3.97M12 2C17.54 2 22 6.46 22 12C22 17.54 17.54 22 12 22C6.46 22 2 17.54 2 12C2 6.46 6.46 2 12 2M13 10.46H16L12 6.5L8 10.46H11V17.5H13\";\r\nexport var mdiArrowVerticalLock = \"M18.8 11V9.5C18.8 8.1 17.4 7 16 7S13.2 8.1 13.2 9.5V11C12.6 11 12 11.6 12 12.2V15.7C12 16.4 12.6 17 13.2 17H18.7C19.4 17 20 16.4 20 15.8V12.3C20 11.6 19.4 11 18.8 11M17.5 11H14.5V9.5C14.5 8.7 15.2 8.2 16 8.2C16.8 8.2 17.5 8.7 17.5 9.5V11M9 6H12L8 2L4 6H7V18H4L8 22L12 18H9V6Z\";\r\nexport var mdiArtstation = \"M1.77,16.88L3.5,19.86C3.84,20.54 4.54,21 5.33,21H16.79L14.43,16.88H1.77M22.23,16.9C22.23,16.5 22.11,16.11 21.9,15.78L15.17,4.1C14.82,3.44 14.15,3 13.35,3H9.8L20.18,21L21.82,18.14C22.13,17.6 22.23,17.36 22.23,16.9M12.73,13.94L8.1,5.92L3.45,13.94H12.73Z\";\r\nexport var mdiAspectRatio = \"M19,12H17V15H14V17H19V12M7,9H10V7H5V12H7V9M21,3H3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V5A2,2 0 0,0 21,3M21,19H3V5H21V19Z\";\r\nexport var mdiAssistant = \"M19,2H5A2,2 0 0,0 3,4V18A2,2 0 0,0 5,20H9L12,23L15,20H19A2,2 0 0,0 21,18V4A2,2 0 0,0 19,2M13.88,12.88L12,17L10.12,12.88L6,11L10.12,9.12L12,5L13.88,9.12L18,11\";\r\nexport var mdiAsterisk = \"M21 13H14.4L19.1 17.7L17.7 19.1L13 14.4V21H11V14.3L6.3 19L4.9 17.6L9.4 13H3V11H9.6L4.9 6.3L6.3 4.9L11 9.6V3H13V9.4L17.6 4.8L19 6.3L14.3 11H21V13Z\";\r\nexport var mdiAt = \"M12,15C12.81,15 13.5,14.7 14.11,14.11C14.7,13.5 15,12.81 15,12C15,11.19 14.7,10.5 14.11,9.89C13.5,9.3 12.81,9 12,9C11.19,9 10.5,9.3 9.89,9.89C9.3,10.5 9,11.19 9,12C9,12.81 9.3,13.5 9.89,14.11C10.5,14.7 11.19,15 12,15M12,2C14.75,2 17.1,3 19.05,4.95C21,6.9 22,9.25 22,12V13.45C22,14.45 21.65,15.3 21,16C20.3,16.67 19.5,17 18.5,17C17.3,17 16.31,16.5 15.56,15.5C14.56,16.5 13.38,17 12,17C10.63,17 9.45,16.5 8.46,15.54C7.5,14.55 7,13.38 7,12C7,10.63 7.5,9.45 8.46,8.46C9.45,7.5 10.63,7 12,7C13.38,7 14.55,7.5 15.54,8.46C16.5,9.45 17,10.63 17,12V13.45C17,13.86 17.16,14.22 17.46,14.53C17.76,14.84 18.11,15 18.5,15C18.92,15 19.27,14.84 19.57,14.53C19.87,14.22 20,13.86 20,13.45V12C20,9.81 19.23,7.93 17.65,6.35C16.07,4.77 14.19,4 12,4C9.81,4 7.93,4.77 6.35,6.35C4.77,7.93 4,9.81 4,12C4,14.19 4.77,16.07 6.35,17.65C7.93,19.23 9.81,20 12,20H17V22H12C9.25,22 6.9,21 4.95,19.05C3,17.1 2,14.75 2,12C2,9.25 3,6.9 4.95,4.95C6.9,3 9.25,2 12,2Z\";\r\nexport var mdiAtlassian = \"M7.93,11.24C7.74,11 7.38,10.94 7.13,11.13C7.06,11.19 7,11.26 6.96,11.34L2.06,21.15C1.91,21.44 2.03,21.79 2.32,21.94C2.4,22 2.5,22 2.59,22H9.41C9.63,22 9.84,21.88 9.94,21.68C11.41,18.63 10.5,14 7.93,11.24M11.53,2.31C9.05,6.14 8.76,11 10.77,15.09L14.06,21.68C14.17,21.88 14.37,22 14.59,22H21.41A0.59,0.59 0 0,0 22,21.41C22,21.32 22,21.23 21.94,21.15C21.94,21.15 12.76,2.77 12.5,2.31C12.39,2.04 12.06,1.92 11.78,2.06C11.67,2.11 11.58,2.2 11.53,2.31Z\";\r\nexport var mdiAtm = \"M8,9V10.5H10.25V15H11.75V10.5H14V9H8M6,9H3A1,1 0 0,0 2,10V15H3.5V13.5H5.5V15H7V10A1,1 0 0,0 6,9M5.5,12H3.5V10.5H5.5V12M21,9H16.5A1,1 0 0,0 15.5,10V15H17V10.5H18V14H19.5V10.5H20.5V15H22V10A1,1 0 0,0 21,9Z\";\r\nexport var mdiAtom = \"M12,11A1,1 0 0,1 13,12A1,1 0 0,1 12,13A1,1 0 0,1 11,12A1,1 0 0,1 12,11M4.22,4.22C5.65,2.79 8.75,3.43 12,5.56C15.25,3.43 18.35,2.79 19.78,4.22C21.21,5.65 20.57,8.75 18.44,12C20.57,15.25 21.21,18.35 19.78,19.78C18.35,21.21 15.25,20.57 12,18.44C8.75,20.57 5.65,21.21 4.22,19.78C2.79,18.35 3.43,15.25 5.56,12C3.43,8.75 2.79,5.65 4.22,4.22M15.54,8.46C16.15,9.08 16.71,9.71 17.23,10.34C18.61,8.21 19.11,6.38 18.36,5.64C17.62,4.89 15.79,5.39 13.66,6.77C14.29,7.29 14.92,7.85 15.54,8.46M8.46,15.54C7.85,14.92 7.29,14.29 6.77,13.66C5.39,15.79 4.89,17.62 5.64,18.36C6.38,19.11 8.21,18.61 10.34,17.23C9.71,16.71 9.08,16.15 8.46,15.54M5.64,5.64C4.89,6.38 5.39,8.21 6.77,10.34C7.29,9.71 7.85,9.08 8.46,8.46C9.08,7.85 9.71,7.29 10.34,6.77C8.21,5.39 6.38,4.89 5.64,5.64M9.88,14.12C10.58,14.82 11.3,15.46 12,16.03C12.7,15.46 13.42,14.82 14.12,14.12C14.82,13.42 15.46,12.7 16.03,12C15.46,11.3 14.82,10.58 14.12,9.88C13.42,9.18 12.7,8.54 12,7.97C11.3,8.54 10.58,9.18 9.88,9.88C9.18,10.58 8.54,11.3 7.97,12C8.54,12.7 9.18,13.42 9.88,14.12M18.36,18.36C19.11,17.62 18.61,15.79 17.23,13.66C16.71,14.29 16.15,14.92 15.54,15.54C14.92,16.15 14.29,16.71 13.66,17.23C15.79,18.61 17.62,19.11 18.36,18.36Z\";\r\nexport var mdiAtomVariant = \"M18.36,2.64C20,2.64 21.36,4 21.36,5.64C21.36,7.29 20,8.64 18.36,8.64C16.71,8.64 15.36,7.29 15.36,5.64C15.36,5.34 15.41,5.06 15.5,4.8C14.43,4.29 13.25,4 12,4A8,8 0 0,0 4,12L4.04,12.84L2.05,13.05L2,12A10,10 0 0,1 12,2C13.69,2 15.28,2.42 16.67,3.16C17.16,2.83 17.74,2.64 18.36,2.64M18.36,4.64A1,1 0 0,0 17.36,5.64A1,1 0 0,0 18.36,6.64C18.92,6.64 19.36,6.19 19.36,5.64C19.36,5.08 18.92,4.64 18.36,4.64M5.64,15.36C7.29,15.36 8.64,16.71 8.64,18.36C8.64,18.66 8.59,18.94 8.5,19.2C9.57,19.71 10.75,20 12,20A8,8 0 0,0 20,12L19.96,11.16L21.95,10.95L22,12A10,10 0 0,1 12,22C10.31,22 8.72,21.58 7.33,20.84C6.84,21.17 6.26,21.36 5.64,21.36C4,21.36 2.64,20 2.64,18.36C2.64,16.71 4,15.36 5.64,15.36M5.64,17.36C5.08,17.36 4.64,17.81 4.64,18.36C4.64,18.92 5.08,19.36 5.64,19.36A1,1 0 0,0 6.64,18.36A1,1 0 0,0 5.64,17.36M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8Z\";\r\nexport var mdiAttachment = \"M7.5,18A5.5,5.5 0 0,1 2,12.5A5.5,5.5 0 0,1 7.5,7H18A4,4 0 0,1 22,11A4,4 0 0,1 18,15H9.5A2.5,2.5 0 0,1 7,12.5A2.5,2.5 0 0,1 9.5,10H17V11.5H9.5A1,1 0 0,0 8.5,12.5A1,1 0 0,0 9.5,13.5H18A2.5,2.5 0 0,0 20.5,11A2.5,2.5 0 0,0 18,8.5H7.5A4,4 0 0,0 3.5,12.5A4,4 0 0,0 7.5,16.5H17V18H7.5Z\";\r\nexport var mdiAudioVideo = \"M20,7H4A2,2 0 0,0 2,9V15A2,2 0 0,0 4,17H5V18C5,18.6 5.4,19 6,19H8C8.6,19 9,18.6 9,18V17H15V18C15,18.6 15.4,19 16,19H18C18.6,19 19,18.6 19,18V17H20A2,2 0 0,0 22,15V9A2,2 0 0,0 20,7M14,12H4V10H14V12M18,13A2,2 0 0,1 16,11A2,2 0 0,1 18,9A2,2 0 0,1 20,11A2,2 0 0,1 18,13M6,15H4V14H6V15M10,15H8V14H10V15M14,15H12V14H14V15Z\";\r\nexport var mdiAudioVideoOff = \"M22.1 21.5L2.4 1.7L1.1 3L5.1 7H4C2.9 7 2 7.9 2 9V15C2 16.1 2.9 17 4 17H5V18C5 18.6 5.4 19 6 19H8C8.6 19 9 18.6 9 18V17H15V18C15 18.6 15.4 19 16 19H17.1L20.8 22.7L22.1 21.5M6 15H4V14H6V15M4 12V10H8.1L10.1 12H4M10 15H8V14H10V15M12 15V14H12.1L13.1 15H12M14 10V10.8L20.2 17C21.2 16.9 22 16.1 22 15V9C22 7.9 21.1 7 20 7H10.2L13.2 10H14M18 9C19.1 9 20 9.9 20 11S19.1 13 18 13 16 12.1 16 11 16.9 9 18 9Z\";\r\nexport var mdiAugmentedReality = \"M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5M7,9H10C10.6,9 11,9.5 11,10V15H9.5V13.5H7.5V15H6V10C6,9.5 6.4,9 7,9M13,9H16.5C17.35,9 18,9.65 18,10.5V11.5C18,12.1 17.6,12.65 17.1,12.9L18,15H16.5L15.65,13H14.5V15H13V9M7.5,10.5V12H9.5V10.5H7.5M14.5,10.5V11.5H16.5V10.5H14.5\";\r\nexport var mdiAutoDownload = \"M22 17V19H11V17H22M19 4.5V9.5H22L16.5 15L11 9.5H14V4.5H19M10.7 15H8.8L8.1 13H4.9L4.2 15H2.3L5.5 6H7.5L10.7 15M7.65 11.65L6.5 8L5.35 11.65H7.65Z\";\r\nexport var mdiAutoFix = \"M7.5,5.6L5,7L6.4,4.5L5,2L7.5,3.4L10,2L8.6,4.5L10,7L7.5,5.6M19.5,15.4L22,14L20.6,16.5L22,19L19.5,17.6L17,19L18.4,16.5L17,14L19.5,15.4M22,2L20.6,4.5L22,7L19.5,5.6L17,7L18.4,4.5L17,2L19.5,3.4L22,2M13.34,12.78L15.78,10.34L13.66,8.22L11.22,10.66L13.34,12.78M14.37,7.29L16.71,9.63C17.1,10 17.1,10.65 16.71,11.04L5.04,22.71C4.65,23.1 4,23.1 3.63,22.71L1.29,20.37C0.9,20 0.9,19.35 1.29,18.96L12.96,7.29C13.35,6.9 14,6.9 14.37,7.29Z\";\r\nexport var mdiAutoUpload = \"M5.35,12.65L6.5,9L7.65,12.65M5.5,7L2.3,16H4.2L4.9,14H8.1L8.8,16H10.7L7.5,7M11,20H22V18H11M14,16H19V11H22L16.5,5.5L11,11H14V16Z\";\r\nexport var mdiAutorenew = \"M12,6V9L16,5L12,1V4A8,8 0 0,0 4,12C4,13.57 4.46,15.03 5.24,16.26L6.7,14.8C6.25,13.97 6,13 6,12A6,6 0 0,1 12,6M18.76,7.74L17.3,9.2C17.74,10.04 18,11 18,12A6,6 0 0,1 12,18V15L8,19L12,23V20A8,8 0 0,0 20,12C20,10.43 19.54,8.97 18.76,7.74Z\";\r\nexport var mdiAvTimer = \"M11,17A1,1 0 0,0 12,18A1,1 0 0,0 13,17A1,1 0 0,0 12,16A1,1 0 0,0 11,17M11,3V7H13V5.08C16.39,5.57 19,8.47 19,12A7,7 0 0,1 12,19A7,7 0 0,1 5,12C5,10.32 5.59,8.78 6.58,7.58L12,13L13.41,11.59L6.61,4.79V4.81C4.42,6.45 3,9.05 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12A9,9 0 0,0 12,3M18,12A1,1 0 0,0 17,11A1,1 0 0,0 16,12A1,1 0 0,0 17,13A1,1 0 0,0 18,12M6,12A1,1 0 0,0 7,13A1,1 0 0,0 8,12A1,1 0 0,0 7,11A1,1 0 0,0 6,12Z\";\r\nexport var mdiAws = \"M7.64,10.38C7.64,10.63 7.66,10.83 7.71,11C7.76,11.12 7.83,11.28 7.92,11.46C7.96,11.5 7.97,11.56 7.97,11.61C7.97,11.68 7.93,11.74 7.84,11.81L7.42,12.09C7.36,12.13 7.3,12.15 7.25,12.15C7.18,12.15 7.12,12.11 7.05,12.05C6.96,11.95 6.88,11.85 6.81,11.74C6.75,11.63 6.68,11.5 6.61,11.35C6.09,11.96 5.44,12.27 4.65,12.27C4.09,12.27 3.65,12.11 3.32,11.79C3,11.47 2.83,11.04 2.83,10.5C2.83,9.95 3.03,9.5 3.43,9.14C3.84,8.8 4.38,8.62 5.06,8.62C5.29,8.62 5.5,8.64 5.77,8.68C6,8.71 6.27,8.76 6.53,8.82V8.34C6.53,7.83 6.43,7.5 6.22,7.27C6,7.06 5.65,6.97 5.14,6.97C4.9,6.97 4.66,7 4.42,7.05C4.17,7.11 3.93,7.18 3.7,7.28C3.59,7.32 3.5,7.35 3.47,7.36C3.42,7.38 3.39,7.38 3.36,7.38C3.27,7.38 3.22,7.32 3.22,7.18V6.85C3.22,6.75 3.23,6.67 3.27,6.62C3.3,6.57 3.36,6.53 3.45,6.5C3.69,6.36 3.96,6.26 4.29,6.18C4.62,6.09 4.96,6.05 5.33,6.05C6.12,6.05 6.7,6.23 7.07,6.59C7.44,6.95 7.62,7.5 7.62,8.23V10.38H7.64M4.94,11.4C5.16,11.4 5.38,11.36 5.62,11.28C5.86,11.2 6.07,11.05 6.25,10.85C6.36,10.72 6.44,10.58 6.5,10.42C6.5,10.26 6.55,10.07 6.55,9.84V9.57C6.35,9.5 6.15,9.5 5.93,9.45C5.72,9.43 5.5,9.41 5.31,9.41C4.86,9.41 4.54,9.5 4.32,9.68C4.1,9.86 4,10.11 4,10.44C4,10.76 4.07,11 4.24,11.15C4.4,11.32 4.63,11.4 4.94,11.4M10.28,12.11C10.16,12.11 10.08,12.09 10,12.05C9.97,12 9.92,11.91 9.88,11.79L8.32,6.65C8.28,6.5 8.26,6.43 8.26,6.38C8.26,6.27 8.31,6.21 8.42,6.21H9.07C9.2,6.21 9.29,6.23 9.33,6.28C9.39,6.32 9.43,6.41 9.47,6.54L10.58,10.94L11.62,6.54C11.65,6.41 11.69,6.32 11.75,6.28C11.8,6.24 11.89,6.21 12,6.21H12.55C12.67,6.21 12.76,6.23 12.81,6.28C12.86,6.32 12.91,6.41 12.94,6.54L14,11L15.14,6.54C15.18,6.41 15.23,6.32 15.27,6.28C15.33,6.24 15.41,6.21 15.53,6.21H16.15C16.26,6.21 16.32,6.27 16.32,6.38C16.32,6.41 16.31,6.45 16.3,6.5C16.3,6.5 16.28,6.58 16.26,6.65L14.65,11.79C14.61,11.93 14.57,12 14.5,12.05C14.46,12.09 14.37,12.12 14.26,12.12H13.69C13.56,12.12 13.5,12.1 13.42,12.05C13.37,12 13.32,11.92 13.3,11.79L12.27,7.5L11.24,11.78C11.21,11.91 11.17,12 11.12,12.05C11.06,12.09 10.97,12.11 10.85,12.11H10.28M18.83,12.29C18.5,12.29 18.13,12.25 17.8,12.17C17.47,12.09 17.21,12 17.04,11.91C16.93,11.85 16.86,11.78 16.83,11.72C16.8,11.66 16.79,11.6 16.79,11.54V11.2C16.79,11.06 16.84,11 16.94,11C17,11 17,11 17.06,11C17.1,11 17.16,11.05 17.23,11.08C17.45,11.18 17.7,11.26 17.96,11.31C18.23,11.36 18.5,11.39 18.75,11.39C19.17,11.39 19.5,11.32 19.72,11.17C19.95,11 20.07,10.81 20.07,10.54C20.07,10.35 20,10.2 19.89,10.07C19.77,9.95 19.54,9.83 19.22,9.73L18.25,9.43C17.77,9.27 17.41,9.05 17.19,8.75C16.97,8.46 16.86,8.13 16.86,7.78C16.86,7.5 16.92,7.26 17.04,7.05C17.16,6.83 17.32,6.65 17.5,6.5C17.72,6.35 17.94,6.24 18.21,6.16C18.47,6.08 18.75,6.04 19.05,6.04C19.19,6.04 19.34,6.05 19.5,6.07C19.64,6.09 19.78,6.12 19.92,6.14C20.06,6.18 20.18,6.21 20.3,6.25C20.42,6.29 20.5,6.33 20.58,6.37C20.67,6.42 20.74,6.47 20.78,6.53C20.82,6.59 20.84,6.66 20.84,6.75V7.07C20.84,7.21 20.79,7.28 20.69,7.28C20.64,7.28 20.55,7.25 20.43,7.2C20.06,7.03 19.63,6.94 19.16,6.94C18.78,6.94 18.5,7 18.27,7.13C18.07,7.25 17.96,7.45 17.96,7.72C17.96,7.91 18.03,8.07 18.16,8.19C18.29,8.32 18.54,8.44 18.89,8.56L19.84,8.86C20.32,9 20.66,9.22 20.87,9.5C21.07,9.77 21.17,10.08 21.17,10.43C21.17,10.71 21.11,10.97 21,11.2C20.88,11.42 20.72,11.62 20.5,11.78C20.31,11.95 20.06,12.07 19.78,12.16C19.5,12.25 19.16,12.29 18.83,12.29M20.08,15.53C17.89,17.14 14.71,18 12,18C8.15,18 4.7,16.58 2.09,14.23C1.88,14.04 2.07,13.79 2.32,13.94C5.14,15.57 8.61,16.56 12.21,16.56C14.64,16.56 17.31,16.06 19.76,15C20.13,14.85 20.44,15.26 20.08,15.53M21,14.5C20.71,14.13 19.14,14.32 18.43,14.4C18.22,14.43 18.19,14.24 18.38,14.1C19.63,13.23 21.69,13.5 21.92,13.77C22.16,14.07 21.86,16.13 20.69,17.11C20.5,17.26 20.33,17.18 20.41,17C20.68,16.32 21.27,14.84 21,14.5Z\";\r\nexport var mdiAxe = \"M12,2L22,8C22,12 20,14 16,15L13,10L9,6L12,2M4.11,19.84L2.12,18.33L9.19,9L11,10.81L4.11,19.84Z\";\r\nexport var mdiAxis = \"M2.61,21L1.61,19.27L11,13.85V3H13V13.85L22.39,19.27L21.39,21L12,15.58L2.61,21Z\";\r\nexport var mdiAxisArrow = \"M12,2L16,6H13V13.85L19.53,17.61L21,15.03L22.5,20.5L17,21.96L18.53,19.35L12,15.58L5.47,19.35L7,21.96L1.5,20.5L3,15.03L4.47,17.61L11,13.85V6H8L12,2Z\";\r\nexport var mdiAxisArrowInfo = \"M12 2L16 6H13V13.85L19.53 17.61L21 15.03L22.5 20.5L17 21.96L18.53 19.35L12 15.58L5.47 19.35L7 21.96L1.5 20.5L3 15.03L4.47 17.61L11 13.85V6H8L12 2M21 5H19V3H21V5M22 10V12H18V10H19V8H18V6H21V10H22Z\";\r\nexport var mdiAxisArrowLock = \"M21.8,5C22.4,5 23,5.6 23,6.3V9.8C23,10.4 22.4,11 21.7,11H16.2C15.6,11 15,10.4 15,9.7V6.2C15,5.6 15.6,5 16.2,5V3.5C16.2,2.1 17.6,1 19,1C20.4,1 21.8,2.1 21.8,3.5V5M20.5,5V3.5C20.5,2.7 19.8,2.2 19,2.2C18.2,2.2 17.5,2.7 17.5,3.5V5H20.5M1.74,19.25L3.21,13.79L4.68,16.34L9,13.85V6H6L10,2L14,6H11V13.85L18.03,17.86L19.5,15.28L21,20.74L15.5,22.21L17.03,19.6L10,15.58L5.68,18.07L7.21,20.71L1.74,19.25Z\";\r\nexport var mdiAxisLock = \"M21.8,5C22.4,5 23,5.6 23,6.3V9.8C23,10.4 22.4,11 21.7,11H16.2C15.6,11 15,10.4 15,9.7V6.2C15,5.6 15.6,5 16.2,5V3.5C16.2,2.1 17.6,1 19,1C20.4,1 21.8,2.1 21.8,3.5V5M20.5,5V3.5C20.5,2.7 19.8,2.2 19,2.2C18.2,2.2 17.5,2.7 17.5,3.5V5H20.5M11,13.82L20.39,19.25L19.39,21L10,15.56L3.17,19.5L2.17,17.77L9,13.82V3H11V13.82Z\";\r\nexport var mdiAxisXArrow = \"M1.5,20.5L3,15.03L4.46,17.6L11,13.82V3H13V13.82L22.39,19.25L21.39,21L12,15.56L5.46,19.33L7,21.96L1.5,20.5Z\";\r\nexport var mdiAxisXArrowLock = \"M21.8,5C22.4,5 23,5.6 23,6.3V9.8C23,10.4 22.4,11 21.7,11H16.2C15.6,11 15,10.4 15,9.7V6.2C15,5.6 15.6,5 16.2,5V3.5C16.2,2.1 17.6,1 19,1C20.4,1 21.8,2.1 21.8,3.5V5M20.5,5V3.5C20.5,2.7 19.8,2.2 19,2.2C18.31,2.2 17.69,2.58 17.54,3.2C17.5,3.29 17.5,3.39 17.5,3.5V5H20.5M1.74,19.25L3.21,13.79L4.67,16.32L9,13.82V3H11V13.82L20.39,19.25L19.39,21L10,15.56L5.67,18.06L7.21,20.71L1.74,19.25Z\";\r\nexport var mdiAxisXRotateClockwise = \"M12,10H14.91C14.57,6.55 13.4,4 12,4C10.42,4 9.12,7.27 9,11.42L7,12.57V12C7,6.5 9.24,2 12,2C14.42,2 16.44,5.44 16.9,10H20L16,14L12,10M12,22C10.12,22 8.47,19.92 7.62,16.84L9.37,15.83C9.87,18.31 10.86,20 12,20C13.27,20 14.36,17.89 14.79,14.92L16,16.12L16.7,15.42C16,19.26 14.16,22 12,22M2.11,18.87L1.11,17.13L1.06,17.06L11.12,11.25L12.72,12.84L2.15,18.94L2.11,18.87M21.89,5.13L22.89,6.87L19.2,9H17.77L17.5,7.66L21.89,5.13Z\";\r\nexport var mdiAxisXRotateCounterclockwise = \"M12,14L16,10L20,14H16.9C16.44,18.56 14.42,22 12,22C10.12,22 8.47,19.92 7.62,16.84L9.37,15.83C9.87,18.31 10.86,20 12,20C13.4,20 14.57,17.45 14.91,14H12M1.11,17.13L13.89,9.75L13.96,10.54L10.5,14H10.54L2.11,18.87L1.11,17.13M21.89,5.13L22.89,6.87L17.88,9.76C17.79,9.03 17.67,8.33 17.5,7.66L21.89,5.13M12,2C14.3,2 16.23,5.1 16.82,9.32L16,8.5L14.87,9.63C14.5,6.37 13.35,4 12,4C10.42,4 9.12,7.27 9,11.42L7,12.57V12C7,6.5 9.24,2 12,2Z\";\r\nexport var mdiAxisXYArrowLock = \"M21.8,5C22.4,5 23,5.6 23,6.3V9.8C23,10.4 22.4,11 21.7,11H16.2C15.6,11 15,10.4 15,9.7V6.2C15,5.6 15.6,5 16.2,5V3.5C16.2,2.1 17.6,1 19,1C20.4,1 21.8,2.1 21.8,3.5V5M20.5,5V3.5C20.5,2.7 19.8,2.2 19,2.2C18.2,2.2 17.5,2.7 17.5,3.5V5H20.5M1.74,19.25L3.21,13.79L4.68,16.34L9,13.85V3H11V13.85L17.53,17.61L19,15.03L20.5,20.5L15,21.96L16.53,19.35L10,15.58L5.68,18.07L7.21,20.71L1.74,19.25Z\";\r\nexport var mdiAxisYArrow = \"M22.5,20.5L17,21.96L18.53,19.35L12,15.58L2.61,21L1.61,19.27L11,13.85V3H13V13.85L19.53,17.61L21,15.03L22.5,20.5Z\";\r\nexport var mdiAxisYArrowLock = \"M11,13.82L18,17.88L19.5,15.28L21,20.74L15.5,22.21L17,19.61L10,15.56L3.17,19.5L2.17,17.77L9,13.82V3H11V13.82M21.8,5C22.4,5 23,5.6 23,6.3V9.8C23,10.4 22.4,11 21.7,11H16.2C15.6,11 15,10.4 15,9.7V6.2C15,5.6 15.6,5 16.2,5V3.5C16.2,2.1 17.6,1 19,1C20.4,1 21.8,2.1 21.8,3.5V5M20.5,5V3.5C20.5,2.7 19.8,2.2 19,2.2C18.2,2.2 17.5,2.7 17.5,3.5V5H20.5Z\";\r\nexport var mdiAxisYRotateClockwise = \"M12,10L16,14L20,10H16.9C16.44,5.44 14.42,2 12,2C10.12,2 8.47,4.08 7.62,7.16L9.37,8.17C9.87,5.69 10.86,4 12,4C13.4,4 14.57,6.55 14.91,10H12M1.11,6.87L13.89,14.25L13.96,13.46L10.5,10H10.54L2.11,5.13L1.11,6.87M21.89,18.87L22.89,17.13L17.88,14.24C17.79,14.97 17.67,15.67 17.5,16.34L21.89,18.87M12,22C14.3,22 16.23,18.9 16.82,14.68L16,15.5L14.87,14.37C14.5,17.63 13.35,20 12,20C10.42,20 9.12,16.73 9,12.58L7,11.43V12C7,17.5 9.24,22 12,22Z\";\r\nexport var mdiAxisYRotateCounterclockwise = \"M12,14H14.91C14.57,17.45 13.4,20 12,20C10.42,20 9.12,16.73 9,12.58L7,11.43V12C7,17.5 9.24,22 12,22C14.42,22 16.44,18.56 16.9,14H20L16,10L12,14M12,2C10.12,2 8.47,4.08 7.62,7.16L9.37,8.17C9.87,5.69 10.86,4 12,4C13.27,4 14.36,6.11 14.79,9.08L16,7.88L16.7,8.58C16,4.74 14.16,2 12,2M2.11,5.13L1.11,6.87L1.06,6.94L11.12,12.75L12.72,11.16L2.15,5.06L2.11,5.13M21.89,18.87L22.89,17.13L19.2,15H17.77L17.5,16.34L21.89,18.87Z\";\r\nexport var mdiAxisZArrow = \"M12,2L16,6H13V13.82L22.39,19.25L21.39,21L12,15.56L2.61,21L1.61,19.25L11,13.82V6H8L12,2Z\";\r\nexport var mdiAxisZArrowLock = \"M21.8,5C22.4,5 23,5.6 23,6.3V9.8C23,10.4 22.4,11 21.7,11H16.2C15.6,11 15,10.4 15,9.7V6.2C15,5.6 15.6,5 16.2,5V3.5C16.2,2.1 17.6,1 19,1C20.4,1 21.8,2.1 21.8,3.5V5M20.5,5V3.5C20.5,2.7 19.8,2.2 19,2.2C18.2,2.2 17.5,2.7 17.5,3.5V5H20.5M10,2L14,6H11V13.82L20.39,19.25L19.39,21L10,15.56L3.17,19.5L2.17,17.77L9,13.82V6H6L10,2Z\";\r\nexport var mdiAxisZRotateClockwise = \"M14,12L10,16L14,20V16.9C18.56,16.44 22,14.42 22,12C22,9.58 18.56,7.56 14,7.1V9.09C17.45,9.43 20,10.6 20,12C20,13.4 17.45,14.57 14,14.91V12M4,12C4,10.6 6.55,9.43 10,9.09V7.1C5.44,7.56 2,9.58 2,12C2,14.16 4.74,16 8.58,16.7L7.88,16L9.08,14.79C6.11,14.36 4,13.27 4,12M13,2H11V13L13,11V2M13,22V21L11,19V22H13Z\";\r\nexport var mdiAxisZRotateCounterclockwise = \"M10,12L14,16L10,20V16.9C5.44,16.44 2,14.42 2,12C2,9.58 5.44,7.56 10,7.1V9.09C6.55,9.43 4,10.6 4,12C4,13.4 6.55,14.57 10,14.91V12M20,12C20,10.6 17.45,9.43 14,9.09V7.1C18.56,7.56 22,9.58 22,12C22,14.16 19.26,16 15.42,16.7L16.12,16L14.92,14.79C17.89,14.36 20,13.27 20,12M11,2H13V13L11,11V2M11,22V21L13,19V22H11Z\";\r\nexport var mdiBabel = \"M15.14 2C13.8 2.12 12.04 2.59 9.87 3.43C9.28 3.87 8.6 4.3 7.84 4.72V4.85C7.9 4.85 7.96 4.81 8.04 4.77C8.13 4.76 8.19 4.79 8.19 4.88L8.32 4.8L8.39 4.79L8.4 4.86C8.41 4.92 7.93 5.29 7 5.96L7.06 6.09H7L6.84 6.04C6.84 6.09 6.78 6.11 6.64 6.12L6.65 6.19L6.81 6.37C6.75 6.37 6.68 6.36 6.6 6.32C6.29 6.35 6 6.58 5.69 7L5.77 7.12C6.03 6.88 6.18 6.76 6.22 6.76L6.24 6.95C6.2 6.95 6.12 7 6.04 7.03L6.2 7.27C6.5 6.93 6.86 6.64 7.24 6.41C7.43 6.46 7.53 6.5 7.53 6.58L7.67 6.57C8.69 5.81 9.71 5.27 10.71 4.93L10.72 5.06C10.53 5.34 10.4 5.5 10.33 5.5C10.34 5.59 10.38 5.67 10.43 5.74C10.45 5.92 10 7.06 9.07 9.19C6.95 14.13 5.19 17.78 3.77 20.16C3.77 20.2 3.8 20.27 3.85 20.35C4.2 20.26 4.42 20.18 4.5 20.1L4.6 20.09L4.61 20.22L4.74 20.21L4.88 20.13C4.88 20.18 4.93 20.19 5 20.18L5.03 20.31C5.03 20.45 4.96 20.65 4.8 20.92C4.65 21.08 4.5 21.42 4.34 21.94V22H4.47C5.04 21.35 5.5 20.72 5.78 20.11C7.44 19.62 8.71 19.15 9.59 18.67C10.47 18.6 11.15 18.37 11.61 18L11.6 17.91L11.27 18H11.19L11.18 17.95C11.83 17.85 12.28 17.7 12.5 17.5C13.79 16.54 14.74 15.85 15.39 15.44C17.39 13.97 18.33 12.55 18.22 11.21C18.21 11.07 17.76 10.5 16.9 9.56C16.88 9.38 17.19 9.12 17.8 8.77L19.53 7.24C19.92 6.74 20.15 5.94 20.23 4.83L20.2 4.57C20.14 3.79 19.58 3.16 18.5 2.68C17.88 2.25 16.76 2.03 15.14 2M17.24 2.87C18.53 2.92 19.19 3.14 19.23 3.55L19.18 3.68L17.24 2.87M16 3.96C16.89 3.95 17.35 4.18 17.4 4.68L17.5 4.67V4.34L17.64 4.33C18 4.5 18.16 4.74 18.18 5C18.2 5.2 18.1 5.42 17.89 5.69C17.8 5.7 17.75 5.64 17.74 5.5H17.6L17.56 5.91C17 6.78 16.56 7.23 16.3 7.26C16.06 7.58 15.91 7.75 15.85 7.75C15.67 7.97 15.17 8.35 14.35 8.87C14.08 8.9 13.07 9.28 11.34 10.04C11.25 10 11.16 10 11.06 10L11.05 9.88C11.03 9.62 11.14 9.31 11.39 8.92C11.5 8.21 11.67 7.8 11.83 7.7L13.28 4.44C13.27 4.24 13.57 4.09 14.21 4L14.42 3.96L14.44 4.15C15.06 4.05 15.45 4 15.6 4C15.74 3.97 15.88 3.96 16 3.96M19 4.29H19.04C19.16 4.3 19.28 4.5 19.41 4.91L19.42 5.03C19.35 5.04 19.22 4.83 19.03 4.41L19 4.29M10.82 6.36H10.88L10.9 6.55C10.84 6.56 10.75 6.65 10.65 6.83L10.64 6.7C10.76 6.55 10.82 6.43 10.82 6.36M6.67 6.46L6.68 6.5C6.63 6.5 6.56 6.56 6.5 6.6L6.41 6.61L6.39 6.5L6.67 6.46M10.24 7.72L10.26 8H10.19L10.16 7.73L10.24 7.72M10.07 8.19C10.05 8.41 10 8.5 9.89 8.53L9.82 8.54C9.9 8.39 9.94 8.29 9.93 8.21L10.07 8.19M9.78 8.87L9.79 8.93L9.67 9.14L9.54 9.15L9.53 9.09C9.66 9.08 9.72 9 9.71 8.88L9.78 8.87M9.5 9.5L9.45 9.81H9.38L9.36 9.5H9.5M16.57 9.72L16.85 9.89C16.86 10 16.82 10.03 16.73 10.04C16.61 9.96 16.5 9.93 16.44 9.93L16.43 9.73L16.57 9.72M11 10.46L11.03 10.58L10.76 10.61L10.75 10.5L11 10.46M15.5 10.91C15.68 11 15.78 11.09 15.79 11.16L15.8 11.22C15.61 11.24 15.45 11.14 15.29 10.93L15.5 10.91M17.66 11.12C17.81 11.18 17.88 11.25 17.89 11.31L17.93 11.82C17.87 11.96 17.81 12.03 17.74 12.03L17.66 11.12M14.16 11.18C14.86 11.17 15.4 11.33 15.76 11.68L15.79 11.94C15.5 12.85 15.13 13.38 14.75 13.54L13 14.93C11.7 15.79 11 16.21 10.9 16.22C8.83 17.36 7.54 17.95 7.04 18H6.96C7.03 17.76 7.95 15.87 9.73 12.33C10.5 12.26 11.76 11.89 13.44 11.23L13.85 11.19C13.96 11.19 14.06 11.18 14.16 11.18M11.62 11.59L11.63 11.65L11.35 11.67L11.34 11.61L11.62 11.59M7.26 15.81C7.17 16.26 7.08 16.5 7 16.5L6.97 16.43C6.95 16.2 7.05 16 7.26 15.81M13.18 16.09L13.19 16.21C13.2 16.27 13 16.43 12.6 16.72C11.44 17.29 10.76 17.68 10.56 17.88C9.3 18.32 8.68 18.59 8.69 18.69C7.57 19.14 6.84 19.46 6.5 19.66C6.41 19.67 6.29 19.63 6.13 19.56C6.12 19.34 6.21 19.15 6.44 19C6.63 19 6.82 19 7 19.09C7.21 19 7.57 18.87 8.08 18.74L8.07 18.61L7.66 18.65C7.71 18.58 8.11 18.4 8.86 18.09L9.07 18.07L9.08 18.13C8.73 18.16 8.53 18.27 8.5 18.46C8.5 18.53 8.53 18.58 8.62 18.57C8.87 18.39 9 18.3 9 18.27C9.5 18.18 10.9 17.44 13.18 16.09M6.86 16.69L6.87 16.75C6.88 16.84 6.83 16.89 6.74 16.9V16.84C6.73 16.76 6.77 16.71 6.86 16.69M10 17.5C10.07 17.47 10.12 17.5 10.12 17.58C9.96 17.6 9.65 17.73 9.19 18H9.12L9.11 17.87C9.44 17.84 9.73 17.71 9.97 17.5H10M6.95 18.5L6.96 18.58C6.9 18.58 6.84 18.61 6.75 18.66L6.62 18.67C6.61 18.61 6.65 18.55 6.74 18.53L6.95 18.5M5.35 19.3L5.5 19.36C5.44 19.76 5.33 19.96 5.13 20C4.97 19.91 4.83 19.88 4.7 19.89L4.68 19.7C4.67 19.62 4.72 19.57 4.82 19.55C4.9 19.54 4.95 19.6 4.96 19.73C5.2 19.44 5.33 19.3 5.35 19.3Z\";\r\nexport var mdiBaby = \"M18.5,4A2.5,2.5 0 0,1 21,6.5A2.5,2.5 0 0,1 18.5,9A2.5,2.5 0 0,1 16,6.5A2.5,2.5 0 0,1 18.5,4M4.5,20A1.5,1.5 0 0,1 3,18.5A1.5,1.5 0 0,1 4.5,17H11.5A1.5,1.5 0 0,1 13,18.5A1.5,1.5 0 0,1 11.5,20H4.5M16.09,19L14.69,15H11L6.75,10.75C6.75,10.75 9,8.25 12.5,8.25C15.5,8.25 15.85,9.25 16.06,9.87L18.92,18C19.2,18.78 18.78,19.64 18,19.92C17.22,20.19 16.36,19.78 16.09,19Z\";\r\nexport var mdiBabyBottle = \"M11.28 2.8L10.78 3.3A5.5 5.5 0 0 0 6.41 2.87L6.33 2.8A2.5 2.5 0 0 0 2.8 6.33L2.87 6.41A5.5 5.5 0 0 0 3.3 10.78L2.8 11.28A1.5 1.5 0 0 0 2.8 13.4L4.21 14.82A1.5 1.5 0 0 0 6.33 14.82L6.68 14.46L13.76 21.53A1.5 1.5 0 0 0 15.88 21.53L21.53 15.88A1.5 1.5 0 0 0 21.53 13.76L14.46 6.68L14.82 6.33A1.5 1.5 0 0 0 14.82 4.21L13.4 2.8A1.5 1.5 0 0 0 11.28 2.8M13.76 5.27L5.27 13.76L3.86 12.34L12.34 3.86M14.82 11.63L11.63 14.82L10.57 13.76L13.76 10.57M16.94 13.76L13.76 16.94L12.69 15.88L15.88 12.69Z\";\r\nexport var mdiBabyBottleOutline = \"M11.28 2.8L10.78 3.3C9.44 2.55 7.84 2.4 6.41 2.87L6.33 2.8C5.36 1.82 3.77 1.82 2.8 2.8S1.82 5.36 2.8 6.33L2.87 6.41C2.4 7.84 2.55 9.44 3.3 10.78L2.8 11.28C2.21 11.87 2.21 12.81 2.8 13.4L4.21 14.82C4.8 15.4 5.74 15.4 6.33 14.82L6.68 14.46L13.76 21.53C14.34 22.12 15.29 22.12 15.88 21.53L21.53 15.88C22.12 15.29 22.12 14.34 21.53 13.75L14.46 6.68L14.82 6.33C15.4 5.74 15.4 4.8 14.82 4.21L13.4 2.79C12.82 2.21 11.87 2.21 11.28 2.8M4.25 7.05C4.33 6.71 4.47 6.38 4.66 6.07L3.86 5.27C3.75 5.16 3.67 5.04 3.63 4.9C3.5 4.56 3.57 4.14 3.86 3.86S4.56 3.5 4.9 3.63C5.04 3.67 5.16 3.75 5.27 3.86L6.07 4.66C6.38 4.47 6.71 4.33 7.05 4.25C7.91 4 8.83 4.06 9.65 4.42L4.42 9.65C4.06 8.83 4 7.91 4.25 7.05M20.47 14.82L14.82 20.47L7.75 13.4L13.4 7.75L20.47 14.82M13.76 5.27L5.27 13.76L3.86 12.34L12.34 3.86L13.76 5.27M14.82 11.63L11.63 14.82L10.57 13.76L13.76 10.57L14.82 11.63M16.94 13.76L13.76 16.94L12.69 15.88L15.88 12.69L16.94 13.76Z\";\r\nexport var mdiBabyBuggy = \"M17 20A2 2 0 0 1 15 22A2 2 0 0 1 13 20A2 2 0 0 1 15 18A2 2 0 0 1 17 20M7 20A2 2 0 0 1 5 22A2 2 0 0 1 3 20A2 2 0 0 1 5 18A2 2 0 0 1 7 20M17.61 3C16.95 3 16.44 3.2 16 3.5C15.32 3.91 14.88 4.59 14.47 5.07L5.71 15.35C5.16 16 5.62 17 6.47 17H14C15.11 17 16 16.1 16 15V6.38C16.58 5.7 16.93 5 17.61 5C18.38 5 19 5.66 19 6.5V7H21V6.5C21 4.56 19.5 3 17.61 3M8.86 3.09C7.04 3.16 5.23 3.76 3.68 4.9L8.44 9.66L12.32 5.1C12.59 4.78 12.91 4.38 13.3 4C12.14 3.45 10.9 3.15 9.65 3.09C9.39 3.08 9.12 3.08 8.86 3.09Z\";\r\nexport var mdiBabyCarriage = \"M13,2V10H21A8,8 0 0,0 13,2M19.32,15.89C20.37,14.54 21,12.84 21,11H6.44L5.5,9H2V11H4.22C4.22,11 6.11,15.07 6.34,15.42C5.24,16 4.5,17.17 4.5,18.5A3.5,3.5 0 0,0 8,22C9.76,22 11.22,20.7 11.46,19H13.54C13.78,20.7 15.24,22 17,22A3.5,3.5 0 0,0 20.5,18.5C20.5,17.46 20.04,16.53 19.32,15.89M8,20A1.5,1.5 0 0,1 6.5,18.5A1.5,1.5 0 0,1 8,17A1.5,1.5 0 0,1 9.5,18.5A1.5,1.5 0 0,1 8,20M17,20A1.5,1.5 0 0,1 15.5,18.5A1.5,1.5 0 0,1 17,17A1.5,1.5 0 0,1 18.5,18.5A1.5,1.5 0 0,1 17,20Z\";\r\nexport var mdiBabyCarriageOff = \"M22 10C22 5.6 18.4 2 14 2V10H22M14.2 11H22C22 12.8 21.4 14.5 20.3 15.9C21 16.5 21.4 17.4 21.5 18.3L14.2 11M20.8 22.7L22.1 21.4L2.4 1.7L1.1 3L9.1 11H7.4L6.5 9H3V11H5.2C5.2 11 7.1 15.1 7.3 15.4C6.3 15.9 5.6 16.9 5.5 18C5.2 19.9 6.6 21.7 8.5 22C10.4 22.3 12.2 20.9 12.5 19H14.6C14.7 19.4 14.8 19.8 15 20.2C15.9 21.9 18.1 22.5 19.7 21.6L20.8 22.7M10.5 18.5C10.5 19.3 9.8 20 9 20S7.5 19.3 7.5 18.5 8.2 17 9 17 10.5 17.7 10.5 18.5M18.1 20C17.2 20 16.5 19.3 16.5 18.5V18.4L18.1 20Z\";\r\nexport var mdiBabyFace = \"M1,12C1,10.19 2.2,8.66 3.86,8.17C5.29,5.11 8.4,3 12,3C15.6,3 18.71,5.11 20.15,8.17C21.8,8.66 23,10.19 23,12C23,13.81 21.8,15.34 20.15,15.83C18.71,18.89 15.6,21 12,21C8.4,21 5.29,18.89 3.86,15.83C2.2,15.34 1,13.81 1,12M14.5,9.25A1.25,1.25 0 0,0 13.25,10.5A1.25,1.25 0 0,0 14.5,11.75A1.25,1.25 0 0,0 15.75,10.5A1.25,1.25 0 0,0 14.5,9.25M9.5,9.25A1.25,1.25 0 0,0 8.25,10.5A1.25,1.25 0 0,0 9.5,11.75A1.25,1.25 0 0,0 10.75,10.5A1.25,1.25 0 0,0 9.5,9.25M7.5,14C8.26,15.77 10,17 12,17C14,17 15.74,15.77 16.5,14H7.5M3,12C3,12.82 3.5,13.53 4.21,13.84C4.07,13.25 4,12.63 4,12C4,11.37 4.07,10.75 4.21,10.16C3.5,10.47 3,11.18 3,12M21,12C21,11.18 20.5,10.47 19.79,10.16C19.93,10.75 20,11.37 20,12C20,12.63 19.93,13.25 19.79,13.84C20.5,13.53 21,12.82 21,12Z\";\r\nexport var mdiBabyFaceOutline = \"M14.5,9.25A1.25,1.25 0 0,1 15.75,10.5A1.25,1.25 0 0,1 14.5,11.75A1.25,1.25 0 0,1 13.25,10.5A1.25,1.25 0 0,1 14.5,9.25M9.5,9.25A1.25,1.25 0 0,1 10.75,10.5A1.25,1.25 0 0,1 9.5,11.75A1.25,1.25 0 0,1 8.25,10.5A1.25,1.25 0 0,1 9.5,9.25M7.5,14H16.5C15.74,15.77 14,17 12,17C10,17 8.26,15.77 7.5,14M1,12C1,10.19 2.2,8.66 3.86,8.17C5.29,5.11 8.4,3 12,3C15.6,3 18.71,5.11 20.15,8.17C21.8,8.66 23,10.19 23,12C23,13.81 21.8,15.34 20.15,15.83C18.71,18.89 15.6,21 12,21C8.4,21 5.29,18.89 3.86,15.83C2.2,15.34 1,13.81 1,12M12,5C8.82,5 6.14,7.12 5.28,10H5A2,2 0 0,0 3,12A2,2 0 0,0 5,14H5.28C6.14,16.88 8.82,19 12,19C15.18,19 17.86,16.88 18.72,14H19A2,2 0 0,0 21,12A2,2 0 0,0 19,10H18.72C17.86,7.12 15.18,5 12,5Z\";\r\nexport var mdiBackburger = \"M5,13L9,17L7.6,18.42L1.18,12L7.6,5.58L9,7L5,11H21V13H5M21,6V8H11V6H21M21,16V18H11V16H21Z\";\r\nexport var mdiBackspace = \"M22,3H7C6.31,3 5.77,3.35 5.41,3.88L0,12L5.41,20.11C5.77,20.64 6.31,21 7,21H22A2,2 0 0,0 24,19V5A2,2 0 0,0 22,3M19,15.59L17.59,17L14,13.41L10.41,17L9,15.59L12.59,12L9,8.41L10.41,7L14,10.59L17.59,7L19,8.41L15.41,12\";\r\nexport var mdiBackspaceOutline = \"M19,15.59L17.59,17L14,13.41L10.41,17L9,15.59L12.59,12L9,8.41L10.41,7L14,10.59L17.59,7L19,8.41L15.41,12L19,15.59M22,3A2,2 0 0,1 24,5V19A2,2 0 0,1 22,21H7C6.31,21 5.77,20.64 5.41,20.11L0,12L5.41,3.88C5.77,3.35 6.31,3 7,3H22M22,5H7L2.28,12L7,19H22V5Z\";\r\nexport var mdiBackspaceReverse = \"M2,21H17C17.7,21 18.2,20.6 18.6,20.1L24,12L18.6,3.9C18.2,3.4 17.7,3 17,3H2A2,2 0 0,0 0,5V19A2,2 0 0,0 2,21M5,8.4L6.4,7L10,10.6L13.6,7L15,8.4L11.4,12L15,15.6L13.6,17L10,13.4L6.4,17L5,15.6L8.6,12\";\r\nexport var mdiBackspaceReverseOutline = \"M5,15.59L6.41,17L10,13.41L13.59,17L15,15.59L11.41,12L15,8.41L13.59,7L10,10.59L6.41,7L5,8.41L8.59,12L5,15.59M2,3A2,2 0 0,0 0,5V19A2,2 0 0,0 2,21H17C17.69,21 18.23,20.64 18.59,20.11L24,12L18.59,3.88C18.23,3.35 17.69,3 17,3H2M2,5H17L21.72,12L17,19H2V5Z\";\r\nexport var mdiBackupRestore = \"M12,3A9,9 0 0,0 3,12H0L4,16L8,12H5A7,7 0 0,1 12,5A7,7 0 0,1 19,12A7,7 0 0,1 12,19C10.5,19 9.09,18.5 7.94,17.7L6.5,19.14C8.04,20.3 9.94,21 12,21A9,9 0 0,0 21,12A9,9 0 0,0 12,3M14,12A2,2 0 0,0 12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12Z\";\r\nexport var mdiBacteria = \"M21,16C21,15.5 20.95,15.08 20.88,14.68L22.45,13.9L21.55,12.1L20.18,12.79C19.63,11.96 18.91,11.5 18.29,11.28L18.95,9.32L17.05,8.68L16.29,10.96C14.96,10.83 14.17,10.32 13.7,9.77L15.45,8.9L14.55,7.1L13,7.89C12.97,7.59 12.86,6.72 12.28,5.87L13.83,3.55L12.17,2.44L10.76,4.56C10.28,4.33 9.7,4.15 9,4.06V2H7V4.1C6.29,4.25 5.73,4.54 5.32,4.91L2.7,2.29L1.29,3.71L4.24,6.65C4,7.39 4,8 4,8H2V10H4.04C4.1,10.63 4.21,11.36 4.4,12.15L1.68,13.05L2.31,14.95L5,14.05C5.24,14.56 5.5,15.08 5.82,15.58L3.44,17.17L4.55,18.83L7.07,17.15C7.63,17.71 8.29,18.21 9.06,18.64L8.1,20.55L9.89,21.45L10.89,19.45L10.73,19.36C11.68,19.68 12.76,19.9 14,19.97V22H16V19.93C16.76,19.84 17.81,19.64 18.77,19.19L20.29,20.71L21.7,19.29L20.37,17.95C20.75,17.44 21,16.8 21,16M8.5,11A1.5,1.5 0 0,1 7,9.5A1.5,1.5 0 0,1 8.5,8A1.5,1.5 0 0,1 10,9.5A1.5,1.5 0 0,1 8.5,11M11,14A1,1 0 0,1 10,13A1,1 0 0,1 11,12A1,1 0 0,1 12,13A1,1 0 0,1 11,14M15.5,17A1.5,1.5 0 0,1 14,15.5A1.5,1.5 0 0,1 15.5,14A1.5,1.5 0 0,1 17,15.5A1.5,1.5 0 0,1 15.5,17Z\";\r\nexport var mdiBacteriaOutline = \"M9,2H7V4.1C6.29,4.25 5.73,4.54 5.32,4.91L2.7,2.29L1.29,3.71L4.24,6.65C4,7.39 4,8 4,8H2V10H4.04C4.1,10.63 4.21,11.36 4.4,12.15L1.68,13.05L2.31,14.95L5,14.05C5.24,14.56 5.5,15.08 5.82,15.58L3.44,17.17L4.55,18.83L7.07,17.15C7.63,17.71 8.29,18.21 9.06,18.64L8.1,20.55L9.89,21.45L10.89,19.45L10.73,19.36C11.68,19.68 12.76,19.9 14,19.97V22H16V19.93C16.76,19.84 17.81,19.64 18.77,19.19L20.29,20.71L21.7,19.29L20.37,17.95C20.75,17.44 21,16.8 21,16C21,15.5 20.95,15.08 20.88,14.68L22.45,13.9L21.55,12.1L20.18,12.79C19.63,11.96 18.91,11.5 18.29,11.28L18.95,9.32L17.05,8.68L16.29,10.96C14.96,10.83 14.17,10.32 13.7,9.77L15.45,8.9L14.55,7.1L13,7.89C12.97,7.59 12.86,6.72 12.28,5.87L13.83,3.55L12.17,2.44L10.76,4.56C10.28,4.33 9.7,4.15 9,4.06M15,18C12.06,18 9.81,17.18 8.31,15.56C5.68,12.72 6,8.2 6,8.17V8.11L6,8.03C6,7.1 6.39,6 8,6C10.63,6 10.97,7.43 11,8C11,10 12.6,13 17,13C17.33,13 19,13.15 19,16C19,17.89 15.03,18 15,18M8.5,8A1.5,1.5 0 0,0 7,9.5A1.5,1.5 0 0,0 8.5,11A1.5,1.5 0 0,0 10,9.5A1.5,1.5 0 0,0 8.5,8M11,12A1,1 0 0,0 10,13A1,1 0 0,0 11,14A1,1 0 0,0 12,13A1,1 0 0,0 11,12M15.5,14A1.5,1.5 0 0,0 14,15.5A1.5,1.5 0 0,0 15.5,17A1.5,1.5 0 0,0 17,15.5A1.5,1.5 0 0,0 15.5,14Z\";\r\nexport var mdiBadgeAccount = \"M17,3H14V6H10V3H7A2,2 0 0,0 5,5V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V5A2,2 0 0,0 17,3M12,8A2,2 0 0,1 14,10A2,2 0 0,1 12,12A2,2 0 0,1 10,10A2,2 0 0,1 12,8M16,16H8V15C8,13.67 10.67,13 12,13C13.33,13 16,13.67 16,15V16M13,5H11V1H13V5M16,19H8V18H16V19M12,21H8V20H12V21Z\";\r\nexport var mdiBadgeAccountAlert = \"M15,3H12V6H8V3H5A2,2 0 0,0 3,5V21A2,2 0 0,0 5,23H15A2,2 0 0,0 17,21V5A2,2 0 0,0 15,3M10,8A2,2 0 0,1 12,10A2,2 0 0,1 10,12A2,2 0 0,1 8,10A2,2 0 0,1 10,8M14,16H6V15C6,13.67 8.67,13 10,13C11.33,13 14,13.67 14,15V16M11,5H9V1H11V5M14,19H6V18H14V19M10,21H6V20H10V21M19,13V7H21V13H19M19,17V15H21V17H19Z\";\r\nexport var mdiBadgeAccountAlertOutline = \"M15,3H12V5H15V21H5V5H8V3H5A2,2 0 0,0 3,5V21A2,2 0 0,0 5,23H15A2,2 0 0,0 17,21V5A2,2 0 0,0 15,3M10,7A2,2 0 0,1 12,9A2,2 0 0,1 10,11A2,2 0 0,1 8,9A2,2 0 0,1 10,7M14,15H6V14C6,12.67 8.67,12 10,12C11.33,12 14,12.67 14,14V15M14,18H6V17H14V18M10,20H6V19H10V20M11,5H9V1H11V5M19,13V7H21V13H19M19,17V15H21V17H19Z\";\r\nexport var mdiBadgeAccountHorizontal = \"M22,4H14V7H10V4H2A2,2 0 0,0 0,6V20A2,2 0 0,0 2,22H22A2,2 0 0,0 24,20V6A2,2 0 0,0 22,4M8,9A2,2 0 0,1 10,11A2,2 0 0,1 8,13A2,2 0 0,1 6,11A2,2 0 0,1 8,9M12,17H4V16C4,14.67 6.67,14 8,14C9.33,14 12,14.67 12,16V17M20,18H14V16H20V18M20,14H14V12H20V14M20,10H14V8H20V10M13,6H11V2H13V6Z\";\r\nexport var mdiBadgeAccountHorizontalOutline = \"M8,9A2,2 0 0,1 10,11A2,2 0 0,1 8,13A2,2 0 0,1 6,11A2,2 0 0,1 8,9M12,17H4V16C4,14.67 6.67,14 8,14C9.33,14 12,14.67 12,16V17M20,8H14V10H20V8M20,12H14V14H20V12M20,16H14V18H20V16M22,4H14V6H22V20H2V6H10V4H2A2,2 0 0,0 0,6V20A2,2 0 0,0 2,22H22A2,2 0 0,0 24,20V6A2,2 0 0,0 22,4M13,6H11V2H13V6Z\";\r\nexport var mdiBadgeAccountOutline = \"M17,3H14V5H17V21H7V5H10V3H7A2,2 0 0,0 5,5V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V5A2,2 0 0,0 17,3M12,7A2,2 0 0,1 14,9A2,2 0 0,1 12,11A2,2 0 0,1 10,9A2,2 0 0,1 12,7M16,15H8V14C8,12.67 10.67,12 12,12C13.33,12 16,12.67 16,14V15M16,18H8V17H16V18M12,20H8V19H12V20M13,5H11V1H13V5Z\";\r\nexport var mdiBadminton = \"M12.3,2C11.33,2.03 10.58,2.84 10.61,3.8C10.62,4.04 10.67,4.27 10.77,4.5L11.06,5.14V5.14C11.1,5.27 11.03,5.41 10.89,5.45C10.8,5.5 10.7,5.45 10.63,5.37L10.21,4.82C9.88,4.4 9.38,4.14 8.85,4.13C7.88,4.11 7.08,4.88 7.06,5.84C7.05,6.26 7.19,6.66 7.45,7L7.87,7.5H7.88C7.96,7.63 7.93,7.79 7.82,7.87C7.73,7.94 7.61,7.94 7.53,7.87L7,7.45C6.66,7.19 6.25,7.05 5.84,7.06C4.88,7.08 4.11,7.88 4.13,8.85C4.14,9.38 4.4,9.88 4.82,10.21L5.39,10.65C5.5,10.75 5.5,10.91 5.38,11C5.31,11.07 5.21,11.09 5.12,11.05H5.11L4.5,10.77C4.27,10.68 4.04,10.62 3.8,10.61C2.84,10.58 2.03,11.34 2,12.31C2,13.03 2.4,13.69 3.06,13.97L14.45,19.04L19.04,14.45L13.97,3.06C13.69,2.39 13,1.97 12.3,2M13.13,6.1C13.55,6.09 13.93,6.33 14.09,6.71L17.14,13.55L13.19,9.61L12.26,7.5C11.96,6.87 12.42,6.12 13.13,6.1M9.85,8.85C10.12,8.85 10.37,8.95 10.56,9.15L15.37,13.96C15.77,14.34 15.78,14.97 15.4,15.37C15,15.77 14.38,15.78 13.96,15.37L9.15,10.56C8.75,10.18 8.74,9.54 9.13,9.15C9.32,8.95 9.58,8.85 9.85,8.85M7.13,12.17C7.26,12.17 7.4,12.21 7.5,12.26L9.63,13.2L13.57,17.14L6.71,14.09C5.69,13.65 6.03,12.14 7.13,12.17M20.28,16.04L16.04,20.28L16.89,21.13C17.65,21.88 18.75,22.17 19.78,21.9C20.81,21.62 21.62,20.81 21.9,19.78C22.17,18.75 21.88,17.65 21.13,16.89L20.28,16.04Z\";\r\nexport var mdiBagCarryOn = \"M14.6 21.4C15 21.8 15.4 22 16 22S17 21.8 17.4 21.4 18 20.6 18 20 17.8 19 17.4 18.6 16.5 18 16 18 15 18.2 14.6 18.6 14 19.4 14 20 14.2 21 14.6 21.4M6 19C6 19.5 6.2 20 6.6 20.4C7 20.8 7.5 21 8 21V7C7.5 7 7 7.2 6.6 7.6C6.2 8 6 8.5 6 9V19M16 2H12C12 2.5 12.2 3 12.6 3.4C13 3.8 13.5 4 14 4V7H9V21H13.2C13 20.5 13 20.2 13 20C13 19.2 13.3 18.5 13.9 17.9C14.5 17.3 15.2 17 16 17V2Z\";\r\nexport var mdiBagCarryOnCheck = \"M15.28,16.69L18.14,13.88L18.84,14.58L15.28,18.14L13.17,16L13.88,15.28L15.28,16.69M8,21A2,2 0 0,1 6,19V9A2,2 0 0,1 8,7V21M9,7H14V4A2,2 0 0,1 12,2H16V10A6,6 0 0,1 22,16A6,6 0 0,1 16,22C14.77,22 13.63,21.63 12.68,21H9V7M16,12A4,4 0 0,0 12,16A4,4 0 0,0 16,20A4,4 0 0,0 20,16A4,4 0 0,0 16,12Z\";\r\nexport var mdiBagCarryOnOff = \"M2.1 4.9L6 8.9V19C6 19.5 6.2 20 6.6 20.4C7 20.8 7.5 21 8 21V10.8L9 11.8V21H13.2C13.1 20.6 13 20.2 13 20C13 18.8 13.5 18 14.6 17.4L15.4 18.2C14.5 18.5 14.1 19.2 14.1 20.1C14.1 20.6 14.3 21.1 14.7 21.5C15 21.8 15.5 22 16 22C16.9 22 17.6 21.6 17.9 20.7L19.1 21.9L20.5 20.5L3.5 3.5L2.1 4.9M12 2C12 2.5 12.2 3 12.6 3.4S13.5 4 14 4V7H9.8L16 13.2V2H12Z\";\r\nexport var mdiBagChecked = \"M22 19H2V21H22V19M4 15C4 15.5 4.2 16 4.6 16.4C5 16.8 5.5 17 6 17V6C5.5 6 5 6.2 4.6 6.6C4.2 7 4 7.5 4 8V15M13.5 6H10.5C10.5 5.6 10.6 5.2 10.9 4.9C11.2 4.6 11.5 4.5 12 4.5C12.4 4.5 12.8 4.6 13.1 4.9C13.3 5.2 13.5 5.6 13.5 6M7 6V17H17V6H15C15 5.2 14.7 4.5 14.1 3.9S12.8 3 12 3C11.2 3 10.5 3.3 9.9 3.9C9.3 4.5 9 5.2 9 6H7M18 17C18.5 17 19 16.8 19.4 16.4C19.8 16 20 15.5 20 15V8C20 7.5 19.8 7 19.4 6.6C19 6.2 18.5 6 18 6V17Z\";\r\nexport var mdiBagPersonal = \"M16,5V4A2,2 0 0,0 14,2H10A2,2 0 0,0 8,4V5A4,4 0 0,0 4,9V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V9A4,4 0 0,0 16,5M10,4H14V5H10V4M12,9L14,11L12,13L10,11L12,9M18,16H9V18H8V16H6V15H18V16Z\";\r\nexport var mdiBagPersonalOff = \"M20,19.35L2.38,1.73L1.11,3L4.77,6.66C4.27,7.34 4,8.16 4,9V20A2,2 0 0,0 6,22H18C18.56,22 19.08,21.76 19.46,21.35L20.84,22.73L22.11,21.46L20,19.35M9,16V18H8V16H6V15H13.11L14.11,16H9M20,9A4,4 0 0,0 16,5V4A2,2 0 0,0 14,2H10A2,2 0 0,0 8,4V4.8L20,16.8V9M14,5H10V4H14V5Z\";\r\nexport var mdiBagPersonalOffOutline = \"M20,19.35L2.38,1.73L1.11,3L4.77,6.66C4.27,7.34 4,8.16 4,9V20A2,2 0 0,0 6,22H18C18.56,22 19.08,21.76 19.46,21.35L20.84,22.73L22.11,21.46L20,19.35M6,9C6,8.69 6.08,8.38 6.22,8.11L13.11,15H6V9M18,20H6V16H8V18H9V16H14.11L18,19.89V20M16,7A2,2 0 0,1 18,9V14.8L20,16.8V9A4,4 0 0,0 16,5V4A2,2 0 0,0 14,2H10A2,2 0 0,0 8,4V4.8L10.2,7H16M10,4H14V5H10V4Z\";\r\nexport var mdiBagPersonalOutline = \"M16,5V4A2,2 0 0,0 14,2H10A2,2 0 0,0 8,4V5A4,4 0 0,0 4,9V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V9A4,4 0 0,0 16,5M10,4H14V5H10V4M12,9L14,11L12,13L10,11L12,9M18,20H6V16H8V18H9V16H18V20M18,15H6V9A2,2 0 0,1 8,7H16A2,2 0 0,1 18,9V15Z\";\r\nexport var mdiBagSuitcase = \"M17.03 6C18.11 6 19 6.88 19 8V19C19 20.13 18.11 21 17.03 21C17.03 21.58 16.56 22 16 22C15.5 22 15 21.58 15 21H9C9 21.58 8.5 22 8 22C7.44 22 6.97 21.58 6.97 21C5.89 21 5 20.13 5 19V8C5 6.88 5.89 6 6.97 6H9V3C9 2.42 9.46 2 10 2H14C14.54 2 15 2.42 15 3V6H17.03M13.5 6V3.5H10.5V6H13.5M8 9V18H9.5V9H8M14.5 9V18H16V9H14.5M11.25 9V18H12.75V9H11.25Z\";\r\nexport var mdiBagSuitcaseOff = \"M2 4.77L3.28 3.5L21 21.22L19.73 22.5L18 20.76C17.71 20.93 17.38 21 17.03 21C17.03 21.58 16.56 22 16 22C15.5 22 15 21.58 15 21H9C9 21.58 8.5 22 8 22C7.44 22 6.97 21.58 6.97 21C5.89 21 5 20.13 5 19V7.77L2 4.77M17.03 6C18.11 6 19 6.88 19 8V16.68L16 13.68V9H14.5V12.18L12.75 10.43V9H11.32L8.31 6H9V3C9 2.42 9.46 2 10 2H14C14.54 2 15 2.42 15 3V6H17.03M8 18H9.5V12.27L8 10.77V18M11.25 18H12.75V15.5L11.25 14V18M14.5 18H15.23L14.5 17.27V18M13.5 6V3.5H10.5V6H13.5Z\";\r\nexport var mdiBagSuitcaseOffOutline = \"M2 4.77L3.28 3.5L21 21.22L19.73 22.5L18 20.76C17.71 20.93 17.38 21 17.03 21C17.03 21.58 16.56 22 16 22C15.5 22 15 21.58 15 21H9C9 21.58 8.5 22 8 22C7.44 22 6.97 21.58 6.97 21C5.89 21 5 20.13 5 19L5 7.78L2 4.77M9.5 18H8V10.78L6.97 9.74V19H16.23L15.25 18H14.5V17.26L12.75 15.5V18H11.25V14L9.5 12.28V18M12.75 9V10.43L11.32 9H12.75M14.5 9H16V13.67L14.5 12.17V9M17.03 6C18.11 6 19 6.88 19 8V16.68L17.03 14.7V8H10.33L8.31 6H9V3C9 2.42 9.46 2 10 2H14C14.54 2 15 2.42 15 3V6H17.03M10.5 3.5V6H13.5V3.5H10.5Z\";\r\nexport var mdiBagSuitcaseOutline = \"M9.5 18V9H8V18M12.75 18V9H11.25V18M16 18V9H14.5V18M17.03 6C18.11 6 19 6.88 19 8V19C19 20.13 18.11 21 17.03 21C17.03 21.58 16.56 22 16 22C15.5 22 15 21.58 15 21H9C9 21.58 8.5 22 8 22C7.44 22 6.97 21.58 6.97 21C5.89 21 5 20.13 5 19V8C5 6.88 5.89 6 6.97 6H9V3C9 2.42 9.46 2 10 2H14C14.54 2 15 2.42 15 3V6M10.5 3.5V6H13.5V3.5M17.03 19V8H6.97V19\";\r\nexport var mdiBaguette = \"M5 22C3.68 22 3.15 19.64 3.04 18.7A5.56 5.56 0 0 1 3.36 16A2.5 2.5 0 0 1 5.23 14.38C6.4 14.18 7.23 14.88 8.29 15.12A1.21 1.21 0 0 0 9.85 13.75C9.41 12.03 6.28 12 5 12C5 10.14 7.04 9.9 8.5 10.04A10.8 10.8 0 0 1 11.04 10.6C11.54 10.77 12.12 11.2 12.67 11.16C13.5 11.09 13.67 10.23 13.31 9.6C12.44 8.12 9.97 8 8.5 8C8.5 6 10.23 5.62 11.89 5.92A11.58 11.58 0 0 1 14.38 6.71C14.89 6.93 15.5 7.35 16.06 7.16C17.5 6.72 16 5.18 15.36 4.81A6.6 6.6 0 0 0 13.94 4.23C13.4 4.07 12.74 4.13 13.23 3.5A5.13 5.13 0 0 1 15.96 2.26C17.85 1.82 20.46 1.74 20.92 4.12A5.3 5.3 0 0 1 20.07 7.7A38.96 38.96 0 0 1 13.22 16.33A36.6 36.6 0 0 1 8.62 20.32C7.62 21.04 6.3 22 5 22Z\";\r\nexport var mdiBalcony = \"M10 10V12H8V10H10M16 12V10H14V12H16M21 14V22H3V14H4V10C4 5.58 7.58 2 12 2S20 5.58 20 10V14H21M7 16H5V20H7V16M11 16H9V20H11V16M11 4.08C8.16 4.56 6 7.03 6 10V14H11V4.08M13 14H18V10C18 7.03 15.84 4.56 13 4.08V14M15 16H13V20H15V16M19 16H17V20H19V16Z\";\r\nexport var mdiBalloon = \"M13.16,12.74L14,14H12.5C12.35,16.71 12,19.41 11.5,22.08L10.5,21.92C11,19.3 11.34,16.66 11.5,14H10L10.84,12.74C8.64,11.79 7,8.36 7,6A5,5 0 0,1 12,1A5,5 0 0,1 17,6C17,8.36 15.36,11.79 13.16,12.74Z\";\r\nexport var mdiBallot = \"M13,9.5H18V7.5H13V9.5M13,16.5H18V14.5H13V16.5M19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21M6,11H11V6H6V11M7,7H10V10H7V7M6,18H11V13H6V18M7,14H10V17H7V14Z\";\r\nexport var mdiBallotOutline = \"M13,7.5H18V9.5H13V7.5M13,14.5H18V16.5H13V14.5M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M19,19V5H5V19H19M11,6V11H6V6H11M10,10V7H7V10H10M11,13V18H6V13H11M10,17V14H7V17H10Z\";\r\nexport var mdiBallotRecount = \"M19,12V13.5A4,4 0 0,1 23,17.5C23,18.32 22.75,19.08 22.33,19.71L21.24,18.62C21.41,18.28 21.5,17.9 21.5,17.5A2.5,2.5 0 0,0 19,15V16.5L16.75,14.25L19,12M19,23V21.5A4,4 0 0,1 15,17.5C15,16.68 15.25,15.92 15.67,15.29L16.76,16.38C16.59,16.72 16.5,17.1 16.5,17.5A2.5,2.5 0 0,0 19,20V18.5L21.25,20.75L19,23M10,17H7V14H10V17M10,7V10H7V7H10M5,21A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V11.17C20.5,11.06 20,11 19.5,11A6.5,6.5 0 0,0 13,17.5C13,18.79 13.38,20 14,21H5M13,9.5H18V7.5H13V9.5M11,13H6V18H11V13M11,6H6V11H11V6Z\";\r\nexport var mdiBallotRecountOutline = \"M6,18V13H11V18H6M7,14V17H10V14H7M13,7.5H18V9.5H13V7.5M5,21A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V11.17C20.5,11.06 20,11 19.5,11H19V5H5V19H13.17C13.34,19.72 13.63,20.39 14,21H5M11,6V11H6V6H11M10,10V7H7V10H10M19,12V13.5A4,4 0 0,1 23,17.5C23,18.32 22.75,19.08 22.33,19.71L21.24,18.62C21.41,18.28 21.5,17.9 21.5,17.5A2.5,2.5 0 0,0 19,15V16.5L16.75,14.25L19,12M19,23V21.5A4,4 0 0,1 15,17.5C15,16.68 15.25,15.92 15.67,15.29L16.76,16.38C16.59,16.72 16.5,17.1 16.5,17.5A2.5,2.5 0 0,0 19,20V18.5L21.25,20.75L19,23Z\";\r\nexport var mdiBandage = \"M17.73,12L21.71,8.04C22.1,7.65 22.1,7 21.71,6.63L17.37,2.29C17,1.9 16.35,1.9 15.96,2.29L12,6.27L8,2.29C7.8,2.1 7.55,2 7.29,2C7.04,2 6.78,2.1 6.59,2.29L2.25,6.63C1.86,7 1.86,7.65 2.25,8.04L6.23,12L2.25,16C1.86,16.39 1.86,17 2.25,17.41L6.59,21.75C7,22.14 7.61,22.14 8,21.75L12,17.77L15.96,21.75C16.16,21.95 16.41,22.04 16.67,22.04C16.93,22.04 17.18,21.94 17.38,21.75L21.72,17.41C22.11,17 22.11,16.39 21.72,16L17.73,12M12,9A1,1 0 0,1 13,10A1,1 0 0,1 12,11A1,1 0 0,1 11,10A1,1 0 0,1 12,9M7.29,10.96L3.66,7.34L7.29,3.71L10.91,7.33L7.29,10.96M10,13A1,1 0 0,1 9,12A1,1 0 0,1 10,11A1,1 0 0,1 11,12A1,1 0 0,1 10,13M12,15A1,1 0 0,1 11,14A1,1 0 0,1 12,13A1,1 0 0,1 13,14A1,1 0 0,1 12,15M14,11A1,1 0 0,1 15,12A1,1 0 0,1 14,13A1,1 0 0,1 13,12A1,1 0 0,1 14,11M16.66,20.34L13.03,16.72L16.66,13.09L20.28,16.71L16.66,20.34Z\";\r\nexport var mdiBank = \"M11.5,1L2,6V8H21V6M16,10V17H19V10M2,22H21V19H2M10,10V17H13V10M4,10V17H7V10H4Z\";\r\nexport var mdiBankCheck = \"M10.5 17V10H13.5V16.61C13.44 16.73 13.4 16.87 13.35 17H10.5M19 13C19.17 13 19.33 13 19.5 13.03V10H16.5V13.55C17.26 13.2 18.11 13 19 13M7.5 17V10H4.5V17H7.5M21.5 6L12 1L2.5 6V8H21.5V6M2.5 19V22H13.81C13.3 21.12 13 20.09 13 19H2.5M21.34 16L17.75 19.59L16.16 18L15 19.16L17.75 22.16L22.5 17.41L21.34 16Z\";\r\nexport var mdiBankMinus = \"M14,17H22V19H14V17M11.5,1L21,6V8H2V6L11.5,1M16,10H19V12.08L18,12C17.3,12 16.63,12.12 16,12.34V10M2,22V19H12.08C12.27,20.14 12.79,21.17 13.53,22H2M10,10H13V14.68C12.54,15.37 12.22,16.15 12.08,17H10V10M4,10H7V17H4V10Z\";\r\nexport var mdiBankOff = \"M11.2 8L6.89 3.69L12 1L21.5 6V8H11.2M19.5 16.3V10H16.5V13.3L19.5 16.3M21.5 20.85V20.84L19.66 19H19.65L17.65 17H17.66L16.5 15.84V15.85L13.5 12.85V12.84L10.66 10H10.66L8.66 8H8.66L2.39 1.73L1.11 3L3.56 5.45L2.5 6V8H6.11L10.5 12.39V17H13.5V15.39L17.11 19H2.5V22H20.11L20.84 22.73L22.11 21.46L21.5 20.85M4.5 10V17H7.5V10H4.5Z\";\r\nexport var mdiBankOffOutline = \"M17 13.8V10H19V15.8L17 13.8M12 3.26L17.21 6H9.2L11.2 8H21.5V6L12 1L6.89 3.69L8.37 5.17L12 3.26M5 10V17H7V10H5M21.5 20.85V20.84L19.66 19H19.65L17.65 17H17.66L17 16.34V16.35L13 12.35V12.34L11 10.34V10.35L8.66 8H8.66L2.39 1.73L1.11 3L3.56 5.45L2.5 6V8H6.11L11 12.89V17H13V14.89L17.11 19H2.5V21H19.11L20.84 22.73L22.11 21.46L21.5 20.85Z\";\r\nexport var mdiBankOutline = \"M6.5,10H4.5V17H6.5V10M12.5,10H10.5V17H12.5V10M21,19H2V21H21V19M18.5,10H16.5V17H18.5V10M11.5,3.26L16.71,6H6.29L11.5,3.26M11.5,1L2,6V8H21V6L11.5,1Z\";\r\nexport var mdiBankPlus = \"M17,14H19V17H22V19H19V22H17V19H14V17H17V14M11.5,1L21,6V8H2V6L11.5,1M16,10H19V12.08L18,12C17.3,12 16.63,12.12 16,12.34V10M2,22V19H12.08C12.27,20.14 12.79,21.17 13.53,22H2M10,10H13V14.68C12.54,15.37 12.22,16.15 12.08,17H10V10M4,10H7V17H4V10Z\";\r\nexport var mdiBankRemove = \"M14.46,15.88L15.88,14.46L18,16.59L20.12,14.46L21.54,15.88L19.41,18L21.54,20.12L20.12,21.54L18,19.41L15.88,21.54L14.46,20.12L16.59,18L14.46,15.88M11.5,1L21,6V8H2V6L11.5,1M16,10H19V12.08L18,12C17.3,12 16.63,12.12 16,12.34V10M2,22V19H12.08C12.27,20.14 12.79,21.17 13.53,22H2M10,10H13V14.68C12.54,15.37 12.22,16.15 12.08,17H10V10M4,10H7V17H4V10Z\";\r\nexport var mdiBankTransfer = \"M15,14V11H18V9L22,12.5L18,16V14H15M14,7.7V9H2V7.7L8,4L14,7.7M7,10H9V15H7V10M3,10H5V15H3V10M13,10V12.5L11,14.3V10H13M9.1,16L8.5,16.5L10.2,18H2V16H9.1M17,15V18H14V20L10,16.5L14,13V15H17Z\";\r\nexport var mdiBankTransferIn = \"M2,15V12H5V10L9,13.5L5,17V15H2M22,8.7V10H10V8.7L16,5L22,8.7M10,17H22V19H10V17M15,11H17V16H15V11M11,11H13V16H11V11M19,11H21V16H19V11Z\";\r\nexport var mdiBankTransferOut = \"M15,15V12H18V10L22,13.5L18,17V15H15M14,8.7V10H2V8.7L8,5L14,8.7M2,17H14V19H2V17M7,11H9V16H7V11M3,11H5V16H3V11M11,11H13V16H11V11Z\";\r\nexport var mdiBarcode = \"M2,6H4V18H2V6M5,6H6V18H5V6M7,6H10V18H7V6M11,6H12V18H11V6M14,6H16V18H14V6M17,6H20V18H17V6M21,6H22V18H21V6Z\";\r\nexport var mdiBarcodeOff = \"M20.84 22.73L16 17.89V18H14V15.89L12 13.89V18H11V12.89L10 11.89V18H7V8.89L6 7.89V18H5V6.89L1.11 3L2.39 1.73L7 6.34L10 9.34L11 10.34L12 11.34L14 13.35V13.34L16 15.34V15.35L17 16.35V16.34L18.66 18H18.65L22.11 21.46L20.84 22.73M16 6H14V10.8L16 12.8V6M12 6H11V7.8L12 8.8V6M20 6H17V13.8L20 16.8V6M22 18V6H21V17.8L21.2 18H22M10 6H9.2L10 6.8V6M2 18H4V6H2V18Z\";\r\nexport var mdiBarcodeScan = \"M4,6H6V18H4V6M7,6H8V18H7V6M9,6H12V18H9V6M13,6H14V18H13V6M16,6H18V18H16V6M19,6H20V18H19V6M2,4V8H0V4A2,2 0 0,1 2,2H6V4H2M22,2A2,2 0 0,1 24,4V8H22V4H18V2H22M2,16V20H6V22H2A2,2 0 0,1 0,20V16H2M22,20V16H24V20A2,2 0 0,1 22,22H18V20H22Z\";\r\nexport var mdiBarley = \"M7.33,18.33C6.5,17.17 6.5,15.83 6.5,14.5C8.17,15.5 9.83,16.5 10.67,17.67L11,18.23V15.95C9.5,15.05 8.08,14.13 7.33,13.08C6.5,11.92 6.5,10.58 6.5,9.25C8.17,10.25 9.83,11.25 10.67,12.42L11,13V10.7C9.5,9.8 8.08,8.88 7.33,7.83C6.5,6.67 6.5,5.33 6.5,4C8.17,5 9.83,6 10.67,7.17C10.77,7.31 10.86,7.46 10.94,7.62C10.77,7 10.66,6.42 10.65,5.82C10.64,4.31 11.3,2.76 11.96,1.21C12.65,2.69 13.34,4.18 13.35,5.69C13.36,6.32 13.25,6.96 13.07,7.59C13.15,7.45 13.23,7.31 13.33,7.17C14.17,6 15.83,5 17.5,4C17.5,5.33 17.5,6.67 16.67,7.83C15.92,8.88 14.5,9.8 13,10.7V13L13.33,12.42C14.17,11.25 15.83,10.25 17.5,9.25C17.5,10.58 17.5,11.92 16.67,13.08C15.92,14.13 14.5,15.05 13,15.95V18.23L13.33,17.67C14.17,16.5 15.83,15.5 17.5,14.5C17.5,15.83 17.5,17.17 16.67,18.33C15.92,19.38 14.5,20.3 13,21.2V23H11V21.2C9.5,20.3 8.08,19.38 7.33,18.33Z\";\r\nexport var mdiBarleyOff = \"M11.96,1.21C11.3,2.76 10.64,4.31 10.65,5.82C10.66,6.42 10.77,7 10.94,7.62C10.86,7.46 10.77,7.31 10.67,7.17C9.83,6 8.17,5 6.5,4C6.5,4.8 6.5,5.59 6.68,6.36L13,12.68V10.7C14.5,9.8 15.92,8.88 16.67,7.83C17.5,6.67 17.5,5.33 17.5,4C15.83,5 14.17,6 13.33,7.17C13.23,7.31 13.15,7.45 13.07,7.59C13.25,6.96 13.36,6.32 13.35,5.69C13.34,4.18 12.65,2.69 11.96,1.21M3.28,5.5L2,6.77L6.64,11.41C6.75,12 6.95,12.55 7.33,13.08C8.08,14.13 9.5,15.05 11,15.95V18.23L10.67,17.67C9.83,16.5 8.17,15.5 6.5,14.5C6.5,15.83 6.5,17.17 7.33,18.33C8.08,19.38 9.5,20.3 11,21.2V23H13V21.2C13.74,20.76 14.45,20.31 15.07,19.84L18.73,23.5L20,22.22C14,16.23 9.1,11.32 3.28,5.5M17.5,9.25C15.83,10.25 14.17,11.25 13.33,12.42L13.12,12.79L15,14.66C15.67,14.16 16.27,13.64 16.67,13.08C17.5,11.92 17.5,10.58 17.5,9.25M17.5,14.5C16.93,14.84 16.38,15.18 15.85,15.53L17.29,16.97C17.5,16.17 17.5,15.33 17.5,14.5Z\";\r\nexport var mdiBarn = \"M12,3L3,8.2V21H9L11.9,18L15,21H21V8.2L12,3M7.9,20V14L10.9,17L7.9,20M8.9,13H14.9L11.9,16L8.9,13M15.9,20L12.9,17L15.9,14V20M15,11H8.8V9H15V11Z\";\r\nexport var mdiBarrel = \"M18,19H19V21H5V19H6V13H5V11H6V5H5V3H19V5H18V11H19V13H18V19M9,13A3,3 0 0,0 12,16A3,3 0 0,0 15,13C15,11 12,7.63 12,7.63C12,7.63 9,11 9,13Z\";\r\nexport var mdiBaseball = \"M12,2C9.5,2 7.25,2.9 5.5,4.4C6,4.81 6.41,5.27 6.8,5.76L7.89,5.13L8.89,6.87L7.89,7.44C8.45,8.53 8.82,9.73 8.95,11H10V12L10,13H8.95C8.82,14.27 8.45,15.47 7.89,16.56L8.89,17.13L7.89,18.87L6.8,18.24C6.41,18.73 6,19.19 5.5,19.6C7.25,21.1 9.5,22 12,22C14.5,22 16.75,21.1 18.5,19.6C18,19.19 17.59,18.73 17.19,18.24L16.11,18.87L15.11,17.13L16.11,16.55C15.55,15.47 15.18,14.27 15.05,13H14V11H15.05C15.18,9.73 15.55,8.53 16.11,7.45L15.11,6.87L16.11,5.13L17.19,5.76C17.59,5.27 18,4.81 18.5,4.4C16.75,2.9 14.5,2 12,2M4.12,5.85C2.79,7.55 2,9.68 2,12C2,14.32 2.79,16.45 4.12,18.15C4.46,17.87 4.76,17.55 5.05,17.22L4.43,16.87L5.43,15.13L6.16,15.56C6.55,14.77 6.82,13.91 6.93,13H6V12L6,11H6.93C6.82,10.09 6.55,9.23 6.16,8.44L5.43,8.87L4.43,7.13L5.05,6.78C4.76,6.45 4.46,6.13 4.12,5.85M19.88,5.85C19.54,6.13 19.24,6.45 18.95,6.78L19.57,7.13L18.57,8.87L17.84,8.44C17.45,9.23 17.18,10.09 17.07,11H18V13H17.07C17.18,13.91 17.45,14.77 17.84,15.56L18.57,15.13L19.57,16.87L18.95,17.22C19.24,17.55 19.54,17.87 19.88,18.15C21.21,16.45 22,14.32 22,12C22,9.68 21.21,7.55 19.88,5.85Z\";\r\nexport var mdiBaseballBat = \"M20,2C19.72,2 19.5,2.11 19.29,2.29L9.79,11.79C9.75,11.83 9.72,11.87 7.23,15.35L4,18.59L3.71,18.29C3.5,18.1 3.26,18 3,18C2.44,18 2,18.44 2,19C2,19.26 2.1,19.5 2.29,19.71L4.29,21.71C4.68,22.11 5.31,22.12 5.71,21.74C6.11,21.35 6.12,20.72 5.71,20.29L5.41,20L8.64,16.77L12.21,14.21L21.71,4.71C22.1,4.32 22.1,3.68 21.71,3.29L20.71,2.29C20.5,2.1 20.26,2 20,2M18.5,13A2.5,2.5 0 0,0 16,15.5A2.5,2.5 0 0,0 18.5,18A2.5,2.5 0 0,0 21,15.5A2.5,2.5 0 0,0 18.5,13Z\";\r\nexport var mdiBaseballDiamond = \"M5.79 12.79L2 9C2 9 6 3 12 3S22 9 22 9L18.21 12.79L12 6.59L5.79 12.79M13.5 18H10.5V20L12 21L13.5 20V18M16.79 14.21L14.2 16.8C13.6 16.31 12.84 16 12 16S10.4 16.31 9.8 16.8L7.21 14.21L12 9.41L16.79 14.21M13 14C13 13.45 12.55 13 12 13S11 13.45 11 14 11.45 15 12 15 13 14.55 13 14Z\";\r\nexport var mdiBaseballDiamondOutline = \"M12 2C5 2 1 9 1 9L9.3 17.3C9.74 16.77 10.32 16.37 11 16.17L7.83 13L12 8.83L16.17 13L13 16.17C13.68 16.37 14.27 16.77 14.7 17.3L23 9C23 9 19 2 12 2M17.59 11.59L12 6L6.41 11.59L3.59 8.76C4.95 7 7.89 4 12 4C16.08 4 19.03 7 20.4 8.77L17.59 11.59M13 13C13 13.55 12.55 14 12 14S11 13.55 11 13 11.45 12 12 12 13 12.45 13 13M13.5 20L12 21L10.5 20V18H13.5V20Z\";\r\nexport var mdiBash = \"M5 9H7.31L7.63 6H9.63L9.31 9H11.31L11.63 6H13.63L13.31 9H15V11H13.1L12.9 13H15V15H12.69L12.37 18H10.37L10.69 15H8.69L8.37 18H6.37L6.69 15H5V13H6.9L7.1 11H5V9M9.1 11L8.9 13H10.9L11.1 11M19 6H17V14H19M19 16H17V18H19Z\";\r\nexport var mdiBasket = \"M5.5,21C4.72,21 4.04,20.55 3.71,19.9V19.9L1.1,10.44L1,10A1,1 0 0,1 2,9H6.58L11.18,2.43C11.36,2.17 11.66,2 12,2C12.34,2 12.65,2.17 12.83,2.44L17.42,9H22A1,1 0 0,1 23,10L22.96,10.29L20.29,19.9C19.96,20.55 19.28,21 18.5,21H5.5M12,4.74L9,9H15L12,4.74M12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17A2,2 0 0,0 14,15A2,2 0 0,0 12,13Z\";\r\nexport var mdiBasketFill = \"M3,2H6V5H3V2M6,7H9V10H6V7M8,2H11V5H8V2M17,11L12,6H15V2H19V6H22L17,11M7.5,22C6.72,22 6.04,21.55 5.71,20.9V20.9L3.1,13.44L3,13A1,1 0 0,1 4,12H20A1,1 0 0,1 21,13L20.96,13.29L18.29,20.9C17.96,21.55 17.28,22 16.5,22H7.5M7.61,20H16.39L18.57,14H5.42L7.61,20Z\";\r\nexport var mdiBasketMinus = \"M23 18V20H15V18H23M23 10L22.96 10.29L22 13.8C21.11 13.29 20.09 13 19 13C15.69 13 13 15.69 13 19C13 19.7 13.13 20.37 13.35 21H5.5C4.72 21 4.04 20.55 3.71 19.9L1.1 10.44L1 10C1 9.45 1.45 9 2 9H6.58L11.18 2.43C11.36 2.17 11.66 2 12 2S12.65 2.17 12.83 2.44L17.42 9H22C22.55 9 23 9.45 23 10M14 15C14 13.9 13.11 13 12 13S10 13.9 10 15 10.9 17 12 17 14 16.11 14 15M15 9L12 4.74L9 9H15Z\";\r\nexport var mdiBasketMinusOutline = \"M23 18V20H15V18H23M12 13C10.9 13 10 13.9 10 15S10.9 17 12 17 14 16.1 14 15 13.1 13 12 13M13.35 21H5.5C4.58 21 3.81 20.38 3.58 19.54L1.04 10.27C1 10.18 1 10.09 1 10C1 9.45 1.45 9 2 9H6.79L11.17 2.45C11.36 2.16 11.68 2 12 2S12.64 2.16 12.83 2.44L17.21 9H22C22.55 9 23 9.45 23 10L22.97 10.27L22 13.81C21.43 13.5 20.79 13.24 20.12 13.11L20.7 11H3.31L5.5 19H13C13 19.7 13.13 20.37 13.35 21M9.2 9H14.8L12 4.8L9.2 9Z\";\r\nexport var mdiBasketOff = \"M23 10L22.96 10.29L20.9 17.7L12.2 9H15L12 4.74L10.32 7.12L8.89 5.69L11.18 2.43C11.36 2.17 11.66 2 12 2S12.65 2.17 12.83 2.44L17.42 9H22C22.55 9 23 9.45 23 10M22.11 21.46L20.84 22.73L19.03 20.92C18.86 20.97 18.68 21 18.5 21H5.5C4.72 21 4.04 20.55 3.71 19.9L1.1 10.44L1 10C1 9.45 1.45 9 2 9H6.58L6.8 8.69L1.11 3L2.39 1.73L22.11 21.46M13.85 15.74L11.26 13.15C10.5 13.44 10 14.16 10 15C10 16.11 10.9 17 12 17C12.84 17 13.56 16.5 13.85 15.74Z\";\r\nexport var mdiBasketOffOutline = \"M2.39 1.73L1.11 3L6.92 8.81L6.79 9H2C1.45 9 1 9.45 1 10C1 10.09 1 10.18 1.04 10.27L3.58 19.54C3.81 20.38 4.58 21 5.5 21H18.5C18.68 21 18.86 20.96 19.03 20.92L20.84 22.73L22.11 21.46L2.39 1.73M5.5 19L3.31 11H9.11L11.26 13.15C10.5 13.44 10 14.16 10 15C10 16.1 10.9 17 12 17C12.84 17 13.56 16.5 13.85 15.74L17.11 19H5.5M23 10L22.97 10.27L20.93 17.73L19.3 16.1L20.7 11H14.2L12.2 9H14.8L12 4.8L10.4 7.2L8.96 5.76L11.17 2.45C11.36 2.16 11.68 2 12 2S12.64 2.16 12.83 2.44L17.21 9H22C22.55 9 23 9.45 23 10Z\";\r\nexport var mdiBasketOutline = \"M22 9H17.21L12.83 2.44C12.64 2.16 12.32 2 12 2S11.36 2.16 11.17 2.45L6.79 9H2C1.45 9 1 9.45 1 10C1 10.09 1 10.18 1.04 10.27L3.58 19.54C3.81 20.38 4.58 21 5.5 21H18.5C19.42 21 20.19 20.38 20.43 19.54L22.97 10.27L23 10C23 9.45 22.55 9 22 9M12 4.8L14.8 9H9.2L12 4.8M18.5 19L5.5 19L3.31 11H20.7L18.5 19M12 13C10.9 13 10 13.9 10 15S10.9 17 12 17 14 16.1 14 15 13.1 13 12 13Z\";\r\nexport var mdiBasketPlus = \"M20 15V18H23V20H20V23H18V20H15V18H18V15H20M23 10L22.96 10.29L22 13.8C21.11 13.29 20.09 13 19 13C15.69 13 13 15.69 13 19C13 19.7 13.13 20.37 13.35 21H5.5C4.72 21 4.04 20.55 3.71 19.9L1.1 10.44L1 10C1 9.45 1.45 9 2 9H6.58L11.18 2.43C11.36 2.17 11.66 2 12 2S12.65 2.17 12.83 2.44L17.42 9H22C22.55 9 23 9.45 23 10M14 15C14 13.9 13.11 13 12 13S10 13.9 10 15 10.9 17 12 17 14 16.11 14 15M15 9L12 4.74L9 9H15Z\";\r\nexport var mdiBasketPlusOutline = \"M20 15V18H23V20H20V23H18V20H15V18H18V15H20M12 13C10.9 13 10 13.9 10 15S10.9 17 12 17 14 16.1 14 15 13.1 13 12 13M13.35 21H5.5C4.58 21 3.81 20.38 3.58 19.54L1.04 10.27C1 10.18 1 10.09 1 10C1 9.45 1.45 9 2 9H6.79L11.17 2.45C11.36 2.16 11.68 2 12 2S12.64 2.16 12.83 2.44L17.21 9H22C22.55 9 23 9.45 23 10L22.97 10.27L22 13.81C21.43 13.5 20.79 13.24 20.12 13.11L20.7 11H3.31L5.5 19H13C13 19.7 13.13 20.37 13.35 21M9.2 9H14.8L12 4.8L9.2 9Z\";\r\nexport var mdiBasketRemove = \"M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.46L22.54 16.88M23 10L22.96 10.29L22 13.8C21.11 13.29 20.09 13 19 13C15.69 13 13 15.69 13 19C13 19.7 13.13 20.37 13.35 21H5.5C4.72 21 4.04 20.55 3.71 19.9L1.1 10.44L1 10C1 9.45 1.45 9 2 9H6.58L11.18 2.43C11.36 2.17 11.66 2 12 2S12.65 2.17 12.83 2.44L17.42 9H22C22.55 9 23 9.45 23 10M14 15C14 13.9 13.11 13 12 13S10 13.9 10 15 10.9 17 12 17 14 16.11 14 15M15 9L12 4.74L9 9H15Z\";\r\nexport var mdiBasketRemoveOutline = \"M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.46L22.54 16.88M12 13C10.9 13 10 13.9 10 15S10.9 17 12 17 14 16.1 14 15 13.1 13 12 13M13.35 21H5.5C4.58 21 3.81 20.38 3.58 19.54L1.04 10.27C1 10.18 1 10.09 1 10C1 9.45 1.45 9 2 9H6.79L11.17 2.45C11.36 2.16 11.68 2 12 2S12.64 2.16 12.83 2.44L17.21 9H22C22.55 9 23 9.45 23 10L22.97 10.27L22 13.81C21.43 13.5 20.79 13.24 20.12 13.11L20.7 11H3.31L5.5 19H13C13 19.7 13.13 20.37 13.35 21M9.2 9H14.8L12 4.8L9.2 9Z\";\r\nexport var mdiBasketUnfill = \"M3,10H6V7H3V10M5,5H8V2H5V5M8,10H11V7H8V10M17,1L12,6H15V10H19V6H22L17,1M7.5,22C6.72,22 6.04,21.55 5.71,20.9V20.9L3.1,13.44L3,13A1,1 0 0,1 4,12H20A1,1 0 0,1 21,13L20.96,13.29L18.29,20.9C17.96,21.55 17.28,22 16.5,22H7.5M7.61,20H16.39L18.57,14H5.42L7.61,20Z\";\r\nexport var mdiBasketball = \"M2.34,14.63C2.94,14.41 3.56,14.3 4.22,14.3C5.56,14.3 6.73,14.72 7.73,15.56L4.59,18.7C3.53,17.5 2.78,16.13 2.34,14.63M15.56,9.8C17.53,11.27 19.66,11.63 21.94,10.88C21.97,11.09 22,11.47 22,12C22,13.03 21.75,14.18 21.28,15.45C20.81,16.71 20.23,17.73 19.55,18.5L13.22,12.19L15.56,9.8M8.77,16.64C9.83,18.17 10.05,19.84 9.42,21.66C8,21.25 6.73,20.61 5.67,19.73L8.77,16.64M12.19,13.22L18.5,19.55C16.33,21.45 13.78,22.25 10.88,21.94C11.09,21.28 11.2,20.56 11.2,19.78C11.2,19.16 11.06,18.43 10.78,17.6C10.5,16.77 10.17,16.09 9.8,15.56L12.19,13.22M8.81,14.5C7.88,13.67 6.8,13.15 5.58,12.91C4.36,12.68 3.19,12.75 2.06,13.13C2.03,12.91 2,12.53 2,12C2,10.97 2.25,9.82 2.72,8.55C3.19,7.29 3.77,6.27 4.45,5.5L11.11,12.19L8.81,14.5M15.56,7.73C14.22,6.08 13.91,4.28 14.63,2.34C15.25,2.5 15.96,2.8 16.76,3.26C17.55,3.71 18.2,4.16 18.7,4.59L15.56,7.73M21.66,9.38C21.06,9.59 20.44,9.7 19.78,9.7C18.69,9.7 17.64,9.38 16.64,8.72L19.73,5.67C20.61,6.77 21.25,8 21.66,9.38M12.19,11.11L5.5,4.45C7.67,2.55 10.22,1.75 13.13,2.06C12.91,2.72 12.8,3.44 12.8,4.22C12.8,4.94 12.96,5.75 13.29,6.66C13.62,7.56 14,8.28 14.5,8.81L12.19,11.11Z\";\r\nexport var mdiBasketballHoop = \"M21,2H3A2,2 0 0,0 1,4V16A2,2 0 0,0 3,18H5V14H19V18H21A2,2 0 0,0 23,16V4A2,2 0 0,0 21,2M17,12H15V9H9V12H7V9A2,2 0 0,1 9,7H15A2,2 0 0,1 17,9V12M7,16V19.5L8,23L10,21L12,23L14,21L16,23L17,19.5V16H7Z\";\r\nexport var mdiBasketballHoopOutline = \"M21,2H3A2,2 0 0,0 1,4V16A2,2 0 0,0 3,18H6.57L8,23L10,21L12,23L14,21L16,23L17.43,18H21A2,2 0 0,0 23,16V4A2,2 0 0,0 21,2M21,16H18V14H17V9A2,2 0 0,0 15,7H9A2,2 0 0,0 7,9V14H6V16H3V4H21V16M9,14V9H15V14H9Z\";\r\nexport var mdiBat = \"M0.75,8C0.75,8 5,7 8,9C8,9 8.5,12.75 10.5,12.75V11C10.5,11 11,12 12,12C13,12 13.5,11 13.5,11V12.75C15.5,12.75 16,9 16,9C19,7 23.25,8 23.25,8C21.25,9 21,12.5 21,12.5C17,12.5 17,15.75 17,15.75C12,14.75 12,18.5 12,18.5C12,18.5 12,14.75 7,15.75C7,15.75 7,12.5 3,12.5C3,12.5 2.75,9 0.75,8Z\";\r\nexport var mdiBathtub = \"M7 5C8.11 5 9 5.9 9 7S8.11 9 7 9 5 8.11 5 7 5.9 5 7 5M20 13V4.83C20 3.27 18.73 2 17.17 2C16.42 2 15.7 2.3 15.17 2.83L13.92 4.08C13.76 4.03 13.59 4 13.41 4C13 4 12.64 4.12 12.33 4.32L15.09 7.08C15.29 6.77 15.41 6.4 15.41 6C15.41 5.82 15.38 5.66 15.34 5.5L16.59 4.24C16.74 4.09 16.95 4 17.17 4C17.63 4 18 4.37 18 4.83V13H11.15C10.85 12.79 10.58 12.55 10.33 12.28L8.93 10.73C8.74 10.5 8.5 10.35 8.24 10.23C7.93 10.08 7.59 10 7.24 10C6 10 5 11 5 12.25V13H2V19C2 20.1 2.9 21 4 21C4 21.55 4.45 22 5 22H19C19.55 22 20 21.55 20 21C21.1 21 22 20.1 22 19V13H20Z\";\r\nexport var mdiBathtubOutline = \"M7 5C8.11 5 9 5.9 9 7S8.11 9 7 9 5 8.11 5 7 5.9 5 7 5M20 13V4.83C20 3.27 18.73 2 17.17 2C16.42 2 15.7 2.3 15.17 2.83L13.92 4.08C13.76 4.03 13.59 4 13.41 4C13 4 12.64 4.12 12.33 4.32L15.09 7.08C15.29 6.77 15.41 6.4 15.41 6C15.41 5.82 15.38 5.66 15.34 5.5L16.59 4.24C16.74 4.09 16.95 4 17.17 4C17.63 4 18 4.37 18 4.83V13H11.15C10.85 12.79 10.58 12.55 10.33 12.28L8.93 10.73C8.74 10.5 8.5 10.35 8.24 10.23C7.93 10.08 7.59 10 7.24 10C6 10 5 11 5 12.25V13H2V19C2 20.1 2.9 21 4 21C4 21.55 4.45 22 5 22H19C19.55 22 20 21.55 20 21C21.1 21 22 20.1 22 19V13H20M20 19H4V15H20V19Z\";\r\nexport var mdiBattery = \"M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\r\nexport var mdiBattery10 = \"M16,18H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\r\nexport var mdiBattery10Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V18H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\r\nexport var mdiBattery20 = \"M16,17H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\r\nexport var mdiBattery20Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V17H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\r\nexport var mdiBattery30 = \"M16,15H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\r\nexport var mdiBattery30Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V15H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\r\nexport var mdiBattery40 = \"M16,14H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\r\nexport var mdiBattery40Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V14H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\r\nexport var mdiBattery50 = \"M16,13H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\r\nexport var mdiBattery50Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V13H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\r\nexport var mdiBattery60 = \"M16,12H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\r\nexport var mdiBattery60Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V12H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\r\nexport var mdiBattery70 = \"M16,10H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\r\nexport var mdiBattery70Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V10H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\r\nexport var mdiBattery80 = \"M16,9H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\r\nexport var mdiBattery80Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V9H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\r\nexport var mdiBattery90 = \"M16,8H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\r\nexport var mdiBattery90Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V8H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\r\nexport var mdiBatteryAlert = \"M13 14H11V8H13M13 18H11V16H13M16.7 4H15V2H9V4H7.3C6.6 4 6 4.6 6 5.3V20.6C6 21.4 6.6 22 7.3 22H16.6C17.3 22 17.9 21.4 17.9 20.7V5.3C18 4.6 17.4 4 16.7 4Z\";\r\nexport var mdiBatteryAlertBluetooth = \"M5 2V4H3.3C2.6 4 2 4.6 2 5.3V20.6C2 21.4 2.6 22 3.3 22H12.6C13.3 22 13.9 21.4 13.9 20.7V5.3C14 4.6 13.4 4 12.7 4H11V2H5M19 8V11.8L16.7 9.5L16 10.2L18.8 13L16 15.8L16.7 16.5L19 14.2V18H19.5L22.4 15.1L20.2 13L22.3 10.9L19.5 8H19M7 8H9V14H7M20 9.9L20.9 10.8L20 11.8V9.9M20 14.2L20.9 15.1L20 16.1V14.2M7 16H9V18H7V16Z\";\r\nexport var mdiBatteryAlertVariant = \"M14.67 4H13V2H7V4H5.33C4.6 4 4 4.6 4 5.33V20.67C4 21.4 4.6 22 5.33 22H14.67C15.4 22 16 21.4 16 20.67V5.33C16 4.6 15.4 4 14.67 4M21 13H19V7H21V13M21 17H19V15H21V17Z\";\r\nexport var mdiBatteryAlertVariantOutline = \"M14 20H6V6H14M14.67 4H13V2H7V4H5.33C4.6 4 4 4.6 4 5.33V20.67C4 21.4 4.6 22 5.33 22H14.67C15.4 22 16 21.4 16 20.67V5.33C16 4.6 15.4 4 14.67 4M21 7H19V13H21V8M21 15H19V17H21V15Z\";\r\nexport var mdiBatteryArrowDown = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C14.69 12 12 14.69 12 18C12 19.54 12.58 20.94 13.54 22M14.94 18.5L17.94 21.5L20.94 18.5H18.94V14.5H16.94V18.5H14.94\";\r\nexport var mdiBatteryArrowDownOutline = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C17.3 12 16.63 12.13 16 12.35V6H8V20H12.35C12.61 20.75 13 21.42 13.54 22M14.94 18.5L17.94 21.5L20.94 18.5H18.94V14.5H16.94V18.5H14.94\";\r\nexport var mdiBatteryArrowUp = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C14.69 12 12 14.69 12 18C12 19.54 12.58 20.94 13.54 22M20.94 17.5L17.94 14.5L14.94 17.5H16.94V21.5H18.94V17.5H20.94\";\r\nexport var mdiBatteryArrowUpOutline = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C17.3 12 16.63 12.13 16 12.35V6H8V20H12.35C12.61 20.75 13 21.42 13.54 22M20.94 17.5L17.94 14.5L14.94 17.5H16.94V21.5H18.94V17.5H20.94\";\r\nexport var mdiBatteryBluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\r\nexport var mdiBatteryBluetoothVariant = \"M9,2V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4H15V2H9M11.83,8H12.33L15.18,10.85L13.04,13L15.17,15.14L12.33,18H11.83V14.21L9.54,16.5L8.83,15.79L11.62,13L8.83,10.21L9.54,9.5L11.83,11.79V8M12.83,9.91V11.79L13.77,10.85L12.83,9.91M12.83,14.21V16.08L13.77,15.14L12.83,14.21Z\";\r\nexport var mdiBatteryCharging = \"M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.66C6,21.4 6.6,22 7.33,22H16.66C17.4,22 18,21.4 18,20.67V5.33C18,4.6 17.4,4 16.67,4M11,20V14.5H9L13,7V12.5H15\";\r\nexport var mdiBatteryCharging10 = \"M23.05,11H20.05V4L15.05,14H18.05V22M12,18H4L4.05,6H12.05M12.72,4H11.05V2H5.05V4H3.38A1.33,1.33 0 0,0 2.05,5.33V20.67C2.05,21.4 2.65,22 3.38,22H12.72C13.45,22 14.05,21.4 14.05,20.67V5.33A1.33,1.33 0 0,0 12.72,4Z\";\r\nexport var mdiBatteryCharging100 = \"M23,11H20V4L15,14H18V22M12.67,4H11V2H5V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4Z\";\r\nexport var mdiBatteryCharging20 = \"M23.05,11H20.05V4L15.05,14H18.05V22M12.05,17H4.05V6H12.05M12.72,4H11.05V2H5.05V4H3.38A1.33,1.33 0 0,0 2.05,5.33V20.67C2.05,21.4 2.65,22 3.38,22H12.72C13.45,22 14.05,21.4 14.05,20.67V5.33A1.33,1.33 0 0,0 12.72,4Z\";\r\nexport var mdiBatteryCharging30 = \"M12,15H4V6H12M12.67,4H11V2H5V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4M23,11H20V4L15,14H18V22L23,11Z\";\r\nexport var mdiBatteryCharging40 = \"M13 4H11V2H5V4H3C2.4 4 2 4.4 2 5V21C2 21.6 2.4 22 3 22H13C13.6 22 14 21.6 14 21V5C14 4.4 13.6 4 13 4M12 14.5H4V6H12V14.5M23 11H20V4L15 14H18V22\";\r\nexport var mdiBatteryCharging50 = \"M23,11H20V4L15,14H18V22M12,13H4V6H12M12.67,4H11V2H5V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4Z\";\r\nexport var mdiBatteryCharging60 = \"M12,11H4V6H12M12.67,4H11V2H5V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4M23,11H20V4L15,14H18V22L23,11Z\";\r\nexport var mdiBatteryCharging70 = \"M12,10H4V6H12M12.67,4H11V2H5V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4M23,11H20V4L15,14H18V22L23,11Z\";\r\nexport var mdiBatteryCharging80 = \"M23,11H20V4L15,14H18V22M12,9H4V6H12M12.67,4H11V2H5V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4Z\";\r\nexport var mdiBatteryCharging90 = \"M23,11H20V4L15,14H18V22M12,8H4V6H12M12.67,4H11V2H5V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4Z\";\r\nexport var mdiBatteryChargingHigh = \"M12 20H4V6H12M12.67 4H11V2H5V4H3.33C2.6 4 2 4.6 2 5.33V20.67C2 21.4 2.6 22 3.33 22H12.67C13.41 22 14 21.41 14 20.67V5.33C14 4.6 13.4 4 12.67 4M11 16H5V19H11V16M11 7H5V10H11V7M11 11.5H5V14.5H11V11.5M23 10H20V3L15 13H18V21\";\r\nexport var mdiBatteryChargingLow = \"M12 20H4V6H12M12.67 4H11V2H5V4H3.33C2.6 4 2 4.6 2 5.33V20.67C2 21.4 2.6 22 3.33 22H12.67C13.41 22 14 21.41 14 20.67V5.33C14 4.6 13.4 4 12.67 4M11 16H5V19H11V16M23 10H20V3L15 13H18V21\";\r\nexport var mdiBatteryChargingMedium = \"M12 20H4V6H12M12.67 4H11V2H5V4H3.33C2.6 4 2 4.6 2 5.33V20.67C2 21.4 2.6 22 3.33 22H12.67C13.41 22 14 21.41 14 20.67V5.33C14 4.6 13.4 4 12.67 4M11 16H5V19H11V16M11 11.5H5V14.5H11V11.5M23 10H20V3L15 13H18V21\";\r\nexport var mdiBatteryChargingOutline = \"M23.05,11H20.05V4L15.05,14H18.05V22M12,20H4L4.05,6H12.05M12.72,4H11.05V2H5.05V4H3.38A1.33,1.33 0 0,0 2.05,5.33V20.67C2.05,21.4 2.65,22 3.38,22H12.72C13.45,22 14.05,21.4 14.05,20.67V5.33A1.33,1.33 0 0,0 12.72,4Z\";\r\nexport var mdiBatteryChargingWireless = \"M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76Z\";\r\nexport var mdiBatteryChargingWireless10 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,18.5H4V6H12V18.5Z\";\r\nexport var mdiBatteryChargingWireless20 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,17H4V6H12V17Z\";\r\nexport var mdiBatteryChargingWireless30 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,16H4V6H12V16Z\";\r\nexport var mdiBatteryChargingWireless40 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,14.5H4V6H12V14.5Z\";\r\nexport var mdiBatteryChargingWireless50 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,13H4V6H12V13Z\";\r\nexport var mdiBatteryChargingWireless60 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,11.6H4V6H12V11.6Z\";\r\nexport var mdiBatteryChargingWireless70 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,10H4V6H12V10Z\";\r\nexport var mdiBatteryChargingWireless80 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,9H4V6H12V9Z\";\r\nexport var mdiBatteryChargingWireless90 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,7.5H4V6H12V7.5Z\";\r\nexport var mdiBatteryChargingWirelessAlert = \"M13 4H11V2H5V4H3C2.4 4 2 4.4 2 5V21C2 21.6 2.4 22 3 22H13C13.6 22 14 21.6 14 21V5C14 4.4 13.6 4 13 4M9 18H7V16H9V18M9 14H7V8H9V14M20.1 4.9L18.7 6.3C21.8 9.4 21.8 14.5 18.7 17.6L20.1 19C24 15.2 24 8.8 20.1 4.9M17.2 7.8L15.8 9.2C17.4 10.8 17.4 13.3 15.8 14.9L17.2 16.3C19.6 13.9 19.6 10.1 17.2 7.8Z\";\r\nexport var mdiBatteryChargingWirelessOutline = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,20H4V6H12V20Z\";\r\nexport var mdiBatteryCheck = \"M16.75 21.16L14 18.16L15.16 17L16.75 18.59L20.34 15L21.5 16.41L16.75 21.16M12 18C12 14.69 14.69 12 18 12V5.33C18 4.6 17.4 4 16.67 4H15V2H9V4H7.33C6.6 4 6 4.6 6 5.33V20.67C6 21.4 6.6 22 7.33 22H13.54C12.58 20.94 12 19.54 12 18Z\";\r\nexport var mdiBatteryCheckOutline = \"M16.75 21.16L14 18.16L15.16 17L16.75 18.59L20.34 15L21.5 16.41L16.75 21.16M12.35 20H8V6H16V12.35C16.63 12.13 17.3 12 18 12V5.33C18 4.6 17.4 4 16.67 4H15V2H9V4H7.33C6.6 4 6 4.6 6 5.33V20.67C6 21.4 6.6 22 7.33 22H13.54C13 21.42 12.61 20.75 12.35 20Z\";\r\nexport var mdiBatteryHeart = \"M12.67 4H11V2H5V4H3.33A1.34 1.34 0 0 0 2 5.33V20.67A1.34 1.34 0 0 0 3.33 22H12.67A1.34 1.34 0 0 0 14 20.67V5.33A1.34 1.34 0 0 0 12.67 4M19 16.17L18.42 15.64C16.36 13.77 15 12.54 15 11A2.18 2.18 0 0 1 17.2 8.8A2.4 2.4 0 0 1 19 9.63A2.4 2.4 0 0 1 20.8 8.8A2.18 2.18 0 0 1 23 11C23 12.5 21.64 13.74 19.58 15.61Z\";\r\nexport var mdiBatteryHeartOutline = \"M19 16.2L18.4 15.7C16.4 13.8 15 12.5 15 11C15 9.8 16 8.8 17.2 8.8C17.9 8.8 18.5 9.1 19 9.6C19.5 9.1 20.1 8.8 20.8 8.8C22 8.8 23 9.8 23 11C23 12.5 21.6 13.7 19.6 15.6L19 16.2M12.7 4H11V2H5V4H3.3C2.6 4 2 4.6 2 5.3V20.6C2 21.4 2.6 22 3.3 22H12.6C13.3 22 13.9 21.4 13.9 20.7V5.3C14 4.6 13.4 4 12.7 4M12 20H4V6H12V20Z\";\r\nexport var mdiBatteryHeartVariant = \"M16.67 4H15V2H9V4H7.33A1.34 1.34 0 0 0 6 5.33V20.67A1.34 1.34 0 0 0 7.33 22H16.67A1.34 1.34 0 0 0 18 20.67V5.33A1.34 1.34 0 0 0 16.67 4M12.58 15.64L12 16.17L11.42 15.64C9.36 13.77 8 12.54 8 11A2.18 2.18 0 0 1 10.2 8.8A2.4 2.4 0 0 1 12 9.63A2.4 2.4 0 0 1 13.8 8.8A2.18 2.18 0 0 1 16 11C16 12.54 14.64 13.77 12.58 15.64Z\";\r\nexport var mdiBatteryHigh = \"M16 20H8V6H16M16.67 4H15V2H9V4H7.33C6.6 4 6 4.6 6 5.33V20.67C6 21.4 6.6 22 7.33 22H16.67C17.41 22 18 21.41 18 20.67V5.33C18 4.6 17.4 4 16.67 4M15 16H9V19H15V16M15 7H9V10H15V7M15 11.5H9V14.5H15V11.5Z\";\r\nexport var mdiBatteryLock = \"M19.8 16V14.5C19.8 13.1 18.4 12 17 12S14.2 13.1 14.2 14.5V16C13.6 16 13 16.6 13 17.2V20.7C13 21.4 13.6 22 14.2 22H19.7C20.4 22 21 21.4 21 20.8V17.3C21 16.6 20.4 16 19.8 16M18.5 16H15.5V14.5C15.5 13.7 16.2 13.2 17 13.2S18.5 13.7 18.5 14.5V16M11.27 22H5.33C4.6 22 4 21.4 4 20.67V5.33C4 4.6 4.6 4 5.33 4H7V2H13V4H14.67C15.4 4 16 4.6 16 5.33V10.11C13.86 10.55 12.2 12.38 12.2 14.5V14.74C11.5 15.34 11 16.24 11 17.2V20.7C11 21.16 11.1 21.6 11.27 22Z\";\r\nexport var mdiBatteryLockOpen = \"M19.8 16H15.5V13.5C15.5 12.7 16.2 12.2 17 12.2S18.5 12.7 18.5 13.5V14H19.8V13.5C19.8 12.1 18.4 11 17 11S14.2 12.1 14.2 13.5V16C13.6 16 13 16.6 13 17.2V20.7C13 21.4 13.6 22 14.2 22H19.7C20.4 22 21 21.4 21 20.8V17.3C21 16.6 20.4 16 19.8 16M11.27 22H5.33C4.6 22 4 21.4 4 20.67V5.33C4 4.6 4.6 4 5.33 4H7V2H13V4H14.67C15.4 4 16 4.6 16 5.33V9.11C13.86 9.55 12.2 11.38 12.2 13.5V14.74C11.5 15.34 11 16.24 11 17.2V20.7C11 20.93 11.03 21.15 11.07 21.37L11.08 21.39C11.12 21.6 11.19 21.8 11.27 22Z\";\r\nexport var mdiBatteryLow = \"M16 20H8V6H16M16.67 4H15V2H9V4H7.33C6.6 4 6 4.6 6 5.33V20.67C6 21.4 6.6 22 7.33 22H16.67C17.41 22 18 21.41 18 20.67V5.33C18 4.6 17.4 4 16.67 4M15 16H9V19H15V16\";\r\nexport var mdiBatteryMedium = \"M16 20H8V6H16M16.67 4H15V2H9V4H7.33C6.6 4 6 4.6 6 5.33V20.67C6 21.4 6.6 22 7.33 22H16.67C17.41 22 18 21.41 18 20.67V5.33C18 4.6 17.4 4 16.67 4M15 16H9V19H15V16M15 11.5H9V14.5H15V11.5Z\";\r\nexport var mdiBatteryMinus = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C14.69 12 12 14.69 12 18C12 19.54 12.58 20.94 13.54 22M22 17V19H14V17H22Z\";\r\nexport var mdiBatteryMinusOutline = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C17.3 12 16.63 12.13 16 12.35V6H8V20H12.35C12.61 20.75 13 21.42 13.54 22M22 17V19H14V17H22Z\";\r\nexport var mdiBatteryMinusVariant = \"M16.67,4C17.4,4 18,4.6 18,5.33V20.67A1.33,1.33 0 0,1 16.67,22H7.33C6.6,22 6,21.4 6,20.67V5.33A1.33,1.33 0 0,1 7.33,4H9V2H15V4H16.67M8,12V14H16V12\";\r\nexport var mdiBatteryNegative = \"M11.67,4A1.33,1.33 0 0,1 13,5.33V20.67C13,21.4 12.4,22 11.67,22H2.33C1.6,22 1,21.4 1,20.67V5.33A1.33,1.33 0 0,1 2.33,4H4V2H10V4H11.67M15,12H23V14H15V12M3,13H11V6H3V13Z\";\r\nexport var mdiBatteryOff = \"M18 14.8L7.21 4H9V2H15V4H16.67A1.34 1.34 0 0 1 18 5.33M18 17.35L3.38 2.73L2.11 4L6 7.89V20.67A1.34 1.34 0 0 0 7.33 22H16.67A1.34 1.34 0 0 0 18 20.67V19.89L20.84 22.73L22.11 21.46Z\";\r\nexport var mdiBatteryOffOutline = \"M18 17.35L3.38 2.73L2.11 4L6 7.89V20.67A1.34 1.34 0 0 0 7.33 22H16.67A1.34 1.34 0 0 0 18 20.67V19.89L20.84 22.73L22.11 21.46M16 20H8V9.89L16 17.89M16 6V12.8L18 14.8V5.33A1.34 1.34 0 0 0 16.67 4H15V2H9V4H7.21L9.21 6Z\";\r\nexport var mdiBatteryOutline = \"M16,20H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\r\nexport var mdiBatteryPlus = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C14.69 12 12 14.69 12 18C12 19.54 12.58 20.94 13.54 22M22 17V19H19V22H17V19H14V17H17V14H19V17H22Z\";\r\nexport var mdiBatteryPlusOutline = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C17.3 12 16.63 12.13 16 12.35V6H8V20H12.35C12.61 20.75 13 21.42 13.54 22M22 17V19H19V22H17V19H14V17H17V14H19V17H22Z\";\r\nexport var mdiBatteryPlusVariant = \"M16.67,4C17.4,4 18,4.6 18,5.33V20.67A1.33,1.33 0 0,1 16.67,22H7.33C6.6,22 6,21.4 6,20.67V5.33A1.33,1.33 0 0,1 7.33,4H9V2H15V4H16.67M16,14V12H13V9H11V12H8V14H11V17H13V14H16Z\";\r\nexport var mdiBatteryPositive = \"M11.67,4A1.33,1.33 0 0,1 13,5.33V20.67C13,21.4 12.4,22 11.67,22H2.33C1.6,22 1,21.4 1,20.67V5.33A1.33,1.33 0 0,1 2.33,4H4V2H10V4H11.67M23,14H20V17H18V14H15V12H18V9H20V12H23V14M3,13H11V6H3V13Z\";\r\nexport var mdiBatteryRemove = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C14.69 12 12 14.69 12 18C12 19.54 12.58 20.94 13.54 22M21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.47 20.12L16.59 18L14.47 15.88L15.88 14.47L18 16.59L20.12 14.47L21.54 15.88L19.41 18L21.54 20.12Z\";\r\nexport var mdiBatteryRemoveOutline = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C17.3 12 16.63 12.13 16 12.35V6H8V20H12.35C12.61 20.75 13 21.42 13.54 22M21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.47 20.12L16.59 18L14.47 15.88L15.88 14.47L18 16.59L20.12 14.47L21.54 15.88L19.41 18L21.54 20.12Z\";\r\nexport var mdiBatteryUnknown = \"M15.07,12.25L14.17,13.17C13.63,13.71 13.25,14.18 13.09,15H11.05C11.16,14.1 11.56,13.28 12.17,12.67L13.41,11.41C13.78,11.05 14,10.55 14,10C14,8.89 13.1,8 12,8A2,2 0 0,0 10,10H8A4,4 0 0,1 12,6A4,4 0 0,1 16,10C16,10.88 15.64,11.68 15.07,12.25M13,19H11V17H13M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.66C6,21.4 6.6,22 7.33,22H16.67C17.4,22 18,21.4 18,20.66V5.33C18,4.59 17.4,4 16.67,4Z\";\r\nexport var mdiBatteryUnknownBluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.66C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.66V5.33C14,4.59 13.4,4 12.67,4H11V2H5M8,6A4,4 0 0,1 12,10C12,10.88 11.64,11.68 11.07,12.25L10.17,13.17C9.63,13.71 9.25,14.18 9.09,15H7.05C7.16,14.1 7.56,13.28 8.17,12.67L9.41,11.41C9.78,11.05 10,10.55 10,10C10,8.89 9.1,8 8,8A2,2 0 0,0 6,10H4A4,4 0 0,1 8,6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21M7,17H9V19H7V17Z\";\r\nexport var mdiBeach = \"M15,18.54C17.13,18.21 19.5,18 22,18V22H5C5,21.35 8.2,19.86 13,18.9V12.4C12.16,12.65 11.45,13.21 11,13.95C10.39,12.93 9.27,12.25 8,12.25C6.73,12.25 5.61,12.93 5,13.95C5.03,10.37 8.5,7.43 13,7.04V7A1,1 0 0,1 14,6A1,1 0 0,1 15,7V7.04C19.5,7.43 22.96,10.37 23,13.95C22.39,12.93 21.27,12.25 20,12.25C18.73,12.25 17.61,12.93 17,13.95C16.55,13.21 15.84,12.65 15,12.39V18.54M7,2A5,5 0 0,1 2,7V2H7Z\";\r\nexport var mdiBeaker = \"M3,3V5A2,2 0 0,1 5,7V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V7A2,2 0 0,1 21,5V3H3M7,9H10V10H7V9M7,11H10V12H7V11M10,16H7V15H10V16M12,14H7V13H12V14M12,8H7V7H12V8Z\";\r\nexport var mdiBeakerAlert = \"M3 3H21V5C19.9 5 19 5.9 19 7V19C19 20.1 18.1 21 17 21H7C5.9 21 5 20.1 5 19V7C5 5.9 4.1 5 3 5V3M7 9V10H10V9H7M7 11V12H10V11H7M10 16V15H7V16H10M12 14V13H7V14H12M12 8V7H7V8H12M21 13V7H23V13H21M21 17V15H23V17H21Z\";\r\nexport var mdiBeakerAlertOutline = \"M3 3H21V5C19.9 5 19 5.9 19 7V19C19 20.11 18.11 21 17 21H7C5.9 21 5 20.11 5 19V7C5 5.9 4.11 5 3 5V3M7 5V7H12V8H7V9H10V10H7V11H10V12H7V13H12V14H7V15H10V16H7V19H17V5H7M21 13V7H23V13H21M21 17V15H23V17H21Z\";\r\nexport var mdiBeakerCheck = \"M17.75 21.16L15 18.16L16.16 17L17.75 18.59L21.34 15L22.5 16.41L17.75 21.16M3 3H21V5C19.9 5 19 5.9 19 7V12C15.69 12 13 14.69 13 18C13 19.09 13.29 20.12 13.8 21H7C5.9 21 5 20.1 5 19V7C5 5.9 4.1 5 3 5V3M7 9V10H10V9H7M7 11V12H10V11H7M10 16V15H7V16H10M12 14V13H7V14H12M12 8V7H7V8H12Z\";\r\nexport var mdiBeakerCheckOutline = \"M17.75 21.16L15 18.16L16.16 17L17.75 18.59L21.34 15L22.5 16.41L17.75 21.16M3 3H21V5C19.9 5 19 5.9 19 7V12C18.3 12 17.63 12.12 17 12.34V5H7V7H12V8H7V9H10V10H7V11H10V12H7V13H12V14H7V15H10V16H7V19H13.08C13.2 19.72 13.45 20.39 13.8 21H7C5.9 21 5 20.11 5 19V7C5 5.9 4.11 5 3 5V3Z\";\r\nexport var mdiBeakerMinus = \"M23 17V19H15V17H23M3 3H21V5C19.9 5 19 5.9 19 7V12C15.69 12 13 14.69 13 18C13 19.09 13.29 20.12 13.8 21H7C5.9 21 5 20.1 5 19V7C5 5.9 4.1 5 3 5V3M7 9V10H10V9H7M7 11V12H10V11H7M10 16V15H7V16H10M12 14V13H7V14H12M12 8V7H7V8H12Z\";\r\nexport var mdiBeakerMinusOutline = \"M23 17V19H15V17M3 3H21V5C19.9 5 19 5.9 19 7V12C18.3 12 17.63 12.12 17 12.34V5H7V7H12V8H7V9H10V10H7V11H10V12H7V13H12V14H7V15H10V16H7V19H13.08C13.2 19.72 13.45 20.39 13.8 21H7C5.9 21 5 20.11 5 19V7C5 5.9 4.11 5 3 5V3Z\";\r\nexport var mdiBeakerOutline = \"M3,3H21V5A2,2 0 0,0 19,7V19A2,2 0 0,1 17,21H7A2,2 0 0,1 5,19V7A2,2 0 0,0 3,5V3M7,5V7H12V8H7V9H10V10H7V11H10V12H7V13H12V14H7V15H10V16H7V19H17V5H7Z\";\r\nexport var mdiBeakerPlus = \"M18 14H20V17H23V19H20V22H18V19H15V17H18V14M3 3H21V5C19.9 5 19 5.9 19 7V12C15.69 12 13 14.69 13 18C13 19.09 13.29 20.12 13.8 21H7C5.9 21 5 20.1 5 19V7C5 5.9 4.1 5 3 5V3M7 9V10H10V9H7M7 11V12H10V11H7M10 16V15H7V16H10M12 14V13H7V14H12M12 8V7H7V8H12Z\";\r\nexport var mdiBeakerPlusOutline = \"M18 14H20V17H23V19H20V22H18V19H15V17H18V14M3 3H21V5C19.9 5 19 5.9 19 7V12C18.3 12 17.63 12.12 17 12.34V5H7V7H12V8H7V9H10V10H7V11H10V12H7V13H12V14H7V15H10V16H7V19H13.08C13.2 19.72 13.45 20.39 13.8 21H7C5.9 21 5 20.11 5 19V7C5 5.9 4.11 5 3 5V3Z\";\r\nexport var mdiBeakerQuestion = \"M0 3H18V5C16.9 5 16 5.9 16 7V19C16 20.1 15.1 21 14 21H4C2.9 21 2 20.1 2 19V7C2 5.9 1.1 5 0 5V3M4 9V10H7V9H4M4 11V12H7V11H4M7 16V15H4V16H7M9 14V13H4V14H9M9 8V7H4V8H9M21.5 15.5V17H20V15.5H21.5M19.5 10.5H18V10C18 8.34 19.34 7 21 7C22.66 7 24 8.34 24 10C24 10.97 23.5 11.88 22.71 12.41L22.41 12.6C21.84 13 21.5 13.62 21.5 14.3V14.5H20V14.3C20 13.11 20.6 12 21.59 11.35L21.88 11.16C22.27 10.9 22.5 10.47 22.5 10C22.5 9.18 21.83 8.5 21 8.5C20.17 8.5 19.5 9.17 19.5 10V10.5Z\";\r\nexport var mdiBeakerQuestionOutline = \"M0 3H18V5C16.9 5 16 5.9 16 7V19C16 20.11 15.11 21 14 21H4C2.9 21 2 20.11 2 19V7C2 5.9 1.11 5 0 5V3M4 5V7H9V8H4V9H7V10H4V11H7V12H4V13H9V14H4V15H7V16H4V19H14V5H4M21.5 15.5V17H20V15.5H21.5M19.5 10.5H18V10C18 8.34 19.34 7 21 7C22.66 7 24 8.34 24 10C24 10.97 23.5 11.88 22.71 12.41L22.41 12.6C21.84 13 21.5 13.62 21.5 14.3V14.5H20V14.3C20 13.11 20.6 12 21.59 11.35L21.88 11.16C22.27 10.9 22.5 10.47 22.5 10C22.5 9.18 21.83 8.5 21 8.5C20.17 8.5 19.5 9.17 19.5 10V10.5Z\";\r\nexport var mdiBeakerRemove = \"M15.46 15.88L16.88 14.46L19 16.59L21.12 14.47L22.53 15.88L20.41 18L22.54 20.12L21.12 21.54L19 19.41L16.88 21.53L15.47 20.12L17.59 18L15.46 15.88M3 3H21V5C19.9 5 19 5.9 19 7V12C15.69 12 13 14.69 13 18C13 19.09 13.29 20.12 13.8 21H7C5.9 21 5 20.1 5 19V7C5 5.9 4.1 5 3 5V3M7 9V10H10V9H7M7 11V12H10V11H7M10 16V15H7V16H10M12 14V13H7V14H12M12 8V7H7V8H12Z\";\r\nexport var mdiBeakerRemoveOutline = \"M15.46 15.88L16.88 14.46L19 16.59L21.12 14.47L22.53 15.88L20.41 18L22.54 20.12L21.12 21.54L19 19.41L16.88 21.53L15.47 20.12L17.59 18L15.46 15.88M3 3H21V5C19.9 5 19 5.9 19 7V12C18.3 12 17.63 12.12 17 12.34V5H7V7H12V8H7V9H10V10H7V11H10V12H7V13H12V14H7V15H10V16H7V19H13.08C13.2 19.72 13.45 20.39 13.8 21H7C5.9 21 5 20.11 5 19V7C5 5.9 4.11 5 3 5V3Z\";\r\nexport var mdiBed = \"M19,7H11V14H3V5H1V20H3V17H21V20H23V11A4,4 0 0,0 19,7M7,13A3,3 0 0,0 10,10A3,3 0 0,0 7,7A3,3 0 0,0 4,10A3,3 0 0,0 7,13Z\";\r\nexport var mdiBedDouble = \"M18 10V7A2 2 0 0 0 16 5H8A2 2 0 0 0 6 7V10A2 2 0 0 0 4 12V17H5.33L6 19H7L7.67 17H16.33L17 19H18L18.67 17H20V12A2 2 0 0 0 18 10M11 10H8V7H11M16 10H13V7H16Z\";\r\nexport var mdiBedDoubleOutline = \"M8 5C7.5 5 7 5.21 6.61 5.6S6 6.45 6 7V10C5.47 10 5 10.19 4.59 10.59S4 11.47 4 12V17H5.34L6 19H7L7.69 17H16.36L17 19H18L18.66 17H20V12C20 11.47 19.81 11 19.41 10.59S18.53 10 18 10V7C18 6.45 17.8 6 17.39 5.6S16.5 5 16 5M8 7H11V10H8M13 7H16V10H13M6 12H18V15H6Z\";\r\nexport var mdiBedEmpty = \"M19,7H5V14H3V5H1V20H3V17H21V20H23V11A4,4 0 0,0 19,7\";\r\nexport var mdiBedKing = \"M6 5C5.47 5 5 5.21 4.59 5.6S4 6.45 4 7V10C3.45 10 3 10.19 2.6 10.59S2 11.47 2 12V17H3.33L4 19H5L5.67 17H18.33L19 19H20L20.67 17H22V12C22 11.47 21.79 11 21.4 10.59C21 10.19 20.55 10 20 10V7C20 6.45 19.81 6 19.41 5.6S18.53 5 18 5M6 7H11V10H6M13 7H18V10H13Z\";\r\nexport var mdiBedKingOutline = \"M20 10V7A2 2 0 0 0 18 5H6A2 2 0 0 0 4 7V10A2 2 0 0 0 2 12V17H3.33L4 19H5L5.67 17H18.33L19 19H20L20.67 17H22V12A2 2 0 0 0 20 10M13 7H18V10H13M6 7H11V10H6M20 15H4V12H20Z\";\r\nexport var mdiBedOutline = \"M7 14C8.66 14 10 12.66 10 11C10 9.34 8.66 8 7 8C5.34 8 4 9.34 4 11C4 12.66 5.34 14 7 14M7 10C7.55 10 8 10.45 8 11C8 11.55 7.55 12 7 12C6.45 12 6 11.55 6 11C6 10.45 6.45 10 7 10M19 7H11V15H3V5H1V20H3V17H21V20H23V11C23 8.79 21.21 7 19 7M21 15H13V9H19C20.1 9 21 9.9 21 11Z\";\r\nexport var mdiBedQueen = \"M19 10V7A2 2 0 0 0 17 5H7A2 2 0 0 0 5 7V10A2 2 0 0 0 3 12V17H4.33L5 19H6L6.67 17H17.33L18 19H19L19.67 17H21V12A2 2 0 0 0 19 10M17 10H7V7H17Z\";\r\nexport var mdiBedQueenOutline = \"M19 10V7A2 2 0 0 0 17 5H7A2 2 0 0 0 5 7V10A2 2 0 0 0 3 12V17H4.33L5 19H6L6.67 17H17.33L18 19H19L19.67 17H21V12A2 2 0 0 0 19 10M7 7H17V10H7M19 15H5V12H19Z\";\r\nexport var mdiBedSingle = \"M17 10V7C17 5.9 16.11 5 15 5H9C7.9 5 7 5.9 7 7V10C5.9 10 4.89 10.9 5 12V17H6.33L7 19H8L8.67 17H15.33L16 19H17L17.67 17H19V12C19 10.9 18.11 10 17 10M15 10H9V7H15Z\";\r\nexport var mdiBedSingleOutline = \"M17 10V7C17 5.9 16.11 5 15 5H9C7.9 5 7 5.9 7 7V10C5.9 10 5 10.9 5 12V17H6.33L7 19H8L8.67 17H15.33L16 19H17L17.67 17H19V12C19 10.9 18.11 10 17 10M9 7H15V10H9M17 15H7V12H17Z\";\r\nexport var mdiBee = \"M17.4 9C17 7.8 16.2 7 15 6.5V5H14V6.4H13.6C12.5 6.4 11.6 6.8 10.8 7.6L10.4 8L9 7.5C8.7 7.4 8.4 7.3 8 7.3C7.4 7.3 6.8 7.5 6.3 7.9C5.7 8.3 5.4 8.8 5.2 9.3C5 10 5 10.6 5.2 11.3C5.5 12 5.8 12.5 6.3 12.8C5.9 14.3 6.2 15.6 7.3 16.7C8.1 17.5 9 17.9 10.1 17.9C10.6 17.9 10.9 17.9 11.2 17.8C11.8 18.6 12.6 19.1 13.6 19.1C13.9 19.1 14.3 19.1 14.6 19C15.2 18.8 15.6 18.4 16 17.9C16.4 17.3 16.6 16.8 16.6 16.2C16.6 15.8 16.6 15.5 16.5 15.2L16 13.6L16.6 13.2C17.4 12.4 17.8 11.3 17.7 10.1H19V9H17.4M7.7 11.3C7.1 11 6.9 10.6 7.1 10C7.3 9.4 7.7 9.2 8.3 9.4L11.5 10.6C9.9 11.4 8.7 11.6 7.7 11.3M14 16.9C13.4 17.1 13 16.9 12.7 16.3C12.4 15.3 12.6 14.1 13.4 12.5L14.6 15.6C14.8 16.3 14.6 16.7 14 16.9M15.2 11.6L14.6 10V9.9L14.3 9.6H14.2L12.6 9C13 8.7 13.4 8.5 13.9 8.5C14.4 8.5 14.9 8.7 15.3 9.1C15.7 9.5 15.9 9.9 15.9 10.4C15.7 10.7 15.5 11.2 15.2 11.6Z\";\r\nexport var mdiBeeFlower = \"M11.6 13V12.9L11.3 12.6H11.2L9.6 12C10 11.7 10.4 11.5 10.9 11.5C11.4 11.5 11.9 11.7 12.3 12.1C12.7 12.5 12.9 12.9 12.9 13.4C12.9 13.9 12.8 14.3 12.4 14.7L11.6 13M9.7 19.3C9.4 18.3 9.6 17.1 10.4 15.5L11.6 18.6C11.8 19.2 11.6 19.6 11 19.9C10.4 20.2 10 20 9.7 19.3M4.1 13.1C4.3 12.5 4.7 12.3 5.3 12.5L8.5 13.7C6.9 14.5 5.7 14.7 4.7 14.4C4.1 14.1 3.9 13.7 4.1 13.1M12 8.1H11V9.5H10.6C9.5 9.5 8.6 9.9 7.8 10.7L7.4 11.3L6 10.5C5.7 10.4 5.4 10.4 5 10.4C4.4 10.4 3.8 10.6 3.3 11S2.4 11.8 2.2 12.4C2 13.1 2 13.7 2.2 14.4C2.5 15.1 2.8 15.6 3.3 15.9C2.9 17.4 3.2 18.7 4.3 19.8C5.1 20.6 6 21 7.1 21C7.6 21 7.9 21 8.2 20.9C8.8 21.7 9.6 22.2 10.6 22.2C10.9 22.2 11.3 22.2 11.6 22.1C12.2 21.9 12.6 21.5 13 21C13.4 20.4 13.6 19.9 13.6 19.3C13.6 18.9 13.6 18.6 13.5 18.3L12.9 16.9L13.5 16.5C14.3 15.7 14.7 14.6 14.6 13.4H16V12.4H14.4C14 11.2 13.2 10.4 12 10V8.1M17.3 6.8C17.1 6.6 17 6.3 17 6.1C17 5.8 17.1 5.6 17.3 5.4C17.5 5.2 17.7 5.1 18 5.1S18.5 5.2 18.7 5.4C18.9 5.5 19 5.8 19 6.1C19 6.4 18.9 6.6 18.7 6.8C18.5 7 18.3 7 18 7S17.5 7 17.3 6.8M20.7 4.1H19.6L19.3 3.2C19.1 2.5 18.7 2.2 18 2.2C17.3 2.2 16.8 2.5 16.7 3.2L16.4 4.1H15.3C14.7 4.1 14.3 4.4 14 5C13.8 5.6 14 6.1 14.6 6.5L15.5 7L15.1 8.2C14.9 8.6 15 9 15.2 9.4C15.5 9.8 15.8 10 16.3 10C16.7 10 17 9.9 17.2 9.7L18 9.1L18.8 9.8C19 9.9 19.3 10 19.7 10C20.2 10 20.5 9.8 20.8 9.4C21 9 21.1 8.6 20.9 8.2L20.5 7L21.3 6.5C21.9 6.1 22.1 5.6 21.9 5C21.7 4.3 21.3 4.1 20.7 4.1Z\";\r\nexport var mdiBeehiveOffOutline = \"M1.1 3L4.7 6.5C3.7 7.2 3 8.2 3 9.5C3 10.1 3.2 10.7 3.5 11.2C2 11.6 1 12.9 1 14.5C1 15.8 1.7 16.8 2.7 17.5C2.2 18 2 18.7 2 19.5C2 21.4 3.6 23 5.5 23H18.5C19.3 23 20 22.7 20.6 22.3L21.3 23L22.6 21.7L2.4 1.7L1.1 3M9.2 11H6.5C5.7 11 5 10.3 5 9.5C5 8.8 5.5 8.2 6.2 8L9.2 11M9 21H5.5C4.7 21 4 20.3 4 19.5S4.7 18 5.5 18H9V21M9.2 16H4.5C3.7 16 3 15.3 3 14.5S3.7 13 4.5 13H11.2L12.2 14H12C10.7 14 9.6 14.8 9.2 16M18.5 21H15V18H16.2L19.1 20.9C18.9 21 18.7 21 18.5 21M7.1 3.9L5.7 2.5C6.3 1.6 7.3 1 8.5 1H15.5C17.4 1 19 2.6 19 4.5C19 5.1 18.8 5.7 18.5 6.2C20 6.6 21 7.9 21 9.5C21 10.1 20.8 10.7 20.5 11.2C21.9 11.7 23 13 23 14.5C23 15.8 22.3 16.8 21.3 17.5C21.6 17.9 21.8 18.3 21.9 18.7L19.2 16H19.5C20.3 16 21 15.3 21 14.5S20.3 13 19.5 13H16.2L14.2 11H17.5C18.3 11 19 10.3 19 9.5S18.3 8 17.5 8H11.2L9.2 6H15.5C16.3 6 17 5.3 17 4.5S16.3 3 15.5 3H8.5C7.9 3 7.3 3.4 7.1 3.9Z\";\r\nexport var mdiBeehiveOutline = \"M23 14.5C23 12.94 21.97 11.63 20.55 11.18C20.83 10.68 21 10.11 21 9.5C21 7.94 19.97 6.63 18.55 6.18C18.83 5.68 19 5.11 19 4.5C19 2.57 17.43 1 15.5 1H8.5C6.57 1 5 2.57 5 4.5C5 5.11 5.17 5.68 5.45 6.18C4.04 6.63 3 7.94 3 9.5C3 10.11 3.17 10.68 3.45 11.18C2.04 11.63 1 12.94 1 14.5C1 15.76 1.67 16.84 2.67 17.46C2.25 18.03 2 18.74 2 19.5C2 21.43 3.57 23 5.5 23H18.5C20.43 23 22 21.43 22 19.5C22 18.74 21.75 18.03 21.33 17.46C22.33 16.84 23 15.76 23 14.5M8.5 3H15.5C16.33 3 17 3.67 17 4.5S16.33 6 15.5 6H8.5C7.67 6 7 5.33 7 4.5S7.67 3 8.5 3M6.5 8H17.5C18.33 8 19 8.67 19 9.5S18.33 11 17.5 11H6.5C5.67 11 5 10.33 5 9.5S5.67 8 6.5 8M4 19.5C4 18.67 4.67 18 5.5 18H9V21H5.5C4.67 21 4 20.33 4 19.5M18.5 21H15V18H18.5C19.33 18 20 18.67 20 19.5S19.33 21 18.5 21M19.5 16H14.82C14.4 14.84 13.3 14 12 14S9.6 14.84 9.18 16H4.5C3.67 16 3 15.33 3 14.5S3.67 13 4.5 13H19.5C20.33 13 21 13.67 21 14.5S20.33 16 19.5 16Z\";\r\nexport var mdiBeekeeper = \"M19 5H16C16 3.34 14.21 2 12 2C9.79 2 8 3.34 8 5H5C4.45 5 4 5.45 4 6S4.45 7 5 7V14C5 15.11 5.9 16 7 16H17C18.11 16 19 15.11 19 14V7C19.55 7 20 6.55 20 6S19.55 5 19 5M17 14H7V7H17V14M15.86 8C15.94 8.32 16 8.65 16 9C16 11.21 14.21 13 12 13S8 11.21 8 9C8 8.65 8.06 8.32 8.14 8H10.28C10.11 8.3 10 8.63 10 9C10 10.1 10.9 11 12 11S14 10.1 14 9C14 8.63 13.89 8.3 13.72 8H15.86M20 19V22H4V19C4 18.22 4.47 17.55 5.18 17H12C9.28 17 6.19 18.29 6 19V20H18V19C17.81 18.29 14.72 17 12 17H18.82C19.53 17.55 20 18.22 20 19Z\";\r\nexport var mdiBeer = \"M4,2H19L17,22H6L4,2M6.2,4L7.8,20H8.8L7.43,6.34C8.5,6 9.89,5.89 11,7C12.56,8.56 15.33,7.69 16.5,7.23L16.8,4H6.2Z\";\r\nexport var mdiBeerOutline = \"M4 2L6 22H17L19 2H4M6.2 4H16.8L16.5 7.23C13.18 8.5 11.85 7.67 11.38 7.31C11.13 7.12 10.77 6.69 10.11 6.39C9.45 6.08 8.55 6 7.5 6.32C7.09 6.43 6.77 6.61 6.5 6.79L6.2 4M8.86 8.11C9.05 8.11 9.16 8.15 9.27 8.2C9.5 8.3 9.71 8.55 10.17 8.9C11.03 9.56 13.03 10.36 16.26 9.41L15.2 20H7.8L6.71 9.06C6.76 9 6.91 8.89 7.17 8.71C7.5 8.5 7.91 8.28 8 8.25L8 8.25H8.03C8.41 8.14 8.67 8.1 8.86 8.11Z\";\r\nexport var mdiBell = \"M21,19V20H3V19L5,17V11C5,7.9 7.03,5.17 10,4.29C10,4.19 10,4.1 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.1 14,4.19 14,4.29C16.97,5.17 19,7.9 19,11V17L21,19M14,21A2,2 0 0,1 12,23A2,2 0 0,1 10,21\";\r\nexport var mdiBellAlert = \"M23 7V13H21V7M21 15H23V17H21M12 2A2 2 0 0 0 10 4A2 2 0 0 0 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H21V19L19 17V11C19 7.82 16.88 5.14 14 4.29A2 2 0 0 0 14 4A2 2 0 0 0 12 2M10 21A2 2 0 0 0 12 23A2 2 0 0 0 14 21Z\";\r\nexport var mdiBellAlertOutline = \"M12 2A2 2 0 0 0 10 4A2 2 0 0 0 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H21V19L19 17V11C19 7.82 16.88 5.14 14 4.29A2 2 0 0 0 14 4A2 2 0 0 0 12 2M12 6A5 5 0 0 1 17 11V18H7V11A5 5 0 0 1 12 6M21 7V13H23V7H21M21 15V17H23V15H21M10 21A2 2 0 0 0 12 23A2 2 0 0 0 14 21H10Z\";\r\nexport var mdiBellBadge = \"M21 6.5C21 8.43 19.43 10 17.5 10S14 8.43 14 6.5 15.57 3 17.5 3 21 4.57 21 6.5M19 11.79C18.5 11.92 18 12 17.5 12C14.47 12 12 9.53 12 6.5C12 5.03 12.58 3.7 13.5 2.71C13.15 2.28 12.61 2 12 2C10.9 2 10 2.9 10 4V4.29C7.03 5.17 5 7.9 5 11V17L3 19V20H21V19L19 17V11.79M12 23C13.11 23 14 22.11 14 21H10C10 22.11 10.9 23 12 23Z\";\r\nexport var mdiBellBadgeOutline = \"M21 6.5C21 8.43 19.43 10 17.5 10S14 8.43 14 6.5 15.57 3 17.5 3 21 4.57 21 6.5M11.5 22C12.61 22 13.5 21.11 13.5 20H9.5C9.5 21.11 10.4 22 11.5 22M18 12C17.84 12 17.67 12 17.5 12C17 12 16.5 11.92 16 11.79V17H7V10.5C7 8 9 6 11.5 6C11.68 6 11.85 6.03 12 6.05C12.1 5.06 12.45 4.14 13 3.37C12.92 2.6 12.28 2 11.5 2C10.67 2 10 2.67 10 3.5V4.18C7.13 4.86 5 7.43 5 10.5V16L3 18V19H20V18L18 16V12Z\";\r\nexport var mdiBellCancel = \"M17.5 13A4.5 4.5 0 0 0 13 17.5A4.5 4.5 0 0 0 17.5 22A4.5 4.5 0 0 0 22 17.5A4.5 4.5 0 0 0 17.5 13M17.5 14.5A3 3 0 0 1 20.5 17.5A3 3 0 0 1 20.08 19L16 14.92A3 3 0 0 1 17.5 14.5M14.92 16L19 20.08A3 3 0 0 1 17.5 20.5A3 3 0 0 1 14.5 17.5A3 3 0 0 1 14.92 16M12 2C10.9 2 10 2.9 10 4C10 4.1 10 4.19 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H11.5A6.5 6.5 0 0 1 11 17.5A6.5 6.5 0 0 1 17.5 11A6.5 6.5 0 0 1 19 11.18V11C19 7.82 16.88 5.14 14 4.29C14 4.19 14 4.1 14 4C14 2.9 13.11 2 12 2M10 21C10 22.11 10.9 23 12 23C12.5 23 12.97 22.81 13.33 22.5A6.5 6.5 0 0 1 12.03 21Z\";\r\nexport var mdiBellCancelOutline = \"M17.5 13A4.5 4.5 0 0 0 13 17.5A4.5 4.5 0 0 0 17.5 22A4.5 4.5 0 0 0 22 17.5A4.5 4.5 0 0 0 17.5 13M17.5 14.5A3 3 0 0 1 20.5 17.5A3 3 0 0 1 20.08 19L16 14.92A3 3 0 0 1 17.5 14.5M14.92 16L19 20.08A3 3 0 0 1 17.5 20.5A3 3 0 0 1 14.5 17.5A3 3 0 0 1 14.92 16M12 2C10.9 2 10 2.9 10 4C10 4.1 10 4.19 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H11.5A6.5 6.5 0 0 1 11.03 18H7V11A5 5 0 0 1 12 6A5 5 0 0 1 17 11V11A6.5 6.5 0 0 1 17.5 11A6.5 6.5 0 0 1 19 11.18V11C19 7.82 16.88 5.14 14 4.29C14 4.19 14 4.1 14 4C14 2.9 13.11 2 12 2M10 21C10 22.11 10.9 23 12 23C12.5 23 12.97 22.81 13.33 22.5A6.5 6.5 0 0 1 12.03 21Z\";\r\nexport var mdiBellCheck = \"M17.75 21.16L15 18.16L16.16 17L17.75 18.59L21.34 15L22.5 16.41L17.75 21.16M3 20V19L5 17V11C5 7.9 7.03 5.18 10 4.29V4C10 2.9 10.9 2 12 2C13.11 2 14 2.9 14 4V4.29C16.97 5.18 19 7.9 19 11V12.08L18 12C14.69 12 12 14.69 12 18C12 18.7 12.12 19.37 12.34 20H3M12 23C10.9 23 10 22.11 10 21H12.8C13.04 21.41 13.33 21.79 13.65 22.13C13.29 22.66 12.69 23 12 23Z\";\r\nexport var mdiBellCheckOutline = \"M17.75 21.16L15 18.16L16.16 17L17.75 18.59L21.34 15L22.5 16.41L17.75 21.16M10 21H12.8C13.04 21.41 13.33 21.79 13.65 22.13C13.29 22.66 12.69 23 12 23C10.9 23 10 22.11 10 21M3 20V19L5 17V11C5 7.9 7.03 5.18 10 4.29V4C10 2.9 10.9 2 12 2C13.11 2 14 2.9 14 4V4.29C16.97 5.18 19 7.9 19 11V12.08L18 12L17 12.08V11C17 8.24 14.76 6 12 6C9.24 6 7 8.24 7 11V18H12C12 18.7 12.12 19.37 12.34 20H3Z\";\r\nexport var mdiBellCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M17,16V15L16,14V11.39C16,10.3 15.73,9.34 15.21,8.53C14.7,7.72 13.96,7.21 13,7V6.5A1,1 0 0,0 12,5.5A1,1 0 0,0 11,6.5V7C10.04,7.21 9.3,7.72 8.79,8.53C8.27,9.34 8,10.3 8,11.39V14L7,15V16H17M13.5,17H10.5A1.5,1.5 0 0,0 12,18.5A1.5,1.5 0 0,0 13.5,17Z\";\r\nexport var mdiBellCircleOutline = \"M17,16H7V15L8,14V11.39C8,10.3 8.27,9.34 8.79,8.53C9.3,7.72 10.04,7.21 11,7V6.5A1,1 0 0,1 12,5.5A1,1 0 0,1 13,6.5V7C13.96,7.21 14.7,7.72 15.21,8.53C15.73,9.34 16,10.3 16,11.39V14L17,15V16M13.5,17A1.5,1.5 0 0,1 12,18.5A1.5,1.5 0 0,1 10.5,17H13.5M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiBellMinus = \"M22 19V17H14V19H22M12 2C10.9 2 10 2.9 10 4C10 4.1 10 4.19 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H12.35C12.12 19.36 12 18.68 12 18C12 14.69 14.69 12 18 12C18.34 12 18.67 12.03 19 12.09V11C19 7.82 16.88 5.14 14 4.29C14 4.19 14 4.1 14 4C14 2.9 13.11 2 12 2M10 21C10 22.11 10.9 23 12 23C12.66 23 13.28 22.67 13.65 22.13C13.33 21.79 13.05 21.41 12.81 21H10Z\";\r\nexport var mdiBellMinusOutline = \"M12 2C10.9 2 10 2.9 10 4V4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H12.35C12.12 19.36 12 18.68 12 18H7V11C7 8.24 9.24 6 12 6S17 8.24 17 11V12.09C17.33 12.03 17.67 12 18 12C18.34 12 18.67 12.03 19 12.09V11C19 7.82 16.88 5.14 14 4.29V4C14 2.9 13.11 2 12 2M14 17V19H22V17M10 21C10 22.11 10.9 23 12 23C12.66 23 13.28 22.67 13.65 22.13C13.33 21.79 13.05 21.41 12.81 21H10Z\";\r\nexport var mdiBellOff = \"M20.84,22.73L18.11,20H3V19L5,17V11C5,9.86 5.29,8.73 5.83,7.72L1.11,3L2.39,1.73L22.11,21.46L20.84,22.73M19,15.8V11C19,7.9 16.97,5.17 14,4.29C14,4.19 14,4.1 14,4A2,2 0 0,0 12,2A2,2 0 0,0 10,4C10,4.1 10,4.19 10,4.29C9.39,4.47 8.8,4.74 8.26,5.09L19,15.8M12,23A2,2 0 0,0 14,21H10A2,2 0 0,0 12,23Z\";\r\nexport var mdiBellOffOutline = \"M22.11,21.46L2.39,1.73L1.11,3L5.83,7.72C5.29,8.73 5,9.86 5,11V17L3,19V20H18.11L20.84,22.73L22.11,21.46M7,18V11C7,10.39 7.11,9.79 7.34,9.23L16.11,18H7M10,21H14A2,2 0 0,1 12,23A2,2 0 0,1 10,21M8.29,5.09C8.82,4.75 9.4,4.5 10,4.29C10,4.19 10,4.1 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.1 14,4.19 14,4.29C16.97,5.17 19,7.9 19,11V15.8L17,13.8V11A5,5 0 0,0 12,6C11.22,6 10.45,6.2 9.76,6.56L8.29,5.09Z\";\r\nexport var mdiBellOutline = \"M10 21H14C14 22.1 13.1 23 12 23S10 22.1 10 21M21 19V20H3V19L5 17V11C5 7.9 7 5.2 10 4.3V4C10 2.9 10.9 2 12 2S14 2.9 14 4V4.3C17 5.2 19 7.9 19 11V17L21 19M17 11C17 8.2 14.8 6 12 6S7 8.2 7 11V18H17V11Z\";\r\nexport var mdiBellPlus = \"M17 14V17H14V19H17V22H19V19H22V17H19V14M12 2A2 2 0 0 0 10 4A2 2 0 0 0 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H12.35A6 6 0 0 1 12 18A6 6 0 0 1 18 12A6 6 0 0 1 19 12.09V11C19 7.82 16.88 5.14 14 4.29A2 2 0 0 0 14 4A2 2 0 0 0 12 2M10 21A2 2 0 0 0 12 23A2 2 0 0 0 13.65 22.13A6 6 0 0 1 12.81 21Z\";\r\nexport var mdiBellPlusOutline = \"M12 2C10.9 2 10 2.9 10 4C10 4.1 10 4.19 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H12.35C12.12 19.36 12 18.68 12 18H7V11C7 8.24 9.24 6 12 6C14.76 6 17 8.24 17 11V12.09C17.33 12.03 17.67 12 18 12C18.34 12 18.67 12.03 19 12.09V11C19 7.82 16.88 5.14 14 4.29C14 4.19 14 4.1 14 4C14 2.9 13.11 2 12 2M17 14V17H14V19H17V22H19V19H22V17H19V14M10 21C10 22.11 10.9 23 12 23C12.66 23 13.28 22.67 13.65 22.13C13.33 21.79 13.05 21.41 12.81 21Z\";\r\nexport var mdiBellRemove = \"M20.12 14.46L18 16.59L15.88 14.46L14.46 15.88L16.59 18L14.46 20.12L15.88 21.54L18 19.41L20.12 21.54L21.54 20.12L19.41 18L21.54 15.88M12 2C10.9 2 10 2.9 10 4C10 4.1 10 4.19 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H12.35C12.12 19.36 12 18.68 12 18C12 14.69 14.69 12 18 12C18.34 12 18.67 12.03 19 12.09V11C19 7.82 16.88 5.14 14 4.29C14 4.19 14 4.1 14 4C14 2.9 13.11 2 12 2M10 21C10 22.11 10.9 23 12 23C12.66 23 13.28 22.67 13.65 22.13C13.33 21.79 13.05 21.41 12.81 21Z\";\r\nexport var mdiBellRemoveOutline = \"M20.12 14.46L18 16.59L15.88 14.46L14.46 15.88L16.59 18L14.46 20.12L15.88 21.54L18 19.41L20.12 21.54L21.54 20.12L19.41 18L21.54 15.88M12 2C10.9 2 10 2.9 10 4C10 4.1 10 4.19 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H12.35C12.12 19.36 12 18.68 12 18H7V11A5 5 0 0 1 12 6A5 5 0 0 1 17 11V12.09C17.33 12.04 17.66 12 18 12C18.34 12 18.67 12.03 19 12.09V11C19 7.82 16.88 5.14 14 4.29C14 4.19 14 4.1 14 4C14 2.9 13.11 2 12 2M10 21C10 22.11 10.9 23 12 23C12.66 23 13.28 22.67 13.65 22.13C13.33 21.79 13.05 21.41 12.81 21Z\";\r\nexport var mdiBellRing = \"M21,19V20H3V19L5,17V11C5,7.9 7.03,5.17 10,4.29C10,4.19 10,4.1 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.1 14,4.19 14,4.29C16.97,5.17 19,7.9 19,11V17L21,19M14,21A2,2 0 0,1 12,23A2,2 0 0,1 10,21M19.75,3.19L18.33,4.61C20.04,6.3 21,8.6 21,11H23C23,8.07 21.84,5.25 19.75,3.19M1,11H3C3,8.6 3.96,6.3 5.67,4.61L4.25,3.19C2.16,5.25 1,8.07 1,11Z\";\r\nexport var mdiBellRingOutline = \"M10,21H14A2,2 0 0,1 12,23A2,2 0 0,1 10,21M21,19V20H3V19L5,17V11C5,7.9 7.03,5.17 10,4.29C10,4.19 10,4.1 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.1 14,4.19 14,4.29C16.97,5.17 19,7.9 19,11V17L21,19M17,11A5,5 0 0,0 12,6A5,5 0 0,0 7,11V18H17V11M19.75,3.19L18.33,4.61C20.04,6.3 21,8.6 21,11H23C23,8.07 21.84,5.25 19.75,3.19M1,11H3C3,8.6 3.96,6.3 5.67,4.61L4.25,3.19C2.16,5.25 1,8.07 1,11Z\";\r\nexport var mdiBellSleep = \"M10,21H14A2,2 0 0,1 12,23A2,2 0 0,1 10,21M21,19V20H3V19L5,17V11C5,7.9 7.03,5.17 10,4.29C10,4.19 10,4.1 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.1 14,4.19 14,4.29C16.97,5.17 19,7.9 19,11V17L21,19M15,9H9V11H12.24L9,13.7V16H15V14H11.76L15,11.3V9Z\";\r\nexport var mdiBellSleepOutline = \"M10,21H14A2,2 0 0,1 12,23A2,2 0 0,1 10,21M21,19V20H3V19L5,17V11C5,7.9 7.03,5.17 10,4.29C10,4.19 10,4.1 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.1 14,4.19 14,4.29C16.97,5.17 19,7.9 19,11V17L21,19M17,11A5,5 0 0,0 12,6A5,5 0 0,0 7,11V18H17V11M9,9V11H12.24L9,13.7V16H15V14H11.76L15,11.3V9H9Z\";\r\nexport var mdiBeta = \"M9.23,17.59V23.12H6.88V6.72C6.88,5.27 7.31,4.13 8.16,3.28C9,2.43 10.17,2 11.61,2C13,2 14.07,2.34 14.87,3C15.66,3.68 16.05,4.62 16.05,5.81C16.05,6.63 15.79,7.4 15.27,8.11C14.75,8.82 14.08,9.31 13.25,9.58V9.62C14.5,9.82 15.47,10.27 16.13,11C16.79,11.71 17.12,12.62 17.12,13.74C17.12,15.06 16.66,16.14 15.75,16.97C14.83,17.8 13.63,18.21 12.13,18.21C11.07,18.21 10.1,18 9.23,17.59M10.72,10.75V8.83C11.59,8.72 12.3,8.4 12.87,7.86C13.43,7.31 13.71,6.7 13.71,6C13.71,4.62 13,3.92 11.6,3.92C10.84,3.92 10.25,4.16 9.84,4.65C9.43,5.14 9.23,5.82 9.23,6.71V15.5C10.14,16.03 11.03,16.29 11.89,16.29C12.73,16.29 13.39,16.07 13.86,15.64C14.33,15.2 14.56,14.58 14.56,13.79C14.56,12 13.28,11 10.72,10.75Z\";\r\nexport var mdiBetamax = \"M4,5A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V7A2,2 0 0,0 20,5H4M8,9A4,4 0 0,1 12,13A4,4 0 0,1 8,17A4,4 0 0,1 4,13A4,4 0 0,1 8,9M13,9H20V17H13V9M8,11A2,2 0 0,0 6,13A2,2 0 0,0 8,15A2,2 0 0,0 10,13A2,2 0 0,0 8,11Z\";\r\nexport var mdiBiathlon = \"M12.88,3.64C13.65,3.64 14.28,4.27 14.28,5.04C14.28,5.81 13.65,6.44 12.88,6.44C12.11,6.44 11.5,5.81 11.5,5.04C11.5,4.27 12.11,3.64 12.88,3.64M15,13H16.5V19H15V13M15,8.5H16.5V10H15V8.5M10.04,2.6L8,2.04L6.06,8.58L3.9,11.42L7.17,12.37L10.04,2.6M19.67,18.55C19.31,18.93 18.88,19.5 18.4,19.7C17.91,19.92 17.54,20 17,20H13.5L13.43,17C13.42,16.83 13.37,16.67 13.28,16.5L10.88,12.24L11.76,9.5C12.34,10.55 13,11.73 13.06,11.83C13.21,12 13.45,12.13 13.69,12.13H15.9A0.81,0.81 0 0,0 16.71,11.32C16.71,10.9 16.38,10.56 15.96,10.53L14.29,10.4L12.4,7C12.4,7 12,6.42 11.14,6.42C10.27,6.42 10,6.84 9.83,7.42L6,20H3V22H17C18.37,22 19.53,21.34 20.5,20.37L19.67,18.55M9.75,14.39L11.62,17.39L11.75,20H7.75L9.75,14.39Z\";\r\nexport var mdiBicycle = \"M19 10C18.44 10 17.91 10.11 17.41 10.28L14.46 4.5H11V6H13.54L14.42 7.72L12 13.13L10.23 8.95C10.5 8.85 10.74 8.58 10.74 8.25C10.74 7.84 10.41 7.5 10 7.5H8C7.58 7.5 7.24 7.84 7.24 8.25S7.58 9 8 9H8.61L10.86 14.25H9.92C9.56 11.85 7.5 10 5 10C2.24 10 0 12.24 0 15S2.24 20 5 20C7.5 20 9.56 18.15 9.92 15.75H12.5L15.29 9.43L16.08 10.96C14.82 11.87 14 13.34 14 15C14 17.76 16.24 20 19 20S24 17.76 24 15 21.76 10 19 10M5 18.5C3.07 18.5 1.5 16.93 1.5 15S3.07 11.5 5 11.5C6.67 11.5 8.07 12.68 8.41 14.25H4V15.75H8.41C8.07 17.32 6.67 18.5 5 18.5M19 18.5C17.07 18.5 15.5 16.93 15.5 15C15.5 13.92 16 12.97 16.77 12.33L18.57 15.85L19.89 15.13L18.1 11.63C18.39 11.56 18.69 11.5 19 11.5C20.93 11.5 22.5 13.07 22.5 15S20.93 18.5 19 18.5Z\";\r\nexport var mdiBicycleBasket = \"M11.74 13.36L14.14 7.71L13.06 5.5H10.5V4H14L14.73 5.5H21.75L20.75 9H16.44L17.11 10.37C17.69 10.13 18.33 10 19 10C21.76 10 24 12.24 24 15C24 17.76 21.76 20 19 20C16.24 20 14 17.76 14 15C14 13.45 14.71 12.06 15.82 11.15L15 9.5L12.25 16H9.9C9.44 18.28 7.42 20 5 20C2.24 20 0 17.76 0 15C0 12.24 2.24 10 5 10C7.59 10 9.72 11.97 10 14.5H10.58L8.3 9H7.5C7.09 9 6.75 8.66 6.75 8.25C6.75 7.84 7.09 7.5 7.5 7.5H10.25C10.66 7.5 11 7.84 11 8.25C11 8.66 10.66 9 10.25 9H9.97L11.74 13.36M5 11.5C3.07 11.5 1.5 13.07 1.5 15C1.5 16.93 3.07 18.5 5 18.5C6.59 18.5 7.93 17.45 8.36 16H4V14.5H8.47C8.22 12.8 6.76 11.5 5 11.5M19 11.5C18.57 11.5 18.15 11.58 17.77 11.72L19.7 15.68L18.35 16.34L16.5 12.55C15.88 13.18 15.5 14.05 15.5 15C15.5 16.93 17.07 18.5 19 18.5C20.93 18.5 22.5 16.93 22.5 15C22.5 13.07 20.93 11.5 19 11.5Z\";\r\nexport var mdiBicycleElectric = \"M19 7C18.44 7 17.91 7.11 17.41 7.28L14.46 1.5H11V3H13.54L14.42 4.72L12 10.13L10.23 5.95C10.5 5.85 10.74 5.58 10.74 5.25C10.74 4.84 10.41 4.5 10 4.5H8C7.58 4.5 7.24 4.84 7.24 5.25S7.58 6 8 6H8.61L10.86 11.25H9.92C9.56 8.85 7.5 7 5 7C2.24 7 0 9.24 0 12S2.24 17 5 17C7.5 17 9.56 15.15 9.92 12.75H12.5L15.29 6.43L16.08 7.96C14.82 8.87 14 10.34 14 12C14 14.76 16.24 17 19 17S24 14.76 24 12 21.76 7 19 7M5 15.5C3.07 15.5 1.5 13.93 1.5 12S3.07 8.5 5 8.5C6.67 8.5 8.07 9.68 8.41 11.25H4V12.75H8.41C8.07 14.32 6.67 15.5 5 15.5M19 15.5C17.07 15.5 15.5 13.93 15.5 12C15.5 10.92 16 9.97 16.77 9.33L18.57 12.85L19.89 12.13L18.1 8.63C18.39 8.56 18.69 8.5 19 8.5C20.93 8.5 22.5 10.07 22.5 12S20.93 15.5 19 15.5M11 20H7L13 23V21H17L11 18V20Z\";\r\nexport var mdiBicyclePennyFarthing = \"M15.5 5.06V2H12V4H13.5V5.04C12.71 5.11 11.94 5.27 11.2 5.5C11.03 5.2 10.72 5 10.36 5H7C6.45 5 6 5.45 6 6S6.45 7 7 7H8.05C5.09 9 3.12 12.36 3 16.18C1.85 16.59 1 17.69 1 19C1 20.66 2.34 22 4 22S7 20.66 7 19C7 17.7 6.17 16.61 5 16.19C5.07 14.67 5.46 13.25 6.14 12C6.05 12.5 6 13 6 13.5C6 18.19 9.81 22 14.5 22C19.19 22 23 18.19 23 13.5C23 9.14 19.72 5.56 15.5 5.06M4 20C3.45 20 3 19.55 3 19S3.45 18 4 18 5 18.45 5 19 4.55 20 4 20M14.5 20C10.92 20 8 17.08 8 13.5C8 10.26 10.39 7.57 13.5 7.09V15H15.5V7.09C18.61 7.57 21 10.26 21 13.5C21 17.08 18.08 20 14.5 20Z\";\r\nexport var mdiBike = \"M5,20.5A3.5,3.5 0 0,1 1.5,17A3.5,3.5 0 0,1 5,13.5A3.5,3.5 0 0,1 8.5,17A3.5,3.5 0 0,1 5,20.5M5,12A5,5 0 0,0 0,17A5,5 0 0,0 5,22A5,5 0 0,0 10,17A5,5 0 0,0 5,12M14.8,10H19V8.2H15.8L13.86,4.93C13.57,4.43 13,4.1 12.4,4.1C11.93,4.1 11.5,4.29 11.2,4.6L7.5,8.29C7.19,8.6 7,9 7,9.5C7,10.13 7.33,10.66 7.85,10.97L11.2,13V18H13V11.5L10.75,9.85L13.07,7.5M19,20.5A3.5,3.5 0 0,1 15.5,17A3.5,3.5 0 0,1 19,13.5A3.5,3.5 0 0,1 22.5,17A3.5,3.5 0 0,1 19,20.5M19,12A5,5 0 0,0 14,17A5,5 0 0,0 19,22A5,5 0 0,0 24,17A5,5 0 0,0 19,12M16,4.8C17,4.8 17.8,4 17.8,3C17.8,2 17,1.2 16,1.2C15,1.2 14.2,2 14.2,3C14.2,4 15,4.8 16,4.8Z\";\r\nexport var mdiBikeFast = \"M16 1.2C15 1.2 14.2 2 14.2 3S15 4.8 16 4.8 17.8 4 17.8 3 17 1.2 16 1.2M12.4 4.1C11.93 4.1 11.5 4.29 11.2 4.6L7.5 8.29C7.19 8.6 7 9 7 9.5C7 10.13 7.33 10.66 7.85 10.97L11.2 13V18H13V11.5L10.75 9.85L13.07 7.5L14.8 10H19V8.2H15.8L13.86 4.93C13.57 4.43 13 4.1 12.4 4.1M10 3H3C2.45 3 2 2.55 2 2S2.45 1 3 1H12.79C12.58 1.34 12.41 1.71 12.32 2.11C11.46 2.13 10.65 2.45 10 3M5 12C2.24 12 0 14.24 0 17S2.24 22 5 22 10 19.76 10 17 7.76 12 5 12M5 20.5C3.07 20.5 1.5 18.93 1.5 17S3.07 13.5 5 13.5 8.5 15.07 8.5 17 6.93 20.5 5 20.5M19 12C16.24 12 14 14.24 14 17S16.24 22 19 22 24 19.76 24 17 21.76 12 19 12M19 20.5C17.07 20.5 15.5 18.93 15.5 17S17.07 13.5 19 13.5 22.5 15.07 22.5 17 20.93 20.5 19 20.5M5.32 11H1C.448 11 0 10.55 0 10S.448 9 1 9H5.05C5.03 9.16 5 9.33 5 9.5C5 10.03 5.12 10.54 5.32 11M6 7H2C1.45 7 1 6.55 1 6S1.45 5 2 5H7.97L6.09 6.87C6.05 6.91 6 6.96 6 7Z\";\r\nexport var mdiBillboard = \"M20 22H18V17H20M6 22H4V17H6M23 4V13A2 2 0 0 1 21 15H3A2 2 0 0 1 1 13V4A2 2 0 0 1 3 2H21A2 2 0 0 1 23 4M21 4H3V13H21M20 6H15V8H20M18 9H15V11H18M14 11H4L6.73 7.36L8.73 10.09L9.46 9.55L8.2 7.82L9.91 5.55Z\";\r\nexport var mdiBilliards = \"M11,13H13V15H11M11,9H13V11H11M11,17H13A2,2 0 0,0 15,15V13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 15,10.5V9A2,2 0 0,0 13,7H11A2,2 0 0,0 9,9V10.5A1.5,1.5 0 0,0 10.5,12A1.5,1.5 0 0,0 9,13.5V15A2,2 0 0,0 11,17M12,1C5.92,1 1,5.92 1,12C1,18.08 5.92,23 12,23C18.08,23 23,18.08 23,12C23,5.92 18.08,1 12,1M12,19A7,7 0 0,1 5,12A7,7 0 0,1 12,5A7,7 0 0,1 19,12A7,7 0 0,1 12,19Z\";\r\nexport var mdiBilliardsRack = \"M20.31,16.44L14.54,6.47C13.72,5.04 11.89,4.55 10.46,5.38C10,5.64 9.63,6 9.36,6.47L3.6,16.44C2.77,17.87 3.26,19.69 4.69,20.5C5.14,20.78 5.65,20.92 6.18,20.92H17.73C19.38,20.91 20.72,19.57 20.71,17.92C20.71,17.4 20.57,16.89 20.31,16.44M5.37,17.43L11.11,7.47C11.38,7 12,6.82 12.46,7.1C12.62,7.18 12.75,7.31 12.84,7.47L18.58,17.43C18.85,17.91 18.69,18.5 18.21,18.79C18.06,18.88 17.89,18.93 17.72,18.93H6.21C5.66,18.92 5.21,18.47 5.22,17.92C5.22,17.75 5.26,17.58 5.35,17.43H5.37M11.97,13.45C10.87,13.45 10,12.56 10,11.46C10,10.35 10.87,9.46 11.97,9.46A2,2 0 0,1 13.97,11.46C13.97,12.56 13.07,13.45 11.95,13.45H11.97M9.46,17.93C8.36,17.93 7.47,17.04 7.47,15.94C7.47,14.84 8.36,13.95 9.46,13.95C10.56,13.95 11.46,14.84 11.46,15.94C11.46,17.04 10.56,17.93 9.46,17.93M14.44,17.93A2,2 0 0,1 12.45,15.94A2,2 0 0,1 14.44,13.95C15.54,13.95 16.44,14.84 16.44,15.94C16.44,17.04 15.54,17.93 14.44,17.93Z\";\r\nexport var mdiBinoculars = \"M11,6H13V13H11V6M9,20A1,1 0 0,1 8,21H5A1,1 0 0,1 4,20V15L6,6H10V13A1,1 0 0,1 9,14V20M10,5H7V3H10V5M15,20V14A1,1 0 0,1 14,13V6H18L20,15V20A1,1 0 0,1 19,21H16A1,1 0 0,1 15,20M14,5V3H17V5H14Z\";\r\nexport var mdiBio = \"M17,12H20A2,2 0 0,1 22,14V17A2,2 0 0,1 20,19H17A2,2 0 0,1 15,17V14A2,2 0 0,1 17,12M17,14V17H20V14H17M2,7H7A2,2 0 0,1 9,9V11A2,2 0 0,1 7,13A2,2 0 0,1 9,15V17A2,2 0 0,1 7,19H2V13L2,7M4,9V12H7V9H4M4,17H7V14H4V17M11,13H13V19H11V13M11,9H13V11H11V9Z\";\r\nexport var mdiBiohazard = \"M23,16.06C23,16.29 23,16.5 22.96,16.7C22.78,14.14 20.64,12.11 18,12.11C17.63,12.11 17.27,12.16 16.92,12.23C16.96,12.5 17,12.73 17,13C17,15.35 15.31,17.32 13.07,17.81C13.42,20.05 15.31,21.79 17.65,21.96C17.43,22 17.22,22 17,22C14.92,22 13.07,20.94 12,19.34C10.93,20.94 9.09,22 7,22C6.78,22 6.57,22 6.35,21.96C8.69,21.79 10.57,20.06 10.93,17.81C8.68,17.32 7,15.35 7,13C7,12.73 7.04,12.5 7.07,12.23C6.73,12.16 6.37,12.11 6,12.11C3.36,12.11 1.22,14.14 1.03,16.7C1,16.5 1,16.29 1,16.06C1,12.85 3.59,10.24 6.81,10.14C6.3,9.27 6,8.25 6,7.17C6,4.94 7.23,3 9.06,2C7.81,2.9 7,4.34 7,6C7,7.35 7.56,8.59 8.47,9.5C9.38,8.59 10.62,8.04 12,8.04C13.37,8.04 14.62,8.59 15.5,9.5C16.43,8.59 17,7.35 17,6C17,4.34 16.18,2.9 14.94,2C16.77,3 18,4.94 18,7.17C18,8.25 17.7,9.27 17.19,10.14C20.42,10.24 23,12.85 23,16.06M9.27,10.11C10.05,10.62 11,10.92 12,10.92C13,10.92 13.95,10.62 14.73,10.11C14,9.45 13.06,9.03 12,9.03C10.94,9.03 10,9.45 9.27,10.11M12,14.47C12.82,14.47 13.5,13.8 13.5,13A1.5,1.5 0 0,0 12,11.5A1.5,1.5 0 0,0 10.5,13C10.5,13.8 11.17,14.47 12,14.47M10.97,16.79C10.87,14.9 9.71,13.29 8.05,12.55C8.03,12.7 8,12.84 8,13C8,14.82 9.27,16.34 10.97,16.79M15.96,12.55C14.29,13.29 13.12,14.9 13,16.79C14.73,16.34 16,14.82 16,13C16,12.84 15.97,12.7 15.96,12.55Z\";\r\nexport var mdiBird = \"M23 11.5L19.95 10.37C19.69 9.22 19.04 8.56 19.04 8.56C17.4 6.92 14.75 6.92 13.11 8.56L11.63 10.04L5 3C4 7 5 11 7.45 14.22L2 19.5C2 19.5 10.89 21.5 16.07 17.45C18.83 15.29 19.45 14.03 19.84 12.7L23 11.5M17.71 11.72C17.32 12.11 16.68 12.11 16.29 11.72C15.9 11.33 15.9 10.7 16.29 10.31C16.68 9.92 17.32 9.92 17.71 10.31C18.1 10.7 18.1 11.33 17.71 11.72Z\";\r\nexport var mdiBitbucket = \"M2.65 3C2.3 3 2 3.3 2 3.65C2 3.69 2 3.73 2 3.77L4.73 20.27C4.8 20.69 5.16 21 5.58 21H18.63C18.94 21 19.22 20.78 19.27 20.46L22 3.77C22.05 3.42 21.81 3.09 21.46 3.04C21.43 3.03 21.39 3.03 21.35 3.03L2.65 3M14.1 14.95H9.94L8.81 9.07H15.11L14.1 14.95Z\";\r\nexport var mdiBitcoin = \"M14.24 10.56C13.93 11.8 12 11.17 11.4 11L11.95 8.82C12.57 9 14.56 9.26 14.24 10.56M11.13 12.12L10.53 14.53C11.27 14.72 13.56 15.45 13.9 14.09C14.26 12.67 11.87 12.3 11.13 12.12M21.7 14.42C20.36 19.78 14.94 23.04 9.58 21.7C4.22 20.36 .963 14.94 2.3 9.58C3.64 4.22 9.06 .964 14.42 2.3C19.77 3.64 23.03 9.06 21.7 14.42M14.21 8.05L14.66 6.25L13.56 6L13.12 7.73C12.83 7.66 12.54 7.59 12.24 7.53L12.68 5.76L11.59 5.5L11.14 7.29C10.9 7.23 10.66 7.18 10.44 7.12L10.44 7.12L8.93 6.74L8.63 7.91C8.63 7.91 9.45 8.1 9.43 8.11C9.88 8.22 9.96 8.5 9.94 8.75L8.71 13.68C8.66 13.82 8.5 14 8.21 13.95C8.22 13.96 7.41 13.75 7.41 13.75L6.87 15L8.29 15.36C8.56 15.43 8.82 15.5 9.08 15.56L8.62 17.38L9.72 17.66L10.17 15.85C10.47 15.93 10.76 16 11.04 16.08L10.59 17.87L11.69 18.15L12.15 16.33C14 16.68 15.42 16.54 16 14.85C16.5 13.5 16 12.7 15 12.19C15.72 12 16.26 11.55 16.41 10.57C16.61 9.24 15.59 8.53 14.21 8.05Z\";\r\nexport var mdiBlackMesa = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12C4,14.39 5.05,16.53 6.71,18H9V12H17L19.15,15.59C19.69,14.5 20,13.29 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiBlender = \"M16.13 15.13L18 3H14V2H10V3H5C3.9 3 3 3.9 3 5V9C3 10.1 3.9 11 5 11H7.23L7.87 15.13C6.74 16.05 6 17.43 6 19V20C6 21.1 6.9 22 8 22H16C17.1 22 18 21.1 18 20V19C18 17.43 17.26 16.05 16.13 15.13M5 9V5H6.31L6.93 9H5M12 19C11.45 19 11 18.55 11 18S11.45 17 12 17 13 17.45 13 18 12.55 19 12 19M14.29 14H9.72L8.33 5H15.67L14.29 14Z\";\r\nexport var mdiBlenderOutline = \"M16.13 15.13L18 3H14V2H10V3H5C3.9 3 3 3.9 3 5V9C3 10.1 3.9 11 5 11H7.23L7.87 15.13C6.74 16.05 6 17.43 6 19V20C6 21.1 6.9 22 8 22H16C17.1 22 18 21.1 18 20V19C18 17.43 17.26 16.05 16.13 15.13M5 9V5H6.31L6.93 9H5M15.67 5L14.29 14H9.72L8.33 5H15.67M16 20H8V19C8 17.35 9.35 16 11 16H13C14.65 16 16 17.35 16 19V20M12 17C12.55 17 13 17.45 13 18S12.55 19 12 19 11 18.55 11 18 11.45 17 12 17Z\";\r\nexport var mdiBlenderSoftware = \"M12.58,3.12V3.13C12.27,3.13 11.96,3.22 11.71,3.39C11.21,3.74 11.15,4.32 11.6,4.69L14.46,7L5.73,7.03H5.72C5,7.03 4.3,7.5 4.16,8.1C4,8.71 4.5,9.22 5.26,9.22L9.69,9.21L1.76,15.3C1,15.87 0.77,16.82 1.24,17.42C1.72,18.03 2.73,18.03 3.5,17.42L7.8,13.89C7.8,13.89 7.73,14.37 7.74,14.65C7.74,14.94 7.84,15.5 7.97,15.93C8.26,16.86 8.75,17.71 9.43,18.46C10.13,19.23 11,19.85 12,20.29C13.03,20.76 14.17,21 15.34,21C16.5,21 17.65,20.75 18.69,20.28C19.69,19.84 20.55,19.21 21.25,18.44C21.93,17.69 22.42,16.83 22.71,15.91C22.85,15.44 22.94,14.97 23,14.5C23,14.03 23,13.56 22.94,13.09C22.81,12.18 22.5,11.32 22,10.54C21.56,9.83 21,9.2 20.31,8.67V8.67L13.42,3.38C13.19,3.21 12.89,3.12 12.58,3.12M15.34,9.21C16.5,9.21 17.59,9.59 18.46,10.29C18.9,10.65 19.25,11.07 19.5,11.54C19.77,12 19.94,12.55 20,13.11C20.04,13.67 19.96,14.23 19.77,14.77C19.57,15.31 19.25,15.81 18.82,16.26C17.93,17.16 16.69,17.68 15.34,17.68C14,17.68 12.75,17.17 11.86,16.27C11.43,15.83 11.11,15.32 10.91,14.78C10.72,14.25 10.64,13.69 10.69,13.12C10.74,12.56 10.91,12.03 11.17,11.55C11.43,11.08 11.79,10.66 12.23,10.3C13.09,9.59 14.19,9.21 15.34,9.21M15.44,10.61C14.66,10.61 13.94,10.89 13.41,11.34C12.87,11.8 12.5,12.44 12.47,13.18C12.43,13.93 12.73,14.63 13.26,15.15C13.8,15.68 14.58,16 15.44,16C16.3,16 17.07,15.68 17.62,15.15C18.15,14.63 18.45,13.93 18.41,13.18C18.37,12.44 18,11.8 17.47,11.34C16.94,10.89 16.22,10.61 15.44,10.61Z\";\r\nexport var mdiBlinds = \"M3,2H21A1,1 0 0,1 22,3V5A1,1 0 0,1 21,6H20V13A1,1 0 0,1 19,14H13V16.17C14.17,16.58 15,17.69 15,19A3,3 0 0,1 12,22A3,3 0 0,1 9,19C9,17.69 9.83,16.58 11,16.17V14H5A1,1 0 0,1 4,13V6H3A1,1 0 0,1 2,5V3A1,1 0 0,1 3,2M12,18A1,1 0 0,0 11,19A1,1 0 0,0 12,20A1,1 0 0,0 13,19A1,1 0 0,0 12,18Z\";\r\nexport var mdiBlindsOpen = \"M3 2H21C21.55 2 22 2.45 22 3V5C22 5.55 21.55 6 21 6H20V7C20 7.55 19.55 8 19 8H13V10.17C14.17 10.58 15 11.7 15 13C15 14.66 13.66 16 12 16C10.34 16 9 14.66 9 13C9 11.69 9.84 10.58 11 10.17V8H5C4.45 8 4 7.55 4 7V6H3C2.45 6 2 5.55 2 5V3C2 2.45 2.45 2 3 2M12 12C11.45 12 11 12.45 11 13C11 13.55 11.45 14 12 14C12.55 14 13 13.55 13 13C13 12.45 12.55 12 12 12Z\";\r\nexport var mdiBlockHelper = \"M12,0A12,12 0 0,1 24,12A12,12 0 0,1 12,24A12,12 0 0,1 0,12A12,12 0 0,1 12,0M12,2A10,10 0 0,0 2,12C2,14.4 2.85,16.6 4.26,18.33L18.33,4.26C16.6,2.85 14.4,2 12,2M12,22A10,10 0 0,0 22,12C22,9.6 21.15,7.4 19.74,5.67L5.67,19.74C7.4,21.15 9.6,22 12,22Z\";\r\nexport var mdiBloodBag = \"M21,7C20,7 20,6 20,6V5H18V7H16V6C16,4.27 14.75,1 10,1C5.25,1 4,4.27 4,6V19C4,19.33 3.9,21 2,21V23C4.93,23 6,20.61 6,19V6C6,5.88 6.05,3 10,3C13.83,3 14,5.7 14,6V7H12V5H10V6C10,6 10,7 9,7C8,7 8,8 8,8V20C8,20 8,22 13,22C13.24,22 14.13,22 17,22C22,22 22,20 22,20V8C22,8 22,7 21,7M15,19.4A3,3 0 0,1 12,16.4C12,14.4 15,11 15,11C15,11 18,14.4 18,16.4A3,3 0 0,1 15,19.4Z\";\r\nexport var mdiBluetooth = \"M14.88,16.29L13,18.17V14.41M13,5.83L14.88,7.71L13,9.58M17.71,7.71L12,2H11V9.58L6.41,5L5,6.41L10.59,12L5,17.58L6.41,19L11,14.41V22H12L17.71,16.29L13.41,12L17.71,7.71Z\";\r\nexport var mdiBluetoothAudio = \"M12.88,16.29L11,18.17V14.41M11,5.83L12.88,7.71L11,9.58M15.71,7.71L10,2H9V9.58L4.41,5L3,6.41L8.59,12L3,17.58L4.41,19L9,14.41V22H10L15.71,16.29L11.41,12M19.53,6.71L18.26,8C18.89,9.18 19.25,10.55 19.25,12C19.25,13.45 18.89,14.82 18.26,16L19.46,17.22C20.43,15.68 21,13.87 21,11.91C21,10 20.46,8.23 19.53,6.71M14.24,12L16.56,14.33C16.84,13.6 17,12.82 17,12C17,11.18 16.84,10.4 16.57,9.68L14.24,12Z\";\r\nexport var mdiBluetoothConnect = \"M19,10L17,12L19,14L21,12M14.88,16.29L13,18.17V14.41M13,5.83L14.88,7.71L13,9.58M17.71,7.71L12,2H11V9.58L6.41,5L5,6.41L10.59,12L5,17.58L6.41,19L11,14.41V22H12L17.71,16.29L13.41,12M7,12L5,10L3,12L5,14L7,12Z\";\r\nexport var mdiBluetoothOff = \"M13,5.83L14.88,7.71L13.28,9.31L14.69,10.72L17.71,7.7L12,2H11V7.03L13,9.03M5.41,4L4,5.41L10.59,12L5,17.59L6.41,19L11,14.41V22H12L16.29,17.71L18.59,20L20,18.59M13,18.17V14.41L14.88,16.29\";\r\nexport var mdiBluetoothSettings = \"M14.88,14.29L13,16.17V12.41L14.88,14.29M13,3.83L14.88,5.71L13,7.59M17.71,5.71L12,0H11V7.59L6.41,3L5,4.41L10.59,10L5,15.59L6.41,17L11,12.41V20H12L17.71,14.29L13.41,10L17.71,5.71M15,24H17V22H15M7,24H9V22H7M11,24H13V22H11V24Z\";\r\nexport var mdiBluetoothTransfer = \"M14.71,7.71L10.41,12L14.71,16.29L9,22H8V14.41L3.41,19L2,17.59L7.59,12L2,6.41L3.41,5L8,9.59V2H9L14.71,7.71M10,5.83V9.59L11.88,7.71L10,5.83M11.88,16.29L10,14.41V18.17L11.88,16.29M22,8H20V11H18V8H16L19,4L22,8M22,16L19,20L16,16H18V13H20V16H22Z\";\r\nexport var mdiBlur = \"M14,8.5A1.5,1.5 0 0,0 12.5,10A1.5,1.5 0 0,0 14,11.5A1.5,1.5 0 0,0 15.5,10A1.5,1.5 0 0,0 14,8.5M14,12.5A1.5,1.5 0 0,0 12.5,14A1.5,1.5 0 0,0 14,15.5A1.5,1.5 0 0,0 15.5,14A1.5,1.5 0 0,0 14,12.5M10,17A1,1 0 0,0 9,18A1,1 0 0,0 10,19A1,1 0 0,0 11,18A1,1 0 0,0 10,17M10,8.5A1.5,1.5 0 0,0 8.5,10A1.5,1.5 0 0,0 10,11.5A1.5,1.5 0 0,0 11.5,10A1.5,1.5 0 0,0 10,8.5M14,20.5A0.5,0.5 0 0,0 13.5,21A0.5,0.5 0 0,0 14,21.5A0.5,0.5 0 0,0 14.5,21A0.5,0.5 0 0,0 14,20.5M14,17A1,1 0 0,0 13,18A1,1 0 0,0 14,19A1,1 0 0,0 15,18A1,1 0 0,0 14,17M21,13.5A0.5,0.5 0 0,0 20.5,14A0.5,0.5 0 0,0 21,14.5A0.5,0.5 0 0,0 21.5,14A0.5,0.5 0 0,0 21,13.5M18,5A1,1 0 0,0 17,6A1,1 0 0,0 18,7A1,1 0 0,0 19,6A1,1 0 0,0 18,5M18,9A1,1 0 0,0 17,10A1,1 0 0,0 18,11A1,1 0 0,0 19,10A1,1 0 0,0 18,9M18,17A1,1 0 0,0 17,18A1,1 0 0,0 18,19A1,1 0 0,0 19,18A1,1 0 0,0 18,17M18,13A1,1 0 0,0 17,14A1,1 0 0,0 18,15A1,1 0 0,0 19,14A1,1 0 0,0 18,13M10,12.5A1.5,1.5 0 0,0 8.5,14A1.5,1.5 0 0,0 10,15.5A1.5,1.5 0 0,0 11.5,14A1.5,1.5 0 0,0 10,12.5M10,7A1,1 0 0,0 11,6A1,1 0 0,0 10,5A1,1 0 0,0 9,6A1,1 0 0,0 10,7M10,3.5A0.5,0.5 0 0,0 10.5,3A0.5,0.5 0 0,0 10,2.5A0.5,0.5 0 0,0 9.5,3A0.5,0.5 0 0,0 10,3.5M10,20.5A0.5,0.5 0 0,0 9.5,21A0.5,0.5 0 0,0 10,21.5A0.5,0.5 0 0,0 10.5,21A0.5,0.5 0 0,0 10,20.5M3,13.5A0.5,0.5 0 0,0 2.5,14A0.5,0.5 0 0,0 3,14.5A0.5,0.5 0 0,0 3.5,14A0.5,0.5 0 0,0 3,13.5M14,3.5A0.5,0.5 0 0,0 14.5,3A0.5,0.5 0 0,0 14,2.5A0.5,0.5 0 0,0 13.5,3A0.5,0.5 0 0,0 14,3.5M14,7A1,1 0 0,0 15,6A1,1 0 0,0 14,5A1,1 0 0,0 13,6A1,1 0 0,0 14,7M21,10.5A0.5,0.5 0 0,0 21.5,10A0.5,0.5 0 0,0 21,9.5A0.5,0.5 0 0,0 20.5,10A0.5,0.5 0 0,0 21,10.5M6,5A1,1 0 0,0 5,6A1,1 0 0,0 6,7A1,1 0 0,0 7,6A1,1 0 0,0 6,5M3,9.5A0.5,0.5 0 0,0 2.5,10A0.5,0.5 0 0,0 3,10.5A0.5,0.5 0 0,0 3.5,10A0.5,0.5 0 0,0 3,9.5M6,9A1,1 0 0,0 5,10A1,1 0 0,0 6,11A1,1 0 0,0 7,10A1,1 0 0,0 6,9M6,17A1,1 0 0,0 5,18A1,1 0 0,0 6,19A1,1 0 0,0 7,18A1,1 0 0,0 6,17M6,13A1,1 0 0,0 5,14A1,1 0 0,0 6,15A1,1 0 0,0 7,14A1,1 0 0,0 6,13Z\";\r\nexport var mdiBlurLinear = \"M13,17A1,1 0 0,0 14,16A1,1 0 0,0 13,15A1,1 0 0,0 12,16A1,1 0 0,0 13,17M13,13A1,1 0 0,0 14,12A1,1 0 0,0 13,11A1,1 0 0,0 12,12A1,1 0 0,0 13,13M13,9A1,1 0 0,0 14,8A1,1 0 0,0 13,7A1,1 0 0,0 12,8A1,1 0 0,0 13,9M17,12.5A0.5,0.5 0 0,0 17.5,12A0.5,0.5 0 0,0 17,11.5A0.5,0.5 0 0,0 16.5,12A0.5,0.5 0 0,0 17,12.5M17,8.5A0.5,0.5 0 0,0 17.5,8A0.5,0.5 0 0,0 17,7.5A0.5,0.5 0 0,0 16.5,8A0.5,0.5 0 0,0 17,8.5M3,3V5H21V3M17,16.5A0.5,0.5 0 0,0 17.5,16A0.5,0.5 0 0,0 17,15.5A0.5,0.5 0 0,0 16.5,16A0.5,0.5 0 0,0 17,16.5M9,17A1,1 0 0,0 10,16A1,1 0 0,0 9,15A1,1 0 0,0 8,16A1,1 0 0,0 9,17M5,13.5A1.5,1.5 0 0,0 6.5,12A1.5,1.5 0 0,0 5,10.5A1.5,1.5 0 0,0 3.5,12A1.5,1.5 0 0,0 5,13.5M5,9.5A1.5,1.5 0 0,0 6.5,8A1.5,1.5 0 0,0 5,6.5A1.5,1.5 0 0,0 3.5,8A1.5,1.5 0 0,0 5,9.5M3,21H21V19H3M9,9A1,1 0 0,0 10,8A1,1 0 0,0 9,7A1,1 0 0,0 8,8A1,1 0 0,0 9,9M9,13A1,1 0 0,0 10,12A1,1 0 0,0 9,11A1,1 0 0,0 8,12A1,1 0 0,0 9,13M5,17.5A1.5,1.5 0 0,0 6.5,16A1.5,1.5 0 0,0 5,14.5A1.5,1.5 0 0,0 3.5,16A1.5,1.5 0 0,0 5,17.5Z\";\r\nexport var mdiBlurOff = \"M3,13.5A0.5,0.5 0 0,0 2.5,14A0.5,0.5 0 0,0 3,14.5A0.5,0.5 0 0,0 3.5,14A0.5,0.5 0 0,0 3,13.5M6,17A1,1 0 0,0 5,18A1,1 0 0,0 6,19A1,1 0 0,0 7,18A1,1 0 0,0 6,17M10,20.5A0.5,0.5 0 0,0 9.5,21A0.5,0.5 0 0,0 10,21.5A0.5,0.5 0 0,0 10.5,21A0.5,0.5 0 0,0 10,20.5M3,9.5A0.5,0.5 0 0,0 2.5,10A0.5,0.5 0 0,0 3,10.5A0.5,0.5 0 0,0 3.5,10A0.5,0.5 0 0,0 3,9.5M6,13A1,1 0 0,0 5,14A1,1 0 0,0 6,15A1,1 0 0,0 7,14A1,1 0 0,0 6,13M21,13.5A0.5,0.5 0 0,0 20.5,14A0.5,0.5 0 0,0 21,14.5A0.5,0.5 0 0,0 21.5,14A0.5,0.5 0 0,0 21,13.5M10,17A1,1 0 0,0 9,18A1,1 0 0,0 10,19A1,1 0 0,0 11,18A1,1 0 0,0 10,17M2.5,5.27L6.28,9.05L6,9A1,1 0 0,0 5,10A1,1 0 0,0 6,11A1,1 0 0,0 7,10C7,9.9 6.97,9.81 6.94,9.72L9.75,12.53C9.04,12.64 8.5,13.26 8.5,14A1.5,1.5 0 0,0 10,15.5C10.74,15.5 11.36,14.96 11.47,14.25L14.28,17.06C14.19,17.03 14.1,17 14,17A1,1 0 0,0 13,18A1,1 0 0,0 14,19A1,1 0 0,0 15,18C15,17.9 14.97,17.81 14.94,17.72L18.72,21.5L20,20.23L3.77,4L2.5,5.27M14,20.5A0.5,0.5 0 0,0 13.5,21A0.5,0.5 0 0,0 14,21.5A0.5,0.5 0 0,0 14.5,21A0.5,0.5 0 0,0 14,20.5M18,7A1,1 0 0,0 19,6A1,1 0 0,0 18,5A1,1 0 0,0 17,6A1,1 0 0,0 18,7M18,11A1,1 0 0,0 19,10A1,1 0 0,0 18,9A1,1 0 0,0 17,10A1,1 0 0,0 18,11M18,15A1,1 0 0,0 19,14A1,1 0 0,0 18,13A1,1 0 0,0 17,14A1,1 0 0,0 18,15M10,7A1,1 0 0,0 11,6A1,1 0 0,0 10,5A1,1 0 0,0 9,6A1,1 0 0,0 10,7M21,10.5A0.5,0.5 0 0,0 21.5,10A0.5,0.5 0 0,0 21,9.5A0.5,0.5 0 0,0 20.5,10A0.5,0.5 0 0,0 21,10.5M10,3.5A0.5,0.5 0 0,0 10.5,3A0.5,0.5 0 0,0 10,2.5A0.5,0.5 0 0,0 9.5,3A0.5,0.5 0 0,0 10,3.5M14,3.5A0.5,0.5 0 0,0 14.5,3A0.5,0.5 0 0,0 14,2.5A0.5,0.5 0 0,0 13.5,3A0.5,0.5 0 0,0 14,3.5M13.8,11.5H14A1.5,1.5 0 0,0 15.5,10A1.5,1.5 0 0,0 14,8.5A1.5,1.5 0 0,0 12.5,10V10.2C12.61,10.87 13.13,11.39 13.8,11.5M14,7A1,1 0 0,0 15,6A1,1 0 0,0 14,5A1,1 0 0,0 13,6A1,1 0 0,0 14,7Z\";\r\nexport var mdiBlurRadial = \"M14,13A1,1 0 0,0 13,14A1,1 0 0,0 14,15A1,1 0 0,0 15,14A1,1 0 0,0 14,13M14,16.5A0.5,0.5 0 0,0 13.5,17A0.5,0.5 0 0,0 14,17.5A0.5,0.5 0 0,0 14.5,17A0.5,0.5 0 0,0 14,16.5M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M17,9.5A0.5,0.5 0 0,0 16.5,10A0.5,0.5 0 0,0 17,10.5A0.5,0.5 0 0,0 17.5,10A0.5,0.5 0 0,0 17,9.5M17,13.5A0.5,0.5 0 0,0 16.5,14A0.5,0.5 0 0,0 17,14.5A0.5,0.5 0 0,0 17.5,14A0.5,0.5 0 0,0 17,13.5M14,7.5A0.5,0.5 0 0,0 14.5,7A0.5,0.5 0 0,0 14,6.5A0.5,0.5 0 0,0 13.5,7A0.5,0.5 0 0,0 14,7.5M14,9A1,1 0 0,0 13,10A1,1 0 0,0 14,11A1,1 0 0,0 15,10A1,1 0 0,0 14,9M10,7.5A0.5,0.5 0 0,0 10.5,7A0.5,0.5 0 0,0 10,6.5A0.5,0.5 0 0,0 9.5,7A0.5,0.5 0 0,0 10,7.5M7,13.5A0.5,0.5 0 0,0 6.5,14A0.5,0.5 0 0,0 7,14.5A0.5,0.5 0 0,0 7.5,14A0.5,0.5 0 0,0 7,13.5M10,16.5A0.5,0.5 0 0,0 9.5,17A0.5,0.5 0 0,0 10,17.5A0.5,0.5 0 0,0 10.5,17A0.5,0.5 0 0,0 10,16.5M7,9.5A0.5,0.5 0 0,0 6.5,10A0.5,0.5 0 0,0 7,10.5A0.5,0.5 0 0,0 7.5,10A0.5,0.5 0 0,0 7,9.5M10,13A1,1 0 0,0 9,14A1,1 0 0,0 10,15A1,1 0 0,0 11,14A1,1 0 0,0 10,13M10,9A1,1 0 0,0 9,10A1,1 0 0,0 10,11A1,1 0 0,0 11,10A1,1 0 0,0 10,9Z\";\r\nexport var mdiBolt = \"M14,17.7V21H10V20.3L14,17.7M17,3H7V6H17V3M15,7L14,7.7V7H10V10.3L9,11V12L15,8.1V7M15,11L14,11.7V9.7L10,12.4V14.4L9,15V16L15,12.1V11M15,15L14,15.7V13.7L10,16.4V18.4L9,19V20L15,16.1V15Z\";\r\nexport var mdiBomb = \"M11.25,6A3.25,3.25 0 0,1 14.5,2.75A3.25,3.25 0 0,1 17.75,6C17.75,6.42 18.08,6.75 18.5,6.75C18.92,6.75 19.25,6.42 19.25,6V5.25H20.75V6A2.25,2.25 0 0,1 18.5,8.25A2.25,2.25 0 0,1 16.25,6A1.75,1.75 0 0,0 14.5,4.25A1.75,1.75 0 0,0 12.75,6H14V7.29C16.89,8.15 19,10.83 19,14A7,7 0 0,1 12,21A7,7 0 0,1 5,14C5,10.83 7.11,8.15 10,7.29V6H11.25M22,6H24V7H22V6M19,4V2H20V4H19M20.91,4.38L22.33,2.96L23.04,3.67L21.62,5.09L20.91,4.38Z\";\r\nexport var mdiBombOff = \"M14.5,2.75C12.7,2.75 11.25,4.2 11.25,6H10V7.29C9.31,7.5 8.67,7.81 8.08,8.2L17.79,17.91C18.58,16.76 19,15.39 19,14C19,10.83 16.89,8.15 14,7.29V6H12.75A1.75,1.75 0 0,1 14.5,4.25A1.75,1.75 0 0,1 16.25,6A2.25,2.25 0 0,0 18.5,8.25C19.74,8.25 20.74,7.24 20.74,6V5.25H19.25V6C19.25,6.42 18.91,6.75 18.5,6.75C18.08,6.75 17.75,6.42 17.75,6C17.75,4.2 16.29,2.75 14.5,2.75M3.41,6.36L2,7.77L5.55,11.32C5.2,12.14 5,13.04 5,14C5,17.86 8.13,21 12,21C12.92,21 13.83,20.81 14.68,20.45L18.23,24L19.64,22.59L3.41,6.36Z\";\r\nexport var mdiBone = \"M8,14A3,3 0 0,1 5,17A3,3 0 0,1 2,14C2,13.23 2.29,12.53 2.76,12C2.29,11.47 2,10.77 2,10A3,3 0 0,1 5,7A3,3 0 0,1 8,10C9.33,10.08 10.67,10.17 12,10.17C13.33,10.17 14.67,10.08 16,10A3,3 0 0,1 19,7A3,3 0 0,1 22,10C22,10.77 21.71,11.47 21.24,12C21.71,12.53 22,13.23 22,14A3,3 0 0,1 19,17A3,3 0 0,1 16,14C14.67,13.92 13.33,13.83 12,13.83C10.67,13.83 9.33,13.92 8,14Z\";\r\nexport var mdiBook = \"M18,22A2,2 0 0,0 20,20V4C20,2.89 19.1,2 18,2H12V9L9.5,7.5L7,9V2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18Z\";\r\nexport var mdiBookAccount = \"M18 2H12V9L9.5 7.5L7 9V2H6A2 2 0 0 0 4 4V20A2 2 0 0 0 6 22H18A2 2 0 0 0 20 20V4A2 2 0 0 0 18 2M14 12A2 2 0 1 1 12 14A2 2 0 0 1 14 12M18 20H10V19C10 17.67 12.67 17 14 17S18 17.67 18 19Z\";\r\nexport var mdiBookAccountOutline = \"M18 2A2 2 0 0 1 20 4V20A2 2 0 0 1 18 22H6A2 2 0 0 1 4 20V4A2 2 0 0 1 6 2H18M18 4H13V9L10.5 6.7L8 9V4H6V20H18M13 11A2 2 0 1 1 11 13A2 2 0 0 1 13 11M17 19H9V18C9 16.67 11.67 16 13 16S17 16.67 17 18V19\";\r\nexport var mdiBookAlert = \"M18 4V20C18 21.11 17.11 22 16 22H4C2.9 22 2 21.11 2 20V4C2 2.9 2.9 2 4 2H5V9L7.5 7.5L10 9V2H16C17.1 2 18 2.89 18 4M20 17H22V15H20V17M20 7V13H22V7H20Z\";\r\nexport var mdiBookAlertOutline = \"M16 2H4C2.9 2 2 2.9 2 4V20C2 21.11 2.9 22 4 22H16C17.11 22 18 21.11 18 20V4C18 2.9 17.11 2 16 2M16 20H4V4H6V12L8.5 9.75L11 12V4H16V20M20 15H22V17H20V15M22 7V13H20V7H22Z\";\r\nexport var mdiBookAlphabet = \"M5.81,2C4.83,2.09 4,3 4,4V20C4,21.05 4.95,22 6,22H18C19.05,22 20,21.05 20,20V4C20,2.89 19.1,2 18,2H12V9L9.5,7.5L7,9V2H6C5.94,2 5.87,2 5.81,2M12,13H13A1,1 0 0,1 14,14V18H13V16H12V18H11V14A1,1 0 0,1 12,13M12,14V15H13V14H12M15,15H18V16L16,19H18V20H15V19L17,16H15V15Z\";\r\nexport var mdiBookArrowDown = \"M13 19C13 20.1 13.3 21.12 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M20 20V16H18V20H16L19 23L22 20H20Z\";\r\nexport var mdiBookArrowDownOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V4H13V12L10.5 9.75L8 12V4H6V20H13.09M20 20V16H18V20H16L19 23L22 20H20Z\";\r\nexport var mdiBookArrowLeft = \"M13 19C13 20.1 13.3 21.12 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M18 18V16L15 19L18 22V20H22V18H18Z\";\r\nexport var mdiBookArrowLeftOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V4H13V12L10.5 9.75L8 12V4H6V20H13.09M18 18V16L15 19L18 22V20H22V18H18Z\";\r\nexport var mdiBookArrowRight = \"M13 19C13 20.1 13.3 21.12 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M23 19L20 16V18H16V20H20V22L23 19Z\";\r\nexport var mdiBookArrowRightOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V4H13V12L10.5 9.75L8 12V4H6V20H13.09M23 19L20 16V18H16V20H20V22L23 19Z\";\r\nexport var mdiBookArrowUp = \"M13 19C13 20.1 13.3 21.12 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M19 15L16 18H18V22H20V18H22L19 15Z\";\r\nexport var mdiBookArrowUpOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V4H13V12L10.5 9.75L8 12V4H6V20H13.09M19 15L16 18H18V22H20V18H22L19 15Z\";\r\nexport var mdiBookCancel = \"M12 18.5C12 19.79 12.39 21 13.04 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V12.18C19.5 12.07 19 12 18.5 12C14.91 12 12 14.91 12 18.5M23 18.5C23 21 21 23 18.5 23S14 21 14 18.5 16 14 18.5 14 23 16 23 18.5M20 21.08L15.92 17C15.65 17.42 15.5 17.94 15.5 18.5C15.5 20.16 16.84 21.5 18.5 21.5C19.06 21.5 19.58 21.35 20 21.08M21.5 18.5C21.5 16.84 20.16 15.5 18.5 15.5C17.94 15.5 17.42 15.65 17 15.92L21.08 20C21.35 19.58 21.5 19.06 21.5 18.5Z\";\r\nexport var mdiBookCancelOutline = \"M12.18 20C12.36 20.72 12.65 21.39 13.04 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V12.18C19.5 12.07 19 12 18.5 12C18.33 12 18.17 12 18 12.03V4H13V12L10.5 9.75L8 12V4H6V20H12.18M23 18.5C23 21 21 23 18.5 23S14 21 14 18.5 16 14 18.5 14 23 16 23 18.5M20 21.08L15.92 17C15.65 17.42 15.5 17.94 15.5 18.5C15.5 20.16 16.84 21.5 18.5 21.5C19.06 21.5 19.58 21.35 20 21.08M21.5 18.5C21.5 16.84 20.16 15.5 18.5 15.5C17.94 15.5 17.42 15.65 17 15.92L21.08 20C21.35 19.58 21.5 19.06 21.5 18.5Z\";\r\nexport var mdiBookCheck = \"M16.75 22.16L14 19.16L15.16 18L16.75 19.59L20.34 16L21.5 17.41L16.75 22.16M6 22C4.89 22 4 21.1 4 20V4C4 2.89 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.34C19.37 13.12 18.7 13 18 13C14.69 13 12 15.69 12 19C12 20.09 12.29 21.12 12.8 22H6Z\";\r\nexport var mdiBookCheckOutline = \"M16.75 22.16L14 19.16L15.16 18L16.75 19.59L20.34 16L21.5 17.41L16.75 22.16M18 2C19.1 2 20 2.9 20 4V13.34C19.37 13.12 18.7 13 18 13V4H13V12L10.5 9.75L8 12V4H6V20H12.08C12.2 20.72 12.45 21.39 12.8 22H6C4.9 22 4 21.1 4 20V4C4 2.9 4.9 2 6 2H18Z\";\r\nexport var mdiBookClock = \"M16.5 17.25L19.36 18.94L18.61 20.16L15 18V13H16.5V17.25M23 17C23 20.87 19.87 24 16 24C14.09 24 12.37 23.24 11.11 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V11.26C21.81 12.53 23 14.62 23 17M21 17C21 14.24 18.76 12 16 12S11 14.24 11 17 13.24 22 16 22 21 19.76 21 17Z\";\r\nexport var mdiBookClockOutline = \"M20 11.26V4C20 2.9 19.11 2 18 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H11.11C12.37 23.24 14.09 24 16 24C19.87 24 23 20.87 23 17C23 14.62 21.81 12.53 20 11.26M18 4V10.29C17.37 10.11 16.7 10 16 10C14.93 10 13.91 10.25 13 10.68V4H18M6 4H8V12L10.5 9.75L12.1 11.19C10.23 12.45 9 14.58 9 17C9 18.08 9.25 19.09 9.68 20H6V4M16 22C13.24 22 11 19.76 11 17S13.24 12 16 12 21 14.24 21 17 18.76 22 16 22M16.5 17.25L19.36 18.94L18.61 20.16L15 18V13H16.5V17.25Z\";\r\nexport var mdiBookCog = \"M12 19C12 20.08 12.25 21.09 12.68 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V12.08C19.67 12.03 19.34 12 19 12C15.13 12 12 15.13 12 19M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\r\nexport var mdiBookCogOutline = \"M18 4H13V12L10.5 9.75L8 12V4H6V20H12.08C12.18 20.71 12.39 21.38 12.69 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V12.08C19.67 12.03 19.34 12 19 12C18.66 12 18.33 12.03 18 12.08V4M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\r\nexport var mdiBookCross = \"M5.81,2H7V9L9.5,7.5L12,9V2H18A2,2 0 0,1 20,4V20C20,21.05 19.05,22 18,22H6C4.95,22 4,21.05 4,20V4C4,3 4.83,2.09 5.81,2M13,10V13H10V15H13V20H15V15H18V13H15V10H13Z\";\r\nexport var mdiBookEdit = \"M19.39 10.74L11 19.13V22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V10.3C19.78 10.42 19.57 10.56 19.39 10.74M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47Z\";\r\nexport var mdiBookEditOutline = \"M6 20H11V22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V10.3C19.78 10.42 19.57 10.56 19.39 10.74L18 12.13V4H13V12L10.5 9.75L8 12V4H6V20M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96Z\";\r\nexport var mdiBookEducation = \"M8.82 17L13 19.28V22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V12.54L18.5 11.72L8.82 17M24 17L18.5 14L13 17L18.5 20L24 17M15 19.09V21.09L18.5 23L22 21.09V19.09L18.5 21L15 19.09Z\";\r\nexport var mdiBookEducationOutline = \"M6 20H13V22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V12.54L18.5 11.72L18 12V4H13V12L10.5 9.75L8 12V4H6V20M24 17L18.5 14L13 17L18.5 20L24 17M15 19.09V21.09L18.5 23L22 21.09V19.09L18.5 21L15 19.09Z\";\r\nexport var mdiBookInformationVariant = \"M18 2H12V9L9.5 7.5L7 9V2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V4C20 2.89 19.1 2 18 2M17.68 18.41C17.57 18.5 16.47 19.25 16.05 19.5C15.63 19.79 14 20.72 14.26 18.92C14.89 15.28 16.11 13.12 14.65 14.06C14.27 14.29 14.05 14.43 13.91 14.5C13.78 14.61 13.79 14.6 13.68 14.41S13.53 14.23 13.67 14.13C13.67 14.13 15.9 12.34 16.72 12.28C17.5 12.21 17.31 13.17 17.24 13.61C16.78 15.46 15.94 18.15 16.07 18.54C16.18 18.93 17 18.31 17.44 18C17.44 18 17.5 17.93 17.61 18.05C17.72 18.22 17.83 18.3 17.68 18.41M16.97 11.06C16.4 11.06 15.94 10.6 15.94 10.03C15.94 9.46 16.4 9 16.97 9C17.54 9 18 9.46 18 10.03C18 10.6 17.54 11.06 16.97 11.06Z\";\r\nexport var mdiBookLock = \"M14.2 14.5V14.74C13.5 15.34 13 16.24 13 17.2V20.7C13 21.16 13.1 21.6 13.27 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V10.11C19.68 10.04 19.34 10 19 10C16.4 10 14.2 12.06 14.2 14.5M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\r\nexport var mdiBookLockOpen = \"M14.2 13.5V14.74C13.5 15.34 13 16.24 13 17.2V20.7C13 21.16 13.1 21.6 13.27 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V9.11C19.68 9.04 19.34 9 19 9C16.4 9 14.2 11.06 14.2 13.5M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\r\nexport var mdiBookLockOpenOutline = \"M13 20.7C13 21.16 13.1 21.6 13.27 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V9.11C19.68 9.04 19.34 9 19 9S18.32 9.04 18 9.11V4H13V12L10.5 9.75L8 12V4H6V20H13V20.7M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\r\nexport var mdiBookLockOutline = \"M13 20.7C13 21.16 13.1 21.6 13.27 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V10.11C19.68 10.04 19.34 10 19 10S18.32 10.04 18 10.11V4H13V12L10.5 9.75L8 12V4H6V20H13V20.7M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\r\nexport var mdiBookMarker = \"M13 15.5C13 17.78 14.7 20.41 15.91 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V10.22C19.5 10.08 19 10 18.5 10C15.5 10 13 12.5 13 15.5M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\r\nexport var mdiBookMarkerOutline = \"M14.55 20C15 20.76 15.5 21.44 15.91 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V10.22C19.5 10.08 19 10 18.5 10C18.33 10 18.17 10 18 10.03V4H13V12L10.5 9.75L8 12V4H6V20H14.55M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\r\nexport var mdiBookMinus = \"M13 19C13 20.1 13.3 21.12 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M15 18V20H23V18H15Z\";\r\nexport var mdiBookMinusMultiple = \"M13.09 20H5V6H3V20C3 21.11 3.9 22 5 22H13.81C13.44 21.39 13.2 20.71 13.09 20M19 2H14V7L12 5.5L10 7V2H9C7.9 2 7 2.9 7 4V16C7 17.11 7.9 18 9 18H13.09C13.64 14.73 16.74 12.53 20 13.08C20.34 13.14 20.68 13.23 21 13.34V4C21 2.9 20.11 2 19 2M23 18V20H15V18H23Z\";\r\nexport var mdiBookMinusMultipleOutline = \"M13.09 20H5V6H3V20C3 21.11 3.9 22 5 22H13.81C13.44 21.39 13.2 20.71 13.09 20M19 2H9C7.9 2 7 2.9 7 4V16C7 17.11 7.9 18 9 18H13.09C13.2 17.29 13.44 16.61 13.81 16H9V4H11V10L13.5 7.75L16 10V4H19V13C19.68 13 20.36 13.11 21 13.34V4C21 2.9 20.11 2 19 2M23 18V20H15V18H23Z\";\r\nexport var mdiBookMinusOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V4H13V12L10.5 9.75L8 12V4H6V20H13.09M15 18V20H23V18H15Z\";\r\nexport var mdiBookMultiple = \"M19,18H9A2,2 0 0,1 7,16V4A2,2 0 0,1 9,2H10V7L12,5.5L14,7V2H19A2,2 0 0,1 21,4V16A2,2 0 0,1 19,18M17,20V22H5A2,2 0 0,1 3,20V6H5V20H17Z\";\r\nexport var mdiBookMultipleOutline = \"M19 2A2 2 0 0 1 21 4V16A2 2 0 0 1 19 18H9A2 2 0 0 1 7 16V4A2 2 0 0 1 9 2H19M19 4H16V10L13.5 7.75L11 10V4H9V16H19M3 20A2 2 0 0 0 5 22H17V20H5V6H3Z\";\r\nexport var mdiBookMusic = \"M13 20.5C13 21.03 13.09 21.53 13.26 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V11H16.5V16.11C14.5 16.57 13 18.36 13 20.5M20 13H18.5V18.21C18.19 18.07 17.86 18 17.5 18C16.12 18 15 19.12 15 20.5S16.12 23 17.5 23 20 21.88 20 20.5V15H22V13H20Z\";\r\nexport var mdiBookMusicOutline = \"M13 20.5C13 21.03 13.09 21.53 13.26 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V11H18V4H13V12L10.5 9.75L8 12V4H6V20H13.04C13.03 20.17 13 20.33 13 20.5M20 13H18.5V18.21C18.19 18.07 17.86 18 17.5 18C16.12 18 15 19.12 15 20.5S16.12 23 17.5 23 20 21.88 20 20.5V15H22V13H20Z\";\r\nexport var mdiBookOff = \"M18.68 2.12L12 8.8V2H18C18.24 2 18.46 2.05 18.68 2.12M9.5 7.5L7 9V2H6C4.89 2 4 2.9 4 4V16.8L11.88 8.93L9.5 7.5M21.61 1.73L1.89 21.46L3.16 22.73L4.54 21.35C4.9 21.75 5.42 22 6 22H18C19.11 22 20 21.11 20 20V5.89L22.89 3L21.61 1.73Z\";\r\nexport var mdiBookOffOutline = \"M6 14.8L4 16.8V4C4 2.9 4.89 2 6 2H18C18.24 2 18.47 2.04 18.68 2.12L16.8 4H13V7.8L10.79 10L10.5 9.75L8 12V4H6V14.8M22.89 3L20 5.89V20C20 21.11 19.11 22 18 22H6C5.42 22 4.9 21.75 4.54 21.35L3.16 22.73L1.89 21.46L21.61 1.73L22.89 3M18 7.89L6 19.89V20H18V7.89Z\";\r\nexport var mdiBookOpen = \"M13,12H20V13.5H13M13,9.5H20V11H13M13,14.5H20V16H13M21,4H3A2,2 0 0,0 1,6V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V6A2,2 0 0,0 21,4M21,19H12V6H21\";\r\nexport var mdiBookOpenBlankVariant = \"M21,5C19.89,4.65 18.67,4.5 17.5,4.5C15.55,4.5 13.45,4.9 12,6C10.55,4.9 8.45,4.5 6.5,4.5C4.55,4.5 2.45,4.9 1,6V20.65C1,20.9 1.25,21.15 1.5,21.15C1.6,21.15 1.65,21.1 1.75,21.1C3.1,20.45 5.05,20 6.5,20C8.45,20 10.55,20.4 12,21.5C13.35,20.65 15.8,20 17.5,20C19.15,20 20.85,20.3 22.25,21.05C22.35,21.1 22.4,21.1 22.5,21.1C22.75,21.1 23,20.85 23,20.6V6C22.4,5.55 21.75,5.25 21,5M21,18.5C19.9,18.15 18.7,18 17.5,18C15.8,18 13.35,18.65 12,19.5V8C13.35,7.15 15.8,6.5 17.5,6.5C18.7,6.5 19.9,6.65 21,7V18.5Z\";\r\nexport var mdiBookOpenOutline = \"M21,4H3A2,2 0 0,0 1,6V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V6A2,2 0 0,0 21,4M3,19V6H11V19H3M21,19H13V6H21V19M14,9.5H20V11H14V9.5M14,12H20V13.5H14V12M14,14.5H20V16H14V14.5Z\";\r\nexport var mdiBookOpenPageVariant = \"M19 2L14 6.5V17.5L19 13V2M6.5 5C4.55 5 2.45 5.4 1 6.5V21.16C1 21.41 1.25 21.66 1.5 21.66C1.6 21.66 1.65 21.59 1.75 21.59C3.1 20.94 5.05 20.5 6.5 20.5C8.45 20.5 10.55 20.9 12 22C13.35 21.15 15.8 20.5 17.5 20.5C19.15 20.5 20.85 20.81 22.25 21.56C22.35 21.61 22.4 21.59 22.5 21.59C22.75 21.59 23 21.34 23 21.09V6.5C22.4 6.05 21.75 5.75 21 5.5V19C19.9 18.65 18.7 18.5 17.5 18.5C15.8 18.5 13.35 19.15 12 20V6.5C10.55 5.4 8.45 5 6.5 5Z\";\r\nexport var mdiBookOpenPageVariantOutline = \"M19 1L14 6V17L19 12.5V1M21 5V18.5C19.9 18.15 18.7 18 17.5 18C15.8 18 13.35 18.65 12 19.5V6C10.55 4.9 8.45 4.5 6.5 4.5C4.55 4.5 2.45 4.9 1 6V20.65C1 20.9 1.25 21.15 1.5 21.15C1.6 21.15 1.65 21.1 1.75 21.1C3.1 20.45 5.05 20 6.5 20C8.45 20 10.55 20.4 12 21.5C13.35 20.65 15.8 20 17.5 20C19.15 20 20.85 20.3 22.25 21.05C22.35 21.1 22.4 21.1 22.5 21.1C22.75 21.1 23 20.85 23 20.6V6C22.4 5.55 21.75 5.25 21 5M10 18.41C8.75 18.09 7.5 18 6.5 18C5.44 18 4.18 18.19 3 18.5V7.13C3.91 6.73 5.14 6.5 6.5 6.5C7.86 6.5 9.09 6.73 10 7.13V18.41Z\";\r\nexport var mdiBookOpenVariant = \"M17.5 14.33C18.29 14.33 19.13 14.41 20 14.57V16.07C19.38 15.91 18.54 15.83 17.5 15.83C15.6 15.83 14.11 16.16 13 16.82V15.13C14.17 14.6 15.67 14.33 17.5 14.33M13 12.46C14.29 11.93 15.79 11.67 17.5 11.67C18.29 11.67 19.13 11.74 20 11.9V13.4C19.38 13.24 18.54 13.16 17.5 13.16C15.6 13.16 14.11 13.5 13 14.15M17.5 10.5C15.6 10.5 14.11 10.82 13 11.5V9.84C14.23 9.28 15.73 9 17.5 9C18.29 9 19.13 9.08 20 9.23V10.78C19.26 10.59 18.41 10.5 17.5 10.5M21 18.5V7C19.96 6.67 18.79 6.5 17.5 6.5C15.45 6.5 13.62 7 12 8V19.5C13.62 18.5 15.45 18 17.5 18C18.69 18 19.86 18.16 21 18.5M17.5 4.5C19.85 4.5 21.69 5 23 6V20.56C23 20.68 22.95 20.8 22.84 20.91C22.73 21 22.61 21.08 22.5 21.08C22.39 21.08 22.31 21.06 22.25 21.03C20.97 20.34 19.38 20 17.5 20C15.45 20 13.62 20.5 12 21.5C10.66 20.5 8.83 20 6.5 20C4.84 20 3.25 20.36 1.75 21.07C1.72 21.08 1.68 21.08 1.63 21.1C1.59 21.11 1.55 21.12 1.5 21.12C1.39 21.12 1.27 21.08 1.16 21C1.05 20.89 1 20.78 1 20.65V6C2.34 5 4.18 4.5 6.5 4.5C8.83 4.5 10.66 5 12 6C13.34 5 15.17 4.5 17.5 4.5Z\";\r\nexport var mdiBookOutline = \"M18,2A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H18M18,4H13V12L10.5,9.75L8,12V4H6V20H18V4Z\";\r\nexport var mdiBookPlay = \"M13 19C13 20.1 13.3 21.12 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M17 16V22L22 19L17 16Z\";\r\nexport var mdiBookPlayOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V4H13V12L10.5 9.75L8 12V4H6V20H13.09M17 16V22L22 19L17 16Z\";\r\nexport var mdiBookPlus = \"M13 19C13 20.1 13.3 21.12 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiBookPlusMultiple = \"M13.09 20H5V6H3V20A2 2 0 0 0 5 22H13.81A5.5 5.5 0 0 1 13.09 20M19 2H14V7L12 5.5L10 7V2H9A2 2 0 0 0 7 4V16A2 2 0 0 0 9 18H13.09A6 6 0 0 1 21 13.34V4A2 2 0 0 0 19 2M20 15V18H23V20H20V23H18V20H15V18H18V15Z\";\r\nexport var mdiBookPlusMultipleOutline = \"M13.09 20H5V6H3V20A2 2 0 0 0 5 22H13.81A5.5 5.5 0 0 1 13.09 20M19 2H9A2 2 0 0 0 7 4V16A2 2 0 0 0 9 18H13.09A5.5 5.5 0 0 1 13.81 16H9V4H11V10L13.5 7.75L16 10V4H19V13A6 6 0 0 1 21 13.34V4A2 2 0 0 0 19 2M20 15V18H23V20H20V23H18V20H15V18H18V15Z\";\r\nexport var mdiBookPlusOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V4H13V12L10.5 9.75L8 12V4H6V20H13.09M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiBookRefresh = \"M12 18.5C12 19.79 12.39 21 13.04 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V12.18C19.5 12.07 19 12 18.5 12C14.91 12 12 14.91 12 18.5M22 18.5V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22Z\";\r\nexport var mdiBookRefreshOutline = \"M12.18 20C12.36 20.72 12.65 21.39 13.04 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V12.18C19.5 12.07 19 12 18.5 12C18.33 12 18.17 12 18 12.03V4H13V12L10.5 9.75L8 12V4H6V20H12.18M22 18.5V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22Z\";\r\nexport var mdiBookRemove = \"M13 19C13 20.1 13.3 21.12 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiBookRemoveMultiple = \"M13.09 20H5V6H3V20A2 2 0 0 0 5 22H13.81A5.5 5.5 0 0 1 13.09 20M19 2H14V7L12 5.5L10 7V2H9A2 2 0 0 0 7 4V16A2 2 0 0 0 9 18H13.09A6 6 0 0 1 21 13.34V4A2 2 0 0 0 19 2M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.46 21.12L17.59 19L15.46 16.88L16.88 15.46L19 17.59L21.12 15.46Z\";\r\nexport var mdiBookRemoveMultipleOutline = \"M13.09 20H5V6H3V20A2 2 0 0 0 5 22H13.81A5.5 5.5 0 0 1 13.09 20M19 2H9A2 2 0 0 0 7 4V16A2 2 0 0 0 9 18H13.09A5.5 5.5 0 0 1 13.81 16H9V4H11V10L13.5 7.75L16 10V4H19V13A6 6 0 0 1 21 13.34V4A2 2 0 0 0 19 2M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.46 21.12L17.59 19L15.46 16.88L16.88 15.46L19 17.59L21.12 15.46Z\";\r\nexport var mdiBookRemoveOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V4H13V12L10.5 9.75L8 12V4H6V20H13.09M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiBookSearch = \"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M6,22A2,2 0 0,1 4,20V4C4,2.89 4.9,2 6,2H7V9L9.5,7.5L12,9V2H18A2,2 0 0,1 20,4V11.81C18.83,10.69 17.25,10 15.5,10A6.5,6.5 0 0,0 9,16.5C9,18.81 10.21,20.85 12.03,22H6Z\";\r\nexport var mdiBookSearchOutline = \"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M13,4V12L10.5,9.75L8,12V4H6V20H10C10.54,20.81 11.23,21.5 12.03,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H18A2,2 0 0,1 20,4V11.81C19.42,11.26 18.75,10.81 18,10.5V4H13Z\";\r\nexport var mdiBookSettings = \"M20 2V18C20 19.11 19.11 20 18 20H6C4.89 20 4 19.11 4 18V2C4 .895 4.89 0 6 0H7V7L9.5 5.5L12 7V0H18C19.1 0 20 .89 20 2M7 24H9V22H7V24M15 24H17V22H15V24M11 24H13V22H11V24Z\";\r\nexport var mdiBookSettingsOutline = \"M18 0H6C4.89 0 4 .895 4 2V18C4 19.11 4.89 20 6 20H18C19.11 20 20 19.11 20 18V2C20 .895 19.11 0 18 0M18 18H6V2H8V10L10.5 7.75L13 10V2H18V18M7 22H9V24H7V22M11 22H13V24H11V22M15 22H17V24H15V22Z\";\r\nexport var mdiBookSync = \"M13 17.5C13 19.25 13.69 20.83 14.82 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V11.03C19.84 11 19.67 11 19.5 11C15.91 11 13 13.91 13 17.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5Z\";\r\nexport var mdiBookSyncOutline = \"M13.5 20C13.81 20.75 14.26 21.42 14.82 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V11.03C19.84 11 19.67 11 19.5 11C19 11 18.5 11.07 18 11.18V4H13V12L10.5 9.75L8 12V4H6V20H13.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5Z\";\r\nexport var mdiBookVariant = \"M6,4H11V12L8.5,10.5L6,12M18,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V4A2,2 0 0,0 18,2Z\";\r\nexport var mdiBookVariantMultiple = \"M4,6H2V20A2,2 0 0,0 4,22H18V20H4V6M20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M20,12L17.5,10.5L15,12V4H20V12Z\";\r\nexport var mdiBookmark = \"M17,3H7A2,2 0 0,0 5,5V21L12,18L19,21V5C19,3.89 18.1,3 17,3Z\";\r\nexport var mdiBookmarkCheck = \"M17,3A2,2 0 0,1 19,5V21L12,18L5,21V5C5,3.89 5.9,3 7,3H17M11,14L17.25,7.76L15.84,6.34L11,11.18L8.41,8.59L7,10L11,14Z\";\r\nexport var mdiBookmarkCheckOutline = \"M9.47 9.65L8.06 11.07L11 14L16.19 8.82L14.78 7.4L11 11.18M17 3H7C5.9 3 5 3.9 5 5L5 21L12 18L19 21V5C19 3.9 18.1 3 17 3M17 18L12 15.82L7 18V5H17Z\";\r\nexport var mdiBookmarkMinus = \"M17,3H7A2,2 0 0,0 5,5V21L12,18L19,21V5A2,2 0 0,0 17,3M15,11H9V9H15V11Z\";\r\nexport var mdiBookmarkMinusOutline = \"M9,11V9H15V11H9M19,5V21L12,18L5,21V5C5,3.89 5.9,3 7,3H17C18.11,3 19,3.9 19,5M17,5H7V18L12,15.82L17,18V5Z\";\r\nexport var mdiBookmarkMultiple = \"M15,5A2,2 0 0,1 17,7V23L10,20L3,23V7C3,5.89 3.9,5 5,5H15M9,1H19A2,2 0 0,1 21,3V19L19,18.13V3H7A2,2 0 0,1 9,1Z\";\r\nexport var mdiBookmarkMultipleOutline = \"M9,1H19A2,2 0 0,1 21,3V19L19,18.13V3H7A2,2 0 0,1 9,1M15,20V7H5V20L10,17.82L15,20M15,5C16.11,5 17,5.9 17,7V23L10,20L3,23V7A2,2 0 0,1 5,5H15Z\";\r\nexport var mdiBookmarkMusic = \"M17,3A2,2 0 0,1 19,5V21L12,18L5,21V5C5,3.89 5.9,3 7,3H17M11,11A2,2 0 0,0 9,13A2,2 0 0,0 11,15A2,2 0 0,0 13,13V8H16V6H12V11.27C11.71,11.1 11.36,11 11,11Z\";\r\nexport var mdiBookmarkMusicOutline = \"M7 3C5.9 3 5 3.9 5 5V21L12 18L19 21V5C19 3.89 18.1 3 17 3H7M7 5H17V18L12 15.82L7 18V5M12 6V11.3C11.7 11.1 11.4 11 11 11C9.9 11 9 11.9 9 13C9 14.11 9.9 15 11 15C12.11 15 13 14.11 13 13V8H15V6H12Z\";\r\nexport var mdiBookmarkOff = \"M20,20.72L18.73,22L16.78,20.05L12,18L5,21V8.27L2,5.27L3.28,4L20,20.72M19,17.16V5C19,3.89 18.1,3 17,3H7C6.41,3 5.89,3.27 5.5,3.68L19,17.16Z\";\r\nexport var mdiBookmarkOffOutline = \"M3.28,4L2,5.27L5,8.27V21L12,18L16.78,20.05L18.73,22L20,20.72L3.28,4M7,18V10.27L13,16.25L12,15.82L7,18M7,5.16L5.5,3.67C5.88,3.26 6.41,3 7,3H17A2,2 0 0,1 19,5V17.16L17,15.16V5H7V5.16Z\";\r\nexport var mdiBookmarkOutline = \"M17,18L12,15.82L7,18V5H17M17,3H7A2,2 0 0,0 5,5V21L12,18L19,21V5C19,3.89 18.1,3 17,3Z\";\r\nexport var mdiBookmarkPlus = \"M17,3A2,2 0 0,1 19,5V21L12,18L5,21V5C5,3.89 5.9,3 7,3H17M11,7V9H9V11H11V13H13V11H15V9H13V7H11Z\";\r\nexport var mdiBookmarkPlusOutline = \"M17,18V5H7V18L12,15.82L17,18M17,3A2,2 0 0,1 19,5V21L12,18L5,21V5C5,3.89 5.9,3 7,3H17M11,7H13V9H15V11H13V13H11V11H9V9H11V7Z\";\r\nexport var mdiBookmarkRemove = \"M17,3A2,2 0 0,1 19,5V21L12,18L5,21V5C5,3.89 5.9,3 7,3H17M8.17,8.58L10.59,11L8.17,13.41L9.59,14.83L12,12.41L14.41,14.83L15.83,13.41L13.41,11L15.83,8.58L14.41,7.17L12,9.58L9.59,7.17L8.17,8.58Z\";\r\nexport var mdiBookmarkRemoveOutline = \"M7 3C5.9 3 5 3.9 5 5V21L12 18L19 21V5C19 3.89 18.1 3 17 3H7M7 5H17V18L12 15.82L7 18V5M9.88 7.47L8.47 8.88L10.59 11L8.47 13.12L9.88 14.54L12 12.42L14.12 14.53L15.54 13.12L13.42 11L15.53 8.88L14.12 7.47L12 9.59L9.88 7.47Z\";\r\nexport var mdiBookshelf = \"M9 3V18H12V3H9M12 5L16 18L19 17L15 4L12 5M5 5V18H8V5H5M3 19V21H21V19H3Z\";\r\nexport var mdiBoomGate = \"M20,9H8.22C7.11,7.77 5.21,7.68 4,8.8C3.36,9.36 3,10.16 3,11V20A1,1 0 0,0 2,21V22H10V21A1,1 0 0,0 9,20V13H20A2,2 0 0,0 22,11A2,2 0 0,0 20,9M6,12.5A1.5,1.5 0 0,1 4.5,11A1.5,1.5 0 0,1 6,9.5A1.5,1.5 0 0,1 7.5,11A1.5,1.5 0 0,1 6,12.5M10.5,12L9,10H10.5L12,12H10.5M14.5,12L13,10H14.5L16,12H14.5M18.5,12L17,10H18.5L20,12H18.5Z\";\r\nexport var mdiBoomGateAlert = \"M19.9 3C19.3 2 18.1 1.7 17.2 2.3L6.9 8.2C6.6 8.1 6.3 8 6 8C4.3 8 3 9.3 3 11V20C2.4 20 2 20.4 2 21V22H10V21C10 20.4 9.6 20 9 20V11.6L19.1 5.8C20.1 5.2 20.4 4 19.9 3M6 12.5C5.2 12.5 4.5 11.8 4.5 11S5.2 9.5 6 9.5 7.5 10.2 7.5 11 6.8 12.5 6 12.5M10.4 9.6L8.1 8.6L9.4 7.8L11.7 8.8L10.4 9.6M13.9 7.6L11.6 6.6L12.9 5.8L15.2 6.8L13.9 7.6M17.3 5.6L15 4.6L16.3 3.8L18.6 4.8L17.3 5.6M20 18H18V20H20V18M20 10H18V16H20V10Z\";\r\nexport var mdiBoomGateAlertOutline = \"M19.9 3C19.3 2 18.1 1.7 17.2 2.3L6.9 8.2C6.6 8.1 6.3 8 6 8C4.3 8 3 9.3 3 11V20C2.4 20 2 20.4 2 21V22H10V21C10 20.4 9.6 20 9 20V11.6L19.1 5.8C20.1 5.2 20.4 4 19.9 3M7.5 20H4.5V13.6C5.4 14.1 6.6 14.1 7.5 13.6V20M6 12.5C5.2 12.5 4.5 11.8 4.5 11S5.2 9.5 6 9.5 7.5 10.2 7.5 11 6.8 12.5 6 12.5M10.4 9.6L8.1 8.6L9.4 7.8L11.7 8.8L10.4 9.6M13.9 7.6L11.6 6.6L12.9 5.8L15.2 6.8L13.9 7.6M17.3 5.6L15 4.6L16.3 3.8L18.6 4.8L17.3 5.6M20 16H18V10H20V16M20 20H18V18H20V20Z\";\r\nexport var mdiBoomGateArrowDown = \"M19.86,3C19.31,2.04 18.09,1.71 17.12,2.27L6.92,8.16C6.62,8.06 6.31,8 6,8A3,3 0 0,0 3,11V20A1,1 0 0,0 2,21V22H10V21A1,1 0 0,0 9,20V11.58L19.12,5.73C20.08,5.18 20.41,3.96 19.86,3M6,12.5A1.5,1.5 0 0,1 4.5,11A1.5,1.5 0 0,1 6,9.5A1.5,1.5 0 0,1 7.5,11A1.5,1.5 0 0,1 6,12.5M10.4,9.62L8.1,8.62L9.4,7.87L11.7,8.87L10.4,9.62M13.86,7.62L11.56,6.62L12.86,5.87L15.16,6.87L13.86,7.62M17.33,5.62L15.03,4.62L16.33,3.87L18.62,4.87L17.33,5.62M17,20L12,15H15V11H19V15H22L17,20\";\r\nexport var mdiBoomGateArrowDownOutline = \"M19.86,3C20.41,3.96 20.08,5.18 19.12,5.73L9,11.58V20A1,1 0 0,1 10,21V22H2V21A1,1 0 0,1 3,20V11A3,3 0 0,1 6,8C6.31,8 6.62,8.06 6.92,8.16L17.12,2.27C18.09,1.71 19.31,2.04 19.86,3M7.5,20V13.6C6.57,14.14 5.43,14.14 4.5,13.6V20H7.5M6,12.5A1.5,1.5 0 0,0 7.5,11A1.5,1.5 0 0,0 6,9.5A1.5,1.5 0 0,0 4.5,11A1.5,1.5 0 0,0 6,12.5M10.4,9.62L11.7,8.87L9.4,7.87L8.1,8.62L10.4,9.62M13.86,7.62L15.16,6.87L12.86,5.87L11.56,6.62L13.86,7.62M17.33,5.62L18.62,4.87L16.33,3.87L15.03,4.62L17.33,5.62M16,11.16H18V16.17L21,16.16L17,20L13,16.16L16,16.17V11.16Z\";\r\nexport var mdiBoomGateArrowUp = \"M19.86,3C19.31,2.04 18.09,1.71 17.12,2.27L6.92,8.16C6.62,8.06 6.31,8 6,8A3,3 0 0,0 3,11V20A1,1 0 0,0 2,21V22H10V21A1,1 0 0,0 9,20V11.58L19.12,5.73C20.08,5.18 20.41,3.96 19.86,3M6,12.5A1.5,1.5 0 0,1 4.5,11A1.5,1.5 0 0,1 6,9.5A1.5,1.5 0 0,1 7.5,11A1.5,1.5 0 0,1 6,12.5M10.4,9.62L8.1,8.62L9.4,7.87L11.7,8.87L10.4,9.62M13.86,7.62L11.56,6.62L12.86,5.87L15.16,6.87L13.86,7.62M17.33,5.62L15.03,4.62L16.33,3.87L18.62,4.87L17.33,5.62M17,11L22,16H19V20H15V16H12L17,11\";\r\nexport var mdiBoomGateArrowUpOutline = \"M19.86,3C20.41,3.96 20.08,5.18 19.12,5.73L9,11.58V20A1,1 0 0,1 10,21V22H2V21A1,1 0 0,1 3,20V11A3,3 0 0,1 6,8C6.31,8 6.62,8.06 6.92,8.16L17.12,2.27C18.09,1.71 19.31,2.04 19.86,3M7.5,20V13.6C6.57,14.14 5.43,14.14 4.5,13.6V20H7.5M6,12.5A1.5,1.5 0 0,0 7.5,11A1.5,1.5 0 0,0 6,9.5A1.5,1.5 0 0,0 4.5,11A1.5,1.5 0 0,0 6,12.5M10.4,9.62L11.7,8.87L9.4,7.87L8.1,8.62L10.4,9.62M13.86,7.62L15.16,6.87L12.86,5.87L11.56,6.62L13.86,7.62M17.33,5.62L18.62,4.87L16.33,3.87L15.03,4.62L17.33,5.62M16,20V15H13L17,11.16L21,15H18V20H16Z\";\r\nexport var mdiBoomGateOutline = \"M20,9H8.22C7.11,7.77 5.21,7.68 4,8.8C3.36,9.36 3,10.16 3,11V20A1,1 0 0,0 2,21V22H10V21A1,1 0 0,0 9,20V13H20A2,2 0 0,0 22,11A2,2 0 0,0 20,9M7.5,20H4.5V13.6C5.43,14.14 6.57,14.14 7.5,13.6V20M6,12.5A1.5,1.5 0 0,1 4.5,11A1.5,1.5 0 0,1 6,9.5A1.5,1.5 0 0,1 7.5,11A1.5,1.5 0 0,1 6,12.5M10.5,12L9,10H10.5L12,12H10.5M14.5,12L13,10H14.5L16,12H14.5M18.5,12L17,10H18.5L20,12H18.5Z\";\r\nexport var mdiBoomGateUp = \"M19.9 3C19.3 2 18.1 1.7 17.2 2.3L6.9 8.2C6.6 8.1 6.3 8 6 8C4.3 8 3 9.3 3 11V20C2.4 20 2 20.4 2 21V22H10V21C10 20.4 9.6 20 9 20V11.6L19.1 5.8C20.1 5.2 20.4 4 19.9 3M6 12.5C5.2 12.5 4.5 11.8 4.5 11S5.2 9.5 6 9.5 7.5 10.2 7.5 11 6.8 12.5 6 12.5M10.4 9.6L8.1 8.6L9.4 7.8L11.7 8.8L10.4 9.6M13.9 7.6L11.6 6.6L12.9 5.8L15.2 6.8L13.9 7.6M17.3 5.6L15 4.6L16.3 3.8L18.6 4.8L17.3 5.6\";\r\nexport var mdiBoomGateUpOutline = \"M19.9 3C19.3 2 18.1 1.7 17.2 2.3L6.9 8.2C6.6 8.1 6.3 8 6 8C4.3 8 3 9.3 3 11V20C2.4 20 2 20.4 2 21V22H10V21C10 20.4 9.6 20 9 20V11.6L19.1 5.8C20.1 5.2 20.4 4 19.9 3M7.5 20H4.5V13.6C5.4 14.1 6.6 14.1 7.5 13.6V20M6 12.5C5.2 12.5 4.5 11.8 4.5 11S5.2 9.5 6 9.5 7.5 10.2 7.5 11 6.8 12.5 6 12.5M10.4 9.6L8.1 8.6L9.4 7.8L11.7 8.8L10.4 9.6M13.9 7.6L11.6 6.6L12.9 5.8L15.2 6.8L13.9 7.6M17.3 5.6L15 4.6L16.3 3.8L18.6 4.8L17.3 5.6\";\r\nexport var mdiBoombox = \"M7,5L5,7V8H3A1,1 0 0,0 2,9V17A1,1 0 0,0 3,18H21A1,1 0 0,0 22,17V9A1,1 0 0,0 21,8H19V7L17,5H7M7,7H17V8H7V7M11,9H13A0.5,0.5 0 0,1 13.5,9.5A0.5,0.5 0 0,1 13,10H11A0.5,0.5 0 0,1 10.5,9.5A0.5,0.5 0 0,1 11,9M7.5,10.5A3,3 0 0,1 10.5,13.5A3,3 0 0,1 7.5,16.5A3,3 0 0,1 4.5,13.5A3,3 0 0,1 7.5,10.5M16.5,10.5A3,3 0 0,1 19.5,13.5A3,3 0 0,1 16.5,16.5A3,3 0 0,1 13.5,13.5A3,3 0 0,1 16.5,10.5M7.5,12A1.5,1.5 0 0,0 6,13.5A1.5,1.5 0 0,0 7.5,15A1.5,1.5 0 0,0 9,13.5A1.5,1.5 0 0,0 7.5,12M16.5,12A1.5,1.5 0 0,0 15,13.5A1.5,1.5 0 0,0 16.5,15A1.5,1.5 0 0,0 18,13.5A1.5,1.5 0 0,0 16.5,12Z\";\r\nexport var mdiBoomerang = \"M10 2H4C2.9 2 2 2.9 2 4S2.9 6 4 6H8L10 2M18 2C20.2 2 22 3.8 22 6V12L18 14C18 9.6 14.4 6 10 6L12 2H18M18 20V16L22 14V20C22 21.1 21.1 22 20 22S18 21.1 18 20Z\";\r\nexport var mdiBootstrap = \"M11.79 11.5H9.72V8.19H12.19C13.45 8.19 14.15 8.75 14.15 9.78C14.15 10.9 13.32 11.5 11.79 11.5M12.16 12.63H9.72V16.27L12.28 16.27C13.84 16.27 14.66 15.64 14.66 14.44S13.81 12.63 12.16 12.63M22 5.31V18.69C22 20.5 20.5 22 18.69 22H5.31C3.5 22 2 20.5 2 18.69V5.31C2 3.5 3.5 2 5.31 2H18.69C20.5 2 22 3.5 22 5.31M16 14.5C16 13.12 15.08 12.13 13.67 11.95V11.89C14.67 11.71 15.46 10.71 15.46 9.63C15.46 8.08 14.26 7.05 12.5 7.05H8.43V17.41H12.47C14.68 17.41 16 16.32 16 14.5Z\";\r\nexport var mdiBorderAll = \"M19,11H13V5H19M19,19H13V13H19M11,11H5V5H11M11,19H5V13H11M3,21H21V3H3V21Z\";\r\nexport var mdiBorderAllVariant = \"M3,21V3H21V21H3M5,5V19H19V5H5Z\";\r\nexport var mdiBorderBottom = \"M5,15H3V17H5M3,21H21V19H3M5,11H3V13H5M19,9H21V7H19M19,5H21V3H19M5,7H3V9H5M19,17H21V15H19M19,13H21V11H19M17,3H15V5H17M13,3H11V5H13M17,11H15V13H17M13,7H11V9H13M5,3H3V5H5M13,11H11V13H13M9,3H7V5H9M13,15H11V17H13M9,11H7V13H9V11Z\";\r\nexport var mdiBorderBottomVariant = \"M5,15H3V17H5M3,21H21V19H3M5,11H3V13H5M19,9H21V7H19M19,5H21V3H19M5,7H3V9H5M19,17H21V15H19M19,13H21V11H19M17,3H15V5H17M13,3H11V5H13M5,3H3V5H5M9,3H7V5H9\";\r\nexport var mdiBorderColor = \"M20.71,4.04C21.1,3.65 21.1,3 20.71,2.63L18.37,0.29C18,-0.1 17.35,-0.1 16.96,0.29L15,2.25L18.75,6M17.75,7L14,3.25L4,13.25V17H7.75L17.75,7Z\";\r\nexport var mdiBorderHorizontal = \"M19,21H21V19H19M15,21H17V19H15M11,17H13V15H11M19,9H21V7H19M19,5H21V3H19M3,13H21V11H3M11,21H13V19H11M19,17H21V15H19M13,3H11V5H13M13,7H11V9H13M17,3H15V5H17M9,3H7V5H9M5,3H3V5H5M7,21H9V19H7M3,17H5V15H3M5,7H3V9H5M3,21H5V19H3V21Z\";\r\nexport var mdiBorderInside = \"M19,17H21V15H19M19,21H21V19H19M13,3H11V11H3V13H11V21H13V13H21V11H13M15,21H17V19H15M19,5H21V3H19M19,9H21V7H19M17,3H15V5H17M5,3H3V5H5M9,3H7V5H9M3,17H5V15H3M5,7H3V9H5M7,21H9V19H7M3,21H5V19H3V21Z\";\r\nexport var mdiBorderLeft = \"M15,5H17V3H15M15,13H17V11H15M19,21H21V19H19M19,13H21V11H19M19,5H21V3H19M19,17H21V15H19M15,21H17V19H15M19,9H21V7H19M3,21H5V3H3M7,13H9V11H7M7,5H9V3H7M7,21H9V19H7M11,13H13V11H11M11,9H13V7H11M11,5H13V3H11M11,17H13V15H11M11,21H13V19H11V21Z\";\r\nexport var mdiBorderLeftVariant = \"M15,5H17V3H15M19,21H21V19H19M19,13H21V11H19M19,5H21V3H19M19,17H21V15H19M15,21H17V19H15M19,9H21V7H19M3,21H5V3H3M7,5H9V3H7M7,21H9V19H7M11,5H13V3H11M11,21H13V19H11V21Z\";\r\nexport var mdiBorderNone = \"M15,5H17V3H15M15,13H17V11H15M15,21H17V19H15M11,5H13V3H11M19,5H21V3H19M11,9H13V7H11M19,9H21V7H19M19,21H21V19H19M19,13H21V11H19M19,17H21V15H19M11,13H13V11H11M3,5H5V3H3M3,9H5V7H3M3,13H5V11H3M3,17H5V15H3M3,21H5V19H3M11,21H13V19H11M11,17H13V15H11M7,21H9V19H7M7,13H9V11H7M7,5H9V3H7V5Z\";\r\nexport var mdiBorderNoneVariant = \"M15,5H17V3H15M15,21H17V19H15M11,5H13V3H11M19,5H21V3H19M19,9H21V7H19M19,21H21V19H19M19,13H21V11H19M19,17H21V15H19M3,5H5V3H3M3,9H5V7H3M3,13H5V11H3M3,17H5V15H3M3,21H5V19H3M11,21H13V19H11M7,21H9V19H7M7,5H9V3H7V5Z\";\r\nexport var mdiBorderOutside = \"M9,11H7V13H9M13,15H11V17H13M19,19H5V5H19M3,21H21V3H3M17,11H15V13H17M13,11H11V13H13M13,7H11V9H13V7Z\";\r\nexport var mdiBorderRight = \"M11,9H13V7H11M11,5H13V3H11M11,13H13V11H11M15,5H17V3H15M15,21H17V19H15M19,21H21V3H19M15,13H17V11H15M11,17H13V15H11M3,9H5V7H3M3,17H5V15H3M3,13H5V11H3M11,21H13V19H11M3,21H5V19H3M7,13H9V11H7M7,5H9V3H7M3,5H5V3H3M7,21H9V19H7V21Z\";\r\nexport var mdiBorderRightVariant = \"M11,5H13V3H11M15,5H17V3H15M15,21H17V19H15M19,21H21V3H19M3,9H5V7H3M3,17H5V15H3M3,13H5V11H3M11,21H13V19H11M3,21H5V19H3M7,5H9V3H7M3,5H5V3H3M7,21H9V19H7V21Z\";\r\nexport var mdiBorderStyle = \"M15,21H17V19H15M19,21H21V19H19M7,21H9V19H7M11,21H13V19H11M19,17H21V15H19M19,13H21V11H19M3,3V21H5V5H21V3M19,9H21V7H19\";\r\nexport var mdiBorderTop = \"M15,13H17V11H15M19,21H21V19H19M11,9H13V7H11M15,21H17V19H15M19,17H21V15H19M3,5H21V3H3M19,13H21V11H19M19,9H21V7H19M11,17H13V15H11M3,9H5V7H3M3,13H5V11H3M3,21H5V19H3M3,17H5V15H3M11,21H13V19H11M11,13H13V11H11M7,13H9V11H7M7,21H9V19H7V21Z\";\r\nexport var mdiBorderTopVariant = \"M19,21H21V19H19M15,21H17V19H15M19,17H21V15H19M3,5H21V3H3M19,13H21V11H19M19,9H21V7H19M3,9H5V7H3M3,13H5V11H3M3,21H5V19H3M3,17H5V15H3M11,21H13V19H11M7,21H9V19H7V21Z\";\r\nexport var mdiBorderVertical = \"M15,13H17V11H15M15,21H17V19H15M15,5H17V3H15M19,9H21V7H19M19,5H21V3H19M19,13H21V11H19M19,21H21V19H19M11,21H13V3H11M19,17H21V15H19M7,5H9V3H7M3,17H5V15H3M3,21H5V19H3M3,13H5V11H3M7,13H9V11H7M7,21H9V19H7M3,5H5V3H3M3,9H5V7H3V9Z\";\r\nexport var mdiBottleSoda = \"M15 11V20A2 2 0 0 1 13 22H11A2 2 0 0 1 9 20V11A2 2 0 0 1 9.6 9.58C11.1 7.89 11 4 11 4H10V2H14V4H13S12.9 7.89 14.4 9.58A2 2 0 0 1 15 11Z\";\r\nexport var mdiBottleSodaClassic = \"M15 13.77A3 3 0 0 0 15 18.23V20A2 2 0 0 1 13 22H11A2 2 0 0 1 9 20V18.23A3 3 0 0 0 9 13.77V9A12.28 12.28 0 0 0 10.91 4H10V2H14V4H13.09A12.28 12.28 0 0 0 15 9Z\";\r\nexport var mdiBottleSodaClassicOutline = \"M10 2V4H10.91C10.65 5.79 9 7.5 8 9V13.77C9.32 14.96 9.32 17.04 8 18.23V20C8 21.11 8.9 22 10 22H14C15.11 22 16 21.11 16 20V18.23C14.68 17.04 14.68 14.96 16 13.77V9C15 7.5 13.35 5.79 13.09 4H14V2M12 6.5C12.24 7 13.54 8.5 13.9 8.91L14 9V13C13.35 13.87 13 14.92 13 16C13 17.08 13.35 18.13 14 19V20H10V19C10.65 18.13 11 17.08 11 16C11 14.92 10.65 13.87 10 13V9L10.1 8.91C10.46 8.5 11.76 7 12 6.5Z\";\r\nexport var mdiBottleSodaOutline = \"M14.4 9.58C12.9 7.89 13 4 13 4H14V2H10V4H11S11.1 7.89 9.6 9.58A2 2 0 0 0 9 11V20A2 2 0 0 0 11 22H13A2 2 0 0 0 15 20V11A2 2 0 0 0 14.4 9.58M13 20H11V11L11.1 10.91A6.26 6.26 0 0 0 12 9.5A6.26 6.26 0 0 0 12.9 10.91L13 11Z\";\r\nexport var mdiBottleTonic = \"M13 4H11L10 2H14L13 4M19 13V22H5V13C5 10.24 7.24 8 10 8V6H9V5H15V6H14V8C16.76 8 19 10.24 19 13Z\";\r\nexport var mdiBottleTonicOutline = \"M13 4H11L10 2H14L13 4M19 13V22H5V13C5 10.24 7.24 8 10 8V6H9V5H15V6H14V8C16.76 8 19 10.24 19 13M17 13C17 11.35 15.65 10 14 10H10C8.35 10 7 11.35 7 13V20H17V13Z\";\r\nexport var mdiBottleTonicPlus = \"M13 4H11L10 2H14L13 4M14 8V6H15V5H9V6H10V8C7.24 8 5 10.24 5 13V22H19V13C19 10.24 16.76 8 14 8M16 17H13V20H11V17H8V15H11V12H13V15H16V17Z\";\r\nexport var mdiBottleTonicPlusOutline = \"M13 4H11L10 2H14L13 4M19 13V22H5V13C5 10.24 7.24 8 10 8V6H9V5H15V6H14V8C16.76 8 19 10.24 19 13M17 13C17 11.35 15.65 10 14 10H10C8.35 10 7 11.35 7 13V20H17V13M15 16H13V18H11V16H9V14H11V12H13V14H15V16Z\";\r\nexport var mdiBottleTonicSkull = \"M19 13V22H5V13C5 10.24 7.24 8 10 8V6H9V5H15V6H14V8C16.76 8 19 10.24 19 13M13 4L14 2H10L11 4H13M12 11C9.79 11 8 12.79 8 15C8 16 8.39 16.9 9 17.59V19H10.25V17.5H11.38V19H12.63V17.5H13.75V19H15V17.59C15.61 16.9 16 16 16 15C16 12.79 14.21 11 12 11M10.5 15C9.95 15 9.5 14.55 9.5 14S9.95 13 10.5 13 11.5 13.45 11.5 14 11.05 15 10.5 15M11.25 16.25L12 15L12.75 16.25H11.25M13.5 15C12.95 15 12.5 14.55 12.5 14S12.95 13 13.5 13 14.5 13.45 14.5 14 14.05 15 13.5 15Z\";\r\nexport var mdiBottleTonicSkullOutline = \"M13 4H11L10 2H14L13 4M14 8V6H15V5H9V6H10V8C7.24 8 5 10.24 5 13V22H19V13C19 10.24 16.76 8 14 8M17 20H7V13C7 11.35 8.35 10 10 10H14C15.65 10 17 11.35 17 13V20M12 11C9.79 11 8 12.79 8 15C8 16 8.39 16.9 9 17.59V19H10.25V17.5H11.38V19H12.63V17.5H13.75V19H15V17.59C15.61 16.9 16 16 16 15C16 12.79 14.21 11 12 11M10.5 15C9.95 15 9.5 14.55 9.5 14S9.95 13 10.5 13 11.5 13.45 11.5 14 11.05 15 10.5 15M11.25 16.25L12 15L12.75 16.25H11.25M13.5 15C12.95 15 12.5 14.55 12.5 14S12.95 13 13.5 13 14.5 13.45 14.5 14 14.05 15 13.5 15Z\";\r\nexport var mdiBottleWine = \"M10,22A1,1 0 0,1 9,21V11C9,9 10,7.25 11,7V2.5A0.5,0.5 0 0,1 11.5,2H12.5A0.5,0.5 0 0,1 13,2.5V7C14,7.25 15,9 15,11V21A1,1 0 0,1 14,22H10Z\";\r\nexport var mdiBottleWineOutline = \"M11.5 2C11.22 2 11 2.22 11 2.5V7C10.93 7 10.85 7 10.78 7.03C9.82 7.27 9.21 8 8.76 8.89C8.3 9.76 8 10.84 8 12C8.05 15 8 18.03 8 21C8 21.55 8.45 22 9 22C11 22 13 22 15 22C15.55 22 16 21.55 16 21C16.04 18 16 15 16 12C16 10.84 15.74 9.76 15.28 8.88C14.83 8 14.22 7.27 13.26 7.04C13.18 7 13.05 7 13 7V2.5C13 2.22 12.78 2 12.5 2M12 8.85C12.32 8.85 12.63 8.9 12.78 9C12.85 9.03 13.2 9.26 13.5 9.81C13.78 10.37 14 11.17 14 12V20H10V12C10 11.17 10.22 10.37 10.5 9.81C10.8 9.26 11.15 9.03 11.22 9C11.36 8.9 11.68 8.85 12 8.85Z\";\r\nexport var mdiBowTie = \"M15,14L21,17V7L15,10V14M9,14L3,17V7L9,10V14M10,10H14V14H10V10Z\";\r\nexport var mdiBowl = \"M22 15C22 18.9 18.9 22 15 22H9C5.1 22 2 18.9 2 15V12H22V15Z\";\r\nexport var mdiBowlMix = \"M16.2 11L20.3 4.5L22 5.5L18.6 11H16.2M15.6 12H2V15C2 18.9 5.1 22 9 22H15C18.9 22 22 18.9 22 15V12H15.6Z\";\r\nexport var mdiBowlMixOutline = \"M15.6 12H2V15C2 18.9 5.1 22 9 22H15C18.9 22 22 18.9 22 15V12H15.6M20 15C20 17.8 17.8 20 15 20H9C6.2 20 4 17.8 4 15V14H20V15M16.2 11L20.3 4.4L22 5.5L18.6 11H16.2Z\";\r\nexport var mdiBowlOutline = \"M2 12V15C2 18.9 5.1 22 9 22H15C18.9 22 22 18.9 22 15V12H2M4 14H20V15C20 17.8 17.8 20 15 20H9C6.2 20 4 17.8 4 15V14Z\";\r\nexport var mdiBowling = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12.5,11A1.5,1.5 0 0,0 11,12.5A1.5,1.5 0 0,0 12.5,14A1.5,1.5 0 0,0 14,12.5A1.5,1.5 0 0,0 12.5,11M12,5A2,2 0 0,0 10,7A2,2 0 0,0 12,9A2,2 0 0,0 14,7A2,2 0 0,0 12,5M5.93,8.5C5.38,9.45 5.71,10.67 6.66,11.22C7.62,11.78 8.84,11.45 9.4,10.5C9.95,9.53 9.62,8.31 8.66,7.76C7.71,7.21 6.5,7.53 5.93,8.5Z\";\r\nexport var mdiBox = \"M15.39,14.04V14.04C15.39,12.62 14.24,11.47 12.82,11.47C11.41,11.47 10.26,12.62 10.26,14.04V14.04C10.26,15.45 11.41,16.6 12.82,16.6C14.24,16.6 15.39,15.45 15.39,14.04M17.1,14.04C17.1,16.4 15.18,18.31 12.82,18.31C11.19,18.31 9.77,17.39 9.05,16.04C8.33,17.39 6.91,18.31 5.28,18.31C2.94,18.31 1.04,16.43 1,14.11V14.11H1V7H1V7C1,6.56 1.39,6.18 1.86,6.18C2.33,6.18 2.7,6.56 2.71,7V7H2.71V10.62C3.43,10.08 4.32,9.76 5.28,9.76C6.91,9.76 8.33,10.68 9.05,12.03C9.77,10.68 11.19,9.76 12.82,9.76C15.18,9.76 17.1,11.68 17.1,14.04V14.04M7.84,14.04V14.04C7.84,12.62 6.69,11.47 5.28,11.47C3.86,11.47 2.71,12.62 2.71,14.04V14.04C2.71,15.45 3.86,16.6 5.28,16.6C6.69,16.6 7.84,15.45 7.84,14.04M22.84,16.96V16.96C22.95,17.12 23,17.3 23,17.47C23,17.73 22.88,18 22.66,18.15C22.5,18.26 22.33,18.32 22.15,18.32C21.9,18.32 21.65,18.21 21.5,18L19.59,15.47L17.7,18V18C17.53,18.21 17.28,18.32 17.03,18.32C16.85,18.32 16.67,18.26 16.5,18.15C16.29,18 16.17,17.72 16.17,17.46C16.17,17.29 16.23,17.11 16.33,16.96V16.96H16.33V16.96L18.5,14.04L16.33,11.11V11.11H16.33V11.11C16.22,10.96 16.17,10.79 16.17,10.61C16.17,10.35 16.29,10.1 16.5,9.93C16.89,9.65 17.41,9.72 17.7,10.09V10.09L19.59,12.61L21.5,10.09C21.76,9.72 22.29,9.65 22.66,9.93C22.89,10.1 23,10.36 23,10.63C23,10.8 22.95,10.97 22.84,11.11V11.11H22.84V11.11L20.66,14.04L22.84,16.96V16.96H22.84Z\";\r\nexport var mdiBoxCutter = \"M7.22,11.91C6.89,12.24 6.71,12.65 6.66,13.08L12.17,15.44L20.66,6.96C21.44,6.17 21.44,4.91 20.66,4.13L19.24,2.71C18.46,1.93 17.2,1.93 16.41,2.71L7.22,11.91M5,16V21.75L10.81,16.53L5.81,14.53L5,16M17.12,4.83C17.5,4.44 18.15,4.44 18.54,4.83C18.93,5.23 18.93,5.86 18.54,6.25C18.15,6.64 17.5,6.64 17.12,6.25C16.73,5.86 16.73,5.23 17.12,4.83Z\";\r\nexport var mdiBoxCutterOff = \"M20.84 22.73L12.86 14.75L12.17 15.44L6.66 13.08C6.71 12.65 6.89 12.24 7.22 11.91L8.62 10.5L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M15.41 12.21L11.16 7.96L16.41 2.71C17.2 1.93 18.46 1.93 19.24 2.71L20.66 4.13C21.44 4.91 21.44 6.17 20.66 6.96L15.41 12.21M17.12 6.25C17.5 6.64 18.15 6.64 18.54 6.25C18.93 5.86 18.93 5.23 18.54 4.83C18.15 4.44 17.5 4.44 17.12 4.83C16.73 5.23 16.73 5.86 17.12 6.25M5 16V21.75L10.81 16.53L5.81 14.53L5 16Z\";\r\nexport var mdiBoxShadow = \"M3,3H18V18H3V3M19,19H21V21H19V19M19,16H21V18H19V16M19,13H21V15H19V13M19,10H21V12H19V10M19,7H21V9H19V7M16,19H18V21H16V19M13,19H15V21H13V19M10,19H12V21H10V19M7,19H9V21H7V19Z\";\r\nexport var mdiBoxingGlove = \"M19,16V6H22V16H19M12,4C8,4 7,4 7,4C7,4 2,4 2,8V14C2,15.77 3,16.76 4.07,17.31C4.4,15.43 6.03,14 8,14H11V16H8A2,2 0 0,0 6,18C6,19.11 6.9,20 8,20H13C17,20 17,16 17,16V6C17,6 16,4 12,4Z\";\r\nexport var mdiBraille = \"M7,8A1,1 0 0,1 8,7A1,1 0 0,1 9,8V12.47L10.21,12.6L15.15,14.79C15.67,15.03 16,15.56 16,16.14V20.5C15.97,21.32 15.32,21.97 14.5,22H8C7.62,22 7.26,21.85 7,21.57L2.1,17.37L2.84,16.6C3.03,16.39 3.3,16.28 3.58,16.28H3.8L7,18V8M19.5,2A1.5,1.5 0 0,0 18,3.5A1.5,1.5 0 0,0 19.5,5A1.5,1.5 0 0,0 21,3.5A1.5,1.5 0 0,0 19.5,2M19.5,7A1.5,1.5 0 0,0 18,8.5A1.5,1.5 0 0,0 19.5,10A1.5,1.5 0 0,0 21,8.5A1.5,1.5 0 0,0 19.5,7M14.5,7A1.5,1.5 0 0,0 13,8.5A1.5,1.5 0 0,0 14.5,10A1.5,1.5 0 0,0 16,8.5A1.5,1.5 0 0,0 14.5,7M19.5,12A1.5,1.5 0 0,0 18,13.5A1.5,1.5 0 0,0 19.5,15A1.5,1.5 0 0,0 21,13.5A1.5,1.5 0 0,0 19.5,12Z\";\r\nexport var mdiBrain = \"M21.33,12.91C21.42,14.46 20.71,15.95 19.44,16.86L20.21,18.35C20.44,18.8 20.47,19.33 20.27,19.8C20.08,20.27 19.69,20.64 19.21,20.8L18.42,21.05C18.25,21.11 18.06,21.14 17.88,21.14C17.37,21.14 16.89,20.91 16.56,20.5L14.44,18C13.55,17.85 12.71,17.47 12,16.9C11.5,17.05 11,17.13 10.5,17.13C9.62,17.13 8.74,16.86 8,16.34C7.47,16.5 6.93,16.57 6.38,16.56C5.59,16.57 4.81,16.41 4.08,16.11C2.65,15.47 1.7,14.07 1.65,12.5C1.57,11.78 1.69,11.05 2,10.39C1.71,9.64 1.68,8.82 1.93,8.06C2.3,7.11 3,6.32 3.87,5.82C4.45,4.13 6.08,3 7.87,3.12C9.47,1.62 11.92,1.46 13.7,2.75C14.12,2.64 14.56,2.58 15,2.58C16.36,2.55 17.65,3.15 18.5,4.22C20.54,4.75 22,6.57 22.08,8.69C22.13,9.8 21.83,10.89 21.22,11.82C21.29,12.18 21.33,12.54 21.33,12.91M16.33,11.5C16.9,11.57 17.35,12 17.35,12.57A1,1 0 0,1 16.35,13.57H15.72C15.4,14.47 14.84,15.26 14.1,15.86C14.35,15.95 14.61,16 14.87,16.07C20,16 19.4,12.87 19.4,12.82C19.34,11.39 18.14,10.27 16.71,10.33A1,1 0 0,1 15.71,9.33A1,1 0 0,1 16.71,8.33C17.94,8.36 19.12,8.82 20.04,9.63C20.09,9.34 20.12,9.04 20.12,8.74C20.06,7.5 19.5,6.42 17.25,6.21C16,3.25 12.85,4.89 12.85,5.81V5.81C12.82,6.04 13.06,6.53 13.1,6.56A1,1 0 0,1 14.1,7.56C14.1,8.11 13.65,8.56 13.1,8.56V8.56C12.57,8.54 12.07,8.34 11.67,8C11.19,8.31 10.64,8.5 10.07,8.56V8.56C9.5,8.61 9.03,8.21 9,7.66C8.92,7.1 9.33,6.61 9.88,6.56C10.04,6.54 10.82,6.42 10.82,5.79V5.79C10.82,5.13 11.07,4.5 11.5,4C10.58,3.75 9.59,4.08 8.59,5.29C6.75,5 6,5.25 5.45,7.2C4.5,7.67 4,8 3.78,9C4.86,8.78 5.97,8.87 7,9.25C7.5,9.44 7.78,10 7.59,10.54C7.4,11.06 6.82,11.32 6.3,11.13C5.57,10.81 4.75,10.79 4,11.07C3.68,11.34 3.68,11.9 3.68,12.34C3.68,13.08 4.05,13.77 4.68,14.17C5.21,14.44 5.8,14.58 6.39,14.57C6.24,14.31 6.11,14.04 6,13.76C5.81,13.22 6.1,12.63 6.64,12.44C7.18,12.25 7.77,12.54 7.96,13.08C8.36,14.22 9.38,15 10.58,15.13C11.95,15.06 13.17,14.25 13.77,13C14,11.62 15.11,11.5 16.33,11.5M18.33,18.97L17.71,17.67L17,17.83L18,19.08L18.33,18.97M13.68,10.36C13.7,9.83 13.3,9.38 12.77,9.33C12.06,9.29 11.37,9.53 10.84,10C10.27,10.58 9.97,11.38 10,12.19A1,1 0 0,0 11,13.19C11.57,13.19 12,12.74 12,12.19C12,11.92 12.07,11.65 12.23,11.43C12.35,11.33 12.5,11.28 12.66,11.28C13.21,11.31 13.68,10.9 13.68,10.36Z\";\r\nexport var mdiBreadSlice = \"M12,2C17.5,2 22,5.36 22,9.5C22,11.19 21.26,12.75 20,14V22H4V14C2.74,12.75 2,11.19 2,9.5C2,5.36 6.5,2 12,2M8,18H12V14H8V18Z\";\r\nexport var mdiBreadSliceOutline = \"M12,2C17.5,2 22,5.36 22,9.5C22,11.19 21.26,12.75 20,14V22H4V14C2.74,12.75 2,11.19 2,9.5C2,5.36 6.5,2 12,2M18,13.14C19.24,12.17 20,10.89 20,9.5C20,6.46 16.42,4 12,4C7.58,4 4,6.46 4,9.5C4,10.89 4.76,12.17 6,13.14V20H18V13.14M8,18V14H12V18H8Z\";\r\nexport var mdiBridge = \"M7,14V10.91C6.28,10.58 5.61,10.18 5,9.71V14H7M5,18H3V16H1V14H3V7H5V8.43C6.8,10 9.27,11 12,11C14.73,11 17.2,10 19,8.43V7H21V14H23V16H21V18H19V16H5V18M17,10.91V14H19V9.71C18.39,10.18 17.72,10.58 17,10.91M16,14V11.32C15.36,11.55 14.69,11.72 14,11.84V14H16M13,14V11.96L12,12L11,11.96V14H13M10,14V11.84C9.31,11.72 8.64,11.55 8,11.32V14H10Z\";\r\nexport var mdiBriefcase = \"M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V19A2,2 0 0,1 20,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14Z\";\r\nexport var mdiBriefcaseAccount = \"M20,6H16V4A2,2 0 0,0 14,2H10C8.89,2 8,2.89 8,4V6H4C2.89,6 2,6.89 2,8V19A2,2 0 0,0 4,21H20A2,2 0 0,0 22,19V8A2,2 0 0,0 20,6M10,4H14V6H10V4M12,9A2.5,2.5 0 0,1 14.5,11.5A2.5,2.5 0 0,1 12,14A2.5,2.5 0 0,1 9.5,11.5A2.5,2.5 0 0,1 12,9M17,19H7V17.75C7,16.37 9.24,15.25 12,15.25C14.76,15.25 17,16.37 17,17.75V19Z\";\r\nexport var mdiBriefcaseAccountOutline = \"M20,6C20.58,6 21.05,6.2 21.42,6.59C21.8,7 22,7.45 22,8V19C22,19.55 21.8,20 21.42,20.41C21.05,20.8 20.58,21 20,21H4C3.42,21 2.95,20.8 2.58,20.41C2.2,20 2,19.55 2,19V8C2,7.45 2.2,7 2.58,6.59C2.95,6.2 3.42,6 4,6H8V4C8,3.42 8.2,2.95 8.58,2.58C8.95,2.2 9.42,2 10,2H14C14.58,2 15.05,2.2 15.42,2.58C15.8,2.95 16,3.42 16,4V6H20M4,8V19H20V8H4M14,6V4H10V6H14M12,9A2.25,2.25 0 0,1 14.25,11.25C14.25,12.5 13.24,13.5 12,13.5A2.25,2.25 0 0,1 9.75,11.25C9.75,10 10.76,9 12,9M16.5,18H7.5V16.88C7.5,15.63 9.5,14.63 12,14.63C14.5,14.63 16.5,15.63 16.5,16.88V18Z\";\r\nexport var mdiBriefcaseCheck = \"M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19V8A2,2 0 0,1 4,6H8V4A2,2 0 0,1 10,2M14,6V4H10V6H14M10.5,17.5L17.09,10.91L15.68,9.5L10.5,14.67L8.41,12.59L7,14L10.5,17.5Z\";\r\nexport var mdiBriefcaseCheckOutline = \"M20 6C20.58 6 21.05 6.2 21.42 6.59C21.8 7 22 7.45 22 8V19C22 19.55 21.8 20 21.42 20.41C21.05 20.8 20.58 21 20 21H4C3.42 21 2.95 20.8 2.58 20.41C2.2 20 2 19.55 2 19V8C2 7.45 2.2 7 2.58 6.59C2.95 6.2 3.42 6 4 6H8V4C8 3.42 8.2 2.95 8.58 2.58C8.95 2.2 9.42 2 10 2H14C14.58 2 15.05 2.2 15.42 2.58C15.8 2.95 16 3.42 16 4V6H20M4 8V19H20V8H4M14 6V4H10V6H14M10.46 17.5L17.05 10.91L15.64 9.5L10.46 14.67L8.37 12.59L6.96 14L10.46 17.5Z\";\r\nexport var mdiBriefcaseClock = \"M21 11.11V7A2 2 0 0 0 19 5H15V3A2 2 0 0 0 13 1H9A2 2 0 0 0 7 3V5H3A2 2 0 0 0 1 7V18A2 2 0 0 0 3 20H10.26A7 7 0 1 0 21 11.11M9 3H13V5H9M19 20A5 5 0 0 1 13 20A5 5 0 1 1 19 20M15 13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69V13\";\r\nexport var mdiBriefcaseClockOutline = \"M21 11.11V7A2 2 0 0 0 20.42 5.59A1.87 1.87 0 0 0 19 5H15V3A1.9 1.9 0 0 0 14.42 1.58A1.9 1.9 0 0 0 13 1H9A1.9 1.9 0 0 0 7.58 1.58A1.9 1.9 0 0 0 7 3V5H3A1.87 1.87 0 0 0 1.58 5.59A2 2 0 0 0 1 7V18A2 2 0 0 0 1.58 19.41A1.87 1.87 0 0 0 3 20H10.26A7 7 0 1 0 21 11.11M9 3H13V5H9M3 18V7H19V9.68A6.84 6.84 0 0 0 16 9A7 7 0 0 0 9 16A6.91 6.91 0 0 0 9.29 18M19 20A5 5 0 0 1 13 20A4.94 4.94 0 0 1 11 16A5 5 0 0 1 16 11A4.94 4.94 0 0 1 19 12A5 5 0 0 1 19 20M15 13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69V13\";\r\nexport var mdiBriefcaseDownload = \"M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V19A2,2 0 0,1 20,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14M12,19L17,14H14V10H10V14H7L12,19Z\";\r\nexport var mdiBriefcaseDownloadOutline = \"M12,18L7,13H10V9H14V13H17L12,18M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V19A2,2 0 0,1 20,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14M4,8V19H20V8H4Z\";\r\nexport var mdiBriefcaseEdit = \"M14,2A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8L10.85,19C10.85,20.1 10.85,19.5 10.85,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2H14M14,6V4H10V6H14M21.04,12.13C20.9,12.13 20.76,12.19 20.65,12.3L19.65,13.3L21.7,15.35L22.7,14.35C22.92,14.14 22.92,13.79 22.7,13.58L21.42,12.3C21.31,12.19 21.18,12.13 21.04,12.13M19.07,13.88L13,19.94V22H15.06L21.12,15.93L19.07,13.88Z\";\r\nexport var mdiBriefcaseEditOutline = \"M21.04,12.13C21.18,12.13 21.31,12.19 21.42,12.3L22.7,13.58C22.92,13.79 22.92,14.14 22.7,14.35L21.7,15.35L19.65,13.3L20.65,12.3C20.76,12.19 20.9,12.13 21.04,12.13M19.07,13.88L21.12,15.93L15.06,22H13V19.94L19.07,13.88M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8L20,10V8H4V19H11V21H4A2,2 0 0,1 2,19V8A2,2 0 0,1 4,6H8V4A2,2 0 0,1 10,2M14,6V4H10V6H14Z\";\r\nexport var mdiBriefcaseEye = \"M17 18C17.6 18 18 18.4 18 19S17.6 20 17 20 16 19.6 16 19 16.4 18 17 18M9.1 19.7L8.8 19L9.1 18.3C10.4 15.1 13.5 13 17 13C18.9 13 20.6 13.6 22 14.6V8C22 6.9 21.1 6 20 6H16V4C16 2.9 15.1 2 14 2H10C8.9 2 8 2.9 8 4V6H4C2.9 6 2 6.9 2 8V19C2 20.1 2.9 21 4 21H9.8C9.5 20.6 9.3 20.2 9.1 19.7M10 4H14V6H10V4M17 15C14.3 15 11.9 16.7 11 19C11.9 21.3 14.3 23 17 23S22.1 21.3 23 19C22.1 16.7 19.7 15 17 15M17 21.5C15.6 21.5 14.5 20.4 14.5 19S15.6 16.5 17 16.5 19.5 17.6 19.5 19 18.4 21.5 17 21.5Z\";\r\nexport var mdiBriefcaseEyeOutline = \"M17 18C17.6 18 18 18.4 18 19S17.6 20 17 20 16 19.6 16 19 16.4 18 17 18M17 15C14.3 15 11.9 16.7 11 19C11.9 21.3 14.3 23 17 23S22.1 21.3 23 19C22.1 16.7 19.7 15 17 15M17 21.5C15.6 21.5 14.5 20.4 14.5 19S15.6 16.5 17 16.5 19.5 17.6 19.5 19 18.4 21.5 17 21.5M9.1 19.7L8.8 19H4V8H20V13.6C20.7 13.9 21.4 14.2 22 14.7V8C22 7.5 21.8 7 21.4 6.6C21 6.2 20.6 6 20 6H16V4C16 3.4 15.8 3 15.4 2.6C15 2.2 14.6 2 14 2H10C9.4 2 9 2.2 8.6 2.6C8.2 3 8 3.4 8 4V6H4C3.4 6 3 6.2 2.6 6.6C2.2 7 2 7.5 2 8V19C2 19.5 2.2 20 2.6 20.4C3 20.8 3.4 21 4 21H9.8C9.5 20.6 9.3 20.2 9.1 19.7M10 4H14V6H10V4Z\";\r\nexport var mdiBriefcaseMinus = \"M22,17V19H14V17H22M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V13.53C20.94,12.58 19.54,12 18,12A6,6 0 0,0 12,18C12,19.09 12.29,20.12 12.8,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14Z\";\r\nexport var mdiBriefcaseMinusOutline = \"M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V13.53C21.42,13 20.75,12.6 20,12.34V8H4V19H12.08C12.2,19.72 12.45,20.39 12.8,21H4A2,2 0 0,1 2,19V8A2,2 0 0,1 4,6H8V4A2,2 0 0,1 10,2M14,6V4H10V6H14M14,17H22V19H14V17Z\";\r\nexport var mdiBriefcaseOff = \"M22.11 21.46L20.84 22.73L19.11 21H4C2.89 21 2 20.1 2 19V8C2 6.89 2.89 6 4 6H4.11L1.11 3L2.39 1.73L22.11 21.46M22 18.8L8 4.8V4C8 2.89 8.89 2 10 2H14C15.11 2 16 2.9 16 4V6H20C21.11 6 22 6.9 22 8V18.8M14 4H10V6H14V4Z\";\r\nexport var mdiBriefcaseOffOutline = \"M20 8V16.8L22 18.8V8C22 7.45 21.8 7 21.42 6.59C21.05 6.2 20.58 6 20 6H16V4C16 3.42 15.8 2.95 15.42 2.58C15.05 2.2 14.58 2 14 2H10C9.42 2 8.95 2.2 8.58 2.58C8.2 2.95 8 3.42 8 4V4.8L11.2 8H20M10 4H14V6H10V4M2.39 1.73L1.11 3L4.11 6H4C3.42 6 2.95 6.2 2.58 6.59C2.2 7 2 7.45 2 8V19C2 19.55 2.2 20 2.58 20.41C2.95 20.8 3.42 21 4 21H19.11L20.84 22.73L22.11 21.46L2.39 1.73M4 19V8H6.11L17.11 19H4Z\";\r\nexport var mdiBriefcaseOutline = \"M20,6C20.58,6 21.05,6.2 21.42,6.59C21.8,7 22,7.45 22,8V19C22,19.55 21.8,20 21.42,20.41C21.05,20.8 20.58,21 20,21H4C3.42,21 2.95,20.8 2.58,20.41C2.2,20 2,19.55 2,19V8C2,7.45 2.2,7 2.58,6.59C2.95,6.2 3.42,6 4,6H8V4C8,3.42 8.2,2.95 8.58,2.58C8.95,2.2 9.42,2 10,2H14C14.58,2 15.05,2.2 15.42,2.58C15.8,2.95 16,3.42 16,4V6H20M4,8V19H20V8H4M14,6V4H10V6H14Z\";\r\nexport var mdiBriefcasePlus = \"M17,14H19V17H22V19H19V22H17V19H14V17H17V14M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V13.53C20.94,12.58 19.54,12 18,12A6,6 0 0,0 12,18C12,19.09 12.29,20.12 12.8,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14Z\";\r\nexport var mdiBriefcasePlusOutline = \"M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V13.53C21.42,13 20.75,12.6 20,12.34V8H4V19H12.08C12.2,19.72 12.45,20.39 12.8,21H4A2,2 0 0,1 2,19V8A2,2 0 0,1 4,6H8V4A2,2 0 0,1 10,2M14,6V4H10V6H14M14,17H17V14H19V17H22V19H19V22H17V19H14V17Z\";\r\nexport var mdiBriefcaseRemove = \"M14.46,15.88L15.88,14.46L18,16.59L20.12,14.46L21.54,15.88L19.41,18L21.54,20.12L20.12,21.54L18,19.41L15.88,21.54L14.46,20.12L16.59,18L14.46,15.88M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V13.53C20.94,12.58 19.54,12 18,12A6,6 0 0,0 12,18C12,19.09 12.29,20.12 12.8,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14Z\";\r\nexport var mdiBriefcaseRemoveOutline = \"M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V13.53C21.42,13 20.75,12.6 20,12.34V8H4V19H12.08C12.2,19.72 12.45,20.39 12.8,21H4A2,2 0 0,1 2,19V8A2,2 0 0,1 4,6H8V4A2,2 0 0,1 10,2M14,6V4H10V6H14M14.46,15.88L15.88,14.46L18,16.59L20.12,14.46L21.54,15.88L19.41,18L21.54,20.12L20.12,21.54L18,19.41L15.88,21.54L14.46,20.12L16.59,18L14.46,15.88Z\";\r\nexport var mdiBriefcaseSearch = \"M16.5,12C19,12 21,14 21,16.5C21,17.38 20.75,18.21 20.31,18.9L23.39,22L22,23.39L18.88,20.32C18.19,20.75 17.37,21 16.5,21C14,21 12,19 12,16.5C12,14 14,12 16.5,12M16.5,14A2.5,2.5 0 0,0 14,16.5A2.5,2.5 0 0,0 16.5,19A2.5,2.5 0 0,0 19,16.5A2.5,2.5 0 0,0 16.5,14M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V13.03C20.85,11.21 18.82,10 16.5,10A6.5,6.5 0 0,0 10,16.5C10,18.25 10.69,19.83 11.81,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14Z\";\r\nexport var mdiBriefcaseSearchOutline = \"M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V13.03C21.5,12.23 20.8,11.54 20,11V8H4V19H10.5C10.81,19.75 11.26,20.42 11.81,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14M20.31,18.9L23.39,22L22,23.39L18.88,20.32C18.19,20.75 17.37,21 16.5,21C14,21 12,19 12,16.5C12,14 14,12 16.5,12C19,12 21,14 21,16.5C21,17.38 20.75,18.21 20.31,18.9M16.5,19A2.5,2.5 0 0,0 19,16.5A2.5,2.5 0 0,0 16.5,14A2.5,2.5 0 0,0 14,16.5A2.5,2.5 0 0,0 16.5,19Z\";\r\nexport var mdiBriefcaseUpload = \"M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V19A2,2 0 0,1 20,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14M12,9L7,14H10V18H14V14H17L12,9Z\";\r\nexport var mdiBriefcaseUploadOutline = \"M12,9L17,14H14V18H10V14H7L12,9M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V19A2,2 0 0,1 20,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14M4,8V19H20V8H4Z\";\r\nexport var mdiBriefcaseVariant = \"M10 16V15H3L3 19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V15H14V16H10M20 7H16V5L14 3H10L8 5V7H4C2.9 7 2 7.9 2 9V12C2 13.11 2.89 14 4 14H10V12H14V14H20C21.1 14 22 13.1 22 12V9C22 7.9 21.1 7 20 7M14 7H10V5H14V7Z\";\r\nexport var mdiBriefcaseVariantOff = \"M10 6.8L8.1 4.9L10 3H14L16 5V7H20C21.1 7 22 7.9 22 9V12C22 13.1 21.1 14 20 14H17.2L10.2 7H14V5H10V6.8M2.39 1.73L1.11 3L5.11 7H4C2.9 7 2 7.9 2 9V12C2 13.11 2.89 14 4 14H10V12H10.11L14 15.89V16H10V15H3V19C3 20.11 3.89 21 5 21H19C19.03 21 19.07 21 19.1 21L20.84 22.73L22.11 21.46L2.39 1.73M21 17.8V15H18.2L21 17.8Z\";\r\nexport var mdiBriefcaseVariantOffOutline = \"M10 6.8L8.1 4.9L10 3H14L16 5V7H20C21.1 7 22 7.9 22 9V14C22 14.73 21.59 15.37 21 15.72V17.8L17.2 14H20V9H12.2L10.2 7H14V5H10V6.8M22.11 21.46L20.84 22.73L19.1 21C19.07 21 19.03 21 19 21H5C3.89 21 3 20.11 3 19V15.73C2.4 15.38 2 14.75 2 14V9C2 7.9 2.9 7 4 7H5.11L1.11 3L2.39 1.73L22.11 21.46M11 15H13V14.89L11.11 13H11V15M9 14V11H9.11L7.11 9H4V14H9M17.11 19L15 16.89V17H9V16H5V19H17.11Z\";\r\nexport var mdiBriefcaseVariantOutline = \"M20 7H16V5L14 3H10L8 5V7H4C2.9 7 2 7.9 2 9V14C2 14.75 2.4 15.38 3 15.73V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V15.72C21.59 15.37 22 14.73 22 14V9C22 7.9 21.1 7 20 7M10 5H14V7H10V5M4 9H20V14H15V11H9V14H4V9M13 15H11V13H13V15M19 19H5V16H9V17H15V16H19V19Z\";\r\nexport var mdiBrightness1 = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiBrightness2 = \"M10,2C8.18,2 6.47,2.5 5,3.35C8,5.08 10,8.3 10,12C10,15.7 8,18.92 5,20.65C6.47,21.5 8.18,22 10,22A10,10 0 0,0 20,12A10,10 0 0,0 10,2Z\";\r\nexport var mdiBrightness3 = \"M9,2C7.95,2 6.95,2.16 6,2.46C10.06,3.73 13,7.5 13,12C13,16.5 10.06,20.27 6,21.54C6.95,21.84 7.95,22 9,22A10,10 0 0,0 19,12A10,10 0 0,0 9,2Z\";\r\nexport var mdiBrightness4 = \"M12,18C11.11,18 10.26,17.8 9.5,17.45C11.56,16.5 13,14.42 13,12C13,9.58 11.56,7.5 9.5,6.55C10.26,6.2 11.11,6 12,6A6,6 0 0,1 18,12A6,6 0 0,1 12,18M20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31L23.31,12L20,8.69Z\";\r\nexport var mdiBrightness5 = \"M12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6A6,6 0 0,1 18,12A6,6 0 0,1 12,18M20,15.31L23.31,12L20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31Z\";\r\nexport var mdiBrightness6 = \"M12,18V6A6,6 0 0,1 18,12A6,6 0 0,1 12,18M20,15.31L23.31,12L20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31Z\";\r\nexport var mdiBrightness7 = \"M12,8A4,4 0 0,0 8,12A4,4 0 0,0 12,16A4,4 0 0,0 16,12A4,4 0 0,0 12,8M12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6A6,6 0 0,1 18,12A6,6 0 0,1 12,18M20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31L23.31,12L20,8.69Z\";\r\nexport var mdiBrightnessAuto = \"M14.3,16L13.6,14H10.4L9.7,16H7.8L11,7H13L16.2,16H14.3M20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31L23.31,12L20,8.69M10.85,12.65H13.15L12,9L10.85,12.65Z\";\r\nexport var mdiBrightnessPercent = \"M20.04,8.71V4H15.34L12,0.69L8.71,4H4V8.71L0.69,12L4,15.34V20.04H8.71L12,23.35L15.34,20.04H20.04V15.34L23.35,12L20.04,8.71M8.83,7.05C9.81,7.05 10.6,7.84 10.6,8.83A1.77,1.77 0 0,1 8.83,10.6C7.84,10.6 7.05,9.81 7.05,8.83C7.05,7.84 7.84,7.05 8.83,7.05M15.22,17C14.24,17 13.45,16.2 13.45,15.22A1.77,1.77 0 0,1 15.22,13.45C16.2,13.45 17,14.24 17,15.22A1.78,1.78 0 0,1 15.22,17M8.5,17.03L7,15.53L15.53,7L17.03,8.5L8.5,17.03Z\";\r\nexport var mdiBroadcast = \"M12 10C10.9 10 10 10.9 10 12S10.9 14 12 14 14 13.1 14 12 13.1 10 12 10M18 12C18 8.7 15.3 6 12 6S6 8.7 6 12C6 14.2 7.2 16.1 9 17.2L10 15.5C8.8 14.8 8 13.5 8 12.1C8 9.9 9.8 8.1 12 8.1S16 9.9 16 12.1C16 13.6 15.2 14.9 14 15.5L15 17.2C16.8 16.2 18 14.2 18 12M12 2C6.5 2 2 6.5 2 12C2 15.7 4 18.9 7 20.6L8 18.9C5.6 17.5 4 14.9 4 12C4 7.6 7.6 4 12 4S20 7.6 20 12C20 15 18.4 17.5 16 18.9L17 20.6C20 18.9 22 15.7 22 12C22 6.5 17.5 2 12 2Z\";\r\nexport var mdiBroadcastOff = \"M17.6 14.2C17.9 13.5 18 12.8 18 12C18 8.7 15.3 6 12 6C11.2 6 10.4 6.2 9.8 6.4L11.4 8H12C14.2 8 16 9.8 16 12C16 12.2 16 12.4 15.9 12.6L17.6 14.2M12 4C16.4 4 20 7.6 20 12C20 13.4 19.6 14.6 19 15.7L20.5 17.2C21.4 15.7 22 13.9 22 12C22 6.5 17.5 2 12 2C10.1 2 8.3 2.5 6.8 3.5L8.3 5C9.4 4.3 10.6 4 12 4M3.3 2.5L2 3.8L4.1 5.9C2.8 7.6 2 9.7 2 12C2 15.7 4 18.9 7 20.6L8 18.9C5.6 17.5 4 14.9 4 12C4 10.2 4.6 8.6 5.5 7.3L7 8.8C6.4 9.7 6 10.8 6 12C6 14.2 7.2 16.1 9 17.2L10 15.5C8.8 14.8 8 13.5 8 12.1C8 11.5 8.2 10.9 8.4 10.3L10 11.9V12.1C10 13.2 10.9 14.1 12 14.1H12.2L19.7 21.6L21 20.3L4.3 3.5L3.3 2.5Z\";\r\nexport var mdiBroom = \"M19.36,2.72L20.78,4.14L15.06,9.85C16.13,11.39 16.28,13.24 15.38,14.44L9.06,8.12C10.26,7.22 12.11,7.37 13.65,8.44L19.36,2.72M5.93,17.57C3.92,15.56 2.69,13.16 2.35,10.92L7.23,8.83L14.67,16.27L12.58,21.15C10.34,20.81 7.94,19.58 5.93,17.57Z\";\r\nexport var mdiBrush = \"M20.71,4.63L19.37,3.29C19,2.9 18.35,2.9 17.96,3.29L9,12.25L11.75,15L20.71,6.04C21.1,5.65 21.1,5 20.71,4.63M7,14A3,3 0 0,0 4,17C4,18.31 2.84,19 2,19C2.92,20.22 4.5,21 6,21A4,4 0 0,0 10,17A3,3 0 0,0 7,14Z\";\r\nexport var mdiBrushOff = \"M20.8 22.7L12.4 14.3L11.8 15L9 12.2L9.7 11.5L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M7 14C5.3 14 4 15.3 4 17C4 18.3 2.8 19 2 19C2.9 20.2 4.5 21 6 21C8.2 21 10 19.2 10 17C10 15.3 8.7 14 7 14M20.7 6C21.1 5.6 21.1 5 20.7 4.6L19.4 3.3C19 2.9 18.4 2.9 18 3.3L12.2 9L15 11.8L20.7 6Z\";\r\nexport var mdiBrushVariant = \"M8 3C5.79 3 4 4.79 4 7V14C4 15.1 4.9 16 6 16H9V20C9 21.1 9.9 22 11 22H13C14.1 22 15 21.1 15 20V16H18C19.1 16 20 15.1 20 14V3H8M8 5H12V7H14V5H15V9H17V5H18V10H6V7C6 5.9 6.9 5 8 5M6 14V12H18V14H6Z\";\r\nexport var mdiBucket = \"M3 4H21V7H20L17.5 21H6.5L4 7H3V4Z\";\r\nexport var mdiBucketOutline = \"M3 4H21V7H20L17.5 21H6.5L4 7H3V4M17.97 7H6.03L8.15 19H15.85L17.97 7Z\";\r\nexport var mdiBuffet = \"M9 14C9.55 14 10 14.45 10 15C10 15.55 9.55 16 9 16C8.45 16 8 15.55 8 15C8 14.45 8.45 14 9 14M15 14C15.55 14 16 14.45 16 15C16 15.55 15.55 16 15 16C14.45 16 14 15.55 14 15C14 14.45 14.45 14 15 14M3 22L4 19H3C2.45 19 2 18.55 2 18V12C2 11.45 2.45 11 3 11H21C21.55 11 22 11.45 22 12V18C22 18.55 21.55 19 21 19H20L21 22H19L18 19H6L5 22H3M13 13V17H20V13H13M4 13V17H11V13H4Z\";\r\nexport var mdiBug = \"M14,12H10V10H14M14,16H10V14H14M20,8H17.19C16.74,7.22 16.12,6.55 15.37,6.04L17,4.41L15.59,3L13.42,5.17C12.96,5.06 12.5,5 12,5C11.5,5 11.04,5.06 10.59,5.17L8.41,3L7,4.41L8.62,6.04C7.88,6.55 7.26,7.22 6.81,8H4V10H6.09C6.04,10.33 6,10.66 6,11V12H4V14H6V15C6,15.34 6.04,15.67 6.09,16H4V18H6.81C7.85,19.79 9.78,21 12,21C14.22,21 16.15,19.79 17.19,18H20V16H17.91C17.96,15.67 18,15.34 18,15V14H20V12H18V11C18,10.66 17.96,10.33 17.91,10H20V8Z\";\r\nexport var mdiBugCheck = \"M18,7H15.19C14.74,6.2 14.12,5.5 13.37,5L15,3.41L13.59,2L11.42,4.17C10.96,4.06 10.5,4 10,4C9.5,4 9.05,4.06 8.59,4.17L6.41,2L5,3.41L6.62,5C5.87,5.5 5.26,6.21 4.81,7H2V9H4.09C4.03,9.33 4,9.66 4,10V11H2V13H4V14C4,14.34 4.03,14.67 4.09,15H2V17H4.81C6.26,19.5 9.28,20.61 12,19.65C12,19.43 12,19.22 12,19C12,16.46 13.61,14.2 16,13.35V13H18V11H16V10C16,9.66 15.97,9.33 15.91,9H18V7M12,15H8V13H12V15M12,11H8V9H12V11M17.75,22.16L15,19.16L16.16,18L17.75,19.59L21.34,16L22.5,17.41L17.75,22.16Z\";\r\nexport var mdiBugCheckOutline = \"M18,7H15.19C14.74,6.2 14.12,5.5 13.37,5L15,3.41L13.59,2L11.42,4.17C10.96,4.06 10.5,4 10,4C9.5,4 9.05,4.06 8.59,4.17L6.41,2L5,3.41L6.62,5C5.87,5.5 5.26,6.21 4.81,7H2V9H4.09C4.03,9.33 4,9.66 4,10V11H2V13H4V14C4,14.34 4.03,14.67 4.09,15H2V17H4.81C6.26,19.5 9.28,20.61 12,19.65C12,19.43 12,19.22 12,19C12,18.43 12.09,17.86 12.25,17.31C11.59,17.76 10.8,18 10,18A4,4 0 0,1 6,14V10A4,4 0 0,1 10,6A4,4 0 0,1 14,10V14C14,14.19 14,14.39 13.95,14.58C14.54,14.04 15.24,13.62 16,13.35V13H18V11H16V10C16,9.66 15.97,9.33 15.91,9H18V7M21.34,16L17.75,19.59L16.16,18L15,19.16L17.75,22.16L22.5,17.41L21.34,16M12,9V11H8V9H12M12,13V15H8V13H12Z\";\r\nexport var mdiBugOutline = \"M20,8H17.19C16.74,7.2 16.12,6.5 15.37,6L17,4.41L15.59,3L13.42,5.17C12.96,5.06 12.5,5 12,5C11.5,5 11.05,5.06 10.59,5.17L8.41,3L7,4.41L8.62,6C7.87,6.5 7.26,7.21 6.81,8H4V10H6.09C6.03,10.33 6,10.66 6,11V12H4V14H6V15C6,15.34 6.03,15.67 6.09,16H4V18H6.81C8.47,20.87 12.14,21.84 15,20.18C15.91,19.66 16.67,18.9 17.19,18H20V16H17.91C17.97,15.67 18,15.34 18,15V14H20V12H18V11C18,10.66 17.97,10.33 17.91,10H20V8M16,15A4,4 0 0,1 12,19A4,4 0 0,1 8,15V11A4,4 0 0,1 12,7A4,4 0 0,1 16,11V15M14,10V12H10V10H14M10,14H14V16H10V14Z\";\r\nexport var mdiBugle = \"M21,6C21,11 12,11 12,11C12,11 6,11 5,11C4,11 3,10 3,10H2V14H3C3,14 4,13 5,13C5.2,13 5.7,13 6.3,13C5.5,13.5 5,14.2 5,15C5,16.8 7.3,18 10.5,18C13.7,18 16,16.8 16,15C16,14.4 15.7,13.8 15.2,13.3C17.8,13.8 21,15 21,18H22V6H21M10.5,16.7C8.2,16.7 6.4,15.9 6.4,15C6.4,14.1 8.2,13.3 10.5,13.3C12.8,13.3 14.6,14.1 14.6,15C14.6,15.9 12.8,16.7 10.5,16.7Z\";\r\nexport var mdiBulldozer = \"M4,4A1,1 0 0,0 3,5V10C2.54,10 2.14,10.31 2.03,10.76V13.97H2.29C2.65,13.37 3.3,13 4,13H13C13.7,13 14.35,13.37 14.71,13.97H16.03L16,11V11A1,1 0 0,0 15,10H13V8A1,1 0 0,0 12,7A1,1 0 0,0 11,8V10H9V5A1,1 0 0,0 8,4H4M5,6H7V10L7,11H5V6M17,11V19H22V18L19,17L18,11H17M4,15A2,2 0 0,0 2,17A2,2 0 0,0 4,19H13A2,2 0 0,0 15,17A2,2 0 0,0 13,15H4Z\";\r\nexport var mdiBullet = \"M14,22H10V21H14V22M13,10V7H11V10L10,11.5V20H14V11.5L13,10M12,2C12,2 11,3 11,5V6H13V5C13,5 13,3 12,2Z\";\r\nexport var mdiBulletinBoard = \"M12.04,2.5L9.53,5H14.53L12.04,2.5M4,7V20H20V7H4M12,0L17,5V5H20A2,2 0 0,1 22,7V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V7A2,2 0 0,1 4,5H7V5L12,0M7,18V14H12V18H7M14,17V10H18V17H14M6,12V9H11V12H6Z\";\r\nexport var mdiBullhorn = \"M12,8H4A2,2 0 0,0 2,10V14A2,2 0 0,0 4,16H5V20A1,1 0 0,0 6,21H8A1,1 0 0,0 9,20V16H12L17,20V4L12,8M21.5,12C21.5,13.71 20.54,15.26 19,16V8C20.53,8.75 21.5,10.3 21.5,12Z\";\r\nexport var mdiBullhornOutline = \"M12,8H4A2,2 0 0,0 2,10V14A2,2 0 0,0 4,16H5V20A1,1 0 0,0 6,21H8A1,1 0 0,0 9,20V16H12L17,20V4L12,8M15,15.6L13,14H4V10H13L15,8.4V15.6M21.5,12C21.5,13.71 20.54,15.26 19,16V8C20.53,8.75 21.5,10.3 21.5,12Z\";\r\nexport var mdiBullseye = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4M12,6A6,6 0 0,0 6,12A6,6 0 0,0 12,18A6,6 0 0,0 18,12A6,6 0 0,0 12,6M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\r\nexport var mdiBullseyeArrow = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,10.84 21.79,9.69 21.39,8.61L19.79,10.21C19.93,10.8 20,11.4 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.6,4 13.2,4.07 13.79,4.21L15.4,2.6C14.31,2.21 13.16,2 12,2M19,2L15,6V7.5L12.45,10.05C12.3,10 12.15,10 12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12C14,11.85 14,11.7 13.95,11.55L16.5,9H18L22,5H19V2M12,6A6,6 0 0,0 6,12A6,6 0 0,0 12,18A6,6 0 0,0 18,12H16A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8V6Z\";\r\nexport var mdiBulma = \"M11.38 2L6.38 7L5.13 15.75L11.38 22L18.88 17L13.88 12L17.63 8.25L11.38 2Z\";\r\nexport var mdiBunkBed = \"M1 2V23H3V21H21V23H23V7C23 4.79 21.21 3 19 3H10V8H3V2M6.5 2A2.5 2.5 0 0 0 4 4.5A2.5 2.5 0 0 0 6.5 7A2.5 2.5 0 0 0 9 4.5A2.5 2.5 0 0 0 6.5 2M3 11H21V13.56C20.41 13.21 19.73 13 19 13H10V18H3M6.5 12A2.5 2.5 0 0 0 4 14.5A2.5 2.5 0 0 0 6.5 17A2.5 2.5 0 0 0 9 14.5A2.5 2.5 0 0 0 6.5 12Z\";\r\nexport var mdiBunkBedOutline = \"M1 2H3V9H10V3H19C21.2 3 23 4.8 23 7V23H21V21H3V23H1V2M12 5V9H21V7C21 5.9 20.1 5 19 5H12M3 11V19H10V13H19C19.7 13 20.4 13.2 21 13.6V11H3M6.5 13C7.9 13 9 14.1 9 15.5S7.9 18 6.5 18 4 16.9 4 15.5 5.1 13 6.5 13M6.5 14.6C6 14.6 5.6 15 5.6 15.5S6 16.4 6.5 16.4 7.4 16 7.4 15.5 7 14.6 6.5 14.6M12 15V19H21V17C21 15.9 20.1 15 19 15H12M6.5 3C7.9 3 9 4.1 9 5.5S7.9 8 6.5 8 4 6.9 4 5.5 5.1 3 6.5 3M6.5 4.6C6 4.6 5.6 5 5.6 5.5S6 6.4 6.5 6.4 7.4 6 7.4 5.5 7 4.6 6.5 4.6Z\";\r\nexport var mdiBus = \"M18,11H6V6H18M16.5,17A1.5,1.5 0 0,1 15,15.5A1.5,1.5 0 0,1 16.5,14A1.5,1.5 0 0,1 18,15.5A1.5,1.5 0 0,1 16.5,17M7.5,17A1.5,1.5 0 0,1 6,15.5A1.5,1.5 0 0,1 7.5,14A1.5,1.5 0 0,1 9,15.5A1.5,1.5 0 0,1 7.5,17M4,16C4,16.88 4.39,17.67 5,18.22V20A1,1 0 0,0 6,21H7A1,1 0 0,0 8,20V19H16V20A1,1 0 0,0 17,21H18A1,1 0 0,0 19,20V18.22C19.61,17.67 20,16.88 20,16V6C20,2.5 16.42,2 12,2C7.58,2 4,2.5 4,6V16Z\";\r\nexport var mdiBusAlert = \"M16,1A7,7 0 0,1 23,8C23,11.53 20.39,14.45 17,14.93V18C17,18.84 16.65,19.58 15.96,20.2V22C15.96,22.27 15.87,22.5 15.68,22.71C15.5,22.91 15.26,23 15,23H14C13.71,23 13.47,22.91 13.27,22.71C13.06,22.5 12.96,22.27 12.96,22V21H5.04V22C5.04,22.27 4.94,22.5 4.73,22.71C4.53,22.91 4.29,23 4,23H3C2.74,23 2.5,22.91 2.32,22.71C2.13,22.5 2.04,22.27 2.04,22V20.2C1.35,19.58 1,18.84 1,18V8C1,6.42 1.7,5.35 3.07,4.8C4.44,4.26 6.42,4 9,4L10.23,4.03C11.5,2.2 13.61,1 16,1M16,3A5,5 0 0,0 11,8A5,5 0 0,0 16,13A5,5 0 0,0 21,8A5,5 0 0,0 16,3M15,10H17V12H15V10M15,4H17V9H15V4M3,13H11.09C9.8,11.72 9,9.96 9,8H3V13M4.5,16C3.69,16 3,16.67 3,17.5A1.5,1.5 0 0,0 4.5,19C5.35,19 6,18.33 6,17.5A1.5,1.5 0 0,0 4.5,16M13.5,16C12.65,16 12,16.67 12,17.5A1.5,1.5 0 0,0 13.5,19C14.31,19 15,18.33 15,17.5A1.5,1.5 0 0,0 13.5,16Z\";\r\nexport var mdiBusArticulatedEnd = \"M21.5,6L20,7.5L21.5,9L20,10.5L21.5,12L20,13.5L21.5,15H12.5A3,3 0 0,1 9.5,18A3,3 0 0,1 6.5,15H2.5V8C2.5,6.89 3.39,6 4.5,6H21.5M18.5,7.5H15V10H18.5V7.5M13.5,7.5H9.5V10H13.5V7.5M8,7.5H4V10H8V7.5M9.5,13.5A1.5,1.5 0 0,0 8,15A1.5,1.5 0 0,0 9.5,16.5A1.5,1.5 0 0,0 11,15A1.5,1.5 0 0,0 9.5,13.5Z\";\r\nexport var mdiBusArticulatedFront = \"M1,6L2.5,7.5L1,9L2.5,10.5L1,12L2.5,13.5L1,15H3A3,3 0 0,0 6,18A3,3 0 0,0 9,15H15A3,3 0 0,0 18,18A3,3 0 0,0 21,15H23V8C23,6.89 22.11,6 21,6H1M4,7.5H6.5V10H4V7.5M8,7.5H12V10H8V7.5M13.5,7.5H17.5V10H13.5V7.5M19,7.5H21.5V13L19,11V7.5M6,13.5A1.5,1.5 0 0,1 7.5,15A1.5,1.5 0 0,1 6,16.5A1.5,1.5 0 0,1 4.5,15A1.5,1.5 0 0,1 6,13.5M18,13.5A1.5,1.5 0 0,1 19.5,15A1.5,1.5 0 0,1 18,16.5A1.5,1.5 0 0,1 16.5,15A1.5,1.5 0 0,1 18,13.5Z\";\r\nexport var mdiBusClock = \"M16.5,4V8.25L19.36,9.94L18.61,11.16L15,9V4H16.5M16,13C17.36,13 18.54,12.5 19.5,11.53C20.5,10.56 21,9.39 21,8C21,6.64 20.5,5.46 19.5,4.5C18.54,3.5 17.36,3 16,3C14.61,3 13.44,3.5 12.47,4.5C11.5,5.46 11,6.64 11,8C11,9.39 11.5,10.56 12.47,11.53C13.44,12.5 14.61,13 16,13M13.5,19C13.94,19 14.3,18.84 14.58,18.54C14.86,18.24 15,17.89 15,17.5C15,17.08 14.86,16.73 14.58,16.43C14.3,16.13 13.94,16 13.5,16C13.06,16 12.7,16.13 12.42,16.43C12.14,16.73 12,17.08 12,17.5C12,17.89 12.14,18.24 12.42,18.54C12.7,18.84 13.06,19 13.5,19M3,13H11.11C9.7,11.64 9,10 9,8H3V13M4.5,19C4.94,19 5.3,18.84 5.58,18.54C5.86,18.24 6,17.89 6,17.5C6,17.08 5.86,16.73 5.58,16.43C5.3,16.13 4.94,16 4.5,16C4.06,16 3.7,16.13 3.42,16.43C3.14,16.73 3,17.08 3,17.5C3,17.89 3.14,18.24 3.42,18.54C3.7,18.84 4.06,19 4.5,19M16,1C17.92,1 19.58,1.67 20.95,3.05C22.33,4.42 23,6.08 23,8C23,9.77 22.44,11.29 21.28,12.59C20.13,13.88 18.7,14.66 17,14.91V18C17,18.84 16.67,19.58 16,20.2V22C16,22.27 15.89,22.5 15.7,22.71C15.5,22.91 15.28,23 15,23H14C13.73,23 13.5,22.91 13.29,22.71C13.09,22.5 13,22.27 13,22V21H5V22C5,22.27 4.91,22.5 4.71,22.71C4.5,22.91 4.27,23 4,23H3C2.72,23 2.5,22.91 2.3,22.71C2.11,22.5 2,22.27 2,22V20.2C1.33,19.58 1,18.84 1,18V8C1,6.42 1.67,5.35 3.05,4.8C4.42,4.26 6.41,4 9,4C9.13,4 9.33,4 9.61,4C9.89,4 10.09,4.03 10.22,4.03C11.63,2 13.55,1 16,1Z\";\r\nexport var mdiBusDoubleDecker = \"M3,4C1.89,4 1,4.89 1,6V17H3A3,3 0 0,0 6,20A3,3 0 0,0 9,17H15A3,3 0 0,0 18,20A3,3 0 0,0 21,17H23V14C23,12.89 22.11,12 21,12H19V9.5H23V6C23,4.89 22.11,4 21,4H3M2.5,5.5H6.5V8H2.5V5.5M8,5.5H12V8H8V5.5M13.5,5.5H17.5V8H13.5V5.5M19,5.5H21.5V8H19V5.5M13.5,9.5H17.5V12H13.5V9.5M2.5,9.5H6.5V12H2.5V9.5M8,9.5H12V12H8V9.5M6,15.5A1.5,1.5 0 0,1 7.5,17A1.5,1.5 0 0,1 6,18.5A1.5,1.5 0 0,1 4.5,17A1.5,1.5 0 0,1 6,15.5M18,15.5A1.5,1.5 0 0,1 19.5,17A1.5,1.5 0 0,1 18,18.5A1.5,1.5 0 0,1 16.5,17A1.5,1.5 0 0,1 18,15.5Z\";\r\nexport var mdiBusMarker = \"M12 2C7.58 2 4 2.5 4 6V16A3 3 0 0 0 5 18.22V20A1 1 0 0 0 6 21H7A1 1 0 0 0 8 20V19H14A8 8 0 0 1 13 15.5A5.55 5.55 0 0 1 15.38 11H6V6H18V10A4.07 4.07 0 0 1 18.5 10A5.34 5.34 0 0 1 20 10.22V6C20 2.5 16.42 2 12 2M7.5 14A1.5 1.5 0 1 1 6 15.5A1.5 1.5 0 0 1 7.5 14M18.5 12A3.54 3.54 0 0 0 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5A3.54 3.54 0 0 0 18.5 12M18.5 16.8A1.2 1.2 0 1 1 18.5 14.4A1.29 1.29 0 0 1 19.7 15.6A1.15 1.15 0 0 1 18.5 16.8Z\";\r\nexport var mdiBusMultiple = \"M10 5C5.58 5 2 5.5 2 9V19C2 19.85 2.37 20.66 3 21.22V23C3 23.55 3.45 24 4 24H5C5.55 24 6 23.55 6 23V22H14V23C14 23.55 14.45 24 15 24H16C16.55 24 17 23.55 17 23V21.22C17.63 20.66 18 19.85 18 19V9C18 5.5 14.42 5 10 5M5.5 20C4.67 20 4 19.33 4 18.5S4.67 17 5.5 17 7 17.67 7 18.5 6.33 20 5.5 20M14.5 20C13.67 20 13 19.33 13 18.5S13.67 17 14.5 17 16 17.67 16 18.5 15.33 20 14.5 20M16 14H4V9H16V14M22 5V15C22 15.85 21.63 16.66 21 17.22V19C21 19.55 20.55 20 20 20H19.88C19.95 19.68 20 19.35 20 19V9C20 3 13 3 10 3C9.09 3 7.8 3 6.46 3.17C7.55 1.32 10.5 1 14 1C18.42 1 22 1.5 22 5Z\";\r\nexport var mdiBusSchool = \"M3,6C1.89,6 1,6.89 1,8V15H3A3,3 0 0,0 6,18A3,3 0 0,0 9,15H15A3,3 0 0,0 18,18A3,3 0 0,0 21,15H23V12C23,10.89 22.11,10 21,10H19V8C19,6.89 18.11,6 17,6H3M13.5,7.5H17.5V10H13.5V7.5M2.5,7.5H6.5V10H2.5V7.5M8,7.5H12V10H8V7.5M6,13.5A1.5,1.5 0 0,1 7.5,15A1.5,1.5 0 0,1 6,16.5A1.5,1.5 0 0,1 4.5,15A1.5,1.5 0 0,1 6,13.5M18,13.5A1.5,1.5 0 0,1 19.5,15A1.5,1.5 0 0,1 18,16.5A1.5,1.5 0 0,1 16.5,15A1.5,1.5 0 0,1 18,13.5Z\";\r\nexport var mdiBusSide = \"M3,6C1.89,6 1,6.89 1,8V15H3A3,3 0 0,0 6,18A3,3 0 0,0 9,15H15A3,3 0 0,0 18,18A3,3 0 0,0 21,15H23V8C23,6.89 22.11,6 21,6H3M2.5,7.5H6.5V10H2.5V7.5M8,7.5H12V10H8V7.5M13.5,7.5H17.5V10H13.5V7.5M19,7.5H21.5V13L19,11V7.5M6,13.5A1.5,1.5 0 0,1 7.5,15A1.5,1.5 0 0,1 6,16.5A1.5,1.5 0 0,1 4.5,15A1.5,1.5 0 0,1 6,13.5M18,13.5A1.5,1.5 0 0,1 19.5,15A1.5,1.5 0 0,1 18,16.5A1.5,1.5 0 0,1 16.5,15A1.5,1.5 0 0,1 18,13.5Z\";\r\nexport var mdiBusStop = \"M22 7V16C22 16.71 21.62 17.36 21 17.72V19.25C21 19.66 20.66 20 20.25 20H19.75C19.34 20 19 19.66 19 19.25V18H12V19.25C12 19.66 11.66 20 11.25 20H10.75C10.34 20 10 19.66 10 19.25V17.72C9.39 17.36 9 16.71 9 16V7C9 4 12 4 15.5 4S22 4 22 7M13 15C13 14.45 12.55 14 12 14S11 14.45 11 15 11.45 16 12 16 13 15.55 13 15M20 15C20 14.45 19.55 14 19 14S18 14.45 18 15 18.45 16 19 16 20 15.55 20 15M20 7H11V11H20V7M7 9.5C6.97 8.12 5.83 7 4.45 7.05C3.07 7.08 1.97 8.22 2 9.6C2.03 10.77 2.86 11.77 4 12V20H5V12C6.18 11.76 7 10.71 7 9.5Z\";\r\nexport var mdiBusStopCovered = \"M20 3H7V2H6A1.78 1.78 0 0 0 4.59 3H2V5H3.73C2 10.58 2 22 2 22H7V5H20M22 8.5A2.5 2.5 0 1 0 19 11V22H20V11A2.5 2.5 0 0 0 22 8.5M15 11.5V16H14V22H12.5V17H11.5V22H10V16H9V11.5A1.5 1.5 0 0 1 10.5 10H13.5A1.5 1.5 0 0 1 15 11.5M12 6.5A1.5 1.5 0 1 0 13.5 8A1.5 1.5 0 0 0 12 6.5Z\";\r\nexport var mdiBusStopUncovered = \"M6 22V19H4V22H2V14A1 1 0 0 1 3 13A1 1 0 0 1 4 14V17H7A1 1 0 0 1 8 18V22M20 11V22H19V11A2.5 2.5 0 1 1 20 11M15 11.55V16H14V22H12.5V17H11.5V22H10V16H9V11.5A1.5 1.5 0 0 1 10.5 10H13.5A1.5 1.5 0 0 1 15 11.5M12 6.55A1.5 1.5 0 1 0 13.5 8A1.5 1.5 0 0 0 12 6.5Z\";\r\nexport var mdiButterfly = \"M13 21H11V6L9.03 3.97L10 3L12 5L14 3L15 4L13 6V21M7 6C4.24 6 2 8.24 2 11C2 12.64 2.79 14.09 4 15H4V17C4 19.21 5.79 21 8 21C8.72 21 9.39 20.81 9.97 20.5L10 20.46V7C9.16 6.37 8.13 6 7 6M6.5 12.5L5 11L6.5 9.5L8 11L6.5 12.5M22 11C22 8.24 19.76 6 17 6C15.88 6 14.85 6.37 14 7L14 7V20.46C14.59 20.81 15.27 21 16 21C18.21 21 20 19.21 20 17V15H20C21.21 14.09 22 12.64 22 11M17.5 12.5L16 11L17.5 9.5L19 11L17.5 12.5Z\";\r\nexport var mdiButterflyOutline = \"M13 21H11V6L9.03 3.97L10 3L12 5L14 3L15 4L13 6V21M14 9H14V7C14.84 6.37 15.88 6 17 6C19.76 6 22 8.24 22 11C22 12.64 21.21 14.09 20 15H20V17C20 19.21 18.21 21 16 21C15.27 21 14.59 20.81 14 20.46V18.46C14.59 18.81 15.27 19 16 19C17.1 19 18 18.1 18 17V13.83C19.17 13.42 20 12.31 20 11C20 9.35 18.67 8 17 8H17C15.88 8 14.84 8.37 14 9M10 9H10C9.16 8.37 8.13 8 7 8H7C5.33 8 4 9.35 4 11C4 12.31 4.84 13.42 6 13.83V17C6 18.1 6.9 19 8 19C8.73 19 9.41 18.81 10 18.46V20.46C9.41 20.81 8.73 21 8 21C5.79 21 4 19.21 4 17V15H4C2.79 14.09 2 12.64 2 11C2 8.24 4.24 6 7 6C8.13 6 9.16 6.37 10 7V9M9 11L7.5 9.5L6 11L7.5 12.5L9 11M18 11L16.5 9.5L15 11L16.5 12.5L18 11Z\";\r\nexport var mdiCableData = \"M7.05 3.5C5.68 4.88 5.68 7.1 7.05 8.47L15.54 16.95C16.12 17.54 16.12 18.5 15.54 19.07C14.95 19.66 14 19.66 13.41 19.07L9.17 14.83L10.23 13.77L6.7 10.23L6.34 10.59L4.93 9.17C4.54 8.78 3.91 8.78 3.5 9.17L2.1 10.59C1.71 11 1.71 11.61 2.1 12L3.5 13.41L3.16 13.77L6.7 17.3L7.76 16.24L12 20.5C13.37 21.85 15.58 21.85 16.95 20.5C18.32 19.12 18.32 16.9 16.95 15.54L8.46 7.05C7.88 6.46 7.88 5.5 8.46 4.93C9.05 4.34 10 4.34 10.59 4.93L14.83 9.17L13.77 10.23L17.3 13.77L17.66 13.41L19.07 14.83C19.46 15.22 20.1 15.22 20.5 14.83L21.9 13.41C22.29 13 22.29 12.39 21.9 12L20.5 10.59L20.84 10.23L17.3 6.7L16.24 7.76L12 3.5C10.63 2.15 8.42 2.15 7.05 3.5M2.81 11.29L4.22 9.88L5.64 11.29L4.22 12.71M18.36 12.71L19.78 11.29L21.19 12.71L19.78 14.12Z\";\r\nexport var mdiCached = \"M19,8L15,12H18A6,6 0 0,1 12,18C11,18 10.03,17.75 9.2,17.3L7.74,18.76C8.97,19.54 10.43,20 12,20A8,8 0 0,0 20,12H23M6,12A6,6 0 0,1 12,6C13,6 13.97,6.25 14.8,6.7L16.26,5.24C15.03,4.46 13.57,4 12,4A8,8 0 0,0 4,12H1L5,16L9,12\";\r\nexport var mdiCactus = \"M14,16V21H10V18H9A3,3 0 0,1 6,15V12A1,1 0 0,1 7,11A1,1 0 0,1 8,12V15C8,15.56 8.45,16 9,16H10V6A2,2 0 0,1 12,4A2,2 0 0,1 14,6V14H15A1,1 0 0,0 16,13V11A1,1 0 0,1 17,10A1,1 0 0,1 18,11V13A3,3 0 0,1 15,16H14Z\";\r\nexport var mdiCake = \"M11.5,0.5C12,0.75 13,2.4 13,3.5C13,4.6 12.33,5 11.5,5C10.67,5 10,4.85 10,3.75C10,2.65 11,2 11.5,0.5M18.5,9C21,9 23,11 23,13.5C23,15.06 22.21,16.43 21,17.24V23H12L3,23V17.24C1.79,16.43 1,15.06 1,13.5C1,11 3,9 5.5,9H10V6H13V9H18.5M12,16A2.5,2.5 0 0,0 14.5,13.5H16A2.5,2.5 0 0,0 18.5,16A2.5,2.5 0 0,0 21,13.5A2.5,2.5 0 0,0 18.5,11H5.5A2.5,2.5 0 0,0 3,13.5A2.5,2.5 0 0,0 5.5,16A2.5,2.5 0 0,0 8,13.5H9.5A2.5,2.5 0 0,0 12,16Z\";\r\nexport var mdiCakeLayered = \"M21,21V17C21,15.89 20.1,15 19,15H18V12C18,10.89 17.1,10 16,10H13V8H11V10H8C6.89,10 6,10.89 6,12V15H5C3.89,15 3,15.89 3,17V21H1V23H23V21M12,7A2,2 0 0,0 14,5C14,4.62 13.9,4.27 13.71,3.97L12,1L10.28,3.97C10.1,4.27 10,4.62 10,5A2,2 0 0,0 12,7Z\";\r\nexport var mdiCakeVariant = \"M12,6C13.11,6 14,5.1 14,4C14,3.62 13.9,3.27 13.71,2.97L12,0L10.29,2.97C10.1,3.27 10,3.62 10,4A2,2 0 0,0 12,6M16.6,16L15.53,14.92L14.45,16C13.15,17.29 10.87,17.3 9.56,16L8.5,14.92L7.4,16C6.75,16.64 5.88,17 4.96,17C4.23,17 3.56,16.77 3,16.39V21A1,1 0 0,0 4,22H20A1,1 0 0,0 21,21V16.39C20.44,16.77 19.77,17 19.04,17C18.12,17 17.25,16.64 16.6,16M18,9H13V7H11V9H6A3,3 0 0,0 3,12V13.54C3,14.62 3.88,15.5 4.96,15.5C5.5,15.5 6,15.3 6.34,14.93L8.5,12.8L10.61,14.93C11.35,15.67 12.64,15.67 13.38,14.93L15.5,12.8L17.65,14.93C18,15.3 18.5,15.5 19.03,15.5C20.11,15.5 21,14.62 21,13.54V12A3,3 0 0,0 18,9Z\";\r\nexport var mdiCakeVariantOutline = \"M12 6C13.11 6 14 5.1 14 4C14 3.62 13.9 3.27 13.71 2.97L12 0L10.29 2.97C10.1 3.27 10 3.62 10 4C10 5.1 10.9 6 12 6M18 9H13V7H11V9H6C4.34 9 3 10.34 3 12V21C3 21.55 3.45 22 4 22H20C20.55 22 21 21.55 21 21V12C21 10.34 19.66 9 18 9M19 20H5V17C5.9 17 6.76 16.63 7.4 16L8.5 14.92L9.56 16C10.87 17.3 13.15 17.29 14.45 16L15.53 14.92L16.6 16C17.24 16.63 18.1 17 19 17V20M19 15.5C18.5 15.5 18 15.3 17.65 14.93L15.5 12.8L13.38 14.93C12.64 15.67 11.35 15.67 10.61 14.93L8.5 12.8L6.34 14.93C6 15.29 5.5 15.5 5 15.5V12C5 11.45 5.45 11 6 11H18C18.55 11 19 11.45 19 12V15.5Z\";\r\nexport var mdiCalculator = \"M7,2H17A2,2 0 0,1 19,4V20A2,2 0 0,1 17,22H7A2,2 0 0,1 5,20V4A2,2 0 0,1 7,2M7,4V8H17V4H7M7,10V12H9V10H7M11,10V12H13V10H11M15,10V12H17V10H15M7,14V16H9V14H7M11,14V16H13V14H11M15,14V16H17V14H15M7,18V20H9V18H7M11,18V20H13V18H11M15,18V20H17V18H15Z\";\r\nexport var mdiCalculatorVariant = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M13 7.1L14.1 6L15.5 7.4L16.9 6L18 7.1L16.6 8.5L18 9.9L16.9 11L15.5 9.6L14.1 11L13 9.9L14.4 8.5L13 7.1M6.2 7.7H11.2V9.2H6.2V7.7M11.5 16H9.5V18H8V16H6V14.5H8V12.5H9.5V14.5H11.5V16M18 17.2H13V15.7H18V17.2M18 14.8H13V13.3H18V14.8Z\";\r\nexport var mdiCalculatorVariantOutline = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M19 19H5V5H19V19M6.2 7.7H11.2V9.2H6.2V7.7M13 15.8H18V17.3H13V15.8M13 13.2H18V14.7H13V13.2M8 18H9.5V16H11.5V14.5H9.5V12.5H8V14.5H6V16H8V18M14.1 10.9L15.5 9.5L16.9 10.9L18 9.9L16.6 8.5L18 7.1L16.9 6L15.5 7.4L14.1 6L13 7.1L14.4 8.5L13 9.9L14.1 10.9Z\";\r\nexport var mdiCalendar = \"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1M17,12H12V17H17V12Z\";\r\nexport var mdiCalendarAccount = \"M12,10C14,10 15,12.42 13.59,13.84C12.17,15.26 9.75,14.25 9.75,12.25C9.75,11 10.75,10 12,10M16.5,19H7.5V17.88C7.5,16.63 9.5,15.63 12,15.63C14.5,15.63 16.5,16.63 16.5,17.88M19,20H5V9H19M16,2V4H8V2H6V4H5A2,2 0 0,0 3,6V20A2,2 0 0,0 5,22H19A2,2 0 0,0 21,20V6A2,2 0 0,0 19,4H18V2H16Z\";\r\nexport var mdiCalendarAccountOutline = \"M19,4H18V2H16V4H8V2H6V4H5A2,2 0 0,0 3,6V20A2,2 0 0,0 5,22H19A2,2 0 0,0 21,20V6A2,2 0 0,0 19,4M19,20H5V10H19V20M19,8H5V6H19M12,11C14,11 15,13.42 13.59,14.84C12.17,16.26 9.75,15.25 9.75,13.25C9.75,12 10.75,11 12,11M16.5,18.88V19H7.5V18.88C7.5,17.63 9.5,16.63 12,16.63C14.5,16.63 16.5,17.63 16.5,18.88Z\";\r\nexport var mdiCalendarAlert = \"M6 1V3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3H18V1H16V3H8V1H6M5 8H19V19H5V7M11 9V14H13V9H11M11 16V18H13V16H11Z\";\r\nexport var mdiCalendarArrowLeft = \"M19 3H18V1H16V3H8V1H6V3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.89 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.89 20.1 3 19 3M19 19H5V8H19V19M12 10V12H16V15H12V17L8 13.5L12 10Z\";\r\nexport var mdiCalendarArrowRight = \"M19 3H18V1H16V3H8V1H6V3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.89 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.89 20.1 3 19 3M19 19H5V8H19V19M12 17V15H8V12H12V10L16 13.5L12 17Z\";\r\nexport var mdiCalendarBlank = \"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1\";\r\nexport var mdiCalendarBlankMultiple = \"M21 17V8H7V17H21M21 3C22.1 3 23 3.9 23 5V17C23 18.1 22.1 19 21 19H7C5.89 19 5 18.1 5 17V5C5 3.9 5.9 3 7 3H8V1H10V3H18V1H20V3H21M3 21H17V23H3C1.89 23 1 22.1 1 21V9H3V21Z\";\r\nexport var mdiCalendarBlankOutline = \"M19,4H18V2H16V4H8V2H6V4H5C3.89,4 3,4.9 3,6V20A2,2 0 0,0 5,22H19A2,2 0 0,0 21,20V6A2,2 0 0,0 19,4M19,20H5V10H19V20M19,8H5V6H19V8Z\";\r\nexport var mdiCalendarCheck = \"M19,19H5V8H19M19,3H18V1H16V3H8V1H6V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M16.53,11.06L15.47,10L10.59,14.88L8.47,12.76L7.41,13.82L10.59,17L16.53,11.06Z\";\r\nexport var mdiCalendarCheckOutline = \"M19,4H18V2H16V4H8V2H6V4H5A2,2 0 0,0 3,6V20A2,2 0 0,0 5,22H19A2,2 0 0,0 21,20V6A2,2 0 0,0 19,4M19,20H5V10H19V20M5,8V6H19V8H5M10.56,18.46L16.5,12.53L15.43,11.47L10.56,16.34L8.45,14.23L7.39,15.29L10.56,18.46Z\";\r\nexport var mdiCalendarClock = \"M15,13H16.5V15.82L18.94,17.23L18.19,18.53L15,16.69V13M19,8H5V19H9.67C9.24,18.09 9,17.07 9,16A7,7 0 0,1 16,9C17.07,9 18.09,9.24 19,9.67V8M5,21C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H6V1H8V3H16V1H18V3H19A2,2 0 0,1 21,5V11.1C22.24,12.36 23,14.09 23,16A7,7 0 0,1 16,23C14.09,23 12.36,22.24 11.1,21H5M16,11.15A4.85,4.85 0 0,0 11.15,16C11.15,18.68 13.32,20.85 16,20.85A4.85,4.85 0 0,0 20.85,16C20.85,13.32 18.68,11.15 16,11.15Z\";\r\nexport var mdiCalendarClockOutline = \"M6 1V3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.89 21 5 21H11.1C12.36 22.24 14.09 23 16 23C19.87 23 23 19.87 23 16C23 14.09 22.24 12.36 21 11.1V5C21 3.9 20.11 3 19 3H18V1H16V3H8V1M5 5H19V7H5M5 9H19V9.67C18.09 9.24 17.07 9 16 9C12.13 9 9 12.13 9 16C9 17.07 9.24 18.09 9.67 19H5M16 11.15C18.68 11.15 20.85 13.32 20.85 16C20.85 18.68 18.68 20.85 16 20.85C13.32 20.85 11.15 18.68 11.15 16C11.15 13.32 13.32 11.15 16 11.15M15 13V16.69L18.19 18.53L18.94 17.23L16.5 15.82V13Z\";\r\nexport var mdiCalendarCursor = \"M21.7 20.26L20.29 21.67L17.06 18.5L16 20.97L14 14L21 16L18.47 17.03L21.7 20.26M19 8H5V19H13.41L13.97 21H5C3.89 21 3 20.1 3 19L3 5C3 3.9 3.89 3 5 3H6V1H8V3H16V1H18V3H19C20.1 3 21 3.9 21 5V13.95L19 13.35V8M12 10V15H7V10H12Z\";\r\nexport var mdiCalendarEdit = \"M19,3H18V1H16V3H8V1H6V3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H10V19H5V8H19V9H21V5A2,2 0 0,0 19,3M21.7,13.35L20.7,14.35L18.65,12.35L19.65,11.35C19.85,11.14 20.19,11.13 20.42,11.35L21.7,12.63C21.89,12.83 21.89,13.15 21.7,13.35M12,18.94L18.07,12.88L20.12,14.88L14.06,21H12V18.94Z\";\r\nexport var mdiCalendarEnd = \"M22 14V22H20V18L16 22V19H11V17H16V14L20 18V14H22M5 19L9 19V21L5 21C3.9 21 3 20.1 3 19V5C3 3.89 3.9 3 5 3H6V.998H8V3H16V.998H18V3H19C20.11 3 21 3.89 21 5L21 12H19V8H5V19Z\";\r\nexport var mdiCalendarExport = \"M12,22L16,18H13V12H11V18H8M19,4H18V2H16V4H8V2H6V4H5A2,2 0 0,0 3,6V20A2,2 0 0,0 5,22H8V20H5V9H19V20H16V22H19A2,2 0 0,0 21,20V6A2,2 0 0,0 19,4Z\";\r\nexport var mdiCalendarHeart = \"M19,20V9H5V20H19M16,2H18V4H19A2,2 0 0,1 21,6V20A2,2 0 0,1 19,22H5A2,2 0 0,1 3,20V6A2,2 0 0,1 5,4H6V2H8V4H16V2M12,18.17L11.42,17.64C9.36,15.77 8,14.54 8,13.03C8,11.8 8.97,10.83 10.2,10.83C10.9,10.83 11.56,11.15 12,11.66C12.44,11.15 13.1,10.83 13.8,10.83C15.03,10.83 16,11.8 16,13.03C16,14.54 14.64,15.77 12.58,17.64L12,18.17Z\";\r\nexport var mdiCalendarImport = \"M12,12L8,16H11V22H13V16H16M19,4H18V2H16V4H8V2H6V4H5A2,2 0 0,0 3,6V20A2,2 0 0,0 5,22H9V20H5V9H19V20H15V22H19A2,2 0 0,0 21,20V6A2,2 0 0,0 19,4Z\";\r\nexport var mdiCalendarLock = \"M13 21C13 21.35 13.07 21.69 13.18 22H5C3.9 22 3 21.11 3 20V6C3 4.89 3.89 4 5 4H6V2H8V4H16V2H18V4H19C20.1 4 21 4.89 21 6V11.78C20.42 11.38 19.74 11.13 19 11.05V9H5V20H13V21M22 17V21C22 21.55 21.55 22 21 22H16C15.45 22 15 21.55 15 21V17C15 16.45 15.45 16 16 16V15.5C16 14.12 17.12 13 18.5 13S21 14.12 21 15.5V16C21.55 16 22 16.45 22 17M20 15.5C20 14.67 19.33 14 18.5 14S17 14.67 17 15.5V16H20V15.5Z\";\r\nexport var mdiCalendarLockOutline = \"M13 20H5V10H19V11.05C19.74 11.13 20.42 11.38 21 11.78V6C21 4.89 20.11 4 19 4H18V2H16V4H8V2H6V4H5C3.89 4 3 4.9 3 6V20C3 21.11 3.9 22 5 22H13.18C13.07 21.69 13 21.35 13 21V20M5 6H19V8H5V6M21 16V15.5C21 14.12 19.88 13 18.5 13S16 14.12 16 15.5V16C15.45 16 15 16.45 15 17V21C15 21.55 15.45 22 16 22H21C21.55 22 22 21.55 22 21V17C22 16.45 21.55 16 21 16M20 16H17V15.5C17 14.67 17.67 14 18.5 14S20 14.67 20 15.5V16Z\";\r\nexport var mdiCalendarMinus = \"M19 19V8H5V19H19M16 1H18V3H19C20.11 3 21 3.9 21 5V19C21 20.11 20.11 21 19 21H5C3.89 21 3 20.1 3 19V5C3 3.89 3.89 3 5 3H6V1H8V3H16V1M16 12.5V14.5H8V12.5H16Z\";\r\nexport var mdiCalendarMonth = \"M9,10V12H7V10H9M13,10V12H11V10H13M17,10V12H15V10H17M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5A2,2 0 0,1 5,3H6V1H8V3H16V1H18V3H19M19,19V8H5V19H19M9,14V16H7V14H9M13,14V16H11V14H13M17,14V16H15V14H17Z\";\r\nexport var mdiCalendarMonthOutline = \"M7,12H9V14H7V12M21,6V20A2,2 0 0,1 19,22H5C3.89,22 3,21.1 3,20V6A2,2 0 0,1 5,4H6V2H8V4H16V2H18V4H19A2,2 0 0,1 21,6M5,8H19V6H5V8M19,20V10H5V20H19M15,14V12H17V14H15M11,14V12H13V14H11M7,16H9V18H7V16M15,18V16H17V18H15M11,18V16H13V18H11Z\";\r\nexport var mdiCalendarMultiple = \"M21,17V8H7V17H21M21,3A2,2 0 0,1 23,5V17A2,2 0 0,1 21,19H7C5.89,19 5,18.1 5,17V5A2,2 0 0,1 7,3H8V1H10V3H18V1H20V3H21M3,21H17V23H3C1.89,23 1,22.1 1,21V9H3V21M19,15H15V11H19V15Z\";\r\nexport var mdiCalendarMultipleCheck = \"M21,17V8H7V17H21M21,3A2,2 0 0,1 23,5V17A2,2 0 0,1 21,19H7C5.89,19 5,18.1 5,17V5A2,2 0 0,1 7,3H8V1H10V3H18V1H20V3H21M17.53,11.06L13.09,15.5L10.41,12.82L11.47,11.76L13.09,13.38L16.47,10L17.53,11.06M3,21H17V23H3C1.89,23 1,22.1 1,21V9H3V21Z\";\r\nexport var mdiCalendarMultiselect = \"M19,19V8H5V19H19M16,1H18V3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H6V1H8V3H16V1M7,10H9V12H7V10M15,10H17V12H15V10M11,14H13V16H11V14M15,14H17V16H15V14Z\";\r\nexport var mdiCalendarOutline = \"M19,4H18V2H16V4H8V2H6V4H5C3.89,4 3,4.9 3,6V20A2,2 0 0,0 5,22H19A2,2 0 0,0 21,20V6A2,2 0 0,0 19,4M19,20H5V10H19V20M19,8H5V6H19V8M12,13H17V18H12V13Z\";\r\nexport var mdiCalendarPlus = \"M19 19V8H5V19H19M16 1H18V3H19C20.11 3 21 3.9 21 5V19C21 20.11 20.11 21 19 21H5C3.89 21 3 20.1 3 19V5C3 3.89 3.89 3 5 3H6V1H8V3H16V1M11 9.5H13V12.5H16V14.5H13V17.5H11V14.5H8V12.5H11V9.5Z\";\r\nexport var mdiCalendarQuestion = \"M6,1V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H18V1H16V3H8V1H6M5,8H19V19H5V8M12.19,9C11.32,9 10.62,9.2 10.08,9.59C9.56,10 9.3,10.57 9.31,11.36L9.32,11.39H11.25C11.26,11.09 11.35,10.86 11.53,10.7C11.71,10.55 11.93,10.47 12.19,10.47C12.5,10.47 12.76,10.57 12.94,10.75C13.12,10.94 13.2,11.2 13.2,11.5C13.2,11.82 13.13,12.09 12.97,12.32C12.83,12.55 12.62,12.75 12.36,12.91C11.85,13.25 11.5,13.55 11.31,13.82C11.11,14.08 11,14.5 11,15H13C13,14.69 13.04,14.44 13.13,14.26C13.22,14.08 13.39,13.9 13.64,13.74C14.09,13.5 14.46,13.21 14.75,12.81C15.04,12.41 15.19,12 15.19,11.5C15.19,10.74 14.92,10.13 14.38,9.68C13.85,9.23 13.12,9 12.19,9M11,16V18H13V16H11Z\";\r\nexport var mdiCalendarRange = \"M9,10H7V12H9V10M13,10H11V12H13V10M17,10H15V12H17V10M19,3H18V1H16V3H8V1H6V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M19,19H5V8H19V19Z\";\r\nexport var mdiCalendarRangeOutline = \"M7,12H9V14H7V12M21,6V20A2,2 0 0,1 19,22H5C3.89,22 3,21.1 3,20V6A2,2 0 0,1 5,4H6V2H8V4H16V2H18V4H19A2,2 0 0,1 21,6M5,8H19V6H5V8M19,20V10H5V20H19M15,14H17V12H15V14M11,14H13V12H11V14Z\";\r\nexport var mdiCalendarRefresh = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H14C13.4 20.5 12.9 19.8 12.5 19H5V8H19V10.6C19.7 10.7 20.4 10.9 21 11.3V5C21 3.9 20.1 3 19 3M18 12.5C19.1 12.5 20.1 12.9 20.8 13.7L22 12.5V16.5H18L19.8 14.7C19.3 14.3 18.7 14 18 14C16.6 14 15.5 15.1 15.5 16.5S16.6 19 18 19C18.8 19 19.5 18.6 20 18H21.7C21.1 19.5 19.7 20.5 18 20.5C15.8 20.5 14 18.7 14 16.5S15.8 12.5 18 12.5Z\";\r\nexport var mdiCalendarRefreshOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H14C13.4 20.5 12.9 19.8 12.5 19H5V9H19V10.6C19.7 10.7 20.4 10.9 21 11.3V5C21 3.9 20.1 3 19 3M19 7H5V5H19M18 12.5C19.1 12.5 20.1 12.9 20.8 13.7L22 12.5V16.5H18L19.8 14.7C19.3 14.3 18.7 14 18 14C16.6 14 15.5 15.1 15.5 16.5S16.6 19 18 19C18.8 19 19.5 18.6 20 18H21.7C21.1 19.5 19.7 20.5 18 20.5C15.8 20.5 14 18.7 14 16.5S15.8 12.5 18 12.5Z\";\r\nexport var mdiCalendarRemove = \"M19,19H5V8H19M19,3H18V1H16V3H8V1H6V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M9.31,17L11.75,14.56L14.19,17L15.25,15.94L12.81,13.5L15.25,11.06L14.19,10L11.75,12.44L9.31,10L8.25,11.06L10.69,13.5L8.25,15.94L9.31,17Z\";\r\nexport var mdiCalendarRemoveOutline = \"M19,4H18V2H16V4H8V2H6V4H5A2,2 0 0,0 3,6V20A2,2 0 0,0 5,22H19A2,2 0 0,0 21,20V6A2,2 0 0,0 19,4M19,20H5V10H19V20M5,8V6H19V8H5M8.23,17.41L9.29,18.47L11.73,16.03L14.17,18.47L15.23,17.41L12.79,14.97L15.23,12.53L14.17,11.47L11.73,13.91L9.29,11.47L8.23,12.53L10.67,14.97L8.23,17.41Z\";\r\nexport var mdiCalendarSearch = \"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M19,8H5V19H9.5C9.81,19.75 10.26,20.42 10.81,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H6V1H8V3H16V1H18V3H19A2,2 0 0,1 21,5V13.03C20.5,12.22 19.8,11.54 19,11V8Z\";\r\nexport var mdiCalendarStar = \"M19,20H5V9H19M16,2V4H8V2H6V4H5A2,2 0 0,0 3,6V20A2,2 0 0,0 5,22H19A2,2 0 0,0 21,20V6A2,2 0 0,0 19,4H18V2M10.88,13H7.27L10.19,15.11L9.08,18.56L12,16.43L14.92,18.56L13.8,15.12L16.72,13H13.12L12,9.56L10.88,13Z\";\r\nexport var mdiCalendarStart = \"M2 14H4V17H9V14L13 18L9 22V19H4V22H2V14M19 19V8H5V12H3L3 5C3 3.89 3.89 3 5 3H6V.998H8V3H16V.998H18V3H19C20.1 3 21 3.89 21 5V19C21 20.1 20.1 21 19 21L12.83 21L14.83 19L19 19Z\";\r\nexport var mdiCalendarSync = \"M18,11V12.5C21.19,12.5 23.09,16.05 21.33,18.71L20.24,17.62C21.06,15.96 19.85,14 18,14V15.5L15.75,13.25L18,11M18,22V20.5C14.81,20.5 12.91,16.95 14.67,14.29L15.76,15.38C14.94,17.04 16.15,19 18,19V17.5L20.25,19.75L18,22M19,3H18V1H16V3H8V1H6V3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H14C13.36,20.45 12.86,19.77 12.5,19H5V8H19V10.59C19.71,10.7 20.39,10.94 21,11.31V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiCalendarSyncOutline = \"M18,11V12.5C21.19,12.5 23.09,16.05 21.33,18.71L20.24,17.62C21.06,15.96 19.85,14 18,14V15.5L15.75,13.25L18,11M18,22V20.5C14.81,20.5 12.91,16.95 14.67,14.29L15.76,15.38C14.94,17.04 16.15,19 18,19V17.5L20.25,19.75L18,22M19,3H18V1H16V3H8V1H6V3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H14C13.36,20.45 12.86,19.77 12.5,19H5V9H19V10.59C19.71,10.7 20.39,10.94 21,11.31V5A2,2 0 0,0 19,3M19,7H5V5H19\";\r\nexport var mdiCalendarText = \"M14,14H7V16H14M19,19H5V8H19M19,3H18V1H16V3H8V1H6V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M17,10H7V12H17V10Z\";\r\nexport var mdiCalendarTextOutline = \"M19,4H18V2H16V4H8V2H6V4H5A2,2 0 0,0 3,6V20A2,2 0 0,0 5,22H19A2,2 0 0,0 21,20V6A2,2 0 0,0 19,4M19,20H5V10H19V20M5,8V6H19V8H5M7,12H17V14H7V12M7,16H14V18H7V16Z\";\r\nexport var mdiCalendarToday = \"M7,10H12V15H7M19,19H5V8H19M19,3H18V1H16V3H8V1H6V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiCalendarWeek = \"M6 1H8V3H16V1H18V3H19C20.11 3 21 3.9 21 5V19C21 20.11 20.11 21 19 21H5C3.89 21 3 20.1 3 19V5C3 3.89 3.89 3 5 3H6V1M5 8V19H19V8H5M7 10H17V12H7V10Z\";\r\nexport var mdiCalendarWeekBegin = \"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1M9,10H7V17H9V10Z\";\r\nexport var mdiCalendarWeekend = \"M19,20V9H5V20H19M16,2H18V4H19A2,2 0 0,1 21,6V20A2,2 0 0,1 19,22H5A2,2 0 0,1 3,20V6A2,2 0 0,1 5,4H6V2H8V4H16V2M7,18V11H9V18H7M15,11H17V18H15V11Z\";\r\nexport var mdiCalendarWeekendOutline = \"M19,4A2,2 0 0,1 21,6V20A2,2 0 0,1 19,22H5C3.89,22 3,21.1 3,20V6A2,2 0 0,1 5,4H6V2H8V4H16V2H18V4H19M19,20V10H5V20H19M19,8V6H5V8H19M7,12H9V18H7V12M15,12H17V18H15V12Z\";\r\nexport var mdiCallMade = \"M9,5V7H15.59L4,18.59L5.41,20L17,8.41V15H19V5\";\r\nexport var mdiCallMerge = \"M17,20.41L18.41,19L15,15.59L13.59,17M7.5,8H11V13.59L5.59,19L7,20.41L13,14.41V8H16.5L12,3.5\";\r\nexport var mdiCallMissed = \"M19.59,7L12,14.59L6.41,9H11V7H3V15H5V10.41L12,17.41L21,8.41\";\r\nexport var mdiCallReceived = \"M20,5.41L18.59,4L7,15.59V9H5V19H15V17H8.41\";\r\nexport var mdiCallSplit = \"M14,4L16.29,6.29L13.41,9.17L14.83,10.59L17.71,7.71L20,10V4M10,4H4V10L6.29,7.71L11,12.41V20H13V11.59L7.71,6.29\";\r\nexport var mdiCamcorder = \"M7 2C4.24 2 2 4.24 2 7V20C2 21.1 2.9 22 4 22H10C11.1 22 12 21.1 12 20V7C12 4.24 9.76 2 7 2M5 20C4.45 20 4 19.55 4 19S4.45 18 5 18 6 18.45 6 19 5.55 20 5 20M7 10C5.34 10 4 8.66 4 7S5.34 4 7 4 10 5.34 10 7 8.66 10 7 10M22 9V14C22 15.1 21.1 16 20 16H13V14H20V9H13V7H20C21.1 7 22 7.9 22 9Z\";\r\nexport var mdiCamcorderOff = \"M22.1 21.5L9.4 8.8L2.4 1.8L1.1 3L2.7 4.6C2.2 5.3 2 6.1 2 7V20C2 21.1 2.9 22 4 22H10C11.1 22 12 21.1 12 20V13.9L13 14.9V16H14.1L20.8 22.7L22.1 21.5M5 20C4.5 20 4 19.5 4 19S4.5 18 5 18 6 18.5 6 19 5.5 20 5 20M7 10C5.3 10 4 8.7 4 7C4 6.7 4.1 6.4 4.2 6.1L8 9.9C7.6 9.9 7.3 10 7 10M7.2 4L5.5 2.3C6 2.1 6.5 2 7 2C9.8 2 12 4.2 12 7V8.8L10 6.8C9.9 5.3 8.7 4.1 7.2 4M20 9H13V7H20C21.1 7 22 7.9 22 9V14C22 15.1 21.1 16 20 16H19.2L17.2 14H20V9Z\";\r\nexport var mdiCamera = \"M4,4H7L9,2H15L17,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9Z\";\r\nexport var mdiCameraAccount = \"M4,5H7L9,3H15L17,5H20A2,2 0 0,1 22,7V19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19V7A2,2 0 0,1 4,5M16,17V16C16,14.67 13.33,14 12,14C10.67,14 8,14.67 8,16V17H16M12,9A2,2 0 0,0 10,11A2,2 0 0,0 12,13A2,2 0 0,0 14,11A2,2 0 0,0 12,9Z\";\r\nexport var mdiCameraBurst = \"M1,5H3V19H1V5M5,5H7V19H5V5M22,5H10A1,1 0 0,0 9,6V18A1,1 0 0,0 10,19H22A1,1 0 0,0 23,18V6A1,1 0 0,0 22,5M11,17L13.5,13.85L15.29,16L17.79,12.78L21,17H11Z\";\r\nexport var mdiCameraControl = \"M9,12C9,11.19 9.3,10.5 9.89,9.89C10.5,9.3 11.19,9 12,9C12.81,9 13.5,9.3 14.11,9.89C14.7,10.5 15,11.19 15,12C15,12.81 14.7,13.5 14.11,14.11C13.5,14.7 12.81,15 12,15C11.19,15 10.5,14.7 9.89,14.11C9.3,13.5 9,12.81 9,12M5.53,8.44L7.31,10.22L5.53,12L7.31,13.78L5.53,15.56L2,12L5.53,8.44M8.44,18.47L10.22,16.69L12,18.47L13.78,16.69L15.56,18.47L12,22L8.44,18.47M18.47,15.56L16.69,13.78L18.47,12L16.69,10.22L18.47,8.44L22,12L18.47,15.56M15.56,5.53L13.78,7.31L12,5.53L10.22,7.31L8.44,5.53L12,2L15.56,5.53Z\";\r\nexport var mdiCameraEnhance = \"M9,3L7.17,5H4A2,2 0 0,0 2,7V19A2,2 0 0,0 4,21H20A2,2 0 0,0 22,19V7A2,2 0 0,0 20,5H16.83L15,3M12,18A5,5 0 0,1 7,13A5,5 0 0,1 12,8A5,5 0 0,1 17,13A5,5 0 0,1 12,18M12,17L13.25,14.25L16,13L13.25,11.75L12,9L10.75,11.75L8,13L10.75,14.25\";\r\nexport var mdiCameraEnhanceOutline = \"M12,10L11.06,12.06L9,13L11.06,13.94L12,16L12.94,13.94L15,13L12.94,12.06L12,10M20,5H16.83L15,3H9L7.17,5H4A2,2 0 0,0 2,7V19A2,2 0 0,0 4,21H20A2,2 0 0,0 22,19V7A2,2 0 0,0 20,5M20,19H4V7H8.05L8.64,6.35L9.88,5H14.12L15.36,6.35L15.95,7H20V19M12,8A5,5 0 0,0 7,13A5,5 0 0,0 12,18A5,5 0 0,0 17,13A5,5 0 0,0 12,8M12,16A3,3 0 0,1 9,13A3,3 0 0,1 12,10A3,3 0 0,1 15,13A3,3 0 0,1 12,16Z\";\r\nexport var mdiCameraFlip = \"M20 5H17L15 3H9L7 5H4C2.9 5 2 5.9 2 7V19C2 20.11 2.9 21 4 21H20C21.11 21 22 20.11 22 19V7C22 5.9 21.11 5 20 5M5 12H7.1C7.65 9.29 10.29 7.55 13 8.1C13.76 8.25 14.43 8.59 15 9L13.56 10.45C13.11 10.17 12.58 10 12 10C10.74 10 9.6 10.8 9.18 12H11L8 15L5 12M16.91 14C16.36 16.71 13.72 18.45 11 17.9C10.25 17.74 9.58 17.41 9 17L10.44 15.55C10.9 15.83 11.43 16 12 16C13.27 16 14.41 15.2 14.83 14H13L16 11L19 14H16.91Z\";\r\nexport var mdiCameraFlipOutline = \"M20 5H16.83L15 3H9L7.17 5H4C2.9 5 2 5.9 2 7V19C2 20.11 2.9 21 4 21H20C21.11 21 22 20.11 22 19V7C22 5.9 21.11 5 20 5M20 19H4V7H8.05L9.88 5H14.12L16 7H20V19M5 12H7.1C7.65 9.29 10.29 7.55 13 8.1C13.76 8.25 14.43 8.59 15 9L13.56 10.45C13.11 10.17 12.58 10 12 10C10.74 10 9.6 10.8 9.18 12H11L8 15L5 12M16.91 14C16.36 16.71 13.72 18.45 11 17.9C10.25 17.74 9.58 17.41 9 17L10.44 15.55C10.9 15.83 11.43 16 12 16C13.27 16 14.41 15.2 14.83 14H13L16 11L19 14H16.91Z\";\r\nexport var mdiCameraFront = \"M7,2H17V12.5C17,10.83 13.67,10 12,10C10.33,10 7,10.83 7,12.5M17,0H7A2,2 0 0,0 5,2V16A2,2 0 0,0 7,18H17A2,2 0 0,0 19,16V2A2,2 0 0,0 17,0M12,8A2,2 0 0,0 14,6A2,2 0 0,0 12,4A2,2 0 0,0 10,6A2,2 0 0,0 12,8M14,20V22H19V20M10,20H5V22H10V24L13,21L10,18V20Z\";\r\nexport var mdiCameraFrontVariant = \"M6,0H18A2,2 0 0,1 20,2V22A2,2 0 0,1 18,24H6A2,2 0 0,1 4,22V2A2,2 0 0,1 6,0M12,6A3,3 0 0,1 15,9A3,3 0 0,1 12,12A3,3 0 0,1 9,9A3,3 0 0,1 12,6M11,1V3H13V1H11M6,4V16.5C6,15.12 8.69,14 12,14C15.31,14 18,15.12 18,16.5V4H6M13,18H9V20H13V22L16,19L13,16V18Z\";\r\nexport var mdiCameraGopro = \"M20,5H15A2,2 0 0,0 13,7V12A2,2 0 0,0 15,14H20A2,2 0 0,0 22,12V7A2,2 0 0,0 20,5M17.5,12.5A3,3 0 0,1 14.5,9.5A3,3 0 0,1 17.5,6.5A3,3 0 0,1 20.5,9.5A3,3 0 0,1 17.5,12.5M17.5,11A1.5,1.5 0 0,1 16,9.5A1.5,1.5 0 0,1 17.5,8A1.5,1.5 0 0,1 19,9.5A1.5,1.5 0 0,1 17.5,11M12,15V5H4A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V15H12M10,12H4V7H10V12Z\";\r\nexport var mdiCameraImage = \"M4,5H7L9,3H15L17,5H20A2,2 0 0,1 22,7V19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19V7A2,2 0 0,1 4,5M13.09,9.45L11.05,12.18L12.6,14.25L11.73,14.91L9.27,11.64L6,16H18L13.09,9.45Z\";\r\nexport var mdiCameraIris = \"M13.73,15L9.83,21.76C10.53,21.91 11.25,22 12,22C14.4,22 16.6,21.15 18.32,19.75L14.66,13.4M2.46,15C3.38,17.92 5.61,20.26 8.45,21.34L12.12,15M8.54,12L4.64,5.25C3,7 2,9.39 2,12C2,12.68 2.07,13.35 2.2,14H9.69M21.8,10H14.31L14.6,10.5L19.36,18.75C21,16.97 22,14.6 22,12C22,11.31 21.93,10.64 21.8,10M21.54,9C20.62,6.07 18.39,3.74 15.55,2.66L11.88,9M9.4,10.5L14.17,2.24C13.47,2.09 12.75,2 12,2C9.6,2 7.4,2.84 5.68,4.25L9.34,10.6L9.4,10.5Z\";\r\nexport var mdiCameraMeteringCenter = \"M4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4M4,6V18H20V6H4M12,10.5A1.5,1.5 0 0,1 13.5,12A1.5,1.5 0 0,1 12,13.5A1.5,1.5 0 0,1 10.5,12A1.5,1.5 0 0,1 12,10.5M12,7.5C14.14,7.5 15.93,9 16.39,11H14.83C14.42,9.83 13.31,9 12,9C10.69,9 9.58,9.83 9.17,11H7.61C8.07,9 9.86,7.5 12,7.5M12,16.5C9.86,16.5 8.07,15 7.61,13H9.17C9.58,14.17 10.69,15 12,15C13.31,15 14.42,14.17 14.83,13H16.39C15.93,15 14.14,16.5 12,16.5Z\";\r\nexport var mdiCameraMeteringMatrix = \"M4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4M4,6V18H20V6H4M5.5,7.5H11V9.17C10.15,9.47 9.47,10.15 9.17,11H5.5V7.5M18.5,7.5V11H14.83C14.53,10.15 13.85,9.47 13,9.17V7.5H18.5M18.5,16.5H13V14.83C13.85,14.53 14.53,13.85 14.83,13H18.5V16.5M5.5,16.5V13H9.17C9.47,13.85 10.15,14.53 11,14.83V16.5H5.5M12,10.5A1.5,1.5 0 0,1 13.5,12A1.5,1.5 0 0,1 12,13.5A1.5,1.5 0 0,1 10.5,12A1.5,1.5 0 0,1 12,10.5Z\";\r\nexport var mdiCameraMeteringPartial = \"M4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4M4,6V18H20V6H4M12,7.5C14.14,7.5 15.93,9 16.39,11H14.83C14.42,9.83 13.31,9 12,9C10.69,9 9.58,9.83 9.17,11H7.61C8.07,9 9.86,7.5 12,7.5M12,16.5C9.86,16.5 8.07,15 7.61,13H9.17C9.58,14.17 10.69,15 12,15C13.31,15 14.42,14.17 14.83,13H16.39C15.93,15 14.14,16.5 12,16.5Z\";\r\nexport var mdiCameraMeteringSpot = \"M4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4M4,6V18H20V6H4M12,10.5A1.5,1.5 0 0,1 13.5,12A1.5,1.5 0 0,1 12,13.5A1.5,1.5 0 0,1 10.5,12A1.5,1.5 0 0,1 12,10.5Z\";\r\nexport var mdiCameraOff = \"M1.2,4.47L2.5,3.2L20,20.72L18.73,22L16.73,20H4A2,2 0 0,1 2,18V6C2,5.78 2.04,5.57 2.1,5.37L1.2,4.47M7,4L9,2H15L17,4H20A2,2 0 0,1 22,6V18C22,18.6 21.74,19.13 21.32,19.5L16.33,14.5C16.76,13.77 17,12.91 17,12A5,5 0 0,0 12,7C11.09,7 10.23,7.24 9.5,7.67L5.82,4H7M7,12A5,5 0 0,0 12,17C12.5,17 13.03,16.92 13.5,16.77L11.72,15C10.29,14.85 9.15,13.71 9,12.28L7.23,10.5C7.08,10.97 7,11.5 7,12M12,9A3,3 0 0,1 15,12C15,12.35 14.94,12.69 14.83,13L11,9.17C11.31,9.06 11.65,9 12,9Z\";\r\nexport var mdiCameraOutline = \"M20,4H16.83L15,2H9L7.17,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6A2,2 0 0,0 20,4M20,18H4V6H8.05L9.88,4H14.12L15.95,6H20V18M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7M12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15Z\";\r\nexport var mdiCameraPartyMode = \"M12,17C10.37,17 8.94,16.21 8,15H12A3,3 0 0,0 15,12C15,11.65 14.93,11.31 14.82,11H16.9C16.96,11.32 17,11.66 17,12A5,5 0 0,1 12,17M12,7C13.63,7 15.06,7.79 16,9H12A3,3 0 0,0 9,12C9,12.35 9.07,12.68 9.18,13H7.1C7.03,12.68 7,12.34 7,12A5,5 0 0,1 12,7M20,4H16.83L15,2H9L7.17,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\";\r\nexport var mdiCameraPlus = \"M3 4V1H5V4H8V6H5V9H3V6H0V4M6 10V7H9V4H16L17.8 6H21C22.1 6 23 6.9 23 8V20C23 21.1 22.1 22 21 22H5C3.9 22 3 21.1 3 20V10M13 19C17.45 19 19.69 13.62 16.54 10.46C13.39 7.31 8 9.55 8 14C8 16.76 10.24 19 13 19M9.8 14C9.8 16.85 13.25 18.28 15.26 16.26C17.28 14.25 15.85 10.8 13 10.8C11.24 10.8 9.8 12.24 9.8 14Z\";\r\nexport var mdiCameraPlusOutline = \"M21 6H17.8L16 4H10V6H15.1L17 8H21V20H5V11H3V20C3 21.1 3.9 22 5 22H21C22.1 22 23 21.1 23 20V8C23 6.9 22.1 6 21 6M8 14C8 18.45 13.39 20.69 16.54 17.54C19.69 14.39 17.45 9 13 9C10.24 9 8 11.24 8 14M13 11C14.64 11.05 15.95 12.36 16 14C15.95 15.64 14.64 16.95 13 17C11.36 16.95 10.05 15.64 10 14C10.05 12.36 11.36 11.05 13 11M5 6H8V4H5V1H3V4H0V6H3V9H5\";\r\nexport var mdiCameraRear = \"M12,6C10.89,6 10,5.1 10,4A2,2 0 0,1 12,2C13.09,2 14,2.9 14,4A2,2 0 0,1 12,6M17,0H7A2,2 0 0,0 5,2V16A2,2 0 0,0 7,18H17A2,2 0 0,0 19,16V2A2,2 0 0,0 17,0M14,20V22H19V20M10,20H5V22H10V24L13,21L10,18V20Z\";\r\nexport var mdiCameraRearVariant = \"M6,0H18A2,2 0 0,1 20,2V22A2,2 0 0,1 18,24H6A2,2 0 0,1 4,22V2A2,2 0 0,1 6,0M12,2A2,2 0 0,0 10,4A2,2 0 0,0 12,6A2,2 0 0,0 14,4A2,2 0 0,0 12,2M13,18H9V20H13V22L16,19L13,16V18Z\";\r\nexport var mdiCameraRetake = \"M20,5H17L15,3H9L7,5H4A2,2 0 0,0 2,7V19A2,2 0 0,0 4,21H20A2,2 0 0,0 22,19V7A2,2 0 0,0 20,5M12,18C10.92,18 9.86,17.65 9,17L10.44,15.56C10.91,15.85 11.45,16 12,16A3,3 0 0,0 15,13A3,3 0 0,0 12,10C10.74,10 9.6,10.8 9.18,12H11L8,15L5,12H7.1C7.65,9.29 10.29,7.55 13,8.1C15.7,8.65 17.45,11.29 16.9,14C16.42,16.33 14.38,18 12,18Z\";\r\nexport var mdiCameraRetakeOutline = \"M20,5H16.83L15,3H9L7.17,5H4A2,2 0 0,0 2,7V19A2,2 0 0,0 4,21H20A2,2 0 0,0 22,19V7A2,2 0 0,0 20,5M20,19H4V7H8.05L9.88,5H14.12L16,7H20V19M12,18C10.92,18 9.86,17.65 9,17L10.44,15.56C10.91,15.85 11.45,16 12,16A3,3 0 0,0 15,13A3,3 0 0,0 12,10C10.74,10 9.6,10.8 9.18,12H11L8,15L5,12H7.1C7.65,9.29 10.29,7.55 13,8.1C15.7,8.65 17.45,11.29 16.9,14C16.42,16.33 14.38,18 12,18Z\";\r\nexport var mdiCameraSwitch = \"M15,15.5V13H9V15.5L5.5,12L9,8.5V11H15V8.5L18.5,12M20,4H16.83L15,2H9L7.17,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\";\r\nexport var mdiCameraSwitchOutline = \"M20 4H16.8L15 2H9L7.2 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V6C22 4.9 21.1 4 20 4M9.9 4H14.1L15.9 6H20V18H4V6H8.1M15 11H9V8.5L5.5 12L9 15.5V13H15V15.5L18.5 12L15 8.5V11Z\";\r\nexport var mdiCameraTimer = \"M4.94,6.35C4.55,5.96 4.55,5.32 4.94,4.93C5.33,4.54 5.96,4.54 6.35,4.93L13.07,10.31L13.42,10.59C14.2,11.37 14.2,12.64 13.42,13.42C12.64,14.2 11.37,14.2 10.59,13.42L10.31,13.07L4.94,6.35M12,20A8,8 0 0,0 20,12C20,9.79 19.1,7.79 17.66,6.34L19.07,4.93C20.88,6.74 22,9.24 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12H4A8,8 0 0,0 12,20M12,1A2,2 0 0,1 14,3A2,2 0 0,1 12,5A2,2 0 0,1 10,3A2,2 0 0,1 12,1Z\";\r\nexport var mdiCameraWireless = \"M12,10.8A3.2,3.2 0 0,1 15.2,14A3.2,3.2 0 0,1 12,17.2A3.2,3.2 0 0,1 8.8,14A3.2,3.2 0 0,1 12,10.8M16,3.33V2A6,6 0 0,1 22,8H20.67C20.67,5.42 18.58,3.33 16,3.33M16,6V4.67C17.84,4.67 19.33,6.16 19.33,8H18C18,6.89 17.11,6 16,6M17,9H22V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V8A2,2 0 0,1 4,6H7.17L9,4H15V7C16.11,7 17,7.89 17,9M12,19A5,5 0 0,0 17,14A5,5 0 0,0 12,9A5,5 0 0,0 7,14A5,5 0 0,0 12,19Z\";\r\nexport var mdiCameraWirelessOutline = \"M20,9V20H4V8H8.05L9.88,6H15V4H9L7.17,6H4A2,2 0 0,0 2,8V20A2,2 0 0,0 4,22H20A2,2 0 0,0 22,20V9H20M20.67,8H22C22,4.68 19.31,2 16,2V3.33C18.58,3.33 20.66,5.41 20.67,8M18,8H19.33C19.32,6.15 17.84,4.67 16,4.67V6C17.11,6 18,6.89 18,8M7,14A5,5 0 0,0 12,19A5,5 0 0,0 17,14A5,5 0 0,0 12,9A5,5 0 0,0 7,14M15,14A3,3 0 0,1 12,17A3,3 0 0,1 9,14A3,3 0 0,1 12,11A3,3 0 0,1 15,14Z\";\r\nexport var mdiCampfire = \"M15.9,18.5L21.9,20.1L21.5,22L12.1,19.5L2.7,22L2.2,20.1L8.2,18.5L2.1,16.9L2.6,15L12,17.5L21.4,15L21.9,16.9L15.9,18.5M16.07,7.92C15.91,7.7 15.71,7.5 15.5,7.33C15.05,6.9 14.5,6.59 14.06,6.13C13,5.08 12.79,3.34 13.44,2C12.79,2.17 12.18,2.54 11.67,2.95C9.84,4.46 9.11,7.1 10,9.38C10,9.45 10.04,9.53 10.04,9.62C10.04,9.78 9.93,9.92 9.79,10C9.63,10.05 9.46,10 9.33,9.9C9.28,9.86 9.25,9.82 9.22,9.77C8.42,8.74 8.29,7.26 8.84,6.07C7.65,7.06 7,8.72 7.11,10.29C7.13,10.65 7.18,11 7.3,11.36C7.41,11.8 7.59,12.23 7.82,12.61C8.57,13.86 9.9,14.76 11.32,14.94C12.84,15.14 14.46,14.85 15.63,13.79C16.93,12.59 17.4,10.67 16.71,9L16.61,8.83C16.47,8.5 16.28,8.2 16.04,7.93L16.07,7.92M13.83,12.47C13.63,12.65 13.31,12.83 13.05,12.91C12.26,13.19 11.46,12.79 11,12.31C11.84,12.11 12.34,11.47 12.5,10.83C12.61,10.25 12.39,9.78 12.29,9.22C12.21,8.69 12.22,8.23 12.42,7.73C12.55,8 12.69,8.28 12.86,8.5C13.41,9.22 14.27,9.54 14.45,10.5C14.47,10.63 14.5,10.72 14.5,10.83C14.5,11.43 14.26,12.07 13.82,12.47\";\r\nexport var mdiCancel = \"M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22 2 17.5 2 12 6.5 2 12 2M12 4C10.1 4 8.4 4.6 7.1 5.7L18.3 16.9C19.3 15.5 20 13.8 20 12C20 7.6 16.4 4 12 4M16.9 18.3L5.7 7.1C4.6 8.4 4 10.1 4 12C4 16.4 7.6 20 12 20C13.9 20 15.6 19.4 16.9 18.3Z\";\r\nexport var mdiCandelabra = \"M20.5 11C20.5 11.55 20.05 12 19.5 12H19V14C19 15.11 18.11 16 17 16H13V20H14C15.11 20 16 20.9 16 22H8C8 20.9 8.9 20 10 20H11V16H7C5.9 16 5 15.11 5 14V12H4.5C3.95 12 3.5 11.55 3.5 11S3.95 10 4.5 10H5V4L7 5V10H7.5C8.05 10 8.5 10.45 8.5 11S8.05 12 7.5 12H7V14H11V12H10.5C9.95 12 9.5 11.55 9.5 11S9.95 10 10.5 10H11V2L13 3V10H13.5C14.05 10 14.5 10.45 14.5 11S14.05 12 13.5 12H13V14H17V12H16.5C15.95 12 15.5 11.55 15.5 11S15.95 10 16.5 10H17V4L19 5V10H19.5C20.05 10 20.5 10.45 20.5 11Z\";\r\nexport var mdiCandelabraFire = \"M18 7C18.83 7 19.5 6.33 19.5 5.5C19.5 4.67 18.83 3 18 3S16.5 4.67 16.5 5.5C16.5 6.33 17.17 7 18 7M18 5.25C18.28 5.25 18.5 5.47 18.5 5.75S18.28 6.25 18 6.25 17.5 6.03 17.5 5.75 17.72 5.25 18 5.25M12 6C12.83 6 13.5 5.33 13.5 4.5C13.5 3.67 12.83 2 12 2S10.5 3.67 10.5 4.5C10.5 5.33 11.17 6 12 6M12 4.25C12.28 4.25 12.5 4.47 12.5 4.75S12.28 5.25 12 5.25 11.5 5.03 11.5 4.75 11.72 4.25 12 4.25M6 7C6.83 7 7.5 6.33 7.5 5.5C7.5 4.67 6.83 3 6 3S4.5 4.67 4.5 5.5C4.5 6.33 5.17 7 6 7M6 5.25C6.28 5.25 6.5 5.47 6.5 5.75S6.28 6.25 6 6.25 5.5 6.03 5.5 5.75 5.72 5.25 6 5.25M20.5 11C20.5 11.55 20.05 12 19.5 12H19V14C19 15.11 18.11 16 17 16H13V20H14C15.11 20 16 20.9 16 22H8C8 20.9 8.9 20 10 20H11V16H7C5.9 16 5 15.11 5 14V12H4.5C3.95 12 3.5 11.55 3.5 11S3.95 10 4.5 10V9C4.5 8.45 4.95 8 5.5 8H6.5C7.05 8 7.5 8.45 7.5 9V10C8.05 10 8.5 10.45 8.5 11S8.05 12 7.5 12H7V14H11V12H10.5C9.95 12 9.5 11.55 9.5 11S9.95 10 10.5 10V8C10.5 7.45 10.95 7 11.5 7H12.5C13.05 7 13.5 7.45 13.5 8V10C14.05 10 14.5 10.45 14.5 11S14.05 12 13.5 12H13V14H17V12H16.5C15.95 12 15.5 11.55 15.5 11S15.95 10 16.5 10V9C16.5 8.45 16.95 8 17.5 8H18.5C19.05 8 19.5 8.45 19.5 9V10C20.05 10 20.5 10.45 20.5 11Z\";\r\nexport var mdiCandle = \"M12.5,2C10.84,2 9.5,5.34 9.5,7A3,3 0 0,0 12.5,10A3,3 0 0,0 15.5,7C15.5,5.34 14.16,2 12.5,2M12.5,6.5A1,1 0 0,1 13.5,7.5A1,1 0 0,1 12.5,8.5A1,1 0 0,1 11.5,7.5A1,1 0 0,1 12.5,6.5M10,11A1,1 0 0,0 9,12V20H7A1,1 0 0,1 6,19V18A1,1 0 0,0 5,17A1,1 0 0,0 4,18V19A3,3 0 0,0 7,22H19A1,1 0 0,0 20,21A1,1 0 0,0 19,20H16V12A1,1 0 0,0 15,11H10Z\";\r\nexport var mdiCandycane = \"M10,10A2,2 0 0,1 8,12A2,2 0 0,1 6,10V8C6,7.37 6.1,6.77 6.27,6.2L10,9.93V10M12,2C12.74,2 13.44,2.13 14.09,2.38L11.97,6C11.14,6 10.44,6.5 10.15,7.25L7.24,4.34C8.34,2.92 10.06,2 12,2M17.76,6.31L14,10.07V8C14,7.62 13.9,7.27 13.72,6.97L15.83,3.38C16.74,4.13 17.42,5.15 17.76,6.31M18,13.09L14,17.09V12.9L18,8.9V13.09M18,20A2,2 0 0,1 16,22A2,2 0 0,1 14,20V19.91L18,15.91V20Z\";\r\nexport var mdiCannabis = \"M11.5,22V17.35C11,18.13 10,19.09 8.03,19.81C8.03,19.81 8.53,18.1 9.94,16.95C8.64,17.23 6.68,17.19 4,16C4,16 6.47,14.59 9.28,14.97C7.69,14 5.7,12.08 4.17,8.11C4.17,8.11 8.67,9.34 10.91,13.14C8.88,8.24 12,2 12,2C14.43,7.47 13.91,11.1 13.12,13.1C15.37,9.33 19.83,8.11 19.83,8.11C18.3,12.08 16.31,14 14.72,14.97C17.53,14.59 20,16 20,16C17.32,17.19 15.36,17.23 14.06,16.95C15.47,18.1 15.97,19.81 15.97,19.81C14,19.09 13,18.13 12.5,17.35V22H11.5Z\";\r\nexport var mdiCannabisOff = \"M16.62 13.42L14.5 11.32C16.84 8.94 19.83 8.11 19.83 8.11C18.87 10.6 17.73 12.27 16.62 13.42M12 2C12 2 10.86 4.3 10.41 7.21L13.72 10.5C13.92 8.45 13.61 5.63 12 2M20.84 22.73L22.11 21.46L2.39 1.73L1.11 3L8.62 10.5C6.5 8.75 4.17 8.11 4.17 8.11C5.7 12.08 7.69 14 9.28 14.97C6.47 14.59 4 16 4 16C6.68 17.19 8.64 17.23 9.94 16.95C8.53 18.1 8.03 19.81 8.03 19.81C10 19.09 11 18.13 11.5 17.35V22H12.5V17.35C13 18.13 14 19.09 15.97 19.81C15.97 19.81 15.47 18.1 14.06 16.95C14.39 17 14.77 17.07 15.2 17.09L20.84 22.73Z\";\r\nexport var mdiCapsLock = \"M9.96,13.71L12,8.29L14.03,13.72M11.14,6L6.43,18H8.36L9.32,15.43H14.68L15.64,18H17.57L12.86,6H11.14M20,2H4C2.89,2 2,2.89 2,4V20C2,21.11 2.9,22 4,22H20C21.11,22 22,21.11 22,20V4C22,2.89 21.1,2 20,2M20,20H4V4H20V20Z\";\r\nexport var mdiCar = \"M5,11L6.5,6.5H17.5L19,11M17.5,16A1.5,1.5 0 0,1 16,14.5A1.5,1.5 0 0,1 17.5,13A1.5,1.5 0 0,1 19,14.5A1.5,1.5 0 0,1 17.5,16M6.5,16A1.5,1.5 0 0,1 5,14.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 8,14.5A1.5,1.5 0 0,1 6.5,16M18.92,6C18.72,5.42 18.16,5 17.5,5H6.5C5.84,5 5.28,5.42 5.08,6L3,12V20A1,1 0 0,0 4,21H5A1,1 0 0,0 6,20V19H18V20A1,1 0 0,0 19,21H20A1,1 0 0,0 21,20V12L18.92,6Z\";\r\nexport var mdiCar2Plus = \"M8 16C8 13.6 9.1 11.5 10.7 10H3L4.5 5.5H15.5L16.3 8C16.9 8 17.5 8.1 18 8.3L16.9 5C16.7 4.4 16.1 4 15.5 4H4.5C3.8 4 3.3 4.4 3.1 5L1 11V19C1 19.5 1.5 20 2 20H3C3.5 20 4 19.5 4 19V18H8.3C8.1 17.4 8 16.7 8 16M4.5 15C3.7 15 3 14.3 3 13.5S3.7 12 4.5 12 6 12.7 6 13.5 5.3 15 4.5 15M16 20V18H13V17H14C15.1 17 16 16.1 16 15V14C16 12.9 15.1 12 14 12H11V14H14V15H13C11.9 15 11 15.9 11 17V20M23 17H21V19H19V17H17V15H19V13H21V15H23V17Z\";\r\nexport var mdiCar3Plus = \"M16.9 5C16.7 4.4 16.1 4 15.5 4H4.5C3.8 4 3.3 4.4 3.1 5L1 11V19C1 19.5 1.5 20 2 20H3C3.5 20 4 19.5 4 19V18H8.3C8.1 17.4 8 16.7 8 16C8 13.6 9.1 11.5 10.7 10H3L4.5 5.5H15.5L16.3 8C16.9 8 17.5 8.1 18 8.3L16.9 5M4.5 12C5.3 12 6 12.7 6 13.5S5.3 15 4.5 15 3 14.3 3 13.5 3.7 12 4.5 12M23 17H21V19H19V17H17V15H19V13H21V15H23V17M14.5 16C15.3 16 16 14.8 16 14C16 12.9 15.1 12 14 12H11V14H14V15H12V17H14V18H11V20H14C15.1 20 16 19.1 16 18C16 17.2 15.3 16 14.5 16Z\";\r\nexport var mdiCarArrowLeft = \"M12 18C12 14.69 14.69 12 18 12C19.09 12 20.12 12.3 21 12.81V12L18.92 6C18.72 5.42 18.16 5 17.5 5H6.5C5.84 5 5.28 5.42 5.08 6L3 12V20C3 20.55 3.45 21 4 21H5C5.55 21 6 20.55 6 20V19H12.09C12.04 18.67 12 18.34 12 18M6.5 6.5H17.5L19 11H5L6.5 6.5M6.5 16C5.67 16 5 15.33 5 14.5S5.67 13 6.5 13 8 13.67 8 14.5 7.33 16 6.5 16M18 15V17H22V19H18V21L15 18L18 15\";\r\nexport var mdiCarArrowRight = \"M12 18C12 14.69 14.69 12 18 12C19.09 12 20.12 12.3 21 12.81V12L18.92 6C18.72 5.42 18.16 5 17.5 5H6.5C5.84 5 5.28 5.42 5.08 6L3 12V20C3 20.55 3.45 21 4 21H5C5.55 21 6 20.55 6 20V19H12.09C12.04 18.67 12 18.34 12 18M6.5 6.5H17.5L19 11H5L6.5 6.5M6.5 16C5.67 16 5 15.33 5 14.5S5.67 13 6.5 13 8 13.67 8 14.5 7.33 16 6.5 16M19 21V19H15V17H19V15L22 18L19 21\";\r\nexport var mdiCarBack = \"M6,11L7,7H17L18,11M18.92,6C18.71,5.4 18.14,5 17.5,5H6.5C5.86,5 5.29,5.4 5.08,6L3,12V20A1,1 0 0,0 4,21H5A1,1 0 0,0 6,20V18H18V20A1,1 0 0,0 19,21H20A1,1 0 0,0 21,20V12L18.92,6M7,16H5V14H7V16M19,16H17V14H19V16M14,16H10V14H14V16Z\";\r\nexport var mdiCarBattery = \"M4,3V6H1V20H23V6H20V3H14V6H10V3H4M3,8H21V18H3V8M15,10V12H13V14H15V16H17V14H19V12H17V10H15M5,12V14H11V12H5Z\";\r\nexport var mdiCarBrakeAbs = \"M24,12C24,15.31 22.66,18.31 20.5,20.5L19.42,19.42C21.32,17.5 22.5,14.9 22.5,12C22.5,9.11 21.32,6.5 19.42,4.58L20.5,3.5C22.66,5.69 24,8.69 24,12M20,9.6V8H16.8C15.92,8 15.2,8.72 15.2,9.6V11.2A1.6,1.6 0 0,0 16.8,12.8H18.4V14.4H15.2V16H18.4C19.28,16 20,15.28 20,14.4V12.8A1.6,1.6 0 0,0 18.4,11.2H16.8V9.6H20M8.42,6C9.47,5.37 10.69,5 12,5C13.31,5 14.53,5.37 15.58,6H18.69C17.05,4.16 14.66,3 12,3C9.34,3 6.95,4.16 5.31,6H8.42M13.2,12C13.84,12 14.4,12.56 14.4,13.2V14.4A1.6,1.6 0 0,1 12.8,16H9.6V8H12.8A1.6,1.6 0 0,1 14.4,9.6V10.8C14.4,11.44 13.84,12 13.2,12M12.8,12.8H11.2V14.4H12.8V12.8M12.8,9.6H11.2V11.2H12.8V9.6M4.58,4.58L3.5,3.5C1.34,5.69 0,8.69 0,12C0,15.31 1.34,18.31 3.5,20.5L4.58,19.42C2.68,17.5 1.5,14.9 1.5,12C1.5,9.11 2.68,6.5 4.58,4.58M7.2,16V12.8H5.6V16H4V9.6A1.6,1.6 0 0,1 5.6,8H7.2C8.08,8 8.8,8.72 8.8,9.6V16H7.2M7.2,11.2V9.6H5.6V11.2H7.2M15.58,18C14.53,18.63 13.31,19 12,19C10.69,19 9.47,18.63 8.42,18H5.31C6.95,19.84 9.34,21 12,21C14.66,21 17.05,19.84 18.69,18H15.58Z\";\r\nexport var mdiCarBrakeAlert = \"M11,15H13V17H11V15M11,7H13V13H11V7M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12A9,9 0 0,0 12,3M12,19C8.14,19 5,15.86 5,12C5,8.14 8.14,5 12,5C15.86,5 19,8.14 19,12C19,15.86 15.86,19 12,19M20.5,20.5C22.66,18.31 24,15.31 24,12C24,8.69 22.66,5.69 20.5,3.5L19.42,4.58C21.32,6.5 22.5,9.11 22.5,12C22.5,14.9 21.32,17.5 19.42,19.42L20.5,20.5M4.58,19.42C2.68,17.5 1.5,14.9 1.5,12C1.5,9.11 2.68,6.5 4.58,4.58L3.5,3.5C1.34,5.69 0,8.69 0,12C0,15.31 1.34,18.31 3.5,20.5L4.58,19.42Z\";\r\nexport var mdiCarBrakeHold = \"M12,3C7,3 3,7 3,12C3,17 7,21 12,21C17,21 21,17 21,12C21,7 17,3 12,3M12,19C8.1,19 5,15.9 5,12C5,8.1 8.1,5 12,5C15.9,5 19,8.1 19,12C19,15.9 15.9,19 12,19M20.5,20.5C22.7,18.3 24,15.3 24,12C24,8.7 22.7,5.7 20.5,3.5L19.4,4.6C21.3,6.5 22.5,9.1 22.5,12C22.5,14.9 21.3,17.5 19.4,19.4L20.5,20.5M4.6,19.4C2.7,17.5 1.5,14.9 1.5,12C1.5,9.1 2.7,6.5 4.6,4.6L3.5,3.5C1.3,5.7 0,8.7 0,12C0,15.3 1.3,18.3 3.5,20.5L4.6,19.4M9,7V17H11V13H13V17H15V7H13V11H11V7H9Z\";\r\nexport var mdiCarBrakeParking = \"M12,3C7,3 3,7 3,12C3,17 7,21 12,21C17,21 21,17 21,12C21,7 17,3 12,3M12,19C8.1,19 5,15.9 5,12C5,8.1 8.1,5 12,5C15.9,5 19,8.1 19,12C19,15.9 15.9,19 12,19M20.5,20.5C22.7,18.3 24,15.3 24,12C24,8.7 22.7,5.7 20.5,3.5L19.4,4.6C21.3,6.5 22.5,9.1 22.5,12C22.5,14.9 21.3,17.5 19.4,19.4L20.5,20.5M4.6,19.4C2.7,17.5 1.5,14.9 1.5,12C1.5,9.1 2.7,6.5 4.6,4.6L3.5,3.5C1.3,5.7 0,8.7 0,12C0,15.3 1.3,18.3 3.5,20.5L4.6,19.4M9.5,7V17H11.5V13H13.5A2,2 0 0,0 15.5,11V9A2,2 0 0,0 13.5,7H9.5M11.5,9H13.5V11H11.5V9Z\";\r\nexport var mdiCarBrakeRetarder = \"M12 3C7 3 3 7 3 12S7 21 12 21 21 17 21 12 17 3 12 3M12 19C8.1 19 5 15.9 5 12S8.1 5 12 5 19 8.1 19 12 15.9 19 12 19M20.5 20.5C22.7 18.3 24 15.3 24 12S22.7 5.7 20.5 3.5L19.4 4.6C21.3 6.5 22.5 9.1 22.5 12S21.3 17.5 19.4 19.4L20.5 20.5M4.6 19.4C2.7 17.5 1.5 14.9 1.5 12S2.7 6.5 4.6 4.6L3.5 3.5C1.3 5.7 0 8.7 0 12S1.3 18.3 3.5 20.5L4.6 19.4M15.3 10.5C15.96 10.5 16.5 11.17 16.5 12C16.5 12.81 15.95 13.5 15.3 13.5C14.93 13.5 14.66 13.29 14.5 13.11L14.47 13.08L14.44 13.05L13.38 12L14.47 10.92L14.5 10.89L14.53 10.86C14.74 10.63 15 10.5 15.3 10.5M8.7 10.5C9.07 10.5 9.34 10.71 9.5 10.88L9.5 10.92L9.56 10.95L10.62 12L9.53 13.08L9.5 13.11L9.47 13.15C9.26 13.37 9 13.5 8.7 13.5C8.05 13.5 7.5 12.81 7.5 12S8.05 10.5 8.7 10.5M15.3 9C14.58 9 13.9 9.31 13.42 9.85L12 11.25L10.61 9.88C10.1 9.31 9.42 9 8.7 9C7.21 9 6 10.35 6 12S7.21 15 8.7 15C9.42 15 10.1 14.69 10.59 14.15L12 12.75L13.39 14.12C13.9 14.68 14.58 15 15.3 15C16.79 15 18 13.65 18 12C18 10.33 16.79 9 15.3 9Z\";\r\nexport var mdiCarChildSeat = \"M17 4.5C17 5.9 15.9 7 14.5 7S12 5.9 12 4.5 13.1 2 14.5 2 17 3.1 17 4.5M15 8H14.2C12.1 8 10.1 6.8 9.1 4.9C9 4.8 8.9 4.7 8.9 4.6L7.1 5.4C7.6 6.8 9.2 8.6 11.5 9.5L9.7 14.5L5.8 13.4L3 18.9L5 19.4L6.8 15.8L11.3 17C12.3 17.2 13.3 16.7 13.7 15.8L16 9.4C16.2 8.7 15.7 8 15 8M18.9 7L15.5 16.4C14.9 18 13.4 19 11.8 19C11.5 19 11.1 19 10.8 18.9L7.9 18.1L7 19.9L9 20.4L10.4 20.8C10.9 20.9 11.4 21 11.9 21C14.4 21 16.6 19.5 17.5 17.1L21 7H18.9Z\";\r\nexport var mdiCarClutch = \"M10 18.84L14 20.7V23L8 20V14H5V10H8V4L14 1V3.3L10 5.16V18.84M19 10H15V5.41L12 6.8V17.2L15 18.6V14H19V10Z\";\r\nexport var mdiCarCog = \"M6.5 5C5.84 5 5.28 5.42 5.08 6L3 12V20A1 1 0 0 0 4 21H5A1 1 0 0 0 6 20V19H11.3A7 7 0 0 1 11 17A7 7 0 0 1 14.41 11H5L6.5 6.5H17.5L18.68 10.03A7 7 0 0 1 20.47 10.46L18.92 6C18.72 5.42 18.16 5 17.5 5H6.5M17 12C16.87 12 16.76 12.09 16.74 12.21L16.55 13.53C16.25 13.66 15.96 13.82 15.7 14L14.46 13.5C14.35 13.5 14.22 13.5 14.15 13.63L13.15 15.36C13.09 15.47 13.11 15.6 13.21 15.68L14.27 16.5C14.25 16.67 14.24 16.83 14.24 17C14.24 17.17 14.25 17.33 14.27 17.5L13.21 18.32C13.12 18.4 13.09 18.53 13.15 18.64L14.15 20.37C14.21 20.5 14.34 20.5 14.46 20.5L15.7 20C15.96 20.18 16.24 20.35 16.55 20.47L16.74 21.79C16.76 21.91 16.86 22 17 22H19C19.11 22 19.22 21.91 19.24 21.79L19.43 20.47C19.73 20.34 20 20.18 20.27 20L21.5 20.5C21.63 20.5 21.76 20.5 21.83 20.37L22.83 18.64C22.89 18.53 22.86 18.4 22.77 18.32L21.7 17.5C21.72 17.33 21.74 17.17 21.74 17C21.74 16.83 21.73 16.67 21.7 16.5L22.76 15.68C22.85 15.6 22.88 15.47 22.82 15.36L21.82 13.63C21.76 13.5 21.63 13.5 21.5 13.5L20.27 14C20 13.82 19.73 13.65 19.42 13.53L19.23 12.21C19.22 12.09 19.11 12 19 12H17M6.5 13A1.5 1.5 0 0 1 8 14.5A1.5 1.5 0 0 1 6.5 16A1.5 1.5 0 0 1 5 14.5A1.5 1.5 0 0 1 6.5 13M18 15.5C18.83 15.5 19.5 16.17 19.5 17C19.5 17.83 18.83 18.5 18 18.5C17.16 18.5 16.5 17.83 16.5 17C16.5 16.17 17.17 15.5 18 15.5Z\";\r\nexport var mdiCarConnected = \"M5,14H19L17.5,9.5H6.5L5,14M17.5,19A1.5,1.5 0 0,0 19,17.5A1.5,1.5 0 0,0 17.5,16A1.5,1.5 0 0,0 16,17.5A1.5,1.5 0 0,0 17.5,19M6.5,19A1.5,1.5 0 0,0 8,17.5A1.5,1.5 0 0,0 6.5,16A1.5,1.5 0 0,0 5,17.5A1.5,1.5 0 0,0 6.5,19M18.92,9L21,15V23A1,1 0 0,1 20,24H19A1,1 0 0,1 18,23V22H6V23A1,1 0 0,1 5,24H4A1,1 0 0,1 3,23V15L5.08,9C5.28,8.42 5.85,8 6.5,8H17.5C18.15,8 18.72,8.42 18.92,9M12,0C14.12,0 16.15,0.86 17.65,2.35L16.23,3.77C15.11,2.65 13.58,2 12,2C10.42,2 8.89,2.65 7.77,3.77L6.36,2.35C7.85,0.86 9.88,0 12,0M12,4C13.06,4 14.07,4.44 14.82,5.18L13.4,6.6C13.03,6.23 12.53,6 12,6C11.5,6 10.97,6.23 10.6,6.6L9.18,5.18C9.93,4.44 10.94,4 12,4Z\";\r\nexport var mdiCarConvertible = \"M16,6L15,6.75L17.5,10H13.5V8.5H12V10H3C1.89,10 1,10.89 1,12V15H3A3,3 0 0,0 6,18A3,3 0 0,0 9,15H15A3,3 0 0,0 18,18A3,3 0 0,0 21,15H23V12C23,10.89 22.11,10 21,10H19L16,6M6,13.5A1.5,1.5 0 0,1 7.5,15A1.5,1.5 0 0,1 6,16.5A1.5,1.5 0 0,1 4.5,15A1.5,1.5 0 0,1 6,13.5M18,13.5A1.5,1.5 0 0,1 19.5,15A1.5,1.5 0 0,1 18,16.5A1.5,1.5 0 0,1 16.5,15A1.5,1.5 0 0,1 18,13.5Z\";\r\nexport var mdiCarCoolantLevel = \"M19 7V5H21V3H13V5H15V7H1V21H23V7H19M21 14.42C20.71 14.13 20.5 14 20 14C19.33 14 19.21 14.21 18.71 14.71S17.33 16 16 16 13.79 15.21 13.29 14.71 12.67 14 12 14C11.78 14 11.63 14.03 11.5 14.08C11.22 14.18 11.05 14.37 10.71 14.71C10.21 15.21 9.33 16 8 16S5.79 15.21 5.29 14.71 4.67 14 4 14C3.5 14 3.29 14.13 3 14.42V9H21V14.42Z\";\r\nexport var mdiCarCruiseControl = \"M22,15C22,17.6 20.8,19.9 18.9,21.3L18.4,20.8L16.3,18.7L17.7,17.3L18.9,18.5C19.4,17.8 19.8,16.9 19.9,16H18V14H19.9C19.7,13.1 19.4,12.3 18.9,11.5L17.7,12.7L16.3,11.3L17.5,10.1C16.8,9.6 15.9,9.2 15,9.1V11H13V9.1C12.1,9.3 11.3,9.6 10.5,10.1L13.5,13.1C13.7,13.1 13.8,13 14,13A2,2 0 0,1 16,15A2,2 0 0,1 14,17A2,2 0 0,1 12,15C12,14.8 12,14.7 12.1,14.5L9.1,11.5C8.6,12.2 8.2,13.1 8.1,14H10V16H8.1C8.3,16.9 8.6,17.7 9.1,18.5L10.3,17.3L11.7,18.7L9.1,21.3C7.2,19.9 6,17.6 6,15A8,8 0 0,1 14,7A8,8 0 0,1 22,15M6.7,5.3L3.4,2L2,3.4L5.3,6.7L4,8H8V4L6.7,5.3Z\";\r\nexport var mdiCarDefrostFront = \"M15,23C14.7,23 14.5,22.9 14.3,22.7C13.9,22.3 14,21.7 14.4,21.3V21.3C14.9,20.9 16.1,19.5 16.1,18.4C16.1,17.8 15.7,17.2 15.3,16.5C14.8,15.7 14.1,14.7 14.1,13.5C14.1,11.2 15.4,10.3 15.6,10.2C16.1,9.9 16.7,10.1 17,10.5C17.3,11 17.1,11.6 16.7,11.9V11.9C16.7,11.9 16.2,12.3 16.2,13.5C16.2,14.1 16.6,14.7 17,15.4C17.5,16.2 18.2,17.2 18.2,18.4C18.2,20.6 16.1,22.6 15.9,22.8C15.5,22.9 15.2,23 15,23M11.7,22.7C11.9,22.5 14,20.5 14,18.3C14,17.1 13.4,16.1 12.8,15.3C12.4,14.6 12,14 12,13.4C12,12.2 12.5,11.8 12.5,11.8V11.8C13,11.5 13.1,10.9 12.8,10.4C12.5,9.9 11.9,9.8 11.4,10.1C11.2,10.2 9.9,11.1 9.9,13.4C9.9,14.6 10.5,15.6 11.1,16.4C11.5,17.1 11.9,17.7 11.9,18.3C11.9,19.4 10.7,20.8 10.2,21.2V21.2C9.8,21.6 9.8,22.2 10.1,22.6C10.3,22.8 10.6,22.9 10.8,22.9C11.2,23 11.5,22.9 11.7,22.7M7.7,22.7C7.9,22.5 10,20.5 10,18.3C10,17.1 9.4,16.1 8.8,15.3C8.4,14.7 8,14.1 8,13.4C8,12.2 8.5,11.8 8.5,11.8V11.8C9,11.5 9.1,10.9 8.8,10.4C8.6,10 7.9,9.9 7.5,10.1C7.3,10.2 6,11.1 6,13.4C6,14.6 6.6,15.6 7.2,16.4C7.6,17.1 8,17.7 8,18.3C8,19.4 6.8,20.8 6.3,21.2V21.2C5.9,21.6 5.9,22.2 6.2,22.6C6.5,22.9 6.7,23 7,23C7.2,23 7.5,22.9 7.7,22.7M12,3C9.4,3 1,3.3 1,7C1,9.4 2.2,15.4 2.8,18H4L4.8,18H5V16H4.4C3.8,13.1 3,8.8 3,7C3,6 7.4,5 12,5C16.6,5 21,6 21,7C21,8.8 20.2,13.1 19.6,16H19V18H19.2L20,18H21.2C21.8,15.4 23,9.4 23,7C23,3.3 14.6,3 12,3Z\";\r\nexport var mdiCarDefrostRear = \"M10,18.3C10,20.5 7.9,22.5 7.7,22.7C7.5,22.9 7.2,23 7,23C6.7,23 6.5,22.9 6.2,22.6C5.9,22.2 5.9,21.6 6.3,21.2C6.8,20.8 8,19.4 8,18.3C8,17.7 7.6,17.1 7.2,16.4C6.6,15.6 6,14.6 6,13.4C6,11.1 7.3,10.2 7.5,10.1C7.9,9.9 8.6,10 8.8,10.4C9.1,10.9 9,11.5 8.5,11.8C8.5,11.8 8,12.2 8,13.4C8,14.1 8.4,14.7 8.8,15.3C9.4,16.1 10,17.1 10,18.3M12,13.4C12,12.2 12.5,11.8 12.5,11.8C13,11.5 13.1,10.9 12.8,10.4C12.5,9.9 11.9,9.8 11.4,10.1C11.2,10.2 9.9,11.1 9.9,13.4C9.9,14.6 10.5,15.6 11.1,16.4C11.5,17.1 11.9,17.7 11.9,18.3C11.9,19.4 10.7,20.8 10.2,21.2C9.8,21.6 9.8,22.2 10.1,22.6C10.3,22.8 10.6,22.9 10.8,22.9C11.2,23 11.5,22.9 11.7,22.7C11.9,22.5 14,20.5 14,18.3C14,17.1 13.4,16.1 12.8,15.3C12.4,14.6 12,14 12,13.4M20,3H4A2,2 0 0,0 2,5V16A2,2 0 0,0 4,18H5V16H4V5H20V16H19V18H20A2,2 0 0,0 22,16V5A2,2 0 0,0 20,3M16.2,13.5C16.2,12.3 16.7,11.9 16.7,11.9C17.1,11.6 17.3,11 17,10.5C16.7,10.1 16.1,9.9 15.6,10.2C15.4,10.3 14.1,11.2 14.1,13.5C14.1,14.7 14.8,15.7 15.3,16.5C15.7,17.2 16.1,17.8 16.1,18.4C16.1,19.5 14.9,20.9 14.4,21.3C14,21.7 13.9,22.3 14.3,22.7C14.5,22.9 14.7,23 15,23C15.2,23 15.5,22.9 15.9,22.8C16.1,22.6 18.2,20.6 18.2,18.4C18.2,17.2 17.5,16.2 17,15.4C16.6,14.7 16.2,14.1 16.2,13.5Z\";\r\nexport var mdiCarDoor = \"M19,14H16V16H19V14M22,21H3V11L11,3H21A1,1 0 0,1 22,4V21M11.83,5L5.83,11H20V5H11.83Z\";\r\nexport var mdiCarDoorLock = \"M7.8 17V15.5C7.8 14.1 6.4 13 5 13S2.2 14.1 2.2 15.5V17C1.6 17 1 17.6 1 18.2V21.7C1 22.4 1.6 23 2.2 23H7.7C8.4 23 9 22.4 9 21.8V18.3C9 17.6 8.4 17 7.8 17M6.5 17H3.5V15.5C3.5 14.7 4.2 14.2 5 14.2S6.5 14.7 6.5 15.5V17M21 3H11L3 11V11.44C3.61 11.17 4.29 11 5 11C7.6 11 9.8 13.06 9.8 15.5V15.75C10.53 16.36 11 17.28 11 18.3V21H22V4C22 3.45 21.55 3 21 3M19 16H16V14H19V16M20 11H5.83L11.83 5H20V11Z\";\r\nexport var mdiCarElectric = \"M18.92 2C18.72 1.42 18.16 1 17.5 1H6.5C5.84 1 5.29 1.42 5.08 2L3 8V16C3 16.55 3.45 17 4 17H5C5.55 17 6 16.55 6 16V15H18V16C18 16.55 18.45 17 19 17H20C20.55 17 21 16.55 21 16V8L18.92 2M6.5 12C5.67 12 5 11.33 5 10.5S5.67 9 6.5 9 8 9.67 8 10.5 7.33 12 6.5 12M17.5 12C16.67 12 16 11.33 16 10.5S16.67 9 17.5 9 19 9.67 19 10.5 18.33 12 17.5 12M5 7L6.5 2.5H17.5L19 7H5M7 20H11V18L17 21H13V23L7 20Z\";\r\nexport var mdiCarElectricOutline = \"M18.92 2C18.72 1.42 18.16 1 17.5 1H6.5C5.84 1 5.29 1.42 5.08 2L3 8V16C3 16.55 3.45 17 4 17H5C5.55 17 6 16.55 6 16V15H18V16C18 16.55 18.45 17 19 17H20C20.55 17 21 16.55 21 16V8L18.92 2M6.85 3H17.14L18.22 6.11H5.77L6.85 3M19 13H5V8H19V13M7.5 9C8.33 9 9 9.67 9 10.5S8.33 12 7.5 12 6 11.33 6 10.5 6.67 9 7.5 9M16.5 9C17.33 9 18 9.67 18 10.5S17.33 12 16.5 12C15.67 12 15 11.33 15 10.5S15.67 9 16.5 9M7 20H11V18L17 21H13V23L7 20Z\";\r\nexport var mdiCarEmergency = \"M11 0V3H13V0H11M7.88 1.46L6.46 2.87L8.59 5L10 3.58L7.88 1.46M16.12 1.46L14 3.58L15.41 5L17.54 2.88L16.12 1.46M12 5A2 2 0 0 0 10 7V8H6.5C5.84 8 5.28 8.42 5.08 9L3 15V23A1 1 0 0 0 4 24H5A1 1 0 0 0 6 23V22H18V23A1 1 0 0 0 19 24H20A1 1 0 0 0 21 23V15L18.92 9C18.72 8.42 18.16 8 17.5 8H14V7A2 2 0 0 0 12 5M6.5 9.5H17.5L19 14H5L6.5 9.5M6.5 16A1.5 1.5 0 0 1 8 17.5A1.5 1.5 0 0 1 6.5 19A1.5 1.5 0 0 1 5 17.5A1.5 1.5 0 0 1 6.5 16M17.5 16A1.5 1.5 0 0 1 19 17.5A1.5 1.5 0 0 1 17.5 19A1.5 1.5 0 0 1 16 17.5A1.5 1.5 0 0 1 17.5 16Z\";\r\nexport var mdiCarEsp = \"M5.31,6C6.95,4.16 9.34,3 12,3C14.66,3 17.05,4.16 18.69,6H15.58C14.53,5.37 13.31,5 12,5C10.69,5 9.47,5.37 8.42,6H5.31M14.4,9.6V8H11.2A1.6,1.6 0 0,0 9.6,9.6V11.2C9.6,12.08 10.32,12.8 11.2,12.8H12.8V14.4H9.6V16H12.8A1.6,1.6 0 0,0 14.4,14.4V12.8C14.4,11.92 13.68,11.2 12.8,11.2H11.2V9.6H14.4M18.4,8H15.2V16H16.8V12.8H18.4A1.6,1.6 0 0,0 20,11.2V9.6C20,8.72 19.28,8 18.4,8M18.4,11.2H16.8V9.6H18.4V11.2M8.8,9.6V8H4V16H8.8V14.4H5.6V12.8H8.8V11.2H5.6V9.6H8.8M15.58,18C14.53,18.63 13.31,19 12,19C10.69,19 9.47,18.63 8.42,18H5.31C6.95,19.84 9.34,21 12,21C14.66,21 17.05,19.84 18.69,18H15.58M20.5,3.5L19.42,4.58C21.32,6.5 22.5,9.11 22.5,12C22.5,14.9 21.32,17.5 19.42,19.42L20.5,20.5C22.66,18.31 24,15.31 24,12C24,8.69 22.66,5.69 20.5,3.5M4.58,4.58L3.5,3.5C1.34,5.69 0,8.69 0,12C0,15.31 1.34,18.31 3.5,20.5L4.58,19.42C2.68,17.5 1.5,14.9 1.5,12C1.5,9.11 2.68,6.5 4.58,4.58Z\";\r\nexport var mdiCarEstate = \"M3,6H16L19,10H21C22.11,10 23,10.89 23,12V15H21A3,3 0 0,1 18,18A3,3 0 0,1 15,15H9A3,3 0 0,1 6,18A3,3 0 0,1 3,15H1V8C1,6.89 1.89,6 3,6M2.5,7.5V10H10.5V7.5H2.5M12,7.5V10H17.14L15.25,7.5H12M6,13.5A1.5,1.5 0 0,0 4.5,15A1.5,1.5 0 0,0 6,16.5A1.5,1.5 0 0,0 7.5,15A1.5,1.5 0 0,0 6,13.5M18,13.5A1.5,1.5 0 0,0 16.5,15A1.5,1.5 0 0,0 18,16.5A1.5,1.5 0 0,0 19.5,15A1.5,1.5 0 0,0 18,13.5Z\";\r\nexport var mdiCarHatchback = \"M16,6H6L1,12V15H3A3,3 0 0,0 6,18A3,3 0 0,0 9,15H15A3,3 0 0,0 18,18A3,3 0 0,0 21,15H23V12C23,10.89 22.11,10 21,10H19L16,6M6.5,7.5H10.5V10H4.5L6.5,7.5M12,7.5H15.5L17.46,10H12V7.5M6,13.5A1.5,1.5 0 0,1 7.5,15A1.5,1.5 0 0,1 6,16.5A1.5,1.5 0 0,1 4.5,15A1.5,1.5 0 0,1 6,13.5M18,13.5A1.5,1.5 0 0,1 19.5,15A1.5,1.5 0 0,1 18,16.5A1.5,1.5 0 0,1 16.5,15A1.5,1.5 0 0,1 18,13.5Z\";\r\nexport var mdiCarInfo = \"M19 15H17V13H19M20 20V22H16V20H17V18H16V16H19V20M18.92 5A1.5 1.5 0 0 0 17.5 4H6.5A1.5 1.5 0 0 0 5.08 5L3 11V19A1 1 0 0 0 4 20H5A1 1 0 0 0 6 19V18H11A7 7 0 0 1 18 11A6.84 6.84 0 0 1 21 11.68V11M6.5 15A1.5 1.5 0 1 1 8 13.5A1.5 1.5 0 0 1 6.5 15M5 10L6.5 5.5H17.5L19 10Z\";\r\nexport var mdiCarKey = \"M9.5,0A3,3 0 0,0 6.5,3A3,3 0 0,0 9.5,6C10.81,6 11.92,5.17 12.33,4H14.5V6H16.5V4H17.5V2H12.33C11.92,0.83 10.81,0 9.5,0M9.5,2A1,1 0 0,1 10.5,3A1,1 0 0,1 9.5,4A1,1 0 0,1 8.5,3A1,1 0 0,1 9.5,2M6.5,8C5.84,8 5.28,8.42 5.08,9L3,15V23A1,1 0 0,0 4,24H5A1,1 0 0,0 6,23V22H18V23A1,1 0 0,0 19,24H20A1,1 0 0,0 21,23V15L18.92,9C18.72,8.42 18.16,8 17.5,8H6.5M6.5,9.5H17.5L19,14H5L6.5,9.5M6.5,16A1.5,1.5 0 0,1 8,17.5A1.5,1.5 0 0,1 6.5,19A1.5,1.5 0 0,1 5,17.5A1.5,1.5 0 0,1 6.5,16M17.5,16A1.5,1.5 0 0,1 19,17.5A1.5,1.5 0 0,1 17.5,19A1.5,1.5 0 0,1 16,17.5A1.5,1.5 0 0,1 17.5,16Z\";\r\nexport var mdiCarLiftedPickup = \"M18 14L18.79 14.1L18.77 14.33L19.24 14.5L19.39 14.34C19.89 14.6 20.32 15 20.6 15.5L20.43 15.67L20.63 16.12L20.86 16.1C20.95 16.39 21 16.69 21 17L20.9 17.78L20.66 17.77L20.47 18.24L20.66 18.39C20.39 18.9 20 19.32 19.5 19.6L19.33 19.42L18.87 19.62L18.89 19.86C18.61 19.95 18.31 20 18 20L17.21 19.9L17.22 19.65L16.76 19.47L16.6 19.66C16.1 19.39 15.67 19 15.39 18.5L15.57 18.32L15.37 17.86L15.13 17.88C15.05 17.6 15 17.31 15 17L15.11 16.2L15.34 16.21L15.53 15.75L15.35 15.6C15.62 15.09 16 14.68 16.5 14.39L16.67 14.56L17.13 14.36L17.11 14.14C17.39 14.05 17.69 14 18 14M18 15.5C17.17 15.5 16.5 16.17 16.5 17C16.5 17.83 17.17 18.5 18 18.5C18.83 18.5 19.5 17.83 19.5 17C19.5 16.17 18.83 15.5 18 15.5M6 14L6.79 14.1L6.77 14.33L7.24 14.5L7.39 14.34C7.89 14.6 8.32 15 8.6 15.5L8.43 15.67L8.63 16.12L8.86 16.1C8.95 16.39 9 16.69 9 17L8.9 17.78L8.65 17.77L8.47 18.24L8.66 18.39C8.39 18.9 8 19.32 7.5 19.6L7.33 19.42L6.87 19.62L6.89 19.86C6.61 19.95 6.31 20 6 20L5.21 19.9L5.22 19.65L4.76 19.47L4.6 19.66C4.1 19.39 3.67 19 3.39 18.5L3.57 18.32L3.37 17.86L3.13 17.88C3.05 17.6 3 17.31 3 17L3.11 16.2L3.34 16.21L3.53 15.75L3.35 15.6C3.62 15.09 4 14.68 4.5 14.39L4.67 14.56L5.13 14.36L5.11 14.14C5.39 14.05 5.69 14 6 14M6 15.5C5.17 15.5 4.5 16.17 4.5 17C4.5 17.83 5.17 18.5 6 18.5C6.83 18.5 7.5 17.83 7.5 17C7.5 16.17 6.83 15.5 6 15.5M16 6L19 10H21C22.11 10 23 10.89 23 12V15H21C21 13.34 19.66 12 18 12C16.34 12 15 13.34 15 15H9C9 13.34 7.66 12 6 12C4.34 12 3 13.34 3 15H1V10H10.5V6L16 6M12 7.5V10H17.46L15.5 7.5H12Z\";\r\nexport var mdiCarLightDimmed = \"M13,4.8C9,4.8 9,19.2 13,19.2C17,19.2 22,16.5 22,12C22,7.5 17,4.8 13,4.8M13.1,17.2C12.7,16.8 12,15 12,12C12,9 12.7,7.2 13.1,6.8C16,6.9 20,8.7 20,12C20,15.3 15.9,17.1 13.1,17.2M8,10.5C8,11 7.9,11.5 7.9,12C7.9,12.2 7.9,12.4 7.9,12.6L2.4,14L1.9,12.1L8,10.5M2,7L9.4,5.1C9.2,5.4 9,5.8 8.9,6.3C8.8,6.6 8.7,7 8.6,7.4L2.5,8.9L2,7M8.2,15.5C8.3,16.2 8.5,16.9 8.7,17.4L2.4,19L1.9,17.1L8.2,15.5Z\";\r\nexport var mdiCarLightFog = \"M13,4.8C9,4.8 9,19.2 13,19.2C17,19.2 22,16.5 22,12C22,7.5 17,4.8 13,4.8M13.1,17.2C12.7,16.8 12,15 12,12C12,9 12.7,7.2 13.1,6.8C16,6.9 20,8.7 20,12C20,15.3 16,17.1 13.1,17.2M6,8V11H8C8,11.3 8,11.7 8,12C8,12.3 8,12.7 8,13H6V16H8.4C8.6,16.7 8.8,17.4 9,18H6V21H4V18H2V16H4V13H2V11H4V8H2V6H4V3H6V6H9C9,6.1 8.9,6.2 8.9,6.4C8.7,6.9 8.5,7.4 8.4,8H6Z\";\r\nexport var mdiCarLightHigh = \"M13,4.8C9,4.8 9,19.2 13,19.2C17,19.2 22,16.5 22,12C22,7.5 17,4.8 13,4.8M13.1,17.2C12.7,16.8 12,15 12,12C12,9 12.7,7.2 13.1,6.8C16,6.9 20,8.7 20,12C20,15.3 16,17.1 13.1,17.2M2,5H9.5C9.3,5.4 9,5.8 8.9,6.4C8.8,6.6 8.8,6.8 8.7,7H2V5M8,11H2V9H8.2C8.1,9.6 8.1,10.3 8,11M8.7,17C8.9,17.8 9.2,18.4 9.6,19H2.1V17H8.7M8.2,15H2V13H8C8.1,13.7 8.1,14.4 8.2,15Z\";\r\nexport var mdiCarLimousine = \"M1,6L2.5,7.5L1,9L2.5,10.5L1,12L2.5,13.5L1,15H15A3,3 0 0,0 18,18A3,3 0 0,0 21,15H23V12C23,10.89 22.11,10 21,10H19L16,6H1M4.62,7.5H10.5V10H4.12L3.12,9L4.62,7.5M12,7.5H15.5L17.46,10H12V7.5M18,13.5A1.5,1.5 0 0,1 19.5,15A1.5,1.5 0 0,1 18,16.5A1.5,1.5 0 0,1 16.5,15A1.5,1.5 0 0,1 18,13.5Z\";\r\nexport var mdiCarMultiple = \"M8,11L9.5,6.5H18.5L20,11M18.5,16A1.5,1.5 0 0,1 17,14.5A1.5,1.5 0 0,1 18.5,13A1.5,1.5 0 0,1 20,14.5A1.5,1.5 0 0,1 18.5,16M9.5,16A1.5,1.5 0 0,1 8,14.5A1.5,1.5 0 0,1 9.5,13A1.5,1.5 0 0,1 11,14.5A1.5,1.5 0 0,1 9.5,16M19.92,6C19.71,5.4 19.14,5 18.5,5H9.5C8.86,5 8.29,5.4 8.08,6L6,12V20A1,1 0 0,0 7,21H8A1,1 0 0,0 9,20V19H19V20A1,1 0 0,0 20,21H21A1,1 0 0,0 22,20V12L19.92,6M14.92,3C14.71,2.4 14.14,2 13.5,2H4.5C3.86,2 3.29,2.4 3.08,3L1,9V17A1,1 0 0,0 2,18H3A1,1 0 0,0 4,17V12.91C3.22,12.63 2.82,11.77 3.1,11C3.32,10.4 3.87,10 4.5,10H4.57L5.27,8H3L4.5,3.5H15.09L14.92,3Z\";\r\nexport var mdiCarOff = \"M20.5,19.85L6.41,5.76L2.41,1.76L1.11,3L4.57,6.46L3,11V19A1,1 0 0,0 4,20H5A1,1 0 0,0 6,19V18H16.11L20.84,22.73L22.11,21.46L20.5,19.85M6.5,15A1.5,1.5 0 0,1 5,13.5A1.5,1.5 0 0,1 6.5,12A1.5,1.5 0 0,1 8,13.5A1.5,1.5 0 0,1 6.5,15M5,10L5.78,7.67L8.11,10H5M17.5,5.5L19,10H13.2L16.12,12.92C16.5,12.17 17.37,11.86 18.12,12.21C18.87,12.57 19.18,13.47 18.83,14.21C18.68,14.5 18.43,14.77 18.12,14.92L21,17.8V11L18.92,5C18.71,4.4 18.14,4 17.5,4H7.2L8.7,5.5H17.5Z\";\r\nexport var mdiCarOutline = \"M18.9 6C18.7 5.4 18.1 5 17.5 5H6.5C5.8 5 5.3 5.4 5.1 6L3 12V20C3 20.5 3.5 21 4 21H5C5.6 21 6 20.5 6 20V19H18V20C18 20.5 18.5 21 19 21H20C20.5 21 21 20.5 21 20V12L18.9 6M6.8 7H17.1L18.2 10H5.8L6.8 7M19 17H5V12H19V17M7.5 13C8.3 13 9 13.7 9 14.5S8.3 16 7.5 16 6 15.3 6 14.5 6.7 13 7.5 13M16.5 13C17.3 13 18 13.7 18 14.5S17.3 16 16.5 16C15.7 16 15 15.3 15 14.5S15.7 13 16.5 13Z\";\r\nexport var mdiCarParkingLights = \"M7.3,9.2C8.1,9.6 9,10.5 9,12C9,13.5 8.1,14.4 7.3,14.8C6.9,13.4 6.9,10.6 7.3,9.2M6.5,7C4.5,7 4.5,17 6.5,17C8.5,17 11,15.1 11,12C11,8.9 8.5,7 6.5,7M16.7,9.2C17,10.6 17,13.4 16.7,14.8C15.9,14.4 15,13.5 15,12C15,10.5 15.9,9.6 16.7,9.2M17.5,7C15.5,7 13,8.9 13,12C13,15.1 15.5,17 17.5,17C19.5,17 19.5,7 17.5,7M4.9,6.2L2.5,4.6L1.4,6.3L4,8C4.2,7.3 4.5,6.6 4.9,6.2M20,8L22.6,6.3L21.5,4.6L19.1,6.2C19.4,6.6 19.8,7.2 20,8M4,16L1.4,17.7L2.5,19.4L4.9,17.8C4.6,17.4 4.2,16.8 4,16M20.5,11C20.5,11.3 20.5,11.7 20.5,12C20.5,12.3 20.5,12.6 20.5,13H24V11H20.5M19.1,17.8L21.5,19.4L22.6,17.7L20,16C19.8,16.7 19.5,17.4 19.1,17.8M3.5,12C3.5,11.7 3.5,11.4 3.5,11H0V13H3.5C3.5,12.7 3.5,12.3 3.5,12Z\";\r\nexport var mdiCarPickup = \"M16,6H10.5V10H1V15H3A3,3 0 0,0 6,18A3,3 0 0,0 9,15H15A3,3 0 0,0 18,18A3,3 0 0,0 21,15H23V12C23,10.89 22.11,10 21,10H19L16,6M12,7.5H15.5L17.46,10H12V7.5M6,13.5A1.5,1.5 0 0,1 7.5,15A1.5,1.5 0 0,1 6,16.5A1.5,1.5 0 0,1 4.5,15A1.5,1.5 0 0,1 6,13.5M18,13.5A1.5,1.5 0 0,1 19.5,15A1.5,1.5 0 0,1 18,16.5A1.5,1.5 0 0,1 16.5,15A1.5,1.5 0 0,1 18,13.5Z\";\r\nexport var mdiCarSeat = \"M7 18C7 18 4 10 4 6S6 2 6 2H7C7 2 8 2 8 3S7 4 7 6 10 10 10 13 7 18 7 18M12 17C11 17 8 19.5 8 19.5C7.7 19.7 7.8 20 8 20.3C8 20.3 9 22.1 11 22.1H17C18.1 22.1 19 21.2 19 20.1V19.1C19 18 18.1 17.1 17 17.1H12Z\";\r\nexport var mdiCarSeatCooler = \"M20.8 10.2L19.4 10.6L18.2 9.9V8.2L19.4 7.5L20.8 7.9L21.1 6.8L20 6.5L20.3 5.4L19.2 5.1L18.8 6.5L17.6 7.2L16.1 6.3V5L17.1 4L16.3 3.2L15.5 4L14.7 3.2L13.9 4L14.9 5V6.3L13.4 7.2L12.2 6.5L11.9 5.1L10.8 5.4L11.1 6.5L10 6.7L10.3 7.8L11.7 7.4L12.9 8.1V9.8L11.7 10.5L10.3 10.1L10 11.4L11.1 11.7L10.8 12.7L11.9 13L12.3 11.6L13.5 10.9L15 11.8V13.1L14 14.1L14.8 14.9L15.6 14.1L16.4 14.9L17.2 14.1L16.2 13.1V11.8L17.7 10.9L18.9 11.6L19.3 13L20.4 12.7L20 11.6L21.1 11.3L20.8 10.2M14 8.2L15.5 7.3L17 8.2V9.9L15.5 10.8L14 9.9V8.2M5 18C5 18 2 10 2 6S4 2 4 2H5C5 2 6 2 6 3S5 4 5 6 8 10 8 13 5 18 5 18M15 17C16.1 17 17 17.9 17 19V20C17 21.1 16.1 22 15 22H9C7 22 6 20.2 6 20.2C5.8 20 5.7 19.6 6 19.4C6 19.4 9 16.9 10 16.9H15Z\";\r\nexport var mdiCarSeatHeater = \"M5 18C5 18 2 10 2 6S4 2 4 2H5C5 2 6 2 6 3S5 4 5 6 8 10 8 13 5 18 5 18M15 17C16.1 17 17 17.9 17 19V20C17 21.1 16.1 22 15 22H9C7 22 6 20.2 6 20.2C5.8 20 5.7 19.6 6 19.4C6 19.4 9 16.9 10 16.9H15M13.7 3.4L12.3 6.8L13.7 10.2L11.7 15L10 13.6L11.4 10.2L10 6.8L12 2L13.7 3.4M17.9 3.4L16.5 6.8L17.9 10.2L15.9 15L14.2 13.6L15.6 10.2L14.2 6.8L16.2 2L17.9 3.4M22 3.4L20.6 6.8L22 10.2L20 15L18.3 13.6L19.7 10.2L18.3 6.8L20.3 2L22 3.4\";\r\nexport var mdiCarSettings = \"M15 22H17V24H15M11 22H13V24H11M7 22H9V24H7M5 11L6.5 6.5H17.5L19 11M17.5 16A1.5 1.5 0 0 1 16 14.5A1.5 1.5 0 0 1 17.5 13A1.5 1.5 0 0 1 19 14.5A1.5 1.5 0 0 1 17.5 16M6.5 16A1.5 1.5 0 0 1 5 14.5A1.5 1.5 0 0 1 6.5 13A1.5 1.5 0 0 1 8 14.5A1.5 1.5 0 0 1 6.5 16M18.92 6C18.72 5.42 18.16 5 17.5 5H6.5C5.84 5 5.28 5.42 5.08 6L3 12V20A1 1 0 0 0 4 21H5A1 1 0 0 0 6 20V19H18V20A1 1 0 0 0 19 21H20A1 1 0 0 0 21 20V12Z\";\r\nexport var mdiCarShiftPattern = \"M8 5H4V2H8V5M4 22H8V19H4V22M14 2H10V5H14V2M10 22H14V19H10V22M16 2V5H20V2H16M17 11H13V7H11V11H7V7H5V17H7V13H11V17H13V13H19V7H17V11Z\";\r\nexport var mdiCarSide = \"M16,6L19,10H21C22.11,10 23,10.89 23,12V15H21A3,3 0 0,1 18,18A3,3 0 0,1 15,15H9A3,3 0 0,1 6,18A3,3 0 0,1 3,15H1V12C1,10.89 1.89,10 3,10L6,6H16M10.5,7.5H6.75L4.86,10H10.5V7.5M12,7.5V10H17.14L15.25,7.5H12M6,13.5A1.5,1.5 0 0,0 4.5,15A1.5,1.5 0 0,0 6,16.5A1.5,1.5 0 0,0 7.5,15A1.5,1.5 0 0,0 6,13.5M18,13.5A1.5,1.5 0 0,0 16.5,15A1.5,1.5 0 0,0 18,16.5A1.5,1.5 0 0,0 19.5,15A1.5,1.5 0 0,0 18,13.5Z\";\r\nexport var mdiCarSports = \"M12,8.5H7L4,11H3C1.89,11 1,11.89 1,13V16H3.17C3.6,17.2 4.73,18 6,18C7.27,18 8.4,17.2 8.82,16H15.17C15.6,17.2 16.73,18 18,18C19.27,18 20.4,17.2 20.82,16H23V15C23,13.89 21.97,13.53 21,13L12,8.5M5.25,12L7.5,10H11.5L15.5,12H5.25M6,13.5A1.5,1.5 0 0,1 7.5,15A1.5,1.5 0 0,1 6,16.5A1.5,1.5 0 0,1 4.5,15A1.5,1.5 0 0,1 6,13.5M18,13.5A1.5,1.5 0 0,1 19.5,15A1.5,1.5 0 0,1 18,16.5A1.5,1.5 0 0,1 16.5,15A1.5,1.5 0 0,1 18,13.5Z\";\r\nexport var mdiCarTireAlert = \"M11,13H13V15H11V13M11,5H13V11H11V5M17,4.76C18.86,6.19 20,8.61 20,11C20,14 18.33,16.64 15.86,18H8.14C5.67,16.64 4,14 4,11C4,8.61 5.09,6.17 7,4.76V2H5V3.86C3.15,5.68 2,8.2 2,11C2,13.8 3.15,16.32 5,18.14V22H7V20H9V22H11V20H13V22H15V20H17V22H19V18.14C20.85,16.32 22,13.8 22,11C22,8.2 20.85,5.68 19,3.86V2H17V4.76Z\";\r\nexport var mdiCarTractionControl = \"M9.5,11H10.5C10.8,11 11,10.8 11,10.5V9H19V10.5C19,10.8 19.2,11 19.5,11H20.5C20.8,11 21,10.8 21,10.5V9L21,8.5V6L19.6,1.7C19.5,1.3 19.1,1 18.7,1H11.4C11,1 10.6,1.3 10.5,1.7L9,6V8.5L9,9V10.5C9,10.8 9.2,11 9.5,11M11.3,2H18.6L19.5,5H10.4L11.3,2M12,23H10C10,22.2 8.1,21.5 6.6,20.9C4.5,20.1 2,19.2 2,17C2,14.7 4.3,14.1 6.2,13.5C7.9,13.1 9,12.7 9,12H11C11,14.3 8.7,14.9 6.8,15.5C5.1,15.9 4,16.3 4,17C4,17.8 5.9,18.5 7.4,19.1C9.5,19.9 12,20.8 12,23M22,23H20C20,22.2 18.1,21.5 16.6,20.9C14.5,20.1 12,19.2 12,17C12,14.7 14.3,14.1 16.2,13.5C17.8,13 19,12.7 19,12H21C21,14.3 18.7,14.9 16.8,15.5C15.2,15.9 14,16.3 14,17C14,17.8 15.9,18.5 17.4,19.1C19.5,19.9 22,20.8 22,23Z\";\r\nexport var mdiCarTurbocharger = \"M22 13V15H18.32C18.75 14.09 19 13.08 19 12C19 8.14 15.86 5 12 5H2V3H12C16.97 3 21 7.03 21 12C21 12.34 20.97 12.67 20.94 13H22M12 19C8.14 19 5 15.86 5 12C5 10.93 5.25 9.91 5.69 9H2V11H3.06C3.03 11.33 3 11.66 3 12C3 16.97 7.03 21 12 21H22V19H12M16.86 12.2C15.93 12.94 14.72 12.47 14 12.05V12C16.79 10.31 15.39 7.89 15.39 7.89S14.33 6.04 14.61 7.89C14.78 9.07 13.76 9.88 13.04 10.3L13 10.28C12.93 7 10.13 7 10.13 7S8 7 9.74 7.69C10.85 8.13 11.04 9.42 11.05 10.25L11 10.28C8.14 8.7 6.74 11.12 6.74 11.12S5.67 12.97 7.14 11.8C8.07 11.07 9.28 11.54 10 11.95V12C7.21 13.7 8.61 16.12 8.61 16.12S9.67 17.97 9.4 16.11C9.22 14.94 10.25 14.13 10.97 13.7L11 13.73C11.07 17 13.87 17 13.87 17S16 17 14.26 16.31C13.15 15.87 12.96 14.58 12.95 13.75L13 13.73C15.86 15.31 17.26 12.88 17.26 12.88S18.33 11.04 16.86 12.2Z\";\r\nexport var mdiCarWash = \"M5,13L6.5,8.5H17.5L19,13M17.5,18A1.5,1.5 0 0,1 16,16.5A1.5,1.5 0 0,1 17.5,15A1.5,1.5 0 0,1 19,16.5A1.5,1.5 0 0,1 17.5,18M6.5,18A1.5,1.5 0 0,1 5,16.5A1.5,1.5 0 0,1 6.5,15A1.5,1.5 0 0,1 8,16.5A1.5,1.5 0 0,1 6.5,18M18.92,8C18.72,7.42 18.16,7 17.5,7H6.5C5.84,7 5.28,7.42 5.08,8L3,14V22A1,1 0 0,0 4,23H5A1,1 0 0,0 6,22V21H18V22A1,1 0 0,0 19,23H20A1,1 0 0,0 21,22V14M7,5A1.5,1.5 0 0,0 8.5,3.5C8.5,2.5 7,0.8 7,0.8C7,0.8 5.5,2.5 5.5,3.5A1.5,1.5 0 0,0 7,5M12,5A1.5,1.5 0 0,0 13.5,3.5C13.5,2.5 12,0.8 12,0.8C12,0.8 10.5,2.5 10.5,3.5A1.5,1.5 0 0,0 12,5M17,5A1.5,1.5 0 0,0 18.5,3.5C18.5,2.5 17,0.8 17,0.8C17,0.8 15.5,2.5 15.5,3.5A1.5,1.5 0 0,0 17,5Z\";\r\nexport var mdiCarWindshield = \"M22.63 15.5L20.21 5.85A1 1 0 0 0 19.14 5.1C17.8 5.24 14.14 5.5 12 5.5S6.2 5.24 4.86 5.1A1 1 0 0 0 3.79 5.85L1.37 15.5A1.5 1.5 0 0 0 2.55 17.36A61.5 61.5 0 0 0 12 18A61.5 61.5 0 0 0 21.45 17.36A1.5 1.5 0 0 0 22.63 15.5Z\";\r\nexport var mdiCarWindshieldOutline = \"M22.63 15.5L20.21 5.85A1 1 0 0 0 19.14 5.1C17.8 5.24 14.14 5.5 12 5.5S6.2 5.24 4.86 5.1A1 1 0 0 0 3.79 5.85L1.37 15.5A1.5 1.5 0 0 0 2.55 17.36A61.5 61.5 0 0 0 12 18A61.5 61.5 0 0 0 21.45 17.36A1.5 1.5 0 0 0 22.63 15.5M12 16A63.33 63.33 0 0 1 3.44 15.5L5.5 7.18C7 7.32 10.16 7.5 12 7.5S17 7.32 18.5 7.18L20.56 15.5A63.33 63.33 0 0 1 12 16Z\";\r\nexport var mdiCarWrench = \"M20.96 16.45C20.97 16.3 21 16.15 21 16V16.5L20.96 16.45M11 16C11 16.71 11.15 17.39 11.42 18H6V19C6 19.55 5.55 20 5 20H4C3.45 20 3 19.55 3 19V11L5.08 5C5.28 4.42 5.84 4 6.5 4H17.5C18.16 4 18.72 4.42 18.92 5L21 11V16C21 13.24 18.76 11 16 11S11 13.24 11 16M8 13.5C8 12.67 7.33 12 6.5 12S5 12.67 5 13.5 5.67 15 6.5 15 8 14.33 8 13.5M19 10L17.5 5.5H6.5L5 10H19M22.87 21.19L18.76 17.08C19.17 16.04 18.94 14.82 18.08 13.97C17.18 13.06 15.83 12.88 14.74 13.38L16.68 15.32L15.33 16.68L13.34 14.73C12.8 15.82 13.05 17.17 13.93 18.08C14.79 18.94 16 19.16 17.05 18.76L21.16 22.86C21.34 23.05 21.61 23.05 21.79 22.86L22.83 21.83C23.05 21.65 23.05 21.33 22.87 21.19Z\";\r\nexport var mdiCarabiner = \"M8 17.5C8 18.33 7.33 19 6.5 19S5 18.33 5 17.5 5.67 16 6.5 16 8 16.67 8 17.5M18 5.59C17.79 3.54 16.18 2 14.24 2H8.88C6.95 2 5.36 3.5 5.15 5.53L5 6.59C4.92 7.34 5.5 8 6.24 8C6.87 8 7.39 7.53 7.47 6.91L7.61 5.82C7.68 5.07 8.23 4.5 8.88 4.5H14.24C14.89 4.5 15.44 5.07 15.5 5.82L16.5 16.88C16.59 17.74 16 18.5 15.25 18.5L10.04 17.82C9.95 18.77 9.5 19.6 8.8 20.18L14.93 21L15.09 21H15.25C16.27 21 17.26 20.56 17.96 19.78C18.71 18.94 19.09 17.8 19 16.65L18 5.59M11.66 7.94C11.08 7.57 10.31 7.75 9.94 8.34L6.39 14C6.43 14 6.46 14 6.5 14C7.38 14 8.18 14.34 8.8 14.88L12.06 9.66C12.43 9.08 12.25 8.31 11.66 7.94Z\";\r\nexport var mdiCaravan = \"M5,7A2,2 0 0,0 3,9V15A2,2 0 0,0 5,17H7A3,3 0 0,0 10,20A3,3 0 0,0 13,17H21V15H19V9A2,2 0 0,0 17,7H5M5,9H10V12H5V9M13,9H17V12H13V9M10,16A1,1 0 0,1 11,17A1,1 0 0,1 10,18A1,1 0 0,1 9,17A1,1 0 0,1 10,16Z\";\r\nexport var mdiCard = \"M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20Z\";\r\nexport var mdiCardAccountDetails = \"M2,3H22C23.05,3 24,3.95 24,5V19C24,20.05 23.05,21 22,21H2C0.95,21 0,20.05 0,19V5C0,3.95 0.95,3 2,3M14,6V7H22V6H14M14,8V9H21.5L22,9V8H14M14,10V11H21V10H14M8,13.91C6,13.91 2,15 2,17V18H14V17C14,15 10,13.91 8,13.91M8,6A3,3 0 0,0 5,9A3,3 0 0,0 8,12A3,3 0 0,0 11,9A3,3 0 0,0 8,6Z\";\r\nexport var mdiCardAccountDetailsOutline = \"M22,3H2C0.91,3.04 0.04,3.91 0,5V19C0.04,20.09 0.91,20.96 2,21H22C23.09,20.96 23.96,20.09 24,19V5C23.96,3.91 23.09,3.04 22,3M22,19H2V5H22V19M14,17V15.75C14,14.09 10.66,13.25 9,13.25C7.34,13.25 4,14.09 4,15.75V17H14M9,7A2.5,2.5 0 0,0 6.5,9.5A2.5,2.5 0 0,0 9,12A2.5,2.5 0 0,0 11.5,9.5A2.5,2.5 0 0,0 9,7M14,7V8H20V7H14M14,9V10H20V9H14M14,11V12H18V11H14\";\r\nexport var mdiCardAccountDetailsStar = \"M20 22.09L22.45 23.58L21.8 20.77L24 18.89L21.11 18.64L20 16L18.87 18.64L16 18.89L18.18 20.77L17.5 23.58L20 22.09M14.08 21H2C.95 21 0 20.05 0 19V5C0 3.95 .95 3 2 3H22C23.05 3 24 3.95 24 5V15.53C22.94 14.58 21.54 14 20 14C16.69 14 14 16.69 14 20C14 20.34 14.03 20.68 14.08 21M8 13.91C6 13.91 2 15 2 17V18H14V17C14 15 10 13.91 8 13.91M8 6C6.35 6 5 7.35 5 9C5 10.65 6.35 12 8 12C9.65 12 11 10.65 11 9C11 7.35 9.65 6 8 6M21 10H14V11H21V10M22 8H14V9H22V8M22 6H14V7H22V6Z\";\r\nexport var mdiCardAccountDetailsStarOutline = \"M20 22.09L22.45 23.58L21.8 20.77L24 18.89L21.11 18.64L20 16L18.87 18.64L16 18.89L18.18 20.77L17.5 23.58L20 22.09M14.08 21H2C.91 20.96 .04 20.09 0 19V5C.04 3.91 .91 3.04 2 3H22C23.09 3.04 23.96 3.91 24 5V15.53C23.42 15 22.75 14.61 22 14.34V5H2V19H14.08C14.03 19.33 14 19.66 14 20C14 20.34 14.03 20.68 14.08 21M14 17H4V15.75C4 14.09 7.34 13.25 9 13.25C10.66 13.25 14 14.09 14 15.75V17M14 11H18V12H14V11M9 7C7.63 7 6.5 8.13 6.5 9.5C6.5 10.87 7.63 12 9 12C10.37 12 11.5 10.87 11.5 9.5C11.5 8.13 10.37 7 9 7M14 9H20V10H14V9M14 7H20V8H14V7Z\";\r\nexport var mdiCardAccountMail = \"M21,8V7L18,9L15,7V8L18,10M22,3H2A2,2 0 0,0 0,5V19A2,2 0 0,0 2,21H22A2,2 0 0,0 24,19V5A2,2 0 0,0 22,3M8,6A3,3 0 0,1 11,9A3,3 0 0,1 8,12A3,3 0 0,1 5,9A3,3 0 0,1 8,6M14,18H2V17C2,15 6,13.9 8,13.9C10,13.9 14,15 14,17M22,12H14V6H22\";\r\nexport var mdiCardAccountMailOutline = \"M22,3H2A2,2 0 0,0 0,5V19A2,2 0 0,0 2,21H22A2,2 0 0,0 24,19V5A2,2 0 0,0 22,3M22,19H2V5H22V19M21,6H14V11H21V6M20,8L17.5,9.75L15,8V7L17.5,8.75L20,7V8M9,12A3,3 0 0,0 12,9A3,3 0 0,0 9,6A3,3 0 0,0 6,9A3,3 0 0,0 9,12M9,8A1,1 0 0,1 10,9A1,1 0 0,1 9,10A1,1 0 0,1 8,9A1,1 0 0,1 9,8M15,16.59C15,14.09 11.03,13 9,13C6.97,13 3,14.09 3,16.59V18H15V16.59M5.5,16C6.22,15.5 7.7,15 9,15C10.3,15 11.77,15.5 12.5,16H5.5Z\";\r\nexport var mdiCardAccountPhone = \"M22,3H2A2,2 0 0,0 0,5V19A2,2 0 0,0 2,21H22A2,2 0 0,0 24,19V5A2,2 0 0,0 22,3M8,6A3,3 0 0,1 11,9A3,3 0 0,1 8,12A3,3 0 0,1 5,9A3,3 0 0,1 8,6M14,18H2V17C2,15 6,13.9 8,13.9C10,13.9 14,15 14,17V18M17.85,14H19.5L21,16L19,18C17.7,17 16.73,15.61 16.28,14C16.1,13.36 16,12.69 16,12C16,11.31 16.1,10.64 16.28,10C16.73,8.38 17.7,7 19,6L21,8L19.5,10H17.85C17.63,10.63 17.5,11.3 17.5,12C17.5,12.7 17.63,13.37 17.85,14Z\";\r\nexport var mdiCardAccountPhoneOutline = \"M22,3H2A2,2 0 0,0 0,5V19A2,2 0 0,0 2,21H22A2,2 0 0,0 24,19V5A2,2 0 0,0 22,3M22,19H2V5H22V19M19,18L21,16L19.5,14H17.85C17.63,13.37 17.5,12.7 17.5,12C17.5,11.3 17.63,10.63 17.85,10H19.5L21,8L19,6C17.7,7 16.73,8.38 16.28,10C16.1,10.64 16,11.31 16,12C16,12.69 16.1,13.36 16.28,14C16.73,15.61 17.7,17 19,18M9,12A3,3 0 0,0 12,9A3,3 0 0,0 9,6A3,3 0 0,0 6,9A3,3 0 0,0 9,12M9,8A1,1 0 0,1 10,9A1,1 0 0,1 9,10A1,1 0 0,1 8,9A1,1 0 0,1 9,8M15,16.59C15,14.09 11.03,13 9,13C6.97,13 3,14.09 3,16.59V18H15V16.59M5.5,16C6.22,15.5 7.7,15 9,15C10.3,15 11.77,15.5 12.5,16H5.5Z\";\r\nexport var mdiCardBulleted = \"M20,4A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20M11,13H9V15H11V13M19,13H13V15H19V13M7,9H5V11H7V9M19,9H9V11H19V9Z\";\r\nexport var mdiCardBulletedOff = \"M3.35,3.58L20.65,20.87L19.23,22.29L16.94,20H4A2,2 0 0,1 2,18V6C2,5.72 2.06,5.46 2.16,5.22L1.23,4.29L2.65,2.87L3.35,3.58M6.6,4H20A2,2 0 0,1 22,6V18C22,18.4 21.88,18.77 21.68,19.08L17.6,15H20V13H15.6L13.6,11H20V9H11.6L6.6,4M9.94,13H9V15H11V14.06L9.94,13M5.94,9H5V11H7V10.06L5.94,9Z\";\r\nexport var mdiCardBulletedOffOutline = \"M20.59,20.87L19.17,22.29L16.88,20H4A2,2 0 0,1 2,18V6C2,5.74 2.05,5.5 2.14,5.26L1.17,4.29L2.59,2.87L3.73,4L20.59,20.87V20.87M6.54,4H20A2,2 0 0,1 22,6V18C22,18.41 21.87,18.8 21.66,19.12L20,17.46V6H8.54L6.54,4M4,18H14.88L11.88,15H10V13.12L7.88,11H6V9.12L4,7.12V18M18,15H17.54L15.54,13H18V15M18,11H13.54L11.54,9H18V11Z\";\r\nexport var mdiCardBulletedOutline = \"M12,15H10V13H12V15M18,15H14V13H18V15M8,11H6V9H8V11M18,11H10V9H18V11M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20M4,6V18H20V6H4Z\";\r\nexport var mdiCardBulletedSettings = \"M9,22V24H7V22H9M13,22V24H11V22H13M17,22V24H15V22H17M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20M11,13H9V15H11V13M19,13H13V15H19V13M7,9H5V11H7V9M19,9H9V11H19V9Z\";\r\nexport var mdiCardBulletedSettingsOutline = \"M9,22V24H7V22H9M13,22V24H11V22H13M17,22V24H15V22H17M12,15H10V13H12V15M18,15H14V13H18V15M8,11H6V9H8V11M18,11H10V9H18V11M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20M4,6V18H20V6H4Z\";\r\nexport var mdiCardMinus = \"M23 18V20H15V18H23M19 13C20.09 13 21.12 13.3 22 13.81V6C22 4.89 21.11 4 20 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19C13 15.69 15.69 13 19 13Z\";\r\nexport var mdiCardMinusOutline = \"M23 18V20H15V18H23M13.09 18H4V6H20V13.09C20.72 13.21 21.39 13.46 22 13.81V6C22 4.89 21.11 4 20 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19C13 18.66 13.04 18.33 13.09 18Z\";\r\nexport var mdiCardMultiple = \"M21 3C21.53 3 22.04 3.21 22.41 3.59C22.79 3.96 23 4.47 23 5V15C23 15.53 22.79 16.04 22.41 16.41C22.04 16.79 21.53 17 21 17H7C6.47 17 5.96 16.79 5.59 16.41C5.21 16.04 5 15.53 5 15V5C5 4.47 5.21 3.96 5.59 3.59C5.96 3.21 6.47 3 7 3H21M3 19H18V21H3C2.47 21 1.96 20.79 1.59 20.41C1.21 20.04 1 19.53 1 19V8H3V19Z\";\r\nexport var mdiCardMultipleOutline = \"M21 16V6H7V16H21M21 4C21.53 4 22.04 4.21 22.41 4.59C22.79 4.96 23 5.47 23 6V16C23 16.53 22.79 17.04 22.41 17.41C22.04 17.79 21.53 18 21 18H7C5.89 18 5 17.1 5 16V6C5 4.89 5.89 4 7 4H21M3 20H18V22H3C2.47 22 1.96 21.79 1.59 21.41C1.21 21.04 1 20.53 1 20V9H3V20Z\";\r\nexport var mdiCardOff = \"M21.88 18.68L7.2 4H20C21.11 4 22 4.89 22 6V18C22 18.24 21.96 18.47 21.88 18.68M20.56 19.91L20.57 19.91L2.39 1.73L1.11 3L2.65 4.54C2.25 4.9 2 5.42 2 6V18C2 19.11 2.9 20 4 20H18.11L20.84 22.73L22.11 21.46L20.56 19.91Z\";\r\nexport var mdiCardOffOutline = \"M9.2 6L7.2 4H20C21.11 4 22 4.89 22 6V18C22 18.24 21.96 18.47 21.88 18.68L20 16.8V6H9.2M22.11 21.46L20.84 22.73L18.11 20H4C2.9 20 2 19.11 2 18V6C2 5.42 2.25 4.9 2.65 4.54L1.11 3L2.39 1.73L6.66 6L18.65 18H18.66L20.57 19.91L20.56 19.91L22.11 21.46M16.11 18L4.11 6H4V18H16.11Z\";\r\nexport var mdiCardOutline = \"M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20M4,6V18H20V6H4Z\";\r\nexport var mdiCardPlus = \"M13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H20C21.11 4 22 4.89 22 6V13.81C21.12 13.3 20.09 13 19 13C15.69 13 13 15.69 13 19C13 19.34 13.04 19.67 13.09 20M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiCardPlusOutline = \"M21 15V18H24V20H21V23H19V20H16V18H19V15H21M14 18H3V6H19V13H21V6C21 4.89 20.11 4 19 4H3C1.9 4 1 4.89 1 6V18C1 19.11 1.9 20 3 20H14V18Z\";\r\nexport var mdiCardRemove = \"M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19M19 13C20.09 13 21.12 13.3 22 13.81V6C22 4.89 21.11 4 20 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19C13 15.69 15.69 13 19 13Z\";\r\nexport var mdiCardRemoveOutline = \"M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19M13.09 18H4V6H20V13.09C20.72 13.21 21.39 13.46 22 13.81V6C22 4.89 21.11 4 20 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19C13 18.66 13.04 18.33 13.09 18Z\";\r\nexport var mdiCardSearch = \"M11.5 9C10.12 9 9 10.12 9 11.5S10.12 14 11.5 14 14 12.88 14 11.5 12.88 9 11.5 9M20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V6C22 4.9 21.1 4 20 4M16.79 18.21L13.88 15.3C13.19 15.74 12.37 16 11.5 16C9 16 7 14 7 11.5S9 7 11.5 7 16 9 16 11.5C16 12.38 15.74 13.19 15.3 13.89L18.21 16.79L16.79 18.21Z\";\r\nexport var mdiCardSearchOutline = \"M11.5 16C12.37 16 13.19 15.74 13.88 15.3L16.32 17.74L17.74 16.32L15.3 13.89C15.74 13.19 16 12.38 16 11.5C16 9 14 7 11.5 7S7 9 7 11.5 9 16 11.5 16M11.5 9C12.88 9 14 10.12 14 11.5S12.88 14 11.5 14 9 12.88 9 11.5 10.12 9 11.5 9M20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V6C22 4.9 21.1 4 20 4M20 18H4V6H20V18Z\";\r\nexport var mdiCardText = \"M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20M5,13V15H16V13H5M5,9V11H19V9H5Z\";\r\nexport var mdiCardTextOutline = \"M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20M4,6V18H20V6H4M6,9H18V11H6V9M6,13H16V15H6V13Z\";\r\nexport var mdiCards = \"M21.47,4.35L20.13,3.79V12.82L22.56,6.96C22.97,5.94 22.5,4.77 21.47,4.35M1.97,8.05L6.93,20C7.24,20.77 7.97,21.24 8.74,21.26C9,21.26 9.27,21.21 9.53,21.1L16.9,18.05C17.65,17.74 18.11,17 18.13,16.26C18.14,16 18.09,15.71 18,15.45L13,3.5C12.71,2.73 11.97,2.26 11.19,2.25C10.93,2.25 10.67,2.31 10.42,2.4L3.06,5.45C2.04,5.87 1.55,7.04 1.97,8.05M18.12,4.25A2,2 0 0,0 16.12,2.25H14.67L18.12,10.59\";\r\nexport var mdiCardsClub = \"M12,2C14.3,2 16.3,4 16.3,6.2C16.21,8.77 14.34,9.83 14.04,10C15.04,9.5 16.5,9.5 16.5,9.5C19,9.5 21,11.3 21,13.8C21,16.3 19,18 16.5,18C16.5,18 15,18 13,17C13,17 12.7,19 15,22H9C11.3,19 11,17 11,17C9,18 7.5,18 7.5,18C5,18 3,16.3 3,13.8C3,11.3 5,9.5 7.5,9.5C7.5,9.5 8.96,9.5 9.96,10C9.66,9.83 7.79,8.77 7.7,6.2C7.7,4 9.7,2 12,2Z\";\r\nexport var mdiCardsDiamond = \"M19,12L12,22L5,12L12,2\";\r\nexport var mdiCardsDiamondOutline = \"M12 2L5 12L12 22L19 12M7.44 12L12 5.5L16.56 12L12 18.5\";\r\nexport var mdiCardsHeart = \"M12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35Z\";\r\nexport var mdiCardsOutline = \"M11.19,2.25C10.93,2.25 10.67,2.31 10.42,2.4L3.06,5.45C2.04,5.87 1.55,7.04 1.97,8.05L6.93,20C7.24,20.77 7.97,21.23 8.74,21.25C9,21.25 9.27,21.22 9.53,21.1L16.9,18.05C17.65,17.74 18.11,17 18.13,16.25C18.14,16 18.09,15.71 18,15.45L13,3.5C12.71,2.73 11.97,2.26 11.19,2.25M14.67,2.25L18.12,10.6V4.25A2,2 0 0,0 16.12,2.25M20.13,3.79V12.82L22.56,6.96C22.97,5.94 22.5,4.78 21.47,4.36M11.19,4.22L16.17,16.24L8.78,19.3L3.8,7.29\";\r\nexport var mdiCardsPlayingOutline = \"M11.19,2.25C11.97,2.26 12.71,2.73 13,3.5L18,15.45C18.09,15.71 18.14,16 18.13,16.25C18.11,17 17.65,17.74 16.9,18.05L9.53,21.1C9.27,21.22 9,21.25 8.74,21.25C7.97,21.23 7.24,20.77 6.93,20L1.97,8.05C1.55,7.04 2.04,5.87 3.06,5.45L10.42,2.4C10.67,2.31 10.93,2.25 11.19,2.25M14.67,2.25H16.12A2,2 0 0,1 18.12,4.25V10.6L14.67,2.25M20.13,3.79L21.47,4.36C22.5,4.78 22.97,5.94 22.56,6.96L20.13,12.82V3.79M11.19,4.22L3.8,7.29L8.77,19.3L16.17,16.24L11.19,4.22M8.65,8.54L11.88,10.95L11.44,14.96L8.21,12.54L8.65,8.54Z\";\r\nexport var mdiCardsSpade = \"M12,2C9,7 4,9 4,14C4,16 6,18 8,18C9,18 10,18 11,17C11,17 11.32,19 9,22H15C13,19 13,17 13,17C14,18 15,18 16,18C18,18 20,16 20,14C20,9 15,7 12,2Z\";\r\nexport var mdiCardsVariant = \"M5,2H19A1,1 0 0,1 20,3V13A1,1 0 0,1 19,14H5A1,1 0 0,1 4,13V3A1,1 0 0,1 5,2M6,4V12H18V4H6M20,17A1,1 0 0,1 19,18H5A1,1 0 0,1 4,17V16H20V17M20,21A1,1 0 0,1 19,22H5A1,1 0 0,1 4,21V20H20V21Z\";\r\nexport var mdiCarrot = \"M16,10L15.8,11H13.5A0.5,0.5 0 0,0 13,11.5A0.5,0.5 0 0,0 13.5,12H15.6L14.6,17H12.5A0.5,0.5 0 0,0 12,17.5A0.5,0.5 0 0,0 12.5,18H14.4L14,20A2,2 0 0,1 12,22A2,2 0 0,1 10,20L9,15H10.5A0.5,0.5 0 0,0 11,14.5A0.5,0.5 0 0,0 10.5,14H8.8L8,10C8,8.8 8.93,7.77 10.29,7.29L8.9,5.28C8.59,4.82 8.7,4.2 9.16,3.89C9.61,3.57 10.23,3.69 10.55,4.14L11,4.8V3A1,1 0 0,1 12,2A1,1 0 0,1 13,3V5.28L14.5,3.54C14.83,3.12 15.47,3.07 15.89,3.43C16.31,3.78 16.36,4.41 16,4.84L13.87,7.35C15.14,7.85 16,8.85 16,10Z\";\r\nexport var mdiCart = \"M17,18C15.89,18 15,18.89 15,20A2,2 0 0,0 17,22A2,2 0 0,0 19,20C19,18.89 18.1,18 17,18M1,2V4H3L6.6,11.59L5.24,14.04C5.09,14.32 5,14.65 5,15A2,2 0 0,0 7,17H19V15H7.42A0.25,0.25 0 0,1 7.17,14.75C7.17,14.7 7.18,14.66 7.2,14.63L8.1,13H15.55C16.3,13 16.96,12.58 17.3,11.97L20.88,5.5C20.95,5.34 21,5.17 21,5A1,1 0 0,0 20,4H5.21L4.27,2M7,18C5.89,18 5,18.89 5,20A2,2 0 0,0 7,22A2,2 0 0,0 9,20C9,18.89 8.1,18 7,18Z\";\r\nexport var mdiCartArrowDown = \"M10,0V4H8L12,8L16,4H14V0M1,2V4H3L6.6,11.59L5.25,14.04C5.09,14.32 5,14.65 5,15A2,2 0 0,0 7,17H19V15H7.42C7.29,15 7.17,14.89 7.17,14.75L7.2,14.63L8.1,13H15.55C16.3,13 16.96,12.59 17.3,11.97L21.16,4.96L19.42,4H19.41L18.31,6L15.55,11H8.53L8.4,10.73L6.16,6L5.21,4L4.27,2M7,18A2,2 0 0,0 5,20A2,2 0 0,0 7,22A2,2 0 0,0 9,20A2,2 0 0,0 7,18M17,18A2,2 0 0,0 15,20A2,2 0 0,0 17,22A2,2 0 0,0 19,20A2,2 0 0,0 17,18Z\";\r\nexport var mdiCartArrowRight = \"M9,20A2,2 0 0,1 7,22A2,2 0 0,1 5,20A2,2 0 0,1 7,18A2,2 0 0,1 9,20M17,18A2,2 0 0,0 15,20A2,2 0 0,0 17,22A2,2 0 0,0 19,20A2,2 0 0,0 17,18M7.2,14.63C7.19,14.67 7.19,14.71 7.2,14.75A0.25,0.25 0 0,0 7.45,15H19V17H7A2,2 0 0,1 5,15C5,14.65 5.07,14.31 5.24,14L6.6,11.59L3,4H1V2H4.27L5.21,4H20A1,1 0 0,1 21,5C21,5.17 20.95,5.34 20.88,5.5L17.3,12C16.94,12.62 16.27,13 15.55,13H8.1L7.2,14.63M9,9.5H13V11.5L16,8.5L13,5.5V7.5H9V9.5Z\";\r\nexport var mdiCartArrowUp = \"M12,0L8,4H10V8H14V4H16M1,2V4H3L6.6,11.59L5.25,14.04C5.09,14.32 5,14.65 5,15A2,2 0 0,0 7,17H19V15H7.42C7.29,15 7.17,14.89 7.17,14.75L7.2,14.63L8.1,13H15.55C16.3,13 16.96,12.59 17.3,11.97L21.16,4.96L19.42,4H19.41L18.31,6L15.55,11H8.53L8.4,10.73L6.16,6L5.21,4L4.27,2M7,18A2,2 0 0,0 5,20A2,2 0 0,0 7,22A2,2 0 0,0 9,20A2,2 0 0,0 7,18M17,18A2,2 0 0,0 15,20A2,2 0 0,0 17,22A2,2 0 0,0 19,20A2,2 0 0,0 17,18Z\";\r\nexport var mdiCartCheck = \"M9 20C9 21.11 8.11 22 7 22S5 21.11 5 20 5.9 18 7 18 9 18.9 9 20M17 18C15.9 18 15 18.9 15 20S15.9 22 17 22 19 21.11 19 20 18.11 18 17 18M7.17 14.75L7.2 14.63L8.1 13H15.55C16.3 13 16.96 12.59 17.3 11.97L21.16 4.96L19.42 4H19.41L18.31 6L15.55 11H8.53L8.4 10.73L6.16 6L5.21 4L4.27 2H1V4H3L6.6 11.59L5.25 14.04C5.09 14.32 5 14.65 5 15C5 16.11 5.9 17 7 17H19V15H7.42C7.29 15 7.17 14.89 7.17 14.75M18 2.76L16.59 1.34L11.75 6.18L9.16 3.59L7.75 5L11.75 9L18 2.76Z\";\r\nexport var mdiCartMinus = \"M16,6V4H8V6M7,18A2,2 0 0,0 5,20A2,2 0 0,0 7,22A2,2 0 0,0 9,20A2,2 0 0,0 7,18M17,18A2,2 0 0,0 15,20A2,2 0 0,0 17,22A2,2 0 0,0 19,20A2,2 0 0,0 17,18M7.17,14.75L7.2,14.63L8.1,13H15.55C16.3,13 16.96,12.59 17.3,11.97L21.16,4.96L19.42,4H19.41L18.31,6L15.55,11H8.53L8.4,10.73L6.16,6L5.21,4L4.27,2H1V4H3L6.6,11.59L5.25,14.04C5.09,14.32 5,14.65 5,15A2,2 0 0,0 7,17H19V15H7.42C7.29,15 7.17,14.89 7.17,14.75Z\";\r\nexport var mdiCartOff = \"M22.73,22.73L1.27,1.27L0,2.54L4.39,6.93L6.6,11.59L5.25,14.04C5.09,14.32 5,14.65 5,15A2,2 0 0,0 7,17H14.46L15.84,18.38C15.34,18.74 15,19.33 15,20A2,2 0 0,0 17,22C17.67,22 18.26,21.67 18.62,21.16L21.46,24L22.73,22.73M7.42,15A0.25,0.25 0 0,1 7.17,14.75L7.2,14.63L8.1,13H10.46L12.46,15H7.42M15.55,13C16.3,13 16.96,12.59 17.3,11.97L20.88,5.5C20.96,5.34 21,5.17 21,5A1,1 0 0,0 20,4H6.54L15.55,13M7,18A2,2 0 0,0 5,20A2,2 0 0,0 7,22A2,2 0 0,0 9,20A2,2 0 0,0 7,18Z\";\r\nexport var mdiCartOutline = \"M17,18A2,2 0 0,1 19,20A2,2 0 0,1 17,22C15.89,22 15,21.1 15,20C15,18.89 15.89,18 17,18M1,2H4.27L5.21,4H20A1,1 0 0,1 21,5C21,5.17 20.95,5.34 20.88,5.5L17.3,11.97C16.96,12.58 16.3,13 15.55,13H8.1L7.2,14.63L7.17,14.75A0.25,0.25 0 0,0 7.42,15H19V17H7C5.89,17 5,16.1 5,15C5,14.65 5.09,14.32 5.24,14.04L6.6,11.59L3,4H1V2M7,18A2,2 0 0,1 9,20A2,2 0 0,1 7,22C5.89,22 5,21.1 5,20C5,18.89 5.89,18 7,18M16,11L18.78,6H6.14L8.5,11H16Z\";\r\nexport var mdiCartPlus = \"M11,9H13V6H16V4H13V1H11V4H8V6H11M7,18A2,2 0 0,0 5,20A2,2 0 0,0 7,22A2,2 0 0,0 9,20A2,2 0 0,0 7,18M17,18A2,2 0 0,0 15,20A2,2 0 0,0 17,22A2,2 0 0,0 19,20A2,2 0 0,0 17,18M7.17,14.75L7.2,14.63L8.1,13H15.55C16.3,13 16.96,12.59 17.3,11.97L21.16,4.96L19.42,4H19.41L18.31,6L15.55,11H8.53L8.4,10.73L6.16,6L5.21,4L4.27,2H1V4H3L6.6,11.59L5.25,14.04C5.09,14.32 5,14.65 5,15A2,2 0 0,0 7,17H19V15H7.42C7.29,15 7.17,14.89 7.17,14.75Z\";\r\nexport var mdiCartRemove = \"M14.12,8.53L12,6.41L9.88,8.54L8.46,7.12L10.59,5L8.47,2.88L9.88,1.47L12,3.59L14.12,1.46L15.54,2.88L13.41,5L15.53,7.12L14.12,8.53M7,18A2,2 0 0,1 9,20A2,2 0 0,1 7,22A2,2 0 0,1 5,20A2,2 0 0,1 7,18M17,18A2,2 0 0,1 19,20A2,2 0 0,1 17,22A2,2 0 0,1 15,20A2,2 0 0,1 17,18M7.17,14.75A0.25,0.25 0 0,0 7.42,15H19V17H7A2,2 0 0,1 5,15C5,14.65 5.09,14.32 5.25,14.04L6.6,11.59L3,4H1V2H4.27L5.21,4L6.16,6L8.4,10.73L8.53,11H15.55L18.31,6L19.41,4H19.42L21.16,4.96L17.3,11.97C16.96,12.59 16.3,13 15.55,13H8.1L7.2,14.63L7.17,14.75Z\";\r\nexport var mdiCartVariant = \"M19 20C19 21.11 18.11 22 17 22C15.89 22 15 21.1 15 20C15 18.89 15.89 18 17 18C18.11 18 19 18.9 19 20M7 18C5.89 18 5 18.89 5 20C5 21.1 5.89 22 7 22C8.11 22 9 21.11 9 20S8.11 18 7 18M7.2 14.63L7.17 14.75C7.17 14.89 7.28 15 7.42 15H19V17H7C5.89 17 5 16.1 5 15C5 14.65 5.09 14.32 5.24 14.04L6.6 11.59L3 4H1V2H4.27L5.21 4H20C20.55 4 21 4.45 21 5C21 5.17 20.95 5.34 20.88 5.5L17.3 11.97C16.96 12.58 16.3 13 15.55 13H8.1L7.2 14.63M8.5 11H10V9H7.56L8.5 11M11 9V11H14V9H11M14 8V6H11V8H14M17.11 9H15V11H16L17.11 9M18.78 6H15V8H17.67L18.78 6M6.14 6L7.08 8H10V6H6.14Z\";\r\nexport var mdiCaseSensitiveAlt = \"M20,14C20,12.5 19.5,12 18,12H16V11C16,10 16,10 14,10V15.4L14,19H16L18,19C19.5,19 20,18.47 20,17V14M12,12C12,10.5 11.47,10 10,10H6C4.5,10 4,10.5 4,12V19H6V16H10V19H12V12M10,7H14V5H10V7M22,9V20C22,21.11 21.11,22 20,22H4A2,2 0 0,1 2,20V9C2,7.89 2.89,7 4,7H8V5L10,3H14L16,5V7H20A2,2 0 0,1 22,9H22M16,17H18V14H16V17M6,12H10V14H6V12Z\";\r\nexport var mdiCash = \"M3,6H21V18H3V6M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M7,8A2,2 0 0,1 5,10V14A2,2 0 0,1 7,16H17A2,2 0 0,1 19,14V10A2,2 0 0,1 17,8H7Z\";\r\nexport var mdiCash100 = \"M2,5H22V20H2V5M20,18V7H4V18H20M17,8A2,2 0 0,0 19,10V15A2,2 0 0,0 17,17H7A2,2 0 0,0 5,15V10A2,2 0 0,0 7,8H17M17,13V12C17,10.9 16.33,10 15.5,10C14.67,10 14,10.9 14,12V13C14,14.1 14.67,15 15.5,15C16.33,15 17,14.1 17,13M15.5,11A0.5,0.5 0 0,1 16,11.5V13.5A0.5,0.5 0 0,1 15.5,14A0.5,0.5 0 0,1 15,13.5V11.5A0.5,0.5 0 0,1 15.5,11M13,13V12C13,10.9 12.33,10 11.5,10C10.67,10 10,10.9 10,12V13C10,14.1 10.67,15 11.5,15C12.33,15 13,14.1 13,13M11.5,11A0.5,0.5 0 0,1 12,11.5V13.5A0.5,0.5 0 0,1 11.5,14A0.5,0.5 0 0,1 11,13.5V11.5A0.5,0.5 0 0,1 11.5,11M8,15H9V10H8L7,10.5V11.5L8,11V15Z\";\r\nexport var mdiCashCheck = \"M3 6V18H13.32C13.1 17.33 13 16.66 13 16H7C7 14.9 6.11 14 5 14V10C6.11 10 7 9.11 7 8H17C17 9.11 17.9 10 19 10V10.06C19.67 10.06 20.34 10.18 21 10.4V6H3M12 9C10.3 9.03 9 10.3 9 12C9 13.7 10.3 14.94 12 15C12.38 15 12.77 14.92 13.14 14.77C13.41 13.67 13.86 12.63 14.97 11.61C14.85 10.28 13.59 8.97 12 9M21.63 12.27L17.76 16.17L16.41 14.8L15 16.22L17.75 19L23.03 13.68L21.63 12.27Z\";\r\nexport var mdiCashLock = \"M21.8 15C22.4 15 23 15.6 23 16.3V19.8C23 20.4 22.4 21 21.7 21H16.2C15.6 21 15 20.4 15 19.7V16.2C15 15.6 15.6 15 16.2 15V13.5C16.2 12.1 17.6 11 19 11C20.4 11 21.8 12.1 21.8 13.5V15M20.5 15V13.5C20.5 12.7 19.8 12.2 19 12.2C18.2 12.2 17.5 12.7 17.5 13.5V15H20.5M2 6H20V9.1L19 9C18.18 9 17.41 9.2 16.73 9.54C16.28 9.18 16 8.62 16 8H6C6 9.11 5.11 10 4 10V14C5.11 14 6 14.9 6 16H13.04L13 16.5V18H2V6M11 9C12.66 9 14 10.34 14 12C14 13.66 12.66 15 11 15C9.34 15 8 13.66 8 12C8 10.34 9.34 9 11 9Z\";\r\nexport var mdiCashLockOpen = \"M21.8 16C22.4 16 23 16.6 23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V13.5C16.2 12.1 17.6 11 19 11C20.4 11 21.8 12.1 21.8 13.5V14H20.5V13.5C20.5 12.7 19.8 12.2 19 12.2C18.2 12.2 17.5 12.7 17.5 13.5V16H21.8M2 6H20V9.1L19 9C18.18 9 17.41 9.2 16.73 9.54C16.28 9.18 16 8.62 16 8H6C6 9.11 5.11 10 4 10V14C5.11 14 6 14.9 6 16H13.04L13 16.5V18H2V6M11 9C12.66 9 14 10.34 14 12C14 13.66 12.66 15 11 15C9.34 15 8 13.66 8 12C8 10.34 9.34 9 11 9Z\";\r\nexport var mdiCashMarker = \"M18.5,16.8C17.8,16.8 17.3,16.2 17.3,15.6C17.3,14.9 17.9,14.4 18.5,14.4C19.1,14.4 19.7,15 19.7,15.6C19.8,16.2 19.2,16.8 18.5,16.8M18.5,12C16.6,12 15,13.6 15,15.5C15,18.1 18.5,22 18.5,22C18.5,22 22,18.1 22,15.5C22,13.6 20.4,12 18.5,12M14.9,11.3C14.6,10 13.4,9 12,9C10.3,9 9,10.3 9,12C9,13.7 10.3,15 12,15C12.4,15 12.7,14.9 13,14.8C13.2,13.4 13.9,12.2 14.9,11.3M13,16H7A2,2 0 0,0 5,14V10A2,2 0 0,0 7,8H17A2,2 0 0,0 19,10C19,10 20,10 21,10.6V6H3V18H13.5C13.3,17.3 13.1,16.7 13,16Z\";\r\nexport var mdiCashMinus = \"M15 15V17H23V15M14.97 11.61C14.85 10.28 13.59 8.97 12 9C10.3 9.03 9 10.3 9 12C9 13.7 10.3 14.94 12 15C12.38 15 12.77 14.92 13.14 14.77C13.41 13.67 13.86 12.63 14.97 11.61M13 16H7C7 14.9 6.11 14 5 14V10C6.11 10 7 9.11 7 8H17C17 9.11 17.9 10 19 10V10.06C19.67 10.06 20.34 10.18 21 10.4V6H3V18H13.32C13.1 17.33 13 16.66 13 16Z\";\r\nexport var mdiCashMultiple = \"M5,6H23V18H5V6M14,9A3,3 0 0,1 17,12A3,3 0 0,1 14,15A3,3 0 0,1 11,12A3,3 0 0,1 14,9M9,8A2,2 0 0,1 7,10V14A2,2 0 0,1 9,16H19A2,2 0 0,1 21,14V10A2,2 0 0,1 19,8H9M1,10H3V20H19V22H1V10Z\";\r\nexport var mdiCashPlus = \"M15 15V17H18V20H20V17H23V15H20V12H18V15M14.97 11.61C14.85 10.28 13.59 8.97 12 9C10.3 9.03 9 10.3 9 12C9 13.7 10.3 14.94 12 15C12.38 15 12.77 14.92 13.14 14.77C13.41 13.67 13.86 12.63 14.97 11.61M13 16H7C7 14.9 6.11 14 5 14V10C6.11 10 7 9.11 7 8H17C17 9.11 17.9 10 19 10V10.06C19.67 10.06 20.34 10.18 21 10.4V6H3V18H13.32C13.1 17.33 13 16.66 13 16Z\";\r\nexport var mdiCashRefund = \"M12.3 8.93L9.88 6.5H15.5V10H17V5H9.88L12.3 2.57L11.24 1.5L7 5.75L11.24 10L12.3 8.93M12 14A3 3 0 1 0 15 17A3 3 0 0 0 12 14M3 11V23H21V11M19 19A2 2 0 0 0 17 21H7A2 2 0 0 0 5 19V15A2 2 0 0 0 7 13H17A2 2 0 0 0 19 15Z\";\r\nexport var mdiCashRegister = \"M2,17H22V21H2V17M6.25,7H9V6H6V3H14V6H11V7H17.8C18.8,7 19.8,8 20,9L20.5,16H3.5L4.05,9C4.05,8 5.05,7 6.25,7M13,9V11H18V9H13M6,9V10H8V9H6M9,9V10H11V9H9M6,11V12H8V11H6M9,11V12H11V11H9M6,13V14H8V13H6M9,13V14H11V13H9M7,4V5H13V4H7Z\";\r\nexport var mdiCashRemove = \"M15.46 18.12L16.88 19.54L19 17.41L21.12 19.54L22.54 18.12L20.41 16L22.54 13.88L21.12 12.46L19 14.59L16.88 12.46L15.46 13.88L17.59 16M14.97 11.62C14.86 10.28 13.58 8.97 12 9C10.3 9.04 9 10.3 9 12C9 13.7 10.3 14.94 12 15C12.39 15 12.77 14.92 13.14 14.77C13.41 13.67 13.86 12.63 14.97 11.62M13 16H7C7 14.9 6.1 14 5 14V10C6.1 10 7 9.1 7 8H17C17 9.1 17.9 10 19 10V10.05C19.67 10.06 20.34 10.18 21 10.4V6H3V18H13.32C13.1 17.33 13 16.66 13 16Z\";\r\nexport var mdiCassette = \"M4,5A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H6L7,17H17L18,19H20A2,2 0 0,0 22,17V7A2,2 0 0,0 20,5H4M6.5,10A1.5,1.5 0 0,1 8,11.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 5,11.5A1.5,1.5 0 0,1 6.5,10M9,10H15V13H9V10M17.5,10A1.5,1.5 0 0,1 19,11.5A1.5,1.5 0 0,1 17.5,13A1.5,1.5 0 0,1 16,11.5A1.5,1.5 0 0,1 17.5,10Z\";\r\nexport var mdiCast = \"M1,10V12A9,9 0 0,1 10,21H12C12,14.92 7.07,10 1,10M1,14V16A5,5 0 0,1 6,21H8A7,7 0 0,0 1,14M1,18V21H4A3,3 0 0,0 1,18M21,3H3C1.89,3 1,3.89 1,5V8H3V5H21V19H14V21H21A2,2 0 0,0 23,19V5C23,3.89 22.1,3 21,3Z\";\r\nexport var mdiCastAudio = \"M2 11V13C7 13 11 17 11 22H13C13 15.9 8.1 11 2 11M20 2H10C8.9 2 8 2.9 8 4V10.5C9 11 9.9 11.7 10.7 12.4C11.6 11 13.2 10 15 10C17.8 10 20 12.2 20 15S17.8 20 15 20H14.8C14.9 20.7 15 21.3 15 22H20C21.1 22 22 21.1 22 20V4C22 2.9 21.1 2 20 2M15 8C13.9 8 13 7.1 13 6C13 4.9 13.9 4 15 4C16.1 4 17 4.9 17 6S16.1 8 15 8M15 18C14.8 18 14.5 18 14.3 17.9C13.8 16.4 13.1 15.1 12.2 13.9C12.6 12.8 13.7 11.9 15 11.9C16.7 11.9 18 13.2 18 14.9S16.7 18 15 18M2 15V17C4.8 17 7 19.2 7 22H9C9 18.1 5.9 15 2 15M2 19V22H5C5 20.3 3.7 19 2 19\";\r\nexport var mdiCastAudioVariant = \"M14.5 12C14.5 10.62 13.38 9.5 12 9.5C10.62 9.5 9.5 10.62 9.5 12C9.5 13 10.09 13.84 10.93 14.25L9.82 15.35C8.73 14.64 8 13.41 8 12C8 9.79 9.79 8 12 8C14.21 8 16 9.79 16 12C16 13.41 15.27 14.64 14.18 15.35L13.08 14.25C13.92 13.84 14.5 13 14.5 12M12 2C6.5 2 2 6.5 2 12C2 15.06 3.38 17.8 5.54 19.63L6.61 18.57C4.71 17 3.5 14.64 3.5 12C3.5 7.31 7.31 3.5 12 3.5C16.69 3.5 20.5 7.31 20.5 12C20.5 14.64 19.29 17 17.39 18.57L18.46 19.63C20.62 17.79 22 15.06 22 12C22 6.5 17.5 2 12 2M19 12C19 8.13 15.87 5 12 5C8.13 5 5 8.13 5 12C5 14.23 6.05 16.22 7.68 17.5L8.75 16.43C7.39 15.42 6.5 13.82 6.5 12C6.5 8.97 8.97 6.5 12 6.5C15.03 6.5 17.5 8.97 17.5 12C17.5 13.82 16.61 15.42 15.25 16.43L16.33 17.5C17.95 16.22 19 14.23 19 12M6 22H18L12 16L6 22Z\";\r\nexport var mdiCastConnected = \"M21,3H3C1.89,3 1,3.89 1,5V8H3V5H21V19H14V21H21A2,2 0 0,0 23,19V5C23,3.89 22.1,3 21,3M1,10V12A9,9 0 0,1 10,21H12C12,14.92 7.07,10 1,10M19,7H5V8.63C8.96,9.91 12.09,13.04 13.37,17H19M1,14V16A5,5 0 0,1 6,21H8A7,7 0 0,0 1,14M1,18V21H4A3,3 0 0,0 1,18Z\";\r\nexport var mdiCastEducation = \"M21,3H3A2,2 0 0,0 1,5V8H3V5H21V19H14V21H21A2,2 0 0,0 23,19V5A2,2 0 0,0 21,3M1,18V21H4A3,3 0 0,0 1,18M1,14V16A5,5 0 0,1 6,21H8A7,7 0 0,0 1,14M1,10V12A9,9 0 0,1 10,21H12C12,14.92 7.07,10 1,10M11,11.09V13.09L14.5,15L18,13.09V11.09L14.5,13L11,11.09M14.5,6L9,9L14.5,12L20,9L14.5,6Z\";\r\nexport var mdiCastOff = \"M1.6,1.27L0.25,2.75L1.41,3.8C1.16,4.13 1,4.55 1,5V8H3V5.23L18.2,19H14V21H20.41L22.31,22.72L23.65,21.24M6.5,3L8.7,5H21V16.14L23,17.95V5C23,3.89 22.1,3 21,3M1,10V12A9,9 0 0,1 10,21H12C12,14.92 7.08,10 1,10M1,14V16A5,5 0 0,1 6,21H8A7,7 0 0,0 1,14M1,18V21H4A3,3 0 0,0 1,18Z\";\r\nexport var mdiCastVariant = \"M6,22H18L12,16M21,3H3A2,2 0 0,0 1,5V17A2,2 0 0,0 3,19H7V17H3V5H21V17H17V19H21A2,2 0 0,0 23,17V5A2,2 0 0,0 21,3Z\";\r\nexport var mdiCastle = \"M2,13H4V15H6V13H8V15H10V13H12V15H14V10L17,7V1H19L23,3L19,5V7L22,10V22H11V19A2,2 0 0,0 9,17A2,2 0 0,0 7,19V22H2V13M18,10C17.45,10 17,10.54 17,11.2V13H19V11.2C19,10.54 18.55,10 18,10Z\";\r\nexport var mdiCat = \"M12,8L10.67,8.09C9.81,7.07 7.4,4.5 5,4.5C5,4.5 3.03,7.46 4.96,11.41C4.41,12.24 4.07,12.67 4,13.66L2.07,13.95L2.28,14.93L4.04,14.67L4.18,15.38L2.61,16.32L3.08,17.21L4.53,16.32C5.68,18.76 8.59,20 12,20C15.41,20 18.32,18.76 19.47,16.32L20.92,17.21L21.39,16.32L19.82,15.38L19.96,14.67L21.72,14.93L21.93,13.95L20,13.66C19.93,12.67 19.59,12.24 19.04,11.41C20.97,7.46 19,4.5 19,4.5C16.6,4.5 14.19,7.07 13.33,8.09L12,8M9,11A1,1 0 0,1 10,12A1,1 0 0,1 9,13A1,1 0 0,1 8,12A1,1 0 0,1 9,11M15,11A1,1 0 0,1 16,12A1,1 0 0,1 15,13A1,1 0 0,1 14,12A1,1 0 0,1 15,11M11,14H13L12.3,15.39C12.5,16.03 13.06,16.5 13.75,16.5A1.5,1.5 0 0,0 15.25,15H15.75A2,2 0 0,1 13.75,17C13,17 12.35,16.59 12,16V16H12C11.65,16.59 11,17 10.25,17A2,2 0 0,1 8.25,15H8.75A1.5,1.5 0 0,0 10.25,16.5C10.94,16.5 11.5,16.03 11.7,15.39L11,14Z\";\r\nexport var mdiCctv = \"M6.03 12.03L8.03 15.5L5.5 18.68L2 12.62L6.03 12.03M17 18V15.29C17.88 14.9 18.5 14.03 18.5 13C18.5 12.43 18.3 11.9 17.97 11.5L19.94 10.35C20.95 9.76 21.3 8.47 20.71 7.46L19.33 5.06C18.74 4.05 17.45 3.7 16.44 4.28L8.31 9C7.36 9.53 7.03 10.75 7.58 11.71L9.08 14.31C9.63 15.26 10.86 15.59 11.81 15.04L13.69 13.96C13.94 14.55 14.41 15.03 15 15.29V18C15 19.1 15.9 20 17 20H22V18H17Z\";\r\nexport var mdiCeilingFan = \"M8 3V5H11V10.27C10.38 10.63 10 11.29 10 12V13H14V12C14 11.29 13.62 10.63 13 10.27V5H16V3H8M6 12C3.79 12 2 12.67 2 13.5S3.79 15 6 15 10 14.33 10 13.5 8.21 12 6 12M18 12C15.79 12 14 12.67 14 13.5S15.79 15 18 15 22 14.33 22 13.5 20.21 12 18 12M10 14V15C10 15.72 10.38 16.38 11 16.73C11.62 17.09 12.38 17.09 13 16.73C13.62 16.38 14 15.71 14 15V14H10Z\";\r\nexport var mdiCeilingFanLight = \"M8 3V5H11V10.27C10.38 10.63 10 11.29 10 12V13H14V12C14 11.29 13.62 10.63 13 10.27V5H16V3H8M6 12C3.79 12 2 12.67 2 13.5C2 14.33 3.79 15 6 15S10 14.33 10 13.5C10 12.67 8.21 12 6 12M18 12C15.79 12 14 12.67 14 13.5C14 14.33 15.79 15 18 15S22 14.33 22 13.5C22 12.67 20.21 12 18 12M10 14V15C10 15.72 10.38 16.38 11 16.73C11.62 17.09 12.38 17.09 13 16.73C13.62 16.38 14 15.71 14 15V14H10M13 19V22H11V19H13M15.88 16.46L18 18.59L16.59 20L14.47 17.88L15.88 16.46M9.54 17.88L7.41 20L6 18.59L8.12 16.47L9.54 17.88\";\r\nexport var mdiCeilingLight = \"M8,9H11V4H13V9H16L20,17H4L8,9M14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18H14Z\";\r\nexport var mdiCeilingLightOutline = \"M14.76 11L16.76 15H7.24L9.24 11H14.76M13 4H11V9H8L4 17H20L16 9H13V4M14 18H10C10 19.11 10.9 20 12 20S14 19.11 14 18Z\";\r\nexport var mdiCellphone = \"M17,19H7V5H17M17,1H7C5.89,1 5,1.89 5,3V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V3C19,1.89 18.1,1 17,1Z\";\r\nexport var mdiCellphoneArrowDown = \"M17,1H7A2,2 0 0,0 5,3V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V3A2,2 0 0,0 17,1M17,19H7V5H17V19M16,13H13V8H11V13H8L12,17L16,13Z\";\r\nexport var mdiCellphoneBasic = \"M15,2A1,1 0 0,0 14,3V6H10C8.89,6 8,6.89 8,8V20C8,21.11 8.89,22 10,22H15C16.11,22 17,21.11 17,20V8C17,7.26 16.6,6.62 16,6.28V3A1,1 0 0,0 15,2M10,8H15V13H10V8M10,15H11V16H10V15M12,15H13V16H12V15M14,15H15V16H14V15M10,17H11V18H10V17M12,17H13V18H12V17M14,17H15V18H14V17M10,19H11V20H10V19M12,19H13V20H12V19M14,19H15V20H14V19Z\";\r\nexport var mdiCellphoneCharging = \"M11 18.5V13H9L13 5.5V11H15M17 19H7V5H17M17 1H7C5.89 1 5 1.89 5 3V21A2 2 0 0 0 7 23H17A2 2 0 0 0 19 21V3C19 1.89 18.1 1 17 1Z\";\r\nexport var mdiCellphoneCheck = \"M14.54 23H7C5.9 23 5 22.11 5 21V3C5 1.89 5.89 1 7 1H17C18.1 1 19 1.89 19 3V13C18.3 13 17.63 13.13 17 13.35V5H7V19H13C13 20.54 13.58 21.94 14.54 23M17.75 22.16L15 19.16L16.16 18L17.75 19.59L21.34 16L22.5 17.41L17.75 22.16\";\r\nexport var mdiCellphoneCog = \"M9.82,12.5C9.84,12.33 9.86,12.17 9.86,12C9.86,11.83 9.84,11.67 9.82,11.5L10.9,10.69C11,10.62 11,10.5 10.96,10.37L9.93,8.64C9.87,8.53 9.73,8.5 9.62,8.53L8.34,9.03C8.07,8.83 7.78,8.67 7.47,8.54L7.27,7.21C7.27,7.09 7.16,7 7.03,7H5C4.85,7 4.74,7.09 4.72,7.21L4.5,8.53C4.21,8.65 3.92,8.83 3.65,9L2.37,8.5C2.25,8.47 2.12,8.5 2.06,8.63L1.03,10.36C0.97,10.5 1,10.61 1.1,10.69L2.18,11.5C2.16,11.67 2.15,11.84 2.15,12C2.15,12.17 2.17,12.33 2.19,12.5L1.1,13.32C1,13.39 1,13.53 1.04,13.64L2.07,15.37C2.13,15.5 2.27,15.5 2.38,15.5L3.66,15C3.93,15.18 4.22,15.34 4.53,15.47L4.73,16.79C4.74,16.91 4.85,17 5,17H7.04C7.17,17 7.28,16.91 7.29,16.79L7.5,15.47C7.8,15.35 8.09,15.17 8.36,15L9.64,15.5C9.76,15.53 9.89,15.5 9.95,15.37L11,13.64C11.04,13.53 11,13.4 10.92,13.32L9.82,12.5M6,13.75C5,13.75 4.2,12.97 4.2,12C4.2,11.03 5,10.25 6,10.25C7,10.25 7.8,11.03 7.8,12C7.8,12.97 7,13.75 6,13.75M17,1H7A2,2 0 0,0 5,3V6H7V4H17V20H7V18H5V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V3A2,2 0 0,0 17,1Z\";\r\nexport var mdiCellphoneDock = \"M16,15H8V5H16M16,1H8C6.89,1 6,1.89 6,3V17A2,2 0 0,0 8,19H16A2,2 0 0,0 18,17V3C18,1.89 17.1,1 16,1M8,23H16V21H8V23Z\";\r\nexport var mdiCellphoneInformation = \"M13 7H11V9H13V7M13 11H11V17H13V11M17 1H7C5.9 1 5 1.9 5 3V21C5 22.1 5.9 23 7 23H17C18.1 23 19 22.1 19 21V3C19 1.9 18.1 1 17 1M17 19H7V5H17V19Z\";\r\nexport var mdiCellphoneKey = \"M7,1A2,2 0 0,0 5,3V7H7V4H17V20H7V17H5V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V3A2,2 0 0,0 17,1H7M6,9A3,3 0 0,0 3,12A3,3 0 0,0 6,15C7.31,15 8.42,14.17 8.83,13H11V15H13V13H14V11H8.83C8.42,9.83 7.31,9 6,9M6,11A1,1 0 0,1 7,12A1,1 0 0,1 6,13A1,1 0 0,1 5,12A1,1 0 0,1 6,11Z\";\r\nexport var mdiCellphoneLink = \"M22,17H18V10H22M23,8H17A1,1 0 0,0 16,9V19A1,1 0 0,0 17,20H23A1,1 0 0,0 24,19V9A1,1 0 0,0 23,8M4,6H22V4H4A2,2 0 0,0 2,6V17H0V20H14V17H4V6Z\";\r\nexport var mdiCellphoneLinkOff = \"M23,8H17A1,1 0 0,0 16,9V13.18L18,15.18V10H22V17H19.82L22.82,20H23A1,1 0 0,0 24,19V9A1,1 0 0,0 23,8M4,6.27L14.73,17H4V6.27M1.92,1.65L0.65,2.92L2.47,4.74C2.18,5.08 2,5.5 2,6V17H0V20H17.73L20.08,22.35L21.35,21.08L3.89,3.62L1.92,1.65M22,6V4H6.82L8.82,6H22Z\";\r\nexport var mdiCellphoneLock = \"M17,1H7A2,2 0 0,0 5,3V6H7V4H17V20H7V18H5V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V3A2,2 0 0,0 17,1M8.8,11V9.5C8.8,8.1 7.4,7 6,7C4.6,7 3.2,8.1 3.2,9.5V11C2.6,11 2,11.6 2,12.2V15.7C2,16.4 2.6,17 3.2,17H8.7C9.4,17 10,16.4 10,15.8V12.3C10,11.6 9.4,11 8.8,11M7.5,11H4.5V9.5C4.5,8.7 5.2,8.2 6,8.2C6.8,8.2 7.5,8.7 7.5,9.5V11Z\";\r\nexport var mdiCellphoneMessage = \"M11,17V7H4V17H11M11,3A2,2 0 0,1 13,5V19A2,2 0 0,1 11,21H4C2.89,21 2,20.1 2,19V5A2,2 0 0,1 4,3H11M16.5,3H21.5A1.5,1.5 0 0,1 23,4.5V7.5A1.5,1.5 0 0,1 21.5,9H18L15,12V9L15,4.5A1.5,1.5 0 0,1 16.5,3Z\";\r\nexport var mdiCellphoneMessageOff = \"M2.39 1.73L1.11 3L2.22 4.11C2.08 4.38 2 4.68 2 5V19C2 20.1 2.89 21 4 21H11C12.1 21 13 20.1 13 19V14.89L20.84 22.73L22.11 21.46L2.39 1.73M11 17H4V7H5.11L11 12.89V17M23 4.5V7.5C23 8.33 22.33 9 21.5 9H18L15.1 11.9L15 11.8V4.5C15 3.67 15.67 3 16.5 3H21.5C22.33 3 23 3.67 23 4.5M10.2 7L6.2 3H11C12.1 3 13 3.9 13 5V9.8L11 7.8V7H10.2\";\r\nexport var mdiCellphoneNfc = \"M2,16V18A5,5 0 0,1 7,23H9A7,7 0 0,0 2,16M2,20V23H5A3,3 0 0,0 2,20M2,12V14A9,9 0 0,1 11,23H13C13,16.92 8.08,12 2,12M17,1H7A2,2 0 0,0 5,3V10.37C5.69,10.53 6.36,10.74 7,11V5H17V18H13.97C14.5,19.25 14.81,20.59 14.92,22H17A2,2 0 0,0 19,20V3A2,2 0 0,0 17,1Z\";\r\nexport var mdiCellphoneNfcOff = \"M20.84 22.73L18.85 20.74C18.56 21.5 17.84 22 17 22H14.92C14.81 20.59 14.5 19.25 13.97 18H16.11L7 8.89V11C6.36 10.74 5.69 10.53 5 10.37V6.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M17 5V13.8L19 15.8V3C19 1.9 18.11 1 17 1H7C6.24 1 5.59 1.43 5.25 2.05L8.2 5H17M2 20V23H5C5 21.34 3.66 20 2 20M2 16V18C4.76 18 7 20.24 7 23H9C9 19.13 5.87 16 2 16M2 12V14C6.97 14 11 18.03 11 23H13C13 16.92 8.08 12 2 12Z\";\r\nexport var mdiCellphoneOff = \"M2.38,1.73L1.11,3L5,6.89V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V20.89L20.84,22.73L22.11,21.46M17,19H7V8.89L17,18.89V19M17,5V13.8L19,15.8V3A2,2 0 0,0 17,1H7C6.28,1 5.6,1.37 5.24,2L8.24,5H17Z\";\r\nexport var mdiCellphonePlay = \"M17 19H7V5H17M17 1H7C5.89 1 5 1.89 5 3V21C5 22.1 5.9 23 7 23H17C18.1 23 19 22.1 19 21V3C19 1.89 18.1 1 17 1M10 9V15L14 12L10 9Z\";\r\nexport var mdiCellphoneRemove = \"M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88M14.54 23H7C5.9 23 5 22.11 5 21V3C5 1.89 5.89 1 7 1H17C18.1 1 19 1.89 19 3V13C18.3 13 17.63 13.13 17 13.35V5H7V19H13C13 20.54 13.58 21.94 14.54 23Z\";\r\nexport var mdiCellphoneScreenshot = \"M7,1A2,2 0 0,0 5,3V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V3A2,2 0 0,0 17,1H7M7,4H17V20H7V4M9,6V10H10.5V7.5H13V6H9M13.5,14V16.5H11V18H15V14H13.5Z\";\r\nexport var mdiCellphoneSettings = \"M16,16H8V4H16M16,0H8A2,2 0 0,0 6,2V18A2,2 0 0,0 8,20H16A2,2 0 0,0 18,18V2A2,2 0 0,0 16,0M15,24H17V22H15M11,24H13V22H11M7,24H9V22H7V24Z\";\r\nexport var mdiCellphoneSound = \"M19.1,8.7C20.9,10.5 20.9,13.3 19.1,15.2L20.1,16.2C22.6,13.9 22.6,10.1 20.1,7.7L19.1,8.7M18,9.8L17,10.8C17.5,11.5 17.5,12.4 17,13.1L18,14.1C19.2,12.9 19.2,11.1 18,9.8M14,1H4A2,2 0 0,0 2,3V21A2,2 0 0,0 4,23H14A2,2 0 0,0 16,21V3A2,2 0 0,0 14,1M14,20H4V4H14V20Z\";\r\nexport var mdiCellphoneText = \"M17,19V5H7V19H17M17,1A2,2 0 0,1 19,3V21A2,2 0 0,1 17,23H7C5.89,23 5,22.1 5,21V3C5,1.89 5.89,1 7,1H17M9,7H15V9H9V7M9,11H13V13H9V11Z\";\r\nexport var mdiCellphoneWireless = \"M20.07,4.93C21.88,6.74 23,9.24 23,12C23,14.76 21.88,17.26 20.07,19.07L18.66,17.66C20.11,16.22 21,14.22 21,12C21,9.79 20.11,7.78 18.66,6.34L20.07,4.93M17.24,7.76C18.33,8.85 19,10.35 19,12C19,13.65 18.33,15.15 17.24,16.24L15.83,14.83C16.55,14.11 17,13.11 17,12C17,10.89 16.55,9.89 15.83,9.17L17.24,7.76M13,10A2,2 0 0,1 15,12A2,2 0 0,1 13,14A2,2 0 0,1 11,12A2,2 0 0,1 13,10M11.5,1A2.5,2.5 0 0,1 14,3.5V8H12V4H3V19H12V16H14V20.5A2.5,2.5 0 0,1 11.5,23H3.5A2.5,2.5 0 0,1 1,20.5V3.5A2.5,2.5 0 0,1 3.5,1H11.5Z\";\r\nexport var mdiCentos = \"M19.07 14.93L22 12L19.07 9.07V4.93H14.93L12 2L9.07 4.93H4.93V9.07L2 12L4.93 14.93V19.07H9.07L12 22L14.93 19.07H19.07V14.93M21.41 12L19.07 14.34V12.46H13.69L13.23 12L13.69 11.54H19.07V9.66L21.41 12M18.66 14.76L17.32 16.09L14.11 12.87H18.66V14.76M12.46 13.1L12 12.65L11.54 13.1V12.46H10.9L11.36 12L10.9 11.54H11.54V10.9L12 11.36L12.46 10.9V11.54H13.1L12.65 12L13.1 12.46H12.46V13.1M14.11 11.13L17.32 7.91L18.66 9.24V11.13H14.11M18.66 5.35V8.65L17.32 7.32L13.5 11.13H12.87V10.5L16.68 6.68L15.35 5.35H18.66M12.87 9.89V5.35H14.76L16.09 6.68L12.87 9.89M12 2.59L14.34 4.93H12.46V10.31L12 10.77L11.54 10.31V4.93H9.66L12 2.59M11.13 9.89L7.91 6.68L9.24 5.35H11.13V9.89M5.35 5.35H8.65L7.32 6.68L11.13 10.5V11.13H10.5L6.68 7.32L5.35 8.65V5.35M5.35 9.24L6.68 7.91L9.89 11.13H5.35V9.24M2.59 12L4.93 9.66V11.54H10.31L10.77 12L10.31 12.46H4.93V14.34L2.59 12M9.89 12.87L6.68 16.09L5.35 14.76V12.87H9.89M5.35 18.66V15.35L6.68 16.68L10.5 12.87H11.13V13.5L7.32 17.32L8.65 18.65H5.35M11.13 14.11V18.66H9.24L7.91 17.32L11.13 14.11M12 21.41L9.66 19.07H11.54V13.69L12 13.23L12.46 13.69V19.07H14.34L12 21.41M12.87 14.11L16.09 17.32L14.76 18.66H12.87V14.11M15.35 18.66L16.68 17.32L12.87 13.5V12.87H13.5L17.32 16.68L18.65 15.35V18.66H15.35Z\";\r\nexport var mdiCertificate = \"M4,3C2.89,3 2,3.89 2,5V15A2,2 0 0,0 4,17H12V22L15,19L18,22V17H20A2,2 0 0,0 22,15V8L22,6V5A2,2 0 0,0 20,3H16V3H4M12,5L15,7L18,5V8.5L21,10L18,11.5V15L15,13L12,15V11.5L9,10L12,8.5V5M4,5H9V7H4V5M4,9H7V11H4V9M4,13H9V15H4V13Z\";\r\nexport var mdiCertificateOutline = \"M13 21L15 20L17 21V14H13M17 9V7L15 8L13 7V9L11 10L13 11V13L15 12L17 13V11L19 10M20 3H4A2 2 0 0 0 2 5V15A2 2 0 0 0 4 17H11V15H4V5H20V15H19V17H20A2 2 0 0 0 22 15V5A2 2 0 0 0 20 3M11 8H5V6H11M9 11H5V9H9M11 14H5V12H11Z\";\r\nexport var mdiChairRolling = \"M22 10V13H19V10H22M2 13H5V10H2V13M17 5C17 3.9 16.1 3 15 3H9C7.9 3 7 3.9 7 5V13H17V5M7 15H6V17H11V18L7 22H9.8L12 19.8L14.2 22H17L13 18V17H18V15H7Z\";\r\nexport var mdiChairSchool = \"M22,5V7H17L13.53,12H16V14H14.46L18.17,22H15.97L15.04,20H6.38L5.35,22H3.1L7.23,14H7C6.55,14 6.17,13.7 6.04,13.3L2.87,3.84L3.82,3.5C4.34,3.34 4.91,3.63 5.08,4.15L7.72,12H12.1L15.57,7H12V5H22M9.5,14L7.42,18H14.11L12.26,14H9.5Z\";\r\nexport var mdiChandelier = \"M15 13.1C15 14.76 13.66 16.1 12 16.1S9 14.76 9 13.1 10.34 10.1 12 10.1 15 11.44 15 13.1M9 2V3C9 4.11 9.9 5 11 5V9.1C11.32 9.04 11.66 9 12 9S12.68 9.04 13 9.1V5C14.11 5 15 4.11 15 3V2H9M4 11.1C2.34 11.1 1 12.44 1 14.1S2.34 17.1 4 17.1 7 15.76 7 14.1 5.66 11.1 4 11.1M20 11.1C18.34 11.1 17 12.44 17 14.1S18.34 17.1 20 17.1 23 15.76 23 14.1 21.66 11.1 20 11.1M20 18.1C19.32 18.1 18.67 17.96 18.08 17.71C17.6 17.95 17.07 18.1 16.5 18.1C15.39 18.1 14.41 17.57 13.77 16.77C13.22 17 12.63 17.1 12 17.1S10.78 17 10.23 16.77C9.59 17.57 8.61 18.1 7.5 18.1C6.93 18.1 6.4 17.95 5.92 17.71C5.33 17.96 4.68 18.1 4 18.1C3.73 18.1 3.46 18.06 3.2 18C4.21 19.29 5.76 20.1 7.5 20.1C8.83 20.1 10.05 19.63 11 18.84V21.1C11 21.65 11.45 22.1 12 22.1C12.55 22.1 13 21.65 13 21.1V18.84C13.95 19.63 15.17 20.1 16.5 20.1C18.24 20.1 19.79 19.29 20.8 18C20.54 18.06 20.27 18.1 20 18.1Z\";\r\nexport var mdiCharity = \"M12.75,3.94C13.75,3.22 14.91,2.86 16.22,2.86C16.94,2.86 17.73,3.05 18.59,3.45C19.45,3.84 20.13,4.3 20.63,4.83C21.66,6.11 22.09,7.6 21.94,9.3C21.78,11 21.22,12.33 20.25,13.27L12.66,20.86C12.47,21.05 12.23,21.14 11.95,21.14C11.67,21.14 11.44,21.05 11.25,20.86C11.06,20.67 10.97,20.44 10.97,20.16C10.97,19.88 11.06,19.64 11.25,19.45L15.84,14.86C16.09,14.64 16.09,14.41 15.84,14.16C15.59,13.91 15.36,13.91 15.14,14.16L10.55,18.75C10.36,18.94 10.13,19.03 9.84,19.03C9.56,19.03 9.33,18.94 9.14,18.75C8.95,18.56 8.86,18.33 8.86,18.05C8.86,17.77 8.95,17.53 9.14,17.34L13.73,12.75C14,12.5 14,12.25 13.73,12C13.5,11.75 13.28,11.75 13.03,12L8.44,16.64C8.25,16.83 8,16.92 7.73,16.92C7.45,16.92 7.21,16.83 7,16.64C6.8,16.45 6.7,16.22 6.7,15.94C6.7,15.66 6.81,15.41 7.03,15.19L11.63,10.59C11.88,10.34 11.88,10.11 11.63,9.89C11.38,9.67 11.14,9.67 10.92,9.89L6.28,14.5C6.06,14.7 5.83,14.81 5.58,14.81C5.3,14.81 5.06,14.71 4.88,14.5C4.69,14.3 4.59,14.06 4.59,13.78C4.59,13.5 4.69,13.27 4.88,13.08C7.94,10 9.83,8.14 10.55,7.45L14.11,10.97C14.5,11.34 14.95,11.53 15.5,11.53C16.2,11.53 16.75,11.25 17.16,10.69C17.44,10.28 17.54,9.83 17.46,9.33C17.38,8.83 17.17,8.41 16.83,8.06L12.75,3.94M14.81,10.27L10.55,6L3.47,13.08C2.63,12.23 2.15,10.93 2.04,9.16C1.93,7.4 2.41,5.87 3.47,4.59C4.66,3.41 6.08,2.81 7.73,2.81C9.39,2.81 10.8,3.41 11.95,4.59L16.22,8.86C16.41,9.05 16.5,9.28 16.5,9.56C16.5,9.84 16.41,10.08 16.22,10.27C16.03,10.45 15.8,10.55 15.5,10.55C15.23,10.55 15,10.45 14.81,10.27V10.27Z\";\r\nexport var mdiChartArc = \"M16.18,19.6L14.17,16.12C15.15,15.4 15.83,14.28 15.97,13H20C19.83,15.76 18.35,18.16 16.18,19.6M13,7.03V3C17.3,3.26 20.74,6.7 21,11H16.97C16.74,8.91 15.09,7.26 13,7.03M7,12.5C7,13.14 7.13,13.75 7.38,14.3L3.9,16.31C3.32,15.16 3,13.87 3,12.5C3,7.97 6.54,4.27 11,4V8.03C8.75,8.28 7,10.18 7,12.5M11.5,21C8.53,21 5.92,19.5 4.4,17.18L7.88,15.17C8.7,16.28 10,17 11.5,17C12.14,17 12.75,16.87 13.3,16.62L15.31,20.1C14.16,20.68 12.87,21 11.5,21Z\";\r\nexport var mdiChartAreaspline = \"M17.45,15.18L22,7.31V19L22,21H2V3H4V15.54L9.5,6L16,9.78L20.24,2.45L21.97,3.45L16.74,12.5L10.23,8.75L4.31,19H6.57L10.96,11.44L17.45,15.18Z\";\r\nexport var mdiChartAreasplineVariant = \"M22,21H2V3H4V15.54L9.5,6L16,9.78L20.24,2.45L21.97,3.45L22,21Z\";\r\nexport var mdiChartBar = \"M22,21H2V3H4V19H6V10H10V19H12V6H16V19H18V14H22V21Z\";\r\nexport var mdiChartBarStacked = \"M22,21H2V3H4V19H6V17H10V19H12V16H16V19H18V17H22V21M18,14H22V16H18V14M12,6H16V9H12V6M16,15H12V10H16V15M6,10H10V12H6V10M10,16H6V13H10V16Z\";\r\nexport var mdiChartBellCurve = \"M9.96,11.31C10.82,8.1 11.5,6 13,6C14.5,6 15.18,8.1 16.04,11.31C17,14.92 18.1,19 22,19V17C19.8,17 19,14.54 17.97,10.8C17.08,7.46 16.15,4 13,4C9.85,4 8.92,7.46 8.03,10.8C7.03,14.54 6.2,17 4,17V2H2V22H22V20H4V19C7.9,19 9,14.92 9.96,11.31Z\";\r\nexport var mdiChartBellCurveCumulative = \"M4 19V20H22V22H2V2H4V17C7 17 10 15 12.1 11.4C15.1 6.4 18.4 4 22 4V6C19.2 6 16.5 8.1 13.9 12.5C11.3 16.6 7.7 19 4 19Z\";\r\nexport var mdiChartBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M9 17H7V10H9V17M13 17H11V7H13V17M17 17H15V13H17V17Z\";\r\nexport var mdiChartBoxOutline = \"M9 17H7V10H9V17M13 17H11V7H13V17M17 17H15V13H17V17M19 19H5V5H19V19.1M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3Z\";\r\nexport var mdiChartBoxPlusOutline = \"M22 5V7H19V10H17V7H14V5H17V2H19V5H22M19 19H5V5H11V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V13H19V19M15 13V17H17V13H15M11 17H13V9H11V17M9 17V11H7V17H9Z\";\r\nexport var mdiChartBubble = \"M7.2,11.2C8.97,11.2 10.4,12.63 10.4,14.4C10.4,16.17 8.97,17.6 7.2,17.6C5.43,17.6 4,16.17 4,14.4C4,12.63 5.43,11.2 7.2,11.2M14.8,16A2,2 0 0,1 16.8,18A2,2 0 0,1 14.8,20A2,2 0 0,1 12.8,18A2,2 0 0,1 14.8,16M15.2,4A4.8,4.8 0 0,1 20,8.8C20,11.45 17.85,13.6 15.2,13.6A4.8,4.8 0 0,1 10.4,8.8C10.4,6.15 12.55,4 15.2,4Z\";\r\nexport var mdiChartDonut = \"M13,2.05V5.08C16.39,5.57 19,8.47 19,12C19,12.9 18.82,13.75 18.5,14.54L21.12,16.07C21.68,14.83 22,13.45 22,12C22,6.82 18.05,2.55 13,2.05M12,19A7,7 0 0,1 5,12C5,8.47 7.61,5.57 11,5.08V2.05C5.94,2.55 2,6.81 2,12A10,10 0 0,0 12,22C15.3,22 18.23,20.39 20.05,17.91L17.45,16.38C16.17,18 14.21,19 12,19Z\";\r\nexport var mdiChartDonutVariant = \"M13,2.05C18.05,2.55 22,6.82 22,12C22,13.45 21.68,14.83 21.12,16.07L18.5,14.54C18.82,13.75 19,12.9 19,12C19,8.47 16.39,5.57 13,5.08V2.05M12,19C14.21,19 16.17,18 17.45,16.38L20.05,17.91C18.23,20.39 15.3,22 12,22C6.47,22 2,17.5 2,12C2,6.81 5.94,2.55 11,2.05V5.08C7.61,5.57 5,8.47 5,12A7,7 0 0,0 12,19M12,6A6,6 0 0,1 18,12C18,14.97 15.84,17.44 13,17.92V14.83C14.17,14.42 15,13.31 15,12A3,3 0 0,0 12,9L11.45,9.05L9.91,6.38C10.56,6.13 11.26,6 12,6M6,12C6,10.14 6.85,8.5 8.18,7.38L9.72,10.05C9.27,10.57 9,11.26 9,12C9,13.31 9.83,14.42 11,14.83V17.92C8.16,17.44 6,14.97 6,12Z\";\r\nexport var mdiChartGantt = \"M2,5H10V2H12V22H10V18H6V15H10V13H4V10H10V8H2V5M14,5H17V8H14V5M14,10H19V13H14V10M14,15H22V18H14V15Z\";\r\nexport var mdiChartHistogram = \"M3,3H5V13H9V7H13V11H17V15H21V21H3V3Z\";\r\nexport var mdiChartLine = \"M16,11.78L20.24,4.45L21.97,5.45L16.74,14.5L10.23,10.75L5.46,19H22V21H2V3H4V17.54L9.5,8L16,11.78Z\";\r\nexport var mdiChartLineStacked = \"M17.45,15.18L22,6.81V19L22,21H2V3H4V15.54L4,19H4.31L6,19H6.57L10.96,11.44L17.45,15.18M22,3L21.97,3.45L17,11L10,6L6,12V3H22Z\";\r\nexport var mdiChartLineVariant = \"M3.5,18.5L9.5,12.5L13.5,16.5L22,6.92L20.59,5.5L13.5,13.5L9.5,9.5L2,17L3.5,18.5Z\";\r\nexport var mdiChartMultiline = \"M22,6.92L20.59,5.5L17.74,8.72C15.68,6.4 12.83,5 9.61,5C6.72,5 4.07,6.16 2,8L3.42,9.42C5.12,7.93 7.27,7 9.61,7C12.35,7 14.7,8.26 16.38,10.24L13.5,13.5L9.5,9.5L2,17L3.5,18.5L9.5,12.5L13.5,16.5L17.55,11.93C18.3,13.28 18.8,14.83 19,16.5H21C20.78,14.18 20.05,12.09 18.96,10.34L22,6.92Z\";\r\nexport var mdiChartMultiple = \"M22 16V18H6V2H8V13.57L13.71 4.57L16.87 6.68L19.29 4.26L20.71 5.68L17.13 9.29L14.29 7.4L8.82 16M4 20V4H2V22H22V20Z\";\r\nexport var mdiChartPie = \"M11,2V22C5.9,21.5 2,17.2 2,12C2,6.8 5.9,2.5 11,2M13,2V11H22C21.5,6.2 17.8,2.5 13,2M13,13V22C17.7,21.5 21.5,17.8 22,13H13Z\";\r\nexport var mdiChartPpf = \"M5 6V8C8.2 8 11.36 9.18 13.57 11.15C15.64 13 16.83 15.5 17 18H18.97A14 12.5 0 0 0 5 6M22 21H2V3H4V19H22Z\";\r\nexport var mdiChartSankey = \"M22 5H4V2H2V22H22V20H4V9C8.09 9 10.13 11 12.29 13.21S17.09 18 22 18V16C17.91 16 15.87 14 13.71 11.79S8.91 7 4 7H22Z\";\r\nexport var mdiChartSankeyVariant = \"M20 4V6H4V4H2V12H4V10C8.16 10 9.92 12.11 11.77 14.34S15.65 19 20 19V21H22V15H20V17C16.59 17 15.07 15.17 13.31 13.06C11.34 10.69 9.1 8 4 8H20V10H22V4Z\";\r\nexport var mdiChartScatterPlot = \"M2,2H4V20H22V22H2V2M9,10A3,3 0 0,1 12,13A3,3 0 0,1 9,16A3,3 0 0,1 6,13A3,3 0 0,1 9,10M13,2A3,3 0 0,1 16,5A3,3 0 0,1 13,8A3,3 0 0,1 10,5A3,3 0 0,1 13,2M18,12A3,3 0 0,1 21,15A3,3 0 0,1 18,18A3,3 0 0,1 15,15A3,3 0 0,1 18,12Z\";\r\nexport var mdiChartScatterPlotHexbin = \"M2,2H4V20H22V22H2V2M14,14.5L12,18H7.94L5.92,14.5L7.94,11H12L14,14.5M14.08,6.5L12.06,10H8L6,6.5L8,3H12.06L14.08,6.5M21.25,10.5L19.23,14H15.19L13.17,10.5L15.19,7H19.23L21.25,10.5Z\";\r\nexport var mdiChartTimeline = \"M2,2H4V20H22V22H2V2M7,10H17V13H7V10M11,15H21V18H11V15M6,4H22V8H20V6H8V8H6V4Z\";\r\nexport var mdiChartTimelineVariant = \"M3,14L3.5,14.07L8.07,9.5C7.89,8.85 8.06,8.11 8.59,7.59C9.37,6.8 10.63,6.8 11.41,7.59C11.94,8.11 12.11,8.85 11.93,9.5L14.5,12.07L15,12C15.18,12 15.35,12 15.5,12.07L19.07,8.5C19,8.35 19,8.18 19,8A2,2 0 0,1 21,6A2,2 0 0,1 23,8A2,2 0 0,1 21,10C20.82,10 20.65,10 20.5,9.93L16.93,13.5C17,13.65 17,13.82 17,14A2,2 0 0,1 15,16A2,2 0 0,1 13,14L13.07,13.5L10.5,10.93C10.18,11 9.82,11 9.5,10.93L4.93,15.5L5,16A2,2 0 0,1 3,18A2,2 0 0,1 1,16A2,2 0 0,1 3,14Z\";\r\nexport var mdiChartTimelineVariantShimmer = \"M21 8C19.5 8 18.7 9.4 19.1 10.5L15.5 14.1C15.2 14 14.8 14 14.5 14.1L11.9 11.5C12.3 10.4 11.5 9 10 9C8.6 9 7.7 10.4 8.1 11.5L3.5 16C2.4 15.7 1 16.5 1 18C1 19.1 1.9 20 3 20C4.4 20 5.3 18.6 4.9 17.5L9.4 12.9C9.7 13 10.1 13 10.4 12.9L13 15.5C12.7 16.5 13.5 18 15 18C16.5 18 17.3 16.6 16.9 15.5L20.5 11.9C21.6 12.2 23 11.4 23 10C23 8.9 22.1 8 21 8M15 9L15.9 6.9L18 6L15.9 5.1L15 3L14.1 5.1L12 6L14.1 6.9L15 9M3.5 11L4 9L6 8.5L4 8L3.5 6L3 8L1 8.5L3 9L3.5 11Z\";\r\nexport var mdiChartTree = \"M14,6H22V22H14V6M2,4H22V2H2V4M2,8H12V6H2V8M9,22H12V10H9V22M2,22H7V10H2V22Z\";\r\nexport var mdiChat = \"M12,3C17.5,3 22,6.58 22,11C22,15.42 17.5,19 12,19C10.76,19 9.57,18.82 8.47,18.5C5.55,21 2,21 2,21C4.33,18.67 4.7,17.1 4.75,16.5C3.05,15.07 2,13.13 2,11C2,6.58 6.5,3 12,3Z\";\r\nexport var mdiChatAlert = \"M12,3C17.5,3 22,6.58 22,11C22,15.42 17.5,19 12,19C10.76,19 9.57,18.82 8.47,18.5C5.55,21 2,21 2,21C4.33,18.67 4.7,17.1 4.75,16.5C3.05,15.07 2,13.13 2,11C2,6.58 6.5,3 12,3M11,14V16H13V14H11M11,12H13V6H11V12Z\";\r\nexport var mdiChatAlertOutline = \"M12 3C6.5 3 2 6.58 2 11C2.05 13.15 3.06 15.17 4.75 16.5C4.75 17.1 4.33 18.67 2 21C4.37 20.89 6.64 20 8.47 18.5C9.61 18.83 10.81 19 12 19C17.5 19 22 15.42 22 11S17.5 3 12 3M12 17C7.58 17 4 14.31 4 11S7.58 5 12 5 20 7.69 20 11 16.42 17 12 17M11 13V15H13V13H11M11 11H13V7H11V11Z\";\r\nexport var mdiChatMinus = \"M23 17V19H15V17H23M12 3C17.5 3 22 6.58 22 11C22 11.58 21.92 12.14 21.78 12.68C20.95 12.25 20 12 19 12C15.69 12 13 14.69 13 18L13.08 18.95L12 19C10.76 19 9.57 18.82 8.47 18.5C5.55 21 2 21 2 21C4.33 18.67 4.7 17.1 4.75 16.5C3.05 15.07 2 13.14 2 11C2 6.58 6.5 3 12 3Z\";\r\nexport var mdiChatMinusOutline = \"M12 3C17.5 3 22 6.58 22 11C22 11.58 21.92 12.14 21.78 12.68C21.19 12.38 20.55 12.16 19.88 12.06C19.96 11.72 20 11.36 20 11C20 7.69 16.42 5 12 5S4 7.69 4 11 7.58 17 12 17L13.09 16.95L13 18L13.08 18.95L12 19C10.81 19 9.62 18.83 8.47 18.5C6.64 20 4.37 20.89 2 21C4.33 18.67 4.75 17.1 4.75 16.5C3.06 15.17 2.05 13.15 2 11C2 6.58 6.5 3 12 3M23 17V19H15V17H23Z\";\r\nexport var mdiChatOutline = \"M12,3C6.5,3 2,6.58 2,11C2.05,13.15 3.06,15.17 4.75,16.5C4.75,17.1 4.33,18.67 2,21C4.37,20.89 6.64,20 8.47,18.5C9.61,18.83 10.81,19 12,19C17.5,19 22,15.42 22,11C22,6.58 17.5,3 12,3M12,17C7.58,17 4,14.31 4,11C4,7.69 7.58,5 12,5C16.42,5 20,7.69 20,11C20,14.31 16.42,17 12,17Z\";\r\nexport var mdiChatPlus = \"M18 14H20V17H23V19H20V22H18V19H15V17H18V14M12 3C17.5 3 22 6.58 22 11C22 11.58 21.92 12.14 21.78 12.68C20.95 12.25 20 12 19 12C15.69 12 13 14.69 13 18L13.08 18.95L12 19C10.76 19 9.57 18.82 8.47 18.5C5.55 21 2 21 2 21C4.33 18.67 4.7 17.1 4.75 16.5C3.05 15.07 2 13.14 2 11C2 6.58 6.5 3 12 3Z\";\r\nexport var mdiChatPlusOutline = \"M12 3C17.5 3 22 6.58 22 11C22 11.58 21.92 12.14 21.78 12.68C21.19 12.38 20.55 12.16 19.88 12.06C19.96 11.72 20 11.36 20 11C20 7.69 16.42 5 12 5C7.58 5 4 7.69 4 11C4 14.31 7.58 17 12 17L13.09 16.95L13 18L13.08 18.95L12 19C10.81 19 9.62 18.83 8.47 18.5C6.64 20 4.37 20.89 2 21C4.33 18.67 4.75 17.1 4.75 16.5C3.06 15.17 2.05 13.15 2 11C2 6.58 6.5 3 12 3M18 14H20V17H23V19H20V22H18V19H15V17H18V14Z\";\r\nexport var mdiChatProcessing = \"M12,3C17.5,3 22,6.58 22,11C22,15.42 17.5,19 12,19C10.76,19 9.57,18.82 8.47,18.5C5.55,21 2,21 2,21C4.33,18.67 4.7,17.1 4.75,16.5C3.05,15.07 2,13.13 2,11C2,6.58 6.5,3 12,3M17,12V10H15V12H17M13,12V10H11V12H13M9,12V10H7V12H9Z\";\r\nexport var mdiChatProcessingOutline = \"M12 3C6.5 3 2 6.58 2 11C2.05 13.15 3.06 15.17 4.75 16.5C4.75 17.1 4.33 18.67 2 21C4.37 20.89 6.64 20 8.47 18.5C9.61 18.83 10.81 19 12 19C17.5 19 22 15.42 22 11S17.5 3 12 3M12 17C7.58 17 4 14.31 4 11S7.58 5 12 5 20 7.69 20 11 16.42 17 12 17M17 12V10H15V12H17M13 12V10H11V12H13M9 12V10H7V12H9Z\";\r\nexport var mdiChatQuestion = \"M12 3C6.5 3 2 6.6 2 11C2 13.1 3 15.1 4.8 16.5C4.8 17.1 4.4 18.7 2 21C2 21 5.5 21 8.5 18.5C9.6 18.8 10.8 19 12 19C17.5 19 22 15.4 22 11S17.5 3 12 3M13 15H11V13H13V15M14.8 10C14.5 10.4 14.1 10.6 13.7 10.8C13.4 11 13.3 11.1 13.2 11.3C13 11.5 13 11.7 13 12H11C11 11.5 11.1 11.2 11.3 10.9C11.5 10.7 11.9 10.4 12.4 10.1C12.7 10 12.9 9.8 13 9.6C13.1 9.4 13.2 9.1 13.2 8.9C13.2 8.6 13.1 8.4 12.9 8.2C12.7 8 12.4 7.9 12.1 7.9C11.8 7.9 11.6 8 11.4 8.1C11.2 8.2 11.1 8.4 11.1 8.7H9.1C9.2 8 9.5 7.4 10 7C10.5 6.6 11.2 6.5 12.1 6.5C13 6.5 13.8 6.7 14.3 7.1C14.8 7.5 15.1 8.1 15.1 8.8C15.2 9.2 15.1 9.6 14.8 10Z\";\r\nexport var mdiChatQuestionOutline = \"M12 3C6.5 3 2 6.6 2 11C2 13.2 3.1 15.2 4.8 16.5C4.8 17.1 4.4 18.7 2 21C4.4 20.9 6.6 20 8.5 18.5C9.6 18.8 10.8 19 12 19C17.5 19 22 15.4 22 11S17.5 3 12 3M12 17C7.6 17 4 14.3 4 11S7.6 5 12 5 20 7.7 20 11 16.4 17 12 17M12.2 6.5C11.3 6.5 10.6 6.7 10.1 7C9.5 7.4 9.2 8 9.3 8.7H11.3C11.3 8.4 11.4 8.2 11.6 8.1C11.8 8 12 7.9 12.3 7.9C12.6 7.9 12.9 8 13.1 8.2C13.3 8.4 13.4 8.6 13.4 8.9C13.4 9.2 13.3 9.4 13.2 9.6C13 9.8 12.8 10 12.6 10.1C12.1 10.4 11.7 10.7 11.5 10.9C11.1 11.2 11 11.5 11 12H13C13 11.7 13.1 11.5 13.1 11.3C13.2 11.1 13.4 11 13.6 10.8C14.1 10.6 14.4 10.3 14.7 9.9C15 9.5 15.1 9.1 15.1 8.7C15.1 8 14.8 7.4 14.3 7C13.9 6.7 13.1 6.5 12.2 6.5M11 13V15H13V13H11Z\";\r\nexport var mdiChatRemove = \"M15.46 15.88L16.88 14.46L19 16.59L21.12 14.47L22.54 15.88L20.41 18L22.54 20.12L21.12 21.54L19 19.41L16.88 21.54L15.46 20.12L17.59 18L15.47 15.88M12 3C17.5 3 22 6.58 22 11C22 11.58 21.92 12.14 21.78 12.68C20.95 12.25 20 12 19 12C15.69 12 13 14.69 13 18L13.08 18.95L12 19C10.76 19 9.57 18.82 8.47 18.5C5.55 21 2 21 2 21C4.33 18.67 4.7 17.1 4.75 16.5C3.05 15.07 2 13.14 2 11C2 6.58 6.5 3 12 3Z\";\r\nexport var mdiChatRemoveOutline = \"M15.46 15.88L16.88 14.46L19 16.59L21.12 14.47L22.54 15.88L20.41 18L22.54 20.12L21.12 21.54L19 19.41L16.88 21.54L15.46 20.12L17.59 18L15.47 15.88M12 3C17.5 3 22 6.58 22 11C22 11.58 21.92 12.14 21.78 12.68C21.19 12.38 20.55 12.16 19.88 12.06C19.96 11.72 20 11.36 20 11C20 7.69 16.42 5 12 5C7.58 5 4 7.69 4 11C4 14.31 7.58 17 12 17L13.09 16.95L13 18L13.08 18.95L12 19C10.81 19 9.62 18.83 8.47 18.5C6.64 20 4.37 20.89 2 21C4.33 18.67 4.75 17.1 4.75 16.5C3.06 15.17 2.05 13.15 2 11C2 6.58 6.5 3 12 3Z\";\r\nexport var mdiChatSleep = \"M12 3C6.5 3 2 6.58 2 11C2 13.13 3.05 15.07 4.75 16.5C4.7 17.1 4.33 18.67 2 21C2 21 5.55 21 8.47 18.5C9.57 18.82 10.76 19 12 19C17.5 19 22 15.42 22 11S17.5 3 12 3M15 9.3L11.76 13H15V15H9V12.7L12.24 9H9V7H15V9.3Z\";\r\nexport var mdiChatSleepOutline = \"M12 3C6.5 3 2 6.58 2 11C2.05 13.15 3.06 15.17 4.75 16.5C4.75 17.1 4.33 18.67 2 21C4.37 20.89 6.64 20 8.47 18.5C9.61 18.83 10.81 19 12 19C17.5 19 22 15.42 22 11S17.5 3 12 3M12 17C7.58 17 4 14.31 4 11S7.58 5 12 5 20 7.69 20 11 16.42 17 12 17M15 7H9V9H12.24L9 12.7V15H15V13H11.76L15 9.3V7Z\";\r\nexport var mdiCheck = \"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\";\r\nexport var mdiCheckAll = \"M0.41,13.41L6,19L7.41,17.58L1.83,12M22.24,5.58L11.66,16.17L7.5,12L6.07,13.41L11.66,19L23.66,7M18,7L16.59,5.58L10.24,11.93L11.66,13.34L18,7Z\";\r\nexport var mdiCheckBold = \"M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z\";\r\nexport var mdiCheckCircle = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M10 17L5 12L6.41 10.59L10 14.17L17.59 6.58L19 8L10 17Z\";\r\nexport var mdiCheckCircleOutline = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 20C7.59 20 4 16.41 4 12S7.59 4 12 4 20 7.59 20 12 16.41 20 12 20M16.59 7.58L10 14.17L7.41 11.59L6 13L10 17L18 9L16.59 7.58Z\";\r\nexport var mdiCheckDecagram = \"M23,12L20.56,9.22L20.9,5.54L17.29,4.72L15.4,1.54L12,3L8.6,1.54L6.71,4.72L3.1,5.53L3.44,9.21L1,12L3.44,14.78L3.1,18.47L6.71,19.29L8.6,22.47L12,21L15.4,22.46L17.29,19.28L20.9,18.46L20.56,14.78L23,12M10,17L6,13L7.41,11.59L10,14.17L16.59,7.58L18,9L10,17Z\";\r\nexport var mdiCheckDecagramOutline = \"M23 12L20.6 9.2L20.9 5.5L17.3 4.7L15.4 1.5L12 3L8.6 1.5L6.7 4.7L3.1 5.5L3.4 9.2L1 12L3.4 14.8L3.1 18.5L6.7 19.3L8.6 22.5L12 21L15.4 22.5L17.3 19.3L20.9 18.5L20.6 14.8L23 12M18.7 16.9L16 17.5L14.6 19.9L12 18.8L9.4 19.9L8 17.5L5.3 16.9L5.5 14.1L3.7 12L5.5 9.9L5.3 7.1L8 6.5L9.4 4.1L12 5.2L14.6 4.1L16 6.5L18.7 7.1L18.5 9.9L20.3 12L18.5 14.1L18.7 16.9M16.6 7.6L18 9L10 17L6 13L7.4 11.6L10 14.2L16.6 7.6Z\";\r\nexport var mdiCheckNetwork = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M8.25,10.08L9.41,8.92L11,10.5L14.59,6.92L15.75,8.33L11,13.08L8.25,10.08Z\";\r\nexport var mdiCheckNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M8,10.37L9.24,9.13L10.93,10.83L14.76,7L16,8.5L10.93,13.57L8,10.37Z\";\r\nexport var mdiCheckOutline = \"M19.78,2.2L24,6.42L8.44,22L0,13.55L4.22,9.33L8.44,13.55L19.78,2.2M19.78,5L8.44,16.36L4.22,12.19L2.81,13.55L8.44,19.17L21.19,6.42L19.78,5Z\";\r\nexport var mdiCheckUnderline = \"M21,5L9,17L3.5,11.5L4.91,10.09L9,14.17L19.59,3.59L21,5M3,21V19H21V21H3Z\";\r\nexport var mdiCheckUnderlineCircle = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M17,18H7V16H17V18M10.3,14L7,10.7L8.4,9.3L10.3,11.2L15.6,5.9L17,7.3L10.3,14Z\";\r\nexport var mdiCheckUnderlineCircleOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M7,15H17V17H7V15M10.3,11.2L8.4,9.3L7,10.7L10.3,14L17,7.3L15.6,5.9L10.3,11.2Z\";\r\nexport var mdiCheckbook = \"M5,14H19V15H5V14M21,17V8H3V17H21M1,5H23V19H1V5M5,10H12V12H5V10Z\";\r\nexport var mdiCheckboxBlank = \"M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiCheckboxBlankBadge = \"M23 4.5C23 6.43 21.43 8 19.5 8S16 6.43 16 4.5 17.57 1 19.5 1 23 2.57 23 4.5M19.5 10C16.47 10 14 7.53 14 4.5C14 4 14.08 3.5 14.21 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V9.79C20.5 9.92 20 10 19.5 10Z\";\r\nexport var mdiCheckboxBlankBadgeOutline = \"M23 4.5C23 6.43 21.43 8 19.5 8S16 6.43 16 4.5 17.57 1 19.5 1 23 2.57 23 4.5M19.5 10C19.33 10 19.17 10 19 10V19H5V5H14.03C14 4.84 14 4.67 14 4.5C14 4 14.08 3.5 14.21 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V9.79C20.5 9.92 20 10 19.5 10Z\";\r\nexport var mdiCheckboxBlankCircle = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiCheckboxBlankCircleOutline = \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiCheckboxBlankOff = \"M20.84 22.73L19.1 21C19.06 21 19.03 21 19 21H5C3.9 21 3 20.11 3 19V5C3 4.97 3 4.94 3 4.9L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M21 5C21 3.89 20.1 3 19 3H6.2L21 17.8V5Z\";\r\nexport var mdiCheckboxBlankOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L3 4.9V19C3 20.11 3.9 21 5 21H19.1L20.84 22.73L22.11 21.46M5 19V6.89L17.11 19H5M8.2 5L6.2 3H19C20.1 3 21 3.89 21 5V17.8L19 15.8V5H8.2Z\";\r\nexport var mdiCheckboxBlankOutline = \"M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z\";\r\nexport var mdiCheckboxIntermediate = \"M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M19,19H5V5H19V19M17,17H7V7H17V17Z\";\r\nexport var mdiCheckboxMarked = \"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiCheckboxMarkedCircle = \"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiCheckboxMarkedCircleOutline = \"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2,4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z\";\r\nexport var mdiCheckboxMarkedOutline = \"M19,19H5V5H15V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V11H19M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z\";\r\nexport var mdiCheckboxMultipleBlank = \"M22,16A2,2 0 0,1 20,18H8C6.89,18 6,17.1 6,16V4C6,2.89 6.89,2 8,2H20A2,2 0 0,1 22,4V16M16,20V22H4A2,2 0 0,1 2,20V7H4V20H16Z\";\r\nexport var mdiCheckboxMultipleBlankCircle = \"M14,2A8,8 0 0,0 6,10A8,8 0 0,0 14,18A8,8 0 0,0 22,10A8,8 0 0,0 14,2M4.93,5.82C3.08,7.34 2,9.61 2,12A8,8 0 0,0 10,20C10.64,20 11.27,19.92 11.88,19.77C10.12,19.38 8.5,18.5 7.17,17.29C5.22,16.25 4,14.21 4,12C4,11.7 4.03,11.41 4.07,11.11C4.03,10.74 4,10.37 4,10C4,8.56 4.32,7.13 4.93,5.82Z\";\r\nexport var mdiCheckboxMultipleBlankCircleOutline = \"M14,2A8,8 0 0,0 6,10A8,8 0 0,0 14,18A8,8 0 0,0 22,10A8,8 0 0,0 14,2M14,4C17.32,4 20,6.69 20,10C20,13.32 17.32,16 14,16A6,6 0 0,1 8,10A6,6 0 0,1 14,4M4.93,5.82C3.08,7.34 2,9.61 2,12A8,8 0 0,0 10,20C10.64,20 11.27,19.92 11.88,19.77C10.12,19.38 8.5,18.5 7.17,17.29C5.22,16.25 4,14.21 4,12C4,11.7 4.03,11.41 4.07,11.11C4.03,10.74 4,10.37 4,10C4,8.56 4.32,7.13 4.93,5.82Z\";\r\nexport var mdiCheckboxMultipleBlankOutline = \"M20,16V4H8V16H20M22,16A2,2 0 0,1 20,18H8C6.89,18 6,17.1 6,16V4C6,2.89 6.89,2 8,2H20A2,2 0 0,1 22,4V16M16,20V22H4A2,2 0 0,1 2,20V7H4V20H16Z\";\r\nexport var mdiCheckboxMultipleMarked = \"M22,16A2,2 0 0,1 20,18H8C6.89,18 6,17.1 6,16V4C6,2.89 6.89,2 8,2H20A2,2 0 0,1 22,4V16M16,20V22H4A2,2 0 0,1 2,20V7H4V20H16M13,14L20,7L18.59,5.59L13,11.17L9.91,8.09L8.5,9.5L13,14Z\";\r\nexport var mdiCheckboxMultipleMarkedCircle = \"M14,2A8,8 0 0,0 6,10A8,8 0 0,0 14,18A8,8 0 0,0 22,10A8,8 0 0,0 14,2M4.93,5.82C3.08,7.34 2,9.61 2,12A8,8 0 0,0 10,20C10.64,20 11.27,19.92 11.88,19.77C10.12,19.38 8.5,18.5 7.17,17.29C5.22,16.25 4,14.21 4,12C4,11.7 4.03,11.41 4.07,11.11C4.03,10.74 4,10.37 4,10C4,8.56 4.32,7.13 4.93,5.82M18.09,6.08L19.5,7.5L13,14L9.21,10.21L10.63,8.79L13,11.17\";\r\nexport var mdiCheckboxMultipleMarkedCircleOutline = \"M14,2A8,8 0 0,0 6,10A8,8 0 0,0 14,18A8,8 0 0,0 22,10H20C20,13.32 17.32,16 14,16A6,6 0 0,1 8,10A6,6 0 0,1 14,4C14.43,4 14.86,4.05 15.27,4.14L16.88,2.54C15.96,2.18 15,2 14,2M20.59,3.58L14,10.17L11.62,7.79L10.21,9.21L14,13L22,5M4.93,5.82C3.08,7.34 2,9.61 2,12A8,8 0 0,0 10,20C10.64,20 11.27,19.92 11.88,19.77C10.12,19.38 8.5,18.5 7.17,17.29C5.22,16.25 4,14.21 4,12C4,11.7 4.03,11.41 4.07,11.11C4.03,10.74 4,10.37 4,10C4,8.56 4.32,7.13 4.93,5.82Z\";\r\nexport var mdiCheckboxMultipleMarkedOutline = \"M20,16V10H22V16A2,2 0 0,1 20,18H8C6.89,18 6,17.1 6,16V4C6,2.89 6.89,2 8,2H16V4H8V16H20M10.91,7.08L14,10.17L20.59,3.58L22,5L14,13L9.5,8.5L10.91,7.08M16,20V22H4A2,2 0 0,1 2,20V7H4V20H16Z\";\r\nexport var mdiCheckboxMultipleOutline = \"M20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M20,16H8V4H20V16M16,20V22H4A2,2 0 0,1 2,20V7H4V20H16M18.53,8.06L17.47,7L12.59,11.88L10.47,9.76L9.41,10.82L12.59,14L18.53,8.06Z\";\r\nexport var mdiCheckboxOutline = \"M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M19,5V19H5V5H19M10,17L6,13L7.41,11.58L10,14.17L16.59,7.58L18,9\";\r\nexport var mdiCheckerboard = \"M2 2V22H22V2H2M20 12H16V16H20V20H16V16H12V20H8V16H4V12H8V8H4V4H8V8H12V4H16V8H20V12M16 8V12H12V8H16M12 12V16H8V12H12Z\";\r\nexport var mdiCheckerboardMinus = \"M14 17V19H22V17M8 16H12V12H8V16M12 12H16V8H12V12M2 2V22H13.5C13 21.4 12.6 20.7 12.3 20H8V16H4V12H8V8H4V4H8V8H12V4H16V8H20V12.4C20.7 12.7 21.4 13.1 22 13.6V2H2Z\";\r\nexport var mdiCheckerboardPlus = \"M19 17H22V19H19V22H17V19H14V17H17V14H19V17M8 16H12V12H8V16M12 12H16V8H12V12M2 2V22H13.54C13 21.42 12.63 20.74 12.36 20H8V16H4V12H8V8H4V4H8V8H12V4H16V8H20V12.36C20.74 12.63 21.42 13 22 13.54V2H2Z\";\r\nexport var mdiCheckerboardRemove = \"M8 16H12V12H8V16M12 12H16V8H12V12M2 2V22H13.5C13 21.4 12.6 20.7 12.3 20H8V16H4V12H8V8H4V4H8V8H12V4H16V8H20V12.4C20.7 12.7 21.4 13.1 22 13.6V2H2M20.1 14.5L18 16.6L15.9 14.5L14.5 15.9L16.6 18L14.5 20.1L15.9 21.5L18 19.4L20.1 21.5L21.5 20.1L19.4 18L21.5 15.9L20.1 14.5Z\";\r\nexport var mdiCheese = \"M11 17.5C11 16.67 11.67 16 12.5 16C12.79 16 13.06 16.09 13.29 16.23L20.75 11.93C20.35 11.22 19.9 10.55 19.41 9.9C19.29 9.96 19.15 10 19 10C18.45 10 18 9.55 18 9C18 8.8 18.08 8.62 18.18 8.46C16.45 6.64 14.34 5.2 12 4.25C11.85 5.24 11 6 10 6C8.9 6 8 5.11 8 4C8 3.72 8.06 3.45 8.16 3.21C7.3 3.08 6.41 3 5.5 3C5.33 3 5.17 3 5 3.03V9.05C6.14 9.28 7 10.29 7 11.5S6.14 13.72 5 13.95V21L11 17.54C11 17.53 11 17.5 11 17.5M14 9C15.11 9 16 9.9 16 11S15.11 13 14 13 12 12.11 12 11 12.9 9 14 9M9 16C8.45 16 8 15.55 8 15S8.45 14 9 14 10 14.45 10 15 9.55 16 9 16M9 10C8.45 10 8 9.55 8 9S8.45 8 9 8 10 8.45 10 9 9.55 10 9 10Z\";\r\nexport var mdiCheeseOff = \"M3.5 1.7L2.2 3L6.1 6.9V9C7.2 9.2 8.1 10.2 8.1 11.5S7.2 13.7 6.1 14V21L12.1 17.5C12.1 16.7 12.8 16 13.6 16C13.9 16 14.2 16.1 14.4 16.2L15.1 15.8L20.3 21L21.6 19.7L3.5 1.7M10.1 16C9.6 16 9.1 15.5 9.1 15S9.6 14 10.1 14 11.1 14.5 11.1 15 10.6 16 10.1 16M13.8 9.5L9.9 5.6C10.2 5.9 10.6 6 11.1 6C12.1 6 12.9 5.2 13.1 4.2C15.4 5.2 17.6 6.6 19.3 8.4C19.2 8.6 19.1 8.7 19.1 8.9C19.1 9.4 19.6 9.9 20.1 9.9C20.3 9.9 20.4 9.9 20.5 9.8C21 10.4 21.4 11.1 21.8 11.8L18.3 13.8L16.6 12.1C16.9 11.8 17.1 11.3 17.1 10.8C17.1 9.7 16.2 8.8 15.1 8.8C14.6 9 14.1 9.2 13.8 9.5M9.5 5.2L7.3 3C8 3 8.6 3.1 9.2 3.2C9.1 3.5 9.1 3.7 9.1 4C9.1 4.4 9.2 4.9 9.5 5.2Z\";\r\nexport var mdiChefHat = \"M12.5,1.5C10.73,1.5 9.17,2.67 8.67,4.37C8.14,4.13 7.58,4 7,4A4,4 0 0,0 3,8C3,9.82 4.24,11.41 6,11.87V19H19V11.87C20.76,11.41 22,9.82 22,8A4,4 0 0,0 18,4C17.42,4 16.86,4.13 16.33,4.37C15.83,2.67 14.27,1.5 12.5,1.5M12,10.5H13V17.5H12V10.5M9,12.5H10V17.5H9V12.5M15,12.5H16V17.5H15V12.5M6,20V21A1,1 0 0,0 7,22H18A1,1 0 0,0 19,21V20H6Z\";\r\nexport var mdiChemicalWeapon = \"M11,7.83C9.83,7.42 9,6.3 9,5A3,3 0 0,1 12,2A3,3 0 0,1 15,5C15,6.31 14.16,7.42 13,7.83V10.64C12.68,10.55 12.35,10.5 12,10.5C11.65,10.5 11.32,10.55 11,10.64V7.83M18.3,21.1C17.16,20.45 16.62,19.18 16.84,17.96L14.4,16.55C14.88,16.09 15.24,15.5 15.4,14.82L17.84,16.23C18.78,15.42 20.16,15.26 21.29,15.91C22.73,16.74 23.22,18.57 22.39,20C21.56,21.44 19.73,21.93 18.3,21.1M2.7,15.9C3.83,15.25 5.21,15.42 6.15,16.22L8.6,14.81C8.76,15.5 9.11,16.08 9.6,16.54L7.15,17.95C7.38,19.17 6.83,20.45 5.7,21.1C4.26,21.93 2.43,21.44 1.6,20C0.77,18.57 1.26,16.73 2.7,15.9M14,14A2,2 0 0,1 12,16C10.89,16 10,15.1 10,14A2,2 0 0,1 12,12C13.11,12 14,12.9 14,14M17,14L16.97,14.57L15.5,13.71C15.4,12.64 14.83,11.71 14,11.12V9.41C15.77,10.19 17,11.95 17,14M14.97,18.03C14.14,18.64 13.11,19 12,19C10.89,19 9.86,18.64 9.03,18L10.5,17.17C10.96,17.38 11.47,17.5 12,17.5C12.53,17.5 13.03,17.38 13.5,17.17L14.97,18.03M7.03,14.56L7,14C7,11.95 8.23,10.19 10,9.42V11.13C9.17,11.71 8.6,12.64 8.5,13.7L7.03,14.56Z\";\r\nexport var mdiChessBishop = \"M19,22H5V20H19V22M17.16,8.26C18.22,9.63 18.86,11.28 19,13C19,15.76 15.87,18 12,18C8.13,18 5,15.76 5,13C5,10.62 7.33,6.39 10.46,5.27C10.16,4.91 10,4.46 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.46 13.84,4.91 13.54,5.27C14.4,5.6 15.18,6.1 15.84,6.74L11.29,11.29L12.71,12.71L17.16,8.26Z\";\r\nexport var mdiChessKing = \"M19,22H5V20H19V22M17,10C15.58,10 14.26,10.77 13.55,12H13V7H16V5H13V2H11V5H8V7H11V12H10.45C9.35,10.09 6.9,9.43 5,10.54C3.07,11.64 2.42,14.09 3.5,16C4.24,17.24 5.57,18 7,18H17A4,4 0 0,0 21,14A4,4 0 0,0 17,10Z\";\r\nexport var mdiChessKnight = \"M19,22H5V20H19V22M13,2V2C11.75,2 10.58,2.62 9.89,3.66L7,8L9,10L11.06,8.63C11.5,8.32 12.14,8.44 12.45,8.9C12.47,8.93 12.5,8.96 12.5,9V9C12.8,9.59 12.69,10.3 12.22,10.77L7.42,15.57C6.87,16.13 6.87,17.03 7.43,17.58C7.69,17.84 8.05,18 8.42,18H17V6A4,4 0 0,0 13,2Z\";\r\nexport var mdiChessPawn = \"M19 22H5V20H19V22M16 18H8L10.18 10H8V8H10.72L10.79 7.74C10.1 7.44 9.55 6.89 9.25 6.2C8.58 4.68 9.27 2.91 10.79 2.25C12.31 1.58 14.08 2.27 14.74 3.79C15.41 5.31 14.72 7.07 13.2 7.74L13.27 8H16V10H13.82L16 18Z\";\r\nexport var mdiChessQueen = \"M18,3A2,2 0 0,1 20,5C20,5.81 19.5,6.5 18.83,6.82L17,13.15V18H7V13.15L5.17,6.82C4.5,6.5 4,5.81 4,5A2,2 0 0,1 6,3A2,2 0 0,1 8,5C8,5.5 7.82,5.95 7.5,6.3L10.3,9.35L10.83,5.62C10.33,5.26 10,4.67 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.67 13.67,5.26 13.17,5.62L13.7,9.35L16.47,6.29C16.18,5.94 16,5.5 16,5A2,2 0 0,1 18,3M5,20H19V22H5V20Z\";\r\nexport var mdiChessRook = \"M5,20H19V22H5V20M17,2V5H15V2H13V5H11V2H9V5H7V2H5V8H7V18H17V8H19V2H17Z\";\r\nexport var mdiChevronDoubleDown = \"M16.59,5.59L18,7L12,13L6,7L7.41,5.59L12,10.17L16.59,5.59M16.59,11.59L18,13L12,19L6,13L7.41,11.59L12,16.17L16.59,11.59Z\";\r\nexport var mdiChevronDoubleLeft = \"M18.41,7.41L17,6L11,12L17,18L18.41,16.59L13.83,12L18.41,7.41M12.41,7.41L11,6L5,12L11,18L12.41,16.59L7.83,12L12.41,7.41Z\";\r\nexport var mdiChevronDoubleRight = \"M5.59,7.41L7,6L13,12L7,18L5.59,16.59L10.17,12L5.59,7.41M11.59,7.41L13,6L19,12L13,18L11.59,16.59L16.17,12L11.59,7.41Z\";\r\nexport var mdiChevronDoubleUp = \"M7.41,18.41L6,17L12,11L18,17L16.59,18.41L12,13.83L7.41,18.41M7.41,12.41L6,11L12,5L18,11L16.59,12.41L12,7.83L7.41,12.41Z\";\r\nexport var mdiChevronDown = \"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\";\r\nexport var mdiChevronDownBox = \"M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M12,15.71L6,9.71L7.41,8.29L12,12.88L16.59,8.29L18,9.71L12,15.71Z\";\r\nexport var mdiChevronDownBoxOutline = \"M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M19,19H5V5H19V19M7.41,8.29L12,12.88L16.59,8.29L18,9.71L12,15.71L6,9.71L7.41,8.29Z\";\r\nexport var mdiChevronDownCircle = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M6,10L12,16L18,10L16.6,8.6L12,13.2L7.4,8.6L6,10Z\";\r\nexport var mdiChevronDownCircleOutline = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12M6,10L12,16L18,10L16.6,8.6L12,13.2L7.4,8.6L6,10Z\";\r\nexport var mdiChevronLeft = \"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z\";\r\nexport var mdiChevronLeftBox = \"M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M15.71,16.59L14.29,18L8.29,12L14.29,6L15.71,7.41L11.12,12L15.71,16.59Z\";\r\nexport var mdiChevronLeftBoxOutline = \"M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M19,19H5V5H19V19M15.71,7.41L11.12,12L15.71,16.59L14.29,18L8.29,12L14.29,6L15.71,7.41Z\";\r\nexport var mdiChevronLeftCircle = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M15.4,16.6L10.8,12L15.4,7.4L14,6L8,12L14,18L15.4,16.6Z\";\r\nexport var mdiChevronLeftCircleOutline = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12M15.4,16.6L10.8,12L15.4,7.4L14,6L8,12L14,18L15.4,16.6Z\";\r\nexport var mdiChevronRight = \"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\";\r\nexport var mdiChevronRightBox = \"M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M9.71,18L8.29,16.59L12.88,12L8.29,7.41L9.71,6L15.71,12L9.71,18Z\";\r\nexport var mdiChevronRightBoxOutline = \"M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M19,19H5V5H19V19M8.29,16.59L12.88,12L8.29,7.41L9.71,6L15.71,12L9.71,18L8.29,16.59Z\";\r\nexport var mdiChevronRightCircle = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M10,18L16,12L10,6L8.6,7.4L13.2,12L8.6,16.6L10,18Z\";\r\nexport var mdiChevronRightCircleOutline = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12M8.6,16.6L13.2,12L8.6,7.4L10,6L16,12L10,18L8.6,16.6Z\";\r\nexport var mdiChevronTripleDown = \"M7.41,14.58L12,19.17L16.59,14.58L18,16L12,22L6,16L7.41,14.58M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58M7.41,2.58L12,7.17L16.59,2.58L18,4L12,10L6,4L7.41,2.58Z\";\r\nexport var mdiChevronTripleLeft = \"M9.42,7.41L4.83,12L9.42,16.59L8,18L2,12L8,6L9.42,7.41M15.42,7.41L10.83,12L15.42,16.59L14,18L8,12L14,6L15.42,7.41M21.42,7.41L16.83,12L21.42,16.59L20,18L14,12L20,6L21.42,7.41Z\";\r\nexport var mdiChevronTripleRight = \"M14.58,16.59L19.17,12L14.58,7.41L16,6L22,12L16,18L14.58,16.59M8.58,16.59L13.17,12L8.58,7.41L10,6L16,12L10,18L8.58,16.59M2.58,16.59L7.17,12L2.58,7.41L4,6L10,12L4,18L2.58,16.59Z\";\r\nexport var mdiChevronTripleUp = \"M16.59,9.42L12,4.83L7.41,9.42L6,8L12,2L18,8L16.59,9.42M16.59,15.42L12,10.83L7.41,15.42L6,14L12,8L18,14L16.59,15.42M16.59,21.42L12,16.83L7.41,21.42L6,20L12,14L18,20L16.59,21.42Z\";\r\nexport var mdiChevronUp = \"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z\";\r\nexport var mdiChevronUpBox = \"M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M16.59,15.71L12,11.12L7.41,15.71L6,14.29L12,8.29L18,14.29L16.59,15.71Z\";\r\nexport var mdiChevronUpBoxOutline = \"M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M19,19H5V5H19V19M16.59,15.71L12,11.12L7.41,15.71L6,14.29L12,8.29L18,14.29L16.59,15.71Z\";\r\nexport var mdiChevronUpCircle = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M7.4,15.4L12,10.8L16.6,15.4L18,14L12,8L6,14L7.4,15.4Z\";\r\nexport var mdiChevronUpCircleOutline = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12M7.4,15.4L12,10.8L16.6,15.4L18,14L12,8L6,14L7.4,15.4Z\";\r\nexport var mdiChiliAlert = \"M9.25 7.5L7.73 6.63C8.26 5.7 9.03 5 9.94 4.69C9.8 4.29 9.44 4 9 4V2C10.54 2 11.79 3.16 11.97 4.65C12.91 4.94 13.72 5.66 14.27 6.63L12.75 7.5L11 6.5L9.25 7.5M14 8.28L12.75 9L11 8L9.25 9L8 8.28C7.4 8.63 7 9.27 7 10V11C7 20 15 22 15 22V10C15 9.27 14.6 8.63 14 8.28M17 7V13H19V7H17M17 17H19V15H17V17Z\";\r\nexport var mdiChiliAlertOutline = \"M14 8.28L12.75 9L11 8L9.25 9L8 8.28C7.4 8.63 7 9.27 7 10V11C7 20 15 22 15 22V10C15 9.27 14.6 8.63 14 8.28M13 18.87C11.23 17.69 9.17 15.44 9 11.43L11 10.3L13 11.45V18.87M9.25 7.5L7.73 6.63C8.26 5.7 9.03 5 9.94 4.69C9.8 4.29 9.44 4 9 4V2C10.54 2 11.79 3.16 11.97 4.65C12.91 4.94 13.72 5.66 14.27 6.63L12.75 7.5L11 6.5L9.25 7.5M19 7V13H17V7H19M17 15H19V17H17V15Z\";\r\nexport var mdiChiliHot = \"M10.43 7.32L8.86 6.42C9.38 5.6 10.11 5 10.94 4.7C10.81 4.3 10.45 4 10 4V2C10.77 2 11.47 2.29 12 2.77V4C12.45 4 12.81 4.3 12.94 4.7C11.83 5.08 10.93 6.05 10.43 7.32M10 11C10 10.23 10.23 9.5 10.6 8.91L9.26 8.15C8.5 8.44 8 9.16 8 10V11C8 18.05 12.9 20.8 15.03 21.66C12.41 19.62 10 16.2 10 11M6.43 7.32L4.86 6.42C5.38 5.6 6.11 5 6.94 4.7C6.81 4.3 6.45 4 6 4V2C6.77 2 7.47 2.29 8 2.77V4C8.45 4 8.81 4.3 8.94 4.7C7.83 5.08 6.93 6.05 6.43 7.32M6 11C6 10.23 6.23 9.5 6.6 8.91L5.26 8.15C4.5 8.44 4 9.16 4 10V11C4 18.05 8.9 20.8 11.03 21.66C8.41 19.62 6 16.2 6 11M19 8.28L17.75 9L16 8L14.25 9L13 8.28C12.4 8.63 12 9.27 12 10V11C12 20 20 22 20 22V10C20 9.27 19.6 8.63 19 8.28M12.73 6.63L14.25 7.5L16 6.5L17.75 7.5L19.27 6.63C18.72 5.66 17.91 4.94 16.97 4.65C16.79 3.16 15.54 2 14 2V4C14.44 4 14.8 4.29 14.94 4.69C14.03 5 13.26 5.7 12.73 6.63Z\";\r\nexport var mdiChiliHotOutline = \"M10.94 4.7C10.81 4.3 10.45 4 10 4V2C10.77 2 11.47 2.29 12 2.77V4C12.45 4 12.81 4.3 12.94 4.7C11.83 5.08 10.93 6.05 10.43 7.32L8.86 6.42C9.38 5.6 10.11 5 10.94 4.7M10 11C10 10.23 10.23 9.5 10.6 8.91L9.26 8.15C8.5 8.44 8 9.16 8 10V11C8 18.05 12.9 20.8 15.03 21.66C12.41 19.62 10 16.2 10 11M8.94 4.7C8.81 4.3 8.45 4 8 4V2.77C7.47 2.29 6.77 2 6 2V4C6.45 4 6.81 4.3 6.94 4.7C6.11 5 5.38 5.6 4.86 6.42L6.43 7.32C6.93 6.05 7.83 5.08 8.94 4.7M6 11C6 10.23 6.23 9.5 6.6 8.91L5.26 8.15C4.5 8.44 4 9.16 4 10V11C4 18.05 8.9 20.8 11.03 21.66C8.41 19.62 6 16.2 6 11M20 10V22C20 22 12 20 12 11V10C12 9.27 12.4 8.63 13 8.28L14.25 9L16 8L17.75 9L19 8.28C19.6 8.63 20 9.27 20 10M18 18.87V11.45L16 10.3L14 11.43C14.17 15.44 16.23 17.69 18 18.87M12.73 6.63L14.25 7.5L16 6.5L17.75 7.5L19.27 6.63C18.72 5.66 17.91 4.94 16.97 4.65C16.79 3.16 15.54 2 14 2V4C14.44 4 14.8 4.29 14.94 4.69C14.03 5 13.26 5.7 12.73 6.63Z\";\r\nexport var mdiChiliMedium = \"M8.43 7.32L6.86 6.42C7.38 5.6 8.11 5 8.94 4.7C8.81 4.3 8.45 4 8 4V2C8.77 2 9.47 2.29 10 2.77V4C10.45 4 10.81 4.3 10.94 4.7C9.83 5.08 8.93 6.05 8.43 7.32M8 11C8 10.23 8.23 9.5 8.6 8.91L7.26 8.15C6.5 8.44 6 9.16 6 10V11C6 18.05 10.9 20.8 13.03 21.66C10.41 19.62 8 16.2 8 11M17 8.28L15.75 9L14 8L12.25 9L11 8.28C10.4 8.63 10 9.27 10 10V11C10 20 18 22 18 22V10C18 9.27 17.6 8.63 17 8.28M10.73 6.63L12.25 7.5L14 6.5L15.75 7.5L17.27 6.63C16.72 5.66 15.91 4.94 14.97 4.65C14.79 3.16 13.54 2 12 2V4C12.44 4 12.8 4.29 12.94 4.69C12.03 5 11.26 5.7 10.73 6.63Z\";\r\nexport var mdiChiliMediumOutline = \"M8.43 7.32L6.86 6.42C7.38 5.6 8.11 5 8.94 4.7C8.81 4.3 8.45 4 8 4V2C8.77 2 9.47 2.29 10 2.77V4C10.45 4 10.81 4.3 10.94 4.7C9.83 5.08 8.93 6.05 8.43 7.32M8 11C8 10.23 8.23 9.5 8.6 8.91L7.26 8.15C6.5 8.44 6 9.16 6 10V11C6 18.05 10.9 20.8 13.03 21.66C10.41 19.62 8 16.2 8 11M18 10V22C18 22 10 20 10 11V10C10 9.27 10.4 8.63 11 8.28L12.25 9L14 8L15.75 9L17 8.28C17.6 8.63 18 9.27 18 10M16 18.87V11.45L14 10.3L12 11.43C12.17 15.44 14.23 17.69 16 18.87M10.73 6.63L12.25 7.5L14 6.5L15.75 7.5L17.27 6.63C16.72 5.66 15.91 4.94 14.97 4.65C14.79 3.16 13.54 2 12 2V4C12.44 4 12.8 4.29 12.94 4.69C12.03 5 11.26 5.7 10.73 6.63Z\";\r\nexport var mdiChiliMild = \"M16 10V22C16 22 8 20 8 11V10C8 9.27 8.4 8.63 9 8.28L10.25 9L12 8L13.75 9L15 8.28C15.6 8.63 16 9.27 16 10M12 6.5L13.75 7.5L15.27 6.63C14.72 5.66 13.91 4.94 12.97 4.65C12.79 3.16 11.54 2 10 2V4C10.44 4 10.8 4.29 10.94 4.69C10.03 5 9.26 5.7 8.73 6.63L10.25 7.5L12 6.5Z\";\r\nexport var mdiChiliMildOutline = \"M10.25 7.5L8.73 6.63C9.26 5.7 10.03 5 10.94 4.69C10.8 4.29 10.44 4 10 4V2C11.54 2 12.79 3.16 12.97 4.65C13.91 4.94 14.72 5.66 15.27 6.63L13.75 7.5L12 6.5L10.25 7.5M16 10V22C16 22 8 20 8 11V10C8 9.27 8.4 8.63 9 8.28L10.25 9L12 8L13.75 9L15 8.28C15.6 8.63 16 9.27 16 10M14 11.45L12 10.3L10 11.43C10.17 15.44 12.23 17.69 14 18.87V11.45Z\";\r\nexport var mdiChiliOff = \"M15 8.28C15.6 8.63 16 9.27 16 10V12.8L11.5 8.29L12 8L13.75 9L15 8.28M12 6.5L13.75 7.5L15.27 6.63C14.72 5.66 13.91 4.94 12.97 4.65C12.79 3.16 11.54 2 10 2V4C10.44 4 10.8 4.29 10.94 4.69C10.26 4.92 9.66 5.37 9.17 5.97L10.54 7.34L12 6.5M2.39 1.73L1.11 3L8 9.9C8 9.94 8 9.97 8 10V11C8 20 16 22 16 22V17.89L20.84 22.73L22.11 21.46L2.39 1.73Z\";\r\nexport var mdiChiliOffOutline = \"M15 8.28C15.6 8.63 16 9.27 16 10V12.8L11.5 8.29L12 8L13.75 9L15 8.28M12 6.5L13.75 7.5L15.27 6.63C14.72 5.66 13.91 4.94 12.97 4.65C12.79 3.16 11.54 2 10 2V4C10.44 4 10.8 4.29 10.94 4.69C10.26 4.92 9.66 5.37 9.17 5.97L10.54 7.34L12 6.5M22.11 21.46L20.84 22.73L16 17.89V22C16 22 8 20 8 11V10C8 9.97 8 9.94 8 9.9L1.11 3L2.39 1.73L22.11 21.46M14 15.89L10.07 11.96C10.38 15.63 12.31 17.74 14 18.87V15.89Z\";\r\nexport var mdiChip = \"M6,4H18V5H21V7H18V9H21V11H18V13H21V15H18V17H21V19H18V20H6V19H3V17H6V15H3V13H6V11H3V9H6V7H3V5H6V4M11,15V18H12V15H11M13,15V18H14V15H13M15,15V18H16V15H15Z\";\r\nexport var mdiChurch = \"M11,2H13V4H15V6H13V9.4L22,13V15L20,14.2V22H14V17A2,2 0 0,0 12,15A2,2 0 0,0 10,17V22H4V14.2L2,15V13L11,9.4V6H9V4H11V2M6,20H8V15L7,14L6,15V20M16,20H18V15L17,14L16,15V20Z\";\r\nexport var mdiCigar = \"M16 10.2H14.5A2 2 0 0 1 12.65 8.2A1.78 1.78 0 0 1 14.5 6.45V5A3.35 3.35 0 1 0 14.5 11.7H16A1.93 1.93 0 0 1 18 13.7V15H19.5V13.36A3.31 3.31 0 0 0 16 10.2M18.82 7.73A3.34 3.34 0 0 0 16.5 2V3.5A1.85 1.85 0 1 1 16.5 7.2V8.7A4 4 0 0 1 20.5 12.77V15H22V12.76A5.55 5.55 0 0 0 18.85 7.73M18 16V22H19.5V16M20.5 16V22H22V16M12 16V17.27A2 2 0 0 1 12 20.73V22H17V16M2.88 16.88A3 3 0 0 0 5 22H10V20.73A2 2 0 0 1 10 17.27V16H5A3 3 0 0 0 2.88 16.88M12 19A1 1 0 1 1 11 18A1 1 0 0 1 12 19Z\";\r\nexport var mdiCigarOff = \"M20.84 22.73L18.11 20H18V19.89L17 18.89V20H12V18.73C12.3 18.56 12.55 18.31 12.73 18C13.28 17.05 12.96 15.83 12 15.27V14H12.11L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M14.5 9.7H16C17.07 9.66 17.96 10.5 18 11.56C18 11.61 18 11.65 18 11.7V13H19.5V11.36C19.42 9.53 17.88 8.12 16.05 8.2L16 8.2H14.5C13.45 8.12 12.65 7.25 12.65 6.2C12.67 5.22 13.5 4.43 14.46 4.45L14.5 4.45V3C12.65 3 11.15 4.5 11.15 6.35S12.65 9.7 14.5 9.7M20.5 10.7L20.5 10.77V13H22V10.76C22 8.62 20.78 6.66 18.85 5.73H18.82C19.58 5 19.9 4 19.8 3H18.32C18.34 3.11 18.35 3.23 18.35 3.35C18.35 4.37 17.5 5.2 16.5 5.2H16.5V6.7C18.71 6.7 20.5 8.5 20.5 10.7M9.27 16C9.45 15.7 9.7 15.45 10 15.27V14H5C4.21 14 3.44 14.32 2.88 14.88C1.71 16.05 1.71 17.95 2.88 19.12C3.45 19.68 4.21 20 5 20H10V18.73C9.05 18.18 8.72 16.95 9.27 16M18 14.8L19.5 16.3V14H18V14.8M20.5 17.3L22 18.8V14H20.5V17.3M11 16C10.45 16 10 16.45 10 17S10.45 18 11 18 12 17.55 12 17 11.55 16 11 16Z\";\r\nexport var mdiCircle = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiCircleBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 16C9.79 16 8 14.21 8 12S9.79 8 12 8 16 9.79 16 12 14.21 16 12 16Z\";\r\nexport var mdiCircleBoxOutline = \"M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 8C9.79 8 8 9.79 8 12S9.79 16 12 16 16 14.21 16 12 14.21 8 12 8Z\";\r\nexport var mdiCircleDouble = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4M12,6A6,6 0 0,0 6,12A6,6 0 0,0 12,18A6,6 0 0,0 18,12A6,6 0 0,0 12,6M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8Z\";\r\nexport var mdiCircleEditOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12H20A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4V2M18.78,3C18.61,3 18.43,3.07 18.3,3.2L17.08,4.41L19.58,6.91L20.8,5.7C21.06,5.44 21.06,5 20.8,4.75L19.25,3.2C19.12,3.07 18.95,3 18.78,3M16.37,5.12L9,12.5V15H11.5L18.87,7.62L16.37,5.12Z\";\r\nexport var mdiCircleExpand = \"M16,4L20,8V4M20,16L16,20H20M8,20L4,16V20M4,8L8,4H4M16.95,7.05C14.22,4.32 9.78,4.32 7.05,7.05C4.32,9.78 4.32,14.22 7.05,16.95C9.78,19.68 14.22,19.68 16.95,16.95C19.68,14.22 19.68,9.79 16.95,7.05M15.85,15.85C13.72,18 10.28,18 8.15,15.85C6,13.72 6,10.28 8.15,8.15C10.28,6 13.72,6 15.85,8.15C18,10.28 18,13.72 15.85,15.85Z\";\r\nexport var mdiCircleHalf = \"M12 2A10 10 0 0 0 2 12A10 10 0 0 0 12 22V2Z\";\r\nexport var mdiCircleHalfFull = \"M12 2A10 10 0 0 0 2 12A10 10 0 0 0 12 22A10 10 0 0 0 22 12A10 10 0 0 0 12 2M12 4A8 8 0 0 1 20 12A8 8 0 0 1 12 20V4Z\";\r\nexport var mdiCircleMedium = \"M12,8A4,4 0 0,0 8,12A4,4 0 0,0 12,16A4,4 0 0,0 16,12A4,4 0 0,0 12,8Z\";\r\nexport var mdiCircleMultiple = \"M15 4A8 8 0 1 1 7 12A8 8 0 0 1 15 4M3 12A6 6 0 0 0 7 17.65V19.74A8 8 0 0 1 7 4.26V6.35A6 6 0 0 0 3 12Z\";\r\nexport var mdiCircleMultipleOutline = \"M15,4A8,8 0 0,1 23,12A8,8 0 0,1 15,20A8,8 0 0,1 7,12A8,8 0 0,1 15,4M15,18A6,6 0 0,0 21,12A6,6 0 0,0 15,6A6,6 0 0,0 9,12A6,6 0 0,0 15,18M3,12C3,14.61 4.67,16.83 7,17.65V19.74C3.55,18.85 1,15.73 1,12C1,8.27 3.55,5.15 7,4.26V6.35C4.67,7.17 3,9.39 3,12Z\";\r\nexport var mdiCircleOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L4.06 5.95C2.78 7.63 2 9.72 2 12C2 17.5 6.5 22 12 22C14.28 22 16.37 21.23 18.05 19.94L20.84 22.73L22.11 21.46M12 20C7.58 20 4 16.42 4 12C4 10.27 4.56 8.68 5.5 7.38L16.62 18.5C15.32 19.45 13.73 20 12 20M8.17 4.97L6.72 3.5C8.25 2.56 10.06 2 12 2C17.5 2 22 6.5 22 12C22 13.94 21.44 15.75 20.5 17.28L19.03 15.83C19.65 14.69 20 13.39 20 12C20 7.58 16.42 4 12 4C10.61 4 9.31 4.35 8.17 4.97Z\";\r\nexport var mdiCircleOutline = \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiCircleSlice1 = \"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C13.93 5 15.68 5.78 16.95 7.05L12 12V5Z\";\r\nexport var mdiCircleSlice2 = \"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C15.87 5 19 8.13 19 12H12V5Z\";\r\nexport var mdiCircleSlice3 = \"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C15.87 5 19 8.13 19 12C19 13.93 18.22 15.68 16.95 16.95L12 12V5Z\";\r\nexport var mdiCircleSlice4 = \"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C15.87 5 19 8.13 19 12C19 15.87 15.87 19 12 19V5Z\";\r\nexport var mdiCircleSlice5 = \"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C15.87 5 19 8.13 19 12C19 15.87 15.87 19 12 19C10.07 19 8.32 18.22 7.05 16.95L12 12V5Z\";\r\nexport var mdiCircleSlice6 = \"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C15.87 5 19 8.13 19 12C19 15.87 15.87 19 12 19C8.13 19 5 15.87 5 12H12V5Z\";\r\nexport var mdiCircleSlice7 = \"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C15.87 5 19 8.13 19 12C19 15.87 15.87 19 12 19C8.13 19 5 15.87 5 12C5 10.07 5.78 8.32 7.05 7.05L12 12V5Z\";\r\nexport var mdiCircleSlice8 = \"M12 5C15.87 5 19 8.13 19 12C19 15.87 15.87 19 12 19C8.13 19 5 15.87 5 12C5 8.13 8.13 5 12 5M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4Z\";\r\nexport var mdiCircleSmall = \"M12,10A2,2 0 0,0 10,12C10,13.11 10.9,14 12,14C13.11,14 14,13.11 14,12A2,2 0 0,0 12,10Z\";\r\nexport var mdiCircularSaw = \"M13,11A1,1 0 0,1 14,12A1,1 0 0,1 13,13A1,1 0 0,1 12,12A1,1 0 0,1 13,11M7.86,6.25C9.14,4.87 10.97,4 13,4C16.5,4 19.44,6.61 19.93,10H22V12H16A3,3 0 0,0 13,9A3,3 0 0,0 10,12H2V10H2.05C2.25,7.73 3.14,5.66 4.5,4L7.86,6.25M6.73,7.89L5.06,6.77C4.53,7.75 4.18,8.84 4.06,10H6.07C6.18,9.25 6.4,8.54 6.73,7.89M7.4,15.4L6,14H11.79C12.03,14.42 12.5,14.7 13,14.7C13.5,14.7 13.97,14.42 14.21,14H20V15.4C18.39,14.42 18.46,15.75 18.46,15.75V17.71L16.5,19.67C16,17.92 15.1,18.9 15.1,18.9L13.7,20.3H10.9C11.88,18.69 10.55,18.76 10.55,18.76H8.59L6.63,16.8C8.38,16.31 7.4,15.4 7.4,15.4Z\";\r\nexport var mdiCity = \"M19,15H17V13H19M19,19H17V17H19M13,7H11V5H13M13,11H11V9H13M13,15H11V13H13M13,19H11V17H13M7,11H5V9H7M7,15H5V13H7M7,19H5V17H7M15,11V5L12,2L9,5V7H3V21H21V11H15Z\";\r\nexport var mdiCityVariant = \"M19,9V7A2,2 0 0,0 17,5H16V2H14V5H13A2,2 0 0,0 11,7V9A2,2 0 0,0 9,11V12H5A2,2 0 0,0 3,14V22H6V20H8V22H12V20H14V22H16V20H18V22H21V11A2,2 0 0,0 19,9M8,18H6V16H8V18M14,18H12V16H14V18M14,14H12V12H14V14M13,9V7H17V9H13M18,18H16V16H18V18M18,14H16V12H18V14Z\";\r\nexport var mdiCityVariantOutline = \"M15,23H13V21H15V23M19,21H17V23H19V21M15,17H13V19H15V17M7,21H5V23H7V21M7,17H5V19H7V17M19,17H17V19H19V17M15,13H13V15H15V13M19,13H17V15H19V13M21,9A2,2 0 0,1 23,11V23H21V11H11V23H9V15H3V23H1V15A2,2 0 0,1 3,13H9V11A2,2 0 0,1 11,9V7A2,2 0 0,1 13,5H15V1H17V5H19A2,2 0 0,1 21,7V9M19,9V7H13V9H19Z\";\r\nexport var mdiClipboard = \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3\";\r\nexport var mdiClipboardAccount = \"M18,19H6V17.6C6,15.6 10,14.5 12,14.5C14,14.5 18,15.6 18,17.6M12,7A3,3 0 0,1 15,10A3,3 0 0,1 12,13A3,3 0 0,1 9,10A3,3 0 0,1 12,7M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiClipboardAccountOutline = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H9.18C9.6,1.84 10.7,1 12,1C13.3,1 14.4,1.84 14.82,3H19M12,3A1,1 0 0,0 11,4A1,1 0 0,0 12,5A1,1 0 0,0 13,4A1,1 0 0,0 12,3M7,7V5H5V19H19V5H17V7H7M12,9A2,2 0 0,1 14,11A2,2 0 0,1 12,13A2,2 0 0,1 10,11A2,2 0 0,1 12,9M8,17V16C8,14.9 9.79,14 12,14C14.21,14 16,14.9 16,16V17H8Z\";\r\nexport var mdiClipboardAlert = \"M12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5M13,14H11V8H13M13,18H11V16H13M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiClipboardAlertOutline = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H9.18C9.6,1.84 10.7,1 12,1C13.3,1 14.4,1.84 14.82,3H19M12,3A1,1 0 0,0 11,4A1,1 0 0,0 12,5A1,1 0 0,0 13,4A1,1 0 0,0 12,3M7,7V5H5V19H19V5H17V7H7M11,9H13V13.5H11V9M11,15H13V17H11V15Z\";\r\nexport var mdiClipboardArrowDown = \"M12,18L7,13H10V9H14V13H17M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiClipboardArrowDownOutline = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H9.18C9.6,1.84 10.7,1 12,1C13.3,1 14.4,1.84 14.82,3H19M12,3A1,1 0 0,0 11,4A1,1 0 0,0 12,5A1,1 0 0,0 13,4A1,1 0 0,0 12,3M7,7V5H5V19H19V5H17V7H7M12,18L7,13H10V9H14V13H17L12,18Z\";\r\nexport var mdiClipboardArrowLeft = \"M16,15H12V18L7,13L12,8V11H16M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiClipboardArrowLeftOutline = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H9.18C9.6,1.84 10.7,1 12,1C13.3,1 14.4,1.84 14.82,3H19M12,3A1,1 0 0,0 11,4A1,1 0 0,0 12,5A1,1 0 0,0 13,4A1,1 0 0,0 12,3M7,7V5H5V19H19V5H17V7H7M7,13L12,18V15H16V11H12V8L7,13Z\";\r\nexport var mdiClipboardArrowRight = \"M17,13L12,18V15H8V11H12V8M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiClipboardArrowRightOutline = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H9.18C9.6,1.84 10.7,1 12,1C13.3,1 14.4,1.84 14.82,3H19M12,3A1,1 0 0,0 11,4A1,1 0 0,0 12,5A1,1 0 0,0 13,4A1,1 0 0,0 12,3M7,7V5H5V19H19V5H17V7H7M16.91,13L11.91,18V15H7.91V11H11.91V8L16.91,13Z\";\r\nexport var mdiClipboardArrowUp = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H9.18C9.6,1.84 10.7,1 12,1C13.3,1 14.4,1.84 14.82,3H19M12,8L7,13H10V17H14V13H17L12,8M12,3A1,1 0 0,0 11,4A1,1 0 0,0 12,5A1,1 0 0,0 13,4A1,1 0 0,0 12,3Z\";\r\nexport var mdiClipboardArrowUpOutline = \"M12,8L17,13H14V17H10V13H7L12,8M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H9.18C9.6,1.84 10.7,1 12,1C13.3,1 14.4,1.84 14.82,3H19M12,3A1,1 0 0,0 11,4A1,1 0 0,0 12,5A1,1 0 0,0 13,4A1,1 0 0,0 12,3M7,7V5H5V19H19V5H17V7H7Z\";\r\nexport var mdiClipboardCheck = \"M10,17L6,13L7.41,11.59L10,14.17L16.59,7.58L18,9M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiClipboardCheckMultiple = \"M4 7H2V21C2 22.1 2.9 23 4 23H18V21H4M20 3H16.8C16.4 1.8 15.3 1 14 1C12.7 1 11.6 1.8 11.2 3H8C6.9 3 6 3.9 6 5V17C6 18.1 6.9 19 8 19H20C21.1 19 22 18.1 22 17V5C22 3.9 21.1 3 20 3M14 3C14.6 3 15 3.5 15 4C15 4.5 14.5 5 14 5C13.5 5 13 4.5 13 4C13 3.5 13.4 3 14 3M12.3 15.1L9 11.8L10.4 10.4L12.3 12.3L17.6 7L19 8.4\";\r\nexport var mdiClipboardCheckMultipleOutline = \"M4 7V21H18V23H4C2.9 23 2 22.1 2 21V7H4M12.8 15.35L9.5 12.05L10.9 10.65L12.8 12.55L17.1 8.25L18.5 9.65L12.8 15.35M20 3C21.1 3 22 3.9 22 5V17C22 18.1 21.1 19 20 19H8C6.9 19 6 18.1 6 17V5C6 3.9 6.9 3 8 3H11.18C11.6 1.84 12.7 1 14 1C15.3 1 16.4 1.84 16.82 3H20M14 3C13.45 3 13 3.45 13 4C13 4.55 13.45 5 14 5C14.55 5 15 4.55 15 4C15 3.45 14.55 3 14 3M10 7V5H8V17H20V5H18V7H10Z\";\r\nexport var mdiClipboardCheckOutline = \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M7,7H17V5H19V19H5V5H7V7M7.5,13.5L9,12L11,14L15.5,9.5L17,11L11,17L7.5,13.5Z\";\r\nexport var mdiClipboardClock = \"M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25M23 16C23 19.87 19.87 23 16 23C14.09 23 12.37 22.24 11.11 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H9.18C9.6 1.84 10.7 1 12 1S14.4 1.84 14.82 3H19C20.11 3 21 3.9 21 5V11.11C22.24 12.37 23 14.09 23 16M11 4C11 4.55 11.45 5 12 5S13 4.55 13 4 12.55 3 12 3 11 3.45 11 4M21 16C21 13.24 18.76 11 16 11S11 13.24 11 16 13.24 21 16 21 21 18.76 21 16Z\";\r\nexport var mdiClipboardClockOutline = \"M21 11.11V5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H11.11C12.37 22.24 14.09 23 16 23C19.87 23 23 19.87 23 16C23 14.09 22.24 12.37 21 11.11M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M5 19V5H7V7H17V5H19V9.68C18.09 9.25 17.08 9 16 9C12.13 9 9 12.13 9 16C9 17.08 9.25 18.09 9.68 19H5M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25Z\";\r\nexport var mdiClipboardEdit = \"M21.04 12.13C21.18 12.13 21.31 12.19 21.42 12.3L22.7 13.58C22.92 13.79 22.92 14.14 22.7 14.35L21.7 15.35L19.65 13.3L20.65 12.3C20.76 12.19 20.9 12.13 21.04 12.13M19.07 13.88L21.12 15.93L15.06 22H13V19.94L19.07 13.88M19 3C20.1 3 21 3.9 21 5V9L11 19V21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H9.18C9.6 1.84 10.7 1 12 1C13.3 1 14.4 1.84 14.82 3H19M12 3C11.45 3 11 3.45 11 4C11 4.55 11.45 5 12 5C12.55 5 13 4.55 13 4C13 3.45 12.55 3 12 3Z\";\r\nexport var mdiClipboardEditOutline = \"M21.04 12.13C21.18 12.13 21.31 12.19 21.42 12.3L22.7 13.58C22.92 13.79 22.92 14.14 22.7 14.35L21.7 15.35L19.65 13.3L20.65 12.3C20.76 12.19 20.9 12.13 21.04 12.13M19.07 13.88L21.12 15.93L15.06 22H13V19.94L19.07 13.88M11 19L9 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H9.18C9.6 1.84 10.7 1 12 1C13.3 1 14.4 1.84 14.82 3H19C20.1 3 21 3.9 21 5V9L19 11V5H17V7H7V5H5V19H11M12 3C11.45 3 11 3.45 11 4C11 4.55 11.45 5 12 5C12.55 5 13 4.55 13 4C13 3.45 12.55 3 12 3Z\";\r\nexport var mdiClipboardFile = \"M19 3C20.1 3 21 3.9 21 5V9.17L19.83 8H15C12.79 8 11 9.79 11 12V21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H9.18C9.6 1.84 10.7 1 12 1C13.3 1 14.4 1.84 14.82 3H19M12 3C11.45 3 11 3.45 11 4C11 4.55 11.45 5 12 5C12.55 5 13 4.55 13 4C13 3.45 12.55 3 12 3M15 23C13.9 23 13 22.11 13 21V12C13 10.9 13.9 10 15 10H19L23 14V21C23 22.11 22.11 23 21 23H15M21 14.83L18.17 12H18V15H21V14.83Z\";\r\nexport var mdiClipboardFileOutline = \"M15 23C13.9 23 13 22.11 13 21V12C13 10.9 13.9 10 15 10H19L23 14V21C23 22.11 22.11 23 21 23H15M15 21H21V14.83L18.17 12H15V21M19 3C20.1 3 21 3.9 21 5V9.17L19.83 8H19V5H17V7H7V5H5V19H11V21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H9.18C9.6 1.84 10.7 1 12 1C13.3 1 14.4 1.84 14.82 3H19M12 3C11.45 3 11 3.45 11 4C11 4.55 11.45 5 12 5C12.55 5 13 4.55 13 4C13 3.45 12.55 3 12 3Z\";\r\nexport var mdiClipboardFlow = \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M15,19L11,15H14V8H16V15H19L15,19M10,16H8V9H5L9,5L13,9H10V16\";\r\nexport var mdiClipboardFlowOutline = \"M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M7 7H17V5H19V19H5V5H7V7M10 16H8V11H6L9 8L12 11H10V16M14 10H16V15H18L15 18L12 15H14V10Z\";\r\nexport var mdiClipboardList = \"M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M7 8H9V12H8V9H7V8M10 17V18H7V17.08L9 15H7V14H9.25C9.66 14 10 14.34 10 14.75C10 14.95 9.92 15.14 9.79 15.27L8.12 17H10M11 4C11 3.45 11.45 3 12 3S13 3.45 13 4 12.55 5 12 5 11 4.55 11 4M17 17H12V15H17V17M17 11H12V9H17V11Z\";\r\nexport var mdiClipboardListOutline = \"M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M7 7H17V5H19V19H5V5H7V7M12 17V15H17V17H12M12 11V9H17V11H12M8 12V9H7V8H9V12H8M9.25 14C9.66 14 10 14.34 10 14.75C10 14.95 9.92 15.14 9.79 15.27L8.12 17H10V18H7V17.08L9 15H7V14H9.25\";\r\nexport var mdiClipboardMinus = \"M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M16 14H8V12H16V14Z\";\r\nexport var mdiClipboardMinusOutline = \"M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M19 19H5V5H7V7H17V5H19V19M8 12H16V14H8V12Z\";\r\nexport var mdiClipboardMultiple = \"M4 7H2V21C2 22.1 2.9 23 4 23H18V21H4M20 3H16.8C16.4 1.8 15.3 1 14 1C12.7 1 11.6 1.8 11.2 3H8C6.9 3 6 3.9 6 5V17C6 18.1 6.9 19 8 19H20C21.1 19 22 18.1 22 17V5C22 3.9 21.1 3 20 3M14 3C14.6 3 15 3.5 15 4C15 4.5 14.5 5 14 5C13.5 5 13 4.5 13 4C13 3.5 13.4 3 14 3Z\";\r\nexport var mdiClipboardMultipleOutline = \"M4 7V21H18V23H4C2.9 23 2 22.1 2 21V7H4M20 3C21.1 3 22 3.9 22 5V17C22 18.1 21.1 19 20 19H8C6.9 19 6 18.1 6 17V5C6 3.9 6.9 3 8 3H11.18C11.6 1.84 12.7 1 14 1C15.3 1 16.4 1.84 16.82 3H20M14 3C13.45 3 13 3.45 13 4C13 4.55 13.45 5 14 5C14.55 5 15 4.55 15 4C15 3.45 14.55 3 14 3M10 7V5H8V17H20V5H18V7H10Z\";\r\nexport var mdiClipboardOff = \"M21 5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H6.2L21 17.8V5M12 5C11.45 5 11 4.55 11 4S11.45 3 12 3 13 3.45 13 4 12.55 5 12 5M22.11 21.46L20.84 22.73L19.1 21C19.07 21 19.03 21 19 21H5C3.9 21 3 20.11 3 19V5C3 4.97 3 4.93 3 4.9L1.11 3L2.39 1.73L22.11 21.46Z\";\r\nexport var mdiClipboardOffOutline = \"M2.39 1.73L1.11 3L3 4.9C3 4.93 3 4.97 3 5V19C3 20.11 3.9 21 5 21H19C19.03 21 19.07 21 19.1 21L20.84 22.73L22.11 21.46L2.39 1.73M5 19V6.89L17.11 19H5M17 7V5H19V15.8L21 17.8V5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H6.2L10.2 7H17M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3Z\";\r\nexport var mdiClipboardOutline = \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M7,7H17V5H19V19H5V5H7V7Z\";\r\nexport var mdiClipboardPlay = \"M19,3H14.82C14.25,1.44 12.53,0.64 11,1.2C10.14,1.5 9.5,2.16 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M10,17V9L15,13L10,17Z\";\r\nexport var mdiClipboardPlayMultiple = \"M4 21H18V23H4C2.9 23 2 22.1 2 21V7H4M22 5V17C22 18.1 21.1 19 20 19H8C6.9 19 6 18.1 6 17V5C6 3.9 6.9 3 8 3H11.2C11.6 1.8 12.7 1 14 1C15.3 1 16.4 1.8 16.8 3H20C21.1 3 22 3.9 22 5M13 4C13 4.5 13.5 5 14 5C14.5 5 15 4.5 15 4C15 3.5 14.6 3 14 3C13.4 3 13 3.5 13 4M17 12L12 8V16\";\r\nexport var mdiClipboardPlayMultipleOutline = \"M4 7V21H18V23H4C2.9 23 2 22.1 2 21V7H4M20 3C21.1 3 22 3.9 22 5V17C22 18.1 21.1 19 20 19H8C6.9 19 6 18.1 6 17V5C6 3.9 6.9 3 8 3H11.2C11.6 1.8 12.7 1 14 1C15.3 1 16.4 1.8 16.8 3H20M14 3C13.4 3 13 3.5 13 4C13 4.5 13.4 5 14 5C14.6 5 15 4.6 15 4C15 3.4 14.6 3 14 3M10 7V5H8V17H20V5H18V7M12 15V9L17 12\";\r\nexport var mdiClipboardPlayOutline = \"M19,3H14.82C14.25,1.44 12.53,0.64 11,1.2C10.14,1.5 9.5,2.16 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M7,7H17V5H19V19H5V5H7V7M10,17V9L15,13L10,17Z\";\r\nexport var mdiClipboardPlus = \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M13,12H16V14H13V17H11V14H8V12H11V9H13V12Z\";\r\nexport var mdiClipboardPlusOutline = \"M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M7 7H17V5H19V19H5V5H7V7M13 12H16V14H13V17H11V14H8V12H11V9H13V12Z\";\r\nexport var mdiClipboardPulse = \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M5,13.46H7.17L10.5,7.08L11.44,14.05L13.93,10.86L16.53,13.46H19V15H15.89L14.07,13.21L10.38,17.92L9.62,12.15L8.11,15H5V13.46Z\";\r\nexport var mdiClipboardPulseOutline = \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M5,15H8.11L9.62,12.15L10.38,17.92L14.07,13.21L15.89,15H19V19H5V15M19,13.46H16.53L13.93,10.86L11.44,14.05L10.5,7.08L7.17,13.46H5V5H7V6H17V5H19V6L19,13.46Z\";\r\nexport var mdiClipboardRemove = \"M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M15.54 15.12L14.12 16.54L12 14.41L9.88 16.54L8.47 15.12L10.59 13L8.47 10.88L9.88 9.47L12 11.59L14.12 9.47L15.54 10.88L13.41 13L15.54 15.12Z\";\r\nexport var mdiClipboardRemoveOutline = \"M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M19 19H5V5H7V7H17V5H19V19M15.54 10.88L13.41 13L15.54 15.12L14.12 16.54L12 14.41L9.88 16.54L8.47 15.12L10.59 13L8.47 10.88L9.88 9.47L12 11.59L14.12 9.47L15.54 10.88Z\";\r\nexport var mdiClipboardSearch = \"M11.9 10.9C14.41 8.4 18.45 8.37 21 10.82V5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H13.06C12.65 20.74 12.26 20.45 11.9 20.1C9.37 17.56 9.37 13.44 11.9 10.9M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M20.31 17.9C20.75 17.21 21 16.38 21 15.5C21 13 19 11 16.5 11S12 13 12 15.5 14 20 16.5 20C17.37 20 18.19 19.75 18.88 19.32L22 22.39L23.39 21L20.31 17.9M16.5 18C15.12 18 14 16.88 14 15.5S15.12 13 16.5 13 19 14.12 19 15.5 17.88 18 16.5 18Z\";\r\nexport var mdiClipboardSearchOutline = \"M11.03 19H5V5H7V7H17V5H19V9.5C19.72 9.8 20.4 10.24 21 10.82V5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H13.06C12.65 20.74 12.26 20.45 11.9 20.1C11.57 19.76 11.27 19.39 11.03 19M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M20.31 17.9C20.75 17.21 21 16.38 21 15.5C21 13 19 11 16.5 11S12 13 12 15.5 14 20 16.5 20C17.37 20 18.19 19.75 18.88 19.32L22 22.39L23.39 21L20.31 17.9M16.5 18C15.12 18 14 16.88 14 15.5S15.12 13 16.5 13 19 14.12 19 15.5 17.88 18 16.5 18Z\";\r\nexport var mdiClipboardText = \"M17,9H7V7H17M17,13H7V11H17M14,17H7V15H14M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiClipboardTextMultiple = \"M20 3H16.8C16.4 1.8 15.3 1 14 1C12.7 1 11.6 1.8 11.2 3H8C6.9 3 6 3.9 6 5V17C6 18.1 6.9 19 8 19H20C21.1 19 22 18.1 22 17V5C22 3.9 21.1 3 20 3M14 3C14.6 3 15 3.5 15 4C15 4.5 14.5 5 14 5C13.5 5 13 4.5 13 4C13 3.5 13.4 3 14 3M16 14H9V12H16M19 10H9V8H19M4 21H18V23H4C2.9 23 2 22.1 2 21V7H4\";\r\nexport var mdiClipboardTextMultipleOutline = \"M4 7V21H18V23H4C2.9 23 2 22.1 2 21V7H4M20 3C21.1 3 22 3.9 22 5V17C22 18.1 21.1 19 20 19H8C6.9 19 6 18.1 6 17V5C6 3.9 6.9 3 8 3H11.18C11.6 1.84 12.7 1 14 1C15.3 1 16.4 1.84 16.82 3H20M14 3C13.45 3 13 3.45 13 4C13 4.55 13.45 5 14 5C14.55 5 15 4.55 15 4C15 3.45 14.55 3 14 3M10 7V5H8V17H20V5H18V7M15 15H10V13H15M18 11H10V9H18V11Z\";\r\nexport var mdiClipboardTextOff = \"M2.39 1.73L1.11 3L3 4.9C3 4.93 3 4.97 3 5V19C3 20.11 3.9 21 5 21H19C19.03 21 19.07 21 19.1 21L20.84 22.73L22.11 21.46L2.39 1.73M7 11H9.11L11.11 13H7V11M14 17H7V15H13.11L14 15.89V17M17 7V9H12.2L14.2 11H17V13H16.2L21 17.8V5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H6.2L10.2 7H17M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3Z\";\r\nexport var mdiClipboardTextOffOutline = \"M17 7V5H19V15.8L21 17.8V5C21 3.9 20.11 3 19 3H14.82C14.25 1.44 12.53 .64 11 1.2C10.14 1.5 9.5 2.16 9.18 3H6.2L10.2 7H17M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M14.2 11L12.2 9H17V11H14.2M2.39 1.73L1.11 3L3 4.9C3 4.93 3 4.97 3 5V19C3 20.11 3.9 21 5 21H19C19.03 21 19.07 21 19.1 21L20.84 22.73L22.11 21.46L2.39 1.73M5 19V6.89L7.11 9H7V11H9.11L11.11 13H7V15H13.11L17.11 19H5Z\";\r\nexport var mdiClipboardTextOutline = \"M19,3H14.82C14.25,1.44 12.53,0.64 11,1.2C10.14,1.5 9.5,2.16 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M7,7H17V5H19V19H5V5H7V7M17,11H7V9H17V11M15,15H7V13H15V15Z\";\r\nexport var mdiClipboardTextPlay = \"M19,3A2,2 0 0,1 21,5V13.34C20.36,13.11 19.68,13 19,13C15.68,13 13,15.69 13,19C13,19.68 13.11,20.36 13.34,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H9.18C9.5,2.16 10.14,1.5 11,1.2C12.53,0.64 14.25,1.44 14.82,3H19M12,3A1,1 0 0,0 11,4A1,1 0 0,0 12,5A1,1 0 0,0 13,4A1,1 0 0,0 12,3M11,17V15H7V17H11M13,13V11H7V13H13M17,9V7H7V9H17M17,16L22,19L17,22V16Z\";\r\nexport var mdiClipboardTextPlayOutline = \"M19,3H14.82C14.25,1.44 12.53,0.64 11,1.2C10.14,1.5 9.5,2.16 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H15V19H5V5H7V7H17V5H19V14H21V5A2,2 0 0,0 19,3M12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5M17,16V22L22,19L17,16M17,11H7V9H17V11M15,15H7V13H15V15Z\";\r\nexport var mdiClipboardTextSearch = \"M10.18 17H7V15H10C10.08 14.32 10.23 13.64 10.5 13H7V11H11.82C11.85 10.97 11.87 10.94 11.9 10.9C13.17 9.64 14.84 9 16.5 9H7V7H17V9H16.5C18.12 9 19.74 9.61 21 10.82V5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H13.06C12.65 20.74 12.26 20.45 11.9 20.1C11 19.21 10.45 18.13 10.18 17M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M20.31 17.9C20.75 17.21 21 16.38 21 15.5C21 13 19 11 16.5 11S12 13 12 15.5 14 20 16.5 20C17.37 20 18.19 19.75 18.88 19.32L22 22.39L23.39 21L20.31 17.9M16.5 18C15.12 18 14 16.88 14 15.5S15.12 13 16.5 13 19 14.12 19 15.5 17.88 18 16.5 18Z\";\r\nexport var mdiClipboardTextSearchOutline = \"M17 9H16.5 17M7 15H10C10.08 14.32 10.23 13.64 10.5 13H7V15M11.9 10.9C13.17 9.64 14.84 9 16.5 9H7V11H11.82C11.85 10.97 11.87 10.94 11.9 10.9M11.9 20.1C12.26 20.45 12.65 20.74 13.06 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H9.18C9.5 2.16 10.14 1.5 11 1.2C12.53 .64 14.25 1.44 14.82 3H19C20.11 3 21 3.9 21 5V10.82C20.4 10.24 19.72 9.8 19 9.5V5H17V7H7V5H5V19H11.03C11.27 19.39 11.57 19.76 11.9 20.1M11 4C11 4.55 11.45 5 12 5S13 4.55 13 4 12.55 3 12 3 11 3.45 11 4M23.39 21L22 22.39L18.88 19.32C18.19 19.75 17.37 20 16.5 20C14 20 12 18 12 15.5S14 11 16.5 11 21 13 21 15.5C21 16.38 20.75 17.21 20.31 17.9L23.39 21M19 15.5C19 14.12 17.88 13 16.5 13S14 14.12 14 15.5 15.12 18 16.5 18 19 16.88 19 15.5Z\";\r\nexport var mdiClippy = \"M15,15.5A2.5,2.5 0 0,1 12.5,18A2.5,2.5 0 0,1 10,15.5V13.75A0.75,0.75 0 0,1 10.75,13A0.75,0.75 0 0,1 11.5,13.75V15.5A1,1 0 0,0 12.5,16.5A1,1 0 0,0 13.5,15.5V11.89C12.63,11.61 12,10.87 12,10C12,8.9 13,8 14.25,8C15.5,8 16.5,8.9 16.5,10C16.5,10.87 15.87,11.61 15,11.89V15.5M8.25,8C9.5,8 10.5,8.9 10.5,10C10.5,10.87 9.87,11.61 9,11.89V17.25A3.25,3.25 0 0,0 12.25,20.5A3.25,3.25 0 0,0 15.5,17.25V13.75A0.75,0.75 0 0,1 16.25,13A0.75,0.75 0 0,1 17,13.75V17.25A4.75,4.75 0 0,1 12.25,22A4.75,4.75 0 0,1 7.5,17.25V11.89C6.63,11.61 6,10.87 6,10C6,8.9 7,8 8.25,8M10.06,6.13L9.63,7.59C9.22,7.37 8.75,7.25 8.25,7.25C7.34,7.25 6.53,7.65 6.03,8.27L4.83,7.37C5.46,6.57 6.41,6 7.5,5.81V5.75A3.75,3.75 0 0,1 11.25,2A3.75,3.75 0 0,1 15,5.75V5.81C16.09,6 17.04,6.57 17.67,7.37L16.47,8.27C15.97,7.65 15.16,7.25 14.25,7.25C13.75,7.25 13.28,7.37 12.87,7.59L12.44,6.13C12.77,6 13.13,5.87 13.5,5.81V5.75C13.5,4.5 12.5,3.5 11.25,3.5C10,3.5 9,4.5 9,5.75V5.81C9.37,5.87 9.73,6 10.06,6.13M14.25,9.25C13.7,9.25 13.25,9.59 13.25,10C13.25,10.41 13.7,10.75 14.25,10.75C14.8,10.75 15.25,10.41 15.25,10C15.25,9.59 14.8,9.25 14.25,9.25M8.25,9.25C7.7,9.25 7.25,9.59 7.25,10C7.25,10.41 7.7,10.75 8.25,10.75C8.8,10.75 9.25,10.41 9.25,10C9.25,9.59 8.8,9.25 8.25,9.25Z\";\r\nexport var mdiClock = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.2,16.2L11,13V7H12.5V12.2L17,14.9L16.2,16.2Z\";\r\nexport var mdiClockAlert = \"M20 12H22V18H20V12M20 20H22V22H20V20M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22C14.3 22 16.3 21.2 18 20V10H21.8C20.9 5.4 16.8 2 12 2M16.2 16.2L11 13V7H12.5V12.2L17 14.9L16.2 16.2Z\";\r\nexport var mdiClockAlertOutline = \"M11 7V13L16.2 16.1L17 14.9L12.5 12.2V7H11M20 12V18H22V12H20M20 20V22H22V20H20M18 20C16.3 21.3 14.3 22 12 22C6.5 22 2 17.5 2 12S6.5 2 12 2C16.8 2 20.9 5.4 21.8 10H19.7C18.8 6.6 15.7 4 12 4C7.6 4 4 7.6 4 12S7.6 20 12 20C14.4 20 16.5 18.9 18 17.3V20Z\";\r\nexport var mdiClockCheck = \"M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M13 19C13 17.5 13.5 16.2 14.4 15.1L11 13V7H12.5V12.2L15.6 14.1C16.6 13.4 17.7 13 19 13C20 13 21 13.3 21.8 13.7C21.9 13.1 22 12.6 22 12C22 6.5 17.5 2 12 2S2 6.5 2 12 6.5 22 12 22C12.6 22 13.2 21.9 13.7 21.8C13.3 21 13 20 13 19Z\";\r\nexport var mdiClockCheckOutline = \"M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M13.1 19.9C12.7 20 12.4 20 12 20C7.6 20 4 16.4 4 12S7.6 4 12 4 20 7.6 20 12C20 12.4 20 12.7 19.9 13.1C20.6 13.2 21.2 13.4 21.8 13.7C21.9 13.1 22 12.6 22 12C22 6.5 17.5 2 12 2S2 6.5 2 12C2 17.5 6.5 22 12 22C12.6 22 13.2 21.9 13.7 21.8C13.4 21.3 13.2 20.6 13.1 19.9M15.6 14.1L12.5 12.3V7H11V13L14.5 15.1C14.8 14.7 15.2 14.4 15.6 14.1Z\";\r\nexport var mdiClockDigital = \"M2,6A2,2 0 0,0 0,8V16A2,2 0 0,0 2,18H22A2,2 0 0,0 24,16V8A2,2 0 0,0 22,6M2,8H22V16H2M3,9V10.5H6.25L3,15H4.75L8,10.5V9M9.25,9V10.5H10.75V9M12,9V10.5H13.5V15H15V9M17,9A1,1 0 0,0 16,10V14A1,1 0 0,0 17,15H20A1,1 0 0,0 21,14V10A1,1 0 0,0 20,9M17.5,10.5H19.5V13.5H17.5M9.25,13.5V15H10.75V13.5\";\r\nexport var mdiClockEnd = \"M12,1C8.14,1 5,4.14 5,8A7,7 0 0,0 12,15C15.86,15 19,11.87 19,8C19,4.14 15.86,1 12,1M12,3.15C14.67,3.15 16.85,5.32 16.85,8C16.85,10.68 14.67,12.85 12,12.85A4.85,4.85 0 0,1 7.15,8A4.85,4.85 0 0,1 12,3.15M11,5V8.69L14.19,10.53L14.94,9.23L12.5,7.82V5M15,16V19H3V21H15V24L19,20M19,20V24H21V16H19\";\r\nexport var mdiClockFast = \"M15,4A8,8 0 0,1 23,12A8,8 0 0,1 15,20A8,8 0 0,1 7,12A8,8 0 0,1 15,4M15,6A6,6 0 0,0 9,12A6,6 0 0,0 15,18A6,6 0 0,0 21,12A6,6 0 0,0 15,6M14,8H15.5V11.78L17.83,14.11L16.77,15.17L14,12.4V8M2,18A1,1 0 0,1 1,17A1,1 0 0,1 2,16H5.83C6.14,16.71 6.54,17.38 7,18H2M3,13A1,1 0 0,1 2,12A1,1 0 0,1 3,11H5.05L5,12L5.05,13H3M4,8A1,1 0 0,1 3,7A1,1 0 0,1 4,6H7C6.54,6.62 6.14,7.29 5.83,8H4Z\";\r\nexport var mdiClockIn = \"M2.21,0.79L0.79,2.21L4.8,6.21L3,8H8V3L6.21,4.8M12,8C8.14,8 5,11.13 5,15A7,7 0 0,0 12,22C15.86,22 19,18.87 19,15A7,7 0 0,0 12,8M12,10.15C14.67,10.15 16.85,12.32 16.85,15A4.85,4.85 0 0,1 12,19.85C9.32,19.85 7.15,17.68 7.15,15A4.85,4.85 0 0,1 12,10.15M11,12V15.69L14.19,17.53L14.94,16.23L12.5,14.82V12\";\r\nexport var mdiClockOut = \"M18,1L19.8,2.79L15.79,6.79L17.21,8.21L21.21,4.21L23,6V1M12,8C8.14,8 5,11.13 5,15A7,7 0 0,0 12,22C15.86,22 19,18.87 19,15A7,7 0 0,0 12,8M12,10.15C14.67,10.15 16.85,12.32 16.85,15A4.85,4.85 0 0,1 12,19.85C9.32,19.85 7.15,17.68 7.15,15A4.85,4.85 0 0,1 12,10.15M11,12V15.69L14.19,17.53L14.94,16.23L12.5,14.82V12\";\r\nexport var mdiClockOutline = \"M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22C6.47,22 2,17.5 2,12A10,10 0 0,1 12,2M12.5,7V12.25L17,14.92L16.25,16.15L11,13V7H12.5Z\";\r\nexport var mdiClockStart = \"M12,1C8.14,1 5,4.14 5,8A7,7 0 0,0 12,15C15.86,15 19,11.87 19,8C19,4.14 15.86,1 12,1M12,3.15C14.67,3.15 16.85,5.32 16.85,8C16.85,10.68 14.67,12.85 12,12.85A4.85,4.85 0 0,1 7.15,8A4.85,4.85 0 0,1 12,3.15M11,5V8.69L14.19,10.53L14.94,9.23L12.5,7.82V5M4,16V24H6V21H18V24L22,20L18,16V19H6V16\";\r\nexport var mdiClockTimeEight = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M7.7 15.5L7 14.2L11 11.9V7H12.5V12.8L7.7 15.5Z\";\r\nexport var mdiClockTimeEightOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12.5 12.8L7.7 15.6L7 14.2L11 11.9V7H12.5V12.8Z\";\r\nexport var mdiClockTimeEleven = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12.5 13H11L8.5 8.6L9.8 7.8L11 10V7H12.5V13Z\";\r\nexport var mdiClockTimeElevenOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12.5 7V13H11L8.5 8.6L9.8 7.8L11 10V7H12.5Z\";\r\nexport var mdiClockTimeFive = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M14 17L11 11.8V7H12.5V11.4L15.3 16.3L14 17Z\";\r\nexport var mdiClockTimeFiveOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M15.3 16.2L14 17L11 11.8V7H12.5V11.4L15.3 16.2Z\";\r\nexport var mdiClockTimeFour = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M16.3 15.2L11 12.3V7H12.5V11.4L17 13.9L16.3 15.2Z\";\r\nexport var mdiClockTimeFourOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M17 13.9L16.3 15.2L11 12.3V7H12.5V11.4L17 13.9Z\";\r\nexport var mdiClockTimeNine = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12.5 13H7V11.5H11V7H12.5V13Z\";\r\nexport var mdiClockTimeNineOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12.5 7V13H7V11.5H11V7H12.5Z\";\r\nexport var mdiClockTimeOne = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12.3 13H11V7H12.5V9.7L14 7.1L15.3 7.9L12.3 13Z\";\r\nexport var mdiClockTimeOneOutline = \"M12 20C16.42 20 20 16.42 20 12S16.42 4 12 4 4 7.58 4 12 7.58 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.47 22 2 17.5 2 12C2 6.5 6.5 2 12 2M15.3 7.8L12.3 13H11V7H12.5V9.65L14 7.05L15.3 7.8Z\";\r\nexport var mdiClockTimeSeven = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12.5 12.2L9.8 17L8.5 16.2L11 11.8V7H12.5V12.2Z\";\r\nexport var mdiClockTimeSevenOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12.5 7V12.2L9.8 17L8.5 16.2L11 11.8V7H12.5Z\";\r\nexport var mdiClockTimeSix = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12.5 17H11V7H12.5V17Z\";\r\nexport var mdiClockTimeSixOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12.5 7V17H11V7H12.5Z\";\r\nexport var mdiClockTimeTen = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12.5 13H11L7 10.7L7.8 9.4L11.1 11.3V7H12.6V13Z\";\r\nexport var mdiClockTimeTenOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12.5 13H11L7 10.7L7.8 9.4L11.1 11.3V7H12.6V13Z\";\r\nexport var mdiClockTimeThree = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M17 13H11V7H12.5V11.5H17V13Z\";\r\nexport var mdiClockTimeThreeOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M17 11.5V13H11V7H12.5V11.5H17Z\";\r\nexport var mdiClockTimeTwelve = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12.5 13H11V7H12.5V13Z\";\r\nexport var mdiClockTimeTwelveOutline = \"M12 20C16.42 20 20 16.42 20 12S16.42 4 12 4 4 7.58 4 12 7.58 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.47 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12.5 13.03H11V7H12.5V13.03Z\";\r\nexport var mdiClockTimeTwo = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12.5 13H11V7H12.5V11.3L16.2 9.2L17 10.5L12.5 13Z\";\r\nexport var mdiClockTimeTwoOutline = \"M12 20C16.42 20 20 16.42 20 12S16.42 4 12 4 4 7.58 4 12 7.58 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.47 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12.5 13V13H11V7H12.5V11.26L16.2 9.13L16.95 10.43L12.5 13Z\";\r\nexport var mdiClose = \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\";\r\nexport var mdiCloseBox = \"M19,3H16.3H7.7H5A2,2 0 0,0 3,5V7.7V16.4V19A2,2 0 0,0 5,21H7.7H16.4H19A2,2 0 0,0 21,19V16.3V7.7V5A2,2 0 0,0 19,3M15.6,17L12,13.4L8.4,17L7,15.6L10.6,12L7,8.4L8.4,7L12,10.6L15.6,7L17,8.4L13.4,12L17,15.6L15.6,17Z\";\r\nexport var mdiCloseBoxMultiple = \"M4 20H18V22H4C2.9 22 2 21.11 2 20V6H4V20M20.22 2H7.78C6.8 2 6 2.8 6 3.78V16.22C6 17.2 6.8 18 7.78 18H20.22C21.2 18 22 17.2 22 16.22V3.78C22 2.8 21.2 2 20.22 2M19 13.6L17.6 15L14 11.4L10.4 15L9 13.6L12.6 10L9 6.4L10.4 5L14 8.6L17.6 5L19 6.4L15.4 10L19 13.6Z\";\r\nexport var mdiCloseBoxMultipleOutline = \"M20 2H8C6.9 2 6 2.9 6 4V16C6 17.11 6.9 18 8 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M20 16H8V4H20V16M4 6V20H18V22H4C2.9 22 2 21.11 2 20V6H4M9.77 12.84L12.6 10L9.77 7.15L11.17 5.75L14 8.6L16.84 5.77L18.24 7.17L15.4 10L18.23 12.84L16.83 14.24L14 11.4L11.17 14.24L9.77 12.84Z\";\r\nexport var mdiCloseBoxOutline = \"M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M19,19H5V5H19V19M17,8.4L13.4,12L17,15.6L15.6,17L12,13.4L8.4,17L7,15.6L10.6,12L7,8.4L8.4,7L12,10.6L15.6,7L17,8.4Z\";\r\nexport var mdiCloseCircle = \"M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z\";\r\nexport var mdiCloseCircleMultiple = \"M2 12C2 9.21 3.64 6.8 6 5.68V3.5C2.5 4.76 0 8.09 0 12S2.5 19.24 6 20.5V18.32C3.64 17.2 2 14.79 2 12M15 3C10.04 3 6 7.04 6 12S10.04 21 15 21 24 16.96 24 12 19.96 3 15 3M20 15.59L18.59 17L15 13.41L11.41 17L10 15.59L13.59 12L10 8.41L11.41 7L15 10.59L18.59 7L20 8.41L16.41 12L20 15.59Z\";\r\nexport var mdiCloseCircleMultipleOutline = \"M18.54 9.88L17.12 8.47L15 10.59L12.88 8.47L11.47 9.88L13.59 12L11.47 14.12L12.88 15.54L15 13.41L17.12 15.54L18.54 14.12L16.41 12M2 12C2 9.21 3.64 6.8 6 5.68V3.5C2.5 4.76 0 8.09 0 12S2.5 19.24 6 20.5V18.32C3.64 17.2 2 14.79 2 12M15 3C10.04 3 6 7.04 6 12S10.04 21 15 21 24 16.96 24 12 19.96 3 15 3M15 19C11.14 19 8 15.86 8 12S11.14 5 15 5 22 8.14 22 12 18.86 19 15 19Z\";\r\nexport var mdiCloseCircleOutline = \"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22C17.53,22 22,17.53 22,12C22,6.47 17.53,2 12,2M14.59,8L12,10.59L9.41,8L8,9.41L10.59,12L8,14.59L9.41,16L12,13.41L14.59,16L16,14.59L13.41,12L16,9.41L14.59,8Z\";\r\nexport var mdiCloseNetwork = \"M14.59,6L12,8.59L9.41,6L8,7.41L10.59,10L8,12.59L9.41,14L12,11.41L14.59,14L16,12.59L13.41,10L16,7.41L14.59,6M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17Z\";\r\nexport var mdiCloseNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M15.54,12.12L13.41,10L15.53,7.87L14.12,6.46L12,8.59L9.88,6.46L8.47,7.87L10.59,10L8.47,12.13L9.88,13.54L12,11.41L14.12,13.54L15.54,12.12Z\";\r\nexport var mdiCloseOctagon = \"M8.27,3L3,8.27V15.73L8.27,21H15.73L21,15.73V8.27L15.73,3M8.41,7L12,10.59L15.59,7L17,8.41L13.41,12L17,15.59L15.59,17L12,13.41L8.41,17L7,15.59L10.59,12L7,8.41\";\r\nexport var mdiCloseOctagonOutline = \"M8.27,3L3,8.27V15.73L8.27,21H15.73C17.5,19.24 21,15.73 21,15.73V8.27L15.73,3M9.1,5H14.9L19,9.1V14.9L14.9,19H9.1L5,14.9V9.1M9.12,7.71L7.71,9.12L10.59,12L7.71,14.88L9.12,16.29L12,13.41L14.88,16.29L16.29,14.88L13.41,12L16.29,9.12L14.88,7.71L12,10.59\";\r\nexport var mdiCloseOutline = \"M3,16.74L7.76,12L3,7.26L7.26,3L12,7.76L16.74,3L21,7.26L16.24,12L21,16.74L16.74,21L12,16.24L7.26,21L3,16.74M12,13.41L16.74,18.16L18.16,16.74L13.41,12L18.16,7.26L16.74,5.84L12,10.59L7.26,5.84L5.84,7.26L10.59,12L5.84,16.74L7.26,18.16L12,13.41Z\";\r\nexport var mdiCloseThick = \"M20 6.91L17.09 4L12 9.09L6.91 4L4 6.91L9.09 12L4 17.09L6.91 20L12 14.91L17.09 20L20 17.09L14.91 12L20 6.91Z\";\r\nexport var mdiClosedCaption = \"M18,11H16.5V10.5H14.5V13.5H16.5V13H18V14A1,1 0 0,1 17,15H14A1,1 0 0,1 13,14V10A1,1 0 0,1 14,9H17A1,1 0 0,1 18,10M11,11H9.5V10.5H7.5V13.5H9.5V13H11V14A1,1 0 0,1 10,15H7A1,1 0 0,1 6,14V10A1,1 0 0,1 7,9H10A1,1 0 0,1 11,10M19,4H5C3.89,4 3,4.89 3,6V18A2,2 0 0,0 5,20H19A2,2 0 0,0 21,18V6C21,4.89 20.1,4 19,4Z\";\r\nexport var mdiClosedCaptionOutline = \"M5,4C4.45,4 4,4.18 3.59,4.57C3.2,4.96 3,5.44 3,6V18C3,18.56 3.2,19.04 3.59,19.43C4,19.82 4.45,20 5,20H19C19.5,20 20,19.81 20.39,19.41C20.8,19 21,18.53 21,18V6C21,5.47 20.8,5 20.39,4.59C20,4.19 19.5,4 19,4H5M4.5,5.5H19.5V18.5H4.5V5.5M7,9C6.7,9 6.47,9.09 6.28,9.28C6.09,9.47 6,9.7 6,10V14C6,14.3 6.09,14.53 6.28,14.72C6.47,14.91 6.7,15 7,15H10C10.27,15 10.5,14.91 10.71,14.72C10.91,14.53 11,14.3 11,14V13H9.5V13.5H7.5V10.5H9.5V11H11V10C11,9.7 10.91,9.47 10.71,9.28C10.5,9.09 10.27,9 10,9H7M14,9C13.73,9 13.5,9.09 13.29,9.28C13.09,9.47 13,9.7 13,10V14C13,14.3 13.09,14.53 13.29,14.72C13.5,14.91 13.73,15 14,15H17C17.3,15 17.53,14.91 17.72,14.72C17.91,14.53 18,14.3 18,14V13H16.5V13.5H14.5V10.5H16.5V11H18V10C18,9.7 17.91,9.47 17.72,9.28C17.53,9.09 17.3,9 17,9H14Z\";\r\nexport var mdiCloud = \"M19.35,10.03C18.67,6.59 15.64,4 12,4C9.11,4 6.6,5.64 5.35,8.03C2.34,8.36 0,10.9 0,14A6,6 0 0,0 6,20H19A5,5 0 0,0 24,15C24,12.36 21.95,10.22 19.35,10.03Z\";\r\nexport var mdiCloudAlert = \"M19 20H6C2.7 20 0 17.3 0 14C0 10.9 2.3 8.4 5.3 8C6.6 5.6 9.1 4 12 4C15.6 4 18.7 6.6 19.4 10C22 10.2 24 12.3 24 15C24 17.7 21.7 20 19 20M11 15V17H13V15H11M11 13H13V7H11V13Z\";\r\nexport var mdiCloudBraces = \"M6,20A6,6 0 0,1 0,14C0,10.91 2.34,8.36 5.35,8.04C6.6,5.64 9.11,4 12,4C15.63,4 18.66,6.58 19.35,10C21.95,10.19 24,12.36 24,15A5,5 0 0,1 19,20H6M18.5,12H18A1,1 0 0,1 17,11V10A2,2 0 0,0 15,8H13.5V10H15V11A2,2 0 0,0 17,13A2,2 0 0,0 15,15V16H13.5V18H15A2,2 0 0,0 17,16V15A1,1 0 0,1 18,14H18.5V12M5.5,12V14H6A1,1 0 0,1 7,15V16A2,2 0 0,0 9,18H10.5V16H9V15A2,2 0 0,0 7,13A2,2 0 0,0 9,11V10H10.5V8H9A2,2 0 0,0 7,10V11A1,1 0 0,1 6,12H5.5Z\";\r\nexport var mdiCloudCheck = \"M10,17L6.5,13.5L7.91,12.08L10,14.17L15.18,9L16.59,10.41M19.35,10.03C18.67,6.59 15.64,4 12,4C9.11,4 6.6,5.64 5.35,8.03C2.34,8.36 0,10.9 0,14A6,6 0 0,0 6,20H19A5,5 0 0,0 24,15C24,12.36 21.95,10.22 19.35,10.03Z\";\r\nexport var mdiCloudCheckOutline = \"M19 18H6C3.79 18 2 16.21 2 14S3.79 10 6 10H6.71C7.37 7.69 9.5 6 12 6C15.04 6 17.5 8.46 17.5 11.5V12H19C20.66 12 22 13.34 22 15S20.66 18 19 18M19.35 10.03C18.67 6.59 15.64 4 12 4C9.11 4 6.6 5.64 5.35 8.03C2.34 8.36 0 10.9 0 14C0 17.31 2.69 20 6 20H19C21.76 20 24 17.76 24 15C24 12.36 21.95 10.22 19.35 10.03M10 17L6.5 13.5L7.91 12.08L10 14.17L14.59 9.59L16 11\";\r\nexport var mdiCloudCircle = \"M16.5,16H8A3,3 0 0,1 5,13A3,3 0 0,1 8,10C8.05,10 8.09,10 8.14,10C8.58,8.28 10.13,7 12,7A4,4 0 0,1 16,11H16.5A2.5,2.5 0 0,1 19,13.5A2.5,2.5 0 0,1 16.5,16M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiCloudDownload = \"M17,13L12,18L7,13H10V9H14V13M19.35,10.03C18.67,6.59 15.64,4 12,4C9.11,4 6.6,5.64 5.35,8.03C2.34,8.36 0,10.9 0,14A6,6 0 0,0 6,20H19A5,5 0 0,0 24,15C24,12.36 21.95,10.22 19.35,10.03Z\";\r\nexport var mdiCloudDownloadOutline = \"M8,13H10.55V10H13.45V13H16L12,17L8,13M19.35,10.04C21.95,10.22 24,12.36 24,15A5,5 0 0,1 19,20H6A6,6 0 0,1 0,14C0,10.91 2.34,8.36 5.35,8.04C6.6,5.64 9.11,4 12,4C15.64,4 18.67,6.59 19.35,10.04M19,18A3,3 0 0,0 22,15C22,13.45 20.78,12.14 19.22,12.04L17.69,11.93L17.39,10.43C16.88,7.86 14.62,6 12,6C9.94,6 8.08,7.14 7.13,8.97L6.63,9.92L5.56,10.03C3.53,10.24 2,11.95 2,14A4,4 0 0,0 6,18H19Z\";\r\nexport var mdiCloudLock = \"M22 17C22.5 17 23 17.5 23 18V22C23 22.5 22.5 23 22 23H17C16.5 23 16 22.5 16 22V18C16 17.5 16.5 17 17 17V15.5C17 14.1 18.1 13 19.5 13C20.9 13 22 14.1 22 15.5V17M21 17V15.5C21 14.7 20.3 14 19.5 14C18.7 14 18 14.7 18 15.5V17H21M19.36 9.03C21.95 9.22 24 11.36 24 14L23.94 14.77C23.59 12.63 21.74 11 19.5 11C17 11 15 13 15 15.5L15 15.76C14.39 16.31 14 17.11 14 18V19H6C2.69 19 0 16.31 0 13C0 9.9 2.34 7.36 5.35 7.04C6.6 4.64 9.11 3 12 3C15.64 3 18.67 5.59 19.36 9.03Z\";\r\nexport var mdiCloudLockOutline = \"M22 17C22.5 17 23 17.5 23 18V22C23 22.5 22.5 23 22 23H17C16.5 23 16 22.5 16 22V18C16 17.5 16.5 17 17 17V15.5C17 14.1 18.1 13 19.5 13C20.9 13 22 14.1 22 15.5V17M21 17V15.5C21 14.7 20.3 14 19.5 14C18.7 14 18 14.7 18 15.5V17H21M17.5 11V10.5C17.5 7.46 15.04 5 12 5C9.5 5 7.37 6.69 6.71 9H6C3.79 9 2 10.79 2 13C2 15.21 3.79 17 6 17H14.17C14.06 17.31 14 17.65 14 18V19H6C2.69 19 0 16.31 0 13C0 9.9 2.34 7.36 5.35 7.04C6.6 4.64 9.11 3 12 3C15.64 3 18.67 5.6 19.36 9.04C21.95 9.22 24 11.36 24 14L23.94 14.77C23.59 12.63 21.74 11 19.5 11H17.5Z\";\r\nexport var mdiCloudOffOutline = \"M7.73,10L15.73,18H6A4,4 0 0,1 2,14A4,4 0 0,1 6,10M3,5.27L5.75,8C2.56,8.15 0,10.77 0,14A6,6 0 0,0 6,20H17.73L19.73,22L21,20.73L4.27,4M19.35,10.03C18.67,6.59 15.64,4 12,4C10.5,4 9.15,4.43 8,5.17L9.45,6.63C10.21,6.23 11.08,6 12,6A5.5,5.5 0 0,1 17.5,11.5V12H19A3,3 0 0,1 22,15C22,16.13 21.36,17.11 20.44,17.62L21.89,19.07C23.16,18.16 24,16.68 24,15C24,12.36 21.95,10.22 19.35,10.03Z\";\r\nexport var mdiCloudOutline = \"M19,18H6A4,4 0 0,1 2,14A4,4 0 0,1 6,10H6.71C7.37,7.69 9.5,6 12,6A5.5,5.5 0 0,1 17.5,11.5V12H19A3,3 0 0,1 22,15A3,3 0 0,1 19,18M19.35,10.03C18.67,6.59 15.64,4 12,4C9.11,4 6.6,5.64 5.35,8.03C2.34,8.36 0,10.9 0,14A6,6 0 0,0 6,20H19A5,5 0 0,0 24,15C24,12.36 21.95,10.22 19.35,10.03Z\";\r\nexport var mdiCloudPrint = \"M12,2C9.11,2 6.6,3.64 5.35,6.04C2.34,6.36 0,8.91 0,12A6,6 0 0,0 6,18V22H18V18H19A5,5 0 0,0 24,13C24,10.36 21.95,8.22 19.35,8.04C18.67,4.59 15.64,2 12,2M8,13H16V20H8V13M9,14V15H15V14H9M9,16V17H15V16H9M9,18V19H15V18H9Z\";\r\nexport var mdiCloudPrintOutline = \"M19,16A3,3 0 0,0 22,13A3,3 0 0,0 19,10H17.5V9.5A5.5,5.5 0 0,0 12,4C9.5,4 7.37,5.69 6.71,8H6A4,4 0 0,0 2,12A4,4 0 0,0 6,16V11H18V16H19M19.36,8.04C21.95,8.22 24,10.36 24,13A5,5 0 0,1 19,18H18V22H6V18A6,6 0 0,1 0,12C0,8.91 2.34,6.36 5.35,6.04C6.6,3.64 9.11,2 12,2C15.64,2 18.67,4.6 19.36,8.04M8,13V20H16V13H8M9,18H15V19H9V18M15,17H9V16H15V17M9,14H15V15H9V14Z\";\r\nexport var mdiCloudQuestion = \"M19.35,10.03C18.67,6.59 15.64,4 12,4C9.11,4 6.6,5.64 5.35,8.03C2.34,8.36 0,10.9 0,14A6,6 0 0,0 6,20H19A5,5 0 0,0 24,15C24,12.36 21.95,10.22 19.35,10.03M13,17H11V15H13V17M14.8,11.82C14.5,12.21 14.13,12.5 13.67,12.75C13.41,12.91 13.24,13.07 13.15,13.26C13.06,13.45 13,13.69 13,14H11C11,13.45 11.11,13.08 11.3,12.82C11.5,12.56 11.85,12.25 12.37,11.91C12.63,11.75 12.84,11.56 13,11.32C13.15,11.09 13.23,10.81 13.23,10.5C13.23,10.18 13.14,9.94 12.96,9.76C12.78,9.56 12.5,9.47 12.2,9.47C11.93,9.47 11.71,9.55 11.5,9.7C11.35,9.85 11.25,10.08 11.25,10.39H9.28C9.23,9.64 9.5,9 10.06,8.59C10.6,8.2 11.31,8 12.2,8C13.14,8 13.89,8.23 14.43,8.68C14.97,9.13 15.24,9.75 15.24,10.5C15.24,11 15.09,11.41 14.8,11.82Z\";\r\nexport var mdiCloudRefresh = \"M12 4C15.64 4 18.67 6.59 19.35 10.04C21.95 10.22 24 12.36 24 15C24 17.76 21.76 20 19 20H6C2.69 20 0 17.31 0 14C0 10.91 2.34 8.36 5.35 8.04C6.6 5.64 9.11 4 12 4M17 13V9L16 10C15.09 8.79 13.64 8 12 8C9.24 8 7 10.24 7 13C7 15.76 9.24 18 12 18C14.05 18 15.81 16.77 16.58 15H14.24C13.69 15.61 12.89 16 12 16C10.34 16 9 14.66 9 13C9 11.34 10.34 10 12 10C13.09 10 14.04 10.58 14.56 11.44L13 13H17Z\";\r\nexport var mdiCloudSearch = \"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M19.35,8.03C21.95,8.22 24,10.36 24,13C24,14.64 23.21,16.1 22,17V16.5A6.5,6.5 0 0,0 15.5,10A6.5,6.5 0 0,0 9,16.5C9,17 9.06,17.5 9.17,18H6A6,6 0 0,1 0,12C0,8.9 2.34,6.36 5.35,6.03C6.6,3.64 9.11,2 12,2C15.64,2 18.67,4.59 19.35,8.03Z\";\r\nexport var mdiCloudSearchOutline = \"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M22,13A3,3 0 0,0 19,10H17.5V9.5A5.5,5.5 0 0,0 12,4C9.5,4 7.37,5.69 6.71,8H6A4,4 0 0,0 2,12A4,4 0 0,0 6,16H9V16.5C9,17 9.06,17.5 9.17,18H6A6,6 0 0,1 0,12C0,8.9 2.34,6.36 5.35,6.04C6.6,3.64 9.11,2 12,2C15.64,2 18.67,4.59 19.36,8.04C21.95,8.22 24,10.36 24,13C24,14.65 23.21,16.1 22,17V16.5C22,15.77 21.88,15.06 21.65,14.4C21.87,14 22,13.5 22,13Z\";\r\nexport var mdiCloudSync = \"M19 12V13.5C21.21 13.5 23 15.29 23 17.5C23 18.32 22.75 19.08 22.33 19.71L21.24 18.62C21.41 18.28 21.5 17.9 21.5 17.5C21.5 16.12 20.38 15 19 15V16.5L16.75 14.25L16.72 14.22C16.78 14.17 16.85 14.13 19 12M19 23V21.5C16.79 21.5 15 19.71 15 17.5C15 16.68 15.25 15.92 15.67 15.29L16.76 16.38C16.59 16.72 16.5 17.1 16.5 17.5C16.5 18.88 17.62 20 19 20V18.5L21.25 20.75L21.28 20.78C21.22 20.83 21.15 20.87 19 23M13 17.5C13 13.91 15.91 11 19.5 11C20.78 11 21.97 11.38 23 12C22.13 10.9 20.84 10.14 19.35 10.03C18.67 6.59 15.64 4 12 4C9.11 4 6.6 5.64 5.35 8.03C2.34 8.36 0 10.9 0 14C0 17.31 2.69 20 6 20H13.5C13.18 19.23 13 18.39 13 17.5Z\";\r\nexport var mdiCloudSyncOutline = \"M19 12V13.5C21.21 13.5 23 15.29 23 17.5C23 18.32 22.75 19.08 22.33 19.71L21.24 18.62C21.41 18.28 21.5 17.9 21.5 17.5C21.5 16.12 20.38 15 19 15V16.5L16.75 14.25L16.72 14.22C16.78 14.17 16.85 14.13 19 12M19 23V21.5C16.79 21.5 15 19.71 15 17.5C15 16.68 15.25 15.92 15.67 15.29L16.76 16.38C16.59 16.72 16.5 17.1 16.5 17.5C16.5 18.88 17.62 20 19 20V18.5L21.25 20.75L21.28 20.78C21.22 20.83 21.15 20.87 19 23M13.03 18H6C3.79 18 2 16.21 2 14S3.79 10 6 10H6.71C7.37 7.69 9.5 6 12 6C15 6 17.4 8.37 17.5 11.32C18.12 11.11 18.8 11 19.5 11C20.78 11 21.97 11.38 23 12C22.13 10.9 20.84 10.14 19.35 10.03C18.67 6.59 15.64 4 12 4C9.11 4 6.6 5.64 5.35 8.03C2.34 8.36 0 10.9 0 14C0 17.31 2.69 20 6 20H13.5C13.24 19.38 13.08 18.7 13.03 18Z\";\r\nexport var mdiCloudTags = \"M6,20A6,6 0 0,1 0,14C0,10.91 2.34,8.36 5.35,8.04C6.6,5.64 9.11,4 12,4C15.63,4 18.66,6.58 19.35,10C21.95,10.19 24,12.36 24,15A5,5 0 0,1 19,20H6M9.09,8.4L4.5,13L9.09,17.6L10.5,16.18L7.32,13L10.5,9.82L9.09,8.4M14.91,8.4L13.5,9.82L16.68,13L13.5,16.18L14.91,17.6L19.5,13L14.91,8.4Z\";\r\nexport var mdiCloudUpload = \"M14,13V17H10V13H7L12,8L17,13M19.35,10.03C18.67,6.59 15.64,4 12,4C9.11,4 6.6,5.64 5.35,8.03C2.34,8.36 0,10.9 0,14A6,6 0 0,0 6,20H19A5,5 0 0,0 24,15C24,12.36 21.95,10.22 19.35,10.03Z\";\r\nexport var mdiCloudUploadOutline = \"M19.35,10.04C18.67,6.59 15.64,4 12,4C9.11,4 6.6,5.64 5.35,8.04C2.34,8.36 0,10.91 0,14A6,6 0 0,0 6,20H19A5,5 0 0,0 24,15C24,12.36 21.95,10.22 19.35,10.04M19,18H6A4,4 0 0,1 2,14C2,11.95 3.53,10.24 5.56,10.03L6.63,9.92L7.13,8.97C8.08,7.14 9.94,6 12,6C14.62,6 16.88,7.86 17.39,10.43L17.69,11.93L19.22,12.04C20.78,12.14 22,13.45 22,15A3,3 0 0,1 19,18M8,13H10.55V16H13.45V13H16L12,9L8,13Z\";\r\nexport var mdiClover = \"M12,11.18C15.3,8.18 17,6.64 17,4.69C17,3.19 15.75,2 14.25,2C13.39,2 12.57,2.36 12,3C11.43,2.36 10.61,2 9.69,2C8.19,2 7,3.25 7,4.75C7,6.64 8.7,8.18 12,11.18M11.18,12C8.18,8.7 6.64,7 4.69,7C3.19,7 2,8.25 2,9.75C2,10.61 2.36,11.43 3,12C2.36,12.57 2,13.39 2,14.31C2,15.81 3.25,17 4.75,17C6.64,17 8.18,15.3 11.18,12M12.83,12C15.82,15.3 17.36,17 19.31,17C20.81,17 22,15.75 22,14.25C22,13.39 21.64,12.57 21,12C21.64,11.43 22,10.61 22,9.69C22,8.19 20.75,7 19.25,7C17.36,7 15.82,8.7 12.83,12M12,12.82C8.7,15.82 7,17.36 7,19.31C7,20.81 8.25,22 9.75,22C10.61,22 11.43,21.64 12,21C12.57,21.64 13.39,22 14.31,22C15.81,22 17,20.75 17,19.25C17,17.36 15.3,15.82 12,12.82Z\";\r\nexport var mdiCoachLamp = \"M16 5L15 2H13L12 5L6 8H8L8.6 11H4V7H2V17H4V13H9L10 18L12 20L13 22H15L16 20L18 18L20 8H22M16.16 17H11.84L10 8H18Z\";\r\nexport var mdiCoatRack = \"M18.33 7.78A1 1 0 0 0 16.66 8.89A2 2 0 1 1 13 10V7.82A3 3 0 1 0 11 7.82V10A2 2 0 1 1 7.34 8.89A1 1 0 1 0 5.67 7.78A4 4 0 0 0 11 13.46V20A2 2 0 0 0 9 22H15A2 2 0 0 0 13 20V13.46A4 4 0 0 0 18.33 7.78M12 4A1 1 0 1 1 11 5A1 1 0 0 1 12 4Z\";\r\nexport var mdiCodeArray = \"M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M6,6V18H10V16H8V8H10V6H6M16,16H14V18H18V6H14V8H16V16Z\";\r\nexport var mdiCodeBraces = \"M8,3A2,2 0 0,0 6,5V9A2,2 0 0,1 4,11H3V13H4A2,2 0 0,1 6,15V19A2,2 0 0,0 8,21H10V19H8V14A2,2 0 0,0 6,12A2,2 0 0,0 8,10V5H10V3M16,3A2,2 0 0,1 18,5V9A2,2 0 0,0 20,11H21V13H20A2,2 0 0,0 18,15V19A2,2 0 0,1 16,21H14V19H16V14A2,2 0 0,1 18,12A2,2 0 0,1 16,10V5H14V3H16Z\";\r\nexport var mdiCodeBracesBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M11 8H9V10C9 11.1 8.1 12 7 12C8.1 12 9 12.9 9 14V16H11V18H9C7.9 18 7 17.1 7 16V15C7 13.9 6.1 13 5 13V11C6.1 11 7 10.1 7 9V8C7 6.9 7.9 6 9 6H11V8M19 13C17.9 13 17 13.9 17 15V16C17 17.1 16.1 18 15 18H13V16H15V14C15 12.9 15.9 12 17 12C15.9 12 15 11.1 15 10V8H13V6H15C16.1 6 17 6.9 17 8V9C17 10.1 17.9 11 19 11V13Z\";\r\nexport var mdiCodeBrackets = \"M15,4V6H18V18H15V20H20V4M4,4V20H9V18H6V6H9V4H4Z\";\r\nexport var mdiCodeEqual = \"M6,13H11V15H6M13,13H18V15H13M13,9H18V11H13M6,9H11V11H6M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\";\r\nexport var mdiCodeGreaterThan = \"M10.41,7.41L15,12L10.41,16.6L9,15.18L12.18,12L9,8.82M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\";\r\nexport var mdiCodeGreaterThanOrEqual = \"M13,13H18V15H13M13,9H18V11H13M6.91,7.41L11.5,12L6.91,16.6L5.5,15.18L8.68,12L5.5,8.82M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\";\r\nexport var mdiCodeJson = \"M5,3H7V5H5V10A2,2 0 0,1 3,12A2,2 0 0,1 5,14V19H7V21H5C3.93,20.73 3,20.1 3,19V15A2,2 0 0,0 1,13H0V11H1A2,2 0 0,0 3,9V5A2,2 0 0,1 5,3M19,3A2,2 0 0,1 21,5V9A2,2 0 0,0 23,11H24V13H23A2,2 0 0,0 21,15V19A2,2 0 0,1 19,21H17V19H19V14A2,2 0 0,1 21,12A2,2 0 0,1 19,10V5H17V3H19M12,15A1,1 0 0,1 13,16A1,1 0 0,1 12,17A1,1 0 0,1 11,16A1,1 0 0,1 12,15M8,15A1,1 0 0,1 9,16A1,1 0 0,1 8,17A1,1 0 0,1 7,16A1,1 0 0,1 8,15M16,15A1,1 0 0,1 17,16A1,1 0 0,1 16,17A1,1 0 0,1 15,16A1,1 0 0,1 16,15Z\";\r\nexport var mdiCodeLessThan = \"M13.59,7.41L9,12L13.59,16.6L15,15.18L11.82,12L15,8.82M19,3C20.11,3 21,3.9 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19Z\";\r\nexport var mdiCodeLessThanOrEqual = \"M13,13H18V15H13M13,9H18V11H13M10.09,7.41L11.5,8.82L8.32,12L11.5,15.18L10.09,16.6L5.5,12M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\";\r\nexport var mdiCodeNotEqual = \"M6,15H8V17H6M11,13H18V15H11M11,9H18V11H11M6,7H8V13H6M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\";\r\nexport var mdiCodeNotEqualVariant = \"M11,6.5V9.33L8.33,12L11,14.67V17.5L5.5,12M13,6.43L18.57,12L13,17.57V14.74L15.74,12L13,9.26M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\";\r\nexport var mdiCodeParentheses = \"M17.62,3C19.13,5.27 20,8.55 20,12C20,15.44 19.13,18.72 17.62,21L16,19.96C17.26,18.07 18,15.13 18,12C18,8.87 17.26,5.92 16,4.03L17.62,3M6.38,3L8,4.04C6.74,5.92 6,8.87 6,12C6,15.13 6.74,18.08 8,19.96L6.38,21C4.87,18.73 4,15.45 4,12C4,8.55 4.87,5.27 6.38,3Z\";\r\nexport var mdiCodeParenthesesBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M10 17.3L8.4 18C6.9 16.5 6 14.3 6 12S6.9 7.5 8.4 6L10 6.7C8.7 7.9 8 9.9 8 12S8.7 16.1 10 17.3M15.6 18L14 17.3C15.3 16 16 14.1 16 12S15.3 7.9 14 6.7L15.6 6C17.1 7.5 18 9.7 18 12C18 14.3 17.1 16.5 15.6 18Z\";\r\nexport var mdiCodeString = \"M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M12.5,11H11.5A1.5,1.5 0 0,1 10,9.5A1.5,1.5 0 0,1 11.5,8H12.5A1.5,1.5 0 0,1 14,9.5H16A3.5,3.5 0 0,0 12.5,6H11.5A3.5,3.5 0 0,0 8,9.5A3.5,3.5 0 0,0 11.5,13H12.5A1.5,1.5 0 0,1 14,14.5A1.5,1.5 0 0,1 12.5,16H11.5A1.5,1.5 0 0,1 10,14.5H8A3.5,3.5 0 0,0 11.5,18H12.5A3.5,3.5 0 0,0 16,14.5A3.5,3.5 0 0,0 12.5,11Z\";\r\nexport var mdiCodeTags = \"M14.6,16.6L19.2,12L14.6,7.4L16,6L22,12L16,18L14.6,16.6M9.4,16.6L4.8,12L9.4,7.4L8,6L2,12L8,18L9.4,16.6Z\";\r\nexport var mdiCodeTagsCheck = \"M6.59,3.41L2,8L6.59,12.6L8,11.18L4.82,8L8,4.82L6.59,3.41M12.41,3.41L11,4.82L14.18,8L11,11.18L12.41,12.6L17,8L12.41,3.41M21.59,11.59L13.5,19.68L9.83,16L8.42,17.41L13.5,22.5L23,13L21.59,11.59Z\";\r\nexport var mdiCodepen = \"M8.21 12L6.88 12.89V11.11L8.21 12M11.47 9.82V7.34L7.31 10.12L9.16 11.36L11.47 9.82M16.7 10.12L12.53 7.34V9.82L14.84 11.36L16.7 10.12M7.31 13.88L11.47 16.66V14.18L9.16 12.64L7.31 13.88M12.53 14.18V16.66L16.7 13.88L14.84 12.64L12.53 14.18M12 10.74L10.12 12L12 13.26L13.88 12L12 10.74M22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12M18.18 10.12C18.18 10.09 18.18 10.07 18.18 10.05L18.17 10L18.17 10L18.16 9.95C18.15 9.94 18.15 9.93 18.14 9.91L18.13 9.89L18.11 9.85L18.1 9.83L18.08 9.8L18.06 9.77L18.03 9.74L18 9.72L18 9.7L17.96 9.68L17.95 9.67L12.3 5.91C12.12 5.79 11.89 5.79 11.71 5.91L6.05 9.67L6.05 9.68L6 9.7C6 9.71 6 9.72 6 9.72L5.97 9.74L5.94 9.77L5.93 9.8L5.9 9.83L5.89 9.85L5.87 9.89L5.86 9.91L5.84 9.95L5.84 10L5.83 10L5.82 10.05C5.82 10.07 5.82 10.09 5.82 10.12V13.88C5.82 13.91 5.82 13.93 5.82 13.95L5.83 14L5.84 14L5.84 14.05C5.85 14.06 5.85 14.07 5.86 14.09L5.87 14.11L5.89 14.15L5.9 14.17L5.92 14.2L5.94 14.23C5.95 14.24 5.96 14.25 5.97 14.26L6 14.28L6 14.3L6.04 14.32L6.05 14.33L11.71 18.1C11.79 18.16 11.9 18.18 12 18.18C12.1 18.18 12.21 18.15 12.3 18.1L17.95 14.33L17.96 14.32L18 14.3L18 14.28L18.03 14.26L18.06 14.23L18.08 14.2L18.1 14.17L18.11 14.15L18.13 14.11L18.14 14.09L18.16 14.05L18.16 14L18.17 14L18.18 13.95C18.18 13.93 18.18 13.91 18.18 13.88V10.12M17.12 12.89V11.11L15.79 12L17.12 12.89Z\";\r\nexport var mdiCoffee = \"M2,21H20V19H2M20,8H18V5H20M20,3H4V13A4,4 0 0,0 8,17H14A4,4 0 0,0 18,13V10H20A2,2 0 0,0 22,8V5C22,3.89 21.1,3 20,3Z\";\r\nexport var mdiCoffeeMaker = \"M18 6V4H20V2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H20V20H15.97C17.2 19.09 18 17.64 18 16V11H8V16C8 17.64 8.81 19.09 10.03 20H6V4H8V6C8 6.55 8.45 7 9 7H17C17.55 7 18 6.55 18 6M13 8C13.55 8 14 8.45 14 9S13.55 10 13 10 12 9.55 12 9 12.45 8 13 8Z\";\r\nexport var mdiCoffeeMakerOutline = \"M18 6V4H20V2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H20V20H15.97C17.2 19.09 18 17.64 18 16V11H8V16C8 17.64 8.81 19.09 10.03 20H6V4H8V6C8 6.55 8.45 7 9 7H17C17.55 7 18 6.55 18 6M10 16V13H16V16C16 17.65 14.65 19 13 19S10 17.65 10 16M13 8C13.55 8 14 8.45 14 9S13.55 10 13 10 12 9.55 12 9 12.45 8 13 8Z\";\r\nexport var mdiCoffeeOff = \"M3.27 2L22 20.72L20.72 22L19.73 21H2V19H17.73L15.44 16.71C15 16.89 14.5 17 14 17H8C5.79 17 4 15.21 4 13V5.27L2 3.27L3.27 2M22 5V8C22 9.1 21.1 10 20 10H18V13C18 13.36 17.94 13.7 17.85 14.04L6.81 3H20C21.1 3 22 3.89 22 5M20 5H18V8H20V5Z\";\r\nexport var mdiCoffeeOffOutline = \"M2 3.27L4 5.27V13C4 15.21 5.79 17 8 17H14C14.5 17 15 16.89 15.44 16.71L17.73 19H2V21H19.73L20.72 22L22 20.72L3.27 2L2 3.27M8 15C6.9 15 6 14.1 6 13V7.27L13.73 15H8M20 3H6.81L8.81 5H16V12.19L17.85 14.04C17.94 13.7 18 13.36 18 13V10H20C21.1 10 22 9.1 22 8V5C22 3.9 21.1 3 20 3M20 8H18V5H20V8Z\";\r\nexport var mdiCoffeeOutline = \"M2,21V19H20V21H2M20,8V5H18V8H20M20,3A2,2 0 0,1 22,5V8A2,2 0 0,1 20,10H18V13A4,4 0 0,1 14,17H8A4,4 0 0,1 4,13V3H20M16,5H6V13A2,2 0 0,0 8,15H14A2,2 0 0,0 16,13V5Z\";\r\nexport var mdiCoffeeToGo = \"M3,19V17H17L15.26,15.24L16.67,13.83L20.84,18L16.67,22.17L15.26,20.76L17,19H3M17,8V5H15V8H17M17,3C18.11,3 19,3.9 19,5V8C19,9.11 18.11,10 17,10H15V11A4,4 0 0,1 11,15H7A4,4 0 0,1 3,11V3H17Z\";\r\nexport var mdiCoffeeToGoOutline = \"M3 3V11A4 4 0 0 0 7 15H11A4 4 0 0 0 15 11V10H17C18.11 10 19 9.11 19 8V5C19 3.9 18.11 3 17 3H3M5 5H13V11A2 2 0 0 1 11 13H7A2 2 0 0 1 5 11V5M15 5H17V8H15V5M16.67 13.83L15.26 15.24L17 17H3V19H17L15.26 20.76L16.67 22.17L20.84 18L16.67 13.83Z\";\r\nexport var mdiCoffin = \"M8,22L5,8L8,2H16L19,8L16,22H8M11,6V8H9V10H11V15H13V10H15V8H13V6H11Z\";\r\nexport var mdiCog = \"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\";\r\nexport var mdiCogBox = \"M17.25,12C17.25,12.23 17.23,12.46 17.2,12.68L18.68,13.84C18.81,13.95 18.85,14.13 18.76,14.29L17.36,16.71C17.27,16.86 17.09,16.92 16.93,16.86L15.19,16.16C14.83,16.44 14.43,16.67 14,16.85L13.75,18.7C13.72,18.87 13.57,19 13.4,19H10.6C10.43,19 10.28,18.87 10.25,18.7L10,16.85C9.56,16.67 9.17,16.44 8.81,16.16L7.07,16.86C6.91,16.92 6.73,16.86 6.64,16.71L5.24,14.29C5.15,14.13 5.19,13.95 5.32,13.84L6.8,12.68C6.77,12.46 6.75,12.23 6.75,12C6.75,11.77 6.77,11.54 6.8,11.32L5.32,10.16C5.19,10.05 5.15,9.86 5.24,9.71L6.64,7.29C6.73,7.13 6.91,7.07 7.07,7.13L8.81,7.84C9.17,7.56 9.56,7.32 10,7.15L10.25,5.29C10.28,5.13 10.43,5 10.6,5H13.4C13.57,5 13.72,5.13 13.75,5.29L14,7.15C14.43,7.32 14.83,7.56 15.19,7.84L16.93,7.13C17.09,7.07 17.27,7.13 17.36,7.29L18.76,9.71C18.85,9.86 18.81,10.05 18.68,10.16L17.2,11.32C17.23,11.54 17.25,11.77 17.25,12M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M12,10C10.89,10 10,10.89 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12C14,10.89 13.1,10 12,10Z\";\r\nexport var mdiCogClockwise = \"M12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C14 21 15.92 20.34 17.5 19.14L16.06 17.7C14.87 18.54 13.45 19 12 19C8.13 19 5 15.87 5 12S8.13 5 12 5 19 8.13 19 12H16L20 16L24 12H21C21 7.03 16.97 3 12 3M7.71 13.16C7.62 13.23 7.59 13.35 7.64 13.45L8.54 15C8.6 15.12 8.72 15.12 8.82 15.12L9.95 14.67C10.19 14.83 10.44 14.97 10.7 15.09L10.88 16.28C10.9 16.39 11 16.47 11.1 16.47H12.9C13 16.5 13.11 16.41 13.13 16.3L13.31 15.12C13.58 15 13.84 14.85 14.07 14.67L15.19 15.12C15.3 15.16 15.42 15.11 15.47 15L16.37 13.5C16.42 13.38 16.39 13.26 16.31 13.19L15.31 12.45C15.34 12.15 15.34 11.85 15.31 11.55L16.31 10.79C16.4 10.72 16.42 10.61 16.37 10.5L15.47 8.95C15.41 8.85 15.3 8.81 15.19 8.85L14.07 9.3C13.83 9.13 13.57 9 13.3 8.88L13.13 7.69C13.11 7.58 13 7.5 12.9 7.5H11.14C11.04 7.5 10.95 7.57 10.93 7.67L10.76 8.85C10.5 8.97 10.23 9.12 10 9.3L8.85 8.88C8.74 8.84 8.61 8.89 8.56 9L7.65 10.5C7.6 10.62 7.63 10.74 7.71 10.81L8.71 11.55C8.69 11.7 8.69 11.85 8.71 12C8.7 12.15 8.7 12.3 8.71 12.45L7.71 13.19M12 13.5H12C11.16 13.5 10.5 12.82 10.5 12C10.5 11.17 11.17 10.5 12 10.5S13.5 11.17 13.5 12 12.83 13.5 12 13.5\";\r\nexport var mdiCogCounterclockwise = \"M12 3C7.03 3 3 7.03 3 12H0L4 16L8 12H5C5 8.13 8.13 5 12 5S19 8.13 19 12 15.87 19 12 19C10.55 19 9.13 18.54 7.94 17.7L6.5 19.14C8.08 20.34 10 21 12 21C16.97 21 21 16.97 21 12S16.97 3 12 3M16.29 13.19L15.29 12.45C15.3 12.3 15.3 12.15 15.29 12C15.31 11.85 15.31 11.7 15.29 11.55L16.29 10.81C16.37 10.74 16.4 10.62 16.35 10.5L15.44 9C15.39 8.89 15.26 8.84 15.15 8.88L14 9.3C13.77 9.12 13.5 8.97 13.24 8.85L13.07 7.67C13.05 7.57 12.96 7.5 12.86 7.5H11.1C11 7.5 10.89 7.58 10.87 7.69L10.7 8.88C10.43 9 10.17 9.13 9.93 9.3L8.81 8.85C8.71 8.81 8.59 8.85 8.53 8.95L7.63 10.5C7.58 10.61 7.6 10.72 7.69 10.79L8.69 11.55C8.66 11.85 8.66 12.15 8.69 12.45L7.69 13.19C7.61 13.26 7.58 13.38 7.63 13.5L8.53 15C8.58 15.11 8.7 15.16 8.81 15.12L9.93 14.67C10.16 14.85 10.42 15 10.69 15.12L10.87 16.3C10.89 16.41 11 16.5 11.1 16.47H12.9C13 16.47 13.11 16.39 13.12 16.28L13.3 15.09C13.56 14.97 13.81 14.83 14.05 14.67L15.18 15.12C15.28 15.12 15.4 15.12 15.46 15L16.36 13.45C16.41 13.35 16.38 13.23 16.29 13.16M12 13.5C11.17 13.5 10.5 12.83 10.5 12S11.17 10.5 12 10.5 13.5 11.17 13.5 12C13.5 12.82 12.84 13.5 12 13.5H12\";\r\nexport var mdiCogOff = \"M22.12 21.46L2.4 1.73L1.12 3L4 5.87L2.34 8.73C2.21 8.95 2.27 9.22 2.46 9.37L4.57 11C4.53 11.34 4.5 11.67 4.5 12S4.53 12.65 4.57 12.97L2.46 14.63C2.27 14.78 2.21 15.05 2.34 15.27L4.34 18.73C4.46 18.95 4.73 19.03 4.95 18.95L7.44 17.94C7.96 18.34 8.5 18.68 9.13 18.93L9.5 21.58C9.54 21.82 9.75 22 10 22H14C14.25 22 14.46 21.82 14.5 21.58L14.87 18.93C15.38 18.72 15.83 18.45 16.26 18.14L20.85 22.73L22.12 21.46M12 15.5C10.07 15.5 8.5 13.93 8.5 12C8.5 11.5 8.62 11.08 8.79 10.67L13.33 15.21C12.92 15.39 12.5 15.5 12 15.5M11.74 8.53L8.56 5.35C8.75 5.25 8.93 5.15 9.13 5.07L9.5 2.42C9.54 2.18 9.75 2 10 2H14C14.25 2 14.46 2.18 14.5 2.42L14.87 5.07C15.5 5.32 16.04 5.66 16.56 6.05L19.05 5.05C19.27 4.96 19.54 5.05 19.66 5.27L21.66 8.73C21.78 8.95 21.73 9.22 21.54 9.37L19.43 11C19.47 11.34 19.5 11.67 19.5 12S19.47 12.65 19.43 12.97L21.54 14.63C21.73 14.78 21.78 15.05 21.66 15.27L20.5 17.29L15.47 12.26C15.5 12.18 15.5 12.09 15.5 12C15.5 10.07 13.93 8.5 12 8.5C11.91 8.5 11.83 8.5 11.74 8.53Z\";\r\nexport var mdiCogOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L4 5.88L2.34 8.73C2.21 8.95 2.27 9.22 2.46 9.37L4.57 11L4.5 12L4.57 12.97L2.46 14.63C2.27 14.78 2.21 15.05 2.34 15.27L4.34 18.73C4.46 18.95 4.73 19.03 4.95 18.95L7.44 17.94C7.96 18.34 8.5 18.68 9.13 18.93L9.5 21.58C9.54 21.82 9.75 22 10 22H14C14.25 22 14.46 21.82 14.5 21.58L14.87 18.93C15.38 18.73 15.83 18.45 16.26 18.15L20.84 22.73L22.11 21.46M10 11.9L12.1 14C12.06 14 12.03 14 12 14C10.9 14 10 13.11 10 12C10 11.97 10 11.94 10 11.9M13.13 17.39L12.76 20H11.24L10.87 17.38C9.68 17.14 8.63 16.5 7.86 15.62L5.43 16.66L4.68 15.36L6.8 13.8C6.4 12.64 6.4 11.37 6.8 10.2L4.69 8.65L5.44 7.35L5.5 7.37L8.4 10.29C8.15 10.8 8 11.38 8 12C8 14.21 9.79 16 12 16C12.62 16 13.2 15.86 13.71 15.6L14.83 16.72C14.31 17.03 13.74 17.26 13.13 17.39M10.06 6.86L8.55 5.35C8.74 5.26 8.93 5.15 9.13 5.07L9.5 2.42C9.54 2.18 9.75 2 10 2H14C14.25 2 14.46 2.18 14.5 2.42L14.87 5.07C15.5 5.32 16.04 5.66 16.56 6.05L19.05 5.05C19.27 4.96 19.54 5.05 19.66 5.27L21.66 8.73C21.79 8.95 21.73 9.22 21.54 9.37L19.43 11L19.5 12L19.43 13L21.54 14.63C21.73 14.78 21.79 15.05 21.66 15.27L20.5 17.29L19.04 15.84L19.32 15.36L17.2 13.81C17.6 12.64 17.6 11.37 17.2 10.2L19.31 8.65L18.56 7.35L16.15 8.39C15.38 7.5 14.32 6.86 13.12 6.62L12.75 4H11.25L10.88 6.61C10.6 6.67 10.32 6.75 10.06 6.86M12 8C14.21 8 16 9.79 16 12C16 12.25 15.97 12.5 15.93 12.73L11.27 8.07C11.5 8.03 11.75 8 12 8Z\";\r\nexport var mdiCogOutline = \"M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M10,22C9.75,22 9.54,21.82 9.5,21.58L9.13,18.93C8.5,18.68 7.96,18.34 7.44,17.94L4.95,18.95C4.73,19.03 4.46,18.95 4.34,18.73L2.34,15.27C2.21,15.05 2.27,14.78 2.46,14.63L4.57,12.97L4.5,12L4.57,11L2.46,9.37C2.27,9.22 2.21,8.95 2.34,8.73L4.34,5.27C4.46,5.05 4.73,4.96 4.95,5.05L7.44,6.05C7.96,5.66 8.5,5.32 9.13,5.07L9.5,2.42C9.54,2.18 9.75,2 10,2H14C14.25,2 14.46,2.18 14.5,2.42L14.87,5.07C15.5,5.32 16.04,5.66 16.56,6.05L19.05,5.05C19.27,4.96 19.54,5.05 19.66,5.27L21.66,8.73C21.79,8.95 21.73,9.22 21.54,9.37L19.43,11L19.5,12L19.43,13L21.54,14.63C21.73,14.78 21.79,15.05 21.66,15.27L19.66,18.73C19.54,18.95 19.27,19.04 19.05,18.95L16.56,17.95C16.04,18.34 15.5,18.68 14.87,18.93L14.5,21.58C14.46,21.82 14.25,22 14,22H10M11.25,4L10.88,6.61C9.68,6.86 8.62,7.5 7.85,8.39L5.44,7.35L4.69,8.65L6.8,10.2C6.4,11.37 6.4,12.64 6.8,13.8L4.68,15.36L5.43,16.66L7.86,15.62C8.63,16.5 9.68,17.14 10.87,17.38L11.24,20H12.76L13.13,17.39C14.32,17.14 15.37,16.5 16.14,15.62L18.57,16.66L19.32,15.36L17.2,13.81C17.6,12.64 17.6,11.37 17.2,10.2L19.31,8.65L18.56,7.35L16.15,8.39C15.38,7.5 14.32,6.86 13.12,6.62L12.75,4H11.25Z\";\r\nexport var mdiCogRefresh = \"M18 14.5C19.1 14.5 20.1 14.9 20.8 15.7L22 14.5V18.5H18L19.8 16.7C19.3 16.3 18.7 16 18 16C16.6 16 15.5 17.1 15.5 18.5S16.6 21 18 21C18.8 21 19.5 20.6 20 20H21.7C21.1 21.5 19.7 22.5 18 22.5C15.8 22.5 14 20.7 14 18.5S15.8 14.5 18 14.5M11.5 18.5C11.5 17.4 11.8 16.4 12.2 15.5H12C10.1 15.5 8.5 13.9 8.5 12S10.1 8.5 12 8.5 15.5 10.1 15.5 12C15.5 12.2 15.5 12.4 15.4 12.5C16.2 12.2 17 12 18 12C18.5 12 19 12.1 19.5 12.2V12C19.5 11.7 19.5 11.3 19.4 11L21.5 9.4C21.7 9.2 21.7 9 21.6 8.8L19.6 5.3C19.5 5 19.3 5 19 5L16.5 6C16 5.6 15.4 5.3 14.8 5L14.4 2.3C14.5 2.2 14.2 2 14 2H10C9.8 2 9.5 2.2 9.5 2.4L9.1 5.1C8.5 5.3 8 5.7 7.4 6L5 5C4.7 5 4.5 5 4.3 5.3L2.3 8.8C2.2 9 2.3 9.2 2.5 9.4L4.6 11C4.6 11.3 4.5 11.7 4.5 12S4.5 12.7 4.6 13L2.5 14.7C2.3 14.9 2.3 15.1 2.4 15.3L4.4 18.8C4.5 19 4.7 19 5 19L7.5 18C8 18.4 8.6 18.7 9.2 19L9.6 21.7C9.6 21.9 9.8 22.1 10.1 22.1H12.6C11.9 21 11.5 19.8 11.5 18.5Z\";\r\nexport var mdiCogRefreshOutline = \"M18 14.5C19.1 14.5 20.1 14.9 20.8 15.7L22 14.5V18.5H18L19.8 16.7C19.3 16.3 18.7 16 18 16C16.6 16 15.5 17.1 15.5 18.5S16.6 21 18 21C18.8 21 19.5 20.6 20 20H21.7C21.1 21.5 19.7 22.5 18 22.5C15.8 22.5 14 20.7 14 18.5S15.8 14.5 18 14.5M11.7 20H11.3L10.9 17.4C9.7 17.2 8.7 16.5 7.9 15.6L5.5 16.6L4.7 15.3L6.8 13.7C6.4 12.5 6.4 11.3 6.8 10.1L4.7 8.7L5.5 7.4L7.9 8.4C8.7 7.5 9.7 6.9 10.9 6.6L11.2 4H12.7L13.1 6.6C14.3 6.8 15.4 7.5 16.1 8.4L18.5 7.4L19.3 8.7L17.2 10.2C17.4 10.8 17.5 11.4 17.5 12H18C18.5 12 19 12.1 19.5 12.2V12L19.4 11L21.5 9.4C21.7 9.2 21.7 9 21.6 8.8L19.6 5.3C19.5 5 19.3 5 19 5L16.5 6C16 5.6 15.4 5.3 14.8 5L14.4 2.3C14.5 2.2 14.2 2 14 2H10C9.8 2 9.5 2.2 9.5 2.4L9.1 5.1C8.5 5.3 8 5.7 7.4 6L5 5C4.7 5 4.5 5 4.3 5.3L2.3 8.8C2.2 9 2.3 9.2 2.5 9.4L4.6 11L4.5 12L4.6 13L2.5 14.7C2.3 14.9 2.3 15.1 2.4 15.3L4.4 18.8C4.5 19 4.7 19 5 19L7.5 18C8 18.4 8.6 18.7 9.2 19L9.6 21.7C9.6 21.9 9.8 22.1 10.1 22.1H12.6C12.1 21.4 11.9 20.7 11.7 20M16 12.3V12C16 9.8 14.2 8 12 8S8 9.8 8 12C8 14.2 9.8 16 12 16C12.7 14.3 14.2 12.9 16 12.3M10 12C10 10.9 10.9 10 12 10S14 10.9 14 12 13.1 14 12 14 10 13.1 10 12Z\";\r\nexport var mdiCogSync = \"M11.5 18.5C11.5 17.4 11.8 16.4 12.2 15.5H12C10.1 15.5 8.5 13.9 8.5 12S10.1 8.5 12 8.5 15.5 10.1 15.5 12C15.5 12.2 15.5 12.4 15.4 12.5C16.2 12.2 17 12 18 12C18.5 12 19 12.1 19.5 12.2V12C19.5 11.7 19.5 11.3 19.4 11L21.5 9.4C21.7 9.2 21.7 9 21.6 8.8L19.6 5.3C19.5 5 19.3 5 19 5L16.5 6C16 5.6 15.4 5.3 14.8 5L14.4 2.3C14.5 2.2 14.2 2 14 2H10C9.8 2 9.5 2.2 9.5 2.4L9.1 5.1C8.5 5.3 8 5.7 7.4 6L5 5C4.7 5 4.5 5 4.3 5.3L2.3 8.8C2.2 9 2.3 9.2 2.5 9.4L4.6 11C4.6 11.3 4.5 11.7 4.5 12S4.5 12.7 4.6 13L2.5 14.7C2.3 14.9 2.3 15.1 2.4 15.3L4.4 18.8C4.5 19 4.7 19 5 19L7.5 18C8 18.4 8.6 18.7 9.2 19L9.6 21.7C9.6 21.9 9.8 22.1 10.1 22.1H12.6C11.9 21 11.5 19.8 11.5 18.5M18 14.5V13L15.8 15.2L18 17.4V16C19.4 16 20.5 17.1 20.5 18.5C20.5 18.9 20.4 19.3 20.2 19.6L21.3 20.7C22.5 18.9 22 16.4 20.2 15.2C19.6 14.7 18.8 14.5 18 14.5M18 21C16.6 21 15.5 19.9 15.5 18.5C15.5 18.1 15.6 17.7 15.8 17.4L14.7 16.3C13.5 18.1 14 20.6 15.8 21.8C16.5 22.2 17.2 22.5 18 22.5V24L20.2 21.8L18 19.5V21Z\";\r\nexport var mdiCogSyncOutline = \"M11.7 20H11.3L10.9 17.4C9.7 17.2 8.7 16.5 7.9 15.6L5.5 16.6L4.7 15.3L6.8 13.7C6.4 12.5 6.4 11.3 6.8 10.1L4.7 8.7L5.5 7.4L7.9 8.4C8.7 7.5 9.7 6.9 10.9 6.6L11.2 4H12.7L13.1 6.6C14.3 6.8 15.4 7.5 16.1 8.4L18.5 7.4L19.3 8.7L17.2 10.2C17.4 10.8 17.5 11.4 17.5 12H18C18.5 12 19 12.1 19.5 12.2V12L19.4 11L21.5 9.4C21.7 9.2 21.7 9 21.6 8.8L19.6 5.3C19.5 5 19.3 5 19 5L16.5 6C16 5.6 15.4 5.3 14.8 5L14.4 2.3C14.5 2.2 14.2 2 14 2H10C9.8 2 9.5 2.2 9.5 2.4L9.1 5.1C8.5 5.3 8 5.7 7.4 6L5 5C4.7 5 4.5 5 4.3 5.3L2.3 8.8C2.2 9 2.3 9.2 2.5 9.4L4.6 11L4.5 12L4.6 13L2.5 14.7C2.3 14.9 2.3 15.1 2.4 15.3L4.4 18.8C4.5 19 4.7 19 5 19L7.5 18C8 18.4 8.6 18.7 9.2 19L9.6 21.7C9.6 21.9 9.8 22.1 10.1 22.1H12.6C12.1 21.4 11.9 20.7 11.7 20M16 12.3V12C16 9.8 14.2 8 12 8S8 9.8 8 12C8 14.2 9.8 16 12 16C12.7 14.3 14.2 12.9 16 12.3M10 12C10 10.9 10.9 10 12 10S14 10.9 14 12 13.1 14 12 14 10 13.1 10 12M18 14.5V13L15.8 15.2L18 17.4V16C19.4 16 20.5 17.1 20.5 18.5C20.5 18.9 20.4 19.3 20.2 19.6L21.3 20.7C22.5 18.9 22 16.4 20.2 15.2C19.6 14.7 18.8 14.5 18 14.5M18 21C16.6 21 15.5 19.9 15.5 18.5C15.5 18.1 15.6 17.7 15.8 17.4L14.7 16.3C13.5 18.1 14 20.6 15.8 21.8C16.5 22.2 17.2 22.5 18 22.5V24L20.2 21.8L18 19.5V21Z\";\r\nexport var mdiCogTransfer = \"M14 18V16L10 19.5L14 23V21H17V18H14M22 15.5L18 12V14H15V17H18V19L22 15.5M21.66 8.73L19.66 5.27C19.54 5.05 19.28 4.96 19.05 5.05L16.56 6.05C16.05 5.64 15.5 5.31 14.87 5.05L14.5 2.42C14.46 2.18 14.25 2 14 2H10C9.75 2 9.54 2.18 9.5 2.42L9.13 5.07C8.5 5.33 7.96 5.66 7.44 6.07L5 5.05C4.77 4.96 4.5 5.05 4.39 5.27L2.39 8.73C2.26 8.94 2.31 9.22 2.5 9.37L4.57 11C4.53 11.33 4.5 11.67 4.5 12C4.5 12.33 4.53 12.67 4.57 13L2.46 14.63C2.26 14.78 2.21 15.06 2.34 15.27L4.34 18.73C4.45 19 4.74 19.11 5 19L5 19L7.5 18C7.74 18.19 8 18.37 8.26 18.53L11.77 15.53C9.84 15.4 8.38 13.73 8.5 11.8C8.65 9.87 10.32 8.41 12.25 8.55C13.69 8.64 14.92 9.62 15.35 11H19.43L21.54 9.37C21.73 9.22 21.78 8.94 21.66 8.73Z\";\r\nexport var mdiCogTransferOutline = \"M15 17V14H18V12L22 15.5L18 19V17H15M17 18V21H14V23L10 19.5L14 16V18H17M12 8C9.79 8 8 9.8 8 12C8 13.91 9.35 15.54 11.21 15.92L16 11.86C15.93 9.71 14.16 8 12 8M12 14C10.9 14 10 13.11 10 12S10.9 10 12 10 14 10.9 14 12 13.11 14 12 14M21.66 8.73L19.66 5.27C19.54 5.05 19.28 4.96 19.05 5.05L16.56 6.05C16.05 5.64 15.5 5.31 14.87 5.05L14.5 2.42C14.46 2.18 14.25 2 14 2H10C9.75 2 9.54 2.18 9.5 2.42L9.13 5.07C8.5 5.33 7.96 5.66 7.44 6.07L5 5.05C4.77 4.96 4.5 5.05 4.39 5.27L2.39 8.73C2.26 8.94 2.31 9.22 2.5 9.37L4.57 11L4.5 12L4.57 13L2.46 14.63C2.26 14.78 2.21 15.06 2.34 15.27L4.34 18.73C4.45 19 4.74 19.11 5 19L5 19L7.5 18C7.74 18.19 8 18.37 8.26 18.53L9.91 17.13C9.14 16.8 8.46 16.31 7.91 15.68L5.5 16.68L4.73 15.38L6.8 13.8C6.4 12.63 6.4 11.37 6.8 10.2L4.69 8.65L5.44 7.35L7.85 8.35C8.63 7.45 9.68 6.82 10.85 6.57L11.25 4H12.75L13.12 6.62C14.29 6.86 15.34 7.5 16.12 8.39L18.53 7.39L19.28 8.69L17.2 10.2C17.29 10.46 17.36 10.73 17.4 11H19.4L21.5 9.37C21.72 9.23 21.78 8.95 21.66 8.73M12 8C9.79 8 8 9.8 8 12C8 13.91 9.35 15.54 11.21 15.92L16 11.86C15.93 9.71 14.16 8 12 8M12 14C10.9 14 10 13.11 10 12S10.9 10 12 10 14 10.9 14 12 13.11 14 12 14M12 8C9.79 8 8 9.8 8 12C8 13.91 9.35 15.54 11.21 15.92L16 11.86C15.93 9.71 14.16 8 12 8M12 14C10.9 14 10 13.11 10 12S10.9 10 12 10 14 10.9 14 12 13.11 14 12 14Z\";\r\nexport var mdiCogs = \"M15.9,18.45C17.25,18.45 18.35,17.35 18.35,16C18.35,14.65 17.25,13.55 15.9,13.55C14.54,13.55 13.45,14.65 13.45,16C13.45,17.35 14.54,18.45 15.9,18.45M21.1,16.68L22.58,17.84C22.71,17.95 22.75,18.13 22.66,18.29L21.26,20.71C21.17,20.86 21,20.92 20.83,20.86L19.09,20.16C18.73,20.44 18.33,20.67 17.91,20.85L17.64,22.7C17.62,22.87 17.47,23 17.3,23H14.5C14.32,23 14.18,22.87 14.15,22.7L13.89,20.85C13.46,20.67 13.07,20.44 12.71,20.16L10.96,20.86C10.81,20.92 10.62,20.86 10.54,20.71L9.14,18.29C9.05,18.13 9.09,17.95 9.22,17.84L10.7,16.68L10.65,16L10.7,15.31L9.22,14.16C9.09,14.05 9.05,13.86 9.14,13.71L10.54,11.29C10.62,11.13 10.81,11.07 10.96,11.13L12.71,11.84C13.07,11.56 13.46,11.32 13.89,11.15L14.15,9.29C14.18,9.13 14.32,9 14.5,9H17.3C17.47,9 17.62,9.13 17.64,9.29L17.91,11.15C18.33,11.32 18.73,11.56 19.09,11.84L20.83,11.13C21,11.07 21.17,11.13 21.26,11.29L22.66,13.71C22.75,13.86 22.71,14.05 22.58,14.16L21.1,15.31L21.15,16L21.1,16.68M6.69,8.07C7.56,8.07 8.26,7.37 8.26,6.5C8.26,5.63 7.56,4.92 6.69,4.92A1.58,1.58 0 0,0 5.11,6.5C5.11,7.37 5.82,8.07 6.69,8.07M10.03,6.94L11,7.68C11.07,7.75 11.09,7.87 11.03,7.97L10.13,9.53C10.08,9.63 9.96,9.67 9.86,9.63L8.74,9.18L8,9.62L7.81,10.81C7.79,10.92 7.7,11 7.59,11H5.79C5.67,11 5.58,10.92 5.56,10.81L5.4,9.62L4.64,9.18L3.5,9.63C3.41,9.67 3.3,9.63 3.24,9.53L2.34,7.97C2.28,7.87 2.31,7.75 2.39,7.68L3.34,6.94L3.31,6.5L3.34,6.06L2.39,5.32C2.31,5.25 2.28,5.13 2.34,5.03L3.24,3.47C3.3,3.37 3.41,3.33 3.5,3.37L4.63,3.82L5.4,3.38L5.56,2.19C5.58,2.08 5.67,2 5.79,2H7.59C7.7,2 7.79,2.08 7.81,2.19L8,3.38L8.74,3.82L9.86,3.37C9.96,3.33 10.08,3.37 10.13,3.47L11.03,5.03C11.09,5.13 11.07,5.25 11,5.32L10.03,6.06L10.06,6.5L10.03,6.94Z\";\r\nexport var mdiCollage = \"M5,3C3.89,3 3,3.89 3,5V19C3,20.11 3.89,21 5,21H11V3M13,3V11H21V5C21,3.89 20.11,3 19,3M13,13V21H19C20.11,21 21,20.11 21,19V13\";\r\nexport var mdiCollapseAll = \"M14,4H4V14H2V4A2,2 0 0,1 4,2H14V4M18,6H8A2,2 0 0,0 6,8V18H8V8H18V6M22,12V20A2,2 0 0,1 20,22H12A2,2 0 0,1 10,20V12A2,2 0 0,1 12,10H20A2,2 0 0,1 22,12M20,15H12V17H20V15Z\";\r\nexport var mdiCollapseAllOutline = \"M4,2A2,2 0 0,0 2,4V14H4V4H14V2H4M8,6A2,2 0 0,0 6,8V18H8V8H18V6H8M20,12V20H12V12H20M20,10H12A2,2 0 0,0 10,12V20A2,2 0 0,0 12,22H20A2,2 0 0,0 22,20V12A2,2 0 0,0 20,10M19,17H13V15H19V17Z\";\r\nexport var mdiColorHelper = \"M0,24H24V20H0V24Z\";\r\nexport var mdiComma = \"M7,3H16.95V12.96L12.96,20.94H8L11.97,12.96H7V3Z\";\r\nexport var mdiCommaBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M15,13V7H9V13H12L10,17H13L15,13Z\";\r\nexport var mdiCommaBoxOutline = \"M10,17L12,13H9V7H15V13L13,17H10M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiCommaCircle = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M15,13L13,17H10L12,13H9V7H15V13Z\";\r\nexport var mdiCommaCircleOutline = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4M10,17H13L15,13V7H9V13H12L10,17Z\";\r\nexport var mdiComment = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9Z\";\r\nexport var mdiCommentAccount = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M16,14V13C16,11.67 13.33,11 12,11C10.67,11 8,11.67 8,13V14H16M12,6A2,2 0 0,0 10,8A2,2 0 0,0 12,10A2,2 0 0,0 14,8A2,2 0 0,0 12,6Z\";\r\nexport var mdiCommentAccountOutline = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M10,16V19.08L13.08,16H20V4H4V16H10M16,14H8V13C8,11.67 10.67,11 12,11C13.33,11 16,11.67 16,13V14M12,6A2,2 0 0,1 14,8A2,2 0 0,1 12,10A2,2 0 0,1 10,8A2,2 0 0,1 12,6Z\";\r\nexport var mdiCommentAlert = \"M9 22C8.4 22 8 21.6 8 21V18H4C2.9 18 2 17.1 2 16V4C2 2.9 2.9 2 4 2H20C21.1 2 22 2.9 22 4V16C22 17.1 21.1 18 20 18H13.9L10.2 21.7C10 21.9 9.8 22 9.5 22H9M13 11V5H11V11M13 15V13H11V15H13Z\";\r\nexport var mdiCommentAlertOutline = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M10,16V19.08L13.08,16H20V4H4V16H10M13,10H11V6H13V10M13,14H11V12H13V14Z\";\r\nexport var mdiCommentArrowLeft = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.1 2.9 18 4 18H8V21C8 21.6 8.4 22 9 22H9.5C9.7 22 10 21.9 10.2 21.7L13.9 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M16 11H11.5L13.3 12.8L12 14L8 10L12 6L13.2 7.2L11.5 9H16V11Z\";\r\nexport var mdiCommentArrowLeftOutline = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.1 2.9 18 4 18H8V21C8 21.6 8.4 22 9 22H9.5C9.7 22 10 21.9 10.2 21.7L13.9 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H13.1L10 19.1V16H4V4H20V16M16 11V9H11.5L13.3 7.2L12 6L8 10L12 14L13.2 12.8L11.5 11H16Z\";\r\nexport var mdiCommentArrowRight = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.1 2.9 18 4 18H8V21C8 21.6 8.4 22 9 22H9.5C9.7 22 10 21.9 10.2 21.7L13.9 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M12 14L10.8 12.8L12.6 11H8V9H12.5L10.7 7.2L12 6L16 10L12 14Z\";\r\nexport var mdiCommentArrowRightOutline = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.1 2.9 18 4 18H8V21C8 21.6 8.4 22 9 22H9.5C9.7 22 10 21.9 10.2 21.7L13.9 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H13.1L10 19.1V16H4V4H20V16M8 9V11H12.5L10.7 12.8L12 14L16 10L12 6L10.8 7.2L12.5 9H8Z\";\r\nexport var mdiCommentBookmark = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.1 2.9 18 4 18H8V21C8 21.6 8.4 22 9 22H9.5C9.7 22 10 21.9 10.2 21.7L13.9 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M19 13L16.5 11.5L14 13V5H19V13Z\";\r\nexport var mdiCommentBookmarkOutline = \"M9 22C8.4 22 8 21.6 8 21V18H4C2.9 18 2 17.1 2 16V4C2 2.9 2.9 2 4 2H20C21.1 2 22 2.9 22 4V16C22 17.1 21.1 18 20 18H13.9L10.2 21.7C10 21.9 9.8 22 9.5 22H9M10 16V19.1L13.1 16H20V4H4V16H10M18 14V6H13V14L15.5 12.5L18 14Z\";\r\nexport var mdiCommentCheck = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M10,15L18,7L16.59,5.58L10,12.17L7.41,9.59L6,11L10,15Z\";\r\nexport var mdiCommentCheckOutline = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M10,16V19.08L13.08,16H20V4H4V16H10M16.5,8L11,13.5L7.5,10L8.91,8.59L11,10.67L15.09,6.59L16.5,8Z\";\r\nexport var mdiCommentEdit = \"M20 2H4C2.89 2 2 2.89 2 4V16C2 17.11 2.9 18 4 18H8V21C8 21.55 8.45 22 9 22H9.5C9.75 22 10 21.9 10.2 21.71L13.9 18H20C21.1 18 22 17.1 22 16V4C22 2.89 21.1 2 20 2M9.08 15H7V12.91L13.17 6.72L15.24 8.8L9.08 15M16.84 7.2L15.83 8.21L13.76 6.18L14.77 5.16C14.97 4.95 15.31 4.94 15.55 5.16L16.84 6.41C17.05 6.62 17.06 6.96 16.84 7.2Z\";\r\nexport var mdiCommentEditOutline = \"M9 22C8.45 22 8 21.55 8 21V18H4C2.9 18 2 17.11 2 16V4C2 2.89 2.9 2 4 2H20C21.11 2 22 2.9 22 4V16C22 17.11 21.11 18 20 18H13.9L10.2 21.71C10 21.9 9.75 22 9.5 22H9M10 16V19.08L13.08 16H20V4H4V16H10M15.84 8.2L14.83 9.21L12.76 7.18L13.77 6.16C13.97 5.95 14.31 5.94 14.55 6.16L15.84 7.41C16.05 7.62 16.06 7.96 15.84 8.2M8 11.91L12.17 7.72L14.24 9.8L10.08 14H8V11.91Z\";\r\nexport var mdiCommentEye = \"M20,12V16C20,17.11 19.11,18 18,18H13.9L10.2,21.71C10,21.89 9.76,22 9.5,22H9A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V6C2,4.89 2.9,4 4,4H9.5C8.95,4.67 8.5,5.42 8.14,6.25L7.85,7L8.14,7.75C9.43,10.94 12.5,13 16,13C17.44,13 18.8,12.63 20,12M16,6C16.56,6 17,6.44 17,7C17,7.56 16.56,8 16,8C15.44,8 15,7.56 15,7C15,6.44 15.44,6 16,6M16,3C18.73,3 21.06,4.66 22,7C21.06,9.34 18.73,11 16,11C13.27,11 10.94,9.34 10,7C10.94,4.66 13.27,3 16,3M16,4.5A2.5,2.5 0 0,0 13.5,7A2.5,2.5 0 0,0 16,9.5A2.5,2.5 0 0,0 18.5,7A2.5,2.5 0 0,0 16,4.5\";\r\nexport var mdiCommentEyeOutline = \"M16,6C16.56,6 17,6.44 17,7C17,7.56 16.56,8 16,8C15.44,8 15,7.56 15,7C15,6.44 15.44,6 16,6M16,3C18.73,3 21.06,4.66 22,7C21.06,9.34 18.73,11 16,11C13.27,11 10.94,9.34 10,7C10.94,4.66 13.27,3 16,3M16,4.5A2.5,2.5 0 0,0 13.5,7A2.5,2.5 0 0,0 16,9.5A2.5,2.5 0 0,0 18.5,7A2.5,2.5 0 0,0 16,4.5M18,12.75V16H13.08L10,19.08V16H4V6H8.27C8.59,5.27 9,4.6 9.5,4H4A2,2 0 0,0 2,6V16C2,17.11 2.9,18 4,18H8V21A1,1 0 0,0 9,22H9.5C9.75,22 10,21.9 10.2,21.71L13.9,18H18C19.11,18 20,17.11 20,16V12C19.37,12.33 18.7,12.58 18,12.75Z\";\r\nexport var mdiCommentFlash = \"M22.5 16H20.3L22 12H17V18H19V23L22.5 16M15 18H13.9L10.2 21.7C10 21.9 9.8 22 9.5 22H9C8.4 22 8 21.6 8 21V18H4C2.9 18 2 17.1 2 16V4C2 2.9 2.9 2 4 2H20C21.1 2 22 2.9 22 4V10H15V18Z\";\r\nexport var mdiCommentFlashOutline = \"M22.5 16H20.3L22 12H17V18H19V23L22.5 16M15 18H13.9L10.2 21.7C10 21.9 9.8 22 9.5 22H9C8.4 22 8 21.6 8 21V18H4C2.9 18 2 17.1 2 16V4C2 2.9 2.9 2 4 2H20C21.1 2 22 2.9 22 4V10H20V4H4V16H10V19.1L13.1 16H15V18Z\";\r\nexport var mdiCommentMinus = \"M20 2H4C2.9 2 2 2.89 2 4V16C2 17.11 2.9 18 4 18H8V21C8 21.55 8.45 22 9 22H9.5C9.75 22 10 21.9 10.2 21.71L13.9 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M16 11H8V9H16V11Z\";\r\nexport var mdiCommentMinusOutline = \"M16 11H8V9H16V11M22 4V16C22 17.11 21.11 18 20 18H13.9L10.2 21.71C10 21.9 9.75 22 9.5 22H9C8.45 22 8 21.55 8 21V18H4C2.9 18 2 17.11 2 16V4C2 2.89 2.9 2 4 2H20C21.11 2 22 2.9 22 4M20 4H4V16H10V19.08L13.08 16H20V4\";\r\nexport var mdiCommentMultiple = \"M12,23A1,1 0 0,1 11,22V19H7A2,2 0 0,1 5,17V7A2,2 0 0,1 7,5H21A2,2 0 0,1 23,7V17A2,2 0 0,1 21,19H16.9L13.2,22.71C13,22.89 12.76,23 12.5,23H12M3,15H1V3A2,2 0 0,1 3,1H19V3H3V15Z\";\r\nexport var mdiCommentMultipleOutline = \"M12,23A1,1 0 0,1 11,22V19H7A2,2 0 0,1 5,17V7C5,5.89 5.9,5 7,5H21A2,2 0 0,1 23,7V17A2,2 0 0,1 21,19H16.9L13.2,22.71C13,22.9 12.75,23 12.5,23V23H12M13,17V20.08L16.08,17H21V7H7V17H13M3,15H1V3A2,2 0 0,1 3,1H19V3H3V15Z\";\r\nexport var mdiCommentOff = \"M22.11 21.46L20.84 22.73L16.11 18H13.9L10.2 21.71C10 21.9 9.75 22 9.5 22H9C8.45 22 8 21.55 8 21V18H4C2.9 18 2 17.11 2 16V4 3.9L1.11 3L2.39 1.73L22.11 21.46M22 16V4C22 2.9 21.11 2 20 2H5.2L20.95 17.75C21.57 17.41 22 16.76 22 16Z\";\r\nexport var mdiCommentOffOutline = \"M7.2 4L5.2 2H20C21.11 2 22 2.9 22 4V16C22 16.76 21.57 17.41 20.95 17.75L19.2 16H20V4H7.2M22.11 21.46L20.84 22.73L16.11 18H13.9L10.2 21.71C10 21.9 9.75 22 9.5 22H9C8.45 22 8 21.55 8 21V18H4C2.9 18 2 17.11 2 16V4C2 3.97 2 3.93 2 3.9L1.11 3L2.39 1.73L22.11 21.46M14.11 16L4 5.89V16H10V19.08L13.08 16H14.11Z\";\r\nexport var mdiCommentOutline = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M10,16V19.08L13.08,16H20V4H4V16H10Z\";\r\nexport var mdiCommentPlus = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22H9M11,6V9H8V11H11V14H13V11H16V9H13V6H11Z\";\r\nexport var mdiCommentPlusOutline = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M10,16V19.08L13.08,16H20V4H4V16H10M11,6H13V9H16V11H13V14H11V11H8V9H11V6Z\";\r\nexport var mdiCommentProcessing = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M17,11V9H15V11H17M13,11V9H11V11H13M9,11V9H7V11H9Z\";\r\nexport var mdiCommentProcessingOutline = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M10,16V19.08L13.08,16H20V4H4V16H10M17,11H15V9H17V11M13,11H11V9H13V11M9,11H7V9H9V11Z\";\r\nexport var mdiCommentQuestion = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2M12.19,5.5C11.3,5.5 10.59,5.68 10.05,6.04C9.5,6.4 9.22,7 9.27,7.69H11.24C11.24,7.41 11.34,7.2 11.5,7.06C11.7,6.92 11.92,6.85 12.19,6.85C12.5,6.85 12.77,6.93 12.95,7.11C13.13,7.28 13.22,7.5 13.22,7.8C13.22,8.08 13.14,8.33 13,8.54C12.83,8.76 12.62,8.94 12.36,9.08C11.84,9.4 11.5,9.68 11.29,9.92C11.1,10.16 11,10.5 11,11H13C13,10.72 13.05,10.5 13.14,10.32C13.23,10.15 13.4,10 13.66,9.85C14.12,9.64 14.5,9.36 14.79,9C15.08,8.63 15.23,8.24 15.23,7.8C15.23,7.1 14.96,6.54 14.42,6.12C13.88,5.71 13.13,5.5 12.19,5.5M11,12V14H13V12H11Z\";\r\nexport var mdiCommentQuestionOutline = \"M4,2A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H8V21A1,1 0 0,0 9,22H9.5V22C9.75,22 10,21.9 10.2,21.71L13.9,18H20A2,2 0 0,0 22,16V4C22,2.89 21.1,2 20,2H4M4,4H20V16H13.08L10,19.08V16H4V4M12.19,5.5C11.3,5.5 10.59,5.68 10.05,6.04C9.5,6.4 9.22,7 9.27,7.69C0.21,7.69 6.57,7.69 11.24,7.69C11.24,7.41 11.34,7.2 11.5,7.06C11.7,6.92 11.92,6.85 12.19,6.85C12.5,6.85 12.77,6.93 12.95,7.11C13.13,7.28 13.22,7.5 13.22,7.8C13.22,8.08 13.14,8.33 13,8.54C12.83,8.76 12.62,8.94 12.36,9.08C11.84,9.4 11.5,9.68 11.29,9.92C11.1,10.16 11,10.5 11,11H13C13,10.72 13.05,10.5 13.14,10.32C13.23,10.15 13.4,10 13.66,9.85C14.12,9.64 14.5,9.36 14.79,9C15.08,8.63 15.23,8.24 15.23,7.8C15.23,7.1 14.96,6.54 14.42,6.12C13.88,5.71 13.13,5.5 12.19,5.5M11,12V14H13V12H11Z\";\r\nexport var mdiCommentQuote = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.1 2.9 18 4 18H8V21C8 21.6 8.4 22 9 22H9.5C9.7 22 10 21.9 10.2 21.7L13.9 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M11 13H7V8.8L8.3 6H10.3L8.9 9H11V13M17 13H13V8.8L14.3 6H16.3L14.9 9H17V13Z\";\r\nexport var mdiCommentQuoteOutline = \"M9 22C8.4 22 8 21.6 8 21V18H4C2.9 18 2 17.1 2 16V4C2 2.9 2.9 2 4 2H20C21.1 2 22 2.9 22 4V16C22 17.1 21.1 18 20 18H13.9L10.2 21.7C10 21.9 9.8 22 9.5 22H9M10 16V19.1L13.1 16H20V4H4V16H10M16.3 6L14.9 9H17V13H13V8.8L14.3 6H16.3M10.3 6L8.9 9H11V13H7V8.8L8.3 6H10.3Z\";\r\nexport var mdiCommentRemove = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M9.41,6L8,7.41L10.59,10L8,12.59L9.41,14L12,11.41L14.59,14L16,12.59L13.41,10L16,7.41L14.59,6L12,8.59L9.41,6Z\";\r\nexport var mdiCommentRemoveOutline = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M10,16V19.08L13.08,16H20V4H4V16H10M9.41,6L12,8.59L14.59,6L16,7.41L13.41,10L16,12.59L14.59,14L12,11.41L9.41,14L8,12.59L10.59,10L8,7.41L9.41,6Z\";\r\nexport var mdiCommentSearch = \"M15.5,2C18,2 20,4 20,6.5C20,7.38 19.75,8.2 19.31,8.89L22.41,12L21,13.39L17.89,10.31C17.2,10.75 16.38,11 15.5,11C13,11 11,9 11,6.5C11,4 13,2 15.5,2M15.5,4A2.5,2.5 0 0,0 13,6.5A2.5,2.5 0 0,0 15.5,9A2.5,2.5 0 0,0 18,6.5A2.5,2.5 0 0,0 15.5,4M4,4H9.5C9.19,4.79 9,5.64 9,6.5A6.5,6.5 0 0,0 15.5,13C16.18,13 16.83,12.89 17.46,12.69L20,15.23V16A2,2 0 0,1 18,18H13.9L10.2,21.71C10,21.89 9.76,22 9.5,22H9A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V6A2,2 0 0,1 4,4Z\";\r\nexport var mdiCommentSearchOutline = \"M4,4H9.5C9.25,4.64 9.09,5.31 9.04,6H4V16H10V19.08L13.08,16H18V13.23L20,15.23V16A2,2 0 0,1 18,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22H9A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V6C2,4.89 2.9,4 4,4M15.5,2C18,2 20,4 20,6.5C20,7.38 19.75,8.2 19.31,8.89L22.41,12L21,13.39L17.89,10.31C17.2,10.75 16.38,11 15.5,11C13,11 11,9 11,6.5C11,4 13,2 15.5,2M15.5,4A2.5,2.5 0 0,0 13,6.5A2.5,2.5 0 0,0 15.5,9A2.5,2.5 0 0,0 18,6.5A2.5,2.5 0 0,0 15.5,4Z\";\r\nexport var mdiCommentText = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M5,5V7H19V5H5M5,9V11H13V9H5M5,13V15H15V13H5Z\";\r\nexport var mdiCommentTextMultiple = \"M3,15H1V3A2,2 0 0,1 3,1H19V3H3V15M12,23A1,1 0 0,1 11,22V19H7A2,2 0 0,1 5,17V7A2,2 0 0,1 7,5H21A2,2 0 0,1 23,7V17A2,2 0 0,1 21,19H16.9L13.2,22.71C13,22.89 12.76,23 12.5,23H12M9,9V11H19V9H9M9,13V15H17V13H9Z\";\r\nexport var mdiCommentTextMultipleOutline = \"M12,23A1,1 0 0,1 11,22V19H7A2,2 0 0,1 5,17V7A2,2 0 0,1 7,5H21A2,2 0 0,1 23,7V17A2,2 0 0,1 21,19H16.9L13.2,22.71C13,22.89 12.76,23 12.5,23H12M13,17V20.08L16.08,17H21V7H7V17H13M3,15H1V3A2,2 0 0,1 3,1H19V3H3V15M9,9H19V11H9V9M9,13H17V15H9V13Z\";\r\nexport var mdiCommentTextOutline = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M10,16V19.08L13.08,16H20V4H4V16H10M6,7H18V9H6V7M6,11H15V13H6V11Z\";\r\nexport var mdiCompare = \"M19,3H14V5H19V18L14,12V21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M10,18H5L10,12M10,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H10V23H12V1H10V3Z\";\r\nexport var mdiCompareHorizontal = \"M9 14H2V16H9V19L13 15L9 11V14M15 13V10H22V8H15V5L11 9L15 13Z\";\r\nexport var mdiCompareVertical = \"M14 15V22H16V15H19L15 11L11 15H14M13 9H10V2H8V9H5L9 13L13 9Z\";\r\nexport var mdiCompass = \"M14.19,14.19L6,18L9.81,9.81L18,6M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,10.9A1.1,1.1 0 0,0 10.9,12A1.1,1.1 0 0,0 12,13.1A1.1,1.1 0 0,0 13.1,12A1.1,1.1 0 0,0 12,10.9Z\";\r\nexport var mdiCompassOff = \"M1,3.5L2.28,2.25L21.75,21.72L20.5,23L17.7,20.22C16.08,21.34 14.12,22 12,22A10,10 0 0,1 2,12C2,9.88 2.66,7.92 3.78,6.3L1,3.5M6,18L12.47,15L9,11.53L6,18M18,6L11.56,9L6.33,3.76C7.94,2.65 9.9,2 12,2A10,10 0 0,1 22,12C22,14.1 21.35,16.06 20.24,17.67L15,12.44L18,6Z\";\r\nexport var mdiCompassOffOutline = \"M1,3.5L2.28,2.25L21.75,21.72L20.5,23L17.7,20.22C16.08,21.34 14.12,22 12,22A10,10 0 0,1 2,12C2,9.88 2.66,7.92 3.78,6.3L1,3.5M7,17L9.39,11.91L5.23,7.74C4.45,9 4,10.44 4,12A8,8 0 0,0 12,20C13.56,20 15,19.55 16.26,18.77L12.09,14.61L7,17M17,7L14.62,12.05L11.95,9.38L17,7M12,2A10,10 0 0,1 22,12C22,14.1 21.35,16.06 20.24,17.67L18.8,16.22C19.56,15 20,13.55 20,12A8,8 0 0,0 12,4C10.45,4 9,4.44 7.78,5.2L6.33,3.76C7.94,2.65 9.9,2 12,2Z\";\r\nexport var mdiCompassOutline = \"M7,17L10.2,10.2L17,7L13.8,13.8L7,17M12,11.1A0.9,0.9 0 0,0 11.1,12A0.9,0.9 0 0,0 12,12.9A0.9,0.9 0 0,0 12.9,12A0.9,0.9 0 0,0 12,11.1M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiCompassRose = \"M15 9L12 0L9 9L0 12L9 15L12 24L15 15L24 12L15 9M4 12L10 10L11 12H4M12 20L10 14L12 13V20M12 4L14 10L12 11V4M14 14L13 12H20L14 14M8.7 17.3L5 19L6.7 15.3L8.3 15.8L8.7 17.3M17.3 15.3L19 19L15.3 17.3L15.8 15.7L17.3 15.3M6.7 8.7L5 5L8.7 6.7L8.2 8.2L6.7 8.7M15.3 6.7L19 5L17.3 8.7L15.7 8.2L15.3 6.7Z\";\r\nexport var mdiConnection = \"M21.4 7.5C22.2 8.3 22.2 9.6 21.4 10.3L18.6 13.1L10.8 5.3L13.6 2.5C14.4 1.7 15.7 1.7 16.4 2.5L18.2 4.3L21.2 1.3L22.6 2.7L19.6 5.7L21.4 7.5M15.6 13.3L14.2 11.9L11.4 14.7L9.3 12.6L12.1 9.8L10.7 8.4L7.9 11.2L6.4 9.8L3.6 12.6C2.8 13.4 2.8 14.7 3.6 15.4L5.4 17.2L1.4 21.2L2.8 22.6L6.8 18.6L8.6 20.4C9.4 21.2 10.7 21.2 11.4 20.4L14.2 17.6L12.8 16.2L15.6 13.3Z\";\r\nexport var mdiConsole = \"M20,19V7H4V19H20M20,3A2,2 0 0,1 22,5V19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19V5C2,3.89 2.9,3 4,3H20M13,17V15H18V17H13M9.58,13L5.57,9H8.4L11.7,12.3C12.09,12.69 12.09,13.33 11.7,13.72L8.42,17H5.59L9.58,13Z\";\r\nexport var mdiConsoleLine = \"M13,19V16H21V19H13M8.5,13L2.47,7H6.71L11.67,11.95C12.25,12.54 12.25,13.5 11.67,14.07L6.74,19H2.5L8.5,13Z\";\r\nexport var mdiConsoleNetwork = \"M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7A2,2 0 0,1 5,15V5A2,2 0 0,1 7,3H17M7,7L11,11L7,15H9.85L13.13,11.72C13.5,11.33 13.5,10.7 13.13,10.3L9.83,7H7M17,13H14V15H17V13Z\";\r\nexport var mdiConsoleNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M8,6.89L11.56,10.45L8,14H10.53L13.45,11.08C13.78,10.74 13.78,10.18 13.45,9.82L10.5,6.89H8M16,12.22H13.33V14H16V12.22Z\";\r\nexport var mdiConsolidate = \"M18 9H20V4H22V9A2 2 0 0 1 20 11H18V13L15 10L18 7M14 10A2 2 0 1 0 12 12A2 2 0 0 0 14 10M2 11V16H4V11H6V13L9 10L6 7V9H4A2 2 0 0 0 2 11M15 16L12 13L9 16H11V18A2 2 0 0 0 13 20H18V18H13V16\";\r\nexport var mdiContactlessPayment = \"M16.79,23C16.37,22.83 16.07,22.45 16,22C15.95,21.74 16,21.56 16.4,20.84C17.9,18.14 18.67,15.09 18.63,12C18.67,9 17.94,6.07 16.5,3.44C16.29,3 16.1,2.58 15.94,2.13C16,1.75 16.19,1.4 16.5,1.19C16.95,0.95 17.5,1 17.91,1.28C18.19,1.64 18.43,2 18.63,2.42C19.71,4.5 20.44,6.7 20.8,9C21.03,10.81 21.06,12.65 20.89,14.47C20.58,16.81 19.89,19.07 18.83,21.18C18.19,22.46 17.83,23 17.45,23C17.37,23 17.28,23 17.2,23C17.06,23 16.93,23 16.79,23V23M12.43,20.79C11.86,20.63 11.5,20.05 11.62,19.47C11.62,19.35 11.93,18.8 12.21,18.24C13.39,15.97 13.9,13.41 13.67,10.86C13.53,9.03 13,7.25 12.13,5.64C11.5,4.38 11.46,4.18 11.83,3.64C12.27,3.15 13,3.08 13.54,3.5C14.26,4.56 14.83,5.72 15.25,6.94C16.53,10.73 16.33,14.86 14.69,18.5C13.85,20.39 13.26,21 12.43,20.74V20.79M7.93,18.56C7.57,18.4 7.3,18.08 7.2,17.7C7.2,17.5 7.2,17.24 7.65,16.44C9.14,13.74 9.14,10.46 7.65,7.76C7,6.5 7,6.24 7.53,5.76C7.72,5.54 8,5.43 8.3,5.47C8.94,5.47 9.3,5.78 9.84,6.91C10.69,8.47 11.13,10.22 11.12,12C11.16,13.81 10.72,15.61 9.85,17.2C9.31,18.25 9.04,18.5 8.5,18.59C8.31,18.61 8.11,18.59 7.93,18.5V18.56M3.72,16.43C3.39,16.27 3.13,16 3,15.65C2.9,15.3 3,15 3.4,14.36C3.9,13.68 4.14,12.84 4.09,12C4.16,11.15 3.93,10.31 3.44,9.61C3.27,9.36 3.13,9.09 3,8.82C2.89,8.19 3.31,7.59 4,7.47C4.54,7.37 4.92,7.6 5.42,8.36C6.87,10.57 6.87,13.42 5.42,15.63C4.91,16.4 4.33,16.63 3.73,16.43H3.72Z\";\r\nexport var mdiContactlessPaymentCircle = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M8.43 14.44L7.07 13.83C7.35 13.27 7.5 12.67 7.5 12.05C7.5 11.39 7.35 10.76 7.07 10.17L8.43 9.56C8.81 10.37 9 11.2 9 12.05C9 12.8 8.81 13.6 8.43 14.44M11.53 15.94L10.22 15.29C10.75 14.16 11 13 11 11.86C11 10.73 10.75 9.69 10.22 8.71L11.53 7.96C12.19 9.12 12.5 10.42 12.5 11.86C12.5 13.33 12.19 14.69 11.53 15.94M14.68 17.35L13.31 16.65C14.1 15.11 14.5 13.57 14.5 12S14.1 8.87 13.31 7.31L14.68 6.65C15.55 8.43 16 10.22 16 12C16 13.82 15.55 15.6 14.68 17.35Z\";\r\nexport var mdiContactlessPaymentCircleOutline = \"M12 4C16.41 4 20 7.59 20 12S16.41 20 12 20 4 16.41 4 12 7.59 4 12 4M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M8.43 14.44L7.07 13.83C7.35 13.27 7.5 12.67 7.5 12.05C7.5 11.39 7.35 10.76 7.07 10.17L8.43 9.56C8.81 10.37 9 11.2 9 12.05C9 12.8 8.81 13.6 8.43 14.44M11.53 15.94L10.22 15.29C10.75 14.16 11 13 11 11.86C11 10.73 10.75 9.69 10.22 8.71L11.53 7.96C12.19 9.12 12.5 10.42 12.5 11.86C12.5 13.33 12.19 14.69 11.53 15.94M14.68 17.35L13.31 16.65C14.1 15.11 14.5 13.57 14.5 12S14.1 8.87 13.31 7.31L14.68 6.65C15.55 8.43 16 10.22 16 12C16 13.82 15.55 15.6 14.68 17.35Z\";\r\nexport var mdiContacts = \"M20,0H4V2H20V0M4,24H20V22H4V24M20,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6A2,2 0 0,0 20,4M12,6.75A2.25,2.25 0 0,1 14.25,9A2.25,2.25 0 0,1 12,11.25A2.25,2.25 0 0,1 9.75,9A2.25,2.25 0 0,1 12,6.75M17,17H7V15.5C7,13.83 10.33,13 12,13C13.67,13 17,13.83 17,15.5V17Z\";\r\nexport var mdiContactsOutline = \"M20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V6C22 4.9 21.1 4 20 4M20 18H4V6H20V18M4 0H20V2H4M4 22H20V24H4M12 12C13.38 12 14.5 10.88 14.5 9.5S13.38 7 12 7 9.5 8.12 9.5 9.5 10.62 12 12 12M12 8.5C12.55 8.5 13 8.95 13 9.5S12.55 10.5 12 10.5 11 10.05 11 9.5 11.45 8.5 12 8.5M17 16C17 13.9 13.69 13 12 13S7 13.9 7 16V17H17V16M8.81 15.5C9.42 15 10.84 14.5 12 14.5C13.17 14.5 14.59 15 15.2 15.5H8.81Z\";\r\nexport var mdiContain = \"M2,3H8V5H4V19H8V21H2V3M7,17V15H9V17H7M11,17V15H13V17H11M15,17V15H17V17H15M22,3V21H16V19H20V5H16V3H22Z\";\r\nexport var mdiContainEnd = \"M7,17V15H9V17H7M11,17V15H13V17H11M15,17V15H17V17H15M22,3V21H16V19H20V5H16V3H22Z\";\r\nexport var mdiContainStart = \"M2,3H8V5H4V19H8V21H2V3M7,17V15H9V17H7M11,17V15H13V17H11M15,17V15H17V17H15Z\";\r\nexport var mdiContentCopy = \"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\";\r\nexport var mdiContentCut = \"M19,3L13,9L15,11L22,4V3M12,12.5A0.5,0.5 0 0,1 11.5,12A0.5,0.5 0 0,1 12,11.5A0.5,0.5 0 0,1 12.5,12A0.5,0.5 0 0,1 12,12.5M6,20A2,2 0 0,1 4,18C4,16.89 4.9,16 6,16A2,2 0 0,1 8,18C8,19.11 7.1,20 6,20M6,8A2,2 0 0,1 4,6C4,4.89 4.9,4 6,4A2,2 0 0,1 8,6C8,7.11 7.1,8 6,8M9.64,7.64C9.87,7.14 10,6.59 10,6A4,4 0 0,0 6,2A4,4 0 0,0 2,6A4,4 0 0,0 6,10C6.59,10 7.14,9.87 7.64,9.64L10,12L7.64,14.36C7.14,14.13 6.59,14 6,14A4,4 0 0,0 2,18A4,4 0 0,0 6,22A4,4 0 0,0 10,18C10,17.41 9.87,16.86 9.64,16.36L12,14L19,21H22V20L9.64,7.64Z\";\r\nexport var mdiContentDuplicate = \"M11,17H4A2,2 0 0,1 2,15V3A2,2 0 0,1 4,1H16V3H4V15H11V13L15,16L11,19V17M19,21V7H8V13H6V7A2,2 0 0,1 8,5H19A2,2 0 0,1 21,7V21A2,2 0 0,1 19,23H8A2,2 0 0,1 6,21V19H8V21H19Z\";\r\nexport var mdiContentPaste = \"M19,20H5V4H7V7H17V4H19M12,2A1,1 0 0,1 13,3A1,1 0 0,1 12,4A1,1 0 0,1 11,3A1,1 0 0,1 12,2M19,2H14.82C14.4,0.84 13.3,0 12,0C10.7,0 9.6,0.84 9.18,2H5A2,2 0 0,0 3,4V20A2,2 0 0,0 5,22H19A2,2 0 0,0 21,20V4A2,2 0 0,0 19,2Z\";\r\nexport var mdiContentSave = \"M15,9H5V5H15M12,19A3,3 0 0,1 9,16A3,3 0 0,1 12,13A3,3 0 0,1 15,16A3,3 0 0,1 12,19M17,3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V7L17,3Z\";\r\nexport var mdiContentSaveAlert = \"M13 9H3V5H13M10 19C8.3 19 7 17.7 7 16S8.3 13 10 13 13 14.3 13 16 11.7 19 10 19M15 3H3C1.9 3 1 3.9 1 5V19C1 20.1 1.9 21 3 21H17C18.1 21 19 20.1 19 19V7L15 3M23 14H21V7H23V14M23 18H21V16H23V18Z\";\r\nexport var mdiContentSaveAlertOutline = \"M15 3H3C1.9 3 1 3.9 1 5V19C1 20.1 1.9 21 3 21H17C18.1 21 19 20.1 19 19V7L15 3M17 19H3V5H14.2L17 7.8V19M10 12C8.3 12 7 13.3 7 15S8.3 18 10 18 13 16.7 13 15 11.7 12 10 12M4 6H13V10H4V6M23 14H21V7H23V14M23 18H21V16H23V18Z\";\r\nexport var mdiContentSaveAll = \"M17,7V3H7V7H17M14,17A3,3 0 0,0 17,14A3,3 0 0,0 14,11A3,3 0 0,0 11,14A3,3 0 0,0 14,17M19,1L23,5V17A2,2 0 0,1 21,19H7C5.89,19 5,18.1 5,17V3A2,2 0 0,1 7,1H19M1,7H3V21H17V23H3A2,2 0 0,1 1,21V7Z\";\r\nexport var mdiContentSaveAllOutline = \"M1 7H3V21H17V23H3C1.9 23 1 22.11 1 21V7M19 1H7C5.89 1 5 1.9 5 3V17C5 18.1 5.89 19 7 19H21C22.1 19 23 18.1 23 17V5L19 1M21 17H7V3H18.17L21 5.83V17M14 10C12.34 10 11 11.34 11 13S12.34 16 14 16 17 14.66 17 13 15.66 10 14 10M8 4H17V8H8V4Z\";\r\nexport var mdiContentSaveCog = \"M21 11.7V7L17 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H11.7C11.4 20.3 11.2 19.6 11.1 18.8C9.9 18.4 9 17.3 9 16C9 14.3 10.3 13 12 13C12.3 13 12.6 13.1 12.9 13.2C14.2 11.8 16 11 18 11C19.1 11 20.1 11.2 21 11.7M15 9H5V5H15V9M21.7 18.6V17.6L22.8 16.8C22.9 16.7 23 16.6 22.9 16.5L21.9 14.8C21.9 14.7 21.7 14.7 21.6 14.7L20.4 15.2C20.1 15 19.8 14.8 19.5 14.7L19.3 13.4C19.3 13.3 19.2 13.2 19.1 13.2H17.1C16.9 13.2 16.8 13.3 16.8 13.4L16.6 14.7C16.3 14.9 16.1 15 15.8 15.2L14.6 14.7C14.5 14.7 14.4 14.7 14.3 14.8L13.3 16.5C13.3 16.6 13.3 16.7 13.4 16.8L14.5 17.6V18.6L13.4 19.4C13.3 19.5 13.2 19.6 13.3 19.7L14.3 21.4C14.4 21.5 14.5 21.5 14.6 21.5L15.8 21C16 21.2 16.3 21.4 16.6 21.5L16.8 22.8C16.9 22.9 17 23 17.1 23H19.1C19.2 23 19.3 22.9 19.3 22.8L19.5 21.5C19.8 21.3 20 21.2 20.3 21L21.5 21.4C21.6 21.4 21.7 21.4 21.8 21.3L22.8 19.6C22.9 19.5 22.9 19.4 22.8 19.4L21.7 18.6M18 19.5C17.2 19.5 16.5 18.8 16.5 18S17.2 16.5 18 16.5 19.5 17.2 19.5 18 18.8 19.5 18 19.5Z\";\r\nexport var mdiContentSaveCogOutline = \"M11.1 19C11.2 19.7 11.4 20.4 11.7 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H17L21 7V11.7C20.4 11.4 19.7 11.2 19 11.1V7.8L16.2 5H5V19H11.1M12 12C10.3 12 9 13.3 9 15C9 16.3 9.8 17.4 11 17.8C11.1 15.6 12.1 13.7 13.7 12.5C13.2 12.2 12.6 12 12 12M15 10V6H6V10H15M22.8 19.6L21.8 21.3C21.7 21.4 21.6 21.4 21.5 21.4L20.3 21C20 21.2 19.8 21.3 19.5 21.5L19.3 22.8C19.3 22.9 19.2 23 19.1 23H17.1C17 23 16.9 22.9 16.8 22.8L16.6 21.5C16.3 21.4 16 21.2 15.8 21L14.6 21.5C14.5 21.5 14.4 21.5 14.3 21.4L13.3 19.7C13.2 19.6 13.3 19.5 13.4 19.4L14.5 18.6V17.6L13.4 16.8C13.3 16.7 13.3 16.6 13.3 16.5L14.3 14.8C14.4 14.7 14.5 14.7 14.6 14.7L15.8 15.2C16.1 15 16.3 14.9 16.6 14.7L16.8 13.4C16.8 13.3 16.9 13.2 17.1 13.2H19.1C19.2 13.2 19.3 13.3 19.3 13.4L19.5 14.7C19.8 14.8 20.1 15 20.4 15.2L21.6 14.7C21.7 14.7 21.9 14.7 21.9 14.8L22.9 16.5C23 16.6 22.9 16.7 22.8 16.8L21.7 17.6V18.6L22.8 19.4C22.9 19.4 22.9 19.5 22.8 19.6M19.5 18C19.5 17.2 18.8 16.5 18 16.5S16.5 17.2 16.5 18 17.2 19.5 18 19.5C18.8 19.5 19.5 18.8 19.5 18Z\";\r\nexport var mdiContentSaveEdit = \"M10,19L10.14,18.86C8.9,18.5 8,17.36 8,16A3,3 0 0,1 11,13C12.36,13 13.5,13.9 13.86,15.14L20,9V7L16,3H4C2.89,3 2,3.9 2,5V19A2,2 0 0,0 4,21H10V19M4,5H14V9H4V5M20.04,12.13C19.9,12.13 19.76,12.19 19.65,12.3L18.65,13.3L20.7,15.35L21.7,14.35C21.92,14.14 21.92,13.79 21.7,13.58L20.42,12.3C20.31,12.19 20.18,12.13 20.04,12.13M18.07,13.88L12,19.94V22H14.06L20.12,15.93L18.07,13.88Z\";\r\nexport var mdiContentSaveEditOutline = \"M4 19H10V21H4C2.89 21 2 20.1 2 19V5C2 3.9 2.89 3 4 3H16L20 7V9.12L18 11.12V7.83L15.17 5H4V19M14 10V6H5V10H14M20.42 12.3C20.31 12.19 20.18 12.13 20.04 12.13C19.9 12.13 19.76 12.19 19.65 12.3L18.65 13.3L20.7 15.35L21.7 14.35C21.92 14.14 21.92 13.79 21.7 13.58L20.42 12.3M12 19.94V22H14.06L20.12 15.93L18.07 13.88L12 19.94M14 15C14 13.34 12.66 12 11 12S8 13.34 8 15 9.34 18 11 18C11.04 18 11.08 18 11.13 18L14 15.13C14 15.09 14 15.05 14 15\";\r\nexport var mdiContentSaveMove = \"M17,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H11.81C11.42,20.34 11.17,19.6 11.07,18.84C9.5,18.31 8.66,16.6 9.2,15.03C9.61,13.83 10.73,13 12,13C12.44,13 12.88,13.1 13.28,13.29C15.57,11.5 18.83,11.59 21,13.54V7L17,3M15,9H5V5H15V9M13,17H17V14L22,18.5L17,23V20H13V17\";\r\nexport var mdiContentSaveMoveOutline = \"M13 17H17V14L22 18.5L17 23V20H13V17M14 12.8C13.5 12.31 12.78 12 12 12C10.34 12 9 13.34 9 15C9 16.31 9.84 17.41 11 17.82C11.07 15.67 12.27 13.8 14 12.8M11.09 19H5V5H16.17L19 7.83V12.35C19.75 12.61 20.42 13 21 13.54V7L17 3H5C3.89 3 3 3.9 3 5V19C3 20.1 3.89 21 5 21H11.81C11.46 20.39 11.21 19.72 11.09 19M6 10H15V6H6V10Z\";\r\nexport var mdiContentSaveOff = \"M8.2 5L6.2 3H17L21 7V17.8L12.2 9H15V5H8.2M22.11 21.46L20.84 22.73L19.1 21C19.07 21 19.03 21 19 21H5C3.9 21 3 20.11 3 19V5C3 4.97 3 4.93 3 4.9L1.11 3L2.39 1.73L22.11 21.46M7.11 9L5 6.89V9H7.11M14.89 16.78L11.22 13.11C9.95 13.46 9 14.61 9 16C9 17.66 10.34 19 12 19C13.39 19 14.54 18.05 14.89 16.78Z\";\r\nexport var mdiContentSaveOffOutline = \"M8.2 5L6.2 3H17L21 7V17.8L19 15.8V7.83L16.17 5H8.2M15 10V6H9.2L13.2 10H15M22.11 21.46L20.84 22.73L19.1 21C19.07 21 19.03 21 19 21H5C3.89 21 3 20.1 3 19V5C3 4.97 3 4.93 3 4.9L1.11 3L2.39 1.73L22.11 21.46M17.11 19L14.59 16.5C14.08 17.39 13.12 18 12 18C10.34 18 9 16.66 9 15C9 13.88 9.61 12.92 10.5 12.41L8.11 10H6V7.89L5 6.89V19H17.11Z\";\r\nexport var mdiContentSaveOutline = \"M17 3H5C3.89 3 3 3.9 3 5V19C3 20.1 3.89 21 5 21H19C20.1 21 21 20.1 21 19V7L17 3M19 19H5V5H16.17L19 7.83V19M12 12C10.34 12 9 13.34 9 15S10.34 18 12 18 15 16.66 15 15 13.66 12 12 12M6 6H15V10H6V6Z\";\r\nexport var mdiContentSaveSettings = \"M15,8V4H5V8H15M12,18A3,3 0 0,0 15,15A3,3 0 0,0 12,12A3,3 0 0,0 9,15A3,3 0 0,0 12,18M17,2L21,6V18A2,2 0 0,1 19,20H5C3.89,20 3,19.1 3,18V4A2,2 0 0,1 5,2H17M11,22H13V24H11V22M7,22H9V24H7V22M15,22H17V24H15V22Z\";\r\nexport var mdiContentSaveSettingsOutline = \"M7 22H9V24H7V22M11 22H13V24H11V22M15 22H17V24H15V22M17 2H5C3.89 2 3 2.9 3 4V18C3 19.1 3.89 20 5 20H19C20.1 20 21 19.1 21 18V6L17 2M19 18H5V4H16.17L19 6.83V18M12 11C10.34 11 9 12.34 9 14S10.34 17 12 17 15 15.66 15 14 13.66 11 12 11M6 5H15V9H6V5Z\";\r\nexport var mdiContrast = \"M4.38,20.9C3.78,20.71 3.3,20.23 3.1,19.63L19.63,3.1C20.23,3.3 20.71,3.78 20.9,4.38L4.38,20.9M20,16V18H13V16H20M3,6H6V3H8V6H11V8H8V11H6V8H3V6Z\";\r\nexport var mdiContrastBox = \"M17,15.5H12V17H17M19,19H5L19,5M5.5,7.5H7.5V5.5H9V7.5H11V9H9V11H7.5V9H5.5M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiContrastCircle = \"M12,20C9.79,20 7.79,19.1 6.34,17.66L17.66,6.34C19.1,7.79 20,9.79 20,12A8,8 0 0,1 12,20M6,8H8V6H9.5V8H11.5V9.5H9.5V11.5H8V9.5H6M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,16H17V14.5H12V16Z\";\r\nexport var mdiControllerClassic = \"M6,7H18A5,5 0 0,1 23,12A5,5 0 0,1 18,17C16.36,17 14.91,16.21 14,15H10C9.09,16.21 7.64,17 6,17A5,5 0 0,1 1,12A5,5 0 0,1 6,7M19.75,9.5A1.25,1.25 0 0,0 18.5,10.75A1.25,1.25 0 0,0 19.75,12A1.25,1.25 0 0,0 21,10.75A1.25,1.25 0 0,0 19.75,9.5M17.25,12A1.25,1.25 0 0,0 16,13.25A1.25,1.25 0 0,0 17.25,14.5A1.25,1.25 0 0,0 18.5,13.25A1.25,1.25 0 0,0 17.25,12M5,9V11H3V13H5V15H7V13H9V11H7V9H5Z\";\r\nexport var mdiControllerClassicOutline = \"M17.5,7A5.5,5.5 0 0,1 23,12.5A5.5,5.5 0 0,1 17.5,18C15.79,18 14.27,17.22 13.26,16H10.74C9.73,17.22 8.21,18 6.5,18A5.5,5.5 0 0,1 1,12.5A5.5,5.5 0 0,1 6.5,7H17.5M6.5,9A3.5,3.5 0 0,0 3,12.5A3.5,3.5 0 0,0 6.5,16C7.9,16 9.1,15.18 9.66,14H14.34C14.9,15.18 16.1,16 17.5,16A3.5,3.5 0 0,0 21,12.5A3.5,3.5 0 0,0 17.5,9H6.5M5.75,10.25H7.25V11.75H8.75V13.25H7.25V14.75H5.75V13.25H4.25V11.75H5.75V10.25M16.75,12.5A1,1 0 0,1 17.75,13.5A1,1 0 0,1 16.75,14.5A1,1 0 0,1 15.75,13.5A1,1 0 0,1 16.75,12.5M18.75,10.5A1,1 0 0,1 19.75,11.5A1,1 0 0,1 18.75,12.5A1,1 0 0,1 17.75,11.5A1,1 0 0,1 18.75,10.5Z\";\r\nexport var mdiCookie = \"M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12C21,11.5 20.96,11 20.87,10.5C20.6,10 20,10 20,10H18V9C18,8 17,8 17,8H15V7C15,6 14,6 14,6H13V4C13,3 12,3 12,3M9.5,6A1.5,1.5 0 0,1 11,7.5A1.5,1.5 0 0,1 9.5,9A1.5,1.5 0 0,1 8,7.5A1.5,1.5 0 0,1 9.5,6M6.5,10A1.5,1.5 0 0,1 8,11.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 5,11.5A1.5,1.5 0 0,1 6.5,10M11.5,11A1.5,1.5 0 0,1 13,12.5A1.5,1.5 0 0,1 11.5,14A1.5,1.5 0 0,1 10,12.5A1.5,1.5 0 0,1 11.5,11M16.5,13A1.5,1.5 0 0,1 18,14.5A1.5,1.5 0 0,1 16.5,16H16.5A1.5,1.5 0 0,1 15,14.5H15A1.5,1.5 0 0,1 16.5,13M11,16A1.5,1.5 0 0,1 12.5,17.5A1.5,1.5 0 0,1 11,19A1.5,1.5 0 0,1 9.5,17.5A1.5,1.5 0 0,1 11,16Z\";\r\nexport var mdiCookieAlert = \"M18 10H16V9C16 8 15 8 15 8H13V7C13 6 12 6 12 6H11V4C11 3 10 3 10 3C5 3 1 7 1 12S5 21 10 21 19 17 19 12C19 11.5 19 11 18.9 10.5C18.6 10 18 10 18 10M4.5 13C3.7 13 3 12.3 3 11.5S3.7 10 4.5 10 6 10.7 6 11.5 5.3 13 4.5 13M6 7.5C6 6.7 6.7 6 7.5 6S9 6.7 9 7.5 8.3 9 7.5 9 6 8.3 6 7.5M9 19C8.2 19 7.5 18.3 7.5 17.5S8.2 16 9 16 10.5 16.7 10.5 17.5 9.8 19 9 19M9.5 14C8.7 14 8 13.3 8 12.5S8.7 11 9.5 11 11 11.7 11 12.5 10.3 14 9.5 14M14.5 16C13.7 16 13 15.3 13 14.5S13.7 13 14.5 13C15.3 13 16 13.7 16 14.5S15.3 16 14.5 16M21 15H23V17H21V15M23 7V13H21V7H23Z\";\r\nexport var mdiCookieAlertOutline = \"M16 14.5C16 15.3 15.3 16 14.5 16S13 15.3 13 14.5 13.7 13 14.5 13C15.3 13 16 13.7 16 14.5M18.9 10.5C19 11 19 11.5 19 12C19 17 15 21 10 21S1 17 1 12 5 3 10 3C10 3 11 3 11 4V6H12C12 6 13 6 13 7V8H15C15 8 16 8 16 9V10H18C18 10 18.6 10 18.9 10.5M17 12H15.5C14.7 12 14 11.3 14 10.5V10H12.5C11.7 10 11 9.3 11 8.5V8H10.5C9.7 8 9 7.3 9 6.5V5.1C5.9 5.5 3.5 8 3.1 11.1C3.2 10.5 3.8 10 4.5 10C5.3 10 6 10.7 6 11.5S5.3 13 4.5 13C3.7 13 3.1 12.4 3 11.6C3 12.1 3 12.6 3.1 13.1C3.5 15.8 5.6 18 8.2 18.7C7.8 18.4 7.5 18 7.5 17.5C7.5 16.7 8.2 16 9 16S10.5 16.7 10.5 17.5C10.5 18.2 10 18.8 9.3 19C13.5 19.4 17 16.1 17 12M9.5 11C8.7 11 8 11.7 8 12.5S8.7 14 9.5 14 11 13.3 11 12.5 10.3 11 9.5 11M9 7.5C9 6.7 8.3 6 7.5 6S6 6.7 6 7.5 6.7 9 7.5 9 9 8.3 9 7.5M21 17H23V15H21V17M21 7V13H23V7H21Z\";\r\nexport var mdiCookieCheck = \"M15 14.53C15 14.5 15 14.5 15 14.5C15 13.67 15.67 13 16.5 13C16.8 13 17.08 13.09 17.32 13.24C17.85 13.09 18.42 13 19 13C19.66 13 20.3 13.12 20.89 13.32C20.96 12.89 21 12.45 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.45 21 12.89 20.96 13.32 20.89C13.12 20.3 13 19.66 13 19C13 17.22 13.78 15.63 15 14.53M6.5 13C5.67 13 5 12.33 5 11.5S5.67 10 6.5 10 8 10.67 8 11.5 7.33 13 6.5 13M8 7.5C8 6.67 8.67 6 9.5 6S11 6.67 11 7.5 10.33 9 9.5 9 8 8.33 8 7.5M11 19C10.17 19 9.5 18.33 9.5 17.5S10.17 16 11 16 12.5 16.67 12.5 17.5 11.83 19 11 19M11.5 14C10.67 14 10 13.33 10 12.5S10.67 11 11.5 11 13 11.67 13 12.5 12.33 14 11.5 14M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\r\nexport var mdiCookieCheckOutline = \"M15 10H14.5C13.67 10 13 9.33 13 8.5V8H12.5C11.67 8 11 7.33 11 6.5V5.07C7.91 5.5 5.47 8 5.07 11.08C5.25 10.46 5.82 10 6.5 10C7.33 10 8 10.67 8 11.5S7.33 13 6.5 13C5.71 13 5.07 12.39 5 11.62C5 12.11 5 12.61 5.09 13.12C5.5 15.81 7.54 18.04 10.16 18.74C9.76 18.47 9.5 18 9.5 17.5C9.5 16.67 10.17 16 11 16S12.5 16.67 12.5 17.5C12.5 18.22 12 18.82 11.32 18.96C11.9 19 12.46 19 13 18.92C13 18.95 13 18.97 13 19C13 19.66 13.12 20.3 13.32 20.89C12.89 20.96 12.45 21 12 21C7.03 21 3 16.97 3 12S7.03 3 12 3C12 3 13 3 13 4V6H14C14 6 15 6 15 7V8H17C17 8 18 8 18 9V10H20C20 10 20.6 10 20.87 10.5C20.96 11 21 11.5 21 12C21 12.45 20.96 12.89 20.89 13.32C20.3 13.12 19.66 13 19 13C18.97 13 18.95 13 18.92 13C18.97 12.68 19 12.34 19 12H17.5C16.67 12 16 11.33 16 10.5V10H15M15 14.5C15 14.5 15 14.5 15 14.53C15.66 13.95 16.45 13.5 17.32 13.24C17.08 13.09 16.8 13 16.5 13C15.67 13 15 13.67 15 14.5M11.5 14C12.33 14 13 13.33 13 12.5S12.33 11 11.5 11 10 11.67 10 12.5 10.67 14 11.5 14M11 7.5C11 6.67 10.33 6 9.5 6S8 6.67 8 7.5 8.67 9 9.5 9 11 8.33 11 7.5M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\r\nexport var mdiCookieClock = \"M19.97 10.24C19.95 10 19.91 9.74 19.87 9.5C19.6 9 19 9 19 9H17V8C17 7 16 7 16 7H14V6C14 5 13 5 13 5H12V3C12 2 11 2 11 2C6.03 2 2 6.03 2 11C2 15.71 5.62 19.57 10.23 19.96C11.5 21.8 13.61 23 16 23C19.87 23 23 19.87 23 16C23 13.61 21.8 11.5 19.97 10.24M11.64 10.53C10.87 11.15 10.23 11.92 9.78 12.81C9.32 12.55 9 12.06 9 11.5C9 10.67 9.67 10 10.5 10C10.96 10 11.36 10.21 11.64 10.53M5.5 12C4.67 12 4 11.33 4 10.5S4.67 9 5.5 9 7 9.67 7 10.5 6.33 12 5.5 12M7 6.5C7 5.67 7.67 5 8.5 5S10 5.67 10 6.5 9.33 8 8.5 8 7 7.33 7 6.5M8.5 16.5C8.5 16.04 8.71 15.64 9.03 15.36C9 15.57 9 15.79 9 16C9 16.62 9.09 17.22 9.24 17.79C8.8 17.5 8.5 17.05 8.5 16.5M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25Z\";\r\nexport var mdiCookieClockOutline = \"M8.5 8C7.67 8 7 7.33 7 6.5S7.67 5 8.5 5 10 5.67 10 6.5 9.33 8 8.5 8M16.5 12H15V17L18.61 19.16L19.36 17.94L16.5 16.25V12M23 16C23 19.87 19.87 23 16 23C13.61 23 11.5 21.8 10.23 19.96C5.62 19.57 2 15.71 2 11C2 6.03 6.03 2 11 2C11 2 12 2 12 3V5H13C13 5 14 5 14 6V7H16C16 7 17 7 17 8V9H19C19 9 19.6 9 19.87 9.5C19.91 9.74 19.95 10 19.97 10.24C21.8 11.5 23 13.61 23 16M9.16 17.74C8.76 17.47 8.5 17 8.5 16.5C8.5 16.04 8.71 15.64 9.03 15.36C9.12 14.45 9.38 13.59 9.78 12.81C9.32 12.55 9 12.06 9 11.5C9 10.67 9.67 10 10.5 10C10.96 10 11.36 10.21 11.64 10.53C12.59 9.77 13.74 9.26 15 9.08V9H13.5C12.67 9 12 8.33 12 7.5V7H11.5C10.67 7 10 6.33 10 5.5V4.07C6.91 4.5 4.47 7 4.07 10.08C4.25 9.46 4.82 9 5.5 9C6.33 9 7 9.67 7 10.5S6.33 12 5.5 12C4.71 12 4.07 11.39 4 10.62C4 11.11 4 11.61 4.09 12.12C4.5 14.81 6.54 17.04 9.16 17.74M21 16C21 13.24 18.76 11 16 11S11 13.24 11 16 13.24 21 16 21 21 18.76 21 16Z\";\r\nexport var mdiCookieCog = \"M21 12.29C21 12.19 21 12.1 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.1 21 12.19 21 12.29 21C12.11 20.36 12 19.69 12 19C12 18.86 12 18.73 12 18.59C11.75 18.84 11.4 19 11 19C10.17 19 9.5 18.33 9.5 17.5S10.17 16 11 16C11.59 16 12.1 16.35 12.34 16.84C13.25 14.03 15.89 12 19 12C19.69 12 20.36 12.11 21 12.29M6.5 13C5.67 13 5 12.33 5 11.5S5.67 10 6.5 10 8 10.67 8 11.5 7.33 13 6.5 13M9.5 9C8.67 9 8 8.33 8 7.5S8.67 6 9.5 6 11 6.67 11 7.5 10.33 9 9.5 9M11.5 14C10.67 14 10 13.33 10 12.5S10.67 11 11.5 11 13 11.67 13 12.5 12.33 14 11.5 14M22.7 19.6V18.6L23.8 17.8C23.9 17.7 24 17.6 23.9 17.5L22.9 15.8C22.9 15.7 22.7 15.7 22.6 15.7L21.4 16.2C21.1 16 20.8 15.8 20.5 15.7L20.3 14.4C20.3 14.3 20.2 14.2 20.1 14.2H18.1C17.9 14.2 17.8 14.3 17.8 14.4L17.6 15.7C17.3 15.9 17.1 16 16.8 16.2L15.6 15.7C15.5 15.7 15.4 15.7 15.3 15.8L14.3 17.5C14.3 17.6 14.3 17.7 14.4 17.8L15.5 18.6V19.6L14.4 20.4C14.3 20.5 14.2 20.6 14.3 20.7L15.3 22.4C15.4 22.5 15.5 22.5 15.6 22.5L16.8 22C17 22.2 17.3 22.4 17.6 22.5L17.8 23.8C17.9 23.9 18 24 18.1 24H20.1C20.2 24 20.3 23.9 20.3 23.8L20.5 22.5C20.8 22.3 21 22.2 21.3 22L22.5 22.4C22.6 22.4 22.7 22.4 22.8 22.3L23.8 20.6C23.9 20.5 23.9 20.4 23.8 20.4L22.7 19.6M19 20.5C18.2 20.5 17.5 19.8 17.5 19S18.2 17.5 19 17.5 20.5 18.2 20.5 19 19.8 20.5 19 20.5Z\";\r\nexport var mdiCookieCogOutline = \"M14.5 10C13.67 10 13 9.33 13 8.5V8H12.5C11.67 8 11 7.33 11 6.5V5.07C7.91 5.5 5.47 8 5.07 11.08C5.25 10.46 5.82 10 6.5 10C7.33 10 8 10.67 8 11.5S7.33 13 6.5 13C5.71 13 5.07 12.39 5 11.62C5 12.11 5 12.61 5.09 13.12C5.5 15.81 7.54 18.04 10.16 18.74C9.76 18.47 9.5 18 9.5 17.5C9.5 16.67 10.17 16 11 16C11.59 16 12.1 16.35 12.34 16.84C12.16 17.39 12.06 17.97 12 18.57C11.83 18.76 11.6 18.9 11.32 18.96C11.55 19 11.78 19 12 19V19C12 19.69 12.11 20.36 12.29 21C12.19 21 12.1 21 12 21C7.03 21 3 16.97 3 12S7.03 3 12 3C12 3 13 3 13 4V6H14C14 6 15 6 15 7V8H17C17 8 18 8 18 9V10H20C20 10 20.6 10 20.87 10.5C20.96 11 21 11.5 21 12C21 12.1 21 12.19 21 12.29C20.36 12.11 19.69 12 19 12H17.5C16.67 12 16 11.33 16 10.5V10H14.5M11.5 11C10.67 11 10 11.67 10 12.5S10.67 14 11.5 14 13 13.33 13 12.5 12.33 11 11.5 11M11 7.5C11 6.67 10.33 6 9.5 6S8 6.67 8 7.5 8.67 9 9.5 9 11 8.33 11 7.5M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\r\nexport var mdiCookieEdit = \"M15.1 15.03C15.04 14.86 15 14.69 15 14.5C15 13.67 15.67 13 16.5 13C16.69 13 16.86 13.04 17.03 13.1L19.39 10.74C19.69 10.44 20.05 10.24 20.44 10.12C20.21 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12C3 16.63 6.5 20.44 11 20.94V19.13L11.14 19C11.1 19 11.05 19 11 19C10.17 19 9.5 18.33 9.5 17.5S10.17 16 11 16 12.5 16.67 12.5 17.5C12.5 17.55 12.5 17.6 12.5 17.64L15.1 15.03M6.5 13C5.67 13 5 12.33 5 11.5S5.67 10 6.5 10 8 10.67 8 11.5 7.33 13 6.5 13M9.5 9C8.67 9 8 8.33 8 7.5S8.67 6 9.5 6 11 6.67 11 7.5 10.33 9 9.5 9M11.5 14C10.67 14 10 13.33 10 12.5S10.67 11 11.5 11 13 11.67 13 12.5 12.33 14 11.5 14M22.85 14.19L21.87 15.17L19.83 13.13L20.81 12.15C21 11.95 21.33 11.95 21.53 12.15L22.85 13.47C23.05 13.67 23.05 14 22.85 14.19M19.13 13.83L21.17 15.87L15.04 22H13V19.96L19.13 13.83Z\";\r\nexport var mdiCookieEditOutline = \"M9.5 6C10.33 6 11 6.67 11 7.5S10.33 9 9.5 9 8 8.33 8 7.5 8.67 6 9.5 6M11.5 11C10.67 11 10 11.67 10 12.5S10.67 14 11.5 14 13 13.33 13 12.5 12.33 11 11.5 11M11 16C10.17 16 9.5 16.67 9.5 17.5C9.5 18 9.76 18.47 10.16 18.74C7.54 18.04 5.5 15.81 5.09 13.12C5 12.61 5 12.11 5 11.62C5.07 12.39 5.71 13 6.5 13C7.33 13 8 12.33 8 11.5S7.33 10 6.5 10C5.82 10 5.25 10.46 5.07 11.08C5.47 8 7.91 5.5 11 5.07V6.5C11 7.33 11.67 8 12.5 8H13V8.5C13 9.33 13.67 10 14.5 10H16V10.5C16 11.33 16.67 12 17.5 12H18.13L19.39 10.74C19.69 10.44 20.05 10.24 20.44 10.12C20.21 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12C3 16.63 6.5 20.44 11 20.94V19.13L12.47 17.66C12.5 17.6 12.5 17.55 12.5 17.5C12.5 16.67 11.83 16 11 16M15 14.5C15 14.69 15.04 14.86 15.1 15.03L17.03 13.1C16.86 13.04 16.69 13 16.5 13C15.67 13 15 13.67 15 14.5M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96Z\";\r\nexport var mdiCookieLock = \"M18.5 11C19.42 11 20.27 11.29 21 11.77C21 11.35 20.95 10.92 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.34 21 12.67 21 13 20.94V17C13 16.08 13.42 15.26 14.07 14.71C14.45 12.6 16.29 11 18.5 11M6.5 13C5.67 13 5 12.33 5 11.5S5.67 10 6.5 10 8 10.67 8 11.5 7.33 13 6.5 13M8 7.5C8 6.67 8.67 6 9.5 6S11 6.67 11 7.5 10.33 9 9.5 9 8 8.33 8 7.5M11 19C10.17 19 9.5 18.33 9.5 17.5S10.17 16 11 16 12.5 16.67 12.5 17.5 11.83 19 11 19M11.5 14C10.67 14 10 13.33 10 12.5S10.67 11 11.5 11 13 11.67 13 12.5 12.33 14 11.5 14M21 16V15.5C21 14.12 19.88 13 18.5 13S16 14.12 16 15.5V16C15.45 16 15 16.45 15 17V21C15 21.55 15.45 22 16 22H21C21.55 22 22 21.55 22 21V17C22 16.45 21.55 16 21 16M20 16H17V15.5C17 14.67 17.67 14 18.5 14S20 14.67 20 15.5V16Z\";\r\nexport var mdiCookieLockOutline = \"M10 12.5C10 11.67 10.67 11 11.5 11S13 11.67 13 12.5 12.33 14 11.5 14 10 13.33 10 12.5M16 10V10.5C16 10.9 16.16 11.26 16.41 11.53C17.04 11.2 17.75 11 18.5 11C19.42 11 20.27 11.29 21 11.77C21 11.35 20.95 10.92 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.34 21 12.67 21 13 20.94V18.92C12.46 19 11.9 19 11.32 18.96C12 18.82 12.5 18.22 12.5 17.5C12.5 16.67 11.83 16 11 16S9.5 16.67 9.5 17.5C9.5 18 9.76 18.47 10.16 18.74C7.54 18.04 5.5 15.81 5.09 13.12C5 12.61 5 12.11 5 11.62C5.07 12.39 5.71 13 6.5 13C7.33 13 8 12.33 8 11.5S7.33 10 6.5 10C5.82 10 5.25 10.46 5.07 11.08C5.47 8 7.91 5.5 11 5.07V6.5C11 7.33 11.67 8 12.5 8H13V8.5C13 9.33 13.67 10 14.5 10H16M11 7.5C11 6.67 10.33 6 9.5 6S8 6.67 8 7.5 8.67 9 9.5 9 11 8.33 11 7.5M22 17V21C22 21.55 21.55 22 21 22H16C15.45 22 15 21.55 15 21V17C15 16.45 15.45 16 16 16V15.5C16 14.12 17.12 13 18.5 13S21 14.12 21 15.5V16C21.55 16 22 16.45 22 17M20 15.5C20 14.67 19.33 14 18.5 14S17 14.67 17 15.5V16H20V15.5Z\";\r\nexport var mdiCookieMinus = \"M15 14.53C15 14.5 15 14.5 15 14.5C15 13.67 15.67 13 16.5 13C16.8 13 17.08 13.09 17.32 13.24C17.85 13.09 18.42 13 19 13C19.66 13 20.3 13.12 20.89 13.32C20.96 12.89 21 12.45 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.45 21 12.89 20.96 13.32 20.89C13.12 20.3 13 19.66 13 19C13 17.22 13.78 15.63 15 14.53M6.5 13C5.67 13 5 12.33 5 11.5S5.67 10 6.5 10 8 10.67 8 11.5 7.33 13 6.5 13M8 7.5C8 6.67 8.67 6 9.5 6S11 6.67 11 7.5 10.33 9 9.5 9 8 8.33 8 7.5M11 19C10.17 19 9.5 18.33 9.5 17.5S10.17 16 11 16 12.5 16.67 12.5 17.5 11.83 19 11 19M11.5 14C10.67 14 10 13.33 10 12.5S10.67 11 11.5 11 13 11.67 13 12.5 12.33 14 11.5 14M23 18V20H15V18H23Z\";\r\nexport var mdiCookieMinusOutline = \"M15 10H14.5C13.67 10 13 9.33 13 8.5V8H12.5C11.67 8 11 7.33 11 6.5V5.07C7.91 5.5 5.47 8 5.07 11.08C5.25 10.46 5.82 10 6.5 10C7.33 10 8 10.67 8 11.5S7.33 13 6.5 13C5.71 13 5.07 12.39 5 11.62C5 12.11 5 12.61 5.09 13.12C5.5 15.81 7.54 18.04 10.16 18.74C9.76 18.47 9.5 18 9.5 17.5C9.5 16.67 10.17 16 11 16S12.5 16.67 12.5 17.5C12.5 18.22 12 18.82 11.32 18.96C11.9 19 12.46 19 13 18.92C13 18.95 13 18.97 13 19C13 19.66 13.12 20.3 13.32 20.89C12.89 20.96 12.45 21 12 21C7.03 21 3 16.97 3 12S7.03 3 12 3C12 3 13 3 13 4V6H14C14 6 15 6 15 7V8H17C17 8 18 8 18 9V10H20C20 10 20.6 10 20.87 10.5C20.96 11 21 11.5 21 12C21 12.45 20.96 12.89 20.89 13.32C20.3 13.12 19.66 13 19 13C18.97 13 18.95 13 18.92 13C18.97 12.68 19 12.34 19 12H17.5C16.67 12 16 11.33 16 10.5V10H15M15 14.5C15 14.5 15 14.5 15 14.53C15.66 13.95 16.45 13.5 17.32 13.24C17.08 13.09 16.8 13 16.5 13C15.67 13 15 13.67 15 14.5M11 7.5C11 6.67 10.33 6 9.5 6S8 6.67 8 7.5 8.67 9 9.5 9 11 8.33 11 7.5M11.5 14C12.33 14 13 13.33 13 12.5S12.33 11 11.5 11 10 11.67 10 12.5 10.67 14 11.5 14M15 18V20H23V18H15Z\";\r\nexport var mdiCookieOff = \"M9.25 6.05L7.45 4.25C8.79 3.46 10.34 3 12 3C12 3 13 3 13 4V6H14C14 6 15 6 15 7V8H17C17 8 18 8 18 9V10H20C20 10 20.6 10 20.87 10.5C20.96 11 21 11.5 21 12C21 13.66 20.54 15.22 19.75 16.55L17.95 14.75C17.97 14.67 18 14.59 18 14.5C18 13.67 17.33 13 16.5 13C16.41 13 16.33 13.03 16.25 13.05L10.95 7.75C10.97 7.67 11 7.59 11 7.5C11 6.67 10.33 6 9.5 6C9.41 6 9.33 6.03 9.25 6.05M22.11 21.46L20.84 22.73L17.34 19.23C15.85 20.34 14 21 12 21C7.03 21 3 16.97 3 12C3 10 3.66 8.15 4.77 6.66L1.11 3L2.39 1.73L22.11 21.46M8 11.5C8 10.67 7.33 10 6.5 10S5 10.67 5 11.5 5.67 13 6.5 13 8 12.33 8 11.5M10 12.5C10 13.33 10.67 14 11.5 14C11.68 14 11.85 13.96 12 13.9L10.1 12C10.04 12.15 10 12.32 10 12.5M12.5 17.5C12.5 16.67 11.83 16 11 16S9.5 16.67 9.5 17.5 10.17 19 11 19 12.5 18.33 12.5 17.5Z\";\r\nexport var mdiCookieOffOutline = \"M8.93 5.73L7.45 4.25C8.79 3.46 10.34 3 12 3C12 3 13 3 13 4V6H14C14 6 15 6 15 7V8H17C17 8 18 8 18 9V10H20C20 10 20.6 10 20.87 10.5C20.96 11 21 11.5 21 12C21 13.66 20.54 15.22 19.75 16.55L18.28 15.08C18.74 14.15 19 13.11 19 12H17.5C16.67 12 16 11.33 16 10.5V10H14.5C13.67 10 13 9.33 13 8.5V8H12.5C11.67 8 11 7.33 11 6.5V5.07C10.26 5.18 9.57 5.41 8.93 5.73M9.25 6.05L10.95 7.75C10.97 7.67 11 7.59 11 7.5C11 6.67 10.33 6 9.5 6C9.41 6 9.33 6.03 9.25 6.05M16.25 13.05L17.95 14.75C17.97 14.67 18 14.59 18 14.5C18 13.67 17.33 13 16.5 13C16.41 13 16.33 13.03 16.25 13.05M22.11 21.46L20.84 22.73L17.34 19.23C15.85 20.34 14 21 12 21C7.03 21 3 16.97 3 12C3 10 3.66 8.15 4.77 6.66L1.11 3L2.39 1.73L22.11 21.46M15.9 17.79L12 13.9C11.85 13.96 11.68 14 11.5 14C10.67 14 10 13.33 10 12.5C10 12.32 10.04 12.15 10.1 12L6.21 8.1C5.62 9 5.21 10 5.07 11.08C5.25 10.46 5.82 10 6.5 10C7.33 10 8 10.67 8 11.5S7.33 13 6.5 13C5.71 13 5.07 12.39 5 11.62C5 12.11 5 12.61 5.09 13.12C5.5 15.81 7.54 18.04 10.16 18.74C9.76 18.47 9.5 18 9.5 17.5C9.5 16.67 10.17 16 11 16S12.5 16.67 12.5 17.5C12.5 18.22 12 18.82 11.32 18.96C13.03 19.12 14.61 18.66 15.9 17.79Z\";\r\nexport var mdiCookieOutline = \"M20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12C3 16.97 7.03 21 12 21C16.97 21 21 16.97 21 12C21 11.5 20.96 11 20.87 10.5M11.32 18.96C12 18.82 12.5 18.22 12.5 17.5C12.5 16.67 11.83 16 11 16S9.5 16.67 9.5 17.5C9.5 18 9.76 18.47 10.16 18.74C7.54 18.04 5.5 15.81 5.09 13.12C5 12.61 5 12.11 5 11.62C5.07 12.39 5.71 13 6.5 13C7.33 13 8 12.33 8 11.5S7.33 10 6.5 10C5.82 10 5.25 10.46 5.07 11.08C5.47 8 7.91 5.5 11 5.07V6.5C11 7.33 11.67 8 12.5 8H13V8.5C13 9.33 13.67 10 14.5 10H16V10.5C16 11.33 16.67 12 17.5 12H19C19 16.08 15.5 19.36 11.32 18.96M9.5 9C8.67 9 8 8.33 8 7.5S8.67 6 9.5 6 11 6.67 11 7.5 10.33 9 9.5 9M13 12.5C13 13.33 12.33 14 11.5 14S10 13.33 10 12.5 10.67 11 11.5 11 13 11.67 13 12.5M18 14.5C18 15.33 17.33 16 16.5 16S15 15.33 15 14.5 15.67 13 16.5 13 18 13.67 18 14.5Z\";\r\nexport var mdiCookiePlus = \"M15 14.53C15 14.5 15 14.5 15 14.5C15 13.67 15.67 13 16.5 13C16.8 13 17.08 13.09 17.32 13.24C17.85 13.09 18.42 13 19 13C19.66 13 20.3 13.12 20.89 13.32C20.96 12.89 21 12.45 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.45 21 12.89 20.96 13.32 20.89C13.12 20.3 13 19.66 13 19C13 17.22 13.78 15.63 15 14.53M6.5 13C5.67 13 5 12.33 5 11.5S5.67 10 6.5 10 8 10.67 8 11.5 7.33 13 6.5 13M8 7.5C8 6.67 8.67 6 9.5 6S11 6.67 11 7.5 10.33 9 9.5 9 8 8.33 8 7.5M11 19C10.17 19 9.5 18.33 9.5 17.5S10.17 16 11 16 12.5 16.67 12.5 17.5 11.83 19 11 19M11.5 14C10.67 14 10 13.33 10 12.5S10.67 11 11.5 11 13 11.67 13 12.5 12.33 14 11.5 14M23 18V20H20V23H18V20H15V18H18V15H20V18H23Z\";\r\nexport var mdiCookiePlusOutline = \"M16.5 13C16.8 13 17.08 13.09 17.32 13.24C16.45 13.5 15.66 13.95 15 14.53C15 14.5 15 14.5 15 14.5C15 13.67 15.67 13 16.5 13M16 10V10.5C16 11.33 16.67 12 17.5 12H19C19 12.34 18.97 12.68 18.92 13C18.95 13 18.97 13 19 13C19.66 13 20.3 13.12 20.89 13.32C20.96 12.89 21 12.45 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.45 21 12.89 20.96 13.32 20.89C13.12 20.3 13 19.66 13 19C13 18.97 13 18.95 13 18.92C12.46 19 11.9 19 11.32 18.96C12 18.82 12.5 18.22 12.5 17.5C12.5 16.67 11.83 16 11 16S9.5 16.67 9.5 17.5C9.5 18 9.76 18.47 10.16 18.74C7.54 18.04 5.5 15.81 5.09 13.12C5 12.61 5 12.11 5 11.62C5.07 12.39 5.71 13 6.5 13C7.33 13 8 12.33 8 11.5S7.33 10 6.5 10C5.82 10 5.25 10.46 5.07 11.08C5.47 8 7.91 5.5 11 5.07V6.5C11 7.33 11.67 8 12.5 8H13V8.5C13 9.33 13.67 10 14.5 10H16M11.5 14C12.33 14 13 13.33 13 12.5S12.33 11 11.5 11 10 11.67 10 12.5 10.67 14 11.5 14M11 7.5C11 6.67 10.33 6 9.5 6S8 6.67 8 7.5 8.67 9 9.5 9 11 8.33 11 7.5M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiCookieRefresh = \"M11 16C11.53 16 12 16.28 12.26 16.69C13.04 14 15.54 12 18.5 12C19.38 12 20.21 12.18 21 12.5C21 12.33 21 12.17 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.17 21 12.33 21 12.5 21C12.19 20.24 12 19.44 12 18.61C11.74 18.85 11.39 19 11 19C10.17 19 9.5 18.33 9.5 17.5S10.17 16 11 16M13 12.5C13 13.33 12.33 14 11.5 14S10 13.33 10 12.5 10.67 11 11.5 11 13 11.67 13 12.5M6.5 13C5.67 13 5 12.33 5 11.5S5.67 10 6.5 10 8 10.67 8 11.5 7.33 13 6.5 13M8 7.5C8 6.67 8.67 6 9.5 6S11 6.67 11 7.5 10.33 9 9.5 9 8 8.33 8 7.5M18 18.5L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5S16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5S15.79 14.5 18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18Z\";\r\nexport var mdiCookieRefreshOutline = \"M13 12.5C13 13.33 12.33 14 11.5 14S10 13.33 10 12.5 10.67 11 11.5 11 13 11.67 13 12.5M11 7.5C11 6.67 10.33 6 9.5 6S8 6.67 8 7.5 8.67 9 9.5 9 11 8.33 11 7.5M15 10H16V10.5C16 11.33 16.67 12 17.5 12H19L19 12.03C19.69 12.09 20.36 12.24 21 12.5C21 12.33 21 12.17 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.17 21 12.33 21 12.5 21C12.24 20.36 12.09 19.69 12.03 19C11.8 19 11.56 19 11.32 18.96C11.59 18.9 11.81 18.76 12 18.58C12 18.55 12 18.53 12 18.5C12 17.87 12.1 17.27 12.26 16.69C12 16.28 11.53 16 11 16C10.17 16 9.5 16.67 9.5 17.5C9.5 18 9.76 18.47 10.16 18.74C7.54 18.04 5.5 15.81 5.09 13.12C5 12.61 5 12.11 5 11.62C5.07 12.39 5.71 13 6.5 13C7.33 13 8 12.33 8 11.5S7.33 10 6.5 10C5.82 10 5.25 10.46 5.07 11.08C5.47 8 7.91 5.5 11 5.07V6.5C11 7.33 11.67 8 12.5 8H13V8.5C13 9.33 13.67 10 14.5 10H15M22 18.5V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22Z\";\r\nexport var mdiCookieRemove = \"M16.5 13C16.8 13 17.08 13.09 17.32 13.24C17.85 13.09 18.42 13 19 13C19.66 13 20.3 13.12 20.89 13.32C20.96 12.89 21 12.45 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.45 21 12.89 20.96 13.32 20.89C13.12 20.3 13 19.66 13 19C13 17.22 13.78 15.63 15 14.53C15 14.5 15 14.5 15 14.5C15 13.67 15.67 13 16.5 13M6.5 13C5.67 13 5 12.33 5 11.5S5.67 10 6.5 10 8 10.67 8 11.5 7.33 13 6.5 13M8 7.5C8 6.67 8.67 6 9.5 6S11 6.67 11 7.5 10.33 9 9.5 9 8 8.33 8 7.5M11 19C10.17 19 9.5 18.33 9.5 17.5S10.17 16 11 16 12.5 16.67 12.5 17.5 11.83 19 11 19M11.5 14C10.67 14 10 13.33 10 12.5S10.67 11 11.5 11 13 11.67 13 12.5 12.33 14 11.5 14M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19Z\";\r\nexport var mdiCookieRemoveOutline = \"M17.32 13.24C16.45 13.5 15.66 13.95 15 14.53C15 14.5 15 14.5 15 14.5C15 13.67 15.67 13 16.5 13C16.8 13 17.08 13.09 17.32 13.24M16 10V10.5C16 11.33 16.67 12 17.5 12H19C19 12.34 18.97 12.68 18.92 13C18.95 13 18.97 13 19 13C19.66 13 20.3 13.12 20.89 13.32C20.96 12.89 21 12.45 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.45 21 12.89 20.96 13.32 20.89C13.12 20.3 13 19.66 13 19C13 18.97 13 18.95 13 18.92C12.46 19 11.9 19 11.32 18.96C12 18.82 12.5 18.22 12.5 17.5C12.5 16.67 11.83 16 11 16S9.5 16.67 9.5 17.5C9.5 18 9.76 18.47 10.16 18.74C7.54 18.04 5.5 15.81 5.09 13.12C5 12.61 5 12.11 5 11.62C5.07 12.39 5.71 13 6.5 13C7.33 13 8 12.33 8 11.5S7.33 10 6.5 10C5.82 10 5.25 10.46 5.07 11.08C5.47 8 7.91 5.5 11 5.07V6.5C11 7.33 11.67 8 12.5 8H13V8.5C13 9.33 13.67 10 14.5 10H16M11 7.5C11 6.67 10.33 6 9.5 6S8 6.67 8 7.5 8.67 9 9.5 9 11 8.33 11 7.5M11.5 14C12.33 14 13 13.33 13 12.5S12.33 11 11.5 11 10 11.67 10 12.5 10.67 14 11.5 14M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiCookieSettings = \"M20.87 9.5C20.6 9 20 9 20 9H18V8C18 7 17 7 17 7H15V6C15 5 14 5 14 5H13V3C13 2 12 2 12 2C7.03 2 3 6.03 3 11S7.03 20 12 20 21 15.97 21 11C21 10.5 20.96 10 20.87 9.5M6.5 12C5.67 12 5 11.33 5 10.5S5.67 9 6.5 9 8 9.67 8 10.5 7.33 12 6.5 12M8 6.5C8 5.67 8.67 5 9.5 5S11 5.67 11 6.5 10.33 8 9.5 8 8 7.33 8 6.5M11 18C10.17 18 9.5 17.33 9.5 16.5S10.17 15 11 15 12.5 15.67 12.5 16.5 11.83 18 11 18M11.5 13C10.67 13 10 12.33 10 11.5S10.67 10 11.5 10 13 10.67 13 11.5 12.33 13 11.5 13M16.5 15C15.67 15 15 14.33 15 13.5S15.67 12 16.5 12 18 12.67 18 13.5 17.33 15 16.5 15M7 22H9V24H7V22M11 22H13V24H11V22M15 22H17V24H15V22Z\";\r\nexport var mdiCookieSettingsOutline = \"M13 11.5C13 12.33 12.33 13 11.5 13S10 12.33 10 11.5 10.67 10 11.5 10 13 10.67 13 11.5M11 6.5C11 5.67 10.33 5 9.5 5S8 5.67 8 6.5 8.67 8 9.5 8 11 7.33 11 6.5M21 11C21 15.97 16.97 20 12 20S3 15.97 3 11 7.03 2 12 2C12 2 13 2 13 3V5H14C14 5 15 5 15 6V7H17C17 7 18 7 18 8V9H20C20 9 20.6 9 20.87 9.5C20.96 10 21 10.5 21 11M19 11H17.5C16.67 11 16 10.33 16 9.5V9H14.5C13.67 9 13 8.33 13 7.5V7H12.5C11.67 7 11 6.33 11 5.5V4.07C7.91 4.5 5.47 7 5.07 10.08C5.25 9.46 5.82 9 6.5 9C7.33 9 8 9.67 8 10.5S7.33 12 6.5 12C5.71 12 5.07 11.39 5 10.62C5 11.11 5 11.61 5.09 12.12C5.5 14.81 7.54 17.04 10.16 17.74C9.76 17.47 9.5 17 9.5 16.5C9.5 15.67 10.17 15 11 15S12.5 15.67 12.5 16.5C12.5 17.22 12 17.82 11.32 17.96C15.5 18.36 19 15.08 19 11M16.5 12C15.67 12 15 12.67 15 13.5S15.67 15 16.5 15 18 14.33 18 13.5 17.33 12 16.5 12M7 24H9V22H7V24M15 24H17V22H15V24M11 24H13V22H11V24Z\";\r\nexport var mdiCoolantTemperature = \"M11.5,1A1.5,1.5 0 0,0 10,2.5V14.5C9.37,14.97 9,15.71 9,16.5A2.5,2.5 0 0,0 11.5,19A2.5,2.5 0 0,0 14,16.5C14,15.71 13.63,15 13,14.5V13H17V11H13V9H17V7H13V5H17V3H13V2.5A1.5,1.5 0 0,0 11.5,1M0,15V17C0.67,17 0.79,17.21 1.29,17.71C1.79,18.21 2.67,19 4,19C5.33,19 6.21,18.21 6.71,17.71C6.82,17.59 6.91,17.5 7,17.41V15.16C6.21,15.42 5.65,15.93 5.29,16.29C4.79,16.79 4.67,17 4,17C3.33,17 3.21,16.79 2.71,16.29C2.21,15.79 1.33,15 0,15M16,15V17C16.67,17 16.79,17.21 17.29,17.71C17.79,18.21 18.67,19 20,19C21.33,19 22.21,18.21 22.71,17.71C23.21,17.21 23.33,17 24,17V15C22.67,15 21.79,15.79 21.29,16.29C20.79,16.79 20.67,17 20,17C19.33,17 19.21,16.79 18.71,16.29C18.21,15.79 17.33,15 16,15M8,20C6.67,20 5.79,20.79 5.29,21.29C4.79,21.79 4.67,22 4,22C3.33,22 3.21,21.79 2.71,21.29C2.35,20.93 1.79,20.42 1,20.16V22.41C1.09,22.5 1.18,22.59 1.29,22.71C1.79,23.21 2.67,24 4,24C5.33,24 6.21,23.21 6.71,22.71C7.21,22.21 7.33,22 8,22C8.67,22 8.79,22.21 9.29,22.71C9.73,23.14 10.44,23.8 11.5,23.96C11.66,24 11.83,24 12,24C13.33,24 14.21,23.21 14.71,22.71C15.21,22.21 15.33,22 16,22C16.67,22 16.79,22.21 17.29,22.71C17.79,23.21 18.67,24 20,24C21.33,24 22.21,23.21 22.71,22.71C22.82,22.59 22.91,22.5 23,22.41V20.16C22.21,20.42 21.65,20.93 21.29,21.29C20.79,21.79 20.67,22 20,22C19.33,22 19.21,21.79 18.71,21.29C18.21,20.79 17.33,20 16,20C14.67,20 13.79,20.79 13.29,21.29C12.79,21.79 12.67,22 12,22C11.78,22 11.63,21.97 11.5,21.92C11.22,21.82 11.05,21.63 10.71,21.29C10.21,20.79 9.33,20 8,20Z\";\r\nexport var mdiCopyright = \"M10.08,10.86C10.13,10.53 10.24,10.24 10.38,10C10.5,9.74 10.72,9.53 10.97,9.37C11.21,9.22 11.5,9.15 11.88,9.14C12.11,9.15 12.32,9.19 12.5,9.27C12.71,9.36 12.89,9.5 13.03,9.63C13.17,9.78 13.28,9.96 13.37,10.16C13.46,10.36 13.5,10.58 13.5,10.8H15.3C15.28,10.33 15.19,9.9 15,9.5C14.85,9.12 14.62,8.78 14.32,8.5C14,8.22 13.66,8 13.24,7.84C12.82,7.68 12.36,7.61 11.85,7.61C11.2,7.61 10.63,7.72 10.15,7.95C9.67,8.18 9.27,8.5 8.95,8.87C8.63,9.26 8.39,9.71 8.24,10.23C8.09,10.75 8,11.29 8,11.87V12.14C8,12.72 8.08,13.26 8.23,13.78C8.38,14.3 8.62,14.75 8.94,15.13C9.26,15.5 9.66,15.82 10.14,16.04C10.62,16.26 11.19,16.38 11.84,16.38C12.31,16.38 12.75,16.3 13.16,16.15C13.57,16 13.93,15.79 14.24,15.5C14.55,15.25 14.8,14.94 15,14.58C15.16,14.22 15.27,13.84 15.28,13.43H13.5C13.5,13.64 13.43,13.83 13.34,14C13.25,14.19 13.13,14.34 13,14.47C12.83,14.6 12.66,14.7 12.46,14.77C12.27,14.84 12.07,14.86 11.86,14.87C11.5,14.86 11.2,14.79 10.97,14.64C10.72,14.5 10.5,14.27 10.38,14C10.24,13.77 10.13,13.47 10.08,13.14C10.03,12.81 10,12.47 10,12.14V11.87C10,11.5 10.03,11.19 10.08,10.86M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20Z\";\r\nexport var mdiCordova = \"M20.18,21.55H16.94L17.17,18.82H15.58L15.35,21.55H8.65L8.42,18.82H6.83L7.06,21.55H3.82L2,9.73L6.55,2.45H17.45L22,9.73L20.18,21.55M16.55,6.09H13.62L13.82,7.45H10.18L10.38,6.09H7.45L5.64,9.73L6.55,17H17.45L18.36,9.73L16.55,6.09M14.95,14.59C14.7,14.59 14.5,13.83 14.5,12.9C14.5,11.96 14.7,11.2 14.95,11.2C15.21,11.2 15.41,11.96 15.41,12.9C15.41,13.83 15.21,14.59 14.95,14.59M9.22,14.73C8.96,14.73 8.76,13.97 8.76,13.04C8.76,12.1 8.96,11.35 9.22,11.35C9.47,11.35 9.67,12.1 9.67,13.04C9.67,13.97 9.47,14.73 9.22,14.73Z\";\r\nexport var mdiCorn = \"M11,12H8.82C9.62,12.5 10.35,13.07 11,13.68V12M7,11C7.27,5.88 9.37,2 12,2C14.66,2 16.77,5.94 17,11.12C18.5,10.43 20.17,10 22,10C16.25,12.57 18.25,22 12,22C6,22 7.93,12.57 2,10C3.82,10 5.5,10.4 7,11M11,11V9H8.24L8.03,11H11M11,8V6H9.05C8.8,6.6 8.6,7.27 8.43,8H11M11,5V3.3C10.45,3.63 9.95,4.22 9.5,5H11M12,3V5H13V6H12V8H14V9H12V11H15V12H12V14H14V15H12.23C13.42,16.45 14.15,18 14.32,19.23C15.31,17.56 15.96,14.84 16,11.76C15.94,7 14.13,3 12,3Z\";\r\nexport var mdiCornOff = \"M22.1 21.5L2.4 1.7L1.1 3L7.2 9.1C7.1 9.7 7 10.3 7 11C5.5 10.4 3.8 10 2 10C7.9 12.6 6 22 12 22C14.5 22 15.7 20.5 16.6 18.5L20.9 22.8L22.1 21.5M8.1 10L9.1 11H8L8.1 10M8.8 12H10.1L11 12.9V13.7C10.3 13.1 9.6 12.5 8.8 12M14.3 19.2C14.1 18 13.4 16.4 12.2 15H13.1L15.2 17.1C15 17.9 14.7 18.6 14.3 19.2M11 6V7.8L12.2 9H14V8H12V6H13V5H12V3C14.1 3 15.9 7 16 11.8V12.8L18 14.8C18.8 12.8 19.9 10.9 22 10C20.2 10 18.5 10.4 17 11.1C16.8 5.9 14.7 2 12 2C10.5 2 9.2 3.2 8.3 5.1L9.2 6H11M11 3.3V5H9.5C10 4.2 10.5 3.6 11 3.3M15 11.8L14.2 11H15V11.8Z\";\r\nexport var mdiCosineWave = \"M22 2V4C20.26 4 19 8.58 17.96 12.27C16.57 17.27 15.26 22 12 22C8.74 22 7.43 17.27 6.04 12.27C5 8.58 3.74 4 2 4V2C5.26 2 6.57 6.73 7.96 11.73C9 15.42 10.26 20 12 20C13.74 20 15 15.42 16.04 11.73C17.43 6.73 18.74 2 22 2Z\";\r\nexport var mdiCounter = \"M4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4M4,6V18H11V6H4M20,18V6H18.76C19,6.54 18.95,7.07 18.95,7.13C18.88,7.8 18.41,8.5 18.24,8.75L15.91,11.3L19.23,11.28L19.24,12.5L14.04,12.47L14,11.47C14,11.47 17.05,8.24 17.2,7.95C17.34,7.67 17.91,6 16.5,6C15.27,6.05 15.41,7.3 15.41,7.3L13.87,7.31C13.87,7.31 13.88,6.65 14.25,6H13V18H15.58L15.57,17.14L16.54,17.13C16.54,17.13 17.45,16.97 17.46,16.08C17.5,15.08 16.65,15.08 16.5,15.08C16.37,15.08 15.43,15.13 15.43,15.95H13.91C13.91,15.95 13.95,13.89 16.5,13.89C19.1,13.89 18.96,15.91 18.96,15.91C18.96,15.91 19,17.16 17.85,17.63L18.37,18H20M8.92,16H7.42V10.2L5.62,10.76V9.53L8.76,8.41H8.92V16Z\";\r\nexport var mdiCountertop = \"M18 10V7C18 5.34 16.66 4 15 4S12 5.34 12 7H14C14 6.45 14.45 6 15 6S16 6.45 16 7V10H8C9.1 10 10 9.1 10 8V4H4V8C4 9.1 4.9 10 6 10H2V12H4V20H20V12H22V10H18M13 18H11V12H13V18Z\";\r\nexport var mdiCountertopOutline = \"M22 10H18V7C18 5.34 16.66 4 15 4S12 5.34 12 7H14C14 6.45 14.45 6 15 6S16 6.45 16 7V10H8C9.1 10 10 9.1 10 8V4H4V8C4 9.1 4.9 10 6 10H2V12H4V20H20V12H22V10M6 6H8V8H6V6M6 18V12H11V18H6M18 18H13V12H18V18Z\";\r\nexport var mdiCow = \"M10.5,18A0.5,0.5 0 0,1 11,18.5A0.5,0.5 0 0,1 10.5,19A0.5,0.5 0 0,1 10,18.5A0.5,0.5 0 0,1 10.5,18M13.5,18A0.5,0.5 0 0,1 14,18.5A0.5,0.5 0 0,1 13.5,19A0.5,0.5 0 0,1 13,18.5A0.5,0.5 0 0,1 13.5,18M10,11A1,1 0 0,1 11,12A1,1 0 0,1 10,13A1,1 0 0,1 9,12A1,1 0 0,1 10,11M14,11A1,1 0 0,1 15,12A1,1 0 0,1 14,13A1,1 0 0,1 13,12A1,1 0 0,1 14,11M18,18C18,20.21 15.31,22 12,22C8.69,22 6,20.21 6,18C6,17.1 6.45,16.27 7.2,15.6C6.45,14.6 6,13.35 6,12L6.12,10.78C5.58,10.93 4.93,10.93 4.4,10.78C3.38,10.5 1.84,9.35 2.07,8.55C2.3,7.75 4.21,7.6 5.23,7.9C5.82,8.07 6.45,8.5 6.82,8.96L7.39,8.15C6.79,7.05 7,4 10,3L9.91,3.14V3.14C9.63,3.58 8.91,4.97 9.67,6.47C10.39,6.17 11.17,6 12,6C12.83,6 13.61,6.17 14.33,6.47C15.09,4.97 14.37,3.58 14.09,3.14L14,3C17,4 17.21,7.05 16.61,8.15L17.18,8.96C17.55,8.5 18.18,8.07 18.77,7.9C19.79,7.6 21.7,7.75 21.93,8.55C22.16,9.35 20.62,10.5 19.6,10.78C19.07,10.93 18.42,10.93 17.88,10.78L18,12C18,13.35 17.55,14.6 16.8,15.6C17.55,16.27 18,17.1 18,18M12,16C9.79,16 8,16.9 8,18C8,19.1 9.79,20 12,20C14.21,20 16,19.1 16,18C16,16.9 14.21,16 12,16M12,14C13.12,14 14.17,14.21 15.07,14.56C15.65,13.87 16,13 16,12A4,4 0 0,0 12,8A4,4 0 0,0 8,12C8,13 8.35,13.87 8.93,14.56C9.83,14.21 10.88,14 12,14M14.09,3.14V3.14Z\";\r\nexport var mdiCpu32Bit = \"M9,3V5H7A2,2 0 0,0 5,7V9H3V11H5V13H3V15H5V17A2,2 0 0,0 7,19H9V21H11V19H13V21H15V19H17A2,2 0 0,0 19,17V15H21V13H19V11H21V9H19V7A2,2 0 0,0 17,5H15V3H13V5H11V3M7,9H10.5A1,1 0 0,1 11.5,10V14A1,1 0 0,1 10.5,15H7V13.5H10V12.75H8.5V11.25H10V10.5H7M12.5,9H16A1,1 0 0,1 17,10V11.75A1,1 0 0,1 16,12.75H14V13.5H17V15H12.5V12.25A1,1 0 0,1 13.5,11.25H15.5V10.5H12.5\";\r\nexport var mdiCpu64Bit = \"M9,3V5H7A2,2 0 0,0 5,7V9H3V11H5V13H3V15H5V17A2,2 0 0,0 7,19H9V21H11V19H13V21H15V19H17A2,2 0 0,0 19,17V15H21V13H19V11H21V9H19V7A2,2 0 0,0 17,5H15V3H13V5H11V3M8,9H11.5V10.5H8.5V11.25H10.5A1,1 0 0,1 11.5,12.25V14A1,1 0 0,1 10.5,15H8A1,1 0 0,1 7,14V10A1,1 0 0,1 8,9M12.5,9H14V11H15.5V9H17V15H15.5V12.5H12.5M8.5,12.75V13.5H10V12.75\";\r\nexport var mdiCrane = \"M20,6V5A1,1 0 0,0 19,4H9V3H6V4H5V6H6V15H5V13H3V15H2V17H3V21H5V17H10V21H12V19.92L12,17H13V15H12V13H10V15H9V6H17V10.62C16.53,10.79 16.19,11.23 16.19,11.76C16.19,12.2 16.43,12.6 16.8,12.82V14H17.42C17.76,14 18.03,14.28 18.03,14.62C18.03,14.96 17.76,15.24 17.42,15.24C17.2,15.24 17,15.12 16.89,14.93C16.71,14.64 16.34,14.54 16.05,14.71C15.75,14.87 15.65,15.25 15.82,15.55C16.15,16.11 16.76,16.47 17.42,16.47C18.43,16.47 19.26,15.64 19.26,14.62C19.26,13.84 18.76,13.14 18.03,12.88V12.82C18.41,12.6 18.65,12.2 18.65,11.76C18.65,11.3 18.38,10.91 18,10.7V6H20M8,13.66L7,14.66V13.24L8,12.24V13.66M8,10.71L7,11.71V10.29L8,9.29V10.71M7,8.71V7.29L8,6.29V7.71L7,8.71Z\";\r\nexport var mdiCreation = \"M19,1L17.74,3.75L15,5L17.74,6.26L19,9L20.25,6.26L23,5L20.25,3.75M9,4L6.5,9.5L1,12L6.5,14.5L9,20L11.5,14.5L17,12L11.5,9.5M19,15L17.74,17.74L15,19L17.74,20.25L19,23L20.25,20.25L23,19L20.25,17.74\";\r\nexport var mdiCreativeCommons = \"M11.89,10.34L10.55,11.04C10.41,10.74 10.24,10.53 10.03,10.41C9.82,10.29 9.62,10.23 9.45,10.23C8.55,10.23 8.11,10.82 8.11,12C8.11,12.54 8.22,12.97 8.45,13.29C8.67,13.61 9,13.77 9.45,13.77C10.03,13.77 10.44,13.5 10.68,12.91L11.91,13.54C11.65,14.03 11.29,14.41 10.82,14.69C10.36,14.97 9.85,15.11 9.29,15.11C8.39,15.11 7.67,14.84 7.12,14.29C6.58,13.74 6.3,13 6.3,12C6.3,11.05 6.58,10.3 7.13,9.74C7.69,9.18 8.39,8.9 9.23,8.9C10.47,8.89 11.36,9.38 11.89,10.34M17.66,10.34L16.34,11.04C16.2,10.74 16,10.53 15.81,10.41C15.6,10.29 15.4,10.23 15.21,10.23C14.32,10.23 13.87,10.82 13.87,12C13.87,12.54 14,12.97 14.21,13.29C14.44,13.61 14.77,13.77 15.21,13.77C15.8,13.77 16.21,13.5 16.45,12.91L17.7,13.54C17.42,14.03 17.05,14.41 16.59,14.69C16.12,14.97 15.62,15.11 15.07,15.11C14.17,15.11 13.44,14.84 12.9,14.29C12.36,13.74 12.09,13 12.09,12C12.09,11.05 12.37,10.3 12.92,9.74C13.47,9.18 14.17,8.9 15,8.9C16.26,8.89 17.14,9.38 17.66,10.34M12,3.5A8.5,8.5 0 0,1 20.5,12A8.5,8.5 0 0,1 12,20.5A8.5,8.5 0 0,1 3.5,12A8.5,8.5 0 0,1 12,3.5M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiCreditCard = \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M20 11H4V8H20Z\";\r\nexport var mdiCreditCardCheck = \"M20 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.03 19.67 13 19.34 13 19C13 15.69 15.69 13 19 13C20.06 13 21.09 13.28 22 13.81V6C22 4.89 21.11 4 20 4M20 11H4V8H20M17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25L17.75 22\";\r\nexport var mdiCreditCardCheckOutline = \"M13 19C13 18.66 13.04 18.33 13.09 18H3V12H19V13C19.7 13 20.37 13.13 21 13.35V6C21 4.89 20.11 4 19 4H3C1.89 4 1 4.89 1 6V18C1 19.1 1.89 20 3 20H13.09C13.04 19.67 13 19.34 13 19M3 6H19V8H3V6M17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25L17.75 22\";\r\nexport var mdiCreditCardClock = \"M16,14H17.5V16.82L19.94,18.23L19.19,19.53L16,17.69V14M24,17A7,7 0 0,1 17,24C14.21,24 11.8,22.36 10.67,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H20A2,2 0 0,1 22,6V12.1C23.24,13.36 24,15.09 24,17M17,12A5,5 0 0,0 12,17A5,5 0 0,0 17,22A5,5 0 0,0 22,17A5,5 0 0,0 17,12M20,10V7H4V10H20Z\";\r\nexport var mdiCreditCardClockOutline = \"M16,14H17.5V16.82L19.94,18.23L19.19,19.53L16,17.69V14M24,17A7,7 0 0,1 17,24C14.21,24 11.8,22.36 10.67,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H20A2,2 0 0,1 22,6V12.1C23.24,13.36 24,15.09 24,17M10,17C10,15.04 10.81,13.27 12.1,12H4V18H10.07C10,17.67 10,17.34 10,17M17,12A5,5 0 0,0 12,17A5,5 0 0,0 17,22A5,5 0 0,0 22,17A5,5 0 0,0 17,12M20,8V6H4V8H20Z\";\r\nexport var mdiCreditCardEdit = \"M20.6 11.3C20.7 11.2 20.8 11.1 21 11.1C21.1 11.1 21.3 11.2 21.4 11.3L22.6 12.5C22.8 12.7 22.8 13.1 22.6 13.3L21.6 14.3L19.6 12.3L20.6 11.3M13 18.9L19 12.8L21.1 14.9L15.1 21H13V18.9M11 19.1V18.1L11.6 17.5L18.1 11H4V8H20V9.1L22 7.1V6C22 4.9 21.1 4 20 4H4C3.5 4 3 4.2 2.6 4.6C2.2 5 2 5.5 2 6V18C2 18.5 2.2 19 2.6 19.4C3 19.8 3.5 20 4 20H11V19.1Z\";\r\nexport var mdiCreditCardEditOutline = \"M13 18.9L19.1 12.8L21.2 14.9L15.1 21H13V18.9M21.4 11.3L22.7 12.6C22.9 12.8 22.9 13.1 22.7 13.3L21.7 14.3L19.6 12.3L20.6 11.3C20.7 11.2 20.8 11.1 21 11.1C21.2 11.1 21.3 11.2 21.4 11.3M11 18H4V12H17.1L22 7.1V6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H11V18M4 6H20V8H4V6Z\";\r\nexport var mdiCreditCardMarker = \"M18.5 12C16.6 12 15 13.6 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5C22 13.6 20.4 12 18.5 12M18.5 16.8C17.8 16.8 17.3 16.2 17.3 15.6C17.3 14.9 17.9 14.4 18.5 14.4S19.7 15 19.7 15.6C19.8 16.2 19.2 16.8 18.5 16.8M14.55 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H20C21.11 4 22 4.89 22 6V11.3C21.42 10.81 20.74 10.44 20 10.22V8H4V11H15.39C13.96 12 13 13.66 13 15.5C13 17 13.72 18.61 14.55 20Z\";\r\nexport var mdiCreditCardMarkerOutline = \"M13.5,18H4V12H14.3C15.3,10.8 16.8,10 18.5,10C19.8,10 21,10.5 22,11.3V6A2,2 0 0,0 20,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H14.6C14.2,19.4 13.8,18.7 13.5,18M4,6H20V8H4V6M18.5,12C16.6,12 15,13.6 15,15.5C15,18.1 18.5,22 18.5,22C18.5,22 22,18.1 22,15.5C22,13.6 20.4,12 18.5,12M18.5,16.8C17.8,16.8 17.3,16.2 17.3,15.6C17.3,14.9 17.9,14.4 18.5,14.4C19.1,14.4 19.7,15 19.7,15.6C19.8,16.2 19.2,16.8 18.5,16.8Z\";\r\nexport var mdiCreditCardMinus = \"M20 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.03 19.67 13 19.34 13 19C13 15.69 15.69 13 19 13C20.06 13 21.09 13.28 22 13.81V6C22 4.89 21.11 4 20 4M20 11H4V8H20M23 18V20H15V18H23Z\";\r\nexport var mdiCreditCardMinusOutline = \"M24 18V20H16V18M19 8V6H3V8H19M19 12H3V18H14V20H3C1.89 20 1 19.1 1 18V6C1 4.89 1.89 4 3 4H19C20.11 4 21 4.89 21 6V13H19V12Z\";\r\nexport var mdiCreditCardMultiple = \"M21 9V6H7V9H21M21 3A2 2 0 0 1 23 5V15A2 2 0 0 1 21 17H7A2 2 0 0 1 5 15V5A2 2 0 0 1 7 3H21M3 19H18V21H3A2 2 0 0 1 1 19V8H3Z\";\r\nexport var mdiCreditCardMultipleOutline = \"M21,8V6H7V8H21M21,16V11H7V16H21M21,4A2,2 0 0,1 23,6V16A2,2 0 0,1 21,18H7C5.89,18 5,17.1 5,16V6C5,4.89 5.89,4 7,4H21M3,20H18V22H3A2,2 0 0,1 1,20V9H3V20Z\";\r\nexport var mdiCreditCardOff = \"M11.2 8L7.2 4H20A2 2 0 0 1 22 6V18A1.91 1.91 0 0 1 21.88 18.68L14.2 11H20V8M20.84 22.73L18.11 20H4A2 2 0 0 1 2 18V6A2 2 0 0 1 2.65 4.54L1.11 3L2.39 1.73L22.11 21.46M9.11 11L6.11 8H4V11Z\";\r\nexport var mdiCreditCardOffOutline = \"M0.93,4.2L2.21,2.93L20,20.72L18.73,22L16.73,20H4C2.89,20 2,19.1 2,18V6C2,5.78 2.04,5.57 2.11,5.38L0.93,4.2M20,8V6H7.82L5.82,4H20A2,2 0 0,1 22,6V18C22,18.6 21.74,19.13 21.32,19.5L19.82,18H20V12H13.82L9.82,8H20M4,8H4.73L4,7.27V8M4,12V18H14.73L8.73,12H4Z\";\r\nexport var mdiCreditCardOutline = \"M20,8H4V6H20M20,18H4V12H20M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\";\r\nexport var mdiCreditCardPlus = \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H13.09A5.47 5.47 0 0 1 13 19A6 6 0 0 1 19 13A5.88 5.88 0 0 1 22 13.81V6A2 2 0 0 0 20 4M20 11H4V8H20M20 15V18H23V20H20V23H18V20H15V18H18V15Z\";\r\nexport var mdiCreditCardPlusOutline = \"M21,18H24V20H21V23H19V20H16V18H19V15H21V18M19,8V6H3V8H19M19,12H3V18H14V20H3C1.89,20 1,19.1 1,18V6C1,4.89 1.89,4 3,4H19A2,2 0 0,1 21,6V13H19V12Z\";\r\nexport var mdiCreditCardRefresh = \"M20 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H11.68C11.57 19.5 11.5 19 11.5 18.5C11.5 14.91 14.41 12 18 12C19.5 12 20.9 12.53 22 13.4V6C22 4.89 21.11 4 20 4M20 11H4V8H20V11M20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5S16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5S15.79 14.5 18 14.5C19.11 14.5 20.11 14.95 20.83 15.67Z\";\r\nexport var mdiCreditCardRefreshOutline = \"M20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H11.68C11.57 19.5 11.5 19 11.5 18.5C11.5 18.33 11.5 18.17 11.53 18H4V12H20V12.32C20.74 12.56 21.41 12.93 22 13.4V6C22 4.89 21.1 4 20 4M20 8H4V6H20V8M20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5S16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5S15.79 14.5 18 14.5C19.11 14.5 20.11 14.95 20.83 15.67Z\";\r\nexport var mdiCreditCardRefund = \"M18 11H6A2 2 0 0 0 4 13V21A2 2 0 0 0 6 23H18A2 2 0 0 0 20 21V13A2 2 0 0 0 18 11M18 17H6V14H18M17 5V10H15.5V6.5H9.88L12.3 8.93L11.24 10L7 5.75L11.24 1.5L12.3 2.57L9.88 5Z\";\r\nexport var mdiCreditCardRefundOutline = \"M18,11H6A2,2 0 0,0 4,13V21A2,2 0 0,0 6,23H18A2,2 0 0,0 20,21V13A2,2 0 0,0 18,11M18,21H6V17H18V21M18,15H6V13H18V15M17,5V10H15.5V6.5H9.88L12.3,8.93L11.24,10L7,5.75L11.24,1.5L12.3,2.57L9.88,5H17Z\";\r\nexport var mdiCreditCardRemove = \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H13.09A5.47 5.47 0 0 1 13 19A6 6 0 0 1 19 13A5.88 5.88 0 0 1 22 13.81V6A2 2 0 0 0 20 4M20 11H4V8H20M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.46 21.12L17.59 19L15.46 16.88L16.88 15.46L19 17.59L21.12 15.46Z\";\r\nexport var mdiCreditCardRemoveOutline = \"M13 19C13 18.66 13.04 18.33 13.09 18H3V12H19V13C19.7 13 20.37 13.13 21 13.35V6C21 4.89 20.11 4 19 4H3C1.89 4 1 4.89 1 6V18C1 19.1 1.89 20 3 20H13.09C13.04 19.67 13 19.34 13 19M3 6H19V8H3V6M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.46L22.54 16.88Z\";\r\nexport var mdiCreditCardScan = \"M18 6H6A2 2 0 0 0 4 8V16A2 2 0 0 0 6 18H18A2 2 0 0 0 20 16V8A2 2 0 0 0 18 6M18 12H6V9H18M2 4H6V2H2A2 2 0 0 0 0 4V8H2V4M22 2H18V4H22V8H24V4A2 2 0 0 0 22 2M2 16H0V20A2 2 0 0 0 2 22H6V20H2V16M22 20H18V22H22A2 2 0 0 0 24 20V16H22V20\";\r\nexport var mdiCreditCardScanOutline = \"M2,4H6V2H2A2,2 0 0,0 0,4V8H2V4M22,2H18V4H22V8H24V4A2,2 0 0,0 22,2M2,16H0V20A2,2 0 0,0 2,22H6V20H2V16M22,20H18V22H22A2,2 0 0,0 24,20V16H22V20M4,8V16A2,2 0 0,0 6,18H18A2,2 0 0,0 20,16V8A2,2 0 0,0 18,6H6A2,2 0 0,0 4,8M6,16V12H18V16H6M18,8V10H6V8H18Z\";\r\nexport var mdiCreditCardSearch = \"M11.82 11C9.4 13.5 9.4 17.5 11.82 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H20C21.11 4 22 4.89 22 6V12.06C21.74 11.65 21.45 11.26 21.1 10.9C20.76 10.57 20.39 10.27 20 10.03V8H4V11H11.82M23.39 21L22 22.39L18.88 19.32C18.19 19.75 17.37 20 16.5 20C14 20 12 18 12 15.5S14 11 16.5 11 21 13 21 15.5C21 16.38 20.75 17.21 20.31 17.9L23.39 21M19 15.5C19 14.12 17.88 13 16.5 13S14 14.12 14 15.5 15.12 18 16.5 18 19 16.88 19 15.5Z\";\r\nexport var mdiCreditCardSearchOutline = \"M11.03 12C11.28 11.61 11.57 11.24 11.9 10.9C14.44 8.37 18.56 8.37 21.1 10.9C21.45 11.26 21.74 11.65 22 12.06V6C22 4.89 21.1 4 20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H11.82C11.24 19.4 10.8 18.72 10.5 18H4V12H11.03M4 6H20V8H4V6M20.31 17.9C20.75 17.21 21 16.38 21 15.5C21 13 19 11 16.5 11S12 13 12 15.5 14 20 16.5 20C17.37 20 18.19 19.75 18.88 19.32L22 22.39L23.39 21L20.31 17.9M16.5 18C15.12 18 14 16.88 14 15.5S15.12 13 16.5 13 19 14.12 19 15.5 17.88 18 16.5 18Z\";\r\nexport var mdiCreditCardSettings = \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M20 11H4V8H20M7 22H9V24H7V22M11 22H13V24H11V22M15 22H17V24H15Z\";\r\nexport var mdiCreditCardSettingsOutline = \"M20,8H4V6H20M20,18H4V12H20M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22Z\";\r\nexport var mdiCreditCardSync = \"M13 17.5C13 18.39 13.18 19.23 13.5 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H20C21.11 4 22 4.89 22 6V11.5C21.23 11.18 20.39 11 19.5 11H20V8H4V11H19.5C15.91 11 13 13.91 13 17.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5Z\";\r\nexport var mdiCreditCardSyncOutline = \"M4 18V12H16.05C17.05 11.37 18.23 11 19.5 11C20.39 11 21.23 11.18 22 11.5V6C22 4.89 21.1 4 20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.5C13.24 19.38 13.08 18.7 13.03 18H4M4 6H20V8H4V6M23 17.5C23 18.32 22.75 19.08 22.33 19.71L21.24 18.62C21.41 18.28 21.5 17.9 21.5 17.5C21.5 16.12 20.38 15 19 15V16.5L16.75 14.25L19 12V13.5C21.21 13.5 23 15.29 23 17.5M19 18.5L21.25 20.75L19 23V21.5C16.79 21.5 15 19.71 15 17.5C15 16.68 15.25 15.92 15.67 15.29L16.76 16.38C16.59 16.72 16.5 17.1 16.5 17.5C16.5 18.88 17.62 20 19 20V18.5Z\";\r\nexport var mdiCreditCardWireless = \"M4.93 4.92L6.34 6.33C9.46 3.2 14.53 3.2 17.66 6.33L19.07 4.92C15.17 1 8.84 1 4.93 4.92M7.76 7.75L9.17 9.16C10.73 7.6 13.26 7.6 14.83 9.16L16.24 7.75C13.9 5.41 10.1 5.41 7.76 7.75M18 11H6C4.89 11 4 11.9 4 13V21C4 22.11 4.89 23 6 23H18C19.11 23 20 22.11 20 21V13C20 11.9 19.11 11 18 11M18 17H6V14H18V17Z\";\r\nexport var mdiCreditCardWirelessOff = \"M12 2C9.85 2 7.7 2.69 5.9 4.08L7.32 5.5C10.45 3.24 14.84 3.5 17.66 6.33L19.07 4.92C17.12 2.96 14.56 2 12 2M3.28 4L2 5.27L7.73 11H6C4.89 11 4 11.9 4 13V21C4 22.11 4.89 23 6 23H18C18.5 23 18.92 22.82 19.27 22.54L19.73 23L21 21.72M12 6C10.87 6 9.75 6.31 8.77 6.94L10.24 8.41C11.73 7.68 13.58 7.92 14.83 9.16L16.24 7.75C15.07 6.58 13.54 6 12 6M12.82 11L15.82 14H18V16.18L20 18.18V13C20 11.9 19.11 11 18 11M6 14H10.73L13.73 17H6Z\";\r\nexport var mdiCreditCardWirelessOffOutline = \"M12 2C9.85 2 7.7 2.69 5.9 4.08L7.32 5.5C10.45 3.24 14.84 3.5 17.66 6.33L19.07 4.92C17.12 2.96 14.56 2 12 2M3.28 4L2 5.27L7.73 11H6C4.89 11 4 11.9 4 13V21C4 22.11 4.89 23 6 23H18C18.47 23 18.92 22.84 19.27 22.54L19.73 23L21 21.72M12 6C10.87 6 9.75 6.31 8.77 6.94L10.24 8.41C11.73 7.68 13.58 7.92 14.83 9.16L16.24 7.75C15.07 6.58 13.54 6 12 6M12.82 11L14.82 13H18V15H16.82L20 18.18V13C20 11.9 19.11 11 18 11M6 13H9.73L11.73 15H6M6 17H13.73L17.73 21H6Z\";\r\nexport var mdiCreditCardWirelessOutline = \"M18,11H6A2,2 0 0,0 4,13V21A2,2 0 0,0 6,23H18A2,2 0 0,0 20,21V13A2,2 0 0,0 18,11M18,21H6V17H18V21M18,15H6V13H18V15M4.93,4.92L6.34,6.33C9.46,3.2 14.53,3.2 17.66,6.33L19.07,4.92C15.17,1 8.84,1 4.93,4.92M7.76,7.75L9.17,9.16C10.73,7.6 13.26,7.6 14.83,9.16L16.24,7.75C13.9,5.41 10.1,5.41 7.76,7.75Z\";\r\nexport var mdiCricket = \"M14.34,17.77L15.75,16.36L20,20.58L18.56,22L14.34,17.77M18.5,2A3.5,3.5 0 0,1 22,5.5A3.5,3.5 0 0,1 18.5,9A3.5,3.5 0 0,1 15,5.5A3.5,3.5 0 0,1 18.5,2M2.24,7.11L5.07,4.28C5.46,3.89 6.09,3.89 6.5,4.28L14.97,12.77C15.36,13.16 15.36,13.79 14.97,14.18L12.14,17C11.75,17.4 11.12,17.4 10.72,17L2.24,8.53C1.85,8.13 1.85,7.5 2.24,7.11Z\";\r\nexport var mdiCrop = \"M7,17V1H5V5H1V7H5V17A2,2 0 0,0 7,19H17V23H19V19H23V17M17,15H19V7C19,5.89 18.1,5 17,5H9V7H17V15Z\";\r\nexport var mdiCropFree = \"M19,3H15V5H19V9H21V5C21,3.89 20.1,3 19,3M19,19H15V21H19A2,2 0 0,0 21,19V15H19M5,15H3V19A2,2 0 0,0 5,21H9V19H5M3,5V9H5V5H9V3H5A2,2 0 0,0 3,5Z\";\r\nexport var mdiCropLandscape = \"M19,17H5V7H19M19,5H5A2,2 0 0,0 3,7V17A2,2 0 0,0 5,19H19A2,2 0 0,0 21,17V7C21,5.89 20.1,5 19,5Z\";\r\nexport var mdiCropPortrait = \"M17,19H7V5H17M17,3H7A2,2 0 0,0 5,5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V5C19,3.89 18.1,3 17,3Z\";\r\nexport var mdiCropRotate = \"M7.47,21.5C4.2,19.93 1.86,16.76 1.5,13H0C0.5,19.16 5.66,24 11.95,24C12.18,24 12.39,24 12.61,23.97L8.8,20.15L7.47,21.5M12.05,0C11.82,0 11.61,0 11.39,0.04L15.2,3.85L16.53,2.5C19.8,4.07 22.14,7.24 22.5,11H24C23.5,4.84 18.34,0 12.05,0M16,14H18V8C18,6.89 17.1,6 16,6H10V8H16V14M8,16V4H6V6H4V8H6V16A2,2 0 0,0 8,18H16V20H18V18H20V16H8Z\";\r\nexport var mdiCropSquare = \"M18,18H6V6H18M18,4H6A2,2 0 0,0 4,6V18A2,2 0 0,0 6,20H18A2,2 0 0,0 20,18V6C20,4.89 19.1,4 18,4Z\";\r\nexport var mdiCross = \"M10.5,2H13.5V8H19V11H13.5V22H10.5V11H5V8H10.5V2Z\";\r\nexport var mdiCrossBolnisi = \"M22,7L21.5,6.5C19.93,8 18.47,9.4 16.93,10.18C15.5,10.91 14.44,10.91 13,11C13.09,9.56 13.09,8.5 13.82,7.07C14.6,5.53 16,4.07 17.5,2.5L17,2C15.32,3.23 13.64,3.83 12,3.83C10.36,3.83 8.68,3.23 7,2L6.5,2.5C8,4.07 9.4,5.53 10.18,7.07C10.91,8.5 10.91,9.56 11,11C9.56,10.91 8.5,10.91 7.07,10.18C5.53,9.4 4.06,8 2.5,6.5L2,7C3.23,8.68 3.83,10.36 3.83,12C3.83,13.64 3.23,15.32 2,17L2.5,17.5C4.07,16 5.53,14.6 7.07,13.82C8.5,13.09 9.56,13.09 11,13C10.91,14.44 10.91,15.5 10.18,16.93C9.4,18.47 8,19.93 6.5,21.5L7,22C8.68,20.77 10.36,20.17 12,20.17C13.64,20.17 15.32,20.77 17,22L17.5,21.5C16,19.93 14.6,18.47 13.82,16.93C13.09,15.5 13.09,14.44 13,13C14.44,13.09 15.5,13.09 16.93,13.82C18.47,14.6 19.93,16 21.5,17.5L22,17C20.77,15.32 20.17,13.64 20.17,12C20.17,10.36 20.77,8.68 22,7Z\";\r\nexport var mdiCrossCeltic = \"M17.8,8C17.26,5.89 15.61,4.24 13.5,3.7V2H10.5V3.7C8.39,4.24 6.74,5.89 6.2,8H4V11H6.2C6.74,13.11 8.39,14.76 10.5,15.3V22H13.5V15.3C15.61,14.76 17.26,13.11 17.8,11H19.97V8H17.8M12.04,9.53L14.5,11H15.76C15.35,12.03 14.53,12.84 13.5,13.26V12L12.06,9.56L12,9.5L11.94,9.56L10.5,12V13.26C9.47,12.84 8.66,12.03 8.24,11H9.5L11.96,9.53L12,9.5H11.96L9.5,8H8.24C8.65,6.97 9.47,6.16 10.5,5.74V7L11.94,9.44L12,9.5L12.06,9.44L13.5,7V5.74C14.53,6.16 15.35,6.97 15.76,8H14.5L12.04,9.5H12L12.04,9.53Z\";\r\nexport var mdiCrossOutline = \"M15.5,6V1H8.5V6H3V13H8.5V23H15.5V13H21V6H15.5M19,11H13.5V21H10.5V11H5V8H10.5V3H13.5V8H19V11Z\";\r\nexport var mdiCrosshairs = \"M3.05,13H1V11H3.05C3.5,6.83 6.83,3.5 11,3.05V1H13V3.05C17.17,3.5 20.5,6.83 20.95,11H23V13H20.95C20.5,17.17 17.17,20.5 13,20.95V23H11V20.95C6.83,20.5 3.5,17.17 3.05,13M12,5A7,7 0 0,0 5,12A7,7 0 0,0 12,19A7,7 0 0,0 19,12A7,7 0 0,0 12,5Z\";\r\nexport var mdiCrosshairsGps = \"M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M3.05,13H1V11H3.05C3.5,6.83 6.83,3.5 11,3.05V1H13V3.05C17.17,3.5 20.5,6.83 20.95,11H23V13H20.95C20.5,17.17 17.17,20.5 13,20.95V23H11V20.95C6.83,20.5 3.5,17.17 3.05,13M12,5A7,7 0 0,0 5,12A7,7 0 0,0 12,19A7,7 0 0,0 19,12A7,7 0 0,0 12,5Z\";\r\nexport var mdiCrosshairsOff = \"M20.94 11C20.5 6.83 17.17 3.5 13 3.06V1H11V3.06C9.87 3.18 8.81 3.5 7.84 4.03L9.34 5.53C10.16 5.19 11.06 5 12 5C15.87 5 19 8.13 19 12C19 12.94 18.81 13.84 18.5 14.65L20 16.15C20.5 15.19 20.82 14.13 20.95 13H23V11H20.94M3 4.27L5.04 6.31C3.97 7.62 3.25 9.23 3.06 11H1V13H3.06C3.5 17.17 6.83 20.5 11 20.94V23H13V20.94C14.77 20.74 16.38 20.03 17.69 18.96L19.73 21L21 19.73L4.27 3L3 4.27M16.27 17.54C15.09 18.45 13.61 19 12 19C8.13 19 5 15.87 5 12C5 10.39 5.55 8.91 6.46 7.73L16.27 17.54Z\";\r\nexport var mdiCrosshairsQuestion = \"M3.05 13H1V11H3.05C3.5 6.83 6.83 3.5 11 3.05V1H13V3.05C17.17 3.5 20.5 6.83 20.95 11H23V13H20.95C20.5 17.17 17.17 20.5 13 20.95V23H11V20.95C6.83 20.5 3.5 17.17 3.05 13M12 5C8.13 5 5 8.13 5 12S8.13 19 12 19 19 15.87 19 12 15.87 5 12 5M11.13 17.25H12.88V15.5H11.13V17.25M12 6.75C10.07 6.75 8.5 8.32 8.5 10.25H10.25C10.25 9.28 11.03 8.5 12 8.5S13.75 9.28 13.75 10.25C13.75 12 11.13 11.78 11.13 14.63H12.88C12.88 12.66 15.5 12.44 15.5 10.25C15.5 8.32 13.93 6.75 12 6.75Z\";\r\nexport var mdiCrown = \"M5 16L3 5L8.5 10L12 4L15.5 10L21 5L19 16H5M19 19C19 19.6 18.6 20 18 20H6C5.4 20 5 19.6 5 19V18H19V19Z\";\r\nexport var mdiCrownCircle = \"M12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22S22 17.5 22 12 17.5 2 12 2M16 15.44C16 15.78 15.78 16 15.44 16H8.56C8.22 16 8 15.78 8 15.44V15H16V15.44M16 14H8L7 8L10 10L12 7L14 10L17 8L16 14Z\";\r\nexport var mdiCrownCircleOutline = \"M12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22S22 17.5 22 12 17.5 2 12 2M12 20C7.58 20 4 16.42 4 12C4 7.58 7.58 4 12 4S20 7.58 20 12C20 16.42 16.42 20 12 20M8 14L7 8L10 10L12 7L14 10L17 8L16 14H8M8.56 16C8.22 16 8 15.78 8 15.44V15H16V15.44C16 15.78 15.78 16 15.44 16H8.56Z\";\r\nexport var mdiCrownOutline = \"M12 8L15 13.2L18 10.5L17.3 14H6.7L6 10.5L9 13.2L12 8M12 4L8.5 10L3 5L5 16H19L21 5L15.5 10L12 4M19 18H5V19C5 19.6 5.4 20 6 20H18C18.6 20 19 19.6 19 19V18Z\";\r\nexport var mdiCryengine = \"M23.03,12.4M23.03,12.5V12.5C23,13 20.91,15.23 17.82,16.24C14.05,17.5 7.97,17.03 7.97,12.3C7.97,10.08 9.78,8.27 12,8.27C14.25,8.27 16.05,10.09 16.05,12.31C16.05,13.39 15.58,14.44 14.87,15.18C15.54,15.17 17.94,15 20.21,13.12C20.46,12.88 20.62,12.68 20.69,12.55C20.71,12.5 20.74,12.46 20.73,12.4C20.73,11.92 18.12,8.19 12.72,7.12C19.22,7.46 23,11.32 23.03,12.4V12.5H23.03M12,10C10.74,10 9.71,11.04 9.71,12.3C9.71,13.57 10.74,14.59 12,14.59C13.27,14.59 14.29,13.57 14.29,12.3C14.29,11.04 13.27,10 12,10M3.31,12.34C3.31,12.34 3.31,12.31 3.31,12.42V12.42C3.41,12.94 4.82,15.41 10.28,16.88C3.96,16.37 1.12,13.28 1.04,12.42H1.03C1.03,12.31 1.03,12.36 1.03,12.35C1.03,11.5 4.96,7.58 10.92,7.15C6.14,8.26 3.31,11.87 3.31,12.34V12.34Z\";\r\nexport var mdiCrystalBall = \"M9.38,8.38L11.5,9.34L13.62,8.38L12.66,10.5L13.62,12.62L11.5,11.66L9.38,12.62L10.34,10.5L9.38,8.38M16.5,2.5L17.59,5.41L20.5,6.5L17.59,7.59L16.5,10.5L15.41,7.59L12.5,6.5L15.41,5.41L16.5,2.5M6,19H7V18A1,1 0 0,1 8,17H8.26C6,15.7 4.5,13.28 4.5,10.5A7.5,7.5 0 0,1 12,3C13.05,3 14.05,3.22 14.96,3.61L14.59,4.59L13.17,5.12C12.79,5.04 12.4,5 12,5A5.5,5.5 0 0,0 6.5,10.5A5.5,5.5 0 0,0 12,16C14.91,16 17.3,13.73 17.5,10.87L18.41,8.41L19.12,8.14C19.37,8.88 19.5,9.68 19.5,10.5C19.5,13.28 18,15.7 15.74,17H16A1,1 0 0,1 17,18V19H18A2,2 0 0,1 20,21V22H4V21A2,2 0 0,1 6,19Z\";\r\nexport var mdiCube = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L6.04,7.5L12,10.85L17.96,7.5L12,4.15Z\";\r\nexport var mdiCubeOff = \"M20.84 22.73L17.28 19.17L12.57 21.82C12.41 21.94 12.21 22 12 22S11.59 21.94 11.43 21.82L3.53 17.38C3.21 17.21 3 16.88 3 16.5V7.5C3 7.12 3.21 6.79 3.53 6.62L4.3 6.19L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M12 4.15L17.96 7.5L13.31 10.11L20.53 17.33C20.82 17.16 21 16.85 21 16.5V7.5C21 7.12 20.79 6.79 20.47 6.62L12.57 2.18C12.41 2.06 12.21 2 12 2S11.59 2.06 11.43 2.18L7.56 4.36L9 5.82L12 4.15Z\";\r\nexport var mdiCubeOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L4.3 6.19L3.53 6.62C3.21 6.79 3 7.12 3 7.5V16.5C3 16.88 3.21 17.21 3.53 17.38L11.43 21.82C11.59 21.94 11.79 22 12 22S12.41 21.94 12.57 21.82L17.28 19.17L20.84 22.73L22.11 21.46M5 15.91V9.21L10.29 12.18L11 12.89V19.29L5 15.91M13 19.29V14.89L15.82 17.7L13 19.29M9 5.82L7.56 4.36L11.43 2.18C11.59 2.06 11.79 2 12 2S12.41 2.06 12.57 2.18L20.47 6.62C20.79 6.79 21 7.12 21 7.5V16.5C21 16.85 20.82 17.16 20.53 17.33L19 15.8V9.21L14.78 11.58L13.31 10.11L17.96 7.5L12 4.15L9 5.82Z\";\r\nexport var mdiCubeOutline = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L6.04,7.5L12,10.85L17.96,7.5L12,4.15M5,15.91L11,19.29V12.58L5,9.21V15.91M19,15.91V9.21L13,12.58V19.29L19,15.91Z\";\r\nexport var mdiCubeScan = \"M17,22V20H20V17H22V20.5C22,20.89 21.84,21.24 21.54,21.54C21.24,21.84 20.89,22 20.5,22H17M7,22H3.5C3.11,22 2.76,21.84 2.46,21.54C2.16,21.24 2,20.89 2,20.5V17H4V20H7V22M17,2H20.5C20.89,2 21.24,2.16 21.54,2.46C21.84,2.76 22,3.11 22,3.5V7H20V4H17V2M7,2V4H4V7H2V3.5C2,3.11 2.16,2.76 2.46,2.46C2.76,2.16 3.11,2 3.5,2H7M13,17.25L17,14.95V10.36L13,12.66V17.25M12,10.92L16,8.63L12,6.28L8,8.63L12,10.92M7,14.95L11,17.25V12.66L7,10.36V14.95M18.23,7.59C18.73,7.91 19,8.34 19,8.91V15.23C19,15.8 18.73,16.23 18.23,16.55L12.75,19.73C12.25,20.05 11.75,20.05 11.25,19.73L5.77,16.55C5.27,16.23 5,15.8 5,15.23V8.91C5,8.34 5.27,7.91 5.77,7.59L11.25,4.41C11.5,4.28 11.75,4.22 12,4.22C12.25,4.22 12.5,4.28 12.75,4.41L18.23,7.59Z\";\r\nexport var mdiCubeSend = \"M16,4L9,8.04V15.96L16,20L23,15.96V8.04M16,6.31L19.8,8.5L16,10.69L12.21,8.5M0,7V9H7V7M11,10.11L15,12.42V17.11L11,14.81M21,10.11V14.81L17,17.11V12.42M2,11V13H7V11M4,15V17H7V15\";\r\nexport var mdiCubeUnfolded = \"M6,9V4H13V9H23V16H18V21H11V16H1V9H6M16,16H13V19H16V16M8,9H11V6H8V9M6,14V11H3V14H6M18,11V14H21V11H18M13,11V14H16V11H13M8,11V14H11V11H8Z\";\r\nexport var mdiCup = \"M18.32,8H5.67L5.23,4H18.77M3,2L5,20.23C5.13,21.23 5.97,22 7,22H17C18,22 18.87,21.23 19,20.23L21,2H3Z\";\r\nexport var mdiCupOff = \"M1,4.27L2.28,3L21,21.72L19.73,23L18.27,21.54C17.93,21.83 17.5,22 17,22H7C5.97,22 5.13,21.23 5,20.23L3.53,6.8L1,4.27M18.32,8L18.77,4H5.82L3.82,2H21L19.29,17.47L9.82,8H18.32Z\";\r\nexport var mdiCupOffOutline = \"M3.83 2L5.83 4H18.78L17.5 15.66L19.3 17.5L21 2M2.27 3L1 4.27L3.53 6.8L5 20.23C5.13 21.23 5.97 22 7 22H17C17.47 22 17.91 21.82 18.26 21.54L19.73 23L21 21.73M5.78 9.06L16.73 20H7Z\";\r\nexport var mdiCupOutline = \"M3 2L5 20.23C5.13 21.23 5.97 22 7 22H17C18 22 18.87 21.23 19 20.23L21 2H3M5.22 4H18.78L17 20H7L5.22 4Z\";\r\nexport var mdiCupWater = \"M18.32,8H5.67L5.23,4H18.77M12,19A3,3 0 0,1 9,16C9,14 12,10.6 12,10.6C12,10.6 15,14 15,16A3,3 0 0,1 12,19M3,2L5,20.23C5.13,21.23 5.97,22 7,22H17C18,22 18.87,21.23 19,20.23L21,2H3Z\";\r\nexport var mdiCupboard = \"M17 2H7C5.9 2 5 2.9 5 4V19C5 20.11 5.9 21 7 21V22H9V21H15V22H17V21C18.11 21 19 20.11 19 19V4C19 2.9 18.11 2 17 2M10 18H8V15H10V18M16 18H14V15H16V18M17 12H7V9H17V12M17 7H7V4H17V7Z\";\r\nexport var mdiCupboardOutline = \"M7 2C5.9 2 5 2.9 5 4V19C5 20.11 5.9 21 7 21V22H9V21H15V22H17V21C18.11 21 19 20.11 19 19V4C19 2.9 18.11 2 17 2H7M7 4H17V7H7V4M7 9H17V12H7V9M7 14H11V19H7V14M13 14H17V19H13V14M8 15V18H10V15H8M14 15V18H16V15H14Z\";\r\nexport var mdiCupcake = \"M12,1.5A2.5,2.5 0 0,1 14.5,4A2.5,2.5 0 0,1 12,6.5A2.5,2.5 0 0,1 9.5,4A2.5,2.5 0 0,1 12,1.5M15.87,5C18,5 20,7 20,9C22.7,9 22.7,13 20,13H4C1.3,13 1.3,9 4,9C4,7 6,5 8.13,5C8.57,6.73 10.14,8 12,8C13.86,8 15.43,6.73 15.87,5M5,15H8L9,22H7L5,15M10,15H14L13,22H11L10,15M16,15H19L17,22H15L16,15Z\";\r\nexport var mdiCurling = \"M10,3V5C12.5,5 13.9,5.05 14.72,5.41C15.26,5.65 15.73,6.21 16.25,7H5V9H19.62L18.89,7.55C17.86,5.5 16.96,4.22 15.53,3.59C14.1,2.95 12.5,3 10,3M6,11C3.78,11 2,12.78 2,15V18C2,20.22 3.78,22 6,22H18C20.22,22 22,20.22 22,18V15C22,12.78 20.22,11 18,11H6Z\";\r\nexport var mdiCurrencyBdt = \"M18.09,10.5V9H9.59V4.5A1.5,1.5 0 0,0 8.09,3A1.5,1.5 0 0,0 6.59,4.5A1.5,1.5 0 0,0 8.09,6V9H5.09V10.5H8.09V16.7C8.09,19.06 10,20.97 12.34,21C14.68,20.96 16.54,19.04 16.5,16.7C16.5,15.11 15.75,13.61 14.5,12.62C14.28,12.44 14.05,12.28 13.8,12.15C13.58,12.05 13.34,12 13.1,12C12.39,12 11.74,12.39 11.39,13C11.2,13.3 11.1,13.65 11.1,14C11.11,15.1 12,16 13.11,16C13.73,16 14.31,15.69 14.69,15.2C14.9,15.67 15,16.18 15,16.7C15.04,18.2 13.86,19.45 12.34,19.5C10.81,19.5 9.58,18.23 9.59,16.7V10.5H18.09Z\";\r\nexport var mdiCurrencyBrl = \"M12,15H14C14,16.08 15.37,17 17,17C18.63,17 20,16.08 20,15C20,13.9 18.96,13.5 16.76,12.97C14.64,12.44 12,11.78 12,9C12,7.21 13.47,5.69 15.5,5.18V3H18.5V5.18C20.53,5.69 22,7.21 22,9H20C20,7.92 18.63,7 17,7C15.37,7 14,7.92 14,9C14,10.1 15.04,10.5 17.24,11.03C19.36,11.56 22,12.22 22,15C22,16.79 20.53,18.31 18.5,18.82V21H15.5V18.82C13.47,18.31 12,16.79 12,15M2,3H5.5A5.5,5.5 0 0,1 11,8.5C11,10.69 9.71,12.59 7.86,13.47L11.64,21H9.4L5.88,14H5.5L4,14V21H2V3M5.5,12A3.5,3.5 0 0,0 9,8.5A3.5,3.5 0 0,0 5.5,5H4V12H5.5Z\";\r\nexport var mdiCurrencyBtc = \"M6,4H8V2H10V4H12V2H14V4.03C16.25,4.28 18,6.18 18,8.5C18,9.8 17.45,11 16.56,11.8C17.73,12.61 18.5,13.97 18.5,15.5C18.5,18 16.5,20 14,20V22H12V20H10V22H8V20H6L6.5,18H8V6H6V4M10,13V18H14A2.5,2.5 0 0,0 16.5,15.5A2.5,2.5 0 0,0 14,13H10M10,6V11H13.5A2.5,2.5 0 0,0 16,8.5A2.5,2.5 0 0,0 13.5,6H13.5L10,6Z\";\r\nexport var mdiCurrencyCny = \"M11,21V16H6V14H11V13.71L10.16,12H6V10H9.19L5.77,3H8L12,11.2L16,3H18.23L14.81,10H18V12H13.84L13,13.71V14H18V16H13V21H11Z\";\r\nexport var mdiCurrencyEth = \"M6,5H18V7H6M7,11H17V13H7M5.5,17H18.5V19H5.5\";\r\nexport var mdiCurrencyEur = \"M7.07,11L7,12L7.07,13H17.35L16.5,15H7.67C8.8,17.36 11.21,19 14,19C16.23,19 18.22,17.96 19.5,16.33V19.12C18,20.3 16.07,21 14,21C10.08,21 6.75,18.5 5.5,15H2L3,13H5.05L5,12L5.05,11H2L3,9H5.5C6.75,5.5 10.08,3 14,3C16.5,3 18.8,4.04 20.43,5.71L19.57,7.75C18.29,6.08 16.27,5 14,5C11.21,5 8.8,6.64 7.67,9H19.04L18.19,11H7.07Z\";\r\nexport var mdiCurrencyEurOff = \"M22.11 21.46L2.39 1.73L1.11 3L6 7.89C5.81 8.25 5.64 8.62 5.5 9H3L2 11H5.05L5 12L5.05 13H3L2 15H5.5C6.75 18.5 10.08 21 14 21C15.5 21 16.89 20.65 18.12 20L20.84 22.73L22.11 21.46M7 12L7.07 11H9.12L11.12 13H7.07L7 12M14 19C11.21 19 8.8 17.37 7.67 15H13.12L16.6 18.5C15.79 18.81 14.92 19 14 19M17 13.81L16.21 13H17.35L17 13.81M18.19 11H14.21L12.21 9H19.04L18.19 11M9.7 6.5L8.27 5.07C9.83 3.78 11.82 3 14 3C16.5 3 18.8 4.05 20.43 5.72L19.57 7.76C18.29 6.09 16.27 5 14 5C12.38 5 10.89 5.58 9.7 6.5Z\";\r\nexport var mdiCurrencyGbp = \"M6,21V19C10,17 9.5,13 9.5,13H7V11H9.5C8.5,6.5 10,3 14,3C16,3 17,3.5 17,3.5V5.5C11,3.5 11,8 11.5,11H16V13H11.5C11.5,13 12,17 9.5,19H18V21H6Z\";\r\nexport var mdiCurrencyIls = \"M22,16A5,5 0 0,1 17,21H8V9H10V19H17A3,3 0 0,0 20,16V3H22V16M16,8V15H14V8A3,3 0 0,0 11,5H4V21H2V3H11A5,5 0 0,1 16,8Z\";\r\nexport var mdiCurrencyInr = \"M8,3H18L17,5H13.74C14.22,5.58 14.58,6.26 14.79,7H18L17,9H15C14.75,11.57 12.74,13.63 10.2,13.96V14H9.5L15.5,21H13L7,14V12H9.5V12C11.26,12 12.72,10.7 12.96,9H7L8,7H12.66C12.1,5.82 10.9,5 9.5,5H7L8,3Z\";\r\nexport var mdiCurrencyJpy = \"M11,21V16H6V14H11V13.71L10.16,12H6V10H9.19L5.77,3H8L12,11.2L16,3H18.23L14.81,10H18V12H13.84L13,13.71V14H18V16H13V21H11Z\";\r\nexport var mdiCurrencyKrw = \"M2,3H4L5.33,9H9.33L10.67,3H13.33L14.67,9H18.67L20,3H22L20.67,9H22V11H20.22L19.78,13H22V15H19.33L18,21H15.33L14,15H10L8.67,21H6L4.67,15H2V13H4.22L3.78,11H2V9H3.33L2,3M13.11,11H10.89L10.44,13H13.56L13.11,11M7.33,18L8,15H6.67L7.33,18M8.89,11H5.78L6.22,13H8.44L8.89,11M16.67,18L17.33,15H16L16.67,18M18.22,11H15.11L15.56,13H17.78L18.22,11M12,6L11.33,9H12.67L12,6Z\";\r\nexport var mdiCurrencyKzt = \"M5,3H19V5H5V3M5,6H19V8H13V21H11V8H5V6Z\";\r\nexport var mdiCurrencyMnt = \"M13 5V8.62L17 7.17V9.29L13 10.74V12.5L17 11.07V13.2L13 14.65V21H11V15.38L7 16.84V14.71L11 13.24V11.47L7 12.92V10.8L11 9.35V5H5V3H19V5H13Z\";\r\nexport var mdiCurrencyNgn = \"M4,9H6V3H8L11.42,9H16V3H18V9H20V11H18V13H20V15H18V21H16L12.57,15H8V21H6V15H4V13H6V11H4V9M8,9H9.13L8,7.03V9M8,11V13H11.42L10.28,11H8M16,17V15H14.85L16,17M12.56,11L13.71,13H16V11H12.56Z\";\r\nexport var mdiCurrencyPhp = \"M5,2V6H3V8H5V10H3V12H5V22H7V16H13C15.7,16 18.16,14.44 19.32,12H22V10H19.92C20.03,9.34 20.03,8.66 19.92,8H22V6H19.32C18.16,3.56 15.7,2 13,2M7,4H13C14.57,4 16.06,4.74 17,6H7V4M13,14H7V12H17C16.06,13.26 14.57,14 13,14M18,9C18,9.34 17.96,9.67 17.9,10H7V8H17.9C17.96,8.33 18,8.66 18,9Z\";\r\nexport var mdiCurrencyRial = \"M11,17H13V19H11V17M14,17H16V19H14V17M9,4H11V15A4,4 0 0,1 7,19H5A3,3 0 0,1 2,16V12H4V16A1,1 0 0,0 5,17H7C8.11,17 9,16.11 9,15V4M12,4H14V13H17V8H19V13C19,14.11 18.11,15 17,15H14C12.89,15 12,14.11 12,13V4M20,10H22V17A3,3 0 0,1 19,20H17V18H19A1,1 0 0,0 20,17V10Z\";\r\nexport var mdiCurrencyRub = \"M6,10H7V3H14.5C17,3 19,5 19,7.5C19,10 17,12 14.5,12H9V14H15V16H9V21H7V16H6V14H7V12H6V10M14.5,5H9V10H14.5A2.5,2.5 0 0,0 17,7.5A2.5,2.5 0 0,0 14.5,5Z\";\r\nexport var mdiCurrencySign = \"M4.41 3L3 4.41L5.69 7.1C4.63 8.46 4 10.15 4 12C4 13.85 4.63 15.55 5.69 16.9L3 19.59L4.41 21L7.1 18.31C8.46 19.37 10.15 20 12 20C13.85 20 15.55 19.37 16.9 18.31L19.59 21L21 19.59L18.31 16.9C19.37 15.54 20 13.85 20 12C20 10.15 19.37 8.45 18.31 7.1L21 4.41L19.59 3L16.9 5.69C15.54 4.63 13.85 4 12 4C10.15 4 8.45 4.63 7.1 5.69L4.41 3M12 6C15.31 6 18 8.69 18 12C18 15.31 15.31 18 12 18C8.69 18 6 15.31 6 12C6 8.69 8.69 6 12 6Z\";\r\nexport var mdiCurrencyTry = \"M19,12A9,9 0 0,1 10,21H8V12.77L5,13.87V11.74L8,10.64V8.87L5,9.96V7.84L8,6.74V3H10V6L15,4.2V6.32L10,8.14V9.92L15,8.1V10.23L10,12.05V19A7,7 0 0,0 17,12H19Z\";\r\nexport var mdiCurrencyTwd = \"M3,11H21V13H15V19H21V21H15A2,2 0 0,1 13,19V13H10.35L5.73,21L4,20L8.04,13H3V11M5,3H19V5H5V3Z\";\r\nexport var mdiCurrencyUsd = \"M7,15H9C9,16.08 10.37,17 12,17C13.63,17 15,16.08 15,15C15,13.9 13.96,13.5 11.76,12.97C9.64,12.44 7,11.78 7,9C7,7.21 8.47,5.69 10.5,5.18V3H13.5V5.18C15.53,5.69 17,7.21 17,9H15C15,7.92 13.63,7 12,7C10.37,7 9,7.92 9,9C9,10.1 10.04,10.5 12.24,11.03C14.36,11.56 17,12.22 17,15C17,16.79 15.53,18.31 13.5,18.82V21H10.5V18.82C8.47,18.31 7,16.79 7,15Z\";\r\nexport var mdiCurrencyUsdOff = \"M3,4.27L4.28,3L21,19.72L19.73,21L16.06,17.33C15.44,18 14.54,18.55 13.5,18.82V21H10.5V18.82C8.47,18.31 7,16.79 7,15H9C9,16.08 10.37,17 12,17C13.13,17 14.14,16.56 14.65,15.92L11.68,12.95C9.58,12.42 7,11.75 7,9C7,8.77 7,8.55 7.07,8.34L3,4.27M10.5,5.18V3H13.5V5.18C15.53,5.69 17,7.21 17,9H15C15,7.92 13.63,7 12,7C11.63,7 11.28,7.05 10.95,7.13L9.4,5.58L10.5,5.18Z\";\r\nexport var mdiCurrentAc = \"M12.43 11C12.28 10.84 10 7 7 7S2.32 10.18 2 11V13H11.57C11.72 13.16 14 17 17 17S21.68 13.82 22 13V11H12.43M7 9C8.17 9 9.18 9.85 10 11H4.31C4.78 10.17 5.54 9 7 9M17 15C15.83 15 14.82 14.15 14 13H19.69C19.22 13.83 18.46 15 17 15Z\";\r\nexport var mdiCurrentDc = \"M2,9V11H22V9H2M2,13V15H7V13H2M9,13V15H15V13H9M17,13V15H22V13H17Z\";\r\nexport var mdiCursorDefault = \"M13.64,21.97C13.14,22.21 12.54,22 12.31,21.5L10.13,16.76L7.62,18.78C7.45,18.92 7.24,19 7,19A1,1 0 0,1 6,18V3A1,1 0 0,1 7,2C7.24,2 7.47,2.09 7.64,2.23L7.65,2.22L19.14,11.86C19.57,12.22 19.62,12.85 19.27,13.27C19.12,13.45 18.91,13.57 18.7,13.61L15.54,14.23L17.74,18.96C18,19.46 17.76,20.05 17.26,20.28L13.64,21.97Z\";\r\nexport var mdiCursorDefaultClick = \"M10.76,8.69A0.76,0.76 0 0,0 10,9.45V20.9C10,21.32 10.34,21.66 10.76,21.66C10.95,21.66 11.11,21.6 11.24,21.5L13.15,19.95L14.81,23.57C14.94,23.84 15.21,24 15.5,24C15.61,24 15.72,24 15.83,23.92L18.59,22.64C18.97,22.46 19.15,22 18.95,21.63L17.28,18L19.69,17.55C19.85,17.5 20,17.43 20.12,17.29C20.39,16.97 20.35,16.5 20,16.21L11.26,8.86L11.25,8.87C11.12,8.76 10.95,8.69 10.76,8.69M15,10V8H20V10H15M13.83,4.76L16.66,1.93L18.07,3.34L15.24,6.17L13.83,4.76M10,0H12V5H10V0M3.93,14.66L6.76,11.83L8.17,13.24L5.34,16.07L3.93,14.66M3.93,3.34L5.34,1.93L8.17,4.76L6.76,6.17L3.93,3.34M7,10H2V8H7V10\";\r\nexport var mdiCursorDefaultClickOutline = \"M11.5,11L17.88,16.37L17,16.55L16.36,16.67C15.73,16.8 15.37,17.5 15.65,18.07L15.92,18.65L17.28,21.59L15.86,22.25L14.5,19.32L14.24,18.74C13.97,18.15 13.22,17.97 12.72,18.38L12.21,18.78L11.5,19.35V11M10.76,8.69A0.76,0.76 0 0,0 10,9.45V20.9C10,21.32 10.34,21.66 10.76,21.66C10.95,21.66 11.11,21.6 11.24,21.5L13.15,19.95L14.81,23.57C14.94,23.84 15.21,24 15.5,24C15.61,24 15.72,24 15.83,23.92L18.59,22.64C18.97,22.46 19.15,22 18.95,21.63L17.28,18L19.69,17.55C19.85,17.5 20,17.43 20.12,17.29C20.39,16.97 20.35,16.5 20,16.21L11.26,8.86L11.25,8.87C11.12,8.76 10.95,8.69 10.76,8.69M15,10V8H20V10H15M13.83,4.76L16.66,1.93L18.07,3.34L15.24,6.17L13.83,4.76M10,0H12V5H10V0M3.93,14.66L6.76,11.83L8.17,13.24L5.34,16.07L3.93,14.66M3.93,3.34L5.34,1.93L8.17,4.76L6.76,6.17L3.93,3.34M7,10H2V8H7V10\";\r\nexport var mdiCursorDefaultGesture = \"M15.59 8C15.26 8 15 8.27 15 8.6V17.57C15 17.9 15.26 18.17 15.59 18.17C15.74 18.17 15.86 18.12 15.96 18.04L17.45 16.83L18.74 19.66C18.84 19.88 19.05 20 19.27 20C19.36 20 19.44 20 19.53 19.94L21.67 18.93C21.97 18.79 22.11 18.43 21.95 18.14L20.66 15.3L22.53 14.94C22.65 14.91 22.77 14.85 22.86 14.74C23.07 14.5 23.04 14.12 22.77 13.89L16 8.13C15.88 8.05 15.74 8 15.59 8M12.5 6.73C12.72 6.66 13.17 7.19 13.59 7.76L15 6.71C14.87 6.5 14.69 6.25 14.47 5.96C14.31 5.75 13.59 4.93 12.66 4.8C12.04 4.72 10.81 5.06 10.6 6.61C10.47 7.58 10.76 8.19 11.21 9.08C11.46 9.6 12.04 10.96 12.18 11.78C12.33 12.59 12.06 13.16 11.74 13.12C11.44 13.08 11.2 12.65 11.03 12.41C10.89 12.22 10 10.82 9.67 10.23C9.22 9.5 8.04 7.96 6.44 7.74C4.35 7.46 3.44 9.2 3.18 10.36L1 10.06V11.88L2.93 12.15C2.75 15.6 4.5 16.82 5.67 17C6.92 17.15 8.08 16.28 8.24 15.06C8.41 13.84 7.56 11.5 4.96 10.69C5.1 10.15 5.21 9.43 6.36 9.59C7.26 9.71 8.21 11.26 8.93 12.44C9.58 13.53 10.1 14.39 10.83 14.72C11.45 15 12.16 14.97 12.73 14.65C13.42 14.26 13.86 13.55 14 12.63C14.22 10.9 12.7 8.17 12.57 7.84C12.4 7.46 12.12 6.82 12.5 6.73M6.5 14.78C6.43 15.11 6.1 15.25 5.88 15.22C5.38 15.16 4.66 14.5 4.71 12.53C6.17 13.13 6.53 14.35 6.5 14.78Z\";\r\nexport var mdiCursorDefaultGestureOutline = \"M16.5 10.54L20.37 13.83L18.5 14.18L19.29 15.92L20.22 17.96L19.72 18.19L18.81 16.2L18 14.43L16.5 15.66V10.54M15.59 8C15.26 8 15 8.27 15 8.6V17.57C15 17.9 15.26 18.17 15.59 18.17C15.74 18.17 15.86 18.12 15.96 18.04L17.45 16.83L18.74 19.66C18.84 19.88 19.05 20 19.27 20C19.36 20 19.44 20 19.53 19.94L21.67 18.93C21.97 18.79 22.11 18.43 21.95 18.14L20.66 15.3L22.53 14.94C22.65 14.91 22.77 14.85 22.86 14.74C23.07 14.5 23.04 14.12 22.77 13.89L16 8.13C15.88 8.05 15.74 8 15.59 8M12.5 6.73C12.72 6.66 13.17 7.19 13.59 7.76L15 6.71C14.87 6.5 14.69 6.25 14.47 5.96C14.31 5.75 13.59 4.93 12.66 4.8C12.04 4.72 10.81 5.06 10.6 6.61C10.47 7.58 10.76 8.19 11.21 9.08C11.46 9.6 12.04 10.96 12.18 11.78C12.33 12.59 12.06 13.16 11.74 13.12C11.44 13.08 11.2 12.65 11.03 12.41C10.89 12.22 10 10.82 9.67 10.23C9.22 9.5 8.04 7.96 6.44 7.74C4.35 7.46 3.44 9.2 3.18 10.36L1 10.06V11.88L2.93 12.15C2.75 15.6 4.5 16.82 5.67 17C6.92 17.15 8.08 16.28 8.24 15.06C8.41 13.84 7.56 11.5 4.96 10.69C5.1 10.15 5.21 9.43 6.36 9.59C7.26 9.71 8.21 11.26 8.93 12.44C9.58 13.53 10.1 14.39 10.83 14.72C11.45 15 12.16 14.97 12.73 14.65C13.42 14.26 13.86 13.55 14 12.63C14.22 10.9 12.7 8.17 12.57 7.84C12.4 7.46 12.12 6.82 12.5 6.73M6.5 14.78C6.43 15.11 6.1 15.25 5.88 15.22C5.38 15.16 4.66 14.5 4.71 12.53C6.17 13.13 6.53 14.35 6.5 14.78Z\";\r\nexport var mdiCursorDefaultOutline = \"M10.07,14.27C10.57,14.03 11.16,14.25 11.4,14.75L13.7,19.74L15.5,18.89L13.19,13.91C12.95,13.41 13.17,12.81 13.67,12.58L13.95,12.5L16.25,12.05L8,5.12V15.9L9.82,14.43L10.07,14.27M13.64,21.97C13.14,22.21 12.54,22 12.31,21.5L10.13,16.76L7.62,18.78C7.45,18.92 7.24,19 7,19A1,1 0 0,1 6,18V3A1,1 0 0,1 7,2C7.24,2 7.47,2.09 7.64,2.23L7.65,2.22L19.14,11.86C19.57,12.22 19.62,12.85 19.27,13.27C19.12,13.45 18.91,13.57 18.7,13.61L15.54,14.23L17.74,18.96C18,19.46 17.76,20.05 17.26,20.28L13.64,21.97Z\";\r\nexport var mdiCursorMove = \"M13,6V11H18V7.75L22.25,12L18,16.25V13H13V18H16.25L12,22.25L7.75,18H11V13H6V16.25L1.75,12L6,7.75V11H11V6H7.75L12,1.75L16.25,6H13Z\";\r\nexport var mdiCursorPointer = \"M13.75,10.19L14.38,10.32L18.55,12.4C19.25,12.63 19.71,13.32 19.65,14.06V14.19L19.65,14.32L18.75,20.44C18.69,20.87 18.5,21.27 18.15,21.55C17.84,21.85 17.43,22 17,22H10.12C9.63,22 9.18,21.82 8.85,21.47L2.86,15.5L3.76,14.5C4,14.25 4.38,14.11 4.74,14.13H5.03L9,15V4.5A2,2 0 0,1 11,2.5A2,2 0 0,1 13,4.5V10.19H13.75Z\";\r\nexport var mdiCursorText = \"M13,19A1,1 0 0,0 14,20H16V22H13.5C12.95,22 12,21.55 12,21C12,21.55 11.05,22 10.5,22H8V20H10A1,1 0 0,0 11,19V5A1,1 0 0,0 10,4H8V2H10.5C11.05,2 12,2.45 12,3C12,2.45 12.95,2 13.5,2H16V4H14A1,1 0 0,0 13,5V19Z\";\r\nexport var mdiDanceBallroom = \"M14 3.5C14 4.33 13.33 5 12.5 5S11 4.33 11 3.5 11.67 2 12.5 2 14 2.67 14 3.5M8.5 5C7.67 5 7 5.67 7 6.5S7.67 8 8.5 8 10 7.33 10 6.5 9.33 5 8.5 5M14 12L13.22 9.75H16.18L18.34 8.67C18.71 8.5 18.86 8.04 18.67 7.67C18.5 7.3 18.04 7.14 17.67 7.33L16.85 7.74L16.36 6.9C16.07 6.25 15.36 5.88 14.66 6.04L12.19 6.57C11.5 6.72 11 7.35 11 8.07V8.77L8.57 10.39H8.58C8.5 10.46 8.39 10.55 8.33 10.67L7.44 12.44L5.66 13.33C5.29 13.5 5.14 13.97 5.33 14.34C5.46 14.6 5.73 14.75 6 14.75C6.11 14.75 6.23 14.73 6.34 14.67L8.56 13.56L9.6 11.5L11 13C10 16 3 20 3 20S7 22 12 22 21 20 21 20 16 16 14 12M16.85 11.09L16.53 11.25H15.33L15.39 11.41C15.91 12.44 16.67 13.5 17.5 14.44L16.97 11.03L16.85 11.09Z\";\r\nexport var mdiDancePole = \"M12 1V2L11.23 1.36L7.76 5.5L11 7.5V5.16L10.78 5L12 3.56V23H14V13.24L15.93 11.31C18.5 11.71 21.13 10.36 22.66 8.83L21.24 7.41C20.1 8.56 17.7 9.61 16 9.26L14 7.24V1M17 4A2 2 0 0 0 15 6A2 2 0 0 0 17 8A2 2 0 0 0 19 6A2 2 0 0 0 17 4M11 7.76L7.1 11.66C5.25 13.5 4.31 14.85 3.06 18.16L4.94 18.86C5.94 16.2 6.66 15.14 7.87 13.84L9.22 15.19L4.27 20.14L5.69 21.56L11 16.24Z\";\r\nexport var mdiDataMatrix = \"M2 2V22H22V20H20V18H22V16H20V14H22V12H18V10H16V12H14V10H12V8H8V12H12V16H10V18H12V20H10V18H8V16H6V14H4V12H6V6H4V2H2M6 6H8V2H6V6M8 16H10V14H8V16M18 10H22V8H18V10M18 8V4H16V6H14V8H18M16 4V2H14V4H16M18 4H20V2H18V4M20 4V6H22V4H20M10 2V6H12V2H10M14 14H16V16H18V20H14V14M4 18H6V20H4V18Z\";\r\nexport var mdiDataMatrixEdit = \"M20 12.1C19.9 12.1 19.7 12.2 19.6 12.3L18.6 13.3L20.7 15.4L21.7 14.4C21.9 14.2 21.9 13.8 21.7 13.6L20.4 12.3C20.3 12.2 20.2 12.1 20 12.1M18.1 13.9L12 19.9V22H14.1L20.2 15.9L18.1 13.9M8 6H6V2H8V6M10 16H8V14H10V16M12 6H10V2H12V6M16 2V4H14V2H16M20 4H18V2H20V4M10 20V18H8V16H6V14H4V12H6V6H4V2H2V22H10V20M6 20H4V18H6V20M22 10H18V8H22V10M20 6V4H22V6H20M18 4V8H14V6H16V4H18M10 18V16H12V12H8V8H12V10H14V12H16V10H18V11.1L15.1 14H14V15.1L11.1 18H10Z\";\r\nexport var mdiDataMatrixMinus = \"M16 2V4H14V2H16M12 2H10V6H12V2M10 14H8V16H10V14M16 4V6H14V8H18V4H16M8 2H6V6H8V2M20 2H18V4H20V2M13.8 22H2V2H4V6H6V12H4V14H6V16H8V18H10V20H12V18H10V16H12V12H8V8H12V10H14V12H16V10H18V12H22V13.8C21.1 13.3 20.1 13 19 13C17.8 13 16.6 13.4 15.7 14H14V15.7C13.4 16.6 13 17.8 13 19C13 20.1 13.3 21.1 13.8 22M6 18H4V20H6V18M22 8H18V10H22V8M22 6V4H20V6H22M15 18V20H23V18H15Z\";\r\nexport var mdiDataMatrixPlus = \"M16 2V4H14V2H16M12 2H10V6H12V2M10 14H8V16H10V14M16 4V6H14V8H18V4H16M8 2H6V6H8V2M20 2H18V4H20V2M13.8 22H2V2H4V6H6V12H4V14H6V16H8V18H10V20H12V18H10V16H12V12H8V8H12V10H14V12H16V10H18V12H22V13.8C21.1 13.3 20.1 13 19 13C17.8 13 16.6 13.4 15.7 14H14V15.7C13.4 16.6 13 17.8 13 19C13 20.1 13.3 21.1 13.8 22M6 18H4V20H6V18M22 8H18V10H22V8M22 6V4H20V6H22M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiDataMatrixRemove = \"M16 2V4H14V2H16M12 2H10V6H12V2M10 14H8V16H10V14M16 4V6H14V8H18V4H16M8 2H6V6H8V2M20 2H18V4H20V2M13.8 22H2V2H4V6H6V12H4V14H6V16H8V18H10V20H12V18H10V16H12V12H8V8H12V10H14V12H16V10H18V12H22V13.8C21.1 13.3 20.1 13 19 13C17.8 13 16.6 13.4 15.7 14H14V15.7C13.4 16.6 13 17.8 13 19C13 20.1 13.3 21.1 13.8 22M6 18H4V20H6V18M22 8H18V10H22V8M22 6V4H20V6H22M21.1 15.5L19 17.6L16.9 15.5L15.5 16.9L17.6 19L15.5 21.1L16.9 22.5L19 20.4L21.1 22.5L22.5 21.1L20.4 19L22.5 16.9L21.1 15.5Z\";\r\nexport var mdiDataMatrixScan = \"M2 2H6V0H2C.9 0 0 .9 0 2V6H2V2M22 0H18V2H22V6H24V2C24 .9 23.1 0 22 0M2 18H0V22C0 23.1 .9 24 2 24H6V22H2V18M22 22H18V24H22C23.1 24 24 23.1 24 22V18H22V22M8 6V4H10V6H8M10 14V12H12V14H10M16 4H18V6H16V4M18 6H20V8H18V6M18 14H20V16H18V14M20 12H16V18H20V20H4V4H6V6H8V10H6V12H8V14H10V16H12V18H14V16H12V14H14V10H10V6H12V4H14V8H16V10H20V12M8 18V16H6V18H8Z\";\r\nexport var mdiDatabase = \"M12,3C7.58,3 4,4.79 4,7C4,9.21 7.58,11 12,11C16.42,11 20,9.21 20,7C20,4.79 16.42,3 12,3M4,9V12C4,14.21 7.58,16 12,16C16.42,16 20,14.21 20,12V9C20,11.21 16.42,13 12,13C7.58,13 4,11.21 4,9M4,14V17C4,19.21 7.58,21 12,21C16.42,21 20,19.21 20,17V14C20,16.21 16.42,18 12,18C7.58,18 4,16.21 4,14Z\";\r\nexport var mdiDatabaseAlert = \"M18 7C18 9.21 14.42 11 10 11S2 9.21 2 7 5.58 3 10 3 18 4.79 18 7M10 18C5.58 18 2 16.21 2 14V17C2 19.21 5.58 21 10 21S18 19.21 18 17V14C18 16.21 14.42 18 10 18M10 13C5.58 13 2 11.21 2 9V12C2 14.21 5.58 16 10 16S18 14.21 18 12V9C18 11.21 14.42 13 10 13M20 17H22V15H20V17M20 7V13H22V7H20Z\";\r\nexport var mdiDatabaseAlertOutline = \"M10 3C5.58 3 2 4.79 2 7V17C2 19.21 5.59 21 10 21S18 19.21 18 17V7C18 4.79 14.42 3 10 3M16 17C16 17.5 13.87 19 10 19S4 17.5 4 17V14.77C5.61 15.55 7.72 16 10 16S14.39 15.55 16 14.77V17M16 12.45C14.7 13.4 12.42 14 10 14S5.3 13.4 4 12.45V9.64C5.47 10.47 7.61 11 10 11S14.53 10.47 16 9.64V12.45M10 9C6.13 9 4 7.5 4 7S6.13 5 10 5 16 6.5 16 7 13.87 9 10 9M22 7V13H20V7H22M20 15H22V17H20V15Z\";\r\nexport var mdiDatabaseArrowDown = \"M19 13C16.83 13 14.93 14.16 13.88 15.89C13.28 15.96 12.65 16 12 16C7.58 16 4 14.21 4 12V9C4 11.21 7.58 13 12 13S20 11.21 20 9V12C20 12.36 19.9 12.71 19.72 13.05C19.5 13 19.24 13 19 13M12 11C16.42 11 20 9.21 20 7S16.42 3 12 3 4 4.79 4 7 7.58 11 12 11M13.1 17.96C12.74 18 12.37 18 12 18C7.58 18 4 16.21 4 14V17C4 19.21 7.58 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19C13 18.64 13.04 18.3 13.1 17.96M20 20V16H18V20H16L19 23L22 20H20Z\";\r\nexport var mdiDatabaseArrowDownOutline = \"M20 13.09V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19L13 18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.65 16 13.27 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.34 13 19.67 13.04 20 13.09M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M22 20L19 23L16 20H18V16H20V20H22Z\";\r\nexport var mdiDatabaseArrowLeft = \"M4 7C4 4.79 7.58 3 12 3S20 4.79 20 7 16.42 11 12 11 4 9.21 4 7M19.72 13.05C19.9 12.71 20 12.36 20 12V9C20 11.21 16.42 13 12 13S4 11.21 4 9V12C4 14.21 7.58 16 12 16C12.65 16 13.28 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.24 13 19.5 13 19.72 13.05M13.1 17.96C12.74 18 12.37 18 12 18C7.58 18 4 16.21 4 14V17C4 19.21 7.58 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19C13 18.64 13.04 18.3 13.1 17.96M18 18V16L15 19L18 22V20H22V18H18Z\";\r\nexport var mdiDatabaseArrowLeftOutline = \"M20 13.09V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19L13 18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.65 16 13.27 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.34 13 19.67 13.04 20 13.09M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M22 18V20H18V22L15 19L18 16V18H22Z\";\r\nexport var mdiDatabaseArrowRight = \"M4 7C4 4.79 7.58 3 12 3S20 4.79 20 7 16.42 11 12 11 4 9.21 4 7M19.72 13.05C19.9 12.71 20 12.36 20 12V9C20 11.21 16.42 13 12 13S4 11.21 4 9V12C4 14.21 7.58 16 12 16C12.65 16 13.28 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.24 13 19.5 13 19.72 13.05M13.1 17.96C12.74 18 12.37 18 12 18C7.58 18 4 16.21 4 14V17C4 19.21 7.58 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19C13 18.64 13.04 18.3 13.1 17.96M23 19L20 16V18H16V20H20V22L23 19Z\";\r\nexport var mdiDatabaseArrowRightOutline = \"M20 13.09V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19L13 18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.65 16 13.27 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.34 13 19.67 13.04 20 13.09M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M20 22V20H16V18H20V16L23 19L20 22Z\";\r\nexport var mdiDatabaseArrowUp = \"M19 13C16.83 13 14.93 14.16 13.88 15.89C13.28 15.96 12.65 16 12 16C7.58 16 4 14.21 4 12V9C4 11.21 7.58 13 12 13S20 11.21 20 9V12C20 12.36 19.9 12.71 19.72 13.05C19.5 13 19.24 13 19 13M12 11C16.42 11 20 9.21 20 7S16.42 3 12 3 4 4.79 4 7 7.58 11 12 11M13.1 17.96C12.74 18 12.37 18 12 18C7.58 18 4 16.21 4 14V17C4 19.21 7.58 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19C13 18.64 13.04 18.3 13.1 17.96M19 15L16 18H18V22H20V18H22L19 15Z\";\r\nexport var mdiDatabaseArrowUpOutline = \"M20 13.09V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19L13 18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.65 16 13.27 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.34 13 19.67 13.04 20 13.09M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M22 18H20V22H18V18H16L19 15L22 18Z\";\r\nexport var mdiDatabaseCheck = \"M12 3C16.42 3 20 4.79 20 7S16.42 11 12 11 4 9.21 4 7 7.58 3 12 3M4 9C4 11.21 7.58 13 12 13S20 11.21 20 9V12.08L19 12C16.41 12 14.2 13.64 13.36 15.94L12 16C7.58 16 4 14.21 4 12V9M4 14C4 16.21 7.58 18 12 18H13C13 19.05 13.27 20.04 13.75 20.9L12 21C7.58 21 4 19.21 4 17V14M18 21.08L15.25 18.08L16.41 16.92L18 18.5L21.59 14.92L22.75 16.33L18 21.08\";\r\nexport var mdiDatabaseCheckOutline = \"M20 13.09V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19L13 18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.65 16 13.27 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.34 13 19.67 13.04 20 13.09M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\r\nexport var mdiDatabaseClock = \"M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25M23 16C23 19.87 19.87 23 16 23C13.61 23 11.5 21.8 10.25 20C6.18 19.79 3 18.08 3 16V13C3 14.88 5.58 16.44 9.06 16.88C9.03 16.59 9 16.3 9 16C9 15.62 9.04 15.25 9.1 14.88C5.6 14.45 3 12.88 3 11V8C3 10.09 6.2 11.8 10.27 12C10.87 11.14 11.64 10.44 12.53 9.93C12.04 9.97 11.5 10 11 10C6.58 10 3 8.21 3 6S6.58 2 11 2 19 3.79 19 6C19 7.2 17.93 8.28 16.25 9C17 9.04 17.75 9.19 18.44 9.45C18.79 9 19 8.5 19 8V9.68C21.36 10.81 23 13.21 23 16M21 16C21 13.24 18.76 11 16 11S11 13.24 11 16 13.24 21 16 21 21 18.76 21 16Z\";\r\nexport var mdiDatabaseClockOutline = \"M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25M23 16C23 19.87 19.87 23 16 23C13.61 23 11.5 21.8 10.25 20C6.19 19.79 3 18.08 3 16V6C3 3.79 6.58 2 11 2S19 3.79 19 6V9.68C21.36 10.81 23 13.21 23 16M17 9.08V8.64C16.77 8.77 16.5 8.9 16.24 9C16.5 9 16.75 9.04 17 9.08M5 6C5 6.5 7.13 8 11 8S17 6.5 17 6 14.87 4 11 4 5 5.5 5 6M5 11.45C6.07 12.23 7.8 12.76 9.72 12.93C10.33 11.67 11.32 10.62 12.54 9.92C12.04 9.97 11.53 10 11 10C8.61 10 6.47 9.47 5 8.64V11.45M9.26 17.87C9.1 17.27 9 16.65 9 16C9 15.61 9.04 15.23 9.1 14.86C7.56 14.69 6.15 14.33 5 13.77V16C5 16.42 6.5 17.5 9.26 17.87M21 16C21 13.24 18.76 11 16 11S11 13.24 11 16 13.24 21 16 21 21 18.76 21 16Z\";\r\nexport var mdiDatabaseCog = \"M4 7C4 4.79 7.58 3 12 3S20 4.79 20 7 16.42 11 12 11 4 9.21 4 7M12.08 18L12 18C7.58 18 4 16.21 4 14V17C4 19.21 7.58 21 12 21C12.1 21 12.2 21 12.29 21C12.11 20.36 12 19.69 12 19C12 18.66 12.03 18.33 12.08 18M20 12.08C20 12.05 20 12.03 20 12V9C20 11.21 16.42 13 12 13S4 11.21 4 9V12C4 14.21 7.58 16 12 16C12.23 16 12.46 16 12.69 16C13.82 13.63 16.22 12 19 12C19.34 12 19.67 12.03 20 12.08M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\r\nexport var mdiDatabaseCogOutline = \"M12 14C9.58 14 7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.08C18.33 12.03 18.66 12 19 12C19.34 12 19.67 12.03 20 12.08V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.1 21 12.2 21 12.29 21C12.11 20.36 12 19.69 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.24 16 12.47 16 12.7 15.97C13.1 15.14 13.65 14.41 14.32 13.81C13.58 13.93 12.8 14 12 14M12 5C15.87 5 18 6.5 18 7S15.87 9 12 9 6 7.5 6 7 8.13 5 12 5M22.7 19.6V18.6L23.8 17.8C23.9 17.7 24 17.6 23.9 17.5L22.9 15.8C22.9 15.7 22.7 15.7 22.6 15.7L21.4 16.2C21.1 16 20.8 15.8 20.5 15.7L20.3 14.4C20.3 14.3 20.2 14.2 20.1 14.2H18.1C17.9 14.2 17.8 14.3 17.8 14.4L17.6 15.7C17.3 15.9 17.1 16 16.8 16.2L15.6 15.7C15.5 15.7 15.4 15.7 15.3 15.8L14.3 17.5C14.3 17.6 14.3 17.7 14.4 17.8L15.5 18.6V19.6L14.4 20.4C14.3 20.5 14.2 20.6 14.3 20.7L15.3 22.4C15.4 22.5 15.5 22.5 15.6 22.5L16.8 22C17 22.2 17.3 22.4 17.6 22.5L17.8 23.8C17.9 23.9 18 24 18.1 24H20.1C20.2 24 20.3 23.9 20.3 23.8L20.5 22.5C20.8 22.3 21 22.2 21.3 22L22.5 22.4C22.6 22.4 22.7 22.4 22.8 22.3L23.8 20.6C23.9 20.5 23.9 20.4 23.8 20.4L22.7 19.6M19 20.5C18.2 20.5 17.5 19.8 17.5 19S18.2 17.5 19 17.5 20.5 18.2 20.5 19 19.8 20.5 19 20.5Z\";\r\nexport var mdiDatabaseEdit = \"M4,14V17C4,19 7.05,20.72 11,21V18.11L11.13,18C7.12,17.76 4,16.06 4,14M12,13C7.58,13 4,11.21 4,9V12C4,14.21 7.58,16 12,16C12.39,16 12.77,16 13.16,16L17,12.12C15.4,12.72 13.71,13 12,13M12,3C7.58,3 4,4.79 4,7C4,9.21 7.58,11 12,11C16.42,11 20,9.21 20,7C20,4.79 16.42,3 12,3M21,11.13C20.85,11.13 20.71,11.19 20.61,11.3L19.61,12.3L21.66,14.3L22.66,13.3C22.87,13.1 22.88,12.76 22.66,12.53L21.42,11.3C21.32,11.19 21.18,11.13 21.04,11.13M19.04,12.88L13,18.94V21H15.06L21.12,14.93L19.04,12.88Z\";\r\nexport var mdiDatabaseEditOutline = \"M12 16C12.8 16 13.57 15.93 14.31 15.82L17.22 12.91C15.89 13.59 14 14 12 14C9.58 14 7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.13L19.39 10.74C19.57 10.56 19.78 10.42 20 10.3V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.04 7.06 20.72 11 20.97V19.13L11.17 18.96C7.84 18.76 6 17.46 6 17V14.77C7.61 15.55 9.72 16 12 16M12 5C15.87 5 18 6.5 18 7S15.87 9 12 9 6 7.5 6 7 8.13 5 12 5M19.13 13.83L21.17 15.87L15.04 22H13V19.96L19.13 13.83M22.85 14.19L21.87 15.17L19.83 13.13L20.81 12.15C21 11.95 21.33 11.95 21.53 12.15L22.85 13.47C23.05 13.67 23.05 14 22.85 14.19Z\";\r\nexport var mdiDatabaseExport = \"M12,3C7.58,3 4,4.79 4,7C4,9.21 7.58,11 12,11C12.5,11 13,10.97 13.5,10.92V9.5H16.39L15.39,8.5L18.9,5C17.5,3.8 14.94,3 12,3M18.92,7.08L17.5,8.5L20,11H15V13H20L17.5,15.5L18.92,16.92L23.84,12M4,9V12C4,14.21 7.58,16 12,16C13.17,16 14.26,15.85 15.25,15.63L16.38,14.5H13.5V12.92C13,12.97 12.5,13 12,13C7.58,13 4,11.21 4,9M4,14V17C4,19.21 7.58,21 12,21C14.94,21 17.5,20.2 18.9,19L17,17.1C15.61,17.66 13.9,18 12,18C7.58,18 4,16.21 4,14Z\";\r\nexport var mdiDatabaseExportOutline = \"M17.86 18L18.9 19C17.5 20.2 14.94 21 12 21C7.59 21 4 19.21 4 17V7C4 4.79 7.58 3 12 3C14.95 3 17.5 3.8 18.9 5L17.86 6L17.5 6.4C16.65 5.77 14.78 5 12 5C8.13 5 6 6.5 6 7S8.13 9 12 9C13.37 9 14.5 8.81 15.42 8.54L16.38 9.5H13.5V10.92C13 10.97 12.5 11 12 11C9.61 11 7.47 10.47 6 9.64V12.45C7.3 13.4 9.58 14 12 14C12.5 14 13 13.97 13.5 13.92V14.5H16.38L15.38 15.5L15.5 15.61C14.41 15.86 13.24 16 12 16C9.72 16 7.61 15.55 6 14.77V17C6 17.5 8.13 19 12 19C14.78 19 16.65 18.23 17.5 17.61L17.86 18M18.92 7.08L17.5 8.5L20 11H15V13H20L17.5 15.5L18.92 16.92L23.84 12L18.92 7.08Z\";\r\nexport var mdiDatabaseImport = \"M12,3C8.59,3 5.69,4.07 4.54,5.57L9.79,10.82C10.5,10.93 11.22,11 12,11C16.42,11 20,9.21 20,7C20,4.79 16.42,3 12,3M3.92,7.08L2.5,8.5L5,11H0V13H5L2.5,15.5L3.92,16.92L8.84,12M20,9C20,11.21 16.42,13 12,13C11.34,13 10.7,12.95 10.09,12.87L7.62,15.34C8.88,15.75 10.38,16 12,16C16.42,16 20,14.21 20,12M20,14C20,16.21 16.42,18 12,18C9.72,18 7.67,17.5 6.21,16.75L4.53,18.43C5.68,19.93 8.59,21 12,21C16.42,21 20,19.21 20,17\";\r\nexport var mdiDatabaseImportOutline = \"M8.84 12L3.92 16.92L2.5 15.5L5 13H0V11H5L2.5 8.5L3.92 7.08L8.84 12M12 3C8.59 3 5.68 4.07 4.53 5.57L5 6L6.03 7.07C6 7.05 6 7 6 7C6 6.5 8.13 5 12 5S18 6.5 18 7 15.87 9 12 9C9.38 9 7.58 8.31 6.68 7.72L9.8 10.84C10.5 10.94 11.24 11 12 11C14.39 11 16.53 10.47 18 9.64V12.45C16.7 13.4 14.42 14 12 14C11.04 14 10.1 13.9 9.24 13.73L7.59 15.37C8.91 15.77 10.41 16 12 16C14.28 16 16.39 15.55 18 14.77V17C18 17.5 15.87 19 12 19S6 17.5 6 17V16.96L5 18L4.54 18.43C5.69 19.93 8.6 21 12 21C16.41 21 20 19.21 20 17V7C20 4.79 16.42 3 12 3Z\";\r\nexport var mdiDatabaseLock = \"M11,3C15.42,3 19,4.79 19,7C19,9.21 15.42,11 11,11C6.58,11 3,9.21 3,7C3,4.79 6.58,3 11,3M19,12.03C17.11,12.24 15.57,13.62 15.13,15.43C13.92,15.79 12.5,16 11,16C6.58,16 3,14.21 3,12V9C3,11.21 6.58,13 11,13C15.42,13 19,11.21 19,9V12.03M14,17.71V20.71C13.07,20.9 12.06,21 11,21C6.58,21 3,19.21 3,17V14C3,16.21 6.58,18 11,18C12.06,18 13.07,17.9 14,17.71M19.5,14A2.5,2.5 0 0,1 22,16.5V17A1,1 0 0,1 23,18V22A1,1 0 0,1 22,23H17A1,1 0 0,1 16,22V18A1,1 0 0,1 17,17V16.5A2.5,2.5 0 0,1 19.5,14M19.5,15A1.5,1.5 0 0,0 18,16.5V17H21V16.5A1.5,1.5 0 0,0 19.5,15Z\";\r\nexport var mdiDatabaseLockOutline = \"M6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V11.05C18.17 11.03 18.33 11 18.5 11C19.03 11 19.53 11.1 20 11.26V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.34 21 12.67 21 13 20.97V18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.41 16 12.81 15.97 13.21 15.94C13.4 15.46 13.68 15.03 14.07 14.7C14.13 14.39 14.23 14.09 14.34 13.8C13.6 13.93 12.81 14 12 14C9.58 14 7.3 13.4 6 12.45M12 5C15.87 5 18 6.5 18 7S15.87 9 12 9 6 7.5 6 7 8.13 5 12 5M21 16V15.5C21 14.12 19.88 13 18.5 13S16 14.12 16 15.5V16C15.45 16 15 16.45 15 17V21C15 21.55 15.45 22 16 22H21C21.55 22 22 21.55 22 21V17C22 16.45 21.55 16 21 16M20 16H17V15.5C17 14.67 17.67 14 18.5 14S20 14.67 20 15.5V16Z\";\r\nexport var mdiDatabaseMarker = \"M18.5 12C16.6 12 15 13.6 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5C22 13.6 20.4 12 18.5 12M18.5 16.8C17.8 16.8 17.3 16.2 17.3 15.6C17.3 14.9 17.9 14.4 18.5 14.4S19.7 15 19.7 15.6C19.8 16.2 19.2 16.8 18.5 16.8M4 12V9C4 11.21 7.58 13 12 13C12.57 13 13.13 12.97 13.67 12.91C13.25 13.69 13 14.57 13 15.5C13 15.65 13 15.81 13.03 15.96C12.69 16 12.35 16 12 16C7.58 16 4 14.21 4 12M4 7C4 4.79 7.58 3 12 3S20 4.79 20 7 16.42 11 12 11 4 9.21 4 7M15 20.71C14.07 20.9 13.06 21 12 21C7.58 21 4 19.21 4 17V14C4 16.21 7.58 18 12 18C12.5 18 13.03 17.97 13.5 17.93C13.9 18.91 14.44 19.87 15 20.71Z\";\r\nexport var mdiDatabaseMarkerOutline = \"M12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.35 16 12.69 15.97 13.03 15.95C13 15.8 13 15.65 13 15.5C13 14.96 13.09 14.44 13.24 13.94C12.83 14 12.42 14 12 14C9.58 14 7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V10.03C18.17 10 18.33 10 18.5 10C19 10 19.5 10.08 20 10.22V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C13.06 21 14.07 20.89 15 20.71C14.62 20.14 14.25 19.5 13.93 18.85C13.34 18.94 12.71 19 12 19M12 5C15.87 5 18 6.5 18 7S15.87 9 12 9 6 7.5 6 7 8.13 5 12 5M18.5 12C16.6 12 15 13.6 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5C22 13.6 20.4 12 18.5 12M18.5 16.8C17.8 16.8 17.3 16.2 17.3 15.6C17.3 14.9 17.9 14.4 18.5 14.4S19.7 15 19.7 15.6C19.8 16.2 19.2 16.8 18.5 16.8Z\";\r\nexport var mdiDatabaseMinus = \"M23 17V19H15V17M12 3C16.42 3 20 4.79 20 7S16.42 11 12 11 4 9.21 4 7 7.58 3 12 3M4 9C4 11.21 7.58 13 12 13S20 11.21 20 9V12.08L19 12C16.41 12 14.2 13.64 13.36 15.94L12 16C7.58 16 4 14.21 4 12V9M4 14C4 16.21 7.58 18 12 18H13C13 19.05 13.27 20.04 13.75 20.9L12 21C7.58 21 4 19.21 4 17V14Z\";\r\nexport var mdiDatabaseMinusOutline = \"M20 13.09V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19L13 18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.65 16 13.27 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.34 13 19.67 13.04 20 13.09M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M23 18V20H15V18H23Z\";\r\nexport var mdiDatabaseOff = \"M19.07 15.87C19.66 15.31 20 14.68 20 14V16.8L19.07 15.87M20 9C20 10.54 18.27 11.86 15.73 12.53L17.89 14.69C19.19 14 20 13.04 20 12V9M20 7C20 4.79 16.42 3 12 3C10.13 3 8.42 3.33 7.06 3.86L14.06 10.86C17.5 10.41 20 8.85 20 7M2.39 1.73L1.11 3L4.21 6.1C4.08 6.39 4 6.69 4 7C4 8.63 5.96 10.04 8.77 10.66L11.08 12.97C7.1 12.74 4 11.06 4 9V12C4 14.21 7.58 16 12 16C12.69 16 13.35 15.95 14 15.87L15.66 17.55C14.57 17.84 13.32 18 12 18C7.58 18 4 16.21 4 14V17C4 19.21 7.58 21 12 21C14.31 21 16.38 20.5 17.84 19.73L20.84 22.73L22.11 21.46L2.39 1.73Z\";\r\nexport var mdiDatabaseOffOutline = \"M2.39 1.73L1.11 3L4.21 6.1C4.08 6.39 4 6.69 4 7V17C4 19.21 7.59 21 12 21C14.3 21 16.38 20.5 17.84 19.73L20.84 22.73L22.11 21.46L2.39 1.73M6 9.64C6.76 10.07 7.7 10.42 8.76 10.65L12.11 14C12.07 14 12.04 14 12 14C9.58 14 7.3 13.4 6 12.45V9.64M12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.68 16 13.34 15.95 14 15.87L16.34 18.23C15.33 18.65 13.87 19 12 19M8.64 5.44L7.06 3.86C8.42 3.33 10.13 3 12 3C16.42 3 20 4.79 20 7V16.8L18 14.8V14.77L18 14.78L16.45 13.25C17.05 13.03 17.58 12.76 18 12.45V9.64C16.97 10.22 15.61 10.65 14.06 10.86L12.19 9C15.94 8.94 18 7.5 18 7C18 6.5 15.87 5 12 5C10.66 5 9.54 5.18 8.64 5.44Z\";\r\nexport var mdiDatabaseOutline = \"M12 3C7.58 3 4 4.79 4 7V17C4 19.21 7.59 21 12 21S20 19.21 20 17V7C20 4.79 16.42 3 12 3M18 17C18 17.5 15.87 19 12 19S6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16S16.39 15.55 18 14.77V17M18 12.45C16.7 13.4 14.42 14 12 14C9.58 14 7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11C14.39 11 16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5C15.87 5 18 6.5 18 7S15.87 9 12 9Z\";\r\nexport var mdiDatabasePlus = \"M18,14H20V17H23V19H20V22H18V19H15V17H18V14M12,3C16.42,3 20,4.79 20,7C20,9.21 16.42,11 12,11C7.58,11 4,9.21 4,7C4,4.79 7.58,3 12,3M4,9C4,11.21 7.58,13 12,13C16.42,13 20,11.21 20,9V9L20,12.08L19,12C16.41,12 14.2,13.64 13.36,15.94L12,16C7.58,16 4,14.21 4,12V9M4,14C4,16.21 7.58,18 12,18H13C13,19.05 13.27,20.04 13.75,20.9L12,21C7.58,21 4,19.21 4,17V14Z\";\r\nexport var mdiDatabasePlusOutline = \"M20 13.09V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19L13 18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.65 16 13.27 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.34 13 19.67 13.04 20 13.09M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M23 18V20H20V23H18V20H15V18H18V15H20V18H23Z\";\r\nexport var mdiDatabaseRefresh = \"M12 3C16.42 3 20 4.79 20 7C20 9.21 16.42 11 12 11C7.58 11 4 9.21 4 7C4 4.79 7.58 3 12 3M4 9C4 11.21 7.58 13 12 13C13.11 13 14.18 12.89 15.14 12.68C14.19 13.54 13.5 14.67 13.18 15.96L12 16C7.58 16 4 14.21 4 12V9M20 9V11L19.5 11L18.9 11.03C19.6 10.43 20 9.74 20 9M4 14C4 16.21 7.58 18 12 18L13 17.97C13.09 19.03 13.42 20 13.95 20.88L12 21C7.58 21 4 19.21 4 17V14M19 13.5C20.11 13.5 21.11 13.95 21.83 14.67L23 13.5V17.5H19L20.77 15.73C20.32 15.28 19.69 15 19 15C17.62 15 16.5 16.12 16.5 17.5C16.5 18.88 17.62 20 19 20C19.82 20 20.54 19.61 21 19H22.71C22.12 20.47 20.68 21.5 19 21.5C16.79 21.5 15 19.71 15 17.5C15 15.29 16.79 13.5 19 13.5Z\";\r\nexport var mdiDatabaseRefreshOutline = \"M6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.03C18.17 12 18.33 12 18.5 12C19 12 19.5 12.07 20 12.18V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.17 21 12.33 21 12.5 21C12.24 20.37 12.09 19.7 12.03 19L12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.17 16 12.34 16 12.5 16C12.85 15.18 13.34 14.46 13.95 13.86C13.32 13.95 12.67 14 12 14C9.58 14 7.3 13.4 6 12.45M12 5C15.87 5 18 6.5 18 7S15.87 9 12 9 6 7.5 6 7 8.13 5 12 5M18 18.5L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5S16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5S15.79 14.5 18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18Z\";\r\nexport var mdiDatabaseRemove = \"M15.46,15.88L16.88,14.46L19,16.59L21.12,14.47L22.53,15.88L20.41,18L22.54,20.12L21.12,21.54L19,19.41L16.88,21.53L15.47,20.12L17.59,18L15.46,15.88M12,3C16.42,3 20,4.79 20,7C20,9.21 16.42,11 12,11C7.58,11 4,9.21 4,7C4,4.79 7.58,3 12,3M4,9C4,11.21 7.58,13 12,13C16.42,13 20,11.21 20,9V12.08L19,12C16.41,12 14.2,13.64 13.36,15.94L12,16C7.58,16 4,14.21 4,12V9M4,14C4,16.21 7.58,18 12,18H13C13,19.05 13.27,20.04 13.75,20.9L12,21C7.58,21 4,19.21 4,17V14Z\";\r\nexport var mdiDatabaseRemoveOutline = \"M20 13.09V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19L13 18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.65 16 13.27 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.34 13 19.67 13.04 20 13.09M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19\";\r\nexport var mdiDatabaseSearch = \"M18.68,12.32C16.92,10.56 14.07,10.57 12.32,12.33C10.56,14.09 10.56,16.94 12.32,18.69C13.81,20.17 16.11,20.43 17.89,19.32L21,22.39L22.39,21L19.3,17.89C20.43,16.12 20.17,13.8 18.68,12.32M17.27,17.27C16.29,18.25 14.71,18.24 13.73,17.27C12.76,16.29 12.76,14.71 13.74,13.73C14.71,12.76 16.29,12.76 17.27,13.73C18.24,14.71 18.24,16.29 17.27,17.27M10.9,20.1C10.25,19.44 9.74,18.65 9.42,17.78C6.27,17.25 4,15.76 4,14V17C4,19.21 7.58,21 12,21V21C11.6,20.74 11.23,20.44 10.9,20.1M4,9V12C4,13.68 6.07,15.12 9,15.7C9,15.63 9,15.57 9,15.5C9,14.57 9.2,13.65 9.58,12.81C6.34,12.3 4,10.79 4,9M12,3C7.58,3 4,4.79 4,7C4,9 7,10.68 10.85,11H10.9C12.1,9.74 13.76,9 15.5,9C16.41,9 17.31,9.19 18.14,9.56C19.17,9.09 19.87,8.12 20,7C20,4.79 16.42,3 12,3Z\";\r\nexport var mdiDatabaseSearchOutline = \"M11 18.95C7.77 18.72 6 17.45 6 17V14.77C7.13 15.32 8.5 15.69 10 15.87C10 15.21 10.04 14.54 10.21 13.89C8.5 13.67 6.97 13.16 6 12.45V9.64C7.43 10.45 9.5 10.97 11.82 11C11.85 10.97 11.87 10.93 11.9 10.9C14.1 8.71 17.5 8.41 20 10.03V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.34 21 12.68 21 13 20.97C12.62 20.72 12.24 20.44 11.9 20.1C11.55 19.74 11.25 19.36 11 18.95M12 5C15.87 5 18 6.5 18 7S15.87 9 12 9 6 7.5 6 7 8.13 5 12 5M20.31 17.9C20.75 17.21 21 16.38 21 15.5C21 13 19 11 16.5 11S12 13 12 15.5 14 20 16.5 20C17.37 20 18.19 19.75 18.88 19.32L22 22.39L23.39 21L20.31 17.9M16.5 18C15.12 18 14 16.88 14 15.5S15.12 13 16.5 13 19 14.12 19 15.5 17.88 18 16.5 18Z\";\r\nexport var mdiDatabaseSettings = \"M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22M12,3C16.42,3 20,4.79 20,7C20,9.21 16.42,11 12,11C7.58,11 4,9.21 4,7C4,4.79 7.58,3 12,3M4,9C4,11.21 7.58,13 12,13C16.42,13 20,11.21 20,9V12C20,14.21 16.42,16 12,16C7.58,16 4,14.21 4,12V9M4,14C4,16.21 7.58,18 12,18C16.42,18 20,16.21 20,14V17C20,18.19 18.95,19.27 17.29,20H6.71C5.05,19.27 4,18.19 4,17V14Z\";\r\nexport var mdiDatabaseSettingsOutline = \"M12 3C7.58 3 4 4.79 4 7V17C4 18.2 5.06 19.27 6.73 20H17.27C18.94 19.27 20 18.2 20 17V7C20 4.79 16.42 3 12 3M18 17C18 17.5 15.87 19 12 19S6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16S16.39 15.55 18 14.77V17M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M7 22H9V24H7V22M15 22H17V24H15V22M11 22H13V24H11V22Z\";\r\nexport var mdiDatabaseSync = \"M19,12V13.5A4,4 0 0,1 23,17.5C23,18.32 22.75,19.08 22.33,19.71L21.24,18.62C21.41,18.28 21.5,17.9 21.5,17.5A2.5,2.5 0 0,0 19,15V16.5L16.75,14.25L19,12M19,23V21.5A4,4 0 0,1 15,17.5C15,16.68 15.25,15.92 15.67,15.29L16.76,16.38C16.59,16.72 16.5,17.1 16.5,17.5A2.5,2.5 0 0,0 19,20V18.5L21.25,20.75L19,23M12,3C16.42,3 20,4.79 20,7C20,9.21 16.42,11 12,11C7.58,11 4,9.21 4,7C4,4.79 7.58,3 12,3M4,9C4,11.21 7.58,13 12,13C13.11,13 14.17,12.89 15.14,12.68C14.19,13.54 13.5,14.67 13.18,15.96L12,16C7.58,16 4,14.21 4,12V9M20,9V11H19.5L18.9,11.03C19.6,10.43 20,9.74 20,9M4,14C4,16.21 7.58,18 12,18L13,17.97C13.09,19.03 13.42,20 13.95,20.88L12,21C7.58,21 4,19.21 4,17V14Z\";\r\nexport var mdiDatabaseSyncOutline = \"M12 16C12.41 16 12.81 15.97 13.21 15.94C13.4 15.18 13.72 14.46 14.16 13.83C13.47 13.94 12.74 14 12 14C9.58 14 7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V11.19C18.5 11.07 19 11 19.55 11C19.7 11 19.85 11 20 11.03V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.66 21 13.31 20.96 13.92 20.88C13.57 20.29 13.31 19.64 13.16 18.94C12.79 19 12.41 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16M12 5C15.87 5 18 6.5 18 7S15.87 9 12 9 6 7.5 6 7 8.13 5 12 5M23 17.5C23 18.32 22.75 19.08 22.33 19.71L21.24 18.62C21.41 18.28 21.5 17.9 21.5 17.5C21.5 16.12 20.38 15 19 15V16.5L16.75 14.25L19 12V13.5C21.21 13.5 23 15.29 23 17.5M19 18.5L21.25 20.75L19 23V21.5C16.79 21.5 15 19.71 15 17.5C15 16.68 15.25 15.92 15.67 15.29L16.76 16.38C16.59 16.72 16.5 17.1 16.5 17.5C16.5 18.88 17.62 20 19 20V18.5Z\";\r\nexport var mdiDeathStar = \"M2.05,13H21.95C21.45,18.05 17.19,22 12,22C6.82,22 2.55,18.05 2.05,13M21.95,11H2.05C2.55,5.95 6.82,2 12,2C17.18,2 21.45,5.95 21.95,11M12,6.75A2.5,2.5 0 0,0 9.5,4.25A2.5,2.5 0 0,0 7,6.75A2.5,2.5 0 0,0 9.5,9.25A2.5,2.5 0 0,0 12,6.75Z\";\r\nexport var mdiDeathStarVariant = \"M2.05,13H21.94C21.88,13.69 21.74,14.36 21.54,15H14V17H17V19H15V21H12.5V22C12.33,22 12.17,22 12,22C6.82,22 2.55,18.05 2.05,13M21.94,11H2.05C2.55,5.95 6.82,2 12,2C13.62,2 15.15,2.39 16.5,3.08V5H18.5V7H20V9H21.54C21.74,9.64 21.88,10.31 21.94,11M12,6.75A2.5,2.5 0 0,0 9.5,4.25A2.5,2.5 0 0,0 7,6.75A2.5,2.5 0 0,0 9.5,9.25A2.5,2.5 0 0,0 12,6.75Z\";\r\nexport var mdiDeathlyHallows = \"M12,2L1,21H23L12,2M12.75,11.47C14.56,11.87 15.7,13.67 15.3,15.5C15,16.75 14,17.75 12.75,18.03V11.47M11.25,18C9.44,17.6 8.3,15.8 8.7,14C9,12.72 10,11.72 11.25,11.44V18M16.88,14.72C16.83,12.35 15.09,10.36 12.75,10V6.29L20.4,19.5H13.07C15.29,19 16.87,17.03 16.88,14.75V14.72M11.25,6.29V10C8.6,10.4 6.77,12.88 7.18,15.54C7.5,17.5 8.97,19.12 10.93,19.55H3.6L11.25,6.29Z\";\r\nexport var mdiDebian = \"M18.5,10.57L18.3,10.94C18.56,10.16 18.41,9.31 18.45,8.57L18.38,8.55C18.31,6.7 16.71,4.73 15.29,4.07C14.06,3.5 12.17,3.4 11.3,3.83C11.42,3.72 11.9,3.68 11.75,3.6C10.38,3.73 10.69,4.07 9.64,4.34C9.35,4.62 10.5,4.12 9.87,4.5C9.31,4.63 9.05,4.38 8.22,5.24C8.29,5.36 8.75,4.89 8.37,5.36C7.58,5.27 5.89,7.16 5.53,7.78L5.72,7.82C5.41,8.59 5,9.08 4.95,9.54C4.87,10.68 4.5,12.75 5.03,13.39L4.97,13.92L5.2,14.37L5.08,14.38C5.66,16.21 5.7,14.42 6.47,16.32C6.36,16.28 6.24,16.24 6.08,16C6.06,16.19 6.32,16.69 6.62,17.08L6.5,17.22C6.66,17.53 6.82,17.6 6.93,17.71C6.3,17.36 7.5,18.84 7.63,19.03L7.73,18.86C7.71,19.1 7.9,19.42 8.26,19.87L8.56,19.86C8.69,20.1 9.14,20.54 9.41,20.56L9.23,20.8C9.92,21 9.56,21.09 10.41,21.39L10.24,21.09C10.67,21.46 10.8,21.79 11.41,22.07C12.26,22.37 12.37,22.25 13.23,22.5C12.5,22.5 11.64,22.5 11.06,22.28C7.1,21.21 3.5,16.56 3.74,11.78C3.68,10.81 3.84,9.6 3.68,9.36C3.9,8.62 4.16,7.72 4.69,6.65C4.65,6.58 4.78,6.86 5.05,6.41C5.21,6.05 5.34,5.66 5.55,5.31L5.65,5.28C5.76,4.67 7.08,3.73 7.5,3.26V3.44C8.36,2.63 9.9,2.09 10.76,1.71C10.53,1.96 11.27,1.68 11.8,1.65L11.31,1.93C11.94,1.77 11.91,2 12.56,1.9C12.33,1.93 12.06,2 12.1,2.06C12.82,2.14 12.94,1.84 13.61,2.06L13.56,1.86C14.5,2.2 14.69,2.14 15.7,2.68C16.06,2.69 16.1,2.46 16.63,2.68C16.73,2.84 16.61,2.87 17.27,3.27C17.34,3.24 17.14,3.05 17,2.9C18.3,3.61 19.75,5.12 20.18,6.74C19.77,6 20.14,7.13 20,7.07C20.18,7.56 20.33,8.07 20.43,8.6C20.31,8.17 20.04,7.12 19.57,6.45C19.54,6.88 18.97,6.15 19.28,7.11C19.5,7.45 19.33,6.76 19.62,7.36C19.62,7.65 19.73,7.94 19.8,8.31C19.7,8.29 19.58,7.9 19.5,8C19.6,8.5 19.77,8.72 19.83,8.76C19.8,8.84 19.71,8.68 19.71,9C19.75,9.74 19.92,9.43 20,9.46C19.91,9.83 19.59,10.25 19.75,10.88L19.55,10.32C19.5,10.85 19.66,10.95 19.42,11.6C19.6,11 19.58,10.5 19.41,10.75C19.5,11.57 18.76,12.2 18.83,12.73L18.62,12.44C18.05,13.27 18.61,12.89 18.22,13.5C18.36,13.27 18.15,13.42 18.33,13.14C18.21,13.15 17.78,13.67 17.39,13.97C15.85,15.2 14,15.37 12.24,14.7H12.23C12.24,14.66 12.23,14.61 12.11,14.53C10.6,13.38 9.71,12.4 10,10.12C10.25,9.95 10.31,9 10.84,8.67C11.16,7.96 12.12,7.31 13.15,7.29C14.2,7.23 15.09,7.85 15.54,8.43C14.72,7.68 13.4,7.45 12.26,8C11.11,8.53 10.42,9.8 10.5,11.07C10.56,11 10.6,11.05 10.62,10.89C10.59,13.36 13.28,15.17 15.22,14.26L15.25,14.31C16.03,14.09 15.93,13.92 16.44,13.56C16.4,13.65 16.1,13.86 16.28,13.86C16.53,13.8 17.31,13.07 17.7,12.73C17.87,12.35 17.6,12.5 17.85,12.04L18.15,11.89C18.32,11.41 18.5,11.14 18.5,10.57\";\r\nexport var mdiDebugStepInto = \"M12,22A2,2 0 0,1 10,20A2,2 0 0,1 12,18A2,2 0 0,1 14,20A2,2 0 0,1 12,22M13,2V13L17.5,8.5L18.92,9.92L12,16.84L5.08,9.92L6.5,8.5L11,13V2H13Z\";\r\nexport var mdiDebugStepOut = \"M12,22A2,2 0 0,1 10,20A2,2 0 0,1 12,18A2,2 0 0,1 14,20A2,2 0 0,1 12,22M13,16H11V6L6.5,10.5L5.08,9.08L12,2.16L18.92,9.08L17.5,10.5L13,6V16Z\";\r\nexport var mdiDebugStepOver = \"M12,14A2,2 0 0,1 14,16A2,2 0 0,1 12,18A2,2 0 0,1 10,16A2,2 0 0,1 12,14M23.46,8.86L21.87,15.75L15,14.16L18.8,11.78C17.39,9.5 14.87,8 12,8C8.05,8 4.77,10.86 4.12,14.63L2.15,14.28C2.96,9.58 7.06,6 12,6C15.58,6 18.73,7.89 20.5,10.72L23.46,8.86Z\";\r\nexport var mdiDecagram = \"M23,12L20.56,9.22L20.9,5.54L17.29,4.72L15.4,1.54L12,3L8.6,1.54L6.71,4.72L3.1,5.53L3.44,9.21L1,12L3.44,14.78L3.1,18.47L6.71,19.29L8.6,22.47L12,21L15.4,22.46L17.29,19.28L20.9,18.46L20.56,14.78L23,12Z\";\r\nexport var mdiDecagramOutline = \"M23,12L20.56,14.78L20.9,18.46L17.29,19.28L15.4,22.46L12,21L8.6,22.47L6.71,19.29L3.1,18.47L3.44,14.78L1,12L3.44,9.21L3.1,5.53L6.71,4.72L8.6,1.54L12,3L15.4,1.54L17.29,4.72L20.9,5.54L20.56,9.22L23,12M20.33,12L18.5,9.89L18.74,7.1L16,6.5L14.58,4.07L12,5.18L9.42,4.07L8,6.5L5.26,7.09L5.5,9.88L3.67,12L5.5,14.1L5.26,16.9L8,17.5L9.42,19.93L12,18.81L14.58,19.92L16,17.5L18.74,16.89L18.5,14.1L20.33,12Z\";\r\nexport var mdiDecimal = \"M10 7A3 3 0 0 0 7 10V13A3 3 0 0 0 13 13V10A3 3 0 0 0 10 7M11 13A1 1 0 0 1 9 13V10A1 1 0 0 1 11 10M17 7A3 3 0 0 0 14 10V13A3 3 0 0 0 20 13V10A3 3 0 0 0 17 7M18 13A1 1 0 0 1 16 13V10A1 1 0 0 1 18 10M6 15A1 1 0 1 1 5 14A1 1 0 0 1 6 15Z\";\r\nexport var mdiDecimalComma = \"M10 7A3 3 0 0 1 13 10V13A3 3 0 0 1 7 13V10A3 3 0 0 1 10 7M10 9A1 1 0 0 0 9 10V13A1 1 0 0 0 11 13V10A1 1 0 0 0 10 9M17 7A3 3 0 0 1 20 10V13A3 3 0 0 1 14 13V10A3 3 0 0 1 17 7M17 9A1 1 0 0 0 16 10V13A1 1 0 0 0 18 13V10A1 1 0 0 0 17 9M5 14A1 1 0 0 0 4 15L5 18H6V15A1 1 0 0 0 5 14Z\";\r\nexport var mdiDecimalCommaDecrease = \"M5 13V16H4L3 13A1 1 0 0 1 5 13M15 16V14L12 17L15 20V18H21V16M12 11A3 3 0 0 1 6 11V8A3 3 0 0 1 12 8M10 8A1 1 0 0 0 8 8V11A1 1 0 0 0 10 11Z\";\r\nexport var mdiDecimalCommaIncrease = \"M9 5A3 3 0 0 0 6 8V11A3 3 0 0 0 12 11V8A3 3 0 0 0 9 5M10 11A1 1 0 0 1 8 11V8A1 1 0 0 1 10 8M16 14A3 3 0 0 0 19 11V8A3 3 0 0 0 13 8V11A3 3 0 0 0 16 14M15 8A1 1 0 0 1 17 8V11A1 1 0 0 1 15 11M19 20V18H13V16H19V14L22 17M5 13V16H4L3 13A1 1 0 0 1 5 13Z\";\r\nexport var mdiDecimalDecrease = \"M12,17L15,20V18H21V16H15V14L12,17M9,5A3,3 0 0,1 12,8V11A3,3 0 0,1 9,14A3,3 0 0,1 6,11V8A3,3 0 0,1 9,5M9,7A1,1 0 0,0 8,8V11A1,1 0 0,0 9,12A1,1 0 0,0 10,11V8A1,1 0 0,0 9,7M4,12A1,1 0 0,1 5,13A1,1 0 0,1 4,14A1,1 0 0,1 3,13A1,1 0 0,1 4,12Z\";\r\nexport var mdiDecimalIncrease = \"M22,17L19,20V18H13V16H19V14L22,17M9,5A3,3 0 0,1 12,8V11A3,3 0 0,1 9,14A3,3 0 0,1 6,11V8A3,3 0 0,1 9,5M9,7A1,1 0 0,0 8,8V11A1,1 0 0,0 9,12A1,1 0 0,0 10,11V8A1,1 0 0,0 9,7M16,5A3,3 0 0,1 19,8V11A3,3 0 0,1 16,14A3,3 0 0,1 13,11V8A3,3 0 0,1 16,5M16,7A1,1 0 0,0 15,8V11A1,1 0 0,0 16,12A1,1 0 0,0 17,11V8A1,1 0 0,0 16,7M4,12A1,1 0 0,1 5,13A1,1 0 0,1 4,14A1,1 0 0,1 3,13A1,1 0 0,1 4,12Z\";\r\nexport var mdiDelete = \"M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z\";\r\nexport var mdiDeleteAlert = \"M17 4V6H3V4H6.5L7.5 3H12.5L13.5 4H17M4 19V7H16V19C16 20.1 15.1 21 14 21H6C4.9 21 4 20.1 4 19M19 15H21V17H19V15M19 7H21V13H19V7Z\";\r\nexport var mdiDeleteAlertOutline = \"M4 19V7H16V19C16 20.1 15.1 21 14 21H6C4.9 21 4 20.1 4 19M6 9V19H14V9H6M13.5 4H17V6H3V4H6.5L7.5 3H12.5L13.5 4M19 17V15H21V17H19M19 13V7H21V13H19Z\";\r\nexport var mdiDeleteCircle = \"M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M17,7H14.5L13.5,6H10.5L9.5,7H7V9H17V7M9,18H15A1,1 0 0,0 16,17V10H8V17A1,1 0 0,0 9,18Z\";\r\nexport var mdiDeleteCircleOutline = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4M16,10V17A1,1 0 0,1 15,18H9A1,1 0 0,1 8,17V10H16M13.5,6L14.5,7H17V9H7V7H9.5L10.5,6H13.5Z\";\r\nexport var mdiDeleteClock = \"M15 13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69V13M23 16C23 19.87 19.87 23 16 23C14.09 23 12.36 22.24 11.1 21H8C6.9 21 6 20.1 6 19V7H18V9.29C20.89 10.15 23 12.83 23 16M16 11C13.24 11 11 13.24 11 16C11 18.76 13.24 21 16 21C18.76 21 21 18.76 21 16C21 13.24 18.76 11 16 11M19 4V6H5V4H8.5L9.5 3H14.5L15.5 4H19Z\";\r\nexport var mdiDeleteClockOutline = \"M15 13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69V13M23 16C23 19.87 19.87 23 16 23C14.09 23 12.36 22.24 11.1 21H8C6.9 21 6 20.1 6 19V7H18V9.29C20.89 10.15 23 12.83 23 16M9 16C9 12.13 12.13 9 16 9H8V19H9.67C9.24 18.09 9 17.07 9 16M16 11C13.24 11 11 13.24 11 16C11 18.76 13.24 21 16 21C18.76 21 21 18.76 21 16C21 13.24 18.76 11 16 11M15.5 4H19V6H5V4H8.5L9.5 3H14.5L15.5 4Z\";\r\nexport var mdiDeleteEmpty = \"M20.37,8.91L19.37,10.64L7.24,3.64L8.24,1.91L11.28,3.66L12.64,3.29L16.97,5.79L17.34,7.16L20.37,8.91M6,19V7H11.07L18,11V19A2,2 0 0,1 16,21H8A2,2 0 0,1 6,19Z\";\r\nexport var mdiDeleteEmptyOutline = \"M20.37,8.91L19.37,10.64L7.24,3.64L8.24,1.91L11.28,3.66L12.64,3.29L16.97,5.79L17.34,7.16L20.37,8.91M6,19V7H11.07L18,11V19A2,2 0 0,1 16,21H8A2,2 0 0,1 6,19M8,19H16V12.2L10.46,9H8V19Z\";\r\nexport var mdiDeleteForever = \"M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19M8.46,11.88L9.87,10.47L12,12.59L14.12,10.47L15.53,11.88L13.41,14L15.53,16.12L14.12,17.53L12,15.41L9.88,17.53L8.47,16.12L10.59,14L8.46,11.88M15.5,4L14.5,3H9.5L8.5,4H5V6H19V4H15.5Z\";\r\nexport var mdiDeleteForeverOutline = \"M14.12,10.47L12,12.59L9.87,10.47L8.46,11.88L10.59,14L8.47,16.12L9.88,17.53L12,15.41L14.12,17.53L15.53,16.12L13.41,14L15.53,11.88L14.12,10.47M15.5,4L14.5,3H9.5L8.5,4H5V6H19V4H15.5M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19M8,9H16V19H8V9Z\";\r\nexport var mdiDeleteOff = \"M2 5.27L3.28 4L5 5.72L5.28 6L6.28 7L18 18.72L20 20.72L18.73 22L17.27 20.54C16.93 20.83 16.5 21 16 21H8C6.9 21 6 20.1 6 19V9.27L2 5.27M19 4V6H7.82L5.82 4H8.5L9.5 3H14.5L15.5 4H19M18 7V16.18L8.82 7H18Z\";\r\nexport var mdiDeleteOffOutline = \"M2 5.27L3.28 4L5 5.72L5.28 6L6.28 7L8.28 9L16 16.72L18 18.72L20 20.72L18.73 22L17.27 20.54C16.93 20.83 16.5 21 16 21H8C6.9 21 6 20.1 6 19V9.27L2 5.27M8 19H15.73L8 11.27V19M18 7V16.18L16 14.18V9H10.82L8.82 7H18M15.5 4H19V6H7.82L5.82 4H8.5L9.5 3H14.5L15.5 4Z\";\r\nexport var mdiDeleteOutline = \"M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19M8,9H16V19H8V9M15.5,4L14.5,3H9.5L8.5,4H5V6H19V4H15.5Z\";\r\nexport var mdiDeleteRestore = \"M14,14H16L12,10L8,14H10V18H14V14M6,7H18V19C18,19.5 17.8,20 17.39,20.39C17,20.8 16.5,21 16,21H8C7.5,21 7,20.8 6.61,20.39C6.2,20 6,19.5 6,19V7M19,4V6H5V4H8.5L9.5,3H14.5L15.5,4H19Z\";\r\nexport var mdiDeleteSweep = \"M15,16H19V18H15V16M15,8H22V10H15V8M15,12H21V14H15V12M3,18A2,2 0 0,0 5,20H11A2,2 0 0,0 13,18V8H3V18M14,5H11L10,4H6L5,5H2V7H14V5Z\";\r\nexport var mdiDeleteSweepOutline = \"M15,16H19V18H15V16M15,8H22V10H15V8M15,12H21V14H15V12M11,10V18H5V10H11M13,8H3V18A2,2 0 0,0 5,20H11A2,2 0 0,0 13,18V8M14,5H11L10,4H6L5,5H2V7H14V5Z\";\r\nexport var mdiDeleteVariant = \"M21.03,3L18,20.31C17.83,21.27 17,22 16,22H8C7,22 6.17,21.27 6,20.31L2.97,3H21.03M5.36,5L8,20H16L18.64,5H5.36M9,18V14H13V18H9M13,13.18L9.82,10L13,6.82L16.18,10L13,13.18Z\";\r\nexport var mdiDelta = \"M12,7.77L18.39,18H5.61L12,7.77M12,4L2,20H22\";\r\nexport var mdiDesk = \"M3 6H21C21.55 6 22 6.45 22 7C22 7.55 21.55 8 21 8V19H19V17H15V19H13V8H5V19H3V8C2.45 8 2 7.55 2 7C2 6.45 2.45 6 3 6M16 10.5V11H18V10.5C18 10.22 17.78 10 17.5 10H16.5C16.22 10 16 10.22 16 10.5M16 14.5V15H18V14.5C18 14.22 17.78 14 17.5 14H16.5C16.22 14 16 14.22 16 14.5Z\";\r\nexport var mdiDeskLamp = \"M10.85,2L9.18,4.5L10.32,5.25L7.14,10C7.1,10 7.05,10 7,10A2,2 0 0,0 5,12C5,12.94 5.66,13.75 6.58,13.95L10.62,20H7V22H17V20H13L8.53,13.28C8.83,12.92 9,12.47 9,12C9,11.7 8.93,11.4 8.8,11.13L12,6.37C11.78,8.05 12.75,9.89 14.45,11L18.89,4.37C17.2,3.24 15.12,3.04 13.65,3.87L10.85,2M18.33,7L16.67,9.5C17.35,9.95 18.29,9.77 18.75,9.08C19.21,8.39 19,7.46 18.33,7Z\";\r\nexport var mdiDeskphone = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M15,5V19H19V5H15M5,5V9H13V5H5M5,11V13H7V11H5M8,11V13H10V11H8M11,11V13H13V11H11M5,14V16H7V14H5M8,14V16H10V14H8M11,14V16H13V14H11M11,17V19H13V17H11M8,17V19H10V17H8M5,17V19H7V17H5Z\";\r\nexport var mdiDesktopClassic = \"M6,2C4.89,2 4,2.89 4,4V12C4,13.11 4.89,14 6,14H18C19.11,14 20,13.11 20,12V4C20,2.89 19.11,2 18,2H6M6,4H18V12H6V4M4,15C2.89,15 2,15.89 2,17V20C2,21.11 2.89,22 4,22H20C21.11,22 22,21.11 22,20V17C22,15.89 21.11,15 20,15H4M8,17H20V20H8V17M9,17.75V19.25H13V17.75H9M15,17.75V19.25H19V17.75H15Z\";\r\nexport var mdiDesktopMac = \"M21,14H3V4H21M21,2H3C1.89,2 1,2.89 1,4V16A2,2 0 0,0 3,18H10L8,21V22H16V21L14,18H21A2,2 0 0,0 23,16V4C23,2.89 22.1,2 21,2Z\";\r\nexport var mdiDesktopMacDashboard = \"M21,14V4H3V14H21M21,2A2,2 0 0,1 23,4V16A2,2 0 0,1 21,18H14L16,21V22H8V21L10,18H3C1.89,18 1,17.1 1,16V4C1,2.89 1.89,2 3,2H21M4,5H15V10H4V5M16,5H20V7H16V5M20,8V13H16V8H20M4,11H9V13H4V11M10,11H15V13H10V11Z\";\r\nexport var mdiDesktopTower = \"M8,2H16A2,2 0 0,1 18,4V20A2,2 0 0,1 16,22H8A2,2 0 0,1 6,20V4A2,2 0 0,1 8,2M8,4V6H16V4H8M16,8H8V10H16V8M16,18H14V20H16V18Z\";\r\nexport var mdiDesktopTowerMonitor = \"M22,18H17A1,1 0 0,1 16,17V7A1,1 0 0,1 17,6H22A1,1 0 0,1 23,7V17A1,1 0 0,1 22,18M22,8H17V9H22V8M22,10H17V11H22V10M9,15V17H10V18H5V17H6V15H2A1,1 0 0,1 1,14V7A1,1 0 0,1 2,6H13A1,1 0 0,1 14,7V14A1,1 0 0,1 13,15H9M12,8H3V13H12V8Z\";\r\nexport var mdiDetails = \"M6.38,6H17.63L12,16L6.38,6M3,4L12,20L21,4H3Z\";\r\nexport var mdiDevTo = \"M7.73 11.93C7.73 13.65 7.71 13.76 7.5 14C7.31 14.17 7.12 14.23 6.74 14.23L6.23 14.24L6.2 11.97L6.18 9.7H6.7C7.05 9.7 7.3 9.77 7.47 9.91C7.71 10.12 7.73 10.16 7.73 11.93M22 7.5V16.5C22 17.61 21.11 18.5 20 18.5H4C2.89 18.5 2 17.61 2 16.5V7.5C2 6.39 2.89 5.5 4 5.5H20C21.11 5.5 22 6.39 22 7.5M8.93 11.73C8.9 9.89 8.88 9.74 8.64 9.34C8.24 8.66 7.79 8.5 6.28 8.5H5V15.5H6.21C7.54 15.5 8.1 15.33 8.5 14.79C8.91 14.26 9 13.81 8.93 11.73M13.12 8.5H11.64C10.15 8.5 10.14 8.5 9.93 8.78S9.7 9.21 9.7 12V14.96L9.97 15.23C10.22 15.5 10.28 15.5 11.68 15.5H13.12V14.31L12.03 14.27L10.93 14.24V12.6L11.61 12.57L12.27 12.53V11.34H10.88V9.7H13.12V8.5M19 8.56C19 8.5 18.7 8.5 18.34 8.5L17.66 8.56L17.07 10.91C16.69 12.39 16.45 13.18 16.4 13.04C16.32 12.77 15.26 8.6 15.26 8.55C15.26 8.5 14.95 8.5 14.58 8.5H13.89L14.3 10.05C14.5 10.92 14.89 12.33 15.11 13.2C15.45 14.55 15.57 14.85 15.86 15.14C16.06 15.36 16.31 15.5 16.47 15.5C16.8 15.5 17.23 15.16 17.37 14.77C17.5 14.5 19 8.69 19 8.56Z\";\r\nexport var mdiDeveloperBoard = \"M22,9V7H20V5A2,2 0 0,0 18,3H4A2,2 0 0,0 2,5V19A2,2 0 0,0 4,21H18A2,2 0 0,0 20,19V17H22V15H20V13H22V11H20V9H22M18,19H4V5H18V19M6,13H11V17H6V13M12,7H16V10H12V7M6,7H11V12H6V7M12,11H16V17H12V11Z\";\r\nexport var mdiDeviantart = \"M6,6H12L14,2H18V6L14.5,13H18V18H12L10,22H6V18L9.5,11H6V6Z\";\r\nexport var mdiDevices = \"M3 6H21V4H3C1.9 4 1 4.9 1 6V18C1 19.1 1.9 20 3 20H7V18H3V6M13 12H9V13.78C8.39 14.33 8 15.11 8 16C8 16.89 8.39 17.67 9 18.22V20H13V18.22C13.61 17.67 14 16.88 14 16S13.61 14.33 13 13.78V12M11 17.5C10.17 17.5 9.5 16.83 9.5 16S10.17 14.5 11 14.5 12.5 15.17 12.5 16 11.83 17.5 11 17.5M22 8H16C15.5 8 15 8.5 15 9V19C15 19.5 15.5 20 16 20H22C22.5 20 23 19.5 23 19V9C23 8.5 22.5 8 22 8M21 18H17V10H21V18Z\";\r\nexport var mdiDharmachakra = \"M11,2V3C9.27,3.2 7.69,3.9 6.4,4.94L5.64,4.18L4.22,5.6L5,6.35C3.9,7.68 3.21,9.3 3,11H2V13H3C3.21,14.68 3.9,16.26 5,17.56L4.22,18.32L5.64,19.74L6.39,19C7.71,20.07 9.3,20.77 11,21V22H13V21C14.69,20.77 16.29,20.07 17.6,19L18.36,19.74L19.78,18.32L19,17.57C20.1,16.27 20.79,14.68 21,13H22V11H21C20.79,9.3 20.1,7.69 19,6.36L19.78,5.6L18.36,4.18L17.61,4.94C16.29,3.87 14.69,3.2 13,3V2H11M11,5V8L10,8.5L7.81,6.35C8.72,5.67 9.81,5.17 11,5M13,5C14.16,5.18 15.26,5.64 16.2,6.35L14,8.5L13,8V5M6.4,7.76L8.5,10L8,11H5C5.16,9.84 5.7,8.7 6.39,7.75L6.4,7.76M17.6,7.76C18.33,8.71 18.81,9.82 19,11H16L15.5,10L17.61,7.76H17.6M12,10C13.12,10 14,10.88 14,12C14,13.12 13.12,14 12,14C10.88,14 10,13.12 10,12C10,10.88 10.88,10 12,10M5,13H8L8.57,14L6.39,16.15C5.67,15.24 5.19,14.16 5,13V13M16,13H19C18.81,14.15 18.33,15.24 17.61,16.16L15.5,14L16,13M10,15.5L11,16V19C9.83,18.8 8.73,18.31 7.8,17.57L10,15.5M14,15.5L16.19,17.57C15.28,18.25 14.19,18.83 13,19V16L14,15.5Z\";\r\nexport var mdiDiabetes = \"M14.73 2.29A1 1 0 0 1 16.14 3.7L13 6.79L13.76 7.74L15.7 12.74A1.46 1.46 0 0 1 15.36 14.29L12.27 17.38A1.55 1.55 0 0 1 10.15 17.38L5.55 12.78A1.37 1.37 0 0 1 5.15 11.78L4.65 5.34H5.72A1 1 0 0 1 6.47 5.64L6.61 5.81L7.66 9.29M7.66 22L2 16.36L4.12 14.24L9.78 19.9M19.5 4.5S17 7.26 17 9A2.5 2.5 0 1 0 22 9C22 7.26 19.5 4.5 19.5 4.5Z\";\r\nexport var mdiDialpad = \"M12,19A2,2 0 0,0 10,21A2,2 0 0,0 12,23A2,2 0 0,0 14,21A2,2 0 0,0 12,19M6,1A2,2 0 0,0 4,3A2,2 0 0,0 6,5A2,2 0 0,0 8,3A2,2 0 0,0 6,1M6,7A2,2 0 0,0 4,9A2,2 0 0,0 6,11A2,2 0 0,0 8,9A2,2 0 0,0 6,7M6,13A2,2 0 0,0 4,15A2,2 0 0,0 6,17A2,2 0 0,0 8,15A2,2 0 0,0 6,13M18,5A2,2 0 0,0 20,3A2,2 0 0,0 18,1A2,2 0 0,0 16,3A2,2 0 0,0 18,5M12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17A2,2 0 0,0 14,15A2,2 0 0,0 12,13M18,13A2,2 0 0,0 16,15A2,2 0 0,0 18,17A2,2 0 0,0 20,15A2,2 0 0,0 18,13M18,7A2,2 0 0,0 16,9A2,2 0 0,0 18,11A2,2 0 0,0 20,9A2,2 0 0,0 18,7M12,7A2,2 0 0,0 10,9A2,2 0 0,0 12,11A2,2 0 0,0 14,9A2,2 0 0,0 12,7M12,1A2,2 0 0,0 10,3A2,2 0 0,0 12,5A2,2 0 0,0 14,3A2,2 0 0,0 12,1Z\";\r\nexport var mdiDiameter = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M17,15V13H7V15L4,12L7,9V11H17V9L20,12L17,15Z\";\r\nexport var mdiDiameterOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M16,15V13H8V15L5,12L8,9V11H16V9L19,12L16,15Z\";\r\nexport var mdiDiameterVariant = \"M4.15,21.46L5.47,19.58C3.35,17.74 2,15.03 2,12A10,10 0 0,1 12,2C13.78,2 15.44,2.46 16.89,3.27L18.21,1.39L19.85,2.54L18.53,4.42C20.65,6.26 22,8.97 22,12A10,10 0 0,1 12,22C10.22,22 8.56,21.54 7.11,20.73L5.79,22.61L4.15,21.46M12,4A8,8 0 0,0 4,12C4,14.35 5,16.46 6.63,17.93L15.73,4.92C14.62,4.33 13.35,4 12,4M12,20A8,8 0 0,0 20,12C20,9.65 19,7.54 17.37,6.07L8.27,19.08C9.38,19.67 10.65,20 12,20Z\";\r\nexport var mdiDiamond = \"M6,2L2,8L12,22L22,8L18,2H6Z\";\r\nexport var mdiDiamondOutline = \"M18,2H6L2,8L12,22L22,8L18,2M4.43,8L7.07,4H16.93L19.57,8L12,18.56L4.43,8Z\";\r\nexport var mdiDiamondStone = \"M16,9H19L14,16M10,9H14L12,17M5,9H8L10,16M15,4H17L19,7H16M11,4H13L14,7H10M7,4H9L8,7H5M6,2L2,8L12,22L22,8L18,2H6Z\";\r\nexport var mdiDice1 = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\r\nexport var mdiDice1Outline = \"M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 10.5C11.17 10.5 10.5 11.17 10.5 12S11.17 13.5 12 13.5 13.5 12.83 13.5 12 12.83 10.5 12 10.5\";\r\nexport var mdiDice2 = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M7,5A2,2 0 0,0 5,7A2,2 0 0,0 7,9A2,2 0 0,0 9,7A2,2 0 0,0 7,5M17,15A2,2 0 0,0 15,17A2,2 0 0,0 17,19A2,2 0 0,0 19,17A2,2 0 0,0 17,15Z\";\r\nexport var mdiDice2Outline = \"M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M7.5 6C6.67 6 6 6.67 6 7.5S6.67 9 7.5 9 9 8.33 9 7.5 8.33 6 7.5 6M16.5 15C15.67 15 15 15.67 15 16.5C15 17.33 15.67 18 16.5 18C17.33 18 18 17.33 18 16.5C18 15.67 17.33 15 16.5 15Z\";\r\nexport var mdiDice3 = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M7,5A2,2 0 0,0 5,7A2,2 0 0,0 7,9A2,2 0 0,0 9,7A2,2 0 0,0 7,5M17,15A2,2 0 0,0 15,17A2,2 0 0,0 17,19A2,2 0 0,0 19,17A2,2 0 0,0 17,15Z\";\r\nexport var mdiDice3Outline = \"M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M12 10.5C11.2 10.5 10.5 11.2 10.5 12S11.2 13.5 12 13.5 13.5 12.8 13.5 12 12.8 10.5 12 10.5M7.5 6C6.7 6 6 6.7 6 7.5S6.7 9 7.5 9 9 8.3 9 7.5 8.3 6 7.5 6M16.5 15C15.7 15 15 15.7 15 16.5C15 17.3 15.7 18 16.5 18C17.3 18 18 17.3 18 16.5C18 15.7 17.3 15 16.5 15Z\";\r\nexport var mdiDice4 = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M7,5A2,2 0 0,0 5,7A2,2 0 0,0 7,9A2,2 0 0,0 9,7A2,2 0 0,0 7,5M17,15A2,2 0 0,0 15,17A2,2 0 0,0 17,19A2,2 0 0,0 19,17A2,2 0 0,0 17,15M17,5A2,2 0 0,0 15,7A2,2 0 0,0 17,9A2,2 0 0,0 19,7A2,2 0 0,0 17,5M7,15A2,2 0 0,0 5,17A2,2 0 0,0 7,19A2,2 0 0,0 9,17A2,2 0 0,0 7,15Z\";\r\nexport var mdiDice4Outline = \"M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M7.5 6C6.67 6 6 6.67 6 7.5S6.67 9 7.5 9 9 8.33 9 7.5 8.33 6 7.5 6M16.5 15C15.67 15 15 15.67 15 16.5C15 17.33 15.67 18 16.5 18C17.33 18 18 17.33 18 16.5C18 15.67 17.33 15 16.5 15M16.5 6C15.67 6 15 6.67 15 7.5S15.67 9 16.5 9C17.33 9 18 8.33 18 7.5S17.33 6 16.5 6M7.5 15C6.67 15 6 15.67 6 16.5C6 17.33 6.67 18 7.5 18S9 17.33 9 16.5C9 15.67 8.33 15 7.5 15Z\";\r\nexport var mdiDice5 = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M7,5A2,2 0 0,0 5,7A2,2 0 0,0 7,9A2,2 0 0,0 9,7A2,2 0 0,0 7,5M17,15A2,2 0 0,0 15,17A2,2 0 0,0 17,19A2,2 0 0,0 19,17A2,2 0 0,0 17,15M17,5A2,2 0 0,0 15,7A2,2 0 0,0 17,9A2,2 0 0,0 19,7A2,2 0 0,0 17,5M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M7,15A2,2 0 0,0 5,17A2,2 0 0,0 7,19A2,2 0 0,0 9,17A2,2 0 0,0 7,15Z\";\r\nexport var mdiDice5Outline = \"M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M7.5 6C6.7 6 6 6.7 6 7.5S6.7 9 7.5 9 9 8.3 9 7.5 8.3 6 7.5 6M16.5 15C15.7 15 15 15.7 15 16.5C15 17.3 15.7 18 16.5 18C17.3 18 18 17.3 18 16.5C18 15.7 17.3 15 16.5 15M16.5 6C15.7 6 15 6.7 15 7.5S15.7 9 16.5 9C17.3 9 18 8.3 18 7.5S17.3 6 16.5 6M12 10.5C11.2 10.5 10.5 11.2 10.5 12S11.2 13.5 12 13.5 13.5 12.8 13.5 12 12.8 10.5 12 10.5M7.5 15C6.7 15 6 15.7 6 16.5C6 17.3 6.7 18 7.5 18S9 17.3 9 16.5C9 15.7 8.3 15 7.5 15Z\";\r\nexport var mdiDice6 = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M7,5A2,2 0 0,0 5,7A2,2 0 0,0 7,9A2,2 0 0,0 9,7A2,2 0 0,0 7,5M17,15A2,2 0 0,0 15,17A2,2 0 0,0 17,19A2,2 0 0,0 19,17A2,2 0 0,0 17,15M17,10A2,2 0 0,0 15,12A2,2 0 0,0 17,14A2,2 0 0,0 19,12A2,2 0 0,0 17,10M17,5A2,2 0 0,0 15,7A2,2 0 0,0 17,9A2,2 0 0,0 19,7A2,2 0 0,0 17,5M7,10A2,2 0 0,0 5,12A2,2 0 0,0 7,14A2,2 0 0,0 9,12A2,2 0 0,0 7,10M7,15A2,2 0 0,0 5,17A2,2 0 0,0 7,19A2,2 0 0,0 9,17A2,2 0 0,0 7,15Z\";\r\nexport var mdiDice6Outline = \"M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M7.5 6C6.7 6 6 6.7 6 7.5S6.7 9 7.5 9 9 8.3 9 7.5 8.3 6 7.5 6M16.5 15C15.7 15 15 15.7 15 16.5C15 17.3 15.7 18 16.5 18C17.3 18 18 17.3 18 16.5C18 15.7 17.3 15 16.5 15M16.5 10.5C15.7 10.5 15 11.2 15 12S15.7 13.5 16.5 13.5C17.3 13.5 18 12.8 18 12S17.3 10.5 16.5 10.5M16.5 6C15.7 6 15 6.7 15 7.5S15.7 9 16.5 9C17.3 9 18 8.3 18 7.5S17.3 6 16.5 6M7.5 10.5C6.7 10.5 6 11.2 6 12S6.7 13.5 7.5 13.5 9 12.8 9 12 8.3 10.5 7.5 10.5M7.5 15C6.7 15 6 15.7 6 16.5C6 17.3 6.7 18 7.5 18S9 17.3 9 16.5C9 15.7 8.3 15 7.5 15Z\";\r\nexport var mdiDiceD10 = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M14.07 8.21C15.5 8.21 16.64 9.36 16.64 10.78V13.42C16.64 14.84 15.5 16 14.07 16C12.64 16 11.5 14.84 11.5 13.42V10.78C11.5 9.36 12.65 8.21 14.07 8.21M10.36 8.41H10.5V16H9V10.21L7.22 10.76V9.53L10.36 8.41M14.06 9.65C13.47 9.65 13 10.13 13 10.71V13.5C13 14.07 13.47 14.54 14.06 14.54C14.64 14.54 15.14 14.06 15.14 13.5V10.71C15.14 10.12 14.64 9.65 14.06 9.65Z\";\r\nexport var mdiDiceD10Outline = \"M10.5 16H9V10.21L7.22 10.76V9.53L10.36 8.41H10.5V16M14.07 8.21C15.5 8.21 16.64 9.36 16.64 10.78V13.42C16.64 14.84 15.5 16 14.07 16C12.64 16 11.5 14.84 11.5 13.42V10.78C11.5 9.36 12.65 8.21 14.07 8.21M14.06 9.65C13.47 9.65 13 10.13 13 10.71V13.5C13 14.07 13.47 14.54 14.06 14.54C14.64 14.54 15.14 14.06 15.14 13.5V10.71C15.14 10.12 14.64 9.65 14.06 9.65M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M12 4L20 12L12 20L4 12Z\";\r\nexport var mdiDiceD12 = \"M12 2L1.5 9.64L5.5 22H18.5L22.5 9.64L12 2M10.5 17H8.89V10.89L7 11.47V10.19L10.31 9H10.5V17M17 17H11.66V15.91C11.66 15.91 15.23 12.45 15.23 11.4C15.23 10.12 14.18 10.25 14.18 10.25C13.5 10.3 13 10.87 13 11.55H11.44C11.5 10.09 12.72 8.94 14.27 9C16.74 9 16.77 10.85 16.77 11.3C16.77 13.07 13.58 15.77 13.58 15.77L17 15.75V17Z\";\r\nexport var mdiDiceD12Outline = \"M12,2L1.5,9.64L5.5,22H18.5L22.5,9.64L12,2M17,20H7L3.85,10.4L12,4.47L20.15,10.4L17,20M17,15.75V17H11.66V15.91C11.66,15.91 15.23,12.45 15.23,11.4C15.23,10.12 14.18,10.25 14.18,10.25C13.5,10.3 13,10.87 13,11.55H11.44C11.5,10.09 12.72,8.94 14.27,9C16.74,9 16.77,10.85 16.77,11.3C16.77,13.07 13.58,15.77 13.58,15.77L17,15.75M10.5,17H8.89V10.89L7,11.47V10.19L10.31,9H10.5V17Z\";\r\nexport var mdiDiceD20 = \"M20.47 6.62L12.57 2.18C12.41 2.06 12.21 2 12 2S11.59 2.06 11.43 2.18L3.53 6.62C3.21 6.79 3 7.12 3 7.5V16.5C3 16.88 3.21 17.21 3.53 17.38L11.43 21.82C11.59 21.94 11.79 22 12 22S12.41 21.94 12.57 21.82L20.47 17.38C20.79 17.21 21 16.88 21 16.5V7.5C21 7.12 20.79 6.79 20.47 6.62M11.45 15.96L6.31 15.93V14.91C6.31 14.91 9.74 11.58 9.75 10.57C9.75 9.33 8.73 9.46 8.73 9.46S7.75 9.5 7.64 10.71L6.14 10.76C6.14 10.76 6.18 8.26 8.83 8.26C11.2 8.26 11.23 10.04 11.23 10.5C11.23 12.18 8.15 14.77 8.15 14.77L11.45 14.76V15.96M17.5 13.5C17.5 14.9 16.35 16.05 14.93 16.05C13.5 16.05 12.36 14.9 12.36 13.5V10.84C12.36 9.42 13.5 8.27 14.93 8.27S17.5 9.42 17.5 10.84V13.5M16 10.77V13.53C16 14.12 15.5 14.6 14.92 14.6C14.34 14.6 13.86 14.12 13.86 13.53V10.77C13.86 10.18 14.34 9.71 14.92 9.71C15.5 9.71 16 10.18 16 10.77Z\";\r\nexport var mdiDiceD20Outline = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15M14.93,8.27A2.57,2.57 0 0,1 17.5,10.84V13.5C17.5,14.9 16.35,16.05 14.93,16.05C13.5,16.05 12.36,14.9 12.36,13.5V10.84A2.57,2.57 0 0,1 14.93,8.27M14.92,9.71C14.34,9.71 13.86,10.18 13.86,10.77V13.53C13.86,14.12 14.34,14.6 14.92,14.6C15.5,14.6 16,14.12 16,13.53V10.77C16,10.18 15.5,9.71 14.92,9.71M11.45,14.76V15.96L6.31,15.93V14.91C6.31,14.91 9.74,11.58 9.75,10.57C9.75,9.33 8.73,9.46 8.73,9.46C8.73,9.46 7.75,9.5 7.64,10.71L6.14,10.76C6.14,10.76 6.18,8.26 8.83,8.26C11.2,8.26 11.23,10.04 11.23,10.5C11.23,12.18 8.15,14.77 8.15,14.77L11.45,14.76Z\";\r\nexport var mdiDiceD4 = \"M10.25 15.15L11.92 12.47V15.15H10.25M21.92 21H2.08C1.24 21 .72 20.08 1.16 19.36L11.08 3.13C11.5 2.44 12.5 2.44 12.92 3.13L22.84 19.36C23.28 20.08 22.76 21 21.92 21M14.29 15.15H13.43V10.42H11.91L8.75 15.41L8.82 16.36H11.92V18H13.43V16.36H14.29V15.15Z\";\r\nexport var mdiDiceD4Outline = \"M13.43,15.15H14.29V16.36H13.43V18H11.92V16.36H8.82L8.75,15.41L11.91,10.42H13.43V15.15M10.25,15.15H11.92V12.47L10.25,15.15M22,21H2C1.64,21 1.31,20.81 1.13,20.5C0.95,20.18 0.96,19.79 1.15,19.5L11.15,3C11.5,2.38 12.5,2.38 12.86,3L22.86,19.5C23.04,19.79 23.05,20.18 22.87,20.5C22.69,20.81 22.36,21 22,21M3.78,19H20.23L12,5.43L3.78,19Z\";\r\nexport var mdiDiceD6 = \"M13.05 13.5C13.05 14.27 12.61 14.83 12 14.83S10.85 14.27 10.85 13.5L10.83 12.78C10.83 12.78 11.21 12 11.95 12.1C12.56 12.1 13.05 12.73 13.05 13.5M21 5V19C21 20.11 20.11 21 19 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H19C20.11 3 21 3.9 21 5M14.55 13.41C14.5 11.45 13.19 10.87 12.53 10.87C11.41 10.87 10.86 11.53 10.86 11.53S10.89 9.5 13.39 9.53V8.33C13.39 8.33 9.33 7.94 9.3 12.66C9.27 16.86 12.77 16 12.77 16S14.61 15.47 14.55 13.41Z\";\r\nexport var mdiDiceD6Outline = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5M13.39,9.53C10.89,9.5 10.86,11.53 10.86,11.53C10.86,11.53 11.41,10.87 12.53,10.87C13.19,10.87 14.5,11.45 14.55,13.41C14.61,15.47 12.77,16 12.77,16C12.77,16 9.27,16.86 9.3,12.66C9.33,7.94 13.39,8.33 13.39,8.33V9.53M11.95,12.1C11.21,12 10.83,12.78 10.83,12.78L10.85,13.5C10.85,14.27 11.39,14.83 12,14.83C12.61,14.83 13.05,14.27 13.05,13.5C13.05,12.73 12.56,12.1 11.95,12.1Z\";\r\nexport var mdiDiceD8 = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M12 8.25C13.31 8.25 14.38 9.2 14.38 10.38C14.38 11.07 14 11.68 13.44 12.07C14.14 12.46 14.6 13.13 14.6 13.9C14.6 15.12 13.44 16.1 12 16.1C10.56 16.1 9.4 15.12 9.4 13.9C9.4 13.13 9.86 12.46 10.56 12.07C10 11.68 9.63 11.07 9.63 10.38C9.63 9.2 10.69 8.25 12 8.25M12 9.5C11.5 9.5 11.1 9.95 11.1 10.5C11.1 11.05 11.5 11.5 12 11.5C12.5 11.5 12.9 11.05 12.9 10.5C12.9 9.95 12.5 9.5 12 9.5M12 12.65C11.39 12.65 10.9 13.14 10.9 13.75C10.9 14.36 11.39 14.85 12 14.85C12.61 14.85 13.1 14.36 13.1 13.75C13.1 13.14 12.61 12.65 12 12.65Z\";\r\nexport var mdiDiceD8Outline = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M12 4L20 12L12 20L4 12M12 8.25C13.31 8.25 14.38 9.2 14.38 10.38C14.38 11.07 14 11.68 13.44 12.07C14.14 12.46 14.6 13.13 14.6 13.9C14.6 15.12 13.44 16.1 12 16.1C10.56 16.1 9.4 15.12 9.4 13.9C9.4 13.13 9.86 12.46 10.56 12.07C10 11.68 9.63 11.07 9.63 10.38C9.63 9.2 10.69 8.25 12 8.25M12 12.65C11.39 12.65 10.9 13.14 10.9 13.75C10.9 14.36 11.39 14.85 12 14.85C12.61 14.85 13.1 14.36 13.1 13.75C13.1 13.14 12.61 12.65 12 12.65M12 9.5C11.5 9.5 11.1 9.95 11.1 10.5C11.1 11.05 11.5 11.5 12 11.5C12.5 11.5 12.9 11.05 12.9 10.5C12.9 9.95 12.5 9.5 12 9.5\";\r\nexport var mdiDiceMultiple = \"M19.78,3H11.22C10.55,3 10,3.55 10,4.22V8H16V14H19.78C20.45,14 21,13.45 21,12.78V4.22C21,3.55 20.45,3 19.78,3M12.44,6.67C11.76,6.67 11.21,6.12 11.21,5.44C11.21,4.76 11.76,4.21 12.44,4.21A1.23,1.23 0 0,1 13.67,5.44C13.67,6.12 13.12,6.67 12.44,6.67M18.56,12.78C17.88,12.79 17.33,12.24 17.32,11.56C17.31,10.88 17.86,10.33 18.54,10.32C19.22,10.31 19.77,10.86 19.78,11.56C19.77,12.23 19.23,12.77 18.56,12.78M18.56,6.67C17.88,6.68 17.33,6.13 17.32,5.45C17.31,4.77 17.86,4.22 18.54,4.21C19.22,4.2 19.77,4.75 19.78,5.44C19.78,6.12 19.24,6.66 18.56,6.67M4.22,10H12.78A1.22,1.22 0 0,1 14,11.22V19.78C14,20.45 13.45,21 12.78,21H4.22C3.55,21 3,20.45 3,19.78V11.22C3,10.55 3.55,10 4.22,10M8.5,14.28C7.83,14.28 7.28,14.83 7.28,15.5C7.28,16.17 7.83,16.72 8.5,16.72C9.17,16.72 9.72,16.17 9.72,15.5A1.22,1.22 0 0,0 8.5,14.28M5.44,11.22C4.77,11.22 4.22,11.77 4.22,12.44A1.22,1.22 0 0,0 5.44,13.66C6.11,13.66 6.66,13.11 6.66,12.44V12.44C6.66,11.77 6.11,11.22 5.44,11.22M11.55,17.33C10.88,17.33 10.33,17.88 10.33,18.55C10.33,19.22 10.88,19.77 11.55,19.77A1.22,1.22 0 0,0 12.77,18.55H12.77C12.77,17.88 12.23,17.34 11.56,17.33H11.55Z\";\r\nexport var mdiDiceMultipleOutline = \"M14 8C13.45 8 13 7.55 13 7S13.45 6 14 6C14.55 6 15 6.45 15 7C15 7.55 14.55 8 14 8M12 12V19H5V12H12M12.78 10H4.22C3.55 10 3 10.55 3 11.22V19.78C3 20.45 3.55 21 4.22 21H12.78C13.45 21 14 20.45 14 19.78V11.22C14 10.55 13.45 10 12.78 10M19.78 3H11.22C10.55 3 10 3.55 10 4.22V8H12V5H19V12H16V14H19.78C20.45 14 21 13.45 21 12.78V4.22C21 3.55 20.45 3 19.78 3M17 8C16.45 8 16 7.55 16 7S16.45 6 17 6C17.55 6 18 6.45 18 7C18 7.55 17.55 8 17 8M17 11C16.45 11 16 10.55 16 10S16.45 9 17 9C17.55 9 18 9.45 18 10C18 10.55 17.55 11 17 11M7 15C6.45 15 6 14.55 6 14S6.45 13 7 13C7.55 13 8 13.45 8 14C8 14.55 7.55 15 7 15M10 18C9.45 18 9 17.55 9 17S9.45 16 10 16C10.55 16 11 16.45 11 17C11 17.55 10.55 18 10 18\";\r\nexport var mdiDigitalOcean = \"M6 12H2C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22V18H8V14H12V18C15.32 18 18 15.31 18 12C18 8.69 15.31 6 12 6C8.69 6 6 8.69 6 12M8 18V21H5V18H8M3 16H5V18H3V16Z\";\r\nexport var mdiDipSwitch = \"M3,4H7A1,1 0 0,1 8,5V19A1,1 0 0,1 7,20H3A1,1 0 0,1 2,19V5A1,1 0 0,1 3,4M10,4H14A1,1 0 0,1 15,5V19A1,1 0 0,1 14,20H10A1,1 0 0,1 9,19V5A1,1 0 0,1 10,4M17,4H21A1,1 0 0,1 22,5V19A1,1 0 0,1 21,20H17A1,1 0 0,1 16,19V5A1,1 0 0,1 17,4M4,18H6V13H4V18M11,11H13V6H11V11M18,18H20V13H18V18Z\";\r\nexport var mdiDirections = \"M14,14.5V12H10V15H8V11A1,1 0 0,1 9,10H14V7.5L17.5,11M21.71,11.29L12.71,2.29H12.7C12.31,1.9 11.68,1.9 11.29,2.29L2.29,11.29C1.9,11.68 1.9,12.32 2.29,12.71L11.29,21.71C11.68,22.09 12.31,22.1 12.71,21.71L21.71,12.71C22.1,12.32 22.1,11.68 21.71,11.29Z\";\r\nexport var mdiDirectionsFork = \"M3,4V12.5L6,9.5L9,13C10,14 10,15 10,15V21H14V14C14,14 14,13 13.47,12C12.94,11 12,10 12,10L9,6.58L11.5,4M18,4L13.54,8.47L14,9C14,9 14.93,10 15.47,11C15.68,11.4 15.8,11.79 15.87,12.13L21,7\";\r\nexport var mdiDisc = \"M12,14C10.89,14 10,13.1 10,12C10,10.89 10.89,10 12,10C13.11,10 14,10.89 14,12A2,2 0 0,1 12,14M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiDiscAlert = \"M10 14C8.9 14 8 13.1 8 12C8 10.9 8.9 10 10 10C11.1 10 12 10.9 12 12S11.1 14 10 14M10 4C5.6 4 2 7.6 2 12S5.6 20 10 20 18 16.4 18 12 14.4 4 10 4M20 13H22V7H20M20 17H22V15H20V17Z\";\r\nexport var mdiDiscPlayer = \"M14.5,10.37C15.54,10.37 16.38,9.53 16.38,8.5C16.38,7.46 15.54,6.63 14.5,6.63C13.46,6.63 12.63,7.46 12.63,8.5A1.87,1.87 0 0,0 14.5,10.37M14.5,1A7.5,7.5 0 0,1 22,8.5C22,10.67 21.08,12.63 19.6,14H9.4C7.93,12.63 7,10.67 7,8.5C7,4.35 10.36,1 14.5,1M6,21V22H4V21H2V15H22V21H20V22H18V21H6M4,18V19H13V18H4M15,17V19H17V17H15M19,17A1,1 0 0,0 18,18A1,1 0 0,0 19,19A1,1 0 0,0 20,18A1,1 0 0,0 19,17Z\";\r\nexport var mdiDiscord = \"M22,24L16.75,19L17.38,21H4.5A2.5,2.5 0 0,1 2,18.5V3.5A2.5,2.5 0 0,1 4.5,1H19.5A2.5,2.5 0 0,1 22,3.5V24M12,6.8C9.32,6.8 7.44,7.95 7.44,7.95C8.47,7.03 10.27,6.5 10.27,6.5L10.1,6.33C8.41,6.36 6.88,7.53 6.88,7.53C5.16,11.12 5.27,14.22 5.27,14.22C6.67,16.03 8.75,15.9 8.75,15.9L9.46,15C8.21,14.73 7.42,13.62 7.42,13.62C7.42,13.62 9.3,14.9 12,14.9C14.7,14.9 16.58,13.62 16.58,13.62C16.58,13.62 15.79,14.73 14.54,15L15.25,15.9C15.25,15.9 17.33,16.03 18.73,14.22C18.73,14.22 18.84,11.12 17.12,7.53C17.12,7.53 15.59,6.36 13.9,6.33L13.73,6.5C13.73,6.5 15.53,7.03 16.56,7.95C16.56,7.95 14.68,6.8 12,6.8M9.93,10.59C10.58,10.59 11.11,11.16 11.1,11.86C11.1,12.55 10.58,13.13 9.93,13.13C9.29,13.13 8.77,12.55 8.77,11.86C8.77,11.16 9.28,10.59 9.93,10.59M14.1,10.59C14.75,10.59 15.27,11.16 15.27,11.86C15.27,12.55 14.75,13.13 14.1,13.13C13.46,13.13 12.94,12.55 12.94,11.86C12.94,11.16 13.45,10.59 14.1,10.59Z\";\r\nexport var mdiDishwasher = \"M18,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V4A2,2 0 0,0 18,2M10,4A1,1 0 0,1 11,5A1,1 0 0,1 10,6A1,1 0 0,1 9,5A1,1 0 0,1 10,4M7,4A1,1 0 0,1 8,5A1,1 0 0,1 7,6A1,1 0 0,1 6,5A1,1 0 0,1 7,4M18,20H6V8H18V20M14.67,15.33C14.69,16.03 14.41,16.71 13.91,17.21C12.86,18.26 11.15,18.27 10.09,17.21C9.59,16.71 9.31,16.03 9.33,15.33C9.4,14.62 9.63,13.94 10,13.33C10.37,12.5 10.81,11.73 11.33,11L12,10C13.79,12.59 14.67,14.36 14.67,15.33\";\r\nexport var mdiDishwasherAlert = \"M16 2H4C2.9 2 2 2.9 2 4V20C2 21.11 2.9 22 4 22H16C17.11 22 18 21.11 18 20V4C18 2.9 17.11 2 16 2M8 4C8.55 4 9 4.45 9 5S8.55 6 8 6 7 5.55 7 5 7.45 4 8 4M5 4C5.55 4 6 4.45 6 5S5.55 6 5 6 4 5.55 4 5 4.45 4 5 4M16 20H4V8H16V20M12.67 15.33C12.69 16.03 12.41 16.71 11.91 17.21C10.86 18.26 9.15 18.27 8.09 17.21C7.59 16.71 7.31 16.03 7.33 15.33C7.4 14.62 7.63 13.94 8 13.33C8.37 12.5 8.81 11.73 9.33 11L10 10C11.79 12.59 12.67 14.36 12.67 15.33M20 15H22V17H20V15M20 7H22V13H20V7Z\";\r\nexport var mdiDishwasherOff = \"M22.11 21.46L2.39 1.73L1.11 3L4 5.89V20C4 21.11 4.89 22 6 22H18C18.58 22 19.1 21.75 19.46 21.35L20.84 22.73L22.11 21.46M18 20H6V8H6.11L10.5 12.37C10.31 12.69 10.15 13 10 13.33C9.63 13.94 9.4 14.62 9.33 15.33C9.31 16.03 9.59 16.71 10.09 17.21C11.15 18.27 12.86 18.26 13.91 17.21C14.16 16.97 14.35 16.68 14.5 16.36L18 19.89V20M11.2 8H18V14.8L20 16.8V4C20 2.9 19.11 2 18 2H6C5.76 2 5.54 2.05 5.33 2.13L11.2 8M10 4C10.55 4 11 4.45 11 5S10.55 6 10 6 9 5.55 9 5 9.45 4 10 4Z\";\r\nexport var mdiDisqus = \"M12.08,22C9.63,22 7.39,21.11 5.66,19.63L1.41,20.21L3.05,16.15C2.5,14.88 2.16,13.5 2.16,12C2.16,6.5 6.6,2 12.08,2C17.56,2 22,6.5 22,12C22,17.5 17.56,22 12.08,22M17.5,11.97V11.94C17.5,9.06 15.46,7 11.95,7H8.16V17H11.9C15.43,17 17.5,14.86 17.5,11.97M12,14.54H10.89V9.46H12C13.62,9.46 14.7,10.39 14.7,12V12C14.7,13.63 13.62,14.54 12,14.54Z\";\r\nexport var mdiDistributeHorizontalCenter = \"M8 2V5H10V19H8V22H6V19H4V5H6V2H8M16 2V7H14V17H16V22H18V17H20V7H18V2H16Z\";\r\nexport var mdiDistributeHorizontalLeft = \"M21 7V17H16V22H14V2H16V7H21M5 2H3V22H5V19H10V5H5V2Z\";\r\nexport var mdiDistributeHorizontalRight = \"M3 17V7H8V2H10V22H8V17H3M19 22H21V2H19V5H14V19H19V22Z\";\r\nexport var mdiDistributeVerticalBottom = \"M7 3H17V8H22V10H2V8H7V3M2 19V21H22V19H19V14H5V19H2Z\";\r\nexport var mdiDistributeVerticalCenter = \"M2 16H5V14H19V16H22V18H19V20H5V18H2V16M2 8H7V10H17V8H22V6H17V4H7V6H2V8Z\";\r\nexport var mdiDistributeVerticalTop = \"M17 21H7V16H2V14H22V16H17V21M22 5V3H2V5H5V10H19V5H22Z\";\r\nexport var mdiDivingFlippers = \"M20.28,3.66C19.28,3.44 18.54,2.25 17.57,2.04C16.6,1.83 15.4,2.59 14.42,2.37C13.38,2 12.22,2.13 11.28,2.71L11.21,17L11,18C10.64,19.62 11.67,21.22 13.29,21.58C14.9,21.93 16.5,20.91 16.86,19.29L17.07,18.29L23,5.28C22.39,4.35 21.39,3.76 20.28,3.66M14.91,18.86C14.79,19.41 14.25,19.76 13.7,19.65C13.14,19.53 12.79,19 12.91,18.43L13.77,14.5C13.86,13.97 14.37,13.6 14.92,13.69C15.46,13.78 15.83,14.3 15.74,14.84C15.74,14.88 15.73,14.91 15.72,14.95L14.91,18.86M9.72,21.34C9.33,20.73 9.08,20.05 9,19.34L8.24,16C8.1,15.47 8.41,14.92 9,14.76C9.07,14.75 9.15,14.75 9.22,14.76V3.43C8.31,3.43 7.22,2.86 6.38,3.06C5.54,3.26 4.69,4.44 3.72,4.66C2.61,4.76 1.61,5.35 1,6.28L6.93,19.28L7.14,20.28C7.5,21.9 9.09,22.92 10.71,22.57H10.81C10.38,22.22 10,21.81 9.72,21.34Z\";\r\nexport var mdiDivingHelmet = \"M16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8A4,4 0 0,1 16,12M19.45,7.89L18.07,8.58L18.32,9H20V15H18.33C17.84,16.03 17.11,16.92 16.21,17.6C17.85,18.11 19.1,18.91 19.67,19.86C18.69,21.1 15.62,22 12,22C8.38,22 5.31,21.1 4.33,19.86C4.9,18.91 6.15,18.11 7.79,17.6C6.89,16.92 6.16,16.03 5.67,15H4V9H5.68C6.37,7.54 7.54,6.37 9,5.68V4H15V5.68C15.68,6 16.29,6.46 16.82,7L18.55,6.14C19.93,5.42 20,4.1 20,2H22C22,4.06 22,6.62 19.45,7.89M17,12A5,5 0 0,0 12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12Z\";\r\nexport var mdiDivingScuba = \"M12,15C13.31,15 14.42,15.83 14.83,17H18A4,4 0 0,1 22,21V22H20V21A2,2 0 0,0 18,19H14.83C14.42,20.17 13.31,21 12,21A3,3 0 0,1 9,18A3,3 0 0,1 12,15M12,17A1,1 0 0,0 11,18A1,1 0 0,0 12,19A1,1 0 0,0 13,18A1,1 0 0,0 12,17M18,3A2,2 0 0,1 20,5V10A2,2 0 0,1 18,12H14.85C14.43,12 14.05,12.24 13.9,12.63C13.7,13.23 13.23,13.71 12.62,13.91C11.58,14.25 10.44,13.68 10.1,12.63C9.95,12.24 9.57,12 9.15,12H6A2,2 0 0,1 4,10V5A2,2 0 0,1 6,3H18M18,10V5H6V10H10.65C10.9,9.46 11.41,9.09 12,9C12.59,9.09 13.1,9.46 13.35,10H18Z\";\r\nexport var mdiDivingScubaFlag = \"M2,6L19,20H2V6M5,4L22,18V4H5Z\";\r\nexport var mdiDivingScubaTank = \"M19,18.5A2.5,2.5 0 0,1 16.5,21A2.5,2.5 0 0,1 14,18.5C14,17.47 14.62,16.59 15.5,16.21V6H11V7.35C12.22,7.93 13,9.15 13,10.5V22H6V10.5C6,9.15 6.78,7.93 8,7.35V6H6V4H8V3.5A1.5,1.5 0 0,1 9.5,2A1.5,1.5 0 0,1 11,3.5V4H15.5A2,2 0 0,1 17.5,6V16.21C18.38,16.59 19,17.47 19,18.5Z\";\r\nexport var mdiDivingScubaTankMultiple = \"M22,18.5A2.5,2.5 0 0,1 19.5,21A2.5,2.5 0 0,1 17,18.5C17,17.47 17.62,16.59 18.5,16.21V6H14V7.35C15.22,7.93 16,9.15 16,10.5V22H2V10.5C2,9.15 2.78,7.93 4,7.35V6H2V4H4V3.5A1.5,1.5 0 0,1 5.5,2A1.5,1.5 0 0,1 7,3.5V4H11V3.5A1.5,1.5 0 0,1 12.5,2A1.5,1.5 0 0,1 14,3.5V4H18.5A2,2 0 0,1 20.5,6V16.21C21.38,16.59 22,17.47 22,18.5M11,7.35V6H7V7.35C8.22,7.93 9,9.15 9,10.5C9,9.15 9.78,7.93 11,7.35Z\";\r\nexport var mdiDivingSnorkel = \"M16,3H4A2,2 0 0,0 2,5V10A2,2 0 0,0 4,12H7.15C7.57,12 7.95,12.24 8.1,12.63C8.44,13.68 9.58,14.25 10.62,13.91C11.23,13.71 11.7,13.23 11.9,12.63C12.05,12.24 12.43,12 12.85,12H16A2,2 0 0,0 18,10V5A2,2 0 0,0 16,3M16,10H11.35C11.1,9.46 10.59,9.09 10,9C9.41,9.09 8.9,9.46 8.65,10H4V5H16V10M22,2V15.5A6.5,6.5 0 0,1 15.5,22C13.79,22 12.15,21.32 10.93,20.12C8.95,20.58 6.88,19.79 5.71,18.12L7.62,17.29C8.5,18.22 9.84,18.5 11,18C11.2,17.91 11.39,17.8 11.56,17.67C12.4,17.05 12.87,16.04 12.78,15L14.69,14.17C15.1,16.04 14.41,18 12.9,19.17C13.66,19.71 14.57,20 15.5,20C18,20 20,18 20,15.5V2H22Z\";\r\nexport var mdiDivision = \"M19,13H5V11H19V13M12,5A2,2 0 0,1 14,7A2,2 0 0,1 12,9A2,2 0 0,1 10,7A2,2 0 0,1 12,5M12,15A2,2 0 0,1 14,17A2,2 0 0,1 12,19A2,2 0 0,1 10,17A2,2 0 0,1 12,15Z\";\r\nexport var mdiDivisionBox = \"M17,13V11H7V13H17M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19M12,7A1,1 0 0,0 11,8A1,1 0 0,0 12,9A1,1 0 0,0 13,8A1,1 0 0,0 12,7M12,15A1,1 0 0,0 11,16A1,1 0 0,0 12,17A1,1 0 0,0 13,16A1,1 0 0,0 12,15Z\";\r\nexport var mdiDlna = \"M21.38,12.56H12.85C11.97,12.56 11.1,12.96 10.61,13.61V13.6C10.12,14.28 9.32,14.72 8.41,14.72C6.92,14.72 5.71,13.5 5.71,12C5.71,10.5 6.92,9.31 8.41,9.31C9.32,9.31 10.12,9.75 10.61,10.43V10.42C11.1,11.07 11.97,11.5 12.85,11.5H21.29C21.45,11.5 22,11.4 22,10.67C21.26,6.43 17.1,3.18 12.06,3.18C8.96,3.18 6.19,4.41 4.34,6.35C4.05,6.79 4.35,6.92 4.63,6.96H10.14C11,6.96 11.89,6.54 12.38,5.89V5.91C12.88,5.23 13.67,4.78 14.58,4.78C16.07,4.78 17.28,6 17.28,7.5C17.28,9 16.07,10.2 14.58,10.2C13.67,10.2 12.88,9.75 12.38,9.07V9.08C11.89,8.44 11,8.03 10.14,8.03H4.13L4.15,8.03C4.15,8.03 3.26,8 2.72,8.75C2.3,9.42 2,10.85 2,12C2,13.16 2.17,14.21 2.72,15.27C3.19,16.03 4.15,16 4.15,16H4.11L10.14,16C11,16 11.89,15.58 12.38,14.93V14.94C12.88,14.26 13.67,13.81 14.58,13.81C16.07,13.81 17.28,15.03 17.28,16.5C17.28,18 16.07,19.23 14.58,19.23C13.67,19.23 12.88,18.78 12.38,18.1V18.12C11.89,17.47 11,17.05 10.14,17.05H4.64C4.36,17.09 4.06,17.22 4.32,17.64C6.17,19.58 8.95,20.82 12.06,20.82C17.11,20.82 21.28,17.57 22,13.31C22,12.72 21.59,12.58 21.38,12.56\";\r\nexport var mdiDna = \"M4,2H6V4C6,5.44 6.68,6.61 7.88,7.78C8.74,8.61 9.89,9.41 11.09,10.2L9.26,11.39C8.27,10.72 7.31,10 6.5,9.21C5.07,7.82 4,6.1 4,4V2M18,2H20V4C20,6.1 18.93,7.82 17.5,9.21C16.09,10.59 14.29,11.73 12.54,12.84C10.79,13.96 9.09,15.05 7.88,16.22C6.68,17.39 6,18.56 6,20V22H4V20C4,17.9 5.07,16.18 6.5,14.79C7.91,13.41 9.71,12.27 11.46,11.16C13.21,10.04 14.91,8.95 16.12,7.78C17.32,6.61 18,5.44 18,4V2M14.74,12.61C15.73,13.28 16.69,14 17.5,14.79C18.93,16.18 20,17.9 20,20V22H18V20C18,18.56 17.32,17.39 16.12,16.22C15.26,15.39 14.11,14.59 12.91,13.8L14.74,12.61M7,3H17V4L16.94,4.5H7.06L7,4V3M7.68,6H16.32C16.08,6.34 15.8,6.69 15.42,7.06L14.91,7.5H9.07L8.58,7.06C8.2,6.69 7.92,6.34 7.68,6M9.09,16.5H14.93L15.42,16.94C15.8,17.31 16.08,17.66 16.32,18H7.68C7.92,17.66 8.2,17.31 8.58,16.94L9.09,16.5M7.06,19.5H16.94L17,20V21H7V20L7.06,19.5Z\";\r\nexport var mdiDns = \"M7,9A2,2 0 0,1 5,7A2,2 0 0,1 7,5A2,2 0 0,1 9,7A2,2 0 0,1 7,9M20,3H4A1,1 0 0,0 3,4V10A1,1 0 0,0 4,11H20A1,1 0 0,0 21,10V4A1,1 0 0,0 20,3M7,19A2,2 0 0,1 5,17A2,2 0 0,1 7,15A2,2 0 0,1 9,17A2,2 0 0,1 7,19M20,13H4A1,1 0 0,0 3,14V20A1,1 0 0,0 4,21H20A1,1 0 0,0 21,20V14A1,1 0 0,0 20,13Z\";\r\nexport var mdiDnsOutline = \"M19,15V19H5V15H19M20,13H4A1,1 0 0,0 3,14V20A1,1 0 0,0 4,21H20A1,1 0 0,0 21,20V14A1,1 0 0,0 20,13M7,18.5A1.5,1.5 0 0,1 5.5,17A1.5,1.5 0 0,1 7,15.5A1.5,1.5 0 0,1 8.5,17A1.5,1.5 0 0,1 7,18.5M19,5V9H5V5H19M20,3H4A1,1 0 0,0 3,4V10A1,1 0 0,0 4,11H20A1,1 0 0,0 21,10V4A1,1 0 0,0 20,3M7,8.5A1.5,1.5 0 0,1 5.5,7A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 8.5,7A1.5,1.5 0 0,1 7,8.5Z\";\r\nexport var mdiDockBottom = \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M20 13H4V6H20Z\";\r\nexport var mdiDockLeft = \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M20 18H9V6H20Z\";\r\nexport var mdiDockRight = \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M15 18H4V6H15Z\";\r\nexport var mdiDockTop = \"M4 20H20C21.11 20 22 19.11 22 18V6C22 4.89 21.11 4 20 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20M4 11H20V18H4V11Z\";\r\nexport var mdiDockWindow = \"M18 18V20H4A2 2 0 0 1 2 18V8H4V18M22 6V14A2 2 0 0 1 20 16H8A2 2 0 0 1 6 14V6A2 2 0 0 1 8 4H20A2 2 0 0 1 22 6M20 6H8V14H20Z\";\r\nexport var mdiDocker = \"M21.81 10.25C21.75 10.21 21.25 9.82 20.17 9.82C19.89 9.82 19.61 9.85 19.33 9.9C19.12 8.5 17.95 7.79 17.9 7.76L17.61 7.59L17.43 7.86C17.19 8.22 17 8.63 16.92 9.05C16.72 9.85 16.84 10.61 17.25 11.26C16.76 11.54 15.96 11.61 15.79 11.61H2.62C2.28 11.61 2 11.89 2 12.24C2 13.39 2.18 14.54 2.58 15.62C3.03 16.81 3.71 17.69 4.58 18.23C5.56 18.83 7.17 19.17 9 19.17C9.79 19.17 10.61 19.1 11.42 18.95C12.54 18.75 13.62 18.36 14.61 17.79C15.43 17.32 16.16 16.72 16.78 16C17.83 14.83 18.45 13.5 18.9 12.35H19.09C20.23 12.35 20.94 11.89 21.33 11.5C21.59 11.26 21.78 10.97 21.92 10.63L22 10.39L21.81 10.25M3.85 11.24H5.61C5.69 11.24 5.77 11.17 5.77 11.08V9.5C5.77 9.42 5.7 9.34 5.61 9.34H3.85C3.76 9.34 3.69 9.41 3.69 9.5V11.08C3.7 11.17 3.76 11.24 3.85 11.24M6.28 11.24H8.04C8.12 11.24 8.2 11.17 8.2 11.08V9.5C8.2 9.42 8.13 9.34 8.04 9.34H6.28C6.19 9.34 6.12 9.41 6.12 9.5V11.08C6.13 11.17 6.19 11.24 6.28 11.24M8.75 11.24H10.5C10.6 11.24 10.67 11.17 10.67 11.08V9.5C10.67 9.42 10.61 9.34 10.5 9.34H8.75C8.67 9.34 8.6 9.41 8.6 9.5V11.08C8.6 11.17 8.66 11.24 8.75 11.24M11.19 11.24H12.96C13.04 11.24 13.11 11.17 13.11 11.08V9.5C13.11 9.42 13.05 9.34 12.96 9.34H11.19C11.11 9.34 11.04 9.41 11.04 9.5V11.08C11.04 11.17 11.11 11.24 11.19 11.24M6.28 9H8.04C8.12 9 8.2 8.91 8.2 8.82V7.25C8.2 7.16 8.13 7.09 8.04 7.09H6.28C6.19 7.09 6.12 7.15 6.12 7.25V8.82C6.13 8.91 6.19 9 6.28 9M8.75 9H10.5C10.6 9 10.67 8.91 10.67 8.82V7.25C10.67 7.16 10.61 7.09 10.5 7.09H8.75C8.67 7.09 8.6 7.15 8.6 7.25V8.82C8.6 8.91 8.66 9 8.75 9M11.19 9H12.96C13.04 9 13.11 8.91 13.11 8.82V7.25C13.11 7.16 13.04 7.09 12.96 7.09H11.19C11.11 7.09 11.04 7.15 11.04 7.25V8.82C11.04 8.91 11.11 9 11.19 9M11.19 6.72H12.96C13.04 6.72 13.11 6.65 13.11 6.56V5C13.11 4.9 13.04 4.83 12.96 4.83H11.19C11.11 4.83 11.04 4.89 11.04 5V6.56C11.04 6.64 11.11 6.72 11.19 6.72M13.65 11.24H15.41C15.5 11.24 15.57 11.17 15.57 11.08V9.5C15.57 9.42 15.5 9.34 15.41 9.34H13.65C13.57 9.34 13.5 9.41 13.5 9.5V11.08C13.5 11.17 13.57 11.24 13.65 11.24\";\r\nexport var mdiDoctor = \"M14.84,16.26C17.86,16.83 20,18.29 20,20V22H4V20C4,18.29 6.14,16.83 9.16,16.26L12,21L14.84,16.26M8,8H16V10A4,4 0 0,1 12,14A4,4 0 0,1 8,10V8M8,7L8.41,2.9C8.46,2.39 8.89,2 9.41,2H14.6C15.11,2 15.54,2.39 15.59,2.9L16,7H8M12,3H11V4H10V5H11V6H12V5H13V4H12V3Z\";\r\nexport var mdiDog = \"M18,4C16.29,4 15.25,4.33 14.65,4.61C13.88,4.23 13,4 12,4C11,4 10.12,4.23 9.35,4.61C8.75,4.33 7.71,4 6,4C3,4 1,12 1,14C1,14.83 2.32,15.59 4.14,15.9C4.78,18.14 7.8,19.85 11.5,20V15.72C10.91,15.35 10,14.68 10,14C10,13 12,13 12,13C12,13 14,13 14,14C14,14.68 13.09,15.35 12.5,15.72V20C16.2,19.85 19.22,18.14 19.86,15.9C21.68,15.59 23,14.83 23,14C23,12 21,4 18,4M4.15,13.87C3.65,13.75 3.26,13.61 3,13.5C3.25,10.73 5.2,6.4 6.05,6C6.59,6 7,6.06 7.37,6.11C5.27,8.42 4.44,12.04 4.15,13.87M9,12A1,1 0 0,1 8,11C8,10.46 8.45,10 9,10A1,1 0 0,1 10,11C10,11.56 9.55,12 9,12M15,12A1,1 0 0,1 14,11C14,10.46 14.45,10 15,10A1,1 0 0,1 16,11C16,11.56 15.55,12 15,12M19.85,13.87C19.56,12.04 18.73,8.42 16.63,6.11C17,6.06 17.41,6 17.95,6C18.8,6.4 20.75,10.73 21,13.5C20.75,13.61 20.36,13.75 19.85,13.87Z\";\r\nexport var mdiDogService = \"M14,8L17,11V21H15V15H8L6,18V21H4V15L5,14V11L2,8L3,7L5,9H7V12A1,1 0 0,0 8,13H12A1,1 0 0,0 13,12V9L14,8M19,5V3L15,7L18,10L19,9L20,10L22,8L19,5M11.5,9.5L4.5,2.5C4.23,2.22 3.79,2.22 3.5,2.5V2.5C3.22,2.77 3.22,3.21 3.5,3.5L10.5,10.5C10.77,10.78 11.21,10.78 11.5,10.5V10.5C11.78,10.23 11.78,9.79 11.5,9.5Z\";\r\nexport var mdiDogSide = \"M19,3L15,7L18,10L19,9L20,10L22,8L19,5V3M3,7L2,8L5,11V14L4,15V21H6V18L8,15H15V21H17V11L14,8L13,9H5L3,7Z\";\r\nexport var mdiDogSideOff = \"M18 10L15 7L19 3V5L22 8L20 10L19 9L18 10M17 11L14 8L13 9H12.2L17 13.8V11M2.39 1.73L1.11 3L7.11 9H5L3 7L2 8L5 11V14L4 15V21H6V18L8 15H13.11L15 16.89V21H17V18.89L20.84 22.73L22.11 21.46L2.39 1.73Z\";\r\nexport var mdiDolby = \"M2,5V19H22V5H2M6,17H4V7H6C8.86,7.09 11.1,9.33 11,12C11.1,14.67 8.86,16.91 6,17M20,17H18C15.14,16.91 12.9,14.67 13,12C12.9,9.33 15.14,7.09 18,7H20V17Z\";\r\nexport var mdiDolly = \"M11.97,19.88C10.93,20.26 9.78,19.72 9.4,18.69C9,17.65 9.55,16.5 10.59,16.13C11.63,15.75 12.78,16.28 13.16,17.31C13.54,18.35 13,19.5 11.97,19.88M9.9,14.25C7.83,15 6.76,17.3 7.5,19.38C8.28,21.45 10.58,22.5 12.66,21.75C14.73,21 15.79,18.7 15.04,16.63C14.28,14.55 11.97,13.5 9.9,14.25M15.94,4.58L9.37,7L10.75,10.74L17.32,8.33M20.32,13.62L15.54,15.37C15.71,15.66 15.85,15.96 15.97,16.28C16.09,16.6 16.17,16.93 16.22,17.25L21,15.5M19.54,8.58L11.09,11.68L11.58,13C12.83,13.09 14,13.64 14.89,14.55L20.92,12.34M2,2V4H5.09L8.66,13.75C8.94,13.57 9.24,13.43 9.56,13.31C9.88,13.19 10.21,13.11 10.53,13.06L6.5,2\";\r\nexport var mdiDomain = \"M18,15H16V17H18M18,11H16V13H18M20,19H12V17H14V15H12V13H14V11H12V9H20M10,7H8V5H10M10,11H8V9H10M10,15H8V13H10M10,19H8V17H10M6,7H4V5H6M6,11H4V9H6M6,15H4V13H6M6,19H4V17H6M12,7V3H2V21H22V7H12Z\";\r\nexport var mdiDomainOff = \"M12,19H16L14,17H12V19M10,15V13H8V15H10M10,19V17H8V19H10M6,11V9H4V11H6M6,15V13H4V15H6M6,19V17H4V19H6M1.31,1.78L22.31,22.69L21,24L18,21H2V5L0.09,3.09L1.31,1.78M16,11H18V13H16V11M8,5V5.91L5.11,3H12V7H22V19.92L20,17.91V9H12V9.89L9.09,7H10V5H8Z\";\r\nexport var mdiDomainPlus = \"M12 7V3H2V21H13.35A5.8 5.8 0 0 1 13 19H12V17H13.35A5 5 0 0 1 14 15.69V15H12V13H14V11H12V9H20V13.09A5.58 5.58 0 0 1 22 13.81V7M6 19H4V17H6M6 15H4V13H6M6 11H4V9H6M6 7H4V5H6M10 19H8V17H10M10 15H8V13H10M10 11H8V9H10M10 7H8V5H10M16 13H18V11H16M16 11V13H18V11M16 11V13H18V11M20 15V18H23V20H20V23H18V20H15V18H18V15Z\";\r\nexport var mdiDomainRemove = \"M12 7V3H2V21H13.35A5.8 5.8 0 0 1 13 19H12V17H13.35A5 5 0 0 1 14 15.69V15H12V13H14V11H12V9H20V13.09A5.58 5.58 0 0 1 22 13.81V7M6 19H4V17H6M6 15H4V13H6M6 11H4V9H6M6 7H4V5H6M10 19H8V17H10M10 15H8V13H10M10 11H8V9H10M10 7H8V5H10M16 13H18V11H16M16 11V13H18V11M16 11V13H18V11M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.46 21.12L17.59 19L15.46 16.88L16.88 15.46L19 17.59L21.12 15.46Z\";\r\nexport var mdiDomeLight = \"M21 10C21 14.97 16.97 19 12 19C7.03 19 3 14.97 3 10V9.03C3 8.76 3.11 8.5 3.3 8.3C3.5 8.11 3.76 8 4.03 8H20C20.25 8 20.5 8.11 20.7 8.3C20.89 8.5 21 8.75 21 9V10M5 10C5 13.86 8.14 17 12 17C15.86 17 19 13.86 19 10H5M20 6V7H4V6C4 5.73 4.1 5.5 4.29 5.29C4.5 5.1 4.73 5 5 5H10V3H14V5H19C19.25 5 19.5 5.11 19.7 5.3C19.89 5.5 20 5.75 20 6Z\";\r\nexport var mdiDominoMask = \"M15.83 9.81C14.7 9.7 13.69 10.38 13.46 11.5C13.46 11.84 14.81 12.29 16.05 12.29C17.29 12.29 18.41 11.5 18.41 11.28C18.41 11.05 17.63 9.93 15.83 9.81M8.18 9.81C6.38 9.93 5.59 10.94 5.59 11.27C5.59 11.5 6.82 12.29 7.95 12.29S10.54 11.84 10.54 11.5C10.31 10.38 9.19 9.7 8.18 9.81M16.95 16C15.04 16 13.8 13.75 12 13.75S8.85 16 7.05 16C4.69 16 3 13.86 3 10.04C3 7.68 3.68 7 6.71 7S10.54 8.24 12 8.24 14.36 7 17.29 7 21 7.79 21 10.04C21 13.86 19.31 16 16.95 16Z\";\r\nexport var mdiDonkey = \"M21.34,10.35L21.27,10.28L21.18,10.19L18,7V6A0.5,0.5 0 0,0 17.5,5.5C17.36,5.5 17.22,5.56 17.13,5.66L13.46,9H7C6.32,9 5.69,9.35 5.32,9.92L2.62,12.59C2.29,13.04 2.39,13.66 2.84,14C3.18,14.24 3.65,14.25 4,14L5,13.07V19H8V15H13V19H16V13.83C16,13.3 16.21,12.79 16.59,12.42L18,11L20,12V12C20.15,12.08 20.32,12.13 20.5,12.13C21.1,12.11 21.59,11.61 21.58,11C21.57,10.76 21.5,10.53 21.34,10.35Z\";\r\nexport var mdiDoor = \"M8,3C6.89,3 6,3.89 6,5V21H18V5C18,3.89 17.11,3 16,3H8M8,5H16V19H8V5M13,11V13H15V11H13Z\";\r\nexport var mdiDoorClosed = \"M16,11H18V13H16V11M12,3H19C20.11,3 21,3.89 21,5V19H22V21H2V19H10V5C10,3.89 10.89,3 12,3M12,5V19H19V5H12Z\";\r\nexport var mdiDoorClosedLock = \"M16 11H18V13H16V11M12 3H19A2 2 0 0 1 21 5V19H22V21H2V19H10V5A2 2 0 0 1 12 3M12 5V19H19V5M6.2 5H2.8V4.5A1.7 1.7 0 0 1 6.2 4.5M7 5V4.5A2.5 2.5 0 0 0 2 4.5V5A1 1 0 0 0 1 6V10A1 1 0 0 0 2 11H7A1 1 0 0 0 8 10V6A1 1 0 0 0 7 5\";\r\nexport var mdiDoorOpen = \"M12,3C10.89,3 10,3.89 10,5H3V19H2V21H22V19H21V5C21,3.89 20.11,3 19,3H12M12,5H19V19H12V5M5,11H7V13H5V11Z\";\r\nexport var mdiDoorSliding = \"M10 13H8V11H10V13M16 11H14V13H16V11M21 19V21H3V19H4V5C4 3.9 4.9 3 6 3H18C19.1 3 20 3.9 20 5V19H21M11 5H6V19H11V5M18 5H13V19H18V5Z\";\r\nexport var mdiDoorSlidingLock = \"M21.8 17V15.5C21.8 14.1 20.4 13 19 13S16.2 14.1 16.2 15.5V17C15.6 17 15 17.6 15 18.2V21.7C15 22.4 15.6 23 16.2 23H21.7C22.4 23 23 22.4 23 21.8V18.3C23 17.6 22.4 17 21.8 17M20.5 17H17.5V15.5C17.5 14.7 18.2 14.2 19 14.2S20.5 14.7 20.5 15.5V17M13 11H15V13H13V11M9 13H7V11H9V13M13 19H12V5H17V11.44C17.61 11.17 18.29 11 19 11V5C19 3.9 18.1 3 17 3H5C3.9 3 3 3.9 3 5V19H2V21H13V19M10 19H5V5H10V19Z\";\r\nexport var mdiDoorSlidingOpen = \"M6 11V13H4V11H6M22 5H17V19H22V5M7 5H2L2 19H7V5M22 3C23.11 3 24 3.89 24 5V21H0V5C0 3.89 .894 3 2 3H9V19H15V3H22M20 11H18V13H20V11Z\";\r\nexport var mdiDoorbell = \"M12 10C10.9 10 10 10.9 10 12S10.9 14 12 14 14 13.1 14 12 13.1 10 12 10M16 2H8C6.9 2 6 2.9 6 4V20C6 21.1 6.9 22 8 22H16C17.1 22 18 21.1 18 20V4C18 2.9 17.1 2 16 2M16 20H8V4H16V20Z\";\r\nexport var mdiDoorbellVideo = \"M14 15C14 16.11 13.11 17 12 17S10 16.11 10 15 10.9 13 12 13 14 13.9 14 15M18 4V20C18 21.1 17.11 22 16 22H8C6.9 22 6 21.11 6 20V4C6 2.9 6.9 2 8 2H16C17.11 2 18 2.9 18 4M10.5 7C10.5 7.83 11.17 8.5 12 8.5S13.5 7.83 13.5 7 12.83 5.5 12 5.5 10.5 6.17 10.5 7M16 10H8V20H16V10Z\";\r\nexport var mdiDotNet = \"M2,15A1,1 0 0,1 3,16A1,1 0 0,1 2,17A1,1 0 0,1 1,16A1,1 0 0,1 2,15M21,17H19V9H17V7H23V9H21V17M16,7V9H14V11H16V13H14V15H16V17H12V7H16M11,7V17H9L6,11V17H4V7H6L9,13V7H11Z\";\r\nexport var mdiDotsGrid = \"M12 16C13.1 16 14 16.9 14 18S13.1 20 12 20 10 19.1 10 18 10.9 16 12 16M12 10C13.1 10 14 10.9 14 12S13.1 14 12 14 10 13.1 10 12 10.9 10 12 10M12 4C13.1 4 14 4.9 14 6S13.1 8 12 8 10 7.1 10 6 10.9 4 12 4M6 16C7.1 16 8 16.9 8 18S7.1 20 6 20 4 19.1 4 18 4.9 16 6 16M6 10C7.1 10 8 10.9 8 12S7.1 14 6 14 4 13.1 4 12 4.9 10 6 10M6 4C7.1 4 8 4.9 8 6S7.1 8 6 8 4 7.1 4 6 4.9 4 6 4M18 16C19.1 16 20 16.9 20 18S19.1 20 18 20 16 19.1 16 18 16.9 16 18 16M18 10C19.1 10 20 10.9 20 12S19.1 14 18 14 16 13.1 16 12 16.9 10 18 10M18 4C19.1 4 20 4.9 20 6S19.1 8 18 8 16 7.1 16 6 16.9 4 18 4Z\";\r\nexport var mdiDotsHexagon = \"M16 12C16 10.9 16.9 10 18 10S20 10.9 20 12 19.1 14 18 14 16 13.1 16 12M10 12C10 10.9 10.9 10 12 10S14 10.9 14 12 13.1 14 12 14 10 13.1 10 12M4 12C4 10.9 4.9 10 6 10S8 10.9 8 12 7.1 14 6 14 4 13.1 4 12M13 18C13 16.9 13.9 16 15 16S17 16.9 17 18 16.1 20 15 20 13 19.1 13 18M7 18C7 16.9 7.9 16 9 16S11 16.9 11 18 10.1 20 9 20 7 19.1 7 18M13 6C13 4.9 13.9 4 15 4S17 4.9 17 6 16.1 8 15 8 13 7.1 13 6M7 6C7 4.9 7.9 4 9 4S11 4.9 11 6 10.1 8 9 8 7 7.1 7 6\";\r\nexport var mdiDotsHorizontal = \"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\";\r\nexport var mdiDotsHorizontalCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,10.5A1.5,1.5 0 0,0 10.5,12A1.5,1.5 0 0,0 12,13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 12,10.5M6.5,10.5A1.5,1.5 0 0,0 5,12A1.5,1.5 0 0,0 6.5,13.5A1.5,1.5 0 0,0 8,12A1.5,1.5 0 0,0 6.5,10.5M17.5,10.5A1.5,1.5 0 0,0 16,12A1.5,1.5 0 0,0 17.5,13.5A1.5,1.5 0 0,0 19,12A1.5,1.5 0 0,0 17.5,10.5Z\";\r\nexport var mdiDotsHorizontalCircleOutline = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4M12,10.5A1.5,1.5 0 0,1 13.5,12A1.5,1.5 0 0,1 12,13.5A1.5,1.5 0 0,1 10.5,12A1.5,1.5 0 0,1 12,10.5M7.5,10.5A1.5,1.5 0 0,1 9,12A1.5,1.5 0 0,1 7.5,13.5A1.5,1.5 0 0,1 6,12A1.5,1.5 0 0,1 7.5,10.5M16.5,10.5A1.5,1.5 0 0,1 18,12A1.5,1.5 0 0,1 16.5,13.5A1.5,1.5 0 0,1 15,12A1.5,1.5 0 0,1 16.5,10.5Z\";\r\nexport var mdiDotsSquare = \"M12 16C13.1 16 14 16.9 14 18S13.1 20 12 20 10 19.1 10 18 10.9 16 12 16M12 4C13.1 4 14 4.9 14 6S13.1 8 12 8 10 7.1 10 6 10.9 4 12 4M6 16C7.1 16 8 16.9 8 18S7.1 20 6 20 4 19.1 4 18 4.9 16 6 16M6 10C7.1 10 8 10.9 8 12S7.1 14 6 14 4 13.1 4 12 4.9 10 6 10M6 4C7.1 4 8 4.9 8 6S7.1 8 6 8 4 7.1 4 6 4.9 4 6 4M18 16C19.1 16 20 16.9 20 18S19.1 20 18 20 16 19.1 16 18 16.9 16 18 16M18 10C19.1 10 20 10.9 20 12S19.1 14 18 14 16 13.1 16 12 16.9 10 18 10M18 4C19.1 4 20 4.9 20 6S19.1 8 18 8 16 7.1 16 6 16.9 4 18 4Z\";\r\nexport var mdiDotsTriangle = \"M12 16C13.1 16 14 16.9 14 18S13.1 20 12 20 10 19.1 10 18 10.9 16 12 16M15 10C16.1 10 17 10.9 17 12S16.1 14 15 14 13 13.1 13 12 13.9 10 15 10M6 16C7.1 16 8 16.9 8 18S7.1 20 6 20 4 19.1 4 18 4.9 16 6 16M9 10C10.1 10 11 10.9 11 12S10.1 14 9 14 7 13.1 7 12 7.9 10 9 10M12 4C13.1 4 14 4.9 14 6S13.1 8 12 8 10 7.1 10 6 10.9 4 12 4M18 16C19.1 16 20 16.9 20 18S19.1 20 18 20 16 19.1 16 18 16.9 16 18 16\";\r\nexport var mdiDotsVertical = \"M12,16A2,2 0 0,1 14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18A2,2 0 0,1 12,16M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8A2,2 0 0,1 10,6A2,2 0 0,1 12,4Z\";\r\nexport var mdiDotsVerticalCircle = \"M2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12M10.5,12A1.5,1.5 0 0,0 12,13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 12,10.5A1.5,1.5 0 0,0 10.5,12M10.5,17.5A1.5,1.5 0 0,0 12,19A1.5,1.5 0 0,0 13.5,17.5A1.5,1.5 0 0,0 12,16A1.5,1.5 0 0,0 10.5,17.5M10.5,6.5A1.5,1.5 0 0,0 12,8A1.5,1.5 0 0,0 13.5,6.5A1.5,1.5 0 0,0 12,5A1.5,1.5 0 0,0 10.5,6.5Z\";\r\nexport var mdiDotsVerticalCircleOutline = \"M10.5,12A1.5,1.5 0 0,1 12,10.5A1.5,1.5 0 0,1 13.5,12A1.5,1.5 0 0,1 12,13.5A1.5,1.5 0 0,1 10.5,12M10.5,16.5A1.5,1.5 0 0,1 12,15A1.5,1.5 0 0,1 13.5,16.5A1.5,1.5 0 0,1 12,18A1.5,1.5 0 0,1 10.5,16.5M10.5,7.5A1.5,1.5 0 0,1 12,6A1.5,1.5 0 0,1 13.5,7.5A1.5,1.5 0 0,1 12,9A1.5,1.5 0 0,1 10.5,7.5M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiDownload = \"M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z\";\r\nexport var mdiDownloadBox = \"M5 3H19C20.11 3 21 3.9 21 5V19C21 20.11 20.11 21 19 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3M8 17H16V15H8V17M16 10H13.5V7H10.5V10H8L12 14L16 10Z\";\r\nexport var mdiDownloadBoxOutline = \"M8 17V15H16V17H8M16 10L12 14L8 10H10.5V7H13.5V10H16M5 3H19C20.11 3 21 3.9 21 5V19C21 20.11 20.11 21 19 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3M5 5V19H19V5H5Z\";\r\nexport var mdiDownloadCircle = \"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M8 17H16V15H8V17M16 10H13.5V6H10.5V10H8L12 14L16 10Z\";\r\nexport var mdiDownloadCircleOutline = \"M8 17V15H16V17H8M16 10L12 14L8 10H10.5V6H13.5V10H16M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4Z\";\r\nexport var mdiDownloadLock = \"M5 20H14V18H5M19 9H15V3H9V9H5L12 16M22 16A1.08 1.08 0 0 1 23 17V21A1.08 1.08 0 0 1 22 22H17A1.08 1.08 0 0 1 16 21V17A1.08 1.08 0 0 1 17 16V14.5A2.5 2.5 0 0 1 22 14.5V16M21 16V14.5A1.5 1.5 0 0 0 18 14.5V16H21\";\r\nexport var mdiDownloadLockOutline = \"M22 16A1.08 1.08 0 0 1 23 17V21A1.08 1.08 0 0 1 22 22H17A1.08 1.08 0 0 1 16 21V17A1.08 1.08 0 0 1 17 16V14.5A2.5 2.5 0 0 1 22 14.5V16M21 16V14.5A1.5 1.5 0 0 0 18 14.5V16H21M13 5V11H14.17L12 13.17L9.83 11H11V5H13M15 3H9V9H5L12 16L19 9H15V3M14 18H5V20H14Z\";\r\nexport var mdiDownloadMultiple = \"M9,1V7H5L12,14L19,7H15V1H9M5,16V18H19V16H5M5,20V22H19V20H5Z\";\r\nexport var mdiDownloadNetwork = \"M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17M12,14.5L16.5,10H13V6H11V10H7.5L12,14.5Z\";\r\nexport var mdiDownloadNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M12,14L16,10H13V6H11V10H8L12,14Z\";\r\nexport var mdiDownloadOff = \"M20.84 22.73L18.11 20H5V18H16.11L13.06 14.95L12 16L5 9H7.11L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M19 9H15V3H9V5.8L15.6 12.4L19 9Z\";\r\nexport var mdiDownloadOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L7.11 9H5L12 16L13.06 14.95L16.11 18H5V20H18.11L20.84 22.73L22.11 21.46M11 5H13V9.8L15.6 12.4L19 9H15V3H9V5.8L11 7.8V5Z\";\r\nexport var mdiDownloadOutline = \"M13,5V11H14.17L12,13.17L9.83,11H11V5H13M15,3H9V9H5L12,16L19,9H15V3M19,18H5V20H19V18Z\";\r\nexport var mdiDrag = \"M7,19V17H9V19H7M11,19V17H13V19H11M15,19V17H17V19H15M7,15V13H9V15H7M11,15V13H13V15H11M15,15V13H17V15H15M7,11V9H9V11H7M11,11V9H13V11H11M15,11V9H17V11H15M7,7V5H9V7H7M11,7V5H13V7H11M15,7V5H17V7H15Z\";\r\nexport var mdiDragHorizontal = \"M3,15V13H5V15H3M3,11V9H5V11H3M7,15V13H9V15H7M7,11V9H9V11H7M11,15V13H13V15H11M11,11V9H13V11H11M15,15V13H17V15H15M15,11V9H17V11H15M19,15V13H21V15H19M19,11V9H21V11H19Z\";\r\nexport var mdiDragHorizontalVariant = \"M21 11H3V9H21V11M21 13H3V15H21V13Z\";\r\nexport var mdiDragVariant = \"M22.67,12L18.18,16.5L15.67,14L17.65,12L15.67,10.04L18.18,7.53L22.67,12M12,1.33L16.47,5.82L13.96,8.33L12,6.35L10,8.33L7.5,5.82L12,1.33M12,22.67L7.53,18.18L10.04,15.67L12,17.65L14,15.67L16.5,18.18L12,22.67M1.33,12L5.82,7.5L8.33,10L6.35,12L8.33,13.96L5.82,16.47L1.33,12M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10Z\";\r\nexport var mdiDragVertical = \"M9,3H11V5H9V3M13,3H15V5H13V3M9,7H11V9H9V7M13,7H15V9H13V7M9,11H11V13H9V11M13,11H15V13H13V11M9,15H11V17H9V15M13,15H15V17H13V15M9,19H11V21H9V19M13,19H15V21H13V19Z\";\r\nexport var mdiDragVerticalVariant = \"M11 21H9V3H11V21M15 3H13V21H15V3Z\";\r\nexport var mdiDramaMasks = \"M8.11,19.45C5.94,18.65 4.22,16.78 3.71,14.35L2.05,6.54C1.81,5.46 2.5,4.4 3.58,4.17L13.35,2.1L13.38,2.09C14.45,1.88 15.5,2.57 15.72,3.63L16.07,5.3L20.42,6.23H20.45C21.5,6.47 22.18,7.53 21.96,8.59L20.3,16.41C19.5,20.18 15.78,22.6 12,21.79C10.42,21.46 9.08,20.61 8.11,19.45V19.45M20,8.18L10.23,6.1L8.57,13.92V13.95C8,16.63 9.73,19.27 12.42,19.84C15.11,20.41 17.77,18.69 18.34,16L20,8.18M16,16.5C15.37,17.57 14.11,18.16 12.83,17.89C11.56,17.62 10.65,16.57 10.5,15.34L16,16.5M8.47,5.17L4,6.13L5.66,13.94L5.67,13.97C5.82,14.68 6.12,15.32 6.53,15.87C6.43,15.1 6.45,14.3 6.62,13.5L7.05,11.5C6.6,11.42 6.21,11.17 6,10.81C6.06,10.2 6.56,9.66 7.25,9.5C7.33,9.5 7.4,9.5 7.5,9.5L8.28,5.69C8.32,5.5 8.38,5.33 8.47,5.17M15.03,12.23C15.35,11.7 16.03,11.42 16.72,11.57C17.41,11.71 17.91,12.24 18,12.86C17.67,13.38 17,13.66 16.3,13.5C15.61,13.37 15.11,12.84 15.03,12.23M10.15,11.19C10.47,10.66 11.14,10.38 11.83,10.53C12.5,10.67 13.03,11.21 13.11,11.82C12.78,12.34 12.11,12.63 11.42,12.5C10.73,12.33 10.23,11.8 10.15,11.19M11.97,4.43L13.93,4.85L13.77,4.05L11.97,4.43Z\";\r\nexport var mdiDraw = \"M9.75 20.85C11.53 20.15 11.14 18.22 10.24 17C9.35 15.75 8.12 14.89 6.88 14.06C6 13.5 5.19 12.8 4.54 12C4.26 11.67 3.69 11.06 4.27 10.94C4.86 10.82 5.88 11.4 6.4 11.62C7.31 12 8.21 12.44 9.05 12.96L10.06 11.26C8.5 10.23 6.5 9.32 4.64 9.05C3.58 8.89 2.46 9.11 2.1 10.26C1.78 11.25 2.29 12.25 2.87 13.03C4.24 14.86 6.37 15.74 7.96 17.32C8.3 17.65 8.71 18.04 8.91 18.5C9.12 18.94 9.07 18.97 8.6 18.97C7.36 18.97 5.81 18 4.8 17.36L3.79 19.06C5.32 20 7.88 21.47 9.75 20.85M20.84 5.25C21.06 5.03 21.06 4.67 20.84 4.46L19.54 3.16C19.33 2.95 18.97 2.95 18.76 3.16L17.74 4.18L19.82 6.26M11 10.92V13H13.08L19.23 6.85L17.15 4.77L11 10.92Z\";\r\nexport var mdiDrawing = \"M8.5,3A5.5,5.5 0 0,1 14,8.5C14,9.83 13.53,11.05 12.74,12H21V21H12V12.74C11.05,13.53 9.83,14 8.5,14A5.5,5.5 0 0,1 3,8.5A5.5,5.5 0 0,1 8.5,3Z\";\r\nexport var mdiDrawingBox = \"M18,18H12V12.21C11.34,12.82 10.47,13.2 9.5,13.2C7.46,13.2 5.8,11.54 5.8,9.5A3.7,3.7 0 0,1 9.5,5.8C11.54,5.8 13.2,7.46 13.2,9.5C13.2,10.47 12.82,11.34 12.21,12H18M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiDresser = \"M4 3C2.9 3 2 3.9 2 5V8H22V5C22 3.9 21.11 3 20 3H4M10 5H14V6H10V5M2 9V14H22V9H2M10 11H14V12H10V11M2 15V18C2 19.11 2.9 20 4 20V21H6V20H18V21H20V20C21.11 20 22 19.11 22 18V15H2M10 17H14V18H10V17Z\";\r\nexport var mdiDresserOutline = \"M4 3C2.9 3 2 3.9 2 5V18C2 19.11 2.9 20 4 20V21H6V20H18V21H20V20C21.11 20 22 19.11 22 18V5C22 3.9 21.11 3 20 3H4M4 5H20V8H4V5M10 6V7H14V6H10M4 10H20V13H4V10M10 11V12H14V11H10M4 15H20V18H4V15M10 16V17H14V16H10Z\";\r\nexport var mdiDrone = \"M22,11H21L20,9H13.75L16,12.5H14L10.75,9H4C3.45,9 2,8.55 2,8C2,7.45 3.5,5.5 5.5,5.5C7.5,5.5 7.67,6.5 9,7H21A1,1 0 0,1 22,8V9L22,11M10.75,6.5L14,3H16L13.75,6.5H10.75M18,11V9.5H19.75L19,11H18M3,19A1,1 0 0,1 2,18A1,1 0 0,1 3,17A4,4 0 0,1 7,21A1,1 0 0,1 6,22A1,1 0 0,1 5,21A2,2 0 0,0 3,19M11,21A1,1 0 0,1 10,22A1,1 0 0,1 9,21A6,6 0 0,0 3,15A1,1 0 0,1 2,14A1,1 0 0,1 3,13A8,8 0 0,1 11,21Z\";\r\nexport var mdiDropbox = \"M3 6.2L8 9.39L13 6.2L8 3L3 6.2M13 6.2L18 9.39L23 6.2L18 3L13 6.2M3 12.55L8 15.74L13 12.55L8 9.35L3 12.55M18 9.35L13 12.55L18 15.74L23 12.55L18 9.35M8.03 16.8L13.04 20L18.04 16.8L13.04 13.61L8.03 16.8Z\";\r\nexport var mdiDrupal = \"M20.47,14.65C20.47,15.29 20.25,16.36 19.83,17.1C19.4,17.85 19.08,18.06 18.44,18.06C17.7,17.95 16.31,15.82 15.36,15.72C14.18,15.72 11.73,18.17 9.71,18.17C8.54,18.17 8.11,17.95 7.79,17.74C7.15,17.31 6.94,16.67 6.94,15.82C6.94,14.22 8.43,12.84 10.24,12.84C12.59,12.84 14.18,15.18 15.36,15.08C16.31,15.08 18.23,13.16 19.19,13.16C20.15,12.95 20.47,14 20.47,14.65M16.63,5.28C15.57,4.64 14.61,4.32 13.54,3.68C12.91,3.25 12.05,2.3 11.31,1.44C11,2.83 10.78,3.36 10.24,3.79C9.18,4.53 8.64,4.85 7.69,5.28C6.94,5.7 3,8.05 3,13.16C3,18.27 7.37,22 12.05,22C16.85,22 21,18.5 21,13.27C21.21,8.05 17.27,5.7 16.63,5.28Z\";\r\nexport var mdiDuck = \"M8.5,5A1.5,1.5 0 0,0 7,6.5A1.5,1.5 0 0,0 8.5,8A1.5,1.5 0 0,0 10,6.5A1.5,1.5 0 0,0 8.5,5M10,2A5,5 0 0,1 15,7C15,8.7 14.15,10.2 12.86,11.1C14.44,11.25 16.22,11.61 18,12.5C21,14 22,12 22,12C22,12 21,21 15,21H9C9,21 4,21 4,16C4,13 7,12 6,10C2,10 2,6.5 2,6.5C3,7 4.24,7 5,6.65C5.19,4.05 7.36,2 10,2Z\";\r\nexport var mdiDumbbell = \"M20.57,14.86L22,13.43L20.57,12L17,15.57L8.43,7L12,3.43L10.57,2L9.14,3.43L7.71,2L5.57,4.14L4.14,2.71L2.71,4.14L4.14,5.57L2,7.71L3.43,9.14L2,10.57L3.43,12L7,8.43L15.57,17L12,20.57L13.43,22L14.86,20.57L16.29,22L18.43,19.86L19.86,21.29L21.29,19.86L19.86,18.43L22,16.29L20.57,14.86Z\";\r\nexport var mdiDumpTruck = \"M20,8H19L17,8H15V14H2V17H3A3,3 0 0,0 6,20A3,3 0 0,0 9,17H15A3,3 0 0,0 18,20A3,3 0 0,0 21,17H23V12L20,8M6,18.5A1.5,1.5 0 0,1 4.5,17A1.5,1.5 0 0,1 6,15.5A1.5,1.5 0 0,1 7.5,17A1.5,1.5 0 0,1 6,18.5M18,18.5A1.5,1.5 0 0,1 16.5,17A1.5,1.5 0 0,1 18,15.5A1.5,1.5 0 0,1 19.5,17A1.5,1.5 0 0,1 18,18.5M17,12V9.5H19.5L21.46,12H17M18,7H14V13H3L1.57,8H1V6H13L14,5H18V7Z\";\r\nexport var mdiEarHearing = \"M17,20C16.71,20 16.44,19.94 16.24,19.85C15.53,19.5 15.03,18.97 14.53,17.47C14,15.91 13.06,15.18 12.14,14.47C11.35,13.86 10.53,13.23 9.82,11.94C9.29,11 9,9.93 9,9C9,6.2 11.2,4 14,4C16.8,4 19,6.2 19,9H21C21,5.07 17.93,2 14,2C10.07,2 7,5.07 7,9C7,10.26 7.38,11.65 8.07,12.9C9,14.55 10.05,15.38 10.92,16.05C11.73,16.67 12.31,17.12 12.63,18.1C13.23,19.92 14,20.94 15.36,21.65C15.87,21.88 16.43,22 17,22A4,4 0 0,0 21,18H19A2,2 0 0,1 17,20M7.64,2.64L6.22,1.22C4.23,3.21 3,5.96 3,9C3,12.04 4.23,14.79 6.22,16.78L7.63,15.37C6,13.74 5,11.5 5,9C5,6.5 6,4.26 7.64,2.64M11.5,9A2.5,2.5 0 0,0 14,11.5A2.5,2.5 0 0,0 16.5,9A2.5,2.5 0 0,0 14,6.5A2.5,2.5 0 0,0 11.5,9Z\";\r\nexport var mdiEarHearingOff = \"M1,4.27L2.28,3L20,20.72L18.73,22L12.91,16.18C12.19,16.74 11.67,17.19 11.37,18.1C10.77,19.92 10,20.94 8.64,21.65C8.13,21.88 7.57,22 7,22A4,4 0 0,1 3,18H5A2,2 0 0,0 7,20C7.29,20 7.56,19.94 7.76,19.85C8.47,19.5 8.97,18.97 9.47,17.47C9.91,16.12 10.69,15.39 11.5,14.76L5.04,8.31C5,8.54 5,8.77 5,9H3C3,8.17 3.14,7.39 3.39,6.66L1,4.27M14.18,11.94C14.71,11 15,9.93 15,9C15,6.2 12.8,4 10,4C8.81,4 7.74,4.39 6.89,5.06L5.46,3.63C6.67,2.61 8.25,2 10,2C13.93,2 17,5.07 17,9C17,10.26 16.62,11.65 15.93,12.9L15.47,13.65L14.03,12.2L14.18,11.94M16.36,2.64L17.78,1.22C19.77,3.21 21,5.96 21,9C21,11.83 19.93,14.41 18.18,16.36L16.77,14.94C18.15,13.36 19,11.28 19,9C19,6.5 18,4.26 16.36,2.64M12.5,9C12.5,9.5 12.36,9.93 12.13,10.31L8.69,6.87C9.07,6.64 9.5,6.5 10,6.5A2.5,2.5 0 0,1 12.5,9Z\";\r\nexport var mdiEarth = \"M17.9,17.39C17.64,16.59 16.89,16 16,16H15V13A1,1 0 0,0 14,12H8V10H10A1,1 0 0,0 11,9V7H13A2,2 0 0,0 15,5V4.59C17.93,5.77 20,8.64 20,12C20,14.08 19.2,15.97 17.9,17.39M11,19.93C7.05,19.44 4,16.08 4,12C4,11.38 4.08,10.78 4.21,10.21L9,15V16A2,2 0 0,0 11,18M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiEarthArrowRight = \"M19 21V19H15V17H19V15L22 18L19 21M12 18C12 15.8 13.2 13.9 15 12.8C14.9 12.3 14.5 12 14 12H8V10H10C10.6 10 11 9.6 11 9V7H13C14.1 7 15 6.1 15 5V4.6C17.9 5.8 20 8.6 20 12V12.3C20.7 12.5 21.3 12.9 21.9 13.4C22 13 22 12.5 22 12C22 6.5 17.5 2 12 2S2 6.5 2 12 6.5 22 12 22C12.5 22 13 22 13.4 21.9C12.5 20.8 12 19.5 12 18M11 19.9C7 19.4 4 16.1 4 12C4 11.4 4.1 10.8 4.2 10.2L9 15V16C9 17.1 9.9 18 11 18V19.9Z\";\r\nexport var mdiEarthBox = \"M5,3C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H5M15.78,5H19V17.18C18.74,16.38 17.69,15.79 16.8,15.79H15.8V12.79A1,1 0 0,0 14.8,11.79H8.8V9.79H10.8A1,1 0 0,0 11.8,8.79V6.79H13.8C14.83,6.79 15.67,6 15.78,5M5,10.29L9.8,14.79V15.79C9.8,16.9 10.7,17.79 11.8,17.79V19H5V10.29Z\";\r\nexport var mdiEarthBoxMinus = \"M22 17V19H14V17H22M5 3H19C20.1 3 21 3.89 21 5V12.8C20.39 12.45 19.72 12.2 19 12.08V5H15.78C15.67 6 14.83 6.79 13.8 6.79H11.8V8.79C11.8 9.35 11.35 9.79 10.8 9.79H8.8V11.79H14.8C15.23 11.79 15.6 12.06 15.74 12.44C13.6 13.31 12.07 15.39 12 17.83C10.7 17.79 9.8 16.9 9.8 15.79V14.79L5 10.29V19H12.08C12.2 19.72 12.45 20.39 12.8 21H5C3.9 21 3 20.11 3 19V5C3 3.89 3.89 3 5 3Z\";\r\nexport var mdiEarthBoxOff = \"M23,4.27L21,6.27V19A2,2 0 0,1 19,21H6.27L4.27,23L3,21.72L21.72,3L23,4.27M5,3H19.18L17.18,5H15.78C15.67,6 14.83,6.79 13.8,6.79H11.8V8.79C11.8,9.35 11.35,9.79 10.8,9.79H8.8V11.79H10.38L8.55,13.62L5,10.29V17.18L3,19.18V5C3,3.89 3.89,3 5,3M11.8,19V17.79C11.17,17.79 10.6,17.5 10.23,17.04L8.27,19H11.8M15.8,12.79V15.79H16.8C17.69,15.79 18.74,16.38 19,17.18V8.27L15.33,11.94C15.61,12.12 15.8,12.43 15.8,12.79Z\";\r\nexport var mdiEarthBoxPlus = \"M17 14H19V17H22V19H19V22H17V19H14V17H17V14M5 3H19C20.1 3 21 3.89 21 5V12.8C20.39 12.45 19.72 12.2 19 12.08V5H15.78C15.67 6 14.83 6.79 13.8 6.79H11.8V8.79C11.8 9.35 11.35 9.79 10.8 9.79H8.8V11.79H14.8C15.23 11.79 15.6 12.06 15.74 12.44C13.6 13.31 12.07 15.39 12 17.83C10.7 17.79 9.8 16.9 9.8 15.79V14.79L5 10.29V19H12.08C12.2 19.72 12.45 20.39 12.8 21H5C3.9 21 3 20.11 3 19V5C3 3.89 3.89 3 5 3Z\";\r\nexport var mdiEarthBoxRemove = \"M14.46 15.88L15.88 14.46L18 16.59L20.12 14.47L21.54 15.88L19.41 18L21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.46 20.12L16.59 18L14.47 15.88M5 3H19C20.1 3 21 3.89 21 5V12.8C20.39 12.45 19.72 12.2 19 12.08V5H15.78C15.67 6 14.83 6.79 13.8 6.79H11.8V8.79C11.8 9.35 11.35 9.79 10.8 9.79H8.8V11.79H14.8C15.23 11.79 15.6 12.06 15.74 12.44C13.6 13.31 12.07 15.39 12 17.83C10.7 17.79 9.8 16.9 9.8 15.79V14.79L5 10.29V19H12.08C12.2 19.72 12.45 20.39 12.8 21H5C3.9 21 3 20.11 3 19V5C3 3.89 3.89 3 5 3Z\";\r\nexport var mdiEarthMinus = \"M14 17H22V19H14V17M20 12C20 8.64 17.93 5.77 15 4.59V5C15 6.1 14.1 7 13 7H11V9C11 9.55 10.55 10 10 10H8V12H14C14.5 12 14.9 12.35 15 12.81C13.2 13.85 12 15.79 12 18C12 19.5 12.54 20.85 13.44 21.9L12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12L21.9 13.44C21.34 12.96 20.7 12.59 20 12.34L20 12M11 19.93V18C9.9 18 9 17.1 9 16V15L4.21 10.21C4.08 10.78 4 11.38 4 12C4 16.08 7.06 19.44 11 19.93Z\";\r\nexport var mdiEarthOff = \"M22,5.27L20.5,6.75C21.46,8.28 22,10.07 22,12A10,10 0 0,1 12,22C10.08,22 8.28,21.46 6.75,20.5L5.27,22L4,20.72L20.72,4L22,5.27M17.9,17.39C19.2,15.97 20,14.08 20,12C20,10.63 19.66,9.34 19.05,8.22L14.83,12.44C14.94,12.6 15,12.79 15,13V16H16C16.89,16 17.64,16.59 17.9,17.39M11,19.93V18C10.5,18 10.07,17.83 9.73,17.54L8.22,19.05C9.07,19.5 10,19.8 11,19.93M15,4.59V5A2,2 0 0,1 13,7H11V9A1,1 0 0,1 10,10H8V12H10.18L8.09,14.09L4.21,10.21C4.08,10.78 4,11.38 4,12C4,13.74 4.56,15.36 5.5,16.67L4.08,18.1C2.77,16.41 2,14.3 2,12A10,10 0 0,1 12,2C14.3,2 16.41,2.77 18.1,4.08L16.67,5.5C16.16,5.14 15.6,4.83 15,4.59Z\";\r\nexport var mdiEarthPlus = \"M17 14H19V17H22V19H19V22H17V19H14V17H17V14M20 12C20 8.64 17.93 5.77 15 4.59V5C15 6.1 14.1 7 13 7H11V9C11 9.55 10.55 10 10 10H8V12H14C14.5 12 14.9 12.35 15 12.81C13.2 13.85 12 15.79 12 18C12 19.5 12.54 20.85 13.44 21.9L12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12L21.9 13.44C21.34 12.96 20.7 12.59 20 12.34L20 12M11 19.93V18C9.9 18 9 17.1 9 16V15L4.21 10.21C4.08 10.78 4 11.38 4 12C4 16.08 7.06 19.44 11 19.93Z\";\r\nexport var mdiEarthRemove = \"M14.46 15.88L15.88 14.46L18 16.59L20.12 14.47L21.54 15.88L19.41 18L21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.46 20.12L16.59 18L14.47 15.88M20 12C20 8.64 17.93 5.77 15 4.59V5C15 6.1 14.1 7 13 7H11V9C11 9.55 10.55 10 10 10H8V12H14C14.5 12 14.9 12.35 15 12.81C13.2 13.85 12 15.79 12 18C12 19.5 12.54 20.85 13.44 21.9L12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12L21.9 13.44C21.34 12.96 20.7 12.59 20 12.34L20 12M11 19.93V18C9.9 18 9 17.1 9 16V15L4.21 10.21C4.08 10.78 4 11.38 4 12C4 16.08 7.06 19.44 11 19.93Z\";\r\nexport var mdiEgg = \"M19.5,14.5A7.5,7.5 0 0,1 12,22A7.5,7.5 0 0,1 4.5,14.5C4.5,10.36 7.86,2 12,2C16.14,2 19.5,10.36 19.5,14.5Z\";\r\nexport var mdiEggEaster = \"M6.89,6.36C8.23,3.91 10,2 12,2C14,2 15.77,3.91 17.11,6.36C16.26,6.57 15.5,7.07 15,7.77C13.79,6.11 11.46,5.75 9.8,6.97C9.5,7.19 9.22,7.46 9,7.77C8.5,7.07 7.74,6.57 6.89,6.36M15,18.06L12,15.06L9,18.06L6,15.06L4.73,16.33C5.75,20.35 9.83,22.77 13.84,21.76C16.5,21.08 18.59,19 19.27,16.33L18,15.06L15,18.06M9,15.94L12,12.94L15,15.94L18,12.94L19.5,14.44C19.37,12.13 18.8,9.86 17.81,7.76C16.65,7.86 15.75,8.83 15.75,10H14.25A2.25,2.25 0 0,0 12,7.75A2.25,2.25 0 0,0 9.75,10H8.25C8.25,8.83 7.35,7.86 6.19,7.76C5.2,9.86 4.63,12.13 4.5,14.44L6,12.94L9,15.94Z\";\r\nexport var mdiEggOff = \"M22.1 21.5L2.4 1.7L1.1 3L6.1 8C5.1 10.3 4.5 12.8 4.5 14.5C4.5 18.6 7.9 22 12 22C14.2 22 16.2 21 17.6 19.5L20.8 22.7L22.1 21.5M19.5 14.5C19.5 10.4 16.1 2 12 2C10.5 2 9.1 3.1 7.9 4.7L19.3 16.1C19.4 15.6 19.5 15.1 19.5 14.5Z\";\r\nexport var mdiEggOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L6.1 8C5.1 10.28 4.5 12.76 4.5 14.5C4.5 18.64 7.86 22 12 22C14.23 22 16.22 21 17.59 19.5L20.84 22.73L22.11 21.46M12 20C8.97 20 6.5 17.53 6.5 14.5C6.5 13.08 6.95 11.25 7.63 9.5L16.17 18.06C15.16 19.24 13.67 20 12 20M9.36 6.16L7.92 4.72C9.1 3.11 10.5 2 12 2C16.14 2 19.5 10.36 19.5 14.5C19.5 15.06 19.43 15.6 19.32 16.12L17.5 14.29C17.38 10.46 14.28 4 12 4C11.17 4 10.22 4.87 9.36 6.16Z\";\r\nexport var mdiEggOutline = \"M12 4C14.32 4 17.5 10.7 17.5 14.5C17.5 17.53 15.03 20 12 20S6.5 17.53 6.5 14.5C6.5 10.7 9.68 4 12 4M12 2C7.86 2 4.5 10.36 4.5 14.5C4.5 18.64 7.86 22 12 22S19.5 18.64 19.5 14.5C19.5 10.36 16.14 2 12 2Z\";\r\nexport var mdiEiffelTower = \"M8.21 17C8.65 16.15 9.06 15.16 9.44 14H9V12H10C10.61 9.4 11 6.13 11 2H13C13 6.13 13.4 9.4 14 12H15V14H14.56C14.94 15.16 15.35 16.15 15.79 17H17L17 19L19 22H16.58C15.81 20.24 14.05 19 12 19C9.95 19 8.19 20.24 7.42 22H5L7 19L6.97 17H8.21M12.59 14H11.41C11.07 15.13 10.69 16.13 10.28 17H13.72C13.32 16.13 12.93 15.13 12.59 14Z\";\r\nexport var mdiEightTrack = \"M7,2L5,5V16L6,20C6.27,21.07 6.9,22 8,22H16A2,2 0 0,0 18,20L19,16V5L17,2H15V3H13V2H7M7,6H17V16H7V6Z\";\r\nexport var mdiEject = \"M12,5L5.33,15H18.67M5,17H19V19H5V17Z\";\r\nexport var mdiEjectOutline = \"M5,17H19V19H5V17M12,5L5.33,15H18.67L12,5M12,8.6L14.93,13H9.07L12,8.6Z\";\r\nexport var mdiElectricSwitch = \"M1,11H3.17C3.58,9.83 4.69,9 6,9C6.65,9 7.25,9.21 7.74,9.56L14.44,4.87L15.58,6.5L8.89,11.2C8.96,11.45 9,11.72 9,12A3,3 0 0,1 6,15C4.69,15 3.58,14.17 3.17,13H1V11M23,11V13H20.83C20.42,14.17 19.31,15 18,15A3,3 0 0,1 15,12A3,3 0 0,1 18,9C19.31,9 20.42,9.83 20.83,11H23M6,11A1,1 0 0,0 5,12A1,1 0 0,0 6,13A1,1 0 0,0 7,12A1,1 0 0,0 6,11M18,11A1,1 0 0,0 17,12A1,1 0 0,0 18,13A1,1 0 0,0 19,12A1,1 0 0,0 18,11Z\";\r\nexport var mdiElectricSwitchClosed = \"M20.83 11A3 3 0 0 0 15.18 11H8.82A3 3 0 0 0 3.17 11H1V13H3.17A3 3 0 0 0 8.82 13H15.18A3 3 0 0 0 20.83 13H23V11M6 13A1 1 0 1 1 7 12A1 1 0 0 1 6 13M18 13A1 1 0 1 1 19 12A1 1 0 0 1 18 13Z\";\r\nexport var mdiElectronFramework = \"M12 22C10.33 22 8.84 20.5 7.9 17.93C7.83 17.73 7.93 17.5 8.14 17.44C8.34 17.36 8.56 17.47 8.63 17.67C9.44 19.9 10.7 21.23 12 21.23C12.94 21.23 13.87 20.55 14.62 19.31C14.73 19.13 14.96 19.07 15.15 19.18C15.33 19.29 15.39 19.53 15.28 19.71C14.38 21.19 13.22 22 12 22M15.91 17.72C15.87 17.72 15.83 17.71 15.8 17.7C15.59 17.63 15.5 17.42 15.54 17.21C16 15.81 16.22 14.18 16.22 12.5C16.22 8.65 14.97 5.24 13.19 4.14C12.94 4.5 12.5 4.78 12 4.78C11.24 4.78 10.61 4.16 10.61 3.39C10.61 2.62 11.24 2 12 2C12.77 2 13.4 2.61 13.41 3.37C15.53 4.5 17 8.21 17 12.5C17 14.25 16.75 15.96 16.28 17.45C16.23 17.61 16.08 17.72 15.91 17.72M12 2.77C11.66 2.77 11.38 3.05 11.38 3.39C11.38 3.73 11.67 4 12 4C12.35 4 12.64 3.73 12.64 3.39C12.64 3.05 12.35 2.77 12 2.77M4.08 18.54C3.31 18.54 2.68 17.91 2.68 17.15C2.68 16.66 2.94 16.22 3.33 15.97C3.19 13.56 5.68 10.41 9.5 8.22C11.09 7.32 12.75 6.67 14.32 6.34C14.5 6.29 14.73 6.42 14.77 6.63C14.82 6.84 14.69 7.05 14.5 7.09C13 7.41 11.41 8.03 9.9 8.89C6.46 10.86 4.1 13.68 4.1 15.76C4.86 15.77 5.5 16.39 5.5 17.15C5.5 17.92 4.85 18.54 4.08 18.54M4.08 16.53C3.74 16.53 3.46 16.81 3.46 17.15C3.46 17.5 3.74 17.77 4.08 17.77S4.71 17.5 4.71 17.15C4.71 16.81 4.42 16.53 4.08 16.53M18.5 13.44C18.43 13.44 18.34 13.41 18.27 13.35C18.11 13.21 18.09 12.97 18.23 12.8C19.77 11 20.3 9.26 19.64 8.14C19.17 7.33 18.1 6.88 16.63 6.86C16.41 6.86 16.24 6.68 16.25 6.47C16.25 6.26 16.43 6.1 16.64 6.09C18.39 6.11 19.7 6.7 20.31 7.75C21.15 9.19 20.6 11.21 18.82 13.3C18.74 13.39 18.63 13.44 18.5 13.44M16.5 18.9C14.5 18.9 11.94 18.16 9.5 16.77C7.95 15.88 6.57 14.79 5.5 13.63C5.35 13.47 5.36 13.23 5.5 13.08C5.68 12.94 5.92 12.95 6.07 13.11C7.08 14.21 8.4 15.25 9.89 16.1C13.2 18 16.77 18.63 18.65 17.72C18.57 17.55 18.5 17.35 18.5 17.15C18.5 16.38 19.15 15.76 19.92 15.76C20.69 15.76 21.32 16.38 21.32 17.15C21.32 17.92 20.69 18.54 19.92 18.54C19.64 18.54 19.39 18.46 19.17 18.32C18.47 18.71 17.56 18.9 16.5 18.9M19.5 17.63C19.63 17.71 19.77 17.77 19.92 17.77C20.27 17.77 20.55 17.5 20.55 17.15C20.55 16.81 20.27 16.53 19.92 16.53S19.3 16.81 19.3 17.15C19.3 17.29 19.35 17.42 19.43 17.53C19.47 17.55 19.5 17.59 19.5 17.63M4.46 12C4.33 12 4.2 11.92 4.13 11.8C3.23 10.25 3.08 8.81 3.7 7.74C4.54 6.3 6.58 5.76 9.31 6.25C9.5 6.29 9.66 6.5 9.62 6.7C9.59 6.91 9.39 7.05 9.18 7C6.82 6.59 5 7 4.37 8.13C3.89 8.95 4.04 10.11 4.8 11.41C4.9 11.6 4.84 11.83 4.65 11.94C4.59 11.97 4.53 12 4.46 12M12.21 13.4C11.71 13.5 11.21 13.19 11.11 12.69C11 12.2 11.32 11.71 11.81 11.6C12.31 11.5 12.81 11.81 12.91 12.31C13 12.8 12.7 13.29 12.21 13.4Z\";\r\nexport var mdiElephant = \"M19.5,15.5A0.5,0.5 0 0,1 19,16A0.5,0.5 0 0,1 18.5,15.5V8.5C18.5,6.57 16.43,5 14.5,5H6A4,4 0 0,0 2,9V19H6V15H11V19H15V14.5A0.5,0.5 0 0,1 15.5,14A0.5,0.5 0 0,1 16,14.5V16A3,3 0 0,0 19,19A3,3 0 0,0 22,16V14H19.5V15.5Z\";\r\nexport var mdiElevationDecline = \"M21,21H3V11.25L9.45,15L13.22,12.8L21,17.29V21M3,8.94V6.75L9.45,10.5L13.22,8.3L21,12.79V15L13.22,10.5L9.45,12.67L3,8.94Z\";\r\nexport var mdiElevationRise = \"M3,21V17.29L10.78,12.8L14.55,15L21,11.25V21H3M21,8.94L14.55,12.67L10.78,10.5L3,15V12.79L10.78,8.3L14.55,10.5L21,6.75V8.94Z\";\r\nexport var mdiElevator = \"M7,2L11,6H8V10H6V6H3L7,2M17,10L13,6H16V2H18V6H21L17,10M7,12H17A2,2 0 0,1 19,14V20A2,2 0 0,1 17,22H7A2,2 0 0,1 5,20V14A2,2 0 0,1 7,12M7,14V20H17V14H7Z\";\r\nexport var mdiElevatorDown = \"M7 10L11 6H8V2H6V6H3L7 10M17 10L13 6H16V2H18V6H21L17 10M7 12H17C18.11 12 19 12.9 19 14V20C19 21.11 18.11 22 17 22H7C5.9 22 5 21.11 5 20V14C5 12.9 5.9 12 7 12M7 14V20H17V14H7Z\";\r\nexport var mdiElevatorPassenger = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M8 5C8.8 5 9.5 5.7 9.5 6.5S8.8 8 8 8 6.5 7.3 6.5 6.5 7.2 5 8 5M11 14H9.5V19H6.5V14H5V11C5 9.9 5.9 9 7 9H9C10.1 9 11 9.9 11 11V14M15.9 19L13 14.2H18.8L15.9 19M13 10L16 5L19 10H13Z\";\r\nexport var mdiElevatorUp = \"M7 2L11 6H8V10H6V6H3L7 2M17 2L13 6H16V10H18V6H21L17 2M7 12H17C18.11 12 19 12.9 19 14V20C19 21.11 18.11 22 17 22H7C5.9 22 5 21.11 5 20V14C5 12.9 5.9 12 7 12M7 14V20H17V14H7Z\";\r\nexport var mdiEllipse = \"M12,4C6.5,4 2,7.58 2,12C2,16.42 6.5,20 12,20C17.5,20 22,16.42 22,12C22,7.58 17.5,4 12,4Z\";\r\nexport var mdiEllipseOutline = \"M12,6C16.41,6 20,8.69 20,12C20,15.31 16.41,18 12,18C7.59,18 4,15.31 4,12C4,8.69 7.59,6 12,6M12,4C6.5,4 2,7.58 2,12C2,16.42 6.5,20 12,20C17.5,20 22,16.42 22,12C22,7.58 17.5,4 12,4Z\";\r\nexport var mdiEmail = \"M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\";\r\nexport var mdiEmailAlert = \"M18 8L10 13L2 8V6L10 11L18 6M18 4H2C.9 4 0 4.9 0 6V18C0 19.1 .9 20 2 20H18C19.1 20 20 19.1 20 18V6C20 4.9 19.1 4 18 4M24 7H22V13H24V7M24 15H22V17H24V15Z\";\r\nexport var mdiEmailAlertOutline = \"M24 7H22V13H24V7M24 15H22V17H24V15M20 6C20 4.9 19.1 4 18 4H2C.9 4 0 4.9 0 6V18C0 19.1 .9 20 2 20H18C19.1 20 20 19.1 20 18V6M18 6L10 11L2 6H18M18 18H2V8L10 13L18 8V18Z\";\r\nexport var mdiEmailBox = \"M5,3A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5M6.4,6.5H17.6C18.37,6.5 19,7.12 19,7.9V16.1A1.4,1.4 0 0,1 17.6,17.5H6.4C5.63,17.5 5,16.87 5,16.1V7.9C5,7.12 5.62,6.5 6.4,6.5M6,8V10L12,14L18,10V8L12,12L6,8Z\";\r\nexport var mdiEmailCheck = \"M21,13.34C20.37,13.12 19.7,13 19,13A6,6 0 0,0 13,19C13,19.34 13.03,19.67 13.08,20H3A2,2 0 0,1 1,18V6C1,4.89 1.89,4 3,4H19A2,2 0 0,1 21,6V13.34M23.5,17L18.5,22L15,18.5L16.5,17L18.5,19L22,15.5L23.5,17M3,6V8L11,13L19,8V6L11,11L3,6Z\";\r\nexport var mdiEmailCheckOutline = \"M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M13 18H3V8L11 13L19 8V13H21V6C21 4.9 20.1 4 19 4H3C1.9 4 1 4.9 1 6V18C1 19.1 1.9 20 3 20H13V18M19 6L11 11L3 6H19Z\";\r\nexport var mdiEmailEdit = \"M21,12.13C20.85,12.14 20.71,12.19 20.61,12.3L19.61,13.3L21.66,15.3L22.66,14.3C22.88,14.09 22.88,13.74 22.66,13.53L21.42,12.3C21.32,12.19 21.18,12.14 21.04,12.13M19.04,13.88L13,19.94V22H15.06L21.12,15.93M20,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H11V19.11L19.24,10.89C19.71,10.4 20.36,10.13 21.04,10.13C21.38,10.13 21.72,10.19 22.04,10.32V6C22.04,4.88 21.12,4 20,4M20,8L12,13L4,8V6L12,11L20,6\";\r\nexport var mdiEmailEditOutline = \"M19.07 13.88L13 19.94V22H15.06L21.12 15.93M22.7 13.58L21.42 12.3C21.32 12.19 21.18 12.13 21.04 12.13C20.89 12.14 20.75 12.19 20.65 12.3L19.65 13.3L21.7 15.3L22.7 14.3C22.89 14.1 22.89 13.78 22.7 13.58M11 18H4V8L12 13L20 8V10H22V6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H11V18M20 6L12 11L4 6H20Z\";\r\nexport var mdiEmailLock = \"M20.5,0A2.5,2.5 0 0,1 23,2.5V3A1,1 0 0,1 24,4V8A1,1 0 0,1 23,9H18A1,1 0 0,1 17,8V4A1,1 0 0,1 18,3V2.5A2.5,2.5 0 0,1 20.5,0M12,11L4,6V8L12,13L16.18,10.39C16.69,10.77 17.32,11 18,11H22V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H15V8C15,8.36 15.06,8.7 15.18,9L12,11M20.5,1A1.5,1.5 0 0,0 19,2.5V3H22V2.5A1.5,1.5 0 0,0 20.5,1Z\";\r\nexport var mdiEmailMarkAsUnread = \"M18.84,7H16.22L10.5,4L4,7.41V17A2,2 0 0,1 2,15V7.17C2,6.5 2.28,6.06 2.81,5.81L10.5,2L18.05,5.81C18.5,6.09 18.78,6.5 18.84,7M7,8H20A2,2 0 0,1 22,10V19A2,2 0 0,1 20,21H7A2,2 0 0,1 5,19V10A2,2 0 0,1 7,8M20,11.67V10L13.5,13.31L7,10V11.67L13.5,15L20,11.67Z\";\r\nexport var mdiEmailMinus = \"M3,4C1.89,4 1,4.89 1,6V18A2,2 0 0,0 3,20H14.09C14.03,19.67 14,19.34 14,19A6,6 0 0,1 20,13C20.34,13 20.67,13.03 21,13.09V6C21,4.89 20.1,4 19,4H3M3,6L11,11L19,6V8L11,13L3,8V6M16,18V20H24V18H16Z\";\r\nexport var mdiEmailMinusOutline = \"M16 18V20H24V18H16M14 19C14 18.66 14.04 18.33 14.09 18H3V8L11 13L19 8V13.09C19.33 13.04 19.66 13 20 13S20.67 13.04 21 13.09V6C21 4.9 20.1 4 19 4H3C1.9 4 1 4.9 1 6V18C1 19.1 1.9 20 3 20H14.09C14.04 19.67 14 19.34 14 19M19 6L11 11L3 6H19Z\";\r\nexport var mdiEmailMultiple = \"M22,6V4L14,9L6,4V6L14,11L22,6M22,2A2,2 0 0,1 24,4V16A2,2 0 0,1 22,18H6C4.89,18 4,17.1 4,16V4C4,2.89 4.89,2 6,2H22M2,6V20H20V22H2A2,2 0 0,1 0,20V6H2Z\";\r\nexport var mdiEmailMultipleOutline = \"M2 6V20H20V22H2C.895 22 0 21.11 0 20V6H2M24 4C24 2.9 23.1 2 22 2H6C4.9 2 4 2.9 4 4V16C4 17.1 4.9 18 6 18H22C23.1 18 24 17.1 24 16V4M22 4L14 9L6 4H22M22 16H6V6L14 11L22 6V16Z\";\r\nexport var mdiEmailNewsletter = \"M12 .64L8.23 3H5V5L2.97 6.29C2.39 6.64 2 7.27 2 8V18C2 19.11 2.9 20 4 20H20C21.11 20 22 19.11 22 18V8C22 7.27 21.61 6.64 21.03 6.29L19 5V3H15.77M7 5H17V9.88L12 13L7 9.88M8 6V7.5H16V6M5 7.38V8.63L4 8M19 7.38L20 8L19 8.63M8 8.5V10H16V8.5Z\";\r\nexport var mdiEmailOff = \"M22.1 21.5L2.4 1.7L1.1 3L2.6 4.5C2.2 4.9 2 5.4 2 6V18C2 19.1 2.9 20 4 20H18.1L20.8 22.7L22.1 21.5M4 8V6L4.3 6.2L9.6 11.5L4 8M13.4 10.2L7.2 4H20C21.1 4 22 4.9 22 6V18C22 18.2 22 18.5 21.9 18.7L14.6 11.4L20 8V6L13.4 10.2Z\";\r\nexport var mdiEmailOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L2.6 4.5C2.3 4.9 2 5.4 2 6V18C2 19.1 2.9 20 4 20H18.1L20.8 22.7L22.1 21.5M4 18V8L9.6 11.5L16.1 18H4M9.2 6L7.2 4H20C21.1 4 22 4.9 22 6V18C22 18.2 22 18.5 21.9 18.7L20 16.8V8L14.6 11.4L13.4 10.2L20 6H9.2Z\";\r\nexport var mdiEmailOpen = \"M4,8L12,13L20,8V8L12,3L4,8V8M22,8V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V8C2,7.27 2.39,6.64 2.97,6.29L12,0.64L21.03,6.29C21.61,6.64 22,7.27 22,8Z\";\r\nexport var mdiEmailOpenMultiple = \"M6,8L14,13L22,8V8L14,3L6,8V8M24,8V18A2,2 0 0,1 22,20H6A2,2 0 0,1 4,18V8C4,7.27 4.39,6.64 4.97,6.29L14,0.64L23.03,6.29C23.61,6.64 24,7.27 24,8M2,8V22H20V24H2A2,2 0 0,1 0,22V8H2Z\";\r\nexport var mdiEmailOpenMultipleOutline = \"M2 8V22H20V24H2C.895 24 0 23.11 0 22V8H2M23.03 6.29L14 .64L4.97 6.29C4.39 6.64 4 7.27 4 8V18C4 19.1 4.9 20 6 20H22C23.1 20 24 19.1 24 18V8C24 7.27 23.61 6.64 23.03 6.29M22 18H6V10L14 15L22 10V18M14 13L6 8L14 3L22 8L14 13Z\";\r\nexport var mdiEmailOpenOutline = \"M21.03 6.29L12 .64L2.97 6.29C2.39 6.64 2 7.27 2 8V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V8C22 7.27 21.61 6.64 21.03 6.29M20 18H4V10L12 15L20 10V18M12 13L4 8L12 3L20 8L12 13Z\";\r\nexport var mdiEmailOutline = \"M22 6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V6M20 6L12 11L4 6H20M20 18H4V8L12 13L20 8V18Z\";\r\nexport var mdiEmailPlus = \"M3,4C1.89,4 1,4.89 1,6V18A2,2 0 0,0 3,20H14.09C14.03,19.67 14,19.34 14,19A6,6 0 0,1 20,13C20.34,13 20.67,13.03 21,13.09V6C21,4.89 20.1,4 19,4H3M3,6L11,11L19,6V8L11,13L3,8V6M19,15V18H16V20H19V23H21V20H24V18H21V15H19Z\";\r\nexport var mdiEmailPlusOutline = \"M19 15V18H16V20H19V23H21V20H24V18H21V15H19M14 18H3V8L11 13L19 8V13H21V6C21 4.9 20.1 4 19 4H3C1.9 4 1 4.9 1 6V18C1 19.1 1.9 20 3 20H14V18M19 6L11 11L3 6H19Z\";\r\nexport var mdiEmailReceive = \"M22 20H18V23L13 18.5L18 14V17H22V20M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H11.35A5.8 5.8 0 0 1 11 18A6 6 0 0 1 22 14.69V6A2 2 0 0 0 20 4M20 8L12 13L4 8V6L12 11L20 6Z\";\r\nexport var mdiEmailReceiveOutline = \"M22 20H18V23L13 18.5L18 14V17H22V20M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H11V18H4V8L12 13L20 8V15H22V6A2 2 0 0 0 20 4M12 11L4 6H20Z\";\r\nexport var mdiEmailRemove = \"M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H20C21.1 4 22 4.89 22 6V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M20 8V6L12 11L4 6V8L12 13L20 8Z\";\r\nexport var mdiEmailRemoveOutline = \"M13.09 18H4V8L12 13L20 8V13.09C20.72 13.21 21.39 13.46 22 13.81V6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19C13 18.66 13.04 18.33 13.09 18M20 6L12 11L4 6H20M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19Z\";\r\nexport var mdiEmailSearch = \"M3,4H19A2,2 0 0,1 21,6V10.82C20,9.85 18.7,9.23 17.31,9.06L19,8V6L11,11L3,6V8L10.62,12.76C10.21,13.62 10,14.55 10,15.5C10,17.18 10.65,18.79 11.81,20H3A2,2 0 0,1 1,18V6C1,4.89 1.89,4 3,4M16.5,11C19,11 21,13 21,15.5C21,16.38 20.75,17.21 20.31,17.9L23.39,21L22,22.39L18.88,19.32C18.19,19.75 17.37,20 16.5,20C14,20 12,18 12,15.5C12,13 14,11 16.5,11M16.5,13A2.5,2.5 0 0,0 14,15.5A2.5,2.5 0 0,0 16.5,18A2.5,2.5 0 0,0 19,15.5A2.5,2.5 0 0,0 16.5,13Z\";\r\nexport var mdiEmailSearchOutline = \"M16.5 11C19 11 21 13 21 15.5C21 16.38 20.75 17.21 20.31 17.9L23.39 21L22 22.39L18.88 19.32C18.19 19.75 17.37 20 16.5 20C14 20 12 18 12 15.5S14 11 16.5 11M16.5 13C15.12 13 14 14.12 14 15.5S15.12 18 16.5 18 19 16.88 19 15.5 17.88 13 16.5 13M10.5 18H3V8L10.62 12.76C11.65 10.54 13.9 9 16.5 9C16.77 9 17.04 9 17.31 9.06L19 8V9.5C19.75 9.81 20.42 10.27 21 10.82V6C21 4.9 20.1 4 19 4H3C1.9 4 1 4.9 1 6V18C1 19.1 1.9 20 3 20H11.82C11.27 19.42 10.82 18.75 10.5 18M19 6L11 11L3 6H19Z\";\r\nexport var mdiEmailSend = \"M13 17H17V14L22 18.5L17 23V20H13V17M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H11.35A5.8 5.8 0 0 1 11 18A6 6 0 0 1 22 14.69V6A2 2 0 0 0 20 4M20 8L12 13L4 8V6L12 11L20 6Z\";\r\nexport var mdiEmailSendOutline = \"M13 17H17V14L22 18.5L17 23V20H13V17M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H11V18H4V8L12 13L20 8V14H22V6A2 2 0 0 0 20 4M12 11L4 6H20Z\";\r\nexport var mdiEmailSync = \"M3 4C1.89 4 1 4.89 1 6V18C1 19.11 1.9 20 3 20H13.5A6.5 6.5 0 0 1 13 17.5A6.5 6.5 0 0 1 19.5 11A6.5 6.5 0 0 1 21 11.18V6C21 4.89 20.1 4 19 4H3M3 6L11 11L19 6V8L11 13L3 8V6M19 12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5V12M15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29Z\";\r\nexport var mdiEmailSyncOutline = \"M3 4C1.9 4 1 4.9 1 6V18C1 19.1 1.9 20 3 20H13.5A6.5 6.5 0 0 1 13 18H3V8L11 13L19 8V11A6.5 6.5 0 0 1 19.5 11A6.5 6.5 0 0 1 21 11.18V6C21 4.9 20.1 4 19 4H3M3 6H19L11 11L3 6M19 12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5V12M15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29Z\";\r\nexport var mdiEmailVariant = \"M12,13L2,6.76V6C2,4.89 2.89,4 4,4H20A2,2 0 0,1 22,6V6.75L12,13M22,18A2,2 0 0,1 20,20H4C2.89,20 2,19.1 2,18V9.11L4,10.36V18H20V10.36L22,9.11V18Z\";\r\nexport var mdiEmber = \"M22,14.22C22,14.22 17.61,17.35 14.72,17.39C11.84,17.44 12.13,15.56 12.13,15.56C12.13,15.56 22.71,11.94 19.83,4.79C18.53,2.95 17,2.37 14.89,2.42C12.76,2.46 10.17,3.76 8.46,7.6C7.64,9.44 7.41,11.18 7.24,12.5V12.5C7.24,12.5 5.32,12.88 4.32,12.04C3.32,11.2 2.77,12.04 2.77,12.04C2.77,12.04 1.03,14.2 2.75,14.87C4.46,15.54 7.12,15.82 7.12,15.82V15.82C7.36,17 8.08,19 10.17,20.6C13.3,23 19.32,20.4 19.32,20.4M11.63,12.33C11.76,7.36 15,5.18 16.15,6.27C17.27,7.36 16.86,9.7 14.72,11.16C12.59,12.63 11.63,12.33 11.63,12.33Z\";\r\nexport var mdiEmby = \"M11,2L6,7L7,8L2,13L7,18L8,17L13,22L18,17L17,16L22,11L17,6L16,7L11,2M10,8.5L16,12L10,15.5V8.5Z\";\r\nexport var mdiEmoticon = \"M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M15.5,8A1.5,1.5 0 0,1 17,9.5A1.5,1.5 0 0,1 15.5,11A1.5,1.5 0 0,1 14,9.5A1.5,1.5 0 0,1 15.5,8M8.5,8A1.5,1.5 0 0,1 10,9.5A1.5,1.5 0 0,1 8.5,11A1.5,1.5 0 0,1 7,9.5A1.5,1.5 0 0,1 8.5,8M12,17.5C9.67,17.5 7.69,16.04 6.89,14H17.11C16.3,16.04 14.33,17.5 12,17.5Z\";\r\nexport var mdiEmoticonAngry = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7,9.5V8L10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5M14.77,17.23C14.32,16.5 13.25,16 12,16C10.75,16 9.68,16.5 9.23,17.23L7.81,15.81C8.71,14.72 10.25,14 12,14C13.75,14 15.29,14.72 16.19,15.81L14.77,17.23M17,9.5C17,10.3 16.3,11 15.5,11C14.7,11 14,10.3 14,9.5L17,8V9.5Z\";\r\nexport var mdiEmoticonAngryOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,14C13.75,14 15.29,14.72 16.19,15.81L14.77,17.23C14.32,16.5 13.25,16 12,16C10.75,16 9.68,16.5 9.23,17.23L7.81,15.81C8.71,14.72 10.25,14 12,14M10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5V8L10,9.5M17,9.5C17,10.3 16.3,11 15.5,11C14.7,11 14,10.3 14,9.5L17,8V9.5\";\r\nexport var mdiEmoticonConfused = \"M12 2A10 10 0 1 0 22 12A10 10 0 0 0 12 2M8.5 8A1.5 1.5 0 1 1 7 9.5A1.54 1.54 0 0 1 8.5 8M17 16H13A4 4 0 0 0 9.53 18L7.8 17A6 6 0 0 1 13 14H17M15.5 11A1.5 1.5 0 1 1 17 9.5A1.54 1.54 0 0 1 15.5 11Z\";\r\nexport var mdiEmoticonConfusedOutline = \"M20 12A8 8 0 1 0 12 20A8 8 0 0 0 20 12M22 12A10 10 0 1 1 12 2A10 10 0 0 1 22 12M15.5 8A1.5 1.5 0 1 1 14 9.5A1.54 1.54 0 0 1 15.5 8M10 9.5A1.5 1.5 0 1 1 8.5 8A1.54 1.54 0 0 1 10 9.5M17 15H13A4 4 0 0 0 9.53 17L7.8 16A6 6 0 0 1 13 13H17Z\";\r\nexport var mdiEmoticonCool = \"M3.22,7.22C4.91,4.11 8.21,2 12,2C15.79,2 19.09,4.11 20.78,7.22L20,8H4L3.22,7.22M21.4,8.6C21.78,9.67 22,10.81 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12C2,10.81 2.22,9.67 2.6,8.6L4,10H5C5,11.38 7.12,12.5 8.5,12.5C9.88,12.5 11.25,11.38 11.25,10H12.75C12.75,11.38 14.12,12.5 15.5,12.5C16.88,12.5 19,11.38 19,10H20L21.4,8.6M16.19,15.42L14.77,14C14.32,14.72 13.25,15.23 12,15.23C10.75,15.23 9.68,14.72 9.23,14L7.81,15.42C8.71,16.5 10.25,17.23 12,17.23C13.75,17.23 15.29,16.5 16.19,15.42Z\";\r\nexport var mdiEmoticonCoolOutline = \"M19,10C19,11.38 16.88,12.5 15.5,12.5C14.12,12.5 12.75,11.38 12.75,10H11.25C11.25,11.38 9.88,12.5 8.5,12.5C7.12,12.5 5,11.38 5,10H4.25C4.09,10.64 4,11.31 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12C20,11.31 19.91,10.64 19.75,10H19M12,4C9.04,4 6.45,5.61 5.07,8H18.93C17.55,5.61 14.96,4 12,4M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M12,17.23C10.25,17.23 8.71,16.5 7.81,15.42L9.23,14C9.68,14.72 10.75,15.23 12,15.23C13.25,15.23 14.32,14.72 14.77,14L16.19,15.42C15.29,16.5 13.75,17.23 12,17.23Z\";\r\nexport var mdiEmoticonCry = \"M5.14,17.57C5.14,16.5 6.32,14.5 7.57,12.81C8.82,14.5 10,16.5 10,17.57A2.43,2.43 0 0,1 7.57,20C6.23,20 5.14,18.91 5.14,17.57M22,12A10,10 0 0,1 12,22C11.08,22 10.18,21.86 9.33,21.63C10.9,20.95 12,19.39 12,17.57C12,17.12 11.89,16.6 11.69,16C11.79,16 11.89,16 12,16C13.25,16 14.32,16.5 14.77,17.23L16.19,15.81C15.29,14.72 13.75,14 12,14C11.59,14 11.19,14.04 10.81,14.12C10.38,13.36 9.85,12.53 9.19,11.63L8.71,11C9.42,10.87 10,10.23 10,9.5C10,8.7 9.3,8 8.5,8C7.7,8 7,8.7 7,9.5C7,9.69 7.04,9.87 7.11,10.04L5.96,11.63C4.4,13.75 3.5,15.5 3.23,16.81C2.45,15.38 2,13.74 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M17,9.5C17,8.7 16.3,8 15.5,8C14.7,8 14,8.7 14,9.5C14,10.3 14.7,11 15.5,11C16.3,11 17,10.3 17,9.5Z\";\r\nexport var mdiEmoticonCryOutline = \"M7.57,20C6.23,20 5.14,18.91 5.14,17.57C5.14,16.5 6.32,14.5 7.57,12.81C8.82,14.5 10,16.5 10,17.57A2.43,2.43 0 0,1 7.57,20M12,2A10,10 0 0,0 2,12C2,13.75 2.45,15.38 3.24,16.81C3.4,16 3.81,15.07 4.31,14.17C4.11,13.5 4,12.75 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20C11.76,20 11.53,20 11.29,19.96C10.82,20.7 10.14,21.28 9.34,21.63C10.19,21.87 11.08,22 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,14C11.59,14 11.19,14.04 10.81,14.12C11.16,14.75 11.47,15.4 11.69,16C11.79,16 11.89,16 12,16C13.25,16 14.32,16.5 14.77,17.23L16.19,15.81C15.29,14.72 13.75,14 12,14M15.5,8C14.7,8 14,8.7 14,9.5C14,10.3 14.7,11 15.5,11C16.3,11 17,10.3 17,9.5C17,8.7 16.3,8 15.5,8M10,9.5C10,8.7 9.3,8 8.5,8C7.7,8 7,8.7 7,9.5C7,10.3 7.7,11 8.5,11C9.3,11 10,10.3 10,9.5\";\r\nexport var mdiEmoticonDead = \"M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2M6.76,8.82L7.82,7.76L8.88,8.82L9.94,7.76L11,8.82L9.94,9.88L11,10.94L9.94,12L8.88,10.94L7.82,12L6.76,10.94L7.82,9.88L6.76,8.82M6.89,17.5C7.69,15.46 9.67,14 12,14C14.33,14 16.31,15.46 17.11,17.5H6.89M17.24,10.94L16.18,12L15.12,10.94L14.06,12L13,10.94L14.06,9.88L13,8.82L14.06,7.76L15.12,8.82L16.18,7.76L17.24,8.82L16.18,9.88L17.24,10.94Z\";\r\nexport var mdiEmoticonDeadOutline = \"M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M16.18,7.76L15.12,8.82L14.06,7.76L13,8.82L14.06,9.88L13,10.94L14.06,12L15.12,10.94L16.18,12L17.24,10.94L16.18,9.88L17.24,8.82L16.18,7.76M7.82,12L8.88,10.94L9.94,12L11,10.94L9.94,9.88L11,8.82L9.94,7.76L8.88,8.82L7.82,7.76L6.76,8.82L7.82,9.88L6.76,10.94L7.82,12M12,14C9.67,14 7.69,15.46 6.89,17.5H17.11C16.31,15.46 14.33,14 12,14Z\";\r\nexport var mdiEmoticonDevil = \"M22.5,2.09C21.6,3 20.13,3.73 18.31,4.25C16.59,2.84 14.39,2 12,2C9.61,2 7.41,2.84 5.69,4.25C3.87,3.73 2.4,3 1.5,2.09C1.53,3.72 2.35,5.21 3.72,6.4C2.63,8 2,9.92 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,9.92 21.37,8 20.28,6.4C21.65,5.21 22.47,3.72 22.5,2.09M7.5,8.5L10.5,10C10.5,10.8 9.8,11.5 9,11.5C8.2,11.5 7.5,10.8 7.5,10V8.5M12,17.23C10.25,17.23 8.71,16.5 7.81,15.42L9.23,14C9.68,14.72 10.75,15.23 12,15.23C13.25,15.23 14.32,14.72 14.77,14L16.19,15.42C15.29,16.5 13.75,17.23 12,17.23M16.5,10C16.5,10.8 15.8,11.5 15,11.5C14.2,11.5 13.5,10.8 13.5,10L16.5,8.5V10Z\";\r\nexport var mdiEmoticonDevilOutline = \"M1.5,2.09C2.4,3 3.87,3.73 5.69,4.25C7.41,2.84 9.61,2 12,2C14.39,2 16.59,2.84 18.31,4.25C20.13,3.73 21.6,3 22.5,2.09C22.47,3.72 21.65,5.21 20.28,6.4C21.37,8 22,9.92 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12C2,9.92 2.63,8 3.72,6.4C2.35,5.21 1.53,3.72 1.5,2.09M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12M10.5,10C10.5,10.8 9.8,11.5 9,11.5C8.2,11.5 7.5,10.8 7.5,10V8.5L10.5,10M16.5,10C16.5,10.8 15.8,11.5 15,11.5C14.2,11.5 13.5,10.8 13.5,10L16.5,8.5V10M12,17.23C10.25,17.23 8.71,16.5 7.81,15.42L9.23,14C9.68,14.72 10.75,15.23 12,15.23C13.25,15.23 14.32,14.72 14.77,14L16.19,15.42C15.29,16.5 13.75,17.23 12,17.23Z\";\r\nexport var mdiEmoticonExcited = \"M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2M8.88,7.82L11,9.94L9.94,11L8.88,9.94L7.82,11L6.76,9.94L8.88,7.82M12,17.5C9.67,17.5 7.69,16.04 6.89,14H17.11C16.31,16.04 14.33,17.5 12,17.5M16.18,11L15.12,9.94L14.06,11L13,9.94L15.12,7.82L17.24,9.94L16.18,11Z\";\r\nexport var mdiEmoticonExcitedOutline = \"M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M13,9.94L14.06,11L15.12,9.94L16.18,11L17.24,9.94L15.12,7.82L13,9.94M8.88,9.94L9.94,11L11,9.94L8.88,7.82L6.76,9.94L7.82,11L8.88,9.94M12,17.5C14.33,17.5 16.31,16.04 17.11,14H6.89C7.69,16.04 9.67,17.5 12,17.5Z\";\r\nexport var mdiEmoticonFrown = \"M12 2C6.47 2 2 6.5 2 12S6.47 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M15.5 8C16.33 8 17 8.67 17 9.5S16.33 11 15.5 11 14 10.33 14 9.5 14.67 8 15.5 8M8.5 8C9.33 8 10 8.67 10 9.5S9.33 11 8.5 11 7 10.33 7 9.5 7.67 8 8.5 8M6.89 17C7.69 14.96 9.67 13.5 12 13.5S16.31 14.96 17.11 17H6.89Z\";\r\nexport var mdiEmoticonFrownOutline = \"M12 2C6.47 2 2 6.5 2 12S6.47 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12 20C7.58 20 4 16.42 4 12S7.58 4 12 4 20 7.58 20 12 16.42 20 12 20M15.5 11C16.33 11 17 10.33 17 9.5S16.33 8 15.5 8 14 8.67 14 9.5 14.67 11 15.5 11M8.5 11C9.33 11 10 10.33 10 9.5S9.33 8 8.5 8 7 8.67 7 9.5 7.67 11 8.5 11M12 13.5C9.67 13.5 7.69 14.96 6.89 17H17.11C16.31 14.96 14.33 13.5 12 13.5Z\";\r\nexport var mdiEmoticonHappy = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7,9.5C7,8.7 7.7,8 8.5,8C9.3,8 10,8.7 10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5M12,17.23C10.25,17.23 8.71,16.5 7.81,15.42L9.23,14C9.68,14.72 10.75,15.23 12,15.23C13.25,15.23 14.32,14.72 14.77,14L16.19,15.42C15.29,16.5 13.75,17.23 12,17.23M15.5,11C14.7,11 14,10.3 14,9.5C14,8.7 14.7,8 15.5,8C16.3,8 17,8.7 17,9.5C17,10.3 16.3,11 15.5,11Z\";\r\nexport var mdiEmoticonHappyOutline = \"M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5C7,8.7 7.7,8 8.5,8C9.3,8 10,8.7 10,9.5M17,9.5C17,10.3 16.3,11 15.5,11C14.7,11 14,10.3 14,9.5C14,8.7 14.7,8 15.5,8C16.3,8 17,8.7 17,9.5M12,17.23C10.25,17.23 8.71,16.5 7.81,15.42L9.23,14C9.68,14.72 10.75,15.23 12,15.23C13.25,15.23 14.32,14.72 14.77,14L16.19,15.42C15.29,16.5 13.75,17.23 12,17.23Z\";\r\nexport var mdiEmoticonKiss = \"M18.9,18.94L15.94,16C15.76,15.79 15.55,15.5 15.55,15.05A1.3,1.3 0 0,1 16.85,13.75C17.19,13.75 17.53,13.89 17.77,14.15L18.91,15.26L20.03,14.13C20.27,13.89 20.61,13.75 20.95,13.75A1.3,1.3 0 0,1 22.25,15.05C22.25,15.39 22.11,15.73 21.87,15.97L18.9,18.94M17.46,19.62C15.72,21.1 13.47,22 11,22A10,10 0 0,1 1,12A10,10 0 0,1 11,2A10,10 0 0,1 21,12C21,12.09 21,12.17 20.95,12.25C20.21,12.25 19.5,12.55 18.97,13.07L18.9,13.14L18.84,13.09C18.32,12.55 17.6,12.25 16.85,12.25A2.8,2.8 0 0,0 14.05,15.05C14.05,15.78 14.34,16.5 14.87,17.03L17.46,19.62M13,9.5C13,10.3 13.7,11 14.5,11C15.3,11 16,10.3 16,9.5C16,8.7 15.3,8 14.5,8C13.7,8 13,8.7 13,9.5M9,9.5C9,8.7 8.3,8 7.5,8C6.7,8 6,8.7 6,9.5C6,10.3 6.7,11 7.5,11C8.3,11 9,10.3 9,9.5M12.94,15.18L14,14.12L11.88,12L10.82,13.06L11.88,14.12L10.82,15.18L11.88,16.24L10.82,17.3L11.88,18.36L14,16.24L12.94,15.18Z\";\r\nexport var mdiEmoticonKissOutline = \"M9,9.5C9,10.3 8.3,11 7.5,11C6.7,11 6,10.3 6,9.5C6,8.7 6.7,8 7.5,8C8.3,8 9,8.7 9,9.5M16,9.5C16,10.3 15.3,11 14.5,11C13.7,11 13,10.3 13,9.5C13,8.7 13.7,8 14.5,8C15.3,8 16,8.7 16,9.5M14,14.12L11.88,12L10.82,13.06L11.88,14.12L10.82,15.18L11.88,16.24L10.82,17.3L11.88,18.36L14,16.24L12.94,15.18L14,14.12M16.85,13A2.05,2.05 0 0,0 14.8,15.05C14.8,15.62 15.03,16.12 15.4,16.5L18.9,20L22.4,16.5C22.77,16.13 23,15.61 23,15.05A2.05,2.05 0 0,0 20.95,13C20.4,13 19.87,13.23 19.5,13.6L18.9,14.2L18.3,13.61C17.93,13.23 17.4,13 16.85,13M15,18.92C13.82,19.6 12.46,20 11,20A8,8 0 0,1 3,12A8,8 0 0,1 11,4C15.26,4 18.73,7.33 19,11.5C19.58,11.19 20.26,11 20.95,11C20.45,5.95 16.18,2 11,2A10,10 0 0,0 1,12A10,10 0 0,0 11,22C13,22 14.88,21.4 16.45,20.38L15,18.92Z\";\r\nexport var mdiEmoticonLol = \"M15.07 8.93V4.93A4.06 4.06 0 0 1 15.73 2.72A10 10 0 0 0 2.73 15.72A4.06 4.06 0 0 1 4.94 15.06H8.94V19.06A4.06 4.06 0 0 1 8.28 21.27A10 10 0 0 0 21.28 8.27A4.06 4.06 0 0 1 19.07 8.93M11 6H12.5V7.5H14V9H11M7.5 14V12.5H6V11H9V14M15.89 15.9A5.5 5.5 0 0 1 9.8 17L17 9.8A5.5 5.5 0 0 1 15.89 15.89M4.89 21.08A2 2 0 0 1 2.89 19.08A2 2 0 0 1 4.89 17.08H6.89V19.08A2 2 0 0 1 4.93 21.07M19.07 2.93A2 2 0 0 1 21.07 4.93A2 2 0 0 1 19.07 6.93H17.07V4.93A2 2 0 0 1 19.07 2.93Z\";\r\nexport var mdiEmoticonLolOutline = \"M6 11V12.5H7.5V14H9V11M12.5 6H11V9H14V7.5H12.5M9.8 17A5.5 5.5 0 0 0 17 9.8M6.34 6.34A8 8 0 0 1 15.08 4.62A4.11 4.11 0 0 1 15.73 2.72A10 10 0 0 0 2.73 15.72A4.11 4.11 0 0 1 4.63 15.07A8 8 0 0 1 6.34 6.34M17.66 17.66A8 8 0 0 1 8.92 19.38A4.11 4.11 0 0 1 8.27 21.28A10 10 0 0 0 21.27 8.28A4.11 4.11 0 0 1 19.37 8.93A8 8 0 0 1 17.66 17.66M6 11V12.5H7.5V14H9V11M9.8 17A5.5 5.5 0 0 0 17 9.8M12.5 6H11V9H14V7.5H12.5M6 11V12.5H7.5V14H9V11M12.5 6H11V9H14V7.5H12.5M9.8 17A5.5 5.5 0 0 0 17 9.8M4.93 21A2 2 0 0 1 2.93 19A2 2 0 0 1 4.93 17H6.93V19A2 2 0 0 1 4.93 21.07M19.07 2.93A2 2 0 0 1 21.07 4.93A2 2 0 0 1 19.07 6.93H17.07V4.93A2 2 0 0 1 19.07 2.93Z\";\r\nexport var mdiEmoticonNeutral = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7,9.5A1.5,1.5 0 0,1 8.5,8A1.5,1.5 0 0,1 10,9.5A1.5,1.5 0 0,1 8.5,11A1.5,1.5 0 0,1 7,9.5M16,16H8V14H16V16M15.5,11A1.5,1.5 0 0,1 14,9.5A1.5,1.5 0 0,1 15.5,8A1.5,1.5 0 0,1 17,9.5A1.5,1.5 0 0,1 15.5,11Z\";\r\nexport var mdiEmoticonNeutralOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M8.5,11A1.5,1.5 0 0,1 7,9.5A1.5,1.5 0 0,1 8.5,8A1.5,1.5 0 0,1 10,9.5A1.5,1.5 0 0,1 8.5,11M17,9.5A1.5,1.5 0 0,1 15.5,11A1.5,1.5 0 0,1 14,9.5A1.5,1.5 0 0,1 15.5,8A1.5,1.5 0 0,1 17,9.5M16,14V16H8V14H16Z\";\r\nexport var mdiEmoticonOutline = \"M12,17.5C14.33,17.5 16.3,16.04 17.11,14H6.89C7.69,16.04 9.67,17.5 12,17.5M8.5,11A1.5,1.5 0 0,0 10,9.5A1.5,1.5 0 0,0 8.5,8A1.5,1.5 0 0,0 7,9.5A1.5,1.5 0 0,0 8.5,11M15.5,11A1.5,1.5 0 0,0 17,9.5A1.5,1.5 0 0,0 15.5,8A1.5,1.5 0 0,0 14,9.5A1.5,1.5 0 0,0 15.5,11M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiEmoticonPoop = \"M11.36,2C11.15,2 10.87,2.12 10.57,2.32C10,2.7 8.85,3.9 8.4,5.1C8.06,6 8.05,6.82 8.19,7.43C7.63,7.53 7.22,7.71 7.06,7.78C6.55,8 5.47,8.96 5.37,10.45C5.34,10.97 5.41,11.5 5.57,12C4.91,12.19 4.53,12.43 4.5,12.44C4.18,12.56 3.65,12.93 3.5,13.13C3.15,13.53 2.92,14 2.79,14.5C2.5,15.59 2.6,16.83 3.13,17.83C3.42,18.39 3.82,19 4.26,19.43C5.7,20.91 8.18,21.47 10.14,21.79C12.53,22.19 15.03,22.05 17.26,21.13C20.61,19.74 21.5,17.5 21.64,16.89C21.93,15.5 21.57,14.19 21.42,13.87C21.2,13.41 20.84,12.94 20.25,12.64C19.85,12.39 19.5,12.26 19.24,12.2C19.5,11.25 19.13,10.5 18.62,9.94C17.85,9.12 17.06,9 17.06,9V9C17.32,8.5 17.42,7.9 17.28,7.32C17.12,6.61 16.73,6.16 16.22,5.86C15.7,5.55 15.06,5.4 14.4,5.28C14.08,5.22 12.75,5.03 12.2,4.27C11.75,3.65 11.74,2.53 11.62,2.2C11.57,2.07 11.5,2 11.36,2M16,9.61C16.07,9.61 16.13,9.62 16.19,9.62C17.62,9.78 18.64,11.16 18.47,12.69C18.3,14.22 17,15.34 15.57,15.18V15.18C14.14,15 13.12,13.65 13.29,12.11C13.45,10.66 14.64,9.56 16,9.61M8.62,9.61C9.95,9.65 11.06,10.78 11.16,12.21C11.28,13.75 10.21,15.08 8.78,15.19H8.77C7.34,15.3 6.08,14.14 5.96,12.6V12.6C5.85,11.06 6.92,9.73 8.35,9.62V9.62C8.44,9.61 8.53,9.61 8.62,9.61M8.64,11.31C8.6,11.31 8.57,11.31 8.53,11.32C7.97,11.39 7.57,11.9 7.64,12.45C7.7,13 8.21,13.39 8.77,13.32C9.33,13.25 9.73,12.74 9.67,12.19C9.61,11.67 9.15,11.3 8.64,11.31M15.94,11.33C15.42,11.35 15,11.75 14.96,12.28C14.92,12.83 15.35,13.31 15.91,13.34C16.5,13.38 16.96,12.95 17,12.4C17.04,11.84 16.61,11.36 16.05,11.33C16,11.33 16,11.33 15.94,11.33M8.71,16.15C9,16.14 9.26,16.23 9.5,16.28C10.68,16.5 11.7,16.53 12.19,16.53C12.68,16.53 13.69,16.5 14.86,16.28C15.27,16.2 15.74,16.03 16.11,16.28C16.59,16.6 16.24,17.75 15.5,18.53C15.04,19 13.97,19.91 12.19,19.91C10.41,19.91 9.33,19 8.88,18.53C8.14,17.75 7.79,16.6 8.26,16.28C8.4,16.19 8.55,16.15 8.71,16.15Z\";\r\nexport var mdiEmoticonPoopOutline = \"M21.42,13.87C21.2,13.41 20.84,12.94 20.25,12.64C19.85,12.39 19.5,12.26 19.24,12.2C19.5,11.25 19.13,10.5 18.62,9.94C17.85,9.12 17.06,9 17.06,9C17.32,8.5 17.42,7.9 17.28,7.32C17.12,6.61 16.73,6.16 16.22,5.86C15.7,5.55 15.06,5.4 14.4,5.28C14.08,5.22 12.75,5.03 12.2,4.27C11.75,3.65 11.74,2.53 11.62,2.2C11.57,2.07 11.5,2 11.36,2C11.15,2 10.87,2.12 10.57,2.32C10,2.7 8.85,3.9 8.4,5.1C8.06,6 8.05,6.82 8.19,7.43C7.63,7.53 7.22,7.71 7.06,7.78C6.55,8 5.47,8.96 5.37,10.45C5.34,10.89 5.41,11.34 5.5,11.78C5.5,11.86 5.5,11.94 5.5,12.03C4.88,12.22 4.53,12.43 4.5,12.44C4.18,12.56 3.65,12.93 3.5,13.13C3.15,13.53 2.92,14 2.79,14.5C2.5,15.59 2.6,16.83 3.13,17.83C3.42,18.39 3.82,19 4.26,19.43C5.7,20.91 8.18,21.47 10.14,21.79C10.96,21.93 11.8,22 12.63,22C14.22,22 15.8,21.73 17.26,21.13C20.61,19.74 21.5,17.5 21.64,16.89C21.93,15.5 21.57,14.19 21.42,13.87M16.05,11.33C16.61,11.36 17.04,11.84 17,12.4C16.96,12.95 16.5,13.38 15.91,13.34C15.35,13.31 14.92,12.83 14.96,12.28C15,11.75 15.42,11.35 15.94,11.33C16,11.33 16,11.33 16.05,11.33M20.18,16.55C20.17,16.57 19.7,18.5 16.69,19.74C15.47,20.25 14.1,20.5 12.63,20.5C11.9,20.5 11.14,20.44 10.38,20.31C8.76,20.05 6.5,19.56 5.31,18.36C5.04,18.09 4.72,17.63 4.46,17.13C4.12,16.5 4.04,15.65 4.24,14.88C4.32,14.58 4.45,14.32 4.63,14.12L4.65,14.09C4.74,14 4.95,13.88 5.03,13.84V13.84L5.14,13.8L5.26,13.74C5.32,13.7 5.46,13.63 5.67,13.55C6.13,14.81 7.28,15.7 8.59,15.7C8.67,15.7 8.74,15.69 8.82,15.69C9.65,15.63 10.41,15.22 10.94,14.55C11.47,13.89 11.73,13.04 11.66,12.17C11.54,10.5 10.22,9.16 8.64,9.11H8.62C8.5,9.11 8.4,9.11 8.31,9.12C8,9.15 7.73,9.23 7.46,9.34C7.55,9.24 7.63,9.17 7.66,9.15C7.79,9.1 8.07,9 8.45,8.91L10,8.63L9.65,7.09C9.61,6.9 9.53,6.35 9.81,5.63C9.96,5.2 10.27,4.76 10.58,4.38C10.68,4.65 10.81,4.91 11,5.15C11.77,6.23 13.12,6.58 14.06,6.74L14.13,6.76C14.6,6.84 15.13,6.95 15.46,7.15C15.67,7.28 15.76,7.41 15.82,7.67C15.87,7.87 15.84,8.1 15.73,8.31L15.21,9.2C13.95,9.5 12.95,10.64 12.79,12.06C12.59,13.87 13.78,15.46 15.5,15.68C15.62,15.69 15.74,15.7 15.85,15.7C16.56,15.7 17.25,15.44 17.82,14.95C18.23,14.59 18.54,14.13 18.74,13.62L18.9,13.66C19,13.68 19.17,13.74 19.45,13.91L19.5,13.95L19.57,14C19.78,14.08 19.94,14.26 20.05,14.5C20.13,14.67 20.38,15.6 20.18,16.55M7.64,12.45C7.57,11.9 7.97,11.39 8.53,11.32C8.57,11.31 8.6,11.31 8.64,11.31C9.15,11.3 9.61,11.67 9.67,12.19C9.73,12.74 9.33,13.25 8.77,13.32C8.21,13.39 7.7,13 7.64,12.45M8.71,16.15C9,16.14 9.26,16.23 9.5,16.28C10.68,16.5 11.7,16.53 12.19,16.53C12.68,16.53 13.69,16.5 14.86,16.28C15.27,16.2 15.74,16.03 16.11,16.28C16.59,16.6 16.24,17.75 15.5,18.53C15.04,19 13.97,19.91 12.19,19.91C10.41,19.91 9.33,19 8.88,18.53C8.14,17.75 7.79,16.6 8.26,16.28C8.4,16.19 8.55,16.15 8.71,16.15Z\";\r\nexport var mdiEmoticonSad = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7,9.5C7,8.7 7.7,8 8.5,8C9.3,8 10,8.7 10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5M14.77,17.23C14.32,16.5 13.25,16 12,16C10.75,16 9.68,16.5 9.23,17.23L7.81,15.81C8.71,14.72 10.25,14 12,14C13.75,14 15.29,14.72 16.19,15.81L14.77,17.23M15.5,11C14.7,11 14,10.3 14,9.5C14,8.7 14.7,8 15.5,8C16.3,8 17,8.7 17,9.5C17,10.3 16.3,11 15.5,11Z\";\r\nexport var mdiEmoticonSadOutline = \"M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M15.5,8C16.3,8 17,8.7 17,9.5C17,10.3 16.3,11 15.5,11C14.7,11 14,10.3 14,9.5C14,8.7 14.7,8 15.5,8M10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5C7,8.7 7.7,8 8.5,8C9.3,8 10,8.7 10,9.5M12,14C13.75,14 15.29,14.72 16.19,15.81L14.77,17.23C14.32,16.5 13.25,16 12,16C10.75,16 9.68,16.5 9.23,17.23L7.81,15.81C8.71,14.72 10.25,14 12,14Z\";\r\nexport var mdiEmoticonSick = \"M21 9C19.9 9 19 8.1 19 7S21 3 21 3 23 5.9 23 7 22.1 9 21 9M17.5 7C17.5 6.27 17.91 5.29 18.42 4.34C16.68 2.88 14.44 2 12 2C6.47 2 2 6.5 2 12S6.47 22 12 22C17.5 22 22 17.5 22 12C22 11.45 21.94 10.91 21.86 10.38C21.58 10.45 21.3 10.5 21 10.5C19.07 10.5 17.5 8.93 17.5 7M15.62 7.38L16.68 8.44L15.62 9.5L16.68 10.56L15.62 11.62L13.5 9.5L15.62 7.38M7.32 8.44L8.38 7.38L10.5 9.5L8.38 11.62L7.32 10.56L8.38 9.5L7.32 8.44M15.44 17C14.75 15.81 13.47 15 12 15S9.25 15.81 8.56 17H6.88C7.18 16.24 7.64 15.57 8.22 15L5.24 13.3C4.79 13.56 4.23 13.58 3.75 13.3C3.03 12.89 2.79 11.97 3.2 11.25S4.53 10.29 5.25 10.7C5.73 11 6 11.5 6 12L9.57 14.06C10.3 13.7 11.12 13.5 12 13.5C14.33 13.5 16.32 14.95 17.12 17H15.44Z\";\r\nexport var mdiEmoticonSickOutline = \"M7.32 10.56L8.38 9.5L7.32 8.44L8.38 7.38L10.5 9.5L8.38 11.62L7.32 10.56M4.5 9C4.53 9 4.55 9 4.58 9C5.77 6.07 8.64 4 12 4C14.19 4 16.16 4.88 17.61 6.3C17.76 5.7 18.06 5 18.42 4.34C16.68 2.88 14.44 2 12 2C7.11 2 3.05 5.5 2.18 10.14C2.74 9.44 3.59 9 4.5 9M21 10.5C20.58 10.5 20.18 10.41 19.81 10.28C19.93 10.83 20 11.41 20 12C20 16.42 16.42 20 12 20C8.64 20 5.77 17.93 4.58 15C4.55 15 4.53 15 4.5 15C4 15 3.46 14.86 3 14.6C2.68 14.42 2.41 14.18 2.18 13.9C3.07 18.5 7.11 22 12 22C17.5 22 22 17.5 22 12C22 11.45 21.94 10.91 21.86 10.38C21.58 10.45 21.3 10.5 21 10.5M21 3C21 3 19 5.9 19 7S19.9 9 21 9 23 8.1 23 7 21 3 21 3M15.62 7.38L13.5 9.5L15.62 11.62L16.68 10.56L15.62 9.5L16.68 8.44L15.62 7.38M8.56 17C9.25 15.81 10.53 15 12 15S14.75 15.81 15.44 17H17.12C16.32 14.95 14.33 13.5 12 13.5C11.13 13.5 10.3 13.7 9.57 14.07L6 12C6 11.5 5.73 11 5.25 10.71C4.53 10.3 3.62 10.54 3.2 11.26C2.79 12 3.03 12.89 3.75 13.31C4.23 13.59 4.8 13.56 5.24 13.31L8.21 15.03C7.64 15.56 7.18 16.24 6.88 17H8.56Z\";\r\nexport var mdiEmoticonTongue = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7.27,11C7.1,10.71 7,10.36 7,10C7,8.89 7.89,8 9,8A2,2 0 0,1 11,10C11,10.36 10.9,10.71 10.73,11C10.39,10.4 9.74,10 9,10C8.26,10 7.61,10.4 7.27,11M16,15H15C15,17 14.1,18 13,18C11.9,18 11,17 11,15H8V13H16V15M16.73,11C16.39,10.4 15.74,10 15,10C14.26,10 13.61,10.4 13.27,11C13.1,10.71 13,10.36 13,10C13,8.89 13.89,8 15,8A2,2 0 0,1 17,10C17,10.36 16.9,10.71 16.73,11Z\";\r\nexport var mdiEmoticonTongueOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M9,10C8.26,10 7.61,10.4 7.27,11C7.1,10.71 7,10.36 7,10A2,2 0 0,1 9,8C10.11,8 11,8.9 11,10C11,10.36 10.9,10.71 10.73,11C10.39,10.4 9.74,10 9,10M17,10C17,10.36 16.9,10.71 16.73,11C16.39,10.4 15.74,10 15,10C14.26,10 13.61,10.4 13.27,11C13.1,10.71 13,10.36 13,10A2,2 0 0,1 15,8C16.11,8 17,8.9 17,10M16,13V15H15C15,17 14.1,18 13,18C11.9,18 11,17 11,15H8V13H16Z\";\r\nexport var mdiEmoticonWink = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7,9.5C7,8.7 7.7,8 8.5,8C9.3,8 10,8.7 10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5M12,17.23C10.25,17.23 8.71,16.5 7.81,15.42L9.23,14C9.68,14.72 10.75,15.23 12,15.23C13.25,15.23 14.32,14.72 14.77,14L16.19,15.42C15.29,16.5 13.75,17.23 12,17.23M17,10H13V9H17V10Z\";\r\nexport var mdiEmoticonWinkOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5C7,8.7 7.7,8 8.5,8C9.3,8 10,8.7 10,9.5M12,17.23C10.25,17.23 8.71,16.5 7.81,15.42L9.23,14C9.68,14.72 10.75,15.23 12,15.23C13.25,15.23 14.32,14.72 14.77,14L16.19,15.42C15.29,16.5 13.75,17.23 12,17.23M17,10H13V9H17V10Z\";\r\nexport var mdiEngine = \"M7,4V6H10V8H7L5,10V13H3V10H1V18H3V15H5V18H8L10,20H18V16H20V19H23V9H20V12H18V8H12V6H15V4H7Z\";\r\nexport var mdiEngineOff = \"M3.78,2.5L21.5,20.22L20.23,21.5L18,19.27V20H10L8,18H5V15H3V18H1V10H3V13H5V10L6.87,8.14L2.5,3.77L3.78,2.5M20,9V12H18V8H12V6H15V4H7.82L22.82,19H23V9H20Z\";\r\nexport var mdiEngineOffOutline = \"M2.5,3.77L6.87,8.14L5,10V13H3V10H1V18H3V15H5V18H8L10,20H18V19.27L21.23,22.5L22.5,21.22L3.78,2.5L2.5,3.77M16,18H11L9,16H7V11L8,10H8.73L16,17.27V18M23,9V19H22.82L16,12.18V10H13.82L7.82,4H15V6H12V8H18V12H20V9H23Z\";\r\nexport var mdiEngineOutline = \"M8,10H16V18H11L9,16H7V11M7,4V6H10V8H7L5,10V13H3V10H1V18H3V15H5V18H8L10,20H18V16H20V19H23V9H20V12H18V8H12V6H15V4H7Z\";\r\nexport var mdiEpsilon = \"M15.05 7.78L16.15 6.18C16.15 6.18 14.91 5 12.77 5C10.04 5 8.35 6.84 8.35 8.76C8.35 10.68 10.08 11.69 10.08 11.69C10.08 11.69 8 12.38 8 15C8 17.63 10.14 19 12.44 19C15.38 19 17 17.04 17 17.04L15.6 15.5C15.6 15.5 14.14 16.87 12.59 16.87C10.66 16.87 10.21 15.69 10.21 14.92C10.21 13.87 10.54 12.65 13.83 12.65L13.82 10.77C13.82 10.77 10.44 11.11 10.44 8.78C10.44 7.21 11.9 6.92 12.64 6.92C14.28 6.92 15.05 7.78 15.05 7.78\";\r\nexport var mdiEqual = \"M19,10H5V8H19V10M19,16H5V14H19V16Z\";\r\nexport var mdiEqualBox = \"M17,16V14H7V16H17M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19M17,10V8H7V10H17Z\";\r\nexport var mdiEqualizer = \"M10,20H14V4H10V20M4,20H8V12H4V20M16,9V20H20V9H16Z\";\r\nexport var mdiEqualizerOutline = \"M15,21H9V3H15V21M11,19H13V5H11V19M8,21H2V11H8V21M4,19H6V13H4V19M22,21H16V8H22V21M18,19H20V10H18V19Z\";\r\nexport var mdiEraser = \"M16.24,3.56L21.19,8.5C21.97,9.29 21.97,10.55 21.19,11.34L12,20.53C10.44,22.09 7.91,22.09 6.34,20.53L2.81,17C2.03,16.21 2.03,14.95 2.81,14.16L13.41,3.56C14.2,2.78 15.46,2.78 16.24,3.56M4.22,15.58L7.76,19.11C8.54,19.9 9.8,19.9 10.59,19.11L14.12,15.58L9.17,10.63L4.22,15.58Z\";\r\nexport var mdiEraserVariant = \"M15.14,3C14.63,3 14.12,3.2 13.73,3.59L2.59,14.73C1.81,15.5 1.81,16.77 2.59,17.56L5.03,20H12.69L21.41,11.27C22.2,10.5 22.2,9.23 21.41,8.44L16.56,3.59C16.17,3.2 15.65,3 15.14,3M17,18L15,20H22V18\";\r\nexport var mdiEscalator = \"M20,8H18.95L6.95,20H4A2,2 0 0,1 2,18A2,2 0 0,1 4,16H5.29L7,14.29V10A1,1 0 0,1 8,9H9A1,1 0 0,1 10,10V11.29L17.29,4H20A2,2 0 0,1 22,6A2,2 0 0,1 20,8M8.5,5A1.5,1.5 0 0,1 10,6.5A1.5,1.5 0 0,1 8.5,8A1.5,1.5 0 0,1 7,6.5A1.5,1.5 0 0,1 8.5,5Z\";\r\nexport var mdiEscalatorBox = \"M5 3C3.89 3 3 3.89 3 5V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3H5M14.34 6H17.05C18.16 6 19.05 6.9 19.05 8C19.05 9.11 18.16 10 17.05 10H16L10 18H7.05C5.95 18 5.05 17.11 5.05 16C5.05 14.9 5.95 14 7.05 14H8.34L14.34 6Z\";\r\nexport var mdiEscalatorDown = \"M20 8H18.95L6.95 20H4C2.9 20 2 19.11 2 18C2 16.9 2.9 16 4 16H5.29L7 14.29V10C7 9.45 7.45 9 8 9H9C9.55 9 10 9.45 10 10V11.29L17.29 4H20C21.11 4 22 4.89 22 6C22 7.11 21.11 8 20 8M8.5 5C9.33 5 10 5.67 10 6.5C10 7.33 9.33 8 8.5 8C7.67 8 7 7.33 7 6.5C7 5.67 7.67 5 8.5 5M14.83 17.34L20.34 11.83L22.17 13.66L16.66 19.17L18.5 21H13V15.5L14.83 17.34Z\";\r\nexport var mdiEscalatorUp = \"M20 8H18.95L6.95 20H4C2.9 20 2 19.11 2 18C2 16.9 2.9 16 4 16H5.29L7 14.29V10C7 9.45 7.45 9 8 9H9C9.55 9 10 9.45 10 10V11.29L17.29 4H20C21.11 4 22 4.89 22 6C22 7.11 21.11 8 20 8M8.5 5C9.33 5 10 5.67 10 6.5C10 7.33 9.33 8 8.5 8C7.67 8 7 7.33 7 6.5C7 5.67 7.67 5 8.5 5M20.17 15.66L14.66 21.17L12.83 19.34L18.34 13.83L16.5 12H22V17.5L20.17 15.66Z\";\r\nexport var mdiEslint = \"M7.95,9.55L11.84,7.3C11.94,7.25 12.06,7.25 12.16,7.3L16.05,9.55C16.15,9.61 16.21,9.71 16.21,9.82V14.32C16.21,14.43 16.15,14.53 16.05,14.59L12.16,16.84C12.06,16.89 11.94,16.89 11.84,16.84L7.95,14.59C7.85,14.53 7.79,14.43 7.79,14.32V9.82C7.79,9.71 7.85,9.61 7.95,9.55M22.12,11.6C22.29,11.89 22.29,12.23 22.12,12.53L17.47,20.56C17.3,20.86 17,21 16.65,21H7.35C7,21 6.7,20.85 6.53,20.56L1.88,12.53C1.71,12.24 1.71,11.87 1.88,11.58L6.53,3.5C6.7,3.22 7,3 7.35,3H16.65C17,3 17.3,3.22 17.47,3.5L22.12,11.6M18.27,15.5V8.65C18.27,8.53 18.2,8.42 18.09,8.36L12.16,4.95C12.06,4.89 11.93,4.89 11.83,4.95L5.91,8.36C5.8,8.42 5.73,8.53 5.73,8.65V15.5C5.73,15.61 5.8,15.72 5.91,15.78L11.84,19.19C11.94,19.25 12.07,19.25 12.17,19.19L18.09,15.78C18.2,15.72 18.27,15.61 18.27,15.5Z\";\r\nexport var mdiEt = \"M23,8.78L21.71,7.22C21.45,7.42 20.53,8 19.77,8C19.26,8 18.3,7.75 17.45,7.53C16.39,7.26 15.39,7 14.6,7C14,7 13.43,7.15 12.93,7.35C12.62,5.45 11,4 9,4C4.58,4 2,7.58 2,12C2,16.42 5.58,19 10,19C12.06,19 13.93,18.43 15.34,17.39L15,21.29L17,21.47L18,9.74C18.66,9.89 19.27,10 19.77,10C21.38,10 22.84,8.91 23,8.78M9,6A2,2 0 0,1 11,8A2,2 0 0,1 9,10H4.23C4.8,7.67 6.39,6 9,6M10,17C6.69,17 4,15.31 4,12H9C10.6,12 11.83,11.17 12.5,9.91V9.91C12.76,9.71 13.85,9 14.6,9C14.94,9 15.5,9.11 16.05,9.25L15.65,13.89C14.82,15.95 12.6,17 10,17Z\";\r\nexport var mdiEthereum = \"M12,1.75L5.75,12.25L12,16L18.25,12.25L12,1.75M5.75,13.5L12,22.25L18.25,13.5L12,17.25L5.75,13.5Z\";\r\nexport var mdiEthernet = \"M7,15H9V18H11V15H13V18H15V15H17V18H19V9H15V6H9V9H5V18H7V15M4.38,3H19.63C20.94,3 22,4.06 22,5.38V19.63A2.37,2.37 0 0,1 19.63,22H4.38C3.06,22 2,20.94 2,19.63V5.38C2,4.06 3.06,3 4.38,3Z\";\r\nexport var mdiEthernetCable = \"M11,3V7H13V3H11M8,4V11H16V4H14V8H10V4H8M10,12V22H14V12H10Z\";\r\nexport var mdiEthernetCableOff = \"M11,3H13V7H11V3M8,4H10V8H14V4H16V11H12.82L8,6.18V4M20,20.72L18.73,22L14,17.27V22H10V13.27L2,5.27L3.28,4L20,20.72Z\";\r\nexport var mdiEvPlugCcs1 = \"M16 15H15.59C17.63 13.78 19 11.55 19 9C19 5.47 16.39 2.57 13 2.08V.949H11V2.08C7.61 2.57 5 5.47 5 9C5 11.55 6.37 13.78 8.41 15H8C5.79 15 4 16.79 4 19S5.79 23 8 23H16C18.21 23 20 21.21 20 19S18.21 15 16 15M17.5 11C17.5 11.83 16.83 12.5 16 12.5S14.5 11.83 14.5 11 15.17 9.5 16 9.5 17.5 10.17 17.5 11M15 5C16.11 5 17 5.9 17 7S16.11 9 15 9 13 8.11 13 7 13.9 5 15 5M9 5C10.11 5 11 5.9 11 7S10.11 9 9 9 7 8.11 7 7 7.9 5 9 5M8 12.5C7.17 12.5 6.5 11.83 6.5 11S7.17 9.5 8 9.5 9.5 10.17 9.5 11 8.83 12.5 8 12.5M9 21.82V21H7V21.82C5.84 21.4 5 20.3 5 19C5 17.34 6.34 16 8 16S11 17.34 11 19C11 20.3 10.16 21.4 9 21.82M10 12C10 10.9 10.9 10 12 10S14 10.9 14 12 13.11 14 12 14 10 13.11 10 12M17 21.82V21H15V21.82C13.84 21.4 13 20.3 13 19C13 17.34 14.34 16 16 16S19 17.34 19 19C19 20.3 18.16 21.4 17 21.82M14.5 7C14.5 6.72 14.72 6.5 15 6.5S15.5 6.72 15.5 7 15.28 7.5 15 7.5 14.5 7.28 14.5 7M8.5 7C8.5 6.72 8.72 6.5 9 6.5S9.5 6.72 9.5 7 9.28 7.5 9 7.5 8.5 7.28 8.5 7M9 19C9 19.55 8.55 20 8 20S7 19.55 7 19 7.45 18 8 18 9 18.45 9 19M17 19C17 19.55 16.55 20 16 20S15 19.55 15 19 15.45 18 16 18 17 18.45 17 19M12.5 12C12.5 12.28 12.28 12.5 12 12.5S11.5 12.28 11.5 12 11.72 11.5 12 11.5 12.5 11.72 12.5 12Z\";\r\nexport var mdiEvPlugCcs2 = \"M14 4.5C14 4.22 14.22 4 14.5 4S15 4.22 15 4.5 14.78 5 14.5 5 14 4.78 14 4.5M20 19C20 21.21 18.21 23 16 23H8C5.79 23 4 21.21 4 19C4 16.79 5.79 15 8 15H8.13C5.67 13.64 4 11 4 8C4 5.61 5.06 3.47 6.72 2H17.28C18.94 3.47 20 5.61 20 8C20 11 18.33 13.64 15.87 15H16C18.21 15 20 16.79 20 19M16.5 12C16.5 10.9 15.61 10 14.5 10S12.5 10.9 12.5 12C12.5 13.11 13.4 14 14.5 14S16.5 13.11 16.5 12M17 6C15.9 6 15 6.9 15 8C15 9.11 15.9 10 17 10S19 9.11 19 8C19 6.9 18.11 6 17 6M13 4.5C13 5.33 13.67 6 14.5 6S16 5.33 16 4.5 15.33 3 14.5 3 13 3.67 13 4.5M12 6C10.9 6 10 6.9 10 8C10 9.11 10.9 10 12 10S14 9.11 14 8C14 6.9 13.11 6 12 6M8 4.5C8 5.33 8.67 6 9.5 6S11 5.33 11 4.5 10.33 3 9.5 3 8 3.67 8 4.5M7 10C8.11 10 9 9.11 9 8C9 6.9 8.11 6 7 6S5 6.9 5 8C5 9.11 5.9 10 7 10M9.5 14C10.61 14 11.5 13.11 11.5 12C11.5 10.9 10.61 10 9.5 10S7.5 10.9 7.5 12C7.5 13.11 8.4 14 9.5 14M11 19C11 17.34 9.66 16 8 16S5 17.34 5 19 6.34 22 8 22 11 20.66 11 19M19 19C19 17.34 17.66 16 16 16S13 17.34 13 19 14.34 22 16 22 19 20.66 19 19M17 8.5C17.28 8.5 17.5 8.28 17.5 8S17.28 7.5 17 7.5 16.5 7.72 16.5 8 16.72 8.5 17 8.5M14.5 11.5C14.22 11.5 14 11.72 14 12S14.22 12.5 14.5 12.5 15 12.28 15 12 14.78 11.5 14.5 11.5M16 18C15.45 18 15 18.45 15 19C15 19.55 15.45 20 16 20S17 19.55 17 19C17 18.45 16.55 18 16 18M12 8.5C12.28 8.5 12.5 8.28 12.5 8S12.28 7.5 12 7.5 11.5 7.72 11.5 8 11.72 8.5 12 8.5M8 18C7.45 18 7 18.45 7 19C7 19.55 7.45 20 8 20S9 19.55 9 19C9 18.45 8.55 18 8 18M7 7.5C6.72 7.5 6.5 7.72 6.5 8S6.72 8.5 7 8.5 7.5 8.28 7.5 8 7.28 7.5 7 7.5M9.5 5C9.78 5 10 4.78 10 4.5S9.78 4 9.5 4 9 4.22 9 4.5 9.22 5 9.5 5M10 12C10 11.72 9.78 11.5 9.5 11.5S9 11.72 9 12 9.22 12.5 9.5 12.5 10 12.28 10 12Z\";\r\nexport var mdiEvPlugChademo = \"M8 10.5C8.83 10.5 9.5 11.17 9.5 12S8.83 13.5 8 13.5 6.5 12.83 6.5 12 7.17 10.5 8 10.5M8 9C6.34 9 5 10.34 5 12S6.34 15 8 15 11 13.66 11 12 9.66 9 8 9M16 10.5C16.83 10.5 17.5 11.17 17.5 12S16.83 13.5 16 13.5C15.17 13.5 14.5 12.83 14.5 12S15.17 10.5 16 10.5M16 9C14.34 9 13 10.34 13 12S14.34 15 16 15 19 13.66 19 12 17.66 9 16 9M14.12 8.41L12.71 7L14.12 5.59L13.41 4.88L12 6.29L10.59 4.88L9.88 5.59L11.29 7L9.88 8.41L10.59 9.12L12 7.71L13.41 9.12L14.12 8.41M14.12 18.41L12.71 17L14.12 15.59L13.41 14.88L12 16.29L10.59 14.88L9.88 15.59L11.29 17L9.88 18.41L10.59 19.12L12 17.71L13.41 19.12L14.12 18.41M19.74 5.67L20.5 4.93L19.07 3.5L18.33 4.26C16.6 2.85 14.4 2 12 2S7.4 2.85 5.67 4.26L4.93 3.5L3.5 4.93L4.26 5.67C2.85 7.4 2 9.6 2 12C2 17.5 6.5 22 12 22S22 17.5 22 12C22 9.6 21.15 7.4 19.74 5.67M12 20C7.59 20 4 16.41 4 12S7.59 4 12 4 20 7.59 20 12 16.41 20 12 20Z\";\r\nexport var mdiEvPlugTesla = \"M6 9C6 8.45 6.45 8 7 8S8 8.45 8 9 7.55 10 7 10 6 9.55 6 9M17 10C17.55 10 18 9.55 18 9S17.55 8 17 8 16 8.45 16 9 16.45 10 17 10M22 9.93V11C22 15.97 17.97 20 13 20H11C6.03 20 2 16 2 11V9.93C2 6.65 4.65 4 7.93 4H16.07C19.35 4 22 6.65 22 9.93M14.5 9C14.5 10.38 15.62 11.5 17 11.5S19.5 10.38 19.5 9 18.38 6.5 17 6.5 14.5 7.62 14.5 9M4.5 9C4.5 10.38 5.62 11.5 7 11.5S9.5 10.38 9.5 9 8.38 6.5 7 6.5 4.5 7.62 4.5 9M9 17C9 16.45 8.55 16 8 16S7 16.45 7 17 7.45 18 8 18 9 17.55 9 17M13.5 17C13.5 16.17 12.83 15.5 12 15.5S10.5 16.17 10.5 17 11.17 18.5 12 18.5 13.5 17.83 13.5 17M17 17C17 16.45 16.55 16 16 16S15 16.45 15 17 15.45 18 16 18 17 17.55 17 17M19.97 11.66C19.23 12.5 18.18 13 17 13C14.79 13 13 11.21 13 9C13 7.8 13.54 6.73 14.38 6H9.62C10.46 6.73 11 7.8 11 9C11 11.21 9.21 13 7 13C5.82 13 4.76 12.5 4.03 11.66C4.19 13.32 4.93 14.82 6.04 15.94C7.71 14.73 9.76 14 12 14C14.24 14 16.29 14.73 17.96 15.94C19.07 14.82 19.81 13.32 19.97 11.66Z\";\r\nexport var mdiEvPlugType1 = \"M12.5 15C12.5 15.28 12.28 15.5 12 15.5S11.5 15.28 11.5 15 11.72 14.5 12 14.5 12.5 14.72 12.5 15M15 10.5C15.28 10.5 15.5 10.28 15.5 10S15.28 9.5 15 9.5 14.5 9.72 14.5 10 14.72 10.5 15 10.5M9 10.5C9.28 10.5 9.5 10.28 9.5 10S9.28 9.5 9 9.5 8.5 9.72 8.5 10 8.72 10.5 9 10.5M13 18.92V20H11V18.92C7.61 18.43 5 15.53 5 12S7.61 5.57 11 5.08V4H13V5.08C16.39 5.57 19 8.5 19 12S16.39 18.43 13 18.92M13 10C13 11.11 13.9 12 15 12S17 11.11 17 10 16.11 8 15 8 13 8.9 13 10M7 10C7 11.11 7.9 12 9 12S11 11.11 11 10 10.11 8 9 8 7 8.9 7 10M9.5 14C9.5 13.17 8.83 12.5 8 12.5S6.5 13.17 6.5 14 7.17 15.5 8 15.5 9.5 14.83 9.5 14M14 15C14 13.9 13.11 13 12 13S10 13.9 10 15 10.9 17 12 17 14 16.11 14 15M16 15.5C16.83 15.5 17.5 14.83 17.5 14S16.83 12.5 16 12.5 14.5 13.17 14.5 14 15.17 15.5 16 15.5Z\";\r\nexport var mdiEvPlugType2 = \"M7.5 11C7.5 11.28 7.28 11.5 7 11.5S6.5 11.28 6.5 11 6.72 10.5 7 10.5 7.5 10.72 7.5 11M9.5 14.5C9.22 14.5 9 14.72 9 15S9.22 15.5 9.5 15.5 10 15.28 10 15 9.78 14.5 9.5 14.5M9.5 8C9.78 8 10 7.78 10 7.5S9.78 7 9.5 7 9 7.22 9 7.5 9.22 8 9.5 8M14.5 8C14.78 8 15 7.78 15 7.5S14.78 7 14.5 7 14 7.22 14 7.5 14.22 8 14.5 8M12 10.5C11.72 10.5 11.5 10.72 11.5 11S11.72 11.5 12 11.5 12.5 11.28 12.5 11 12.28 10.5 12 10.5M20 11C20 15.42 16.42 19 12 19S4 15.42 4 11C4 8.61 5.06 6.47 6.72 5H17.28C18.94 6.47 20 8.61 20 11M13 7.5C13 8.33 13.67 9 14.5 9S16 8.33 16 7.5 15.33 6 14.5 6 13 6.67 13 7.5M8 7.5C8 8.33 8.67 9 9.5 9S11 8.33 11 7.5 10.33 6 9.5 6 8 6.67 8 7.5M7 13C8.11 13 9 12.11 9 11C9 9.9 8.11 9 7 9S5 9.9 5 11C5 12.11 5.9 13 7 13M11.5 15C11.5 13.9 10.61 13 9.5 13S7.5 13.9 7.5 15C7.5 16.11 8.4 17 9.5 17S11.5 16.11 11.5 15M12 13C13.11 13 14 12.11 14 11C14 9.9 13.11 9 12 9S10 9.9 10 11C10 12.11 10.9 13 12 13M16.5 15C16.5 13.9 15.61 13 14.5 13S12.5 13.9 12.5 15C12.5 16.11 13.4 17 14.5 17S16.5 16.11 16.5 15M19 11C19 9.9 18.11 9 17 9S15 9.9 15 11C15 12.11 15.9 13 17 13S19 12.11 19 11M17 10.5C16.72 10.5 16.5 10.72 16.5 11S16.72 11.5 17 11.5 17.5 11.28 17.5 11 17.28 10.5 17 10.5M14.5 14.5C14.22 14.5 14 14.72 14 15S14.22 15.5 14.5 15.5 15 15.28 15 15 14.78 14.5 14.5 14.5Z\";\r\nexport var mdiEvStation = \"M19.77,7.23L19.78,7.22L16.06,3.5L15,4.56L17.11,6.67C16.17,7.03 15.5,7.93 15.5,9A2.5,2.5 0 0,0 18,11.5C18.36,11.5 18.69,11.42 19,11.29V18.5A1,1 0 0,1 18,19.5A1,1 0 0,1 17,18.5V14A2,2 0 0,0 15,12H14V5A2,2 0 0,0 12,3H6A2,2 0 0,0 4,5V21H14V13.5H15.5V18.5A2.5,2.5 0 0,0 18,21A2.5,2.5 0 0,0 20.5,18.5V9C20.5,8.31 20.22,7.68 19.77,7.23M18,10A1,1 0 0,1 17,9A1,1 0 0,1 18,8A1,1 0 0,1 19,9A1,1 0 0,1 18,10M8,18V13.5H6L10,6V11H12L8,18Z\";\r\nexport var mdiEvernote = \"M15.09,11.63C15.09,11.63 15.28,10.35 16,10.35C16.76,10.35 17.78,12.06 17.78,12.06C17.78,12.06 15.46,11.63 15.09,11.63M19,4.69C18.64,4.09 16.83,3.41 15.89,3.41C14.96,3.41 13.5,3.41 13.5,3.41C13.5,3.41 12.7,2 10.88,2C9.05,2 9.17,2.81 9.17,3.5V6.32L8.34,7.19H4.5C4.5,7.19 3.44,7.91 3.44,9.44C3.44,11 3.92,16.35 7.13,16.85C10.93,17.43 11.58,15.67 11.58,15.46C11.58,14.56 11.6,13.21 11.6,13.21C11.6,13.21 12.71,15.33 14.39,15.33C16.07,15.33 17.04,16.3 17.04,17.29C17.04,18.28 17.04,19.13 17.04,19.13C17.04,19.13 17,20.28 16,20.28C15,20.28 13.89,20.28 13.89,20.28C13.89,20.28 13.2,19.74 13.2,19C13.2,18.25 13.53,18.05 13.93,18.05C14.32,18.05 14.65,18.09 14.65,18.09V16.53C14.65,16.53 11.47,16.5 11.47,18.94C11.47,21.37 13.13,22 14.46,22C15.8,22 16.63,22 16.63,22C16.63,22 20.56,21.5 20.56,13.75C20.56,6 19.33,5.28 19,4.69M7.5,6.31H4.26L8.32,2.22V5.5L7.5,6.31Z\";\r\nexport var mdiExcavator = \"M18.5 18.5C19.04 18.5 19.5 18.96 19.5 19.5S19.04 20.5 18.5 20.5H6.5C5.96 20.5 5.5 20.04 5.5 19.5S5.96 18.5 6.5 18.5H18.5M18.5 17H6.5C5.13 17 4 18.13 4 19.5S5.13 22 6.5 22H18.5C19.88 22 21 20.88 21 19.5S19.88 17 18.5 17M21 11H18V7H13L10 11V16H22L21 11M11.54 11L13.5 8.5H16V11H11.54M9.76 3.41L4.76 2L2 11.83C1.66 13.11 2.41 14.44 3.7 14.8L4.86 15.12L8.15 12.29L4.27 11.21L6.15 4.46L8.94 5.24C9.5 5.53 10.71 6.34 11.47 7.37L12.5 6H12.94C11.68 4.41 9.85 3.46 9.76 3.41Z\";\r\nexport var mdiExclamation = \"M 11,4L 13,4L 13,15L 11,15L 11,4 Z M 13,18L 13,20L 11,20L 11,18L 13,18 Z\";\r\nexport var mdiExclamationThick = \"M10 3H14V14H10V3M10 21V17H14V21H10Z\";\r\nexport var mdiExitRun = \"M13.34,8.17C12.41,8.17 11.65,7.4 11.65,6.47A1.69,1.69 0 0,1 13.34,4.78C14.28,4.78 15.04,5.54 15.04,6.47C15.04,7.4 14.28,8.17 13.34,8.17M10.3,19.93L4.37,18.75L4.71,17.05L8.86,17.9L10.21,11.04L8.69,11.64V14.5H7V10.54L11.4,8.67L12.07,8.59C12.67,8.59 13.17,8.93 13.5,9.44L14.36,10.79C15.04,12 16.39,12.82 18,12.82V14.5C16.14,14.5 14.44,13.67 13.34,12.4L12.84,14.94L14.61,16.63V23H12.92V17.9L11.14,16.21L10.3,19.93M21,23H19V3H6V16.11L4,15.69V1H21V23M6,23H4V19.78L6,20.2V23Z\";\r\nexport var mdiExitToApp = \"M19,3H5C3.89,3 3,3.89 3,5V9H5V5H19V19H5V15H3V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M10.08,15.58L11.5,17L16.5,12L11.5,7L10.08,8.41L12.67,11H3V13H12.67L10.08,15.58Z\";\r\nexport var mdiExpandAll = \"M18,8H8V18H6V8A2,2 0 0,1 8,6H18V8M14,2H4A2,2 0 0,0 2,4V14H4V4H14V2M22,12V20A2,2 0 0,1 20,22H12A2,2 0 0,1 10,20V12A2,2 0 0,1 12,10H20A2,2 0 0,1 22,12M20,15H17V12H15V15H12V17H15V20H17V17H20V15Z\";\r\nexport var mdiExpandAllOutline = \"M4,2A2,2 0 0,0 2,4V14H4V4H14V2H4M8,6A2,2 0 0,0 6,8V18H8V8H18V6H8M20,12V20H12V12H20M20,10H12A2,2 0 0,0 10,12V20A2,2 0 0,0 12,22H20A2,2 0 0,0 22,20V12A2,2 0 0,0 20,10M19,17H17V19H15V17H13V15H15V13H17V15H19V17Z\";\r\nexport var mdiExpansionCard = \"M2,7V8.5H3V17H4.5V7C3.7,7 2.8,7 2,7M6,7V7L6,16H7V17H14V16H22V7H6M17.5,9A2.5,2.5 0 0,1 20,11.5A2.5,2.5 0 0,1 17.5,14A2.5,2.5 0 0,1 15,11.5A2.5,2.5 0 0,1 17.5,9Z\";\r\nexport var mdiExpansionCardVariant = \"M2 7H4.5V17H3V8.5H2M22 7V16H14V17H7V16H6V7M10 9H8V12H10M13 9H11V12H13M20 9H15V14H20V9Z\";\r\nexport var mdiExponent = \"M15.38,3L17.77,8.75C17.55,9.68 17.27,10.32 17,10.7C16.67,11.18 16.44,11.25 16.19,11.25V12.75C16.94,12.75 17.74,12.35 18.24,11.56C19.87,8.94 22,3 22,3H20.38L18.69,7.05L17,3H15.38M3.42,8.59L2,10L6.79,14.79L2,19.59L3.41,21L8.21,16.21L13,21L14.41,19.59L9.62,14.79L14.41,10L13,8.59L8.21,13.38L3.41,8.59H3.42Z\";\r\nexport var mdiExponentBox = \"M5,3C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5M13.76,6H15.39L16.5,8.6L17.59,6H19.24C19.24,6 17.5,10.57 16.46,12.32C16.08,12.89 15.35,13.27 14.5,13.25V11.75C14.96,11.76 15.25,11.5 15.5,11.13C15.61,11 15.68,10.8 15.74,10.64L13.76,6M6.41,9.59L9.21,12.38L12,9.59L13.41,11L10.62,13.79L13.41,16.59L12,18L9.21,15.21L6.41,18L5,16.59L7.79,13.79L5,11L6.41,9.59Z\";\r\nexport var mdiExport = \"M23,12L19,8V11H10V13H19V16M1,18V6C1,4.89 1.9,4 3,4H15A2,2 0 0,1 17,6V9H15V6H3V18H15V15H17V18A2,2 0 0,1 15,20H3A2,2 0 0,1 1,18Z\";\r\nexport var mdiExportVariant = \"M12,1L8,5H11V14H13V5H16M18,23H6C4.89,23 4,22.1 4,21V9A2,2 0 0,1 6,7H9V9H6V21H18V9H15V7H18A2,2 0 0,1 20,9V21A2,2 0 0,1 18,23Z\";\r\nexport var mdiEye = \"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z\";\r\nexport var mdiEyeCheck = \"M23.5,17L18.5,22L15,18.5L16.5,17L18.5,19L22,15.5L23.5,17M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,17C12.5,17 12.97,16.93 13.42,16.79C13.15,17.5 13,18.22 13,19V19.45L12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5C17,4.5 21.27,7.61 23,12C22.75,12.64 22.44,13.26 22.08,13.85C21.18,13.31 20.12,13 19,13C18.22,13 17.5,13.15 16.79,13.42C16.93,12.97 17,12.5 17,12A5,5 0 0,0 12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17Z\";\r\nexport var mdiEyeCheckOutline = \"M23.5,17L18.5,22L15,18.5L16.5,17L18.5,19L22,15.5L23.5,17M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C17,4.5 21.27,7.61 23,12C22.75,12.65 22.44,13.26 22.08,13.85C21.5,13.5 20.86,13.25 20.18,13.12L20.82,12C19.17,8.64 15.76,6.5 12,6.5C8.24,6.5 4.83,8.64 3.18,12C4.83,15.36 8.24,17.5 12,17.5L13.21,17.43C13.07,17.93 13,18.46 13,19V19.46L12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5Z\";\r\nexport var mdiEyeCircle = \"M12,9.5A2.5,2.5 0 0,0 9.5,12A2.5,2.5 0 0,0 12,14.5A2.5,2.5 0 0,0 14.5,12A2.5,2.5 0 0,0 12,9.5M12,13A1,1 0 0,1 11,12A1,1 0 0,1 12,11A1,1 0 0,1 13,12A1,1 0 0,1 12,13M12,9.5A2.5,2.5 0 0,0 9.5,12A2.5,2.5 0 0,0 12,14.5A2.5,2.5 0 0,0 14.5,12A2.5,2.5 0 0,0 12,9.5M12,13A1,1 0 0,1 11,12A1,1 0 0,1 12,11A1,1 0 0,1 13,12A1,1 0 0,1 12,13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,16C9.37,16 7,14.43 6,12C7.38,8.69 11.19,7.12 14.5,8.5C16.08,9.16 17.34,10.42 18,12C17,14.43 14.63,16 12,16M12,9.5A2.5,2.5 0 0,0 9.5,12A2.5,2.5 0 0,0 12,14.5A2.5,2.5 0 0,0 14.5,12A2.5,2.5 0 0,0 12,9.5M12,13A1,1 0 0,1 11,12A1,1 0 0,1 12,11A1,1 0 0,1 13,12A1,1 0 0,1 12,13Z\";\r\nexport var mdiEyeCircleOutline = \"M12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20M12,11A1,1 0 0,1 13,12A1,1 0 0,1 12,13A1,1 0 0,1 11,12A1,1 0 0,1 12,11M12,8C14.63,8 17,9.57 18,12C16.62,15.31 12.81,16.88 9.5,15.5C7.92,14.84 6.66,13.58 6,12C7,9.57 9.37,8 12,8M12,9.5A2.5,2.5 0 0,0 9.5,12A2.5,2.5 0 0,0 12,14.5A2.5,2.5 0 0,0 14.5,12A2.5,2.5 0 0,0 12,9.5\";\r\nexport var mdiEyeMinus = \"M12 4.5A11.8 11.8 0 0 0 1 12A11.8 11.8 0 0 0 12 19.5H13.1A3.8 3.8 0 0 1 13 18.5A9.9 9.9 0 0 1 13.2 16.8L12 17A5 5 0 1 1 17 12A2.8 2.8 0 0 1 16.9 12.9A5.2 5.2 0 0 1 19 12.5A5.6 5.6 0 0 1 22.3 13.5A10.1 10.1 0 0 0 23 12A11.8 11.8 0 0 0 12 4.5M12 9A3 3 0 1 0 15 12A2.9 2.9 0 0 0 12 9M15 17.5V19.5H23V17.5Z\";\r\nexport var mdiEyeMinusOutline = \"M12 4.5A11.8 11.8 0 0 0 1 12A11.8 11.8 0 0 0 12 19.5H13.1A3.8 3.8 0 0 1 13 18.5A4.1 4.1 0 0 1 13.1 17.4H12A9.6 9.6 0 0 1 3.2 12A9.6 9.6 0 0 1 12 6.5A9.6 9.6 0 0 1 20.8 12L20.4 12.7A4.6 4.6 0 0 1 22.3 13.5A10.1 10.1 0 0 0 23 12A11.8 11.8 0 0 0 12 4.5M12 9A3 3 0 1 0 15 12A2.9 2.9 0 0 0 12 9M15 17.5V19.5H23V17.5Z\";\r\nexport var mdiEyeOff = \"M11.83,9L15,12.16C15,12.11 15,12.05 15,12A3,3 0 0,0 12,9C11.94,9 11.89,9 11.83,9M7.53,9.8L9.08,11.35C9.03,11.56 9,11.77 9,12A3,3 0 0,0 12,15C12.22,15 12.44,14.97 12.65,14.92L14.2,16.47C13.53,16.8 12.79,17 12,17A5,5 0 0,1 7,12C7,11.21 7.2,10.47 7.53,9.8M2,4.27L4.28,6.55L4.73,7C3.08,8.3 1.78,10 1,12C2.73,16.39 7,19.5 12,19.5C13.55,19.5 15.03,19.2 16.38,18.66L16.81,19.08L19.73,22L21,20.73L3.27,3M12,7A5,5 0 0,1 17,12C17,12.64 16.87,13.26 16.64,13.82L19.57,16.75C21.07,15.5 22.27,13.86 23,12C21.27,7.61 17,4.5 12,4.5C10.6,4.5 9.26,4.75 8,5.2L10.17,7.35C10.74,7.13 11.35,7 12,7Z\";\r\nexport var mdiEyeOffOutline = \"M2,5.27L3.28,4L20,20.72L18.73,22L15.65,18.92C14.5,19.3 13.28,19.5 12,19.5C7,19.5 2.73,16.39 1,12C1.69,10.24 2.79,8.69 4.19,7.46L2,5.27M12,9A3,3 0 0,1 15,12C15,12.35 14.94,12.69 14.83,13L11,9.17C11.31,9.06 11.65,9 12,9M12,4.5C17,4.5 21.27,7.61 23,12C22.18,14.08 20.79,15.88 19,17.19L17.58,15.76C18.94,14.82 20.06,13.54 20.82,12C19.17,8.64 15.76,6.5 12,6.5C10.91,6.5 9.84,6.68 8.84,7L7.3,5.47C8.74,4.85 10.33,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C12.69,17.5 13.37,17.43 14,17.29L11.72,15C10.29,14.85 9.15,13.71 9,12.28L5.6,8.87C4.61,9.72 3.78,10.78 3.18,12Z\";\r\nexport var mdiEyeOutline = \"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C17,4.5 21.27,7.61 23,12C21.27,16.39 17,19.5 12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C15.76,17.5 19.17,15.36 20.82,12C19.17,8.64 15.76,6.5 12,6.5C8.24,6.5 4.83,8.64 3.18,12Z\";\r\nexport var mdiEyePlus = \"M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C12.36,19.5 12.72,19.5 13.08,19.45C13.03,19.13 13,18.82 13,18.5C13,17.94 13.08,17.38 13.24,16.84C12.83,16.94 12.42,17 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12C17,12.29 16.97,12.59 16.92,12.88C17.58,12.63 18.29,12.5 19,12.5C20.17,12.5 21.31,12.84 22.29,13.5C22.56,13 22.8,12.5 23,12C21.27,7.61 17,4.5 12,4.5M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M18,14.5V17.5H15V19.5H18V22.5H20V19.5H23V17.5H20V14.5H18Z\";\r\nexport var mdiEyePlusOutline = \"M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C12.36,19.5 12.72,19.5 13.08,19.45C13.03,19.13 13,18.82 13,18.5C13,18.14 13.04,17.78 13.1,17.42C12.74,17.46 12.37,17.5 12,17.5C8.24,17.5 4.83,15.36 3.18,12C4.83,8.64 8.24,6.5 12,6.5C15.76,6.5 19.17,8.64 20.82,12C20.7,12.24 20.56,12.45 20.43,12.68C21.09,12.84 21.72,13.11 22.29,13.5C22.56,13 22.8,12.5 23,12C21.27,7.61 17,4.5 12,4.5M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M18,14.5V17.5H15V19.5H18V22.5H20V19.5H23V17.5H20V14.5H18Z\";\r\nexport var mdiEyeRemove = \"M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88M12 9C10.34 9 9 10.34 9 12S10.34 15 12 15 15 13.66 15 12 13.66 9 12 9M12 17C9.24 17 7 14.76 7 12S9.24 7 12 7 17 9.24 17 12C17 12.5 16.9 13 16.77 13.43C17.46 13.16 18.21 13 19 13C20.12 13 21.17 13.32 22.07 13.85C22.43 13.27 22.74 12.65 23 12C21.27 7.61 17 4.5 12 4.5S2.73 7.61 1 12C2.73 16.39 7 19.5 12 19.5C12.35 19.5 12.69 19.5 13.03 19.45C13 19.3 13 19.15 13 19C13 18.21 13.16 17.46 13.43 16.77C13 16.9 12.5 17 12 17Z\";\r\nexport var mdiEyeRemoveOutline = \"M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88M12 9C10.34 9 9 10.34 9 12S10.34 15 12 15 15 13.66 15 12 13.66 9 12 9M12 17.5C8.24 17.5 4.83 15.36 3.18 12C4.83 8.64 8.24 6.5 12 6.5S19.17 8.64 20.82 12C20.63 12.39 20.41 12.77 20.17 13.13C20.85 13.26 21.5 13.5 22.07 13.85C22.43 13.27 22.74 12.65 23 12C21.27 7.61 17 4.5 12 4.5S2.73 7.61 1 12C2.73 16.39 7 19.5 12 19.5C12.35 19.5 12.69 19.5 13.03 19.45C13 19.3 13 19.15 13 19C13 18.45 13.08 17.92 13.22 17.41C12.82 17.46 12.41 17.5 12 17.5Z\";\r\nexport var mdiEyeSettings = \"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7.14,4.5 2.78,7.5 1,12C3.39,18.08 10.25,21.06 16.33,18.67C19.38,17.47 21.8,15.06 23,12C21.22,7.5 16.86,4.5 12,4.5M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22Z\";\r\nexport var mdiEyeSettingsOutline = \"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C16.86,4.5 21.22,7.5 23,12C20.61,18.08 13.75,21.06 7.67,18.67C4.62,17.47 2.2,15.06 1,12C2.78,7.5 7.14,4.5 12,4.5M3.18,12C5.56,16.87 11.45,18.89 16.32,16.5C18.28,15.54 19.86,13.96 20.82,12C18.44,7.13 12.55,5.11 7.68,7.5C5.72,8.46 4.14,10.04 3.18,12M9,22H7V24H9V22M13,22H11V24H13V22M17,22H15V24H17V22Z\";\r\nexport var mdiEyedropper = \"M19.35,11.72L17.22,13.85L15.81,12.43L8.1,20.14L3.5,22L2,20.5L3.86,15.9L11.57,8.19L10.15,6.78L12.28,4.65L19.35,11.72M16.76,3C17.93,1.83 19.83,1.83 21,3C22.17,4.17 22.17,6.07 21,7.24L19.08,9.16L14.84,4.92L16.76,3M5.56,17.03L4.5,19.5L6.97,18.44L14.4,11L13,9.6L5.56,17.03Z\";\r\nexport var mdiEyedropperMinus = \"M19.35 11.72L17.22 13.85L15.81 12.43L8.1 20.14L3.5 22L2 20.5L3.86 15.9L11.57 8.19L10.15 6.78L12.28 4.65L19.35 11.72M16.76 3C17.93 1.83 19.83 1.83 21 3S22.17 6.07 21 7.24L19.08 9.16L14.84 4.92L16.76 3M5.56 17.03L4.5 19.5L6.97 18.44L14.4 11L13 9.6L5.56 17.03M9 4V6H1V4H9Z\";\r\nexport var mdiEyedropperOff = \"M21 7.24L19.08 9.16L14.84 4.92L16.76 3C17.93 1.83 19.83 1.83 21 3S22.17 6.07 21 7.24M10.94 8.82L12.36 10.24L13 9.6L14.4 11L13.76 11.64L15.18 13.06L15.81 12.43L17.22 13.85L19.35 11.72L12.28 4.65L10.15 6.78L11.57 8.19L10.94 8.82M19.86 20.29L18.58 21.57L12.63 15.61L8.1 20.14L3.5 22L2 20.5L3.86 15.9L8.39 11.37L1.86 4.85L3.14 3.57L19.86 20.29M11.21 14.2L9.81 12.79L5.56 17.03L4.5 19.5L6.97 18.44L11.21 14.2Z\";\r\nexport var mdiEyedropperPlus = \"M19.35 11.72L17.22 13.85L15.81 12.43L8.1 20.14L3.5 22L2 20.5L3.86 15.9L11.57 8.19L10.15 6.78L12.28 4.65L19.35 11.72M16.76 3C17.93 1.83 19.83 1.83 21 3S22.17 6.07 21 7.24L19.08 9.16L14.84 4.92L16.76 3M5.56 17.03L4.5 19.5L6.97 18.44L14.4 11L13 9.6L5.56 17.03M6 1V4H9V6H6V9H4V6H1V4H4V1H6Z\";\r\nexport var mdiEyedropperRemove = \"M19.35 11.72L17.22 13.85L15.81 12.43L8.1 20.14L3.5 22L2 20.5L3.86 15.9L11.57 8.19L10.15 6.78L12.28 4.65L19.35 11.72M16.76 3C17.93 1.83 19.83 1.83 21 3S22.17 6.07 21 7.24L19.08 9.16L14.84 4.92L16.76 3M5.56 17.03L4.5 19.5L6.97 18.44L14.4 11L13 9.6L5.56 17.03M8.54 2.88L6.41 5L8.54 7.12L7.12 8.54L5 6.41L2.88 8.54L1.46 7.12L3.59 5L1.46 2.88L2.88 1.47L5 3.59L7.12 1.47L8.54 2.88Z\";\r\nexport var mdiEyedropperVariant = \"M6.92,19L5,17.08L13.06,9L15,10.94M20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L13.84,6.41L11.91,4.5L10.5,5.91L11.92,7.33L3,16.25V21H7.75L16.67,12.08L18.09,13.5L19.5,12.09L17.58,10.17L20.7,7.05C21.1,6.65 21.1,6 20.71,5.63Z\";\r\nexport var mdiFaceAgent = \"M18.72,14.76C19.07,13.91 19.26,13 19.26,12C19.26,11.28 19.15,10.59 18.96,9.95C18.31,10.1 17.63,10.18 16.92,10.18C13.86,10.18 11.15,8.67 9.5,6.34C8.61,8.5 6.91,10.26 4.77,11.22C4.73,11.47 4.73,11.74 4.73,12A7.27,7.27 0 0,0 12,19.27C13.05,19.27 14.06,19.04 14.97,18.63C15.54,19.72 15.8,20.26 15.78,20.26C14.14,20.81 12.87,21.08 12,21.08C9.58,21.08 7.27,20.13 5.57,18.42C4.53,17.38 3.76,16.11 3.33,14.73H2V10.18H3.09C3.93,6.04 7.6,2.92 12,2.92C14.4,2.92 16.71,3.87 18.42,5.58C19.69,6.84 20.54,8.45 20.89,10.18H22V14.67H22V14.69L22,14.73H21.94L18.38,18L13.08,17.4V15.73H17.91L18.72,14.76M9.27,11.77C9.57,11.77 9.86,11.89 10.07,12.11C10.28,12.32 10.4,12.61 10.4,12.91C10.4,13.21 10.28,13.5 10.07,13.71C9.86,13.92 9.57,14.04 9.27,14.04C8.64,14.04 8.13,13.54 8.13,12.91C8.13,12.28 8.64,11.77 9.27,11.77M14.72,11.77C15.35,11.77 15.85,12.28 15.85,12.91C15.85,13.54 15.35,14.04 14.72,14.04C14.09,14.04 13.58,13.54 13.58,12.91A1.14,1.14 0 0,1 14.72,11.77Z\";\r\nexport var mdiFaceMan = \"M9,11.75A1.25,1.25 0 0,0 7.75,13A1.25,1.25 0 0,0 9,14.25A1.25,1.25 0 0,0 10.25,13A1.25,1.25 0 0,0 9,11.75M15,11.75A1.25,1.25 0 0,0 13.75,13A1.25,1.25 0 0,0 15,14.25A1.25,1.25 0 0,0 16.25,13A1.25,1.25 0 0,0 15,11.75M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20C7.59,20 4,16.41 4,12C4,11.71 4,11.42 4.05,11.14C6.41,10.09 8.28,8.16 9.26,5.77C11.07,8.33 14.05,10 17.42,10C18.2,10 18.95,9.91 19.67,9.74C19.88,10.45 20,11.21 20,12C20,16.41 16.41,20 12,20Z\";\r\nexport var mdiFaceManOutline = \"M10.25,13A1.25,1.25 0 0,1 9,14.25A1.25,1.25 0 0,1 7.75,13A1.25,1.25 0 0,1 9,11.75A1.25,1.25 0 0,1 10.25,13M15,11.75A1.25,1.25 0 0,0 13.75,13A1.25,1.25 0 0,0 15,14.25A1.25,1.25 0 0,0 16.25,13A1.25,1.25 0 0,0 15,11.75M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M10.66,4.12C12.06,6.44 14.6,8 17.5,8C17.96,8 18.41,7.95 18.84,7.88C17.44,5.56 14.9,4 12,4C11.54,4 11.09,4.05 10.66,4.12M4.42,9.47C6.13,8.5 7.45,6.92 8.08,5.03C6.37,6 5.05,7.58 4.42,9.47M20,12C20,11.22 19.88,10.47 19.67,9.76C18.97,9.91 18.25,10 17.5,10C14.37,10 11.58,8.56 9.74,6.31C8.69,8.87 6.6,10.88 4,11.86C4,11.9 4,11.95 4,12C4,16.41 7.59,20 12,20C16.41,20 20,16.41 20,12Z\";\r\nexport var mdiFaceManProfile = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,8.39C13.57,9.4 15.42,10 17.42,10C18.2,10 18.95,9.91 19.67,9.74C19.88,10.45 20,11.21 20,12C20,16.41 16.41,20 12,20C9,20 6.39,18.34 5,15.89L6.75,14V13A1.25,1.25 0 0,1 8,11.75A1.25,1.25 0 0,1 9.25,13V14H12M16,11.75A1.25,1.25 0 0,0 14.75,13A1.25,1.25 0 0,0 16,14.25A1.25,1.25 0 0,0 17.25,13A1.25,1.25 0 0,0 16,11.75Z\";\r\nexport var mdiFaceManShimmer = \"M18.41 3.41L16 4.5L18.41 5.59L19.5 8L20.6 5.59L23 4.5L20.6 3.41L19.5 1M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12C22 10.53 21.67 9.13 21.1 7.87L19.86 10.59C19.94 11.05 20 11.5 20 12C20 16.43 16.43 20 12 20C7.57 20 4 16.43 4 12C4 11.96 4 11.91 4 11.87A10 10 0 0 0 9.74 6.31A10 10 0 0 0 17.5 10A10 10 0 0 0 18.83 9.91L17.35 6.65L12.6 4.5L16.13 2.9C14.87 2.33 13.47 2 12 2M9 11.75A1.25 1.25 0 0 0 7.75 13A1.25 1.25 0 0 0 9 14.25A1.25 1.25 0 0 0 10.25 13A1.25 1.25 0 0 0 9 11.75M15 11.75A1.25 1.25 0 0 0 13.75 13A1.25 1.25 0 0 0 15 14.25A1.25 1.25 0 0 0 16.25 13A1.25 1.25 0 0 0 15 11.75Z\";\r\nexport var mdiFaceManShimmerOutline = \"M19.5 1L18.41 3.41L16 4.5L18.41 5.59L19.5 8L20.6 5.59L23 4.5L20.6 3.41L19.5 1M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12C22 10.53 21.67 9.13 21.1 7.87L19.86 10.57C19.95 11.04 20 11.5 20 12C20 16.43 16.43 20 12 20C7.57 20 4 16.43 4 12C4 11.95 4 11.91 4 11.86A10 10 0 0 0 9.74 6.31C11.61 8.61 14.44 10 17.5 10C17.94 10 18.39 9.97 18.83 9.91L17.96 8C17.81 8 17.65 8 17.5 8C14.68 8 12.1 6.5 10.66 4.12C11.1 4.05 11.54 4 12 4C12.5 4 12.96 4.05 13.42 4.13L16.13 2.91C14.87 2.33 13.47 2 12 2M8.09 5A8 8 0 0 1 4.41 9.5C5.04 7.57 6.37 6 8.09 5M9 11.75A1.25 1.25 0 0 0 7.75 13A1.25 1.25 0 0 0 9 14.25A1.25 1.25 0 0 0 10.25 13A1.25 1.25 0 0 0 9 11.75M15 11.75A1.25 1.25 0 0 0 13.75 13A1.25 1.25 0 0 0 15 14.25A1.25 1.25 0 0 0 16.25 13A1.25 1.25 0 0 0 15 11.75Z\";\r\nexport var mdiFaceMask = \"M20.25 6C18.79 6 17.61 7.14 17.5 8.58L12.55 7.16C12.19 7.05 11.81 7.05 11.45 7.16L6.5 8.58C6.39 7.14 5.21 6 3.75 6C2.23 6 1 7.23 1 8.75V12.25C1 13.77 2.23 15 3.75 15H5.68C6.81 17.36 9.21 19 12 19S17.19 17.36 18.32 15H20.25C21.77 15 23 13.77 23 12.25V8.75C23 7.23 21.77 6 20.25 6M5 13.5H3.75C3.06 13.5 2.5 12.94 2.5 12.25V8.75C2.5 8.06 3.06 7.5 3.75 7.5S5 8.06 5 8.75V13.5M15 12L12.4 11.3C12.1 11.2 11.8 11.2 11.6 11.3L9 12V11L11.3 10.3C11.7 10.2 12.2 10.2 12.7 10.3L15 11V12M21.5 12.25C21.5 12.94 20.94 13.5 20.25 13.5H19V8.75C19 8.06 19.56 7.5 20.25 7.5S21.5 8.06 21.5 8.75V12.25Z\";\r\nexport var mdiFaceMaskOutline = \"M15 12L12.4 11.3C12.1 11.2 11.8 11.2 11.6 11.3L9 12V11L11.3 10.3C11.7 10.2 12.2 10.2 12.7 10.3L15 11V12M20.25 6C18.79 6 17.61 7.14 17.5 8.58L12.55 7.16C12.37 7.11 12.19 7.08 12 7.08C11.82 7.08 11.63 7.11 11.45 7.16L6.5 8.58C6.39 7.14 5.21 6 3.75 6C2.23 6 1 7.23 1 8.75V12.25C1 13.77 2.23 15 3.75 15H5.68C6.81 17.36 9.21 19 12 19S17.19 17.36 18.32 15H20.25C21.77 15 23 13.77 23 12.25V8.75C23 7.23 21.77 6 20.25 6M5 13.5H3.75C3.06 13.5 2.5 12.94 2.5 12.25V8.75C2.5 8.06 3.06 7.5 3.75 7.5S5 8.06 5 8.75V13.5M17 12C17 14.76 14.76 17 12 17S7 14.76 7 12L7 10.5L12 9.08H12L17 10.5V12M21.5 12.25C21.5 12.94 20.94 13.5 20.25 13.5H19V8.75C19 8.06 19.56 7.5 20.25 7.5S21.5 8.06 21.5 8.75V12.25Z\";\r\nexport var mdiFaceRecognition = \"M9,11.75A1.25,1.25 0 0,0 7.75,13A1.25,1.25 0 0,0 9,14.25A1.25,1.25 0 0,0 10.25,13A1.25,1.25 0 0,0 9,11.75M15,11.75A1.25,1.25 0 0,0 13.75,13A1.25,1.25 0 0,0 15,14.25A1.25,1.25 0 0,0 16.25,13A1.25,1.25 0 0,0 15,11.75M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12C3.97,11.71 3.97,11.43 4,11.14C6.38,10.1 8.27,8.17 9.26,5.77C11.13,8.42 14.17,10 17.42,10C18.18,10 18.93,9.91 19.67,9.74C20.92,14 18.5,18.43 14.26,19.67C13.5,19.89 12.76,20 12,20M0,2A2,2 0 0,1 2,0H6V2H2V6H0V2M24,22A2,2 0 0,1 22,24H18V22H22V18H24V22M2,24A2,2 0 0,1 0,22V18H2V22H6V24H2M22,0A2,2 0 0,1 24,2V6H22V2H18V0H22Z\";\r\nexport var mdiFaceWoman = \"M13.75 13C13.75 12.31 14.31 11.75 15 11.75S16.25 12.31 16.25 13 15.69 14.25 15 14.25 13.75 13.69 13.75 13M22 12V22H2V12C2 6.5 6.5 2 12 2S22 6.5 22 12M4 12C4 16.41 7.59 20 12 20S20 16.41 20 12C20 11.21 19.88 10.45 19.67 9.74C18.95 9.91 18.2 10 17.42 10C14.05 10 11.07 8.33 9.26 5.77C8.28 8.16 6.41 10.09 4.05 11.14C4 11.42 4 11.71 4 12M9 14.25C9.69 14.25 10.25 13.69 10.25 13S9.69 11.75 9 11.75 7.75 12.31 7.75 13 8.31 14.25 9 14.25Z\";\r\nexport var mdiFaceWomanOutline = \"M12 2C6.5 2 2 6.5 2 12V22H22V12C22 6.5 17.5 2 12 2M12 4C14.9 4 17.44 5.56 18.84 7.88C18.41 7.95 17.96 8 17.5 8C14.6 8 12.06 6.44 10.66 4.12C11.09 4.05 11.54 4 12 4M8.08 5.03C7.45 6.92 6.13 8.5 4.42 9.47C5.05 7.58 6.37 6 8.08 5.03M4 11.86C6.6 10.88 8.69 8.87 9.74 6.31C11.58 8.56 14.37 10 17.5 10C18.25 10 18.97 9.91 19.67 9.76C19.88 10.47 20 11.22 20 12C20 16.41 16.41 20 12 20S4 16.41 4 12V11.86M4 20V18C4.57 18.75 5.25 19.43 6 20H4M20 20H18C18.75 19.43 19.43 18.75 20 18V20M13.75 13C13.75 12.31 14.31 11.75 15 11.75S16.25 12.31 16.25 13 15.69 14.25 15 14.25 13.75 13.69 13.75 13M7.75 13C7.75 12.31 8.31 11.75 9 11.75S10.25 12.31 10.25 13 9.69 14.25 9 14.25 7.75 13.69 7.75 13Z\";\r\nexport var mdiFaceWomanProfile = \"M17.25 13C17.25 13.69 16.69 14.25 16 14.25S14.75 13.69 14.75 13 15.31 11.75 16 11.75 17.25 12.31 17.25 13M22 12C22 17.5 17.5 22 12 22H2V12C2 6.5 6.5 2 12 2S22 6.5 22 12M7 18C8.41 19.23 10 20 12 20C16.41 20 20 16.41 20 12C20 11.21 19.88 10.45 19.67 9.74C18.95 9.91 18.2 10 17.42 10C15.42 10 13.57 9.4 12 8.39C12 8.39 10.54 13.76 8.03 13C7.37 12.8 7 13.31 7 14\";\r\nexport var mdiFaceWomanShimmer = \"M19.5 1L18.41 3.41L16 4.5L18.41 5.59L19.5 8L20.6 5.59L23 4.5L20.6 3.41L19.5 1M12 2C6.5 2 2 6.5 2 12V22H22V12C22 10.53 21.67 9.13 21.1 7.87L19.86 10.59C19.94 11.05 20 11.5 20 12C20 16.43 16.43 20 12 20C7.57 20 4 16.43 4 12C4 11.96 4 11.91 4 11.87A10 10 0 0 0 9.74 6.31A10 10 0 0 0 17.5 10A10 10 0 0 0 18.83 9.91L17.35 6.65L12.6 4.5L16.13 2.9C14.87 2.33 13.47 2 12 2M9 11.75A1.25 1.25 0 0 0 7.75 13A1.25 1.25 0 0 0 9 14.25A1.25 1.25 0 0 0 10.25 13A1.25 1.25 0 0 0 9 11.75M15 11.75A1.25 1.25 0 0 0 13.75 13A1.25 1.25 0 0 0 15 14.25A1.25 1.25 0 0 0 16.25 13A1.25 1.25 0 0 0 15 11.75Z\";\r\nexport var mdiFaceWomanShimmerOutline = \"M19.5 1L18.41 3.41L16 4.5L18.41 5.59L19.5 8L20.6 5.59L23 4.5L20.6 3.41M12 2C6.5 2 2 6.5 2 12V22H22V12C22 10.53 21.67 9.13 21.1 7.87L19.86 10.57C19.95 11.04 20 11.5 20 12C20 16.43 16.43 20 12 20C7.57 20 4 16.43 4 12C4 11.95 4 11.91 4 11.86C6.61 10.89 8.69 8.88 9.74 6.31C11.61 8.61 14.44 10 17.5 10C17.94 10 18.39 9.97 18.83 9.91L17.96 8C17.81 8 17.65 8 17.5 8C14.68 8 12.1 6.5 10.66 4.12C11.1 4.05 11.54 4 12 4C12.5 4 12.96 4.05 13.42 4.13L16.13 2.91C14.87 2.33 13.47 2 12 2M8.09 5C7.46 6.91 6.15 8.5 4.41 9.5C5.04 7.57 6.37 6 8.09 5M9 11.75C8.31 11.75 7.75 12.31 7.75 13C7.75 13.69 8.31 14.25 9 14.25C9.69 14.25 10.25 13.69 10.25 13C10.25 12.31 9.69 11.75 9 11.75M15 11.75C14.31 11.75 13.75 12.31 13.75 13C13.75 13.69 14.31 14.25 15 14.25C15.69 14.25 16.25 13.69 16.25 13C16.25 12.31 15.69 11.75 15 11.75M4 17.97C4.58 18.74 5.26 19.42 6.03 20H4M20 17.97V20H17.97C18.74 19.42 19.42 18.74 20 17.97Z\";\r\nexport var mdiFacebook = \"M12 2.04C6.5 2.04 2 6.53 2 12.06C2 17.06 5.66 21.21 10.44 21.96V14.96H7.9V12.06H10.44V9.85C10.44 7.34 11.93 5.96 14.22 5.96C15.31 5.96 16.45 6.15 16.45 6.15V8.62H15.19C13.95 8.62 13.56 9.39 13.56 10.18V12.06H16.34L15.89 14.96H13.56V21.96A10 10 0 0 0 22 12.06C22 6.53 17.5 2.04 12 2.04Z\";\r\nexport var mdiFacebookGaming = \"M9.5 14.5V9.5H21V21H15.5V14.5H9.5M3 3H21L21 8.5H8.5V15.5H14.5V21H3V3Z\";\r\nexport var mdiFacebookMessenger = \"M12,2C6.36,2 2,6.13 2,11.7C2,14.61 3.19,17.14 5.14,18.87C5.3,19 5.4,19.22 5.41,19.44L5.46,21.22C5.5,21.79 6.07,22.16 6.59,21.93L8.57,21.06C8.74,21 8.93,20.97 9.1,21C10,21.27 11,21.4 12,21.4C17.64,21.4 22,17.27 22,11.7C22,6.13 17.64,2 12,2M18,9.46L15.07,14.13C14.6,14.86 13.6,15.05 12.9,14.5L10.56,12.77C10.35,12.61 10.05,12.61 9.84,12.77L6.68,15.17C6.26,15.5 5.71,15 6,14.54L8.93,9.87C9.4,9.14 10.4,8.95 11.1,9.47L13.44,11.23C13.66,11.39 13.95,11.39 14.16,11.23L17.32,8.83C17.74,8.5 18.29,9 18,9.46Z\";\r\nexport var mdiFacebookWorkplace = \"M19.69,16.12C19.42,16.43 18.95,16.92 18.19,16.92C17.13,16.92 16.78,16.15 16.46,15.34L14.86,11.41L13.26,15.34C13,16 12.7,16.92 11.53,16.92C10.36,16.92 10.07,16 9.79,15.34L7.11,8.72H9.37L11.53,14.17L13.14,10.2C13.39,9.57 13.69,8.62 14.86,8.62C16,8.62 16.32,9.57 16.58,10.2L18.33,14.5C19.22,13.14 19.6,11.5 19.38,9.89C19.16,8.28 18.37,6.8 17.14,5.73C15.92,4.66 14.34,4.06 12.72,4.06C11.03,4.05 9.39,4.58 8,5.56C6.66,6.55 5.64,7.94 5.12,9.54C4.6,11.14 4.6,12.87 5.12,14.47C5.64,16.07 6.66,17.46 8.03,18.44C9.4,19.43 11.04,19.95 12.72,19.94C13.45,19.94 14.17,19.84 14.87,19.64V21.75C14.16,21.91 13.44,22 12.72,22C10.61,22 8.54,21.34 6.82,20.1C5.1,18.86 3.82,17.11 3.17,15.1C2.5,13.09 2.5,10.92 3.16,8.9C3.82,6.89 5.1,5.14 6.82,3.9C8.53,2.66 10.6,2 12.72,2C17.56,2 21.5,5.94 21.5,10.79C21.5,12.71 20.86,14.59 19.69,16.12V16.12Z\";\r\nexport var mdiFactory = \"M4,18V20H8V18H4M4,14V16H14V14H4M10,18V20H14V18H10M16,14V16H20V14H16M16,18V20H20V18H16M2,22V8L7,12V8L12,12V8L17,12L18,2H21L22,12V22H2Z\";\r\nexport var mdiFamilyTree = \"M12 1A2.5 2.5 0 0 0 9.5 3.5A2.5 2.5 0 0 0 11 5.79V7H7A2 2 0 0 0 5 9V9.71A2.5 2.5 0 0 0 3.5 12A2.5 2.5 0 0 0 5 14.29V15H4A2 2 0 0 0 2 17V18.21A2.5 2.5 0 0 0 .5 20.5A2.5 2.5 0 0 0 3 23A2.5 2.5 0 0 0 5.5 20.5A2.5 2.5 0 0 0 4 18.21V17H8V18.21A2.5 2.5 0 0 0 6.5 20.5A2.5 2.5 0 0 0 9 23A2.5 2.5 0 0 0 11.5 20.5A2.5 2.5 0 0 0 10 18.21V17A2 2 0 0 0 8 15H7V14.29A2.5 2.5 0 0 0 8.5 12A2.5 2.5 0 0 0 7 9.71V9H17V9.71A2.5 2.5 0 0 0 15.5 12A2.5 2.5 0 0 0 17 14.29V15H16A2 2 0 0 0 14 17V18.21A2.5 2.5 0 0 0 12.5 20.5A2.5 2.5 0 0 0 15 23A2.5 2.5 0 0 0 17.5 20.5A2.5 2.5 0 0 0 16 18.21V17H20V18.21A2.5 2.5 0 0 0 18.5 20.5A2.5 2.5 0 0 0 21 23A2.5 2.5 0 0 0 23.5 20.5A2.5 2.5 0 0 0 22 18.21V17A2 2 0 0 0 20 15H19V14.29A2.5 2.5 0 0 0 20.5 12A2.5 2.5 0 0 0 19 9.71V9A2 2 0 0 0 17 7H13V5.79A2.5 2.5 0 0 0 14.5 3.5A2.5 2.5 0 0 0 12 1M12 2.5A1 1 0 0 1 13 3.5A1 1 0 0 1 12 4.5A1 1 0 0 1 11 3.5A1 1 0 0 1 12 2.5M6 11A1 1 0 0 1 7 12A1 1 0 0 1 6 13A1 1 0 0 1 5 12A1 1 0 0 1 6 11M18 11A1 1 0 0 1 19 12A1 1 0 0 1 18 13A1 1 0 0 1 17 12A1 1 0 0 1 18 11M3 19.5A1 1 0 0 1 4 20.5A1 1 0 0 1 3 21.5A1 1 0 0 1 2 20.5A1 1 0 0 1 3 19.5M9 19.5A1 1 0 0 1 10 20.5A1 1 0 0 1 9 21.5A1 1 0 0 1 8 20.5A1 1 0 0 1 9 19.5M15 19.5A1 1 0 0 1 16 20.5A1 1 0 0 1 15 21.5A1 1 0 0 1 14 20.5A1 1 0 0 1 15 19.5M21 19.5A1 1 0 0 1 22 20.5A1 1 0 0 1 21 21.5A1 1 0 0 1 20 20.5A1 1 0 0 1 21 19.5Z\";\r\nexport var mdiFan = \"M12,11A1,1 0 0,0 11,12A1,1 0 0,0 12,13A1,1 0 0,0 13,12A1,1 0 0,0 12,11M12.5,2C17,2 17.11,5.57 14.75,6.75C13.76,7.24 13.32,8.29 13.13,9.22C13.61,9.42 14.03,9.73 14.35,10.13C18.05,8.13 22.03,8.92 22.03,12.5C22.03,17 18.46,17.1 17.28,14.73C16.78,13.74 15.72,13.3 14.79,13.11C14.59,13.59 14.28,14 13.88,14.34C15.87,18.03 15.08,22 11.5,22C7,22 6.91,18.42 9.27,17.24C10.25,16.75 10.69,15.71 10.89,14.79C10.4,14.59 9.97,14.27 9.65,13.87C5.96,15.85 2,15.07 2,11.5C2,7 5.56,6.89 6.74,9.26C7.24,10.25 8.29,10.68 9.22,10.87C9.41,10.39 9.73,9.97 10.14,9.65C8.15,5.96 8.94,2 12.5,2Z\";\r\nexport var mdiFanAlert = \"M10 11C9.43 11 9 11.45 9 12S9.43 13 10 13C10.54 13 11 12.55 11 12S10.54 11 10 11M10.5 2C15 2 15.09 5.57 12.73 6.75C11.74 7.24 11.3 8.29 11.11 9.22C11.59 9.42 12 9.73 12.33 10.13C16.03 8.13 20 8.92 20 12.5C20 17 16.43 17.1 15.26 14.73C14.76 13.74 13.7 13.3 12.77 13.11C12.57 13.59 12.26 14 11.86 14.34C13.85 18.03 13.06 22 9.5 22C5 22 4.9 18.42 7.26 17.24C8.24 16.75 8.68 15.71 8.88 14.79C8.39 14.59 7.96 14.27 7.64 13.87C3.95 15.85 0 15.07 0 11.5C0 7 3.56 6.89 4.73 9.26C5.23 10.25 6.28 10.68 7.21 10.87C7.4 10.39 7.72 9.97 8.13 9.65C6.14 5.96 6.93 2 10.5 2M22 13V7H24V13H22M22 17V15H24V17H22Z\";\r\nexport var mdiFanAuto = \"M12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2M12 11C12.54 11 13 11.45 13 12C13 12.55 12.54 13 12 13C11.43 13 11 12.55 11 12C11 11.45 11.43 11 12 11M18 15C16.89 15 16 15.9 16 17V23H18V21H20V23H22V17C22 15.9 21.1 15 20 15M18 17H20V19H18Z\";\r\nexport var mdiFanChevronDown = \"M13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19M12 13C11.43 13 11 12.55 11 12S11.43 11 12 11C12.54 11 13 11.45 13 12S12.54 13 12 13M19 19.17L22.17 16L23.59 17.41L19 22L14.41 17.41L15.83 16L19 19.17\";\r\nexport var mdiFanChevronUp = \"M13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19M12 13C11.43 13 11 12.55 11 12S11.43 11 12 11C12.54 11 13 11.45 13 12S12.54 13 12 13M19 17.83L15.83 21L14.41 19.59L19 15L23.59 19.59L22.17 21L19 17.83\";\r\nexport var mdiFanMinus = \"M13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19M12 13C11.43 13 11 12.55 11 12S11.43 11 12 11C12.54 11 13 11.45 13 12S12.54 13 12 13M23 18V20H15V18H23Z\";\r\nexport var mdiFanOff = \"M12.5,2C9.64,2 8.57,4.55 9.29,7.47L15,13.16C15.87,13.37 16.81,13.81 17.28,14.73C18.46,17.1 22.03,17 22.03,12.5C22.03,8.92 18.05,8.13 14.35,10.13C14.03,9.73 13.61,9.42 13.13,9.22C13.32,8.29 13.76,7.24 14.75,6.75C17.11,5.57 17,2 12.5,2M3.28,4L2,5.27L4.47,7.73C3.22,7.74 2,8.87 2,11.5C2,15.07 5.96,15.85 9.65,13.87C9.97,14.27 10.4,14.59 10.89,14.79C10.69,15.71 10.25,16.75 9.27,17.24C6.91,18.42 7,22 11.5,22C13.8,22 14.94,20.36 14.94,18.21L18.73,22L20,20.72L3.28,4Z\";\r\nexport var mdiFanPlus = \"M13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19M12 13C11.43 13 11 12.55 11 12S11.43 11 12 11C12.54 11 13 11.45 13 12S12.54 13 12 13M20 15V18H23V20H20V23H18V20H15V18H18V15H20Z\";\r\nexport var mdiFanRemove = \"M13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19M12 13C11.43 13 11 12.55 11 12S11.43 11 12 11C12.54 11 13 11.45 13 12S12.54 13 12 13M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88Z\";\r\nexport var mdiFanSpeed1 = \"M13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19M12 13C11.43 13 11 12.55 11 12S11.43 11 12 11C12.54 11 13 11.45 13 12S12.54 13 12 13M17 15V17H18V23H20V15H17Z\";\r\nexport var mdiFanSpeed2 = \"M13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19M12 13C11.43 13 11 12.55 11 12S11.43 11 12 11C12.54 11 13 11.45 13 12S12.54 13 12 13M16 15V17H19V18H18C16.9 18 16 18.9 16 20V23H21V21H18V20H19C20.11 20 21 19.11 21 18V17C21 15.9 20.11 15 19 15H16Z\";\r\nexport var mdiFanSpeed3 = \"M13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19M12 13C11.43 13 11 12.55 11 12S11.43 11 12 11C12.54 11 13 11.45 13 12S12.54 13 12 13M21 21V20.5C21 19.67 20.33 19 19.5 19C20.33 19 21 18.33 21 17.5V17C21 15.89 20.1 15 19 15H16V17H19V18H17V20H19V21H16V23H19C20.11 23 21 22.11 21 21\";\r\nexport var mdiFastForward = \"M13,6V18L21.5,12M4,18L12.5,12L4,6V18Z\";\r\nexport var mdiFastForward10 = \"M10,12V22H8V14H6V12H10M18,14V20C18,21.11 17.11,22 16,22H14A2,2 0 0,1 12,20V14A2,2 0 0,1 14,12H16C17.11,12 18,12.9 18,14M14,14V20H16V14H14M11.5,3C14.15,3 16.55,4 18.4,5.6L21,3V10H14L16.62,7.38C15.23,6.22 13.46,5.5 11.5,5.5C7.96,5.5 4.95,7.81 3.9,11L1.53,10.22C2.92,6.03 6.85,3 11.5,3Z\";\r\nexport var mdiFastForward30 = \"M11.5,3C6.85,3 2.92,6.03 1.53,10.22L3.9,11C4.95,7.81 7.96,5.5 11.5,5.5C13.46,5.5 15.23,6.22 16.62,7.38L14,10H21V3L18.4,5.6C16.55,4 14.15,3 11.5,3M19,14V20C19,21.11 18.11,22 17,22H15A2,2 0 0,1 13,20V14A2,2 0 0,1 15,12H17C18.11,12 19,12.9 19,14M15,14V20H17V14H15M11,20C11,21.11 10.1,22 9,22H5V20H9V18H7V16H9V14H5V12H9A2,2 0 0,1 11,14V15.5A1.5,1.5 0 0,1 9.5,17A1.5,1.5 0 0,1 11,18.5V20Z\";\r\nexport var mdiFastForward5 = \"M11.5 3C14.15 3 16.55 4 18.4 5.6L21 3V10H14L16.62 7.38C15.23 6.22 13.46 5.5 11.5 5.5C7.96 5.5 4.95 7.81 3.9 11L1.53 10.22C2.92 6.03 6.85 3 11.5 3M9 12H15V14H11V16H13C14.11 16 15 16.9 15 18V20C15 21.11 14.11 22 13 22H9V20H13V18H9V12Z\";\r\nexport var mdiFastForward60 = \"M11.5 3C6.8 3 2.9 6 1.5 10.2L3.9 11C4.9 7.8 8 5.5 11.5 5.5C13.5 5.5 15.2 6.2 16.6 7.4L14 10H21V3L18.4 5.6C16.5 4 14.1 3 11.5 3M19 14V20C19 21.1 18.1 22 17 22H15C13.9 22 13 21.1 13 20V14C13 12.9 13.9 12 15 12H17C18.1 12 19 12.9 19 14M15 14V20H17V14H15M7 12C5.9 12 5 12.9 5 14V20C5 21.1 5.9 22 7 22H9C10.1 22 11 21.1 11 20V18C11 16.9 10.1 16 9 16H7V14H11V12H7M7 18H9V20H7V18Z\";\r\nexport var mdiFastForwardOutline = \"M15,9.9L18,12L15,14.1V9.9M6,9.9L9,12L6,14.1V9.9M13,6V18L21.5,12L13,6M4,6V18L12.5,12L4,6Z\";\r\nexport var mdiFax = \"M11,6H16V8H11V6M8,9V3H19V9A3,3 0 0,1 22,12V18H19V21H8V18H7V9H8M10,5V9H17V5H10M10,15V19H17V15H10M19,11A1,1 0 0,0 18,12A1,1 0 0,0 19,13A1,1 0 0,0 20,12A1,1 0 0,0 19,11M4,9H5A1,1 0 0,1 6,10V17A1,1 0 0,1 5,18H4A2,2 0 0,1 2,16V11A2,2 0 0,1 4,9Z\";\r\nexport var mdiFeather = \"M22,2C22,2 14.36,1.63 8.34,9.88C3.72,16.21 2,22 2,22L3.94,21C5.38,18.5 6.13,17.47 7.54,16C10.07,16.74 12.71,16.65 15,14C13,13.44 11.4,13.57 9.04,13.81C11.69,12 13.5,11.6 16,12L17,10C15.2,9.66 14,9.63 12.22,10.04C14.19,8.65 15.56,7.87 18,8L19.21,6.07C17.65,5.96 16.71,6.13 14.92,6.57C16.53,5.11 18,4.45 20.14,4.32C20.14,4.32 21.19,2.43 22,2Z\";\r\nexport var mdiFeatureSearch = \"M20,20A2,2 0 0,1 18,22H4A2,2 0 0,1 2,20V6A2,2 0 0,1 4,4H9.5C9.2,4.8 9,5.6 9,6.5C9,10.1 11.9,13 15.5,13C16.3,13 17,12.9 17.6,12.6L20,15V20M19.3,8.9C19.7,8.2 20,7.4 20,6.5C20,4 18,2 15.5,2C13,2 11,4 11,6.5C11,9 13,11 15.5,11C16.4,11 17.2,10.7 17.9,10.3L21,13.4L22.4,12L19.3,8.9M15.5,9C14.1,9 13,7.9 13,6.5C13,5.1 14.1,4 15.5,4C16.9,4 18,5.1 18,6.5C18,7.9 16.9,9 15.5,9Z\";\r\nexport var mdiFeatureSearchOutline = \"M15.5,2C13,2 11,4 11,6.5C11,9 13,11 15.5,11C16.4,11 17.2,10.7 17.9,10.3L21,13.4L22.4,12L19.3,8.9C19.7,8.2 20,7.4 20,6.5C20,4 18,2 15.5,2M4,4A2,2 0 0,0 2,6V20A2,2 0 0,0 4,22H18A2,2 0 0,0 20,20V15L18,13V20H4V6H9.03C9.09,5.3 9.26,4.65 9.5,4H4M15.5,4C16.9,4 18,5.1 18,6.5C18,7.9 16.9,9 15.5,9C14.1,9 13,7.9 13,6.5C13,5.1 14.1,4 15.5,4Z\";\r\nexport var mdiFedora = \"M4.4,22C3.07,22 2,20.93 2,19.6V12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22H4.4M14.9,4.4C12.3,4.4 10.2,6.5 10.2,9.1V11.6H8.3C7.69,11.6 7.2,12.09 7.2,12.7C7.2,13.31 7.69,13.8 8.3,13.8H9.8C10,13.8 10.2,14 10.2,14.2V16.3C10.2,17.68 9.08,18.8 7.7,18.8C7.55,18.8 7.41,18.79 7.27,18.76C7.19,18.74 7.1,18.73 7,18.73C6.41,18.73 5.91,19.23 5.91,19.83C5.91,20.37 6.3,20.81 6.8,20.91V20.91C7.09,20.97 7.39,21 7.7,21C10.3,21 12.4,18.9 12.4,16.3V13.8H14.3C14.91,13.8 15.4,13.31 15.4,12.7A1.1,1.1 0 0,0 14.3,11.6H12.8A0.4,0.4 0 0,1 12.4,11.2V9.1A2.5,2.5 0 0,1 14.9,6.6C15.05,6.6 15.2,6.61 15.34,6.64C15.42,6.66 15.5,6.67 15.59,6.67C16.19,6.67 16.69,6.17 16.69,5.57C16.69,5.03 16.3,4.58 15.8,4.5V4.5C15.5,4.43 15.21,4.4 14.9,4.4M6.8,12.7C6.8,12.58 6.81,12.46 6.84,12.34L6.31,11.81C6.1,11.87 5.89,11.95 5.7,12.05L6.91,13.26C6.84,13.08 6.8,12.9 6.8,12.7M6.54,18.5H6.47L6.5,18.5H6.54M5.61,19.83C5.61,19.6 5.67,19.38 5.77,19.19L3,16.42C3,16.76 3.05,17.08 3.13,17.4L5.61,19.88V19.83M5.86,20.63C5.77,20.5 5.71,20.37 5.67,20.22L3.24,17.79C3.67,19.07 4.63,20.1 5.86,20.63M15.8,12.7C15.8,12.82 15.79,12.94 15.76,13.06L16.29,13.59C16.5,13.53 16.71,13.45 16.9,13.35L15.69,12.14C15.76,12.32 15.8,12.5 15.8,12.7M16.06,6.88L16.13,6.92L16.08,6.88H16.06M17,5.57C17,5.8 16.93,6 16.83,6.21L19.6,9C19.59,8.64 19.55,8.32 19.47,8L17,5.5V5.57M16.74,4.77C16.83,4.9 16.89,5.03 16.93,5.18L19.36,7.61C18.93,6.33 17.97,5.3 16.74,4.77M16.07,13.65L15.69,13.27C15.61,13.46 15.5,13.63 15.35,13.78V13.78C15.6,13.76 15.84,13.71 16.07,13.65M18.23,12.42L16.67,10.86C16.53,11 16.37,11.13 16.2,11.24L17.78,12.82C17.94,12.69 18.09,12.56 18.23,12.42M17.62,12.94L16,11.34C15.82,11.44 15.61,11.5 15.39,11.55L17.09,13.26C17.27,13.16 17.45,13.05 17.62,12.94M18.75,11.8L17.15,10.2C17.05,10.39 16.94,10.56 16.81,10.71L18.37,12.27C18.5,12.12 18.63,11.97 18.75,11.8M19.16,11.09L17.39,9.32C17.37,9.56 17.32,9.79 17.23,10L18.86,11.63C18.97,11.46 19.07,11.28 19.16,11.09M19.6,9.26L16.72,6.38C16.6,6.55 16.45,6.69 16.28,6.79L19.5,10C19.56,9.77 19.59,9.5 19.6,9.26M19.46,10.25L17.08,7.87C17.27,8.22 17.39,8.62 17.4,9.04L19.25,10.89C19.33,10.68 19.4,10.47 19.46,10.25M4.82,12.58C4.66,12.71 4.5,12.84 4.37,13L5.93,14.54C6.07,14.4 6.23,14.27 6.4,14.16L4.82,12.58M5.5,12.14C5.33,12.24 5.15,12.35 5,12.46L6.58,14.06C6.78,13.96 7,13.89 7.21,13.85L5.5,12.14M7.25,11.62C7,11.64 6.76,11.69 6.53,11.75L6.91,12.13C7,11.94 7.11,11.77 7.25,11.62V11.62M3.09,15.38C3.04,15.63 3,15.88 3,16.14L5.88,19C6,18.85 6.15,18.71 6.32,18.61L3.09,15.38M3.74,13.77C3.63,13.94 3.53,14.12 3.44,14.31L5.21,16.08C5.23,15.84 5.28,15.61 5.37,15.4L3.74,13.77M3.35,14.5C3.27,14.72 3.2,14.93 3.14,15.15L5.5,17.53C5.33,17.18 5.21,16.78 5.2,16.36L3.35,14.5M4.23,13.13C4.1,13.28 3.97,13.43 3.85,13.6L5.45,15.2C5.55,15 5.66,14.84 5.79,14.69L4.23,13.13Z\";\r\nexport var mdiFence = \"M9 9V11H7V9H5V11H3V9H1V21H3V19H5V21H7V19H9V21H11V19H13V21H15V19H17V21H19V19H21V21H23V9H21V11H19V9H17V11H15V9H13V11H11V9H9M3 13H5V17H3V13M7 13H9V17H7V13M11 13H13V17H11V13M15 13H17V17H15V13M19 13H21V17H19V13Z\";\r\nexport var mdiFenceElectric = \"M9 9V11H7V9H5V11H3V9H1V21H3V19H5V21H7V19H9V21H11V19H13V21H15V19H17V21H19V19H21V21H23V9H21V11H19V9H17V11H15V9H13V11H11V9H9M3 13H5V17H3V13M7 13H9V17H7V13M11 13H13V17H11V13M15 13H17V17H15V13M19 13H21V17H19V13M7 4H11V2L17 5H13V7L7 4Z\";\r\nexport var mdiFencing = \"M4.5 17.42L5.58 18.5L3.28 20.78C3 21.07 2.5 21.07 2.22 20.78S1.93 20 2.22 19.72L4.5 17.42M18.29 5.42L18.29 4L12 10.29L5.71 4L5.71 5.42L11.29 11L7.5 14.81C6.32 13.97 4.68 14.07 3.63 15.12L7.88 19.37C8.93 18.32 9.03 16.68 8.2 15.5L18.29 5.42M21.78 19.72L19.5 17.42L18.42 18.5L20.72 20.78C21 21.07 21.5 21.07 21.78 20.78S22.07 20 21.78 19.72M16.5 14.81L13.42 11.71L12.71 12.42L15.81 15.5C14.97 16.68 15.07 18.32 16.12 19.37L20.37 15.12C19.32 14.07 17.68 13.97 16.5 14.81Z\";\r\nexport var mdiFerrisWheel = \"M12,19C12.86,19 13.59,19.54 13.87,20.29C14.42,20.17 14.95,20 15.46,19.77L13.7,15.62C13.18,15.87 12.61,16 12,16C11.39,16 10.82,15.87 10.3,15.62L8.54,19.77C9.05,20 9.58,20.17 10.13,20.29C10.41,19.54 11.14,19 12,19M18.25,17.76C18,17.42 17.81,17 17.81,16.5C17.81,15.41 18.71,14.5 19.81,14.5L20.12,14.53C20.37,13.73 20.5,12.88 20.5,12C20.5,11.12 20.37,10.27 20.12,9.5H19.81C18.7,9.5 17.81,8.61 17.81,7.5C17.81,7 17.97,6.59 18.25,6.24C17.1,5 15.59,4.09 13.87,3.71C13.59,4.46 12.86,5 12,5C11.14,5 10.41,4.46 10.13,3.71C8.41,4.09 6.9,5 5.75,6.24C6.03,6.59 6.2,7.03 6.2,7.5C6.2,8.61 5.3,9.5 4.2,9.5H3.88C3.63,10.28 3.5,11.12 3.5,12C3.5,12.89 3.64,13.74 3.89,14.55L4.2,14.5C5.31,14.5 6.2,15.42 6.2,16.5C6.2,17 6.04,17.43 5.76,17.77C6.08,18.12 6.44,18.44 6.81,18.73L8.71,14.27C8.26,13.62 8,12.84 8,12A4,4 0 0,1 12,8A4,4 0 0,1 16,12C16,12.84 15.74,13.62 15.29,14.27L17.19,18.73C17.57,18.44 17.92,18.11 18.25,17.76M12,23C11,23 10.16,22.26 10,21.29C9.37,21.16 8.75,20.95 8.15,20.69L7.17,23H5L6.41,19.68C5.88,19.3 5.39,18.86 4.96,18.37C4.72,18.47 4.47,18.5 4.2,18.5A2,2 0 0,1 2.2,16.5C2.2,15.88 2.5,15.32 2.97,14.95C2.66,14 2.5,13.03 2.5,12C2.5,11 2.66,10 2.96,9.08C2.5,8.71 2.2,8.15 2.2,7.5C2.2,6.41 3.09,5.5 4.2,5.5C4.46,5.5 4.71,5.56 4.93,5.65C6.25,4.18 8,3.13 10,2.71C10.16,1.74 11,1 12,1C13,1 13.84,1.74 14,2.71C16,3.13 17.74,4.18 19.06,5.64C19.29,5.55 19.54,5.5 19.81,5.5A2,2 0 0,1 21.81,7.5C21.81,8.14 21.5,8.71 21.04,9.07C21.34,10 21.5,11 21.5,12C21.5,13 21.34,14 21.04,14.93C21.5,15.3 21.81,15.87 21.81,16.5C21.81,17.62 20.92,18.5 19.81,18.5C19.54,18.5 19.29,18.46 19.05,18.36C18.61,18.85 18.12,19.29 17.59,19.68L19,23H16.83L15.85,20.69C15.25,20.95 14.63,21.16 14,21.29C13.84,22.26 13,23 12,23Z\";\r\nexport var mdiFerry = \"M6,6H18V9.96L12,8L6,9.96M3.94,19H4C5.6,19 7,18.12 8,17C9,18.12 10.4,19 12,19C13.6,19 15,18.12 16,17C17,18.12 18.4,19 20,19H20.05L21.95,12.31C22.03,12.06 22,11.78 21.89,11.54C21.76,11.3 21.55,11.12 21.29,11.04L20,10.62V6C20,4.89 19.1,4 18,4H15V1H9V4H6A2,2 0 0,0 4,6V10.62L2.71,11.04C2.45,11.12 2.24,11.3 2.11,11.54C2,11.78 1.97,12.06 2.05,12.31M20,21C18.61,21 17.22,20.53 16,19.67C13.56,21.38 10.44,21.38 8,19.67C6.78,20.53 5.39,21 4,21H2V23H4C5.37,23 6.74,22.65 8,22C10.5,23.3 13.5,23.3 16,22C17.26,22.65 18.62,23 20,23H22V21H20Z\";\r\nexport var mdiFile = \"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\";\r\nexport var mdiFileAccount = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M14,20V19C14,17.67 11.33,17 10,17C8.67,17 6,17.67 6,19V20H14M10,12A2,2 0 0,0 8,14A2,2 0 0,0 10,16A2,2 0 0,0 12,14A2,2 0 0,0 10,12Z\";\r\nexport var mdiFileAccountOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M13 13C13 14.1 12.1 15 11 15S9 14.1 9 13 9.9 11 11 11 13 11.9 13 13M15 18V19H7V18C7 16.67 9.67 16 11 16S15 16.67 15 18Z\";\r\nexport var mdiFileAlert = \"M14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2M9 19H7V17H9M9 15H7V9H9M13 9V3.5L18.5 9H13Z\";\r\nexport var mdiFileAlertOutline = \"M10 18H8V16H10V18M10 14H8V8H10V14M14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2M18 20H6V4H13V9H18V20Z\";\r\nexport var mdiFileCabinet = \"M14,8H10V6H14V8M20,4V20C20,21.11 19.11,22 18,22H6C4.89,22 4,21.11 4,20V4A2,2 0 0,1 6,2H18C19.11,2 20,2.9 20,4M18,13H6V20H18V13M18,4H6V11H18V4M14,15H10V17H14V15Z\";\r\nexport var mdiFileCad = \"M6 2C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2M13 3.5L18.5 9H13M9.88 9.25H11.12V10.19C11.81 10.18 12.38 10.75 12.38 11.44V13.5L12.26 13.63L13.15 15.17C13.47 14.67 13.63 14.09 13.62 13.5H14.88C14.88 14.54 14.5 15.55 13.83 16.35L15.5 19.25V20.5L14.42 19.88L12.87 17.19C12.17 17.65 11.34 17.89 10.5 17.89C9.66 17.89 8.84 17.65 8.13 17.19L6.58 19.88L5.5 20.5V19.25L8.74 13.63L8.62 13.5V11.44C8.62 10.75 9.19 10.18 9.88 10.19M10.5 11.44C9.81 11.44 9.46 12.28 9.95 12.77C10.44 13.26 11.28 12.92 11.28 12.22C11.28 11.79 10.93 11.44 10.5 11.44M9.66 14.54L8.76 16.11C9.81 16.82 11.19 16.82 12.24 16.11L11.34 14.54C10.87 15 10.13 15 9.66 14.54Z\";\r\nexport var mdiFileCadBox = \"M5 3C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M11.25 5.25H12.75V6.38C13.58 6.38 14.25 7.05 14.25 7.88V10.37L14.11 10.5L15.18 12.36C15.55 11.76 15.75 11.07 15.75 10.36H17.25C17.26 11.61 16.81 12.82 16 13.77L18 17.25V18.75L16.7 18L14.84 14.78C13.12 15.91 10.89 15.91 9.16 14.78L7.3 18L6 18.75V17.25L9.89 10.5L9.75 10.37V7.88C9.75 7.05 10.42 6.38 11.25 6.38M12 7.88C11.16 7.88 10.74 8.9 11.34 9.5C11.94 10.08 12.95 9.65 12.94 8.81C12.94 8.29 12.5 7.88 12 7.88M11 11.6L9.91 13.5C11.17 14.36 12.83 14.36 14.09 13.5L13 11.6C12.43 12.11 11.57 12.11 11 11.6Z\";\r\nexport var mdiFileCancel = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M10.5,11C8,11 6,13 6,15.5C6,18 8,20 10.5,20C13,20 15,18 15,15.5C15,13 13,11 10.5,11M10.5,12.5A3,3 0 0,1 13.5,15.5C13.5,16.06 13.35,16.58 13.08,17L9,12.92C9.42,12.65 9.94,12.5 10.5,12.5M7.5,15.5C7.5,14.94 7.65,14.42 7.92,14L12,18.08C11.58,18.35 11.06,18.5 10.5,18.5A3,3 0 0,1 7.5,15.5Z\";\r\nexport var mdiFileCancelOutline = \"M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M18,20V9H13V4H6V20H18M11.5,10C14,10 16,12 16,14.5C16,17 14,19 11.5,19C9,19 7,17 7,14.5C7,12 9,10 11.5,10M11.5,11.5C10.94,11.5 10.42,11.65 10,11.92L14.08,16C14.35,15.58 14.5,15.06 14.5,14.5A3,3 0 0,0 11.5,11.5M8.5,14.5A3,3 0 0,0 11.5,17.5C12.06,17.5 12.58,17.35 13,17.08L8.92,13C8.65,13.42 8.5,13.94 8.5,14.5Z\";\r\nexport var mdiFileCertificate = \"M14 2H7A2 2 0 0 0 5 4V18A2 2 0 0 0 7 20H10V23L12 22L14 23V20H17A2 2 0 0 0 19 18V7M14 15V17L12 16L10 17V15L8 14L10 13V11L12 12L14 11V13L16 14M13 8V3.5L17.5 8Z\";\r\nexport var mdiFileCertificateOutline = \"M14 13V11L12 12L10 11V13L8 14L10 15V17L12 16L14 17V15L16 14M14 2H7A2 2 0 0 0 5 4V18A2 2 0 0 0 7 20H8V18H7V4H13V8H17V18H16V20H17A2 2 0 0 0 19 18V7M14 13V11L12 12L10 11V13L8 14L10 15V17L12 16L14 17V15L16 14M10 23L12 22L14 23V18H10M14 13V11L12 12L10 11V13L8 14L10 15V17L12 16L14 17V15L16 14Z\";\r\nexport var mdiFileChart = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M7,20H9V14H7V20M11,20H13V12H11V20M15,20H17V16H15V20Z\";\r\nexport var mdiFileChartOutline = \"M14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2M18 20H6V4H13V9H18V20M9 13V19H7V13H9M15 15V19H17V15H15M11 11V19H13V11H11Z\";\r\nexport var mdiFileCheck = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M11.2,18.46L15.95,13.71L14.78,12.3L11.2,15.88L9.61,14.3L8.45,15.46L11.2,18.46Z\";\r\nexport var mdiFileCheckOutline = \"M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M18,20V9H13V4H6V20H18M11.2,18.46L8.45,15.46L9.61,14.3L11.2,15.88L14.78,12.3L15.95,13.71L11.2,18.46Z\";\r\nexport var mdiFileClock = \"M4 2C2.89 2 2 2.89 2 4V20A2 2 0 0 0 4 22H12.41A7 7 0 0 0 16 23A7 7 0 0 0 23 16A7 7 0 0 0 18 9.3V8L12 2H4M11 3.5L16.5 9H11V3.5M16 11A5 5 0 0 1 21 16A5 5 0 0 1 16 21A5 5 0 0 1 11 16A5 5 0 0 1 16 11M15 12V17L18.61 19.16L19.36 17.94L16.5 16.25V12H15Z\";\r\nexport var mdiFileClockOutline = \"M4 2A2 2 0 0 0 2 4V20A2 2 0 0 0 4 22H12.41A7 7 0 0 0 16 23A7 7 0 0 0 23 16A7 7 0 0 0 18 9.3V8L12 2H4M4 4H11V9H16A7 7 0 0 0 9 16A7 7 0 0 0 10.26 20H4V4M16 11A5 5 0 0 1 21 16A5 5 0 0 1 16 21A5 5 0 0 1 11 16A5 5 0 0 1 16 11M15 12V17L18.61 19.16L19.36 17.94L16.5 16.25V12H15Z\";\r\nexport var mdiFileCloud = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M15.68,15C15.34,13.3 13.82,12 12,12C10.55,12 9.3,12.82 8.68,14C7.17,14.18 6,15.45 6,17A3,3 0 0,0 9,20H15.5A2.5,2.5 0 0,0 18,17.5C18,16.18 16.97,15.11 15.68,15Z\";\r\nexport var mdiFileCloudOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M17 16.92C17 18.07 16.07 19 14.92 19H9.5C8.12 19 7 17.88 7 16.5C7 15.21 8 14.15 9.23 14C9.75 13 10.79 12.33 12 12.33C13.5 12.33 14.78 13.42 15.07 14.83C16.14 14.93 17 15.82 17 16.92Z\";\r\nexport var mdiFileCode = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M6.12,15.5L9.86,19.24L11.28,17.83L8.95,15.5L11.28,13.17L9.86,11.76L6.12,15.5M17.28,15.5L13.54,11.76L12.12,13.17L14.45,15.5L12.12,17.83L13.54,19.24L17.28,15.5Z\";\r\nexport var mdiFileCodeOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M9.54 15.65L11.63 17.74L10.35 19L7 15.65L10.35 12.3L11.63 13.56L9.54 15.65M17 15.65L13.65 19L12.38 17.74L14.47 15.65L12.38 13.56L13.65 12.3L17 15.65Z\";\r\nexport var mdiFileCog = \"M6 2C4.89 2 4 2.89 4 4V20A2 2 0 0 0 6 22H12.68A7 7 0 0 1 12 19A7 7 0 0 1 19 12A7 7 0 0 1 20 12.08V8L14 2H6M13 3.5L18.5 9H13V3.5M18 14C17.87 14 17.76 14.09 17.74 14.21L17.55 15.53C17.25 15.66 16.96 15.82 16.7 16L15.46 15.5C15.35 15.5 15.22 15.5 15.15 15.63L14.15 17.36C14.09 17.47 14.11 17.6 14.21 17.68L15.27 18.5C15.25 18.67 15.24 18.83 15.24 19C15.24 19.17 15.25 19.33 15.27 19.5L14.21 20.32C14.12 20.4 14.09 20.53 14.15 20.64L15.15 22.37C15.21 22.5 15.34 22.5 15.46 22.5L16.7 22C16.96 22.18 17.24 22.35 17.55 22.47L17.74 23.79C17.76 23.91 17.86 24 18 24H20C20.11 24 20.22 23.91 20.24 23.79L20.43 22.47C20.73 22.34 21 22.18 21.27 22L22.5 22.5C22.63 22.5 22.76 22.5 22.83 22.37L23.83 20.64C23.89 20.53 23.86 20.4 23.77 20.32L22.7 19.5C22.72 19.33 22.74 19.17 22.74 19C22.74 18.83 22.73 18.67 22.7 18.5L23.76 17.68C23.85 17.6 23.88 17.47 23.82 17.36L22.82 15.63C22.76 15.5 22.63 15.5 22.5 15.5L21.27 16C21 15.82 20.73 15.65 20.42 15.53L20.23 14.21C20.22 14.09 20.11 14 20 14H18M19 17.5C19.83 17.5 20.5 18.17 20.5 19C20.5 19.83 19.83 20.5 19 20.5C18.16 20.5 17.5 19.83 17.5 19C17.5 18.17 18.17 17.5 19 17.5Z\";\r\nexport var mdiFileCogOutline = \"M6 2C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H12V20H6V4H13V9H18V12H20V8L14 2M18 14C17.87 14 17.76 14.09 17.74 14.21L17.55 15.53C17.25 15.66 16.96 15.82 16.7 16L15.46 15.5C15.35 15.5 15.22 15.5 15.15 15.63L14.15 17.36C14.09 17.47 14.11 17.6 14.21 17.68L15.27 18.5C15.25 18.67 15.24 18.83 15.24 19C15.24 19.17 15.25 19.33 15.27 19.5L14.21 20.32C14.12 20.4 14.09 20.53 14.15 20.64L15.15 22.37C15.21 22.5 15.34 22.5 15.46 22.5L16.7 22C16.96 22.18 17.24 22.35 17.55 22.47L17.74 23.79C17.76 23.91 17.86 24 18 24H20C20.11 24 20.22 23.91 20.24 23.79L20.43 22.47C20.73 22.34 21 22.18 21.27 22L22.5 22.5C22.63 22.5 22.76 22.5 22.83 22.37L23.83 20.64C23.89 20.53 23.86 20.4 23.77 20.32L22.7 19.5C22.72 19.33 22.74 19.17 22.74 19C22.74 18.83 22.73 18.67 22.7 18.5L23.76 17.68C23.85 17.6 23.88 17.47 23.82 17.36L22.82 15.63C22.76 15.5 22.63 15.5 22.5 15.5L21.27 16C21 15.82 20.73 15.65 20.42 15.53L20.23 14.21C20.22 14.09 20.11 14 20 14M19 17.5C19.83 17.5 20.5 18.17 20.5 19C20.5 19.83 19.83 20.5 19 20.5C18.16 20.5 17.5 19.83 17.5 19C17.5 18.17 18.17 17.5 19 17.5Z\";\r\nexport var mdiFileCompare = \"M10,18H6V16H10V18M10,14H6V12H10V14M10,1V2H6C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H10V23H12V1H10M20,8V20C20,21.11 19.11,22 18,22H14V20H18V11H14V9H18.5L14,4.5V2L20,8M16,14H14V12H16V14M16,18H14V16H16V18Z\";\r\nexport var mdiFileDelimited = \"M14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2M15 16L13 20H10L12 16H9V11H15V16M13 9V3.5L18.5 9H13Z\";\r\nexport var mdiFileDelimitedOutline = \"M14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2M18 20H6V4H13V9H18V20M10 19L12 15H9V10H15V15L13 19H10\";\r\nexport var mdiFileDocument = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M15,18V16H6V18H15M18,14V12H6V14H18Z\";\r\nexport var mdiFileDocumentEdit = \"M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H10V20.09L12.09,18H6V16H14.09L16.09,14H6V12H18.09L20,10.09V8L14,2H6M13,3.5L18.5,9H13V3.5M20.15,13C20,13 19.86,13.05 19.75,13.16L18.73,14.18L20.82,16.26L21.84,15.25C22.05,15.03 22.05,14.67 21.84,14.46L20.54,13.16C20.43,13.05 20.29,13 20.15,13M18.14,14.77L12,20.92V23H14.08L20.23,16.85L18.14,14.77Z\";\r\nexport var mdiFileDocumentEditOutline = \"M8,12H16V14H8V12M10,20H6V4H13V9H18V12.1L20,10.1V8L14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H10V20M8,18H12.1L13,17.1V16H8V18M20.2,13C20.3,13 20.5,13.1 20.6,13.2L21.9,14.5C22.1,14.7 22.1,15.1 21.9,15.3L20.9,16.3L18.8,14.2L19.8,13.2C19.9,13.1 20,13 20.2,13M20.2,16.9L14.1,23H12V20.9L18.1,14.8L20.2,16.9Z\";\r\nexport var mdiFileDocumentMultiple = \"M4 4V22H20V24H4C2.9 24 2 23.1 2 22V4H4M15 7H20.5L15 1.5V7M8 0H16L22 6V18C22 19.11 21.11 20 20 20H8C6.89 20 6 19.1 6 18V2C6 .89 6.89 0 8 0M17 16V14H8V16H17M20 12V10H8V12H20Z\";\r\nexport var mdiFileDocumentMultipleOutline = \"M16 0H8C6.9 0 6 .9 6 2V18C6 19.1 6.9 20 8 20H20C21.1 20 22 19.1 22 18V6L16 0M20 18H8V2H15V7H20V18M4 4V22H20V24H4C2.9 24 2 23.1 2 22V4H4M10 10V12H18V10H10M10 14V16H15V14H10Z\";\r\nexport var mdiFileDocumentOutline = \"M6,2A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6M6,4H13V9H18V20H6V4M8,12V14H16V12H8M8,16V18H13V16H8Z\";\r\nexport var mdiFileDownload = \"M14,2H6C4.89,2 4,2.89 4,4V20C4,21.11 4.89,22 6,22H18C19.11,22 20,21.11 20,20V8L14,2M12,19L8,15H10.5V12H13.5V15H16L12,19M13,9V3.5L18.5,9H13Z\";\r\nexport var mdiFileDownloadOutline = \"M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M18,20V9H13V4H6V20H18M12,19L8,15H10.5V12H13.5V15H16L12,19Z\";\r\nexport var mdiFileEdit = \"M6 2C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H10V20.1L20 10.1V8L14 2H6M13 3.5L18.5 9H13V3.5M20.1 13C20 13 19.8 13.1 19.7 13.2L18.7 14.2L20.8 16.3L21.8 15.3C22 15.1 22 14.7 21.8 14.5L20.5 13.2C20.4 13.1 20.3 13 20.1 13M18.1 14.8L12 20.9V23H14.1L20.2 16.9L18.1 14.8Z\";\r\nexport var mdiFileEditOutline = \"M10 20H6V4H13V9H18V12.1L20 10.1V8L14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H10V20M20.2 13C20.3 13 20.5 13.1 20.6 13.2L21.9 14.5C22.1 14.7 22.1 15.1 21.9 15.3L20.9 16.3L18.8 14.2L19.8 13.2C19.9 13.1 20 13 20.2 13M20.2 16.9L14.1 23H12V20.9L18.1 14.8L20.2 16.9Z\";\r\nexport var mdiFileExcel = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M15.8,20H14L12,16.6L10,20H8.2L11.1,15.5L8.2,11H10L12,14.4L14,11H15.8L12.9,15.5L15.8,20M13,9V3.5L18.5,9H13Z\";\r\nexport var mdiFileExcelBox = \"M16.2,17H14.2L12,13.2L9.8,17H7.8L11,12L7.8,7H9.8L12,10.8L14.2,7H16.2L13,12M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiFileExcelBoxOutline = \"M5 3C3.89 3 3 3.89 3 5V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3H5M5 5H19V19H5V5M13 12L16.2 17H14.2L12 13.2L9.8 17H7.8L11 12L7.8 7H9.8L12 10.8L14.2 7H16.2L13 12Z\";\r\nexport var mdiFileExcelOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M12.9 14.5L15.8 19H14L12 15.6L10 19H8.2L11.1 14.5L8.2 10H10L12 13.4L14 10H15.8L12.9 14.5Z\";\r\nexport var mdiFileExport = \"M6,2C4.89,2 4,2.9 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13,3.5L18.5,9H13M8.93,12.22H16V19.29L13.88,17.17L11.05,20L8.22,17.17L11.05,14.35\";\r\nexport var mdiFileExportOutline = \"M14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2M18 20H6V4H13V9H18V20M16 11V18.1L13.9 16L11.1 18.8L8.3 16L11.1 13.2L8.9 11H16Z\";\r\nexport var mdiFileEye = \"M17,18C17.56,18 18,18.44 18,19C18,19.56 17.56,20 17,20C16.44,20 16,19.56 16,19C16,18.44 16.44,18 17,18M17,15C14.27,15 11.94,16.66 11,19C11.94,21.34 14.27,23 17,23C19.73,23 22.06,21.34 23,19C22.06,16.66 19.73,15 17,15M17,21.5A2.5,2.5 0 0,1 14.5,19A2.5,2.5 0 0,1 17,16.5A2.5,2.5 0 0,1 19.5,19A2.5,2.5 0 0,1 17,21.5M9.14,19.75L8.85,19L9.14,18.26C10.43,15.06 13.5,13 17,13C18.05,13 19.06,13.21 20,13.56V8L14,2H6C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H10.5C9.95,21.34 9.5,20.58 9.14,19.75M13,3.5L18.5,9H13V3.5Z\";\r\nexport var mdiFileEyeOutline = \"M17,18C17.56,18 18,18.44 18,19C18,19.56 17.56,20 17,20C16.44,20 16,19.56 16,19C16,18.44 16.44,18 17,18M17,15C14.27,15 11.94,16.66 11,19C11.94,21.34 14.27,23 17,23C19.73,23 22.06,21.34 23,19C22.06,16.66 19.73,15 17,15M17,21.5A2.5,2.5 0 0,1 14.5,19A2.5,2.5 0 0,1 17,16.5A2.5,2.5 0 0,1 19.5,19A2.5,2.5 0 0,1 17,21.5M9.27,20H6V4H13V9H18V13.07C18.7,13.15 19.36,13.32 20,13.56V8L14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H10.5C10,21.41 9.59,20.73 9.27,20Z\";\r\nexport var mdiFileFind = \"M9,13A3,3 0 0,0 12,16A3,3 0 0,0 15,13A3,3 0 0,0 12,10A3,3 0 0,0 9,13M20,19.59V8L14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18C18.45,22 18.85,21.85 19.19,21.6L14.76,17.17C13.96,17.69 13,18 12,18A5,5 0 0,1 7,13A5,5 0 0,1 12,8A5,5 0 0,1 17,13C17,14 16.69,14.96 16.17,15.75L20,19.59Z\";\r\nexport var mdiFileFindOutline = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M6,4H13L18,9V17.58L16.16,15.74C17.44,13.8 17.23,11.17 15.5,9.46C14.55,8.5 13.28,8 12,8C10.72,8 9.45,8.5 8.47,9.46C6.5,11.41 6.5,14.57 8.47,16.5C9.44,17.5 10.72,17.97 12,17.97C12.96,17.97 13.92,17.69 14.75,17.14L17.6,20H6V4M14.11,15.1C13.55,15.66 12.8,16 12,16C11.2,16 10.45,15.67 9.89,15.1C9.33,14.54 9,13.79 9,13C9,12.19 9.32,11.44 9.89,10.88C10.45,10.31 11.2,10 12,10C12.8,10 13.55,10.31 14.11,10.88C14.67,11.44 15,12.19 15,13C15,13.79 14.68,14.54 14.11,15.1Z\";\r\nexport var mdiFileGifBox = \"M18 4H6C4.9 4 4 4.9 4 6V18C4 19.1 4.9 20 6 20H18C19.1 20 20 19.1 20 18V6C20 4.9 19.1 4 18 4M10 10.5H7.5V13.5H8.5V12H10V13.67C10 14.33 9.47 15 8.67 15H7.33C6.53 15 6 14.33 6 13.67V10.33C6 9.67 6.53 9 7.33 9H8.67C9.47 9 10 9.67 10 10.33V10.5M13 15H11.5V9H13V15M17.5 10.5H16V11.5H17.5V13H16V15H14.5V9H17.5V10.5Z\";\r\nexport var mdiFileHidden = \"M13,9H14V11H11V7H13V9M18.5,9L16.38,6.88L17.63,5.63L20,8V10H18V11H15V9H18.5M13,3.5V2H12V4H13V6H11V4H9V2H8V4H6V5H4V4C4,2.89 4.89,2 6,2H14L16.36,4.36L15.11,5.61L13,3.5M20,20A2,2 0 0,1 18,22H16V20H18V19H20V20M18,15H20V18H18V15M12,22V20H15V22H12M8,22V20H11V22H8M6,22C4.89,22 4,21.1 4,20V18H6V20H7V22H6M4,14H6V17H4V14M4,10H6V13H4V10M18,11H20V14H18V11M4,6H6V9H4V6Z\";\r\nexport var mdiFileImage = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M6,20H15L18,20V12L14,16L12,14L6,20M8,9A2,2 0 0,0 6,11A2,2 0 0,0 8,13A2,2 0 0,0 10,11A2,2 0 0,0 8,9Z\";\r\nexport var mdiFileImageMarker = \"M6 20L12 14L13.03 15.03C13.28 12.26 15.68 10 18.5 10C19 10 19.5 10.08 20 10.22V8L14 2H6C4.89 2 4 2.89 4 4V20C4 21.1 4.89 22 6 22H15.91C15.5 21.44 15 20.76 14.55 20H6M13 3.5L18.5 9H13V3.5M8 9C9.11 9 10 9.9 10 11S9.11 13 8 13 6 12.11 6 11 6.9 9 8 9M18.5 12C16.6 12 15 13.6 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5C22 13.6 20.4 12 18.5 12M18.5 16.8C17.8 16.8 17.3 16.2 17.3 15.6C17.3 14.9 17.9 14.4 18.5 14.4S19.7 15 19.7 15.6C19.8 16.2 19.2 16.8 18.5 16.8Z\";\r\nexport var mdiFileImageMarkerOutline = \"M8.5 12C7.67 12 7 11.33 7 10.5S7.67 9 8.5 9 10 9.67 10 10.5 9.33 12 8.5 12M14 19C13.43 17.86 13 16.64 13 15.5C13 15.34 13 15.18 13.03 15.03L12 14L7 19H14M6 20V4H13V9H18V10.03C18.17 10 18.33 10 18.5 10C19 10 19.5 10.08 20 10.22V8L14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H15.91C15.5 21.44 15 20.76 14.55 20H6M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\r\nexport var mdiFileImageOutline = \"M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M18,20V9H13V4H6V20H18M17,13V19H7L12,14L14,16M10,10.5A1.5,1.5 0 0,1 8.5,12A1.5,1.5 0 0,1 7,10.5A1.5,1.5 0 0,1 8.5,9A1.5,1.5 0 0,1 10,10.5Z\";\r\nexport var mdiFileImport = \"M6,2C4.89,2 4,2.9 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13,3.5L18.5,9H13M10.05,11.22L12.88,14.05L15,11.93V19H7.93L10.05,16.88L7.22,14.05\";\r\nexport var mdiFileImportOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M15 11.93V19H7.93L10.05 16.88L7.22 14.05L10.05 11.22L12.88 14.05L15 11.93Z\";\r\nexport var mdiFileJpgBox = \"M11.5 10.5H12.5V11.5H11.5V10.5M20 6V18C20 19.1 19.1 20 18 20H6C4.9 20 4 19.1 4 18V6C4 4.9 4.9 4 6 4H18C19.1 4 20 4.9 20 6M9 9H7.5V13.5H6.5V12H5V13.5C5 14.61 5.9 15 7 15S9 14.61 9 13.5V9M14 10.5C14 9.67 13.33 9 12.5 9H10V15H11.5V13H12.5C13.33 13 14 12.33 14 11.5V10.5M19 10.33C19 9.67 18.47 9 17.67 9H16.33C15.53 9 15 9.67 15 10.33V13.67C15 14.33 15.53 15 16.33 15H17.67C18.47 15 19 14.33 19 13.67V12H17.5V13.5H16.5V10.5H19V10.33Z\";\r\nexport var mdiFileKey = \"M11 16A1 1 0 1 1 10 15A1 1 0 0 1 11 16M20 8V20A2 2 0 0 1 18 22H6A2 2 0 0 1 4 20V4A2 2 0 0 1 6 2H14M17 15H12.83A3 3 0 1 0 12.83 17H14V19H16V17H17M18.5 9L13 3.5V9Z\";\r\nexport var mdiFileKeyOutline = \"M14 2H6A2 2 0 0 0 4 4V20A2 2 0 0 0 6 22H18A2 2 0 0 0 20 20V8L14 2M18 20H6V4H13V9H18M12.83 15A3 3 0 1 0 12.83 17H14V19H16V17H17V15M10 17A1 1 0 1 1 11 16A1 1 0 0 1 10 17Z\";\r\nexport var mdiFileLink = \"M14 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M11 20H10C8.39 20 6 18.94 6 16C6 13.07 8.39 12 10 12H11V14H10C9.54 14 8 14.17 8 16C8 17.9 9.67 18 10 18H11V20M15 15V17H9V15H15M14 20H13V18H14C14.46 18 16 17.83 16 16C16 14.1 14.33 14 14 14H13V12H14C15.61 12 18 13.07 18 16C18 18.94 15.61 20 14 20M13 9V3.5L18.5 9H13Z\";\r\nexport var mdiFileLinkOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M11 19H10.75C9.45 19 7 18.22 7 15.25S9.45 11.5 10.75 11.5H11V13H10.75C10.38 13 8.5 13.13 8.5 15.25C8.5 17.44 10.5 17.5 10.75 17.5H11V19M14 16H10V14.5H14V16M13 11.5H13.25C14.55 11.5 17 12.28 17 15.25S14.55 19 13.25 19H13V17.5H13.25C13.62 17.5 15.5 17.37 15.5 15.25C15.5 13.06 13.5 13 13.25 13H13V11.5Z\";\r\nexport var mdiFileLock = \"M6,2C4.89,2 4,2.9 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6M13,3.5L18.5,9H13V3.5M12,11A3,3 0 0,1 15,14V15H16V19H8V15H9V14C9,12.36 10.34,11 12,11M12,13A1,1 0 0,0 11,14V15H13V14C13,13.47 12.55,13 12,13Z\";\r\nexport var mdiFileLockOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M15 15V14C15 12.34 13.66 11 12 11S9 12.36 9 14V15H8V19H16V15H15M13 15H11V14C11 13.45 11.45 13 12 13S13 13.47 13 14V15Z\";\r\nexport var mdiFileMarker = \"M18.5 10C19 10 19.5 10.08 20 10.22V8L14 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H15.91C14.7 20.41 13 17.78 13 15.5C13 12.5 15.5 10 18.5 10M13 3.5L18.5 9H13V3.5M18.5 12C16.6 12 15 13.6 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5C22 13.6 20.4 12 18.5 12M18.5 16.8C17.8 16.8 17.3 16.2 17.3 15.6C17.3 14.9 17.9 14.4 18.5 14.4S19.7 15 19.7 15.6C19.8 16.2 19.2 16.8 18.5 16.8Z\";\r\nexport var mdiFileMarkerOutline = \"M14.55 20C15 20.76 15.5 21.44 15.91 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H14L20 8V10.22C19.5 10.08 19 10 18.5 10C18.33 10 18.17 10 18 10.03V9H13V4H6V20H14.55M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\r\nexport var mdiFileMove = \"M14,17H18V14L23,18.5L18,23V20H14V17M13,9H18.5L13,3.5V9M6,2H14L20,8V12.34C19.37,12.12 18.7,12 18,12A6,6 0 0,0 12,18C12,19.54 12.58,20.94 13.53,22H6C4.89,22 4,21.1 4,20V4A2,2 0 0,1 6,2Z\";\r\nexport var mdiFileMoveOutline = \"M14 2H6C4.9 2 4 2.9 4 4V20C4 20.41 4.12 20.8 4.34 21.12C4.41 21.23 4.5 21.33 4.59 21.41C4.95 21.78 5.45 22 6 22H13.53C13 21.42 12.61 20.75 12.35 20H6V4H13V9H18V12C18.7 12 19.37 12.12 20 12.34V8L14 2M18 23L23 18.5L20 15.8L18 14V17H14V20H18V23Z\";\r\nexport var mdiFileMultiple = \"M15,7H20.5L15,1.5V7M8,0H16L22,6V18A2,2 0 0,1 20,20H8C6.89,20 6,19.1 6,18V2A2,2 0 0,1 8,0M4,4V22H20V24H4A2,2 0 0,1 2,22V4H4Z\";\r\nexport var mdiFileMultipleOutline = \"M16 0H8C6.9 0 6 .9 6 2V18C6 19.1 6.9 20 8 20H20C21.1 20 22 19.1 22 18V6L16 0M20 18H8V2H15V7H20V18M4 4V22H20V24H4C2.9 24 2 23.1 2 22V4H4Z\";\r\nexport var mdiFileMusic = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13,13H11V18A2,2 0 0,1 9,20A2,2 0 0,1 7,18A2,2 0 0,1 9,16C9.4,16 9.7,16.1 10,16.3V11H13V13M13,9V3.5L18.5,9H13Z\";\r\nexport var mdiFileMusicOutline = \"M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M18,20V9H13V4H6V20H18M13,10V12H11V17A2,2 0 0,1 9,19A2,2 0 0,1 7,17A2,2 0 0,1 9,15C9.4,15 9.7,15.1 10,15.3V10H13Z\";\r\nexport var mdiFileOutline = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M18,20H6V4H13V9H18V20Z\";\r\nexport var mdiFilePdfBox = \"M12,10.5H13V13.5H12V10.5M7,11.5H8V10.5H7V11.5M20,6V18A2,2 0 0,1 18,20H6A2,2 0 0,1 4,18V6A2,2 0 0,1 6,4H18A2,2 0 0,1 20,6M9.5,10.5A1.5,1.5 0 0,0 8,9H5.5V15H7V13H8A1.5,1.5 0 0,0 9.5,11.5V10.5M14.5,10.5A1.5,1.5 0 0,0 13,9H10.5V15H13A1.5,1.5 0 0,0 14.5,13.5V10.5M18.5,9H15.5V15H17V13H18.5V11.5H17V10.5H18.5V9Z\";\r\nexport var mdiFilePercent = \"M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M7.37,20L15,12.35L13.65,11L6,18.65L7.37,20M13,9H18.5L13,3.5V9M7.5,11A1.5,1.5 0 0,0 6,12.5A1.5,1.5 0 0,0 7.5,14A1.5,1.5 0 0,0 9,12.5A1.5,1.5 0 0,0 7.5,11M13.5,17A1.5,1.5 0 0,0 12,18.5A1.5,1.5 0 0,0 13.5,20A1.5,1.5 0 0,0 15,18.5A1.5,1.5 0 0,0 13.5,17Z\";\r\nexport var mdiFilePercentOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M10 11.5C10 12.33 9.33 13 8.5 13S7 12.33 7 11.5 7.67 10 8.5 10 10 10.67 10 11.5M16 17.5C16 18.33 15.33 19 14.5 19S13 18.33 13 17.5 13.67 16 14.5 16 16 16.67 16 17.5M16 11.35L8.37 19L7 17.65L14.65 10L16 11.35Z\";\r\nexport var mdiFilePhone = \"M14 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M17 19.44C17 19.75 16.75 20 16.44 20C11.23 20 7 15.77 7 10.56C7 10.25 7.25 10 7.56 10H9.5C9.81 10 10.06 10.25 10.06 10.56C10.06 11.25 10.17 11.92 10.37 12.54C10.43 12.73 10.39 12.95 10.23 13.11L9 14.33C9.81 15.9 11.1 17.19 12.67 18L13.9 16.77C14.05 16.61 14.27 16.57 14.46 16.63C15.08 16.83 15.75 16.95 16.45 16.95C16.75 16.95 17 17.19 17 17.5V19.44M13 9V3.5L18.5 9H13Z\";\r\nexport var mdiFilePhoneOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M9 13.33C9.81 14.9 11.1 16.19 12.67 17L13.89 15.77C14.05 15.61 14.27 15.57 14.46 15.63C15.08 15.83 15.75 15.95 16.44 15.95C16.75 15.95 17 16.19 17 16.5V18.45C17 18.75 16.75 19 16.44 19C11.23 19 7 14.77 7 9.56C7 9.25 7.25 9 7.56 9H9.5C9.81 9 10.06 9.25 10.06 9.56C10.06 10.25 10.17 10.92 10.37 11.54C10.43 11.73 10.39 11.95 10.23 12.11L9 13.33Z\";\r\nexport var mdiFilePlus = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M11,15V12H9V15H6V17H9V20H11V17H14V15H11Z\";\r\nexport var mdiFilePlusOutline = \"M12,14V11H10V14H7V16H10V19H12V16H15V14M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M18,20H6V4H13V9H18\";\r\nexport var mdiFilePngBox = \"M6.5 10.5H7.5V11.5H6.5V10.5M20 6V18C20 19.1 19.1 20 18 20H6C4.9 20 4 19.1 4 18V6C4 4.9 4.9 4 6 4H18C19.1 4 20 4.9 20 6M9 10.5C9 9.67 8.33 9 7.5 9H5V15H6.5V13H7.5C8.33 13 9 12.33 9 11.5V10.5M14 9H12.5V11.5L11.5 9H10V15H11.5V12.5L12.5 15H14V9M19 10.33C19 9.67 18.47 9 17.67 9H16.33C15.53 9 15 9.67 15 10.33V13.67C15 14.33 15.53 15 16.33 15H17.67C18.47 15 19 14.33 19 13.67V12H17.5V13.5H16.5V10.5H19V10.33Z\";\r\nexport var mdiFilePowerpoint = \"M12.6,12.3H10.6V15.5H12.7C13.3,15.5 13.6,15.3 13.9,15C14.2,14.7 14.3,14.4 14.3,13.9C14.3,13.4 14.2,13.1 13.9,12.8C13.6,12.5 13.2,12.3 12.6,12.3M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M15.2,16C14.6,16.5 14.1,16.7 12.8,16.7H10.6V20H9V11H12.8C14.1,11 14.7,11.3 15.2,11.8C15.8,12.4 16,13 16,13.9C16,14.8 15.8,15.5 15.2,16M13,9V3.5L18.5,9H13Z\";\r\nexport var mdiFilePowerpointBox = \"M9.8,13.4H12.3C13.8,13.4 14.46,13.12 15.1,12.58C15.74,12.03 16,11.25 16,10.23C16,9.26 15.75,8.5 15.1,7.88C14.45,7.29 13.83,7 12.3,7H8V17H9.8V13.4M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5C3,3.89 3.9,3 5,3H19M9.8,12V8.4H12.1C12.76,8.4 13.27,8.65 13.6,9C13.93,9.35 14.1,9.72 14.1,10.24C14.1,10.8 13.92,11.19 13.6,11.5C13.28,11.81 12.9,12 12.22,12H9.8Z\";\r\nexport var mdiFilePowerpointBoxOutline = \"M5 3C3.89 3 3 3.89 3 5V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3H5M5 5H19V19H5V5M15.1 7.88C14.45 7.29 13.83 7 12.3 7H8V17H9.8V13.4H12.3C13.8 13.4 14.46 13.12 15.1 12.58C15.74 12.03 16 11.25 16 10.23C16 9.26 15.75 8.5 15.1 7.88M13.6 11.5C13.28 11.81 12.9 12 12.22 12H9.8V8.4H12.1C12.76 8.4 13.27 8.65 13.6 9C13.93 9.35 14.1 9.72 14.1 10.24C14.1 10.8 13.92 11.19 13.6 11.5Z\";\r\nexport var mdiFilePowerpointOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M15.2 10.8C14.7 10.3 14.1 10 12.8 10H9V19H10.6V15.7H12.8C14.1 15.7 14.6 15.5 15.2 15C15.8 14.5 16 13.8 16 12.9C16 12 15.8 11.4 15.2 10.8M13.9 14C13.6 14.3 13.3 14.5 12.7 14.5H10.6V11.3H12.6C13.2 11.3 13.6 11.5 13.9 11.8C14.2 12.1 14.3 12.4 14.3 12.9S14.2 13.7 13.9 14Z\";\r\nexport var mdiFilePresentationBox = \"M19,16H5V8H19M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiFileQuestion = \"M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6M13,3.5L18.5,9H13V3.5M12,11A3,3 0 0,1 15,14C15,15.88 12.75,16.06 12.75,17.75H11.25C11.25,15.31 13.5,15.5 13.5,14A1.5,1.5 0 0,0 12,12.5A1.5,1.5 0 0,0 10.5,14H9A3,3 0 0,1 12,11M11.25,18.5H12.75V20H11.25V18.5Z\";\r\nexport var mdiFileQuestionOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M15 13C15 14.89 12.75 15.07 12.75 16.76H11.25C11.25 14.32 13.5 14.5 13.5 13C13.5 12.18 12.83 11.5 12 11.5S10.5 12.18 10.5 13H9C9 11.35 10.34 10 12 10S15 11.35 15 13M12.75 17.5V19H11.25V17.5H12.75Z\";\r\nexport var mdiFileRefresh = \"M18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5C15.5 19.88 16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5C14 16.29 15.79 14.5 18 14.5M13 9H18.5L13 3.5V9M6 2H14L20 8V12.17C19.5 12.06 19 12 18.5 12C14.91 12 12 14.91 12 18.5C12 19.79 12.37 21 13 22H6C4.88 22 4 21.1 4 20L4 4C4 2.89 4.89 2 6 2Z\";\r\nexport var mdiFileRefreshOutline = \"M18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5C15.5 19.88 16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5C14 16.29 15.79 14.5 18 14.5M14 2L20 8V12.17C19.5 12.06 19 12 18.5 12L18 12V9H13V4H6V20H12.17C12.34 20.72 12.63 21.39 13 22H6C4.9 22 4 21.1 4 20V4C4 2.9 4.9 2 6 2H14Z\";\r\nexport var mdiFileRemove = \"M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M13,9H18.5L13,3.5V9M10,14.59L7.88,12.46L6.46,13.88L8.59,16L6.46,18.12L7.88,19.54L10,17.41L12.12,19.54L13.54,18.12L11.41,16L13.54,13.88L12.12,12.46L10,14.59Z\";\r\nexport var mdiFileRemoveOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M11.95 15.46L14.08 17.58L12.66 19L10.54 16.87L8.42 19L7 17.58L9.13 15.46L7 13.34L8.42 11.92L10.54 14.05L12.66 11.92L14.08 13.34L11.95 15.46Z\";\r\nexport var mdiFileReplace = \"M14,12H19.5L14,6.5V12M8,5H15L21,11V21A2,2 0 0,1 19,23H8C6.89,23 6,22.1 6,21V18H11V20L15,17L11,14V16H6V7A2,2 0 0,1 8,5M13.5,3H4V16H6V18H4A2,2 0 0,1 2,16V3A2,2 0 0,1 4,1H11.5L13.5,3Z\";\r\nexport var mdiFileReplaceOutline = \"M14,3L12,1H4A2,2 0 0,0 2,3V15A2,2 0 0,0 4,17H11V19L15,16L11,13V15H4V3H14M21,10V21A2,2 0 0,1 19,23H8A2,2 0 0,1 6,21V19H8V21H19V12H14V7H8V13H6V7A2,2 0 0,1 8,5H16L21,10Z\";\r\nexport var mdiFileRestore = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M12,18C9.95,18 8.19,16.76 7.42,15H9.13C9.76,15.9 10.81,16.5 12,16.5A3.5,3.5 0 0,0 15.5,13A3.5,3.5 0 0,0 12,9.5C10.65,9.5 9.5,10.28 8.9,11.4L10.5,13H6.5V9L7.8,10.3C8.69,8.92 10.23,8 12,8A5,5 0 0,1 17,13A5,5 0 0,1 12,18Z\";\r\nexport var mdiFileRestoreOutline = \"M14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2M18 20H6V4H13L18 9V20M17 13.24C17 15.86 14.87 18 12.24 18C10.29 18 8.61 16.82 7.88 15.14H9.5C10.11 16 11.11 16.57 12.24 16.57C14.08 16.57 15.57 15.07 15.57 13.24S14.08 9.9 12.24 9.9C10.95 9.9 9.86 10.65 9.29 11.71L10.81 13.24H7V9.43L8.24 10.67C9.09 9.35 10.55 8.5 12.24 8.5C14.87 8.47 17 10.61 17 13.24Z\";\r\nexport var mdiFileSearch = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H13C12.59,21.75 12.2,21.44 11.86,21.1C9.22,18.67 9.05,14.56 11.5,11.92C13.69,9.5 17.33,9.13 20,11V8L14,2M13,9V3.5L18.5,9H13M20.31,18.9C21.64,16.79 21,14 18.91,12.68C16.8,11.35 14,12 12.69,14.08C11.35,16.19 12,18.97 14.09,20.3C15.55,21.23 17.41,21.23 18.88,20.32L22,23.39L23.39,22L20.31,18.9M16.5,19A2.5,2.5 0 0,1 14,16.5A2.5,2.5 0 0,1 16.5,14A2.5,2.5 0 0,1 19,16.5A2.5,2.5 0 0,1 16.5,19Z\";\r\nexport var mdiFileSearchOutline = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H13C12.59,21.75 12.2,21.44 11.86,21.1C11.53,20.77 11.25,20.4 11,20H6V4H13V9H18V10.18C18.71,10.34 19.39,10.61 20,11V8L14,2M20.31,18.9C21.64,16.79 21,14 18.91,12.68C16.8,11.35 14,12 12.69,14.08C11.35,16.19 12,18.97 14.09,20.3C15.55,21.23 17.41,21.23 18.88,20.32L22,23.39L23.39,22L20.31,18.9M16.5,19A2.5,2.5 0 0,1 14,16.5A2.5,2.5 0 0,1 16.5,14A2.5,2.5 0 0,1 19,16.5A2.5,2.5 0 0,1 16.5,19Z\";\r\nexport var mdiFileSend = \"M14,2H6C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M12.54,19.37V17.37H8.54V15.38H12.54V13.38L15.54,16.38L12.54,19.37M13,9V3.5L18.5,9H13Z\";\r\nexport var mdiFileSendOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M12.54 18.5V16.5H8.54V14.5H12.54V12.5L15.54 15.5L12.54 18.5Z\";\r\nexport var mdiFileSettings = \"M6 0C4.89 0 4 .89 4 2V18A2 2 0 0 0 6 20H18A2 2 0 0 0 20 18V6L14 0H6M13 1.5L18.5 7H13V1.5M7 22V24H9V22H7M11 22V24H13V22H11M15 22V24H17V22H15Z\";\r\nexport var mdiFileSettingsOutline = \"M6 0A2 2 0 0 0 4 2V18A2 2 0 0 0 6 20H18A2 2 0 0 0 20 18V6L14 0H6M6 2H13V7H18V18H6V2M7 22V24H9V22H7M11 22V24H13V22H11M15 22V24H17V22H15Z\";\r\nexport var mdiFileStar = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2M14.5 18.9L12 17.5L9.5 19L10.2 16.2L8 14.3L10.9 14.1L12 11.4L13.1 14L16 14.2L13.8 16.1L14.5 18.9M13 9V3.5L18.5 9H13Z\";\r\nexport var mdiFileStarOutline = \"M14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2M18 20H6V4H13V9H18V20M9.5 18L10.2 15.2L8 13.3L10.9 13.1L12 10.4L13.1 13L16 13.2L13.8 15.1L14.5 17.9L12 16.5L9.5 18Z\";\r\nexport var mdiFileSwap = \"M14 2H6A2 2 0 0 0 4 4V20A2 2 0 0 0 6 22H18A2 2 0 0 0 20 20V8M14 18V16H10V18L7 15L10 12V14H14V12L17 15M13 9V3.5L18.5 9Z\";\r\nexport var mdiFileSwapOutline = \"M17 15L14 12V14H10V12L7 15L10 18V16H14V18M14 2H6A2 2 0 0 0 4 4V20A2 2 0 0 0 6 22H18A2 2 0 0 0 20 20V8L14 2M18 20H6V4H13V9H18Z\";\r\nexport var mdiFileSync = \"M11 17.5C11 13.9 13.9 11 17.5 11C18.4 11 19.2 11.2 20 11.5V8L14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H12.8C11.7 20.8 11 19.2 11 17.5M13 3.5L18.5 9H13V3.5M17 12V13.5C19.2 13.5 21 15.3 21 17.5C21 18.3 20.8 19.1 20.3 19.7L19.2 18.6C19.4 18.3 19.5 17.9 19.5 17.5C19.5 16.1 18.4 15 17 15V16.5L14.8 14.3L17 12M17 23V21.5C14.8 21.5 13 19.7 13 17.5C13 16.7 13.2 15.9 13.7 15.3L14.8 16.4C14.6 16.7 14.5 17.1 14.5 17.5C14.5 18.9 15.6 20 17 20V18.5L19.2 20.7L17 23Z\";\r\nexport var mdiFileSyncOutline = \"M12.8 22H6C4.9 22 4 21.1 4 20V4C4 2.9 4.9 2 6 2H14L20 8V11.5C19.4 11.2 18.7 11.1 18 11V9H13V4H6V20H11.5C11.8 20.7 12.3 21.4 12.8 22M17 12L14.8 14.2L17 16.4V15C18.4 15 19.5 16.1 19.5 17.5C19.5 17.9 19.4 18.3 19.2 18.6L20.3 19.7C20.7 19.1 21 18.3 21 17.5C21 15.3 19.2 13.5 17 13.5V12M19.2 20.8L17 18.5V20C15.6 20 14.5 18.9 14.5 17.5C14.5 17.1 14.6 16.7 14.8 16.4L13.7 15.3C13.3 15.9 13 16.7 13 17.5C13 19.7 14.8 21.5 17 21.5V23L19.2 20.8Z\";\r\nexport var mdiFileTable = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M10,19H7V17H10V19M10,16H7V14H10V16M10,13H7V11H10V13M14,19H11V17H14V19M14,16H11V14H14V16M14,13H11V11H14V13M13,9V3.5L18.5,9H13Z\";\r\nexport var mdiFileTableBox = \"M19 3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.89 20.1 3 19 3M9 18H6V16H9V18M9 15H6V13H9V15M9 12H6V10H9V12M13 18H10V16H13V18M13 15H10V13H13V15M13 12H10V10H13V12Z\";\r\nexport var mdiFileTableBoxMultiple = \"M3 5V21H19V23H3C1.9 23 1 22.1 1 21V5H3M21 1H7C5.89 1 5 1.89 5 3V17C5 18.11 5.9 19 7 19H21C22.11 19 23 18.11 23 17V3C23 1.89 22.1 1 21 1M11 16H8V14H11V16M11 13H8V11H11V13M11 10H8V8H11V10M15 16H12V14H15V16M15 13H12V11H15V13M15 10H12V8H15V10Z\";\r\nexport var mdiFileTableBoxMultipleOutline = \"M3 5V21H19V23H3C1.9 23 1 22.1 1 21V5H3M21 1H7C5.89 1 5 1.89 5 3V17C5 18.1 5.9 19 7 19H21C22.11 19 23 18.11 23 17V3C23 1.9 22.1 1 21 1M21 17H7V3H21V17M11 14H8V16H11V14M15 14H12V16H15V14M11 11H8V13H11V11M15 11H12V13H15V11M11 8H8V10H11V8M15 8H12V10H15V8Z\";\r\nexport var mdiFileTableBoxOutline = \"M19 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3M19 19H5V5H19V19M9 18H6V16H9V18M13 18H10V16H13V18M9 15H6V13H9V15M13 15H10V13H13V15M9 12H6V10H9V12M13 12H10V10H13V12Z\";\r\nexport var mdiFileTableOutline = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M18,20H6V4H13V9H18V20M10,13H7V11H10V13M14,13H11V11H14V13M10,16H7V14H10V16M14,16H11V14H14V16M10,19H7V17H10V19M14,19H11V17H14V19Z\";\r\nexport var mdiFileTree = \"M3,3H9V7H3V3M15,10H21V14H15V10M15,17H21V21H15V17M13,13H7V18H13V20H7L5,20V9H7V11H13V13Z\";\r\nexport var mdiFileTreeOutline = \"M12 13H7V18H12V20H5V10H7V11H12V13M8 4V6H4V4H8M10 2H2V8H10V2M20 11V13H16V11H20M22 9H14V15H22V9M20 18V20H16V18H20M22 16H14V22H22V16Z\";\r\nexport var mdiFileUndo = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M12.16,14.31C10.6,14.31 9.19,14.89 8.11,15.83L6,13.72V19H11.28L9.15,16.88C9.97,16.2 11,15.78 12.16,15.78C14.23,15.78 16,17.13 16.61,19L18,18.54C17.19,16.09 14.88,14.31 12.16,14.31Z\";\r\nexport var mdiFileUndoOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M17 17.61L15.84 18C15.33 16.44 13.86 15.31 12.13 15.31C11.17 15.31 10.31 15.66 9.63 16.23L11.4 18H7V13.6L8.76 15.36C9.66 14.57 10.83 14.09 12.13 14.09C14.4 14.09 16.33 15.57 17 17.61Z\";\r\nexport var mdiFileUpload = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13.5,16V19H10.5V16H8L12,12L16,16H13.5M13,9V3.5L18.5,9H13Z\";\r\nexport var mdiFileUploadOutline = \"M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M18,20V9H13V4H6V20H18M12,12L16,16H13.5V19H10.5V16H8L12,12Z\";\r\nexport var mdiFileVideo = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M17,19V13L14,15.2V13H7V19H14V16.8L17,19Z\";\r\nexport var mdiFileVideoOutline = \"M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M18,20V9H13V4H6V20H18M16,18L13.5,16.3V18H8V13H13.5V14.7L16,13V18Z\";\r\nexport var mdiFileWord = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M15.2,20H13.8L12,13.2L10.2,20H8.8L6.6,11H8.1L9.5,17.8L11.3,11H12.6L14.4,17.8L15.8,11H17.3L15.2,20M13,9V3.5L18.5,9H13Z\";\r\nexport var mdiFileWordBox = \"M15.5,17H14L12,9.5L10,17H8.5L6.1,7H7.8L9.34,14.5L11.3,7H12.7L14.67,14.5L16.2,7H17.9M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiFileWordBoxOutline = \"M5 3C3.89 3 3 3.89 3 5V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3H5M5 5H19V19H5V5M17.9 7L15.5 17H14L12 9.5L10 17H8.5L6.1 7H7.8L9.34 14.5L11.3 7H12.7L14.67 14.5L16.2 7H17.9Z\";\r\nexport var mdiFileWordOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M17.35 10L15.25 19H13.85L12.05 12.21L10.25 19H8.85L6.65 10H8.15L9.55 16.81L11.35 10H12.65L14.45 16.81L15.85 10H17.35Z\";\r\nexport var mdiFilm = \"M3.5,3H5V1.8C5,1.36 5.36,1 5.8,1H10.2C10.64,1 11,1.36 11,1.8V3H12.5A1.5,1.5 0 0,1 14,4.5V5H22V20H14V20.5A1.5,1.5 0 0,1 12.5,22H3.5A1.5,1.5 0 0,1 2,20.5V4.5A1.5,1.5 0 0,1 3.5,3M18,7V9H20V7H18M14,7V9H16V7H14M10,7V9H12V7H10M14,16V18H16V16H14M18,16V18H20V16H18M10,16V18H12V16H10Z\";\r\nexport var mdiFilmstrip = \"M18,9H16V7H18M18,13H16V11H18M18,17H16V15H18M8,9H6V7H8M8,13H6V11H8M8,17H6V15H8M18,3V5H16V3H8V5H6V3H4V21H6V19H8V21H16V19H18V21H20V3H18Z\";\r\nexport var mdiFilmstripBox = \"M19 3C20.1 3 21 3.9 21 5V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19M7 18V16H5V18H7M7 13V11H5V13H7M7 8V6H5V8H7M19 18V16H17V18H19M19 13V11H17V13H19M19 8V6H17V8H19Z\";\r\nexport var mdiFilmstripBoxMultiple = \"M4,6H2V20A2,2 0 0,0 4,22H18V20H4V6M20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M10,15H8V13H10V15M10,11H8V9H10V11M10,7H8V5H10V7M20,15H18V13H20V15M20,11H18V9H20V11M20,7H18V5H20V7Z\";\r\nexport var mdiFilmstripOff = \"M1,4.27L2.28,3L21,21.72L19.73,23L16,19.27V21H8V19H6V21H4V7.27L1,4.27M18,9V7H16V9H18M18,13V11H16V13H18M18,15H16.82L6.82,5H8V3H16V5H18V3H20V18.18L18,16.18V15M8,13V11.27L7.73,11H6V13H8M8,17V15H6V17H8M6,3V4.18L4.82,3H6Z\";\r\nexport var mdiFilter = \"M14,12V19.88C14.04,20.18 13.94,20.5 13.71,20.71C13.32,21.1 12.69,21.1 12.3,20.71L10.29,18.7C10.06,18.47 9.96,18.16 10,17.87V12H9.97L4.21,4.62C3.87,4.19 3.95,3.56 4.38,3.22C4.57,3.08 4.78,3 5,3V3H19V3C19.22,3 19.43,3.08 19.62,3.22C20.05,3.56 20.13,4.19 19.79,4.62L14.03,12H14Z\";\r\nexport var mdiFilterMenu = \"M11 11L16.76 3.62A1 1 0 0 0 16.59 2.22A1 1 0 0 0 16 2H2A1 1 0 0 0 1.38 2.22A1 1 0 0 0 1.21 3.62L7 11V16.87A1 1 0 0 0 7.29 17.7L9.29 19.7A1 1 0 0 0 10.7 19.7A1 1 0 0 0 11 18.87V11M13 16L18 21L23 16Z\";\r\nexport var mdiFilterMenuOutline = \"M12 18.88A1 1 0 0 1 11.71 19.71A1 1 0 0 1 10.3 19.71L6.3 15.71A1 1 0 0 1 6 14.87V9.75L1.21 3.62A1 1 0 0 1 1.38 2.22A1 1 0 0 1 2 2H16A1 1 0 0 1 16.62 2.22A1 1 0 0 1 16.79 3.62L12 9.75V18.88M4 4L8 9.06V14.58L10 16.58V9.05L14 4M13 16L18 21L23 16Z\";\r\nexport var mdiFilterMinus = \"M12 12V19.88C12.04 20.18 11.94 20.5 11.71 20.71C11.32 21.1 10.69 21.1 10.3 20.71L8.29 18.7C8.06 18.47 7.96 18.16 8 17.86V12H7.97L2.21 4.62C1.87 4.19 1.95 3.56 2.38 3.22C2.57 3.08 2.78 3 3 3V3H17V3C17.22 3 17.43 3.08 17.62 3.22C18.05 3.56 18.13 4.19 17.79 4.62L12.03 12H12M15 17H23V19H15V17Z\";\r\nexport var mdiFilterMinusOutline = \"M15 17H23V19H15V17M13 19.88C13.04 20.18 12.94 20.5 12.72 20.71C12.32 21.1 11.69 21.1 11.3 20.71L7.29 16.7C7.06 16.47 6.96 16.16 7 15.87V10.75L2.21 4.62C1.87 4.19 1.95 3.56 2.38 3.22C2.57 3.08 2.78 3 3 3V3H17V3C17.22 3 17.43 3.08 17.62 3.22C18.05 3.56 18.13 4.19 17.79 4.62L13 10.75V19.88M5.04 5L9 10.07V15.58L11 17.58V10.05L14.96 5H5.04Z\";\r\nexport var mdiFilterOff = \"M2.39 1.73L1.11 3L9.5 11.37L9.97 12H10V17.87C9.96 18.16 10.06 18.47 10.29 18.7L12.3 20.71C12.69 21.1 13.32 21.1 13.71 20.71C13.94 20.5 14.04 20.18 14 19.88V15.89L20.84 22.73L22.11 21.46L14 13.35L9.41 8.76L4.15 3.5L2.39 1.73M6.21 3L14.54 11.34L19.79 4.62C20.13 4.19 20.05 3.56 19.62 3.22C19.43 3.08 19.22 3 19 3H6.21Z\";\r\nexport var mdiFilterOffOutline = \"M2.39 1.73L1.11 3L9 10.89V15.87C8.96 16.16 9.06 16.47 9.29 16.7L13.3 20.71C13.69 21.1 14.32 21.1 14.71 20.71C14.94 20.5 15.04 20.18 15 19.88V16.89L20.84 22.73L22.11 21.46L15 14.35V14.34L13 12.35L11 10.34L4.15 3.5L2.39 1.73M6.21 3L8.2 5H16.96L13.11 9.91L15 11.8V10.75L19.79 4.62C20.13 4.19 20.05 3.56 19.62 3.22C19.43 3.08 19.22 3 19 3H6.21M11 12.89L13 14.89V17.58L11 15.58V12.89Z\";\r\nexport var mdiFilterOutline = \"M15,19.88C15.04,20.18 14.94,20.5 14.71,20.71C14.32,21.1 13.69,21.1 13.3,20.71L9.29,16.7C9.06,16.47 8.96,16.16 9,15.87V10.75L4.21,4.62C3.87,4.19 3.95,3.56 4.38,3.22C4.57,3.08 4.78,3 5,3V3H19V3C19.22,3 19.43,3.08 19.62,3.22C20.05,3.56 20.13,4.19 19.79,4.62L15,10.75V19.88M7.04,5L11,10.06V15.58L13,17.58V10.05L16.96,5H7.04Z\";\r\nexport var mdiFilterPlus = \"M12 12V19.88C12.04 20.18 11.94 20.5 11.71 20.71C11.32 21.1 10.69 21.1 10.3 20.71L8.29 18.7C8.06 18.47 7.96 18.16 8 17.87V12H7.97L2.21 4.62C1.87 4.19 1.95 3.56 2.38 3.22C2.57 3.08 2.78 3 3 3H17C17.22 3 17.43 3.08 17.62 3.22C18.05 3.56 18.13 4.19 17.79 4.62L12.03 12H12M15 17H18V14H20V17H23V19H20V22H18V19H15V17Z\";\r\nexport var mdiFilterPlusOutline = \"M15 17H18V14H20V17H23V19H20V22H18V19H15V17M13 19.88C13.04 20.18 12.94 20.5 12.72 20.71C12.32 21.1 11.69 21.1 11.3 20.71L7.29 16.7C7.06 16.47 6.96 16.16 7 15.87V10.75L2.21 4.62C1.87 4.19 1.95 3.56 2.38 3.22C2.57 3.08 2.78 3 3 3V3H17V3C17.22 3 17.43 3.08 17.62 3.22C18.05 3.56 18.13 4.19 17.79 4.62L13 10.75V19.88M5.04 5L9 10.07V15.58L11 17.58V10.05L14.96 5H5.04Z\";\r\nexport var mdiFilterRemove = \"M14.76,20.83L17.6,18L14.76,15.17L16.17,13.76L19,16.57L21.83,13.76L23.24,15.17L20.43,18L23.24,20.83L21.83,22.24L19,19.4L16.17,22.24L14.76,20.83M12,12V19.88C12.04,20.18 11.94,20.5 11.71,20.71C11.32,21.1 10.69,21.1 10.3,20.71L8.29,18.7C8.06,18.47 7.96,18.16 8,17.87V12H7.97L2.21,4.62C1.87,4.19 1.95,3.56 2.38,3.22C2.57,3.08 2.78,3 3,3V3H17V3C17.22,3 17.43,3.08 17.62,3.22C18.05,3.56 18.13,4.19 17.79,4.62L12.03,12H12Z\";\r\nexport var mdiFilterRemoveOutline = \"M14.73,20.83L17.58,18L14.73,15.17L16.15,13.76L19,16.57L21.8,13.76L23.22,15.17L20.41,18L23.22,20.83L21.8,22.24L19,19.4L16.15,22.24L14.73,20.83M13,19.88C13.04,20.18 12.94,20.5 12.71,20.71C12.32,21.1 11.69,21.1 11.3,20.71L7.29,16.7C7.06,16.47 6.96,16.16 7,15.87V10.75L2.21,4.62C1.87,4.19 1.95,3.56 2.38,3.22C2.57,3.08 2.78,3 3,3V3H17V3C17.22,3 17.43,3.08 17.62,3.22C18.05,3.56 18.13,4.19 17.79,4.62L13,10.75V19.88M5.04,5L9,10.06V15.58L11,17.58V10.05L14.96,5H5.04Z\";\r\nexport var mdiFilterVariant = \"M6,13H18V11H6M3,6V8H21V6M10,18H14V16H10V18Z\";\r\nexport var mdiFilterVariantMinus = \"M21 8H3V6H21V8M13.81 16H10V18H13.09C13.21 17.28 13.46 16.61 13.81 16M18 11H6V13H18V11M23 18H15V20H23V18Z\";\r\nexport var mdiFilterVariantPlus = \"M21 8H3V6H21V8M13.81 16H10V18H13.09C13.21 17.28 13.46 16.61 13.81 16M18 11H6V13H18V11M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiFilterVariantRemove = \"M21 8H3V6H21V8M13.81 16H10V18H13.09C13.21 17.28 13.46 16.61 13.81 16M18 11H6V13H18V11M21.12 15.46L19 17.59L16.88 15.46L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\r\nexport var mdiFinance = \"M6,16.5L3,19.44V11H6M11,14.66L9.43,13.32L8,14.64V7H11M16,13L13,16V3H16M18.81,12.81L17,11H22V16L20.21,14.21L13,21.36L9.53,18.34L5.75,22H3L9.47,15.66L13,18.64\";\r\nexport var mdiFindReplace = \"M11,6C12.38,6 13.63,6.56 14.54,7.46L12,10H18V4L15.95,6.05C14.68,4.78 12.93,4 11,4C7.47,4 4.57,6.61 4.08,10H6.1C6.56,7.72 8.58,6 11,6M16.64,15.14C17.3,14.24 17.76,13.17 17.92,12H15.9C15.44,14.28 13.42,16 11,16C9.62,16 8.37,15.44 7.46,14.54L10,12H4V18L6.05,15.95C7.32,17.22 9.07,18 11,18C12.55,18 14,17.5 15.14,16.64L20,21.5L21.5,20L16.64,15.14Z\";\r\nexport var mdiFingerprint = \"M17.81,4.47C17.73,4.47 17.65,4.45 17.58,4.41C15.66,3.42 14,3 12,3C10.03,3 8.15,3.47 6.44,4.41C6.2,4.54 5.9,4.45 5.76,4.21C5.63,3.97 5.72,3.66 5.96,3.53C7.82,2.5 9.86,2 12,2C14.14,2 16,2.47 18.04,3.5C18.29,3.65 18.38,3.95 18.25,4.19C18.16,4.37 18,4.47 17.81,4.47M3.5,9.72C3.4,9.72 3.3,9.69 3.21,9.63C3,9.47 2.93,9.16 3.09,8.93C4.08,7.53 5.34,6.43 6.84,5.66C10,4.04 14,4.03 17.15,5.65C18.65,6.42 19.91,7.5 20.9,8.9C21.06,9.12 21,9.44 20.78,9.6C20.55,9.76 20.24,9.71 20.08,9.5C19.18,8.22 18.04,7.23 16.69,6.54C13.82,5.07 10.15,5.07 7.29,6.55C5.93,7.25 4.79,8.25 3.89,9.5C3.81,9.65 3.66,9.72 3.5,9.72M9.75,21.79C9.62,21.79 9.5,21.74 9.4,21.64C8.53,20.77 8.06,20.21 7.39,19C6.7,17.77 6.34,16.27 6.34,14.66C6.34,11.69 8.88,9.27 12,9.27C15.12,9.27 17.66,11.69 17.66,14.66A0.5,0.5 0 0,1 17.16,15.16A0.5,0.5 0 0,1 16.66,14.66C16.66,12.24 14.57,10.27 12,10.27C9.43,10.27 7.34,12.24 7.34,14.66C7.34,16.1 7.66,17.43 8.27,18.5C8.91,19.66 9.35,20.15 10.12,20.93C10.31,21.13 10.31,21.44 10.12,21.64C10,21.74 9.88,21.79 9.75,21.79M16.92,19.94C15.73,19.94 14.68,19.64 13.82,19.05C12.33,18.04 11.44,16.4 11.44,14.66A0.5,0.5 0 0,1 11.94,14.16A0.5,0.5 0 0,1 12.44,14.66C12.44,16.07 13.16,17.4 14.38,18.22C15.09,18.7 15.92,18.93 16.92,18.93C17.16,18.93 17.56,18.9 17.96,18.83C18.23,18.78 18.5,18.96 18.54,19.24C18.59,19.5 18.41,19.77 18.13,19.82C17.56,19.93 17.06,19.94 16.92,19.94M14.91,22C14.87,22 14.82,22 14.78,22C13.19,21.54 12.15,20.95 11.06,19.88C9.66,18.5 8.89,16.64 8.89,14.66C8.89,13.04 10.27,11.72 11.97,11.72C13.67,11.72 15.05,13.04 15.05,14.66C15.05,15.73 16,16.6 17.13,16.6C18.28,16.6 19.21,15.73 19.21,14.66C19.21,10.89 15.96,7.83 11.96,7.83C9.12,7.83 6.5,9.41 5.35,11.86C4.96,12.67 4.76,13.62 4.76,14.66C4.76,15.44 4.83,16.67 5.43,18.27C5.53,18.53 5.4,18.82 5.14,18.91C4.88,19 4.59,18.87 4.5,18.62C4,17.31 3.77,16 3.77,14.66C3.77,13.46 4,12.37 4.45,11.42C5.78,8.63 8.73,6.82 11.96,6.82C16.5,6.82 20.21,10.33 20.21,14.65C20.21,16.27 18.83,17.59 17.13,17.59C15.43,17.59 14.05,16.27 14.05,14.65C14.05,13.58 13.12,12.71 11.97,12.71C10.82,12.71 9.89,13.58 9.89,14.65C9.89,16.36 10.55,17.96 11.76,19.16C12.71,20.1 13.62,20.62 15.03,21C15.3,21.08 15.45,21.36 15.38,21.62C15.33,21.85 15.12,22 14.91,22Z\";\r\nexport var mdiFingerprintOff = \"M1.5,4.77L2.78,3.5L20.5,21.22L19.23,22.5L16.67,19.94C15.58,19.9 14.62,19.6 13.82,19.05C12.34,18.05 11.46,16.43 11.44,14.71L10.27,13.53C10.03,13.85 9.89,14.23 9.89,14.65C9.89,16.36 10.55,17.96 11.76,19.16C12.71,20.1 13.62,20.62 15.03,21C15.3,21.08 15.45,21.36 15.38,21.62C15.33,21.85 15.12,22 14.91,22H14.78C13.19,21.54 12.15,20.95 11.06,19.88C9.66,18.5 8.89,16.64 8.89,14.66C8.89,13.97 9.14,13.33 9.56,12.83L8.5,11.77C7.78,12.54 7.34,13.55 7.34,14.66C7.34,16.1 7.66,17.43 8.27,18.5C8.91,19.66 9.35,20.15 10.12,20.93C10.31,21.13 10.31,21.44 10.12,21.64C10,21.74 9.88,21.79 9.75,21.79C9.62,21.79 9.5,21.74 9.4,21.64C8.53,20.77 8.06,20.21 7.39,19C6.7,17.77 6.34,16.27 6.34,14.66C6.34,13.28 6.89,12 7.79,11.06L6.7,9.97C6.15,10.5 5.69,11.15 5.35,11.86C4.96,12.67 4.76,13.62 4.76,14.66C4.76,15.44 4.83,16.67 5.43,18.27C5.53,18.53 5.4,18.82 5.14,18.91C4.88,19 4.59,18.87 4.5,18.62C4,17.31 3.77,16 3.77,14.66C3.77,13.46 4,12.37 4.45,11.42C4.84,10.61 5.36,9.88 6,9.26L4.97,8.24C4.58,8.63 4.22,9.05 3.89,9.5C3.81,9.65 3.66,9.72 3.5,9.72L3.21,9.63C3,9.47 2.93,9.16 3.09,8.93C3.45,8.43 3.84,7.96 4.27,7.53L1.5,4.77M17.81,4.47L17.58,4.41C15.66,3.42 14,3 12,3C10.03,3 8.15,3.47 6.44,4.41L6.29,4.46L5.71,3.89C5.73,3.74 5.82,3.61 5.96,3.53C7.82,2.5 9.86,2 12,2C14.14,2 16,2.47 18.04,3.5C18.29,3.65 18.38,3.95 18.25,4.19C18.16,4.37 18,4.47 17.81,4.47M17.15,5.65C18.65,6.42 19.91,7.5 20.9,8.9C21.06,9.12 21,9.44 20.78,9.6C20.55,9.76 20.24,9.71 20.08,9.5C19.18,8.22 18.04,7.23 16.69,6.54C14.06,5.19 10.76,5.08 8.03,6.21L7.27,5.45C10.34,4.04 14.14,4.1 17.15,5.65M12,9.27C15.12,9.27 17.66,11.69 17.66,14.66A0.5,0.5 0 0,1 17.16,15.16L16.93,15.11L16.72,14.89L16.66,14.66C16.66,12.27 14.62,10.32 12.09,10.27L11.15,9.33L12,9.27M14.38,18.22C14.71,18.45 15.07,18.62 15.47,18.73L12.63,15.9C12.92,16.82 13.53,17.65 14.38,18.22M19.21,14.66C19.21,10.89 15.96,7.83 11.96,7.83C11.26,7.83 10.58,7.93 9.93,8.11L9.12,7.3C10,7 10.97,6.82 11.96,6.82C16.5,6.82 20.21,10.33 20.21,14.65C20.21,15.65 19.69,16.53 18.89,17.06L18.17,16.34C18.79,16 19.21,15.38 19.21,14.66Z\";\r\nexport var mdiFire = \"M17.66 11.2C17.43 10.9 17.15 10.64 16.89 10.38C16.22 9.78 15.46 9.35 14.82 8.72C13.33 7.26 13 4.85 13.95 3C13 3.23 12.17 3.75 11.46 4.32C8.87 6.4 7.85 10.07 9.07 13.22C9.11 13.32 9.15 13.42 9.15 13.55C9.15 13.77 9 13.97 8.8 14.05C8.57 14.15 8.33 14.09 8.14 13.93C8.08 13.88 8.04 13.83 8 13.76C6.87 12.33 6.69 10.28 7.45 8.64C5.78 10 4.87 12.3 5 14.47C5.06 14.97 5.12 15.47 5.29 15.97C5.43 16.57 5.7 17.17 6 17.7C7.08 19.43 8.95 20.67 10.96 20.92C13.1 21.19 15.39 20.8 17.03 19.32C18.86 17.66 19.5 15 18.56 12.72L18.43 12.46C18.22 12 17.66 11.2 17.66 11.2M14.5 17.5C14.22 17.74 13.76 18 13.4 18.1C12.28 18.5 11.16 17.94 10.5 17.28C11.69 17 12.4 16.12 12.61 15.23C12.78 14.43 12.46 13.77 12.33 13C12.21 12.26 12.23 11.63 12.5 10.94C12.69 11.32 12.89 11.7 13.13 12C13.9 13 15.11 13.44 15.37 14.8C15.41 14.94 15.43 15.08 15.43 15.23C15.46 16.05 15.1 16.95 14.5 17.5H14.5Z\";\r\nexport var mdiFireAlert = \"M15.66 11.2C15.43 10.9 15.15 10.64 14.89 10.38C14.22 9.78 13.46 9.35 12.82 8.72C11.33 7.26 11 4.85 11.95 3C11 3.23 10.17 3.75 9.46 4.32C6.87 6.4 5.85 10.07 7.07 13.22C7.11 13.32 7.15 13.42 7.15 13.55C7.15 13.77 7 13.97 6.8 14.05C6.57 14.15 6.33 14.09 6.14 13.93C6.08 13.88 6.04 13.83 6 13.76C4.87 12.33 4.69 10.28 5.45 8.64C3.78 10 2.87 12.3 3 14.47C3.06 14.97 3.12 15.47 3.29 15.97C3.43 16.57 3.7 17.17 4 17.7C5.08 19.43 6.95 20.67 8.96 20.92C11.1 21.19 13.39 20.8 15.03 19.32C16.86 17.66 17.5 15 16.56 12.72L16.43 12.46C16.22 12 15.66 11.2 15.66 11.2M12.5 17.5C12.22 17.74 11.76 18 11.4 18.1C10.28 18.5 9.16 17.94 8.5 17.28C9.69 17 10.4 16.12 10.61 15.23C10.78 14.43 10.46 13.77 10.33 13C10.21 12.26 10.23 11.63 10.5 10.94C10.69 11.32 10.89 11.7 11.13 12C11.9 13 13.11 13.44 13.37 14.8C13.41 14.94 13.43 15.08 13.43 15.23C13.46 16.05 13.1 16.95 12.5 17.5H12.5M21 13H19V7H21V13M21 17H19V15H21V17Z\";\r\nexport var mdiFireCircle = \"M14.66 14.18C14.69 14.29 14.7 14.4 14.7 14.5C14.73 15.15 14.44 15.85 13.97 16.28C13.75 16.47 13.39 16.67 13.11 16.75C12.23 17.06 11.35 16.62 10.83 16.11C11.77 15.89 12.32 15.21 12.5 14.5C12.62 13.89 12.37 13.38 12.27 12.78C12.17 12.2 12.19 11.71 12.4 11.18C12.55 11.47 12.71 11.77 12.9 12C13.5 12.78 14.45 13.12 14.66 14.18M22 12C22 17.5 17.5 22 12 22S2 17.5 2 12 6.5 2 12 2 22 6.5 22 12M17.16 12.56L17.06 12.36C16.9 12 16.45 11.38 16.45 11.38C16.27 11.15 16.05 10.94 15.85 10.74C15.32 10.27 14.73 9.94 14.22 9.45C13.05 8.31 12.79 6.44 13.54 5C12.79 5.18 12.14 5.58 11.58 6.03C9.55 7.65 8.75 10.5 9.71 12.95C9.74 13.03 9.77 13.11 9.77 13.21C9.77 13.38 9.65 13.53 9.5 13.6C9.31 13.67 9.13 13.63 9 13.5C8.93 13.46 8.9 13.42 8.87 13.37C8 12.26 7.84 10.66 8.43 9.39C7.12 10.45 6.41 12.24 6.5 13.92C6.56 14.31 6.6 14.7 6.74 15.09C6.85 15.56 7.06 16 7.3 16.44C8.14 17.78 9.61 18.75 11.19 18.94C12.87 19.15 14.67 18.85 15.96 17.7C17.4 16.4 17.9 14.33 17.16 12.56Z\";\r\nexport var mdiFireExtinguisher = \"M10.5,7H11.75L12,5H10.25L6,7.5V9H4V6.5L10,3H12V2H14V3H16L17,2.5V5.5L16,5H14L14.25,7H15.5A1.5,1.5 0 0,1 17,8.5V22H9V8.5A1.5,1.5 0 0,1 10.5,7Z\";\r\nexport var mdiFireHydrant = \"M5 15V14H4V12H5V11H7V15H5M19 12V11H17V15H19V14H20V12H19M18 6H15.86C15.5 4.6 14.4 3.5 13 3.14V2H11V3.14C9.6 3.5 8.5 4.6 8.14 6H6V8H18V6M18 22H6C6 20.9 6.9 20 8 20V9H16V20C17.11 20 18 20.9 18 22M10 13C10 14.11 10.9 15 12 15S14 14.11 14 13 13.11 11 12 11 10 11.9 10 13Z\";\r\nexport var mdiFireHydrantAlert = \"M22 7H20V13H22V7M22 15H20V17H22V15M3 15V14H2V12H3V11H5V15H3M17 12V11H15V15H17V14H18V12H17M16 6H13.86C13.5 4.6 12.4 3.5 11 3.14V2H9V3.14C7.6 3.5 6.5 4.6 6.14 6H4V8H16V6M16 22H4C4 20.9 4.89 20 6 20V9H14V20C15.11 20 16 20.9 16 22M8 13C8 14.11 8.9 15 10 15S12 14.11 12 13 11.11 11 10 11 8 11.9 8 13Z\";\r\nexport var mdiFireHydrantOff = \"M20.84 22.73L22.11 21.46L2.39 1.73L1.11 3L8 9.89V20C6.9 20 6 20.9 6 22H18C18 20.9 17.11 20 16 20V17.89L20.84 22.73M10.22 12.11L12.89 14.78C12.62 14.92 12.32 15 12 15C10.9 15 10 14.11 10 13C10 12.68 10.08 12.38 10.22 12.11M11.2 8L8.44 5.24C8.94 4.21 9.87 3.43 11 3.14V2H13V3.14C14.4 3.5 15.5 4.6 15.86 6H18V8H11.2M19 11V12H20V14H19V15H18.2L17 13.8V11H19M5 15V14H4V12H5V11H7V15H5M16 12.8L12.2 9H16V12.8Z\";\r\nexport var mdiFireOff = \"M22.11 21.46L2.39 1.73L1.11 3L7.09 9C5.66 10.36 4.88 12.47 5 14.47C5.06 14.97 5.12 15.47 5.29 15.97C5.43 16.57 5.7 17.17 6 17.7C7.08 19.43 8.95 20.67 10.96 20.92C13.1 21.19 15.39 20.8 17.03 19.32C17.1 19.26 17.15 19.18 17.22 19.11L20.84 22.73L22.11 21.46M8.8 14.05C8.57 14.15 8.33 14.09 8.14 13.93C8.08 13.88 8.04 13.83 8 13.76C7 12.47 6.74 10.69 7.26 9.15L8.58 10.47C8.58 11.4 8.73 12.33 9.07 13.22C9.11 13.32 9.15 13.42 9.15 13.55C9.15 13.77 9 13.97 8.8 14.05M14.5 17.5C14.22 17.74 13.76 18 13.4 18.1C12.28 18.5 11.16 17.94 10.5 17.28C11.69 17 12.4 16.12 12.61 15.23C12.66 15 12.66 14.76 12.64 14.53L15 16.88C14.85 17.11 14.69 17.33 14.5 17.5M18.92 15.72L9.65 6.46C10.12 5.65 10.72 4.92 11.46 4.32C12.17 3.75 13 3.23 13.95 3C13 4.85 13.33 7.26 14.82 8.72C15.46 9.35 16.22 9.78 16.89 10.38C17.15 10.64 17.43 10.9 17.66 11.2C17.66 11.2 18.22 12 18.43 12.46L18.56 12.72C18.96 13.69 19.06 14.72 18.92 15.72Z\";\r\nexport var mdiFireTruck = \"M17.04,2C16.85,2 16.66,2.04 16.5,2.14L5.59,8.5H9.55L17.5,3.86C18,3.58 18.13,2.97 17.85,2.5C17.68,2.2 17.38,2 17.04,2M16,8V10H3A2,2 0 0,0 1,12H2V15H1V19H3A3,3 0 0,0 6,22A3,3 0 0,0 9,19H15A3,3 0 0,0 18,22A3,3 0 0,0 21,19H23V12.5L19.5,8H16M18,9.5H19L21.5,12.5V13.5H18V9.5M4,12H7V15H4V12M9,12H12V15H9V12M14,12H16V15H14V12M6,17.5A1.5,1.5 0 0,1 7.5,19A1.5,1.5 0 0,1 6,20.5A1.5,1.5 0 0,1 4.5,19A1.5,1.5 0 0,1 6,17.5M18,17.5A1.5,1.5 0 0,1 19.5,19A1.5,1.5 0 0,1 18,20.5A1.5,1.5 0 0,1 16.5,19A1.5,1.5 0 0,1 18,17.5Z\";\r\nexport var mdiFirebase = \"M20,18.69L12.7,22.74C12.2,23 11.7,23 11.2,22.74L4,18.69L17.05,5.54L17.4,5.44C17.7,5.44 17.87,5.57 17.9,5.84L20,18.69M9.35,5.74L4.8,13.29L6.7,1.34C6.73,1.07 6.9,0.94 7.2,0.94C7.4,0.94 7.53,1 7.6,1.19L9.75,5.14L9.35,5.74M13.85,7L4.3,16.59L11.55,4.29C11.65,4.09 11.8,4 12,4C12.2,4 12.33,4.09 12.4,4.29L13.85,7Z\";\r\nexport var mdiFirefox = \"M9.27 7.94C9.27 7.94 9.27 7.94 9.27 7.94M6.85 6.74C6.86 6.74 6.86 6.74 6.85 6.74M21.28 8.6C20.85 7.55 19.96 6.42 19.27 6.06C19.83 7.17 20.16 8.28 20.29 9.1L20.29 9.12C19.16 6.3 17.24 5.16 15.67 2.68C15.59 2.56 15.5 2.43 15.43 2.3C15.39 2.23 15.36 2.16 15.32 2.09C15.26 1.96 15.2 1.83 15.17 1.69C15.17 1.68 15.16 1.67 15.15 1.67H15.13L15.12 1.67L15.12 1.67L15.12 1.67C12.9 2.97 11.97 5.26 11.74 6.71C11.05 6.75 10.37 6.92 9.75 7.22C9.63 7.27 9.58 7.41 9.62 7.53C9.67 7.67 9.83 7.74 9.96 7.68C10.5 7.42 11.1 7.27 11.7 7.23L11.75 7.23C11.83 7.22 11.92 7.22 12 7.22C12.5 7.21 12.97 7.28 13.44 7.42L13.5 7.44C13.6 7.46 13.67 7.5 13.75 7.5C13.8 7.54 13.86 7.56 13.91 7.58L14.05 7.64C14.12 7.67 14.19 7.7 14.25 7.73C14.28 7.75 14.31 7.76 14.34 7.78C14.41 7.82 14.5 7.85 14.54 7.89C14.58 7.91 14.62 7.94 14.66 7.96C15.39 8.41 16 9.03 16.41 9.77C15.88 9.4 14.92 9.03 14 9.19C17.6 11 16.63 17.19 11.64 16.95C11.2 16.94 10.76 16.85 10.34 16.7C10.24 16.67 10.14 16.63 10.05 16.58C10 16.56 9.93 16.53 9.88 16.5C8.65 15.87 7.64 14.68 7.5 13.23C7.5 13.23 8 11.5 10.83 11.5C11.14 11.5 12 10.64 12.03 10.4C12.03 10.31 10.29 9.62 9.61 8.95C9.24 8.59 9.07 8.42 8.92 8.29C8.84 8.22 8.75 8.16 8.66 8.1C8.43 7.3 8.42 6.45 8.63 5.65C7.6 6.12 6.8 6.86 6.22 7.5H6.22C5.82 7 5.85 5.35 5.87 5C5.86 5 5.57 5.16 5.54 5.18C5.19 5.43 4.86 5.71 4.56 6C4.21 6.37 3.9 6.74 3.62 7.14C3 8.05 2.5 9.09 2.28 10.18C2.28 10.19 2.18 10.59 2.11 11.1L2.08 11.33C2.06 11.5 2.04 11.65 2 11.91L2 11.94L2 12.27L2 12.32C2 17.85 6.5 22.33 12 22.33C16.97 22.33 21.08 18.74 21.88 14C21.9 13.89 21.91 13.76 21.93 13.63C22.13 11.91 21.91 10.11 21.28 8.6Z\";\r\nexport var mdiFireplace = \"M22,22H2V20H22V22M22,6H2V3H22V6M20,7V19H17V11C17,11 14.5,10 12,10C9.5,10 7,11 7,11V19H4V7H20M14.5,14.67H14.47L14.81,15.22L14.87,15.34C15.29,16.35 15,17.5 14.21,18.24C13.5,18.9 12.5,19.07 11.58,18.95C10.71,18.84 9.9,18.29 9.45,17.53C9.3,17.3 9.19,17.03 9.13,16.77L9,16.11C8.96,15.15 9.34,14.14 10.06,13.54C9.73,14.26 9.81,15.16 10.3,15.79L10.36,15.87C10.44,15.94 10.55,15.97 10.64,15.92C10.73,15.89 10.8,15.8 10.8,15.7L10.76,15.56C10.23,14.17 10.68,12.55 11.79,11.63C12.1,11.38 12.5,11.15 12.87,11.05C12.46,11.87 12.61,12.93 13.25,13.57L14.14,14.3L14.5,14.67M13.11,17.44V17.44C13.37,17.2 13.53,16.8 13.5,16.44V16.25C13.38,15.65 12.85,15.46 12.5,15L12.26,14.55C12.13,14.85 12.12,15.13 12.17,15.46C12.23,15.8 12.37,16.09 12.29,16.44C12.2,16.83 11.9,17.22 11.37,17.35C11.67,17.64 12.15,17.87 12.64,17.71L13.11,17.44Z\";\r\nexport var mdiFireplaceOff = \"M22,22H2V20H22V22M22,6H2V3H22V6M20,7V19H17V11C17,11 14.5,10 12,10C9.5,10 7,11 7,11V19H4V7H20Z\";\r\nexport var mdiFirewire = \"M12 10C13.1 10 14 10.9 14 12S13.1 14 12 14 10 13.1 10 12 10.9 10 12 10M12 8C9.8 8 8 9.8 8 12S9.8 16 12 16 16 14.2 16 12 14.2 8 12 8M15 17H9V19H15V17M15 20H9V22H15V20M6.3 10.6L10.5 6.4L9.2 4.9L4.9 9.2L6.3 10.6M4.2 8.5L8.4 4.3L7.1 2.8L2.8 7.1L4.2 8.5M15 17H9V19H15V17M13.4 6.3L17.6 10.5L21.1 7L16.9 2.8L13.4 6.3Z\";\r\nexport var mdiFirework = \"M5.8,16.59L4.5,15.28L12.26,7.5L16.5,11.74L8.72,19.5L7.29,18.09C7.04,18.16 6.8,18.28 6.63,18.5C6.57,18.57 6.5,18.65 6.5,18.74C6.42,18.88 6.38,19 6.32,19.15C6.21,19.42 6.09,19.69 5.93,19.93C5.81,20.1 5.68,20.26 5.53,20.39C5.42,20.5 5.29,20.59 5.16,20.66C5.08,20.71 5,20.76 4.9,20.79C4.3,21.04 3.63,21 3,21V19C3.23,19 3.83,19 3.9,19C4,19 4.08,19 4.16,18.94C4.18,18.92 4.19,18.91 4.21,18.89C4.28,18.81 4.34,18.7 4.39,18.6C4.47,18.42 4.53,18.24 4.6,18.06L4.64,17.96C4.76,17.69 4.9,17.45 5.08,17.23C5.18,17.1 5.3,17 5.42,16.87C5.54,16.77 5.66,16.67 5.8,16.59M21,3L19.88,11.19L12.81,4.12L21,3Z\";\r\nexport var mdiFireworkOff = \"M20.84 22.73L13.17 15.06L8.72 19.5L7.29 18.09C7.04 18.16 6.8 18.28 6.63 18.5C6.57 18.57 6.5 18.65 6.5 18.74C6.42 18.88 6.38 19 6.32 19.15C6.21 19.42 6.09 19.69 5.93 19.93C5.81 20.1 5.68 20.26 5.53 20.39C5.42 20.5 5.29 20.59 5.16 20.66C5.08 20.71 5 20.76 4.9 20.79C4.3 21.04 3.63 21 3 21V19H3.9C4 19 4.08 19 4.16 18.94L4.21 18.89C4.28 18.81 4.34 18.7 4.39 18.6C4.47 18.42 4.53 18.24 4.6 18.06L4.64 17.96C4.76 17.69 4.9 17.45 5.08 17.23C5.18 17.1 5.3 17 5.42 16.87C5.54 16.77 5.66 16.67 5.8 16.59L4.5 15.28L8.94 10.83L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M21 3L12.81 4.12L19.88 11.19L21 3M16.5 11.74L12.26 7.5L11.5 8.28L15.72 12.5L16.5 11.74Z\";\r\nexport var mdiFish = \"M12,20L12.76,17C9.5,16.79 6.59,15.4 5.75,13.58C5.66,14.06 5.53,14.5 5.33,14.83C4.67,16 3.33,16 2,16C3.1,16 3.5,14.43 3.5,12.5C3.5,10.57 3.1,9 2,9C3.33,9 4.67,9 5.33,10.17C5.53,10.5 5.66,10.94 5.75,11.42C6.4,10 8.32,8.85 10.66,8.32L9,5C11,5 13,5 14.33,5.67C15.46,6.23 16.11,7.27 16.69,8.38C19.61,9.08 22,10.66 22,12.5C22,14.38 19.5,16 16.5,16.66C15.67,17.76 14.86,18.78 14.17,19.33C13.33,20 12.67,20 12,20M17,11A1,1 0 0,0 16,12A1,1 0 0,0 17,13A1,1 0 0,0 18,12A1,1 0 0,0 17,11Z\";\r\nexport var mdiFishOff = \"M20.8 22.7L15.7 17.6C15.1 18.3 14.6 18.9 14.1 19.3C13.3 20 12.7 20 12 20L12.8 17C9.5 16.8 6.6 15.4 5.8 13.6C5.7 14.1 5.6 14.5 5.4 14.8C4.7 16 3.3 16 2 16C3.1 16 3.5 14.4 3.5 12.5S3.1 9 2 9C3.3 9 4.7 9 5.3 10.2C5.5 10.5 5.6 11 5.7 11.4C6 10.7 6.7 10 7.6 9.5L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M9.8 6.6L9 5C11 5 13 5 14.3 5.7C15.4 6.3 16.1 7.3 16.7 8.4C19.6 9.1 22 10.7 22 12.5C22 13.8 20.8 15 19 15.8L9.8 6.6M16 12C16 12.6 16.4 13 17 13S18 12.6 18 12 17.6 11 17 11 16 11.4 16 12Z\";\r\nexport var mdiFishbowl = \"M19.11,5H21V3H3V5H4.89C3.11,6.8 2,9.27 2,12C2,15.97 4.31,19.39 7.66,21H16.34C19.69,19.39 22,15.97 22,12C22,9.27 20.89,6.8 19.11,5M13.25,17C12.09,17 11.06,16.64 10.33,16.17C9.67,17 8.33,17 7,17C8.1,17 8.5,15.88 8.5,14.5C8.5,13.12 8.1,12 7,12C8.33,12 9.67,12 10.37,12.91C11.06,12.36 12.09,12 13.25,12C15.32,12 17,13.12 17,14.5C17,15.88 15.32,17 13.25,17M16,7C13.56,8.71 10.44,8.71 8,7C7.06,7.66 6,8.09 4.95,8.25C5.31,7.58 5.77,6.96 6.32,6.41L7.7,5H16.3L17.68,6.41C18.23,6.96 18.69,7.58 19.05,8.25C18,8.09 16.94,7.66 16,7Z\";\r\nexport var mdiFishbowlOutline = \"M19.11,5H21V3H3V5H4.89C3.11,6.8 2,9.27 2,12C2,15.97 4.31,19.39 7.66,21H16.34C19.69,19.39 22,15.97 22,12C22,9.27 20.89,6.8 19.11,5M6.32,6.41L7.7,5H16.3L17.68,6.41C18.23,6.96 18.69,7.58 19.05,8.25C18,8.09 16.94,7.66 16,7C13.56,8.71 10.44,8.71 8,7C7.06,7.66 6,8.09 4.95,8.25C5.31,7.58 5.77,6.96 6.32,6.41M15.85,19H8.15C5.58,17.59 4,14.95 4,12C4,11.43 4.07,10.86 4.19,10.32C5.5,10.29 6.8,9.95 8,9.33C10.5,10.63 13.5,10.63 16,9.33C17.2,9.95 18.5,10.29 19.81,10.32C19.93,10.86 20,11.43 20,12C20,14.95 18.42,17.59 15.85,19M17,14.5C17,15.88 15.32,17 13.25,17C12.09,17 11.06,16.64 10.33,16.16C9.67,17 8.33,17 7,17C8.1,17 8.5,15.88 8.5,14.5C8.5,13.12 8.1,12 7,12C8.33,12 9.67,12 10.37,12.91C11.06,12.36 12.09,12 13.25,12C15.32,12 17,13.12 17,14.5Z\";\r\nexport var mdiFitToPage = \"M20,2H4C2.89,2 2,2.89 2,4V20C2,21.11 2.89,22 4,22H20C21.11,22 22,21.11 22,20V4C22,2.89 21.11,2 20,2M12,4L15,7H13V9H11V7H9M7,15L4,12L7,9V11H9V13H7M12,20L9,17H11V15H13V17H15M17,15V13H15V11H17V9L20,12\";\r\nexport var mdiFitToPageOutline = \"M20,2H4C2.89,2 2,2.89 2,4V20C2,21.11 2.89,22 4,22H20C21.11,22 22,21.11 22,20V4C22,2.89 21.11,2 20,2M20,20H4V4H20M13,8V10H11V8H9L12,5L15,8M16,15V13H14V11H16V9L19,12M10,13H8V15L5,12L8,9V11H10M15,16L12,19L9,16H11V14H13V16\";\r\nexport var mdiFlag = \"M14.4,6L14,4H5V21H7V14H12.6L13,16H20V6H14.4Z\";\r\nexport var mdiFlagCheckered = \"M14.4,6H20V16H13L12.6,14H7V21H5V4H14L14.4,6M14,14H16V12H18V10H16V8H14V10L13,8V6H11V8H9V6H7V8H9V10H7V12H9V10H11V12H13V10L14,12V14M11,10V8H13V10H11M14,10H16V12H14V10Z\";\r\nexport var mdiFlagMinus = \"M12.4,5H18V15H11L10.6,13H5V20H3V3H12L12.4,5M14,17H22V19H14V17Z\";\r\nexport var mdiFlagMinusOutline = \"M12.36 6L12.76 8H18V14H14.64L14.24 12H7V6H12.36M14 4H5V21H7V14H12.6L13 16H20V6H14.4M23 18H15V20H23V18Z\";\r\nexport var mdiFlagOutline = \"M12.36,6L12.76,8H18V14H14.64L14.24,12H7V6H12.36M14,4H5V21H7V14H12.6L13,16H20V6H14.4\";\r\nexport var mdiFlagPlus = \"M17,14H19V17H22V19H19V22H17V19H14V17H17V14M12.4,5H18V12C15.78,12 13.84,13.21 12.8,15H11L10.6,13H5V20H3V3H12L12.4,5Z\";\r\nexport var mdiFlagPlusOutline = \"M13 16L12.6 14H7V21H5V4H14L14.4 6H20V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V8H12.76L12.36 6H7V12H14.24L14.64 14H15.69C14.92 14.5 14.27 15.2 13.81 16H13M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiFlagRemove = \"M14.46,15.88L15.88,14.46L18,16.59L20.12,14.46L21.54,15.88L19.41,18L21.54,20.12L20.12,21.54L18,19.41L15.88,21.54L14.46,20.12L16.59,18L14.46,15.88M12.4,5H18V12C15.78,12 13.84,13.21 12.8,15H11L10.6,13H5V20H3V3H12L12.4,5Z\";\r\nexport var mdiFlagRemoveOutline = \"M13 16L12.6 14H7V21H5V4H14L14.4 6H20V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V8H12.76L12.36 6H7V12H14.24L14.64 14H15.69C14.92 14.5 14.27 15.2 13.81 16H13M21.12 15.46L19 17.59L16.88 15.46L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\r\nexport var mdiFlagTriangle = \"M7,2H9V22H7V2M19,9L11,14.6V3.4L19,9Z\";\r\nexport var mdiFlagVariant = \"M6,3A1,1 0 0,1 7,4V4.88C8.06,4.44 9.5,4 11,4C14,4 14,6 16,6C19,6 20,4 20,4V12C20,12 19,14 16,14C13,14 13,12 11,12C8,12 7,14 7,14V21H5V4A1,1 0 0,1 6,3Z\";\r\nexport var mdiFlagVariantOutline = \"M6,3A1,1 0 0,1 7,4V4.88C8.06,4.44 9.5,4 11,4C14,4 14,6 16,6C19,6 20,4 20,4V12C20,12 19,14 16,14C13,14 13,12 11,12C8,12 7,14 7,14V21H5V4A1,1 0 0,1 6,3M7,7.25V11.5C7,11.5 9,10 11,10C13,10 14,12 16,12C18,12 18,11 18,11V7.5C18,7.5 17,8 16,8C14,8 13,6 11,6C9,6 7,7.25 7,7.25Z\";\r\nexport var mdiFlare = \"M7,11H1V13H7V11M9.17,7.76L7.05,5.64L5.64,7.05L7.76,9.17L9.17,7.76M13,1H11V7H13V1M18.36,7.05L16.95,5.64L14.83,7.76L16.24,9.17L18.36,7.05M17,11V13H23V11H17M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M14.83,16.24L16.95,18.36L18.36,16.95L16.24,14.83L14.83,16.24M5.64,16.95L7.05,18.36L9.17,16.24L7.76,14.83L5.64,16.95M11,23H13V17H11V23Z\";\r\nexport var mdiFlash = \"M7,2V13H10V22L17,10H13L17,2H7Z\";\r\nexport var mdiFlashAlert = \"M5,2V13H8V22L15,10H11L15,2M17,15H19V17H17V15M17,7H19V13H17V7Z\";\r\nexport var mdiFlashAlertOutline = \"M5,2H15L11.5,9H15L8,22V14H5V2M7,4V12H10V14.66L12,11H8.24L11.76,4M17,15H19V17H17V15M17,7H19V13H17V7Z\";\r\nexport var mdiFlashAuto = \"M16.85,7.65L18,4L19.15,7.65M19,2H17L13.8,11H15.7L16.4,9H19.6L20.3,11H22.2M3,2V14H6V23L13,11H9L13,2H3Z\";\r\nexport var mdiFlashOff = \"M17,10H13L17,2H7V4.18L15.46,12.64M3.27,3L2,4.27L7,9.27V13H10V22L13.58,15.86L17.73,20L19,18.73L3.27,3Z\";\r\nexport var mdiFlashOutline = \"M7,2H17L13.5,9H17L10,22V14H7V2M9,4V12H12V14.66L14,11H10.24L13.76,4H9Z\";\r\nexport var mdiFlashRedEye = \"M16,5C15.44,5 15,5.44 15,6C15,6.56 15.44,7 16,7C16.56,7 17,6.56 17,6C17,5.44 16.56,5 16,5M16,2C13.27,2 10.94,3.66 10,6C10.94,8.34 13.27,10 16,10C18.73,10 21.06,8.34 22,6C21.06,3.66 18.73,2 16,2M16,3.5A2.5,2.5 0 0,1 18.5,6A2.5,2.5 0 0,1 16,8.5A2.5,2.5 0 0,1 13.5,6A2.5,2.5 0 0,1 16,3.5M3,2V14H6V23L13,11H9L10.12,8.5C9.44,7.76 8.88,6.93 8.5,6C9.19,4.29 10.5,2.88 12.11,2H3Z\";\r\nexport var mdiFlashlight = \"M9,10L6,5H18L15,10H9M18,4H6V2H18V4M9,22V11H15V22H9M12,13A1,1 0 0,0 11,14A1,1 0 0,0 12,15A1,1 0 0,0 13,14A1,1 0 0,0 12,13Z\";\r\nexport var mdiFlashlightOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L15,18.27V22H9V12.27L2,5.27M18,5L15,10H11.82L6.82,5H18M18,4H6V2H18V4M15,11V13.18L12.82,11H15Z\";\r\nexport var mdiFlask = \"M6,22A3,3 0 0,1 3,19C3,18.4 3.18,17.84 3.5,17.37L9,7.81V6A1,1 0 0,1 8,5V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V5A1,1 0 0,1 15,6V7.81L20.5,17.37C20.82,17.84 21,18.4 21,19A3,3 0 0,1 18,22H6M5,19A1,1 0 0,0 6,20H18A1,1 0 0,0 19,19C19,18.79 18.93,18.59 18.82,18.43L16.53,14.47L14,17L8.93,11.93L5.18,18.43C5.07,18.59 5,18.79 5,19M13,10A1,1 0 0,0 12,11A1,1 0 0,0 13,12A1,1 0 0,0 14,11A1,1 0 0,0 13,10Z\";\r\nexport var mdiFlaskEmpty = \"M6,22A3,3 0 0,1 3,19C3,18.4 3.18,17.84 3.5,17.37L9,7.81V6A1,1 0 0,1 8,5V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V5A1,1 0 0,1 15,6V7.81L20.5,17.37C20.82,17.84 21,18.4 21,19A3,3 0 0,1 18,22H6Z\";\r\nexport var mdiFlaskEmptyMinus = \"M23 17V19H15V17H23M6 22C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C14.92 12.84 13 15.2 13 18C13 19.54 13.58 20.94 14.53 22H6Z\";\r\nexport var mdiFlaskEmptyMinusOutline = \"M23 17V19H15V17H23M5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C16.86 12.35 16.24 12.63 15.69 13L13 8.35V4H11V8.35L5.18 18.43C5.07 18.59 5 18.79 5 19Z\";\r\nexport var mdiFlaskEmptyOff = \"M20.8 22.7L19.6 21.5C19.1 21.8 18.6 22 18 22H6C4.3 22 3 20.7 3 19C3 18.4 3.2 17.8 3.5 17.4L7.9 9.8L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M15 7.8V6C15.6 6 16 5.6 16 5V4C16 2.9 15.1 2 14 2H10C8.9 2 8 2.9 8 4V4.8L20.4 17.2L15 7.8Z\";\r\nexport var mdiFlaskEmptyOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L7.9 9.8L3.5 17.4C3.2 17.8 3 18.4 3 19C3 20.7 4.3 22 6 22H18C18.6 22 19.2 21.8 19.6 21.5L20.8 22.7L22.1 21.5M18 20H6C5.4 20 5 19.6 5 19C5 18.8 5.1 18.6 5.2 18.4L9.4 11.2L18 20C18.1 20 18 20 18 20M11 7.8L8 4.8V4C8 2.9 8.9 2 10 2H14C15.1 2 16 2.9 16 4V5C16 5.6 15.6 6 15 6V7.8L20.4 17.2L15 11.8L13 8.4V4H11V7.8Z\";\r\nexport var mdiFlaskEmptyOutline = \"M5,19A1,1 0 0,0 6,20H18A1,1 0 0,0 19,19C19,18.79 18.93,18.59 18.82,18.43L13,8.35V4H11V8.35L5.18,18.43C5.07,18.59 5,18.79 5,19M6,22A3,3 0 0,1 3,19C3,18.4 3.18,17.84 3.5,17.37L9,7.81V6A1,1 0 0,1 8,5V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V5A1,1 0 0,1 15,6V7.81L20.5,17.37C20.82,17.84 21,18.4 21,19A3,3 0 0,1 18,22H6Z\";\r\nexport var mdiFlaskEmptyPlus = \"M18 14H20V17H23V19H20V22H18V19H15V17H18V14M6 22C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C14.92 12.84 13 15.2 13 18C13 19.54 13.58 20.94 14.53 22H6Z\";\r\nexport var mdiFlaskEmptyPlusOutline = \"M18 14H20V17H23V19H20V22H18V19H15V17H18V14M5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C16.86 12.35 16.24 12.63 15.69 13L13 8.35V4H11V8.35L5.18 18.43C5.07 18.59 5 18.79 5 19Z\";\r\nexport var mdiFlaskEmptyRemove = \"M15.46 15.88L16.88 14.46L19 16.59L21.12 14.47L22.53 15.88L20.41 18L22.54 20.12L21.12 21.54L19 19.41L16.88 21.53L15.47 20.12L17.59 18L15.46 15.88M6 22C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C14.92 12.84 13 15.2 13 18C13 19.54 13.58 20.94 14.53 22H6Z\";\r\nexport var mdiFlaskEmptyRemoveOutline = \"M15.46 15.88L16.88 14.46L19 16.59L21.12 14.47L22.53 15.88L20.41 18L22.54 20.12L21.12 21.54L19 19.41L16.88 21.53L15.47 20.12L17.59 18L15.46 15.88M5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C16.86 12.35 16.24 12.63 15.69 13L13 8.35V4H11V8.35L5.18 18.43C5.07 18.59 5 18.79 5 19Z\";\r\nexport var mdiFlaskMinus = \"M23 17V19H15V17H23M6 22C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C15.5 12.7 13.86 14.26 13.26 16.26L8.93 11.93L5.18 18.43C5.07 18.59 5 18.79 5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6M13 10C12.45 10 12 10.45 12 11C12 11.55 12.45 12 13 12C13.55 12 14 11.55 14 11C14 10.45 13.55 10 13 10Z\";\r\nexport var mdiFlaskMinusOutline = \"M23 17V19H15V17H23M5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C16.86 12.35 16.24 12.63 15.69 13L13 8.35V4H11V8.35L5.18 18.43C5.07 18.59 5 18.79 5 19M13 16L13.58 15.42C13.21 16.2 13 17.08 13 18H7.73L10.39 13.39L13 16M12.5 12C12.78 12 13 12.22 13 12.5C13 12.78 12.78 13 12.5 13C12.22 13 12 12.78 12 12.5C12 12.22 12.22 12 12.5 12Z\";\r\nexport var mdiFlaskOff = \"M22.1 21.5L2.4 1.7L1.1 3L7.9 9.8L3.5 17.4C3.2 17.8 3 18.4 3 19C3 20.7 4.3 22 6 22H18C18.6 22 19.2 21.8 19.6 21.5L20.8 22.7L22.1 21.5M18 20H6C5.4 20 5 19.6 5 19C5 18.8 5.1 18.6 5.2 18.4L9 11.9L14 17L14.6 16.4L18 20C18.1 20 18 20 18 20M8 4.8V4C8 2.9 8.9 2 10 2H14C15.1 2 16 2.9 16 4V5C16 5.6 15.6 6 15 6V7.8L20.4 17.2L8 4.8Z\";\r\nexport var mdiFlaskOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L7.9 9.8L3.5 17.4C3.2 17.8 3 18.4 3 19C3 20.7 4.3 22 6 22H18C18.6 22 19.2 21.8 19.6 21.5L20.8 22.7L22.1 21.5M18 20H6C5.4 20 5 19.6 5 19C5 18.8 5.1 18.6 5.2 18.4L9.4 11.2L13.6 15.4L13 16L10.4 13.4L7.7 18H16.1L18 20C18.1 20 18 20 18 20M11 7.8L8 4.8V4C8 2.9 8.9 2 10 2H14C15.1 2 16 2.9 16 4V5C16 5.6 15.6 6 15 6V7.8L20.4 17.2L15 11.8L13 8.4V4H11V7.8Z\";\r\nexport var mdiFlaskOutline = \"M5,19A1,1 0 0,0 6,20H18A1,1 0 0,0 19,19C19,18.79 18.93,18.59 18.82,18.43L13,8.35V4H11V8.35L5.18,18.43C5.07,18.59 5,18.79 5,19M6,22A3,3 0 0,1 3,19C3,18.4 3.18,17.84 3.5,17.37L9,7.81V6A1,1 0 0,1 8,5V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V5A1,1 0 0,1 15,6V7.81L20.5,17.37C20.82,17.84 21,18.4 21,19A3,3 0 0,1 18,22H6M13,16L14.34,14.66L16.27,18H7.73L10.39,13.39L13,16M12.5,12A0.5,0.5 0 0,1 13,12.5A0.5,0.5 0 0,1 12.5,13A0.5,0.5 0 0,1 12,12.5A0.5,0.5 0 0,1 12.5,12Z\";\r\nexport var mdiFlaskPlus = \"M18 14H20V17H23V19H20V22H18V19H15V17H18V14M6 22C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C15.5 12.7 13.86 14.26 13.26 16.26L8.93 11.93L5.18 18.43C5.07 18.59 5 18.79 5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6M13 10C12.45 10 12 10.45 12 11C12 11.55 12.45 12 13 12C13.55 12 14 11.55 14 11C14 10.45 13.55 10 13 10Z\";\r\nexport var mdiFlaskPlusOutline = \"M18 14H20V17H23V19H20V22H18V19H15V17H18V14M5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C16.86 12.35 16.24 12.63 15.69 13L13 8.35V4H11V8.35L5.18 18.43C5.07 18.59 5 18.79 5 19M13 16L13.58 15.42C13.21 16.2 13 17.08 13 18H7.73L10.39 13.39L13 16M12.5 12C12.78 12 13 12.22 13 12.5C13 12.78 12.78 13 12.5 13C12.22 13 12 12.78 12 12.5C12 12.22 12.22 12 12.5 12Z\";\r\nexport var mdiFlaskRemove = \"M15.46 15.88L16.88 14.46L19 16.59L21.12 14.47L22.53 15.88L20.41 18L22.54 20.12L21.12 21.54L19 19.41L16.88 21.53L15.47 20.12L17.59 18L15.46 15.88M6 22C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C15.5 12.7 13.86 14.26 13.26 16.26L8.93 11.93L5.18 18.43C5.07 18.59 5 18.79 5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6M13 10C12.45 10 12 10.45 12 11C12 11.55 12.45 12 13 12C13.55 12 14 11.55 14 11C14 10.45 13.55 10 13 10Z\";\r\nexport var mdiFlaskRemoveOutline = \"M15.46 15.88L16.88 14.46L19 16.59L21.12 14.47L22.53 15.88L20.41 18L22.54 20.12L21.12 21.54L19 19.41L16.88 21.53L15.47 20.12L17.59 18L15.46 15.88M5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C16.86 12.35 16.24 12.63 15.69 13L13 8.35V4H11V8.35L5.18 18.43C5.07 18.59 5 18.79 5 19M13 16L13.58 15.42C13.21 16.2 13 17.08 13 18H7.73L10.39 13.39L13 16M12.5 12C12.78 12 13 12.22 13 12.5C13 12.78 12.78 13 12.5 13C12.22 13 12 12.78 12 12.5C12 12.22 12.22 12 12.5 12Z\";\r\nexport var mdiFlaskRoundBottom = \"M19 15C19 18.87 15.87 22 12 22C8.13 22 5 18.87 5 15C5 12.21 6.64 9.8 9 8.67V5C9 4.45 9.45 4 10 4H10.5L9.5 2H14.5L13.5 4H14C14.55 4 15 4.45 15 5V8.67C17.36 9.8 19 12.21 19 15M11 6V10.1C8.72 10.56 7 12.58 7 15L7.08 15.91L9 13.93L13.07 18L16.93 14.14C16.58 12.12 15 10.5 13 10.1V6H11M13.07 12C13.62 12 14.07 12.45 14.07 13C14.07 13.55 13.62 14 13.07 14C12.5 14 12.07 13.55 12.07 13C12.07 12.45 12.5 12 13.07 12Z\";\r\nexport var mdiFlaskRoundBottomEmpty = \"M19 15C19 18.87 15.87 22 12 22C8.13 22 5 18.87 5 15C5 12.21 6.64 9.8 9 8.67V5C9 4.45 9.45 4 10 4H10.5L9.5 2H14.5L13.5 4H14C14.55 4 15 4.45 15 5V8.67C17.36 9.8 19 12.21 19 15Z\";\r\nexport var mdiFlaskRoundBottomEmptyOutline = \"M19 15C19 18.87 15.87 22 12 22C8.13 22 5 18.87 5 15C5 12.21 6.64 9.8 9 8.67V5C9 4.45 9.45 4 10 4H10.5L9.5 2H14.5L13.5 4H14C14.55 4 15 4.45 15 5V8.67C17.36 9.8 19 12.21 19 15M11 6V10.1C8.72 10.56 7 12.58 7 15C7 17.76 9.24 20 12 20C14.76 20 17 17.76 17 15C17 12.58 15.28 10.56 13 10.1V6H11Z\";\r\nexport var mdiFlaskRoundBottomOutline = \"M15 15C15 16.66 13.66 18 12 18C10.34 18 9 16.66 9 15V14H11V15C11 15.55 11.45 16 12 16C12.55 16 13 15.55 13 15V14H15V15M19 15C19 18.87 15.87 22 12 22C8.13 22 5 18.87 5 15C5 12.21 6.64 9.8 9 8.67V5C9 4.45 9.45 4 10 4H10.5L9.5 2H14.5L13.5 4H14C14.55 4 15 4.45 15 5V8.67C17.36 9.8 19 12.21 19 15M11 6V10.1C8.72 10.56 7 12.58 7 15C7 17.76 9.24 20 12 20C14.76 20 17 17.76 17 15C17 12.58 15.28 10.56 13 10.1V6H11Z\";\r\nexport var mdiFleurDeLis = \"M12 2S9 4 9 7 11 12 11 16H10S10 14 9 12C7 8 3 10 3 13S5 16 5 16C5 13 8.5 13 8.5 16H7V18H10.5L9 20S10 21 11 20L12 22L13 20C14 21 15 20 15 20L13.5 18H17V16H15.5C15.5 13 19 13 19 16C19 16 21 16 21 13S17 8 15 12C14 14 14 16 14 16H13C13 12 15 10 15 7S12 2 12 2Z\";\r\nexport var mdiFlipHorizontal = \"M15 21H17V19H15M19 9H21V7H19M3 5V19C3 20.1 3.9 21 5 21H9V19H5V5H9V3H5C3.9 3 3 3.9 3 5M19 3V5H21C21 3.9 20.1 3 19 3M11 23H13V1H11M19 17H21V15H19M15 5H17V3H15M19 13H21V11H19M19 21C20.1 21 21 20.1 21 19H19Z\";\r\nexport var mdiFlipToBack = \"M15,17H17V15H15M15,5H17V3H15M5,7H3V19A2,2 0 0,0 5,21H17V19H5M19,17A2,2 0 0,0 21,15H19M19,9H21V7H19M19,13H21V11H19M9,17V15H7A2,2 0 0,0 9,17M13,3H11V5H13M19,3V5H21C21,3.89 20.1,3 19,3M13,15H11V17H13M9,3C7.89,3 7,3.89 7,5H9M9,11H7V13H9M9,7H7V9H9V7Z\";\r\nexport var mdiFlipToFront = \"M7,21H9V19H7M11,21H13V19H11M19,15H9V5H19M19,3H9C7.89,3 7,3.89 7,5V15A2,2 0 0,0 9,17H14L18,17H19A2,2 0 0,0 21,15V5C21,3.89 20.1,3 19,3M15,21H17V19H15M3,9H5V7H3M5,21V19H3A2,2 0 0,0 5,21M3,17H5V15H3M3,13H5V11H3V13Z\";\r\nexport var mdiFlipVertical = \"M3 15V17H5V15M15 19V21H17V19M19 3H5C3.9 3 3 3.9 3 5V9H5V5H19V9H21V5C21 3.9 20.1 3 19 3M21 19H19V21C20.1 21 21 20.1 21 19M1 11V13H23V11M7 19V21H9V19M19 15V17H21V15M11 19V21H13V19M3 19C3 20.1 3.9 21 5 21V19Z\";\r\nexport var mdiFloorLamp = \"M15,2L17,9H7L9,2M11,10H13V20H16V22H8V20H11V10Z\";\r\nexport var mdiFloorLampDual = \"M11.73 10.06L10.17 11.24L11 12.2V20H8V22H16V20H13V12.3L13.85 11.26L12.27 10.07L11.73 10.06M9.08 10.82L3 6.81L9.39 2L11.55 8.93L9.08 10.82M14.61 2L21 6.81L14.92 10.82L12.44 8.95L14.61 2Z\";\r\nexport var mdiFloorLampDualOutline = \"M11.73 10.06L10.17 11.24L11 12.2V20H8V22H16V20H13V12.3L13.85 11.26L12.27 10.07L11.73 10.06M8.32 5.31L9.23 8.19L9 8.37L6.47 6.7L8.32 5.31M9.39 2L3 6.81L9.08 10.82L11.55 8.93L9.39 2M15.67 5.3L17.53 6.7L15 8.37L14.77 8.2L15.67 5.3M14.61 2L12.44 8.95L14.92 10.82L21 6.81L14.61 2Z\";\r\nexport var mdiFloorLampOutline = \"M15 2L17 9H7L9 2M13.6 4H10.4L9.55 7H14.45M11 10H13V20H16V22H8V20H11Z\";\r\nexport var mdiFloorLampTorchiere = \"M7 2L10 9H14L17 2H7M13 20H16V22H8V20H11V10H13V20Z\";\r\nexport var mdiFloorLampTorchiereOutline = \"M14 4L12.7 7H11.3L10 4H14M17 2H7L10 9H14L17 2M13 20H16V22H8V20H11V10H13V20Z\";\r\nexport var mdiFloorLampTorchiereVariant = \"M7 2L10 9H14L17 2H7M15.92 22L13 15V22H11V15L8.08 22H5.92L10.92 10H13.08L18.08 22H15.92Z\";\r\nexport var mdiFloorLampTorchiereVariantOutline = \"M13.97 4L12.68 7H11.32L10.03 4H13.97M17 2H7L10 9H14L17 2M15.92 22L13 15V22H11V15L8.08 22H5.92L10.92 10H13.08L18.08 22H15.92Z\";\r\nexport var mdiFloorPlan = \"M10,5V10H9V5H5V13H9V12H10V17H9V14H5V19H12V17H13V19H19V17H21V21H3V3H21V15H19V10H13V15H12V9H19V5H10Z\";\r\nexport var mdiFloppy = \"M5,3A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5.5L18.5,3H17V9A1,1 0 0,1 16,10H8A1,1 0 0,1 7,9V3H5M12,4V9H15V4H12M7,12H17A1,1 0 0,1 18,13V19H6V13A1,1 0 0,1 7,12Z\";\r\nexport var mdiFloppyVariant = \"M3,3V21H21V3H3M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M12,15A1,1 0 0,1 13,16V19A1,1 0 0,1 12,20A1,1 0 0,1 11,19V16A1,1 0 0,1 12,15Z\";\r\nexport var mdiFlower = \"M3,13A9,9 0 0,0 12,22C12,17 7.97,13 3,13M12,5.5A2.5,2.5 0 0,1 14.5,8A2.5,2.5 0 0,1 12,10.5A2.5,2.5 0 0,1 9.5,8A2.5,2.5 0 0,1 12,5.5M5.6,10.25A2.5,2.5 0 0,0 8.1,12.75C8.63,12.75 9.12,12.58 9.5,12.31C9.5,12.37 9.5,12.43 9.5,12.5A2.5,2.5 0 0,0 12,15A2.5,2.5 0 0,0 14.5,12.5C14.5,12.43 14.5,12.37 14.5,12.31C14.88,12.58 15.37,12.75 15.9,12.75C17.28,12.75 18.4,11.63 18.4,10.25C18.4,9.25 17.81,8.4 16.97,8C17.81,7.6 18.4,6.74 18.4,5.75C18.4,4.37 17.28,3.25 15.9,3.25C15.37,3.25 14.88,3.41 14.5,3.69C14.5,3.63 14.5,3.56 14.5,3.5A2.5,2.5 0 0,0 12,1A2.5,2.5 0 0,0 9.5,3.5C9.5,3.56 9.5,3.63 9.5,3.69C9.12,3.41 8.63,3.25 8.1,3.25A2.5,2.5 0 0,0 5.6,5.75C5.6,6.74 6.19,7.6 7.03,8C6.19,8.4 5.6,9.25 5.6,10.25M12,22A9,9 0 0,0 21,13C16,13 12,17 12,22Z\";\r\nexport var mdiFlowerOutline = \"M8.66,13.07C6.92,13.07 5.5,11.66 5.5,9.93C5.5,9.22 5.76,8.54 6.19,8C5.77,7.46 5.5,6.78 5.5,6.07C5.5,4.34 6.93,2.93 8.66,2.93L9.09,2.96C9.56,1.81 10.69,1 12,1C13.31,1 14.44,1.81 14.91,2.96L15.34,2.93C17.07,2.93 18.5,4.34 18.5,6.07C18.5,6.78 18.24,7.46 17.81,8C18.23,8.54 18.5,9.22 18.5,9.93C18.5,11.66 17.07,13.07 15.34,13.07L14.91,13.04C14.44,14.19 13.31,15 12,15C10.69,15 9.56,14.19 9.09,13.04L8.66,13.07M12,13C12.62,13 13.12,12.5 13.14,11.9L13.03,10.81C12.71,10.93 12.36,11 12,11C11.64,11 11.3,10.93 11,10.81L10.86,11.9C10.88,12.5 11.38,13 12,13M15.34,11.07C15.97,11.07 16.5,10.56 16.5,9.92C16.5,9.5 16.23,9.08 15.83,8.89L14.95,8.47C14.83,9.21 14.44,9.85 13.89,10.3L14.7,10.87C14.88,11 15.1,11.07 15.34,11.07M14.69,5.13L13.87,5.69C14.43,6.14 14.82,6.78 14.94,7.5L15.82,7.1C16.23,6.9 16.5,6.5 16.5,6.07C16.5,5.44 15.97,4.93 15.34,4.93C15.11,4.93 14.89,5 14.69,5.13M12,3C11.38,3 10.88,3.5 10.86,4.1L11,5.19C11.3,5.07 11.64,5 12,5C12.36,5 12.71,5.07 13.03,5.19L13.14,4.1C13.12,3.5 12.62,3 12,3M8.66,4.93C8.03,4.93 7.5,5.44 7.5,6.07C7.5,6.5 7.77,6.9 8.17,7.1L9.05,7.5C9.17,6.78 9.56,6.14 10.11,5.69L9.3,5.13C9.12,5 8.9,4.93 8.66,4.93M8.17,8.9C7.77,9.1 7.5,9.5 7.5,9.92C7.5,10.55 8.03,11.06 8.66,11.06C8.89,11.06 9.11,11 9.31,10.86L10.12,10.31C9.56,9.86 9.17,9.22 9.05,8.5L8.17,8.9M12,22A9,9 0 0,1 3,13A9,9 0 0,1 12,22A9,9 0 0,1 21,13A9,9 0 0,1 12,22M14.44,19.56C16.34,18.85 17.85,17.34 18.56,15.44C16.66,16.14 15.15,17.66 14.44,19.56M5.44,15.44C6.15,17.34 7.66,18.85 9.56,19.56C8.86,17.66 7.34,16.15 5.44,15.44Z\";\r\nexport var mdiFlowerPoppy = \"M18.5,12A3.5,3.5 0 0,0 22,8.5A6.5,6.5 0 0,0 15.5,2A3.5,3.5 0 0,0 12,5.5A3.5,3.5 0 0,0 8.5,2A6.5,6.5 0 0,0 2,8.5A3.5,3.5 0 0,0 5.5,12A3.5,3.5 0 0,0 2,15.5A6.5,6.5 0 0,0 8.5,22A3.5,3.5 0 0,0 12,18.5A3.5,3.5 0 0,0 15.5,22A6.5,6.5 0 0,0 22,15.5A3.5,3.5 0 0,0 18.5,12M12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16M14.5,12A2.5,2.5 0 0,1 12,14.5A2.5,2.5 0 0,1 9.5,12A2.5,2.5 0 0,1 12,9.5A2.5,2.5 0 0,1 14.5,12Z\";\r\nexport var mdiFlowerTulip = \"M3,13A9,9 0 0,0 12,22A9,9 0 0,0 3,13M12,22A9,9 0 0,0 21,13A9,9 0 0,0 12,22M18,3V8A6,6 0 0,1 12,14A6,6 0 0,1 6,8V3C6.74,3 7.47,3.12 8.16,3.39C8.71,3.62 9.2,3.96 9.61,4.39L12,2L14.39,4.39C14.8,3.96 15.29,3.62 15.84,3.39C16.53,3.12 17.26,3 18,3Z\";\r\nexport var mdiFlowerTulipOutline = \"M3,13A9,9 0 0,0 12,22A9,9 0 0,0 3,13M5.44,15.44C7.35,16.15 8.85,17.65 9.56,19.56C7.65,18.85 6.15,17.35 5.44,15.44M12,22A9,9 0 0,0 21,13A9,9 0 0,0 12,22M14.42,19.57C15.11,17.64 16.64,16.11 18.57,15.42C17.86,17.34 16.34,18.86 14.42,19.57M12,14A6,6 0 0,0 18,8V3C17.26,3 16.53,3.12 15.84,3.39C15.29,3.62 14.8,3.96 14.39,4.39L12,2L9.61,4.39C9.2,3.96 8.71,3.62 8.16,3.39C7.47,3.12 6.74,3 6,3V8A6,6 0 0,0 12,14M8,5.61L9.57,7.26L12,4.83L14.43,7.26L16,5.61V8A4,4 0 0,1 12,12A4,4 0 0,1 8,8V5.61Z\";\r\nexport var mdiFocusAuto = \"M19 19H15V21H19C20.1 21 21 20.1 21 19V15H19M19 3H15V5H19V9H21V5C21 3.9 20.1 3 19 3M5 5H9V3H5C3.9 3 3 3.9 3 5V9H5M5 15H3V19C3 20.1 3.9 21 5 21H9V19H5V15M8 7C6.9 7 6 7.9 6 9V17H8V13H10V17H12V9C12 7.9 11.1 7 10 7H8M8 9H10V11H8V9M13 7V17H15V13H17V11H15V9H18V7H13Z\";\r\nexport var mdiFocusField = \"M19 19H15V21H19C20.1 21 21 20.1 21 19V15H19M19 3H15V5H19V9H21V5C21 3.9 20.1 3 19 3M5 5H9V3H5C3.9 3 3 3.9 3 5V9H5M5 15H3V19C3 20.1 3.9 21 5 21H9V19H5V15M7 11H9V13H7V11M11 11H13V13H11V11M15 11H17V13H15V11M7 7H9V9H7V7M11 7H13V9H11V7M15 7H17V9H15V7M7 15H9V17H7V15M11 15H13V17H11V15M15 15H17V17H15V15Z\";\r\nexport var mdiFocusFieldHorizontal = \"M19 19H15V21H19C20.1 21 21 20.1 21 19V15H19M19 3H15V5H19V9H21V5C21 3.9 20.1 3 19 3M5 5H9V3H5C3.9 3 3 3.9 3 5V9H5M5 15H3V19C3 20.1 3.9 21 5 21H9V19H5V15M7 11H9V13H7V11M11 11H13V13H11V11M15 11H17V13H15V11Z\";\r\nexport var mdiFocusFieldVertical = \"M19 19H15V21H19C20.1 21 21 20.1 21 19V15H19M19 3H15V5H19V9H21V5C21 3.9 20.1 3 19 3M5 5H9V3H5C3.9 3 3 3.9 3 5V9H5M5 15H3V19C3 20.1 3.9 21 5 21H9V19H5V15M11 11H13V13H11V11M11 7H13V9H11V7M11 15H13V17H11V15Z\";\r\nexport var mdiFolder = \"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\";\r\nexport var mdiFolderAccount = \"M19,17H11V16C11,14.67 13.67,14 15,14C16.33,14 19,14.67 19,16M15,9A2,2 0 0,1 17,11A2,2 0 0,1 15,13A2,2 0 0,1 13,11C13,9.89 13.9,9 15,9M20,6H12L10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6Z\";\r\nexport var mdiFolderAccountOutline = \"M15 14C16.33 14 19 14.67 19 16V17H11V16C11 14.67 13.67 14 15 14M15 13C16.11 13 17 12.11 17 11S16.11 9 15 9C13.9 9 13 9.89 13 11C13 12.11 13.9 13 15 13M22 8V18C22 19.11 21.11 20 20 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H10L12 6H20C21.11 6 22 6.9 22 8M20 8H4V18H20V8Z\";\r\nexport var mdiFolderAlert = \"M15,12H17V17H15V12M15,18H17V20H15V18M23,16A7,7 0 0,1 16,23C13.62,23 11.5,21.81 10.25,20H3C1.89,20 1,19.1 1,18V6C1,4.89 1.89,4 3,4H9L11,6H19A2,2 0 0,1 21,8V11.1C22.24,12.36 23,14.09 23,16M16,11A5,5 0 0,0 11,16A5,5 0 0,0 16,21A5,5 0 0,0 21,16A5,5 0 0,0 16,11Z\";\r\nexport var mdiFolderAlertOutline = \"M15,12H17V17H15V12M15,18H17V20H15V18M16,9C17.07,9 18.09,9.24 19,9.67V8H3V18H9.29C9.1,17.36 9,16.69 9,16A7,7 0 0,1 16,9M23,16A7,7 0 0,1 16,23C13.62,23 11.5,21.81 10.25,20H3C1.89,20 1,19.1 1,18V6C1,4.89 1.89,4 3,4H9L11,6H19A2,2 0 0,1 21,8V11.1C22.24,12.36 23,14.09 23,16M16,11A5,5 0 0,0 11,16A5,5 0 0,0 16,21A5,5 0 0,0 21,16A5,5 0 0,0 16,11Z\";\r\nexport var mdiFolderClock = \"M3,4C1.89,4 1,4.89 1,6V18A2,2 0 0,0 3,20H10.26C11.57,21.88 13.71,23 16,23A7,7 0 0,0 23,16C23,14.17 22.28,12.42 21,11.11V8C21,6.89 20.1,6 19,6H11L9,4H3M16,11A5,5 0 0,1 21,16A5,5 0 0,1 16,21A5,5 0 0,1 11,16A5,5 0 0,1 16,11M15,12V17L18.61,19.16L19.36,17.94L16.5,16.25V12H15Z\";\r\nexport var mdiFolderClockOutline = \"M15,12H16.5V16.25L19.36,17.94L18.61,19.16L15,17V12M19,8H3V18H9.29C9.1,17.37 9,16.7 9,16A7,7 0 0,1 16,9C17.07,9 18.09,9.24 19,9.67V8M3,20C1.89,20 1,19.1 1,18V6A2,2 0 0,1 3,4H9L11,6H19A2,2 0 0,1 21,8V11.1C22.24,12.36 23,14.09 23,16A7,7 0 0,1 16,23C13.62,23 11.5,21.81 10.25,20H3M16,11A5,5 0 0,0 11,16A5,5 0 0,0 16,21A5,5 0 0,0 21,16A5,5 0 0,0 16,11Z\";\r\nexport var mdiFolderCog = \"M4 4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H12.08A7 7 0 0 1 12 19A7 7 0 0 1 19 12A7 7 0 0 1 22 12.69V8C22 6.89 21.1 6 20 6H12L10 4H4M18 14C17.87 14 17.76 14.09 17.74 14.21L17.55 15.53C17.25 15.66 16.96 15.82 16.7 16L15.46 15.5C15.35 15.5 15.22 15.5 15.15 15.63L14.15 17.36C14.09 17.47 14.11 17.6 14.21 17.68L15.27 18.5C15.25 18.67 15.24 18.83 15.24 19C15.24 19.17 15.25 19.33 15.27 19.5L14.21 20.32C14.12 20.4 14.09 20.53 14.15 20.64L15.15 22.37C15.21 22.5 15.34 22.5 15.46 22.5L16.7 22C16.96 22.18 17.24 22.35 17.55 22.47L17.74 23.79C17.76 23.91 17.86 24 18 24H20C20.11 24 20.22 23.91 20.24 23.79L20.43 22.47C20.73 22.34 21 22.18 21.27 22L22.5 22.5C22.63 22.5 22.76 22.5 22.83 22.37L23.83 20.64C23.89 20.53 23.86 20.4 23.77 20.32L22.7 19.5C22.72 19.33 22.74 19.17 22.74 19C22.74 18.83 22.73 18.67 22.7 18.5L23.76 17.68C23.85 17.6 23.88 17.47 23.82 17.36L22.82 15.63C22.76 15.5 22.63 15.5 22.5 15.5L21.27 16C21 15.82 20.73 15.65 20.42 15.53L20.23 14.21C20.22 14.09 20.11 14 20 14H18M19 17.5C19.83 17.5 20.5 18.17 20.5 19C20.5 19.83 19.83 20.5 19 20.5C18.16 20.5 17.5 19.83 17.5 19C17.5 18.17 18.17 17.5 19 17.5Z\";\r\nexport var mdiFolderCogOutline = \"M4 4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H12V18H4V8H20V12H22V8C22 6.89 21.1 6 20 6H12L10 4M18 14C17.87 14 17.76 14.09 17.74 14.21L17.55 15.53C17.25 15.66 16.96 15.82 16.7 16L15.46 15.5C15.35 15.5 15.22 15.5 15.15 15.63L14.15 17.36C14.09 17.47 14.11 17.6 14.21 17.68L15.27 18.5C15.25 18.67 15.24 18.83 15.24 19C15.24 19.17 15.25 19.33 15.27 19.5L14.21 20.32C14.12 20.4 14.09 20.53 14.15 20.64L15.15 22.37C15.21 22.5 15.34 22.5 15.46 22.5L16.7 22C16.96 22.18 17.24 22.35 17.55 22.47L17.74 23.79C17.76 23.91 17.86 24 18 24H20C20.11 24 20.22 23.91 20.24 23.79L20.43 22.47C20.73 22.34 21 22.18 21.27 22L22.5 22.5C22.63 22.5 22.76 22.5 22.83 22.37L23.83 20.64C23.89 20.53 23.86 20.4 23.77 20.32L22.7 19.5C22.72 19.33 22.74 19.17 22.74 19C22.74 18.83 22.73 18.67 22.7 18.5L23.76 17.68C23.85 17.6 23.88 17.47 23.82 17.36L22.82 15.63C22.76 15.5 22.63 15.5 22.5 15.5L21.27 16C21 15.82 20.73 15.65 20.42 15.53L20.23 14.21C20.22 14.09 20.11 14 20 14M19 17.5C19.83 17.5 20.5 18.17 20.5 19C20.5 19.83 19.83 20.5 19 20.5C18.16 20.5 17.5 19.83 17.5 19C17.5 18.17 18.17 17.5 19 17.5Z\";\r\nexport var mdiFolderDownload = \"M20,6A2,2 0 0,1 22,8V18A2,2 0 0,1 20,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10L12,6H20M19.25,13H16V9H14V13H10.75L15,17.25\";\r\nexport var mdiFolderDownloadOutline = \"M20 18H4V8H20M20 6H12L10 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8A2 2 0 0 0 20 6M14 9H16V13H19L15 17L11 13H14Z\";\r\nexport var mdiFolderEdit = \"M3,4C1.89,4 1,4.89 1,6V18A2,2 0 0,0 3,20H11V18.11L21,8.11V8C21,6.89 20.1,6 19,6H11L9,4H3M21.04,11.13C20.9,11.13 20.76,11.19 20.65,11.3L19.65,12.3L21.7,14.35L22.7,13.35C22.92,13.14 22.92,12.79 22.7,12.58L21.42,11.3C21.31,11.19 21.18,11.13 21.04,11.13M19.07,12.88L13,18.94V21H15.06L21.12,14.93L19.07,12.88Z\";\r\nexport var mdiFolderEditOutline = \"M21,11.11C20.92,11.11 20.72,11.21 20.62,11.31L19.62,12.31L21.72,14.42L22.72,13.41C22.92,13.21 22.92,12.81 22.72,12.61L21.42,11.31C21.32,11.21 21.22,11.11 21,11.11M19.12,12.91L13,18.92V21H15.12L21.22,14.92L19.12,12.91M21,8V8.11L19,10.11V8H3V18H11V20H3A2,2 0 0,1 1,18V6C1,4.91 1.9,4 3,4H9L11,6H19C20.12,6 21,6.91 21,8Z\";\r\nexport var mdiFolderEye = \"M9.3 20H4C2.9 20 2 19.1 2 18V6C2 4.9 2.9 4 4 4H10L12 6H20C21.1 6 22 6.9 22 8V14.6C20.6 13.6 18.9 13 17 13C13.5 13 10.4 15.1 9.1 18.3L8.8 19L9.1 19.7C9.2 19.8 9.2 19.9 9.3 20M23 19C22.1 21.3 19.7 23 17 23S11.9 21.3 11 19C11.9 16.7 14.3 15 17 15S22.1 16.7 23 19M19.5 19C19.5 17.6 18.4 16.5 17 16.5S14.5 17.6 14.5 19 15.6 21.5 17 21.5 19.5 20.4 19.5 19M17 18C16.4 18 16 18.4 16 19S16.4 20 17 20 18 19.6 18 19 17.6 18 17 18\";\r\nexport var mdiFolderEyeOutline = \"M9.3 20H4C2.9 20 2 19.1 2 18V6C2 4.9 2.9 4 4 4H10L12 6H20C21.1 6 22 6.9 22 8V14.6C21.4 14.2 20.7 13.8 20 13.5V8H4V18H9.3C9.3 18.1 9.2 18.2 9.2 18.3L8.8 19L9.1 19.7C9.2 19.8 9.2 19.9 9.3 20M23 19C22.1 21.3 19.7 23 17 23S11.9 21.3 11 19C11.9 16.7 14.3 15 17 15S22.1 16.7 23 19M19.5 19C19.5 17.6 18.4 16.5 17 16.5S14.5 17.6 14.5 19 15.6 21.5 17 21.5 19.5 20.4 19.5 19M17 18C16.4 18 16 18.4 16 19S16.4 20 17 20 18 19.6 18 19 17.6 18 17 18\";\r\nexport var mdiFolderGoogleDrive = \"M13.75,9H16.14L19,14H16.05L13.5,9.46M18.3,17H12.75L14.15,14.5H19.27L19.53,14.96M11.5,17L10.4,14.86L13.24,9.9L14.74,12.56L12.25,17M20,6H12L10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6Z\";\r\nexport var mdiFolderHeart = \"M20 6H12L10 4H4C2.89 4 2 4.89 2 6V18C2 19.1 2.89 20 4 20H20C21.1 20 22 19.1 22 18V8C22 6.9 21.1 6 20 6M18.42 13.5L15 17L11.59 13.5C11.22 13.12 11 12.62 11 12.05C11 10.92 11.9 10 13 10C13.54 10 14.05 10.23 14.42 10.61L15 11.2L15.59 10.6C15.95 10.23 16.46 10 17 10C18.1 10 19 10.92 19 12.05C19 12.61 18.78 13.13 18.42 13.5Z\";\r\nexport var mdiFolderHeartOutline = \"M20 18H4V8H20M20 6H12L10 4H4C2.89 4 2 4.89 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V8C22 6.89 21.1 6 20 6M13 10C11.9 10 11 10.92 11 12.05C11 12.62 11.22 13.12 11.59 13.5L15 17L18.42 13.5C18.78 13.13 19 12.61 19 12.05C19 10.92 18.1 10 17 10C16.46 10 15.95 10.23 15.59 10.6L15 11.2L14.42 10.61C14.05 10.23 13.54 10 13 10Z\";\r\nexport var mdiFolderHidden = \"M9 4V8H6V4H9M4 16V13H2V16H4M2 12H4V9H2V12M18 8H22C22 6.89 21.1 6 20 6H18V8M22 13H20V16H22V13M20 9V12H22V9H20M9 20V18H6V20H9M5 18H4V17H2V18C2 19.11 2.9 20 4 20H5V18M20 17V18H18V20H20C21.11 20 22 19.11 22 18V17H20M4 8H5V4H4C2.89 4 2 4.89 2 6V8H4M17 18H14V20H17V18M13 18H10V20H13V18M17 6H14V8H17V6M10 8H13V6H12L10 4V8Z\";\r\nexport var mdiFolderHome = \"M20 6H12L10 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8A2 2 0 0 0 20 6M17 13V17H15V14H13V17H11V13H9L14 9L19 13Z\";\r\nexport var mdiFolderHomeOutline = \"M20 6H12L10 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8A2 2 0 0 0 20 6M20 18H4V8H20M13 17V14H15V17H17V13H19L14 9L9 13H11V17Z\";\r\nexport var mdiFolderImage = \"M5,17L9.5,11L13,15.5L15.5,12.5L19,17M20,6H12L10,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8A2,2 0 0,0 20,6Z\";\r\nexport var mdiFolderInformation = \"M21 11.1V8C21 6.9 20.1 6 19 6H11L9 4H3C1.9 4 1 4.9 1 6V18C1 19.1 1.9 20 3 20H10.3C11.6 21.9 13.8 23 16 23C19.9 23 23 19.9 23 16C23 14.2 22.3 12.4 21 11.1M16 21C13.2 21 11 18.8 11 16S13.2 11 16 11 21 13.2 21 16 18.8 21 16 21M17 20H15V15H17V20M17 14H15V12H17V14Z\";\r\nexport var mdiFolderInformationOutline = \"M21 11.1V8C21 6.9 20.1 6 19 6H11L9 4H3C1.9 4 1 4.9 1 6V18C1 19.1 1.9 20 3 20H10.2C11.4 21.8 13.6 23 16 23C19.9 23 23 19.9 23 16C23 14.1 22.2 12.4 21 11.1M9.3 18H3V8H19V9.7C18.1 9.2 17.1 9 16 9C12.1 9 9 12.1 9 16C9 16.7 9.1 17.4 9.3 18M16 21C13.2 21 11 18.8 11 16S13.2 11 16 11 21 13.2 21 16 18.8 21 16 21M17 14H15V12H17V14M17 20H15V15H17V20Z\";\r\nexport var mdiFolderKey = \"M4,4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8A2,2 0 0,0 20,6H12L10,4M11,10C12.31,10 13.42,10.84 13.83,12H19V14H18V16H16V14H13.83C13.42,15.17 12.31,16 11,16A3,3 0 0,1 8,13A3,3 0 0,1 11,10M11,12A1,1 0 0,0 10,13C10,13.56 10.45,14 11,14A1,1 0 0,0 12,13A1,1 0 0,0 11,12Z\";\r\nexport var mdiFolderKeyNetwork = \"M6,5C4.89,5 4,5.89 4,7V15A2,2 0 0,0 6,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15A1,1 0 0,0 14,19H13V17H18A2,2 0 0,0 20,15V9A2,2 0 0,0 18,7H12L10,5H6M9,9C10.31,9 11.42,9.83 11.83,11H17V13H16V15H14V13H11.83C11.42,14.17 10.31,15 9,15A3,3 0 0,1 6,12A3,3 0 0,1 9,9M9,11A1,1 0 0,0 8,12C8,12.56 8.45,13 9,13A1,1 0 0,0 10,12A1,1 0 0,0 9,11Z\";\r\nexport var mdiFolderKeyNetworkOutline = \"M9 8C7.34 8 6 9.34 6 11S7.34 14 9 14C10.31 14 11.42 13.17 11.83 12H14V14H16V12H17V10H11.83C11.42 8.83 10.31 8 9 8M9 12C8.45 12 8 11.55 8 11S8.45 10 9 10 10 10.45 10 11 9.55 12 9 12M15 20C15 19.45 14.55 19 14 19H13V17H19C20.11 17 21 16.11 21 15V7C21 5.9 20.11 5 19 5H13L11 3H5C3.9 3 3 3.9 3 5V15C3 16.11 3.9 17 5 17H11V19H10C9.45 19 9 19.45 9 20H2V22H9C9 22.55 9.45 23 10 23H14C14.55 23 15 22.55 15 22H22V20H15M5 15V7H19V15H5Z\";\r\nexport var mdiFolderKeyOutline = \"M20 18H4V8H20M20 6H12L10 4H4C2.89 4 2 4.89 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V8C22 6.89 21.1 6 20 6M13.83 12C13.42 10.84 12.31 10 11 10C9.34 10 8 11.34 8 13S9.34 16 11 16C12.31 16 13.42 15.17 13.83 14H16V16H18V14H19V12H13.83M11 14C10.45 14 10 13.56 10 13C10 12.45 10.45 12 11 12S12 12.45 12 13 11.55 14 11 14Z\";\r\nexport var mdiFolderLock = \"M20,6A2,2 0 0,1 22,8V18A2,2 0 0,1 20,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10L12,6H20M19,17V13H18V12A3,3 0 0,0 15,9A3,3 0 0,0 12,12V13H11V17H19M15,11A1,1 0 0,1 16,12V13H14V12A1,1 0 0,1 15,11Z\";\r\nexport var mdiFolderLockOpen = \"M20,6A2,2 0 0,1 22,8V18A2,2 0 0,1 20,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10L12,6H20M19,17V13H18L16,13H14V11A1,1 0 0,1 15,10A1,1 0 0,1 16,11H18A3,3 0 0,0 15,8A3,3 0 0,0 12,11V13H11V17H19Z\";\r\nexport var mdiFolderMarker = \"M10 4L12 6H20C21.1 6 22 6.89 22 8V11.34C21.04 10.5 19.82 10 18.5 10C15.5 10 13 12.65 13 15.5C13 16.97 13.65 18.55 14.5 20H4C2.89 20 2 19.1 2 18L2 6C2 4.89 2.89 4 4 4H10M18.5 12C20.4 12 22 13.6 22 15.5C22 18.1 18.5 22 18.5 22C18.5 22 15 18.1 15 15.5C15 13.6 16.6 12 18.5 12M18.5 16.8C19.2 16.8 19.8 16.2 19.7 15.6C19.7 15 19.1 14.4 18.5 14.4C17.9 14.4 17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8Z\";\r\nexport var mdiFolderMarkerOutline = \"M18.5 12C20.4 12 22 13.6 22 15.5C22 18.1 18.5 22 18.5 22C18.5 22 15 18.1 15 15.5C15 13.6 16.6 12 18.5 12M18.5 16.8C19.2 16.8 19.8 16.2 19.7 15.6C19.7 15 19.1 14.4 18.5 14.4C17.9 14.4 17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8M20 8H4V18H13.5C13.79 18.68 14.13 19.35 14.5 20H4C2.89 20 2 19.1 2 18L2 6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V11.34C21.42 10.84 20.74 10.45 20 10.23V8Z\";\r\nexport var mdiFolderMove = \"M14,18V15H10V11H14V8L19,13M20,6H12L10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6Z\";\r\nexport var mdiFolderMoveOutline = \"M20 18H4V8H20V18M12 6L10 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H20C21.11 20 22 19.11 22 18V8C22 6.9 21.11 6 20 6H12M11 14V12H15V9L19 13L15 17V14H11Z\";\r\nexport var mdiFolderMultiple = \"M22,4H14L12,2H6A2,2 0 0,0 4,4V16A2,2 0 0,0 6,18H22A2,2 0 0,0 24,16V6A2,2 0 0,0 22,4M2,6H0V11H0V20A2,2 0 0,0 2,22H20V20H2V6Z\";\r\nexport var mdiFolderMultipleImage = \"M7,15L11.5,9L15,13.5L17.5,10.5L21,15M22,4H14L12,2H6A2,2 0 0,0 4,4V16A2,2 0 0,0 6,18H22A2,2 0 0,0 24,16V6A2,2 0 0,0 22,4M2,6H0V11H0V20A2,2 0 0,0 2,22H20V20H2V6Z\";\r\nexport var mdiFolderMultipleOutline = \"M22,4A2,2 0 0,1 24,6V16A2,2 0 0,1 22,18H6A2,2 0 0,1 4,16V4A2,2 0 0,1 6,2H12L14,4H22M2,6V20H20V22H2A2,2 0 0,1 0,20V11H0V6H2M6,6V16H22V6H6Z\";\r\nexport var mdiFolderMultiplePlus = \"M2 20V6H0V20C0 21.1 .9 22 2 22H20V20H2M22 4H14L12 2H6C5.6 2 5.2 2.1 4.9 2.3L4.3 2.9C4.1 3.2 4 3.6 4 4V16C4 16.4 4.1 16.8 4.3 17.1C4.4 17.2 4.5 17.3 4.5 17.4C5 17.8 5.5 18 6 18H22C23.1 18 24 17.1 24 16V6C24 4.9 23.1 4 22 4M22 12H19V15H17V12H14V10H17V7H19V10H22V12Z\";\r\nexport var mdiFolderMultiplePlusOutline = \"M22 4C23.1 4 24 4.9 24 6V16C24 17.1 23.1 18 22 18H6C4.9 18 4 17.1 4 16V4C4 2.9 4.9 2 6 2H12L14 4H22M2 6V20H20V22H2C.9 22 0 21.1 0 20V6H2M6 6V16H22V6H6M14 10H16V8H18V10H20V12H18V14H16V12H14V10Z\";\r\nexport var mdiFolderMusic = \"M10 4L12 6H20C21.1 6 22 6.89 22 8V18C22 19.1 21.1 20 20 20H4C2.89 20 2 19.1 2 18L2 6C2 4.89 2.89 4 4 4H10M19 9H15.5V13.06L15 13C13.9 13 13 13.9 13 15C13 16.11 13.9 17 15 17C16.11 17 17 16.11 17 15V11H19V9Z\";\r\nexport var mdiFolderMusicOutline = \"M20 18V8H4V18H20M20 6C21.1 6 22 6.89 22 8V18C22 19.1 21.1 20 20 20H4C2.89 20 2 19.1 2 18L2 6C2 4.89 2.89 4 4 4H10L12 6H20M18 9V11H16V15C16 16.11 15.11 17 14 17C12.9 17 12 16.11 12 15C12 13.9 12.9 13 14 13C14.17 13 14.34 13 14.5 13.06V9H18Z\";\r\nexport var mdiFolderNetwork = \"M3,15V5A2,2 0 0,1 5,3H11L13,5H19A2,2 0 0,1 21,7V15A2,2 0 0,1 19,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H5A2,2 0 0,1 3,15Z\";\r\nexport var mdiFolderNetworkOutline = \"M15 20C15 19.45 14.55 19 14 19H13V17H19C20.11 17 21 16.11 21 15V7C21 5.9 20.11 5 19 5H13L11 3H5C3.9 3 3 3.9 3 5V15C3 16.11 3.9 17 5 17H11V19H10C9.45 19 9 19.45 9 20H2V22H9C9 22.55 9.45 23 10 23H14C14.55 23 15 22.55 15 22H22V20H15M5 15V7H19V15H5Z\";\r\nexport var mdiFolderOpen = \"M19,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10L12,6H19A2,2 0 0,1 21,8H21L4,8V18L6.14,10H23.21L20.93,18.5C20.7,19.37 19.92,20 19,20Z\";\r\nexport var mdiFolderOpenOutline = \"M6.1,10L4,18V8H21A2,2 0 0,0 19,6H12L10,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H19C19.9,20 20.7,19.4 20.9,18.5L23.2,10H6.1M19,18H6L7.6,12H20.6L19,18Z\";\r\nexport var mdiFolderOutline = \"M20,18H4V8H20M20,6H12L10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6Z\";\r\nexport var mdiFolderPlus = \"M10,4L12,6H20A2,2 0 0,1 22,8V18A2,2 0 0,1 20,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10M15,9V12H12V14H15V17H17V14H20V12H17V9H15Z\";\r\nexport var mdiFolderPlusOutline = \"M12 12H14V10H16V12H18V14H16V16H14V14H12V12M22 8V18C22 19.11 21.11 20 20 20H4C2.89 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.11 6 22 6.89 22 8M20 8H4V18H20V8Z\";\r\nexport var mdiFolderPound = \"M15.25,13H17.25L16.75,15H14.75L15.25,13M22,8V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6C2,4.89 2.89,4 4,4H10L12,6H20A2,2 0 0,1 22,8M20,12H18.5L19,10H18L17.5,12H15.5L16,10H15L14.5,12H13V13H14.25L13.75,15H12V16H13.5L13,18H14L14.5,16H16.5L16,18H17L17.5,16H19V15H17.75L18.25,13H20V12Z\";\r\nexport var mdiFolderPoundOutline = \"M20,18H4V8H20M20,6H12L10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6M19,12V11H17.5L18,9H17L16.5,11H14.5L15,9H14L13.5,11H12V12H13.25L12.75,14H11V15H12.5L12,17H13L13.5,15H15.5L15,17H16L16.5,15H18V14H16.75L17.25,12H19M15.75,14H13.75L14.25,12H16.25L15.75,14Z\";\r\nexport var mdiFolderRefresh = \"M18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5C15.5 19.88 16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5C14 16.29 15.79 14.5 18 14.5M10 4L12 6H20C21.1 6 22 6.89 22 8V13C21 12.38 19.79 12 18.5 12C14.91 12 12 14.91 12 18.5C12 19 12.06 19.5 12.17 20H4C2.89 20 2 19.1 2 18L2 6C2 4.89 2.89 4 4 4H10Z\";\r\nexport var mdiFolderRefreshOutline = \"M18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5C15.5 19.88 16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5C14 16.29 15.79 14.5 18 14.5M20 8H4V18H12L12 18.5C12 19 12.06 19.5 12.17 20H4C2.89 20 2 19.1 2 18L2 6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13C21.39 12.63 20.72 12.34 20 12.17V8Z\";\r\nexport var mdiFolderRemove = \"M10,4L12,6H20A2,2 0 0,1 22,8V18A2,2 0 0,1 20,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10M12.46,10.88L14.59,13L12.46,15.12L13.88,16.54L16,14.41L18.12,16.54L19.54,15.12L17.41,13L19.54,10.88L18.12,9.46L16,11.59L13.88,9.46L12.46,10.88Z\";\r\nexport var mdiFolderRemoveOutline = \"M11.46 10.88L12.88 9.46L15 11.59L17.12 9.46L18.54 10.88L16.41 13L18.54 15.12L17.12 16.54L15 14.41L12.88 16.54L11.46 15.12L13.59 13L11.46 10.88M22 8V18C22 19.11 21.11 20 20 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H10L12 6H20C21.11 6 22 6.9 22 8M20 8H4V18H20V8Z\";\r\nexport var mdiFolderSearch = \"M16.5,12C19,12 21,14 21,16.5C21,17.38 20.75,18.21 20.31,18.9L23.39,22L22,23.39L18.88,20.32C18.19,20.75 17.37,21 16.5,21C14,21 12,19 12,16.5C12,14 14,12 16.5,12M16.5,14A2.5,2.5 0 0,0 14,16.5A2.5,2.5 0 0,0 16.5,19A2.5,2.5 0 0,0 19,16.5A2.5,2.5 0 0,0 16.5,14M9,4L11,6H19A2,2 0 0,1 21,8V11.81C19.83,10.69 18.25,10 16.5,10A6.5,6.5 0 0,0 10,16.5C10,17.79 10.37,19 11,20H3C1.89,20 1,19.1 1,18V6C1,4.89 1.89,4 3,4H9Z\";\r\nexport var mdiFolderSearchOutline = \"M16.5,12C19,12 21,14 21,16.5C21,17.38 20.75,18.21 20.31,18.9L23.39,22L22,23.39L18.88,20.32C18.19,20.75 17.37,21 16.5,21C14,21 12,19 12,16.5C12,14 14,12 16.5,12M16.5,14A2.5,2.5 0 0,0 14,16.5A2.5,2.5 0 0,0 16.5,19A2.5,2.5 0 0,0 19,16.5A2.5,2.5 0 0,0 16.5,14M19,8H3V18H10.17C10.34,18.72 10.63,19.39 11,20H3C1.89,20 1,19.1 1,18V6C1,4.89 1.89,4 3,4H9L11,6H19A2,2 0 0,1 21,8V11.81C20.42,11.26 19.75,10.81 19,10.5V8Z\";\r\nexport var mdiFolderSettings = \"M4 4C2.89 4 2 4.89 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8C22 6.89 21.1 6 20 6H12L10 4H4M7 22V24H9V22H7M11 22V24H13V22H11M15 22V24H17V22H15Z\";\r\nexport var mdiFolderSettingsOutline = \"M4 4C2.89 4 2 4.89 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8C22 6.89 21.1 6 20 6H12L10 4H4M4 8H20V18H4V8M7 22V24H9V22H7M11 22V24H13V22H11M15 22V24H17V22H15\";\r\nexport var mdiFolderStar = \"M20,6H12L10,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8A2,2 0 0,0 20,6M17.94,17L15,15.28L12.06,17L12.84,13.67L10.25,11.43L13.66,11.14L15,8L16.34,11.14L19.75,11.43L17.16,13.67L17.94,17Z\";\r\nexport var mdiFolderStarMultiple = \"M2 6H0V20C0 21.11 .895 22 2 22H20V20H2V6M22 4H14L12 2H6C4.89 2 4 2.89 4 4V16C4 17.1 4.89 18 6 18H22C23.11 18 24 17.1 24 16V6C24 4.89 23.11 4 22 4M19.94 15L17 13.27L14.06 15L14.84 11.66L12.25 9.42L15.66 9.13L17 6L18.34 9.13L21.75 9.42L19.16 11.66L19.94 15Z\";\r\nexport var mdiFolderStarMultipleOutline = \"M2 6V20H20V22H2C.895 22 0 21.11 0 20V6H2M12.78 10.05L15.81 9.79L17 7L18.19 9.79L21.22 10.05L18.92 12.04L19.61 15L17 13.47L14.39 15L15.08 12.04L12.78 10.05M24 6V16C24 17.11 23.11 18 22 18H6C4.9 18 4 17.11 4 16V4C4 2.89 4.9 2 6 2H12L14 4H22C23.11 4 24 4.9 24 6M22 6H6V16H22V6Z\";\r\nexport var mdiFolderStarOutline = \"M10.78 12.05L13.81 11.79L15 9L16.19 11.79L19.22 12.05L16.92 14.04L17.61 17L15 15.47L12.39 17L13.08 14.04L10.78 12.05M22 8V18C22 19.11 21.11 20 20 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H10L12 6H20C21.11 6 22 6.9 22 8M20 8H4V18H20V8Z\";\r\nexport var mdiFolderSwap = \"M20 6H12L10 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8A2 2 0 0 0 20 6M15 16V14H9V16L6 13L9 10V12H15V10L18 13Z\";\r\nexport var mdiFolderSwapOutline = \"M20 18H4V8H20M20 6H12L10 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8A2 2 0 0 0 20 6M18 13L15 10V12H9V10L6 13L9 16V14H15V16Z\";\r\nexport var mdiFolderSync = \"M10,4L12,6H20A2,2 0 0,1 22,8V11.5C21.23,11.18 20.39,11 19.5,11A6.5,6.5 0 0,0 13,17.5C13,18.39 13.18,19.23 13.5,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10M19,12V13.5A4,4 0 0,1 23,17.5C23,18.32 22.75,19.08 22.33,19.71L21.24,18.62C21.41,18.28 21.5,17.9 21.5,17.5A2.5,2.5 0 0,0 19,15V16.5L16.75,14.25L19,12M19,23V21.5A4,4 0 0,1 15,17.5C15,16.68 15.25,15.92 15.67,15.29L16.76,16.38C16.59,16.72 16.5,17.1 16.5,17.5A2.5,2.5 0 0,0 19,20V18.5L21.25,20.75L19,23Z\";\r\nexport var mdiFolderSyncOutline = \"M10,4L12,6H20A2,2 0 0,1 22,8V11.5C21.38,11.24 20.7,11.07 20,11V8H4V18H13C13.07,18.7 13.24,19.38 13.5,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10M19,12V13.5A4,4 0 0,1 23,17.5C23,18.32 22.75,19.08 22.33,19.71L21.24,18.62C21.41,18.28 21.5,17.9 21.5,17.5A2.5,2.5 0 0,0 19,15V16.5L16.75,14.25L16.72,14.22C16.78,14.17 16.85,14.13 19,12M19,23V21.5A4,4 0 0,1 15,17.5C15,16.68 15.25,15.92 15.67,15.29L16.76,16.38C16.59,16.72 16.5,17.1 16.5,17.5A2.5,2.5 0 0,0 19,20V18.5L21.25,20.75L21.28,20.78C21.22,20.83 21.15,20.87 19,23Z\";\r\nexport var mdiFolderTable = \"M4 4C2.89 4 2 4.89 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8C22 6.89 21.1 6 20 6H12L10 4H4M12 9H15V11H12V9M16 9H19V11H16V9M12 12H15V14H12V12M16 12H19V14H16V12M12 15H15V17H12V15M16 15H19V17H16V15Z\";\r\nexport var mdiFolderTableOutline = \"M4 4C2.89 4 2 4.89 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8C22 6.89 21.1 6 20 6H12L10 4H4M4 8H20V18H4V8M12 9V11H15V9H12M16 9V11H19V9H16M12 12V14H15V12H12M16 12V14H19V12H16M12 15V17H15V15H12M16 15V17H19V15H16Z\";\r\nexport var mdiFolderText = \"M20,6H12L10,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8A2,2 0 0,0 20,6M15,16H6V14H15V16M18,12H6V10H18V12Z\";\r\nexport var mdiFolderTextOutline = \"M20,18H4V8H20M20,6H12L10,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8A2,2 0 0,0 20,6M15,16H6V14H15V16M18,12H6V10H18V12Z\";\r\nexport var mdiFolderUpload = \"M20,6A2,2 0 0,1 22,8V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H10L12,6H20M10.75,13H14V17H16V13H19.25L15,8.75\";\r\nexport var mdiFolderUploadOutline = \"M20 18H4V8H20M20 6H12L10 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8A2 2 0 0 0 20 6M16 17H14V13H11L15 9L19 13H16Z\";\r\nexport var mdiFolderZip = \"M20 6H12L10 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V8C22 6.9 21.1 6 20 6M18 12H16V14H18V16H16V18H14V16H16V14H14V12H16V10H14V8H16V10H18V12Z\";\r\nexport var mdiFolderZipOutline = \"M20 6H12L10 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V8C22 6.9 21.1 6 20 6M20 18H16V16H14V18H4V8H14V10H16V8H20V18M16 12V10H18V12H16M14 12H16V14H14V12M18 16H16V14H18V16Z\";\r\nexport var mdiFontAwesome = \"M19.76 2H4.24C3 2 2 3 2 4.24V19.76C2 21 3 22 4.24 22H19.76C21 22 22 21 22 19.76V4.24C22 3 21 2 19.76 2M17.73 14.69C17.73 14.88 17.57 14.96 17.38 15.04C16.64 15.36 15.84 15.65 15 15.65C13.78 15.65 13.22 14.91 11.78 14.91C10.74 14.91 9.65 15.28 8.77 15.68C8.71 15.71 8.66 15.71 8.61 15.73V17.76C8.61 17.84 8.61 17.92 8.58 17.97V18.03C8.47 18.4 8.13 18.67 7.73 18.67C7.22 18.67 6.82 18.26 6.82 17.76V8C6.47 7.73 6.24 7.31 6.24 6.83C6.24 6 6.9 5.33 7.73 5.33C8.56 5.33 9.23 6 9.23 6.83C9.23 7.31 9 7.73 8.64 8V8.83C8.72 8.8 8.8 8.77 8.88 8.72C9.71 8.37 10.7 8.08 11.63 8.08C12.64 8.08 13.44 8.35 14.35 8.69C14.54 8.77 14.72 8.8 14.93 8.8C15.95 8.8 17.07 8.08 17.34 8.08C17.55 8.08 17.74 8.24 17.74 8.43V14.69H17.73Z\";\r\nexport var mdiFood = \"M15.5,21L14,8H16.23L15.1,3.46L16.84,3L18.09,8H22L20.5,21H15.5M5,11H10A3,3 0 0,1 13,14H2A3,3 0 0,1 5,11M13,18A3,3 0 0,1 10,21H5A3,3 0 0,1 2,18H13M3,15H8L9.5,16.5L11,15H12A1,1 0 0,1 13,16A1,1 0 0,1 12,17H3A1,1 0 0,1 2,16A1,1 0 0,1 3,15Z\";\r\nexport var mdiFoodApple = \"M20,10C22,13 17,22 15,22C13,22 13,21 12,21C11,21 11,22 9,22C7,22 2,13 4,10C6,7 9,7 11,8V5C5.38,8.07 4.11,3.78 4.11,3.78C4.11,3.78 6.77,0.19 11,5V3H13V8C15,7 18,7 20,10Z\";\r\nexport var mdiFoodAppleOutline = \"M20,10C18.58,7.57 15.5,6.69 13,8V3H11V8C8.5,6.69 5.42,7.57 4,10C2,13 7,22 9,22C11,22 11,21 12,21C13,21 13,22 15,22C17,22 22,13 20,10M18.25,13.38C17.63,15.85 16.41,18.12 14.7,20C14.5,20 14.27,19.9 14.1,19.75C12.87,18.76 11.13,18.76 9.9,19.75C9.73,19.9 9.5,20 9.3,20C7.59,18.13 6.36,15.85 5.75,13.39C5.5,12.66 5.45,11.87 5.66,11.12C6.24,10.09 7.32,9.43 8.5,9.4C9.06,9.41 9.61,9.54 10.11,9.79L11,10.24H13L13.89,9.79C14.39,9.54 14.94,9.41 15.5,9.4C16.68,9.43 17.76,10.08 18.34,11.11C18.55,11.86 18.5,12.65 18.25,13.38M11,5C5.38,8.07 4.11,3.78 4.11,3.78C4.11,3.78 6.77,0.19 11,5Z\";\r\nexport var mdiFoodCroissant = \"M22,19L19,17L22,15V19M15,15L19,9L22,13L18,16L15,15M5,17L2,19V15L5,17M9,15L6,16L2,13L5,9L9,15M14,6L18,8L13,15H11L6,8L10,6H14Z\";\r\nexport var mdiFoodDrumstick = \"M20.16 12.73C22.93 9.96 22.57 5.26 19.09 3C17.08 1.67 14.39 1.66 12.36 2.97C10.6 4.1 9.63 5.86 9.46 7.68C9.33 9 8.83 10.23 7.91 11.15L7.88 11.18C6.72 12.34 6.72 14.11 7.81 15.19L8.8 16.18C9.89 17.27 11.66 17.27 12.75 16.18C13.72 15.21 15 14.68 16.39 14.53C17.76 14.38 19.1 13.78 20.16 12.73M6.26 19.86C6.53 20.42 6.44 21.1 5.97 21.56C5.39 22.15 4.44 22.15 3.85 21.56C3.58 21.29 3.44 20.94 3.42 20.58C3.06 20.56 2.71 20.42 2.44 20.15C1.85 19.56 1.85 18.61 2.44 18.03C2.9 17.57 3.59 17.47 4.14 17.74L6.62 15.31C6.76 15.5 6.92 15.72 7.1 15.9L8.09 16.89C8.3 17.09 8.5 17.26 8.76 17.41L6.26 19.86Z\";\r\nexport var mdiFoodDrumstickOff = \"M20.8 22.7L13.6 15.5C13.3 15.7 13 15.9 12.7 16.2C11.6 17.3 9.8 17.3 8.7 16.2L7.7 15.2C6.6 14.1 6.6 12.3 7.8 11.2C8 11 8.2 10.7 8.4 10.4L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M8.1 16.9L7.1 15.9C6.9 15.7 6.8 15.5 6.6 15.3L4.1 17.7C3.5 17.4 2.9 17.5 2.4 18C1.8 18.6 1.8 19.5 2.4 20.1C2.7 20.4 3 20.5 3.4 20.5C3.4 20.9 3.6 21.2 3.8 21.5C4.4 22.1 5.3 22.1 5.9 21.5C6.4 21 6.5 20.4 6.2 19.8L8.7 17.4C8.5 17.3 8.3 17.1 8.1 16.9M20.2 12.7C23 9.9 22.6 5.2 19.1 3C17.1 1.7 14.4 1.7 12.4 3C11 3.9 10.1 5.1 9.7 6.5L17.5 14.3C18.5 14 19.4 13.5 20.2 12.7Z\";\r\nexport var mdiFoodDrumstickOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L8.5 10.4C8.3 10.7 8.1 10.9 7.9 11.2C6.7 12.4 6.7 14.1 7.8 15.2L8.8 16.2C9.3 16.7 10.1 17 10.8 17C11.5 17 12.2 16.7 12.8 16.2C13.1 15.9 13.4 15.7 13.7 15.5L20.9 22.7L22.1 21.5M11.3 14.8C11.1 15 10.9 15 10.8 15S10.4 15 10.2 14.8L9.2 13.8C9 13.6 9 13.4 9 13.2C9 13 9.1 12.7 9.3 12.5C9.5 12.3 9.7 12 9.9 11.8L12.1 14C11.9 14.3 11.6 14.5 11.3 14.8M11.4 8.2L9.7 6.5C10.1 5.1 11 3.9 12.4 3C13.4 2.4 14.6 2 15.7 2C16.9 2 18.1 2.3 19.1 3C22.6 5.3 22.9 10 20.2 12.7C19.4 13.5 18.5 14 17.5 14.3L15.8 12.6C15.9 12.6 16 12.5 16.2 12.5C17.2 12.4 18.1 12 18.8 11.3C19.7 10.4 20.2 9.1 20 7.8C19.9 6.5 19.2 5.4 18 4.6C17.3 4.2 16.5 4 15.7 4C14.9 4 14.1 4.2 13.4 4.7C12.2 5.4 11.5 6.6 11.4 7.9V8.2M8.8 17.4L6.3 19.8C6.6 20.4 6.5 21 6 21.5C5.4 22.1 4.5 22.1 3.9 21.5C3.6 21.2 3.5 20.9 3.5 20.5C3.1 20.5 2.8 20.3 2.5 20.1C1.9 19.5 1.9 18.6 2.5 18C3 17.5 3.6 17.4 4.2 17.7L6.7 15.3C6.8 15.5 7 15.7 7.2 15.9L8.2 16.9C8.3 17.1 8.5 17.3 8.8 17.4\";\r\nexport var mdiFoodDrumstickOutline = \"M15.71 4C16.54 4 17.33 4.22 18 4.66C19.14 5.4 19.84 6.53 20 7.84C20.11 9.13 19.66 10.4 18.75 11.31C18.05 12 17.16 12.44 16.18 12.54C14.27 12.74 12.59 13.5 11.34 14.77C11.13 14.97 10.9 15 10.77 15C10.65 15 10.42 14.97 10.21 14.77L9.22 13.78C9.04 13.6 9 13.39 9 13.25C9 13 9.11 12.78 9.32 12.57C10.53 11.35 11.27 9.73 11.45 7.87C11.58 6.54 12.29 5.4 13.45 4.65C14.11 4.22 14.89 4 15.71 4M15.71 2C14.54 2 13.37 2.32 12.36 2.97C10.6 4.1 9.63 5.86 9.46 7.68C9.33 9 8.83 10.23 7.91 11.15L7.88 11.18C6.72 12.34 6.72 14.11 7.81 15.19L8.8 16.18C9.35 16.73 10.06 17 10.77 17S12.2 16.73 12.75 16.18C13.72 15.21 15 14.68 16.39 14.53C17.76 14.38 19.1 13.78 20.16 12.73C22.93 9.96 22.57 5.26 19.09 3C18.08 2.33 16.9 2 15.71 2M6.26 19.86C6.53 20.42 6.44 21.1 5.97 21.56C5.39 22.15 4.44 22.15 3.85 21.56C3.58 21.29 3.44 20.94 3.42 20.58C3.06 20.56 2.71 20.42 2.44 20.15C1.85 19.56 1.85 18.61 2.44 18.03C2.9 17.57 3.59 17.47 4.14 17.74L6.62 15.31C6.76 15.5 6.92 15.72 7.1 15.9L8.09 16.89C8.3 17.09 8.5 17.26 8.76 17.41L6.26 19.86Z\";\r\nexport var mdiFoodForkDrink = \"M3,3A1,1 0 0,0 2,4V8L2,9.5C2,11.19 3.03,12.63 4.5,13.22V19.5A1.5,1.5 0 0,0 6,21A1.5,1.5 0 0,0 7.5,19.5V13.22C8.97,12.63 10,11.19 10,9.5V8L10,4A1,1 0 0,0 9,3A1,1 0 0,0 8,4V8A0.5,0.5 0 0,1 7.5,8.5A0.5,0.5 0 0,1 7,8V4A1,1 0 0,0 6,3A1,1 0 0,0 5,4V8A0.5,0.5 0 0,1 4.5,8.5A0.5,0.5 0 0,1 4,8V4A1,1 0 0,0 3,3M19.88,3C19.75,3 19.62,3.09 19.5,3.16L16,5.25V9H12V11H13L14,21H20L21,11H22V9H18V6.34L20.5,4.84C21,4.56 21.13,4 20.84,3.5C20.63,3.14 20.26,2.95 19.88,3Z\";\r\nexport var mdiFoodHalal = \"M7 5V15C7 16.11 6.11 17 5 17H4C3.45 17 3 16.55 3 16V13H1V16C1 17.66 2.34 19 4 19H5C7.21 19 9 17.21 9 15V5M23 13.38L21.77 12.15C21.03 11.41 20.04 11 19 11H17V13H19C19.5 13 20 13.2 20.35 13.56L20.7 13.91L19.5 14.6C19.04 14.86 18.53 15 18 15H17C16.44 15 16 14.56 16 14V6H14V9.81L13.38 9.12C12.7 8.37 11.6 8 10.59 8H10V10H10.59C11.23 10 11.84 10.25 12.29 10.71L14 12.41V14C14 15.12 13.12 16 12 16H10V18H12C13.37 18 14.5 17.3 15.17 16.24C15.63 16.71 16.25 17 17 17H18C18.88 17 19.74 16.77 20.5 16.33L23 14.89Z\";\r\nexport var mdiFoodKosher = \"M1 7V9H3C3.57 9 4 9.43 4 10V17H6V10C6 8.36 4.64 7 3 7H1M7 7V14C7 15.65 8.36 17 10 17H14C15.65 17 17 15.65 17 14V7H15V14C15 14.57 14.57 15 14 15H10C9.43 15 9 14.57 9 14V13H10C11.65 13 13 11.65 13 10V7H11V10C11 10.57 10.57 11 10 11H9V7H7M18 7V9H20C20.57 9 21 9.43 21 10V14C21 14.57 20.57 15 20 15H18V17H20C21.65 17 23 15.65 23 14V10C23 8.36 21.65 7 20 7H18Z\";\r\nexport var mdiFoodOff = \"M2,5.27L3.28,4L21,21.72L19.73,23L17.73,21H15.5L15.21,18.5L12.97,16.24C12.86,16.68 12.47,17 12,17H3A1,1 0 0,1 2,16A1,1 0 0,1 3,15H8L9.5,16.5L11,15H11.73L10.73,14H2A3,3 0 0,1 5,11H7.73L2,5.27M14,8H16.23L15.1,3.46L16.84,3L18.09,8H22L20.74,18.92L14.54,12.72L14,8M13,18A3,3 0 0,1 10,21H5A3,3 0 0,1 2,18H13Z\";\r\nexport var mdiFoodSteak = \"M11.9 2C8 2 4.9 5.4 5 9.3C5.1 11.9 6.6 14.1 8.7 15.2C10.1 15.9 11 17.3 11 18.8V19C11 20.7 12.3 22 14 22C18 22 19 17 19 9C19 9 19 2 11.9 2M14 20C13.4 20 13 19.6 13 19V18.8C13 16.6 11.7 14.5 9.7 13.4C8.1 12.6 7.1 11 7 9.2C7 7.9 7.5 6.5 8.4 5.5C9.3 4.5 10.6 4 11.8 4C16.7 4 17 8.2 17 9C17 18.9 15.3 20 14 20M15.8 7.6L8.3 10.3C8.1 10 8 9.6 8 9.1C8 8.4 8.2 7.8 8.5 7.1L13.7 5.2C14.9 5.8 15.5 6.7 15.8 7.6M12.9 15.1L15.7 14.1C15.6 15.6 15.3 16.7 15.1 17.4L13.8 17.9C13.8 16.9 13.5 16 12.9 15.1M16 9.2C16 10.4 16 11.5 15.9 12.4L11.9 13.9C11.4 13.4 10.8 12.9 10.1 12.6C9.7 12.4 9.3 12.1 9 11.8L16 9.2Z\";\r\nexport var mdiFoodSteakOff = \"M2.39 1.73L1.11 3L5.27 7.16C5.08 7.83 5 8.53 5 9.26C5.1 11.83 6.59 14.05 8.74 15.19C10.1 15.9 11 17.25 11 18.79V19C11 20.66 12.34 22 14 22C15.68 22 16.83 21.11 17.6 19.5L20.84 22.73L22.11 21.46L2.39 1.73M14 20C13.45 20 13 19.55 13 19V18.79C13 16.56 11.72 14.5 9.67 13.42C8.09 12.58 7.07 10.96 7 9.18C7 9.09 7 9 7 8.9L8.16 10.05C8.19 10.15 8.21 10.25 8.24 10.35L8.4 10.29L9.62 11.5L9.08 11.71C9.38 12.04 9.73 12.32 10.14 12.53C10.81 12.89 11.4 13.34 11.91 13.85L11.95 13.84L13.17 15.06L12.95 15.14C13.46 15.96 13.8 16.89 13.93 17.85L15.2 17.39C15.22 17.32 15.25 17.24 15.27 17.16L16.07 17.96C15.47 19.68 14.68 20 14 20M15.79 7.6L12.14 8.94L9.88 6.68L13.69 5.3C14.94 5.77 15.53 6.72 15.79 7.6M8.59 5.39L7.17 3.97C8.41 2.77 10.07 2 11.88 2H11.88C19 2 19 9 19 9C19 11.46 18.9 13.63 18.66 15.46L16.84 13.64C16.94 12.36 17 10.83 17 9C17 8.18 16.69 4 11.88 4H11.88C10.67 4 9.5 4.5 8.59 5.39M15.68 12.5L13.36 10.15L16 9.19C16 10.41 15.97 11.46 15.92 12.4L15.68 12.5Z\";\r\nexport var mdiFoodTurkey = \"M5.44 7.96L5.96 7.43C6.54 6.85 7.5 6.85 8.1 7.47L8.12 7.5C8.61 8 9.26 8.24 9.97 8.31C10.94 8.4 11.88 8.92 12.5 9.86C13.18 10.94 13.17 12.38 12.46 13.45C11.26 15.3 8.75 15.5 7.28 14C6.72 13.45 6.4 12.74 6.32 12C6.24 11.27 5.95 10.58 5.44 10.07C4.86 9.5 4.86 8.54 5.44 7.96M9.64 16C8.47 16 7.38 15.55 6.57 14.72C5.87 14 5.43 13.1 5.32 12.12C5.29 11.82 5.2 11.43 4.96 11.07C4.36 11.9 4 12.9 4 14C4 15.64 4.8 17.09 6.03 18H19V17C19 13.4 16.61 10.35 13.34 9.35C14.23 10.75 14.21 12.62 13.3 14C12.5 15.25 11.12 16 9.64 16M14.78 7.56H16.05C16.92 7.56 17.68 8.17 17.68 9.26V10H18.93V9C18.93 7.5 17.6 6.36 16.05 6.36H14.78C13.95 6.36 13.24 5.54 13.24 4.7S13.95 3.24 14.78 3.24V2C13.24 2 12 3.24 12 4.78S13.24 7.56 14.78 7.56M4.5 7.55C4.56 7.45 4.64 7.35 4.73 7.25L5.25 6.73C5.34 6.64 5.44 6.57 5.54 6.5L4.13 5.07C4.27 4.8 4.22 4.45 4 4.22C3.7 3.93 3.22 3.93 2.93 4.22C2.79 4.36 2.72 4.53 2.71 4.71C2.53 4.72 2.36 4.79 2.22 4.93C1.93 5.22 1.93 5.7 2.22 6C2.45 6.22 2.79 6.27 3.07 6.13L4.5 7.55M18.39 4.39C18.9 3.88 19.22 3.19 19.22 2.42H17.97C17.97 3.25 17.27 3.95 16.44 3.95V5.19C18.3 5.19 19.76 6.71 19.76 8.57V11H21V8.57C21 6.72 19.94 5.13 18.39 4.39M5 21H19C20.11 21 21 20.11 21 19H3C3 20.11 3.9 21 5 21Z\";\r\nexport var mdiFoodVariant = \"M22,18A4,4 0 0,1 18,22H15A4,4 0 0,1 11,18V16H17.79L20.55,11.23L22.11,12.13L19.87,16H22V18M9,22H2C2,19 2,16 2.33,12.83C2.6,10.3 3.08,7.66 3.6,5H3V3H4L7,3H8V5H7.4C7.92,7.66 8.4,10.3 8.67,12.83C9,16 9,19 9,22Z\";\r\nexport var mdiFoodVariantOff = \"M2.28 3L1 4.27L3.31 6.58C2.91 8.7 2.55 10.8 2.33 12.83C2 16 2 19 2 22H9C9 19 9 16 8.67 12.83C8.63 12.5 8.58 12.15 8.54 11.81L12.73 16H11V18C11 20.21 12.79 22 15 22H18C18.23 22 18.45 22 18.67 21.94L19.73 23L21 21.72M4.82 3L7.53 5.71C7.5 5.47 7.45 5.24 7.4 5H8V3H7M20.55 11.23L17.8 16L21.59 19.76C21.86 19.21 22 18.61 22 18V16H19.87L22.11 12.13Z\";\r\nexport var mdiFootPrint = \"M16 2A2 2 0 1 1 14 4A2 2 0 0 1 16 2M12.04 3A1.5 1.5 0 1 1 10.54 4.5A1.5 1.5 0 0 1 12.04 3M9.09 4.5A1 1 0 1 1 8.09 5.5A1 1 0 0 1 9.09 4.5M7.04 6A1 1 0 1 1 6.04 7A1 1 0 0 1 7.04 6M14.53 12A2.5 2.5 0 0 0 17 9.24A2.6 2.6 0 0 0 14.39 7H11.91A6 6 0 0 0 6.12 11.4A2 2 0 0 0 6.23 12.8A6.8 6.8 0 0 1 6.91 15.76A6.89 6.89 0 0 1 6.22 18.55A1.92 1.92 0 0 0 6.3 20.31A3.62 3.62 0 0 0 10.19 21.91A3.5 3.5 0 0 0 12.36 16.63A2.82 2.82 0 0 1 11.91 15S11.68 12 14.53 12Z\";\r\nexport var mdiFootball = \"M7.5,7.5C9.17,5.87 11.29,4.69 13.37,4.18C15.46,3.67 17.5,3.83 18.6,4C19.71,4.15 19.87,4.31 20.03,5.41C20.18,6.5 20.33,8.55 19.82,10.63C19.31,12.71 18.13,14.83 16.5,16.5C14.83,18.13 12.71,19.31 10.63,19.82C8.55,20.33 6.5,20.18 5.41,20.03C4.31,19.87 4.15,19.71 4,18.6C3.83,17.5 3.67,15.46 4.18,13.37C4.69,11.29 5.87,9.17 7.5,7.5M7.3,15.79L8.21,16.7L9.42,15.5L10.63,16.7L11.54,15.79L10.34,14.58L12,12.91L13.21,14.12L14.12,13.21L12.91,12L14.58,10.34L15.79,11.54L16.7,10.63L15.5,9.42L16.7,8.21L15.79,7.3L14.58,8.5L13.37,7.3L12.46,8.21L13.66,9.42L12,11.09L10.79,9.88L9.88,10.79L11.09,12L9.42,13.66L8.21,12.46L7.3,13.37L8.5,14.58L7.3,15.79Z\";\r\nexport var mdiFootballAustralian = \"M7.5,7.5C9.17,5.87 11.29,4.69 13.37,4.18C18,3 21,6 19.82,10.63C19.31,12.71 18.13,14.83 16.5,16.5C14.83,18.13 12.71,19.31 10.63,19.82C6,21 3,18 4.18,13.37C4.69,11.29 5.87,9.17 7.5,7.5M10.62,11.26L10.26,11.62L12.38,13.74L12.74,13.38L10.62,11.26M11.62,10.26L11.26,10.62L13.38,12.74L13.74,12.38L11.62,10.26M9.62,12.26L9.26,12.62L11.38,14.74L11.74,14.38L9.62,12.26M12.63,9.28L12.28,9.63L14.4,11.75L14.75,11.4L12.63,9.28M8.63,13.28L8.28,13.63L10.4,15.75L10.75,15.4L8.63,13.28M13.63,8.28L13.28,8.63L15.4,10.75L15.75,10.4L13.63,8.28Z\";\r\nexport var mdiFootballHelmet = \"M13.5,12A1.5,1.5 0 0,0 12,13.5A1.5,1.5 0 0,0 13.5,15A1.5,1.5 0 0,0 15,13.5A1.5,1.5 0 0,0 13.5,12M13.5,3C18.19,3 22,6.58 22,11C22,12.62 22,14 21.09,16C17,16 16,20 12.5,20C10.32,20 9.27,18.28 9.05,16H9L8.24,16L6.96,20.3C6.81,20.79 6.33,21.08 5.84,21H3A1,1 0 0,1 2,20A1,1 0 0,1 3,19V16A1,1 0 0,1 2,15A1,1 0 0,1 3,14H6.75L7.23,12.39C6.72,12.14 6.13,12 5.5,12H5.07L5,11C5,6.58 8.81,3 13.5,3M5,16V19H5.26L6.15,16H5Z\";\r\nexport var mdiForklift = \"M6,4V11H4C2.89,11 2,11.89 2,13V17A3,3 0 0,0 5,20A3,3 0 0,0 8,17H10A3,3 0 0,0 13,20A3,3 0 0,0 16,17V13L12,4H6M17,5V19H22V17.5H18.5V5H17M7.5,5.5H11.2L14.5,13H7.5V5.5M5,15.5A1.5,1.5 0 0,1 6.5,17A1.5,1.5 0 0,1 5,18.5A1.5,1.5 0 0,1 3.5,17A1.5,1.5 0 0,1 5,15.5M13,15.5A1.5,1.5 0 0,1 14.5,17A1.5,1.5 0 0,1 13,18.5A1.5,1.5 0 0,1 11.5,17A1.5,1.5 0 0,1 13,15.5Z\";\r\nexport var mdiFormDropdown = \"M17 5H20L18.5 7L17 5M3 2H21C22.11 2 23 2.9 23 4V8C23 9.11 22.11 10 21 10H16V20C16 21.11 15.11 22 14 22H3C1.9 22 1 21.11 1 20V4C1 2.9 1.9 2 3 2M3 4V8H14V4H3M21 8V4H16V8H21M3 20H14V10H3V20M5 12H12V14H5V12M5 16H12V18H5V16Z\";\r\nexport var mdiFormSelect = \"M15 5H18L16.5 7L15 5M5 2H19C20.11 2 21 2.9 21 4V20C21 21.11 20.11 22 19 22H5C3.9 22 3 21.11 3 20V4C3 2.9 3.9 2 5 2M5 4V8H19V4H5M5 20H19V10H5V20M7 12H17V14H7V12M7 16H17V18H7V16Z\";\r\nexport var mdiFormTextarea = \"M13 9H4V23H2V7H13M23 9V7H17V5A1 1 0 0 1 18 4H20V2H17.5C17 2 16 2.45 16 3C16 2.45 15.05 2 14.5 2H12V4H14A1 1 0 0 1 15 5V19A1 1 0 0 1 14 20H12V22H14.5C15.05 22 16 21.55 16 21C16 21.55 16.95 22 17.5 22H20V20H18A1 1 0 0 1 17 19V9Z\";\r\nexport var mdiFormTextbox = \"M17,7H22V17H17V19A1,1 0 0,0 18,20H20V22H17.5C16.95,22 16,21.55 16,21C16,21.55 15.05,22 14.5,22H12V20H14A1,1 0 0,0 15,19V5A1,1 0 0,0 14,4H12V2H14.5C15.05,2 16,2.45 16,3C16,2.45 16.95,2 17.5,2H20V4H18A1,1 0 0,0 17,5V7M2,7H13V9H4V15H13V17H2V7M20,15V9H17V15H20Z\";\r\nexport var mdiFormTextboxLock = \"M2 7H6V9H4V15H6V17H2V7M10 7H22V12C21.42 11.56 20.74 11.25 20 11.1V9H10V15H14.25C13.56 15 13 15.56 13 16.25V17H10V19C10 19.55 10.45 20 11 20H13V22H10.5C9.95 22 9 21.55 9 21C9 21.55 8.05 22 7.5 22H5V20H7C7.55 20 8 19.55 8 19V5C8 4.45 7.55 4 7 4H5V2H7.5C8.05 2 9 2.45 9 3C9 2.45 9.95 2 10.5 2H13V4H11C10.45 4 10 4.45 10 5V7M21.8 17C22.4 17 23 17.6 23 18.3V21.8C23 22.4 22.4 23 21.7 23H16.2C15.6 23 15 22.4 15 21.7V18.2C15 17.6 15.6 17 16.2 17V15.5C16.2 14.1 17.6 13 19 13C20.4 13 21.8 14.1 21.8 15.5V17M20.5 17V15.5C20.5 14.7 19.8 14.2 19 14.2C18.2 14.2 17.5 14.7 17.5 15.5V17H20.5Z\";\r\nexport var mdiFormTextboxPassword = \"M17,7H22V17H17V19A1,1 0 0,0 18,20H20V22H17.5C16.95,22 16,21.55 16,21C16,21.55 15.05,22 14.5,22H12V20H14A1,1 0 0,0 15,19V5A1,1 0 0,0 14,4H12V2H14.5C15.05,2 16,2.45 16,3C16,2.45 16.95,2 17.5,2H20V4H18A1,1 0 0,0 17,5V7M2,7H13V9H4V15H13V17H2V7M20,15V9H17V15H20M8.5,12A1.5,1.5 0 0,0 7,10.5A1.5,1.5 0 0,0 5.5,12A1.5,1.5 0 0,0 7,13.5A1.5,1.5 0 0,0 8.5,12M13,10.89C12.39,10.33 11.44,10.38 10.88,11C10.32,11.6 10.37,12.55 11,13.11C11.55,13.63 12.43,13.63 13,13.11V10.89Z\";\r\nexport var mdiFormatAlignBottom = \"M13,9L15.5,6.5L16.92,7.92L12,12.84L7.08,7.92L8.5,6.5L11,9V3H13V9M3,15H21V17H3V15M3,19H13V21H3V19Z\";\r\nexport var mdiFormatAlignCenter = \"M3,3H21V5H3V3M7,7H17V9H7V7M3,11H21V13H3V11M7,15H17V17H7V15M3,19H21V21H3V19Z\";\r\nexport var mdiFormatAlignJustify = \"M3,3H21V5H3V3M3,7H21V9H3V7M3,11H21V13H3V11M3,15H21V17H3V15M3,19H21V21H3V19Z\";\r\nexport var mdiFormatAlignLeft = \"M3,3H21V5H3V3M3,7H15V9H3V7M3,11H21V13H3V11M3,15H15V17H3V15M3,19H21V21H3V19Z\";\r\nexport var mdiFormatAlignMiddle = \"M13,6L15,4L16.42,5.42L12,9.84L7.58,5.42L9,4L11,6V2H13V6M3,11H21V13H3V11M13,18V22H11V18L9,20L7.58,18.58L12,14.16L16.42,18.58L15,20L13,18Z\";\r\nexport var mdiFormatAlignRight = \"M3,3H21V5H3V3M9,7H21V9H9V7M3,11H21V13H3V11M9,15H21V17H9V15M3,19H21V21H3V19Z\";\r\nexport var mdiFormatAlignTop = \"M13,15L15.5,17.5L16.92,16.08L12,11.16L7.08,16.08L8.5,17.5L11,15V21H13V15M3,3H21V5H3V3M3,7H13V9H3V7Z\";\r\nexport var mdiFormatAnnotationMinus = \"M10.5,7H8.5L3,21H5.2L6.3,18H12.5L13.6,21H16L10.5,7M7.1,16L9.5,9.7L11.9,16H7.1M22,7H14V5H22V7Z\";\r\nexport var mdiFormatAnnotationPlus = \"M8.5,7H10.5L16,21H13.6L12.5,18H6.3L5.2,21H3L8.5,7M7.1,16H11.9L9.5,9.7L7.1,16M22,5V7H19V10H17V7H14V5H17V2H19V5H22Z\";\r\nexport var mdiFormatBold = \"M13.5,15.5H10V12.5H13.5A1.5,1.5 0 0,1 15,14A1.5,1.5 0 0,1 13.5,15.5M10,6.5H13A1.5,1.5 0 0,1 14.5,8A1.5,1.5 0 0,1 13,9.5H10M15.6,10.79C16.57,10.11 17.25,9 17.25,8C17.25,5.74 15.5,4 13.25,4H7V18H14.04C16.14,18 17.75,16.3 17.75,14.21C17.75,12.69 16.89,11.39 15.6,10.79Z\";\r\nexport var mdiFormatClear = \"M6,5V5.18L8.82,8H11.22L10.5,9.68L12.6,11.78L14.21,8H20V5H6M3.27,5L2,6.27L8.97,13.24L6.5,19H9.5L11.07,15.34L16.73,21L18,19.73L3.55,5.27L3.27,5Z\";\r\nexport var mdiFormatColorFill = \"M19,11.5C19,11.5 17,13.67 17,15A2,2 0 0,0 19,17A2,2 0 0,0 21,15C21,13.67 19,11.5 19,11.5M5.21,10L10,5.21L14.79,10M16.56,8.94L7.62,0L6.21,1.41L8.59,3.79L3.44,8.94C2.85,9.5 2.85,10.47 3.44,11.06L8.94,16.56C9.23,16.85 9.62,17 10,17C10.38,17 10.77,16.85 11.06,16.56L16.56,11.06C17.15,10.47 17.15,9.5 16.56,8.94Z\";\r\nexport var mdiFormatColorHighlight = \"M4,17L6.75,14.25L6.72,14.23C6.14,13.64 6.14,12.69 6.72,12.11L11.46,7.37L15.7,11.61L10.96,16.35C10.39,16.93 9.46,16.93 8.87,16.37L8.24,17H4M15.91,2.91C16.5,2.33 17.45,2.33 18.03,2.91L20.16,5.03C20.74,5.62 20.74,6.57 20.16,7.16L16.86,10.45L12.62,6.21L15.91,2.91Z\";\r\nexport var mdiFormatColorMarkerCancel = \"M16.5 8C14 8 12 10 12 12.5S14 17 16.5 17 21 15 21 12.5 19 8 16.5 8M16.5 15.5C14.8 15.5 13.5 14.2 13.5 12.5C13.5 11.9 13.7 11.4 13.9 11L18 15.1C17.6 15.3 17.1 15.5 16.5 15.5M19.1 14L15 9.9C15.4 9.6 15.9 9.5 16.5 9.5C18.2 9.5 19.5 10.8 19.5 12.5C19.5 13.1 19.3 13.6 19.1 14M12.1 7.7L10.6 6.2L13.9 2.9C14.5 2.3 15.4 2.3 16 2.9L18.2 5C18.6 5.4 18.7 5.8 18.6 6.3C18 6.1 17.3 6 16.6 6C14.8 6 13.3 6.7 12.1 7.7M10.5 14.9L9 16.3C8.4 16.9 7.5 16.9 6.9 16.3L6.2 17H2L4.8 14.2C4.2 13.6 4.2 12.7 4.8 12.1L9.5 7.4L11.1 9C10.4 10 10 11.2 10 12.5C10 13.3 10.2 14.1 10.5 14.9Z\";\r\nexport var mdiFormatColorText = \"M9.62,12L12,5.67L14.37,12M11,3L5.5,17H7.75L8.87,14H15.12L16.25,17H18.5L13,3H11Z\";\r\nexport var mdiFormatColumns = \"M3,3H11V5H3V3M13,3H21V5H13V3M3,7H11V9H3V7M13,7H21V9H13V7M3,11H11V13H3V11M13,11H21V13H13V11M3,15H11V17H3V15M13,15H21V17H13V15M3,19H11V21H3V19M13,19H21V21H13V19Z\";\r\nexport var mdiFormatFloatCenter = \"M9,7H15V13H9V7M3,3H21V5H3V3M3,15H21V17H3V15M3,19H17V21H3V19Z\";\r\nexport var mdiFormatFloatLeft = \"M3,7H9V13H3V7M3,3H21V5H3V3M21,7V9H11V7H21M21,11V13H11V11H21M3,15H17V17H3V15M3,19H21V21H3V19Z\";\r\nexport var mdiFormatFloatNone = \"M3,7H9V13H3V7M3,3H21V5H3V3M21,11V13H11V11H21M3,15H17V17H3V15M3,19H21V21H3V19Z\";\r\nexport var mdiFormatFloatRight = \"M15,7H21V13H15V7M3,3H21V5H3V3M13,7V9H3V7H13M9,11V13H3V11H9M3,15H17V17H3V15M3,19H21V21H3V19Z\";\r\nexport var mdiFormatFont = \"M17,8H20V20H21V21H17V20H18V17H14L12.5,20H14V21H10V20H11L17,8M18,9L14.5,16H18V9M5,3H10C11.11,3 12,3.89 12,5V16H9V11H6V16H3V5C3,3.89 3.89,3 5,3M6,5V9H9V5H6Z\";\r\nexport var mdiFormatFontSizeDecrease = \"M5.12,14L7.5,7.67L9.87,14M6.5,5L1,19H3.25L4.37,16H10.62L11.75,19H14L8.5,5H6.5M18,17L23,11.93L21.59,10.5L19,13.1V7H17V13.1L14.41,10.5L13,11.93L18,17Z\";\r\nexport var mdiFormatFontSizeIncrease = \"M5.12,14L7.5,7.67L9.87,14M6.5,5L1,19H3.25L4.37,16H10.62L11.75,19H14L8.5,5H6.5M18,7L13,12.07L14.41,13.5L17,10.9V17H19V10.9L21.59,13.5L23,12.07L18,7Z\";\r\nexport var mdiFormatHeader1 = \"M3,4H5V10H9V4H11V18H9V12H5V18H3V4M14,18V16H16V6.31L13.5,7.75V5.44L16,4H18V16H20V18H14Z\";\r\nexport var mdiFormatHeader2 = \"M3,4H5V10H9V4H11V18H9V12H5V18H3V4M21,18H15A2,2 0 0,1 13,16C13,15.47 13.2,15 13.54,14.64L18.41,9.41C18.78,9.05 19,8.55 19,8A2,2 0 0,0 17,6A2,2 0 0,0 15,8H13A4,4 0 0,1 17,4A4,4 0 0,1 21,8C21,9.1 20.55,10.1 19.83,10.83L15,16H21V18Z\";\r\nexport var mdiFormatHeader3 = \"M3,4H5V10H9V4H11V18H9V12H5V18H3V4M15,4H19A2,2 0 0,1 21,6V16A2,2 0 0,1 19,18H15A2,2 0 0,1 13,16V15H15V16H19V12H15V10H19V6H15V7H13V6A2,2 0 0,1 15,4Z\";\r\nexport var mdiFormatHeader4 = \"M3,4H5V10H9V4H11V18H9V12H5V18H3V4M18,18V13H13V11L18,4H20V11H21V13H20V18H18M18,11V7.42L15.45,11H18Z\";\r\nexport var mdiFormatHeader5 = \"M3,4H5V10H9V4H11V18H9V12H5V18H3V4M15,4H20V6H15V10H17A4,4 0 0,1 21,14A4,4 0 0,1 17,18H15A2,2 0 0,1 13,16V15H15V16H17A2,2 0 0,0 19,14A2,2 0 0,0 17,12H15A2,2 0 0,1 13,10V6A2,2 0 0,1 15,4Z\";\r\nexport var mdiFormatHeader6 = \"M3,4H5V10H9V4H11V18H9V12H5V18H3V4M15,4H19A2,2 0 0,1 21,6V7H19V6H15V10H19A2,2 0 0,1 21,12V16A2,2 0 0,1 19,18H15A2,2 0 0,1 13,16V6A2,2 0 0,1 15,4M15,12V16H19V12H15Z\";\r\nexport var mdiFormatHeaderDecrease = \"M4,4H6V10H10V4H12V18H10V12H6V18H4V4M20.42,7.41L16.83,11L20.42,14.59L19,16L14,11L19,6L20.42,7.41Z\";\r\nexport var mdiFormatHeaderEqual = \"M4,4H6V10H10V4H12V18H10V12H6V18H4V4M14,10V8H21V10H14M14,12H21V14H14V12Z\";\r\nexport var mdiFormatHeaderIncrease = \"M4,4H6V10H10V4H12V18H10V12H6V18H4V4M14.59,7.41L18.17,11L14.59,14.59L16,16L21,11L16,6L14.59,7.41Z\";\r\nexport var mdiFormatHeaderPound = \"M3,4H5V10H9V4H11V18H9V12H5V18H3V4M13,8H15.31L15.63,5H17.63L17.31,8H19.31L19.63,5H21.63L21.31,8H23V10H21.1L20.9,12H23V14H20.69L20.37,17H18.37L18.69,14H16.69L16.37,17H14.37L14.69,14H13V12H14.9L15.1,10H13V8M17.1,10L16.9,12H18.9L19.1,10H17.1Z\";\r\nexport var mdiFormatHorizontalAlignCenter = \"M19,16V13H23V11H19V8L15,12L19,16M5,8V11H1V13H5V16L9,12L5,8M11,20H13V4H11V20Z\";\r\nexport var mdiFormatHorizontalAlignLeft = \"M11,16V13H21V11H11V8L7,12L11,16M3,20H5V4H3V20Z\";\r\nexport var mdiFormatHorizontalAlignRight = \"M13,8V11H3V13H13V16L17,12L13,8M19,20H21V4H19V20Z\";\r\nexport var mdiFormatIndentDecrease = \"M11,13H21V11H11M11,9H21V7H11M3,3V5H21V3M3,21H21V19H3M3,12L7,16V8M11,17H21V15H11V17Z\";\r\nexport var mdiFormatIndentIncrease = \"M11,13H21V11H11M11,9H21V7H11M3,3V5H21V3M11,17H21V15H11M3,8V16L7,12M3,21H21V19H3V21Z\";\r\nexport var mdiFormatItalic = \"M10,4V7H12.21L8.79,15H6V18H14V15H11.79L15.21,7H18V4H10Z\";\r\nexport var mdiFormatLetterCase = \"M20.06,18C20,17.83 19.91,17.54 19.86,17.11C19.19,17.81 18.38,18.16 17.45,18.16C16.62,18.16 15.93,17.92 15.4,17.45C14.87,17 14.6,16.39 14.6,15.66C14.6,14.78 14.93,14.1 15.6,13.61C16.27,13.12 17.21,12.88 18.43,12.88H19.83V12.24C19.83,11.75 19.68,11.36 19.38,11.07C19.08,10.78 18.63,10.64 18.05,10.64C17.53,10.64 17.1,10.76 16.75,11C16.4,11.25 16.23,11.54 16.23,11.89H14.77C14.77,11.46 14.92,11.05 15.22,10.65C15.5,10.25 15.93,9.94 16.44,9.71C16.95,9.5 17.5,9.36 18.13,9.36C19.11,9.36 19.87,9.6 20.42,10.09C20.97,10.58 21.26,11.25 21.28,12.11V16C21.28,16.8 21.38,17.42 21.58,17.88V18H20.06M17.66,16.88C18.11,16.88 18.54,16.77 18.95,16.56C19.35,16.35 19.65,16.07 19.83,15.73V14.16H18.7C16.93,14.16 16.04,14.63 16.04,15.57C16.04,16 16.19,16.3 16.5,16.53C16.8,16.76 17.18,16.88 17.66,16.88M5.46,13.71H9.53L7.5,8.29L5.46,13.71M6.64,6H8.36L13.07,18H11.14L10.17,15.43H4.82L3.86,18H1.93L6.64,6Z\";\r\nexport var mdiFormatLetterCaseLower = \"M20.06,18C20,17.83 19.91,17.54 19.86,17.11C19.19,17.81 18.38,18.16 17.45,18.16C16.62,18.16 15.93,17.92 15.4,17.45C14.87,17 14.6,16.39 14.6,15.66C14.6,14.78 14.93,14.1 15.6,13.61C16.27,13.12 17.21,12.88 18.43,12.88H19.83V12.24C19.83,11.75 19.68,11.36 19.38,11.07C19.08,10.78 18.63,10.64 18.05,10.64C17.53,10.64 17.1,10.76 16.75,11C16.4,11.25 16.23,11.54 16.23,11.89H14.77C14.77,11.46 14.92,11.05 15.22,10.65C15.5,10.25 15.93,9.94 16.44,9.71C16.95,9.5 17.5,9.36 18.13,9.36C19.11,9.36 19.87,9.6 20.42,10.09C20.97,10.58 21.26,11.25 21.28,12.11V16C21.28,16.8 21.38,17.42 21.58,17.88V18H20.06M17.66,16.88C18.11,16.88 18.54,16.77 18.95,16.56C19.35,16.35 19.65,16.07 19.83,15.73V14.16H18.7C16.93,14.16 16.04,14.63 16.04,15.57C16.04,16 16.19,16.3 16.5,16.53C16.8,16.76 17.18,16.88 17.66,16.88M5.46,13.71H9.53L7.5,8.29L5.46,13.71M6.64,6H8.36L13.07,18H11.14L10.17,15.43H4.82L3.86,18H1.93L6.64,6M22,20V22H14.5V20H22Z\";\r\nexport var mdiFormatLetterCaseUpper = \"M20.06,18C20,17.83 19.91,17.54 19.86,17.11C19.19,17.81 18.38,18.16 17.45,18.16C16.62,18.16 15.93,17.92 15.4,17.45C14.87,17 14.6,16.39 14.6,15.66C14.6,14.78 14.93,14.1 15.6,13.61C16.27,13.12 17.21,12.88 18.43,12.88H19.83V12.24C19.83,11.75 19.68,11.36 19.38,11.07C19.08,10.78 18.63,10.64 18.05,10.64C17.53,10.64 17.1,10.76 16.75,11C16.4,11.25 16.23,11.54 16.23,11.89H14.77C14.77,11.46 14.92,11.05 15.22,10.65C15.5,10.25 15.93,9.94 16.44,9.71C16.95,9.5 17.5,9.36 18.13,9.36C19.11,9.36 19.87,9.6 20.42,10.09C20.97,10.58 21.26,11.25 21.28,12.11V16C21.28,16.8 21.38,17.42 21.58,17.88V18H20.06M17.66,16.88C18.11,16.88 18.54,16.77 18.95,16.56C19.35,16.35 19.65,16.07 19.83,15.73V14.16H18.7C16.93,14.16 16.04,14.63 16.04,15.57C16.04,16 16.19,16.3 16.5,16.53C16.8,16.76 17.18,16.88 17.66,16.88M5.46,13.71H9.53L7.5,8.29L5.46,13.71M6.64,6H8.36L13.07,18H11.14L10.17,15.43H4.82L3.86,18H1.93L6.64,6M2,20H13V22H2V20Z\";\r\nexport var mdiFormatLetterEndsWith = \"M11.14 4L6.43 16H8.36L9.32 13.43H14.67L15.64 16H17.57L12.86 4M12 6.29L14.03 11.71H9.96M20 14V18H2V20H22V14Z\";\r\nexport var mdiFormatLetterMatches = \"M11.14 4L6.43 16H8.36L9.32 13.43H14.67L15.64 16H17.57L12.86 4M12 6.29L14.03 11.71H9.96M20 14V18H4V15H2V20H22V14Z\";\r\nexport var mdiFormatLetterStartsWith = \"M11.14 4L6.43 16H8.36L9.32 13.43H14.67L15.64 16H17.57L12.86 4M12 6.29L14.03 11.71H9.96M4 18V15H2V20H22V18Z\";\r\nexport var mdiFormatLineSpacing = \"M10,13H22V11H10M10,19H22V17H10M10,7H22V5H10M6,7H8.5L5,3.5L1.5,7H4V17H1.5L5,20.5L8.5,17H6V7Z\";\r\nexport var mdiFormatLineStyle = \"M3,16H8V14H3V16M9.5,16H14.5V14H9.5V16M16,16H21V14H16V16M3,20H5V18H3V20M7,20H9V18H7V20M11,20H13V18H11V20M15,20H17V18H15V20M19,20H21V18H19V20M3,12H11V10H3V12M13,12H21V10H13V12M3,4V8H21V4H3Z\";\r\nexport var mdiFormatLineWeight = \"M3,17H21V15H3V17M3,20H21V19H3V20M3,13H21V10H3V13M3,4V8H21V4H3Z\";\r\nexport var mdiFormatListBulleted = \"M7,5H21V7H7V5M7,13V11H21V13H7M4,4.5A1.5,1.5 0 0,1 5.5,6A1.5,1.5 0 0,1 4,7.5A1.5,1.5 0 0,1 2.5,6A1.5,1.5 0 0,1 4,4.5M4,10.5A1.5,1.5 0 0,1 5.5,12A1.5,1.5 0 0,1 4,13.5A1.5,1.5 0 0,1 2.5,12A1.5,1.5 0 0,1 4,10.5M7,19V17H21V19H7M4,16.5A1.5,1.5 0 0,1 5.5,18A1.5,1.5 0 0,1 4,19.5A1.5,1.5 0 0,1 2.5,18A1.5,1.5 0 0,1 4,16.5Z\";\r\nexport var mdiFormatListBulletedSquare = \"M3,4H7V8H3V4M9,5V7H21V5H9M3,10H7V14H3V10M9,11V13H21V11H9M3,16H7V20H3V16M9,17V19H21V17H9\";\r\nexport var mdiFormatListBulletedTriangle = \"M5,15.5L7.5,20H2.5L5,15.5M9,19H21V17H9V19M5,9.5L7.5,14H2.5L5,9.5M9,13H21V11H9V13M5,3.5L7.5,8H2.5L5,3.5M9,7H21V5H9V7Z\";\r\nexport var mdiFormatListBulletedType = \"M5,9.5L7.5,14H2.5L5,9.5M3,4H7V8H3V4M5,20A2,2 0 0,0 7,18A2,2 0 0,0 5,16A2,2 0 0,0 3,18A2,2 0 0,0 5,20M9,5V7H21V5H9M9,19H21V17H9V19M9,13H21V11H9V13Z\";\r\nexport var mdiFormatListCheckbox = \"M21,19V17H8V19H21M21,13V11H8V13H21M8,7H21V5H8V7M4,5V7H6V5H4M3,5A1,1 0 0,1 4,4H6A1,1 0 0,1 7,5V7A1,1 0 0,1 6,8H4A1,1 0 0,1 3,7V5M4,11V13H6V11H4M3,11A1,1 0 0,1 4,10H6A1,1 0 0,1 7,11V13A1,1 0 0,1 6,14H4A1,1 0 0,1 3,13V11M4,17V19H6V17H4M3,17A1,1 0 0,1 4,16H6A1,1 0 0,1 7,17V19A1,1 0 0,1 6,20H4A1,1 0 0,1 3,19V17Z\";\r\nexport var mdiFormatListChecks = \"M3,5H9V11H3V5M5,7V9H7V7H5M11,7H21V9H11V7M11,15H21V17H11V15M5,20L1.5,16.5L2.91,15.09L5,17.17L9.59,12.59L11,14L5,20Z\";\r\nexport var mdiFormatListNumbered = \"M7,13V11H21V13H7M7,19V17H21V19H7M7,7V5H21V7H7M3,8V5H2V4H4V8H3M2,17V16H5V20H2V19H4V18.5H3V17.5H4V17H2M4.25,10A0.75,0.75 0 0,1 5,10.75C5,10.95 4.92,11.14 4.79,11.27L3.12,13H5V14H2V13.08L4,11H2V10H4.25Z\";\r\nexport var mdiFormatListNumberedRtl = \"M3,13V11H17V13H3M3,19V17H17V19H3M3,7V5H17V7H3M20,8V5H19V4H21V8H20M19,17V16H22V20H19V19H21V18.5H20V17.5H21V17H19M21.25,10C21.67,10 22,10.34 22,10.75C22,10.95 21.92,11.14 21.79,11.27L20.12,13H22V14H19V13.08L21,11H19V10H21.25Z\";\r\nexport var mdiFormatListText = \"M2 14H8V20H2M16 8H10V10H16M2 10H8V4H2M10 4V6H22V4M10 20H16V18H10M10 16H22V14H10\";\r\nexport var mdiFormatOverline = \"M5,5H19V3H5V5M9.62,16L12,9.67L14.37,16M11,7L5.5,21H7.75L8.87,18H15.12L16.25,21H18.5L13,7H11Z\";\r\nexport var mdiFormatPageBreak = \"M18,20H6V18H4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V18H18V20M14,2H6A2,2 0 0,0 4,4V12H6V4H14V8H18V12H20V8L14,2M11,16H8V14H11V16M16,16H13V14H16V16M3,14H6V16H3V14M21,16H18V14H21V16Z\";\r\nexport var mdiFormatPaint = \"M18,4V3A1,1 0 0,0 17,2H5A1,1 0 0,0 4,3V7A1,1 0 0,0 5,8H17A1,1 0 0,0 18,7V6H19V10H9V21A1,1 0 0,0 10,22H12A1,1 0 0,0 13,21V12H21V4H18Z\";\r\nexport var mdiFormatParagraph = \"M13,4A4,4 0 0,1 17,8A4,4 0 0,1 13,12H11V18H9V4H13M13,10A2,2 0 0,0 15,8A2,2 0 0,0 13,6H11V10H13Z\";\r\nexport var mdiFormatPilcrow = \"M10,11A4,4 0 0,1 6,7A4,4 0 0,1 10,3H18V5H16V21H14V5H12V21H10V11Z\";\r\nexport var mdiFormatQuoteClose = \"M14,17H17L19,13V7H13V13H16M6,17H9L11,13V7H5V13H8L6,17Z\";\r\nexport var mdiFormatQuoteCloseOutline = \"M13 6V14H14.88L12.88 18H18.62L21 13.24V6M15 8H19V12.76L17.38 16H16.12L18.12 12H15M3 6V14H4.88L2.88 18H8.62L11 13.24V6M5 8H9V12.76L7.38 16H6.12L8.12 12H5Z\";\r\nexport var mdiFormatQuoteOpen = \"M10,7L8,11H11V17H5V11L7,7H10M18,7L16,11H19V17H13V11L15,7H18Z\";\r\nexport var mdiFormatQuoteOpenOutline = \"M11 18V10H9.12L11.12 6H5.38L3 10.76V18M9 16H5V11.24L6.62 8H7.88L5.88 12H9M21 18V10H19.12L21.12 6H15.38L13 10.76V18M19 16H15V11.24L16.62 8H17.88L15.88 12H19Z\";\r\nexport var mdiFormatRotate90 = \"M7.34,6.41L0.86,12.9L7.35,19.38L13.84,12.9L7.34,6.41M3.69,12.9L7.35,9.24L11,12.9L7.34,16.56L3.69,12.9M19.36,6.64C17.61,4.88 15.3,4 13,4V0.76L8.76,5L13,9.24V6C14.79,6 16.58,6.68 17.95,8.05C20.68,10.78 20.68,15.22 17.95,17.95C16.58,19.32 14.79,20 13,20C12.03,20 11.06,19.79 10.16,19.39L8.67,20.88C10,21.62 11.5,22 13,22C15.3,22 17.61,21.12 19.36,19.36C22.88,15.85 22.88,10.15 19.36,6.64Z\";\r\nexport var mdiFormatSection = \"M15.67,4.42C14.7,3.84 13.58,3.54 12.45,3.56C10.87,3.56 9.66,4.34 9.66,5.56C9.66,6.96 11,7.47 13,8.14C15.5,8.95 17.4,9.97 17.4,12.38C17.36,13.69 16.69,14.89 15.6,15.61C16.25,16.22 16.61,17.08 16.6,17.97C16.6,20.79 14,21.97 11.5,21.97C10.04,22.03 8.59,21.64 7.35,20.87L8,19.34C9.04,20.05 10.27,20.43 11.53,20.44C13.25,20.44 14.53,19.66 14.53,18.24C14.53,17 13.75,16.31 11.25,15.45C8.5,14.5 6.6,13.5 6.6,11.21C6.67,9.89 7.43,8.69 8.6,8.07C7.97,7.5 7.61,6.67 7.6,5.81C7.6,3.45 9.77,2 12.53,2C13.82,2 15.09,2.29 16.23,2.89L15.67,4.42M11.35,13.42C12.41,13.75 13.44,14.18 14.41,14.71C15.06,14.22 15.43,13.45 15.41,12.64C15.41,11.64 14.77,10.76 13,10.14C11.89,9.77 10.78,9.31 9.72,8.77C8.97,9.22 8.5,10.03 8.5,10.91C8.5,11.88 9.23,12.68 11.35,13.42Z\";\r\nexport var mdiFormatSize = \"M2 4V7H7V19H10V7H15V4H2M21 9H12V12H15V19H18V12H21V9Z\";\r\nexport var mdiFormatStrikethrough = \"M3,14H21V12H3M5,4V7H10V10H14V7H19V4M10,19H14V16H10V19Z\";\r\nexport var mdiFormatStrikethroughVariant = \"M23,12V14H18.61C19.61,16.14 19.56,22 12.38,22C4.05,22.05 4.37,15.5 4.37,15.5L8.34,15.55C8.37,18.92 11.5,18.92 12.12,18.88C12.76,18.83 15.15,18.84 15.34,16.5C15.42,15.41 14.32,14.58 13.12,14H1V12H23M19.41,7.89L15.43,7.86C15.43,7.86 15.6,5.09 12.15,5.08C8.7,5.06 9,7.28 9,7.56C9.04,7.84 9.34,9.22 12,9.88H5.71C5.71,9.88 2.22,3.15 10.74,2C19.45,0.8 19.43,7.91 19.41,7.89Z\";\r\nexport var mdiFormatSubscript = \"M16,7.41L11.41,12L16,16.59L14.59,18L10,13.41L5.41,18L4,16.59L8.59,12L4,7.41L5.41,6L10,10.59L14.59,6L16,7.41M21.85,21.03H16.97V20.03L17.86,19.23C18.62,18.58 19.18,18.04 19.56,17.6C19.93,17.16 20.12,16.75 20.13,16.36C20.14,16.08 20.05,15.85 19.86,15.66C19.68,15.5 19.39,15.38 19,15.38C18.69,15.38 18.42,15.44 18.16,15.56L17.5,15.94L17.05,14.77C17.32,14.56 17.64,14.38 18.03,14.24C18.42,14.1 18.85,14 19.32,14C20.1,14.04 20.7,14.25 21.1,14.66C21.5,15.07 21.72,15.59 21.72,16.23C21.71,16.79 21.53,17.31 21.18,17.78C20.84,18.25 20.42,18.7 19.91,19.14L19.27,19.66V19.68H21.85V21.03Z\";\r\nexport var mdiFormatSuperscript = \"M16,7.41L11.41,12L16,16.59L14.59,18L10,13.41L5.41,18L4,16.59L8.59,12L4,7.41L5.41,6L10,10.59L14.59,6L16,7.41M21.85,9H16.97V8L17.86,7.18C18.62,6.54 19.18,6 19.56,5.55C19.93,5.11 20.12,4.7 20.13,4.32C20.14,4.04 20.05,3.8 19.86,3.62C19.68,3.43 19.39,3.34 19,3.33C18.69,3.34 18.42,3.4 18.16,3.5L17.5,3.89L17.05,2.72C17.32,2.5 17.64,2.33 18.03,2.19C18.42,2.05 18.85,2 19.32,2C20.1,2 20.7,2.2 21.1,2.61C21.5,3 21.72,3.54 21.72,4.18C21.71,4.74 21.53,5.26 21.18,5.73C20.84,6.21 20.42,6.66 19.91,7.09L19.27,7.61V7.63H21.85V9Z\";\r\nexport var mdiFormatText = \"M18.5,4L19.66,8.35L18.7,8.61C18.25,7.74 17.79,6.87 17.26,6.43C16.73,6 16.11,6 15.5,6H13V16.5C13,17 13,17.5 13.33,17.75C13.67,18 14.33,18 15,18V19H9V18C9.67,18 10.33,18 10.67,17.75C11,17.5 11,17 11,16.5V6H8.5C7.89,6 7.27,6 6.74,6.43C6.21,6.87 5.75,7.74 5.3,8.61L4.34,8.35L5.5,4H18.5Z\";\r\nexport var mdiFormatTextRotationAngleDown = \"M14.25 21H10.03L11.44 19.59L2.58 10.73L4.03 9.33L12.84 18.19L14.25 16.78M12.61 8L15.23 10.64L17.43 5.77M19.41 4.92L14.95 16.03L13.5 14.58L14.39 12.38L10.88 8.81L8.68 9.75L7.22 8.25L18.33 3.84Z\";\r\nexport var mdiFormatTextRotationAngleUp = \"M20.58 9.33V13.55L19.17 12.14L10.31 21L8.91 19.59L17.72 10.73L16.31 9.33M7.59 11L10.22 8.39L5.34 6.14M4.5 4.22L15.61 8.63L14.16 10.13L11.96 9.19L8.39 12.75L9.33 14.91L7.83 16.41L3.42 5.25Z\";\r\nexport var mdiFormatTextRotationDown = \"M6,19.73L3,16.73H5V4.27H7V16.73H9L6,19.73M14,9.38V13.13L19.03,11.25L14,9.38M21,12L10,16.73V14.67L12.19,13.73V8.77L10,7.83V5.77L21,10.5V12Z\";\r\nexport var mdiFormatTextRotationDownVertical = \"M15.25 4H13.75L9 15H11.1L12 12.8H17L17.9 15H20L15.25 4M12.63 11L14.5 6L16.37 11H12.63M5 17.5L8 14.5H6V2H4V14.5H2L5 17.5M22 20L19 17V19H6.5V21H19V23L22 20Z\";\r\nexport var mdiFormatTextRotationNone = \"M20.5,18L17.5,21V19H5V17H17.5V15L20.5,18M10.13,10H13.88L12,4.97L10.13,10M12.75,3L17.5,14H15.42L14.5,11.81H9.5L8.58,14H6.5L11.25,3H12.75Z\";\r\nexport var mdiFormatTextRotationUp = \"M3 12V13.5L14 18.25V16.15L11.8 15.25V10.25L14 9.35V7.25L3 12M10 14.62L5 12.75L10 10.88V14.62M18 4.25L15 7.25H17V19.75H19V7.25H21L18 4.25Z\";\r\nexport var mdiFormatTextRotationVertical = \"M15.75 5H14.25L9.5 16H11.6L12.5 13.8H17.5L18.4 16H20.5L15.75 5M13.13 12L15 7L16.87 12H13.13M6 19.75L9 16.75H7V4.25H5V16.75H3L6 19.75Z\";\r\nexport var mdiFormatTextVariant = \"M9.6,14L12,7.7L14.4,14M11,5L5.5,19H7.7L8.8,16H15L16.1,19H18.3L13,5H11Z\";\r\nexport var mdiFormatTextVariantOutline = \"M11 3C10.18 3 9.44 3.5 9.14 4.27L3.64 18.27C3.12 19.58 4.09 21 5.5 21H7.75C8.59 21 9.33 20.5 9.62 19.7L10.26 18H13.74L14.38 19.7C14.67 20.5 15.42 21 16.25 21H18.5C19.91 21 20.88 19.58 20.36 18.27L14.86 4.27C14.56 3.5 13.82 3 13 3M11 5H13L18.5 19H16.25L15.12 16H8.87L7.75 19H5.5M12 7.67L9.62 14H14.37Z\";\r\nexport var mdiFormatTextWrappingClip = \"M7,21H5V3H7V21M17,3V11H9V13H17V21H19V3H17Z\";\r\nexport var mdiFormatTextWrappingOverflow = \"M7,21H5V3H7V21M14,3H12V9H14V3M14,15H12V21H14V15M19,12L16,9V11H9V13H16V15L19,12Z\";\r\nexport var mdiFormatTextWrappingWrap = \"M7,21H5V3H7V21M19,3H17V21H19V3M13,8H9V10H12.97C13.14,10 14,10.16 14,12C14,13.84 13.14,14 13,14H11V12L8,15L11,18V16H13C14.04,16 16,15.16 16,12C16,8.84 14.04,8 13,8Z\";\r\nexport var mdiFormatTextbox = \"M21,7V3H17V4H7V3H3V7H4V17H3V21H7V20H17V21H21V17H20V7H21M18,4H20V6H18V4M4,4H6V6H4V4M6,20H4V18H6V20M20,20H18V18H20V20M18,17H17V18H7V17H6V7H7V6H17V7H18V17M16,8V10H13V16H11V10H8V8H16Z\";\r\nexport var mdiFormatTextdirectionLToR = \"M21,18L17,14V17H5V19H17V22M9,10V15H11V4H13V15H15V4H17V2H9A4,4 0 0,0 5,6A4,4 0 0,0 9,10Z\";\r\nexport var mdiFormatTextdirectionRToL = \"M8,17V14L4,18L8,22V19H20V17M10,10V15H12V4H14V15H16V4H18V2H10A4,4 0 0,0 6,6A4,4 0 0,0 10,10Z\";\r\nexport var mdiFormatTitle = \"M5,4V7H10.5V19H13.5V7H19V4H5Z\";\r\nexport var mdiFormatUnderline = \"M5,21H19V19H5V21M12,17A6,6 0 0,0 18,11V3H15.5V11A3.5,3.5 0 0,1 12,14.5A3.5,3.5 0 0,1 8.5,11V3H6V11A6,6 0 0,0 12,17Z\";\r\nexport var mdiFormatVerticalAlignBottom = \"M16,13H13V3H11V13H8L12,17L16,13M4,19V21H20V19H4Z\";\r\nexport var mdiFormatVerticalAlignCenter = \"M8,19H11V23H13V19H16L12,15L8,19M16,5H13V1H11V5H8L12,9L16,5M4,11V13H20V11H4Z\";\r\nexport var mdiFormatVerticalAlignTop = \"M8,11H11V21H13V11H16L12,7L8,11M4,3V5H20V3H4Z\";\r\nexport var mdiFormatWrapInline = \"M8,7L13,17H3L8,7M3,3H21V5H3V3M21,15V17H14V15H21M3,19H21V21H3V19Z\";\r\nexport var mdiFormatWrapSquare = \"M12,7L17,17H7L12,7M3,3H21V5H3V3M3,7H6V9H3V7M21,7V9H18V7H21M3,11H6V13H3V11M21,11V13H18V11H21M3,15H6V17H3V15M21,15V17H18V15H21M3,19H21V21H3V19Z\";\r\nexport var mdiFormatWrapTight = \"M12,7L17,17H7L12,7M3,3H21V5H3V3M3,7H9V9H3V7M21,7V9H15V7H21M3,11H7V13H3V11M21,11V13H17V11H21M3,15H6V17H3V15M21,15V17H18V15H21M3,19H21V21H3V19Z\";\r\nexport var mdiFormatWrapTopBottom = \"M12,7L17,17H7L12,7M3,3H21V5H3V3M3,19H21V21H3V19Z\";\r\nexport var mdiForum = \"M17,12V3A1,1 0 0,0 16,2H3A1,1 0 0,0 2,3V17L6,13H16A1,1 0 0,0 17,12M21,6H19V15H6V17A1,1 0 0,0 7,18H18L22,22V7A1,1 0 0,0 21,6Z\";\r\nexport var mdiForumOutline = \"M15,4V11H5.17L4,12.17V4H15M16,2H3A1,1 0 0,0 2,3V17L6,13H16A1,1 0 0,0 17,12V3A1,1 0 0,0 16,2M21,6H19V15H6V17A1,1 0 0,0 7,18H18L22,22V7A1,1 0 0,0 21,6Z\";\r\nexport var mdiForward = \"M12,8V4L20,12L12,20V16H4V8H12Z\";\r\nexport var mdiForwardburger = \"M19,13H3V11H19L15,7L16.4,5.6L22.8,12L16.4,18.4L15,17L19,13M3,6H13V8H3V6M13,16V18H3V16H13Z\";\r\nexport var mdiFountain = \"M7.5,2C4.47,2 2,4.46 2,7.5V7.5L2,8H4V7.5A3.5,3.5 0 0,1 7.5,4C9,4 10.26,4.93 10.76,6.24C10.37,6.08 9.95,6 9.5,6C8.11,6 6.9,6.82 6.34,8L8.08,9C8.29,8.42 8.85,8 9.5,8A1.5,1.5 0 0,1 11,9.5V11H13V9.5A1.5,1.5 0 0,1 14.5,8C15.16,8 15.71,8.42 15.92,9L17.66,8C17.1,6.82 15.9,6 14.5,6C14.05,6 13.63,6.08 13.24,6.24C13.74,4.93 15,4 16.5,4A3.5,3.5 0 0,1 20,7.5V8H22V7.5H22A5.5,5.5 0 0,0 16.5,2C14.64,2 13,2.93 12,4.34C11,2.93 9.36,2 7.5,2M6,12V14H7.42C7.92,15.15 8.85,16.07 10,16.57C10,17.38 10,18.19 10,19H2C2,19 2.82,20.23 3.41,21.11C3.78,21.67 4.4,22 5.07,22H18.93C19.6,22 20.22,21.67 20.59,21.11L22,19H14C14,18.19 14,17.38 14,16.57C15.15,16.07 16.08,15.15 16.58,14H18V12H6Z\";\r\nexport var mdiFountainPen = \"M6.95,14.93L11.19,9.27L19.68,2.2C20.07,1.81 20.72,1.81 21.09,2.2L21.8,2.91C22.19,3.28 22.19,3.93 21.8,4.32L14.73,12.81L9.07,17.05L6.95,14.93M8.36,17.76L6.24,15.64L3.41,17.05L2,21.29L4.12,19.17C4.32,19 4.63,19 4.83,19.17C5,19.37 5,19.68 4.83,19.88L2.71,22L6.95,20.59L8.36,17.76Z\";\r\nexport var mdiFountainPenTip = \"M15.54,3.5L20.5,8.47L19.07,9.88L14.12,4.93L15.54,3.5M3.5,19.78L10,13.31C9.9,13 9.97,12.61 10.23,12.35C10.62,11.96 11.26,11.96 11.65,12.35C12.04,12.75 12.04,13.38 11.65,13.77C11.39,14.03 11,14.1 10.69,14L4.22,20.5L14.83,16.95L18.36,10.59L13.42,5.64L7.05,9.17L3.5,19.78Z\";\r\nexport var mdiFreebsd = \"M2.69,2C3.54,1.95 6.08,3.16 6.13,3.19C4.84,4 3.74,5.09 2.91,6.38C2.09,4.81 1.34,2.91 2,2.25C2.17,2.08 2.4,2 2.69,2M20.84,2.13C21.25,2.08 21.58,2.14 21.78,2.34C22.85,3.42 19.88,8.15 19.38,8.66C18.87,9.16 17.57,8.7 16.5,7.63C15.43,6.55 14.97,5.26 15.47,4.75C15.88,4.34 19.09,2.3 20.84,2.13M12,2.56C13.29,2.56 14.53,2.82 15.66,3.28C15.17,3.6 14.81,3.85 14.69,3.97C13.7,4.96 14.14,6.83 15.72,8.41C16.7,9.38 17.84,9.97 18.78,9.97C19.46,9.97 19.92,9.68 20.16,9.44C20.33,9.27 20.6,8.88 20.91,8.41C21.42,9.59 21.69,10.88 21.69,12.25C21.69,17.61 17.36,21.97 12,21.97C6.64,21.97 2.31,17.61 2.31,12.25C2.31,6.89 6.64,2.56 12,2.56Z\";\r\nexport var mdiFrequentlyAskedQuestions = \"M18,15H6L2,19V3A1,1 0 0,1 3,2H18A1,1 0 0,1 19,3V14A1,1 0 0,1 18,15M23,9V23L19,19H8A1,1 0 0,1 7,18V17H21V8H22A1,1 0 0,1 23,9M8.19,4C7.32,4 6.62,4.2 6.08,4.59C5.56,5 5.3,5.57 5.31,6.36L5.32,6.39H7.25C7.26,6.09 7.35,5.86 7.53,5.7C7.71,5.55 7.93,5.47 8.19,5.47C8.5,5.47 8.76,5.57 8.94,5.75C9.12,5.94 9.2,6.2 9.2,6.5C9.2,6.82 9.13,7.09 8.97,7.32C8.83,7.55 8.62,7.75 8.36,7.91C7.85,8.25 7.5,8.55 7.31,8.82C7.11,9.08 7,9.5 7,10H9C9,9.69 9.04,9.44 9.13,9.26C9.22,9.08 9.39,8.9 9.64,8.74C10.09,8.5 10.46,8.21 10.75,7.81C11.04,7.41 11.19,7 11.19,6.5C11.19,5.74 10.92,5.13 10.38,4.68C9.85,4.23 9.12,4 8.19,4M7,11V13H9V11H7M13,13H15V11H13V13M13,4V10H15V4H13Z\";\r\nexport var mdiFridge = \"M7,2H17A2,2 0 0,1 19,4V9H5V4A2,2 0 0,1 7,2M19,19A2,2 0 0,1 17,21V22H15V21H9V22H7V21A2,2 0 0,1 5,19V10H19V19M8,5V7H10V5H8M8,12V15H10V12H8Z\";\r\nexport var mdiFridgeAlert = \"M5 2H15C16.11 2 17 2.9 17 4V9H3V4C3 2.9 3.9 2 5 2M17 19C17 20.11 16.11 21 15 21V22H13V21H7V22H5V21C3.9 21 3 20.11 3 19V10H17V19M6 5V7H8V5H6M6 12V15H8V12H6M19 15H21V17H19V15M19 7H21V13H19V7Z\";\r\nexport var mdiFridgeAlertOutline = \"M7 21V22H5V21C3.9 21 3 20.11 3 19V4C3 2.9 3.9 2 5 2H15C16.11 2 17 2.9 17 4V19C17 20.11 16.11 21 15 21V22H13V21H7M5 4V9H15V4H5M5 19H15V11H5V19M6 12H8V15H6V12M6 6H8V8H6V6M19 15H21V17H19V15M19 7H21V13H19V7Z\";\r\nexport var mdiFridgeBottom = \"M7,2A2,2 0 0,0 5,4V19A2,2 0 0,0 7,21V22H9V21H15V22H17V21A2,2 0 0,0 19,19V4A2,2 0 0,0 17,2H7M8,6H10V8H8V6M7,11H17V19H7V11M8,12V15H10V12H8Z\";\r\nexport var mdiFridgeIndustrial = \"M17 2H7C5.9 2 5 2.9 5 4V19C5 20.11 5.9 21 7 21V22H9V21H15V22H17V21C18.11 21 19 20.11 19 19V4C19 2.9 18.11 2 17 2M10 15H8V10H10V15Z\";\r\nexport var mdiFridgeIndustrialAlert = \"M15 2H5C3.9 2 3 2.9 3 4V19C3 20.11 3.9 21 5 21V22H7V21H13V22H15V21C16.11 21 17 20.11 17 19V4C17 2.9 16.11 2 15 2M8 15H6V10H8V15M21 7V13H19V7H21M19 15H21V17H19V15Z\";\r\nexport var mdiFridgeIndustrialAlertOutline = \"M8 15H6V10H8V15M17 4V19C17 20.11 16.11 21 15 21V22H13V21H7V22H5V21C3.9 21 3 20.11 3 19V4C3 2.9 3.9 2 5 2H15C16.11 2 17 2.9 17 4M15 4H5V19H15V4M19 17H21V15H19V17M19 7V13H21V7H19Z\";\r\nexport var mdiFridgeIndustrialOff = \"M19 15.8L5.7 2.5C6.05 2.19 6.5 2 7 2H17C18.11 2 19 2.9 19 4V15.8M22.11 21.46L20.84 22.73L18.46 20.35C18.1 20.75 17.58 21 17 21V22H15V21H9V22H7V21C5.9 21 5 20.11 5 19V6.89L1.11 3L2.39 1.73L22.11 21.46M10 11.89L8.11 10H8V15H10V11.89Z\";\r\nexport var mdiFridgeIndustrialOffOutline = \"M7.2 4L5.7 2.5C6.05 2.19 6.5 2 7 2H17C18.11 2 19 2.9 19 4V15.8L17 13.8V4H7.2M22.11 21.46L20.84 22.73L18.46 20.35C18.1 20.75 17.58 21 17 21V22H15V21H9V22H7V21C5.9 21 5 20.11 5 19V6.89L1.11 3L2.39 1.73L22.11 21.46M17 18.89L10 11.89V15H8V10H8.11L7 8.89V19H17V18.89Z\";\r\nexport var mdiFridgeIndustrialOutline = \"M17 2H7C5.9 2 5 2.9 5 4V19C5 20.11 5.9 21 7 21V22H9V21H15V22H17V21C18.11 21 19 20.11 19 19V4C19 2.9 18.11 2 17 2M17 19H7V4H17V19M10 15H8V10H10V15Z\";\r\nexport var mdiFridgeOff = \"M22.11 21.46L2.39 1.73L1.11 3L5 6.89V9H7.11L8.11 10H5V19C5 20.11 5.9 21 7 21V22H9V21H15V22H17V21C17.58 21 18.1 20.75 18.46 20.35L20.84 22.73L22.11 21.46M10 15H8V12H10V15M19 15.8L13.2 10H19V15.8M8.2 5L5.7 2.5C6.05 2.19 6.5 2 7 2H17C18.11 2 19 2.9 19 4V9H12.2L10 6.8V5H8.2Z\";\r\nexport var mdiFridgeOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L5 6.89V19C5 20.11 5.9 21 7 21V22H9V21H15V22H17V21C17.58 21 18.1 20.75 18.46 20.35L20.84 22.73L22.11 21.46M17 19H7V11H9.11L17 18.89V19M7.2 4L5.7 2.5C6.05 2.19 6.5 2 7 2H17C18.11 2 19 2.9 19 4V15.8L17 13.8V11H14.2L12.2 9H17V4H7.2M8 12H10V15H8V12Z\";\r\nexport var mdiFridgeOutline = \"M9,21V22H7V21A2,2 0 0,1 5,19V4A2,2 0 0,1 7,2H17A2,2 0 0,1 19,4V19A2,2 0 0,1 17,21V22H15V21H9M7,4V9H17V4H7M7,19H17V11H7V19M8,12H10V15H8V12M8,6H10V8H8V6Z\";\r\nexport var mdiFridgeTop = \"M8,8V6H10V8H8M7,2H17A2,2 0 0,1 19,4V19A2,2 0 0,1 17,21V22H15V21H9V22H7V21A2,2 0 0,1 5,19V4A2,2 0 0,1 7,2M7,4V9H17V4H7M8,12V15H10V12H8Z\";\r\nexport var mdiFridgeVariant = \"M19 4V19C19 20.11 18.11 21 17 21V22H15V21H12.5V2H17C18.11 2 19 2.9 19 4M7 2H11.5V21H9V22H7V21C5.9 21 5 20.11 5 19V4C5 2.9 5.9 2 7 2M10 10H7V14H10V10Z\";\r\nexport var mdiFridgeVariantAlert = \"M17 4V19C17 20.11 16.11 21 15 21V22H13V21H10.5V2H15C16.11 2 17 2.9 17 4M5 2H9.5V21H7V22H5V21C3.9 21 3 20.11 3 19V4C3 2.9 3.9 2 5 2M8 10H5V14H8V10M19 7V13H21V7H19M19 17H21V15H19V17Z\";\r\nexport var mdiFridgeVariantAlertOutline = \"M15 2H5C3.9 2 3 2.9 3 4V19C3 20.11 3.9 21 5 21V22H7V21H13V22H15V21C16.11 21 17 20.11 17 19V4C17 2.9 16.11 2 15 2M9 19H5V14H8V10H5V4H9V19M15 19H11V4H15V19M19 15H21V17H19V15M21 7V13H19V7H21Z\";\r\nexport var mdiFridgeVariantOff = \"M2.39 1.73L1.11 3L5 6.89V19C5 20.11 5.9 21 7 21V22H9V21H11.5V13.39L12.5 14.39V21H15V22H17V21C17.58 21 18.1 20.75 18.46 20.35L20.84 22.73L22.11 21.46L2.39 1.73M10 14H7V10H8.11L10 11.89V14M19 15.8L12.5 9.3V2H17C18.11 2 19 2.9 19 4V15.8M11.5 8.3L5.7 2.5C6.05 2.19 6.5 2 7 2H11.5V8.3Z\";\r\nexport var mdiFridgeVariantOffOutline = \"M7.2 4L5.7 2.5C6.05 2.19 6.5 2 7 2H17C18.11 2 19 2.9 19 4V15.8L17 13.8V4H13V9.8L11 7.8V4H7.2M22.11 21.46L20.84 22.73L18.46 20.35C18.1 20.75 17.58 21 17 21V22H15V21H9V22H7V21C5.9 21 5 20.11 5 19V6.89L1.11 3L2.39 1.73L22.11 21.46M7 10H8.11L7 8.89V10M11 12.89L10 11.89V14H7V19H11V12.89M17 18.89L13 14.89V19H17V18.89Z\";\r\nexport var mdiFridgeVariantOutline = \"M17 2H7C5.9 2 5 2.9 5 4V19C5 20.11 5.9 21 7 21V22H9V21H15V22H17V21C18.11 21 19 20.11 19 19V4C19 2.9 18.11 2 17 2M7 19V14H10V10H7V4H11V19H7M17 19H13V4H17V19Z\";\r\nexport var mdiFruitCherries = \"M16 13H15.5C14.8 11.7 14.3 10 13.8 8.3L14.7 9.2C17.4 11.3 19.8 10.9 19.8 10.9S20.5 7.1 17.8 5.1C15.5 3.3 13.4 3.3 12.8 3.4C12.7 2.8 12.7 2.3 12.6 1.9L11.2 2C11.2 5.2 8.5 11.1 7.6 13C5.6 13.2 4 14.9 4 17C4 19.2 5.8 21 8 21C9.1 21 10 20.6 10.7 19.9C10.3 19 10 18 10 17S10.3 15 10.7 14.1C10.3 13.7 9.7 13.4 9.2 13.2C9.9 11.7 11.1 9 11.9 6.4C12.3 8.7 13.1 11.4 14.1 13.5C12.9 14.2 12 15.5 12 17C12 19.2 13.8 21 16 21S20 19.2 20 17 18.2 13 16 13M8 15.5C7.2 15.5 6.5 16.2 6.5 17H5.5C5.5 15.6 6.6 14.5 8 14.5V15.5M16 15.5C15.2 15.5 14.5 16.2 14.5 17H13.5C13.5 15.6 14.6 14.5 16 14.5V15.5Z\";\r\nexport var mdiFruitCherriesOff = \"M22.1 21.5L2.4 1.7L1.1 3L8.7 10.6C8.3 11.6 7.9 12.5 7.6 13C5.6 13.2 4 14.9 4 17C4 19.2 5.8 21 8 21C9.1 21 10 20.6 10.7 19.9C10.3 19 10 18 10 17S10.3 15 10.7 14.1C10.3 13.7 9.7 13.4 9.2 13.2C9.4 12.8 9.6 12.3 9.9 11.7L12.8 14.6C12.3 15.3 12 16.1 12 17C12 19.2 13.8 21 16 21C16.9 21 17.7 20.7 18.3 20.2L20.8 22.7L22.1 21.5M8 15.5C7.2 15.5 6.5 16.2 6.5 17H5.5C5.5 15.6 6.6 14.5 8 14.5V15.5M14.5 17H13.5C13.5 16.5 13.6 16.1 13.8 15.7L14.6 16.5C14.5 16.7 14.5 16.8 14.5 17M20 16.8L16.2 13C18.2 13.1 19.9 14.8 20 16.8M11.3 8.1L10.1 6.9C10.7 5.1 11.2 3.3 11.2 2L12.6 1.9C12.7 2.3 12.7 2.8 12.8 3.4C13.4 3.3 15.5 3.3 17.8 5.1C20.5 7.1 19.8 10.9 19.8 10.9S17.4 11.3 14.7 9.2L13.8 8.3C14.1 9.5 14.5 10.7 14.9 11.7L12.6 9.4C12.3 8.4 12.1 7.4 11.9 6.4C11.7 7 11.5 7.6 11.3 8.1Z\";\r\nexport var mdiFruitCitrus = \"M9 15.9C6.9 15.7 5.1 14.9 4 13.6C3.2 13.6 2.4 13.1 2.1 12.3C1.8 11.5 2.1 10.7 2.8 10.2C2.9 7.2 5.6 4.1 9.7 2.7C13.8 1.3 18 2.1 20 4.4C20.8 4.4 21.6 4.9 21.9 5.7C22.2 6.5 21.9 7.3 21.2 7.8C21.2 8.6 21 9.4 20.6 10.2C19.4 9.5 18 9 16.5 9C12.6 9 9.3 12 9 15.9M22 16.5C22 19.5 19.5 22 16.5 22S11 19.5 11 16.5 13.5 11 16.5 11 22 13.5 22 16.5M13.3 18L15.6 16.5L13.3 15C13.1 15.5 13 16 13 16.5S13.1 17.5 13.3 18M16 17.4L13.9 18.8C14.4 19.4 15.2 19.8 16 20V17.4M16 13.1C15.2 13.2 14.4 13.6 13.9 14.3L16 15.7V13.1M17 15.6L19.1 14.2C18.6 13.6 17.8 13.2 17 13V15.6M19.1 18.8L17 17.4V19.9C17.8 19.8 18.6 19.4 19.1 18.8M20 16.5C20 16 19.9 15.5 19.7 15L17.4 16.5L19.7 18C19.9 17.5 20 17 20 16.5Z\";\r\nexport var mdiFruitCitrusOff = \"M22.1 21.5L2.4 1.7L1.1 3L4.4 6.3C3.4 7.5 2.9 8.9 2.8 10.2C2.1 10.7 1.8 11.5 2.1 12.3C2.4 13.1 3.2 13.6 4 13.6C5.1 14.9 6.9 15.7 9 15.9C9.1 14.5 9.6 13.3 10.3 12.2L11.8 13.7C11.3 14.5 11 15.5 11 16.5C11 19.5 13.5 22 16.5 22C17.5 22 18.5 21.7 19.3 21.2L20.8 22.7L22.1 21.5M13 16.5C13 16 13.1 15.6 13.3 15.1L15 16.8L13.3 18C13.1 17.5 13 17 13 16.5M13.9 18.8L15.7 17.6L16 17.9V20C15.2 19.8 14.4 19.4 13.9 18.8M17 19.9V18.9L17.8 19.7C17.5 19.8 17.3 19.9 17 19.9M20 16.8V16.5C20 16 19.9 15.5 19.7 15L18.8 15.6L18.1 14.9L19.1 14.2C18.6 13.6 17.8 13.2 17 13V13.8L14.6 11.4C15.2 11.2 15.9 11 16.5 11C19.5 11 22 13.5 22 16.5C22 17.2 21.9 17.8 21.6 18.4L20 16.8M13 9.8L7.1 3.9C7.9 3.4 8.8 3 9.7 2.7C13.8 1.3 18 2.1 20 4.4C20.8 4.4 21.6 4.9 21.9 5.7C22.2 6.5 21.9 7.3 21.2 7.8C21.2 8.6 21 9.4 20.6 10.2C19.4 9.5 18 9 16.5 9C15.3 9 14.1 9.3 13 9.8Z\";\r\nexport var mdiFruitGrapes = \"M14 12C14 13.1 13.1 14 12 14S10 13.1 10 12 10.9 10 12 10 14 10.9 14 12M7 10C5.9 10 5 10.9 5 12S5.9 14 7 14 9 13.1 9 12 8.1 10 7 10M17 10C15.9 10 15 10.9 15 12S15.9 14 17 14 19 13.1 19 12 18.1 10 17 10M14.5 6C13.4 6 12.5 6.9 12.5 8S13.4 10 14.5 10 16.5 9.1 16.5 8 15.6 6 14.5 6M9.5 6C8.4 6 7.5 6.9 7.5 8S8.4 10 9.5 10 11.5 9.1 11.5 8 10.6 6 9.5 6M14.5 14C13.4 14 12.5 14.9 12.5 16S13.4 18 14.5 18 16.5 17.1 16.5 16 15.6 14 14.5 14M9.5 14C8.4 14 7.5 14.9 7.5 16S8.4 18 9.5 18 11.5 17.1 11.5 16 10.6 14 9.5 14M12 18C10.9 18 10 18.9 10 20S10.9 22 12 22 14 21.1 14 20 13.1 18 12 18M14.4 2.2L13.6 1C11.4 2 11.2 5.6 11.2 6H12.7C12.8 5.2 13.1 2.7 14.4 2.2Z\";\r\nexport var mdiFruitGrapesOutline = \"M19 12C19 10.61 18.05 9.47 16.78 9.12C16.92 8.78 17 8.4 17 8C17 6.34 15.66 5 14 5C13.57 5 13.17 5.1 12.81 5.26C13 4.19 13.39 2.59 14.4 2.2L13.6 1C11.9 1.77 11.4 4.09 11.26 5.29C10.87 5.11 10.45 5 10 5C8.34 5 7 6.34 7 8C7 8.4 7.08 8.77 7.22 9.12C5.94 9.46 5 10.62 5 12C5 13.39 5.95 14.54 7.23 14.88C7.09 15.22 7 15.6 7 16C7 17.39 7.94 18.54 9.22 18.88C9.08 19.23 9 19.61 9 20C9 21.66 10.34 23 12 23S15 21.66 15 20C15 19.61 14.92 19.23 14.78 18.88C16.06 18.54 17 17.39 17 16C17 15.6 16.92 15.23 16.77 14.88C18.05 14.54 19 13.39 19 12M16.31 9.88V9.9H16.3L16.31 9.88M14 6.5C14.83 6.5 15.5 7.17 15.5 8S14.83 9.5 14 9.5 12.5 8.83 12.5 8 13.17 6.5 14 6.5M13.5 12C13.5 12.83 12.83 13.5 12 13.5S10.5 12.83 10.5 12 11.17 10.5 12 10.5 13.5 11.17 13.5 12M10 6.5C10.83 6.5 11.5 7.17 11.5 8S10.83 9.5 10 9.5 8.5 8.83 8.5 8 9.17 6.5 10 6.5M6.5 12C6.5 11.17 7.17 10.5 8 10.5S9.5 11.17 9.5 12 8.83 13.5 8 13.5 6.5 12.83 6.5 12M8.5 16C8.5 15.17 9.17 14.5 10 14.5S11.5 15.17 11.5 16 10.83 17.5 10 17.5 8.5 16.83 8.5 16M12 21.5C11.17 21.5 10.5 20.83 10.5 20S11.17 18.5 12 18.5 13.5 19.17 13.5 20 12.83 21.5 12 21.5M14 17.5C13.17 17.5 12.5 16.83 12.5 16S13.17 14.5 14 14.5 15.5 15.17 15.5 16 14.83 17.5 14 17.5M16 13.5C15.17 13.5 14.5 12.83 14.5 12S15.17 10.5 16 10.5 17.5 11.17 17.5 12 16.83 13.5 16 13.5Z\";\r\nexport var mdiFruitPineapple = \"M14.4 7.7C16.4 6.4 19 7 19 7C17.2 4.6 15.1 4.7 13.6 5.2V5C14.7 3.4 16.9 3.5 16.9 3.5C15.3 2.1 13.9 2.5 13 3C12.5 1.8 12 1 12 1C11.6 1.7 11.3 2.4 11 3.1C10.1 2.5 8.6 2.1 7 3.5C7 3.5 9.3 3.5 10.4 5.2C8.9 4.7 6.8 4.6 5 7C5 7 7.6 6.4 9.6 7.7C7.5 8.9 6 11.7 6 15C6 19.4 8.7 23 12 23S18 19.4 18 15C18 11.7 16.5 8.9 14.4 7.7M15.8 16.8C15.7 17.2 15.6 17.6 15.4 18L14 16L12.5 18L14.1 20.1C13.8 20.3 13.6 20.5 13.3 20.7L12 19L10.7 20.7C10.4 20.6 10.1 20.4 9.9 20.1L11.5 18L10 16L8.5 17.9C8.4 17.5 8.2 17.1 8.1 16.7L9.5 15L8.2 13.2C8.3 12.8 8.4 12.4 8.6 12L10 14L11.5 12L9.9 9.9C10.2 9.7 10.4 9.5 10.7 9.3L12 11L13.3 9.3C13.6 9.4 13.9 9.6 14.1 9.9L12.5 12L14 14L15.5 12.1C15.6 12.5 15.8 12.9 15.9 13.3L14.5 15L15.8 16.8M12 13L13.5 15L12 17L10.5 15L12 13Z\";\r\nexport var mdiFruitWatermelon = \"M16.4 16.4C19.8 13 19.8 7.5 16.4 4.2L4.2 16.4C7.5 19.8 13 19.8 16.4 16.4M16 7C16.6 7 17 7.4 17 8C17 8.6 16.6 9 16 9S15 8.6 15 8C15 7.4 15.4 7 16 7M16 11C16.6 11 17 11.4 17 12C17 12.6 16.6 13 16 13S15 12.6 15 12C15 11.4 15.4 11 16 11M12 11C12.6 11 13 11.4 13 12C13 12.6 12.6 13 12 13S11 12.6 11 12C11 11.4 11.4 11 12 11M12 15C12.6 15 13 15.4 13 16C13 16.6 12.6 17 12 17S11 16.6 11 16C11 15.4 11.4 15 12 15M8 17C7.4 17 7 16.6 7 16C7 15.4 7.4 15 8 15S9 15.4 9 16C9 16.6 8.6 17 8 17M18.6 18.6C14 23.2 6.6 23.2 2 18.6L3.4 17.2C7.2 21 13.3 21 17.1 17.2C20.9 13.4 20.9 7.3 17.1 3.5L18.6 2C23.1 6.6 23.1 14 18.6 18.6Z\";\r\nexport var mdiFuel = \"M3,2H6C6.28,2 6.53,2.11 6.71,2.29L8.79,4.38L9.59,3.59C10,3.2 10.5,3 11,3H17C17.5,3 18,3.2 18.41,3.59L19.41,4.59C19.8,5 20,5.5 20,6V19A2,2 0 0,1 18,21H8A2,2 0 0,1 6,19V13L6,12V8C6,7.5 6.2,7 6.59,6.59L7.38,5.79L5.59,4H3V2M11,5V7H17V5H11M11.41,11L9.41,9H8V10.41L10,12.41V15.59L8,17.59V19H9.41L11.41,17H14.59L16.59,19H18V17.59L16,15.59V12.41L18,10.41V9H16.59L14.59,11H11.41M12,13H14V15H12V13Z\";\r\nexport var mdiFullscreen = \"M5,5H10V7H7V10H5V5M14,5H19V10H17V7H14V5M17,14H19V19H14V17H17V14M10,17V19H5V14H7V17H10Z\";\r\nexport var mdiFullscreenExit = \"M14,14H19V16H16V19H14V14M5,14H10V19H8V16H5V14M8,5H10V10H5V8H8V5M19,8V10H14V5H16V8H19Z\";\r\nexport var mdiFunction = \"M15.6,5.29C14.5,5.19 13.53,6 13.43,7.11L13.18,10H16V12H13L12.56,17.07C12.37,19.27 10.43,20.9 8.23,20.7C6.92,20.59 5.82,19.86 5.17,18.83L6.67,17.33C6.91,18.07 7.57,18.64 8.4,18.71C9.5,18.81 10.47,18 10.57,16.89L11,12H8V10H11.17L11.44,6.93C11.63,4.73 13.57,3.1 15.77,3.3C17.08,3.41 18.18,4.14 18.83,5.17L17.33,6.67C17.09,5.93 16.43,5.36 15.6,5.29Z\";\r\nexport var mdiFunctionVariant = \"M12.42,5.29C11.32,5.19 10.35,6 10.25,7.11L10,10H12.82V12H9.82L9.38,17.07C9.18,19.27 7.24,20.9 5.04,20.7C3.79,20.59 2.66,19.9 2,18.83L3.5,17.33C3.83,18.38 4.96,18.97 6,18.63C6.78,18.39 7.33,17.7 7.4,16.89L7.82,12H4.82V10H8L8.27,6.93C8.46,4.73 10.39,3.1 12.6,3.28C13.86,3.39 15,4.09 15.66,5.17L14.16,6.67C13.91,5.9 13.23,5.36 12.42,5.29M22,13.65L20.59,12.24L17.76,15.07L14.93,12.24L13.5,13.65L16.35,16.5L13.5,19.31L14.93,20.72L17.76,17.89L20.59,20.72L22,19.31L19.17,16.5L22,13.65Z\";\r\nexport var mdiFuriganaHorizontal = \"M8.5 2C7.12 2 6 3.12 6 4.5S7.12 7 8.5 7 11 5.88 11 4.5 9.88 2 8.5 2M15.5 2C14.12 2 13 3.12 13 4.5S14.12 7 15.5 7 18 5.88 18 4.5 16.88 2 15.5 2M11 8V10H5V12H14.95C14.53 13.13 13.5 14.5 12.16 15.67C11.12 14.74 10.35 13.82 9.82 13H7.5C8.08 14.25 9.13 15.62 10.62 16.96L6.55 20.22L5.76 20.84L7 22.41L7.8 21.78L12.17 18.28L16.55 21.78L17.33 22.41L18.58 20.84L17.8 20.22L13.73 16.97C15.34 15.5 16.7 13.85 17.07 12H19V10H13V8H11Z\";\r\nexport var mdiFuriganaVertical = \"M8 5V7H2V9H11.95C11.53 10.13 10.5 11.5 9.16 12.67C8.12 11.74 7.35 10.82 6.82 10H4.5C5.08 11.25 6.13 12.62 7.62 13.96L3.55 17.22L2.76 17.84L4 19.41L4.8 18.78L9.17 15.28L13.55 18.78L14.33 19.41L15.58 17.84L14.8 17.22L10.73 13.97C12.34 12.5 13.7 10.85 14.07 9H16V7H10V5H8M19.5 6C18.12 6 17 7.12 17 8.5S18.12 11 19.5 11 22 9.88 22 8.5 20.88 6 19.5 6M19.47 13C18.09 13 16.97 14.12 16.97 15.5S18.09 18 19.47 18 21.97 16.88 21.97 15.5 20.85 13 19.47 13Z\";\r\nexport var mdiFuse = \"M8,7V17H15V7H8M11.16,16V12.87H9.41L11.91,8V11.14H13.59L11.16,16M16,2V6H7V2A1,1 0 0,1 8,1H15A1,1 0 0,1 16,2M16,18V22A1,1 0 0,1 15,23H8A1,1 0 0,1 7,22V18H16Z\";\r\nexport var mdiFuseAlert = \"M6 7V17H13V7H6M9.16 16V12.87H7.41L9.91 8V11.14H11.59L9.16 16M14 2V6H5V2C5 1.45 5.45 1 6 1H13C13.55 1 14 1.45 14 2M14 18V22C14 22.55 13.55 23 13 23H6C5.45 23 5 22.55 5 22V18H14M19 13H17V7H19V13M19 17H17V15H19V17Z\";\r\nexport var mdiFuseBlade = \"M10,21H8L6,19V16H10V21M18,16H14V21H16L18,19V16M3,3V4A1,1 0 0,0 4,5V14A1,1 0 0,0 5,15H19A1,1 0 0,0 20,14V5H20A1,1 0 0,0 21,4V3H3M11.83,13V9.73H10L12.61,4.66V7.93H14.36L11.83,13Z\";\r\nexport var mdiFuseOff = \"M15 11.8L10.2 7H15V11.8M16 6V2C16 1.45 15.55 1 15 1H8C7.45 1 7 1.45 7 2V3.8L9.2 6H16M2.39 1.73L1.11 3L8 9.89V17H15.11L20.84 22.73L22.11 21.46L2.39 1.73M7 22C7 22.55 7.45 23 8 23H15C15.55 23 16 22.55 16 22V18H7V22Z\";\r\nexport var mdiGamepad = \"M16.5,9L13.5,12L16.5,15H22V9M9,16.5V22H15V16.5L12,13.5M7.5,9H2V15H7.5L10.5,12M15,7.5V2H9V7.5L12,10.5L15,7.5Z\";\r\nexport var mdiGamepadCircle = \"M5,8A4,4 0 0,1 9,12A4,4 0 0,1 5,16A4,4 0 0,1 1,12A4,4 0 0,1 5,8M12,1A4,4 0 0,1 16,5A4,4 0 0,1 12,9A4,4 0 0,1 8,5A4,4 0 0,1 12,1M12,15A4,4 0 0,1 16,19A4,4 0 0,1 12,23A4,4 0 0,1 8,19A4,4 0 0,1 12,15M19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16A4,4 0 0,1 15,12A4,4 0 0,1 19,8Z\";\r\nexport var mdiGamepadCircleDown = \"M5,8A4,4 0 0,1 9,12A4,4 0 0,1 5,16A4,4 0 0,1 1,12A4,4 0 0,1 5,8M12,1A4,4 0 0,1 16,5A4,4 0 0,1 12,9A4,4 0 0,1 8,5A4,4 0 0,1 12,1M12,15A4,4 0 0,1 16,19A4,4 0 0,1 12,23A4,4 0 0,1 8,19A4,4 0 0,1 12,15M19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16A4,4 0 0,1 15,12A4,4 0 0,1 19,8M12,3A2,2 0 0,0 10,5A2,2 0 0,0 12,7A2,2 0 0,0 14,5A2,2 0 0,0 12,3M5,10A2,2 0 0,0 3,12A2,2 0 0,0 5,14A2,2 0 0,0 7,12A2,2 0 0,0 5,10M19,10A2,2 0 0,0 17,12A2,2 0 0,0 19,14A2,2 0 0,0 21,12A2,2 0 0,0 19,10Z\";\r\nexport var mdiGamepadCircleLeft = \"M5,8A4,4 0 0,1 9,12A4,4 0 0,1 5,16A4,4 0 0,1 1,12A4,4 0 0,1 5,8M12,1A4,4 0 0,1 16,5A4,4 0 0,1 12,9A4,4 0 0,1 8,5A4,4 0 0,1 12,1M12,15A4,4 0 0,1 16,19A4,4 0 0,1 12,23A4,4 0 0,1 8,19A4,4 0 0,1 12,15M19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16A4,4 0 0,1 15,12A4,4 0 0,1 19,8M19,10A2,2 0 0,0 17,12A2,2 0 0,0 19,14A2,2 0 0,0 21,12A2,2 0 0,0 19,10M12,17A2,2 0 0,0 10,19A2,2 0 0,0 12,21A2,2 0 0,0 14,19A2,2 0 0,0 12,17M12,3A2,2 0 0,0 10,5A2,2 0 0,0 12,7A2,2 0 0,0 14,5A2,2 0 0,0 12,3Z\";\r\nexport var mdiGamepadCircleOutline = \"M5,8A4,4 0 0,1 9,12A4,4 0 0,1 5,16A4,4 0 0,1 1,12A4,4 0 0,1 5,8M5,10A2,2 0 0,0 3,12A2,2 0 0,0 5,14A2,2 0 0,0 7,12A2,2 0 0,0 5,10M12,1A4,4 0 0,1 16,5A4,4 0 0,1 12,9A4,4 0 0,1 8,5A4,4 0 0,1 12,1M12,3A2,2 0 0,0 10,5A2,2 0 0,0 12,7A2,2 0 0,0 14,5A2,2 0 0,0 12,3M12,15A4,4 0 0,1 16,19A4,4 0 0,1 12,23A4,4 0 0,1 8,19A4,4 0 0,1 12,15M12,17A2,2 0 0,0 10,19A2,2 0 0,0 12,21A2,2 0 0,0 14,19A2,2 0 0,0 12,17M19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16A4,4 0 0,1 15,12A4,4 0 0,1 19,8M19,10A2,2 0 0,0 17,12A2,2 0 0,0 19,14A2,2 0 0,0 21,12A2,2 0 0,0 19,10Z\";\r\nexport var mdiGamepadCircleRight = \"M5,8A4,4 0 0,1 9,12A4,4 0 0,1 5,16A4,4 0 0,1 1,12A4,4 0 0,1 5,8M12,1A4,4 0 0,1 16,5A4,4 0 0,1 12,9A4,4 0 0,1 8,5A4,4 0 0,1 12,1M12,15A4,4 0 0,1 16,19A4,4 0 0,1 12,23A4,4 0 0,1 8,19A4,4 0 0,1 12,15M19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16A4,4 0 0,1 15,12A4,4 0 0,1 19,8M12,3A2,2 0 0,0 10,5A2,2 0 0,0 12,7A2,2 0 0,0 14,5A2,2 0 0,0 12,3M5,10A2,2 0 0,0 3,12A2,2 0 0,0 5,14A2,2 0 0,0 7,12A2,2 0 0,0 5,10M12,17A2,2 0 0,0 10,19A2,2 0 0,0 12,21A2,2 0 0,0 14,19A2,2 0 0,0 12,17Z\";\r\nexport var mdiGamepadCircleUp = \"M5,8A4,4 0 0,1 9,12A4,4 0 0,1 5,16A4,4 0 0,1 1,12A4,4 0 0,1 5,8M12,1A4,4 0 0,1 16,5A4,4 0 0,1 12,9A4,4 0 0,1 8,5A4,4 0 0,1 12,1M12,15A4,4 0 0,1 16,19A4,4 0 0,1 12,23A4,4 0 0,1 8,19A4,4 0 0,1 12,15M19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16A4,4 0 0,1 15,12A4,4 0 0,1 19,8M5,10A2,2 0 0,0 3,12A2,2 0 0,0 5,14A2,2 0 0,0 7,12A2,2 0 0,0 5,10M19,10A2,2 0 0,0 17,12A2,2 0 0,0 19,14A2,2 0 0,0 21,12A2,2 0 0,0 19,10M12,17A2,2 0 0,0 10,19A2,2 0 0,0 12,21A2,2 0 0,0 14,19A2,2 0 0,0 12,17Z\";\r\nexport var mdiGamepadDown = \"M9,2V7.5L12,10.5L15,7.5V2H9M2,9V15H7.5L10.5,12L7.5,9H2M16.5,9L13.5,12L16.5,15H22V9H16.5M12,13.5L9,16.5V22H15V16.5L12,13.5M11,18H13V20H11V18Z\";\r\nexport var mdiGamepadLeft = \"M9,2V7.5L12,10.5L15,7.5V2H9M2,9V15H7.5L10.5,12L7.5,9H2M16.5,9L13.5,12L16.5,15H22V9H16.5M4,11H6V13H4V11M12,13.5L9,16.5V22H15V16.5L12,13.5Z\";\r\nexport var mdiGamepadRight = \"M9,2V7.5L12,10.5L15,7.5V2H9M2,9V15H7.5L10.5,12L7.5,9H2M16.5,9L13.5,12L16.5,15H22V9H16.5M18,11H20V13H18V11M12,13.5L9,16.5V22H15V16.5L12,13.5Z\";\r\nexport var mdiGamepadRound = \"M4,8H8V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V8H20A2,2 0 0,1 22,10V14A2,2 0 0,1 20,16H16V20A2,2 0 0,1 14,22H10A2,2 0 0,1 8,20V16H4A2,2 0 0,1 2,14V10A2,2 0 0,1 4,8Z\";\r\nexport var mdiGamepadRoundDown = \"M4,8H8V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V8H20A2,2 0 0,1 22,10V14A2,2 0 0,1 20,16H16V20A2,2 0 0,1 14,22H10A2,2 0 0,1 8,20V16H4A2,2 0 0,1 2,14V10A2,2 0 0,1 4,8M10,16V20H14V16H10Z\";\r\nexport var mdiGamepadRoundLeft = \"M4,8H8V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V8H20A2,2 0 0,1 22,10V14A2,2 0 0,1 20,16H16V20A2,2 0 0,1 14,22H10A2,2 0 0,1 8,20V16H4A2,2 0 0,1 2,14V10A2,2 0 0,1 4,8M4,10V14H8V10H4Z\";\r\nexport var mdiGamepadRoundOutline = \"M4,8H8V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V8H20A2,2 0 0,1 22,10V14A2,2 0 0,1 20,16H16V20A2,2 0 0,1 14,22H10A2,2 0 0,1 8,20V16H4A2,2 0 0,1 2,14V10A2,2 0 0,1 4,8M4,10V14H10V20H14V14H20V10H14V4H10V10H4Z\";\r\nexport var mdiGamepadRoundRight = \"M4,8H8V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V8H20A2,2 0 0,1 22,10V14A2,2 0 0,1 20,16H16V20A2,2 0 0,1 14,22H10A2,2 0 0,1 8,20V16H4A2,2 0 0,1 2,14V10A2,2 0 0,1 4,8M16,10V14H20V10H16Z\";\r\nexport var mdiGamepadRoundUp = \"M4,8H8V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V8H20A2,2 0 0,1 22,10V14A2,2 0 0,1 20,16H16V20A2,2 0 0,1 14,22H10A2,2 0 0,1 8,20V16H4A2,2 0 0,1 2,14V10A2,2 0 0,1 4,8M10,4V8H14V4H10Z\";\r\nexport var mdiGamepadSquare = \"M21,6H3A2,2 0 0,0 1,8V16A2,2 0 0,0 3,18H21A2,2 0 0,0 23,16V8A2,2 0 0,0 21,6M11,13H8V16H6V13H3V11H6V8H8V11H11M15.5,15A1.5,1.5 0 0,1 14,13.5A1.5,1.5 0 0,1 15.5,12A1.5,1.5 0 0,1 17,13.5A1.5,1.5 0 0,1 15.5,15M19.5,12A1.5,1.5 0 0,1 18,10.5A1.5,1.5 0 0,1 19.5,9A1.5,1.5 0 0,1 21,10.5A1.5,1.5 0 0,1 19.5,12Z\";\r\nexport var mdiGamepadSquareOutline = \"M21,6H3A2,2 0 0,0 1,8V16A2,2 0 0,0 3,18H21A2,2 0 0,0 23,16V8A2,2 0 0,0 21,6M21,16H3V8H21M6,15H8V13H10V11H8V9H6V11H4V13H6M14.5,12A1.5,1.5 0 0,1 16,13.5A1.5,1.5 0 0,1 14.5,15A1.5,1.5 0 0,1 13,13.5A1.5,1.5 0 0,1 14.5,12M18.5,9A1.5,1.5 0 0,1 20,10.5A1.5,1.5 0 0,1 18.5,12A1.5,1.5 0 0,1 17,10.5A1.5,1.5 0 0,1 18.5,9Z\";\r\nexport var mdiGamepadUp = \"M9,2V7.5L12,10.5L15,7.5V2H9M11,4H13V6H11V4M2,9V15H7.5L10.5,12L7.5,9H2M16.5,9L13.5,12L16.5,15H22V9H16.5M12,13.5L9,16.5V22H15V16.5L12,13.5Z\";\r\nexport var mdiGamepadVariant = \"M7,6H17A6,6 0 0,1 23,12A6,6 0 0,1 17,18C15.22,18 13.63,17.23 12.53,16H11.47C10.37,17.23 8.78,18 7,18A6,6 0 0,1 1,12A6,6 0 0,1 7,6M6,9V11H4V13H6V15H8V13H10V11H8V9H6M15.5,12A1.5,1.5 0 0,0 14,13.5A1.5,1.5 0 0,0 15.5,15A1.5,1.5 0 0,0 17,13.5A1.5,1.5 0 0,0 15.5,12M18.5,9A1.5,1.5 0 0,0 17,10.5A1.5,1.5 0 0,0 18.5,12A1.5,1.5 0 0,0 20,10.5A1.5,1.5 0 0,0 18.5,9Z\";\r\nexport var mdiGamepadVariantOutline = \"M6,9H8V11H10V13H8V15H6V13H4V11H6V9M18.5,9A1.5,1.5 0 0,1 20,10.5A1.5,1.5 0 0,1 18.5,12A1.5,1.5 0 0,1 17,10.5A1.5,1.5 0 0,1 18.5,9M15.5,12A1.5,1.5 0 0,1 17,13.5A1.5,1.5 0 0,1 15.5,15A1.5,1.5 0 0,1 14,13.5A1.5,1.5 0 0,1 15.5,12M17,5A7,7 0 0,1 24,12A7,7 0 0,1 17,19C15.04,19 13.27,18.2 12,16.9C10.73,18.2 8.96,19 7,19A7,7 0 0,1 0,12A7,7 0 0,1 7,5H17M7,7A5,5 0 0,0 2,12A5,5 0 0,0 7,17C8.64,17 10.09,16.21 11,15H13C13.91,16.21 15.36,17 17,17A5,5 0 0,0 22,12A5,5 0 0,0 17,7H7Z\";\r\nexport var mdiGamma = \"M11.76 19C12.92 19 13.58 18 13.58 16.29C13.58 15.2 13.5 13.88 13.3 12.67L18 5H15.28L12.71 9.82L12.55 9.33C11.83 7.19 10.82 5 8.68 5C8 5 7.45 5.18 7 5.54C6 6.39 6 8 6 8.5H6.91C6.97 8.06 7.21 6.83 8.25 6.83C10 6.83 10.8 10 11.4 12.42C10.5 14.58 10 16.14 10 16.97C10 17.95 10.56 19 11.76 19\";\r\nexport var mdiGantryCrane = \"M21,6H22V4H21V3H18V4H6V3H3V4H2V6H3V20H2V22H7V20H6V6H11V7H11.5V10.62C11,10.79 10.69,11.25 10.69,11.76C10.69,12.2 10.92,12.6 11.3,12.82V14H11.92C12.26,14 12.54,14.27 12.55,14.61C12.55,14.96 12.28,15.24 11.93,15.24C11.71,15.24 11.5,15.12 11.39,14.93C11.22,14.64 10.84,14.54 10.55,14.71C10.26,14.87 10.15,15.25 10.32,15.55C10.65,16.12 11.26,16.47 11.92,16.47C12.94,16.46 13.76,15.62 13.75,14.6C13.74,13.83 13.26,13.14 12.53,12.88V12.82C13.12,12.5 13.34,11.78 13.03,11.2C12.92,11 12.74,10.81 12.53,10.7V7H13V6H18V20H17V22H22V20H21V6M5,15.29V16.71L4,17.71V16.29L5,15.29M4,20V19.24L5,18.24V19.66L4.66,20H4M4,7.29L5,6.29V7.71L4,8.71V7.29M4,10.29L5,9.29V10.71L4,11.71V10.29M4,13.29L5,12.29V13.71L4,14.71V13.24L4,13.29M20,15.29V16.71L19,17.71V16.29L20,15.29M19,20V19.24L20,18.24V19.66L19.66,20H19M19,7.29L20,6.29V7.71L19,8.71V7.29M19,10.29L20,9.29V10.71L19,11.71V10.29M19,13.29L20,12.29V13.71L19,14.71V13.24L19,13.29Z\";\r\nexport var mdiGarage = \"M19,20H17V11H7V20H5V9L12,5L19,9V20M8,12H16V14H8V12M8,15H16V17H8V15M16,18V20H8V18H16Z\";\r\nexport var mdiGarageAlert = \"M17,20H15V11H5V20H3V9L10,5L17,9V20M6,12H14V14H6V12M6,15H14V17H6V15M19,15V10H21V15H19M19,19V17H21V19H19Z\";\r\nexport var mdiGarageAlertVariant = \"M20 9V20H18V11H2V20H0V9L10 5L20 9M17 12H3V14H17V12M17 15H3V17H17V15M22 15V10H24V15H22M22 19V17H24V19H22Z\";\r\nexport var mdiGarageLock = \"M20.8 16V14.5C20.8 13.1 19.4 12 18 12S15.2 13.1 15.2 14.5V16C14.6 16 14 16.6 14 17.2V20.7C14 21.4 14.6 22 15.2 22H20.7C21.4 22 22 21.4 22 20.8V17.3C22 16.6 21.4 16 20.8 16M19.5 16H16.5V14.5C16.5 13.7 17.2 13.2 18 13.2S19.5 13.7 19.5 14.5V16M5 12H13V14H5V12M5 15H12.95C12.42 15.54 12.08 16.24 12 17H5V15M12 20H5V18H12V20M14 11H4V20H2V9L9 5L16 9V10.44C15.19 10.8 14.5 11.36 14 12.06V11Z\";\r\nexport var mdiGarageOpen = \"M19,20H17V11H7V20H5V9L12,5L19,9V20M8,12H16V14H8V12Z\";\r\nexport var mdiGarageOpenVariant = \"M22 9V20H20V11H4V20H2V9L12 5L22 9M19 12H5V14H19V12Z\";\r\nexport var mdiGarageVariant = \"M22 9V20H20V11H4V20H2V9L12 5L22 9M19 12H5V14H19V12M19 18H5V20H19V18M19 15H5V17H19V15Z\";\r\nexport var mdiGarageVariantLock = \"M21.8 16V14.5C21.8 13.1 20.4 12 19 12S16.2 13.1 16.2 14.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16M20.5 16H17.5V14.5C17.5 13.7 18.2 13.2 19 13.2S20.5 13.7 20.5 14.5V16M5 12H15.04C14.61 12.59 14.35 13.27 14.26 14H5V12M16.06 11H4V20H2V9L12 5L22 9V11.04C21.17 10.4 20.13 10 19 10C17.9 10 16.88 10.39 16.06 11M13 20H5V18H13V20M5 15H13.95C13.42 15.54 13.08 16.24 13 17H5V15Z\";\r\nexport var mdiGasCylinder = \"M16,9V14L16,20A2,2 0 0,1 14,22H10A2,2 0 0,1 8,20V14L8,9C8,7.14 9.27,5.57 11,5.13V4H9V2H15V4H13V5.13C14.73,5.57 16,7.14 16,9Z\";\r\nexport var mdiGasStation = \"M18,10A1,1 0 0,1 17,9A1,1 0 0,1 18,8A1,1 0 0,1 19,9A1,1 0 0,1 18,10M12,10H6V5H12M19.77,7.23L19.78,7.22L16.06,3.5L15,4.56L17.11,6.67C16.17,7 15.5,7.93 15.5,9A2.5,2.5 0 0,0 18,11.5C18.36,11.5 18.69,11.42 19,11.29V18.5A1,1 0 0,1 18,19.5A1,1 0 0,1 17,18.5V14C17,12.89 16.1,12 15,12H14V5C14,3.89 13.1,3 12,3H6C4.89,3 4,3.89 4,5V21H14V13.5H15.5V18.5A2.5,2.5 0 0,0 18,21A2.5,2.5 0 0,0 20.5,18.5V9C20.5,8.31 20.22,7.68 19.77,7.23Z\";\r\nexport var mdiGasStationOff = \"M1 4.27L2.28 3L21 21.72L19.73 23L17.71 21C16.56 20.85 15.65 19.94 15.5 18.78L14 17.27V21H4V7.27L1 4.27M18 10C18.55 10 19 9.55 19 9C19 8.45 18.55 8 18 8C17.45 8 17 8.45 17 9C17 9.55 17.45 10 18 10M12 10V5H6.82L5.06 3.23C5.34 3.08 5.66 3 6 3H12C13.1 3 14 3.89 14 5V12H15C16.1 12 17 12.89 17 14V15.18L11.82 10H12M6 10H6.73L6 9.27V10M19.77 7.23C20.22 7.68 20.5 8.31 20.5 9L20.5 18.67L19 17.18V11.29C18.69 11.42 18.36 11.5 18 11.5C16.62 11.5 15.5 10.38 15.5 9C15.5 7.93 16.17 7.03 17.11 6.67L15 4.56L16.06 3.5L19.78 7.22L19.77 7.23Z\";\r\nexport var mdiGasStationOffOutline = \"M1 4.27L2.28 3L6 6.72L21 21.72L19.73 23L17.72 21C16.56 20.85 15.65 19.94 15.5 18.78L14 17.27V21H4V7.27L1 4.27M19.77 7.23C20.22 7.68 20.5 8.31 20.5 9L20.5 18.67L19 17.18V11.29C18.69 11.42 18.36 11.5 18 11.5C16.62 11.5 15.5 10.38 15.5 9C15.5 7.93 16.17 7.03 17.11 6.67L15 4.56L16.06 3.5L19.78 7.22L19.77 7.23M11.82 10H12V5H6.82L5.06 3.24C5.34 3.09 5.66 3 6 3H12C13.1 3 14 3.9 14 5V12H15C16.1 12 17 12.9 17 14V15.18L11.82 10M6 10H6.73L6 9.27V10M6 12V19H12V15.27L8.73 12H6M18 10C18.55 10 19 9.55 19 9C19 8.45 18.55 8 18 8C17.45 8 17 8.45 17 9C17 9.55 17.45 10 18 10Z\";\r\nexport var mdiGasStationOutline = \"M19.77,7.23L19.78,7.22L16.06,3.5L15,4.56L17.11,6.67C16.17,7.03 15.5,7.93 15.5,9A2.5,2.5 0 0,0 18,11.5C18.36,11.5 18.69,11.42 19,11.29V18.5A1,1 0 0,1 18,19.5A1,1 0 0,1 17,18.5V14A2,2 0 0,0 15,12H14V5A2,2 0 0,0 12,3H6A2,2 0 0,0 4,5V21H14V13.5H15.5V18.5A2.5,2.5 0 0,0 18,21A2.5,2.5 0 0,0 20.5,18.5V9C20.5,8.31 20.22,7.68 19.77,7.23M12,13.5V19H6V12H12V13.5M12,10H6V5H12V10M18,10A1,1 0 0,1 17,9A1,1 0 0,1 18,8A1,1 0 0,1 19,9A1,1 0 0,1 18,10Z\";\r\nexport var mdiGate = \"M9 6V11H7V7H5V11H3V9H1V21H3V19H5V21H7V19H9V21H11V19H13V21H15V19H17V21H19V19H21V21H23V9H21V11H19V7H17V11H15V6H13V11H11V6H9M3 13H5V17H3V13M7 13H9V17H7V13M11 13H13V17H11V13M15 13H17V17H15V13M19 13H21V17H19V13Z\";\r\nexport var mdiGateAlert = \"M21 17H19V19H21V17M21 9H19V15H21V9M17 13V11H15V6H13V11H11V6H9V11H7V7H5V11H3V9H1V21H3V19H5V21H7V19H9V21H11V19H13V21H15V19H17V17H15V13H17M5 17H3V13H5V17M9 17H7V13H9V17M13 17H11V13H13V17Z\";\r\nexport var mdiGateAnd = \"M2,4V20H14A8,8 0 0,0 22,12A8,8 0 0,0 14,4H2M4,6H14A6,6 0 0,1 20,12A6,6 0 0,1 14,18H4V6Z\";\r\nexport var mdiGateArrowLeft = \"M9 6H7V11H5V6H3V11H2V13H3V14.81C3.62 14.45 4.3 14.21 5 14.09V13H7V14.09C7.7 14.21 8.38 14.45 9 14.81V13H11V16.69C11.65 17.67 12 18.82 12 20C12 20.34 11.97 20.67 11.91 21H13V19H15V21H17V9H15V11H13V7H11V11H9V6M15 13V17H13V13H15M2 20L5 23V21H9V19H5V17L2 20Z\";\r\nexport var mdiGateArrowRight = \"M15 6V11H13V7H11V11H9V9H7V21H9V19H11V21H12.09C12.03 20.67 12 20.34 12 20C12 18.82 12.35 17.67 13 16.69V13H15V14.81C15.62 14.45 16.3 14.21 17 14.09V13H19V14.09C19.7 14.21 20.38 14.45 21 14.81V13H22V11H21V6H19V11H17V6H15M9 13H11V17H9V13M19 17V19H15V21H19V23L22 20L19 17Z\";\r\nexport var mdiGateNand = \"M2,4V20H10C13.43,20 16.5,17.84 17.6,14.6C18,14.8 18.5,15 19,15A3,3 0 0,0 22,12A3,3 0 0,0 19,9C18.5,9 18.03,9.15 17.6,9.4C16.5,6.16 13.43,4 10,4H2M4,6H10A6,6 0 0,1 16,12A6,6 0 0,1 10,18H4V6M19,11C19.5,11 20,11.5 20,12C20,12.5 19.5,13 19,13A1,1 0 0,1 18,12C18,11.5 18.5,11 19,11Z\";\r\nexport var mdiGateNor = \"M2,4C5,10 5,14 2,20H5C9.4,20 13,17.7 16.6,13.7C17.15,14.5 18.04,15 19,15A3,3 0 0,0 22,12A3,3 0 0,0 19,9C18.04,9 17.15,9.5 16.6,10.3C13,6.3 9.4,4 5,4H2M5,6C8.8,6 12,8.1 15.3,12C12,15.9 8.8,18 5,18C6.5,14 6.5,10 5,6M19,11C19.5,11 20,11.5 20,12C20,12.5 19.5,13 19,13A1,1 0 0,1 18,12C18,11.5 18.5,11 19,11Z\";\r\nexport var mdiGateNot = \"M2,4V20L16.2,13C16.62,14.19 17.74,15 19,15A3,3 0 0,0 22,12A3,3 0 0,0 19,9C17.74,9 16.62,9.81 16.2,11L2,4M4,7.3L13.7,12L4,16.7V7.3M19,11C19.5,11 20,11.5 20,12C20,12.5 19.5,13 19,13A1,1 0 0,1 18,12C18,11.5 18.5,11 19,11Z\";\r\nexport var mdiGateOpen = \"M7 21V7H5V11H3V9H1V21H3V19H5V21H7M3 17V13H5V17H3M21 9V11H19V7H17V21H19V19H21V21H23V9H21M21 17H19V13H21V17Z\";\r\nexport var mdiGateOr = \"M2,4C5,10 5,14 2,20H8C13,20 19,16 22,12C19,8 13,4 8,4H2M5,6H8C11.5,6 16.3,9 19.3,12C16.3,15 11.5,18 8,18H5C6.4,13.9 6.4,10.1 5,6Z\";\r\nexport var mdiGateXnor = \"M2,4C5,10 5,14 2,20H4C7,14 7,10 4.1,4H2M6,4C9,10 9,14 6,20H9C12.2,20 14.8,16.8 16.7,14C17.28,14.65 18.12,15 19,15A3,3 0 0,0 22,12A3,3 0 0,0 19,9C18.12,9 17.28,9.35 16.7,10C14.7,7.2 12.2,4 9,4H6M9,6C12,6 14,10 15.5,12C14,14 12,18 9,18C10.6,14 10.6,10 9,6M19,11C19.5,11 20,11.5 20,12C20,12.5 19.5,13 19,13A1,1 0 0,1 18,12C18,11.5 18.5,11 19,11Z\";\r\nexport var mdiGateXor = \"M2,4C5,10 5,14 2,20H4C7,14 7,10 4.1,4H2M6,4C9,10 9,14 6,20H9C14,20 18,17 22,12C18,7 14,4 9,4H6M9,6C12.8,6 16,8.1 19.3,12C15.9,15.9 12.8,18 9,18C10.5,14 10.5,10 9,6Z\";\r\nexport var mdiGatsby = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4C8.27,4 5.14,6.55 4.25,10L14,19.75C17.45,18.86 20,15.73 20,12H14.75V13.5H18.2C17.71,15.54 16.24,17.19 14.31,17.94L6.06,9.69C7,7.31 9.3,5.63 12,5.63C14.13,5.63 16,6.67 17.18,8.28L18.41,7.22C16.95,5.26 14.63,4 12,4M4,12A8,8 0 0,0 12,20C12.04,20 12.09,20 4,12Z\";\r\nexport var mdiGauge = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12C20,14.4 19,16.5 17.3,18C15.9,16.7 14,16 12,16C10,16 8.2,16.7 6.7,18C5,16.5 4,14.4 4,12A8,8 0 0,1 12,4M14,5.89C13.62,5.9 13.26,6.15 13.1,6.54L11.81,9.77L11.71,10C11,10.13 10.41,10.6 10.14,11.26C9.73,12.29 10.23,13.45 11.26,13.86C12.29,14.27 13.45,13.77 13.86,12.74C14.12,12.08 14,11.32 13.57,10.76L13.67,10.5L14.96,7.29L14.97,7.26C15.17,6.75 14.92,6.17 14.41,5.96C14.28,5.91 14.15,5.89 14,5.89M10,6A1,1 0 0,0 9,7A1,1 0 0,0 10,8A1,1 0 0,0 11,7A1,1 0 0,0 10,6M7,9A1,1 0 0,0 6,10A1,1 0 0,0 7,11A1,1 0 0,0 8,10A1,1 0 0,0 7,9M17,9A1,1 0 0,0 16,10A1,1 0 0,0 17,11A1,1 0 0,0 18,10A1,1 0 0,0 17,9Z\";\r\nexport var mdiGaugeEmpty = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12C4,14.4 5,16.5 6.7,18C8.1,16.7 10,16 12,16C14,16 15.8,16.7 17.3,18C19,16.5 20,14.4 20,12A8,8 0 0,0 12,4M14,6A1,1 0 0,1 15,7A1,1 0 0,1 14,8A1,1 0 0,1 13,7A1,1 0 0,1 14,6M10,6A1,1 0 0,1 11,7A1,1 0 0,1 10,8A1,1 0 0,1 9,7A1,1 0 0,1 10,6M6.91,8.94C7.04,8.94 7.16,8.97 7.3,9L10.5,10.32L10.77,10.43C11.33,10 12.09,9.88 12.75,10.15C13.77,10.56 14.27,11.73 13.85,12.75C13.44,13.77 12.27,14.27 11.25,13.85C10.59,13.59 10.12,13 10,12.28L9.77,12.18L6.55,10.88L6.53,10.87C6,10.66 5.77,10.08 5.97,9.56C6.13,9.18 6.5,8.93 6.91,8.94V8.94M17,9A1,1 0 0,1 18,10A1,1 0 0,1 17,11A1,1 0 0,1 16,10A1,1 0 0,1 17,9Z\";\r\nexport var mdiGaugeFull = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12C20,14.4 19,16.5 17.3,18C15.9,16.7 14,16 12,16C10,16 8.2,16.7 6.7,18C5,16.5 4,14.4 4,12A8,8 0 0,1 12,4M10,6A1,1 0 0,0 9,7A1,1 0 0,0 10,8A1,1 0 0,0 11,7A1,1 0 0,0 10,6M14,6A1,1 0 0,0 13,7A1,1 0 0,0 14,8A1,1 0 0,0 15,7A1,1 0 0,0 14,6M17.09,8.94C16.96,8.94 16.84,8.97 16.7,9L13.5,10.32L13.23,10.43C12.67,10 11.91,9.88 11.25,10.15C10.23,10.56 9.73,11.73 10.15,12.75C10.56,13.77 11.73,14.27 12.75,13.85C13.41,13.59 13.88,13 14,12.28L14.23,12.18L17.45,10.88L17.47,10.87C18,10.66 18.23,10.08 18.03,9.56C17.87,9.18 17.5,8.93 17.09,8.94M7,9A1,1 0 0,0 6,10A1,1 0 0,0 7,11A1,1 0 0,0 8,10A1,1 0 0,0 7,9Z\";\r\nexport var mdiGaugeLow = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12C4,14.4 5,16.5 6.7,18C8.1,16.7 10,16 12,16C14,16 15.8,16.7 17.3,18C19,16.5 20,14.4 20,12A8,8 0 0,0 12,4M10,5.89C10.38,5.9 10.74,6.15 10.9,6.54L12.19,9.77L12.29,10C13,10.13 13.59,10.6 13.86,11.26C14.27,12.29 13.77,13.45 12.74,13.86C11.71,14.27 10.55,13.77 10.14,12.74C9.88,12.08 10,11.32 10.43,10.76L10.33,10.5L9.04,7.29L9.03,7.26C8.83,6.75 9.08,6.17 9.59,5.96C9.72,5.91 9.85,5.89 10,5.89V5.89M14,6A1,1 0 0,1 15,7A1,1 0 0,1 14,8A1,1 0 0,1 13,7A1,1 0 0,1 14,6M17,9A1,1 0 0,1 18,10A1,1 0 0,1 17,11A1,1 0 0,1 16,10A1,1 0 0,1 17,9M7,9A1,1 0 0,1 8,10A1,1 0 0,1 7,11A1,1 0 0,1 6,10A1,1 0 0,1 7,9Z\";\r\nexport var mdiGavel = \"M2.3,20.28L11.9,10.68L10.5,9.26L9.78,9.97C9.39,10.36 8.76,10.36 8.37,9.97L7.66,9.26C7.27,8.87 7.27,8.24 7.66,7.85L13.32,2.19C13.71,1.8 14.34,1.8 14.73,2.19L15.44,2.9C15.83,3.29 15.83,3.92 15.44,4.31L14.73,5L16.15,6.43C16.54,6.04 17.17,6.04 17.56,6.43C17.95,6.82 17.95,7.46 17.56,7.85L18.97,9.26L19.68,8.55C20.07,8.16 20.71,8.16 21.1,8.55L21.8,9.26C22.19,9.65 22.19,10.29 21.8,10.68L16.15,16.33C15.76,16.72 15.12,16.72 14.73,16.33L14.03,15.63C13.63,15.24 13.63,14.6 14.03,14.21L14.73,13.5L13.32,12.09L3.71,21.7C3.32,22.09 2.69,22.09 2.3,21.7C1.91,21.31 1.91,20.67 2.3,20.28M20,19A2,2 0 0,1 22,21V22H12V21A2,2 0 0,1 14,19H20Z\";\r\nexport var mdiGenderFemale = \"M12,4A6,6 0 0,1 18,10C18,12.97 15.84,15.44 13,15.92V18H15V20H13V22H11V20H9V18H11V15.92C8.16,15.44 6,12.97 6,10A6,6 0 0,1 12,4M12,6A4,4 0 0,0 8,10A4,4 0 0,0 12,14A4,4 0 0,0 16,10A4,4 0 0,0 12,6Z\";\r\nexport var mdiGenderMale = \"M9,9C10.29,9 11.5,9.41 12.47,10.11L17.58,5H13V3H21V11H19V6.41L13.89,11.5C14.59,12.5 15,13.7 15,15A6,6 0 0,1 9,21A6,6 0 0,1 3,15A6,6 0 0,1 9,9M9,11A4,4 0 0,0 5,15A4,4 0 0,0 9,19A4,4 0 0,0 13,15A4,4 0 0,0 9,11Z\";\r\nexport var mdiGenderMaleFemale = \"M17.58,4H14V2H21V9H19V5.41L15.17,9.24C15.69,10.03 16,11 16,12C16,14.42 14.28,16.44 12,16.9V19H14V21H12V23H10V21H8V19H10V16.9C7.72,16.44 6,14.42 6,12A5,5 0 0,1 11,7C12,7 12.96,7.3 13.75,7.83L17.58,4M11,9A3,3 0 0,0 8,12A3,3 0 0,0 11,15A3,3 0 0,0 14,12A3,3 0 0,0 11,9Z\";\r\nexport var mdiGenderMaleFemaleVariant = \"M7 3A5 5 0 0 0 9 7A5 5 0 0 0 7 11A5 5 0 0 0 11 15.9V18H9V20H11V22H13V20H15V18H13V15.9A5 5 0 0 0 17 11A5 5 0 0 0 15 7A5 5 0 0 0 17 3H15A3 3 0 0 1 12 6A3 3 0 0 1 9 3M12 8A3 3 0 0 1 15 11A3 3 0 0 1 12 14A3 3 0 0 1 9 11A3 3 0 0 1 12 8Z\";\r\nexport var mdiGenderNonBinary = \"M13 3H11V5.27L9.04 4.13L8.04 5.87L10 7L8.04 8.13L9.04 9.87L11 8.73V12.1C8.72 12.56 7 14.58 7 17C7 19.76 9.24 22 12 22S17 19.76 17 17C17 14.58 15.28 12.56 13 12.1V8.73L14.96 9.87L15.96 8.13L14 7L15.96 5.87L14.96 4.13L13 5.27V3M12 20C10.35 20 9 18.65 9 17S10.35 14 12 14 15 15.35 15 17 13.65 20 12 20Z\";\r\nexport var mdiGenderTransgender = \"M19.58,3H15V1H23V9H21V4.41L16.17,9.24C16.69,10.03 17,11 17,12C17,14.42 15.28,16.44 13,16.9V19H15V21H13V23H11V21H9V19H11V16.9C8.72,16.44 7,14.42 7,12C7,11 7.3,10.04 7.82,9.26L6.64,8.07L5.24,9.46L3.83,8.04L5.23,6.65L3,4.42V8H1V1H8V3H4.41L6.64,5.24L8.08,3.81L9.5,5.23L8.06,6.66L9.23,7.84C10,7.31 11,7 12,7C13,7 13.96,7.3 14.75,7.83L19.58,3M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z\";\r\nexport var mdiGentoo = \"M10.28,2C9.93,2 9.57,2.03 9.23,2.1C5.61,2.76 3.06,5.89 2.85,7.96C2.74,8.97 3.29,9.73 3.59,10.06C4.4,10.97 6.03,11.66 7.07,12.23C5.56,13.5 4.87,14.14 4.19,14.86C3.17,15.93 2.45,17.1 2.45,17.95C2.45,18.22 2.4,19.09 2.76,19.77C2.89,20.03 3.27,20.89 4.41,21.53C5.14,21.94 6.17,22.09 7.19,21.95C10.33,21.5 14.54,18.83 17.55,16.35C19.46,14.77 20.86,13.23 21.26,12.5C21.59,11.87 21.63,10.78 21.44,10.09C20.9,8.14 16.53,4.15 12.96,2.55C12.14,2.18 11.2,2 10.28,2M11.34,4.91C11.59,4.91 11.81,4.94 12,5C13.15,5.3 15.08,6.68 14.91,7.94C14.68,9.6 13.23,10.27 11.56,10.03C10.58,9.9 8.63,8.8 8.78,6.89C8.89,5.4 10.3,4.9 11.34,4.91M11.32,6.65C11.05,6.65 10.84,6.71 10.74,6.87C10.27,7.59 10.5,8.09 10.92,8.42C11.07,8.04 12.71,8.45 12.75,8.79C14.17,7.72 12.36,6.66 11.32,6.65Z\";\r\nexport var mdiGesture = \"M4.59,6.89C5.29,6.18 6,5.54 6.3,5.67C6.8,5.87 6.3,6.7 6,7.19C5.75,7.61 3.14,11.08 3.14,13.5C3.14,14.78 3.62,15.84 4.5,16.5C5.23,17.04 6.22,17.21 7.12,16.94C8.19,16.63 9.07,15.54 10.18,14.17C11.39,12.68 13,10.73 14.26,10.73C15.89,10.73 15.91,11.74 16,12.5C12.24,13.16 10.64,16.19 10.64,17.89C10.64,19.59 12.08,21 13.85,21C15.5,21 18.14,19.65 18.54,14.88H21V12.38H18.53C18.38,10.73 17.44,8.18 14.5,8.18C12.25,8.18 10.32,10.09 9.56,11C9,11.75 7.5,13.5 7.27,13.74C7,14.04 6.59,14.58 6.16,14.58C5.71,14.58 5.44,13.75 5.8,12.66C6.15,11.57 7.2,9.8 7.65,9.14C8.43,8 8.95,7.22 8.95,5.86C8.95,3.69 7.31,3 6.44,3C5.12,3 3.97,4 3.72,4.25C3.36,4.61 3.06,4.91 2.84,5.18L4.59,6.89M13.88,18.55C13.57,18.55 13.14,18.29 13.14,17.83C13.14,17.23 13.87,15.63 16,15.07C15.71,17.76 14.58,18.55 13.88,18.55Z\";\r\nexport var mdiGestureDoubleTap = \"M10,9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V13.47L13.21,13.6L18.15,15.79C18.68,16.03 19,16.56 19,17.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9M11,5A4,4 0 0,1 15,9C15,10.5 14.2,11.77 13,12.46V11.24C13.61,10.69 14,9.89 14,9A3,3 0 0,0 11,6A3,3 0 0,0 8,9C8,9.89 8.39,10.69 9,11.24V12.46C7.8,11.77 7,10.5 7,9A4,4 0 0,1 11,5M11,3A6,6 0 0,1 17,9C17,10.7 16.29,12.23 15.16,13.33L14.16,12.88C15.28,11.96 16,10.56 16,9A5,5 0 0,0 11,4A5,5 0 0,0 6,9C6,11.05 7.23,12.81 9,13.58V14.66C6.67,13.83 5,11.61 5,9A6,6 0 0,1 11,3Z\";\r\nexport var mdiGesturePinch = \"M13,9A1,1 0 0,1 14,8A1,1 0 0,1 15,9V13.47L16.21,13.6L21.15,15.8C21.67,16.04 22,16.56 22,17.14V21.5C21.97,22.32 21.32,22.97 20.5,23H14C13.62,23 13.26,22.85 13,22.57L8.1,18.37L8.84,17.6C9.03,17.39 9.3,17.28 9.58,17.28H9.8L13,19V9M14,5C15.42,5 16.74,5.76 17.45,7C18.56,8.9 17.91,11.35 16,12.46V11.23C16.64,10.67 17,9.85 17,9A3,3 0 0,0 14,6A3,3 0 0,0 11,9C11,9.85 11.36,10.67 12,11.23V12.46C10.77,11.75 10,10.43 10,9A4,4 0 0,1 14,5M4,9L7,12H5V15H3V12H1L4,9M4,7L1,4H3V1H5V4H7L4,7M9,14C9.73,14 10.41,14.19 11,14.54V15.76C10.47,15.29 9.77,15 9,15A3,3 0 0,0 6,18C6,19 6.5,19.87 7.22,20.42L9.31,22H9A4,4 0 0,1 5,18A4,4 0 0,1 9,14Z\";\r\nexport var mdiGestureSpread = \"M4,1L7,4H5V7H3V4H1L4,1M4,15L1,12H3V9H5V12H7L4,15M13,9A1,1 0 0,1 14,8A1,1 0 0,1 15,9V13.47L16.21,13.6L21.15,15.8C21.67,16.04 22,16.56 22,17.14V21.5C21.97,22.32 21.32,22.97 20.5,23H14C13.62,23 13.26,22.85 13,22.57L8.1,18.37L8.84,17.6C9.03,17.39 9.3,17.28 9.58,17.28H9.8L13,19V9M14,5C15.42,5 16.74,5.76 17.45,7C18.56,8.9 17.91,11.35 16,12.46V11.23C16.64,10.67 17,9.85 17,9A3,3 0 0,0 14,6A3,3 0 0,0 11,9C11,9.85 11.36,10.67 12,11.23V12.46C10.77,11.75 10,10.43 10,9A4,4 0 0,1 14,5M9,14C9.73,14 10.41,14.19 11,14.54V15.76C10.47,15.29 9.77,15 9,15A3,3 0 0,0 6,18C6,19 6.5,19.87 7.22,20.42L9.31,22H9A4,4 0 0,1 5,18A4,4 0 0,1 9,14Z\";\r\nexport var mdiGestureSwipe = \"M20.11,3.89L22,2V7H17L19.08,4.92C18.55,4.23 17.64,3.66 16.36,3.19C15.08,2.72 13.63,2.5 12,2.5C10.38,2.5 8.92,2.72 7.64,3.19C6.36,3.66 5.45,4.23 4.92,4.92L7,7H2V2L3.89,3.89C4.64,3 5.74,2.31 7.2,1.78C8.65,1.25 10.25,1 12,1C13.75,1 15.35,1.25 16.8,1.78C18.26,2.31 19.36,3 20.11,3.89M19.73,16.27V16.45L19,21.7C18.92,22.08 18.76,22.39 18.5,22.64C18.23,22.89 17.91,23 17.53,23H10.73C10.36,23 10,22.86 9.7,22.55L4.73,17.63L5.53,16.83C5.75,16.61 6,16.5 6.33,16.5H6.56L10,17.25V6.5C10,6.11 10.13,5.76 10.43,5.46C10.73,5.16 11.08,5 11.5,5C11.89,5 12.24,5.16 12.54,5.46C12.84,5.76 13,6.11 13,6.5V12.5H13.78C13.88,12.5 14.05,12.55 14.3,12.61L18.84,14.86C19.44,15.14 19.73,15.61 19.73,16.27Z\";\r\nexport var mdiGestureSwipeDown = \"M10,9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V13.47L13.21,13.6L18.15,15.79C18.68,16.03 19,16.56 19,17.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9M1,9L4,12L7,9H5V3H3V9H1Z\";\r\nexport var mdiGestureSwipeHorizontal = \"M6,1L3,4L6,7V5H9V7L12,4L9,1V3H6V1M11,8A1,1 0 0,0 10,9V19L6.8,17.28H6.58C6.3,17.28 6.03,17.39 5.84,17.6L5.1,18.37L10,22.57C10.26,22.85 10.62,23 11,23H17.5A1.5,1.5 0 0,0 19,21.5V17.14C19,16.56 18.68,16.03 18.15,15.79L13.21,13.6L12,13.47V9A1,1 0 0,0 11,8Z\";\r\nexport var mdiGestureSwipeLeft = \"M10,9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V13.47L13.21,13.6L18.15,15.79C18.68,16.03 19,16.56 19,17.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9M3,4L6,7V5H12V3H6V1L3,4Z\";\r\nexport var mdiGestureSwipeRight = \"M10,9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V13.47L13.21,13.6L18.15,15.79C18.68,16.03 19,16.56 19,17.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9M12,4L9,1V3H3V5H9V7L12,4Z\";\r\nexport var mdiGestureSwipeUp = \"M10,9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V13.47L13.21,13.6L18.15,15.79C18.68,16.03 19,16.56 19,17.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9M7,6L4,3L1,6H3V12H5V6H7Z\";\r\nexport var mdiGestureSwipeVertical = \"M4,3L1,6H3V9H1L4,12L7,9H5V6H7L4,3M11,8A1,1 0 0,0 10,9V19L6.8,17.28H6.58C6.3,17.28 6.03,17.39 5.84,17.6L5.1,18.37L10,22.57C10.26,22.85 10.62,23 11,23H17.5A1.5,1.5 0 0,0 19,21.5V17.14C19,16.56 18.68,16.03 18.15,15.79L13.21,13.6L12,13.47V9A1,1 0 0,0 11,8Z\";\r\nexport var mdiGestureTap = \"M10,9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V13.47L13.21,13.6L18.15,15.79C18.68,16.03 19,16.56 19,17.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9M11,5A4,4 0 0,1 15,9C15,10.5 14.2,11.77 13,12.46V11.24C13.61,10.69 14,9.89 14,9A3,3 0 0,0 11,6A3,3 0 0,0 8,9C8,9.89 8.39,10.69 9,11.24V12.46C7.8,11.77 7,10.5 7,9A4,4 0 0,1 11,5Z\";\r\nexport var mdiGestureTapBox = \"M20 2H4C2.89 2 2 2.89 2 4V20C2 21.11 2.89 22 4 22H20C21.11 22 22 21.11 22 20V4C22 2.89 21.11 2 20 2M11 4C13.21 4 15 5.79 15 8C15 9.5 14.2 10.77 13 11.46V10.24C13.61 9.69 14 8.89 14 8C14 6.34 12.66 5 11 5S8 6.34 8 8C8 8.89 8.39 9.69 9 10.24V11.46C7.8 10.77 7 9.5 7 8C7 5.79 8.79 4 11 4M18 18.5C17.97 19.32 17.32 19.97 16.5 20H11C10.62 20 10.26 19.85 10 19.57L6 15.37L6.74 14.6C6.93 14.39 7.2 14.28 7.5 14.28H7.7L10 16V8C10 7.45 10.45 7 11 7S12 7.45 12 8V12.47L13.21 12.6L17.15 14.79C17.68 15.03 18 15.56 18 16.14V18.5Z\";\r\nexport var mdiGestureTapButton = \"M13 5C15.21 5 17 6.79 17 9C17 10.5 16.2 11.77 15 12.46V11.24C15.61 10.69 16 9.89 16 9C16 7.34 14.66 6 13 6S10 7.34 10 9C10 9.89 10.39 10.69 11 11.24V12.46C9.8 11.77 9 10.5 9 9C9 6.79 10.79 5 13 5M20 20.5C19.97 21.32 19.32 21.97 18.5 22H13C12.62 22 12.26 21.85 12 21.57L8 17.37L8.74 16.6C8.93 16.39 9.2 16.28 9.5 16.28H9.7L12 18V9C12 8.45 12.45 8 13 8S14 8.45 14 9V13.47L15.21 13.6L19.15 15.79C19.68 16.03 20 16.56 20 17.14V20.5M20 2H4C2.9 2 2 2.9 2 4V12C2 13.11 2.9 14 4 14H8V12L4 12L4 4H20L20 12H18V14H20V13.96L20.04 14C21.13 14 22 13.09 22 12V4C22 2.9 21.11 2 20 2Z\";\r\nexport var mdiGestureTapHold = \"M10,9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V13.47L13.21,13.6L18.15,15.79C18.68,16.03 19,16.56 19,17.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9M9,12.44V9A2,2 0 0,1 11,7A2,2 0 0,1 13,9V12.44C14.19,11.75 15,10.47 15,9A4,4 0 0,0 11,5A4,4 0 0,0 7,9C7,10.47 7.81,11.75 9,12.44Z\";\r\nexport var mdiGestureTwoDoubleTap = \"M19,15.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V7A1,1 0 0,1 13,6A1,1 0 0,1 14,7V12L18.15,13.84C18.66,14.07 19,14.58 19,15.14M13,3A4,4 0 0,1 17,7C17,8.5 16.2,9.77 15,10.46V9.24C15.61,8.69 16,7.89 16,7A3,3 0 0,0 13,4C11.65,4 10.5,4.9 10.13,6.13C8.9,6.5 8,7.65 8,9C8,9.89 8.39,10.69 9,11.24V12.46C7.8,11.77 7,10.5 7,9C7,7.38 7.97,6 9.35,5.35C10,3.97 11.38,3 13,3M13,1A6,6 0 0,1 19,7C19,9.06 17.96,10.88 16.38,11.96L15.26,11.46C16.89,10.64 18,8.95 18,7A5,5 0 0,0 13,2C11.11,2 9.46,3.05 8.61,4.61C7.05,5.46 6,7.11 6,9C6,11.05 7.23,12.81 9,13.58V14.66C6.67,13.83 5,11.61 5,9C5,6.83 6.15,4.93 7.88,3.88C8.93,2.15 10.83,1 13,1Z\";\r\nexport var mdiGestureTwoTap = \"M19,15.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V7A1,1 0 0,1 13,6A1,1 0 0,1 14,7V12L18.15,13.84C18.66,14.07 19,14.58 19,15.14M15,10.45V9.24L15,9.23C15.23,9.03 15.42,8.79 15.57,8.54C15.84,8.09 16,7.56 16,7A3,3 0 0,0 13,4C12.21,4 11.5,4.31 10.95,4.81L10.81,4.95C10.68,5.09 10.56,5.24 10.46,5.4C10.36,5.56 10.27,5.74 10.2,5.92C10.17,6 10.15,6.06 10.13,6.13C8.9,6.5 8,7.65 8,9C8,9.7 8.24,10.34 8.64,10.85C8.74,11 8.87,11.11 9,11.23V11.24L9,12.46V12.46C7.8,11.77 7,10.5 7,9C7,7.38 7.97,6 9.35,5.35C10,3.97 11.38,3 13,3A4,4 0 0,1 17,7C17,8.5 16.2,9.77 15,10.46V10.45Z\";\r\nexport var mdiGhost = \"M12,2A9,9 0 0,0 3,11V22L6,19L9,22L12,19L15,22L18,19L21,22V11A9,9 0 0,0 12,2M9,8A2,2 0 0,1 11,10A2,2 0 0,1 9,12A2,2 0 0,1 7,10A2,2 0 0,1 9,8M15,8A2,2 0 0,1 17,10A2,2 0 0,1 15,12A2,2 0 0,1 13,10A2,2 0 0,1 15,8Z\";\r\nexport var mdiGhostOff = \"M2,3.27L3.28,2L22,20.72L20.73,22L17.87,19.13L15,22L12,19L9,22L6,19L3,22V11C3,9.09 3.59,7.33 4.6,5.87L2,3.27M12,2A9,9 0 0,1 21,11V17.18L15.7,11.88C16.46,11.59 17,10.86 17,10A2,2 0 0,0 15,8C14.14,8 13.41,8.54 13.13,9.3L7.2,3.38C8.59,2.5 10.24,2 12,2M7,10A2,2 0 0,0 9,12C9.5,12 9.93,11.83 10.27,11.54L7.46,8.73C7.17,9.07 7,9.5 7,10Z\";\r\nexport var mdiGhostOffOutline = \"M8.29 5.09L6.84 3.64C8.3 2.61 10.08 2 12 2C16.97 2 21 6.03 21 11V17.8L19 15.8V11C19 7.14 15.86 4 12 4C10.63 4 9.36 4.4 8.29 5.09M22.11 21.46L20.84 22.73L17.56 19.45L15 22L12 19L9 22L6 19L3 22V11C3 9.26 3.5 7.63 4.36 6.25L1.11 3L2.39 1.73L6.89 6.23L8.69 8.03H8.69L10.97 10.31V10.31L17.41 16.76L17.42 16.76L21 20.34V20.35L22.11 21.46M16.14 18.03L9.89 11.78C9.62 11.92 9.32 12 9 12C7.9 12 7 11.11 7 10C7 9.68 7.08 9.38 7.22 9.11L5.82 7.71C5.3 8.69 5 9.81 5 11V17.17L6 16.17L7.41 17.59L9 19.17L10.59 17.59L12 16.17L13.41 17.59L15 19.17L16.14 18.03M15 8C13.96 8 13.11 8.8 13 9.82L15.18 12C16.2 11.89 17 11.04 17 10C17 8.9 16.11 8 15 8Z\";\r\nexport var mdiGhostOutline = \"M12 2C7.03 2 3 6.03 3 11V22L6 19L9 22L12 19L15 22L18 19L21 22V11C21 6.03 16.97 2 12 2M19 17.17L18 16.17L16.59 17.59L15 19.17L13.41 17.59L12 16.17L10.59 17.59L9 19.17L7.41 17.59L6 16.17L5 17.17V11C5 7.14 8.14 4 12 4S19 7.14 19 11V17.17M11 10C11 11.11 10.11 12 9 12S7 11.11 7 10 7.9 8 9 8 11 8.9 11 10M17 10C17 11.11 16.11 12 15 12S13 11.11 13 10 13.9 8 15 8 17 8.9 17 10Z\";\r\nexport var mdiGift = \"M9.06,1.93C7.17,1.92 5.33,3.74 6.17,6H3A2,2 0 0,0 1,8V10A1,1 0 0,0 2,11H11V8H13V11H22A1,1 0 0,0 23,10V8A2,2 0 0,0 21,6H17.83C19,2.73 14.6,0.42 12.57,3.24L12,4L11.43,3.22C10.8,2.33 9.93,1.94 9.06,1.93M9,4C9.89,4 10.34,5.08 9.71,5.71C9.08,6.34 8,5.89 8,5A1,1 0 0,1 9,4M15,4C15.89,4 16.34,5.08 15.71,5.71C15.08,6.34 14,5.89 14,5A1,1 0 0,1 15,4M2,12V20A2,2 0 0,0 4,22H20A2,2 0 0,0 22,20V12H13V20H11V12H2Z\";\r\nexport var mdiGiftOff = \"M1.11 3L4.14 6.04H3C1.9 6.04 1 6.93 1 8.04V10.04C1 10.59 1.45 11.04 2 11.04H9.15L10.15 12.04H2V20.04C2 21.14 2.9 22.04 4 22.04H20C20.05 22.04 20.09 22.03 20.13 22L21.56 23.45L22.83 22.18L2.39 1.73L1.11 3M11 12.89L13 14.89V20.04H11V12.89M22 12.04V18.8L15.24 12.04H22M21 6.04H17.83C19 2.77 14.6 .455 12.57 3.28L12 4.04L11.43 3.26C10.8 2.37 9.93 2 9.06 1.97C8.06 1.96 7.08 2.5 6.5 3.3L8.04 4.84C8.13 4.38 8.5 4.04 9 4.04C9.89 4.04 10.34 5.12 9.71 5.75C9.56 5.89 9.39 6 9.21 6L11.24 8.04H13V9.8L14.24 11.04H22C22.55 11.04 23 10.59 23 10.04V8.04C23 6.93 22.11 6.04 21 6.04M15.71 5.75C15.08 6.38 14 5.93 14 5.04C14 4.5 14.45 4.04 15 4.04C15.89 4.04 16.34 5.12 15.71 5.75Z\";\r\nexport var mdiGiftOffOutline = \"M21 6H17.83C17.94 5.69 18 5.35 18 5C18 3.34 16.66 2 15 2C14 2 13.12 2.5 12.57 3.24V3.23L12 4L11.43 3.23V3.24C10.88 2.5 10 2 9 2C7.97 2 7.06 2.5 6.5 3.32L8.03 4.83C8.12 4.36 8.5 4 9 4C9.55 4 10 4.45 10 5C10 5.5 9.64 5.88 9.17 5.97L13 9.8V8H21V10H13.2L15.2 12H20V16.8L22 18.8V12C22.55 12 23 11.55 23 11V8C23 6.9 22.11 6 21 6M15 6C14.45 6 14 5.55 14 5S14.45 4 15 4 16 4.45 16 5 15.55 6 15 6M1.11 3L4.11 6H3C1.9 6 1 6.9 1 8V11C1 11.55 1.45 12 2 12V20C2 21.11 2.9 22 4 22H20C20.03 22 20.07 22 20.1 22L21.56 23.45L22.83 22.18L2.39 1.73L1.11 3M13 14.89L18.11 20H13V14.89M11 12.89V20H4V12H10.11L11 12.89M8.11 10H3V8H6.11L8.11 10Z\";\r\nexport var mdiGiftOpen = \"M22 10.92L19.26 9.33C21.9 7.08 19.25 2.88 16.08 4.31L15.21 4.68L15.1 3.72C15 2.64 14.44 1.87 13.7 1.42C12.06 .467 9.56 1.12 9.16 3.5L6.41 1.92C5.45 1.36 4.23 1.69 3.68 2.65L2.68 4.38C2.4 4.86 2.57 5.47 3.05 5.75L10.84 10.25L12.34 7.65L14.07 8.65L12.57 11.25L20.36 15.75C20.84 16 21.46 15.86 21.73 15.38L22.73 13.65C23.28 12.69 22.96 11.47 22 10.92M12.37 5C11.5 5.25 10.8 4.32 11.24 3.55C11.5 3.07 12.13 2.91 12.61 3.18C13.38 3.63 13.23 4.79 12.37 5M17.56 8C16.7 8.25 16 7.32 16.44 6.55C16.71 6.07 17.33 5.91 17.8 6.18C18.57 6.63 18.42 7.79 17.56 8M20.87 16.88C21.28 16.88 21.67 16.74 22 16.5V20C22 21.11 21.11 22 20 22H4C2.9 22 2 21.11 2 20V11H10.15L11 11.5V20H13V12.65L19.87 16.61C20.17 16.79 20.5 16.88 20.87 16.88Z\";\r\nexport var mdiGiftOpenOutline = \"M22 10.87L19.26 9.28C19.5 9.07 19.73 8.8 19.9 8.5C20.73 7.07 20.24 5.23 18.8 4.4C17.94 3.9 16.93 3.9 16.08 4.26L16.09 4.25L15.21 4.64L15.1 3.68L15.09 3.69C15 2.78 14.47 1.9 13.61 1.4C12.17 .575 10.34 1.07 9.5 2.5C9.33 2.8 9.22 3.13 9.16 3.45L6.41 1.87C5.45 1.32 4.23 1.64 3.68 2.6L2.18 5.2C1.9 5.68 2.07 6.29 2.55 6.56L4.28 7.56L8.5 10H2V20C2 21.11 2.9 22 4 22H20C21.11 22 22 21.11 22 20V14.87L22.73 13.6C23.28 12.64 22.96 11.42 22 10.87M16.44 6.5C16.71 6 17.33 5.86 17.8 6.13C18.28 6.41 18.45 7 18.17 7.5C17.89 8 17.28 8.14 16.8 7.87C16.33 7.59 16.16 7 16.44 6.5M14.07 8.6L21 12.6L20 14.33L13.07 10.33L14.07 8.6M11 20H4V12H11V20M11.34 9.33L4.41 5.33L5.41 3.6L12.34 7.6L11.34 9.33M11.61 4.87C11.13 4.59 10.97 4 11.24 3.5C11.5 3 12.13 2.86 12.61 3.13C13.09 3.41 13.25 4 12.97 4.5C12.7 5 12.09 5.14 11.61 4.87M13 20V12.6L20 16.64V20H13Z\";\r\nexport var mdiGiftOutline = \"M22,12V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V12A1,1 0 0,1 1,11V8A2,2 0 0,1 3,6H6.17C6.06,5.69 6,5.35 6,5A3,3 0 0,1 9,2C10,2 10.88,2.5 11.43,3.24V3.23L12,4L12.57,3.23V3.24C13.12,2.5 14,2 15,2A3,3 0 0,1 18,5C18,5.35 17.94,5.69 17.83,6H21A2,2 0 0,1 23,8V11A1,1 0 0,1 22,12M4,20H11V12H4V20M20,20V12H13V20H20M9,4A1,1 0 0,0 8,5A1,1 0 0,0 9,6A1,1 0 0,0 10,5A1,1 0 0,0 9,4M15,4A1,1 0 0,0 14,5A1,1 0 0,0 15,6A1,1 0 0,0 16,5A1,1 0 0,0 15,4M3,8V10H11V8H3M13,8V10H21V8H13Z\";\r\nexport var mdiGit = \"M2.6,10.59L8.38,4.8L10.07,6.5C9.83,7.35 10.22,8.28 11,8.73V14.27C10.4,14.61 10,15.26 10,16A2,2 0 0,0 12,18A2,2 0 0,0 14,16C14,15.26 13.6,14.61 13,14.27V9.41L15.07,11.5C15,11.65 15,11.82 15,12A2,2 0 0,0 17,14A2,2 0 0,0 19,12A2,2 0 0,0 17,10C16.82,10 16.65,10 16.5,10.07L13.93,7.5C14.19,6.57 13.71,5.55 12.78,5.16C12.35,5 11.9,4.96 11.5,5.07L9.8,3.38L10.59,2.6C11.37,1.81 12.63,1.81 13.41,2.6L21.4,10.59C22.19,11.37 22.19,12.63 21.4,13.41L13.41,21.4C12.63,22.19 11.37,22.19 10.59,21.4L2.6,13.41C1.81,12.63 1.81,11.37 2.6,10.59Z\";\r\nexport var mdiGithub = \"M12,2A10,10 0 0,0 2,12C2,16.42 4.87,20.17 8.84,21.5C9.34,21.58 9.5,21.27 9.5,21C9.5,20.77 9.5,20.14 9.5,19.31C6.73,19.91 6.14,17.97 6.14,17.97C5.68,16.81 5.03,16.5 5.03,16.5C4.12,15.88 5.1,15.9 5.1,15.9C6.1,15.97 6.63,16.93 6.63,16.93C7.5,18.45 8.97,18 9.54,17.76C9.63,17.11 9.89,16.67 10.17,16.42C7.95,16.17 5.62,15.31 5.62,11.5C5.62,10.39 6,9.5 6.65,8.79C6.55,8.54 6.2,7.5 6.75,6.15C6.75,6.15 7.59,5.88 9.5,7.17C10.29,6.95 11.15,6.84 12,6.84C12.85,6.84 13.71,6.95 14.5,7.17C16.41,5.88 17.25,6.15 17.25,6.15C17.8,7.5 17.45,8.54 17.35,8.79C18,9.5 18.38,10.39 18.38,11.5C18.38,15.32 16.04,16.16 13.81,16.41C14.17,16.72 14.5,17.33 14.5,18.26C14.5,19.6 14.5,20.68 14.5,21C14.5,21.27 14.66,21.59 15.17,21.5C19.14,20.16 22,16.42 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiGitlab = \"M21.94 13.11L20.89 9.89C20.89 9.86 20.88 9.83 20.87 9.8L18.76 3.32C18.65 3 18.33 2.75 17.96 2.75C17.6 2.75 17.28 3 17.17 3.33L15.17 9.5H8.84L6.83 3.33C6.72 3 6.4 2.75 6.04 2.75H6.04C5.67 2.75 5.35 3 5.24 3.33L3.13 9.82C3.13 9.82 3.13 9.83 3.13 9.83L2.06 13.11C1.9 13.61 2.07 14.15 2.5 14.45L11.72 21.16C11.89 21.28 12.11 21.28 12.28 21.15L21.5 14.45C21.93 14.15 22.1 13.61 21.94 13.11M8.15 10.45L10.72 18.36L4.55 10.45M13.28 18.37L15.75 10.78L15.85 10.45H19.46L13.87 17.61M17.97 3.94L19.78 9.5H16.16M14.86 10.45L13.07 15.96L12 19.24L9.14 10.45M6.03 3.94L7.84 9.5H4.23M3.05 13.69C2.96 13.62 2.92 13.5 2.96 13.4L3.75 10.97L9.57 18.42M20.95 13.69L14.44 18.42L14.46 18.39L20.25 10.97L21.04 13.4C21.08 13.5 21.04 13.62 20.95 13.69\";\r\nexport var mdiGlassCocktail = \"M7.5,7L5.5,5H18.5L16.5,7M11,13V19H6V21H18V19H13V13L21,5V3H3V5L11,13Z\";\r\nexport var mdiGlassCocktailOff = \"M13.33 12.67L7.66 7L6.13 5.47L2.39 1.73L1.11 3L3 4.89V5L11 13V19H6V21H18V19.89L20.84 22.73L22.11 21.46L13.33 12.67M13 19V14.89L17.11 19H13M8.2 5L6.2 3H21V5L14.6 11.4L10.2 7H16.5L18.5 5H8.2Z\";\r\nexport var mdiGlassFlute = \"M8,2H16C15.67,5 15.33,8 14.75,9.83C14.17,11.67 13.33,12.33 12.92,14.08C12.5,15.83 12.5,18.67 13.08,20C13.67,21.33 14.83,21.17 15.42,21.25C16,21.33 16,21.67 16,22H8C8,21.67 8,21.33 8.58,21.25C9.17,21.17 10.33,21.33 10.92,20C11.5,18.67 11.5,15.83 11.08,14.08C10.67,12.33 9.83,11.67 9.25,9.83C8.67,8 8.33,5 8,2M10,4C10.07,5.03 10.15,6.07 10.24,7H13.76C13.85,6.07 13.93,5.03 14,4H10Z\";\r\nexport var mdiGlassMug = \"M10,4V7H18V4H10M8,2H20L21,2V3L20,4V20L21,21V22H20L8,22H7V21L8,20V18.6L4.2,16.83C3.5,16.5 3,15.82 3,15V8A2,2 0 0,1 5,6H8V4L7,3V2H8M5,15L8,16.39V8H5V15Z\";\r\nexport var mdiGlassMugOff = \"M20 19.35V19.34L6.66 6L6.07 5.41L2.39 1.73L1.11 3L4.26 6.15C3.5 6.44 3 7.16 3 8V15C3 15.82 3.5 16.5 4.2 16.83L8 18.6V20L7 21V22H20.11L20.84 22.73L22.11 21.46L20 19.35M8 16.39L5 15V8H6.11L8 9.89V16.39M8 4L7 3V2H21V3L20 4V16.8L10.2 7H18V4H10V6.8L8 4.8V4Z\";\r\nexport var mdiGlassMugVariant = \"M9.5 3C7.56 3 5.85 4.24 5.23 6.08C3.36 6.44 2 8.09 2 10C2 12.21 3.79 14 6 14V22H17V20H20C20.55 20 21 19.55 21 19V11C21 10.45 20.55 10 20 10H18V8C18 5.79 16.21 4 14 4H12.32C11.5 3.35 10.53 3 9.5 3M9.5 5C10.29 5 11.03 5.37 11.5 6H14C15.11 6 16 6.9 16 8H12C10 8 9.32 9.13 8.5 10.63C7.68 12.13 6 12 6 12C4.89 12 4 11.11 4 10C4 8.9 4.89 8 6 8H7V7.5C7 6.12 8.12 5 9.5 5M17 12H19V18H17Z\";\r\nexport var mdiGlassMugVariantOff = \"M8.44 5.24L7 3.79C7.71 3.29 8.57 3 9.5 3C10.53 3 11.5 3.35 12.32 4H14C16.21 4 18 5.79 18 8V10H20C20.55 10 21 10.45 21 11V17.8L19 15.8V12H17V13.8L11.26 8.06C11.5 8 11.73 8 12 8H16C16 6.9 15.11 6 14 6H11.5C11.03 5.37 10.29 5 9.5 5C9.12 5 8.76 5.09 8.44 5.24M22.11 21.46L20.84 22.73L18.11 20H17V22H6V14C3.79 14 2 12.21 2 10C2 8.37 3 6.94 4.44 6.33L1.11 3L2.39 1.73L7.19 6.54L9.61 8.96L17 16.34V16.35L18.65 18H18.66L20.5 19.84V19.85L22.11 21.46M8.59 10.5L6.11 8H6C4.89 8 4 8.9 4 10C4 11.11 4.89 12 6 12C6 12 7.68 12.13 8.5 10.63L8.59 10.5Z\";\r\nexport var mdiGlassPintOutline = \"M4 2L6 22H17L19 2H4M6.2 4H16.8L15.2 20H7.8L6.2 4Z\";\r\nexport var mdiGlassStange = \"M8,2H16V22H8V2M10,4V7H14V4H10Z\";\r\nexport var mdiGlassTulip = \"M8,2H16C15.67,2.67 15.33,3.33 15.58,5C15.83,6.67 16.67,9.33 16.25,10.74C15.83,12.14 14.17,12.28 13.33,13.86C12.5,15.44 12.5,18.47 13.08,19.9C13.67,21.33 14.83,21.17 15.42,21.25C16,21.33 16,21.67 16,22H8C8,21.67 8,21.33 8.58,21.25C9.17,21.17 10.33,21.33 10.92,19.9C11.5,18.47 11.5,15.44 10.67,13.86C9.83,12.28 8.17,12.14 7.75,10.74C7.33,9.33 8.17,6.67 8.42,5C8.67,3.33 8.33,2.67 8,2M10,4C10,5.19 9.83,6.17 9.64,7H14.27C14.13,6.17 14,5.19 14,4H10Z\";\r\nexport var mdiGlassWine = \"M15.5,21.27L14.66,21.18C13.9,21.11 13.25,20.6 13,19.87C12.47,17.91 12.47,15.83 13,13.87C15.32,13.4 17,11.37 17,9C17,7 15,2 15,2H9C9,2 7,7 7,9C7,11.38 8.67,13.42 11,13.9C11.53,15.86 11.53,17.94 11,19.9C10.76,20.62 10.12,21.13 9.37,21.21L8.5,21.3C8.5,21.3 8,21.28 8,22H16C16,21.28 15.5,21.27 15.5,21.27M9.44,7L10.44,4H13.56L14.56,7H9.44Z\";\r\nexport var mdiGlasses = \"M3,10C2.76,10 2.55,10.09 2.41,10.25C2.27,10.4 2.21,10.62 2.24,10.86L2.74,13.85C2.82,14.5 3.4,15 4,15H7C7.64,15 8.36,14.44 8.5,13.82L9.56,10.63C9.6,10.5 9.57,10.31 9.5,10.19C9.39,10.07 9.22,10 9,10H3M7,17H4C2.38,17 0.96,15.74 0.76,14.14L0.26,11.15C0.15,10.3 0.39,9.5 0.91,8.92C1.43,8.34 2.19,8 3,8H9C9.83,8 10.58,8.35 11.06,8.96C11.17,9.11 11.27,9.27 11.35,9.45C11.78,9.36 12.22,9.36 12.64,9.45C12.72,9.27 12.82,9.11 12.94,8.96C13.41,8.35 14.16,8 15,8H21C21.81,8 22.57,8.34 23.09,8.92C23.6,9.5 23.84,10.3 23.74,11.11L23.23,14.18C23.04,15.74 21.61,17 20,17H17C15.44,17 13.92,15.81 13.54,14.3L12.64,11.59C12.26,11.31 11.73,11.31 11.35,11.59L10.43,14.37C10.07,15.82 8.56,17 7,17M15,10C14.78,10 14.61,10.07 14.5,10.19C14.42,10.31 14.4,10.5 14.45,10.7L15.46,13.75C15.64,14.44 16.36,15 17,15H20C20.59,15 21.18,14.5 21.25,13.89L21.76,10.82C21.79,10.62 21.73,10.4 21.59,10.25C21.45,10.09 21.24,10 21,10H15Z\";\r\nexport var mdiGlobeLight = \"M13 8.08V2H11V8.08C7.61 8.57 5 11.47 5 15C5 18.87 8.13 22 12 22S19 18.87 19 15C19 11.47 16.39 8.57 13 8.08M12 20C9.24 20 7 17.76 7 15C7 13.87 7.39 12.84 8.03 12H15.97C16.61 12.84 17 13.87 17 15C17 17.76 14.76 20 12 20Z\";\r\nexport var mdiGlobeModel = \"M17.36,2.64L15.95,4.06C17.26,5.37 18,7.14 18,9A7,7 0 0,1 11,16C9.15,16 7.37,15.26 6.06,13.95L4.64,15.36C6.08,16.8 7.97,17.71 10,17.93V20H6V22H16V20H12V17.94C16.55,17.43 20,13.58 20,9C20,6.62 19.05,4.33 17.36,2.64M11,3.5A5.5,5.5 0 0,0 5.5,9A5.5,5.5 0 0,0 11,14.5A5.5,5.5 0 0,0 16.5,9A5.5,5.5 0 0,0 11,3.5M11,5.5C12.94,5.5 14.5,7.07 14.5,9A3.5,3.5 0 0,1 11,12.5A3.5,3.5 0 0,1 7.5,9A3.5,3.5 0 0,1 11,5.5Z\";\r\nexport var mdiGmail = \"M20,18H18V9.25L12,13L6,9.25V18H4V6H5.2L12,10.25L18.8,6H20M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\";\r\nexport var mdiGnome = \"M18.42,2C14.26,2 13.5,7.93 15.82,7.93C18.16,7.93 22.58,2 18.42,2M12,2.73C11.92,2.73 11.85,2.73 11.78,2.74C9.44,3.04 10.26,7.12 11.5,7.19C12.72,7.27 14.04,2.73 12,2.73M7.93,4.34C7.81,4.34 7.67,4.37 7.53,4.43C5.65,5.21 7.24,8.41 8.3,8.2C9.27,8 9.39,4.3 7.93,4.34M4.93,6.85C4.77,6.84 4.59,6.9 4.41,7.03C2.9,8.07 4.91,10.58 5.8,10.19C6.57,9.85 6.08,6.89 4.93,6.85M13.29,8.77C10.1,8.8 6.03,10.42 5.32,13.59C4.53,17.11 8.56,22 12.76,22C14.83,22 17.21,20.13 17.66,17.77C18,15.97 13.65,16.69 13.81,17.88C14,19.31 12.76,20 11.55,19.1C7.69,16.16 17.93,14.7 17.25,10.69C17.03,9.39 15.34,8.76 13.29,8.77Z\";\r\nexport var mdiGoKart = \"M18,10H15.53L14.38,8.28L15.8,7.33L14.7,5.67L10.2,8.67L11.3,10.33L12.73,9.38L13.88,11.12L13,12H10.2L5.83,5.45L4.17,6.55L5.87,9.11C3.04,9.65 1,12.12 1,15V17H3A3,3 0 0,0 6,20A3,3 0 0,0 9,17H15A3,3 0 0,0 18,20A3,3 0 0,0 21,17H23V15A5,5 0 0,0 18,10M6,18.5A1.5,1.5 0 0,1 4.5,17A1.5,1.5 0 0,1 6,15.5A1.5,1.5 0 0,1 7.5,17A1.5,1.5 0 0,1 6,18.5M18,18.5A1.5,1.5 0 0,1 16.5,17A1.5,1.5 0 0,1 18,15.5A1.5,1.5 0 0,1 19.5,17A1.5,1.5 0 0,1 18,18.5Z\";\r\nexport var mdiGoKartTrack = \"M22,5.5A3.5,3.5 0 0,0 18.5,2A3.5,3.5 0 0,0 15,5.5V6A3,3 0 0,1 12,9C10,9 9,6 6,6A4,4 0 0,0 2,10V11H4V10A2,2 0 0,1 6,8C6.86,8 7.42,8.45 8.32,9.24C9.28,10.27 10.6,10.9 12,11A5,5 0 0,0 17,6V5.5A1.5,1.5 0 0,1 18.5,4A1.5,1.5 0 0,1 20,5.5C19.86,6.35 19.58,7.18 19.17,7.94C18.5,9.2 18.11,10.58 18,12C18.09,13.37 18.5,14.71 19.21,15.89C19.6,16.54 19.87,17.25 20,18A2,2 0 0,1 18,20A2,2 0 0,1 16,18A3.75,3.75 0 0,0 12.25,14.25A3.75,3.75 0 0,0 8.5,18V18.5A1.5,1.5 0 0,1 7,20A3,3 0 0,1 4,17V15H6V13H0V15H2V17A5,5 0 0,0 7,22A3.5,3.5 0 0,0 10.5,18.5V18A1.75,1.75 0 0,1 12.25,16.25A1.75,1.75 0 0,1 14,18A4,4 0 0,0 18,22A4,4 0 0,0 22,18C22,16 20,14 20,12C20,10 22,7.5 22,5.5Z\";\r\nexport var mdiGog = \"M4,3H20A2,2 0 0,1 22,5V19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19V5A2,2 0 0,1 4,3M10.46,5.54C9.95,5.54 9.54,5.95 9.54,6.46V9.54A0.92,0.92 0 0,0 10.46,10.46H13.54A0.92,0.92 0 0,0 14.46,9.54V6.46C14.46,5.95 14.05,5.54 13.54,5.54H10.46M11.08,6.77H12.92A0.31,0.31 0 0,1 13.23,7.08V8.92A0.31,0.31 0 0,1 12.92,9.23H11.08A0.31,0.31 0 0,1 10.77,8.92V7.08A0.31,0.31 0 0,1 11.08,6.77M4.92,5.54A0.92,0.92 0 0,0 4,6.46V9.54C4,10.05 4.41,10.46 4.92,10.46H7.08V9.23H5.54C5.37,9.23 5.23,9.09 5.23,8.92V7.08C5.23,6.91 5.37,6.77 5.54,6.77H7.38A0.31,0.31 0 0,1 7.69,7.08V10.77A0.31,0.31 0 0,1 7.38,11.08H4V12.31H8C8.5,12.31 8.92,11.89 8.92,11.38V6.46A0.92,0.92 0 0,0 8,5.54H4.92M16,5.54C15.5,5.54 15.08,5.95 15.08,6.46V9.54C15.08,10.05 15.5,10.46 16,10.46H18.15V9.23H16.62C16.45,9.23 16.31,9.09 16.31,8.92V7.08C16.31,6.91 16.45,6.77 16.62,6.77H18.46C18.63,6.77 18.77,6.91 18.77,7.08V10.77C18.77,10.94 18.63,11.08 18.46,11.08H15.08V12.31H19.08C19.59,12.31 20,11.89 20,11.38V6.46C20,5.95 19.59,5.54 19.08,5.54H16M9.85,13.54C9.34,13.54 8.92,13.95 8.92,14.46V17.54C8.92,18.05 9.34,18.46 9.85,18.46H12.92C13.43,18.46 13.85,18.05 13.85,17.54V14.46C13.85,13.95 13.43,13.54 12.92,13.54H9.85M10.46,14.77H12.31C12.5,14.77 12.62,14.91 12.62,15.08V16.92A0.31,0.31 0 0,1 12.31,17.23H10.46C10.29,17.23 10.15,17.09 10.15,16.92V15.08A0.31,0.31 0 0,1 10.46,14.77M4.92,13.54C4.41,13.54 4,13.95 4,14.46V17.54C4,18.05 4.41,18.46 4.92,18.46H8.31V17.23H5.54C5.37,17.23 5.23,17.09 5.23,16.92V15.08C5.23,14.91 5.37,14.77 5.54,14.77H8.31V13.54H4.92M15.38,13.54C14.87,13.54 14.46,13.95 14.46,14.46V18.46H15.69V15.08A0.31,0.31 0 0,1 16,14.77H16.62V18.46H17.85V14.77H18.77V18.46H20V13.54H15.38Z\";\r\nexport var mdiGold = \"M1 22L2.5 17H9.5L11 22H1M13 22L14.5 17H21.5L23 22H13M6 15L7.5 10H14.5L16 15H6M23 6.05L19.14 7.14L18.05 11L16.96 7.14L13.1 6.05L16.96 4.96L18.05 1.1L19.14 4.96L23 6.05Z\";\r\nexport var mdiGolf = \"M19.5,18A1.5,1.5 0 0,1 21,19.5A1.5,1.5 0 0,1 19.5,21A1.5,1.5 0 0,1 18,19.5A1.5,1.5 0 0,1 19.5,18M17,5.92L11,9V18.03C13.84,18.19 16,19 16,20C16,21.1 13.31,22 10,22C6.69,22 4,21.1 4,20C4,19.26 5.21,18.62 7,18.27V20H9V2L17,5.92Z\";\r\nexport var mdiGolfCart = \"M19.89 12.37L18.25 5H19V3H3V7H1V9H3V12.54A6 6 0 0 0 1 17V19H3A3 3 0 0 0 9 19H15A3 3 0 0 0 21 19H23V17A5 5 0 0 0 19.89 12.37M6 20.5A1.5 1.5 0 1 1 7.5 19A1.5 1.5 0 0 1 6 20.5M15.53 12L14.38 10.28L15.8 9.33L14.7 7.67L10.2 10.67L11.3 12.33L12.73 11.38L13.88 13.12L13 14H10.2L5 7V5H16.2L17.75 12M18 20.5A1.5 1.5 0 1 1 19.5 19A1.5 1.5 0 0 1 18 20.5Z\";\r\nexport var mdiGolfTee = \"M7 19V17H17V19H15C14.5 19 14 19.2 13.6 19.6S13 20.5 13 21V22H11V21C11 20.5 10.8 20 10.4 19.6S9.5 19 9 19H7M11 6C11 5.7 11.1 5.5 11.3 5.3S11.7 5 12 5 12.5 5.1 12.7 5.3 13 5.7 13 6 12.9 6.5 12.7 6.7 12.3 7 12 7 11.5 6.9 11.3 6.7 11 6.3 11 6M13 8C13 7.7 13.1 7.5 13.3 7.3S13.7 7 14 7 14.5 7.1 14.7 7.3 15 7.7 15 8 14.9 8.5 14.7 8.7 14.3 9 14 9 13.5 8.9 13.3 8.7 13 8.3 13 8M9 8C9 7.7 9.1 7.5 9.3 7.3S9.7 7 10 7 10.5 7.1 10.7 7.3 11 7.7 11 8 10.9 8.5 10.7 8.7 10.3 9 10 9 9.5 8.9 9.3 8.7 9 8.3 9 8M16.9 4.1C15.5 2.7 13.9 2.1 12 2.1S8.4 2.8 7.1 4.1 5 7.1 5 9 5.7 12.6 7 13.9 10 15.9 11.9 15.9 15.5 15.2 16.8 13.9 18.8 10.9 18.8 9 18.3 5.4 16.9 4.1M15.5 12.5C14.5 13.5 13.3 14 12 14S9.4 13.5 8.5 12.5 7 10.4 7 9 7.5 6.4 8.5 5.5 10.6 4 12 4 14.6 4.5 15.5 5.5 17 7.6 17 9 16.5 11.6 15.5 12.5Z\";\r\nexport var mdiGondola = \"M18,10H13V7.59L22.12,6.07L21.88,4.59L16.41,5.5C16.46,5.35 16.5,5.18 16.5,5A1.5,1.5 0 0,0 15,3.5A1.5,1.5 0 0,0 13.5,5C13.5,5.35 13.63,5.68 13.84,5.93L13,6.07V5H11V6.41L10.41,6.5C10.46,6.35 10.5,6.18 10.5,6A1.5,1.5 0 0,0 9,4.5A1.5,1.5 0 0,0 7.5,6C7.5,6.36 7.63,6.68 7.83,6.93L1.88,7.93L2.12,9.41L11,7.93V10H6C4.89,10 4,10.9 4,12V18A2,2 0 0,0 6,20H18A2,2 0 0,0 20,18V12A2,2 0 0,0 18,10M6,12H8.25V16H6V12M9.75,16V12H14.25V16H9.75M18,16H15.75V12H18V16Z\";\r\nexport var mdiGoodreads = \"M17,12.77C15.96,14.42 14.22,15.5 12.25,15.5C9.07,15.5 6.5,12.7 6.5,9.25C6.5,5.8 9.07,3 12.25,3C14.22,3 15.96,4.08 17,5.73V3H18V15.25C18,20.71 14.54,21 11.5,21C9,21 7.55,19.31 7.13,17H8.14C8.5,18.75 9.54,20 11.5,20C13.72,20 17,20.05 17,15.25V15.25L17,12.77M12.25,4C9.63,4 7.5,6.35 7.5,9.25C7.5,12.15 9.63,14.5 12.25,14.5C14.87,14.5 17,12.15 17,9.25C17,6.35 14.87,4 12.25,4Z\";\r\nexport var mdiGoogle = \"M21.35,11.1H12.18V13.83H18.69C18.36,17.64 15.19,19.27 12.19,19.27C8.36,19.27 5,16.25 5,12C5,7.9 8.2,4.73 12.2,4.73C15.29,4.73 17.1,6.7 17.1,6.7L19,4.72C19,4.72 16.56,2 12.1,2C6.42,2 2.03,6.8 2.03,12C2.03,17.05 6.16,22 12.25,22C17.6,22 21.5,18.33 21.5,12.91C21.5,11.76 21.35,11.1 21.35,11.1V11.1Z\";\r\nexport var mdiGoogleAds = \"M12.25 1.47C11.55 1.42 10.82 1.58 10.17 1.96C8.41 2.97 7.81 5.21 8.82 6.96L16.16 19.66C17.17 21.42 19.41 22 21.17 21C22.92 20 23.5 17.75 22.5 16L15.18 3.3C14.54 2.2 13.43 1.56 12.25 1.47M6.82 6.76L1.5 16A3.67 3.67 0 0 0 1 17.83A3.67 3.67 0 0 0 4.67 21.5A3.67 3.67 0 0 0 7.84 19.66V19.67L11 14.19C9.65 11.89 8.27 9.6 7.03 7.23C6.95 7.08 6.88 6.92 6.83 6.76ZL16.4 5Z\";\r\nexport var mdiGoogleAnalytics = \"M15.86 4.39V19.39C15.86 21.06 17 22 18.25 22C19.39 22 20.64 21.21 20.64 19.39V4.5C20.64 2.96 19.5 2 18.25 2S15.86 3.06 15.86 4.39M9.61 12V19.39C9.61 21.07 10.77 22 12 22C13.14 22 14.39 21.21 14.39 19.39V12.11C14.39 10.57 13.25 9.61 12 9.61S9.61 10.67 9.61 12M5.75 17.23C7.07 17.23 8.14 18.3 8.14 19.61C8.14 20.93 7.07 22 5.75 22S3.36 20.93 3.36 19.61C3.36 18.3 4.43 17.23 5.75 17.23Z\";\r\nexport var mdiGoogleAssistant = \"M7,2A6,6 0 0,0 1,8A6,6 0 0,0 7,14A6,6 0 0,0 13,8A6,6 0 0,0 7,2M21.5,6A1.5,1.5 0 0,0 20,7.5A1.5,1.5 0 0,0 21.5,9A1.5,1.5 0 0,0 23,7.5A1.5,1.5 0 0,0 21.5,6M17,8A3,3 0 0,0 14,11A3,3 0 0,0 17,14A3,3 0 0,0 20,11A3,3 0 0,0 17,8M17,15A3.5,3.5 0 0,0 13.5,18.5A3.5,3.5 0 0,0 17,22A3.5,3.5 0 0,0 20.5,18.5A3.5,3.5 0 0,0 17,15Z\";\r\nexport var mdiGoogleCardboard = \"M20.74,6H3.2C2.55,6 2,6.57 2,7.27V17.73C2,18.43 2.55,19 3.23,19H8C8.54,19 9,18.68 9.16,18.21L10.55,14.74C10.79,14.16 11.35,13.75 12,13.75C12.65,13.75 13.21,14.16 13.45,14.74L14.84,18.21C15.03,18.68 15.46,19 15.95,19H20.74C21.45,19 22,18.43 22,17.73V7.27C22,6.57 21.45,6 20.74,6M7.22,14.58C6,14.58 5,13.55 5,12.29C5,11 6,10 7.22,10C8.44,10 9.43,11 9.43,12.29C9.43,13.55 8.44,14.58 7.22,14.58M16.78,14.58C15.56,14.58 14.57,13.55 14.57,12.29C14.57,11.03 15.56,10 16.78,10C18,10 19,11.03 19,12.29C19,13.55 18,14.58 16.78,14.58Z\";\r\nexport var mdiGoogleChrome = \"M12,20L15.46,14H15.45C15.79,13.4 16,12.73 16,12C16,10.8 15.46,9.73 14.62,9H19.41C19.79,9.93 20,10.94 20,12A8,8 0 0,1 12,20M4,12C4,10.54 4.39,9.18 5.07,8L8.54,14H8.55C9.24,15.19 10.5,16 12,16C12.45,16 12.88,15.91 13.29,15.77L10.89,19.91C7,19.37 4,16.04 4,12M15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9A3,3 0 0,1 15,12M12,4C14.96,4 17.54,5.61 18.92,8H12C10.06,8 8.45,9.38 8.08,11.21L5.7,7.08C7.16,5.21 9.44,4 12,4M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiGoogleCircles = \"M16.66,15H17C18,15 19,14.8 19.87,14.46C19.17,18.73 15.47,22 11,22C6,22 2,17.97 2,13C2,8.53 5.27,4.83 9.54,4.13C9.2,5 9,6 9,7V7.34C6.68,8.16 5,10.38 5,13A6,6 0 0,0 11,19C13.62,19 15.84,17.32 16.66,15M17,10A3,3 0 0,0 20,7A3,3 0 0,0 17,4A3,3 0 0,0 14,7A3,3 0 0,0 17,10M17,1A6,6 0 0,1 23,7A6,6 0 0,1 17,13A6,6 0 0,1 11,7C11,3.68 13.69,1 17,1Z\";\r\nexport var mdiGoogleCirclesCommunities = \"M15,12C13.89,12 13,12.89 13,14A2,2 0 0,0 15,16A2,2 0 0,0 17,14C17,12.89 16.1,12 15,12M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M14,9C14,7.89 13.1,7 12,7C10.89,7 10,7.89 10,9A2,2 0 0,0 12,11A2,2 0 0,0 14,9M9,12A2,2 0 0,0 7,14A2,2 0 0,0 9,16A2,2 0 0,0 11,14C11,12.89 10.1,12 9,12Z\";\r\nexport var mdiGoogleCirclesExtended = \"M18,19C16.89,19 16,18.1 16,17C16,15.89 16.89,15 18,15A2,2 0 0,1 20,17A2,2 0 0,1 18,19M18,13A4,4 0 0,0 14,17A4,4 0 0,0 18,21A4,4 0 0,0 22,17A4,4 0 0,0 18,13M12,11.1A1.9,1.9 0 0,0 10.1,13A1.9,1.9 0 0,0 12,14.9A1.9,1.9 0 0,0 13.9,13A1.9,1.9 0 0,0 12,11.1M6,19C4.89,19 4,18.1 4,17C4,15.89 4.89,15 6,15A2,2 0 0,1 8,17A2,2 0 0,1 6,19M6,13A4,4 0 0,0 2,17A4,4 0 0,0 6,21A4,4 0 0,0 10,17A4,4 0 0,0 6,13M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8C10.89,8 10,7.1 10,6C10,4.89 10.89,4 12,4M12,10A4,4 0 0,0 16,6A4,4 0 0,0 12,2A4,4 0 0,0 8,6A4,4 0 0,0 12,10Z\";\r\nexport var mdiGoogleCirclesGroup = \"M5,10A2,2 0 0,0 3,12C3,13.11 3.9,14 5,14C6.11,14 7,13.11 7,12A2,2 0 0,0 5,10M5,16A4,4 0 0,1 1,12A4,4 0 0,1 5,8A4,4 0 0,1 9,12A4,4 0 0,1 5,16M10.5,11H14V8L18,12L14,16V13H10.5V11M5,6C4.55,6 4.11,6.05 3.69,6.14C5.63,3.05 9.08,1 13,1C19.08,1 24,5.92 24,12C24,18.08 19.08,23 13,23C9.08,23 5.63,20.95 3.69,17.86C4.11,17.95 4.55,18 5,18C5.8,18 6.56,17.84 7.25,17.56C8.71,19.07 10.74,20 13,20A8,8 0 0,0 21,12A8,8 0 0,0 13,4C10.74,4 8.71,4.93 7.25,6.44C6.56,6.16 5.8,6 5,6Z\";\r\nexport var mdiGoogleClassroom = \"M23,2H1A1,1 0 0,0 0,3V21A1,1 0 0,0 1,22H23A1,1 0 0,0 24,21V3A1,1 0 0,0 23,2M22,20H20V19H15V20H2V4H22V20M10.29,9.71A1.71,1.71 0 0,1 12,8C12.95,8 13.71,8.77 13.71,9.71C13.71,10.66 12.95,11.43 12,11.43C11.05,11.43 10.29,10.66 10.29,9.71M5.71,11.29C5.71,10.58 6.29,10 7,10A1.29,1.29 0 0,1 8.29,11.29C8.29,12 7.71,12.57 7,12.57C6.29,12.57 5.71,12 5.71,11.29M15.71,11.29A1.29,1.29 0 0,1 17,10A1.29,1.29 0 0,1 18.29,11.29C18.29,12 17.71,12.57 17,12.57C16.29,12.57 15.71,12 15.71,11.29M20,15.14V16H16L14,16H10L8,16H4V15.14C4,14.2 5.55,13.43 7,13.43C7.55,13.43 8.11,13.54 8.6,13.73C9.35,13.04 10.7,12.57 12,12.57C13.3,12.57 14.65,13.04 15.4,13.73C15.89,13.54 16.45,13.43 17,13.43C18.45,13.43 20,14.2 20,15.14Z\";\r\nexport var mdiGoogleCloud = \"M23 14.75C23 18.2 20.2 21 16.75 21H7.25C3.8 21 1 18.2 1 14.75C1 12.61 2.08 10.72 3.71 9.6C4.58 5.82 7.96 3 12 3C16.04 3 19.42 5.82 20.29 9.6C21.93 10.72 23 12.61 23 14.75M16.63 17C17.94 17 19 15.94 19 14.63C19 13.35 18 12.3 16.72 12.25L16.75 11.75C16.75 9.13 14.62 7 12 7C10.58 7 9.3 7.62 8.43 8.61C9.93 8.9 11.23 9.72 12.14 10.86L9.5 13.5C9.08 12.77 8.29 12.25 7.38 12.25C6.06 12.25 5 13.31 5 14.63C5 15.9 6 16.93 7.25 17V17H16.63Z\";\r\nexport var mdiGoogleController = \"M7.97,16L5,19C4.67,19.3 4.23,19.5 3.75,19.5A1.75,1.75 0 0,1 2,17.75V17.5L3,10.12C3.21,7.81 5.14,6 7.5,6H16.5C18.86,6 20.79,7.81 21,10.12L22,17.5V17.75A1.75,1.75 0 0,1 20.25,19.5C19.77,19.5 19.33,19.3 19,19L16.03,16H7.97M7,8V10H5V11H7V13H8V11H10V10H8V8H7M16.5,8A0.75,0.75 0 0,0 15.75,8.75A0.75,0.75 0 0,0 16.5,9.5A0.75,0.75 0 0,0 17.25,8.75A0.75,0.75 0 0,0 16.5,8M14.75,9.75A0.75,0.75 0 0,0 14,10.5A0.75,0.75 0 0,0 14.75,11.25A0.75,0.75 0 0,0 15.5,10.5A0.75,0.75 0 0,0 14.75,9.75M18.25,9.75A0.75,0.75 0 0,0 17.5,10.5A0.75,0.75 0 0,0 18.25,11.25A0.75,0.75 0 0,0 19,10.5A0.75,0.75 0 0,0 18.25,9.75M16.5,11.5A0.75,0.75 0 0,0 15.75,12.25A0.75,0.75 0 0,0 16.5,13A0.75,0.75 0 0,0 17.25,12.25A0.75,0.75 0 0,0 16.5,11.5Z\";\r\nexport var mdiGoogleControllerOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L12.73,16H7.97L5,19C4.67,19.3 4.23,19.5 3.75,19.5A1.75,1.75 0 0,1 2,17.75V17.5L3,10.12C3.1,9.09 3.53,8.17 4.19,7.46L2,5.27M5,10V11H7V13H8V11.27L6.73,10H5M16.5,6C18.86,6 20.79,7.81 21,10.12L22,17.5V17.75C22,18.41 21.64,19 21.1,19.28L7.82,6H16.5M16.5,8A0.75,0.75 0 0,0 15.75,8.75A0.75,0.75 0 0,0 16.5,9.5A0.75,0.75 0 0,0 17.25,8.75A0.75,0.75 0 0,0 16.5,8M14.75,9.75A0.75,0.75 0 0,0 14,10.5A0.75,0.75 0 0,0 14.75,11.25A0.75,0.75 0 0,0 15.5,10.5A0.75,0.75 0 0,0 14.75,9.75M18.25,9.75A0.75,0.75 0 0,0 17.5,10.5A0.75,0.75 0 0,0 18.25,11.25A0.75,0.75 0 0,0 19,10.5A0.75,0.75 0 0,0 18.25,9.75M16.5,11.5A0.75,0.75 0 0,0 15.75,12.25A0.75,0.75 0 0,0 16.5,13A0.75,0.75 0 0,0 17.25,12.25A0.75,0.75 0 0,0 16.5,11.5Z\";\r\nexport var mdiGoogleDownasaur = \"M13 2V3H12V9H11V10H9V11H8V12H7V13H5V12H4V11H3V9H2V15H3V16H4V17H5V18H6V22H8V21H7V20H8V19H9V18H10V19H11V22H13V21H12V17H13V16H14V15H15V12H16V13H17V11H15V9H20V8H17V7H22V3H21V2M14 3H15V4H14Z\";\r\nexport var mdiGoogleDrive = \"M7.71,3.5L1.15,15L4.58,21L11.13,9.5M9.73,15L6.3,21H19.42L22.85,15M22.28,14L15.42,2H8.58L8.57,2L15.43,14H22.28Z\";\r\nexport var mdiGoogleEarth = \"M12,12.14C11.09,10.77 10.14,9.78 9.14,9.19C8.14,8.59 7.27,8.38 6.5,8.55C5.77,8.73 5.14,9.14 4.64,9.8C4.2,10.39 4,11.06 4,11.81V12C4,12.78 4.11,13.58 4.36,14.39C4.45,14.64 4.5,14.64 4.55,14.39C4.67,13.77 4.96,13.31 5.41,13.03C5.87,12.75 6.47,12.76 7.22,13.05C7.97,13.35 8.7,14 9.42,14.95C10.7,16.67 12.2,17.72 13.92,18.09C16.14,18.41 17.81,17.7 18.94,16C19.25,15.39 19.5,14.86 19.64,14.39C19.73,14.08 19.69,14.05 19.5,14.3C19.03,14.92 18.4,15.33 17.6,15.5C16.8,15.7 15.89,15.5 14.86,15C13.83,14.43 12.88,13.5 12,12.14M16.97,8.16C15.41,5.81 13.72,4.5 11.91,4.17C10.47,3.95 8.91,4.45 7.22,5.67C7,5.83 6.9,5.91 6.91,5.93C6.93,5.95 7.06,5.89 7.31,5.77C9.81,4.55 12.22,5.83 14.53,9.61C15.03,10.45 15.55,11.11 16.1,11.58C16.65,12.05 17.16,12.33 17.65,12.42C18.13,12.5 18.57,12.5 18.96,12.38C19.35,12.25 19.7,12.05 20,11.77C20,11.17 19.91,10.5 19.69,9.8C19.19,9.92 18.74,9.88 18.35,9.68C17.96,9.5 17.5,8.97 16.97,8.16M12,2C14.75,2 17.1,3 19.05,4.95C21,6.9 22,9.25 22,12C22,14.75 21,17.1 19.05,19.05C17.1,21 14.75,22 12,22C9.25,22 6.9,21 4.95,19.05C3,17.1 2,14.75 2,12C2,9.25 3,6.9 4.95,4.95C6.9,3 9.25,2 12,2Z\";\r\nexport var mdiGoogleFit = \"M17,4A5,5 0 0,1 22,9C22,10.38 21.44,11.63 20.54,12.54L12,21.07L3.46,12.54C2.56,11.63 2,10.38 2,9A5,5 0 0,1 7,4C8.38,4 9.63,4.56 10.54,5.46L12,6.93L13.46,5.46C14.37,4.56 15.62,4 17,4M15.59,7.59L9.17,14L12,16.83L18.41,10.41C18.78,10.05 19,9.55 19,9A2,2 0 0,0 17,7C16.45,7 15.95,7.22 15.59,7.59M8.41,7.59C8.05,7.22 7.55,7 7,7A2,2 0 0,0 5,9C5,9.55 5.22,10.05 5.59,10.41L7.05,11.88L9.88,9.05L8.41,7.59Z\";\r\nexport var mdiGoogleGlass = \"M20 2H4C2.9 2 2 2.9 2 4V20C2 21.1 2.9 22 4 22H20C21.1 22 22 21.1 22 20V4C22 2.9 21.1 2 20 2M16.75 18H15.25V8.9L6.72 18H4.66L15.45 6.5C15.66 6.26 16 6.19 16.27 6.3C16.56 6.42 16.75 6.69 16.75 7V18Z\";\r\nexport var mdiGoogleHangouts = \"M15,11L14,13H12.5L13.5,11H12V8H15M11,11L10,13H8.5L9.5,11H8V8H11M11.5,2A8.5,8.5 0 0,0 3,10.5A8.5,8.5 0 0,0 11.5,19H12V22.5C16.86,20.15 20,15 20,10.5C20,5.8 16.19,2 11.5,2Z\";\r\nexport var mdiGoogleHome = \"M8.06,7.78C7.5,7.78 7.17,7.73 7.08,7.64L6.66,13.73C7.19,14.05 7.88,14.3 8.72,14.5C9.56,14.71 10.78,14.77 12.38,14.67C13.97,14.58 15.63,14.23 17.34,13.64L16.55,4.22C15.67,5.09 14.38,5.91 12.66,6.66C11.13,7.31 9.81,7.69 8.72,7.78H8.06M7.97,5.34C7.28,5.94 7,6.34 7.13,6.56C7.22,6.78 7.7,6.84 8.58,6.75C9.67,6.66 10.91,6.31 12.28,5.72C13.22,5.31 14.03,4.88 14.72,4.41C15.41,3.94 15.88,3.55 16.13,3.23C16.38,2.92 16.47,2.7 16.41,2.58C16.34,2.42 16.03,2.34 15.47,2.34C14.34,2.34 12.94,2.7 11.25,3.42C9.81,4.05 8.72,4.69 7.97,5.34M17.34,2.2C17.41,2.33 17.44,2.47 17.44,2.63L18.61,17C18.61,18.73 18,20.09 16.83,21.07C15.64,22.05 14.03,22.55 12,22.55C10,22.55 8.4,22.04 7.2,21C6,20 5.39,18.64 5.39,16.92L6.09,6.47C6.09,6.22 6.2,5.94 6.42,5.63C6.64,5.31 6.84,5.06 7.03,4.88L7.36,4.59C8.33,3.78 9.5,3.08 10.88,2.5C11.81,2.08 12.73,1.77 13.62,1.57C14.5,1.37 15.3,1.3 16,1.38C16.71,1.46 17.16,1.73 17.34,2.2Z\";\r\nexport var mdiGoogleKeep = \"M4 2H20C21.11 2 22 2.9 22 4V17.33L17.33 22H4C2.9 22 2 21.11 2 20V4C2 2.9 2.9 2 4 2M17 17V20.25L20.25 17H17M10 19H14V18H15V13C16.21 12.09 17 10.64 17 9C17 6.24 14.76 4 12 4S7 6.24 7 9C7 10.64 7.79 12.09 9 13V18H10V19M14 17H10V15H14V17M12 5C14.21 5 16 6.79 16 9C16 10.5 15.2 11.77 14 12.46V14H10V12.46C8.8 11.77 8 10.5 8 9C8 6.79 9.79 5 12 5Z\";\r\nexport var mdiGoogleLens = \"M6,2H18A4,4 0 0,1 22,6V12H20V6A2,2 0 0,0 18,4H6A2,2 0 0,0 4,6V18A2,2 0 0,0 6,20H12V22H6A4,4 0 0,1 2,18V6A4,4 0 0,1 6,2M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M18,16A2,2 0 0,1 20,18A2,2 0 0,1 18,20A2,2 0 0,1 16,18A2,2 0 0,1 18,16Z\";\r\nexport var mdiGoogleMaps = \"M18.27 6C19.28 8.17 19.05 10.73 17.94 12.81C17 14.5 15.65 15.93 14.5 17.5C14 18.2 13.5 18.95 13.13 19.76C13 20.03 12.91 20.31 12.81 20.59C12.71 20.87 12.62 21.15 12.53 21.43C12.44 21.69 12.33 22 12 22H12C11.61 22 11.5 21.56 11.42 21.26C11.18 20.53 10.94 19.83 10.57 19.16C10.15 18.37 9.62 17.64 9.08 16.93L18.27 6M9.12 8.42L5.82 12.34C6.43 13.63 7.34 14.73 8.21 15.83C8.42 16.08 8.63 16.34 8.83 16.61L13 11.67L12.96 11.68C11.5 12.18 9.88 11.44 9.3 10C9.22 9.83 9.16 9.63 9.12 9.43C9.07 9.06 9.06 8.79 9.12 8.43L9.12 8.42M6.58 4.62L6.57 4.63C4.95 6.68 4.67 9.53 5.64 11.94L9.63 7.2L9.58 7.15L6.58 4.62M14.22 2.36L11 6.17L11.04 6.16C12.38 5.7 13.88 6.28 14.56 7.5C14.71 7.78 14.83 8.08 14.87 8.38C14.93 8.76 14.95 9.03 14.88 9.4L14.88 9.41L18.08 5.61C17.24 4.09 15.87 2.93 14.23 2.37L14.22 2.36M9.89 6.89L13.8 2.24L13.76 2.23C13.18 2.08 12.59 2 12 2C10.03 2 8.17 2.85 6.85 4.31L6.83 4.32L9.89 6.89Z\";\r\nexport var mdiGoogleMyBusiness = \"M22 8.5C22 9.87 20.88 11 19.5 11S17 9.87 17 8.5C17 9.87 15.88 11 14.5 11C13.12 11 12 9.87 12 8.5C12 9.87 10.88 11 9.5 11S7 9.87 7 8.5C7 9.87 5.88 11 4.5 11S2 9.87 2 8.5L3.39 3.08C3.39 3.08 3.68 2 4.7 2H19.3C20.32 2 20.61 3.08 20.61 3.08L22 8.5M21 12.2V20C21 21.1 20.1 22 19 22H5C3.9 22 3 21.1 3 20V12.2C3.46 12.39 3.97 12.5 4.5 12.5C5.45 12.5 6.32 12.17 7 11.62C7.69 12.17 8.56 12.5 9.5 12.5C10.45 12.5 11.32 12.17 12 11.62C12.69 12.17 13.56 12.5 14.5 12.5C15.45 12.5 16.32 12.17 17 11.62C17.68 12.17 18.56 12.5 19.5 12.5C20.03 12.5 20.54 12.39 21 12.2M19 17.33C19 17.13 19 16.92 18.95 16.7L18.92 16.54H15.95V17.71H17.76C17.7 17.93 17.62 18.15 17.45 18.33C17.12 18.66 16.67 18.84 16.19 18.84C15.69 18.84 15.2 18.63 14.84 18.28C14.15 17.57 14.15 16.42 14.86 15.7C15.55 15 16.69 15 17.41 15.67L17.55 15.8L18.39 14.95L18.23 14.81C17.67 14.29 16.93 14 16.15 14H16.14C15.33 14 14.57 14.31 14 14.87C13.41 15.45 13.08 16.21 13.08 17C13.08 17.8 13.39 18.54 13.96 19.09H13.96C14.54 19.66 15.35 20 16.18 20H16.2C17 20 17.71 19.71 18.23 19.2C18.7 18.72 19 18 19 17.33Z\";\r\nexport var mdiGoogleNearby = \"M21.36,10.46L13.54,2.64C12.69,1.79 11.31,1.79 10.46,2.64L2.64,10.46C1.79,11.31 1.79,12.69 2.64,13.54L10.46,21.36C11.31,22.21 12.69,22.21 13.54,21.36L21.36,13.54C22.21,12.69 22.21,11.31 21.36,10.46M12,19L5,12L12,5L19,12L12,19M16.5,12L12,16.5L7.5,12L12,7.5L16.5,12Z\";\r\nexport var mdiGooglePlay = \"M3,20.5V3.5C3,2.91 3.34,2.39 3.84,2.15L13.69,12L3.84,21.85C3.34,21.6 3,21.09 3,20.5M16.81,15.12L6.05,21.34L14.54,12.85L16.81,15.12M20.16,10.81C20.5,11.08 20.75,11.5 20.75,12C20.75,12.5 20.53,12.9 20.18,13.18L17.89,14.5L15.39,12L17.89,9.5L20.16,10.81M6.05,2.66L16.81,8.88L14.54,11.15L6.05,2.66Z\";\r\nexport var mdiGooglePlus = \"M23,11H21V9H19V11H17V13H19V15H21V13H23M8,11V13.4H12C11.8,14.4 10.8,16.4 8,16.4C5.6,16.4 3.7,14.4 3.7,12C3.7,9.6 5.6,7.6 8,7.6C9.4,7.6 10.3,8.2 10.8,8.7L12.7,6.9C11.5,5.7 9.9,5 8,5C4.1,5 1,8.1 1,12C1,15.9 4.1,19 8,19C12,19 14.7,16.2 14.7,12.2C14.7,11.7 14.7,11.4 14.6,11H8Z\";\r\nexport var mdiGooglePodcast = \"M17.68,7.22V8.62C17.68,9.3 17.13,9.86 16.43,9.86C15.74,9.86 15.18,9.3 15.18,8.62V7.22A1.25,1.25 0 0,1 16.43,5.97C17.13,5.97 17.68,6.53 17.68,7.22M13.25,8.36V15.63C13.25,16.32 12.69,16.88 12,16.88C11.31,16.88 10.75,16.32 10.75,15.63V8.36C10.75,7.68 11.31,7.11 12,7.11C12.69,7.11 13.25,7.68 13.25,8.36M22,11.3V12.7C22,13.38 21.44,13.94 20.75,13.94C20.06,13.94 19.5,13.38 19.5,12.7V11.3C19.5,10.61 20.06,10.06 20.75,10.06C21.44,10.06 22,10.61 22,11.3M4.5,11.3V12.7C4.5,13.38 3.94,13.94 3.25,13.94C2.55,13.94 2,13.38 2,12.7V11.3C2,10.61 2.55,10.06 3.25,10.06C3.94,10.06 4.5,10.61 4.5,11.3M8.82,15.38V16.77C8.82,17.45 8.26,18 7.57,18C6.88,18 6.32,17.45 6.32,16.77V15.38C6.32,14.68 6.88,14.13 7.57,14.13A1.25,1.25 0 0,1 8.82,15.38M13.25,19.36V20.75A1.25,1.25 0 0,1 12,22A1.25,1.25 0 0,1 10.75,20.75V19.36A1.25,1.25 0 0,1 12,18.11A1.25,1.25 0 0,1 13.25,19.36M13.25,3.25V4.64A1.25,1.25 0 0,1 12,5.89A1.25,1.25 0 0,1 10.75,4.64V3.25C10.75,2.55 11.31,2 12,2A1.25,1.25 0 0,1 13.25,3.25M17.68,12.34V16.77C17.68,17.46 17.13,18 16.43,18C15.74,18 15.18,17.46 15.18,16.77V12.34C15.18,11.64 15.74,11.09 16.43,11.09C17.13,11.09 17.68,11.64 17.68,12.34M8.82,7.22V11.65C8.82,12.35 8.26,12.9 7.57,12.9A1.25,1.25 0 0,1 6.32,11.65V7.22A1.25,1.25 0 0,1 7.57,5.97A1.25,1.25 0 0,1 8.82,7.22Z\";\r\nexport var mdiGoogleSpreadsheet = \"M19,11V9H11V5H9V9H5V11H9V19H11V11H19M19,3C19.5,3 20,3.2 20.39,3.61C20.8,4 21,4.5 21,5V19C21,19.5 20.8,20 20.39,20.39C20,20.8 19.5,21 19,21H5C4.5,21 4,20.8 3.61,20.39C3.2,20 3,19.5 3,19V5C3,4.5 3.2,4 3.61,3.61C4,3.2 4.5,3 5,3H19Z\";\r\nexport var mdiGoogleStreetView = \"M11.95,9.27C13.96,9.27 15.59,7.64 15.59,5.63C15.59,3.63 13.96,2 11.95,2C9.94,2 8.32,3.63 8.32,5.63C8.32,7.64 9.94,9.27 11.95,9.27M9.36,12.97C9.36,12.97 8.27,15.94 7.96,16.5C7.85,16.71 7.87,16.77 7.6,16.77C7.33,16.77 6.91,16.5 6.91,16.5C6.91,16.5 6.71,16.37 6.79,16.14C7.03,15.4 8.12,11.08 8.35,10.25C8.6,9.36 9.28,9.39 9.28,9.39H9.93L12.03,13.04L14.14,9.39H14.92C14.92,9.39 15.23,9.43 15.46,9.7C15.7,9.97 15.75,10.44 15.75,10.44L17.14,15.84C17.14,15.84 17.24,16.22 17.21,16.33C17.17,16.5 17.08,16.5 17.08,16.5C17.08,16.5 16.69,16.62 16.47,16.69C16.07,16.82 16,16.44 16,16.44L14.7,13.04L14.55,22H12.6L12.27,16.89C12.27,16.89 12.21,16.76 12.03,16.76C11.86,16.76 11.8,16.89 11.8,16.89L11.45,22H9.5L9.37,12.97H9.36Z\";\r\nexport var mdiGoogleTranslate = \"M20,5H10.88L10,2H4A2,2 0 0,0 2,4V17A2,2 0 0,0 4,19H11L12,22H20A2,2 0 0,0 22,20V7A2,2 0 0,0 20,5M7.17,14.59A4.09,4.09 0 0,1 3.08,10.5A4.09,4.09 0 0,1 7.17,6.41C8.21,6.41 9.16,6.78 9.91,7.5L10,7.54L8.75,8.72L8.69,8.67C8.4,8.4 7.91,8.08 7.17,8.08C5.86,8.08 4.79,9.17 4.79,10.5C4.79,11.83 5.86,12.92 7.17,12.92C8.54,12.92 9.13,12.05 9.29,11.46H7.08V9.91H11.03L11.04,10C11.08,10.19 11.09,10.38 11.09,10.59C11.09,12.94 9.5,14.59 7.17,14.59M13.2,12.88C13.53,13.5 13.94,14.06 14.39,14.58L13.85,15.11L13.2,12.88M13.97,12.12H13L12.67,11.08H16.66C16.66,11.08 16.32,12.39 15.1,13.82C14.58,13.2 14.21,12.59 13.97,12.12M21,20A1,1 0 0,1 20,21H13L15,19L14.19,16.23L15.11,15.31L17.79,18L18.5,17.27L15.81,14.59C16.71,13.56 17.41,12.34 17.73,11.08H19V10.04H15.36V9H14.32V10.04H12.36L11.18,6H20A1,1 0 0,1 21,7V20Z\";\r\nexport var mdiGradientHorizontal = \"M9 13V11H11V13M11 15V13H13V15M11 11V9H13V11M9 9V7H11V9M9 17V15H11V17M3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3H5C3.9 3 3 3.9 3 5M18 15V17H16V15M18 11V13H16V11M18 7V9H16V7M11 5V7H13V5H15V7H13V9H15V11H13V13H15V15H13V17H15V19H13V17H11V19H5V5Z\";\r\nexport var mdiGradientVertical = \"M11,9H13V11H11V9M9,11H11V13H9V11M13,11H15V13H13V11M15,9H17V11H15V9M7,9H9V11H7V9M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M9,18H7V16H9V18M13,18H11V16H13V18M17,18H15V16H17V18M19,11H17V13H19V15H17V13H15V15H13V13H11V15H9V13H7V15H5V13H7V11H5V5H19V11Z\";\r\nexport var mdiGrain = \"M10,12A2,2 0 0,0 8,14A2,2 0 0,0 10,16A2,2 0 0,0 12,14A2,2 0 0,0 10,12M6,8A2,2 0 0,0 4,10A2,2 0 0,0 6,12A2,2 0 0,0 8,10A2,2 0 0,0 6,8M6,16A2,2 0 0,0 4,18A2,2 0 0,0 6,20A2,2 0 0,0 8,18A2,2 0 0,0 6,16M18,8A2,2 0 0,0 20,6A2,2 0 0,0 18,4A2,2 0 0,0 16,6A2,2 0 0,0 18,8M14,16A2,2 0 0,0 12,18A2,2 0 0,0 14,20A2,2 0 0,0 16,18A2,2 0 0,0 14,16M18,12A2,2 0 0,0 16,14A2,2 0 0,0 18,16A2,2 0 0,0 20,14A2,2 0 0,0 18,12M14,8A2,2 0 0,0 12,10A2,2 0 0,0 14,12A2,2 0 0,0 16,10A2,2 0 0,0 14,8M10,4A2,2 0 0,0 8,6A2,2 0 0,0 10,8A2,2 0 0,0 12,6A2,2 0 0,0 10,4Z\";\r\nexport var mdiGraph = \"M19.5 17C19.37 17 19.24 17 19.11 17.04L17.5 13.79C17.95 13.34 18.25 12.71 18.25 12C18.25 10.62 17.13 9.5 15.75 9.5C15.62 9.5 15.5 9.5 15.36 9.54L13.73 6.29C14.21 5.84 14.5 5.21 14.5 4.5C14.5 3.12 13.38 2 12 2S9.5 3.12 9.5 4.5C9.5 5.21 9.79 5.84 10.26 6.29L8.64 9.54C8.5 9.5 8.38 9.5 8.25 9.5C6.87 9.5 5.75 10.62 5.75 12C5.75 12.71 6.05 13.34 6.5 13.79L4.89 17.04C4.76 17 4.63 17 4.5 17C3.12 17 2 18.12 2 19.5C2 20.88 3.12 22 4.5 22S7 20.88 7 19.5C7 18.8 6.71 18.16 6.24 17.71L7.86 14.46C8 14.5 8.12 14.5 8.25 14.5C8.38 14.5 8.5 14.5 8.64 14.46L10.27 17.71C9.8 18.16 9.5 18.8 9.5 19.5C9.5 20.88 10.62 22 12 22S14.5 20.88 14.5 19.5C14.5 18.12 13.38 17 12 17C11.87 17 11.74 17 11.61 17.04L10 13.79C10.46 13.34 10.75 12.71 10.75 12S10.46 10.66 10 10.21L11.61 6.96C11.74 7 11.87 7 12 7S12.26 7 12.39 6.96L14 10.21C13.55 10.66 13.25 11.3 13.25 12C13.25 13.38 14.37 14.5 15.75 14.5C15.88 14.5 16 14.5 16.14 14.46L17.77 17.71C17.3 18.16 17 18.8 17 19.5C17 20.88 18.12 22 19.5 22S22 20.88 22 19.5C22 18.12 20.88 17 19.5 17Z\";\r\nexport var mdiGraphOutline = \"M19.5 17C19.36 17 19.24 17 19.11 17.04L17.5 13.8C17.95 13.35 18.25 12.71 18.25 12C18.25 10.62 17.13 9.5 15.75 9.5C15.61 9.5 15.5 9.5 15.35 9.54L13.74 6.3C14.21 5.84 14.5 5.21 14.5 4.5C14.5 3.12 13.38 2 12 2S9.5 3.12 9.5 4.5C9.5 5.2 9.79 5.84 10.26 6.29L8.65 9.54C8.5 9.5 8.39 9.5 8.25 9.5C6.87 9.5 5.75 10.62 5.75 12C5.75 12.71 6.04 13.34 6.5 13.79L4.89 17.04C4.76 17 4.64 17 4.5 17C3.12 17 2 18.12 2 19.5C2 20.88 3.12 22 4.5 22S7 20.88 7 19.5C7 18.8 6.71 18.16 6.24 17.71L7.86 14.46C8 14.5 8.12 14.5 8.25 14.5C8.38 14.5 8.5 14.5 8.63 14.46L10.26 17.71C9.79 18.16 9.5 18.8 9.5 19.5C9.5 20.88 10.62 22 12 22S14.5 20.88 14.5 19.5C14.5 18.12 13.38 17 12 17C11.87 17 11.74 17 11.61 17.04L10 13.8C10.45 13.35 10.75 12.71 10.75 12C10.75 11.3 10.46 10.67 10 10.21L11.61 6.96C11.74 7 11.87 7 12 7C12.13 7 12.26 7 12.39 6.96L14 10.21C13.54 10.66 13.25 11.3 13.25 12C13.25 13.38 14.37 14.5 15.75 14.5C15.88 14.5 16 14.5 16.13 14.46L17.76 17.71C17.29 18.16 17 18.8 17 19.5C17 20.88 18.12 22 19.5 22S22 20.88 22 19.5C22 18.12 20.88 17 19.5 17M4.5 20.5C3.95 20.5 3.5 20.05 3.5 19.5S3.95 18.5 4.5 18.5 5.5 18.95 5.5 19.5 5.05 20.5 4.5 20.5M13 19.5C13 20.05 12.55 20.5 12 20.5S11 20.05 11 19.5 11.45 18.5 12 18.5 13 18.95 13 19.5M7.25 12C7.25 11.45 7.7 11 8.25 11S9.25 11.45 9.25 12 8.8 13 8.25 13 7.25 12.55 7.25 12M11 4.5C11 3.95 11.45 3.5 12 3.5S13 3.95 13 4.5 12.55 5.5 12 5.5 11 5.05 11 4.5M14.75 12C14.75 11.45 15.2 11 15.75 11S16.75 11.45 16.75 12 16.3 13 15.75 13 14.75 12.55 14.75 12M19.5 20.5C18.95 20.5 18.5 20.05 18.5 19.5S18.95 18.5 19.5 18.5 20.5 18.95 20.5 19.5 20.05 20.5 19.5 20.5Z\";\r\nexport var mdiGraphql = \"M12,5.37L11.56,5.31L6,14.9C6.24,15.11 6.4,15.38 6.47,15.68H17.53C17.6,15.38 17.76,15.11 18,14.9L12.44,5.31L12,5.37M6.6,16.53L10.88,19.06C11.17,18.79 11.57,18.63 12,18.63C12.43,18.63 12.83,18.79 13.12,19.06L17.4,16.53H6.6M12,22A1.68,1.68 0 0,1 10.32,20.32L10.41,19.76L6.11,17.21C5.8,17.57 5.35,17.79 4.84,17.79A1.68,1.68 0 0,1 3.16,16.11C3.16,15.32 3.69,14.66 4.42,14.47V9.36C3.59,9.25 2.95,8.54 2.95,7.68A1.68,1.68 0 0,1 4.63,6C5.18,6 5.66,6.26 5.97,6.66L10.38,4.13L10.32,3.68C10.32,2.75 11.07,2 12,2C12.93,2 13.68,2.75 13.68,3.68L13.62,4.13L18.03,6.66C18.34,6.26 18.82,6 19.37,6A1.68,1.68 0 0,1 21.05,7.68C21.05,8.54 20.41,9.25 19.58,9.36V14.47C20.31,14.66 20.84,15.32 20.84,16.11A1.68,1.68 0 0,1 19.16,17.79C18.65,17.79 18.2,17.57 17.89,17.21L13.59,19.76L13.68,20.32A1.68,1.68 0 0,1 12,22M10.8,4.86L6.3,7.44L6.32,7.68C6.32,8.39 5.88,9 5.26,9.25L5.29,14.5L10.8,4.86M13.2,4.86L18.71,14.5L18.74,9.25C18.12,9 17.68,8.39 17.68,7.68L17.7,7.44L13.2,4.86Z\";\r\nexport var mdiGrass = \"M12 20H2V18H7.75C7 15.19 4.81 13 2 12.26C2.64 12.1 3.31 12 4 12C8.42 12 12 15.58 12 20M22 12.26C21.36 12.1 20.69 12 20 12C17.07 12 14.5 13.58 13.12 15.93C13.41 16.59 13.65 17.28 13.79 18C13.92 18.65 14 19.32 14 20H22V18H16.24C17 15.19 19.19 13 22 12.26M15.64 11C16.42 8.93 17.87 7.18 19.73 6C15.44 6.16 12 9.67 12 14V14C12.95 12.75 14.2 11.72 15.64 11M11.42 8.85C10.58 6.66 8.88 4.89 6.7 4C8.14 5.86 9 8.18 9 10.71C9 10.92 8.97 11.12 8.96 11.32C9.39 11.56 9.79 11.84 10.18 12.14C10.39 10.96 10.83 9.85 11.42 8.85Z\";\r\nexport var mdiGraveStone = \"M10,2H14C17.31,2 19,4.69 19,8V18.66C16.88,17.63 15.07,17 12,17C8.93,17 7.12,17.63 5,18.66V8C5,4.69 6.69,2 10,2M8,8V9.5H16V8H8M9,12V13.5H15V12H9M3,22V21.31C5.66,19.62 13.23,15.84 21,21.25V22H3Z\";\r\nexport var mdiGreasePencil = \"M18.62,1.5C18.11,1.5 17.6,1.69 17.21,2.09L10.75,8.55L14.95,12.74L21.41,6.29C22.2,5.5 22.2,4.24 21.41,3.46L20.04,2.09C19.65,1.69 19.14,1.5 18.62,1.5M9.8,9.5L3.23,16.07L3.93,16.77C3.4,17.24 2.89,17.78 2.38,18.29C1.6,19.08 1.6,20.34 2.38,21.12C3.16,21.9 4.42,21.9 5.21,21.12C5.72,20.63 6.25,20.08 6.73,19.58L7.43,20.27L14,13.7\";\r\nexport var mdiGreaterThan = \"M5.5,4.14L4.5,5.86L15,12L4.5,18.14L5.5,19.86L19,12L5.5,4.14Z\";\r\nexport var mdiGreaterThanOrEqual = \"M6.5,2.27L20,10.14L6.5,18L5.5,16.27L16.03,10.14L5.5,4L6.5,2.27M20,20V22H5V20H20Z\";\r\nexport var mdiGreenhouse = \"M12 3L4 9V21H20V9L12 3M10 10H14V19H10V10M16 10H18V13H16V10M15.33 8H8.67L12 5.5L15.33 8M8 10V13H6V10H8M6 15H8V19H6V15M16 19V15H18V19H16Z\";\r\nexport var mdiGrid = \"M10,4V8H14V4H10M16,4V8H20V4H16M16,10V14H20V10H16M16,16V20H20V16H16M14,20V16H10V20H14M8,20V16H4V20H8M8,14V10H4V14H8M8,8V4H4V8H8M10,14H14V10H10V14M4,2H20A2,2 0 0,1 22,4V20A2,2 0 0,1 20,22H4C2.92,22 2,21.1 2,20V4A2,2 0 0,1 4,2Z\";\r\nexport var mdiGridLarge = \"M4,2H20A2,2 0 0,1 22,4V20A2,2 0 0,1 20,22H4C2.92,22 2,21.1 2,20V4A2,2 0 0,1 4,2M4,4V11H11V4H4M4,20H11V13H4V20M20,20V13H13V20H20M20,4H13V11H20V4Z\";\r\nexport var mdiGridOff = \"M0,2.77L1.28,1.5L22.5,22.72L21.23,24L19.23,22H4C2.92,22 2,21.1 2,20V4.77L0,2.77M10,4V7.68L8,5.68V4H6.32L4.32,2H20A2,2 0 0,1 22,4V19.7L20,17.7V16H18.32L16.32,14H20V10H16V13.68L14,11.68V10H12.32L10.32,8H14V4H10M16,4V8H20V4H16M16,20H17.23L16,18.77V20M4,8H5.23L4,6.77V8M10,14H11.23L10,12.77V14M14,20V16.77L13.23,16H10V20H14M8,20V16H4V20H8M8,14V10.77L7.23,10H4V14H8Z\";\r\nexport var mdiGrill = \"M8.06,2C7.88,3.17 8.17,4.16 8.95,4.97C9.45,5.47 9.61,6.14 9.42,7H10.41C10.53,6.45 10.55,6 10.45,5.55C10.36,5.13 10.05,4.63 9.5,4.03C9.05,3.47 8.89,2.8 9.05,2H8.06M10.55,2C10.36,3.17 10.66,4.16 11.44,4.97C11.94,5.47 12.09,6.14 11.91,7H12.89C13,6.45 13.03,6 12.94,5.55C12.84,5.13 12.53,4.63 12,4.03C11.53,3.47 11.38,2.8 11.53,2H10.55M13.08,2C12.89,3.17 13.19,4.16 13.97,4.97C14.47,5.47 14.61,6.14 14.39,7H15.42C15.55,6.45 15.56,6 15.47,5.55C15.38,5.13 15.06,4.63 14.53,4.03C14.06,3.47 13.91,2.8 14.06,2H13.08M5,8C5,9.42 5.39,10.7 6.14,11.84C6.87,12.96 7.91,13.85 9.14,14.39L5.16,20.44C5.06,20.56 5,20.75 5,21C5,21.41 5.16,21.69 5.44,21.84C5.56,21.94 5.75,22 6,22C6.41,22 6.69,21.84 6.84,21.56L7.83,19.97H14.2C14.41,20.55 14.79,21.05 15.28,21.42C15.78,21.8 16.36,22 17,22C17.83,22 18.53,21.69 19.13,21.09C19.72,20.5 20,19.8 20,19C20,18.17 19.72,17.47 19.13,16.88C18.53,16.28 17.83,16 17,16C16.36,16 15.78,16.17 15.28,16.55C14.78,16.92 14.42,17.41 14.2,18H9.14L11.11,14.95C11.27,15 11.56,15 12,15C12.44,15 12.73,15 12.89,14.95L13.88,16.5C14.29,15.96 14.84,15.54 15.47,15.28L14.91,14.39C16.03,13.89 17,13 17.79,11.77C18.59,10.5 19,9.27 19,8H5M17,18C17.3,18 17.53,18.09 17.72,18.28C17.91,18.47 18,18.72 18,19C18,19.27 17.91,19.5 17.72,19.71C17.54,19.91 17.28,20 17,20C16.74,20 16.5,19.91 16.29,19.71C16.09,19.5 16,19.26 16,19C16,18.7 16.09,18.47 16.29,18.28C16.5,18.09 16.73,18 17,18Z\";\r\nexport var mdiGrillOutline = \"M17 22A3 3 0 1 0 14.18 18H9.14L11.13 14.94A6.36 6.36 0 0 0 12.87 14.94L13.89 16.5C14.31 16 14.85 15.56 15.5 15.3L14.89 14.37A7 7 0 0 0 19 8H5A7 7 0 0 0 9.12 14.37L5.17 20.45A1 1 0 0 0 6.84 21.54L7.84 20H14.18A3 3 0 0 0 17 22M17 18A1 1 0 0 1 18 19C18 19.55 17.55 20 17 20S16 19.55 16 19A1 1 0 0 1 17 18M7.42 10H16.58A5 5 0 0 1 7.42 10M9.41 7H10.41C10.56 5.85 10.64 5.36 9.5 4.04C9.1 3.54 8.84 3.27 9.06 2H8.07A3.14 3.14 0 0 0 8.96 4.96C9.18 5.2 9.75 5.63 9.41 7M11.89 7H12.89C13.04 5.85 13.12 5.36 12 4.04C11.58 3.54 11.32 3.26 11.54 2H10.55A3.14 3.14 0 0 0 11.44 4.96C11.67 5.2 12.24 5.63 11.89 7M14.41 7H15.41C15.56 5.85 15.64 5.36 14.5 4.04C14.1 3.54 13.84 3.27 14.06 2H13.07A3.14 3.14 0 0 0 13.96 4.96C14.18 5.2 14.75 5.63 14.41 7Z\";\r\nexport var mdiGroup = \"M1,1V5H2V19H1V23H5V22H19V23H23V19H22V5H23V1H19V2H5V1M5,4H19V5H20V19H19V20H5V19H4V5H5M6,6V14H9V18H18V9H14V6M8,8H12V12H8M14,11H16V16H11V14H14\";\r\nexport var mdiGuitarAcoustic = \"M19.59,3H22V5H20.41L16.17,9.24C15.8,8.68 15.32,8.2 14.76,7.83L19.59,3M12,8A4,4 0 0,1 16,12C16,13.82 14.77,15.42 13,15.87V16A5,5 0 0,1 8,21A5,5 0 0,1 3,16A5,5 0 0,1 8,11H8.13C8.58,9.24 10.17,8 12,8M12,10.5A1.5,1.5 0 0,0 10.5,12A1.5,1.5 0 0,0 12,13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 12,10.5M6.94,14.24L6.23,14.94L9.06,17.77L9.77,17.06L6.94,14.24Z\";\r\nexport var mdiGuitarElectric = \"M19.59,3H22V5H20.41L15.12,10.29L13.71,8.9L19.59,3M12,9C12.26,9 12.5,9.1 12.71,9.3L14.71,11.3C14.89,11.5 15,11.73 15,12L14.9,12.4L10.9,20.4C10.71,20.75 10.36,20.93 10,20.93C9.65,20.93 9.29,20.75 9.11,20.4L7.25,16.7L3.55,14.9C3.18,14.7 3,14.35 3,14C3,13.65 3.18,13.3 3.55,13.1L11.55,9.1C11.69,9 11.84,9 12,9M9.35,11.82L8.65,12.5L11.5,15.35L12.18,14.65L9.35,11.82M7.94,13.23L7.23,13.94L10.06,16.77L10.77,16.06L7.94,13.23Z\";\r\nexport var mdiGuitarPick = \"M19,4.1C18.1,3.3 17,2.8 15.8,2.5C15.5,2.4 13.6,2 12.2,2C12.2,2 12.1,2 12,2C12,2 11.9,2 11.8,2C10.4,2 8.4,2.4 8.1,2.5C7,2.8 5.9,3.3 5,4.1C3,5.9 3,8.7 4,11C5,13.5 6.1,15.7 7.6,17.9C8.8,19.6 10.1,22 12,22C13.9,22 15.2,19.6 16.5,17.9C18,15.8 19.1,13.5 20.1,11C21,8.7 21,5.9 19,4.1Z\";\r\nexport var mdiGuitarPickOutline = \"M19,4.1C18.1,3.3 17,2.8 15.8,2.5C15.5,2.4 13.6,2 12.2,2C12.2,2 12.1,2 12,2C12,2 11.9,2 11.8,2C10.4,2 8.4,2.4 8.1,2.5C7,2.8 5.9,3.3 5,4.1C3,5.9 3,8.7 4,11C5,13.5 6.1,15.7 7.6,17.9C8.8,19.6 10.1,22 12,22C13.9,22 15.2,19.6 16.5,17.9C18,15.8 19.1,13.5 20.1,11C21,8.7 21,5.9 19,4.1M18.2,10.2C17.1,12.9 16.1,14.9 14.8,16.7C14.6,16.9 14.5,17.2 14.3,17.4C13.8,18.2 12.6,20 12,20C12,20 12,20 12,20C11.3,20 10.2,18.3 9.6,17.4C9.4,17.2 9.3,16.9 9.1,16.7C7.9,14.9 6.8,12.9 5.7,10.2C5.5,9.5 4.7,7 6.3,5.5C6.8,5 7.6,4.7 8.6,4.4C9,4.4 10.7,4 11.8,4C11.8,4 12.1,4 12.1,4C13.2,4 14.9,4.3 15.3,4.4C16.3,4.7 17.1,5 17.6,5.5C19.3,7 18.5,9.5 18.2,10.2Z\";\r\nexport var mdiGuyFawkesMask = \"M21,13A9,9 0 0,1 12,22A9,9 0 0,1 3,13L3.03,4.43C5.68,2.88 8.76,2 12.05,2C15.3,2 18.36,2.87 21,4.38V13M13,19.93C16.39,19.44 19,16.5 19,13V5.59C16.9,4.57 14.54,4 12.05,4C9.5,4 7.08,4.6 4.94,5.66L5,13C5,16.5 7.63,19.44 11,19.93V18H13V19.93M11,16H8L6,13L9,14H10L11,13H13L14,14H15L18,13L16,16H13L12,15L11,16M6,9.03C6.64,8.4 7.5,8.05 8.5,8.05C9.45,8.05 10.34,8.4 11,9.03C10.34,9.65 9.45,10 8.5,10C7.5,10 6.64,9.65 6,9.03M13,9.03C13.64,8.4 14.5,8.05 15.5,8.05C16.45,8.05 17.34,8.4 18,9.03C17.34,9.65 16.45,10 15.5,10C14.5,10 13.64,9.65 13,9.03Z\";\r\nexport var mdiHail = \"M4,16H7V22H4V16M19,2.39C18.92,3.86 18.55,5.13 17.86,6.21C17.17,7.29 16.22,8 15,8.39V22H13V16H11V22H9V10.08C8.72,10.17 8.5,10.28 8.39,10.41C7.45,11.16 7,12.19 7,13.5V14H5V13.5C5,11.53 5.72,9.94 7.13,8.72C8.53,7.56 10.16,7 12,7C13.41,7 14.56,6.64 15.47,5.95C16.5,5.11 17,3.95 17,2.5V2H19V2.39M12,2A2,2 0 0,1 14,4A2,2 0 0,1 12,6A2,2 0 0,1 10,4A2,2 0 0,1 12,2Z\";\r\nexport var mdiHairDryer = \"M22 9A4.32 4.32 0 0 1 19.78 8.45A3.4 3.4 0 0 0 18 8V7A4.32 4.32 0 0 1 20.22 7.55A3.4 3.4 0 0 0 22 8M22 6A3.4 3.4 0 0 1 20.22 5.55A4.32 4.32 0 0 0 18 5V6A3.4 3.4 0 0 1 19.78 6.45A4.32 4.32 0 0 0 22 7M22 10A3.4 3.4 0 0 1 20.22 9.55A4.32 4.32 0 0 0 18 9V10A3.4 3.4 0 0 1 19.78 10.45A4.32 4.32 0 0 0 22 11M10 12.73A70.39 70.39 0 0 0 17 11V4S10.5 2 7.5 2A5.5 5.5 0 0 0 6.12 12.82L7 19H8A3 3 0 0 0 9.46 21.33A3.15 3.15 0 0 1 11 24H12A4.12 4.12 0 0 0 10.09 20.55C9.39 20 9 19.63 9 19H10M7.5 10A2.5 2.5 0 1 1 10 7.5A2.5 2.5 0 0 1 7.5 10Z\";\r\nexport var mdiHairDryerOutline = \"M10 12.73A70.39 70.39 0 0 0 17 11V4S10.5 2 7.5 2A5.5 5.5 0 0 0 6.12 12.82L7 19H8A3 3 0 0 0 9.46 21.33A3.15 3.15 0 0 1 11 24H12A4.12 4.12 0 0 0 10.09 20.55C9.39 20 9 19.63 9 19H10M4 7.5A3.5 3.5 0 0 1 7.5 4A37.08 37.08 0 0 1 15 5.5V9.5A37.08 37.08 0 0 1 7.5 11A3.5 3.5 0 0 1 4 7.5M22 9A4.32 4.32 0 0 1 19.78 8.45A3.4 3.4 0 0 0 18 8V7A4.32 4.32 0 0 1 20.22 7.55A3.4 3.4 0 0 0 22 8M22 6A3.4 3.4 0 0 1 20.22 5.55A4.32 4.32 0 0 0 18 5V6A3.4 3.4 0 0 1 19.78 6.45A4.32 4.32 0 0 0 22 7M22 10A3.4 3.4 0 0 1 20.22 9.55A4.32 4.32 0 0 0 18 9V10A3.4 3.4 0 0 1 19.78 10.45A4.32 4.32 0 0 0 22 11M9 7.5A1.5 1.5 0 1 1 7.5 6A1.5 1.5 0 0 1 9 7.5Z\";\r\nexport var mdiHalloween = \"M6.5,6C7.47,6 8.37,6.5 9.11,7.38C9.66,6.79 10.31,6.36 11,6.15V4A2,2 0 0,1 13,2H15V4H13V6.15C13.69,6.36 14.34,6.79 14.89,7.38C15.63,6.5 16.53,6 17.5,6C20,6 22,9.36 22,13.5C22,17.64 20,21 17.5,21C16.53,21 15.63,20.5 14.89,19.62C14.08,20.5 13.08,21 12,21C10.92,21 9.92,20.5 9.11,19.62C8.37,20.5 7.47,21 6.5,21C4,21 2,17.64 2,13.5C2,9.36 4,6 6.5,6M9,10L7.75,12.25H10.25L9,10M15,10L13.75,12.25H16.25L15,10M8,17H10L11,16L12,17H14L15,16L16,17L17.5,14L13.92,14.62L13,16L12,15H10L9,16L8,15L6,14L8,17Z\";\r\nexport var mdiHamburger = \"M22 13C22 14.11 21.11 15 20 15H4C2.9 15 2 14.11 2 13S2.9 11 4 11H13L15.5 13L18 11H20C21.11 11 22 11.9 22 13M12 3C3 3 3 9 3 9H21C21 9 21 3 12 3M3 18C3 19.66 4.34 21 6 21H18C19.66 21 21 19.66 21 18V17H3V18Z\";\r\nexport var mdiHamburgerCheck = \"M21 9H3C3 9 3 3 12 3S21 9 21 9M13.35 17H3V18C3 19.66 4.34 21 6 21H13.35C13.13 20.37 13 19.7 13 19C13 18.3 13.13 17.63 13.35 17M21.86 13.73C21.95 13.5 22 13.26 22 13C22 11.9 21.11 11 20 11H11L8.5 13L6 11H4C2.9 11 2 11.9 2 13S2.9 15 4 15H14.54C15.64 13.78 17.23 13 19 13C20.04 13 21 13.26 21.86 13.73M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\r\nexport var mdiHamburgerMinus = \"M21 9H3C3 9 3 3 12 3S21 9 21 9M13.35 17H3V18C3 19.66 4.34 21 6 21H13.35C13.13 20.37 13 19.7 13 19C13 18.3 13.13 17.63 13.35 17M21.86 13.73C21.95 13.5 22 13.26 22 13C22 11.9 21.11 11 20 11H11L8.5 13L6 11H4C2.9 11 2 11.9 2 13S2.9 15 4 15H14.54C15.64 13.78 17.23 13 19 13C20.04 13 21 13.26 21.86 13.73M15 18V20H23V18H15Z\";\r\nexport var mdiHamburgerOff = \"M20 11C21.11 11 22 11.9 22 13S21.11 15 20 15H18.2L14.2 11H20M20.42 19.77L20.42 19.76L17.66 17H17.65L15.65 15H15.66L11.66 11H11.66L9.66 9H9.66L2.39 1.73L1.11 3L4.12 6C3 7.5 3 9 3 9H7.11L9.11 11H4C2.9 11 2 11.9 2 13S2.9 15 4 15H13.11L15.11 17H3V18C3 19.66 4.34 21 6 21H18C18.33 21 18.65 20.93 18.94 20.83L20.84 22.73L22.11 21.46L20.42 19.77M21 9C21 9 21 3 12 3C9.88 3 8.28 3.34 7.05 3.85L12.2 9H21Z\";\r\nexport var mdiHamburgerPlus = \"M21 9H3C3 9 3 3 12 3S21 9 21 9M13.35 17H3V18C3 19.66 4.34 21 6 21H13.35C13.13 20.37 13 19.7 13 19C13 18.3 13.13 17.63 13.35 17M21.86 13.73C21.95 13.5 22 13.26 22 13C22 11.9 21.11 11 20 11H11L8.5 13L6 11H4C2.9 11 2 11.9 2 13S2.9 15 4 15H14.54C15.64 13.78 17.23 13 19 13C20.04 13 21 13.26 21.86 13.73M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiHamburgerRemove = \"M21 9H3C3 9 3 3 12 3S21 9 21 9M13.35 17H3V18C3 19.66 4.34 21 6 21H13.35C13.13 20.37 13 19.7 13 19C13 18.3 13.13 17.63 13.35 17M21.86 13.73C21.95 13.5 22 13.26 22 13C22 11.9 21.11 11 20 11H11L8.5 13L6 11H4C2.9 11 2 11.9 2 13S2.9 15 4 15H14.54C15.64 13.78 17.23 13 19 13C20.04 13 21 13.26 21.86 13.73M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiHammer = \"M2 19.63L13.43 8.2L12.72 7.5L14.14 6.07L12 3.89C13.2 2.7 15.09 2.7 16.27 3.89L19.87 7.5L18.45 8.91H21.29L22 9.62L18.45 13.21L17.74 12.5V9.62L16.27 11.04L15.56 10.33L4.13 21.76L2 19.63Z\";\r\nexport var mdiHammerScrewdriver = \"M16.06 13.09L21.69 18.68L18.37 21.96L12.78 16.37V15.45L15.14 13.09H16.06M16.97 10.56L16 9.6L11.21 14.4V16.37L5.58 22L2.3 18.68L7.89 13.09H9.86L10.64 12.31L6.8 8.46H5.5L2.69 5.62L5.31 3L8.11 5.8V7.11L12 10.95L14.66 8.29L13.7 7.28L15 5.97H12.34L11.69 5.32L15 2L15.66 2.66V5.32L16.97 4L20.25 7.28C21.34 8.38 21.34 10.17 20.25 11.26L18.28 9.25L16.97 10.56Z\";\r\nexport var mdiHammerWrench = \"M13.78 15.3L19.78 21.3L21.89 19.14L15.89 13.14L13.78 15.3M17.5 10.1C17.11 10.1 16.69 10.05 16.36 9.91L4.97 21.25L2.86 19.14L10.27 11.74L8.5 9.96L7.78 10.66L6.33 9.25V12.11L5.63 12.81L2.11 9.25L2.81 8.55H5.62L4.22 7.14L7.78 3.58C8.95 2.41 10.83 2.41 12 3.58L9.89 5.74L11.3 7.14L10.59 7.85L12.38 9.63L14.2 7.75C14.06 7.42 14 7 14 6.63C14 4.66 15.56 3.11 17.5 3.11C18.09 3.11 18.61 3.25 19.08 3.53L16.41 6.2L17.91 7.7L20.58 5.03C20.86 5.5 21 6 21 6.63C21 8.55 19.45 10.1 17.5 10.1Z\";\r\nexport var mdiHandBackLeft = \"M3 16V5.75C3 5.06 3.56 4.5 4.25 4.5S5.5 5.06 5.5 5.75V12H6.5V2.75C6.5 2.06 7.06 1.5 7.75 1.5C8.44 1.5 9 2.06 9 2.75V12H10V1.25C10 .56 10.56 0 11.25 0S12.5 .56 12.5 1.25V12H13.5V3.25C13.5 2.56 14.06 2 14.75 2S16 2.56 16 3.25V15H16.75L18.16 11.47C18.38 10.92 18.84 10.5 19.4 10.31L20.19 10.05C21 9.79 21.74 10.58 21.43 11.37L18.4 19C17.19 22 14.26 24 11 24C6.58 24 3 20.42 3 16Z\";\r\nexport var mdiHandBackLeftOff = \"M22.11 21.46L2.39 1.73L1.11 3L3.21 5.1C3.09 5.29 3 5.5 3 5.75V16C3 20.42 6.58 24 11 24C13.93 24 16.58 22.39 17.97 19.86L20.84 22.73L22.11 21.46M5.5 12V7.39L6.5 8.39V12H5.5M10 12H9V10.89L10 11.89V12M16 12.8L13.5 10.3V3.25C13.5 2.56 14.06 2 14.75 2S16 2.56 16 3.25V12.8M19.5 16.28L17.16 13.96L18.16 11.47C18.38 10.92 18.84 10.5 19.4 10.31L20.19 10.05C21 9.79 21.74 10.58 21.43 11.37L19.5 16.28M9 5.8L6.5 3.3V2.75C6.5 2.06 7.06 1.5 7.75 1.5S9 2.06 9 2.75V5.8M12.5 9.3L10 6.8V1.25C10 .56 10.56 0 11.25 0S12.5 .56 12.5 1.25V9.3Z\";\r\nexport var mdiHandBackLeftOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L3.56 5.45C3.21 5.87 3 6.41 3 7V16C3 20.42 6.58 24 11 24C13.94 24 16.62 22.45 18.12 20L20.84 22.73L22.11 21.46M11 22C7.69 22 5 19.31 5 16V7C5 6.97 5 6.94 5 6.91L6 7.89V12H8V9.89L9 10.89V12H10.11L16.65 18.54C15.57 20.64 13.41 22 11 22M8 4.8L6.21 3C6.59 2.12 7.47 1.5 8.5 1.5C8.73 1.5 8.96 1.53 9.17 1.59C9.54 .66 10.44 0 11.5 0C12.73 0 13.75 .89 13.96 2.06C14.13 2 14.31 2 14.5 2C15.88 2 17 3.12 17 4.5V10.39C17.34 10.08 17.76 9.85 18.22 9.73L19 9.5C19.82 9.29 20.69 9.61 21.18 10.35C21.56 10.92 21.58 11.66 21.33 12.3L19.67 16.47L18.13 14.93L19.5 11.45L19 11.59C18.5 11.71 18.15 12.05 18 12.5L17.34 14.14L15 11.8V4.5C15 4.22 14.78 4 14.5 4S14 4.22 14 4.5V10.8L12 8.8V2.5C12 2.22 11.78 2 11.5 2S11 2.22 11 2.5V7.8L9 5.8V4C9 3.72 8.78 3.5 8.5 3.5S8 3.72 8 4V4.8Z\";\r\nexport var mdiHandBackLeftOutline = \"M3 16C3 20.42 6.58 24 11 24C14.43 24 17.5 21.91 18.77 18.73L21.33 12.3C21.58 11.66 21.56 10.92 21.18 10.35C20.69 9.61 19.82 9.29 19 9.5L18.22 9.73C17.76 9.85 17.34 10.08 17 10.39V4.5C17 3.12 15.88 2 14.5 2C14.31 2 14.13 2 13.96 2.06C13.75 .89 12.73 0 11.5 0C10.44 0 9.54 .66 9.17 1.59C8.96 1.53 8.73 1.5 8.5 1.5C7.12 1.5 6 2.62 6 4V4.55C5.84 4.5 5.67 4.5 5.5 4.5C4.12 4.5 3 5.62 3 7V16M5 7C5 6.72 5.22 6.5 5.5 6.5S6 6.72 6 7V12H8V4C8 3.72 8.22 3.5 8.5 3.5S9 3.72 9 4V12H11V2.5C11 2.22 11.22 2 11.5 2S12 2.22 12 2.5V12H14V4.5C14 4.22 14.22 4 14.5 4S15 4.22 15 4.5V15H17L18 12.5C18.15 12.05 18.5 11.71 19 11.59L19.5 11.45L16.91 18C15.95 20.41 13.61 22 11 22C7.69 22 5 19.31 5 16V7Z\";\r\nexport var mdiHandBackRight = \"M13 24C9.74 24 6.81 22 5.6 19L2.57 11.37C2.26 10.58 3 9.79 3.81 10.05L4.6 10.31C5.16 10.5 5.62 10.92 5.84 11.47L7.25 15H8V3.25C8 2.56 8.56 2 9.25 2S10.5 2.56 10.5 3.25V12H11.5V1.25C11.5 .56 12.06 0 12.75 0S14 .56 14 1.25V12H15V2.75C15 2.06 15.56 1.5 16.25 1.5C16.94 1.5 17.5 2.06 17.5 2.75V12H18.5V5.75C18.5 5.06 19.06 4.5 19.75 4.5S21 5.06 21 5.75V16C21 20.42 17.42 24 13 24Z\";\r\nexport var mdiHandBackRightOff = \"M20.84 22.73L19.17 21.06C17.7 22.85 15.5 24 13 24C9.74 24 6.81 22 5.6 19L2.57 11.37C2.26 10.58 3 9.79 3.81 10.05L4.6 10.31C5.16 10.5 5.62 10.92 5.84 11.47L7.25 15H8V9.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M14 1.25C14 .56 13.44 0 12.75 0S11.5 .56 11.5 1.25V8.3L14 10.8V1.25M21 16V5.75C21 5.06 20.44 4.5 19.75 4.5S18.5 5.06 18.5 5.75V12H17.5V2.75C17.5 2.06 16.94 1.5 16.25 1.5S15 2.06 15 2.75V11.8L20.83 17.63C20.94 17.11 21 16.56 21 16M10.5 3.25C10.5 2.56 9.94 2 9.25 2S8 2.56 8 3.25V4.8L10.5 7.3V3.25Z\";\r\nexport var mdiHandBackRightOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L7 8.89V10.39C6.66 10.08 6.24 9.85 5.78 9.73L5 9.5C4.18 9.29 3.31 9.61 2.82 10.35C2.44 10.92 2.42 11.66 2.67 12.3L5.23 18.73C6.5 21.91 9.57 24 13 24C15.5 24 17.7 22.85 19.17 21.06L20.84 22.73L22.11 21.46M13 22C10.39 22 8.05 20.41 7.09 18L4.5 11.45L5 11.59C5.5 11.71 5.85 12.05 6 12.5L7 15H9V10.89L17.75 19.64C16.66 21.07 14.94 22 13 22M9 5.8L7.09 3.89C7.36 2.8 8.33 2 9.5 2C9.69 2 9.87 2 10.04 2.06C10.25 .89 11.27 0 12.5 0C13.56 0 14.46 .66 14.83 1.59C15.04 1.53 15.27 1.5 15.5 1.5C16.88 1.5 18 2.62 18 4V4.55C18.16 4.5 18.33 4.5 18.5 4.5C19.88 4.5 21 5.62 21 7V16C21 16.56 20.94 17.11 20.83 17.63L19 15.8V7C19 6.72 18.78 6.5 18.5 6.5S18 6.72 18 7V12H16V4C16 3.72 15.78 3.5 15.5 3.5S15 3.72 15 4V11.8L13 9.8V2.5C13 2.22 12.78 2 12.5 2S12 2.22 12 2.5V8.8L10 6.8V4.5C10 4.22 9.78 4 9.5 4S9 4.22 9 4.5V5.8Z\";\r\nexport var mdiHandBackRightOutline = \"M21 7C21 5.62 19.88 4.5 18.5 4.5C18.33 4.5 18.16 4.5 18 4.55V4C18 2.62 16.88 1.5 15.5 1.5C15.27 1.5 15.04 1.53 14.83 1.59C14.46 .66 13.56 0 12.5 0C11.27 0 10.25 .89 10.04 2.06C9.87 2 9.69 2 9.5 2C8.12 2 7 3.12 7 4.5V10.39C6.66 10.08 6.24 9.85 5.78 9.73L5 9.5C4.18 9.29 3.31 9.61 2.82 10.35C2.44 10.92 2.42 11.66 2.67 12.3L5.23 18.73C6.5 21.91 9.57 24 13 24C17.42 24 21 20.42 21 16V7M19 16C19 19.31 16.31 22 13 22C10.39 22 8.05 20.41 7.09 18L4.5 11.45L5 11.59C5.5 11.71 5.85 12.05 6 12.5L7 15H9V4.5C9 4.22 9.22 4 9.5 4S10 4.22 10 4.5V12H12V2.5C12 2.22 12.22 2 12.5 2S13 2.22 13 2.5V12H15V4C15 3.72 15.22 3.5 15.5 3.5S16 3.72 16 4V12H18V7C18 6.72 18.22 6.5 18.5 6.5S19 6.72 19 7V16Z\";\r\nexport var mdiHandFrontLeft = \"M3 9.25V15.75C3 20.31 6.69 24 11.25 24S19.5 20.31 19.5 15.75V5.75C19.5 5.06 18.94 4.5 18.25 4.5S17 5.06 17 5.75V12H16V2.75C16 2.06 15.44 1.5 14.75 1.5S13.5 2.06 13.5 2.75V11H12.5V1.25C12.5 .56 11.94 0 11.25 0S10 .56 10 1.25V11H9V3.25C9 2.56 8.44 2 7.75 2C7.06 2 6.5 2.56 6.5 3.25V14.03C8.47 14.28 10 15.96 10 18H9C9 16.35 7.65 15 6 15H5.5V9.25C5.5 8.56 4.94 8 4.25 8S3 8.56 3 9.25Z\";\r\nexport var mdiHandFrontLeftOutline = \"M3 10.5V15.5C3 20.19 6.81 24 11.5 24S20 20.19 20 15.5V7C20 5.62 18.88 4.5 17.5 4.5C17.33 4.5 17.16 4.5 17 4.55V4C17 2.62 15.88 1.5 14.5 1.5C14.27 1.5 14.04 1.53 13.83 1.59C13.46 .66 12.56 0 11.5 0C10.27 0 9.25 .89 9.04 2.06C8.87 2 8.69 2 8.5 2C7.12 2 6 3.12 6 4.5V8.05C5.84 8 5.67 8 5.5 8C4.12 8 3 9.12 3 10.5M5 10.5C5 10.22 5.22 10 5.5 10S6 10.22 6 10.5V15C7.66 15 9 16.34 9 18H11C11 15.95 9.77 14.19 8 13.42V4.5C8 4.22 8.22 4 8.5 4S9 4.22 9 4.5V11H11V2.5C11 2.22 11.22 2 11.5 2S12 2.22 12 2.5V11H14V4C14 3.72 14.22 3.5 14.5 3.5S15 3.72 15 4V12H17V7C17 6.72 17.22 6.5 17.5 6.5S18 6.72 18 7V15.5C18 19.09 15.09 22 11.5 22S5 19.09 5 15.5V10.5Z\";\r\nexport var mdiHandFrontRight = \"M19.75 8C19.06 8 18.5 8.56 18.5 9.25V15H18C16.35 15 15 16.35 15 18H14C14 15.96 15.53 14.28 17.5 14.03V3.25C17.5 2.56 16.94 2 16.25 2C15.56 2 15 2.56 15 3.25V11H14V1.25C14 .56 13.44 0 12.75 0S11.5 .56 11.5 1.25V11H10.5V2.75C10.5 2.06 9.94 1.5 9.25 1.5S8 2.06 8 2.75V12H7V5.75C7 5.06 6.44 4.5 5.75 4.5S4.5 5.06 4.5 5.75V15.75C4.5 20.31 8.19 24 12.75 24S21 20.31 21 15.75V9.25C21 8.56 20.44 8 19.75 8Z\";\r\nexport var mdiHandFrontRightOutline = \"M18.5 8C18.33 8 18.16 8 18 8.05V4.5C18 3.12 16.88 2 15.5 2C15.31 2 15.13 2 14.96 2.06C14.75 .89 13.73 0 12.5 0C11.44 0 10.54 .66 10.17 1.59C9.96 1.53 9.73 1.5 9.5 1.5C8.12 1.5 7 2.62 7 4V4.55C6.84 4.5 6.67 4.5 6.5 4.5C5.12 4.5 4 5.62 4 7V15.5C4 20.19 7.81 24 12.5 24S21 20.19 21 15.5V10.5C21 9.12 19.88 8 18.5 8M19 15.5C19 19.09 16.09 22 12.5 22S6 19.09 6 15.5V7C6 6.72 6.22 6.5 6.5 6.5S7 6.72 7 7V12H9V4C9 3.72 9.22 3.5 9.5 3.5S10 3.72 10 4V11H12V2.5C12 2.22 12.22 2 12.5 2S13 2.22 13 2.5V11H15V4.5C15 4.22 15.22 4 15.5 4S16 4.22 16 4.5V13.42C14.23 14.19 13 15.95 13 18H15C15 16.34 16.34 15 18 15V10.5C18 10.22 18.22 10 18.5 10S19 10.22 19 10.5V15.5Z\";\r\nexport var mdiHandHeart = \"M20 17Q20.86 17 21.45 17.6T22.03 19L14 22L7 20V11H8.95L16.22 13.69Q17 14 17 14.81 17 15.28 16.66 15.63T15.8 16H13L11.25 15.33L10.92 16.27L13 17H20M16 3.23Q17.06 2 18.7 2 20.06 2 21 3T22 5.3Q22 6.33 21 7.76T19.03 10.15 16 13Q13.92 11.11 12.94 10.15T10.97 7.76 10 5.3Q10 3.94 10.97 3T13.31 2Q14.91 2 16 3.23M.984 11H5V22H.984V11Z\";\r\nexport var mdiHandHeartOutline = \"M16 3.23C16.71 2.41 17.61 2 18.7 2C19.61 2 20.37 2.33 21 3C21.63 3.67 21.96 4.43 22 5.3C22 6 21.67 6.81 21 7.76S19.68 9.5 19.03 10.15C18.38 10.79 17.37 11.74 16 13C14.61 11.74 13.59 10.79 12.94 10.15S11.63 8.71 10.97 7.76C10.31 6.81 10 6 10 5.3C10 4.39 10.32 3.63 10.97 3C11.62 2.37 12.4 2.04 13.31 2C14.38 2 15.27 2.41 16 3.23M22 19V20L14 22.5L7 20.56V22H1V11H8.97L15.13 13.3C16.25 13.72 17 14.8 17 16H19C20.66 16 22 17.34 22 19M5 20V13H3V20H5M19.9 18.57C19.74 18.24 19.39 18 19 18H13.65C13.11 18 12.58 17.92 12.07 17.75L9.69 16.96L10.32 15.06L12.7 15.85C13 15.95 15 16 15 16C15 15.63 14.77 15.3 14.43 15.17L8.61 13H7V18.5L13.97 20.41L19.9 18.57Z\";\r\nexport var mdiHandOkay = \"M13.3,19.26L18.96,13.61L21.08,15.73L15.42,21.38L13.3,19.26M16.5,11.13L13.4,8.05C13.27,7.92 13.13,7.83 13,7.76L11.88,3.47C11.74,2.93 11.2,2.61 10.66,2.75C10.13,2.88 9.81,3.43 9.94,3.96L11,8.03V8.03L8.67,3.19C8.44,2.69 7.84,2.5 7.34,2.71C6.84,2.95 6.63,3.55 6.87,4.05L8.56,7.59L5.19,4.25C4.8,3.86 4.16,3.86 3.77,4.25C3.38,4.65 3.39,5.28 3.78,5.67L7.5,9.37L6.8,9.64L5.72,10.07L3.81,11.39C3.81,11.39 3,12.44 2.93,12.89C2.85,13.34 3.72,15.6 3.72,15.6H3.73C3.89,15.94 4.23,16.18 4.63,16.18A1,1 0 0,0 5.63,15.18C5.63,15.08 5.6,15 5.57,14.91L5.59,14.9L5,13.17L6.23,12.19C6.7,12.21 7.71,12.29 8.2,12.32C10.93,14.77 8.35,15.73 8.35,15.73L4.89,16.79L4.72,16.93C4.5,17.13 4.41,17.4 4.42,17.68L4.44,18.75L10.87,18.25C11.25,18.26 11.61,18.12 11.89,17.85L16.5,13.25C17.03,12.71 17.05,11.7 16.5,11.13Z\";\r\nexport var mdiHandPeace = \"M7,19H15V22H7V19M16.15,12V12L12.97,10.34C12.82,10.34 12.69,10.4 12.6,10.5L12.3,10.81L12.89,13.23L11.91,13.47L10.72,8.5L9.25,9.18L10.29,13.47L9.32,13.7L8.32,9.59L7.85,9.8C7.35,10 7,10.53 7,11.14V15.5C7,16.3 7.73,17 8.5,17H15C15.39,17 15.74,16.84 16,16.57L16.5,16.16C16.5,16.16 17,15.78 17,15.36V13.7C17,13.7 17,12.56 16.15,12M16.94,1C16.4,0.91 15.87,1.25 15.76,1.8L14.69,7.97C14.47,7.94 14.38,7.86 14.08,7.83L13.65,7.88L12.41,1.8C12.3,1.26 11.78,0.91 11.24,1C10.69,1.13 10.34,1.66 10.45,2.2L11.65,8.11V8.11L12,9.67C12.28,9.47 12.61,9.34 12.97,9.34H13.31L16.31,10.95L17.72,2.2C17.83,1.66 17.5,1.13 16.94,1Z\";\r\nexport var mdiHandPeaceVariant = \"M7,19H15V22H7V19M16.94,1C16.4,0.91 15.87,1.25 15.76,1.8L14.75,7.57C14.53,7.54 14.29,7.5 14,7.47L13.57,7.5L12.41,1.8C12.31,1.26 11.78,0.91 11.24,1C10.7,1.13 10.35,1.66 10.45,2.2L11.65,8.11L7.85,9.8C7.35,10 7,10.53 7,11.14V15.5C7,16.3 7.73,17 8.5,17H15C15.39,17 15.74,16.84 16,16.57L16.5,16.16C16.5,16.16 17,15.78 17,15.36V13C17,13 17,11.86 16.13,11.3L17.71,2.2C17.83,1.66 17.5,1.13 16.94,1Z\";\r\nexport var mdiHandPointingDown = \"M9.9,21V11L6.7,12.69L6.5,12.72C6.19,12.72 5.93,12.6 5.74,12.4L5,11.63L9.9,7.43C10.16,7.16 10.5,7 10.9,7H17.4C18.17,7 18.9,7.7 18.9,8.5V12.86C18.9,13.47 18.55,14 18.05,14.2L13.11,16.4L11.9,16.53V21A1,1 0 0,1 10.9,22A1,1 0 0,1 9.9,21M18.9,5H10.9V2H18.9V5Z\";\r\nexport var mdiHandPointingLeft = \"M3,9H13L11.31,5.8L11.28,5.58C11.28,5.29 11.4,5.03 11.6,4.84L12.37,4.1L16.57,9C16.84,9.26 17,9.61 17,10V16.5C17,17.27 16.3,18 15.5,18H11.14C10.53,18 10,17.65 9.8,17.15L7.6,12.21L7.47,11H3A1,1 0 0,1 2,10A1,1 0 0,1 3,9M19,18V10H22V18H19Z\";\r\nexport var mdiHandPointingRight = \"M21,9A1,1 0 0,1 22,10A1,1 0 0,1 21,11H16.53L16.4,12.21L14.2,17.15C14,17.65 13.47,18 12.86,18H8.5C7.7,18 7,17.27 7,16.5V10C7,9.61 7.16,9.26 7.43,9L11.63,4.1L12.4,4.84C12.6,5.03 12.72,5.29 12.72,5.58L12.69,5.8L11,9H21M2,18V10H5V18H2Z\";\r\nexport var mdiHandPointingUp = \"M14,3V13L17.2,11.31L17.42,11.28C17.71,11.28 17.97,11.4 18.16,11.6L18.9,12.37L14,16.57C13.74,16.84 13.39,17 13,17H6.5C5.73,17 5,16.3 5,15.5V11.14C5,10.53 5.35,10 5.85,9.8L10.79,7.6L12,7.47V3A1,1 0 0,1 13,2A1,1 0 0,1 14,3M5,19H13V22H5V19Z\";\r\nexport var mdiHandSaw = \"M9.8,17L5.9,11.6L20,2L22,5V8H19V11H16V14H13V17M9.7,18.7L9.2,21.5L7.6,22.7C6.7,23.3 5.5,23.1 4.8,22.2L1.3,17.3C0.7,16.4 0.9,15.2 1.8,14.5L5.1,12.2L9.7,18.7M4.6,15L3,16.1L6.5,21L8.1,19.8L4.6,15Z\";\r\nexport var mdiHandWash = \"M17 5L17.62 6.37L19 7L17.62 7.63L17 9L16.36 7.63L15 7L16.36 6.37L17 5M11 6.13V4H13C13.57 4 14.1 4.17 14.55 4.45L16 3C15.15 2.39 14.13 2 13 2H7.5V4H9V6.14C7.23 6.5 5.81 7.8 5.26 9.5H9.24L15 11.65V11.03C15 8.61 13.28 6.59 11 6.13M1 22H5V11H1V22M20 17H13L10.91 16.27L11.24 15.33L13 16H15.82C16.47 16 17 15.47 17 14.82C17 14.33 16.69 13.89 16.23 13.71L8.97 11H7V20L14 22L22 19C22 17.9 21.11 17 20 17M20 14C21.1 14 22 13.1 22 12S20 8 20 8 18 10.9 18 12 18.9 14 20 14Z\";\r\nexport var mdiHandWashOutline = \"M17 5L17.62 6.37L19 7L17.62 7.63L17 9L16.36 7.63L15 7L16.36 6.37L17 5M20 14C21.1 14 22 13.1 22 12S20 8 20 8 18 10.9 18 12 18.9 14 20 14M11 6.1V4H13C13.57 4 14.1 4.17 14.55 4.45L16 3C15.15 2.39 14.13 2 13 2H7.5V4H9V6.11C7.22 6.5 5.8 7.79 5.25 9.5H7.41C7.94 8.61 8.89 8 10 8C11.62 8 12.94 9.29 13 10.9L15 11.65V11C15 8.58 13.28 6.56 11 6.1M22 19V20L14 22.5L7 20.56V22H1V11H8.97L15.13 13.3C16.25 13.72 17 14.8 17 16H19C20.66 16 22 17.34 22 19M5 20V13H3V20H5M19.9 18.57C19.74 18.24 19.39 18 19 18H13.65C13.11 18 12.58 17.92 12.07 17.75L9.69 16.96L10.32 15.06L12.7 15.85C13 15.95 15 16 15 16C15 15.63 14.77 15.3 14.43 15.17L8.61 13H7V18.5L13.97 20.41L19.9 18.57Z\";\r\nexport var mdiHandWater = \"M17.42 22.5H5.33C3.5 22.5 2 21 2 19.17V13.08C2 12.18 2.36 11.33 3 10.71L8.63 5.17C8.63 5.17 9.66 6.22 9.67 6.25C9.83 6.43 9.92 6.66 9.92 6.91C9.92 7.09 9.87 7.26 9.78 7.41C9.77 7.44 8 10 8 10H18.67C19.36 10 19.92 10.56 19.92 11.25C19.92 11.94 19.36 12.5 18.67 12.5H12.83V13.33H20.75C21.44 13.33 22 13.89 22 14.58C22 15.28 21.44 15.83 20.75 15.83H12.83V16.67H19.92C20.61 16.67 21.17 17.22 21.17 17.92C21.17 18.61 20.61 19.17 19.92 19.17H12.83V20H17.42C18.11 20 18.67 20.56 18.67 21.25C18.67 21.94 18.11 22.5 17.42 22.5M13.5 4.8C13.5 4.8 12 6.46 12 7.5C12 9.5 15 9.5 15 7.5C15 6.46 13.5 4.8 13.5 4.8M18.5 1C18.5 1 16 3.76 16 5.5C16 8.83 21 8.83 21 5.5C21 3.76 18.5 1 18.5 1Z\";\r\nexport var mdiHandWave = \"M23 17C23 20.31 20.31 23 17 23V21.5C19.5 21.5 21.5 19.5 21.5 17H23M1 7C1 3.69 3.69 1 7 1V2.5C4.5 2.5 2.5 4.5 2.5 7H1M8 4.32L3.41 8.92C.19 12.14 .19 17.37 3.41 20.59S11.86 23.81 15.08 20.59L22.15 13.5C22.64 13.03 22.64 12.24 22.15 11.75C21.66 11.26 20.87 11.26 20.38 11.75L15.96 16.17L15.25 15.46L21.79 8.92C22.28 8.43 22.28 7.64 21.79 7.15S20.5 6.66 20 7.15L14.19 13L13.5 12.27L20.37 5.38C20.86 4.89 20.86 4.1 20.37 3.61S19.09 3.12 18.6 3.61L11.71 10.5L11 9.8L16.5 4.32C17 3.83 17 3.04 16.5 2.55S15.22 2.06 14.73 2.55L7.11 10.17C8.33 11.74 8.22 14 6.78 15.45L6.07 14.74C7.24 13.57 7.24 11.67 6.07 10.5L5.72 10.15L9.79 6.08C10.28 5.59 10.28 4.8 9.79 4.31C9.29 3.83 8.5 3.83 8 4.32Z\";\r\nexport var mdiHandWaveOutline = \"M7.03 4.95L3.5 8.5C.17 11.81 .17 17.19 3.5 20.5S12.19 23.83 15.5 20.5L21.5 14.5C22.5 13.53 22.5 11.94 21.5 10.96C21.4 10.84 21.27 10.73 21.13 10.64L21.5 10.25C22.5 9.28 22.5 7.69 21.5 6.71C21.36 6.55 21.17 6.41 21 6.3C21.38 5.38 21.21 4.28 20.46 3.53C19.59 2.66 18.24 2.57 17.26 3.25C17.16 3.1 17.05 2.96 16.92 2.83C15.95 1.86 14.36 1.86 13.38 2.83L10.87 5.34C10.78 5.2 10.67 5.07 10.55 4.95C9.58 4 8 4 7.03 4.95M8.44 6.37C8.64 6.17 8.95 6.17 9.15 6.37S9.35 6.88 9.15 7.08L5.97 10.26C7.14 11.43 7.14 13.33 5.97 14.5L7.38 15.91C8.83 14.46 9.2 12.34 8.5 10.55L14.8 4.25C15 4.05 15.31 4.05 15.5 4.25S15.71 4.76 15.5 4.96L10.91 9.56L12.32 10.97L18.33 4.96C18.53 4.76 18.84 4.76 19.04 4.96C19.24 5.16 19.24 5.47 19.04 5.67L13.03 11.68L14.44 13.09L19.39 8.14C19.59 7.94 19.9 7.94 20.1 8.14C20.3 8.34 20.3 8.65 20.1 8.85L14.44 14.5L15.85 15.92L19.39 12.38C19.59 12.18 19.9 12.18 20.1 12.38C20.3 12.58 20.3 12.89 20.1 13.09L14.1 19.1C11.56 21.64 7.45 21.64 4.91 19.1S2.37 12.45 4.91 9.91L8.44 6.37M23 17C23 20.31 20.31 23 17 23V21.5C19.5 21.5 21.5 19.5 21.5 17H23M1 7C1 3.69 3.69 1 7 1V2.5C4.5 2.5 2.5 4.5 2.5 7H1Z\";\r\nexport var mdiHandball = \"M15.83 10.43A6.93 6.93 0 0 1 18.39 14.86A6.64 6.64 0 0 1 17.5 19.5L15.78 18.5A5 5 0 0 0 16.44 16A5.22 5.22 0 0 0 15.46 13.06L9.18 23.93L7.44 22.95L10.44 17.75L8.71 16.76L7.21 19.34L5.5 18.36L10.63 9.45A7 7 0 0 1 8.8 5.46A6.91 6.91 0 0 1 9.69 1.1L11.43 2.13A4.84 4.84 0 0 0 10.91 5.9A4.74 4.74 0 0 0 13.21 8.93M16 5A2 2 0 1 0 18 7A2 2 0 0 0 16 5M13.5 1A1.5 1.5 0 1 0 15 2.5A1.5 1.5 0 0 0 13.5 1Z\";\r\nexport var mdiHandcuffs = \"M20.24 6.76C18.4 4.91 15.65 4.53 13.42 5.59L12.46 4.63C12.07 4.24 11.44 4.24 11.05 4.63L10.97 4.72C10.83 3.75 10 3 9 3C7.9 3 7 3.9 7 5C7 5.09 7 5.18 7.03 5.26C6.42 5.61 6 6.25 6 7C6 7.46 6.16 7.87 6.42 8.21C6.17 8.39 6 8.67 6 9V10.35C3.67 11.17 2 13.39 2 16C2 19.31 4.69 22 8 22S14 19.31 14 16C14 13.39 12.33 11.17 10 10.35V9C10 8.67 9.83 8.39 9.58 8.21C9.84 7.87 10 7.46 10 7C10 6.91 10 6.82 9.97 6.74C10.15 6.64 10.3 6.5 10.43 6.38C11.36 6.88 12 7.86 12 9V9.08C12.13 9.15 12.25 9.25 12.38 9.33C12.57 8.91 12.83 8.5 13.17 8.17C14.73 6.61 17.27 6.61 18.83 8.17C20.39 9.73 20.39 12.27 18.83 13.83C18.03 14.63 17 15 15.93 15C16 15.32 16 15.66 16 16C16 16.34 15.97 16.67 15.93 17C17.5 17 19.05 16.43 20.24 15.24C22.59 12.9 22.59 9.1 20.24 6.76M9 4C9.55 4 10 4.45 10 5C10 5.33 9.83 5.61 9.58 5.79C9.22 5.31 8.65 5 8 5C8 4.45 8.45 4 9 4M7.42 6.21C7.78 6.69 8.35 7 9 7C9 7.55 8.55 8 8 8S7 7.55 7 7C7 6.67 7.17 6.39 7.42 6.21M12 16C12 18.21 10.21 20 8 20S4 18.21 4 16C4 13.79 5.79 12 8 12S12 13.79 12 16Z\";\r\nexport var mdiHandsPray = \"M11.43 9.67C11.47 9.78 11.5 9.88 11.5 10V15.22C11.5 15.72 11.31 16.2 10.97 16.57L8.18 19.62L4.78 16.22L6 15L8.8 2.86C8.92 2.36 9.37 2 9.89 2C10.5 2 11 2.5 11 3.11V8.07C10.84 8.03 10.67 8 10.5 8C9.4 8 8.5 8.9 8.5 10V13C8.5 13.28 8.72 13.5 9 13.5S9.5 13.28 9.5 13V10C9.5 9.45 9.95 9 10.5 9C10.69 9 10.85 9.07 11 9.16C11.12 9.23 11.21 9.32 11.3 9.42C11.33 9.46 11.36 9.5 11.38 9.55C11.4 9.59 11.42 9.63 11.43 9.67M2 19L6 22L7.17 20.73L3.72 17.28L2 19M18 15L15.2 2.86C15.08 2.36 14.63 2 14.11 2C13.5 2 13 2.5 13 3.11V8.07C13.16 8.03 13.33 8 13.5 8C14.6 8 15.5 8.9 15.5 10V13C15.5 13.28 15.28 13.5 15 13.5S14.5 13.28 14.5 13V10C14.5 9.45 14.05 9 13.5 9C13.31 9 13.15 9.07 13 9.16C12.88 9.23 12.79 9.32 12.71 9.42C12.68 9.46 12.64 9.5 12.62 9.55C12.6 9.59 12.58 9.63 12.57 9.67C12.53 9.78 12.5 9.88 12.5 10V15.22C12.5 15.72 12.69 16.2 13.03 16.57L15.82 19.62L19.22 16.22L18 15M20.28 17.28L16.83 20.73L18 22L22 19L20.28 17.28Z\";\r\nexport var mdiHandshake = \"M11 6H14L17.29 2.7A1 1 0 0 1 18.71 2.7L21.29 5.29A1 1 0 0 1 21.29 6.7L19 9H11V11A1 1 0 0 1 10 12A1 1 0 0 1 9 11V8A2 2 0 0 1 11 6M5 11V15L2.71 17.29A1 1 0 0 0 2.71 18.7L5.29 21.29A1 1 0 0 0 6.71 21.29L11 17H15A1 1 0 0 0 16 16V15H17A1 1 0 0 0 18 14V13H19A1 1 0 0 0 20 12V11H13V12A2 2 0 0 1 11 14H9A2 2 0 0 1 7 12V9Z\";\r\nexport var mdiHandshakeOutline = \"M21.71 8.71C22.96 7.46 22.39 6 21.71 5.29L18.71 2.29C17.45 1.04 16 1.61 15.29 2.29L13.59 4H11C9.1 4 8 5 7.44 6.15L3 10.59V14.59L2.29 15.29C1.04 16.55 1.61 18 2.29 18.71L5.29 21.71C5.83 22.25 6.41 22.45 6.96 22.45C7.67 22.45 8.32 22.1 8.71 21.71L11.41 19H15C16.7 19 17.56 17.94 17.87 16.9C19 16.6 19.62 15.74 19.87 14.9C21.42 14.5 22 13.03 22 12V9H21.41L21.71 8.71M20 12C20 12.45 19.81 13 19 13L18 13L18 14C18 14.45 17.81 15 17 15L16 15L16 16C16 16.45 15.81 17 15 17H10.59L7.31 20.28C7 20.57 6.82 20.4 6.71 20.29L3.72 17.31C3.43 17 3.6 16.82 3.71 16.71L5 15.41V11.41L7 9.41V11C7 12.21 7.8 14 10 14S13 12.21 13 11H20V12M20.29 7.29L18.59 9H11V11C11 11.45 10.81 12 10 12S9 11.45 9 11V8C9 7.54 9.17 6 11 6H14.41L16.69 3.72C17 3.43 17.18 3.6 17.29 3.71L20.28 6.69C20.57 7 20.4 7.18 20.29 7.29Z\";\r\nexport var mdiHanger = \"M12 4A3.5 3.5 0 0 0 8.5 7.5H10.5A1.5 1.5 0 0 1 12 6A1.5 1.5 0 0 1 13.5 7.5A1.5 1.5 0 0 1 12 9C11.45 9 11 9.45 11 10V11.75L2.4 18.2A1 1 0 0 0 3 20H21A1 1 0 0 0 21.6 18.2L13 11.75V10.85A3.5 3.5 0 0 0 15.5 7.5A3.5 3.5 0 0 0 12 4M12 13.5L18 18H6Z\";\r\nexport var mdiHardHat = \"M9.87,12.15L9,6.46C10.95,5.84 13.05,5.84 15,6.46L14.13,12.15C14.06,12.64 13.63,13 13.13,13H10.86C10.37,13 9.94,12.64 9.87,12.15M22,16V16C22,15.21 21.53,14.5 20.8,14.17C20.32,11.86 18.96,9.83 17,8.5L15.24,13.34C15.1,13.74 14.72,14 14.3,14H9.7C9.28,14 8.9,13.74 8.76,13.34L7,8.5C5.04,9.83 3.68,11.86 3.2,14.16C2.47,14.5 2,15.2 2,16L8.45,17.84C8.81,17.94 9.18,18 9.55,18H14.43C14.8,18 15.17,17.94 15.53,17.84L22,16Z\";\r\nexport var mdiHarddisk = \"M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M12,4A6,6 0 0,0 6,10C6,13.31 8.69,16 12.1,16L11.22,13.77C10.95,13.29 11.11,12.68 11.59,12.4L12.45,11.9C12.93,11.63 13.54,11.79 13.82,12.27L15.74,14.69C17.12,13.59 18,11.9 18,10A6,6 0 0,0 12,4M12,9A1,1 0 0,1 13,10A1,1 0 0,1 12,11A1,1 0 0,1 11,10A1,1 0 0,1 12,9M7,18A1,1 0 0,0 6,19A1,1 0 0,0 7,20A1,1 0 0,0 8,19A1,1 0 0,0 7,18M12.09,13.27L14.58,19.58L17.17,18.08L12.95,12.77L12.09,13.27Z\";\r\nexport var mdiHarddiskPlus = \"M12 9A1 1 0 1 0 13 10A1 1 0 0 0 12 9M12 9A1 1 0 1 0 13 10A1 1 0 0 0 12 9M18 2H6A2 2 0 0 0 4 4V13.09A5.47 5.47 0 0 1 5 13A5.71 5.71 0 0 1 7 13.36A6 6 0 1 1 15.71 14.69L13.79 12.27A1 1 0 0 0 12.42 11.9L11.56 12.4A1 1 0 0 0 11.19 13.77L12.1 16A6.12 6.12 0 0 1 10 15.62A6 6 0 0 1 10.19 22H18A2 2 0 0 0 20 20V4A2 2 0 0 0 18 2M14.58 19.58L12.09 13.27L12.95 12.77L17.17 18.08M12 11A1 1 0 1 0 11 10A1 1 0 0 0 12 11M9 20H6V23H4V20H1V18H4V15H6V18H9Z\";\r\nexport var mdiHarddiskRemove = \"M12 9A1 1 0 1 0 13 10A1 1 0 0 0 12 9M12 9A1 1 0 1 0 13 10A1 1 0 0 0 12 9M18 2H6A2 2 0 0 0 4 4V13.09A5.47 5.47 0 0 1 5 13A5.71 5.71 0 0 1 7 13.36A6 6 0 1 1 15.71 14.69L13.79 12.27A1 1 0 0 0 12.42 11.9L11.56 12.4A1 1 0 0 0 11.19 13.77L12.1 16A6.12 6.12 0 0 1 10 15.62A6 6 0 0 1 10.19 22H18A2 2 0 0 0 20 20V4A2 2 0 0 0 18 2M14.58 19.58L12.09 13.27L12.95 12.77L17.17 18.08M12 11A1 1 0 1 0 11 10A1 1 0 0 0 12 11M7.12 22.54L5 20.41L2.88 22.54L1.46 21.12L3.59 19L1.46 16.88L2.88 15.46L5 17.59L7.12 15.46L8.54 16.88L6.41 19L8.54 21.12Z\";\r\nexport var mdiHatFedora = \"M19.11,11.92C19.13,11.71 19.14,11.5 19.14,11.29C19.14,7.86 17.71,4.14 16.28,4.14C14.85,4.14 13.42,5.57 12,5.57C10.57,5.57 9.14,4.14 7.71,4.14C6.28,4.14 4.86,7.79 4.86,11.29C4.86,11.5 4.86,11.71 4.88,11.92C7.22,12.45 9.6,12.72 12,12.71C14.45,12.71 16.83,12.44 19.11,11.92M3.45,18.18C9,19.85 14.96,19.86 20.54,18.18C20.96,18.04 21.33,17.77 21.59,17.41C21.85,17.05 22,16.61 22,16.17C22,15.72 21.86,15.29 21.61,14.92C21.35,14.56 21,14.29 20.56,14.14C17.86,15 15,15.45 12,15.45C9,15.45 6.13,15 3.43,14.14C3,14.29 2.65,14.57 2.39,14.93C2.14,15.29 2,15.72 2,16.17C2,17.11 2.61,17.9 3.45,18.18V18.18Z\";\r\nexport var mdiHazardLights = \"M12,12L14.33,16H9.68L12,12M12,8L6.21,18H17.8L12,8M12,2L1,21H23L12,2M12,6L19.53,19H4.47L12,6Z\";\r\nexport var mdiHdr = \"M21,11.5V10.5C21,9.7 20.3,9 19.5,9H16V15H17.5V13H18.6L19.5,15H21L20.1,12.9C20.6,12.6 21,12.1 21,11.5M19.5,11.5H17.5V10.5H19.5V11.5M6.5,11H4.5V9H3V15H4.5V12.5H6.5V15H8V9H6.5V11M13,9H9.5V15H13C13.8,15 14.5,14.3 14.5,13.5V10.5C14.5,9.7 13.8,9 13,9M13,13.5H11V10.5H13V13.5Z\";\r\nexport var mdiHdrOff = \"M17.5,15V13H18.6L19.5,15H21L20.1,12.9C20.6,12.7 21,12.1 21,11.5V10.5C21,9.7 20.3,9 19.5,9H16V13.9L17.1,15H17.5M17.5,10.5H19.5V11.5H17.5V10.5M13,10.5V10.9L14.5,12.4V10.5C14.5,9.7 13.8,9 13,9H11.1L12.6,10.5H13M9.5,9.5L2.5,2.5L1.4,3.5L6.9,9H6.5V11H4.5V9H3V15H4.5V12.5H6.5V15H8V10.1L9.5,11.6V15H12.9L20.5,22.6L21.6,21.5L9.5,9.5Z\";\r\nexport var mdiHead = \"M13 3C9.2 3 6.2 5.9 6 9.7L4.1 12.2C3.9 12.5 4.1 13 4.5 13H6V16C6 17.1 6.9 18 8 18H9V21H16V16.3C18.4 15.2 20 12.8 20 10C20 6.1 16.9 3 13 3\";\r\nexport var mdiHeadAlert = \"M13 3C9.2 3 6.2 5.9 6 9.7L4.1 12.2C3.9 12.5 4.1 13 4.5 13H6V16C6 17.1 6.9 18 8 18H9V21H16V16.3C18.4 15.2 20 12.8 20 10C20 6.1 16.9 3 13 3M14 15H12V13H14V14M14 11H12V5H14V11Z\";\r\nexport var mdiHeadAlertOutline = \"M13 3C16.9 3 20 6.1 20 10C20 12.8 18.4 15.2 16 16.3V21H9V18H8C6.9 18 6 17.1 6 16V13H4.5C4.1 13 3.8 12.5 4.1 12.2L6 9.7C6.2 5.9 9.2 3 13 3M13 1C8.4 1 4.6 4.4 4.1 8.9L2.5 11C1.9 11.8 1.9 12.8 2.3 13.6C2.7 14.3 3.3 14.8 4 14.9V16C4 17.9 5.3 19.4 7 19.9V23H18V17.5C20.5 15.8 22 13.1 22 10C22 5 18 1 13 1M14 15H12V13H14V15M14 11H12V5H14\";\r\nexport var mdiHeadCheck = \"M13 3C9.23 3 6.19 5.95 6 9.66L4.08 12.19C3.84 12.5 4.08 13 4.5 13H6V16C6 17.11 6.89 18 8 18H9V21H16V16.31C18.37 15.19 20 12.8 20 10C20 6.14 16.88 3 13 3M12.47 13L9 9.5L10.4 8.09L12.47 10.17L16.6 6L18 7.41L12.47 13Z\";\r\nexport var mdiHeadCheckOutline = \"M13 3C16.88 3 20 6.14 20 10C20 12.8 18.37 15.19 16 16.31V21H9V18H8C6.89 18 6 17.11 6 16V13H4.5C4.08 13 3.84 12.5 4.08 12.19L6 9.66C6.19 5.95 9.23 3 13 3M13 1C8.42 1 4.61 4.43 4.06 8.91L2.5 11C1.92 11.72 1.82 12.72 2.24 13.59C2.6 14.31 3.24 14.8 4 14.95V16C4 17.86 5.28 19.43 7 19.87V23H18V17.47C20.5 15.83 22 13.06 22 10C22 5.04 17.96 1 13 1M12.47 13L9 9.5L10.4 8.09L12.47 10.17L16.6 6L18 7.41L12.47 13Z\";\r\nexport var mdiHeadCog = \"M13 8.58C13.78 8.58 14.44 9.19 14.44 10S13.78 11.44 13 11.44 11.58 10.78 11.58 10 12.19 8.58 13 8.58M13 3C16.88 3 20 6.14 20 10C20 12.8 18.37 15.19 16 16.31V21H9V18H8C6.89 18 6 17.11 6 16V13H4.5C4.08 13 3.84 12.5 4.08 12.19L6 9.66C6.19 5.95 9.23 3 13 3M16 10C16 9.84 16 9.75 15.94 9.61L16.83 8.95C16.88 8.91 16.92 8.77 16.88 8.67L16.08 7.31C16.03 7.22 15.89 7.17 15.8 7.22L14.81 7.64C14.63 7.45 14.39 7.31 14.16 7.22L14 6.19C13.97 6.05 13.92 6 13.78 6H12.19C12.09 6 12 6.05 12 6.19L11.86 7.22C11.63 7.31 11.39 7.45 11.2 7.64L10.17 7.22C10.08 7.17 10 7.22 9.94 7.31L9.14 8.67C9.09 8.81 9.09 8.91 9.19 8.95L10.03 9.61C10.03 9.75 10 9.89 10 10C10 10.13 10.03 10.27 10.03 10.41L9.19 11.06C9.09 11.11 9.09 11.2 9.14 11.3L9.94 12.7C10 12.8 10.08 12.8 10.17 12.8L11.16 12.37C11.39 12.56 11.58 12.66 11.86 12.75L12 13.83C12 13.92 12.09 14 12.19 14H13.78C13.92 14 13.97 13.92 14 13.83L14.16 12.75C14.39 12.66 14.63 12.56 14.81 12.38L15.8 12.8C15.89 12.8 16.03 12.8 16.08 12.7L16.88 11.3C16.92 11.2 16.88 11.11 16.83 11.06L16 10.41V10Z\";\r\nexport var mdiHeadCogOutline = \"M13 3C16.88 3 20 6.14 20 10C20 12.8 18.37 15.19 16 16.31V21H9V18H8C6.89 18 6 17.11 6 16V13H4.5C4.08 13 3.84 12.5 4.08 12.19L6 9.66C6.19 5.95 9.23 3 13 3M13 1C8.42 1 4.61 4.43 4.06 8.91L2.5 11C1.92 11.72 1.82 12.72 2.24 13.59C2.6 14.31 3.24 14.8 4 14.95V16C4 17.86 5.28 19.43 7 19.87V23H18V17.47C20.5 15.83 22 13.06 22 10C22 5.04 17.96 1 13 1M16.1 9.42V9C16.1 8.85 16.1 8.76 16.04 8.62L16.93 7.96C17 7.92 17 7.78 17 7.68L16.18 6.32C16.13 6.23 16 6.18 15.9 6.23L14.91 6.65C14.73 6.46 14.5 6.32 14.26 6.23L14.1 5.2C14.07 5.06 14 5 13.88 5H12.29C12.19 5 12.1 5.06 12.1 5.2L11.96 6.23C11.73 6.32 11.5 6.46 11.3 6.65L10.27 6.23C10.18 6.18 10.1 6.23 10.04 6.32L9.24 7.68C9.19 7.82 9.19 7.92 9.29 7.96L10.13 8.62C10.13 8.76 10.1 8.9 10.1 9C10.1 9.14 10.13 9.28 10.13 9.42L9.29 10.07C9.19 10.12 9.19 10.21 9.24 10.31L10.04 11.71C10.1 11.81 10.18 11.81 10.27 11.81L11.26 11.38C11.5 11.57 11.68 11.67 11.96 11.76L12.1 12.84C12.1 12.93 12.19 13 12.29 13H13.88C14 13 14.07 12.93 14.1 12.84L14.26 11.76C14.5 11.67 14.73 11.57 14.91 11.39L15.9 11.81C16 11.81 16.13 11.81 16.18 11.71L17 10.31C17 10.21 17 10.12 16.93 10.07L16.1 9.42M13.1 10.45C12.32 10.45 11.68 9.79 11.68 9S12.29 7.59 13.1 7.59C13.88 7.59 14.54 8.2 14.54 9S13.88 10.45 13.1 10.45Z\";\r\nexport var mdiHeadDotsHorizontal = \"M13 3C9.23 3 6.19 5.95 6 9.66L4.08 12.19C3.84 12.5 4.08 13 4.5 13H6V16C6 17.11 6.89 18 8 18H9V21H16V16.31C18.37 15.19 20 12.8 20 10C20 6.14 16.88 3 13 3M10 11C9.45 11 9 10.55 9 10S9.45 9 10 9 11 9.45 11 10 10.55 11 10 11M13 11C12.45 11 12 10.55 12 10S12.45 9 13 9 14 9.45 14 10 13.55 11 13 11M16 11C15.45 11 15 10.55 15 10S15.45 9 16 9 17 9.45 17 10 16.55 11 16 11Z\";\r\nexport var mdiHeadDotsHorizontalOutline = \"M13 3C16.9 3 20 6.1 20 10C20 12.8 18.4 15.2 16 16.3V21H9V18H8C6.9 18 6 17.1 6 16V13H4.5C4.1 13 3.8 12.5 4.1 12.2L6 9.7C6.2 5.9 9.2 3 13 3M13 1C8.4 1 4.6 4.4 4.1 8.9L2.5 11C1.9 11.8 1.9 12.8 2.3 13.6C2.7 14.3 3.3 14.8 4 14.9V16C4 17.9 5.3 19.4 7 19.9V23H18V17.5C20.5 15.8 22 13.1 22 10C22 5 18 1 13 1M10 10C9.4 10 9 9.6 9 9S9.4 8 10 8 11 8.4 11 9 10.6 10 10 10M13 10C12.4 10 12 9.6 12 9S12.4 8 13 8 14 8.4 14 9 13.6 10 13 10M16 10C15.5 10 15 9.6 15 9S15.5 8 16 8 17 8.4 17 9 16.5 10 16 10Z\";\r\nexport var mdiHeadFlash = \"M13 3C9.2 3 6.2 6 6 9.7L4.1 12.2C3.9 12.5 4.1 13 4.5 13H6V16C6 17.1 6.9 18 8 18H9V21H16V16.3C18.4 15.2 20 12.8 20 10C20 6.1 16.9 3 13 3M15 9L11.9 15L12.5 11H10.5L12.5 6H15L13.5 9H15Z\";\r\nexport var mdiHeadFlashOutline = \"M13 3C16.9 3 20 6.1 20 10C20 12.8 18.4 15.2 16 16.3V21H9V18H8C6.9 18 6 17.1 6 16V13H4.5C4.1 13 3.8 12.5 4.1 12.2L6 9.7C6.2 5.9 9.2 3 13 3M13 1C8.4 1 4.6 4.4 4.1 8.9L2.5 11C1.9 11.8 1.9 12.8 2.3 13.6C2.7 14.3 3.3 14.8 4 14.9V16C4 17.9 5.3 19.4 7 19.9V23H18V17.5C20.5 15.8 22 13.1 22 10C22 5 18 1 13 1M15 9L11.9 15L12.5 11H10.4L12.5 6H15L13.5 9H15Z\";\r\nexport var mdiHeadHeart = \"M13 3C9.23 3 6.19 5.95 6 9.66L4.08 12.19C3.84 12.5 4.08 13 4.5 13H6V16C6 17.11 6.89 18 8 18H9V21H16V16.31C18.37 15.19 20 12.8 20 10C20 6.14 16.88 3 13 3M17 8.83C17 10.37 15.64 11.6 13.58 13.47L13 14L12.42 13.47C10.36 11.6 9 10.37 9 8.83C9 7.63 9.96 6.64 11.16 6.63H11.2C11.89 6.63 12.55 6.94 13 7.46C13.45 6.94 14.11 6.63 14.8 6.63C16 6.62 17 7.59 17 8.79V8.83Z\";\r\nexport var mdiHeadHeartOutline = \"M13 3C16.88 3 20 6.14 20 10C20 12.8 18.37 15.19 16 16.31V21H9V18H8C6.89 18 6 17.11 6 16V13H4.5C4.08 13 3.84 12.5 4.08 12.19L6 9.66C6.19 5.95 9.23 3 13 3M13 1C8.41 1 4.61 4.42 4.06 8.9L2.5 11L2.47 11L2.45 11.03C1.9 11.79 1.83 12.79 2.26 13.62C2.62 14.31 3.26 14.79 4 14.94V16C4 17.85 5.28 19.42 7 19.87V23H18V17.5C20.5 15.83 22 13.06 22 10C22 5.03 17.96 1 13 1M17 8.83C17 10.37 15.64 11.6 13.58 13.47L13 14L12.42 13.47C10.36 11.6 9 10.37 9 8.83C9 7.63 9.96 6.64 11.16 6.63H11.2C11.89 6.63 12.55 6.94 13 7.46C13.45 6.94 14.11 6.63 14.8 6.63C16 6.62 17 7.59 17 8.79V8.83Z\";\r\nexport var mdiHeadLightbulb = \"M13 3C9.23 3 6.19 5.95 6 9.66L4.08 12.19C3.84 12.5 4.08 13 4.5 13H6V16C6 17.11 6.89 18 8 18H9V21H16V16.31C18.37 15.19 20 12.8 20 10C20 6.14 16.88 3 13 3M14 14H12V13H14V14M15.6 9.5C15.34 9.94 14.96 10.32 14.5 10.58V12H11.5V10.58C10.07 9.75 9.57 7.92 10.4 6.5S13.07 4.56 14.5 5.38 16.43 8.05 15.6 9.5Z\";\r\nexport var mdiHeadLightbulbOutline = \"M13 3C16.9 3 20 6.1 20 10C20 12.8 18.4 15.2 16 16.3V21H9V18H8C6.9 18 6 17.1 6 16V13H4.5C4.1 13 3.8 12.5 4.1 12.2L6 9.7C6.2 5.9 9.2 3 13 3M13 1C8.4 1 4.6 4.4 4.1 8.9L2.5 11C1.9 11.8 1.9 12.8 2.3 13.6C2.7 14.3 3.3 14.8 4 14.9V16C4 17.9 5.3 19.4 7 19.9V23H18V17.5C20.5 15.8 22 13.1 22 10C22 5 18 1 13 1M14 14H12V13H14V14M15.6 9.5C15.3 9.9 15 10.3 14.5 10.6V12H11.5V10.6C10.1 9.8 9.6 7.9 10.4 6.5S13.1 4.6 14.5 5.4 16.4 8.1 15.6 9.5Z\";\r\nexport var mdiHeadMinus = \"M13 3C9.2 3 6.2 5.9 6 9.7L4.1 12.2C3.9 12.5 4.1 13 4.5 13H6V16C6 17.1 6.9 18 8 18H9V21H16V16.3C18.4 15.2 20 12.8 20 10C20 6.1 16.9 3 13 3M17 10H9V8H17V10Z\";\r\nexport var mdiHeadMinusOutline = \"M13 3C16.9 3 20 6.1 20 10C20 12.8 18.4 15.2 16 16.3V21H9V18H8C6.9 18 6 17.1 6 16V13H4.5C4.1 13 3.8 12.5 4.1 12.2L6 9.7C6.2 5.9 9.2 3 13 3M13 1C8.4 1 4.6 4.4 4.1 8.9L2.5 11C1.9 11.7 1.8 12.7 2.2 13.6C2.6 14.3 3.2 14.8 4 15V16C4 17.9 5.3 19.4 7 19.9V23H18V17.5C20.5 15.9 22 13.1 22 10C22 5 18 1 13 1M17 10H9V8H17V10Z\";\r\nexport var mdiHeadOutline = \"M13 1C8.4 1 4.6 4.4 4.1 8.9L2.5 11C2 11.8 1.9 12.8 2.3 13.6C2.7 14.3 3.3 14.8 4 14.9V16C4 17.8 5.3 19.4 7 19.9V23H18V17.5C20.5 15.8 22 13.1 22 10C22 5 18 1 13 1M16 16.3V21H9V18H8C6.9 18 6 17.1 6 16V13H4.5C4.1 13 3.8 12.5 4.1 12.2L6 9.7C6.2 6 9.2 3 13 3C16.9 3 20 6.1 20 10C20 12.8 18.4 15.2 16 16.3Z\";\r\nexport var mdiHeadPlus = \"M13 3C9.2 3 6.2 5.9 6 9.7L4.1 12.2C3.9 12.5 4.1 13 4.5 13H6V16C6 17.1 6.9 18 8 18H9V21H16V16.3C18.4 15.2 20 12.8 20 10C20 6.1 16.9 3 13 3M17 10H14V13H12V10H9V8H12V5H14V8H17V10Z\";\r\nexport var mdiHeadPlusOutline = \"M13 3C16.9 3 20 6.1 20 10C20 12.8 18.4 15.2 16 16.3V21H9V18H8C6.9 18 6 17.1 6 16V13H4.5C4.1 13 3.8 12.5 4.1 12.2L6 9.7C6.2 5.9 9.2 3 13 3M13 1C8.4 1 4.6 4.4 4.1 8.9L2.5 11C1.9 11.7 1.8 12.7 2.2 13.6C2.6 14.3 3.2 14.8 4 15V16C4 17.9 5.3 19.4 7 19.9V23H18V17.5C20.5 15.9 22 13.1 22 10C22 5 18 1 13 1M17 10H14V13H12V10H9V8H12V5H14V8H17V10Z\";\r\nexport var mdiHeadQuestion = \"M13 3C9.23 3 6.19 5.95 6 9.66L4.08 12.19C3.84 12.5 4.08 13 4.5 13H6V16C6 17.11 6.89 18 8 18H9V21H16V16.31C18.37 15.19 20 12.8 20 10C20 6.14 16.88 3 13 3M14 14H12V12H14V14M15.75 8.81C15.46 9.21 15.09 9.5 14.64 9.74C14.39 9.9 14.22 10.07 14.13 10.26C14.04 10.44 14 10.69 14 11H12C12 10.5 12.11 10.08 12.31 9.82C12.5 9.55 12.85 9.25 13.36 8.91C13.62 8.75 13.83 8.55 13.97 8.32C14.13 8.09 14.2 7.82 14.2 7.5C14.2 7.2 14.12 6.94 13.94 6.75C13.76 6.57 13.5 6.47 13.19 6.47C12.93 6.47 12.71 6.55 12.53 6.7C12.35 6.86 12.26 7.09 12.25 7.39H10.32L10.31 7.36C10.3 6.57 10.56 6 11.08 5.59C11.62 5.2 12.32 5 13.19 5C14.12 5 14.85 5.23 15.38 5.68C15.92 6.13 16.19 6.74 16.19 7.5C16.19 8 16.04 8.41 15.75 8.81Z\";\r\nexport var mdiHeadQuestionOutline = \"M13 3C16.88 3 20 6.14 20 10C20 12.8 18.37 15.19 16 16.31V21H9V18H8C6.89 18 6 17.11 6 16V13H4.5C4.08 13 3.84 12.5 4.08 12.19L6 9.66C6.19 5.95 9.23 3 13 3M10.32 7.39H12.25C12.26 7.09 12.35 6.86 12.53 6.7C12.71 6.55 12.93 6.47 13.19 6.47C13.5 6.47 13.76 6.57 13.94 6.75C14.12 6.94 14.2 7.2 14.2 7.5C14.2 7.82 14.13 8.09 13.97 8.32C13.83 8.55 13.62 8.75 13.36 8.91C12.85 9.25 12.5 9.55 12.31 9.82C12.11 10.08 12 10.5 12 11H14C14 10.69 14.04 10.44 14.13 10.26C14.22 10.07 14.39 9.9 14.64 9.74C15.09 9.5 15.46 9.21 15.75 8.81C16.04 8.41 16.19 8 16.19 7.5C16.19 6.74 15.92 6.13 15.38 5.68C14.85 5.23 14.12 5 13.19 5C12.32 5 11.62 5.2 11.08 5.59C10.56 6 10.3 6.57 10.31 7.36L10.32 7.39M12 14H14V12H12V14M13 1C8.41 1 4.61 4.42 4.06 8.9L2.5 11L2.47 11L2.45 11.03C1.9 11.79 1.83 12.79 2.26 13.62C2.62 14.31 3.26 14.79 4 14.94V16C4 17.85 5.28 19.42 7 19.87V23H18V17.5C20.5 15.83 22 13.06 22 10C22 5.03 17.96 1 13 1Z\";\r\nexport var mdiHeadRemove = \"M13 3C9.2 3 6.2 5.9 6 9.7L4.1 12.2C3.9 12.5 4.1 13 4.5 13H6V16C6 17.1 6.9 18 8 18H9V21H16V16.3C18.4 15.2 20 12.8 20 10C20 6.1 16.9 3 13 3M15.1 12.5L13 10.4L10.9 12.5L9.5 11.1L11.6 9L9.5 6.9L10.9 5.5L13 7.6L15.1 5.5L16.5 6.9L14.4 9L16.5 11.1L15.1 12.5Z\";\r\nexport var mdiHeadRemoveOutline = \"M13 3C16.9 3 20 6.1 20 10C20 12.8 18.4 15.2 16 16.3V21H9V18H8C6.9 18 6 17.1 6 16V13H4.5C4.1 13 3.8 12.5 4.1 12.2L6 9.7C6.2 5.9 9.2 3 13 3M13 1C8.4 1 4.6 4.4 4.1 8.9L2.5 11C1.9 11.7 1.8 12.7 2.2 13.6C2.6 14.3 3.2 14.8 4 15V16C4 17.9 5.3 19.4 7 19.9V23H18V17.5C20.5 15.9 22 13.1 22 10C22 5 18 1 13 1M16.5 6.9L14.4 9L16.5 11.1L15.1 12.5L13 10.4L10.9 12.5L9.5 11.1L11.6 9L9.5 6.9L10.9 5.5L13 7.6L15.1 5.5L16.5 6.9Z\";\r\nexport var mdiHeadSnowflake = \"M13 3C9.23 3 6.19 5.95 6 9.66L4.08 12.19C3.84 12.5 4.08 13 4.5 13H6V16C6 17.11 6.89 18 8 18H9V21H16V16.31C18.37 15.19 20 12.8 20 10C20 6.14 16.88 3 13 3M17.06 9.57L15.1 10.09L16.54 11.54C16.89 11.88 16.89 12.46 16.54 12.81C16.19 13.16 15.61 13.16 15.27 12.81L13.81 11.37L13.3 13.33C13.18 13.82 12.68 14.1 12.21 13.97C11.72 13.84 11.44 13.35 11.57 12.87L12.1 10.9L10.13 11.43C9.65 11.56 9.15 11.28 9.03 10.79C8.9 10.32 9.18 9.82 9.67 9.7L11.63 9.19L10.19 7.73C9.84 7.39 9.84 6.82 10.19 6.46C10.54 6.11 11.12 6.11 11.46 6.46L12.91 7.9L13.43 5.94C13.55 5.46 14.04 5.18 14.5 5.3C15 5.43 15.28 5.92 15.16 6.41L14.63 8.37L16.59 7.84C17.08 7.72 17.57 8 17.7 8.5C17.82 8.96 17.54 9.45 17.06 9.57Z\";\r\nexport var mdiHeadSnowflakeOutline = \"M13 3C16.88 3 20 6.14 20 10C20 12.8 18.37 15.19 16 16.31V21H9V18H8C6.89 18 6 17.11 6 16V13H4.5C4.08 13 3.84 12.5 4.08 12.19L6 9.66C6.19 5.95 9.23 3 13 3M13 1C8.41 1 4.61 4.42 4.06 8.9L2.5 11L2.47 11L2.45 11.03C1.9 11.79 1.83 12.79 2.26 13.62C2.62 14.31 3.26 14.79 4 14.94V16C4 17.85 5.28 19.42 7 19.87V23H18V17.5C20.5 15.83 22 13.06 22 10C22 5.03 17.96 1 13 1M17.33 9.3L15.37 9.81L16.81 11.27C17.16 11.61 17.16 12.19 16.81 12.54S15.88 12.89 15.54 12.54L14.09 11.1L13.57 13.06C13.45 13.55 12.96 13.82 12.5 13.7C12 13.57 11.72 13.08 11.84 12.59L12.37 10.63L10.41 11.16C9.92 11.28 9.43 11 9.3 10.5C9.18 10.05 9.46 9.55 9.94 9.43L11.9 8.91L10.46 7.46C10.11 7.12 10.11 6.55 10.46 6.19C10.81 5.84 11.39 5.84 11.73 6.19L13.19 7.63L13.7 5.67C13.82 5.18 14.32 4.9 14.79 5.03C15.28 5.16 15.56 5.65 15.43 6.13L14.9 8.1L16.87 7.57C17.35 7.44 17.84 7.72 17.97 8.21C18.1 8.68 17.82 9.18 17.33 9.3Z\";\r\nexport var mdiHeadSync = \"M13 3C9.23 3 6.19 5.95 6 9.66L4.08 12.19C3.84 12.5 4.08 13 4.5 13H6V16C6 17.11 6.89 18 8 18H9V21H16V16.31C18.37 15.19 20 12.8 20 10C20 6.14 16.88 3 13 3M13 15V13.5C10.79 13.5 9 11.71 9 9.5C9 8.68 9.25 7.92 9.67 7.29L10.76 8.38C10.59 8.72 10.5 9.1 10.5 9.5C10.5 10.88 11.62 12 13 12V10.5L15.25 12.75L13 15M16.33 11.71L15.24 10.62C15.41 10.28 15.5 9.9 15.5 9.5C15.5 8.12 14.38 7 13 7V8.5L10.75 6.25L13 4V5.5C15.21 5.5 17 7.29 17 9.5C17 10.32 16.75 11.08 16.33 11.71Z\";\r\nexport var mdiHeadSyncOutline = \"M13 3C16.88 3 20 6.14 20 10C20 12.8 18.37 15.19 16 16.31V21H9V18H8C6.89 18 6 17.11 6 16V13H4.5C4.08 13 3.84 12.5 4.08 12.19L6 9.66C6.19 5.95 9.23 3 13 3M13 1C8.41 1 4.61 4.42 4.06 8.9L2.5 11L2.47 11L2.45 11.03C1.9 11.79 1.83 12.79 2.26 13.62C2.62 14.31 3.26 14.79 4 14.94V16C4 17.85 5.28 19.42 7 19.87V23H18V17.5C20.5 15.83 22 13.06 22 10C22 5.03 17.96 1 13 1M14 15V13.5C11.79 13.5 10 11.71 10 9.5C10 8.68 10.25 7.92 10.67 7.29L11.76 8.38C11.59 8.72 11.5 9.1 11.5 9.5C11.5 10.88 12.62 12 14 12V10.5L16.25 12.75L14 15M17.33 11.71L16.24 10.62C16.41 10.28 16.5 9.9 16.5 9.5C16.5 8.12 15.38 7 14 7V8.5L11.75 6.25L14 4V5.5C16.21 5.5 18 7.29 18 9.5C18 10.32 17.75 11.08 17.33 11.71Z\";\r\nexport var mdiHeadphones = \"M12,1C7,1 3,5 3,10V17A3,3 0 0,0 6,20H9V12H5V10A7,7 0 0,1 12,3A7,7 0 0,1 19,10V12H15V20H18A3,3 0 0,0 21,17V10C21,5 16.97,1 12,1Z\";\r\nexport var mdiHeadphonesBluetooth = \"M8,6A6,6 0 0,0 2,12V16.8C2,17.46 2.54,18 3.2,18H6V14H4V12A4,4 0 0,1 8,8A4,4 0 0,1 12,12V14H10V18H12.8A1.2,1.2 0 0,0 14,16.8V12A6,6 0 0,0 8,6M19,7V10.79L16.71,8.5L16,9.21L18.79,12L16,14.79L16.71,15.5L19,13.21V17H19.5L22.35,14.14L20.21,12L22.35,9.85L19.5,7H19M20,8.91L20.94,9.85L20,10.79V8.91M20,13.21L20.94,14.14L20,15.08V13.21Z\";\r\nexport var mdiHeadphonesBox = \"M7.2,18C6.54,18 6,17.46 6,16.8V13.2L6,12A6,6 0 0,1 12,6A6,6 0 0,1 18,12V13.2L18,16.8A1.2,1.2 0 0,1 16.8,18H14V14H16V12A4,4 0 0,0 12,8A4,4 0 0,0 8,12V14H10V18M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiHeadphonesOff = \"M12,1A9,9 0 0,1 21,10V17C21,17.62 20.81,18.19 20.5,18.67L15,13.18V12H19V10A7,7 0 0,0 12,3C10,3 8.23,3.82 6.96,5.14L5.55,3.72C7.18,2.04 9.47,1 12,1M2.78,3.5L20.5,21.22L19.23,22.5L16.73,20H15V18.27L9,12.27V20H6A3,3 0 0,1 3,17V10C3,8.89 3.2,7.82 3.57,6.84L1.5,4.77L2.78,3.5M5.17,8.44C5.06,8.94 5,9.46 5,10V12H8.73L5.17,8.44Z\";\r\nexport var mdiHeadphonesSettings = \"M12,1A9,9 0 0,1 21,10V17A3,3 0 0,1 18,20H15V12H19V10A7,7 0 0,0 12,3A7,7 0 0,0 5,10V12H9V20H6A3,3 0 0,1 3,17V10A9,9 0 0,1 12,1M15,24V22H17V24H15M11,24V22H13V24H11M7,24V22H9V24H7Z\";\r\nexport var mdiHeadset = \"M12,1C7,1 3,5 3,10V17A3,3 0 0,0 6,20H9V12H5V10A7,7 0 0,1 12,3A7,7 0 0,1 19,10V12H15V20H19V21H12V23H18A3,3 0 0,0 21,20V10C21,5 16.97,1 12,1Z\";\r\nexport var mdiHeadsetDock = \"M2,18H9V6.13C7.27,6.57 6,8.14 6,10V11H8V17H6A2,2 0 0,1 4,15V10A6,6 0 0,1 10,4H11A6,6 0 0,1 17,10V12H18V9H20V12A2,2 0 0,1 18,14H17V15A2,2 0 0,1 15,17H13V11H15V10C15,8.14 13.73,6.57 12,6.13V18H22V20H2V18Z\";\r\nexport var mdiHeadsetOff = \"M1.5,4.77L3.57,6.84C3.2,7.82 3,8.89 3,10V20A3,3 0 0,0 6,23H12V21H5V20H9V12.27L15,18.27V20H16.73L19.23,22.5L20.5,21.22L2.78,3.5L1.5,4.77M12,1C9.47,1 7.18,2.04 5.55,3.72L6.96,5.14C8.23,3.82 10,3 12,3A7,7 0 0,1 19,10V12H15V13.18L20.5,18.67C20.81,18.19 21,17.62 21,17V10A9,9 0 0,0 12,1M5,12V10C5,9.46 5.06,8.94 5.17,8.44L8.73,12H5Z\";\r\nexport var mdiHeart = \"M12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35Z\";\r\nexport var mdiHeartBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M12,17L12.72,16.34C15.3,14 17,12.46 17,10.57C17,9.03 15.79,7.82 14.25,7.82C13.38,7.82 12.55,8.23 12,8.87C11.45,8.23 10.62,7.82 9.75,7.82C8.21,7.82 7,9.03 7,10.57C7,12.46 8.7,14 11.28,16.34L12,17Z\";\r\nexport var mdiHeartBoxOutline = \"M12,17L11.28,16.34C8.7,14 7,12.46 7,10.57C7,9.03 8.21,7.82 9.75,7.82C10.62,7.82 11.45,8.23 12,8.87C12.55,8.23 13.38,7.82 14.25,7.82C15.79,7.82 17,9.03 17,10.57C17,12.46 15.3,14 12.72,16.34L12,17M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiHeartBroken = \"M12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C8.17,3 8.82,3.12 9.44,3.33L13,9.35L9,14.35L12,21.35V21.35M16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35L11,14.35L15.5,9.35L12.85,4.27C13.87,3.47 15.17,3 16.5,3Z\";\r\nexport var mdiHeartBrokenOutline = \"M7.5,5C7.7,5 7.9,5 8.1,5.1L10.5,9.2L6.8,13.8C5.1,11.8 4,10.2 4,8.5C4,6.5 5.5,5 7.5,5M7.5,3C4.4,3 2,5.4 2,8.5C2,12.3 5.4,15.4 10.6,20L12,21.3L9,14.3L13,9.3L9.4,3.3C8.8,3.1 8.2,3 7.5,3M16.5,5C18.5,5 20,6.5 20,8.5C20,11.1 17.4,13.7 13.4,17.3L13.1,15L17.9,9.7L15.6,5.2C15.9,5 16.2,5 16.5,5M16.5,3C15.2,3 13.9,3.5 12.9,4.3L15.5,9.4L11,14.4L12,21.4L13.4,20.1C18.6,15.4 22,12.3 22,8.6C22,5.4 19.6,3 16.5,3Z\";\r\nexport var mdiHeartCircle = \"M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M9.75,7.82C10.62,7.82 11.45,8.23 12,8.87C12.55,8.23 13.38,7.82 14.25,7.82C15.79,7.82 17,9.03 17,10.57C17,12.46 15.3,14 12.72,16.34L12,17L11.28,16.34C8.7,14 7,12.46 7,10.57C7,9.03 8.21,7.82 9.75,7.82Z\";\r\nexport var mdiHeartCircleOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4M9.75,7.82C8.21,7.82 7,9.03 7,10.57C7,12.46 8.7,14 11.28,16.34L12,17L12.72,16.34C15.3,14 17,12.46 17,10.57C17,9.03 15.79,7.82 14.25,7.82C13.38,7.82 12.55,8.23 12,8.87C11.45,8.23 10.62,7.82 9.75,7.82Z\";\r\nexport var mdiHeartCog = \"M12 19C12 19.71 12.12 20.4 12.32 21.06L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 9.8 21.59 11 20.84 12.25C20.25 12.09 19.63 12 19 12C15.14 12 12 15.14 12 19M23.83 20.64L22.83 22.37C22.76 22.5 22.63 22.5 22.5 22.5L21.27 22C21 22.18 20.73 22.34 20.43 22.47L20.24 23.79C20.22 23.91 20.11 24 20 24H18C17.86 24 17.76 23.91 17.74 23.79L17.55 22.47C17.24 22.35 16.96 22.18 16.7 22L15.46 22.5C15.34 22.5 15.21 22.5 15.15 22.37L14.15 20.64C14.09 20.53 14.12 20.4 14.21 20.32L15.27 19.5C15.25 19.33 15.24 19.17 15.24 19S15.25 18.67 15.27 18.5L14.21 17.68C14.11 17.6 14.09 17.47 14.15 17.36L15.15 15.63C15.22 15.5 15.35 15.5 15.46 15.5L16.7 16C16.96 15.82 17.25 15.66 17.55 15.53L17.74 14.21C17.76 14.09 17.87 14 18 14H20C20.11 14 20.22 14.09 20.23 14.21L20.42 15.53C20.73 15.65 21 15.82 21.27 16L22.5 15.5C22.63 15.5 22.76 15.5 22.82 15.63L23.82 17.36C23.88 17.47 23.85 17.6 23.76 17.68L22.7 18.5C22.73 18.67 22.74 18.83 22.74 19S22.72 19.33 22.7 19.5L23.77 20.32C23.86 20.4 23.89 20.53 23.83 20.64M20.5 19C20.5 18.17 19.83 17.5 19 17.5S17.5 18.17 17.5 19 18.16 20.5 19 20.5C19.83 20.5 20.5 19.83 20.5 19Z\";\r\nexport var mdiHeartCogOutline = \"M16.5 5C14.96 5 13.46 6 12.93 7.36H11.07C10.54 6 9.04 5 7.5 5C5.5 5 4 6.5 4 8.5C4 11.39 7.14 14.24 11.89 18.55L12 18.65L12 18.63C12 18.75 12 18.88 12 19C12 19.71 12.12 20.4 12.32 21.06L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 9.8 21.59 11 20.84 12.25C20.25 12.09 19.63 12 19 12C18.87 12 18.74 12 18.6 12C19.5 10.79 20 9.65 20 8.5C20 6.5 18.5 5 16.5 5M23.83 20.64L22.83 22.37C22.76 22.5 22.63 22.5 22.5 22.5L21.27 22C21 22.18 20.73 22.34 20.43 22.47L20.24 23.79C20.22 23.91 20.11 24 20 24H18C17.86 24 17.76 23.91 17.74 23.79L17.55 22.47C17.24 22.35 16.96 22.18 16.7 22L15.46 22.5C15.34 22.5 15.21 22.5 15.15 22.37L14.15 20.64C14.09 20.53 14.12 20.4 14.21 20.32L15.27 19.5C15.25 19.33 15.24 19.17 15.24 19S15.25 18.67 15.27 18.5L14.21 17.68C14.11 17.6 14.09 17.47 14.15 17.36L15.15 15.63C15.22 15.5 15.35 15.5 15.46 15.5L16.7 16C16.96 15.82 17.25 15.66 17.55 15.53L17.74 14.21C17.76 14.09 17.87 14 18 14H20C20.11 14 20.22 14.09 20.23 14.21L20.42 15.53C20.73 15.65 21 15.82 21.27 16L22.5 15.5C22.63 15.5 22.76 15.5 22.82 15.63L23.82 17.36C23.88 17.47 23.85 17.6 23.76 17.68L22.7 18.5C22.73 18.67 22.74 18.83 22.74 19S22.72 19.33 22.7 19.5L23.77 20.32C23.86 20.4 23.89 20.53 23.83 20.64M20.5 19C20.5 18.17 19.83 17.5 19 17.5S17.5 18.17 17.5 19 18.16 20.5 19 20.5C19.83 20.5 20.5 19.83 20.5 19Z\";\r\nexport var mdiHeartFlash = \"M16.5,2.83C14.76,2.83 13.09,3.64 12,4.9C10.91,3.64 9.24,2.83 7.5,2.83C4.42,2.83 2,5.24 2,8.33C2,12.1 5.4,15.19 10.55,19.86L12,21.17L13.45,19.86C18.6,15.19 22,12.1 22,8.33C22,5.24 19.58,2.83 16.5,2.83M12,17.83V13.83H9L12,6.83V10.83H15\";\r\nexport var mdiHeartHalf = \"M13,7.2V17.74L13,20.44L12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C10,3 13,5 13,7.2Z\";\r\nexport var mdiHeartHalfFull = \"M16.5,5C15,5 13.58,5.91 13,7.2V17.74C17.25,13.87 20,11.2 20,8.5C20,6.5 18.5,5 16.5,5M16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3Z\";\r\nexport var mdiHeartHalfOutline = \"M4,8.5C4,11.2 6.75,13.87 11,17.74V7.2C10.42,5.91 9,5 7.5,5C5.5,5 4,6.5 4,8.5M13,7.2V17.74L13,20.44L12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C10,3 13,5 13,7.2Z\";\r\nexport var mdiHeartMinus = \"M12 18C12 19 12.25 19.92 12.67 20.74L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 9.93 21.5 11.26 20.62 12.61C19.83 12.23 18.94 12 18 12C14.69 12 12 14.69 12 18M14 17V19H22V17H14Z\";\r\nexport var mdiHeartMinusOutline = \"M12.67 20.74L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 9.93 21.5 11.26 20.62 12.61C20 12.31 19.31 12.11 18.59 12.04C19.5 10.8 20 9.65 20 8.5C20 6.5 18.5 5 16.5 5C14.96 5 13.46 6 12.93 7.36H11.07C10.54 6 9.04 5 7.5 5C5.5 5 4 6.5 4 8.5C4 11.39 7.14 14.24 11.89 18.55L12 18.65L12.04 18.61C12.12 19.37 12.34 20.09 12.67 20.74M14 17V19H22V17H14Z\";\r\nexport var mdiHeartMultiple = \"M13.5,20C6.9,13.9 3.5,10.8 3.5,7.1C3.5,4 5.9,1.6 9,1.6C10.7,1.6 12.4,2.4 13.5,3.7C14.6,2.4 16.3,1.6 18,1.6C21.1,1.6 23.5,4 23.5,7.1C23.5,10.9 20.1,14 13.5,20M12,21.1C5.4,15.2 1.5,11.7 1.5,7C1.5,6.8 1.5,6.6 1.5,6.4C0.9,7.3 0.5,8.4 0.5,9.6C0.5,13.4 3.9,16.5 10.5,22.4L12,21.1Z\";\r\nexport var mdiHeartMultipleOutline = \"M12,21.1L10.5,22.4C3.9,16.5 0.5,13.4 0.5,9.6C0.5,8.4 0.9,7.3 1.5,6.4C1.5,6.6 1.5,6.8 1.5,7C1.5,11.7 5.4,15.2 12,21.1M13.6,17C18.3,12.7 21.5,9.9 21.6,7C21.6,5 20.1,3.5 18.1,3.5C16.5,3.5 15,4.5 14.5,5.9H12.6C12,4.5 10.5,3.5 9,3.5C7,3.5 5.5,5 5.5,7C5.5,9.9 8.6,12.7 13.4,17L13.5,17.1M18,1.5C21.1,1.5 23.5,3.9 23.5,7C23.5,10.7 20.1,13.8 13.5,19.8C6.9,13.9 3.5,10.8 3.5,7C3.5,3.9 5.9,1.5 9,1.5C10.7,1.5 12.4,2.3 13.5,3.6C14.6,2.3 16.3,1.5 18,1.5Z\";\r\nexport var mdiHeartOff = \"M1,4.27L2.28,3L20,20.72L18.73,22L15.18,18.44L13.45,20.03L12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,7.55 2.23,6.67 2.63,5.9L1,4.27M7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3C19.58,3 22,5.41 22,8.5C22,11.07 20.42,13.32 17.79,15.97L5.27,3.45C5.95,3.16 6.7,3 7.5,3Z\";\r\nexport var mdiHeartOffOutline = \"M2.39 1.73L1.11 3L3.19 5.08C2.45 6 2 7.19 2 8.5C2 12.27 5.4 15.36 10.55 20.03L12 21.35L13.45 20.03C14.32 19.24 15.14 18.5 15.9 17.79L20 22L21.27 20.73M12.1 18.55L12 18.65L11.89 18.55C7.14 14.24 4 11.39 4 8.5C4 7.74 4.22 7.06 4.61 6.5L14.5 16.37C13.74 17.06 12.95 17.78 12.1 18.55M8.3 5.1L6.33 3.13C6.7 3.05 7.1 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 10.84 20.69 12.92 18.47 15.27L17.06 13.86C18.91 11.88 20 10.2 20 8.5C20 6.5 18.5 5 16.5 5C15.1 5 13.74 5.83 13.11 7H10.89C10.38 6.06 9.39 5.34 8.3 5.1Z\";\r\nexport var mdiHeartOutline = \"M12.1,18.55L12,18.65L11.89,18.55C7.14,14.24 4,11.39 4,8.5C4,6.5 5.5,5 7.5,5C9.04,5 10.54,6 11.07,7.36H12.93C13.46,6 14.96,5 16.5,5C18.5,5 20,6.5 20,8.5C20,11.39 16.86,14.24 12.1,18.55M16.5,3C14.76,3 13.09,3.81 12,5.08C10.91,3.81 9.24,3 7.5,3C4.42,3 2,5.41 2,8.5C2,12.27 5.4,15.36 10.55,20.03L12,21.35L13.45,20.03C18.6,15.36 22,12.27 22,8.5C22,5.41 19.58,3 16.5,3Z\";\r\nexport var mdiHeartPlus = \"M12 18C12 19 12.25 19.92 12.67 20.74L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 9.93 21.5 11.26 20.62 12.61C19.83 12.23 18.94 12 18 12C14.69 12 12 14.69 12 18M19 14H17V17H14V19H17V22H19V19H22V17H19V14Z\";\r\nexport var mdiHeartPlusOutline = \"M12.67 20.74L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 9.93 21.5 11.26 20.62 12.61C20 12.31 19.31 12.11 18.59 12.04C19.5 10.8 20 9.65 20 8.5C20 6.5 18.5 5 16.5 5C14.96 5 13.46 6 12.93 7.36H11.07C10.54 6 9.04 5 7.5 5C5.5 5 4 6.5 4 8.5C4 11.39 7.14 14.24 11.89 18.55L12 18.65L12.04 18.61C12.12 19.37 12.34 20.09 12.67 20.74M17 14V17H14V19H17V22H19V19H22V17H19V14H17Z\";\r\nexport var mdiHeartPulse = \"M7.5,4A5.5,5.5 0 0,0 2,9.5C2,10 2.09,10.5 2.22,11H6.3L7.57,7.63C7.87,6.83 9.05,6.75 9.43,7.63L11.5,13L12.09,11.58C12.22,11.25 12.57,11 13,11H21.78C21.91,10.5 22,10 22,9.5A5.5,5.5 0 0,0 16.5,4C14.64,4 13,4.93 12,6.34C11,4.93 9.36,4 7.5,4V4M3,12.5A1,1 0 0,0 2,13.5A1,1 0 0,0 3,14.5H5.44L11,20C12,20.9 12,20.9 13,20L18.56,14.5H21A1,1 0 0,0 22,13.5A1,1 0 0,0 21,12.5H13.4L12.47,14.8C12.07,15.81 10.92,15.67 10.55,14.83L8.5,9.5L7.54,11.83C7.39,12.21 7.05,12.5 6.6,12.5H3Z\";\r\nexport var mdiHeartRemove = \"M12 18C12 19 12.25 19.92 12.67 20.74L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 9.93 21.5 11.26 20.62 12.61C19.83 12.23 18.94 12 18 12C14.69 12 12 14.69 12 18M21.54 15.88L20.12 14.47L18 16.59L15.88 14.47L14.47 15.88L16.59 18L14.47 20.12L15.88 21.54L18 19.41L20.12 21.54L21.54 20.12L19.41 18L21.54 15.88Z\";\r\nexport var mdiHeartRemoveOutline = \"M12.67 20.74L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 9.93 21.5 11.26 20.62 12.61C20 12.31 19.31 12.11 18.59 12.04C19.5 10.8 20 9.65 20 8.5C20 6.5 18.5 5 16.5 5C14.96 5 13.46 6 12.93 7.36H11.07C10.54 6 9.04 5 7.5 5C5.5 5 4 6.5 4 8.5C4 11.39 7.14 14.24 11.89 18.55L12 18.65L12.04 18.61C12.12 19.37 12.34 20.09 12.67 20.74M20.12 14.46L18 16.59L15.88 14.47L14.47 15.88L16.59 18L14.47 20.12L15.88 21.54L18 19.41L20.12 21.54L21.54 20.12L19.41 18L21.54 15.88L20.12 14.46Z\";\r\nexport var mdiHeartSettings = \"M15 22H17V24H15V22M11 24H13V22H11V24M7 24H9V22H7V24M16.5 3C14.76 3 13.09 3.81 12 5.08C10.91 3.81 9.24 3 7.5 3C4.42 3 2 5.41 2 8.5C2 12.27 5.4 15.36 10.55 20.03L12 21.35L13.45 20.03C18.6 15.36 22 12.27 22 8.5C22 5.41 19.58 3 16.5 3Z\";\r\nexport var mdiHeartSettingsOutline = \"M7 22H9V24H7V22M11 24H13V22H11V24M15 24H17V22H15V24M22 8.5C22 12.27 18.6 15.36 13.45 20.03L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5M20 8.5C20 6.5 18.5 5 16.5 5C14.96 5 13.46 6 12.93 7.36H11.07C10.54 6 9.04 5 7.5 5C5.5 5 4 6.5 4 8.5C4 11.39 7.14 14.24 11.89 18.55L12 18.65L12.1 18.55C16.86 14.24 20 11.39 20 8.5Z\";\r\nexport var mdiHelicopter = \"M3,3H17V5H3V3M23,6V10.5L14.75,12.2C14.91,12.6 15,13.04 15,13.5C15,14.9 14.18,16.1 13,16.66V17L13,19H16V21H4A3,3 0 0,1 1,18V17H3V18A1,1 0 0,0 4,19H5V16.74C3.25,16.13 2,14.46 2,12.5C2,10 4,8 6.5,8H9V6H11V8H21V6H23M11,19V17H7V19H11M7.5,10C6.12,10 5,10.9 5,12C5,13.1 6.12,14 7.5,14C8.88,14 10,13.1 10,12C10,10.9 8.88,10 7.5,10Z\";\r\nexport var mdiHelp = \"M10,19H13V22H10V19M12,2C17.35,2.22 19.68,7.62 16.5,11.67C15.67,12.67 14.33,13.33 13.67,14.17C13,15 13,16 13,17H10C10,15.33 10,13.92 10.67,12.92C11.33,11.92 12.67,11.33 13.5,10.67C15.92,8.43 15.32,5.26 12,5A3,3 0 0,0 9,8H6A6,6 0 0,1 12,2Z\";\r\nexport var mdiHelpBox = \"M11,18H13V16H11V18M12,6A4,4 0 0,0 8,10H10A2,2 0 0,1 12,8A2,2 0 0,1 14,10C14,12 11,11.75 11,15H13C13,12.75 16,12.5 16,10A4,4 0 0,0 12,6M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiHelpCircle = \"M15.07,11.25L14.17,12.17C13.45,12.89 13,13.5 13,15H11V14.5C11,13.39 11.45,12.39 12.17,11.67L13.41,10.41C13.78,10.05 14,9.55 14,9C14,7.89 13.1,7 12,7A2,2 0 0,0 10,9H8A4,4 0 0,1 12,5A4,4 0 0,1 16,9C16,9.88 15.64,10.67 15.07,11.25M13,19H11V17H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z\";\r\nexport var mdiHelpCircleOutline = \"M11,18H13V16H11V18M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,6A4,4 0 0,0 8,10H10A2,2 0 0,1 12,8A2,2 0 0,1 14,10C14,12 11,11.75 11,15H13C13,12.75 16,12.5 16,10A4,4 0 0,0 12,6Z\";\r\nexport var mdiHelpNetwork = \"M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17M12.19,5C11.32,5 10.62,5.2 10.08,5.59C9.56,6 9.3,6.57 9.31,7.36L9.32,7.39H11.25C11.26,7.09 11.35,6.86 11.53,6.7C11.71,6.55 11.93,6.47 12.19,6.47C12.5,6.47 12.76,6.57 12.94,6.75C13.12,6.94 13.2,7.2 13.2,7.5C13.2,7.82 13.13,8.09 12.97,8.32C12.83,8.55 12.62,8.75 12.36,8.91C11.85,9.25 11.5,9.55 11.31,9.82C11.11,10.08 11,10.5 11,11H13C13,10.69 13.04,10.44 13.13,10.26C13.22,10.07 13.39,9.9 13.64,9.74C14.09,9.5 14.46,9.21 14.75,8.81C15.04,8.41 15.19,8 15.19,7.5C15.19,6.74 14.92,6.13 14.38,5.68C13.85,5.23 13.12,5 12.19,5M11,12V14H13V12H11Z\";\r\nexport var mdiHelpNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M11.95,6C11.17,6 10.55,6.18 10.07,6.5C9.61,6.89 9.38,7.4 9.39,8.1L9.4,8.13H11.11C11.12,7.86 11.2,7.65 11.36,7.5C11.5,7.38 11.72,7.31 11.95,7.31C12.22,7.31 12.45,7.4 12.61,7.56C12.77,7.73 12.85,7.96 12.85,8.22C12.85,8.5 12.78,8.75 12.64,8.95C12.5,9.16 12.33,9.33 12.1,9.5C11.65,9.78 11.34,10.05 11.17,10.29C11,10.5 10.89,10.89 10.89,11.33H12.67C12.67,11.06 12.7,10.84 12.78,10.68C12.86,10.5 13,10.36 13.24,10.21C13.64,10 13.97,9.74 14.22,9.39C14.5,9.03 14.62,8.67 14.62,8.22C14.62,7.55 14.38,7 13.9,6.61C13.42,6.2 12.77,6 11.95,6M10.89,12.22V14H12.67V12.22H10.89Z\";\r\nexport var mdiHelpRhombus = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M12 6.95C14.7 7.06 15.87 9.78 14.28 11.81C13.86 12.31 13.19 12.64 12.85 13.07C12.5 13.5 12.5 14 12.5 14.5H11C11 13.65 11 12.94 11.35 12.44C11.68 11.94 12.35 11.64 12.77 11.31C14 10.18 13.68 8.59 12 8.46C11.18 8.46 10.5 9.13 10.5 9.97H9C9 8.3 10.35 6.95 12 6.95M11 15.5H12.5V17H11V15.5Z\";\r\nexport var mdiHelpRhombusOutline = \"M11 15.5H12.5V17H11V15.5M12 6.95C14.7 7.06 15.87 9.78 14.28 11.81C13.86 12.31 13.19 12.64 12.85 13.07C12.5 13.5 12.5 14 12.5 14.5H11C11 13.65 11 12.94 11.35 12.44C11.68 11.94 12.35 11.64 12.77 11.31C14 10.18 13.68 8.59 12 8.46C11.18 8.46 10.5 9.13 10.5 9.97H9C9 8.3 10.35 6.95 12 6.95M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M12 4L20 12L12 20L4 12Z\";\r\nexport var mdiHexadecimal = \"M7 7C5.9 7 5 7.9 5 9V15C5 16.11 5.9 17 7 17H9C10.11 17 11 16.11 11 15V9C11 7.9 10.11 7 9 7H7M7 9H9V15H7V9M17.6 17L15.5 14.9L13.4 17L12 15.6L14.1 13.5L12 11.4L13.4 10L15.5 12.1L17.6 10L19 11.4L16.9 13.5L19 15.6L17.6 17Z\";\r\nexport var mdiHexagon = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5Z\";\r\nexport var mdiHexagonMultiple = \"M10.25,2C10.44,2 10.61,2.11 10.69,2.26L12.91,6.22L13,6.5L12.91,6.78L10.69,10.74C10.61,10.89 10.44,11 10.25,11H5.75C5.56,11 5.39,10.89 5.31,10.74L3.09,6.78L3,6.5L3.09,6.22L5.31,2.26C5.39,2.11 5.56,2 5.75,2H10.25M10.25,13C10.44,13 10.61,13.11 10.69,13.26L12.91,17.22L13,17.5L12.91,17.78L10.69,21.74C10.61,21.89 10.44,22 10.25,22H5.75C5.56,22 5.39,21.89 5.31,21.74L3.09,17.78L3,17.5L3.09,17.22L5.31,13.26C5.39,13.11 5.56,13 5.75,13H10.25M19.5,7.5C19.69,7.5 19.86,7.61 19.94,7.76L22.16,11.72L22.25,12L22.16,12.28L19.94,16.24C19.86,16.39 19.69,16.5 19.5,16.5H15C14.81,16.5 14.64,16.39 14.56,16.24L12.34,12.28L12.25,12L12.34,11.72L14.56,7.76C14.64,7.61 14.81,7.5 15,7.5H19.5Z\";\r\nexport var mdiHexagonMultipleOutline = \"M9.37 4L10.78 6.5L9.37 9H6.63L5.23 6.5L6.63 4H9.37M10.25 2H5.75C5.56 2 5.39 2.11 5.31 2.26L3.09 6.22L3 6.5L3.09 6.78L5.31 10.74C5.39 10.89 5.56 11 5.75 11H10.25C10.44 11 10.61 10.89 10.69 10.74L12.91 6.78L13 6.5L12.91 6.22L10.69 2.26C10.61 2.11 10.44 2 10.25 2M18.62 9.5L20 12L18.62 14.5H15.88L14.5 12L15.88 9.5H18.62M19.5 7.5H15C14.81 7.5 14.64 7.61 14.56 7.76L12.34 11.72L12.25 12L12.34 12.28L14.56 16.24C14.64 16.39 14.81 16.5 15 16.5H19.5C19.69 16.5 19.86 16.39 19.94 16.24L22.16 12.28L22.25 12L22.16 11.72L19.94 7.76C19.86 7.61 19.69 7.5 19.5 7.5M9.37 15L10.78 17.5L9.37 20H6.63L5.23 17.5L6.63 15H9.37M10.25 13H5.75C5.56 13 5.39 13.11 5.31 13.26L3.09 17.22L3 17.5L3.09 17.78L5.31 21.74C5.39 21.89 5.56 22 5.75 22H10.25C10.44 22 10.61 21.89 10.69 21.74L12.91 17.78L13 17.5L12.91 17.22L10.69 13.26C10.61 13.11 10.44 13 10.25 13Z\";\r\nexport var mdiHexagonOutline = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\r\nexport var mdiHexagonSlice1 = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15M12,12V5.32L17.94,8.66L12,12Z\";\r\nexport var mdiHexagonSlice2 = \"M18,15.38L12,12V5.32L18,8.69V15.38M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\r\nexport var mdiHexagonSlice3 = \"M12,5.32L18,8.69V15.31L12,18.68V5.32M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\r\nexport var mdiHexagonSlice4 = \"M12,5.32L18,8.69V15.31L12,18.68L6.06,15.34L12,12V5.32M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\r\nexport var mdiHexagonSlice5 = \"M12,5.32L18,8.69V15.31L12,18.68L6,15.31V8.69L12,12V5.32M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\r\nexport var mdiHexagonSlice6 = \"M12,5.32L18,8.69V15.31L12,18.68L6,15.31V8.69L12,5.32M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\r\nexport var mdiHexagram = \"M14.5,7.66L20.64,6.97L17,12L20.68,16.97L14.5,16.32L12.03,22L9.5,16.34L3.36,17.03L7,12L3.32,7.03L9.5,7.68L11.97,2L14.5,7.66Z\";\r\nexport var mdiHexagramOutline = \"M12,7L13.3,9.8L16.5,9.4L14.5,12L16.4,14.5L13.2,14.1L12,17L10.7,14.2L7.5,14.6L9.5,12L7.6,9.5L10.8,9.9L12,7M12,2L9.5,7.7L3.3,7L7,12L3.4,17L9.6,16.3L12,22L14.5,16.3L20.7,16.9L17,12L20.6,7L14.4,7.7L12,2Z\";\r\nexport var mdiHighDefinition = \"M5,7H7V11H9V7H11V17H9V13H7V17H5V7M13,7H16A3,3 0 0,1 19,10V14A3,3 0 0,1 16,17H13V7M16,15A1,1 0 0,0 17,14V10A1,1 0 0,0 16,9H15V15H16Z\";\r\nexport var mdiHighDefinitionBox = \"M19,3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M11,15H9.5V13H7.5V15H6V9H7.5V11.5H9.5V9H11V15M13,9H17A1,1 0 0,1 18,10V14A1,1 0 0,1 17,15H13V9M14.5,13.5H16.5V10.5H14.5V13.5Z\";\r\nexport var mdiHighway = \"M10,2L8,8H11V2H10M13,2V8H16L14,2H13M2,9V10H4V11H6V10H18L18.06,11H20V10H22V9H2M7,11L3.34,22H11V11H7M13,11V22H20.66L17,11H13Z\";\r\nexport var mdiHiking = \"M17.47 8.67H19V23H17.47V12.6C16.67 12.44 15.92 12.14 15.21 11.71S13.9 10.78 13.39 10.2L12.77 13.27L15 15.47V23H13V17L10.76 14.8L8.89 23H6.73C6.73 23 9.86 7.22 9.89 7.09C10 6.61 10.22 6.24 10.59 6C10.96 5.73 11.33 5.6 11.71 5.6C12.1 5.6 12.46 5.69 12.79 5.87C13.13 6.04 13.39 6.29 13.58 6.61L14.64 8.24C14.93 8.78 15.32 9.25 15.81 9.63S16.86 10.3 17.47 10.5V8.67M8.55 5.89L7.4 5.65C6.83 5.5 6.31 5.62 5.84 5.94C5.38 6.26 5.1 6.7 5 7.28L4.19 11.26C4.16 11.55 4.22 11.81 4.38 12.05C4.54 12.29 4.75 12.42 5 12.46L7.21 12.89L8.55 5.89M13 1C11.9 1 11 1.9 11 3S11.9 5 13 5 15 4.11 15 3 14.11 1 13 1Z\";\r\nexport var mdiHistory = \"M13.5,8H12V13L16.28,15.54L17,14.33L13.5,12.25V8M13,3A9,9 0 0,0 4,12H1L4.96,16.03L9,12H6A7,7 0 0,1 13,5A7,7 0 0,1 20,12A7,7 0 0,1 13,19C11.07,19 9.32,18.21 8.06,16.94L6.64,18.36C8.27,20 10.5,21 13,21A9,9 0 0,0 22,12A9,9 0 0,0 13,3\";\r\nexport var mdiHockeyPuck = \"M12,5C6.5,5 2,6.57 2,8.5C2,10.43 6.5,12 12,12C17.5,12 22,10.43 22,8.5C22,6.57 17.5,5 12,5M2,11.76V16.5C2,18.43 6.5,20 12,20C17.5,20 22,18.43 22,16.5V11.76C21.33,12.22 20.58,12.57 19.73,12.86C17.62,13.6 14.95,14 12,14C9.05,14 6.38,13.6 4.27,12.86C3.42,12.57 2.67,12.22 2,11.76Z\";\r\nexport var mdiHockeySticks = \"M7.58,3L5.05,4.61L9.04,10.87L10.82,8.08L7.58,3M16.43,3L7.5,17H2V21H8.5L18.96,4.61L16.43,3M14.97,14.59L13.19,17.38L15.5,21H22V17H16.5L14.97,14.59Z\";\r\nexport var mdiHololens = \"M12,8C12,8 22,8 22,11C22,11 22.09,14.36 21.75,14.25C21,11 12,11 12,11C12,11 3,11 2.25,14.25C1.91,14.36 2,11 2,11C2,8 12,8 12,8M12,12C20,12 20.75,14.25 20.75,14.25C19.75,17.25 19,18 15,18C12,18 13,16.5 12,16.5C11,16.5 12,18 9,18C5,18 4.25,17.25 3.25,14.25C3.25,14.25 4,12 12,12Z\";\r\nexport var mdiHome = \"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z\";\r\nexport var mdiHomeAccount = \"M12,3L2,12H5V20H19V12H22L12,3M12,8.75A2.25,2.25 0 0,1 14.25,11A2.25,2.25 0 0,1 12,13.25A2.25,2.25 0 0,1 9.75,11A2.25,2.25 0 0,1 12,8.75M12,15C13.5,15 16.5,15.75 16.5,17.25V18H7.5V17.25C7.5,15.75 10.5,15 12,15Z\";\r\nexport var mdiHomeAlert = \"M12 3L2 12H5V20H19V12H22L12 3M13 18H11V16H13V18M13 14H11V8H13V14Z\";\r\nexport var mdiHomeAlertOutline = \"M12 5.7L17 10.2V18H7V10.2L12 5.7M19 20V12H22L12 3L2 12H5V20M13 8H11V13H13V8M13 15H11V17H13V15\";\r\nexport var mdiHomeAnalytics = \"M12,3L2,12H5V20H19V12H22M9,18H7V12H9M13,18H11V10H13M17,18H15V14H17\";\r\nexport var mdiHomeAssistant = \"M21.8,13H20V21H13V17.67L15.79,14.88L16.5,15C17.66,15 18.6,14.06 18.6,12.9C18.6,11.74 17.66,10.8 16.5,10.8A2.1,2.1 0 0,0 14.4,12.9L14.5,13.61L13,15.13V9.65C13.66,9.29 14.1,8.6 14.1,7.8A2.1,2.1 0 0,0 12,5.7A2.1,2.1 0 0,0 9.9,7.8C9.9,8.6 10.34,9.29 11,9.65V15.13L9.5,13.61L9.6,12.9A2.1,2.1 0 0,0 7.5,10.8A2.1,2.1 0 0,0 5.4,12.9A2.1,2.1 0 0,0 7.5,15L8.21,14.88L11,17.67V21H4V13H2.25C1.83,13 1.42,13 1.42,12.79C1.43,12.57 1.85,12.15 2.28,11.72L11,3C11.33,2.67 11.67,2.33 12,2.33C12.33,2.33 12.67,2.67 13,3L17,7V6H19V9L21.78,11.78C22.18,12.18 22.59,12.59 22.6,12.8C22.6,13 22.2,13 21.8,13M7.5,12A0.9,0.9 0 0,1 8.4,12.9A0.9,0.9 0 0,1 7.5,13.8A0.9,0.9 0 0,1 6.6,12.9A0.9,0.9 0 0,1 7.5,12M16.5,12C17,12 17.4,12.4 17.4,12.9C17.4,13.4 17,13.8 16.5,13.8A0.9,0.9 0 0,1 15.6,12.9A0.9,0.9 0 0,1 16.5,12M12,6.9C12.5,6.9 12.9,7.3 12.9,7.8C12.9,8.3 12.5,8.7 12,8.7C11.5,8.7 11.1,8.3 11.1,7.8C11.1,7.3 11.5,6.9 12,6.9Z\";\r\nexport var mdiHomeAutomation = \"M12,3L2,12H5V20H19V12H22L12,3M12,8.5C14.34,8.5 16.46,9.43 18,10.94L16.8,12.12C15.58,10.91 13.88,10.17 12,10.17C10.12,10.17 8.42,10.91 7.2,12.12L6,10.94C7.54,9.43 9.66,8.5 12,8.5M12,11.83C13.4,11.83 14.67,12.39 15.6,13.3L14.4,14.47C13.79,13.87 12.94,13.5 12,13.5C11.06,13.5 10.21,13.87 9.6,14.47L8.4,13.3C9.33,12.39 10.6,11.83 12,11.83M12,15.17C12.94,15.17 13.7,15.91 13.7,16.83C13.7,17.75 12.94,18.5 12,18.5C11.06,18.5 10.3,17.75 10.3,16.83C10.3,15.91 11.06,15.17 12,15.17Z\";\r\nexport var mdiHomeCircle = \"M19.07,4.93C17.22,3 14.66,1.96 12,2C9.34,1.96 6.79,3 4.94,4.93C3,6.78 1.96,9.34 2,12C1.96,14.66 3,17.21 4.93,19.06C6.78,21 9.34,22.04 12,22C14.66,22.04 17.21,21 19.06,19.07C21,17.22 22.04,14.66 22,12C22.04,9.34 21,6.78 19.07,4.93M17,12V18H13.5V13H10.5V18H7V12H5L12,5L19.5,12H17Z\";\r\nexport var mdiHomeCircleOutline = \"M12 20C7.6 20 4 16.4 4 12S7.6 4 12 4 20 7.6 20 12 16.4 20 12 20M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M11 14H13V17H16V12H18L12 7L6 12H8V17H11V14\";\r\nexport var mdiHomeCity = \"M0,21V10L7.5,5L15,10V21H10V14H5V21H0M24,2V21H17V8.93L16,8.27V6H14V6.93L10,4.27V2H24M21,14H19V16H21V14M21,10H19V12H21V10M21,6H19V8H21V6Z\";\r\nexport var mdiHomeCityOutline = \"M10,2V4.26L12,5.59V4H22V19H17V21H24V2H10M7.5,5L0,10V21H15V10L7.5,5M14,6V6.93L15.61,8H16V6H14M18,6V8H20V6H18M7.5,7.5L13,11V19H10V13H5V19H2V11L7.5,7.5M18,10V12H20V10H18M18,14V16H20V14H18Z\";\r\nexport var mdiHomeEdit = \"M12 3L2 12H5V20H10V14H14V15.11L19.43 9.68L12 3M21.04 11.14C20.9 11.14 20.76 11.2 20.65 11.3L19.65 12.3L21.7 14.35L22.7 13.35C22.91 13.14 22.91 12.79 22.7 12.58L21.42 11.3C21.32 11.2 21.18 11.14 21.04 11.14M19.06 12.88L13 18.94V21H15.06L21.11 14.93L19.06 12.88Z\";\r\nexport var mdiHomeEditOutline = \"M12 3L2 12H5V20H11V14H13V16.11L15 14.11V12H9V18H7V10.19L12 5.69L17 10.19V12.11L19.43 9.68L12 3M21.04 11.14C20.9 11.14 20.76 11.2 20.65 11.3L19.65 12.3L21.7 14.35L22.7 13.35C22.91 13.14 22.91 12.79 22.7 12.58L21.42 11.3C21.32 11.2 21.18 11.14 21.04 11.14M19.06 12.88L13 18.94V21H15.06L21.11 14.93L19.06 12.88Z\";\r\nexport var mdiHomeExportOutline = \"M24 13L20 9V12H11V14H20V17M18 16V21H2V12H0L10 2L18 10H15L10 5L4 11V19H16V16H18Z\";\r\nexport var mdiHomeFlood = \"M5,11H2L12,2L22,11H19V15.92C17.95,15.75 16.93,15.32 16,14.67C15.37,15.11 14.7,15.43 14,15.65V13H10V15.65C9.3,15.43 8.63,15.11 8,14.67C7.07,15.32 6.05,15.75 5,15.92M20,18C18.61,18 17.22,17.53 16,16.67C13.56,18.38 10.44,18.38 8,16.67C6.78,17.53 5.39,18 4,18H2V22H22V18\";\r\nexport var mdiHomeFloor0 = \"M11,10H13V16H11V10M22,12H19V20H5V12H2L12,3L22,12M15,10A2,2 0 0,0 13,8H11A2,2 0 0,0 9,10V16A2,2 0 0,0 11,18H13A2,2 0 0,0 15,16V10Z\";\r\nexport var mdiHomeFloor1 = \"M12,3L2,12H5V20H19V12H22L12,3M10,8H14V18H12V10H10V8Z\";\r\nexport var mdiHomeFloor2 = \"M12,3L2,12H5V20H19V12H22L12,3M9,8H13A2,2 0 0,1 15,10V12A2,2 0 0,1 13,14H11V16H15V18H9V14A2,2 0 0,1 11,12H13V10H9V8Z\";\r\nexport var mdiHomeFloor3 = \"M12,3L22,12H19V20H5V12H2L12,3M15,11.5V10C15,8.89 14.1,8 13,8H9V10H13V12H11V14H13V16H9V18H13A2,2 0 0,0 15,16V14.5A1.5,1.5 0 0,0 13.5,13A1.5,1.5 0 0,0 15,11.5Z\";\r\nexport var mdiHomeFloorA = \"M12,3L2,12H5V20H19V12H22L12,3M11,8H13A2,2 0 0,1 15,10V18H13V15H11V18H9V10C9,8.89 9.9,8 11,8M11,10V13H13V10H11Z\";\r\nexport var mdiHomeFloorB = \"M12,3L2,12H5V20H19V12H22L12,3M9,8H13A2,2 0 0,1 15,10V11.5A1.5,1.5 0 0,1 13.5,13A1.5,1.5 0 0,1 15,14.5V16A2,2 0 0,1 13,18H9V8M11,10V12H13V10H11M11,14V16H13V14H11Z\";\r\nexport var mdiHomeFloorG = \"M12,3L2,12H5V20H19V12H22L12,3M11,8H15V10H11V16H13V12H15V16C15,17.11 14.1,18 13,18H11A2,2 0 0,1 9,16V10C9,8.89 9.9,8 11,8Z\";\r\nexport var mdiHomeFloorL = \"M12,3L2,12H5V20H19V12H22L12,3M9,8H11V16H15V18H9V8Z\";\r\nexport var mdiHomeFloorNegative1 = \"M12,3L2,12H5V20H19V12H22L12,3M11,15H7V13H11V15M15,18H13V10H11V8H15V18Z\";\r\nexport var mdiHomeGroup = \"M17,16H15V22H12V17H8V22H5V16H3L10,10L17,16M6,2L10,6H9V9H7V6H5V9H3V6H2L6,2M18,3L23,8H22V12H19V9H17V12H15.34L14,10.87V8H13L18,3Z\";\r\nexport var mdiHomeHeart = \"M2,12L12,3L22,12H19V20H5V12H2M12,18L12.72,17.34C15.3,15 17,13.46 17,11.57C17,10.03 15.79,8.82 14.25,8.82C13.38,8.82 12.55,9.23 12,9.87C11.45,9.23 10.62,8.82 9.75,8.82C8.21,8.82 7,10.03 7,11.57C7,13.46 8.7,15 11.28,17.34L12,18Z\";\r\nexport var mdiHomeImportOutline = \"M15 13L11 9V12H2V14H11V17M22 12H20V21H4V16H6V19H18V11L12 5L7 10H4L12 2L22 12Z\";\r\nexport var mdiHomeLightbulb = \"M12 3L2 12H5V20H19V12H22M13 18H11V17H13M13.5 14.58V16H10.5V14.58A3 3 0 1 1 13.5 14.58Z\";\r\nexport var mdiHomeLightbulbOutline = \"M12 2L2 12H4V21H20V12H22M12 5L18 11V19H6V11M13.5 14.58V16H10.5V14.58C9.07 13.75 8.57 11.92 9.4 10.5C10.23 9.05 12.07 8.56 13.5 9.38S15.43 12.05 14.6 13.5C14.34 13.94 13.96 14.32 13.5 14.58M13 17H11V18H13V17Z\";\r\nexport var mdiHomeLock = \"M12,3L2,12H5V20H19V12H22L12,3M12,9A3,3 0 0,1 15,12V13H16V17H8V13H9V12A3,3 0 0,1 12,9M12,11A1,1 0 0,0 11,12V13H13V12C13,11.5 12.6,11 12,11Z\";\r\nexport var mdiHomeLockOpen = \"M12,3L2,12H5V20H19V12H22L12,3M12,8A3,3 0 0,1 15,11H13A1,1 0 0,0 12,10A1,1 0 0,0 11,11V13H16V17H8V13H9V11A3,3 0 0,1 12,8Z\";\r\nexport var mdiHomeMapMarker = \"M12,3L2,12H5V20H19V12H22L12,3M12,7.7C14.1,7.7 15.8,9.4 15.8,11.5C15.8,14.5 12,18 12,18C12,18 8.2,14.5 8.2,11.5C8.2,9.4 9.9,7.7 12,7.7M12,10A1.5,1.5 0 0,0 10.5,11.5A1.5,1.5 0 0,0 12,13A1.5,1.5 0 0,0 13.5,11.5A1.5,1.5 0 0,0 12,10Z\";\r\nexport var mdiHomeMinus = \"M12,3L2,12H5V20H19V12H22L12,3M16,13V15H8V13H16Z\";\r\nexport var mdiHomeMinusOutline = \"M12 2L2 12H4V21H20V12H22M12 5L18 11V19H6V11M16 13V15H8V13H16Z\";\r\nexport var mdiHomeModern = \"M6,21V8A2,2 0 0,1 8,6L16,3V6A2,2 0 0,1 18,8V21H12V16H8V21H6M14,19H16V16H14V19M8,13H10V9H8V13M12,13H16V9H12V13Z\";\r\nexport var mdiHomeOutline = \"M12 5.69L17 10.19V18H15V12H9V18H7V10.19L12 5.69M12 3L2 12H5V20H11V14H13V20H19V12H22L12 3Z\";\r\nexport var mdiHomePlus = \"M12,3L2,12H5V20H19V12H22L12,3M11,10H13V13H16V15H13V18H11V15H8V13H11V10Z\";\r\nexport var mdiHomePlusOutline = \"M12 2L2 12H4V21H20V12H22M12 5L18 11V19H6V11M11 10H13V13H16V15H13V18H11V15H8V13H11V10Z\";\r\nexport var mdiHomeRemove = \"M12 3L2 12H5V20H19V12H22L12 3M15.54 16.12L14.12 17.54L12 15.41L9.88 17.54L8.47 16.12L10.59 14L8.47 11.88L9.88 10.47L12 12.59L14.12 10.47L15.54 11.88L13.41 14L15.54 16.12Z\";\r\nexport var mdiHomeRemoveOutline = \"M12 2L2 12H4V21H20V12H22M12 5L18 11V19H6V11M14.12 10.46L15.54 11.88L13.41 14L15.54 16.12L14.12 17.54L12 15.41L9.88 17.54L8.47 16.12L10.59 14L8.47 11.88L9.88 10.47L12 12.59L14.12 10.46Z\";\r\nexport var mdiHomeRoof = \"M19 16H22L12 7L2 16H5L12 9.69L19 16M7 8.81V7H4V11.5L7 8.81Z\";\r\nexport var mdiHomeSearch = \"M19.31 18.9C19.75 18.21 20 17.38 20 16.5C20 14 18 12 15.5 12S11 14 11 16.5 13 21 15.5 21C16.37 21 17.19 20.75 17.88 20.32L21 23.39L22.39 22L19.31 18.9M15.5 19C14.12 19 13 17.88 13 16.5S14.12 14 15.5 14 18 15.12 18 16.5 16.88 19 15.5 19M5 20V12H2L12 3L22 12H20.18C19 10.77 17.34 10 15.5 10C11.92 10 9 12.92 9 16.5C9 17.79 9.38 19 10.03 20H5Z\";\r\nexport var mdiHomeSearchOutline = \"M19.31 18.9C19.75 18.21 20 17.38 20 16.5C20 14 18 12 15.5 12S11 14 11 16.5 13 21 15.5 21C16.37 21 17.19 20.75 17.88 20.32L21 23.39L22.39 22L19.31 18.9M15.5 19C14.12 19 13 17.88 13 16.5S14.12 14 15.5 14 18 15.12 18 16.5 16.88 19 15.5 19M5 20V12H2L12 3L22 12H20.18C19.33 11.11 18.23 10.47 17 10.18L12 5.69L7 10.19V18H9.18C9.35 18.72 9.64 19.39 10.03 20H5Z\";\r\nexport var mdiHomeSwitch = \"M6.5 15V11H9.5V15H13V9H15L8 3L1 9H3V15H6.5M9 16V18H15V16L18 19L15 22V20H9V22L6 19L9 16M23 9H21V15H15V10H19L13.54 5.11L16 3L23 9Z\";\r\nexport var mdiHomeSwitchOutline = \"M8 3L1 9H3V15H7V11H9V15H13V9H15L8 3M11.5 9V13.5H10.5V9.5H5.5V13.5H4.5V8L8 5L11.5 8V9M9 16V18H15V16L18 19L15 22V20H9V22L6 19L9 16M23 9H21V15H15V10H19L13.54 5.11L16 3L23 9Z\";\r\nexport var mdiHomeThermometer = \"M12 3L2 12H5V20H19V12H22L12 3M12 8A1 1 0 0 1 13 9V14.27A2 2 0 0 1 14 16A2 2 0 0 1 12 18A2 2 0 0 1 10 16A2 2 0 0 1 11 14.27V9A1 1 0 0 1 12 8Z\";\r\nexport var mdiHomeThermometerOutline = \"M12 2L2 12H4V21H20V12H22M12 5L18 11V19H6V11M12 8C11.45 8 11 8.45 11 9V13.27C10.38 13.63 10 14.29 10 15C10 16.11 10.9 17 12 17S14 16.11 14 15C14 14.29 13.62 13.63 13 13.27V9C13 8.45 12.55 8 12 8Z\";\r\nexport var mdiHomeVariant = \"M12,3L20,9V21H15V14H9V21H4V9L12,3Z\";\r\nexport var mdiHomeVariantOutline = \"M9,13H15V19H18V10L12,5.5L6,10V19H9V13M4,21V9L12,3L20,9V21H4Z\";\r\nexport var mdiHook = \"M18,6C18,7.82 16.76,9.41 15,9.86V17A5,5 0 0,1 10,22A5,5 0 0,1 5,17V12L10,17H7A3,3 0 0,0 10,20A3,3 0 0,0 13,17V9.86C11.23,9.4 10,7.8 10,5.97C10,3.76 11.8,2 14,2C16.22,2 18,3.79 18,6M14,8A2,2 0 0,0 16,6A2,2 0 0,0 14,4A2,2 0 0,0 12,6A2,2 0 0,0 14,8Z\";\r\nexport var mdiHookOff = \"M13,9.86V11.18L15,13.18V9.86C17.14,9.31 18.43,7.13 17.87,5C17.32,2.85 15.14,1.56 13,2.11C10.86,2.67 9.57,4.85 10.13,7C10.5,8.4 11.59,9.5 13,9.86M14,4A2,2 0 0,1 16,6A2,2 0 0,1 14,8A2,2 0 0,1 12,6A2,2 0 0,1 14,4M18.73,22L14.86,18.13C14.21,20.81 11.5,22.46 8.83,21.82C6.6,21.28 5,19.29 5,17V12L10,17H7A3,3 0 0,0 10,20A3,3 0 0,0 13,17V16.27L2,5.27L3.28,4L13,13.72L15,15.72L20,20.72L18.73,22Z\";\r\nexport var mdiHoopHouse = \"M12 5C6.5 5 2 9.5 2 15V21H22V15C22 9.5 17.5 5 12 5M12 7C14.53 7 16.78 8.17 18.25 10H5.76C7.22 8.17 9.47 7 12 7M8 19H4V15C4 13.94 4.21 12.93 4.58 12H8V19M14 19H10V12H14V19M20 19H16V12H19.42C19.79 12.93 20 13.94 20 15V19Z\";\r\nexport var mdiHops = \"M21,12C21,12 12.5,10 12.5,2C12.5,2 21,2 21,12M3,12C3,2 11.5,2 11.5,2C11.5,10 3,12 3,12M12,6.5C12,6.5 13,8.66 15,10.5C14.76,14.16 12,16 12,16C12,16 9.24,14.16 9,10.5C11,8.66 12,6.5 12,6.5M20.75,13.25C20.75,13.25 20,17 18,19C18,19 15.53,17.36 14.33,14.81C15.05,13.58 15.5,12.12 15.75,11.13C17.13,12.18 18.75,13 20.75,13.25M15.5,18.25C14.5,20.25 12,21.75 12,21.75C12,21.75 9.5,20.25 8.5,18.25C8.5,18.25 9.59,17.34 10.35,15.8C10.82,16.35 11.36,16.79 12,17C12.64,16.79 13.18,16.35 13.65,15.8C14.41,17.34 15.5,18.25 15.5,18.25M3.25,13.25C5.25,13 6.87,12.18 8.25,11.13C8.5,12.12 8.95,13.58 9.67,14.81C8.47,17.36 6,19 6,19C4,17 3.25,13.25 3.25,13.25Z\";\r\nexport var mdiHorizontalRotateClockwise = \"M12 14L8 10L4 14H7.1C7.56 18.56 9.58 22 12 22S16.44 18.56 16.9 14H14.91C14.57 17.45 13.4 20 12 20S9.43 17.45 9.09 14H12M12 4C13.4 4 14.57 6.55 14.91 10H16.9C16.44 5.44 14.42 2 12 2C9.84 2 8 4.74 7.3 8.58L8 7.88L9.21 9.08C9.64 6.11 10.73 4 12 4M22 13V11H11L13 13H22M2 13H3L5 11H2V13Z\";\r\nexport var mdiHorizontalRotateCounterclockwise = \"M12 10H9.09C9.43 6.55 10.6 4 12 4S14.57 6.55 14.91 10H16.9C16.44 5.44 14.42 2 12 2S7.56 5.44 7.1 10H4L8 14L12 10M12 20C10.73 20 9.64 17.89 9.21 14.92L8 16.12L7.3 15.42C8 19.26 9.84 22 12 22C14.42 22 16.44 18.56 16.9 14H14.91C14.57 17.45 13.4 20 12 20M22 11H13L11 13H22V11M2 13H5L3 11H2V13\";\r\nexport var mdiHorse = \"M22 6V9.5L20.5 10L18.96 7.54C18.83 7.33 18.5 7.42 18.5 7.67V11.25C18.5 12.23 18.11 13.11 17.5 13.78V21H15V15C14.92 15 14.84 15 14.75 15C14.54 15 14.33 14.97 14.13 14.94L9.69 14.2L8.57 16.21L9.53 21H7L6 16.25C5.97 15.95 6 15.65 6.16 15.39L7.18 13.58C6.2 13.03 5.53 12 5.5 10.81C5.46 10.96 5.44 11.18 5.47 11.5C5.5 11.94 5.61 12.59 5.54 13.31C5.5 14.03 5.17 14.77 4.75 15.26C4.32 15.75 3.85 16.09 3.35 16.35L2.65 15.65C2.84 15.18 3.03 14.76 3.07 14.37C3.13 14 3.06 13.7 2.95 13.43L2.42 12.3C2.21 11.79 1.95 11.05 2 10.18C2.03 9.33 2.5 8.22 3.39 7.61C4.29 7 5.26 6.92 6.05 7.08C6.55 7.18 7.06 7.42 7.5 7.76C7.87 7.59 8.3 7.5 8.75 7.5H14.5V7C14.5 4.79 16.29 3 18.5 3H22L21.11 4.34C21.65 4.7 22 5.31 22 6Z\";\r\nexport var mdiHorseHuman = \"M10 3.5C10 2.67 10.67 2 11.5 2S13 2.67 13 3.5 12.33 5 11.5 5 10 4.33 10 3.5M22 8V11.5L20.97 11.85C20.8 13.06 19.76 14 18.5 14H18.42C18.28 14.68 17.95 15.29 17.5 15.78V22H15V17C14.92 17 14.84 17 14.75 17C14.54 17 14.33 16.97 14.13 16.94L9.69 16.2L8.57 18.21L9.32 22H6.78L6 18.25C5.97 17.95 6 17.65 6.16 17.39L7.18 15.58C6.2 15.03 5.53 14 5.5 12.81C5.46 12.96 5.44 13.18 5.47 13.5C5.5 13.94 5.61 14.59 5.54 15.31C5.5 16.03 5.17 16.77 4.75 17.26C4.32 17.75 3.85 18.09 3.35 18.35L2.65 17.65C2.84 17.18 3.03 16.76 3.07 16.37C3.13 16 3.06 15.7 2.95 15.43L2.42 14.3C2.21 13.79 1.95 13.05 2 12.18C2.03 11.33 2.5 10.22 3.39 9.61C4.29 9 5.26 8.91 6.05 9.08C6.55 9.18 7.06 9.42 7.5 9.76C7.87 9.59 8.3 9.5 8.75 9.5H9V8.11C9 7.11 9.68 6.19 10.66 6.03C11.92 5.82 13 6.79 13 8V9.5H14.5V9C14.5 6.79 16.29 5 18.5 5H22L21.11 6.34C21.65 6.7 22 7.31 22 8M20 11.2L18.96 9.54C18.83 9.33 18.5 9.42 18.5 9.67V13C19.33 13 20 12.33 20 11.5V11.2Z\";\r\nexport var mdiHorseVariant = \"M20 8V16L17 17L13.91 11.5C13.65 11.04 12.92 11.27 13 11.81L14 21L4 17L5.15 8.94C5.64 5.53 8.56 3 12 3H20L18.42 5.37C19.36 5.88 20 6.86 20 8Z\";\r\nexport var mdiHorseshoe = \"M19,4H20V1H16V4C16,4 18,8 18,12C18,16 16,19 12,19C8,19 6,16 6,12C6,8 8,4 8,4V1H4V4H5C5,4 2,8 2,14C2,19 7,23 12,23C17,23 22,19 22,14C22,8 19,4 19,4M4,13C3.4,13 3,12.6 3,12C3,11.4 3.4,11 4,11C4.6,11 5,11.4 5,12C5,12.6 4.6,13 4,13M6,19C5.4,19 5,18.6 5,18C5,17.4 5.4,17 6,17C6.6,17 7,17.4 7,18C7,18.6 6.6,19 6,19M12,22C11.4,22 11,21.6 11,21C11,20.4 11.4,20 12,20C12.6,20 13,20.4 13,21C13,21.6 12.6,22 12,22M18,19C17.4,19 17,18.6 17,18C17,17.4 17.4,17 18,17C18.6,17 19,17.4 19,18C19,18.6 18.6,19 18,19M20,13C19.4,13 19,12.6 19,12C19,11.4 19.4,11 20,11C20.6,11 21,11.4 21,12C21,12.6 20.6,13 20,13Z\";\r\nexport var mdiHospital = \"M18 14H14V18H10V14H6V10H10V6H14V10H18\";\r\nexport var mdiHospitalBox = \"M18,14H14V18H10V14H6V10H10V6H14V10H18M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiHospitalBoxOutline = \"M18 14H14V18H10V14H6V10H10V6H14V10H18M20 2H4C2.9 2 2 2.9 2 4V20C2 21.1 2.9 22 4 22H20C21.1 22 22 21.1 22 20V4C22 2.9 21.1 2 20 2M20 20H4V4H20V20Z\";\r\nexport var mdiHospitalBuilding = \"M2,22V7A1,1 0 0,1 3,6H7V2H17V6H21A1,1 0 0,1 22,7V22H14V17H10V22H2M9,4V10H11V8H13V10H15V4H13V6H11V4H9M4,20H8V17H4V20M4,15H8V12H4V15M16,20H20V17H16V20M16,15H20V12H16V15M10,15H14V12H10V15Z\";\r\nexport var mdiHospitalMarker = \"M12,2C15.86,2 19,5.13 19,9C19,14.25 12,22 12,22C12,22 5,14.25 5,9A7,7 0 0,1 12,2M9,6V12H11V10H13V12H15V6H13V8H11V6H9Z\";\r\nexport var mdiHotTub = \"M7,4A2,2 0 0,1 9,6A2,2 0 0,1 7,8A2,2 0 0,1 5,6A2,2 0 0,1 7,4M11.15,12H22V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V12H5V11.25C5,10 6,9 7.25,9H7.28C7.62,9 7.95,9.09 8.24,9.23C8.5,9.35 8.74,9.5 8.93,9.73L10.33,11.28C10.56,11.54 10.84,11.78 11.15,12M7,20V14H5V20H7M11,20V14H9V20H11M15,20V14H13V20H15M19,20V14H17V20H19M18.65,5.86C19.68,6.86 20.16,8.21 19.95,9.57L19.89,10H18L18.09,9.41C18.24,8.62 18,7.83 17.42,7.21L17.35,7.15C16.32,6.14 15.85,4.79 16.05,3.43L16.11,3H18L17.91,3.59C17.76,4.38 18,5.17 18.58,5.79L18.65,5.86M14.65,5.86C15.68,6.86 16.16,8.21 15.95,9.57L15.89,10H14L14.09,9.41C14.24,8.62 14,7.83 13.42,7.21L13.35,7.15C12.32,6.14 11.85,4.79 12.05,3.43L12.11,3H14L13.91,3.59C13.76,4.38 14,5.17 14.58,5.79L14.65,5.86Z\";\r\nexport var mdiHours24 = \"M13 2.05V4.07C16.95 4.56 20 7.92 20 12C20 15.21 18.08 18 15.28 19.28L13 17V22H18L16.78 20.78C19.91 19.07 22 15.76 22 12C22 6.82 18.05 2.55 13 2.05M11 2C9.05 2.2 7.2 2.96 5.68 4.21L7.1 5.63C8.23 4.75 9.58 4.2 11 4V2M4.2 5.68C2.96 7.2 2.2 9.05 2 11H4C4.19 9.58 4.75 8.23 5.63 7.1L4.2 5.68M6 8V10H9V11H8C6.9 11 6 11.9 6 13V16H11V14H8V13H9C10.11 13 11 12.11 11 11V10C11 8.9 10.11 8 9 8H6M12 8V13H15V16H17V13H18V11H17V8H15V11H14V8H12M2 13C2.2 14.95 2.97 16.8 4.22 18.32L5.64 16.9C4.76 15.77 4.2 14.42 4 13H2M7.11 18.37L5.68 19.79C7.2 21.03 9.05 21.8 11 22V20C9.58 19.81 8.24 19.25 7.11 18.37Z\";\r\nexport var mdiHubspot = \"M17.1,8.6V6.2C17.7,5.9 18.2,5.3 18.2,4.6V4.5C18.2,3.5 17.4,2.7 16.4,2.7H16.3C15.3,2.7 14.5,3.5 14.5,4.5V4.6C14.5,5.3 14.9,5.9 15.6,6.2V8.6C14.7,8.7 13.8,9.1 13.1,9.7L6.5,4.6C6.8,3.5 6.1,2.3 5,2.1C3.9,1.9 2.8,2.4 2.5,3.5C2.2,4.6 2.9,5.8 4,6.1C4.5,6.2 5.1,6.2 5.6,5.9L12,10.9C10.8,12.7 10.8,15 12.1,16.8L10.1,18.8C9.9,18.8 9.8,18.7 9.6,18.7C8.7,18.7 7.9,19.5 7.9,20.4C7.9,21.3 8.7,22 9.6,22C10.5,22 11.3,21.2 11.3,20.3V20.3C11.3,20.1 11.3,20 11.2,19.8L13.1,17.9C15.4,19.6 18.7,19.2 20.4,16.9C22.1,14.6 21.7,11.3 19.4,9.6C18.8,9.1 18,8.7 17.1,8.6M16.3,16.4C14.8,16.4 13.6,15.2 13.6,13.7C13.6,12.2 14.8,11 16.3,11C17.8,11 19,12.2 19,13.7C19,15.2 17.8,16.4 16.3,16.4\";\r\nexport var mdiHulu = \"M19.5,12.8V22H14.7V13.9C14.7,13.2 14.1,12.6 13.4,12.6H10.5C9.8,12.6 9.2,13.2 9.2,13.9V22H4.5V2H9.3V8.4C9.6,8.3 9.9,8.2 10.2,8.2H15C17.5,8.2 19.5,10.3 19.5,12.8Z\";\r\nexport var mdiHuman = \"M21,9H15V22H13V16H11V22H9V9H3V7H21M12,2A2,2 0 0,1 14,4A2,2 0 0,1 12,6C10.89,6 10,5.1 10,4C10,2.89 10.89,2 12,2Z\";\r\nexport var mdiHumanBabyChangingTable = \"M6.5 6.08C5.72 6.12 5 6.62 4.72 7.4L3 12.13V22H7V12.84L8.42 8.94L10.7 10H14V8H11.15L7.29 6.2C7.03 6.11 6.76 6.07 6.5 6.08M9 17H21V19H9M10 3.5A2 2 0 0 1 8 5.5A2 2 0 0 1 6 3.5A2 2 0 0 1 8 1.5A2 2 0 0 1 10 3.5M21 14.5A1.5 1.5 0 0 1 19.5 16A1.5 1.5 0 0 1 18 14.5A1.5 1.5 0 0 1 19.5 13A1.5 1.5 0 0 1 21 14.5M9 11V13H11V14C11 15.11 11.89 16 13 16H15C16.11 16 17 15.11 17 14V11H15V13H13V12A1 1 0 0 0 12 11Z\";\r\nexport var mdiHumanCane = \"M18 12.24V22H17.06V12.24C17.06 12.09 17 12 16.93 11.89C16.84 11.8 16.74 11.76 16.62 11.76C16.47 11.76 16.36 11.8 16.27 11.89C16.18 12 16.14 12.1 16.14 12.24V13.16H15.23V12.5C14.53 12.33 13.9 12.04 13.35 11.63C12.8 11.22 12.34 10.74 11.96 10.19L11.61 11.39C11.5 11.81 11.5 12.24 11.5 12.68L11.5 13L11.5 13.33L13.35 15.94V22H11.5V17.34L9.82 15L9.65 18.25L6.86 22L5.38 20.87L7.77 17.64V12.68C7.77 12.15 7.82 11.63 7.91 11.11L8.25 9.54L6.86 10.32V13.63H5V9.23L10 6.4C10.29 6.26 10.59 6.18 10.91 6.18C11.23 6.18 11.54 6.27 11.83 6.44C12.15 6.62 12.39 6.88 12.57 7.23L13.31 8.8C13.6 9.38 14.04 9.87 14.64 10.26C15.23 10.65 15.89 10.85 16.62 10.85C17 10.85 17.32 11 17.6 11.24C17.88 11.5 18 11.83 18 12.24M12 2C13.11 2 14 2.9 14 4C14 5.11 13.11 6 12 6C10.9 6 10 5.11 10 4C10 2.9 10.9 2 12 2Z\";\r\nexport var mdiHumanCapacityDecrease = \"M16 4C16 2.9 16.9 2 18 2S20 2.9 20 4 19.1 6 18 6 16 5.1 16 4M20.78 7.58C19.93 7.21 19 7 18 7C17.33 7 16.69 7.1 16.08 7.28C16.66 7.83 17 8.6 17 9.43V10H22V9.43C22 8.62 21.5 7.9 20.78 7.58M6 6C7.1 6 8 5.1 8 4S7.1 2 6 2 4 2.9 4 4 4.9 6 6 6M7.92 7.28C7.31 7.1 6.67 7 6 7C5 7 4.07 7.21 3.22 7.58C2.5 7.9 2 8.62 2 9.43V10H7V9.43C7 8.6 7.34 7.83 7.92 7.28M10 4C10 2.9 10.9 2 12 2S14 2.9 14 4 13.1 6 12 6 10 5.1 10 4M16 10H8V9.43C8 8.62 8.5 7.9 9.22 7.58C10.07 7.21 11 7 12 7C13 7 13.93 7.21 14.78 7.58C15.5 7.9 16 8.62 16 9.43V10M15 16C15 14.9 15.9 14 17 14S19 14.9 19 16 18.1 18 17 18 15 17.1 15 16M21 22H13V21.43C13 20.62 13.5 19.9 14.22 19.58C15.07 19.21 16 19 17 19C18 19 18.93 19.21 19.78 19.58C20.5 19.9 21 20.62 21 21.43V22M5 16C5 14.9 5.9 14 7 14S9 14.9 9 16 8.1 18 7 18 5 17.1 5 16M11 22H3V21.43C3 20.62 3.5 19.9 4.22 19.58C5.07 19.21 6 19 7 19C8 19 8.93 19.21 9.78 19.58C10.5 19.9 11 20.62 11 21.43V22M12.75 13V11H11.25V13H9L12 16L15 13H12.75Z\";\r\nexport var mdiHumanCapacityIncrease = \"M16 4C16 2.9 16.9 2 18 2C19.1 2 20 2.9 20 4C20 5.1 19.1 6 18 6C16.9 6 16 5.1 16 4M20.78 7.58C19.93 7.21 19 7 18 7C17.33 7 16.69 7.1 16.08 7.28C16.66 7.83 17 8.6 17 9.43V10H22V9.43C22 8.62 21.5 7.9 20.78 7.58M6 6C7.1 6 8 5.1 8 4C8 2.9 7.1 2 6 2C4.9 2 4 2.9 4 4C4 5.1 4.9 6 6 6M7.92 7.28C7.31 7.1 6.67 7 6 7C5 7 4.07 7.21 3.22 7.58C2.5 7.9 2 8.62 2 9.43V10H7V9.43C7 8.6 7.34 7.83 7.92 7.28M10 4C10 2.9 10.9 2 12 2C13.1 2 14 2.9 14 4C14 5.1 13.1 6 12 6C10.9 6 10 5.1 10 4M16 10H8V9.43C8 8.62 8.5 7.9 9.22 7.58C10.07 7.21 11 7 12 7C13 7 13.93 7.21 14.78 7.58C15.5 7.9 16 8.62 16 9.43M15 16C15 14.9 15.9 14 17 14C18.1 14 19 14.9 19 16C19 17.1 18.1 18 17 18C15.9 18 15 17.1 15 16M21 22H13V21.43C13 20.62 13.5 19.9 14.22 19.58C15.07 19.21 16 19 17 19C18 19 18.93 19.21 19.78 19.58C20.5 19.9 21 20.62 21 21.43M5 16C5 14.9 5.9 14 7 14C8.1 14 9 14.9 9 16C9 17.1 8.1 18 7 18C5.9 18 5 17.1 5 16M11 22H3V21.43C3 20.62 3.5 19.9 4.22 19.58C5.07 19.21 6 19 7 19C8 19 8.93 19.21 9.78 19.58C10.5 19.9 11 20.62 11 21.43M12.75 14V16H11.25V14H9L12 11L15 14Z\";\r\nexport var mdiHumanChild = \"M12,2A3,3 0 0,1 15,5A3,3 0 0,1 12,8A3,3 0 0,1 9,5A3,3 0 0,1 12,2M11,22H8V16H6V9H18V16H16V22H13V18H11V22Z\";\r\nexport var mdiHumanEdit = \"M19.07 14.88L21.12 16.93L15.06 23H13V20.94L19.07 14.88M21.04 13.13C21.18 13.13 21.31 13.19 21.42 13.3L22.7 14.58C22.92 14.79 22.92 15.14 22.7 15.35L21.7 16.35L19.65 14.3L20.65 13.3C20.76 13.19 20.9 13.13 21.04 13.13M21 9H15V16L13 18V16H11V22H9V9H3V7H21V9M12 2C13.1 2 14 2.9 14 4C14 5.1 13.1 6 12 6C10.9 6 10 5.1 10 4C10 2.9 10.9 2 12 2Z\";\r\nexport var mdiHumanFemale = \"M12,2A2,2 0 0,1 14,4A2,2 0 0,1 12,6A2,2 0 0,1 10,4A2,2 0 0,1 12,2M10.5,22V16H7.5L10.09,8.41C10.34,7.59 11.1,7 12,7C12.9,7 13.66,7.59 13.91,8.41L16.5,16H13.5V22H10.5Z\";\r\nexport var mdiHumanFemaleBoy = \"M7.5,2A2,2 0 0,1 9.5,4A2,2 0 0,1 7.5,6A2,2 0 0,1 5.5,4A2,2 0 0,1 7.5,2M6,22V16H3L5.6,8.4C5.9,7.6 6.6,7 7.5,7C8.4,7 9.2,7.6 9.4,8.4L12,16H9V22H6M14.5,12A2,2 0 0,1 16.5,10A2,2 0 0,1 18.5,12A2,2 0 0,1 16.5,14A2,2 0 0,1 14.5,12M13.5,15H19.5V19H18V22H15V19H13.5V15Z\";\r\nexport var mdiHumanFemaleDance = \"M17 17H15V23H13V17H10.88L9.34 18.93L11.71 21.29L10.29 22.71L7.93 20.34C7.58 20 7.38 19.53 7.35 19.04C7.32 18.55 7.47 18.06 7.78 17.68L8.32 17H7L9 13V10C8.38 10.47 7.88 11.07 7.53 11.76C7.18 12.46 7 13.22 7 14H5C5 12.14 5.74 10.36 7.05 9.05C8.36 7.74 10.14 7 12 7C13.33 7 14.6 6.47 15.54 5.54C16.47 4.6 17 3.33 17 2H19C19 3.32 18.62 4.62 17.91 5.73C17.2 6.85 16.2 7.74 15 8.31V13L17 17M14 4C14 4.4 13.88 4.78 13.66 5.11C13.44 5.44 13.13 5.7 12.77 5.85C12.4 6 12 6.04 11.61 5.96C11.22 5.88 10.87 5.69 10.59 5.41C10.31 5.13 10.12 4.78 10.04 4.39C9.96 4 10 3.6 10.15 3.24C10.3 2.87 10.56 2.56 10.89 2.34C11.22 2.12 11.6 2 12 2C12.53 2 13.04 2.21 13.41 2.59C13.79 2.96 14 3.47 14 4Z\";\r\nexport var mdiHumanFemaleFemale = \"M7.5,2A2,2 0 0,1 9.5,4A2,2 0 0,1 7.5,6A2,2 0 0,1 5.5,4A2,2 0 0,1 7.5,2M6,22V16H3L5.6,8.4C5.9,7.6 6.6,7 7.5,7C8.4,7 9.2,7.6 9.4,8.4L12,16L14.6,8.4C14.9,7.6 15.6,7 16.5,7C17.4,7 18.2,7.6 18.4,8.4L21,16H18V22H15V16H12L9,16V22H6M16.5,2A2,2 0 0,1 18.5,4A2,2 0 0,1 16.5,6A2,2 0 0,1 14.5,4A2,2 0 0,1 16.5,2Z\";\r\nexport var mdiHumanFemaleGirl = \"M7.5,2A2,2 0 0,1 9.5,4A2,2 0 0,1 7.5,6A2,2 0 0,1 5.5,4A2,2 0 0,1 7.5,2M6,22V16H3L5.6,8.4C5.9,7.6 6.6,7 7.5,7C8.4,7 9.2,7.6 9.4,8.4L12,16H9V22H6M14.5,12A2,2 0 0,1 16.5,10A2,2 0 0,1 18.5,12A2,2 0 0,1 16.5,14A2,2 0 0,1 14.5,12M15,15H18L19.5,19H18V22H15V19H13.5L15,15Z\";\r\nexport var mdiHumanGreeting = \"M12 2C13.1 2 14 2.9 14 4S13.1 6 12 6 10 5.1 10 4 10.9 2 12 2M15.9 8.1C15.5 7.7 14.8 7 13.5 7H11C8.2 7 6 4.8 6 2H4C4 5.2 6.1 7.8 9 8.7V22H11V16H13V22H15V10.1L19 14L20.4 12.6L15.9 8.1Z\";\r\nexport var mdiHumanGreetingProximity = \"M11 14H9C9 9.03 13.03 5 18 5V7C14.13 7 11 10.13 11 14M18 11V9C15.24 9 13 11.24 13 14H15C15 12.34 16.34 11 18 11M7 4C7 2.89 6.11 2 5 2S3 2.89 3 4 3.89 6 5 6 7 5.11 7 4M11.45 4.5H9.45C9.21 5.92 8 7 6.5 7H3.5C2.67 7 2 7.67 2 8.5V11H8V8.74C9.86 8.15 11.25 6.5 11.45 4.5M19 17C20.11 17 21 16.11 21 15S20.11 13 19 13 17 13.89 17 15 17.89 17 19 17M20.5 18H17.5C16 18 14.79 16.92 14.55 15.5H12.55C12.75 17.5 14.14 19.15 16 19.74V22H22V19.5C22 18.67 21.33 18 20.5 18Z\";\r\nexport var mdiHumanGreetingVariant = \"M1.5,4V5.5C1.5,9.65 3.71,13.28 7,15.3V20H22V18C22,15.34 16.67,14 14,14C14,14 13.83,14 13.75,14C9,14 5,10 5,5.5V4M14,4A4,4 0 0,0 10,8A4,4 0 0,0 14,12A4,4 0 0,0 18,8A4,4 0 0,0 14,4Z\";\r\nexport var mdiHumanHandsdown = \"M12,1C10.89,1 10,1.9 10,3C10,4.11 10.89,5 12,5C13.11,5 14,4.11 14,3A2,2 0 0,0 12,1M10,6C9.73,6 9.5,6.11 9.31,6.28H9.3L4,11.59L5.42,13L9,9.41V22H11V15H13V22H15V9.41L18.58,13L20,11.59L14.7,6.28C14.5,6.11 14.27,6 14,6\";\r\nexport var mdiHumanHandsup = \"M5,1C5,3.7 6.56,6.16 9,7.32V22H11V15H13V22H15V7.31C17.44,6.16 19,3.7 19,1H17A5,5 0 0,1 12,6A5,5 0 0,1 7,1M12,1C10.89,1 10,1.89 10,3C10,4.11 10.89,5 12,5C13.11,5 14,4.11 14,3C14,1.89 13.11,1 12,1Z\";\r\nexport var mdiHumanMale = \"M12,2A2,2 0 0,1 14,4A2,2 0 0,1 12,6A2,2 0 0,1 10,4A2,2 0 0,1 12,2M10.5,7H13.5A2,2 0 0,1 15.5,9V14.5H14V22H10V14.5H8.5V9A2,2 0 0,1 10.5,7Z\";\r\nexport var mdiHumanMaleBoard = \"M20,17A2,2 0 0,0 22,15V4A2,2 0 0,0 20,2H9.46C9.81,2.61 10,3.3 10,4H20V15H11V17M15,7V9H9V22H7V16H5V22H3V14H1.5V9A2,2 0 0,1 3.5,7H15M8,4A2,2 0 0,1 6,6A2,2 0 0,1 4,4A2,2 0 0,1 6,2A2,2 0 0,1 8,4Z\";\r\nexport var mdiHumanMaleBoardPoll = \"M20 17C21.1 17 22 16.1 22 15V4C22 2.9 21.1 2 20 2H9.5C9.8 2.6 10 3.3 10 4H20V15H11V17M15 7V9H9V22H7V16H5V22H3V14H1.5V9C1.5 7.9 2.4 7 3.5 7H15M8 4C8 5.1 7.1 6 6 6S4 5.1 4 4 4.9 2 6 2 8 2.9 8 4M17 6H19V14H17V6M14 10H16V14H14V10M11 10H13V14H11V10Z\";\r\nexport var mdiHumanMaleBoy = \"M7.5,2A2,2 0 0,1 9.5,4A2,2 0 0,1 7.5,6A2,2 0 0,1 5.5,4A2,2 0 0,1 7.5,2M6,7H9A2,2 0 0,1 11,9V14.5H9.5V22H5.5V14.5H4V9A2,2 0 0,1 6,7M14.5,12A2,2 0 0,1 16.5,10A2,2 0 0,1 18.5,12A2,2 0 0,1 16.5,14A2,2 0 0,1 14.5,12M13.5,15H19.5V19H18V22H15V19H13.5V15Z\";\r\nexport var mdiHumanMaleChild = \"M7 2C5.9 2 5 2.9 5 4S5.9 6 7 6 9 5.11 9 4 8.11 2 7 2M5 7C3.89 7 3 7.89 3 9V15H5V22H10V11.6L12.53 16H14.97L16 14.66V22H20V17H21V14C21 12.89 20.11 12 19 12H16.5C15.9 12 15.37 12.26 15 12.68C14.67 13.1 14.32 13.56 14 14H13.69L10 7.66C9.84 7.38 9.22 7 8.5 7H5M18 8C17.17 8 16.5 8.67 16.5 9.5S17.17 11 18 11 19.5 10.33 19.5 9.5 18.83 8 18 8Z\";\r\nexport var mdiHumanMaleFemale = \"M7.5,2A2,2 0 0,1 9.5,4A2,2 0 0,1 7.5,6A2,2 0 0,1 5.5,4A2,2 0 0,1 7.5,2M6,7H9A2,2 0 0,1 11,9V14.5H9.5V22H5.5V14.5H4V9A2,2 0 0,1 6,7M16.5,2A2,2 0 0,1 18.5,4A2,2 0 0,1 16.5,6A2,2 0 0,1 14.5,4A2,2 0 0,1 16.5,2M15,22V16H12L14.59,8.41C14.84,7.59 15.6,7 16.5,7C17.4,7 18.16,7.59 18.41,8.41L21,16H18V22H15Z\";\r\nexport var mdiHumanMaleFemaleChild = \"M16 4C16 2.9 16.9 2 18 2S20 2.9 20 4 19.1 6 18 6 16 5.1 16 4M20 22V16H22.5L20 8.4C19.7 7.6 19 7 18.1 7H18C17.1 7 16.4 7.6 16.1 8.4L15.2 11C16.3 11.6 17 12.7 17 14.1V22.1H20M12.5 11.5C13.3 11.5 14 10.8 14 10S13.3 8.5 12.5 8.5 11 9.2 11 10 11.7 11.5 12.5 11.5M5.5 6C6.6 6 7.5 5.1 7.5 4S6.6 2 5.5 2 3.5 2.9 3.5 4 4.4 6 5.5 6M7.5 22V15H9V9C9 7.9 8.1 7 7 7H4C2.9 7 2 7.9 2 9V15H3.5V22H7.5M14 22V18H15V14C15 13.2 14.3 12.5 13.5 12.5H11.5C10.7 12.5 10 13.2 10 14V18H11V22H14Z\";\r\nexport var mdiHumanMaleGirl = \"M7.5,2A2,2 0 0,1 9.5,4A2,2 0 0,1 7.5,6A2,2 0 0,1 5.5,4A2,2 0 0,1 7.5,2M6,7H9A2,2 0 0,1 11,9V14.5H9.5V22H5.5V14.5H4V9A2,2 0 0,1 6,7M14.5,12A2,2 0 0,1 16.5,10A2,2 0 0,1 18.5,12A2,2 0 0,1 16.5,14A2,2 0 0,1 14.5,12M15,15H18L19.5,19H18V22H15V19H13.5L15,15Z\";\r\nexport var mdiHumanMaleHeight = \"M7,2C8.78,2 9.67,4.16 8.42,5.42C7.16,6.67 5,5.78 5,4A2,2 0 0,1 7,2M5.5,7H8.5A2,2 0 0,1 10.5,9V14.5H9V22H5V14.5H3.5V9A2,2 0 0,1 5.5,7M21,8H15V10H21M21,11H18V13H21M21,2H15V4H21M21,5H18V7H21M21,14H15V16H21M21,20H15V22H21M21,17H18V19H21\";\r\nexport var mdiHumanMaleHeightVariant = \"M7,2C8.78,2 9.67,4.16 8.42,5.42C7.16,6.67 5,5.78 5,4A2,2 0 0,1 7,2M5.5,7H8.5A2,2 0 0,1 10.5,9V14.5H9V22H5V14.5H3.5V9A2,2 0 0,1 5.5,7M19,8H21L18,4L15,8H17V16H15L18,20L21,16H19M22,2H14V4H22M22,20H14V22H22\";\r\nexport var mdiHumanMaleMale = \"M7.5,2A2,2 0 0,1 9.5,4A2,2 0 0,1 7.5,6A2,2 0 0,1 5.5,4A2,2 0 0,1 7.5,2M6,7H9A2,2 0 0,1 11,9V14.5H9.5V22H5.5V14.5H4V9A2,2 0 0,1 6,7M16.5,2A2,2 0 0,1 18.5,4A2,2 0 0,1 16.5,6A2,2 0 0,1 14.5,4A2,2 0 0,1 16.5,2M15,7H18A2,2 0 0,1 20,9V14.5H18.5V22H14.5V14.5H13V9A2,2 0 0,1 15,7Z\";\r\nexport var mdiHumanPregnant = \"M9,4C9,2.89 9.89,2 11,2C12.11,2 13,2.89 13,4C13,5.11 12.11,6 11,6C9.89,6 9,5.11 9,4M16,13C16,11.66 15.17,10.5 14,10A3,3 0 0,0 11,7A3,3 0 0,0 8,10V17H10V22H13V17H16V13Z\";\r\nexport var mdiHumanQueue = \"M5 6C3.9 6 3 6.9 3 8S3.9 10 5 10 7 9.11 7 8 6.11 6 5 6M12 4C10.9 4 10 4.89 10 6S10.9 8 12 8 14 7.11 14 6 13.11 4 12 4M19 2C17.9 2 17 2.9 17 4S17.9 6 19 6 21 5.11 21 4 20.11 2 19 2M3.5 11C2.67 11 2 11.67 2 12.5V17H3V22H7V17H8V12.5C8 11.67 7.33 11 6.5 11H3.5M10.5 9C9.67 9 9 9.67 9 10.5V15H10V20H14V15H15V10.5C15 9.67 14.33 9 13.5 9H10.5M17.5 7C16.67 7 16 7.67 16 8.5V13H17V18H21V13H22V8.5C22 7.67 21.33 7 20.5 7H17.5Z\";\r\nexport var mdiHumanScooter = \"M16.5 2.25C17.33 2.25 18 2.92 18 3.75C18 4.58 17.33 5.25 16.5 5.25C15.67 5.25 15 4.58 15 3.75C15 2.92 15.67 2.25 16.5 2.25M20 18C21.11 18 22 18.9 22 20C22 21.11 21.11 22 20 22C19.26 22 18.61 21.6 18.27 21H8.73C8.39 21.6 7.74 22 7 22C5.9 22 5 21.11 5 20C5 18.9 5.9 18 7 18C7.74 18 8.39 18.4 8.73 19H13V13.5L9.73 11.23L6.77 14C6.36 14.37 5.73 14.34 5.35 13.94L2.28 10.65C1.91 10.24 1.93 9.61 2.33 9.23C2.74 8.86 3.37 8.88 3.74 9.28L6.13 11.84L13.26 5.2L13.3 5.18C13.72 4.82 14.35 4.88 14.71 5.3L16.97 8H20C20.55 8 21 8.45 21 9C21 9.55 20.55 10 20 10H16.5C16.15 10 15.85 9.82 15.67 9.56L14.17 7.77L11.64 10.13L14.57 12.18H14.57C14.83 12.36 15 12.66 15 13V19H15.61C16.04 17.13 17.63 15.7 19.58 15.5L18.81 11H20.31L21.39 17.34C20.97 17.12 20.5 17 20 17C18.69 17 17.58 17.84 17.17 19H18.27C18.61 18.4 19.26 18 20 18Z\";\r\nexport var mdiHumanWheelchair = \"M8.5 4A2 2 0 0 1 6.5 6A2 2 0 0 1 4.5 4A2 2 0 0 1 6.5 2A2 2 0 0 1 8.5 4M5 7C3.89 7 3 7.89 3 9V15H5V22H8.61A7 7 0 0 1 6.5 17A7 7 0 0 1 10 10.95V9C10 7.89 9.11 7 8 7M13 8V16H18.5L21.2 19.6L22.8 18.4L19.5 14H15V8M12 12.23A5 5 0 0 0 8.5 17A5 5 0 0 0 13.5 22A5 5 0 0 0 18.5 17H16.5A3 3 0 0 1 13.5 20A3 3 0 0 1 10.5 17A3 3 0 0 1 12 14.41Z\";\r\nexport var mdiHumbleBundle = \"M16.91,18.12C14.09,18.12 18.43,2.13 18.43,2.13H15.53C15.53,2.13 14.34,5.89 13.55,10.07H11.05C11.11,9.21 11.15,8.34 11.13,7.5C11,0.59 7,1.87 5.18,3.45C3.47,4.95 2.03,7.8 2,10C2.27,10 3.35,10 3.35,10C3.35,10 4.25,5.88 7.07,5.88C9.89,5.88 5.54,21.87 5.54,21.87H8.45C8.45,21.87 9.95,17.59 10.7,12.81L13.09,12.8C12.95,14.04 12.91,15.4 12.93,16.67C13.04,23.56 17.06,22.08 18.86,20.5C20.67,18.92 22,15.58 22,14H20.61C20.62,14.12 19.73,18.12 16.91,18.12V18.12Z\";\r\nexport var mdiHvac = \"M8.58 14C8.3 13.55 8.11 13.03 8.06 12.5H15.94C15.89 13.03 15.7 13.55 15.47 14H8.58M12 16C10.97 16 10.08 15.61 9.38 15H14.63C13.92 15.61 13.03 16 12 16M12 8C13.03 8 13.92 8.39 14.63 9H9.38C10.08 8.39 10.97 8 12 8M8.58 10H15.42C15.7 10.45 15.89 10.97 15.94 11.5H8.06C8.11 10.97 8.3 10.45 8.58 10M3 3V21H21V3H3M12 18C8.67 18 6 15.33 6 12S8.67 6 12 6 18 8.67 18 12 15.33 18 12 18Z\";\r\nexport var mdiHvacOff = \"M22.11 21.46L2.39 1.73L1.11 3L3 4.89V21H19.11L20.84 22.73L22.11 21.46M12 18C8.67 18 6 15.33 6 12C6 10.82 6.34 9.73 6.92 8.81L8.43 10.32C8.24 10.69 8.1 11.09 8.06 11.5H9.61L10.61 12.5H8.06C8.11 13.03 8.3 13.55 8.58 14H12.11L13.11 15H9.38C10.08 15.61 10.97 16 12 16C12.63 16 13.19 15.84 13.7 15.59L15.19 17.08C14.27 17.66 13.18 18 12 18M12 8C13.03 8 13.92 8.39 14.63 9H12.2L11.27 8.07C11.5 8.03 11.75 8 12 8M9.67 6.47L6.2 3H21V17.8L17.53 14.33C17.83 13.62 18 12.83 18 12C18 8.67 15.33 6 12 6C11.17 6 10.38 6.17 9.67 6.47M15.94 11.5H14.7L13.2 10H15.42C15.7 10.45 15.89 10.97 15.94 11.5Z\";\r\nexport var mdiHydraulicOilLevel = \"M15 18C13.34 18 12 16.66 12 15C12 13 15 9.63 15 9.63S18 13 18 15C18 16.66 16.66 18 15 18M20 4V20H10V4H8V20C8 21.11 8.89 22 10 22H20C21.11 22 22 21.11 22 20V4H20M2 19L7 14L2 9V19M16 6V2H14V6H11V8H19V6H16Z\";\r\nexport var mdiHydraulicOilTemperature = \"M9 18C7.34 18 6 16.66 6 15C6 13 9 9.63 9 9.63S12 13 12 15C12 16.66 10.66 18 9 18M14 4V20H4V4H2V20C2 21.11 2.89 22 4 22H14C15.11 22 16 21.11 16 20V4H14M10 6V2H8V6H5V8H13V6H10M21 17.5V5.5C21 4.67 20.33 4 19.5 4S18 4.67 18 5.5V17.5C17.37 17.97 17 18.71 17 19.5C17 20.88 18.12 22 19.5 22S22 20.88 22 19.5C22 18.71 21.63 18 21 17.5M20 13H19V6H20V13Z\";\r\nexport var mdiHydroPower = \"M17.12 3.55A2 2 0 0 0 15.2 4.95L14.4 7.5A3 3 0 0 0 13.33 7.74L11.5 5.77L10.17 4.29A2 2 0 0 0 10.05 7.12L11.86 9.09A3 3 0 0 0 11.64 9.6A3 3 0 0 0 11.53 10.13L8.92 10.71L6.96 11.15A2 2 0 0 0 9.35 12.67L11.96 12.08A3 3 0 0 0 12.7 12.89L11.9 15.44L11.3 17.35A2 2 0 0 0 13.8 16.04L14.61 13.5A3 3 0 0 0 15.68 13.26L17.5 15.23L18.83 16.7A2 2 0 0 0 18.96 13.88L17.15 11.91A3 3 0 0 0 17.36 11.4A3 3 0 0 0 17.5 10.86L20.09 10.28L22.04 9.85A2 2 0 0 0 19.66 8.33L17.05 8.91A3 3 0 0 0 16.31 8.11L17.11 5.55L17.71 3.65A2 2 0 0 0 17.12 3.55M14.56 9A1.5 1.5 0 0 1 14.95 9.07A1.5 1.5 0 0 1 15.93 10.95A1.5 1.5 0 0 1 14.05 11.93A1.5 1.5 0 0 1 13.07 10.05A1.5 1.5 0 0 1 14.55 9M8 13.67C6.78 14.53 5.39 15 4 15H2V17H4C5.37 17 6.74 16.65 8 16C8.77 16.4 9.58 16.66 10.41 16.81L10.94 15.14L11.03 14.88C9.97 14.73 8.93 14.32 8 13.67M20.45 15C20.5 15.7 20.33 16.41 19.91 17C19.93 17 19.97 17 20 17H22V15H20.45M8 17.67C6.78 18.53 5.39 19 4 19H2V21H4C5.37 21 6.74 20.65 8 20C10.5 21.3 13.5 21.3 16 20C17.26 20.65 18.62 21 20 21H22V19H20C18.61 19 17.22 18.53 16 17.67C13.56 19.38 10.44 19.38 8 17.67Z\";\r\nexport var mdiIceCream = \"M17.5 6.05C17.25 3.22 14.89 1 12 1S6.75 3.22 6.5 6.05C5.09 6.28 4 7.5 4 9C4 10.66 5.34 12 7 12L12 22L17 12C18.66 12 20 10.66 20 9C20 7.5 18.91 6.28 17.5 6.05M12 17.53L8.89 11.31C8.95 11.26 9 11.21 9.08 11.16C9.93 11.69 10.93 12 12 12S14.07 11.69 14.92 11.16C15 11.21 15.05 11.26 15.11 11.31L12 17.53Z\";\r\nexport var mdiIceCreamOff = \"M22.11 21.46L2.39 1.73L1.11 3L4.95 6.84C4.37 7.38 4 8.14 4 9C4 10.66 5.34 12 7 12L12 22L14.7 16.59L20.84 22.73L22.11 21.46M12 17.53L8.89 11.31C8.95 11.26 9 11.21 9.08 11.16C9.21 11.24 9.35 11.3 9.5 11.37L13.21 15.1L12 17.53M7.15 3.95C8.07 2.2 9.89 1 12 1C14.89 1 17.25 3.22 17.5 6.05C18.91 6.28 20 7.5 20 9C20 10.66 18.66 12 17 12L16.4 13.2L7.15 3.95Z\";\r\nexport var mdiIcePop = \"M18.15 14.96L9.95 18.65L5.85 9.65C7.21 9.13 8.12 7.82 8.15 6.36C8.14 5 7.36 3.76 6.15 3.15C6.54 2.8 7 2.5 7.45 2.25C9.71 1.25 12.37 2.23 13.45 4.46M13.15 18.36L14.75 21.86L17.45 20.65L15.85 17.15\";\r\nexport var mdiIdCard = \"M4 4C2.89 4 2 4.89 2 6V18C2 19.11 2.89 20 4 20H20C21.11 20 22 19.11 22 18V6C22 4.89 21.11 4 20 4H4M4 6H20V10H4V6M4 12H8V14H4V12M10 12H20V14H10V12M4 16H14V18H4V16M16 16H20V18H16V16Z\";\r\nexport var mdiIdentifier = \"M10 7V9H9V15H10V17H6V15H7V9H6V7H10M16 7C17.11 7 18 7.9 18 9V15C18 16.11 17.11 17 16 17H12V7M16 9H14V15H16V9Z\";\r\nexport var mdiIdeogramCjk = \"M11 4V6H4V10H6V8H18V10H20V6H13V4M8 10V12H13.59L11.59 14H4V16H11V18H10V20H13V16H20V14H14.21L16 12.21V10Z\";\r\nexport var mdiIdeogramCjkVariant = \"M11 4V6H4V8H15.36C15.13 8.87 14.63 9.77 13.88 10.69C13.35 11.35 12.71 12 12 12.67C11.29 12 10.65 11.35 10.12 10.69C9.65 10.12 9.3 9.55 9.03 9H6.85C7.21 10.05 7.82 11.03 8.56 11.95C9.13 12.66 9.79 13.34 10.5 14L5.36 18.23L6.64 19.77L12 15.34L17.36 19.77L18.64 18.23L13.5 14C14.21 13.34 14.87 12.66 15.44 11.95C16.41 10.74 17.16 9.43 17.4 8H20V6H13V4Z\";\r\nexport var mdiImage = \"M8.5,13.5L11,16.5L14.5,12L19,18H5M21,19V5C21,3.89 20.1,3 19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19Z\";\r\nexport var mdiImageAlbum = \"M6,19L9,15.14L11.14,17.72L14.14,13.86L18,19H6M6,4H11V12L8.5,10.5L6,12M18,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V4A2,2 0 0,0 18,2Z\";\r\nexport var mdiImageArea = \"M20,5A2,2 0 0,1 22,7V17A2,2 0 0,1 20,19H4C2.89,19 2,18.1 2,17V7C2,5.89 2.89,5 4,5H20M5,16H19L14.5,10L11,14.5L8.5,11.5L5,16Z\";\r\nexport var mdiImageAreaClose = \"M12,23L8,19H16L12,23M20,3A2,2 0 0,1 22,5V15A2,2 0 0,1 20,17H4A2,2 0 0,1 2,15V5A2,2 0 0,1 4,3H20M5,14H19L14.5,8L11,12.5L8.5,9.5L5,14Z\";\r\nexport var mdiImageAutoAdjust = \"M19 10V19H5V5H14V3H5C3.92 3 3 3.9 3 5V19C3 20.1 3.92 21 5 21H19C20.12 21 21 20.1 21 19V10H19M17 10L17.94 7.94L20 7L17.94 6.06L17 4L16.06 6.06L14 7L16.06 7.94L17 10M13.25 10.75L12 8L10.75 10.75L8 12L10.75 13.25L12 16L13.25 13.25L16 12L13.25 10.75Z\";\r\nexport var mdiImageBroken = \"M19,3A2,2 0 0,1 21,5V11H19V13H19L17,13V15H15V17H13V19H11V21H5C3.89,21 3,20.1 3,19V5A2,2 0 0,1 5,3H19M21,15V19A2,2 0 0,1 19,21H19L15,21V19H17V17H19V15H21M19,8.5A0.5,0.5 0 0,0 18.5,8H5.5A0.5,0.5 0 0,0 5,8.5V15.5A0.5,0.5 0 0,0 5.5,16H11V15H13V13H15V11H17V9H19V8.5Z\";\r\nexport var mdiImageBrokenVariant = \"M21,5V11.59L18,8.58L14,12.59L10,8.59L6,12.59L3,9.58V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5M18,11.42L21,14.43V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V12.42L6,15.41L10,11.41L14,15.41\";\r\nexport var mdiImageEdit = \"M22.7 14.3L21.7 15.3L19.7 13.3L20.7 12.3C20.8 12.2 20.9 12.1 21.1 12.1C21.2 12.1 21.4 12.2 21.5 12.3L22.8 13.6C22.9 13.8 22.9 14.1 22.7 14.3M13 19.9V22H15.1L21.2 15.9L19.2 13.9L13 19.9M21 5C21 3.9 20.1 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H11V19.1L12.1 18H5L8.5 13.5L11 16.5L14.5 12L16.1 14.1L21 9.1V5Z\";\r\nexport var mdiImageEditOutline = \"M22.7 14.3L21.7 15.3L19.7 13.3L20.7 12.3C20.8 12.2 20.9 12.1 21.1 12.1C21.2 12.1 21.4 12.2 21.5 12.3L22.8 13.6C22.9 13.8 22.9 14.1 22.7 14.3M13 19.9V22H15.1L21.2 15.9L19.2 13.9L13 19.9M11.21 15.83L9.25 13.47L6.5 17H13.12L15.66 14.55L13.96 12.29L11.21 15.83M11 19.9V19.05L11.05 19H5V5H19V11.31L21 9.38V5C21 3.9 20.11 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H11V19.9Z\";\r\nexport var mdiImageFilterBlackWhite = \"M19,19L12,11V19H5L12,11V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiImageFilterCenterFocus = \"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M19,19H15V21H19A2,2 0 0,0 21,19V15H19M19,3H15V5H19V9H21V5A2,2 0 0,0 19,3M5,5H9V3H5A2,2 0 0,0 3,5V9H5M5,15H3V19A2,2 0 0,0 5,21H9V19H5V15Z\";\r\nexport var mdiImageFilterCenterFocusStrong = \"M12 8C8.44 8 6.65 12.31 9.17 14.83C11.69 17.35 16 15.56 16 12C16 9.79 14.21 8 12 8M5 15H3V19C3 20.1 3.9 21 5 21H9V19H5M5 5H9V3H5C3.9 3 3 3.9 3 5V9H5M19 3H15V5H19V9H21V5C21 3.9 20.1 3 19 3M19 19H15V21H19C20.1 21 21 20.1 21 19V15H19\";\r\nexport var mdiImageFilterCenterFocusStrongOutline = \"M17 12C17 7.55 11.62 5.31 8.46 8.46C5.31 11.61 7.55 17 12 17C14.76 17 17 14.76 17 12M12 15C9.33 15 8 11.77 9.88 9.88C11.77 8 15 9.33 15 12C15 13.66 13.66 15 12 15M5 15H3V19C3 20.1 3.9 21 5 21H9V19H5M5 5H9V3H5C3.9 3 3 3.9 3 5V9H5M19 3H15V5H19V9H21V5C21 3.9 20.1 3 19 3M19 19H15V21H19C20.1 21 21 20.1 21 19V15H19\";\r\nexport var mdiImageFilterCenterFocusWeak = \"M5,15H3V19A2,2 0 0,0 5,21H9V19H5M5,5H9V3H5A2,2 0 0,0 3,5V9H5M19,3H15V5H19V9H21V5A2,2 0 0,0 19,3M19,19H15V21H19A2,2 0 0,0 21,19V15H19M12,8A4,4 0 0,0 8,12A4,4 0 0,0 12,16A4,4 0 0,0 16,12A4,4 0 0,0 12,8M12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14Z\";\r\nexport var mdiImageFilterDrama = \"M19,18H6A4,4 0 0,1 2,14A4,4 0 0,1 6,10A4,4 0 0,1 10,14H12C12,11.24 10.14,8.92 7.6,8.22C8.61,6.88 10.2,6 12,6C15.03,6 17.5,8.47 17.5,11.5V12H19A3,3 0 0,1 22,15A3,3 0 0,1 19,18M19.35,10.04C18.67,6.59 15.64,4 12,4C9.11,4 6.61,5.64 5.36,8.04C2.35,8.36 0,10.9 0,14A6,6 0 0,0 6,20H19A5,5 0 0,0 24,15C24,12.36 21.95,10.22 19.35,10.04Z\";\r\nexport var mdiImageFilterFrames = \"M18,8H6V18H18M20,20H4V6H8.5L12.04,2.5L15.5,6H20M20,4H16L12,0L8,4H4A2,2 0 0,0 2,6V20A2,2 0 0,0 4,22H20A2,2 0 0,0 22,20V6A2,2 0 0,0 20,4Z\";\r\nexport var mdiImageFilterHdr = \"M14,6L10.25,11L13.1,14.8L11.5,16C9.81,13.75 7,10 7,10L1,18H23L14,6Z\";\r\nexport var mdiImageFilterNone = \"M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\r\nexport var mdiImageFilterTiltShift = \"M5.68,19.74C7.16,20.95 9,21.75 11,21.95V19.93C9.54,19.75 8.21,19.17 7.1,18.31M13,19.93V21.95C15,21.75 16.84,20.95 18.32,19.74L16.89,18.31C15.79,19.17 14.46,19.75 13,19.93M18.31,16.9L19.74,18.33C20.95,16.85 21.75,15 21.95,13H19.93C19.75,14.46 19.17,15.79 18.31,16.9M15,12A3,3 0 0,0 12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12M4.07,13H2.05C2.25,15 3.05,16.84 4.26,18.32L5.69,16.89C4.83,15.79 4.25,14.46 4.07,13M5.69,7.1L4.26,5.68C3.05,7.16 2.25,9 2.05,11H4.07C4.25,9.54 4.83,8.21 5.69,7.1M19.93,11H21.95C21.75,9 20.95,7.16 19.74,5.68L18.31,7.1C19.17,8.21 19.75,9.54 19.93,11M18.32,4.26C16.84,3.05 15,2.25 13,2.05V4.07C14.46,4.25 15.79,4.83 16.9,5.69M11,4.07V2.05C9,2.25 7.16,3.05 5.68,4.26L7.1,5.69C8.21,4.83 9.54,4.25 11,4.07Z\";\r\nexport var mdiImageFilterVintage = \"M12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16M18.7,12.4C18.42,12.24 18.13,12.11 17.84,12C18.13,11.89 18.42,11.76 18.7,11.6C20.62,10.5 21.69,8.5 21.7,6.41C19.91,5.38 17.63,5.3 15.7,6.41C15.42,6.57 15.16,6.76 14.92,6.95C14.97,6.64 15,6.32 15,6C15,3.78 13.79,1.85 12,0.81C10.21,1.85 9,3.78 9,6C9,6.32 9.03,6.64 9.08,6.95C8.84,6.75 8.58,6.56 8.3,6.4C6.38,5.29 4.1,5.37 2.3,6.4C2.3,8.47 3.37,10.5 5.3,11.59C5.58,11.75 5.87,11.88 6.16,12C5.87,12.1 5.58,12.23 5.3,12.39C3.38,13.5 2.31,15.5 2.3,17.58C4.09,18.61 6.37,18.69 8.3,17.58C8.58,17.42 8.84,17.23 9.08,17.04C9.03,17.36 9,17.68 9,18C9,20.22 10.21,22.15 12,23.19C13.79,22.15 15,20.22 15,18C15,17.68 14.97,17.36 14.92,17.05C15.16,17.25 15.42,17.43 15.7,17.59C17.62,18.7 19.9,18.62 21.7,17.59C21.69,15.5 20.62,13.5 18.7,12.4Z\";\r\nexport var mdiImageFrame = \"M10,14.29L6.5,19H17.46L14.75,15.46L12.78,17.8L10,14.29M5,21V7H18.96V21H5M12,2.4L14.61,5.03H9.37L12,2.4M5,5.03C4.5,5.03 4,5.22 3.61,5.61C3.2,6 3,6.46 3,7V21C3,21.5 3.2,22 3.61,22.39C4,22.8 4.5,23 5,23H18.96C19.5,23 19.96,22.8 20.37,22.39C20.77,22 21,21.5 21,21V7C21,6.46 20.77,6 20.37,5.61C19.96,5.22 19.5,5.03 18.96,5.03H16L12,1L7.96,5.03H5Z\";\r\nexport var mdiImageMarker = \"M13.55 18C13.97 19.08 14.59 20.12 15.19 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.89 21 5V10.63C20.25 10.23 19.39 10 18.5 10C16.29 10 14.33 11.39 13.47 13.33L11 16.5L8.5 13.5L5 18H13.55M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\r\nexport var mdiImageMarkerOutline = \"M14 19C14.36 19.72 14.78 20.4 15.19 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H19C20.11 3 21 3.9 21 5V10.63C20.39 10.3 19.71 10.09 19 10.03V5H5V19H14M13.96 12.29L11.21 15.83L9.25 13.47L6.5 17H13.22C13.09 16.5 13 16 13 15.5C13 14.35 13.38 13.26 14 12.37L13.96 12.29M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\r\nexport var mdiImageMinus = \"M5 3C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H14.09C14.03 20.67 14 20.34 14 20C14 19.32 14.12 18.64 14.35 18H5L8.5 13.5L11 16.5L14.5 12L16.73 14.97C17.7 14.34 18.84 14 20 14C20.34 14 20.67 14.03 21 14.09V5C21 3.89 20.1 3 19 3H5M16 19V21H24V19H16Z\";\r\nexport var mdiImageMove = \"M15,3H19V0L24,5L19,10V7H15V3M21,11.94V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H12.06C12,3.33 12,3.67 12,4A8,8 0 0,0 20,12C20.33,12 20.67,12 21,11.94M19,18L14.5,12L11,16.5L8.5,13.5L5,18H19Z\";\r\nexport var mdiImageMultiple = \"M22,16V4A2,2 0 0,0 20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16M11,12L13.03,14.71L16,11L20,16H8M2,6V20A2,2 0 0,0 4,22H18V20H4V6\";\r\nexport var mdiImageMultipleOutline = \"M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M3,5H1V21A2,2 0 0,0 3,23H19V21H3M15.96,10.29L13.21,13.83L11.25,11.47L8.5,15H19.5L15.96,10.29Z\";\r\nexport var mdiImageOff = \"M21 17.2L6.8 3H19C20.1 3 21 3.9 21 5V17.2M20.7 22L19.7 21H5C3.9 21 3 20.1 3 19V4.3L2 3.3L3.3 2L22 20.7L20.7 22M16.8 18L12.9 14.1L11 16.5L8.5 13.5L5 18H16.8Z\";\r\nexport var mdiImageOffOutline = \"M22 20.7L3.3 2L2 3.3L3 4.3V19C3 20.1 3.9 21 5 21H19.7L20.7 22L22 20.7M5 19V6.3L12.6 13.9L11.1 15.8L9 13.1L6 17H15.7L17.7 19H5M8.8 5L6.8 3H19C20.1 3 21 3.9 21 5V17.2L19 15.2V5H8.8\";\r\nexport var mdiImageOutline = \"M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M13.96,12.29L11.21,15.83L9.25,13.47L6.5,17H17.5L13.96,12.29Z\";\r\nexport var mdiImagePlus = \"M5,3A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H14.09C14.03,20.67 14,20.34 14,20C14,19.32 14.12,18.64 14.35,18H5L8.5,13.5L11,16.5L14.5,12L16.73,14.97C17.7,14.34 18.84,14 20,14C20.34,14 20.67,14.03 21,14.09V5C21,3.89 20.1,3 19,3H5M19,16V19H16V21H19V24H21V21H24V19H21V16H19Z\";\r\nexport var mdiImageRemove = \"M5 3C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H14.09C14.03 20.67 14 20.34 14 20C14 19.32 14.12 18.64 14.35 18H5L8.5 13.5L11 16.5L14.5 12L16.73 14.97C17.7 14.34 18.84 14 20 14C20.34 14 20.67 14.03 21 14.09V5C21 3.89 20.1 3 19 3H5M16.47 17.88L18.59 20L16.47 22.12L17.88 23.54L20 21.41L22.12 23.54L23.54 22.12L21.41 20L23.54 17.88L22.12 16.46L20 18.59L17.88 16.47L16.46 17.88Z\";\r\nexport var mdiImageSearch = \"M15.5,2C18,2 20,4 20,6.5C20,7.38 19.75,8.21 19.31,8.9L22.39,12L21,13.39L17.88,10.32C17.19,10.75 16.37,11 15.5,11C13,11 11,9 11,6.5C11,4 13,2 15.5,2M15.5,4A2.5,2.5 0 0,0 13,6.5A2.5,2.5 0 0,0 15.5,9A2.5,2.5 0 0,0 18,6.5A2.5,2.5 0 0,0 15.5,4M7.5,14.5L4,19H18L13.5,13L10,17.5L7.5,14.5M20,20A2,2 0 0,1 18,22H4A2,2 0 0,1 2,20V6A2,2 0 0,1 4,4H9.5C9.18,4.77 9,5.61 9,6.5A6.5,6.5 0 0,0 15.5,13C16.18,13 16.84,12.89 17.46,12.7L20,15.24V20Z\";\r\nexport var mdiImageSearchOutline = \"M15.5,9C16.2,9 16.79,8.76 17.27,8.27C17.76,7.79 18,7.2 18,6.5C18,5.83 17.76,5.23 17.27,4.73C16.79,4.23 16.2,4 15.5,4C14.83,4 14.23,4.23 13.73,4.73C13.23,5.23 13,5.83 13,6.5C13,7.2 13.23,7.79 13.73,8.27C14.23,8.76 14.83,9 15.5,9M19.31,8.91L22.41,12L21,13.41L17.86,10.31C17.08,10.78 16.28,11 15.47,11C14.22,11 13.16,10.58 12.3,9.7C11.45,8.83 11,7.77 11,6.5C11,5.27 11.45,4.2 12.33,3.33C13.2,2.45 14.27,2 15.5,2C16.77,2 17.83,2.45 18.7,3.33C19.58,4.2 20,5.27 20,6.5C20,7.33 19.78,8.13 19.31,8.91M16.5,18H5.5L8.25,14.5L10.22,16.83L12.94,13.31L16.5,18M18,13L20,15V20C20,20.55 19.81,21 19.41,21.4C19,21.79 18.53,22 18,22H4C3.45,22 3,21.79 2.6,21.4C2.21,21 2,20.55 2,20V6C2,5.47 2.21,5 2.6,4.59C3,4.19 3.45,4 4,4H9.5C9.2,4.64 9.03,5.31 9,6H4V20H18V13Z\";\r\nexport var mdiImageSizeSelectActual = \"M21,3H3C2,3 1,4 1,5V19A2,2 0 0,0 3,21H21C22,21 23,20 23,19V5C23,4 22,3 21,3M5,17L8.5,12.5L11,15.5L14.5,11L19,17H5Z\";\r\nexport var mdiImageSizeSelectLarge = \"M21,15H23V17H21V15M21,11H23V13H21V11M23,19H21V21C22,21 23,20 23,19M13,3H15V5H13V3M21,7H23V9H21V7M21,3V5H23C23,4 22,3 21,3M1,7H3V9H1V7M17,3H19V5H17V3M17,19H19V21H17V19M3,3C2,3 1,4 1,5H3V3M9,3H11V5H9V3M5,3H7V5H5V3M1,11V19A2,2 0 0,0 3,21H15V11H1M3,19L5.5,15.79L7.29,17.94L9.79,14.72L13,19H3Z\";\r\nexport var mdiImageSizeSelectSmall = \"M23,15H21V17H23V15M23,11H21V13H23V11M23,19H21V21C22,21 23,20 23,19M15,3H13V5H15V3M23,7H21V9H23V7M21,3V5H23C23,4 22,3 21,3M3,21H11V15H1V19A2,2 0 0,0 3,21M3,7H1V9H3V7M15,19H13V21H15V19M19,3H17V5H19V3M19,19H17V21H19V19M3,3C2,3 1,4 1,5H3V3M3,11H1V13H3V11M11,3H9V5H11V3M7,3H5V5H7V3Z\";\r\nexport var mdiImageText = \"M22 13H14V11H22V13M22 7H14V9H22V7M14 17H22V15H14V17M12 9V15C12 16.1 11.1 17 10 17H4C2.9 17 2 16.1 2 15V9C2 7.9 2.9 7 4 7H10C11.1 7 12 7.9 12 9M10.5 15L8.3 12L6.5 14.3L5.3 12.8L3.5 15H10.5Z\";\r\nexport var mdiImport = \"M14,12L10,8V11H2V13H10V16M20,18V6C20,4.89 19.1,4 18,4H6A2,2 0 0,0 4,6V9H6V6H18V18H6V15H4V18A2,2 0 0,0 6,20H18A2,2 0 0,0 20,18Z\";\r\nexport var mdiInbox = \"M19,15H15A3,3 0 0,1 12,18A3,3 0 0,1 9,15H5V5H19M19,3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiInboxArrowDown = \"M16,10H14V7H10V10H8L12,14M19,15H15A3,3 0 0,1 12,18A3,3 0 0,1 9,15H5V5H19M19,3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiInboxArrowDownOutline = \"M19 3H5A2 2 0 0 0 3 5V19A2 2 0 0 0 5 21H19A2 2 0 0 0 21 19V5A2 2 0 0 0 19 3M5 19V17H8.13A4.13 4.13 0 0 0 9.4 19M19 19H14.6A4.13 4.13 0 0 0 15.87 17H19M19 15H14V16A2 2 0 0 1 10 16V15H5V5H19M16 10H14V7H10V10H8L12 14\";\r\nexport var mdiInboxArrowUp = \"M14,14H10V11H8L12,7L16,11H14V14M16,11M5,15V5H19V15H15A3,3 0 0,1 12,18A3,3 0 0,1 9,15H5M19,3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3\";\r\nexport var mdiInboxArrowUpOutline = \"M19 3H5A2 2 0 0 0 3 5V19A2 2 0 0 0 5 21H19A2 2 0 0 0 21 19V5A2 2 0 0 0 19 3M5 19V17H8.13A4.13 4.13 0 0 0 9.4 19M19 19H14.6A4.13 4.13 0 0 0 15.87 17H19M19 15H14V16A2 2 0 0 1 10 16V15H5V5H19M8 11H10V14H14V11H16L12 7\";\r\nexport var mdiInboxFull = \"M19 15V5H5V15H9C9 16.66 10.34 18 12 18C13.66 18 15 16.66 15 15H19M19 3C20.1 3 21 3.9 21 5V19C21 20.1 20.1 21 19 21H5C3.89 21 3 20.1 3 19L3 5C3 3.9 3.89 3 5 3H19M7 13V11H17V13H7M7 9V7H17V9H7Z\";\r\nexport var mdiInboxFullOutline = \"M19 3C20.1 3 21 3.9 21 5V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19M5 19H9.4C8.79 18.47 8.35 17.78 8.13 17H5V19M19 19V17H15.87C15.65 17.78 15.21 18.47 14.6 19H19M19 15V5H5V15H10V16C10 18.67 14 18.67 14 16V15H19M7 7H17V9H7V7M17 11V13H7V11H17Z\";\r\nexport var mdiInboxMultiple = \"M19,8V5H5V8H9A3,3 0 0,0 12,11A3,3 0 0,0 15,8H19M19,3A2,2 0 0,1 21,5V12A2,2 0 0,1 19,14H5A2,2 0 0,1 3,12V5A2,2 0 0,1 5,3H19M3,15H9A3,3 0 0,0 12,18A3,3 0 0,0 15,15H21V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V15Z\";\r\nexport var mdiInboxMultipleOutline = \"M19,3A2,2 0 0,1 21,5V12A2,2 0 0,1 19,14H5A2,2 0 0,1 3,12V5A2,2 0 0,1 5,3H19M5,10V12H9.4C8.8,11.47 8.34,10.78 8.13,10H5M19,12V10H15.87C15.66,10.78 15.2,11.47 14.6,12H19M19,8V5H5V8H10V9C10,10.07 10.93,11 12,11C13.07,11 14,10.07 14,9V8H19M21,19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V15H10V16C10,17.07 10.93,18 12,18C13.07,18 14,17.07 14,16V15H21V19M5,17V19H9.4C8.8,18.47 8.34,17.78 8.13,17H5M19,19V17H15.87C15.66,17.78 15.2,18.47 14.6,19H19Z\";\r\nexport var mdiInboxOutline = \"M19 3H5A2 2 0 0 0 3 5V19A2 2 0 0 0 5 21H19A2 2 0 0 0 21 19V5A2 2 0 0 0 19 3M5 19V17H8.13A4.13 4.13 0 0 0 9.4 19M19 19H14.6A4.13 4.13 0 0 0 15.87 17H19M19 15H14V16A2 2 0 0 1 10 16V15H5V5H19Z\";\r\nexport var mdiInboxRemove = \"M19 15H15C15 16.7 13.7 18 12 18S9 16.7 9 15H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M14.1 6.5L15.5 7.9L13.4 10L15.5 12.1L14.1 13.5L12 11.4L9.9 13.5L8.5 12.1L10.6 10L8.5 7.9L9.9 6.5L12 8.6L14.1 6.5Z\";\r\nexport var mdiInboxRemoveOutline = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M5 19V17H8.1C8.3 17.8 8.8 18.5 9.4 19M19 19H14.6C15.2 18.5 15.7 17.8 15.9 17H19M19 15H14V16C14 17.1 13.1 18 12 18S10 17.1 10 16V15H5V5H19V15M14.1 6.5L15.5 7.9L13.4 10L15.5 12.1L14.1 13.5L12 11.4L9.9 13.5L8.5 12.1L10.6 10L8.5 7.9L9.9 6.5L12 8.6L14.1 6.5Z\";\r\nexport var mdiIncognito = \"M17.06 13C15.2 13 13.64 14.33 13.24 16.1C12.29 15.69 11.42 15.8 10.76 16.09C10.35 14.31 8.79 13 6.94 13C4.77 13 3 14.79 3 17C3 19.21 4.77 21 6.94 21C9 21 10.68 19.38 10.84 17.32C11.18 17.08 12.07 16.63 13.16 17.34C13.34 19.39 15 21 17.06 21C19.23 21 21 19.21 21 17C21 14.79 19.23 13 17.06 13M6.94 19.86C5.38 19.86 4.13 18.58 4.13 17S5.39 14.14 6.94 14.14C8.5 14.14 9.75 15.42 9.75 17S8.5 19.86 6.94 19.86M17.06 19.86C15.5 19.86 14.25 18.58 14.25 17S15.5 14.14 17.06 14.14C18.62 14.14 19.88 15.42 19.88 17S18.61 19.86 17.06 19.86M22 10.5H2V12H22V10.5M15.53 2.63C15.31 2.14 14.75 1.88 14.22 2.05L12 2.79L9.77 2.05L9.72 2.04C9.19 1.89 8.63 2.17 8.43 2.68L6 9H18L15.56 2.68L15.53 2.63Z\";\r\nexport var mdiIncognitoCircle = \"M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22 2 17.5 2 12 6.5 2 12 2M14.92 12.81C13.84 12.81 12.95 13.56 12.71 14.56C12.17 14.33 11.66 14.39 11.29 14.55C11.05 13.55 10.15 12.81 9.08 12.81C7.83 12.81 6.82 13.82 6.82 15.07C6.82 16.32 7.83 17.33 9.08 17.33C10.28 17.33 11.24 16.42 11.33 15.25C11.53 15.12 12.04 14.86 12.67 15.26C12.77 16.42 13.73 17.33 14.92 17.33C16.17 17.33 17.18 16.32 17.18 15.07C17.18 13.82 16.17 12.81 14.92 12.81M9.08 13.45C10 13.45 10.7 14.18 10.7 15.07C10.7 15.96 10 16.69 9.08 16.69C8.19 16.69 7.46 15.96 7.46 15.07C7.46 14.18 8.19 13.45 9.08 13.45M14.92 13.45C15.81 13.45 16.54 14.18 16.54 15.07C16.54 15.96 15.81 16.69 14.92 16.69C14 16.69 13.3 15.96 13.3 15.07C13.3 14.18 14 13.45 14.92 13.45M17.83 11.5H6.17V12.17H17.83V11.5M14.15 6.89C14 6.59 13.67 6.43 13.35 6.53L12 7L10.65 6.53L10.61 6.5C10.29 6.43 9.95 6.61 9.84 6.92L8.36 10.83H15.64L14.16 6.92L14.15 6.89Z\";\r\nexport var mdiIncognitoCircleOff = \"M22.11 21.46L2.39 1.73L1.11 3L4.06 5.95C2.77 7.63 2 9.72 2 12C2 17.5 6.5 22 12 22C14.28 22 16.37 21.23 18.05 19.94L20.84 22.73L22.11 21.46M8.94 10.83H8.36L8.5 10.41L8.94 10.83M6.17 11.5H9.61L10.28 12.17H6.17V11.5M14.92 17.33C13.73 17.33 12.77 16.42 12.67 15.26C12.04 14.86 11.53 15.12 11.33 15.25C11.24 16.42 10.28 17.33 9.08 17.33C7.83 17.33 6.82 16.32 6.82 15.07C6.82 13.82 7.83 12.81 9.08 12.81C10.15 12.81 11.05 13.55 11.29 14.55C11.65 14.4 12.13 14.34 12.65 14.54L13.31 15.2C13.37 16 14 16.61 14.78 16.67L15.38 17.27C15.23 17.3 15.08 17.33 14.92 17.33M9.94 6.74L6.72 3.5C8.25 2.56 10.06 2 12 2C17.5 2 22 6.5 22 12C22 13.94 21.44 15.75 20.5 17.28L15.37 12.17H17.83V11.5H14.7L14.03 10.83H15.64L14.16 6.92L14.15 6.89C14 6.59 13.67 6.43 13.35 6.53L12 7L10.65 6.53L10.61 6.5C10.36 6.45 10.1 6.55 9.94 6.74M10.7 15.07C10.7 15.96 10 16.69 9.08 16.69C8.19 16.69 7.46 15.96 7.46 15.07S8.19 13.45 9.08 13.45C10 13.45 10.7 14.18 10.7 15.07Z\";\r\nexport var mdiIncognitoOff = \"M22.11 21.46L2.39 1.73L1.11 3L6.31 8.2L6 9H7.11L8.61 10.5H2V12H10.11L13.5 15.37C13.38 15.61 13.3 15.85 13.24 16.1C12.29 15.69 11.41 15.8 10.76 16.09C10.35 14.31 8.79 13 6.94 13C4.77 13 3 14.79 3 17C3 19.21 4.77 21 6.94 21C9 21 10.68 19.38 10.84 17.32C11.18 17.08 12.07 16.63 13.16 17.34C13.34 19.39 15 21 17.06 21C17.66 21 18.22 20.86 18.72 20.61L20.84 22.73L22.11 21.46M6.94 19.86C5.38 19.86 4.13 18.58 4.13 17C4.13 15.42 5.39 14.14 6.94 14.14C8.5 14.14 9.75 15.42 9.75 17C9.75 18.58 8.5 19.86 6.94 19.86M17.06 19.86C15.5 19.86 14.25 18.58 14.25 17C14.25 16.74 14.29 16.5 14.36 16.25L17.84 19.73C17.59 19.81 17.34 19.86 17.06 19.86M22 12H15.2L13.7 10.5H22V12M17.06 13C19.23 13 21 14.79 21 17C21 17.25 20.97 17.5 20.93 17.73L19.84 16.64C19.68 15.34 18.66 14.32 17.38 14.17L16.29 13.09C16.54 13.03 16.8 13 17.06 13M12.2 9L7.72 4.5L8.43 2.68C8.63 2.17 9.19 1.89 9.72 2.04L9.77 2.05L12 2.79L14.22 2.05C14.75 1.88 15.32 2.14 15.54 2.63L15.56 2.68L18 9H12.2Z\";\r\nexport var mdiInfinity = \"M18.6,6.62C21.58,6.62 24,9 24,12C24,14.96 21.58,17.37 18.6,17.37C17.15,17.37 15.8,16.81 14.78,15.8L12,13.34L9.17,15.85C8.2,16.82 6.84,17.38 5.4,17.38C2.42,17.38 0,14.96 0,12C0,9.04 2.42,6.62 5.4,6.62C6.84,6.62 8.2,7.18 9.22,8.2L12,10.66L14.83,8.15C15.8,7.18 17.16,6.62 18.6,6.62M7.8,14.39L10.5,12L7.84,9.65C7.16,8.97 6.31,8.62 5.4,8.62C3.53,8.62 2,10.13 2,12C2,13.87 3.53,15.38 5.4,15.38C6.31,15.38 7.16,15.03 7.8,14.39M16.2,9.61L13.5,12L16.16,14.35C16.84,15.03 17.7,15.38 18.6,15.38C20.47,15.38 22,13.87 22,12C22,10.13 20.47,8.62 18.6,8.62C17.69,8.62 16.84,8.97 16.2,9.61Z\";\r\nexport var mdiInformation = \"M13,9H11V7H13M13,17H11V11H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiInformationOff = \"M22.1 21.5L2.4 1.7L1.1 3L4.1 6C2.8 7.6 2 9.7 2 12C2 17.5 6.5 22 12 22C14.3 22 16.4 21.2 18 19.9L20.8 22.7L22.1 21.5M13 17H11V12.9L13 14.9V17M11 7.8L6.7 3.5C8.3 2.6 10.1 2 12 2C17.5 2 22 6.5 22 12C22 13.9 21.4 15.7 20.5 17.3L12.2 9H13V7H11V7.8Z\";\r\nexport var mdiInformationOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L4.1 6C2.8 7.6 2 9.7 2 12C2 17.5 6.5 22 12 22C14.3 22 16.4 21.2 18 19.9L20.8 22.7L22.1 21.5M12 20C7.6 20 4 16.4 4 12C4 10.3 4.6 8.7 5.5 7.4L11 12.9V17H13V14.9L16.6 18.5C15.3 19.4 13.7 20 12 20M8.2 5L6.7 3.5C8.3 2.6 10.1 2 12 2C17.5 2 22 6.5 22 12C22 13.9 21.4 15.7 20.5 17.3L19 15.8C19.6 14.7 20 13.4 20 12C20 7.6 16.4 4 12 4C10.6 4 9.3 4.4 8.2 5M11 7H13V9H11V7Z\";\r\nexport var mdiInformationOutline = \"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z\";\r\nexport var mdiInformationVariant = \"M13.5,4A1.5,1.5 0 0,0 12,5.5A1.5,1.5 0 0,0 13.5,7A1.5,1.5 0 0,0 15,5.5A1.5,1.5 0 0,0 13.5,4M13.14,8.77C11.95,8.87 8.7,11.46 8.7,11.46C8.5,11.61 8.56,11.6 8.72,11.88C8.88,12.15 8.86,12.17 9.05,12.04C9.25,11.91 9.58,11.7 10.13,11.36C12.25,10 10.47,13.14 9.56,18.43C9.2,21.05 11.56,19.7 12.17,19.3C12.77,18.91 14.38,17.8 14.54,17.69C14.76,17.54 14.6,17.42 14.43,17.17C14.31,17 14.19,17.12 14.19,17.12C13.54,17.55 12.35,18.45 12.19,17.88C12,17.31 13.22,13.4 13.89,10.71C14,10.07 14.3,8.67 13.14,8.77Z\";\r\nexport var mdiInstagram = \"M7.8,2H16.2C19.4,2 22,4.6 22,7.8V16.2A5.8,5.8 0 0,1 16.2,22H7.8C4.6,22 2,19.4 2,16.2V7.8A5.8,5.8 0 0,1 7.8,2M7.6,4A3.6,3.6 0 0,0 4,7.6V16.4C4,18.39 5.61,20 7.6,20H16.4A3.6,3.6 0 0,0 20,16.4V7.6C20,5.61 18.39,4 16.4,4H7.6M17.25,5.5A1.25,1.25 0 0,1 18.5,6.75A1.25,1.25 0 0,1 17.25,8A1.25,1.25 0 0,1 16,6.75A1.25,1.25 0 0,1 17.25,5.5M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z\";\r\nexport var mdiInstrumentTriangle = \"M11.5 2H10.5V6.2C10.4 6.3 10.3 6.3 10.2 6.5L2.1 20.7C1.8 21.3 2.2 22 2.9 22H16V20H4.8L11 9.2L16.7 19.2L18.4 18.2L11.8 6.4L11.5 6.1V2M21 6H20V18L19.5 22H21.5L21 18V6Z\";\r\nexport var mdiInvertColors = \"M12,19.58V19.58C10.4,19.58 8.89,18.96 7.76,17.83C6.62,16.69 6,15.19 6,13.58C6,12 6.62,10.47 7.76,9.34L12,5.1M17.66,7.93L12,2.27V2.27L6.34,7.93C3.22,11.05 3.22,16.12 6.34,19.24C7.9,20.8 9.95,21.58 12,21.58C14.05,21.58 16.1,20.8 17.66,19.24C20.78,16.12 20.78,11.05 17.66,7.93Z\";\r\nexport var mdiInvertColorsOff = \"M20.65,20.87L18.3,18.5L12,12.23L8.44,8.66L7,7.25L4.27,4.5L3,5.77L5.78,8.55C3.23,11.69 3.42,16.31 6.34,19.24C7.9,20.8 9.95,21.58 12,21.58C13.79,21.58 15.57,21 17.03,19.8L19.73,22.5L21,21.23L20.65,20.87M12,19.59C10.4,19.59 8.89,18.97 7.76,17.83C6.62,16.69 6,15.19 6,13.59C6,12.27 6.43,11 7.21,10L12,14.77V19.59M12,5.1V9.68L19.25,16.94C20.62,14 20.09,10.37 17.65,7.93L12,2.27L8.3,5.97L9.71,7.38L12,5.1Z\";\r\nexport var mdiIobroker = \"M12 2C11.5 2 11 2.04 10.5 2.11V4.85C11 4.75 11.5 4.7 12 4.7C12.5 4.7 13 4.75 13.5 4.85V2.12C13 2.04 12.5 2 12 2M9.82 2.25C5.4 3.25 2.11 7.24 2.11 12C2.11 17.5 6.53 22 12 22C17.47 22 21.89 17.5 21.89 12C21.89 7.24 18.6 3.25 14.19 2.25V5.03C17.17 5.96 19.34 8.73 19.34 12C19.34 16 16.05 19.3 12 19.3C7.96 19.3 4.67 16 4.67 12C4.67 8.73 6.84 5.96 9.82 5.03M12 5.45C11.5 5.45 11 5.5 10.5 5.62V18.27C11 18.38 11.5 18.44 12 18.44C12.5 18.44 13 18.39 13.5 18.27V5.62C13 5.5 12.5 5.45 12 5.45Z\";\r\nexport var mdiIp = \"M16,11H14V9H16V11M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M10,7H8V17H10V7M12,17H14V13H16A2,2 0 0,0 18,11V9A2,2 0 0,0 16,7H12V17Z\";\r\nexport var mdiIpNetwork = \"M15,9H13V7H15V9M22,20V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7A2,2 0 0,1 5,15V5A2,2 0 0,1 7,3H17A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22M9,5H7V15H9V5M11,15H13V11H15A2,2 0 0,0 17,9V7A2,2 0 0,0 15,5H11V15Z\";\r\nexport var mdiIpNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M10,6H8V14H10V6M14,6H11V14H13V12H14A2,2 0 0,0 16,10V8A2,2 0 0,0 14,6M14,10H13V8H14V10Z\";\r\nexport var mdiIpod = \"M7,2A2,2 0 0,0 5,4V20A2,2 0 0,0 7,22H17A2,2 0 0,0 19,20V4A2,2 0 0,0 17,2H7M7,4H17V10H7V4M12,12A4,4 0 0,1 16,16A4,4 0 0,1 12,20A4,4 0 0,1 8,16A4,4 0 0,1 12,12M12,14A2,2 0 0,0 10,16A2,2 0 0,0 12,18A2,2 0 0,0 14,16A2,2 0 0,0 12,14Z\";\r\nexport var mdiIron = \"M21 6C19.34 6 18 7.34 18 9V13C18 13.55 17.55 14 17 14V10C17 8.34 15.66 7 14 7H10C8.34 7 7 8.34 7 10H9C9 9.45 9.45 9 10 9H14C14.55 9 15 9.45 15 10V11H6C3.79 11 2 12.79 2 15V18H17V16C18.66 16 20 14.66 20 13V9C20 8.45 20.45 8 21 8H22V6H21Z\";\r\nexport var mdiIronOutline = \"M21 6C19.34 6 18 7.34 18 9V13C18 13.55 17.55 14 17 14V10C17 8.34 15.66 7 14 7H10C8.34 7 7 8.34 7 10H9C9 9.45 9.45 9 10 9H14C14.55 9 15 9.45 15 10V11H6C3.79 11 2 12.79 2 15V18H17V16C18.66 16 20 14.66 20 13V9C20 8.45 20.45 8 21 8H22V6H21M15 16H4V15C4 13.9 4.9 13 6 13H15V16Z\";\r\nexport var mdiIsland = \"M20 20C18.61 20 17.22 19.53 16 18.67C13.56 20.38 10.44 20.38 8 18.67C6.78 19.53 5.39 20 4 20H2V22H4C5.37 22 6.74 21.65 8 21C10.5 22.3 13.5 22.3 16 21C17.26 21.65 18.62 22 20 22H22V20H20M20.78 19H20C18.82 19 17.64 18.6 16.58 17.85L16 17.45L15.42 17.85C14.39 18.57 13.21 18.95 12 18.95C10.77 18.95 9.59 18.57 8.56 17.85L8 17.45L7.43 17.85C6.36 18.6 5.18 19 4 19H3.22C3.75 17.54 5.58 15 12 15C14 15 15 15.24 15 15.24C15.68 13.87 16.83 10.77 16 6.82L17.06 7.53C17.39 8.96 18 11.75 16.8 15.65C19.43 16.5 20.42 18 20.78 19M22 7.59C21.21 6.5 20 5.71 18.58 5.53C18.7 5.67 18.81 5.83 18.92 6C20.12 7.91 19.87 10.32 18.47 11.95C19.06 10.5 19 8.79 18.08 7.36C18 7.28 17.96 7.2 17.9 7.11C17.5 6.53 16.96 6.06 16.38 5.72C14.35 6.37 12.88 8.27 12.88 10.5C12.88 11.03 12.96 11.53 13.1 12C12.5 11.17 12.16 10.17 12.16 9.07C12.16 7.41 12.96 5.95 14.2 5.03C13.16 4.95 12.09 5.18 11.14 5.78C10.7 6.05 10.32 6.38 10 6.76C10.39 5.82 11.05 5 12 4.4C13.04 3.74 14.25 3.5 15.39 3.69C15.1 3.29 14.75 2.92 14.33 2.6C13.92 2.29 13.47 2.05 13 1.88C14 1.91 15.04 2.24 15.91 2.89C16.35 3.22 16.7 3.62 17 4.05C17.06 4.05 17.12 4.04 17.19 4.04C19.45 4.04 21.37 5.53 22 7.59Z\";\r\nexport var mdiIvBag = \"M14 1H10C5 1 5 3 5 3V15C5 15 5 17 10 17V19H11V20C11 21.21 11.8 23 14 23H18V21H14C13.19 21 13 20.45 13 20V19H14V17C19 17 19 15 19 15V3C19 3 19 1 14 1M17 12H14V11H17V12M17 5H14V6H17V8H14V9H17V10H7V3.5C7.3 3.32 8.13 3 10 3H14C15.88 3 16.7 3.32 17 3.5V5Z\";\r\nexport var mdiJabber = \"M5.23,5.72C4.61,5.55 5,3.19 5,3.17C5,3.19 12.58,-0.71 16.7,5.73C20.8,12.15 15.86,14.86 13.97,16.06C12.08,17.27 12.73,19.72 12.73,20.13C12.73,20.53 12.16,20.97 12,20.41C11.88,19.84 11.25,16.55 13.33,15.16C17.13,12.61 17.9,10.1 16,6.42C14.2,3 8.28,3.41 7.03,4.08C5.78,4.75 5.86,5.89 5.23,5.72M9.33,12.63L9.11,12.16C9.23,10.28 7.63,10.39 8.08,13.33C8.21,14.16 7.47,13.8 7.45,13.73C6.89,11.44 7.42,10.22 8.55,10.45C9.62,10.68 9.53,11.83 9.53,11.83C9.56,11.78 11,10.17 11.5,10.92C12.58,12.5 10.53,14.47 10.41,14.63C10.28,14.78 10.14,15.05 9.92,14.84C9.7,14.64 9.72,14.5 9.89,14.27C12.77,10 9.59,12.22 9.33,12.63M6.5,15.33V15.31C6.5,15.31 8,18.13 10.61,17.08C11,16.92 11.17,17.14 11.2,17.27C11.27,17.53 11.13,17.64 10.86,17.73C7.86,18.72 5.89,16.63 5.63,16.13C5.39,15.68 5.5,15.38 5.75,15.22C6,15.06 6.5,15.33 6.5,15.33M6,17.5C6,17.5 7.67,19.5 10.8,19C11.09,18.94 11.2,19.13 11.25,19.38C11.3,19.63 11.22,19.84 10.92,19.94C10.63,20.03 7.08,20.5 5.13,17.72C5,17.56 5.3,17.36 5.47,17.36C5.64,17.36 6.03,17.5 6,17.5M5.95,19.39C7.53,21.5 10.33,21.55 11.28,20.88C11.5,20.73 11.7,21.05 11.56,21.19C9.64,23.16 5.67,21 5.27,20.33C5.09,20.05 5.13,19.66 5.31,19.45C5.5,19.25 5.93,19.38 5.95,19.39Z\";\r\nexport var mdiJeepney = \"M19,13V7H20V4H4V7H5V13H2C2,13.93 2.5,14.71 3.5,14.93V20A1,1 0 0,0 4.5,21H5.5A1,1 0 0,0 6.5,20V19H17.5V20A1,1 0 0,0 18.5,21H19.5A1,1 0 0,0 20.5,20V14.93C21.5,14.7 22,13.93 22,13H19M8,15A1.5,1.5 0 0,1 6.5,13.5A1.5,1.5 0 0,1 8,12A1.5,1.5 0 0,1 9.5,13.5A1.5,1.5 0 0,1 8,15M16,15A1.5,1.5 0 0,1 14.5,13.5A1.5,1.5 0 0,1 16,12A1.5,1.5 0 0,1 17.5,13.5A1.5,1.5 0 0,1 16,15M17.5,10.5C15.92,10.18 14.03,10 12,10C9.97,10 8,10.18 6.5,10.5V7H17.5V10.5Z\";\r\nexport var mdiJellyfish = \"M19.5,14.5C18.92,14.43 18.43,14.92 18.5,15.5C18.5,16.17 17.5,16.17 17.5,15.5V13.2L19.2,12.7C19.92,12.36 20.41,11.68 20.5,10.9C20.5,5.5 16.7,2 12,2C7.3,2 3.5,5.5 3.5,10.9C3.56,11.7 4.06,12.4 4.8,12.7L6.5,13.2V15.5A0.5,0.5 0 0,1 6,16A0.5,0.5 0 0,1 5.5,15.5C5.57,14.92 5.08,14.43 4.5,14.5C3.92,14.43 3.43,14.92 3.5,15.5C3.44,16.91 4.59,18.06 6,18C7.41,18.06 8.56,16.91 8.5,15.5V13.7H9.5V19.4C9.5,20.07 8.5,20.07 8.5,19.4C8.57,18.82 8.08,18.33 7.5,18.4C6.92,18.33 6.43,18.82 6.5,19.4C6.38,20.84 7.55,22.07 9,22C10.41,22.06 11.56,20.91 11.5,19.5V14H12.5V19.5C12.44,20.91 13.59,22.06 15,22C16.41,22.06 17.56,20.91 17.5,19.5C17.5,18.17 15.5,18.17 15.5,19.5C15.5,20.17 14.5,20.17 14.5,19.5V13.8H15.5V15.6C15.5,16.96 16.63,18.06 18,18C19.41,18.06 20.56,16.91 20.5,15.5C20.57,14.92 20.08,14.43 19.5,14.5M10.6,4.7C9.09,5.03 7.79,5.97 7,7.3C6.83,7.5 6.5,7.57 6.3,7.4C6.08,7.23 6.04,6.92 6.2,6.7C7.16,5.19 8.67,4.12 10.4,3.7C10.67,3.68 10.91,3.85 11,4.1C11.06,4.37 10.88,4.65 10.6,4.7Z\";\r\nexport var mdiJellyfishOutline = \"M12,4C15.8,4 18.5,6.8 18.5,10.8C14.31,12.39 9.69,12.39 5.5,10.8C5.5,6.8 8.2,4 12,4M12,2C7.3,2 3.5,5.5 3.5,10.9C3.56,11.7 4.06,12.4 4.8,12.7L6.5,13.2V15.5A0.5,0.5 0 0,1 6,16A0.5,0.5 0 0,1 5.5,15.5C5.57,14.92 5.08,14.43 4.5,14.5C3.92,14.43 3.43,14.92 3.5,15.5C3.44,16.86 4.54,18 5.9,18H6C7.41,18.06 8.56,16.91 8.5,15.5V13.7H9.5V19.4C9.5,20.07 8.5,20.07 8.5,19.4C8.57,18.82 8.08,18.33 7.5,18.4C6.92,18.33 6.43,18.82 6.5,19.4C6.39,20.8 7.5,22 8.9,22H9C10.41,22.06 11.56,20.91 11.5,19.5V14H12.5V19.5C12.44,20.91 13.59,22.06 15,22H15.1C16.47,22 17.56,20.86 17.5,19.5C17.5,18.17 15.5,18.17 15.5,19.5C15.5,20.17 14.5,20.17 14.5,19.5V13.8H15.5V15.6C15.5,16.96 16.63,18.06 18,18H18.1C19.47,18 20.56,16.86 20.5,15.5C20.5,14.17 18.5,14.17 18.5,15.5C18.5,16.17 17.5,16.17 17.5,15.5V13.2L19.2,12.7C19.92,12.36 20.41,11.68 20.5,10.9C20.5,5.5 16.7,2 12,2M12,6.2C10.53,6.6 9.24,7.53 8.4,8.8C8,9.33 7.2,8.73 7.6,8.2C8.6,6.73 10.09,5.67 11.8,5.2C12.08,5.14 12.35,5.32 12.4,5.6C12.5,5.9 12.3,6.1 12,6.2Z\";\r\nexport var mdiJira = \"M11.53,2C11.53,4.4 13.5,6.35 15.88,6.35H17.66V8.05C17.66,10.45 19.6,12.39 22,12.4V2.84A0.84,0.84 0 0,0 21.16,2H11.53M6.77,6.8C6.78,9.19 8.72,11.13 11.11,11.14H12.91V12.86C12.92,15.25 14.86,17.19 17.25,17.2V7.63C17.24,7.17 16.88,6.81 16.42,6.8H6.77M2,11.6C2,14 3.95,15.94 6.35,15.94H8.13V17.66C8.14,20.05 10.08,22 12.47,22V12.43A0.84,0.84 0 0,0 11.63,11.59L2,11.6Z\";\r\nexport var mdiJquery = \"M22.88,10.41C20.77,12.18 17.61,11.9 15.84,9.79C14.06,7.67 14.34,4.5 16.45,2.75L16.96,2.37C15.27,4.19 15.16,7.03 16.8,9C18.43,10.94 21.25,11.32 23.34,9.97L22.88,10.41M21.1,14.5C17.93,17.17 13.2,16.76 10.54,13.58C7.87,10.41 8.29,5.68 11.46,3L12.38,2.36C9.96,5.09 9.84,9.26 12.26,12.14C14.68,15 18.8,15.63 21.91,13.72L21.1,14.5M19.97,19.38C15.53,23.11 8.9,22.53 5.17,18.08C1.45,13.64 2.03,7 6.47,3.29L7.58,2.5C4.07,6.3 3.85,12.23 7.28,16.32C10.71,20.4 16.59,21.22 20.96,18.43L19.97,19.38Z\";\r\nexport var mdiJsfiddle = \"M17.34 13.7C17.34 15 16.23 16.04 14.86 16.04C13.65 16.04 12.64 15 11.75 14.04L11.5 13.79C11.5 13.76 11.47 13.73 11.45 13.7C10.74 12.96 9.96 12.22 9.21 12.22C8.32 12.22 7.6 12.88 7.6 13.69C7.6 14.5 8.32 15.17 9.21 15.17C9.97 15.17 10.35 14.75 10.63 14.45L10.7 14.37C10.86 14.2 11.14 14.19 11.31 14.35C11.5 14.5 11.5 14.79 11.33 14.96L11.27 15.03C10.94 15.38 10.35 16.03 9.21 16.03C7.84 16.03 6.73 15 6.73 13.69C6.73 12.4 7.84 11.35 9.21 11.35C10.42 11.35 11.43 12.41 12.32 13.35L12.56 13.6C12.58 13.63 12.6 13.66 12.62 13.69C13.33 14.43 14.11 15.17 14.86 15.17C15.75 15.17 16.47 14.5 16.47 13.69C16.47 12.88 15.75 12.22 14.86 12.22C14.11 12.22 13.72 12.64 13.44 12.94L13.37 13C13.21 13.19 12.94 13.2 12.76 13.04C12.59 12.87 12.58 12.6 12.74 12.42L12.81 12.36C13.13 12 13.73 11.36 14.86 11.36C16.23 11.36 17.34 12.4 17.34 13.7M22 14.85C22 15.96 21.57 17 20.78 17.79C20 18.57 18.95 19 17.84 19H6.28C3.96 18.96 2.07 17.06 2.07 14.75C2.07 13.37 2.76 12.07 3.89 11.28C3.85 11.09 3.83 10.9 3.83 10.7C3.83 9.03 5.2 7.67 6.88 7.67C7.39 7.67 7.88 7.79 8.32 8.03C9.41 6.17 11.43 5 13.6 5C16.97 5 19.7 7.72 19.7 11.07L19.7 11.14C21.11 11.84 22 13.27 22 14.85M21.13 14.85C21.13 13.5 20.33 12.32 19.09 11.81C18.92 11.74 18.81 11.57 18.82 11.38L18.83 11.29C18.83 11.22 18.84 11.14 18.84 11.07C18.84 8.2 16.5 5.87 13.6 5.87C11.6 5.87 9.74 7.03 8.87 8.83C8.82 8.95 8.71 9.04 8.58 9.07C8.46 9.1 8.32 9.07 8.22 9C7.83 8.69 7.37 8.53 6.88 8.53C5.68 8.53 4.7 9.5 4.7 10.7C4.7 10.92 4.73 11.14 4.8 11.34C4.86 11.54 4.78 11.75 4.61 11.85C3.56 12.47 2.94 13.55 2.94 14.75C2.94 16.59 4.44 18.1 6.29 18.13H17.83C18.72 18.13 19.54 17.79 20.16 17.17C20.79 16.55 21.13 15.73 21.13 14.85Z\";\r\nexport var mdiJumpRope = \"M21 4.5V10.5C21 11.2 20.5 11.9 19.8 12V17.3C19.8 18.6 19 21.1 16 21.1H14.5C14.9 20.7 15.3 20.2 15.5 19.6H16C18.1 19.6 18.2 17.7 18.2 17.4V12C17.5 11.9 17 11.3 17 10.5V4.5C17 3.7 17.7 3 18.5 3H19.5C20.3 3 21 3.7 21 4.5M14.8 18.2C14.8 19.7 13.6 21 12 21H8C5 21 4.2 18.5 4.2 17.2V12C3.5 11.9 3 11.2 3 10.5V4.5C3 3.7 3.7 3 4.5 3H5.5C6.3 3 7 3.7 7 4.5V10.5C7 11.2 6.5 11.9 5.8 12V17.3C5.8 17.7 5.9 19.5 8 19.5H9.6C9.4 19.1 9.3 18.7 9.3 18.3V8.3C9.3 6.8 10.5 5.5 12.1 5.5S14.8 6.7 14.8 8.3M13.2 8.2C13.2 7.6 12.7 7 12 7S10.8 7.6 10.8 8.2V18.2C10.8 18.9 11.4 19.4 12 19.4S13.2 18.8 13.2 18.2V8.2Z\";\r\nexport var mdiKabaddi = \"M11.2 10.6C12.2 11.6 13.4 12.1 14.8 12.1L14.9 14.2C13 14.2 11.3 13.5 9.8 12.1L9.1 11.4L6.8 13.8L9 15.9V21.9H7V16.7L5.7 15.5V17.7L1.5 22L.1 20.6L3.7 17L2.5 13.5C2.3 12.9 2.6 12.4 3.1 12L6.4 8.7C6.8 8.2 7.3 8 7.8 8C8.3 8 8.6 8.1 8.9 8.3L11.2 10.6M24 11.9H22V8.5L20.2 7.8L21.1 12.2L22.1 17.4L23 21.8H20.9L19.1 13.8L17 15.8V21.8H15V14.3L17.1 12.3L16.5 9.3C15.9 9.9 15.2 10.5 14.4 10.9C13.5 10.8 12.6 10.4 11.9 9.7C13.5 9.4 14.6 8.6 15.3 7.4L16.3 5.8C16.9 4.8 17.8 4.5 18.9 5L24 7.2V11.9M11.4 4.4C12.5 4.4 13.4 5.3 13.4 6.4C13.4 7.5 12.5 8.4 11.4 8.4C10.3 8.4 9.4 7.5 9.4 6.4C9.4 5.3 10.3 4.4 11.4 4.4M16.5 .3C17.6 .3 18.5 1.2 18.5 2.3C18.5 3.4 17.6 4.3 16.5 4.3C15.4 4.3 14.5 3.4 14.5 2.3C14.5 1.2 15.4 .3 16.5 .3Z\";\r\nexport var mdiKangaroo = \"M19.8 6.59L19 7.97V10.04L17.69 11.61L17.31 13.25L16 14L15.5 13.12L16.44 12.59L16.7 11.45L16.7 11.45L16.77 11.15L16.77 11.15V11.15L17.47 10.31C17.65 10.1 17.62 9.78 17.41 9.61C17.2 9.43 16.88 9.46 16.7 9.67L15.85 10.69L15.56 11.93C15.38 11.96 15.2 12 15 12C14.31 12 13.68 11.76 13.23 11.4C13.15 12.7 12.73 13.81 12.13 14.43L10.5 16.19L9.96 19.79L8.07 21L7.53 20.17L9.04 19.19L9.5 15.92L9.5 15.91L10 14.54C9.47 14.08 9.08 13.28 8.88 12.3L8.71 12.61C8.35 13.25 8 13.9 7.56 14.56C7.11 15.2 6.66 15.9 5.78 16.44C5.34 16.72 4.7 16.84 4.17 16.73C3.61 16.61 3.14 16.26 2.86 15.89C2.31 15.13 2.15 14.35 2 13.62L2.97 13.36C3.2 14 3.5 14.65 3.88 15C4.26 15.33 4.57 15.26 4.84 15C5.16 14.73 5.47 14.15 5.73 13.55C6 12.94 6.22 12.28 6.45 11.6C6.93 10.24 7.39 8.82 8.2 7.36C8.62 6.64 9.13 5.89 9.92 5.22C10.7 4.55 11.73 4 13 4S15.7 5.22 16.58 6.34C17 6.89 17.87 6.82 18.22 6.21L19.14 4.63C19 4.58 18.89 4.5 18.79 4.4C18.4 4 18.4 3.38 18.79 3L19.93 4.13C19.96 4.13 20 4.11 20 4.11C20.41 4.11 20.75 4.35 20.91 4.69L22 7L21 7.5L19.8 6.59Z\";\r\nexport var mdiKarate = \"M19,1.27C18.04,0.72 16.82,1.04 16.27,2C15.71,2.95 16.04,4.18 17,4.73C17.95,5.28 19.17,4.96 19.73,4C20.28,3.04 19.95,1.82 19,1.27M21.27,9.34L18.7,13.79L16.96,12.79L18.69,9.79L17.14,8.5L14,13.92V22H12V13.39L2.47,7.89L3.47,6.16L11.27,10.66L13.67,6.5L7.28,4.17L8,2.29L14.73,4.74L15,4.84C15.39,5 15.76,5.15 16.12,5.35L16.96,5.84C17.31,6.04 17.65,6.28 17.96,6.54L18.19,6.74L21.27,9.34Z\";\r\nexport var mdiKayaking = \"M22 23V21C20.58 21.05 19.21 20.9 18 20C16.23 21.25 13.77 21.25 12 20C10.23 21.25 7.77 21.25 6 20C4.79 20.9 3.42 21.05 2 21V23C3.38 23.05 4.79 22.94 6 22.25C7.84 23.25 10.16 23.25 12 22.25C13.84 23.25 16.16 23.25 18 22.25C19.21 22.94 20.62 23.05 22 23M23.39 17.21C21.13 16.29 18.3 15.56 15.66 15.22L19.36 6.88L20.67 6.41L22 3.41L18.8 2L17.5 4.95L18 6.27L16.31 9.97L13.5 11.47L11 10.2C10.95 10.14 10.86 10.09 10.74 10.06C9.82 9.73 8.77 10.32 8.5 11.23L7.13 15.41C6.59 15.18 1.25 16.97 .915 17.12L0 17.47C1.33 18.04 2.2 18.39 3.94 18.88C4.75 18.63 5.44 18.09 6 17.47C7.5 19.42 10.5 19.42 12 17.47C13.5 19.42 16.5 19.42 18 17.47C18.56 18.09 19.25 18.63 20.06 18.88L22.95 17.91L24 17.47L23.39 17.21M14.06 15.08C13.07 15 12.06 15 11.06 15L11.77 12.83L13.5 13.77L15 12.92L14.06 15.08M14 7.5C14 8.61 13.11 9.5 12 9.5S10 8.61 10 7.5 10.9 5.5 12 5.5 14 6.4 14 7.5Z\";\r\nexport var mdiKeg = \"M5,22V20H6V16H5V14H6V11H5V7H11V3H10V2H11L13,2H14V3H13V7H19V11H18V14H19V16H18V20H19V22H5M17,9A1,1 0 0,0 16,8H14A1,1 0 0,0 13,9A1,1 0 0,0 14,10H16A1,1 0 0,0 17,9Z\";\r\nexport var mdiKettle = \"M12.5,3C7.81,3 4,5.69 4,9V9C4,10.19 4.5,11.34 5.44,12.33C4.53,13.5 4,14.96 4,16.5C4,17.64 4,18.83 4,20C4,21.11 4.89,22 6,22H19C20.11,22 21,21.11 21,20C21,18.85 21,17.61 21,16.5C21,15.28 20.66,14.07 20,13L22,11L19,8L16.9,10.1C15.58,9.38 14.05,9 12.5,9C10.65,9 8.95,9.53 7.55,10.41C7.19,9.97 7,9.5 7,9C7,7.21 9.46,5.75 12.5,5.75V5.75C13.93,5.75 15.3,6.08 16.33,6.67L18.35,4.65C16.77,3.59 14.68,3 12.5,3M12.5,11C12.84,11 13.17,11.04 13.5,11.09C10.39,11.57 8,14.25 8,17.5V20H6V17.5A6.5,6.5 0 0,1 12.5,11Z\";\r\nexport var mdiKettleAlert = \"M9.5 3C4.8 3 1 5.7 1 9C1 10.2 1.5 11.3 2.4 12.3C1.5 13.5 1 15 1 16.5V20C1 21.1 1.9 22 3 22H16C17.1 22 18 21.1 18 20V16.5C18 15.3 17.7 14.1 17 13L19 11L16 8L13.9 10.1C12.6 9.4 11.1 9 9.5 9C7.7 9 5.9 9.5 4.6 10.4C4.2 10 4 9.5 4 9C4 7.2 6.5 5.8 9.5 5.8C10.9 5.8 12.3 6.1 13.3 6.7L15.3 4.7C13.8 3.6 11.7 3 9.5 3M9.5 11C9.8 11 10.2 11 10.5 11.1C7.4 11.6 5 14.2 5 17.5V20H3V17.5C3 13.9 5.9 11 9.5 11M21 13V7H23V13H21M21 17V15H23V17H21Z\";\r\nexport var mdiKettleAlertOutline = \"M9.5 3C4.8 3 1 5.7 1 9C1 10.2 1.5 11.3 2.4 12.3C1.5 13.5 1 15 1 16.5V20C1 21.1 1.9 22 3 22H16C17.1 22 18 21.1 18 20V16.5C18 15.3 17.7 14.1 17 13L19 11L16 8L13.9 10.1C11 8.5 7.4 8.6 4.6 10.4C4.2 10 4 9.5 4 9C4 7.2 6.5 5.7 9.5 5.7C10.9 5.7 12.3 6.1 13.3 6.7L15.3 4.7C13.6 3.5 11.6 3 9.5 3M9.5 11C13 11 16 14 16 16.5V20H3V16.5C3 14 6 11 9.5 11M10 12.5C7 12.5 5 14 5 17V18H7V17C7 16 7 13.5 10 12.5M21 13V7H23V13H21M21 17V15H23V17H21Z\";\r\nexport var mdiKettleOff = \"M22.1 21.5L2.4 1.7L1.1 3L4.7 6.6C4.3 7.3 4 8.1 4 9C4 10.2 4.5 11.3 5.4 12.3C4.5 13.5 4 15 4 16.5V20C4 21.1 4.9 22 6 22H19C19.3 22 19.6 21.9 19.9 21.8L20.8 22.7L22.1 21.5M8.2 10.1L7.6 10.4C7.2 10 7 9.5 7 9V8.9L8.2 10.1M8 17.5V20H6V17.5C6 14.9 7.5 12.7 9.7 11.6L10.5 12.4C9 13.6 8 15.4 8 17.5M16.9 10.1L19 8L22 11L20 13C20.7 14.1 21 15.3 21 16.5V17.8L12.2 9H12.5C14 9 15.6 9.4 16.9 10.1M9.5 6.3L7.4 4.2C8.8 3.5 10.6 3 12.5 3C14.7 3 16.8 3.6 18.3 4.7L16.3 6.7C15.3 6.1 13.9 5.8 12.5 5.8C11.4 5.8 10.4 5.9 9.5 6.3Z\";\r\nexport var mdiKettleOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L4.7 6.6C4.3 7.3 4 8.1 4 9C4 10.2 4.5 11.3 5.4 12.3C4.5 13.5 4 15 4 16.5V20C4 21.1 4.9 22 6 22H19C19.3 22 19.6 21.9 19.9 21.8L20.8 22.7L22.1 21.5M8.2 10.1L7.6 10.4C7.2 10 7 9.5 7 9V8.9L8.2 10.1M6 20V16.5C6 14.7 7.6 12.6 9.7 11.6L10.9 12.8C9.1 13.4 8 14.8 8 17V18H10V17C10 16.2 10 14.5 11.4 13.3L18.1 20H6M16.9 10.1L19 8L22 11L20 13C20.7 14.1 21 15.3 21 16.5V17.8L18.9 15.7C18.5 13.9 16.8 12.1 14.6 11.4L12.2 9C13.8 8.9 15.4 9.3 16.9 10.1M9.5 6.3L7.4 4.2C8.8 3.5 10.6 3 12.5 3C14.6 3 16.6 3.5 18.3 4.7L16.3 6.7C15.3 6.1 13.9 5.7 12.5 5.7C11.4 5.7 10.3 5.9 9.5 6.3Z\";\r\nexport var mdiKettleOutline = \"M12.5 3C7.8 3 4 5.7 4 9C4 10.2 4.5 11.3 5.4 12.3A6.8 6.8 0 0 0 4 16.5V20C4 21.1 4.9 22 6 22H19A2 2 0 0 0 21 20V16.5C21 15.3 20.7 14.1 20 13L22 11L19 8L16.9 10.1A9.2 9.2 0 0 0 7.6 10.4A2 2 0 0 1 7 9C7 7.2 9.5 5.7 12.5 5.7C13.9 5.7 15.3 6.1 16.3 6.7L18.3 4.7A10 10 0 0 0 12.5 3M12.5 11C16 11 19 14 19 16.5V20H6V16.5C6 14 9 11 12.5 11M13 12.5C10 12.5 8 14 8 17V18H10V17C10 16 10 13.5 13 12.5Z\";\r\nexport var mdiKettlePourOver = \"M10 4C9.4 4 9 4.4 9 5V6H14V5C14 4.4 13.6 4 13 4H10M3 7L4.1 14.1C4.2 14.8 4.5 15.5 5.1 16.1C5.5 16.6 6.2 16.9 7 17C7 17.6 7.4 18 8 18H16C16.6 18 17 17.6 17 17L15 11H17L20.3 16L22 15L18.7 10L20 9.2L19 7.5L16.4 9H15V7H8V11L7.2 16C6.5 15.9 6.1 15.7 5.8 15.4C5.4 15 5.2 14.5 5.1 13.9L4 7H3M4 19V21H20V19H4Z\";\r\nexport var mdiKettleSteam = \"M19 11L16 8L13.9 10.1C12.58 9.38 11.05 9 9.5 9C7.65 9 5.95 9.53 4.55 10.41C4.19 9.97 4 9.5 4 9C4 7.21 6.46 5.75 9.5 5.75C10.93 5.75 12.3 6.08 13.33 6.67L15.35 4.65C13.77 3.59 11.68 3 9.5 3C4.81 3 1 5.69 1 9C1 10.19 1.5 11.34 2.44 12.33C1.53 13.5 1 14.96 1 16.5V20C1 21.11 1.89 22 3 22H16C17.11 22 18 21.11 18 20V16.5C18 15.28 17.66 14.07 17 13L19 11M5 17.5V20H3V17.5C3 13.91 5.91 11 9.5 11C9.84 11 10.17 11.04 10.5 11.09C7.39 11.57 5 14.25 5 17.5M23 7.3C23 8.93 21.91 10.6 20.38 10.97L19.71 10.29L19 9.6H19.75C20.75 9.6 21.5 8.22 21.5 7.2C21.5 6.18 20.65 5.14 19.65 5.14V3.64C21.5 3.64 23 5.45 23 7.3M17.65 6.73C17.03 6.12 16.65 5.28 16.65 4.35C16.65 2.5 18.15 1 20 1V2.5C19 2.5 18.15 3.33 18.15 4.35C18.15 5.37 19 6.2 20 6.2V7.7C19.18 7.7 18.42 7.95 17.79 8.38L16.72 7.31C17 7.09 17.32 6.89 17.65 6.73Z\";\r\nexport var mdiKettleSteamOutline = \"M9.5 3C4.8 3 1 5.7 1 9C1 10.2 1.5 11.3 2.4 12.3C1.5 13.5 .985 15 1 16.5V20C1 21.1 1.9 22 3 22H16C17.11 22 18 21.11 18 20V16.5C18 15.3 17.7 14.1 17 13L19 11L16 8L13.9 10.1C10.97 8.5 7.42 8.63 4.6 10.4C4.22 10.03 4 9.53 4 9C4 7.2 6.5 5.7 9.5 5.7C10.9 5.7 12.3 6.1 13.3 6.7L15.3 4.7C13.59 3.55 11.56 2.96 9.5 3M9.5 11C13 11 16 14 16 16.5V20H3V16.5C3 14 6 11 9.5 11M10 12.5C7 12.5 5 14 5 17V18H7V17C7 16 7 13.5 10 12.5M23 7.3C23 8.93 21.91 10.6 20.38 10.97L19.71 10.29L19 9.6H19.75C20.75 9.6 21.5 8.22 21.5 7.2C21.5 6.18 20.65 5.14 19.65 5.14V3.64C21.5 3.64 23 5.45 23 7.3M17.65 6.73C17.03 6.12 16.65 5.28 16.65 4.35C16.65 2.5 18.15 1 20 1V2.5C19 2.5 18.15 3.33 18.15 4.35C18.15 5.37 19 6.2 20 6.2V7.7C19.18 7.7 18.42 7.95 17.79 8.38L16.72 7.31C17 7.09 17.32 6.89 17.65 6.73Z\";\r\nexport var mdiKettlebell = \"M16.2 10.7L16.8 8.3C16.9 8 17.3 6.6 16.5 5.4C15.9 4.5 14.7 4 13 4H11C9.3 4 8.1 4.5 7.5 5.4C6.7 6.6 7.1 7.9 7.2 8.3L7.8 10.7C6.7 11.8 6 13.3 6 15C6 17.1 7.1 18.9 8.7 20H15.3C16.9 18.9 18 17.1 18 15C18 13.3 17.3 11.8 16.2 10.7M9.6 9.5L9.1 7.8V7.7C9.1 7.7 8.9 7 9.2 6.6C9.4 6.2 10 6 11 6H13C13.9 6 14.6 6.2 14.9 6.5C15.2 6.9 15 7.6 15 7.6L14.5 9.5C13.7 9.2 12.9 9 12 9C11.1 9 10.3 9.2 9.6 9.5Z\";\r\nexport var mdiKey = \"M7,14A2,2 0 0,1 5,12A2,2 0 0,1 7,10A2,2 0 0,1 9,12A2,2 0 0,1 7,14M12.65,10C11.83,7.67 9.61,6 7,6A6,6 0 0,0 1,12A6,6 0 0,0 7,18C9.61,18 11.83,16.33 12.65,14H17V18H21V14H23V10H12.65Z\";\r\nexport var mdiKeyArrowRight = \"M10.7 6C10.1 4.2 8.4 3 6.5 3C4 3 2 5 2 7.5S4 12 6.5 12C8.5 12 10.1 10.8 10.7 9H15V12H18V9H22V6H10.7M6.5 9C5.7 9 5 8.3 5 7.5S5.7 6 6.5 6 8 6.7 8 7.5 7.3 9 6.5 9M13 21V19H8V17H13V15L16 18L13 21\";\r\nexport var mdiKeyChain = \"M12.67 13.67C12.2 14.13 11.63 14.5 11 14.73V23H8V21H5V18H8V14.72C6.26 14.1 5 12.46 5 10.5C5 8 7 6 9.5 6C9.54 6 9.57 6 9.6 6C9.13 6.95 8.92 8 9.03 9.08C8.44 9.28 8 9.84 8 10.5C8 11.33 8.67 12 9.5 12C9.73 12 9.95 11.94 10.15 11.85C10.79 12.69 11.67 13.32 12.67 13.67M20.73 19.44L17.97 20.6L17.19 18.76L14.43 19.93L13.26 17.16L16.03 16L14.76 13C12.91 13.08 11.11 12.05 10.35 10.25C9.39 7.96 10.47 5.32 12.76 4.35C13 4.25 13.26 4.18 13.5 4.12C12.84 2.87 11.5 2 10 2C7.79 2 6 3.79 6 6C6 6.08 6 6.16 6 6.24C5.7 6.5 5.4 6.82 5.15 7.15C5.06 6.78 5 6.4 5 6C5 3.24 7.24 1 10 1S15 3.24 15 6C15 7.42 14.4 8.67 13.45 9.57C13.87 10 14.5 10.13 15.08 9.88C15.85 9.56 16.2 8.68 15.88 7.92C15.85 7.83 15.8 7.74 15.74 7.66C15.9 7.13 16 6.58 16 6C16 5.37 15.9 4.76 15.72 4.19C17 4.55 18.1 5.44 18.65 6.76C19.41 8.56 18.89 10.57 17.5 11.81L20.73 19.44M13 8.6C13.37 8.19 13.65 7.71 13.82 7.18C13.28 7.45 12.97 8 13 8.6Z\";\r\nexport var mdiKeyChainVariant = \"M12.66 13.67C12.32 14 11.93 14.29 11.5 14.5V21L9.5 23L7.5 21L9.5 19.29L8 18L9.5 16.71L7.5 15V14.5C6 13.77 5 12.26 5 10.5C5 8 7 6 9.5 6C9.54 6 9.58 6 9.61 6C9.59 6.07 9.54 6.12 9.5 6.18C9.23 6.79 9.08 7.43 9.03 8.08C8.43 8.28 8 8.84 8 9.5C8 10.33 8.67 11 9.5 11C9.53 11 9.57 11 9.6 11C10.24 12.25 11.34 13.2 12.66 13.67M16 6C16 5.37 15.9 4.75 15.72 4.18C17.06 4.56 18.21 5.55 18.73 6.96C19.33 8.62 18.89 10.39 17.75 11.59L20 17.68L18.78 20.25L16.22 19.05L17.5 16.76L15.66 16.06L16.63 14.34L14.16 13.41L14 12.95C12.36 12.77 10.88 11.7 10.27 10.04C9.42 7.71 10.63 5.12 12.96 4.27C13.14 4.21 13.33 4.17 13.5 4.13C12.84 2.87 11.53 2 10 2C7.79 2 6 3.79 6 6C6 6.09 6 6.17 6.03 6.26C5.7 6.53 5.4 6.82 5.15 7.15C5.06 6.78 5 6.4 5 6C5 3.24 7.24 1 10 1S15 3.24 15 6C15 7.16 14.6 8.21 13.94 9.06C16.08 8.88 16 6 16 6M12.81 8.1C12.87 8.27 12.96 8.41 13.06 8.54C13.62 7.88 13.97 7.04 14 6.11C13.89 6.13 13.8 6.15 13.7 6.18C12.92 6.47 12.5 7.33 12.81 8.1Z\";\r\nexport var mdiKeyChange = \"M6.5,2C8.46,2 10.13,3.25 10.74,5H22V8H18V11H15V8H10.74C10.13,9.75 8.46,11 6.5,11C4,11 2,9 2,6.5C2,4 4,2 6.5,2M6.5,5A1.5,1.5 0 0,0 5,6.5A1.5,1.5 0 0,0 6.5,8A1.5,1.5 0 0,0 8,6.5A1.5,1.5 0 0,0 6.5,5M6.5,13C8.46,13 10.13,14.25 10.74,16H22V19H20V22H18V19H16V22H13V19H10.74C10.13,20.75 8.46,22 6.5,22C4,22 2,20 2,17.5C2,15 4,13 6.5,13M6.5,16A1.5,1.5 0 0,0 5,17.5A1.5,1.5 0 0,0 6.5,19A1.5,1.5 0 0,0 8,17.5A1.5,1.5 0 0,0 6.5,16Z\";\r\nexport var mdiKeyLink = \"M6.5 3C4 3 2 5 2 7.5S4 12 6.5 12C8.46 12 10.13 10.75 10.74 9H15V12H18V9H22V6H10.74C10.13 4.25 8.46 3 6.5 3M6.5 6C7.33 6 8 6.67 8 7.5S7.33 9 6.5 9 5 8.33 5 7.5 5.67 6 6.5 6M10 14C8.39 14 6 15.07 6 18C6 20.94 8.39 22 10 22H11V20H10C9.67 20 8 19.9 8 18C8 16.17 9.54 16 10 16H11V14M13 14V16H14C14.33 16 16 16.1 16 18C16 19.83 14.46 20 14 20H13V22H14C15.61 22 18 20.94 18 18C18 15.07 15.61 14 14 14M9 17V19H15V17Z\";\r\nexport var mdiKeyMinus = \"M6.5,3C8.46,3 10.13,4.25 10.74,6H22V9H18V12H15V9H10.74C10.13,10.75 8.46,12 6.5,12C4,12 2,10 2,7.5C2,5 4,3 6.5,3M6.5,6A1.5,1.5 0 0,0 5,7.5A1.5,1.5 0 0,0 6.5,9A1.5,1.5 0 0,0 8,7.5A1.5,1.5 0 0,0 6.5,6M8,17H16V19H8V17Z\";\r\nexport var mdiKeyOutline = \"M22,19H16V15H13.32C12.18,17.42 9.72,19 7,19C3.14,19 0,15.86 0,12C0,8.14 3.14,5 7,5C9.72,5 12.17,6.58 13.32,9H24V15H22V19M18,17H20V13H22V11H11.94L11.71,10.33C11,8.34 9.11,7 7,7A5,5 0 0,0 2,12A5,5 0 0,0 7,17C9.11,17 11,15.66 11.71,13.67L11.94,13H18V17M7,15A3,3 0 0,1 4,12A3,3 0 0,1 7,9A3,3 0 0,1 10,12A3,3 0 0,1 7,15M7,11A1,1 0 0,0 6,12A1,1 0 0,0 7,13A1,1 0 0,0 8,12A1,1 0 0,0 7,11Z\";\r\nexport var mdiKeyPlus = \"M6.5,3C8.46,3 10.13,4.25 10.74,6H22V9H18V12H15V9H10.74C10.13,10.75 8.46,12 6.5,12C4,12 2,10 2,7.5C2,5 4,3 6.5,3M6.5,6A1.5,1.5 0 0,0 5,7.5A1.5,1.5 0 0,0 6.5,9A1.5,1.5 0 0,0 8,7.5A1.5,1.5 0 0,0 6.5,6M8,17H11V14H13V17H16V19H13V22H11V19H8V17Z\";\r\nexport var mdiKeyRemove = \"M6.5,3C8.46,3 10.13,4.25 10.74,6H22V9H18V12H15V9H10.74C10.13,10.75 8.46,12 6.5,12C4,12 2,10 2,7.5C2,5 4,3 6.5,3M6.5,6A1.5,1.5 0 0,0 5,7.5A1.5,1.5 0 0,0 6.5,9A1.5,1.5 0 0,0 8,7.5A1.5,1.5 0 0,0 6.5,6M14.59,14L16,15.41L13.41,18L16,20.59L14.59,22L12,19.41L9.41,22L8,20.59L10.59,18L8,15.41L9.41,14L12,16.59L14.59,14Z\";\r\nexport var mdiKeyStar = \"M6.5 3C4 3 2 5 2 7.5S4 12 6.5 12C8.46 12 10.13 10.75 10.74 9H15V12H18V9H22V6H10.74C10.13 4.25 8.46 3 6.5 3M6.5 6C7.33 6 8 6.67 8 7.5S7.33 9 6.5 9 5 8.33 5 7.5 5.67 6 6.5 6M12 14L10.87 16.64L8 16.89L10.18 18.77L9.5 21.58L12 20.09L14.45 21.58L13.8 18.77L16 16.89L13.11 16.64Z\";\r\nexport var mdiKeyVariant = \"M22,18V22H18V19H15V16H12L9.74,13.74C9.19,13.91 8.61,14 8,14A6,6 0 0,1 2,8A6,6 0 0,1 8,2A6,6 0 0,1 14,8C14,8.61 13.91,9.19 13.74,9.74L22,18M7,5A2,2 0 0,0 5,7A2,2 0 0,0 7,9A2,2 0 0,0 9,7A2,2 0 0,0 7,5Z\";\r\nexport var mdiKeyWireless = \"M4.93 5.92L6.34 7.33A8 8 0 0 1 17.66 7.33L19.07 5.92A10 10 0 0 0 4.93 5.92M7.76 8.75L9.17 10.16A4 4 0 0 1 14.83 10.16L16.24 8.75A6 6 0 0 0 7.76 8.75M10.76 15A4.5 4.5 0 1 0 10.76 18H15V21H18V18H22V15M6.5 18A1.5 1.5 0 1 1 8 16.5A1.5 1.5 0 0 1 6.5 18Z\";\r\nexport var mdiKeyboard = \"M19,10H17V8H19M19,13H17V11H19M16,10H14V8H16M16,13H14V11H16M16,17H8V15H16M7,10H5V8H7M7,13H5V11H7M8,11H10V13H8M8,8H10V10H8M11,11H13V13H11M11,8H13V10H11M20,5H4C2.89,5 2,5.89 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V7C22,5.89 21.1,5 20,5Z\";\r\nexport var mdiKeyboardBackspace = \"M21,11H6.83L10.41,7.41L9,6L3,12L9,18L10.41,16.58L6.83,13H21V11Z\";\r\nexport var mdiKeyboardCaps = \"M6,18H18V16H6M12,8.41L16.59,13L18,11.58L12,5.58L6,11.58L7.41,13L12,8.41Z\";\r\nexport var mdiKeyboardClose = \"M12,23L16,19H8M19,8H17V6H19M19,11H17V9H19M16,8H14V6H16M16,11H14V9H16M16,15H8V13H16M7,8H5V6H7M7,11H5V9H7M8,9H10V11H8M8,6H10V8H8M11,9H13V11H11M11,6H13V8H11M20,3H4C2.89,3 2,3.89 2,5V15A2,2 0 0,0 4,17H20A2,2 0 0,0 22,15V5C22,3.89 21.1,3 20,3Z\";\r\nexport var mdiKeyboardEsc = \"M1 7H7V9H3V11H7V13H3V15H7V17H1V7M11 7H15V9H11V11H13C14.11 11 15 11.9 15 13V15C15 16.11 14.11 17 13 17H9V15H13V13H11C9.9 13 9 12.11 9 11V9C9 7.9 9.9 7 11 7M19 7H21C22.11 7 23 7.9 23 9V10H21V9H19V15H21V14H23V15C23 16.11 22.11 17 21 17H19C17.9 17 17 16.11 17 15V9C17 7.9 17.9 7 19 7Z\";\r\nexport var mdiKeyboardF1 = \"M6 7H12V9H8V11H11V13H8V17H6V7M14 7H18V17H16V9H14V7Z\";\r\nexport var mdiKeyboardF10 = \"M2 7H8V9H4V11H7V13H4V17H2V7M10 7H14V17H12V9H10V7M18 7H20C21.11 7 22 7.9 22 9V15C22 16.11 21.11 17 20 17H18C16.9 17 16 16.11 16 15V9C16 7.9 16.9 7 18 7M18 9V15H20V9H18Z\";\r\nexport var mdiKeyboardF11 = \"M3 7H9V9H5V11H8V13H5V17H3V7M11 7H15V17H13V9H11V7M17 7H21V17H19V9H17V7Z\";\r\nexport var mdiKeyboardF12 = \"M2 7H8V9H4V11H7V13H4V17H2V7M16 7H20C21.11 7 22 7.9 22 9V11C22 12.11 21.11 13 20 13H18V15H22V17H16V13C16 11.9 16.9 11 18 11H20V9H16V7M10 7H14V17H12V9H10V7Z\";\r\nexport var mdiKeyboardF2 = \"M5 7H11V9H7V11H10V13H7V17H5V7M13 7H17C18.11 7 19 7.9 19 9V11C19 12.11 18.11 13 17 13H15V15H19V17H13V13C13 11.9 13.9 11 15 11H17V9H13V7Z\";\r\nexport var mdiKeyboardF3 = \"M5 7H11V9H7V11H10V13H7V17H5V7M19 15C19 16.11 18.11 17 17 17H13V15H17V13H15V11H17V9H13V7H17C18.1 7 19 7.89 19 9V10.5C19 11.33 18.33 12 17.5 12C18.33 12 19 12.67 19 13.5V15Z\";\r\nexport var mdiKeyboardF4 = \"M5 7H11V9H7V11H10V13H7V17H5V7M13 7H15V11H17V7H19V17H17V13H13V7Z\";\r\nexport var mdiKeyboardF5 = \"M5 7H11V9H7V11H10V13H7V17H5V7M13 7H19V9H15V11H17C18.11 11 19 11.9 19 13V15C19 16.11 18.11 17 17 17H13V15H17V13H13V7Z\";\r\nexport var mdiKeyboardF6 = \"M5 7H11V9H7V11H10V13H7V17H5V7M15 7H19V9H15V11H17C18.11 11 19 11.9 19 13V15C19 16.11 18.11 17 17 17H15C13.9 17 13 16.11 13 15V9C13 7.9 13.9 7 15 7M15 13V15H17V13H15Z\";\r\nexport var mdiKeyboardF7 = \"M5 7H11V9H7V11H10V13H7V17H5V7M15 17H13L17 9H13V7H19V9L15 17Z\";\r\nexport var mdiKeyboardF8 = \"M5 7H11V9H7V11H10V13H7V17H5V7M15 13V15H17V13H15M15 9V11H17V9H15M15 17C13.9 17 13 16.11 13 15V13.5C13 12.67 13.67 12 14.5 12C13.67 12 13 11.33 13 10.5V9C13 7.9 13.9 7 15 7H17C18.1 7 19 7.89 19 9V10.5C19 11.33 18.33 12 17.5 12C18.33 12 19 12.67 19 13.5V15C19 16.11 18.11 17 17 17H15Z\";\r\nexport var mdiKeyboardF9 = \"M5 7H11V9H7V11H10V13H7V17H5V7M17 17H13V15H17V13H15C13.9 13 13 12.11 13 11V9C13 7.9 13.9 7 15 7H17C18.11 7 19 7.9 19 9V15C19 16.11 18.11 17 17 17M17 11V9H15V11H17Z\";\r\nexport var mdiKeyboardOff = \"M1,4.27L2.28,3L20,20.72L18.73,22L15.73,19H4C2.89,19 2,18.1 2,17V7C2,6.5 2.18,6.07 2.46,5.73L1,4.27M19,10V8H17V10H19M19,13V11H17V13H19M16,10V8H14V10H16M16,13V11H14V12.18L11.82,10H13V8H11V9.18L9.82,8L6.82,5H20A2,2 0 0,1 22,7V17C22,17.86 21.46,18.59 20.7,18.87L14.82,13H16M8,15V17H13.73L11.73,15H8M5,10H6.73L5,8.27V10M7,13V11H5V13H7M8,13H9.73L8,11.27V13Z\";\r\nexport var mdiKeyboardOffOutline = \"M1,4.27L2.47,5.74C2.18,6.08 2,6.5 2,7V17A2,2 0 0,0 4,19H15.73L18.73,22L20,20.72L2.28,3L1,4.27M4,17V7.27L5,8.27V10H6.73L8,11.27V13H9.73L10.73,14H8V16H12.73L13.73,17H4M5,11H7V13H5V11M17,11H19V13H17V11M19,10H17V8H19V10M14,11H16V13H14.83L14,12.17V11M13,10H11.83L11,9.17V8H13V10M22,7V17C22,17.86 21.45,18.58 20.7,18.87L18.83,17H20V7H8.83L6.83,5H20A2,2 0 0,1 22,7M16,10H14V8H16V10Z\";\r\nexport var mdiKeyboardOutline = \"M4,5A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V7A2,2 0 0,0 20,5H4M4,7H20V17H4V7M5,8V10H7V8H5M8,8V10H10V8H8M11,8V10H13V8H11M14,8V10H16V8H14M17,8V10H19V8H17M5,11V13H7V11H5M8,11V13H10V11H8M11,11V13H13V11H11M14,11V13H16V11H14M17,11V13H19V11H17M8,14V16H16V14H8Z\";\r\nexport var mdiKeyboardReturn = \"M19,7V11H5.83L9.41,7.41L8,6L2,12L8,18L9.41,16.58L5.83,13H21V7H19Z\";\r\nexport var mdiKeyboardSettings = \"M19,10H17V8H19M19,13H17V11H19M16,10H14V8H16M16,13H14V11H16M16,17H8V15H16M7,10H5V8H7M7,13H5V11H7M8,11H10V13H8M8,8H10V10H8M11,11H13V13H11M11,8H13V10H11M20,5H4A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V7A2,2 0 0,0 20,5M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22Z\";\r\nexport var mdiKeyboardSettingsOutline = \"M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22M4,5A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V7A2,2 0 0,0 20,5H4M4,7H20V17H4V7M5,8V10H7V8H5M8,8V10H10V8H8M11,8V10H13V8H11M14,8V10H16V8H14M17,8V10H19V8H17M5,11V13H7V11H5M8,11V13H10V11H8M11,11V13H13V11H11M14,11V13H16V11H14M17,11V13H19V11H17M8,14V16H16V14H8Z\";\r\nexport var mdiKeyboardSpace = \"M3 15H5V19H19V15H21V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V15Z\";\r\nexport var mdiKeyboardTab = \"M20,18H22V6H20M11.59,7.41L15.17,11H1V13H15.17L11.59,16.58L13,18L19,12L13,6L11.59,7.41Z\";\r\nexport var mdiKeyboardTabReverse = \"M4 6H2V18H4M11 6L5 12L11 18L12.41 16.58L8.83 13H23V11H8.83L12.41 7.41L11 6Z\";\r\nexport var mdiKeyboardVariant = \"M6,16H18V18H6V16M6,13V15H2V13H6M7,15V13H10V15H7M11,15V13H13V15H11M14,15V13H17V15H14M18,15V13H22V15H18M2,10H5V12H2V10M19,12V10H22V12H19M18,12H16V10H18V12M8,12H6V10H8V12M12,12H9V10H12V12M15,12H13V10H15V12M2,9V7H4V9H2M5,9V7H7V9H5M8,9V7H10V9H8M11,9V7H13V9H11M14,9V7H16V9H14M17,9V7H22V9H17Z\";\r\nexport var mdiKhanda = \"M16 20C19.72 18 22 15.27 22 12C22 9.34 20.46 6.9 17.89 5H17.82C19 6.35 19.68 8.09 19.68 10C19.68 13 18 15 15.5 16.83C15.5 16.84 14.38 17.54 13 18.41V17.33L15 16C15 16 14.8 15.4 14.58 14.46C16.6 13.58 18 11.69 18 9.5C18 7.34 16.64 5.47 14.65 4.57C14.84 3.63 15 3 15 3L12 1L9 3C9 3 9.16 3.63 9.35 4.57C7.37 5.47 6 7.34 6 9.5C6 11.69 7.4 13.58 9.42 14.46C9.2 15.4 9 16 9 16L11 17.33V18.41C9.62 17.54 8.5 16.84 8.5 16.83C6 15 4.32 13 4.32 10C4.32 8.09 5 6.35 6.18 5H6.12C3.54 6.9 2 9.34 2 12C2 15.27 4.29 18 8 20L9 18.5L10.92 19.73L7.34 22L8 23L11 21.07V23H13V21.07L16 23L16.66 22L13.08 19.73L15 18.5L16 20M16.75 9.5C16.75 11.09 15.76 12.46 14.31 13.19C14.14 12.23 14 11.12 14 10C14 8.67 14.2 7.15 14.42 5.86C15.81 6.6 16.75 7.95 16.75 9.5M7.25 9.5C7.25 7.95 8.19 6.6 9.59 5.86C9.8 7.15 10 8.67 10 10C10 11.12 9.86 12.23 9.69 13.19C8.24 12.46 7.25 11.09 7.25 9.5Z\";\r\nexport var mdiKickstarter = \"M19.3 10.2L17.5 12L19.3 13.8C21.19 15.67 21.19 18.72 19.3 20.59C17.42 22.46 14.35 22.46 12.47 20.59L11.8 19.93C10.93 21.19 9.5 22 7.83 22C5.16 22 3 19.85 3 17.2V6.8C3 4.15 5.16 2 7.83 2C9.5 2 10.93 2.82 11.8 4.07L12.47 3.41C14.35 1.54 17.42 1.54 19.3 3.41C21.19 5.28 21.19 8.33 19.3 10.2Z\";\r\nexport var mdiKitesurfing = \"M16.5 4.5L15.5 3.43L17.92 1H20L16.5 4.5M20.96 23C19.9 23 18.9 22.75 17.96 22.25C16.12 23.25 13.81 23.25 11.97 22.25C10.13 23.25 7.82 23.25 6 22.25C4.77 22.94 3.36 23.05 2 23V21C3.41 21.05 4.77 20.9 6 20C7.74 21.25 10.21 21.25 11.97 20C13.74 21.25 16.2 21.25 17.96 20C19.17 20.9 20.54 21.05 21.94 21V23H20.96M20.35 12.26C18.3 11.5 16.14 12.61 14.08 13.36L12.39 11.5H9.58V8C11.89 8.19 14.29 7.67 15.9 5.96L14.5 4.56C13.6 5.46 12.3 6 11 6H8C6.89 6 5.95 6.92 6 8C6.07 9.35 5.67 12.73 6.45 13.87L8 16.82C7.43 17.23 6.93 17.62 6.5 18C8.09 19.5 10.65 19.17 11.97 17.5C12.91 18.59 14.45 19.3 15.9 18.83C17.45 17.77 22.74 14 20.35 12.26M11.43 14.65C11 14.89 10.16 15.37 9.82 15.61L8.97 13.59L11.46 13.5L12.16 14.25L11.43 14.65M8 1C6.9 1 6 1.9 6 3S6.9 5 8 5 10 4.11 10 3 9.11 1 8 1Z\";\r\nexport var mdiKlingon = \"M4.79 21.5L4.71 21.24C4.53 20.65 4.47 20.08 4.5 19.4C4.6 18.17 5.14 17.31 5.82 16.59C5.64 16 5.53 15.39 5.53 14.74C5.53 13 6.26 11.44 7.45 10.3C8.33 9.46 9.46 8.86 10.71 8.6C11.37 6.23 11.8 3.8 12 1.5C12.24 3.5 12.65 6.12 13.3 8.58C14.6 8.82 15.76 9.43 16.67 10.3C17.85 11.44 18.59 13 18.59 14.74C18.59 15.35 18.5 15.93 18.33 16.5C19.21 16.92 20.2 17.17 21.5 17.29L21.44 17.44C21.32 17.77 21 18 20.71 18.18L20.69 18.19C20.13 18.57 19.18 19 17.85 19C17.7 19 17.56 19 17.41 19C17.23 19 17.06 18.97 16.9 18.95C16.83 19 16.75 19.1 16.67 19.18C15.5 20.31 13.86 21 12.06 21C10.27 21 8.64 20.31 7.46 19.18C7.42 19.14 7.38 19.1 7.34 19.06C6.34 19.59 5.54 20.33 4.94 21.27L4.8 21.5M6.5 15.94C6.65 15.82 8.2 14.5 8.63 13.78L8.73 13.61C9.65 15 10.4 16.28 11.43 18.08L11.22 18.09C10.08 18.16 9.05 18.37 8.15 18.7C9.17 19.62 10.55 20.19 12.06 20.19C13.54 20.19 14.88 19.65 15.89 18.77C15.64 18.72 15.39 18.65 15.15 18.59C14.38 18.41 13.65 18.22 12.81 18.19L12.62 18.18L12.7 18C13.1 17.2 14.8 14.41 15.23 13.63L15.34 13.81C16 14.77 16.73 15.5 17.58 16.07C17.69 15.64 17.75 15.2 17.75 14.75C17.75 13.25 17.11 11.89 16.09 10.9C15.4 10.24 14.53 9.74 13.55 9.5C13.85 10.5 14.2 11.5 14.59 12.35L14.62 12.4L14.59 12.46C14.2 13.22 13.76 13.95 13.33 14.66C12.94 15.3 12.54 15.96 12.18 16.64L12.08 16.83L11.96 16.65C11.39 15.82 9.75 13.06 9.41 12.5C9.81 11.5 10.15 10.5 10.45 9.5C9.5 9.78 8.7 10.26 8.03 10.9C7 11.88 6.37 13.25 6.37 14.74C6.37 15.16 6.42 15.56 6.5 15.95\";\r\nexport var mdiKnife = \"M20.62,2C23.97,7.61 12.47,20.15 12.47,20.15L9.6,17.28L4.91,22L2.77,19.86L20.62,2Z\";\r\nexport var mdiKnifeMilitary = \"M22,2L17.39,3.75L10.46,10.68L14,14.22L20.92,7.29C22.43,5.78 22,2 22,2M8.33,10L6.92,11.39L8.33,12.8L2.68,18.46L6.21,22L11.87,16.34L13.28,17.76L14.7,16.34L8.33,10Z\";\r\nexport var mdiKoala = \"M19 3C18.1 3 15.5 3 14.3 6.1C13.9 6 13.4 6 13 6H11C10.6 6 10.1 6 9.7 6.1C8.5 3 5.9 3 5 3C4 3 1 4 1 9C1 12.6 3.5 13.6 5 13.9V15C5 18.3 7.7 21 11 21H13C16.3 21 19 18.3 19 15V13.9C20.5 13.6 23 12.6 23 9C23 4 20 3 19 3M5 12V12.4C2.9 11.8 3.3 9.5 4.3 8.7C4 8.3 3 9 3 8.6C3 8.1 4.8 7.4 5.1 7.3C4.8 6.8 3.6 7 3.6 6.6C3.6 6.3 4.8 5.8 5.8 6C6.3 6.1 6.9 6.3 7.4 6.7C6 8 5 9.8 5 12M8.5 15C6.5 15 6.5 12 8.5 12C10.5 12 10.5 15 8.5 15M12.5 18H11.5C10.8 18 10.3 17.3 10.6 16.7L11.3 13.7C11.4 13.3 11.8 13.1 12.1 13C12.4 13 12.7 13.2 12.9 13.7L13.6 16.7C13.7 17.3 13.2 18 12.5 18M15.5 15C13.5 15 13.5 12 15.5 12C17.5 12 17.5 15 15.5 15M19.7 8.6C20.7 9.4 21.1 11.7 19 12.3C19.1 10.1 18.1 8 16.6 6.7C17.1 6.3 17.7 6.1 18.2 6C19.2 5.8 20.4 6.2 20.4 6.6C20.4 7 19.2 6.8 18.9 7.2C19.2 7.4 21 8.1 21 8.6C21 9 20.1 8.3 19.7 8.6Z\";\r\nexport var mdiKodi = \"M12.03,1C11.82,1 11.6,1.11 11.41,1.31C10.56,2.16 9.72,3 8.88,3.84C8.66,4.06 8.6,4.18 8.38,4.38C8.09,4.62 7.96,4.91 7.97,5.28C8,6.57 8,7.84 8,9.13C8,10.46 8,11.82 8,13.16C8,13.26 8,13.34 8.03,13.44C8.11,13.75 8.31,13.82 8.53,13.59C9.73,12.39 10.8,11.3 12,10.09C13.36,8.73 14.73,7.37 16.09,6C16.5,5.6 16.5,5.15 16.09,4.75C14.94,3.6 13.77,2.47 12.63,1.31C12.43,1.11 12.24,1 12.03,1M18.66,7.66C18.45,7.66 18.25,7.75 18.06,7.94C16.91,9.1 15.75,10.24 14.59,11.41C14.2,11.8 14.2,12.23 14.59,12.63C15.74,13.78 16.88,14.94 18.03,16.09C18.43,16.5 18.85,16.5 19.25,16.09C20.36,15 21.5,13.87 22.59,12.75C22.76,12.58 22.93,12.42 23,12.19V11.88C22.93,11.64 22.76,11.5 22.59,11.31C21.47,10.19 20.37,9.06 19.25,7.94C19.06,7.75 18.86,7.66 18.66,7.66M4.78,8.09C4.65,8.04 4.58,8.14 4.5,8.22C3.35,9.39 2.34,10.43 1.19,11.59C0.93,11.86 0.93,12.24 1.19,12.5C1.81,13.13 2.44,13.75 3.06,14.38C3.6,14.92 4,15.33 4.56,15.88C4.72,16.03 4.86,16 4.94,15.81C5,15.71 5,15.58 5,15.47C5,14.29 5,13.37 5,12.19C5,11 5,9.81 5,8.63C5,8.55 5,8.45 4.97,8.38C4.95,8.25 4.9,8.14 4.78,8.09M12.09,14.25C11.89,14.25 11.66,14.34 11.47,14.53C10.32,15.69 9.18,16.87 8.03,18.03C7.63,18.43 7.63,18.85 8.03,19.25C9.14,20.37 10.26,21.47 11.38,22.59C11.54,22.76 11.71,22.93 11.94,23H12.22C12.44,22.94 12.62,22.79 12.78,22.63C13.9,21.5 15.03,20.38 16.16,19.25C16.55,18.85 16.5,18.4 16.13,18C14.97,16.84 13.84,15.69 12.69,14.53C12.5,14.34 12.3,14.25 12.09,14.25Z\";\r\nexport var mdiKubernetes = \"M13.95 13.5H13.72C13.54 13.61 13.46 13.82 13.54 14L14.4 16.11C15.23 15.58 15.86 14.79 16.19 13.86L13.96 13.5H13.95M10.5 13.79C10.44 13.62 10.29 13.5 10.12 13.5H10.04L7.82 13.87C8.15 14.79 8.78 15.57 9.61 16.1L10.46 14.03V14C10.5 13.95 10.5 13.86 10.5 13.79M12.33 14.6C12.23 14.42 12 14.35 11.82 14.45C11.75 14.5 11.7 14.53 11.67 14.6H11.66L10.57 16.57C11.35 16.83 12.19 16.88 13 16.69C13.14 16.66 13.29 16.62 13.43 16.57L12.34 14.6H12.33M15.78 10.03L14.1 11.5L14.11 11.53C13.95 11.67 13.93 11.91 14.07 12.06C14.12 12.12 14.18 12.16 14.25 12.18L14.26 12.19L16.43 12.81C16.5 11.84 16.29 10.86 15.78 10.03M12.67 10.19C12.68 10.4 12.85 10.56 13.06 10.55C13.14 10.55 13.21 10.53 13.27 10.5H13.28L15.11 9.19C14.41 8.5 13.5 8.07 12.54 7.95L12.67 10.19M10.73 10.5C10.9 10.61 11.13 10.58 11.25 10.41C11.3 10.35 11.32 10.28 11.33 10.2H11.34L11.46 7.95C11.31 7.97 11.16 8 11 8.03C10.2 8.21 9.46 8.61 8.88 9.19L10.72 10.5H10.73M9.74 12.19C9.94 12.14 10.06 11.93 10 11.73C10 11.65 9.95 11.59 9.89 11.54V11.53L8.21 10C7.69 10.86 7.47 11.84 7.58 12.82L9.74 12.2V12.19M11.38 12.85L12 13.15L12.62 12.85L12.77 12.18L12.34 11.65H11.65L11.22 12.18L11.38 12.85M22.27 14.17L20.5 6.5C20.41 6.08 20.13 5.74 19.76 5.56L12.59 2.13C12.22 1.96 11.78 1.96 11.4 2.13L4.24 5.56C3.87 5.74 3.59 6.08 3.5 6.5L1.73 14.17C1.68 14.37 1.68 14.57 1.73 14.76C1.74 14.82 1.76 14.88 1.78 14.94C1.81 15.03 1.86 15.13 1.91 15.21C1.94 15.25 1.96 15.29 2 15.32L6.95 21.5C6.97 21.5 7 21.54 7 21.56C7.1 21.65 7.19 21.72 7.28 21.78C7.4 21.86 7.54 21.92 7.68 21.95C7.79 22 7.91 22 8 22H16.12C16.19 22 16.26 21.97 16.32 21.95C16.37 21.94 16.42 21.92 16.46 21.91C16.5 21.89 16.53 21.88 16.57 21.86C16.62 21.84 16.67 21.81 16.72 21.78C16.84 21.7 16.95 21.6 17.05 21.5L17.2 21.3L22 15.32C22.1 15.2 22.17 15.07 22.22 14.94C22.24 14.88 22.26 14.82 22.27 14.76C22.32 14.57 22.32 14.36 22.27 14.17M14.84 17.16C14.86 17.22 14.88 17.28 14.91 17.33C14.87 17.41 14.85 17.5 14.88 17.59C15 17.83 15.11 18.05 15.26 18.27C15.34 18.38 15.42 18.5 15.5 18.61C15.5 18.64 15.53 18.69 15.54 18.73C15.66 18.93 15.6 19.19 15.39 19.32S14.92 19.37 14.8 19.17C14.79 19.14 14.78 19.12 14.77 19.09C14.75 19.06 14.73 19 14.71 19C14.66 18.85 14.62 18.72 14.59 18.59C14.5 18.34 14.42 18.1 14.29 17.87C14.24 17.8 14.16 17.75 14.08 17.73L14 17.57C12.71 18.05 11.3 18.05 10.03 17.56L9.93 17.74C9.86 17.75 9.79 17.78 9.74 17.83C9.6 18.07 9.5 18.32 9.41 18.6C9.38 18.73 9.34 18.86 9.29 19C9.27 19 9.25 19.07 9.23 19.1C9.15 19.32 8.91 19.44 8.68 19.36C8.46 19.28 8.34 19.04 8.42 18.81C8.43 18.78 8.45 18.76 8.46 18.73C8.5 18.7 8.5 18.65 8.5 18.62C8.59 18.5 8.66 18.39 8.74 18.27C8.9 18.06 9.03 17.82 9.13 17.58C9.14 17.5 9.13 17.41 9.1 17.33L9.17 17.15C8 16.45 7.12 15.36 6.7 14.06L6.5 14.09C6.44 14.04 6.35 14 6.27 14C6 14.05 5.76 14.13 5.5 14.22C5.39 14.28 5.26 14.33 5.13 14.37C5.1 14.38 5.06 14.39 5 14.4C4.78 14.47 4.54 14.35 4.46 14.13C4.39 13.9 4.5 13.66 4.74 13.58C4.76 13.58 4.79 13.57 4.82 13.57V13.56H4.83L4.94 13.54C5.08 13.5 5.22 13.5 5.35 13.5C5.61 13.5 5.87 13.44 6.12 13.38C6.2 13.33 6.26 13.27 6.31 13.19L6.5 13.14C6.29 11.78 6.6 10.41 7.36 9.27L7.22 9.15C7.22 9.06 7.19 8.97 7.14 8.9C6.94 8.73 6.73 8.58 6.5 8.45C6.38 8.39 6.26 8.32 6.14 8.24C6.12 8.22 6.08 8.19 6.06 8.17L6.05 8.16C5.85 8 5.8 7.74 5.94 7.53C6.03 7.43 6.15 7.38 6.29 7.38C6.4 7.39 6.5 7.43 6.59 7.5L6.68 7.57C6.78 7.66 6.87 7.77 6.96 7.87C7.14 8.06 7.33 8.24 7.54 8.39C7.62 8.43 7.71 8.44 7.8 8.42L7.95 8.53C8.7 7.73 9.68 7.17 10.75 6.93C11 6.87 11.27 6.83 11.53 6.81L11.54 6.63C11.61 6.57 11.65 6.5 11.68 6.4C11.69 6.14 11.67 5.88 11.63 5.63C11.6 5.5 11.58 5.36 11.57 5.22V5.1C11.55 4.86 11.72 4.65 11.96 4.62S12.4 4.77 12.43 5V5.22C12.42 5.36 12.4 5.5 12.37 5.63C12.33 5.88 12.31 6.14 12.32 6.4C12.34 6.5 12.39 6.57 12.46 6.62L12.47 6.81C13.83 6.93 15.09 7.54 16.03 8.53L16.19 8.41C16.28 8.43 16.37 8.42 16.45 8.38C16.66 8.23 16.86 8.05 17.03 7.86C17.12 7.76 17.21 7.66 17.31 7.56C17.34 7.54 17.38 7.5 17.41 7.5C17.58 7.32 17.85 7.32 18 7.5C18.19 7.66 18.18 7.93 18 8.1C18 8.12 17.97 8.14 17.94 8.16C17.92 8.18 17.88 8.21 17.85 8.23C17.74 8.31 17.62 8.38 17.5 8.44C17.27 8.57 17.05 8.72 16.86 8.89C16.8 8.96 16.77 9.04 16.78 9.13L16.62 9.27C17.39 10.4 17.7 11.78 17.5 13.13L17.69 13.18C17.73 13.26 17.8 13.32 17.88 13.36C18.13 13.43 18.39 13.47 18.65 13.5H19.06C19.09 13.53 19.14 13.54 19.18 13.55C19.42 13.58 19.58 13.8 19.55 14.04C19.5 14.27 19.31 14.44 19.07 14.41C19.04 14.4 19 14.4 19 14.39V14.38C18.94 14.38 18.9 14.37 18.86 14.36C18.73 14.32 18.61 14.27 18.5 14.21C18.24 14.11 18 14.04 17.73 14C17.64 14 17.56 14 17.5 14.08C17.43 14.07 17.37 14.06 17.31 14.05C16.9 15.36 16 16.46 14.84 17.16Z\";\r\nexport var mdiLabel = \"M17.63,5.84C17.27,5.33 16.67,5 16,5H5A2,2 0 0,0 3,7V17A2,2 0 0,0 5,19H16C16.67,19 17.27,18.66 17.63,18.15L22,12L17.63,5.84Z\";\r\nexport var mdiLabelMultiple = \"M4 19H13L11 21H4C3.5 21 2.97 20.79 2.59 20.41C2.21 20.03 2 19.5 2 19V9H4V19M17.63 5.84C17.27 5.33 16.67 5 16 5H8C6.9 5 6 5.9 6 7V15C6 16.1 6.9 17 8 17H16C16.67 17 17.27 16.66 17.63 16.15L22 11L17.63 5.84Z\";\r\nexport var mdiLabelMultipleOutline = \"M4 18H13L11 20H4C3.5 20 2.97 19.79 2.59 19.41C2.21 19.03 2 18.5 2 18V8H4V18M17.63 4.84C17.27 4.33 16.67 4 16 4H8C6.9 4 6 4.9 6 6V14C6 15.1 6.9 16 8 16H16C16.67 16 17.27 15.66 17.63 15.15L22 10L17.63 4.84M16 14H8V6H16L19.55 10Z\";\r\nexport var mdiLabelOff = \"M2,4.27L3.28,3L20,19.72L18.73,21L16.63,18.9C16.43,18.96 16.22,19 16,19H5A2,2 0 0,1 3,17V7C3,6.5 3.17,6.07 3.46,5.73L2,4.27M17.63,5.84L22,12L19,16.2L7.83,5H16C16.67,5 17.27,5.33 17.63,5.84Z\";\r\nexport var mdiLabelOffOutline = \"M2,4.27L3.28,3L20,19.72L18.73,21L16.63,18.9C16.43,18.96 16.22,19 16,19H5A2,2 0 0,1 3,17V7C3,6.5 3.17,6.07 3.46,5.73L2,4.27M5,17H14.73L5,7.27V17M19.55,12L16,7H9.82L7.83,5H16C16.67,5 17.27,5.33 17.63,5.84L22,12L19,16.2L17.59,14.76L19.55,12Z\";\r\nexport var mdiLabelOutline = \"M16,17H5V7H16L19.55,12M17.63,5.84C17.27,5.33 16.67,5 16,5H5A2,2 0 0,0 3,7V17A2,2 0 0,0 5,19H16C16.67,19 17.27,18.66 17.63,18.15L22,12L17.63,5.84Z\";\r\nexport var mdiLabelPercent = \"M17.63 5.84C17.27 5.33 16.67 5 16 5H5C3.9 5 3 5.9 3 7V17C3 18.11 3.9 19 5 19H16C16.67 19 17.27 18.66 17.63 18.15L22 12L17.63 5.84M8.45 8.03C9.23 8.03 9.87 8.67 9.87 9.45S9.23 10.87 8.45 10.87 7.03 10.23 7.03 9.45 7.67 8.03 8.45 8.03M13.55 15.97C12.77 15.97 12.13 15.33 12.13 14.55S12.77 13.13 13.55 13.13 14.97 13.77 14.97 14.55 14.33 15.97 13.55 15.97M8.2 16L7 14.8L13.8 8L15 9.2L8.2 16Z\";\r\nexport var mdiLabelPercentOutline = \"M16 17H5V7H16L19.55 12M17.63 5.84C17.27 5.33 16.67 5 16 5H5C3.9 5 3 5.9 3 7V17C3 18.11 3.9 19 5 19H16C16.67 19 17.27 18.66 17.63 18.15L22 12L17.63 5.84M13.8 8L15 9.2L8.2 16L7 14.8M8.45 8.03C9.23 8.03 9.87 8.67 9.87 9.45S9.23 10.87 8.45 10.87 7.03 10.23 7.03 9.45 7.67 8.03 8.45 8.03M13.55 13.13C14.33 13.13 14.97 13.77 14.97 14.55C14.97 15.33 14.33 15.97 13.55 15.97C12.77 15.97 12.13 15.33 12.13 14.55C12.13 13.77 12.77 13.13 13.55 13.13Z\";\r\nexport var mdiLabelVariant = \"M3.5,19L8.34,12L3.5,5H14.5C15.17,5 15.72,5.3 16.13,5.86L20.5,12L16.13,18.14C15.72,18.7 15.17,19 14.5,19H3.5Z\";\r\nexport var mdiLabelVariantOutline = \"M6.5,17H15L18.5,12L15,7H6.5L10,12L6.5,17M15,19H3L7.5,12L3,5H15C15.69,5 16.23,5.3 16.64,5.86L21,12L16.64,18.14C16.23,18.7 15.69,19 15,19Z\";\r\nexport var mdiLadder = \"M14 1V3H10V1H8V22H10V20H14V22H16V1H14M14 5V8H10V5H14M14 10V13H10V10H14M10 18V15H14V18H10Z\";\r\nexport var mdiLadybug = \"M12,5C12.74,5 13.47,5.1 14.15,5.29L15.78,2.46C16.06,2 16.67,1.82 17.15,2.1C17.63,2.37 17.79,3 17.5,3.46L16,6.07C17.22,6.78 18.23,7.79 18.93,9H5.07C5.77,7.79 6.78,6.78 8,6.07L6.5,3.46C6.21,3 6.37,2.37 6.85,2.1C7.33,1.82 7.94,2 8.22,2.46L9.85,5.29C10.53,5.1 11.26,5 12,5M20,13C20,17.17 16.82,20.59 12.75,20.97V10.5H19.6C19.86,11.29 20,12.13 20,13M4,13C4,12.13 4.14,11.29 4.4,10.5H11.25V20.97C7.18,20.59 4,17.17 4,13Z\";\r\nexport var mdiLambda = \"M6,20L10.16,7.91L9.34,6H8V4H10C10.42,4 10.78,4.26 10.93,4.63L16.66,18H18V20H16C15.57,20 15.21,19.73 15.07,19.36L11.33,10.65L8.12,20H6Z\";\r\nexport var mdiLamp = \"M8,2H16L20,14H4L8,2M11,15H13V20H18V22H6V20H11V15Z\";\r\nexport var mdiLampOutline = \"M14.56 4L17.23 12H6.78L9.44 4H14.56M16 2H8L4 14H20L16 2M11 15H13V20H18V22H6V20H11V15Z\";\r\nexport var mdiLamps = \"M10 2L12 9H2L4 2M6 10H8V20H11V22H3V20H6V10M20 8L22 15H12L14 8M16 16H18V20H21V22H13V20H16V16Z\";\r\nexport var mdiLampsOutline = \"M8.5 4L9.35 7H4.65L5.5 4H8.5M10 2H4L2 9H12L10 2M6 10H8V20H11V22H3V20H6V10M18.5 10L19.35 13H14.65L15.5 10H18.5M20 8H14L12 15H22L20 8M16 16H18V20H21V22H13V20H16V16Z\";\r\nexport var mdiLan = \"M10,2C8.89,2 8,2.89 8,4V7C8,8.11 8.89,9 10,9H11V11H2V13H6V15H5C3.89,15 3,15.89 3,17V20C3,21.11 3.89,22 5,22H9C10.11,22 11,21.11 11,20V17C11,15.89 10.11,15 9,15H8V13H16V15H15C13.89,15 13,15.89 13,17V20C13,21.11 13.89,22 15,22H19C20.11,22 21,21.11 21,20V17C21,15.89 20.11,15 19,15H18V13H22V11H13V9H14C15.11,9 16,8.11 16,7V4C16,2.89 15.11,2 14,2H10M10,4H14V7H10V4M5,17H9V20H5V17M15,17H19V20H15V17Z\";\r\nexport var mdiLanCheck = \"M4 1C2.89 1 2 1.89 2 3V7C2 8.11 2.89 9 4 9H1V11H13V9H10C11.11 9 12 8.11 12 7V3C12 1.89 11.11 1 10 1H4M4 3H10V7H4V3M14 13C12.89 13 12 13.89 12 15V19C12 20.11 12.89 21 14 21H11V23H23V21H20C21.11 21 22 20.11 22 19V15C22 13.89 21.11 13 20 13H14M14 15H20V19H14V15M5.5 20.5L10.5 15.5L9 14L5.5 17.5L3.5 15.5L2 17L5.5 20.5Z\";\r\nexport var mdiLanConnect = \"M4,1C2.89,1 2,1.89 2,3V7C2,8.11 2.89,9 4,9H1V11H13V9H10C11.11,9 12,8.11 12,7V3C12,1.89 11.11,1 10,1H4M4,3H10V7H4V3M3,13V18L3,20H10V18H5V13H3M14,13C12.89,13 12,13.89 12,15V19C12,20.11 12.89,21 14,21H11V23H23V21H20C21.11,21 22,20.11 22,19V15C22,13.89 21.11,13 20,13H14M14,15H20V19H14V15Z\";\r\nexport var mdiLanDisconnect = \"M4,1C2.89,1 2,1.89 2,3V7C2,8.11 2.89,9 4,9H1V11H13V9H10C11.11,9 12,8.11 12,7V3C12,1.89 11.11,1 10,1H4M4,3H10V7H4V3M14,13C12.89,13 12,13.89 12,15V19C12,20.11 12.89,21 14,21H11V23H23V21H20C21.11,21 22,20.11 22,19V15C22,13.89 21.11,13 20,13H14M3.88,13.46L2.46,14.88L4.59,17L2.46,19.12L3.88,20.54L6,18.41L8.12,20.54L9.54,19.12L7.41,17L9.54,14.88L8.12,13.46L6,15.59L3.88,13.46M14,15H20V19H14V15Z\";\r\nexport var mdiLanPending = \"M4,1C2.89,1 2,1.89 2,3V7C2,8.11 2.89,9 4,9H1V11H13V9H10C11.11,9 12,8.11 12,7V3C12,1.89 11.11,1 10,1H4M4,3H10V7H4V3M3,12V14H5V12H3M14,13C12.89,13 12,13.89 12,15V19C12,20.11 12.89,21 14,21H11V23H23V21H20C21.11,21 22,20.11 22,19V15C22,13.89 21.11,13 20,13H14M3,15V17H5V15H3M14,15H20V19H14V15M3,18V20H5V18H3M6,18V20H8V18H6M9,18V20H11V18H9Z\";\r\nexport var mdiLanguageC = \"M15.45,15.97L15.87,18.41C15.61,18.55 15.19,18.68 14.63,18.8C14.06,18.93 13.39,19 12.62,19C10.41,18.96 8.75,18.3 7.64,17.04C6.5,15.77 5.96,14.16 5.96,12.21C6,9.9 6.68,8.13 8,6.89C9.28,5.64 10.92,5 12.9,5C13.65,5 14.3,5.07 14.84,5.19C15.38,5.31 15.78,5.44 16.04,5.59L15.44,8.08L14.4,7.74C14,7.64 13.53,7.59 13,7.59C11.85,7.58 10.89,7.95 10.14,8.69C9.38,9.42 9,10.54 8.96,12.03C8.97,13.39 9.33,14.45 10.04,15.23C10.75,16 11.74,16.4 13.03,16.41L14.36,16.29C14.79,16.21 15.15,16.1 15.45,15.97Z\";\r\nexport var mdiLanguageCpp = \"M10.5,15.97L10.91,18.41C10.65,18.55 10.23,18.68 9.67,18.8C9.1,18.93 8.43,19 7.66,19C5.45,18.96 3.79,18.3 2.68,17.04C1.56,15.77 1,14.16 1,12.21C1.05,9.9 1.72,8.13 3,6.89C4.32,5.64 5.96,5 7.94,5C8.69,5 9.34,5.07 9.88,5.19C10.42,5.31 10.82,5.44 11.08,5.59L10.5,8.08L9.44,7.74C9.04,7.64 8.58,7.59 8.05,7.59C6.89,7.58 5.93,7.95 5.18,8.69C4.42,9.42 4.03,10.54 4,12.03C4,13.39 4.37,14.45 5.08,15.23C5.79,16 6.79,16.4 8.07,16.41L9.4,16.29C9.83,16.21 10.19,16.1 10.5,15.97M11,11H13V9H15V11H17V13H15V15H13V13H11V11M18,11H20V9H22V11H24V13H22V15H20V13H18V11Z\";\r\nexport var mdiLanguageCsharp = \"M11.5,15.97L11.91,18.41C11.65,18.55 11.23,18.68 10.67,18.8C10.1,18.93 9.43,19 8.66,19C6.45,18.96 4.79,18.3 3.68,17.04C2.56,15.77 2,14.16 2,12.21C2.05,9.9 2.72,8.13 4,6.89C5.32,5.64 6.96,5 8.94,5C9.69,5 10.34,5.07 10.88,5.19C11.42,5.31 11.82,5.44 12.08,5.59L11.5,8.08L10.44,7.74C10.04,7.64 9.58,7.59 9.05,7.59C7.89,7.58 6.93,7.95 6.18,8.69C5.42,9.42 5.03,10.54 5,12.03C5,13.39 5.37,14.45 6.08,15.23C6.79,16 7.79,16.4 9.07,16.41L10.4,16.29C10.83,16.21 11.19,16.1 11.5,15.97M13.89,19L14.5,15H13L13.34,13H14.84L15.16,11H13.66L14,9H15.5L16.11,5H18.11L17.5,9H18.5L19.11,5H21.11L20.5,9H22L21.66,11H20.16L19.84,13H21.34L21,15H19.5L18.89,19H16.89L17.5,15H16.5L15.89,19H13.89M16.84,13H17.84L18.16,11H17.16L16.84,13Z\";\r\nexport var mdiLanguageCss3 = \"M5,3L4.35,6.34H17.94L17.5,8.5H3.92L3.26,11.83H16.85L16.09,15.64L10.61,17.45L5.86,15.64L6.19,14H2.85L2.06,18L9.91,21L18.96,18L20.16,11.97L20.4,10.76L21.94,3H5Z\";\r\nexport var mdiLanguageFortran = \"M5 4V6H6C6.55 6 7 6.45 7 7V17C7 17.55 6.55 18 6 18H5V20H14V18H12C11.45 18 11 17.55 11 17V13H13C13.55 13 14 13.45 14 14V16H16V8H14V10C14 10.55 13.55 11 13 11H11V6H16C17.11 6 18 7.34 18 9V10H20V4Z\";\r\nexport var mdiLanguageGo = \"M2.64,10.33L2.62,10.27L2.84,10L2.96,9.92H6.8L6.83,10L6.65,10.26L6.54,10.32L2.64,10.33M1.03,11.31L1,11.26L1.22,10.97L1.34,10.91H6.24L6.29,11L6.21,11.24L6.11,11.31H1.03M3.63,12.3L3.59,12.24L3.75,11.96L3.85,11.9H6L6.07,11.97L6.05,12.22L5.97,12.3H3.63M14.78,10.14L13,10.61C12.81,10.65 12.8,10.66 12.66,10.5C12.5,10.32 12.39,10.21 12.16,10.1C11.5,9.76 10.83,9.86 10.22,10.25C9.5,10.73 9.11,11.42 9.12,12.3C9.13,13.16 9.72,13.87 10.57,14C11.3,14.09 11.91,13.83 12.4,13.28L12.69,12.89H10.62C10.4,12.89 10.35,12.75 10.42,12.57L10.97,11.39C11,11.33 11.08,11.22 11.24,11.22H14.68C14.83,10.72 15.09,10.26 15.43,9.81C16.21,8.78 17.16,8.24 18.43,8C19.5,7.82 20.56,7.93 21.5,8.57C22.34,9.15 22.87,9.93 23,10.96C23.19,12.41 22.76,13.59 21.76,14.61C21.05,15.33 20.18,15.78 19.19,16L18.33,16.08C17.35,16.06 16.46,15.78 15.71,15.13C15.19,14.68 14.83,14.14 14.65,13.5C14.5,13.74 14.38,13.97 14.21,14.2C13.44,15.22 12.43,15.85 11.15,16C10.1,16.16 9.12,15.95 8.26,15.31C7.47,14.71 7,13.91 6.9,12.92C6.76,11.75 7.1,10.7 7.81,9.78C8.57,8.78 9.58,8.15 10.82,7.92C11.82,7.74 12.79,7.86 13.66,8.44C14.23,8.82 14.63,9.34 14.9,9.96C14.94,10.05 14.9,10.11 14.78,10.14M20.89,11.74L20.86,11.38C20.67,10.32 19.69,9.72 18.67,9.95C17.66,10.17 17,10.8 16.79,11.81C16.6,12.65 17,13.5 17.77,13.84C18.36,14.1 18.96,14.06 19.53,13.78C20.37,13.35 20.84,12.66 20.89,11.74Z\";\r\nexport var mdiLanguageHaskell = \"M2.08,19L6.75,12L2.08,5H5.58L10.25,12L5.58,19H2.08M6.75,19L11.42,12L6.75,5H10.25L19.59,19H16.09L13.17,14.63L10.25,19H6.75M18.03,14.92L16.5,12.58H21.92V14.92H18.03M15.7,11.42L14.14,9.08H21.92V11.42H15.7Z\";\r\nexport var mdiLanguageHtml5 = \"M12,17.56L16.07,16.43L16.62,10.33H9.38L9.2,8.3H16.8L17,6.31H7L7.56,12.32H14.45L14.22,14.9L12,15.5L9.78,14.9L9.64,13.24H7.64L7.93,16.43L12,17.56M4.07,3H19.93L18.5,19.2L12,21L5.5,19.2L4.07,3Z\";\r\nexport var mdiLanguageJava = \"M16.5,6.08C16.5,6.08 9.66,7.79 12.94,11.56C13.91,12.67 12.69,13.67 12.69,13.67C12.69,13.67 15.14,12.42 14,10.82C12.94,9.35 12.14,8.62 16.5,6.08M12.03,7.28C16.08,4.08 14,2 14,2C14.84,5.3 11.04,6.3 9.67,8.36C8.73,9.76 10.13,11.27 12,13C11.29,11.3 8.78,9.84 12.03,7.28M9.37,17.47C6.29,18.33 11.25,20.1 15.16,18.43C14.78,18.28 14.41,18.1 14.06,17.89C12.7,18.2 11.3,18.26 9.92,18.07C8.61,17.91 9.37,17.47 9.37,17.47M14.69,15.79C12.94,16.17 11.13,16.26 9.35,16.05C8.04,15.92 8.9,15.28 8.9,15.28C5.5,16.41 10.78,17.68 15.5,16.3C15.21,16.19 14.93,16 14.69,15.79M18.11,19.09C18.11,19.09 18.68,19.56 17.5,19.92C15.22,20.6 8.07,20.81 6.09,19.95C5.38,19.64 6.72,19.21 7.14,19.12C7.37,19.06 7.6,19.04 7.83,19.04C7.04,18.5 2.7,20.14 5.64,20.6C13.61,21.9 20.18,20 18.11,19.09M15.37,14.23C15.66,14.04 15.97,13.88 16.29,13.74C16.29,13.74 14.78,14 13.27,14.14C11.67,14.3 10.06,14.32 8.46,14.2C6.11,13.89 9.75,13 9.75,13C8.65,13 7.57,13.26 6.59,13.75C4.54,14.75 11.69,15.2 15.37,14.23M16.27,16.65C16.25,16.69 16.23,16.72 16.19,16.75C21.2,15.44 19.36,12.11 16.96,12.94C16.83,13 16.72,13.08 16.65,13.19C16.79,13.14 16.93,13.1 17.08,13.07C18.28,12.83 20,14.7 16.27,16.65M16.4,21.26C13.39,21.78 10.31,21.82 7.28,21.4C7.28,21.4 7.74,21.78 10.09,21.93C13.69,22.16 19.22,21.8 19.35,20.1C19.38,20.11 19.12,20.75 16.4,21.26Z\";\r\nexport var mdiLanguageJavascript = \"M3,3H21V21H3V3M7.73,18.04C8.13,18.89 8.92,19.59 10.27,19.59C11.77,19.59 12.8,18.79 12.8,17.04V11.26H11.1V17C11.1,17.86 10.75,18.08 10.2,18.08C9.62,18.08 9.38,17.68 9.11,17.21L7.73,18.04M13.71,17.86C14.21,18.84 15.22,19.59 16.8,19.59C18.4,19.59 19.6,18.76 19.6,17.23C19.6,15.82 18.79,15.19 17.35,14.57L16.93,14.39C16.2,14.08 15.89,13.87 15.89,13.37C15.89,12.96 16.2,12.64 16.7,12.64C17.18,12.64 17.5,12.85 17.79,13.37L19.1,12.5C18.55,11.54 17.77,11.17 16.7,11.17C15.19,11.17 14.22,12.13 14.22,13.4C14.22,14.78 15.03,15.43 16.25,15.95L16.67,16.13C17.45,16.47 17.91,16.68 17.91,17.26C17.91,17.74 17.46,18.09 16.76,18.09C15.93,18.09 15.45,17.66 15.09,17.06L13.71,17.86Z\";\r\nexport var mdiLanguageKotlin = \"M2 2H22L12 12L22 22H2Z\";\r\nexport var mdiLanguageLua = \"M10.5,5A8.5,8.5 0 0,0 2,13.5A8.5,8.5 0 0,0 10.5,22A8.5,8.5 0 0,0 19,13.5A8.5,8.5 0 0,0 10.5,5M13.5,13A2.5,2.5 0 0,1 11,10.5A2.5,2.5 0 0,1 13.5,8A2.5,2.5 0 0,1 16,10.5A2.5,2.5 0 0,1 13.5,13M19.5,2A2.5,2.5 0 0,0 17,4.5A2.5,2.5 0 0,0 19.5,7A2.5,2.5 0 0,0 22,4.5A2.5,2.5 0 0,0 19.5,2\";\r\nexport var mdiLanguageMarkdown = \"M20.56 18H3.44C2.65 18 2 17.37 2 16.59V7.41C2 6.63 2.65 6 3.44 6H20.56C21.35 6 22 6.63 22 7.41V16.59C22 17.37 21.35 18 20.56 18M6.81 15.19V11.53L8.73 13.88L10.65 11.53V15.19H12.58V8.81H10.65L8.73 11.16L6.81 8.81H4.89V15.19H6.81M19.69 12H17.77V8.81H15.85V12H13.92L16.81 15.28L19.69 12Z\";\r\nexport var mdiLanguageMarkdownOutline = \"M20.56 18H3.44C2.65 18 2 17.37 2 16.59V7.41C2 6.63 2.65 6 3.44 6H20.56C21.35 6 22 6.63 22 7.41V16.59C22 17.37 21.35 18 20.56 18M3.44 6.94C3.18 6.94 2.96 7.15 2.96 7.41V16.6C2.96 16.85 3.18 17.06 3.44 17.06H20.56C20.82 17.06 21.04 16.85 21.04 16.6V7.41C21.04 7.15 20.82 6.94 20.56 6.94H3.44M4.89 15.19V8.81H6.81L8.73 11.16L10.65 8.81H12.58V15.19H10.65V11.53L8.73 13.88L6.81 11.53V15.19H4.89M16.9 15.19L14 12.09H15.94V8.81H17.86V12.09H19.79L16.9 15.19\";\r\nexport var mdiLanguagePhp = \"M12,18.08C5.37,18.08 0,15.36 0,12C0,8.64 5.37,5.92 12,5.92C18.63,5.92 24,8.64 24,12C24,15.36 18.63,18.08 12,18.08M6.81,10.13C7.35,10.13 7.72,10.23 7.9,10.44C8.08,10.64 8.12,11 8.03,11.47C7.93,12 7.74,12.34 7.45,12.56C7.17,12.78 6.74,12.89 6.16,12.89H5.29L5.82,10.13H6.81M3.31,15.68H4.75L5.09,13.93H6.32C6.86,13.93 7.3,13.87 7.65,13.76C8,13.64 8.32,13.45 8.61,13.18C8.85,12.96 9.04,12.72 9.19,12.45C9.34,12.19 9.45,11.89 9.5,11.57C9.66,10.79 9.55,10.18 9.17,9.75C8.78,9.31 8.18,9.1 7.35,9.1H4.59L3.31,15.68M10.56,7.35L9.28,13.93H10.7L11.44,10.16H12.58C12.94,10.16 13.18,10.22 13.29,10.34C13.4,10.46 13.42,10.68 13.36,11L12.79,13.93H14.24L14.83,10.86C14.96,10.24 14.86,9.79 14.56,9.5C14.26,9.23 13.71,9.1 12.91,9.1H11.64L12,7.35H10.56M18,10.13C18.55,10.13 18.91,10.23 19.09,10.44C19.27,10.64 19.31,11 19.22,11.47C19.12,12 18.93,12.34 18.65,12.56C18.36,12.78 17.93,12.89 17.35,12.89H16.5L17,10.13H18M14.5,15.68H15.94L16.28,13.93H17.5C18.05,13.93 18.5,13.87 18.85,13.76C19.2,13.64 19.5,13.45 19.8,13.18C20.04,12.96 20.24,12.72 20.38,12.45C20.53,12.19 20.64,11.89 20.7,11.57C20.85,10.79 20.74,10.18 20.36,9.75C20,9.31 19.37,9.1 18.54,9.1H15.79L14.5,15.68Z\";\r\nexport var mdiLanguagePython = \"M19.14,7.5A2.86,2.86 0 0,1 22,10.36V14.14A2.86,2.86 0 0,1 19.14,17H12C12,17.39 12.32,17.96 12.71,17.96H17V19.64A2.86,2.86 0 0,1 14.14,22.5H9.86A2.86,2.86 0 0,1 7,19.64V15.89C7,14.31 8.28,13.04 9.86,13.04H15.11C16.69,13.04 17.96,11.76 17.96,10.18V7.5H19.14M14.86,19.29C14.46,19.29 14.14,19.59 14.14,20.18C14.14,20.77 14.46,20.89 14.86,20.89A0.71,0.71 0 0,0 15.57,20.18C15.57,19.59 15.25,19.29 14.86,19.29M4.86,17.5C3.28,17.5 2,16.22 2,14.64V10.86C2,9.28 3.28,8 4.86,8H12C12,7.61 11.68,7.04 11.29,7.04H7V5.36C7,3.78 8.28,2.5 9.86,2.5H14.14C15.72,2.5 17,3.78 17,5.36V9.11C17,10.69 15.72,11.96 14.14,11.96H8.89C7.31,11.96 6.04,13.24 6.04,14.82V17.5H4.86M9.14,5.71C9.54,5.71 9.86,5.41 9.86,4.82C9.86,4.23 9.54,4.11 9.14,4.11C8.75,4.11 8.43,4.23 8.43,4.82C8.43,5.41 8.75,5.71 9.14,5.71Z\";\r\nexport var mdiLanguageR = \"M12,4.29C6.5,4.29 2,7.29 2,11C2,14.28 5.56,17 10.24,17.58V19.71H13.65V17.59C14.5,17.5 15.29,17.34 16.04,17.11L17.42,19.71H21.28L18.96,15.8C20.83,14.58 22,12.87 22,11C22,7.29 17.5,4.29 12,4.29V4.29M13.53,6.91C17.73,6.91 20.83,8.31 20.83,11.5C20.83,13.21 19.91,14.41 18.41,15.15C18.32,15.1 18.24,15.05 18.19,15C17.83,14.84 17.23,14.66 17.23,14.66C17.23,14.66 20.21,14.44 20.21,11.47C20.21,8.5 17.09,8.45 17.09,8.45H10.24V15.61C7.69,14.87 5.93,13.3 5.93,11.5C5.93,8.96 9.33,6.91 13.53,6.91M13.68,10.89H15.75C15.75,10.89 16.7,10.84 16.7,11.83C16.7,12.8 15.75,12.8 15.75,12.8H13.68V10.89M13.65,15.3H14.57C14.75,15.3 14.84,15.35 15,15.5C15.13,15.6 15.27,15.79 15.39,15.96C14.84,16.03 14.26,16.06 13.65,16.06V15.3Z\";\r\nexport var mdiLanguageRuby = \"M18.8,2.07C21.32,2.5 22.04,4.23 22,6.04V6L20.86,20.93L6.08,21.94H6.09C4.86,21.89 2.13,21.77 2,17.95L3.37,15.45L6.14,21.91L8.5,14.29L8.45,14.3L8.47,14.28L16.18,16.74L14.19,8.96L21.54,8.5L15.75,3.76L18.8,2.06V2.07M2,17.91V17.93L2,17.91V17.91M6.28,6.23C9.24,3.28 13.07,1.54 14.54,3.03C16,4.5 14.46,8.12 11.5,11.06C8.5,14 4.73,15.84 3.26,14.36C1.79,12.87 3.3,9.17 6.27,6.23H6.28Z\";\r\nexport var mdiLanguageRubyOnRails = \"M19.8,16.7C19.8,16.7 21.6,16.5 21.6,14.3C21.6,12.1 19.5,11.8 19.5,11.8H15.7V19H17.6V17.3L19.3,19H22L19.8,16.7M19,15.3H17.5V13.7H19C19,13.7 19.4,13.9 19.4,14.5C19.5,15.1 19,15.3 19,15.3M21.3,8.2V8.4C13.2,6.1 10,13.2 10.6,18.7C10.6,18.7 4.9,18.7 4.3,18.7C5,13.3 11.8,2.6 21.3,8.2M20.5,6.9C19.8,6.6 19.1,6.3 18.4,6.1L18.5,4.8L20.6,5.6L20.5,6.9M18.5,8.7C19.2,8.7 19.9,8.8 20.6,9L20.5,10.2L18.7,10L18.5,8.7M13.9,5.8L13.5,4.6L15.6,4.4L16,5.7C15.8,5.7 14.1,5.8 13.9,5.8M15.2,9.5C15.6,9.3 16.3,9 17.2,8.8L17.6,10L15.8,10.7L15.2,9.5M11.8,6.5C11.2,6.8 10.6,7.1 10,7.5L9.2,6.2L11,5.2L11.8,6.5M14.3,10.1L15.1,11.3L14,12.6L12.9,11.6C13.2,11 13.7,10.5 14.3,10.1M11.6,15C11.7,14.2 11.9,13.5 12.2,12.7L13.4,13.7L13.1,15.6L11.6,15M7.9,9.3C7.4,9.8 6.9,10.4 6.5,10.9L5.2,9.8L6.7,8.2L7.9,9.3M4.8,13.7C4.4,14.5 4.1,15.3 3.8,16L2,15.3L2.9,13L4.8,13.7M11.5,16.3L13.3,16.9L13.6,18.9L11.6,18.4C11.6,18.2 11.5,17.5 11.5,16.3Z\";\r\nexport var mdiLanguageRust = \"M21.9 11.7L21 11.2V11L21.7 10.3C21.8 10.2 21.8 10 21.7 9.9L21.6 9.8L20.7 9.5C20.7 9.4 20.7 9.3 20.6 9.3L21.2 8.5C21.3 8.4 21.3 8.2 21.1 8.1C21.1 8.1 21 8.1 21 8L20 7.8C20 7.7 19.9 7.7 19.9 7.6L20.3 6.7V6.4C20.2 6.3 20.1 6.3 20 6.3H19C19 6.3 19 6.2 18.9 6.2L19.1 5.2C19.1 5 19 4.9 18.9 4.9H18.8L17.8 5.1C17.8 5 17.7 5 17.6 4.9V3.9C17.6 3.7 17.5 3.6 17.3 3.6H17.2L16.3 4H16.2L16 3C16 2.8 15.8 2.7 15.7 2.8H15.6L14.8 3.4C14.7 3.4 14.6 3.4 14.6 3.3L14.3 2.4C14.2 2.3 14.1 2.2 13.9 2.2C13.9 2.2 13.8 2.2 13.8 2.3L13 3H12.8L12.3 2.2C12.2 2 12 2 11.8 2L11.7 2.1L11.2 3H11L10.3 2.3C10.2 2.2 10 2.2 9.9 2.3L9.8 2.4L9.5 3.3C9.4 3.3 9.3 3.3 9.3 3.4L8.5 2.8C8.3 2.7 8.1 2.7 8 2.9V3L7.8 4C7.8 4 7.7 4 7.6 4.1L6.7 3.7C6.6 3.6 6.4 3.7 6.3 3.8V4.9C6.3 5 6.2 5 6.2 5.1L5.2 4.9C5 4.8 4.9 4.9 4.9 5.1V5.2L5.1 6.2C5 6.2 5 6.3 4.9 6.3H3.9C3.7 6.3 3.6 6.4 3.6 6.6V6.7L4 7.6V7.8L3 8C2.8 8 2.7 8.2 2.7 8.3V8.4L3.3 9.2C3.3 9.3 3.3 9.4 3.2 9.4L2.4 9.8C2.3 9.9 2.2 10 2.2 10.2C2.2 10.2 2.2 10.3 2.3 10.3L3 11V11.2L2.2 11.7C2 11.8 2 12 2 12.1L2.1 12.2L3 12.8V13L2.3 13.7C2.2 13.8 2.2 14 2.3 14.1L2.4 14.2L3.3 14.5C3.3 14.6 3.3 14.7 3.4 14.7L2.8 15.5C2.7 15.6 2.7 15.8 2.9 15.9C2.9 15.9 3 15.9 3 16L4 16.2C4 16.3 4.1 16.3 4.1 16.4L3.7 17.3C3.6 17.4 3.7 17.6 3.8 17.7H4.9C5 17.7 5 17.8 5.1 17.8L4.9 18.8C4.9 19 5 19.1 5.1 19.1H5.2L6.2 18.9C6.2 19 6.3 19 6.4 19.1V20.1C6.4 20.3 6.5 20.4 6.7 20.4H6.8L7.7 20H7.8L8 21C8 21.2 8.2 21.3 8.3 21.2H8.4L9.2 20.6C9.3 20.6 9.4 20.6 9.4 20.7L9.7 21.6C9.8 21.7 9.9 21.8 10.1 21.8C10.1 21.8 10.2 21.8 10.2 21.7L11 21H11.2L11.7 21.8C11.8 21.9 12 22 12.1 21.9L12.2 21.8L12.7 21H12.9L13.6 21.7C13.7 21.8 13.9 21.8 14 21.7L14.1 21.6L14.4 20.7C14.5 20.7 14.6 20.7 14.6 20.6L15.4 21.2C15.5 21.3 15.7 21.3 15.8 21.1C15.8 21.1 15.8 21 15.9 21L16.1 20C16.2 20 16.2 19.9 16.3 19.9L17.2 20.3C17.3 20.4 17.5 20.3 17.6 20.2V19.1L17.8 18.9L18.8 19.1C19 19.1 19.1 19 19.1 18.9V18.8L18.9 17.8L19.1 17.6H20.1C20.3 17.6 20.4 17.5 20.4 17.3V17.2L20 16.3C20 16.2 20.1 16.2 20.1 16.1L21.1 15.9C21.3 15.9 21.4 15.7 21.3 15.6V15.5L20.7 14.7L20.8 14.5L21.7 14.2C21.8 14.1 21.9 14 21.9 13.8C21.9 13.8 21.9 13.7 21.8 13.7L21 13V12.8L21.8 12.3C22 12.2 22 12 21.9 11.7C21.9 11.8 21.9 11.8 21.9 11.7M16.2 18.7C15.9 18.6 15.7 18.3 15.7 18C15.8 17.7 16.1 17.5 16.4 17.5C16.7 17.6 16.9 17.9 16.9 18.2C16.9 18.6 16.6 18.8 16.2 18.7M16 16.8C15.7 16.7 15.4 16.9 15.4 17.2L15 18.6C14.1 19 13.1 19.2 12 19.2C10.9 19.2 9.9 19 8.9 18.5L8.6 17.1C8.5 16.8 8.3 16.6 8 16.7L6.8 17C6.6 16.8 6.4 16.5 6.2 16.3H12.2C12.3 16.3 12.3 16.3 12.3 16.2V14.1C12.3 14 12.3 14 12.2 14H10.5V12.7H12.4C12.6 12.7 13.3 12.7 13.6 13.7C13.7 14 13.8 15 14 15.3C14.1 15.6 14.6 16.3 15.1 16.3H18.2C18 16.6 17.8 16.8 17.5 17.1L16 16.8M7.7 18.7C7.4 18.8 7.1 18.6 7 18.2C6.9 17.9 7.1 17.6 7.5 17.5S8.1 17.6 8.2 18C8.2 18.3 8 18.6 7.7 18.7M5.4 9.5C5.5 9.8 5.4 10.2 5.1 10.3C4.8 10.4 4.4 10.3 4.3 10C4.2 9.7 4.3 9.3 4.6 9.2C5 9.1 5.3 9.2 5.4 9.5M4.7 11.1L6 10.6C6.3 10.5 6.4 10.2 6.3 9.9L6 9.3H7V14H5C4.7 13 4.6 12.1 4.7 11.1M10.3 10.7V9.3H12.8C12.9 9.3 13.7 9.4 13.7 10C13.7 10.5 13.1 10.7 12.6 10.7H10.3M19.3 11.9V12.4H18.5C18.4 12.4 18.4 12.4 18.4 12.5V12.8C18.4 13.6 17.9 13.8 17.5 13.8C17.1 13.8 16.7 13.6 16.6 13.4C16.4 12.1 16 11.9 15.4 11.4C16.1 10.9 16.9 10.2 16.9 9.3C16.9 8.3 16.2 7.7 15.8 7.4C15.1 7 14.4 6.9 14.2 6.9H6.6C7.7 5.7 9.1 4.9 10.7 4.6L11.6 5.6C11.8 5.8 12.1 5.8 12.4 5.6L13.4 4.6C15.5 5 17.3 6.3 18.4 8.2L17.7 9.8C17.6 10.1 17.7 10.4 18 10.5L19.3 11.1V11.9M11.6 3.9C11.8 3.7 12.2 3.7 12.4 3.9C12.6 4.1 12.6 4.5 12.4 4.7C12.1 5 11.8 5 11.5 4.7C11.3 4.5 11.4 4.2 11.6 3.9M18.5 9.5C18.6 9.2 19 9.1 19.3 9.2C19.6 9.3 19.7 9.7 19.6 10C19.5 10.3 19.1 10.4 18.8 10.3C18.5 10.2 18.4 9.8 18.5 9.5Z\";\r\nexport var mdiLanguageSwift = \"M17.09,19.72C14.73,21.08 11.5,21.22 8.23,19.82C5.59,18.7 3.4,16.74 2,14.5C2.67,15.05 3.46,15.5 4.3,15.9C7.67,17.47 11.03,17.36 13.4,15.9C10.03,13.31 7.16,9.94 5.03,7.19C4.58,6.74 4.25,6.18 3.91,5.68C12.19,11.73 11.83,13.27 6.32,4.67C11.21,9.61 15.75,12.41 15.75,12.41C15.91,12.5 16,12.57 16.11,12.63C16.21,12.38 16.3,12.12 16.37,11.85C17.16,9 16.26,5.73 14.29,3.04C18.84,5.79 21.54,10.95 20.41,15.28C20.38,15.39 20.35,15.5 20.36,15.67C22.6,18.5 22,21.45 21.71,20.89C20.5,18.5 18.23,19.24 17.09,19.72V19.72Z\";\r\nexport var mdiLanguageTypescript = \"M3,3H21V21H3V3M13.71,17.86C14.21,18.84 15.22,19.59 16.8,19.59C18.4,19.59 19.6,18.76 19.6,17.23C19.6,15.82 18.79,15.19 17.35,14.57L16.93,14.39C16.2,14.08 15.89,13.87 15.89,13.37C15.89,12.96 16.2,12.64 16.7,12.64C17.18,12.64 17.5,12.85 17.79,13.37L19.1,12.5C18.55,11.54 17.77,11.17 16.7,11.17C15.19,11.17 14.22,12.13 14.22,13.4C14.22,14.78 15.03,15.43 16.25,15.95L16.67,16.13C17.45,16.47 17.91,16.68 17.91,17.26C17.91,17.74 17.46,18.09 16.76,18.09C15.93,18.09 15.45,17.66 15.09,17.06L13.71,17.86M13,11.25H8V12.75H9.5V20H11.25V12.75H13V11.25Z\";\r\nexport var mdiLanguageXaml = \"M16.93 7.9L19.31 12L16.95 16.09L16.33 15L17.8 12.5C17.97 12.19 17.97 11.83 17.8 11.54L16.32 9L16.93 7.9M16.92 6.57C16.89 6.57 16.85 6.59 16.83 6.62L15.56 8.87C15.5 8.94 15.5 9 15.56 9.09L17.18 11.9C17.22 11.97 17.22 12.05 17.18 12.12L15.57 14.91C15.53 14.97 15.53 15.06 15.57 15.13L16.85 17.36C16.87 17.4 16.91 17.42 16.94 17.42C17 17.42 17 17.4 17.04 17.36L20 12.23C20.08 12.09 20.08 11.92 20 11.79L17 6.62C17 6.59 16.96 6.57 16.92 6.57M21.91 11.67L17.23 3.58C17.11 3.38 16.89 3.25 16.66 3.25H7.28C7.05 3.25 6.83 3.38 6.71 3.58L2 11.67C1.91 11.87 1.91 12.13 2 12.33L6.71 20.42C6.83 20.62 7.05 20.75 7.28 20.75H16.66C16.89 20.75 17.11 20.62 17.23 20.42L21.91 12.33C22.03 12.13 22.03 11.88 21.91 11.67M7.3 3.95H16.12L11.76 11.65H6.93L10.87 4.82C10.91 4.75 10.86 4.66 10.78 4.66L8.21 4.65C8.13 4.65 8.06 4.7 8 4.76L4.04 11.65H2.84L7.3 3.95M6.17 12.46L9.74 18.63L8.5 18.63L4.87 12.35L4.67 12L4.87 11.65L8.5 5.37L9.73 5.37L6.17 11.53C6.15 11.57 6.13 11.61 6.11 11.65C6.03 11.88 6.03 12.13 6.12 12.35C6.13 12.39 6.15 12.43 6.17 12.46M7.3 20.05L2.85 12.35H4.05L8.03 19.23C8.07 19.3 8.14 19.34 8.22 19.34L10.79 19.34C10.87 19.34 10.92 19.25 10.88 19.18L6.94 12.35H11.77L16.17 20.05H7.3M16.8 19.75L12.37 12L16.78 4.21L21.29 12L16.8 19.75Z\";\r\nexport var mdiLaptop = \"M4,6H20V16H4M20,18A2,2 0 0,0 22,16V6C22,4.89 21.1,4 20,4H4C2.89,4 2,4.89 2,6V16A2,2 0 0,0 4,18H0V20H24V18H20Z\";\r\nexport var mdiLaptopOff = \"M1,4.27L2.28,3L20,20.72L18.73,22L16.73,20H0V18H4C2.89,18 2,17.1 2,16V6C2,5.78 2.04,5.57 2.1,5.37L1,4.27M4,16H12.73L4,7.27V16M20,16V6H7.82L5.82,4H20A2,2 0 0,1 22,6V16A2,2 0 0,1 20,18H24V20H21.82L17.82,16H20Z\";\r\nexport var mdiLaravel = \"M21.7 6.53C21.71 6.55 21.71 6.58 21.71 6.61V10.9C21.71 11 21.65 11.12 21.56 11.17L17.95 13.25V17.36C17.95 17.47 17.9 17.57 17.8 17.63L10.28 21.96C10.26 21.97 10.24 22 10.22 22L10.2 22C10.15 22 10.09 22 10.04 22C10.03 22 10 22 10 22C10 22 10 21.97 9.96 21.96L2.44 17.63C2.35 17.58 2.29 17.47 2.29 17.36V4.5C2.29 4.45 2.29 4.42 2.3 4.4C2.3 4.39 2.31 4.38 2.31 4.37C2.31 4.35 2.32 4.34 2.33 4.32C2.33 4.31 2.34 4.3 2.35 4.29C2.36 4.28 2.37 4.27 2.38 4.26C2.39 4.25 2.4 4.24 2.41 4.23C2.42 4.22 2.43 4.21 2.44 4.21L6.2 2.04C6.3 2 6.42 2 6.5 2.04L10.28 4.21H10.28C10.29 4.22 10.3 4.22 10.31 4.23C10.32 4.24 10.33 4.25 10.34 4.26C10.35 4.27 10.36 4.28 10.37 4.29C10.38 4.3 10.39 4.31 10.39 4.32C10.4 4.34 10.41 4.35 10.41 4.37C10.41 4.38 10.42 4.39 10.42 4.4C10.43 4.43 10.43 4.45 10.43 4.5V12.5L13.57 10.72V6.61C13.57 6.58 13.57 6.55 13.58 6.53L13.59 6.5C13.59 6.5 13.6 6.47 13.61 6.45C13.61 6.44 13.62 6.43 13.63 6.42C13.64 6.41 13.65 6.4 13.66 6.39C13.67 6.38 13.68 6.37 13.69 6.36C13.7 6.35 13.71 6.34 13.72 6.34L17.5 4.17C17.58 4.11 17.7 4.11 17.8 4.17L21.56 6.34C21.57 6.34 21.58 6.35 21.59 6.36L21.62 6.39C21.63 6.4 21.64 6.41 21.65 6.42C21.66 6.43 21.66 6.44 21.67 6.45C21.68 6.47 21.68 6.5 21.69 6.5C21.7 6.5 21.7 6.5 21.7 6.53M21.09 10.72V7.15L17.95 8.95V12.5L21.09 10.72M17.33 17.18V13.6L10.43 17.54V21.15L17.33 17.18M2.91 5V17.18L9.81 21.15V17.54L6.21 15.5L6.2 15.5L6.2 15.5C6.19 15.5 6.18 15.5 6.17 15.47C6.16 15.47 6.15 15.46 6.14 15.45V15.45C6.13 15.44 6.12 15.43 6.11 15.42C6.1 15.41 6.1 15.4 6.09 15.39V15.39C6.08 15.37 6.08 15.36 6.07 15.35C6.07 15.33 6.06 15.32 6.06 15.31C6.05 15.3 6.05 15.28 6.05 15.27C6.05 15.25 6.05 15.24 6.05 15.23V6.82L2.91 5M6.36 2.68L3.23 4.5L6.36 6.28L9.5 4.5L6.36 2.68M9.81 12.88V5L6.67 6.82V14.69L9.81 12.88M17.64 4.8L14.5 6.61L17.64 8.41L20.77 6.61L17.64 4.8M17.33 8.95L14.19 7.15V10.72L17.33 12.5V8.95M10.12 17L17 13.06L13.88 11.26L7 15.23L10.12 17Z\";\r\nexport var mdiLaserPointer = \"M9 13L5 16C4 16.88 3.86 18.12 4 19C4.13 20 4.91 21.22 6 21.68C7.57 22.35 9.09 21.9 10.04 20.92L19 13C20.86 11.62 20 9 18 9H12L19.46 4.61C19.9 4.29 20.08 3.82 20.06 3.37C20 2.67 19.46 2 18.6 2H18.54C18.19 2 17.86 2.11 17.56 2.29L5 9C4.19 9.46 3.94 10.24 4 11C4.05 12.03 4.74 13 6 13M5 18.5C5 17.12 6.12 16 7.5 16S10 17.12 10 18.5 8.88 21 7.5 21 5 19.88 5 18.5Z\";\r\nexport var mdiLasso = \"M12 2C17.5 2 22 5.13 22 9C22 12.26 18.81 15 14.5 15.78L14.5 15.5C14.5 14.91 14.4 14.34 14.21 13.81C17.55 13.21 20 11.28 20 9C20 6.24 16.42 4 12 4C7.58 4 4 6.24 4 9C4 10.19 4.67 11.29 5.79 12.15C5.35 12.64 5 13.21 4.78 13.85C3.06 12.59 2 10.88 2 9C2 5.13 6.5 2 12 2M9.5 12C11.43 12 13 13.57 13 15.5C13 17.4 11.5 18.95 9.6 19C9.39 19.36 9.18 20 9.83 20.68C11 21.88 13.28 19.72 16.39 19.71C18.43 19.7 20.03 19.97 20.03 19.97C20.03 19.97 21.08 20.1 20.97 21.04C20.86 21.97 19.91 21.97 19.91 21.97C19.53 21.93 18.03 21.58 16.22 21.68C14.41 21.77 13.47 22.41 12.56 22.69C11.66 22.97 9.91 23.38 8.3 22.05C6.97 20.96 7.46 19.11 7.67 18.5C6.67 17.87 6 16.76 6 15.5C6 13.57 7.57 12 9.5 12M9.5 14C8.67 14 8 14.67 8 15.5C8 16.33 8.67 17 9.5 17C10.33 17 11 16.33 11 15.5C11 14.67 10.33 14 9.5 14Z\";\r\nexport var mdiLastpass = \"M14,12A2,2 0 0,1 16,10A2,2 0 0,1 18,12A2,2 0 0,1 16,14A2,2 0 0,1 14,12M8,12A2,2 0 0,1 10,10A2,2 0 0,1 12,12A2,2 0 0,1 10,14A2,2 0 0,1 8,12M2,12A2,2 0 0,1 4,10A2,2 0 0,1 6,12A2,2 0 0,1 4,14A2,2 0 0,1 2,12M22,5H20V19H22V5Z\";\r\nexport var mdiLatitude = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 4C15 4 17.5 5.6 18.9 8H5.1C6.5 5.6 9 4 12 4M12 20C9 20 6.5 18.4 5.1 16H18.9C17.5 18.4 15 20 12 20M4.3 14C4.1 13.4 4 12.7 4 12S4.1 10.6 4.3 10H19.8C20 10.6 20.1 11.3 20.1 12S20 13.4 19.8 14H4.3Z\";\r\nexport var mdiLaunch = \"M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z\";\r\nexport var mdiLavaLamp = \"M10,3L8,16H16L14,3H10M11.5,5.75A0.75,0.75 0 0,1 12.25,6.5A0.75,0.75 0 0,1 11.5,7.25A0.75,0.75 0 0,1 10.75,6.5A0.75,0.75 0 0,1 11.5,5.75M12.5,8.5A1,1 0 0,1 13.5,9.5A1,1 0 0,1 12.5,10.5A1,1 0 0,1 11.5,9.5A1,1 0 0,1 12.5,8.5M11.5,12A1.5,1.5 0 0,1 13,13.5A1.5,1.5 0 0,1 11.5,15A1.5,1.5 0 0,1 10,13.5A1.5,1.5 0 0,1 11.5,12M8,17L10,19L8,21H16L14,19L16,17H8Z\";\r\nexport var mdiLayers = \"M12,16L19.36,10.27L21,9L12,2L3,9L4.63,10.27M12,18.54L4.62,12.81L3,14.07L12,21.07L21,14.07L19.37,12.8L12,18.54Z\";\r\nexport var mdiLayersMinus = \"M22,17V19H14V17H22M11,16L2,9L11,2L20,9L11,16M11,18.54L12,17.75V18C12,18.71 12.12,19.39 12.35,20L11,21.07L2,14.07L3.62,12.81L11,18.54Z\";\r\nexport var mdiLayersOff = \"M3.27,1L2,2.27L6.22,6.5L3,9L4.63,10.27L12,16L14.1,14.37L15.53,15.8L12,18.54L4.63,12.81L3,14.07L12,21.07L16.95,17.22L20.73,21L22,19.73L3.27,1M19.36,10.27L21,9L12,2L9.09,4.27L16.96,12.15L19.36,10.27M19.81,15L21,14.07L19.57,12.64L18.38,13.56L19.81,15Z\";\r\nexport var mdiLayersOffOutline = \"M12,4.53L10.83,5.44L9.41,4L12,2L21,9L17.28,11.89L15.85,10.47L17.74,9L12,4.53M21,14.07L20.13,14.75L18.7,13.32L19.37,12.8L21,14.07M3.41,0.86L22.14,19.59L20.73,21L16.95,17.22L12,21.07L3,14.07L4.62,12.81L12,18.54L15.5,15.79L14.1,14.37L12,16L3,9L6.22,6.5L2,2.27L3.41,0.86M12,13.47L12.67,12.94L7.65,7.92L6.26,9L12,13.47Z\";\r\nexport var mdiLayersOutline = \"M12,18.54L19.37,12.8L21,14.07L12,21.07L3,14.07L4.62,12.81L12,18.54M12,16L3,9L12,2L21,9L12,16M12,4.53L6.26,9L12,13.47L17.74,9L12,4.53Z\";\r\nexport var mdiLayersPlus = \"M17,14H19V17H22V19H19V22H17V19H14V17H17V14M11,16L2,9L11,2L20,9L11,16M11,18.54L12,17.75V18C12,18.71 12.12,19.39 12.35,20L11,21.07L2,14.07L3.62,12.81L11,18.54Z\";\r\nexport var mdiLayersRemove = \"M14.46,15.88L15.88,14.46L18,16.59L20.12,14.46L21.54,15.88L19.41,18L21.54,20.12L20.12,21.54L18,19.41L15.88,21.54L14.46,20.12L16.59,18L14.46,15.88M11,16L2,9L11,2L20,9L11,16M11,18.54L12,17.75V18C12,18.71 12.12,19.39 12.35,20L11,21.07L2,14.07L3.62,12.81L11,18.54Z\";\r\nexport var mdiLayersSearch = \"M19.31 18.9C19.75 18.21 20 17.38 20 16.5C20 14 18 12 15.5 12S11 14 11 16.5 13 21 15.5 21C16.37 21 17.19 20.75 17.88 20.32L21 23.39L22.39 22L19.31 18.9M15.5 19C14.12 19 13 17.88 13 16.5S14.12 14 15.5 14 18 15.12 18 16.5 16.88 19 15.5 19M9.59 19.2L3 14.07L4.62 12.81L9 16.22C9 16.32 9 16.41 9 16.5C9 17.46 9.22 18.38 9.59 19.2M4.63 10.27L3 9L12 2L21 9L19.36 10.27L18.65 10.82C17.72 10.3 16.64 10 15.5 10C12.79 10 10.46 11.68 9.5 14.05L4.63 10.27Z\";\r\nexport var mdiLayersSearchOutline = \"M19.31 18.9C19.75 18.21 20 17.38 20 16.5C20 14 18 12 15.5 12S11 14 11 16.5 13 21 15.5 21C16.37 21 17.19 20.75 17.88 20.32L21 23.39L22.39 22L19.31 18.9M15.5 19C14.12 19 13 17.88 13 16.5S14.12 14 15.5 14 18 15.12 18 16.5 16.88 19 15.5 19M9.59 19.2L3 14.07L4.62 12.81L9 16.22C9 16.32 9 16.41 9 16.5C9 17.46 9.22 18.38 9.59 19.2M9.5 14.04L3 9L12 2L21 9L18.66 10.82C17.96 10.44 17.19 10.18 16.37 10.07L17.74 9L12 4.53L6.26 9L10.53 12.32C10.1 12.84 9.74 13.42 9.5 14.04Z\";\r\nexport var mdiLayersTriple = \"M12 0L3 7L4.63 8.27L12 14L19.36 8.27L21 7L12 0M19.37 10.73L12 16.47L4.62 10.74L3 12L12 19L21 12L19.37 10.73M19.37 15.73L12 21.47L4.62 15.74L3 17L12 24L21 17L19.37 15.73Z\";\r\nexport var mdiLayersTripleOutline = \"M12 16.54L19.37 10.8L21 12.07L12 19.07L3 12.07L4.62 10.81L12 16.54M12 14L3 7L12 0L21 7L12 14M12 2.53L6.26 7L12 11.47L17.74 7L12 2.53M12 21.47L19.37 15.73L21 17L12 24L3 17L4.62 15.74L12 21.47\";\r\nexport var mdiLeadPencil = \"M16.84,2.73C16.45,2.73 16.07,2.88 15.77,3.17L13.65,5.29L18.95,10.6L21.07,8.5C21.67,7.89 21.67,6.94 21.07,6.36L17.9,3.17C17.6,2.88 17.22,2.73 16.84,2.73M12.94,6L4.84,14.11L7.4,14.39L7.58,16.68L9.86,16.85L10.15,19.41L18.25,11.3M4.25,15.04L2.5,21.73L9.2,19.94L8.96,17.78L6.65,17.61L6.47,15.29\";\r\nexport var mdiLeaf = \"M17,8C8,10 5.9,16.17 3.82,21.34L5.71,22L6.66,19.7C7.14,19.87 7.64,20 8,20C19,20 22,3 22,3C21,5 14,5.25 9,6.25C4,7.25 2,11.5 2,13.5C2,15.5 3.75,17.25 3.75,17.25C7,8 17,8 17,8Z\";\r\nexport var mdiLeafMaple = \"M21.79,13L16,16L17,18L13,17.25V21H11V17.25L7,18L8,16L2.21,13L3.21,11.27L1.61,8L5.21,7.77L6.21,6L9.63,9.9L8,5H10L12,2L14,5H16L14.37,9.9L17.79,6L18.79,7.73L22.39,7.96L20.79,11.19L21.79,13Z\";\r\nexport var mdiLeafMapleOff = \"M18.11 14.91L8.2 5H10L12 2L14 5H16L14.37 9.9L17.79 6L18.79 7.73L22.39 7.96L20.79 11.19L21.79 13L18.11 14.91M2.39 1.73L1.11 3L5.45 7.34L5.21 7.77L1.61 8L3.21 11.27L2.21 13L8 16L7 18L11 17.25V21H13V17.25L15.91 17.8L20.84 22.73L22.11 21.46L2.39 1.73Z\";\r\nexport var mdiLeafOff = \"M20.84 22.73L15.14 17.03C13.26 18.79 10.92 20 8 20C7.64 20 7.14 19.87 6.66 19.7L5.71 22L3.82 21.34C5.15 18.03 6.5 14.32 9.66 11.55L8.77 10.66C6.76 12.03 4.86 14.1 3.75 17.25C3.75 17.25 2 15.5 2 13.5C2 12 3.12 9.32 5.72 7.61L1.11 3L2.39 1.73C2.39 1.73 16.39 15.74 16.39 15.74L22.11 21.46L20.84 22.73M17 8C15.35 8.37 13.93 8.88 12.7 9.5L17.5 14.29C20.87 9.35 22 3 22 3C21.03 4.95 14.35 5.24 9.38 6.18L12.15 8.95C14.81 8 17 8 17 8Z\";\r\nexport var mdiLeak = \"M6,3H3V6A3,3 0 0,0 6,3M14,3H12A9,9 0 0,1 3,12V14C9.08,14 14,9.07 14,3M10,3H8A5,5 0 0,1 3,8V10A7,7 0 0,0 10,3M10,21H12A9,9 0 0,1 21,12V10A11,11 0 0,0 10,21M18,21H21V18A3,3 0 0,0 18,21M14,21H16A5,5 0 0,1 21,16V14A7,7 0 0,0 14,21Z\";\r\nexport var mdiLeakOff = \"M10,3H8C8,3.37 7.96,3.72 7.88,4.06L9.47,5.65C9.81,4.84 10,3.94 10,3M3,4.27L5.84,7.11C5.03,7.67 4.06,8 3,8V10C4.61,10 6.09,9.45 7.27,8.54L8.7,9.97C7.14,11.24 5.16,12 3,12V14C5.71,14 8.19,13 10.11,11.38L12.61,13.88C11,15.81 10,18.29 10,21H12C12,18.84 12.76,16.86 14.03,15.31L15.46,16.74C14.55,17.91 14,19.39 14,21H16C16,19.94 16.33,18.97 16.89,18.16L19.73,21L21,19.73L4.27,3L3,4.27M14,3H12C12,4.5 11.63,5.91 11,7.16L12.44,8.62C13.42,7 14,5.06 14,3M19.94,16.12C20.28,16.04 20.63,16 21,16V14C20.06,14 19.16,14.19 18.34,14.5L19.94,16.12M15.38,11.56L16.84,13C18.09,12.37 19.5,12 21,12V10C18.94,10 17,10.58 15.38,11.56Z\";\r\nexport var mdiLedOff = \"M12,6A4,4 0 0,0 8,10V16H6V18H9V23H11V18H13V23H15V18H18V16H16V10A4,4 0 0,0 12,6Z\";\r\nexport var mdiLedOn = \"M11,0V4H13V0H11M18.3,2.29L15.24,5.29L16.64,6.71L19.7,3.71L18.3,2.29M5.71,2.29L4.29,3.71L7.29,6.71L8.71,5.29L5.71,2.29M12,6A4,4 0 0,0 8,10V16H6V18H9V23H11V18H13V23H15V18H18V16H16V10A4,4 0 0,0 12,6M2,9V11H6V9H2M18,9V11H22V9H18Z\";\r\nexport var mdiLedOutline = \"M12,6A4,4 0 0,0 8,10V16H6V18H9V23H11V18H13V23H15V18H18V16H16V10A4,4 0 0,0 12,6M12,8A2,2 0 0,1 14,10V15H10V10A2,2 0 0,1 12,8Z\";\r\nexport var mdiLedStrip = \"M2.81,8.46L14.83,20.5L15.54,19.78L16.95,21.19L18.36,19.78L16.95,18.36L18.36,16.95L19.78,18.36L21.19,16.95L19.78,15.54L20.5,14.83L8.46,2.81L2.81,8.46M5.64,8.46L8.46,5.64L17.66,14.83L14.83,17.66L5.64,8.46M7.05,8.46L8.46,9.88L9.88,8.46L8.46,7.05L7.05,8.46M9.17,10.59L10.59,12L12,10.59L10.59,9.17L9.17,10.59M11.29,12.71L12.71,14.12L14.12,12.71L12.71,11.29L11.29,12.71M13.41,14.83L14.83,16.24L16.24,14.83L14.83,13.41L13.41,14.83Z\";\r\nexport var mdiLedStripVariant = \"M2.95 3L2 6.91L19.34 11.25L20.29 7.34L2.95 3M6.09 6.89L4.16 6.41L4.64 4.46L6.57 4.94L6.09 6.89M9.94 7.86L8 7.38L8.5 5.42L10.42 5.91L9.94 7.86M13.8 8.82L11.87 8.34L12.35 6.39L14.27 6.87L13.8 8.82M17.65 9.79L15.72 9.31L16.2 7.35L18.13 7.84L17.65 9.79M4.66 12.75L3.71 16.66L21.05 21L22 17.1L4.66 12.75M7.8 16.65L5.88 16.16L6.35 14.21L8.28 14.69L7.8 16.65M11.65 17.61L9.73 17.13L10.2 15.18L12.13 15.66L11.65 17.61M15.5 18.58L13.58 18.09L14.06 16.14L16 16.62L15.5 18.58M19.36 19.54L17.43 19.06L17.91 17.11L19.84 17.59L19.36 19.54M6.25 12.11L11 10.2L17.75 11.89L13 13.8L6.25 12.11Z\";\r\nexport var mdiLedVariantOff = \"M12,3C10.05,3 8.43,4.4 8.08,6.25L16.82,15H18V13H16V7A4,4 0 0,0 12,3M3.28,4L2,5.27L8,11.27V13H6V15H9V21H11V15H11.73L13,16.27V21H15V18.27L18.73,22L20,20.72L15,15.72L8,8.72L3.28,4Z\";\r\nexport var mdiLedVariantOn = \"M12,3A4,4 0 0,0 8,7V13H6V15H9V21H11V15H13V21H15V15H18V13H16V7A4,4 0 0,0 12,3Z\";\r\nexport var mdiLedVariantOutline = \"M12,3A4,4 0 0,0 8,7V13H6V15H9V21H11V15H13V21H15V15H18V13H16V7A4,4 0 0,0 12,3M12,5A2,2 0 0,1 14,7V12H10V7A2,2 0 0,1 12,5Z\";\r\nexport var mdiLeek = \"M10 2V5.55L12 7.55L14 5.55V2H10M6.34 4L3.87 6.5L15 17.62V12.67L6.34 4M17.66 4L13.06 8.61L15.54 11.09L20.13 6.5L17.66 4M9 13.74V20A2 2 0 0 0 11 22H13A2 2 0 0 0 15 20V19.74L13 17.74V20H11V15.74L9 13.74Z\";\r\nexport var mdiLessThan = \"M18.5,4.14L19.5,5.86L8.97,12L19.5,18.14L18.5,19.86L5,12L18.5,4.14Z\";\r\nexport var mdiLessThanOrEqual = \"M18.5,2.27L5,10.14L18.5,18L19.5,16.27L8.97,10.14L19.5,4L18.5,2.27M5,20V22H20V20H5Z\";\r\nexport var mdiLibrary = \"M12,8A3,3 0 0,0 15,5A3,3 0 0,0 12,2A3,3 0 0,0 9,5A3,3 0 0,0 12,8M12,11.54C9.64,9.35 6.5,8 3,8V19C6.5,19 9.64,20.35 12,22.54C14.36,20.35 17.5,19 21,19V8C17.5,8 14.36,9.35 12,11.54Z\";\r\nexport var mdiLibraryShelves = \"M19.5,9V1.5H16.5V9H13.5V1.5H10.5V9H7.5V1.5H4.65V9H3V10.5H21V9H19.5M19.5,13.5H16.5V21H13.5V13.5H10.5V21H7.5V13.5H4.65V21H3V22.5H21V21H19.5V13.5Z\";\r\nexport var mdiLicense = \"M9 10A3.04 3.04 0 0 1 12 7A3.04 3.04 0 0 1 15 10A3.04 3.04 0 0 1 12 13A3.04 3.04 0 0 1 9 10M12 19L16 20V16.92A7.54 7.54 0 0 1 12 18A7.54 7.54 0 0 1 8 16.92V20M12 4A5.78 5.78 0 0 0 7.76 5.74A5.78 5.78 0 0 0 6 10A5.78 5.78 0 0 0 7.76 14.23A5.78 5.78 0 0 0 12 16A5.78 5.78 0 0 0 16.24 14.23A5.78 5.78 0 0 0 18 10A5.78 5.78 0 0 0 16.24 5.74A5.78 5.78 0 0 0 12 4M20 10A8.04 8.04 0 0 1 19.43 12.8A7.84 7.84 0 0 1 18 15.28V23L12 21L6 23V15.28A7.9 7.9 0 0 1 4 10A7.68 7.68 0 0 1 6.33 4.36A7.73 7.73 0 0 1 12 2A7.73 7.73 0 0 1 17.67 4.36A7.68 7.68 0 0 1 20 10Z\";\r\nexport var mdiLifebuoy = \"M19.79,15.41C20.74,13.24 20.74,10.75 19.79,8.59L17.05,9.83C17.65,11.21 17.65,12.78 17.06,14.17L19.79,15.41M15.42,4.21C13.25,3.26 10.76,3.26 8.59,4.21L9.83,6.94C11.22,6.35 12.79,6.35 14.18,6.95L15.42,4.21M4.21,8.58C3.26,10.76 3.26,13.24 4.21,15.42L6.95,14.17C6.35,12.79 6.35,11.21 6.95,9.82L4.21,8.58M8.59,19.79C10.76,20.74 13.25,20.74 15.42,19.78L14.18,17.05C12.8,17.65 11.22,17.65 9.84,17.06L8.59,19.79M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,8A4,4 0 0,0 8,12A4,4 0 0,0 12,16A4,4 0 0,0 16,12A4,4 0 0,0 12,8Z\";\r\nexport var mdiLightRecessed = \"M12 7C6.5 7 2 9.46 2 12.5S6.5 18 12 18 22 15.54 22 12.5 17.5 7 12 7M16.5 10C16.5 10.4 14.9 11.54 12 11.54S7.5 10.4 7.5 10C7.5 9.91 7.65 9.74 7.9 9.55C9.06 9.21 10.44 9 12 9S14.94 9.21 16.1 9.55C16.35 9.74 16.5 9.91 16.5 10M12 16C7.12 16 4 13.93 4 12.5C4 11.81 4.73 11 6.03 10.29C6.3 11.83 8.87 13.04 12 13.04C15.13 13.04 17.7 11.83 17.97 10.29C19.27 11 20 11.81 20 12.5C20 13.93 16.88 16 12 16Z\";\r\nexport var mdiLightSwitch = \"M7,1A2,2 0 0,0 5,3V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V3A2,2 0 0,0 17,1H7M7,3H17V21H7V3M9,6V18H15V6H9M10,7H14V11H10V7M10,13H14V17H10V13Z\";\r\nexport var mdiLightbulb = \"M12,2A7,7 0 0,0 5,9C5,11.38 6.19,13.47 8,14.74V17A1,1 0 0,0 9,18H15A1,1 0 0,0 16,17V14.74C17.81,13.47 19,11.38 19,9A7,7 0 0,0 12,2M9,21A1,1 0 0,0 10,22H14A1,1 0 0,0 15,21V20H9V21Z\";\r\nexport var mdiLightbulbAuto = \"M9 2C5.13 2 2 5.13 2 9C2 11.38 3.19 13.47 5 14.74V17C5 17.55 5.45 18 6 18H12C12.55 18 13 17.55 13 17V14.74C14.81 13.47 16 11.38 16 9C16 5.13 12.87 2 9 2M6 21C6 21.55 6.45 22 7 22H11C11.55 22 12 21.55 12 21V20H6V21M19 13H17L13.8 22H15.7L16.4 20H19.6L20.3 22H22.2L19 13M16.85 18.65L18 15L19.15 18.65H16.85Z\";\r\nexport var mdiLightbulbAutoOutline = \"M9 2C12.87 2 16 5.13 16 9C16 11.38 14.81 13.47 13 14.74V17C13 17.55 12.55 18 12 18H6C5.45 18 5 17.55 5 17V14.74C3.19 13.47 2 11.38 2 9C2 5.13 5.13 2 9 2M6 21V20H12V21C12 21.55 11.55 22 11 22H7C6.45 22 6 21.55 6 21M9 4C6.24 4 4 6.24 4 9C4 11.05 5.23 12.81 7 13.58V16H11V13.58C12.77 12.81 14 11.05 14 9C14 6.24 11.76 4 9 4M19 13H17L13.8 22H15.7L16.4 20H19.6L20.3 22H22.2L19 13M16.85 18.65L18 15L19.15 18.65H16.85Z\";\r\nexport var mdiLightbulbCfl = \"M10.5 2C11.88 2 13 3.12 13 4.5V14H14V4.47C14 3.56 13.63 2.7 13 2.05C13.17 2 13.33 2 13.5 2C14.88 2 16 3.12 16 4.5V14H17V17C17 17.55 16.55 18 16 18H8C7.45 18 7 17.55 7 17V14H8V4.5C8 3.12 9.12 2 10.5 2M10.5 4C10.22 4 10 4.22 10 4.5V14H11V4.5C11 4.22 10.78 4 10.5 4M9 20H15V21C15 21.55 14.55 22 14 22H10C9.45 22 9 21.55 9 21V20Z\";\r\nexport var mdiLightbulbCflOff = \"M14 4.47C14 3.56 13.63 2.7 13 2.05C13.17 2 13.33 2 13.5 2C14.88 2 16 3.12 16 4.5V14H17V15.18L14 12.18V4.5L14 4.47M10 4.5C10 4.22 10.22 4 10.5 4S11 4.22 11 4.5V9.18L13 11.18V4.5C13 3.12 11.88 2 10.5 2S8 3.12 8 4.5V6.18L10 8.18V4.5M9 21C9 21.55 9.45 22 10 22H14C14.55 22 15 21.55 15 21V20H9V21M20 20.72L18.73 22L14.73 18H8C7.45 18 7 17.55 7 17V14H8V11.27L2 5.27L3.28 4L20 20.72Z\";\r\nexport var mdiLightbulbCflSpiral = \"M11 2C10.84 2 10.69 2.03 10.55 2.1L8.55 3.1C7.56 3.66 8 5 9 5C9.16 5 9.32 4.95 9.45 4.9L11.45 3.9C12.43 3.36 12 2 11 2M15 4C14.83 4 14.69 4.03 14.55 4.1L8.55 7.1C7.56 7.68 8 9 9 9C9.18 9 9.32 8.95 9.45 8.9L15.45 5.9C16.41 5.43 16 4 15 4M15 8C14.84 8 14.69 8.03 14.55 8.1L8.7 11.03C8.2 11.25 8 11.6 8 12V14H7V17C7 17.55 7.44 18 8 18H16C16.55 18 17 17.55 17 17V14H16V13C16 12.44 15.55 12 15 12C14.45 12 14 12.45 14 13V14H10V12.62L15.45 9.9C16.42 9.34 16 8 15 8M9 20V21C9 21.57 9.46 22 10 22H14C14.56 22 15 21.55 15 21V20\";\r\nexport var mdiLightbulbCflSpiralOff = \"M15.45 9.9L13.88 10.68L12.38 9.18L14.55 8.1C14.69 8.03 14.84 8 15 8C16 8 16.42 9.34 15.45 9.9M11.22 8L15.45 5.9C16.41 5.43 16 4 15 4C14.83 4 14.69 4.03 14.55 4.1L9.72 6.5L11.22 8M20.84 22.73L16.09 18H8C7.44 18 7 17.55 7 17V14H8V12C8 11.6 8.2 11.25 8.7 11.03L9 10.88L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M12.11 14L10.5 12.38L10 12.62V14H12.11M9 21C9 21.57 9.46 22 10 22H14C14.56 22 15 21.55 15 21V20H9V21M9 5C9.16 5 9.32 4.95 9.45 4.9L11.45 3.9C12.43 3.36 12 2 11 2C10.84 2 10.69 2.03 10.55 2.1L8.55 3.1C7.56 3.66 8 5 9 5Z\";\r\nexport var mdiLightbulbFluorescentTube = \"M7.05 2.81L6.5 3.34L5.11 1.92L3.87 3.16L5.28 4.58L4.58 5.28L3.16 3.87L1.92 5.11L3.34 6.5L2.81 7.05L16.95 21.19L17.5 20.66L18.89 22.08L20.13 20.84L18.72 19.43L19.42 18.72L20.84 20.13L22.08 18.9L20.66 17.5L21.19 16.95L7.05 2.81Z\";\r\nexport var mdiLightbulbFluorescentTubeOutline = \"M7.05 2.81L6.5 3.34L5.11 1.92L3.87 3.16L5.28 4.58L4.58 5.28L3.16 3.87L1.92 5.11L3.34 6.5L2.81 7.05L4.22 8.46L15.54 19.78L16.95 21.19L17.5 20.66L18.89 22.08L20.13 20.84L18.72 19.43L19.43 18.72L20.84 20.13L22.08 18.89L20.66 17.5L21.19 16.95L19.78 15.54L8.46 4.22M7.05 5.64L18.36 16.95L16.95 18.36L5.64 7.05Z\";\r\nexport var mdiLightbulbGroup = \"M15 14V16A1 1 0 0 1 14 17H10A1 1 0 0 1 9 16V14A5 5 0 1 1 15 14M14 18H10V19A1 1 0 0 0 11 20H13A1 1 0 0 0 14 19M7 19V18H5V19A1 1 0 0 0 6 20H7.17A2.93 2.93 0 0 1 7 19M5 10A6.79 6.79 0 0 1 5.68 7A4 4 0 0 0 4 14.45V16A1 1 0 0 0 5 17H7V14.88A6.92 6.92 0 0 1 5 10M17 18V19A2.93 2.93 0 0 1 16.83 20H18A1 1 0 0 0 19 19V18M18.32 7A6.79 6.79 0 0 1 19 10A6.92 6.92 0 0 1 17 14.88V17H19A1 1 0 0 0 20 16V14.45A4 4 0 0 0 18.32 7Z\";\r\nexport var mdiLightbulbGroupOff = \"M20.84 22.73L18.09 20C18.06 20 18.03 20 18 20H16.83C16.94 19.68 17 19.34 17 19V18.89L14.75 16.64C14.57 16.86 14.31 17 14 17H10C9.45 17 9 16.55 9 16V14C7.4 12.8 6.74 10.84 7.12 9L5.5 7.4C5.18 8.23 5 9.11 5 10C5 11.83 5.72 13.58 7 14.88V17H5C4.45 17 4 16.55 4 16V14.45C2.86 13.79 2.12 12.62 2 11.31C1.85 9.27 3.25 7.5 5.2 7.09L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M15 6C13.22 4.67 10.86 4.72 9.13 5.93L16.08 12.88C17.63 10.67 17.17 7.63 15 6M19.79 16.59C19.91 16.42 20 16.22 20 16V14.45C21.91 13.34 22.57 10.9 21.46 9C20.8 7.85 19.63 7.11 18.32 7C18.77 7.94 19 8.96 19 10C19 11.57 18.47 13.09 17.5 14.31L19.79 16.59M10 19C10 19.55 10.45 20 11 20H13C13.55 20 14 19.55 14 19V18H10V19M7 18H5V19C5 19.55 5.45 20 6 20H7.17C7.06 19.68 7 19.34 7 19V18Z\";\r\nexport var mdiLightbulbGroupOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L5.2 7.09C3.25 7.5 1.85 9.27 2 11.31C2.12 12.62 2.86 13.79 4 14.45V16C4 16.55 4.45 17 5 17H7V14.88C5.72 13.58 5 11.83 5 10C5 9.11 5.18 8.23 5.5 7.4L7.12 9C6.74 10.84 7.4 12.8 9 14V16C9 16.55 9.45 17 10 17H14C14.31 17 14.57 16.86 14.75 16.64L17 18.89V19C17 19.34 16.94 19.68 16.83 20H18C18.03 20 18.06 20 18.09 20L20.84 22.73L22.11 21.46M9.23 11.12L10.87 12.76C10.11 12.46 9.53 11.86 9.23 11.12M13 15H11V12.89L13 14.89V15M10.57 7.37L9.13 5.93C10.86 4.72 13.22 4.67 15 6C16.26 6.94 17 8.43 17 10C17 11.05 16.67 12.05 16.08 12.88L14.63 11.43C14.86 11 15 10.5 15 10C15 8.34 13.67 7 12 7C11.5 7 11 7.14 10.57 7.37M17.5 14.31C18.47 13.09 19 11.57 19 10C19 8.96 18.77 7.94 18.32 7C19.63 7.11 20.8 7.85 21.46 9C22.57 10.9 21.91 13.34 20 14.45V16C20 16.22 19.91 16.42 19.79 16.59L17.5 14.31M10 18H14V19C14 19.55 13.55 20 13 20H11C10.45 20 10 19.55 10 19V18M7 19C7 19.34 7.06 19.68 7.17 20H6C5.45 20 5 19.55 5 19V18H7V19Z\";\r\nexport var mdiLightbulbGroupOutline = \"M7 19A2.93 2.93 0 0 0 7.17 20H6A1 1 0 0 1 5 19V18H7M10 19A1 1 0 0 0 11 20H13A1 1 0 0 0 14 19V18H10M4 16A1 1 0 0 0 5 17H7V14.88A6.92 6.92 0 0 1 5 10A6.79 6.79 0 0 1 5.68 7A4 4 0 0 0 4 14.45M17 19A2.93 2.93 0 0 1 16.83 20H18A1 1 0 0 0 19 19V18H17M17 10A5 5 0 0 1 15 14V16A1 1 0 0 1 14 17H10A1 1 0 0 1 9 16V14A5 5 0 1 1 17 10M15 10A3 3 0 1 0 11 12.82V15H13V12.82A3 3 0 0 0 15 10M18.32 7A6.79 6.79 0 0 1 19 10A6.92 6.92 0 0 1 17 14.88V17H19A1 1 0 0 0 20 16V14.45A4 4 0 0 0 18.32 7Z\";\r\nexport var mdiLightbulbMultiple = \"M17 16V18C17 18.55 16.53 19 16 19H12C11.42 19 11 18.55 11 18V16C8.77 14.34 8.32 11.21 10 9S14.77 6.34 17 8 19.63 12.79 18 15C17.69 15.38 17.35 15.72 17 16M16 20H12V21C12 21.55 12.42 22 13 22H15C15.53 22 16 21.55 16 21M7.66 15H7V16C7 16.55 7.42 17 8 17H9V16.88C8.44 16.33 8 15.7 7.66 15M13.58 5C12.46 2.47 9.5 1.33 7 2.45S3.31 6.5 4.43 9.04C4.77 9.81 5.3 10.5 6 11V13C6 13.55 6.42 14 7 14H7.28C7.07 13.35 6.97 12.68 7 12C6.97 8.29 9.87 5.21 13.58 5Z\";\r\nexport var mdiLightbulbMultipleOff = \"M20.84 22.73L16.74 18.63C16.55 18.85 16.29 19 16 19H12C11.42 19 11 18.55 11 18V16C9.37 14.8 8.71 12.82 9.1 11L7.5 9.39C7.17 10.2 6.97 11.08 7 12C6.97 12.68 7.07 13.35 7.28 14H7C6.42 14 6 13.55 6 13V11C5.3 10.5 4.77 9.81 4.43 9.04C4 8.05 3.91 7 4.12 6L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M13.58 5C12.46 2.47 9.5 1.33 7 2.45C6.68 2.58 6.39 2.75 6.13 2.93L9.67 6.47C10.76 5.63 12.1 5.08 13.58 5M18.06 14.86C19.6 12.66 19.14 9.62 17 8C15.2 6.67 12.84 6.72 11.12 7.92L18.06 14.86M12 21C12 21.55 12.42 22 13 22H15C15.53 22 16 21.55 16 21V20H12V21M7 15V16C7 16.55 7.42 17 8 17H9V16.88C8.43 16.33 8 15.7 7.66 15H7Z\";\r\nexport var mdiLightbulbMultipleOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L4.14 6.03C3.93 7 4 8.05 4.45 9.04C4.79 9.81 5.33 10.5 6 11V13C6 13.55 6.45 14 7 14H7.3C7.1 13.35 7 12.68 7 12C7 11.08 7.19 10.21 7.5 9.41L9.11 11C9.05 11.33 9 11.66 9 12C9 13.57 9.74 15.06 11 16V18C11 18.55 11.45 19 12 19H16C16.31 19 16.57 18.86 16.75 18.64L20.84 22.73L22.11 21.46M11.23 13.12L12.87 14.76C12.1 14.44 11.53 13.85 11.23 13.12M15 17H13V14.89L15 16.89V17M9.69 6.5L6.14 2.94C6.41 2.75 6.7 2.58 7 2.44C9.53 1.33 12.5 2.47 13.6 5C12.12 5.09 10.77 5.63 9.69 6.5M11.12 7.92C11.94 7.35 12.93 7 14 7C15.57 7 17.06 7.74 18 9C19.33 10.78 19.28 13.14 18.07 14.87L16.62 13.42C16.7 13.28 16.77 13.14 16.83 13C17.38 11.43 16.56 9.72 15 9.16C14.16 8.87 13.29 8.97 12.57 9.37L11.12 7.92M7.68 15C8 15.7 8.46 16.33 9 16.88V17H8C7.45 17 7 16.55 7 16V15H7.68M12 20H16V21C16 21.55 15.55 22 15 22H13C12.45 22 12 21.55 12 21V20Z\";\r\nexport var mdiLightbulbMultipleOutline = \"M12 21C12 21.55 12.45 22 13 22H15C15.55 22 16 21.55 16 21V20H12M14 7C11.24 7 9 9.24 9 12C9 13.57 9.74 15.06 11 16V18C11 18.55 11.45 19 12 19H16C16.55 19 17 18.55 17 18V16C19.21 14.34 19.66 11.21 18 9C17.06 7.74 15.57 7 14 7M15 14.82V17H13V14.82C11.44 14.27 10.62 12.55 11.17 11C11.72 9.43 13.44 8.61 15 9.16C16.56 9.72 17.38 11.43 16.83 13C16.53 13.85 15.85 14.5 15 14.82M7.68 15H7V16C7 16.55 7.45 17 8 17H9V16.88C8.46 16.33 8 15.7 7.68 15M13.6 5C12.5 2.47 9.53 1.33 7 2.45S3.34 6.5 4.45 9.04C4.79 9.81 5.33 10.5 6 11V13C6 13.55 6.45 14 7 14H7.3C7.1 13.35 7 12.68 7 12C7 8.29 9.89 5.21 13.6 5Z\";\r\nexport var mdiLightbulbOff = \"M12,2C9.76,2 7.78,3.05 6.5,4.68L16.31,14.5C17.94,13.21 19,11.24 19,9A7,7 0 0,0 12,2M3.28,4L2,5.27L5.04,8.3C5,8.53 5,8.76 5,9C5,11.38 6.19,13.47 8,14.74V17A1,1 0 0,0 9,18H14.73L18.73,22L20,20.72L3.28,4M9,20V21A1,1 0 0,0 10,22H14A1,1 0 0,0 15,21V20H9Z\";\r\nexport var mdiLightbulbOffOutline = \"M12,2C9.76,2 7.78,3.05 6.5,4.68L7.93,6.11C8.84,4.84 10.32,4 12,4A5,5 0 0,1 17,9C17,10.68 16.16,12.16 14.89,13.06L16.31,14.5C17.94,13.21 19,11.24 19,9A7,7 0 0,0 12,2M3.28,4L2,5.27L5.04,8.3C5,8.53 5,8.76 5,9C5,11.38 6.19,13.47 8,14.74V17A1,1 0 0,0 9,18H14.73L18.73,22L20,20.72L3.28,4M7.23,10.5L12.73,16H10V13.58C8.68,13 7.66,11.88 7.23,10.5M9,20V21A1,1 0 0,0 10,22H14A1,1 0 0,0 15,21V20H9Z\";\r\nexport var mdiLightbulbOn = \"M12,6A6,6 0 0,1 18,12C18,14.22 16.79,16.16 15,17.2V19A1,1 0 0,1 14,20H10A1,1 0 0,1 9,19V17.2C7.21,16.16 6,14.22 6,12A6,6 0 0,1 12,6M14,21V22A1,1 0 0,1 13,23H11A1,1 0 0,1 10,22V21H14M20,11H23V13H20V11M1,11H4V13H1V11M13,1V4H11V1H13M4.92,3.5L7.05,5.64L5.63,7.05L3.5,4.93L4.92,3.5M16.95,5.63L19.07,3.5L20.5,4.93L18.37,7.05L16.95,5.63Z\";\r\nexport var mdiLightbulbOnOutline = \"M20,11H23V13H20V11M1,11H4V13H1V11M13,1V4H11V1H13M4.92,3.5L7.05,5.64L5.63,7.05L3.5,4.93L4.92,3.5M16.95,5.63L19.07,3.5L20.5,4.93L18.37,7.05L16.95,5.63M12,6A6,6 0 0,1 18,12C18,14.22 16.79,16.16 15,17.2V19A1,1 0 0,1 14,20H10A1,1 0 0,1 9,19V17.2C7.21,16.16 6,14.22 6,12A6,6 0 0,1 12,6M14,21V22A1,1 0 0,1 13,23H11A1,1 0 0,1 10,22V21H14M11,18H13V15.87C14.73,15.43 16,13.86 16,12A4,4 0 0,0 12,8A4,4 0 0,0 8,12C8,13.86 9.27,15.43 11,15.87V18Z\";\r\nexport var mdiLightbulbOutline = \"M12,2A7,7 0 0,1 19,9C19,11.38 17.81,13.47 16,14.74V17A1,1 0 0,1 15,18H9A1,1 0 0,1 8,17V14.74C6.19,13.47 5,11.38 5,9A7,7 0 0,1 12,2M9,21V20H15V21A1,1 0 0,1 14,22H10A1,1 0 0,1 9,21M12,4A5,5 0 0,0 7,9C7,11.05 8.23,12.81 10,13.58V16H14V13.58C15.77,12.81 17,11.05 17,9A5,5 0 0,0 12,4Z\";\r\nexport var mdiLightbulbSpot = \"M9 19H11V22H9L9 19M13 22H15V19H13V22M2 2V4H22V2H2M9 14L9 17H15V14C17.5 12.57 20 11 20 6H4C4 11 6.5 12.57 9 14Z\";\r\nexport var mdiLightbulbSpotOff = \"M20.84 22.73L15.11 17H9L9 14C6.5 12.57 4 11 4 6V5.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M22 4V2H5.2L7.2 4H22M20 6H9.2L16.37 13.17C18.33 11.87 20 10.07 20 6M13 22H15V19H13V22M9 22H11V19H9L9 22Z\";\r\nexport var mdiLightbulbVariant = \"M9 20H15V21C15 21.55 14.55 22 14 22H10C9.45 22 9 21.55 9 21V20M19 9C19 11.38 17.81 13.47 16 14.74V17C16 17.55 15.55 18 15 18H9C8.45 18 8 17.55 8 17V14.74C6.19 13.47 5 11.38 5 9C5 5.13 8.13 2 12 2S19 5.13 19 9M14.71 8.29C14.32 7.9 13.68 7.9 13.29 8.29L12 9.59L10.71 8.29C10.32 7.9 9.68 7.9 9.29 8.29C8.9 8.68 8.9 9.32 9.29 9.71L11 11.41V16H13V11.41L14.71 9.71C15.1 9.32 15.1 8.68 14.71 8.29Z\";\r\nexport var mdiLightbulbVariantOutline = \"M12 2C8.13 2 5 5.13 5 9C5 11.38 6.19 13.47 8 14.74V17C8 17.55 8.45 18 9 18H15C15.55 18 16 17.55 16 17V14.74C17.81 13.47 19 11.38 19 9C19 5.13 15.87 2 12 2M14 13.58V16H13V11.41L14.71 9.71C15.1 9.32 15.1 8.68 14.71 8.29C14.32 7.9 13.68 7.9 13.29 8.29L12 9.59L10.71 8.29C10.32 7.9 9.68 7.9 9.29 8.29C8.9 8.68 8.9 9.32 9.29 9.71L11 11.41V16H10V13.58C8.23 12.81 7 11.05 7 9C7 6.24 9.24 4 12 4S17 6.24 17 9C17 11.05 15.77 12.81 14 13.58M9 20H15V21C15 21.55 14.55 22 14 22H10C9.45 22 9 21.55 9 21V20Z\";\r\nexport var mdiLighthouse = \"M8,10V8H9V4H8V3L12,1L16,3V4H15V8H16V10H14.74L8.44,13.64L9,10H8M13,8V4H11V8H13M7,23L7.04,22.76L16.15,17.5L16.67,20.88L13,23H7M8.05,16.17L15.31,12L15.83,15.37L7.43,20.22L8.05,16.17Z\";\r\nexport var mdiLighthouseOn = \"M1,10V2L10,5V7L1,10M8,10V8H13V4H8V3L12,1L16,3V4H15V8H16V10H14.74L8.44,13.64L9,10H8M7,23L7.04,22.76L16.15,17.5L16.67,20.88L13,23H7M8.05,16.17L15.31,12L15.83,15.37L7.43,20.22L8.05,16.17Z\";\r\nexport var mdiLightningBolt = \"M11 15H6L13 1V9H18L11 23V15Z\";\r\nexport var mdiLightningBoltCircle = \"M11.5,20L16.36,10.27H13V4L8,13.73H11.5V20M12,2C14.75,2 17.1,3 19.05,4.95C21,6.9 22,9.25 22,12C22,14.75 21,17.1 19.05,19.05C17.1,21 14.75,22 12,22C9.25,22 6.9,21 4.95,19.05C3,17.1 2,14.75 2,12C2,9.25 3,6.9 4.95,4.95C6.9,3 9.25,2 12,2Z\";\r\nexport var mdiLightningBoltOutline = \"M11 9.47V11H14.76L13 14.53V13H9.24L11 9.47M13 1L6 15H11V23L18 9H13V1Z\";\r\nexport var mdiLineScan = \"M17 22V20H20V17H22V20.5C22 20.9 21.8 21.2 21.5 21.5C21.2 21.8 20.8 22 20.5 22H17M7 22H3.5C3.1 22 2.8 21.8 2.5 21.5C2.2 21.2 2 20.8 2 20.5V17H4V20H7V22M17 2H20.5C20.9 2 21.2 2.2 21.5 2.5C21.8 2.8 22 3.1 22 3.5V7H20V4H17V2M7 2V4H4V7H2V3.5C2 3.1 2.2 2.8 2.5 2.5S3.1 2 3.5 2H7M19 11H5V13H19V11Z\";\r\nexport var mdiLingerie = \"M22 7H20V2H18V4.34L12 6.91L6 4.34V2H4V7H2V9H4.05C4.3 11.25 6.19 13 8.5 13C9.92 13 11.18 12.33 12 11.3C12.83 12.33 14.08 13 15.5 13C17.81 13 19.7 11.25 19.95 9H22V7M8.5 11C7.12 11 6 9.88 6 8.5V6.5L11 8.65C10.9 9.96 9.83 11 8.5 11M18 8.5C18 9.88 16.88 11 15.5 11C14.17 11 13.1 9.96 13 8.65L18 6.5V8.5M2 15V17H3C5.97 17 8.43 19.17 8.91 22H15.09C15.57 19.17 18.03 17 21 17H22V15H2M13.59 20H10.41C9.94 18.84 9.21 17.82 8.29 17H15.71C14.79 17.82 14.06 18.84 13.59 20Z\";\r\nexport var mdiLink = \"M3.9,12C3.9,10.29 5.29,8.9 7,8.9H11V7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H11V15.1H7C5.29,15.1 3.9,13.71 3.9,12M8,13H16V11H8V13M17,7H13V8.9H17C18.71,8.9 20.1,10.29 20.1,12C20.1,13.71 18.71,15.1 17,15.1H13V17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7Z\";\r\nexport var mdiLinkBox = \"M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M11,16H10C8.39,16 6,14.94 6,12C6,9.07 8.39,8 10,8H11V10H10C9.54,10 8,10.17 8,12C8,13.9 9.67,14 10,14H11V16M15,11V13H9V11H15M14,16H13V14H14C14.46,14 16,13.83 16,12C16,10.1 14.33,10 14,10H13V8H14C15.61,8 18,9.07 18,12C18,14.94 15.61,16 14,16Z\";\r\nexport var mdiLinkBoxOutline = \"M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M19,19H5V5H19V19M11,16H10C8.39,16 6,14.94 6,12C6,9.07 8.39,8 10,8H11V10H10C9.54,10 8,10.17 8,12C8,13.9 9.67,14 10,14H11V16M14,16H13V14H14C14.46,14 16,13.83 16,12C16,10.1 14.33,10 14,10H13V8H14C15.61,8 18,9.07 18,12C18,14.94 15.61,16 14,16M15,13H9V11H15V13Z\";\r\nexport var mdiLinkBoxVariant = \"M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M13.94,14.81L11.73,17C11.08,17.67 10.22,18 9.36,18C8.5,18 7.64,17.67 7,17C5.67,15.71 5.67,13.58 7,12.26L8.35,10.9L8.34,11.5C8.33,12 8.41,12.5 8.57,12.94L8.62,13.09L8.22,13.5C7.91,13.8 7.74,14.21 7.74,14.64C7.74,15.07 7.91,15.47 8.22,15.78C8.83,16.4 9.89,16.4 10.5,15.78L12.7,13.59C13,13.28 13.18,12.87 13.18,12.44C13.18,12 13,11.61 12.7,11.3C12.53,11.14 12.44,10.92 12.44,10.68C12.44,10.45 12.53,10.23 12.7,10.06C13.03,9.73 13.61,9.74 13.94,10.06C14.57,10.7 14.92,11.54 14.92,12.44C14.92,13.34 14.57,14.18 13.94,14.81M17,11.74L15.66,13.1V12.5C15.67,12 15.59,11.5 15.43,11.06L15.38,10.92L15.78,10.5C16.09,10.2 16.26,9.79 16.26,9.36C16.26,8.93 16.09,8.53 15.78,8.22C15.17,7.6 14.1,7.61 13.5,8.22L11.3,10.42C11,10.72 10.82,11.13 10.82,11.56C10.82,12 11,12.39 11.3,12.7C11.47,12.86 11.56,13.08 11.56,13.32C11.56,13.56 11.47,13.78 11.3,13.94C11.13,14.11 10.91,14.19 10.68,14.19C10.46,14.19 10.23,14.11 10.06,13.94C8.75,12.63 8.75,10.5 10.06,9.19L12.27,7C13.58,5.67 15.71,5.68 17,7C17.65,7.62 18,8.46 18,9.36C18,10.26 17.65,11.1 17,11.74Z\";\r\nexport var mdiLinkBoxVariantOutline = \"M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M19,19H5V5H19V19M13.94,10.06C14.57,10.7 14.92,11.54 14.92,12.44C14.92,13.34 14.57,14.18 13.94,14.81L11.73,17C11.08,17.67 10.22,18 9.36,18C8.5,18 7.64,17.67 7,17C5.67,15.71 5.67,13.58 7,12.26L8.35,10.9L8.34,11.5C8.33,12 8.41,12.5 8.57,12.94L8.62,13.09L8.22,13.5C7.91,13.8 7.74,14.21 7.74,14.64C7.74,15.07 7.91,15.47 8.22,15.78C8.83,16.4 9.89,16.4 10.5,15.78L12.7,13.59C13,13.28 13.18,12.87 13.18,12.44C13.18,12 13,11.61 12.7,11.3C12.53,11.14 12.44,10.92 12.44,10.68C12.44,10.45 12.53,10.23 12.7,10.06C13.03,9.73 13.61,9.74 13.94,10.06M18,9.36C18,10.26 17.65,11.1 17,11.74L15.66,13.1V12.5C15.67,12 15.59,11.5 15.43,11.06L15.38,10.92L15.78,10.5C16.09,10.2 16.26,9.79 16.26,9.36C16.26,8.93 16.09,8.53 15.78,8.22C15.17,7.6 14.1,7.61 13.5,8.22L11.3,10.42C11,10.72 10.82,11.13 10.82,11.56C10.82,12 11,12.39 11.3,12.7C11.47,12.86 11.56,13.08 11.56,13.32C11.56,13.56 11.47,13.78 11.3,13.94C11.13,14.11 10.91,14.19 10.68,14.19C10.46,14.19 10.23,14.11 10.06,13.94C8.75,12.63 8.75,10.5 10.06,9.19L12.27,7C13.58,5.67 15.71,5.68 17,7C17.65,7.62 18,8.46 18,9.36Z\";\r\nexport var mdiLinkLock = \"M23 16V15.5A2.5 2.5 0 0 0 18 15.5V16A1 1 0 0 0 17 17V21A1 1 0 0 0 18 22H23A1 1 0 0 0 24 21V17A1 1 0 0 0 23 16M22 16H19V15.5A1.5 1.5 0 0 1 22 15.5M7 8.9H11V7H7A5 5 0 0 0 7 17H11V15.1H7A3.1 3.1 0 0 1 7 8.9M8 11V13H16V11M13 15.1V17H15V15.1M17 7H13V8.9H17A3.09 3.09 0 0 1 19.94 11A5.12 5.12 0 0 1 20.5 11H21.9A5 5 0 0 0 17 7Z\";\r\nexport var mdiLinkOff = \"M17,7H13V8.9H17C18.71,8.9 20.1,10.29 20.1,12C20.1,13.43 19.12,14.63 17.79,15L19.25,16.44C20.88,15.61 22,13.95 22,12A5,5 0 0,0 17,7M16,11H13.81L15.81,13H16V11M2,4.27L5.11,7.38C3.29,8.12 2,9.91 2,12A5,5 0 0,0 7,17H11V15.1H7C5.29,15.1 3.9,13.71 3.9,12C3.9,10.41 5.11,9.1 6.66,8.93L8.73,11H8V13H10.73L13,15.27V17H14.73L18.74,21L20,19.74L3.27,3L2,4.27Z\";\r\nexport var mdiLinkPlus = \"M7,7H11V9H7A3,3 0 0,0 4,12A3,3 0 0,0 7,15H11V17H7A5,5 0 0,1 2,12A5,5 0 0,1 7,7M17,7A5,5 0 0,1 22,12H20A3,3 0 0,0 17,9H13V7H17M8,11H16V13H8V11M17,12H19V15H22V17H19V20H17V17H14V15H17V12Z\";\r\nexport var mdiLinkVariant = \"M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z\";\r\nexport var mdiLinkVariantMinus = \"M10.6 13.4A1 1 0 0 1 9.2 14.8A4.8 4.8 0 0 1 9.2 7.8L12.7 4.2A5.1 5.1 0 0 1 19.8 4.2A5.1 5.1 0 0 1 19.8 11.3L18.3 12.8A6.4 6.4 0 0 0 17.9 10.4L18.4 9.9A3.2 3.2 0 0 0 18.4 5.6A3.2 3.2 0 0 0 14.1 5.6L10.6 9.2A2.9 2.9 0 0 0 10.6 13.4M23 18V20H15V18M16.2 13.7A4.8 4.8 0 0 0 14.8 9.2A1 1 0 0 0 13.4 10.6A2.9 2.9 0 0 1 13.4 14.8L9.9 18.4A3.2 3.2 0 0 1 5.6 18.4A3.2 3.2 0 0 1 5.6 14.1L6.1 13.7A7.3 7.3 0 0 1 5.7 11.2L4.2 12.7A5.1 5.1 0 0 0 4.2 19.8A5.1 5.1 0 0 0 11.3 19.8L13.1 18A6 6 0 0 1 16.2 13.7Z\";\r\nexport var mdiLinkVariantOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L13.9,17.17L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L12.5,15.76L10.88,14.15C10.87,14.39 10.77,14.64 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C8.12,13.77 7.63,12.37 7.72,11L2,5.27M12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.79,8.97L9.38,7.55L12.71,4.22M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.2,10.54 16.61,12.5 16.06,14.23L14.28,12.46C14.23,11.78 13.94,11.11 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z\";\r\nexport var mdiLinkVariantPlus = \"M10.6 13.4A1 1 0 0 1 9.2 14.8A4.8 4.8 0 0 1 9.2 7.8L12.7 4.2A5.1 5.1 0 0 1 19.8 4.2A5.1 5.1 0 0 1 19.8 11.3L18.3 12.8A6.4 6.4 0 0 0 17.9 10.4L18.4 9.9A3.2 3.2 0 0 0 18.4 5.6A3.2 3.2 0 0 0 14.1 5.6L10.6 9.2A2.9 2.9 0 0 0 10.6 13.4M23 18V20H20V23H18V20H15V18H18V15H20V18M16.2 13.7A4.8 4.8 0 0 0 14.8 9.2A1 1 0 0 0 13.4 10.6A2.9 2.9 0 0 1 13.4 14.8L9.9 18.4A3.2 3.2 0 0 1 5.6 18.4A3.2 3.2 0 0 1 5.6 14.1L6.1 13.7A7.3 7.3 0 0 1 5.7 11.2L4.2 12.7A5.1 5.1 0 0 0 4.2 19.8A5.1 5.1 0 0 0 11.3 19.8L13.1 18A6 6 0 0 1 16.2 13.7Z\";\r\nexport var mdiLinkVariantRemove = \"M10.6 13.4A1 1 0 0 1 9.2 14.8A4.8 4.8 0 0 1 9.2 7.8L12.7 4.2A5.1 5.1 0 0 1 19.8 4.2A5.1 5.1 0 0 1 19.8 11.3L18.3 12.8A6.4 6.4 0 0 0 17.9 10.4L18.4 9.9A3.2 3.2 0 0 0 18.4 5.6A3.2 3.2 0 0 0 14.1 5.6L10.6 9.2A2.9 2.9 0 0 0 10.6 13.4M16.2 13.7A4.8 4.8 0 0 0 14.8 9.2A1 1 0 0 0 13.4 10.6A2.9 2.9 0 0 1 13.4 14.8L9.9 18.4A3.2 3.2 0 0 1 5.6 18.4A3.2 3.2 0 0 1 5.6 14.1L6.1 13.7A7.3 7.3 0 0 1 5.7 11.2L4.2 12.7A5.1 5.1 0 0 0 4.2 19.8A5.1 5.1 0 0 0 11.3 19.8L13.1 18A6 6 0 0 1 16.2 13.7M21.1 15.5L19 17.6L16.9 15.5L15.5 16.9L17.6 19L15.5 21.1L16.9 22.5L19 20.4L21.1 22.5L22.5 21.1L20.4 19L22.5 16.9Z\";\r\nexport var mdiLinkedin = \"M19 3A2 2 0 0 1 21 5V19A2 2 0 0 1 19 21H5A2 2 0 0 1 3 19V5A2 2 0 0 1 5 3H19M18.5 18.5V13.2A3.26 3.26 0 0 0 15.24 9.94C14.39 9.94 13.4 10.46 12.92 11.24V10.13H10.13V18.5H12.92V13.57C12.92 12.8 13.54 12.17 14.31 12.17A1.4 1.4 0 0 1 15.71 13.57V18.5H18.5M6.88 8.56A1.68 1.68 0 0 0 8.56 6.88C8.56 5.95 7.81 5.19 6.88 5.19A1.69 1.69 0 0 0 5.19 6.88C5.19 7.81 5.95 8.56 6.88 8.56M8.27 18.5V10.13H5.5V18.5H8.27Z\";\r\nexport var mdiLinux = \"M14.62,8.35C14.2,8.63 12.87,9.39 12.67,9.54C12.28,9.85 11.92,9.83 11.53,9.53C11.33,9.37 10,8.61 9.58,8.34C9.1,8.03 9.13,7.64 9.66,7.42C11.3,6.73 12.94,6.78 14.57,7.45C15.06,7.66 15.08,8.05 14.62,8.35M21.84,15.63C20.91,13.54 19.64,11.64 18,9.97C17.47,9.42 17.14,8.8 16.94,8.09C16.84,7.76 16.77,7.42 16.7,7.08C16.5,6.2 16.41,5.3 16,4.47C15.27,2.89 14,2.07 12.16,2C10.35,2.05 9,2.81 8.21,4.4C8,4.83 7.85,5.28 7.75,5.74C7.58,6.5 7.43,7.29 7.25,8.06C7.1,8.71 6.8,9.27 6.29,9.77C4.68,11.34 3.39,13.14 2.41,15.12C2.27,15.41 2.13,15.7 2.04,16C1.85,16.66 2.33,17.12 3.03,16.96C3.47,16.87 3.91,16.78 4.33,16.65C4.74,16.5 4.9,16.6 5,17C5.65,19.15 7.07,20.66 9.24,21.5C13.36,23.06 18.17,20.84 19.21,16.92C19.28,16.65 19.38,16.55 19.68,16.65C20.14,16.79 20.61,16.89 21.08,17C21.57,17.09 21.93,16.84 22,16.36C22.03,16.1 21.94,15.87 21.84,15.63\";\r\nexport var mdiLinuxMint = \"M2,3.23V6.8H3.5C4.59,6.8 4.78,7.53 4.78,8.55V14.86C4.78,18.12 7.65,20.77 11.18,20.77H19.9C21,20.77 22,20.07 22,19V9.2C22,5.93 19.13,3.28 15.6,3.28H11.93V3.27L2,3.23V3.23M6.62,5.46H8.37V14.45C8.37,15.65 9.19,16.59 10.16,16.59L16.13,16.61C17.38,16.61 18.35,15.75 18.35,14.73L18.34,9.96C18.34,9.65 18.24,9.41 18,9.19C17.79,8.96 17.56,8.86 17.25,8.86C16.94,8.86 16.71,8.96 16.5,9.19C16.27,9.41 16.16,9.65 16.16,9.96V14.05H14.31V9.96C14.31,9.65 14.21,9.41 14,9.19C13.77,8.96 13.54,8.86 13.22,8.86C12.92,8.86 12.68,8.96 12.46,9.19C12.24,9.41 12.14,9.65 12.14,9.96V14.05H10.29V9.96C10.29,9.15 10.58,8.44 11.15,7.86C11.72,7.29 12.43,7 13.22,7C14,7 14.68,7.28 15.24,7.82C15.79,7.28 16.47,7 17.25,7C18.05,7 18.76,7.29 19.32,7.86C19.89,8.44 20.19,9.15 20.19,9.96L20.2,15.06C20.11,15.91 19.75,16.67 19.13,17.31V17.31C18.4,18.04 17.5,18.42 16.5,18.42H9.83C9,18.34 8.29,17.95 7.69,17.36C7,16.65 6.62,15.79 6.62,14.79V5.46H6.62Z\";\r\nexport var mdiLipstick = \"M9 23C8.45 23 8 22.55 8 22V13C8 12.45 8.45 12 9 12H15C15.55 12 16 12.45 16 13V22C16 22.55 15.55 23 15 23H9M10 11C9.45 11 9 10.55 9 10V5.25C9 5.25 11 3 11.75 1C12.83 1.67 13.92 2.33 14.46 3.83C15 5.33 15 7.67 15 10C15 10.55 14.55 11 14 11H10Z\";\r\nexport var mdiLiquidSpot = \"M18.14 16.7C17.23 18.21 16.08 17.73 15 17.09S12.9 15.68 12.25 16.59C11.54 17.37 12.09 18.62 12.37 19.72C12.65 20.83 12.67 21.79 10.9 22C9.5 21.81 9.58 20.65 9.81 19.42C10.04 18.19 10.4 16.89 9.5 16.43C8.78 15.95 8.28 16.78 7.65 17.6C7 18.41 6.26 19.2 5.04 18.62C3.94 17.71 4.36 17.18 4.94 16.5S6.27 14.91 5.84 13.31C5.66 12.66 4.76 12.81 3.87 12.79C3 12.77 2.12 12.59 2.03 11.29C1.96 10.5 2.55 10.18 3.16 9.93C3.78 9.68 4.41 9.5 4.42 8.87C4.45 8.26 4.04 7.83 3.78 7.38S3.41 6.46 4.03 5.76C5.08 4.9 5.92 5.63 6.76 6.42S8.43 8.04 9.46 7.39C10.28 6.85 9.53 5.9 8.95 4.97S7.96 3.15 9.46 2.74C10.76 2.38 11.26 3.27 11.71 4.3C12.17 5.33 12.57 6.5 13.67 6.71C15.24 7 16.38 5.16 17.47 3.7S19.63 1.15 21 2.95C22.5 4.84 21.07 5.72 19.4 6.5C17.73 7.23 15.81 7.87 16.27 9.28C16.54 10.1 17.42 9.65 18.35 9.34C19.27 9.03 20.26 8.86 20.74 10.27C21.25 11.76 20.04 12.1 18.68 12.24C17.32 12.38 15.8 12.32 15.7 13C15.59 13.71 16.5 14 17.29 14.42C18.08 14.85 18.75 15.42 18.14 16.7M20.5 19C19.55 19 19.06 18.26 19.06 17.5C19.06 16.74 19.54 16 20.5 16C21.5 16 22 16.74 22 17.5C22 18.26 21.5 19 20.5 19Z\";\r\nexport var mdiListStatus = \"M16.5 11L13 7.5L14.4 6.1L16.5 8.2L20.7 4L22.1 5.4L16.5 11M11 7H2V9H11V7M21 13.4L19.6 12L17 14.6L14.4 12L13 13.4L15.6 16L13 18.6L14.4 20L17 17.4L19.6 20L21 18.6L18.4 16L21 13.4M11 15H2V17H11V15Z\";\r\nexport var mdiLitecoin = \"M12.55,15.92L13.16,13.78L14.81,13.19L16.25,7.63L14.56,8.31L16.25,2H8L5.38,11.77L3.72,12.34L2.22,17.91L4,17.27L2.66,22H20.16L21.78,15.92H12.55M19.39,21H4L5.46,15.65L3.72,16.3L4.58,13.11L6.24,12.54L8.74,3H15L13.13,10L14.83,9.3L14,12.42L12.33,13L11.22,16.91H20.5L19.39,21Z\";\r\nexport var mdiLoading = \"M12,4V2A10,10 0 0,0 2,12H4A8,8 0 0,1 12,4Z\";\r\nexport var mdiLocationEnter = \"M14 12L10 8V11H2V13H10V16M22 12A10 10 0 0 1 2.46 15H4.59A8 8 0 1 0 4.59 9H2.46A10 10 0 0 1 22 12Z\";\r\nexport var mdiLocationExit = \"M22 12L18 8V11H10V13H18V16M20 18A10 10 0 1 1 20 6H17.27A8 8 0 1 0 17.27 18Z\";\r\nexport var mdiLock = \"M12,17A2,2 0 0,0 14,15C14,13.89 13.1,13 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V10C4,8.89 4.9,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z\";\r\nexport var mdiLockAlert = \"M10 17C11.1 17 12 16.1 12 15C12 13.9 11.1 13 10 13C8.9 13 8 13.9 8 15S8.9 17 10 17M16 8C17.1 8 18 8.9 18 10V20C18 21.1 17.1 22 16 22H4C2.9 22 2 21.1 2 20V10C2 8.9 2.9 8 4 8H5V6C5 3.2 7.2 1 10 1S15 3.2 15 6V8H16M10 3C8.3 3 7 4.3 7 6V8H13V6C13 4.3 11.7 3 10 3M22 13H20V7H22V13M22 17H20V15H22V17Z\";\r\nexport var mdiLockAlertOutline = \"M10 17C8.9 17 8 16.1 8 15C8 13.9 8.9 13 10 13C11.1 13 12 13.9 12 15S11.1 17 10 17M16 20V10H4V20H16M16 8C17.1 8 18 8.9 18 10V20C18 21.1 17.1 22 16 22H4C2.9 22 2 21.1 2 20V10C2 8.9 2.9 8 4 8H5V6C5 3.2 7.2 1 10 1S15 3.2 15 6V8H16M10 3C8.3 3 7 4.3 7 6V8H13V6C13 4.3 11.7 3 10 3M22 7H20V13H22V7M22 15H20V17H22V15Z\";\r\nexport var mdiLockCheck = \"M19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6V8H6C4.9 8 4 8.89 4 10V20C4 21.11 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M9 6C9 4.34 10.34 3 12 3S15 4.34 15 6V8H9V6M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13C13.1 13 14 13.89 14 15C14 16.11 13.11 17 12 17M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\r\nexport var mdiLockCheckOutline = \"M14 15C14 16.11 13.11 17 12 17C10.89 17 10 16.1 10 15C10 13.89 10.89 13 12 13C13.11 13 14 13.9 14 15M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.1 4 20V10C4 8.89 4.89 8 6 8H7V6C7 3.24 9.24 1 12 1S17 3.24 17 6V8H18C19.11 8 20 8.9 20 10V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V10H6V20H13.09M9 8H15V6C15 4.34 13.66 3 12 3S9 4.34 9 6V8M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\r\nexport var mdiLockClock = \"M8.5,2C6,2 4,4 4,6.5V7C2.89,7 2,7.89 2,9V18C2,19.11 2.89,20 4,20H8.72C10.18,21.29 12.06,22 14,22A8,8 0 0,0 22,14A8,8 0 0,0 14,6C13.66,6 13.32,6.03 13,6.08C12.76,3.77 10.82,2 8.5,2M8.5,4A2.5,2.5 0 0,1 11,6.5V7H6V6.5A2.5,2.5 0 0,1 8.5,4M14,8A6,6 0 0,1 20,14A6,6 0 0,1 14,20A6,6 0 0,1 8,14A6,6 0 0,1 14,8M13,10V15L16.64,17.19L17.42,15.9L14.5,14.15V10H13Z\";\r\nexport var mdiLockMinus = \"M19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6V8H6C4.9 8 4 8.89 4 10V20C4 21.11 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M9 6C9 4.34 10.34 3 12 3S15 4.34 15 6V8H9V6M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13C13.1 13 14 13.89 14 15C14 16.11 13.11 17 12 17M23 18V20H15V18H23Z\";\r\nexport var mdiLockMinusOutline = \"M14 15C14 16.11 13.11 17 12 17C10.89 17 10 16.1 10 15C10 13.89 10.89 13 12 13C13.11 13 14 13.9 14 15M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.1 4 20V10C4 8.89 4.89 8 6 8H7V6C7 3.24 9.24 1 12 1S17 3.24 17 6V8H18C19.11 8 20 8.9 20 10V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V10H6V20H13.09M9 8H15V6C15 4.34 13.66 3 12 3S9 4.34 9 6V8M15 18V20H23V18H15Z\";\r\nexport var mdiLockOff = \"M9 5.82L7.36 4.16C8.09 2.31 9.89 1 12 1C14.76 1 17 3.24 17 6V8H18C19.11 8 20 8.9 20 10V16.8L11.2 8H15V6C15 4.34 13.66 3 12 3C10.41 3 9.11 4.25 9 5.82M22.11 21.46L20.84 22.73L19.46 21.35C19.1 21.75 18.58 22 18 22H6C4.89 22 4 21.11 4 20V10C4 8.89 4.9 8 6 8H6.11L1.11 3L2.39 1.73L22.11 21.46M13.85 15.74L11.26 13.15C10.5 13.44 10 14.16 10 15C10 16.11 10.9 17 12 17C12.84 17 13.56 16.5 13.85 15.74Z\";\r\nexport var mdiLockOffOutline = \"M9 5.82L7.36 4.16C8.09 2.31 9.89 1 12 1C14.76 1 17 3.24 17 6V8H18C19.11 8 20 8.9 20 10V16.8L18 14.8V10H13.2L11.2 8H15V6C15 4.34 13.66 3 12 3C10.41 3 9.11 4.25 9 5.82M22.11 21.46L20.84 22.73L19.46 21.35C19.1 21.75 18.58 22 18 22H6C4.89 22 4 21.1 4 20V10C4 8.89 4.89 8 6 8H6.11L1.11 3L2.39 1.73L22.11 21.46M18 19.89L13.85 15.74C13.56 16.5 12.84 17 12 17C10.89 17 10 16.1 10 15C10 14.15 10.5 13.44 11.26 13.15L8.11 10H6V20H18V19.89Z\";\r\nexport var mdiLockOpen = \"M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V10A2,2 0 0,1 6,8H15V6A3,3 0 0,0 12,3A3,3 0 0,0 9,6H7A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,17A2,2 0 0,0 14,15A2,2 0 0,0 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17Z\";\r\nexport var mdiLockOpenAlert = \"M16 8C17.1 8 18 8.9 18 10V20C18 21.1 17.1 22 16 22H4C2.9 22 2 21.1 2 20V10C2 8.9 2.9 8 4 8H13V6C13 4.3 11.7 3 10 3S7 4.3 7 6H5C5 3.2 7.2 1 10 1S15 3.2 15 6V8H16M10 17C11.1 17 12 16.1 12 15S11.1 13 10 13 8 13.9 8 15 8.9 17 10 17M22 13H20V7H22V13M22 17H20V15H22V17Z\";\r\nexport var mdiLockOpenAlertOutline = \"M16 20V10H4V20H16M16 8C17.1 8 18 8.9 18 10V20C18 21.1 17.1 22 16 22H4C2.9 22 2 21.1 2 20V10C2 8.9 2.9 8 4 8H13V6C13 4.3 11.7 3 10 3S7 4.3 7 6H5C5 3.2 7.2 1 10 1S15 3.2 15 6V8H16M10 17C8.9 17 8 16.1 8 15S8.9 13 10 13 12 13.9 12 15 11.1 17 10 17M22 7H20V13H22V7M22 15H20V17H22V15Z\";\r\nexport var mdiLockOpenCheck = \"M19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6H9C9 4.34 10.34 3 12 3S15 4.34 15 6V8H6C4.89 8 4 8.9 4 10V20C4 21.1 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13 14 13.9 14 15 13.11 17 12 17M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\r\nexport var mdiLockOpenCheckOutline = \"M14 15C14 16.11 13.11 17 12 17S10 16.11 10 15 10.9 13 12 13 14 13.9 14 15M6 20V10H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6H9C9 4.34 10.34 3 12 3S15 4.34 15 6V8H6C4.89 8 4 8.9 4 10V20C4 21.1 4.89 22 6 22H13.81C13.46 21.39 13.22 20.72 13.09 20H6M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\r\nexport var mdiLockOpenMinus = \"M19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6H9C9 4.34 10.34 3 12 3S15 4.34 15 6V8H6C4.89 8 4 8.9 4 10V20C4 21.1 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13 14 13.9 14 15 13.11 17 12 17M23 18V20H15V18H23Z\";\r\nexport var mdiLockOpenMinusOutline = \"M14 15C14 16.11 13.11 17 12 17S10 16.11 10 15 10.9 13 12 13 14 13.9 14 15M6 20V10H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6H9C9 4.34 10.34 3 12 3S15 4.34 15 6V8H6C4.89 8 4 8.9 4 10V20C4 21.1 4.89 22 6 22H13.81C13.46 21.39 13.22 20.72 13.09 20H6M15 18V20H23V18H15Z\";\r\nexport var mdiLockOpenOutline = \"M18,20V10H6V20H18M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V10A2,2 0 0,1 6,8H15V6A3,3 0 0,0 12,3A3,3 0 0,0 9,6H7A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,17A2,2 0 0,1 10,15A2,2 0 0,1 12,13A2,2 0 0,1 14,15A2,2 0 0,1 12,17Z\";\r\nexport var mdiLockOpenPlus = \"M19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6H9C9 4.34 10.34 3 12 3S15 4.34 15 6V8H6C4.89 8 4 8.9 4 10V20C4 21.1 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13 14 13.9 14 15 13.11 17 12 17M23 18V20H20V23H18V20H15V18H18V15H20V18H23Z\";\r\nexport var mdiLockOpenPlusOutline = \"M14 15C14 16.11 13.11 17 12 17S10 16.11 10 15 10.9 13 12 13 14 13.9 14 15M6 20V10H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6H9C9 4.34 10.34 3 12 3S15 4.34 15 6V8H6C4.89 8 4 8.9 4 10V20C4 21.1 4.89 22 6 22H13.81C13.46 21.39 13.22 20.72 13.09 20H6M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiLockOpenRemove = \"M19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6H9C9 4.34 10.34 3 12 3S15 4.34 15 6V8H6C4.89 8 4 8.9 4 10V20C4 21.1 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13 14 13.9 14 15 13.11 17 12 17M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19Z\";\r\nexport var mdiLockOpenRemoveOutline = \"M14 15C14 16.11 13.11 17 12 17S10 16.11 10 15 10.9 13 12 13 14 13.9 14 15M6 20V10H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6H9C9 4.34 10.34 3 12 3S15 4.34 15 6V8H6C4.89 8 4 8.9 4 10V20C4 21.1 4.89 22 6 22H13.81C13.46 21.39 13.22 20.72 13.09 20H6M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiLockOpenVariant = \"M18 1C15.24 1 13 3.24 13 6V8H4C2.9 8 2 8.89 2 10V20C2 21.11 2.9 22 4 22H16C17.11 22 18 21.11 18 20V10C18 8.9 17.11 8 16 8H15V6C15 4.34 16.34 3 18 3C19.66 3 21 4.34 21 6V8H23V6C23 3.24 20.76 1 18 1M10 13C11.1 13 12 13.89 12 15C12 16.11 11.11 17 10 17C8.9 17 8 16.11 8 15C8 13.9 8.9 13 10 13Z\";\r\nexport var mdiLockOpenVariantOutline = \"M10 13C11.1 13 12 13.89 12 15C12 16.11 11.11 17 10 17S8 16.11 8 15 8.9 13 10 13M18 1C15.24 1 13 3.24 13 6V8H4C2.9 8 2 8.9 2 10V20C2 21.1 2.9 22 4 22H16C17.1 22 18 21.1 18 20V10C18 8.9 17.1 8 16 8H15V6C15 4.34 16.34 3 18 3S21 4.34 21 6V8H23V6C23 3.24 20.76 1 18 1M16 10V20H4V10H16Z\";\r\nexport var mdiLockOutline = \"M12,17C10.89,17 10,16.1 10,15C10,13.89 10.89,13 12,13A2,2 0 0,1 14,15A2,2 0 0,1 12,17M18,20V10H6V20H18M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V10C4,8.89 4.89,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z\";\r\nexport var mdiLockPattern = \"M7,3A4,4 0 0,1 11,7C11,8.86 9.73,10.43 8,10.87V13.13C8.37,13.22 8.72,13.37 9.04,13.56L13.56,9.04C13.2,8.44 13,7.75 13,7A4,4 0 0,1 17,3A4,4 0 0,1 21,7A4,4 0 0,1 17,11C16.26,11 15.57,10.8 15,10.45L10.45,15C10.8,15.57 11,16.26 11,17A4,4 0 0,1 7,21A4,4 0 0,1 3,17C3,15.14 4.27,13.57 6,13.13V10.87C4.27,10.43 3,8.86 3,7A4,4 0 0,1 7,3M17,13A4,4 0 0,1 21,17A4,4 0 0,1 17,21A4,4 0 0,1 13,17A4,4 0 0,1 17,13M17,15A2,2 0 0,0 15,17A2,2 0 0,0 17,19A2,2 0 0,0 19,17A2,2 0 0,0 17,15Z\";\r\nexport var mdiLockPlus = \"M19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6V8H6C4.9 8 4 8.89 4 10V20C4 21.11 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M9 6C9 4.34 10.34 3 12 3S15 4.34 15 6V8H9V6M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13C13.1 13 14 13.89 14 15C14 16.11 13.11 17 12 17M23 18V20H20V23H18V20H15V18H18V15H20V18H23Z\";\r\nexport var mdiLockPlusOutline = \"M6 20V10H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6V8H6C4.89 8 4 8.89 4 10V20C4 21.1 4.89 22 6 22H13.81C13.46 21.39 13.22 20.72 13.09 20H6M9 6C9 4.34 10.34 3 12 3S15 4.34 15 6V8H9V6M14 15C14 16.11 13.11 17 12 17C10.89 17 10 16.1 10 15C10 13.89 10.89 13 12 13C13.11 13 14 13.9 14 15M23 18V20H20V23H18V20H15V18H18V15H20V18H23Z\";\r\nexport var mdiLockQuestion = \"M12,1A5,5 0 0,0 7,6V8H6A2,2 0 0,0 4,10V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V10A2,2 0 0,0 18,8H17V6A5,5 0 0,0 12,1M12,2.9C13.71,2.9 15.1,4.29 15.1,6V8H8.9V6C8.9,4.29 10.29,2.9 12,2.9M12.19,10.5C13.13,10.5 13.88,10.71 14.42,11.12C14.96,11.54 15.23,12.1 15.23,12.8C15.23,13.24 15.08,13.63 14.79,14C14.5,14.36 14.12,14.64 13.66,14.85C13.4,15 13.23,15.15 13.14,15.32C13.05,15.5 13,15.72 13,16H11C11,15.5 11.1,15.16 11.29,14.92C11.5,14.68 11.84,14.4 12.36,14.08C12.62,13.94 12.83,13.76 13,13.54C13.14,13.33 13.22,13.08 13.22,12.8C13.22,12.5 13.13,12.28 12.95,12.11C12.77,11.93 12.5,11.85 12.19,11.85C11.92,11.85 11.7,11.92 11.5,12.06C11.34,12.2 11.24,12.41 11.24,12.69H9.27C9.22,12 9.5,11.4 10.05,11.04C10.59,10.68 11.3,10.5 12.19,10.5M11,17H13V19H11V17Z\";\r\nexport var mdiLockRemove = \"M19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6V8H6C4.9 8 4 8.89 4 10V20C4 21.11 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M9 6C9 4.34 10.34 3 12 3S15 4.34 15 6V8H9V6M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13C13.1 13 14 13.89 14 15C14 16.11 13.11 17 12 17M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19Z\";\r\nexport var mdiLockRemoveOutline = \"M14 15C14 16.11 13.11 17 12 17C10.89 17 10 16.1 10 15C10 13.89 10.89 13 12 13C13.11 13 14 13.9 14 15M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.1 4 20V10C4 8.89 4.89 8 6 8H7V6C7 3.24 9.24 1 12 1S17 3.24 17 6V8H18C19.11 8 20 8.9 20 10V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V10H6V20H13.09M9 8H15V6C15 4.34 13.66 3 12 3S9 4.34 9 6V8M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiLockReset = \"M12.63,2C18.16,2 22.64,6.5 22.64,12C22.64,17.5 18.16,22 12.63,22C9.12,22 6.05,20.18 4.26,17.43L5.84,16.18C7.25,18.47 9.76,20 12.64,20A8,8 0 0,0 20.64,12A8,8 0 0,0 12.64,4C8.56,4 5.2,7.06 4.71,11H7.47L3.73,14.73L0,11H2.69C3.19,5.95 7.45,2 12.63,2M15.59,10.24C16.09,10.25 16.5,10.65 16.5,11.16V15.77C16.5,16.27 16.09,16.69 15.58,16.69H10.05C9.54,16.69 9.13,16.27 9.13,15.77V11.16C9.13,10.65 9.54,10.25 10.04,10.24V9.23C10.04,7.7 11.29,6.46 12.81,6.46C14.34,6.46 15.59,7.7 15.59,9.23V10.24M12.81,7.86C12.06,7.86 11.44,8.47 11.44,9.23V10.24H14.19V9.23C14.19,8.47 13.57,7.86 12.81,7.86Z\";\r\nexport var mdiLockSmart = \"M12,2A6,6 0 0,0 6,8V16A6,6 0 0,0 12,22A6,6 0 0,0 18,16V8A6,6 0 0,0 12,2M8,6H10V8H8V6M11,6H13V8H11V6M14,6H16V8H14V6M8,9H10V11H8V9M11,9H13V11H11V9M14,9H16V11H14V9M8,12H10V14H8V12M11,12H13V14H11V12M14,12H16V14H14V12M12,16A2,2 0 0,1 14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18A2,2 0 0,1 12,16Z\";\r\nexport var mdiLocker = \"M8,2H16A2,2 0 0,1 18,4V20A2,2 0 0,1 16,22H8A2,2 0 0,1 6,20V4A2,2 0 0,1 8,2M8,4V20H16V4H8M10,13H12V17H10V13M10,6H14V7.5H10V6M10,9H14V10.5H10V9Z\";\r\nexport var mdiLockerMultiple = \"M3,2H21A2,2 0 0,1 23,4V20A2,2 0 0,1 21,22H3A2,2 0 0,1 1,20V4A2,2 0 0,1 3,2M13,4V20H21V4H13M3,4V20H11V4H3M5,13H7V17H5V13M5,6H9V7.5H5V6M5,9H9V10.5H5V9M15,13H17V17H15V13M15,6H19V7.5H15V6M15,9H19V10.5H15V9Z\";\r\nexport var mdiLogin = \"M10,17V14H3V10H10V7L15,12L10,17M10,2H19A2,2 0 0,1 21,4V20A2,2 0 0,1 19,22H10A2,2 0 0,1 8,20V18H10V20H19V4H10V6H8V4A2,2 0 0,1 10,2Z\";\r\nexport var mdiLoginVariant = \"M19,3H5C3.89,3 3,3.89 3,5V9H5V5H19V19H5V15H3V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M10.08,15.58L11.5,17L16.5,12L11.5,7L10.08,8.41L12.67,11H3V13H12.67L10.08,15.58Z\";\r\nexport var mdiLogout = \"M16,17V14H9V10H16V7L21,12L16,17M14,2A2,2 0 0,1 16,4V6H14V4H5V20H14V18H16V20A2,2 0 0,1 14,22H5A2,2 0 0,1 3,20V4A2,2 0 0,1 5,2H14Z\";\r\nexport var mdiLogoutVariant = \"M14.08,15.59L16.67,13H7V11H16.67L14.08,8.41L15.5,7L20.5,12L15.5,17L14.08,15.59M19,3A2,2 0 0,1 21,5V9.67L19,7.67V5H5V19H19V16.33L21,14.33V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19Z\";\r\nexport var mdiLongitude = \"M12 2A10 10 0 1 0 22 12A10.03 10.03 0 0 0 12 2M9.4 19.6A8.05 8.05 0 0 1 9.4 4.4A16.45 16.45 0 0 0 7.5 12A16.45 16.45 0 0 0 9.4 19.6M12 20A13.81 13.81 0 0 1 9.5 12A13.81 13.81 0 0 1 12 4A13.81 13.81 0 0 1 14.5 12A13.81 13.81 0 0 1 12 20M14.6 19.6A16.15 16.15 0 0 0 14.6 4.4A8.03 8.03 0 0 1 20 12A7.9 7.9 0 0 1 14.6 19.6Z\";\r\nexport var mdiLooks = \"M12,6A11,11 0 0,0 1,17H3C3,12.04 7.04,8 12,8C16.96,8 21,12.04 21,17H23A11,11 0 0,0 12,6M12,10C8.14,10 5,13.14 5,17H7A5,5 0 0,1 12,12A5,5 0 0,1 17,17H19C19,13.14 15.86,10 12,10Z\";\r\nexport var mdiLotion = \"M15.5 6.5C15.5 5.66 17 4 17 4S18.5 5.66 18.5 6.5C18.5 7.33 17.83 8 17 8S15.5 7.33 15.5 6.5M19.5 15C20.88 15 22 13.88 22 12.5C22 10.83 19.5 8 19.5 8S17 10.83 17 12.5C17 13.88 18.12 15 19.5 15M16 12V22H4V12C4 9.03 6.16 6.57 9 6.09V4H7V2H13C14.13 2 15.15 2.39 16 3L14.56 4.44C14.1 4.17 13.57 4 13 4H11V6.09C13.84 6.57 16 9.03 16 12Z\";\r\nexport var mdiLotionOutline = \"M15.5 6.5C15.5 5.66 17 4 17 4S18.5 5.66 18.5 6.5C18.5 7.33 17.83 8 17 8S15.5 7.33 15.5 6.5M19.5 15C20.88 15 22 13.88 22 12.5C22 10.83 19.5 8 19.5 8S17 10.83 17 12.5C17 13.88 18.12 15 19.5 15M16 12V20C16 21.1 15.1 22 14 22H6C4.9 22 4 21.1 4 20V12C4 9.03 6.16 6.57 9 6.09V4H7V2H13C14.13 2 15.15 2.39 16 3L14.56 4.44C14.1 4.17 13.57 4 13 4H11V6.09C13.84 6.57 16 9.03 16 12M14 12C14 9.79 12.21 8 10 8S6 9.79 6 12V20H14V12Z\";\r\nexport var mdiLotionPlus = \"M15.5 6.5C15.5 5.66 17 4 17 4S18.5 5.66 18.5 6.5C18.5 7.33 17.83 8 17 8S15.5 7.33 15.5 6.5M19.5 15C20.88 15 22 13.88 22 12.5C22 10.83 19.5 8 19.5 8S17 10.83 17 12.5C17 13.88 18.12 15 19.5 15M13 14H11V12H9V14H7V16H9V18H11V16H13V14M16 12V22H4V12C4 9.03 6.16 6.57 9 6.09V4H7V2H13C14.13 2 15.15 2.39 16 3L14.56 4.44C14.1 4.17 13.57 4 13 4H11V6.09C13.84 6.57 16 9.03 16 12Z\";\r\nexport var mdiLotionPlusOutline = \"M15.5 6.5C15.5 5.66 17 4 17 4S18.5 5.66 18.5 6.5C18.5 7.33 17.83 8 17 8S15.5 7.33 15.5 6.5M19.5 15C20.88 15 22 13.88 22 12.5C22 10.83 19.5 8 19.5 8S17 10.83 17 12.5C17 13.88 18.12 15 19.5 15M13 14H11V12H9V14H7V16H9V18H11V16H13V14M16 12V20C16 21.1 15.1 22 14 22H6C4.9 22 4 21.1 4 20V12C4 9.03 6.16 6.57 9 6.09V4H7V2H13C14.13 2 15.15 2.39 16 3L14.56 4.44C14.1 4.17 13.57 4 13 4H11V6.09C13.84 6.57 16 9.03 16 12M14 12C14 9.79 12.21 8 10 8S6 9.79 6 12V20H14V12Z\";\r\nexport var mdiLoupe = \"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22H20A2,2 0 0,0 22,20V12A10,10 0 0,0 12,2M13,7H11V11H7V13H11V17H13V13H17V11H13V7Z\";\r\nexport var mdiLumx = \"M12.35,1.75L20.13,9.53L13.77,15.89L12.35,14.47L17.3,9.53L10.94,3.16L12.35,1.75M15.89,9.53L14.47,10.94L10.23,6.7L5.28,11.65L3.87,10.23L10.23,3.87L15.89,9.53M10.23,8.11L11.65,9.53L6.7,14.47L13.06,20.84L11.65,22.25L3.87,14.47L10.23,8.11M8.11,14.47L9.53,13.06L13.77,17.3L18.72,12.35L20.13,13.77L13.77,20.13L8.11,14.47Z\";\r\nexport var mdiLungs = \"M15.47 3.11C15 2.85 14.37 3.05 14.11 3.54C14.04 3.68 14 3.84 14 4V6.59L13.29 5.88C13.1 5.69 13 5.44 13 5.18V1H11V5.17C11 5.44 10.9 5.69 10.71 5.88L10 6.59V4C10 3.44 9.54 3 9 3C8.83 3 8.67 3.04 8.53 3.11C4.72 5 2 9.97 2 15.77C2 17.67 2.33 19.55 3 21.32C3.19 21.85 3.76 22.13 4.29 21.94C4.34 21.92 4.39 21.9 4.44 21.87L9.5 19.07C9.81 18.9 10 18.56 10 18.19V9.41L11.3 8.12C11.69 7.73 12.32 7.73 12.71 8.12L14 9.42V18.2C14 18.56 14.21 18.9 14.5 19.08L19.58 21.88C20.07 22.14 20.68 21.96 20.94 21.46C20.96 21.42 21 21.37 21 21.32C21.67 19.55 22 17.67 22 15.77C22 9.97 19.29 5 15.47 3.11Z\";\r\nexport var mdiMagazinePistol = \"M14 1L12 3H7L9 21H8V23H18V21L16 1M9 5H12L12.24 7H9.24M9.47 9H12.47L12.71 11H9.71M9.94 13H12.94L13.18 15H10.18M10.41 17H13.41L13.65 19H10.65Z\";\r\nexport var mdiMagazineRifle = \"M7 1V3H8V13L5 19L14 23L18 13V3H19V1M10 3H16V5H11.88V13.45L9.6 18.14L8 17.5L10 13.5Z\";\r\nexport var mdiMagnet = \"M3,7V13A9,9 0 0,0 12,22A9,9 0 0,0 21,13V7H17V13A5,5 0 0,1 12,18A5,5 0 0,1 7,13V7M17,5H21V2H17M3,5H7V2H3\";\r\nexport var mdiMagnetOn = \"M3,7V13A9,9 0 0,0 12,22A9,9 0 0,0 21,13V7H17V13A5,5 0 0,1 12,18A5,5 0 0,1 7,13V7M17,5H21V2H17M3,5H7V2H3M13,1.5L9,9H11V14.5L15,7H13V1.5Z\";\r\nexport var mdiMagnify = \"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\";\r\nexport var mdiMagnifyClose = \"M9,2A7,7 0 0,1 16,9C16,10.5 15.5,12 14.61,13.19L15.41,14H16L22,20L20,22L14,16V15.41L13.19,14.61C12,15.5 10.5,16 9,16A7,7 0 0,1 2,9A7,7 0 0,1 9,2M11.12,5.46L9,7.59L6.88,5.46L5.46,6.88L7.59,9L5.46,11.12L6.88,12.54L9,10.41L11.12,12.54L12.54,11.12L10.41,9L12.54,6.88L11.12,5.46Z\";\r\nexport var mdiMagnifyMinus = \"M9,2A7,7 0 0,1 16,9C16,10.57 15.5,12 14.61,13.19L15.41,14H16L22,20L20,22L14,16V15.41L13.19,14.61C12,15.5 10.57,16 9,16A7,7 0 0,1 2,9A7,7 0 0,1 9,2M5,8V10H13V8H5Z\";\r\nexport var mdiMagnifyMinusCursor = \"M11,4A7,7 0 0,1 18,11C18,12.5 17.5,14 16.61,15.19L17.42,16H18L23,21L21,23L16,18V17.41L15.19,16.6C12.1,18.92 7.71,18.29 5.39,15.2C3.07,12.11 3.7,7.72 6.79,5.4C8,4.5 9.5,4 11,4M7,10V12H15V10H7M1,1V8L8,1H1Z\";\r\nexport var mdiMagnifyMinusOutline = \"M15.5,14H14.71L14.43,13.73C15.41,12.59 16,11.11 16,9.5A6.5,6.5 0 0,0 9.5,3A6.5,6.5 0 0,0 3,9.5A6.5,6.5 0 0,0 9.5,16C11.11,16 12.59,15.41 13.73,14.43L14,14.71V15.5L19,20.5L20.5,19L15.5,14M9.5,14C7,14 5,12 5,9.5C5,7 7,5 9.5,5C12,5 14,7 14,9.5C14,12 12,14 9.5,14M7,9H12V10H7V9Z\";\r\nexport var mdiMagnifyPlus = \"M9,2A7,7 0 0,1 16,9C16,10.57 15.5,12 14.61,13.19L15.41,14H16L22,20L20,22L14,16V15.41L13.19,14.61C12,15.5 10.57,16 9,16A7,7 0 0,1 2,9A7,7 0 0,1 9,2M8,5V8H5V10H8V13H10V10H13V8H10V5H8Z\";\r\nexport var mdiMagnifyPlusCursor = \"M11,4A7,7 0 0,1 18,11C18,12.5 17.5,14 16.61,15.19L17.42,16H18L23,21L21,23L16,18V17.41L15.19,16.6C12.1,18.92 7.71,18.29 5.39,15.2C3.07,12.11 3.7,7.72 6.79,5.4C8,4.5 9.5,4 11,4M10,7V10H7V12H10V15H12V12H15V10H12V7H10M1,1V8L8,1H1Z\";\r\nexport var mdiMagnifyPlusOutline = \"M15.5,14L20.5,19L19,20.5L14,15.5V14.71L13.73,14.43C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.43,13.73L14.71,14H15.5M9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14M12,10H10V12H9V10H7V9H9V7H10V9H12V10Z\";\r\nexport var mdiMagnifyRemoveCursor = \"M1 1V8L8 1H1M18 16H17.42L16.61 15.19C17.5 14 18 12.5 18 11C18 7.13 14.87 4 11 4C9.5 4 8 4.5 6.79 5.4C3.7 7.72 3.07 12.11 5.39 15.2C7.71 18.29 12.1 18.92 15.19 16.6L16 17.41V18L21 23L23 21L18 16M14.6 13.16L13.18 14.58L11.06 12.45L8.94 14.58L7.5 13.16L9.65 11.04L7.5 8.92L8.94 7.5L11.06 9.63L13.18 7.5L14.6 8.92L12.47 11.04L14.6 13.16Z\";\r\nexport var mdiMagnifyRemoveOutline = \"M15.5 14H14.71L14.43 13.73C15.41 12.59 16 11.11 16 9.5C16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16C11.11 16 12.59 15.41 13.73 14.43L14 14.71V15.5L19 20.5L20.5 19L15.5 14M9.5 14C7 14 5 12 5 9.5S7 5 9.5 5 14 7 14 9.5 12 14 9.5 14M10.91 11.62L9.5 10.21L8.09 11.62L7.38 10.91L8.79 9.5L7.38 8.09L8.09 7.38L9.5 8.79L10.91 7.38L11.62 8.09L10.21 9.5L11.62 10.91L10.91 11.62Z\";\r\nexport var mdiMagnifyScan = \"M17 22V20H20V17H22V20.5C22 20.89 21.84 21.24 21.54 21.54C21.24 21.84 20.89 22 20.5 22H17M7 22H3.5C3.11 22 2.76 21.84 2.46 21.54C2.16 21.24 2 20.89 2 20.5V17H4V20H7V22M17 2H20.5C20.89 2 21.24 2.16 21.54 2.46C21.84 2.76 22 3.11 22 3.5V7H20V4H17V2M7 2V4H4V7H2V3.5C2 3.11 2.16 2.76 2.46 2.46C2.76 2.16 3.11 2 3.5 2H7M10.5 6C13 6 15 8 15 10.5C15 11.38 14.75 12.2 14.31 12.9L17.57 16.16L16.16 17.57L12.9 14.31C12.2 14.75 11.38 15 10.5 15C8 15 6 13 6 10.5C6 8 8 6 10.5 6M10.5 8C9.12 8 8 9.12 8 10.5C8 11.88 9.12 13 10.5 13C11.88 13 13 11.88 13 10.5C13 9.12 11.88 8 10.5 8Z\";\r\nexport var mdiMail = \"M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4M17,17H7V15H17M17,13H7V11H17M20,9H17V6H20\";\r\nexport var mdiMailbox = \"M17,4H7A5,5 0 0,0 2,9V20H20A2,2 0 0,0 22,18V9A5,5 0 0,0 17,4M10,18H4V9A3,3 0 0,1 7,6A3,3 0 0,1 10,9V18M19,15H17V13H13V11H19V15M9,11H5V9H9V11Z\";\r\nexport var mdiMailboxOpen = \"M8,4A5,5 0 0,0 3,9V18H1V20H21A2,2 0 0,0 23,18V9A5,5 0 0,0 18,4H8M8,6A3,3 0 0,1 11,9V18H5V9A3,3 0 0,1 8,6M14,11H20V15H18V13H14V11Z\";\r\nexport var mdiMailboxOpenOutline = \"M14,11H20V15H18V13H14V11M18,4H8A5,5 0 0,0 3,9V18H1V20H21A2,2 0 0,0 23,18V9A5,5 0 0,0 18,4M11,18H5V9A3,3 0 0,1 8,6A3,3 0 0,1 11,9V18M21,18H13V9C13,7.92 12.65,6.86 12,6H18A3,3 0 0,1 21,9V18Z\";\r\nexport var mdiMailboxOpenUp = \"M8,4A5,5 0 0,0 3,9V18H1V20H21A2,2 0 0,0 23,18V9A5,5 0 0,0 18,4H8M8,6A3,3 0 0,1 11,9V18H5V9A3,3 0 0,1 8,6M13,13V7H17V9H15V13H13Z\";\r\nexport var mdiMailboxOpenUpOutline = \"M14,12.85V6.85H18V8.85H16V12.85H14M18,3.85H8A5,5 0 0,0 3,8.85V17.85H1V19.85H21A2,2 0 0,0 23,17.85V8.85A5,5 0 0,0 18,3.85M11,17.85H5V8.85A3,3 0 0,1 8,5.85A3,3 0 0,1 11,8.85V17.85M21,17.85H13V8.85C13,7.76 12.65,6.71 12,5.85H18A3,3 0 0,1 21,8.85V17.85Z\";\r\nexport var mdiMailboxOutline = \"M17,4H7A5,5 0 0,0 2,9V20H20A2,2 0 0,0 22,18V9A5,5 0 0,0 17,4M10,18H4V9A3,3 0 0,1 7,6A3,3 0 0,1 10,9V18M20,18H12V9C12,7.92 11.65,6.86 11,6H17A3,3 0 0,1 20,9V18M13,11V13H17V15H19V11H13M9,11H5V9H9V11Z\";\r\nexport var mdiMailboxUp = \"M5,9H9V11H5V9M22,9V18A2,2 0 0,1 20,20H2V9A5,5 0 0,1 7,4H17A5,5 0 0,1 22,9M10,9A3,3 0 0,0 7,6A3,3 0 0,0 4,9V18H10V9M16,7H12V13H14V9H16V7Z\";\r\nexport var mdiMailboxUpOutline = \"M17,4H7A5,5 0 0,0 2,9V20H20A2,2 0 0,0 22,18V9A5,5 0 0,0 17,4M10,18H4V9A3,3 0 0,1 7,6A3,3 0 0,1 10,9V18M20,18H12V9C12,7.92 11.65,6.86 11,6H17A3,3 0 0,1 20,9V18M13,13H15V9H17V7H13V13M9,11H5V9H9V11Z\";\r\nexport var mdiManjaro = \"M2 2V22H7.6V7.6H14.8V2H2M9.2 9.2V22H14.8V9.2H9.2M16.4 2V22H22V2H16.4Z\";\r\nexport var mdiMap = \"M15,19L9,16.89V5L15,7.11M20.5,3C20.44,3 20.39,3 20.34,3L15,5.1L9,3L3.36,4.9C3.15,4.97 3,5.15 3,5.38V20.5A0.5,0.5 0 0,0 3.5,21C3.55,21 3.61,21 3.66,20.97L9,18.9L15,21L20.64,19.1C20.85,19 21,18.85 21,18.62V3.5A0.5,0.5 0 0,0 20.5,3Z\";\r\nexport var mdiMapCheck = \"M18.25,22L15.5,19L16.66,17.82L18.25,19.41L21.84,15.82L23,17.23M20.5,3A0.5,0.5 0 0,1 21,3.5V13.36C20.36,13.13 19.69,13 19,13C17.46,13 16.06,13.6 15,14.56V7.1L9,5V16.9L13.04,18.3C13,18.54 13,18.77 13,19C13,19.46 13.06,19.92 13.16,20.36L9,18.9L3.66,20.97C3.59,21 3.55,21 3.5,21A0.5,0.5 0 0,1 3,20.5V5.38C3,5.15 3.16,4.97 3.35,4.9L9,3L15,5.1L20.33,3\";\r\nexport var mdiMapCheckOutline = \"M18.25,22L15.5,19L16.66,17.82L18.25,19.41L21.84,15.82L23,17.23L18.25,22M20.5,3A0.5,0.5 0 0,1 21,3.5V13.34C20.37,13.12 19.7,13 19,13V5.7L16,6.86V13.8C15.2,14.27 14.5,14.91 14,15.68V6.87L10,5.47V17.13L13.05,18.2L13,19C13,19.46 13.05,19.92 13.15,20.35L9,18.9L3.66,20.97L3.5,21A0.5,0.5 0 0,1 3,20.5V5.38C3,5.15 3.15,4.97 3.36,4.9L9,3L15,5.1L20.34,3.03L20.5,3M5,6.46V18.31L8,17.15V5.45L5,6.46Z\";\r\nexport var mdiMapClock = \"M15,12H16.5V16.25L19.36,17.94L18.61,19.16L15,17V12M23,16A7,7 0 0,1 16,23C13,23 10.4,21.08 9.42,18.4L8,17.9L2.66,19.97L2.5,20A0.5,0.5 0 0,1 2,19.5V4.38C2,4.15 2.15,3.97 2.36,3.9L8,2L14,4.1L19.34,2H19.5A0.5,0.5 0 0,1 20,2.5V10.25C21.81,11.5 23,13.62 23,16M9,16C9,12.83 11.11,10.15 14,9.29V6.11L8,4V15.89L9,16.24C9,16.16 9,16.08 9,16M16,11A5,5 0 0,0 11,16A5,5 0 0,0 16,21A5,5 0 0,0 21,16A5,5 0 0,0 16,11Z\";\r\nexport var mdiMapClockOutline = \"M15,12H16.5V16.25L19.36,17.94L18.61,19.16L15,17V12M16,9C16.69,9 17.37,9.1 18,9.29V4.7L15,5.86V9.07C15.33,9 15.66,9 16,9M23,16A7,7 0 0,1 16,23C13,23 10.4,21.08 9.42,18.4L8,17.9L2.66,19.97L2.5,20A0.5,0.5 0 0,1 2,19.5V4.38C2,4.15 2.15,3.97 2.36,3.9L8,2L14,4.1L19.34,2.03L19.5,2A0.5,0.5 0 0,1 20,2.5V10.25C21.81,11.5 23,13.62 23,16M9,16C9,13.21 10.63,10.8 13,9.67V5.87L9,4.47V16.13H9C9,16.09 9,16.04 9,16M16,11A5,5 0 0,0 11,16A5,5 0 0,0 16,21A5,5 0 0,0 21,16A5,5 0 0,0 16,11M4,5.46V17.31L7,16.15V4.45L4,5.46Z\";\r\nexport var mdiMapLegend = \"M9,3L3.36,4.9C3.15,4.97 3,5.15 3,5.38V20.5A0.5,0.5 0 0,0 3.5,21L3.66,20.97L9,18.9L15,21L20.64,19.1C20.85,19.03 21,18.85 21,18.62V3.5A0.5,0.5 0 0,0 20.5,3L20.34,3.03L15,5.1L9,3M8,5.45V17.15L5,18.31V6.46L8,5.45M10,5.47L14,6.87V18.53L10,17.13V5.47M19,5.7V17.54L16,18.55V6.86L19,5.7M7.46,6.3L5.57,6.97V9.12L7.46,8.45V6.3M7.46,9.05L5.57,9.72V11.87L7.46,11.2V9.05M7.46,11.8L5.57,12.47V14.62L7.46,13.95V11.8M7.46,14.55L5.57,15.22V17.37L7.46,16.7V14.55Z\";\r\nexport var mdiMapMarker = \"M12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5M12,2A7,7 0 0,0 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9A7,7 0 0,0 12,2Z\";\r\nexport var mdiMapMarkerAlert = \"M12 2C15.9 2 19 5.1 19 9C19 14.2 12 22 12 22S5 14.2 5 9C5 5.1 8.1 2 12 2M11 6V12H13V6H11M11 14V16H13V14H11Z\";\r\nexport var mdiMapMarkerAlertOutline = \"M12,2A7,7 0 0,1 19,9C19,14.25 12,22 12,22C12,22 5,14.25 5,9A7,7 0 0,1 12,2M12,4A5,5 0 0,0 7,9C7,10 7,12 12,18.71C17,12 17,10 17,9A5,5 0 0,0 12,4M11,6H13V11H11V6M11,13H13V15H11V13Z\";\r\nexport var mdiMapMarkerCheck = \"M12,2C15.86,2 19,5.14 19,9C19,14.25 12,22 12,22C12,22 5,14.25 5,9C5,5.14 8.14,2 12,2M10.47,14L17,7.41L15.6,6L10.47,11.18L8.4,9.09L7,10.5L10.47,14Z\";\r\nexport var mdiMapMarkerCheckOutline = \"M12 4C14.8 4 17 6.2 17 9C17 11.9 14.1 16.2 12 18.9C9.9 16.2 7 11.9 7 9C7 6.2 9.2 4 12 4M12 2C8.1 2 5 5.1 5 9C5 14.2 12 22 12 22S19 14.2 19 9C19 5.1 15.9 2 12 2M11.3 14L16.2 9L14.8 7.6L11.3 11.2L9.7 9.6L8.3 11L11.3 14Z\";\r\nexport var mdiMapMarkerCircle = \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,12.5A1.5,1.5 0 0,1 10.5,11A1.5,1.5 0 0,1 12,9.5A1.5,1.5 0 0,1 13.5,11A1.5,1.5 0 0,1 12,12.5M12,7.2C9.9,7.2 8.2,8.9 8.2,11C8.2,14 12,17.5 12,17.5C12,17.5 15.8,14 15.8,11C15.8,8.9 14.1,7.2 12,7.2Z\";\r\nexport var mdiMapMarkerDistance = \"M6.5,8.11C5.61,8.11 4.89,7.39 4.89,6.5A1.61,1.61 0 0,1 6.5,4.89C7.39,4.89 8.11,5.61 8.11,6.5V6.5A1.61,1.61 0 0,1 6.5,8.11M6.5,2C4,2 2,4 2,6.5C2,9.87 6.5,14.86 6.5,14.86C6.5,14.86 11,9.87 11,6.5C11,4 9,2 6.5,2M17.5,8.11A1.61,1.61 0 0,1 15.89,6.5C15.89,5.61 16.61,4.89 17.5,4.89C18.39,4.89 19.11,5.61 19.11,6.5A1.61,1.61 0 0,1 17.5,8.11M17.5,2C15,2 13,4 13,6.5C13,9.87 17.5,14.86 17.5,14.86C17.5,14.86 22,9.87 22,6.5C22,4 20,2 17.5,2M17.5,16C16.23,16 15.1,16.8 14.68,18H9.32C8.77,16.44 7.05,15.62 5.5,16.17C3.93,16.72 3.11,18.44 3.66,20C4.22,21.56 5.93,22.38 7.5,21.83C8.35,21.53 9,20.85 9.32,20H14.69C15.24,21.56 16.96,22.38 18.5,21.83C20.08,21.28 20.9,19.56 20.35,18C19.92,16.8 18.78,16 17.5,16V16M17.5,20.5A1.5,1.5 0 0,1 16,19A1.5,1.5 0 0,1 17.5,17.5A1.5,1.5 0 0,1 19,19A1.5,1.5 0 0,1 17.5,20.5Z\";\r\nexport var mdiMapMarkerDown = \"M12 2A7 7 0 0 0 5 9C5 14.25 12 22 12 22S19 14.25 19 9A7 7 0 0 0 12 2M7.5 10H10V5H14V10H16.5L12 14.5Z\";\r\nexport var mdiMapMarkerLeft = \"M15 11.5C13.62 11.5 12.5 10.38 12.5 9S13.62 6.5 15 6.5 17.5 7.62 17.5 9 16.38 11.5 15 11.5M8 9C8 14.25 15 22 15 22S22 14.25 22 9C22 5.13 18.87 2 15 2S8 5.13 8 9M6 7L1 12L6 17V7Z\";\r\nexport var mdiMapMarkerLeftOutline = \"M15 6.5C16.38 6.5 17.5 7.62 17.5 9S16.38 11.5 15 11.5 12.5 10.38 12.5 9 13.62 6.5 15 6.5M15 2C18.87 2 22 5.13 22 9C22 14.25 15 22 15 22S8 14.25 8 9C8 5.13 11.13 2 15 2M10 9C10 10 10 12 15 18.71C20 12 20 10 20 9C20 6.24 17.76 4 15 4S10 6.24 10 9M6 7L1 12L6 17V7Z\";\r\nexport var mdiMapMarkerMinus = \"M9,11.5A2.5,2.5 0 0,0 11.5,9A2.5,2.5 0 0,0 9,6.5A2.5,2.5 0 0,0 6.5,9A2.5,2.5 0 0,0 9,11.5M9,2C12.86,2 16,5.13 16,9C16,14.25 9,22 9,22C9,22 2,14.25 2,9A7,7 0 0,1 9,2M15,17H23V19H15V17Z\";\r\nexport var mdiMapMarkerMinusOutline = \"M15 17H23V19H15V17M9 6.5C10.4 6.5 11.5 7.6 11.5 9S10.4 11.5 9 11.5 6.5 10.4 6.5 9 7.6 6.5 9 6.5M9 2C12.9 2 16 5.1 16 9C16 14.2 9 22 9 22S2 14.2 2 9C2 5.1 5.1 2 9 2M9 4C6.2 4 4 6.2 4 9C4 10 4 12 9 18.7C14 12 14 10 14 9C14 6.2 11.8 4 9 4Z\";\r\nexport var mdiMapMarkerMultiple = \"M14,11.5A2.5,2.5 0 0,0 16.5,9A2.5,2.5 0 0,0 14,6.5A2.5,2.5 0 0,0 11.5,9A2.5,2.5 0 0,0 14,11.5M14,2C17.86,2 21,5.13 21,9C21,14.25 14,22 14,22C14,22 7,14.25 7,9A7,7 0 0,1 14,2M5,9C5,13.5 10.08,19.66 11,20.81L10,22C10,22 3,14.25 3,9C3,5.83 5.11,3.15 8,2.29C6.16,3.94 5,6.33 5,9Z\";\r\nexport var mdiMapMarkerMultipleOutline = \"M11.5 9C11.5 7.62 12.62 6.5 14 6.5C15.1 6.5 16.03 7.21 16.37 8.19C16.45 8.45 16.5 8.72 16.5 9C16.5 10.38 15.38 11.5 14 11.5C12.91 11.5 12 10.81 11.64 9.84C11.55 9.58 11.5 9.29 11.5 9M5 9C5 13.5 10.08 19.66 11 20.81L10 22C10 22 3 14.25 3 9C3 5.83 5.11 3.15 8 2.29C6.16 3.94 5 6.33 5 9M14 2C17.86 2 21 5.13 21 9C21 14.25 14 22 14 22C14 22 7 14.25 7 9C7 5.13 10.14 2 14 2M14 4C11.24 4 9 6.24 9 9C9 10 9 12 14 18.71C19 12 19 10 19 9C19 6.24 16.76 4 14 4Z\";\r\nexport var mdiMapMarkerOff = \"M16.37,16.1L11.75,11.47L11.64,11.36L3.27,3L2,4.27L5.18,7.45C5.06,7.95 5,8.46 5,9C5,14.25 12,22 12,22C12,22 13.67,20.15 15.37,17.65L18.73,21L20,19.72M12,6.5A2.5,2.5 0 0,1 14.5,9C14.5,9.73 14.17,10.39 13.67,10.85L17.3,14.5C18.28,12.62 19,10.68 19,9A7,7 0 0,0 12,2C10,2 8.24,2.82 6.96,4.14L10.15,7.33C10.61,6.82 11.26,6.5 12,6.5Z\";\r\nexport var mdiMapMarkerOffOutline = \"M20 19.7L3.3 3L2 4.3L5.2 7.5C5.1 8 5 8.5 5 9C5 14.2 12 22 12 22S13.7 20.1 15.4 17.6L18.8 21L20 19.7M12 18.7C7.4 12.5 7 10.4 7 9.3L13.8 16.1C13.3 16.9 12.7 17.7 12 18.7M8.4 5.6L7 4.2C8.2 2.8 10 2 12 2C15.9 2 19 5.1 19 9C19 10.7 18.3 12.6 17.3 14.5L15.8 13C17 10.6 17 9.6 17 9C17 6.2 14.8 4 12 4C10.6 4 9.3 4.6 8.4 5.6M12 6.5C13.4 6.5 14.5 7.6 14.5 9C14.5 9.7 14.2 10.4 13.7 10.9L10.2 7.4C10.6 6.8 11.3 6.5 12 6.5Z\";\r\nexport var mdiMapMarkerOutline = \"M12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5M12,2A7,7 0 0,1 19,9C19,14.25 12,22 12,22C12,22 5,14.25 5,9A7,7 0 0,1 12,2M12,4A5,5 0 0,0 7,9C7,10 7,12 12,18.71C17,12 17,10 17,9A5,5 0 0,0 12,4Z\";\r\nexport var mdiMapMarkerPath = \"M18,15A3,3 0 0,1 21,18A3,3 0 0,1 18,21C16.69,21 15.58,20.17 15.17,19H14V17H15.17C15.58,15.83 16.69,15 18,15M18,17A1,1 0 0,0 17,18A1,1 0 0,0 18,19A1,1 0 0,0 19,18A1,1 0 0,0 18,17M18,8A1.43,1.43 0 0,0 19.43,6.57C19.43,5.78 18.79,5.14 18,5.14C17.21,5.14 16.57,5.78 16.57,6.57A1.43,1.43 0 0,0 18,8M18,2.57A4,4 0 0,1 22,6.57C22,9.56 18,14 18,14C18,14 14,9.56 14,6.57A4,4 0 0,1 18,2.57M8.83,17H10V19H8.83C8.42,20.17 7.31,21 6,21A3,3 0 0,1 3,18C3,16.69 3.83,15.58 5,15.17V14H7V15.17C7.85,15.47 8.53,16.15 8.83,17M6,17A1,1 0 0,0 5,18A1,1 0 0,0 6,19A1,1 0 0,0 7,18A1,1 0 0,0 6,17M6,3A3,3 0 0,1 9,6C9,7.31 8.17,8.42 7,8.83V10H5V8.83C3.83,8.42 3,7.31 3,6A3,3 0 0,1 6,3M6,5A1,1 0 0,0 5,6A1,1 0 0,0 6,7A1,1 0 0,0 7,6A1,1 0 0,0 6,5M11,19V17H13V19H11M7,13H5V11H7V13Z\";\r\nexport var mdiMapMarkerPlus = \"M9,11.5A2.5,2.5 0 0,0 11.5,9A2.5,2.5 0 0,0 9,6.5A2.5,2.5 0 0,0 6.5,9A2.5,2.5 0 0,0 9,11.5M9,2C12.86,2 16,5.13 16,9C16,14.25 9,22 9,22C9,22 2,14.25 2,9A7,7 0 0,1 9,2M15,17H18V14H20V17H23V19H20V22H18V19H15V17Z\";\r\nexport var mdiMapMarkerPlusOutline = \"M15 17H18V14H20V17H23V19H20V22H18V19H15V17M9 6.5C10.4 6.5 11.5 7.6 11.5 9S10.4 11.5 9 11.5 6.5 10.4 6.5 9 7.6 6.5 9 6.5M9 2C12.9 2 16 5.1 16 9C16 14.2 9 22 9 22S2 14.2 2 9C2 5.1 5.1 2 9 2M9 4C6.2 4 4 6.2 4 9C4 10 4 12 9 18.7C14 12 14 10 14 9C14 6.2 11.8 4 9 4Z\";\r\nexport var mdiMapMarkerQuestion = \"M12,2C8.14,2 5,5.14 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9C19,5.14 15.86,2 12,2M12.88,15.75H11.13V14H12.88M12.88,12.88H11.13C11.13,10.04 13.75,10.26 13.75,8.5A1.75,1.75 0 0,0 12,6.75A1.75,1.75 0 0,0 10.25,8.5H8.5A3.5,3.5 0 0,1 12,5A3.5,3.5 0 0,1 15.5,8.5C15.5,10.69 12.88,10.91 12.88,12.88Z\";\r\nexport var mdiMapMarkerQuestionOutline = \"M12,1C7.59,1 4,4.59 4,9C4,14.57 10.96,22.34 11.26,22.67L12,23.5L12.74,22.67C13.04,22.34 20,14.57 20,9C20,4.59 16.41,1 12,1M12,20.47C9.82,17.86 6,12.54 6,9A6,6 0 0,1 12,3A6,6 0 0,1 18,9C18,12.83 13.75,18.36 12,20.47M11.13,14H12.88V15.75H11.13M12,5A3.5,3.5 0 0,0 8.5,8.5H10.25A1.75,1.75 0 0,1 12,6.75A1.75,1.75 0 0,1 13.75,8.5C13.75,10.26 11.13,10.04 11.13,12.88H12.88C12.88,10.91 15.5,10.69 15.5,8.5A3.5,3.5 0 0,0 12,5Z\";\r\nexport var mdiMapMarkerRadius = \"M12,2C15.31,2 18,4.66 18,7.95C18,12.41 12,19 12,19C12,19 6,12.41 6,7.95C6,4.66 8.69,2 12,2M12,6A2,2 0 0,0 10,8A2,2 0 0,0 12,10A2,2 0 0,0 14,8A2,2 0 0,0 12,6M20,19C20,21.21 16.42,23 12,23C7.58,23 4,21.21 4,19C4,17.71 5.22,16.56 7.11,15.83L7.75,16.74C6.67,17.19 6,17.81 6,18.5C6,19.88 8.69,21 12,21C15.31,21 18,19.88 18,18.5C18,17.81 17.33,17.19 16.25,16.74L16.89,15.83C18.78,16.56 20,17.71 20,19Z\";\r\nexport var mdiMapMarkerRadiusOutline = \"M12 4C14.2 4 16 5.8 16 8C16 10.1 13.9 13.5 12 15.9C10.1 13.4 8 10.1 8 8C8 5.8 9.8 4 12 4M12 2C8.7 2 6 4.7 6 8C6 12.5 12 19 12 19S18 12.4 18 8C18 4.7 15.3 2 12 2M12 6C10.9 6 10 6.9 10 8S10.9 10 12 10 14 9.1 14 8 13.1 6 12 6M20 19C20 21.2 16.4 23 12 23S4 21.2 4 19C4 17.7 5.2 16.6 7.1 15.8L7.7 16.7C6.7 17.2 6 17.8 6 18.5C6 19.9 8.7 21 12 21S18 19.9 18 18.5C18 17.8 17.3 17.2 16.2 16.7L16.8 15.8C18.8 16.6 20 17.7 20 19Z\";\r\nexport var mdiMapMarkerRemove = \"M9,2C5.14,2 2,5.14 2,9C2,14.25 9,22 9,22C9,22 16,14.25 16,9A7,7 0 0,0 9,2M9,6.5A2.5,2.5 0 0,1 11.5,9A2.5,2.5 0 0,1 9,11.5A2.5,2.5 0 0,1 6.5,9A2.5,2.5 0 0,1 9,6.5M16.58,14.16L15.17,15.58L17.58,18L15.17,20.41L16.58,21.82L19,19.41L21.41,21.82L22.83,20.41L20.41,18L22.83,15.58L21.41,14.16L19,16.58\";\r\nexport var mdiMapMarkerRemoveOutline = \"M16.6 14.2L15.2 15.6L17.6 18L15.2 20.4L16.6 21.8L19 19.4L21.4 21.8L22.8 20.4L20.4 18L22.8 15.6L21.4 14.2L19 16.6M9 6.5C10.4 6.5 11.5 7.6 11.5 9S10.4 11.5 9 11.5 6.5 10.4 6.5 9 7.6 6.5 9 6.5M9 2C12.9 2 16 5.1 16 9C16 14.2 9 22 9 22S2 14.2 2 9C2 5.1 5.1 2 9 2M9 4C6.2 4 4 6.2 4 9C4 10 4 12 9 18.7C14 12 14 10 14 9C14 6.2 11.8 4 9 4Z\";\r\nexport var mdiMapMarkerRemoveVariant = \"M12,2C8.14,2 5,5.14 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9C19,5.14 15.86,2 12,2M9.59,5.17L12,7.58L14.41,5.17L15.83,6.58L13.41,9L15.83,11.41L14.41,12.83L12,10.41L9.59,12.83L8.17,11.41L10.59,9L8.17,6.58\";\r\nexport var mdiMapMarkerRight = \"M9 11.5C7.62 11.5 6.5 10.38 6.5 9S7.62 6.5 9 6.5 11.5 7.62 11.5 9 10.38 11.5 9 11.5M9 2C5.13 2 2 5.13 2 9C2 14.25 9 22 9 22S16 14.25 16 9C16 5.13 12.87 2 9 2M18 17L23 12L18 7V17Z\";\r\nexport var mdiMapMarkerRightOutline = \"M9 6.5C10.38 6.5 11.5 7.62 11.5 9S10.38 11.5 9 11.5 6.5 10.38 6.5 9 7.62 6.5 9 6.5M9 2C12.87 2 16 5.13 16 9C16 14.25 9 22 9 22S2 14.25 2 9C2 5.13 5.13 2 9 2M9 4C6.24 4 4 6.24 4 9C4 10 4 12 9 18.71C14 12 14 10 14 9C14 6.24 11.76 4 9 4M18 17L23 12L18 7V17Z\";\r\nexport var mdiMapMarkerStar = \"M12 2C8.1 2 5 5.1 5 9C5 14.2 12 22 12 22S19 14.2 19 9C19 5.1 15.9 2 12 2M14.5 13L12 11.5L9.5 13L10.2 10.2L8 8.3L10.9 8.1L12 5.4L13.1 8L16 8.3L13.8 10.2L14.5 13Z\";\r\nexport var mdiMapMarkerStarOutline = \"M12 2C15.9 2 19 5.1 19 9C19 14.2 12 22 12 22S5 14.2 5 9C5 5.1 8.1 2 12 2M12 4C9.2 4 7 6.2 7 9C7 10 7 12 12 18.7C17 12 17 10 17 9C17 6.2 14.8 4 12 4M12 11.5L14.4 13L13.8 10.2L16 8.3L13.1 8.1L12 5.4L10.9 8L8 8.3L10.2 10.2L9.5 13L12 11.5Z\";\r\nexport var mdiMapMarkerUp = \"M12 2A7 7 0 0 0 5 9C5 14.25 12 22 12 22S19 14.25 19 9A7 7 0 0 0 12 2M16.5 9H14V14H10V9H7.5L12 4.5Z\";\r\nexport var mdiMapMinus = \"M15 18V20H23V18H15M13.16 20.36L9 18.9L3.66 20.97C3.6 21 3.55 21 3.5 21C3.22 21 3 20.78 3 20.5V5.38C3 5.15 3.16 4.97 3.36 4.9L9 3L15 5.1L20.34 3H20.5C20.78 3 21 3.22 21 3.5V13.35C20.37 13.13 19.7 13 19 13C17.46 13 16.06 13.58 15 14.54V7.1L9 5V16.9L13.04 18.32C13 18.54 13 18.77 13 19C13 19.47 13.06 19.92 13.16 20.36Z\";\r\nexport var mdiMapOutline = \"M20.5,3L20.34,3.03L15,5.1L9,3L3.36,4.9C3.15,4.97 3,5.15 3,5.38V20.5A0.5,0.5 0 0,0 3.5,21L3.66,20.97L9,18.9L15,21L20.64,19.1C20.85,19.03 21,18.85 21,18.62V3.5A0.5,0.5 0 0,0 20.5,3M10,5.47L14,6.87V18.53L10,17.13V5.47M5,6.46L8,5.45V17.15L5,18.31V6.46M19,17.54L16,18.55V6.86L19,5.7V17.54Z\";\r\nexport var mdiMapPlus = \"M9,3L3.36,4.9C3.16,4.97 3,5.15 3,5.38V20.5A0.5,0.5 0 0,0 3.5,21C3.55,21 3.6,21 3.66,20.97L9,18.9L13.16,20.36C13.06,19.92 13,19.46 13,19C13,18.77 13,18.54 13.04,18.3L9,16.9V5L15,7.1V14.56C16.07,13.6 17.47,13 19,13C19.7,13 20.37,13.13 21,13.36V3.5A0.5,0.5 0 0,0 20.5,3H20.34L15,5.1L9,3M18,15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiMapSearch = \"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M14,6.11L8,4V15.89L9,16.24V16.5C9,17.14 9.09,17.76 9.26,18.34L8,17.9L2.66,19.97L2.5,20A0.5,0.5 0 0,1 2,19.5V4.38C2,4.15 2.15,3.97 2.36,3.9L8,2L14,4.1L19.34,2H19.5A0.5,0.5 0 0,1 20,2.5V11.81C18.83,10.69 17.25,10 15.5,10C15,10 14.5,10.06 14,10.17V6.11Z\";\r\nexport var mdiMapSearchOutline = \"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.2 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M19.5,2A0.5,0.5 0 0,1 20,2.5V11.81C19.42,11.26 18.75,10.81 18,10.5V4.7L15,5.86V10C14.3,10.07 13.62,10.24 13,10.5V5.87L9,4.47V16.13H9V16.5C9,17.14 9.09,17.76 9.26,18.34L8,17.9L2.66,19.97L2.5,20A0.5,0.5 0 0,1 2,19.5V4.38C2,4.15 2.15,3.97 2.36,3.9L8,2L14,4.1L19.34,2.03L19.5,2M4,5.46V17.31L7,16.15V4.45L4,5.46Z\";\r\nexport var mdiMapbox = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M16.75,14.45C18.65,12.55 18.58,9.39 16.59,7.41C14.6,5.43 11.45,5.35 9.55,7.25C6.12,10.68 7.22,16.78 7.22,16.78C7.22,16.78 13.33,17.87 16.75,14.45M13.15,7.86L14.13,9.87L16.14,10.85L14.13,11.83L13.15,13.84L12.17,11.83L10.16,10.85L12.17,9.87L13.15,7.86Z\";\r\nexport var mdiMargin = \"M20,4V9L18.5,7.5L5.5,20.5L3.5,18.5L16.5,5.5L15,4H20M17,20A3,3 0 0,1 14,17V15A3,3 0 0,1 17,12A3,3 0 0,1 20,15V17A3,3 0 0,1 17,20M17,14A1,1 0 0,0 16,15V17A1,1 0 0,0 17,18A1,1 0 0,0 18,17V15A1,1 0 0,0 17,14M7,12A3,3 0 0,1 4,9V7A3,3 0 0,1 7,4A3,3 0 0,1 10,7V9A3,3 0 0,1 7,12M7,6A1,1 0 0,0 6,7V9A1,1 0 0,0 7,10A1,1 0 0,0 8,9V7A1,1 0 0,0 7,6Z\";\r\nexport var mdiMarker = \"M18.5,1.15C17.97,1.15 17.46,1.34 17.07,1.73L11.26,7.55L16.91,13.2L22.73,7.39C23.5,6.61 23.5,5.35 22.73,4.56L19.89,1.73C19.5,1.34 19,1.15 18.5,1.15M10.3,8.5L4.34,14.46C3.56,15.24 3.56,16.5 4.36,17.31C3.14,18.54 1.9,19.77 0.67,21H6.33L7.19,20.14C7.97,20.9 9.22,20.89 10,20.12L15.95,14.16\";\r\nexport var mdiMarkerCancel = \"M17.5,13C20,13 22,15 22,17.5C22,20 20,22 17.5,22C15,22 13,20 13,17.5C13,15 15,13 17.5,13M17.5,14.5C16.94,14.5 16.42,14.65 16,14.92L20.08,19C20.35,18.58 20.5,18.06 20.5,17.5A3,3 0 0,0 17.5,14.5M14.5,17.5A3,3 0 0,0 17.5,20.5C18.06,20.5 18.58,20.35 19,20.08L14.92,16C14.65,16.42 14.5,16.94 14.5,17.5M18.5,1.15C19,1.15 19.5,1.34 19.89,1.73L22.73,4.56C23.5,5.35 23.5,6.61 22.73,7.39L18.95,11.16C18.5,11.06 18,11 17.5,11C16.67,11 15.88,11.16 15.15,11.44L11.26,7.55L17.07,1.73C17.46,1.34 17.97,1.15 18.5,1.15M10.3,8.5L13.89,12.1C12.15,13.26 11,15.25 11,17.5C11,18 11.06,18.5 11.16,18.95L10,20.12C9.22,20.89 7.97,20.9 7.19,20.14L6.33,21H0.67L4.36,17.31C3.56,16.5 3.56,15.24 4.34,14.46L10.3,8.5Z\";\r\nexport var mdiMarkerCheck = \"M10,16L5,11L6.41,9.58L10,13.17L17.59,5.58L19,7M19,1H5C3.89,1 3,1.89 3,3V15.93C3,16.62 3.35,17.23 3.88,17.59L12,23L20.11,17.59C20.64,17.23 21,16.62 21,15.93V3C21,1.89 20.1,1 19,1Z\";\r\nexport var mdiMastodon = \"M20.94,14C20.66,15.41 18.5,16.96 15.97,17.26C14.66,17.41 13.37,17.56 12,17.5C9.75,17.39 8,16.96 8,16.96V17.58C8.32,19.8 10.22,19.93 12.03,20C13.85,20.05 15.47,19.54 15.47,19.54L15.55,21.19C15.55,21.19 14.27,21.87 12,22C10.75,22.07 9.19,21.97 7.38,21.5C3.46,20.45 2.78,16.26 2.68,12L2.67,8.57C2.67,4.23 5.5,2.96 5.5,2.96C6.95,2.3 9.41,2 11.97,2H12.03C14.59,2 17.05,2.3 18.5,2.96C18.5,2.96 21.33,4.23 21.33,8.57C21.33,8.57 21.37,11.78 20.94,14M18,8.91C18,7.83 17.7,7 17.15,6.35C16.59,5.72 15.85,5.39 14.92,5.39C13.86,5.39 13.05,5.8 12.5,6.62L12,7.5L11.5,6.62C10.94,5.8 10.14,5.39 9.07,5.39C8.15,5.39 7.41,5.72 6.84,6.35C6.29,7 6,7.83 6,8.91V14.17H8.1V9.06C8.1,8 8.55,7.44 9.46,7.44C10.46,7.44 10.96,8.09 10.96,9.37V12.16H13.03V9.37C13.03,8.09 13.53,7.44 14.54,7.44C15.44,7.44 15.89,8 15.89,9.06V14.17H18V8.91Z\";\r\nexport var mdiMaterialDesign = \"M21,12C21,9.97 20.33,8.09 19,6.38V17.63C20.33,15.97 21,14.09 21,12M17.63,19H6.38C7.06,19.55 7.95,20 9.05,20.41C10.14,20.8 11.13,21 12,21C12.88,21 13.86,20.8 14.95,20.41C16.05,20 16.94,19.55 17.63,19M11,17L7,9V17H11M17,9L13,17H17V9M12,14.53L15.75,7H8.25L12,14.53M17.63,5C15.97,3.67 14.09,3 12,3C9.91,3 8.03,3.67 6.38,5H17.63M5,17.63V6.38C3.67,8.09 3,9.97 3,12C3,14.09 3.67,15.97 5,17.63M23,12C23,15.03 21.94,17.63 19.78,19.78C17.63,21.94 15.03,23 12,23C8.97,23 6.38,21.94 4.22,19.78C2.06,17.63 1,15.03 1,12C1,8.97 2.06,6.38 4.22,4.22C6.38,2.06 8.97,1 12,1C15.03,1 17.63,2.06 19.78,4.22C21.94,6.38 23,8.97 23,12Z\";\r\nexport var mdiMaterialUi = \"M8,16.61V15.37L14,11.91V7.23L9,10.12L4,7.23V13L3,13.58L2,13V5L3.07,4.38L9,7.81L12.93,5.54L14.93,4.38L16,5V13.06L10.92,16L14.97,18.33L20,15.43V11L21,10.42L22,11V16.58L14.97,20.64L8,16.61M22,9.75L21,10.33L20,9.75V8.58L21,8L22,8.58V9.75Z\";\r\nexport var mdiMathCompass = \"M20,19.88V22L18.2,20.83L13.41,11.83C14.07,11.62 14.67,11.28 15.19,10.83L20,19.88M15,7A3,3 0 0,1 12,10C11.85,10 11.71,10 11.56,10L5.8,20.83L4,22V19.88L9.79,9C8.69,7.77 8.79,5.87 10.03,4.76C10.57,4.28 11.27,4 12,4V2A1,1 0 0,1 13,3V4.18C14.2,4.6 15,5.73 15,7M13,7A1,1 0 0,0 12,6A1,1 0 0,0 11,7A1,1 0 0,0 12,8A1,1 0 0,0 13,7Z\";\r\nexport var mdiMathCos = \"M4,7A2,2 0 0,0 2,9V15A2,2 0 0,0 4,17H6A2,2 0 0,0 8,15V14H6V15H4V9H6V10H8V9A2,2 0 0,0 6,7H4M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9M18,7A2,2 0 0,0 16,9V11A2,2 0 0,0 18,13H20V15H16V17H20A2,2 0 0,0 22,15V13A2,2 0 0,0 20,11H18V9H22V7H18Z\";\r\nexport var mdiMathIntegral = \"M11.5 19.1C11.3 20.2 10.9 21 10.2 21.5C9.5 22 8.6 22.1 7.5 21.9C7.1 21.8 6.3 21.7 6 21.5L6.5 20C6.8 20.1 7.4 20.3 7.7 20.3C8.8 20.5 9.4 20 9.6 18.8L12 5.2C12.2 4 12.7 3.2 13.4 2.6C14.1 2.1 15.1 1.9 16.2 2.1C16.6 2.2 17.4 2.3 18 2.6L17.5 4C17.3 3.9 16.6 3.8 16.3 3.7C15 3.5 14.3 4.1 14 5.6L11.5 19.1Z\";\r\nexport var mdiMathIntegralBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M15.9 6.9C15.9 6.9 15.2 6.6 14.9 6.6C14.3 6.5 13.9 6.7 13.7 7.7L12 16.8C11.8 17.6 11.5 18.2 11 18.6C10.6 18.9 10.2 19 9.7 19C8.9 19 7.7 18.5 7.7 18.5L8.2 17.1C8.2 17.1 9 17.4 9.2 17.4C9.5 17.5 9.7 17.4 9.9 17.3C10.1 17.2 10.2 16.9 10.3 16.6L11.9 7.4C12 6.6 12.4 6 12.9 5.5C13.5 5.1 14.2 5 15 5.1C15.7 5.2 16.5 5.6 16.5 5.6L15.9 6.9Z\";\r\nexport var mdiMathLog = \"M18 7C16.9 7 16 7.9 16 9V15C16 16.1 16.9 17 18 17H20C21.1 17 22 16.1 22 15V11H20V15H18V9H22V7H18M2 7V17H8V15H4V7H2M11 7C9.9 7 9 7.9 9 9V15C9 16.1 9.9 17 11 17H13C14.1 17 15 16.1 15 15V9C15 7.9 14.1 7 13 7H11M11 9H13V15H11V9Z\";\r\nexport var mdiMathNorm = \"M14 21V3H16V21H14M8 21V3H10V21H8Z\";\r\nexport var mdiMathNormBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M10 18H8V6H10V18M16 18H14V6H16V18Z\";\r\nexport var mdiMathSin = \"M4,7A2,2 0 0,0 2,9V11A2,2 0 0,0 4,13H6V15H2V17H6A2,2 0 0,0 8,15V13A2,2 0 0,0 6,11H4V9H8V7H4M14,7V9H13V15H14V17H10V15H11V9H10V7H14M16,7V17H18V12L20,17H22V7H20V12L18,7H16Z\";\r\nexport var mdiMathTan = \"M2,7V9H4V17H6V9H8V7H2M11,7A2,2 0 0,0 9,9V17H11V13H13V17H15V9A2,2 0 0,0 13,7H11M11,9H13V11H11V9M16,7V17H18V12L20,17H22V7H20V12L18,7H16Z\";\r\nexport var mdiMatrix = \"M2,2H6V4H4V20H6V22H2V2M20,4H18V2H22V22H18V20H20V4M9,5H10V10H11V11H8V10H9V6L8,6.5V5.5L9,5M15,13H16V18H17V19H14V18H15V14L14,14.5V13.5L15,13M9,13C10.1,13 11,14.34 11,16C11,17.66 10.1,19 9,19C7.9,19 7,17.66 7,16C7,14.34 7.9,13 9,13M9,14C8.45,14 8,14.9 8,16C8,17.1 8.45,18 9,18C9.55,18 10,17.1 10,16C10,14.9 9.55,14 9,14M15,5C16.1,5 17,6.34 17,8C17,9.66 16.1,11 15,11C13.9,11 13,9.66 13,8C13,6.34 13.9,5 15,5M15,6C14.45,6 14,6.9 14,8C14,9.1 14.45,10 15,10C15.55,10 16,9.1 16,8C16,6.9 15.55,6 15,6Z\";\r\nexport var mdiMedal = \"M20,2H4V4L9.81,8.36C6.14,9.57 4.14,13.53 5.35,17.2C6.56,20.87 10.5,22.87 14.19,21.66C17.86,20.45 19.86,16.5 18.65,12.82C17.95,10.71 16.3,9.05 14.19,8.36L20,4V2M14.94,19.5L12,17.78L9.06,19.5L9.84,16.17L7.25,13.93L10.66,13.64L12,10.5L13.34,13.64L16.75,13.93L14.16,16.17L14.94,19.5Z\";\r\nexport var mdiMedalOutline = \"M14.94 19.5L12 17.77L9.06 19.5L9.84 16.16L7.25 13.92L10.66 13.63L12 10.5L13.34 13.63L16.75 13.92L14.16 16.16M20 2H4V4L8.86 7.64A8 8 0 1 0 15.14 7.64L20 4M18 15A6 6 0 1 1 10.82 9.12A5.86 5.86 0 0 1 13.18 9.12A6 6 0 0 1 18 15M12.63 7H11.37L7.37 4H16.71Z\";\r\nexport var mdiMedicalBag = \"M10,3L8,5V7H5C3.85,7 3.12,8 3,9L2,19C1.88,20 2.54,21 4,21H20C21.46,21 22.12,20 22,19L21,9C20.88,8 20.06,7 19,7H16V5L14,3H10M10,5H14V7H10V5M11,10H13V13H16V15H13V18H11V15H8V13H11V10Z\";\r\nexport var mdiMeditation = \"M12 4C13.11 4 14 4.89 14 6S13.11 8 12 8 10 7.11 10 6 10.9 4 12 4M21 16V14C18.76 14 16.84 13.04 15.4 11.32L14.06 9.72C13.68 9.26 13.12 9 12.53 9H11.5C10.89 9 10.33 9.26 9.95 9.72L8.61 11.32C7.16 13.04 5.24 14 3 14V16C5.77 16 8.19 14.83 10 12.75V15L6.12 16.55C5.45 16.82 5 17.5 5 18.21C5 19.2 5.8 20 6.79 20H9V19.5C9 18.12 10.12 17 11.5 17H14.5C14.78 17 15 17.22 15 17.5S14.78 18 14.5 18H11.5C10.67 18 10 18.67 10 19.5V20H17.21C18.2 20 19 19.2 19 18.21C19 17.5 18.55 16.82 17.88 16.55L14 15V12.75C15.81 14.83 18.23 16 21 16Z\";\r\nexport var mdiMemory = \"M17,17H7V7H17M21,11V9H19V7C19,5.89 18.1,5 17,5H15V3H13V5H11V3H9V5H7C5.89,5 5,5.89 5,7V9H3V11H5V13H3V15H5V17A2,2 0 0,0 7,19H9V21H11V19H13V21H15V19H17A2,2 0 0,0 19,17V15H21V13H19V11M13,13H11V11H13M15,9H9V15H15V9Z\";\r\nexport var mdiMenorah = \"M21 11V6L19 5V11H17V6L15 5V11H13V3L11 2V11H9V6L7 5V11H5V6L3 5V11C2.45 11 2 11.45 2 12S2.45 13 3 13H4.25C4.95 14.92 6.94 17.58 11 17.95V20H10C8.9 20 8 20.9 8 22H16C16 20.9 15.11 20 14 20H13V17.95C17.06 17.57 19.05 14.92 19.75 13H21C21.55 13 22 12.55 22 12S21.55 11 21 11M11 15.94C8.34 15.63 7.05 14.11 6.45 13H11V15.94M13 15.94V13H17.55C16.95 14.11 15.66 15.63 13 15.94Z\";\r\nexport var mdiMenorahFire = \"M21.5 11.15V10C21.5 9.45 21.05 9 20.5 9H19.5C18.95 9 18.5 9.45 18.5 10V11H17.5V10C17.5 9.45 17.05 9 16.5 9H15.5C14.95 9 14.5 9.45 14.5 10V11H13.5V8C13.5 7.45 13.05 7 12.5 7H11.5C10.95 7 10.5 7.45 10.5 8V11H9.5V10C9.5 9.45 9.05 9 8.5 9H7.5C6.95 9 6.5 9.45 6.5 10V11H5.5V10C5.5 9.45 5.05 9 4.5 9H3.5C2.95 9 2.5 9.45 2.5 10V11.15C2.21 11.33 2 11.63 2 12C2 12.55 2.45 13 3 13H4.25C4.95 14.92 6.94 17.58 11 17.95V20H10C8.9 20 8 20.9 8 22H16C16 20.9 15.11 20 14 20H13V17.95C17.06 17.57 19.05 14.92 19.75 13H21C21.55 13 22 12.55 22 12C22 11.63 21.79 11.33 21.5 11.15M6.45 13H11V15.94C8.34 15.63 7.05 14.11 6.45 13M13 15.94V13H17.55C16.95 14.11 15.66 15.63 13 15.94M12 6C12.83 6 13.5 5.33 13.5 4.5C13.5 3.67 12.83 2 12 2S10.5 3.67 10.5 4.5C10.5 5.33 11.17 6 12 6M12 4.25C12.28 4.25 12.5 4.47 12.5 4.75S12.28 5.25 12 5.25 11.5 5.03 11.5 4.75 11.72 4.25 12 4.25M16 8C16.83 8 17.5 7.33 17.5 6.5C17.5 5.67 16.83 4 16 4S14.5 5.67 14.5 6.5C14.5 7.33 15.17 8 16 8M16 6.25C16.28 6.25 16.5 6.47 16.5 6.75S16.28 7.25 16 7.25 15.5 7.03 15.5 6.75 15.72 6.25 16 6.25M20 8C20.83 8 21.5 7.33 21.5 6.5C21.5 5.67 20.83 4 20 4S18.5 5.67 18.5 6.5C18.5 7.33 19.17 8 20 8M20 6.25C20.28 6.25 20.5 6.47 20.5 6.75S20.28 7.25 20 7.25 19.5 7.03 19.5 6.75 19.72 6.25 20 6.25M4 8C4.83 8 5.5 7.33 5.5 6.5C5.5 5.67 4.83 4 4 4S2.5 5.67 2.5 6.5C2.5 7.33 3.17 8 4 8M4 6.25C4.28 6.25 4.5 6.47 4.5 6.75S4.28 7.25 4 7.25 3.5 7.03 3.5 6.75 3.72 6.25 4 6.25M8 8C8.83 8 9.5 7.33 9.5 6.5C9.5 5.67 8.83 4 8 4S6.5 5.67 6.5 6.5C6.5 7.33 7.17 8 8 8M8 6.25C8.28 6.25 8.5 6.47 8.5 6.75S8.28 7.25 8 7.25 7.5 7.03 7.5 6.75 7.72 6.25 8 6.25Z\";\r\nexport var mdiMenu = \"M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z\";\r\nexport var mdiMenuDown = \"M7,10L12,15L17,10H7Z\";\r\nexport var mdiMenuDownOutline = \"M18,9V10.5L12,16.5L6,10.5V9H18M12,13.67L14.67,11H9.33L12,13.67Z\";\r\nexport var mdiMenuLeft = \"M14,7L9,12L14,17V7Z\";\r\nexport var mdiMenuLeftOutline = \"M15,18H13.5L7.5,12L13.5,6H15V18M10.33,12L13,14.67V9.33L10.33,12Z\";\r\nexport var mdiMenuOpen = \"M21,15.61L19.59,17L14.58,12L19.59,7L21,8.39L17.44,12L21,15.61M3,6H16V8H3V6M3,13V11H13V13H3M3,18V16H16V18H3Z\";\r\nexport var mdiMenuRight = \"M10,17L15,12L10,7V17Z\";\r\nexport var mdiMenuRightOutline = \"M9,6H10.5L16.5,12L10.5,18H9V6M13.67,12L11,9.33V14.67L13.67,12Z\";\r\nexport var mdiMenuSwap = \"M12,6L7,11H17L12,6M7,13L12,18L17,13H7Z\";\r\nexport var mdiMenuSwapOutline = \"M12,3.5L6,9.5V11H18V9.5L12,3.5M12,6.33L14.67,9H9.33L12,6.33M6,13V14.5L12,20.5L18,14.5V13H6M9.33,15H14.67L12,17.67L9.33,15Z\";\r\nexport var mdiMenuUp = \"M7,15L12,10L17,15H7Z\";\r\nexport var mdiMenuUpOutline = \"M18,16V14.5L12,8.5L6,14.5V16H18M12,11.33L14.67,14H9.33L12,11.33Z\";\r\nexport var mdiMerge = \"M8 17L12 13H15.2C15.6 14.2 16.7 15 18 15C19.7 15 21 13.7 21 12S19.7 9 18 9C16.7 9 15.6 9.8 15.2 11H12L8 7V3H3V8H6L10.2 12L6 16H3V21H8V17Z\";\r\nexport var mdiMessage = \"M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4C22,2.89 21.1,2 20,2Z\";\r\nexport var mdiMessageAlert = \"M13 11H11V5H13M13 15H11V13H13M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2Z\";\r\nexport var mdiMessageAlertOutline = \"M13,10H11V6H13V10M13,12H11V14H13V12M22,4V16A2,2 0 0,1 20,18H6L2,22V4A2,2 0 0,1 4,2H20A2,2 0 0,1 22,4M20,4H4V17.2L5.2,16H20V4Z\";\r\nexport var mdiMessageArrowLeft = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M16 11H11.5L13.3 12.8L12 14L8 10L12 6L13.2 7.2L11.5 9H16V11Z\";\r\nexport var mdiMessageArrowLeftOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M16 11V9H11.5L13.3 7.2L12 6L8 10L12 14L13.2 12.8L11.5 11H16Z\";\r\nexport var mdiMessageArrowRight = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M12 14L10.8 12.8L12.6 11H8V9H12.5L10.7 7.2L12 6L16 10L12 14Z\";\r\nexport var mdiMessageArrowRightOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M8 9V11H12.5L10.7 12.8L12 14L16 10L12 6L10.8 7.2L12.5 9H8Z\";\r\nexport var mdiMessageBookmark = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M19 13L16.5 11.5L14 13V5H19V13Z\";\r\nexport var mdiMessageBookmarkOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M18 14V6H13V14L15.5 12.5L18 14\";\r\nexport var mdiMessageBulleted = \"M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M8,14H6V12H8V14M8,11H6V9H8V11M8,8H6V6H8V8M15,14H10V12H15V14M18,11H10V9H18V11M18,8H10V6H18V8Z\";\r\nexport var mdiMessageBulletedOff = \"M1.27,1.73L0,3L2,5V22L6,18H15L20.73,23.73L22,22.46L1.27,1.73M8,14H6V12H8V14M6,11V9L8,11H6M20,2H4.08L10,7.92V6H18V8H10.08L11.08,9H18V11H13.08L20.07,18C21.14,17.95 22,17.08 22,16V4A2,2 0 0,0 20,2Z\";\r\nexport var mdiMessageCog = \"M13.5,10A1.5,1.5 0 0,1 12,11.5C11.16,11.5 10.5,10.83 10.5,10A1.5,1.5 0 0,1 12,8.5A1.5,1.5 0 0,1 13.5,10M22,4V16A2,2 0 0,1 20,18H6L2,22V4A2,2 0 0,1 4,2H20A2,2 0 0,1 22,4M16.77,11.32L15.7,10.5C15.71,10.33 15.71,10.16 15.7,10C15.72,9.84 15.72,9.67 15.7,9.5L16.76,8.68C16.85,8.6 16.88,8.47 16.82,8.36L15.82,6.63C15.76,6.5 15.63,6.47 15.5,6.5L14.27,7C14,6.8 13.73,6.63 13.42,6.5L13.23,5.19C13.21,5.08 13.11,5 13,5H11C10.88,5 10.77,5.09 10.75,5.21L10.56,6.53C10.26,6.65 9.97,6.81 9.7,7L8.46,6.5C8.34,6.46 8.21,6.5 8.15,6.61L7.15,8.34C7.09,8.45 7.11,8.58 7.21,8.66L8.27,9.5C8.23,9.82 8.23,10.16 8.27,10.5L7.21,11.32C7.12,11.4 7.09,11.53 7.15,11.64L8.15,13.37C8.21,13.5 8.34,13.53 8.46,13.5L9.7,13C9.96,13.2 10.24,13.37 10.55,13.5L10.74,14.81C10.77,14.93 10.88,15 11,15H13C13.12,15 13.23,14.91 13.25,14.79L13.44,13.47C13.74,13.34 14,13.18 14.28,13L15.53,13.5C15.65,13.5 15.78,13.5 15.84,13.37L16.84,11.64C16.9,11.53 16.87,11.4 16.77,11.32Z\";\r\nexport var mdiMessageCogOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M16.8 11.3L15.7 10.5V10 9.5L16.8 8.7C16.9 8.6 16.9 8.5 16.9 8.4L15.9 6.7C15.8 6.6 15.7 6.5 15.6 6.6L14.3 7C14 6.8 13.8 6.6 13.4 6.5L13.2 5.2C13.2 5.1 13.1 5 13 5H11C10.9 5 10.8 5.1 10.8 5.2L10.6 6.5C10.3 6.7 10 6.8 9.7 7L8.5 6.5C8.4 6.5 8.3 6.5 8.2 6.6L7.2 8.3C7.1 8.4 7.2 8.5 7.3 8.6L8.4 9.4V10.4L7.3 11.2C7.2 11.3 7.2 11.4 7.2 11.5L8.2 13.2C8.3 13.3 8.4 13.4 8.5 13.3L9.7 13C10 13.2 10.2 13.4 10.5 13.5L10.7 14.8C10.7 14.9 10.8 15 11 15H13C13.1 15 13.2 14.9 13.2 14.8L13.4 13.5C13.7 13.4 14 13.2 14.2 13L15.4 13.5C15.5 13.5 15.6 13.5 15.7 13.4L16.7 11.7C16.9 11.5 16.9 11.4 16.8 11.3M12 11.5C11.2 11.5 10.5 10.8 10.5 10S11.2 8.5 12 8.5 13.5 9.2 13.5 10 12.8 11.5 12 11.5Z\";\r\nexport var mdiMessageDraw = \"M18,14H10.5L12.5,12H18M6,14V11.5L12.88,4.64C13.07,4.45 13.39,4.45 13.59,4.64L15.35,6.41C15.55,6.61 15.55,6.92 15.35,7.12L8.47,14M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4C22,2.89 21.1,2 20,2Z\";\r\nexport var mdiMessageFlash = \"M22 4C22 2.9 21.1 2 20 2H4C2.9 2 2 2.9 2 4V22L6 18H15V10H22V4M22.5 16H20.3L22 12H17V18H19V23L22.5 16Z\";\r\nexport var mdiMessageFlashOutline = \"M4 17.2V4H20V10H22V4C22 2.9 21.1 2 20 2H4C2.9 2 2 2.9 2 4V22L6 18H15V16H5.2L4 17.2M22.5 16H20.3L22 12H17V18H19V23L22.5 16Z\";\r\nexport var mdiMessageImage = \"M5,14L8.5,9.5L11,12.5L14.5,8L19,14M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4C22,2.89 21.1,2 20,2Z\";\r\nexport var mdiMessageImageOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M5 14L8.5 9.5L11 12.5L14.5 8L19 14\";\r\nexport var mdiMessageLock = \"M20.5 0A2.5 2.5 0 0 0 18 2.5V3A1 1 0 0 0 17 4V8A1 1 0 0 0 18 9H23A1 1 0 0 0 24 8V4A1 1 0 0 0 23 3V2.5A2.5 2.5 0 0 0 20.5 0M20.5 1A1.5 1.5 0 0 1 22 2.5V3H19V2.5A1.5 1.5 0 0 1 20.5 1M4 2A2 2 0 0 0 2 4V22L6 18H20A2 2 0 0 0 22 16V11H17C15.89 11 15 10.11 15 9V2H4Z\";\r\nexport var mdiMessageLockOutline = \"M23 3V2.5C23 1.1 21.9 0 20.5 0S18 1.1 18 2.5V3C17.5 3 17 3.5 17 4V8C17 8.5 17.5 9 18 9H23C23.5 9 24 8.5 24 8V4C24 3.5 23.5 3 23 3M22 3H19V2.5C19 1.7 19.7 1 20.5 1S22 1.7 22 2.5V3M22 11V16C22 17.1 21.1 18 20 18H6L2 22V4C2 2.9 2.9 2 4 2H15V4H4V17.2L5.2 16H20V11H22Z\";\r\nexport var mdiMessageMinus = \"M20 2C21.11 2 22 2.9 22 4V16C22 17.11 21.11 18 20 18H6L2 22V4C2 2.89 2.9 2 4 2H20M8 9V11H16V9H8Z\";\r\nexport var mdiMessageMinusOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M8 9V11H16V9H8Z\";\r\nexport var mdiMessageOff = \"M20.95 17.75L5.2 2H20C21.1 2 22 2.89 22 4V16C22 16.76 21.57 17.41 20.95 17.75M2.39 1.73L1.11 3L2 3.9C2 3.93 2 3.97 2 4V22L6 18H16.11L20.84 22.73L22.11 21.46L2.39 1.73Z\";\r\nexport var mdiMessageOffOutline = \"M7.2 4L5.2 2H20C21.11 2 22 2.9 22 4V16C22 16.76 21.57 17.41 20.95 17.75L19.2 16H20V4H7.2M22.11 21.46L20.84 22.73L16.11 18H6L2 22V4C2 3.97 2 3.93 2 3.9L1.11 3L2.39 1.73L6.1 5.44L16.65 16H16.66L18.66 18H18.65L22.11 21.46M14.11 16L4 5.89V18L6 16H14.11Z\";\r\nexport var mdiMessageOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16Z\";\r\nexport var mdiMessagePlus = \"M20,2A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H6L2,22V4C2,2.89 2.9,2 4,2H20M11,6V9H8V11H11V14H13V11H16V9H13V6H11Z\";\r\nexport var mdiMessagePlusOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M16 9V11H13V14H11V11H8V9H11V6H13V9H16Z\";\r\nexport var mdiMessageProcessing = \"M17,11H15V9H17M13,11H11V9H13M9,11H7V9H9M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4C22,2.89 21.1,2 20,2Z\";\r\nexport var mdiMessageProcessingOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M17 11H15V9H17M13 11H11V9H13M9 11H7V9H9\";\r\nexport var mdiMessageQuestion = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M13 14H11V12H13V14M14.8 9C14.5 9.4 14.1 9.6 13.7 9.8C13.4 10 13.3 10.1 13.2 10.3C13 10.5 13 10.7 13 11H11C11 10.5 11.1 10.2 11.3 9.9C11.5 9.7 11.9 9.4 12.4 9.1C12.7 9 12.9 8.8 13 8.6C13.1 8.4 13.2 8.1 13.2 7.9C13.2 7.6 13.1 7.4 12.9 7.2C12.7 7 12.4 6.9 12.1 6.9C11.8 6.9 11.6 7 11.4 7.1C11.2 7.2 11.1 7.4 11.1 7.7H9.1C9.2 7 9.5 6.4 10 6C10.5 5.6 11.2 5.5 12.1 5.5C13 5.5 13.8 5.7 14.3 6.1C14.8 6.5 15.1 7.1 15.1 7.8C15.2 8.2 15.1 8.6 14.8 9Z\";\r\nexport var mdiMessageQuestionOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M12.2 5.5C11.3 5.5 10.6 5.7 10.1 6C9.5 6.4 9.2 7 9.3 7.7H11.3C11.3 7.4 11.4 7.2 11.6 7.1C11.8 7 12 6.9 12.3 6.9C12.6 6.9 12.9 7 13.1 7.2C13.3 7.4 13.4 7.6 13.4 7.9C13.4 8.2 13.3 8.4 13.2 8.6C13 8.8 12.8 9 12.6 9.1C12.1 9.4 11.7 9.7 11.5 9.9C11.1 10.2 11 10.5 11 11H13C13 10.7 13.1 10.5 13.1 10.3C13.2 10.1 13.4 10 13.6 9.8C14.1 9.6 14.4 9.3 14.7 8.9C15 8.5 15.1 8.1 15.1 7.7C15.1 7 14.8 6.4 14.3 6C13.9 5.7 13.1 5.5 12.2 5.5M11 12V14H13V12H11Z\";\r\nexport var mdiMessageReply = \"M22,4C22,2.89 21.1,2 20,2H4A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H18L22,22V4Z\";\r\nexport var mdiMessageReplyOutline = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.1 2.9 18 4 18H18L22 22V4C22 2.9 21.1 2 20 2M20 17.2L18.8 16H4V4H20V17.2Z\";\r\nexport var mdiMessageReplyText = \"M18,8H6V6H18V8M18,11H6V9H18V11M18,14H6V12H18V14M22,4A2,2 0 0,0 20,2H4A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H18L22,22V4Z\";\r\nexport var mdiMessageReplyTextOutline = \"M9 11H18V13H9V11M18 7H6V9H18V7M22 4V22L18 18H4C2.9 18 2 17.11 2 16V4C2 2.9 2.9 2 4 2H20C21.1 2 22 2.89 22 4M20 4H4V16H18.83L20 17.17V4Z\";\r\nexport var mdiMessageSettings = \"M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M11,24H13V22H11V24M7,24H9V22H7V24M15,24H17V22H15V24Z\";\r\nexport var mdiMessageSettingsOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M11 24H13V22H11V24M7 24H9V22H7V24M15 24H17V22H15V24\";\r\nexport var mdiMessageStar = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M14.6 14L12 12.4L9.4 14L10.1 11L7.8 9L10.8 8.7L12 6L13.2 8.8L16.2 9.1L13.9 11.1L14.6 14Z\";\r\nexport var mdiMessageStarOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M12 12.4L14.6 14L13.9 11L16.2 9L13.2 8.7L12 6L10.8 8.8L7.8 9L10.1 11L9.4 14L12 12.4Z\";\r\nexport var mdiMessageText = \"M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M6,9H18V11H6M14,14H6V12H14M18,8H6V6H18\";\r\nexport var mdiMessageTextClock = \"M22 12.41V4C22 2.9 21.11 2 20 2H4C2.9 2 2 2.9 2 4V22L6 18H9.29C10.15 20.89 12.83 23 16 23C19.86 23 23 19.87 23 16C23 14.69 22.63 13.46 22 12.41M6 6H18V8H6V6M16 9C14.1 9 12.37 9.77 11.11 11H6V9H16M6 12H10.26C9.84 12.6 9.5 13.28 9.3 14H6V12M16 20.85C13.32 20.85 11.15 18.68 11.15 16S13.32 11.15 16 11.15C18.67 11.15 20.85 13.32 20.85 16S18.67 20.85 16 20.85M16.5 15.82L18.94 17.23L18.19 18.53L15 16.69V13H16.5V15.82Z\";\r\nexport var mdiMessageTextClockOutline = \"M22 12.41V4C22 2.9 21.11 2 20 2H4C2.9 2 2 2.89 2 4V22L6 18H9.29C10.15 20.89 12.83 23 16 23C19.86 23 23 19.87 23 16C23 14.69 22.63 13.46 22 12.41M5.17 16L4 17.17V4H20V10.26C18.86 9.47 17.5 9 16 9C14.1 9 12.37 9.77 11.11 11H6V13H9.69C9.25 13.91 9 14.93 9 16H5.17M16 20.85C13.32 20.85 11.15 18.68 11.15 16S13.32 11.15 16 11.15C18.67 11.15 20.85 13.32 20.85 16S18.67 20.85 16 20.85M18 9H6V7H18V9M16.5 15.82L18.94 17.23L18.19 18.53L15 16.69V13H16.5V15.82Z\";\r\nexport var mdiMessageTextLock = \"M20.5 0A2.5 2.5 0 0 0 18 2.5V3A1 1 0 0 0 17 4V8A1 1 0 0 0 18 9H23A1 1 0 0 0 24 8V4A1 1 0 0 0 23 3V2.5A2.5 2.5 0 0 0 20.5 0M20.5 1A1.5 1.5 0 0 1 22 2.5V3H19V2.5A1.5 1.5 0 0 1 20.5 1M4 2A2 2 0 0 0 2 4V22L6 18H20A2 2 0 0 0 22 16V11H17C15.89 11 15 10.11 15 9V2H4M6 6H13V8H6V6M6 9H13V11H6V9M6 12H14V14H6V12Z\";\r\nexport var mdiMessageTextLockOutline = \"M23 3V2.5C23 1.12 21.88 0 20.5 0S18 1.12 18 2.5V3C17.45 3 17 3.45 17 4V8C17 8.55 17.45 9 18 9H23C23.55 9 24 8.55 24 8V4C24 3.45 23.55 3 23 3M22 3H19V2.5C19 1.67 19.67 1 20.5 1S22 1.67 22 2.5V3M6 11H15V13H6V11M6 7H15V9H6V7M22 11V16C22 17.11 21.11 18 20 18H6L2 22V4C2 2.89 2.9 2 4 2H15V4H4V17.17L5.17 16H20V11H22Z\";\r\nexport var mdiMessageTextOutline = \"M20,2A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H6L2,22V4C2,2.89 2.9,2 4,2H20M4,4V17.17L5.17,16H20V4H4M6,7H18V9H6V7M6,11H15V13H6V11Z\";\r\nexport var mdiMessageVideo = \"M18,14L14,10.8V14H6V6H14V9.2L18,6M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4C22,2.89 21.1,2 20,2Z\";\r\nexport var mdiMeteor = \"M2.8,3L19.67,18.82C19.67,18.82 20,19.27 19.58,19.71C19.17,20.15 18.63,19.77 18.63,19.77L2.8,3M7.81,4.59L20.91,16.64C20.91,16.64 21.23,17.08 20.82,17.5C20.4,17.97 19.86,17.59 19.86,17.59L7.81,4.59M4.29,8L17.39,20.03C17.39,20.03 17.71,20.47 17.3,20.91C16.88,21.36 16.34,21 16.34,21L4.29,8M12.05,5.96L21.2,14.37C21.2,14.37 21.42,14.68 21.13,15C20.85,15.3 20.47,15.03 20.47,15.03L12.05,5.96M5.45,11.91L14.6,20.33C14.6,20.33 14.82,20.64 14.54,20.95C14.25,21.26 13.87,21 13.87,21L5.45,11.91M16.38,7.92L20.55,11.74C20.55,11.74 20.66,11.88 20.5,12.03C20.38,12.17 20.19,12.05 20.19,12.05L16.38,7.92M7.56,16.1L11.74,19.91C11.74,19.91 11.85,20.06 11.7,20.2C11.56,20.35 11.37,20.22 11.37,20.22L7.56,16.1Z\";\r\nexport var mdiMetronome = \"M12,1.75L8.57,2.67L4.06,19.53C4.03,19.68 4,19.84 4,20C4,21.11 4.89,22 6,22H18C19.11,22 20,21.11 20,20C20,19.84 19.97,19.68 19.94,19.53L18.58,14.42L17,16L17.2,17H13.41L16.25,14.16L14.84,12.75L10.59,17H6.8L10.29,4H13.71L15.17,9.43L16.8,7.79L15.43,2.67L12,1.75M11.25,5V14.75L12.75,13.25V5H11.25M19.79,7.8L16.96,10.63L16.25,9.92L14.84,11.34L17.66,14.16L19.08,12.75L18.37,12.04L21.2,9.21L19.79,7.8Z\";\r\nexport var mdiMetronomeTick = \"M12,1.75L8.57,2.67L4.07,19.5C4.06,19.5 4,19.84 4,20C4,21.11 4.89,22 6,22H18C19.11,22 20,21.11 20,20C20,19.84 19.94,19.5 19.93,19.5L15.43,2.67L12,1.75M10.29,4H13.71L17.2,17H13V12H11V17H6.8L10.29,4M11,5V9H10V11H14V9H13V5H11Z\";\r\nexport var mdiMicroSd = \"M8,2A2,2 0 0,0 6,4V11L4,13V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V4A2,2 0 0,0 18,2H8M9,4H11V8H9V4M12,4H14V8H12V4M15,4H17V8H15V4Z\";\r\nexport var mdiMicrophone = \"M12,2A3,3 0 0,1 15,5V11A3,3 0 0,1 12,14A3,3 0 0,1 9,11V5A3,3 0 0,1 12,2M19,11C19,14.53 16.39,17.44 13,17.93V21H11V17.93C7.61,17.44 5,14.53 5,11H7A5,5 0 0,0 12,16A5,5 0 0,0 17,11H19Z\";\r\nexport var mdiMicrophoneMinus = \"M9,2A3,3 0 0,1 12,5V11A3,3 0 0,1 9,14A3,3 0 0,1 6,11V5A3,3 0 0,1 9,2M16,11C16,14.5 13.44,17.43 10,17.93V21H8V17.93C4.56,17.43 2,14.5 2,11H4A5,5 0 0,0 9,16A5,5 0 0,0 14,11H16M15,5H23V7H15V5Z\";\r\nexport var mdiMicrophoneOff = \"M19,11C19,12.19 18.66,13.3 18.1,14.28L16.87,13.05C17.14,12.43 17.3,11.74 17.3,11H19M15,11.16L9,5.18V5A3,3 0 0,1 12,2A3,3 0 0,1 15,5V11L15,11.16M4.27,3L21,19.73L19.73,21L15.54,16.81C14.77,17.27 13.91,17.58 13,17.72V21H11V17.72C7.72,17.23 5,14.41 5,11H6.7C6.7,14 9.24,16.1 12,16.1C12.81,16.1 13.6,15.91 14.31,15.58L12.65,13.92L12,14A3,3 0 0,1 9,11V10.28L3,4.27L4.27,3Z\";\r\nexport var mdiMicrophoneOutline = \"M17.3,11C17.3,14 14.76,16.1 12,16.1C9.24,16.1 6.7,14 6.7,11H5C5,14.41 7.72,17.23 11,17.72V21H13V17.72C16.28,17.23 19,14.41 19,11M10.8,4.9C10.8,4.24 11.34,3.7 12,3.7C12.66,3.7 13.2,4.24 13.2,4.9L13.19,11.1C13.19,11.76 12.66,12.3 12,12.3C11.34,12.3 10.8,11.76 10.8,11.1M12,14A3,3 0 0,0 15,11V5A3,3 0 0,0 12,2A3,3 0 0,0 9,5V11A3,3 0 0,0 12,14Z\";\r\nexport var mdiMicrophonePlus = \"M9,2A3,3 0 0,1 12,5V11A3,3 0 0,1 9,14A3,3 0 0,1 6,11V5A3,3 0 0,1 9,2M16,11C16,14.5 13.44,17.43 10,17.93V21H8V17.93C4.56,17.43 2,14.5 2,11H4A5,5 0 0,0 9,16A5,5 0 0,0 14,11H16M15,5H18V2H20V5H23V7H20V10H18V7H15V5Z\";\r\nexport var mdiMicrophoneSettings = \"M19,10H17.3C17.3,13 14.76,15.1 12,15.1C9.24,15.1 6.7,13 6.7,10H5C5,13.41 7.72,16.23 11,16.72V20H13V16.72C16.28,16.23 19,13.41 19,10M15,24H17V22H15M11,24H13V22H11M12,13A3,3 0 0,0 15,10V4A3,3 0 0,0 12,1A3,3 0 0,0 9,4V10A3,3 0 0,0 12,13M7,24H9V22H7V24Z\";\r\nexport var mdiMicrophoneVariant = \"M9,3A4,4 0 0,1 13,7H5A4,4 0 0,1 9,3M11.84,9.82L11,18H10V19A2,2 0 0,0 12,21A2,2 0 0,0 14,19V14A4,4 0 0,1 18,10H20L19,11L20,12H18A2,2 0 0,0 16,14V19A4,4 0 0,1 12,23A4,4 0 0,1 8,19V18H7L6.16,9.82C5.67,9.32 5.31,8.7 5.13,8H12.87C12.69,8.7 12.33,9.32 11.84,9.82M9,11A1,1 0 0,0 8,12A1,1 0 0,0 9,13A1,1 0 0,0 10,12A1,1 0 0,0 9,11Z\";\r\nexport var mdiMicrophoneVariantOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L16,19.26C15.86,21.35 14.12,23 12,23A4,4 0 0,1 8,19V18H7L6.16,9.82C5.82,9.47 5.53,9.06 5.33,8.6L2,5.27M9,3A4,4 0 0,1 13,7H8.82L6.08,4.26C6.81,3.5 7.85,3 9,3M11.84,9.82L11.82,10L9.82,8H12.87C12.69,8.7 12.33,9.32 11.84,9.82M11,18H10V19A2,2 0 0,0 12,21A2,2 0 0,0 14,19V17.27L11.35,14.62L11,18M18,10H20L19,11L20,12H18A2,2 0 0,0 16,14V14.18L14.3,12.5C14.9,11 16.33,10 18,10M8,12A1,1 0 0,0 9,13C9.21,13 9.4,12.94 9.56,12.83L8.17,11.44C8.06,11.6 8,11.79 8,12Z\";\r\nexport var mdiMicroscope = \"M9.46,6.28L11.05,9C8.47,9.26 6.5,11.41 6.5,14A5,5 0 0,0 11.5,19C13.55,19 15.31,17.77 16.08,16H13.5V14H21.5V16H19.25C18.84,17.57 17.97,18.96 16.79,20H19.5V22H3.5V20H6.21C4.55,18.53 3.5,16.39 3.5,14C3.5,10.37 5.96,7.2 9.46,6.28M12.74,2.07L13.5,3.37L14.36,2.87L17.86,8.93L14.39,10.93L10.89,4.87L11.76,4.37L11,3.07L12.74,2.07Z\";\r\nexport var mdiMicrosoft = \"M2,3H11V12H2V3M11,22H2V13H11V22M21,3V12H12V3H21M21,22H12V13H21V22Z\";\r\nexport var mdiMicrosoftAccess = \"M14.5 2.63Q15.84 2.63 17.18 2.77L17.85 2.86Q18.3 2.93 18.84 3.04 19.37 3.15 19.93 3.31 20.5 3.47 20.96 3.69 21.42 3.91 21.71 4.19 22 4.47 22 4.81V19.19Q22 19.53 21.71 19.81 21.41 20.09 20.96 20.31 20.5 20.53 19.93 20.69 19.37 20.85 18.83 20.96 18.3 21.07 17.86 21.14 17.41 21.21 17.17 21.23 15.84 21.38 14.5 21.38 13.15 21.38 11.82 21.23 11.59 21.21 11.15 21.14 10.7 21.07 10.16 20.96 9.63 20.85 9.07 20.69 8.5 20.53 8.05 20.31 7.59 20.09 7.29 19.81 7 19.53 7 19.19V17H2.83Q2.5 17 2.24 16.76 2 16.5 2 16.17V7.83Q2 7.5 2.24 7.24 2.5 7 2.83 7H7V4.81Q7 4.47 7.29 4.19 7.59 3.91 8.05 3.69 8.5 3.47 9.07 3.31 9.63 3.15 10.17 3.04 10.7 2.93 11.14 2.86 11.59 2.8 11.83 2.77 13.15 2.63 14.5 2.63M14.5 3.88Q13.87 3.88 13.08 3.92 12.3 3.96 11.5 4.07 10.69 4.18 9.93 4.36 9.17 4.54 8.58 4.81 9.19 5.1 9.95 5.28 10.7 5.46 11.5 5.56 12.29 5.66 13.07 5.71 13.85 5.75 14.5 5.75 15.16 5.75 15.93 5.71 16.71 5.66 17.5 5.56 18.3 5.46 19.06 5.28 19.81 5.1 20.42 4.81 19.83 4.54 19.07 4.36 18.31 4.18 17.5 4.07 16.7 3.96 15.92 3.92 15.14 3.88 14.5 3.88M5.94 13.79H8.06L8.55 15.28H10.22L7.83 8.72H6.2L3.78 15.28H5.44M20.75 19V16Q20.11 16.31 19.31 16.5 18.5 16.68 17.67 16.79 16.83 16.9 16 16.95 15.19 17 14.5 17 13.79 17 13.08 16.96 12.37 16.91 11.67 16.83 11.44 17 11.17 17H8.25V19Q8.53 19.21 9 19.38 9.5 19.56 10.07 19.68 10.65 19.81 11.29 19.9 11.92 20 12.5 20.03 13.12 20.09 13.64 20.11 14.16 20.13 14.5 20.13 14.84 20.12 15.36 20.1 15.88 20.09 16.5 20.03 17.08 20 17.71 19.9 18.35 19.81 18.93 19.68 19.5 19.56 20 19.38 20.47 19.21 20.75 19M20.75 14.63V11Q20.11 11.31 19.31 11.5 18.5 11.68 17.67 11.79 16.83 11.9 16 11.95 15.19 12 14.5 12 13.88 12 13.25 11.97 12.63 11.93 12 11.87V15.62Q12.63 15.69 13.25 15.72 13.88 15.75 14.5 15.75 14.86 15.75 15.38 15.73 15.9 15.71 16.5 15.66 17.08 15.6 17.7 15.5 18.33 15.44 18.9 15.31 19.5 15.18 19.96 15 20.45 14.85 20.75 14.63M20.75 9.63V6Q20.11 6.31 19.31 6.5 18.5 6.68 17.67 6.79 16.83 6.9 16 6.95 15.19 7 14.5 7 13.81 7 13 6.95 12.17 6.9 11.33 6.79 10.5 6.68 9.69 6.5 8.89 6.31 8.25 6V7H11.17Q11.5 7 11.76 7.24 12 7.5 12 7.83V10.62Q12.63 10.69 13.25 10.72 13.88 10.75 14.5 10.75 14.86 10.75 15.38 10.73 15.9 10.71 16.5 10.66 17.08 10.6 17.7 10.5 18.33 10.44 18.9 10.31 19.5 10.18 19.96 10 20.44 9.85 20.75 9.63M6.32 12.5L7 10.5L7.65 12.5Z\";\r\nexport var mdiMicrosoftAzure = \"M13.05,4.24L6.56,18.05L2,18L7.09,9.24L13.05,4.24M13.75,5.33L22,19.76H6.74L16.04,18.1L11.17,12.31L13.75,5.33Z\";\r\nexport var mdiMicrosoftAzureDevops = \"M22 18L17 22L9 19V22L4.81 16.25L17.72 17.3V6.34L22 5.65V18M4.81 16.25V8.96L17.72 6.34L10.6 2V4.84L3.97 6.76L2 9.38V15.07L4.81 16.25Z\";\r\nexport var mdiMicrosoftBing = \"M5,3V19L8.72,21L18,15.82V11.73H18L9.77,8.95L11.38,12.84L13.94,14L8.7,16.92V4.27L5,3\";\r\nexport var mdiMicrosoftDynamics365 = \"M6,2L17.25,8.5L13.5,11.5L6,8V2M6,9L9.5,11.25L6,22L18,9V15L6,22V9Z\";\r\nexport var mdiMicrosoftEdge = \"M10.86 15.37C10.17 14.6 9.7 13.68 9.55 12.65C9.25 13.11 9 13.61 8.82 14.15C7.9 16.9 9.5 20.33 12.22 21.33C14.56 22.11 17.19 20.72 18.92 19.2C19.18 18.85 21.23 17.04 20.21 16.84C17.19 18.39 13.19 17.95 10.86 15.37M11.46 9.56C12.5 9.55 11.5 9.13 11.07 8.81C10.03 8.24 8.81 7.96 7.63 7.96C3.78 8 .995 10.41 2.3 14.4C3.24 18.28 6.61 21.4 10.59 21.9C8.54 20.61 7.3 18.19 7.3 15.78C7.38 13.25 8.94 10.28 11.46 9.56M2.78 8.24C5.82 6 10.66 6.18 13.28 9C14.3 10.11 15 12 14.07 13.37C12.33 15.25 17.15 15.5 18.18 15.22C21.92 14.5 22.91 10.15 21.13 7.15C19.43 3.75 15.66 1.97 11.96 2C7.9 1.93 4.25 4.5 2.78 8.24Z\";\r\nexport var mdiMicrosoftExcel = \"M21.17 3.25Q21.5 3.25 21.76 3.5 22 3.74 22 4.08V19.92Q22 20.26 21.76 20.5 21.5 20.75 21.17 20.75H7.83Q7.5 20.75 7.24 20.5 7 20.26 7 19.92V17H2.83Q2.5 17 2.24 16.76 2 16.5 2 16.17V7.83Q2 7.5 2.24 7.24 2.5 7 2.83 7H7V4.08Q7 3.74 7.24 3.5 7.5 3.25 7.83 3.25M7 13.06L8.18 15.28H9.97L8 12.06L9.93 8.89H8.22L7.13 10.9L7.09 10.96L7.06 11.03Q6.8 10.5 6.5 9.96 6.25 9.43 5.97 8.89H4.16L6.05 12.08L4 15.28H5.78M13.88 19.5V17H8.25V19.5M13.88 15.75V12.63H12V15.75M13.88 11.38V8.25H12V11.38M13.88 7V4.5H8.25V7M20.75 19.5V17H15.13V19.5M20.75 15.75V12.63H15.13V15.75M20.75 11.38V8.25H15.13V11.38M20.75 7V4.5H15.13V7Z\";\r\nexport var mdiMicrosoftInternetExplorer = \"M13,3L14,3.06C16.8,1.79 19.23,1.64 20.5,2.92C21.5,3.93 21.58,5.67 20.92,7.72C21.61,9 22,10.45 22,12L21.95,13H9.08C9.45,15.28 11.06,17 13,17C14.31,17 15.47,16.21 16.2,15H21.5C20.25,18.5 16.92,21 13,21C11.72,21 10.5,20.73 9.41,20.25C6.5,21.68 3.89,21.9 2.57,20.56C1,18.96 1.68,15.57 4,12C4.93,10.54 6.14,9.06 7.57,7.65L8.38,6.88C7.21,7.57 5.71,8.62 4.19,10.17C5.03,6.08 8.66,3 13,3M13,7C11.21,7 9.69,8.47 9.18,10.5H16.82C16.31,8.47 14.79,7 13,7M20.06,4.06C19.4,3.39 18.22,3.35 16.74,3.81C18.22,4.5 19.5,5.56 20.41,6.89C20.73,5.65 20.64,4.65 20.06,4.06M3.89,20C4.72,20.84 6.4,20.69 8.44,19.76C6.59,18.67 5.17,16.94 4.47,14.88C3.27,17.15 3,19.07 3.89,20Z\";\r\nexport var mdiMicrosoftOffice = \"M19.94 5.59V18.39Q19.94 19.06 19.55 19.59 19.16 20.11 18.5 20.29L12.77 21.94Q12.65 21.97 12.5 22H12.28Q11.95 22 11.68 21.91 11.41 21.82 11.13 21.67L7.38 19.55Q7.17 19.43 7.05 19.24 6.93 19.05 6.93 18.81 6.93 18.45 7.19 18.2 7.44 17.95 7.8 17.95H12.66V6.14L9 7.44Q8.57 7.6 8.3 8 8.03 8.38 8.03 8.85V15.58Q8.03 16 7.82 16.34 7.62 16.68 7.25 16.88L5.53 17.82Q5.29 17.95 5.05 17.95 4.64 17.95 4.35 17.66 4.06 17.37 4.06 16.95V7.47Q4.06 6.95 4.33 6.5 4.61 6 5.06 5.74L11.22 2.24Q11.43 2.12 11.67 2.06 11.91 2 12.15 2 12.32 2 12.46 2.03 12.6 2.05 12.77 2.1L18.5 3.69Q18.83 3.78 19.09 3.96 19.35 4.14 19.54 4.39 19.74 4.65 19.84 4.95 19.94 5.26 19.94 5.59M18.62 18.39V5.59Q18.62 5.36 18.5 5.19 18.35 5 18.13 4.96L15.31 4.18Q15 4.09 14.65 4 14.32 3.89 14 3.81V20.21L18.13 19Q18.35 18.96 18.5 18.79 18.62 18.62 18.62 18.39Z\";\r\nexport var mdiMicrosoftOnedrive = \"M18.21 10.29Q19 10.34 19.7 10.68 20.39 11 20.9 11.57 21.41 12.12 21.71 12.83 22 13.54 22 14.34 22 15.18 21.68 15.92 21.36 16.66 20.8 17.21 20.25 17.76 19.5 18.08 18.78 18.41 17.94 18.41H7Q5.97 18.41 5.06 18 4.15 17.61 3.47 16.94 2.79 16.26 2.4 15.35 2 14.44 2 13.41 2 12.59 2.26 11.83 2.5 11.08 3 10.45 3.44 9.82 4.08 9.35 4.72 8.88 5.5 8.63 5.87 8.5 6.21 8.5 6.56 8.43 6.93 8.41H6.94Q7.37 7.75 7.95 7.23 8.5 6.71 9.2 6.34 9.87 6 10.62 5.78 11.37 5.59 12.16 5.59 13.22 5.59 14.2 5.94 15.18 6.29 16 6.91 16.8 7.53 17.37 8.39 17.95 9.26 18.21 10.29M12.16 6.84Q11.05 6.84 10.06 7.3 9.06 7.75 8.36 8.6 8.73 8.7 9.07 8.85 9.4 9 9.73 9.2L13.71 11.58L16 10.62Q16.21 10.53 16.44 10.45 16.67 10.38 16.92 10.33 16.68 9.55 16.21 8.91 15.74 8.27 15.11 7.81 14.5 7.35 13.73 7.1 13 6.84 12.16 6.84M4 15.66L12.27 12.18L9.08 10.26Q8.59 9.97 8.06 9.81 7.5 9.66 6.95 9.66 6.19 9.66 5.5 9.96 4.84 10.26 4.34 10.77 3.84 11.29 3.54 11.97 3.25 12.65 3.25 13.41 3.25 14 3.45 14.59 3.64 15.19 4 15.66M17.94 17.16Q18.41 17.16 18.84 17 19.27 16.86 19.64 16.58L13.61 13L5.03 16.59Q5.47 16.86 5.97 17 6.47 17.16 7 17.16M20.45 15.61Q20.75 15 20.75 14.34 20.75 13.7 20.5 13.17 20.26 12.65 19.85 12.28 19.43 11.91 18.88 11.71 18.32 11.5 17.7 11.5 17.35 11.5 17 11.6 16.66 11.68 16.33 11.81 16 11.93 15.67 12.08 15.35 12.23 15.04 12.37Z\";\r\nexport var mdiMicrosoftOnenote = \"M21.17 3.25Q21.5 3.25 21.76 3.5 22 3.74 22 4.08V19.92Q22 20.26 21.76 20.5 21.5 20.75 21.17 20.75H7.83Q7.5 20.75 7.24 20.5 7 20.26 7 19.92V17H2.83Q2.5 17 2.24 16.76 2 16.5 2 16.17V7.83Q2 7.5 2.24 7.24 2.5 7 2.83 7H7V4.08Q7 3.74 7.24 3.5 7.5 3.25 7.83 3.25M5.8 11.17L8.16 15.27H9.65V8.73H8.2V12.92L5.93 8.73H4.35V15.27H5.8M20.75 19.5V17H18.25V19.5M20.75 15.75V13.25H18.25V15.75M20.75 12V9.5H18.25V12M20.75 8.25V4.5H8.25V7H11.17Q11.5 7 11.76 7.24 12 7.5 12 7.83V16.17Q12 16.5 11.76 16.76 11.5 17 11.17 17H8.25V19.5H17V8.25Z\";\r\nexport var mdiMicrosoftOutlook = \"M8.56 12.03Q8.56 12.41 8.5 12.76 8.39 13.1 8.2 13.38 8 13.65 7.71 13.81 7.41 13.97 7 13.97 6.58 13.97 6.29 13.8 6 13.63 5.81 13.35 5.62 13.07 5.54 12.72 5.45 12.37 5.45 12 5.45 11.64 5.54 11.28 5.62 10.93 5.81 10.65 6 10.37 6.31 10.2 6.61 10.03 7.03 10.03 7.46 10.03 7.75 10.2 8.05 10.38 8.23 10.66 8.41 10.95 8.5 11.3 8.56 11.66 8.56 12.03M22 12V19.81Q22 20.2 21.73 20.5 21.45 20.75 21.06 20.75H7.94Q7.55 20.75 7.27 20.5 7 20.2 7 19.81V17H2.83Q2.5 17 2.24 16.76 2 16.5 2 16.17V7.83Q2 7.5 2.24 7.24 2.5 7 2.83 7H8.25V4.13Q8.25 3.76 8.5 3.5 8.76 3.25 9.13 3.25H19.87Q20.24 3.25 20.5 3.5 20.75 3.76 20.75 4.13V11.04L21.79 11.64H21.8Q21.88 11.7 21.94 11.8 22 11.89 22 12M17 5.13V7.63H19.5V5.13M17 8.88V11.38H19.5V8.88M17 12.63V14.15L19.54 12.63M12.63 5.13V7.63H15.75V5.13M12.63 8.88V11.38H15.75V8.88M12.63 12.63V14.32L14.64 15.56L15.75 14.9V12.63M9.5 5.13V7H11.27Q11.33 7 11.38 7.04V5.12M7 15.32Q7.73 15.32 8.32 15.06 8.9 14.8 9.31 14.35 9.71 13.9 9.91 13.28 10.12 12.66 10.13 11.94 10.13 11.25 9.92 10.65 9.72 10.06 9.32 9.62 8.93 9.18 8.37 8.93 7.8 8.68 7.08 8.68 6.31 8.68 5.71 8.93 5.12 9.18 4.71 9.63 4.3 10.09 4.09 10.71 3.88 11.34 3.88 12.08 3.88 12.78 4.09 13.38 4.31 13.97 4.71 14.4 5.11 14.83 5.68 15.08 6.26 15.32 7 15.32M8.25 19.5H18.57L12 15.4V16.17Q12 16.5 11.76 16.76 11.5 17 11.17 17H8.25M20.75 19.39V13.36L15.83 16.31Z\";\r\nexport var mdiMicrosoftPowerpoint = \"M13.25 3.25Q14.46 3.25 15.58 3.56 16.7 3.88 17.67 4.45 18.64 5 19.44 5.81 20.23 6.61 20.8 7.58 21.38 8.55 21.69 9.67 22 10.79 22 12 22 13.21 21.69 14.33 21.38 15.45 20.8 16.42 20.23 17.39 19.44 18.19 18.64 19 17.67 19.55 16.7 20.13 15.58 20.44 14.46 20.75 13.25 20.75 12.18 20.75 11.15 20.5 10.12 20.24 9.2 19.76 8.28 19.27 7.5 18.58 6.69 17.88 6.07 17H2.83Q2.5 17 2.24 16.76 2 16.5 2 16.17V7.83Q2 7.5 2.24 7.25 2.5 7 2.83 7H6.07Q6.69 6.12 7.5 5.42 8.28 4.72 9.2 4.24 10.13 3.76 11.15 3.5 12.18 3.25 13.25 3.25M13.88 4.53V11.37H20.72Q20.6 10 20.03 8.81 19.46 7.62 18.55 6.7 17.64 5.79 16.43 5.22 15.23 4.65 13.88 4.53M9.5 10.84Q9.5 10.27 9.3 9.87 9.11 9.46 8.78 9.21 8.45 8.95 8 8.84 7.55 8.72 7 8.72H4.37V15.27H5.91V13H6.94Q7.42 13 7.87 12.84 8.33 12.7 8.69 12.43 9.05 12.17 9.27 11.76 9.5 11.36 9.5 10.84M13.25 19.5Q14.23 19.5 15.14 19.26 16.04 19 16.85 18.58 17.66 18.13 18.33 17.5 19 16.89 19.5 16.13 20 15.36 20.33 14.47 20.64 13.58 20.72 12.62H12.64V4.53Q11.19 4.65 9.91 5.29 8.63 5.93 7.67 7H11.17Q11.5 7 11.76 7.25 12 7.5 12 7.83V16.17Q12 16.5 11.76 16.76 11.5 17 11.17 17H7.67Q8.2 17.6 8.84 18.06 9.5 18.5 10.19 18.84 10.91 19.17 11.68 19.33 12.45 19.5 13.25 19.5M6.85 10Q7.32 10 7.61 10.19 7.89 10.38 7.89 10.89 7.89 11.11 7.79 11.25 7.69 11.39 7.53 11.5 7.37 11.57 7.18 11.6 7 11.64 6.8 11.64H5.91V10H6.85Z\";\r\nexport var mdiMicrosoftSharepoint = \"M22 13.25Q22 14.29 21.6 15.2 21.21 16.1 20.53 16.78 19.85 17.46 18.94 17.86 18.03 18.25 17 18.25 16.36 18.25 15.73 18.09 15.64 18.92 15.27 19.63 14.89 20.35 14.3 20.88 13.72 21.41 12.97 21.7 12.21 22 11.38 22 10.47 22 9.67 21.65 8.88 21.31 8.28 20.72 7.69 20.13 7.35 19.33 7 18.53 7 17.63V17.31Q7.03 17.16 7.05 17H2.83Q2.5 17 2.24 16.76 2 16.5 2 16.17V7.83Q2 7.5 2.24 7.24 2.5 7 2.83 7H5.78Q5.9 5.94 6.39 5 6.87 4.11 7.63 3.44 8.38 2.76 9.34 2.38 10.3 2 11.38 2 12.54 2 13.56 2.44 14.59 2.89 15.35 3.65 16.11 4.41 16.56 5.44 17 6.46 17 7.63V7.94Q17 8.09 16.96 8.25 18 8.25 18.91 8.64 19.83 9.03 20.5 9.71 21.21 10.38 21.6 11.29 22 12.21 22 13.25M11.37 3.25Q10.56 3.25 9.83 3.54 9.09 3.82 8.5 4.32 7.94 4.82 7.55 5.5 7.17 6.2 7.05 7H11.17Q11.5 7 11.76 7.25 12 7.5 12 7.83V11.95L12.18 11.92Q12.35 11.3 12.68 10.74 13 10.17 13.47 9.72 13.92 9.27 14.5 8.93 15.04 8.6 15.67 8.43 15.75 8 15.75 7.63 15.75 6.72 15.4 5.92 15.06 5.13 14.46 4.54 13.87 3.95 13.08 3.6 12.28 3.25 11.37 3.25M7.1 15.25Q7.55 15.25 8 15.16 8.42 15.07 8.76 14.85 9.1 14.64 9.31 14.29 9.5 13.93 9.5 13.41 9.5 12.88 9.3 12.53 9.08 12.18 8.75 11.94 8.42 11.71 8.04 11.56L7.32 11.27Q7 11.14 6.77 11 6.55 10.85 6.55 10.62 6.55 10.46 6.67 10.35 6.79 10.25 6.95 10.2 7.11 10.13 7.28 10.11 7.46 10.1 7.58 10.1 8.07 10.1 8.46 10.22 8.84 10.35 9.25 10.6V9.12Q9 9.05 8.81 9 8.61 8.95 8.42 8.92 8.22 8.89 8 8.87 7.8 8.86 7.55 8.86 7.12 8.86 6.67 8.95 6.22 9.05 5.85 9.27 5.5 9.5 5.26 9.83 5.03 10.18 5.03 10.69 5.03 11.19 5.25 11.5 5.47 11.85 5.8 12.09 6.13 12.32 6.5 12.5L7.22 12.79Q7.56 12.93 7.78 13.08 8 13.24 8 13.46 8 13.65 7.89 13.76 7.79 13.87 7.63 13.92 7.5 14 7.31 14H7Q6.41 14 5.96 13.82 5.5 13.62 5.04 13.3V14.86Q6.03 15.25 7.1 15.25M11.37 20.75Q12 20.75 12.58 20.5 13.15 20.26 13.58 19.84 14 19.41 14.25 18.84 14.5 18.27 14.5 17.63 14.5 17.07 14.31 16.56 14.13 16.05 13.8 15.65 13.46 15.24 13 14.96 12.55 14.68 12 14.56V16.17Q12 16.5 11.76 16.76 11.5 17 11.17 17H8.31Q8.25 17.31 8.25 17.63 8.25 18.27 8.5 18.84 8.74 19.41 9.16 19.84 9.59 20.26 10.16 20.5 10.73 20.75 11.37 20.75M17 17Q17.77 17 18.45 16.71 19.14 16.42 19.65 15.9 20.16 15.39 20.46 14.71 20.75 14.03 20.75 13.25 20.75 12.5 20.46 11.8 20.16 11.11 19.65 10.6 19.14 10.09 18.45 9.79 17.77 9.5 17 9.5 16.23 9.5 15.55 9.8 14.87 10.1 14.36 10.61 13.85 11.12 13.55 11.8 13.25 12.5 13.25 13.25V13.46L13.27 13.68Q13.73 13.9 14.12 14.22 14.5 14.54 14.82 14.93 15.12 15.33 15.34 15.79 15.55 16.25 15.66 16.74 16.32 17 17 17Z\";\r\nexport var mdiMicrosoftTeams = \"M19.19 8.77Q18.73 8.77 18.33 8.6 17.94 8.43 17.64 8.13 17.34 7.83 17.17 7.44 17 7.04 17 6.58 17 6.13 17.17 5.73 17.34 5.33 17.64 5.04 17.94 4.74 18.33 4.57 18.73 4.39 19.19 4.4 19.64 4.39 20.04 4.57 20.44 4.74 20.74 5.04 21.03 5.33 21.21 5.73 21.38 6.13 21.38 6.58 21.38 7.04 21.21 7.44 21.04 7.83 20.74 8.13 20.44 8.43 20.04 8.6 19.64 8.77 19.19 8.77M19.19 5.65Q18.8 5.65 18.5 5.92 18.25 6.19 18.25 6.58 18.25 6.97 18.5 7.25 18.8 7.5 19.19 7.5 19.58 7.5 19.85 7.25 20.13 7 20.13 6.58 20.13 6.19 19.85 5.92 19.58 5.65 19.19 5.65M22 10.33V15Q22 15.63 21.76 16.2 21.5 16.77 21.09 17.19 20.66 17.62 20.09 17.86 19.5 18.11 18.88 18.11 18.5 18.11 18.12 18 17.73 17.93 17.41 17.75 17.17 18.54 16.7 19.19 16.23 19.84 15.6 20.3 14.97 20.76 14.21 21 13.45 21.27 12.63 21.27 11.67 21.27 10.82 20.94 10 20.61 9.32 20 8.66 19.43 8.23 18.64 7.79 17.84 7.66 16.9H2.83Q2.5 16.9 2.24 16.65 2 16.41 2 16.07V7.73Q2 7.39 2.24 7.14 2.5 6.9 2.83 6.9H10Q9.71 6.3 9.71 5.65 9.71 5.04 9.94 4.5 10.16 4 10.56 3.58 10.96 3.19 11.5 2.96 12 2.73 12.62 2.73 13.23 2.73 13.76 2.96 14.29 3.19 14.69 3.58 15.09 4 15.31 4.5 15.54 5.04 15.54 5.65 15.54 6.25 15.31 6.79 15.09 7.32 14.69 7.71 14.29 8.11 13.76 8.34 13.23 8.57 12.62 8.57 12.47 8.57 12.31 8.55 12.16 8.53 12 8.5V9.4H21.06Q21.45 9.4 21.73 9.67 22 9.94 22 10.33M12.63 4Q12.28 4 12 4.11 11.67 4.24 11.44 4.47 11.22 4.7 11.09 5 10.96 5.31 10.96 5.65 10.96 6 11.09 6.3 11.22 6.6 11.44 6.83 11.67 7.05 12 7.19 12.28 7.32 12.63 7.32 12.97 7.32 13.27 7.19 13.57 7.05 13.8 6.83 14.03 6.6 14.16 6.3 14.3 6 14.3 5.65 14.3 5.31 14.16 5 14.03 4.7 13.8 4.47 13.57 4.24 13.27 4.11 12.97 4 12.63 4M7.78 10.18H9.66V8.62H4.34V10.18H6.22V15.18H7.78M16.38 16.27V10.65H12V16.07Q12 16.41 11.76 16.65 11.5 16.9 11.17 16.9H8.92Q9.05 17.57 9.39 18.15 9.73 18.72 10.21 19.14 10.69 19.55 11.31 19.79 11.92 20 12.63 20 13.4 20 14.08 19.73 14.76 19.43 15.28 18.92 15.79 18.41 16.08 17.73 16.38 17.05 16.38 16.27M20.75 15V10.65H17.63V16.36Q17.88 16.61 18.2 16.74 18.5 16.86 18.88 16.86 19.27 16.86 19.61 16.71 19.95 16.56 20.2 16.31 20.46 16.06 20.6 15.71 20.75 15.37 20.75 15Z\";\r\nexport var mdiMicrosoftVisualStudio = \"M17,8.5L12.25,12.32L17,16V8.5M4.7,18.4L2,16.7V7.7L5,6.7L9.3,10.03L18,2L22,4.5V20L17,22L9.34,14.66L4.7,18.4M5,14L6.86,12.28L5,10.5V14Z\";\r\nexport var mdiMicrosoftVisualStudioCode = \"M17,16.47V7.39L11,11.93M2.22,9.19C1.92,8.87 1.91,8.37 2.2,8.04L3.4,6.93C3.6,6.75 4.09,6.67 4.45,6.93L7.87,9.54L15.8,2.29C16.12,1.97 16.67,1.84 17.3,2.17L21.3,4.08C21.66,4.29 22,4.62 22,5.23V18.73C22,19.13 21.71,19.56 21.4,19.73L17,21.83C16.68,21.96 16.08,21.84 15.87,21.63L7.85,14.33L4.45,16.93C4.07,17.19 3.6,17.12 3.4,16.93L2.2,15.83C1.88,15.5 1.92,14.96 2.25,14.63L5.25,11.93\";\r\nexport var mdiMicrosoftWindows = \"M3,12V6.75L9,5.43V11.91L3,12M20,3V11.75L10,11.9V5.21L20,3M3,13L9,13.09V19.9L3,18.75V13M20,13.25V22L10,20.09V13.1L20,13.25Z\";\r\nexport var mdiMicrosoftWindowsClassic = \"M2.67,5.3V5.91L1.96,6.21V5.6L2.67,5.3M2.67,11.24V11.86L1.96,12.15V11.56L2.67,11.24M2.67,17.27V17.89L1.96,18.18V17.59L2.67,17.27M2.6,7.29V7.84L2.03,8.1V7.56L2.6,7.29M2.6,9.28V9.82L2.03,10.08V9.54L2.6,9.28M2.6,13.31V13.84L2.03,14.1V13.56L2.6,13.31M2.6,15.33V15.87L2.03,16.13V15.6L2.6,15.33M4.5,5.64V6.36L3.5,6.73V6L4.5,5.64M4.5,11.66V12.37L3.5,12.74V12.03L4.5,11.66M4.5,17.7V18.41L3.5,18.81V18.1L4.5,17.7M4.43,7.72V8.38L3.64,8.68V8L4.43,7.72M4.43,9.73V10.37L3.65,10.67V10L4.43,9.73M4.43,13.74V14.38L3.65,14.69V14.03L4.43,13.74M4.43,15.76V16.41L3.65,16.72V16.06L4.43,15.76M6.31,6.09V6.94L5.05,7.43V6.59L6.31,6.09M6.31,12.11V12.96L5.05,13.45V12.61L6.31,12.11M6.31,18.08V18.93L5.05,19.43V18.58L6.31,18.08M6.25,8.18V8.94L5.19,9.34V8.61L6.25,8.18M6.25,10.18V10.93L5.19,11.35V10.6L6.25,10.18M6.25,14.19V14.94L5.19,15.37V14.62L6.25,14.19M6.25,16.14V16.9L5.19,17.32V16.57L6.25,16.14M8.29,6.04V7.16L6.72,7.78V6.67L8.29,6.04M8.29,12.06V13.19L6.72,13.8V12.68L8.29,12.06M8.29,18.03V19.15L6.72,19.77V18.66L8.29,18.03M8.2,8.13V9.16L6.89,9.69V8.66L8.2,8.13M8.2,10.13V11.15L6.89,11.68V10.65L8.2,10.13M8.2,14.15V15.18L6.89,15.7V14.67L8.2,14.15M8.2,16.1V17.12L6.89,17.64V16.63L8.2,16.1M10.34,5.85V7.32L8.61,8V6.56L10.34,5.85M10.34,11.87V13.33L8.61,14.03V12.56L10.34,11.87M10.34,17.84V19.3L8.61,20V18.54L10.34,17.84M10.26,8.05V9.28L8.78,9.87V8.64L10.26,8.05M10.26,9.97V11.2L8.78,11.78V10.56L10.26,9.97M10.26,14.06V15.31L8.78,15.88V14.65L10.26,14.06M10.26,16V17.25L8.78,17.84V16.6L10.26,16M12.45,5.12V7.12L10.59,7.89V6C11.23,5.65 11.85,5.35 12.45,5.12M12.45,7.33V9.06L10.59,9.84V8.1L12.45,7.33M12.45,9.28V11.04L10.59,11.82V10.06L12.45,9.28M12.45,11.25V13L10.59,13.77V12L12.45,11.25M12.45,13.21V15L10.59,15.78V14L12.45,13.21M12.45,15.21V16.96L10.59,17.76V16L12.45,15.21M12.45,17.17V19.04C11.72,19.32 11.1,19.59 10.59,19.84V17.96L12.45,17.17M22.04,5.18V19.23C20.85,18.44 19.37,18.05 17.59,18.05C16.12,18.05 14.47,18.35 12.65,18.96V17.06C13.62,16.69 14.68,16.42 15.84,16.26V11.69C14.86,11.81 13.8,12.15 12.65,12.71V11.4C13.64,10.94 14.71,10.63 15.84,10.46V6C14.82,6.18 13.76,6.53 12.65,7V5.03C14.27,4.34 15.86,4 17.41,4C19.09,4 20.63,4.39 22.04,5.18M20.15,6.41C19.39,6 18.5,5.82 17.42,5.82C17.29,5.82 17.17,5.83 17.05,5.84V10.38L17.46,10.37C18.37,10.37 19.27,10.5 20.15,10.8V6.41M20.15,12.1C19.34,11.74 18.43,11.56 17.44,11.56C17.31,11.56 17.18,11.57 17.05,11.58V16.16H17.46C18.45,16.16 19.35,16.28 20.15,16.53V12.1H20.15Z\";\r\nexport var mdiMicrosoftWord = \"M21.17 3.25Q21.5 3.25 21.76 3.5 22 3.74 22 4.08V19.92Q22 20.26 21.76 20.5 21.5 20.75 21.17 20.75H7.83Q7.5 20.75 7.24 20.5 7 20.26 7 19.92V17H2.83Q2.5 17 2.24 16.76 2 16.5 2 16.17V7.83Q2 7.5 2.24 7.24 2.5 7 2.83 7H7V4.08Q7 3.74 7.24 3.5 7.5 3.25 7.83 3.25M7.03 11.34L8.23 15.28H9.6L10.91 8.72H9.53L8.75 12.6L7.64 8.85H6.5L5.31 12.62L4.53 8.72H3.09L4.4 15.28H5.77M20.75 19.5V17H8.25V19.5M20.75 15.75V12.63H12V15.75M20.75 11.38V8.25H12V11.38M20.75 7V4.5H8.25V7Z\";\r\nexport var mdiMicrosoftXbox = \"M6.43,3.72C6.5,3.66 6.57,3.6 6.62,3.56C8.18,2.55 10,2 12,2C13.88,2 15.64,2.5 17.14,3.42C17.25,3.5 17.54,3.69 17.7,3.88C16.25,2.28 12,5.7 12,5.7C10.5,4.57 9.17,3.8 8.16,3.5C7.31,3.29 6.73,3.5 6.46,3.7M19.34,5.21C19.29,5.16 19.24,5.11 19.2,5.06C18.84,4.66 18.38,4.56 18,4.59C17.61,4.71 15.9,5.32 13.8,7.31C13.8,7.31 16.17,9.61 17.62,11.96C19.07,14.31 19.93,16.16 19.4,18.73C21,16.95 22,14.59 22,12C22,9.38 21,7 19.34,5.21M15.73,12.96C15.08,12.24 14.13,11.21 12.86,9.95C12.59,9.68 12.3,9.4 12,9.1C12,9.1 11.53,9.56 10.93,10.17C10.16,10.94 9.17,11.95 8.61,12.54C7.63,13.59 4.81,16.89 4.65,18.74C4.65,18.74 4,17.28 5.4,13.89C6.3,11.68 9,8.36 10.15,7.28C10.15,7.28 9.12,6.14 7.82,5.35L7.77,5.32C7.14,4.95 6.46,4.66 5.8,4.62C5.13,4.67 4.71,5.16 4.71,5.16C3.03,6.95 2,9.35 2,12A10,10 0 0,0 12,22C14.93,22 17.57,20.74 19.4,18.73C19.4,18.73 19.19,17.4 17.84,15.5C17.53,15.07 16.37,13.69 15.73,12.96Z\";\r\nexport var mdiMicrosoftXboxController = \"M8.75,15.75C6.75,15.75 6,18 4,19C2,19 0.5,16 4.5,7.5H4.75L5.19,6.67C5.19,6.67 8,5 9.33,6.23H14.67C16,5 18.81,6.67 18.81,6.67L19.25,7.5H19.5C23.5,16 22,19 20,19C18,18 17.25,15.75 15.25,15.75H8.75M12,7A1,1 0 0,0 11,8A1,1 0 0,0 12,9A1,1 0 0,0 13,8A1,1 0 0,0 12,7Z\";\r\nexport var mdiMicrosoftXboxControllerBatteryAlert = \"M21,19V7H15V19H21M21.67,5C22.4,5 23,5.6 23,6.33V19.67A1.33,1.33 0 0,1 21.67,21H14.33C13.6,21 13,20.4 13,19.67V16.75H7.75C5.75,16.75 5,19 3,20C1,20 -0.5,17 3.5,8.5H3.75L4.19,7.67C4.19,7.67 7,6 8.33,7.23H13V6.33A1.33,1.33 0 0,1 14.33,5H16V3H20V5H21.67M11,8A1,1 0 0,0 10,9A1,1 0 0,0 11,10A1,1 0 0,0 12,9A1,1 0 0,0 11,8M17,9H19V14H17V9M17,15H19V17H17V15Z\";\r\nexport var mdiMicrosoftXboxControllerBatteryCharging = \"M20,5H21.67C22.4,5 23,5.6 23,6.33V19.67A1.33,1.33 0 0,1 21.67,21H14.33C13.6,21 13,20.4 13,19.67V16.75H7.75C5.75,16.75 5,19 3,20C1,20 -0.5,17 3.5,8.5H3.75L4.19,7.67C4.19,7.67 7,6 8.33,7.23H13V6.33A1.33,1.33 0 0,1 14.33,5H16V3H20V5M21,7H15V19H21V7M15.5,14L18.5,7.5V12H20.5L17.5,18.5V14H15.5M11,8A1,1 0 0,0 10,9A1,1 0 0,0 11,10A1,1 0 0,0 12,9A1,1 0 0,0 11,8Z\";\r\nexport var mdiMicrosoftXboxControllerBatteryEmpty = \"M21,19V7H15V19H21M21.67,5C22.4,5 23,5.6 23,6.33V19.67A1.33,1.33 0 0,1 21.67,21H14.33C13.6,21 13,20.4 13,19.67V16.75H7.75C5.75,16.75 5,19 3,20C1,20 -0.5,17 3.5,8.5H3.75L4.19,7.67C4.19,7.67 7,6 8.33,7.23H13V6.33A1.33,1.33 0 0,1 14.33,5H16V3H20V5H21.67M11,8A1,1 0 0,0 10,9A1,1 0 0,0 11,10A1,1 0 0,0 12,9A1,1 0 0,0 11,8Z\";\r\nexport var mdiMicrosoftXboxControllerBatteryFull = \"M21.67,5C22.4,5 23,5.6 23,6.33V19.67A1.33,1.33 0 0,1 21.67,21H14.33C13.6,21 13,20.4 13,19.67V16.75H7.75C5.75,16.75 5,19 3,20C1,20 -0.5,17 3.5,8.5H3.75L4.19,7.67C4.19,7.67 7,6 8.33,7.23H13V6.33A1.33,1.33 0 0,1 14.33,5H16V3H20V5H21.67M11,8A1,1 0 0,0 10,9A1,1 0 0,0 11,10A1,1 0 0,0 12,9A1,1 0 0,0 11,8Z\";\r\nexport var mdiMicrosoftXboxControllerBatteryLow = \"M21,16V7H15V16H21M21.67,5C22.4,5 23,5.6 23,6.33V19.67A1.33,1.33 0 0,1 21.67,21H14.33C13.6,21 13,20.4 13,19.67V16.75H7.75C5.75,16.75 5,19 3,20C1,20 -0.5,17 3.5,8.5H3.75L4.19,7.67C4.19,7.67 7,6 8.33,7.23H13V6.33A1.33,1.33 0 0,1 14.33,5H16V3H20V5H21.67M11,8A1,1 0 0,0 10,9A1,1 0 0,0 11,10A1,1 0 0,0 12,9A1,1 0 0,0 11,8Z\";\r\nexport var mdiMicrosoftXboxControllerBatteryMedium = \"M21,12V7H15V12H21M21.67,5C22.4,5 23,5.6 23,6.33V19.67A1.33,1.33 0 0,1 21.67,21H14.33C13.6,21 13,20.4 13,19.67V16.75H7.75C5.75,16.75 5,19 3,20C1,20 -0.5,17 3.5,8.5H3.75L4.19,7.67C4.19,7.67 7,6 8.33,7.23H13V6.33A1.33,1.33 0 0,1 14.33,5H16V3H20V5H21.67M11,8A1,1 0 0,0 10,9A1,1 0 0,0 11,10A1,1 0 0,0 12,9A1,1 0 0,0 11,8Z\";\r\nexport var mdiMicrosoftXboxControllerBatteryUnknown = \"M21.67,5C22.4,5 23,5.6 23,6.33V19.67A1.33,1.33 0 0,1 21.67,21H14.33C13.6,21 13,20.4 13,19.67V16.75H7.75C5.75,16.75 5,19 3,20C1,20 -0.5,17 3.5,8.5H3.75L4.19,7.67C4.19,7.67 7,6 8.33,7.23H13V6.33A1.33,1.33 0 0,1 14.33,5H16V3H20V5H21.67M11,8A1,1 0 0,0 10,9A1,1 0 0,0 11,10A1,1 0 0,0 12,9A1,1 0 0,0 11,8M18.19,8C17.32,8 16.62,8.2 16.08,8.59C15.56,9 15.3,9.57 15.31,10.36L15.32,10.39H17.25C17.26,10.09 17.35,9.86 17.53,9.7C17.71,9.55 17.93,9.47 18.19,9.47C18.5,9.47 18.76,9.57 18.94,9.75C19.12,9.94 19.2,10.2 19.2,10.5C19.2,10.82 19.13,11.09 18.97,11.32C18.83,11.55 18.62,11.75 18.36,11.91C17.85,12.25 17.5,12.55 17.31,12.82C17.11,13.08 17,13.5 17,14H19C19,13.69 19.04,13.44 19.13,13.26C19.22,13.08 19.39,12.9 19.64,12.74C20.09,12.5 20.46,12.21 20.75,11.81C21.04,11.41 21.19,11 21.19,10.5C21.19,9.74 20.92,9.13 20.38,8.68C19.85,8.23 19.12,8 18.19,8M17,15V17H19V15H17Z\";\r\nexport var mdiMicrosoftXboxControllerMenu = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M6,7H18V9H6V7M6,11H18V13H6V11M6,15H18V17H6V15Z\";\r\nexport var mdiMicrosoftXboxControllerOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L12.5,15.75H8.75C6.75,15.75 6,18 4,19C2,19 0.5,16.04 4.42,7.69L2,5.27M9.33,6.23H14.67C16,5 18.81,6.67 18.81,6.67L19.25,7.5H19.5C23,15 22.28,18.2 20.69,18.87L7.62,5.8C8.25,5.73 8.87,5.81 9.33,6.23M12,7A1,1 0 0,0 11,8A1,1 0 0,0 12,9A1,1 0 0,0 13,8A1,1 0 0,0 12,7Z\";\r\nexport var mdiMicrosoftXboxControllerView = \"M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M6,7H15V9H8V14H6V7M9,10H18V17H9V10M11,12V15H16V12H11Z\";\r\nexport var mdiMicrowave = \"M4,5A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V7A2,2 0 0,0 20,5H4M4,7H16V17H4V7M19,7A1,1 0 0,1 20,8A1,1 0 0,1 19,9A1,1 0 0,1 18,8A1,1 0 0,1 19,7M13,9V15H15V9H13M19,11A1,1 0 0,1 20,12A1,1 0 0,1 19,13A1,1 0 0,1 18,12A1,1 0 0,1 19,11Z\";\r\nexport var mdiMicrowaveOff = \"M22.11 21.46L2.39 1.73L1.11 3L3.26 5.15C2.5 5.44 2 6.16 2 7V17C2 18.11 2.9 19 4 19H17.11L20.84 22.73L22.11 21.46M4 17V7H5.11L15.11 17H4M16 7V12.8L21.5 18.31C21.81 17.95 22 17.5 22 17V7C22 5.9 21.11 5 20 5H8.2L10.2 7H16M19 7C19.55 7 20 7.45 20 8S19.55 9 19 9 18 8.55 18 8 18.45 7 19 7M19 11C19.55 11 20 11.45 20 12S19.55 13 19 13 18 12.55 18 12 18.45 11 19 11M13 9.8V9H15V11.8L13 9.8Z\";\r\nexport var mdiMiddleware = \"M23 12L19 8V11H14.82C14.4 9.84 13.3 9 12 9S9.6 9.84 9.18 11H5L2 8V16L5 13H9.18C9.6 14.16 10.7 15 12 15S14.4 14.16 14.82 13H19V16L23 12Z\";\r\nexport var mdiMiddlewareOutline = \"M23 12L19 8V11H15.86C15.41 9.28 13.86 8 12 8S8.59 9.28 8.14 11H5L2 8V16L5 13H8.14C8.59 14.72 10.14 16 12 16S15.41 14.72 15.86 13H19V16L23 12M12 14C10.9 14 10 13.1 10 12C10 10.9 10.9 10 12 10S14 10.9 14 12C14 13.1 13.1 14 12 14Z\";\r\nexport var mdiMidi = \"M20.15 8.26H22V15.74H20.15M13 8.26H18.43C19 8.26 19.3 8.74 19.3 9.3V14.81C19.3 15.5 19 15.74 18.38 15.74H13V11H14.87V13.91H17.5V9.95H13M10.32 8.26H12.14V15.74H10.32M2 8.26H8.55C9.1 8.26 9.41 8.74 9.41 9.3V15.74H7.59V10.15H6.5V15.74H4.87V10.15H3.83V15.74H2Z\";\r\nexport var mdiMidiPort = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M20.18,12C20.18,8.18 17.55,4.96 14,4.07V6H10V4.07C6.45,4.96 3.82,8.18 3.82,12A8.18,8.18 0 0,0 12,20.18A8.18,8.18 0 0,0 20.18,12M7,10.64A1.36,1.36 0 0,1 8.36,12A1.36,1.36 0 0,1 7,13.36C6.25,13.36 5.64,12.75 5.64,12C5.64,11.25 6.25,10.64 7,10.64M17,10.64A1.36,1.36 0 0,1 18.36,12A1.36,1.36 0 0,1 17,13.36A1.36,1.36 0 0,1 15.64,12A1.36,1.36 0 0,1 17,10.64M8.36,14.27A1.37,1.37 0 0,1 9.73,15.64C9.73,16.39 9.12,17 8.36,17A1.36,1.36 0 0,1 7,15.64C7,14.88 7.61,14.27 8.36,14.27M15.64,14.27C16.39,14.27 17,14.88 17,15.64A1.36,1.36 0 0,1 15.64,17C14.88,17 14.27,16.39 14.27,15.64A1.37,1.37 0 0,1 15.64,14.27M12,15.64A1.36,1.36 0 0,1 13.36,17A1.36,1.36 0 0,1 12,18.36A1.36,1.36 0 0,1 10.64,17A1.36,1.36 0 0,1 12,15.64Z\";\r\nexport var mdiMine = \"M23,13V11H19.93C19.75,9.58 19.19,8.23 18.31,7.1L20.5,4.93L19.07,3.5L16.9,5.69C15.77,4.81 14.42,4.25 13,4.07V1H11V4.07C9.58,4.25 8.23,4.81 7.1,5.69L4.93,3.5L3.5,4.93L5.69,7.1C4.81,8.23 4.25,9.58 4.07,11H1V13H4.07C4.25,14.42 4.81,15.77 5.69,16.9L3.5,19.07L4.93,20.5L7.1,18.31C8.23,19.19 9.58,19.75 11,19.93V23H13V19.93C14.42,19.75 15.77,19.19 16.9,18.31L19.07,20.5L20.5,19.07L18.31,16.9C19.19,15.77 19.75,14.42 19.93,13H23M12,8A4,4 0 0,0 8,12H6A6,6 0 0,1 12,6V8Z\";\r\nexport var mdiMinecraft = \"M4,2H20A2,2 0 0,1 22,4V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V4A2,2 0 0,1 4,2M6,6V10H10V12H8V18H10V16H14V18H16V12H14V10H18V6H14V10H10V6H6Z\";\r\nexport var mdiMiniSd = \"M6,4A2,2 0 0,0 4,6V18A2,2 0 0,0 6,20H18A2,2 0 0,0 20,18V12L18,10V6A2,2 0 0,0 16,4H6M7,6H9V10H7V6M10,6H12V10H10V6M13,6H15V10H13V6Z\";\r\nexport var mdiMinidisc = \"M5,3C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H5M12,5C15.09,5 17.82,7.04 18.7,10H16A1,1 0 0,0 15,11V13A1,1 0 0,0 16,14H18.71C17.82,16.97 15.09,19 12,19A7,7 0 0,1 5,12A7,7 0 0,1 12,5M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\r\nexport var mdiMinus = \"M19,13H5V11H19V13Z\";\r\nexport var mdiMinusBox = \"M17,13H7V11H17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiMinusBoxMultiple = \"M19 11H9V9H19M20 2H8C6.9 2 6 2.9 6 4V16C6 17.11 6.9 18 8 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M4 6H2V20C2 21.11 2.9 22 4 22H18V20H4V6Z\";\r\nexport var mdiMinusBoxMultipleOutline = \"M18 11H10V9H18M20 4V16H8V4H20M20 2H8C6.9 2 6 2.9 6 4V16C6 17.11 6.9 18 8 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M4 6H2V20C2 21.11 2.9 22 4 22H18V20H4V6Z\";\r\nexport var mdiMinusBoxOutline = \"M19,19V5H5V19H19M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5C3,3.89 3.9,3 5,3H19M17,11V13H7V11H17Z\";\r\nexport var mdiMinusCircle = \"M17,13H7V11H17M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiMinusCircleMultiple = \"M2 12C2 9.21 3.64 6.8 6 5.68V3.5C2.5 4.76 0 8.09 0 12S2.5 19.24 6 20.5V18.32C3.64 17.2 2 14.79 2 12M15 3C10.04 3 6 7.04 6 12S10.04 21 15 21 24 16.96 24 12 19.96 3 15 3M20 13H10V11H20V13Z\";\r\nexport var mdiMinusCircleMultipleOutline = \"M11 11V13H19V11H11M2 12C2 9.21 3.64 6.8 6 5.68V3.5C2.5 4.76 0 8.09 0 12S2.5 19.24 6 20.5V18.32C3.64 17.2 2 14.79 2 12M15 3C10.04 3 6 7.04 6 12S10.04 21 15 21 24 16.96 24 12 19.96 3 15 3M15 19C11.14 19 8 15.86 8 12S11.14 5 15 5 22 8.14 22 12 18.86 19 15 19Z\";\r\nexport var mdiMinusCircleOff = \"M22.1 21.5L2.4 1.7L1.1 3L4.1 6C2.8 7.6 2 9.7 2 12C2 17.5 6.5 22 12 22C14.3 22 16.4 21.2 18 19.9L20.8 22.7L22.1 21.5M7 13V11H9.1L11.1 13H7M14.2 11L6.7 3.5C8.3 2.6 10.1 2 12 2C17.5 2 22 6.5 22 12C22 13.9 21.4 15.7 20.5 17.3L16.2 13H17V11H14.2Z\";\r\nexport var mdiMinusCircleOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L4.1 6C2.8 7.6 2 9.7 2 12C2 17.5 6.5 22 12 22C14.3 22 16.4 21.2 18 19.9L20.8 22.7L22.1 21.5M12 20C7.6 20 4 16.4 4 12C4 10.3 4.6 8.7 5.5 7.4L9.1 11H7V13H11.1L16.6 18.5C15.3 19.4 13.7 20 12 20M8.2 5L6.7 3.5C8.3 2.6 10.1 2 12 2C17.5 2 22 6.5 22 12C22 13.9 21.4 15.7 20.5 17.3L19 15.8C19.6 14.7 20 13.4 20 12C20 7.6 16.4 4 12 4C10.6 4 9.3 4.4 8.2 5M16.2 13L14.2 11H17V13H16.2Z\";\r\nexport var mdiMinusCircleOutline = \"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7,13H17V11H7\";\r\nexport var mdiMinusNetwork = \"M16,11V9H8V11H16M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17Z\";\r\nexport var mdiMinusNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M15,11V9H9V11H15\";\r\nexport var mdiMinusThick = \"M20 14H4V10H20V14Z\";\r\nexport var mdiMirror = \"M12 1C16.69 1 20.5 5.93 20.5 12C20.5 18.08 16.69 23 12 23C7.31 23 3.5 18.08 3.5 12C3.5 5.93 7.31 1 12 1M12 3C8.41 3 5.5 7.03 5.5 12C5.5 16.97 8.41 21 12 21C15.59 21 18.5 16.97 18.5 12C18.5 7.03 15.59 3 12 3M8.29 10.28L11.53 7.03L12.59 8.09L9.35 11.34L8.29 10.28M8.7 14.61L14.36 8.95L15.42 10L9.76 15.67L8.7 14.61Z\";\r\nexport var mdiMirrorRectangle = \"M8.29 10.28L11.53 7.03L12.59 8.09L9.35 11.34L8.29 10.28M8.7 14.61L14.36 8.95L15.42 10L9.76 15.67L8.7 14.61M18 3V21H6V3H18M20 1H4V23H20V1Z\";\r\nexport var mdiMirrorVariant = \"M8.29 10.28L11.53 7.03L12.59 8.09L9.35 11.34L8.29 10.28M8.7 14.61L14.36 8.95L15.42 10L9.76 15.67L8.7 14.61M14.17 3L18 6.83V17.17L14.17 21H9.83L6 17.17V6.83L9.83 3H14.17M15 1H9L4 6V18L9 23H15L20 18V6L15 1Z\";\r\nexport var mdiMixedMartialArts = \"M15,10V7H7V10H15M18,7C18.28,7 18.5,7.09 18.7,7.29C18.89,7.5 19,7.73 19,8V10.78C19,10.97 18.97,11.11 18.94,11.2L18.14,15.19C18,15.72 17.7,16 17.2,16H6.8C6.27,16 5.95,15.72 5.86,15.19L5.06,11.2C5.03,11.11 5,10.97 5,10.78V5C5,4.5 5.21,4 5.6,3.61C6,3.2 6.45,3 7,3H15C15.53,3 16,3.2 16.41,3.61C16.81,4 17,4.5 17,5V8C17,7.73 17.11,7.5 17.3,7.29C17.5,7.09 17.72,7 18,7M7,20V17H17V20C17,20.3 16.91,20.53 16.71,20.72C16.5,20.91 16.27,21 16,21H8C7.73,21 7.5,20.91 7.29,20.72C7.09,20.53 7,20.3 7,20Z\";\r\nexport var mdiMixedReality = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5A2,2 0 0,1 5,3M8.25,15H9.75L10.75,11.57V15H12.25V9H10L9,12.43L8,9H5.75V15H7.25V11.57L8.25,15M13.5,9V15H15V13H16.15L17,15H18.5L17.6,12.9C18.1,12.65 18.5,12.1 18.5,11.5V10.5C18.5,9.65 17.85,9 17,9H13.5M15,10.5H17V11.5H15V10.5Z\";\r\nexport var mdiMolecule = \"M7.27,10L9,7H14.42L15.58,5L15.5,4.5A1.5,1.5 0 0,1 17,3A1.5,1.5 0 0,1 18.5,4.5C18.5,5.21 18,5.81 17.33,5.96L16.37,7.63L17.73,10L18.59,8.5L18.5,8A1.5,1.5 0 0,1 20,6.5A1.5,1.5 0 0,1 21.5,8C21.5,8.71 21,9.3 20.35,9.46L18.89,12L20.62,15C21.39,15.07 22,15.71 22,16.5A1.5,1.5 0 0,1 20.5,18A1.5,1.5 0 0,1 19,16.5V16.24L17.73,14L16.37,16.37L17.33,18.04C18,18.19 18.5,18.79 18.5,19.5A1.5,1.5 0 0,1 17,21A1.5,1.5 0 0,1 15.5,19.5L15.58,19L14.42,17H10.58L9.42,19L9.5,19.5A1.5,1.5 0 0,1 8,21A1.5,1.5 0 0,1 6.5,19.5C6.5,18.79 7,18.19 7.67,18.04L8.63,16.37L4.38,9C3.61,8.93 3,8.29 3,7.5A1.5,1.5 0 0,1 4.5,6A1.5,1.5 0 0,1 6,7.5C6,7.59 6,7.68 6,7.76L7.27,10M10.15,9L8.42,12L10.15,15H14.85L16.58,12L14.85,9H10.15Z\";\r\nexport var mdiMoleculeCo = \"M8 7C6.9 7 6 7.9 6 9V15C6 16.11 6.9 17 8 17H11V15H8V9H11V7H8M14 7C12.9 7 12 7.9 12 9V15C12 16.11 12.9 17 14 17H16C17.11 17 18 16.11 18 15V9C18 7.9 17.11 7 16 7H14M14 9H16V15H14V9\";\r\nexport var mdiMoleculeCo2 = \"M5,7A2,2 0 0,0 3,9V15A2,2 0 0,0 5,17H8V15H5V9H8V7H5M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9M16,10.5V12H19V13.5H17.5A1.5,1.5 0 0,0 16,15V18H20.5V16.5H17.5V15H19A1.5,1.5 0 0,0 20.5,13.5V12A1.5,1.5 0 0,0 19,10.5H16Z\";\r\nexport var mdiMonitor = \"M21,16H3V4H21M21,2H3C1.89,2 1,2.89 1,4V16A2,2 0 0,0 3,18H10V20H8V22H16V20H14V18H21A2,2 0 0,0 23,16V4C23,2.89 22.1,2 21,2Z\";\r\nexport var mdiMonitorCellphone = \"M23,11H18A1,1 0 0,0 17,12V21A1,1 0 0,0 18,22H23A1,1 0 0,0 24,21V12A1,1 0 0,0 23,11M23,20H18V13H23V20M20,2H2C0.89,2 0,2.89 0,4V16A2,2 0 0,0 2,18H9V20H7V22H15V20H13V18H15V16H2V4H20V9H22V4C22,2.89 21.1,2 20,2Z\";\r\nexport var mdiMonitorCellphoneStar = \"M23,11H18A1,1 0 0,0 17,12V21A1,1 0 0,0 18,22H23A1,1 0 0,0 24,21V12A1,1 0 0,0 23,11M23,20H18V13H23V20M20,2H2C0.89,2 0,2.89 0,4V16A2,2 0 0,0 2,18H9V20H7V22H15V20H13V18H15V16H2V4H20V9H22V4C22,2.89 21.1,2 20,2M11.97,9L11,6L10.03,9H7L9.47,10.76L8.53,13.67L11,11.87L13.47,13.67L12.53,10.76L15,9H11.97Z\";\r\nexport var mdiMonitorDashboard = \"M21,16V4H3V16H21M21,2A2,2 0 0,1 23,4V16A2,2 0 0,1 21,18H14V20H16V22H8V20H10V18H3C1.89,18 1,17.1 1,16V4C1,2.89 1.89,2 3,2H21M5,6H14V11H5V6M15,6H19V8H15V6M19,9V14H15V9H19M5,12H9V14H5V12M10,12H14V14H10V12Z\";\r\nexport var mdiMonitorEdit = \"M21 2H3C1.9 2 1 2.9 1 4V16C1 17.11 1.9 18 3 18H10V20H8V22H16V20H14V18H21C22.11 18 23 17.11 23 16V4C23 2.9 22.11 2 21 2M21 16H3V4H21V16M15.84 8.2L14.83 9.21L12.76 7.18L13.77 6.16C13.97 5.95 14.31 5.94 14.55 6.16L15.84 7.41C16.05 7.62 16.06 7.96 15.84 8.2M8 11.91L12.17 7.72L14.24 9.8L10.08 14H8V11.91Z\";\r\nexport var mdiMonitorEye = \"M3 4V16H21V4H3M3 2H21C22.1 2 23 2.89 23 4V16C23 16.53 22.79 17.04 22.41 17.41C22.04 17.79 21.53 18 21 18H14V20H16V22H8V20H10V18H3C2.47 18 1.96 17.79 1.59 17.41C1.21 17.04 1 16.53 1 16V4C1 2.89 1.89 2 3 2M10.84 8.93C11.15 8.63 11.57 8.45 12 8.45C12.43 8.46 12.85 8.63 13.16 8.94C13.46 9.24 13.64 9.66 13.64 10.09C13.64 10.53 13.46 10.94 13.16 11.25C12.85 11.56 12.43 11.73 12 11.73C11.57 11.73 11.15 11.55 10.84 11.25C10.54 10.94 10.36 10.53 10.36 10.09C10.36 9.66 10.54 9.24 10.84 8.93M10.07 12C10.58 12.53 11.28 12.82 12 12.82C12.72 12.82 13.42 12.53 13.93 12C14.44 11.5 14.73 10.81 14.73 10.09C14.73 9.37 14.44 8.67 13.93 8.16C13.42 7.65 12.72 7.36 12 7.36C11.28 7.36 10.58 7.65 10.07 8.16C9.56 8.67 9.27 9.37 9.27 10.09C9.27 10.81 9.56 11.5 10.07 12M6 10.09C6.94 7.7 9.27 6 12 6C14.73 6 17.06 7.7 18 10.09C17.06 12.5 14.73 14.18 12 14.18C9.27 14.18 6.94 12.5 6 10.09Z\";\r\nexport var mdiMonitorLock = \"M20.5,13A2.5,2.5 0 0,1 23,15.5V16A1,1 0 0,1 24,17V21A1,1 0 0,1 23,22H18A1,1 0 0,1 17,21V17A1,1 0 0,1 18,16V15.5A2.5,2.5 0 0,1 20.5,13M20.5,14A1.5,1.5 0 0,0 19,15.5V16H22V15.5A1.5,1.5 0 0,0 20.5,14M20,4H2V16H15V18H13V20H15V22H7V20H9V18H2C0.89,18 0,17.1 0,16V4C0,2.89 0.89,2 2,2H20A2,2 0 0,1 22,4V11.53C21.41,11.19 20.73,11 20,11V4Z\";\r\nexport var mdiMonitorMultiple = \"M22,17V7H6V17H22M22,5A2,2 0 0,1 24,7V17C24,18.11 23.1,19 22,19H16V21H18V23H10V21H12V19H6C4.89,19 4,18.11 4,17V7A2,2 0 0,1 6,5H22M2,3V15H0V3A2,2 0 0,1 2,1H20V3H2Z\";\r\nexport var mdiMonitorOff = \"M14,18V20H16V22H8V20H10V18H3A2,2 0 0,1 1,16V4L0,3L1.41,1.58L22.16,22.34L20.75,23.75L15,18H14M3,16H13L3,6V16M21,2A2,2 0 0,1 23,4V16A2,2 0 0,1 21,18H20.66L18.66,16H21V4H6.66L4.66,2H21Z\";\r\nexport var mdiMonitorScreenshot = \"M9,6H5V10H7V8H9M19,10H17V12H15V14H19M21,16H3V4H21M21,2H3C1.89,2 1,2.89 1,4V16A2,2 0 0,0 3,18H10V20H8V22H16V20H14V18H21A2,2 0 0,0 23,16V4C23,2.89 22.1,2 21,2\";\r\nexport var mdiMonitorShare = \"M23 4V16C23 17.11 22.11 18 21 18H15V16H21V4H3V16H9V18H3C1.9 18 1 17.11 1 16V4C1 2.89 1.89 2 3 2H21C22.1 2 23 2.89 23 4M13 13H16L12 9L8 13H11V20H8V22H16V20H13V13Z\";\r\nexport var mdiMonitorShimmer = \"M21 16H3V4H21M21 2H3C1.89 2 1 2.89 1 4V16C1 17.11 1.9 18 3 18H10V20H8V22H16V20H14V18H21C22.11 18 23 17.11 23 16V4C23 2.89 22.1 2 21 2M15 5.5L14.38 6.87L13 7.5L14.38 8.13L15 9.5L15.63 8.13L17 7.5L15.63 6.87L15 5.5M10.5 7.5L9.41 9.91L7 11L9.41 12.09L10.5 14.5L11.6 12.09L14 11L11.6 9.91L10.5 7.5\";\r\nexport var mdiMonitorSpeaker = \"M10 20V18H3C1.9 18 1 17.1 1 16V4C1 2.89 1.89 2 3 2H21C22.1 2 23 2.89 23 4V8H21V4H3V16H12V22H8V20H10M18.5 15C17.12 15 16 16.12 16 17.5S17.12 20 18.5 20 21 18.88 21 17.5 19.88 15 18.5 15M23 10V21C23 21.55 22.55 22 22 22H15C14.45 22 14 21.55 14 21V10C14 9.45 14.45 9 15 9H22C22.55 9 23 9.45 23 10M17 11.5C17 12.33 17.67 13 18.5 13S20 12.33 20 11.5 19.33 10 18.5 10 17 10.67 17 11.5M22 17.5C22 15.57 20.43 14 18.5 14S15 15.57 15 17.5 16.57 21 18.5 21 22 19.43 22 17.5Z\";\r\nexport var mdiMonitorSpeakerOff = \"M23.1 22.5L1.4.7.1 2L1.2 3.1C1.1 3.4 1 3.7 1 4V16C1 17.1 1.9 18 3 18H10V20H8V22H12V16H3V4.9L14 15.9V21C14 21.6 14.5 22 15 22H20.1L21.8 23.7L23.1 22.5M18.5 21C16.6 21 15 19.4 15 17.5C15 17.3 15 17.1 15.1 16.9L16.1 17.9C16.3 18.9 17.1 19.7 18.1 19.9L19.1 20.9C18.9 21 18.7 21 18.5 21M21 17.5V17.8L18.2 15H18.5C19.9 15 21 16.1 21 17.5M23 19.8V10C23 9.4 22.5 9 22 9H15C14.4 9 14 9.5 14 10V10.8L17.4 14.2C17.7 14.1 18.1 14 18.5 14C20.4 14 22 15.6 22 17.5C22 17.9 21.9 18.3 21.8 18.6L23 19.8M18.5 13C17.7 13 17 12.3 17 11.5S17.7 10 18.5 10 20 10.7 20 11.5 19.3 13 18.5 13M7.2 4L5.2 2H21C22.1 2 23 2.9 23 4V8H21V4H7.2Z\";\r\nexport var mdiMonitorStar = \"M21,16V4H3V16H21M21,2A2,2 0 0,1 23,4V16A2,2 0 0,1 21,18H14V20H16V22H8V20H10V18H3C1.89,18 1,17.1 1,16V4C1,2.89 1.89,2 3,2H21M12.97,9H16L13.53,10.76L14.47,13.67L12,11.87L9.53,13.67L10.47,10.76L8,9H11.03L12,6L12.97,9Z\";\r\nexport var mdiMoonFirstQuarter = \"M12 2V22A10 10 0 0 0 12 2Z\";\r\nexport var mdiMoonFull = \"M12 2A10 10 0 1 1 2 12A10 10 0 0 1 12 2Z\";\r\nexport var mdiMoonLastQuarter = \"M12 2A10 10 0 0 0 12 22Z\";\r\nexport var mdiMoonNew = \"M12 20A8 8 0 1 1 20 12A8 8 0 0 1 12 20M12 2A10 10 0 1 0 22 12A10 10 0 0 0 12 2Z\";\r\nexport var mdiMoonWaningCrescent = \"M2 12A10 10 0 0 0 15 21.54A10 10 0 0 1 15 2.46A10 10 0 0 0 2 12Z\";\r\nexport var mdiMoonWaningGibbous = \"M18 12C18 7.5 16.08 3.26 12 2A10 10 0 0 0 12 22C16.08 20.74 18 16.5 18 12Z\";\r\nexport var mdiMoonWaxingCrescent = \"M12 2A9.91 9.91 0 0 0 9 2.46A10 10 0 0 1 9 21.54A10 10 0 1 0 12 2Z\";\r\nexport var mdiMoonWaxingGibbous = \"M6 12C6 7.5 7.93 3.26 12 2A10 10 0 0 1 12 22C7.93 20.74 6 16.5 6 12Z\";\r\nexport var mdiMoped = \"M19 15C19.55 15 20 15.45 20 16C20 16.55 19.55 17 19 17S18 16.55 18 16C18 15.45 18.45 15 19 15M19 13C17.34 13 16 14.34 16 16S17.34 19 19 19 22 17.66 22 16 20.66 13 19 13M10 6H5V8H10V6M17 5H14V7H17V9.65L13.5 14H10V9H6C3.79 9 2 10.79 2 13V16H4C4 17.66 5.34 19 7 19S10 17.66 10 16H14.5L19 10.35V7C19 5.9 18.11 5 17 5M7 17C6.45 17 6 16.55 6 16H8C8 16.55 7.55 17 7 17Z\";\r\nexport var mdiMopedElectric = \"M19 5C19 3.9 18.1 3 17 3H14V5H17V7.65L13.5 12H10V7H6C3.79 7 2 8.79 2 11V14H4C4 15.66 5.34 17 7 17S10 15.66 10 14H14.5L19 8.35V5M7 15C6.45 15 6 14.55 6 14H8C8 14.55 7.55 15 7 15M5 4H10V6H5V4M19 11C17.34 11 16 12.34 16 14S17.34 17 19 17 22 15.66 22 14 20.66 11 19 11M19 15C18.45 15 18 14.55 18 14S18.45 13 19 13 20 13.45 20 14 19.55 15 19 15M7 20H11V18L17 21H13V23L7 20Z\";\r\nexport var mdiMopedElectricOutline = \"M19 5C19 3.9 18.1 3 17 3H14V5H17V7.65L13.5 12H10V7H6C3.79 7 2 8.79 2 11V14H4C4 15.66 5.34 17 7 17S10 15.66 10 14H14.5L19 8.35V5M4 12V11C4 9.9 4.9 9 6 9H8V12H4M7 15C6.45 15 6 14.55 6 14H8C8 14.55 7.55 15 7 15M5 4H10V6H5V4M19 11C17.34 11 16 12.34 16 14S17.34 17 19 17 22 15.66 22 14 20.66 11 19 11M19 15C18.45 15 18 14.55 18 14S18.45 13 19 13 20 13.45 20 14 19.55 15 19 15M7 20H11V18L17 21H13V23L7 20Z\";\r\nexport var mdiMopedOutline = \"M19 7C19 5.9 18.11 5 17 5H14V7H17V9.65L13.5 14H10V9H6C3.79 9 2 10.79 2 13V16H4C4 17.66 5.34 19 7 19S10 17.66 10 16H14.5L19 10.35V7M7 17C6.45 17 6 16.55 6 16H8C8 16.55 7.55 17 7 17M8 14H4V13C4 11.9 4.9 11 6 11H8V14M19 13C17.34 13 16 14.34 16 16S17.34 19 19 19 22 17.66 22 16 20.66 13 19 13M19 17C18.45 17 18 16.55 18 16S18.45 15 19 15 20 15.45 20 16 19.55 17 19 17M10 8H5V6H10V8Z\";\r\nexport var mdiMore = \"M19,13.5A1.5,1.5 0 0,1 17.5,12A1.5,1.5 0 0,1 19,10.5A1.5,1.5 0 0,1 20.5,12A1.5,1.5 0 0,1 19,13.5M14,13.5A1.5,1.5 0 0,1 12.5,12A1.5,1.5 0 0,1 14,10.5A1.5,1.5 0 0,1 15.5,12A1.5,1.5 0 0,1 14,13.5M9,13.5A1.5,1.5 0 0,1 7.5,12A1.5,1.5 0 0,1 9,10.5A1.5,1.5 0 0,1 10.5,12A1.5,1.5 0 0,1 9,13.5M22,3H7C6.31,3 5.77,3.35 5.41,3.88L0,12L5.41,20.11C5.77,20.64 6.37,21 7.06,21H22A2,2 0 0,0 24,19V5C24,3.89 23.1,3 22,3Z\";\r\nexport var mdiMortarPestle = \"M21 7L19 13L21 19V21H3V19L5 13L3 7V5H15.7L17.2 1L19.5 1.8L18.3 5H21V7Z\";\r\nexport var mdiMortarPestlePlus = \"M16,14H13V17H11V14H8V12H11V9H13V12H16M21,5H18.35L19.5,1.85L17.15,1L15.69,5H3V7L5,13L3,19V21H21V19L19,13L21,7V5Z\";\r\nexport var mdiMosque = \"M24 7C24 5.9 22 4 22 4S20 5.9 20 7C20 7.7 20.4 8.4 21 8.7V13H19V11C19 10.1 18.3 9.3 17.5 9.1C17.8 8.5 18 7.9 18 7.1C18 5.8 17.4 4.6 16.3 3.9L12 1L7.7 3.8C6.7 4.6 6 5.8 6 7.1C6 7.8 6.2 8.5 6.6 9.1C5.7 9.3 5 10.1 5 11V13H3V8.7C3.6 8.4 4 7.7 4 7C4 5.9 2 4 2 4S0 5.9 0 7C0 7.7 .4 8.4 1 8.7V21H11V17C11 16.5 11.4 16 12 16S13 16.5 13 17V21H23V8.7C23.6 8.4 24 7.7 24 7M8.9 5.5L12 3.4L15.1 5.5C15.7 5.9 16 6.4 16 7.1C16 8.1 15.1 9 14.1 9H9.9C8.9 9 8 8.1 8 7.1C8 6.4 8.3 5.9 8.9 5.5M21 19H15V17C15 15.4 13.6 14 12 14S9 15.4 9 17V19H3V15H7V11H17V15H21V19Z\";\r\nexport var mdiMotherHeart = \"M12 2C13.66 2 15 3.34 15 5S13.66 8 12 8 9 6.66 9 5 10.34 2 12 2M20 18L18 12.56C17.65 11.57 17.34 10.71 16 10C14.63 9.3 13.63 9 12 9C10.39 9 9.39 9.3 8 10C6.68 10.71 6.37 11.57 6 12.56L4 18C3.77 19.13 6.38 20.44 8.13 21.19C9.34 21.72 10.64 22 12 22C13.38 22 14.67 21.72 15.89 21.19C17.64 20.44 20.25 19.13 20 18M15.42 17.5L12 21L8.58 17.5C8.22 17.12 8 16.61 8 16.05C8 14.92 8.9 14 10 14C10.55 14 11.06 14.23 11.42 14.61L12 15.2L12.58 14.6C12.94 14.23 13.45 14 14 14C15.11 14 16 14.92 16 16.05C16 16.61 15.78 17.13 15.42 17.5Z\";\r\nexport var mdiMotherNurse = \"M12,2A3,3 0 0,1 15,5A3,3 0 0,1 12,8A3,3 0 0,1 9,5A3,3 0 0,1 12,2M20,18L18,12.56C17.65,11.57 17.34,10.71 16,10C14.62,9.3 13.62,9 12,9C10.37,9 9.38,9.3 8,10C6.66,10.71 6.35,11.57 6,12.56L4,18C3.68,19.35 6.36,20.44 8.11,21.19V19C8.11,18.05 8.97,17.38 10.69,16.97C10.85,16.93 11,16.91 11.12,16.89C10.58,16.07 10.36,15.34 10.34,15.28L12.11,14.68C12.12,14.7 12.63,16.27 13.84,17.06C14.05,17.13 14.26,17.21 14.46,17.3C15.23,17.64 15.69,18.08 15.84,18.61C14.5,19.14 13.22,19.41 12,19.41L11,19.31V21.94L12,22C13.37,22 14.67,21.72 15.89,21.19C17.64,20.44 20.25,19.13 20,18M15.5,17A1.5,1.5 0 0,1 14,15.5A1.5,1.5 0 0,1 15.5,14A1.5,1.5 0 0,1 17,15.5A1.5,1.5 0 0,1 15.5,17Z\";\r\nexport var mdiMotion = \"M7 13H3C2.45 13 2 12.55 2 12S2.45 11 3 11H7C7.55 11 8 11.45 8 12S7.55 13 7 13M6 8C6 7.45 5.55 7 5 7H4C3.45 7 3 7.45 3 8S3.45 9 4 9H5C5.55 9 6 8.55 6 8M22 12C22 14.76 19.76 17 17 17H4C3.45 17 3 16.55 3 16S3.45 15 4 15H13C12.58 14.42 12.25 13.74 12.1 13H10C9.45 13 9 12.55 9 12S9.45 11 10 11H12.1C12.25 10.26 12.58 9.58 13 9H8C7.45 9 7 8.55 7 8S7.45 7 8 7H17C19.76 7 22 9.24 22 12Z\";\r\nexport var mdiMotionOutline = \"M7 13H3C2.45 13 2 12.55 2 12S2.45 11 3 11H7C7.55 11 8 11.45 8 12S7.55 13 7 13M6 8C6 7.45 5.55 7 5 7H4C3.45 7 3 7.45 3 8S3.45 9 4 9H5C5.55 9 6 8.55 6 8M22 12C22 14.76 19.76 17 17 17H4C3.45 17 3 16.55 3 16S3.45 15 4 15H13C12.58 14.42 12.25 13.74 12.1 13H10C9.45 13 9 12.55 9 12S9.45 11 10 11H12.1C12.25 10.26 12.58 9.58 13 9H8C7.45 9 7 8.55 7 8S7.45 7 8 7H17C19.76 7 22 9.24 22 12M20 12C20 10.35 18.65 9 17 9S14 10.35 14 12C14 13.65 15.35 15 17 15S20 13.65 20 12Z\";\r\nexport var mdiMotionPause = \"M22 12C22 6.46 17.54 2 12 2C10.83 2 9.7 2.19 8.62 2.56L9.32 4.5C10.17 4.16 11.06 3.97 12 3.97C16.41 3.97 20.03 7.59 20.03 12C20.03 16.41 16.41 20.03 12 20.03C7.59 20.03 3.97 16.41 3.97 12C3.97 11.06 4.16 10.12 4.5 9.28L2.56 8.62C2.19 9.7 2 10.83 2 12C2 17.54 6.46 22 12 22C17.54 22 22 17.54 22 12M5.47 3.97C6.32 3.97 7 4.68 7 5.47C7 6.32 6.32 7 5.47 7C4.68 7 3.97 6.32 3.97 5.47C3.97 4.68 4.68 3.97 5.47 3.97M18 12C18 8.67 15.33 6 12 6C8.67 6 6 8.67 6 12C6 15.33 8.67 18 12 18C15.33 18 18 15.33 18 12M11 9V15H9V9M15 9V15H13V9\";\r\nexport var mdiMotionPauseOutline = \"M22 12C22 6.46 17.54 2 12 2C10.83 2 9.7 2.19 8.62 2.56L9.32 4.5C10.17 4.16 11.06 3.97 12 3.97C16.41 3.97 20.03 7.59 20.03 12C20.03 16.41 16.41 20.03 12 20.03C7.59 20.03 3.97 16.41 3.97 12C3.97 11.06 4.16 10.12 4.5 9.28L2.56 8.62C2.19 9.7 2 10.83 2 12C2 17.54 6.46 22 12 22C17.54 22 22 17.54 22 12M5.47 7C4.68 7 3.97 6.32 3.97 5.47C3.97 4.68 4.68 3.97 5.47 3.97C6.32 3.97 7 4.68 7 5.47C7 6.32 6.32 7 5.47 7M9 9H11V15H9M13 9H15V15H13\";\r\nexport var mdiMotionPlay = \"M22 12C22 6.46 17.54 2 12 2C10.83 2 9.7 2.19 8.62 2.56L9.32 4.5C10.17 4.16 11.06 3.97 12 3.97C16.41 3.97 20.03 7.59 20.03 12C20.03 16.41 16.41 20.03 12 20.03C7.59 20.03 3.97 16.41 3.97 12C3.97 11.06 4.16 10.12 4.5 9.28L2.56 8.62C2.19 9.7 2 10.83 2 12C2 17.54 6.46 22 12 22C17.54 22 22 17.54 22 12M5.47 3.97C6.32 3.97 7 4.68 7 5.47C7 6.32 6.32 7 5.47 7C4.68 7 3.97 6.32 3.97 5.47C3.97 4.68 4.68 3.97 5.47 3.97M18 12C18 8.67 15.33 6 12 6C8.67 6 6 8.67 6 12C6 15.33 8.67 18 12 18C15.33 18 18 15.33 18 12M15 12L10 15V9\";\r\nexport var mdiMotionPlayOutline = \"M10 16.5L16 12L10 7.5M22 12C22 6.46 17.54 2 12 2C10.83 2 9.7 2.19 8.62 2.56L9.32 4.5C10.17 4.16 11.06 3.97 12 3.97C16.41 3.97 20.03 7.59 20.03 12C20.03 16.41 16.41 20.03 12 20.03C7.59 20.03 3.97 16.41 3.97 12C3.97 11.06 4.16 10.12 4.5 9.28L2.56 8.62C2.19 9.7 2 10.83 2 12C2 17.54 6.46 22 12 22C17.54 22 22 17.54 22 12M5.47 3.97C6.32 3.97 7 4.68 7 5.47C7 6.32 6.32 7 5.47 7C4.68 7 3.97 6.32 3.97 5.47C3.97 4.68 4.68 3.97 5.47 3.97Z\";\r\nexport var mdiMotionSensor = \"M10,0.2C9,0.2 8.2,1 8.2,2C8.2,3 9,3.8 10,3.8C11,3.8 11.8,3 11.8,2C11.8,1 11,0.2 10,0.2M15.67,1A7.33,7.33 0 0,0 23,8.33V7A6,6 0 0,1 17,1H15.67M18.33,1C18.33,3.58 20.42,5.67 23,5.67V4.33C21.16,4.33 19.67,2.84 19.67,1H18.33M21,1A2,2 0 0,0 23,3V1H21M7.92,4.03C7.75,4.03 7.58,4.06 7.42,4.11L2,5.8V11H3.8V7.33L5.91,6.67L2,22H3.8L6.67,13.89L9,17V22H10.8V15.59L8.31,11.05L9.04,8.18L10.12,10H15V8.2H11.38L9.38,4.87C9.08,4.37 8.54,4.03 7.92,4.03Z\";\r\nexport var mdiMotionSensorOff = \"M11.4 8.2H15V10H13.2L11.4 8.2M19.67 1H18.33C18.33 3.58 20.42 5.67 23 5.67V4.33C21.16 4.33 19.67 2.84 19.67 1M21 1C21 2.11 21.9 3 23 3V1H21M17 1H15.67C15.67 5.05 18.95 8.33 23 8.33V7C19.69 7 17 4.31 17 1M10 3.8C11 3.8 11.8 3 11.8 2S11 .2 10 .2 8.2 1 8.2 2 9 3.8 10 3.8M2.39 1.73L1.11 3L3.46 5.35L2 5.8V11H3.8V7.33L5.05 6.94L5.68 7.57L2 22H3.8L6.67 13.89L9 17V22H10.8V15.59L8.31 11.05L8.5 10.37L20.84 22.73L22.11 21.46L2.39 1.73M9.38 4.87C9.08 4.37 8.54 4.03 7.92 4.03C7.75 4.03 7.58 4.06 7.42 4.11L7.34 4.14L11.35 8.15L9.38 4.87Z\";\r\nexport var mdiMotorbike = \"M17.42,10L13.41,6H9V8H12.59L14.59,10H6.5C4,10 2,12 2,14.5C2,17 4,19 6.5,19C8.72,19 10.56,17.38 10.92,15.27L13.04,14C13,14.17 13,14.33 13,14.5C13,17 15,19 17.5,19C20,19 22,17 22,14.5C22,12 20,10 17.5,10M8.84,15.26C8.5,16.27 7.58,17 6.47,17C5.09,17 3.97,15.88 3.97,14.5C3.97,13.12 5.09,12 6.47,12C7.59,12 8.5,12.74 8.84,13.75H6V15.25L8.84,15.26M17.47,17C16.09,17 14.97,15.88 14.97,14.5C14.97,13.12 16.09,12 17.47,12A2.5,2.5 0 0,1 19.97,14.5A2.5,2.5 0 0,1 17.47,17Z\";\r\nexport var mdiMotorbikeElectric = \"M17.42 8L13.41 4H9V6H12.59L14.59 8H6.5C4 8 2 10 2 12.5S4 17 6.5 17C8.72 17 10.56 15.38 10.92 13.27L13.04 12C13 12.17 13 12.33 13 12.5C13 15 15 17 17.5 17S22 15 22 12.5 20 8 17.5 8M8.84 13.26C8.5 14.27 7.58 15 6.47 15C5.09 15 3.97 13.88 3.97 12.5S5.09 10 6.47 10C7.59 10 8.5 10.74 8.84 11.75H6V13.25L8.84 13.26M17.47 15C16.09 15 14.97 13.88 14.97 12.5S16.09 10 17.47 10C18.85 10 19.97 11.12 19.97 12.5S18.85 15 17.47 15M11 20H7L13 23V21H17L11 18V20Z\";\r\nexport var mdiMouse = \"M11,1.07C7.05,1.56 4,4.92 4,9H11M4,15A8,8 0 0,0 12,23A8,8 0 0,0 20,15V11H4M13,1.07V9H20C20,4.92 16.94,1.56 13,1.07Z\";\r\nexport var mdiMouseBluetooth = \"M20,7H20.5L23.35,9.85L21.21,12L23.35,14.14L20.5,17H20V13.21L17.71,15.5L17,14.79L19.79,12L17,9.21L17.71,8.5L20,10.79V7M21,8.91V10.79L21.94,9.85L21,8.91M21,13.21V15.08L21.94,14.14L21,13.21M15,9V10H9V2.07C12.39,2.56 15,5.47 15,9M1,10V9C1,5.47 3.61,2.56 7,2.07V10H1M15,15A7,7 0 0,1 8,22A7,7 0 0,1 1,15V12H15V15Z\";\r\nexport var mdiMouseMoveDown = \"M7 9H2C2 6.04 4.17 3.57 7 3.09V9M20 7H18V13H15L19 17L23 13H20V7M9 3.09V9H14C14 6.04 11.83 3.57 9 3.09M2 15C2 18.3 4.7 21 8 21S14 18.3 14 15V11H2V15Z\";\r\nexport var mdiMouseMoveUp = \"M7 9H2C2 6.04 4.17 3.57 7 3.09V9M18 17H20V11H23L19 7L15 11H18V17M9 3.09V9H14C14 6.04 11.83 3.57 9 3.09M2 15C2 18.3 4.7 21 8 21S14 18.3 14 15V11H2V15Z\";\r\nexport var mdiMouseMoveVertical = \"M20 6H23L19 2L15 6H18V18H15L19 22L23 18H20V6M9 3.09C11.83 3.57 14 6.04 14 9H9V3.09M14 11V15C14 18.3 11.3 21 8 21S2 18.3 2 15V11H14M7 9H2C2 6.04 4.17 3.57 7 3.09V9Z\";\r\nexport var mdiMouseOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L17.5,20.79C16.08,22.16 14.14,23 12,23A8,8 0 0,1 4,15V11H7.73L5.73,9H4C4,8.46 4.05,7.93 4.15,7.42L2,5.27M11,1.07V9H10.82L5.79,3.96C7.05,2.4 8.9,1.33 11,1.07M20,11V15C20,15.95 19.83,16.86 19.53,17.71L12.82,11H20M13,1.07C16.94,1.56 20,4.92 20,9H13V1.07Z\";\r\nexport var mdiMouseVariant = \"M14,7H10V2.1C12.28,2.56 14,4.58 14,7M4,7C4,4.58 5.72,2.56 8,2.1V7H4M14,12C14,14.42 12.28,16.44 10,16.9V18A3,3 0 0,0 13,21A3,3 0 0,0 16,18V13A4,4 0 0,1 20,9H22L21,10L22,11H20A2,2 0 0,0 18,13H18V18A5,5 0 0,1 13,23A5,5 0 0,1 8,18V16.9C5.72,16.44 4,14.42 4,12V9H14V12Z\";\r\nexport var mdiMouseVariantOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L17.29,20.56C16.42,22 14.82,23 13,23A5,5 0 0,1 8,18V16.9C5.72,16.44 4,14.42 4,12V9H5.73L2,5.27M14,7H10V2.1C12.28,2.56 14,4.58 14,7M8,2.1V6.18L5.38,3.55C6.07,2.83 7,2.31 8,2.1M14,12V12.17L10.82,9H14V12M10,16.9V18A3,3 0 0,0 13,21C14.28,21 15.37,20.2 15.8,19.07L12.4,15.67C11.74,16.28 10.92,16.71 10,16.9M16,13A4,4 0 0,1 20,9H22L21,10L22,11H20A2,2 0 0,0 18,13V16.18L16,14.18V13Z\";\r\nexport var mdiMoveResize = \"M9,1V2H10V5H9V6H12V5H11V2H12V1M9,7C7.89,7 7,7.89 7,9V21C7,22.11 7.89,23 9,23H21C22.11,23 23,22.11 23,21V9C23,7.89 22.11,7 21,7M1,9V12H2V11H5V12H6V9H5V10H2V9M9,9H21V21H9M14,10V11H15V16H11V15H10V18H11V17H15V19H14V20H17V19H16V17H19V18H20V15H19V16H16V11H17V10\";\r\nexport var mdiMoveResizeVariant = \"M1.88,0.46L0.46,1.88L5.59,7H2V9H9V2H7V5.59M11,7V9H21V15H23V9A2,2 0 0,0 21,7M7,11V21A2,2 0 0,0 9,23H15V21H9V11M15.88,14.46L14.46,15.88L19.6,21H17V23H23V17H21V19.59\";\r\nexport var mdiMovie = \"M18,4L20,8H17L15,4H13L15,8H12L10,4H8L10,8H7L5,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V4H18Z\";\r\nexport var mdiMovieCheck = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\r\nexport var mdiMovieCheckOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.39 13.46 20.72 13.22 20 13.09V10H5.76L4 6.47V18H13.09C13.04 18.33 13 18.66 13 19M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\r\nexport var mdiMovieCog = \"M12 19C12 19.34 12.03 19.67 12.08 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V12.68C21.09 12.25 20.08 12 19 12C15.13 12 12 15.13 12 19M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\r\nexport var mdiMovieCogOutline = \"M12 19C12 19.34 12.03 19.67 12.08 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V12.68C21.38 12.39 20.71 12.18 20 12.08V10H5.76L4 6.47V18H12.08C12.03 18.33 12 18.66 12 19M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\r\nexport var mdiMovieEdit = \"M21.04 11.13C20.9 11.13 20.76 11.19 20.65 11.3L19.65 12.3L21.7 14.35L22.7 13.35C22.92 13.14 22.92 12.79 22.7 12.58L21.42 11.3C21.31 11.19 21.18 11.13 21.04 11.13M19.07 12.88L13 18.94V21H15.06L21.12 14.93L19.07 12.88M11 20H3C1.9 20 1 19.11 1 18V6C1 4.89 1.9 4 3 4H4L6 8H9L7 4H9L11 8H14L12 4H14L16 8H19L17 4H21V8.12L11 18.11V20Z\";\r\nexport var mdiMovieEditOutline = \"M21 4V8.12L19.12 10H4.76L3 6.47V18H11V20H3C1.9 20 1 19.11 1 18V6C1 4.89 1.9 4 3 4H4L6 8H9L7 4H9L11 8H14L12 4H14L16 8H19L17 4H21M21.42 12.3L22.7 13.58C22.92 13.79 22.92 14.14 22.7 14.35L21.7 15.35L19.65 13.3L20.65 12.3C20.76 12.19 20.9 12.13 21.04 12.13C21.18 12.13 21.31 12.19 21.42 12.3M21.12 15.93L15.06 22H13V19.94L19.07 13.88L21.12 15.93Z\";\r\nexport var mdiMovieFilter = \"M18 4L20 7H17L15 4H13L15 7H12L10 4H8L10 7H7L5 4H4C2.9 4 2 4.9 2 6L2 18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V4H18M11.25 15.25L10 18L8.75 15.25L6 14L8.75 12.75L10 10L11.25 12.75L14 14L11.25 15.25M16.94 11.94L16 14L15.06 11.94L13 11L15.06 10.06L16 8L16.94 10.06L19 11L16.94 11.94Z\";\r\nexport var mdiMovieFilterOutline = \"M10 11L9.06 13.06L7 14L9.06 14.94L10 17L10.94 14.94L13 14L10.94 13.06M18 4L20 8H17L15 4H13L15 8H12L10 4H8L10 8H7L5 4H4C2.91 4 2 4.9 2 6L2 18C2 19.1 2.91 20 4 20H20C21.11 20 22 19.1 22 18V4H18M20 18H4V6.47L5.77 10H16L15.37 11.37L14 12L15.37 12.63L16 14L16.63 12.63L18 12L16.63 11.37L16 10H20V18Z\";\r\nexport var mdiMovieMinus = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M15 18V20H23V18H15Z\";\r\nexport var mdiMovieMinusOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.39 13.46 20.72 13.22 20 13.09V10H5.76L4 6.47V18H13.09C13.04 18.33 13 18.66 13 19M15 18V20H23V18H15Z\";\r\nexport var mdiMovieOff = \"M22.11 21.46L20.84 22.73L18.11 20H4C2.9 20 2 19.11 2 18V6C2 5.42 2.25 4.9 2.65 4.54L1.11 3L2.39 1.73L22.11 21.46M21.88 18.68C21.96 18.47 22 18.24 22 18V4H18L20 8H17L15 4H13L15 8H12L10 4H8L8.8 5.6L21.88 18.68Z\";\r\nexport var mdiMovieOffOutline = \"M2.39 1.73L1.11 3L2.65 4.54C2.25 4.9 2 5.42 2 6V18C2 19.11 2.9 20 4 20H18.11L20.84 22.73L22.11 21.46L2.39 1.73M4 18V6.47L5.76 10H8.11L16.11 18H4M8.8 5.6L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V18C22 18.24 21.96 18.47 21.88 18.68L20 16.8V10H13.2L8.8 5.6Z\";\r\nexport var mdiMovieOpen = \"M20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1L20.84 2.18M13.97 3.54L12 3.93L14.75 7.46L16.71 7.07L13.97 3.54M9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05L9.07 4.5M4.16 5.5L3.18 5.69A2 2 0 0 0 1.61 8.04L2 10L6.9 9.03L4.16 5.5M2 10V20C2 21.11 2.9 22 4 22H20C21.11 22 22 21.11 22 20V10H2Z\";\r\nexport var mdiMovieOpenCheck = \"M19.65 6.5L16.91 2.96L20.84 2.18L21.62 6.1L19.65 6.5M16.71 7.07L13.97 3.54L12 3.93L14.75 7.46L16.71 7.07M19 13C20.1 13 21.12 13.3 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.91 1.4 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\r\nexport var mdiMovieOpenCheckOutline = \"M14.75 7.46L12 3.93L13.97 3.54L16.71 7.07L14.75 7.46M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M4 20V12H20V13.09C20.72 13.21 21.39 13.46 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.46 21.39 13.22 20.72 13.09 20H4M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\r\nexport var mdiMovieOpenCog = \"M14.75 7.46L12 3.93L13.97 3.54L16.71 7.07L14.75 7.46M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M19 12C20.08 12 21.09 12.25 22 12.68V10H2V20C2 21.11 2.9 22 4 22H12.68C12.25 21.09 12 20.08 12 19C12 15.13 15.13 12 19 12M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.91 1.4 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\r\nexport var mdiMovieOpenCogOutline = \"M14.75 7.46L12 3.93L13.97 3.54L16.71 7.07L14.75 7.46M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M4 20V12H20V12.08C20.71 12.18 21.38 12.39 22 12.69V10H2V20C2 21.11 2.9 22 4 22H12.68C12.39 21.38 12.18 20.71 12.08 20H4M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\r\nexport var mdiMovieOpenEdit = \"M19.65 6.5L16.91 2.96L20.84 2.18L21.62 6.1L19.65 6.5M16.71 7.07L13.97 3.54L12 3.93L14.75 7.46L16.71 7.07M2 10V20C2 21.11 2.9 22 4 22H11V19.13L20.13 10H2M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.91 1.4 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47Z\";\r\nexport var mdiMovieOpenEditOutline = \"M14.75 7.46L12 3.93L13.97 3.54L16.71 7.07L14.75 7.46M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M4 12H18.13L20.13 10H2V20C2 21.11 2.9 22 4 22H11V20H4V12M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47Z\";\r\nexport var mdiMovieOpenMinus = \"M14.75 7.46L12 3.93L13.97 3.54L16.71 7.07L14.75 7.46M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.91 1.4 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M19 13C20.1 13 21.12 13.3 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M15 18V20H23V18H15Z\";\r\nexport var mdiMovieOpenMinusOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H4C2.9 22 2 21.11 2 20V10H22V13.81C21.39 13.46 20.72 13.22 20 13.09V12H4V20H13.09M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M16.71 7.07L13.97 3.54L12 3.93L14.75 7.46L16.71 7.07M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M15 18V20H23V18H15Z\";\r\nexport var mdiMovieOpenOff = \"M13.2 10H22V18.8L13.2 10M21.6 6.1L20.8 2.2L16.9 3L19.6 6.5L21.6 6.1M11.8 8L9.1 4.5L7.9 4.7L11.3 8.1L11.8 8M2.4 1.7L1.1 3L3.7 5.6L3.2 5.7C2.1 5.9 1.4 7 1.6 8L2 10L7.1 9L8.1 10H2V20C2 21.1 2.9 22 4 22H20.1L20.8 22.7L22.1 21.4L2.4 1.7M16.7 7.1L14 3.5L12 3.9L14.8 7.4L16.7 7.1Z\";\r\nexport var mdiMovieOpenOffOutline = \"M19.7 6.5L16.9 3L20.8 2.2L21.6 6.1L19.7 6.5M22.1 21.5L20.8 22.8L20.1 22H4C2.9 22 2 21.1 2 20V10H8.1L7.1 9L2 10L1.6 8C1.4 7 2.1 5.9 3.2 5.7L3.7 5.6L1.1 3L2.4 1.7L22.1 21.5M18.1 20L10.1 12H4V20H18.1M22 18.8V10H13.2L15.2 12H20V16.8L22 18.8M16.7 7.1L14 3.5L12 3.9L14.8 7.4L16.7 7.1M11.8 8L9.1 4.5L7.9 4.7L11.3 8.1L11.8 8Z\";\r\nexport var mdiMovieOpenOutline = \"M20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1L20.84 2.18M13.97 3.54L12 3.93L14.75 7.46L16.71 7.07L13.97 3.54M9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05L9.07 4.5M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M20 12V20H4V12H20M22 10H2V20C2 21.11 2.9 22 4 22H20C21.11 22 22 21.11 22 20V10Z\";\r\nexport var mdiMovieOpenPlay = \"M14.75 7.46L12 3.93L13.97 3.54L16.71 7.07L14.75 7.46M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M4.16 5.5L3.18 5.69C2.1 5.91 1.4 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M2 10V20C2 21.11 2.9 22 4 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13C20.1 13 21.12 13.3 22 13.81V10H2M17 22L22 19L17 16V22Z\";\r\nexport var mdiMovieOpenPlayOutline = \"M22 10V13.81C21.39 13.46 20.72 13.22 20 13.09V12H4V20H13.09C13.21 20.72 13.46 21.39 13.81 22H4C2.9 22 2 21.11 2 20V10H22M16.71 7.07L13.97 3.54L12 3.93L14.75 7.46L16.71 7.07M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M17 22L22 19L17 16V22Z\";\r\nexport var mdiMovieOpenPlus = \"M19.65 6.5L16.91 2.96L20.84 2.18L21.62 6.1L19.65 6.5M16.71 7.07L13.97 3.54L12 3.93L14.75 7.46L16.71 7.07M19 13C20.1 13 21.12 13.3 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.91 1.4 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiMovieOpenPlusOutline = \"M14.75 7.46L12 3.93L13.97 3.54L16.71 7.07L14.75 7.46M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M4 20V12H20V13.09C20.72 13.21 21.39 13.46 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.46 21.39 13.22 20.72 13.09 20H4M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiMovieOpenRemove = \"M14.75 7.46L12 3.93L13.97 3.54L16.71 7.07L14.75 7.46M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M19 13C20.1 13 21.12 13.3 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M4.16 5.5L3.18 5.69C2.1 5.91 1.4 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiMovieOpenRemoveOutline = \"M19.65 6.5L16.91 2.96L20.84 2.18L21.62 6.1L19.65 6.5M16.71 7.07L13.97 3.54L12 3.93L14.75 7.46L16.71 7.07M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4 20V12H20V13.09C20.72 13.21 21.39 13.46 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.46 21.39 13.22 20.72 13.09 20H4M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiMovieOpenSettings = \"M14.75 5.46L12 1.93L13.97 1.54L16.71 5.07L14.75 5.46M21.62 4.1L20.84 .18L16.91 .96L19.65 4.5L21.62 4.1M11.81 6.05L9.07 2.5L7.1 2.91L9.85 6.44L11.81 6.05M2 8V18C2 19.11 2.9 20 4 20H20C21.11 20 22 19.11 22 18V8H2M4.16 3.5L3.18 3.69C2.1 3.91 1.4 4.96 1.61 6.04L2 8L6.9 7.03L4.16 3.5M11 24H13V22H11V24M7 24H9V22H7V24M15 24H17V22H15V24Z\";\r\nexport var mdiMovieOpenSettingsOutline = \"M19.65 4.5L16.91 .96L20.84 .18L21.62 4.1L19.65 4.5M16.71 5.07L13.97 1.54L12 1.93L14.75 5.46L16.71 5.07M11.81 6.05L9.07 2.5L7.1 2.91L9.85 6.44L11.81 6.05M4.16 3.5L3.18 3.69C2.1 3.9 1.39 4.96 1.61 6.04L2 8L6.9 7.03L4.16 3.5M22 8V18C22 19.11 21.11 20 20 20H4C2.9 20 2 19.11 2 18V8H22M20 10H4V18H20V10M7 24H9V22H7V24M15 24H17V22H15V24M11 24H13V22H11V24Z\";\r\nexport var mdiMovieOpenStar = \"M19.65 6.5L16.91 2.96L20.84 2.18L21.62 6.1L19.65 6.5M16.71 7.07L13.97 3.54L12 3.93L14.75 7.46L16.71 7.07M19 13C20.1 13 21.12 13.3 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M4.16 5.5L3.18 5.69C2.1 5.91 1.4 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M23 17.89L20.11 17.64L19 15L17.87 17.64L15 17.89L17.18 19.77L16.5 22.58L19 21.09L21.45 22.58L20.8 19.77L23 17.89Z\";\r\nexport var mdiMovieOpenStarOutline = \"M19.65 6.5L16.91 2.96L20.84 2.18L21.62 6.1L19.65 6.5M16.71 7.07L13.97 3.54L12 3.93L14.75 7.46L16.71 7.07M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4 20V12H20V13.09C20.72 13.21 21.39 13.46 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.46 21.39 13.22 20.72 13.09 20H4M23 17.89L20.11 17.64L19 15L17.87 17.64L15 17.89L17.18 19.77L16.5 22.58L19 21.09L21.45 22.58L20.8 19.77L23 17.89Z\";\r\nexport var mdiMovieOutline = \"M5.76,10H20V18H4V6.47M22,4H18L20,8H17L15,4H13L15,8H12L10,4H8L10,8H7L5,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V4Z\";\r\nexport var mdiMoviePlay = \"M22 4V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22M17 22L22 19L17 16V22Z\";\r\nexport var mdiMoviePlayOutline = \"M22 4V13.81C21.39 13.46 20.72 13.22 20 13.09V10H5.76L4 6.47V18H13.09C13.04 18.33 13 18.66 13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22M17 22L22 19L17 16V22Z\";\r\nexport var mdiMoviePlus = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiMoviePlusOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.39 13.46 20.72 13.22 20 13.09V10H5.76L4 6.47V18H13.09C13.04 18.33 13 18.66 13 19M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiMovieRemove = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiMovieRemoveOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.39 13.46 20.72 13.22 20 13.09V10H5.76L4 6.47V18H13.09C13.04 18.33 13 18.66 13 19M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiMovieRoll = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A2.5,2.5 0 0,0 9.5,6.5A2.5,2.5 0 0,0 12,9A2.5,2.5 0 0,0 14.5,6.5A2.5,2.5 0 0,0 12,4M4.4,9.53C3.97,10.84 4.69,12.25 6,12.68C7.32,13.1 8.73,12.39 9.15,11.07C9.58,9.76 8.86,8.35 7.55,7.92C6.24,7.5 4.82,8.21 4.4,9.53M19.61,9.5C19.18,8.21 17.77,7.5 16.46,7.92C15.14,8.34 14.42,9.75 14.85,11.07C15.28,12.38 16.69,13.1 18,12.67C19.31,12.25 20.03,10.83 19.61,9.5M7.31,18.46C8.42,19.28 10,19.03 10.8,17.91C11.61,16.79 11.36,15.23 10.24,14.42C9.13,13.61 7.56,13.86 6.75,14.97C5.94,16.09 6.19,17.65 7.31,18.46M16.7,18.46C17.82,17.65 18.07,16.09 17.26,14.97C16.45,13.85 14.88,13.6 13.77,14.42C12.65,15.23 12.4,16.79 13.21,17.91C14,19.03 15.59,19.27 16.7,18.46M12,10.5A1.5,1.5 0 0,0 10.5,12A1.5,1.5 0 0,0 12,13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 12,10.5Z\";\r\nexport var mdiMovieSearch = \"M11.03 20H4C2.9 20 2 19.1 2 18L2 6C2 4.9 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.05C20.85 11.22 18.82 10 16.5 10C12.92 10 10 12.92 10 16.5C10 17.79 10.38 19 11.03 20M23.39 22L22 23.39L18.88 20.32C18.19 20.75 17.37 21 16.5 21C14 21 12 19 12 16.5S14 12 16.5 12 21 14 21 16.5C21 17.38 20.75 18.21 20.31 18.9L23.39 22M19 16.5C19 15.12 17.88 14 16.5 14S14 15.12 14 16.5 15.12 19 16.5 19 19 17.88 19 16.5Z\";\r\nexport var mdiMovieSearchOutline = \"M11 20H4C2.9 20 2 19.1 2 18V6C2 4.9 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13C21.5 12.2 20.8 11.5 20 11V10H5.8L4 6.5V18H10.2C10.4 18.7 10.6 19.4 11 20M20.3 18.9C20.7 18.2 21 17.4 21 16.5C21 14 19 12 16.5 12S12 14 12 16.5 14 21 16.5 21C17.4 21 18.2 20.8 18.9 20.3L22 23.4L23.4 22L20.3 18.9M16.5 19C15.1 19 14 17.9 14 16.5S15.1 14 16.5 14 19 15.1 19 16.5 17.9 19 16.5 19Z\";\r\nexport var mdiMovieSettings = \"M22 4V18C22 19.11 21.11 20 20 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22M7 24H9V22H7V24M11 24H13V22H11V24M15 24H17V22H15V24Z\";\r\nexport var mdiMovieSettingsOutline = \"M18 4L20 8H17L15 4H13L15 8H12L10 4H8L10 8H7L5 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H20C21.11 20 22 19.11 22 18V4H18M20 18H4V6.47L5.76 10H20V18M11 22H13V24H11V22M7 22H9V24H7V22M15 22H17V24H15V22Z\";\r\nexport var mdiMovieStar = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M23 17.89L20.11 17.64L19 15L17.87 17.64L15 17.89L17.18 19.77L16.5 22.58L19 21.09L21.45 22.58L20.8 19.77L23 17.89Z\";\r\nexport var mdiMovieStarOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.39 13.46 20.72 13.22 20 13.09V10H5.76L4 6.47V18H13.09C13.04 18.33 13 18.66 13 19M23 17.89L20.11 17.64L19 15L17.87 17.64L15 17.89L17.18 19.77L16.5 22.58L19 21.09L21.45 22.58L20.8 19.77L23 17.89Z\";\r\nexport var mdiMower = \"M18.5 14C17.55 14 16.69 14.38 16.06 15H9.39L5.74 3H2V5H4.26L7 14.05C6.85 14.03 6.68 14 6.5 14C4.57 14 3 15.57 3 17.5S4.57 21 6.5 21C7.89 21 9.09 20.18 9.65 19H15.35C15.91 20.18 17.11 21 18.5 21C20.43 21 22 19.43 22 17.5S20.43 14 18.5 14M6.5 19C5.67 19 5 18.33 5 17.5S5.67 16 6.5 16 8 16.67 8 17.5 7.33 19 6.5 19M18.5 19C17.67 19 17 18.33 17 17.5S17.67 16 18.5 16 20 16.67 20 17.5 19.33 19 18.5 19M10.13 14L9.53 12H12.76C13.5 12 14.21 12.43 14.55 13.11L15 14H10.13Z\";\r\nexport var mdiMowerBag = \"M11.95 14L10.82 12H14.76C15.5 12 16.21 12.43 16.55 13.11L17 14H11.95M23 18C23 19.66 21.66 21 20 21C18.7 21 17.6 20.16 17.18 19H11.65C11.09 20.18 9.89 21 8.5 21S5.91 20.18 5.35 19H2C1.45 19 1 18.55 1 18V11C1 10.67 1.17 10.36 1.44 10.17C1.71 10 2.06 9.95 2.37 10.07L7.43 12.09L3.42 5H1V3H4.58L11.37 15H20C21.66 15 23 16.34 23 18M7.34 14.21L3 12.5V17H5.05C5.24 15.7 6.13 14.64 7.34 14.21M10 17.5C10 16.67 9.33 16 8.5 16S7 16.67 7 17.5 7.67 19 8.5 19 10 18.33 10 17.5M21 18C21 17.45 20.55 17 20 17S19 17.45 19 18 19.45 19 20 19 21 18.55 21 18Z\";\r\nexport var mdiMuffin = \"M16,5C16,5 15,2 12,2C9,2 8,5 8,5C6,5 4,7 4,9C1.3,9 1.3,13 4,13H20C22.7,13 22.7,9 20,9C20,7 18,5 16,5M5,15L7,22H9L8,15H5M10,15L11,22H13L14,15H10M16,15L15,22H17L19,15H16Z\";\r\nexport var mdiMultiplication = \"M11,3H13V10.27L19.29,6.64L20.29,8.37L14,12L20.3,15.64L19.3,17.37L13,13.72V21H11V13.73L4.69,17.36L3.69,15.63L10,12L3.72,8.36L4.72,6.63L11,10.26V3Z\";\r\nexport var mdiMultiplicationBox = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19M11,17H13V13.73L15.83,15.36L16.83,13.63L14,12L16.83,10.36L15.83,8.63L13,10.27V7H11V10.27L8.17,8.63L7.17,10.36L10,12L7.17,13.63L8.17,15.36L11,13.73V17Z\";\r\nexport var mdiMushroom = \"M12,2A10,10 0 0,1 22,12A2,2 0 0,1 20,14H4A2,2 0 0,1 2,12A10,10 0 0,1 12,2M12,8A2,2 0 0,0 14,6A2,2 0 0,0 12,4A2,2 0 0,0 10,6A2,2 0 0,0 12,8M17,12A2,2 0 0,0 19,10A2,2 0 0,0 17,8A2,2 0 0,0 15,10A2,2 0 0,0 17,12M7,12A2,2 0 0,0 9,10A2,2 0 0,0 7,8A2,2 0 0,0 5,10A2,2 0 0,0 7,12M15,15L16.27,19.45L16.35,20C16.35,21.1 15.45,22 14.35,22H9.65A2,2 0 0,1 7.65,20L7.73,19.45L9,15H15Z\";\r\nexport var mdiMushroomOff = \"M22.1 21.5L2.4 1.7L1.1 3L4.1 6C2.8 7.6 2 9.7 2 12C2 13.1 2.9 14 4 14H12.1L13.1 15H9L7.7 19.5V20C7.7 21.1 8.6 22 9.7 22H14.4C15.5 22 16.4 21.1 16.4 20L16.3 19.5L15.8 17.7L20.9 22.8L22.1 21.5M7 12C5.9 12 5 11.1 5 10C5 9.2 5.5 8.4 6.3 8.1L8.9 10.7C8.6 11.5 7.8 12 7 12M10 6C10 4.9 10.9 4 12 4S14 4.9 14 6 13.1 8 12 8C11.5 8 11.1 7.8 10.7 7.5L17.2 14H20C21.1 14 22 13.1 22 12C22 6.5 17.5 2 12 2C10.1 2 8.3 2.6 6.7 3.5L10.4 7.2C10.2 6.9 10 6.5 10 6M17 8C18.1 8 19 8.9 19 10S18.1 12 17 12 15 11.1 15 10 15.9 8 17 8Z\";\r\nexport var mdiMushroomOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L4.1 6C2.8 7.6 2 9.7 2 12C2 13.1 2.9 14 4 14H12.1L13.1 15H9L8 18.5L7.7 19.5C7.4 20.6 8.1 21.7 9.1 21.9L9.7 22H14.4C15.5 22 16.4 21.1 16.4 20L16.3 19.5L16 18.5L15.8 17.6L20.9 22.7L22.1 21.5M4 12C4 10.3 4.6 8.7 5.5 7.4L6.2 8.1C6.1 8.4 6 8.7 6 9C6 10.1 6.9 11 8 11C8.3 11 8.6 10.9 8.9 10.8L10.1 12H4M9.7 20L10 19L10.6 17H13.6L14.2 19L14.5 20H9.7M16 11C14.9 11 14 10.1 14 9S14.9 7 16 7 18 7.9 18 9 17.1 11 16 11M8.2 5L6.7 3.5C8.3 2.6 10.1 2 12 2C17.5 2 22 6.5 22 12C22 13.1 21.1 14 20 14H17.2L15.2 12H20C20 8.3 17.4 5.1 14 4.2C13.9 5.2 13 6 12 6S10.1 5.2 10 4.2C9.4 4.4 8.7 4.7 8.2 5Z\";\r\nexport var mdiMushroomOutline = \"M4,12H20C20,8.27 17.44,5.13 14,4.25C13.86,5.24 13,6 12,6C11,6 10.14,5.24 10,4.25C6.56,5.13 4,8.27 4,12M12,2A10,10 0 0,1 22,12A2,2 0 0,1 20,14H4A2,2 0 0,1 2,12A10,10 0 0,1 12,2M13.5,17H10.5L9.92,19L9.65,20H14.35L14.08,19L13.5,17M15,15L16,18.5L16.27,19.45L16.35,20C16.35,21.1 15.45,22 14.35,22H9.65L9.17,21.94C8.1,21.66 7.45,20.57 7.73,19.5L8,18.5L9,15H15M16,7A2,2 0 0,1 18,9A2,2 0 0,1 16,11A2,2 0 0,1 14,9A2,2 0 0,1 16,7M8,7A2,2 0 0,1 10,9A2,2 0 0,1 8,11A2,2 0 0,1 6,9A2,2 0 0,1 8,7Z\";\r\nexport var mdiMusic = \"M21,3V15.5A3.5,3.5 0 0,1 17.5,19A3.5,3.5 0 0,1 14,15.5A3.5,3.5 0 0,1 17.5,12C18.04,12 18.55,12.12 19,12.34V6.47L9,8.6V17.5A3.5,3.5 0 0,1 5.5,21A3.5,3.5 0 0,1 2,17.5A3.5,3.5 0 0,1 5.5,14C6.04,14 6.55,14.12 7,14.34V6L21,3Z\";\r\nexport var mdiMusicAccidentalDoubleFlat = \"M15.5 9C14.8 9 14.11 9.28 13.5 9.67V5H11.5V9.62C11.04 9.24 10.39 9 9.5 9C8.8 9 8.11 9.28 7.5 9.67V5H5.5V19C8.5 17.32 10.43 15.79 11.5 14.41V19C16.36 16.26 18.5 13.91 18.5 12C18.5 10.59 17.79 9 15.5 9M7.5 15.38V12.26C8.12 11.59 8.95 11 9.5 11C10.09 11 10.5 11.07 10.5 12C10.5 12.15 10.4 13.3 7.5 15.38M13.5 15.38V12.26C14.12 11.59 14.95 11 15.5 11C16.09 11 16.5 11.07 16.5 12C16.5 12.15 16.4 13.3 13.5 15.38Z\";\r\nexport var mdiMusicAccidentalDoubleSharp = \"M15.41 10H17V7H14V8.59L12 10.59L10 8.59V7H7V10H8.59L10.59 12L8.59 14H7V17H10V15.41L12 13.41L14 15.41V17H17V14H15.41L13.41 12L15.41 10Z\";\r\nexport var mdiMusicAccidentalFlat = \"M8.5 19C13.36 16.26 15.5 13.91 15.5 12C15.5 10.59 14.79 9 12.5 9C11.8 9 11.11 9.28 10.5 9.67V5H8.5M10.5 15.38V12.26C11.12 11.59 11.95 11 12.5 11C13.09 11 13.5 11.07 13.5 12C13.5 12.15 13.4 13.3 10.5 15.38Z\";\r\nexport var mdiMusicAccidentalNatural = \"M10 8.75V3.5H8V17.5L14 15.25V20.5H16V6.5L10 8.75M14 13.25L10 14.75V10.75L14 9.25V13.25Z\";\r\nexport var mdiMusicAccidentalSharp = \"M17 9.5V7.5L15 8.1V5.5H13V8.7L11 9.3V6.5H9V9.9L7 10.5V12.5L9 11.9V13.9L7 14.5V16.5L9 15.9V18.5H11V15.3L13 14.7V17.5H15V14.1L17 13.5V11.5L15 12.1V10.1L17 9.5M13 12.7L11 13.3V11.3L13 10.7V12.7Z\";\r\nexport var mdiMusicBox = \"M16,9H13V14.5A2.5,2.5 0 0,1 10.5,17A2.5,2.5 0 0,1 8,14.5A2.5,2.5 0 0,1 10.5,12C11.07,12 11.58,12.19 12,12.5V7H16M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiMusicBoxMultiple = \"M4,6H2V20A2,2 0 0,0 4,22H18V20H4M18,7H15V12.5A2.5,2.5 0 0,1 12.5,15A2.5,2.5 0 0,1 10,12.5A2.5,2.5 0 0,1 12.5,10C13.07,10 13.58,10.19 14,10.5V5H18M20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2Z\";\r\nexport var mdiMusicBoxMultipleOutline = \"M20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M20,16H8V4H20M12.5,15A2.5,2.5 0 0,0 15,12.5V7H18V5H14V10.5C13.58,10.19 13.07,10 12.5,10A2.5,2.5 0 0,0 10,12.5A2.5,2.5 0 0,0 12.5,15M4,6H2V20A2,2 0 0,0 4,22H18V20H4\";\r\nexport var mdiMusicBoxOutline = \"M16,9H13V14.5A2.5,2.5 0 0,1 10.5,17A2.5,2.5 0 0,1 8,14.5A2.5,2.5 0 0,1 10.5,12C11.07,12 11.58,12.19 12,12.5V7H16V9M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M5,5V19H19V5H5Z\";\r\nexport var mdiMusicCircle = \"M16,9V7H12V12.5C11.58,12.19 11.07,12 10.5,12A2.5,2.5 0 0,0 8,14.5A2.5,2.5 0 0,0 10.5,17A2.5,2.5 0 0,0 13,14.5V9H16M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiMusicCircleOutline = \"M16,9H13V14.5A2.5,2.5 0 0,1 10.5,17A2.5,2.5 0 0,1 8,14.5A2.5,2.5 0 0,1 10.5,12C11.07,12 11.58,12.19 12,12.5V7H16V9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiMusicClefAlto = \"M5 4H7V20H5M15.46 13H14.83L13.83 12L14.83 11H15.46A3.5 3.5 0 1 0 11.96 7.5H13.96A1.5 1.5 0 1 1 15.46 9H14L12 11H11V4H9V20H11V13H12L14 15H15.46A1.5 1.5 0 1 1 13.96 16.5H11.96A3.5 3.5 0 1 0 15.46 13Z\";\r\nexport var mdiMusicClefBass = \"M18.5 5A1.5 1.5 0 1 1 17 6.5A1.5 1.5 0 0 1 18.5 5M18.5 11A1.5 1.5 0 1 1 17 12.5A1.5 1.5 0 0 1 18.5 11M10 4A5 5 0 0 0 5 9V10A2 2 0 1 0 7.18 8A3 3 0 0 1 10 6A4 4 0 0 1 14 10C14 13.59 11.77 16.19 7 18.2L7.76 20.04C13.31 17.72 16 14.43 16 10A6 6 0 0 0 10 4Z\";\r\nexport var mdiMusicClefTreble = \"M13 11V7.5L15.2 5.29C16 4.5 16.15 3.24 15.59 2.26C15.14 1.47 14.32 1 13.45 1C13.24 1 13 1.03 12.81 1.09C11.73 1.38 11 2.38 11 3.5V6.74L7.86 9.91C6.2 11.6 5.7 14.13 6.61 16.34C7.38 18.24 9.06 19.55 11 19.89V20.5C11 20.76 10.77 21 10.5 21H9V23H10.5C11.85 23 13 21.89 13 20.5V20C15.03 20 17.16 18.08 17.16 15.25C17.16 12.95 15.24 11 13 11M13 3.5C13 3.27 13.11 3.09 13.32 3.03C13.54 2.97 13.77 3.06 13.88 3.26C14 3.46 13.96 3.71 13.8 3.87L13 4.73V3.5M11 11.5C10.03 12.14 9.3 13.24 9.04 14.26L11 14.78V17.83C9.87 17.53 8.9 16.71 8.43 15.57C7.84 14.11 8.16 12.45 9.26 11.33L11 9.5V11.5M13 18V12.94C14.17 12.94 15.18 14.04 15.18 15.25C15.18 17 13.91 18 13 18Z\";\r\nexport var mdiMusicNote = \"M12 3V13.55C11.41 13.21 10.73 13 10 13C7.79 13 6 14.79 6 17S7.79 21 10 21 14 19.21 14 17V7H18V3H12Z\";\r\nexport var mdiMusicNoteBluetooth = \"M22 9.85L19.14 7H18.64V10.79L16.35 8.5L15.64 9.21L18.43 12L15.64 14.79L16.35 15.5L18.64 13.21V17H19.14L22 14.15L19.85 12L22 9.85M19.64 8.91L20.58 9.85L19.64 10.79V8.91M20.58 14.15L19.64 15.09V13.21L20.58 14.15M9.64 3V13.55C9.05 13.21 8.37 13 7.64 13C5.43 13 3.64 14.79 3.64 17S5.43 21 7.64 21 11.64 19.21 11.64 17V7H15.64V3H9.64Z\";\r\nexport var mdiMusicNoteBluetoothOff = \"M22 9.85L19.14 7H18.64V10.79L16.35 8.5L15.64 9.21L18.43 12L15.64 14.79L16.35 15.5L18.64 13.21V17H19.14L22 14.15L19.85 12L22 9.85M19.64 8.91L20.58 9.85L19.64 10.79V8.91M20.58 14.15L19.64 15.09V13.21L20.58 14.15M1.96 3L.687 4.27L9.69 13.27V13.55C9.1 13.21 8.42 13 7.69 13C5.5 13 3.69 14.79 3.69 17S5.5 21 7.69 21 11.69 19.21 11.69 17V15.27L17.42 21L18.69 19.73L1.96 3M11.69 7H15.69V3H9.69V8.18L11.69 10.18V7Z\";\r\nexport var mdiMusicNoteEighth = \"M12 3V13.55C11.41 13.21 10.73 13 10 13C7.79 13 6 14.79 6 17S7.79 21 10 21 14 19.21 14 17V7H18V3H12Z\";\r\nexport var mdiMusicNoteEighthDotted = \"M12 3V13.55A4 4 0 1 0 14 17V7H18V3M16.5 20A1.5 1.5 0 1 1 18 18.5A1.5 1.5 0 0 1 16.5 20Z\";\r\nexport var mdiMusicNoteHalf = \"M16 3H14V13.56A3.96 3.96 0 0 0 12 13A4 4 0 1 0 16 17V3M12 19A2 2 0 1 1 14 17A2 2 0 0 1 12 19Z\";\r\nexport var mdiMusicNoteHalfDotted = \"M14 3H12V13.56A3.96 3.96 0 0 0 10 13A4 4 0 1 0 14 17V3M10 19A2 2 0 1 1 12 17A2 2 0 0 1 10 19M16.5 20A1.5 1.5 0 1 1 18 18.5A1.5 1.5 0 0 1 16.5 20Z\";\r\nexport var mdiMusicNoteOff = \"M4.27 3L3 4.27L12 13.27V13.55C11.41 13.21 10.73 13 10 13C7.79 13 6 14.79 6 17S7.79 21 10 21 14 19.21 14 17V15.27L19.73 21L21 19.73L4.27 3M14 7H18V3H12V8.18L14 10.18Z\";\r\nexport var mdiMusicNoteOffOutline = \"M14 7H18V3H12V7.61L14 9.61M12 10.44L4.41 2.86L3 4.27L12 13.27V13.55A3.94 3.94 0 0 0 8.67 13.23A4 4 0 0 0 10.65 20.95A4.1 4.1 0 0 0 14 16.85V15.27L19.73 21L21.14 19.59M10 19A2 2 0 1 1 12 17A2 2 0 0 1 10 19Z\";\r\nexport var mdiMusicNoteOutline = \"M12 3V13.55A4 4 0 1 0 14 17V7H18V3M10 19A2 2 0 1 1 12 17A2 2 0 0 1 10 19Z\";\r\nexport var mdiMusicNotePlus = \"M17 9V12H14V14H17V17H19V14H22V12H19V9H17M9 3V13.55C8.41 13.21 7.73 13 7 13C4.79 13 3 14.79 3 17S4.79 21 7 21 11 19.21 11 17V7H15V3H9Z\";\r\nexport var mdiMusicNoteQuarter = \"M14 3V13.56C13.41 13.21 12.73 13 12 13C9.79 13 8 14.79 8 17S9.79 21 12 21 16 19.21 16 17V3H14Z\";\r\nexport var mdiMusicNoteQuarterDotted = \"M12 13V13.56A3.96 3.96 0 0 0 10 13A4 4 0 1 0 14 17V3H12M16.5 17A1.5 1.5 0 1 1 15 18.5A1.5 1.5 0 0 1 16.5 17Z\";\r\nexport var mdiMusicNoteSixteenth = \"M18 7V3H12V13.55C11.41 13.21 10.73 13 10 13C7.79 13 6 14.79 6 17S7.79 21 10 21 14 19.21 14 17V11H18V8H14V7H18Z\";\r\nexport var mdiMusicNoteSixteenthDotted = \"M18 18.5A1.5 1.5 0 1 1 16.5 17A1.5 1.5 0 0 1 18 18.5M18 7V3H12V13.55A4 4 0 1 0 14 17V11H18V8H14V7Z\";\r\nexport var mdiMusicNoteWhole = \"M12 15A2 2 0 1 1 10 17A2 2 0 0 1 12 15M12 13A4 4 0 1 0 16 17A4 4 0 0 0 12 13Z\";\r\nexport var mdiMusicNoteWholeDotted = \"M10 15A2 2 0 1 1 8 17A2 2 0 0 1 10 15M10 13A4 4 0 1 0 14 17A4 4 0 0 0 10 13M16.5 17A1.5 1.5 0 1 1 15 18.5A1.5 1.5 0 0 1 16.5 17Z\";\r\nexport var mdiMusicOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L9,12.27V17.5A3.5,3.5 0 0,1 5.5,21A3.5,3.5 0 0,1 2,17.5A3.5,3.5 0 0,1 5.5,14C6.04,14 6.55,14.12 7,14.34V10.27L2,5.27M21,3V15.5C21,16.5 20.57,17.42 19.88,18.06L14.94,13.12C15.58,12.43 16.5,12 17.5,12C18.04,12 18.55,12.12 19,12.34V6.47L10.17,8.35L7.66,5.84L21,3Z\";\r\nexport var mdiMusicRestEighth = \"M14 6A5.56 5.56 0 0 1 10.95 7.86A1.5 1.5 0 1 0 9.5 9H9.74A6.32 6.32 0 0 0 13.25 7.93L10 18H12L16 6Z\";\r\nexport var mdiMusicRestHalf = \"M6 14H8V10H16V14H18V15H6V14Z\";\r\nexport var mdiMusicRestQuarter = \"M11.71 16.81C10.91 17.6 10.88 18.84 11.64 19.58L10.19 21C8.66 19.5 8.72 17.03 10.32 15.46C10.85 14.94 11.5 14.61 12.16 14.42L9 11.34L10.45 9.92L10.82 9.57C11.82 8.59 11.85 7.04 10.9 6.11L9.16 4.42L10.62 3L14.78 7.06C15.54 7.81 15.5 9.05 14.71 9.83L12.53 11.95L16 15.33L15.61 15.72C15.11 16.21 14.38 16.46 13.72 16.28C13.04 16.1 12.26 16.28 11.71 16.81Z\";\r\nexport var mdiMusicRestSixteenth = \"M15 3A5.56 5.56 0 0 1 11.95 4.86A1.5 1.5 0 1 0 10.5 6H10.74A6.32 6.32 0 0 0 14.25 4.93L12.9 9.1A5.56 5.56 0 0 1 9.95 10.86A1.5 1.5 0 1 0 8.5 12H8.74A6.32 6.32 0 0 0 12.25 10.93L9 21H11L17 3Z\";\r\nexport var mdiMusicRestWhole = \"M18 10H16V14H8V10H6V9H18V10Z\";\r\nexport var mdiMustache = \"M21 12C19 12 18 9 15 9S12 11 12 11 12 9 9 9 5 12 3 12C2 12 1 11 1 11S2 16 6 16C11 16 12 13 12 13S13 16 18 16C22 16 23 11 23 11S22 12 21 12Z\";\r\nexport var mdiNail = \"M13.5,5V16L12,22L10.5,16V5H13.5M17,2H7V4H17V2Z\";\r\nexport var mdiNas = \"M4,5C2.89,5 2,5.89 2,7V17C2,18.11 2.89,19 4,19H20C21.11,19 22,18.11 22,17V7C22,5.89 21.11,5 20,5H4M4.5,7A1,1 0 0,1 5.5,8A1,1 0 0,1 4.5,9A1,1 0 0,1 3.5,8A1,1 0 0,1 4.5,7M7,7H20V17H7V7M8,8V16H11V8H8M12,8V16H15V8H12M16,8V16H19V8H16M9,9H10V10H9V9M13,9H14V10H13V9M17,9H18V10H17V9Z\";\r\nexport var mdiNativescript = \"M7.5,3H16.5C19,3 21,5 21,7.5V16.5C21,19 19,21 16.5,21H7.5C5,21 3,19 3,16.5V7.5C3,5 5,3 7.5,3M6,13.5V16.5A1.5,1.5 0 0,0 7.5,18H9V10.5L15,18H16.5A1.5,1.5 0 0,0 18,16.5V13.5A1.5,1.5 0 0,1 19.5,12A1.5,1.5 0 0,1 18,10.5V7.5A1.5,1.5 0 0,0 16.5,6H15V13.5L9,6H7.5A1.5,1.5 0 0,0 6,7.5V10.5A1.5,1.5 0 0,1 4.5,12A1.5,1.5 0 0,1 6,13.5Z\";\r\nexport var mdiNature = \"M13,16.12C16.47,15.71 19.17,12.76 19.17,9.17C19.17,5.3 16.04,2.17 12.17,2.17A7,7 0 0,0 5.17,9.17C5.17,12.64 7.69,15.5 11,16.06V20H5V22H19V20H13V16.12Z\";\r\nexport var mdiNaturePeople = \"M4.5,11A1.5,1.5 0 0,0 6,9.5A1.5,1.5 0 0,0 4.5,8A1.5,1.5 0 0,0 3,9.5A1.5,1.5 0 0,0 4.5,11M22.17,9.17C22.17,5.3 19.04,2.17 15.17,2.17A7,7 0 0,0 8.17,9.17C8.17,12.64 10.69,15.5 14,16.06V20H6V17H7V13A1,1 0 0,0 6,12H3A1,1 0 0,0 2,13V17H3V22H19V20H16V16.12C19.47,15.71 22.17,12.76 22.17,9.17Z\";\r\nexport var mdiNavigation = \"M12,2L4.5,20.29L5.21,21L12,18L18.79,21L19.5,20.29L12,2Z\";\r\nexport var mdiNavigationOutline = \"M12 7.3L16.3 17.7L12.8 16.2L12 15.8L11.2 16.2L7.7 17.7L12 7.3M12 2L4.5 20.3L5.2 21L12 18L18.8 21L19.5 20.3L12 2Z\";\r\nexport var mdiNearMe = \"M21,3L3,10.53V11.5L9.84,14.16L12.5,21H13.46L21,3Z\";\r\nexport var mdiNecklace = \"M21.5 5H19.5C19.5 9.14 16.14 12.5 12 12.5C7.86 12.5 4.5 9.14 4.5 5H2.5C2.55 10.11 6.59 14.29 11.7 14.5C11.1 15.4 10 17.2 10 18C10 20.67 14 20.67 14 18C14 17.2 12.9 15.4 12.3 14.5C17.41 14.29 21.45 10.11 21.5 5Z\";\r\nexport var mdiNeedle = \"M11.15,15.18L9.73,13.77L11.15,12.35L12.56,13.77L13.97,12.35L12.56,10.94L13.97,9.53L15.39,10.94L16.8,9.53L13.97,6.7L6.9,13.77L9.73,16.6L11.15,15.18M3.08,19L6.2,15.89L4.08,13.77L13.97,3.87L16.1,6L17.5,4.58L16.1,3.16L17.5,1.75L21.75,6L20.34,7.4L18.92,6L17.5,7.4L19.63,9.53L9.73,19.42L7.61,17.3L3.08,21.84V19Z\";\r\nexport var mdiNetflix = \"M6.5,2H10.5L13.44,10.83L13.5,2H17.5V22C16.25,21.78 14.87,21.64 13.41,21.58L10.5,13L10.43,21.59C9.03,21.65 7.7,21.79 6.5,22V2Z\";\r\nexport var mdiNetwork = \"M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17Z\";\r\nexport var mdiNetworkOff = \"M1,5.27L5,9.27V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H17.73L19.73,24L21,22.72L2.28,4L1,5.27M15,20A1,1 0 0,0 14,19H13V17.27L15.73,20H15M17.69,16.87L5.13,4.31C5.41,3.55 6.14,3 7,3H17A2,2 0 0,1 19,5V15C19,15.86 18.45,16.59 17.69,16.87M22,20V21.18L20.82,20H22Z\";\r\nexport var mdiNetworkOffOutline = \"M1.04,5.27L5,9.23V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H17.77L19.77,24L21.04,22.72L2.32,4L1.04,5.27M7,11.23L10.77,15H7V11.23M15,20A1,1 0 0,0 14,19H13V17.23L15.77,20H15M22,20V21.14L20.86,20H22M7,6.14L5.14,4.28C5.43,3.53 6.16,3 7,3H17A2,2 0 0,1 19,5V15C19,15.85 18.47,16.57 17.72,16.86L15.86,15H17V5H7V6.14Z\";\r\nexport var mdiNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7Z\";\r\nexport var mdiNetworkStrength1 = \"M1,21H21V1M19,5.83V19H11V13.83\";\r\nexport var mdiNetworkStrength1Alert = \"M21 1L1 21H17V19H11V13.8L19 5.8V9H21M19 11V17H21V11M19 19V21H21V19\";\r\nexport var mdiNetworkStrength2 = \"M1,21H21V1M19,5.83V19H13V11.83\";\r\nexport var mdiNetworkStrength2Alert = \"M21 1L1 21H17V19H13V11.8L19 5.8V9H21M19 11V17H21V11M19 19V21H21V19\";\r\nexport var mdiNetworkStrength3 = \"M1,21H21V1M19,5.83V19H16V8.83\";\r\nexport var mdiNetworkStrength3Alert = \"M21 1L1 21H17V19H16V8.8L19 5.8V9H21M19 11V17H21V11M19 19V21H21V19\";\r\nexport var mdiNetworkStrength4 = \"M1,21H21V1\";\r\nexport var mdiNetworkStrength4Alert = \"M19 17H21V11H19M19 21H21V19H19M1 21H17V9H21V1\";\r\nexport var mdiNetworkStrengthOff = \"M21,1L12.4,9.6L21,18.19M4.77,4.5L3.5,5.77L9.86,12.13L1,21H18.73L20.73,23L22,21.73\";\r\nexport var mdiNetworkStrengthOffOutline = \"M21,1L12.4,9.6L13.85,11.05L19,5.83V16.19L21,18.19M4.77,4.5L3.5,5.77L9.86,12.13L1,21H18.73L20.73,23L22,21.73M11.33,13.6L16.73,19H6\";\r\nexport var mdiNetworkStrengthOutline = \"M1,21H21V1M19,5.83V19H6\";\r\nexport var mdiNewBox = \"M20,4C21.11,4 22,4.89 22,6V18C22,19.11 21.11,20 20,20H4C2.89,20 2,19.11 2,18V6C2,4.89 2.89,4 4,4H20M8.5,15V9H7.25V12.5L4.75,9H3.5V15H4.75V11.5L7.3,15H8.5M13.5,10.26V9H9.5V15H13.5V13.75H11V12.64H13.5V11.38H11V10.26H13.5M20.5,14V9H19.25V13.5H18.13V10H16.88V13.5H15.75V9H14.5V14A1,1 0 0,0 15.5,15H19.5A1,1 0 0,0 20.5,14Z\";\r\nexport var mdiNewspaper = \"M20,11H4V8H20M20,15H13V13H20M20,19H13V17H20M11,19H4V13H11M20.33,4.67L18.67,3L17,4.67L15.33,3L13.67,4.67L12,3L10.33,4.67L8.67,3L7,4.67L5.33,3L3.67,4.67L2,3V19A2,2 0 0,0 4,21H20A2,2 0 0,0 22,19V3L20.33,4.67Z\";\r\nexport var mdiNewspaperMinus = \"M22,17V19H14V17H22M20,11V8H4V11H20M13,13V14.68C12.37,15.63 12,16.77 12,18C12,19.09 12.29,20.12 12.8,21H4A2,2 0 0,1 2,19V3L3.67,4.67L5.33,3L7,4.67L8.67,3L10.33,4.67L12,3L13.67,4.67L15.33,3L17,4.67L18.67,3L20.33,4.67L22,3V13.5C20.93,12.58 19.53,12 18,12C16.77,12 15.63,12.37 14.68,13H13M11,19V13H4V19H11Z\";\r\nexport var mdiNewspaperPlus = \"M17,14H19V17H22V19H19V22H17V19H14V17H17V14M20,11V8H4V11H20M13,13V14.68C12.37,15.63 12,16.77 12,18C12,19.09 12.29,20.12 12.8,21H4A2,2 0 0,1 2,19V3L3.67,4.67L5.33,3L7,4.67L8.67,3L10.33,4.67L12,3L13.67,4.67L15.33,3L17,4.67L18.67,3L20.33,4.67L22,3V13.5C20.93,12.58 19.53,12 18,12C16.77,12 15.63,12.37 14.68,13H13M11,19V13H4V19H11Z\";\r\nexport var mdiNewspaperVariant = \"M20 3H4C2.89 3 2 3.89 2 5V19C2 20.11 2.89 21 4 21H20C21.11 21 22 20.11 22 19V5C22 3.89 21.11 3 20 3M5 7H10V13H5V7M19 17H5V15H19V17M19 13H12V11H19V13M19 9H12V7H19V9Z\";\r\nexport var mdiNewspaperVariantMultiple = \"M4 7V19H19V21H4C2 21 2 19 2 19V7H4M21.3 3H7.7C6.76 3 6 3.7 6 4.55V15.45C6 16.31 6.76 17 7.7 17H21.3C22.24 17 23 16.31 23 15.45V4.55C23 3.7 22.24 3 21.3 3M8 5H13V11H8V5M21 15H8V13H21V15M21 11H15V9H21V11M21 7H15V5H21V7Z\";\r\nexport var mdiNewspaperVariantMultipleOutline = \"M4 7V19H19V21H4C2 21 2 19 2 19V7H4M21 5V15H8V5H21M21.3 3H7.7C6.76 3 6 3.7 6 4.55V15.45C6 16.31 6.76 17 7.7 17H21.3C22.24 17 23 16.31 23 15.45V4.55C23 3.7 22.24 3 21.3 3M9 6H12V11H9V6M20 14H9V12H20V14M20 8H14V6H20V8M20 11H14V9H20V11Z\";\r\nexport var mdiNewspaperVariantOutline = \"M20 5L20 19L4 19L4 5H20M20 3H4C2.89 3 2 3.89 2 5V19C2 20.11 2.89 21 4 21H20C21.11 21 22 20.11 22 19V5C22 3.89 21.11 3 20 3M18 15H6V17H18V15M10 7H6V13H10V7M12 9H18V7H12V9M18 11H12V13H18V11Z\";\r\nexport var mdiNfc = \"M7.24 2C5.6 2 3.96 2 3.55 2.04C2.67 2.09 2.08 2.73 2.04 3.56C2 4.37 2 19.59 2.04 20.41C2.09 21.23 2.71 21.86 3.55 21.91C4.46 21.96 7.44 21.97 8.29 21.97C6.76 20.91 6.55 18.92 6.41 15.23C6.33 13.04 6.4 5.36 6.41 5.04L6.45 2.94L14.5 11V13.5L8.09 7.11C8.08 8.38 8.06 10.03 8.06 11.54C8.06 13 8.08 14.34 8.12 15.05C8.36 19.07 8.74 20.96 10.83 21.7C11.5 21.93 12.07 22 13.07 22C13.89 22 19.63 22 20.45 21.96C21.33 21.91 21.93 21.27 21.97 20.44C22 19.63 22 4.45 21.97 3.62C21.91 2.8 21.29 2.18 20.45 2.13C19.54 2.08 16.57 2.03 15.71 2.03C17.24 3.09 17.44 5.08 17.59 8.78C17.67 10.97 17.6 18.64 17.59 18.97L17.55 21.06L9.53 13V10.5L15.91 16.89C15.92 15.62 15.94 13.97 15.94 12.46C15.94 11 15.92 9.66 15.88 8.96C15.64 4.93 15.26 3.04 13.17 2.3C12.53 2.07 11.93 2 10.93 2H7.24Z\";\r\nexport var mdiNfcSearchVariant = \"M16.5,12C19,12 21,14 21,16.5C21,17.38 20.76,18.21 20.32,18.9L23.4,22L22,23.39L18.89,20.32C18.2,20.75 17.38,21 16.5,21C14,21 12,19 12,16.5C12,14 14,12 16.5,12M16.5,14A2.5,2.5 0 0,0 14,16.5A2.5,2.5 0 0,0 16.5,19C17.89,19 19,17.88 19,16.5A2.5,2.5 0 0,0 16.5,14M18,6V10.18C17.33,10 16.66,9.97 16,10V8H13V10.28L13.53,10.72C12.34,11.33 11.35,12.3 10.72,13.53C10.28,13.17 10,12.62 10,12C10,11.26 10.41,10.62 11,10.28V8A2,2 0 0,1 13,6H18M6,18V6H8L10,6V8H8V16H10C9.96,16.68 10,17.35 10.17,18H6M20,4H4V20H11C11.53,20.8 12.21,21.5 13.03,22H4C2.89,22 2,21.1 2,20V4A2,2 0 0,1 4,2H20A2,2 0 0,1 22,4V13.04C21.5,12.24 20.82,11.54 20,11V4Z\";\r\nexport var mdiNfcTap = \"M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M4,4H11A2,2 0 0,1 13,6V9H11V6H4V11H6V9L9,12L6,15V13H4A2,2 0 0,1 2,11V6A2,2 0 0,1 4,4M20,20H13A2,2 0 0,1 11,18V15H13V18H20V13H18V15L15,12L18,9V11H20A2,2 0 0,1 22,13V18A2,2 0 0,1 20,20Z\";\r\nexport var mdiNfcVariant = \"M18,6H13A2,2 0 0,0 11,8V10.28C10.41,10.62 10,11.26 10,12A2,2 0 0,0 12,14C13.11,14 14,13.1 14,12C14,11.26 13.6,10.62 13,10.28V8H16V16H8V8H10V6H8L6,6V18H18M20,20H4V4H20M20,2H4A2,2 0 0,0 2,4V20A2,2 0 0,0 4,22H20C21.11,22 22,21.1 22,20V4C22,2.89 21.11,2 20,2Z\";\r\nexport var mdiNfcVariantOff = \"M1.25,2.05L21.95,22.75L20.7,24L18.7,22H4A2,2 0 0,1 2,20V5.3L0,3.3L1.25,2.05M3.81,2C3.87,2 3.94,2 4,2H20C21.11,2 22,2.89 22,4V20C22,20.06 22,20.13 22,20.19L20,18.2V4H5.8L3.81,2M6,9.3L4,7.3V20H16.7L14.7,18H6V9.3M18,16.2L16,14.2V8H13V10.28C13.6,10.62 14,11.26 14,12C14,12.06 14,12.13 14,12.19L11,9.2V8A2,2 0 0,1 13,6H18V16.2M8,16H12.7L8,11.3V16M10,8H9.8L7.8,6H10V8Z\";\r\nexport var mdiNinja = \"M7.75,13C7.74,12.65 7.9,12.31 8.17,12.08C8.92,12.24 9.62,12.55 10.25,13C10.25,13.68 9.69,14.24 9,14.24C8.31,14.24 7.76,13.69 7.75,13M13.75,13C14.38,12.56 15.08,12.25 15.83,12.09C16.1,12.32 16.26,12.66 16.25,13C16.25,13.7 15.69,14.26 15,14.26C14.31,14.26 13.75,13.7 13.75,13V13M12,9C9.23,8.96 6.5,9.65 4.07,11L4,12C4,13.23 4.29,14.44 4.84,15.54C7.21,15.18 9.6,15 12,15C14.4,15 16.79,15.18 19.16,15.54C19.71,14.44 20,13.23 20,12L19.93,11C17.5,9.65 14.77,8.96 12,9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiNintendoGameBoy = \"M7 1C5.9 1 5 1.9 5 3V21C5 22.11 5.9 23 7 23H14C16.76 23 19 20.76 19 18V3C19 1.9 18.11 1 17 1H7M8 4H16V11H8V4M9 14H10V16H12V17H10V19H9V17H7V16H9V14M16 15C16.55 15 17 15.45 17 16C17 16.55 16.55 17 16 17C15.45 17 15 16.55 15 16C15 15.45 15.45 15 16 15M14 17C14.55 17 15 17.45 15 18C15 18.55 14.55 19 14 19C13.45 19 13 18.55 13 18C13 17.45 13.45 17 14 17Z\";\r\nexport var mdiNintendoSwitch = \"M10.04,20.4H7.12C6.19,20.4 5.3,20 4.64,19.36C4,18.7 3.6,17.81 3.6,16.88V7.12C3.6,6.19 4,5.3 4.64,4.64C5.3,4 6.19,3.62 7.12,3.62H10.04V20.4M7.12,2A5.12,5.12 0 0,0 2,7.12V16.88C2,19.71 4.29,22 7.12,22H11.65V2H7.12M5.11,8C5.11,9.04 5.95,9.88 7,9.88C8.03,9.88 8.87,9.04 8.87,8C8.87,6.96 8.03,6.12 7,6.12C5.95,6.12 5.11,6.96 5.11,8M17.61,11C18.72,11 19.62,11.89 19.62,13C19.62,14.12 18.72,15 17.61,15C16.5,15 15.58,14.12 15.58,13C15.58,11.89 16.5,11 17.61,11M16.88,22A5.12,5.12 0 0,0 22,16.88V7.12C22,4.29 19.71,2 16.88,2H13.65V22H16.88Z\";\r\nexport var mdiNintendoWii = \"M17.84,16.94H15.97V10.79H17.84V16.94M18,8.58C18,9.19 17.5,9.69 16.9,9.69A1.11,1.11 0 0,1 15.79,8.58C15.79,7.96 16.29,7.46 16.9,7.46C17.5,7.46 18,7.96 18,8.58M21.82,16.94H19.94V10.79H21.82V16.94M22,8.58C22,9.19 21.5,9.69 20.88,9.69A1.11,1.11 0 0,1 19.77,8.58C19.77,7.96 20.27,7.46 20.88,7.46C21.5,7.46 22,7.96 22,8.58M12.9,8.05H14.9L12.78,15.5C12.78,15.5 12.5,17.04 11.28,17.04C10.07,17.04 9.79,15.5 9.79,15.5L8.45,10.64L7.11,15.5C7.11,15.5 6.82,17.04 5.61,17.04C4.4,17.04 4.12,15.5 4.12,15.5L2,8.05H4L5.72,14.67L7.11,9.3C7.43,7.95 8.45,7.97 8.45,7.97C8.45,7.97 9.47,7.95 9.79,9.3L11.17,14.67L12.9,8.05Z\";\r\nexport var mdiNintendoWiiu = \"M2,15.96C2,18.19 3.54,19.5 5.79,19.5H18.57C20.47,19.5 22,18.2 22,16.32V6.97C22,5.83 21.15,4.6 20.11,4.6H17.15V12.3C17.15,18.14 6.97,18.09 6.97,12.41V4.5H4.72C3.26,4.5 2,5.41 2,6.85V15.96M9.34,11.23C9.34,15.74 14.66,15.09 14.66,11.94V4.5H9.34V11.23Z\";\r\nexport var mdiNix = \"M9.9 8.7L5 17.2L3.9 15.3L5.2 13H2.6L2 12L2.6 11H6.3L7.6 8.7H9.9M10.2 15.5H19.9L18.8 17.4H16.2L17.5 19.7L16.9 20.7H15.8L14 17.4H11.3L10.2 15.5M15.9 11.8L11 3.3H13.2L14.5 5.6L15.8 3.3H16.9L17.5 4.3L15.6 7.5L17 9.8L15.9 11.8M13.8 8.5H4L5.1 6.6H7.7L6.4 4.3L7 3.3H8.1L10 6.5H12.7L13.8 8.5M14.1 15.3L19 6.8L20.1 8.7L18.8 11H21.4L22 12L21.4 13H17.7L16.4 15.3H14.1M8.1 12.2L13 20.6H10.8L9.5 18.3L8.4 20.6H7.1L6.5 19.6L8.4 16.4L7 14.2L8.1 12.2Z\";\r\nexport var mdiNodejs = \"M12,1.85C11.73,1.85 11.45,1.92 11.22,2.05L3.78,6.35C3.3,6.63 3,7.15 3,7.71V16.29C3,16.85 3.3,17.37 3.78,17.65L5.73,18.77C6.68,19.23 7,19.24 7.44,19.24C8.84,19.24 9.65,18.39 9.65,16.91V8.44C9.65,8.32 9.55,8.22 9.43,8.22H8.5C8.37,8.22 8.27,8.32 8.27,8.44V16.91C8.27,17.57 7.59,18.22 6.5,17.67L4.45,16.5C4.38,16.45 4.34,16.37 4.34,16.29V7.71C4.34,7.62 4.38,7.54 4.45,7.5L11.89,3.21C11.95,3.17 12.05,3.17 12.11,3.21L19.55,7.5C19.62,7.54 19.66,7.62 19.66,7.71V16.29C19.66,16.37 19.62,16.45 19.55,16.5L12.11,20.79C12.05,20.83 11.95,20.83 11.88,20.79L10,19.65C9.92,19.62 9.84,19.61 9.79,19.64C9.26,19.94 9.16,20 8.67,20.15C8.55,20.19 8.36,20.26 8.74,20.47L11.22,21.94C11.46,22.08 11.72,22.15 12,22.15C12.28,22.15 12.54,22.08 12.78,21.94L20.22,17.65C20.7,17.37 21,16.85 21,16.29V7.71C21,7.15 20.7,6.63 20.22,6.35L12.78,2.05C12.55,1.92 12.28,1.85 12,1.85M14,8C11.88,8 10.61,8.89 10.61,10.39C10.61,12 11.87,12.47 13.91,12.67C16.34,12.91 16.53,13.27 16.53,13.75C16.53,14.58 15.86,14.93 14.3,14.93C12.32,14.93 11.9,14.44 11.75,13.46C11.73,13.36 11.64,13.28 11.53,13.28H10.57C10.45,13.28 10.36,13.37 10.36,13.5C10.36,14.74 11.04,16.24 14.3,16.24C16.65,16.24 18,15.31 18,13.69C18,12.08 16.92,11.66 14.63,11.35C12.32,11.05 12.09,10.89 12.09,10.35C12.09,9.9 12.29,9.3 14,9.3C15.5,9.3 16.09,9.63 16.32,10.66C16.34,10.76 16.43,10.83 16.53,10.83H17.5C17.55,10.83 17.61,10.81 17.65,10.76C17.69,10.72 17.72,10.66 17.7,10.6C17.56,8.82 16.38,8 14,8Z\";\r\nexport var mdiNoodles = \"M22 3L10 4.41V6H22V7H10V12H22C22 13.81 21.43 15.46 20.32 16.95S17.77 19.53 16 20.25V22H8V20.25C6.24 19.53 4.79 18.43 3.68 16.95S2 13.81 2 12H5V4L22 2V3M6 4.88V6H7V4.78L6 4.88M6 7V12H7V7H6M9 12V7H8V12H9M9 6V4.55L8 4.64V6H9Z\";\r\nexport var mdiNotEqual = \"M21,10H9V8H21V10M21,16H9V14H21V16M4,5H6V16H4V5M6,18V20H4V18H6Z\";\r\nexport var mdiNotEqualVariant = \"M14.08,4.61L15.92,5.4L14.8,8H19V10H13.95L12.23,14H19V16H11.38L9.92,19.4L8.08,18.61L9.2,16H5V14H10.06L11.77,10H5V8H12.63L14.08,4.61Z\";\r\nexport var mdiNote = \"M14,10V4.5L19.5,10M5,3C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V9L15,3H5Z\";\r\nexport var mdiNoteAlert = \"M3 3C1.89 3 1 3.89 1 5V19C1 20.11 1.9 21 3 21H17C18.11 21 19 20.11 19 19V9L13 3H3M12 10V4.5L17.5 10H12M23 7V13H21V7H23M21 15H23V17H21V15Z\";\r\nexport var mdiNoteAlertOutline = \"M3 3C1.89 3 1 3.89 1 5V19C1 20.1 1.89 21 3 21H17C18.11 21 19 20.11 19 19V9L13 3H3M17 19H3V5H10V12H17V19M12 10V4.5L17.5 10H12M23 7V13H21V7H23M21 15H23V17H21V15Z\";\r\nexport var mdiNoteCheck = \"M19 13C19.7 13 20.37 13.13 21 13.35V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H13.35C13.13 20.37 13 19.7 13 19C13 15.69 15.69 13 19 13M14 4.5L19.5 10H14V4.5M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\r\nexport var mdiNoteCheckOutline = \"M5 19V5H12V12H19V13C19.7 13 20.37 13.13 21 13.35V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.89 21 5 21H13.35C13.13 20.37 13 19.7 13 19H5M14 4.5L19.5 10H14V4.5M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\r\nexport var mdiNoteEdit = \"M21 10V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H11V19.13L19.39 10.74C19.83 10.3 20.39 10.06 21 10M14 4.5L19.5 10H14V4.5M22.85 14.19L21.87 15.17L19.83 13.13L20.81 12.15C21 11.95 21.33 11.95 21.53 12.15L22.85 13.47C23.05 13.67 23.05 14 22.85 14.19M19.13 13.83L21.17 15.87L15.04 22H13V19.96L19.13 13.83Z\";\r\nexport var mdiNoteEditOutline = \"M18.13 12L19.39 10.74C19.83 10.3 20.39 10.06 21 10V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.89 21 5 21H11V19.13L11.13 19H5V5H12V12H18.13M14 4.5L19.5 10H14V4.5M19.13 13.83L21.17 15.87L15.04 22H13V19.96L19.13 13.83M22.85 14.19L21.87 15.17L19.83 13.13L20.81 12.15C21 11.95 21.33 11.95 21.53 12.15L22.85 13.47C23.05 13.67 23.05 14 22.85 14.19Z\";\r\nexport var mdiNoteMinus = \"M19 13C19.7 13 20.37 13.13 21 13.35V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H13.35C13.13 20.37 13 19.7 13 19C13 15.69 15.69 13 19 13M14 4.5L19.5 10H14V4.5M23 18V20H15V18H23Z\";\r\nexport var mdiNoteMinusOutline = \"M23 18V20H15V18H23M13 19C13 19.7 13.13 20.37 13.35 21H5C3.89 21 3 20.1 3 19V5C3 3.89 3.89 3 5 3H15L21 9V13.35C20.37 13.13 19.7 13 19 13V12H12V5H5V19H13M14 10H19.5L14 4.5V10Z\";\r\nexport var mdiNoteMultiple = \"M16,9H21.5L16,3.5V9M7,2H17L23,8V18A2,2 0 0,1 21,20H7C5.89,20 5,19.1 5,18V4A2,2 0 0,1 7,2M3,6V22H21V24H3A2,2 0 0,1 1,22V6H3Z\";\r\nexport var mdiNoteMultipleOutline = \"M3,6V22H21V24H3A2,2 0 0,1 1,22V6H3M16,9H21.5L16,3.5V9M7,2H17L23,8V18A2,2 0 0,1 21,20H7C5.89,20 5,19.1 5,18V4A2,2 0 0,1 7,2M7,4V18H21V11H14V4H7Z\";\r\nexport var mdiNoteOff = \"M22.11 21.46L20.84 22.73L19.1 21C19.07 21 19.03 21 19 21H5C3.9 21 3 20.11 3 19V5C3 4.97 3 4.93 3 4.9L1.11 3L2.39 1.73L20.7 20.04L20.7 20.05L22.11 21.46M21 17.8L6.2 3H15L21 9V17.8M19.5 10L14 4.5V10H19.5Z\";\r\nexport var mdiNoteOffOutline = \"M12 5V8.8L15.2 12H19V15.8L21 17.8V9L15 3H6.2L8.2 5H12M14 4.5L19.5 10H14V4.5M20.7 20.05L20.7 20.04L19 18.34V18.35L12.66 12H12.66L12 11.34V11.35L6.14 5.5L2.39 1.73L1.11 3L3 4.9C3 4.93 3 4.97 3 5V19C3 20.1 3.89 21 5 21H19C19.03 21 19.07 21 19.1 21L20.84 22.73L22.11 21.46L20.7 20.05M5 19V6.89L17.11 19H5Z\";\r\nexport var mdiNoteOutline = \"M14,10H19.5L14,4.5V10M5,3H15L21,9V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3M5,5V19H19V12H12V5H5Z\";\r\nexport var mdiNotePlus = \"M19 13C19.7 13 20.37 13.13 21 13.35V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H13.35C13.13 20.37 13 19.7 13 19C13 15.69 15.69 13 19 13M14 4.5L19.5 10H14V4.5M23 18V20H20V23H18V20H15V18H18V15H20V18H23Z\";\r\nexport var mdiNotePlusOutline = \"M5 19V5H12V12H19V13C19.7 13 20.37 13.13 21 13.35V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.89 21 5 21H13.35C13.13 20.37 13 19.7 13 19H5M14 4.5L19.5 10H14V4.5M23 18V20H20V23H18V20H15V18H18V15H20V18H23Z\";\r\nexport var mdiNoteRemove = \"M19 13C19.7 13 20.37 13.13 21 13.35V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H13.35C13.13 20.37 13 19.7 13 19C13 15.69 15.69 13 19 13M14 4.5L19.5 10H14V4.5M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19Z\";\r\nexport var mdiNoteRemoveOutline = \"M5 19V5H12V12H19V13C19.7 13 20.37 13.13 21 13.35V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.89 21 5 21H13.35C13.13 20.37 13 19.7 13 19H5M14 4.5L19.5 10H14V4.5M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19Z\";\r\nexport var mdiNoteSearch = \"M15 3H5C3.89 3 3 3.89 3 5V10.82C5.55 8.37 9.59 8.4 12.1 10.9C14.63 13.44 14.63 17.56 12.1 20.1C11.74 20.45 11.35 20.74 10.94 21H19C20.11 21 21 20.11 21 19V9L15 3M14 10V4.5L19.5 10H14M7.5 11C5 11 3 13 3 15.5C3 16.38 3.25 17.21 3.69 17.9L.61 21L2 22.39L5.12 19.32C5.81 19.75 6.63 20 7.5 20C10 20 12 18 12 15.5S10 11 7.5 11M7.5 18C6.12 18 5 16.88 5 15.5S6.12 13 7.5 13 10 14.12 10 15.5 8.88 18 7.5 18Z\";\r\nexport var mdiNoteSearchOutline = \"M15 3H5C3.89 3 3 3.89 3 5V10.82C3.6 10.24 4.28 9.8 5 9.5V5H12V10.82C12.03 10.85 12.07 10.87 12.1 10.9C12.44 11.24 12.73 11.61 12.97 12H19V19H12.97C12.73 19.39 12.44 19.76 12.1 20.1C11.74 20.45 11.35 20.74 10.94 21H19C20.11 21 21 20.11 21 19V9L15 3M14 10V4.5L19.5 10H14M7.5 11C5 11 3 13 3 15.5C3 16.38 3.25 17.21 3.69 17.9L.61 21L2 22.39L5.12 19.32C5.81 19.75 6.63 20 7.5 20C10 20 12 18 12 15.5S10 11 7.5 11M7.5 18C6.12 18 5 16.88 5 15.5S6.12 13 7.5 13 10 14.12 10 15.5 8.88 18 7.5 18Z\";\r\nexport var mdiNoteText = \"M14,10H19.5L14,4.5V10M5,3H15L21,9V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3M5,12V14H19V12H5M5,16V18H14V16H5Z\";\r\nexport var mdiNoteTextOutline = \"M15 3H5A2 2 0 0 0 3 5V19A2 2 0 0 0 5 21H19A2 2 0 0 0 21 19V9L15 3M19 19H5V5H14V10H19M17 14H7V12H17M14 17H7V15H14\";\r\nexport var mdiNotebook = \"M3,7V5H5V4C5,2.89 5.9,2 7,2H13V9L15.5,7.5L18,9V2H19C20.05,2 21,2.95 21,4V20C21,21.05 20.05,22 19,22H7C5.95,22 5,21.05 5,20V19H3V17H5V13H3V11H5V7H3M7,11H5V13H7V11M7,7V5H5V7H7M7,19V17H5V19H7Z\";\r\nexport var mdiNotebookCheck = \"M16.75 22.16L14 19.16L15.16 18L16.75 19.59L20.34 16L21.5 17.41L16.75 22.16M3 7V5H5V4C5 2.89 5.9 2 7 2H13V9L15.5 7.5L18 9V2H19C20.05 2 21 2.95 21 4V13.8C20.12 13.29 19.09 13 18 13C14.69 13 12 15.69 12 19C12 20.09 12.29 21.12 12.8 22H7C5.95 22 5 21.05 5 20V19H3V17H5V13H3V11H5V7H3M5 5V7H7V5H5M5 19H7V17H5V19M5 13H7V11H5V13Z\";\r\nexport var mdiNotebookCheckOutline = \"M16.75 22.16L14 19.16L15.16 18L16.75 19.59L20.34 16L21.5 17.41L16.75 22.16M17 4V10L15 8L13 10V4H9V20H12.08C12.2 20.72 12.45 21.39 12.8 22H7C5.95 22 5 21.05 5 20V19H3V17H5V13H3V11H5V7H3V5H5V4C5 2.89 5.9 2 7 2H19C20.05 2 21 2.95 21 4V13.8C20.39 13.45 19.72 13.2 19 13.08V4H17M5 19H7V17H5V19M5 13H7V11H5V13M5 7H7V5H5V7Z\";\r\nexport var mdiNotebookEdit = \"M21.04 13.13C21.18 13.13 21.31 13.19 21.42 13.3L22.7 14.58C22.92 14.79 22.92 15.14 22.7 15.35L21.7 16.35L19.65 14.3L20.65 13.3C20.76 13.19 20.9 13.13 21.04 13.13M19.07 14.88L21.12 16.93L15.06 23H13V20.94L19.07 14.88M3 7V5H5V4C5 2.89 5.9 2 7 2H13V9L15.5 7.5L18 9V2H19C20.05 2 21 2.95 21 4V10L11 20V22H7C5.95 22 5 21.05 5 20V19H3V17H5V13H3V11H5V7H3M5 7H7V5H5V7M5 11V13H7V11H5M5 17V19H7V17H5Z\";\r\nexport var mdiNotebookEditOutline = \"M19.07 14.88L21.12 16.93L15.06 23H13V20.94L19.07 14.88M21.04 13.13C21.18 13.13 21.31 13.19 21.42 13.3L22.7 14.58C22.92 14.79 22.92 15.14 22.7 15.35L21.7 16.35L19.65 14.3L20.65 13.3C20.76 13.19 20.9 13.13 21.04 13.13M17 4V10L15 8L13 10V4H9V20H11V22H7C5.95 22 5 21.05 5 20V19H3V17H5V13H3V11H5V7H3V5H5V4C5 2.89 5.9 2 7 2H19C20.05 2 21 2.95 21 4V10L19 12V4H17M5 5V7H7V5H5M5 11V13H7V11H5M5 17V19H7V17H5Z\";\r\nexport var mdiNotebookMinus = \"M3 7V5H5V4C5 2.9 5.9 2 7 2H13V9L15.5 7.5L18 9V2H19C20 2 21 3 21 4V13.8C20.1 13.3 19.1 13 18 13C14.7 13 12 15.7 12 19C12 20.1 12.3 21.1 12.8 22H7C5.9 22 5 21 5 20V19H3V17H5V13H3V11H5V7H3M5 5V7H7V5H5M5 19H7V17H5V19M5 13H7V11H5V13M14 18V20H22V18H14Z\";\r\nexport var mdiNotebookMinusOutline = \"M17 4V10L15 8L13 10V4H9V20H12.1C12.2 20.7 12.5 21.4 12.8 22H7C5.9 22 5 21 5 20V19H3V17H5V13H3V11H5V7H3V5H5V4C5 2.9 5.9 2 7 2H19C20 2 21 3 21 4V13.8C20.4 13.4 19.7 13.2 19 13.1V4H17M5 19H7V17H5V19M5 13H7V11H5V13M5 7H7V5H5V7M14 18V20H22V18H14Z\";\r\nexport var mdiNotebookMultiple = \"M9.05,9H7.06V6H9.05V4.03H7.06V3.03C7.06,1.92 7.95,1.04 9.05,1.04H15.03V8L17.5,6.5L20,8V1.04H21C22.05,1.04 23,2 23,3.03V17C23,18.03 22.05,19 21,19H9.05C8,19 7.06,18.05 7.06,17V16H9.05V14H7.06V11H9.05V9M1,18H3V15H1V13H3V10H1V8H3V5H5V8H3V10H5V13H3V15H5V18H3V20H5V21H21V23H5A2,2 0 0,1 3,21V20H1V18Z\";\r\nexport var mdiNotebookOutline = \"M17,4V10L15,8L13,10V4H9V20H19V4H17M3,7V5H5V4C5,2.89 5.9,2 7,2H19C20.05,2 21,2.95 21,4V20C21,21.05 20.05,22 19,22H7C5.95,22 5,21.05 5,20V19H3V17H5V13H3V11H5V7H3M5,5V7H7V5H5M5,19H7V17H5V19M5,13H7V11H5V13Z\";\r\nexport var mdiNotebookPlus = \"M3 7V5H5V4C5 2.9 5.9 2 7 2H13V9L15.5 7.5L18 9V2H19C20 2 21 3 21 4V13.8C20.1 13.3 19.1 13 18 13C14.7 13 12 15.7 12 19C12 20.1 12.3 21.1 12.8 22H7C5.9 22 5 21 5 20V19H3V17H5V13H3V11H5V7H3M5 5V7H7V5H5M5 19H7V17H5V19M5 13H7V11H5V13M17 15V18H14V20H17V23H19V20H22V18H19V15H17Z\";\r\nexport var mdiNotebookPlusOutline = \"M17 4V10L15 8L13 10V4H9V20H12.1C12.2 20.7 12.5 21.4 12.8 22H7C5.9 22 5 21 5 20V19H3V17H5V13H3V11H5V7H3V5H5V4C5 2.9 5.9 2 7 2H19C20 2 21 3 21 4V13.8C20.4 13.4 19.7 13.2 19 13.1V4H17M5 19H7V17H5V19M5 13H7V11H5V13M5 7H7V5H5V7M17 15V18H14V20H17V23H19V20H22V18H19V15H17Z\";\r\nexport var mdiNotebookRemove = \"M3 7V5H5V4C5 2.9 5.9 2 7 2H13V9L15.5 7.5L18 9V2H19C20 2 21 3 21 4V13.8C20.1 13.3 19.1 13 18 13C14.7 13 12 15.7 12 19C12 20.1 12.3 21.1 12.8 22H7C5.9 22 5 21 5 20V19H3V17H5V13H3V11H5V7H3M5 5V7H7V5H5M5 19H7V17H5V19M5 13H7V11H5V13M20.1 15.5L18 17.6L15.9 15.5L14.5 16.9L16.6 19L14.5 21.1L15.9 22.5L18 20.4L20.1 22.5L21.5 21.1L19.4 19L21.5 16.9L20.1 15.5Z\";\r\nexport var mdiNotebookRemoveOutline = \"M17 4V10L15 8L13 10V4H9V20H12.1C12.2 20.7 12.5 21.4 12.8 22H7C5.9 22 5 21 5 20V19H3V17H5V13H3V11H5V7H3V5H5V4C5 2.9 5.9 2 7 2H19C20 2 21 3 21 4V13.8C20.4 13.4 19.7 13.2 19 13.1V4H17M5 19H7V17H5V19M5 13H7V11H5V13M5 7H7V5H5V7M20.1 15.5L18 17.6L15.9 15.5L14.5 16.9L16.6 19L14.5 21.1L15.9 22.5L18 20.4L20.1 22.5L21.5 21.1L19.4 19L21.5 16.9L20.1 15.5Z\";\r\nexport var mdiNotificationClearAll = \"M5,13H19V11H5M3,17H17V15H3M7,7V9H21V7\";\r\nexport var mdiNpm = \"M4,10V14H6V11H7V14H8V10H4M9,10V15H11V14H13V10H9M12,11V13H11V11H12M14,10V14H16V11H17V14H18V11H19V14H20V10H14M3,9H21V15H12V16H8V15H3V9Z\";\r\nexport var mdiNuke = \"M14.04,12H10V11H5.5A3.5,3.5 0 0,1 2,7.5A3.5,3.5 0 0,1 5.5,4C6.53,4 7.45,4.44 8.09,5.15C8.5,3.35 10.08,2 12,2C13.92,2 15.5,3.35 15.91,5.15C16.55,4.44 17.47,4 18.5,4A3.5,3.5 0 0,1 22,7.5A3.5,3.5 0 0,1 18.5,11H14.04V12M10,16.9V15.76H5V13.76H19V15.76H14.04V16.92L20,19.08C20.58,19.29 21,19.84 21,20.5A1.5,1.5 0 0,1 19.5,22H4.5A1.5,1.5 0 0,1 3,20.5C3,19.84 3.42,19.29 4,19.08L10,16.9Z\";\r\nexport var mdiNull = \"M12,2C13.85,2 15.55,2.78 16.9,4.1L18.6,1.93L20.18,3.16L18.2,5.68C19.33,7.41 20,9.6 20,12C20,17.5 16.42,22 12,22C10.15,22 8.45,21.22 7.1,19.9L5.4,22.07L3.82,20.84L5.8,18.32C4.67,16.59 4,14.4 4,12C4,6.5 7.58,2 12,2M12,4C8.69,4 6,7.58 6,12C6,13.73 6.41,15.33 7.11,16.64L15.67,5.67C14.66,4.62 13.38,4 12,4M12,20C15.31,20 18,16.42 18,12C18,10.27 17.59,8.67 16.89,7.36L8.33,18.33C9.34,19.38 10.62,20 12,20Z\";\r\nexport var mdiNumeric = \"M4,17V9H2V7H6V17H4M22,15C22,16.11 21.1,17 20,17H16V15H20V13H18V11H20V9H16V7H20A2,2 0 0,1 22,9V10.5A1.5,1.5 0 0,1 20.5,12A1.5,1.5 0 0,1 22,13.5V15M14,15V17H8V13C8,11.89 8.9,11 10,11H12V9H8V7H12A2,2 0 0,1 14,9V11C14,12.11 13.1,13 12,13H10V15H14Z\";\r\nexport var mdiNumeric0 = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9Z\";\r\nexport var mdiNumeric0Box = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9Z\";\r\nexport var mdiNumeric0BoxMultiple = \"M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21M13,5A2,2 0 0,0 11,7V13A2,2 0 0,0 13,15H15A2,2 0 0,0 17,13V7A2,2 0 0,0 15,5H13M13,7H15V13H13V7Z\";\r\nexport var mdiNumeric0BoxMultipleOutline = \"M21,17V3H7V17H21M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M13,5H15A2,2 0 0,1 17,7V13A2,2 0 0,1 15,15H13A2,2 0 0,1 11,13V7A2,2 0 0,1 13,5M13,7V13H15V7H13Z\";\r\nexport var mdiNumeric0BoxOutline = \"M19,19V5H5V19H19M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M11,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M11,9V15H13V9H11Z\";\r\nexport var mdiNumeric0Circle = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiNumeric0CircleOutline = \"M11,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M11,9V15H13V9H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiNumeric1 = \"M10,7V9H12V17H14V7H10Z\";\r\nexport var mdiNumeric1Box = \"M14,17H12V9H10V7H14M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiNumeric1BoxMultiple = \"M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21M14,15H16V5H12V7H14V15Z\";\r\nexport var mdiNumeric1BoxMultipleOutline = \"M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M14,15H16V5H12V7H14M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\r\nexport var mdiNumeric1BoxOutline = \"M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,17H14V7H10V9H12\";\r\nexport var mdiNumeric1Circle = \"M10,7V9H12V17H14V7H10M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiNumeric1CircleOutline = \"M10,7H14V17H12V9H10V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiNumeric10 = \"M10 7H6V9H8V17H10V7M16 7H14C12.9 7 12 7.9 12 9V15C12 16.11 12.9 17 14 17H16C17.11 17 18 16.11 18 15V9C18 7.9 17.11 7 16 7M16 15H14V9H16V15Z\";\r\nexport var mdiNumeric10Box = \"M14,9H16V15H14V9M21,5V19C21,20.11 20.11,21 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19C20.11,3 21,3.9 21,5M10,7H6V9H8V17H10V7M18,9A2,2 0 0,0 16,7H14A2,2 0 0,0 12,9V15C12,16.11 12.9,17 14,17H16C17.11,17 18,16.11 18,15V9Z\";\r\nexport var mdiNumeric10BoxMultiple = \"M3 5V21H19V23H3C1.9 23 1 22.11 1 21V5H3M16 13H18V7H16V13M21 1H7C5.9 1 5 1.9 5 3V17C5 18.11 5.9 19 7 19H21C22.11 19 23 18.11 23 17V3C23 1.9 22.11 1 21 1M12 15H10V7H8V5H12V15M20 13C20 14.11 19.11 15 18 15H16C14.9 15 14 14.11 14 13V7C14 5.9 14.9 5 16 5H18C19.11 5 20 5.9 20 7V13Z\";\r\nexport var mdiNumeric10BoxMultipleOutline = \"M21 17V3H7V17H21M21 1C22.11 1 23 1.9 23 3V17C23 18.11 22.11 19 21 19H7C5.9 19 5 18.11 5 17V3C5 1.9 5.9 1 7 1H21M3 5V21H19V23H3C1.9 23 1 22.11 1 21V5H3M12 5H8V7H10V15H12V5M18 5H16C14.9 5 14 5.9 14 7V13C14 14.11 14.9 15 16 15H18C19.11 15 20 14.11 20 13V7C20 5.9 19.11 5 18 5M18 13H16V7H18V13Z\";\r\nexport var mdiNumeric10BoxOutline = \"M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M8,17H10V7H6V9H8M14,7H16C17.11,7 18,7.9 18,9V15C18,16.11 17.11,17 16,17H14A2,2 0 0,1 12,15V9A2,2 0 0,1 14,7M14,9V15H16V9H14Z\";\r\nexport var mdiNumeric10Circle = \"M14 9H16V15H14V9M22 12C22 17.5 17.5 22 12 22S2 17.5 2 12 6.5 2 12 2 22 6.5 22 12M10 7H6V9H8V17H10V7M18 9C18 7.9 17.11 7 16 7H14C12.9 7 12 7.9 12 9V15C12 16.11 12.9 17 14 17H16C17.11 17 18 16.11 18 15V9Z\";\r\nexport var mdiNumeric10CircleOutline = \"M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22 2 17.5 2 12 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12S7.58 20 12 20 20 16.42 20 12 16.42 4 12 4M10 7H6V9H8V17H10V7M16 7H14C12.9 7 12 7.9 12 9V15C12 16.11 12.9 17 14 17H16C17.11 17 18 16.11 18 15V9C18 7.9 17.11 7 16 7M16 15H14V9H16V15Z\";\r\nexport var mdiNumeric2 = \"M9,7V9H13V11H11A2,2 0 0,0 9,13V17H11L15,17V15H11V13H13A2,2 0 0,0 15,11V9A2,2 0 0,0 13,7H9Z\";\r\nexport var mdiNumeric2Box = \"M15,11C15,12.11 14.1,13 13,13H11V15H15V17H9V13C9,11.89 9.9,11 11,11H13V9H9V7H13A2,2 0 0,1 15,9M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiNumeric2BoxMultiple = \"M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M17,13H13V11H15A2,2 0 0,0 17,9V7C17,5.89 16.1,5 15,5H11V7H15V9H13A2,2 0 0,0 11,11V15H17V13M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21Z\";\r\nexport var mdiNumeric2BoxMultipleOutline = \"M17,13H13V11H15A2,2 0 0,0 17,9V7C17,5.89 16.1,5 15,5H11V7H15V9H13A2,2 0 0,0 11,11V15H17M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\r\nexport var mdiNumeric2BoxOutline = \"M15,15H11V13H13A2,2 0 0,0 15,11V9C15,7.89 14.1,7 13,7H9V9H13V11H11A2,2 0 0,0 9,13V17H15M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiNumeric2Circle = \"M9,7V9H13V11H11A2,2 0 0,0 9,13V17H11L15,17V15H11V13H13A2,2 0 0,0 15,11V9A2,2 0 0,0 13,7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiNumeric2CircleOutline = \"M9,7H13A2,2 0 0,1 15,9V11A2,2 0 0,1 13,13H11V15H15V17H11L9,17V13A2,2 0 0,1 11,11H13V9H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiNumeric3 = \"M15,15V13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 15,10.5V9C15,7.89 14.1,7 13,7H9V9H13V11H11V13H13V15H9V17H13A2,2 0 0,0 15,15\";\r\nexport var mdiNumeric3Box = \"M15,10.5A1.5,1.5 0 0,1 13.5,12C14.34,12 15,12.67 15,13.5V15C15,16.11 14.11,17 13,17H9V15H13V13H11V11H13V9H9V7H13C14.11,7 15,7.89 15,9M19,3H5C3.91,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19C20.11,21 21,20.1 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiNumeric3BoxMultiple = \"M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M17,13V11.5A1.5,1.5 0 0,0 15.5,10A1.5,1.5 0 0,0 17,8.5V7C17,5.89 16.1,5 15,5H11V7H15V9H13V11H15V13H11V15H15A2,2 0 0,0 17,13M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21Z\";\r\nexport var mdiNumeric3BoxMultipleOutline = \"M17,13V11.5A1.5,1.5 0 0,0 15.5,10A1.5,1.5 0 0,0 17,8.5V7C17,5.89 16.1,5 15,5H11V7H15V9H13V11H15V13H11V15H15A2,2 0 0,0 17,13M3,5H1V21A2,2 0 0,0 3,23H19V21H3M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1Z\";\r\nexport var mdiNumeric3BoxOutline = \"M15,15V13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 15,10.5V9C15,7.89 14.1,7 13,7H9V9H13V11H11V13H13V15H9V17H13A2,2 0 0,0 15,15M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiNumeric3Circle = \"M15,15V13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 15,10.5V9C15,7.89 14.1,7 13,7H9V9H13V11H11V13H13V15H9V17H13A2,2 0 0,0 15,15M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiNumeric3CircleOutline = \"M15,15A2,2 0 0,1 13,17H9V15H13V13H11V11H13V9H9V7H13A2,2 0 0,1 15,9V10.5A1.5,1.5 0 0,1 13.5,12A1.5,1.5 0 0,1 15,13.5V15M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiNumeric4 = \"M9,7V13H13V17H15V7H13V11H11V7H9Z\";\r\nexport var mdiNumeric4Box = \"M15,17H13V13H9V7H11V11H13V7H15M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiNumeric4BoxMultiple = \"M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21M15,15H17V5H15V9H13V5H11V11H15V15Z\";\r\nexport var mdiNumeric4BoxMultipleOutline = \"M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M15,15H17V5H15V9H13V5H11V11H15M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\r\nexport var mdiNumeric4BoxOutline = \"M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M13,17H15V7H13V11H11V7H9V13H13\";\r\nexport var mdiNumeric4Circle = \"M9,7V13H13V17H15V7H13V11H11V7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiNumeric4CircleOutline = \"M9,7H11V11H13V7H15V17H13V13H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiNumeric5 = \"M9,7V13H13V15H9V17H13A2,2 0 0,0 15,15V13A2,2 0 0,0 13,11H11V9H15V7H9Z\";\r\nexport var mdiNumeric5Box = \"M15,9H11V11H13A2,2 0 0,1 15,13V15C15,16.11 14.1,17 13,17H9V15H13V13H9V7H15M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiNumeric5BoxMultiple = \"M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21M17,13V11C17,9.89 16.1,9 15,9H13V7H17V5H11V11H15V13H11V15H15A2,2 0 0,0 17,13Z\";\r\nexport var mdiNumeric5BoxMultipleOutline = \"M17,13V11C17,9.89 16.1,9 15,9H13V7H17V5H11V11H15V13H11V15H15A2,2 0 0,0 17,13M3,5H1V21A2,2 0 0,0 3,23H19V21H3M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1Z\";\r\nexport var mdiNumeric5BoxOutline = \"M15,15V13C15,11.89 14.1,11 13,11H11V9H15V7H9V13H13V15H9V17H13A2,2 0 0,0 15,15M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiNumeric5Circle = \"M9,7V13H13V15H9V17H13A2,2 0 0,0 15,15V13A2,2 0 0,0 13,11H11V9H15V7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiNumeric5CircleOutline = \"M9,7H15V9H11V11H13A2,2 0 0,1 15,13V15A2,2 0 0,1 13,17H9V15H13V13H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiNumeric6 = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V13A2,2 0 0,0 13,11H11V9H15V7H11M11,13H13V15H11V13Z\";\r\nexport var mdiNumeric6Box = \"M15,9H11V11H13A2,2 0 0,1 15,13V15C15,16.11 14.1,17 13,17H11A2,2 0 0,1 9,15V9C9,7.89 9.9,7 11,7H15M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M11,15H13V13H11V15Z\";\r\nexport var mdiNumeric6BoxMultiple = \"M13,11H15V13H13V11M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21M13,15H15A2,2 0 0,0 17,13V11C17,9.89 16.1,9 15,9H13V7H17V5H13A2,2 0 0,0 11,7V13C11,14.11 11.9,15 13,15Z\";\r\nexport var mdiNumeric6BoxMultipleOutline = \"M13,11H15V13H13M13,15H15A2,2 0 0,0 17,13V11C17,9.89 16.1,9 15,9H13V7H17V5H13A2,2 0 0,0 11,7V13C11,14.11 11.9,15 13,15M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\r\nexport var mdiNumeric6BoxOutline = \"M11,13H13V15H11M11,17H13A2,2 0 0,0 15,15V13C15,11.89 14.1,11 13,11H11V9H15V7H11A2,2 0 0,0 9,9V15C9,16.11 9.9,17 11,17M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiNumeric6Circle = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V13A2,2 0 0,0 13,11H11V9H15V7H11M11,13H13V15H11V13M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiNumeric6CircleOutline = \"M11,7H15V9H11V11H13A2,2 0 0,1 15,13V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M11,13V15H13V13H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiNumeric7 = \"M11,17L15,9V7H9V9H13L9,17\";\r\nexport var mdiNumeric7Box = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M11,17L15,9V7H9V9H13L9,17H11Z\";\r\nexport var mdiNumeric7BoxMultiple = \"M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M13,15L17,7V5H11V7H15L11,15H13M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21Z\";\r\nexport var mdiNumeric7BoxMultipleOutline = \"M13,15L17,7V5H11V7H15L11,15M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\r\nexport var mdiNumeric7BoxOutline = \"M11,17L15,9V7H9V9H13L9,17M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiNumeric7Circle = \"M11,17L15,9V7H9V9H13L9,17H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiNumeric7CircleOutline = \"M11,17H9L13,9H9V7H15V9L11,17M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiNumeric8 = \"M11,13H13V15H11M11,9H13V11H11M11,17H13A2,2 0 0,0 15,15V13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 15,10.5V9C15,7.89 14.1,7 13,7H11A2,2 0 0,0 9,9V10.5A1.5,1.5 0 0,0 10.5,12A1.5,1.5 0 0,0 9,13.5V15C9,16.11 9.9,17 11,17\";\r\nexport var mdiNumeric8Box = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M11,17H13A2,2 0 0,0 15,15V13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 15,10.5V9C15,7.89 14.1,7 13,7H11A2,2 0 0,0 9,9V10.5A1.5,1.5 0 0,0 10.5,12A1.5,1.5 0 0,0 9,13.5V15C9,16.11 9.9,17 11,17M11,13H13V15H11V13M11,9H13V11H11V9Z\";\r\nexport var mdiNumeric8BoxMultiple = \"M13,11H15V13H13V11M13,7H15V9H13V7M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M13,15H15A2,2 0 0,0 17,13V11.5A1.5,1.5 0 0,0 15.5,10A1.5,1.5 0 0,0 17,8.5V7C17,5.89 16.1,5 15,5H13A2,2 0 0,0 11,7V8.5A1.5,1.5 0 0,0 12.5,10A1.5,1.5 0 0,0 11,11.5V13C11,14.11 11.9,15 13,15M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21Z\";\r\nexport var mdiNumeric8BoxMultipleOutline = \"M13,11H15V13H13M13,7H15V9H13M13,15H15A2,2 0 0,0 17,13V11.5A1.5,1.5 0 0,0 15.5,10A1.5,1.5 0 0,0 17,8.5V7C17,5.89 16.1,5 15,5H13A2,2 0 0,0 11,7V8.5A1.5,1.5 0 0,0 12.5,10A1.5,1.5 0 0,0 11,11.5V13C11,14.11 11.9,15 13,15M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\r\nexport var mdiNumeric8BoxOutline = \"M11,13H13V15H11M11,9H13V11H11M11,17H13A2,2 0 0,0 15,15V13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 15,10.5V9C15,7.89 14.1,7 13,7H11A2,2 0 0,0 9,9V10.5A1.5,1.5 0 0,0 10.5,12A1.5,1.5 0 0,0 9,13.5V15C9,16.11 9.9,17 11,17M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiNumeric8Circle = \"M11,13H13V15H11V13M11,9H13V11H11V9M11,17H13A2,2 0 0,0 15,15V13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 15,10.5V9C15,7.89 14.1,7 13,7H11A2,2 0 0,0 9,9V10.5A1.5,1.5 0 0,0 10.5,12A1.5,1.5 0 0,0 9,13.5V15C9,16.11 9.9,17 11,17M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiNumeric8CircleOutline = \"M11,13V15H13V13H11M11,9V11H13V9H11M11,17A2,2 0 0,1 9,15V13.5A1.5,1.5 0 0,1 10.5,12A1.5,1.5 0 0,1 9,10.5V9A2,2 0 0,1 11,7H13A2,2 0 0,1 15,9V10.5A1.5,1.5 0 0,1 13.5,12A1.5,1.5 0 0,1 15,13.5V15A2,2 0 0,1 13,17H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiNumeric9 = \"M13,17A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11A2,2 0 0,0 9,9V11A2,2 0 0,0 11,13H13V15H9V17H13M13,11H11V9H13V11Z\";\r\nexport var mdiNumeric9Box = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M13,11H11V9H13V11M13,7H11A2,2 0 0,0 9,9V11C9,12.11 9.9,13 11,13H13V15H9V17H13A2,2 0 0,0 15,15V9C15,7.89 14.1,7 13,7Z\";\r\nexport var mdiNumeric9BoxMultiple = \"M15,9H13V7H15V9M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M15,5H13A2,2 0 0,0 11,7V9C11,10.11 11.9,11 13,11H15V13H11V15H15A2,2 0 0,0 17,13V7C17,5.89 16.1,5 15,5M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21Z\";\r\nexport var mdiNumeric9BoxMultipleOutline = \"M15,9H13V7H15M15,5H13A2,2 0 0,0 11,7V9C11,10.11 11.9,11 13,11H15V13H11V15H15A2,2 0 0,0 17,13V7C17,5.89 16.1,5 15,5M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\r\nexport var mdiNumeric9BoxOutline = \"M13,11H11V9H13M13,7H11A2,2 0 0,0 9,9V11C9,12.11 9.9,13 11,13H13V15H9V17H13A2,2 0 0,0 15,15V9C15,7.89 14.1,7 13,7M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiNumeric9Circle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M13,17A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11A2,2 0 0,0 9,9V11A2,2 0 0,0 11,13H13V15H9V17H13M13,11H11V9H13V11Z\";\r\nexport var mdiNumeric9CircleOutline = \"M13,17H9V15H13V13H11A2,2 0 0,1 9,11V9A2,2 0 0,1 11,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17M13,11V9H11V11H13M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiNumeric9Plus = \"M19 11H17V9H15V11H13V13H15V15H17V13H19V11M10 7H8C6.9 7 6 7.9 6 9V11C6 12.11 6.9 13 8 13H10V15H6V17H10C11.11 17 12 16.11 12 15V9C12 7.89 11.1 7 10 7M10 11H8V9H10V11Z\";\r\nexport var mdiNumeric9PlusBox = \"M21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5M19,11H17V9H15V11H13V13H15V15H17V13H19V11M10,7H8A2,2 0 0,0 6,9V11C6,12.11 6.9,13 8,13H10V15H6V17H10A2,2 0 0,0 12,15V9C12,7.89 11.1,7 10,7M8,9H10V11H8V9Z\";\r\nexport var mdiNumeric9PlusBoxMultiple = \"M11,9V8H12V9H11M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M15,9V11H17V13H19V11H21V9H19V7H17V9H15M14,12V8C14,6.89 13.1,6 12,6H11A2,2 0 0,0 9,8V9C9,10.11 9.9,11 11,11H12V12H9V14H12A2,2 0 0,0 14,12Z\";\r\nexport var mdiNumeric9PlusBoxMultipleOutline = \"M21,9H19V7H17V9H15V11H17V13H19V11H21V17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M11,9V8H12V9M14,12V8C14,6.89 13.1,6 12,6H11A2,2 0 0,0 9,8V9C9,10.11 9.9,11 11,11H12V12H9V14H12A2,2 0 0,0 14,12M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\r\nexport var mdiNumeric9PlusBoxOutline = \"M19,11H17V9H15V11H13V13H15V15H17V13H19V19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M9,11V10H10V11M12,14V10C12,8.89 11.1,8 10,8H9A2,2 0 0,0 7,10V11C7,12.11 7.9,13 9,13H10V14H7V16H10A2,2 0 0,0 12,14Z\";\r\nexport var mdiNumeric9PlusCircle = \"M19,11H17V9H15V11H13V13H15V15H17V13H19V11M10,7H8A2,2 0 0,0 6,9V11C6,12.11 6.9,13 8,13H10V15H6V17H10A2,2 0 0,0 12,15V9C12,7.89 11.1,7 10,7M8,9H10V11H8V9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiNumeric9PlusCircleOutline = \"M19,11V13H17V15H15V13H13V11H15V9H17V11H19M10,7A2,2 0 0,1 12,9V15C12,16.11 11.1,17 10,17H6V15H10V13H8A2,2 0 0,1 6,11V9C6,7.89 6.9,7 8,7H10M8,9V11H10V9H8M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiNumericNegative1 = \"M13 7V9H15V17H17V7H13M11 13H5V11H11V13Z\";\r\nexport var mdiNumericPositive1 = \"M13 7V9H15V17H17V7H13M11 13H9V15H7V13H5V11H7V9H9V11H11V13Z\";\r\nexport var mdiNut = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7Z\";\r\nexport var mdiNutrition = \"M22,18A4,4 0 0,1 18,22H14A4,4 0 0,1 10,18V16H22V18M4,3H14A2,2 0 0,1 16,5V14H8V19H4A2,2 0 0,1 2,17V5A2,2 0 0,1 4,3M4,6V8H6V6H4M14,8V6H8V8H14M4,10V12H6V10H4M8,10V12H14V10H8M4,14V16H6V14H4Z\";\r\nexport var mdiNuxt = \"M21.8 18.36L16.03 8.08C15.93 8 15.63 7.43 15.03 7.43C14.78 7.43 14.43 7.53 14.07 8.08L13.33 9.26L11.31 5.65C11.26 5.55 10.91 5 10.31 5C10.06 5 9.66 5.1 9.36 5.65L2.18 18.31C2.13 18.41 1.83 19 2.13 19.5C2.23 19.75 2.53 20 3.19 20H20.85C20.95 20 21.6 20 21.9 19.5C22 19.26 22.1 18.86 21.8 18.36M8.1 18.31L7.95 18.86H3.24L10.36 6.34L12.66 10.47L8.1 18.31M9.21 18.86L13.32 11.66L17.5 18.86H9.21M18.74 18.86L18.54 18.31L14 10.46L15.03 8.73L20.75 18.86H18.74Z\";\r\nexport var mdiOar = \"M20.23,15.21C18.77,13.75 14.97,10.2 12.77,11.27L4.5,3L3,4.5L11.28,12.79C10.3,15 13.88,18.62 15.35,20.08C17.11,21.84 18.26,20.92 19.61,19.57C21.1,18.08 21.61,16.61 20.23,15.21Z\";\r\nexport var mdiOcarina = \"M20,12C16.8,10.4 13.4,9.7 10.8,9.3L9.7,5.9C9.3,4.8 7.7,4.8 7.3,5.9L6.3,9C3.9,9.4 2,11.5 2,14C2,16.8 4.2,19 7,19C7,19 14,19 20,16C20,16 22,15 22,14C22,13 20,12 20,12M5,14C4.4,14 4,13.6 4,13C4,12.4 4.4,12 5,12C5.6,12 6,12.4 6,13C6,13.5 5.6,14 5,14M7,17C6.4,17 6,16.6 6,16C6,15.4 6.4,15 7,15C7.6,15 8,15.4 8,16C8,16.5 7.6,17 7,17M9,14C8.4,14 8,13.6 8,13C8,12.4 8.4,12 9,12C9.6,12 10,12.4 10,13C10,13.5 9.6,14 9,14M11,17C10.4,17 10,16.6 10,16C10,15.4 10.4,15 11,15C11.6,15 12,15.4 12,16C12,16.5 11.6,17 11,17M16,14C15.4,14 15,13.6 15,13C15,12.4 15.4,12 16,12C16.6,12 17,12.4 17,13C17,13.5 16.6,14 16,14M19,15C18.4,15 18,14.6 18,14C18,13.4 18.4,13 19,13C19.6,13 20,13.4 20,14C20,14.5 19.6,15 19,15Z\";\r\nexport var mdiOci = \"M2 2V22H22V2M19.12 19.03H4.87V5H19.13V19.03M14.83 10.71H17.69V17.59H14.83M14.83 6.41H17.69V9.27H14.83M6.3 6.41V17.59H13.4V14.72H9.17V9.28H13.4V6.41Z\";\r\nexport var mdiOcr = \"M2 5V19H14V17H12C10.89 17 10 16.11 10 15V9C10 7.89 10.89 7 12 7H14V5M14 7V9H16V7M14 9H12V15H14M14 15V17H16V15M5 7H7C8.11 7 9 7.89 9 9V15C9 16.11 8.11 17 7 17H5C3.89 17 3 16.11 3 15V9C3 7.89 3.89 7 5 7M17 7V17H19V13H20V14H21V17H23V14H22V12H23V8H22V7M5 9V15H7V9M19 9H21V11H19Z\";\r\nexport var mdiOctagon = \"M15.73,3H8.27L3,8.27V15.73L8.27,21H15.73L21,15.73V8.27\";\r\nexport var mdiOctagonOutline = \"M8.27,3L3,8.27V15.73L8.27,21H15.73C17.5,19.24 21,15.73 21,15.73V8.27L15.73,3M9.1,5H14.9L19,9.1V14.9L14.9,19H9.1L5,14.9V9.1\";\r\nexport var mdiOctagram = \"M2.2,16.06L3.88,12L2.2,7.94L6.26,6.26L7.94,2.2L12,3.88L16.06,2.2L17.74,6.26L21.8,7.94L20.12,12L21.8,16.06L17.74,17.74L16.06,21.8L12,20.12L7.94,21.8L6.26,17.74L2.2,16.06Z\";\r\nexport var mdiOctagramOutline = \"M2.2,16.06L3.88,12L2.2,7.94L6.26,6.26L7.94,2.2L12,3.88L16.06,2.2L17.74,6.26L21.8,7.94L20.12,12L21.8,16.06L17.74,17.74L16.06,21.8L12,20.12L7.94,21.8L6.26,17.74L2.2,16.06M4.81,9L6.05,12L4.81,15L7.79,16.21L9,19.19L12,17.95L15,19.19L16.21,16.21L19.19,15L17.95,12L19.19,9L16.21,7.79L15,4.81L12,6.05L9,4.81L7.79,7.79L4.81,9Z\";\r\nexport var mdiOdnoklassniki = \"M17.83,12.74C17.55,12.17 16.76,11.69 15.71,12.5C14.28,13.64 12,13.64 12,13.64C12,13.64 9.72,13.64 8.29,12.5C7.24,11.69 6.45,12.17 6.17,12.74C5.67,13.74 6.23,14.23 7.5,15.04C8.59,15.74 10.08,16 11.04,16.1L10.24,16.9C9.1,18.03 8,19.12 7.25,19.88C6.8,20.34 6.8,21.07 7.25,21.5L7.39,21.66C7.84,22.11 8.58,22.11 9.03,21.66L12,18.68C13.15,19.81 14.24,20.9 15,21.66C15.45,22.11 16.18,22.11 16.64,21.66L16.77,21.5C17.23,21.07 17.23,20.34 16.77,19.88L13.79,16.9L13,16.09C13.95,16 15.42,15.73 16.5,15.04C17.77,14.23 18.33,13.74 17.83,12.74M12,4.57C13.38,4.57 14.5,5.69 14.5,7.06C14.5,8.44 13.38,9.55 12,9.55C10.62,9.55 9.5,8.44 9.5,7.06C9.5,5.69 10.62,4.57 12,4.57M12,12.12C14.8,12.12 17.06,9.86 17.06,7.06C17.06,4.27 14.8,2 12,2C9.2,2 6.94,4.27 6.94,7.06C6.94,9.86 9.2,12.12 12,12.12Z\";\r\nexport var mdiOffer = \"M21 13C21.6 13 22.1 13.2 22.4 13.6C22.8 14 23 14.5 23 15L15 18L8 16V7H9.9L17.2 9.7C17.7 9.9 18 10.3 18 10.8C18 11.1 17.9 11.4 17.7 11.6C17.5 11.8 17.2 12 16.8 12H14L12.3 11.3L12 12.2L14 13H21M2 7H6V18H2V7Z\";\r\nexport var mdiOfficeBuilding = \"M5,3V21H11V17.5H13V21H19V3H5M7,5H9V7H7V5M11,5H13V7H11V5M15,5H17V7H15V5M7,9H9V11H7V9M11,9H13V11H11V9M15,9H17V11H15V9M7,13H9V15H7V13M11,13H13V15H11V13M15,13H17V15H15V13M7,17H9V19H7V17M15,17H17V19H15V17Z\";\r\nexport var mdiOfficeBuildingMarker = \"M15.19 21C14.12 19.43 13 17.36 13 15.5C13 13.67 13.96 12 15.4 11H15V9H17V10.23C17.5 10.09 18 10 18.5 10C18.67 10 18.84 10 19 10.03V3H5V21H11V17.5H13V21H15.19M15 5H17V7H15V5M9 19H7V17H9V19M9 15H7V13H9V15M9 11H7V9H9V11M9 7H7V5H9V7M11 5H13V7H11V5M11 9H13V11H11V9M11 15V13H13V15H11M18.5 12C16.6 12 15 13.61 15 15.5C15 18.11 18.5 22 18.5 22S22 18.11 22 15.5C22 13.61 20.4 12 18.5 12M18.5 16.81C17.8 16.81 17.3 16.21 17.3 15.61C17.3 14.91 17.9 14.41 18.5 14.41S19.7 15 19.7 15.61C19.8 16.21 19.2 16.81 18.5 16.81Z\";\r\nexport var mdiOfficeBuildingMarkerOutline = \"M15 9H17V11H15V9M17 5H15V7H17V5M11 15H13V13H11V15M13 5H11V7H13V5M11 11H13V9H11V11M9 5H7V7H9V5M9 9H7V11H9V9M14.55 21H13V17.5H11V21H5V3H19V11.03C19.71 11.09 20.39 11.31 21 11.63V1H3V23H15.91C15.5 22.44 15 21.76 14.55 21M7 19H9V17H7V19M9 13H7V15H9V13M22 16.5C22 19.1 18.5 23 18.5 23S15 19.1 15 16.5C15 14.6 16.6 13 18.5 13S22 14.6 22 16.5M19.7 16.6C19.7 16 19.1 15.4 18.5 15.4S17.3 15.9 17.3 16.6C17.3 17.2 17.8 17.8 18.5 17.8S19.8 17.2 19.7 16.6Z\";\r\nexport var mdiOfficeBuildingOutline = \"M19 3V21H13V17.5H11V21H5V3H19M15 7H17V5H15V7M11 7H13V5H11V7M7 7H9V5H7V7M15 11H17V9H15V11M11 11H13V9H11V11M7 11H9V9H7V11M15 15H17V13H15V15M11 15H13V13H11V15M7 15H9V13H7V15M15 19H17V17H15V19M7 19H9V17H7V19M21 1H3V23H21V1Z\";\r\nexport var mdiOil = \"M22,12.5C22,12.5 24,14.67 24,16A2,2 0 0,1 22,18A2,2 0 0,1 20,16C20,14.67 22,12.5 22,12.5M6,6H10A1,1 0 0,1 11,7A1,1 0 0,1 10,8H9V10H11C11.74,10 12.39,10.4 12.73,11L19.24,7.24L22.5,9.13C23,9.4 23.14,10 22.87,10.5C22.59,10.97 22,11.14 21.5,10.86L19.4,9.65L15.75,15.97C15.41,16.58 14.75,17 14,17H5A2,2 0 0,1 3,15V12A2,2 0 0,1 5,10H7V8H6A1,1 0 0,1 5,7A1,1 0 0,1 6,6M5,12V15H14L16.06,11.43L12.6,13.43L11.69,12H5M0.38,9.21L2.09,7.5C2.5,7.11 3.11,7.11 3.5,7.5C3.89,7.89 3.89,8.5 3.5,8.91L1.79,10.62C1.4,11 0.77,11 0.38,10.62C0,10.23 0,9.6 0.38,9.21Z\";\r\nexport var mdiOilLamp = \"M5,20H16V22H5M11,5H10A2,2 0 0,0 8,7H13A2,2 0 0,0 11,5M16,8H22A2,2 0 0,1 20,10H19A4,4 0 0,0 15,14V15A4,4 0 0,1 11,19H10A4,4 0 0,1 6,15H4A2,2 0 0,1 2,13V10A2,2 0 0,1 4,8M6,10H4V13H6M19,5A2,2 0 0,1 21,7H22A2.9,2.9 0 0,0 19,4A2,2 0 0,1 17,2H16A2.9,2.9 0 0,0 19,5\";\r\nexport var mdiOilLevel = \"M8 18C6.67 18 5.79 18.79 5.29 19.29S4.67 20 4 20 3.21 19.79 2.71 19.29C2.35 18.93 1.79 18.42 1 18.16V20.41C1.09 20.5 1.18 20.59 1.29 20.71C1.79 21.21 2.67 22 4 22S6.21 21.21 6.71 20.71 7.33 20 8 20 8.79 20.21 9.29 20.71C9.73 21.14 10.44 21.8 11.5 21.96C11.66 22 11.83 22 12 22C13.33 22 14.21 21.21 14.71 20.71S15.33 20 16 20 16.79 20.21 17.29 20.71 18.67 22 20 22 22.21 21.21 22.71 20.71C22.82 20.59 22.91 20.5 23 20.41V18.16C22.21 18.42 21.65 18.93 21.29 19.29C20.79 19.79 20.67 20 20 20S19.21 19.79 18.71 19.29 17.33 18 16 18 13.79 18.79 13.29 19.29 12.67 20 12 20C11.78 20 11.63 19.97 11.5 19.92C11.22 19.82 11.05 19.63 10.71 19.29C10.21 18.79 9.33 18 8 18M22 10.5C22 10.5 24 12.67 24 14C24 15.1 23.1 16 22 16S20 15.1 20 14C20 12.67 22 10.5 22 10.5M22.5 7.13L19.24 5.24L12.73 9C12.39 8.4 11.74 8 11 8H9V6H10C10.55 6 11 5.55 11 5S10.55 4 10 4H6C5.45 4 5 4.45 5 5S5.45 6 6 6H7V8H5C3.9 8 3 8.9 3 10V13C3 14.1 3.9 15 5 15H14C14.75 15 15.41 14.58 15.75 13.97L19.4 7.65L21.5 8.86C22 9.14 22.59 8.97 22.87 8.5C23.14 8 23 7.4 22.5 7.13M14 13H5V10H11.69L12.6 11.43L16.06 9.43L14 13M3.5 6.92L1.79 8.62A1 1 0 0 1 .38 7.21L2.09 5.5A1 1 0 0 1 3.5 5.5C3.89 5.89 3.89 6.5 3.5 6.92Z\";\r\nexport var mdiOilTemperature = \"M10 5H13V3H10V2C10 1.4 9.6 1 9 1S8 1.4 8 2V15.3C7.4 15.6 7 16.3 7 17C7 18.1 7.9 19 9 19S11 18.1 11 17C11 16.3 10.6 15.6 10 15.3V13H13V11H10V9H13V7H10V5M22 17.5C22 17.5 24 19.7 24 21C24 22.1 23.1 23 22 23S20 22.1 20 21C20 19.7 22 17.5 22 17.5M22.9 15.5C22.6 16 22 16.1 21.5 15.9L19.4 14.7L15.8 21C15.5 21.6 14.8 22 14 22H5C3.9 22 3 21.1 3 20V17C3 15.9 3.9 15 5 15V20H14L16.1 16.4L13 18.2V15.8L19.2 12.2L22.5 14.1C23 14.4 23.1 15 22.9 15.5M3.5 13.9L1.8 15.6C1.4 16 .8 16 .4 15.6S0 14.6.4 14.2L2.1 12.5C2.5 12.1 3.1 12.1 3.5 12.5S3.9 13.5 3.5 13.9Z\";\r\nexport var mdiOm = \"M15,2L13.5,3.5L15,5L16.5,3.5L15,2M11,3C10,9 17,10 20,6L18,4.5C17,6 13,8 11,3M9,7C7,7 4.5,8.5 4.5,8.5L6,11C7,10 9,9.5 10,10C12,11 9,13 7,12V15.5C10,14 12,16 11,17.5C8,22 3,16 3,13C1,19 6,22 9,22C12,22 14,20 12.5,15H14C12.5,19.5 18,24 21,18C22,16 22,9.5 17,9.5C13,9.5 14,15 10.5,13.5C14,10 12,7 9,7M19,12C22,15 15,21 15,15C15,13 17,10.5 19,12Z\";\r\nexport var mdiOmega = \"M19.15,19H13.39V16.87C15.5,15.25 16.59,13.24 16.59,10.84C16.59,9.34 16.16,8.16 15.32,7.29C14.47,6.42 13.37,6 12.03,6C10.68,6 9.57,6.42 8.71,7.3C7.84,8.17 7.41,9.37 7.41,10.88C7.41,13.26 8.5,15.26 10.61,16.87V19H4.85V16.87H8.41C6.04,15.32 4.85,13.23 4.85,10.6C4.85,8.5 5.5,6.86 6.81,5.66C8.12,4.45 9.84,3.85 11.97,3.85C14.15,3.85 15.89,4.45 17.19,5.64C18.5,6.83 19.15,8.5 19.15,10.58C19.15,13.21 17.95,15.31 15.55,16.87H19.15V19Z\";\r\nexport var mdiOneUp = \"M10,19V19C9.4,19 9,18.6 9,18V17C9,16.5 9.4,16 10,16V16C10.5,16 11,16.4 11,17V18C11,18.6 10.6,19 10,19M15,18V17C15,16.5 14.6,16 14,16V16C13.5,16 13,16.4 13,17V18C13,18.5 13.4,19 14,19V19C14.6,19 15,18.6 15,18M22,12C22,14.6 20.4,16.9 18,18.4V20A2,2 0 0,1 16,22H8A2,2 0 0,1 6,20V18.4C3.6,16.9 2,14.6 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M7,10C7,8.9 6.4,7.9 5.5,7.4C4.5,8.7 4,10.3 4,12C4,12.3 4,12.7 4.1,13C5.7,12.9 7,11.6 7,10M9,9C9,10.7 10.3,12 12,12C13.7,12 15,10.7 15,9C15,7.3 13.7,6 12,6C10.3,6 9,7.3 9,9M16,20V15.5C14.8,15.2 13.4,15 12,15C10.6,15 9.2,15.2 8,15.5V20H16M19.9,13C20,12.7 20,12.3 20,12C20,10.3 19.5,8.7 18.5,7.4C17.6,7.9 17,8.9 17,10C17,11.6 18.3,12.9 19.9,13Z\";\r\nexport var mdiOnepassword = \"M12,1C5.92,1 1,5.92 1,12C1,18.08 5.92,23 12,23C18.08,23 23,18.08 23,12C23,5.92 18.08,1 12,1M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M13,13.5C13,14.13 13.4,14.7 14,14.91V18H10V11.91C10.78,11.64 11.19,10.8 10.93,10C10.78,9.58 10.44,9.24 10,9.09V6H14V12.09C13.4,12.3 13,12.87 13,13.5Z\";\r\nexport var mdiOpacity = \"M17.66,8L12,2.35L6.34,8C4.78,9.56 4,11.64 4,13.64C4,15.64 4.78,17.75 6.34,19.31C7.9,20.87 9.95,21.66 12,21.66C14.05,21.66 16.1,20.87 17.66,19.31C19.22,17.75 20,15.64 20,13.64C20,11.64 19.22,9.56 17.66,8M6,14C6,12 6.62,10.73 7.76,9.6L12,5.27L16.24,9.65C17.38,10.77 18,12 18,14H6Z\";\r\nexport var mdiOpenInApp = \"M12,10L8,14H11V20H13V14H16M19,4H5C3.89,4 3,4.9 3,6V18A2,2 0 0,0 5,20H9V18H5V8H19V18H15V20H19A2,2 0 0,0 21,18V6A2,2 0 0,0 19,4Z\";\r\nexport var mdiOpenInNew = \"M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z\";\r\nexport var mdiOpenSourceInitiative = \"M15.41,22C15.35,22 15.28,22 15.22,22C15.1,21.95 15,21.85 14.96,21.73L12.74,15.93C12.65,15.69 12.77,15.42 13,15.32C13.71,15.06 14.28,14.5 14.58,13.83C15.22,12.4 14.58,10.73 13.15,10.09C11.72,9.45 10.05,10.09 9.41,11.5C9.11,12.21 9.09,13 9.36,13.69C9.66,14.43 10.25,15 11,15.28C11.24,15.37 11.37,15.64 11.28,15.89L9,21.69C8.96,21.81 8.87,21.91 8.75,21.96C8.63,22 8.5,22 8.39,21.96C3.24,19.97 0.67,14.18 2.66,9.03C4.65,3.88 10.44,1.31 15.59,3.3C18.06,4.26 20.05,6.15 21.13,8.57C22.22,11 22.29,13.75 21.33,16.22C20.32,18.88 18.23,21 15.58,22C15.5,22 15.47,22 15.41,22M12,3.59C7.03,3.46 2.9,7.39 2.77,12.36C2.68,16.08 4.88,19.47 8.32,20.9L10.21,16C8.38,15 7.69,12.72 8.68,10.89C9.67,9.06 11.96,8.38 13.79,9.36C15.62,10.35 16.31,12.64 15.32,14.47C14.97,15.12 14.44,15.65 13.79,16L15.68,20.93C17.86,19.95 19.57,18.16 20.44,15.93C22.28,11.31 20.04,6.08 15.42,4.23C14.33,3.8 13.17,3.58 12,3.59Z\";\r\nexport var mdiOpenid = \"M14,2L11,3.5V19.94C7,19.5 4,17.46 4,15C4,12.75 6.5,10.85 10,10.22V8.19C4.86,8.88 1,11.66 1,15C1,18.56 5.36,21.5 11,21.94C11.03,21.94 11.06,21.94 11.09,21.94L14,20.5V2M15,8.19V10.22C16.15,10.43 17.18,10.77 18.06,11.22L16.5,12L23,13.5L22.5,9L20.5,10C19,9.12 17.12,8.47 15,8.19Z\";\r\nexport var mdiOpera = \"M9.04,17.07C8.04,15.9 7.4,14.16 7.35,12.21V11.79C7.4,9.84 8.04,8.1 9.04,6.93C9.86,5.95 10.93,5.37 12.1,5.37C14.72,5.37 16.84,8.34 16.84,12C16.84,15.66 14.72,18.63 12.1,18.63C10.93,18.63 10.33,18.5 9.04,17.07M12.03,3H12A9,9 0 0,0 3,12C3,16.83 6.8,20.77 11.57,21H12C14.3,21 16.4,20.13 18,18.71C19.84,17.06 21,14.67 21,12C21,9.33 19.84,6.94 18,5.29C16.41,3.87 14.32,3 12.03,3Z\";\r\nexport var mdiOrbit = \"M8.11,1.75C9.3,1.25 10.62,1 12,1C18.08,1 23,5.92 23,12C23,18.08 18.08,23 12,23C5.92,23 1,18.08 1,12C1,10.62 1.25,9.3 1.72,8.08C2.24,8.61 2.83,8.96 3.45,9.18C3.16,10.07 3,11 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12A9,9 0 0,0 12,3C11,3 10.07,3.16 9.18,3.45C8.96,2.83 8.61,2.24 8.11,1.75M4.93,2.93C6.03,2.93 6.93,3.82 6.93,4.93A2,2 0 0,1 4.93,6.93C3.82,6.93 2.93,6.03 2.93,4.93C2.93,3.82 3.82,2.93 4.93,2.93M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7Z\";\r\nexport var mdiOrbitVariant = \"M19 8L15 12H18C18 15.31 15.31 18 12 18C11 18 10.03 17.75 9.2 17.3L7.74 18.76C8.97 19.54 10.43 20 12 20C16.42 20 20 16.42 20 12H23M6 12C6 8.69 8.69 6 12 6C13 6 13.97 6.25 14.8 6.7L16.26 5.24C15.03 4.46 13.57 4 12 4C7.58 4 4 7.58 4 12H1L5 16L9 12M14 12C14 13.11 13.11 14 12 14S10 13.11 10 12 10.9 10 12 10 14 10.9 14 12Z\";\r\nexport var mdiOrderAlphabeticalAscending = \"M12 5H22V7H12M12 19V17H22V19M12 11H22V13H12M9 13V15L5.67 19H9V21H3V19L6.33 15H3V13M7 3H5C3.9 3 3 3.9 3 5V11H5V9H7V11H9V5C9 3.9 8.11 3 7 3M7 7H5V5H7Z\";\r\nexport var mdiOrderAlphabeticalDescending = \"M7 13H5C3.9 13 3 13.9 3 15V21H5V19H7V21H9V15C9 13.9 8.11 13 7 13M7 17H5V15H7M9 3V5L5.67 9H9V11H3V9L6.33 5H3V3M12 5H22V7H12M12 19V17H22V19M12 11H22V13H12Z\";\r\nexport var mdiOrderBoolAscending = \"M6 3C3.79 3 2 4.79 2 7S3.79 11 6 11 10 9.21 10 7 8.21 3 6 3M6 9C4.9 9 4 8.1 4 7S4.9 5 6 5 8 5.9 8 7 7.1 9 6 9M6 13C3.79 13 2 14.79 2 17S3.79 21 6 21 10 19.21 10 17 8.21 13 6 13M12 5H22V7H12V5M12 19V17H22V19H12M12 11H22V13H12V11Z\";\r\nexport var mdiOrderBoolAscendingVariant = \"M4 13C2.89 13 2 13.89 2 15V19C2 20.11 2.89 21 4 21H8C9.11 21 10 20.11 10 19V15C10 13.89 9.11 13 8 13M8.2 14.5L9.26 15.55L5.27 19.5L2.74 16.95L3.81 15.9L5.28 17.39M4 3C2.89 3 2 3.89 2 5V9C2 10.11 2.89 11 4 11H8C9.11 11 10 10.11 10 9V5C10 3.89 9.11 3 8 3M4 5H8V9H4M12 5H22V7H12M12 19V17H22V19M12 11H22V13H12Z\";\r\nexport var mdiOrderBoolDescending = \"M6 13C3.79 13 2 14.79 2 17S3.79 21 6 21 10 19.21 10 17 8.21 13 6 13M6 19C4.9 19 4 18.1 4 17S4.9 15 6 15 8 15.9 8 17 7.1 19 6 19M6 3C3.79 3 2 4.79 2 7S3.79 11 6 11 10 9.21 10 7 8.21 3 6 3M12 5H22V7H12V5M12 19V17H22V19H12M12 11H22V13H12V11Z\";\r\nexport var mdiOrderBoolDescendingVariant = \"M4 3C2.89 3 2 3.89 2 5V9C2 10.11 2.89 11 4 11H8C9.11 11 10 10.11 10 9V5C10 3.89 9.11 3 8 3M8.2 4.5L9.26 5.55L5.27 9.5L2.74 6.95L3.81 5.9L5.28 7.39M4 13C2.89 13 2 13.89 2 15V19C2 20.11 2.89 21 4 21H8C9.11 21 10 20.11 10 19V15C10 13.89 9.11 13 8 13M4 15H8V19H4M12 5H22V7H12M12 19V17H22V19M12 11H22V13H12Z\";\r\nexport var mdiOrderNumericAscending = \"M7 21H3V19H7V18H5C3.9 18 3 17.11 3 16V15C3 13.9 3.9 13 5 13H7C8.11 13 9 13.9 9 15V19C9 20.11 8.11 21 7 21M7 15H5V16H7M5 3H7C8.11 3 9 3.9 9 5V9C9 10.11 8.11 11 7 11H5C3.9 11 3 10.11 3 9V5C3 3.9 3.9 3 5 3M5 9H7V5H5M12 5H22V7H12M12 19V17H22V19M12 11H22V13H12Z\";\r\nexport var mdiOrderNumericDescending = \"M7 11H3V9H7V8H5C3.9 8 3 7.11 3 6V5C3 3.9 3.9 3 5 3H7C8.11 3 9 3.9 9 5V9C9 10.11 8.11 11 7 11M7 5H5V6H7M5 13H7C8.11 13 9 13.9 9 15V19C9 20.11 8.11 21 7 21H5C3.9 21 3 20.11 3 19V15C3 13.9 3.9 13 5 13M5 19H7V15H5M12 5H22V7H12M12 19V17H22V19M12 11H22V13H12Z\";\r\nexport var mdiOrigin = \"M12,2.13C12,2.23 11.95,2.33 11.89,2.41C11.5,3 11.16,3.64 11.04,4.33L11,4.56L12,4.5A7.5,7.5 0 0,1 19.5,12C19.5,13.62 19,15.11 18.12,16.34C16.73,18.68 14.72,20.65 12.34,21.97C12.25,22 12.12,22 12.06,21.93C12,21.83 12,21.7 12.09,21.61C12.47,21.09 12.73,20.5 12.87,19.85L12.93,19.44L12,19.5A7.5,7.5 0 0,1 4.5,12C4.5,10.39 5,8.89 5.88,7.67C7.26,5.32 9.28,3.34 11.67,2C11.78,1.95 11.94,2 12,2.13M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z\";\r\nexport var mdiOrnament = \"M12,1A3,3 0 0,1 15,4V5A1,1 0 0,1 16,6V7.07C18.39,8.45 20,11.04 20,14A8,8 0 0,1 12,22A8,8 0 0,1 4,14C4,11.04 5.61,8.45 8,7.07V6A1,1 0 0,1 9,5V4A3,3 0 0,1 12,1M12,3A1,1 0 0,0 11,4V5H13V4A1,1 0 0,0 12,3M12,8C10.22,8 8.63,8.77 7.53,10H16.47C15.37,8.77 13.78,8 12,8M6.34,16H7.59L6,14.43C6.05,15 6.17,15.5 6.34,16M12.59,16L8.59,12H6.41L10.41,16H12.59M17.66,12H16.41L18,13.57C17.95,13 17.83,12.5 17.66,12M11.41,12L15.41,16H17.59L13.59,12H11.41M12,20C13.78,20 15.37,19.23 16.47,18H7.53C8.63,19.23 10.22,20 12,20Z\";\r\nexport var mdiOrnamentVariant = \"M12,1A3,3 0 0,1 15,4V5A1,1 0 0,1 16,6V7.07C18.39,8.45 20,11.04 20,14A8,8 0 0,1 12,22A8,8 0 0,1 4,14C4,11.04 5.61,8.45 8,7.07V6A1,1 0 0,1 9,5V4A3,3 0 0,1 12,1M12,3A1,1 0 0,0 11,4V5H13V4A1,1 0 0,0 12,3M12,8C10.22,8 8.63,8.77 7.53,10H16.47C15.37,8.77 13.78,8 12,8M12,20C13.78,20 15.37,19.23 16.47,18H7.53C8.63,19.23 10.22,20 12,20M12,12A2,2 0 0,0 10,14A2,2 0 0,0 12,16A2,2 0 0,0 14,14A2,2 0 0,0 12,12M18,14C18,13.31 17.88,12.65 17.67,12C16.72,12.19 16,13 16,14C16,15 16.72,15.81 17.67,15.97C17.88,15.35 18,14.69 18,14M6,14C6,14.69 6.12,15.35 6.33,15.97C7.28,15.81 8,15 8,14C8,13 7.28,12.19 6.33,12C6.12,12.65 6,13.31 6,14Z\";\r\nexport var mdiOutdoorLamp = \"M15 22H13C11.9 22 11 21.1 11 20V15H17V20C17 21.1 16.1 22 15 22M7 14H21L15 9.71V6C15 4.39 13.94 2 11 2S7 4.39 7 6C7 6.45 6.81 7 6 7H5V3H3V12H5V9H6C8.2 9 9 7.21 9 6C9 5.67 9.1 4 11 4C12.83 4 13 5.54 13 6V9.71L7 14Z\";\r\nexport var mdiOverscan = \"M12 5.5L10 8H14L12 5.5M18 10V14L20.5 12L18 10M6 10L3.5 12L6 14V10M14 16H10L12 18.5L14 16M21 3H3C1.9 3 1 3.9 1 5V19C1 20.1 1.9 21 3 21H21C22.1 21 23 20.1 23 19V5C23 3.9 22.1 3 21 3M21 19H3V5H21V19Z\";\r\nexport var mdiOwl = \"M12,16C12.56,16.84 13.31,17.53 14.2,18L12,20.2L9.8,18C10.69,17.53 11.45,16.84 12,16M17,11.2A2,2 0 0,0 15,13.2A2,2 0 0,0 17,15.2A2,2 0 0,0 19,13.2C19,12.09 18.1,11.2 17,11.2M7,11.2A2,2 0 0,0 5,13.2A2,2 0 0,0 7,15.2A2,2 0 0,0 9,13.2C9,12.09 8.1,11.2 7,11.2M17,8.7A4,4 0 0,1 21,12.7A4,4 0 0,1 17,16.7A4,4 0 0,1 13,12.7A4,4 0 0,1 17,8.7M7,8.7A4,4 0 0,1 11,12.7A4,4 0 0,1 7,16.7A4,4 0 0,1 3,12.7A4,4 0 0,1 7,8.7M2.24,1C4,4.7 2.73,7.46 1.55,10.2C1.19,11 1,11.83 1,12.7A6,6 0 0,0 7,18.7C7.21,18.69 7.42,18.68 7.63,18.65L10.59,21.61L12,23L13.41,21.61L16.37,18.65C16.58,18.68 16.79,18.69 17,18.7A6,6 0 0,0 23,12.7C23,11.83 22.81,11 22.45,10.2C21.27,7.46 20,4.7 21.76,1C19.12,3.06 15.36,4.69 12,4.7C8.64,4.69 4.88,3.06 2.24,1Z\";\r\nexport var mdiPacMan = \"M12,12L19.07,19.07C15.17,23 8.83,23 4.93,19.07C1,15.17 1,8.84 4.93,4.93C8.83,1 15.16,1 19.07,4.93L12,12M19,10A2,2 0 0,0 17,12A2,2 0 0,0 19,14A2,2 0 0,0 21,12A2,2 0 0,0 19,10Z\";\r\nexport var mdiPackage = \"M5.12,5H18.87L17.93,4H5.93L5.12,5M20.54,5.23C20.83,5.57 21,6 21,6.5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V6.5C3,6 3.17,5.57 3.46,5.23L4.84,3.55C5.12,3.21 5.53,3 6,3H18C18.47,3 18.88,3.21 19.15,3.55L20.54,5.23M6,18H12V15H6V18Z\";\r\nexport var mdiPackageDown = \"M5.12,5L5.93,4H17.93L18.87,5M12,17.5L6.5,12H10V10H14V12H17.5L12,17.5M20.54,5.23L19.15,3.55C18.88,3.21 18.47,3 18,3H6C5.53,3 5.12,3.21 4.84,3.55L3.46,5.23C3.17,5.57 3,6 3,6.5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V6.5C21,6 20.83,5.57 20.54,5.23Z\";\r\nexport var mdiPackageUp = \"M20.54,5.23C20.83,5.57 21,6 21,6.5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V6.5C3,6 3.17,5.57 3.46,5.23L4.84,3.55C5.12,3.21 5.53,3 6,3H18C18.47,3 18.88,3.21 19.15,3.55L20.54,5.23M5.12,5H18.87L17.93,4H5.93L5.12,5M12,9.5L6.5,15H10V17H14V15H17.5L12,9.5Z\";\r\nexport var mdiPackageVariant = \"M2,10.96C1.5,10.68 1.35,10.07 1.63,9.59L3.13,7C3.24,6.8 3.41,6.66 3.6,6.58L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.66,6.72 20.82,6.88 20.91,7.08L22.36,9.6C22.64,10.08 22.47,10.69 22,10.96L21,11.54V16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V10.96C2.7,11.13 2.32,11.14 2,10.96M12,4.15V4.15L12,10.85V10.85L17.96,7.5L12,4.15M5,15.91L11,19.29V12.58L5,9.21V15.91M19,15.91V12.69L14,15.59C13.67,15.77 13.3,15.76 13,15.6V19.29L19,15.91M13.85,13.36L20.13,9.73L19.55,8.72L13.27,12.35L13.85,13.36Z\";\r\nexport var mdiPackageVariantClosed = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L10.11,5.22L16,8.61L17.96,7.5L12,4.15M6.04,7.5L12,10.85L13.96,9.75L8.08,6.35L6.04,7.5M5,15.91L11,19.29V12.58L5,9.21V15.91M19,15.91V9.21L13,12.58V19.29L19,15.91Z\";\r\nexport var mdiPageFirst = \"M18.41,16.59L13.82,12L18.41,7.41L17,6L11,12L17,18L18.41,16.59M6,6H8V18H6V6Z\";\r\nexport var mdiPageLast = \"M5.59,7.41L10.18,12L5.59,16.59L7,18L13,12L7,6L5.59,7.41M16,6H18V18H16V6Z\";\r\nexport var mdiPageLayoutBody = \"M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M6,8V16H18V8H6Z\";\r\nexport var mdiPageLayoutFooter = \"M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M6,16V20H18V16H6Z\";\r\nexport var mdiPageLayoutHeader = \"M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M6,4V8H18V4H6Z\";\r\nexport var mdiPageLayoutHeaderFooter = \"M18 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V4C20 2.9 19.11 2 18 2M18 20H6V16H18V20M18 8H6V4H18V8Z\";\r\nexport var mdiPageLayoutSidebarLeft = \"M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M6,8V16H10V8H6Z\";\r\nexport var mdiPageLayoutSidebarRight = \"M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M14,8V16H18V8H14Z\";\r\nexport var mdiPageNext = \"M20,3H5A2,2 0 0,0 3,5V11H7V9L11,12L7,15V13H3V19A2,2 0 0,0 5,21H20A2,2 0 0,0 22,19V5A2,2 0 0,0 20,3M17,17H13V15H17V17M20,13H13V11H20V13M20,9H13V7H20V9M3,13H0V11H3V13Z\";\r\nexport var mdiPageNextOutline = \"M22,3H5A2,2 0 0,0 3,5V9H5V5H22V19H5V15H3V19A2,2 0 0,0 5,21H22A2,2 0 0,0 24,19V5A2,2 0 0,0 22,3M7,15V13H0V11H7V9L11,12L7,15M20,13H13V11H20V13M20,9H13V7H20V9M17,17H13V15H17V17Z\";\r\nexport var mdiPagePrevious = \"M4,21H19A2,2 0 0,0 21,19V13H17V15L13,12L17,9V11H21V5A2,2 0 0,0 19,3H4A2,2 0 0,0 2,5V19A2,2 0 0,0 4,21M4,15H8V17H4V15M4,11H11V13H4V11M4,7H11V9H4V7M21,11H24V13H21V11Z\";\r\nexport var mdiPagePreviousOutline = \"M2,3H19A2,2 0 0,1 21,5V9H19V5H2V19H19V15H21V19A2,2 0 0,1 19,21H2A2,2 0 0,1 0,19V5A2,2 0 0,1 2,3M17,15V13H24V11H17V9L13,12L17,15M4,13H11V11H4V13M4,9H11V7H4V9M4,17H8V15H4V17Z\";\r\nexport var mdiPail = \"M11.5 7.63C11.97 7.35 12.58 7.5 12.86 8C13.14 8.47 12.97 9.09 12.5 9.36L4.27 14.11C3.79 14.39 3.18 14.23 2.9 13.75C2.62 13.27 2.79 12.66 3.27 12.38L11.5 7.63M7 21L5.79 14.97L13.21 10.69C14 10.26 14.5 9.44 14.5 8.5C14.5 7.12 13.38 6 12 6C11.53 6 11.09 6.13 10.71 6.36L4.76 9.79L4 6H3V4H21V6H20L17 21H7Z\";\r\nexport var mdiPailMinus = \"M12.5 9.36L4.27 14.11C3.79 14.39 3.18 14.23 2.9 13.75C2.62 13.27 2.79 12.66 3.27 12.38L11.5 7.63C11.97 7.35 12.58 7.5 12.86 8C13.14 8.47 12.97 9.09 12.5 9.36M13 19C13 15.82 15.47 13.23 18.6 13L20 6H21V4H3V6H4L4.76 9.79L10.71 6.36C11.09 6.13 11.53 6 12 6C13.38 6 14.5 7.12 14.5 8.5C14.5 9.44 14 10.26 13.21 10.69L5.79 14.97L7 21H13.35C13.13 20.37 13 19.7 13 19M15 18V20H23V18H15Z\";\r\nexport var mdiPailMinusOutline = \"M4 6H3V4H21V6H20L18.6 13C17.83 13.07 17.11 13.26 16.45 13.58L17.96 6H6.04L6.5 8.22L4.65 9.27L4 6M12.86 8C12.58 7.5 11.97 7.35 11.5 7.63L3.27 12.38C2.79 12.66 2.62 13.27 2.9 13.75C3.18 14.23 3.79 14.39 4.27 14.11L12.5 9.36C12.97 9.09 13.14 8.47 12.86 8M13 19H8.64L7.73 14.43L5.9 15.5L7 21H13.35C13.13 20.37 13 19.7 13 19M15 18V20H23V18H15Z\";\r\nexport var mdiPailOff = \"M20.84 22.73L17.35 19.24L17 21H7L5.79 14.97L10.41 12.3L9.31 11.2L4.27 14.11C3.79 14.39 3.18 14.23 2.9 13.75C2.62 13.27 2.79 12.66 3.27 12.38L7.85 9.74L6.75 8.64L4.76 9.79L4 6H3V4.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M10.71 6.36C11.09 6.13 11.53 6 12 6C13.38 6 14.5 7.12 14.5 8.5C14.5 9.27 14.16 9.94 13.6 10.4L18.2 15L20 6H21V4H7.2L10 6.78L10.71 6.36M11.5 7.63L11.08 7.88L12.53 9.33C12.97 9.05 13.13 8.46 12.86 8C12.58 7.5 11.97 7.35 11.5 7.63Z\";\r\nexport var mdiPailOffOutline = \"M20.84 22.73L17.35 19.24L17 21H7L5.9 15.5L7.73 14.43L8.64 19H15.36L15.65 17.54L9.31 11.2L4.27 14.11C3.79 14.39 3.18 14.23 2.9 13.75C2.62 13.27 2.79 12.66 3.27 12.38L7.85 9.74L6.38 8.27L4.65 9.27L4 6H3V4.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M17.96 6L16.5 13.3L18.2 15L20 6H21V4H7.2L9.2 6H17.96M11.5 7.63L11.08 7.88L12.53 9.33C12.97 9.05 13.13 8.46 12.86 8C12.58 7.5 11.97 7.35 11.5 7.63Z\";\r\nexport var mdiPailOutline = \"M11.5 7.63C11.97 7.35 12.58 7.5 12.86 8C13.14 8.47 12.97 9.09 12.5 9.36L4.27 14.11C3.79 14.39 3.18 14.23 2.9 13.75S2.79 12.66 3.27 12.38L11.5 7.63M3 4V6H4L4.65 9.27L6.5 8.22L6.04 6H17.96L15.36 19H8.64L7.73 14.43L5.9 15.5L7 21H17L20 6H21V4H3Z\";\r\nexport var mdiPailPlus = \"M12.5 9.36L4.27 14.11C3.79 14.39 3.18 14.23 2.9 13.75C2.62 13.27 2.79 12.66 3.27 12.38L11.5 7.63C11.97 7.35 12.58 7.5 12.86 8C13.14 8.47 12.97 9.09 12.5 9.36M13 19C13 15.82 15.47 13.23 18.6 13L20 6H21V4H3V6H4L4.76 9.79L10.71 6.36C11.09 6.13 11.53 6 12 6C13.38 6 14.5 7.12 14.5 8.5C14.5 9.44 14 10.26 13.21 10.69L5.79 14.97L7 21H13.35C13.13 20.37 13 19.7 13 19M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiPailPlusOutline = \"M4 6H3V4H21V6H20L18.6 13C17.83 13.07 17.11 13.26 16.45 13.58L17.96 6H6.04L6.5 8.22L4.65 9.27L4 6M12.86 8C12.58 7.5 11.97 7.35 11.5 7.63L3.27 12.38C2.79 12.66 2.62 13.27 2.9 13.75C3.18 14.23 3.79 14.39 4.27 14.11L12.5 9.36C12.97 9.09 13.14 8.47 12.86 8M13 19H8.64L7.73 14.43L5.9 15.5L7 21H13.35C13.13 20.37 13 19.7 13 19M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiPailRemove = \"M12.5 9.36L4.27 14.11C3.79 14.39 3.18 14.23 2.9 13.75C2.62 13.27 2.79 12.66 3.27 12.38L11.5 7.63C11.97 7.35 12.58 7.5 12.86 8C13.14 8.47 12.97 9.09 12.5 9.36M13 19C13 15.82 15.47 13.23 18.6 13L20 6H21V4H3V6H4L4.76 9.79L10.71 6.36C11.09 6.13 11.53 6 12 6C13.38 6 14.5 7.12 14.5 8.5C14.5 9.44 14 10.26 13.21 10.69L5.79 14.97L7 21H13.35C13.13 20.37 13 19.7 13 19M21.12 15.46L19 17.59L16.88 15.46L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\r\nexport var mdiPailRemoveOutline = \"M4 6H3V4H21V6H20L18.6 13C17.83 13.07 17.11 13.26 16.45 13.58L17.96 6H6.04L6.5 8.22L4.65 9.27L4 6M12.86 8C12.58 7.5 11.97 7.35 11.5 7.63L3.27 12.38C2.79 12.66 2.62 13.27 2.9 13.75C3.18 14.23 3.79 14.39 4.27 14.11L12.5 9.36C12.97 9.09 13.14 8.47 12.86 8M13 19H8.64L7.73 14.43L5.9 15.5L7 21H13.35C13.13 20.37 13 19.7 13 19M21.12 15.46L19 17.59L16.88 15.46L15.46 16.88L17.58 19L15.46 21.12L16.87 22.54L19 20.41L21.12 22.54L22.53 21.12L20.41 19L22.53 16.88L21.12 15.46Z\";\r\nexport var mdiPalette = \"M17.5,12A1.5,1.5 0 0,1 16,10.5A1.5,1.5 0 0,1 17.5,9A1.5,1.5 0 0,1 19,10.5A1.5,1.5 0 0,1 17.5,12M14.5,8A1.5,1.5 0 0,1 13,6.5A1.5,1.5 0 0,1 14.5,5A1.5,1.5 0 0,1 16,6.5A1.5,1.5 0 0,1 14.5,8M9.5,8A1.5,1.5 0 0,1 8,6.5A1.5,1.5 0 0,1 9.5,5A1.5,1.5 0 0,1 11,6.5A1.5,1.5 0 0,1 9.5,8M6.5,12A1.5,1.5 0 0,1 5,10.5A1.5,1.5 0 0,1 6.5,9A1.5,1.5 0 0,1 8,10.5A1.5,1.5 0 0,1 6.5,12M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A1.5,1.5 0 0,0 13.5,19.5C13.5,19.11 13.35,18.76 13.11,18.5C12.88,18.23 12.73,17.88 12.73,17.5A1.5,1.5 0 0,1 14.23,16H16A5,5 0 0,0 21,11C21,6.58 16.97,3 12,3Z\";\r\nexport var mdiPaletteAdvanced = \"M22,22H10V20H22V22M2,22V20H9V22H2M18,18V10H22V18H18M18,3H22V9H18V3M2,18V3H16V18H2M9,14.56A3,3 0 0,0 12,11.56C12,9.56 9,6.19 9,6.19C9,6.19 6,9.56 6,11.56A3,3 0 0,0 9,14.56Z\";\r\nexport var mdiPaletteOutline = \"M12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2C17.5,2 22,6 22,11A6,6 0 0,1 16,17H14.2C13.9,17 13.7,17.2 13.7,17.5C13.7,17.6 13.8,17.7 13.8,17.8C14.2,18.3 14.4,18.9 14.4,19.5C14.5,20.9 13.4,22 12,22M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C12.3,20 12.5,19.8 12.5,19.5C12.5,19.3 12.4,19.2 12.4,19.1C12,18.6 11.8,18.1 11.8,17.5C11.8,16.1 12.9,15 14.3,15H16A4,4 0 0,0 20,11C20,7.1 16.4,4 12,4M6.5,10C7.3,10 8,10.7 8,11.5C8,12.3 7.3,13 6.5,13C5.7,13 5,12.3 5,11.5C5,10.7 5.7,10 6.5,10M9.5,6C10.3,6 11,6.7 11,7.5C11,8.3 10.3,9 9.5,9C8.7,9 8,8.3 8,7.5C8,6.7 8.7,6 9.5,6M14.5,6C15.3,6 16,6.7 16,7.5C16,8.3 15.3,9 14.5,9C13.7,9 13,8.3 13,7.5C13,6.7 13.7,6 14.5,6M17.5,10C18.3,10 19,10.7 19,11.5C19,12.3 18.3,13 17.5,13C16.7,13 16,12.3 16,11.5C16,10.7 16.7,10 17.5,10Z\";\r\nexport var mdiPaletteSwatch = \"M2.53,19.65L3.87,20.21V11.18L1.44,17.04C1.03,18.06 1.5,19.23 2.53,19.65M22.03,15.95L17.07,4C16.76,3.23 16.03,2.77 15.26,2.75C15,2.75 14.73,2.79 14.47,2.9L7.1,5.95C6.35,6.26 5.89,7 5.87,7.75C5.86,8 5.91,8.29 6,8.55L11,20.5C11.29,21.28 12.03,21.74 12.81,21.75C13.07,21.75 13.33,21.7 13.58,21.6L20.94,18.55C21.96,18.13 22.45,16.96 22.03,15.95M7.88,8.75A1,1 0 0,1 6.88,7.75A1,1 0 0,1 7.88,6.75C8.43,6.75 8.88,7.2 8.88,7.75C8.88,8.3 8.43,8.75 7.88,8.75M5.88,19.75A2,2 0 0,0 7.88,21.75H9.33L5.88,13.41V19.75Z\";\r\nexport var mdiPaletteSwatchOutline = \"M2.5 19.6L3.8 20.2V11.2L1.4 17C1 18.1 1.5 19.2 2.5 19.6M15.2 4.8L20.2 16.8L12.9 19.8L7.9 7.9V7.8L15.2 4.8M15.3 2.8C15 2.8 14.8 2.8 14.5 2.9L7.1 6C6.4 6.3 5.9 7 5.9 7.8C5.9 8 5.9 8.3 6 8.6L11 20.5C11.3 21.3 12 21.7 12.8 21.7C13.1 21.7 13.3 21.7 13.6 21.6L21 18.5C22 18.1 22.5 16.9 22.1 15.9L17.1 4C16.8 3.2 16 2.8 15.3 2.8M10.5 9.9C9.9 9.9 9.5 9.5 9.5 8.9S9.9 7.9 10.5 7.9C11.1 7.9 11.5 8.4 11.5 8.9S11.1 9.9 10.5 9.9M5.9 19.8C5.9 20.9 6.8 21.8 7.9 21.8H9.3L5.9 13.5V19.8Z\";\r\nexport var mdiPalmTree = \"M12 9C13.59 16.61 10 22 10 22H13C14.88 16.2 14 12.09 13.5 10M15.66 7.16C15.83 7.37 16 7.59 16.13 7.82C17.84 10.53 17.5 13.95 15.5 16.26C16.34 14.21 16.22 11.79 14.95 9.77C14.87 9.64 14.78 9.53 14.7 9.41C14.11 8.58 13.36 7.92 12.54 7.43C9.66 8.35 7.58 11.04 7.58 14.22C7.58 14.96 7.69 15.67 7.89 16.33C7.05 15.16 6.56 13.73 6.56 12.19C6.56 9.84 7.7 7.76 9.45 6.46C8 6.35 6.46 6.67 5.12 7.5C4.5 7.91 3.96 8.38 3.5 8.91C4.05 7.58 5 6.39 6.3 5.57C7.8 4.63 9.5 4.32 11.14 4.56C10.73 4 10.23 3.47 9.63 3C9.05 2.58 8.42 2.24 7.76 2C9.2 2.04 10.64 2.5 11.87 3.43C12.5 3.9 13 4.47 13.4 5.07C13.5 5.07 13.59 5.06 13.69 5.06C16.89 5.06 19.6 7.17 20.5 10.08C19.38 8.5 17.65 7.43 15.66 7.16Z\";\r\nexport var mdiPan = \"M12,2.5L8,7H16L12,2.5M7,8L2.5,12L7,16V8M17,8V16L21.5,12L17,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M8,17L12,21.5L16,17H8Z\";\r\nexport var mdiPanBottomLeft = \"M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M5.35,13L11,18.65L5,19L5.35,13Z\";\r\nexport var mdiPanBottomRight = \"M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M13,18.65L18.65,13L19,19L13,18.65Z\";\r\nexport var mdiPanDown = \"M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M8,17L12,21.5L16,17H8Z\";\r\nexport var mdiPanHorizontal = \"M7,8L2.5,12L7,16V8M17,8V16L21.5,12L17,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\r\nexport var mdiPanLeft = \"M7,8L2.5,12L7,16V8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\r\nexport var mdiPanRight = \"M17,8V16L21.5,12L17,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\r\nexport var mdiPanTopLeft = \"M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M11,5.35L5.35,11L5,5L11,5.35Z\";\r\nexport var mdiPanTopRight = \"M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M18.65,11L13,5.35L19,5L18.65,11Z\";\r\nexport var mdiPanUp = \"M12,2.5L8,7H16L12,2.5M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\r\nexport var mdiPanVertical = \"M12,2.5L8,7H16L12,2.5M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M8,17L12,21.5L16,17H8Z\";\r\nexport var mdiPanda = \"M12,3C13.74,3 15.36,3.5 16.74,4.35C17.38,3.53 18.38,3 19.5,3A3.5,3.5 0 0,1 23,6.5C23,8 22.05,9.28 20.72,9.78C20.9,10.5 21,11.23 21,12A9,9 0 0,1 12,21A9,9 0 0,1 3,12C3,11.23 3.1,10.5 3.28,9.78C1.95,9.28 1,8 1,6.5A3.5,3.5 0 0,1 4.5,3C5.62,3 6.62,3.53 7.26,4.35C8.64,3.5 10.26,3 12,3M12,5A7,7 0 0,0 5,12A7,7 0 0,0 12,19A7,7 0 0,0 19,12A7,7 0 0,0 12,5M16.19,10.3C16.55,11.63 16.08,12.91 15.15,13.16C14.21,13.42 13.17,12.54 12.81,11.2C12.45,9.87 12.92,8.59 13.85,8.34C14.79,8.09 15.83,8.96 16.19,10.3M7.81,10.3C8.17,8.96 9.21,8.09 10.15,8.34C11.08,8.59 11.55,9.87 11.19,11.2C10.83,12.54 9.79,13.42 8.85,13.16C7.92,12.91 7.45,11.63 7.81,10.3M12,14C12.6,14 13.13,14.19 13.5,14.5L12.5,15.5C12.5,15.92 12.84,16.25 13.25,16.25A0.75,0.75 0 0,0 14,15.5A0.5,0.5 0 0,1 14.5,15A0.5,0.5 0 0,1 15,15.5A1.75,1.75 0 0,1 13.25,17.25C12.76,17.25 12.32,17.05 12,16.72C11.68,17.05 11.24,17.25 10.75,17.25A1.75,1.75 0 0,1 9,15.5A0.5,0.5 0 0,1 9.5,15A0.5,0.5 0 0,1 10,15.5A0.75,0.75 0 0,0 10.75,16.25A0.75,0.75 0 0,0 11.5,15.5L10.5,14.5C10.87,14.19 11.4,14 12,14Z\";\r\nexport var mdiPandora = \"M10,20A1,1 0 0,1 9,21H4V3H13.71A6.75,6.75 0 0,1 20.46,9.75C20.46,13.5 17.44,16.5 13.71,16.5H10V20Z\";\r\nexport var mdiPanorama = \"M8.5,12.5L11,15.5L14.5,11L19,17H5M23,18V6A2,2 0 0,0 21,4H3A2,2 0 0,0 1,6V18A2,2 0 0,0 3,20H21A2,2 0 0,0 23,18Z\";\r\nexport var mdiPanoramaFisheye = \"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22C17.53,22 22,17.53 22,12C22,6.47 17.53,2 12,2Z\";\r\nexport var mdiPanoramaHorizontal = \"M21.43,4C21.33,4 21.23,4 21.12,4.06C18.18,5.16 15.09,5.7 12,5.7C8.91,5.7 5.82,5.15 2.88,4.06C2.77,4 2.66,4 2.57,4C2.23,4 2,4.23 2,4.63V19.38C2,19.77 2.23,20 2.57,20C2.67,20 2.77,20 2.88,19.94C5.82,18.84 8.91,18.3 12,18.3C15.09,18.3 18.18,18.85 21.12,19.94C21.23,20 21.33,20 21.43,20C21.76,20 22,19.77 22,19.37V4.63C22,4.23 21.76,4 21.43,4M20,6.54V17.45C17.4,16.68 14.72,16.29 12,16.29C9.28,16.29 6.6,16.68 4,17.45V6.54C6.6,7.31 9.28,7.7 12,7.7C14.72,7.71 17.4,7.32 20,6.54Z\";\r\nexport var mdiPanoramaVertical = \"M6.54,20C7.31,17.4 7.7,14.72 7.7,12C7.7,9.28 7.31,6.6 6.54,4H17.45C16.68,6.6 16.29,9.28 16.29,12C16.29,14.72 16.68,17.4 17.45,20M19.94,21.12C18.84,18.18 18.3,15.09 18.3,12C18.3,8.91 18.85,5.82 19.94,2.88C20,2.77 20,2.66 20,2.57C20,2.23 19.77,2 19.37,2H4.63C4.23,2 4,2.23 4,2.57C4,2.67 4,2.77 4.06,2.88C5.16,5.82 5.71,8.91 5.71,12C5.71,15.09 5.16,18.18 4.07,21.12C4,21.23 4,21.34 4,21.43C4,21.76 4.23,22 4.63,22H19.38C19.77,22 20,21.76 20,21.43C20,21.33 20,21.23 19.94,21.12Z\";\r\nexport var mdiPanoramaWideAngle = \"M12,4C9.27,4 6.78,4.24 4.05,4.72L3.12,4.88L2.87,5.78C2.29,7.85 2,9.93 2,12C2,14.07 2.29,16.15 2.87,18.22L3.12,19.11L4.05,19.27C6.78,19.76 9.27,20 12,20C14.73,20 17.22,19.76 19.95,19.28L20.88,19.12L21.13,18.23C21.71,16.15 22,14.07 22,12C22,9.93 21.71,7.85 21.13,5.78L20.88,4.89L19.95,4.73C17.22,4.24 14.73,4 12,4M12,6C14.45,6 16.71,6.2 19.29,6.64C19.76,8.42 20,10.22 20,12C20,13.78 19.76,15.58 19.29,17.36C16.71,17.8 14.45,18 12,18C9.55,18 7.29,17.8 4.71,17.36C4.24,15.58 4,13.78 4,12C4,10.22 4.24,8.42 4.71,6.64C7.29,6.2 9.55,6 12,6Z\";\r\nexport var mdiPaperCutVertical = \"M11.43,3.23L12,4L12.57,3.23V3.24C13.12,2.5 14,2 15,2A3,3 0 0,1 18,5C18,5.35 17.94,5.69 17.83,6H20A2,2 0 0,1 22,8V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V8A2,2 0 0,1 4,6H6.17C6.06,5.69 6,5.35 6,5A3,3 0 0,1 9,2C10,2 10.88,2.5 11.43,3.24V3.23M4,8V20H11A1,1 0 0,1 12,19A1,1 0 0,1 13,20H20V8H15L14.9,8L17,10.92L15.4,12.1L12.42,8H11.58L8.6,12.1L7,10.92L9.1,8H9L4,8M9,4A1,1 0 0,0 8,5A1,1 0 0,0 9,6A1,1 0 0,0 10,5A1,1 0 0,0 9,4M15,4A1,1 0 0,0 14,5A1,1 0 0,0 15,6A1,1 0 0,0 16,5A1,1 0 0,0 15,4M12,16A1,1 0 0,1 13,17A1,1 0 0,1 12,18A1,1 0 0,1 11,17A1,1 0 0,1 12,16M12,13A1,1 0 0,1 13,14A1,1 0 0,1 12,15A1,1 0 0,1 11,14A1,1 0 0,1 12,13M12,10A1,1 0 0,1 13,11A1,1 0 0,1 12,12A1,1 0 0,1 11,11A1,1 0 0,1 12,10Z\";\r\nexport var mdiPaperRoll = \"M9 3C5.69 3 3.14 5.69 3 9V21H12V13.46C13.1 14.45 14.5 15 16 15C19.31 15 22 12.31 22 9C22 5.69 19.31 3 16 3H9M16 5C18.21 5 20 6.79 20 9C20 11.21 18.21 13 16 13C13.79 13 12 11.21 12 9C12 6.79 13.79 5 16 5M16 7.25C15.03 7.25 14.25 8.03 14.25 9C14.25 9.97 15.03 10.75 16 10.75C16.97 10.75 17.75 9.97 17.75 9C17.75 8.03 16.97 7.25 16 7.25M4 12H5V13H4V12M6 12H7V13H6V12M8 12H9V13H8V12M10 12H11V13H10V12Z\";\r\nexport var mdiPaperRollOutline = \"M9 3C5.69 3 3.14 5.69 3 9V21H12V13.46C13.1 14.45 14.5 15 16 15C19.31 15 22 12.31 22 9C22 5.69 19.31 3 16 3H9M9 5H11.54C10.55 6.1 10 7.5 10 9V12H9V13H10V19H5V13H6V12H5V9C5 6.79 6.79 5 9 5M16 5C18.21 5 20 6.79 20 9C20 11.21 18.21 13 16 13C13.79 13 12 11.21 12 9C12 6.79 13.79 5 16 5M16 7.25C15.03 7.25 14.25 8.03 14.25 9C14.25 9.97 15.03 10.75 16 10.75C16.97 10.75 17.75 9.97 17.75 9C17.75 8.03 16.97 7.25 16 7.25M7 12V13H8V12H7Z\";\r\nexport var mdiPaperclip = \"M16.5,6V17.5A4,4 0 0,1 12.5,21.5A4,4 0 0,1 8.5,17.5V5A2.5,2.5 0 0,1 11,2.5A2.5,2.5 0 0,1 13.5,5V15.5A1,1 0 0,1 12.5,16.5A1,1 0 0,1 11.5,15.5V6H10V15.5A2.5,2.5 0 0,0 12.5,18A2.5,2.5 0 0,0 15,15.5V5A4,4 0 0,0 11,1A4,4 0 0,0 7,5V17.5A5.5,5.5 0 0,0 12.5,23A5.5,5.5 0 0,0 18,17.5V6H16.5Z\";\r\nexport var mdiParachute = \"M21.2,10.95L12,23L2.78,10.96L2.87,10.88C3.08,10.67 3.33,10.5 3.58,10.36L10.73,19.69L8.58,13L9.24,11.81L12,20.38L14.73,11.8L15.4,13L13.27,19.69L20.41,10.35C20.66,10.5 20.9,10.64 21.1,10.85L21.2,10.95M5,9C6.5,9 7.81,9.86 8.5,11.1C9.17,9.86 10.47,9 12,9C13.5,9 14.8,9.85 15.5,11.09C16.16,9.84 17.47,9 19,9C20.09,9 21.09,9.42 21.81,10.14C20.94,5.5 16.88,2 12,2C7.09,2 3.03,5.5 2.16,10.17C2.89,9.45 3.89,9 5,9Z\";\r\nexport var mdiParachuteOutline = \"M21.2,10.95L12,23L2.78,10.96L2.87,10.88C3.08,10.67 3.33,10.5 3.58,10.36L10.73,19.69L8.58,13L9.24,11.81L12,20.38L14.73,11.8L15.4,13L13.27,19.69L20.41,10.35C20.66,10.5 20.9,10.64 21.1,10.85L21.2,10.95M12,4C14.5,4 16.77,5.17 18.25,7.03C17.24,7.15 16.28,7.54 15.47,8.13C14.47,7.41 13.26,7 12,7C10.71,7 9.5,7.41 8.5,8.14C7.68,7.55 6.72,7.17 5.71,7.04C7.19,5.17 9.47,4 12,4M12,2C7.09,2 3.03,5.5 2.16,10.17C2.89,9.45 3.89,9 5,9C6.5,9 7.81,9.86 8.5,11.1C9.17,9.86 10.47,9 12,9C13.5,9 14.8,9.85 15.5,11.09C16.16,9.84 17.47,9 19,9C20.09,9 21.09,9.42 21.81,10.14C20.94,5.5 16.88,2 12,2Z\";\r\nexport var mdiParagliding = \"M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13 14 13.9 14 15 13.11 17 12 17M19 14H17C17 16.76 14.76 19 12 19S7 16.76 7 14H5C5 16.79 6.64 19.19 9 20.32V23H15V20.32C17.36 19.19 19 16.79 19 14M23 7.76C23.04 8.56 22.05 9.06 21.41 8.6C21.27 8.46 21.16 8.44 21 8.32L18.97 13H17L15.5 6.73C13.21 6.5 10.79 6.5 8.5 6.73L7 13H5.03L3 8.32C2.84 8.44 2.73 8.46 2.59 8.6C1.95 9.06 .959 8.56 1 7.76V4C1 4 1 1 12 1S23 4 23 4M6.9 7C6 7.2 5.15 7.43 4.37 7.71L5.87 11.27L6.9 7M19.63 7.71C18.85 7.43 18 7.2 17.1 7L18.13 11.27L19.63 7.71Z\";\r\nexport var mdiParking = \"M13.2,11H10V7H13.2A2,2 0 0,1 15.2,9A2,2 0 0,1 13.2,11M13,3H6V21H10V15H13A6,6 0 0,0 19,9C19,5.68 16.31,3 13,3Z\";\r\nexport var mdiPartyPopper = \"M14.53 1.45L13.45 2.53L15.05 4.13C15.27 4.38 15.38 4.67 15.38 5S15.27 5.64 15.05 5.86L11.5 9.47L12.5 10.55L16.13 6.94C16.66 6.35 16.92 5.7 16.92 5C16.92 4.3 16.66 3.64 16.13 3.05L14.53 1.45M10.55 3.47L9.47 4.55L10.08 5.11C10.3 5.33 10.41 5.63 10.41 6S10.3 6.67 10.08 6.89L9.47 7.45L10.55 8.53L11.11 7.92C11.64 7.33 11.91 6.69 11.91 6C11.91 5.28 11.64 4.63 11.11 4.03L10.55 3.47M21 5.06C20.31 5.06 19.67 5.33 19.08 5.86L13.45 11.5L14.53 12.5L20.11 6.94C20.36 6.69 20.66 6.56 21 6.56S21.64 6.69 21.89 6.94L22.5 7.55L23.53 6.47L22.97 5.86C22.38 5.33 21.72 5.06 21 5.06M7 8L2 22L16 17L7 8M19 11.06C18.3 11.06 17.66 11.33 17.06 11.86L15.47 13.45L16.55 14.53L18.14 12.94C18.39 12.69 18.67 12.56 19 12.56C19.33 12.56 19.63 12.69 19.88 12.94L21.5 14.53L22.55 13.5L20.95 11.86C20.36 11.33 19.7 11.06 19 11.06Z\";\r\nexport var mdiPassport = \"M6,2A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V4A2,2 0 0,0 18,2H6M12,5A5,5 0 0,1 17,10A5,5 0 0,1 12,15A5,5 0 0,1 7,10A5,5 0 0,1 12,5M12,6C11.59,6.62 11.25,7.29 11.04,8H12.96C12.75,7.29 12.42,6.62 12,6M10.7,6.22C9.78,6.53 9,7.17 8.54,8H10C10.18,7.38 10.4,6.78 10.7,6.22M13.29,6.22C13.59,6.78 13.82,7.38 14,8H15.46C15,7.17 14.21,6.54 13.29,6.22M8.13,9C8.05,9.32 8,9.65 8,10C8,10.35 8.05,10.68 8.13,11H9.82C9.78,10.67 9.75,10.34 9.75,10C9.75,9.66 9.78,9.33 9.82,9H8.13M10.83,9C10.78,9.32 10.75,9.66 10.75,10C10.75,10.34 10.78,10.67 10.83,11H13.17C13.21,10.67 13.25,10.34 13.25,10C13.25,9.66 13.21,9.32 13.17,9H10.83M14.18,9C14.22,9.33 14.25,9.66 14.25,10C14.25,10.34 14.22,10.67 14.18,11H15.87C15.95,10.68 16,10.35 16,10C16,9.65 15.95,9.32 15.87,9H14.18M8.54,12C9,12.83 9.78,13.46 10.7,13.78C10.4,13.22 10.18,12.63 10,12H8.54M11.04,12C11.25,12.72 11.59,13.38 12,14C12.42,13.38 12.75,12.72 12.96,12H11.04M14,12C13.82,12.63 13.59,13.22 13.29,13.78C14.21,13.46 15,12.83 15.46,12H14M7,17H17V19H7V17Z\";\r\nexport var mdiPassportBiometric = \"M4,4A2,2 0 0,0 2,6V11H8.13C8.59,9.24 10.18,8 12,8C13.82,8 15.41,9.24 15.87,11H22V6A2,2 0 0,0 20,4H4M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M2,13V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V13H15.87C15.41,14.76 13.82,16 12,16C10.18,16 8.59,14.76 8.13,13H2Z\";\r\nexport var mdiPasta = \"M4 16.5V8H3V7H4V6H3V5H4V4H3V3H9C9.5 3.03 9.95 3.24 10.34 3.63S10.95 4.5 11 5H21V6H11C10.95 6.53 10.73 7 10.34 7.43S9.5 8.05 9 8H7V15.05C7.05 15.05 7.13 15.04 7.24 15S7.44 15 7.5 15C8.06 15 8.7 15.14 9.42 15.42C9.83 14.5 10.53 13.68 11.53 13S13.53 12 14.53 12C16.06 12 17.36 12.53 18.42 13.59S20 15.95 20 17.5C20 17.55 20 17.64 20 17.77S19.97 17.97 19.97 18H3.14C3.27 17.5 3.55 17 4 16.5M6 15.23V8H5V15.7C5.5 15.45 5.81 15.3 6 15.23M9 7V6H7V7H9M9 4H7V5H9V4M5 4V5H6V4H5M5 6V7H6V6H5M2 19H22L20 21H4L2 19Z\";\r\nexport var mdiPatioHeater = \"M15 22H9V21H15V22M19 4L15 2H9L5 4H19M8 5L8.4 6H15.6L16 5H8M10 10H11V15C10.4 15 10 15.4 10 16V20H14V16C14 15.4 13.6 15 13 15V10H14L14.4 9H9.6L10 10M9.2 8H14.8L15.2 7H8.8L9.2 8Z\";\r\nexport var mdiPatreon = \"M14.82 2.41C18.78 2.41 22 5.65 22 9.62C22 13.58 18.78 16.8 14.82 16.8C10.85 16.8 7.61 13.58 7.61 9.62C7.61 5.65 10.85 2.41 14.82 2.41M2 21.6H5.5V2.41H2V21.6Z\";\r\nexport var mdiPause = \"M14,19H18V5H14M6,19H10V5H6V19Z\";\r\nexport var mdiPauseCircle = \"M15,16H13V8H15M11,16H9V8H11M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiPauseCircleOutline = \"M13,16V8H15V16H13M9,16V8H11V16H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiPauseOctagon = \"M15.73,3L21,8.27V15.73L15.73,21H8.27L3,15.73V8.27L8.27,3H15.73M15,16V8H13V16H15M11,16V8H9V16H11Z\";\r\nexport var mdiPauseOctagonOutline = \"M15,16H13V8H15V16M11,16H9V8H11V16M15.73,3L21,8.27V15.73L15.73,21H8.27L3,15.73V8.27L8.27,3H15.73M14.9,5H9.1L5,9.1V14.9L9.1,19H14.9L19,14.9V9.1L14.9,5Z\";\r\nexport var mdiPaw = \"M8.35,3C9.53,2.83 10.78,4.12 11.14,5.9C11.5,7.67 10.85,9.25 9.67,9.43C8.5,9.61 7.24,8.32 6.87,6.54C6.5,4.77 7.17,3.19 8.35,3M15.5,3C16.69,3.19 17.35,4.77 17,6.54C16.62,8.32 15.37,9.61 14.19,9.43C13,9.25 12.35,7.67 12.72,5.9C13.08,4.12 14.33,2.83 15.5,3M3,7.6C4.14,7.11 5.69,8 6.5,9.55C7.26,11.13 7,12.79 5.87,13.28C4.74,13.77 3.2,12.89 2.41,11.32C1.62,9.75 1.9,8.08 3,7.6M21,7.6C22.1,8.08 22.38,9.75 21.59,11.32C20.8,12.89 19.26,13.77 18.13,13.28C17,12.79 16.74,11.13 17.5,9.55C18.31,8 19.86,7.11 21,7.6M19.33,18.38C19.37,19.32 18.65,20.36 17.79,20.75C16,21.57 13.88,19.87 11.89,19.87C9.9,19.87 7.76,21.64 6,20.75C5,20.26 4.31,18.96 4.44,17.88C4.62,16.39 6.41,15.59 7.47,14.5C8.88,13.09 9.88,10.44 11.89,10.44C13.89,10.44 14.95,13.05 16.3,14.5C17.41,15.72 19.26,16.75 19.33,18.38Z\";\r\nexport var mdiPawOff = \"M2,4.27L3.28,3L21.5,21.22L20.23,22.5L18.23,20.5C18.09,20.6 17.94,20.68 17.79,20.75C16,21.57 13.88,19.87 11.89,19.87C9.9,19.87 7.76,21.64 6,20.75C5,20.26 4.31,18.96 4.44,17.88C4.62,16.39 6.41,15.59 7.47,14.5C8.21,13.77 8.84,12.69 9.55,11.82L2,4.27M8.35,3C9.53,2.83 10.78,4.12 11.14,5.9C11.32,6.75 11.26,7.56 11,8.19L7.03,4.2C7.29,3.55 7.75,3.1 8.35,3M15.5,3C16.69,3.19 17.35,4.77 17,6.54C16.62,8.32 15.37,9.61 14.19,9.43C13,9.25 12.35,7.67 12.72,5.9C13.08,4.12 14.33,2.83 15.5,3M3,7.6C4.14,7.11 5.69,8 6.5,9.55C7.26,11.13 7,12.79 5.87,13.28C4.74,13.77 3.2,12.89 2.41,11.32C1.62,9.75 1.9,8.08 3,7.6M21,7.6C22.1,8.08 22.38,9.75 21.59,11.32C20.8,12.89 19.26,13.77 18.13,13.28C17,12.79 16.74,11.13 17.5,9.55C18.31,8 19.86,7.11 21,7.6Z\";\r\nexport var mdiPawOffOutline = \"M22.83 8.25C22.56 7.5 22.05 6.96 21.39 6.68C20.22 6.18 18.8 6.6 17.7 7.66C17.81 7.37 17.91 7.06 18 6.73C18.25 5.38 18 4.03 17.38 3.12C16.95 2.5 16.33 2.11 15.64 2C14.1 1.78 12.57 3.08 11.93 5C11.28 3.05 9.74 1.76 8.19 2C7.5 2.12 6.88 2.53 6.45 3.16C6.44 3.18 6.43 3.2 6.42 3.22L7.91 4.71C7.96 4.54 8 4.4 8.1 4.29C8.22 4.12 8.36 4 8.5 4C9 3.91 9.88 4.69 10.16 6.1C10.23 6.44 10.24 6.75 10.22 7L11.88 8.68C11.89 8.65 11.91 8.62 11.93 8.58C11.97 8.69 12.04 8.78 12.09 8.89L13.43 10.23C13.63 10.32 13.83 10.39 14.04 10.42C14.16 10.44 14.29 10.45 14.41 10.45C15.13 10.45 15.83 10.12 16.43 9.57C16 10.64 15.96 11.73 16.29 12.63C16.56 13.35 17.07 13.91 17.73 14.2C18.07 14.34 18.43 14.41 18.8 14.41C20.18 14.41 21.66 13.4 22.5 11.77C23.08 10.58 23.21 9.3 22.83 8.25M16 6.33C15.72 7.73 14.83 8.5 14.34 8.44C14.28 8.43 14.12 8.41 13.94 8.15C13.69 7.79 13.5 7.07 13.7 6.1C13.97 4.76 14.8 4 15.29 4C15.31 4 15.34 4 15.36 4C15.5 4 15.63 4.11 15.75 4.27C16.07 4.73 16.18 5.54 16 6.33M20.7 10.87C20.12 12 19.08 12.6 18.53 12.36C18.47 12.34 18.28 12.26 18.16 11.93C18 11.43 18.07 10.68 18.39 10C18.9 9.04 19.74 8.47 20.33 8.47C20.43 8.47 20.5 8.5 20.6 8.5H20.6C20.75 8.58 20.87 8.72 20.95 8.94C21.09 9.34 21.1 10.06 20.7 10.87M1.11 3L4.8 6.69C4.06 6.41 3.29 6.39 2.6 6.68C1.94 6.97 1.43 7.53 1.17 8.27C.793 9.31 .919 10.58 1.5 11.77C2.34 13.4 3.82 14.41 5.21 14.41C5.57 14.41 5.93 14.34 6.27 14.2C6.93 13.91 7.44 13.35 7.71 12.63C8 11.79 8 10.77 7.64 9.76C7.83 9.91 8.04 10.03 8.24 10.13L9.73 11.62C8.94 12.5 8.27 13.7 7.47 14.5C6.41 15.59 4.62 16.39 4.44 17.88C4.31 18.96 5 20.26 6 20.75C6.35 20.93 6.72 21 7.1 21C8.61 21 10.3 19.87 11.89 19.87C13.5 19.87 15.18 20.97 16.71 20.97C17.08 20.97 17.44 20.91 17.79 20.75C18 20.65 18.23 20.5 18.43 20.32L20.84 22.73L22.11 21.46L2.39 1.73L1.11 3M11.15 13.04L17 18.9C17 18.91 16.97 18.92 16.96 18.93C16.92 18.95 16.85 18.97 16.71 18.97C16.28 18.97 15.63 18.75 15 18.54C14.08 18.23 13.03 17.87 11.89 17.87C10.75 17.87 9.7 18.24 8.78 18.56C8.15 18.77 7.5 19 7.1 19C6.97 19 6.92 19 6.88 18.95C6.66 18.84 6.4 18.37 6.43 18.12C6.5 17.89 7.23 17.31 7.59 17C8.03 16.68 8.5 16.33 8.89 15.91C9.44 15.36 9.89 14.73 10.33 14.12C10.55 13.8 10.86 13.38 11.15 13.04M5.6 10C5.93 10.68 6 11.43 5.84 11.93C5.71 12.26 5.53 12.34 5.47 12.36C4.92 12.6 3.88 12 3.3 10.87C2.9 10.06 2.91 9.35 3.05 8.94C3.13 8.73 3.25 8.58 3.4 8.5C3.5 8.5 3.57 8.46 3.68 8.46C4.26 8.46 5.1 9.03 5.6 10Z\";\r\nexport var mdiPawOutline = \"M22.83 8.25C22.56 7.5 22.05 6.96 21.4 6.68C20.23 6.18 18.81 6.6 17.7 7.66C17.81 7.37 17.91 7.06 18 6.73C18.25 5.38 18.03 4.03 17.38 3.12C16.95 2.5 16.33 2.11 15.64 2C14.1 1.78 12.57 3.08 11.93 5C11.29 3.05 9.74 1.76 8.19 2C7.5 2.12 6.88 2.53 6.45 3.16C5.81 4.09 5.61 5.39 5.89 6.74C5.94 7 6 7.24 6.09 7.47C5 6.56 3.7 6.2 2.6 6.68C1.94 6.97 1.44 7.53 1.17 8.27C.794 9.31 .92 10.58 1.5 11.77C2.34 13.4 3.82 14.41 5.21 14.41C5.57 14.41 5.93 14.34 6.27 14.2C6.93 13.91 7.44 13.35 7.71 12.63C8.03 11.79 8 10.77 7.64 9.76C8.19 10.19 8.81 10.45 9.45 10.45C9.57 10.45 9.7 10.44 9.82 10.42C10.5 10.32 11.12 9.92 11.55 9.3C11.7 9.08 11.83 8.84 11.93 8.58C12.03 8.84 12.15 9.08 12.3 9.29C12.73 9.91 13.35 10.31 14.04 10.42C14.16 10.44 14.29 10.45 14.41 10.45C15.13 10.45 15.83 10.12 16.43 9.57C16 10.64 15.96 11.73 16.29 12.63C16.56 13.36 17.07 13.91 17.73 14.2C18.07 14.34 18.43 14.41 18.8 14.41C20.18 14.41 21.66 13.4 22.5 11.77C23.08 10.58 23.21 9.3 22.83 8.25M5.84 11.93C5.72 12.26 5.53 12.34 5.47 12.36C4.92 12.6 3.88 12 3.3 10.87C2.9 10.06 2.91 9.35 3.05 8.94C3.13 8.73 3.25 8.58 3.4 8.5C3.5 8.5 3.58 8.46 3.68 8.46C4.26 8.46 5.1 9.03 5.6 10C5.93 10.68 6.03 11.43 5.84 11.93M9.91 8.16C9.79 8.32 9.66 8.42 9.5 8.44C9 8.5 8.14 7.73 7.85 6.34C7.65 5.38 7.85 4.66 8.1 4.29C8.22 4.12 8.36 4 8.5 4C9 3.91 9.88 4.69 10.16 6.1C10.36 7.07 10.16 7.8 9.91 8.16M16 6.33C15.72 7.73 14.83 8.5 14.34 8.44C14.28 8.43 14.12 8.41 13.94 8.15C13.69 7.79 13.5 7.07 13.7 6.1C13.97 4.76 14.8 4 15.29 4C15.32 4 15.34 4 15.36 4C15.5 4 15.63 4.11 15.75 4.27C16.07 4.73 16.18 5.54 16 6.33M20.7 10.87C20.12 12 19.08 12.6 18.53 12.36C18.47 12.34 18.28 12.26 18.16 11.93C18 11.43 18.07 10.68 18.39 10C18.9 9.04 19.75 8.47 20.33 8.47C20.43 8.47 20.5 8.5 20.6 8.5H20.61C20.76 8.58 20.87 8.72 20.95 8.94C21.1 9.34 21.11 10.06 20.7 10.87M16.3 14.5C14.95 13.05 13.89 10.44 11.89 10.44C9.88 10.44 8.88 13.09 7.47 14.5C6.41 15.59 4.62 16.39 4.44 17.88C4.31 18.96 5 20.26 6 20.75C6.35 20.93 6.72 21 7.1 21C8.61 21 10.3 19.87 11.89 19.87C13.5 19.87 15.18 20.97 16.71 20.97C17.08 20.97 17.44 20.91 17.79 20.75C18.65 20.36 19.37 19.32 19.33 18.38C19.26 16.75 17.41 15.72 16.3 14.5M16.96 18.93C16.92 18.95 16.85 18.97 16.71 18.97C16.29 18.97 15.63 18.75 15 18.54C14.08 18.23 13.03 17.87 11.89 17.87C10.75 17.87 9.7 18.24 8.78 18.56C8.15 18.77 7.5 19 7.1 19C6.97 19 6.92 19 6.88 18.95C6.66 18.84 6.4 18.37 6.43 18.12C6.5 17.89 7.23 17.31 7.59 17C8.03 16.68 8.5 16.33 8.89 15.91C9.44 15.36 9.89 14.73 10.33 14.12C10.78 13.5 11.53 12.44 11.89 12.44C12.29 12.44 13.08 13.56 13.56 14.22C13.95 14.78 14.36 15.35 14.82 15.85C15.21 16.27 15.62 16.64 16 17C16.54 17.45 17.32 18.14 17.33 18.44C17.32 18.58 17.12 18.86 16.96 18.93Z\";\r\nexport var mdiPeace = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,14.41V19.93C9.58,19.75 8.23,19.19 7.1,18.31L11,14.41M13,14.41L16.9,18.31C15.77,19.19 14.42,19.75 13,19.93V14.41M4,12C4,7.97 7,4.57 11,4.07V11.59L5.69,16.9C4.59,15.5 4,13.78 4,12M18.31,16.9L13,11.59V4.07C17,4.57 20,7.97 20,12C20,13.78 19.41,15.5 18.31,16.9Z\";\r\nexport var mdiPeanut = \"M16 12.77A2 2 0 0 1 15.86 10.12A5 5 0 0 0 13.04 2.12A5.74 5.74 0 0 0 12 2A5 5 0 0 0 7 7A5 5 0 0 0 8.11 10.12A2 2 0 0 1 8 12.72A5.5 5.5 0 0 0 10.81 21.87A5.42 5.42 0 0 0 12 22A5.5 5.5 0 0 0 16 12.77M13 5A1 1 0 1 1 12 6A1 1 0 0 1 13 5M11 18A1 1 0 1 1 12 17A1 1 0 0 1 11 18M12 15A1 1 0 1 1 13 16A1 1 0 0 1 12 15M14 19A1 1 0 1 1 15 18A1 1 0 0 1 14 19Z\";\r\nexport var mdiPeanutOff = \"M15.9 10.12A5 5 0 0 0 13.08 2.12A5.74 5.74 0 0 0 12 2A5 5 0 0 0 7.68 4.5L16.38 13.18A4.35 4.35 0 0 0 16.04 12.77A2 2 0 0 1 15.9 10.12M13 7A1 1 0 1 1 14 6A1 1 0 0 1 13 7M7 6.39L2.39 1.73L1.11 3L7.8 9.69C7.9 9.84 8 10 8.11 10.12A2 2 0 0 1 8 12.72A5.5 5.5 0 0 0 10.81 21.87A5.42 5.42 0 0 0 12 22A5.5 5.5 0 0 0 17 18.86L20.87 22.73L22.14 21.46M11 18A1 1 0 1 1 12 17A1 1 0 0 1 11 18M14 19A1 1 0 1 1 15 18A1 1 0 0 1 14 19M13 16A1 1 0 0 1 12 15A1 1 0 0 1 12.35 14.24L13.76 15.65A1 1 0 0 1 13 16Z\";\r\nexport var mdiPeanutOffOutline = \"M22.11 21.46L20.84 22.73L17.69 19.58C17.36 20.21 16.93 20.77 16.41 21.25C14.86 22.71 12.69 23.31 10.61 22.85C7.1 22.1 4.87 18.64 5.62 15.13C5.87 13.95 6.45 12.87 7.28 12C7.62 11.64 7.62 11.08 7.28 10.72C6.63 9.91 6.21 8.95 6.04 7.93L1.11 3L2.39 1.73L22.11 21.46M15.3 19.56C15.69 19.13 16 18.63 16.19 18.08L13.75 15.64C13.57 15.87 13.29 16 13 16C12.45 16 12 15.55 12 15C12 14.71 12.13 14.43 12.36 14.25L9.55 11.44C9.53 12.18 9.24 12.88 8.73 13.41C7.03 15.22 7.13 18.07 8.94 19.77L8.95 19.78C10.76 21.47 13.61 21.37 15.3 19.56M14 17C12.71 17 12.72 19 14 19C15.28 19 15.29 17 14 17M6.9 3.7L8.43 5.23C8.68 4.71 9.05 4.25 9.5 3.89C10.2 3.31 11.09 3 12 3H12.88C13.47 3.14 14 3.41 14.5 3.79C16.22 5.17 16.5 7.69 15.12 9.41C14.7 9.93 14.46 10.58 14.45 11.25L18.32 15.12C18.07 13.97 17.5 12.92 16.72 12.06C16.37 11.7 16.33 11.13 16.62 10.72C16.62 10.72 18 9 18 7S15.97.997 12 .997 6.9 3.7 6.9 3.7M12 17C12 15.71 10 15.72 10 17C10 18.28 12 18.29 12 17M13 5C11.71 5 11.72 7 13 7C14.28 7 14.29 5 13 5Z\";\r\nexport var mdiPeanutOutline = \"M12 23C11.53 23 11.07 22.95 10.61 22.85C7.1 22.1 4.87 18.64 5.62 15.13C5.87 13.95 6.45 12.87 7.28 12C7.62 11.64 7.62 11.08 7.28 10.72C5.2 8.14 5.6 4.36 8.18 2.28S14.54.607 16.62 3.19C18.39 5.38 18.39 8.5 16.62 10.72C16.33 11.13 16.37 11.7 16.72 12.06C19.17 14.68 19.04 18.8 16.41 21.25C15.22 22.37 13.64 23 12 23M12 3C11.09 3 10.2 3.31 9.5 3.89C8.55 4.65 8 5.79 8 7C8 7.91 8.31 8.79 8.88 9.5C9.84 10.64 9.77 12.33 8.73 13.41C7.03 15.22 7.13 18.07 8.94 19.77S13.6 21.38 15.3 19.56C16.92 17.83 16.92 15.14 15.3 13.41C14.23 12.32 14.15 10.6 15.12 9.41C16.5 7.69 16.22 5.17 14.5 3.79C14 3.41 13.47 3.14 12.88 3C12.59 3 12.29 3 12 3M12 6C12 6.55 12.45 7 13 7S14 6.55 14 6 13.55 5 13 5 12 5.45 12 6M14 19C14.55 19 15 18.55 15 18S14.55 17 14 17 13 17.45 13 18 13.45 19 14 19M13 16C13.55 16 14 15.55 14 15S13.55 14 13 14 12 14.45 12 15 12.45 16 13 16M11 18C11.55 18 12 17.55 12 17S11.55 16 11 16 10 16.45 10 17 10.45 18 11 18Z\";\r\nexport var mdiPen = \"M20.71,7.04C20.37,7.38 20.04,7.71 20.03,8.04C20,8.36 20.34,8.69 20.66,9C21.14,9.5 21.61,9.95 21.59,10.44C21.57,10.93 21.06,11.44 20.55,11.94L16.42,16.08L15,14.66L19.25,10.42L18.29,9.46L16.87,10.87L13.12,7.12L16.96,3.29C17.35,2.9 18,2.9 18.37,3.29L20.71,5.63C21.1,6 21.1,6.65 20.71,7.04M3,17.25L12.56,7.68L16.31,11.43L6.75,21H3V17.25Z\";\r\nexport var mdiPenLock = \"M21.7,7C21.4,7.4 21,7.7 21,8C21,8.3 21.3,8.6 21.6,9C22.1,9.5 22.6,9.9 22.5,10.4C22.5,10.9 22,11.4 21.5,11.9L17.4,16L16,14.7L20.2,10.5L19.2,9.5L17.8,10.9L14,7.1L18,3.3C18.4,2.9 19,2.9 19.4,3.3L21.7,5.6C22.1,6 22.1,6.7 21.7,7M4,17.2L13.6,7.6L17.3,11.4L7.8,21H4V17.2M8,5V4.5C8,3.1 6.9,2 5.5,2C4.1,2 3,3.1 3,4.5V5C2.4,5 2,5.4 2,6V10C2,10.6 2.4,11 3,11H8C8.6,11 9,10.6 9,10V6C9,5.4 8.6,5 8,5M7,5H4V4.5C4,3.7 4.7,3 5.5,3C6.3,3 7,3.7 7,4.5V5Z\";\r\nexport var mdiPenMinus = \"M20.7,7C20.4,7.4 20,7.7 20,8C20,8.3 20.3,8.6 20.6,9C21.1,9.5 21.6,9.9 21.5,10.4C21.5,10.9 21,11.4 20.5,11.9L16.4,16L15,14.7L19.2,10.5L18.2,9.5L16.8,10.9L13,7.1L17,3.3C17.4,2.9 18,2.9 18.4,3.3L20.7,5.6C21.1,6 21.1,6.7 20.7,7M3,17.2L12.6,7.6L16.3,11.4L6.8,21H3V17.2M10,5V7H2V5H10Z\";\r\nexport var mdiPenOff = \"M2.3,5L1,6.3L7.5,12.8L3,17.2V21H6.8L11.3,16.5L17.8,23L19.1,21.7L2.3,5M16.9,10.9L13.1,7.1L17,3.3C17.4,2.9 18,2.9 18.4,3.3L20.7,5.6C21.1,6 21.1,6.6 20.7,7C20.4,7.4 20,7.7 20,8C20,8.3 20.3,8.7 20.6,9C21.1,9.5 21.6,10 21.5,10.4C21.5,10.9 21,11.4 20.5,11.9L16.4,16L15,14.7L19.2,10.5L18.2,9.5L16.9,10.9M10,10.2L12.5,7.7L16.3,11.5L13.8,14L10,10.2Z\";\r\nexport var mdiPenPlus = \"M20.7,7C20.4,7.4 20,7.7 20,8C20,8.3 20.3,8.6 20.6,9C21.1,9.5 21.6,9.9 21.5,10.4C21.5,10.9 21,11.4 20.5,11.9L16.4,16L15,14.7L19.2,10.5L18.2,9.5L16.8,10.9L13,7.1L17,3.3C17.4,2.9 18,2.9 18.4,3.3L20.7,5.6C21.1,6 21.1,6.7 20.7,7M3,17.2L12.6,7.6L16.3,11.4L6.8,21H3V17.2M7,2V5H10V7H7V10H5V7H2V5H5V2H7Z\";\r\nexport var mdiPenRemove = \"M20.7,7C20.4,7.4 20,7.7 20,8C20,8.3 20.3,8.6 20.6,9C21.1,9.5 21.6,9.9 21.5,10.4C21.5,10.9 21,11.4 20.5,11.9L16.4,16L15,14.7L19.2,10.5L18.2,9.5L16.8,10.9L13,7.1L17,3.3C17.4,2.9 18,2.9 18.4,3.3L20.7,5.6C21.1,6 21.1,6.7 20.7,7M3,17.2L12.6,7.6L16.3,11.4L6.8,21H3V17.2M3.88,2.46L6,4.59L8.12,2.46L9.54,3.88L7.41,6L9.54,8.12L8.12,9.54L6,7.41L3.88,9.54L2.46,8.12L4.59,6L2.46,3.88L3.88,2.46Z\";\r\nexport var mdiPencil = \"M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z\";\r\nexport var mdiPencilBox = \"M19,3A2,2 0 0,1 21,5V19C21,20.11 20.1,21 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M16.7,9.35C16.92,9.14 16.92,8.79 16.7,8.58L15.42,7.3C15.21,7.08 14.86,7.08 14.65,7.3L13.65,8.3L15.7,10.35L16.7,9.35M7,14.94V17H9.06L15.12,10.94L13.06,8.88L7,14.94Z\";\r\nexport var mdiPencilBoxMultiple = \"M20.22 2H7.78C6.8 2 6 2.8 6 3.78V16.22C6 17.2 6.8 18 7.78 18H20.22C21.2 18 22 17.21 22 16.22V3.78C22 2.8 21.2 2 20.22 2M11.06 15H9V12.94L15.06 6.88L17.12 8.94L11.06 15M18.7 7.35L17.7 8.35L15.65 6.3L16.65 5.3C16.86 5.08 17.21 5.08 17.42 5.3L18.7 6.58C18.92 6.79 18.92 7.14 18.7 7.35M4 6H2V20C2 21.11 2.9 22 4 22H18V20H4V6Z\";\r\nexport var mdiPencilBoxMultipleOutline = \"M4 6H2V20C2 21.11 2.9 22 4 22H18V20H4V6M18.7 7.35L17.7 8.35L15.65 6.3L16.65 5.3C16.86 5.08 17.21 5.08 17.42 5.3L18.7 6.58C18.92 6.79 18.92 7.14 18.7 7.35M9 12.94L15.06 6.88L17.12 8.94L11.06 15H9V12.94M20 4L20 4L20 16L8 16L8 4H20M20 2H8C6.9 2 6 2.9 6 4V16C6 17.1 6.9 18 8 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2Z\";\r\nexport var mdiPencilBoxOutline = \"M19,19V5H5V19H19M19,3A2,2 0 0,1 21,5V19C21,20.11 20.1,21 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M16.7,9.35L15.7,10.35L13.65,8.3L14.65,7.3C14.86,7.08 15.21,7.08 15.42,7.3L16.7,8.58C16.92,8.79 16.92,9.14 16.7,9.35M7,14.94L13.06,8.88L15.12,10.94L9.06,17H7V14.94Z\";\r\nexport var mdiPencilCircle = \"M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22C17.53,22 22,17.53 22,12C22,6.47 17.53,2 12,2M15.1,7.07C15.24,7.07 15.38,7.12 15.5,7.23L16.77,8.5C17,8.72 17,9.07 16.77,9.28L15.77,10.28L13.72,8.23L14.72,7.23C14.82,7.12 14.96,7.07 15.1,7.07M13.13,8.81L15.19,10.87L9.13,16.93H7.07V14.87L13.13,8.81Z\";\r\nexport var mdiPencilCircleOutline = \"M7,14.94L13.06,8.88L15.12,10.94L9.06,17H7V14.94M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20M16.7,9.35L15.7,10.35L13.65,8.3L14.65,7.3C14.86,7.08 15.21,7.08 15.42,7.3L16.7,8.58C16.92,8.79 16.92,9.14 16.7,9.35M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2\";\r\nexport var mdiPencilLock = \"M5.5,2A2.5,2.5 0 0,0 3,4.5V5A1,1 0 0,0 2,6V10A1,1 0 0,0 3,11H8A1,1 0 0,0 9,10V6A1,1 0 0,0 8,5V4.5A2.5,2.5 0 0,0 5.5,2M5.5,3A1.5,1.5 0 0,1 7,4.5V5H4V4.5A1.5,1.5 0 0,1 5.5,3M19.66,3C19.4,3 19.16,3.09 18.97,3.28L17.13,5.13L20.88,8.88L22.72,7.03C23.11,6.64 23.11,6 22.72,5.63L20.38,3.28C20.18,3.09 19.91,3 19.66,3M16.06,6.19L5,17.25V21H8.75L19.81,9.94L16.06,6.19Z\";\r\nexport var mdiPencilLockOutline = \"M16.1,9L17,9.9L7.9,19H7V18.1L16.1,9M19.7,3C19.5,3 19.2,3.1 19,3.3L17.2,5.1L20.9,8.9L22.7,7C23.1,6.6 23.1,6 22.7,5.6L20.4,3.3C20.2,3.1 19.9,3 19.7,3M16.1,6.2L5,17.2V21H8.8L19.8,9.9L16.1,6.2M8,5V4.5C8,3.1 6.9,2 5.5,2C4.1,2 3,3.1 3,4.5V5C2.4,5 2,5.4 2,6V10C2,10.6 2.4,11 3,11H8C8.6,11 9,10.6 9,10V6C9,5.4 8.6,5 8,5M7,5H4V4.5C4,3.7 4.7,3 5.5,3C6.3,3 7,3.7 7,4.5V5Z\";\r\nexport var mdiPencilMinus = \"M20.7,7C21.1,6.6 21.1,6 20.7,5.6L18.4,3.3C18,2.9 17.4,2.9 17,3.3L15.2,5.1L19,8.9M3,17.2V21H6.8L17.8,9.9L14.1,6.1L3,17.2M10,5V7H2V5H10Z\";\r\nexport var mdiPencilMinusOutline = \"M14.1,9L15,9.9L5.9,19H5V18.1L14.1,9M17.7,3C17.5,3 17.2,3.1 17,3.3L15.2,5.1L18.9,8.9L20.7,7C21.1,6.6 21.1,6 20.7,5.6L18.4,3.3C18.2,3.1 17.9,3 17.7,3M14.1,6.2L3,17.2V21H6.8L17.8,9.9L14.1,6.2M10,5V7H2V5H10Z\";\r\nexport var mdiPencilOff = \"M18.66,2C18.4,2 18.16,2.09 17.97,2.28L16.13,4.13L19.88,7.88L21.72,6.03C22.11,5.64 22.11,5 21.72,4.63L19.38,2.28C19.18,2.09 18.91,2 18.66,2M3.28,4L2,5.28L8.5,11.75L4,16.25V20H7.75L12.25,15.5L18.72,22L20,20.72L13.5,14.25L9.75,10.5L3.28,4M15.06,5.19L11.03,9.22L14.78,12.97L18.81,8.94L15.06,5.19Z\";\r\nexport var mdiPencilOffOutline = \"M10,10.2L14,6.2L17.8,10L13.8,14L12.4,12.6L15,9.9L14.1,9L11.5,11.6L10,10.2M20.7,5.6L18.4,3.3C18.2,3.1 17.9,3 17.7,3C17.5,3 17.2,3.1 17,3.3L15.2,5.1L19,8.9L20.7,7C21.1,6.7 21.1,6 20.7,5.6M19,21.7L17.7,23L11.2,16.5L6.8,21H3V17.2L7.5,12.7L1,6.3L2.3,5L19,21.7M9.8,15.1L8.9,14.2L5,18.1V19H5.9L9.8,15.1Z\";\r\nexport var mdiPencilOutline = \"M14.06,9L15,9.94L5.92,19H5V18.08L14.06,9M17.66,3C17.41,3 17.15,3.1 16.96,3.29L15.13,5.12L18.88,8.87L20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18.17,3.09 17.92,3 17.66,3M14.06,6.19L3,17.25V21H6.75L17.81,9.94L14.06,6.19Z\";\r\nexport var mdiPencilPlus = \"M20.7,7C21.1,6.6 21.1,6 20.7,5.6L18.4,3.3C18,2.9 17.4,2.9 17,3.3L15.2,5.1L19,8.9M3,17.2V21H6.8L17.8,9.9L14.1,6.1L3,17.2M7,2V5H10V7H7V10H5V7H2V5H5V2H7Z\";\r\nexport var mdiPencilPlusOutline = \"M14.1,9L15,9.9L5.9,19H5V18.1L14.1,9M17.7,3C17.5,3 17.2,3.1 17,3.3L15.2,5.1L18.9,8.9L20.7,7C21.1,6.6 21.1,6 20.7,5.6L18.4,3.3C18.2,3.1 17.9,3 17.7,3M14.1,6.2L3,17.2V21H6.8L17.8,9.9L14.1,6.2M7,2V5H10V7H7V10H5V7H2V5H5V2H7Z\";\r\nexport var mdiPencilRemove = \"M20.7,7C21.1,6.6 21.1,6 20.7,5.6L18.4,3.3C18,2.9 17.4,2.9 17,3.3L15.2,5.1L19,8.9M3,17.2V21H6.8L17.8,9.9L14.1,6.1L3,17.2M3.9,2.4L6,4.5L8.1,2.4L9.5,3.8L7.4,5.9L9.5,8L8.1,9.5L6,7.4L3.9,9.5L2.5,8.1L4.6,6L2.5,3.8L3.9,2.4Z\";\r\nexport var mdiPencilRemoveOutline = \"M17.7,3C17.5,3 17.2,3.1 17,3.3L15.2,5.1L18.9,8.9L20.7,7C21.1,6.6 21.1,6 20.7,5.6L18.4,3.3C18.2,3.1 17.9,3 17.7,3M14.1,6.2L3,17.2V21H6.8L17.8,9.9L14.1,6.2M5.9,19H5V18.1L14.1,9L15,9.9L5.9,19M3.9,2.5L6,4.6L8.1,2.5L9.5,3.9L7.4,6L9.5,8.1L8.1,9.5L6,7.4L3.9,9.5L2.5,8.1L4.6,6L2.5,3.9L3.9,2.5Z\";\r\nexport var mdiPencilRuler = \"M3 17.25V21H6.75L17.81 9.93L14.06 6.18L3 17.25M22.61 18.36L18.36 22.61L13.16 17.41L14.93 15.64L15.93 16.64L18.4 14.16L19.82 15.58L18.36 17L19.42 18L20.84 16.6L22.61 18.36M6.61 10.83L1.39 5.64L5.64 1.39L7.4 3.16L4.93 5.64L6 6.7L8.46 4.22L9.88 5.64L8.46 7.05L9.46 8.05L6.61 10.83M20.71 7C21.1 6.61 21.1 6 20.71 5.59L18.37 3.29C18 2.9 17.35 2.9 16.96 3.29L15.12 5.12L18.87 8.87L20.71 7Z\";\r\nexport var mdiPenguin = \"M19,16C19,17.72 18.37,19.3 17.34,20.5C17.75,20.89 18,21.41 18,22H6C6,21.41 6.25,20.89 6.66,20.5C5.63,19.3 5,17.72 5,16H3C3,14.75 3.57,13.64 4.46,12.91L4.47,12.89C6,11.81 7,10 7,8V7A5,5 0 0,1 12,2A5,5 0 0,1 17,7V8C17,10 18,11.81 19.53,12.89L19.54,12.91C20.43,13.64 21,14.75 21,16H19M16,16A4,4 0 0,0 12,12A4,4 0 0,0 8,16A4,4 0 0,0 12,20A4,4 0 0,0 16,16M10,9L12,10.5L14,9L12,7.5L10,9M10,5A1,1 0 0,0 9,6A1,1 0 0,0 10,7A1,1 0 0,0 11,6A1,1 0 0,0 10,5M14,5A1,1 0 0,0 13,6A1,1 0 0,0 14,7A1,1 0 0,0 15,6A1,1 0 0,0 14,5Z\";\r\nexport var mdiPentagon = \"M12,2.5L2,9.8L5.8,21.5H18.2L22,9.8L12,2.5Z\";\r\nexport var mdiPentagonOutline = \"M12,5L19.6,10.5L16.7,19.4H7.3L4.4,10.5L12,5M12,2.5L2,9.8L5.8,21.5H18.1L22,9.8L12,2.5Z\";\r\nexport var mdiPentagram = \"M16.15 14.4L18.71 22.26L12 17.4L5.28 22.3L7.85 14.37L1.15 9.5H9.44L12 1.61L14.56 9.5H22.89L16.15 14.4M13.3 16.47L15.86 18.33L14.88 15.32L13.3 16.47M11 9.5H13L12 6.47L11 9.5M10.74 16.47L9.13 15.3L8.13 18.37L10.74 16.47M18.28 11H15.05L15.67 12.9L18.28 11M10.53 11L9.62 13.8L12 15.54L14.39 13.82L13.47 11H10.53M5.76 11L8.34 12.87L8.95 11H5.76Z\";\r\nexport var mdiPercent = \"M18.5,3.5L3.5,18.5L5.5,20.5L20.5,5.5M7,4A3,3 0 0,0 4,7A3,3 0 0,0 7,10A3,3 0 0,0 10,7A3,3 0 0,0 7,4M17,14A3,3 0 0,0 14,17A3,3 0 0,0 17,20A3,3 0 0,0 20,17A3,3 0 0,0 17,14Z\";\r\nexport var mdiPercentOutline = \"M18.5 3.5L20.5 5.5L5.5 20.5L3.5 18.5L18.5 3.5M7 4C8.66 4 10 5.34 10 7C10 8.66 8.66 10 7 10C5.34 10 4 8.66 4 7C4 5.34 5.34 4 7 4M17 14C18.66 14 20 15.34 20 17C20 18.66 18.66 20 17 20C15.34 20 14 18.66 14 17C14 15.34 15.34 14 17 14M7 6C6.45 6 6 6.45 6 7C6 7.55 6.45 8 7 8C7.55 8 8 7.55 8 7C8 6.45 7.55 6 7 6M17 16C16.45 16 16 16.45 16 17C16 17.55 16.45 18 17 18C17.55 18 18 17.55 18 17C18 16.45 17.55 16 17 16Z\";\r\nexport var mdiPeriodicTable = \"M2,4V6H4V4H2M20,4V6H22V4H20M2,7V9H4V7H2M5,7V9H7V7H5M14,7V9H16V7H14M17,7V9H19V7H17M20,7V9H22V7H20M2,10V12H4V10H2M5,10V12H7V10H5M8,10V12H10V10H8M11,10V12H13V10H11M14,10V12H16V10H14M17,10V12H19V10H17M20,10V12H22V10H20M2,13V15H4V13H2M5,13V15H7V13H5M8,13V15H10V13H8M11,13V15H13V13H11M14,13V15H16V13H14M17,13V15H19V13H17M20,13V15H22V13H20M5,17V19H7V17H5M8,17V19H10V17H8M11,17V19H13V17H11M14,17V19H16V17H14M17,17V19H19V17H17Z\";\r\nexport var mdiPerspectiveLess = \"M16.56,12L19.23,20H4.78L7.44,12H16.56M7,1L3,5L7,9V6H11V4H7V1M17,1V4H13V6H17V9L21,5L17,1M18,10H6L2,22H22L18,10Z\";\r\nexport var mdiPerspectiveMore = \"M16.56,12L19.23,20H4.78L7.44,12H16.56M17,1L13,5L17,9V6H21V4H17V1M7,1V4H3V6H7V9L11,5L7,1M18,10H6L2,22H22L18,10Z\";\r\nexport var mdiPh = \"M13 7V17H15V13H17V17H19V7H17V11H15V7H13M11 15V13C11 11.9 10.11 11 9 11H5V21H7V17H9C10.11 17 11 16.11 11 15M9 15H7V13H9V15Z\";\r\nexport var mdiPhone = \"M6.62,10.79C8.06,13.62 10.38,15.94 13.21,17.38L15.41,15.18C15.69,14.9 16.08,14.82 16.43,14.93C17.55,15.3 18.75,15.5 20,15.5A1,1 0 0,1 21,16.5V20A1,1 0 0,1 20,21A17,17 0 0,1 3,4A1,1 0 0,1 4,3H7.5A1,1 0 0,1 8.5,4C8.5,5.25 8.7,6.45 9.07,7.57C9.18,7.92 9.1,8.31 8.82,8.59L6.62,10.79Z\";\r\nexport var mdiPhoneAlert = \"M6.62,10.79C8.06,13.62 10.38,15.94 13.21,17.38L15.41,15.18C15.69,14.9 16.08,14.82 16.43,14.93C17.55,15.3 18.75,15.5 20,15.5A1,1 0 0,1 21,16.5V20A1,1 0 0,1 20,21A17,17 0 0,1 3,4C3,3.44 3.45,3 4,3H7.5A1,1 0 0,1 8.5,4C8.5,5.24 8.7,6.45 9.07,7.57C9.18,7.92 9.1,8.31 8.82,8.58L6.62,10.79M17,12V10H19V12H17M17,8V2H19V8H17Z\";\r\nexport var mdiPhoneAlertOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M17 12V10H19V12H17M17 8V2H19V8H17Z\";\r\nexport var mdiPhoneBluetooth = \"M20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.06,13.62 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5M18,7.21L18.94,8.14L18,9.08M18,2.91L18.94,3.85L18,4.79M14.71,9.5L17,7.21V11H17.5L20.35,8.14L18.21,6L20.35,3.85L17.5,1H17V4.79L14.71,2.5L14,3.21L16.79,6L14,8.79L14.71,9.5Z\";\r\nexport var mdiPhoneBluetoothOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M18 7.21L18.94 8.14L18 9.08M18 2.91L18.94 3.85L18 4.79M14.71 9.5L17 7.21V11H17.5L20.35 8.14L18.21 6L20.35 3.85L17.5 1H17V4.79L14.71 2.5L14 3.21L16.79 6L14 8.79L14.71 9.5Z\";\r\nexport var mdiPhoneCancel = \"M6.62 10.79C8.06 13.62 10.38 15.94 13.21 17.38L15.41 15.18C15.69 14.9 16.08 14.82 16.43 14.93C17.55 15.3 18.75 15.5 20 15.5C20.55 15.5 21 15.95 21 16.5V20C21 20.55 20.55 21 20 21C10.61 21 3 13.39 3 4C3 3.45 3.45 3 4 3H7.5C8.05 3 8.5 3.45 8.5 4C8.5 5.25 8.7 6.45 9.07 7.57C9.18 7.92 9.1 8.31 8.82 8.59L6.62 10.79M16.5 2C14 2 12 4 12 6.5S14 11 16.5 11 21 9 21 6.5 19 2 16.5 2M16.5 9.5C14.84 9.5 13.5 8.16 13.5 6.5C13.5 5.94 13.65 5.42 13.92 5L18 9.08C17.58 9.35 17.06 9.5 16.5 9.5M19.08 8L15 3.92C15.42 3.65 15.94 3.5 16.5 3.5C18.16 3.5 19.5 4.84 19.5 6.5C19.5 7.06 19.35 7.58 19.08 8Z\";\r\nexport var mdiPhoneCancelOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M16.5 2C14 2 12 4 12 6.5S14 11 16.5 11 21 9 21 6.5 19 2 16.5 2M16.5 9.5C14.84 9.5 13.5 8.16 13.5 6.5C13.5 5.94 13.65 5.42 13.92 5L18 9.08C17.58 9.35 17.06 9.5 16.5 9.5M19.08 8L15 3.92C15.42 3.65 15.94 3.5 16.5 3.5C18.16 3.5 19.5 4.84 19.5 6.5C19.5 7.06 19.35 7.58 19.08 8Z\";\r\nexport var mdiPhoneCheck = \"M6.62 10.79A15.1 15.1 0 0 0 13.21 17.38L15.41 15.18A1 1 0 0 1 16.41 14.93A11.36 11.36 0 0 0 20 15.5A1 1 0 0 1 21 16.5V20A1 1 0 0 1 20 21A17 17 0 0 1 3 4A1 1 0 0 1 4 3H7.5A1 1 0 0 1 8.5 4A11.36 11.36 0 0 0 9.07 7.57A1 1 0 0 1 8.82 8.57M21.71 4.71L20.29 3.29L15 8.59L12.71 6.29L11.29 7.71L15 11.41Z\";\r\nexport var mdiPhoneCheckOutline = \"M20 15.5A11.36 11.36 0 0 1 16.43 14.93A1 1 0 0 0 15.43 15.18L13.23 17.38A15.1 15.1 0 0 1 6.64 10.79L8.84 8.59A1 1 0 0 0 9.09 7.59A11.36 11.36 0 0 1 8.5 4A1 1 0 0 0 7.5 3H4A1 1 0 0 0 3 4A17 17 0 0 0 20 21A1 1 0 0 0 21 20V16.5A1 1 0 0 0 20 15.5M5 5H6.54A12.54 12.54 0 0 0 7 7.59L5.79 8.8A15 15 0 0 1 5 5M19 19A15 15 0 0 1 15.2 18.24L16.41 17A12.31 12.31 0 0 0 19 17.45M15 11.44L11.29 7.74L12.71 6.32L15 8.59L20.29 3.29L21.71 4.71Z\";\r\nexport var mdiPhoneClassic = \"M12,3C7.46,3 3.34,4.78 0.29,7.67C0.11,7.85 0,8.1 0,8.38C0,8.66 0.11,8.91 0.29,9.09L2.77,11.57C2.95,11.75 3.2,11.86 3.5,11.86C3.75,11.86 4,11.75 4.18,11.58C4.97,10.84 5.87,10.22 6.84,9.73C7.17,9.57 7.4,9.23 7.4,8.83V5.73C8.85,5.25 10.39,5 12,5C13.59,5 15.14,5.25 16.59,5.72V8.82C16.59,9.21 16.82,9.56 17.15,9.72C18.13,10.21 19,10.84 19.82,11.57C20,11.75 20.25,11.85 20.5,11.85C20.8,11.85 21.05,11.74 21.23,11.56L23.71,9.08C23.89,8.9 24,8.65 24,8.37C24,8.09 23.88,7.85 23.7,7.67C20.65,4.78 16.53,3 12,3M9,7V10C9,10 3,15 3,18V22H21V18C21,15 15,10 15,10V7H13V9H11V7H9M12,12A4,4 0 0,1 16,16A4,4 0 0,1 12,20A4,4 0 0,1 8,16A4,4 0 0,1 12,12M12,13.5A2.5,2.5 0 0,0 9.5,16A2.5,2.5 0 0,0 12,18.5A2.5,2.5 0 0,0 14.5,16A2.5,2.5 0 0,0 12,13.5Z\";\r\nexport var mdiPhoneClassicOff = \"M12 3C16.53 3 20.65 4.78 23.7 7.67C23.88 7.85 24 8.09 24 8.37C24 8.65 23.89 8.9 23.71 9.08L21.23 11.56C21.05 11.74 20.8 11.85 20.5 11.85C20.25 11.85 20 11.75 19.82 11.57C19 10.84 18.13 10.21 17.15 9.72C16.82 9.56 16.59 9.21 16.59 8.82V5.72C15.14 5.25 13.59 5 12 5C10.44 5 8.93 5.24 7.5 5.69L5.94 4.11C7.82 3.4 9.86 3 12 3M9 7H11V9H13V7H15V10C15 10 21 15 21 18V19.18L9 7.18V7M1 4.27L2.28 3L21.5 22.22L20.23 23.5L18.73 22H3V18C3 15.86 6.05 12.71 7.8 11.07L6.59 9.86C5.71 10.33 4.9 10.9 4.18 11.58C4 11.75 3.75 11.86 3.5 11.86C3.2 11.86 2.95 11.75 2.77 11.57L.29 9.09C.11 8.91 0 8.66 0 8.38C0 8.1 .11 7.85 .29 7.67C.996 7 2.58 5.85 2.58 5.85L1 4.27M8 16C8 18.21 9.79 20 12 20C13.29 20 14.44 19.39 15.17 18.44L14.1 17.36C13.65 18.05 12.88 18.5 12 18.5C10.62 18.5 9.5 17.38 9.5 16C9.5 15.12 9.95 14.35 10.64 13.91L9.56 12.83C8.61 13.56 8 14.71 8 16Z\";\r\nexport var mdiPhoneDial = \"M6.6 10.8C8 13.6 10.4 15.9 13.2 17.4L15.4 15.2C15.7 14.9 16.1 14.8 16.4 15C17.5 15.4 18.7 15.6 20 15.6C20.6 15.6 21 16 21 16.6V20C21 20.6 20.6 21 20 21C10.6 21 3 13.4 3 4C3 3.4 3.5 3 4 3H7.5C8.1 3 8.5 3.4 8.5 4C8.5 5.2 8.7 6.4 9.1 7.6C9.2 7.9 9.1 8.3 8.9 8.6L6.6 10.8M14 3C13.4 3 13 3.4 13 4S13.4 5 14 5 15 4.6 15 4 14.6 3 14 3M17 3C16.4 3 16 3.4 16 4S16.4 5 17 5 18 4.6 18 4 17.6 3 17 3M20 3C19.4 3 19 3.4 19 4S19.4 5 20 5 21 4.6 21 4 20.6 3 20 3M14 6C13.4 6 13 6.4 13 7S13.4 8 14 8 15 7.6 15 7 14.6 6 14 6M17 6C16.4 6 16 6.4 16 7S16.4 8 17 8 18 7.6 18 7 17.6 6 17 6M20 6C19.4 6 19 6.4 19 7S19.4 8 20 8 21 7.6 21 7 20.6 6 20 6M14 9C13.4 9 13 9.4 13 10S13.4 11 14 11 15 10.6 15 10 14.6 9 14 9M17 9C16.4 9 16 9.4 16 10S16.4 11 17 11 18 10.6 18 10 17.6 9 17 9M20 9C19.4 9 19 9.4 19 10S19.4 11 20 11 21 10.6 21 10 20.6 9 20 9Z\";\r\nexport var mdiPhoneDialOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M15 4C15 4.6 14.6 5 14 5S13 4.6 13 4 13.4 3 14 3 15 3.4 15 4M18 4C18 4.6 17.6 5 17 5S16 4.6 16 4 16.4 3 17 3 18 3.4 18 4M21 4C21 4.6 20.6 5 20 5S19 4.6 19 4 19.4 3 20 3 21 3.4 21 4M15 7C15 7.6 14.6 8 14 8S13 7.6 13 7 13.4 6 14 6 15 6.4 15 7M18 7C18 7.6 17.6 8 17 8S16 7.6 16 7 16.4 6 17 6 18 6.4 18 7M21 7C21 7.6 20.6 8 20 8S19 7.6 19 7 19.4 6 20 6 21 6.4 21 7M15 10C15 10.6 14.6 11 14 11S13 10.6 13 10 13.4 9 14 9 15 9.4 15 10M18 10C18 10.6 17.6 11 17 11S16 10.6 16 10 16.4 9 17 9 18 9.4 18 10M21 10C21 10.6 20.6 11 20 11S19 10.6 19 10 19.4 9 20 9 21 9.4 21 10Z\";\r\nexport var mdiPhoneForward = \"M20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.06,13.62 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5M18,11L23,6L18,1V4H14V8H18V11Z\";\r\nexport var mdiPhoneForwardOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M18 11L23 6L18 1V4H14V8H18V11Z\";\r\nexport var mdiPhoneHangup = \"M12,9C10.4,9 8.85,9.25 7.4,9.72V12.82C7.4,13.22 7.17,13.56 6.84,13.72C5.86,14.21 4.97,14.84 4.17,15.57C4,15.75 3.75,15.86 3.5,15.86C3.2,15.86 2.95,15.74 2.77,15.56L0.29,13.08C0.11,12.9 0,12.65 0,12.38C0,12.1 0.11,11.85 0.29,11.67C3.34,8.77 7.46,7 12,7C16.54,7 20.66,8.77 23.71,11.67C23.89,11.85 24,12.1 24,12.38C24,12.65 23.89,12.9 23.71,13.08L21.23,15.56C21.05,15.74 20.8,15.86 20.5,15.86C20.25,15.86 20,15.75 19.82,15.57C19.03,14.84 18.14,14.21 17.16,13.72C16.83,13.56 16.6,13.22 16.6,12.82V9.72C15.15,9.25 13.6,9 12,9Z\";\r\nexport var mdiPhoneHangupOutline = \"M23.71 11.67A17 17 0 0 0 .29 11.67A1 1 0 0 0 0 12.38A1 1 0 0 0 .29 13.08L2.77 15.56A1 1 0 0 0 3.5 15.85A1 1 0 0 0 4.18 15.57A11.5 11.5 0 0 1 6.84 13.72A1 1 0 0 0 7.4 12.82V9.72A14.91 14.91 0 0 1 12 9A14.5 14.5 0 0 1 16.59 9.73V12.83A1 1 0 0 0 17.15 13.73A11.27 11.27 0 0 1 19.82 15.58A1 1 0 0 0 20.5 15.86A1 1 0 0 0 21.23 15.57L23.71 13.09A1 1 0 0 0 23.71 11.67M5.4 12.22A13.68 13.68 0 0 0 3.53 13.5L2.46 12.42A15.54 15.54 0 0 1 5.4 10.5M20.5 13.5A13.75 13.75 0 0 0 18.6 12.23V10.53A14.26 14.26 0 0 1 21.55 12.43Z\";\r\nexport var mdiPhoneInTalk = \"M15,12H17A5,5 0 0,0 12,7V9A3,3 0 0,1 15,12M19,12H21C21,7 16.97,3 12,3V5C15.86,5 19,8.13 19,12M20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.06,13.62 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5Z\";\r\nexport var mdiPhoneInTalkOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M15 12H17A5 5 0 0 0 12 7V9A3 3 0 0 1 15 12M19 12H21C21 7 16.97 3 12 3V5C15.86 5 19 8.13 19 12Z\";\r\nexport var mdiPhoneIncoming = \"M4,3A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.17L13.21,17.37C10.38,15.93 8.06,13.62 6.62,10.78L8.82,8.57C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4M19,11V9.5H15.5L21,4L20,3L14.5,8.5V5H13V11H19Z\";\r\nexport var mdiPhoneIncomingOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M19 11V9.5H15.5L21 4L20 3L14.5 8.5V5H13V11H19Z\";\r\nexport var mdiPhoneLock = \"M19.2,4H15.8V3.5C15.8,2.56 16.56,1.8 17.5,1.8C18.44,1.8 19.2,2.56 19.2,3.5M20,4V3.5A2.5,2.5 0 0,0 17.5,1A2.5,2.5 0 0,0 15,3.5V4A1,1 0 0,0 14,5V9A1,1 0 0,0 15,10H20A1,1 0 0,0 21,9V5A1,1 0 0,0 20,4M20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.06,13.62 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5Z\";\r\nexport var mdiPhoneLockOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M19.2 4H15.8V3.5C15.8 2.56 16.56 1.8 17.5 1.8C18.44 1.8 19.2 2.56 19.2 3.5M20 4V3.5A2.5 2.5 0 0 0 17.5 1A2.5 2.5 0 0 0 15 3.5V4A1 1 0 0 0 14 5V9A1 1 0 0 0 15 10H20A1 1 0 0 0 21 9V5A1 1 0 0 0 20 4Z\";\r\nexport var mdiPhoneLog = \"M20,15.5A1,1 0 0,1 21,16.5V20A1,1 0 0,1 20,21A17,17 0 0,1 3,4A1,1 0 0,1 4,3H7.5A1,1 0 0,1 8.5,4C8.5,5.24 8.7,6.45 9.07,7.57C9.18,7.92 9.1,8.31 8.82,8.58L6.62,10.79C8.06,13.62 10.38,15.94 13.21,17.38L15.41,15.18C15.69,14.9 16.08,14.82 16.43,14.93C17.55,15.3 18.75,15.5 20,15.5M12,3H14V5H12M15,3H21V5H15M12,6H14V8H12M15,6H21V8H15M12,9H14V11H12M15,9H21V11H15\";\r\nexport var mdiPhoneLogOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M12 3H14V5H12M15 3H21V5H15M12 6H14V8H12M15 6H21V8H15M12 9H14V11H12M15 9H21V11H15Z\";\r\nexport var mdiPhoneMessage = \"M20 15.5C18.75 15.5 17.55 15.3 16.43 14.93C16.08 14.82 15.69 14.9 15.41 15.17L13.21 17.37C10.38 15.93 8.06 13.62 6.62 10.79L8.82 8.58C9.1 8.31 9.18 7.92 9.07 7.57C8.7 6.45 8.5 5.25 8.5 4C8.5 3.45 8.05 3 7.5 3H4C3.45 3 3 3.45 3 4C3 13.39 10.61 21 20 21C20.55 21 21 20.55 21 20V16.5C21 15.95 20.55 15.5 20 15.5M12 3V13L15 10H21V3H12Z\";\r\nexport var mdiPhoneMessageOutline = \"M20 15.5C18.75 15.5 17.55 15.3 16.43 14.93C16.33 14.9 16.22 14.88 16.12 14.88C15.86 14.88 15.61 15 15.41 15.17L13.21 17.37C10.38 15.93 8.06 13.62 6.62 10.79L8.82 8.58C9.1 8.31 9.18 7.92 9.07 7.57C8.7 6.45 8.5 5.25 8.5 4C8.5 3.45 8.05 3 7.5 3H4C3.45 3 3 3.45 3 4C3 13.39 10.61 21 20 21C20.55 21 21 20.55 21 20V16.5C21 15.95 20.55 15.5 20 15.5M5.03 5H6.53C6.6 5.88 6.75 6.75 7 7.59L5.79 8.8C5.38 7.59 5.12 6.32 5.03 5M19 18.97C17.68 18.88 16.4 18.62 15.2 18.21L16.4 17C17.25 17.25 18.12 17.4 19 17.46V18.97M12 3V13L15 10H21V3H12M19 8H14V5H19V8Z\";\r\nexport var mdiPhoneMinus = \"M4,3A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5C18.76,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.07,13.62 6.62,10.79L8.82,8.58C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.24 8.5,4A1,1 0 0,0 7.5,3M13,6V8H21V6\";\r\nexport var mdiPhoneMinusOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M13 6V8H21V6Z\";\r\nexport var mdiPhoneMissed = \"M23.71,16.67C20.66,13.77 16.54,12 12,12C7.46,12 3.34,13.77 0.29,16.67C0.11,16.85 0,17.1 0,17.38C0,17.65 0.11,17.9 0.29,18.08L2.77,20.56C2.95,20.74 3.2,20.86 3.5,20.86C3.75,20.86 4,20.75 4.18,20.57C4.97,19.83 5.86,19.21 6.84,18.72C7.17,18.56 7.4,18.22 7.4,17.82V14.72C8.85,14.25 10.39,14 12,14C13.6,14 15.15,14.25 16.6,14.72V17.82C16.6,18.22 16.83,18.56 17.16,18.72C18.14,19.21 19.03,19.83 19.82,20.57C20,20.75 20.25,20.86 20.5,20.86C20.8,20.86 21.05,20.74 21.23,20.56L23.71,18.08C23.89,17.9 24,17.65 24,17.38C24,17.1 23.89,16.85 23.71,16.67M6.5,5.5L12,11L19,4L18,3L12,9L7.5,4.5H11V3H5V9H6.5V5.5Z\";\r\nexport var mdiPhoneMissedOutline = \"M18.6 15.5v1.8c.7.4 1.3.8 1.9 1.3l1.1-1.1c-.9-.9-1.9-1.5-3-2m-13.2 0c-1 .5-2 1.1-2.9 1.9l1.1 1.1c.6-.5 1.2-.9 1.9-1.3v-1.7M12 12c4.5 0 8.7 1.7 11.7 4.7.2.2.3.4.3.7 0 .3-.1.5-.3.7l-2.5 2.5c-.2.2-.4.3-.7.3-.2 0-.5-.1-.7-.3-.8-.7-1.7-1.4-2.7-1.8-.3-.2-.6-.5-.6-.9v-3.1c-1.5-.5-3-.7-4.6-.7-1.6 0-3.1.2-4.6.7v3.1c0 .4-.2.7-.6.9-1 .5-1.9 1.1-2.7 1.8-.2.2-.4.3-.7.3-.3 0-.5-.1-.7-.3L.1 18.1c0-.2-.1-.5-.1-.7 0-.3.1-.5.3-.7C3.3 13.8 7.5 12 12 12zM6.5 5.5V9H5V3h6v1.5H7.5L12 9l6-6 1 1-7 7-5.5-5.5z\";\r\nexport var mdiPhoneOff = \"M20.22,2.5L2.5,20.22L3.77,21.5L8.65,16.62C11.76,19.43 15.81,21 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C12.06,16.8 11,16.06 10.06,15.21L21.5,3.77L20.22,2.5M4,3A1,1 0 0,0 3,4C3,7.57 4.14,11.05 6.24,13.94L7.66,12.5C7.28,11.97 6.93,11.39 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4Z\";\r\nexport var mdiPhoneOffOutline = \"M16.4 17C17.2 17.2 18.1 17.4 19 17.5V19C17.7 18.9 16.4 18.7 15.2 18.2L16.4 17M20.2 2.5L2.5 20.2L3.8 21.5L8.7 16.6C11.8 19.4 15.8 21 20 21C20.6 21 21 20.6 21 20V16.5C21 15.9 20.6 15.5 20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C12.1 16.8 11 16.1 10.1 15.2L21.5 3.8L20.2 2.5M6.5 5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5H6.5M7.5 3H4C3.4 3 3 3.4 3 4C3 7.6 4.1 11 6.2 13.9L7.6 12.5C7.2 12 6.9 11.4 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.4 8.5 5.2 8.5 4C8.5 3.4 8.1 3 7.5 3Z\";\r\nexport var mdiPhoneOutgoing = \"M4,3A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.17L13.21,17.37C10.38,15.93 8.06,13.62 6.62,10.78L8.82,8.57C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4M15,3V4.5H18.5L13,10L14,11L19.5,5.5V9H21V3H15Z\";\r\nexport var mdiPhoneOutgoingOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M15 3V4.5H18.5L13 10L14 11L19.5 5.5V9H21V3H15Z\";\r\nexport var mdiPhoneOutline = \"M20,15.5C18.8,15.5 17.5,15.3 16.4,14.9C16.3,14.9 16.2,14.9 16.1,14.9C15.8,14.9 15.6,15 15.4,15.2L13.2,17.4C10.4,15.9 8,13.6 6.6,10.8L8.8,8.6C9.1,8.3 9.2,7.9 9,7.6C8.7,6.5 8.5,5.2 8.5,4C8.5,3.5 8,3 7.5,3H4C3.5,3 3,3.5 3,4C3,13.4 10.6,21 20,21C20.5,21 21,20.5 21,20V16.5C21,16 20.5,15.5 20,15.5M5,5H6.5C6.6,5.9 6.8,6.8 7,7.6L5.8,8.8C5.4,7.6 5.1,6.3 5,5M19,19C17.7,18.9 16.4,18.6 15.2,18.2L16.4,17C17.2,17.2 18.1,17.4 19,17.4V19Z\";\r\nexport var mdiPhonePaused = \"M19,10H21V3H19M20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.06,13.62 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5M17,3H15V10H17V3Z\";\r\nexport var mdiPhonePausedOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M19 10H21V3H19M17 3H15V10H17V3Z\";\r\nexport var mdiPhonePlus = \"M4,3A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5C18.76,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.07,13.62 6.62,10.79L8.82,8.58C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.24 8.5,4A1,1 0 0,0 7.5,3M16,3V6H13V8H16V11H18V8H21V6H18V3\";\r\nexport var mdiPhonePlusOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M16 3V6H13V8H16V11H18V8H21V6H18V3Z\";\r\nexport var mdiPhoneRemove = \"M4 3C3.4 3 3 3.4 3 4C3 13.4 10.6 21 20 21C20.6 21 21 20.6 21 20V16.5C21 15.9 20.6 15.5 20 15.5C18.8 15.5 17.5 15.3 16.4 14.9C16 14.8 15.7 14.9 15.4 15.1L13.2 17.3C10.4 15.9 8.1 13.5 6.6 10.7L8.8 8.5C9.1 8.2 9.2 7.8 9 7.5C8.7 6.4 8.5 5.2 8.5 4C8.5 3.4 8.1 3 7.5 3M19.1 3.5L17 5.6L14.9 3.5L13.5 4.9L15.6 7L13.5 9.1L14.9 10.5L17 8.4L19.1 10.5L20.5 9.1L18.4 7L20.5 4.9\";\r\nexport var mdiPhoneRemoveOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M19.1 3.5L17 5.6L14.9 3.5L13.5 4.9L15.6 7L13.5 9.1L14.9 10.5L17 8.4L19.1 10.5L20.5 9.1L18.4 7L20.5 4.9L19.1 3.5Z\";\r\nexport var mdiPhoneReturn = \"M21,6V11H19.5V7.5H13.87L16.3,9.93L15.24,11L11,6.75L15.24,2.5L16.3,3.57L13.87,6H21M8.82,8.58C9.08,8.32 9.17,7.93 9.06,7.58C8.69,6.42 8.5,5.22 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5C18.79,15.5 17.58,15.31 16.43,14.93C16.08,14.82 15.69,14.91 15.43,15.17L13.23,17.37C10.39,15.92 8.09,13.62 6.64,10.78L8.82,8.58Z\";\r\nexport var mdiPhoneReturnOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M21 6V11H19.5V7.5H13.87L16.3 9.93L15.24 11L11 6.75L15.24 2.5L16.3 3.57L13.87 6H21Z\";\r\nexport var mdiPhoneRing = \"M23.71 16.67C20.66 13.78 16.54 12 12 12S3.34 13.78.29 16.67c-.18.18-.29.43-.29.71 0 .28.11.53.29.71l2.48 2.48c.18.18.43.29.71.29.27 0 .52-.11.7-.28.79-.74 1.69-1.36 2.66-1.85.33-.16.56-.5.56-.9v-3.1c1.45-.48 3-.73 4.6-.73s3.15.25 4.6.72v3.1c0 .39.23.74.56.9.98.49 1.87 1.12 2.66 1.85.18.18.43.28.7.28.28 0 .53-.11.71-.29l2.48-2.48c.18-.18.29-.43.29-.71a.99.99 0 0 0-.29-.7zM21.16 6.26l-1.41-1.41-3.56 3.55 1.41 1.41s3.45-3.52 3.56-3.55zM13 2h-2v5h2V2zM6.4 9.81L7.81 8.4 4.26 4.84 2.84 6.26c.11.03 3.56 3.55 3.56 3.55z\";\r\nexport var mdiPhoneRingOutline = \"M23.71 16.67C20.66 13.78 16.54 12 12 12S3.34 13.78.29 16.67c-.18.18-.29.43-.29.71 0 .28.11.53.29.71l2.48 2.48c.18.18.43.29.71.29.27 0 .52-.11.7-.28.79-.74 1.69-1.36 2.66-1.85.33-.16.56-.5.56-.9v-3.1c1.45-.48 3-.73 4.6-.73s3.15.25 4.6.72v3.1c0 .39.23.74.56.9.98.49 1.87 1.12 2.66 1.85.18.18.43.28.7.28.28 0 .53-.11.71-.29l2.48-2.48c.18-.18.29-.43.29-.71a.99.99 0 0 0-.29-.7zm-18.31.56c-.66.37-1.29.8-1.87 1.27l-1.07-1.07c.91-.75 1.9-1.39 2.95-1.9v1.7H5.4zm15.07 1.26c-.59-.48-1.21-.9-1.87-1.27v-1.7c1.04.51 2.03 1.15 2.94 1.9l-1.07 1.07zm.69-12.23l-1.41-1.41-3.56 3.55 1.41 1.41s3.45-3.52 3.56-3.55zM11 2h2v5h-2V2zM6.4 9.81L7.81 8.4 4.26 4.84 2.84 6.26c.11.03 3.56 3.55 3.56 3.55z\";\r\nexport var mdiPhoneRotateLandscape = \"M9,1H3A2,2 0 0,0 1,3V16A2,2 0 0,0 3,18H9A2,2 0 0,0 11,16V3A2,2 0 0,0 9,1M9,15H3V3H9V15M21,13H13V15H21V21H9V20H6V21A2,2 0 0,0 8,23H21A2,2 0 0,0 23,21V15A2,2 0 0,0 21,13M23,10L19,8L20.91,7.09C19.74,4.31 17,2.5 14,2.5V1A9,9 0 0,1 23,10Z\";\r\nexport var mdiPhoneRotatePortrait = \"M9,1H3A2,2 0 0,0 1,3V16A2,2 0 0,0 3,18H4V15H3V3H9V11H11V3A2,2 0 0,0 9,1M23,21V15A2,2 0 0,0 21,13H8A2,2 0 0,0 6,15V21A2,2 0 0,0 8,23H21A2,2 0 0,0 23,21M9,21V15H21V21H9M23,10H21.5C21.5,7 19.69,4.27 16.92,3.09L16,5L14,1A9,9 0 0,1 23,10Z\";\r\nexport var mdiPhoneSettings = \"M19,11H21V9H19M20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.06,13.62 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5M17,9H15V11H17M13,9H11V11H13V9Z\";\r\nexport var mdiPhoneSettingsOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M17 9H15V11H17M13 9H11V11H13V9M19 11H21V9H19Z\";\r\nexport var mdiPhoneVoip = \"M13,17V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H13M23.7,7.67C23.88,7.85 24,8.09 24,8.37C24,8.65 23.89,8.9 23.71,9.08L21.23,11.56C21.05,11.74 20.8,11.85 20.5,11.85C20.25,11.85 20,11.75 19.82,11.57C19,10.84 18.13,10.21 17.15,9.72C16.82,9.56 16.59,9.21 16.59,8.82V5.72C15.14,5.25 13.59,5 12,5C10.4,5 8.85,5.25 7.4,5.73V8.83C7.4,9.23 7.17,9.57 6.84,9.73C5.87,10.22 4.97,10.84 4.18,11.58C4,11.75 3.75,11.86 3.5,11.86C3.2,11.86 2.95,11.75 2.77,11.57L0.29,9.09C0.11,8.91 0,8.66 0,8.38C0,8.1 0.11,7.85 0.29,7.67C3.34,4.78 7.46,3 12,3C16.53,3 20.65,4.78 23.7,7.67M11,10V15H10V10H11M12,10H15V13H13V15H12V10M14,12V11H13V12H14Z\";\r\nexport var mdiPi = \"M4,5V7H6V19H8V7H14V16A3,3 0 0,0 17,19A3,3 0 0,0 20,16H18A1,1 0 0,1 17,17A1,1 0 0,1 16,16V7H18V5\";\r\nexport var mdiPiBox = \"M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M6,7H17V9H15V14A1,1 0 0,0 16,15A1,1 0 0,0 17,14H19A3,3 0 0,1 16,17A3,3 0 0,1 13,14V9H10V17H8V9H6\";\r\nexport var mdiPiHole = \"M5.62,2C9.5,2 11.57,4.29 11.77,7.93C12.5,3.57 15.93,4.08 15.93,4.08C16.1,6.55 14.07,8.05 11.77,8.17C11.12,6.81 7.25,3.47 7.25,3.47C7.23,3.5 10.97,6.74 10.83,8.15C8.33,7.88 5.82,6 5.62,2M6.06,13.11L9.92,9.25C11.09,8.08 13,8.08 14.16,9.25L18,13.11C19.19,14.28 19.19,16.18 18,17.35L14.16,21.21C13,22.38 11.09,22.38 9.92,21.21L6.06,17.35C4.89,16.18 4.89,14.28 6.06,13.11M9.39,19.59C9.39,18.36 10.15,16.85 12.09,16.85C13.4,16.85 14.87,18.1 16.31,17.96C14.87,17.92 13.59,16.85 13.59,15.19C13.59,13.86 14.69,12.9 14.69,11.34C14.63,12.33 13.82,13.77 12,13.77C10.59,13.77 9.55,12.63 7.87,12.63C8.58,12.67 10.5,13.3 10.5,15.35C10.5,17 9.39,17.5 9.39,19.59Z\";\r\nexport var mdiPiano = \"M20 2H4C2.9 2 2 2.9 2 4V20C2 21.11 2.9 22 4 22H20C21.11 22 22 21.11 22 20V4C22 2.9 21.11 2 20 2M14.74 14H15V20H9V14H9.31C9.86 14 10.3 13.56 10.3 13V4H13.75V13C13.75 13.56 14.19 14 14.74 14M4 4H6.8V13C6.8 13.56 7.24 14 7.79 14H8V20H4V4M20 20H16V14H16.26C16.81 14 17.25 13.56 17.25 13V4H20V20Z\";\r\nexport var mdiPianoOff = \"M22.11 21.46L2.39 1.73L1.11 3L2 3.89V20C2 21.11 2.9 22 4 22H20.11L20.84 22.73L22.11 21.46M8 20H4V5.89L6.8 8.69V13C6.8 13.56 7.24 14 7.79 14H8V20M15 20H9V14H9.31C9.86 14 10.3 13.56 10.3 13V12.19L15 16.89V20M16 20V17.89L18.11 20H16M10.3 7.1L5.2 2H20C21.11 2 22 2.9 22 4V18.8L20 16.8V4H17.25V13C17.25 13.3 17.13 13.55 16.93 13.73L13.75 10.55V4H10.3V7.1Z\";\r\nexport var mdiPickaxe = \"M14.79,10.62L3.5,21.9L2.1,20.5L13.38,9.21L14.79,10.62M19.27,7.73L19.86,7.14L19.07,6.35L19.71,5.71L18.29,4.29L17.65,4.93L16.86,4.14L16.27,4.73C14.53,3.31 12.57,2.17 10.47,1.37L9.64,3.16C11.39,4.08 13,5.19 14.5,6.5L14,7L17,10L17.5,9.5C18.81,11 19.92,12.61 20.84,14.36L22.63,13.53C21.83,11.43 20.69,9.47 19.27,7.73Z\";\r\nexport var mdiPictureInPictureBottomRight = \"M19,11H11V17H19V11M23,19V5C23,3.88 22.1,3 21,3H3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19M21,19H3V4.97H21V19Z\";\r\nexport var mdiPictureInPictureBottomRightOutline = \"M19,11H11V17H19V11M17,15H13V13H17V15M21,3H3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V5C23,3.88 22.1,3 21,3M21,19H3V4.97H21V19Z\";\r\nexport var mdiPictureInPictureTopRight = \"M19,7H11V13H19V7M21,3H3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V5A2,2 0 0,0 21,3M21,19H3V5H21V19Z\";\r\nexport var mdiPictureInPictureTopRightOutline = \"M19,7H11V13H19V7M17,11H13V9H17V11M21,3H3A2,2 0 0,0 1,5V19C1,20.11 1.9,21 3,21H21A2,2 0 0,0 23,19V5C23,3.91 22.1,3 21,3M21,19H3V5H21V19Z\";\r\nexport var mdiPier = \"M20,18C18.6,18 17.2,17.5 16,16.7C13.6,18.4 10.4,18.4 8,16.7C6.8,17.5 5.4,18 4,18H2V20H4C5.4,20 6.7,19.6 8,19C10.5,20.3 13.5,20.3 16,19C17.3,19.6 18.6,20 20,20H22V18H20M20,13H19V16.9C18.3,16.8 17.6,16.6 17,16.2V13H12V17C11.3,17 10.7,16.9 10,16.7V13H5V16.9C4.7,17 4.3,17 4,17H3V13H2V11H3V9H5V11H10V9H12V11H17V9H19V11H20V13Z\";\r\nexport var mdiPierCrane = \"M20,20C18.61,20 17.22,19.53 16,18.67C13.56,20.38 10.44,20.38 8,18.67C6.78,19.53 5.39,20 4,20H2V22H4C5.37,22 6.74,21.65 8,21C10.5,22.3 13.5,22.3 16,21C17.26,21.65 18.62,22 20,22H22V20H20M20,4V3A1,1 0 0,0 19,2H9V1H6V2H5V4H6V13H5V11H3V13H2V15H3V19H4C4.33,19 4.67,18.97 5,18.92V15H10V18.65C10.65,18.85 11.33,18.95 12,18.95V18.92L12,15H13V13H12V11H10V13H9V4H17V8.62C16.53,8.79 16.19,9.23 16.19,9.76C16.19,10.2 16.43,10.6 16.8,10.82V12H17.42C17.76,12 18.03,12.28 18.03,12.62C18.03,12.96 17.76,13.24 17.42,13.24C17.2,13.24 17,13.12 16.88,12.93C16.71,12.64 16.34,12.54 16.05,12.71C15.75,12.87 15.65,13.25 15.82,13.55C16.15,14.11 16.76,14.47 17.42,14.47C18.43,14.47 19.26,13.64 19.26,12.62C19.26,11.84 18.76,11.14 18.03,10.88V10.82C18.41,10.6 18.65,10.2 18.65,9.76C18.65,9.3 18.38,8.91 18,8.7V4H20M8,11.66L7,12.66V11.24L8,10.24V11.66M8,8.71L7,9.71V8.29L8,7.29V8.71M7,6.71V5.29L8,4.29V5.71L7,6.71Z\";\r\nexport var mdiPig = \"M9.5,9A1.5,1.5 0 0,0 8,10.5A1.5,1.5 0 0,0 9.5,12A1.5,1.5 0 0,0 11,10.5A1.5,1.5 0 0,0 9.5,9M14.5,9A1.5,1.5 0 0,0 13,10.5A1.5,1.5 0 0,0 14.5,12A1.5,1.5 0 0,0 16,10.5A1.5,1.5 0 0,0 14.5,9M12,4L12.68,4.03C13.62,3.24 14.82,2.59 15.72,2.35C17.59,1.85 20.88,2.23 21.31,3.83C21.62,5 20.6,6.45 19.03,7.38C20.26,8.92 21,10.87 21,13A9,9 0 0,1 12,22A9,9 0 0,1 3,13C3,10.87 3.74,8.92 4.97,7.38C3.4,6.45 2.38,5 2.69,3.83C3.12,2.23 6.41,1.85 8.28,2.35C9.18,2.59 10.38,3.24 11.32,4.03L12,4M10,16A1,1 0 0,1 11,17A1,1 0 0,1 10,18A1,1 0 0,1 9,17A1,1 0 0,1 10,16M14,16A1,1 0 0,1 15,17A1,1 0 0,1 14,18A1,1 0 0,1 13,17A1,1 0 0,1 14,16M12,13C9.24,13 7,15.34 7,17C7,18.66 9.24,20 12,20C14.76,20 17,18.66 17,17C17,15.34 14.76,13 12,13M7.76,4.28C7.31,4.16 4.59,4.35 4.59,4.35C4.59,4.35 6.8,6.1 7.24,6.22C7.69,6.34 9.77,6.43 9.91,5.9C10.06,5.36 8.2,4.4 7.76,4.28M16.24,4.28C15.8,4.4 13.94,5.36 14.09,5.9C14.23,6.43 16.31,6.34 16.76,6.22C17.2,6.1 19.41,4.35 19.41,4.35C19.41,4.35 16.69,4.16 16.24,4.28Z\";\r\nexport var mdiPigVariant = \"M19.83 7.5L17.56 5.23C17.63 4.81 17.74 4.42 17.88 4.08C17.96 3.9 18 3.71 18 3.5C18 2.67 17.33 2 16.5 2C14.86 2 13.41 2.79 12.5 4H7.5C4.46 4 2 6.46 2 9.5S4.5 21 4.5 21H10V19H12V21H17.5L19.18 15.41L22 14.47V7.5H19.83M16 11C15.45 11 15 10.55 15 10S15.45 9 16 9C16.55 9 17 9.45 17 10S16.55 11 16 11Z\";\r\nexport var mdiPigVariantOutline = \"M15 10C15 9.45 15.45 9 16 9C16.55 9 17 9.45 17 10S16.55 11 16 11 15 10.55 15 10M22 7.5V14.47L19.18 15.41L17.5 21H12V19H10V21H4.5C4.5 21 2 12.54 2 9.5S4.46 4 7.5 4H12.5C13.41 2.79 14.86 2 16.5 2C17.33 2 18 2.67 18 3.5C18 3.71 17.96 3.9 17.88 4.08C17.74 4.42 17.62 4.81 17.56 5.23L19.83 7.5H22M20 9.5H19L15.5 6C15.5 5.35 15.59 4.71 15.76 4.09C14.79 4.34 14 5.06 13.67 6H7.5C5.57 6 4 7.57 4 9.5C4 11.38 5.22 16.15 6 19H8V17H14V19H16L17.56 13.85L20 13.03V9.5Z\";\r\nexport var mdiPiggyBank = \"M19.83 7.5L17.56 5.23C17.63 4.81 17.74 4.42 17.88 4.08C17.96 3.9 18 3.71 18 3.5C18 2.67 17.33 2 16.5 2C14.86 2 13.41 2.79 12.5 4H7.5C4.46 4 2 6.46 2 9.5S4.5 21 4.5 21H10V19H12V21H17.5L19.18 15.41L22 14.47V7.5H19.83M13 9H8V7H13V9M16 11C15.45 11 15 10.55 15 10S15.45 9 16 9C16.55 9 17 9.45 17 10S16.55 11 16 11Z\";\r\nexport var mdiPiggyBankOutline = \"M15 10C15 9.45 15.45 9 16 9C16.55 9 17 9.45 17 10S16.55 11 16 11 15 10.55 15 10M8 9H13V7H8V9M22 7.5V14.47L19.18 15.41L17.5 21H12V19H10V21H4.5C4.5 21 2 12.54 2 9.5S4.46 4 7.5 4H12.5C13.41 2.79 14.86 2 16.5 2C17.33 2 18 2.67 18 3.5C18 3.71 17.96 3.9 17.88 4.08C17.74 4.42 17.62 4.81 17.56 5.23L19.83 7.5H22M20 9.5H19L15.5 6C15.5 5.35 15.59 4.71 15.76 4.09C14.79 4.34 14 5.06 13.67 6H7.5C5.57 6 4 7.57 4 9.5C4 11.38 5.22 16.15 6 19H8V17H14V19H16L17.56 13.85L20 13.03V9.5Z\";\r\nexport var mdiPill = \"M4.22,11.29L11.29,4.22C13.64,1.88 17.43,1.88 19.78,4.22C22.12,6.56 22.12,10.36 19.78,12.71L12.71,19.78C10.36,22.12 6.56,22.12 4.22,19.78C1.88,17.43 1.88,13.64 4.22,11.29M5.64,12.71C4.59,13.75 4.24,15.24 4.6,16.57L10.59,10.59L14.83,14.83L18.36,11.29C19.93,9.73 19.93,7.2 18.36,5.64C16.8,4.07 14.27,4.07 12.71,5.64L5.64,12.71Z\";\r\nexport var mdiPillar = \"M6,5H18A1,1 0 0,1 19,6A1,1 0 0,1 18,7H6A1,1 0 0,1 5,6A1,1 0 0,1 6,5M21,2V4H3V2H21M15,8H17V22H15V8M7,8H9V22H7V8M11,8H13V22H11V8Z\";\r\nexport var mdiPin = \"M16,12V4H17V2H7V4H8V12L6,14V16H11.2V22H12.8V16H18V14L16,12Z\";\r\nexport var mdiPinOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L12.8,16.07V22H11.2V16H6V14L8,12V11.27L2,5.27M16,12L18,14V16H17.82L8,6.18V4H7V2H17V4H16V12Z\";\r\nexport var mdiPinOffOutline = \"M8,6.2V4H7V2H17V4H16V12L18,14V16H17.8L14,12.2V4H10V8.2L8,6.2M20,20.7L18.7,22L12.8,16.1V22H11.2V16H6V14L8,12V11.3L2,5.3L3.3,4L20,20.7M8.8,14H10.6L9.7,13.1L8.8,14Z\";\r\nexport var mdiPinOutline = \"M16,12V4H17V2H7V4H8V12L6,14V16H11.2V22H12.8V16H18V14L16,12M8.8,14L10,12.8V4H14V12.8L15.2,14H8.8Z\";\r\nexport var mdiPineTree = \"M10,21V18H3L8,13H5L10,8H7L12,3L17,8H14L19,13H16L21,18H14V21H10Z\";\r\nexport var mdiPineTreeBox = \"M4,2H20A2,2 0 0,1 22,4V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V4A2,2 0 0,1 4,2M11,19H13V17H18L14,13H17L13,9H16L12,5L8,9H11L7,13H10L6,17H11V19Z\";\r\nexport var mdiPineTreeFire = \"M22.14 14.84L22.12 14.85C22.35 15.13 22.55 15.44 22.7 15.77L22.79 15.96C23.5 17.65 23 19.6 21.69 20.82C20.5 21.91 18.84 22.2 17.3 22C15.84 21.82 14.5 20.9 13.73 19.63C13.5 19.24 13.3 18.8 13.2 18.35C13.07 18 13.03 17.62 13 17.25C12.91 15.65 13.55 13.95 14.76 12.95C14.21 14.16 14.34 15.67 15.15 16.72L15.26 16.85C15.4 16.97 15.57 17 15.73 16.94C15.88 16.88 16 16.73 16 16.57L15.93 16.33C15.05 14 15.79 11.3 17.66 9.77C18.17 9.35 18.8 8.97 19.46 8.8C18.78 10.16 19 11.94 20.09 13C20.55 13.5 21.11 13.79 21.58 14.23L22.14 14.84M19.86 19.5L19.85 19.47C20.3 19.08 20.55 18.41 20.53 17.81L20.5 17.5C20.3 16.5 19.43 16.16 18.87 15.43C18.7 15.21 18.55 14.93 18.44 14.65C18.22 15.15 18.2 15.62 18.29 16.16C18.39 16.73 18.61 17.22 18.5 17.81C18.34 18.46 17.83 19.11 16.94 19.32C17.44 19.81 18.25 20.2 19.06 19.92C19.32 19.85 19.65 19.66 19.86 19.5M9 21V18H2L7 13H4L9 8H6L11 3L16 8H13L14.82 9.82C12.55 11.06 11 13.59 11 16.5C11 18.19 11.5 19.75 12.4 21H9Z\";\r\nexport var mdiPinterest = \"M9.04,21.54C10,21.83 10.97,22 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2A10,10 0 0,0 2,12C2,16.25 4.67,19.9 8.44,21.34C8.35,20.56 8.26,19.27 8.44,18.38L9.59,13.44C9.59,13.44 9.3,12.86 9.3,11.94C9.3,10.56 10.16,9.53 11.14,9.53C12,9.53 12.4,10.16 12.4,10.97C12.4,11.83 11.83,13.06 11.54,14.24C11.37,15.22 12.06,16.08 13.06,16.08C14.84,16.08 16.22,14.18 16.22,11.5C16.22,9.1 14.5,7.46 12.03,7.46C9.21,7.46 7.55,9.56 7.55,11.77C7.55,12.63 7.83,13.5 8.29,14.07C8.38,14.13 8.38,14.21 8.35,14.36L8.06,15.45C8.06,15.62 7.95,15.68 7.78,15.56C6.5,15 5.76,13.18 5.76,11.71C5.76,8.55 8,5.68 12.32,5.68C15.76,5.68 18.44,8.15 18.44,11.43C18.44,14.87 16.31,17.63 13.26,17.63C12.29,17.63 11.34,17.11 11,16.5L10.33,18.87C10.1,19.73 9.47,20.88 9.04,21.57V21.54Z\";\r\nexport var mdiPinwheel = \"M12,12C12,9 14.5,6.5 17.5,6.5C20.5,6.5 23,9 23,12H12M12,12C12,15 9.5,17.5 6.5,17.5C3.5,17.5 1,15 1,12H12M12,12C9,12 6.5,9.5 6.5,6.5C6.5,3.5 9,1 12,1V12M12,12C15,12 17.5,14.5 17.5,17.5C17.5,20.5 15,23 12,23V12Z\";\r\nexport var mdiPinwheelOutline = \"M12,23H11V16.43C9.93,17.4 8.5,18 7,18C3.75,18 1,15.25 1,12V11H7.57C6.6,9.93 6,8.5 6,7C6,3.75 8.75,1 12,1H13V7.57C14.07,6.6 15.5,6 17,6C20.25,6 23,8.75 23,12V13H16.43C17.4,14.07 18,15.5 18,17C18,20.25 15.25,23 12,23M13,13.13V20.87C14.7,20.41 16,18.83 16,17C16,15.17 14.7,13.59 13,13.13M3.13,13C3.59,14.7 5.17,16 7,16C8.83,16 10.41,14.7 10.87,13H3.13M13.13,11H20.87C20.41,9.3 18.82,8 17,8C15.18,8 13.59,9.3 13.13,11M11,3.13C9.3,3.59 8,5.18 8,7C8,8.82 9.3,10.41 11,10.87V3.13Z\";\r\nexport var mdiPipe = \"M22,14H20V16H14V13H16V11H14V6A2,2 0 0,0 12,4H4V2H2V10H4V8H10V11H8V13H10V18A2,2 0 0,0 12,20H20V22H22\";\r\nexport var mdiPipeDisconnected = \"M16,9V11H8V9H10V8H4V10H2V2H4V4H12A2,2 0 0,1 14,6V9H16M10,15V18A2,2 0 0,0 12,20H20V22H22V14H20V16H14V15H16V13H8V15H10Z\";\r\nexport var mdiPipeLeak = \"M2,5V13H4V11H10L12,9L10,7H4V5H2M20,5V7H12L14,9L12,11H20V13H22V5H20M12,13C12,13 10,15.17 10,16.5A2,2 0 0,0 12,18.5A2,2 0 0,0 14,16.5C14,15.17 12,13 12,13Z\";\r\nexport var mdiPipeWrench = \"M16.17 5.63L14.06 7.78L11.91 5.63L16.17 1.41L19.69 4.92C20.86 6.09 20.86 8 19.69 9.19L16.17 5.63M4.83 12.7L7 14.81L10.5 11.3L8.39 9.19L4.83 12.7M15.47 7.78L19 11.3L17.58 12.7L16.88 12L6.23 22.59L3.42 19.78L11.91 11.3L7.69 7.03L9.8 4.92L14.06 9.19L15.47 7.78Z\";\r\nexport var mdiPirate = \"M8.2,12.1C7.9,12.3 7.7,12.7 7.8,13C7.8,13.7 8.5,14.2 9.1,14.2C9.7,14.2 10.3,13.7 10.3,13C9.7,12.6 9,12.3 8.2,12.1M22,11L23,7C23,7 21,7 18,5C15,3 15,1 12,1C9,1 9,3 6,5C3,7 1,7 1,7L2,11H2.1C2,11.3 2,11.7 2,12C2,15.5 3.8,18.6 6.5,20.4L6,21.3C12.4,25.4 18,21.3 18,21.3L17.5,20.4C20.2,18.6 22,15.5 22,12C22,11.7 22,11.3 22,11M11.3,4.5L9.9,3.1L10.6,2.4L12,3.8L13.4,2.4L14.1,3.1L12.7,4.5L14.1,5.9L13.4,6.6L12,5.2L10.6,6.6L9.9,5.9L11.3,4.5M9.3,8.5C10.3,8.2 11.3,8 12,8C14.2,8 17.9,9.6 19.8,10.4C19.9,10.7 19.9,11 19.9,11.3L9.3,8.5M13.6,19.1C12.9,19.5 12.2,19.8 11.4,19.9C10.9,19.5 10.9,18.7 11.4,18.3C11.8,17.9 12.7,17.7 13.2,18.2C13.5,18.3 13.6,18.8 13.6,19.1M20,13.4C19.5,15.5 18.2,17.4 16.5,18.6L15,16H9L7.5,18.6C5.4,17.2 4,14.8 4,12C4,11.5 4.1,11 4.2,10.5C4.7,10.3 5.3,10 6,9.7L13.1,11.6V14C13.1,14.5 13.5,15 14.1,15H16.1C16.6,15 17.1,14.6 17.1,14V12.6L20,13.4Z\";\r\nexport var mdiPistol = \"M7,5H23V9H22V10H16A1,1 0 0,0 15,11V12A2,2 0 0,1 13,14H9.62C9.24,14 8.89,14.22 8.72,14.56L6.27,19.45C6.1,19.79 5.76,20 5.38,20H2C2,20 -1,20 3,14C3,14 6,10 2,10V5H3L3.5,4H6.5L7,5M14,12V11A1,1 0 0,0 13,10H12C12,10 11,11 12,12A2,2 0 0,1 10,10A1,1 0 0,0 9,11V12A1,1 0 0,0 10,13H13A1,1 0 0,0 14,12Z\";\r\nexport var mdiPiston = \"M13,16.18C13.5,16.35 13.9,16.63 14.23,17H15V21H14.21C13.89,21.35 13.5,21.63 13,21.8C11.85,22.22 10.58,21.87 9.78,21H9V17H9.77C10.1,16.63 10.5,16.35 11,16.18V12H13V16.18M12,20A1,1 0 0,0 13,19A1,1 0 0,0 12,18A1,1 0 0,0 11,19A1,1 0 0,0 12,20M17,4H15V5H17V11H7V5H9V4H7V2H17V4M12,9A1,1 0 0,0 13,8A1,1 0 0,0 12,7A1,1 0 0,0 11,8A1,1 0 0,0 12,9Z\";\r\nexport var mdiPitchfork = \"M15.9 .9L13.1 3.7C12.3 4.5 12.3 5.7 13.1 6.5L14.5 8L9.2 13.4L7.8 12C7 11.2 5.8 11.2 5 12L1 16L2.4 17.4L6.4 13.4L7.8 14.8L3.8 18.8L5.2 20.2L9.2 16.2L10.6 17.6L9.9 18.4L6.7 21.6L8 23L12 19C12.8 18.2 12.8 17 12 16.2L10.6 14.8L15.9 9.4L17.3 10.8C18.1 11.6 19.3 11.6 20.1 10.8L23 8L15.9 .9M18.7 9.4L14.5 5.2L15.9 3.8L20.1 8L18.7 9.4Z\";\r\nexport var mdiPizza = \"M12,15A2,2 0 0,1 10,13C10,11.89 10.9,11 12,11A2,2 0 0,1 14,13A2,2 0 0,1 12,15M7,7C7,5.89 7.89,5 9,5A2,2 0 0,1 11,7A2,2 0 0,1 9,9C7.89,9 7,8.1 7,7M12,2C8.43,2 5.23,3.54 3,6L12,22L21,6C18.78,3.54 15.57,2 12,2Z\";\r\nexport var mdiPlay = \"M8,5.14V19.14L19,12.14L8,5.14Z\";\r\nexport var mdiPlayBox = \"M19 3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.89 20.1 3 19 3M10 16V8L15 12\";\r\nexport var mdiPlayBoxMultiple = \"M4,6H2V20A2,2 0 0,0 4,22H18V20H4V6M20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M12,14.5V5.5L18,10L12,14.5Z\";\r\nexport var mdiPlayBoxMultipleOutline = \"M4 6H2V20C2 21.1 2.9 22 4 22H18V20H4V6M20 4V16H8V4H20M20 2H8C6.9 2 6 2.9 6 4V16C6 17.1 6.9 18 8 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M12 14.5V5.5L18 10L12 14.5Z\";\r\nexport var mdiPlayBoxOutline = \"M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M10,8V16L15,12L10,8Z\";\r\nexport var mdiPlayCircle = \"M10,16.5V7.5L16,12M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiPlayCircleOutline = \"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M10,16.5L16,12L10,7.5V16.5Z\";\r\nexport var mdiPlayNetwork = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M10,14V6L15,10L10,14Z\";\r\nexport var mdiPlayNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M10,14V6L15,10L10,14Z\";\r\nexport var mdiPlayOutline = \"M8.5,8.64L13.77,12L8.5,15.36V8.64M6.5,5V19L17.5,12\";\r\nexport var mdiPlayPause = \"M3,5V19L11,12M13,19H16V5H13M18,5V19H21V5\";\r\nexport var mdiPlayProtectedContent = \"M2,5V18H11V16H4V7H17V11H19V5H2M9,9V14L12.5,11.5L9,9M21.04,11.67L16.09,16.62L13.96,14.5L12.55,15.91L16.09,19.45L22.45,13.09L21.04,11.67Z\";\r\nexport var mdiPlaySpeed = \"M13,2.05V4.05C17.39,4.59 20.5,8.58 19.96,12.97C19.5,16.61 16.64,19.5 13,19.93V21.93C18.5,21.38 22.5,16.5 21.95,11C21.5,6.25 17.73,2.5 13,2.03V2.05M5.67,19.74C7.18,21 9.04,21.79 11,22V20C9.58,19.82 8.23,19.25 7.1,18.37L5.67,19.74M7.1,5.74C8.22,4.84 9.57,4.26 11,4.06V2.06C9.05,2.25 7.19,3 5.67,4.26L7.1,5.74M5.69,7.1L4.26,5.67C3,7.19 2.25,9.04 2.05,11H4.05C4.24,9.58 4.8,8.23 5.69,7.1M4.06,13H2.06C2.26,14.96 3.03,16.81 4.27,18.33L5.69,16.9C4.81,15.77 4.24,14.42 4.06,13M10,16.5L16,12L10,7.5V16.5Z\";\r\nexport var mdiPlaylistCheck = \"M14,10H2V12H14V10M14,6H2V8H14V6M2,16H10V14H2V16M21.5,11.5L23,13L16,20L11.5,15.5L13,14L16,17L21.5,11.5Z\";\r\nexport var mdiPlaylistEdit = \"M2,6V8H14V6H2M2,10V12H14V10H2M20.04,10.13C19.9,10.13 19.76,10.19 19.65,10.3L18.65,11.3L20.7,13.35L21.7,12.35C21.92,12.14 21.92,11.79 21.7,11.58L20.42,10.3C20.31,10.19 20.18,10.13 20.04,10.13M18.07,11.88L12,17.94V20H14.06L20.12,13.93L18.07,11.88M2,14V16H10V14H2Z\";\r\nexport var mdiPlaylistMinus = \"M2,16H10V14H2M12,14V16H22V14M14,6H2V8H14M14,10H2V12H14V10Z\";\r\nexport var mdiPlaylistMusic = \"M15,6H3V8H15V6M15,10H3V12H15V10M3,16H11V14H3V16M17,6V14.18C16.69,14.07 16.35,14 16,14A3,3 0 0,0 13,17A3,3 0 0,0 16,20A3,3 0 0,0 19,17V8H22V6H17Z\";\r\nexport var mdiPlaylistMusicOutline = \"M15,6V8H3V6H15M15,10V12H3V10H15M3,16V14H11V16H3M17,6H22V8H19V17A3,3 0 0,1 16,20A3,3 0 0,1 13,17A3,3 0 0,1 16,14C16.35,14 16.69,14.07 17,14.18V6M16,16A1,1 0 0,0 15,17A1,1 0 0,0 16,18A1,1 0 0,0 17,17A1,1 0 0,0 16,16Z\";\r\nexport var mdiPlaylistPlay = \"M19,9H2V11H19V9M19,5H2V7H19V5M2,15H15V13H2V15M17,13V19L22,16L17,13Z\";\r\nexport var mdiPlaylistPlus = \"M2,16H10V14H2M18,14V10H16V14H12V16H16V20H18V16H22V14M14,6H2V8H14M14,10H2V12H14V10Z\";\r\nexport var mdiPlaylistRemove = \"M2,6V8H14V6H2M2,10V12H11V10H2M14.17,10.76L12.76,12.17L15.59,15L12.76,17.83L14.17,19.24L17,16.41L19.83,19.24L21.24,17.83L18.41,15L21.24,12.17L19.83,10.76L17,13.59L14.17,10.76M2,14V16H11V14H2Z\";\r\nexport var mdiPlaylistStar = \"M17,19.09L19.45,20.58L18.8,17.77L21,15.89L18.11,15.64L17,13L15.87,15.64L13,15.89L15.18,17.77L14.5,20.58L17,19.09M4,14H12V16H4V14M4,6H16V8H4V6M4,10H16V12H4V10Z\";\r\nexport var mdiPlex = \"M4,2C2.89,2 2,2.89 2,4V20C2,21.11 2.89,22 4,22H20C21.11,22 22,21.11 22,20V4C22,2.89 21.11,2 20,2H4M8.56,6H12.06L15.5,12L12.06,18H8.56L12,12L8.56,6Z\";\r\nexport var mdiPlus = \"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\";\r\nexport var mdiPlusBox = \"M17,13H13V17H11V13H7V11H11V7H13V11H17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiPlusBoxMultiple = \"M19,11H15V15H13V11H9V9H13V5H15V9H19M20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M4,6H2V20A2,2 0 0,0 4,22H18V20H4V6Z\";\r\nexport var mdiPlusBoxMultipleOutline = \"M18 11H15V14H13V11H10V9H13V6H15V9H18M20 4V16H8V4H20M20 2H8C6.9 2 6 2.9 6 4V16C6 17.11 6.9 18 8 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M4 6H2V20C2 21.11 2.9 22 4 22H18V20H4V6Z\";\r\nexport var mdiPlusBoxOutline = \"M19,19V5H5V19H19M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5C3,3.89 3.9,3 5,3H19M11,7H13V11H17V13H13V17H11V13H7V11H11V7Z\";\r\nexport var mdiPlusCircle = \"M17,13H13V17H11V13H7V11H11V7H13V11H17M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiPlusCircleMultiple = \"M2 12C2 9.2 3.6 6.8 6 5.7V3.5C2.5 4.8 0 8.1 0 12S2.5 19.2 6 20.5V18.3C3.6 17.2 2 14.8 2 12M15 3C10 3 6 7 6 12S10 21 15 21 24 17 24 12 20 3 15 3M20 13H16V17H14V13H10V11H14V7H16V11H20V13Z\";\r\nexport var mdiPlusCircleMultipleOutline = \"M16,8H14V11H11V13H14V16H16V13H19V11H16M2,12C2,9.21 3.64,6.8 6,5.68V3.5C2.5,4.76 0,8.09 0,12C0,15.91 2.5,19.24 6,20.5V18.32C3.64,17.2 2,14.79 2,12M15,3C10.04,3 6,7.04 6,12C6,16.96 10.04,21 15,21C19.96,21 24,16.96 24,12C24,7.04 19.96,3 15,3M15,19C11.14,19 8,15.86 8,12C8,8.14 11.14,5 15,5C18.86,5 22,8.14 22,12C22,15.86 18.86,19 15,19Z\";\r\nexport var mdiPlusCircleOutline = \"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M13,7H11V11H7V13H11V17H13V13H17V11H13V7Z\";\r\nexport var mdiPlusMinus = \"M11,4V9H6V11H11V16H13V11H18V9H13V4H11M6,18V20H18V18H6Z\";\r\nexport var mdiPlusMinusBox = \"M5,3C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5M11,6H13V9H16V11H13V14H11V11H8V9H11V6M8,16H16V18H8V16Z\";\r\nexport var mdiPlusMinusVariant = \"M3 7H6V4H8V7H11V9H8V12H6V9H3V7M13 15H21V17H13V15M16.04 3H18.35L7.96 21H5.65L16.04 3Z\";\r\nexport var mdiPlusNetwork = \"M16,11V9H13V6H11V9H8V11H11V14H13V11H16M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17Z\";\r\nexport var mdiPlusNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M15,11H13V13H11V11H9V9H11V7H13V9H15V11Z\";\r\nexport var mdiPlusOutline = \"M4,9H9V4H15V9H20V15H15V20H9V15H4V9M11,13V18H13V13H18V11H13V6H11V11H6V13H11Z\";\r\nexport var mdiPlusThick = \"M20 14H14V20H10V14H4V10H10V4H14V10H20V14Z\";\r\nexport var mdiPodcast = \"M17,18.25V21.5H7V18.25C7,16.87 9.24,15.75 12,15.75C14.76,15.75 17,16.87 17,18.25M12,5.5A6.5,6.5 0 0,1 18.5,12C18.5,13.25 18.15,14.42 17.54,15.41L16,14.04C16.32,13.43 16.5,12.73 16.5,12C16.5,9.5 14.5,7.5 12,7.5C9.5,7.5 7.5,9.5 7.5,12C7.5,12.73 7.68,13.43 8,14.04L6.46,15.41C5.85,14.42 5.5,13.25 5.5,12A6.5,6.5 0 0,1 12,5.5M12,1.5A10.5,10.5 0 0,1 22.5,12C22.5,14.28 21.77,16.39 20.54,18.11L19.04,16.76C19.96,15.4 20.5,13.76 20.5,12A8.5,8.5 0 0,0 12,3.5A8.5,8.5 0 0,0 3.5,12C3.5,13.76 4.04,15.4 4.96,16.76L3.46,18.11C2.23,16.39 1.5,14.28 1.5,12A10.5,10.5 0 0,1 12,1.5M12,9.5A2.5,2.5 0 0,1 14.5,12A2.5,2.5 0 0,1 12,14.5A2.5,2.5 0 0,1 9.5,12A2.5,2.5 0 0,1 12,9.5Z\";\r\nexport var mdiPodium = \"M12,7.09L14.45,8.58L13.8,5.77L16,3.89L13.11,3.64L12,1L10.87,3.64L8,3.89L10.18,5.77L9.5,8.58L12,7.09M4,13.09L6.45,14.58L5.8,11.77L8,9.89L5.11,9.64L4,7L2.87,9.64L0,9.89L2.18,11.77L1.5,14.58L4,13.09M20,10.09L22.45,11.58L21.8,8.77L24,6.89L21.11,6.64L20,4L18.87,6.64L16,6.89L18.18,8.77L17.5,11.58L20,10.09M15,23H9V10H15V23M7,23H1V17H7V23M23,23H17V13H23V23Z\";\r\nexport var mdiPodiumBronze = \"M4,13.09L6.45,14.58L5.8,11.77L8,9.89L5.11,9.64L4,7L2.87,9.64L0,9.89L2.18,11.77L1.5,14.58L4,13.09M7,23H1V17H7V23M9,10V23H15V10H9M13,21H11V12H13V21M17,13V23H23V13H17M21,21H19V15H21V21Z\";\r\nexport var mdiPodiumGold = \"M12,7.09L14.45,8.58L13.8,5.77L16,3.89L13.11,3.64L12,1L10.87,3.64L8,3.89L10.18,5.77L9.5,8.58L12,7.09M15,23H9V10H15V23M1,17V23H7V17H1M5,21H3V19H5V21M17,13V23H23V13H17M21,21H19V15H21V21Z\";\r\nexport var mdiPodiumSilver = \"M20,10.09L22.45,11.58L21.8,8.77L24,6.89L21.11,6.64L20,4L18.87,6.64L16,6.89L18.18,8.77L17.5,11.58L20,10.09M23,23H17V13H23V23M1,17V23H7V17H1M5,21H3V19H5V21M9,10V23H15V10H9M13,21H11V12H13V21Z\";\r\nexport var mdiPointOfSale = \"M20,5C19.4,5 19,5.5 19,6.1V16C19,16.6 19.4,17 20,17.1C20.6,17.1 21,16.6 21,16V6.1C21,5.5 20.6,5 20,5M16.4,2H4.6C3.7,2 3,2.7 3,3.6V17.4C3,18.3 3.7,19 4.6,19H6V21C6,21.6 6.4,22 7,22H13C13.6,22 14,21.6 14,21V19H16.4C17.3,19 18,18.3 18,17.4V3.6C18,2.7 17.3,2 16.4,2M5,8H8V10H5V8M12,11V13H9V11H12M9,10V8H12V10H9M12,14V16H9V14H12M5,11H8V13H5V11M5,16V14H8V16H5M8,21H7V19H8V21M13,21H10V19H13V21M16,16H13V14H16V16M16,13H13V11H16V13M16,10H13V8H16V10M16,6H5V4H16V6Z\";\r\nexport var mdiPokeball = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4C7.92,4 4.55,7.05 4.06,11H8.13C8.57,9.27 10.14,8 12,8C13.86,8 15.43,9.27 15.87,11H19.94C19.45,7.05 16.08,4 12,4M12,20C16.08,20 19.45,16.95 19.94,13H15.87C15.43,14.73 13.86,16 12,16C10.14,16 8.57,14.73 8.13,13H4.06C4.55,16.95 7.92,20 12,20M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\r\nexport var mdiPokemonGo = \"M12,2A7,7 0 0,1 19,9C19,10.4 18.59,11.71 17.88,12.8L12,22.21L6.12,12.8C5.41,11.71 5,10.4 5,9A7,7 0 0,1 12,2M12,3.5C9.3,3.5 7.06,5.44 6.59,8H9.17C9.58,6.83 10.69,6 12,6C13.31,6 14.42,6.83 14.83,8H17.41C16.94,5.44 14.7,3.5 12,3.5M12,12C10.69,12 9.58,11.17 9.17,10H6.59C6.72,10.69 6.97,11.34 7.34,11.91V11.91L7.38,12C8.36,13.5 10.06,14.5 12,14.5C13.94,14.5 15.64,13.5 16.62,12L16.66,11.91V11.91C17.03,11.34 17.28,10.69 17.41,10H14.83C14.42,11.17 13.31,12 12,12M12,7.5A1.5,1.5 0 0,0 10.5,9A1.5,1.5 0 0,0 12,10.5A1.5,1.5 0 0,0 13.5,9A1.5,1.5 0 0,0 12,7.5Z\";\r\nexport var mdiPokerChip = \"M23,12C23,18.08 18.08,23 12,23C5.92,23 1,18.08 1,12C1,5.92 5.92,1 12,1C18.08,1 23,5.92 23,12M13,4.06C15.13,4.33 17.07,5.45 18.37,7.16L20.11,6.16C18.45,3.82 15.86,2.3 13,2V4.06M3.89,6.16L5.63,7.16C6.93,5.45 8.87,4.33 11,4.06V2C8.14,2.3 5.55,3.82 3.89,6.16M2.89,16.1L4.62,15.1C3.79,13.12 3.79,10.88 4.62,8.9L2.89,7.9C1.7,10.5 1.7,13.5 2.89,16.1M11,19.94C8.87,19.67 6.93,18.55 5.63,16.84L3.89,17.84C5.55,20.18 8.14,21.7 11,22V19.94M20.11,17.84L18.37,16.84C17.07,18.55 15.13,19.67 13,19.94V21.94C15.85,21.65 18.44,20.16 20.11,17.84M21.11,16.1C22.3,13.5 22.3,10.5 21.11,7.9L19.38,8.9C20.21,10.88 20.21,13.12 19.38,15.1L21.11,16.1M15,12L12,7L9,12L12,17L15,12Z\";\r\nexport var mdiPolaroid = \"M6,3H18A2,2 0 0,1 20,5V19A2,2 0 0,1 18,21H6A2,2 0 0,1 4,19V5A2,2 0 0,1 6,3M6,5V17H18V5H6Z\";\r\nexport var mdiPoliceBadge = \"M22 4L20 2C18.85 2.64 17.4 3 16 3C14.6 3 13.14 2.63 12 2C10.86 2.63 9.4 3 8 3C6.6 3 5.15 2.64 4 2L2 4C2 4 4 6 4 8S2 14 2 16C2 20 12 22 12 22S22 20 22 16C22 14 20 10 20 8S22 4 22 4M15.05 16.45L11.97 14.59L8.9 16.45L9.72 12.95L7 10.61L10.58 10.3L11.97 7L13.37 10.29L16.95 10.6L14.23 12.94L15.05 16.45Z\";\r\nexport var mdiPoliceBadgeOutline = \"M12 4.21C13.24 4.72 14.65 5 16 5C17.05 5 18.1 4.84 19.08 4.54C18.5 5.5 18 6.71 18 8C18 9.32 18.54 10.93 19.1 12.63C19.5 13.83 20 15.33 20 16C20 17.03 16.47 19 12 19.96C7.54 19 4 17.03 4 16C4 15.33 4.5 13.83 4.9 12.63C5.46 10.93 6 9.32 6 8C6 6.71 5.5 5.5 4.92 4.54C5.9 4.84 6.96 5 8 5C9.35 5 10.76 4.72 12 4.21M20 2C18.85 2.64 17.4 3 16 3C14.6 3 13.14 2.63 12 2C10.86 2.63 9.4 3 8 3C6.6 3 5.15 2.64 4 2L2 4C2 4 4 6 4 8S2 14 2 16C2 20 12 22 12 22S22 20 22 16C22 14 20 10 20 8S22 4 22 4L20 2M15.05 16.45L11.97 14.59L8.9 16.45L9.72 12.95L7 10.61L10.58 10.3L11.97 7L13.37 10.29L16.95 10.6L14.23 12.94L15.05 16.45\";\r\nexport var mdiPoll = \"M3,22V8H7V22H3M10,22V2H14V22H10M17,22V14H21V22H17Z\";\r\nexport var mdiPolo = \"M22 9.5C22 10.88 20.88 12 19.5 12S17 10.88 17 9.5 18.12 7 19.5 7 22 8.12 22 9.5M11 17V3H8V17H2L6 21H13V17H11M16 17H14V21H16V17Z\";\r\nexport var mdiPolymer = \"M19,4H15L7.1,16.63L4.5,12L9,4H5L0.5,12L5,20H9L16.89,7.37L19.5,12L15,20H19L23.5,12L19,4Z\";\r\nexport var mdiPool = \"M2,15C3.67,14.25 5.33,13.5 7,13.17V5A3,3 0 0,1 10,2C11.31,2 12.42,2.83 12.83,4H10A1,1 0 0,0 9,5V6H14V5A3,3 0 0,1 17,2C18.31,2 19.42,2.83 19.83,4H17A1,1 0 0,0 16,5V14.94C18,14.62 20,13 22,13V15C19.78,15 17.56,17 15.33,17C13.11,17 10.89,15 8.67,15C6.44,15 4.22,16 2,17V15M14,8H9V10H14V8M14,12H9V13C10.67,13.16 12.33,14.31 14,14.79V12M2,19C4.22,18 6.44,17 8.67,17C10.89,17 13.11,19 15.33,19C17.56,19 19.78,17 22,17V19C19.78,19 17.56,21 15.33,21C13.11,21 10.89,19 8.67,19C6.44,19 4.22,20 2,21V19Z\";\r\nexport var mdiPopcorn = \"M7,22H4.75C4.75,22 4,22 3.81,20.65L2.04,3.81L2,3.5C2,2.67 2.9,2 4,2C5.1,2 6,2.67 6,3.5C6,2.67 6.9,2 8,2C9.1,2 10,2.67 10,3.5C10,2.67 10.9,2 12,2C13.09,2 14,2.66 14,3.5V3.5C14,2.67 14.9,2 16,2C17.1,2 18,2.67 18,3.5C18,2.67 18.9,2 20,2C21.1,2 22,2.67 22,3.5L21.96,3.81L20.19,20.65C20,22 19.25,22 19.25,22H17L16.5,22H13.75L10.25,22H7.5L7,22M17.85,4.93C17.55,4.39 16.84,4 16,4C15.19,4 14.36,4.36 14,4.87L13.78,20H16.66L17.85,4.93M10,4.87C9.64,4.36 8.81,4 8,4C7.16,4 6.45,4.39 6.15,4.93L7.34,20H10.22L10,4.87Z\";\r\nexport var mdiPost = \"M3 3V21H21V3H3M18 18H6V17H18V18M18 16H6V15H18V16M18 12H6V6H18V12Z\";\r\nexport var mdiPostOutline = \"M19 5V19H5V5H19M21 3H3V21H21V3M17 17H7V16H17V17M17 15H7V14H17V15M17 12H7V7H17V12Z\";\r\nexport var mdiPostageStamp = \"M2,2V5.5C3.1,5.5 4,6.62 4,8C4,9.38 3.1,10.5 2,10.5V13.5C3.1,13.5 4,14.62 4,16C4,17.38 3.1,18.5 2,18.5V22H5.5C5.5,20.9 6.62,20 8,20C9.38,20 10.5,20.9 10.5,22H13.5C13.5,20.9 14.62,20 16,20C17.38,20 18.5,20.9 18.5,22H22V18.5C20.9,18.5 20,17.38 20,16V16C20,14.62 20.9,13.5 22,13.5V10.5C20.9,10.5 20,9.38 20,8V8C20,6.62 20.9,5.5 22,5.5V2H18.5C18.5,3.1 17.38,4 16,4C14.62,4 13.5,3.1 13.5,2H10.5C10.5,3.1 9.38,4 8,4C6.62,4 5.5,3.1 5.5,2H2M6,6H18V18H6V6M9,7A2,2 0 0,0 7,9A2,2 0 0,0 9,11A2,2 0 0,0 11,9A2,2 0 0,0 9,7M17,10L14,13L12,12L7,17H17V10Z\";\r\nexport var mdiPot = \"M19 19C19 20.1 18.1 21 17 21H7C5.9 21 5 20.1 5 19V12H3V10H21V12H19V19Z\";\r\nexport var mdiPotMix = \"M14.6 9L18 3.1L19.7 4.1L16.9 9H14.6M14 10H3V12H5V19C5 20.1 5.9 21 7 21H17C18.1 21 19 20.1 19 19V12H21V10H14Z\";\r\nexport var mdiPotMixOutline = \"M14.6 9L18 3.1L19.7 4.1L16.9 9H14.6M16.3 10H21V12H19V19C19 20.1 18.1 21 17 21H7C5.9 21 5 20.1 5 19V12H3V10H16.3M17 12H7V19H17V12Z\";\r\nexport var mdiPotOutline = \"M3 10V12H5V19C5 20.1 5.9 21 7 21H17C18.1 21 19 20.1 19 19V12H21V10H3M7 12H17V19H7V12Z\";\r\nexport var mdiPotSteam = \"M19 19C19 20.11 18.11 21 17 21H7C5.9 21 5 20.11 5 19V12H3V10H21V12H19M8 1.5C6.15 1.5 4.65 3 4.65 4.85C4.65 6.7 6.15 8.2 8 8.2H9.53C9.92 8.2 10.29 8.3 10.61 8.5H12.63C12.05 7.45 10.86 6.75 9.53 6.75H8C7 6.75 6.15 5.77 6.15 4.75C6.15 3.73 7 3 8 3M12.85 2C12.85 3 12 3.85 11 3.85V5.35C12.92 5.35 14.5 6.7 14.89 8.5H16.42C16.12 6.67 14.96 5.15 13.35 4.38C13.97 3.77 14.35 2.93 14.35 2Z\";\r\nexport var mdiPotSteamOutline = \"M8 1.5C6.15 1.5 4.65 3 4.65 4.85C4.65 6.7 6.15 8.2 8 8.2H9.53C9.92 8.2 10.29 8.3 10.61 8.5H12.63C12.05 7.45 10.86 6.75 9.53 6.75H8C7 6.75 6.15 5.77 6.15 4.75C6.15 3.73 7 3 8 3V1.5M12.85 2C12.85 3 12 3.85 11 3.85V5.35C12.92 5.35 14.5 6.7 14.89 8.5H16.42C16.12 6.67 14.96 5.15 13.35 4.38C13.97 3.77 14.35 2.93 14.35 2H12.85M3 10V12H5V19C5 20.11 5.9 21 7 21H17C18.11 21 19 20.11 19 19V12H21V10H3M7 12H17V19H7V12Z\";\r\nexport var mdiPound = \"M5.41,21L6.12,17H2.12L2.47,15H6.47L7.53,9H3.53L3.88,7H7.88L8.59,3H10.59L9.88,7H15.88L16.59,3H18.59L17.88,7H21.88L21.53,9H17.53L16.47,15H20.47L20.12,17H16.12L15.41,21H13.41L14.12,17H8.12L7.41,21H5.41M9.53,9L8.47,15H14.47L15.53,9H9.53Z\";\r\nexport var mdiPoundBox = \"M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M7,18H9L9.35,16H13.35L13,18H15L15.35,16H17.35L17.71,14H15.71L16.41,10H18.41L18.76,8H16.76L17.12,6H15.12L14.76,8H10.76L11.12,6H9.12L8.76,8H6.76L6.41,10H8.41L7.71,14H5.71L5.35,16H7.35L7,18M10.41,10H14.41L13.71,14H9.71L10.41,10Z\";\r\nexport var mdiPoundBoxOutline = \"M19 19H5V5H19M19 3H5A2 2 0 0 0 3 5V19A2 2 0 0 0 5 21H19A2 2 0 0 0 21 19V5A2 2 0 0 0 19 3M7 9H9.31L9.63 6H11.63L11.31 9H13.31L13.63 6H15.63L15.31 9H17V11H15.1L14.9 13H17V15H14.69L14.37 18H12.37L12.69 15H10.69L10.37 18H8.37L8.69 15H7V13H8.9L9.1 11H7V9M11.1 11L10.9 13H12.9L13.1 11Z\";\r\nexport var mdiPower = \"M16.56,5.44L15.11,6.89C16.84,7.94 18,9.83 18,12A6,6 0 0,1 12,18A6,6 0 0,1 6,12C6,9.83 7.16,7.94 8.88,6.88L7.44,5.44C5.36,6.88 4,9.28 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12C20,9.28 18.64,6.88 16.56,5.44M13,3H11V13H13\";\r\nexport var mdiPowerCycle = \"M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12A9,9 0 0,0 12,3M12,19A7,7 0 0,1 5,12A7,7 0 0,1 12,5A7,7 0 0,1 19,12A7,7 0 0,1 12,19M13,17H11V7H13V17Z\";\r\nexport var mdiPowerOff = \"M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12A9,9 0 0,0 12,3M12,19A7,7 0 0,1 5,12A7,7 0 0,1 12,5A7,7 0 0,1 19,12A7,7 0 0,1 12,19Z\";\r\nexport var mdiPowerOn = \"M11,3H13V21H11V3Z\";\r\nexport var mdiPowerPlug = \"M16,7V3H14V7H10V3H8V7H8C7,7 6,8 6,9V14.5L9.5,18V21H14.5V18L18,14.5V9C18,8 17,7 16,7Z\";\r\nexport var mdiPowerPlugOff = \"M20.84 22.73L15.31 17.2L14.5 18V21H9.5V18L6 14.5V9C6 8.7 6.1 8.41 6.25 8.14L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M18 14.5V9C18 8 17 7 16 7V3H14V7H10.2L17.85 14.65L18 14.5M10 3H8V4.8L10 6.8V3Z\";\r\nexport var mdiPowerPlugOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L6.25 8.14C6.1 8.41 6 8.7 6 9V14.5L9.5 18V21H14.5V18L15.31 17.2L20.84 22.73L22.11 21.46M13.09 16.59L12.67 17H11.33L10.92 16.59L8 13.67V9.89L13.89 15.78L13.09 16.59M12.2 9L10.2 7H14V3H16V7C17 7 18 8 18 9V14.5L17.85 14.65L16 12.8V9.09C16 9.06 15.95 9 15.92 9H12.2M10 6.8L8 4.8V3H10V6.8Z\";\r\nexport var mdiPowerPlugOutline = \"M16 7V3H14V7H10V3H8V7C7 7 6 8 6 9V14.5L9.5 18V21H14.5V18L18 14.5V9C18 8 17 7 16 7M16 13.67L13.09 16.59L12.67 17H11.33L10.92 16.59L8 13.67V9.09C8 9.06 8.06 9 8.09 9H15.92C15.95 9 16 9.06 16 9.09V13.67Z\";\r\nexport var mdiPowerSettings = \"M15,24H17V22H15M16.56,4.44L15.11,5.89C16.84,6.94 18,8.83 18,11A6,6 0 0,1 12,17A6,6 0 0,1 6,11C6,8.83 7.16,6.94 8.88,5.88L7.44,4.44C5.36,5.88 4,8.28 4,11A8,8 0 0,0 12,19A8,8 0 0,0 20,11C20,8.28 18.64,5.88 16.56,4.44M13,2H11V12H13M11,24H13V22H11M7,24H9V22H7V24Z\";\r\nexport var mdiPowerSleep = \"M18.73,18C15.4,21.69 9.71,22 6,18.64C2.33,15.31 2.04,9.62 5.37,5.93C6.9,4.25 9,3.2 11.27,3C7.96,6.7 8.27,12.39 12,15.71C13.63,17.19 15.78,18 18,18C18.25,18 18.5,18 18.73,18Z\";\r\nexport var mdiPowerSocket = \"M15,15H17V11H15M7,15H9V11H7M11,13H13V9H11M8.83,7H15.2L19,10.8V17H5V10.8M8,5L3,10V19H21V10L16,5H8Z\";\r\nexport var mdiPowerSocketAu = \"M4.22,2A2.22,2.22 0 0,0 2,4.22V19.78C2,21 3,22 4.22,22H19.78A2.22,2.22 0 0,0 22,19.78V4.22C22,3 21,2 19.78,2H4.22M12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4M8.27,7.54L6.27,11L8,12L10,8.54L8.27,7.54M15.73,7.54L14,8.54L16,12L17.73,11L15.73,7.54M11,14V18H13V14H11Z\";\r\nexport var mdiPowerSocketCh = \"M19.78 2H4.22C3 2 2 3 2 4.22V19.78C2 21 3 22 4.22 22H19.78C21 22 22 21 22 19.78V4.22C22 3 21 2 19.78 2M20 13L16.55 16.45C16.19 16.81 15.75 17 15.3 17H8.7C8.25 17 7.81 16.81 7.45 16.45L4 13C3.5 12.5 3.5 11.5 4 11L7.45 7.55C7.81 7.19 8.25 7 8.7 7H15.3C15.75 7 16.19 7.19 16.55 7.55L20 11C20.5 11.5 20.5 12.5 20 13M10.5 14C10.5 13.17 11.17 12.5 12 12.5S13.5 13.17 13.5 14 12.83 15.5 12 15.5 10.5 14.83 10.5 14M15.5 12C15.5 11.17 16.17 10.5 17 10.5S18.5 11.17 18.5 12 17.83 13.5 17 13.5 15.5 12.83 15.5 12M5.5 12C5.5 11.17 6.17 10.5 7 10.5S8.5 11.17 8.5 12 7.83 13.5 7 13.5 5.5 12.83 5.5 12Z\";\r\nexport var mdiPowerSocketDe = \"M4.22 2A2.22 2.22 0 0 0 2 4.22V19.78C2 21 3 22 4.22 22H19.78A2.22 2.22 0 0 0 22 19.78V4.22C22 3 21 2 19.78 2H4.22M11 4.07V6H13V4.07A8 8 0 0 1 20 12A8 8 0 0 1 13 19.93V18H11V19.93A8 8 0 0 1 4 12A8 8 0 0 1 11 4.07M7.5 10.5A1.5 1.5 0 0 0 6 12C6 12.83 6.66 13.5 7.5 13.5A1.5 1.5 0 0 0 9 12A1.5 1.5 0 0 0 7.5 10.5M16.5 10.5A1.5 1.5 0 0 0 15 12A1.5 1.5 0 0 0 16.5 13.5A1.5 1.5 0 0 0 18 12A1.5 1.5 0 0 0 16.5 10.5Z\";\r\nexport var mdiPowerSocketEu = \"M7.5,10.5A1.5,1.5 0 0,1 9,12A1.5,1.5 0 0,1 7.5,13.5C6.66,13.5 6,12.83 6,12A1.5,1.5 0 0,1 7.5,10.5M16.5,10.5A1.5,1.5 0 0,1 18,12A1.5,1.5 0 0,1 16.5,13.5A1.5,1.5 0 0,1 15,12A1.5,1.5 0 0,1 16.5,10.5M4.22,2H19.78C21,2 22,3 22,4.22V19.78A2.22,2.22 0 0,1 19.78,22H4.22C3,22 2,21 2,19.78V4.22A2.22,2.22 0 0,1 4.22,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiPowerSocketFr = \"M4.22 2A2.22 2.22 0 0 0 2 4.22V19.78C2 21 3 22 4.22 22H19.78A2.22 2.22 0 0 0 22 19.78V4.22C22 3 21 2 19.78 2H4.22M12 4A8 8 0 0 1 20 12A8 8 0 0 1 12 20A8 8 0 0 1 4 12A8 8 0 0 1 12 4M12 6A1.5 1.5 0 0 0 10.5 7.5A1.5 1.5 0 0 0 12 9A1.5 1.5 0 0 0 13.5 7.5A1.5 1.5 0 0 0 12 6M7.5 10.5A1.5 1.5 0 0 0 6 12C6 12.83 6.66 13.5 7.5 13.5A1.5 1.5 0 0 0 9 12A1.5 1.5 0 0 0 7.5 10.5M16.5 10.5A1.5 1.5 0 0 0 15 12A1.5 1.5 0 0 0 16.5 13.5A1.5 1.5 0 0 0 18 12A1.5 1.5 0 0 0 16.5 10.5Z\";\r\nexport var mdiPowerSocketIt = \"M10.5 16.5C10.5 15.68 11.17 15 12 15C12.83 15 13.5 15.68 13.5 16.5C13.5 17.34 12.83 18 12 18C11.17 18 10.5 17.34 10.5 16.5M10.5 7.5C10.5 6.67 11.17 6 12 6C12.83 6 13.5 6.67 13.5 7.5C13.5 8.33 12.83 9 12 9C11.17 9 10.5 8.33 10.5 7.5M4.22 2H19.78C21 2 22 3 22 4.22V19.78C22 21 21 22 19.78 22H4.22C3 22 2 21 2 19.78V4.22C2 3 3 2 4.22 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M10.5 12C10.5 11.17 11.17 10.5 12 10.5C12.83 10.5 13.5 11.17 13.5 12C13.5 12.83 12.83 13.5 12 13.5C11.17 13.5 10.5 12.83 10.5 12Z\";\r\nexport var mdiPowerSocketJp = \"M10 9.5V14.5H8V9.5M19.78 2C21 2 22 3 22 4.22V19.78C22 21 21 22 19.78 22H4.22C3 22 2 21 2 19.78V4.22C2 3 3 2 4.22 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M16 9.5V14.5H14V9.5Z\";\r\nexport var mdiPowerSocketUk = \"M4 2A2 2 0 0 0 2 4V20A2 2 0 0 0 4 22H20A2 2 0 0 0 22 20V4A2 2 0 0 0 20 2H4M4 4H20V20H4V4M11 7V11H13V7H11M6 14.75V17H9.5V14.75H6M14.5 14.75V17H18V14.75H14.5Z\";\r\nexport var mdiPowerSocketUs = \"M8,7H10V12H8V7M4.22,2H19.78C21,2 22,3 22,4.22V19.78A2.22,2.22 0 0,1 19.78,22H4.22C3,22 2,21 2,19.78V4.22A2.22,2.22 0 0,1 4.22,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4M14,7.5H16V11.5H14V7.5M10.5,16.25A1.5,1.5 0 0,1 12,14.75A1.5,1.5 0 0,1 13.5,16.25V17H10.5V16.25Z\";\r\nexport var mdiPowerStandby = \"M13,3H11V13H13V3M17.83,5.17L16.41,6.59C18.05,7.91 19,9.9 19,12A7,7 0 0,1 12,19C8.14,19 5,15.88 5,12C5,9.91 5.95,7.91 7.58,6.58L6.17,5.17C2.38,8.39 1.92,14.07 5.14,17.86C8.36,21.64 14.04,22.1 17.83,18.88C19.85,17.17 21,14.65 21,12C21,9.37 19.84,6.87 17.83,5.17Z\";\r\nexport var mdiPowershell = \"M21.83,4C22.32,4 22.63,4.4 22.5,4.89L19.34,19.11C19.23,19.6 18.75,20 18.26,20H2.17C1.68,20 1.37,19.6 1.5,19.11L4.66,4.89C4.77,4.4 5.25,4 5.74,4H21.83M15.83,16H11.83C11.37,16 11,16.38 11,16.84C11,17.31 11.37,17.69 11.83,17.69H15.83C16.3,17.69 16.68,17.31 16.68,16.84C16.68,16.38 16.3,16 15.83,16M5.78,16.28C5.38,16.56 5.29,17.11 5.57,17.5C5.85,17.92 6.41,18 6.81,17.73C14.16,12.56 14.21,12.5 14.26,12.47C14.44,12.31 14.53,12.09 14.54,11.87C14.55,11.67 14.5,11.5 14.38,11.31L9.46,6.03C9.13,5.67 8.57,5.65 8.21,6C7.85,6.32 7.83,6.88 8.16,7.24L12.31,11.68L5.78,16.28Z\";\r\nexport var mdiPrescription = \"M4,4V10L4,14H6V10H8L13.41,15.41L9.83,19L11.24,20.41L14.83,16.83L18.41,20.41L19.82,19L16.24,15.41L19.82,11.83L18.41,10.41L14.83,14L10.83,10H11A3,3 0 0,0 14,7A3,3 0 0,0 11,4H4M6,6H11A1,1 0 0,1 12,7A1,1 0 0,1 11,8H6V6Z\";\r\nexport var mdiPresentation = \"M2,3H10A2,2 0 0,1 12,1A2,2 0 0,1 14,3H22V5H21V16H15.25L17,22H15L13.25,16H10.75L9,22H7L8.75,16H3V5H2V3M5,5V14H19V5H5Z\";\r\nexport var mdiPresentationPlay = \"M2,3H10A2,2 0 0,1 12,1A2,2 0 0,1 14,3H22V5H21V16H15.25L17,22H15L13.25,16H10.75L9,22H7L8.75,16H3V5H2V3M5,5V14H19V5H5M11.85,11.85C11.76,11.94 11.64,12 11.5,12A0.5,0.5 0 0,1 11,11.5V7.5A0.5,0.5 0 0,1 11.5,7C11.64,7 11.76,7.06 11.85,7.15L13.25,8.54C13.57,8.86 13.89,9.18 13.89,9.5C13.89,9.82 13.57,10.14 13.25,10.46L11.85,11.85Z\";\r\nexport var mdiPretzel = \"M5.15 15.84C3.81 14.27 3 12.23 3 10V9.97C3 7.22 5.25 5 8 5C9.64 5 11.09 5.79 12 7C12.91 5.79 14.37 5 16 5C18.76 5 21 7.24 21 10C21 12.23 20.19 14.27 18.85 15.84L20.21 17.2L18.79 18.61L17.39 17.21C15.89 18.33 14 19 12 19C10 19 8.11 18.33 6.61 17.21L5.21 18.61L3.79 17.2L5.15 15.84M15.96 15.77L12 11.82L8.04 15.77C9.17 16.55 10.53 17 12 17C13.47 17 14.83 16.55 15.96 15.77M11 10C11 8.34 9.65 7 8 7C6.34 7 5 8.34 5 10C5 11.68 5.59 13.21 6.57 14.42L11 10M17.43 14.42C18.41 13.21 19 11.68 19 10V10C19 8.33 17.65 7 16 7C14.35 7 13 8.34 13 10L17.43 14.42Z\";\r\nexport var mdiPrinter = \"M18,3H6V7H18M19,12A1,1 0 0,1 18,11A1,1 0 0,1 19,10A1,1 0 0,1 20,11A1,1 0 0,1 19,12M16,19H8V14H16M19,8H5A3,3 0 0,0 2,11V17H6V21H18V17H22V11A3,3 0 0,0 19,8Z\";\r\nexport var mdiPrinter3d = \"M19,6A1,1 0 0,0 20,5A1,1 0 0,0 19,4A1,1 0 0,0 18,5A1,1 0 0,0 19,6M19,2A3,3 0 0,1 22,5V11H18V7H6V11H2V5A3,3 0 0,1 5,2H19M18,18.25C18,18.63 17.79,18.96 17.47,19.13L12.57,21.82C12.4,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L6.53,19.13C6.21,18.96 6,18.63 6,18.25V13C6,12.62 6.21,12.29 6.53,12.12L11.43,9.68C11.59,9.56 11.79,9.5 12,9.5C12.21,9.5 12.4,9.56 12.57,9.68L17.47,12.12C17.79,12.29 18,12.62 18,13V18.25M12,11.65L9.04,13L12,14.6L14.96,13L12,11.65M8,17.66L11,19.29V16.33L8,14.71V17.66M16,17.66V14.71L13,16.33V19.29L16,17.66Z\";\r\nexport var mdiPrinter3dNozzle = \"M7,2H17V8H19V13H16.5L13,17H11L7.5,13H5V8H7V2M10,22H2V20H10A1,1 0 0,0 11,19V18H13V19A3,3 0 0,1 10,22Z\";\r\nexport var mdiPrinter3dNozzleAlert = \"M7 2H17V8H19V13H16.5L13 17H11L7.5 13H5V8H7V2M10 22H2V20H10C10.6 20 11 19.5 11 19V18H13V19C13 20.7 11.7 22 10 22M21 13V7H23V13H21M21 17V15H23V17H21Z\";\r\nexport var mdiPrinter3dNozzleAlertOutline = \"M7 2H17V7H19V13H16.5L13 17H11L7.5 13H5V7H7V2M10 22H2V20H10C10.6 20 11 19.5 11 19V18H13V19C13 20.7 11.7 22 10 22M7 9V11H8.5L12 15L15.5 11H17V9H15V4H9V9H7M21 13V7H23V13H21M21 17V15H23V17H21Z\";\r\nexport var mdiPrinter3dNozzleOutline = \"M7,2H17V7H19V13H16.5L13,17H11L7.5,13H5V7H7V2M10,22H2V20H10A1,1 0 0,0 11,19V18H13V19A3,3 0 0,1 10,22M7,9V11H8.5L12,15L15.5,11H17V9H15V4H9V9H7Z\";\r\nexport var mdiPrinterAlert = \"M16 3H4V7H16M17 12C16.4 12 16 11.6 16 11S16.4 10 17 10 18 10.4 18 11 17.6 12 17 12M14 19H6V14H14M17 8H3C1.3 8 0 9.3 0 11V17H4V21H16V17H20V11C20 9.3 18.7 8 17 8M24 13H22V7H24V13M24 17H22V15H24V17Z\";\r\nexport var mdiPrinterCheck = \"M18 7H6V3H18V7M6 21V17H2V11C2 9.34 3.34 8 5 8H19C20.66 8 22 9.34 22 11V13.81C21.12 13.3 20.1 13 19 13C17.77 13 16.64 13.37 15.69 14H8V19H13C13 19.7 13.13 20.37 13.35 21H6M18 11C18 11.55 18.45 12 19 12S20 11.55 20 11 19.55 10 19 10 18 10.45 18 11M23.5 17L22 15.5L18.5 19L16.5 17L15 18.5L18.5 22L23.5 17\";\r\nexport var mdiPrinterEye = \"M9.8 21C9.6 20.6 9.3 20.2 9.2 19.7L8.8 19H8V14H13C14.2 13.4 15.6 13 17 13C18.9 13 20.6 13.6 22 14.6V11C22 9.3 20.7 8 19 8H5C3.3 8 2 9.3 2 11V17H6V21H9.8M19 10C19.6 10 20 10.4 20 11S19.6 12 19 12 18 11.6 18 11 18.4 10 19 10M18 7H6V3H18V7M17 18C17.6 18 18 18.4 18 19S17.6 20 17 20 16 19.6 16 19 16.4 18 17 18M17 15C14.3 15 11.9 16.7 11 19C11.9 21.3 14.3 23 17 23S22.1 21.3 23 19C22.1 16.7 19.7 15 17 15M17 21.5C15.6 21.5 14.5 20.4 14.5 19S15.6 16.5 17 16.5 19.5 17.6 19.5 19 18.4 21.5 17 21.5Z\";\r\nexport var mdiPrinterOff = \"M6,3V4.18L8.82,7H18V3H6M2.28,3L1,4.27L4.75,8C3.19,8.15 2,9.44 2,11V17H6V21H17.73L19.73,23L21,21.72L2.28,3M9.82,8L18.82,17H22V11A3,3 0 0,0 19,8H9.82M19,10A1,1 0 0,1 20,11A1,1 0 0,1 19,12A1,1 0 0,1 18,11A1,1 0 0,1 19,10M8,14H10.73L15.73,19H8V14Z\";\r\nexport var mdiPrinterOffOutline = \"M1.41 1.6L22.36 22.55L20.95 23.96L18 21H6V17H2V11C2 9.34 3.34 8 5 8L0 3L1.41 1.6M6 15V13H10L7 10H5C4.45 10 4 10.45 4 11V15H6M8 19H16L12 15H8V19M8 5V5.36L6 3.36V3H18V8H19C20.66 8 22 9.34 22 11V17H19.66L15.66 13H18V15L20 15V11C20 10.45 19.55 10 19 10H12.66L10.66 8H16V5H8M19 11.5C19 12.06 18.55 12.5 18 12.5C17.45 12.5 17 12.06 17 11.5C17 10.96 17.45 10.5 18 10.5C18.55 10.5 19 10.96 19 11.5Z\";\r\nexport var mdiPrinterOutline = \"M19 8C20.66 8 22 9.34 22 11V17H18V21H6V17H2V11C2 9.34 3.34 8 5 8H6V3H18V8H19M8 5V8H16V5H8M16 19V15H8V19H16M18 15H20V11C20 10.45 19.55 10 19 10H5C4.45 10 4 10.45 4 11V15H6V13H18V15M19 11.5C19 12.05 18.55 12.5 18 12.5C17.45 12.5 17 12.05 17 11.5C17 10.95 17.45 10.5 18 10.5C18.55 10.5 19 10.95 19 11.5Z\";\r\nexport var mdiPrinterPos = \"M18 10H6A2 2 0 0 0 4 12V19H20V12A2 2 0 0 0 18 10M18 14H14V12H18M17 9H7V4H17Z\";\r\nexport var mdiPrinterSearch = \"M20.3 18.9C20.7 18.2 21 17.4 21 16.5C21 14 19 12 16.5 12S12 14 12 16.5 14 21 16.5 21C17.4 21 18.2 20.8 18.9 20.3L22 23.4L23.4 22L20.3 18.9M16.5 19C15.1 19 14 17.9 14 16.5S15.1 14 16.5 14 19 15.1 19 16.5 17.9 19 16.5 19M18 7H6V3H18V7M6 21V17H2V11C2 9.3 3.3 8 5 8H19C20.7 8 22 9.3 22 11V13C20.8 11.2 18.8 10 16.5 10C13.8 10 11.5 11.7 10.5 14H8V19H10.5C10.8 19.7 11.3 20.4 11.8 21H6Z\";\r\nexport var mdiPrinterSettings = \"M18,2V6H6V2H18M19,11A1,1 0 0,0 20,10A1,1 0 0,0 19,9A1,1 0 0,0 18,10A1,1 0 0,0 19,11M16,18V13H8V18H16M19,7A3,3 0 0,1 22,10V16H18V20H6V16H2V10A3,3 0 0,1 5,7H19M15,24V22H17V24H15M11,24V22H13V24H11M7,24V22H9V24H7Z\";\r\nexport var mdiPrinterWireless = \"M4.93,3.92L6.34,5.33C9.46,2.2 14.53,2.2 17.66,5.33L19.07,3.92C15.17,0 8.84,0 4.93,3.92M7.76,6.75L9.17,8.16C10.73,6.6 13.26,6.6 14.83,8.16L16.24,6.75C13.9,4.41 10.1,4.41 7.76,6.75M19,14A1,1 0 0,1 18,13A1,1 0 0,1 19,12A1,1 0 0,1 20,13A1,1 0 0,1 19,14M16,20H8V15H16V20M19,10H5A3,3 0 0,0 2,13V18H6V22H18V18H22V13A3,3 0 0,0 19,10Z\";\r\nexport var mdiPriorityHigh = \"M14,19H22V17H14V19M14,13.5H22V11.5H14V13.5M14,8H22V6H14V8M2,12.5C2,8.92 4.92,6 8.5,6H9V4L12,7L9,10V8H8.5C6,8 4,10 4,12.5C4,15 6,17 8.5,17H12V19H8.5C4.92,19 2,16.08 2,12.5Z\";\r\nexport var mdiPriorityLow = \"M14,5H22V7H14V5M14,10.5H22V12.5H14V10.5M14,16H22V18H14V16M2,11.5C2,15.08 4.92,18 8.5,18H9V20L12,17L9,14V16H8.5C6,16 4,14 4,11.5C4,9 6,7 8.5,7H12V5H8.5C4.92,5 2,7.92 2,11.5Z\";\r\nexport var mdiProfessionalHexagon = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M5,9V15H6.25V13H7A2,2 0 0,0 9,11A2,2 0 0,0 7,9H5M6.25,12V10H6.75A1,1 0 0,1 7.75,11A1,1 0 0,1 6.75,12H6.25M9.75,9V15H11V13H11.75L12.41,15H13.73L12.94,12.61C13.43,12.25 13.75,11.66 13.75,11A2,2 0 0,0 11.75,9H9.75M11,12V10H11.5A1,1 0 0,1 12.5,11A1,1 0 0,1 11.5,12H11M17,9C15.62,9 14.5,10.34 14.5,12C14.5,13.66 15.62,15 17,15C18.38,15 19.5,13.66 19.5,12C19.5,10.34 18.38,9 17,9M17,10.25C17.76,10.25 18.38,11.03 18.38,12C18.38,12.97 17.76,13.75 17,13.75C16.24,13.75 15.63,12.97 15.63,12C15.63,11.03 16.24,10.25 17,10.25Z\";\r\nexport var mdiProgressAlert = \"M13,2V4C17.39,4.54 20.5,8.53 19.96,12.92C19.5,16.56 16.64,19.43 13,19.88V21.88C18.5,21.28 22.45,16.34 21.85,10.85C21.33,6.19 17.66,2.5 13,2M11,2C9.04,2.18 7.19,2.95 5.67,4.2L7.1,5.74C8.22,4.84 9.57,4.26 11,4.06V2.06M4.26,5.67C3,7.19 2.24,9.04 2.05,11H4.05C4.24,9.58 4.8,8.23 5.69,7.1L4.26,5.67M2.06,13C2.26,14.96 3.03,16.81 4.27,18.33L5.69,16.9C4.81,15.77 4.24,14.42 4.06,13H2.06M7.06,18.37L5.67,19.74C7.18,21 9.04,21.79 11,22V20C9.58,19.82 8.23,19.25 7.1,18.37H7.06M13,13V7H11V13H13M13,17V15H11V17H13Z\";\r\nexport var mdiProgressCheck = \"M13,2.03V2.05L13,4.05C17.39,4.59 20.5,8.58 19.96,12.97C19.5,16.61 16.64,19.5 13,19.93V21.93C18.5,21.38 22.5,16.5 21.95,11C21.5,6.25 17.73,2.5 13,2.03M11,2.06C9.05,2.25 7.19,3 5.67,4.26L7.1,5.74C8.22,4.84 9.57,4.26 11,4.06V2.06M4.26,5.67C3,7.19 2.25,9.04 2.05,11H4.05C4.24,9.58 4.8,8.23 5.69,7.1L4.26,5.67M15.5,8.5L10.62,13.38L8.5,11.26L7.44,12.32L10.62,15.5L16.56,9.56L15.5,8.5M2.06,13C2.26,14.96 3.03,16.81 4.27,18.33L5.69,16.9C4.81,15.77 4.24,14.42 4.06,13H2.06M7.1,18.37L5.67,19.74C7.18,21 9.04,21.79 11,22V20C9.58,19.82 8.23,19.25 7.1,18.37Z\";\r\nexport var mdiProgressClock = \"M13,2.03V2.05L13,4.05C17.39,4.59 20.5,8.58 19.96,12.97C19.5,16.61 16.64,19.5 13,19.93V21.93C18.5,21.38 22.5,16.5 21.95,11C21.5,6.25 17.73,2.5 13,2.03M11,2.06C9.05,2.25 7.19,3 5.67,4.26L7.1,5.74C8.22,4.84 9.57,4.26 11,4.06V2.06M4.26,5.67C3,7.19 2.25,9.04 2.05,11H4.05C4.24,9.58 4.8,8.23 5.69,7.1L4.26,5.67M2.06,13C2.26,14.96 3.03,16.81 4.27,18.33L5.69,16.9C4.81,15.77 4.24,14.42 4.06,13H2.06M7.1,18.37L5.67,19.74C7.18,21 9.04,21.79 11,22V20C9.58,19.82 8.23,19.25 7.1,18.37M12.5,7V12.25L17,14.92L16.25,16.15L11,13V7H12.5Z\";\r\nexport var mdiProgressClose = \"M13 2.03V4.05C17.39 4.59 20.5 8.58 19.96 12.97C19.5 16.61 16.64 19.5 13 19.93V21.93C18.5 21.38 22.5 16.5 21.95 11C21.5 6.25 17.73 2.5 13 2.03M11 2.06C9.05 2.25 7.19 3 5.67 4.26L7.1 5.74C8.22 4.84 9.57 4.26 11 4.06V2.06M4.26 5.67C3 7.19 2.25 9.04 2.05 11H4.05C4.24 9.58 4.8 8.23 5.69 7.1L4.26 5.67M2.06 13C2.26 14.96 3.03 16.81 4.27 18.33L5.69 16.9C4.81 15.77 4.24 14.42 4.06 13H2.06M7.1 18.37L5.67 19.74C7.18 21 9.04 21.79 11 22V20C9.58 19.82 8.23 19.25 7.1 18.37M14.59 8L12 10.59L9.41 8L8 9.41L10.59 12L8 14.59L9.41 16L12 13.41L14.59 16L16 14.59L13.41 12L16 9.41L14.59 8Z\";\r\nexport var mdiProgressDownload = \"M13,2.03C17.73,2.5 21.5,6.25 21.95,11C22.5,16.5 18.5,21.38 13,21.93V19.93C16.64,19.5 19.5,16.61 19.96,12.97C20.5,8.58 17.39,4.59 13,4.05V2.05L13,2.03M11,2.06V4.06C9.57,4.26 8.22,4.84 7.1,5.74L5.67,4.26C7.19,3 9.05,2.25 11,2.06M4.26,5.67L5.69,7.1C4.8,8.23 4.24,9.58 4.05,11H2.05C2.25,9.04 3,7.19 4.26,5.67M2.06,13H4.06C4.24,14.42 4.81,15.77 5.69,16.9L4.27,18.33C3.03,16.81 2.26,14.96 2.06,13M7.1,18.37C8.23,19.25 9.58,19.82 11,20V22C9.04,21.79 7.18,21 5.67,19.74L7.1,18.37M12,16.5L7.5,12H11V8H13V12H16.5L12,16.5Z\";\r\nexport var mdiProgressPencil = \"M15.84 10.2L14.83 11.21L12.76 9.18L13.77 8.16C13.97 7.95 14.31 7.94 14.55 8.16L15.84 9.41C16.05 9.62 16.06 9.96 15.84 10.2M8 13.91L12.17 9.72L14.24 11.8L10.08 16H8V13.91M13 2V4C17.39 4.54 20.5 8.53 19.96 12.92C19.5 16.56 16.64 19.43 13 19.88V21.88C18.5 21.28 22.45 16.34 21.85 10.85C21.33 6.19 17.66 2.5 13 2M11 2C9.04 2.18 7.19 2.95 5.67 4.2L7.1 5.74C8.22 4.84 9.57 4.26 11 4.06V2.06M4.26 5.67C3 7.19 2.24 9.04 2.05 11H4.05C4.24 9.58 4.8 8.23 5.69 7.1L4.26 5.67M2.06 13C2.26 14.96 3.03 16.81 4.27 18.33L5.69 16.9C4.81 15.77 4.24 14.42 4.06 13H2.06M7.06 18.37L5.67 19.74C7.18 21 9.04 21.79 11 22V20C9.58 19.82 8.23 19.25 7.1 18.37H7.06Z\";\r\nexport var mdiProgressQuestion = \"M13 2.03V4.05C17.39 4.59 20.5 8.58 19.96 12.97C19.5 16.61 16.64 19.5 13 19.93V21.93C18.5 21.38 22.5 16.5 21.95 11C21.5 6.25 17.73 2.5 13 2.03M11 2.06C9.05 2.25 7.19 3 5.67 4.26L7.1 5.74C8.22 4.84 9.57 4.26 11 4.06V2.06M4.26 5.67C3 7.19 2.25 9.04 2.05 11H4.05C4.24 9.58 4.8 8.23 5.69 7.1L4.26 5.67M2.06 13C2.26 14.96 3.03 16.81 4.27 18.33L5.69 16.9C4.81 15.77 4.24 14.42 4.06 13H2.06M7.1 18.37L5.67 19.74C7.18 21 9.04 21.79 11 22V20C9.58 19.82 8.23 19.25 7.1 18.37M20 4H44M13 18H11V16H13V18M13 15H11C11 11.75 14 12 14 10C14 8.9 13.1 8 12 8S10 8.9 10 10H8C8 7.79 9.79 6 12 6S16 7.79 16 10C16 12.5 13 12.75 13 15Z\";\r\nexport var mdiProgressStar = \"M13 2V4C17.39 4.54 20.5 8.53 19.96 12.92C19.5 16.56 16.64 19.43 13 19.88V21.88C18.5 21.28 22.45 16.34 21.85 10.85C21.33 6.19 17.66 2.5 13 2M11 2C9.04 2.18 7.19 2.95 5.67 4.2L7.1 5.74C8.22 4.84 9.57 4.26 11 4.06V2.06M4.26 5.67C3 7.19 2.24 9.04 2.05 11H4.05C4.24 9.58 4.8 8.23 5.69 7.1L4.26 5.67M2.06 13C2.26 14.96 3.03 16.81 4.27 18.33L5.69 16.9C4.81 15.77 4.24 14.42 4.06 13H2.06M7.06 18.37L5.67 19.74C7.18 21 9.04 21.79 11 22V20C9.58 19.82 8.23 19.25 7.1 18.37H7.06M8.58 16.8L9.5 12.91L6.5 10.33L10.45 9.96L12 6.35L13.55 10L17.5 10.33L14.5 12.91L15.42 16.8L12 14.74L8.58 16.8\";\r\nexport var mdiProgressUpload = \"M13,2.03C17.73,2.5 21.5,6.25 21.95,11C22.5,16.5 18.5,21.38 13,21.93V19.93C16.64,19.5 19.5,16.61 19.96,12.97C20.5,8.58 17.39,4.59 13,4.05V2.05L13,2.03M11,2.06V4.06C9.57,4.26 8.22,4.84 7.1,5.74L5.67,4.26C7.19,3 9.05,2.25 11,2.06M4.26,5.67L5.69,7.1C4.8,8.23 4.24,9.58 4.05,11H2.05C2.25,9.04 3,7.19 4.26,5.67M2.06,13H4.06C4.24,14.42 4.81,15.77 5.69,16.9L4.27,18.33C3.03,16.81 2.26,14.96 2.06,13M7.1,18.37C8.23,19.25 9.58,19.82 11,20V22C9.04,21.79 7.18,21 5.67,19.74L7.1,18.37M12,7.5L7.5,12H11V16H13V12H16.5L12,7.5Z\";\r\nexport var mdiProgressWrench = \"M13,2.03V2.05L13,4.05C17.39,4.59 20.5,8.58 19.96,12.97C19.5,16.61 16.64,19.5 13,19.93V21.93C18.5,21.38 22.5,16.5 21.95,11C21.5,6.25 17.73,2.5 13,2.03M11,2.06C9.05,2.25 7.19,3 5.67,4.26L7.1,5.74C8.22,4.84 9.57,4.26 11,4.06V2.06M4.26,5.67C3,7.19 2.25,9.04 2.05,11H4.05C4.24,9.58 4.8,8.23 5.69,7.1L4.26,5.67M2.06,13C2.26,14.96 3.03,16.81 4.27,18.33L5.69,16.9C4.81,15.77 4.24,14.42 4.06,13H2.06M7.1,18.37L5.67,19.74C7.18,21 9.04,21.79 11,22V20C9.58,19.82 8.23,19.25 7.1,18.37M16.82,15.19L12.71,11.08C13.12,10.04 12.89,8.82 12.03,7.97C11.13,7.06 9.78,6.88 8.69,7.38L10.63,9.32L9.28,10.68L7.29,8.73C6.75,9.82 7,11.17 7.88,12.08C8.74,12.94 9.96,13.16 11,12.76L15.11,16.86C15.29,17.05 15.56,17.05 15.74,16.86L16.78,15.83C17,15.65 17,15.33 16.82,15.19Z\";\r\nexport var mdiProjector = \"M16,6C14.87,6 13.77,6.35 12.84,7H4C2.89,7 2,7.89 2,9V15C2,16.11 2.89,17 4,17H5V18A1,1 0 0,0 6,19H8A1,1 0 0,0 9,18V17H15V18A1,1 0 0,0 16,19H18A1,1 0 0,0 19,18V17H20C21.11,17 22,16.11 22,15V9C22,7.89 21.11,7 20,7H19.15C18.23,6.35 17.13,6 16,6M16,7.5A3.5,3.5 0 0,1 19.5,11A3.5,3.5 0 0,1 16,14.5A3.5,3.5 0 0,1 12.5,11A3.5,3.5 0 0,1 16,7.5M4,9H8V10H4V9M16,9A2,2 0 0,0 14,11A2,2 0 0,0 16,13A2,2 0 0,0 18,11A2,2 0 0,0 16,9M4,11H8V12H4V11M4,13H8V14H4V13Z\";\r\nexport var mdiProjectorScreen = \"M4,2A1,1 0 0,0 3,3V4A1,1 0 0,0 4,5H5V14H11V16.59L6.79,20.79L8.21,22.21L11,19.41V22H13V19.41L15.79,22.21L17.21,20.79L13,16.59V14H19V5H20A1,1 0 0,0 21,4V3A1,1 0 0,0 20,2H4Z\";\r\nexport var mdiProjectorScreenOff = \"M13 14.89V16.59L17.21 20.79L15.79 22.21L13 19.41V22H11V19.41L8.21 22.21L6.79 20.79L11 16.59V14H5V6.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73L13 14.89M19 14V5H20C20.55 5 21 4.55 21 4V3C21 2.45 20.55 2 20 2H5.2L17.2 14H19Z\";\r\nexport var mdiProjectorScreenOffOutline = \"M20.84 22.73L22.11 21.46L2.39 1.73L1.11 3L5 6.89V14H11V16.59L6.79 20.79L8.21 22.21L11 19.41V22H13V19.41L15.79 22.21L17.21 20.79L13 16.59V14.89L20.84 22.73M7 12V8.89L10.11 12H7M8.2 5L5.2 2H20C20.55 2 21 2.45 21 3V4C21 4.55 20.55 5 20 5H19V14H17.2L15.2 12H17V5H8.2Z\";\r\nexport var mdiProjectorScreenOutline = \"M20 2H4C3.45 2 3 2.45 3 3V4C3 4.55 3.45 5 4 5H5V14H11V16.59L6.79 20.79L8.21 22.21L11 19.41V22H13V19.41L15.79 22.21L17.21 20.79L13 16.59V14H19V5H20C20.55 5 21 4.55 21 4V3C21 2.45 20.55 2 20 2M17 12H7V5H17V12Z\";\r\nexport var mdiProjectorScreenVariant = \"M19 18V9H20C20.55 9 21 8.55 21 8V7C21 6.45 20.55 6 20 6H4C3.45 6 3 6.45 3 7V8C3 8.55 3.45 9 4 9H5V18H19Z\";\r\nexport var mdiProjectorScreenVariantOff = \"M20.84 22.73L16.11 18H5V9H4C3.45 9 3 8.55 3 8V7C3 6.45 3.45 6 4 6H4.11L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M19 9H20C20.55 9 21 8.55 21 8V7C21 6.45 20.55 6 20 6H9.2L19 15.8V9Z\";\r\nexport var mdiProjectorScreenVariantOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L4.11 6H4C3.45 6 3 6.45 3 7V8C3 8.55 3.45 9 4 9H5V18H16.11L20.84 22.73L22.11 21.46M7 16V9H7.11L14.11 16H7M12.2 9L9.2 6H20C20.55 6 21 6.45 21 7V8C21 8.55 20.55 9 20 9H19V15.8L17 13.8V9H12.2Z\";\r\nexport var mdiProjectorScreenVariantOutline = \"M20 6H4C3.45 6 3 6.45 3 7V8C3 8.55 3.45 9 4 9H5V18H19V9H20C20.55 9 21 8.55 21 8V7C21 6.45 20.55 6 20 6M17 16H7V9H17V16Z\";\r\nexport var mdiPropaneTank = \"M16 6H16V4C16 2.9 15.11 2 14 2H10C8.9 2 8 2.9 8 4V6H8C5.79 6 4 7.79 4 10V17C4 18.86 5.28 20.41 7 20.86V22H17V20.86C18.72 20.42 20 18.86 20 17V10C20 7.79 18.21 6 16 6M10 4H14V6H10V4Z\";\r\nexport var mdiPropaneTankOutline = \"M16 6V4C16 2.9 15.11 2 14 2H10C8.9 2 8 2.9 8 4V6C5.79 6 4 7.79 4 10V17C4 18.86 5.28 20.41 7 20.86V22H17V20.86C18.72 20.42 20 18.86 20 17V10C20 7.79 18.21 6 16 6M10 4H14V6H10V4M18 17C18 18.1 17.1 19 16 19H8C6.9 19 6 18.1 6 17V10C6 8.9 6.9 8 8 8H16C17.1 8 18 8.9 18 10V17Z\";\r\nexport var mdiProtocol = \"M18 20H14L18 4H22M16 4H12L8 20H12M2 16.5A2.5 2.5 0 0 0 4.5 19A2.5 2.5 0 0 0 7 16.5A2.5 2.5 0 0 0 4.5 14A2.5 2.5 0 0 0 2 16.5M2 9.5A2.5 2.5 0 0 0 4.5 12A2.5 2.5 0 0 0 7 9.5A2.5 2.5 0 0 0 4.5 7A2.5 2.5 0 0 0 2 9.5Z\";\r\nexport var mdiPublish = \"M5,4V6H19V4H5M5,14H9V20H15V14H19L12,7L5,14Z\";\r\nexport var mdiPulse = \"M3,13H5.79L10.1,4.79L11.28,13.75L14.5,9.66L17.83,13H21V15H17L14.67,12.67L9.92,18.73L8.94,11.31L7,15H3V13Z\";\r\nexport var mdiPump = \"M2 21V15H3.5C3.18 14.06 3 13.05 3 12C3 7.03 7.03 3 12 3H22V9H20.5C20.82 9.94 21 10.95 21 12C21 16.97 16.97 21 12 21H2M5 12C5 13.28 5.34 14.47 5.94 15.5L9.4 13.5C9.15 13.06 9 12.55 9 12C9 11.35 9.21 10.75 9.56 10.26L6.3 7.93C5.5 9.08 5 10.5 5 12M12 19C14.59 19 16.85 17.59 18.06 15.5L14.6 13.5C14.08 14.4 13.11 15 12 15L11.71 15L11.33 18.97L12 19M12 9C13.21 9 14.26 9.72 14.73 10.76L18.37 9.1C17.27 6.68 14.83 5 12 5V9M12 11C11.45 11 11 11.45 11 12C11 12.55 11.45 13 12 13C12.55 13 13 12.55 13 12C13 11.45 12.55 11 12 11Z\";\r\nexport var mdiPumpkin = \"M6.5,6C7.47,6 8.37,6.5 9.11,7.38C9.66,6.79 10.31,6.36 11,6.15V4A2,2 0 0,1 13,2H15V4H13V6.15C13.69,6.36 14.34,6.79 14.89,7.38C15.63,6.5 16.53,6 17.5,6C20,6 22,9.36 22,13.5C22,17.64 20,21 17.5,21C16.53,21 15.63,20.5 14.89,19.62C14.08,20.5 13.08,21 12,21C10.92,21 9.92,20.5 9.11,19.62C8.37,20.5 7.47,21 6.5,21C4,21 2,17.64 2,13.5C2,9.36 4,6 6.5,6Z\";\r\nexport var mdiPurse = \"M22,19.1L21,10.5A1.65,1.65 0 0,0 19.3,9H16V5L14,3H10L8,5V9H4.7A1.65,1.65 0 0,0 3,10.5L2,19.1A1.74,1.74 0 0,0 3.7,21H20.3A1.74,1.74 0 0,0 22,19.1M10,5H14V9H10\";\r\nexport var mdiPurseOutline = \"M19,11L20,19H4L5,11H19M14,3H10L8,5V9H4.7A1.65,1.65 0 0,0 3,10.5L2,19.1A1.74,1.74 0 0,0 3.7,21H20.3A1.74,1.74 0 0,0 22,19.1L21,10.5A1.65,1.65 0 0,0 19.3,9H16V5L14,3M10,9V5H14V9\";\r\nexport var mdiPuzzle = \"M20.5,11H19V7C19,5.89 18.1,5 17,5H13V3.5A2.5,2.5 0 0,0 10.5,1A2.5,2.5 0 0,0 8,3.5V5H4A2,2 0 0,0 2,7V10.8H3.5C5,10.8 6.2,12 6.2,13.5C6.2,15 5,16.2 3.5,16.2H2V20A2,2 0 0,0 4,22H7.8V20.5C7.8,19 9,17.8 10.5,17.8C12,17.8 13.2,19 13.2,20.5V22H17A2,2 0 0,0 19,20V16H20.5A2.5,2.5 0 0,0 23,13.5A2.5,2.5 0 0,0 20.5,11Z\";\r\nexport var mdiPuzzleCheck = \"M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M20.5 11C21.88 11 23 12.12 23 13.5C23 13.81 22.94 14.11 22.84 14.39C21.8 13.5 20.46 13 19 13C15.69 13 13 15.69 13 19V19.54C12.64 18.5 11.65 17.8 10.5 17.8C9 17.8 7.8 19 7.8 20.5V22H4C2.9 22 2 21.1 2 20V16.2H3.5C5 16.2 6.2 15 6.2 13.5S5 10.8 3.5 10.8H2V7C2 5.89 2.9 5 4 5H8V3.5C8 2.12 9.12 .998 10.5 .998S13 2.12 13 3.5V5H17C18.1 5 19 5.89 19 7V11H20.5\";\r\nexport var mdiPuzzleCheckOutline = \"M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M22 13.5L22 13.8C21.37 13.44 20.67 13.19 19.94 13.07C19.75 12.45 19.18 12 18.5 12H17V7H12V5.5C12 4.67 11.33 4 10.5 4C9.67 4 9 4.67 9 5.5V7H4L4 9.12C5.76 9.8 7 11.5 7 13.5C7 15.5 5.75 17.2 4 17.88V20H6.12C6.8 18.25 8.5 17 10.5 17C11.47 17 12.37 17.3 13.12 17.8L13 19C13 20.09 13.29 21.12 13.8 22H13.2V21.7C13.2 20.21 12 19 10.5 19C9 19 7.8 20.21 7.8 21.7V22H4C2.9 22 2 21.1 2 20V16.2H2.3C3.79 16.2 5 15 5 13.5C5 12 3.79 10.8 2.3 10.8H2V7C2 5.9 2.9 5 4 5H7.04C7.28 3.3 8.74 2 10.5 2C12.26 2 13.72 3.3 13.96 5H17C18.1 5 19 5.9 19 7V10.04C20.7 10.28 22 11.74 22 13.5Z\";\r\nexport var mdiPuzzleEdit = \"M21.04 12.13C20.9 12.13 20.76 12.19 20.65 12.3L19.65 13.3L21.7 15.35L22.7 14.35C22.92 14.14 22.92 13.79 22.7 13.58L21.42 12.3C21.31 12.19 21.18 12.13 21.04 12.13M19.07 13.88L13 19.94V22H15.06L21.12 15.93L19.07 13.88M19 11.12L11.91 18.2C11.5 17.95 11 17.8 10.5 17.8C9 17.8 7.8 19 7.8 20.5V22H4C2.9 22 2 21.11 2 20V16.2H3.5C5 16.2 6.2 15 6.2 13.5S5 10.8 3.5 10.8H2V7C2 5.9 2.9 5 4 5H8V3.5C8 2.12 9.12 1 10.5 1S13 2.12 13 3.5V5H17C18.1 5 19 5.89 19 7V11.12Z\";\r\nexport var mdiPuzzleEditOutline = \"M21.04 12.13C20.9 12.13 20.76 12.19 20.65 12.3L19.65 13.3L21.7 15.35L22.7 14.35C22.92 14.14 22.92 13.79 22.7 13.58L21.42 12.3C21.31 12.19 21.18 12.13 21.04 12.13M19.07 13.88L13 19.94V22H15.06L21.12 15.93L19.07 13.88M11.05 19.06C10.87 19 10.69 19 10.5 19C9 19 7.8 20.21 7.8 21.7V22H4C2.9 22 2 21.11 2 20V16.2H2.3C3.79 16.2 5 15 5 13.5S3.79 10.8 2.3 10.8H2V7C2 5.9 2.9 5 4 5H7.04C7.28 3.3 8.74 2 10.5 2S13.72 3.3 13.96 5H17C18.11 5 19 5.9 19 7V10.04C19.36 10.09 19.69 10.21 20 10.36C19.73 10.5 19.46 10.66 19.24 10.89L18.12 12H17V7H12V5.5C12 4.67 11.33 4 10.5 4S9 4.67 9 5.5V7H4V9.12C5.76 9.8 7 11.5 7 13.5S5.75 17.2 4 17.88V20H6.12C6.8 18.25 8.5 17 10.5 17C11.26 17 12 17.18 12.61 17.5L11.05 19.06Z\";\r\nexport var mdiPuzzleHeart = \"M19 22.3L18.4 21.8C16.4 19.9 15 18.7 15 17.2C15 16 16 15 17.2 15C17.9 15 18.6 15.3 19 15.8C19.4 15.3 20.1 15 20.8 15C22 15 23 15.9 23 17.2C23 18.7 21.6 19.9 19.6 21.8L19 22.3M20.5 11H19V7C19 5.89 18.1 5 17 5H13V3.5C13 2.12 11.88 1 10.5 1S8 2.12 8 3.5V5H4C2.9 5 2 5.9 2 7V10.8H3.5C5 10.8 6.2 12 6.2 13.5S5 16.2 3.5 16.2H2V20C2 21.11 2.9 22 4 22H7.8V20.5C7.8 19 9 17.8 10.5 17.8C11.44 17.8 12.27 18.27 12.75 19H13.09C13.04 18.67 13 18.34 13 18C13 14.69 15.69 12 19 12C20.54 12 21.94 12.58 23 13.53C23 13.5 23 13.5 23 13.5C23 12.12 21.88 11 20.5 11Z\";\r\nexport var mdiPuzzleHeartOutline = \"M13.2 22V21.7C13.2 20.21 12 19 10.5 19C9 19 7.8 20.21 7.8 21.7V22H4C2.9 22 2 21.11 2 20V16.2H2.3C3.79 16.2 5 15 5 13.5S3.79 10.8 2.3 10.8H2V7C2 5.9 2.9 5 4 5H7.04C7.28 3.3 8.74 2 10.5 2S13.72 3.3 13.96 5H17C18.11 5 19 5.9 19 7V10.04C20.45 10.25 21.61 11.34 21.91 12.76C21.05 12.28 20.06 12 19 12C18.89 12 18.78 12 18.67 12C18.61 12 18.56 12 18.5 12H17V7H12V5.5C12 4.67 11.33 4 10.5 4S9 4.67 9 5.5V7H4V9.12C5.76 9.8 7 11.5 7 13.5S5.75 17.2 4 17.88V20H6.12C6.8 18.25 8.5 17 10.5 17C11.43 17 12.29 17.28 13 17.74C13 17.83 13 17.91 13 18C13 19.54 13.58 20.94 14.54 22H13.2M19 22.3L19.6 21.8C21.6 19.9 23 18.7 23 17.2C23 15.9 22 15 20.8 15C20.1 15 19.4 15.3 19 15.8C18.6 15.3 17.9 15 17.2 15C16 15 15 16 15 17.2C15 18.7 16.4 19.9 18.4 21.8L19 22.3\";\r\nexport var mdiPuzzleMinus = \"M13.04 19.61C12.67 18.55 11.68 17.8 10.5 17.8C9 17.8 7.8 19 7.8 20.5V22H4C2.9 22 2 21.11 2 20V16.2H3.5C5 16.2 6.2 15 6.2 13.5S5 10.8 3.5 10.8H2V7C2 5.9 2.9 5 4 5H8V3.5C8 2.12 9.12 1 10.5 1S13 2.12 13 3.5V5H17C18.1 5 19 5.89 19 7V11H20.5C21.88 11 23 12.12 23 13.5C23 13.82 22.94 14.12 22.83 14.39C21.79 13.53 20.46 13 19 13C15.69 13 13 15.69 13 19C13 19.2 13 19.41 13.04 19.61M15 18V20H23V18H15Z\";\r\nexport var mdiPuzzleMinusOutline = \"M13.2 22V21.7C13.2 20.21 12 19 10.5 19C9 19 7.8 20.21 7.8 21.7V22H4C2.9 22 2 21.11 2 20V16.2H2.3C3.79 16.2 5 15 5 13.5S3.79 10.8 2.3 10.8H2V7C2 5.9 2.9 5 4 5H7.04C7.28 3.3 8.74 2 10.5 2S13.72 3.3 13.96 5H17C18.11 5 19 5.9 19 7V10.04C20.7 10.28 22 11.74 22 13.5C22 13.6 22 13.7 21.97 13.79C21.35 13.44 20.67 13.2 19.93 13.08C19.75 12.46 19.18 12 18.5 12H17V7H12V5.5C12 4.67 11.33 4 10.5 4S9 4.67 9 5.5V7H4V9.12C5.76 9.8 7 11.5 7 13.5S5.75 17.2 4 17.88V20H6.12C6.8 18.25 8.5 17 10.5 17C11.47 17 12.37 17.3 13.12 17.81C13.04 18.19 13 18.59 13 19C13 20.1 13.3 21.12 13.81 22H13.2M15 18V20H23V18H15Z\";\r\nexport var mdiPuzzleOutline = \"M22,13.5C22,15.26 20.7,16.72 19,16.96V20A2,2 0 0,1 17,22H13.2V21.7A2.7,2.7 0 0,0 10.5,19C9,19 7.8,20.21 7.8,21.7V22H4A2,2 0 0,1 2,20V16.2H2.3C3.79,16.2 5,15 5,13.5C5,12 3.79,10.8 2.3,10.8H2V7A2,2 0 0,1 4,5H7.04C7.28,3.3 8.74,2 10.5,2C12.26,2 13.72,3.3 13.96,5H17A2,2 0 0,1 19,7V10.04C20.7,10.28 22,11.74 22,13.5M17,15H18.5A1.5,1.5 0 0,0 20,13.5A1.5,1.5 0 0,0 18.5,12H17V7H12V5.5A1.5,1.5 0 0,0 10.5,4A1.5,1.5 0 0,0 9,5.5V7H4V9.12C5.76,9.8 7,11.5 7,13.5C7,15.5 5.75,17.2 4,17.88V20H6.12C6.8,18.25 8.5,17 10.5,17C12.5,17 14.2,18.25 14.88,20H17V15Z\";\r\nexport var mdiPuzzlePlus = \"M13.04 19.61C12.67 18.55 11.68 17.8 10.5 17.8C9 17.8 7.8 19 7.8 20.5V22H4C2.9 22 2 21.11 2 20V16.2H3.5C5 16.2 6.2 15 6.2 13.5S5 10.8 3.5 10.8H2V7C2 5.9 2.9 5 4 5H8V3.5C8 2.12 9.12 1 10.5 1S13 2.12 13 3.5V5H17C18.1 5 19 5.89 19 7V11H20.5C21.88 11 23 12.12 23 13.5C23 13.82 22.94 14.12 22.83 14.39C21.79 13.53 20.46 13 19 13C15.69 13 13 15.69 13 19C13 19.2 13 19.41 13.04 19.61M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiPuzzlePlusOutline = \"M13.2 22V21.7C13.2 20.21 12 19 10.5 19C9 19 7.8 20.21 7.8 21.7V22H4C2.9 22 2 21.11 2 20V16.2H2.3C3.79 16.2 5 15 5 13.5S3.79 10.8 2.3 10.8H2V7C2 5.9 2.9 5 4 5H7.04C7.28 3.3 8.74 2 10.5 2S13.72 3.3 13.96 5H17C18.11 5 19 5.9 19 7V10.04C20.7 10.28 22 11.74 22 13.5C22 13.6 22 13.7 21.97 13.79C21.35 13.44 20.67 13.2 19.93 13.08C19.75 12.46 19.18 12 18.5 12H17V7H12V5.5C12 4.67 11.33 4 10.5 4S9 4.67 9 5.5V7H4V9.12C5.76 9.8 7 11.5 7 13.5S5.75 17.2 4 17.88V20H6.12C6.8 18.25 8.5 17 10.5 17C11.47 17 12.37 17.3 13.12 17.81C13.04 18.19 13 18.59 13 19C13 20.1 13.3 21.12 13.81 22H13.2M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiPuzzleRemove = \"M13.04 19.61C12.67 18.55 11.68 17.8 10.5 17.8C9 17.8 7.8 19 7.8 20.5V22H4C2.9 22 2 21.11 2 20V16.2H3.5C5 16.2 6.2 15 6.2 13.5S5 10.8 3.5 10.8H2V7C2 5.9 2.9 5 4 5H8V3.5C8 2.12 9.12 1 10.5 1S13 2.12 13 3.5V5H17C18.1 5 19 5.89 19 7V11H20.5C21.88 11 23 12.12 23 13.5C23 13.82 22.94 14.12 22.83 14.39C21.79 13.53 20.46 13 19 13C15.69 13 13 15.69 13 19C13 19.2 13 19.41 13.04 19.61M21.12 15.46L19 17.59L16.88 15.46L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\r\nexport var mdiPuzzleRemoveOutline = \"M13.2 22V21.7C13.2 20.21 12 19 10.5 19C9 19 7.8 20.21 7.8 21.7V22H4C2.9 22 2 21.11 2 20V16.2H2.3C3.79 16.2 5 15 5 13.5S3.79 10.8 2.3 10.8H2V7C2 5.9 2.9 5 4 5H7.04C7.28 3.3 8.74 2 10.5 2S13.72 3.3 13.96 5H17C18.11 5 19 5.9 19 7V10.04C20.7 10.28 22 11.74 22 13.5C22 13.6 22 13.7 21.97 13.79C21.35 13.44 20.67 13.2 19.93 13.08C19.75 12.46 19.18 12 18.5 12H17V7H12V5.5C12 4.67 11.33 4 10.5 4S9 4.67 9 5.5V7H4V9.12C5.76 9.8 7 11.5 7 13.5S5.75 17.2 4 17.88V20H6.12C6.8 18.25 8.5 17 10.5 17C11.47 17 12.37 17.3 13.12 17.81C13.04 18.19 13 18.59 13 19C13 20.1 13.3 21.12 13.81 22H13.2M21.12 15.46L19 17.59L16.88 15.46L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\r\nexport var mdiPuzzleStar = \"M19 20.09L21.45 21.58L20.8 18.77L23 16.89L20.11 16.64L19 14L17.87 16.64L15 16.89L17.18 18.77L16.5 21.58L19 20.09M23 13.5C23 13.5 23 13.5 23 13.53C21.94 12.58 20.54 12 19 12C15.69 12 13 14.69 13 18C13 18.34 13.04 18.67 13.09 19H12.75C12.27 18.27 11.44 17.8 10.5 17.8C9 17.8 7.8 19 7.8 20.5V22H4C2.9 22 2 21.11 2 20V16.2H3.5C5 16.2 6.2 15 6.2 13.5S5 10.8 3.5 10.8H2V7C2 5.9 2.9 5 4 5H8V3.5C8 2.12 9.12 1 10.5 1S13 2.12 13 3.5V5H17C18.1 5 19 5.89 19 7V11H20.5C21.88 11 23 12.12 23 13.5Z\";\r\nexport var mdiPuzzleStarOutline = \"M13.2 22V21.7C13.2 20.21 12 19 10.5 19C9 19 7.8 20.21 7.8 21.7V22H4C2.9 22 2 21.11 2 20V16.2H2.3C3.79 16.2 5 15 5 13.5S3.79 10.8 2.3 10.8H2V7C2 5.9 2.9 5 4 5H7.04C7.28 3.3 8.74 2 10.5 2S13.72 3.3 13.96 5H17C18.11 5 19 5.9 19 7V10.04C20.45 10.25 21.61 11.34 21.91 12.76C21.05 12.28 20.06 12 19 12C18.89 12 18.78 12 18.67 12C18.61 12 18.56 12 18.5 12H17V7H12V5.5C12 4.67 11.33 4 10.5 4S9 4.67 9 5.5V7H4V9.12C5.76 9.8 7 11.5 7 13.5S5.75 17.2 4 17.88V20H6.12C6.8 18.25 8.5 17 10.5 17C11.43 17 12.29 17.28 13 17.74C13 17.83 13 17.91 13 18C13 19.54 13.58 20.94 14.54 22H13.2M19 20.09L16.5 21.58L17.18 18.77L15 16.89L17.87 16.64L19 14L20.11 16.64L23 16.89L20.8 18.77L21.45 21.58L19 20.09\";\r\nexport var mdiQi = \"M12.09,6.56V14.64C12.09,14.72 12,14.79 11.94,14.79C9.62,14.79 7.75,12.91 7.75,10.6C7.75,8.28 9.62,6.4 11.94,6.4C12,6.4 12.09,6.47 12.09,6.56M12.09,17.86V20.29C12.06,21.69 13.12,22.87 14.5,23C14.66,23 14.78,22.89 14.79,22.73V4.47C14.78,4.3 14.68,4.15 14.5,4.09C10.92,2.67 6.86,4.44 5.44,8.03C4,11.63 5.79,15.69 9.38,17.11C10.16,17.42 11,17.58 11.81,17.6C11.95,17.59 12.07,17.71 12.08,17.87M16.19,5.5V15.72C16.19,16 16.19,16.2 16.46,16V16C19.42,13.5 19.81,9.09 17.33,6.13C17.07,5.81 16.77,5.5 16.46,5.26C16.19,5.05 16.19,5.26 16.19,5.53M14.79,2.43C14.79,1.66 15.42,1.03 16.19,1.03C16.96,1.03 17.59,1.66 17.59,2.43C17.59,3.2 16.96,3.83 16.19,3.83V3.83C15.42,3.83 14.79,3.2 14.79,2.43\";\r\nexport var mdiQqchat = \"M3.18,13.54C3.76,12.16 4.57,11.14 5.17,10.92C5.16,10.12 5.31,9.62 5.56,9.22C5.56,9.19 5.5,8.86 5.72,8.45C5.87,4.85 8.21,2 12,2C15.79,2 18.13,4.85 18.28,8.45C18.5,8.86 18.44,9.19 18.44,9.22C18.69,9.62 18.84,10.12 18.83,10.92C19.43,11.14 20.24,12.16 20.82,13.55C21.57,15.31 21.69,17 21.09,17.3C20.68,17.5 20.03,17 19.42,16.12C19.18,17.1 18.58,18 17.73,18.71C18.63,19.04 19.21,19.58 19.21,20.19C19.21,21.19 17.63,22 15.69,22C13.93,22 12.5,21.34 12.21,20.5H11.79C11.5,21.34 10.07,22 8.31,22C6.37,22 4.79,21.19 4.79,20.19C4.79,19.58 5.37,19.04 6.27,18.71C5.42,18 4.82,17.1 4.58,16.12C3.97,17 3.32,17.5 2.91,17.3C2.31,17 2.43,15.31 3.18,13.54Z\";\r\nexport var mdiQrcode = \"M3,11H5V13H3V11M11,5H13V9H11V5M9,11H13V15H11V13H9V11M15,11H17V13H19V11H21V13H19V15H21V19H19V21H17V19H13V21H11V17H15V15H17V13H15V11M19,19V15H17V19H19M15,3H21V9H15V3M17,5V7H19V5H17M3,3H9V9H3V3M5,5V7H7V5H5M3,15H9V21H3V15M5,17V19H7V17H5Z\";\r\nexport var mdiQrcodeEdit = \"M5,5H7V7H5V5M1,1H11V11H1V1M3,3V9H9V3H3M5,17H7V19H5V17M1,13H11V23H1V13M3,15V21H9V15H3M13,13H17V15H19V13H23V15H19V17H23V23H19V21H15V23H13V21H15V19H13V13M21,21V19H19V21H21M19,17H17V15H15V19H19V17M22.7,3.35L21.7,4.35L19.65,2.35L20.65,1.35C20.85,1.14 21.19,1.13 21.42,1.35L22.7,2.58C22.91,2.78 22.92,3.12 22.7,3.35M13,8.94L19.07,2.88L21.12,4.93L15.06,11H13V8.94Z\";\r\nexport var mdiQrcodeMinus = \"M5 5H7V7H5V5M1 1H11V11H1V1M3 3V9H9V3H3M5 17H7V19H5V17M1 13H11V23H1V13M3 15V21H9V15H3M13 13H17V15H19V13H23V15H19V17H23V23H19V21H15V23H13V21H15V19H13V13M21 21V19H19V21H21M19 17H17V15H15V19H19V17M14 5V7H22V5Z\";\r\nexport var mdiQrcodePlus = \"M5 5H7V7H5V5M1 1H11V11H1V1M3 3V9H9V3H3M5 17H7V19H5V17M1 13H11V23H1V13M3 15V21H9V15H3M13 13H17V15H19V13H23V15H19V17H23V23H19V21H15V23H13V21H15V19H13V13M21 21V19H19V21H21M19 17H17V15H15V19H19V17M17 2V5H14V7H17V10H19V7H22V5H19V2Z\";\r\nexport var mdiQrcodeRemove = \"M5 5H7V7H5V5M1 1H11V11H1V1M3 3V9H9V3H3M5 17H7V19H5V17M1 13H11V23H1V13M3 15V21H9V15H3M13 13H17V15H19V13H23V15H19V17H23V23H19V21H15V23H13V21H15V19H13V13M21 21V19H19V21H21M19 17H17V15H15V19H19V17M15.17 1.76L13.76 3.17L16.59 6L13.76 8.83L15.17 10.24L18 7.41L20.83 10.24L22.24 8.83L19.41 6L22.24 3.17L20.83 1.76L18 4.59L15.17 1.76Z\";\r\nexport var mdiQrcodeScan = \"M4,4H10V10H4V4M20,4V10H14V4H20M14,15H16V13H14V11H16V13H18V11H20V13H18V15H20V18H18V20H16V18H13V20H11V16H14V15M16,15V18H18V15H16M4,20V14H10V20H4M6,6V8H8V6H6M16,6V8H18V6H16M6,16V18H8V16H6M4,11H6V13H4V11M9,11H13V15H11V13H9V11M11,6H13V10H11V6M2,2V6H0V2A2,2 0 0,1 2,0H6V2H2M22,0A2,2 0 0,1 24,2V6H22V2H18V0H22M2,18V22H6V24H2A2,2 0 0,1 0,22V18H2M22,22V18H24V22A2,2 0 0,1 22,24H18V22H22Z\";\r\nexport var mdiQuadcopter = \"M5.5,1C8,1 10,3 10,5.5C10,6.38 9.75,7.2 9.31,7.9L9.41,8H14.59L14.69,7.9C14.25,7.2 14,6.38 14,5.5C14,3 16,1 18.5,1C21,1 23,3 23,5.5C23,8 21,10 18.5,10C17.62,10 16.8,9.75 16.1,9.31L15,10.41V13.59L16.1,14.69C16.8,14.25 17.62,14 18.5,14C21,14 23,16 23,18.5C23,21 21,23 18.5,23C16,23 14,21 14,18.5C14,17.62 14.25,16.8 14.69,16.1L14.59,16H9.41L9.31,16.1C9.75,16.8 10,17.62 10,18.5C10,21 8,23 5.5,23C3,23 1,21 1,18.5C1,16 3,14 5.5,14C6.38,14 7.2,14.25 7.9,14.69L9,13.59V10.41L7.9,9.31C7.2,9.75 6.38,10 5.5,10C3,10 1,8 1,5.5C1,3 3,1 5.5,1M5.5,3A2.5,2.5 0 0,0 3,5.5A2.5,2.5 0 0,0 5.5,8A2.5,2.5 0 0,0 8,5.5A2.5,2.5 0 0,0 5.5,3M5.5,16A2.5,2.5 0 0,0 3,18.5A2.5,2.5 0 0,0 5.5,21A2.5,2.5 0 0,0 8,18.5A2.5,2.5 0 0,0 5.5,16M18.5,3A2.5,2.5 0 0,0 16,5.5A2.5,2.5 0 0,0 18.5,8A2.5,2.5 0 0,0 21,5.5A2.5,2.5 0 0,0 18.5,3M18.5,16A2.5,2.5 0 0,0 16,18.5A2.5,2.5 0 0,0 18.5,21A2.5,2.5 0 0,0 21,18.5A2.5,2.5 0 0,0 18.5,16M3.91,17.25L5.04,17.91C5.17,17.81 5.33,17.75 5.5,17.75A0.75,0.75 0 0,1 6.25,18.5L6.24,18.6L7.37,19.25L7.09,19.75L5.96,19.09C5.83,19.19 5.67,19.25 5.5,19.25A0.75,0.75 0 0,1 4.75,18.5L4.76,18.4L3.63,17.75L3.91,17.25M3.63,6.25L4.76,5.6L4.75,5.5A0.75,0.75 0 0,1 5.5,4.75C5.67,4.75 5.83,4.81 5.96,4.91L7.09,4.25L7.37,4.75L6.24,5.4L6.25,5.5A0.75,0.75 0 0,1 5.5,6.25C5.33,6.25 5.17,6.19 5.04,6.09L3.91,6.75L3.63,6.25M16.91,4.25L18.04,4.91C18.17,4.81 18.33,4.75 18.5,4.75A0.75,0.75 0 0,1 19.25,5.5L19.24,5.6L20.37,6.25L20.09,6.75L18.96,6.09C18.83,6.19 18.67,6.25 18.5,6.25A0.75,0.75 0 0,1 17.75,5.5L17.76,5.4L16.63,4.75L16.91,4.25M16.63,19.25L17.75,18.5A0.75,0.75 0 0,1 18.5,17.75C18.67,17.75 18.83,17.81 18.96,17.91L20.09,17.25L20.37,17.75L19.25,18.5A0.75,0.75 0 0,1 18.5,19.25C18.33,19.25 18.17,19.19 18.04,19.09L16.91,19.75L16.63,19.25Z\";\r\nexport var mdiQualityHigh = \"M14.5,13.5H16.5V10.5H14.5M18,14A1,1 0 0,1 17,15H16.25V16.5H14.75V15H14A1,1 0 0,1 13,14V10A1,1 0 0,1 14,9H17A1,1 0 0,1 18,10M11,15H9.5V13H7.5V15H6V9H7.5V11.5H9.5V9H11M19,4H5C3.89,4 3,4.89 3,6V18A2,2 0 0,0 5,20H19A2,2 0 0,0 21,18V6C21,4.89 20.1,4 19,4Z\";\r\nexport var mdiQualityLow = \"M14.5,13.5H16.5V10.5H14.5M18,14C18,14.6 17.6,15 17,15H16.25V16.5H14.75V15H14C13.4,15 13,14.6 13,14V10C13,9.4 13.4,9 14,9H17C17.6,9 18,9.4 18,10M19,4H5A2,2 0 0,0 3,6V18A2,2 0 0,0 5,20H19A2,2 0 0,0 21,18V6A2,2 0 0,0 19,4M11,13.5V15H6V9H7.5V13.5H11Z\";\r\nexport var mdiQualityMedium = \"M21,6V18A2,2 0 0,1 19,20H5A2,2 0 0,1 3,18V6A2,2 0 0,1 5,4H19A2,2 0 0,1 21,6M12,10C12,9.5 11.5,9 11,9H6.5C6,9 5.5,9.5 5.5,10V15H7V10.5H8V14H9.5V10.5H10.5V15H12V10M14.5,9A1,1 0 0,0 13.5,10V14A1,1 0 0,0 14.5,15H15.5V16.5H16.75V15H17.5A1,1 0 0,0 18.5,14V10A1,1 0 0,0 17.5,9H14.5M15,10.5H17V13.5H15V10.5Z\";\r\nexport var mdiQuora = \"M19.7,18.8C20.2,18.2 20.1,17.7 20.1,17.7H21.6C21.6,17.7 21.6,18.1 21.5,18.6C21.4,19 21.3,19.3 21.2,19.6C21,20.3 20,21.1 20,21.1C18.9,22 17.7,21.9 17.7,21.9C17.7,21.9 16.3,22.1 15.2,21.4C14.1,20.7 13.2,19.2 13.2,19.2C13.2,19.2 8.8,20.4 5.4,17.5C2,14.6 2.2,11.1 2.2,10.8C2.2,10.1 2.6,2.3 10.8,2C15.6,1.8 18.2,4.8 19.2,7.2C19.9,8.9 19.9,10.2 19.9,10.4C19.9,10.6 19.9,11.5 19.7,12.4C19.6,13.3 19.2,14.3 18.9,14.8C18.6,15.3 18.2,16 17.7,16.5C17.2,17.1 16.6,17.6 16.5,17.7C16.5,17.7 17.5,18.9 18.1,19.1C18.3,19.1 19.2,19.4 19.7,18.8M12.7,17.3C12.8,17.2 12.4,16.7 12.2,16.4C12,16.1 12.3,16.5 11.5,15.4C11.2,14.9 10.8,14.7 10.2,14.6C10,14.6 9.7,14.6 9.5,14.6C9,14.6 8.7,14.7 8.6,14.7C8.6,14.6 8.4,14.4 8.3,14.2C8.2,14 8.2,13.7 8.2,13.7C8.2,13.5 9.7,12.8 11.4,12.8C12.8,12.8 13.8,13.6 14.2,14C14.6,14.3 14.7,14.7 15.1,15C15.1,15 15.2,15 15.2,15.1C15.6,15.4 16.1,12.1 16,9.9C15.9,7.7 15.8,6.6 15,5.5C14.3,4.5 12.8,3.7 11.4,3.7C10.7,3.7 8.4,3.8 7.4,5.5C6.2,7.5 6.4,11.1 6.4,11.1C6.4,11.1 6.1,14.3 7.8,16C9.5,17.7 11.2,17.4 12,17.4L12.7,17.3Z\";\r\nexport var mdiRabbit = \"M18.05,21L15.32,16.26C15.32,14.53 14.25,13.42 12.95,13.42C12.05,13.42 11.27,13.92 10.87,14.66C11.2,14.47 11.59,14.37 12,14.37C13.3,14.37 14.36,15.43 14.36,16.73C14.36,18.04 13.31,19.11 12,19.11H15.3V21H6.79C6.55,21 6.3,20.91 6.12,20.72C5.75,20.35 5.75,19.75 6.12,19.38V19.38L6.62,18.88C6.28,18.73 6,18.5 5.72,18.26C5.5,18.76 5,19.11 4.42,19.11C3.64,19.11 3,18.47 3,17.68C3,16.9 3.64,16.26 4.42,16.26L4.89,16.34V14.37C4.89,11.75 7,9.63 9.63,9.63H9.65C11.77,9.64 13.42,10.47 13.42,9.16C13.42,8.23 13.62,7.86 13.96,7.34C13.23,7 12.4,6.79 11.53,6.79C11,6.79 10.58,6.37 10.58,5.84C10.58,5.41 10.86,5.05 11.25,4.93L10.58,4.89C10.06,4.89 9.63,4.47 9.63,3.95C9.63,3.42 10.06,3 10.58,3H11.53C13.63,3 15.47,4.15 16.46,5.85L16.74,5.84C17.45,5.84 18.11,6.07 18.65,6.45L19.1,6.83C21.27,8.78 21,10.1 21,10.11C21,11.39 19.94,12.44 18.65,12.44L18.16,12.39V12.47C18.16,13.58 17.68,14.57 16.93,15.27L20.24,21H18.05M18.16,7.74C17.63,7.74 17.21,8.16 17.21,8.68C17.21,9.21 17.63,9.63 18.16,9.63C18.68,9.63 19.11,9.21 19.11,8.68C19.11,8.16 18.68,7.74 18.16,7.74Z\";\r\nexport var mdiRacingHelmet = \"M2.2,11.2C2,13.6 2.7,15.6 4.2,17.4C5.7,19.2 7.7,20 10.1,20H20.1C20.6,20 21.1,19.8 21.5,19.4C21.9,19 22.1,18.5 22.1,18V17.2C22.1,16.6 22,15.9 21.9,15H13.7C12.7,15 11.9,14.6 11.2,13.9C10.5,13.2 10.1,12.3 10.1,11.4C10.1,9.8 10.8,8.7 12.3,8.1L17.1,6C15.4,4.8 13.4,4.1 11.1,4C8.9,3.8 6.9,4.5 5.1,5.9C3.3,7.3 2.4,9 2.2,11.2M12.1,11.4C12.1,11.8 12.3,12.2 12.6,12.5C12.9,12.8 13.3,13 13.7,13H21.5C20.9,10.8 20,9 18.7,7.6L13.1,9.9C12.4,10.1 12.1,10.6 12.1,11.4Z\";\r\nexport var mdiRacquetball = \"M18.5,16C19.9,16 21,17.1 21,18.5C21,19.9 19.9,21 18.5,21C17.1,21 16,19.9 16,18.5C16,17.1 17.1,16 18.5,16M10.5,1C3,1 3,3.7 3,9.8C3,13.2 6.4,16.9 9,18.1V23H12V18.1C14.6,16.9 18,13.2 18,9.8C18,3.6 18,1 10.5,1M15.4,4.2C15.7,4.6 15.8,5.2 15.9,6H15V3.8C15.2,3.9 15.3,4.1 15.4,4.2M16,9.8C16,9.9 16,10 16,10H15V7H16C16,7.8 16,8.7 16,9.8M14,14H11V11H14V14M7,14V11H10V14H7M5,9.8C5,8.8 5,7.9 5,7H6V10H5C5,9.9 5,9.8 5,9.8M7,7H10V10H7V7M11,3C12.4,3 13.4,3.2 14,3.3V6H11V3M10,6H7V3.4C7.6,3.2 8.6,3 10,3V6M11,10V7H14V10H11M6,3.8V6H5.1C5.2,5.2 5.3,4.6 5.6,4.2C5.7,4.1 5.8,4 6,3.8M5.2,11H6V12.7C5.7,12.1 5.4,11.6 5.2,11M8,15H10V16.3L9.8,16.2C9.2,16 8.6,15.5 8,15M11.2,16.3H11V15H13C12.4,15.5 11.8,16 11.2,16.3M15,12.7V11H15.8C15.6,11.5 15.3,12.1 15,12.7Z\";\r\nexport var mdiRadar = \"M19.07,4.93L17.66,6.34C19.1,7.79 20,9.79 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12C4,7.92 7.05,4.56 11,4.07V6.09C8.16,6.57 6,9.03 6,12A6,6 0 0,0 12,18A6,6 0 0,0 18,12C18,10.34 17.33,8.84 16.24,7.76L14.83,9.17C15.55,9.9 16,10.9 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12C8,10.14 9.28,8.59 11,8.14V10.28C10.4,10.63 10,11.26 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12C14,11.26 13.6,10.62 13,10.28V2H12A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,9.24 20.88,6.74 19.07,4.93Z\";\r\nexport var mdiRadiator = \"M7.95,3L6.53,5.19L7.95,7.4H7.94L5.95,10.5L4.22,9.6L5.64,7.39L4.22,5.19L6.22,2.09L7.95,3M13.95,2.89L12.53,5.1L13.95,7.3L13.94,7.31L11.95,10.4L10.22,9.5L11.64,7.3L10.22,5.1L12.22,2L13.95,2.89M20,2.89L18.56,5.1L20,7.3V7.31L18,10.4L16.25,9.5L17.67,7.3L16.25,5.1L18.25,2L20,2.89M2,22V14A2,2 0 0,1 4,12H20A2,2 0 0,1 22,14V22H20V20H4V22H2M6,14A1,1 0 0,0 5,15V17A1,1 0 0,0 6,18A1,1 0 0,0 7,17V15A1,1 0 0,0 6,14M10,14A1,1 0 0,0 9,15V17A1,1 0 0,0 10,18A1,1 0 0,0 11,17V15A1,1 0 0,0 10,14M14,14A1,1 0 0,0 13,15V17A1,1 0 0,0 14,18A1,1 0 0,0 15,17V15A1,1 0 0,0 14,14M18,14A1,1 0 0,0 17,15V17A1,1 0 0,0 18,18A1,1 0 0,0 19,17V15A1,1 0 0,0 18,14Z\";\r\nexport var mdiRadiatorDisabled = \"M20,12H4A2,2 0 0,0 2,14V22H4V20H20V22H22V14A2,2 0 0,0 20,12M7,17A1,1 0 0,1 6,18A1,1 0 0,1 5,17V15A1,1 0 0,1 6,14A1,1 0 0,1 7,15V17M11,17A1,1 0 0,1 10,18A1,1 0 0,1 9,17V15A1,1 0 0,1 10,14A1,1 0 0,1 11,15V17M15,17A1,1 0 0,1 14,18A1,1 0 0,1 13,17V15A1,1 0 0,1 14,14A1,1 0 0,1 15,15V17M19,17A1,1 0 0,1 18,18A1,1 0 0,1 17,17V15A1,1 0 0,1 18,14A1,1 0 0,1 19,15V17Z\";\r\nexport var mdiRadiatorOff = \"M3.28,2L2,3.27L4.77,6.04L5.64,7.39L4.22,9.6L5.95,10.5L7.23,8.5L10.73,12H4A2,2 0 0,0 2,14V22H4V20H18.73L20,21.27V22H22V20.73L22,20.72V20.72L3.28,2M7,17A1,1 0 0,1 6,18A1,1 0 0,1 5,17V15A1,1 0 0,1 6,14A1,1 0 0,1 7,15V17M11,17A1,1 0 0,1 10,18A1,1 0 0,1 9,17V15A1,1 0 0,1 10,14A1,1 0 0,1 11,15V17M15,17A1,1 0 0,1 14,18A1,1 0 0,1 13,17V15C13,14.79 13.08,14.61 13.18,14.45L15,16.27V17M16.25,9.5L17.67,7.3L16.25,5.1L18.25,2L20,2.89L18.56,5.1L20,7.3V7.31L18,10.4L16.25,9.5M22,14V18.18L19,15.18V15A1,1 0 0,0 18,14C17.95,14 17.9,14 17.85,14.03L15.82,12H20C21.11,12 22,12.9 22,14M11.64,7.3L10.22,5.1L12.22,2L13.95,2.89L12.53,5.1L13.95,7.3L13.94,7.31L12.84,9L11.44,7.62L11.64,7.3M7.5,3.69L6.1,2.28L6.22,2.09L7.95,3L7.5,3.69Z\";\r\nexport var mdiRadio = \"M20,6A2,2 0 0,1 22,8V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V8C2,7.15 2.53,6.42 3.28,6.13L15.71,1L16.47,2.83L8.83,6H20M20,8H4V12H16V10H18V12H20V8M7,14A3,3 0 0,0 4,17A3,3 0 0,0 7,20A3,3 0 0,0 10,17A3,3 0 0,0 7,14Z\";\r\nexport var mdiRadioAm = \"M5,7A2,2 0 0,0 3,9V17H5V13H7V17H9V9A2,2 0 0,0 7,7H5M5,9H7V11H5V9M13,7A2,2 0 0,0 11,9V17H13V9H15V16H17V9H19V17H21V9A2,2 0 0,0 19,7H13Z\";\r\nexport var mdiRadioFm = \"M3,7V17H5V13H8V11H5V9H9V7H3M13,7A2,2 0 0,0 11,9V17H13V9H15V16H17V9H19V17H21V9A2,2 0 0,0 19,7H13Z\";\r\nexport var mdiRadioHandheld = \"M9,2A1,1 0 0,0 8,3C8,8.67 8,14.33 8,20C8,21.11 8.89,22 10,22H15C16.11,22 17,21.11 17,20V9C17,7.89 16.11,7 15,7H10V3A1,1 0 0,0 9,2M10,9H15V13H10V9Z\";\r\nexport var mdiRadioOff = \"M1 4.27L3 6.27C2.4 6.61 2 7.26 2 8V20C2 21.11 2.9 22 4 22H18.73L20.73 24L22 22.72L2.28 3L1 4.27M20 6H8.83L16.47 2.83L15.71 1L6.59 4.76L9.82 8H20V12H18V10H16V12H13.82L22 20.18V8C22 6.9 21.11 6 20 6M4 8H4.73L8.73 12H4V8M7 14C8.66 14 10 15.34 10 17C10 18.66 8.66 20 7 20C5.34 20 4 18.66 4 17C4 15.34 5.34 14 7 14Z\";\r\nexport var mdiRadioTower = \"M12,10A2,2 0 0,1 14,12C14,12.5 13.82,12.94 13.53,13.29L16.7,22H14.57L12,14.93L9.43,22H7.3L10.47,13.29C10.18,12.94 10,12.5 10,12A2,2 0 0,1 12,10M12,8A4,4 0 0,0 8,12C8,12.5 8.1,13 8.28,13.46L7.4,15.86C6.53,14.81 6,13.47 6,12A6,6 0 0,1 12,6A6,6 0 0,1 18,12C18,13.47 17.47,14.81 16.6,15.86L15.72,13.46C15.9,13 16,12.5 16,12A4,4 0 0,0 12,8M12,4A8,8 0 0,0 4,12C4,14.36 5,16.5 6.64,17.94L5.92,19.94C3.54,18.11 2,15.23 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12C22,15.23 20.46,18.11 18.08,19.94L17.36,17.94C19,16.5 20,14.36 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiRadioactive = \"M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M12,22C10.05,22 8.22,21.44 6.69,20.47L10,15.47C10.6,15.81 11.28,16 12,16C12.72,16 13.4,15.81 14,15.47L17.31,20.47C15.78,21.44 13.95,22 12,22M2,12C2,7.86 4.5,4.3 8.11,2.78L10.34,8.36C8.96,9 8,10.38 8,12H2M16,12C16,10.38 15.04,9 13.66,8.36L15.89,2.78C19.5,4.3 22,7.86 22,12H16Z\";\r\nexport var mdiRadioactiveOff = \"M1,4.27L2.28,3L21,21.72L19.73,23L17.25,20.5C15.72,21.46 13.92,22 12,22C10.05,22 8.22,21.44 6.69,20.47L10,15.47C10.6,15.81 11.28,16 12,16C12.23,16 12.46,16 12.67,15.94L8.06,11.33C8,11.54 8,11.77 8,12H2C2,10.08 2.54,8.28 3.5,6.75L1,4.27M12,10A2,2 0 0,1 14,12V12.17L11.83,10H12M8.11,2.78L10.23,8.41L5.9,4.08C6.57,3.56 7.32,3.12 8.11,2.78M16,12C16,10.38 15.04,9 13.66,8.36L15.89,2.78C19.5,4.3 22,7.86 22,12H16Z\";\r\nexport var mdiRadioboxBlank = \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiRadioboxMarked = \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7Z\";\r\nexport var mdiRadiologyBox = \"M19 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3M17.1 13H13V14H17C17 14 16.94 17 15.5 17C14.15 17 14.5 15.47 13 15V17C13 17.55 12.55 18 12 18S11 17.55 11 17V15C9.5 15.47 9.85 17 8.5 17C7.06 17 7 14 7 14H11V13H6.9C6.85 12.69 6.84 12.35 6.8 12H11V11H6.81C6.83 10.67 6.91 10.33 7 10H11V9H7.34C7.5 8.65 7.65 8.31 7.83 8H11V7C11 6.45 11.45 6 12 6S13 6.45 13 7V8H16.17C16.35 8.31 16.5 8.65 16.66 9H13V10H17C17.1 10.33 17.17 10.67 17.19 11H13V12H17.2C17.16 12.35 17.15 12.69 17.1 13Z\";\r\nexport var mdiRadiologyBoxOutline = \"M19 5V19H5V5H19M19 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3M12 6C12.55 6 13 6.45 13 7V8H16.17C16.35 8.31 16.5 8.65 16.66 9H13V10H17C17.1 10.33 17.17 10.67 17.19 11H13V12H17.2C17.16 12.35 17.15 12.69 17.1 13H13V14H17C17 14 16.94 17 15.5 17C14.15 17 14.5 15.47 13 15V17C13 17.55 12.55 18 12 18S11 17.55 11 17V15C9.5 15.47 9.85 17 8.5 17C7.06 17 7 14 7 14H11V13H6.9C6.85 12.69 6.84 12.35 6.8 12H11V11H6.81C6.83 10.67 6.91 10.33 7 10H11V9H7.34C7.5 8.65 7.65 8.31 7.83 8H11V7C11 6.45 11.45 6 12 6Z\";\r\nexport var mdiRadius = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M17,15V13H13.72C13.36,13.62 12.71,14 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10C12.71,10 13.36,10.38 13.72,11H17V9L20,12L17,15Z\";\r\nexport var mdiRadiusOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M16,15V13H13.72C13.36,13.62 12.71,14 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10C12.71,10 13.36,10.38 13.72,11H16V9L19,12L16,15Z\";\r\nexport var mdiRailroadLight = \"M17.67,10.5C16.4,10.5 15.27,11.3 14.85,12.5H13.17V7.77L16.66,9.86L17.66,8.14L14.11,6L17.68,3.86L16.68,2.14L13.17,4.23V2H11.17V4.23L7.68,2.14L6.68,3.86L10.23,6L6.66,8.14L7.66,9.86L11.17,7.77V12.5H9.5C8.36,9.32 3.66,10.13 3.66,13.5C3.66,16.87 8.36,17.68 9.5,14.5H11.17V20A2,2 0 0,0 9.17,22H15.17A2,2 0 0,0 13.17,20V14.5H14.85C15.66,16.8 18.73,17.22 20.13,15.23C21.53,13.24 20.1,10.5 17.67,10.5M6.67,14.5C5.78,14.5 5.33,13.42 5.96,12.79C6.59,12.16 7.67,12.61 7.67,13.5A1,1 0 0,1 6.67,14.5M17.67,14.5C16.78,14.5 16.33,13.42 16.96,12.79C17.59,12.16 18.67,12.61 18.67,13.5A1,1 0 0,1 17.67,14.5Z\";\r\nexport var mdiRake = \"M10.5 17.05L9.43 16L22.07 3.35L20.66 1.93L8 14.58L6.95 13.5C6.17 12.73 4.9 12.73 4.12 13.5L2 15.64L2.71 16.34L4.83 14.22L5.54 14.93L3.41 17.05L4.12 17.76L6.24 15.64L6.95 16.34L4.83 18.46L5.54 19.17L7.66 17.05L8.36 17.76L6.24 19.88L6.95 20.59L9.07 18.46L9.78 19.17L7.66 21.29L8.36 22L10.5 19.88C11.27 19.1 11.27 17.83 10.5 17.05Z\";\r\nexport var mdiRaspberryPi = \"M20,8H22V10H20V8M4,5H20A2,2 0 0,1 22,7H19V9H5V13H8V16H19V17H22A2,2 0 0,1 20,19H16V20H14V19H11V20H7V19H4A2,2 0 0,1 2,17V7A2,2 0 0,1 4,5M19,15H9V10H19V11H22V13H19V15M13,12V14H15V12H13M5,6V8H6V6H5M7,6V8H8V6H7M9,6V8H10V6H9M11,6V8H12V6H11M13,6V8H14V6H13M15,6V8H16V6H15M20,14H22V16H20V14Z\";\r\nexport var mdiRayEnd = \"M20,9C18.69,9 17.58,9.83 17.17,11H2V13H17.17C17.58,14.17 18.69,15 20,15A3,3 0 0,0 23,12A3,3 0 0,0 20,9Z\";\r\nexport var mdiRayEndArrow = \"M1,12L5,16V13H17.17C17.58,14.17 18.69,15 20,15A3,3 0 0,0 23,12A3,3 0 0,0 20,9C18.69,9 17.58,9.83 17.17,11H5V8L1,12Z\";\r\nexport var mdiRayStart = \"M4,9C5.31,9 6.42,9.83 6.83,11H22V13H6.83C6.42,14.17 5.31,15 4,15A3,3 0 0,1 1,12A3,3 0 0,1 4,9Z\";\r\nexport var mdiRayStartArrow = \"M23,12L19,16V13H6.83C6.42,14.17 5.31,15 4,15A3,3 0 0,1 1,12A3,3 0 0,1 4,9C5.31,9 6.42,9.83 6.83,11H19V8L23,12Z\";\r\nexport var mdiRayStartEnd = \"M4,9C5.31,9 6.42,9.83 6.83,11H17.17C17.58,9.83 18.69,9 20,9A3,3 0 0,1 23,12A3,3 0 0,1 20,15C18.69,15 17.58,14.17 17.17,13H6.83C6.42,14.17 5.31,15 4,15A3,3 0 0,1 1,12A3,3 0 0,1 4,9Z\";\r\nexport var mdiRayStartVertexEnd = \"M20 9C18.69 9 17.58 9.83 17.17 11H14.82C14.4 9.84 13.3 9 12 9S9.6 9.84 9.18 11H6.83C6.42 9.83 5.31 9 4 9C2.34 9 1 10.34 1 12S2.34 15 4 15C5.31 15 6.42 14.17 6.83 13H9.18C9.6 14.16 10.7 15 12 15S14.4 14.16 14.82 13H17.17C17.58 14.17 18.69 15 20 15C21.66 15 23 13.66 23 12S21.66 9 20 9\";\r\nexport var mdiRayVertex = \"M2,11H9.17C9.58,9.83 10.69,9 12,9C13.31,9 14.42,9.83 14.83,11H22V13H14.83C14.42,14.17 13.31,15 12,15C10.69,15 9.58,14.17 9.17,13H2V11Z\";\r\nexport var mdiReact = \"M12,10.11C13.03,10.11 13.87,10.95 13.87,12C13.87,13 13.03,13.85 12,13.85C10.97,13.85 10.13,13 10.13,12C10.13,10.95 10.97,10.11 12,10.11M7.37,20C8,20.38 9.38,19.8 10.97,18.3C10.45,17.71 9.94,17.07 9.46,16.4C8.64,16.32 7.83,16.2 7.06,16.04C6.55,18.18 6.74,19.65 7.37,20M8.08,14.26L7.79,13.75C7.68,14.04 7.57,14.33 7.5,14.61C7.77,14.67 8.07,14.72 8.38,14.77C8.28,14.6 8.18,14.43 8.08,14.26M14.62,13.5L15.43,12L14.62,10.5C14.32,9.97 14,9.5 13.71,9.03C13.17,9 12.6,9 12,9C11.4,9 10.83,9 10.29,9.03C10,9.5 9.68,9.97 9.38,10.5L8.57,12L9.38,13.5C9.68,14.03 10,14.5 10.29,14.97C10.83,15 11.4,15 12,15C12.6,15 13.17,15 13.71,14.97C14,14.5 14.32,14.03 14.62,13.5M12,6.78C11.81,7 11.61,7.23 11.41,7.5C11.61,7.5 11.8,7.5 12,7.5C12.2,7.5 12.39,7.5 12.59,7.5C12.39,7.23 12.19,7 12,6.78M12,17.22C12.19,17 12.39,16.77 12.59,16.5C12.39,16.5 12.2,16.5 12,16.5C11.8,16.5 11.61,16.5 11.41,16.5C11.61,16.77 11.81,17 12,17.22M16.62,4C16,3.62 14.62,4.2 13.03,5.7C13.55,6.29 14.06,6.93 14.54,7.6C15.36,7.68 16.17,7.8 16.94,7.96C17.45,5.82 17.26,4.35 16.62,4M15.92,9.74L16.21,10.25C16.32,9.96 16.43,9.67 16.5,9.39C16.23,9.33 15.93,9.28 15.62,9.23C15.72,9.4 15.82,9.57 15.92,9.74M17.37,2.69C18.84,3.53 19,5.74 18.38,8.32C20.92,9.07 22.75,10.31 22.75,12C22.75,13.69 20.92,14.93 18.38,15.68C19,18.26 18.84,20.47 17.37,21.31C15.91,22.15 13.92,21.19 12,19.36C10.08,21.19 8.09,22.15 6.62,21.31C5.16,20.47 5,18.26 5.62,15.68C3.08,14.93 1.25,13.69 1.25,12C1.25,10.31 3.08,9.07 5.62,8.32C5,5.74 5.16,3.53 6.62,2.69C8.09,1.85 10.08,2.81 12,4.64C13.92,2.81 15.91,1.85 17.37,2.69M17.08,12C17.42,12.75 17.72,13.5 17.97,14.26C20.07,13.63 21.25,12.73 21.25,12C21.25,11.27 20.07,10.37 17.97,9.74C17.72,10.5 17.42,11.25 17.08,12M6.92,12C6.58,11.25 6.28,10.5 6.03,9.74C3.93,10.37 2.75,11.27 2.75,12C2.75,12.73 3.93,13.63 6.03,14.26C6.28,13.5 6.58,12.75 6.92,12M15.92,14.26C15.82,14.43 15.72,14.6 15.62,14.77C15.93,14.72 16.23,14.67 16.5,14.61C16.43,14.33 16.32,14.04 16.21,13.75L15.92,14.26M13.03,18.3C14.62,19.8 16,20.38 16.62,20C17.26,19.65 17.45,18.18 16.94,16.04C16.17,16.2 15.36,16.32 14.54,16.4C14.06,17.07 13.55,17.71 13.03,18.3M8.08,9.74C8.18,9.57 8.28,9.4 8.38,9.23C8.07,9.28 7.77,9.33 7.5,9.39C7.57,9.67 7.68,9.96 7.79,10.25L8.08,9.74M10.97,5.7C9.38,4.2 8,3.62 7.37,4C6.74,4.35 6.55,5.82 7.06,7.96C7.83,7.8 8.64,7.68 9.46,7.6C9.94,6.93 10.45,6.29 10.97,5.7Z\";\r\nexport var mdiRead = \"M21.59,11.59L23,13L13.5,22.5L8.42,17.41L9.83,16L13.5,19.68L21.59,11.59M4,16V3H6L9,3A4,4 0 0,1 13,7C13,8.54 12.13,9.88 10.85,10.55L14,16H12L9.11,11H6V16H4M6,9H9A2,2 0 0,0 11,7A2,2 0 0,0 9,5H6V9Z\";\r\nexport var mdiReceipt = \"M3,22L4.5,20.5L6,22L7.5,20.5L9,22L10.5,20.5L12,22L13.5,20.5L15,22L16.5,20.5L18,22L19.5,20.5L21,22V2L19.5,3.5L18,2L16.5,3.5L15,2L13.5,3.5L12,2L10.5,3.5L9,2L7.5,3.5L6,2L4.5,3.5L3,2M18,9H6V7H18M18,13H6V11H18M18,17H6V15H18V17Z\";\r\nexport var mdiRecord = \"M19,12C19,15.86 15.86,19 12,19C8.14,19 5,15.86 5,12C5,8.14 8.14,5 12,5C15.86,5 19,8.14 19,12Z\";\r\nexport var mdiRecordCircle = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9Z\";\r\nexport var mdiRecordCircleOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z\";\r\nexport var mdiRecordPlayer = \"M5,17.5A0.5,0.5 0 0,1 4.5,18H3.5A0.5,0.5 0 0,1 3,17.5V17H2A1,1 0 0,1 1,16V13A1,1 0 0,1 2,12H19V10H7L6,11V9A1,1 0 0,1 7,8H19V7H21V8A1,1 0 0,1 22,9V10H21V12H22A1,1 0 0,1 23,13V16A1,1 0 0,1 22,17H21V17.5A0.5,0.5 0 0,1 20.5,18H19.5A0.5,0.5 0 0,1 19,17.5V17H5V17.5M3,14V15H5V14H3M6,14V15H8V14H6M20.5,13.5A1,1 0 0,0 19.5,14.5A1,1 0 0,0 20.5,15.5A1,1 0 0,0 21.5,14.5A1,1 0 0,0 20.5,13.5Z\";\r\nexport var mdiRecordRec = \"M12.5,5A7.5,7.5 0 0,0 5,12.5A7.5,7.5 0 0,0 12.5,20A7.5,7.5 0 0,0 20,12.5A7.5,7.5 0 0,0 12.5,5M7,10H9A1,1 0 0,1 10,11V12C10,12.5 9.62,12.9 9.14,12.97L10.31,15H9.15L8,13V15H7M12,10H14V11H12V12H14V13H12V14H14V15H12A1,1 0 0,1 11,14V11A1,1 0 0,1 12,10M16,10H18V11H16V14H18V15H16A1,1 0 0,1 15,14V11A1,1 0 0,1 16,10M8,11V12H9V11\";\r\nexport var mdiRectangle = \"M4,6V19H20V6H4Z\";\r\nexport var mdiRectangleOutline = \"M4,6V19H20V6H4M18,17H6V8H18V17Z\";\r\nexport var mdiRecycle = \"M21.82,15.42L19.32,19.75C18.83,20.61 17.92,21.06 17,21H15V23L12.5,18.5L15,14V16H17.82L15.6,12.15L19.93,9.65L21.73,12.77C22.25,13.54 22.32,14.57 21.82,15.42M9.21,3.06H14.21C15.19,3.06 16.04,3.63 16.45,4.45L17.45,6.19L19.18,5.19L16.54,9.6L11.39,9.69L13.12,8.69L11.71,6.24L9.5,10.09L5.16,7.59L6.96,4.47C7.37,3.64 8.22,3.06 9.21,3.06M5.05,19.76L2.55,15.43C2.06,14.58 2.13,13.56 2.64,12.79L3.64,11.06L1.91,10.06L7.05,10.14L9.7,14.56L7.97,13.56L6.56,16H11V21H7.4C6.47,21.07 5.55,20.61 5.05,19.76Z\";\r\nexport var mdiRecycleVariant = \"M7.17 7.91L8.9 8.91L12.08 3.42L14.33 7.31L11.73 8.81L17.19 10.27L18.66 4.81L16.06 6.31L13.81 2.41C13.26 1.45 12.03 1.12 11.08 1.68C10.81 1.83 10.58 2.05 10.41 2.31M10 20V18L3.66 18L5.9 14.1L8.5 15.6L7.04 10.14L1.57 11.6L4.17 13.1L1.92 17C1.37 17.96 1.7 19.18 2.65 19.73C2.92 19.89 3.22 19.97 3.54 20M19.06 11.5L17.32 12.5L20.5 18H16V15L12 19L16 23V20H20.5C21.61 20 22.5 19.11 22.5 18C22.5 17.69 22.42 17.38 22.28 17.11Z\";\r\nexport var mdiReddit = \"M14.5 15.41C14.58 15.5 14.58 15.69 14.5 15.8C13.77 16.5 12.41 16.56 12 16.56C11.61 16.56 10.25 16.5 9.54 15.8C9.44 15.69 9.44 15.5 9.54 15.41C9.65 15.31 9.82 15.31 9.92 15.41C10.38 15.87 11.33 16 12 16C12.69 16 13.66 15.87 14.1 15.41C14.21 15.31 14.38 15.31 14.5 15.41M10.75 13.04C10.75 12.47 10.28 12 9.71 12C9.14 12 8.67 12.47 8.67 13.04C8.67 13.61 9.14 14.09 9.71 14.08C10.28 14.08 10.75 13.61 10.75 13.04M14.29 12C13.72 12 13.25 12.5 13.25 13.05S13.72 14.09 14.29 14.09C14.86 14.09 15.33 13.61 15.33 13.05C15.33 12.5 14.86 12 14.29 12M22 12C22 17.5 17.5 22 12 22S2 17.5 2 12C2 6.5 6.5 2 12 2S22 6.5 22 12M18.67 12C18.67 11.19 18 10.54 17.22 10.54C16.82 10.54 16.46 10.7 16.2 10.95C15.2 10.23 13.83 9.77 12.3 9.71L12.97 6.58L15.14 7.05C15.16 7.6 15.62 8.04 16.18 8.04C16.75 8.04 17.22 7.57 17.22 7C17.22 6.43 16.75 5.96 16.18 5.96C15.77 5.96 15.41 6.2 15.25 6.55L12.82 6.03C12.75 6 12.68 6.03 12.63 6.07C12.57 6.11 12.54 6.17 12.53 6.24L11.79 9.72C10.24 9.77 8.84 10.23 7.82 10.96C7.56 10.71 7.2 10.56 6.81 10.56C6 10.56 5.35 11.21 5.35 12C5.35 12.61 5.71 13.11 6.21 13.34C6.19 13.5 6.18 13.62 6.18 13.78C6.18 16 8.79 17.85 12 17.85C15.23 17.85 17.85 16.03 17.85 13.78C17.85 13.64 17.84 13.5 17.81 13.34C18.31 13.11 18.67 12.6 18.67 12Z\";\r\nexport var mdiRedhat = \"M15.34 13.16C16.66 13.16 18.56 12.89 18.56 11.32C18.57 11.2 18.56 11.08 18.53 10.96L17.75 7.56C17.57 6.81 17.41 6.47 16.09 5.81C15.07 5.29 12.85 4.43 12.19 4.43C11.58 4.43 11.4 5.22 10.67 5.22C9.97 5.22 9.45 4.63 8.79 4.63C8.16 4.63 7.75 5.06 7.43 5.94C7.43 5.94 6.55 8.44 6.43 8.8C6.42 8.87 6.41 8.93 6.41 9C6.41 9.97 10.23 13.15 15.34 13.15M18.77 11.96C18.95 12.82 18.95 12.91 18.95 13C18.95 14.5 17.29 15.31 15.12 15.31C10.2 15.31 5.89 12.43 5.89 10.53C5.89 10.26 5.95 10 6.05 9.76C4.28 9.84 2 10.16 2 12.18C2 15.5 9.84 19.57 16.05 19.57C20.81 19.57 22 17.42 22 15.72C22 14.38 20.85 12.86 18.77 11.96\";\r\nexport var mdiRedo = \"M18.4,10.6C16.55,9 14.15,8 11.5,8C6.85,8 2.92,11.03 1.54,15.22L3.9,16C4.95,12.81 7.95,10.5 11.5,10.5C13.45,10.5 15.23,11.22 16.62,12.38L13,16H22V7L18.4,10.6Z\";\r\nexport var mdiRedoVariant = \"M10.5,7A6.5,6.5 0 0,0 4,13.5A6.5,6.5 0 0,0 10.5,20H14V18H10.5C8,18 6,16 6,13.5C6,11 8,9 10.5,9H16.17L13.09,12.09L14.5,13.5L20,8L14.5,2.5L13.08,3.91L16.17,7H10.5M18,18H16V20H18V18Z\";\r\nexport var mdiReflectHorizontal = \"M22,20H14A1,1 0 0,1 13,19V4.97C13,4.5 13.31,4.12 13.74,4C14.19,3.88 14.65,4.08 14.87,4.47L22.89,18.5C23.07,18.81 23.07,19.19 22.89,19.5C22.71,19.81 22.38,20 22,20M2,20C1.62,20 1.29,19.81 1.11,19.5C0.93,19.19 0.93,18.81 1.11,18.5L9.13,4.47C9.35,4.08 9.81,3.88 10.26,4C10.69,4.12 11,4.5 11,4.97V19A1,1 0 0,1 10,20H2M9,18V8.74L3.71,18H9Z\";\r\nexport var mdiReflectVertical = \"M18,23H6C5.61,23 5.26,22.79 5.09,22.45C4.92,22.11 4.96,21.7 5.19,21.4L11.2,13.38C11.58,12.87 12.42,12.87 12.8,13.38L18.81,21.4C19.04,21.7 19.08,22.11 18.91,22.45C18.74,22.79 18.39,23 18,23M18,1C18.39,1 18.74,1.21 18.91,1.55C19.08,1.89 19.04,2.3 18.81,2.6L12.8,10.62C12.42,11.13 11.58,11.13 11.2,10.62L5.19,2.6C4.96,2.3 4.92,1.89 5.09,1.55C5.26,1.21 5.61,1 6,1H18M8,3L12,8.35L16,3H8Z\";\r\nexport var mdiRefresh = \"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z\";\r\nexport var mdiRefreshCircle = \"M12 2A10 10 0 1 0 22 12A10 10 0 0 0 12 2M18 11H13L14.81 9.19A3.94 3.94 0 0 0 12 8A4 4 0 1 0 15.86 13H17.91A6 6 0 1 1 12 6A5.91 5.91 0 0 1 16.22 7.78L18 6Z\";\r\nexport var mdiRegex = \"M16,16.92C15.67,16.97 15.34,17 15,17C14.66,17 14.33,16.97 14,16.92V13.41L11.5,15.89C11,15.5 10.5,15 10.11,14.5L12.59,12H9.08C9.03,11.67 9,11.34 9,11C9,10.66 9.03,10.33 9.08,10H12.59L10.11,7.5C10.3,7.25 10.5,7 10.76,6.76V6.76C11,6.5 11.25,6.3 11.5,6.11L14,8.59V5.08C14.33,5.03 14.66,5 15,5C15.34,5 15.67,5.03 16,5.08V8.59L18.5,6.11C19,6.5 19.5,7 19.89,7.5L17.41,10H20.92C20.97,10.33 21,10.66 21,11C21,11.34 20.97,11.67 20.92,12H17.41L19.89,14.5C19.7,14.75 19.5,15 19.24,15.24V15.24C19,15.5 18.75,15.7 18.5,15.89L16,13.41V16.92H16V16.92M5,19A2,2 0 0,1 7,17A2,2 0 0,1 9,19A2,2 0 0,1 7,21A2,2 0 0,1 5,19H5Z\";\r\nexport var mdiRegisteredTrademark = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12.25,13.27H10.81V16.5H9V7.71H12.26C13.29,7.71 14.09,7.94 14.66,8.4C15.22,8.87 15.5,9.5 15.5,10.36C15.5,10.96 15.37,11.46 15.11,11.86C14.85,12.26 14.46,12.58 13.93,12.81L15.83,16.4V16.5H13.89L12.25,13.27M10.81,11.81H12.27C12.72,11.81 13.07,11.69 13.32,11.46C13.57,11.23 13.69,10.91 13.69,10.5C13.69,10.09 13.58,9.77 13.34,9.53C13.11,9.29 12.75,9.18 12.26,9.18H10.81V11.81Z\";\r\nexport var mdiReiterate = \"M10.5 4A6.5 6.5 0 0 0 4 10H1L5 14L9 10H6.03A4.5 4.5 0 0 1 10.5 6A4.5 4.5 0 0 1 15 10.5A4.5 4.5 0 0 1 10.5 15H2V17H10.5A6.5 6.5 0 0 0 17 10.5A6.5 6.5 0 0 0 10.5 4M19 12V15H16.5A7.5 7.5 0 0 1 14.24 17H19V20L23 16Z\";\r\nexport var mdiRelationManyToMany = \"M22 13V19H21L19 17H11V9H5L3 11H2V5H3L5 7H13V15H19L21 13Z\";\r\nexport var mdiRelationManyToOne = \"M22 15V17H19V19H17V17H11V9H5L3 11H2V5H3L5 7H13V15H17V13H19V15Z\";\r\nexport var mdiRelationManyToOneOrMany = \"M22 13V19H21L19 17V19H17V17H11V9H5L3 11H2V5H3L5 7H13V15H17V13H19V15L21 13Z\";\r\nexport var mdiRelationManyToOnlyOne = \"M22 15V17H21V19H19V17H18V19H16V17H11V9H5L3 11H2V5H3L5 7H13V15H16V13H18V15H19V13H21V15Z\";\r\nexport var mdiRelationManyToZeroOrMany = \"M21 13L19 15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H5L3 5H2V11H3L5 9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19L21 19H22V13M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\r\nexport var mdiRelationManyToZeroOrOne = \"M21 15V13H19V15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H5L3 5H2V11H3L5 9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19V19H21V17H22V15M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\r\nexport var mdiRelationOneOrManyToMany = \"M22 13V19H21L19 17H11V9H7V11H5V9L3 11H2V5H3L5 7V5H7V7H13V15H19L21 13Z\";\r\nexport var mdiRelationOneOrManyToOne = \"M22 15V17H19V19H17V17H11V9H7V11H5V9L3 11H2V5H3L5 7V5H7V7H13V15H17V13H19V15Z\";\r\nexport var mdiRelationOneOrManyToOneOrMany = \"M22 13V19H21L19 17V19H17V17H11V9H7V11H5V9L3 11H2V5H3L5 7V5H7V7H13V15H17V13H19V15L21 13Z\";\r\nexport var mdiRelationOneOrManyToOnlyOne = \"M22 15V17H21V19H19V17H18V19H16V17H11V9H7V11H5V9L3 11H2V5H3L5 7V5H7V7H13V15H16V13H18V15H19V13H21V15Z\";\r\nexport var mdiRelationOneOrManyToZeroOrMany = \"M21 13L19 15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H7V5H5V7L3 5H2V11H3L5 9V11H7V9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19L21 19H22V13M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\r\nexport var mdiRelationOneOrManyToZeroOrOne = \"M21 15V13H19V15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H7V5H5V7L3 5H2V11H3L5 9V11H7V9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19V19H21V17H22V15M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\r\nexport var mdiRelationOneToMany = \"M22 13V19H21L19 17H11V9H7V11H5V9H2V7H5V5H7V7H13V15H19L21 13Z\";\r\nexport var mdiRelationOneToOne = \"M22 15V17H19V19H17V17H11V9H7V11H5V9H2V7H5V5H7V7H13V15H17V13H19V15Z\";\r\nexport var mdiRelationOneToOneOrMany = \"M22 13V19H21L19 17V19H17V17H11V9H7V11H5V9H2V7H5V5H7V7H13V15H17V13H19V15L21 13Z\";\r\nexport var mdiRelationOneToOnlyOne = \"M22 15V17H21V19H19V17H18V19H16V17H11V9H7V11H5V9H2V7H5V5H7V7H13V15H16V13H18V15H19V13H21V15Z\";\r\nexport var mdiRelationOneToZeroOrMany = \"M21 13L19 15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H7V5H5V7H2V9H5V11H7V9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19L21 19H22V13M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\r\nexport var mdiRelationOneToZeroOrOne = \"M21 15V13H19V15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H7V5H5V7H2V9H5V11H7V9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19V19H21V17H22V15M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\r\nexport var mdiRelationOnlyOneToMany = \"M22 13V19H21L19 17H11V9H8V11H6V9H5V11H3V9H2V7H3V5H5V7H6V5H8V7H13V15H19L21 13Z\";\r\nexport var mdiRelationOnlyOneToOne = \"M22 15V17H19V19H17V17H11V9H8V11H6V9H5V11H3V9H2V7H3V5H5V7H6V5H8V7H13V15H17V13H19V15Z\";\r\nexport var mdiRelationOnlyOneToOneOrMany = \"M22 13V19H21L19 17V19H17V17H11V9H8V11H6V9H5V11H3V9H2V7H3V5H5V7H6V5H8V7H13V15H17V13H19V15L21 13Z\";\r\nexport var mdiRelationOnlyOneToOnlyOne = \"M22 15V17H21V19H19V17H18V19H16V17H11V9H8V11H6V9H5V11H3V9H2V7H3V5H5V7H6V5H8V7H13V15H16V13H18V15H19V13H21V15Z\";\r\nexport var mdiRelationOnlyOneToZeroOrMany = \"M21 13L19 15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H8V5H6V7H5V5H3V7H2V9H3V11H5V9H6V11H8V9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19L21 19H22V13M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\r\nexport var mdiRelationOnlyOneToZeroOrOne = \"M21 15V13H19V15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H8V5H6V7H5V5H3V7H2V9H3V11H5V9H6V11H8V9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19V19H21V17H22V15M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\r\nexport var mdiRelationZeroOrManyToMany = \"M21 13L19 15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5L3 5H2V11H3L5 9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H19L21 19H22V13M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9Z\";\r\nexport var mdiRelationZeroOrManyToOne = \"M19 15V13H17V15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5L3 5H2V11H3L5 9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H17V19H19V17H22V15M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9Z\";\r\nexport var mdiRelationZeroOrManyToOneOrMany = \"M21 13L19 15V13H17V15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5L3 5H2V11H3L5 9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H17V19H19V17L21 19H22V13M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9Z\";\r\nexport var mdiRelationZeroOrManyToOnlyOne = \"M21 15V13H19V15H18V13H16V15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5L3 5H2V11H3L5 9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H16V19H18V17H19V19H21V17H22V15M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9Z\";\r\nexport var mdiRelationZeroOrManyToZeroOrMany = \"M21 13L19 15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5L3 5H2V11H3L5 9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19L21 19H22V13M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\r\nexport var mdiRelationZeroOrManyToZeroOrOne = \"M21 15V13H19V15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5L3 5H2V11H3L5 9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19V19H21V17H22V15M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\r\nexport var mdiRelationZeroOrOneToMany = \"M21 13L19 15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5V5H3V7H2V9H3V11H5V9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H19L21 19H22V13M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9Z\";\r\nexport var mdiRelationZeroOrOneToOne = \"M19 15V13H17V15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5V5H3V7H2V9H3V11H5V9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H17V19H19V17H22V15M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9Z\";\r\nexport var mdiRelationZeroOrOneToOneOrMany = \"M21 13L19 15V13H17V15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5V5H3V7H2V9H3V11H5V9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H17V19H19V17L21 19H22V13M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9Z\";\r\nexport var mdiRelationZeroOrOneToOnlyOne = \"M21 15V13H19V15H18V13H16V15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5V5H3V7H2V9H3V11H5V9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H16V19H18V17H19V19H21V17H22V15M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9Z\";\r\nexport var mdiRelationZeroOrOneToZeroOrMany = \"M21 13L19 15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5V5H3V7H2V9H3V11H5V9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19L21 19H22V13M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\r\nexport var mdiRelationZeroOrOneToZeroOrOne = \"M21 15V13H19V15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5V5H3V7H2V9H3V11H5V9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19V19H21V17H22V15M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\r\nexport var mdiRelativeScale = \"M20,18H4V6H20M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4M12,10H10V12H12M8,10H6V12H8M16,14H14V16H16M16,10H14V12H16V10Z\";\r\nexport var mdiReload = \"M2 12C2 16.97 6.03 21 11 21C13.39 21 15.68 20.06 17.4 18.4L15.9 16.9C14.63 18.25 12.86 19 11 19C4.76 19 1.64 11.46 6.05 7.05C10.46 2.64 18 5.77 18 12H15L19 16H19.1L23 12H20C20 7.03 15.97 3 11 3C6.03 3 2 7.03 2 12Z\";\r\nexport var mdiReloadAlert = \"M2 12C2 17 6 21 11 21C13.4 21 15.7 20.1 17.4 18.4L15.9 16.9C14.6 18.3 12.9 19 11 19C4.8 19 1.6 11.5 6.1 7.1S18 5.8 18 12H15L19 16H19.1L23 12H20C20 7 16 3 11 3S2 7 2 12M10 15H12V17H10V15M10 7H12V13H10V7\";\r\nexport var mdiReminder = \"M7.25,3C7.9,3 8.5,3.21 9,3.56V3A2,2 0 0,1 11,1A2,2 0 0,1 13,3V3.57C13.5,3.22 14.1,3 14.75,3A3,3 0 0,1 17.75,6C17.75,7.58 16.54,8.87 15,9H13V10H14.24L14.72,10.13L19.31,12.42C20.13,12.73 20.53,13.34 20.53,14.25L20.5,14.39V14.53L19.5,21.28C19.44,21.75 19.22,22.16 18.84,22.5C18.47,22.84 18.05,23 17.58,23H10C9.45,23 9,22.81 8.58,22.41L2,15.84L3.05,14.77C3.33,14.5 3.69,14.34 4.13,14.34H4.45L9,15.33V10L9,9H7V9C5.46,8.86 4.25,7.57 4.25,6A3,3 0 0,1 7.25,3M9,6A1.75,1.75 0 0,0 7.25,4.25A1.75,1.75 0 0,0 5.5,6C5.5,6.88 6.15,7.61 7,7.73V7.75H9V6M15,7.75V7.74C15.85,7.62 16.5,6.89 16.5,6C16.5,5.04 15.72,4.26 14.75,4.26C13.78,4.26 13,5.04 13,6V7.75H15Z\";\r\nexport var mdiRemote = \"M12,0C8.96,0 6.21,1.23 4.22,3.22L5.63,4.63C7.26,3 9.5,2 12,2C14.5,2 16.74,3 18.36,4.64L19.77,3.23C17.79,1.23 15.04,0 12,0M7.05,6.05L8.46,7.46C9.37,6.56 10.62,6 12,6C13.38,6 14.63,6.56 15.54,7.46L16.95,6.05C15.68,4.78 13.93,4 12,4C10.07,4 8.32,4.78 7.05,6.05M12,15A2,2 0 0,1 10,13A2,2 0 0,1 12,11A2,2 0 0,1 14,13A2,2 0 0,1 12,15M15,9H9A1,1 0 0,0 8,10V22A1,1 0 0,0 9,23H15A1,1 0 0,0 16,22V10A1,1 0 0,0 15,9Z\";\r\nexport var mdiRemoteDesktop = \"M3,2A2,2 0 0,0 1,4V16C1,17.11 1.9,18 3,18H10V20H8V22H16V20H14V18H21A2,2 0 0,0 23,16V4A2,2 0 0,0 21,2M3,4H21V16H3M15,5L11.5,8.5L15,12L16.4,10.6L14.3,8.5L16.4,6.4M9,8L7.6,9.4L9.7,11.5L7.6,13.6L9,15L12.5,11.5\";\r\nexport var mdiRemoteOff = \"M2,5.27L3.28,4L21,21.72L19.73,23L16,19.27V22A1,1 0 0,1 15,23H9C8.46,23 8,22.55 8,22V11.27L2,5.27M12,0C15.05,0 17.8,1.23 19.77,3.23L18.36,4.64C16.75,3 14.5,2 12,2C9.72,2 7.64,2.85 6.06,4.24L4.64,2.82C6.59,1.07 9.17,0 12,0M12,4C13.94,4 15.69,4.78 16.95,6.05L15.55,7.46C14.64,6.56 13.39,6 12,6C10.83,6 9.76,6.4 8.9,7.08L7.5,5.66C8.7,4.62 10.28,4 12,4M15,9C15.56,9 16,9.45 16,10V14.18L13.5,11.69L13.31,11.5L10.82,9H15M10.03,13.3C10.16,14.16 10.84,14.85 11.71,15L10.03,13.3Z\";\r\nexport var mdiRemoteTv = \"M9,2C7.89,2 7,2.89 7,4V20C7,21.11 7.89,22 9,22H15C16.11,22 17,21.11 17,20V4C17,2.89 16.11,2 15,2H13V4H11V2H9M11,6H13V8H15V10H13V12H11V10H9V8H11V6M9,14H11V16H9V14M13,14H15V16H13V14M9,18H11V20H9V18M13,18H15V20H13V18Z\";\r\nexport var mdiRemoteTvOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L17,20.25C16.86,21.24 16,22 15,22H9A2,2 0 0,1 7,20V10.27L2,5.27M9,2H11V4H13V2H15A2,2 0 0,1 17,4V15.18L13,11.18V10H15V8H13V6H11V8H9.82L7,5.18V4A2,2 0 0,1 9,2M9,20H11V18H9V20M13,20H15V18.27L14.73,18H13V20M9,14V16H11V14.27L10.73,14H9Z\";\r\nexport var mdiRenameBox = \"M18,17H10.5L12.5,15H18M6,17V14.5L13.88,6.65C14.07,6.45 14.39,6.45 14.59,6.65L16.35,8.41C16.55,8.61 16.55,8.92 16.35,9.12L8.47,17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiReorderHorizontal = \"M3,15H21V13H3V15M3,19H21V17H3V19M3,11H21V9H3V11M3,5V7H21V5H3Z\";\r\nexport var mdiReorderVertical = \"M9,3V21H11V3H9M5,3V21H7V3H5M13,3V21H15V3H13M19,3H17V21H19V3Z\";\r\nexport var mdiRepeat = \"M17,17H7V14L3,18L7,22V19H19V13H17M7,7H17V10L21,6L17,2V5H5V11H7V7Z\";\r\nexport var mdiRepeatOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L15.73,19H7V22L3,18L7,14V17H13.73L7,10.27V11H5V8.27L2,5.27M17,13H19V17.18L17,15.18V13M17,5V2L21,6L17,10V7H8.82L6.82,5H17Z\";\r\nexport var mdiRepeatOnce = \"M13,15V9H12L10,10V11H11.5V15M17,17H7V14L3,18L7,22V19H19V13H17M7,7H17V10L21,6L17,2V5H5V11H7V7Z\";\r\nexport var mdiRepeatVariant = \"M6,5.75L10.25,10H7V16H13.5L15.5,18H7A2,2 0 0,1 5,16V10H1.75L6,5.75M18,18.25L13.75,14H17V8H10.5L8.5,6H17A2,2 0 0,1 19,8V14H22.25L18,18.25Z\";\r\nexport var mdiReplay = \"M12,5V1L7,6L12,11V7A6,6 0 0,1 18,13A6,6 0 0,1 12,19A6,6 0 0,1 6,13H4A8,8 0 0,0 12,21A8,8 0 0,0 20,13A8,8 0 0,0 12,5Z\";\r\nexport var mdiReply = \"M10,9V5L3,12L10,19V14.9C15,14.9 18.5,16.5 21,20C20,15 17,10 10,9Z\";\r\nexport var mdiReplyAll = \"M13,9V5L6,12L13,19V14.9C18,14.9 21.5,16.5 24,20C23,15 20,10 13,9M7,8V5L0,12L7,19V16L3,12L7,8Z\";\r\nexport var mdiReplyAllOutline = \"M11,9.8V10.7L12.7,10.9C15.3,11.3 17.2,12.3 18.6,13.6C16.9,13.1 15.1,12.8 13,12.8H11V14.1L8.8,12L11,9.8M13,5L6,12L13,19V14.9C18,14.9 21.5,16.5 24,20C23,15 20,10 13,9M7,8V5L0,12L7,19V16L3,12\";\r\nexport var mdiReplyCircle = \"M2 12C2 17.5 6.5 22 12 22S22 17.5 22 12 17.5 2 12 2 2 6.5 2 12M5 11L10 6V9C15.06 9.73 17.28 13.33 18 17C16.19 14.43 13.61 13 10 13V16L5 11Z\";\r\nexport var mdiReplyOutline = \"M8,9.8V10.7L9.7,11C12.3,11.4 14.2,12.4 15.6,13.7C13.9,13.2 12.1,12.9 10,12.9H8V14.2L5.8,12L8,9.8M10,5L3,12L10,19V14.9C15,14.9 18.5,16.5 21,20C20,15 17,10 10,9\";\r\nexport var mdiReproduction = \"M12.72,13.15L13.62,12.26C13.6,11 14.31,9.44 15.62,8.14C17.57,6.18 20.11,5.55 21.28,6.72C22.45,7.89 21.82,10.43 19.86,12.38C18.56,13.69 17,14.4 15.74,14.38L14.85,15.28C14.5,15.61 14,15.66 13.6,15.41C12.76,15.71 12,16.08 11.56,16.8C11.03,17.68 11.03,19.1 10.47,19.95C9.91,20.81 8.79,21.1 7.61,21.1C6.43,21.1 5,21 3.95,19.5L6.43,19.92C7,20 8.5,19.39 9.05,18.54C9.61,17.68 9.61,16.27 10.14,15.38C10.61,14.6 11.5,14.23 12.43,13.91C12.42,13.64 12.5,13.36 12.72,13.15M7,2A5,5 0 0,1 12,7A5,5 0 0,1 7,12A5,5 0 0,1 2,7A5,5 0 0,1 7,2M7,4A3,3 0 0,0 4,7A3,3 0 0,0 7,10A3,3 0 0,0 10,7A3,3 0 0,0 7,4Z\";\r\nexport var mdiResistor = \"M2,11H7L10.07,15.35L13.11,4L18,11H22V13H17L13.93,8.65L10.89,20L6,13H2V11Z\";\r\nexport var mdiResistorNodes = \"M2,11H3.67C4.08,9.83 5.19,9 6.5,9A3,3 0 0,1 9.5,12C9.5,12.65 9.29,13.25 8.94,13.74L10.07,15.35L13.11,4L14.61,6.13L16.7,9.11L17.5,9C18.81,9 19.92,9.83 20.33,11H22V13H20.33C19.92,14.17 18.81,15 17.5,15A3,3 0 0,1 14.5,12C14.5,11.35 14.71,10.75 15.06,10.26L13.93,8.65L10.89,20L7.3,14.89C7.05,14.96 6.78,15 6.5,15C5.19,15 4.08,14.17 3.67,13H2V11M17.5,10.5A1.5,1.5 0 0,0 16,12A1.5,1.5 0 0,0 17.5,13.5A1.5,1.5 0 0,0 19,12A1.5,1.5 0 0,0 17.5,10.5M6.5,10.5A1.5,1.5 0 0,0 5,12A1.5,1.5 0 0,0 6.5,13.5A1.5,1.5 0 0,0 8,12A1.5,1.5 0 0,0 6.5,10.5Z\";\r\nexport var mdiResize = \"M10.59,12L14.59,8H11V6H18V13H16V9.41L12,13.41V16H20V4H8V12H10.59M22,2V18H12V22H2V12H6V2H22M10,14H4V20H10V14Z\";\r\nexport var mdiResizeBottomRight = \"M22,22H20V20H22V22M22,18H20V16H22V18M18,22H16V20H18V22M18,18H16V16H18V18M14,22H12V20H14V22M22,14H20V12H22V14Z\";\r\nexport var mdiResponsive = \"M4,6V16H9V12A2,2 0 0,1 11,10H16A2,2 0 0,1 18,12V16H20V6H4M0,20V18H4A2,2 0 0,1 2,16V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V16A2,2 0 0,1 20,18H24V20H18V20C18,21.11 17.1,22 16,22H11A2,2 0 0,1 9,20H9L0,20M11.5,20A0.5,0.5 0 0,0 11,20.5A0.5,0.5 0 0,0 11.5,21A0.5,0.5 0 0,0 12,20.5A0.5,0.5 0 0,0 11.5,20M15.5,20A0.5,0.5 0 0,0 15,20.5A0.5,0.5 0 0,0 15.5,21A0.5,0.5 0 0,0 16,20.5A0.5,0.5 0 0,0 15.5,20M13,20V21H14V20H13M11,12V19H16V12H11Z\";\r\nexport var mdiRestart = \"M12,4C14.1,4 16.1,4.8 17.6,6.3C20.7,9.4 20.7,14.5 17.6,17.6C15.8,19.5 13.3,20.2 10.9,19.9L11.4,17.9C13.1,18.1 14.9,17.5 16.2,16.2C18.5,13.9 18.5,10.1 16.2,7.7C15.1,6.6 13.5,6 12,6V10.6L7,5.6L12,0.6V4M6.3,17.6C3.7,15 3.3,11 5.1,7.9L6.6,9.4C5.5,11.6 5.9,14.4 7.8,16.2C8.3,16.7 8.9,17.1 9.6,17.4L9,19.4C8,19 7.1,18.4 6.3,17.6Z\";\r\nexport var mdiRestartAlert = \"M10 4.03V.633L5 5.63L10 10.63V6.03C11.5 6.03 13.11 6.63 14.21 7.73C16.5 10.13 16.5 13.93 14.21 16.23C12.91 17.53 11.11 18.13 9.4 17.93L8.9 19.93C11.31 20.23 13.81 19.53 15.61 17.63C18.7 14.53 18.7 9.43 15.61 6.33C14.11 4.83 12.11 4.03 10 4.03M4.31 17.63C5.11 18.43 6 19.03 7 19.43L7.61 17.43C6.91 17.13 6.31 16.73 5.81 16.23C3.91 14.43 3.5 11.63 4.61 9.43L3.11 7.93C1.31 11.03 1.71 15.03 4.31 17.63M20 13H22V7H20V13M20 17H22V15H20V17Z\";\r\nexport var mdiRestartOff = \"M20.8,22.7L16.6,18.5C14.9,19.7 12.9,20.2 10.9,19.9L11.4,17.9C12.7,18 14,17.7 15.1,17L1.1,3L2.4,1.7L16.5,15.8L17.9,17.2L22.1,21.4L20.8,22.7M12,6C13.5,6 15.1,6.6 16.2,7.8C18,9.6 18.4,12.2 17.5,14.4L19,15.9C20.7,12.9 20.2,9 17.6,6.4C16.1,4.8 14,4 12,4V0.7L7.9,4.7L12,8.8V6M6.6,9.4L5.1,7.9C3.3,11 3.7,15 6.3,17.7C7.1,18.4 8,19 9,19.4L9.5,17.4C8.9,17.1 8.3,16.7 7.7,16.2C5.9,14.4 5.5,11.6 6.6,9.4Z\";\r\nexport var mdiRestore = \"M13,3A9,9 0 0,0 4,12H1L4.89,15.89L4.96,16.03L9,12H6A7,7 0 0,1 13,5A7,7 0 0,1 20,12A7,7 0 0,1 13,19C11.07,19 9.32,18.21 8.06,16.94L6.64,18.36C8.27,20 10.5,21 13,21A9,9 0 0,0 22,12A9,9 0 0,0 13,3Z\";\r\nexport var mdiRestoreAlert = \"M13 3C8 3 4 7 4 12H1L4.9 15.9L5 16L9 12H6C6 8.1 9.1 5 13 5S20 8.1 20 12 16.9 19 13 19C11.1 19 9.3 18.2 8.1 16.9L6.7 18.3C8.3 20 10.5 21 13 21C18 21 22 17 22 12S18 3 13 3M12 15H14V17H12V15M12 7H14V13H12V7\";\r\nexport var mdiRewind = \"M11.5,12L20,18V6M11,18V6L2.5,12L11,18Z\";\r\nexport var mdiRewind10 = \"M12.5,3C17.15,3 21.08,6.03 22.47,10.22L20.1,11C19.05,7.81 16.04,5.5 12.5,5.5C10.54,5.5 8.77,6.22 7.38,7.38L10,10H3V3L5.6,5.6C7.45,4 9.85,3 12.5,3M10,12V22H8V14H6V12H10M18,14V20C18,21.11 17.11,22 16,22H14A2,2 0 0,1 12,20V14A2,2 0 0,1 14,12H16C17.11,12 18,12.9 18,14M14,14V20H16V14H14Z\";\r\nexport var mdiRewind30 = \"M19,14V20C19,21.11 18.11,22 17,22H15A2,2 0 0,1 13,20V14A2,2 0 0,1 15,12H17C18.11,12 19,12.9 19,14M15,14V20H17V14H15M11,20C11,21.11 10.1,22 9,22H5V20H9V18H7V16H9V14H5V12H9A2,2 0 0,1 11,14V15.5A1.5,1.5 0 0,1 9.5,17A1.5,1.5 0 0,1 11,18.5V20M12.5,3C17.15,3 21.08,6.03 22.47,10.22L20.1,11C19.05,7.81 16.04,5.5 12.5,5.5C10.54,5.5 8.77,6.22 7.38,7.38L10,10H3V3L5.6,5.6C7.45,4 9.85,3 12.5,3Z\";\r\nexport var mdiRewind5 = \"M12.5 3C17.15 3 21.08 6.03 22.47 10.22L20.1 11C19.05 7.81 16.04 5.5 12.5 5.5C10.54 5.5 8.77 6.22 7.38 7.38L10 10H3V3L5.6 5.6C7.45 4 9.85 3 12.5 3M9 12H15V14H11V16H13C14.11 16 15 16.9 15 18V20C15 21.11 14.11 22 13 22H9V20H13V18H9V12Z\";\r\nexport var mdiRewind60 = \"M19 14V20C19 21.1 18.1 22 17 22H15C13.9 22 13 21.1 13 20V14C13 12.9 13.9 12 15 12H17C18.1 12 19 12.9 19 14M15 14V20H17V14H15M12.5 3C17.1 3 21.1 6 22.5 10.2L20.1 11C19 7.8 16 5.5 12.5 5.5C10.5 5.5 8.8 6.2 7.4 7.4L10 10H3V3L5.6 5.6C7.4 4 9.9 3 12.5 3M7 12C5.9 12 5 12.9 5 14V20C5 21.1 5.9 22 7 22H9C10.1 22 11 21.1 11 20V18C11 16.9 10.1 16 9 16H7V14H11V12H7M7 18H9V20H7V18Z\";\r\nexport var mdiRewindOutline = \"M10,9.9L7,12L10,14.1V9.9M19,9.9L16,12L19,14.1V9.9M12,6V18L3.5,12L12,6M21,6V18L12.5,12L21,6Z\";\r\nexport var mdiRhombus = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2Z\";\r\nexport var mdiRhombusMedium = \"M12 6.46C11.72 6.46 11.44 6.56 11.22 6.78L6.78 11.22C6.35 11.65 6.35 12.35 6.78 12.78L11.22 17.22C11.65 17.65 12.35 17.65 12.78 17.22L17.22 12.78C17.65 12.35 17.65 11.65 17.22 11.22L12.78 6.78C12.56 6.56 12.28 6.46 12 6.46Z\";\r\nexport var mdiRhombusMediumOutline = \"M12 6.46C11.72 6.46 11.44 6.56 11.22 6.78L6.78 11.22C6.35 11.65 6.35 12.35 6.78 12.78L11.22 17.22C11.65 17.65 12.35 17.65 12.78 17.22L17.22 12.78C17.65 12.35 17.65 11.65 17.22 11.22L12.78 6.78C12.56 6.56 12.28 6.46 12 6.46M12 8.83L15.17 12L12 15.17L8.83 12L12 8.83Z\";\r\nexport var mdiRhombusOutline = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M12 4L20 12L12 20L4 12Z\";\r\nexport var mdiRhombusSplit = \"M12 2C11.5 2 11 2.19 10.59 2.59L7.29 5.88L12 10.58L16.71 5.88L13.41 2.59C13 2.19 12.5 2 12 2M5.88 7.29L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L5.88 16.71L10.58 12L5.88 7.29M18.12 7.29L13.42 12L18.12 16.71L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L18.12 7.29M12 13.42L7.29 18.12L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L16.71 18.12L12 13.42Z\";\r\nexport var mdiRhombusSplitOutline = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M12 4L15.29 7.29L12 10.59L8.71 7.29L12 4M7.29 8.71L10.59 12L7.29 15.29L4 12L7.29 8.71M16.71 8.71L20 12L16.71 15.29L13.41 12L16.71 8.71M12 13.41L15.29 16.71L12 20L8.71 16.71L12 13.41Z\";\r\nexport var mdiRibbon = \"M13.41,19.31L16.59,22.5L18,21.07L14.83,17.9M15.54,11.53H15.53L12,15.07L8.47,11.53H8.46V11.53C7.56,10.63 7,9.38 7,8A5,5 0 0,1 12,3A5,5 0 0,1 17,8C17,9.38 16.44,10.63 15.54,11.53M16.9,13C18.2,11.73 19,9.96 19,8A7,7 0 0,0 12,1A7,7 0 0,0 5,8C5,9.96 5.81,11.73 7.1,13V13L10.59,16.5L6,21.07L7.41,22.5L16.9,13Z\";\r\nexport var mdiRice = \"M22,11H19.7C19.4,9.9 18.9,8.8 18.2,8L21.6,2.6L19.9,1.5L16.7,6.6C16.3,6.3 16,6.1 15.5,5.9L16.4,2.3L14.5,1.8L13.7,5.2C13.1,5.1 12.6,5 12,5C8.3,5 5.2,7.6 4.3,11H2C2,15.1 4.5,18.6 8,20.2V22H16V20.2C19.5,18.6 22,15.1 22,11M12,7C14.6,7 16.8,8.7 17.6,11H6.4C7.2,8.7 9.4,7 12,7Z\";\r\nexport var mdiRickshaw = \"M20 14.05V12.73C20 12.26 19.84 11.8 19.54 11.44L15.6 6.72C15.22 6.26 14.66 6 14.06 6H4C2.9 6 2 6.9 2 8V15C2 16.1 2.9 17 4 17H4.05C4.28 18.14 5.29 19 6.5 19S8.72 18.14 8.95 17H17.05C17.28 18.14 18.29 19 19.5 19C20.88 19 22 17.88 22 16.5C22 15.29 21.14 14.28 20 14.05M3.5 8C3.5 7.73 3.73 7.5 4 7.5H7V12H3.5V8M6.5 17.5C5.95 17.5 5.5 17.05 5.5 16.5S5.95 15.5 6.5 15.5 7.5 15.95 7.5 16.5 7.05 17.5 6.5 17.5M13 15.5H9V14H11V12H9V7.5H13V15.5M15 8.34L18.05 12H15V8.34M19.5 17.5C18.95 17.5 18.5 17.05 18.5 16.5S18.95 15.5 19.5 15.5 20.5 15.95 20.5 16.5 20.05 17.5 19.5 17.5Z\";\r\nexport var mdiRickshawElectric = \"M20 12.05V10.73C20 10.26 19.84 9.8 19.54 9.44L15.6 4.72C15.22 4.26 14.66 4 14.06 4H4C2.9 4 2 4.9 2 6V13C2 14.1 2.9 15 4 15H4.05C4.28 16.14 5.29 17 6.5 17S8.72 16.14 8.95 15H17.05C17.28 16.14 18.29 17 19.5 17C20.88 17 22 15.88 22 14.5C22 13.29 21.14 12.28 20 12.05M3.5 6C3.5 5.73 3.73 5.5 4 5.5H7V10H3.5V6M6.5 15.5C5.95 15.5 5.5 15.05 5.5 14.5S5.95 13.5 6.5 13.5 7.5 13.95 7.5 14.5 7.05 15.5 6.5 15.5M13 13.5H9V12H11V10H9V5.5H13V13.5M15 6.34L18.05 10H15V6.34M19.5 15.5C18.95 15.5 18.5 15.05 18.5 14.5S18.95 13.5 19.5 13.5 20.5 13.95 20.5 14.5 20.05 15.5 19.5 15.5M11 20H7L13 23V21H17L11 18V20Z\";\r\nexport var mdiRing = \"M12,10L8,4.4L9.6,2H14.4L16,4.4L12,10M15.5,6.8L14.3,8.5C16.5,9.4 18,11.5 18,14A6,6 0 0,1 12,20A6,6 0 0,1 6,14C6,11.5 7.5,9.4 9.7,8.5L8.5,6.8C5.8,8.1 4,10.8 4,14A8,8 0 0,0 12,22A8,8 0 0,0 20,14C20,10.8 18.2,8.1 15.5,6.8Z\";\r\nexport var mdiRivet = \"M11.43,2C10.61,2 9.94,2.65 9.94,3.5C9.94,4.64 9.94,5.8 9.94,6.96H7.95V7.95H15.91V6.96H13.92C13.92,5.8 13.92,4.64 13.92,3.5C13.92,2.65 13.25,2 12.43,2H11.43M10.94,8.95V21.87L11.93,22.87L12.92,21.87V8.95H10.94Z\";\r\nexport var mdiRoad = \"M11,16H13V20H11M11,10H13V14H11M11,4H13V8H11M4,22H20V2H4V22Z\";\r\nexport var mdiRoadVariant = \"M18.1,4.8C18,4.3 17.6,4 17.1,4H13L13.2,7H10.8L11,4H6.8C6.3,4 5.9,4.4 5.8,4.8L3.1,18.8C3,19.4 3.5,20 4.1,20H10L10.3,15H13.7L14,20H19.8C20.4,20 20.9,19.4 20.8,18.8L18.1,4.8M10.4,13L10.6,9H13.2L13.4,13H10.4Z\";\r\nexport var mdiRobber = \"M10.7 12.5C10.7 12.8 9.4 13.2 8.4 13.2S6.3 12.5 6.3 12.3C6.3 12 7 11.1 8.6 11C9.5 10.9 10.5 11.5 10.7 12.5M15.4 11C14.4 10.9 13.5 11.5 13.3 12.5C13.3 12.8 14.5 13.2 15.6 13.2C16.7 13.2 17.7 12.5 17.7 12.3S17 11.1 15.4 11M22 12C22 17.5 17.5 22 12 22S2 17.5 2 12 6.5 2 12 2 22 6.5 22 12M20 11.2C20 9.2 19.3 8.5 16.7 8.5C14.1 8.5 13.3 9.6 12 9.6S10 8.5 7.3 8.5 4 9.1 4 11.2C4 14.6 5.5 16.5 7.6 16.5C9.2 16.5 10.4 14.5 12 14.5S14.7 16.5 16.4 16.5C18.5 16.5 20 14.6 20 11.2Z\";\r\nexport var mdiRobot = \"M12,2A2,2 0 0,1 14,4C14,4.74 13.6,5.39 13,5.73V7H14A7,7 0 0,1 21,14H22A1,1 0 0,1 23,15V18A1,1 0 0,1 22,19H21V20A2,2 0 0,1 19,22H5A2,2 0 0,1 3,20V19H2A1,1 0 0,1 1,18V15A1,1 0 0,1 2,14H3A7,7 0 0,1 10,7H11V5.73C10.4,5.39 10,4.74 10,4A2,2 0 0,1 12,2M7.5,13A2.5,2.5 0 0,0 5,15.5A2.5,2.5 0 0,0 7.5,18A2.5,2.5 0 0,0 10,15.5A2.5,2.5 0 0,0 7.5,13M16.5,13A2.5,2.5 0 0,0 14,15.5A2.5,2.5 0 0,0 16.5,18A2.5,2.5 0 0,0 19,15.5A2.5,2.5 0 0,0 16.5,13Z\";\r\nexport var mdiRobotAngry = \"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M7.5 18C6.12 18 5 16.88 5 15.5C5 14.68 5.4 13.96 6 13.5L9.83 16.38C9.5 17.32 8.57 18 7.5 18M16.5 18C15.43 18 14.5 17.32 14.17 16.38L18 13.5C18.6 13.96 19 14.68 19 15.5C19 16.88 17.88 18 16.5 18Z\";\r\nexport var mdiRobotAngryOutline = \"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M21 17H19V20H5V17H3V16H5V14C5 11.24 7.24 9 10 9H14C16.76 9 19 11.24 19 14V16H21V17M17.5 15.5C17.5 16.61 16.61 17.5 15.5 17.5C14.53 17.5 13.73 16.81 13.54 15.9L16.5 13.78C17.1 14.13 17.5 14.76 17.5 15.5M7.5 13.78L10.46 15.9C10.28 16.81 9.47 17.5 8.5 17.5C7.4 17.5 6.5 16.61 6.5 15.5C6.5 14.76 6.9 14.13 7.5 13.78Z\";\r\nexport var mdiRobotConfused = \"M20 4H18V3H20.5C20.78 3 21 3.22 21 3.5V5.5C21 5.78 20.78 6 20.5 6H20V7H19V5H20V4M19 9H20V8H19V9M17 3H16V7H17V3M23 15V18C23 18.55 22.55 19 22 19H21V20C21 21.11 20.11 22 19 22H5C3.9 22 3 21.11 3 20V19H2C1.45 19 1 18.55 1 18V15C1 14.45 1.45 14 2 14H3C3 10.13 6.13 7 10 7H11V5.73C10.4 5.39 10 4.74 10 4C10 2.9 10.9 2 12 2S14 2.9 14 4C14 4.74 13.6 5.39 13 5.73V7H14C14.34 7 14.67 7.03 15 7.08V10H19.74C20.53 11.13 21 12.5 21 14H22C22.55 14 23 14.45 23 15M10 15.5C10 14.12 8.88 13 7.5 13S5 14.12 5 15.5 6.12 18 7.5 18 10 16.88 10 15.5M19 15.5C19 14.12 17.88 13 16.5 13S14 14.12 14 15.5 15.12 18 16.5 18 19 16.88 19 15.5M17 8H16V9H17V8Z\";\r\nexport var mdiRobotConfusedOutline = \"M19 8H20V9H19V8M20 5H19V7H20V6H20.5C20.78 6 21 5.78 21 5.5V3.5C21 3.22 20.78 3 20.5 3H18V4H20V5M17 3H16V7H17V3M13.5 15.5C13.5 16.61 14.4 17.5 15.5 17.5S17.5 16.61 17.5 15.5 16.61 13.5 15.5 13.5 13.5 14.4 13.5 15.5M17 8H16V9H17V8M22 14H21C21 12.5 20.53 11.13 19.74 10H16.97C18.19 10.91 19 12.36 19 14V16H21V17H19V20H5V17H3V16H5V14C5 11.24 7.24 9 10 9H14C14.34 9 14.68 9.04 15 9.1V7.08C14.67 7.03 14.34 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M8.5 13.5C7.4 13.5 6.5 14.4 6.5 15.5S7.4 17.5 8.5 17.5 10.5 16.61 10.5 15.5 9.61 13.5 8.5 13.5Z\";\r\nexport var mdiRobotDead = \"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M9.86 16.68L8.68 17.86L7.5 16.68L6.32 17.86L5.14 16.68L6.32 15.5L5.14 14.32L6.32 13.14L7.5 14.32L8.68 13.14L9.86 14.32L8.68 15.5L9.86 16.68M18.86 16.68L17.68 17.86L16.5 16.68L15.32 17.86L14.14 16.68L15.32 15.5L14.14 14.32L15.32 13.14L16.5 14.32L17.68 13.14L18.86 14.32L17.68 15.5L18.86 16.68Z\";\r\nexport var mdiRobotDeadOutline = \"M10.62 14.44L9.56 15.5L10.62 16.56L9.56 17.62L8.5 16.56L7.44 17.62L6.38 16.56L7.44 15.5L6.38 14.44L7.44 13.38L8.5 14.44L9.56 13.38L10.62 14.44M16.56 13.38L15.5 14.44L14.44 13.38L13.38 14.44L14.44 15.5L13.38 16.56L14.44 17.62L15.5 16.56L16.56 17.62L17.62 16.56L16.56 15.5L17.62 14.44L16.56 13.38M23 15V18C23 18.55 22.55 19 22 19H21V20C21 21.11 20.11 22 19 22H5C3.9 22 3 21.11 3 20V19H2C1.45 19 1 18.55 1 18V15C1 14.45 1.45 14 2 14H3C3 10.13 6.13 7 10 7H11V5.73C10.4 5.39 10 4.74 10 4C10 2.9 10.9 2 12 2S14 2.9 14 4C14 4.74 13.6 5.39 13 5.73V7H14C17.87 7 21 10.13 21 14H22C22.55 14 23 14.45 23 15M21 16H19V14C19 11.24 16.76 9 14 9H10C7.24 9 5 11.24 5 14V16H3V17H5V20H19V17H21V16Z\";\r\nexport var mdiRobotExcited = \"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M8.68 17.04L7.5 15.86L6.32 17.04L5.14 15.86L7.5 13.5L9.86 15.86L8.68 17.04M17.68 17.04L16.5 15.86L15.32 17.04L14.14 15.86L16.5 13.5L18.86 15.86L17.68 17.04Z\";\r\nexport var mdiRobotExcitedOutline = \"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M21 17H19V20H5V17H3V16H5V14C5 11.24 7.24 9 10 9H14C16.76 9 19 11.24 19 14V16H21V17M8.5 13.5L10.86 15.86L9.68 17.04L8.5 15.86L7.32 17.04L6.14 15.86L8.5 13.5M15.5 13.5L17.86 15.86L16.68 17.04L15.5 15.86L14.32 17.04L13.14 15.86L15.5 13.5Z\";\r\nexport var mdiRobotHappy = \"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M9.79 16.5C9.4 15.62 8.53 15 7.5 15S5.6 15.62 5.21 16.5C5.08 16.19 5 15.86 5 15.5C5 14.12 6.12 13 7.5 13S10 14.12 10 15.5C10 15.86 9.92 16.19 9.79 16.5M18.79 16.5C18.4 15.62 17.5 15 16.5 15S14.6 15.62 14.21 16.5C14.08 16.19 14 15.86 14 15.5C14 14.12 15.12 13 16.5 13S19 14.12 19 15.5C19 15.86 18.92 16.19 18.79 16.5Z\";\r\nexport var mdiRobotHappyOutline = \"M10.5 15.5C10.5 15.87 10.4 16.2 10.22 16.5C9.88 15.91 9.24 15.5 8.5 15.5S7.12 15.91 6.78 16.5C6.61 16.2 6.5 15.87 6.5 15.5C6.5 14.4 7.4 13.5 8.5 13.5S10.5 14.4 10.5 15.5M23 15V18C23 18.55 22.55 19 22 19H21V20C21 21.11 20.11 22 19 22H5C3.9 22 3 21.11 3 20V19H2C1.45 19 1 18.55 1 18V15C1 14.45 1.45 14 2 14H3C3 10.13 6.13 7 10 7H11V5.73C10.4 5.39 10 4.74 10 4C10 2.9 10.9 2 12 2S14 2.9 14 4C14 4.74 13.6 5.39 13 5.73V7H14C17.87 7 21 10.13 21 14H22C22.55 14 23 14.45 23 15M21 16H19V14C19 11.24 16.76 9 14 9H10C7.24 9 5 11.24 5 14V16H3V17H5V20H19V17H21V16M15.5 13.5C14.4 13.5 13.5 14.4 13.5 15.5C13.5 15.87 13.61 16.2 13.78 16.5C14.12 15.91 14.76 15.5 15.5 15.5S16.88 15.91 17.22 16.5C17.4 16.2 17.5 15.87 17.5 15.5C17.5 14.4 16.61 13.5 15.5 13.5Z\";\r\nexport var mdiRobotIndustrial = \"M18.41,4L16,6.41V6.59L18.41,9H22V11H17.59L16,9.41V12H15A2,2 0 0,1 13,10V7.5H9.86C9.77,7.87 9.62,8.22 9.42,8.55L15.18,19H20A2,2 0 0,1 22,21V22H2V21A2,2 0 0,1 4,19H10.61L5.92,10.5C4.12,10.47 2.56,9.24 2.11,7.5C1.56,5.36 2.85,3.18 5,2.63C7.13,2.08 9.31,3.36 9.86,5.5H13V3A2,2 0 0,1 15,1H16V3.59L17.59,2H22V4H18.41M6,4.5A2,2 0 0,0 4,6.5A2,2 0 0,0 6,8.5A2,2 0 0,0 8,6.5A2,2 0 0,0 6,4.5Z\";\r\nexport var mdiRobotLove = \"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M9.7 15.45L8.97 16.18L7.5 17.65L5.3 15.45C4.9 15.05 4.9 14.39 5.3 14C5.71 13.58 6.36 13.58 6.77 14L7.5 14.72L8.23 14C8.64 13.58 9.29 13.58 9.7 14C10.1 14.39 10.1 15.05 9.7 15.45M18.7 15.45L17.97 16.18L16.5 17.65L14.3 15.45C13.9 15.05 13.9 14.39 14.3 14C14.71 13.58 15.36 13.58 15.77 14L16.5 14.72L17.23 14C17.64 13.58 18.29 13.58 18.7 14C19.1 14.39 19.1 15.05 18.7 15.45Z\";\r\nexport var mdiRobotLoveOutline = \"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M21 17H19V20H5V17H3V16H5V14C5 11.24 7.24 9 10 9H14C16.76 9 19 11.24 19 14V16H21V17M10.7 14C11.1 14.39 11.1 15.05 10.7 15.45L9.97 16.18L8.5 17.65L6.3 15.45C5.9 15.05 5.9 14.39 6.3 14C6.71 13.58 7.36 13.58 7.77 14L8.5 14.72L9.23 14C9.64 13.58 10.29 13.58 10.7 14M17.7 14C18.1 14.39 18.1 15.05 17.7 15.45L16.97 16.18L15.5 17.65L13.3 15.45C12.9 15.05 12.9 14.39 13.3 14C13.71 13.58 14.36 13.58 14.77 14L15.5 14.72L16.23 14C16.64 13.58 17.29 13.58 17.7 14Z\";\r\nexport var mdiRobotMower = \"M1 14V5H13C18.5 5 23 9.5 23 15V17H20.83C20.42 18.17 19.31 19 18 19C16.69 19 15.58 18.17 15.17 17H10C9.09 18.21 7.64 19 6 19C3.24 19 1 16.76 1 14M6 11C4.34 11 3 12.34 3 14C3 15.66 4.34 17 6 17C7.66 17 9 15.66 9 14C9 12.34 7.66 11 6 11M15 10V12H20.25C19.92 11.27 19.5 10.6 19 10H15Z\";\r\nexport var mdiRobotMowerOutline = \"M1 14C1 16.76 3.24 19 6 19C7.64 19 9.09 18.21 10 17H15.17C15.58 18.17 16.7 19 18 19C19.31 19 20.42 18.17 20.83 17H23V15C23 9.5 18.5 5 13 5H1V14M21 15H10.9C10.97 14.68 11 14.34 11 14C11 11.24 8.76 9 6 9C4.87 9 3.84 9.37 3 10V7H12.5C15.1 7 17.42 8.16 19 10H15V12H20.25C20.67 12.92 20.92 13.94 21 15M6 11C7.66 11 9 12.34 9 14C9 15.66 7.66 17 6 17C4.34 17 3 15.66 3 14C3 12.34 4.34 11 6 11Z\";\r\nexport var mdiRobotOff = \"M23 15V18C23 18.5 22.64 18.88 22.17 18.97L18.97 15.77C19 15.68 19 15.59 19 15.5C19 14.12 17.88 13 16.5 13C16.41 13 16.32 13 16.23 13.03L10.2 7H11V5.73C10.4 5.39 10 4.74 10 4C10 2.9 10.9 2 12 2S14 2.9 14 4C14 4.74 13.6 5.39 13 5.73V7H14C17.87 7 21 10.13 21 14H22C22.55 14 23 14.45 23 15M22.11 21.46L20.84 22.73L19.89 21.78C19.62 21.92 19.32 22 19 22H5C3.9 22 3 21.11 3 20V19H2C1.45 19 1 18.55 1 18V15C1 14.45 1.45 14 2 14H3C3 11.53 4.29 9.36 6.22 8.11L1.11 3L2.39 1.73L22.11 21.46M10 15.5C10 14.12 8.88 13 7.5 13S5 14.12 5 15.5 6.12 18 7.5 18 10 16.88 10 15.5M16.07 17.96L14.04 15.93C14.23 16.97 15.04 17.77 16.07 17.96Z\";\r\nexport var mdiRobotOffOutline = \"M23 15V18C23 18.5 22.64 18.88 22.17 18.97L20.2 17H21V16H19.2L19 15.8V14C19 11.24 16.76 9 14 9H12.2L10.2 7H11V5.73C10.4 5.39 10 4.74 10 4C10 2.9 10.9 2 12 2S14 2.9 14 4C14 4.74 13.6 5.39 13 5.73V7H14C17.87 7 21 10.13 21 14H22C22.55 14 23 14.45 23 15M8.5 13.5C7.4 13.5 6.5 14.4 6.5 15.5S7.4 17.5 8.5 17.5 10.5 16.61 10.5 15.5 9.61 13.5 8.5 13.5M22.11 21.46L20.84 22.73L19.89 21.78C19.62 21.92 19.32 22 19 22H5C3.9 22 3 21.11 3 20V19H2C1.45 19 1 18.55 1 18V15C1 14.45 1.45 14 2 14H3C3 11.53 4.29 9.36 6.22 8.11L1.11 3L2.39 1.73L22.11 21.46M18.11 20L15.6 17.5C15.57 17.5 15.53 17.5 15.5 17.5C14.4 17.5 13.5 16.61 13.5 15.5C13.5 15.47 13.5 15.43 13.5 15.4L7.7 9.59C6.1 10.42 5 12.08 5 14V16H3V17H5V20H18.11Z\";\r\nexport var mdiRobotOutline = \"M17.5 15.5C17.5 16.61 16.61 17.5 15.5 17.5S13.5 16.61 13.5 15.5 14.4 13.5 15.5 13.5 17.5 14.4 17.5 15.5M8.5 13.5C7.4 13.5 6.5 14.4 6.5 15.5S7.4 17.5 8.5 17.5 10.5 16.61 10.5 15.5 9.61 13.5 8.5 13.5M23 15V18C23 18.55 22.55 19 22 19H21V20C21 21.11 20.11 22 19 22H5C3.9 22 3 21.11 3 20V19H2C1.45 19 1 18.55 1 18V15C1 14.45 1.45 14 2 14H3C3 10.13 6.13 7 10 7H11V5.73C10.4 5.39 10 4.74 10 4C10 2.9 10.9 2 12 2S14 2.9 14 4C14 4.74 13.6 5.39 13 5.73V7H14C17.87 7 21 10.13 21 14H22C22.55 14 23 14.45 23 15M21 16H19V14C19 11.24 16.76 9 14 9H10C7.24 9 5 11.24 5 14V16H3V17H5V20H19V17H21V16Z\";\r\nexport var mdiRobotVacuum = \"M12,2C14.65,2 17.19,3.06 19.07,4.93L17.65,6.35C16.15,4.85 14.12,4 12,4C9.88,4 7.84,4.84 6.35,6.35L4.93,4.93C6.81,3.06 9.35,2 12,2M3.66,6.5L5.11,7.94C4.39,9.17 4,10.57 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12C20,10.57 19.61,9.17 18.88,7.94L20.34,6.5C21.42,8.12 22,10.04 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12C2,10.04 2.58,8.12 3.66,6.5M12,6A6,6 0 0,1 18,12C18,13.59 17.37,15.12 16.24,16.24L14.83,14.83C14.08,15.58 13.06,16 12,16C10.94,16 9.92,15.58 9.17,14.83L7.76,16.24C6.63,15.12 6,13.59 6,12A6,6 0 0,1 12,6M12,8A1,1 0 0,0 11,9A1,1 0 0,0 12,10A1,1 0 0,0 13,9A1,1 0 0,0 12,8Z\";\r\nexport var mdiRobotVacuumVariant = \"M5,3A2,2 0 0,0 3,5V7H5V5H19V7H21V5A2,2 0 0,0 19,3H5M8,7V9H16V7H8M3,9V12A9,9 0 0,0 12,21A9,9 0 0,0 21,12V9H19V12A7,7 0 0,1 12,19A7,7 0 0,1 5,12V9H3M12,12A2.5,2.5 0 0,0 9.5,14.5A2.5,2.5 0 0,0 12,17A2.5,2.5 0 0,0 14.5,14.5A2.5,2.5 0 0,0 12,12Z\";\r\nexport var mdiRocket = \"M20 22L16.14 20.45C16.84 18.92 17.34 17.34 17.65 15.73L20 22M7.86 20.45L4 22L6.35 15.73C6.66 17.34 7.16 18.92 7.86 20.45M12 2C12 2 17 4 17 12C17 15.1 16.25 17.75 15.33 19.83C15 20.55 14.29 21 13.5 21H10.5C9.71 21 9 20.55 8.67 19.83C7.76 17.75 7 15.1 7 12C7 4 12 2 12 2M12 12C13.1 12 14 11.1 14 10C14 8.9 13.1 8 12 8C10.9 8 10 8.9 10 10C10 11.1 10.9 12 12 12Z\";\r\nexport var mdiRocketLaunch = \"M13.13 22.19L11.5 18.36C13.07 17.78 14.54 17 15.9 16.09L13.13 22.19M5.64 12.5L1.81 10.87L7.91 8.1C7 9.46 6.22 10.93 5.64 12.5M21.61 2.39C21.61 2.39 16.66 .269 11 5.93C8.81 8.12 7.5 10.53 6.65 12.64C6.37 13.39 6.56 14.21 7.11 14.77L9.24 16.89C9.79 17.45 10.61 17.63 11.36 17.35C13.5 16.53 15.88 15.19 18.07 13C23.73 7.34 21.61 2.39 21.61 2.39M14.54 9.46C13.76 8.68 13.76 7.41 14.54 6.63S16.59 5.85 17.37 6.63C18.14 7.41 18.15 8.68 17.37 9.46C16.59 10.24 15.32 10.24 14.54 9.46M8.88 16.53L7.47 15.12L8.88 16.53M6.24 22L9.88 18.36C9.54 18.27 9.21 18.12 8.91 17.91L4.83 22H6.24M2 22H3.41L8.18 17.24L6.76 15.83L2 20.59V22M2 19.17L6.09 15.09C5.88 14.79 5.73 14.47 5.64 14.12L2 17.76V19.17Z\";\r\nexport var mdiRocketLaunchOutline = \"M13.13 22.19L11.5 18.36C13.07 17.78 14.54 17 15.9 16.09L13.13 22.19M5.64 12.5L1.81 10.87L7.91 8.1C7 9.46 6.22 10.93 5.64 12.5M19.22 4C19.5 4 19.75 4 19.96 4.05C20.13 5.44 19.94 8.3 16.66 11.58C14.96 13.29 12.93 14.6 10.65 15.47L8.5 13.37C9.42 11.06 10.73 9.03 12.42 7.34C15.18 4.58 17.64 4 19.22 4M19.22 2C17.24 2 14.24 2.69 11 5.93C8.81 8.12 7.5 10.53 6.65 12.64C6.37 13.39 6.56 14.21 7.11 14.77L9.24 16.89C9.62 17.27 10.13 17.5 10.66 17.5C10.89 17.5 11.13 17.44 11.36 17.35C13.5 16.53 15.88 15.19 18.07 13C23.73 7.34 21.61 2.39 21.61 2.39S20.7 2 19.22 2M14.54 9.46C13.76 8.68 13.76 7.41 14.54 6.63S16.59 5.85 17.37 6.63C18.14 7.41 18.15 8.68 17.37 9.46C16.59 10.24 15.32 10.24 14.54 9.46M8.88 16.53L7.47 15.12L8.88 16.53M6.24 22L9.88 18.36C9.54 18.27 9.21 18.12 8.91 17.91L4.83 22H6.24M2 22H3.41L8.18 17.24L6.76 15.83L2 20.59V22M2 19.17L6.09 15.09C5.88 14.79 5.73 14.47 5.64 14.12L2 17.76V19.17Z\";\r\nexport var mdiRocketOutline = \"M12 2C12 2 7 4 7 12C7 15.1 7.76 17.75 8.67 19.83C9 20.55 9.71 21 10.5 21H13.5C14.29 21 15 20.55 15.33 19.83C16.25 17.75 17 15.1 17 12C17 4 12 2 12 2M13.5 19H10.5C9.5 16.76 9 14.41 9 12C9 7.36 10.9 5.2 12 4.33C13.1 5.2 15 7.36 15 12C15 14.41 14.5 16.76 13.5 19M20 22L16.14 20.45C16.84 18.92 17.34 17.34 17.65 15.73M7.86 20.45L4 22L6.35 15.73C6.66 17.34 7.16 18.92 7.86 20.45M12 12C10.9 12 10 11.1 10 10C10 8.9 10.9 8 12 8C13.1 8 14 8.9 14 10C14 11.1 13.1 12 12 12Z\";\r\nexport var mdiRodent = \"M21.33 17.39C22.73 18.66 21.8 21 19.92 21H11.06C8.25 21 6 18.75 6 15.94V15.89C3.7 15.42 2 13.41 2 11C2 8.25 4.22 6 7 6H9.5C9.8 6 10 5.77 10 5.5S9.8 5 9.5 5H7V3H9.5C10.88 3 12 4.13 12 5.5C12 6.89 10.88 8 9.5 8H7C5.34 8 4 9.33 4 11C4 12.37 4.92 13.5 6.14 13.87C6.7 11.67 8.67 10 11.06 10C11.86 10 12.66 10.22 13.36 10.55C11.95 11.34 11 12.8 11 14.5C11 15.75 11.5 16.87 12.33 17.67L13.03 16.97C12.38 16.36 12 15.47 12 14.5C12 11.91 14.34 11 15.5 11C17.58 11 19.45 12.89 18.94 15.23L21.33 17.39M18 19C18.56 19 19 18.56 19 18S18.56 17 18 17 17 17.44 17 18 17.44 19 18 19Z\";\r\nexport var mdiRollerSkate = \"M6.5 18C5.1 18 4 19.12 4 20.5S5.1 23 6.5 23 9 21.88 9 20.5 7.86 18 6.5 18M16.5 18C15.1 18 14 19.12 14 20.5S15.1 23 16.5 23 19 21.88 19 20.5 17.86 18 16.5 18M20 17C20 15.63 20.09 13.81 19.5 12.95C18.55 10.9 15.82 10.56 13.91 10.05C13 10 12 9 11.82 8H9C8.71 8 8.5 7.78 8.5 7.5C8.5 7.22 8.71 7 9 7H11.5V6H9C8.71 6 8.5 5.78 8.5 5.5C8.5 5.22 8.71 5 9 5H11.5V2H3V17H20Z\";\r\nexport var mdiRollerSkateOff = \"M20.84 22.73L18.95 20.84C18.78 22.06 17.75 23 16.5 23C15.1 23 14 21.88 14 20.5C14 19.24 14.93 18.2 16.14 18.03L15.11 17H3V4.9L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M9 5H11.5V2H5.2L8.5 5.32C8.59 5.13 8.77 5 9 5M12.56 9.36C12.18 9 11.9 8.5 11.82 8H11.2L12.56 9.36M19.5 12.95C18.55 10.9 15.82 10.56 13.91 10.05C13.45 10.03 13 9.77 12.6 9.4L20 16.79C20 15.45 20.06 13.76 19.5 12.95M9.2 6L10.2 7H11.5V6H9.2M6.5 18C5.1 18 4 19.12 4 20.5C4 21.88 5.1 23 6.5 23S9 21.88 9 20.5C9 19.12 7.86 18 6.5 18Z\";\r\nexport var mdiRollerblade = \"M4.5 18C3.12 18 2 19.12 2 20.5S3.12 23 4.5 23 7 21.88 7 20.5 5.88 18 4.5 18M18.5 18C17.12 18 16 19.12 16 20.5S17.12 23 18.5 23 21 21.88 21 20.5 19.88 18 18.5 18M20 17C20 15.63 20.09 13.81 19.5 12.95C18.55 10.9 15.82 10.56 13.91 10.05C13 10 12 9 11.82 8H9C8.71 8 8.5 7.78 8.5 7.5C8.5 7.22 8.71 7 9 7H11.5V6H9C8.71 6 8.5 5.78 8.5 5.5C8.5 5.22 8.71 5 9 5H11.5V2H3V17H20M11.5 18C10.12 18 9 19.12 9 20.5S10.12 23 11.5 23 14 21.88 14 20.5 12.88 18 11.5 18Z\";\r\nexport var mdiRollerbladeOff = \"M20.84 22.73L20.32 22.21C19.86 22.69 19.22 23 18.5 23C17.12 23 16 21.88 16 20.5C16 19.78 16.31 19.14 16.79 18.68L15.11 17H3V4.9L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M19.5 12.95C18.55 10.9 15.82 10.56 13.91 10.05C13.45 10.03 13 9.77 12.6 9.4L20 16.79C20 15.45 20.06 13.76 19.5 12.95M9.2 6L10.2 7H11.5V6H9.2M12.56 9.36C12.18 9 11.9 8.5 11.82 8H11.2L12.56 9.36M11.5 18C10.12 18 9 19.12 9 20.5C9 21.88 10.12 23 11.5 23S14 21.88 14 20.5C14 19.12 12.88 18 11.5 18M9 5H11.5V2H5.2L8.5 5.32C8.59 5.13 8.77 5 9 5M4.5 18C3.12 18 2 19.12 2 20.5C2 21.88 3.12 23 4.5 23S7 21.88 7 20.5C7 19.12 5.88 18 4.5 18Z\";\r\nexport var mdiRollupjs = \"M19.46,8.64C19.46,11.11 18.11,13.26 16.12,14.4C16,14.5 15.93,14.66 16,14.81L19.41,21.55C19.5,21.76 19.36,22 19.13,22H6.1L6.17,21.96C6.66,21.68 10.06,14.97 13.38,11.79C16.7,8.61 17.12,9.67 15.29,6.21C15.29,6.21 16.7,8.96 15.5,9.17C14.56,9.34 12.4,7.25 13.2,5.37C14,3.53 17.15,3.88 18.6,5.38C19.15,6.34 19.46,7.45 19.46,8.64M7.16,13.13C5.84,15.56 5,17.33 4.54,18.57V2.31C4.54,2.14 4.68,2 4.85,2H12.92C15.26,2.04 17.31,3.28 18.46,5.15C17.62,4.1 16.3,3.5 15,3.5C12.53,3.5 11.91,4.4 7.16,13.13Z\";\r\nexport var mdiRomanNumeral1 = \"M14 7V9H13V15H14V17H10V15H11V9H10V7H14Z\";\r\nexport var mdiRomanNumeral10 = \"M9 7L11 12L9 17H11L12 14.5L13 17H15L13 12L15 7H13L12 9.5L11 7H9Z\";\r\nexport var mdiRomanNumeral2 = \"M11 7V9H10V15H11V17H7V15H8V9H7V7H11M17 7V9H16V15H17V17H13V15H14V9H13V7H17Z\";\r\nexport var mdiRomanNumeral3 = \"M9 7V9H8V15H9V17H5V15H6V9H5V7H9M14 7V9H13V15H14V17H10V15H11V9H10V7H14M19 7V9H18V15H19V17H15V15H16V9H15V7H19Z\";\r\nexport var mdiRomanNumeral4 = \"M12 7L14 17H16L18 7H16L15 12L14 7H12M11 7V9H10V15H11V17H7V15H8V9H7V7H11Z\";\r\nexport var mdiRomanNumeral5 = \"M9 7L11 17H13L15 7H13L12 12L11 7H9Z\";\r\nexport var mdiRomanNumeral6 = \"M6 7L8 17H10L12 7H10L9 12L8 7H6M17 7V9H16V15H17V17H13V15H14V9H13V7H17Z\";\r\nexport var mdiRomanNumeral7 = \"M4 7L6 17H8L10 7H8L7 12L6 7H4M15 7V9H14V15H15V17H11V15H12V9H11V7H15M20 7V9H19V15H20V17H16V15H17V9H16V7H20Z\";\r\nexport var mdiRomanNumeral8 = \"M1 7L3 17H5L7 7H5L4 12L3 7H1M12 7V9H11V15H12V17H8V15H9V9H8V7H12M17 7V9H16V15H17V17H13V15H14V9H13V7H17M22 7V9H21V15H22V17H18V15H19V9H18V7H22Z\";\r\nexport var mdiRomanNumeral9 = \"M11 7V9H10V15H11V17H7V15H8V9H7V7H11M12 7L14 12L12 17H14L15 14.5L16 17H18L16 12L18 7H16L15 9.5L14 7H12Z\";\r\nexport var mdiRoomService = \"M12,5A2,2 0 0,1 14,7C14,7.24 13.96,7.47 13.88,7.69C17.95,8.5 21,11.91 21,16H3C3,11.91 6.05,8.5 10.12,7.69C10.04,7.47 10,7.24 10,7A2,2 0 0,1 12,5M22,19H2V17H22V19Z\";\r\nexport var mdiRoomServiceOutline = \"M12,5A2,2 0 0,1 14,7C14,7.24 13.96,7.47 13.88,7.69C17.95,8.5 21,11.91 21,16H3C3,11.91 6.05,8.5 10.12,7.69C10.04,7.47 10,7.24 10,7A2,2 0 0,1 12,5M22,19H2V17H22V19M12,9.5C8.89,9.5 6.25,11.39 5.34,14H18.66C17.75,11.39 15.11,9.5 12,9.5Z\";\r\nexport var mdiRotate3d = \"M7.47,21.5C4.2,19.94 1.86,16.76 1.5,13H0C0.5,19.16 5.66,24 11.95,24L12.61,23.97L8.8,20.16L7.47,21.5M8.36,14.96C8.17,14.96 8,14.93 7.84,14.88C7.68,14.82 7.55,14.75 7.44,14.64C7.33,14.54 7.24,14.42 7.18,14.27C7.12,14.13 7.09,13.97 7.09,13.8H5.79C5.79,14.16 5.86,14.5 6,14.75C6.14,15 6.33,15.25 6.56,15.44C6.8,15.62 7.07,15.76 7.38,15.85C7.68,15.95 8,16 8.34,16C8.71,16 9.06,15.95 9.37,15.85C9.69,15.75 9.97,15.6 10.2,15.41C10.43,15.22 10.62,15 10.75,14.69C10.88,14.4 10.95,14.08 10.95,13.72C10.95,13.53 10.93,13.34 10.88,13.16C10.83,13 10.76,12.81 10.65,12.65C10.55,12.5 10.41,12.35 10.25,12.22C10.08,12.09 9.88,12 9.64,11.91C9.84,11.82 10,11.71 10.16,11.58C10.31,11.45 10.43,11.31 10.53,11.16C10.63,11 10.7,10.86 10.75,10.7C10.8,10.54 10.82,10.38 10.82,10.22C10.82,9.86 10.76,9.54 10.64,9.26C10.5,9 10.35,8.75 10.13,8.57C9.93,8.38 9.66,8.24 9.36,8.14C9.05,8.05 8.71,8 8.34,8C8,8 7.65,8.05 7.34,8.16C7.04,8.27 6.77,8.42 6.55,8.61C6.34,8.8 6.17,9 6.04,9.28C5.92,9.54 5.86,9.82 5.86,10.13H7.16C7.16,9.96 7.19,9.81 7.25,9.68C7.31,9.55 7.39,9.43 7.5,9.34C7.61,9.25 7.73,9.17 7.88,9.12C8.03,9.07 8.18,9.04 8.36,9.04C8.76,9.04 9.06,9.14 9.25,9.35C9.44,9.55 9.54,9.84 9.54,10.21C9.54,10.39 9.5,10.55 9.46,10.7C9.41,10.85 9.32,10.97 9.21,11.07C9.1,11.17 8.96,11.25 8.8,11.31C8.64,11.37 8.44,11.4 8.22,11.4H7.45V12.43H8.22C8.44,12.43 8.64,12.45 8.82,12.5C9,12.55 9.15,12.63 9.27,12.73C9.39,12.84 9.5,12.97 9.56,13.13C9.63,13.29 9.66,13.5 9.66,13.7C9.66,14.11 9.54,14.42 9.31,14.63C9.08,14.86 8.76,14.96 8.36,14.96M16.91,9.04C16.59,8.71 16.21,8.45 15.77,8.27C15.34,8.09 14.85,8 14.31,8H11.95V16H14.25C14.8,16 15.31,15.91 15.76,15.73C16.21,15.55 16.6,15.3 16.92,14.97C17.24,14.64 17.5,14.24 17.66,13.78C17.83,13.31 17.92,12.79 17.92,12.21V11.81C17.92,11.23 17.83,10.71 17.66,10.24C17.5,9.77 17.23,9.37 16.91,9.04M16.5,12.2C16.5,12.62 16.47,13 16.38,13.33C16.28,13.66 16.14,13.95 15.95,14.18C15.76,14.41 15.5,14.59 15.24,14.71C14.95,14.83 14.62,14.89 14.25,14.89H13.34V9.12H14.31C15.03,9.12 15.58,9.35 15.95,9.81C16.33,10.27 16.5,10.93 16.5,11.8M11.95,0L11.29,0.03L15.1,3.84L16.43,2.5C19.7,4.06 22.04,7.23 22.39,11H23.89C23.39,4.84 18.24,0 11.95,0Z\";\r\nexport var mdiRotate3dVariant = \"M12,5C16.97,5 21,7.69 21,11C21,12.68 19.96,14.2 18.29,15.29C19.36,14.42 20,13.32 20,12.13C20,9.29 16.42,7 12,7V10L8,6L12,2V5M12,19C7.03,19 3,16.31 3,13C3,11.32 4.04,9.8 5.71,8.71C4.64,9.58 4,10.68 4,11.88C4,14.71 7.58,17 12,17V14L16,18L12,22V19Z\";\r\nexport var mdiRotateLeft = \"M13,4.07V1L8.45,5.55L13,10V6.09C15.84,6.57 18,9.03 18,12C18,14.97 15.84,17.43 13,17.91V19.93C16.95,19.44 20,16.08 20,12C20,7.92 16.95,4.56 13,4.07M7.1,18.32C8.26,19.22 9.61,19.76 11,19.93V17.9C10.13,17.75 9.29,17.41 8.54,16.87L7.1,18.32M6.09,13H4.07C4.24,14.39 4.79,15.73 5.69,16.89L7.1,15.47C6.58,14.72 6.23,13.88 6.09,13M7.11,8.53L5.7,7.11C4.8,8.27 4.24,9.61 4.07,11H6.09C6.23,10.13 6.58,9.28 7.11,8.53Z\";\r\nexport var mdiRotateLeftVariant = \"M4,2H7A2,2 0 0,1 9,4V20A2,2 0 0,1 7,22H4A2,2 0 0,1 2,20V4A2,2 0 0,1 4,2M20,15A2,2 0 0,1 22,17V20A2,2 0 0,1 20,22H11V15H20M14,4A8,8 0 0,1 22,12L21.94,13H19.92L20,12A6,6 0 0,0 14,6V9L10,5L14,1V4Z\";\r\nexport var mdiRotateOrbit = \"M8,14.25L4.75,11H7C7.25,5.39 9.39,1 12,1C14,1 15.77,3.64 16.55,7.45C20.36,8.23 23,10 23,12C23,13.83 20.83,15.43 17.6,16.3L17.89,14.27C19.8,13.72 21,12.91 21,12C21,10.94 19.35,10 16.87,9.5C16.95,10.29 17,11.13 17,12C17,18.08 14.76,23 12,23C10.17,23 8.57,20.83 7.7,17.6L9.73,17.89C10.28,19.8 11.09,21 12,21C13.66,21 15,16.97 15,12C15,11 14.95,10.05 14.85,9.15C13.95,9.05 13,9 12,9L10.14,9.06L10.43,7.05L12,7C12.87,7 13.71,7.05 14.5,7.13C14,4.65 13.06,3 12,3C10.46,3 9.18,6.5 9,11H11.25L8,14.25M14.25,16L11,19.25V17C5.39,16.75 1,14.61 1,12C1,10.17 3.17,8.57 6.4,7.7L6.11,9.73C4.2,10.28 3,11.09 3,12C3,13.54 6.5,14.82 11,15V12.75L14.25,16Z\";\r\nexport var mdiRotateRight = \"M16.89,15.5L18.31,16.89C19.21,15.73 19.76,14.39 19.93,13H17.91C17.77,13.87 17.43,14.72 16.89,15.5M13,17.9V19.92C14.39,19.75 15.74,19.21 16.9,18.31L15.46,16.87C14.71,17.41 13.87,17.76 13,17.9M19.93,11C19.76,9.61 19.21,8.27 18.31,7.11L16.89,8.53C17.43,9.28 17.77,10.13 17.91,11M15.55,5.55L11,1V4.07C7.06,4.56 4,7.92 4,12C4,16.08 7.05,19.44 11,19.93V17.91C8.16,17.43 6,14.97 6,12C6,9.03 8.16,6.57 11,6.09V10L15.55,5.55Z\";\r\nexport var mdiRotateRightVariant = \"M10,4V1L14,5L10,9V6A6,6 0 0,0 4,12L4.08,13H2.06L2,12A8,8 0 0,1 10,4M17,2H20A2,2 0 0,1 22,4V20A2,2 0 0,1 20,22H17A2,2 0 0,1 15,20V4A2,2 0 0,1 17,2M4,15H13V22H4A2,2 0 0,1 2,20V17A2,2 0 0,1 4,15Z\";\r\nexport var mdiRoundedCorner = \"M19,19H21V21H19V19M19,17H21V15H19V17M3,13H5V11H3V13M3,17H5V15H3V17M3,9H5V7H3V9M3,5H5V3H3V5M7,5H9V3H7V5M15,21H17V19H15V21M11,21H13V19H11V21M15,21H17V19H15V21M7,21H9V19H7V21M3,21H5V19H3V21M21,8A5,5 0 0,0 16,3H11V5H16A3,3 0 0,1 19,8V13H21V8Z\";\r\nexport var mdiRouter = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12C22 6.5 17.5 2 12 2M12 20C7.58 20 4 16.42 4 12C4 7.58 7.58 4 12 4C16.42 4 20 7.58 20 12C20 16.42 16.42 20 12 20M13 13V16H15L12 19L9 16H11V13M5 13H8V15L11 12L8 9V11H5M11 11V8H9L12 5L15 8H13V11M19 11H16V9L13 12L16 15V13H19\";\r\nexport var mdiRouterNetwork = \"M5 9C3.9 9 3 9.9 3 11V15C3 16.11 3.9 17 5 17H11V19H10C9.45 19 9 19.45 9 20H2V22H9C9 22.55 9.45 23 10 23H14C14.55 23 15 22.55 15 22H22V20H15C15 19.45 14.55 19 14 19H13V17H19C20.11 17 21 16.11 21 15V11C21 9.9 20.11 9 19 9H5M6 12H8V14H6V12M9.5 12H11.5V14H9.5V12M13 12H15V14H13V12Z\";\r\nexport var mdiRouterWireless = \"M20.2,5.9L21,5.1C19.6,3.7 17.8,3 16,3C14.2,3 12.4,3.7 11,5.1L11.8,5.9C13,4.8 14.5,4.2 16,4.2C17.5,4.2 19,4.8 20.2,5.9M19.3,6.7C18.4,5.8 17.2,5.3 16,5.3C14.8,5.3 13.6,5.8 12.7,6.7L13.5,7.5C14.2,6.8 15.1,6.5 16,6.5C16.9,6.5 17.8,6.8 18.5,7.5L19.3,6.7M19,13H17V9H15V13H5A2,2 0 0,0 3,15V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V15A2,2 0 0,0 19,13M8,18H6V16H8V18M11.5,18H9.5V16H11.5V18M15,18H13V16H15V18Z\";\r\nexport var mdiRouterWirelessOff = \"M11.8 5.9L11 5.1C12.4 3.7 14.2 3 16 3S19.6 3.7 21 5.1L20.2 5.9C19 4.8 17.5 4.2 16 4.2S13 4.8 11.8 5.9M21 15C21 13.9 20.1 13 19 13H17V9H15V11.8L21 17.8V15M18.5 7.5L19.3 6.7C18.4 5.8 17.2 5.3 16 5.3S13.6 5.8 12.7 6.7L13.5 7.5C14.2 6.8 15.1 6.5 16 6.5C16.9 6.5 17.8 6.8 18.5 7.5M22.1 21.5L20.8 22.8L19.1 21H5C3.9 21 3 20.1 3 19V15C3 13.9 3.9 13 5 13H11.1L1.1 3L2.4 1.7L22.1 21.5M8 16H6V18H8V16M11.5 16H9.5V18H11.5V16M15 16.9L14.1 16H13V18H15V16.9Z\";\r\nexport var mdiRouterWirelessSettings = \"M20.2,4.9C19,3.8 17.5,3.2 16,3.2C14.5,3.2 13,3.8 11.8,4.9L11,4.1C12.4,2.7 14.2,2 16,2C17.8,2 19.6,2.7 21,4.1L20.2,4.9M19.3,5.7L18.5,6.5C17.8,5.8 16.9,5.5 16,5.5C15.1,5.5 14.2,5.8 13.5,6.5L12.7,5.7C13.6,4.8 14.8,4.3 16,4.3C17.2,4.3 18.4,4.8 19.3,5.7M19,12A2,2 0 0,1 21,14V18A2,2 0 0,1 19,20H5A2,2 0 0,1 3,18V14A2,2 0 0,1 5,12H15V8H17V12H19M8,17V15H6V17H8M11.5,17V15H9.5V17H11.5M15,17V15H13V17H15M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22Z\";\r\nexport var mdiRoutes = \"M11,10H5L3,8L5,6H11V3L12,2L13,3V4H19L21,6L19,8H13V10H19L21,12L19,14H13V20A2,2 0 0,1 15,22H9A2,2 0 0,1 11,20V10Z\";\r\nexport var mdiRoutesClock = \"M16.5 13H15V16.69L18.19 18.53L18.94 17.23L16.5 15.82V13M16 9C14.04 9 12.27 9.82 11 11.12V7H17L19 5L17 3H11V2L10 1L9 2V6H3L1 8L3 10H9V20C7.9 20 7 20.9 7 22H12.41C13.46 22.63 14.69 23 16 23C19.87 23 23 19.87 23 16S19.87 9 16 9M16 20.85C13.32 20.85 11.15 18.68 11.15 16S13.32 11.15 16 11.15 20.85 13.32 20.85 16 18.68 20.85 16 20.85Z\";\r\nexport var mdiRowing = \"M8.5,14.5L4,19L5.5,20.5L9,17H11L8.5,14.5M15,1A2,2 0 0,0 13,3A2,2 0 0,0 15,5A2,2 0 0,0 17,3A2,2 0 0,0 15,1M21,21L18,24L15,21V19.5L7.91,12.41C7.6,12.46 7.3,12.5 7,12.5V10.32C8.66,10.35 10.61,9.45 11.67,8.28L13.07,6.73C13.26,6.5 13.5,6.35 13.76,6.23C14.05,6.09 14.38,6 14.72,6H14.75C16,6 17,7 17,8.26V14C17,14.85 16.65,15.62 16.08,16.17L12.5,12.59V10.32C11.87,10.84 11.07,11.34 10.21,11.71L16.5,18H18L21,21Z\";\r\nexport var mdiRss = \"M6.18,15.64A2.18,2.18 0 0,1 8.36,17.82C8.36,19 7.38,20 6.18,20C5,20 4,19 4,17.82A2.18,2.18 0 0,1 6.18,15.64M4,4.44A15.56,15.56 0 0,1 19.56,20H16.73A12.73,12.73 0 0,0 4,7.27V4.44M4,10.1A9.9,9.9 0 0,1 13.9,20H11.07A7.07,7.07 0 0,0 4,12.93V10.1Z\";\r\nexport var mdiRssBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M7.5,15A1.5,1.5 0 0,0 6,16.5A1.5,1.5 0 0,0 7.5,18A1.5,1.5 0 0,0 9,16.5A1.5,1.5 0 0,0 7.5,15M6,10V12A6,6 0 0,1 12,18H14A8,8 0 0,0 6,10M6,6V8A10,10 0 0,1 16,18H18A12,12 0 0,0 6,6Z\";\r\nexport var mdiRssOff = \"M2.5,3.77L3.78,2.5L21.5,20.22L20.23,21.5L18.73,20H16.73C16.73,19.25 16.67,18.5 16.54,17.81L6.19,7.46C5.5,7.33 4.75,7.27 4,7.27V5.27L2.5,3.77M6.18,15.64A2.18,2.18 0 0,1 8.36,17.82C8.36,19 7.38,20 6.18,20C5,20 4,19 4,17.82A2.18,2.18 0 0,1 6.18,15.64M4,10.1A9.9,9.9 0 0,1 13.9,20H11.07A7.07,7.07 0 0,0 4,12.93V10.1M9.13,5.31C13.59,6.87 17.13,10.41 18.69,14.87L9.13,5.31Z\";\r\nexport var mdiRug = \"M12 14C10.9 14 10 13.11 10 12S10.9 10 12 10 14 10.9 14 12 13.11 14 12 14M23 19H1V17H4V15H1V13H4V11H1V9H4V7H1V5H23V7H20V9H23V11H20V13H23V15H20V17H23V19M12 15.92C12.62 16.62 13.66 16.81 14.5 16.33C15.34 15.85 15.69 14.84 15.4 13.96C16.31 13.78 17 12.97 17 12S16.31 10.22 15.4 10.04C15.69 9.16 15.34 8.15 14.5 7.67C13.66 7.19 12.62 7.38 12 8.08C11.38 7.38 10.34 7.19 9.5 7.67C8.66 8.15 8.31 9.16 8.61 10.04C7.69 10.22 7 11.03 7 12S7.69 13.78 8.61 13.96C8.31 14.84 8.66 15.85 9.5 16.33C10.34 16.82 11.38 16.62 12 15.92Z\";\r\nexport var mdiRugby = \"M16.22,16.22C18.25,14.19 19.33,11.5 19.45,8.2C18.36,10.61 16.81,12.81 14.81,14.81C12.81,16.81 10.61,18.36 8.2,19.45C11.5,19.36 14.16,18.28 16.22,16.22M7.78,7.78C5.75,9.81 4.67,12.5 4.55,15.8C5,14.8 5.7,13.65 6.61,12.35C7.5,11.05 8.38,10 9.19,9.19C11.19,7.19 13.39,5.64 15.8,4.55C12.5,4.64 9.84,5.72 7.78,7.78M20.5,3.5C21,4.05 21.34,5.11 21.47,6.7C21.59,8.3 21.35,10.16 20.74,12.3C20.13,14.45 19.11,16.23 17.67,17.67C16.36,19 14.8,19.95 13,20.55C11.21,21.16 9.44,21.47 7.69,21.47C5.56,21.47 4.17,21.14 3.5,20.5C3,19.95 2.66,18.89 2.53,17.3C2.41,15.7 2.65,13.84 3.26,11.7C3.87,9.55 4.89,7.77 6.33,6.33C7.64,5 9.2,4.05 11,3.45C12.79,2.84 14.56,2.53 16.31,2.53C18.44,2.53 19.83,2.86 20.5,3.5Z\";\r\nexport var mdiRuler = \"M1.39,18.36L3.16,16.6L4.58,18L5.64,16.95L4.22,15.54L5.64,14.12L8.11,16.6L9.17,15.54L6.7,13.06L8.11,11.65L9.53,13.06L10.59,12L9.17,10.59L10.59,9.17L13.06,11.65L14.12,10.59L11.65,8.11L13.06,6.7L14.47,8.11L15.54,7.05L14.12,5.64L15.54,4.22L18,6.7L19.07,5.64L16.6,3.16L18.36,1.39L22.61,5.64L5.64,22.61L1.39,18.36Z\";\r\nexport var mdiRulerSquare = \"M3,5V21H9V19.5H7V18H9V16.5H5V15H9V13.5H7V12H9V10.5H5V9H9V5H10.5V9H12V7H13.5V9H15V5H16.5V9H18V7H19.5V9H21V3H5A2,2 0 0,0 3,5M6,7A1,1 0 0,1 5,6A1,1 0 0,1 6,5A1,1 0 0,1 7,6A1,1 0 0,1 6,7Z\";\r\nexport var mdiRulerSquareCompass = \"M20 19.88V22L18.2 20.83L13.41 11.83A4.94 4.94 0 0 0 15.19 10.83M15 7A3 3 0 0 1 12 10A3.27 3.27 0 0 1 11.56 10L5.8 20.83L4 22V19.88L9.79 9A3 3 0 0 1 12 4V2A1 1 0 0 1 13 3V4.18A3 3 0 0 1 15 7M13 7A1 1 0 1 0 12 8A1 1 0 0 0 13 7M4.22 10L6 11.8L4.56 14.56L2.1 12.1M12 17.76L10.5 16.25L9 19L12 22L15 19L13.53 16.23M19.78 10L18 11.8L19.5 14.56L21.9 12.1Z\";\r\nexport var mdiRun = \"M13.5,5.5C14.59,5.5 15.5,4.58 15.5,3.5C15.5,2.38 14.59,1.5 13.5,1.5C12.39,1.5 11.5,2.38 11.5,3.5C11.5,4.58 12.39,5.5 13.5,5.5M9.89,19.38L10.89,15L13,17V23H15V15.5L12.89,13.5L13.5,10.5C14.79,12 16.79,13 19,13V11C17.09,11 15.5,10 14.69,8.58L13.69,7C13.29,6.38 12.69,6 12,6C11.69,6 11.5,6.08 11.19,6.08L6,8.28V13H8V9.58L9.79,8.88L8.19,17L3.29,16L2.89,18L9.89,19.38Z\";\r\nexport var mdiRunFast = \"M16.5,5.5A2,2 0 0,0 18.5,3.5A2,2 0 0,0 16.5,1.5A2,2 0 0,0 14.5,3.5A2,2 0 0,0 16.5,5.5M12.9,19.4L13.9,15L16,17V23H18V15.5L15.9,13.5L16.5,10.5C17.89,12.09 19.89,13 22,13V11C20.24,11.03 18.6,10.11 17.7,8.6L16.7,7C16.34,6.4 15.7,6 15,6C14.7,6 14.5,6.1 14.2,6.1L9,8.3V13H11V9.6L12.8,8.9L11.2,17L6.3,16L5.9,18L12.9,19.4M4,9A1,1 0 0,1 3,8A1,1 0 0,1 4,7H7V9H4M5,5A1,1 0 0,1 4,4A1,1 0 0,1 5,3H10V5H5M3,13A1,1 0 0,1 2,12A1,1 0 0,1 3,11H7V13H3Z\";\r\nexport var mdiRvTruck = \"M20 8H22V6L20 4H3A2 2 0 0 0 1 6V15A2 2 0 0 0 3 17H4A3 3 0 0 0 7 20A3 3 0 0 0 10 17H15A3 3 0 0 0 21 17H23V12M7 18.5A1.5 1.5 0 0 1 7 15.5A1.5 1.5 0 0 1 7 18.5M9 12H3V9H9M14 15H11V9H14M18 18.5A1.5 1.5 0 1 1 19.5 17A1.54 1.54 0 0 1 18 18.5M17 12V9.5H19.5L21.5 12Z\";\r\nexport var mdiSack = \"M16,9C20,11 21,18 21,18C21,18 22,22 16,22C10,22 8,22 8,22C2,22 3,18 3,18C3,18 4,11 8,9M14,4L12,2L10,4L6,2L8,7H16L18,2L14,4Z\";\r\nexport var mdiSackPercent = \"M8,7L6,2L10,4L12,2L14,4L18,2L16,7H8M16,22C10,22 8,22 8,22C2,22 3,18 3,18C3,18 4,11 8,9H16C20,11 21,18 21,18C21,18 22,22 16,22M7.5,12.5A1.5,1.5 0 0,0 9,14A1.5,1.5 0 0,0 10.5,12.5A1.5,1.5 0 0,0 9,11A1.5,1.5 0 0,0 7.5,12.5M16.5,18.5A1.5,1.5 0 0,0 15,17A1.5,1.5 0 0,0 13.5,18.5A1.5,1.5 0 0,0 15,20A1.5,1.5 0 0,0 16.5,18.5M16.5,12.35L15.15,11L7.5,18.65L8.87,20L16.5,12.35Z\";\r\nexport var mdiSafe = \"M4,4A2,2 0 0,0 2,6V17A2,2 0 0,0 4,19V20H6V19H17V20H19V19A2,2 0 0,0 21,17V16H22V14H21V9H22V7H21V6A2,2 0 0,0 19,4H4M4,6H19V17H4V6M13.5,7.5A4,4 0 0,0 9.5,11.5A4,4 0 0,0 13.5,15.5A4,4 0 0,0 17.5,11.5A4,4 0 0,0 13.5,7.5M5,9V14H7V9H5M13.5,9.5A2,2 0 0,1 15.5,11.5A2,2 0 0,1 13.5,13.5A2,2 0 0,1 11.5,11.5A2,2 0 0,1 13.5,9.5Z\";\r\nexport var mdiSafeSquare = \"M20 2C21.1 2 22 2.9 22 4V20C22 21.1 21.1 22 20 22H19V23H15V22H9V23H5V22H4C2.9 22 2 21.1 2 20V4C2 2.9 2.9 2 4 2H20M17 12C17 11 16.7 10 16.2 9.2L17.7 7.7L16.3 6.3L14.8 7.8C14 7.3 13 7 12 7C11 7 10 7.3 9.2 7.8L7.8 6.3L6.3 7.8L7.8 9.3C7.3 10 7 11 7 12C7 13 7.3 14 7.8 14.8L6.3 16.3L7.8 17.7L9.3 16.2C10 16.7 11 17 12 17C13 17 14 16.7 14.8 16.2L16.3 17.7L17.7 16.3L16.2 14.8C16.7 14 17 13 17 12M12 9C13.7 9 15 10.3 15 12C15 13.7 13.7 15 12 15C10.3 15 9 13.7 9 12C9 10.3 10.3 9 12 9M12 14C13.1 14 14 13.1 14 12C14 10.9 13.1 10 12 10C10.9 10 10 10.9 10 12C10 13.1 10.9 14 12 14Z\";\r\nexport var mdiSafeSquareOutline = \"M10 12C10 10.9 10.9 10 12 10C13.1 10 14 10.9 14 12C14 13.1 13.1 14 12 14C10.9 14 10 13.1 10 12M7.8 17.7L6.3 16.3L7.8 14.8C7.3 14 7 13 7 12C7 11 7.3 10 7.8 9.3L6.3 7.8L7.8 6.3L9.2 7.8C10 7.3 11 7 12 7C13 7 14 7.3 14.8 7.8L16.3 6.3L17.7 7.7L16.2 9.2C16.7 10 17 11 17 12C17 13 16.7 14 16.2 14.8L17.7 16.3L16.3 17.7L14.8 16.2C14 16.7 13 17 12 17C11 17 10 16.7 9.3 16.2L7.8 17.7M12 9C10.3 9 9 10.3 9 12C9 13.7 10.3 15 12 15C13.7 15 15 13.7 15 12C15 10.3 13.7 9 12 9M20 2C21.1 2 22 2.9 22 4V20C22 21.1 21.1 22 20 22H19V23H15V22H9V23H5V22H4C2.9 22 2 21.1 2 20V4C2 2.9 2.9 2 4 2H20M20 20V4H4V20H20Z\";\r\nexport var mdiSafetyGoggles = \"M18,9C19.11,9 20,9.89 20,11V14C20,15.11 19.11,16 18,16H15.77L14.53,14.77C13.78,14 12.77,13.6 11.7,13.6C10.63,13.6 9.63,14 8.87,14.77L7.64,16H6C4.89,16 4,15.11 4,14V11C4,9.89 4.89,9 6,9H18M18,7H6A4,4 0 0,0 2,11H2L1,11V14H2V14A4,4 0 0,0 6,18H8.5C8.54,17.94 8.59,17.88 10.29,16.18C10.68,15.79 11.19,15.6 11.7,15.6C12.22,15.6 12.73,15.79 13.12,16.18L14.91,18H18A4,4 0 0,0 22,14H22L23,14V11H22V11A4,4 0 0,0 18,7Z\";\r\nexport var mdiSailBoat = \"M3 13.5L11 2.03V13.5H3M12.5 13.5C13.85 9.75 13.67 4.71 12.5 1C17.26 2.54 20.9 8.4 20.96 13.5H12.5M21.1 17.08C20.69 17.72 20.21 18.27 19.65 18.74C19 18.45 18.42 18 17.96 17.5C16.47 19.43 13.46 19.43 11.97 17.5C10.5 19.43 7.47 19.43 6 17.5C5.5 18 4.95 18.45 4.3 18.74C3.16 17.8 2.3 16.46 2 15H21.94C21.78 15.75 21.5 16.44 21.1 17.08M20.96 23C19.9 23 18.9 22.75 17.96 22.25C16.12 23.25 13.81 23.25 11.97 22.25C10.13 23.25 7.82 23.25 6 22.25C4.77 22.94 3.36 23.05 2 23V21C3.41 21.05 4.77 20.9 6 20C7.74 21.25 10.21 21.25 11.97 20C13.74 21.25 16.2 21.25 17.96 20C19.17 20.9 20.54 21.05 21.94 21V23H20.96Z\";\r\nexport var mdiSale = \"M18.65,2.85L19.26,6.71L22.77,8.5L21,12L22.78,15.5L19.24,17.29L18.63,21.15L14.74,20.54L11.97,23.3L9.19,20.5L5.33,21.14L4.71,17.25L1.22,15.47L3,11.97L1.23,8.5L4.74,6.69L5.35,2.86L9.22,3.5L12,0.69L14.77,3.46L18.65,2.85M9.5,7A1.5,1.5 0 0,0 8,8.5A1.5,1.5 0 0,0 9.5,10A1.5,1.5 0 0,0 11,8.5A1.5,1.5 0 0,0 9.5,7M14.5,14A1.5,1.5 0 0,0 13,15.5A1.5,1.5 0 0,0 14.5,17A1.5,1.5 0 0,0 16,15.5A1.5,1.5 0 0,0 14.5,14M8.41,17L17,8.41L15.59,7L7,15.59L8.41,17Z\";\r\nexport var mdiSalesforce = \"M18.38,6.37C17.68,6.37 17.07,6.58 16.47,6.78C15.77,5.57 14.46,4.77 13.05,4.77C11.95,4.77 10.95,5.27 10.24,5.97C9.44,4.97 8.23,4.26 6.83,4.26C4.5,4.26 2.5,6.17 2.5,8.5C2.5,9.09 2.71,9.69 2.91,10.29C1.8,10.9 1,12.1 1,13.5C1,15.5 2.61,17.22 4.62,17.22C4.92,17.22 5.22,17.22 5.42,17.12C5.82,18.63 7.33,19.74 9.14,19.74C10.84,19.74 12.25,18.73 12.75,17.32C13.26,17.53 13.76,17.73 14.26,17.73C15.57,17.73 16.77,17 17.37,15.92C17.68,16 18,16 18.28,16C20.89,16 23,13.91 23,11.2C23.1,8.5 21,6.37 18.38,6.37Z\";\r\nexport var mdiSass = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M10,15.33C10.16,15.87 10.14,16.37 10,16.83C10,16.88 9.96,16.93 9.94,17C9.92,17 9.9,17.07 9.87,17.12C9.76,17.36 9.6,17.59 9.41,17.79C8.83,18.43 8,18.67 7.67,18.47C7.29,18.25 7.5,17.35 8.16,16.64C8.88,15.88 9.92,15.38 9.92,15.38V15.38L10,15.33M18.27,6.28C17.82,4.5 14.87,3.92 12.09,4.91C10.43,5.5 8.63,6.42 7.34,7.63C5.81,9.07 5.56,10.32 5.66,10.84C6,12.68 8.54,13.89 9.58,14.78V14.79C9.28,14.94 7.04,16.07 6.5,17.23C5.96,18.45 6.6,19.33 7,19.45C8.34,19.81 9.69,19.16 10.41,18.07C11.11,17.03 11.06,15.68 10.75,15C11.17,14.9 11.66,14.85 12.28,14.92C14.04,15.13 14.38,16.22 14.31,16.68C14.25,17.14 13.88,17.39 13.76,17.47C13.64,17.54 13.6,17.57 13.61,17.63C13.62,17.71 13.68,17.71 13.78,17.69C13.93,17.66 14.71,17.32 14.74,16.47C14.78,15.39 13.75,14.19 11.93,14.22C11.18,14.24 10.71,14.31 10.37,14.44L10.29,14.35C9.16,13.15 7.08,12.3 7.17,10.68C7.2,10.09 7.4,8.55 11.17,6.67C14.25,5.13 16.72,5.55 17.15,6.5C17.76,7.83 15.83,10.32 12.63,10.68C11.41,10.82 10.76,10.34 10.6,10.17C10.43,10 10.41,9.97 10.35,10C10.24,10.07 10.31,10.23 10.35,10.33C10.44,10.58 10.84,11 11.5,11.24C12.09,11.43 13.53,11.54 15.26,10.87C17.2,10.12 18.72,8.03 18.27,6.28Z\";\r\nexport var mdiSatellite = \"M5,18L8.5,13.5L11,16.5L14.5,12L19,18M5,12V10A5,5 0 0,0 10,5H12A7,7 0 0,1 5,12M5,5H8A3,3 0 0,1 5,8M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiSatelliteUplink = \"M11.86,2L11.34,3.93C15.75,4.78 19.2,8.23 20.05,12.65L22,12.13C20.95,7.03 16.96,3.04 11.86,2M10.82,5.86L10.3,7.81C13.34,8.27 15.72,10.65 16.18,13.68L18.12,13.16C17.46,9.44 14.55,6.5 10.82,5.86M3.72,9.69C3.25,10.73 3,11.86 3,13C3,14.95 3.71,16.82 5,18.28V22H8V20.41C8.95,20.8 9.97,21 11,21C12.14,21 13.27,20.75 14.3,20.28L3.72,9.69M9.79,9.76L9.26,11.72A3,3 0 0,1 12.26,14.72L14.23,14.2C14,11.86 12.13,10 9.79,9.76Z\";\r\nexport var mdiSatelliteVariant = \"M11.62,1L17.28,6.67L15.16,8.79L13.04,6.67L11.62,8.09L13.95,10.41L12.79,11.58L13.24,12.04C14.17,11.61 15.31,11.77 16.07,12.54L12.54,16.07C11.77,15.31 11.61,14.17 12.04,13.24L11.58,12.79L10.41,13.95L8.09,11.62L6.67,13.04L8.79,15.16L6.67,17.28L1,11.62L3.14,9.5L5.26,11.62L6.67,10.21L3.84,7.38C3.06,6.6 3.06,5.33 3.84,4.55L4.55,3.84C5.33,3.06 6.6,3.06 7.38,3.84L10.21,6.67L11.62,5.26L9.5,3.14L11.62,1M18,14A4,4 0 0,1 14,18V16A2,2 0 0,0 16,14H18M22,14A8,8 0 0,1 14,22V20A6,6 0 0,0 20,14H22Z\";\r\nexport var mdiSausage = \"M19 5.3C20.2 5.8 21 7.1 21 8.5C21 15.4 15.4 21 8.5 21C7.1 21 5.9 20.2 5.3 19L3 20.5V14.5L5.3 16C5.9 14.8 7.1 14 8.5 14C11.5 14 14 11.5 14 8.5C14 7.1 14.8 5.9 16 5.3L14.5 3H20.5L19 5.3Z\";\r\nexport var mdiSausageOff = \"M20.8 22.7L16.3 18.2C14.2 19.9 11.4 21 8.5 21C7.1 21 5.9 20.2 5.3 19L3 20.5V14.5L5.3 16C5.8 14.8 7.1 14 8.5 14C9.5 14 10.5 13.7 11.3 13.2L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M21 8.5C21 7.1 20.2 5.9 19 5.3L20.5 3H14.5L16 5.3C14.8 5.8 14 7.1 14 8.5C14 9.2 13.9 9.8 13.6 10.4L18.7 15.6C20.2 13.6 21 11.1 21 8.5Z\";\r\nexport var mdiSawBlade = \"M20,15C20,15 18.6,16.3 21.1,17L18.3,19.8H15.5C15.5,19.8 13.6,19.7 15,22H11L9,20C9,20 7.7,18.6 7,21.1L4.2,18.3V15.5C4.2,15.5 4.3,13.6 2,15V11L4,9C4,9 5.4,7.7 2.8,7.1L5.6,4.2H8.5C8.5,4.2 10.4,4.3 9,2H13L15,4C15,4 16.3,5.4 17,2.8L19.8,5.6V8.5C19.8,8.5 19.7,10.4 22,9V13L20,15M14,12A2,2 0 0,0 12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12Z\";\r\nexport var mdiSawtoothWave = \"M11 22V6.83L2 16V13.17L13 2V17.17L22 8V10.83L11 22Z\";\r\nexport var mdiSaxophone = \"M4,2A1,1 0 0,0 3,3A1,1 0 0,0 4,4A3,3 0 0,1 7,7V8.66L7,15.5C7,19.1 9.9,22 13.5,22C17.1,22 20,19.1 20,15.5V13A1,1 0 0,0 21,12A1,1 0 0,0 20,11H14A1,1 0 0,0 13,12A1,1 0 0,0 14,13V15A1,1 0 0,1 13,16A1,1 0 0,1 12,15V11A1,1 0 0,0 13,10A1,1 0 0,0 12,9V8A1,1 0 0,0 13,7A1,1 0 0,0 12,6V5.5A3.5,3.5 0 0,0 8.5,2H4Z\";\r\nexport var mdiScale = \"M8.46,15.06L7.05,16.47L5.68,15.1C4.82,16.21 4.24,17.54 4.06,19H6V21H2V20C2,15.16 5.44,11.13 10,10.2V8.2L2,5V3H22V5L14,8.2V10.2C18.56,11.13 22,15.16 22,20V21H18V19H19.94C19.76,17.54 19.18,16.21 18.32,15.1L16.95,16.47L15.54,15.06L16.91,13.68C15.8,12.82 14.46,12.24 13,12.06V14H11V12.06C9.54,12.24 8.2,12.82 7.09,13.68L8.46,15.06M12,18A2,2 0 0,1 14,20A2,2 0 0,1 12,22C11.68,22 11.38,21.93 11.12,21.79L7.27,20L11.12,18.21C11.38,18.07 11.68,18 12,18Z\";\r\nexport var mdiScaleBalance = \"M12,3C10.73,3 9.6,3.8 9.18,5H3V7H4.95L2,14C1.53,16 3,17 5.5,17C8,17 9.56,16 9,14L6.05,7H9.17C9.5,7.85 10.15,8.5 11,8.83V20H2V22H22V20H13V8.82C13.85,8.5 14.5,7.85 14.82,7H17.95L15,14C14.53,16 16,17 18.5,17C21,17 22.56,16 22,14L19.05,7H21V5H14.83C14.4,3.8 13.27,3 12,3M12,5A1,1 0 0,1 13,6A1,1 0 0,1 12,7A1,1 0 0,1 11,6A1,1 0 0,1 12,5M5.5,10.25L7,14H4L5.5,10.25M18.5,10.25L20,14H17L18.5,10.25Z\";\r\nexport var mdiScaleBathroom = \"M5,2H19A2,2 0 0,1 21,4V20A2,2 0 0,1 19,22H5A2,2 0 0,1 3,20V4A2,2 0 0,1 5,2M12,4A4,4 0 0,0 8,8H11.26L10.85,5.23L12.9,8H16A4,4 0 0,0 12,4M5,10V20H19V10H5Z\";\r\nexport var mdiScaleOff = \"M22.11 21.46L20.84 22.73L19.11 21H18V19.89L12.11 14H11V12.89L10.31 12.2A7.92 7.92 0 0 0 7.09 13.68L8.46 15.06L7.05 16.47L5.68 15.1A7.94 7.94 0 0 0 4.06 19H6V21H2V20A10 10 0 0 1 8.68 10.57L3.85 5.74L2 5V3.89L1.11 3L2.39 1.73M21.91 18.71A10 10 0 0 0 14 10.2V8.2L22 5V3H6.2M12 18A1.84 1.84 0 0 0 11.12 18.21L7.27 20L11.12 21.79A1.84 1.84 0 0 0 12 22A2 2 0 0 0 12 18Z\";\r\nexport var mdiScanHelper = \"M0 2A2 2 0 0 1 2 0H6V2H2V6H0V2M24 22A2 2 0 0 1 22 24H18V22H22V18H24V22M2 24A2 2 0 0 1 0 22V18H2V22H6V24H2M22 0A2 2 0 0 1 24 2V6H22V2H18V0H22Z\";\r\nexport var mdiScanner = \"M4.2,10.7L19.8,5L20.5,6.9L6.4,12H19A2,2 0 0,1 21,14V18A2,2 0 0,1 19,20H5A2,2 0 0,1 3,18V12.5C3,11.7 3.5,10.9 4.2,10.7M17,17H19V15H17V17M5,17H15V15H5V17Z\";\r\nexport var mdiScannerOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L16.73,20H5A2,2 0 0,1 3,18V12.5C3,11.7 3.5,10.9 4.2,10.7L6.57,9.84L2,5.27M6.4,12H8.73L8.11,11.38L6.4,12M5,15V17H13.73L11.73,15H5M19.8,5L20.5,6.9L11.85,10.03L10.3,8.47L19.8,5M19,12A2,2 0 0,1 21,14V18C21,18.34 20.91,18.66 20.76,18.94L19,17.18V15H16.82L13.82,12H19Z\";\r\nexport var mdiScatterPlot = \"M7,11A3,3 0 0,1 10,14A3,3 0 0,1 7,17A3,3 0 0,1 4,14A3,3 0 0,1 7,11M11,3A3,3 0 0,1 14,6A3,3 0 0,1 11,9A3,3 0 0,1 8,6A3,3 0 0,1 11,3M16.6,14.6C18.25,14.6 19.6,15.94 19.6,17.6A3,3 0 0,1 16.6,20.6C14.94,20.6 13.6,19.25 13.6,17.6A3,3 0 0,1 16.6,14.6Z\";\r\nexport var mdiScatterPlotOutline = \"M7,18A4,4 0 0,1 3,14A4,4 0 0,1 7,10A4,4 0 0,1 11,14A4,4 0 0,1 7,18M7,12A2,2 0 0,0 5,14A2,2 0 0,0 7,16A2,2 0 0,0 9,14A2,2 0 0,0 7,12M11,10A4,4 0 0,1 7,6A4,4 0 0,1 11,2A4,4 0 0,1 15,6A4,4 0 0,1 11,10M11,4A2,2 0 0,0 9,6A2,2 0 0,0 11,8A2,2 0 0,0 13,6A2,2 0 0,0 11,4M16.6,21.6C14.39,21.6 12.6,19.81 12.6,17.6A4,4 0 0,1 16.6,13.6C18.81,13.6 20.6,15.39 20.6,17.6A4,4 0 0,1 16.6,21.6M16.6,15.6A2,2 0 0,0 14.6,17.6C14.6,18.7 15.5,19.6 16.6,19.6A2,2 0 0,0 18.6,17.6C18.6,16.5 17.7,15.6 16.6,15.6Z\";\r\nexport var mdiSchool = \"M12,3L1,9L12,15L21,10.09V17H23V9M5,13.18V17.18L12,21L19,17.18V13.18L12,17L5,13.18Z\";\r\nexport var mdiSchoolOutline = \"M12 3L1 9L5 11.18V17.18L12 21L19 17.18V11.18L21 10.09V17H23V9L12 3M18.82 9L12 12.72L5.18 9L12 5.28L18.82 9M17 16L12 18.72L7 16V12.27L12 15L17 12.27V16Z\";\r\nexport var mdiScissorsCutting = \"M11,21H7V19H11V21M15.5,19H17V21H13V19H13.2L11.8,12.9L9.3,13.5C9.2,14 9,14.4 8.8,14.8C7.9,16.3 6,16.7 4.5,15.8C3,14.9 2.6,13 3.5,11.5C4.4,10 6.3,9.6 7.8,10.5C8.2,10.7 8.5,11.1 8.7,11.4L11.2,10.8L10.6,8.3C10.2,8.2 9.8,8 9.4,7.8C8,6.9 7.5,5 8.4,3.5C9.3,2 11.2,1.6 12.7,2.5C14.2,3.4 14.6,5.3 13.7,6.8C13.5,7.2 13.1,7.5 12.8,7.7L15.5,19M7,11.8C6.3,11.3 5.3,11.6 4.8,12.3C4.3,13 4.6,14 5.3,14.4C6,14.9 7,14.7 7.5,13.9C7.9,13.2 7.7,12.2 7,11.8M12.4,6C12.9,5.3 12.6,4.3 11.9,3.8C11.2,3.3 10.2,3.6 9.7,4.3C9.3,5 9.5,6 10.3,6.5C11,6.9 12,6.7 12.4,6M12.8,11.3C12.6,11.2 12.4,11.2 12.3,11.4C12.2,11.6 12.2,11.8 12.4,11.9C12.6,12 12.8,12 12.9,11.8C13.1,11.6 13,11.4 12.8,11.3M21,8.5L14.5,10L15,12.2L22.5,10.4L23,9.7L21,8.5M23,19H19V21H23V19M5,19H1V21H5V19Z\";\r\nexport var mdiScooter = \"M7.82 19H15V18C15 15.79 16.79 14 19 14H19.74L17.84 5.56C17.63 4.65 16.82 4 15.89 4H12V6H15.89L17.29 12.25H17.28C15.12 12.9 13.47 14.73 13.09 17H7.82C7.34 15.66 5.96 14.76 4.4 15.06C3.22 15.29 2.27 16.26 2.05 17.44C1.7 19.34 3.16 21 5 21C6.3 21 7.4 20.16 7.82 19M5 19C4.45 19 4 18.55 4 18S4.45 17 5 17 6 17.45 6 18 5.55 19 5 19M19 15C17.34 15 16 16.34 16 18S17.34 21 19 21 22 19.66 22 18 20.66 15 19 15M19 19C18.45 19 18 18.55 18 18S18.45 17 19 17 20 17.45 20 18 19.55 19 19 19Z\";\r\nexport var mdiScooterElectric = \"M7.82 16H15V15C15 12.79 16.79 11 19 11H19.74L17.84 2.56C17.63 1.65 16.82 1 15.89 1H12V3H15.89L17.29 9.25H17.28C15.12 9.9 13.47 11.73 13.09 14H7.82C7.34 12.66 5.96 11.76 4.4 12.06C3.22 12.29 2.27 13.26 2.05 14.44C1.7 16.34 3.16 18 5 18C6.3 18 7.4 17.16 7.82 16M5 16C4.45 16 4 15.55 4 15S4.45 14 5 14 6 14.45 6 15 5.55 16 5 16M19 12C17.34 12 16 13.34 16 15S17.34 18 19 18 22 16.66 22 15 20.66 12 19 12M19 16C18.45 16 18 15.55 18 15S18.45 14 19 14 20 14.45 20 15 19.55 16 19 16M11 20H7L13 23V21H17L11 18V20Z\";\r\nexport var mdiScoreboard = \"M6 9H8V15H6V9M16 9H18V15H16V9M21 3C22.1 3 23 3.9 23 5V19C23 20.1 22.1 21 21 21H3C1.9 21 1 20.1 1 19V5C1 3.9 1.9 3 3 3H21M5 7C4.4 7 4 7.4 4 8V16C4 16.6 4.4 17 5 17H9C9.6 17 10 16.6 10 16V8C10 7.4 9.6 7 9 7H5M15 7C14.4 7 14 7.4 14 8V16C14 16.6 14.4 17 15 17H19C19.6 17 20 16.6 20 16V8C20 7.4 19.6 7 19 7H15M12 11C12.6 11 13 10.6 13 10C13 9.4 12.6 9 12 9C11.4 9 11 9.4 11 10C11 10.6 11.4 11 12 11M12 15C12.6 15 13 14.6 13 14C13 13.4 12.6 13 12 13C11.4 13 11 13.4 11 14C11 14.6 11.4 15 12 15Z\";\r\nexport var mdiScoreboardOutline = \"M21 3H3C1.9 3 1 3.9 1 5V19C1 20.1 1.9 21 3 21H21C22.1 21 23 20.1 23 19V5C23 3.9 22.1 3 21 3M21 19H3V5H21M5 7H9C9.6 7 10 7.4 10 8V16C10 16.6 9.6 17 9 17H5C4.4 17 4 16.6 4 16V8C4 7.4 4.4 7 5 7M6 9V15H8V9M15 7H19C19.6 7 20 7.4 20 8V16C20 16.6 19.6 17 19 17H15C14.4 17 14 16.6 14 16V8C14 7.4 14.4 7 15 7M16 9V15H18V9M12 11C12.6 11 13 10.6 13 10C13 9.4 12.6 9 12 9C11.4 9 11 9.4 11 10C11 10.6 11.4 11 12 11M12 15C12.6 15 13 14.6 13 14C13 13.4 12.6 13 12 13C11.4 13 11 13.4 11 14C11 14.6 11.4 15 12 15Z\";\r\nexport var mdiScreenRotation = \"M7.5,21.5C4.25,19.94 1.91,16.76 1.55,13H0.05C0.56,19.16 5.71,24 12,24L12.66,23.97L8.85,20.16M14.83,21.19L2.81,9.17L9.17,2.81L21.19,14.83M10.23,1.75C9.64,1.16 8.69,1.16 8.11,1.75L1.75,8.11C1.16,8.7 1.16,9.65 1.75,10.23L13.77,22.25C14.36,22.84 15.31,22.84 15.89,22.25L22.25,15.89C22.84,15.3 22.84,14.35 22.25,13.77L10.23,1.75M16.5,2.5C19.75,4.07 22.09,7.24 22.45,11H23.95C23.44,4.84 18.29,0 12,0L11.34,0.03L15.15,3.84L16.5,2.5Z\";\r\nexport var mdiScreenRotationLock = \"M16.8,2.5C16.8,1.56 17.56,0.8 18.5,0.8C19.44,0.8 20.2,1.56 20.2,2.5V3H16.8V2.5M16,9H21A1,1 0 0,0 22,8V4A1,1 0 0,0 21,3V2.5A2.5,2.5 0 0,0 18.5,0A2.5,2.5 0 0,0 16,2.5V3A1,1 0 0,0 15,4V8A1,1 0 0,0 16,9M8.47,20.5C5.2,18.94 2.86,15.76 2.5,12H1C1.5,18.16 6.66,23 12.95,23L13.61,22.97L9.8,19.15L8.47,20.5M23.25,12.77L20.68,10.2L19.27,11.61L21.5,13.83L15.83,19.5L4.5,8.17L10.17,2.5L12.27,4.61L13.68,3.2L11.23,0.75C10.64,0.16 9.69,0.16 9.11,0.75L2.75,7.11C2.16,7.7 2.16,8.65 2.75,9.23L14.77,21.25C15.36,21.84 16.31,21.84 16.89,21.25L23.25,14.89C23.84,14.3 23.84,13.35 23.25,12.77Z\";\r\nexport var mdiScrewFlatTop = \"M13.5,17V19L12,22L10.5,19L13.5,17M14.5,6.3L13.5,7V6H10.5V9L9.5,9.7V10.7L14.5,7.4V6.3M14.5,10.3L13.5,11V9L10.5,11V13L9.5,13.7V14.7L14.5,11.4V10.3M14.5,14.3L13.5,15V13L10.5,15V17L9.5,17.7V18.7L14.5,15.4V14.3M8,2C8,2 7,2 7,3L10,5H14L17,3C17,3 17,2 16,2C15,2 8,2 8,2Z\";\r\nexport var mdiScrewLag = \"M10,19.3L14,16.6V20L12,22L10,20V19.3M14,12.7L10,15.4V17.4L9,18V19L15,15.1V14L14,14.7V12.7M7,2V5H17V2H7M9,6V9L10,9.7V13.4L9,14V15L15,11.1V10L14,10.7C14,10.7 14,10.3 14,9.7L15,9V6H9Z\";\r\nexport var mdiScrewMachineFlatTop = \"M14.5,7.3L13.5,8V7H10.5V10L9.5,10.7V11.7L14.5,8.4V7.3M14.5,11.3L13.5,12V10L10.5,12V14L9.5,14.7V15.7L14.5,12.4V11.3M14.5,15.3L13.5,16V14L10.5,16V18L9.5,18.7V19.7L14.5,16.4V15.3M8,3C8,3 7,3 7,4L10,6H14L17,4C17,4 17,3 16,3C15,3 8,3 8,3M13.5,18V21H10.5V20L13.5,18Z\";\r\nexport var mdiScrewMachineRoundTop = \"M14.5,7.3L13.5,8V7H10.5V10L9.5,10.7V11.7L14.5,8.4V7.3M14.5,11.3L13.5,12V10L10.5,12V14L9.5,14.7V15.7L14.5,12.4V11.3M14.5,15.3L13.5,16V14L10.5,16V18L9.5,18.7V19.7L14.5,16.4V15.3M7,6H17C17,6 16,3 12,3C8,3 7,6 7,6M13.5,18V21H10.5V20L13.5,18Z\";\r\nexport var mdiScrewRoundTop = \"M13.5,17V19L12,22L10.5,19L13.5,17M14.5,6.3L13.5,7V6H10.5V9L9.5,9.7V10.7L14.5,7.4V6.3M14.5,10.3L13.5,11V9L10.5,11V13L9.5,13.7V14.7L14.5,11.4V10.3M14.5,14.3L13.5,15V13L10.5,15V17L9.5,17.7V18.7L14.5,15.4V14.3M7,5H17C17,5 16,2 12,2C8,2 7,5 7,5Z\";\r\nexport var mdiScrewdriver = \"M18,1.83C17.5,1.83 17,2 16.59,2.41C13.72,5.28 8,11 8,11L9.5,12.5L6,16H4L2,20L4,22L8,20V18L11.5,14.5L13,16C13,16 18.72,10.28 21.59,7.41C22.21,6.5 22.37,5.37 21.59,4.59L19.41,2.41C19,2 18.5,1.83 18,1.83M18,4L20,6L13,13L11,11L18,4Z\";\r\nexport var mdiScript = \"M17.8,20C17.4,21.2 16.3,22 15,22H5C3.3,22 2,20.7 2,19V18H5L14.2,18C14.6,19.2 15.7,20 17,20H17.8M19,2H8C6.3,2 5,3.3 5,5V16H16V17C16,17.6 16.4,18 17,18H18V5C18,4.4 18.4,4 19,4C19.6,4 20,4.4 20,5V6H22V5C22,3.3 20.7,2 19,2Z\";\r\nexport var mdiScriptOutline = \"M15,20A1,1 0 0,0 16,19V4H8A1,1 0 0,0 7,5V16H5V5A3,3 0 0,1 8,2H19A3,3 0 0,1 22,5V6H20V5A1,1 0 0,0 19,4A1,1 0 0,0 18,5V9L18,19A3,3 0 0,1 15,22H5A3,3 0 0,1 2,19V18H13A2,2 0 0,0 15,20Z\";\r\nexport var mdiScriptText = \"M17.8,20C17.4,21.2 16.3,22 15,22H5C3.3,22 2,20.7 2,19V18H5L14.2,18C14.6,19.2 15.7,20 17,20H17.8M19,2C20.7,2 22,3.3 22,5V6H20V5C20,4.4 19.6,4 19,4C18.4,4 18,4.4 18,5V18H17C16.4,18 16,17.6 16,17V16H5V5C5,3.3 6.3,2 8,2H19M8,6V8H15V6H8M8,10V12H14V10H8Z\";\r\nexport var mdiScriptTextKey = \"M19 2H8C6.3 2 5 3.3 5 5V16H13C13.8 15.4 14.9 15 16 15C16.7 15 17.4 15.2 18 15.4V5C18 4.4 18.4 4 19 4S20 4.4 20 5V6H22V5C22 3.3 20.7 2 19 2M14 12H8V10H14V12M15 8H8V6H15V8M11.4 22H5C3.3 22 2 20.7 2 19V18H11.4C11.1 18.6 11 19.3 11 20S11.1 21.4 11.4 22M18.8 19C18.4 17.8 17.3 17 16 17C14.3 17 13 18.3 13 20S14.3 23 16 23C17.3 23 18.4 22.2 18.8 21H20V23H22V21H23V19H18.8M16 21.3C15.3 21.3 14.7 20.7 14.7 20S15.3 18.7 16 18.7C16.7 18.7 17.3 19.3 17.3 20S16.7 21.3 16 21.3Z\";\r\nexport var mdiScriptTextKeyOutline = \"M11.4 22H5C3.3 22 2 20.7 2 19V18H11.4C11.1 18.6 11 19.3 11 20S11.2 21.4 11.4 22M19 2H8C6.3 2 5 3.3 5 5V16H7V5C7 4.4 7.4 4 8 4H16V15C16.7 15 17.4 15.2 18 15.4V5C18 4.4 18.4 4 19 4S20 4.4 20 5V6H22V5C22 3.3 20.7 2 19 2M9 8H14V6H9V8M9 16H13C13.3 15.8 13.6 15.6 14 15.4V14H9V16M9 12H14V10H9V12M23 19V21H22V23H20V21H18.8C18.4 22.2 17.3 23 16 23C14.3 23 13 21.7 13 20S14.3 17 16 17C17.3 17 18.4 17.8 18.8 19H23M17.3 20C17.3 19.3 16.7 18.7 16 18.7S14.7 19.3 14.7 20 15.3 21.3 16 21.3 17.3 20.7 17.3 20Z\";\r\nexport var mdiScriptTextOutline = \"M15,20A1,1 0 0,0 16,19V4H8A1,1 0 0,0 7,5V16H5V5A3,3 0 0,1 8,2H19A3,3 0 0,1 22,5V6H20V5A1,1 0 0,0 19,4A1,1 0 0,0 18,5V9L18,19A3,3 0 0,1 15,22H5A3,3 0 0,1 2,19V18H13A2,2 0 0,0 15,20M9,6H14V8H9V6M9,10H14V12H9V10M9,14H14V16H9V14Z\";\r\nexport var mdiScriptTextPlay = \"M13.8 22H5C3.3 22 2 20.7 2 19V18H13.1C13 18.3 13 18.7 13 19C13 20.1 13.3 21.1 13.8 22M13.8 16H5V5C5 3.3 6.3 2 8 2H19C20.7 2 22 3.3 22 5V6H20V5C20 4.4 19.6 4 19 4S18 4.4 18 5V13.1C16.2 13.4 14.7 14.5 13.8 16M8 8H15V6H8V8M8 12H14V10H8V12M17 16V22L22 19L17 16Z\";\r\nexport var mdiScriptTextPlayOutline = \"M9 14H14V15.7C13.9 15.8 13.9 15.9 13.8 16H9V14M9 12H14V10H9V12M9 8H14V6H9V8M7 5C7 4.4 7.4 4 8 4H16V13.8C16.6 13.4 17.3 13.2 18 13.1V5C18 4.4 18.4 4 19 4S20 4.4 20 5V6H22V5C22 3.3 20.7 2 19 2H8C6.3 2 5 3.3 5 5V16H7V5M13 19V18.4 18H2V19C2 20.7 3.3 22 5 22H13.8C13.3 21.1 13 20.1 13 19M17 16V22L22 19L17 16Z\";\r\nexport var mdiSd = \"M18,8H16V4H18M15,8H13V4H15M12,8H10V4H12M18,2H10L4,8V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V4A2,2 0 0,0 18,2Z\";\r\nexport var mdiSeal = \"M20.39,19.37L16.38,18L15,22L11.92,16L9,22L7.62,18L3.61,19.37L6.53,13.37C5.57,12.17 5,10.65 5,9A7,7 0 0,1 12,2A7,7 0 0,1 19,9C19,10.65 18.43,12.17 17.47,13.37L20.39,19.37M7,9L9.69,10.34L9.5,13.34L12,11.68L14.5,13.33L14.33,10.34L17,9L14.32,7.65L14.5,4.67L12,6.31L9.5,4.65L9.67,7.66L7,9Z\";\r\nexport var mdiSealVariant = \"M17.71 6.15C17.46 5.38 16.79 5.21 16.45 4.77C16.14 4.31 16.18 3.62 15.53 3.15S14.23 2.92 13.7 2.77 12.81 2 12 2 10.82 2.58 10.3 2.77 9.13 2.67 8.47 3.15 7.86 4.31 7.55 4.77C7.21 5.21 6.55 5.38 6.29 6.15S6.5 7.45 6.5 8 6 9.08 6.29 9.85 7.21 10.79 7.55 11.23C7.86 11.69 7.82 12.38 8.47 12.85S9.77 13.08 10.3 13.23 11.19 14 12 14 13.18 13.42 13.7 13.23 14.87 13.33 15.53 12.85 16.14 11.69 16.45 11.23C16.79 10.79 17.45 10.62 17.71 9.85S17.5 8.55 17.5 8 18 6.92 17.71 6.15M12 12A4 4 0 1 1 16 8A4 4 0 0 1 12 12M14 8A2 2 0 1 1 12 6A2 2 0 0 1 14 8M13.71 15.56L13.08 19.16L12.35 23.29L9.74 20.8L6.44 22.25L7.77 14.75A4 4 0 0 0 9.66 15.17A4.15 4.15 0 0 0 11 15.85A3.32 3.32 0 0 0 12 16A3.5 3.5 0 0 0 13.71 15.56M17.92 18.78L15.34 17.86L15.85 14.92A3.2 3.2 0 0 0 16.7 14.47L16.82 14.37Z\";\r\nexport var mdiSearchWeb = \"M15.5,14L20.5,19L19,20.5L14,15.5V14.71L13.73,14.43C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.43,13.73L14.71,14H15.5M9.5,4.5L8.95,4.53C8.71,5.05 8.34,5.93 8.07,7H10.93C10.66,5.93 10.29,5.05 10.05,4.53C9.87,4.5 9.69,4.5 9.5,4.5M13.83,7C13.24,5.97 12.29,5.17 11.15,4.78C11.39,5.31 11.7,6.08 11.93,7H13.83M5.17,7H7.07C7.3,6.08 7.61,5.31 7.85,4.78C6.71,5.17 5.76,5.97 5.17,7M4.5,9.5C4.5,10 4.58,10.53 4.73,11H6.87L6.75,9.5L6.87,8H4.73C4.58,8.47 4.5,9 4.5,9.5M14.27,11C14.42,10.53 14.5,10 14.5,9.5C14.5,9 14.42,8.47 14.27,8H12.13C12.21,8.5 12.25,9 12.25,9.5C12.25,10 12.21,10.5 12.13,11H14.27M7.87,8L7.75,9.5L7.87,11H11.13C11.21,10.5 11.25,10 11.25,9.5C11.25,9 11.21,8.5 11.13,8H7.87M9.5,14.5C9.68,14.5 9.86,14.5 10.03,14.47C10.28,13.95 10.66,13.07 10.93,12H8.07C8.34,13.07 8.72,13.95 8.97,14.47L9.5,14.5M13.83,12H11.93C11.7,12.92 11.39,13.69 11.15,14.22C12.29,13.83 13.24,13.03 13.83,12M5.17,12C5.76,13.03 6.71,13.83 7.85,14.22C7.61,13.69 7.3,12.92 7.07,12H5.17Z\";\r\nexport var mdiSeat = \"M4,18V21H7V18H17V21H20V15H4V18M19,10H22V13H19V10M2,10H5V13H2V10M17,13H7V5A2,2 0 0,1 9,3H15A2,2 0 0,1 17,5V13Z\";\r\nexport var mdiSeatFlat = \"M22,11V13H9V7H18A4,4 0 0,1 22,11M2,14V16H8V18H16V16H22V14M7.14,12.1C8.3,10.91 8.28,9 7.1,7.86C5.91,6.7 4,6.72 2.86,7.9C1.7,9.09 1.72,11 2.9,12.14C4.09,13.3 6,13.28 7.14,12.1Z\";\r\nexport var mdiSeatFlatAngled = \"M22.25,14.29L21.56,16.18L9.2,11.71L11.28,6.05L19.84,9.14C21.94,9.9 23,12.2 22.25,14.29M1.5,12.14L8,14.5V19H16V17.37L20.5,19L21.21,17.11L2.19,10.25M7.3,10.2C8.79,9.5 9.42,7.69 8.71,6.2C8,4.71 6.2,4.08 4.7,4.8C3.21,5.5 2.58,7.3 3.3,8.8C4,10.29 5.8,10.92 7.3,10.2Z\";\r\nexport var mdiSeatIndividualSuite = \"M7,13A3,3 0 0,0 10,10A3,3 0 0,0 7,7A3,3 0 0,0 4,10A3,3 0 0,0 7,13M19,7H11V14H3V7H1V17H23V11A4,4 0 0,0 19,7Z\";\r\nexport var mdiSeatLegroomExtra = \"M4,12V3H2V12A5,5 0 0,0 7,17H13V15H7A3,3 0 0,1 4,12M22.83,17.24C22.45,16.5 21.54,16.27 20.8,16.61L19.71,17.11L16.3,10.13C15.96,9.45 15.27,9 14.5,9H11V3H5V11A3,3 0 0,0 8,14H15L18.41,21L22.13,19.3C22.9,18.94 23.23,18 22.83,17.24Z\";\r\nexport var mdiSeatLegroomNormal = \"M5,12V3H3V12A5,5 0 0,0 8,17H14V15H8A3,3 0 0,1 5,12M20.5,18H19V11A2,2 0 0,0 17,9H12V3H6V11A3,3 0 0,0 9,14H16V21H20.5A1.5,1.5 0 0,0 22,19.5A1.5,1.5 0 0,0 20.5,18Z\";\r\nexport var mdiSeatLegroomReduced = \"M19.97,19.2C20.15,20.16 19.42,21 18.5,21H14V18L15,14H9A3,3 0 0,1 6,11V3H12V9H17A2,2 0 0,1 19,11L17,18H18.44C19.17,18 19.83,18.5 19.97,19.2M5,12V3H3V12A5,5 0 0,0 8,17H12V15H8A3,3 0 0,1 5,12Z\";\r\nexport var mdiSeatOutline = \"M15,5V12H9V5H15M15,3H9A2,2 0 0,0 7,5V14H17V5A2,2 0 0,0 15,3M22,10H19V13H22V10M5,10H2V13H5V10M20,15H4V21H6V17H18V21H20V15Z\";\r\nexport var mdiSeatPassenger = \"M9 19H15V21H9C6.24 21 4 18.76 4 16V7H6V16C6 17.66 7.34 19 9 19M10.42 5.41C11.2 4.63 11.2 3.36 10.42 2.58C9.64 1.8 8.37 1.8 7.59 2.58C6.81 3.36 6.81 4.63 7.59 5.41C8.37 6.2 9.63 6.2 10.42 5.41M11.5 9C11.5 7.9 10.6 7 9.5 7H9C7.9 7 7 7.9 7 9V15C7 16.66 8.34 18 10 18H15.07L18.57 21.5L20 20.07L14.93 15H11.5L11.5 9Z\";\r\nexport var mdiSeatReclineExtra = \"M5.35,5.64C4.45,5 4.23,3.76 4.86,2.85C5.5,1.95 6.74,1.73 7.65,2.36C8.55,3 8.77,4.24 8.14,5.15C7.5,6.05 6.26,6.27 5.35,5.64M16,19H8.93C7.45,19 6.19,17.92 5.97,16.46L4,7H2L4,16.76C4.37,19.2 6.47,21 8.94,21H16M16.23,15H11.35L10.32,10.9C11.9,11.79 13.6,12.44 15.47,12.12V10C13.84,10.3 12.03,9.72 10.78,8.74L9.14,7.47C8.91,7.29 8.65,7.17 8.38,7.09C8.06,7 7.72,6.97 7.39,7.03H7.37C6.14,7.25 5.32,8.42 5.53,9.64L6.88,15.56C7.16,17 8.39,18 9.83,18H16.68L20.5,21L22,19.5\";\r\nexport var mdiSeatReclineNormal = \"M7.59,5.41C6.81,4.63 6.81,3.36 7.59,2.58C8.37,1.8 9.64,1.8 10.42,2.58C11.2,3.36 11.2,4.63 10.42,5.41C9.63,6.2 8.37,6.2 7.59,5.41M6,16V7H4V16A5,5 0 0,0 9,21H15V19H9A3,3 0 0,1 6,16M20,20.07L14.93,15H11.5V11.32C12.9,12.47 15.1,13.5 17,13.5V11.32C15.34,11.34 13.39,10.45 12.33,9.28L10.93,7.73C10.74,7.5 10.5,7.35 10.24,7.23C9.95,7.09 9.62,7 9.28,7H9.25C8,7 7,8 7,9.25V15A3,3 0 0,0 10,18H15.07L18.57,21.5\";\r\nexport var mdiSeatbelt = \"M12,2C13.11,2 14,2.9 14,4C14,5.11 13.11,6 12,6A2,2 0 0,1 10,4A2,2 0 0,1 12,2M12.39,14.79C14.03,14.79 15.46,14.89 16.64,15.04C16.7,12.32 16.46,9.92 16,9C15.87,8.73 15.69,8.5 15.5,8.3L7.43,15.22C8.79,15 10.5,14.79 12.39,14.79M7.46,17C7.59,18.74 7.85,20.5 8.27,22H10.34C10.05,21.12 9.84,20.09 9.68,19C9.68,19 12,18.56 14.32,19C14.16,20.09 13.95,21.12 13.66,22H15.73C16.17,20.45 16.43,18.61 16.56,16.79C15.41,16.65 14,16.54 12.39,16.54C10.46,16.54 8.78,16.75 7.46,17M12,7C12,7 9,7 8,9C7.66,9.68 7.44,11.15 7.37,12.96L13.92,7.34C12.93,7 12,7 12,7M18.57,5.67L17.43,4.34L13.92,7.35C14.47,7.54 15.05,7.84 15.5,8.3L18.57,5.67M20.67,15.83C20.58,15.8 19.14,15.33 16.64,15.04C16.63,15.61 16.6,16.2 16.56,16.79C18.81,17.07 20.1,17.5 20.12,17.5L20.67,15.83M7.37,12.96L3.43,16.34L4.32,17.82C4.34,17.81 5.5,17.36 7.46,17C7.35,15.59 7.32,14.2 7.37,12.96Z\";\r\nexport var mdiSecurity = \"M12,12H19C18.47,16.11 15.72,19.78 12,20.92V12H5V6.3L12,3.19M12,1L3,5V11C3,16.55 6.84,21.73 12,23C17.16,21.73 21,16.55 21,11V5L12,1Z\";\r\nexport var mdiSecurityNetwork = \"M13,19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17.34C8.07,16.13 6,13 6,9.67V5.67L12,3L18,5.67V9.67C18,13 15.93,16.13 13,17.34V19M12,5L8,6.69V10H12V5M12,10V16C13.91,15.53 16,13.06 16,11V10H12Z\";\r\nexport var mdiSeed = \"M20.7,3.3C20.7,3.3 19.3,3 17.2,3C11.7,3 1.6,5.1 3.2,20.8C4.3,20.9 5.4,21 6.4,21C24.3,21 20.7,3.3 20.7,3.3M7,17C7,17 7,7 17,7C17,7 11,9 7,17Z\";\r\nexport var mdiSeedOff = \"M22.1 21.5L2.4 1.7L1.1 3L5.9 7.8C3.8 10.5 2.6 14.6 3.2 20.8C4.3 20.9 5.4 21 6.4 21C10.9 21 14.1 19.9 16.3 18.2L20.9 22.8L22.1 21.5M7 17C7 17 7 13.7 8.9 10.8L10.2 12.1C9.1 13.4 8 15 7 17M11.6 8.4L8.5 5.3C11.3 3.4 14.7 3 17.2 3C19.3 3 20.7 3.3 20.7 3.3S22.1 10.3 18.7 15.5L12.8 9.6C15.1 7.6 17 7 17 7C14.7 7 12.9 7.5 11.6 8.4Z\";\r\nexport var mdiSeedOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L5.9 7.8C3.8 10.5 2.6 14.6 3.2 20.8C4.3 20.9 5.4 21 6.4 21C10.9 21 14.1 19.9 16.3 18.2L20.9 22.8L22.1 21.5M6.4 19H5.1C4.9 14.8 5.6 11.5 7.3 9.2L8.9 10.8C7 13.7 7 17 7 17C8 15 9.1 13.4 10.2 12.1L14.8 16.7C12.8 18.2 10 19 6.4 19M10 6.8L8.5 5.3C11.3 3.4 14.7 3 17.2 3C19.3 3 20.7 3.3 20.7 3.3S22.1 10.3 18.7 15.5L17.2 14C19.1 10.9 19 7.1 18.9 5.1C18.4 5 17.8 5 17.2 5C15.1 5 12.3 5.3 10 6.8M12.8 9.6L11.6 8.4C12.9 7.5 14.7 7 17 7C17 7 15.1 7.6 12.8 9.6Z\";\r\nexport var mdiSeedOutline = \"M17.2,5V5C17.8,5 18.4,5 18.9,5.1C19.1,7.4 19.1,12 16.4,15.2C14.4,17.7 11,19 6.4,19C6,19 5.5,19 5.1,19C4.9,14.4 5.8,10.8 7.9,8.5C10.4,5.6 14.4,5 17.2,5M17.2,3C11.7,3 1.6,5.1 3.2,20.8C4.3,20.9 5.4,21 6.4,21C24.3,21 20.7,3.3 20.7,3.3C20.7,3.3 19.3,3 17.2,3M17,7C7,7 7,17 7,17C11,9 17,7 17,7Z\";\r\nexport var mdiSeesaw = \"M21.68 13.26L22.04 15.23L2.35 18.77L2 16.8L4.95 16.27L4.6 14.3C4.5 13.76 4.86 13.24 5.41 13.14C5.95 13.04 6.47 13.4 6.57 13.95L6.92 15.91L16.76 14.15L16.41 12.18C16.31 11.63 16.67 11.11 17.22 11C17.76 10.92 18.28 11.28 18.38 11.82L18.73 13.79L21.68 13.26M10.06 18.4L8 22H16L13.58 17.77L10.06 18.4Z\";\r\nexport var mdiSegment = \"M21,8H3V6H21M9,13H21V11H9M9,18H21V16H9\";\r\nexport var mdiSelect = \"M4,3H5V5H3V4A1,1 0 0,1 4,3M20,3A1,1 0 0,1 21,4V5H19V3H20M15,5V3H17V5H15M11,5V3H13V5H11M7,5V3H9V5H7M21,20A1,1 0 0,1 20,21H19V19H21V20M15,21V19H17V21H15M11,21V19H13V21H11M7,21V19H9V21H7M4,21A1,1 0 0,1 3,20V19H5V21H4M3,15H5V17H3V15M21,15V17H19V15H21M3,11H5V13H3V11M21,11V13H19V11H21M3,7H5V9H3V7M21,7V9H19V7H21Z\";\r\nexport var mdiSelectAll = \"M9,9H15V15H9M7,17H17V7H7M15,5H17V3H15M15,21H17V19H15M19,17H21V15H19M19,9H21V7H19M19,21A2,2 0 0,0 21,19H19M19,13H21V11H19M11,21H13V19H11M9,3H7V5H9M3,17H5V15H3M5,21V19H3A2,2 0 0,0 5,21M19,3V5H21A2,2 0 0,0 19,3M13,3H11V5H13M3,9H5V7H3M7,21H9V19H7M3,13H5V11H3M3,5H5V3A2,2 0 0,0 3,5Z\";\r\nexport var mdiSelectColor = \"M3.88,3C3.38,3.06 3,3.5 3,4V4L3,5H4L5,5V4L5,3H4L3.88,3M7,3V5H9V3H7M11,3V5H13V3H11M15,3V5H17V3H15M19,3V4L19,5H20L21,5V4L21,3.88C20.94,3.38 20.5,3 20,3H19M3,7V9H5V7H3M19,7V9H21V7H19M3,11V13H5V11H3M19.31,12C19.18,12 19.05,12.05 18.95,12.14L17.39,13.71L16.43,12.75L15.72,13.46L16.43,14.17L11.97,18.63V21H14.35L18.8,16.54L19.5,17.25L20.22,16.54L19.26,15.58L20.82,14.03C21,13.83 21,13.5 20.82,13.31L19.65,12.14C19.56,12.05 19.44,12 19.31,12M3,15V17H5V15H3M17,15L17.97,15.97L13.93,20L12.97,19.04L17,15M3,19V20L3,20.12C3.06,20.62 3.5,21 4,21V21H5V20L5,19H4L3,19M7,19V21H9V19H7Z\";\r\nexport var mdiSelectCompare = \"M13,23H11V1H13V23M9,19H5V5H9V3H5C3.89,3 3,3.89 3,5V19C3,20.11 3.9,21 5,21H9V19M19,7V9H21V7H19M19,5H21C21,3.89 20.1,3 19,3V5M21,15H19V17H21V15M19,11V13H21V11H19M17,3H15V5H17V3M19,21C20.11,21 21,20.11 21,19H19V21M17,19H15V21H17V19Z\";\r\nexport var mdiSelectDrag = \"M13,17H17V13H19V17H23V19H19V23H17V19H13V17M11,17V19H9V17H11M7,17V19H5V17H7M19,9V11H17V9H19M19,5V7H17V5H19M15,5V7H13V5H15M11,5V7H9V5H11M7,5V7H5V5H7M7,13V15H5V13H7M7,9V11H5V9H7Z\";\r\nexport var mdiSelectGroup = \"M5 3A2 2 0 0 0 3 5H5M7 3V5H9V3M11 3V5H13V3M15 3V5H17V3M19 3V5H21A2 2 0 0 0 19 3M3 7V9H5V7M7 7V11H11V7M13 7V11H17V7M19 7V9H21V7M3 11V13H5V11M19 11V13H21V11M7 13V17H11V13M13 13V17H17V13M3 15V17H5V15M19 15V17H21V15M3 19A2 2 0 0 0 5 21V19M7 19V21H9V19M11 19V21H13V19M15 19V21H17V19M19 19V21A2 2 0 0 0 21 19Z\";\r\nexport var mdiSelectInverse = \"M5,3H7V5H9V3H11V5H13V3H15V5H17V3H19V5H21V7H19V9H21V11H19V13H21V15H19V17H21V19H19V21H17V19H15V21H13V19H11V21H9V19H7V21H5V19H3V17H5V15H3V13H5V11H3V9H5V7H3V5H5V3Z\";\r\nexport var mdiSelectMarker = \"M4 3H5V5H3V4C3 3.45 3.45 3 4 3M20 3C20.55 3 21 3.45 21 4V5H19V3H20M15 5V3H17V5H15M11 5V3H13V5H11M7 5V3H9V5H7M11 21V19H13V21H11M7 21V19H9V21H7M4 21C3.45 21 3 20.55 3 20V19H5V21H4M3 15H5V17H3V15M3 11H5V13H3V11M3 7H5V9H3V7M21 7V9H19V7H21M19.5 13C21.4 13 23 14.6 23 16.5C23 19.1 19.5 23 19.5 23C19.5 23 16 19.1 16 16.5C16 14.6 17.6 13 19.5 13M19.5 17.8C20.2 17.8 20.8 17.2 20.7 16.6C20.7 16 20.1 15.4 19.5 15.4C18.9 15.4 18.3 15.9 18.3 16.6C18.3 17.2 18.8 17.8 19.5 17.8Z\";\r\nexport var mdiSelectMultiple = \"M18 12H20V14H18V12M14 16H16V18H14V16M20 17C20 17.55 19.55 18 19 18H18V16H20V17M7 4H8V6H6V5C6 4.45 6.45 4 7 4M19 4C19.55 4 20 4.45 20 5V6H18V4H19M14 6V4H16V6H14M10 6V4H12V6H10M10 18V16H12V18H10M7 18C6.45 18 6 17.55 6 17V16H8V18H7M6 12H8V14H6V12M6 8H8V10H6V8M20 8V10H18V8H20M3 8H4V20H16V21C16 21.54 15.57 22 15.03 22H15L3 22C2.45 22 2 21.55 2 21V9C2 8.45 2.45 8 3 8Z\";\r\nexport var mdiSelectMultipleMarker = \"M7 4H8V6H6V5C6 4.45 6.45 4 7 4M19 4C19.55 4 20 4.45 20 5V6H18V4H19M14 6V4H16V6H14M10 6V4H12V6H10M10 18V16H12V18H10M7 18C6.45 18 6 17.55 6 17V16H8V18H7M6 12H8V14H6V12M6 8H8V10H6V8M20 8V10H18V8H20M3 8H4V20H14.58L16.03 22L3 22C2.45 22 2 21.55 2 21V9C2 8.45 2.45 8 3 8M18.5 12C20.4 12 22 13.6 22 15.5C22 18.1 18.5 22 18.5 22C18.5 22 15 18.1 15 15.5C15 13.6 16.6 12 18.5 12M18.5 16.8C19.2 16.8 19.8 16.2 19.7 15.6C19.7 15 19.1 14.4 18.5 14.4C17.9 14.4 17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8Z\";\r\nexport var mdiSelectOff = \"M1,4.27L2.28,3L21,21.72L19.73,23L17,20.27V21H15V19H15.73L5,8.27V9H3V7H3.73L1,4.27M20,3A1,1 0 0,1 21,4V5H19V3H20M15,5V3H17V5H15M11,5V3H13V5H11M7,5V3H9V5H7M11,21V19H13V21H11M7,21V19H9V21H7M4,21A1,1 0 0,1 3,20V19H5V21H4M3,15H5V17H3V15M21,15V17H19V15H21M3,11H5V13H3V11M21,11V13H19V11H21M21,7V9H19V7H21Z\";\r\nexport var mdiSelectPlace = \"M4 3H5V5H3V4C3 3.5 3.5 3 4 3M20 3C20.5 3 21 3.5 21 4V5H19V3H20M15 5V3H17V5H15M11 5V3H13V5H11M7 5V3H9V5H7M21 12C21 12.5 20.5 13 20 13H19V11H21V12M15 13V11H17V13H15M11 13V11H13V13H11M7 13V11H9V13H7M4 13C3.5 13 3 12.5 3 12V11H5V13H4M3 7H5V9H3V7M21 7V9H19V7H21M7 16L12 21L17 16H7Z\";\r\nexport var mdiSelectRemove = \"M21 20C21 20.55 20.55 21 20 21H19V19H21V20M15 21V19H17V21H15M11 21V19H13V21H11M7 21V19H9V21H7M4 21C3.45 21 3 20.55 3 20V19H5V21H4M3 15H5V17H3V15M21 15V17H19V15H21M14.59 8L12 10.59L9.41 8L8 9.41L10.59 12L8 14.59L9.41 16L12 13.41L14.59 16L16 14.59L13.41 12L16 9.41L14.59 8M3 11H5V13H3V11M21 11V13H19V11H21M3 7H5V9H3V7M21 7V9H19V7H21M4 3H5V5H3V4C3 3.45 3.45 3 4 3M20 3C20.55 3 21 3.45 21 4V5H19V3H20M15 5V3H17V5H15M11 5V3H13V5H11M7 5V3H9V5H7Z\";\r\nexport var mdiSelectSearch = \"M19.31 18.9C19.75 18.21 20 17.38 20 16.5C20 14 18 12 15.5 12S11 14 11 16.5 13 21 15.5 21C16.37 21 17.19 20.75 17.88 20.32L21 23.39L22.39 22L19.31 18.9M15.5 19C14.12 19 13 17.88 13 16.5S14.12 14 15.5 14 18 15.12 18 16.5 16.88 19 15.5 19M21 9H19V7H21V9M21 5H19V3H20C20.55 3 21 3.45 21 4V5M19 11.03V11H21V13H20.97C20.46 12.21 19.79 11.54 19 11.03M17 5H15V3H17V5M13 5H11V3H13V5M3 7H5V9H3V7M7 19H9V21H7V19M3 11H5V13H3V11M4 3H5V5H3V4C3 3.45 3.45 3 4 3M9 5H7V3H9V5M3 19H5V21H4C3.45 21 3 20.55 3 20V19M3 15H5V17H3V15Z\";\r\nexport var mdiSelection = \"M2,4C2,2.89 2.9,2 4,2H7V4H4V7H2V4M22,4V7H20V4H17V2H20A2,2 0 0,1 22,4M20,20V17H22V20C22,21.11 21.1,22 20,22H17V20H20M2,20V17H4V20H7V22H4A2,2 0 0,1 2,20M10,2H14V4H10V2M10,20H14V22H10V20M20,10H22V14H20V10M2,10H4V14H2V10Z\";\r\nexport var mdiSelectionDrag = \"M14,17H17V14H19V17H22V19H19V22H17V19H14V17M12,17V19H9V17H12M7,17V19H3V15H5V17H7M3,13V10H5V13H3M3,8V4H7V6H5V8H3M9,4H12V6H9V4M15,4H19V8H17V6H15V4M19,10V12H17V10H19Z\";\r\nexport var mdiSelectionEllipse = \"M6.35,20.25L7.56,18.66C8.42,19.23 9.39,19.64 10.43,19.85L10.16,21.83C8.77,21.57 7.5,21 6.35,20.25M16.43,18.66L17.64,20.26C16.5,21.03 15.23,21.57 13.84,21.83L13.57,19.85C14.61,19.64 15.57,19.23 16.43,18.66M19.84,13.59L21.83,13.86C21.57,15.25 21,16.54 20.24,17.66L18.65,16.45C19.22,15.6 19.63,14.63 19.84,13.59M2.17,13.84L4.15,13.57C4.36,14.61 4.77,15.58 5.34,16.44L3.75,17.65C3,16.5 2.43,15.23 2.17,13.84M18.66,7.56L20.25,6.35C21.03,7.5 21.58,8.78 21.83,10.18L19.85,10.45C19.64,9.4 19.23,8.42 18.66,7.56M13.57,4.15L13.84,2.17C15.23,2.43 16.5,3 17.65,3.75L16.44,5.34C15.58,4.77 14.61,4.36 13.57,4.15M7.56,5.34L6.35,3.75C7.5,3 8.77,2.43 10.16,2.17L10.43,4.15C9.39,4.36 8.42,4.77 7.56,5.34M4.15,10.43L2.17,10.16C2.43,8.77 3,7.5 3.75,6.35L5.34,7.56C4.77,8.42 4.36,9.39 4.15,10.43Z\";\r\nexport var mdiSelectionEllipseArrowInside = \"M11.2 4C9.94 4.12 8.72 4.53 7.64 5.2L6.64 3.47C7.95 2.64 9.45 2.13 11 2M17.53 6.25C16.62 5.39 15.53 4.73 14.34 4.33L15 2.39C16.5 2.84 17.89 3.66 19 4.78M5.34 7.41C4.64 8.44 4.19 9.6 4 10.83L2 10.55C2.2 9 2.79 7.5 3.7 6.23M22 12V12.66L20 12.5V12C20 10.92 19.81 9.86 19.39 8.86L21.22 8.06C21.75 9.31 22 10.65 22 12M6 17.3L4.5 18.61C3.47 17.43 2.72 16.04 2.3 14.53L4.17 14C4.53 15.22 5.16 16.35 6 17.3M12.14 22H12C10.5 22 9 21.68 7.64 21.07L8.53 19.24C9.62 19.75 10.8 20 12 20H12.19M17 21H15V15H21V17H18.42L21.14 19.76L19.73 21.17L17 18.5\";\r\nexport var mdiSelectionEllipseRemove = \"M6.35 20.25L7.56 18.66C8.42 19.23 9.39 19.64 10.43 19.85L10.16 21.83C8.77 21.57 7.5 21 6.35 20.25M16.43 18.66L17.64 20.26C16.5 21.03 15.23 21.57 13.84 21.83L13.57 19.85C14.61 19.64 15.57 19.23 16.43 18.66M19.84 13.59L21.83 13.86C21.57 15.25 21 16.54 20.24 17.66L18.65 16.45C19.22 15.6 19.63 14.63 19.84 13.59M2.17 13.84L4.15 13.57C4.36 14.61 4.77 15.58 5.34 16.44L3.75 17.65C3 16.5 2.43 15.23 2.17 13.84M14.59 8L12 10.59L9.41 8L8 9.41L10.59 12L8 14.59L9.41 16L12 13.41L14.59 16L16 14.59L13.41 12L16 9.41L14.59 8M18.66 7.56L20.25 6.35C21.03 7.5 21.58 8.78 21.83 10.18L19.85 10.45C19.64 9.4 19.23 8.42 18.66 7.56M4.15 10.43L2.17 10.16C2.43 8.77 3 7.5 3.75 6.35L5.34 7.56C4.77 8.42 4.36 9.39 4.15 10.43M13.57 4.15L13.84 2.17C15.23 2.43 16.5 3 17.65 3.75L16.44 5.34C15.58 4.77 14.61 4.36 13.57 4.15M7.56 5.34L6.35 3.75C7.5 3 8.77 2.43 10.16 2.17L10.43 4.15C9.39 4.36 8.42 4.77 7.56 5.34Z\";\r\nexport var mdiSelectionMarker = \"M2 4C2 2.89 2.9 2 4 2H7V4H4V7H2V4M22 4V7H20V4H17V2H20C21.1 2 22 2.89 22 4M2 20V17H4V20H7V22H4C2.9 22 2 21.11 2 20M10 2H14V4H10V2M10 20H14V22H10V20M2 10H4V14H2V10M18.5 13C20.4 13 22 14.6 22 16.5C22 19.1 18.5 23 18.5 23C18.5 23 15 19.1 15 16.5C15 14.6 16.6 13 18.5 13M18.5 17.8C19.2 17.8 19.8 17.2 19.7 16.6C19.7 16 19.1 15.4 18.5 15.4C17.9 15.4 17.3 15.9 17.3 16.6C17.3 17.2 17.8 17.8 18.5 17.8M20 10H22V12.34C21.42 11.84 20.74 11.45 20 11.23V10Z\";\r\nexport var mdiSelectionMultiple = \"M11 6V4H15V6H11M6 9H8V13H6V9M6 6C6 4.89 6.9 4 8 4H9V6H8V7H6V6M8 18C6.89 18 6 17.1 6 16V15H8V16H9V18H8M18 4C19.11 4 20 4.9 20 6V7H18V6H17V4H18M15 16V18H11V16H15M20 13H18V9H20V13M20 16C20 17.11 19.1 18 18 18H17V16H18V15H20V16M3 8H4V20H16V21C16 21.54 15.57 22 15.03 22H15L3 22C2.45 22 2 21.55 2 21V9C2 8.45 2.45 8 3 8Z\";\r\nexport var mdiSelectionMultipleMarker = \"M7 4H9V6H8V7H6V5C6 4.45 6.45 4 7 4M19 4C19.55 4 20 4.45 20 5V7H18V6H17V4H19M11 6V4H15V6H11M7 18C6.45 18 6 17.55 6 17V15H8V16H9V18H7M6 9H8V13H6V9M3 8H4V20H14.58L16.03 22L3 22C2.45 22 2 21.55 2 21V9C2 8.45 2.45 8 3 8M18.5 12C20.4 12 22 13.6 22 15.5C22 18.1 18.5 22 18.5 22C18.5 22 15 18.1 15 15.5C15 13.6 16.6 12 18.5 12M18.5 16.8C19.2 16.8 19.8 16.2 19.7 15.6C19.7 15 19.1 14.4 18.5 14.4C17.9 14.4 17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8M11 18V16H13C13.09 16.66 13.27 17.33 13.5 18H11M20 9V10.23C19.5 10.08 19 10 18.5 10L18 10.03V9H20Z\";\r\nexport var mdiSelectionOff = \"M0.5,3.77L1.78,2.5L21.5,22.22L20.23,23.5L18.73,22H17V20.27L3.73,7H2V5.27L0.5,3.77M4,2H7V4H5.82L3.83,2H4M22,4V7H20V4H17V2H20A2,2 0 0,1 22,4M20,17H22V20L22,20.17L20,18.18V17M2,20V17H4V20H7V22H4A2,2 0 0,1 2,20M10,2H14V4H10V2M10,20H14V22H10V20M20,10H22V14H20V10M2,10H4V14H2V10Z\";\r\nexport var mdiSelectionRemove = \"M20 20V17H22V20C22 21.11 21.1 22 20 22H17V20H20M2 20V17H4V20H7V22H4C2.9 22 2 21.1 2 20M10 20H14V22H10V20M14.59 8L12 10.59L9.41 8L8 9.41L10.59 12L8 14.59L9.41 16L12 13.41L14.59 16L16 14.59L13.41 12L16 9.41L14.59 8M20 10H22V14H20V10M2 10H4V14H2V10M2 4C2 2.89 2.9 2 4 2H7V4H4V7H2V4M22 4V7H20V4H17V2H20C21.1 2 22 2.9 22 4M10 2H14V4H10V2Z\";\r\nexport var mdiSelectionSearch = \"M19.27 18.9C19.7 18.21 19.95 17.38 19.95 16.5C19.95 14 17.95 12 15.46 12S10.96 14 10.96 16.5 12.96 21 15.46 21C16.33 21 17.15 20.75 17.84 20.32L20.96 23.39L22.35 22L19.27 18.9M15.46 19C14.07 19 12.96 17.88 12.96 16.5S14.07 14 15.46 14 17.95 15.12 17.95 16.5 16.84 19 15.46 19M22 14H21.45C21.12 13.19 20.62 12.47 20 11.86V10H22V14M20 4H17V2H20C21.11 2 22 2.9 22 4V7H20V4M14 4H10V2H14V4M4 2H7V4H4V7H2V4C2 2.89 2.9 2 4 2M12 22H10V20C10.5 20.82 11.2 21.5 12 22M4 20H7V22H4C2.9 22 2 21.11 2 20V17H4V20M4 14H2V10H4V14Z\";\r\nexport var mdiSemanticWeb = \"M12.9 4.22C18.73 6.84 20 2 20 2S18.89 8.07 13.79 10.55C12.75 11.06 12.1 11.33 12.1 11.33L3.73 7.25L12.1 3.82C12.1 3.82 11.9 3.76 12.9 4.22M11.12 22L3.33 17.78V9.07L11.12 13.04V22M12.88 22L20.68 17.78V9.07L12.88 13.04V22Z\";\r\nexport var mdiSend = \"M2,21L23,12L2,3V10L17,12L2,14V21Z\";\r\nexport var mdiSendCheck = \"M2 3V10L17 12L2 14V21L23 12M22 15.5L18.5 19L16.5 17L15 18.5L18.5 22L23.5 17Z\";\r\nexport var mdiSendCheckOutline = \"M2 3V10L17 12L2 14V21L23 12M4 6.03L11.53 9.25L4 8.25M11.53 14.75L4 17.97V15.75M22 15.5L18.5 19L16.5 17L15 18.5L18.5 22L23.5 17Z\";\r\nexport var mdiSendCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M8,7.71V11.05L15.14,12L8,12.95V16.29L18,12L8,7.71Z\";\r\nexport var mdiSendCircleOutline = \"M8,7.71L18,12L8,16.29V12.95L15.14,12L8,11.05V7.71M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiSendClock = \"M2 3V10L11 12L2 14V21L9.27 17.89A7 7 0 0 0 16 23A7 7 0 0 0 23 16A7 7 0 0 0 16 9L2 3M16 11A5 5 0 0 1 21 16A5 5 0 0 1 16 21A5 5 0 0 1 11 16A5 5 0 0 1 16 11M15 12.5V16.5L18 18.5L18.75 17.25L16.5 15.75V12.5H15Z\";\r\nexport var mdiSendClockOutline = \"M2 3V10L11 12L2 14V21L9.27 17.89A7 7 0 0 0 16 23A7 7 0 0 0 23 16A7 7 0 0 0 16 9L2 3M4 6.03L12.78 9.8A7 7 0 0 0 12.1 10.2L4 8.4V6.03M16 11A5 5 0 0 1 21 16A5 5 0 0 1 16 21A5 5 0 0 1 11 16A5 5 0 0 1 16 11M15 12.5V16.5L18 18.5L18.75 17.25L16.5 15.75V12.5H15M9.18 14.45A7 7 0 0 0 9 15.82L4 17.97V15.6L9.18 14.45Z\";\r\nexport var mdiSendLock = \"M23,18V17.5A2.5,2.5 0 0,0 20.5,15A2.5,2.5 0 0,0 18,17.5V18A1,1 0 0,0 17,19V23A1,1 0 0,0 18,24H23A1,1 0 0,0 24,23V19A1,1 0 0,0 23,18M22,18H19V17.5A1.5,1.5 0 0,1 20.5,16A1.5,1.5 0 0,1 22,17.5V18M23,12L2,21V14L17,12L2,10V3L23,12Z\";\r\nexport var mdiSendLockOutline = \"M23 18V17.5C23 16.12 21.88 15 20.5 15S18 16.12 18 17.5V18C17.45 18 17 18.45 17 19V23C17 23.55 17.45 24 18 24H23C23.55 24 24 23.55 24 23V19C24 18.45 23.55 18 23 18M22 18H19V17.5C19 16.67 19.67 16 20.5 16S22 16.67 22 17.5V18M4 6.03L11.5 9.25L4 8.25L4 6.03M11.5 14.75L4 17.97V15.75L11.5 14.75M2 3L2 10L17 12L2 14L2 21L23 12L2 3Z\";\r\nexport var mdiSendOutline = \"M4 6.03L11.5 9.25L4 8.25L4 6.03M11.5 14.75L4 17.97V15.75L11.5 14.75M2 3L2 10L17 12L2 14L2 21L23 12L2 3Z\";\r\nexport var mdiSerialPort = \"M7,3H17V5H19V8H16V14H8V8H5V5H7V3M17,9H19V14H17V9M11,15H13V22H11V15M5,9H7V14H5V9Z\";\r\nexport var mdiServer = \"M4,1H20A1,1 0 0,1 21,2V6A1,1 0 0,1 20,7H4A1,1 0 0,1 3,6V2A1,1 0 0,1 4,1M4,9H20A1,1 0 0,1 21,10V14A1,1 0 0,1 20,15H4A1,1 0 0,1 3,14V10A1,1 0 0,1 4,9M4,17H20A1,1 0 0,1 21,18V22A1,1 0 0,1 20,23H4A1,1 0 0,1 3,22V18A1,1 0 0,1 4,17M9,5H10V3H9V5M9,13H10V11H9V13M9,21H10V19H9V21M5,3V5H7V3H5M5,11V13H7V11H5M5,19V21H7V19H5Z\";\r\nexport var mdiServerMinus = \"M4,4H20A1,1 0 0,1 21,5V9A1,1 0 0,1 20,10H4A1,1 0 0,1 3,9V5A1,1 0 0,1 4,4M9,8H10V6H9V8M5,6V8H7V6H5M8,16H16V18H8V16Z\";\r\nexport var mdiServerNetwork = \"M13,19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H4A1,1 0 0,1 3,16V12A1,1 0 0,1 4,11H20A1,1 0 0,1 21,12V16A1,1 0 0,1 20,17H13V19M4,3H20A1,1 0 0,1 21,4V8A1,1 0 0,1 20,9H4A1,1 0 0,1 3,8V4A1,1 0 0,1 4,3M9,7H10V5H9V7M9,15H10V13H9V15M5,5V7H7V5H5M5,13V15H7V13H5Z\";\r\nexport var mdiServerNetworkOff = \"M13,19H14A1,1 0 0,1 15,20H15.73L13,17.27V19M22,20V21.18L20.82,20H22M21,22.72L19.73,24L17.73,22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H4A1,1 0 0,1 3,16V12A1,1 0 0,1 4,11H6.73L4.73,9H4A1,1 0 0,1 3,8V7.27L1,5.27L2.28,4L21,22.72M4,3H20A1,1 0 0,1 21,4V8A1,1 0 0,1 20,9H9.82L7,6.18V5H5.82L3.84,3C3.89,3 3.94,3 4,3M20,11A1,1 0 0,1 21,12V16A1,1 0 0,1 20,17H17.82L11.82,11H20M9,7H10V5H9V7M9,15H10V14.27L9,13.27V15M5,13V15H7V13H5Z\";\r\nexport var mdiServerOff = \"M4,1H20A1,1 0 0,1 21,2V6A1,1 0 0,1 20,7H8.82L6.82,5H7V3H5V3.18L3.21,1.39C3.39,1.15 3.68,1 4,1M22,22.72L20.73,24L19.73,23H4A1,1 0 0,1 3,22V18A1,1 0 0,1 4,17H13.73L11.73,15H4A1,1 0 0,1 3,14V10A1,1 0 0,1 4,9H5.73L3.68,6.95C3.38,6.85 3.15,6.62 3.05,6.32L1,4.27L2.28,3L22,22.72M20,9A1,1 0 0,1 21,10V14A1,1 0 0,1 20,15H16.82L10.82,9H20M20,17A1,1 0 0,1 21,18V19.18L18.82,17H20M9,5H10V3H9V5M9,13H9.73L9,12.27V13M9,21H10V19H9V21M5,11V13H7V11H5M5,19V21H7V19H5Z\";\r\nexport var mdiServerPlus = \"M4,4H20A1,1 0 0,1 21,5V9A1,1 0 0,1 20,10H4A1,1 0 0,1 3,9V5A1,1 0 0,1 4,4M9,8H10V6H9V8M5,6V8H7V6H5M8,16H11V13H13V16H16V18H13V21H11V18H8V16Z\";\r\nexport var mdiServerRemove = \"M4,4H20A1,1 0 0,1 21,5V9A1,1 0 0,1 20,10H4A1,1 0 0,1 3,9V5A1,1 0 0,1 4,4M9,8H10V6H9V8M5,6V8H7V6H5M10.59,17L8,14.41L9.41,13L12,15.59L14.59,13L16,14.41L13.41,17L16,19.59L14.59,21L12,18.41L9.41,21L8,19.59L10.59,17Z\";\r\nexport var mdiServerSecurity = \"M3,1H19A1,1 0 0,1 20,2V6A1,1 0 0,1 19,7H3A1,1 0 0,1 2,6V2A1,1 0 0,1 3,1M3,9H19A1,1 0 0,1 20,10V10.67L17.5,9.56L11,12.44V15H3A1,1 0 0,1 2,14V10A1,1 0 0,1 3,9M3,17H11C11.06,19.25 12,21.4 13.46,23H3A1,1 0 0,1 2,22V18A1,1 0 0,1 3,17M8,5H9V3H8V5M8,13H9V11H8V13M8,21H9V19H8V21M4,3V5H6V3H4M4,11V13H6V11H4M4,19V21H6V19H4M17.5,12L22,14V17C22,19.78 20.08,22.37 17.5,23C14.92,22.37 13,19.78 13,17V14L17.5,12M17.5,13.94L15,15.06V17.72C15,19.26 16.07,20.7 17.5,21.06V13.94Z\";\r\nexport var mdiSetAll = \"M9,5C10.04,5 11.06,5.24 12,5.68C12.94,5.24 13.96,5 15,5A7,7 0 0,1 22,12A7,7 0 0,1 15,19C13.96,19 12.94,18.76 12,18.32C11.06,18.76 10.04,19 9,19A7,7 0 0,1 2,12A7,7 0 0,1 9,5M8.5,12C8.5,13.87 9.29,15.56 10.56,16.75L11.56,16.29C10.31,15.29 9.5,13.74 9.5,12C9.5,10.26 10.31,8.71 11.56,7.71L10.56,7.25C9.29,8.44 8.5,10.13 8.5,12M15.5,12C15.5,10.13 14.71,8.44 13.44,7.25L12.44,7.71C13.69,8.71 14.5,10.26 14.5,12C14.5,13.74 13.69,15.29 12.44,16.29L13.44,16.75C14.71,15.56 15.5,13.87 15.5,12Z\";\r\nexport var mdiSetCenter = \"M9,5A7,7 0 0,0 2,12A7,7 0 0,0 9,19C10.04,19 11.06,18.76 12,18.32C12.94,18.76 13.96,19 15,19A7,7 0 0,0 22,12A7,7 0 0,0 15,5C13.96,5 12.94,5.24 12,5.68C11.06,5.24 10.04,5 9,5M9,7C9.34,7 9.67,7.03 10,7.1C8.72,8.41 8,10.17 8,12C8,13.83 8.72,15.59 10,16.89C9.67,16.96 9.34,17 9,17A5,5 0 0,1 4,12A5,5 0 0,1 9,7M15,7A5,5 0 0,1 20,12A5,5 0 0,1 15,17C14.66,17 14.33,16.97 14,16.9C15.28,15.59 16,13.83 16,12C16,10.17 15.28,8.41 14,7.11C14.33,7.04 14.66,7 15,7Z\";\r\nexport var mdiSetCenterRight = \"M15,19C13.96,19 12.94,18.76 12,18.32C11.06,18.76 10.04,19 9,19A7,7 0 0,1 2,12A7,7 0 0,1 9,5C10.04,5 11.06,5.24 12,5.68C12.94,5.24 13.96,5 15,5A7,7 0 0,1 22,12A7,7 0 0,1 15,19M9,17L10,16.89C8.72,15.59 8,13.83 8,12C8,10.17 8.72,8.41 10,7.1L9,7A5,5 0 0,0 4,12A5,5 0 0,0 9,17M15.5,12C15.5,10.13 14.71,8.44 13.44,7.25L12.44,7.71C13.69,8.71 14.5,10.26 14.5,12C14.5,13.74 13.69,15.29 12.44,16.29L13.44,16.75C14.71,15.56 15.5,13.87 15.5,12Z\";\r\nexport var mdiSetLeft = \"M9,5A7,7 0 0,0 2,12A7,7 0 0,0 9,19C10.04,19 11.06,18.76 12,18.32C12.94,18.76 13.96,19 15,19A7,7 0 0,0 22,12A7,7 0 0,0 15,5C13.96,5 12.94,5.24 12,5.68C11.06,5.24 10.04,5 9,5M15,7A5,5 0 0,1 20,12A5,5 0 0,1 15,17C14.66,17 14.33,16.97 14,16.9C15.28,15.59 16,13.83 16,12C16,10.17 15.28,8.41 14,7.11C14.33,7.04 14.66,7 15,7M12,8C13.26,8.95 14,10.43 14,12C14,13.57 13.26,15.05 12,16C10.74,15.05 10,13.57 10,12C10,10.43 10.74,8.95 12,8Z\";\r\nexport var mdiSetLeftCenter = \"M9,5C10.04,5 11.06,5.24 12,5.68C12.94,5.24 13.96,5 15,5A7,7 0 0,1 22,12A7,7 0 0,1 15,19C13.96,19 12.94,18.76 12,18.32C11.06,18.76 10.04,19 9,19A7,7 0 0,1 2,12A7,7 0 0,1 9,5M15,7L14,7.11C15.28,8.41 16,10.17 16,12C16,13.83 15.28,15.59 14,16.9L15,17A5,5 0 0,0 20,12A5,5 0 0,0 15,7M8.5,12C8.5,13.87 9.29,15.56 10.56,16.75L11.56,16.29C10.31,15.29 9.5,13.74 9.5,12C9.5,10.26 10.31,8.71 11.56,7.71L10.56,7.25C9.29,8.44 8.5,10.13 8.5,12Z\";\r\nexport var mdiSetLeftRight = \"M9,5C10.04,5 11.06,5.24 12,5.68C12.94,5.24 13.96,5 15,5A7,7 0 0,1 22,12A7,7 0 0,1 15,19C13.96,19 12.94,18.76 12,18.32C11.06,18.76 10.04,19 9,19A7,7 0 0,1 2,12A7,7 0 0,1 9,5M9,12C9,14.22 10.21,16.16 12,17.2C13.79,16.16 15,14.22 15,12C15,9.78 13.79,7.84 12,6.8C10.21,7.84 9,9.78 9,12Z\";\r\nexport var mdiSetMerge = \"M2 7V9H7V7H2M12 9V11H9V13H12V15L15 12L12 9M17 9V15H22V9H17M2 11V13H7V11H2M2 15V17H7V15H2Z\";\r\nexport var mdiSetNone = \"M9,5A7,7 0 0,0 2,12A7,7 0 0,0 9,19C10.04,19 11.06,18.76 12,18.32C12.94,18.76 13.96,19 15,19A7,7 0 0,0 22,12A7,7 0 0,0 15,5C13.96,5 12.94,5.24 12,5.68C11.06,5.24 10.04,5 9,5M9,7C9.34,7 9.67,7.03 10,7.1C8.72,8.41 8,10.17 8,12C8,13.83 8.72,15.59 10,16.89C9.67,16.96 9.34,17 9,17A5,5 0 0,1 4,12A5,5 0 0,1 9,7M15,7A5,5 0 0,1 20,12A5,5 0 0,1 15,17C14.66,17 14.33,16.97 14,16.9C15.28,15.59 16,13.83 16,12C16,10.17 15.28,8.41 14,7.11C14.33,7.04 14.66,7 15,7M12,8C13.26,8.95 14,10.43 14,12C14,13.57 13.26,15.05 12,16C10.74,15.05 10,13.57 10,12C10,10.43 10.74,8.95 12,8Z\";\r\nexport var mdiSetRight = \"M15,19C13.96,19 12.94,18.76 12,18.32C11.06,18.76 10.04,19 9,19A7,7 0 0,1 2,12A7,7 0 0,1 9,5C10.04,5 11.06,5.24 12,5.68C12.94,5.24 13.96,5 15,5A7,7 0 0,1 22,12A7,7 0 0,1 15,19M9,17L10,16.89C8.72,15.59 8,13.83 8,12C8,10.17 8.72,8.41 10,7.1L9,7A5,5 0 0,0 4,12A5,5 0 0,0 9,17M12,16C13.26,15.05 14,13.57 14,12C14,10.43 13.26,8.95 12,8C10.74,8.95 10,10.43 10,12C10,13.57 10.74,15.05 12,16Z\";\r\nexport var mdiSetSplit = \"M17 7V9H22V7H17M2 9V15H7V9H2M12 9V11H9V13H12V15L15 12L12 9M17 11V13H22V11H17M17 15V17H22V15H17Z\";\r\nexport var mdiSetSquare = \"M17.7 17.7L16.6 18.8L15.9 18L17 17L15 15L14 16.1L13.3 15.4L14.4 14.3L12.5 12.4L11.4 13.5L10.7 12.8L11.8 11.7L9.8 9.8L8.7 10.9L8 10.2L9 9L7.1 7.1L6 8.1L5.3 7.4L6.4 6.3L4 4V20H20L17.7 17.7M7 17V11.2L12.8 17H7Z\";\r\nexport var mdiSetTopBox = \"M5,15.5A0.5,0.5 0 0,1 4.5,16H3.5A0.5,0.5 0 0,1 3,15.5V15H2A1,1 0 0,1 1,14V11A1,1 0 0,1 2,10H22A1,1 0 0,1 23,11V14A1,1 0 0,1 22,15H21V15.5A0.5,0.5 0 0,1 20.5,16H19.5A0.5,0.5 0 0,1 19,15.5V15H5V15.5M3,12V13H5V12H3M6,12V13H8V12H6M20.5,11.5A1,1 0 0,0 19.5,12.5A1,1 0 0,0 20.5,13.5A1,1 0 0,0 21.5,12.5A1,1 0 0,0 20.5,11.5Z\";\r\nexport var mdiSettingsHelper = \"M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22Z\";\r\nexport var mdiShaker = \"M7 16C7 16.55 6.55 17 6 17S5 16.55 5 16C5 15.45 5.45 15 6 15S7 15.45 7 16M9 16C8.45 16 8 16.45 8 17S8.45 18 9 18 10 17.55 10 17 9.55 16 9 16M4 18C3.45 18 3 18.45 3 19S3.45 20 4 20 5 19.55 5 19 4.55 18 4 18M7 19C6.45 19 6 19.45 6 20S6.45 21 7 21 8 20.55 8 20 7.55 19 7 19M15.33 2.72L9.8 9.65L13.34 13.19L20.28 7.67C21.18 6.91 21.25 5.54 20.41 4.7L18.3 2.59C17.46 1.75 16.09 1.82 15.33 2.72M8.39 12.5L10.5 14.6C10.9 15 11.54 15 11.93 14.6L12.63 13.9L9.1 10.36L8.39 11.07C8 11.46 8 12.09 8.39 12.5Z\";\r\nexport var mdiShakerOutline = \"M16.88 4L16.88 4L19.03 6.1L13.5 10.5L12.5 9.5L16.87 4L16.88 4M16.88 2C16.3 2 15.73 2.24 15.33 2.72L9.8 9.65L13.34 13.19L20.28 7.67C21.18 6.91 21.25 5.54 20.41 4.7L18.3 2.59C17.9 2.19 17.39 2 16.88 2M9.1 10.36L8.39 11.07C8 11.46 8 12.09 8.39 12.5L10.5 14.6C10.71 14.8 10.96 14.89 11.22 14.89S11.73 14.8 11.93 14.6L12.63 13.9L9.1 10.36M6 15C5.45 15 5 15.45 5 16C5 16.55 5.45 17 6 17C6.55 17 7 16.55 7 16C7 15.45 6.55 15 6 15M9 16C8.45 16 8 16.45 8 17S8.45 18 9 18C9.55 18 10 17.55 10 17S9.55 16 9 16M4 18C3.45 18 3 18.45 3 19S3.45 20 4 20C4.55 20 5 19.55 5 19S4.55 18 4 18M7 19C6.45 19 6 19.45 6 20S6.45 21 7 21C7.55 21 8 20.55 8 20S7.55 19 7 19Z\";\r\nexport var mdiShape = \"M11,13.5V21.5H3V13.5H11M12,2L17.5,11H6.5L12,2M17.5,13C20,13 22,15 22,17.5C22,20 20,22 17.5,22C15,22 13,20 13,17.5C13,15 15,13 17.5,13Z\";\r\nexport var mdiShapeCirclePlus = \"M11,19A6,6 0 0,0 17,13H19A8,8 0 0,1 11,21A8,8 0 0,1 3,13A8,8 0 0,1 11,5V7A6,6 0 0,0 5,13A6,6 0 0,0 11,19M19,5H22V7H19V10H17V7H14V5H17V2H19V5Z\";\r\nexport var mdiShapeOutline = \"M11,13.5V21.5H3V13.5H11M9,15.5H5V19.5H9V15.5M12,2L17.5,11H6.5L12,2M12,5.86L10.08,9H13.92L12,5.86M17.5,13C20,13 22,15 22,17.5C22,20 20,22 17.5,22C15,22 13,20 13,17.5C13,15 15,13 17.5,13M17.5,15A2.5,2.5 0 0,0 15,17.5A2.5,2.5 0 0,0 17.5,20A2.5,2.5 0 0,0 20,17.5A2.5,2.5 0 0,0 17.5,15Z\";\r\nexport var mdiShapeOvalPlus = \"M19 5H22V7H19V10H17V7H14V5H17V2H19V5M11 4L12 4.09V6.14C11.68 6.05 11.34 6 11 6C8.24 6 6 9.13 6 13C6 16.87 8.24 20 11 20C13.76 20 16 16.87 16 13L15.95 12H17.96L18 13C18 17.97 14.87 22 11 22C7.13 22 4 17.97 4 13C4 8.03 7.13 4 11 4Z\";\r\nexport var mdiShapePlus = \"M2,2H11V11H2V2M17.5,2C20,2 22,4 22,6.5C22,9 20,11 17.5,11C15,11 13,9 13,6.5C13,4 15,2 17.5,2M6.5,14L11,22H2L6.5,14M19,17H22V19H19V22H17V19H14V17H17V14H19V17Z\";\r\nexport var mdiShapePolygonPlus = \"M17,15.7V13H19V17L10,21L3,14L7,5H11V7H8.3L5.4,13.6L10.4,18.6L17,15.7M22,5V7H19V10H17V7H14V5H17V2H19V5H22Z\";\r\nexport var mdiShapeRectanglePlus = \"M19,6H22V8H19V11H17V8H14V6H17V3H19V6M17,17V14H19V19H3V6H11V8H5V17H17Z\";\r\nexport var mdiShapeSquarePlus = \"M19,5H22V7H19V10H17V7H14V5H17V2H19V5M17,19V13H19V21H3V5H11V7H5V19H17Z\";\r\nexport var mdiShapeSquareRoundedPlus = \"M17 2H19V5H22V7H19V10H17V7H14V5H17V2M7 5H11V7H7C5.9 7 5 7.9 5 9V17C5 18.11 5.9 19 7 19H15C16.11 19 17 18.11 17 17V13H19V17C19 19.21 17.21 21 15 21H7C4.79 21 3 19.21 3 17V9C3 6.79 4.79 5 7 5Z\";\r\nexport var mdiShare = \"M21,12L14,5V9C7,10 4,15 3,20C5.5,16.5 9,14.9 14,14.9V19L21,12Z\";\r\nexport var mdiShareAll = \"M11 9V5L18 12L11 19V14.9C6 14.9 2.5 16.5 0 20C1 15 4 10 11 9M17 8V5L24 12L17 19V16L21 12L17 8Z\";\r\nexport var mdiShareAllOutline = \"M13 9.8V10.7L11.3 10.9C8.7 11.3 6.8 12.3 5.4 13.6C7.1 13.1 8.9 12.8 11 12.8H13V14.1L15.2 12L13 9.8M11 5L18 12L11 19V14.9C6 14.9 2.5 16.5 0 20C1 15 4 10 11 9M17 8V5L24 12L17 19V16L21 12\";\r\nexport var mdiShareCircle = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M14 16V13C10.39 13 7.81 14.43 6 17C6.72 13.33 8.94 9.73 14 9V6L19 11L14 16Z\";\r\nexport var mdiShareOff = \"M20.8 22.7L15.6 17.5L14 19V15.9L13.1 14.9C8.6 15.2 5.4 16.8 3 20.1C3.58 16.31 5.72 12.94 8.9 10.8L1.1 3L2.4 1.7L22.1 21.5M18.1 14.9L21 12L14 5V9L12.5 9.3\";\r\nexport var mdiShareOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L8.9 10.8C5.4 12.9 3.7 16.4 3 20C5.3 16.7 8.6 15.1 13 14.9L14 15.9V19L15.6 17.4L20.8 22.7M8.3 13.8C8.94 13.22 9.65 12.71 10.4 12.3L11.3 13.1M14.2 11L12.5 9.3L14 9V5L21 12L18.1 14.9L16.7 13.5L18.2 12L16 9.8V10.7\";\r\nexport var mdiShareOutline = \"M14,5V9C7,10 4,15 3,20C5.5,16.5 9,14.9 14,14.9V19L21,12L14,5M16,9.83L18.17,12L16,14.17V12.9H14C11.93,12.9 10.07,13.28 8.34,13.85C9.74,12.46 11.54,11.37 14.28,11L16,10.73V9.83Z\";\r\nexport var mdiShareVariant = \"M18,16.08C17.24,16.08 16.56,16.38 16.04,16.85L8.91,12.7C8.96,12.47 9,12.24 9,12C9,11.76 8.96,11.53 8.91,11.3L15.96,7.19C16.5,7.69 17.21,8 18,8A3,3 0 0,0 21,5A3,3 0 0,0 18,2A3,3 0 0,0 15,5C15,5.24 15.04,5.47 15.09,5.7L8.04,9.81C7.5,9.31 6.79,9 6,9A3,3 0 0,0 3,12A3,3 0 0,0 6,15C6.79,15 7.5,14.69 8.04,14.19L15.16,18.34C15.11,18.55 15.08,18.77 15.08,19C15.08,20.61 16.39,21.91 18,21.91C19.61,21.91 20.92,20.61 20.92,19A2.92,2.92 0 0,0 18,16.08Z\";\r\nexport var mdiShareVariantOutline = \"M18 16.08C17.24 16.08 16.56 16.38 16.04 16.85L8.91 12.7C8.96 12.47 9 12.24 9 12S8.96 11.53 8.91 11.3L15.96 7.19C16.5 7.69 17.21 8 18 8C19.66 8 21 6.66 21 5S19.66 2 18 2 15 3.34 15 5C15 5.24 15.04 5.47 15.09 5.7L8.04 9.81C7.5 9.31 6.79 9 6 9C4.34 9 3 10.34 3 12S4.34 15 6 15C6.79 15 7.5 14.69 8.04 14.19L15.16 18.34C15.11 18.55 15.08 18.77 15.08 19C15.08 20.61 16.39 21.91 18 21.91S20.92 20.61 20.92 19C20.92 17.39 19.61 16.08 18 16.08M18 4C18.55 4 19 4.45 19 5S18.55 6 18 6 17 5.55 17 5 17.45 4 18 4M6 13C5.45 13 5 12.55 5 12S5.45 11 6 11 7 11.45 7 12 6.55 13 6 13M18 20C17.45 20 17 19.55 17 19S17.45 18 18 18 19 18.45 19 19 18.55 20 18 20Z\";\r\nexport var mdiSharkFin = \"M22 16V18H20C18.6 18 17.2 17.6 16 17C13.5 18.3 10.5 18.3 8 17C6.8 17.6 5.4 18 4 18H2V16H4C5.4 16 6.8 15.5 8 14.7C10.4 16.4 13.6 16.4 16 14.7C17.2 15.5 18.6 16 20 16H22M5.28 13.79C5.82 13.63 6.37 13.38 6.89 13.04L8.03 12.27L9.16 13.07C10 13.66 11 14 12 14C13 14 14 13.66 14.84 13.07L15.97 12.27L17.11 13.04C17.93 13.59 18.83 13.9 19.67 13.97C18.24 7.4 12.37 2 6 2C5.65 2 5.33 2.18 5.15 2.47C4.97 2.77 4.95 3.14 5.11 3.45C7.28 7.79 6.61 11.29 5.28 13.79M16 18.7C13.6 20.4 10.4 20.4 8 18.7C6.8 19.5 5.4 20 4 20H2V22H4C5.4 22 6.8 21.6 8 21C10.5 22.3 13.5 22.3 16 21C17.2 21.6 18.6 22 20 22H22V20H20C18.6 20 17.2 19.5 16 18.7Z\";\r\nexport var mdiSharkFinOutline = \"M22 16V18H20C18.6 18 17.2 17.6 16 17C13.5 18.3 10.5 18.3 8 17C6.8 17.6 5.4 18 4 18H2V16H4C5.4 16 6.8 15.5 8 14.7C10.4 16.4 13.6 16.4 16 14.7C17.2 15.5 18.6 16 20 16H22M5.28 13.79C5.82 13.63 6.37 13.38 6.89 13.04L8 12.28C8.69 10 8.78 7.27 7.59 4.14C11.95 4.89 15.89 8.65 17.37 13.19C18.12 13.64 18.91 13.91 19.66 13.97C18.24 7.4 12.37 2 6 2C5.65 2 5.33 2.18 5.15 2.47C4.97 2.77 4.95 3.14 5.11 3.45C7.28 7.79 6.61 11.29 5.28 13.79M16 18.7C13.6 20.4 10.4 20.4 8 18.7C6.8 19.5 5.4 20 4 20H2V22H4C5.4 22 6.8 21.6 8 21C10.5 22.3 13.5 22.3 16 21C17.2 21.6 18.6 22 20 22H22V20H20C18.6 20 17.2 19.5 16 18.7Z\";\r\nexport var mdiSheep = \"M20,8.5A2.5,2.5 0 0,1 17.5,11C16.42,11 15.5,10.31 15.16,9.36C14.72,9.75 14.14,10 13.5,10C12.94,10 12.42,9.81 12,9.5C11.58,9.81 11.07,10 10.5,10C9.86,10 9.28,9.75 8.84,9.36C8.5,10.31 7.58,11 6.5,11A2.5,2.5 0 0,1 4,8.5C4,7.26 4.91,6.23 6.1,6.04C6.04,5.87 6,5.69 6,5.5A1.5,1.5 0 0,1 7.5,4C7.7,4 7.89,4.04 8.06,4.11C8.23,3.47 8.81,3 9.5,3C9.75,3 10,3.07 10.18,3.17C10.5,2.5 11.19,2 12,2C12.81,2 13.5,2.5 13.82,3.17C14,3.07 14.25,3 14.5,3C15.19,3 15.77,3.47 15.94,4.11C16.11,4.04 16.3,4 16.5,4A1.5,1.5 0 0,1 18,5.5C18,5.69 17.96,5.87 17.9,6.04C19.09,6.23 20,7.26 20,8.5M10,12A1,1 0 0,0 9,13A1,1 0 0,0 10,14A1,1 0 0,0 11,13A1,1 0 0,0 10,12M14,12A1,1 0 0,0 13,13A1,1 0 0,0 14,14A1,1 0 0,0 15,13A1,1 0 0,0 14,12M20.23,10.66C19.59,11.47 18.61,12 17.5,12C17.05,12 16.62,11.9 16.21,11.73C16.2,14.28 15.83,17.36 14.45,18.95C13.93,19.54 13.3,19.86 12.5,19.96V18H11.5V19.96C10.7,19.86 10.07,19.55 9.55,18.95C8.16,17.35 7.79,14.29 7.78,11.74C7.38,11.9 6.95,12 6.5,12C5.39,12 4.41,11.47 3.77,10.66C2.88,11.55 2,12 2,12C2,12 3,14 5,14C5.36,14 5.64,13.96 5.88,13.91C6.22,17.73 7.58,22 12,22C16.42,22 17.78,17.73 18.12,13.91C18.36,13.96 18.64,14 19,14C21,14 22,12 22,12C22,12 21.12,11.55 20.23,10.66Z\";\r\nexport var mdiShield = \"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1Z\";\r\nexport var mdiShieldAccount = \"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1M12,5A3,3 0 0,1 15,8A3,3 0 0,1 12,11A3,3 0 0,1 9,8A3,3 0 0,1 12,5M17.13,17C15.92,18.85 14.11,20.24 12,20.92C9.89,20.24 8.08,18.85 6.87,17C6.53,16.5 6.24,16 6,15.47C6,13.82 8.71,12.47 12,12.47C15.29,12.47 18,13.79 18,15.47C17.76,16 17.47,16.5 17.13,17Z\";\r\nexport var mdiShieldAccountOutline = \"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1M12,3.18L19,6.3V11.22C19,12.92 18.5,14.65 17.65,16.17C16,14.94 13.26,14.5 12,14.5C10.74,14.5 8,14.94 6.35,16.17C5.5,14.65 5,12.92 5,11.22V6.3L12,3.18M12,6A3.5,3.5 0 0,0 8.5,9.5A3.5,3.5 0 0,0 12,13A3.5,3.5 0 0,0 15.5,9.5A3.5,3.5 0 0,0 12,6M12,8A1.5,1.5 0 0,1 13.5,9.5A1.5,1.5 0 0,1 12,11A1.5,1.5 0 0,1 10.5,9.5A1.5,1.5 0 0,1 12,8M12,16.5C13.57,16.5 15.64,17.11 16.53,17.84C15.29,19.38 13.7,20.55 12,21C10.3,20.55 8.71,19.38 7.47,17.84C8.37,17.11 10.43,16.5 12,16.5Z\";\r\nexport var mdiShieldAccountVariant = \"M17 11C17.3 11 17.7 11 18 11.1V6.3L10.5 3L3 6.3V11.2C3 15.7 6.2 20 10.5 21C11.1 20.9 11.6 20.7 12.1 20.5C11.4 19.5 11 18.3 11 17C11 13.7 13.7 11 17 11M17 13C14.8 13 13 14.8 13 17S14.8 21 17 21 21 19.2 21 17 19.2 13 17 13M17 14.4C17.6 14.4 18.1 14.9 18.1 15.5C18.1 16.1 17.6 16.6 17 16.6S15.9 16.1 15.9 15.5 16.4 14.4 17 14.4M17 19.8C16.1 19.8 15.3 19.3 14.8 18.6C14.9 17.9 16.3 17.5 17 17.5S19.2 17.9 19.2 18.6C18.7 19.3 17.9 19.8 17 19.8Z\";\r\nexport var mdiShieldAccountVariantOutline = \"M17 14.4C17.6 14.4 18.1 14.9 18.1 15.5S17.6 16.6 17 16.6 15.9 16.1 15.9 15.5 16.4 14.4 17 14.4M17 17.5C16.3 17.5 14.8 17.9 14.8 18.6C15.3 19.3 16.1 19.8 17 19.8S18.7 19.3 19.2 18.6C19.2 17.9 17.7 17.5 17 17.5M18 11.1V6.3L10.5 3L3 6.3V11.2C3 15.7 6.2 20 10.5 21C11.1 20.9 11.6 20.7 12.1 20.5C13.2 22 15 23 17 23C20.3 23 23 20.3 23 17C23 14 20.8 11.6 18 11.1M11 17C11 17.6 11.1 18.1 11.2 18.6C11 18.7 10.7 18.8 10.5 18.9C7.3 17.9 5 14.7 5 11.2V7.6L10.5 5.2L16 7.6V11.1C13.2 11.6 11 14 11 17M17 21C14.8 21 13 19.2 13 17S14.8 13 17 13 21 14.8 21 17 19.2 21 17 21Z\";\r\nexport var mdiShieldAirplane = \"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1M12,5.68C12.5,5.68 12.95,6.11 12.95,6.63V10.11L18,13.26V14.53L12.95,12.95V16.42L14.21,17.37V18.32L12,17.68L9.79,18.32V17.37L11.05,16.42V12.95L6,14.53V13.26L11.05,10.11V6.63C11.05,6.11 11.5,5.68 12,5.68Z\";\r\nexport var mdiShieldAirplaneOutline = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21M12,5.68C12.5,5.68 12.95,6.11 12.95,6.63V10.11L18,13.26V14.53L12.95,12.95V16.42L14.21,17.37V18.32L12,17.68L9.79,18.32V17.37L11.05,16.42V12.95L6,14.53V13.26L11.05,10.11V6.63C11.05,6.11 11.5,5.68 12,5.68Z\";\r\nexport var mdiShieldAlert = \"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5M11,7H13V13H11M11,15H13V17H11\";\r\nexport var mdiShieldAlertOutline = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21M11,7H13V13H11V7M11,15H13V17H11V15Z\";\r\nexport var mdiShieldBug = \"M11 13H13V14H11V13M21 5V11C21 16.5 17.2 21.7 12 23C6.8 21.7 3 16.5 3 11V5L12 1L21 5M17 10H14.8C14.6 9.4 14.2 8.9 13.7 8.5L14.9 7.3L14.2 6.6L12.8 8H12C11.8 8 11.5 8 11.3 8.1L9.9 6.6L9.1 7.4L10.3 8.6C9.8 8.9 9.4 9.4 9.2 10H7V11H9V12H7V13H9V14H7V15H9.2C9.6 16.2 10.7 17 12 17S14.4 16.2 14.8 15H17V14H15V13H17V12H15V11H17V10M11 12H13V11H11V12Z\";\r\nexport var mdiShieldBugOutline = \"M9.9 6.6L9.1 7.4L10.3 8.6C9.8 8.9 9.4 9.4 9.2 10H7V11H9V12H7V13H9V14H7V15H9.2C9.6 16.2 10.7 17 12 17S14.4 16.2 14.8 15H17V14H15V13H17V12H15V11H17V10H14.8C14.6 9.4 14.2 8.9 13.7 8.5L14.9 7.3L14.2 6.6L12.8 8H12C11.8 8 11.5 8 11.3 8.1L9.9 6.6M11 11H13V12H11V11M11 13H13V14H11V13M21 11C21 16.5 17.2 21.7 12 23C6.8 21.7 3 16.5 3 11V5L12 1L21 5V11M12 21C15.8 20 19 15.5 19 11.2V6.3L12 3.2L5 6.3V11.2C5 15.5 8.2 20 12 21Z\";\r\nexport var mdiShieldCar = \"M14.42 7.5L16 11H8L9.42 7.5H14.42M9 12C8.45 12 8 12.45 8 13S8.45 14 9 14 10 13.55 10 13 9.55 12 9 12M15 12C14.45 12 14 12.45 14 13S14.45 14 15 14 16 13.55 16 13 15.55 12 15 12M21 5V11C21 16.55 17.16 21.74 12 23C6.84 21.74 3 16.55 3 11V5L12 1L21 5M18 12L15.84 7C15.64 6.42 15.08 6 14.42 6H9.42C8.76 6 8.2 6.42 8 7L6 12V16C6 16.55 6.45 17 7 17H8C8.55 17 9 16.55 9 16V15H15V16C15 16.55 15.45 17 16 17H17C17.55 17 18 16.55 18 16V12Z\";\r\nexport var mdiShieldCheck = \"M10,17L6,13L7.41,11.59L10,14.17L16.59,7.58L18,9M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1Z\";\r\nexport var mdiShieldCheckOutline = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21M10,17L6,13L7.41,11.59L10,14.17L16.59,7.58L18,9\";\r\nexport var mdiShieldCross = \"M12,1L3,5V11C3,16.5 6.8,21.7 12,23C17.2,21.7 21,16.5 21,11V5L12,1M16,10H13V18H11V10H8V8H11V5H13V8H16V10Z\";\r\nexport var mdiShieldCrossOutline = \"M21,11C21,16.5 17.2,21.7 12,23C6.8,21.7 3,16.5 3,11V5L12,1L21,5V11M12,21C15.8,20 19,15.5 19,11.2V6.3L12,3.2L5,6.3V11.2C5,15.5 8.3,20 12,21M16,9H13V6H11V9H8V11H11V19H13V11H16V9Z\";\r\nexport var mdiShieldEdit = \"M21.7 14.4L20.7 15.4L18.6 13.3L19.6 12.3C19.8 12.1 20.2 12.1 20.4 12.3L21.7 13.6C21.9 13.8 21.9 14.1 21.7 14.4M12 19.9L18.1 13.8L20.2 15.9L14.1 22H12V19.9M10 19.1L21 8.1V5L12 1L3 5V11C3 15.8 5.9 20.3 10 22.3V19.1Z\";\r\nexport var mdiShieldEditOutline = \"M21.7 13.6L20.4 12.3C20.3 12.2 20.2 12.1 20 12.1C19.9 12.1 19.7 12.2 19.6 12.3L18.6 13.3L20.6 15.3L21.6 14.3C21.9 14.1 21.9 13.8 21.7 13.6M12 19.9V22H14.1L20.2 15.9L18.2 13.8L12 19.9M10 22.3C5.9 20.3 3 15.8 3 11V5L12 1L21 5V8.1L19 10.1V6.3L12 3.2L5 6.3V11.2C5 14.7 7.2 18.3 10 20.1V22.3Z\";\r\nexport var mdiShieldHalf = \"M12 1L3 5V11C3 16.5 6.8 21.7 12 23V1Z\";\r\nexport var mdiShieldHalfFull = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18V21Z\";\r\nexport var mdiShieldHome = \"M11,13H13V16H16V11H18L12,6L6,11H8V16H11V13M12,1L21,5V11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1Z\";\r\nexport var mdiShieldHomeOutline = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21M11,14H13V17H16V12H18L12,7L6,12H8V17H11V14\";\r\nexport var mdiShieldKey = \"M12,8A1,1 0 0,1 13,9A1,1 0 0,1 12,10A1,1 0 0,1 11,9A1,1 0 0,1 12,8M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,6A3,3 0 0,0 9,9C9,10.31 9.83,11.42 11,11.83V18H13V16H15V14H13V11.83C14.17,11.42 15,10.31 15,9A3,3 0 0,0 12,6Z\";\r\nexport var mdiShieldKeyOutline = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21M12,6A3,3 0 0,1 15,9C15,10.31 14.17,11.42 13,11.83V14H15V16H13V18H11V11.83C9.83,11.42 9,10.31 9,9A3,3 0 0,1 12,6M12,8A1,1 0 0,0 11,9A1,1 0 0,0 12,10A1,1 0 0,0 13,9A1,1 0 0,0 12,8Z\";\r\nexport var mdiShieldLinkVariant = \"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1M14.28,14.08L12.26,16.1C11.66,16.7 10.87,17 10.08,17C9.29,17 8.5,16.7 7.9,16.1C6.7,14.9 6.7,12.95 7.9,11.74L9.15,10.5L9.14,11.06C9.14,11.5 9.21,11.95 9.36,12.37L9.41,12.5L9.04,12.87C8.76,13.15 8.6,13.53 8.6,13.92C8.6,14.32 8.76,14.69 9.04,14.97C9.6,15.53 10.57,15.53 11.13,14.97L13.14,12.96C13.43,12.67 13.58,12.3 13.58,11.91C13.58,11.5 13.43,11.14 13.15,10.86C13,10.71 12.9,10.5 12.9,10.29C12.9,10.08 13,9.88 13.15,9.73C13.45,9.42 14,9.43 14.28,9.73C14.86,10.31 15.18,11.08 15.18,11.9C15.18,12.73 14.86,13.5 14.28,14.08M17.1,11.26L15.85,12.5L15.86,11.94C15.86,11.5 15.79,11.06 15.64,10.64L15.6,10.5L15.96,10.13C16.25,9.85 16.4,9.5 16.4,9.08C16.4,8.69 16.25,8.32 15.97,8.04C15.4,7.47 14.43,7.47 13.87,8.04L11.86,10.05C11.58,10.33 11.42,10.7 11.42,11.1C11.42,11.5 11.57,11.86 11.86,12.14C12,12.29 12.1,12.5 12.1,12.71C12.1,12.93 12,13.13 11.85,13.28C11.7,13.44 11.5,13.5 11.29,13.5C11.09,13.5 10.88,13.43 10.72,13.28C9.5,12.08 9.5,10.12 10.72,8.92L12.74,6.9C13.95,5.7 15.9,5.7 17.1,6.9C17.68,7.5 18,8.26 18,9.08C18,9.9 17.68,10.68 17.1,11.26Z\";\r\nexport var mdiShieldLinkVariantOutline = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21M14.28,9.73C14.86,10.31 15.18,11.08 15.18,11.9C15.18,12.73 14.86,13.5 14.28,14.08L12.26,16.1C11.66,16.7 10.87,17 10.08,17C9.29,17 8.5,16.7 7.9,16.1C6.7,14.9 6.7,12.95 7.9,11.74L9.15,10.5L9.14,11.06C9.14,11.5 9.21,11.95 9.36,12.36L9.4,12.5L9.04,12.87C8.75,13.15 8.6,13.5 8.6,13.92C8.6,14.31 8.75,14.68 9.03,14.96C9.6,15.53 10.57,15.53 11.13,14.97L13.14,12.95C13.43,12.67 13.58,12.3 13.58,11.91C13.58,11.5 13.43,11.14 13.14,10.86C13,10.71 12.9,10.5 12.9,10.29C12.9,10.08 13,9.87 13.14,9.72C13.45,9.42 14,9.42 14.28,9.73M18,9.08C18,9.9 17.68,10.68 17.1,11.26L15.85,12.5L15.86,11.94C15.86,11.5 15.79,11.06 15.64,10.64L15.59,10.5L15.96,10.13C16.25,9.85 16.4,9.5 16.4,9.08C16.4,8.69 16.25,8.32 15.96,8.04C15.4,7.47 14.43,7.47 13.87,8.03L11.86,10.05C11.57,10.33 11.42,10.7 11.42,11.1C11.42,11.5 11.57,11.86 11.85,12.14C12,12.29 12.1,12.5 12.1,12.71C12.1,12.93 12,13.13 11.85,13.28C11.7,13.43 11.5,13.5 11.29,13.5C11.09,13.5 10.88,13.43 10.72,13.28C9.5,12.07 9.5,10.12 10.72,8.92L12.74,6.9C13.95,5.7 15.9,5.7 17.1,6.9C17.68,7.5 18,8.26 18,9.08Z\";\r\nexport var mdiShieldLock = \"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1M12,7C13.4,7 14.8,8.1 14.8,9.5V11C15.4,11 16,11.6 16,12.3V15.8C16,16.4 15.4,17 14.7,17H9.2C8.6,17 8,16.4 8,15.7V12.2C8,11.6 8.6,11 9.2,11V9.5C9.2,8.1 10.6,7 12,7M12,8.2C11.2,8.2 10.5,8.7 10.5,9.5V11H13.5V9.5C13.5,8.7 12.8,8.2 12,8.2Z\";\r\nexport var mdiShieldLockOutline = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21M14.8,11V9.5C14.8,8.1 13.4,7 12,7C10.6,7 9.2,8.1 9.2,9.5V11C8.6,11 8,11.6 8,12.2V15.7C8,16.4 8.6,17 9.2,17H14.7C15.4,17 16,16.4 16,15.8V12.3C16,11.6 15.4,11 14.8,11M13.5,11H10.5V9.5C10.5,8.7 11.2,8.2 12,8.2C12.8,8.2 13.5,8.7 13.5,9.5V11Z\";\r\nexport var mdiShieldMoon = \"M12 1L3 5V11C3 16.55 6.84 21.74 12 23C17.16 21.74 21 16.55 21 11V5L12 1M15.97 14.41C14.13 16.58 10.76 16.5 9 14.34C6.82 11.62 8.36 7.62 11.7 7C12.04 6.95 12.33 7.28 12.21 7.61C11.75 8.84 11.82 10.25 12.53 11.47C13.24 12.69 14.42 13.46 15.71 13.67C16.05 13.72 16.2 14.14 15.97 14.41Z\";\r\nexport var mdiShieldMoonOutline = \"M21 11C21 16.55 17.16 21.74 12 23C6.84 21.74 3 16.55 3 11V5L12 1L21 5V11M12 21C15.75 20 19 15.54 19 11.22V6.3L12 3.18L5 6.3V11.22C5 15.54 8.25 20 12 21M9 14.33C10.76 16.5 14.13 16.57 15.97 14.4C16.2 14.13 16.05 13.72 15.71 13.66C14.42 13.45 13.23 12.68 12.53 11.46C11.82 10.24 11.75 8.83 12.21 7.6C12.33 7.27 12.05 6.94 11.7 7C8.36 7.62 6.81 11.61 9 14.33\";\r\nexport var mdiShieldOff = \"M1,4.27L2.28,3L20.5,21.22L19.23,22.5L17,20.25C15.57,21.57 13.87,22.54 12,23C6.84,21.74 3,16.55 3,11V6.27L1,4.27M12,1L21,5V11C21,13.28 20.35,15.5 19.23,17.41L5.65,3.82L12,1Z\";\r\nexport var mdiShieldOffOutline = \"M1,4.27L3,6.27V11C3,16.55 6.84,21.74 12,23C13.87,22.54 15.57,21.56 16.97,20.24L19.23,22.5L20.5,21.22L2.28,3L1,4.27M12,21C8.25,20 5,15.54 5,11.22V8.27L15.59,18.86C14.53,19.89 13.3,20.65 12,21M21,5V11C21,13.28 20.35,15.5 19.23,17.4L17.77,15.95C18.54,14.5 19,12.84 19,11.22V6.3L12,3.18L7.16,5.34L5.65,3.82L12,1L21,5Z\";\r\nexport var mdiShieldOutline = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21Z\";\r\nexport var mdiShieldPlus = \"M19,20V22.97H17V20H14V18H17V15H19V18H22V20H19M12,1L21,5V11C21,11.9 20.9,12.78 20.71,13.65C19.9,13.23 19,13 18,13A6,6 0 0,0 12,19C12,20.36 12.45,21.62 13.22,22.62L12,23C6.84,21.74 3,16.55 3,11V5L12,1Z\";\r\nexport var mdiShieldPlusOutline = \"M19,20V22.97H17V20H14V18H17V15H19V18H22V20H19M21,11C21,11.9 20.9,12.78 20.71,13.65C20.13,13.35 19.5,13.15 18.81,13.05C18.93,12.45 19,11.83 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21L12.31,20.91C12.5,21.53 12.83,22.11 13.22,22.62L12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11Z\";\r\nexport var mdiShieldRefresh = \"M18 12C19 12 20 12.2 20.9 12.7C21 12.1 21 11.6 21 11V5L12 1L3 5V11C3 16.5 6.8 21.7 12 23C12.4 22.9 12.7 22.8 13 22.7C12 21.5 11.5 20 11.5 18.5C11.5 14.9 14.4 12 18 12M18 14.5C19.1 14.5 20.1 14.9 20.8 15.7L22 14.5V18.5H18L19.8 16.7C19.3 16.3 18.7 16 18 16C16.6 16 15.5 17.1 15.5 18.5S16.6 21 18 21C18.8 21 19.5 20.6 20 20H21.7C21.1 21.5 19.7 22.5 18 22.5C15.8 22.5 14 20.7 14 18.5S15.8 14.5 18 14.5Z\";\r\nexport var mdiShieldRefreshOutline = \"M12 21C8.2 20 5 15.5 5 11.2V6.3L12 3.2L19 6.3V12.1C19.7 12.2 20.3 12.4 20.9 12.7C21 12.1 21 11.6 21 11V5L12 1L3 5V11C3 16.5 6.8 21.7 12 23C12.4 22.9 12.7 22.8 13 22.7C12.6 22.2 12.2 21.6 12 21M18 14.5C19.1 14.5 20.1 14.9 20.8 15.7L22 14.5V18.5H18L19.8 16.7C19.3 16.3 18.7 16 18 16C16.6 16 15.5 17.1 15.5 18.5S16.6 21 18 21C18.8 21 19.5 20.6 20 20H21.7C21.1 21.5 19.7 22.5 18 22.5C15.8 22.5 14 20.7 14 18.5S15.8 14.5 18 14.5Z\";\r\nexport var mdiShieldRemove = \"M19.43,19L21.5,21.11L20.12,22.5L18.03,20.41L15.91,22.53L14.5,21.11L16.61,19L14.5,16.86L15.88,15.47L18,17.59L20.12,15.47L21.55,16.9L19.43,19M12,1L21,5V11C21,11.9 20.9,12.78 20.71,13.65C19.9,13.23 19,13 18,13A6,6 0 0,0 12,19C12,20.36 12.45,21.62 13.22,22.62L12,23C6.84,21.74 3,16.55 3,11V5L12,1Z\";\r\nexport var mdiShieldRemoveOutline = \"M19.43,19L21.5,21.11L20.12,22.5L18.03,20.41L15.91,22.53L14.5,21.11L16.61,19L14.5,16.86L15.88,15.47L18,17.59L20.12,15.47L21.55,16.9L19.43,19M21,11C21,11.9 20.9,12.78 20.71,13.65C20.13,13.35 19.5,13.15 18.81,13.05C18.93,12.45 19,11.83 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21L12.31,20.91C12.5,21.53 12.83,22.11 13.22,22.62L12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11Z\";\r\nexport var mdiShieldSearch = \"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M17.86,19.31C16.23,21.22 14.28,22.45 12,23C9.44,22.39 7.3,20.93 5.58,18.63C3.86,16.34 3,13.8 3,11V5L12,1L21,5V11C21,13.39 20.36,15.61 19.08,17.67L16.17,14.76C16.69,13.97 17,13 17,12A5,5 0 0,0 12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17C13,17 13.97,16.69 14.76,16.17L17.86,19.31Z\";\r\nexport var mdiShieldStar = \"M12 1L3 5V11C3 16.55 6.84 21.74 12 23C17.16 21.74 21 16.55 21 11V5L12 1M15.08 16L12 14.15L8.93 16L9.74 12.5L7.03 10.16L10.61 9.85L12 6.55L13.39 9.84L16.97 10.15L14.26 12.5L15.08 16Z\";\r\nexport var mdiShieldStarOutline = \"M21 11C21 16.55 17.16 21.74 12 23C6.84 21.74 3 16.55 3 11V5L12 1L21 5V11M12 21C15.75 20 19 15.54 19 11.22V6.3L12 3.18L5 6.3V11.22C5 15.54 8.25 20 12 21M15.05 16L11.97 14.15L8.9 16L9.71 12.5L7 10.16L10.58 9.85L11.97 6.55L13.37 9.84L16.95 10.15L14.23 12.5L15.05 16\";\r\nexport var mdiShieldSun = \"M12 1L3 5V11C3 16.55 6.84 21.74 12 23C17.16 21.74 21 16.55 21 11V5L12 1M12 8.89C13.6 8.89 14.89 10.18 14.89 11.78S13.6 14.67 12 14.67 9.11 13.37 9.11 11.78 10.41 8.89 12 8.89M12 6L13.38 8C12.96 7.82 12.5 7.73 12 7.73S11.05 7.82 10.62 8L12 6M7 8.89L9.4 8.69C9.06 9 8.74 9.34 8.5 9.76C8.25 10.18 8.1 10.62 8 11.08L7 8.89M7 14.67L8.03 12.5C8.11 12.93 8.27 13.38 8.5 13.8C8.75 14.23 9.06 14.59 9.4 14.88L7 14.67M17 8.89L16 11.08C15.9 10.62 15.74 10.18 15.5 9.76C15.26 9.34 14.95 9 14.6 8.68L17 8.89M17 14.67L14.6 14.87C14.94 14.58 15.25 14.22 15.5 13.8C15.74 13.38 15.89 12.93 15.97 12.5L17 14.67M12 17.55L10.61 15.57C11.04 15.72 11.5 15.82 12 15.82C12.5 15.82 12.95 15.72 13.37 15.57L12 17.55Z\";\r\nexport var mdiShieldSunOutline = \"M21 11C21 16.55 17.16 21.74 12 23C6.84 21.74 3 16.55 3 11V5L12 1L21 5V11M12 21C15.75 20 19 15.54 19 11.22V6.3L12 3.18L5 6.3V11.22C5 15.54 8.25 20 12 21M12 8.89C13.6 8.89 14.89 10.18 14.89 11.78S13.6 14.67 12 14.67 9.11 13.37 9.11 11.78 10.41 8.89 12 8.89M12 6L13.38 8C12.96 7.82 12.5 7.73 12 7.73S11.05 7.82 10.62 8L12 6M7 8.89L9.4 8.69C9.06 9 8.74 9.34 8.5 9.76C8.25 10.18 8.1 10.62 8 11.08L7 8.89M7 14.67L8.03 12.5C8.11 12.93 8.27 13.38 8.5 13.8C8.75 14.23 9.06 14.59 9.4 14.88L7 14.67M17 8.89L16 11.08C15.9 10.62 15.74 10.18 15.5 9.76C15.26 9.34 14.95 9 14.6 8.68L17 8.89M17 14.67L14.6 14.87C14.94 14.58 15.25 14.22 15.5 13.8C15.74 13.38 15.89 12.93 15.97 12.5L17 14.67M12 17.55L10.61 15.57C11.04 15.72 11.5 15.82 12 15.82C12.5 15.82 12.95 15.72 13.37 15.57L12 17.55Z\";\r\nexport var mdiShieldSync = \"M18 12A6.41 6.41 0 0 1 20.87 12.67A11.63 11.63 0 0 0 21 11V5L12 1L3 5V11C3 16.55 6.84 21.74 12 23C12.35 22.91 12.7 22.8 13 22.68A6.42 6.42 0 0 1 11.5 18.5A6.5 6.5 0 0 1 18 12M18 14.5V13L15.75 15.25L18 17.5V16A2.5 2.5 0 0 1 20.24 19.62L21.33 20.71A4 4 0 0 0 18 14.5M18 21A2.5 2.5 0 0 1 15.76 17.38L14.67 16.29A4 4 0 0 0 18 22.5V24L20.25 21.75L18 19.5Z\";\r\nexport var mdiShieldSyncOutline = \"M12 21C8.25 20 5 15.54 5 11.22V6.3L12 3.18L19 6.3V12.07A6.45 6.45 0 0 1 20.91 12.67A11.63 11.63 0 0 0 21 11V5L12 1L3 5V11C3 16.55 6.84 21.74 12 23C12.35 22.91 12.7 22.8 13 22.68A6.3 6.3 0 0 1 12 21M18 14.5V13L15.75 15.25L18 17.5V16A2.5 2.5 0 0 1 20.24 19.62L21.33 20.71A4 4 0 0 0 18 14.5M18 21A2.5 2.5 0 0 1 15.76 17.38L14.67 16.29A4 4 0 0 0 18 22.5V24L20.25 21.75L18 19.5Z\";\r\nexport var mdiShimmer = \"M10.6 9.6L9 15L7.4 9.6L2 8L7.4 6.4L9 1L10.6 6.4L16 8L10.6 9.6M17 14.2L21 12L18.8 16L21 20L17 17.8L13 20L15.2 16L13 12L17 14.2M10 16L8.3 19L10 22L7 20.3L4 22L5.7 19L4 16L7 17.7L10 16\";\r\nexport var mdiShipWheel = \"M2,11L4.05,11.1C4.3,8.83 5.5,6.85 7.25,5.56L6.13,3.84C5.86,3.36 6,2.75 6.5,2.47C7,2.2 7.59,2.36 7.87,2.84L8.8,4.66C9.78,4.24 10.86,4 12,4C13.14,4 14.22,4.24 15.2,4.66L16.13,2.84C16.41,2.36 17,2.2 17.5,2.47C18,2.75 18.14,3.36 17.87,3.84L16.75,5.56C18.5,6.85 19.7,8.83 19.95,11.1L22,11A1,1 0 0,1 23,12A1,1 0 0,1 22,13L19.95,12.9C19.7,15.17 18.5,17.15 16.75,18.44L17.87,20.16C18.14,20.64 18,21.25 17.5,21.53C17,21.8 16.41,21.64 16.13,21.16L15.2,19.34C14.22,19.76 13.14,20 12,20C10.86,20 9.78,19.76 8.8,19.34L7.87,21.16C7.59,21.64 7,21.8 6.5,21.53C6,21.25 5.86,20.64 6.13,20.16L7.25,18.44C5.5,17.15 4.3,15.17 4.05,12.9L2,13A1,1 0 0,1 1,12A1,1 0 0,1 2,11M9.07,11.35C9.2,10.74 9.53,10.2 10,9.79L8.34,7.25C7.11,8.19 6.27,9.6 6.05,11.2L9.07,11.35M12,9C12.32,9 12.62,9.05 12.9,9.14L14.28,6.45C13.58,6.16 12.81,6 12,6C11.19,6 10.42,6.16 9.72,6.45L11.1,9.14C11.38,9.05 11.68,9 12,9M14.93,11.35L17.95,11.2C17.73,9.6 16.89,8.19 15.66,7.25L14,9.79C14.47,10.2 14.8,10.74 14.93,11.35M14.93,12.65C14.8,13.26 14.47,13.8 14,14.21L15.66,16.75C16.89,15.81 17.73,14.4 17.95,12.8L14.93,12.65M12,15C11.68,15 11.38,14.95 11.09,14.86L9.72,17.55C10.42,17.84 11.19,18 12,18C12.81,18 13.58,17.84 14.28,17.55L12.91,14.86C12.62,14.95 12.32,15 12,15M9.07,12.65L6.05,12.8C6.27,14.4 7.11,15.81 8.34,16.75L10,14.21C9.53,13.8 9.2,13.26 9.07,12.65Z\";\r\nexport var mdiShoeBallet = \"M12.78 11.97C12.27 8.54 10.86 2 7.53 2S2.8 8.54 2.28 11.97C2.07 13.42 2 14.89 2.16 16.35C2.5 19.39 3.55 20.84 4.27 21.5C4.64 21.83 5.11 22 5.6 22H9.47C9.96 22 10.43 21.83 10.8 21.5C11.5 20.84 12.55 19.39 12.91 16.35C13.08 14.89 13 13.42 12.78 11.97M7.53 4C7.89 3.87 8.59 4.73 9.27 6.31L4.58 10.33C5.41 6.26 6.94 3.79 7.53 4M9.75 13H5.31C5.1 13 4.92 12.92 4.76 12.81L10 8.33C10.29 9.35 10.56 10.5 10.75 11.83C10.84 12.44 10.37 13 9.75 13M21.78 11.97C21.27 8.54 19.86 2 16.53 2C15.04 2 13.94 3.32 13.13 5.08C13.5 6.04 13.84 7.14 14.13 8.37L19.31 12.81C19.15 12.92 18.97 13 18.75 13H14.92C15.04 14.27 15.03 15.45 14.89 16.59C14.62 18.87 14 20.45 13.32 21.53C13.68 21.84 14.13 22 14.6 22H18.47C18.96 22 19.43 21.83 19.8 21.5C20.5 20.84 21.55 19.39 21.91 16.35C22.08 14.89 22 13.42 21.78 11.97M14.8 6.31C15.5 4.73 16.18 3.87 16.53 4C17.13 3.79 18.65 6.26 19.5 10.33L14.8 6.31Z\";\r\nexport var mdiShoeCleat = \"M21 8C20.76 8 20.53 8 20.3 8L20.25 7.97C18.14 7.84 16.38 7.17 15.53 6.23L14 7C13.95 7.1 13.89 7.19 13.84 7.28C14.55 7.89 15 8.65 15 9.5C15 9.83 14.91 10.14 14.79 10.45L12.92 8.58C12.7 8.83 12.47 9.07 12.22 9.29L14.25 11.32C14.04 11.57 13.8 11.79 13.5 12L11.43 9.91C11.14 10.11 10.85 10.28 10.55 10.45L12.58 12.5C12.25 12.63 11.89 12.74 11.5 12.82L9.59 10.91C9.25 11.05 8.91 11.18 8.56 11.29L10.26 13C10.17 13 10.09 13 10 13C8.5 13 7.2 12.54 6.28 11.82C5.46 11.95 4.68 12 4 12C2 12 2 15 2 15V15C2 16.11 2.89 17 4 17H4V18C4 18.55 4.45 19 5 19S6 18.55 6 18V17H7V18C7 18.55 7.45 19 8 19S9 18.55 9 18V17H10V18C10 18.55 10.45 19 11 19S12 18.55 12 18V17H15V18C15 18.55 15.45 19 16 19S17 18.55 17 18V17H18V18C18 18.55 18.45 19 19 19S20 18.55 20 18V17H21C21 17 22 17 22 12.5C22 9 21 8 21 8Z\";\r\nexport var mdiShoeFormal = \"M21.5,9V8H20.5L19.5,9H15L14,8H13L7,12H4A2,2 0 0,0 2,14V16H10L13,15H15V16H21.5V14C21.5,14 22,13 22,11.5C22,10 21.5,9 21.5,9Z\";\r\nexport var mdiShoeHeel = \"M3,18H11.7L17,14H18V18H20V14C20,14 21,12 21,10C21,8 20.5,6 20.5,6H18.5L18,7L10,14H8L3,16V18Z\";\r\nexport var mdiShoePrint = \"M10.74,11.72C11.21,12.95 11.16,14.23 9.75,14.74C6.85,15.81 6.2,13 6.16,12.86L10.74,11.72M5.71,10.91L10.03,9.84C9.84,8.79 10.13,7.74 10.13,6.5C10.13,4.82 8.8,1.53 6.68,2.06C4.26,2.66 3.91,5.35 4,6.65C4.12,7.95 5.64,10.73 5.71,10.91M17.85,19.85C17.82,20 17.16,22.8 14.26,21.74C12.86,21.22 12.8,19.94 13.27,18.71L17.85,19.85M20,13.65C20.1,12.35 19.76,9.65 17.33,9.05C15.22,8.5 13.89,11.81 13.89,13.5C13.89,14.73 14.17,15.78 14,16.83L18.3,17.9C18.38,17.72 19.89,14.94 20,13.65Z\";\r\nexport var mdiShoeSneaker = \"M2 15C2 15 2 12 4 12C4.68 12 5.46 11.95 6.28 11.82C7.2 12.54 8.5 13 10 13H10.25L8.56 11.29C8.91 11.18 9.25 11.05 9.59 10.91L11.5 12.82C11.89 12.74 12.25 12.63 12.58 12.5L10.55 10.45C10.85 10.28 11.14 10.11 11.43 9.91L13.5 12C13.8 11.79 14.04 11.56 14.25 11.32L12.22 9.29C12.46 9.07 12.7 8.83 12.92 8.58L14.79 10.45C14.91 10.14 15 9.83 15 9.5C15 8.65 14.55 7.89 13.84 7.28C13.89 7.19 13.95 7.1 14 7L15.53 6.23C16.38 7.17 18.14 7.84 20.25 7.97L20.3 8H21C21 8 22 9 22 12.5C22 13.07 22 13.57 21.96 14H19C17.9 14 16.58 14.26 15.3 14.5C14.12 14.76 12.9 15 12 15H2M21 17C21 17 21.58 17 21.86 15H19C17 15 14 16 12 16H2.28C2.62 16.6 3.26 17 4 17H21Z\";\r\nexport var mdiShopping = \"M12,13A5,5 0 0,1 7,8H9A3,3 0 0,0 12,11A3,3 0 0,0 15,8H17A5,5 0 0,1 12,13M12,3A3,3 0 0,1 15,6H9A3,3 0 0,1 12,3M19,6H17A5,5 0 0,0 12,1A5,5 0 0,0 7,6H5C3.89,6 3,6.89 3,8V20A2,2 0 0,0 5,22H19A2,2 0 0,0 21,20V8C21,6.89 20.1,6 19,6Z\";\r\nexport var mdiShoppingMusic = \"M12,3A3,3 0 0,0 9,6H15A3,3 0 0,0 12,3M19,6A2,2 0 0,1 21,8V20A2,2 0 0,1 19,22H5C3.89,22 3,21.1 3,20V8C3,6.89 3.89,6 5,6H7A5,5 0 0,1 12,1A5,5 0 0,1 17,6H19M9,19L16.5,14L9,10V19Z\";\r\nexport var mdiShoppingOutline = \"M19 6H17C17 3.2 14.8 1 12 1S7 3.2 7 6H5C3.9 6 3 6.9 3 8V20C3 21.1 3.9 22 5 22H19C20.1 22 21 21.1 21 20V8C21 6.9 20.1 6 19 6M12 3C13.7 3 15 4.3 15 6H9C9 4.3 10.3 3 12 3M19 20H5V8H19V20M12 12C10.3 12 9 10.7 9 9H7C7 11.8 9.2 14 12 14S17 11.8 17 9H15C15 10.7 13.7 12 12 12Z\";\r\nexport var mdiShoppingSearch = \"M19 6H17A5 5 0 0 0 7 6H5A2 2 0 0 0 3 8V20A2 2 0 0 0 5 22H12.05A6.5 6.5 0 0 1 9 16.5A6.4 6.4 0 0 1 10.25 12.68A5 5 0 0 1 7 8H9A3 3 0 0 0 12 11H12.06A6.22 6.22 0 0 1 14.06 10.16A3 3 0 0 0 15 8H17A4.88 4.88 0 0 1 16.54 10.09A6.5 6.5 0 0 1 21 13.09V8A2 2 0 0 0 19 6M9 6A3 3 0 0 1 15 6M19.31 18.9A4.5 4.5 0 1 0 17.88 20.32L21 23.39L22.39 22M15.5 19A2.5 2.5 0 1 1 18 16.5A2.5 2.5 0 0 1 15.5 19Z\";\r\nexport var mdiShore = \"M20 12H22V14H20C18.6 14 17.3 13.6 16 13C13.5 14.3 10.5 14.3 8 13C6.7 13.6 5.4 14 4 14H2V12H4C5.4 12 6.8 11.5 8 10.7C10.4 12.4 13.6 12.4 16 10.7C17.2 11.5 18.6 12 20 12M20 6H22V8H20C18.6 8 17.3 7.7 16 7C13.5 8.3 10.5 8.3 8 7C6.7 7.7 5.4 8 4 8H2V6H4C5.4 6 6.8 5.5 8 4.7C10.4 6.4 13.6 6.4 16 4.7C17.2 5.5 18.6 6 20 6M22 20H2V18H22\";\r\nexport var mdiShovel = \"M15.1,1.81L12.27,4.64C11.5,5.42 11.5,6.69 12.27,7.47L13.68,8.88L9.13,13.43L6.31,10.6L4.89,12C-0.06,17 3.5,20.5 3.5,20.5C3.5,20.5 7,24 12,19.09L13.41,17.68L10.61,14.88L15.15,10.34L16.54,11.73C17.32,12.5 18.59,12.5 19.37,11.73L22.2,8.9L15.1,1.81M17.93,10.28L16.55,8.9L15.11,7.46L13.71,6.06L15.12,4.65L19.35,8.88L17.93,10.28Z\";\r\nexport var mdiShovelOff = \"M15.1,1.81L12.27,4.65C11.5,5.43 11.5,6.69 12.27,7.47L13.68,8.89L13,9.62L14.44,11.06L15.17,10.33L16.56,11.72C17.34,12.5 18.61,12.5 19.39,11.72L22.22,8.88L15.1,1.81M17.93,10.28L13.7,6.06L15.11,4.65L19.34,8.88L17.93,10.28M20.7,20.24L19.29,21.65L11.5,13.88L10.5,14.88L13.33,17.69L12,19.09C7,24 3.5,20.5 3.5,20.5C3.5,20.5 -0.06,17 4.89,12L6.31,10.6L9.13,13.43L10.13,12.43L2.35,4.68L3.77,3.26L20.7,20.24Z\";\r\nexport var mdiShower = \"M21,14V15C21,16.91 19.93,18.57 18.35,19.41L19,22H17L16.5,20C16.33,20 16.17,20 16,20H8C7.83,20 7.67,20 7.5,20L7,22H5L5.65,19.41C4.07,18.57 3,16.91 3,15V14H2V12H20V5A1,1 0 0,0 19,4C18.5,4 18.12,4.34 18,4.79C18.63,5.33 19,6.13 19,7H13A3,3 0 0,1 16,4C16.06,4 16.11,4 16.17,4C16.58,2.84 17.69,2 19,2A3,3 0 0,1 22,5V14H21V14M19,14H5V15A3,3 0 0,0 8,18H16A3,3 0 0,0 19,15V14Z\";\r\nexport var mdiShowerHead = \"M20,20A1,1 0 0,1 21,21A1,1 0 0,1 20,22A1,1 0 0,1 19,21A1,1 0 0,1 20,20M16,20A1,1 0 0,1 17,21A1,1 0 0,1 16,22A1,1 0 0,1 15,21A1,1 0 0,1 16,20M12,20A1,1 0 0,1 13,21A1,1 0 0,1 12,22A1,1 0 0,1 11,21A1,1 0 0,1 12,20M8,20A1,1 0 0,1 9,21A1,1 0 0,1 8,22A1,1 0 0,1 7,21A1,1 0 0,1 8,20M4,20A1,1 0 0,1 5,21A1,1 0 0,1 4,22A1,1 0 0,1 3,21A1,1 0 0,1 4,20M6,17A1,1 0 0,1 7,18A1,1 0 0,1 6,19H6A1,1 0 0,1 5,18A1,1 0 0,1 6,17H6M10,17A1,1 0 0,1 11,18A1,1 0 0,1 10,19A1,1 0 0,1 9,18A1,1 0 0,1 10,17M14,17A1,1 0 0,1 15,18A1,1 0 0,1 14,19A1,1 0 0,1 13,18A1,1 0 0,1 14,17M18,17A1,1 0 0,1 19,18A1,1 0 0,1 18,19A1,1 0 0,1 17,18A1,1 0 0,1 18,17M8,14A1,1 0 0,1 9,15A1,1 0 0,1 8,16A1,1 0 0,1 7,15A1,1 0 0,1 8,14M12,14A1,1 0 0,1 13,15A1,1 0 0,1 12,16A1,1 0 0,1 11,15A1,1 0 0,1 12,14M16,14A1,1 0 0,1 17,15A1,1 0 0,1 16,16A1,1 0 0,1 15,15A1,1 0 0,1 16,14M19,12H5V10H19V12M17.92,9H6.08C6.5,6.5 8.5,4.5 11,4.08V2H13V4.08C15.5,4.5 17.5,6.5 17.92,9Z\";\r\nexport var mdiShredder = \"M6,3V7H8V5H16V7H18V3H6M5,8A3,3 0 0,0 2,11V17H5V14H19V17H22V11A3,3 0 0,0 19,8H5M18,10A1,1 0 0,1 19,11A1,1 0 0,1 18,12A1,1 0 0,1 17,11A1,1 0 0,1 18,10M7,16V21H9V16H7M11,16V20H13V16H11M15,16V21H17V16H15Z\";\r\nexport var mdiShuffle = \"M14.83,13.41L13.42,14.82L16.55,17.95L14.5,20H20V14.5L17.96,16.54L14.83,13.41M14.5,4L16.54,6.04L4,18.59L5.41,20L17.96,7.46L20,9.5V4M10.59,9.17L5.41,4L4,5.41L9.17,10.58L10.59,9.17Z\";\r\nexport var mdiShuffleDisabled = \"M16,4.5V7H5V9H16V11.5L19.5,8M16,12.5V15H5V17H16V19.5L19.5,16\";\r\nexport var mdiShuffleVariant = \"M17,3L22.25,7.5L17,12L22.25,16.5L17,21V18H14.26L11.44,15.18L13.56,13.06L15.5,15H17V12L17,9H15.5L6.5,18H2V15H5.26L14.26,6H17V3M2,6H6.5L9.32,8.82L7.2,10.94L5.26,9H2V6Z\";\r\nexport var mdiShuriken = \"M14.5 9.5L12 2L9.5 9.5L2 12L9.5 14.5L12 22L14.5 14.5L22 12L14.5 9.5M12 13.7C11.1 13.7 10.3 13 10.3 12C10.3 11.1 11 10.3 12 10.3C12.9 10.3 13.7 11 13.7 12C13.7 12.9 12.9 13.7 12 13.7Z\";\r\nexport var mdiSigma = \"M18,6H8.83L14.83,12L8.83,18H18V20H6V18L12,12L6,6V4H18V6Z\";\r\nexport var mdiSigmaLower = \"M19,12C19,16.42 15.64,20 11.5,20C7.36,20 4,16.42 4,12C4,7.58 7.36,4 11.5,4H20V6H16.46C18,7.47 19,9.61 19,12M11.5,6C8.46,6 6,8.69 6,12C6,15.31 8.46,18 11.5,18C14.54,18 17,15.31 17,12C17,8.69 14.54,6 11.5,6Z\";\r\nexport var mdiSignCaution = \"M2,3H22V13H18V21H16V13H8V21H6V13H2V3M18.97,11L20,9.97V7.15L16.15,11H18.97M13.32,11L19.32,5H16.5L10.5,11H13.32M7.66,11L13.66,5H10.83L4.83,11H7.66M5.18,5L4,6.18V9L8,5H5.18Z\";\r\nexport var mdiSignDirection = \"M11,12H3.5L6,9.5L3.5,7H11V3L12,2L13,3V7H18L20.5,9.5L18,12H13V20A2,2 0 0,1 15,22H9A2,2 0 0,1 11,20V12Z\";\r\nexport var mdiSignDirectionMinus = \"M20.5 9.5L18 12H13V22H9A2 2 0 0 1 11 20V12H3.5L6 9.5L3.5 7H11V3L12 2L13 3V7H18M23 18H15V20H23Z\";\r\nexport var mdiSignDirectionPlus = \"M13 20H13.09A5.5 5.5 0 0 0 13.81 22H9A2 2 0 0 1 11 20V12H3.5L6 9.5L3.5 7H11V3L12 2L13 3V7H18L20.5 9.5L18 12H13M18 15V18H15V20H18V23H20V20H23V18H20V15Z\";\r\nexport var mdiSignDirectionRemove = \"M13 20H13.09A5.5 5.5 0 0 0 13.81 22H9A2 2 0 0 1 11 20V12H3.5L6 9.5L3.5 7H11V3L12 2L13 3V7H18L20.5 9.5L18 12H13M21.12 15.46L19 17.59L16.88 15.46L15.46 16.88L17.59 19L15.46 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiSignPole = \"M11 3L12 2L13 3V20C14.11 20 15 20.9 15 22H9C9 20.9 9.9 20 11 20V3Z\";\r\nexport var mdiSignRealEstate = \"M18 8H8C6.9 8 6 8.9 6 10V16C6 17.11 6.9 18 8 18H18C19.11 18 20 17.11 20 16V10C20 8.9 19.11 8 18 8M14 16H8V14H14V16M18 12H8V10H18V12M22 6H4V22H2V2H4V4H22V6Z\";\r\nexport var mdiSignText = \"M11,3L12,2L13,3V5H20A1,1 0 0,1 21,6V16A1,1 0 0,1 20,17H13V20A2,2 0 0,1 15,22H9A2,2 0 0,1 11,20V17H4A1,1 0 0,1 3,16V6A1,1 0 0,1 4,5H11V3M6,8V10H18V8H6M6,12V14H13V12H6Z\";\r\nexport var mdiSignal = \"M3,21H6V18H3M8,21H11V14H8M13,21H16V9H13M18,21H21V3H18V21Z\";\r\nexport var mdiSignal2g = \"M11,19.5H2V13.5A3,3 0 0,1 5,10.5H8V7.5H2V4.5H8A3,3 0 0,1 11,7.5V10.5A3,3 0 0,1 8,13.5H5V16.5H11M22,10.5H17.5V13.5H19V16.5H16V7.5H22V4.5H16A3,3 0 0,0 13,7.5V16.5A3,3 0 0,0 16,19.5H19A3,3 0 0,0 22,16.5\";\r\nexport var mdiSignal3g = \"M11,16.5V14.25C11,13 10,12 8.75,12C10,12 11,11 11,9.75V7.5A3,3 0 0,0 8,4.5H2V7.5H8V10.5H5V13.5H8V16.5H2V19.5H8A3,3 0 0,0 11,16.5M22,16.5V10.5H17.5V13.5H19V16.5H16V7.5H22V4.5H16A3,3 0 0,0 13,7.5V16.5A3,3 0 0,0 16,19.5H19A3,3 0 0,0 22,16.5Z\";\r\nexport var mdiSignal4g = \"M22,16.5V10.5H17.5V13.5H19V16.5H16V7.5H22V4.5H16A3,3 0 0,0 13,7.5V16.5A3,3 0 0,0 16,19.5H19A3,3 0 0,0 22,16.5M8,19.5H11V4.5H8V10.5H5V4.5H2V13.5H8V19.5Z\";\r\nexport var mdiSignal5g = \"M22,16.5V10.5H17.5V13.5H19V16.5H16V7.5H22V4.5H16A3,3 0 0,0 13,7.5V16.5A3,3 0 0,0 16,19.5H19A3,3 0 0,0 22,16.5M10,4.5H3V12L3,13.5H7V16.5H3V19.5H8.5A1.5,1.5 0 0,0 10,18V12A1.5,1.5 0 0,0 8.5,10.5H6V7.5H10V4.5Z\";\r\nexport var mdiSignalCellular1 = \"M19.5,5.5V18.5H17.5V5.5H19.5M12.5,10.5V18.5H10.5V10.5H12.5M21,4H16V20H21V4M14,9H9V20H14V9M7,14H2V20H7V14Z\";\r\nexport var mdiSignalCellular2 = \"M19.5,5.5V18.5H17.5V5.5H19.5M21,4H16V20H21V4M14,9H9V20H14V9M7,14H2V20H7V14Z\";\r\nexport var mdiSignalCellular3 = \"M21,4H16V20H21V4M14,9H9V20H14V9M7,14H2V20H7V14Z\";\r\nexport var mdiSignalCellularOutline = \"M19.5,5.5V18.5H17.5V5.5H19.5M12.5,10.5V18.5H10.5V10.5H12.5M5.5,15.5V18.5H3.5V15.5H5.5M21,4H16V20H21V4M14,9H9V20H14V9M7,14H2V20H7V14Z\";\r\nexport var mdiSignalDistanceVariant = \"M4,6V4A12,12 0 0,1 16,16H14A10,10 0 0,0 4,6M4,10V8A8,8 0 0,1 12,16H10A6,6 0 0,0 4,10M4,12A4,4 0 0,1 8,16H4V12M3,18H19V16L22,19L19,22V20H3V18Z\";\r\nexport var mdiSignalHspa = \"M10.5,10.5H13.5V4.5H16.5V19.5H13.5V13.5H10.5V19.5H7.5V4.5H10.5V10.5Z\";\r\nexport var mdiSignalHspaPlus = \"M19,8V11H22V14H19V17H16V14H13V11H16V8H19M5,10.5H8V4.5H11V19.5H8V13.5H5V19.5H2V4.5H5V10.5Z\";\r\nexport var mdiSignalOff = \"M18,3V16.18L21,19.18V3H18M4.28,5L3,6.27L10.73,14H8V21H11V14.27L13,16.27V21H16V19.27L19.73,23L21,21.72L4.28,5M13,9V11.18L16,14.18V9H13M3,18V21H6V18H3Z\";\r\nexport var mdiSignalVariant = \"M4,6V4H4.1C12.9,4 20,11.1 20,19.9V20H18V19.9C18,12.2 11.8,6 4,6M4,10V8A12,12 0 0,1 16,20H14A10,10 0 0,0 4,10M4,14V12A8,8 0 0,1 12,20H10A6,6 0 0,0 4,14M4,16A4,4 0 0,1 8,20H4V16Z\";\r\nexport var mdiSignature = \"M22,22H2V20H22V22M2.26,16.83L5.09,14L2.26,11.17L3.67,9.76L6.5,12.59L9.33,9.76L10.74,11.17L7.91,14L10.74,16.83L9.33,18.24L6.5,15.41L3.67,18.24L2.26,16.83Z\";\r\nexport var mdiSignatureFreehand = \"M22,22H2V20H22V22M6.2,17.3L5.5,18L4.1,16.6L2.7,18L2,17.3L3.4,15.9L2,14.5L2.7,13.8L4.1,15.2L5.5,13.8L6.2,14.5L4.8,15.9L6.2,17.3M16.22,14.43C16.22,13.85 15.5,13.2 14.06,12.46C12.23,11.54 11,10.79 10.36,10.24C9.71,9.68 9.39,9.06 9.39,8.37C9.39,6.59 10.3,5.12 12.12,3.95C13.94,2.78 15.43,2.19 16.57,2.19C17.31,2.19 17.85,2.32 18.18,2.58C18.5,2.83 18.68,3.27 18.68,3.9C18.68,4.18 18.56,4.42 18.31,4.63C18.07,4.83 17.87,4.93 17.74,4.93C17.63,4.93 17.43,4.83 17.13,4.64L16.55,4.38C16.08,4.38 15.14,4.71 13.71,5.38C12.29,6.04 11.58,6.79 11.58,7.63C11.58,8.14 11.82,8.6 12.32,9C12.82,9.42 13.71,9.93 15,10.53C16.03,11 16.86,11.5 17.5,12.07C18.1,12.61 18.41,13.25 18.41,14C18.41,15.34 17.47,16.41 15.58,17.17C13.7,17.94 11.9,18.32 10.19,18.32C8.75,18.32 8,17.83 8,16.86C8,16.5 8.19,16.27 8.5,16.11C8.83,15.95 9.16,15.87 9.5,15.87L10.25,16L10.97,16.13C11.95,16.13 13,15.97 14.13,15.64C15.26,15.32 15.96,14.91 16.22,14.43Z\";\r\nexport var mdiSignatureImage = \"M22,22H2V20H22V22M6.2,17.3L4.8,15.9L6.2,14.5L5.5,13.8L4.1,15.2L2.7,13.8L2,14.5L3.4,15.9L2,17.3L2.7,18L4.1,16.6L5.5,18L6.2,17.3M20,5H10A2,2 0 0,0 8,7V16A2,2 0 0,0 10,18H20A2,2 0 0,0 22,16V7A2,2 0 0,0 20,5M10,16L12.6,12.7L14.4,14.9L16.8,11.6L20,16H10Z\";\r\nexport var mdiSignatureText = \"M22,22H2V20H22V22M6.2,17.3L4.8,15.9L6.2,14.5L5.5,13.8L4.1,15.2L2.7,13.8L2,14.5L3.4,15.9L2,17.3L2.7,18L4.1,16.6L5.5,18L6.2,17.3M20.5,3L21.7,7.4L20.7,7.7C20.2,6.8 19.8,6 19.3,5.5C18.7,5 18.1,5 17.5,5H15V15.5C15,16 15,16.5 15.3,16.7C15.6,16.9 16.3,16.9 17,16.9V17.9H11V16.9C11.7,16.9 12.3,16.9 12.7,16.7C13,16.5 13,16 13,15.5V5H10.5C9.9,5 9.3,5 8.7,5.4C8.2,5.8 7.7,6.7 7.3,7.6L6.3,7.3L7.5,3H20.5Z\";\r\nexport var mdiSilo = \"M8.5,2C11.85,2 14.6,4.53 14.96,7.78L22,12V14L20,12.8V22H18V11.6L15,9.8V22H13V9H4V22H2V8.5A6.5,6.5 0 0,1 8.5,2M8.5,4C6.54,4 4.87,5.25 4.26,7H12.74C12.13,5.25 10.46,4 8.5,4M6,11H11V13H6V11M6,15H11V17H6V15M6,19H11V21H6V19Z\";\r\nexport var mdiSilverware = \"M8.1,13.34L3.91,9.16C2.35,7.59 2.35,5.06 3.91,3.5L10.93,10.5L8.1,13.34M14.88,11.53L13.41,13L20.29,19.88L18.88,21.29L12,14.41L5.12,21.29L3.71,19.88L13.47,10.12C12.76,8.59 13.26,6.44 14.85,4.85C16.76,2.93 19.5,2.57 20.96,4.03C22.43,5.5 22.07,8.24 20.15,10.15C18.56,11.74 16.41,12.24 14.88,11.53Z\";\r\nexport var mdiSilverwareClean = \"M15 0L14.38 1.37L13 2L14.38 2.63L15 4L15.63 2.63L17 2L15.63 1.37L15 0M10.5 2L9.41 4.41L7 5.5L9.41 6.59L10.5 9L11.6 6.59L14 5.5L11.6 4.41L10.5 2M18.89 5.14C17.56 5.06 16.04 5.65 14.84 6.84C13.25 8.43 12.75 10.58 13.46 12.11L3.7 21.87L5.11 23.28L12 16.41L18.88 23.29L20.29 21.88L13.41 15L14.88 13.53C16.41 14.24 18.56 13.74 20.15 12.15C22.06 10.24 22.43 7.5 20.96 6.03C20.41 5.5 19.68 5.19 18.89 5.14M3.91 5.5C2.35 7.06 2.35 9.59 3.91 11.16L8.1 15.34L10.93 12.5L3.91 5.5Z\";\r\nexport var mdiSilverwareFork = \"M5.12,21.29L3.71,19.88L13.36,10.22L13.16,10C12.38,9.23 12.38,7.97 13.16,7.19L17.5,2.82L18.43,3.74L15.19,7L16.15,7.94L19.39,4.69L20.31,5.61L17.06,8.85L18,9.81L21.26,6.56L22.18,7.5L17.81,11.84C17.03,12.62 15.77,12.62 15,11.84L14.78,11.64L5.12,21.29Z\";\r\nexport var mdiSilverwareForkKnife = \"M11,9H9V2H7V9H5V2H3V9C3,11.12 4.66,12.84 6.75,12.97V22H9.25V12.97C11.34,12.84 13,11.12 13,9V2H11V9M16,6V14H18.5V22H21V2C18.24,2 16,4.24 16,6Z\";\r\nexport var mdiSilverwareSpoon = \"M14.88,11.53L5.12,21.29L3.71,19.88L13.47,10.12C12.76,8.59 13.26,6.44 14.85,4.85C16.76,2.93 19.5,2.57 20.96,4.03C22.43,5.5 22.07,8.24 20.15,10.15C18.56,11.74 16.41,12.24 14.88,11.53Z\";\r\nexport var mdiSilverwareVariant = \"M8.1,13.34L3.91,9.16C2.35,7.59 2.35,5.06 3.91,3.5L10.93,10.5L8.1,13.34M13.41,13L20.29,19.88L18.88,21.29L12,14.41L5.12,21.29L3.71,19.88L13.36,10.22L13.16,10C12.38,9.23 12.38,7.97 13.16,7.19L17.5,2.82L18.43,3.74L15.19,7L16.15,7.94L19.39,4.69L20.31,5.61L17.06,8.85L18,9.81L21.26,6.56L22.18,7.5L17.81,11.84C17.03,12.62 15.77,12.62 15,11.84L14.78,11.64L13.41,13Z\";\r\nexport var mdiSim = \"M20,4A2,2 0 0,0 18,2H10L4,8V20A2,2 0 0,0 6,22H18C19.11,22 20,21.1 20,20V4M9,19H7V17H9V19M17,19H15V17H17V19M9,15H7V11H9V15M13,19H11V15H13V19M13,13H11V11H13V13M17,15H15V11H17V15Z\";\r\nexport var mdiSimAlert = \"M13 13H11V7H13M13 17H11V15H13M18 2H10L4 8V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V4C20 2.9 19.1 2 18 2Z\";\r\nexport var mdiSimAlertOutline = \"M13 13H11V7H13M13 17H11V15H13M18 4V20H6V8.8L10.8 4H18M18 2H10L4 8V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V4C20 2.9 19.1 2 18 2Z\";\r\nexport var mdiSimOff = \"M20.84 22.73L19.46 21.35C19.1 21.75 18.58 22 18 22H6C4.89 22 4 21.11 4 20V8L5.06 6.95L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M20 4C20 2.9 19.11 2 18 2H10L7.6 4.4L20 16.8V4Z\";\r\nexport var mdiSimOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L5.06 6.95L4 8V20C4 21.11 4.89 22 6 22H18C18.58 22 19.1 21.75 19.46 21.35L20.84 22.73L22.11 21.46M18 20H6V8.83L6.47 8.36L18 19.89V20M10.83 4H18V14.8L20 16.8V4C20 2.9 19.11 2 18 2H10L7.6 4.4L9 5.81L10.83 4Z\";\r\nexport var mdiSimOutline = \"M18 4V20H6V8.8L10.8 4H18M18 2H10L4 8V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V4C20 2.9 19.1 2 18 2M9.5 19H7.5V17H9.5V19M16.5 19H14.5V17H16.5V19M9.5 15H7.5V11H9.5V15M13 19H11V15H13V19M13 13H11V11H13V13M16.5 15H14.5V11H16.5V15Z\";\r\nexport var mdiSimpleIcons = \"M18.25 17C18.25 17.88 18.07 18.74 17.71 19.53H16.31C17.71 17.15 16.91 14.09 14.53 12.69C13.76 12.24 12.89 12 12 12C9.24 12 7 9.76 7 7C7 4.24 9.24 2 12 2C14.76 2 17 4.24 17 7H15.75C15.75 4.93 14.07 3.25 12 3.25C9.93 3.25 8.25 4.93 8.25 7C8.25 9.07 9.93 10.75 12 10.75C15.45 10.75 18.25 13.56 18.25 17M6.29 19.53C5.93 18.74 5.75 17.87 5.75 17H7C7 17.93 7.25 18.79 7.69 19.53H6.29M18.25 20.75V22H5.75V20.75H9.5V15.75H8.25V14.5H15.75V15.75H14.5V20.75H18.25M13.25 15.75H10.75V20.75H13.25V15.75M14.44 7.07C14.4 8.4 13.33 9.47 12 9.5C10.62 9.46 9.53 8.32 9.57 6.94C9.6 5.61 10.67 4.53 12 4.5C13.38 4.54 14.47 5.68 14.44 7.07M13.25 7C13.25 6.31 12.69 5.75 12 5.75C11.31 5.75 10.75 6.31 10.75 7C10.75 7.69 11.31 8.25 12 8.25C12.69 8.25 13.25 7.69 13.25 7Z\";\r\nexport var mdiSinaWeibo = \"M9.82,13.87C10.89,13.87 11.77,14.74 11.77,15.82A1.95,1.95 0 0,1 9.82,17.77C8.74,17.77 7.87,16.89 7.87,15.82C7.87,14.74 8.74,13.87 9.82,13.87M14.5,3.34L15.18,3.31C18.94,3.31 22,6.37 22,10.13L21.95,10.95L20.76,10.58L20.78,10.13C20.78,7.04 18.27,4.53 15.18,4.53L14.83,4.54L14.5,3.34M15.32,6.23C17.38,6.3 19.05,8 19.08,10.06L17.84,9.68C17.65,8.56 16.78,7.68 15.67,7.5L15.32,6.23M2,15.41C1.97,14.8 2.07,12.64 4.95,9.97C8.35,6.81 9.82,7.05 9.82,7.05C9.82,7.05 13,6.75 11.06,10.46H11.13C11.6,9.96 12.62,9.21 14.69,9C16.77,8.79 16.77,10.5 16.5,11.7C18.38,12.64 19.56,14.03 19.56,15.58C19.56,18.4 15.63,20.69 10.78,20.69H10.65L10.5,20.69C7,20.69 4,19.42 2.71,17.59C2.25,16.97 2,16.29 2,15.58V15.41M9.82,11.92C6.59,11.92 3.97,13.67 3.97,15.82C3.97,17.97 6.59,19.72 9.82,19.72C13.05,19.72 15.67,17.97 15.67,15.82C15.67,13.67 13.05,11.92 9.82,11.92Z\";\r\nexport var mdiSineWave = \"M16.5,21C13.5,21 12.31,16.76 11.05,12.28C10.14,9.04 9,5 7.5,5C4.11,5 4,11.93 4,12H2C2,11.63 2.06,3 7.5,3C10.5,3 11.71,7.25 12.97,11.74C13.83,14.8 15,19 16.5,19C19.94,19 20.03,12.07 20.03,12H22.03C22.03,12.37 21.97,21 16.5,21Z\";\r\nexport var mdiSitemap = \"M9,2V8H11V11H5C3.89,11 3,11.89 3,13V16H1V22H7V16H5V13H11V16H9V22H15V16H13V13H19V16H17V22H23V16H21V13C21,11.89 20.11,11 19,11H13V8H15V2H9Z\";\r\nexport var mdiSizeL = \"M9 7V17H15V15H11V7H9Z\";\r\nexport var mdiSizeM = \"M9 7C7.9 7 7 7.9 7 9V17H9V9H11V16H13V9H15V17H17V9C17 7.9 16.11 7 15 7H9Z\";\r\nexport var mdiSizeS = \"M11 7C9.9 7 9 7.9 9 9V11C9 12.11 9.9 13 11 13H13V15H9V17H13C14.11 17 15 16.11 15 15V13C15 11.9 14.11 11 13 11H11V9H15V7H11Z\";\r\nexport var mdiSizeXl = \"M6 7H8L9 9.5L10 7H12L10 12L12 17H10L9 14.5L8 17H6L8 12L6 7M13 7H15V15H19V17H13V7Z\";\r\nexport var mdiSizeXs = \"M6 7H8L9 9.5L10 7H12L10 12L12 17H10L9 14.5L8 17H6L8 12L6 7M15 7H19V9H15V11H17C18.11 11 19 11.9 19 13V15C19 16.11 18.11 17 17 17H13V15H17V13H15C13.9 13 13 12.11 13 11V9C13 7.9 13.9 7 15 7Z\";\r\nexport var mdiSizeXxl = \"M9 7H11L12 9.5L13 7H15L13 12L15 17H13L12 14.5L11 17H9L11 12L9 7M16 7H18V15H22V17H16V7M2 7H4L5 9.5L6 7H8L6 12L8 17H6L5 14.5L4 17H2L4 12L2 7Z\";\r\nexport var mdiSizeXxs = \"M9 7H11L12 9.5L13 7H15L13 12L15 17H13L12 14.5L11 17H9L11 12L9 7M18 7H22V9H18V11H20C21.11 11 22 11.9 22 13V15C22 16.11 21.11 17 20 17H16V15H20V13H18C16.9 13 16 12.11 16 11V9C16 7.9 16.9 7 18 7M2 7H4L5 9.5L6 7H8L6 12L8 17H6L5 14.5L4 17H2L4 12L2 7Z\";\r\nexport var mdiSizeXxxl = \"M9 7H11L12 9.5L13 7H15L13 12L15 17H13L12 14.5L11 17H9L11 12L9 7M16 7H18V15H22V17H16V7M8 15C8 16.11 7.11 17 6 17H2V15H6V13H4V11H6V9H2V7H6C7.1 7 8 7.89 8 9V10.5C8 11.33 7.33 12 6.5 12C7.33 12 8 12.67 8 13.5V15Z\";\r\nexport var mdiSkate = \"M20.95 17C20.7 18.69 19.26 20 17.5 20H16V18H19C18.93 16.72 19.26 14.04 18.53 12.95C17.56 10.9 14.83 10.56 12.93 10.05C12 10 11 9 10.84 8H8C7.72 8 7.5 7.78 7.5 7.5C7.5 7.22 7.72 7 8 7H10.5V6H8C7.72 6 7.5 5.78 7.5 5.5C7.5 5.22 7.72 5 8 5H10.5V2H2.03V18H5V20H1V22H17.5C20.36 22 22.72 19.8 23 17H20.95M14 20H7V18H14V20Z\";\r\nexport var mdiSkateOff = \"M19 15.81L13.36 10.16C15.22 10.62 17.63 11.05 18.53 12.95C18.95 13.57 19 14.71 19 15.81M20.95 17C20.92 17.21 20.87 17.41 20.8 17.6L22.32 19.12C22.68 18.5 22.92 17.77 23 17H20.95M10.5 7V6H9.2L10.2 7H10.5M22.11 21.46L20.84 22.73L19.66 21.55C19 21.83 18.27 22 17.5 22H1V20H5V18H2.03V3.92L1.11 3L2.03 2.09V2H2.12L2.39 1.73L22.11 21.46M14 18H7V20H14V18M18.06 19.95L16.11 18H16V20H17.5C17.69 20 17.88 20 18.06 19.95M10.5 5V2H5.2L8.2 5H10.5Z\";\r\nexport var mdiSkateboard = \"M9 14.5C9 15.33 8.33 16 7.5 16S6 15.33 6 14.5 6.67 13 7.5 13 9 13.67 9 14.5M16.5 13C15.67 13 15 13.67 15 14.5S15.67 16 16.5 16C17.33 16 18 15.33 18 14.5S17.33 13 16.5 13M21.59 9.19C21.14 8.87 20.5 8.97 20.19 9.41L20.06 9.59C19.88 9.85 19.57 10 19.26 10L4.74 10C4.43 10 4.13 9.85 3.94 9.59L3.81 9.41C3.5 8.97 2.86 8.87 2.41 9.19C1.96 9.5 1.87 10.15 2.19 10.59L2.32 10.77C2.88 11.54 3.79 12 4.74 12H19.26C20.21 12 21.12 11.54 21.68 10.77L21.81 10.59C22.13 10.15 22.04 9.5 21.59 9.19Z\";\r\nexport var mdiSkateboarding = \"M19.78 18.39C19.93 18.54 20 18.7 20 18.88C20 19 19.94 19.17 19.82 19.32C19.44 19.85 18.96 20.26 18.37 20.56C17.78 20.85 17.15 21 16.47 21H7.53C6.82 21 6.17 20.85 5.59 20.56C5 20.26 4.5 19.85 4.13 19.32C4.04 19.17 4 19.03 4 18.88C4 18.7 4.07 18.54 4.2 18.39S4.5 18.17 4.71 18.17C4.94 18.17 5.13 18.27 5.28 18.5C5.69 19 6.22 19.36 6.87 19.54L9.82 15.96L8.54 12.07C8.36 11.5 8.44 11 8.76 10.5L11 6.86H8.8L7 9.77L5.41 8.76L7.75 5H13.12C13.54 5 13.87 5.12 14.14 5.35C14.4 5.59 14.58 5.8 14.67 5.97L15.15 7.12C15.5 7.89 16 8.5 16.7 9C17.4 9.45 18.18 9.69 19.03 9.69V11.59C17.94 11.59 16.95 11.32 16.03 10.79C15.12 10.26 14.4 9.57 13.87 8.71L12.16 11.41L16.21 13.93V19.59H16.47C16.92 19.59 17.33 19.5 17.73 19.28S18.46 18.81 18.72 18.5C18.87 18.27 19.05 18.17 19.25 18.17S19.63 18.25 19.78 18.39M14.36 15.25L11.05 13.18L12 16.32L9.24 19.59H14.36V15.25M15 1C13.9 1 13 1.9 13 3S13.9 5 15 5 17 4.11 17 3 16.11 1 15 1M8 21.5C7.59 21.5 7.25 21.84 7.25 22.25S7.59 23 8 23C8.41 23 8.75 22.66 8.75 22.25S8.41 21.5 8 21.5M16 21.5C15.59 21.5 15.25 21.84 15.25 22.25S15.59 23 16 23 16.75 22.66 16.75 22.25 16.41 21.5 16 21.5Z\";\r\nexport var mdiSkewLess = \"M17.5,11L15.41,20H10.5L12.59,11H17.5M20,9H11L8,22H17L20,9M4,6L8,2V5H16V7H8V10L4,6Z\";\r\nexport var mdiSkewMore = \"M12.5,11L10.41,20H5.5L7.59,11H12.5M15,9H6L3,22H12L15,9M21,6L17,2V5H9V7H17V10L21,6Z\";\r\nexport var mdiSki = \"M17.92 13.32C17.67 13.28 16.71 13 16.46 12.89L14.39 19.37L11.3 18.24L13.5 12.47L10.45 9L13 7.54C13.45 8.67 14.17 9.62 15.12 10.4S17.16 11.67 18.38 11.86L19.5 8.43L18.06 7.96L17.54 9.56C16.88 9.28 16.3 8.86 15.8 8.32C15.3 7.77 14.94 7.13 14.72 6.41L14.39 5.33C14.27 4.93 14.04 4.61 13.71 4.37C13.38 4.14 13 4 12.63 3.97C12.24 3.94 11.86 4 11.5 4.21L8 6.23C7.63 6.44 7.36 6.74 7.19 7.12C7 7.5 6.96 7.88 7 8.29S7.26 9.06 7.54 9.37L11.11 13.08L9.42 17.54L2.47 15.05L2 16.46L16.04 21.58C16.82 21.86 17.65 22 18.53 22C19.15 22 19.76 21.92 20.36 21.77C20.95 21.61 21.5 21.39 22 21.11L20.87 20C20.12 20.33 19.34 20.5 18.53 20.5C17.87 20.5 17.21 20.39 16.55 20.17L15.8 19.89L17.92 13.32M19 3C19 4.11 18.11 5 17 5S15 4.11 15 3 15.9 1 17 1 19 1.9 19 3Z\";\r\nexport var mdiSkiCrossCountry = \"M19 14H17.6V22H19V14M6.44 22H5L7 14H8.44L6.44 22M8.76 9.54V13H7V8.32L11.61 6.31C12.04 6.14 12.5 6.13 12.96 6.27S13.79 6.69 14.06 7.1L15 8.58C15.37 9.25 15.9 9.95 16.62 10.37C17.33 10.79 18.13 11 19 11V12.83C18 12.83 17 12.62 16.13 12.2S14.5 11.06 13.88 10.37L13.31 13.16L15.28 15V22H13.4V16.5L11.5 14.55L9.77 22H7.8L10.43 8.89L8.76 9.54M16 4C16 5.11 15.11 6 14 6S12 5.11 12 4 12.9 2 14 2 16 2.9 16 4Z\";\r\nexport var mdiSkiWater = \"M4.2 3.5C4.2 2.7 4.9 1.9 5.8 1.9C6.7 1.9 7.4 2.6 7.4 3.5S6.6 5 5.8 5 4.2 4.3 4.2 3.5M22 3.9L21.5 3L13.5 7.1L14 8L22 3.9M20.8 20.3L21.7 21.2C21.1 21.8 20.5 22.2 19.8 22.5S18.3 23 17.5 23H2V21.7H4.7L6.8 18.2L4.5 15L3.7 7.2C3.7 6.3 4.5 5.5 5.4 5.5C5.7 5.5 6 5.6 6.2 5.7L9.7 8.3L12 7.5L12.8 9.1L9.3 10.6C9.2 10.5 7.7 9.4 6.6 8.5L7 12L12.3 16.5L14 21.7H17.5C18.1 21.7 18.7 21.6 19.3 21.3C19.9 21.1 20.4 20.7 20.8 20.3M7 21.7H12L10.4 17.8L8.1 15.9L9.3 18.4L7 21.7Z\";\r\nexport var mdiSkipBackward = \"M20,5V19L13,12M6,5V19H4V5M13,5V19L6,12\";\r\nexport var mdiSkipBackwardOutline = \"M18,14.17L15.83,12L18,9.83V14.17M20,19V5L13,12M4,19H6V5H4M11,14.17L8.83,12L11,9.83V14.17M13,19V5L6,12\";\r\nexport var mdiSkipForward = \"M4,5V19L11,12M18,5V19H20V5M11,5V19L18,12\";\r\nexport var mdiSkipForwardOutline = \"M6,9.83L8.17,12L6,14.17V9.83M4,5V19L11,12M20,5H18V19H20M13,9.83L15.17,12L13,14.17V9.83M11,5V19L18,12\";\r\nexport var mdiSkipNext = \"M16,18H18V6H16M6,18L14.5,12L6,6V18Z\";\r\nexport var mdiSkipNextCircle = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M8,8L13,12L8,16M14,8H16V16H14\";\r\nexport var mdiSkipNextCircleOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4M8,8V16L13,12M14,8V16H16V8\";\r\nexport var mdiSkipNextOutline = \"M6,18L14.5,12L6,6M8,9.86L11.03,12L8,14.14M16,6H18V18H16\";\r\nexport var mdiSkipPrevious = \"M6,18V6H8V18H6M9.5,12L18,6V18L9.5,12Z\";\r\nexport var mdiSkipPreviousCircle = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M8,8H10V16H8M16,8V16L11,12\";\r\nexport var mdiSkipPreviousCircleOutline = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4C7.59,4 4,7.59 4,12C4,16.41 7.59,20 12,20C16.41,20 20,16.41 20,12C20,7.59 16.41,4 12,4M16,8V16L11,12M10,8V16H8V8\";\r\nexport var mdiSkipPreviousOutline = \"M6,6H8V18H6M9.5,12L18,18V6M16,14.14L12.97,12L16,9.86V14.14Z\";\r\nexport var mdiSkull = \"M12,2A9,9 0 0,0 3,11C3,14.03 4.53,16.82 7,18.47V22H9V19H11V22H13V19H15V22H17V18.46C19.47,16.81 21,14 21,11A9,9 0 0,0 12,2M8,11A2,2 0 0,1 10,13A2,2 0 0,1 8,15A2,2 0 0,1 6,13A2,2 0 0,1 8,11M16,11A2,2 0 0,1 18,13A2,2 0 0,1 16,15A2,2 0 0,1 14,13A2,2 0 0,1 16,11M12,14L13.5,17H10.5L12,14Z\";\r\nexport var mdiSkullCrossbones = \"M15.8,18.5L21.8,20.1L21.4,22L12,19.5L2.6,22L2.1,20.1L8.1,18.5L2,16.9L2.5,15L11.9,17.5L21.3,15L21.8,16.9L15.8,18.5M18,8C18,9.8 17.2,11.3 16,12.4V15H14V13.7L14,13H13V15H11V13H10V13.7L10,15H8V12.4C6.8,11.3 6,9.8 6,8A6,6 0 0,1 12,2A6,6 0 0,1 18,8M11,7.5C11,6.7 10.3,6 9.5,6C8.7,6 8,6.7 8,7.5C8,8.3 8.7,9 9.5,9C10.3,9 11,8.3 11,7.5M13,11L12,9L11,11H13M16,7.5C16,6.7 15.3,6 14.5,6C13.7,6 13,6.7 13,7.5C13,8.3 13.7,9 14.5,9C15.3,9 16,8.3 16,7.5Z\";\r\nexport var mdiSkullCrossbonesOutline = \"M15.8,18.5L21.8,20.1L21.4,22L12,19.5L2.6,22L2.1,20.1L8.1,18.5L2,16.9L2.5,15L11.9,17.5L21.3,15L21.8,16.9L15.8,18.5M9.5,6C8.7,6 8,6.7 8,7.5C8,8.3 8.7,9 9.5,9C10.3,9 11,8.3 11,7.5C11,6.7 10.3,6 9.5,6M14.5,6C13.7,6 13,6.7 13,7.5C13,8.3 13.7,9 14.5,9C15.3,9 16,8.3 16,7.5C16,6.7 15.3,6 14.5,6M13,11L12,9L11,11H13M12,1C8.1,1 5,4.1 5,8C5,9.9 5.8,11.6 7,12.9V16H17V12.9C18.2,11.6 19,9.9 19,8C19,4.1 15.9,1 12,1M15,12V14H14V12H13V14H11V12H10V14H9V12H9C7.8,11.1 7,9.7 7,8C7,5.2 9.2,3 12,3C14.8,3 17,5.2 17,8C17,9.6 16.2,11.1 15,12Z\";\r\nexport var mdiSkullOutline = \"M8,15A2,2 0 0,1 6,13A2,2 0 0,1 8,11A2,2 0 0,1 10,13A2,2 0 0,1 8,15M10.5,17L12,14L13.5,17H10.5M16,15A2,2 0 0,1 14,13A2,2 0 0,1 16,11A2,2 0 0,1 18,13A2,2 0 0,1 16,15M22,11A10,10 0 0,0 12,1A10,10 0 0,0 2,11C2,13.8 3.2,16.3 5,18.1V22H19V18.1C20.8,16.3 22,13.8 22,11M17,20H15V18H13V20H11V18H9V20H7V17.2C5.2,15.7 4,13.5 4,11A8,8 0 0,1 12,3A8,8 0 0,1 20,11C20,13.5 18.8,15.8 17,17.2V20Z\";\r\nexport var mdiSkullScan = \"M2 0C.9 0 0 .9 0 2V6H2V2H6V0H2M18 0V2H22V6H24V2C24 .9 23.1 0 22 0H18M12 3C7.6 3 4 6.6 4 11C4 13.5 5.2 15.8 7 17.2V21H9V18H11V21H13V18H15V21H17V17.2C18.8 15.7 20 13.5 20 11C20 6.6 16.4 3 12 3M8 14C6.9 14 6 13.1 6 12S6.9 10 8 10 10 10.9 10 12 9.1 14 8 14M10.5 16L12 13L13.5 16H10.5M16 14C14.9 14 14 13.1 14 12S14.9 10 16 10 18 10.9 18 12 17.1 14 16 14M0 18V22C0 23.1 .9 24 2 24H6V22H2V18H0M22 18V22H18V24H22C23.1 24 24 23.1 24 22V18H22Z\";\r\nexport var mdiSkullScanOutline = \"M2 0C.9 0 0 .9 0 2V6H2V2H6V0H2M18 0V2H22V6H24V2C24 .9 23.1 0 22 0H18M9.5 13C8.7 13 8 12.3 8 11.5S8.7 10 9.5 10 11 10.7 11 11.5 10.3 13 9.5 13M11 15L12 13L13 15H11M14.5 13C13.7 13 13 12.3 13 11.5S13.7 10 14.5 10 16 10.7 16 11.5 15.3 13 14.5 13M0 18V22C0 23.1 .9 24 2 24H6V22H2V18H0M22 18V22H18V24H22C23.1 24 24 23.1 24 22V18H22M12 3C7.6 3 4 6.6 4 11C4 13 4.8 14.9 6 16.3V21H18V16.3C19.2 14.9 20 13.1 20 11C20 6.6 16.4 3 12 3M16 15.4V19H14V17H13V19H11V17H10V19H8V15.4C6.8 14.3 6 12.7 6 11C6 7.7 8.7 5 12 5S18 7.7 18 11C18 12.8 17.2 14.3 16 15.4Z\";\r\nexport var mdiSkype = \"M18,6C20.07,8.04 20.85,10.89 20.36,13.55C20.77,14.27 21,15.11 21,16A5,5 0 0,1 16,21C15.11,21 14.27,20.77 13.55,20.36C10.89,20.85 8.04,20.07 6,18C3.93,15.96 3.15,13.11 3.64,10.45C3.23,9.73 3,8.89 3,8A5,5 0 0,1 8,3C8.89,3 9.73,3.23 10.45,3.64C13.11,3.15 15.96,3.93 18,6M12.04,17.16C14.91,17.16 16.34,15.78 16.34,13.92C16.34,12.73 15.78,11.46 13.61,10.97L11.62,10.53C10.86,10.36 10,10.13 10,9.42C10,8.7 10.6,8.2 11.7,8.2C13.93,8.2 13.72,9.73 14.83,9.73C15.41,9.73 15.91,9.39 15.91,8.8C15.91,7.43 13.72,6.4 11.86,6.4C9.85,6.4 7.7,7.26 7.7,9.54C7.7,10.64 8.09,11.81 10.25,12.35L12.94,13.03C13.75,13.23 13.95,13.68 13.95,14.1C13.95,14.78 13.27,15.45 12.04,15.45C9.63,15.45 9.96,13.6 8.67,13.6C8.09,13.6 7.67,14 7.67,14.57C7.67,15.68 9,17.16 12.04,17.16Z\";\r\nexport var mdiSkypeBusiness = \"M12.03,16.53C9.37,16.53 8.18,15.22 8.18,14.24C8.18,13.74 8.55,13.38 9.06,13.38C10.2,13.38 9.91,15 12.03,15C13.12,15 13.73,14.43 13.73,13.82C13.73,13.46 13.55,13.06 12.83,12.88L10.46,12.29C8.55,11.81 8.2,10.78 8.2,9.81C8.2,7.79 10.1,7.03 11.88,7.03C13.5,7.03 15.46,7.94 15.46,9.15C15.46,9.67 15,9.97 14.5,9.97C13.5,9.97 13.7,8.62 11.74,8.62C10.77,8.62 10.23,9.06 10.23,9.69C10.23,10.32 11,10.5 11.66,10.68L13.42,11.07C15.34,11.5 15.83,12.62 15.83,13.67C15.83,15.31 14.57,16.53 12.03,16.53M18,6C20.07,8.04 20.85,10.89 20.36,13.55C20.77,14.27 21,15.11 21,16A5,5 0 0,1 16,21C15.11,21 14.27,20.77 13.55,20.36C10.89,20.85 8.04,20.07 6,18C3.93,15.96 3.15,13.11 3.64,10.45C3.23,9.73 3,8.89 3,8A5,5 0 0,1 8,3C8.89,3 9.73,3.23 10.45,3.64C13.11,3.15 15.96,3.93 18,6M8,5A3,3 0 0,0 5,8C5,8.79 5.3,9.5 5.8,10.04C5.1,12.28 5.63,14.82 7.4,16.6C9.18,18.37 11.72,18.9 13.96,18.2C14.5,18.7 15.21,19 16,19A3,3 0 0,0 19,16C19,15.21 18.7,14.5 18.2,13.96C18.9,11.72 18.37,9.18 16.6,7.4C14.82,5.63 12.28,5.1 10.04,5.8C9.5,5.3 8.79,5 8,5Z\";\r\nexport var mdiSlack = \"M6,15A2,2 0 0,1 4,17A2,2 0 0,1 2,15A2,2 0 0,1 4,13H6V15M7,15A2,2 0 0,1 9,13A2,2 0 0,1 11,15V20A2,2 0 0,1 9,22A2,2 0 0,1 7,20V15M9,7A2,2 0 0,1 7,5A2,2 0 0,1 9,3A2,2 0 0,1 11,5V7H9M9,8A2,2 0 0,1 11,10A2,2 0 0,1 9,12H4A2,2 0 0,1 2,10A2,2 0 0,1 4,8H9M17,10A2,2 0 0,1 19,8A2,2 0 0,1 21,10A2,2 0 0,1 19,12H17V10M16,10A2,2 0 0,1 14,12A2,2 0 0,1 12,10V5A2,2 0 0,1 14,3A2,2 0 0,1 16,5V10M14,18A2,2 0 0,1 16,20A2,2 0 0,1 14,22A2,2 0 0,1 12,20V18H14M14,17A2,2 0 0,1 12,15A2,2 0 0,1 14,13H19A2,2 0 0,1 21,15A2,2 0 0,1 19,17H14Z\";\r\nexport var mdiSlashForward = \"M7 21L14.9 3H17L9.1 21H7Z\";\r\nexport var mdiSlashForwardBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M9.3 19H7L14.7 5H17L9.3 19Z\";\r\nexport var mdiSledding = \"M22.91 16.64C22.75 15.95 22.44 15.34 21.97 14.81C21.5 14.28 20.91 13.91 20.2 13.69L19.77 15.14C20.43 15.33 20.91 15.73 21.23 16.36C21.54 17 21.58 17.62 21.37 18.27C21.15 18.93 20.73 19.41 20.12 19.73S18.88 20.08 18.23 19.86L14.9 18.79L15.37 17.38L18.7 18.46L19.16 17L17.2 16.4L15.14 11.91C14.95 11.5 14.66 11.19 14.27 10.97C13.88 10.75 13.45 10.67 13 10.74L10.88 11.11L11.91 7.84C12.06 7.37 12.03 6.91 11.81 6.5C11.6 6.04 11.24 5.74 10.74 5.59C10.33 5.46 9.91 5.5 9.47 5.68L4 8V12.1L2.4 11.58L1.94 13L5.87 14.3L5.4 15.7L1.47 14.44L1 15.84L17.76 21.32C18.45 21.54 19.13 21.57 19.82 21.41C20.5 21.26 21.12 20.94 21.65 20.5C22.18 20 22.55 19.43 22.77 18.74C23 18 23.07 17.32 22.91 16.64M6 9.33L7.93 8.5L6.9 11.67C6.74 12.14 6.79 12.61 7.04 13.08L6 12.75V9.33M13.5 18.32L6.81 16.17L7.27 14.76L13.92 16.92L13.5 18.32M9.47 13.87L13.45 13L14.62 15.56L9.47 13.87M14 3C14 4.11 13.11 5 12 5S10 4.11 10 3 10.9 1 12 1 14 1.9 14 3Z\";\r\nexport var mdiSleep = \"M23,12H17V10L20.39,6H17V4H23V6L19.62,10H23V12M15,16H9V14L12.39,10H9V8H15V10L11.62,14H15V16M7,20H1V18L4.39,14H1V12H7V14L3.62,18H7V20Z\";\r\nexport var mdiSleepOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L12.73,16H9V14L9.79,13.06L2,5.27M23,12H17V10L20.39,6H17V4H23V6L19.62,10H23V12M9.82,8H15V10L13.54,11.72L9.82,8M7,20H1V18L4.39,14H1V12H7V14L3.62,18H7V20Z\";\r\nexport var mdiSlide = \"M14.83 15.45C14.47 14.9 14.18 14.39 13.91 13.92C12.74 11.91 11.79 10.55 9 10.13V5.5C9 3.57 7.43 2 5.5 2S2 3.57 2 5.5V22H4V20H7V22H9V12.16C10.76 12.5 11.29 13.39 12.17 14.92C12.46 15.43 12.78 15.97 13.17 16.56C15.41 19.92 17.67 22 22 22V20C18.53 20 16.8 18.4 14.83 15.45M5.5 4C6.33 4 7 4.67 7 5.5V10H4V5.5C4 4.67 4.67 4 5.5 4M4 18V16H7V18H4M7 14H4V12H7V14Z\";\r\nexport var mdiSlopeDownhill = \"M22,19V22H2V13L22,19M19.09,7.5L18.25,10.26L8.13,7.26C8.06,5.66 6.7,4.42 5.1,4.5C3.5,4.57 2.26,5.93 2.34,7.53C2.41,9.13 3.77,10.36 5.37,10.29C6.24,10.25 7.05,9.82 7.57,9.11L17.69,12.11L16.85,14.89L21.67,12.29L19.09,7.5Z\";\r\nexport var mdiSlopeUphill = \"M22,13V22H2V19L22,13M21.68,7.06L16.86,4.46L17.7,7.24L7.58,10.24C6.63,8.95 4.82,8.67 3.53,9.62C2.24,10.57 1.96,12.38 2.91,13.67C3.85,14.97 5.67,15.24 6.96,14.29C7.67,13.78 8.1,12.97 8.14,12.09L18.26,9.09L19.1,11.87L21.68,7.06Z\";\r\nexport var mdiSlotMachine = \"M5 12L7 8V7H4V8H6L4 12M9 12L11 8V7H8V8H10L8 12M13 12L15 8V7H12V8H14L12 12M21 2C19.9 2 19 2.9 19 4C19 4.7 19.4 5.4 20 5.7V17H17V15C17.6 15 18 14.6 18 14V5C18 4.4 17.6 4 17 4H13.2C12.4 2.8 11 2 9.5 2S6.6 2.8 5.8 4H2C1.4 4 1 4.4 1 5V14C1 14.6 1.4 15 2 15V22H17V19H20C21.1 19 22 18.1 22 17V5.7C22.6 5.4 23 4.7 23 4C23 2.9 22.1 2 21 2M13 19H6V17H13V19M16 13H3V6H16V13Z\";\r\nexport var mdiSlotMachineOutline = \"M5 12L7 8V7H4V8H6L4 12M9 12L11 8V7H8V8H10L8 12M13 12L15 8V7H12V8H14L12 12M21 2C19.9 2 19 2.9 19 4C19 4.7 19.4 5.4 20 5.7V17H17V15C17.6 15 18 14.6 18 14V5C18 4.4 17.6 4 17 4H13.2C12.4 2.8 11 2 9.5 2S6.6 2.8 5.8 4H2C1.4 4 1 4.4 1 5V14C1 14.6 1.4 15 2 15V22H17V19H20C21.1 19 22 18.1 22 17V5.7C22.6 5.4 23 4.7 23 4C23 2.9 22.1 2 21 2M3 6H16V13H3V6M15 20H4V15H15V20M13 19H6V17H13V19Z\";\r\nexport var mdiSmartCard = \"M2 3H22A2.07 2.07 0 0 1 24 5V19A2.07 2.07 0 0 1 22 21H2A2.07 2.07 0 0 1 0 19V5A2.07 2.07 0 0 1 2 3M8 13.91C6 13.91 2 15 2 17V18H14V17C14 15 10 13.91 8 13.91M8 6A3 3 0 1 0 11 9A3 3 0 0 0 8 6M17 10V13H21V10H17\";\r\nexport var mdiSmartCardOutline = \"M22 3H2A2.07 2.07 0 0 0 0 5V19A2.07 2.07 0 0 0 2 21H22A2.07 2.07 0 0 0 24 19V5A2.07 2.07 0 0 0 22 3M22 19H2V5H22M14 17V15.75C14 14.09 10.66 13.25 9 13.25S4 14.09 4 15.75V17H14M9 7A2.5 2.5 0 1 0 11.5 9.5A2.5 2.5 0 0 0 9 7M15 10V13H19V10H15\";\r\nexport var mdiSmartCardReader = \"M21 4A2.07 2.07 0 0 0 19 2H5A2.07 2.07 0 0 0 3 4V18H21M8.25 16H7V6H8.25C9.91 6 10.75 9.34 10.75 11S9.91 16 8.25 16M14.5 13.5A2.5 2.5 0 1 1 17 11A2.5 2.5 0 0 1 14.5 13.5M23 21V22H1V21A2 2 0 0 1 3 19H21A2 2 0 0 1 23 21Z\";\r\nexport var mdiSmartCardReaderOutline = \"M14.5 8.5A2.5 2.5 0 1 0 17 11A2.5 2.5 0 0 0 14.5 8.5M8.25 6H7V16H8.25C9.91 16 10.75 12.66 10.75 11S9.91 6 8.25 6M19 2H5A2.07 2.07 0 0 0 3 4V18H5V4H19V18H21V4A2.07 2.07 0 0 0 19 2M23 22H1V21A2 2 0 0 1 3 19H21A2 2 0 0 1 23 21Z\";\r\nexport var mdiSmog = \"M12,2C10.08,2 8.5,3.35 8.09,5.15C7.45,4.44 6.53,4 5.5,4A3.5,3.5 0 0,0 2,7.5H2A3.5,3.5 0 0,0 5.5,11H6.68V12H10.72V11H13.28V12H17.32V11H18.5A3.5,3.5 0 0,0 22,7.5H22A3.5,3.5 0 0,0 18.5,4H18.5C17.47,4 16.55,4.44 15.91,5.15C15.5,3.35 13.92,2 12,2M7.2,14L6.4,22H11L10.2,14H7.2M13.8,14L13,22H17.6L16.8,14H13.8Z\";\r\nexport var mdiSmoke = \"M17 19V22H15V19C15 17.9 14.1 17 13 17H10C7.2 17 5 14.8 5 12C5 10.8 5.4 9.8 6.1 8.9C3.8 8.5 2 6.4 2 4C2 3.3 2.2 2.6 2.4 2H4.8C4.3 2.5 4 3.2 4 4C4 5.7 5.3 7 7 7H10V9C8.3 9 7 10.3 7 12S8.3 15 10 15H13C15.2 15 17 16.8 17 19M17.9 8.9C20.2 8.5 22 6.4 22 4C22 3.3 21.8 2.6 21.6 2H19.2C19.7 2.5 20 3.2 20 4C20 5.7 18.7 7 17 7H15.8C15.9 7.3 16 7.6 16 8C16 9.7 14.7 11 13 11V13C15.8 13 18 15.2 18 18V22H20V18C20 15.3 18.5 13 16.2 11.8C17.1 11.1 17.7 10.1 17.9 8.9Z\";\r\nexport var mdiSmokeDetector = \"M12,18A6,6 0 0,0 18,12C18,8.68 15.31,6 12,6C8.68,6 6,8.68 6,12A6,6 0 0,0 12,18M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19M8,12A4,4 0 0,1 12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12Z\";\r\nexport var mdiSmokeDetectorOff = \"M12 8C14.21 8 16 9.79 16 12C16 12.25 15.97 12.5 15.93 12.73L11.27 8.07C11.5 8.03 11.75 8 12 8M12 6C15.31 6 18 8.68 18 12C18 12.83 17.82 13.6 17.5 14.32L21 17.8V5C21 3.9 20.11 3 19 3H6.2L9.68 6.5C10.4 6.18 11.17 6 12 6M22.11 21.46L20.84 22.73L19.1 21C19.07 21 19.03 21 19 21H5C3.89 21 3 20.1 3 19V5C3 4.97 3 4.93 3 4.9L1.11 3L2.39 1.73L22.11 21.46M15.19 17.08L13.71 15.6C13.19 15.85 12.62 16 12 16C9.79 16 8 14.21 8 12C8 11.39 8.15 10.81 8.4 10.29L6.92 8.81C6.34 9.74 6 10.83 6 12C6 15.31 8.69 18 12 18C13.17 18 14.26 17.66 15.19 17.08Z\";\r\nexport var mdiSmokeDetectorOffOutline = \"M8.2 5L6.2 3H19C20.11 3 21 3.9 21 5V17.8L19 15.8V5H8.2M17.5 14.32C17.82 13.6 18 12.83 18 12C18 8.68 15.31 6 12 6C11.17 6 10.4 6.18 9.68 6.5L11.27 8.07C11.5 8.03 11.75 8 12 8C14.21 8 16 9.79 16 12C16 12.25 15.97 12.5 15.93 12.73L17.5 14.32M22.11 21.46L20.84 22.73L19.1 21C19.07 21 19.03 21 19 21H5C3.89 21 3 20.1 3 19V5C3 4.97 3 4.93 3 4.9L1.11 3L2.39 1.73L22.11 21.46M8 12C8 14.21 9.79 16 12 16C12.62 16 13.19 15.85 13.71 15.6L8.4 10.29C8.15 10.81 8 11.39 8 12M17.11 19L15.19 17.08C14.26 17.66 13.17 18 12 18C8.69 18 6 15.31 6 12C6 10.83 6.34 9.74 6.92 8.81L5 6.89V19H17.11Z\";\r\nexport var mdiSmokeDetectorOutline = \"M19 3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M19 19H5V5H19V19M12 18C15.31 18 18 15.31 18 12C18 8.68 15.31 6 12 6C8.68 6 6 8.68 6 12C6 15.31 8.69 18 12 18M12 8C14.21 8 16 9.79 16 12S14.21 16 12 16 8 14.21 8 12 9.79 8 12 8Z\";\r\nexport var mdiSmokeDetectorVariant = \"M12 4C16.41 4 20 7.59 20 12S16.41 20 12 20 4 16.41 4 12 7.59 4 12 4M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 11C11.45 11 11 11.45 11 12S11.45 13 12 13 13 12.55 13 12 12.55 11 12 11M10.72 9.3C11.11 9.11 11.54 9 12 9S12.89 9.11 13.29 9.3L14 8.57C13.43 8.22 12.74 8 12 8S10.58 8.22 10 8.57L10.72 9.3M15 12C15 12.46 14.89 12.89 14.7 13.29L15.43 14C15.79 13.43 16 12.74 16 12S15.79 10.58 15.43 10L14.7 10.72C14.89 11.11 15 11.54 15 12M9 12C9 11.54 9.11 11.11 9.3 10.72L8.57 10C8.22 10.58 8 11.26 8 12S8.22 13.43 8.57 14L9.3 13.29C9.11 12.89 9 12.46 9 12M13.29 14.7C12.89 14.89 12.46 15 12 15S11.11 14.89 10.72 14.7L10 15.43C10.58 15.79 11.26 16 12 16S13.43 15.79 14 15.43L13.29 14.7M16.89 8.53L16.17 9.25C16.69 10.04 17 11 17 12S16.69 13.96 16.17 14.75L16.89 15.47C17.59 14.5 18 13.3 18 12S17.59 9.5 16.89 8.53M9.25 7.83C10.04 7.31 11 7 12 7S13.96 7.31 14.75 7.83L15.47 7.11C14.5 6.42 13.3 6 12 6S9.5 6.42 8.53 7.11L9.25 7.83M14.75 16.17C13.96 16.69 13 17 12 17S10.04 16.69 9.25 16.17L8.53 16.89C9.5 17.59 10.7 18 12 18S14.5 17.59 15.47 16.89L14.75 16.17M7.83 14.75C7.31 13.96 7 13 7 12S7.31 10.04 7.83 9.25L7.11 8.53C6.42 9.5 6 10.7 6 12S6.42 14.5 7.11 15.47L7.83 14.75Z\";\r\nexport var mdiSmokeDetectorVariantOff = \"M22.11 21.46L2.39 1.73L1.11 3L4.06 5.95C2.77 7.63 2 9.72 2 12C2 17.5 6.5 22 12 22C14.28 22 16.37 21.23 18.05 19.94L20.84 22.73L22.11 21.46M12 20C7.59 20 4 16.41 4 12C4 10.28 4.56 8.69 5.5 7.38L6.93 8.82C6.35 9.75 6 10.83 6 12C6 13.3 6.42 14.5 7.11 15.47L7.83 14.75C7.31 13.96 7 13 7 12C7 11.11 7.25 10.28 7.66 9.55L8.4 10.3C8.15 10.81 8 11.39 8 12C8 12.74 8.22 13.43 8.57 14L9.3 13.29C9.11 12.89 9 12.46 9 12C9 11.67 9.07 11.36 9.18 11.07L12.93 14.82C12.64 14.93 12.33 15 12 15C11.54 15 11.11 14.89 10.72 14.7L10 15.43C10.58 15.79 11.26 16 12 16C12.61 16 13.19 15.85 13.71 15.6L14.45 16.34C13.72 16.75 12.89 17 12 17C11 17 10.04 16.69 9.25 16.17L8.53 16.89C9.5 17.59 10.7 18 12 18C13.17 18 14.25 17.65 15.18 17.07L16.62 18.5C15.32 19.44 13.72 20 12 20M12 8C12.74 8 13.43 8.22 14 8.57L13.29 9.3C12.96 9.15 12.6 9.06 12.23 9.03L11.28 8.08C11.5 8.03 11.75 8 12 8M14.97 11.77C14.94 11.4 14.86 11.04 14.7 10.72L15.43 10C15.79 10.58 16 11.26 16 12C16 12.25 15.97 12.5 15.92 12.72L14.97 11.77M14.75 7.83C13.96 7.31 13 7 12 7C11.46 7 10.94 7.09 10.45 7.25L9.69 6.5C10.4 6.18 11.18 6 12 6C13.3 6 14.5 6.42 15.47 7.11L14.75 7.83M8.18 5L6.72 3.5C8.25 2.56 10.06 2 12 2C17.5 2 22 6.5 22 12C22 13.94 21.44 15.75 20.5 17.28L19 15.83C19.65 14.69 20 13.38 20 12C20 7.59 16.41 4 12 4C10.62 4 9.31 4.35 8.18 5M16.75 13.55C16.91 13.06 17 12.54 17 12C17 11 16.69 10.04 16.17 9.25L16.89 8.53C17.59 9.5 18 10.7 18 12C18 12.83 17.82 13.6 17.5 14.32L16.75 13.55Z\";\r\nexport var mdiSmoking = \"M2,16H17V19H2V16M20.5,16H22V19H20.5V16M18,16H19.5V19H18V16M18.85,7.73C19.47,7.12 19.85,6.28 19.85,5.35C19.85,3.5 18.35,2 16.5,2V3.5C17.5,3.5 18.35,4.33 18.35,5.35C18.35,6.37 17.5,7.2 16.5,7.2V8.7C18.74,8.7 20.5,10.53 20.5,12.77V15H22V12.76C22,10.54 20.72,8.62 18.85,7.73M16.03,10.2H14.5C13.5,10.2 12.65,9.22 12.65,8.2C12.65,7.18 13.5,6.45 14.5,6.45V4.95C12.65,4.95 11.15,6.45 11.15,8.3A3.35,3.35 0 0,0 14.5,11.65H16.03C17.08,11.65 18,12.39 18,13.7V15H19.5V13.36C19.5,11.55 17.9,10.2 16.03,10.2Z\";\r\nexport var mdiSmokingOff = \"M2,6L9,13H2V16H12L19,23L20.25,21.75L3.25,4.75L2,6M20.5,13H22V16H20.5V13M18,13H19.5V16H18V13M18.85,4.88C19.47,4.27 19.85,3.43 19.85,2.5H18.35C18.35,3.5 17.5,4.35 16.5,4.35V5.85C18.74,5.85 20.5,7.68 20.5,9.92V12H22V9.92C22,7.69 20.72,5.77 18.85,4.88M14.5,8.7H16.03C17.08,8.7 18,9.44 18,10.75V12H19.5V10.41C19.5,8.61 17.9,7.25 16.03,7.25H14.5C13.5,7.25 12.65,6.27 12.65,5.25C12.65,4.23 13.5,3.5 14.5,3.5V2A3.35,3.35 0 0,0 11.15,5.35A3.35,3.35 0 0,0 14.5,8.7M17,15.93V13H14.07L17,15.93Z\";\r\nexport var mdiSmokingPipe = \"M16 13C14.89 13 14 13.89 14 15V18H13C12 18 11 17.92 10.3 17.23L6.53 13.47C5.6 12.53 4.33 12 3 12H2V14H3C3.8 14 4.56 14.32 5.12 14.88L8.89 18.65C11.72 21.5 13 22 16 22H18C20.21 22 22 20.21 22 18V15C22 13.89 21.11 13 20 13H16M14 7.2H12.5C11.45 7.12 10.65 6.25 10.65 5.2C10.67 4.22 11.5 3.43 12.46 3.45L12.5 3.45V2C10.65 2 9.15 3.5 9.15 5.35S10.65 8.7 12.5 8.7H14C15.07 8.66 15.96 9.5 16 10.56C16 10.61 16 10.65 16 10.7V12H17.5V10.36C17.42 8.53 15.88 7.12 14.05 7.2L14 7.2M20 9.76V12H18.5V9.77L18.5 9.7C18.5 7.5 16.71 5.7 14.5 5.7V4.2H14.5C15.5 4.2 16.35 3.37 16.35 2.35C16.35 2.23 16.34 2.11 16.32 2H17.79C17.89 3 17.58 4 16.82 4.73H16.85C18.78 5.66 20 7.62 20 9.76Z\";\r\nexport var mdiSmokingPipeOff = \"M20.84 22.73L19.71 21.6C19.19 21.85 18.62 22 18 22H16C13 22 11.72 21.5 8.89 18.65L5.12 14.88C4.56 14.32 3.8 14 3 14H2V12H3C4.33 12 5.6 12.53 6.53 13.47L10.3 17.23C11 17.92 12 18 13 18H14V15.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M21.93 18.73C21.97 18.5 22 18.25 22 18V15C22 13.89 21.11 13 20 13H16.2L21.93 18.73M18.5 9.7L18.5 9.77V12H20V9.76C20 7.62 18.78 5.66 16.85 4.73H16.82C17.58 4 17.9 3 17.8 2H16.32C16.34 2.11 16.35 2.23 16.35 2.35C16.35 3.37 15.5 4.2 14.5 4.2H14.5V5.7C16.71 5.7 18.5 7.5 18.5 9.7M11.83 8.63C12.05 8.68 12.27 8.7 12.5 8.7H14C15.07 8.66 15.96 9.5 16 10.56C16 10.61 16 10.65 16 10.7V12H17.5V10.36C17.42 8.53 15.88 7.12 14.05 7.2L14 7.2H12.5C11.45 7.12 10.65 6.25 10.65 5.2C10.67 4.22 11.5 3.43 12.46 3.45L12.5 3.45V2C10.65 2 9.15 3.5 9.15 5.35C9.15 5.58 9.17 5.8 9.22 6L11.83 8.63Z\";\r\nexport var mdiSnail = \"M20.31 8.03L21.24 4.95C21.67 4.85 22 4.47 22 4C22 3.45 21.55 3 21 3S20 3.45 20 4C20 4.26 20.11 4.5 20.27 4.68L19.5 7.26L18.73 4.68C18.89 4.5 19 4.26 19 4C19 3.45 18.55 3 18 3S17 3.45 17 4C17 4.47 17.33 4.85 17.76 4.95L18.69 8.03C17.73 8.18 17 9 17 10V12.25C15.65 9.16 12.63 7 9.11 7C5.19 7 2 10.26 2 14.26C2 16.1 2.82 17.75 4.1 18.85L2.88 19C2.38 19.06 2 19.5 2 20C2 20.55 2.45 21 3 21L19.12 21C20.16 21 21 20.16 21 19.12V11.72C21.6 11.38 22 10.74 22 10C22 9 21.27 8.18 20.31 8.03M15.6 17.41L12.07 17.86C12.5 17.1 12.8 16.21 12.8 15.26C12.8 12.94 10.95 11.06 8.67 11.06C8.14 11.06 7.62 11.18 7.14 11.41C6.65 11.66 6.44 12.26 6.69 12.75C6.93 13.25 7.53 13.45 8.03 13.21C8.23 13.11 8.45 13.06 8.67 13.06C9.85 13.06 10.8 14.04 10.8 15.26C10.8 16.92 9.5 18.27 7.89 18.27C5.75 18.27 4 16.47 4 14.26C4 11.36 6.29 9 9.11 9C12.77 9 15.75 12.06 15.75 15.82C15.75 16.36 15.69 16.89 15.6 17.41Z\";\r\nexport var mdiSnake = \"M19.5 17H18C19.1 17 20 16.1 20 15S19.1 13 18 13V9C18 8 18 7 16.92 6.14C16.97 5.93 17 5.72 17 5.5C17 3.57 15 2 12.5 2C10.24 2 8.38 3.31 8.07 5H6L3.71 2.79L3 3.5L5 5.5L3 7.5L3.71 8.21L6 6H8.07C8.38 7.69 10.24 9 12.5 9C13 9 13.5 8.92 13.93 8.8C13.97 8.87 14 8.94 14 9V13H8C6.9 13 6 13.9 6 15S6.9 17 8 17H6.5C5.12 17 4 18.12 4 19.5C4 19.67 4 19.84 4.05 20H4C2.9 20 2 20.9 2 22H19.5C20.88 22 22 20.88 22 19.5S20.88 17 19.5 17M12 5C11.45 5 11 4.55 11 4S11.45 3 12 3 13 3.45 13 4 12.55 5 12 5Z\";\r\nexport var mdiSnapchat = \"M21.93 16.56C21.79 16.18 21.5 16 21.22 15.81C21.17 15.78 21.11 15.75 21.07 15.73C21 15.68 20.89 15.64 20.8 15.59C19.86 15.09 19.12 14.46 18.61 13.72C18.47 13.5 18.35 13.29 18.24 13.06C18.2 12.93 18.2 12.86 18.23 12.8C18.26 12.75 18.3 12.7 18.35 12.67C18.5 12.56 18.68 12.46 18.79 12.38C19 12.25 19.15 12.15 19.25 12.08C19.64 11.81 19.91 11.5 20.08 11.2C20.32 10.75 20.35 10.22 20.16 9.75C19.91 9.08 19.27 8.66 18.5 8.66C18.34 8.66 18.18 8.68 18 8.71C18 8.72 17.94 8.73 17.9 8.74C17.9 8.28 17.89 7.8 17.85 7.32C17.71 5.64 17.12 4.76 16.5 4.06C16.11 3.62 15.65 3.24 15.14 2.95C14.21 2.42 13.15 2.15 12 2.15S9.8 2.42 8.87 2.95C8.35 3.24 7.89 3.62 7.5 4.06C6.88 4.76 6.3 5.64 6.15 7.32C6.11 7.8 6.1 8.28 6.11 8.74C6.06 8.73 6 8.72 6 8.71C5.82 8.68 5.66 8.66 5.5 8.66C4.73 8.66 4.09 9.08 3.84 9.75C3.65 10.22 3.68 10.75 3.92 11.2C4.09 11.5 4.36 11.81 4.75 12.08C4.85 12.15 5 12.25 5.21 12.39L5.63 12.66C5.69 12.7 5.73 12.75 5.77 12.8C5.8 12.87 5.8 12.94 5.75 13.07C5.65 13.3 5.53 13.5 5.39 13.72C4.89 14.45 4.18 15.07 3.27 15.56C2.78 15.82 2.28 16 2.07 16.56C1.91 17 2 17.5 2.42 17.91C2.57 18.06 2.74 18.19 2.93 18.29C3.33 18.5 3.75 18.68 4.18 18.79C4.27 18.82 4.36 18.85 4.43 18.91C4.58 19.03 4.56 19.23 4.76 19.5C4.86 19.66 5 19.79 5.13 19.89C5.54 20.18 6 20.19 6.5 20.21C6.94 20.23 7.44 20.25 8 20.44C8.26 20.5 8.5 20.67 8.79 20.85C9.5 21.27 10.42 21.85 12 21.85C13.57 21.85 14.5 21.27 15.22 20.84C15.5 20.67 15.75 20.5 16 20.44C16.55 20.25 17.06 20.23 17.5 20.21C18 20.2 18.46 20.18 18.87 19.89C19.04 19.77 19.18 19.61 19.29 19.43C19.43 19.19 19.43 19 19.56 18.91C19.63 18.86 19.71 18.82 19.8 18.8C20.24 18.68 20.66 18.5 21.06 18.29C21.27 18.18 21.45 18.04 21.6 17.87L21.61 17.87C22 17.46 22.08 17 21.93 16.56M20.53 17.31C19.67 17.78 19.1 17.73 18.66 18C18.5 18.12 18.45 18.28 18.42 18.44C18.41 18.5 18.4 18.58 18.39 18.64C18.37 18.78 18.34 18.9 18.24 18.97C17.9 19.2 16.91 18.95 15.63 19.37C14.57 19.72 13.9 20.73 12 20.73C10.1 20.73 9.45 19.73 8.37 19.37C7.1 18.95 6.1 19.2 5.77 18.97C5.5 18.78 5.72 18.26 5.34 18C4.9 17.73 4.33 17.78 3.5 17.31C3.19 17.15 3.14 17 3.18 16.93C3.22 16.84 3.34 16.77 3.42 16.73C5.07 15.94 6 14.91 6.47 14.1C6.91 13.38 7 12.83 7.03 12.75C7.06 12.54 7.09 12.38 6.86 12.17C6.64 11.96 5.66 11.36 5.39 11.17C4.93 10.85 4.74 10.54 4.88 10.15L4.88 10.15V10.15C5 9.88 5.23 9.78 5.5 9.78C5.58 9.78 5.66 9.79 5.74 9.81C6.24 9.91 6.72 10.16 7 10.23C7.03 10.24 7.06 10.24 7.1 10.24C7.19 10.24 7.24 10.21 7.27 10.15C7.28 10.11 7.29 10.06 7.29 10C7.25 9.46 7.18 8.41 7.26 7.42C7.3 7 7.37 6.64 7.46 6.33C7.66 5.65 8 5.2 8.34 4.79C8.59 4.5 9.75 3.27 12 3.27C13.85 3.27 14.96 4.11 15.44 4.56C15.54 4.66 15.62 4.74 15.66 4.79C16.04 5.23 16.38 5.71 16.58 6.47C16.65 6.74 16.71 7.06 16.74 7.42C16.82 8.4 16.75 9.46 16.71 10C16.71 10.04 16.71 10.08 16.72 10.11C16.73 10.2 16.79 10.24 16.9 10.24C16.94 10.24 16.97 10.24 17 10.23C17.28 10.16 17.76 9.91 18.26 9.8C18.34 9.79 18.42 9.78 18.5 9.78C18.75 9.78 19 9.87 19.1 10.1L19.11 10.14L19.12 10.14L19.12 10.15C19.27 10.53 19.07 10.85 18.62 11.16C18.35 11.35 17.36 11.96 17.14 12.16C16.91 12.38 16.94 12.54 16.97 12.75C17 12.85 17.18 13.8 18.08 14.86C18.63 15.5 19.42 16.17 20.58 16.73C20.65 16.76 20.74 16.81 20.79 16.87C20.82 16.92 20.84 16.96 20.83 17C20.82 17.1 20.73 17.2 20.53 17.31Z\";\r\nexport var mdiSnowboard = \"M21.87 20.37C21.76 20.2 21.62 20.09 21.43 20.06C21.18 20 20.96 20.05 20.78 20.2C20.43 20.5 20.04 20.73 19.58 20.86C19.13 21 18.66 21 18.16 20.9L17.04 20.62L16 14.46L12.74 11.79L14.5 8.94C15.08 9.85 15.85 10.58 16.83 11.14C17.81 11.7 18.88 12 20.03 12V9.97C19.09 9.97 18.26 9.72 17.53 9.22S16.26 8.07 15.92 7.26L15.36 6.05C15.26 5.86 15.08 5.64 14.82 5.39C14.55 5.14 14.19 5 13.72 5H8.07L5.54 9L7.27 10.06L9.14 7H11.5L9 10.95C8.69 11.42 8.6 11.93 8.72 12.5L9.56 15.95L6.06 18.29L5.59 18.19C5.13 18.1 4.7 17.91 4.33 17.61C3.96 17.31 3.68 16.96 3.5 16.56C3.4 16.31 3.23 16.17 3 16.14C2.76 16.08 2.56 16.11 2.39 16.23S2.12 16.5 2.09 16.7C2.06 16.85 2.07 17 2.13 17.17C2.42 17.79 2.83 18.33 3.37 18.78C3.92 19.23 4.55 19.5 5.27 19.64L17.88 22.35C18.6 22.5 19.29 22.5 19.96 22.3C20.63 22.12 21.23 21.79 21.76 21.32C21.88 21.23 21.96 21.11 22 20.95C22 20.73 22 20.54 21.87 20.37M8.77 18.89L11.81 16.89L11.34 13.57L14.19 15.58L14.94 20.2L8.77 18.89M18 3C18 4.11 17.11 5 16 5S14 4.11 14 3 14.9 1 16 1 18 1.9 18 3Z\";\r\nexport var mdiSnowflake = \"M20.79,13.95L18.46,14.57L16.46,13.44V10.56L18.46,9.43L20.79,10.05L21.31,8.12L19.54,7.65L20,5.88L18.07,5.36L17.45,7.69L15.45,8.82L13,7.38V5.12L14.71,3.41L13.29,2L12,3.29L10.71,2L9.29,3.41L11,5.12V7.38L8.5,8.82L6.5,7.69L5.92,5.36L4,5.88L4.47,7.65L2.7,8.12L3.22,10.05L5.55,9.43L7.55,10.56V13.45L5.55,14.58L3.22,13.96L2.7,15.89L4.47,16.36L4,18.12L5.93,18.64L6.55,16.31L8.55,15.18L11,16.62V18.88L9.29,20.59L10.71,22L12,20.71L13.29,22L14.7,20.59L13,18.88V16.62L15.5,15.17L17.5,16.3L18.12,18.63L20,18.12L19.53,16.35L21.3,15.88L20.79,13.95M9.5,10.56L12,9.11L14.5,10.56V13.44L12,14.89L9.5,13.44V10.56Z\";\r\nexport var mdiSnowflakeAlert = \"M16.46,9.41L13,7.38V5.12L14.71,3.41L13.29,2L12,3.29L10.71,2L9.29,3.41L11,5.12V7.38L8.5,8.82L6.5,7.69L5.92,5.36L4,5.88L4.47,7.65L2.7,8.12L3.22,10.05L5.55,9.43L7.55,10.56V13.45L5.55,14.58L3.22,13.96L2.7,15.89L4.47,16.36L4,18.12L5.93,18.64L6.55,16.31L8.55,15.18L11,16.62V18.88L9.29,20.59L10.71,22L12,20.71L13.29,22L14.7,20.59L13,18.88V16.62L16.46,14.61M9.5,10.56L12,9.11L14.5,10.56V13.44L12,14.89L9.5,13.44M19,13V7H21V13H19M19,17V15H21V17H19Z\";\r\nexport var mdiSnowflakeMelt = \"M8 17.85C8 19.04 7.11 20 6 20S4 19.04 4 17.85C4 16.42 6 14 6 14S8 16.42 8 17.85M16.46 12V10.56L18.46 9.43L20.79 10.05L21.31 8.12L19.54 7.65L20 5.88L18.07 5.36L17.45 7.69L15.45 8.82L13 7.38V5.12L14.71 3.41L13.29 2L12 3.29L10.71 2L9.29 3.41L11 5.12V7.38L8.5 8.82L6.5 7.69L5.92 5.36L4 5.88L4.47 7.65L2.7 8.12L3.22 10.05L5.55 9.43L7.55 10.56V12H2V13H22V12H16.46M9.5 12V10.56L12 9.11L14.5 10.56V12H9.5M20 17.85C20 19.04 19.11 20 18 20S16 19.04 16 17.85C16 16.42 18 14 18 14S20 16.42 20 17.85M14 20.85C14 22.04 13.11 23 12 23S10 22.04 10 20.85C10 19.42 12 17 12 17S14 19.42 14 20.85Z\";\r\nexport var mdiSnowflakeOff = \"M11 5.12L9.29 3.41L10.71 2L12 3.29L13.29 2L14.71 3.41L13 5.12V7.38L15.45 8.82L17.45 7.69L18.07 5.36L20 5.88L19.54 7.65L21.31 8.12L20.79 10.05L18.46 9.43L16.46 10.56V13.26L14.5 11.3V10.56L12.74 9.54L10.73 7.53L11 7.38V5.12M18.46 14.57L16.87 13.67L19.55 16.35L21.3 15.88L20.79 13.95L18.46 14.57M13 16.62V18.88L14.7 20.59L13.29 22L12 20.71L10.71 22L9.29 20.59L11 18.88V16.62L8.55 15.18L6.55 16.31L5.93 18.64L4 18.12L4.47 16.36L2.7 15.89L3.22 13.96L5.55 14.58L7.55 13.45V10.56L5.55 9.43L3.22 10.05L2.7 8.12L4.47 7.65L4 5.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73L14.1 16L13 16.62M12 14.89L12.63 14.5L9.5 11.39V13.44L12 14.89Z\";\r\nexport var mdiSnowflakeVariant = \"M14.25,12L16.27,11H23L22,9H18.03L20.42,5.83L19.43,3.83L15.37,9.2L13.35,10.21L13.75,8L17.83,2.62L15.64,2.22L12,7L8.4,2.2L6.2,2.6L10.26,8L10.66,10.21L8.82,9.29L8.66,9.21L4.6,3.8L3.6,5.8L6,9H2L1,11H7.77L9.75,12L7.73,13H1L2,15H5.97L3.58,18.17L4.57,20.17L8.63,14.8L10.65,13.79L10.25,16L6.17,21.38L8.36,21.79L12,17L15.6,21.8L17.8,21.4L13.74,16L13.34,13.79L15.34,14.79L19.4,20.2L20.4,18.2L18,15H22L23,13H16.23\";\r\nexport var mdiSnowman = \"M17,17A5,5 0 0,1 12,22A5,5 0 0,1 7,17C7,15.5 7.65,14.17 8.69,13.25C8.26,12.61 8,11.83 8,11C8,10.86 8,10.73 8,10.59L5.04,8.87L4.83,8.71L2.29,9.39L2.03,8.43L4.24,7.84L2.26,6.69L2.76,5.82L4.74,6.97L4.15,4.75L5.11,4.5L5.8,7.04L6.04,7.14L8.73,8.69C9.11,8.15 9.62,7.71 10.22,7.42C9.5,6.87 9,6 9,5A3,3 0 0,1 12,2A3,3 0 0,1 15,5C15,6 14.5,6.87 13.78,7.42C14.38,7.71 14.89,8.15 15.27,8.69L17.96,7.14L18.2,7.04L18.89,4.5L19.85,4.75L19.26,6.97L21.24,5.82L21.74,6.69L19.76,7.84L21.97,8.43L21.71,9.39L19.17,8.71L18.96,8.87L16,10.59V11C16,11.83 15.74,12.61 15.31,13.25C16.35,14.17 17,15.5 17,17Z\";\r\nexport var mdiSnowmobile = \"M20.34 17.93L18.4 16C19.5 15.91 22.66 15.53 22.97 13.36C23 13.12 22.92 12.89 22.78 12.7C22.12 11.82 19.88 9.07 15 5H12V7H14L16 9L12 11L3 10L1 13L5.58 14.38L2.58 16.09C2.22 16.26 1 16.89 1 18.05C1 18.4 1 18.89 1.33 19.32C1.83 20 2.71 20 3 20H9C10.26 20 12.53 19.13 12.93 16H15.59L17.59 18H15V20H20C21.65 20 23 18.65 23 17H21C21 17.43 20.73 17.79 20.34 17.93M9 18H3.25C3.33 17.95 3.41 17.91 3.5 17.87L8.22 15.17L10.92 16C10.58 17.84 9.28 18 9 18Z\";\r\nexport var mdiSoccer = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,3C13.76,3 15.4,3.53 16.78,4.41L16.5,5H13L12,5L10.28,4.16L10.63,3.13C11.08,3.05 11.53,3 12,3M9.53,3.38L9.19,4.41L6.63,5.69L5.38,5.94C6.5,4.73 7.92,3.84 9.53,3.38M13,6H16L18.69,9.59L17.44,12.16L14.81,12.78L11.53,8.94L13,6M6.16,6.66L7,10L5.78,13.06L3.22,13.94C3.08,13.31 3,12.67 3,12C3,10.1 3.59,8.36 4.59,6.91L6.16,6.66M20.56,9.22C20.85,10.09 21,11.03 21,12C21,13.44 20.63,14.79 20.03,16H19L18.16,12.66L19.66,9.66L20.56,9.22M8,10H11L13.81,13.28L12,16L8.84,16.78L6.53,13.69L8,10M12,17L15,19L14.13,20.72C13.44,20.88 12.73,21 12,21C10.25,21 8.63,20.5 7.25,19.63L8.41,17.91L12,17M19,17H19.5C18.5,18.5 17,19.67 15.31,20.34L16,19L19,17Z\";\r\nexport var mdiSoccerField = \"M4,4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4H4M4,6H11V8.13C9.24,8.59 8,10.18 8,12C8,13.82 9.24,15.41 11,15.87V18H4V16H7V8H4V6M13,6H20V8H17V16H20V18H13V15.87C14.76,15.41 16,13.82 16,12C16,10.18 14.76,8.59 13,8.13V6M4,10H5V14H4V10M19,10H20V14H19V10M13,10.27C13.62,10.63 14,11.29 14,12C14,12.71 13.62,13.37 13,13.73V10.27M11,10.27V13.73C10.38,13.37 10,12.71 10,12C10,11.29 10.38,10.63 11,10.27Z\";\r\nexport var mdiSocialDistance2Meters = \"M6 6C7.1 6 8 5.1 8 4S7.1 2 6 2 4 2.9 4 4 4.9 6 6 6M10 9.43C10 8.62 9.5 7.9 8.78 7.58C7.93 7.21 7 7 6 7S4.07 7.21 3.22 7.58C2.5 7.9 2 8.62 2 9.43V10H10V9.43M18 6C19.1 6 20 5.1 20 4S19.1 2 18 2 16 2.9 16 4 16.9 6 18 6M22 9.43C22 8.62 21.5 7.9 20.78 7.58C19.93 7.21 19 7 18 7S16.07 7.21 15.22 7.58C14.5 7.9 14 8.62 14 9.43V10H22V9.43M19 17V15L5 15V17L2 14L5 11V13L19 13V11L22 14L19 17M9 20.5V21H11V22H8V20.5C8 19.95 8.45 19.5 9 19.5H10V19H8V18H10C10.55 18 11 18.45 11 19V19.5C11 20.05 10.55 20.5 10 20.5H9M16 19V22H15V19H14.5V21H13.5V19H13V22H12V19C12 18.45 12.45 18 13 18H15C15.55 18 16 18.45 16 19Z\";\r\nexport var mdiSocialDistance6Feet = \"M6 6C7.1 6 8 5.1 8 4S7.1 2 6 2 4 2.9 4 4 4.9 6 6 6M10 9.43C10 8.62 9.5 7.9 8.78 7.58C7.93 7.21 7 7 6 7S4.07 7.21 3.22 7.58C2.5 7.9 2 8.62 2 9.43V10H10V9.43M18 6C19.1 6 20 5.1 20 4S19.1 2 18 2 16 2.9 16 4 16.9 6 18 6M22 9.43C22 8.62 21.5 7.9 20.78 7.58C19.93 7.21 19 7 18 7S16.07 7.21 15.22 7.58C14.5 7.9 14 8.62 14 9.43V10H22V9.43M19 17V15H5V17L2 14L5 11V13H19V11L22 14L19 17M10 19V18H7.5C7.22 18 7 18.22 7 18.5V21.5C7 21.78 7.22 22 7.5 22H9.5C9.78 22 10 21.78 10 21.5V20C10 19.72 9.78 19.5 9.5 19.5H8V19H10M9 20.5V21H8V20.5H9M17.5 19H16.5V22H15.5V19H14.5V18H17.5V19M12.5 19V19.5H13.5V20.5H12.5V22H11.5V18H14V19H12.5Z\";\r\nexport var mdiSofa = \"M12.5 7C12.5 5.89 13.39 5 14.5 5H18C19.1 5 20 5.9 20 7V9.16C18.84 9.57 18 10.67 18 11.97V14H12.5V7M6 11.96V14H11.5V7C11.5 5.89 10.61 5 9.5 5H6C4.9 5 4 5.9 4 7V9.15C5.16 9.56 6 10.67 6 11.96M20.66 10.03C19.68 10.19 19 11.12 19 12.12V15H5V12C5 10.9 4.11 10 3 10S1 10.9 1 12V17C1 18.1 1.9 19 3 19V21H5V19H19V21H21V19C22.1 19 23 18.1 23 17V12C23 10.79 21.91 9.82 20.66 10.03Z\";\r\nexport var mdiSofaOutline = \"M21 9V7C21 5.35 19.65 4 18 4H14C13.23 4 12.53 4.3 12 4.78C11.47 4.3 10.77 4 10 4H6C4.35 4 3 5.35 3 7V9C1.35 9 0 10.35 0 12V17C0 18.65 1.35 20 3 20V22H5V20H19V22H21V20C22.65 20 24 18.65 24 17V12C24 10.35 22.65 9 21 9M14 6H18C18.55 6 19 6.45 19 7V9.78C18.39 10.33 18 11.12 18 12V14H13V7C13 6.45 13.45 6 14 6M5 7C5 6.45 5.45 6 6 6H10C10.55 6 11 6.45 11 7V14H6V12C6 11.12 5.61 10.33 5 9.78V7M22 17C22 17.55 21.55 18 21 18H3C2.45 18 2 17.55 2 17V12C2 11.45 2.45 11 3 11S4 11.45 4 12V16H20V12C20 11.45 20.45 11 21 11S22 11.45 22 12V17Z\";\r\nexport var mdiSofaSingle = \"M5 9.15V7C5 5.9 5.9 5 7 5H17C18.1 5 19 5.9 19 7V9.16C17.84 9.57 17 10.67 17 11.97V14H7V11.96C7 10.67 6.16 9.56 5 9.15M20 10C18.9 10 18 10.9 18 12V15H6V12C6 10.9 5.11 10 4 10S2 10.9 2 12V17C2 18.1 2.9 19 4 19V21H6V19H18V21H20V19C21.1 19 22 18.1 22 17V12C22 10.9 21.1 10 20 10Z\";\r\nexport var mdiSofaSingleOutline = \"M19 9V7C19 5.35 17.65 4 16 4H8C6.35 4 5 5.35 5 7V9C3.35 9 2 10.35 2 12V17C2 18.65 3.35 20 5 20V22H7V20H17V22H19V20C20.65 20 22 18.65 22 17V12C22 10.35 20.65 9 19 9M7 7C7 6.45 7.45 6 8 6H16C16.55 6 17 6.45 17 7V9.78C16.39 10.33 16 11.12 16 12V14H8V12C8 11.12 7.61 10.33 7 9.78V7M20 17C20 17.55 19.55 18 19 18H5C4.45 18 4 17.55 4 17V12C4 11.45 4.45 11 5 11S6 11.45 6 12V16H18V12C18 11.45 18.45 11 19 11S20 11.45 20 12V17Z\";\r\nexport var mdiSolarPanel = \"M4,2H20A2,2 0 0,1 22,4V14A2,2 0 0,1 20,16H15V20H18V22H13V16H11V22H6V20H9V16H4A2,2 0 0,1 2,14V4A2,2 0 0,1 4,2M4,4V8H11V4H4M4,14H11V10H4V14M20,14V10H13V14H20M20,4H13V8H20V4Z\";\r\nexport var mdiSolarPanelLarge = \"M3,6H6V3H3V6M8,3V6H11V3H8M13,3V6H16V3H13M18,3V6H21V3H18M21,8H18V11H21V8M21,13H18V16H21V13M16,16V13H13V16H16M11,16V13H8V16H11M6,16V13H3V16H6M3,11H6V8H3V11M13,8V11H16V8H13M8,8V11H11V8H8M3,1H21A2,2 0 0,1 23,3V16A2,2 0 0,1 21,18H15V21H18V23H13V18H11V23H6V21H9V18H3A2,2 0 0,1 1,16V3A2,2 0 0,1 3,1Z\";\r\nexport var mdiSolarPower = \"M11.45,2V5.55L15,3.77L11.45,2M10.45,8L8,10.46L11.75,11.71L10.45,8M2,11.45L3.77,15L5.55,11.45H2M10,2H2V10C2.57,10.17 3.17,10.25 3.77,10.25C7.35,10.26 10.26,7.35 10.27,3.75C10.26,3.16 10.17,2.57 10,2M17,22V16H14L19,7V13H22L17,22Z\";\r\nexport var mdiSolderingIron = \"M4.86 4.03L2.03 6.86L5.21 10.04V12.87L6.63 14.28L12.28 8.63L10.87 7.21H8.04L4.86 4.03M17 6V7.5C18 7.5 18.85 8.33 18.85 9.35C18.85 10.37 18 11.2 17 11.2V12.7C19.24 12.7 21 14.53 21 16.77V21H22.5V16.76C22.5 14.54 21.22 12.62 19.35 11.73C19.97 11.12 20.35 10.28 20.35 9.35C20.35 7.5 18.85 6 17 6M11.93 11.1L9.1 13.93L14.05 18.88L14.76 18.17L16.88 20.29L19 21L18.29 18.88L16.17 16.76L16.88 16.05L11.93 11.1Z\";\r\nexport var mdiSolid = \"M0,0H24V24H0\";\r\nexport var mdiSonyPlaystation = \"M9.5,4.27C10.88,4.53 12.9,5.14 14,5.5C16.75,6.45 17.69,7.63 17.69,10.29C17.69,12.89 16.09,13.87 14.05,12.89V8.05C14.05,7.5 13.95,6.97 13.41,6.82C13,6.69 12.76,7.07 12.76,7.63V19.73L9.5,18.69V4.27M13.37,17.62L18.62,15.75C19.22,15.54 19.31,15.24 18.83,15.08C18.34,14.92 17.47,14.97 16.87,15.18L13.37,16.41V14.45L13.58,14.38C13.58,14.38 14.59,14 16,13.87C17.43,13.71 19.17,13.89 20.53,14.4C22.07,14.89 22.25,15.61 21.86,16.1C21.46,16.6 20.5,16.95 20.5,16.95L13.37,19.5V17.62M3.5,17.42C1.93,17 1.66,16.05 2.38,15.5C3.05,15 4.18,14.65 4.18,14.65L8.86,13V14.88L5.5,16.09C4.9,16.3 4.81,16.6 5.29,16.76C5.77,16.92 6.65,16.88 7.24,16.66L8.86,16.08V17.77L8.54,17.83C6.92,18.09 5.2,18 3.5,17.42Z\";\r\nexport var mdiSort = \"M18 21L14 17H17V7H14L18 3L22 7H19V17H22M2 19V17H12V19M2 13V11H9V13M2 7V5H6V7H2Z\";\r\nexport var mdiSortAlphabeticalAscending = \"M19 17H22L18 21L14 17H17V3H19M11 13V15L7.67 19H11V21H5V19L8.33 15H5V13M9 3H7C5.9 3 5 3.9 5 5V11H7V9H9V11H11V5C11 3.9 10.11 3 9 3M9 7H7V5H9Z\";\r\nexport var mdiSortAlphabeticalAscendingVariant = \"M9.25 5L12.5 1.75L15.75 5H9.25M8.89 14.3H6L5.28 17H2.91L6 7H9L12.13 17H9.67L8.89 14.3M6.33 12.68H8.56L7.93 10.56L7.67 9.59L7.42 8.63H7.39L7.17 9.6L6.93 10.58L6.33 12.68M13.05 17V15.74L17.8 8.97V8.91H13.5V7H20.73V8.34L16.09 15V15.08H20.8V17H13.05Z\";\r\nexport var mdiSortAlphabeticalDescending = \"M19 7H22L18 3L14 7H17V21H19M11 13V15L7.67 19H11V21H5V19L8.33 15H5V13M9 3H7C5.9 3 5 3.9 5 5V11H7V9H9V11H11V5C11 3.9 10.11 3 9 3M9 7H7V5H9Z\";\r\nexport var mdiSortAlphabeticalDescendingVariant = \"M15.75 19L12.5 22.25L9.25 19H15.75M8.89 14.3H6L5.28 17H2.91L6 7H9L12.13 17H9.67L8.89 14.3M6.33 12.68H8.56L7.93 10.56L7.67 9.59L7.42 8.63H7.39L7.17 9.6L6.93 10.58L6.33 12.68M13.05 17V15.74L17.8 8.97V8.91H13.5V7H20.73V8.34L16.09 15V15.08H20.8V17H13.05Z\";\r\nexport var mdiSortAlphabeticalVariant = \"M9.25,5L12.5,1.75L15.75,5H9.25M15.75,19L12.5,22.25L9.25,19H15.75M8.89,14.3H6L5.28,17H2.91L6,7H9L12.13,17H9.67L8.89,14.3M6.33,12.68H8.56L7.93,10.56L7.67,9.59L7.42,8.63H7.39L7.17,9.6L6.93,10.58L6.33,12.68M13.05,17V15.74L17.8,8.97V8.91H13.5V7H20.73V8.34L16.09,15V15.08H20.8V17H13.05Z\";\r\nexport var mdiSortAscending = \"M19 17H22L18 21L14 17H17V3H19M2 17H12V19H2M6 5V7H2V5M2 11H9V13H2V11Z\";\r\nexport var mdiSortBoolAscending = \"M19 17H22L18 21L14 17H17V3H19V17M7 3C4.79 3 3 4.79 3 7S4.79 11 7 11 11 9.21 11 7 9.21 3 7 3M7 9C5.9 9 5 8.1 5 7S5.9 5 7 5 9 5.9 9 7 8.1 9 7 9M7 13C4.79 13 3 14.79 3 17S4.79 21 7 21 11 19.21 11 17 9.21 13 7 13Z\";\r\nexport var mdiSortBoolAscendingVariant = \"M19 17H22L18 21L14 17H17V3H19V17M9 13H5C3.89 13 3 13.89 3 15V19C3 20.11 3.89 21 5 21H9C10.11 21 11 20.11 11 19V15C11 13.89 10.11 13 9 13M6.27 19.5L3.74 16.95L4.81 15.9L6.28 17.39L9.2 14.5L10.26 15.55L6.27 19.5M9 3H5C3.89 3 3 3.89 3 5V9C3 10.11 3.89 11 5 11H9C10.11 11 11 10.11 11 9V5C11 3.89 10.11 3 9 3M9 9H5V5H9V9Z\";\r\nexport var mdiSortBoolDescending = \"M19 7H22L18 3L14 7H17V21H19M5 7C5 8.1 5.9 9 7 9C8.1 9 9 8.1 9 7C9 5.9 8.1 5 7 5C5.9 5 5 5.9 5 7M7 3C9.21 3 11 4.79 11 7C11 9.21 9.21 11 7 11C4.79 11 3 9.21 3 7C3 4.79 4.79 3 7 3M7 13C4.79 13 3 14.79 3 17C3 19.21 4.79 21 7 21C9.21 21 11 19.21 11 17C11 14.79 9.21 13 7 13Z\";\r\nexport var mdiSortBoolDescendingVariant = \"M19 7H22L18 3L14 7H17V21H19M5 13C3.89 13 3 13.89 3 15V19C3 20.11 3.89 21 5 21H9C10.11 21 11 20.11 11 19V15C11 13.89 10.11 13 9 13M9.2 14.5L10.26 15.55L6.27 19.5L3.74 16.95L4.81 15.9L6.28 17.39M5 3C3.89 3 3 3.89 3 5V9C3 10.11 3.89 11 5 11H9C10.11 11 11 10.11 11 9V5C11 3.89 10.11 3 9 3M5 5H9V9H5Z\";\r\nexport var mdiSortCalendarAscending = \"M21 17H24L20 21L16 17H19V3H21V17M8 16H11V13H8V16M13 5H12V3H10V5H6V3H4V5H3C1.89 5 1 5.89 1 7V18C1 19.11 1.89 20 3 20H13C14.11 20 15 19.11 15 18V7C15 5.89 14.11 5 13 5M3 18L3 11H13L13 18L3 18Z\";\r\nexport var mdiSortCalendarDescending = \"M19 7H16L20 3L24 7H21V21H19V7M8 16H11V13H8V16M13 5H12V3H10V5H6V3H4V5H3C1.89 5 1 5.89 1 7V18C1 19.11 1.89 20 3 20H13C14.11 20 15 19.11 15 18V7C15 5.89 14.11 5 13 5M3 18L3 11H13L13 18L3 18Z\";\r\nexport var mdiSortClockAscending = \"M20 17H23L19 21L15 17H18V3H20V17M8 5C4.14 5 1 8.13 1 12C1 15.87 4.13 19 8 19C11.86 19 15 15.87 15 12C15 8.13 11.87 5 8 5M10.19 14.53L7 12.69V9H8.5V11.82L10.94 13.23L10.19 14.53Z\";\r\nexport var mdiSortClockAscendingOutline = \"M20 17H23L19 21L15 17H18V3H20V17M8 5C4.14 5 1 8.13 1 12C1 15.87 4.13 19 8 19C11.86 19 15 15.87 15 12C15 8.13 11.87 5 8 5M8 7.15C10.67 7.15 12.85 9.32 12.85 12C12.85 14.68 10.68 16.85 8 16.85C5.32 16.85 3.15 14.68 3.15 12C3.15 9.32 5.32 7.15 8 7.15M7 9V12.69L10.19 14.53L10.94 13.23L8.5 11.82V9\";\r\nexport var mdiSortClockDescending = \"M18 7H15L19 3L23 7H20V21H18V7M8 5C4.14 5 1 8.13 1 12C1 15.87 4.13 19 8 19C11.86 19 15 15.87 15 12C15 8.13 11.87 5 8 5M10.19 14.53L7 12.69V9H8.5V11.82L10.94 13.23L10.19 14.53Z\";\r\nexport var mdiSortClockDescendingOutline = \"M18 7H15L19 3L23 7H20V21H18V7M8 5C4.14 5 1 8.13 1 12C1 15.87 4.13 19 8 19C11.86 19 15 15.87 15 12C15 8.13 11.87 5 8 5M8 7.15C10.67 7.15 12.85 9.32 12.85 12C12.85 14.68 10.68 16.85 8 16.85C5.32 16.85 3.15 14.68 3.15 12C3.15 9.32 5.32 7.15 8 7.15M7 9V12.69L10.19 14.53L10.94 13.23L8.5 11.82V9\";\r\nexport var mdiSortDescending = \"M19 7H22L18 3L14 7H17V21H19M2 17H12V19H2M6 5V7H2V5M2 11H9V13H2V11Z\";\r\nexport var mdiSortNumericAscending = \"M19 17H22L18 21L14 17H17V3H19V17M9 13H7C5.9 13 5 13.9 5 15V16C5 17.11 5.9 18 7 18H9V19H5V21H9C10.11 21 11 20.11 11 19V15C11 13.9 10.11 13 9 13M9 16H7V15H9V16M9 3H7C5.9 3 5 3.9 5 5V9C5 10.11 5.9 11 7 11H9C10.11 11 11 10.11 11 9V5C11 3.9 10.11 3 9 3M9 9H7V5H9V9Z\";\r\nexport var mdiSortNumericAscendingVariant = \"M7.78 7C9.08 7.04 10 7.53 10.57 8.46C11.13 9.4 11.41 10.56 11.39 11.95C11.4 13.5 11.09 14.73 10.5 15.62C9.88 16.5 8.95 16.97 7.71 17C6.45 16.96 5.54 16.5 4.96 15.56C4.38 14.63 4.09 13.45 4.09 12S4.39 9.36 5 8.44C5.59 7.5 6.5 7.04 7.78 7M7.75 8.63C7.31 8.63 6.96 8.9 6.7 9.46C6.44 10 6.32 10.87 6.32 12C6.31 13.15 6.44 14 6.69 14.54C6.95 15.1 7.31 15.37 7.77 15.37C8.69 15.37 9.16 14.24 9.17 12C9.17 9.77 8.7 8.65 7.75 8.63M13.33 17V15.22L13.76 15.24L14.3 15.22L15.34 15.03C15.68 14.92 16 14.78 16.26 14.58C16.59 14.35 16.86 14.08 17.07 13.76C17.29 13.45 17.44 13.12 17.53 12.78L17.5 12.77C17.05 13.19 16.38 13.4 15.47 13.41C14.62 13.4 13.91 13.15 13.34 12.65S12.5 11.43 12.46 10.5C12.47 9.5 12.81 8.69 13.47 8.03C14.14 7.37 15 7.03 16.12 7C17.37 7.04 18.29 7.45 18.88 8.24C19.47 9 19.76 10 19.76 11.19C19.75 12.15 19.61 13 19.32 13.76C19.03 14.5 18.64 15.13 18.12 15.64C17.66 16.06 17.11 16.38 16.47 16.61C15.83 16.83 15.12 16.96 14.34 17H13.33M16.06 8.63C15.65 8.64 15.32 8.8 15.06 9.11C14.81 9.42 14.68 9.84 14.68 10.36C14.68 10.8 14.8 11.16 15.03 11.46C15.27 11.77 15.63 11.92 16.11 11.93C16.43 11.93 16.7 11.86 16.92 11.74C17.14 11.61 17.3 11.46 17.41 11.28C17.5 11.17 17.53 10.97 17.53 10.71C17.54 10.16 17.43 9.69 17.2 9.28C16.97 8.87 16.59 8.65 16.06 8.63M9.25 5L12.5 1.75L15.75 5H9.25\";\r\nexport var mdiSortNumericDescending = \"M19 7H22L18 3L14 7H17V21H19M9 21H5V19H9V18H7C5.9 18 5 17.11 5 16V15C5 13.9 5.9 13 7 13H9C10.11 13 11 13.9 11 15V19C11 20.11 10.11 21 9 21M9 15H7V16H9M7 3H9C10.11 3 11 3.9 11 5V9C11 10.11 10.11 11 9 11H7C5.9 11 5 10.11 5 9V5C5 3.9 5.9 3 7 3M7 9H9V5H7Z\";\r\nexport var mdiSortNumericDescendingVariant = \"M7.78 7C9.08 7.04 10 7.53 10.57 8.46C11.13 9.4 11.41 10.56 11.39 11.95C11.4 13.5 11.09 14.73 10.5 15.62C9.88 16.5 8.95 16.97 7.71 17C6.45 16.96 5.54 16.5 4.96 15.56C4.38 14.63 4.09 13.45 4.09 12S4.39 9.36 5 8.44C5.59 7.5 6.5 7.04 7.78 7M7.75 8.63C7.31 8.63 6.96 8.9 6.7 9.46C6.44 10 6.32 10.87 6.32 12C6.31 13.15 6.44 14 6.69 14.54C6.95 15.1 7.31 15.37 7.77 15.37C8.69 15.37 9.16 14.24 9.17 12C9.17 9.77 8.7 8.65 7.75 8.63M13.33 17V15.22L13.76 15.24L14.3 15.22L15.34 15.03C15.68 14.92 16 14.78 16.26 14.58C16.59 14.35 16.86 14.08 17.07 13.76C17.29 13.45 17.44 13.12 17.53 12.78L17.5 12.77C17.05 13.19 16.38 13.4 15.47 13.41C14.62 13.4 13.91 13.15 13.34 12.65S12.5 11.43 12.46 10.5C12.47 9.5 12.81 8.69 13.47 8.03C14.14 7.37 15 7.03 16.12 7C17.37 7.04 18.29 7.45 18.88 8.24C19.47 9 19.76 10 19.76 11.19C19.75 12.15 19.61 13 19.32 13.76C19.03 14.5 18.64 15.13 18.12 15.64C17.66 16.06 17.11 16.38 16.47 16.61C15.83 16.83 15.12 16.96 14.34 17H13.33M16.06 8.63C15.65 8.64 15.32 8.8 15.06 9.11C14.81 9.42 14.68 9.84 14.68 10.36C14.68 10.8 14.8 11.16 15.03 11.46C15.27 11.77 15.63 11.92 16.11 11.93C16.43 11.93 16.7 11.86 16.92 11.74C17.14 11.61 17.3 11.46 17.41 11.28C17.5 11.17 17.53 10.97 17.53 10.71C17.54 10.16 17.43 9.69 17.2 9.28C16.97 8.87 16.59 8.65 16.06 8.63M15.75 19L12.5 22.25L9.25 19H15.75Z\";\r\nexport var mdiSortNumericVariant = \"M7.78,7C9.08,7.04 10,7.53 10.57,8.46C11.13,9.4 11.41,10.56 11.39,11.95C11.4,13.5 11.09,14.73 10.5,15.62C9.88,16.5 8.95,16.97 7.71,17C6.45,16.96 5.54,16.5 4.96,15.56C4.38,14.63 4.09,13.45 4.09,12C4.09,10.55 4.39,9.36 5,8.44C5.59,7.5 6.5,7.04 7.78,7M7.75,8.63C7.31,8.63 6.96,8.9 6.7,9.46C6.44,10 6.32,10.87 6.32,12C6.31,13.15 6.44,14 6.69,14.54C6.95,15.1 7.31,15.37 7.77,15.37C8.69,15.37 9.16,14.24 9.17,12C9.17,9.77 8.7,8.65 7.75,8.63M13.33,17V15.22L13.76,15.24L14.3,15.22L15.34,15.03C15.68,14.92 16,14.78 16.26,14.58C16.59,14.35 16.86,14.08 17.07,13.76C17.29,13.45 17.44,13.12 17.53,12.78L17.5,12.77C17.05,13.19 16.38,13.4 15.47,13.41C14.62,13.4 13.91,13.15 13.34,12.65C12.77,12.15 12.5,11.43 12.46,10.5C12.47,9.5 12.81,8.69 13.47,8.03C14.14,7.37 15,7.03 16.12,7C17.37,7.04 18.29,7.45 18.88,8.24C19.47,9 19.76,10 19.76,11.19C19.75,12.15 19.61,13 19.32,13.76C19.03,14.5 18.64,15.13 18.12,15.64C17.66,16.06 17.11,16.38 16.47,16.61C15.83,16.83 15.12,16.96 14.34,17H13.33M16.06,8.63C15.65,8.64 15.32,8.8 15.06,9.11C14.81,9.42 14.68,9.84 14.68,10.36C14.68,10.8 14.8,11.16 15.03,11.46C15.27,11.77 15.63,11.92 16.11,11.93C16.43,11.93 16.7,11.86 16.92,11.74C17.14,11.61 17.3,11.46 17.41,11.28C17.5,11.17 17.53,10.97 17.53,10.71C17.54,10.16 17.43,9.69 17.2,9.28C16.97,8.87 16.59,8.65 16.06,8.63M9.25,5L12.5,1.75L15.75,5H9.25M15.75,19L12.5,22.25L9.25,19H15.75Z\";\r\nexport var mdiSortReverseVariant = \"M3 11H15V13H3M3 18V16H21V18M3 6H9V8H3Z\";\r\nexport var mdiSortVariant = \"M3,13H15V11H3M3,6V8H21V6M3,18H9V16H3V18Z\";\r\nexport var mdiSortVariantLock = \"M3,13V11H15V13H3M3,6H21V8H3V6M3,18V16H9V18H3M22,22H14V18H15V17A3,3 0 0,1 18,14A3,3 0 0,1 21,17V18H22V22M18,16A1,1 0 0,0 17,17V18H19V17A1,1 0 0,0 18,16Z\";\r\nexport var mdiSortVariantLockOpen = \"M3,13V11H15V13H3M3,6H21V8H3V6M3,18V16H9V18H3M22,22H14V18H15V16A3,3 0 0,1 18,13A3,3 0 0,1 21,16H19A1,1 0 0,0 18,15A1,1 0 0,0 17,16V18H22V22Z\";\r\nexport var mdiSortVariantRemove = \"M3 13H15V11H3M3 6V8H21V6M3 18H9V16H3V18M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.46L22.54 16.88\";\r\nexport var mdiSoundbar = \"M4 8C2.9 8 2 8.9 2 10V14C2 15.11 2.9 16 4 16H20C21.11 16 22 15.11 22 14V10C22 8.9 21.11 8 20 8M9 10C10.11 10 11 10.9 11 12C11 13.11 10.11 14 9 14C7.9 14 7 13.11 7 12C7 10.9 7.9 10 9 10M15 10C16.11 10 17 10.9 17 12C17 13.11 16.11 14 15 14C13.9 14 13 13.11 13 12C13 10.9 13.9 10 15 10M5 11C5.55 11 6 11.45 6 12C6 12.55 5.55 13 5 13C4.45 13 4 12.55 4 12C4 11.45 4.45 11 5 11M9 11C8.45 11 8 11.45 8 12C8 12.55 8.45 13 9 13C9.55 13 10 12.55 10 12C10 11.45 9.55 11 9 11M15 11C14.45 11 14 11.45 14 12C14 12.55 14.45 13 15 13C15.55 13 16 12.55 16 12C16 11.45 15.55 11 15 11M19 11C19.55 11 20 11.45 20 12C20 12.55 19.55 13 19 13C18.45 13 18 12.55 18 12C18 11.45 18.45 11 19 11Z\";\r\nexport var mdiSoundcloud = \"M11.56,8.87V17H20.32V17C22.17,16.87 23,15.73 23,14.33C23,12.85 21.88,11.66 20.38,11.66C20,11.66 19.68,11.74 19.35,11.88C19.11,9.54 17.12,7.71 14.67,7.71C13.5,7.71 12.39,8.15 11.56,8.87M10.68,9.89C10.38,9.71 10.06,9.57 9.71,9.5V17H11.1V9.34C10.95,9.5 10.81,9.7 10.68,9.89M8.33,9.35V17H9.25V9.38C9.06,9.35 8.87,9.34 8.67,9.34C8.55,9.34 8.44,9.34 8.33,9.35M6.5,10V17H7.41V9.54C7.08,9.65 6.77,9.81 6.5,10M4.83,12.5C4.77,12.5 4.71,12.44 4.64,12.41V17H5.56V10.86C5.19,11.34 4.94,11.91 4.83,12.5M2.79,12.22V16.91C3,16.97 3.24,17 3.5,17H3.72V12.14C3.64,12.13 3.56,12.12 3.5,12.12C3.24,12.12 3,12.16 2.79,12.22M1,14.56C1,15.31 1.34,15.97 1.87,16.42V12.71C1.34,13.15 1,13.82 1,14.56Z\";\r\nexport var mdiSourceBranch = \"M13,14C9.64,14 8.54,15.35 8.18,16.24C9.25,16.7 10,17.76 10,19A3,3 0 0,1 7,22A3,3 0 0,1 4,19C4,17.69 4.83,16.58 6,16.17V7.83C4.83,7.42 4,6.31 4,5A3,3 0 0,1 7,2A3,3 0 0,1 10,5C10,6.31 9.17,7.42 8,7.83V13.12C8.88,12.47 10.16,12 12,12C14.67,12 15.56,10.66 15.85,9.77C14.77,9.32 14,8.25 14,7A3,3 0 0,1 17,4A3,3 0 0,1 20,7C20,8.34 19.12,9.5 17.91,9.86C17.65,11.29 16.68,14 13,14M7,18A1,1 0 0,0 6,19A1,1 0 0,0 7,20A1,1 0 0,0 8,19A1,1 0 0,0 7,18M7,4A1,1 0 0,0 6,5A1,1 0 0,0 7,6A1,1 0 0,0 8,5A1,1 0 0,0 7,4M17,6A1,1 0 0,0 16,7A1,1 0 0,0 17,8A1,1 0 0,0 18,7A1,1 0 0,0 17,6Z\";\r\nexport var mdiSourceBranchCheck = \"M13 14C9.64 14 8.54 15.35 8.18 16.24C9.25 16.7 10 17.76 10 19C10 20.66 8.66 22 7 22S4 20.66 4 19C4 17.69 4.83 16.58 6 16.17V7.83C4.83 7.42 4 6.31 4 5C4 3.34 5.34 2 7 2S10 3.34 10 5C10 6.31 9.17 7.42 8 7.83V13.12C8.88 12.47 10.16 12 12 12C14.67 12 15.56 10.66 15.85 9.77C14.77 9.32 14 8.25 14 7C14 5.34 15.34 4 17 4S20 5.34 20 7C20 8.34 19.12 9.5 17.91 9.86C17.65 11.29 16.68 14 13 14M7 18C6.45 18 6 18.45 6 19S6.45 20 7 20 8 19.55 8 19 7.55 18 7 18M7 4C6.45 4 6 4.45 6 5S6.45 6 7 6 8 5.55 8 5 7.55 4 7 4M17 6C16.45 6 16 6.45 16 7S16.45 8 17 8 18 7.55 18 7 17.55 6 17 6M16.75 21.16L14 18.16L15.16 17L16.75 18.59L20.34 15L21.5 16.41L16.75 21.16\";\r\nexport var mdiSourceBranchMinus = \"M13 14C9.64 14 8.54 15.35 8.18 16.24C9.25 16.7 10 17.76 10 19C10 20.66 8.66 22 7 22S4 20.66 4 19C4 17.69 4.83 16.58 6 16.17V7.83C4.83 7.42 4 6.31 4 5C4 3.34 5.34 2 7 2S10 3.34 10 5C10 6.31 9.17 7.42 8 7.83V13.12C8.88 12.47 10.16 12 12 12C14.67 12 15.56 10.66 15.85 9.77C14.77 9.32 14 8.25 14 7C14 5.34 15.34 4 17 4S20 5.34 20 7C20 8.34 19.12 9.5 17.91 9.86C17.65 11.29 16.68 14 13 14M7 18C6.45 18 6 18.45 6 19S6.45 20 7 20 8 19.55 8 19 7.55 18 7 18M7 4C6.45 4 6 4.45 6 5S6.45 6 7 6 8 5.55 8 5 7.55 4 7 4M17 6C16.45 6 16 6.45 16 7S16.45 8 17 8 18 7.55 18 7 17.55 6 17 6M14 17V19H22V17H14Z\";\r\nexport var mdiSourceBranchPlus = \"M13 14C9.64 14 8.54 15.35 8.18 16.24C9.25 16.7 10 17.76 10 19C10 20.66 8.66 22 7 22S4 20.66 4 19C4 17.69 4.83 16.58 6 16.17V7.83C4.83 7.42 4 6.31 4 5C4 3.34 5.34 2 7 2S10 3.34 10 5C10 6.31 9.17 7.42 8 7.83V13.12C8.88 12.47 10.16 12 12 12C14.67 12 15.56 10.66 15.85 9.77C14.77 9.32 14 8.25 14 7C14 5.34 15.34 4 17 4S20 5.34 20 7C20 8.34 19.12 9.5 17.91 9.86C17.65 11.29 16.68 14 13 14M7 18C6.45 18 6 18.45 6 19S6.45 20 7 20 8 19.55 8 19 7.55 18 7 18M7 4C6.45 4 6 4.45 6 5S6.45 6 7 6 8 5.55 8 5 7.55 4 7 4M17 6C16.45 6 16 6.45 16 7S16.45 8 17 8 18 7.55 18 7 17.55 6 17 6M17 14V17H14V19H17V22H19V19H22V17H19V14H17Z\";\r\nexport var mdiSourceBranchRefresh = \"M13 14C9.64 14 8.54 15.35 8.18 16.24C9.25 16.7 10 17.76 10 19C10 20.66 8.66 22 7 22S4 20.66 4 19C4 17.69 4.83 16.58 6 16.17V7.83C4.83 7.42 4 6.31 4 5C4 3.34 5.34 2 7 2S10 3.34 10 5C10 6.31 9.17 7.42 8 7.83V13.12C8.88 12.47 10.16 12 12 12C14.67 12 15.56 10.66 15.85 9.77C14.77 9.32 14 8.25 14 7C14 5.34 15.34 4 17 4S20 5.34 20 7C20 8.34 19.12 9.5 17.91 9.86C17.65 11.29 16.68 14 13 14M7 18C6.45 18 6 18.45 6 19S6.45 20 7 20 8 19.55 8 19 7.55 18 7 18M7 4C6.45 4 6 4.45 6 5S6.45 6 7 6 8 5.55 8 5 7.55 4 7 4M17 6C16.45 6 16 6.45 16 7S16.45 8 17 8 18 7.55 18 7 17.55 6 17 6M18 14C19.1 14 20.1 14.4 20.8 15.2L22 14V18H18L19.8 16.2C19.3 15.8 18.7 15.5 18 15.5C16.6 15.5 15.5 16.6 15.5 18S16.6 20.5 18 20.5C18.8 20.5 19.5 20.1 20 19.5H21.7C21.1 21 19.7 22 18 22C15.8 22 14 20.2 14 18S15.8 14 18 14Z\";\r\nexport var mdiSourceBranchRemove = \"M13 14C9.64 14 8.54 15.35 8.18 16.24C9.25 16.7 10 17.76 10 19C10 20.66 8.66 22 7 22S4 20.66 4 19C4 17.69 4.83 16.58 6 16.17V7.83C4.83 7.42 4 6.31 4 5C4 3.34 5.34 2 7 2S10 3.34 10 5C10 6.31 9.17 7.42 8 7.83V13.12C8.88 12.47 10.16 12 12 12C14.67 12 15.56 10.66 15.85 9.77C14.77 9.32 14 8.25 14 7C14 5.34 15.34 4 17 4S20 5.34 20 7C20 8.34 19.12 9.5 17.91 9.86C17.65 11.29 16.68 14 13 14M7 18C6.45 18 6 18.45 6 19S6.45 20 7 20 8 19.55 8 19 7.55 18 7 18M7 4C6.45 4 6 4.45 6 5S6.45 6 7 6 8 5.55 8 5 7.55 4 7 4M17 6C16.45 6 16 6.45 16 7S16.45 8 17 8 18 7.55 18 7 17.55 6 17 6M20.12 14.46L18 16.59L15.88 14.47L14.47 15.88L16.59 18L14.47 20.12L15.88 21.54L18 19.41L20.12 21.54L21.54 20.12L19.41 18L21.54 15.88L20.12 14.46Z\";\r\nexport var mdiSourceBranchSync = \"M13 14C9.64 14 8.54 15.35 8.18 16.24C9.25 16.7 10 17.76 10 19C10 20.66 8.66 22 7 22S4 20.66 4 19C4 17.69 4.83 16.58 6 16.17V7.83C4.83 7.42 4 6.31 4 5C4 3.34 5.34 2 7 2S10 3.34 10 5C10 6.31 9.17 7.42 8 7.83V13.12C8.88 12.47 10.16 12 12 12C14.67 12 15.56 10.66 15.85 9.77C14.77 9.32 14 8.25 14 7C14 5.34 15.34 4 17 4S20 5.34 20 7C20 8.34 19.12 9.5 17.91 9.86C17.65 11.29 16.68 14 13 14M7 18C6.45 18 6 18.45 6 19S6.45 20 7 20 8 19.55 8 19 7.55 18 7 18M7 4C6.45 4 6 4.45 6 5S6.45 6 7 6 8 5.55 8 5 7.55 4 7 4M17 6C16.45 6 16 6.45 16 7S16.45 8 17 8 18 7.55 18 7 17.55 6 17 6M18 13V14.5C20.21 14.5 22 16.29 22 18.5C22 19.32 21.75 20.08 21.33 20.71L20.24 19.62C20.41 19.28 20.5 18.9 20.5 18.5C20.5 17.12 19.38 16 18 16V17.5L15.75 15.25L15.72 15.22C15.78 15.17 15.85 15.13 18 13M18 24V22.5C15.79 22.5 14 20.71 14 18.5C14 17.68 14.25 16.92 14.67 16.29L15.76 17.38C15.59 17.72 15.5 18.1 15.5 18.5C15.5 19.88 16.62 21 18 21V19.5L20.25 21.75L20.28 21.78C20.22 21.83 20.15 21.87 18 24\";\r\nexport var mdiSourceCommit = \"M17,12C17,14.42 15.28,16.44 13,16.9V21H11V16.9C8.72,16.44 7,14.42 7,12C7,9.58 8.72,7.56 11,7.1V3H13V7.1C15.28,7.56 17,9.58 17,12M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z\";\r\nexport var mdiSourceCommitEnd = \"M17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12C7,9.58 8.72,7.56 11,7.1V3H13V7.1C15.28,7.56 17,9.58 17,12M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z\";\r\nexport var mdiSourceCommitEndLocal = \"M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M11,5V3H13V5H11Z\";\r\nexport var mdiSourceCommitLocal = \"M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M11,5V3H13V5H11M11,21V19H13V21H11Z\";\r\nexport var mdiSourceCommitNextLocal = \"M17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12C7,9.58 8.72,7.56 11,7.1V3H13V7.1C15.28,7.56 17,9.58 17,12M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M11,21V19H13V21H11Z\";\r\nexport var mdiSourceCommitStart = \"M12,7A5,5 0 0,1 17,12C17,14.42 15.28,16.44 13,16.9V21H11V16.9C8.72,16.44 7,14.42 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z\";\r\nexport var mdiSourceCommitStartNextLocal = \"M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M11,21V19H13V21H11Z\";\r\nexport var mdiSourceFork = \"M6,2A3,3 0 0,1 9,5C9,6.28 8.19,7.38 7.06,7.81C7.15,8.27 7.39,8.83 8,9.63C9,10.92 11,12.83 12,14.17C13,12.83 15,10.92 16,9.63C16.61,8.83 16.85,8.27 16.94,7.81C15.81,7.38 15,6.28 15,5A3,3 0 0,1 18,2A3,3 0 0,1 21,5C21,6.32 20.14,7.45 18.95,7.85C18.87,8.37 18.64,9 18,9.83C17,11.17 15,13.08 14,14.38C13.39,15.17 13.15,15.73 13.06,16.19C14.19,16.62 15,17.72 15,19A3,3 0 0,1 12,22A3,3 0 0,1 9,19C9,17.72 9.81,16.62 10.94,16.19C10.85,15.73 10.61,15.17 10,14.38C9,13.08 7,11.17 6,9.83C5.36,9 5.13,8.37 5.05,7.85C3.86,7.45 3,6.32 3,5A3,3 0 0,1 6,2M6,4A1,1 0 0,0 5,5A1,1 0 0,0 6,6A1,1 0 0,0 7,5A1,1 0 0,0 6,4M18,4A1,1 0 0,0 17,5A1,1 0 0,0 18,6A1,1 0 0,0 19,5A1,1 0 0,0 18,4M12,18A1,1 0 0,0 11,19A1,1 0 0,0 12,20A1,1 0 0,0 13,19A1,1 0 0,0 12,18Z\";\r\nexport var mdiSourceMerge = \"M7,3A3,3 0 0,1 10,6C10,7.29 9.19,8.39 8.04,8.81C8.58,13.81 13.08,14.77 15.19,14.96C15.61,13.81 16.71,13 18,13A3,3 0 0,1 21,16A3,3 0 0,1 18,19C16.69,19 15.57,18.16 15.16,17C10.91,16.8 9.44,15.19 8,13.39V15.17C9.17,15.58 10,16.69 10,18A3,3 0 0,1 7,21A3,3 0 0,1 4,18C4,16.69 4.83,15.58 6,15.17V8.83C4.83,8.42 4,7.31 4,6A3,3 0 0,1 7,3M7,5A1,1 0 0,0 6,6A1,1 0 0,0 7,7A1,1 0 0,0 8,6A1,1 0 0,0 7,5M7,17A1,1 0 0,0 6,18A1,1 0 0,0 7,19A1,1 0 0,0 8,18A1,1 0 0,0 7,17M18,15A1,1 0 0,0 17,16A1,1 0 0,0 18,17A1,1 0 0,0 19,16A1,1 0 0,0 18,15Z\";\r\nexport var mdiSourcePull = \"M6,3A3,3 0 0,1 9,6C9,7.31 8.17,8.42 7,8.83V15.17C8.17,15.58 9,16.69 9,18A3,3 0 0,1 6,21A3,3 0 0,1 3,18C3,16.69 3.83,15.58 5,15.17V8.83C3.83,8.42 3,7.31 3,6A3,3 0 0,1 6,3M6,5A1,1 0 0,0 5,6A1,1 0 0,0 6,7A1,1 0 0,0 7,6A1,1 0 0,0 6,5M6,17A1,1 0 0,0 5,18A1,1 0 0,0 6,19A1,1 0 0,0 7,18A1,1 0 0,0 6,17M21,18A3,3 0 0,1 18,21A3,3 0 0,1 15,18C15,16.69 15.83,15.58 17,15.17V7H15V10.25L10.75,6L15,1.75V5H17A2,2 0 0,1 19,7V15.17C20.17,15.58 21,16.69 21,18M18,17A1,1 0 0,0 17,18A1,1 0 0,0 18,19A1,1 0 0,0 19,18A1,1 0 0,0 18,17Z\";\r\nexport var mdiSourceRepository = \"M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M12.75,13.5C15.5,13.5 16.24,11.47 16.43,10.4C17.34,10.11 18,9.26 18,8.25C18,7 17,6 15.75,6C14.5,6 13.5,7 13.5,8.25C13.5,9.19 14.07,10 14.89,10.33C14.67,11 14,12 12,12C10.62,12 9.66,12.35 9,12.84V8.87C9.87,8.56 10.5,7.73 10.5,6.75C10.5,5.5 9.5,4.5 8.25,4.5C7,4.5 6,5.5 6,6.75C6,7.73 6.63,8.56 7.5,8.87V15.13C6.63,15.44 6,16.27 6,17.25C6,18.5 7,19.5 8.25,19.5C9.5,19.5 10.5,18.5 10.5,17.25C10.5,16.32 9.94,15.5 9.13,15.18C9.41,14.5 10.23,13.5 12.75,13.5M8.25,16.5A0.75,0.75 0 0,1 9,17.25A0.75,0.75 0 0,1 8.25,18A0.75,0.75 0 0,1 7.5,17.25A0.75,0.75 0 0,1 8.25,16.5M8.25,6A0.75,0.75 0 0,1 9,6.75A0.75,0.75 0 0,1 8.25,7.5A0.75,0.75 0 0,1 7.5,6.75A0.75,0.75 0 0,1 8.25,6M15.75,7.5A0.75,0.75 0 0,1 16.5,8.25A0.75,0.75 0 0,1 15.75,9A0.75,0.75 0 0,1 15,8.25A0.75,0.75 0 0,1 15.75,7.5Z\";\r\nexport var mdiSourceRepositoryMultiple = \"M8,0H20A2,2 0 0,1 22,2V18A2,2 0 0,1 20,20H8A2,2 0 0,1 6,18V2A2,2 0 0,1 8,0M14.75,11.5C17.5,11.5 18.24,9.47 18.43,8.4C19.34,8.11 20,7.26 20,6.25C20,5 19,4 17.75,4C16.5,4 15.5,5 15.5,6.25C15.5,7.19 16.07,8 16.89,8.33C16.67,9 16,10 14,10C12.62,10 11.66,10.35 11,10.84V6.87C11.87,6.56 12.5,5.73 12.5,4.75C12.5,3.5 11.5,2.5 10.25,2.5C9,2.5 8,3.5 8,4.75C8,5.73 8.63,6.56 9.5,6.87V13.13C8.63,13.44 8,14.27 8,15.25C8,16.5 9,17.5 10.25,17.5C11.5,17.5 12.5,16.5 12.5,15.25C12.5,14.32 11.94,13.5 11.13,13.18C11.41,12.5 12.23,11.5 14.75,11.5M10.25,14.5A0.75,0.75 0 0,1 11,15.25A0.75,0.75 0 0,1 10.25,16A0.75,0.75 0 0,1 9.5,15.25A0.75,0.75 0 0,1 10.25,14.5M10.25,4A0.75,0.75 0 0,1 11,4.75A0.75,0.75 0 0,1 10.25,5.5A0.75,0.75 0 0,1 9.5,4.75A0.75,0.75 0 0,1 10.25,4M17.75,5.5A0.75,0.75 0 0,1 18.5,6.25A0.75,0.75 0 0,1 17.75,7A0.75,0.75 0 0,1 17,6.25A0.75,0.75 0 0,1 17.75,5.5M16,22V24H4A2,2 0 0,1 2,22V6H4V22H16Z\";\r\nexport var mdiSoySauce = \"M13.9,7.5C13.9,6.8 14.1,6.3 14.2,6H14.8L15.7,3.5H16.5V2H7.5V3.5H8.3L9.2,6H9.8C10,6.3 10.1,6.8 10.1,7.5C10.1,8.8 6,13.7 6,17.6V19.6C6,21 8.7,21.9 12,21.9C15.3,21.9 18,21 18,19.6V17.6C18,13.7 13.9,8.8 13.9,7.5M12,15A2,2 0 0,1 10,13A2,2 0 0,1 12,11A2,2 0 0,1 14,13A2,2 0 0,1 12,15Z\";\r\nexport var mdiSoySauceOff = \"M22.1 21.5L2.4 1.7L1.1 3L8.6 10.5C7.5 12.6 6 15.3 6 17.6V19.6C6 21 8.7 21.9 12 21.9C15.1 21.9 17.7 21.1 18 19.9L20.9 22.8L22.1 21.5M12 15C10.9 15 10 14.1 10 13C10 12.7 10.1 12.4 10.2 12.1L12.9 14.8C12.6 14.9 12.3 15 12 15M8.3 3.5H7.5V2H16.5V3.5H15.7L14.8 6H14.2C14.1 6.3 13.9 6.8 13.9 7.5C13.9 8.4 15.9 11 17.1 13.9L10.1 6.9C10 6.5 9.9 6.2 9.8 6H9.2L8.3 3.5Z\";\r\nexport var mdiSpa = \"M15.5,9.63C15.31,6.84 14.18,4.12 12.06,2C9.92,4.14 8.74,6.86 8.5,9.63C9.79,10.31 10.97,11.19 12,12.26C13.03,11.2 14.21,10.32 15.5,9.63M12,15.45C9.85,12.17 6.18,10 2,10C2,20 11.32,21.89 12,22C12.68,21.88 22,20 22,10C17.82,10 14.15,12.17 12,15.45Z\";\r\nexport var mdiSpaOutline = \"M15.5,9.63C14.21,10.32 13.03,11.2 12,12.26C10.97,11.19 9.79,10.31 8.5,9.63C8.74,6.86 9.92,4.14 12.06,2C14.18,4.12 15.31,6.84 15.5,9.63M12,15.45C14.15,12.17 17.82,10 22,10C22,20 12.68,21.88 12,22C11.32,21.89 2,20 2,10C6.18,10 9.85,12.17 12,15.45M12.05,5.19C11.39,6.23 10.93,7.38 10.68,8.58L12,9.55L13.35,8.57C13.12,7.37 12.68,6.22 12.05,5.19M12,19.97C12,19.97 18,19 19.74,12.25C14,14 12,19.1 12,19.1C12,19.1 9,13 4.26,12.26C6,19 12,19.97 12,19.97Z\";\r\nexport var mdiSpaceInvaders = \"M7,6H5V4H7V6M17,6H19V4H17V6M23,12V18H21V14H19V18H17V16H7V18H5V14H3V18H1V12H3V10H5V8H7V6H9V8H15V6H17V8H19V10H21V12H23M15,10V12H17V10H15M7,12H9V10H7V12M11,18H7V20H11V18M17,18H13V20H17V18Z\";\r\nexport var mdiSpaceStation = \"M15.5 19V21H13.73C13.39 21.6 12.74 22 12 22C11.26 22 10.61 21.6 10.27 21H8.5V19H10.27C10.44 18.7 10.7 18.44 11 18.27V17H10C9.45 17 9 16.55 9 16V13H6V17C6 17.55 5.55 18 5 18H3C2.45 18 2 17.55 2 17V8C2 7.45 2.45 7 3 7H5C5.55 7 6 7.45 6 8V11H9V8C9 7.45 9.45 7 10 7H11V6H10C9.45 6 9 5.55 9 5V4C9 3.45 9.45 3 10 3H14C14.55 3 15 3.45 15 4V5C15 5.55 14.55 6 14 6H13V7H14C14.55 7 15 7.45 15 8V11H18V8C18 7.45 18.45 7 19 7H21C21.55 7 22 7.45 22 8V17C22 17.55 21.55 18 21 18H19C18.45 18 18 17.55 18 17V13H15V16C15 16.55 14.55 17 14 17H13V18.27C13.3 18.44 13.56 18.7 13.73 19H15.5M3 16V17H5V16H3M3 14V15H5V14H3M3 12V13H5V12H3M3 10V11H5V10H3M3 8V9H5V8H3M19 16V17H21V16H19M19 14V15H21V14H19M19 12V13H21V12H19M19 10V11H21V10H19M19 8V9H21V8H19Z\";\r\nexport var mdiSpade = \"M15.71,1.22L12.88,4.05C12.1,4.83 12.1,6.09 12.88,6.87L14.3,8.29L10.06,12.53L7.58,10.06L1.22,16.42L7.58,22.78L13.94,16.42L11.47,13.94L15.71,9.7L17.13,11.12C17.91,11.9 19.17,11.9 19.95,11.12L22.78,8.29L15.71,1.22M15.71,4.05L19.95,8.29L18.54,9.7L14.3,5.46L15.71,4.05Z\";\r\nexport var mdiSpeaker = \"M12,12A3,3 0 0,0 9,15A3,3 0 0,0 12,18A3,3 0 0,0 15,15A3,3 0 0,0 12,12M12,20A5,5 0 0,1 7,15A5,5 0 0,1 12,10A5,5 0 0,1 17,15A5,5 0 0,1 12,20M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8C10.89,8 10,7.1 10,6C10,4.89 10.89,4 12,4M17,2H7C5.89,2 5,2.89 5,4V20A2,2 0 0,0 7,22H17A2,2 0 0,0 19,20V4C19,2.89 18.1,2 17,2Z\";\r\nexport var mdiSpeakerBluetooth = \"M4,3A2,2 0 0,0 2,5V19A2,2 0 0,0 4,21H12A2,2 0 0,0 14,19V5A2,2 0 0,0 12,3H4M8,5A2,2 0 0,1 10,7A2,2 0 0,1 8,9A2,2 0 0,1 6,7A2,2 0 0,1 8,5M19,7V10.79L16.71,8.5L16,9.21L18.79,12L16,14.79L16.71,15.5L19,13.21V17H19.5L22.35,14.14L20.21,12L22.35,9.85L19.5,7H19M20,8.91L20.94,9.85L20,10.79V8.91M8,11A4,4 0 0,1 12,15A4,4 0 0,1 8,19A4,4 0 0,1 4,15A4,4 0 0,1 8,11M8,13A2,2 0 0,0 6,15A2,2 0 0,0 8,17A2,2 0 0,0 10,15A2,2 0 0,0 8,13M20,13.21L20.94,14.14L20,15.08V13.21Z\";\r\nexport var mdiSpeakerMultiple = \"M14,10A3,3 0 0,0 11,13A3,3 0 0,0 14,16A3,3 0 0,0 17,13A3,3 0 0,0 14,10M14,18A5,5 0 0,1 9,13A5,5 0 0,1 14,8A5,5 0 0,1 19,13A5,5 0 0,1 14,18M14,2A2,2 0 0,1 16,4A2,2 0 0,1 14,6A2,2 0 0,1 12,4A2,2 0 0,1 14,2M19,0H9A2,2 0 0,0 7,2V18A2,2 0 0,0 9,20H19A2,2 0 0,0 21,18V2A2,2 0 0,0 19,0M5,22H17V24H5A2,2 0 0,1 3,22V4H5\";\r\nexport var mdiSpeakerOff = \"M2,5.27L3.28,4L21,21.72L19.73,23L18.27,21.54C17.93,21.83 17.5,22 17,22H7C5.89,22 5,21.1 5,20V8.27L2,5.27M12,18A3,3 0 0,1 9,15C9,14.24 9.28,13.54 9.75,13L8.33,11.6C7.5,12.5 7,13.69 7,15A5,5 0 0,0 12,20C13.31,20 14.5,19.5 15.4,18.67L14,17.25C13.45,17.72 12.76,18 12,18M17,15A5,5 0 0,0 12,10H11.82L5.12,3.3C5.41,2.54 6.14,2 7,2H17A2,2 0 0,1 19,4V17.18L17,15.17V15M12,4C10.89,4 10,4.89 10,6A2,2 0 0,0 12,8A2,2 0 0,0 14,6C14,4.89 13.1,4 12,4Z\";\r\nexport var mdiSpeakerWireless = \"M20.07,19.07L18.66,17.66C20.11,16.22 21,14.21 21,12C21,9.78 20.11,7.78 18.66,6.34L20.07,4.93C21.88,6.74 23,9.24 23,12C23,14.76 21.88,17.26 20.07,19.07M17.24,16.24L15.83,14.83C16.55,14.11 17,13.11 17,12C17,10.89 16.55,9.89 15.83,9.17L17.24,7.76C18.33,8.85 19,10.35 19,12C19,13.65 18.33,15.15 17.24,16.24M4,3H12A2,2 0 0,1 14,5V19A2,2 0 0,1 12,21H4A2,2 0 0,1 2,19V5A2,2 0 0,1 4,3M8,5A2,2 0 0,0 6,7A2,2 0 0,0 8,9A2,2 0 0,0 10,7A2,2 0 0,0 8,5M8,11A4,4 0 0,0 4,15A4,4 0 0,0 8,19A4,4 0 0,0 12,15A4,4 0 0,0 8,11M8,13A2,2 0 0,1 10,15A2,2 0 0,1 8,17A2,2 0 0,1 6,15A2,2 0 0,1 8,13Z\";\r\nexport var mdiSpeedometer = \"M12,16A3,3 0 0,1 9,13C9,11.88 9.61,10.9 10.5,10.39L20.21,4.77L14.68,14.35C14.18,15.33 13.17,16 12,16M12,3C13.81,3 15.5,3.5 16.97,4.32L14.87,5.53C14,5.19 13,5 12,5A8,8 0 0,0 4,13C4,15.21 4.89,17.21 6.34,18.65H6.35C6.74,19.04 6.74,19.67 6.35,20.06C5.96,20.45 5.32,20.45 4.93,20.07V20.07C3.12,18.26 2,15.76 2,13A10,10 0 0,1 12,3M22,13C22,15.76 20.88,18.26 19.07,20.07V20.07C18.68,20.45 18.05,20.45 17.66,20.06C17.27,19.67 17.27,19.04 17.66,18.65V18.65C19.11,17.2 20,15.21 20,13C20,12 19.81,11 19.46,10.1L20.67,8C21.5,9.5 22,11.18 22,13Z\";\r\nexport var mdiSpeedometerMedium = \"M12 1.38L9.14 12.06C8.8 13.1 9.04 14.29 9.86 15.12C11.04 16.29 12.94 16.29 14.11 15.12C14.9 14.33 15.16 13.2 14.89 12.21M14.6 3.35L15.22 5.68C18.04 6.92 20 9.73 20 13C20 15.21 19.11 17.21 17.66 18.65H17.65C17.26 19.04 17.26 19.67 17.65 20.06C18.04 20.45 18.68 20.45 19.07 20.07C20.88 18.26 22 15.76 22 13C22 8.38 18.86 4.5 14.6 3.35M9.4 3.36C5.15 4.5 2 8.4 2 13C2 15.76 3.12 18.26 4.93 20.07C5.32 20.45 5.95 20.45 6.34 20.06C6.73 19.67 6.73 19.04 6.34 18.65C4.89 17.2 4 15.21 4 13C4 9.65 5.94 6.86 8.79 5.65\";\r\nexport var mdiSpeedometerSlow = \"M12 16C13.66 16 15 14.66 15 13C15 11.88 14.39 10.9 13.5 10.39L3.79 4.77L9.32 14.35C9.82 15.33 10.83 16 12 16M12 3C10.19 3 8.5 3.5 7.03 4.32L9.13 5.53C10 5.19 11 5 12 5C16.42 5 20 8.58 20 13C20 15.21 19.11 17.21 17.66 18.65H17.65C17.26 19.04 17.26 19.67 17.65 20.06C18.04 20.45 18.68 20.45 19.07 20.07C20.88 18.26 22 15.76 22 13C22 7.5 17.5 3 12 3M2 13C2 15.76 3.12 18.26 4.93 20.07C5.32 20.45 5.95 20.45 6.34 20.06C6.73 19.67 6.73 19.04 6.34 18.65C4.89 17.2 4 15.21 4 13C4 12 4.19 11 4.54 10.1L3.33 8C2.5 9.5 2 11.18 2 13Z\";\r\nexport var mdiSpellcheck = \"M21.59,11.59L13.5,19.68L9.83,16L8.42,17.41L13.5,22.5L23,13M6.43,11L8.5,5.5L10.57,11M12.45,16H14.54L9.43,3H7.57L2.46,16H4.55L5.67,13H11.31L12.45,16Z\";\r\nexport var mdiSpider = \"M21.29 16.71L22.71 15.29L19.5 12.11L16.5 11.26L18.41 11L22.6 7.8L21.4 6.2L17.59 9.05L14.91 9.5L18.11 6.31L17 1.76L15 2.24L15.86 5.69L14.76 6.83A3 3 0 0 0 9.24 6.83L8.11 5.69L9 2.24L7 1.76L5.89 6.31L9.09 9.5L6.4 9.05L2.6 6.2L1.4 7.8L5.6 11L7.46 11.31L4.46 12.16L1.29 15.29L2.71 16.71L5.5 13.89L7.87 13.22L4 16.54V22H6V17.46L7.56 16.12A4.5 4.5 0 0 0 16.44 16.12L18 17.46V22H20V16.54L16.13 13.22L18.5 13.89Z\";\r\nexport var mdiSpiderThread = \"M13 2V7.08A5.47 5.47 0 0 0 12 7A5.47 5.47 0 0 0 11 7.08V2M16.9 15A5 5 0 0 1 16.73 15.55L20 17.42V22H18V18.58L15.74 17.29A4.94 4.94 0 0 1 8.26 17.29L6 18.58V22H4V17.42L7.27 15.55A5 5 0 0 1 7.1 15H5.3L2.55 16.83L1.45 15.17L4.7 13H7.1A5 5 0 0 1 7.37 12.12L5.81 11.12L2.24 12L1.76 10L6.19 8.92L8.5 10.45A5 5 0 0 1 15.5 10.45L17.77 8.92L22.24 10L21.76 12L18.19 11.11L16.63 12.11A5 5 0 0 1 16.9 13H19.3L22.55 15.16L21.45 16.82L18.7 15M11 14A1 1 0 1 0 10 15A1 1 0 0 0 11 14M15 14A1 1 0 1 0 14 15A1 1 0 0 0 15 14Z\";\r\nexport var mdiSpiderWeb = \"M13.62,13.28L15.26,15.54C15.29,15 15.38,14.47 15.56,13.93C15.74,13.37 16,12.86 16.3,12.41L13.62,13.28M17.77,19C17.75,17.68 17.95,16.27 18.41,14.85C18.88,13.42 19.56,12.14 20.36,11.09L18.32,11.75C17.54,12.26 16.87,13.14 16.5,14.23C16.17,15.29 16.18,16.36 16.5,17.22L17.77,19M19.25,21C18.75,21.46 18.21,21.86 17.63,22.2L17.31,21.76C15.9,21 14.04,20.5 12,20.5C9.96,20.5 8.1,21 6.69,21.76L6.37,22.2C5.79,21.86 5.25,21.46 4.75,21L5,20.69C5.33,19.08 5.22,17.12 4.58,15.14C3.94,13.19 2.9,11.56 1.71,10.46L1.27,10.32C1.42,9.66 1.63,9 1.89,8.41L2.29,8.54C3.92,8.37 5.74,7.65 7.43,6.43C9.09,5.22 10.32,3.73 11,2.26V1.79L12,1.75L13,1.79V2.21C13.67,3.71 14.91,5.23 16.6,6.45C18.26,7.66 20.06,8.37 21.67,8.56L22.11,8.41C22.37,9 22.58,9.66 22.73,10.32L22.23,10.5C21.04,11.58 20,13.21 19.37,15.16C18.74,17.09 18.62,19 18.92,20.57L19.25,21M11,11.37V8.5C10.66,8.92 10.26,9.32 9.78,9.67C9.29,10 8.77,10.29 8.25,10.5L11,11.37M11,4.22C10.25,5.31 9.24,6.35 8,7.24C6.78,8.14 5.46,8.78 4.18,9.16L6.15,9.8C7.11,9.88 8.22,9.56 9.19,8.86C10.13,8.18 10.76,7.27 11,6.36V4.22M13,11.37L15.74,10.5C15.23,10.3 14.72,10.03 14.25,9.69C13.76,9.33 13.34,8.92 13,8.5V11.37M19.8,9.16C18.53,8.78 17.23,8.15 16,7.26C14.77,6.36 13.76,5.31 13,4.2V6.27C13.22,7.21 13.86,8.17 14.84,8.88C15.77,9.56 16.83,9.87 17.77,9.82L19.8,9.16M10.38,13.28L7.64,12.39C7.95,12.84 8.2,13.35 8.38,13.91C8.57,14.5 8.66,15.06 8.68,15.62L10.38,13.28M3.58,11.07C4.38,12.12 5.06,13.4 5.53,14.83C6,16.29 6.2,17.74 6.17,19.08L7.38,17.41C7.76,16.5 7.8,15.36 7.43,14.22C7.07,13.12 6.4,12.24 5.61,11.73L3.58,11.07M12,14.45L10.35,16.72C10.87,16.58 11.42,16.5 12,16.5C12.58,16.5 13.13,16.58 13.65,16.72L12,14.45M7.84,20.18C9.08,19.75 10.5,19.5 12,19.5C13.5,19.5 14.92,19.75 16.16,20.18L14.88,18.42C14.16,17.85 13.13,17.5 12,17.5C10.87,17.5 9.84,17.85 9.12,18.42L7.84,20.18Z\";\r\nexport var mdiSpiritLevel = \"M22 8H2V16H22V8M18 14V10H20V14H18M11 12H13C14.1 12 15 11.11 15 10H17V14H7V10H9C9 11.11 9.9 12 11 12M4 14V10H6V14H4Z\";\r\nexport var mdiSpoonSugar = \"M6 13H3V10H6V13M10 10H7V13H10V10M8 6H5V9H8V6M18 12C14.25 12 12.28 13.25 11 14H2C2 16.21 3.79 18 6 18H7C8 18 8.92 17.63 9.62 17C11.06 15.78 12.68 14.74 14.55 14.36C15.61 14.15 16.78 14 18 14H22V12H18Z\";\r\nexport var mdiSpotify = \"M17.9,10.9C14.7,9 9.35,8.8 6.3,9.75C5.8,9.9 5.3,9.6 5.15,9.15C5,8.65 5.3,8.15 5.75,8C9.3,6.95 15.15,7.15 18.85,9.35C19.3,9.6 19.45,10.2 19.2,10.65C18.95,11 18.35,11.15 17.9,10.9M17.8,13.7C17.55,14.05 17.1,14.2 16.75,13.95C14.05,12.3 9.95,11.8 6.8,12.8C6.4,12.9 5.95,12.7 5.85,12.3C5.75,11.9 5.95,11.45 6.35,11.35C10,10.25 14.5,10.8 17.6,12.7C17.9,12.85 18.05,13.35 17.8,13.7M16.6,16.45C16.4,16.75 16.05,16.85 15.75,16.65C13.4,15.2 10.45,14.9 6.95,15.7C6.6,15.8 6.3,15.55 6.2,15.25C6.1,14.9 6.35,14.6 6.65,14.5C10.45,13.65 13.75,14 16.35,15.6C16.7,15.75 16.75,16.15 16.6,16.45M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiSpotlight = \"M2,6L7.09,8.55C6.4,9.5 6,10.71 6,12C6,13.29 6.4,14.5 7.09,15.45L2,18V6M6,3H18L15.45,7.09C14.5,6.4 13.29,6 12,6C10.71,6 9.5,6.4 8.55,7.09L6,3M22,6V18L16.91,15.45C17.6,14.5 18,13.29 18,12C18,10.71 17.6,9.5 16.91,8.55L22,6M18,21H6L8.55,16.91C9.5,17.6 10.71,18 12,18C13.29,18 14.5,17.6 15.45,16.91L18,21M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\r\nexport var mdiSpotlightBeam = \"M9,16.5L9.91,15.59L15.13,20.8L14.21,21.71L9,16.5M15.5,10L16.41,9.09L21.63,14.3L20.71,15.21L15.5,10M6.72,2.72L10.15,6.15L6.15,10.15L2.72,6.72C1.94,5.94 1.94,4.67 2.72,3.89L3.89,2.72C4.67,1.94 5.94,1.94 6.72,2.72M14.57,7.5L15.28,8.21L8.21,15.28L7.5,14.57L6.64,11.07L11.07,6.64L14.57,7.5Z\";\r\nexport var mdiSpray = \"M10,4H12V6H10V4M7,3H9V5H7V3M7,6H9V8H7V6M6,8V10H4V8H6M6,5V7H4V5H6M6,2V4H4V2H6M13,22A2,2 0 0,1 11,20V10A2,2 0 0,1 13,8V7H14V4H17V7H18V8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H13M13,10V20H18V10H13Z\";\r\nexport var mdiSprayBottle = \"M12,7H15C15.66,7.64 16,8.31 16,9V22H8V15C8,14.72 8.11,14.39 8.3,14L12,7M16,4L15,6H12V5L10,7H9L10,5V4H9V2H14.5A1.5,1.5 0 0,1 16,3.5V4Z\";\r\nexport var mdiSprinkler = \"M11 7H13V9H11V7M5 22H9V10H5V22M14 11H16V9H14V11M17 10H19V8H17V10M17 5V7H19V5H17M14 8H16V6H14V8M17 13H19V11H17V13M5 7H5.33L6 9H8L8.67 7H9V6H5V7Z\";\r\nexport var mdiSprinklerVariant = \"M10 10H14V22H10V10M7 9H9V7H7V9M4 8H6V6H4V8M4 11H6V9H4V11M1 13H3V11H1V13M1 7H3V5H1V7M1 10H3V8H1V10M18 11H20V9H18V11M21 10H23V8H21V10M21 5V7H23V5H21M21 13H23V11H21V13M15 9H17V7H15V9M18 8H20V6H18V8M10 7H10.33L11 9H13L13.67 7H14V6H10V7Z\";\r\nexport var mdiSprout = \"M2,22V20C2,20 7,18 12,18C17,18 22,20 22,20V22H2M11.3,9.1C10.1,5.2 4,6.1 4,6.1C4,6.1 4.2,13.9 9.9,12.7C9.5,9.8 8,9 8,9C10.8,9 11,12.4 11,12.4V17C11.3,17 11.7,17 12,17C12.3,17 12.7,17 13,17V12.8C13,12.8 13,8.9 16,7.9C16,7.9 14,10.9 14,12.9C21,13.6 21,4 21,4C21,4 12.1,3 11.3,9.1Z\";\r\nexport var mdiSproutOutline = \"M23,4.1V2.3L21.2,2.1C21.1,2.1 20.5,2 19.5,2C15.4,2 12.4,3.2 10.7,5.3C9.4,4.5 7.6,4 5.5,4C4.5,4 3.8,4.1 3.8,4.1L1.9,4.4L2,6.1C2.1,9.1 3.6,14.8 8.8,14.8C8.9,14.8 8.9,14.8 9,14.8V18.2C5.2,18.7 2,20 2,20V22H22V20C22,20 18.8,18.7 15,18.2V15C21.3,14.9 23,7.8 23,4.1M12,18C11.7,18 11.3,18 11,18V12.4C11,12.4 10.8,9 8,9C8,9 9.5,9.8 9.9,12.7C9.5,12.8 9.1,12.8 8.8,12.8C4.2,12.8 4,6.1 4,6.1C4,6.1 4.6,6 5.5,6C7.4,6 10.5,6.4 11.4,9.1C11.9,4.6 17,4 19.5,4C20.4,4 21,4.1 21,4.1C21,4.1 21,13.1 14.7,13.1C14.5,13.1 14.2,13.1 14,13.1C14,11.1 16,8.1 16,8.1C13,9.1 13,13 13,13V18C12.7,18 12.3,18 12,18Z\";\r\nexport var mdiSquare = \"M3,3V21H21V3\";\r\nexport var mdiSquareCircle = \"M20 4V20H4V4H20M22 2H2V22H22V2M12 6C8.69 6 6 8.69 6 12S8.69 18 12 18 18 15.31 18 12 15.31 6 12 6Z\";\r\nexport var mdiSquareEditOutline = \"M5,3C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19H5V5H12V3H5M17.78,4C17.61,4 17.43,4.07 17.3,4.2L16.08,5.41L18.58,7.91L19.8,6.7C20.06,6.44 20.06,6 19.8,5.75L18.25,4.2C18.12,4.07 17.95,4 17.78,4M15.37,6.12L8,13.5V16H10.5L17.87,8.62L15.37,6.12Z\";\r\nexport var mdiSquareMedium = \"M16,8H8V16H16V8Z\";\r\nexport var mdiSquareMediumOutline = \"M14,10V14H10V10H14M16,8H8V16H16V8Z\";\r\nexport var mdiSquareOff = \"M20.84 22.73L19.11 21H3V4.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M21 3H6.2L21 17.8V3Z\";\r\nexport var mdiSquareOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L3 4.89V21H19.11L20.84 22.73L22.11 21.46M5 19V6.89L17.11 19H5M8.2 5L6.2 3H21V17.8L19 15.8V5H8.2Z\";\r\nexport var mdiSquareOutline = \"M3,3H21V21H3V3M5,5V19H19V5H5Z\";\r\nexport var mdiSquareRoot = \"M11.76,16.83L14.59,14L11.76,11.17L13.17,9.76L16,12.59L18.83,9.76L20.24,11.17L17.41,14L20.24,16.83L18.83,18.24L16,15.41L13.17,18.24L11.76,16.83M2,11H5V11H5L7.29,16.4L10,6H22V8H11.55L8.68,19H6.22L3.68,13H2V11Z\";\r\nexport var mdiSquareRootBox = \"M5,3C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5M11.24,6H19V8H12.76L10,18H8L6.25,12H5V10H7.75L9,14.28L11.24,6V6M14,10.59L15.79,12.38L17.59,10.59L19,12L17.21,13.79L19,15.59L17.59,17L15.79,15.21L14,17L12.59,15.59L14.38,13.79L12.59,12L14,10.59Z\";\r\nexport var mdiSquareRounded = \"M8 3H16C18.76 3 21 5.24 21 8V16C21 18.76 18.76 21 16 21H8C5.24 21 3 18.76 3 16V8C3 5.24 5.24 3 8 3Z\";\r\nexport var mdiSquareRoundedOutline = \"M8 3H16C18.76 3 21 5.24 21 8V16C21 18.76 18.76 21 16 21H8C5.24 21 3 18.76 3 16V8C3 5.24 5.24 3 8 3M8 5C6.34 5 5 6.34 5 8V16C5 17.66 6.34 19 8 19H16C17.66 19 19 17.66 19 16V8C19 6.34 17.66 5 16 5H8Z\";\r\nexport var mdiSquareSmall = \"M10,14V10H14V14H10Z\";\r\nexport var mdiSquareWave = \"M2 2V12H4V4H11V22H22V12H20V20H13V2H2Z\";\r\nexport var mdiSqueegee = \"M22,2V5H2V2H22M2,8H7L9,10H10V20A2,2 0 0,0 12,22A2,2 0 0,0 14,20V10H15L17,8H22V6H2V8Z\";\r\nexport var mdiSsh = \"M4.5,9C3.9,9 3.5,9.5 3.5,10V11.75C3.5,12.25 3.9,12.75 4.5,12.75H7V13.5H3.5V15H7.5C8.1,15 8.5,14.5 8.5,14V12.25C8.5,11.75 8.1,11.25 7.5,11.25H5V10.5H8.5V9H4.5M10.5,9C9.9,9 9.5,9.5 9.5,10V11.75C9.5,12.25 9.9,12.75 10.5,12.75H13V13.5H9.5V15H13.5C14.1,15 14.5,14.5 14.5,14V12.25C14.5,11.75 14.1,11.25 13.5,11.25H11V10.5H14.5V9H10.5M15.5,9V15H17V12.5H19V15H20.5V9H19V11H17V9H15.5Z\";\r\nexport var mdiStackExchange = \"M3.9 10.72H20V14.03H3.9V10.72M3.9 6.44H20V9.75H3.9V6.44M17.5 2H6.5C5.06 2 3.9 3.18 3.9 4.65V5.5H20V4.65C20 3.18 18.88 2 17.5 2M3.9 15V15.84C3.9 17.31 5.06 18.5 6.5 18.5H13.37V22L16.77 18.5H17.5C18.94 18.5 20.11 17.31 20.11 15.84V15H3.9Z\";\r\nexport var mdiStackOverflow = \"M17.36,20.2V14.82H19.15V22H3V14.82H4.8V20.2H17.36M6.77,14.32L7.14,12.56L15.93,14.41L15.56,16.17L6.77,14.32M7.93,10.11L8.69,8.5L16.83,12.28L16.07,13.9L7.93,10.11M10.19,6.12L11.34,4.74L18.24,10.5L17.09,11.87L10.19,6.12M14.64,1.87L20,9.08L18.56,10.15L13.2,2.94L14.64,1.87M6.59,18.41V16.61H15.57V18.41H6.59Z\";\r\nexport var mdiStackpath = \"M4.91 8C4.04 8 3.32 8.2 2.76 8.61C2.19 9 1.91 9.53 1.91 10.19C1.91 10.85 2.15 11.37 2.62 11.72C3.1 12.07 3.82 12.41 4.8 12.72C5.27 12.88 5.6 13.04 5.78 13.19C5.96 13.34 6.05 13.55 6.05 13.83C6.05 14.07 5.96 14.26 5.78 14.41C5.6 14.56 5.32 14.63 4.94 14.63C4.45 14.63 4.09 14.54 3.85 14.35C3.6 14.16 3.5 13.84 3.5 13.39H1.72L1.71 13.42C1.7 14.25 2 14.89 2.66 15.33C3.3 15.78 4.06 16 4.94 16C5.82 16 6.5 15.8 7.06 15.42C7.59 15.03 7.86 14.5 7.86 13.81C7.86 13.14 7.63 12.61 7.19 12.23C6.74 11.84 6.08 11.5 5.2 11.26C4.62 11.05 4.23 10.88 4 10.74C3.81 10.6 3.71 10.42 3.71 10.2C3.71 9.96 3.81 9.76 4 9.6C4.22 9.44 4.5 9.36 4.87 9.36C5.24 9.36 5.53 9.46 5.74 9.65C5.96 9.84 6.07 10.12 6.06 10.41H7.8L7.82 10.37C7.84 9.68 7.57 9.11 7 8.66C6.47 8.22 5.77 8 4.91 8M9 8.05V15.93H10.84V13.23H11.96C12.89 13.23 13.63 13 14.18 12.5C14.73 12.05 15 11.42 15 10.64C15 9.87 14.73 9.25 14.18 8.77C13.63 8.29 12.89 8.05 11.96 8.05H9M17.24 8.05L14.5 15.93H16.22L19 8.05M20.5 8.05L17.79 15.93H19.5L22.29 8.05M10.84 9.46H11.96C12.35 9.46 12.66 9.57 12.86 9.8C13.07 10 13.17 10.31 13.17 10.65C13.17 11 13.07 11.28 12.86 11.5C12.66 11.71 12.35 11.82 11.96 11.82H10.84\";\r\nexport var mdiStadium = \"M22 13.5V17.5C22 19.2 17.5 20.5 12 20.5C10.6 20.5 9.2 20.4 8 20.2V17.5L4 16.5V19.3C2.7 18.8 2 18.2 2 17.5V11.5C2 10.5 4 9.5 6 9.5C12 9.5 14 15 19 15C21 15 22 13.5 22 13.5M5 8L9 9V6L5 5V8M18 6.5L22 7.5V4.5L18 3.5V6.5M22.3 10.8C22.3 9.8 21.5 8 18.7 8S13.4 10.7 13.3 10.9C15.1 12.2 16.5 13.5 19 13.5C22.3 13.5 22.3 10.8 22.3 10.8Z\";\r\nexport var mdiStadiumVariant = \"M5,3H7L10,5L7,7V8.33C8.47,8.12 10.18,8 12,8C13.82,8 15.53,8.12 17,8.33V3H19L22,5L19,7V8.71C20.85,9.17 22,9.8 22,10.5C22,11.88 17.5,13 12,13C6.5,13 2,11.88 2,10.5C2,9.8 3.15,9.17 5,8.71V3M12,9.5C8.69,9.5 7,9.67 7,10.5C7,11.33 8.69,11.5 12,11.5C15.31,11.5 17,11.33 17,10.5C17,9.67 15.31,9.5 12,9.5M12,14.75C15.81,14.75 19.2,14.08 21.4,13.05L20,21H15V19A2,2 0 0,0 13,17H11A2,2 0 0,0 9,19V21H4L2.6,13.05C4.8,14.08 8.19,14.75 12,14.75Z\";\r\nexport var mdiStairs = \"M15,5V9H11V13H7V17H3V20H10V16H14V12H18V8H22V5H15Z\";\r\nexport var mdiStairsBox = \"M5 3C3.89 3 3 3.89 3 5V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3H5M14 7H19V9H16V12H13V15H10V18H5V16H8V13H11V10H14V7Z\";\r\nexport var mdiStairsDown = \"M15 6H22V9H18V13H14V17H10V21H3V18H7V14H11V10H15V6M4.83 8.34L10.34 2.83L12.17 4.66L6.66 10.17L8.5 12H3V6.5L4.83 8.34Z\";\r\nexport var mdiStairsUp = \"M15 6H22V9H18V13H14V17H10V21H3V18H7V14H11V10H15V6M10.17 6.66L4.66 12.17L2.83 10.34L8.34 4.83L6.5 3H12V8.5L10.17 6.66Z\";\r\nexport var mdiStamper = \"M12,3A3,3 0 0,0 9,6C9,9 14,13 6,13A2,2 0 0,0 4,15V17H20V15A2,2 0 0,0 18,13C10,13 15,9 15,6C15,4 13.66,3 12,3M6,19V21H18V19H6Z\";\r\nexport var mdiStandardDefinition = \"M13,7H16A3,3 0 0,1 19,10V14A3,3 0 0,1 16,17H13V7M16,15A1,1 0 0,0 17,14V10A1,1 0 0,0 16,9H15V15H16M7,7H11V9H7V11H9A2,2 0 0,1 11,13V15A2,2 0 0,1 9,17H5V15H9V13H7A2,2 0 0,1 5,11V9A2,2 0 0,1 7,7Z\";\r\nexport var mdiStar = \"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z\";\r\nexport var mdiStarBox = \"M19,3A2,2 0 0,1 21,5V19C21,20.11 20.1,21 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M15.58,17L14.63,12.92L17.79,10.19L13.62,9.83L12,6L10.38,9.84L6.21,10.2L9.37,12.93L8.42,17L12,14.84L15.58,17Z\";\r\nexport var mdiStarBoxMultiple = \"M4 6V20H18V22H3C2.4 22 2 21.6 2 21V6H4M8 2H20C21.11 2 22 2.9 22 4V16C22 17.11 21.11 18 20 18H8C6.9 18 6 17.11 6 16V4C6 2.9 6.9 2 8 2M16.3 13.3L15.9 10.7L17.8 8.8L15.2 8.4L14 6L12.8 8.4L10.2 8.8L12.1 10.6L11.6 13.2L14 12L16.3 13.3Z\";\r\nexport var mdiStarBoxMultipleOutline = \"M4 6V20H18V22H3C2.4 22 2 21.6 2 21V6H4M12.1 10.6L10.2 8.8L12.8 8.4L14 6L15.2 8.4L17.8 8.8L15.9 10.7L16.3 13.3L14 12L11.6 13.2L12.1 10.6M8 2H20C21.11 2 22 2.9 22 4V16C22 17.11 21.11 18 20 18H8C6.9 18 6 17.11 6 16V4C6 2.9 6.9 2 8 2M8 4V16H20V4H8Z\";\r\nexport var mdiStarBoxOutline = \"M15.58,17L12,14.84L8.42,17L9.37,12.93L6.21,10.2L10.38,9.84L12,6L13.62,9.83L17.79,10.19L14.63,12.92L15.58,17M19,3A2,2 0 0,1 21,5V19C21,20.11 20.1,21 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M5,5V19H19V5H5Z\";\r\nexport var mdiStarCheck = \"M5.8 21L7.4 14L2 9.2L9.2 8.6L12 2L14.8 8.6L22 9.2L18.8 12H18C14.9 12 12.4 14.3 12 17.3L5.8 21M17.8 21.2L22.6 16.4L21.3 15L17.7 18.6L16.2 17L15 18.2L17.8 21.2\";\r\nexport var mdiStarCheckOutline = \"M5.8 21L7.4 14L2 9.2L9.2 8.6L12 2L14.8 8.6L22 9.2L18.8 12H18C17.3 12 16.6 12.1 15.9 12.4L18.1 10.5L13.7 10.1L12 6.1L10.3 10.1L5.9 10.5L9.2 13.4L8.2 17.7L12 15.4L12.5 15.7C12.3 16.2 12.1 16.8 12.1 17.3L5.8 21M17.8 21.2L15 18.2L16.2 17L17.8 18.6L21.4 15L22.6 16.4L17.8 21.2\";\r\nexport var mdiStarCircle = \"M16.23,18L12,15.45L7.77,18L8.89,13.19L5.16,9.96L10.08,9.54L12,5L13.92,9.53L18.84,9.95L15.11,13.18L16.23,18M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiStarCircleOutline = \"M8.58,17.25L9.5,13.36L6.5,10.78L10.45,10.41L12,6.8L13.55,10.45L17.5,10.78L14.5,13.36L15.42,17.25L12,15.19L8.58,17.25M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiStarCog = \"M18.8 12C15.59 12.1 12.91 14.37 12.19 17.39L12 17.27L5.82 21L7.45 13.97L2 9.24L9.19 8.62L12 2L14.81 8.62L22 9.24L18.8 12M23.83 20.64L22.83 22.37C22.76 22.5 22.63 22.5 22.5 22.5L21.27 22C21 22.18 20.73 22.34 20.43 22.47L20.24 23.79C20.22 23.91 20.11 24 20 24H18C17.86 24 17.76 23.91 17.74 23.79L17.55 22.47C17.24 22.35 16.96 22.18 16.7 22L15.46 22.5C15.34 22.5 15.21 22.5 15.15 22.37L14.15 20.64C14.09 20.53 14.12 20.4 14.21 20.32L15.27 19.5C15.25 19.33 15.24 19.17 15.24 19S15.25 18.67 15.27 18.5L14.21 17.68C14.11 17.6 14.09 17.47 14.15 17.36L15.15 15.63C15.22 15.5 15.35 15.5 15.46 15.5L16.7 16C16.96 15.82 17.25 15.66 17.55 15.53L17.74 14.21C17.76 14.09 17.87 14 18 14H20C20.11 14 20.22 14.09 20.23 14.21L20.42 15.53C20.73 15.65 21 15.82 21.27 16L22.5 15.5C22.63 15.5 22.76 15.5 22.82 15.63L23.82 17.36C23.88 17.47 23.85 17.6 23.76 17.68L22.7 18.5C22.73 18.67 22.74 18.83 22.74 19S22.72 19.33 22.7 19.5L23.77 20.32C23.86 20.4 23.89 20.53 23.83 20.64M20.5 19C20.5 18.17 19.83 17.5 19 17.5S17.5 18.17 17.5 19 18.16 20.5 19 20.5C19.83 20.5 20.5 19.83 20.5 19Z\";\r\nexport var mdiStarCogOutline = \"M10.29 10.13L5.91 10.5L9.23 13.38L8.24 17.66L12 15.39L12.76 15.85C12.5 16.33 12.32 16.85 12.19 17.39L12 17.27L5.82 21L7.45 13.97L2 9.24L9.19 8.63L12 2L14.81 8.63L22 9.24L18.8 12C17.29 12.05 15.91 12.57 14.78 13.43L14.77 13.38L18.09 10.5L13.71 10.13L12 6.09L10.29 10.13M23.83 20.64L22.83 22.37C22.76 22.5 22.63 22.5 22.5 22.5L21.27 22C21 22.18 20.73 22.34 20.43 22.47L20.24 23.79C20.22 23.91 20.11 24 20 24H18C17.86 24 17.76 23.91 17.74 23.79L17.55 22.47C17.24 22.35 16.96 22.18 16.7 22L15.46 22.5C15.34 22.5 15.21 22.5 15.15 22.37L14.15 20.64C14.09 20.53 14.12 20.4 14.21 20.32L15.27 19.5C15.25 19.33 15.24 19.17 15.24 19S15.25 18.67 15.27 18.5L14.21 17.68C14.11 17.6 14.09 17.47 14.15 17.36L15.15 15.63C15.22 15.5 15.35 15.5 15.46 15.5L16.7 16C16.96 15.82 17.25 15.66 17.55 15.53L17.74 14.21C17.76 14.09 17.87 14 18 14H20C20.11 14 20.22 14.09 20.23 14.21L20.42 15.53C20.73 15.65 21 15.82 21.27 16L22.5 15.5C22.63 15.5 22.76 15.5 22.82 15.63L23.82 17.36C23.88 17.47 23.85 17.6 23.76 17.68L22.7 18.5C22.73 18.67 22.74 18.83 22.74 19S22.72 19.33 22.7 19.5L23.77 20.32C23.86 20.4 23.89 20.53 23.83 20.64M20.5 19C20.5 18.17 19.83 17.5 19 17.5S17.5 18.17 17.5 19 18.16 20.5 19 20.5C19.83 20.5 20.5 19.83 20.5 19Z\";\r\nexport var mdiStarCrescent = \"M12.3,2C12.2,2 12.1,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22C15,22 16.7,21 18.5,19.5C13,21 8,17 8,12C8,7 13,3 18.5,4.5C16.86,2.86 14.62,1.96 12.3,2M16.8,6.2L15.3,9.7L11.6,10L14.5,12.5L13.6,16L16.8,14L20,16L19,12.5L22,10L18.3,9.7L16.8,6.2Z\";\r\nexport var mdiStarDavid = \"M12,2L9.1,7H3.3L6.3,12L3.3,17H9.1L12,22L14.9,17H20.7L17.7,12L20.7,7H14.9L12,2M12,5L13.2,7H10.8L12,5M8.2,8.5L7.1,10.5L5.9,8.5H8.2M10,8.5H14L16,12L14,15.5H10L8,12L10,8.5M18,8.5L16.8,10.5L15.7,8.5H18M7.1,13.5L8.2,15.5H6L7.1,13.5M16.9,13.5L18.1,15.5H15.8L16.9,13.5M13.3,17L12,19L10.8,17H13.3Z\";\r\nexport var mdiStarFace = \"M12,2.5L8.42,8.06L2,9.74L6.2,14.88L5.82,21.5L12,19.09L18.18,21.5L17.8,14.88L22,9.74L15.58,8.06L12,2.5M9.38,10.5C10,10.5 10.5,11 10.5,11.63A1.12,1.12 0 0,1 9.38,12.75C8.75,12.75 8.25,12.25 8.25,11.63C8.25,11 8.75,10.5 9.38,10.5M14.63,10.5C15.25,10.5 15.75,11 15.75,11.63A1.12,1.12 0 0,1 14.63,12.75C14,12.75 13.5,12.25 13.5,11.63C13.5,11 14,10.5 14.63,10.5M9,15H15C14.5,16.21 13.31,17 12,17C10.69,17 9.5,16.21 9,15Z\";\r\nexport var mdiStarFourPoints = \"M12,1L9,9L1,12L9,15L12,23L15,15L23,12L15,9L12,1Z\";\r\nexport var mdiStarFourPointsOutline = \"M12,6.7L13.45,10.55L17.3,12L13.45,13.45L12,17.3L10.55,13.45L6.7,12L10.55,10.55L12,6.7M12,1L9,9L1,12L9,15L12,23L15,15L23,12L15,9L12,1Z\";\r\nexport var mdiStarHalf = \"M12 2L9.19 8.62L2 9.24L7.45 13.97L5.82 21L12 17.27V2Z\";\r\nexport var mdiStarHalfFull = \"M12,15.4V6.1L13.71,10.13L18.09,10.5L14.77,13.39L15.76,17.67M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z\";\r\nexport var mdiStarMinus = \"M5.8 21L7.4 14L2 9.2L9.2 8.6L12 2L14.8 8.6L22 9.2L18.8 12H18C14.9 12 12.4 14.3 12 17.3L5.8 21M14 17V19H22V17H14Z\";\r\nexport var mdiStarMinusOutline = \"M5.8 21L7.4 14L2 9.2L9.2 8.6L12 2L14.8 8.6L22 9.2L18.8 12H18C17.3 12 16.6 12.1 15.9 12.4L18.1 10.5L13.7 10.1L12 6.1L10.3 10.1L5.9 10.5L9.2 13.4L8.2 17.7L12 15.4L12.5 15.7C12.3 16.2 12.1 16.8 12.1 17.3L5.8 21M14 17V19H22V17H14Z\";\r\nexport var mdiStarOff = \"M20.8 22.7L17.9 19.8L18.2 21L12 17.3L5.8 21L7.4 14L2 9.2L6.9 8.8L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M22 9.2L14.8 8.6L12 2L10 6.8L16.9 13.7L22 9.2Z\";\r\nexport var mdiStarOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L6.9 8.8L2 9.2L7.5 14L5.9 21L12.1 17.3L18.3 21L18 19.8L20.9 22.7L22.1 21.5M15.8 17.7L12 15.4L8.2 17.7L9.2 13.4L5.9 10.5L8.4 10.3L15.8 17.7M11.2 8L10 6.8L12 2L14.8 8.6L22 9.2L16.9 13.6L15.8 12.5L18.2 10.5L13.8 10.1L12.1 6.1L11.2 8Z\";\r\nexport var mdiStarOutline = \"M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z\";\r\nexport var mdiStarPlus = \"M5.8 21L7.4 14L2 9.2L9.2 8.6L12 2L14.8 8.6L22 9.2L18.8 12H18C14.9 12 12.4 14.3 12 17.3L5.8 21M17 14V17H14V19H17V22H19V19H22V17H19V14H17Z\";\r\nexport var mdiStarPlusOutline = \"M5.8 21L7.4 14L2 9.2L9.2 8.6L12 2L14.8 8.6L22 9.2L18.8 12H18C17.3 12 16.6 12.1 15.9 12.4L18.1 10.5L13.7 10.1L12 6.1L10.3 10.1L5.9 10.5L9.2 13.4L8.2 17.7L12 15.4L12.5 15.7C12.3 16.2 12.1 16.8 12.1 17.3L5.8 21M17 14V17H14V19H17V22H19V19H22V17H19V14H17Z\";\r\nexport var mdiStarRemove = \"M5.8 21L7.4 14L2 9.2L9.2 8.6L12 2L14.8 8.6L22 9.2L18.8 12H18C14.9 12 12.4 14.3 12 17.3L5.8 21M20.1 14.5L18 16.6L15.9 14.5L14.5 15.9L16.6 18L14.5 20.1L15.9 21.5L18 19.4L20.1 21.5L21.5 20.1L19.4 18L21.5 15.9L20.1 14.5Z\";\r\nexport var mdiStarRemoveOutline = \"M5.8 21L7.4 14L2 9.2L9.2 8.6L12 2L14.8 8.6L22 9.2L18.8 12H18C17.3 12 16.6 12.1 15.9 12.4L18.1 10.5L13.7 10.1L12 6.1L10.3 10.1L5.9 10.5L9.2 13.4L8.2 17.7L12 15.4L12.5 15.7C12.3 16.2 12.1 16.8 12.1 17.3L5.8 21M20.1 14.5L18 16.6L15.9 14.5L14.5 15.9L16.6 18L14.5 20.1L15.9 21.5L18 19.4L20.1 21.5L21.5 20.1L19.4 18L21.5 15.9L20.1 14.5Z\";\r\nexport var mdiStarSettings = \"M7 22H9V24H7V22M11 24H13V22H11V24M15 24H17V22H15V24M22 9.24L14.81 8.62L12 2L9.19 8.62L2 9.24L7.45 13.97L5.82 21L12 17.27L18.18 21L16.54 13.97L22 9.24Z\";\r\nexport var mdiStarSettingsOutline = \"M11 22H13V24H11V22M7 24H9V22H7V24M15 24H17V22H15V24M16.54 13.97L18.18 21L12 17.27L5.82 21L7.45 13.97L2 9.24L9.19 8.63L12 2L14.81 8.63L22 9.24L16.54 13.97M15.76 17.66L14.77 13.38L18.09 10.5L13.71 10.13L12 6.09L10.29 10.13L5.91 10.5L9.23 13.38L8.24 17.66L12 15.39L15.76 17.66Z\";\r\nexport var mdiStarShooting = \"M18.09 11.77L19.56 18.1L14 14.74L8.44 18.1L9.9 11.77L5 7.5L11.47 6.96L14 1L16.53 6.96L23 7.5L18.09 11.77M2 12.43C2.19 12.43 2.38 12.37 2.55 12.26L5.75 10.15L4.18 8.79L1.45 10.59C.989 10.89 .861 11.5 1.16 12C1.36 12.27 1.68 12.43 2 12.43M1.16 21.55C1.36 21.84 1.68 22 2 22C2.19 22 2.38 21.95 2.55 21.84L6.66 19.13L7 17.76L7.31 16.31L1.45 20.16C.989 20.47 .861 21.09 1.16 21.55M1.45 15.38C.989 15.68 .861 16.3 1.16 16.76C1.36 17.06 1.68 17.21 2 17.21C2.19 17.21 2.38 17.16 2.55 17.05L7.97 13.5L8.24 12.31L7.32 11.5L1.45 15.38Z\";\r\nexport var mdiStarShootingOutline = \"M23 7.5L16.53 6.96L14 1L11.47 6.96L5 7.5L9.9 11.77L8.44 18.1L14 14.74L19.56 18.1L18.09 11.77L23 7.5M16.14 12.23L16.54 13.94L15.03 13.03L14 12.41L12.97 13.03L11.46 13.94L11.85 12.23L12.13 11.05L11.22 10.26L9.88 9.1L11.64 8.95L12.84 8.85L13.31 7.74L14 6.12L14.69 7.74L15.16 8.85L16.36 8.95L18.11 9.1L16.78 10.26L15.86 11.05L16.14 12.23M1.16 12C.861 11.5 .989 10.89 1.45 10.59L4.18 8.79L5.75 10.15L2.55 12.26C2.38 12.37 2.19 12.43 2 12.43C1.68 12.43 1.36 12.27 1.16 12M1.45 20.16L7.31 16.31L7 17.76L6.66 19.13L2.55 21.84C2.38 21.95 2.19 22 2 22C1.68 22 1.36 21.84 1.16 21.55C.861 21.09 .989 20.47 1.45 20.16M7.32 11.5L8.24 12.31L7.97 13.5L2.55 17.05C2.38 17.16 2.19 17.21 2 17.21C1.68 17.21 1.36 17.06 1.16 16.76C.861 16.3 .989 15.68 1.45 15.38L7.32 11.5Z\";\r\nexport var mdiStarThreePoints = \"M12,2.6L9,12.4L2,19.9L12,17.6L22,20L15,12.5L12,2.6Z\";\r\nexport var mdiStarThreePointsOutline = \"M12,9.5L13.2,13.5L16,16.5L12,15.6L7.9,16.5L10.7,13.5L12,9.5M12,2.6L9,12.4L2,19.9L12,17.6L22,20L15,12.5L12,2.6Z\";\r\nexport var mdiStateMachine = \"M6.27 17.05C6.72 17.58 7 18.25 7 19C7 20.66 5.66 22 4 22S1 20.66 1 19 2.34 16 4 16C4.18 16 4.36 16 4.53 16.05L7.6 10.69L5.86 9.7L9.95 8.58L11.07 12.67L9.33 11.68L6.27 17.05M20 16C18.7 16 17.6 16.84 17.18 18H11V16L8 19L11 22V20H17.18C17.6 21.16 18.7 22 20 22C21.66 22 23 20.66 23 19S21.66 16 20 16M12 8C12.18 8 12.36 8 12.53 7.95L15.6 13.31L13.86 14.3L17.95 15.42L19.07 11.33L17.33 12.32L14.27 6.95C14.72 6.42 15 5.75 15 5C15 3.34 13.66 2 12 2S9 3.34 9 5 10.34 8 12 8Z\";\r\nexport var mdiSteam = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22C7.4,22 3.55,18.92 2.36,14.73L6.19,16.31C6.45,17.6 7.6,18.58 8.97,18.58C10.53,18.58 11.8,17.31 11.8,15.75V15.62L15.2,13.19H15.28C17.36,13.19 19.05,11.5 19.05,9.42C19.05,7.34 17.36,5.65 15.28,5.65C13.2,5.65 11.5,7.34 11.5,9.42V9.47L9.13,12.93L8.97,12.92C8.38,12.92 7.83,13.1 7.38,13.41L2,11.2C2.43,6.05 6.73,2 12,2M8.28,17.17C9.08,17.5 10,17.13 10.33,16.33C10.66,15.53 10.28,14.62 9.5,14.29L8.22,13.76C8.71,13.58 9.26,13.57 9.78,13.79C10.31,14 10.72,14.41 10.93,14.94C11.15,15.46 11.15,16.04 10.93,16.56C10.5,17.64 9.23,18.16 8.15,17.71C7.65,17.5 7.27,17.12 7.06,16.67L8.28,17.17M17.8,9.42C17.8,10.81 16.67,11.94 15.28,11.94C13.9,11.94 12.77,10.81 12.77,9.42A2.5,2.5 0 0,1 15.28,6.91C16.67,6.91 17.8,8.04 17.8,9.42M13.4,9.42C13.4,10.46 14.24,11.31 15.29,11.31C16.33,11.31 17.17,10.46 17.17,9.42C17.17,8.38 16.33,7.53 15.29,7.53C14.24,7.53 13.4,8.38 13.4,9.42Z\";\r\nexport var mdiSteering = \"M13,19.92C14.8,19.7 16.35,18.95 17.65,17.65C18.95,16.35 19.7,14.8 19.92,13H16.92C16.7,14 16.24,14.84 15.54,15.54C14.84,16.24 14,16.7 13,16.92V19.92M10,8H14L17,11H19.92C19.67,9.05 18.79,7.38 17.27,6C15.76,4.66 14,4 12,4C10,4 8.24,4.66 6.73,6C5.21,7.38 4.33,9.05 4.08,11H7L10,8M11,19.92V16.92C10,16.7 9.16,16.24 8.46,15.54C7.76,14.84 7.3,14 7.08,13H4.08C4.3,14.77 5.05,16.3 6.35,17.6C7.65,18.9 9.2,19.67 11,19.92M12,2C14.75,2 17.1,3 19.05,4.95C21,6.9 22,9.25 22,12C22,14.75 21,17.1 19.05,19.05C17.1,21 14.75,22 12,22C9.25,22 6.9,21 4.95,19.05C3,17.1 2,14.75 2,12C2,9.25 3,6.9 4.95,4.95C6.9,3 9.25,2 12,2Z\";\r\nexport var mdiSteeringOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L17.25,20.5C15.7,21.5 13.95,22 12,22C9.25,22 6.9,21 4.95,19.05C3,17.1 2,14.75 2,12C2,10.05 2.5,8.3 3.5,6.75L2,5.27M13,19.92C14,19.8 14.93,19.5 15.78,19.05L13.5,16.78C13.34,16.84 13.16,16.88 13,16.92V19.92M4.08,11H7L7.37,10.63L4.96,8.23C4.5,9.08 4.21,10 4.08,11M19.92,13H16.92C16.8,13.54 16.6,14.05 16.33,14.5L9.91,8.09L10,8H14L17,11H19.92C19.67,9.05 18.79,7.38 17.27,6C15.76,4.66 14,4 12,4C10.26,4 8.71,4.5 7.34,5.5L5.91,4.09C7.66,2.71 9.69,2 12,2C14.75,2 17.1,3 19.05,4.95C21,6.9 22,9.25 22,12C22,14.31 21.29,16.34 19.91,18.09L18.5,16.67C19.28,15.59 19.76,14.36 19.92,13M11,19.92V16.92C10,16.7 9.16,16.24 8.46,15.54C7.76,14.84 7.3,14 7.08,13H4.08C4.3,14.77 5.05,16.3 6.35,17.6C7.65,18.9 9.2,19.67 11,19.92Z\";\r\nexport var mdiStepBackward = \"M19,5V19H16V5M14,5V19L3,12\";\r\nexport var mdiStepBackward2 = \"M17,5H14V19H17V5M12,5L1,12L12,19V5M22,5H19V19H22V5Z\";\r\nexport var mdiStepForward = \"M5,5V19H8V5M10,5V19L21,12\";\r\nexport var mdiStepForward2 = \"M7,5H10V19H7V5M12,5L23,12L12,19V5M2,5H5V19H2V5Z\";\r\nexport var mdiStethoscope = \"M19,8C19.56,8 20,8.43 20,9A1,1 0 0,1 19,10C18.43,10 18,9.55 18,9C18,8.43 18.43,8 19,8M2,2V11C2,13.96 4.19,16.5 7.14,16.91C7.76,19.92 10.42,22 13.5,22A6.5,6.5 0 0,0 20,15.5V11.81C21.16,11.39 22,10.29 22,9A3,3 0 0,0 19,6A3,3 0 0,0 16,9C16,10.29 16.84,11.4 18,11.81V15.41C18,17.91 16,19.91 13.5,19.91C11.5,19.91 9.82,18.7 9.22,16.9C12,16.3 14,13.8 14,11V2H10V5H12V11A4,4 0 0,1 8,15A4,4 0 0,1 4,11V5H6V2H2Z\";\r\nexport var mdiSticker = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M15 20V18.5C15 16.6 16.6 15 18.5 15H20L15 20Z\";\r\nexport var mdiStickerAlert = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M13 17H11V15H13V16M13 13H11V7H13V12M15 20V18.5C15 16.6 16.6 15 18.5 15H20L15 20Z\";\r\nexport var mdiStickerAlertOutline = \"M11 15H13V17H11V15M11 13H13V7H11V13M22 5.5V16L16 22H5.5C3.6 22 2 20.4 2 18.5V5.5C2 3.6 3.6 2 5.5 2H18.5C20.4 2 22 3.6 22 5.5M20 5.8C20 4.8 19.2 4 18.2 4H5.8C4.8 4 4 4.8 4 5.8V18.3C4 19.3 4.8 20.1 5.8 20.1H15V18.6C15 16.7 16.6 15.1 18.5 15.1H20V5.8Z\";\r\nexport var mdiStickerCheck = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M7 12.5L8.3 11.1L10.4 13.2L15.6 8L17 9.4L10.5 16L7 12.5M15 20V18.5C15 16.6 16.6 15 18.5 15H20L15 20Z\";\r\nexport var mdiStickerCheckOutline = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M20 15H18.5C16.6 15 15 16.6 15 18.5V20H5.8C4.8 20 4 19.2 4 18.2V5.8C4 4.8 4.8 4 5.8 4H18.3C19.3 4 20.1 4.8 20.1 5.8V15M15.2 8.2L16.7 9.7L10.7 15.7L7.2 12.2L8.7 10.7L10.7 12.7L15.2 8.2Z\";\r\nexport var mdiStickerCircleOutline = \"M12.12,18.46L18.3,12.28C16.94,12.59 15.31,13.2 14.07,14.46C13.04,15.5 12.39,16.83 12.12,18.46M20.75,10H21.05C21.44,10 21.79,10.27 21.93,10.64C22.07,11 22,11.43 21.7,11.71L11.7,21.71C11.5,21.9 11.26,22 11,22L10.64,21.93C10.27,21.79 10,21.44 10,21.05C9.84,17.66 10.73,14.96 12.66,13.03C15.5,10.2 19.62,10 20.75,10M12,2C16.5,2 20.34,5 21.58,9.11L20,9H19.42C18.24,6.07 15.36,4 12,4A8,8 0 0,0 4,12C4,15.36 6.07,18.24 9,19.42C8.97,20.13 9,20.85 9.11,21.57C5,20.33 2,16.5 2,12C2,6.47 6.5,2 12,2Z\";\r\nexport var mdiStickerEmoji = \"M5.5,2C3.56,2 2,3.56 2,5.5V18.5C2,20.44 3.56,22 5.5,22H16L22,16V5.5C22,3.56 20.44,2 18.5,2H5.5M5.75,4H18.25A1.75,1.75 0 0,1 20,5.75V15H18.5C16.56,15 15,16.56 15,18.5V20H5.75A1.75,1.75 0 0,1 4,18.25V5.75A1.75,1.75 0 0,1 5.75,4M14.44,6.77C14.28,6.77 14.12,6.79 13.97,6.83C13.03,7.09 12.5,8.05 12.74,9C12.79,9.15 12.86,9.3 12.95,9.44L16.18,8.56C16.18,8.39 16.16,8.22 16.12,8.05C15.91,7.3 15.22,6.77 14.44,6.77M8.17,8.5C8,8.5 7.85,8.5 7.7,8.55C6.77,8.81 6.22,9.77 6.47,10.7C6.5,10.86 6.59,11 6.68,11.16L9.91,10.28C9.91,10.11 9.89,9.94 9.85,9.78C9.64,9 8.95,8.5 8.17,8.5M16.72,11.26L7.59,13.77C8.91,15.3 11,15.94 12.95,15.41C14.9,14.87 16.36,13.25 16.72,11.26Z\";\r\nexport var mdiStickerMinus = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M8 11H16V13H8V11M15 20V18.5C15 16.6 16.6 15 18.5 15H20L15 20Z\";\r\nexport var mdiStickerMinusOutline = \"M8 11H16V13H8V11M22 5.5V16L16 22H5.5C3.6 22 2 20.4 2 18.5V5.5C2 3.6 3.6 2 5.5 2H18.5C20.4 2 22 3.6 22 5.5M20 5.8C20 4.8 19.2 4 18.2 4H5.8C4.8 4 4 4.8 4 5.8V18.3C4 19.3 4.8 20.1 5.8 20.1H15V18.6C15 16.7 16.6 15.1 18.5 15.1H20V5.8Z\";\r\nexport var mdiStickerOutline = \"M5.5 2C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2H5.5M5.8 4H18.3C19.3 4 20.1 4.8 20.1 5.8V15H18.6C16.7 15 15.1 16.6 15.1 18.5V20H5.8C4.8 20 4 19.2 4 18.2V5.8C4 4.8 4.8 4 5.8 4\";\r\nexport var mdiStickerPlus = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M13 16H11V13H8V11H11V8H13V11H16V13H13V16M15 20V18.5C15 16.6 16.6 15 18.5 15H20L15 20Z\";\r\nexport var mdiStickerPlusOutline = \"M13 11H16V13H13V16H11V13H8V11H11V8H13V11M22 5.5V16L16 22H5.5C3.6 22 2 20.4 2 18.5V5.5C2 3.6 3.6 2 5.5 2H18.5C20.4 2 22 3.6 22 5.5M20 5.8C20 4.8 19.2 4 18.2 4H5.8C4.8 4 4 4.8 4 5.8V18.3C4 19.3 4.8 20.1 5.8 20.1H15V18.6C15 16.7 16.6 15.1 18.5 15.1H20V5.8Z\";\r\nexport var mdiStickerRemove = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M12 13.4L9.9 15.5L8.5 14.1L10.6 12L8.5 9.9L9.9 8.5L12 10.6L14.1 8.5L15.5 9.9L13.4 12L15.5 14.1L14.1 15.5L12 13.4M15 20V18.5C15 16.6 16.6 15 18.5 15H20L15 20Z\";\r\nexport var mdiStickerRemoveOutline = \"M16 9.4L13.4 12L16 14.6L14.6 16L12 13.4L9.4 16L8 14.6L10.6 12L8 9.4L9.4 8L12 10.6L14.6 8L16 9.4M22 5.5V16L16 22H5.5C3.6 22 2 20.4 2 18.5V5.5C2 3.6 3.6 2 5.5 2H18.5C20.4 2 22 3.6 22 5.5M20 5.8C20 4.8 19.2 4 18.2 4H5.8C4.8 4 4 4.8 4 5.8V18.3C4 19.3 4.8 20.1 5.8 20.1H15V18.6C15 16.7 16.6 15.1 18.5 15.1H20V5.8Z\";\r\nexport var mdiStickerText = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M6 7H18V9H6V7M6 11H18V13H6V11M13 17H6V15H13V17M15 20V18.5C15 16.6 16.6 15 18.5 15H20L15 20Z\";\r\nexport var mdiStickerTextOutline = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M20.1 15H18.6C16.7 15 15.1 16.6 15.1 18.5V20H5.8C4.8 20 4 19.2 4 18.2V5.8C4 4.8 4.8 4 5.8 4H18.3C19.3 4 20.1 4.8 20.1 5.8V15M7 7H17V9H7V7M7 11H17V13H7V11M7 15H13V17H7V15Z\";\r\nexport var mdiStocking = \"M17,2A2,2 0 0,1 19,4V7A2,2 0 0,1 17,9V17C17,17.85 16.5,18.57 15.74,18.86L9.5,21.77C8.5,22.24 7.29,21.81 6.83,20.81L6,19C5.5,18 5.95,16.8 6.95,16.34L10,14.91V9A2,2 0 0,1 8,7V4A2,2 0 0,1 10,2H17M10,4V7H17V4H10Z\";\r\nexport var mdiStomach = \"M4 18C4.67 19.85 6.07 22 12 22C14.36 22 17.07 21.93 19 20C20 19 22 17 22 11S20 4 18 4C16.62 4 15 4 14 6V6.03A1.82 1.82 0 0 1 12.13 6.95C11 6.81 11 6.37 11 6V2H9V6A2.92 2.92 0 0 0 12 9C13 9 13 10.78 13 12C13 13.89 12.5 15.26 11 16C8.69 17.15 6.39 17 5.61 15.47A1.5 1.5 0 0 0 3.14 14.87A3.67 3.67 0 0 0 2 18V22H4Z\";\r\nexport var mdiStop = \"M18,18H6V6H18V18Z\";\r\nexport var mdiStopCircle = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M9,9H15V15H9\";\r\nexport var mdiStopCircleOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4M9,9V15H15V9\";\r\nexport var mdiStore = \"M12,18H6V14H12M21,14V12L20,7H4L3,12V14H4V20H14V14H18V20H20V14M20,4H4V6H20V4Z\";\r\nexport var mdiStore24Hour = \"M16,12H15V10H13V7H14V9H15V7H16M11,10H9V11H11V12H8V9H10V8H8V7H11M19,7V4H5V7H2V20H10V16H14V20H22V7H19Z\";\r\nexport var mdiStoreMinus = \"M4 4V6H20V4M4 7L3 12V14H4V20H13C12.95 19.66 12.92 19.31 12.92 18.95C12.92 17.73 13.3 16.53 14 15.53V14H15.54C16.54 13.33 17.71 12.96 18.91 12.96C19.62 12.96 20.33 13.09 21 13.34V12L20 7M6 14H12V18H6M15 18V20H23V18\";\r\nexport var mdiStoreOutline = \"M18.36 9L18.96 12H5.04L5.64 9H18.36M20 4H4V6H20V4M20 7H4L3 12V14H4V20H14V14H18V20H20V14H21V12L20 7M6 18V14H12V18H6Z\";\r\nexport var mdiStorePlus = \"M4 4V6H20V4M4 7L3 12V14H4V20H13C12.95 19.66 12.92 19.31 12.92 18.95C12.92 17.73 13.3 16.53 14 15.53V14H15.54C16.54 13.33 17.71 12.96 18.91 12.96C19.62 12.96 20.33 13.09 21 13.34V12L20 7M6 14H12V18H6M18 15V18H15V20H18V23H20V20H23V18H20V15\";\r\nexport var mdiStoreRemove = \"M4 4H20V6H4V4M15.46 16.88L16.88 15.46L19 17.59L21.12 15.47L22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.46 21.12L17.59 19L15.47 16.88M4 7H20L21 12V13.34C20.33 13.09 19.62 12.96 18.91 12.96C17.71 12.96 16.54 13.33 15.54 14H14V15.53C13.3 16.53 12.92 17.73 12.92 18.95L13 20H4V14H3V12L4 7M6 14V18H12V14H6Z\";\r\nexport var mdiStorefront = \"M5.06 3C4.63 3 4.22 3.14 3.84 3.42C3.46 3.7 3.24 4.06 3.14 4.5L2.11 8.91C1.86 10 2.06 10.92 2.69 11.73C2.81 11.85 2.93 11.97 3.04 12.07C3.63 12.64 4.28 13 5.22 13C6.16 13 6.91 12.59 7.47 12.05C8.1 12.67 8.86 13 9.8 13C10.64 13 11.44 12.63 12 12.07C12.68 12.7 13.45 13 14.3 13C15.17 13 15.91 12.67 16.54 12.05C17.11 12.62 17.86 13 18.81 13C19.76 13 20.43 12.65 21 12.06C21.09 11.97 21.18 11.87 21.28 11.77C21.94 10.95 22.14 10 21.89 8.91L20.86 4.5C20.73 4.06 20.5 3.7 20.13 3.42C19.77 3.14 19.38 3 18.94 3M18.89 4.97L19.97 9.38C20.06 9.81 19.97 10.2 19.69 10.55C19.44 10.86 19.13 11 18.75 11C18.44 11 18.17 10.9 17.95 10.66C17.73 10.43 17.61 10.16 17.58 9.84L16.97 5M5.06 5H7.03L6.42 9.84C6.3 10.63 5.91 11 5.25 11C4.84 11 4.53 10.86 4.31 10.55C4.03 10.2 3.94 9.81 4.03 9.38M9.05 5H11V9.7C11 10.05 10.89 10.35 10.64 10.62C10.39 10.88 10.08 11 9.7 11C9.36 11 9.07 10.88 8.84 10.59C8.61 10.3 8.5 10 8.5 9.66V9.5M13 5H14.95L15.5 9.5C15.58 9.92 15.5 10.27 15.21 10.57C14.95 10.87 14.61 11 14.2 11C13.89 11 13.61 10.88 13.36 10.62C13.11 10.35 13 10.05 13 9.7M3 14.03V19C3 20.11 3.89 21 5 21C9.67 21 14.33 21 19 21C20.1 21 21 20.11 21 19V14.05C20.45 14.63 19.75 14.96 19 15C18 15.03 17.25 14.74 16.54 14.05C15.94 14.65 15.14 15 14.3 15C13.4 15 12.6 14.64 12 14.07C11.43 14.64 10.65 15 9.78 15C8.87 15 8.07 14.65 7.47 14.05C6.89 14.64 6.1 15 5.23 15C4.33 15 3.66 14.65 3 14.03Z\";\r\nexport var mdiStorefrontOutline = \"M5.06 3C4.63 3 4.22 3.14 3.84 3.42S3.24 4.06 3.14 4.5L2.11 8.91C1.86 10 2.06 10.95 2.72 11.77L3 12.05V19C3 19.5 3.2 20 3.61 20.39S4.5 21 5 21H19C19.5 21 20 20.8 20.39 20.39S21 19.5 21 19V12.05L21.28 11.77C21.94 10.95 22.14 10 21.89 8.91L20.86 4.5C20.73 4.06 20.5 3.7 20.13 3.42C19.77 3.14 19.38 3 18.94 3H5.06M18.89 4.97L19.97 9.38C20.06 9.81 19.97 10.2 19.69 10.55C19.44 10.86 19.13 11 18.75 11C18.44 11 18.17 10.9 17.95 10.66C17.73 10.43 17.61 10.16 17.58 9.84L16.97 5L18.89 4.97M5.06 5H7.03L6.42 9.84C6.3 10.63 5.91 11 5.25 11C4.84 11 4.53 10.86 4.31 10.55C4.03 10.2 3.94 9.81 4.03 9.38L5.06 5M9.05 5H11V9.7C11 10.05 10.89 10.35 10.64 10.62C10.39 10.88 10.08 11 9.7 11C9.36 11 9.07 10.88 8.84 10.59S8.5 10 8.5 9.66V9.5L9.05 5M13 5H14.95L15.5 9.5C15.58 9.92 15.5 10.27 15.21 10.57C14.95 10.87 14.61 11 14.2 11C13.89 11 13.61 10.88 13.36 10.62C13.11 10.35 13 10.05 13 9.7V5M7.45 12.05C8.08 12.67 8.86 13 9.8 13C10.64 13 11.38 12.67 12 12.05C12.69 12.67 13.45 13 14.3 13C15.17 13 15.92 12.67 16.55 12.05C17.11 12.67 17.86 13 18.8 13H19.03V19H5V13H5.25C6.16 13 6.89 12.67 7.45 12.05Z\";\r\nexport var mdiStove = \"M6,14H8L11,17H9L6,14M4,4H5V3A1,1 0 0,1 6,2H10A1,1 0 0,1 11,3V4H13V3A1,1 0 0,1 14,2H18A1,1 0 0,1 19,3V4H20A2,2 0 0,1 22,6V19A2,2 0 0,1 20,21V22H17V21H7V22H4V21A2,2 0 0,1 2,19V6A2,2 0 0,1 4,4M18,7A1,1 0 0,1 19,8A1,1 0 0,1 18,9A1,1 0 0,1 17,8A1,1 0 0,1 18,7M14,7A1,1 0 0,1 15,8A1,1 0 0,1 14,9A1,1 0 0,1 13,8A1,1 0 0,1 14,7M20,6H4V10H20V6M4,19H20V12H4V19M6,7A1,1 0 0,1 7,8A1,1 0 0,1 6,9A1,1 0 0,1 5,8A1,1 0 0,1 6,7M13,14H15L18,17H16L13,14Z\";\r\nexport var mdiStrategy = \"M6.91 5.5L9.21 7.79L7.79 9.21L5.5 6.91L3.21 9.21L1.79 7.79L4.09 5.5L1.79 3.21L3.21 1.79L5.5 4.09L7.79 1.79L9.21 3.21M22.21 16.21L20.79 14.79L18.5 17.09L16.21 14.79L14.79 16.21L17.09 18.5L14.79 20.79L16.21 22.21L18.5 19.91L20.79 22.21L22.21 20.79L19.91 18.5M20.4 6.83L17.18 11L15.6 9.73L16.77 8.23A9.08 9.08 0 0 0 10.11 13.85A4.5 4.5 0 1 1 7.5 13A4 4 0 0 1 8.28 13.08A11.27 11.27 0 0 1 16.43 6.26L15 5.18L16.27 3.6M10 17.5A2.5 2.5 0 1 0 7.5 20A2.5 2.5 0 0 0 10 17.5Z\";\r\nexport var mdiStretchToPage = \"M20,2H4C2.89,2 2,2.89 2,4V20C2,21.11 2.89,22 4,22H20C21.11,22 22,21.11 22,20V4C22,2.89 21.11,2 20,2M9,19H5V15L6.29,16.29L7.83,14.75L9.25,16.17L7.71,17.71M7.83,9.25L6.29,7.71L5,9V5H9L7.71,6.29L9.25,7.83M19,19H15L16.29,17.71L14.75,16.17L16.17,14.75L17.71,16.29L19,15M19,9L17.71,7.71L16.17,9.25L14.75,7.83L16.29,6.29L15,5H19\";\r\nexport var mdiStretchToPageOutline = \"M20,2H4C2.89,2 2,2.89 2,4V20C2,21.11 2.89,22 4,22H20C21.11,22 22,21.11 22,20V4C22,2.89 21.11,2 20,2M20,20H4V4H20M8.83,10.25L7.29,8.71L6,10V6H10L8.71,7.29L10.25,8.83M13.75,8.83L15.29,7.29L14,6H18V10L16.71,8.71L15.17,10.25M15.17,13.75L16.71,15.29L18,14V18H14L15.29,16.71L13.75,15.17M10.25,15.17L8.71,16.71L10,18H6V14L7.29,15.29L8.83,13.75\";\r\nexport var mdiStringLights = \"M22.56 11.39C22.36 10.59 21.82 9.85 21.05 9.44L20.63 7.74C21.11 7.58 21.57 7.41 22 7.23V5C20 6.07 16.53 7.03 12 7.03S4 6.07 2 5V7.23C2.43 7.41 2.89 7.58 3.37 7.74L2.95 9.44C2.18 9.85 1.64 10.59 1.44 11.39C.905 13.57 .385 17.31 2.92 17.93C4 18.2 6 17.89 7.27 12.82C7.46 12 7.33 11.12 6.84 10.39L7.26 8.67C8.14 8.81 9.05 8.9 10 8.96V10.74C9.35 11.33 9 12.17 9 13C9 15.24 9.39 19 12 19C13.12 19 15 18.22 15 13C15 12.17 14.65 11.33 14 10.74V8.96C14.95 8.9 15.86 8.81 16.74 8.67L17.16 10.39C16.67 11.12 16.54 12 16.73 12.82C18 17.89 20 18.2 21.08 17.93C23.61 17.31 23.09 13.57 22.56 11.39M5.81 12.47C5.81 12.47 4.74 16.84 3.28 16.5C1.82 16.12 2.9 11.75 2.9 11.75S3.26 10.29 4.71 10.65 5.81 12.47 5.81 12.47M12 17.5C10.5 17.5 10.5 13 10.5 13S10.5 11.5 12 11.5 13.5 13 13.5 13 13.5 17.5 12 17.5M20.72 16.5C19.27 16.84 18.19 12.47 18.19 12.47S17.83 11 19.29 10.65 21.1 11.75 21.1 11.75 22.18 16.12 20.72 16.5Z\";\r\nexport var mdiStringLightsOff = \"M14 10.74V8.96C14.95 8.9 15.86 8.81 16.74 8.67L17.16 10.39C16.67 11.12 16.54 12 16.73 12.82C16.82 13.17 16.91 13.5 17 13.8L21.12 17.92C23.61 17.26 23.09 13.55 22.56 11.39C22.36 10.59 21.82 9.85 21.05 9.44L20.63 7.74C21.11 7.58 21.57 7.41 22 7.23V5C20 6.07 16.53 7.03 12 7.03C11.37 7.03 10.76 7 10.17 6.97M20.72 16.5C19.27 16.84 18.19 12.47 18.19 12.47S17.83 11 19.29 10.65 21.1 11.75 21.1 11.75 22.18 16.12 20.72 16.5M14.95 14.29L13.5 12.83V12.83L12.18 11.5H12.18L10 9.34V9.34L9.58 8.93H9.59L7.32 6.66H7.32L2.39 1.73L1.11 3L3.91 5.8C3.19 5.55 2.53 5.28 2 5V7.23C2.43 7.41 2.89 7.58 3.37 7.74L2.95 9.44C2.18 9.85 1.64 10.59 1.44 11.39C.905 13.57 .385 17.31 2.92 17.93C4 18.2 6 17.89 7.27 12.82C7.46 12 7.33 11.12 6.84 10.39L7.17 9.06L9.5 11.38C9.18 11.87 9 12.44 9 13C9 15.24 9.39 19 12 19C12.8 19 13.97 18.59 14.59 16.5L20.84 22.73L22.11 21.46L14.95 14.3L14.95 14.29M5.81 12.47C5.81 12.47 4.74 16.84 3.28 16.5C1.82 16.12 2.9 11.75 2.9 11.75S3.26 10.29 4.71 10.65 5.81 12.47 5.81 12.47M12 17.5C10.5 17.5 10.5 13 10.5 13S10.5 12.77 10.6 12.5L13.32 15.21C13.13 16.35 12.76 17.5 12 17.5Z\";\r\nexport var mdiSubdirectoryArrowLeft = \"M11,9L12.42,10.42L8.83,14H18V4H20V16H8.83L12.42,19.58L11,21L5,15L11,9Z\";\r\nexport var mdiSubdirectoryArrowRight = \"M19,15L13,21L11.58,19.58L15.17,16H4V4H6V14H15.17L11.58,10.42L13,9L19,15Z\";\r\nexport var mdiSubmarine = \"M8 3.67C6.78 4.53 5.39 4.93 4 5H2V7H4C5.37 7 6.74 6.65 8 6C10.5 7.3 13.5 7.3 16 6C17.26 6.65 18.62 6.94 20 7H22V5H20C18.61 5 17.22 4.53 16 3.67C13.56 5.38 10.44 5.38 8 3.67M16 8.67L15 10V12H14L12 14H9L6 16L5 14H4V16L2 17L4 18V20H5.14L6 18L9 20H20A2 2 0 0 0 22 18V16A2 2 0 0 0 20 14H18L17 13V12H16V10H17V8.67Z\";\r\nexport var mdiSubtitles = \"M20,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6A2,2 0 0,0 20,4M4,12H8V14H4V12M14,18H4V16H14V18M20,18H16V16H20V18M20,14H10V12H20V14Z\";\r\nexport var mdiSubtitlesOutline = \"M20,4A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20M20,18V6H4V18H20M6,10H8V12H6V10M6,14H14V16H6V14M16,14H18V16H16V14M10,10H18V12H10V10Z\";\r\nexport var mdiSubway = \"M8.5,15A1,1 0 0,1 9.5,16A1,1 0 0,1 8.5,17A1,1 0 0,1 7.5,16A1,1 0 0,1 8.5,15M7,9H17V14H7V9M15.5,15A1,1 0 0,1 16.5,16A1,1 0 0,1 15.5,17A1,1 0 0,1 14.5,16A1,1 0 0,1 15.5,15M18,15.88V9C18,6.38 15.32,6 12,6C9,6 6,6.37 6,9V15.88A2.62,2.62 0 0,0 8.62,18.5L7.5,19.62V20H9.17L10.67,18.5H13.5L15,20H16.5V19.62L15.37,18.5C16.82,18.5 18,17.33 18,15.88M17.8,2.8C20.47,3.84 22,6.05 22,8.86V22H2V8.86C2,6.05 3.53,3.84 6.2,2.8C8,2.09 10.14,2 12,2C13.86,2 16,2.09 17.8,2.8Z\";\r\nexport var mdiSubwayAlertVariant = \"M16 11V6H11V11H16M14.5 17C15.3 17 16 16.3 16 15.5C16 14.7 15.3 14 14.5 14S13 14.7 13 15.5C13 16.3 13.7 17 14.5 17M9 11V6H4V11H9M5.5 17C6.3 17 7 16.3 7 15.5C7 14.7 6.3 14 5.5 14S4 14.7 4 15.5C4 16.3 4.7 17 5.5 17M10 2C14.4 2 18 2.5 18 6V15.5C18 17.4 16.4 19 14.5 19L16 20.5V21H4V20.5L5.5 19C3.6 19 2 17.4 2 15.5V6C2 2.5 5.6 2 10 2M20 13V7H22V13H20M20 17V15H22V17H20Z\";\r\nexport var mdiSubwayVariant = \"M18,11H13V6H18M16.5,17A1.5,1.5 0 0,1 15,15.5A1.5,1.5 0 0,1 16.5,14A1.5,1.5 0 0,1 18,15.5A1.5,1.5 0 0,1 16.5,17M11,11H6V6H11M7.5,17A1.5,1.5 0 0,1 6,15.5A1.5,1.5 0 0,1 7.5,14A1.5,1.5 0 0,1 9,15.5A1.5,1.5 0 0,1 7.5,17M12,2C7.58,2 4,2.5 4,6V15.5A3.5,3.5 0 0,0 7.5,19L6,20.5V21H18V20.5L16.5,19A3.5,3.5 0 0,0 20,15.5V6C20,2.5 16.42,2 12,2Z\";\r\nexport var mdiSummit = \"M15,3H17L22,5L17,7V10.17L22,21H2L8,13L11.5,17.7L15,10.17V3Z\";\r\nexport var mdiSunSnowflake = \"M12 .69L8.69 4H4V8.69L.69 12L4 15.31V20H8.69L12 23.31L13 22.31V17.83L16.24 21.07L17.66 19.66L13 15V13H15L19.66 17.66L21.07 16.24L17.83 13H22V11H17.83L21.07 7.76L19.66 6.34L15 11H13V9L17.66 4.34L16.24 2.93L13 6.17V1.69M11 6.09V8.13C9.24 8.59 8 10.18 8 12C8 13.82 9.24 15.41 11 15.87V17.91C8.12 17.42 6 14.93 6 12C6 9.07 8.11 6.57 11 6.09Z\";\r\nexport var mdiSunWireless = \"M11 6C13.76 6 16 8.24 16 11S13.76 16 11 16 6 13.76 6 11 8.24 6 11 6M11 1L13.39 4.42C12.65 4.15 11.84 4 11 4S9.35 4.15 8.61 4.42L11 1M2.34 6L6.5 5.65C5.9 6.16 5.36 6.78 4.94 7.5C4.5 8.24 4.25 9 4.11 9.79L2.34 6M2.36 16L4.12 12.23C4.26 13 4.53 13.78 4.95 14.5C5.37 15.24 5.91 15.86 6.5 16.37L2.36 16M19.65 6L17.88 9.79C17.74 9 17.47 8.23 17.05 7.5C16.63 6.78 16.1 6.15 15.5 5.64L19.65 6M23 13H21C21 15.05 20.22 17.1 18.66 18.66C17.09 20.23 15.05 21 13 21V23C15.56 23 18.12 22 20.07 20.07S23 15.56 23 13M19 13H17C17 14 16.61 15.05 15.83 15.83C15.05 16.61 14 17 13 17V19C14.54 19 16.08 18.41 17.25 17.24C18.41 16.08 19 14.54 19 13\";\r\nexport var mdiSunWirelessOutline = \"M11 1L13.39 4.42C12.65 4.15 11.84 4 11 4S9.35 4.15 8.61 4.42L11 1M2.34 6L6.5 5.65C5.9 6.16 5.36 6.78 4.94 7.5C4.5 8.24 4.25 9 4.11 9.79L2.34 6M2.36 16L4.12 12.23C4.26 13 4.53 13.78 4.95 14.5C5.37 15.24 5.91 15.86 6.5 16.37L2.36 16M19.65 6L17.88 9.79C17.74 9 17.47 8.23 17.05 7.5C16.63 6.78 16.1 6.15 15.5 5.64L19.65 6M23 13H21C21 15.05 20.22 17.1 18.66 18.66C17.09 20.23 15.05 21 13 21V23C15.56 23 18.12 22 20.07 20.07S23 15.56 23 13M19 13H17C17 14 16.61 15.05 15.83 15.83C15.05 16.61 14 17 13 17V19C14.54 19 16.08 18.41 17.25 17.24C18.41 16.08 19 14.54 19 13M11 8C12.65 8 14 9.35 14 11S12.65 14 11 14 8 12.65 8 11 9.35 8 11 8M11 6C8.24 6 6 8.24 6 11S8.24 16 11 16 16 13.76 16 11 13.76 6 11 6Z\";\r\nexport var mdiSunglasses = \"M7,17H4C2.38,17 0.96,15.74 0.76,14.14L0.26,11.15C0.15,10.3 0.39,9.5 0.91,8.92C1.43,8.34 2.19,8 3,8H9C9.83,8 10.58,8.35 11.06,8.96C11.17,9.11 11.27,9.27 11.35,9.45C11.78,9.36 12.22,9.36 12.64,9.45C12.72,9.27 12.82,9.11 12.94,8.96C13.41,8.35 14.16,8 15,8H21C21.81,8 22.57,8.34 23.09,8.92C23.6,9.5 23.84,10.3 23.74,11.11L23.23,14.18C23.04,15.74 21.61,17 20,17H17C15.44,17 13.92,15.81 13.54,14.3L12.64,11.59C12.26,11.31 11.73,11.31 11.35,11.59L10.43,14.37C10.07,15.82 8.56,17 7,17Z\";\r\nexport var mdiSurfing = \"M22 23V21C20.59 21.05 19.22 20.9 18 20C16.24 21.25 13.77 21.25 12 20C10.23 21.25 7.76 21.25 6 20C4.78 20.9 3.41 21.05 2 21V23C3.37 23.05 4.78 22.94 6 22.25C7.84 23.25 10.15 23.25 12 22.25C13.85 23.25 16.16 23.25 18 22.25C19.22 22.94 20.63 23.05 22 23M20.5 11.97V9.95C18.74 9.96 17 9 16.18 7.41L15.29 5.86C15 5.4 14.55 5.11 14.07 4.97L8.5 3.94L5 6.38L6.13 8L8.95 6.1L10.97 6.43L8.81 7.88C8.21 8.29 7.88 9 8 9.71L8.53 12.81C7.12 12.26 3.21 11 3 13.23C3.36 15.67 6.07 17.32 8.06 18.82C9.5 19.29 11.06 18.58 12 17.46C13.32 19.16 15.89 19.46 17.5 18C17.03 17.58 16.5 17.15 16 16.8V12.95L12.19 9.95L14.44 8.44C15.62 10.59 18 12 20.5 11.97M14 14V15.47C14 15.43 11.66 14.16 11.81 14.24L10.73 13.7L10.31 11.08L14 14M19 3.5C19 4.61 18.11 5.5 17 5.5S15 4.61 15 3.5 15.9 1.5 17 1.5 19 2.4 19 3.5Z\";\r\nexport var mdiSurroundSound = \"M20,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6A2,2 0 0,0 20,4M7.76,16.24L6.35,17.65C4.78,16.1 4,14.05 4,12C4,9.95 4.78,7.9 6.34,6.34L7.75,7.75C6.59,8.93 6,10.46 6,12C6,13.54 6.59,15.07 7.76,16.24M12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16M17.66,17.66L16.25,16.25C17.41,15.07 18,13.54 18,12C18,10.46 17.41,8.93 16.24,7.76L17.65,6.35C19.22,7.9 20,9.95 20,12C20,14.05 19.22,16.1 17.66,17.66M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\r\nexport var mdiSurroundSound20 = \"M17,7H19A2,2 0 0,1 21,9V15A2,2 0 0,1 19,17H17A2,2 0 0,1 15,15V9A2,2 0 0,1 17,7M17,9V15H19V9H17M9,17H3V15L7,9H3V7H7A2,2 0 0,1 9,9C9,9.42 8.87,9.81 8.65,10.13L5.41,15H9V17M12,17A1,1 0 0,1 11,16A1,1 0 0,1 12,15A1,1 0 0,1 13,16A1,1 0 0,1 12,17Z\";\r\nexport var mdiSurroundSound21 = \"M4 7V9H8V11H6A2 2 0 0 0 4 13V17H10V15H6V13H8A2 2 0 0 0 10 11V9A2 2 0 0 0 8 7H4M16 7V9H18V17H20V7H16M12 15V17H14V15H12Z\";\r\nexport var mdiSurroundSound31 = \"M13,17A1,1 0 0,1 12,16A1,1 0 0,1 13,15A1,1 0 0,1 14,16A1,1 0 0,1 13,17M19,7V15H20V17H16V15H17V9H16L17,7H19M4,7H8A2,2 0 0,1 10,9V15A2,2 0 0,1 8,17H4V15H8V13H5V11H8V9H4V7Z\";\r\nexport var mdiSurroundSound51 = \"M13,17A1,1 0 0,1 12,16A1,1 0 0,1 13,15A1,1 0 0,1 14,16A1,1 0 0,1 13,17M19,7V15H20V17H16V15H17V9H16L17,7H19M6,13A2,2 0 0,1 4,11V7H10V9H6V11H8A2,2 0 0,1 10,13V15A2,2 0 0,1 8,17H4V15H8V13H6Z\";\r\nexport var mdiSurroundSound512 = \"M2 8V13H5V14H2V16H5C6.11 16 7 15.11 7 14V13C7 11.9 6.11 11 5 11H4V10H7V8H2M10 8V10H11V16H13V8H10M17 8V10H20V11H19C17.9 11 17 11.9 17 13V16H22V14H19V13H20C21.11 13 22 12.11 22 11V10C22 8.9 21.11 8 20 8H17M8 14V16H10V14H8M14 14V16H16V14H14Z\";\r\nexport var mdiSurroundSound71 = \"M12,17A1,1 0 0,1 11,16A1,1 0 0,1 12,15A1,1 0 0,1 13,16A1,1 0 0,1 12,17M18,7V15H19V17H15V15H16V9H15L16,7H18M11,7L8,17H6L8.4,9H5V7H11Z\";\r\nexport var mdiSvg = \"M5.13,10.71H8.87L6.22,8.06C5.21,8.06 4.39,7.24 4.39,6.22A1.83,1.83 0 0,1 6.22,4.39C7.24,4.39 8.06,5.21 8.06,6.22L10.71,8.87V5.13C10,4.41 10,3.25 10.71,2.54C11.42,1.82 12.58,1.82 13.29,2.54C14,3.25 14,4.41 13.29,5.13V8.87L15.95,6.22C15.95,5.21 16.76,4.39 17.78,4.39C18.79,4.39 19.61,5.21 19.61,6.22C19.61,7.24 18.79,8.06 17.78,8.06L15.13,10.71H18.87C19.59,10 20.75,10 21.46,10.71C22.18,11.42 22.18,12.58 21.46,13.29C20.75,14 19.59,14 18.87,13.29H15.13L17.78,15.95C18.79,15.95 19.61,16.76 19.61,17.78A1.83,1.83 0 0,1 17.78,19.61C16.76,19.61 15.95,18.79 15.95,17.78L13.29,15.13V18.87C14,19.59 14,20.75 13.29,21.46C12.58,22.18 11.42,22.18 10.71,21.46C10,20.75 10,19.59 10.71,18.87V15.13L8.06,17.78C8.06,18.79 7.24,19.61 6.22,19.61C5.21,19.61 4.39,18.79 4.39,17.78C4.39,16.76 5.21,15.95 6.22,15.95L8.87,13.29H5.13C4.41,14 3.25,14 2.54,13.29C1.82,12.58 1.82,11.42 2.54,10.71C3.25,10 4.41,10 5.13,10.71Z\";\r\nexport var mdiSwapHorizontal = \"M21,9L17,5V8H10V10H17V13M7,11L3,15L7,19V16H14V14H7V11Z\";\r\nexport var mdiSwapHorizontalBold = \"M8,10V13H14V18H8V21L2,15.5L8,10M22,8.5L16,3V6H10V11H16V14L22,8.5Z\";\r\nexport var mdiSwapHorizontalCircle = \"M22 12C22 6.5 17.5 2 12 2S2 6.5 2 12 6.5 22 12 22 22 17.5 22 12M15 6.5L18.5 10L15 13.5V11H11V9H15V6.5M9 17.5L5.5 14L9 10.5V13H13V15H9V17.5Z\";\r\nexport var mdiSwapHorizontalCircleOutline = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 20C7.59 20 4 16.41 4 12S7.59 4 12 4 20 7.59 20 12 16.41 20 12 20M15 6.5V9H11V11H15V13.5L18.5 10L15 6.5M9 10.5L5.5 14L9 17.5V15H13V13H9V10.5Z\";\r\nexport var mdiSwapHorizontalVariant = \"M4,6L8,10V7H16A2,2 0 0,1 18,9A2,2 0 0,1 16,11H8A4,4 0 0,0 4,15A4,4 0 0,0 8,19H16V22L20,18L16,14V17H8A2,2 0 0,1 6,15A2,2 0 0,1 8,13H16A4,4 0 0,0 20,9A4,4 0 0,0 16,5H8V2L4,6Z\";\r\nexport var mdiSwapVertical = \"M9,3L5,7H8V14H10V7H13M16,17V10H14V17H11L15,21L19,17H16Z\";\r\nexport var mdiSwapVerticalBold = \"M14,8H11V14H6V8H3L8.5,2L14,8M15.5,22L21,16H18V10H13V16H10L15.5,22Z\";\r\nexport var mdiSwapVerticalCircle = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M6.5 9L10 5.5L13.5 9H11V13H9V9H6.5M17.5 15L14 18.5L10.5 15H13V11H15V15H17.5Z\";\r\nexport var mdiSwapVerticalCircleOutline = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 20C7.59 20 4 16.41 4 12S7.59 4 12 4 20 7.59 20 12 16.41 20 12 20M6.5 9L10 5.5L13.5 9H11V13H9V9H6.5M17.5 15L14 18.5L10.5 15H13V11H15V15H17.5Z\";\r\nexport var mdiSwapVerticalVariant = \"M18,4L14,8H17V16A2,2 0 0,1 15,18A2,2 0 0,1 13,16V8A4,4 0 0,0 9,4A4,4 0 0,0 5,8V16H2L6,20L10,16H7V8A2,2 0 0,1 9,6A2,2 0 0,1 11,8V16A4,4 0 0,0 15,20A4,4 0 0,0 19,16V8H22L18,4Z\";\r\nexport var mdiSwim = \"M2,18C4.22,17 6.44,16 8.67,16C10.89,16 13.11,18 15.33,18C17.56,18 19.78,16 22,16V19C19.78,19 17.56,21 15.33,21C13.11,21 10.89,19 8.67,19C6.44,19 4.22,20 2,21V18M8.67,13C7.89,13 7.12,13.12 6.35,13.32L11.27,9.88L10.23,8.64C10.09,8.47 10,8.24 10,8C10,7.66 10.17,7.35 10.44,7.17L16.16,3.17L17.31,4.8L12.47,8.19L17.7,14.42C16.91,14.75 16.12,15 15.33,15C13.11,15 10.89,13 8.67,13M18,7A2,2 0 0,1 20,9A2,2 0 0,1 18,11A2,2 0 0,1 16,9A2,2 0 0,1 18,7Z\";\r\nexport var mdiSwitch = \"M13,18H14A1,1 0 0,1 15,19H22V21H15A1,1 0 0,1 14,22H10A1,1 0 0,1 9,21H2V19H9A1,1 0 0,1 10,18H11V16H8A1,1 0 0,1 7,15V3A1,1 0 0,1 8,2H16A1,1 0 0,1 17,3V15A1,1 0 0,1 16,16H13V18M13,6H14V4H13V6M9,4V6H11V4H9M9,8V10H11V8H9M9,12V14H11V12H9Z\";\r\nexport var mdiSword = \"M6.92,5H5L14,14L15,13.06M19.96,19.12L19.12,19.96C18.73,20.35 18.1,20.35 17.71,19.96L14.59,16.84L11.91,19.5L10.5,18.09L11.92,16.67L3,7.75V3H7.75L16.67,11.92L18.09,10.5L19.5,11.91L16.83,14.58L19.95,17.7C20.35,18.1 20.35,18.73 19.96,19.12Z\";\r\nexport var mdiSwordCross = \"M6.2,2.44L18.1,14.34L20.22,12.22L21.63,13.63L19.16,16.1L22.34,19.28C22.73,19.67 22.73,20.3 22.34,20.69L21.63,21.4C21.24,21.79 20.61,21.79 20.22,21.4L17,18.23L14.56,20.7L13.15,19.29L15.27,17.17L3.37,5.27V2.44H6.2M15.89,10L20.63,5.26V2.44H17.8L13.06,7.18L15.89,10M10.94,15L8.11,12.13L5.9,14.34L3.78,12.22L2.37,13.63L4.84,16.1L1.66,19.29C1.27,19.68 1.27,20.31 1.66,20.7L2.37,21.41C2.76,21.8 3.39,21.8 3.78,21.41L7,18.23L9.44,20.7L10.85,19.29L8.73,17.17L10.94,15Z\";\r\nexport var mdiSyllabaryHangul = \"M8 4V6H4V8H6.39C5.55 8.74 5 9.8 5 11C5 13.2 6.8 15 9 15C11.2 15 13 13.2 13 11C13 9.8 12.45 8.74 11.61 8H14V6H10V4M15 4V16H17V11H20V9H17V4M9 9C10.12 9 11 9.88 11 11C11 12.12 10.12 13 9 13C7.88 13 7 12.12 7 11C7 9.88 7.88 9 9 9M7 16V20H17V18H9V16Z\";\r\nexport var mdiSyllabaryHiragana = \"M9 4V6H6V8H9V10C6.25 10 4 12.27 4 15.03C4 17.8 6.26 20.06 9.03 20.06C9.89 20.06 10.72 19.77 11.4 19.26C11.63 19.54 11.88 19.82 12.15 20.09L13.56 18.67C13.3 18.42 13.07 18.15 12.86 17.89L13.86 16.89C14.93 15.82 15.78 14.23 16.42 12.59C17.31 13.11 18 13.9 18 15C18 16.32 17.47 17.6 16.54 18.54L17.95 19.95C19.26 18.64 20 16.86 20 15C20 13.04 18.82 11.36 17.15 10.55L17.5 9.29L15.55 8.78L15.21 10.05C15.13 10.05 15.06 10 14.97 10H11V8H16V6H11V4M11 12H14.5C13.94 13.37 13.19 14.72 12.44 15.47L11.79 16.13C11.25 14.93 11 13.59 11 12M9 12C9 14.07 9.41 15.94 10.3 17.59C9.94 17.89 9.5 18.06 9.03 18.06C7.33 18.06 6 16.73 6 15.03C6 13.34 7.32 12 9 12Z\";\r\nexport var mdiSyllabaryKatakana = \"M4 4V6H18V6.09L14.29 9.79L15.71 11.21L20 6.91V4M11 9V13C11 15.78 10.25 16.89 8.36 18.46L9.64 20C11.75 18.24 13 16.22 13 13V9Z\";\r\nexport var mdiSyllabaryKatakanaHalfwidth = \"M8 4V6H14L13 10.81L15 11.2L16 6.1V4M10 9V12C10 14.86 9.34 17.29 8.08 18.61L9.5 20C11.35 18.08 12 15.15 12 12V9Z\";\r\nexport var mdiSymbol = \"M2 7V14H4V7H2M6 7V9H10V11H8V14H10V13C11.11 13 12 12.11 12 11V9C12 7.89 11.11 7 10 7H6M15.8 7L15.6 9H14V11H15.4L15.2 13H14V15H15L14.8 17H16.8L17 15H18.4L18.2 17H20.2L20.4 15H22V13H20.6L20.8 11H22V9H21L21.2 7H19.2L19 9H17.6L17.8 7H15.8M17.4 11H18.8L18.6 13H17.2L17.4 11M2 15V17H4V15H2M8 15V17H10V15H8Z\";\r\nexport var mdiSymfony = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.37,5.7V5.7C17.39,5.67 18.15,6.13 18.21,6.84C18.22,7.15 18.04,7.75 17.42,7.77C16.95,7.79 16.63,7.5 16.62,7.09C16.61,6.93 16.88,6.42 16.88,6.33C16.87,6.06 16.47,6.05 16.36,6.06C14.86,6.11 14.46,8.13 14.14,9.78L14,10.65C14.84,10.78 15.46,10.62 15.8,10.4C16.28,10.09 15.66,9.77 15.74,9.41C15.82,9.04 16.15,8.87 16.41,8.86C16.78,8.85 17.04,9.23 17.03,9.62C17,10.26 16.17,11.14 14.5,11.1C14.28,11.1 14.09,11.08 13.91,11.06C13.3,14.16 12.92,16 11.56,17.58C10.39,18.97 9.2,19.18 8.67,19.2C7.67,19.24 7,18.71 7,18C6.97,17.32 7.57,16.94 7.97,16.93C8.5,16.91 8.87,17.3 8.88,17.74C8.9,18.11 8.7,18.23 8.57,18.3C8.5,18.37 8.35,18.45 8.36,18.6C8.36,18.67 8.43,18.82 8.65,18.81C9.07,18.8 9.34,18.59 9.54,18.45C10.5,17.65 10.88,16.24 11.37,13.68C11.63,12.23 11.82,11.3 12.1,10.38C11.42,9.87 11,9.23 10.09,9C9.46,8.81 9.08,8.96 8.81,9.3C8.5,9.71 8.6,10.23 8.9,10.54C10.05,11.82 10.39,12.38 10.26,13.14C10.06,14.35 8.62,15.27 6.92,14.75C5.47,14.3 5.2,13.28 5.37,12.71C5.53,12.22 5.92,12.12 6.31,12.24C6.73,12.37 6.89,12.87 6.77,13.26C6.75,13.3 6.55,13.67 6.5,13.79C6.41,14.1 6.83,14.31 7.12,14.4C7.77,14.6 8.4,14.26 8.55,13.73C8.7,13.25 8.4,12.91 8.27,12.78C7.38,11.8 6.76,10.93 7.06,9.95C7.18,9.58 7.42,9.18 7.78,8.91C8.53,8.36 9.35,8.26 10.12,8.5C11.13,8.77 11.61,9.44 12.24,9.95C12.59,8.93 13.08,7.92 13.81,7.07C14.47,6.3 15.35,5.74 16.37,5.7Z\";\r\nexport var mdiSync = \"M12,18A6,6 0 0,1 6,12C6,11 6.25,10.03 6.7,9.2L5.24,7.74C4.46,8.97 4,10.43 4,12A8,8 0 0,0 12,20V23L16,19L12,15M12,4V1L8,5L12,9V6A6,6 0 0,1 18,12C18,13 17.75,13.97 17.3,14.8L18.76,16.26C19.54,15.03 20,13.57 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiSyncAlert = \"M11,13H13V7H11M21,4H15V10L17.24,7.76C18.32,8.85 19,10.34 19,12C19,14.61 17.33,16.83 15,17.65V19.74C18.45,18.85 21,15.73 21,12C21,9.79 20.09,7.8 18.64,6.36M11,17H13V15H11M3,12C3,14.21 3.91,16.2 5.36,17.64L3,20H9V14L6.76,16.24C5.68,15.15 5,13.66 5,12C5,9.39 6.67,7.17 9,6.35V4.26C5.55,5.15 3,8.27 3,12Z\";\r\nexport var mdiSyncCircle = \"M2 12A10 10 0 1 0 12 2A10 10 0 0 0 2 12M15.6 13.72A4 4 0 0 0 16 12A4 4 0 0 0 12 8V10L8.88 7L12 4V6A6 6 0 0 1 18 12A5.9 5.9 0 0 1 17.07 15.19M6 12A5.9 5.9 0 0 1 6.93 8.81L8.4 10.28A4 4 0 0 0 8 12A4 4 0 0 0 12 16V14L15 17L12 20V18A6 6 0 0 1 6 12Z\";\r\nexport var mdiSyncOff = \"M20,4H14V10L16.24,7.76C17.32,8.85 18,10.34 18,12C18,13 17.75,13.94 17.32,14.77L18.78,16.23C19.55,15 20,13.56 20,12C20,9.79 19.09,7.8 17.64,6.36L20,4M2.86,5.41L5.22,7.77C4.45,9 4,10.44 4,12C4,14.21 4.91,16.2 6.36,17.64L4,20H10V14L7.76,16.24C6.68,15.15 6,13.66 6,12C6,11 6.25,10.06 6.68,9.23L14.76,17.31C14.5,17.44 14.26,17.56 14,17.65V19.74C14.79,19.53 15.54,19.2 16.22,18.78L18.58,21.14L19.85,19.87L4.14,4.14L2.86,5.41M10,6.35V4.26C9.2,4.47 8.45,4.8 7.77,5.22L9.23,6.68C9.5,6.56 9.73,6.44 10,6.35Z\";\r\nexport var mdiTab = \"M21,3H3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V5A2,2 0 0,0 21,3M21,19H3V5H13V9H21V19Z\";\r\nexport var mdiTabMinus = \"M3,3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V5A2,2 0 0,0 21,3H3M3,5H13V9H21V19H3V5M7,13V15H15V13H7Z\";\r\nexport var mdiTabPlus = \"M3,3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V5A2,2 0 0,0 21,3H3M3,5H13V9H21V19H3V5M10,10V13H7V15H10V18H12V15H15V13H12V10H10Z\";\r\nexport var mdiTabRemove = \"M7.46,11.88L8.88,10.46L11,12.59L13.12,10.46L14.54,11.88L12.41,14L14.54,16.12L13.12,17.54L11,15.41L8.88,17.54L7.46,16.12L9.59,14L7.46,11.88M3,3H21A2,2 0 0,1 23,5V19A2,2 0 0,1 21,21H3A2,2 0 0,1 1,19V5A2,2 0 0,1 3,3M3,5V19H21V9H13V5H3Z\";\r\nexport var mdiTabUnselected = \"M1,9H3V7H1V9M1,13H3V11H1V13M1,5H3V3A2,2 0 0,0 1,5M9,21H11V19H9V21M1,17H3V15H1V17M3,21V19H1A2,2 0 0,0 3,21M21,3H13V9H23V5A2,2 0 0,0 21,3M21,17H23V15H21V17M9,5H11V3H9V5M5,21H7V19H5V21M5,5H7V3H5V5M21,21A2,2 0 0,0 23,19H21V21M21,13H23V11H21V13M13,21H15V19H13V21M17,21H19V19H17V21Z\";\r\nexport var mdiTable = \"M5,4H19A2,2 0 0,1 21,6V18A2,2 0 0,1 19,20H5A2,2 0 0,1 3,18V6A2,2 0 0,1 5,4M5,8V12H11V8H5M13,8V12H19V8H13M5,14V18H11V14H5M13,14V18H19V14H13Z\";\r\nexport var mdiTableAccount = \"M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4M23 22V21C23 19.67 20.33 19 19 19S15 19.67 15 21V22H23M19 14C17.9 14 17 14.9 17 16S17.9 18 19 18 21 17.11 21 16 20.11 14 19 14Z\";\r\nexport var mdiTableAlert = \"M3 4H17C18.11 4 19 4.89 19 6V18C19 19.11 18.11 20 17 20H3C1.9 20 1 19.11 1 18V6C1 4.89 1.9 4 3 4M3 8V12H9V8H3M11 8V12H17V8H11M3 14V18H9V14H3M11 14V18H17V14H11M23 7H21V13H23V7M23 15H21V17H23V15Z\";\r\nexport var mdiTableArrowDown = \"M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4M15.94 18.5H17.94V14.5H19.94V18.5H21.94L18.94 21.5L15.94 18.5\";\r\nexport var mdiTableArrowLeft = \"M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4M18.44 15V17H22.44V19H18.44V21L15.44 18L18.44 15\";\r\nexport var mdiTableArrowRight = \"M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4M19.44 21V19H15.44V17H19.44V15L22.44 18L19.44 21\";\r\nexport var mdiTableArrowUp = \"M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4M21.94 17.5H19.94V21.5H17.94V17.5H15.94L18.94 14.5L21.94 17.5\";\r\nexport var mdiTableBorder = \"M21,19A1,1 0 0,1 20,20H19V18H21V19M15,20V18H17V20H15M11,20V18H13V20H11M7,20V18H9V20H7M4,20A1,1 0 0,1 3,19V18H5V20H4M19,4H5A2,2 0 0,0 3,6V8H5L11,8H13L19,8H21V6C21,4.89 20.11,4 19,4M5,14H3V16H5V14M5,10H3V12H5V10M21,10H19V12H21V10M21,14H19V16H21V14M11,16V14H13V16H11M11,12V10H13V12H11\";\r\nexport var mdiTableCancel = \"M3 3H17C18.11 3 19 3.9 19 5V12.08C17.45 11.82 15.92 12.18 14.68 13H11V17H12.08C11.97 17.68 11.97 18.35 12.08 19H3C1.9 19 1 18.11 1 17V5C1 3.9 1.9 3 3 3M3 7V11H9V7H3M11 7V11H17V7H11M3 13V17H9V13H3M18.5 14C16 14 14 16 14 18.5S16 23 18.5 23 23 21 23 18.5 21 14 18.5 14M18.5 21.5C16.84 21.5 15.5 20.16 15.5 18.5C15.5 17.94 15.65 17.42 15.92 17L20 21.08C19.58 21.35 19.06 21.5 18.5 21.5M21.08 20L17 15.92C17.42 15.65 17.94 15.5 18.5 15.5C20.16 15.5 21.5 16.84 21.5 18.5C21.5 19.06 21.35 19.58 21.08 20Z\";\r\nexport var mdiTableChair = \"M12 22H6A2 2 0 0 1 8 20V8H2V5H16V8H10V20A2 2 0 0 1 12 22M22 2V22H20V15H15V22H13V14A2 2 0 0 1 15 12H20V2Z\";\r\nexport var mdiTableCheck = \"M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4M17.75 21L15 18L16.16 16.84L17.75 18.43L21.34 14.84L22.5 16.25L17.75 21\";\r\nexport var mdiTableClock = \"M16.5 15.82L18.94 17.23L18.19 18.53L15 16.69V13H16.5V15.82M20 10.26V5C20 3.9 19.11 3 18 3H4C2.9 3 2 3.9 2 5V17C2 18.11 2.9 19 4 19H9.68C10.81 21.36 13.21 23 16 23C19.87 23 23 19.87 23 16C23 13.62 21.81 11.53 20 10.26M18 7V9.29C17.37 9.11 16.7 9 16 9C14.5 9 13.13 9.47 12 10.26V7H18M4 7H10V11H4V7M4 17V13H9.68C9.25 13.91 9 14.93 9 16C9 16.34 9.03 16.67 9.08 17H4M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21Z\";\r\nexport var mdiTableCog = \"M3 3H17C18.11 3 19 3.9 19 5V12.08C17.45 11.82 15.92 12.18 14.68 13H11V17H12.08C11.97 17.68 11.97 18.35 12.08 19H3C1.9 19 1 18.11 1 17V5C1 3.9 1.9 3 3 3M3 7V11H9V7H3M11 7V11H17V7H11M3 13V17H9V13H3M22.78 19.32L21.71 18.5C21.73 18.33 21.75 18.17 21.75 18S21.74 17.67 21.71 17.5L22.77 16.68C22.86 16.6 22.89 16.47 22.83 16.36L21.83 14.63C21.77 14.5 21.64 14.5 21.5 14.5L20.28 15C20 14.82 19.74 14.65 19.43 14.53L19.24 13.21C19.23 13.09 19.12 13 19 13H17C16.88 13 16.77 13.09 16.75 13.21L16.56 14.53C16.26 14.66 15.97 14.82 15.71 15L14.47 14.5C14.36 14.5 14.23 14.5 14.16 14.63L13.16 16.36C13.1 16.47 13.12 16.6 13.22 16.68L14.28 17.5C14.26 17.67 14.25 17.83 14.25 18S14.26 18.33 14.28 18.5L13.22 19.32C13.13 19.4 13.1 19.53 13.16 19.64L14.16 21.37C14.22 21.5 14.35 21.5 14.47 21.5L15.71 21C15.97 21.18 16.25 21.35 16.56 21.47L16.75 22.79C16.77 22.91 16.87 23 17 23H19C19.12 23 19.23 22.91 19.25 22.79L19.44 21.47C19.74 21.34 20 21.18 20.28 21L21.5 21.5C21.64 21.5 21.77 21.5 21.84 21.37L22.84 19.64C22.9 19.53 22.87 19.4 22.78 19.32M18 19.5C17.17 19.5 16.5 18.83 16.5 18S17.18 16.5 18 16.5 19.5 17.17 19.5 18 18.84 19.5 18 19.5Z\";\r\nexport var mdiTableColumn = \"M8,2H16A2,2 0 0,1 18,4V20A2,2 0 0,1 16,22H8A2,2 0 0,1 6,20V4A2,2 0 0,1 8,2M8,10V14H16V10H8M8,16V20H16V16H8M8,4V8H16V4H8Z\";\r\nexport var mdiTableColumnPlusAfter = \"M11,2A2,2 0 0,1 13,4V20A2,2 0 0,1 11,22H2V2H11M4,10V14H11V10H4M4,16V20H11V16H4M4,4V8H11V4H4M15,11H18V8H20V11H23V13H20V16H18V13H15V11Z\";\r\nexport var mdiTableColumnPlusBefore = \"M13,2A2,2 0 0,0 11,4V20A2,2 0 0,0 13,22H22V2H13M20,10V14H13V10H20M20,16V20H13V16H20M20,4V8H13V4H20M9,11H6V8H4V11H1V13H4V16H6V13H9V11Z\";\r\nexport var mdiTableColumnRemove = \"M4,2H11A2,2 0 0,1 13,4V20A2,2 0 0,1 11,22H4A2,2 0 0,1 2,20V4A2,2 0 0,1 4,2M4,10V14H11V10H4M4,16V20H11V16H4M4,4V8H11V4H4M17.59,12L15,9.41L16.41,8L19,10.59L21.59,8L23,9.41L20.41,12L23,14.59L21.59,16L19,13.41L16.41,16L15,14.59L17.59,12Z\";\r\nexport var mdiTableColumnWidth = \"M5,8H19A2,2 0 0,1 21,10V20A2,2 0 0,1 19,22H5A2,2 0 0,1 3,20V10A2,2 0 0,1 5,8M5,12V15H11V12H5M13,12V15H19V12H13M5,17V20H11V17H5M13,17V20H19V17H13M11,2H21V6H19V4H13V6H11V2Z\";\r\nexport var mdiTableEdit = \"M21.7,13.35L20.7,14.35L18.65,12.3L19.65,11.3C19.86,11.08 20.21,11.08 20.42,11.3L21.7,12.58C21.92,12.79 21.92,13.14 21.7,13.35M12,18.94L18.07,12.88L20.12,14.93L14.06,21H12V18.94M4,2H18A2,2 0 0,1 20,4V8.17L16.17,12H12V16.17L10.17,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M4,6V10H10V6H4M12,6V10H18V6H12M4,12V16H10V12H4Z\";\r\nexport var mdiTableEye = \"M17 16.88C17.56 16.88 18 17.32 18 17.88S17.56 18.88 17 18.88 16 18.43 16 17.88 16.44 16.88 17 16.88M17 13.88C19.73 13.88 22.06 15.54 23 17.88C22.06 20.22 19.73 21.88 17 21.88S11.94 20.22 11 17.88C11.94 15.54 14.27 13.88 17 13.88M17 15.38C15.62 15.38 14.5 16.5 14.5 17.88S15.62 20.38 17 20.38 19.5 19.26 19.5 17.88 18.38 15.38 17 15.38M18 3H4C2.9 3 2 3.9 2 5V17C2 18.1 2.9 19 4 19H9.42C9.26 18.68 9.12 18.34 9 18C9.12 17.66 9.26 17.32 9.42 17H4V13H10V15.97C10.55 15.11 11.23 14.37 12 13.76V13H13.15C14.31 12.36 15.62 12 17 12C18.06 12 19.07 12.21 20 12.59V5C20 3.9 19.1 3 18 3M10 11H4V7H10V11M18 11H12V7H18V11Z\";\r\nexport var mdiTableEyeOff = \"M12 8.8L6.2 3H18C19.1 3 20 3.9 20 5V12.59C19.07 12.21 18.06 12 17 12C16.45 12 15.91 12.07 15.38 12.18L14.2 11H18V7H12V8.8M17.09 13.89L22.31 19.11C22.58 18.73 22.82 18.32 23 17.88C22.07 15.57 19.78 13.92 17.09 13.89M22.11 21.46L20.84 22.73L19.5 21.37C18.71 21.69 17.88 21.88 17 21.88C14.27 21.88 11.94 20.22 11 17.88C11.45 16.76 12.23 15.8 13.21 15.1L11.93 13.82C11.19 14.42 10.53 15.14 10 15.97V13H4V17H9.42C9.26 17.32 9.12 17.66 9 18C9.12 18.34 9.26 18.68 9.42 19H4C2.9 19 2 18.1 2 17V5C2 4.68 2.08 4.38 2.22 4.11L1.11 3L2.39 1.73L22.11 21.46M9.11 11L5.11 7H4V11H9.11M18.18 20.07L14.81 16.7C14.61 17.05 14.5 17.45 14.5 17.88C14.5 19.26 15.62 20.38 17 20.38C17.43 20.38 17.83 20.27 18.18 20.07Z\";\r\nexport var mdiTableFurniture = \"M2 7H22V10H20L21 19H18.5L17.94 14H6.06L5.5 19H3L4 10H2V7M17.5 10H6.5L6.29 12H17.71L17.5 10Z\";\r\nexport var mdiTableHeadersEye = \"M1 6V19A2 2 0 0 0 3 21H9V11H21V6A2 2 0 0 0 19 4H3A2 2 0 0 0 1 6M3 6H7V9H3M7 19H3V16H7M7 14H3V11H7M9 9V6H13V9M19 9H15V6H19M17 16A1 1 0 1 1 16 17A1 1 0 0 1 17 16M17 13A6.45 6.45 0 0 1 23 17A6.5 6.5 0 0 1 11 17A6.45 6.45 0 0 1 17 13M17 14.5A2.5 2.5 0 1 0 19.5 17A2.5 2.5 0 0 0 17 14.5\";\r\nexport var mdiTableHeadersEyeOff = \"M2.38 1.73L1.11 3L2.26 4.15A2 2 0 0 0 1 6V19A2 2 0 0 0 3 21H9V11H9.11L12.72 14.61A6.21 6.21 0 0 0 11 17A6.45 6.45 0 0 0 17 21A6.55 6.55 0 0 0 18.84 20.73L20.84 22.73L22.11 21.46L20.58 19.93M7 19H3V16H7M7 14H3V11H7M7 9H3V6H4.11L7 8.89M17 19.5A2.5 2.5 0 0 1 14.56 16.45L17.56 19.45A2.5 2.5 0 0 1 17 19.5M16.24 13L17.85 14.61A2.5 2.5 0 0 1 19.35 16.11L21.94 18.7A6.44 6.44 0 0 0 23 17A6.45 6.45 0 0 0 17 13H16.24M13 6V9H12.2L14.2 11H21V6A2 2 0 0 0 19 4H7.2L9.2 6M15 6H19V9H15Z\";\r\nexport var mdiTableHeart = \"M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4M19 22.3L18.4 21.8C16.4 19.9 15 18.7 15 17.2C15 16 16 15 17.2 15C17.9 15 18.6 15.3 19 15.8C19.4 15.3 20.1 15 20.8 15C22 15 23 15.9 23 17.2C23 18.7 21.6 19.9 19.6 21.8L19 22.3\";\r\nexport var mdiTableKey = \"M16.83 17C16.42 15.83 15.31 15 14 15C12.34 15 11 16.34 11 18S12.34 21 14 21C15.31 21 16.42 20.17 16.83 19H19V21H21V19H22V17H16.83M14 19C13.45 19 13 18.55 13 18S13.45 17 14 17 15 17.45 15 18 14.55 19 14 19M9 18H4V14H10V15.03C10.91 13.81 12.36 13 14 13C15.1 13 16.14 13.37 17 14H18V15L18 15H20V6C20 4.89 19.11 4 18 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H9.42C9.15 19.39 9 18.71 9 18M12 8H18V12H12V8M4 8H10V12H4V8Z\";\r\nexport var mdiTableLarge = \"M4,3H20A2,2 0 0,1 22,5V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V5A2,2 0 0,1 4,3M4,7V10H8V7H4M10,7V10H14V7H10M20,10V7H16V10H20M4,12V15H8V12H4M4,20H8V17H4V20M10,12V15H14V12H10M10,20H14V17H10V20M20,20V17H16V20H20M20,12H16V15H20V12Z\";\r\nexport var mdiTableLargePlus = \"M12.35 20H10V17H12.09C12.21 16.28 12.46 15.61 12.81 15H10V12H14V13.54C14.58 13 15.25 12.61 16 12.35V12H20V12.35C20.75 12.61 21.42 13 22 13.54V5C22 3.9 21.1 3 20 3H4C2.9 3 2 3.9 2 5V20C2 21.1 2.9 22 4 22H13.54C13 21.42 12.61 20.75 12.35 20M16 7H20V10H16V7M10 7H14V10H10V7M8 20H4V17H8V20M8 15H4V12H8V15M8 10H4V7H8V10M17 14H19V17H22V19H19V22H17V19H14V17H17V14\";\r\nexport var mdiTableLargeRemove = \"M12.35 20H10V17H12.09C12.21 16.28 12.46 15.61 12.81 15H10V12H14V13.54C14.58 13 15.25 12.61 16 12.35V12H20V12.35C20.75 12.61 21.42 13 22 13.54V5C22 3.9 21.1 3 20 3H4C2.9 3 2 3.9 2 5V20C2 21.1 2.9 22 4 22H13.54C13 21.42 12.61 20.75 12.35 20M16 7H20V10H16V7M10 7H14V10H10V7M8 20H4V17H8V20M8 15H4V12H8V15M8 10H4V7H8V10M14.46 15.88L15.88 14.46L18 16.59L20.12 14.46L21.54 15.88L19.41 18L21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.46 20.12L16.59 18L14.46 15.88\";\r\nexport var mdiTableLock = \"M21 16V15.5C21 14.12 19.88 13 18.5 13S16 14.12 16 15.5V16C15.45 16 15 16.45 15 17V21C15 21.55 15.45 22 16 22H21C21.55 22 22 21.55 22 21V17C22 16.45 21.55 16 21 16M20 16H17V15.5C17 14.67 17.67 14 18.5 14S20 14.67 20 15.5V16M13 18H12V14H14.26C14.54 13.21 15.04 12.5 15.69 12H12V8H18V11.05C18.17 11.03 18.33 11 18.5 11C19.03 11 19.53 11.1 20 11.26V6C20 4.89 19.11 4 18 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13V18M10 18H4V14H10V18M10 12H4V8H10V12Z\";\r\nexport var mdiTableMergeCells = \"M5,10H3V4H11V6H5V10M19,18H13V20H21V14H19V18M5,18V14H3V20H11V18H5M21,4H13V6H19V10H21V4M8,13V15L11,12L8,9V11H3V13H8M16,11V9L13,12L16,15V13H21V11H16Z\";\r\nexport var mdiTableMinus = \"M15 19V17H23V19H15M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4Z\";\r\nexport var mdiTableMultiple = \"M7 2H21C22.11 2 23 2.9 23 4V16C23 17.11 22.11 18 21 18H7C5.9 18 5 17.11 5 16V4C5 2.9 5.9 2 7 2M7 6V10H13V6H7M15 6V10H21V6H15M7 12V16H13V12H7M15 12V16H21V12H15M3 20V6H1V20C1 21.11 1.89 22 3 22H19V20H3Z\";\r\nexport var mdiTableNetwork = \"M15 20C15 19.45 14.55 19 14 19H13V17H19C20.11 17 21 16.11 21 15V3C21 1.9 20.11 1 19 1H5C3.9 1 3 1.9 3 3V15C3 16.11 3.9 17 5 17H11V19H10C9.45 19 9 19.45 9 20H2V22H9C9 22.55 9.45 23 10 23H14C14.55 23 15 22.55 15 22H22V20H15M13 5H19V9H13V5M13 11H19V15H13V11M5 5H11V9H5V5M5 15V11H11V15H5Z\";\r\nexport var mdiTableOfContents = \"M3,9H17V7H3V9M3,13H17V11H3V13M3,17H17V15H3V17M19,17H21V15H19V17M19,7V9H21V7H19M19,13H21V11H19V13Z\";\r\nexport var mdiTableOff = \"M22.11 21.46L2.39 1.73L1.11 3L3.22 5.11C3.08 5.38 3 5.68 3 6V18C3 19.11 3.9 20 5 20H18.11L20.84 22.73L22.11 21.46M10.11 12H5V8H6.11L10.11 12M11 18H5V14H11V18M13 18V14.89L16.11 18H13M13 9.8L7.2 4H19C20.11 4 21 4.89 21 6V17.8L19 15.8V14H17.2L15.2 12H19V8H13V9.8Z\";\r\nexport var mdiTablePicnic = \"M4 6H20V9H18L18.22 11H23V13H18.44L19 18H16.5L15.94 13H8.06L7.5 18H5L5.56 13H1V11H5.78L6 9H4M15.5 9H8.5L8.29 11H15.71Z\";\r\nexport var mdiTablePlus = \"M18,14H20V17H23V19H20V22H18V19H15V17H18V14M4,3H18A2,2 0 0,1 20,5V12.08C18.45,11.82 16.92,12.18 15.68,13H12V17H13.08C12.97,17.68 12.97,18.35 13.08,19H4A2,2 0 0,1 2,17V5A2,2 0 0,1 4,3M4,7V11H10V7H4M12,7V11H18V7H12M4,13V17H10V13H4Z\";\r\nexport var mdiTableRefresh = \"M18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5C15.5 19.88 16.62 21 18 21C18.82 21 19.55 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5C14 16.29 15.79 14.5 18 14.5M4 3H18C19.11 3 20 3.9 20 5V12.17C19.5 12.06 19 12 18.5 12C17.23 12 16.04 12.37 15.04 13H12V17H12.18C12.06 17.5 12 18 12 18.5L12 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4Z\";\r\nexport var mdiTableRemove = \"M15.46,15.88L16.88,14.46L19,16.59L21.12,14.46L22.54,15.88L20.41,18L22.54,20.12L21.12,21.54L19,19.41L16.88,21.54L15.46,20.12L17.59,18L15.46,15.88M4,3H18A2,2 0 0,1 20,5V12.08C18.45,11.82 16.92,12.18 15.68,13H12V17H13.08C12.97,17.68 12.97,18.35 13.08,19H4A2,2 0 0,1 2,17V5A2,2 0 0,1 4,3M4,7V11H10V7H4M12,7V11H18V7H12M4,13V17H10V13H4Z\";\r\nexport var mdiTableRow = \"M22,14A2,2 0 0,1 20,16H4A2,2 0 0,1 2,14V10A2,2 0 0,1 4,8H20A2,2 0 0,1 22,10V14M4,14H8V10H4V14M10,14H14V10H10V14M16,14H20V10H16V14Z\";\r\nexport var mdiTableRowHeight = \"M3,5H15A2,2 0 0,1 17,7V17A2,2 0 0,1 15,19H3A2,2 0 0,1 1,17V7A2,2 0 0,1 3,5M3,9V12H8V9H3M10,9V12H15V9H10M3,14V17H8V14H3M10,14V17H15V14H10M23,14V7H19V9H21V12H19V14H23Z\";\r\nexport var mdiTableRowPlusAfter = \"M22,10A2,2 0 0,1 20,12H4A2,2 0 0,1 2,10V3H4V5H8V3H10V5H14V3H16V5H20V3H22V10M4,10H8V7H4V10M10,10H14V7H10V10M20,10V7H16V10H20M11,14H13V17H16V19H13V22H11V19H8V17H11V14Z\";\r\nexport var mdiTableRowPlusBefore = \"M22,14A2,2 0 0,0 20,12H4A2,2 0 0,0 2,14V21H4V19H8V21H10V19H14V21H16V19H20V21H22V14M4,14H8V17H4V14M10,14H14V17H10V14M20,14V17H16V14H20M11,10H13V7H16V5H13V2H11V5H8V7H11V10Z\";\r\nexport var mdiTableRowRemove = \"M9.41,13L12,15.59L14.59,13L16,14.41L13.41,17L16,19.59L14.59,21L12,18.41L9.41,21L8,19.59L10.59,17L8,14.41L9.41,13M22,9A2,2 0 0,1 20,11H4A2,2 0 0,1 2,9V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V9M4,9H8V6H4V9M10,9H14V6H10V9M16,9H20V6H16V9Z\";\r\nexport var mdiTableSearch = \"M19.3,17.89C20.62,15.79 20,13 17.89,11.68C15.79,10.36 13,11 11.68,13.09C10.36,15.2 11,18 13.09,19.3C14.56,20.22 16.42,20.22 17.89,19.3L21,22.39L22.39,21L19.3,17.89M17.3,17.27C16.32,18.25 14.74,18.24 13.76,17.27C12.79,16.29 12.79,14.71 13.77,13.73C14.74,12.76 16.32,12.76 17.3,13.73C18.26,14.72 18.25,16.3 17.27,17.27H17.3M19,4H5A2,2 0 0,0 3,6V18A2,2 0 0,0 5,20H10.81C10.25,19.42 9.8,18.74 9.5,18H5V14H9.18C9.34,13.29 9.61,12.61 10,12H5V8H11V10.81C11.58,10.25 12.26,9.8 13,9.5V8H19V10C19.4,10.25 19.77,10.55 20.1,10.88C20.44,11.22 20.74,11.59 21,12V6A2,2 0 0,0 19,4Z\";\r\nexport var mdiTableSettings = \"M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22M5,4H19A2,2 0 0,1 21,6V18A2,2 0 0,1 19,20H5A2,2 0 0,1 3,18V6A2,2 0 0,1 5,4M5,8V12H11V8H5M13,8V12H19V8H13M5,14V18H11V14H5M13,14V18H19V14H13Z\";\r\nexport var mdiTableSplitCell = \"M19 14H21V20H3V14H5V18H19V14M3 4V10H5V6H19V10H21V4H3M11 11V13H8V15L5 12L8 9V11H11M16 11V9L19 12L16 15V13H13V11H16Z\";\r\nexport var mdiTableStar = \"M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4M16.5 21.6L17.2 18.8L15 16.9L17.9 16.7L19 14L20.1 16.6L23 16.8L20.8 18.7L21.5 21.5L19 20.1L16.5 21.6Z\";\r\nexport var mdiTableSync = \"M19 12V13.5C21.21 13.5 23 15.29 23 17.5C23 18.32 22.76 19.08 22.33 19.71L21.24 18.62C21.41 18.28 21.5 17.9 21.5 17.5C21.5 16.12 20.38 15 19 15V16.5L16.75 14.25L19 12M19 23V21.5C16.79 21.5 15 19.71 15 17.5C15 16.68 15.25 15.92 15.67 15.29L16.76 16.38C16.59 16.72 16.5 17.1 16.5 17.5C16.5 18.88 17.62 20 19 20V18.5L21.25 20.75L19 23M4 3H18C19.11 3 20 3.9 20 5V11L19.5 11C17.66 11 16 11.77 14.81 13H12V17H13L13 17.5C13 18 13.06 18.5 13.17 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4Z\";\r\nexport var mdiTableTennis = \"M18.5,14C19.9,14 21,15.1 21,16.5C21,17.9 19.9,19 18.5,19C17.1,19 16,17.9 16,16.5C16,15.1 17.1,14 18.5,14M7,15C7,15 8,16 8,17V20.5C8,21.3 8.7,22 9.5,22C10.3,22 11,21.3 11,20.5V17C11,16 12,15 12,15H7M8,14H11C11,14 16,14 16,9C16,4 12,2 9.5,2C7,2 3,4 3,9C3,14 8,14 8,14Z\";\r\nexport var mdiTablet = \"M19,18H5V6H19M21,4H3C1.89,4 1,4.89 1,6V18A2,2 0 0,0 3,20H21A2,2 0 0,0 23,18V6C23,4.89 22.1,4 21,4Z\";\r\nexport var mdiTabletAndroid = \"M19.25,19H4.75V3H19.25M14,22H10V21H14M18,0H6A3,3 0 0,0 3,3V21A3,3 0 0,0 6,24H18A3,3 0 0,0 21,21V3A3,3 0 0,0 18,0Z\";\r\nexport var mdiTabletCellphone = \"M3,4H20A2,2 0 0,1 22,6V8H18V6H5V18H14V20H3A2,2 0 0,1 1,18V6A2,2 0 0,1 3,4M17,10H23A1,1 0 0,1 24,11V21A1,1 0 0,1 23,22H17A1,1 0 0,1 16,21V11A1,1 0 0,1 17,10M18,12V19H22V12H18Z\";\r\nexport var mdiTabletDashboard = \"M19,18H5V6H19M21,4H3C1.89,4 1,4.89 1,6V18A2,2 0 0,0 3,20H21A2,2 0 0,0 23,18V6C23,4.89 22.1,4 21,4M7,8H13V13H7V8M14,8H17V10H14V8M17,11V16H14V11H17M7,14H13V16H7V14Z\";\r\nexport var mdiTaco = \"M19,18H5A4,4 0 0,1 1,14A8,8 0 0,1 9,6C10.06,6 11.07,6.21 12,6.58C12.93,6.21 13.94,6 15,6A8,8 0 0,1 23,14A4,4 0 0,1 19,18M3,14A2,2 0 0,0 5,16A2,2 0 0,0 7,14C7,11.63 8.03,9.5 9.67,8.04L9,8A6,6 0 0,0 3,14M19,16A2,2 0 0,0 21,14A6,6 0 0,0 15,8A6,6 0 0,0 9,14C9,14.73 8.81,15.41 8.46,16H19Z\";\r\nexport var mdiTag = \"M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M21.41,11.58L12.41,2.58C12.05,2.22 11.55,2 11,2H4C2.89,2 2,2.89 2,4V11C2,11.55 2.22,12.05 2.59,12.41L11.58,21.41C11.95,21.77 12.45,22 13,22C13.55,22 14.05,21.77 14.41,21.41L21.41,14.41C21.78,14.05 22,13.55 22,13C22,12.44 21.77,11.94 21.41,11.58Z\";\r\nexport var mdiTagArrowDown = \"M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.41L3 12.81C3.9 12.27 4.94 12 6 12C9.31 12 12 14.69 12 18C12 19.06 11.72 20.09 11.18 21L11.58 21.4C11.95 21.78 12.47 22 13 22S14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13S21.79 11.96 21.41 11.58M5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7M7 19V15H5V19H3L6 22L9 19H7Z\";\r\nexport var mdiTagArrowDownOutline = \"M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.42L3 12.82C3.64 12.44 4.35 12.19 5.08 12.08L4 11V4H11L20 13L13 20L11.92 18.92C11.82 19.66 11.56 20.36 11.18 21L11.59 21.41C11.96 21.79 12.47 22 13 22C13.53 22 14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13C22 12.47 21.79 11.96 21.41 11.58M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M8 18V14H6V18H4L7 21L10 18H8Z\";\r\nexport var mdiTagArrowLeft = \"M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.41L3 12.81C3.9 12.27 4.94 12 6 12C9.31 12 12 14.69 12 18C12 19.06 11.72 20.09 11.18 21L11.58 21.4C11.95 21.78 12.47 22 13 22S14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13S21.79 11.96 21.41 11.58M5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7M5 19H9V17H5V15L2 18L5 21V19Z\";\r\nexport var mdiTagArrowLeftOutline = \"M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.42L3 12.82C3.64 12.44 4.35 12.19 5.08 12.08L4 11V4H11L20 13L13 20L11.92 18.92C11.82 19.66 11.56 20.36 11.18 21L11.59 21.41C11.96 21.79 12.47 22 13 22C13.53 22 14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13C22 12.47 21.79 11.96 21.41 11.58M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M5 19H9V17H5V15L2 18L5 21V19Z\";\r\nexport var mdiTagArrowRight = \"M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.41L3 12.81C3.9 12.27 4.94 12 6 12C9.31 12 12 14.69 12 18C12 19.06 11.72 20.09 11.18 21L11.58 21.4C11.95 21.78 12.47 22 13 22S14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13S21.79 11.96 21.41 11.58M5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7M6 17H2V19H6V21L9 18L6 15V17Z\";\r\nexport var mdiTagArrowRightOutline = \"M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.42L3 12.82C3.64 12.44 4.35 12.19 5.08 12.08L4 11V4H11L20 13L13 20L11.92 18.92C11.82 19.66 11.56 20.36 11.18 21L11.59 21.41C11.96 21.79 12.47 22 13 22C13.53 22 14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13C22 12.47 21.79 11.96 21.41 11.58M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M6 17H2V19H6V21L9 18L6 15V17Z\";\r\nexport var mdiTagArrowUp = \"M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.41L3 12.81C3.9 12.27 4.94 12 6 12C9.31 12 12 14.69 12 18C12 19.06 11.72 20.09 11.18 21L11.58 21.4C11.95 21.78 12.47 22 13 22S14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13S21.79 11.96 21.41 11.58M5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7M5 17V21H7V17H9L6 14L3 17H5Z\";\r\nexport var mdiTagArrowUpOutline = \"M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.42L3 12.82C3.64 12.44 4.35 12.19 5.08 12.08L4 11V4H11L20 13L13 20L11.92 18.92C11.82 19.66 11.56 20.36 11.18 21L11.59 21.41C11.96 21.79 12.47 22 13 22C13.53 22 14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13C22 12.47 21.79 11.96 21.41 11.58M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M6 17V21H8V17H10L7 14L4 17H6Z\";\r\nexport var mdiTagFaces = \"M15,18C11.68,18 9,15.31 9,12C9,8.68 11.68,6 15,6A6,6 0 0,1 21,12A6,6 0 0,1 15,18M4,13A1,1 0 0,1 3,12A1,1 0 0,1 4,11A1,1 0 0,1 5,12A1,1 0 0,1 4,13M22,3H7.63C6.97,3 6.38,3.32 6,3.81L0,12L6,20.18C6.38,20.68 6.97,21 7.63,21H22A2,2 0 0,0 24,19V5C24,3.89 23.1,3 22,3M13,11A1,1 0 0,0 14,10A1,1 0 0,0 13,9A1,1 0 0,0 12,10A1,1 0 0,0 13,11M15,16C16.86,16 18.35,14.72 18.8,13H11.2C11.65,14.72 13.14,16 15,16M17,11A1,1 0 0,0 18,10A1,1 0 0,0 17,9A1,1 0 0,0 16,10A1,1 0 0,0 17,11Z\";\r\nexport var mdiTagHeart = \"M21.41,11.58L12.41,2.58C12.05,2.22 11.55,2 11,2H4A2,2 0 0,0 2,4V11C2,11.55 2.22,12.05 2.59,12.42L11.59,21.42C11.95,21.78 12.45,22 13,22C13.55,22 14.05,21.78 14.41,21.41L21.41,14.41C21.78,14.05 22,13.55 22,13C22,12.45 21.77,11.94 21.41,11.58M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M17.27,15.27L13,19.54L8.73,15.27C8.28,14.81 8,14.19 8,13.5A2.5,2.5 0 0,1 10.5,11C11.19,11 11.82,11.28 12.27,11.74L13,12.46L13.73,11.73C14.18,11.28 14.81,11 15.5,11A2.5,2.5 0 0,1 18,13.5C18,14.19 17.72,14.82 17.27,15.27Z\";\r\nexport var mdiTagHeartOutline = \"M4,2A2,2 0 0,0 2,4V11C2,11.55 2.22,12.05 2.59,12.42L11.59,21.42C11.95,21.78 12.45,22 13,22C13.55,22 14.05,21.78 14.41,21.41L21.41,14.41C21.78,14.05 22,13.55 22,13C22,12.45 21.77,11.94 21.41,11.58L12.41,2.58C12.05,2.22 11.55,2 11,2H4V2M11,4L20,13L13,20L4,11V4H11V4H11M6.5,5A1.5,1.5 0 0,0 5,6.5A1.5,1.5 0 0,0 6.5,8A1.5,1.5 0 0,0 8,6.5A1.5,1.5 0 0,0 6.5,5M10.95,10.5C9.82,10.5 8.9,11.42 8.9,12.55C8.9,13.12 9.13,13.62 9.5,14L13,17.5L16.5,14C16.87,13.63 17.1,13.11 17.1,12.55A2.05,2.05 0 0,0 15.05,10.5C14.5,10.5 13.97,10.73 13.6,11.1L13,11.7L12.4,11.11C12.03,10.73 11.5,10.5 10.95,10.5Z\";\r\nexport var mdiTagMinus = \"M21.41,11.58L12.41,2.58C12.04,2.21 11.53,2 11,2H4A2,2 0 0,0 2,4V11C2,11.53 2.21,12.04 2.59,12.41L3,12.81C3.9,12.27 4.94,12 6,12A6,6 0 0,1 12,18C12,19.06 11.72,20.09 11.18,21L11.58,21.4C11.95,21.78 12.47,22 13,22C13.53,22 14.04,21.79 14.41,21.41L21.41,14.41C21.79,14.04 22,13.53 22,13C22,12.47 21.79,11.96 21.41,11.58M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M10,19H2V17H10V19Z\";\r\nexport var mdiTagMinusOutline = \"M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.42L3 12.82C3.64 12.44 4.35 12.19 5.08 12.08L4 11V4H11L20 13L13 20L11.92 18.92C11.82 19.66 11.56 20.36 11.18 21L11.59 21.41C11.96 21.79 12.47 22 13 22C13.53 22 14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13C22 12.47 21.79 11.96 21.41 11.58M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M10 19H2V17H10V19Z\";\r\nexport var mdiTagMultiple = \"M5.5,9A1.5,1.5 0 0,0 7,7.5A1.5,1.5 0 0,0 5.5,6A1.5,1.5 0 0,0 4,7.5A1.5,1.5 0 0,0 5.5,9M17.41,11.58C17.77,11.94 18,12.44 18,13C18,13.55 17.78,14.05 17.41,14.41L12.41,19.41C12.05,19.77 11.55,20 11,20C10.45,20 9.95,19.78 9.58,19.41L2.59,12.42C2.22,12.05 2,11.55 2,11V6C2,4.89 2.89,4 4,4H9C9.55,4 10.05,4.22 10.41,4.58L17.41,11.58M13.54,5.71L14.54,4.71L21.41,11.58C21.78,11.94 22,12.45 22,13C22,13.55 21.78,14.05 21.42,14.41L16.04,19.79L15.04,18.79L20.75,13L13.54,5.71Z\";\r\nexport var mdiTagMultipleOutline = \"M6.5 10C7.3 10 8 9.3 8 8.5S7.3 7 6.5 7 5 7.7 5 8.5 5.7 10 6.5 10M9 6L16 13L11 18L4 11V6H9M9 4H4C2.9 4 2 4.9 2 6V11C2 11.6 2.2 12.1 2.6 12.4L9.6 19.4C9.9 19.8 10.4 20 11 20S12.1 19.8 12.4 19.4L17.4 14.4C17.8 14 18 13.5 18 13C18 12.4 17.8 11.9 17.4 11.6L10.4 4.6C10.1 4.2 9.6 4 9 4M13.5 5.7L14.5 4.7L21.4 11.6C21.8 12 22 12.5 22 13S21.8 14.1 21.4 14.4L16 19.8L15 18.8L20.7 13L13.5 5.7Z\";\r\nexport var mdiTagOff = \"M18.33 8.5L22.92 3.92L21.5 2.5L2.5 21.5L3.92 22.92L8.5 18.33L11.58 21.41A2 2 0 0 0 13 22A2 2 0 0 0 14.41 21.41L21.41 14.41A2 2 0 0 0 22 13A2 2 0 0 0 21.41 11.58M5.61 15.43L15.47 5.65L12.41 2.58A2 2 0 0 0 11 2H4A2 2 0 0 0 2 4V11A2 2 0 0 0 2.59 12.41M5.5 4A1.5 1.5 0 1 1 4 5.5A1.5 1.5 0 0 1 5.5 4Z\";\r\nexport var mdiTagOffOutline = \"M6.5 5A1.5 1.5 0 1 0 8 6.5A1.5 1.5 0 0 0 6.5 5M6.5 5A1.5 1.5 0 1 0 8 6.5A1.5 1.5 0 0 0 6.5 5M18.33 8.5L22.92 3.92L21.5 2.5L2.5 21.5L3.92 22.92L8.5 18.33L11.59 21.42A2 2 0 0 0 13 22A2 2 0 0 0 14.41 21.41L21.41 14.41A2 2 0 0 0 22 13A2 2 0 0 0 21.41 11.58M13 20L9.92 16.92L16.92 9.92L20 13M5.61 15.43L7 14L4 11V4H11L14.06 7.06L15.47 5.66L12.41 2.58A2 2 0 0 0 11 2H4A2 2 0 0 0 2 4V11A2 2 0 0 0 2.59 12.42M5 6.5A1.5 1.5 0 1 0 6.5 5A1.5 1.5 0 0 0 5 6.5Z\";\r\nexport var mdiTagOutline = \"M21.41 11.58L12.41 2.58A2 2 0 0 0 11 2H4A2 2 0 0 0 2 4V11A2 2 0 0 0 2.59 12.42L11.59 21.42A2 2 0 0 0 13 22A2 2 0 0 0 14.41 21.41L21.41 14.41A2 2 0 0 0 22 13A2 2 0 0 0 21.41 11.58M13 20L4 11V4H11L20 13M6.5 5A1.5 1.5 0 1 1 5 6.5A1.5 1.5 0 0 1 6.5 5Z\";\r\nexport var mdiTagPlus = \"M21.41,11.58L12.41,2.58C12.04,2.21 11.53,2 11,2H4A2,2 0 0,0 2,4V11C2,11.53 2.21,12.04 2.59,12.41L3,12.81C3.9,12.27 4.94,12 6,12A6,6 0 0,1 12,18C12,19.06 11.72,20.09 11.18,21L11.58,21.4C11.95,21.78 12.47,22 13,22C13.53,22 14.04,21.79 14.41,21.41L21.41,14.41C21.79,14.04 22,13.53 22,13C22,12.47 21.79,11.96 21.41,11.58M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M10,19H7V22H5V19H2V17H5V14H7V17H10V19Z\";\r\nexport var mdiTagPlusOutline = \"M6.5 5A1.5 1.5 0 1 0 8 6.5A1.5 1.5 0 0 0 6.5 5M6.5 5A1.5 1.5 0 1 0 8 6.5A1.5 1.5 0 0 0 6.5 5M21.41 11.58L12.41 2.58A2 2 0 0 0 11 2H4A2 2 0 0 0 2 4V11A2 2 0 0 0 2.59 12.42L3 12.82A5.62 5.62 0 0 1 5.08 12.08L4 11V4H11L20 13L13 20L11.92 18.92A5.57 5.57 0 0 1 11.18 21L11.59 21.41A2 2 0 0 0 13 22A2 2 0 0 0 14.41 21.41L21.41 14.41A2 2 0 0 0 22 13A2 2 0 0 0 21.41 11.58M6.5 5A1.5 1.5 0 1 0 8 6.5A1.5 1.5 0 0 0 6.5 5M10 19H7V22H5V19H2V17H5V14H7V17H10Z\";\r\nexport var mdiTagRemove = \"M21.41,11.58L12.41,2.58C12.04,2.21 11.53,2 11,2H4A2,2 0 0,0 2,4V11C2,11.53 2.21,12.04 2.59,12.41L3,12.81C3.9,12.27 4.94,12 6,12A6,6 0 0,1 12,18C12,19.06 11.72,20.09 11.18,21L11.58,21.4C11.95,21.78 12.47,22 13,22C13.53,22 14.04,21.79 14.41,21.41L21.41,14.41C21.79,14.04 22,13.53 22,13C22,12.47 21.79,11.96 21.41,11.58M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M8.12,21.54L6,19.41L3.88,21.54L2.46,20.12L4.59,18L2.46,15.88L3.87,14.47L6,16.59L8.12,14.47L9.53,15.88L7.41,18L9.53,20.12L8.12,21.54Z\";\r\nexport var mdiTagRemoveOutline = \"M6.5 5A1.5 1.5 0 1 0 8 6.5A1.5 1.5 0 0 0 6.5 5M6.5 5A1.5 1.5 0 1 0 8 6.5A1.5 1.5 0 0 0 6.5 5M21.41 11.58L12.41 2.58A2 2 0 0 0 11 2H4A2 2 0 0 0 2 4V11A2 2 0 0 0 2.59 12.42L3 12.82A5.62 5.62 0 0 1 5.08 12.08L4 11V4H11L20 13L13 20L11.92 18.92A5.57 5.57 0 0 1 11.18 21L11.59 21.41A2 2 0 0 0 13 22A2 2 0 0 0 14.41 21.41L21.41 14.41A2 2 0 0 0 22 13A2 2 0 0 0 21.41 11.58M6.5 5A1.5 1.5 0 1 0 8 6.5A1.5 1.5 0 0 0 6.5 5M8.12 21.54L6 19.41L3.88 21.54L2.46 20.12L4.59 18L2.46 15.88L3.88 14.46L6 16.59L8.12 14.46L9.54 15.88L7.41 18L9.54 20.12Z\";\r\nexport var mdiTagText = \"M21.41 11.58L12.41 2.58A2 2 0 0 0 11 2H4A2 2 0 0 0 2 4V11A2 2 0 0 0 2.59 12.41L11.59 21.41A2 2 0 0 0 13 22A2 2 0 0 0 14.41 21.41L21.41 14.41A2 2 0 0 0 22 13A2 2 0 0 0 21.41 11.58M6.5 8A1.5 1.5 0 1 1 8 6.5A1.5 1.5 0 0 1 6.5 8M11.59 15.41L7.59 11.41L9 10L13 14M15.59 14.41L10.09 8.91L11.5 7.5L17 13Z\";\r\nexport var mdiTagTextOutline = \"M21.4 11.6L12.4 2.6C12 2.2 11.5 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.5 2.2 12 2.6 12.4L11.6 21.4C12 21.8 12.5 22 13 22C13.5 22 14 21.8 14.4 21.4L21.4 14.4C21.8 14 22 13.5 22 13C22 12.5 21.8 12 21.4 11.6M13 20L4 11V4H11L20 13M6.5 5C7.3 5 8 5.7 8 6.5S7.3 8 6.5 8 5 7.3 5 6.5 5.7 5 6.5 5M10.1 8.9L11.5 7.5L17 13L15.6 14.4L10.1 8.9M7.6 11.4L9 10L13 14L11.6 15.4L7.6 11.4Z\";\r\nexport var mdiTailwind = \"M12 6C9.33 6 7.67 7.33 7 10C8 8.67 9.17 8.17 10.5 8.5C11.26 8.69 11.81 9.24 12.41 9.85C13.39 10.85 14.5 12 17 12C19.67 12 21.33 10.67 22 8C21 9.33 19.83 9.83 18.5 9.5C17.74 9.31 17.2 8.76 16.59 8.15C15.61 7.15 14.5 6 12 6M7 12C4.33 12 2.67 13.33 2 16C3 14.67 4.17 14.17 5.5 14.5C6.26 14.69 6.8 15.24 7.41 15.85C8.39 16.85 9.5 18 12 18C14.67 18 16.33 16.67 17 14C16 15.33 14.83 15.83 13.5 15.5C12.74 15.31 12.2 14.76 11.59 14.15C10.61 13.15 9.5 12 7 12Z\";\r\nexport var mdiTangram = \"M20 2H4C2.9 2 2 2.9 2 4V20C2 21.1 2.9 22 4 22H20C21.1 22 22 21.1 22 20V4C22 2.9 21.1 2 20 2M18.59 4L12 10.59L5.41 4H18.59M13.41 12L16.5 8.91L19.59 12L16.5 15.09L13.41 12M14.59 16H9.41L12 13.41L14.59 16M4 5.41L10.59 12L4 18.59V5.41M11.59 20H5.41L7.41 18H13.59L11.59 20M20 20H14.41L20 14.41V20M20 9.59L17.91 7.5L20 5.41V9.59Z\";\r\nexport var mdiTank = \"M20,12H4V11H6L7,6H12L13,11H20V12M13.22,7L13.62,9H22V7H13.22M22,16A3,3 0 0,1 19,19H5A3,3 0 0,1 2,16A3,3 0 0,1 5,13H19A3,3 0 0,1 22,16M6,16A1,1 0 0,0 5,15A1,1 0 0,0 4,16A1,1 0 0,0 5,17A1,1 0 0,0 6,16M13,16A1,1 0 0,0 12,15A1,1 0 0,0 11,16A1,1 0 0,0 12,17A1,1 0 0,0 13,16M20,16A1,1 0 0,0 19,15A1,1 0 0,0 18,16A1,1 0 0,0 19,17A1,1 0 0,0 20,16Z\";\r\nexport var mdiTankerTruck = \"M20 8H15V14H2V17H3C3 18.7 4.3 20 6 20S9 18.7 9 17H15C15 18.7 16.3 20 18 20S21 18.7 21 17H23V12L20 8M6 18.5C5.2 18.5 4.5 17.8 4.5 17S5.2 15.5 6 15.5 7.5 16.2 7.5 17 6.8 18.5 6 18.5M18 18.5C17.2 18.5 16.5 17.8 16.5 17S17.2 15.5 18 15.5 19.5 16.2 19.5 17 18.8 18.5 18 18.5M17 12V9.5H19.5L21.5 12H17M14 9.5C14 11.4 12.4 13 10.5 13H4.5C2.6 13 1 11.4 1 9.5S2.6 6 4.5 6H5V5H4V4H8V5H7V6H10.5C12.4 6 14 7.6 14 9.5Z\";\r\nexport var mdiTapeDrive = \"M12 10C13.11 10 14 10.9 14 12C14 13.11 13.11 14 12 14C10.9 14 10 13.11 10 12C10 10.9 10.9 10 12 10M5 3H19C20.11 3 21 3.9 21 5V17H16.9C18.2 15.73 19 13.96 19 12C19 8.13 15.87 5 12 5C8.13 5 5 8.13 5 12C5 15.87 8.13 19 12 19H21C21 20.11 20.11 21 19 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3Z\";\r\nexport var mdiTapeMeasure = \"M9,5A7,7 0 0,1 16,12H17V15H16V19H9A7,7 0 0,1 2,12A7,7 0 0,1 9,5M9,8A4,4 0 0,0 5,12A4,4 0 0,0 9,16A4,4 0 0,0 13,12A4,4 0 0,0 9,8M17,17H22V19L22,21H20V19H17V17Z\";\r\nexport var mdiTarget = \"M11,2V4.07C7.38,4.53 4.53,7.38 4.07,11H2V13H4.07C4.53,16.62 7.38,19.47 11,19.93V22H13V19.93C16.62,19.47 19.47,16.62 19.93,13H22V11H19.93C19.47,7.38 16.62,4.53 13,4.07V2M11,6.08V8H13V6.09C15.5,6.5 17.5,8.5 17.92,11H16V13H17.91C17.5,15.5 15.5,17.5 13,17.92V16H11V17.91C8.5,17.5 6.5,15.5 6.08,13H8V11H6.09C6.5,8.5 8.5,6.5 11,6.08M12,11A1,1 0 0,0 11,12A1,1 0 0,0 12,13A1,1 0 0,0 13,12A1,1 0 0,0 12,11Z\";\r\nexport var mdiTargetAccount = \"M20.95,11H22.5V13H20.95C20.5,17.17 17.17,20.5 13,20.95V22.5H11V20.95C6.83,20.5 3.5,17.17 3.05,13H1.5V11H3.05C3.5,6.83 6.83,3.5 11,3.05V1.5H13V3.05C17.17,3.5 20.5,6.83 20.95,11M5.07,11H6.5V13H5.07C5.5,16.07 7.93,18.5 11,18.93V17.5H13V18.93C16.07,18.5 18.5,16.07 18.93,13H17.5V11H18.93C18.5,7.93 16.07,5.5 13,5.07V6.5H11V5.07C7.93,5.5 5.5,7.93 5.07,11M16,16H8V15C8,13.67 10.67,13 12,13C13.33,13 16,13.67 16,15V16M12,8A2,2 0 0,1 14,10A2,2 0 0,1 12,12A2,2 0 0,1 10,10A2,2 0 0,1 12,8Z\";\r\nexport var mdiTargetVariant = \"M22.08,11.04H20.08V4H13.05V2H11.04V4H4V11.04H2V13.05H4V20.08H11.04V22.08H13.05V20.08H20.08V13.05H22.08V11.04M18.07,18.07H13.05V16.06H11.04V18.07H6V13.05H8.03V11.04H6V6H11.04V8.03H13.05V6H18.07V11.04H16.06V13.05H18.07V18.07M13.05,12.05A1,1 0 0,1 12.05,13.05C11.5,13.05 11.04,12.6 11.04,12.05C11.04,11.5 11.5,11.04 12.05,11.04C12.6,11.04 13.05,11.5 13.05,12.05Z\";\r\nexport var mdiTaxi = \"M5,11L6.5,6.5H17.5L19,11M17.5,16A1.5,1.5 0 0,1 16,14.5A1.5,1.5 0 0,1 17.5,13A1.5,1.5 0 0,1 19,14.5A1.5,1.5 0 0,1 17.5,16M6.5,16A1.5,1.5 0 0,1 5,14.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 8,14.5A1.5,1.5 0 0,1 6.5,16M18.92,6C18.72,5.42 18.16,5 17.5,5H15V3H9V5H6.5C5.84,5 5.28,5.42 5.08,6L3,12V20A1,1 0 0,0 4,21H5A1,1 0 0,0 6,20V19H18V20A1,1 0 0,0 19,21H20A1,1 0 0,0 21,20V12L18.92,6Z\";\r\nexport var mdiTea = \"M4,19H20V21H4V19M20,8V5H18V8H20M20,3C20.6,3 21,3.2 21.4,3.6C21.8,4 22,4.5 22,5V8C22,8.6 21.8,9 21.4,9.4C21,9.8 20.6,10 20,10H18V13C18,14.1 17.6,15 16.8,15.8C16,16.6 15.1,17 14,17H8C6.9,17 6,16.6 5.2,15.8C4.4,15 4,14.1 4,13V3H9V5.4L7.2,6.8C7.1,6.9 7,7.1 7,7.2V11.5C7,11.8 7.2,12 7.5,12H11.5C11.8,12 12,11.8 12,11.5V7.2C12,7 11.9,6.9 11.8,6.8L10,5.4V3H20Z\";\r\nexport var mdiTeaOutline = \"M4,19H20V21H4V19M21.4,3.6C21,3.2 20.6,3 20,3H4V13C4,14.1 4.4,15 5.2,15.8C6,16.6 6.9,17 8,17H14C15.1,17 16,16.6 16.8,15.8C17.6,15 18,14.1 18,13V10H20C20.6,10 21,9.8 21.4,9.4C21.8,9 22,8.6 22,8V5C22,4.5 21.8,4 21.4,3.6M16,5V8L16,10V13C16,13.6 15.8,14 15.4,14.4C15,14.8 14.6,15 14,15H8C7.4,15 7,14.8 6.6,14.4C6.2,14 6,13.5 6,13V5H10V6.4L8.2,7.8C8,7.9 8,8.1 8,8.2V12.5C8,12.8 8.2,13 8.5,13H12.5C12.8,13 13,12.8 13,12.5V8.2C13,8 12.9,7.9 12.8,7.8L11,6.4V5H16M20,8H18V5H20V8Z\";\r\nexport var mdiTeamviewer = \"M10.04 9.2L9.3 11H14.75L14 9.2L19.55 12L14 14.8L14.75 13H9.3L10.04 14.8L4.5 12L10.04 9.2M20.83 22H3.17C2.53 22 2 21.5 2 20.83V3.17C2 2.53 2.53 2 3.17 2H20.83C21.5 2 22 2.53 22 3.17V20.83C22 21.47 21.5 22 20.83 22M11.93 3.76C7.41 3.82 3.78 7.5 3.76 12C3.72 16.5 7.35 20.2 11.86 20.24H12C16.53 20.18 20.18 16.53 20.24 12C20.31 7.5 16.74 3.83 12.26 3.76C12.15 3.75 12.04 3.76 11.93 3.76Z\";\r\nexport var mdiTelescope = \"M21.9,8.9L20.2,9.9L16.2,3L17.9,2L21.9,8.9M9.8,7.9L12.8,13.1L18.9,9.6L15.9,4.4L9.8,7.9M11.4,12.7L9.4,9.2L5.1,11.7L7.1,15.2L11.4,12.7M2.1,14.6L3.1,16.3L5.7,14.8L4.7,13.1L2.1,14.6M12.1,14L11.8,13.6L7.5,16.1L7.8,16.5C8,16.8 8.3,17.1 8.6,17.3L7,22H9L10.4,17.7H10.5L12,22H14L12.1,16.4C12.6,15.7 12.6,14.8 12.1,14Z\";\r\nexport var mdiTelevision = \"M21,17H3V5H21M21,3H3A2,2 0 0,0 1,5V17A2,2 0 0,0 3,19H8V21H16V19H21A2,2 0 0,0 23,17V5A2,2 0 0,0 21,3Z\";\r\nexport var mdiTelevisionAmbientLight = \"M3 11H0V9H3V11M3 14H0V16H3V14M5 5.12L2.88 3L1.46 4.41L3.59 6.54L5 5.12M10 5V2H8V5H10M24 9H21V11H24V9M16 5V2H14V5H16M20.41 6.54L22.54 4.42L21.12 3L19 5.12L20.41 6.54M24 14H21V16H24V14M19 9V16C19 17.1 18.1 18 17 18H15V20H9V18H7C5.9 18 5 17.1 5 16V9C5 7.9 5.9 7 7 7H17C18.1 7 19 7.9 19 9M17 9H7V16H17V9M19 19.88L21.12 22L22.54 20.59L20.41 18.47L19 19.88M3.59 18.46L1.47 20.59L2.88 22L5 19.88L3.59 18.46Z\";\r\nexport var mdiTelevisionBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M16,16L19,8H16.5L15,12.5L13.5,8H5V10H8V16H10V10H11.77L14,16H16Z\";\r\nexport var mdiTelevisionClassic = \"M8.16,3L6.75,4.41L9.34,7H4C2.89,7 2,7.89 2,9V19C2,20.11 2.89,21 4,21H20C21.11,21 22,20.11 22,19V9C22,7.89 21.11,7 20,7H14.66L17.25,4.41L15.84,3L12,6.84L8.16,3M4,9H17V19H4V9M19.5,9A1,1 0 0,1 20.5,10A1,1 0 0,1 19.5,11A1,1 0 0,1 18.5,10A1,1 0 0,1 19.5,9M19.5,12A1,1 0 0,1 20.5,13A1,1 0 0,1 19.5,14A1,1 0 0,1 18.5,13A1,1 0 0,1 19.5,12Z\";\r\nexport var mdiTelevisionClassicOff = \"M2,5.27L3.28,4L21,21.72L19.73,23L17.73,21H4C2.89,21 2,20.11 2,19V9C2,8 2.76,7.14 3.75,7L2,5.27M8.16,3L12,6.84L15.84,3L17.25,4.41L14.66,7H20C21.11,7 22,7.89 22,9V19C22,19.34 21.92,19.66 21.77,19.94L17,15.18V9H10.82L8.82,7H9.34L6.75,4.41L8.16,3M4,9V19H15.73L5.73,9H4M19.5,9A1,1 0 0,0 18.5,10A1,1 0 0,0 19.5,11A1,1 0 0,0 20.5,10A1,1 0 0,0 19.5,9M19.5,12A1,1 0 0,0 18.5,13A1,1 0 0,0 19.5,14A1,1 0 0,0 20.5,13A1,1 0 0,0 19.5,12Z\";\r\nexport var mdiTelevisionGuide = \"M21,17V5H3V17H21M21,3A2,2 0 0,1 23,5V17A2,2 0 0,1 21,19H16V21H8V19H3A2,2 0 0,1 1,17V5A2,2 0 0,1 3,3H21M5,7H11V11H5V7M5,13H11V15H5V13M13,7H19V9H13V7M13,11H19V15H13V11Z\";\r\nexport var mdiTelevisionOff = \"M0.5,2.77L1.78,1.5L21,20.72L19.73,22L16.73,19H16V21H8V19H3A2,2 0 0,1 1,17V5C1,4.5 1.17,4.07 1.46,3.73L0.5,2.77M21,17V5H7.82L5.82,3H21A2,2 0 0,1 23,5V17C23,17.85 22.45,18.59 21.7,18.87L19.82,17H21M3,17H14.73L3,5.27V17Z\";\r\nexport var mdiTelevisionPause = \"M3 3C1.89 3 1 3.89 1 5V17C1 18.1 1.9 19 3 19H8V21H16V19H21C22.1 19 23 18.1 23 17V5C23 3.89 22.1 3 21 3M3 5H21V17H3M9 8V14H11V8M13 8V14H15V8\";\r\nexport var mdiTelevisionPlay = \"M21,3H3C1.89,3 1,3.89 1,5V17A2,2 0 0,0 3,19H8V21H16V19H21A2,2 0 0,0 23,17V5C23,3.89 22.1,3 21,3M21,17H3V5H21M16,11L9,15V7\";\r\nexport var mdiTelevisionShimmer = \"M21 17H3V5H21M21 3H3C1.9 3 1 3.9 1 5V17C1 18.11 1.9 19 3 19H8V21H16V19H21C22.11 19 23 18.11 23 17V5C23 3.9 22.11 3 21 3M15 6.5L14.38 7.87L13 8.5L14.38 9.13L15 10.5L15.63 9.13L17 8.5L15.63 7.87L15 6.5M10.5 8.5L9.41 10.91L7 12L9.41 13.09L10.5 15.5L11.6 13.09L14 12L11.6 10.91L10.5 8.5\";\r\nexport var mdiTelevisionStop = \"M3 3H21C22.1 3 23 3.89 23 5V17C23 18.1 22.1 19 21 19H16V21H8V19H3C1.9 19 1 18.1 1 17V5C1 3.89 1.89 3 3 3M3 5V17H21V5H3M9 8H15V14H9V8Z\";\r\nexport var mdiTemperatureCelsius = \"M16.5,5C18.05,5 19.5,5.47 20.69,6.28L19.53,9.17C18.73,8.44 17.67,8 16.5,8C14,8 12,10 12,12.5C12,15 14,17 16.5,17C17.53,17 18.47,16.66 19.23,16.08L20.37,18.93C19.24,19.61 17.92,20 16.5,20A7.5,7.5 0 0,1 9,12.5A7.5,7.5 0 0,1 16.5,5M6,3A3,3 0 0,1 9,6A3,3 0 0,1 6,9A3,3 0 0,1 3,6A3,3 0 0,1 6,3M6,5A1,1 0 0,0 5,6A1,1 0 0,0 6,7A1,1 0 0,0 7,6A1,1 0 0,0 6,5Z\";\r\nexport var mdiTemperatureFahrenheit = \"M11,20V5H20V8H14V11H19V14H14V20H11M6,3A3,3 0 0,1 9,6A3,3 0 0,1 6,9A3,3 0 0,1 3,6A3,3 0 0,1 6,3M6,5A1,1 0 0,0 5,6A1,1 0 0,0 6,7A1,1 0 0,0 7,6A1,1 0 0,0 6,5Z\";\r\nexport var mdiTemperatureKelvin = \"M7,5H10V11L15,5H19L13.88,10.78L19,20H15.38L11.76,13.17L10,15.15V20H7V5Z\";\r\nexport var mdiTennis = \"M18,15A4,4 0 0,1 22,19A4,4 0 0,1 18,23A4,4 0 0,1 14,19A4,4 0 0,1 18,15M18,17A2,2 0 0,0 16,19A2,2 0 0,0 18,21A2,2 0 0,0 20,19A2,2 0 0,0 18,17M6.05,14.54C6.05,14.54 7.46,13.12 7.47,10.3C7.11,8.11 7.97,5.54 9.94,3.58C12.87,0.65 17.14,0.17 19.5,2.5C21.83,4.86 21.35,9.13 18.42,12.06C16.46,14.03 13.89,14.89 11.7,14.53C8.88,14.54 7.46,15.95 7.46,15.95L3.22,20.19L1.81,18.78L6.05,14.54M18.07,3.93C16.5,2.37 13.5,2.84 11.35,5C9.21,7.14 8.73,10.15 10.29,11.71C11.86,13.27 14.86,12.79 17,10.65C19.16,8.5 19.63,5.5 18.07,3.93Z\";\r\nexport var mdiTennisBall = \"M12,2C14.5,2 16.75,2.9 18.5,4.4C16.36,6.23 15,8.96 15,12C15,15.04 16.36,17.77 18.5,19.6C16.75,21.1 14.5,22 12,22C9.5,22 7.25,21.1 5.5,19.6C7.64,17.77 9,15.04 9,12C9,8.96 7.64,6.23 5.5,4.4C7.25,2.9 9.5,2 12,2M22,12C22,14.32 21.21,16.45 19.88,18.15C18.12,16.68 17,14.47 17,12C17,9.53 18.12,7.32 19.88,5.85C21.21,7.55 22,9.68 22,12M2,12C2,9.68 2.79,7.55 4.12,5.85C5.88,7.32 7,9.53 7,12C7,14.47 5.88,16.68 4.12,18.15C2.79,16.45 2,14.32 2,12Z\";\r\nexport var mdiTent = \"M4,6C4,7.19 4.39,8.27 5,9A3,3 0 0,1 2,6A3,3 0 0,1 5,3C4.39,3.73 4,4.81 4,6M2,21V19H4.76L12,4.78L19.24,19H22V21H2M12,9.19L7,19H17L12,9.19Z\";\r\nexport var mdiTerraform = \"M21 5.4V11.8L15.4 15V8.7L21 5.4M14.8 8.7V15L9.2 11.8V5.4L14.8 8.7M14.8 15.7V22.1L9.2 18.9V12.5L14.8 15.7M8.6 5.1V11.5L3 8.3V1.9L8.6 5.1Z\";\r\nexport var mdiTerrain = \"M14,6L10.25,11L13.1,14.8L11.5,16C9.81,13.75 7,10 7,10L1,18H23L14,6Z\";\r\nexport var mdiTestTube = \"M7,2V4H8V18A4,4 0 0,0 12,22A4,4 0 0,0 16,18V4H17V2H7M11,16C10.4,16 10,15.6 10,15C10,14.4 10.4,14 11,14C11.6,14 12,14.4 12,15C12,15.6 11.6,16 11,16M13,12C12.4,12 12,11.6 12,11C12,10.4 12.4,10 13,10C13.6,10 14,10.4 14,11C14,11.6 13.6,12 13,12M14,7H10V4H14V7Z\";\r\nexport var mdiTestTubeEmpty = \"M7,2H17V4H16V18A4,4 0 0,1 12,22A4,4 0 0,1 8,18V4H7V2M14,4H10V18A2,2 0 0,0 12,20A2,2 0 0,0 14,18V4Z\";\r\nexport var mdiTestTubeOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L15.84,19.11C15.36,20.77 13.82,22 12,22A4,4 0 0,1 8,18V11.27L2,5.27M7,2H17V4H16V14.18L13.63,11.81C13.86,11.63 14,11.35 14,11C14,10.4 13.6,10 13,10C12.65,10 12.37,10.14 12.19,10.37L8,6.18V4H7V2M11,16C11.5,16 11.88,15.71 12,15.24L10.76,14C10.29,14.12 10,14.5 10,15C10,15.6 10.4,16 11,16M14,7V4H10V7H14Z\";\r\nexport var mdiText = \"M21,6V8H3V6H21M3,18H12V16H3V18M3,13H21V11H3V13Z\";\r\nexport var mdiTextAccount = \"M21 5V7H3V5H21M3 17H12V15H3V17M3 12H21V10H3V12M18 14C19.11 14 20 14.9 20 16S19.11 18 18 18 16 17.11 16 16 16.9 14 18 14M14 22V21C14 19.9 15.79 19 18 19S22 19.9 22 21V22H14Z\";\r\nexport var mdiTextBox = \"M14,17H7V15H14M17,13H7V11H17M17,9H7V7H17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiTextBoxCheck = \"M17,21L14.25,18L15.41,16.84L17,18.43L20.59,14.84L21.75,16.25M12.8,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19A2,2 0 0,1 21,5V12.8C20.12,12.29 19.09,12 18,12L17,12.08V11H7V13H14.69C13.07,14.07 12,15.91 12,18C12,19.09 12.29,20.12 12.8,21M12,15H7V17H12M17,7H7V9H17\";\r\nexport var mdiTextBoxCheckOutline = \"M17,21L14.25,18L15.41,16.84L17,18.43L20.59,14.84L21.75,16.25M12.8,21H5C3.89,21 3,20.11 3,19V5C3,3.89 3.89,3 5,3H19C20.11,3 21,3.89 21,5V12.8C20.39,12.45 19.72,12.2 19,12.08V5H5V19H12.08C12.2,19.72 12.45,20.39 12.8,21M12,17H7V15H12M14.68,13H7V11H17V12.08C16.15,12.22 15.37,12.54 14.68,13M17,9H7V7H17\";\r\nexport var mdiTextBoxMinus = \"M22,17V19H14V17H22M12,17V15H7V17H12M17,11H7V13H14.69C13.07,14.07 12,15.91 12,18C12,19.09 12.29,20.12 12.8,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19A2,2 0 0,1 21,5V12.8C20.12,12.29 19.09,12 18,12L17,12.08V11M17,9V7H7V9H17Z\";\r\nexport var mdiTextBoxMinusOutline = \"M22,17V19H14V17H22M5,3H19C20.11,3 21,3.89 21,5V12.8C20.39,12.45 19.72,12.2 19,12.08V5H5V19H12.08C12.2,19.72 12.45,20.39 12.8,21H5C3.89,21 3,20.11 3,19V5C3,3.89 3.89,3 5,3M7,7H17V9H7V7M7,11H17V12.08C16.15,12.22 15.37,12.54 14.68,13H7V11M7,15H12V17H7V15Z\";\r\nexport var mdiTextBoxMultiple = \"M16,15H9V13H16M19,11H9V9H19M19,7H9V5H19M21,1H7C5.89,1 5,1.89 5,3V17C5,18.11 5.9,19 7,19H21C22.11,19 23,18.11 23,17V3C23,1.89 22.1,1 21,1M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3Z\";\r\nexport var mdiTextBoxMultipleOutline = \"M16,15H9V13H16V15M19,11H9V9H19V11M19,7H9V5H19V7M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M21,1A2,2 0 0,1 23,3V17C23,18.11 22.11,19 21,19H7A2,2 0 0,1 5,17V3C5,1.89 5.89,1 7,1H21M7,3V17H21V3H7Z\";\r\nexport var mdiTextBoxOutline = \"M5,3C3.89,3 3,3.89 3,5V19C3,20.11 3.89,21 5,21H19C20.11,21 21,20.11 21,19V5C21,3.89 20.11,3 19,3H5M5,5H19V19H5V5M7,7V9H17V7H7M7,11V13H17V11H7M7,15V17H14V15H7Z\";\r\nexport var mdiTextBoxPlus = \"M17,14H19V17H22V19H19V22H17V19H14V17H17V14M12,17V15H7V17H12M17,11H7V13H14.69C13.07,14.07 12,15.91 12,18C12,19.09 12.29,20.12 12.8,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19A2,2 0 0,1 21,5V12.8C20.12,12.29 19.09,12 18,12L17,12.08V11M17,9V7H7V9H17Z\";\r\nexport var mdiTextBoxPlusOutline = \"M17,14H19V17H22V19H19V22H17V19H14V17H17V14M5,3H19C20.11,3 21,3.89 21,5V12.8C20.39,12.45 19.72,12.2 19,12.08V5H5V19H12.08C12.2,19.72 12.45,20.39 12.8,21H5C3.89,21 3,20.11 3,19V5C3,3.89 3.89,3 5,3M7,7H17V9H7V7M7,11H17V12.08C16.15,12.22 15.37,12.54 14.68,13H7V11M7,15H12V17H7V15Z\";\r\nexport var mdiTextBoxRemove = \"M14.46,15.88L15.88,14.46L18,16.59L20.12,14.46L21.54,15.88L19.41,18L21.54,20.12L20.12,21.54L18,19.41L15.88,21.54L14.46,20.12L16.59,18L14.46,15.88M12,17V15H7V17H12M17,11H7V13H14.69C13.07,14.07 12,15.91 12,18C12,19.09 12.29,20.12 12.8,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19A2,2 0 0,1 21,5V12.8C20.12,12.29 19.09,12 18,12L17,12.08V11M17,9V7H7V9H17Z\";\r\nexport var mdiTextBoxRemoveOutline = \"M14.46,15.88L15.88,14.46L18,16.59L20.12,14.46L21.54,15.88L19.41,18L21.54,20.12L20.12,21.54L18,19.41L15.88,21.54L14.46,20.12L16.59,18L14.46,15.88M5,3H19C20.11,3 21,3.89 21,5V12.8C20.39,12.45 19.72,12.2 19,12.08V5H5V19H12.08C12.2,19.72 12.45,20.39 12.8,21H5C3.89,21 3,20.11 3,19V5C3,3.89 3.89,3 5,3M7,7H17V9H7V7M7,11H17V12.08C16.15,12.22 15.37,12.54 14.68,13H7V11M7,15H12V17H7V15Z\";\r\nexport var mdiTextBoxSearch = \"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M7,15V17H9C9.14,18.55 9.8,19.94 10.81,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19A2,2 0 0,1 21,5V13.03C19.85,11.21 17.82,10 15.5,10C14.23,10 13.04,10.37 12.04,11H7V13H10C9.64,13.6 9.34,14.28 9.17,15H7M17,9V7H7V9H17Z\";\r\nexport var mdiTextBoxSearchOutline = \"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M5,3H19C20.11,3 21,3.89 21,5V13.03C20.5,12.23 19.81,11.54 19,11V5H5V19H9.5C9.81,19.75 10.26,20.42 10.81,21H5C3.89,21 3,20.11 3,19V5C3,3.89 3.89,3 5,3M7,7H17V9H7V7M7,11H12.03C11.23,11.5 10.54,12.19 10,13H7V11M7,15H9.17C9.06,15.5 9,16 9,16.5V17H7V15Z\";\r\nexport var mdiTextLong = \"M4,5H20V7H4V5M4,9H20V11H4V9M4,13H20V15H4V13M4,17H14V19H4V17Z\";\r\nexport var mdiTextRecognition = \"M2 4C2 2.9 2.9 2 4 2H8V4H4V8H2V4M22 20C22 21.11 21.11 22 20 22H16V20H20V16H22V20M4 22C2.9 22 2 21.11 2 20V16H4V20H8V22H4M20 2C21.11 2 22 2.9 22 4V8H20V4H16V2H20M9 7V9H11V17H13V9H15V7H9Z\";\r\nexport var mdiTextSearch = \"M19.31 18.9L22.39 22L21 23.39L17.88 20.32C17.19 20.75 16.37 21 15.5 21C13 21 11 19 11 16.5C11 14 13 12 15.5 12C18 12 20 14 20 16.5C20 17.38 19.75 18.21 19.31 18.9M15.5 19C16.88 19 18 17.88 18 16.5C18 15.12 16.88 14 15.5 14C14.12 14 13 15.12 13 16.5C13 17.88 14.12 19 15.5 19M21 4V6H3V4H21M3 16V14H9V16H3M3 11V9H21V11H18.97C17.96 10.37 16.77 10 15.5 10C14.23 10 13.04 10.37 12.03 11H3Z\";\r\nexport var mdiTextShadow = \"M3,3H16V6H11V18H8V6H3V3M12,7H14V9H12V7M15,7H17V9H15V7M18,7H20V9H18V7M12,10H14V12H12V10M12,13H14V15H12V13M12,16H14V18H12V16M12,19H14V21H12V19Z\";\r\nexport var mdiTextShort = \"M4,9H20V11H4V9M4,13H14V15H4V13Z\";\r\nexport var mdiTextToSpeech = \"M8,7A2,2 0 0,1 10,9V14A2,2 0 0,1 8,16A2,2 0 0,1 6,14V9A2,2 0 0,1 8,7M14,14C14,16.97 11.84,19.44 9,19.92V22H7V19.92C4.16,19.44 2,16.97 2,14H4A4,4 0 0,0 8,18A4,4 0 0,0 12,14H14M21.41,9.41L17.17,13.66L18.18,10H14A2,2 0 0,1 12,8V4A2,2 0 0,1 14,2H20A2,2 0 0,1 22,4V8C22,8.55 21.78,9.05 21.41,9.41Z\";\r\nexport var mdiTextToSpeechOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L13.38,16.65C12.55,18.35 10.93,19.59 9,19.92V22H7V19.92C4.16,19.44 2,16.97 2,14H4A4,4 0 0,0 8,18C9.82,18 11.36,16.78 11.84,15.11L10,13.27V14A2,2 0 0,1 8,16A2,2 0 0,1 6,14V9.27L2,5.27M21.41,9.41L17.17,13.66L18.18,10H14A2,2 0 0,1 12,8V4A2,2 0 0,1 14,2H20A2,2 0 0,1 22,4V8C22,8.55 21.78,9.05 21.41,9.41Z\";\r\nexport var mdiTexture = \"M9.29,21H12.12L21,12.12V9.29M19,21C19.55,21 20.05,20.78 20.41,20.41C20.78,20.05 21,19.55 21,19V17L17,21M5,3A2,2 0 0,0 3,5V7L7,3M11.88,3L3,11.88V14.71L14.71,3M19.5,3.08L3.08,19.5C3.17,19.85 3.35,20.16 3.59,20.41C3.84,20.65 4.15,20.83 4.5,20.92L20.93,4.5C20.74,3.8 20.2,3.26 19.5,3.08Z\";\r\nexport var mdiTextureBox = \"M20 2H4C2.9 2 2 2.9 2 4V20C2 21.11 2.9 22 4 22H20C21.11 22 22 21.11 22 20V4C22 2.9 21.11 2 20 2M4 6L6 4H10.9L4 10.9V6M4 13.7L13.7 4H18.6L4 18.6V13.7M20 18L18 20H13.1L20 13.1V18M20 10.3L10.3 20H5.4L20 5.4V10.3Z\";\r\nexport var mdiTheater = \"M4,15H6A2,2 0 0,1 8,17V19H9V17A2,2 0 0,1 11,15H13A2,2 0 0,1 15,17V19H16V17A2,2 0 0,1 18,15H20A2,2 0 0,1 22,17V19H23V22H1V19H2V17A2,2 0 0,1 4,15M11,7L15,10L11,13V7M4,2H20A2,2 0 0,1 22,4V13.54C21.41,13.19 20.73,13 20,13V4H4V13C3.27,13 2.59,13.19 2,13.54V4A2,2 0 0,1 4,2Z\";\r\nexport var mdiThemeLightDark = \"M7.5,2C5.71,3.15 4.5,5.18 4.5,7.5C4.5,9.82 5.71,11.85 7.53,13C4.46,13 2,10.54 2,7.5A5.5,5.5 0 0,1 7.5,2M19.07,3.5L20.5,4.93L4.93,20.5L3.5,19.07L19.07,3.5M12.89,5.93L11.41,5L9.97,6L10.39,4.3L9,3.24L10.75,3.12L11.33,1.47L12,3.1L13.73,3.13L12.38,4.26L12.89,5.93M9.59,9.54L8.43,8.81L7.31,9.59L7.65,8.27L6.56,7.44L7.92,7.35L8.37,6.06L8.88,7.33L10.24,7.36L9.19,8.23L9.59,9.54M19,13.5A5.5,5.5 0 0,1 13.5,19C12.28,19 11.15,18.6 10.24,17.93L17.93,10.24C18.6,11.15 19,12.28 19,13.5M14.6,20.08L17.37,18.93L17.13,22.28L14.6,20.08M18.93,17.38L20.08,14.61L22.28,17.15L18.93,17.38M20.08,12.42L18.94,9.64L22.28,9.88L20.08,12.42M9.63,18.93L12.4,20.08L9.87,22.27L9.63,18.93Z\";\r\nexport var mdiThermometer = \"M15 13V5A3 3 0 0 0 9 5V13A5 5 0 1 0 15 13M12 4A1 1 0 0 1 13 5V8H11V5A1 1 0 0 1 12 4Z\";\r\nexport var mdiThermometerAlert = \"M17 13V7H19V13H17M17 17V15H19V17H17M13 13V5C13 3.3 11.7 2 10 2S7 3.3 7 5V13C4.8 14.7 4.3 17.8 6 20S10.8 22.7 13 21 15.7 16.2 14 14C13.7 13.6 13.4 13.3 13 13M10 4C10.6 4 11 4.4 11 5V8H9V5C9 4.4 9.4 4 10 4Z\";\r\nexport var mdiThermometerChevronDown = \"M17.41 12.17L14.24 9L12.83 10.41L17.41 15L22 10.41L20.58 9M10 13V5C10 3.34 8.66 2 7 2S4 3.34 4 5V13C1.79 14.66 1.34 17.79 3 20S7.79 22.66 10 21 12.66 16.21 11 14C10.72 13.62 10.38 13.28 10 13M7 4C7.55 4 8 4.45 8 5V8H6V5C6 4.45 6.45 4 7 4Z\";\r\nexport var mdiThermometerChevronUp = \"M17.41 11.83L20.58 15L22 13.59L17.41 9L12.82 13.59L14.24 15L17.41 11.83M10 13V5C10 3.34 8.66 2 7 2S4 3.34 4 5V13C1.79 14.66 1.34 17.79 3 20S7.79 22.66 10 21 12.66 16.21 11 14C10.72 13.62 10.38 13.28 10 13M7 4C7.55 4 8 4.45 8 5V8H6V5C6 4.45 6.45 4 7 4Z\";\r\nexport var mdiThermometerHigh = \"M15 13V5A3 3 0 0 0 9 5V13A5 5 0 1 0 15 13M12 4A1 1 0 0 1 13 5H11A1 1 0 0 1 12 4Z\";\r\nexport var mdiThermometerLines = \"M17 3H21V5H17V3M17 7H21V9H17V7M17 11H21V13H17.75L17 12.1V11M21 15V17H19C19 16.31 18.9 15.63 18.71 15H21M7 3V5H3V3H7M7 7V9H3V7H7M7 11V12.1L6.25 13H3V11H7M3 15H5.29C5.1 15.63 5 16.31 5 17H3V15M15 13V5C15 3.34 13.66 2 12 2S9 3.34 9 5V13C6.79 14.66 6.34 17.79 8 20S12.79 22.66 15 21 17.66 16.21 16 14C15.72 13.62 15.38 13.28 15 13M12 4C12.55 4 13 4.45 13 5V8H11V5C11 4.45 11.45 4 12 4Z\";\r\nexport var mdiThermometerLow = \"M15 13V5A3 3 0 0 0 9 5V13A5 5 0 1 0 15 13M12 4A1 1 0 0 1 13 5V12H11V5A1 1 0 0 1 12 4Z\";\r\nexport var mdiThermometerMinus = \"M22 11H14V13H22V11M11 13V5C11 3.34 9.66 2 8 2S5 3.34 5 5V13C2.79 14.66 2.34 17.79 4 20S8.79 22.66 11 21 13.66 16.21 12 14C11.72 13.62 11.38 13.28 11 13M8 4C8.55 4 9 4.45 9 5V8H7V5C7 4.45 7.45 4 8 4Z\";\r\nexport var mdiThermometerOff = \"M11 7.8L9 5.8V5C9 3.34 10.34 2 12 2S15 3.34 15 5V11.8L11.2 8H13V5C13 4.45 12.55 4 12 4S11 4.45 11 5V7.8M22.11 21.46L2.39 1.73L1.11 3L9 10.89V13C6.79 14.66 6.34 17.79 8 20C9.66 22.21 12.79 22.66 15 21C15.84 20.37 16.4 19.5 16.71 18.6L20.84 22.73L22.11 21.46Z\";\r\nexport var mdiThermometerPlus = \"M19 11V8H17V11H14V13H17V16H19V13H22V11M11 13V5C11 3.34 9.66 2 8 2S5 3.34 5 5V13C2.79 14.66 2.34 17.79 4 20S8.79 22.66 11 21 13.66 16.21 12 14C11.72 13.62 11.38 13.28 11 13M8 4C8.55 4 9 4.45 9 5V8H7V5C7 4.45 7.45 4 8 4Z\";\r\nexport var mdiThermostat = \"M16.95,16.95L14.83,14.83C15.55,14.1 16,13.1 16,12C16,11.26 15.79,10.57 15.43,10L17.6,7.81C18.5,9 19,10.43 19,12C19,13.93 18.22,15.68 16.95,16.95M12,5C13.57,5 15,5.5 16.19,6.4L14,8.56C13.43,8.21 12.74,8 12,8A4,4 0 0,0 8,12C8,13.1 8.45,14.1 9.17,14.83L7.05,16.95C5.78,15.68 5,13.93 5,12A7,7 0 0,1 12,5M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z\";\r\nexport var mdiThermostatBox = \"M5,3A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H5M12,5C13.57,5 15,5.5 16.19,6.4L14,8.56C13.43,8.21 12.74,8 12,8A4,4 0 0,0 8,12C8,13.1 8.45,14.1 9.17,14.83L7.05,16.95C5.78,15.68 5,13.93 5,12A7,7 0 0,1 12,5M17.6,7.81C18.5,9 19,10.43 19,12C19,13.93 18.22,15.68 16.95,16.95L14.83,14.83C15.55,14.1 16,13.1 16,12C16,11.26 15.79,10.57 15.43,10L17.6,7.81Z\";\r\nexport var mdiThoughtBubble = \"M3.5,19A1.5,1.5 0 0,1 5,20.5A1.5,1.5 0 0,1 3.5,22A1.5,1.5 0 0,1 2,20.5A1.5,1.5 0 0,1 3.5,19M8.5,16A2.5,2.5 0 0,1 11,18.5A2.5,2.5 0 0,1 8.5,21A2.5,2.5 0 0,1 6,18.5A2.5,2.5 0 0,1 8.5,16M14.5,15C13.31,15 12.23,14.5 11.5,13.65C10.77,14.5 9.69,15 8.5,15C6.54,15 4.91,13.59 4.57,11.74C3.07,11.16 2,9.7 2,8A4,4 0 0,1 6,4C6.26,4 6.5,4.03 6.77,4.07C7.5,3.41 8.45,3 9.5,3C10.69,3 11.77,3.5 12.5,4.35C13.23,3.5 14.31,3 15.5,3C17.46,3 19.09,4.41 19.43,6.26C20.93,6.84 22,8.3 22,10A4,4 0 0,1 18,14L17.23,13.93C16.5,14.59 15.55,15 14.5,15Z\";\r\nexport var mdiThoughtBubbleOutline = \"M3.5,19A1.5,1.5 0 0,1 5,20.5A1.5,1.5 0 0,1 3.5,22A1.5,1.5 0 0,1 2,20.5A1.5,1.5 0 0,1 3.5,19M8.5,16A2.5,2.5 0 0,1 11,18.5A2.5,2.5 0 0,1 8.5,21A2.5,2.5 0 0,1 6,18.5A2.5,2.5 0 0,1 8.5,16M14.5,15C13.31,15 12.23,14.5 11.5,13.65C10.77,14.5 9.69,15 8.5,15C6.54,15 4.91,13.59 4.57,11.74C3.07,11.16 2,9.7 2,8A4,4 0 0,1 6,4L6.77,4.07C7.5,3.41 8.45,3 9.5,3C10.69,3 11.77,3.5 12.5,4.35C13.23,3.5 14.31,3 15.5,3C17.46,3 19.09,4.41 19.43,6.26C20.93,6.84 22,8.3 22,10A4,4 0 0,1 18,14L17.23,13.93C16.5,14.59 15.55,15 14.5,15M6,6A2,2 0 0,0 4,8A2,2 0 0,0 6,10C6.33,10 6.64,9.92 6.92,9.78C6.66,10.12 6.5,10.54 6.5,11A2,2 0 0,0 8.5,13C9.1,13 9.64,12.73 10,12.31V12.31L11.47,10.63L13,12.34V12.34C13.38,12.74 13.91,13 14.5,13C15.5,13 16.33,12.26 16.5,11.3C16.84,11.73 17.39,12 18,12A2,2 0 0,0 20,10A2,2 0 0,0 18,8C17.67,8 17.36,8.08 17.08,8.22C17.34,7.88 17.5,7.46 17.5,7A2,2 0 0,0 15.5,5C14.91,5 14.38,5.26 14,5.66L12.47,7.37L11,5.69V5.69C10.64,5.27 10.1,5 9.5,5C8.5,5 7.67,5.74 7.5,6.7C7.16,6.27 6.61,6 6,6M8.5,17.5A1,1 0 0,0 7.5,18.5A1,1 0 0,0 8.5,19.5A1,1 0 0,0 9.5,18.5A1,1 0 0,0 8.5,17.5Z\";\r\nexport var mdiThumbDown = \"M19,15H23V3H19M15,3H6C5.17,3 4.46,3.5 4.16,4.22L1.14,11.27C1.05,11.5 1,11.74 1,12V14A2,2 0 0,0 3,16H9.31L8.36,20.57C8.34,20.67 8.33,20.77 8.33,20.88C8.33,21.3 8.5,21.67 8.77,21.94L9.83,23L16.41,16.41C16.78,16.05 17,15.55 17,15V5C17,3.89 16.1,3 15,3Z\";\r\nexport var mdiThumbDownOutline = \"M19,15V3H23V15H19M15,3A2,2 0 0,1 17,5V15C17,15.55 16.78,16.05 16.41,16.41L9.83,23L8.77,21.94C8.5,21.67 8.33,21.3 8.33,20.88L8.36,20.57L9.31,16H3C1.89,16 1,15.1 1,14V12C1,11.74 1.05,11.5 1.14,11.27L4.16,4.22C4.46,3.5 5.17,3 6,3H15M15,5H5.97L3,12V14H11.78L10.65,19.32L15,14.97V5Z\";\r\nexport var mdiThumbUp = \"M23,10C23,8.89 22.1,8 21,8H14.68L15.64,3.43C15.66,3.33 15.67,3.22 15.67,3.11C15.67,2.7 15.5,2.32 15.23,2.05L14.17,1L7.59,7.58C7.22,7.95 7,8.45 7,9V19A2,2 0 0,0 9,21H18C18.83,21 19.54,20.5 19.84,19.78L22.86,12.73C22.95,12.5 23,12.26 23,12V10M1,21H5V9H1V21Z\";\r\nexport var mdiThumbUpOutline = \"M5,9V21H1V9H5M9,21A2,2 0 0,1 7,19V9C7,8.45 7.22,7.95 7.59,7.59L14.17,1L15.23,2.06C15.5,2.33 15.67,2.7 15.67,3.11L15.64,3.43L14.69,8H21C22.11,8 23,8.9 23,10V12C23,12.26 22.95,12.5 22.86,12.73L19.84,19.78C19.54,20.5 18.83,21 18,21H9M9,19H18.03L21,12V10H12.21L13.34,4.68L9,9.03V19Z\";\r\nexport var mdiThumbsUpDown = \"M22.5,10H15.75C15.13,10 14.6,10.38 14.37,10.91L12.11,16.2C12.04,16.37 12,16.56 12,16.75V18A1,1 0 0,0 13,19H18.18L17.5,22.18V22.42C17.5,22.73 17.63,23 17.83,23.22L18.62,24L23.56,19.06C23.83,18.79 24,18.41 24,18V11.5A1.5,1.5 0 0,0 22.5,10M12,6A1,1 0 0,0 11,5H5.82L6.5,1.82V1.59C6.5,1.28 6.37,1 6.17,0.79L5.38,0L0.44,4.94C0.17,5.21 0,5.59 0,6V12.5A1.5,1.5 0 0,0 1.5,14H8.25C8.87,14 9.4,13.62 9.63,13.09L11.89,7.8C11.96,7.63 12,7.44 12,7.25V6Z\";\r\nexport var mdiTicket = \"M15.58,16.8L12,14.5L8.42,16.8L9.5,12.68L6.21,10L10.46,9.74L12,5.8L13.54,9.74L17.79,10L14.5,12.68M20,12C20,10.89 20.9,10 22,10V6C22,4.89 21.1,4 20,4H4A2,2 0 0,0 2,6V10C3.11,10 4,10.9 4,12A2,2 0 0,1 2,14V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V14A2,2 0 0,1 20,12Z\";\r\nexport var mdiTicketAccount = \"M20,12A2,2 0 0,0 22,14V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V14C3.11,14 4,13.1 4,12A2,2 0 0,0 2,10V6C2,4.89 2.9,4 4,4H20A2,2 0 0,1 22,6V10A2,2 0 0,0 20,12M16.5,16.25C16.5,14.75 13.5,14 12,14C10.5,14 7.5,14.75 7.5,16.25V17H16.5V16.25M12,12.25A2.25,2.25 0 0,0 14.25,10A2.25,2.25 0 0,0 12,7.75A2.25,2.25 0 0,0 9.75,10A2.25,2.25 0 0,0 12,12.25Z\";\r\nexport var mdiTicketConfirmation = \"M13,8.5H11V6.5H13V8.5M13,13H11V11H13V13M13,17.5H11V15.5H13V17.5M22,10V6C22,4.89 21.1,4 20,4H4A2,2 0 0,0 2,6V10C3.11,10 4,10.9 4,12A2,2 0 0,1 2,14V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V14A2,2 0 0,1 20,12A2,2 0 0,1 22,10Z\";\r\nexport var mdiTicketConfirmationOutline = \"M22 10V6C22 4.89 21.1 4 20 4H4C2.9 4 2 4.89 2 6V10C3.11 10 4 10.9 4 12S3.11 14 2 14V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V14C20.9 14 20 13.1 20 12S20.9 10 22 10M20 8.54C18.81 9.23 18 10.53 18 12S18.81 14.77 20 15.46V18H4V15.46C5.19 14.77 6 13.47 6 12C6 10.5 5.2 9.23 4 8.54L4 6H20V8.54M11 15H13V17H11M11 11H13V13H11M11 7H13V9H11Z\";\r\nexport var mdiTicketOutline = \"M4,4A2,2 0 0,0 2,6V10A2,2 0 0,1 4,12A2,2 0 0,1 2,14V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V14A2,2 0 0,1 20,12A2,2 0 0,1 22,10V6A2,2 0 0,0 20,4H4M4,6H20V8.54C18.76,9.25 18,10.57 18,12C18,13.43 18.76,14.75 20,15.46V18H4V15.46C5.24,14.75 6,13.43 6,12C6,10.57 5.24,9.25 4,8.54V6Z\";\r\nexport var mdiTicketPercent = \"M4,4A2,2 0 0,0 2,6V10C3.11,10 4,10.9 4,12A2,2 0 0,1 2,14V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V14A2,2 0 0,1 20,12C20,10.89 20.9,10 22,10V6C22,4.89 21.1,4 20,4H4M15.5,7L17,8.5L8.5,17L7,15.5L15.5,7M8.81,7.04C9.79,7.04 10.58,7.83 10.58,8.81A1.77,1.77 0 0,1 8.81,10.58C7.83,10.58 7.04,9.79 7.04,8.81A1.77,1.77 0 0,1 8.81,7.04M15.19,13.42C16.17,13.42 16.96,14.21 16.96,15.19A1.77,1.77 0 0,1 15.19,16.96C14.21,16.96 13.42,16.17 13.42,15.19A1.77,1.77 0 0,1 15.19,13.42Z\";\r\nexport var mdiTicketPercentOutline = \"M14.8 8L16 9.2L9.2 16L8 14.8L14.8 8M4 4H20C21.11 4 22 4.89 22 6V10C20.9 10 20 10.9 20 12C20 13.11 20.9 14 22 14V18C22 19.11 21.11 20 20 20H4C2.9 20 2 19.11 2 18V14C3.11 14 4 13.11 4 12C4 10.9 3.11 10 2 10V6C2 4.89 2.9 4 4 4M4 6V8.54C5.24 9.26 6 10.57 6 12C6 13.43 5.24 14.75 4 15.46V18H20V15.46C18.76 14.75 18 13.43 18 12C18 10.57 18.76 9.26 20 8.54V6H4M9.5 8C10.33 8 11 8.67 11 9.5C11 10.33 10.33 11 9.5 11C8.67 11 8 10.33 8 9.5C8 8.67 8.67 8 9.5 8M14.5 13C15.33 13 16 13.67 16 14.5C16 15.33 15.33 16 14.5 16C13.67 16 13 15.33 13 14.5C13 13.67 13.67 13 14.5 13Z\";\r\nexport var mdiTie = \"M6,2L10,6L7,17L12,22L17,17L14,6L18,2Z\";\r\nexport var mdiTilde = \"M2,15C2,15 2,9 8,9C12,9 12.5,12.5 15.5,12.5C19.5,12.5 19.5,9 19.5,9H22C22,9 22,15 16,15C12,15 10.5,11.5 8.5,11.5C4.5,11.5 4.5,15 4.5,15H2\";\r\nexport var mdiTimelapse = \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.24,7.76C15.07,6.58 13.53,6 12,6V12L7.76,16.24C10.1,18.58 13.9,18.58 16.24,16.24C18.59,13.9 18.59,10.1 16.24,7.76Z\";\r\nexport var mdiTimeline = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6Z\";\r\nexport var mdiTimelineAlert = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M15 7V13H17V7H15M15 15V17H17V15H15Z\";\r\nexport var mdiTimelineAlertOutline = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M10 6V18H22V6H10M15 7H17V13H15V7M15 15H17V17H15V15Z\";\r\nexport var mdiTimelineCheck = \"M4 8H2V2H4V8M2 22H4V16H2V22M3 10C1.9 10 1 10.9 1 12C1 13.11 1.9 14 3 14C4.11 14 5 13.11 5 12C5 10.9 4.11 10 3 10M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M19.75 10.33L18.59 8.92L15 12.5L13.41 10.92L12.25 12.08L15 15.08L19.75 10.33Z\";\r\nexport var mdiTimelineCheckOutline = \"M22 4H10C8.9 4 8 4.89 8 6V10L6 12L8 14V18C8 19.11 8.9 20 10 20H22C23.11 20 24 19.11 24 18V6C24 4.89 23.11 4 22 4M22 18H10V6H22V18M4 8H2V2H4V8M2 16H4V22H2V16M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M15 15.08L12.25 12.08L13.41 10.92L15 12.5L18.59 8.92L19.75 10.33L15 15.08Z\";\r\nexport var mdiTimelineClock = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M16 4C20.42 4 24 7.58 24 12C24 16.42 20.42 20 16 20C12.4 20 9.36 17.62 8.35 14.35L6 12L8.35 9.65C9.36 6.38 12.4 4 16 4M15 13L19.53 15.79L20.33 14.5L16.5 12.2V7H15V13Z\";\r\nexport var mdiTimelineClockOutline = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M16 4C20.42 4 24 7.58 24 12C24 16.42 20.42 20 16 20C12.4 20 9.36 17.62 8.35 14.35L6 12L8.35 9.65C9.36 6.38 12.4 4 16 4M16 6C12.69 6 10 8.69 10 12C10 15.31 12.69 18 16 18C19.31 18 22 15.31 22 12C22 8.69 19.31 6 16 6M15 13V8H16.5V12.2L19.5 14L18.68 15.26L15 13Z\";\r\nexport var mdiTimelineHelp = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M16.5 15.5H15V17H16.5V15.5M14.5 10.5V10C14.5 9.17 15.17 8.5 16 8.5C16.83 8.5 17.5 9.18 17.5 10C17.5 10.47 17.27 10.9 16.88 11.16L16.59 11.35C15.6 12 15 13.11 15 14.3V14.5H16.5V14.3C16.5 13.62 16.84 13 17.41 12.6L17.71 12.41C18.5 11.88 19 10.97 19 10C19 8.34 17.66 7 16 7C14.34 7 13 8.34 13 10V10.5H14.5Z\";\r\nexport var mdiTimelineHelpOutline = \"M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M4 2V8H2V2H4M2 22V16H4V22H2M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M22 6H10V10.83L8.83 12L10 13.17V18H22V6M16.5 15.5V17H15V15.5H16.5M14.5 10.5H13V10C13 8.34 14.34 7 16 7C17.66 7 19 8.34 19 10C19 10.97 18.5 11.88 17.71 12.41L17.41 12.6C16.84 13 16.5 13.62 16.5 14.3V14.5H15V14.3C15 13.11 15.6 12 16.59 11.35L16.88 11.16C17.27 10.9 17.5 10.47 17.5 10C17.5 9.18 16.83 8.5 16 8.5C15.17 8.5 14.5 9.17 14.5 10V10.5Z\";\r\nexport var mdiTimelineMinus = \"M4 8H2V2H4V8M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M20 11H12V13H20V11M2 22H4V16H2V22M3 10C1.9 10 1 10.9 1 12C1 13.11 1.9 14 3 14C4.11 14 5 13.11 5 12C5 10.9 4.11 10 3 10Z\";\r\nexport var mdiTimelineMinusOutline = \"M2 16H4V22H2V16M4 2H2V8H4V2M20 11H12V13H20V11M3 10C1.9 10 1 10.9 1 12C1 13.11 1.9 14 3 14C4.11 14 5 13.11 5 12C5 10.9 4.11 10 3 10M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M22 6H10V18H22V6Z\";\r\nexport var mdiTimelineOutline = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M10 6V18H22V6H10Z\";\r\nexport var mdiTimelinePlus = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M20 11H17V8H15V11H12V13H15V16H17V13H20V11Z\";\r\nexport var mdiTimelinePlusOutline = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M20 11V13H17V16H15V13H12V11H15V8H17V11H20M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M10 6V18H22V6H10Z\";\r\nexport var mdiTimelineRemove = \"M4 8H2V2H4V8M2 22H4V16H2V22M3 10C1.9 10 1 10.9 1 12C1 13.11 1.9 14 3 14C4.11 14 5 13.11 5 12C5 10.9 4.11 10 3 10M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M17.41 12L19.53 9.88L18.12 8.47L16 10.59L13.88 8.47L12.47 9.88L14.59 12L12.47 14.12L13.88 15.53L16 13.41L18.12 15.53L19.53 14.12L17.41 12Z\";\r\nexport var mdiTimelineRemoveOutline = \"M4 8H2V2H4V8M2 22H4V16H2V22M3 10C1.9 10 1 10.9 1 12C1 13.11 1.9 14 3 14C4.11 14 5 13.11 5 12C5 10.9 4.11 10 3 10M13.88 15.54L16 13.41L18.12 15.53L19.53 14.12L17.41 12L19.53 9.88L18.12 8.47L16 10.59L13.88 8.47L12.47 9.88L14.59 12L12.47 14.12L13.88 15.54M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M22 6H10V18H22V6Z\";\r\nexport var mdiTimelineText = \"M4 2V8H2V2H4M2 22H4V16H2V22M5 12C5 10.9 4.11 10 3 10C1.9 10 1 10.9 1 12C1 13.11 1.9 14 3 14C4.11 14 5 13.11 5 12M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M19 13H11V15H19V13M21 9H11V11H21V9Z\";\r\nexport var mdiTimelineTextOutline = \"M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M4 2V8H2V2H4M2 22V16H4V22H2M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M22 6H10V10.83L8.83 12L10 13.17V18H22V6M12 9H20V11H12V9M12 13H18V15H12V13Z\";\r\nexport var mdiTimer = \"M19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C17 22 21 17.97 21 13C21 10.88 20.26 8.93 19.03 7.39M13 14H11V7H13V14M15 1H9V3H15V1Z\";\r\nexport var mdiTimer10 = \"M12.9,13.22C12.9,13.82 12.86,14.33 12.78,14.75C12.7,15.17 12.58,15.5 12.42,15.77C12.26,16.03 12.06,16.22 11.83,16.34C11.6,16.46 11.32,16.5 11,16.5C10.71,16.5 10.43,16.46 10.19,16.34C9.95,16.22 9.75,16.03 9.59,15.77C9.43,15.5 9.3,15.17 9.21,14.75C9.12,14.33 9.08,13.82 9.08,13.22V10.72C9.08,10.12 9.12,9.61 9.21,9.2C9.3,8.79 9.42,8.46 9.59,8.2C9.75,7.95 9.95,7.77 10.19,7.65C10.43,7.54 10.7,7.5 11,7.5C11.31,7.5 11.58,7.54 11.81,7.65C12.05,7.76 12.25,7.94 12.41,8.2C12.57,8.45 12.7,8.78 12.78,9.19C12.86,9.6 12.91,10.11 12.91,10.71V13.22M13.82,7.05C13.5,6.65 13.07,6.35 12.59,6.17C12.12,6 11.58,5.9 11,5.9C10.42,5.9 9.89,6 9.41,6.17C8.93,6.35 8.5,6.64 8.18,7.05C7.84,7.46 7.58,8 7.39,8.64C7.21,9.29 7.11,10.09 7.11,11.03V12.95C7.11,13.89 7.2,14.69 7.39,15.34C7.58,16 7.84,16.53 8.19,16.94C8.53,17.35 8.94,17.65 9.42,17.83C9.9,18 10.43,18.11 11,18.11C11.6,18.11 12.13,18 12.6,17.83C13.08,17.65 13.5,17.35 13.82,16.94C14.16,16.53 14.42,16 14.6,15.34C14.78,14.69 14.88,13.89 14.88,12.95V11.03C14.88,10.09 14.79,9.29 14.6,8.64C14.42,8 14.16,7.45 13.82,7.05M23.78,14.37C23.64,14.09 23.43,13.84 23.15,13.63C22.87,13.42 22.54,13.24 22.14,13.1C21.74,12.96 21.29,12.83 20.79,12.72C20.44,12.65 20.15,12.57 19.92,12.5C19.69,12.41 19.5,12.33 19.37,12.24C19.23,12.15 19.14,12.05 19.09,11.94C19.04,11.83 19,11.7 19,11.55C19,11.41 19.04,11.27 19.1,11.14C19.16,11 19.25,10.89 19.37,10.8C19.5,10.7 19.64,10.62 19.82,10.56C20,10.5 20.22,10.47 20.46,10.47C20.71,10.47 20.93,10.5 21.12,10.58C21.31,10.65 21.47,10.75 21.6,10.87C21.73,11 21.82,11.13 21.89,11.29C21.95,11.45 22,11.61 22,11.78H23.94C23.94,11.39 23.86,11.03 23.7,10.69C23.54,10.35 23.31,10.06 23,9.81C22.71,9.56 22.35,9.37 21.92,9.22C21.5,9.07 21,9 20.46,9C19.95,9 19.5,9.07 19.07,9.21C18.66,9.35 18.3,9.54 18,9.78C17.72,10 17.5,10.3 17.34,10.62C17.18,10.94 17.11,11.27 17.11,11.63C17.11,12 17.19,12.32 17.34,12.59C17.5,12.87 17.7,13.11 18,13.32C18.25,13.53 18.58,13.7 18.96,13.85C19.34,14 19.77,14.11 20.23,14.21C20.62,14.29 20.94,14.38 21.18,14.47C21.42,14.56 21.61,14.66 21.75,14.76C21.88,14.86 21.97,15 22,15.1C22.07,15.22 22.09,15.35 22.09,15.5C22.09,15.81 21.96,16.06 21.69,16.26C21.42,16.46 21.03,16.55 20.5,16.55C20.3,16.55 20.09,16.53 19.88,16.47C19.67,16.42 19.5,16.34 19.32,16.23C19.15,16.12 19,15.97 18.91,15.79C18.8,15.61 18.74,15.38 18.73,15.12H16.84C16.84,15.5 16.92,15.83 17.08,16.17C17.24,16.5 17.47,16.82 17.78,17.1C18.09,17.37 18.47,17.59 18.93,17.76C19.39,17.93 19.91,18 20.5,18C21.04,18 21.5,17.95 21.95,17.82C22.38,17.69 22.75,17.5 23.06,17.28C23.37,17.05 23.6,16.77 23.77,16.45C23.94,16.13 24,15.78 24,15.39C24,15 23.93,14.65 23.78,14.37M0,7.72V9.4L3,8.4V18H5V6H4.75L0,7.72Z\";\r\nexport var mdiTimer3 = \"M20.87,14.37C20.73,14.09 20.5,13.84 20.24,13.63C19.96,13.42 19.63,13.24 19.23,13.1C18.83,12.96 18.38,12.83 17.88,12.72C17.53,12.65 17.24,12.57 17,12.5C16.78,12.41 16.6,12.33 16.46,12.24C16.32,12.15 16.23,12.05 16.18,11.94C16.13,11.83 16.1,11.7 16.1,11.55C16.1,11.4 16.13,11.27 16.19,11.14C16.25,11 16.34,10.89 16.46,10.8C16.58,10.7 16.73,10.62 16.91,10.56C17.09,10.5 17.31,10.47 17.55,10.47C17.8,10.47 18,10.5 18.21,10.58C18.4,10.65 18.56,10.75 18.69,10.87C18.82,11 18.91,11.13 19,11.29C19.04,11.45 19.08,11.61 19.08,11.78H21.03C21.03,11.39 20.95,11.03 20.79,10.69C20.63,10.35 20.4,10.06 20.1,9.81C19.8,9.56 19.44,9.37 19,9.22C18.58,9.07 18.09,9 17.55,9C17.04,9 16.57,9.07 16.16,9.21C15.75,9.35 15.39,9.54 15.1,9.78C14.81,10 14.59,10.3 14.43,10.62C14.27,10.94 14.2,11.27 14.2,11.63C14.2,12 14.28,12.31 14.43,12.59C14.58,12.87 14.8,13.11 15.07,13.32C15.34,13.53 15.67,13.7 16.05,13.85C16.43,14 16.86,14.11 17.32,14.21C17.71,14.29 18.03,14.38 18.27,14.47C18.5,14.56 18.7,14.66 18.84,14.76C18.97,14.86 19.06,15 19.11,15.1C19.16,15.22 19.18,15.35 19.18,15.5C19.18,15.81 19.05,16.06 18.78,16.26C18.5,16.46 18.12,16.55 17.61,16.55C17.39,16.55 17.18,16.53 16.97,16.47C16.76,16.42 16.57,16.34 16.41,16.23C16.24,16.12 16.11,15.97 16,15.79C15.89,15.61 15.83,15.38 15.82,15.12H13.93C13.93,15.5 14,15.83 14.17,16.17C14.33,16.5 14.56,16.82 14.87,17.1C15.18,17.37 15.56,17.59 16,17.76C16.5,17.93 17,18 17.6,18C18.13,18 18.61,17.95 19.04,17.82C19.47,17.69 19.84,17.5 20.15,17.28C20.46,17.05 20.69,16.77 20.86,16.45C21.03,16.13 21.11,15.78 21.11,15.39C21.09,15 21,14.65 20.87,14.37M11.61,12.97C11.45,12.73 11.25,12.5 11,12.32C10.74,12.13 10.43,11.97 10.06,11.84C10.36,11.7 10.63,11.54 10.86,11.34C11.09,11.14 11.28,10.93 11.43,10.7C11.58,10.47 11.7,10.24 11.77,10C11.85,9.75 11.88,9.5 11.88,9.26C11.88,8.71 11.79,8.22 11.6,7.8C11.42,7.38 11.16,7.03 10.82,6.74C10.5,6.46 10.09,6.24 9.62,6.1C9.17,5.97 8.65,5.9 8.09,5.9C7.54,5.9 7.03,6 6.57,6.14C6.1,6.31 5.7,6.54 5.37,6.83C5.04,7.12 4.77,7.46 4.59,7.86C4.39,8.25 4.3,8.69 4.3,9.15H6.28C6.28,8.89 6.33,8.66 6.42,8.46C6.5,8.26 6.64,8.08 6.8,7.94C6.97,7.8 7.16,7.69 7.38,7.61C7.6,7.53 7.84,7.5 8.11,7.5C8.72,7.5 9.17,7.65 9.47,7.96C9.77,8.27 9.91,8.71 9.91,9.28C9.91,9.55 9.87,9.8 9.79,10C9.71,10.24 9.58,10.43 9.41,10.59C9.24,10.75 9.03,10.87 8.78,10.96C8.53,11.05 8.23,11.09 7.89,11.09H6.72V12.66H7.9C8.24,12.66 8.54,12.7 8.81,12.77C9.08,12.85 9.31,12.96 9.5,13.12C9.69,13.28 9.84,13.5 9.94,13.73C10.04,13.97 10.1,14.27 10.1,14.6C10.1,15.22 9.92,15.69 9.57,16C9.22,16.35 8.73,16.5 8.12,16.5C7.83,16.5 7.56,16.47 7.32,16.38C7.08,16.3 6.88,16.18 6.71,16C6.54,15.86 6.41,15.68 6.32,15.46C6.23,15.24 6.18,15 6.18,14.74H4.19C4.19,15.29 4.3,15.77 4.5,16.19C4.72,16.61 5,16.96 5.37,17.24C5.73,17.5 6.14,17.73 6.61,17.87C7.08,18 7.57,18.08 8.09,18.08C8.66,18.08 9.18,18 9.67,17.85C10.16,17.7 10.58,17.47 10.93,17.17C11.29,16.87 11.57,16.5 11.77,16.07C11.97,15.64 12.07,15.14 12.07,14.59C12.07,14.3 12.03,14 11.96,13.73C11.88,13.5 11.77,13.22 11.61,12.97Z\";\r\nexport var mdiTimerOff = \"M3 4L1.75 5.27L4.5 8.03C3.55 9.45 3 11.16 3 13C3 17.97 7.03 22 12 22C13.84 22 15.55 21.45 17 20.5L19.5 23L20.75 21.73L13.04 14L3 4M15 1H9V3H15M21 13C21 14.83 20.45 16.53 19.5 17.94L13 11.45V7H11V9.45L7.05 5.5C8.47 4.55 10.17 4 12 4C14.12 4 16.07 4.74 17.62 5.97L19.04 4.55L20.45 5.97L19.03 7.39C20.26 8.93 21 10.88 21 13Z\";\r\nexport var mdiTimerOffOutline = \"M12,20A7,7 0 0,1 5,13C5,11.72 5.35,10.5 5.95,9.5L15.5,19.04C14.5,19.65 13.28,20 12,20M3,4L1.75,5.27L4.5,8.03C3.55,9.45 3,11.16 3,13A9,9 0 0,0 12,22C13.84,22 15.55,21.45 17,20.5L19.5,23L20.75,21.73L13.04,14L3,4M11,9.44L13,11.44V8H11M15,1H9V3H15M19.04,4.55L17.62,5.97C16.07,4.74 14.12,4 12,4C10.17,4 8.47,4.55 7.05,5.5L8.5,6.94C9.53,6.35 10.73,6 12,6A7,7 0 0,1 19,13C19,14.27 18.65,15.47 18.06,16.5L19.5,17.94C20.45,16.53 21,14.83 21,13C21,10.88 20.26,8.93 19.03,7.39L20.45,5.97L19.04,4.55Z\";\r\nexport var mdiTimerOutline = \"M12,20A7,7 0 0,1 5,13A7,7 0 0,1 12,6A7,7 0 0,1 19,13A7,7 0 0,1 12,20M19.03,7.39L20.45,5.97C20,5.46 19.55,5 19.04,4.56L17.62,6C16.07,4.74 14.12,4 12,4A9,9 0 0,0 3,13A9,9 0 0,0 12,22C17,22 21,17.97 21,13C21,10.88 20.26,8.93 19.03,7.39M11,14H13V8H11M15,1H9V3H15V1Z\";\r\nexport var mdiTimerSand = \"M6,2H18V8H18V8L14,12L18,16V16H18V22H6V16H6V16L10,12L6,8V8H6V2M16,16.5L12,12.5L8,16.5V20H16V16.5M12,11.5L16,7.5V4H8V7.5L12,11.5M10,6H14V6.75L12,8.75L10,6.75V6Z\";\r\nexport var mdiTimerSandEmpty = \"M6,2V8H6V8L10,12L6,16V16H6V22H18V16H18V16L14,12L18,8V8H18V2H6M16,16.5V20H8V16.5L12,12.5L16,16.5M12,11.5L8,7.5V4H16V7.5L12,11.5Z\";\r\nexport var mdiTimerSandFull = \"M6,2V8H6V8L10,12L6,16V16H6V22H18V16H18V16L14,12L18,8V8H18V2H6Z\";\r\nexport var mdiTimetable = \"M14,12H15.5V14.82L17.94,16.23L17.19,17.53L14,15.69V12M4,2H18A2,2 0 0,1 20,4V10.1C21.24,11.36 22,13.09 22,15A7,7 0 0,1 15,22C13.09,22 11.36,21.24 10.1,20H4A2,2 0 0,1 2,18V4A2,2 0 0,1 4,2M4,15V18H8.67C8.24,17.09 8,16.07 8,15H4M4,8H10V5H4V8M18,8V5H12V8H18M4,13H8.29C8.63,11.85 9.26,10.82 10.1,10H4V13M15,10.15A4.85,4.85 0 0,0 10.15,15C10.15,17.68 12.32,19.85 15,19.85A4.85,4.85 0 0,0 19.85,15C19.85,12.32 17.68,10.15 15,10.15Z\";\r\nexport var mdiToaster = \"M21 11A2 2 0 0 0 19 9H5A2 2 0 0 0 3 11H2V13H3V20H21V13H22V11M17 15A2 2 0 1 1 19 13A2 2 0 0 1 17 15M18 8H6C6.33 5.75 8.88 4 12 4S17.63 5.75 18 8Z\";\r\nexport var mdiToasterOff = \"M20.8 22.7L18.1 20H3V13H2V11H3C3 9.9 3.9 9 5 9H7.1L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M15.3 12.1C15.6 11.5 16.3 11 17 11C18.1 11 19 11.9 19 13C19 13.8 18.6 14.4 17.9 14.7L21 17.8V13H22V11H21C21 9.9 20.1 9 19 9H12.2L15.3 12.1M18 8C17.6 5.8 15.1 4 12 4C10.6 4 9.2 4.4 8.2 5L11.2 8H18Z\";\r\nexport var mdiToasterOven = \"M4,5A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V7A2,2 0 0,0 20,5H4M4,7H16V17H4V7M19,7A1,1 0 0,1 20,8A1,1 0 0,1 19,9A1,1 0 0,1 18,8A1,1 0 0,1 19,7M6,9V11H14V9H6M19,11A1,1 0 0,1 20,12A1,1 0 0,1 19,13A1,1 0 0,1 18,12A1,1 0 0,1 19,11Z\";\r\nexport var mdiToggleSwitch = \"M17,7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7M17,15A3,3 0 0,1 14,12A3,3 0 0,1 17,9A3,3 0 0,1 20,12A3,3 0 0,1 17,15Z\";\r\nexport var mdiToggleSwitchOff = \"M17,7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7M7,15A3,3 0 0,1 4,12A3,3 0 0,1 7,9A3,3 0 0,1 10,12A3,3 0 0,1 7,15Z\";\r\nexport var mdiToggleSwitchOffOutline = \"M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6zm0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4zM7 9c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\";\r\nexport var mdiToggleSwitchOutline = \"M17 6H7C3.69 6 1 8.69 1 12S3.69 18 7 18H17C20.31 18 23 15.31 23 12S20.31 6 17 6M17 16H7C4.79 16 3 14.21 3 12S4.79 8 7 8H17C19.21 8 21 9.79 21 12S19.21 16 17 16M17 9C15.34 9 14 10.34 14 12S15.34 15 17 15 20 13.66 20 12 18.66 9 17 9Z\";\r\nexport var mdiToilet = \"M9,22H17V19.5C19.41,17.87 21,15.12 21,12V4A2,2 0 0,0 19,2H15C13.89,2 13,2.9 13,4V12H3C3,15.09 5,18 9,19.5V22M5.29,14H18.71C18.14,15.91 16.77,17.5 15,18.33V20H11V18.33C9,18 5.86,15.91 5.29,14M15,4H19V12H15V4M16,5V8H18V5H16Z\";\r\nexport var mdiToolbox = \"M9,5V6H15V5H9M22,18C22,18.53 21.79,19 21.4,19.41C21,19.81 20.55,20 20,20H4C3.45,20 3,19.81 2.6,19.41C2.21,19 2,18.53 2,18V14H7V15H9V14H15V15H17V14H22V18M4.5,7.22C4.84,6.41 5.45,6 6.33,6H7V5C7,4.45 7.18,4 7.57,3.59C7.96,3.2 8.44,3 9,3H15C15.56,3 16.04,3.2 16.43,3.59C16.82,4 17,4.45 17,5V6H17.67C18.55,6 19.16,6.41 19.5,7.22L21.58,12H17V11H15V12H9V11H7V12H2.42L4.5,7.22Z\";\r\nexport var mdiToolboxOutline = \"M20,18V14H17V15H15V14H9V15H7V14H4V18H20M6.33,8L4.59,12H7V11H9V12H15V11H17V12H19.41L17.67,8H6.33M9,5V6H15V5H9M21.84,12.61C21.94,12.83 22,13.09 22,13.41V18C22,18.53 21.79,19 21.4,19.41C21,19.81 20.55,20 20,20H4C3.45,20 3,19.81 2.6,19.41C2.21,19 2,18.53 2,18V13.41C2,13.09 2.06,12.83 2.16,12.61L4.5,7.22C4.84,6.41 5.45,6 6.33,6H7V5C7,4.45 7.18,4 7.57,3.59C7.96,3.2 8.44,3 9,3H15C15.56,3 16.04,3.2 16.43,3.59C16.82,4 17,4.45 17,5V6H17.67C18.55,6 19.16,6.41 19.5,7.22L21.84,12.61Z\";\r\nexport var mdiTools = \"M21.71 20.29L20.29 21.71A1 1 0 0 1 18.88 21.71L7 9.85A3.81 3.81 0 0 1 6 10A4 4 0 0 1 2.22 4.7L4.76 7.24L5.29 6.71L6.71 5.29L7.24 4.76L4.7 2.22A4 4 0 0 1 10 6A3.81 3.81 0 0 1 9.85 7L21.71 18.88A1 1 0 0 1 21.71 20.29M2.29 18.88A1 1 0 0 0 2.29 20.29L3.71 21.71A1 1 0 0 0 5.12 21.71L10.59 16.25L7.76 13.42M20 2L16 4V6L13.83 8.17L15.83 10.17L18 8H20L22 4Z\";\r\nexport var mdiTooltip = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2Z\";\r\nexport var mdiTooltipAccount = \"M20,2H4A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H8L12,22L16,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M12,4.3C13.5,4.3 14.7,5.5 14.7,7C14.7,8.5 13.5,9.7 12,9.7C10.5,9.7 9.3,8.5 9.3,7C9.3,5.5 10.5,4.3 12,4.3M18,15H6V14.1C6,12.1 10,11 12,11C14,11 18,12.1 18,14.1V15Z\";\r\nexport var mdiTooltipCheck = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.11 2.9 18 4 18H8L12 22L16 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M10.46 14L6.96 10.5L8.37 9.08L10.46 11.17L15.64 6L17.05 7.41L10.46 14Z\";\r\nexport var mdiTooltipCheckOutline = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.11 2.9 18 4 18H8L12 22L16 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M20 16H15.17L12 19.17L8.83 16H4V4H20V16M10.75 13.71L7.25 10.21L8.66 8.79L10.75 10.88L15.34 6.3L16.75 7.71L10.75 13.71Z\";\r\nexport var mdiTooltipEdit = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.11 2.9 18 4 18H8L12 22L16 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M9.08 15H7V12.91L13.17 6.72L15.24 8.8L9.08 15M16.84 7.2L15.83 8.21L13.76 6.18L14.77 5.16C14.97 4.95 15.31 4.94 15.55 5.16L16.84 6.41C17.05 6.62 17.06 6.96 16.84 7.2Z\";\r\nexport var mdiTooltipEditOutline = \"M4 2H20C21.11 2 22 2.9 22 4V16C22 17.11 21.11 18 20 18H16L12 22L8 18H4C2.9 18 2 17.11 2 16V4C2 2.9 2.9 2 4 2M4 4V16H8.83L12 19.17L15.17 16H20V4H4M15.84 8.2L14.83 9.21L12.76 7.18L13.77 6.16C13.97 5.95 14.31 5.94 14.55 6.16L15.84 7.41C16.05 7.62 16.06 7.96 15.84 8.2M8 11.91L12.17 7.72L14.24 9.8L10.08 14H8V11.91Z\";\r\nexport var mdiTooltipImage = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M19,15V7L15,11L13,9L7,15H19M7,5A2,2 0 0,0 5,7A2,2 0 0,0 7,9A2,2 0 0,0 9,7A2,2 0 0,0 7,5Z\";\r\nexport var mdiTooltipImageOutline = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M4,4V16H8.83L12,19.17L15.17,16H20V4H4M7.5,6A1.5,1.5 0 0,1 9,7.5A1.5,1.5 0 0,1 7.5,9A1.5,1.5 0 0,1 6,7.5A1.5,1.5 0 0,1 7.5,6M6,14L11,9L13,11L18,6V14H6Z\";\r\nexport var mdiTooltipMinus = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.11 2.9 18 4 18H8L12 22L16 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M16 11H8V9H16V11Z\";\r\nexport var mdiTooltipMinusOutline = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.11 2.9 18 4 18H8L12 22L16 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M20 16H15.17L12 19.17L8.83 16H4V4H20V16M16 11H8V9H16V11Z\";\r\nexport var mdiTooltipOutline = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M4,4V16H8.83L12,19.17L15.17,16H20V4H4Z\";\r\nexport var mdiTooltipPlus = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M11,6V9H8V11H11V14H13V11H16V9H13V6H11Z\";\r\nexport var mdiTooltipPlusOutline = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M4,4V16H8.83L12,19.17L15.17,16H20V4H4M11,6H13V9H16V11H13V14H11V11H8V9H11V6Z\";\r\nexport var mdiTooltipRemove = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.11 2.9 18 4 18H8L12 22L16 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M15.54 12.12L14.12 13.54L12 11.41L9.88 13.54L8.47 12.12L10.59 10L8.46 7.88L9.88 6.47L12 8.59L14.12 6.47L15.54 7.88L13.41 10L15.54 12.12Z\";\r\nexport var mdiTooltipRemoveOutline = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.11 2.9 18 4 18H8L12 22L16 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M20 16H15.17L12 19.17L8.83 16H4V4H20V16M8.46 12.12L10.59 10L8.46 7.88L9.88 6.47L12 8.59L14.12 6.47L15.54 7.88L13.41 10L15.54 12.12L14.12 13.54L12 11.41L9.88 13.54L8.46 12.12Z\";\r\nexport var mdiTooltipText = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M5,5V7H19V5H5M5,9V11H15V9H5M5,13V15H17V13H5Z\";\r\nexport var mdiTooltipTextOutline = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M4,4V16H8.83L12,19.17L15.17,16H20V4H4M6,7H18V9H6V7M6,11H16V13H6V11Z\";\r\nexport var mdiTooth = \"M7,2C4,2 2,5 2,8C2,10.11 3,13 4,14C5,15 6,22 8,22C12.54,22 10,15 12,15C14,15 11.46,22 16,22C18,22 19,15 20,14C21,13 22,10.11 22,8C22,5 20,2 17,2C14,2 14,3 12,3C10,3 10,2 7,2Z\";\r\nexport var mdiToothOutline = \"M7,2C4,2 2,5 2,8C2,10.11 3,13 4,14C5,15 6,22 8,22C12.54,22 10,15 12,15C14,15 11.46,22 16,22C18,22 19,15 20,14C21,13 22,10.11 22,8C22,5 20,2 17,2C14,2 14,3 12,3C10,3 10,2 7,2M7,4C9,4 10,5 12,5C14,5 15,4 17,4C18.67,4 20,6 20,8C20,9.75 19.14,12.11 18.19,13.06C17.33,13.92 16.06,19.94 15.5,19.94C15.29,19.94 15,18.88 15,17.59C15,15.55 14.43,13 12,13C9.57,13 9,15.55 9,17.59C9,18.88 8.71,19.94 8.5,19.94C7.94,19.94 6.67,13.92 5.81,13.06C4.86,12.11 4,9.75 4,8C4,6 5.33,4 7,4Z\";\r\nexport var mdiToothbrush = \"M12.91 6.43L15.03 8.55L16.09 7.5L15.03 6.43L17.86 3.6L18.92 4.66L20 3.6L17.86 1.5M3 20.57L4.43 22L14.5 11.9L16.63 11.19L21.4 6.43C22.18 5.65 22.18 4.38 21.4 3.6L15.55 9.44L13.43 10.15Z\";\r\nexport var mdiToothbrushElectric = \"M12 1.5V14C10.34 14 9 15.34 9 17V22H17V17C17 15.34 15.66 14 14 14V3.5C14 2.4 13.11 1.5 12 1.5M7.5 2V9H11V7.5H9V3.5H11V2H7.5M13 17.5C13.83 17.5 14.5 18.17 14.5 19C14.5 19.83 13.83 20.5 13 20.5C12.17 20.5 11.5 19.83 11.5 19C11.5 18.17 12.17 17.5 13 17.5Z\";\r\nexport var mdiToothbrushPaste = \"M17.86 1.5L12.91 6.43L15.03 8.55L16.09 7.5L15.03 6.43L17.86 3.6L18.92 4.66L20 3.6M21.4 3.6L15.56 9.44L13.43 10.15L3 20.57L4.43 22L10.08 16.33L14.33 20.57L18.57 16.33L14.33 12.09L14.5 11.9L16.63 11.19L21.4 6.43C22.18 5.65 22.18 4.38 21.4 3.6M6.55 4.31L2.31 8.55L7.26 13.5L11.5 9.26M18.22 18.1L16.09 20.22L17.5 21.63L19.63 19.5Z\";\r\nexport var mdiTorch = \"M8.6 9.6C9 10.2 9.5 10.7 10.2 11H14.2C14.5 10.9 14.7 10.7 14.9 10.5C15.9 9.5 16.3 8 15.8 6.7L15.7 6.5C15.6 6.2 15.4 6 15.2 5.8C15.1 5.6 14.9 5.5 14.8 5.3C14.4 5 14 4.7 13.6 4.3C12.7 3.4 12.6 2 13.1 1C12.6 1.1 12.1 1.4 11.7 1.8C10.2 3 9.6 5.1 10.3 7V7.2C10.3 7.3 10.2 7.4 10.1 7.5C10 7.6 9.8 7.5 9.7 7.4L9.6 7.3C9 6.5 8.9 5.3 9.3 4.3C8.4 5.1 7.9 6.4 8 7.7C8 8 8.1 8.3 8.2 8.6C8.2 8.9 8.4 9.3 8.6 9.6M12.3 8.1C12.4 7.6 12.2 7.2 12.1 6.8C12 6.4 12 6 12.2 5.6L12.5 6.2C12.9 6.8 13.6 7 13.8 7.8V8.1C13.8 8.6 13.6 9.1 13.3 9.4C13.1 9.5 12.9 9.7 12.7 9.7C12.1 9.9 11.4 9.6 11 9.2C11.8 9.2 12.2 8.6 12.3 8.1M15 12V14H14L13 22H11L10 14H9V12H15Z\";\r\nexport var mdiTortoise = \"M19.31,5.6C18.09,5.56 16.88,6.5 16.5,8C16,10 16,10 15,11C13,13 10,14 4,15C3,15.16 2.5,15.5 2,16C4,16 6,16 4.5,17.5L3,19H6L8,17C10,18 11.33,18 13.33,17L14,19H17L16,16C16,16 17,12 18,11C19,10 19,11 20,11C21,11 22,10 22,8.5C22,8 22,7 20.5,6C20.15,5.76 19.74,5.62 19.31,5.6M9,6A6,6 0 0,0 3,12C3,12.6 3.13,13.08 3.23,13.6C9.15,12.62 12.29,11.59 13.93,9.94L14.43,9.44C13.44,7.34 11.32,6 9,6Z\";\r\nexport var mdiToslink = \"M20 10V7L17 4H7L4 7V10C2.9 10 2 10.9 2 12S2.9 14 4 14V18C4 19.1 4.9 20 6 20H18C19.1 20 20 19.1 20 18V14C21.11 14 22 13.11 22 12S21.11 10 20 10M12 16C9.79 16 8 14.21 8 12S9.79 8 12 8 16 9.79 16 12 14.21 16 12 16M14 12C14 13.11 13.11 14 12 14S10 13.11 10 12 10.9 10 12 10 14 10.9 14 12Z\";\r\nexport var mdiTournament = \"M2,2V4H7V8H2V10H7C8.11,10 9,9.11 9,8V7H14V17H9V16C9,14.89 8.11,14 7,14H2V16H7V20H2V22H7C8.11,22 9,21.11 9,20V19H14C15.11,19 16,18.11 16,17V13H22V11H16V7C16,5.89 15.11,5 14,5H9V4C9,2.89 8.11,2 7,2H2Z\";\r\nexport var mdiTowTruck = \"M15,10H20.39L17.06,6H15V10M17.5,18.5C17.89,18.5 18.24,18.37 18.54,18.07C18.84,17.77 19,17.42 19,17C19,16.61 18.84,16.26 18.54,15.96C18.24,15.66 17.89,15.5 17.5,15.5C17.08,15.5 16.73,15.66 16.43,15.96C16.13,16.26 16,16.61 16,17C16,17.42 16.13,17.77 16.43,18.07C16.73,18.37 17.08,18.5 17.5,18.5M6,18.5C6.44,18.5 6.8,18.37 7.08,18.07C7.36,17.77 7.5,17.42 7.5,17C7.5,16.61 7.36,16.26 7.08,15.96C6.8,15.66 6.44,15.5 6,15.5C5.56,15.5 5.2,15.66 4.92,15.96C4.64,16.26 4.5,16.61 4.5,17C4.5,17.42 4.64,17.77 4.92,18.07C5.2,18.37 5.56,18.5 6,18.5M18,4L23,10V17H20.5C20.5,17.83 20.19,18.53 19.59,19.13C19,19.72 18.3,20 17.5,20C16.67,20 15.97,19.72 15.38,19.13C14.78,18.53 14.5,17.83 14.5,17H9C9,17.83 8.7,18.53 8.11,19.13C7.5,19.72 6.81,20 6,20C5.19,20 4.5,19.72 3.89,19.13C3.3,18.53 3,17.83 3,17H1V13H9.19L3,8.11V11H1V5H2L13,11.06V4H18Z\";\r\nexport var mdiTowerBeach = \"M17,4V8H18V10H17.64L21,23H18.93L18.37,20.83L12,17.15L5.63,20.83L5.07,23H3L6.36,10H6V8H7V4H6V3L18,1V4H17M7.28,14.43L6.33,18.12L10,16L7.28,14.43M15.57,10H8.43L7.8,12.42L12,14.85L16.2,12.42L15.57,10M17.67,18.12L16.72,14.43L14,16L17.67,18.12Z\";\r\nexport var mdiTowerFire = \"M17,4V8H18V10H17.64L21,23H18.93L18.37,20.83L12,17.15L5.63,20.83L5.07,23H3L6.36,10H6V8H7V4H6V3L12,1L18,3V4H17M7.28,14.43L6.33,18.12L10,16L7.28,14.43M15.57,10H8.43L7.8,12.42L12,14.85L16.2,12.42L15.57,10M17.67,18.12L16.72,14.43L14,16L17.67,18.12Z\";\r\nexport var mdiToyBrick = \"M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H21V6Z\";\r\nexport var mdiToyBrickMarker = \"M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H14.54A9.55 9.55 0 0 1 13 15.5A5.58 5.58 0 0 1 18.5 10A5.3 5.3 0 0 1 21 10.63V6M18.5 12A3.54 3.54 0 0 0 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5A3.54 3.54 0 0 0 18.5 12M18.5 16.8A1.2 1.2 0 1 1 18.5 14.4A1.29 1.29 0 0 1 19.7 15.6A1.15 1.15 0 0 1 18.5 16.8Z\";\r\nexport var mdiToyBrickMarkerOutline = \"M18.5 12A3.54 3.54 0 0 0 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5A3.54 3.54 0 0 0 18.5 12M18.5 16.8A1.2 1.2 0 1 1 18.5 14.4A1.29 1.29 0 0 1 19.7 15.6A1.15 1.15 0 0 1 18.5 16.8M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H14.54A15.55 15.55 0 0 1 13.54 18H5V8H19V10A5.11 5.11 0 0 1 21 10.6V6Z\";\r\nexport var mdiToyBrickMinus = \"M23 20H15V18H23V20M13 19C13 15.69 15.69 13 19 13C19.7 13 20.37 13.13 21 13.35V6H19V5C19 3.9 18.11 3 17 3H15C13.9 3 13 3.9 13 5V6H11V5C11 3.9 10.11 3 9 3H7C5.9 3 5 3.9 5 5V6H3V20H13.09C13.04 19.67 13 19.34 13 19Z\";\r\nexport var mdiToyBrickMinusOutline = \"M13.09 20H3V6H5V5C5 3.9 5.9 3 7 3H9C10.11 3 11 3.9 11 5V6H13V5C13 3.9 13.9 3 15 3H17C18.11 3 19 3.9 19 5V6H21V13.35C20.37 13.13 19.7 13 19 13V8H5V18H13.09C13.04 18.33 13 18.66 13 19S13.04 19.67 13.09 20M23 18H15V20H23V18Z\";\r\nexport var mdiToyBrickOutline = \"M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H21V6M19 18H5V8H19Z\";\r\nexport var mdiToyBrickPlus = \"M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H13.09A5.47 5.47 0 0 1 13 19A6 6 0 0 1 21 13.34V6M20 15V18H23V20H20V23H18V20H15V18H18V15Z\";\r\nexport var mdiToyBrickPlusOutline = \"M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H14V18H5V8H19V13H21V6M21 15V18H24V20H21V23H19V20H16V18H19V15Z\";\r\nexport var mdiToyBrickRemove = \"M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H13.09A5.47 5.47 0 0 1 13 19A6 6 0 0 1 21 13.34V6M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.46 21.12L17.59 19L15.46 16.88L16.88 15.46L19 17.59L21.12 15.46Z\";\r\nexport var mdiToyBrickRemoveOutline = \"M19 6V5C19 3.9 18.1 3 17 3H15C13.9 3 13 3.9 13 5V6H11V5C11 3.9 10.1 3 9 3H7C5.9 3 5 3.9 5 5V6H3V20H14V18H5V8H19V13H21V6M17.88 15.46L20 17.59L22.12 15.47L23.54 16.88L21.41 19L23.54 21.12L22.12 22.54L20 20.41L17.88 22.54L16.46 21.12L18.59 19L16.47 16.88\";\r\nexport var mdiToyBrickSearch = \"M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H11.81A6.5 6.5 0 0 1 21 10.81V6M20.31 17.9A4.5 4.5 0 1 0 18.88 19.32L22 22.39L23.39 21M16.5 18A2.5 2.5 0 1 1 19 15.5A2.5 2.5 0 0 1 16.5 18Z\";\r\nexport var mdiToyBrickSearchOutline = \"M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H11.81A6.59 6.59 0 0 1 10.5 18H5V8H19V9.5A6.59 6.59 0 0 1 21 10.81V6M20.31 17.9A4.5 4.5 0 1 0 18.88 19.32L22 22.39L23.39 21M16.5 18A2.5 2.5 0 1 1 19 15.5A2.5 2.5 0 0 1 16.5 18Z\";\r\nexport var mdiTrackLight = \"M6,1V3H9V6.4L4.11,4.38L1.43,10.84L6.97,13.14L11.94,16.82L13.79,17.59L17.62,8.35L15.77,7.58L11,6.87V3H14V1H6M21.81,6.29L19.5,7.25L20.26,9.1L22.57,8.14L21.81,6.29M19.78,13.57L19,15.42L21.79,16.57L22.55,14.72L19.78,13.57M16.19,18.93L14.34,19.69L15.3,22L17.15,21.23L16.19,18.93Z\";\r\nexport var mdiTrackpad = \"M4,3H20A2,2 0 0,1 22,5V19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19V5A2,2 0 0,1 4,3M4,5V13H20V5H4M4,19H11V15H4V19M20,19V15H13V19H20Z\";\r\nexport var mdiTrackpadLock = \"M3,1C1.89,1 1,1.89 1,3V17C1,18.11 1.89,19 3,19H14V17H12V13H16.68C17.5,12.35 18.47,12 19.5,12C20,12 20.5,12.09 21,12.26V3C21,1.89 20.11,1 19,1H3M3,3H19V11H3V3M3,13H10V17H3V13M19.5,14A2.5,2.5 0 0,0 17,16.5V17A1,1 0 0,0 16,18V22A1,1 0 0,0 17,23H22A1,1 0 0,0 23,22V18A1,1 0 0,0 22,17V16.5A2.5,2.5 0 0,0 19.5,14M19.5,15A1.5,1.5 0 0,1 21,16.5V17H18V16.5A1.5,1.5 0 0,1 19.5,15Z\";\r\nexport var mdiTractor = \"M5,4V11.26C3.2,11.9 2,13.6 2,15.5C2,18 4,20 6.5,20C8.79,20 10.71,18.28 10.97,16H15.17C15.06,16.32 15,16.66 15,17A3,3 0 0,0 18,20A3,3 0 0,0 21,17C21,16.66 20.94,16.32 20.82,16H22V13C22,11.89 21.11,11 20,11H15.04L13.65,4H5M7,6H12L13,11V14H10.74C10.16,12.38 8.71,11.23 7,11.03V6M6.5,13.25A2.25,2.25 0 0,1 8.75,15.5A2.25,2.25 0 0,1 6.5,17.75A2.25,2.25 0 0,1 4.25,15.5A2.25,2.25 0 0,1 6.5,13.25M18,15.5A1.5,1.5 0 0,1 19.5,17A1.5,1.5 0 0,1 18,18.5A1.5,1.5 0 0,1 16.5,17A1.5,1.5 0 0,1 18,15.5Z\";\r\nexport var mdiTractorVariant = \"M13.3 2.79L9.8 6.29L10.5 7L11.9 5.61L13 6.71V9C13 10.11 12.11 11 11 11H10.46A6 6 0 0 1 12 15A6 6 0 0 1 11.91 16H15.03A4.5 4.5 0 0 1 19.5 12A4.5 4.5 0 0 1 22 12.76V8C22 6.89 21.11 6 20 6H13.71L12.61 4.9L14 3.5L13.3 2.79M4 7C3.45 7 3 7.45 3 8C3 8.55 3.45 9 4 9H9C9 7.9 8.11 7 7 7H4M6 10A5 5 0 0 0 4.44 10.25L4.8 11.18L4.33 11.36L4 10.43A5 5 0 0 0 1.54 12.74L2.45 13.15L2.24 13.6L1.34 13.2A5 5 0 0 0 1 15A5 5 0 0 0 1.25 16.56L2.18 16.2L2.36 16.67L1.43 17A5 5 0 0 0 3.74 19.46L4.14 18.55L4.6 18.76L4.2 19.66A5 5 0 0 0 6 20A5 5 0 0 0 7.56 19.75L7.2 18.82L7.67 18.64L8 19.57A5 5 0 0 0 10.46 17.26L9.55 16.86L9.76 16.4L10.66 16.8A5 5 0 0 0 11 15A5 5 0 0 0 10.75 13.44L9.82 13.8L9.64 13.33L10.57 13A5 5 0 0 0 8.26 10.54L7.86 11.45L7.4 11.24L7.8 10.34A5 5 0 0 0 6 10M6 12A3 3 0 0 1 9 15A3 3 0 0 1 6 18A3 3 0 0 1 3 15A3 3 0 0 1 6 12M19.5 13A3.5 3.5 0 0 0 16 16.5A3.5 3.5 0 0 0 19.5 20A3.5 3.5 0 0 0 23 16.5A3.5 3.5 0 0 0 19.5 13M19.5 15A1.5 1.5 0 0 1 21 16.5A1.5 1.5 0 0 1 19.5 18A1.5 1.5 0 0 1 18 16.5A1.5 1.5 0 0 1 19.5 15Z\";\r\nexport var mdiTrademark = \"M9.8,8.44H6.87V16H4.89V8.44H2V7H9.8V8.44M13.5,7L15.96,13.5L18.41,7H21V16H19V13.5L19.22,9.24L16.63,16H15.28L12.7,9.25L12.9,13.5V16H10.93V7H13.5Z\";\r\nexport var mdiTrafficCone = \"M17 15L18 19H21V22H3V19H6L7 15H17M15 8L16 12H8L9 8H15M13 1L14 5H10L11 1H13Z\";\r\nexport var mdiTrafficLight = \"M12,9A2,2 0 0,1 10,7C10,5.89 10.9,5 12,5C13.11,5 14,5.89 14,7A2,2 0 0,1 12,9M12,14A2,2 0 0,1 10,12C10,10.89 10.9,10 12,10C13.11,10 14,10.89 14,12A2,2 0 0,1 12,14M12,19A2,2 0 0,1 10,17C10,15.89 10.9,15 12,15C13.11,15 14,15.89 14,17A2,2 0 0,1 12,19M20,10H17V8.86C18.72,8.41 20,6.86 20,5H17V4A1,1 0 0,0 16,3H8A1,1 0 0,0 7,4V5H4C4,6.86 5.28,8.41 7,8.86V10H4C4,11.86 5.28,13.41 7,13.86V15H4C4,16.86 5.28,18.41 7,18.86V20A1,1 0 0,0 8,21H16A1,1 0 0,0 17,20V18.86C18.72,18.41 20,16.86 20,15H17V13.86C18.72,13.41 20,11.86 20,10Z\";\r\nexport var mdiTrafficLightOutline = \"M20 10H17V8.86C18.72 8.41 20 6.86 20 5H17V4C17 3.45 16.55 3 16 3H8C7.45 3 7 3.45 7 4V5H4C4 6.86 5.28 8.41 7 8.86V10H4C4 11.86 5.28 13.41 7 13.86V15H4C4 16.86 5.28 18.41 7 18.86V20C7 20.55 7.45 21 8 21H16C16.55 21 17 20.55 17 20V18.86C18.72 18.41 20 16.86 20 15H17V13.86C18.72 13.41 20 11.86 20 10M15 19H9V5H15V19M12 18C12.83 18 13.5 17.33 13.5 16.5S12.83 15 12 15 10.5 15.67 10.5 16.5 11.17 18 12 18M12 13.5C12.83 13.5 13.5 12.83 13.5 12S12.83 10.5 12 10.5 10.5 11.17 10.5 12 11.17 13.5 12 13.5M12 9C12.83 9 13.5 8.33 13.5 7.5S12.83 6 12 6 10.5 6.67 10.5 7.5 11.17 9 12 9Z\";\r\nexport var mdiTrain = \"M12,2C8,2 4,2.5 4,6V15.5A3.5,3.5 0 0,0 7.5,19L6,20.5V21H8.23L10.23,19H14L16,21H18V20.5L16.5,19A3.5,3.5 0 0,0 20,15.5V6C20,2.5 16.42,2 12,2M7.5,17A1.5,1.5 0 0,1 6,15.5A1.5,1.5 0 0,1 7.5,14A1.5,1.5 0 0,1 9,15.5A1.5,1.5 0 0,1 7.5,17M11,10H6V6H11V10M13,10V6H18V10H13M16.5,17A1.5,1.5 0 0,1 15,15.5A1.5,1.5 0 0,1 16.5,14A1.5,1.5 0 0,1 18,15.5A1.5,1.5 0 0,1 16.5,17Z\";\r\nexport var mdiTrainCar = \"M12,4H5A3,3 0 0,0 2,7V15A3,3 0 0,0 5,18L4,19V20H5L7,17.97L9,18V13H4V6H13V8H15V7A3,3 0 0,0 12,4M5,14A1,1 0 0,1 6,15A1,1 0 0,1 5,16A1,1 0 0,1 4,15A1,1 0 0,1 5,14M20.57,9.66C20.43,9.26 20.05,9 19.6,9H12.41C11.95,9 11.58,9.26 11.43,9.66L10,13.77V19.28C10,19.66 10.32,20 10.7,20H11.32C11.7,20 12,19.62 12,19.24V18H20V19.24C20,19.62 20.31,20 20.69,20H21.3C21.68,20 22,19.66 22,19.28V17.91L22,13.77L20.57,9.66M12.41,10H19.6L20.63,13H11.38L12.41,10M12,16A1,1 0 0,1 11,15A1,1 0 0,1 12,14A1,1 0 0,1 13,15A1,1 0 0,1 12,16M20,16A1,1 0 0,1 19,15A1,1 0 0,1 20,14A1,1 0 0,1 21,15A1,1 0 0,1 20,16Z\";\r\nexport var mdiTrainCarPassenger = \"M21 7H3C1.9 7 1 7.9 1 9V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V9C23 7.9 22.11 7 21 7M7 12H3V9H7V12M15 12H9V9H15V12M21 12H17V9H21V12Z\";\r\nexport var mdiTrainCarPassengerDoor = \"M21 7H3C1.9 7 1 7.9 1 9V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V9C23 7.9 22.11 7 21 7M7 12H3V9H7V12M11 16H9V9H11V16M15 16H13V9H15V16M21 12H17V9H21V12Z\";\r\nexport var mdiTrainCarPassengerDoorOpen = \"M21 7H3C1.9 7 1 7.9 1 9V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V9C23 7.9 22.11 7 21 7M8 12H3V9H8V12M14 16H10V9H14V16M21 12H16V9H21V12Z\";\r\nexport var mdiTrainCarPassengerVariant = \"M21 7H3C1.9 7 1 7.9 1 9V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V9C23 7.9 22.11 7 21 7M11 12H3V9H11V12M21 12H13V9H21V12Z\";\r\nexport var mdiTrainVariant = \"M18,10H6V5H18M12,17C10.89,17 10,16.1 10,15C10,13.89 10.89,13 12,13A2,2 0 0,1 14,15A2,2 0 0,1 12,17M4,15.5A3.5,3.5 0 0,0 7.5,19L6,20.5V21H18V20.5L16.5,19A3.5,3.5 0 0,0 20,15.5V5C20,1.5 16.42,1 12,1C7.58,1 4,1.5 4,5V15.5Z\";\r\nexport var mdiTram = \"M19,16.94V8.5C19,5.71 16.39,5.1 13,5L13.75,3.5H17V2H7V3.5H11.75L11,5C7.86,5.11 5,5.73 5,8.5V16.94C5,18.39 6.19,19.6 7.59,19.91L6,21.5V22H8.23L10.23,20H14L16,22H18V21.5L16.5,20H16.42C18.11,20 19,18.63 19,16.94M12,18.5A1.5,1.5 0 0,1 10.5,17A1.5,1.5 0 0,1 12,15.5A1.5,1.5 0 0,1 13.5,17A1.5,1.5 0 0,1 12,18.5M17,14H7V9H17V14Z\";\r\nexport var mdiTramSide = \"M9 1L5 4L7.5 6H5C5 6 2 6 2 9V19H7C7 19 7 17 9 17H22V14H18V8H22V6H10.5L13 4L9 1M4 8H9V14H4V8M11 8H16V14H11V8M4 16H5V18H4V16M9 19V19.5C9 20.88 10.12 22 11.5 22C12.5 22 13.39 21.41 13.79 20.5H15.21C15.61 21.41 16.5 22 17.5 22C18.88 22 20 20.88 20 19.5V19H9Z\";\r\nexport var mdiTranscribe = \"M20,5A2,2 0 0,1 22,7V17A2,2 0 0,1 20,19H4C2.89,19 2,18.1 2,17V7C2,5.89 2.89,5 4,5H20M18,17V15H12.5L10.5,17H18M6,17H8.5L15.35,10.12C15.55,9.93 15.55,9.61 15.35,9.41L13.59,7.65C13.39,7.45 13.07,7.45 12.88,7.65L6,14.53V17Z\";\r\nexport var mdiTranscribeClose = \"M12,23L8,19H16L12,23M20,3A2,2 0 0,1 22,5V15A2,2 0 0,1 20,17H4A2,2 0 0,1 2,15V5A2,2 0 0,1 4,3H20M18,15V13H12.5L10.5,15H18M6,15H8.5L15.35,8.12C15.55,7.93 15.55,7.61 15.35,7.42L13.59,5.65C13.39,5.45 13.07,5.45 12.88,5.65L6,12.53V15Z\";\r\nexport var mdiTransfer = \"M8 4A2 2 0 0 0 6 6V10H8V6H16V9H13.5L17 12.5L20.5 9H18V6A2 2 0 0 0 16 4H8M3 12V14H11V12H3M3 15V17H11V15H3M13 15V17H21V15H13M3 18V20H11V18H3M13 18V20H21V18H13Z\";\r\nexport var mdiTransferDown = \"M16,3V5H8V3H16M16,7V9H8V7H16M16,11V13H8V11H16M5,15H19L12,22L5,15Z\";\r\nexport var mdiTransferLeft = \"M21,16H19V8H21V16M17,16H15V8H17V16M13,16H11V8H13V16M9,5V19L2,12L9,5Z\";\r\nexport var mdiTransferRight = \"M3,8H5V16H3V8M7,8H9V16H7V8M11,8H13V16H11V8M15,19.25V4.75L22.25,12L15,19.25Z\";\r\nexport var mdiTransferUp = \"M8,21V19H16V21H8M8,17V15H16V17H8M8,13V11H16V13H8M19,9H5L12,2L19,9Z\";\r\nexport var mdiTransitConnection = \"M15,12C15,10.7 14.16,9.6 13,9.18V6.82C14.16,6.4 15,5.3 15,4A3,3 0 0,0 12,1A3,3 0 0,0 9,4C9,5.3 9.84,6.4 11,6.82V9.19C9.84,9.6 9,10.7 9,12C9,13.3 9.84,14.4 11,14.82V17.18C9.84,17.6 9,18.7 9,20A3,3 0 0,0 12,23A3,3 0 0,0 15,20C15,18.7 14.16,17.6 13,17.18V14.82C14.16,14.4 15,13.3 15,12M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M12,21A1,1 0 0,1 11,20A1,1 0 0,1 12,19A1,1 0 0,1 13,20A1,1 0 0,1 12,21Z\";\r\nexport var mdiTransitConnectionHorizontal = \"M12 9C10.7 9 9.6 9.8 9.2 11H6.8C6.4 9.8 5.3 9 4 9C2.3 9 1 10.3 1 12S2.3 15 4 15C5.3 15 6.4 14.2 6.8 13H9.2C9.6 14.2 10.7 15 12 15S14.4 14.2 14.8 13H17.2C17.6 14.2 18.7 15 20 15C21.7 15 23 13.7 23 12S21.7 9 20 9C18.7 9 17.6 9.8 17.2 11H14.8C14.4 9.8 13.3 9 12 9M3 12C3 11.4 3.4 11 4 11S5 11.4 5 12 4.6 13 4 13 3 12.6 3 12M21 12C21 12.6 20.6 13 20 13S19 12.6 19 12 19.4 11 20 11 21 11.4 21 12Z\";\r\nexport var mdiTransitConnectionVariant = \"M18,11H14.82C14.4,9.84 13.3,9 12,9C10.7,9 9.6,9.84 9.18,11H6C5.67,11 4,10.9 4,9V8C4,6.17 5.54,6 6,6H16.18C16.6,7.16 17.7,8 19,8A3,3 0 0,0 22,5A3,3 0 0,0 19,2C17.7,2 16.6,2.84 16.18,4H6C4.39,4 2,5.06 2,8V9C2,11.94 4.39,13 6,13H9.18C9.6,14.16 10.7,15 12,15C13.3,15 14.4,14.16 14.82,13H18C18.33,13 20,13.1 20,15V16C20,17.83 18.46,18 18,18H7.82C7.4,16.84 6.3,16 5,16A3,3 0 0,0 2,19A3,3 0 0,0 5,22C6.3,22 7.4,21.16 7.82,20H18C19.61,20 22,18.93 22,16V15C22,12.07 19.61,11 18,11M19,4A1,1 0 0,1 20,5A1,1 0 0,1 19,6A1,1 0 0,1 18,5A1,1 0 0,1 19,4M5,20A1,1 0 0,1 4,19A1,1 0 0,1 5,18A1,1 0 0,1 6,19A1,1 0 0,1 5,20Z\";\r\nexport var mdiTransitDetour = \"M19 3A3 3 0 0 0 16.61 4.21A11.5 11.5 0 0 0 13.75 4L13.88 6A9.47 9.47 0 0 1 16 6.13A3 3 0 1 0 19 3M19 7A1 1 0 1 1 20 6A1 1 0 0 1 19 7M8.86 7.86L7.67 6.25A11.5 11.5 0 0 1 11.6 4.37L12.1 6.31A9.5 9.5 0 0 0 8.86 7.86M21 18A3 3 0 1 1 15.69 16.11A9.47 9.47 0 0 0 8.59 13.46C8.37 13.47 8.16 13.5 7.94 13.54A3 3 0 1 1 4.39 10.06A11.54 11.54 0 0 1 6.04 7.7L7.5 9.06A9.34 9.34 0 0 0 6.5 10.41A3.04 3.04 0 0 1 7.62 11.56C7.91 11.5 8.19 11.5 8.5 11.46A11.47 11.47 0 0 1 17.46 15.05A2.96 2.96 0 0 1 18 15A3 3 0 0 1 21 18Z\";\r\nexport var mdiTransitSkip = \"M21 12C21 8 18.5 4.7 15 3.5C14.7 2.1 13.5 1 12 1C10.3 1 9 2.3 9 4S10.3 7 12 7C13.1 7 14.1 6.4 14.6 5.5C17.2 6.5 19 9 19 12C19 14.9 17.2 17.5 14.6 18.5C14.1 17.6 13.1 17 12 17C10.3 17 9 18.3 9 20S10.3 23 12 23C13.5 23 14.7 21.9 15 20.5C18.5 19.3 21 15.9 21 12M12 5C11.4 5 11 4.6 11 4S11.4 3 12 3 13 3.4 13 4 12.6 5 12 5M12 21C11.4 21 11 20.6 11 20S11.4 19 12 19 13 19.4 13 20 12.6 21 12 21M12 9C13.7 9 15 10.3 15 12S13.7 15 12 15 9 13.7 9 12 10.3 9 12 9Z\";\r\nexport var mdiTransitTransfer = \"M16.5,15.5H22V17H16.5V18.75L14,16.25L16.5,13.75V15.5M19.5,19.75V18L22,20.5L19.5,23V21.25H14V19.75H19.5M9.5,5.5A2,2 0 0,1 7.5,3.5A2,2 0 0,1 9.5,1.5A2,2 0 0,1 11.5,3.5A2,2 0 0,1 9.5,5.5M5.75,8.9L4,9.65V13H2V8.3L7.25,6.15C7.5,6.05 7.75,6 8,6C8.7,6 9.35,6.35 9.7,6.95L10.65,8.55C11.55,10 13.15,11 15,11V13C12.8,13 10.85,12 9.55,10.4L8.95,13.4L11,15.45V23H9V17L6.85,15L5.1,23H3L5.75,8.9Z\";\r\nexport var mdiTransition = \"M15,2A7,7 0 0,1 22,9C22,11.71 20.46,14.05 18.22,15.22C17.55,16.5 16.5,17.55 15.22,18.22C14.05,20.46 11.71,22 9,22A7,7 0 0,1 2,15C2,12.29 3.54,9.95 5.78,8.78C6.45,7.5 7.5,6.45 8.78,5.78C9.95,3.54 12.29,2 15,2M12,19A7,7 0 0,1 5,12C4.37,12.84 4,13.87 4,15A5,5 0 0,0 9,20C10.13,20 11.16,19.63 12,19M15,16A7,7 0 0,1 8,9H8C7.37,9.84 7,10.87 7,12A5,5 0 0,0 12,17C13.13,17 14.16,16.63 15,16V16M15,4C13.87,4 12.84,4.37 12,5V5A7,7 0 0,1 19,12H19C19.63,11.16 20,10.13 20,9A5,5 0 0,0 15,4M10,9A5,5 0 0,0 15,14C15.6,14 16.17,13.9 16.7,13.7C16.9,13.17 17,12.6 17,12A5,5 0 0,0 12,7C11.4,7 10.83,7.1 10.3,7.3C10.1,7.83 10,8.4 10,9Z\";\r\nexport var mdiTransitionMasked = \"M15,2C16.94,2 18.59,2.7 19.95,4.05C21.3,5.41 22,7.06 22,9C22,10.56 21.5,11.96 20.58,13.2C19.64,14.43 18.44,15.27 16.97,15.7L17,15.38V15C17,12.81 16.23,10.93 14.65,9.35C13.07,7.77 11.19,7 9,7H8.63L8.3,7.03C8.73,5.56 9.57,4.36 10.8,3.42C12.04,2.5 13.44,2 15,2M9,8A7,7 0 0,1 16,15A7,7 0 0,1 9,22A7,7 0 0,1 2,15A7,7 0 0,1 9,8M9,10A5,5 0 0,0 4,15A5,5 0 0,0 9,20A5,5 0 0,0 14,15A5,5 0 0,0 9,10Z\";\r\nexport var mdiTranslate = \"M12.87,15.07L10.33,12.56L10.36,12.53C12.1,10.59 13.34,8.36 14.07,6H17V4H10V2H8V4H1V6H12.17C11.5,7.92 10.44,9.75 9,11.35C8.07,10.32 7.3,9.19 6.69,8H4.69C5.42,9.63 6.42,11.17 7.67,12.56L2.58,17.58L4,19L9,14L12.11,17.11L12.87,15.07M18.5,10H16.5L12,22H14L15.12,19H19.87L21,22H23L18.5,10M15.88,17L17.5,12.67L19.12,17H15.88Z\";\r\nexport var mdiTranslateOff = \"M12.17,5.81C11.87,6.69 11.47,7.55 11,8.39L12.35,9.74C13.11,8.5 13.71,7.18 14.13,5.81H17.16V3.75H9.94V1.69H7.87V3.75H6.37L8.43,5.81H12.17M15.53,12.91L17.03,14.41L17.67,12.69L19.08,16.47L22.39,19.77L18.7,9.94H16.64L15.53,12.91M1.31,1.31L0,2.62L1.13,3.75H0.65V5.81H3.19L5.26,7.88H4.46C5.21,9.56 6.24,11.15 7.53,12.58L2.28,17.76L3.75,19.22L8.91,14.07L12.11,17.27L12.8,15.43L14.1,16.72L12,22.31H14.06L15.22,19.22H16.6L21.38,24L22.69,22.69L1.31,1.31Z\";\r\nexport var mdiTransmissionTower = \"M8.28,5.45L6.5,4.55L7.76,2H16.23L17.5,4.55L15.72,5.44L15,4H9L8.28,5.45M18.62,8H14.09L13.3,5H10.7L9.91,8H5.38L4.1,10.55L5.89,11.44L6.62,10H17.38L18.1,11.45L19.89,10.56L18.62,8M17.77,22H15.7L15.46,21.1L12,15.9L8.53,21.1L8.3,22H6.23L9.12,11H11.19L10.83,12.35L12,14.1L13.16,12.35L12.81,11H14.88L17.77,22M11.4,15L10.5,13.65L9.32,18.13L11.4,15M14.68,18.12L13.5,13.64L12.6,15L14.68,18.12Z\";\r\nexport var mdiTrashCan = \"M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M9,8H11V17H9V8M13,8H15V17H13V8Z\";\r\nexport var mdiTrashCanOutline = \"M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M7,6H17V19H7V6M9,8V17H11V8H9M13,8V17H15V8H13Z\";\r\nexport var mdiTray = \"M2 12H4V17H20V12H22V17A2 2 0 0 1 20 19H4A2 2 0 0 1 2 17Z\";\r\nexport var mdiTrayAlert = \"M2 12H4V17H20V12H22V17A2 2 0 0 1 20 19H4A2 2 0 0 1 2 17M13 12H11V14H13M13 4H11V10H13Z\";\r\nexport var mdiTrayArrowDown = \"M2 12H4V17H20V12H22V17C22 18.11 21.11 19 20 19H4C2.9 19 2 18.11 2 17V12M12 15L17.55 9.54L16.13 8.13L13 11.25V2H11V11.25L7.88 8.13L6.46 9.55L12 15Z\";\r\nexport var mdiTrayArrowUp = \"M2 12H4V17H20V12H22V17C22 18.11 21.11 19 20 19H4C2.9 19 2 18.11 2 17V12M12 2L6.46 7.46L7.88 8.88L11 5.75V15H13V5.75L16.13 8.88L17.55 7.45L12 2Z\";\r\nexport var mdiTrayFull = \"M18 5H6V7H18M6 9H18V11H6M2 12H4V17H20V12H22V17A2 2 0 0 1 20 19H4A2 2 0 0 1 2 17M18 13H6V15H18Z\";\r\nexport var mdiTrayMinus = \"M16 10H8V8H16M2 17A2 2 0 0 0 4 19H20A2 2 0 0 0 22 17V12H20V17H4V12H2Z\";\r\nexport var mdiTrayPlus = \"M2 12H4V17H20V12H22V17A2 2 0 0 1 20 19H4A2 2 0 0 1 2 17M11 5H13V8H16V10H13V13H11V10H8V8H11Z\";\r\nexport var mdiTrayRemove = \"M2 17A2 2 0 0 0 4 19H20A2 2 0 0 0 22 17V12H20V17H4V12H2M14.12 5.46L15.54 6.88L13.41 9L15.54 11.12L14.12 12.54L12 10.41L9.88 12.54L8.46 11.12L10.59 9L8.46 6.88L9.88 5.46L12 7.59Z\";\r\nexport var mdiTreasureChest = \"M5,4H19A3,3 0 0,1 22,7V11H15V10H9V11H2V7A3,3 0 0,1 5,4M11,11H13V13H11V11M2,12H9V13L11,15H13L15,13V12H22V20H2V12Z\";\r\nexport var mdiTree = \"M11,21V16.74C10.53,16.91 10.03,17 9.5,17C7,17 5,15 5,12.5C5,11.23 5.5,10.09 6.36,9.27C6.13,8.73 6,8.13 6,7.5C6,5 8,3 10.5,3C12.06,3 13.44,3.8 14.25,5C14.33,5 14.41,5 14.5,5A5.5,5.5 0 0,1 20,10.5A5.5,5.5 0 0,1 14.5,16C14,16 13.5,15.93 13,15.79V21H11Z\";\r\nexport var mdiTreeOutline = \"M10.5,3C8,3 6,5 6,7.5C6,8.11 6.13,8.71 6.37,9.27C5.5,10.12 5,11.28 5,12.5C5,15 7,17 9.5,17C10,17 10.5,16.89 11,16.72V21H13V15.77C13.5,15.91 14,16 14.5,16A5.5,5.5 0 0,0 20,10.5A5.5,5.5 0 0,0 14.5,5C14.41,5 14.33,5 14.24,5C13.41,3.76 12,3 10.5,3M10.5,5C11.82,5 12.91,6.03 13,7.35C13.46,7.12 14,7 14.5,7A3.5,3.5 0 0,1 18,10.5A3.5,3.5 0 0,1 14.5,14C13.54,14 12.63,13.61 11.96,12.91C11.76,14.12 10.72,15 9.5,15A2.5,2.5 0 0,1 7,12.5C7,11.12 7.8,10.54 9,9.79C8.2,8.76 8,8.16 8,7.5A2.5,2.5 0 0,1 10.5,5Z\";\r\nexport var mdiTrello = \"M19.5,2H4.5A2.5,2.5 0 0,0 2,4.5V19.5A2.5,2.5 0 0,0 4.5,22H19.5A2.5,2.5 0 0,0 22,19.5V4.5A2.5,2.5 0 0,0 19.5,2M10.7,17.2A1.2,1.2 0 0,1 9.5,18.4H5.8C5.14,18.4 4.6,17.86 4.6,17.2V5.8A1.2,1.2 0 0,1 5.8,4.6H9.5C10.16,4.6 10.7,5.14 10.7,5.8V17.2M19.4,12.2C19.4,12.86 18.86,13.4 18.2,13.4H14.5C13.84,13.4 13.3,12.86 13.3,12.2V5.8C13.3,5.14 13.84,4.6 14.5,4.6H18.2C18.86,4.6 19.4,5.14 19.4,5.8V12.2Z\";\r\nexport var mdiTrendingDown = \"M16,18L18.29,15.71L13.41,10.83L9.41,14.83L2,7.41L3.41,6L9.41,12L13.41,8L19.71,14.29L22,12V18H16Z\";\r\nexport var mdiTrendingNeutral = \"M22,12L18,8V11H3V13H18V16L22,12Z\";\r\nexport var mdiTrendingUp = \"M16,6L18.29,8.29L13.41,13.17L9.41,9.17L2,16.59L3.41,18L9.41,12L13.41,16L19.71,9.71L22,12V6H16Z\";\r\nexport var mdiTriangle = \"M1,21H23L12,2\";\r\nexport var mdiTriangleOutline = \"M12,2L1,21H23M12,6L19.53,19H4.47\";\r\nexport var mdiTriangleWave = \"M22 12L17 22L7.1 6.04L4.24 12H2L7 2L16.9 17.96L19.76 12H22Z\";\r\nexport var mdiTriforce = \"M1.5,21L12,3.5L22.5,21H1.5M12,21L17,12H7L12,21Z\";\r\nexport var mdiTrophy = \"M18 2C17.1 2 16 3 16 4H8C8 3 6.9 2 6 2H2V11C2 12 3 13 4 13H6.2C6.6 15 7.9 16.7 11 17V19.08C8 19.54 8 22 8 22H16C16 22 16 19.54 13 19.08V17C16.1 16.7 17.4 15 17.8 13H20C21 13 22 12 22 11V2H18M6 11H4V4H6V11M20 11H18V4H20V11Z\";\r\nexport var mdiTrophyAward = \"M15.2 10.7L16.6 16L12 12.2L7.4 16L8.8 10.8L4.6 7.3L10 7L12 2L14 7L19.4 7.3L15.2 10.7M14 19H13V16L12 15L11 16V19H10C8.9 19 8 19.9 8 21V22H16V21C16 19.9 15.11 19 14 19Z\";\r\nexport var mdiTrophyBroken = \"M6.2 13C6.6 14.8 7.6 16.3 10 16.8V19.34C8 20.12 8 22 8 22H13.2L10.2 15L14.2 10L10.7 4H8C8 3 6.9 2 6 2H2V11C2 12 3 13 4 13H6.2M6 11H4V4H6V11M17.8 13H20C21 13 22 12 22 11V2H18C17.1 2 16 3 16 4H13.9L16.7 10L12.2 15L13.2 22H16C16 22 16 20.12 14 19.34L14 16.85C16.39 16.35 17.5 14.7 17.8 13M20 11H18V4H20V11Z\";\r\nexport var mdiTrophyOutline = \"M18 2C17.1 2 16 3 16 4H8C8 3 6.9 2 6 2H2V11C2 12 3 13 4 13H6.2C6.6 15 7.9 16.7 11 17V19.08C8 19.54 8 22 8 22H16C16 22 16 19.54 13 19.08V17C16.1 16.7 17.4 15 17.8 13H20C21 13 22 12 22 11V2H18M6 11H4V4H6V11M16 11.5C16 13.43 15.42 15 12 15C8.59 15 8 13.43 8 11.5V6H16V11.5M20 11H18V4H20V11Z\";\r\nexport var mdiTrophyVariant = \"M17 4V2H7V4H2V11C2 12.1 2.9 13 4 13H7.1C7.5 14.96 9.04 16.5 11 16.9V19.08C8 19.54 8 22 8 22H16C16 22 16 19.54 13 19.08V16.9C14.96 16.5 16.5 14.96 16.9 13H20C21.1 13 22 12.1 22 11V4H17M4 11V6H7V11L4 11M20 11L17 11V6H20L20 11Z\";\r\nexport var mdiTrophyVariantOutline = \"M17 4V2H7V4H2V11C2 12.1 2.9 13 4 13H7.1C7.5 14.96 9.04 16.5 11 16.9V19.08C8 19.54 8 22 8 22H16C16 22 16 19.54 13 19.08V16.9C14.96 16.5 16.5 14.96 16.9 13H20C21.1 13 22 12.1 22 11V4H17M4 11V6H7V11L4 11M15 12C15 13.65 13.65 15 12 15S9 13.65 9 12V4H15V12M20 11L17 11V6H20L20 11Z\";\r\nexport var mdiTruck = \"M18,18.5A1.5,1.5 0 0,1 16.5,17A1.5,1.5 0 0,1 18,15.5A1.5,1.5 0 0,1 19.5,17A1.5,1.5 0 0,1 18,18.5M19.5,9.5L21.46,12H17V9.5M6,18.5A1.5,1.5 0 0,1 4.5,17A1.5,1.5 0 0,1 6,15.5A1.5,1.5 0 0,1 7.5,17A1.5,1.5 0 0,1 6,18.5M20,8H17V4H3C1.89,4 1,4.89 1,6V17H3A3,3 0 0,0 6,20A3,3 0 0,0 9,17H15A3,3 0 0,0 18,20A3,3 0 0,0 21,17H23V12L20,8Z\";\r\nexport var mdiTruckCheck = \"M3,4H17V8H20L23,12V17H21A3,3 0 0,1 18,20A3,3 0 0,1 15,17H9A3,3 0 0,1 6,20A3,3 0 0,1 3,17H1V6C1,4.89 1.9,4 3,4M17,9.5V12H21.47L19.5,9.5H17M6,15.5A1.5,1.5 0 0,0 4.5,17A1.5,1.5 0 0,0 6,18.5A1.5,1.5 0 0,0 7.5,17A1.5,1.5 0 0,0 6,15.5M18,15.5A1.5,1.5 0 0,0 16.5,17A1.5,1.5 0 0,0 18,18.5A1.5,1.5 0 0,0 19.5,17A1.5,1.5 0 0,0 18,15.5M8,14L14,8L12.59,6.58L8,11.17L5.91,9.08L4.5,10.5L8,14Z\";\r\nexport var mdiTruckCheckOutline = \"M18 18.5C18.83 18.5 19.5 17.83 19.5 17C19.5 16.17 18.83 15.5 18 15.5C17.17 15.5 16.5 16.17 16.5 17C16.5 17.83 17.17 18.5 18 18.5M19.5 9.5H17V12H21.46L19.5 9.5M6 18.5C6.83 18.5 7.5 17.83 7.5 17C7.5 16.17 6.83 15.5 6 15.5C5.17 15.5 4.5 16.17 4.5 17C4.5 17.83 5.17 18.5 6 18.5M20 8L23 12V17H21C21 18.66 19.66 20 18 20C16.34 20 15 18.66 15 17H9C9 18.66 7.66 20 6 20C4.34 20 3 18.66 3 17H1V6C1 4.89 1.89 4 3 4H17V8H20M3 6V15H3.76C4.31 14.39 5.11 14 6 14C6.89 14 7.69 14.39 8.24 15H15V6H3M5 10.5L6.5 9L8 10.5L11.5 7L13 8.5L8 13.5L5 10.5Z\";\r\nexport var mdiTruckDelivery = \"M3,4A2,2 0 0,0 1,6V17H3A3,3 0 0,0 6,20A3,3 0 0,0 9,17H15A3,3 0 0,0 18,20A3,3 0 0,0 21,17H23V12L20,8H17V4M10,6L14,10L10,14V11H4V9H10M17,9.5H19.5L21.47,12H17M6,15.5A1.5,1.5 0 0,1 7.5,17A1.5,1.5 0 0,1 6,18.5A1.5,1.5 0 0,1 4.5,17A1.5,1.5 0 0,1 6,15.5M18,15.5A1.5,1.5 0 0,1 19.5,17A1.5,1.5 0 0,1 18,18.5A1.5,1.5 0 0,1 16.5,17A1.5,1.5 0 0,1 18,15.5Z\";\r\nexport var mdiTruckDeliveryOutline = \"M18 18.5C18.83 18.5 19.5 17.83 19.5 17C19.5 16.17 18.83 15.5 18 15.5C17.17 15.5 16.5 16.17 16.5 17C16.5 17.83 17.17 18.5 18 18.5M19.5 9.5H17V12H21.46L19.5 9.5M6 18.5C6.83 18.5 7.5 17.83 7.5 17C7.5 16.17 6.83 15.5 6 15.5C5.17 15.5 4.5 16.17 4.5 17C4.5 17.83 5.17 18.5 6 18.5M20 8L23 12V17H21C21 18.66 19.66 20 18 20C16.34 20 15 18.66 15 17H9C9 18.66 7.66 20 6 20C4.34 20 3 18.66 3 17H1V6C1 4.89 1.89 4 3 4H17V8H20M3 6V15H3.76C4.31 14.39 5.11 14 6 14C6.89 14 7.69 14.39 8.24 15H15V6H3M10 7L13.5 10.5L10 14V11.5H5V9.5H10V7Z\";\r\nexport var mdiTruckFast = \"M3,13.5L2.25,12H7.5L6.9,10.5H2L1.25,9H9.05L8.45,7.5H1.11L0.25,6H4A2,2 0 0,1 6,4H18V8H21L24,12V17H22A3,3 0 0,1 19,20A3,3 0 0,1 16,17H12A3,3 0 0,1 9,20A3,3 0 0,1 6,17H4V13.5H3M19,18.5A1.5,1.5 0 0,0 20.5,17A1.5,1.5 0 0,0 19,15.5A1.5,1.5 0 0,0 17.5,17A1.5,1.5 0 0,0 19,18.5M20.5,9.5H18V12H22.46L20.5,9.5M9,18.5A1.5,1.5 0 0,0 10.5,17A1.5,1.5 0 0,0 9,15.5A1.5,1.5 0 0,0 7.5,17A1.5,1.5 0 0,0 9,18.5Z\";\r\nexport var mdiTruckFastOutline = \"M.75 7.5H10.5L11.25 9H1.5L.75 7.5M1.75 10.5H11.5L12.25 12H2.5L1.75 10.5M18 18.5C18.83 18.5 19.5 17.83 19.5 17C19.5 16.17 18.83 15.5 18 15.5C17.17 15.5 16.5 16.17 16.5 17C16.5 17.83 17.17 18.5 18 18.5M19.5 9.5H17V12H21.46L19.5 9.5M8 18.5C8.83 18.5 9.5 17.83 9.5 17C9.5 16.17 8.83 15.5 8 15.5C7.17 15.5 6.5 16.17 6.5 17C6.5 17.83 7.17 18.5 8 18.5M20 8L23 12V17H21C21 18.66 19.66 20 18 20C16.34 20 15 18.66 15 17H11C11 18.66 9.65 20 8 20C6.34 20 5 18.66 5 17H3V13.5 13.5H5V15H5.76C6.31 14.39 7.11 14 8 14C8.89 14 9.69 14.39 10.24 15H15V6H3V6C3 4.89 3.89 4 5 4H17V8H20Z\";\r\nexport var mdiTruckOutline = \"M18 18.5C18.83 18.5 19.5 17.83 19.5 17C19.5 16.17 18.83 15.5 18 15.5C17.17 15.5 16.5 16.17 16.5 17C16.5 17.83 17.17 18.5 18 18.5M19.5 9.5H17V12H21.46L19.5 9.5M6 18.5C6.83 18.5 7.5 17.83 7.5 17C7.5 16.17 6.83 15.5 6 15.5C5.17 15.5 4.5 16.17 4.5 17C4.5 17.83 5.17 18.5 6 18.5M20 8L23 12V17H21C21 18.66 19.66 20 18 20C16.34 20 15 18.66 15 17H9C9 18.66 7.66 20 6 20C4.34 20 3 18.66 3 17H1V6C1 4.89 1.89 4 3 4H17V8H20M3 6V15H3.76C4.31 14.39 5.11 14 6 14C6.89 14 7.69 14.39 8.24 15H15V6H3Z\";\r\nexport var mdiTruckTrailer = \"M22,15V17H10A3,3 0 0,1 7,20A3,3 0 0,1 4,17H2V6A2,2 0 0,1 4,4H17A2,2 0 0,1 19,6V15H22M7,16A1,1 0 0,0 6,17A1,1 0 0,0 7,18A1,1 0 0,0 8,17A1,1 0 0,0 7,16Z\";\r\nexport var mdiTrumpet = \"M22 6C21 11 15 11 15 11H4C3 11 2 10 2 10H1V14H2C2 14 3 13 4 13H4.3C4.1 13.3 4 13.6 4 14V16C4 17.1 4.9 18 6 18H7V19H9V18H10V19H12V18H13V19H15V18H16C17.1 18 18 17.1 18 16V14C18 13.9 18 13.7 17.9 13.6C19.6 14.2 21.4 15.4 22 18H23V6H22M6 16.5C5.7 16.5 5.5 16.3 5.5 16V14C5.5 13.7 5.7 13.5 6 13.5H7V16.5H6M9 16.5V13.5H10V16.5H9M12 16.5V13.5H13V16.5H12M16.5 16C16.5 16.3 16.3 16.5 16 16.5H15V13.5H16C16.3 13.5 16.5 13.7 16.5 14V16M9 10H7V9H9V10M12 10H10V9H12V10M15 10H13V9H15V10Z\";\r\nexport var mdiTshirtCrew = \"M16,21H8A1,1 0 0,1 7,20V12.07L5.7,13.07C5.31,13.46 4.68,13.46 4.29,13.07L1.46,10.29C1.07,9.9 1.07,9.27 1.46,8.88L7.34,3H9C9,4.1 10.34,5 12,5C13.66,5 15,4.1 15,3H16.66L22.54,8.88C22.93,9.27 22.93,9.9 22.54,10.29L19.71,13.12C19.32,13.5 18.69,13.5 18.3,13.12L17,12.12V20A1,1 0 0,1 16,21\";\r\nexport var mdiTshirtCrewOutline = \"M16,21H8A1,1 0 0,1 7,20V12.07L5.7,13.12C5.31,13.5 4.68,13.5 4.29,13.12L1.46,10.29C1.07,9.9 1.07,9.27 1.46,8.88L7.34,3H9C9,4.1 10.34,5 12,5C13.66,5 15,4.1 15,3H16.66L22.54,8.88C22.93,9.27 22.93,9.9 22.54,10.29L19.71,13.12C19.32,13.5 18.69,13.5 18.3,13.12L17,12.07V20A1,1 0 0,1 16,21M20.42,9.58L16.11,5.28C15.8,5.63 15.43,5.94 15,6.2C14.16,6.7 13.13,7 12,7C10.3,7 8.79,6.32 7.89,5.28L3.58,9.58L5,11L8,9H9V19H15V9H16L19,11L20.42,9.58Z\";\r\nexport var mdiTshirtV = \"M16,21H8A1,1 0 0,1 7,20V12.07L5.7,13.07C5.31,13.46 4.68,13.46 4.29,13.07L1.46,10.29C1.07,9.9 1.07,9.27 1.46,8.88L7.34,3H9C9.29,4.8 10.4,6.37 12,7.25C13.6,6.37 14.71,4.8 15,3H16.66L22.54,8.88C22.93,9.27 22.93,9.9 22.54,10.29L19.71,13.12C19.32,13.5 18.69,13.5 18.3,13.12L17,12.12V20A1,1 0 0,1 16,21\";\r\nexport var mdiTshirtVOutline = \"M16,21H8A1,1 0 0,1 7,20V12.07L5.7,13.12C5.31,13.5 4.68,13.5 4.29,13.12L1.46,10.29C1.07,9.9 1.07,9.27 1.46,8.88L7.34,3H9C9,4.1 10,6 12,7.25C14,6 15,4.1 15,3H16.66L22.54,8.88C22.93,9.27 22.93,9.9 22.54,10.29L19.71,13.12C19.32,13.5 18.69,13.5 18.3,13.12L17,12.07V20A1,1 0 0,1 16,21M20.42,9.58L16.11,5.28C15,7 14,8.25 12,9.25C10,8.25 9,7 7.89,5.28L3.58,9.58L5,11L8,9H9V19H15V9H16L19,11L20.42,9.58Z\";\r\nexport var mdiTumbleDryer = \"M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M7,4A1,1 0 0,0 6,5A1,1 0 0,0 7,6A1,1 0 0,0 8,5A1,1 0 0,0 7,4M10,4A1,1 0 0,0 9,5A1,1 0 0,0 10,6A1,1 0 0,0 11,5A1,1 0 0,0 10,4M12,8A6,6 0 0,0 6,14A6,6 0 0,0 12,20A6,6 0 0,0 18,14A6,6 0 0,0 12,8M8.11,10.5H10C9.76,11.88 10,12.67 10.58,13.29C11.68,14.36 12.16,15.71 11.89,17.5H10C10.24,16.12 10,15.33 9.42,14.71C8.32,13.64 7.85,12.29 8.11,10.5M12.11,10.5H14C13.76,11.88 14,12.67 14.58,13.29C15.68,14.36 16.16,15.71 15.89,17.5H14C14.24,16.12 14,15.33 13.42,14.71C12.32,13.64 11.85,12.29 12.11,10.5Z\";\r\nexport var mdiTumbleDryerAlert = \"M4 2H16C17.11 2 18 2.9 18 4V20C18 21.11 17.11 22 16 22H4C2.9 22 2 21.11 2 20V4C2 2.9 2.9 2 4 2M5 4C4.45 4 4 4.45 4 5S4.45 6 5 6 6 5.55 6 5 5.55 4 5 4M8 4C7.45 4 7 4.45 7 5S7.45 6 8 6 9 5.55 9 5 8.55 4 8 4M10 8C6.69 8 4 10.69 4 14S6.69 20 10 20 16 17.31 16 14 13.31 8 10 8M6.11 10.5H8C7.76 11.88 8 12.67 8.58 13.29C9.68 14.36 10.16 15.71 9.89 17.5H8C8.24 16.12 8 15.33 7.42 14.71C6.32 13.64 5.85 12.29 6.11 10.5M10.11 10.5H12C11.76 11.88 12 12.67 12.58 13.29C13.68 14.36 14.16 15.71 13.89 17.5H12C12.24 16.12 12 15.33 11.42 14.71C10.32 13.64 9.85 12.29 10.11 10.5M20 15H22V17H20V15M20 7H22V13H20V7Z\";\r\nexport var mdiTumbleDryerOff = \"M22.11 21.46L2.39 1.73L1.11 3L4 5.89V20C4 21.11 4.89 22 6 22H18C18.58 22 19.1 21.75 19.46 21.35L20.84 22.73L22.11 21.46M12 20C8.69 20 6 17.31 6 14C6 12.32 6.7 10.8 7.82 9.71L8.61 10.5H8.11C7.85 12.29 8.32 13.64 9.42 14.71C10 15.33 10.24 16.12 10 17.5H11.89C12.16 15.71 11.68 14.36 10.58 13.29C10.22 12.91 10 12.44 9.95 11.84L14.03 15.92C14.11 16.35 14.11 16.86 14 17.5H15.61L16.29 18.18C15.2 19.3 13.69 20 12 20M11.25 8.05C11.5 8 11.75 8 12 8C15.31 8 18 10.69 18 14C18 14.25 18 14.5 17.95 14.75L20 16.8V4C20 2.9 19.11 2 18 2H6C5.76 2 5.54 2.05 5.33 2.13L11.25 8.05M10 4C10.55 4 11 4.45 11 5S10.55 6 10 6 9 5.55 9 5 9.45 4 10 4Z\";\r\nexport var mdiTune = \"M3,17V19H9V17H3M3,5V7H13V5H3M13,21V19H21V17H13V15H11V21H13M7,9V11H3V13H7V15H9V9H7M21,13V11H11V13H21M15,9H17V7H21V5H17V3H15V9Z\";\r\nexport var mdiTuneVariant = \"M8 13C6.14 13 4.59 14.28 4.14 16H2V18H4.14C4.59 19.72 6.14 21 8 21S11.41 19.72 11.86 18H22V16H11.86C11.41 14.28 9.86 13 8 13M8 19C6.9 19 6 18.1 6 17C6 15.9 6.9 15 8 15S10 15.9 10 17C10 18.1 9.1 19 8 19M19.86 6C19.41 4.28 17.86 3 16 3S12.59 4.28 12.14 6H2V8H12.14C12.59 9.72 14.14 11 16 11S19.41 9.72 19.86 8H22V6H19.86M16 9C14.9 9 14 8.1 14 7C14 5.9 14.9 5 16 5S18 5.9 18 7C18 8.1 17.1 9 16 9Z\";\r\nexport var mdiTuneVertical = \"M7 3H5V9H7V3M19 3H17V13H19V3M3 13H5V21H7V13H9V11H3V13M15 7H13V3H11V7H9V9H15V7M11 21H13V11H11V21M15 15V17H17V21H19V17H21V15H15Z\";\r\nexport var mdiTuneVerticalVariant = \"M8 12.14V2H6V12.14C4.28 12.59 3 14.14 3 16S4.28 19.41 6 19.86V22H8V19.86C9.72 19.41 11 17.86 11 16S9.72 12.59 8 12.14M7 14C8.1 14 9 14.9 9 16S8.1 18 7 18C5.9 18 5 17.1 5 16S5.9 14 7 14M18 2H16V4.14C14.28 4.59 13 6.14 13 8S14.28 11.41 16 11.86V22H18V11.86C19.72 11.41 21 9.86 21 8S19.72 4.59 18 4.14V2M17 6C18.1 6 19 6.9 19 8S18.1 10 17 10C15.9 10 15 9.1 15 8S15.9 6 17 6Z\";\r\nexport var mdiTurkey = \"M10.5 19.44C9.75 19.8 8.9 20 8 20C4.69 20 2 17.31 2 14V9C2 5.69 4.69 3 8 3L10.5 7.58C8.1 8.81 6.5 11 6.5 13.5C6.5 16 8.11 18.2 10.5 19.44M16 18.94V20H17C17.55 20 18 20.45 18 21S17.55 22 17 22H14C13.45 22 13 21.55 13 21S13.45 20 14 20V18.94C10.61 18.56 8 16.27 8 13.5C8 10.46 11.13 8 15 8C15.19 8 15.37 8 15.56 8C14.84 6.63 14 5.23 14 4C14 2.9 14.9 2 16 2C18.21 2 20 3.79 20 6H18C18 6 22 9 22 13.5C22 16.27 19.39 18.56 16 18.94M16 4C16 4.55 16.45 5 17 5S18 4.55 18 4 17.55 3 17 3 16 3.45 16 4M17 12C17 10.9 16.11 10 15 10C12.79 10 11 11.79 11 14H15C16.11 14 17 13.11 17 12Z\";\r\nexport var mdiTurnstile = \"M22,22H16V11L10,5V2H22V22M9.17,6.17C8.42,6.92 8,7.94 8,9H2V11H8.55C8.9,11.6 9.4,12.1 10,12.45V19H12V13C13.06,13 14.08,12.58 14.83,11.83L9.17,6.17Z\";\r\nexport var mdiTurnstileOutline = \"M13.41,10.41C13.04,10.79 12.53,11 12,11A2,2 0 0,1 10,9C10,8.47 10.21,7.96 10.59,7.59L9.17,6.17C8.42,6.92 8,7.94 8,9H2V11H8.55C8.9,11.6 9.4,12.1 10,12.45V19H12V13C13.06,13 14.08,12.58 14.83,11.83L13.41,10.41M10,2V5L16,11V22H22V2H10M20,20H18V10.17L12,4.17V4H20V20Z\";\r\nexport var mdiTurtle = \"M8.47,5.95C8.95,5.67 9.47,5.44 10,5.28V4C10,2.9 10.87,2 11.97,1.97C13.13,2 14,2.9 14,4V5.28C14.53,5.45 15.05,5.67 15.53,5.95L13.93,8.07H10.07L8.47,5.95M19,12C19,12.5 18.95,12.95 18.86,13.4L16.33,12.62L15.14,8.96L16.74,6.85C17.17,7.25 17.55,7.7 17.88,8.2C18.67,8.13 19.43,8.25 20.11,8.59C21.14,9.12 21.84,10.13 22,11.28L19,11.64C19,11.76 19,11.88 19,12M5,12C5,11.88 5,11.76 5,11.65L2,11.28C2.16,10.13 2.86,9.12 3.89,8.59C4.57,8.25 5.34,8.13 6.08,8.26C6.41,7.75 6.79,7.28 7.24,6.87L8.86,8.95L7.67,12.62L5.14,13.4C5.05,12.95 5,12.5 5,12M10.24,9.57H13.76L14.85,12.93L12,15L9.15,12.93L10.24,9.57M8.13,14.05L11.25,16.31V18.96C10.68,18.9 10.13,18.77 9.62,18.58L8.39,21.34C7.33,20.87 6.57,19.9 6.37,18.76C6.23,18 6.35,17.24 6.69,16.56C6.24,16.04 5.87,15.46 5.59,14.82L8.13,14.05M15.87,14.05L18.41,14.82C18.13,15.46 17.76,16.04 17.31,16.56C17.65,17.24 17.77,18 17.64,18.76C17.43,19.9 16.67,20.87 15.61,21.34L14.39,18.58C13.86,18.77 13.33,18.94 12.75,19V16.31L15.87,14.05Z\";\r\nexport var mdiTwitch = \"M11.64 5.93H13.07V10.21H11.64M15.57 5.93H17V10.21H15.57M7 2L3.43 5.57V18.43H7.71V22L11.29 18.43H14.14L20.57 12V2M19.14 11.29L16.29 14.14H13.43L10.93 16.64V14.14H7.71V3.43H19.14Z\";\r\nexport var mdiTwitter = \"M22.46,6C21.69,6.35 20.86,6.58 20,6.69C20.88,6.16 21.56,5.32 21.88,4.31C21.05,4.81 20.13,5.16 19.16,5.36C18.37,4.5 17.26,4 16,4C13.65,4 11.73,5.92 11.73,8.29C11.73,8.63 11.77,8.96 11.84,9.27C8.28,9.09 5.11,7.38 3,4.79C2.63,5.42 2.42,6.16 2.42,6.94C2.42,8.43 3.17,9.75 4.33,10.5C3.62,10.5 2.96,10.3 2.38,10C2.38,10 2.38,10 2.38,10.03C2.38,12.11 3.86,13.85 5.82,14.24C5.46,14.34 5.08,14.39 4.69,14.39C4.42,14.39 4.15,14.36 3.89,14.31C4.43,16 6,17.26 7.89,17.29C6.43,18.45 4.58,19.13 2.56,19.13C2.22,19.13 1.88,19.11 1.54,19.07C3.44,20.29 5.7,21 8.12,21C16,21 20.33,14.46 20.33,8.79C20.33,8.6 20.33,8.42 20.32,8.23C21.16,7.63 21.88,6.87 22.46,6Z\";\r\nexport var mdiTwoFactorAuthentication = \"M2,7V9H6V11H4A2,2 0 0,0 2,13V17H8V15H4V13H6A2,2 0 0,0 8,11V9C8,7.89 7.1,7 6,7H2M9,7V17H11V13H14V11H11V9H15V7H9M18,7A2,2 0 0,0 16,9V17H18V14H20V17H22V9A2,2 0 0,0 20,7H18M18,9H20V12H18V9Z\";\r\nexport var mdiTypewriter = \"M20 13H16C16 14.1 15.1 15 14 15H10C8.9 15 8 14.1 8 13H4L2 18V20C2 21.1 2.9 22 4 22H20C21.1 22 22 21.1 22 20V18M6 20C5.11 20 4.66 18.92 5.29 18.29C5.92 17.66 7 18.11 7 19C7 19.55 6.55 20 6 20M10 20C9.11 20 8.66 18.92 9.29 18.29C9.92 17.66 11 18.11 11 19C11 19.55 10.55 20 10 20M14 20C13.11 20 12.66 18.92 13.29 18.29C13.92 17.66 15 18.11 15 19C15 19.55 14.55 20 14 20M18 20C17.11 20 16.66 18.92 17.29 18.29C17.92 17.66 19 18.11 19 19C19 19.55 18.55 20 18 20M18 10V3H6V10H3V12H21V10M8 5H16V6H8M8 7H14V8H8\";\r\nexport var mdiUbisoft = \"M11.41,2C5.21,2 2.53,7.53 2.53,7.53L3.32,8.09C3.32,8.09 2.33,10 2.35,12.4C2.35,17.34 6.29,22 12.07,22C17.33,22 21.67,17.71 21.67,12.41C21.67,5.5 16.31,2 11.41,2M11.47,3.69C16.31,3.69 20.07,7.6 20.07,12.14C20.07,16.95 16.45,20.3 12.23,20.3C9.13,20.3 6.33,17.94 6.33,14.7C6.33,12.82 7.32,11.5 8.44,10.82L8.6,11C8.3,11.24 7.43,12.64 7.43,14C7.43,16.56 9.43,18.33 11.95,18.33C15.16,18.33 17.3,15.59 17.3,12.41C17.3,8.71 14.03,5.57 10.1,5.57C7.93,5.57 6.09,6.5 5.03,7.33L4.86,7.18C6.25,5.04 8.65,3.69 11.47,3.69M10,7.23C12.53,7.23 14.97,8.89 15.59,11.25L15.36,11.33C14.27,9.88 12.47,8.68 10.35,8.68C6.44,8.68 4.39,12.23 4.69,15.19L4.46,15.28C4.46,15.28 4.03,14.33 4.03,13.2C4.03,9.93 6.71,7.23 10,7.23M11.68,11.33C12.86,11.33 13.81,12.3 13.81,13.44C13.81,14.38 13.21,14.94 13.21,14.94L13.92,15.45C13.92,15.45 13.21,16.57 11.76,16.57C10.37,16.57 9.13,15.44 9.13,13.93C9.13,12.38 10.47,11.33 11.68,11.33Z\";\r\nexport var mdiUbuntu = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M14.34,7.74C14.92,8.07 15.65,7.87 16,7.3C16.31,6.73 16.12,6 15.54,5.66C14.97,5.33 14.23,5.5 13.9,6.1C13.57,6.67 13.77,7.41 14.34,7.74M11.88,15.5C11.35,15.5 10.85,15.39 10.41,15.18L9.57,16.68C10.27,17 11.05,17.22 11.88,17.22C12.37,17.22 12.83,17.15 13.28,17.03C13.36,16.54 13.64,16.1 14.1,15.84C14.56,15.57 15.08,15.55 15.54,15.72C16.43,14.85 17,13.66 17.09,12.33L15.38,12.31C15.22,14.1 13.72,15.5 11.88,15.5M11.88,8.5C13.72,8.5 15.22,9.89 15.38,11.69L17.09,11.66C17,10.34 16.43,9.15 15.54,8.28C15.08,8.45 14.55,8.42 14.1,8.16C13.64,7.9 13.36,7.45 13.28,6.97C12.83,6.85 12.37,6.78 11.88,6.78C11.05,6.78 10.27,6.97 9.57,7.32L10.41,8.82C10.85,8.61 11.35,8.5 11.88,8.5M8.37,12C8.37,10.81 8.96,9.76 9.86,9.13L9,7.65C7.94,8.36 7.15,9.43 6.83,10.69C7.21,11 7.45,11.47 7.45,12C7.45,12.53 7.21,13 6.83,13.31C7.15,14.56 7.94,15.64 9,16.34L9.86,14.87C8.96,14.24 8.37,13.19 8.37,12M14.34,16.26C13.77,16.59 13.57,17.32 13.9,17.9C14.23,18.47 14.97,18.67 15.54,18.34C16.12,18 16.31,17.27 16,16.7C15.65,16.12 14.92,15.93 14.34,16.26M5.76,10.8C5.1,10.8 4.56,11.34 4.56,12C4.56,12.66 5.1,13.2 5.76,13.2C6.43,13.2 6.96,12.66 6.96,12C6.96,11.34 6.43,10.8 5.76,10.8Z\";\r\nexport var mdiUfo = \"M15.94 10.28C15.66 7.87 14 6 12 6S8.34 7.87 8.06 10.28C4.5 10.82 2 12.06 2 13.5C2 15.43 6.5 17 12 17S22 15.43 22 13.5C22 12.06 19.5 10.82 15.94 10.28Z\";\r\nexport var mdiUfoOutline = \"M17 10.54C16.78 7.44 14.63 5 12 5S7.22 7.44 7 10.54C4 11.23 2 12.5 2 14C2 16.21 6.5 18 12 18S22 16.21 22 14C22 12.5 20 11.23 17 10.54M14.93 11.84C13.03 12.05 10.97 12.05 9.07 11.84C9.03 11.56 9 11.28 9 11C9 8.8 10.35 7 12 7S15 8.8 15 11C15 11.28 15 11.56 14.93 11.84Z\";\r\nexport var mdiUltraHighDefinition = \"M9,7H11V11H13V7H15V17H13V13H11V17H9V7M17,7H20A3,3 0 0,1 23,10V14A3,3 0 0,1 20,17H17V7M20,15A1,1 0 0,0 21,14V10A1,1 0 0,0 20,9H19V15H20M7,14A3,3 0 0,1 4,17A3,3 0 0,1 1,14V7H3V14A1,1 0 0,0 4,15A1,1 0 0,0 5,14V7H7V14Z\";\r\nexport var mdiUmbraco = \"M8.6,8.6L7.17,8.38C6.5,11.67 6.46,14.24 7.61,15.5C8.6,16.61 11.89,16.61 11.89,16.61C11.89,16.61 15.29,16.61 16.28,15.5C17.43,14.24 17.38,11.67 16.72,8.38L15.29,8.6C15.29,8.6 16.54,13.88 14.69,14.69C13.81,15.07 11.89,15.07 11.89,15.07C11.89,15.07 10.08,15.07 9.2,14.69C7.35,13.88 8.6,8.6 8.6,8.6M12,3A9,9 0 0,1 21,12A9,9 0 0,1 12,21A9,9 0 0,1 3,12A9,9 0 0,1 12,3Z\";\r\nexport var mdiUmbrella = \"M12,2A9,9 0 0,1 21,11H13V19A3,3 0 0,1 10,22A3,3 0 0,1 7,19V18H9V19A1,1 0 0,0 10,20A1,1 0 0,0 11,19V11H3A9,9 0 0,1 12,2Z\";\r\nexport var mdiUmbrellaClosed = \"M12 2C11.6 2 11.3 2.2 11.1 2.6L6.5 15H11V19C11 19.6 10.6 20 10 20C9.4 20 9 19.6 9 19V18H7V19C7 20.7 8.3 22 10 22S13 20.7 13 19V15H17.5L12.9 2.6C12.7 2.2 12.4 2 12 2Z\";\r\nexport var mdiUmbrellaClosedOutline = \"M12 2C12.4 2 12.8 2.2 12.9 2.6L17.5 15H13V19C13 20.7 11.7 22 10 22S7 20.7 7 19V18H9V19C9 19.6 9.4 20 10 20C10.6 20 11 19.6 11 19V15H6.5L11.1 2.6C11.2 2.2 11.6 2 12 2M12 5.9L9.4 13H14.7L12 5.9Z\";\r\nexport var mdiUmbrellaClosedVariant = \"M15 7L13 6V3.5C13 3.2 13.2 3 13.5 3S14 3.2 14 3.5V4H16V3.5C16 2.1 14.9 1 13.5 1S11 2.1 11 3.5V6L9 7L6 6L11.1 21.3C11.4 22.2 12.7 22.2 13 21.3C14.6 16.2 18 6 18 6L15 7M11 15L9 8.9L9.7 9.1L11 8.1V15M13 8.1L14.3 9.1L15 8.9L13 15V8.1Z\";\r\nexport var mdiUmbrellaOutline = \"M12,4C8.9,4 6.18,6.03 5.3,9H18.7C17.82,6.04 15.09,4 12,4M12,2A9,9 0 0,1 21,11H13V19A3,3 0 0,1 10,22A3,3 0 0,1 7,19V18H9V19A1,1 0 0,0 10,20A1,1 0 0,0 11,19V11H3A9,9 0 0,1 12,2Z\";\r\nexport var mdiUndo = \"M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z\";\r\nexport var mdiUndoVariant = \"M13.5,7A6.5,6.5 0 0,1 20,13.5A6.5,6.5 0 0,1 13.5,20H10V18H13.5C16,18 18,16 18,13.5C18,11 16,9 13.5,9H7.83L10.91,12.09L9.5,13.5L4,8L9.5,2.5L10.92,3.91L7.83,7H13.5M6,18H8V20H6V18Z\";\r\nexport var mdiUnfoldLessHorizontal = \"M16.59,5.41L15.17,4L12,7.17L8.83,4L7.41,5.41L12,10M7.41,18.59L8.83,20L12,16.83L15.17,20L16.58,18.59L12,14L7.41,18.59Z\";\r\nexport var mdiUnfoldLessVertical = \"M5.41,7.41L10,12L5.41,16.59L4,15.17L7.17,12L4,8.83L5.41,7.41M18.59,16.59L14,12L18.59,7.42L20,8.83L16.83,12L20,15.17L18.59,16.59Z\";\r\nexport var mdiUnfoldMoreHorizontal = \"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z\";\r\nexport var mdiUnfoldMoreVertical = \"M18.17,12L15,8.83L16.41,7.41L21,12L16.41,16.58L15,15.17L18.17,12M5.83,12L9,15.17L7.59,16.59L3,12L7.59,7.42L9,8.83L5.83,12Z\";\r\nexport var mdiUngroup = \"M2,2H6V3H13V2H17V6H16V9H18V8H22V12H21V18H22V22H18V21H12V22H8V18H9V16H6V17H2V13H3V6H2V2M18,12V11H16V13H17V17H13V16H11V18H12V19H18V18H19V12H18M13,6V5H6V6H5V13H6V14H9V12H8V8H12V9H14V6H13M12,12H11V14H13V13H14V11H12V12Z\";\r\nexport var mdiUnicode = \"M22 6A1.46 1.46 0 0 1 20.54 7.44A1.46 1.46 0 0 1 19.09 6A1.46 1.46 0 0 1 20.54 4.5A1.46 1.46 0 0 1 22 6M21.56 8.86H19.53C19.4 8.85 19.34 8.91 19.34 9V12.59C19.34 13.08 19.34 13.5 19.35 13.86L19.37 14.76C19.38 15 19.39 15.21 19.39 15.39C19.4 15.56 19.4 15.72 19.4 15.86H19.38C19.26 15.6 19.07 15.22 18.82 14.74C18.58 14.27 18.29 13.72 17.97 13.11C17.64 12.5 17.29 11.84 16.92 11.15C16.55 10.47 16.18 9.78 15.81 9.11C15.45 8.43 15.09 7.78 14.75 7.16C14.4 6.54 14.1 6 13.85 5.54C13.82 5.5 13.79 5.44 13.77 5.42C13.74 5.4 13.68 5.39 13.6 5.39H10.62C10.5 5.39 10.47 5.44 10.47 5.54H10.5C10.47 5.56 10.47 5.57 10.47 5.58V13.84C10.47 14.5 10.4 15 10.25 15.45C10.1 15.88 9.9 16.23 9.64 16.5C9.38 16.75 9.07 16.93 8.72 17.05C8.36 17.16 8 17.22 7.56 17.22C6.54 17.22 5.79 16.91 5.3 16.31C4.8 15.7 4.56 14.89 4.56 13.88V5.56C4.56 5.45 4.5 5.39 4.39 5.39H2.17C2.06 5.39 2 5.45 2 5.58V14.07C2 15 2.13 15.78 2.38 16.46C2.63 17.13 3 17.69 3.5 18.14C3.96 18.58 4.53 18.92 5.21 19.14C5.89 19.36 6.64 19.5 7.47 19.5C8.24 19.5 8.97 19.38 9.65 19.17C10.34 18.97 10.93 18.64 11.42 18.2C11.91 17.75 12.3 17.18 12.59 16.5C12.88 15.79 13.03 14.95 13.03 13.96V8.62C13.14 8.86 13.28 9.15 13.44 9.47C13.73 10.05 14.05 10.68 14.42 11.38C14.79 12.08 15.17 12.8 15.58 13.56C16 14.32 16.39 15.06 16.77 15.76C17.16 16.46 17.5 17.11 17.83 17.7C18.15 18.29 18.4 18.76 18.58 19.12C18.63 19.22 18.73 19.27 18.85 19.27H21.54C21.68 19.27 21.75 19.2 21.75 19.08V9.05C21.75 8.92 21.68 8.85 21.56 8.85Z\";\r\nexport var mdiUnicorn = \"M22 5L21.11 6.34C21.65 6.7 22 7.31 22 8V11.5L20.5 12L18.96 9.54C18.83 9.33 18.5 9.42 18.5 9.67V13.25C18.5 14.23 18.11 15.11 17.5 15.78V22H15V17C14.92 17 14.84 17 14.75 17C14.54 17 14.33 16.97 14.13 16.94L9.45 16.16L8.57 18.12L9.54 22H6.96L6.04 18.3C5.97 18.03 6 17.74 6.11 17.5L7 15.5C6.12 14.92 5.53 13.94 5.5 12.81C5.46 12.96 5.44 13.18 5.47 13.5C5.5 13.94 5.61 14.59 5.54 15.31C5.5 16.03 5.18 16.77 4.76 17.26C4.32 17.75 3.85 18.09 3.35 18.35L2.65 17.65C2.84 17.18 3.03 16.76 3.07 16.37C3.13 16 3.06 15.7 2.95 15.43L2.42 14.3C2.21 13.79 1.95 13.05 2 12.18C2.03 11.33 2.5 10.22 3.39 9.61C4.29 9 5.26 8.91 6.05 9.08C6.55 9.18 7.06 9.42 7.5 9.76C7.87 9.59 8.3 9.5 8.75 9.5H14.5V9C14.5 6.79 16.29 5 18.5 5L22 2L21 5H22Z\";\r\nexport var mdiUnicornVariant = \"M20 12V19L17 20L14 15.33C13.71 14.89 13 15.14 13.08 15.67L14 23L4 18L4.96 12.75C5.56 9.42 8.46 7 11.84 7H13L19 1L17 7H20L18.42 9.37C19.36 9.88 20 10.86 20 12Z\";\r\nexport var mdiUnicycle = \"M13 9.09V5H14C14.55 5 15 4.55 15 4S14.55 3 14 3H10C9.45 3 9 3.45 9 4S9.45 5 10 5H11V9.09C8.16 9.57 6 12.03 6 15C6 18.31 8.69 21 12 21S18 18.31 18 15C18 12.03 15.84 9.57 13 9.09M12 19C9.79 19 8 17.21 8 15C8 13.14 9.28 11.59 11 11.14V16H13V11.14C14.72 11.59 16 13.14 16 15C16 17.21 14.21 19 12 19Z\";\r\nexport var mdiUnity = \"M10.11,17H7.5L2.59,12L7.5,7H10.11L11.42,4.74L18.21,3L20.08,9.74L18.77,12L20.08,14.26L18.21,21L11.42,19.26L10.11,17M10.25,16.75L15.38,18.13L12.42,13H6.5L10.25,16.75M17.12,17.13L18.5,12L17.12,6.87L14.15,12L17.12,17.13M10.25,7.25L6.5,11H12.42L15.38,5.87L10.25,7.25Z\";\r\nexport var mdiUnreal = \"M2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2A10,10 0 0,0 2,12M5.24,18.76C3.43,16.95 2.44,14.55 2.44,12C2.44,9.45 3.43,7.05 5.24,5.24C7.05,3.43 9.45,2.44 12,2.44C14.55,2.44 16.95,3.43 18.76,5.24C20.57,7.05 21.56,9.45 21.56,12C21.56,14.55 20.57,16.95 18.76,18.76C16.95,20.57 14.55,21.56 12,21.56C9.45,21.56 7.05,20.57 5.24,18.76M6.35,9.5C4.34,11.79 4.73,13.68 4.73,13.68C4.73,13.68 5.28,12.38 6.61,11C7.25,10.37 7.72,10.15 8.04,10.15C8.4,10.15 8.57,10.41 8.57,10.65V15.29C8.57,15.75 8.27,15.85 8,15.84C7.77,15.84 7.55,15.76 7.55,15.76C8.92,17.73 12.19,18 12.19,18L13.63,16.5H13.67L15,17.63C17.39,16.21 18.55,13.58 18.55,13.58C17.5,14.7 16.79,14.97 16.39,14.96C16.03,14.96 15.88,14.75 15.88,14.75C15.87,14.65 15.82,8.9 15.89,8.9C16.31,8.13 17.63,6.56 17.63,6.56C15.16,7.05 13.81,8.66 13.81,8.66C13.41,8.35 12.59,8.4 12.59,8.4C12.97,8.61 13.35,9.21 13.35,9.72V14.65C13.35,14.65 12.5,15.38 11.88,15.38C11.5,15.38 11.27,15.17 11.14,15C11.05,14.88 11,14.79 11,14.79V8.69C10.93,8.75 10.82,8.8 10.71,8.8C10.57,8.79 10.43,8.73 10.34,8.53C10.26,8.38 10.22,8.15 10.22,7.83C10.22,6.7 11.5,5.96 11.5,5.96C9.87,6.39 8.36,7.22 6.35,9.5\";\r\nexport var mdiUpdate = \"M21,10.12H14.22L16.96,7.3C14.23,4.6 9.81,4.5 7.08,7.2C4.35,9.91 4.35,14.28 7.08,17C9.81,19.7 14.23,19.7 16.96,17C18.32,15.65 19,14.08 19,12.1H21C21,14.08 20.12,16.65 18.36,18.39C14.85,21.87 9.15,21.87 5.64,18.39C2.14,14.92 2.11,9.28 5.62,5.81C9.13,2.34 14.76,2.34 18.27,5.81L21,3V10.12M12.5,8V12.25L16,14.33L15.28,15.54L11,13V8H12.5Z\";\r\nexport var mdiUpload = \"M9,16V10H5L12,3L19,10H15V16H9M5,20V18H19V20H5Z\";\r\nexport var mdiUploadLock = \"M22 22H17C16.5 22 16 21.5 16 21V17C16 16.5 16.5 16 17 16V14.5C17 13.1 18.1 12 19.5 12C20.9 12 22 13.1 22 14.5V16C22.5 16 23 16.5 23 17V21C23 21.5 22.5 22 22 22M14 20H5V18H14V20M21 16V14.5C21 13.7 20.3 13 19.5 13C18.7 13 18 13.7 18 14.5V16H21M15 16H9V10H5L12 3L19 10H15V16Z\";\r\nexport var mdiUploadLockOutline = \"M22 22H17C16.5 22 16 21.5 16 21V17C16 16.5 16.5 16 17 16V14.5C17 13.1 18.1 12 19.5 12C20.9 12 22 13.1 22 14.5V16C22.5 16 23 16.5 23 17V21C23 21.5 22.5 22 22 22M5 18H14V20H5V18M21 16V14.5C21 13.7 20.3 13 19.5 13C18.7 13 18 13.7 18 14.5V16H21M9 16V10H5L12 3L19 10H15V16H9M9.83 8H11V14H13V8H14.17L12 5.83L9.83 8Z\";\r\nexport var mdiUploadMultiple = \"M9,14V8H5L12,1L19,8H15V14H9M5,18V16H19V18H5M19,20H5V22H19V20Z\";\r\nexport var mdiUploadNetwork = \"M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17M12,5.5L7.5,10H11V14H13V10H16.5L12,5.5Z\";\r\nexport var mdiUploadNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M12,6L8,10H11V14H13V10H16L12,6Z\";\r\nexport var mdiUploadOff = \"M22.11 21.46L2.39 1.73L1.11 3L6.56 8.45L5 10H8.11L9 10.89V16H14.11L16.11 18H5V20H18.11L20.84 22.73L22.11 21.46M15 10H19L12 3L9.1 5.9L15 11.8V10Z\";\r\nexport var mdiUploadOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L6.56 8.45L5 10H8.11L9 10.89V16H14.11L16.11 18H5V20H18.11L20.84 22.73L22.11 21.46M11 14V12.89L12.11 14H11M12 5.8L14.2 8H13V9.8L15 11.8V10H19L12 3L9.1 5.9L10.5 7.3L12 5.8Z\";\r\nexport var mdiUploadOutline = \"M9,10V16H15V10H19L12,3L5,10H9M12,5.8L14.2,8H13V14H11V8H9.8L12,5.8M19,18H5V20H19V18Z\";\r\nexport var mdiUsb = \"M15,7V11H16V13H13V5H15L12,1L9,5H11V13H8V10.93C8.7,10.56 9.2,9.85 9.2,9C9.2,7.78 8.21,6.8 7,6.8C5.78,6.8 4.8,7.78 4.8,9C4.8,9.85 5.3,10.56 6,10.93V13A2,2 0 0,0 8,15H11V18.05C10.29,18.41 9.8,19.15 9.8,20A2.2,2.2 0 0,0 12,22.2A2.2,2.2 0 0,0 14.2,20C14.2,19.15 13.71,18.41 13,18.05V15H16A2,2 0 0,0 18,13V11H19V7H15Z\";\r\nexport var mdiUsbFlashDrive = \"M8 15C8.55 15 9 15.45 9 16C9 16.55 8.55 17 8 17C7.45 17 7 16.55 7 16C7 15.45 7.45 15 8 15M15.07 4.69L16.5 6.1L15.07 7.5L13.66 6.1L15.07 4.69M17.9 7.5L19.31 8.93L17.9 10.34L16.5 8.93L17.9 7.5M8 13C6.34 13 5 14.34 5 16C5 17.66 6.34 19 8 19C9.66 19 11 17.66 11 16C11 14.34 9.66 13 8 13M9.77 4.33L10.5 5.08L14.29 1.29C14.47 1.11 14.72 1 15 1C15.28 1 15.53 1.11 15.71 1.29L22.78 8.36L22.78 8.37C22.92 8.54 23 8.76 23 9C23 9.3 22.87 9.57 22.66 9.76L22.66 9.76L18.93 13.5L19.67 14.23L12.95 20.95C11.68 22.22 9.93 23 8 23C4.13 23 1 19.87 1 16C1 14.07 1.78 12.32 3.05 11.05L9.77 4.33M20.59 9L15 3.41L11.93 6.5L17.5 12.08L20.59 9Z\";\r\nexport var mdiUsbFlashDriveOutline = \"M8 13C9.66 13 11 14.34 11 16C11 17.66 9.66 19 8 19C6.34 19 5 17.66 5 16C5 14.34 6.34 13 8 13M8 15C7.45 15 7 15.45 7 16C7 16.55 7.45 17 8 17C8.55 17 9 16.55 9 16C9 15.45 8.55 15 8 15M9.77 4.33L10.5 5.08L14.29 1.29C14.47 1.11 14.72 1 15 1C15.28 1 15.53 1.11 15.71 1.29L22.78 8.36L22.78 8.37C22.92 8.54 23 8.76 23 9C23 9.3 22.87 9.57 22.66 9.76L22.66 9.76L18.93 13.5L19.67 14.23L12.95 20.95C11.68 22.22 9.93 23 8 23C4.13 23 1 19.87 1 16C1 14.07 1.78 12.32 3.05 11.05L9.77 4.33M11.54 19.54L16.84 14.23L9.77 7.16L4.46 12.46C3.56 13.37 3 14.62 3 16C3 18.76 5.24 21 8 21C9.38 21 10.63 20.44 11.54 19.54M15.07 4.69L16.5 6.1L15.07 7.5L13.66 6.1L15.07 4.69M17.9 7.5L19.31 8.93L17.9 10.34L16.5 8.93L17.9 7.5M20.59 9L15 3.41L11.93 6.5L17.5 12.08L20.59 9Z\";\r\nexport var mdiUsbPort = \"M8 2C6.9 2 6 2.9 6 4V12H5V16L9 20V22H15V20L19 16V12H18V4C18 2.9 17.11 2 16 2M8 4H16V12H8M9 7V9H11V7M13 7V9H15V7Z\";\r\nexport var mdiValve = \"M4 22H2V2H4M22 2H20V22H22M17.24 5.34L13.24 9.34A3 3 0 0 0 9.24 13.34L5.24 17.34L6.66 18.76L10.66 14.76A3 3 0 0 0 14.66 10.76L18.66 6.76Z\";\r\nexport var mdiValveClosed = \"M22 2V22H20V13H14.82A3 3 0 0 1 9.18 13H4V22H2V2H4V11H9.18A3 3 0 0 1 14.82 11H20V2Z\";\r\nexport var mdiValveOpen = \"M4 22H2V2H4M22 2H20V22H22M11 4V9.18A3 3 0 0 0 11 14.82V20H13V14.82A3 3 0 0 0 13 9.18V4Z\";\r\nexport var mdiVanPassenger = \"M3,7C1.89,7 1,7.89 1,9V17H3A3,3 0 0,0 6,20A3,3 0 0,0 9,17H15A3,3 0 0,0 18,20A3,3 0 0,0 21,17H23V13C23,11.89 22.11,11 21,11L18,7H3M3,8.5H7V11H3V8.5M9,8.5H13V11H9V8.5M15,8.5H17.5L19.46,11H15V8.5M6,15.5A1.5,1.5 0 0,1 7.5,17A1.5,1.5 0 0,1 6,18.5A1.5,1.5 0 0,1 4.5,17A1.5,1.5 0 0,1 6,15.5M18,15.5A1.5,1.5 0 0,1 19.5,17A1.5,1.5 0 0,1 18,18.5A1.5,1.5 0 0,1 16.5,17A1.5,1.5 0 0,1 18,15.5Z\";\r\nexport var mdiVanUtility = \"M3,7C1.89,7 1,7.89 1,9V17H3A3,3 0 0,0 6,20A3,3 0 0,0 9,17H15A3,3 0 0,0 18,20A3,3 0 0,0 21,17H23V13C23,11.89 22.11,11 21,11L18,7H3M15,8.5H17.5L19.46,11H15V8.5M6,15.5A1.5,1.5 0 0,1 7.5,17A1.5,1.5 0 0,1 6,18.5A1.5,1.5 0 0,1 4.5,17A1.5,1.5 0 0,1 6,15.5M18,15.5A1.5,1.5 0 0,1 19.5,17A1.5,1.5 0 0,1 18,18.5A1.5,1.5 0 0,1 16.5,17A1.5,1.5 0 0,1 18,15.5Z\";\r\nexport var mdiVanish = \"M16,13V11H21V13H16M14.83,7.76L17.66,4.93L19.07,6.34L16.24,9.17L14.83,7.76M11,16H13V21H11V16M11,3H13V8H11V3M4.93,17.66L7.76,14.83L9.17,16.24L6.34,19.07L4.93,17.66M4.93,6.34L6.34,4.93L9.17,7.76L7.76,9.17L4.93,6.34M8,13H3V11H8V13M19.07,17.66L17.66,19.07L14.83,16.24L16.24,14.83L19.07,17.66Z\";\r\nexport var mdiVanishQuarter = \"M11 3H13V8H11V3M4.9 6.3L6.3 4.9L9.1 7.7L7.8 9.2L4.9 6.3M8 13H3V11H8V13\";\r\nexport var mdiVanityLight = \"M22 20H16C16 18.34 17.34 13 19 13S22 18.34 22 20M12 13C10.34 13 9 18.34 9 20H15C15 18.34 13.66 13 12 13M5 13C3.34 13 2 18.34 2 20H8C8 18.34 6.66 13 5 13M14.82 6C14.26 4.44 12.53 3.64 11 4.2C10.14 4.5 9.5 5.17 9.18 6H2V8H4V12H6V8H9.18C9.5 8.85 10.15 9.5 11 9.82V12H13V9.82C13.85 9.5 14.5 8.85 14.82 8H18V12H20V8H22V6H14.82Z\";\r\nexport var mdiVariable = \"M20.41,3C21.8,5.71 22.35,8.84 22,12C21.8,15.16 20.7,18.29 18.83,21L17.3,20C18.91,17.57 19.85,14.8 20,12C20.34,9.2 19.89,6.43 18.7,4L20.41,3M5.17,3L6.7,4C5.09,6.43 4.15,9.2 4,12C3.66,14.8 4.12,17.57 5.3,20L3.61,21C2.21,18.29 1.65,15.17 2,12C2.2,8.84 3.3,5.71 5.17,3M12.08,10.68L14.4,7.45H16.93L13.15,12.45L15.35,17.37H13.09L11.71,14L9.28,17.33H6.76L10.66,12.21L8.53,7.45H10.8L12.08,10.68Z\";\r\nexport var mdiVariableBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M7.4 18C5.9 16.5 5 14.3 5 12S5.9 7.5 7.4 6L9 6.7C7.7 7.9 7 9.9 7 12S7.7 16.1 9 17.3L7.4 18M12.7 15L11.9 13L10.5 15H9L11.3 11.9L10 9H11.3L12.1 11L13.5 9H15L12.8 12L14.1 15H12.7M16.6 18L15 17.3C16.3 16 17 14.1 17 12S16.3 7.9 15 6.7L16.6 6C18.1 7.5 19 9.7 19 12S18.1 16.5 16.6 18Z\";\r\nexport var mdiVectorArrangeAbove = \"M3,1C1.89,1 1,1.89 1,3V14C1,15.11 1.89,16 3,16C6.67,16 10.33,16 14,16C15.11,16 16,15.11 16,14C16,10.33 16,6.67 16,3C16,1.89 15.11,1 14,1H3M3,3H14V14H3V3M18,7V9H20V20H9V18H7V20C7,21.11 7.89,22 9,22H20C21.11,22 22,21.11 22,20V9C22,7.89 21.11,7 20,7H18Z\";\r\nexport var mdiVectorArrangeBelow = \"M20,22C21.11,22 22,21.11 22,20V9C22,7.89 21.11,7 20,7C16.33,7 12.67,7 9,7C7.89,7 7,7.89 7,9C7,12.67 7,16.33 7,20C7,21.11 7.89,22 9,22H20M20,20H9V9H20V20M5,16V14H3V3H14V5H16V3C16,1.89 15.11,1 14,1H3C1.89,1 1,1.89 1,3V14C1,15.11 1.89,16 3,16H5Z\";\r\nexport var mdiVectorBezier = \"M7.5,4A1.5,1.5 0 0,0 6,5.5A1.5,1.5 0 0,0 7.5,7C8.13,7 8.7,6.6 8.91,6H13C13.67,5.33 14.33,5 15,5H8.91C8.7,4.4 8.13,4 7.5,4M19,5C8,5 14,17 5,17V19C16,19 10,7 19,7V5M16.5,17C15.87,17 15.3,17.4 15.09,18H11C10.33,18.67 9.67,19 9,19H15.09C15.3,19.6 15.87,20 16.5,20A1.5,1.5 0 0,0 18,18.5A1.5,1.5 0 0,0 16.5,17Z\";\r\nexport var mdiVectorCircle = \"M9,2V4.06C6.72,4.92 4.92,6.72 4.05,9H2V15H4.06C4.92,17.28 6.72,19.09 9,19.95V22H15V19.94C17.28,19.08 19.09,17.28 19.95,15H22V9H19.94C19.08,6.72 17.28,4.92 15,4.05V2M11,4H13V6H11M9,6.25V8H15V6.25C16.18,6.86 17.14,7.82 17.75,9H16V15H17.75C17.14,16.18 16.18,17.14 15,17.75V16H9V17.75C7.82,17.14 6.86,16.18 6.25,15H8V9H6.25C6.86,7.82 7.82,6.86 9,6.25M4,11H6V13H4M18,11H20V13H18M11,18H13V20H11\";\r\nexport var mdiVectorCircleVariant = \"M22,9H19.97C18.7,5.41 15.31,3 11.5,3A9,9 0 0,0 2.5,12C2.5,17 6.53,21 11.5,21C15.31,21 18.7,18.6 20,15H22M20,11V13H18V11M17.82,15C16.66,17.44 14.2,19 11.5,19C7.64,19 4.5,15.87 4.5,12C4.5,8.14 7.64,5 11.5,5C14.2,5 16.66,6.57 17.81,9H16V15\";\r\nexport var mdiVectorCombine = \"M3,1C1.89,1 1,1.89 1,3V14C1,15.11 1.89,16 3,16C4.33,16 7,16 7,16C7,16 7,18.67 7,20C7,21.11 7.89,22 9,22H20C21.11,22 22,21.11 22,20V9C22,7.89 21.11,7 20,7C18.67,7 16,7 16,7C16,7 16,4.33 16,3C16,1.89 15.11,1 14,1H3M3,3H14C14,4.33 14,7 14,7H9C7.89,7 7,7.89 7,9V14C7,14 4.33,14 3,14V3M9,9H14V14H9V9M16,9C16,9 18.67,9 20,9V20H9C9,18.67 9,16 9,16H14C15.11,16 16,15.11 16,14V9Z\";\r\nexport var mdiVectorCurve = \"M18.5,2A1.5,1.5 0 0,1 20,3.5A1.5,1.5 0 0,1 18.5,5C18.27,5 18.05,4.95 17.85,4.85L14.16,8.55L14.5,9C16.69,7.74 19.26,7 22,7L23,7.03V9.04L22,9C19.42,9 17,9.75 15,11.04A3.96,3.96 0 0,1 11.04,15C9.75,17 9,19.42 9,22L9.04,23H7.03L7,22C7,19.26 7.74,16.69 9,14.5L8.55,14.16L4.85,17.85C4.95,18.05 5,18.27 5,18.5A1.5,1.5 0 0,1 3.5,20A1.5,1.5 0 0,1 2,18.5A1.5,1.5 0 0,1 3.5,17C3.73,17 3.95,17.05 4.15,17.15L7.84,13.45C7.31,12.78 7,11.92 7,11A4,4 0 0,1 11,7C11.92,7 12.78,7.31 13.45,7.84L17.15,4.15C17.05,3.95 17,3.73 17,3.5A1.5,1.5 0 0,1 18.5,2M11,9A2,2 0 0,0 9,11A2,2 0 0,0 11,13A2,2 0 0,0 13,11A2,2 0 0,0 11,9Z\";\r\nexport var mdiVectorDifference = \"M3,1C1.89,1 1,1.89 1,3V14C1,15.11 1.89,16 3,16H5V14H3V3H14V5H16V3C16,1.89 15.11,1 14,1H3M9,7C7.89,7 7,7.89 7,9V11H9V9H11V7H9M13,7V9H14V10H16V7H13M18,7V9H20V20H9V18H7V20C7,21.11 7.89,22 9,22H20C21.11,22 22,21.11 22,20V9C22,7.89 21.11,7 20,7H18M14,12V14H12V16H14C15.11,16 16,15.11 16,14V12H14M7,13V16H10V14H9V13H7Z\";\r\nexport var mdiVectorDifferenceAb = \"M3,1C1.89,1 1,1.89 1,3V5H3V3H5V1H3M7,1V3H10V1H7M12,1V3H14V5H16V3C16,1.89 15.11,1 14,1H12M1,7V10H3V7H1M14,7C14,7 14,11.67 14,14C11.67,14 7,14 7,14C7,14 7,18 7,20C7,21.11 7.89,22 9,22H20C21.11,22 22,21.11 22,20V9C22,7.89 21.11,7 20,7C18,7 14,7 14,7M16,9H20V20H9V16H14C15.11,16 16,15.11 16,14V9M1,12V14C1,15.11 1.89,16 3,16H5V14H3V12H1Z\";\r\nexport var mdiVectorDifferenceBa = \"M20,22C21.11,22 22,21.11 22,20V18H20V20H18V22H20M16,22V20H13V22H16M11,22V20H9V18H7V20C7,21.11 7.89,22 9,22H11M22,16V13H20V16H22M9,16C9,16 9,11.33 9,9C11.33,9 16,9 16,9C16,9 16,5 16,3C16,1.89 15.11,1 14,1H3C1.89,1 1,1.89 1,3V14C1,15.11 1.89,16 3,16C5,16 9,16 9,16M7,14H3V3H14V7H9C7.89,7 7,7.89 7,9V14M22,11V9C22,7.89 21.11,7 20,7H18V9H20V11H22Z\";\r\nexport var mdiVectorEllipse = \"M23,9V15H20.35C19.38,17.12 17.43,18.78 15,19.54V22H9V19.54C5.5,18.45 3,15.5 3,12C3,7.58 7.03,4 12,4C15.78,4 19,6.07 20.35,9H23M17,15V9H18.06C16.85,7.21 14.59,6 12,6C8.13,6 5,8.69 5,12C5,14.39 6.64,16.46 9,17.42V16H15V17.42C16.29,16.9 17.35,16.05 18.06,15H17M19,13H21V11H19V13M11,20H13V18H11V20Z\";\r\nexport var mdiVectorIntersection = \"M3.14,1A2.14,2.14 0 0,0 1,3.14V5H3V3H5V1H3.14M7,1V3H10V1H7M12,1V3H14V5H16V3.14C16,1.96 15.04,1 13.86,1H12M1,7V10H3V7H1M9,7C7.89,7 7,7.89 7,9C7,11.33 7,16 7,16C7,16 11.57,16 13.86,16A2.14,2.14 0 0,0 16,13.86C16,11.57 16,7 16,7C16,7 11.33,7 9,7M18,7V9H20V11H22V9C22,7.89 21.11,7 20,7H18M9,9H14V14H9V9M1,12V13.86C1,15.04 1.96,16 3.14,16H5V14H3V12H1M20,13V16H22V13H20M7,18V20C7,21.11 7.89,22 9,22H11V20H9V18H7M20,18V20H18V22H20C21.11,22 22,21.11 22,20V18H20M13,20V22H16V20H13Z\";\r\nexport var mdiVectorLine = \"M15,3V7.59L7.59,15H3V21H9V16.42L16.42,9H21V3M17,5H19V7H17M5,17H7V19H5\";\r\nexport var mdiVectorLink = \"M3 1C1.89 1 1 1.89 1 3V14C1 15.11 1.89 16 3 16H14C15.11 16 16 15.11 16 14V11H14V14H3V3H14V5H16V3C16 1.89 15.11 1 14 1M9 7C7.89 7 7 7.89 7 9V12H9V9H20V20H9V18H7V20C7 21.11 7.89 22 9 22H20C21.11 22 22 21.11 22 20V9C22 7.89 21.11 7 20 7H9\";\r\nexport var mdiVectorPoint = \"M12,20L7,22L12,11L17,22L12,20M8,2H16V5H22V7H16V10H8V7H2V5H8V2M10,4V8H14V4H10Z\";\r\nexport var mdiVectorPolygon = \"M2,2V8H4.28L5.57,16H4V22H10V20.06L15,20.05V22H21V16H19.17L20,9H22V3H16V6.53L14.8,8H9.59L8,5.82V2M4,4H6V6H4M18,5H20V7H18M6.31,8H7.11L9,10.59V14H15V10.91L16.57,9H18L17.16,16H15V18.06H10V16H7.6M11,10H13V12H11M6,18H8V20H6M17,18H19V20H17\";\r\nexport var mdiVectorPolyline = \"M2 3V9H4.95L6.95 15H6V21H12V16.41L17.41 11H22V5H16V9.57L10.59 15H9.06L7.06 9H8V3M4 5H6V7H4M18 7H20V9H18M8 17H10V19H8Z\";\r\nexport var mdiVectorPolylineEdit = \"M2 3V9H4.95L6.95 15H6V21H12V16.41L17.41 11H22V5H16V9.57L10.59 15H9.06L7.06 9H8V3H2M4 5H6V7H4V5M18 7H20V9H18V7M21.15 13C21 13 20.87 13.05 20.76 13.16L19.75 14.18L21.82 16.25L22.84 15.24C23.05 15.03 23.05 14.67 22.84 14.46L21.54 13.16C21.43 13.05 21.29 13 21.15 13M19.15 14.76L13 20.91V23H15.09L21.23 16.84L19.15 14.76M8 17H10V19H8V17Z\";\r\nexport var mdiVectorPolylineMinus = \"M2 3V9H4.95L6.95 15H6V21H12V16.41L17.41 11H22V5H16V9.57L10.59 15H9.06L7.06 9H8V3H2M4 5H6V7H4V5M18 7H20V9H18V7M8 17H10V19H8V17M15 18V20H23V18H15Z\";\r\nexport var mdiVectorPolylinePlus = \"M2 3V9H4.95L6.95 15H6V21H12V16.41L17.41 11H22V5H16V9.57L10.59 15H9.06L7.06 9H8V3H2M4 5H6V7H4V5M18 7H20V9H18V7M18 15V18H15V20H18V23H20V20H23V18H20V15H18M8 17H10V19H8V17Z\";\r\nexport var mdiVectorPolylineRemove = \"M21.1 15.5L19 17.6L16.9 15.5L15.5 16.9L17.6 19L15.5 21.1L16.9 22.5L19 20.4L21.1 22.5L22.5 21.1L20.4 19L22.5 16.9L21.1 15.5M16 5V9.6L10.6 15H9.1L7.1 9H8V3H2V9H5L7 15H6V21H12V16.4L17.4 11H22V5H16M6 7H4V5H6V7M10 19H8V17H10V19M20 9H18V7H20V9\";\r\nexport var mdiVectorRadius = \"M2,4H4V2H10V4A10,10 0 0,1 20,14H22V20H20V22H18V20H16V14H18A8,8 0 0,0 10,6V8H4V6H2V4M18,16V18H20V16H18M6,4V6H8V4H6Z\";\r\nexport var mdiVectorRectangle = \"M2,4H8V6H16V4H22V10H20V14H22V20H16V18H8V20H2V14H4V10H2V4M16,10V8H8V10H6V14H8V16H16V14H18V10H16M4,6V8H6V6H4M18,6V8H20V6H18M4,16V18H6V16H4M18,16V18H20V16H18Z\";\r\nexport var mdiVectorSelection = \"M3,1H5V3H3V5H1V3A2,2 0 0,1 3,1M14,1A2,2 0 0,1 16,3V5H14V3H12V1H14M20,7A2,2 0 0,1 22,9V11H20V9H18V7H20M22,20A2,2 0 0,1 20,22H18V20H20V18H22V20M20,13H22V16H20V13M13,9V7H16V10H14V9H13M13,22V20H16V22H13M9,22A2,2 0 0,1 7,20V18H9V20H11V22H9M7,16V13H9V14H10V16H7M7,3V1H10V3H7M3,16A2,2 0 0,1 1,14V12H3V14H5V16H3M1,7H3V10H1V7M9,7H11V9H9V11H7V9A2,2 0 0,1 9,7M16,14A2,2 0 0,1 14,16H12V14H14V12H16V14Z\";\r\nexport var mdiVectorSquare = \"M2,2H8V4H16V2H22V8H20V16H22V22H16V20H8V22H2V16H4V8H2V2M16,8V6H8V8H6V16H8V18H16V16H18V8H16M4,4V6H6V4H4M18,4V6H20V4H18M4,18V20H6V18H4M18,18V20H20V18H18Z\";\r\nexport var mdiVectorTriangle = \"M9,3V9H9.73L5.79,16H2V22H8V20H16V22H22V16H18.21L14.27,9H15V3M11,5H13V7H11M12,9.04L16,16.15V18H8V16.15M4,18H6V20H4M18,18H20V20H18\";\r\nexport var mdiVectorUnion = \"M3,1C1.89,1 1,1.89 1,3V14C1,15.11 1.89,16 3,16H7V20C7,21.11 7.89,22 9,22H20C21.11,22 22,21.11 22,20V9C22,7.89 21.11,7 20,7H16V3C16,1.89 15.11,1 14,1H3M3,3H14V9H20V20H9V14H3V3Z\";\r\nexport var mdiVhs = \"M4,6A2,2 0 0,0 2,8V16A2,2 0 0,0 4,18H20A2,2 0 0,0 22,16V8A2,2 0 0,0 20,6H4M4.54,10H7V14H4.54C4.19,13.39 4,12.7 4,12C4,11.3 4.19,10.61 4.54,10M9,10H15V14H9V10M17,10H19.46C19.81,10.61 20,11.3 20,12C20,12.7 19.81,13.39 19.46,14H17V10Z\";\r\nexport var mdiVibrate = \"M16,19H8V5H16M16.5,3H7.5A1.5,1.5 0 0,0 6,4.5V19.5A1.5,1.5 0 0,0 7.5,21H16.5A1.5,1.5 0 0,0 18,19.5V4.5A1.5,1.5 0 0,0 16.5,3M19,17H21V7H19M22,9V15H24V9M3,17H5V7H3M0,15H2V9H0V15Z\";\r\nexport var mdiVibrateOff = \"M8.2,5L6.55,3.35C6.81,3.12 7.15,3 7.5,3H16.5A1.5,1.5 0 0,1 18,4.5V14.8L16,12.8V5H8.2M0,15H2V9H0V15M21,17V7H19V15.8L20.2,17H21M3,17H5V7H3V17M18,17.35L22.11,21.46L20.84,22.73L18,19.85C17.83,20.54 17.21,21 16.5,21H7.5A1.5,1.5 0 0,1 6,19.5V7.89L1.11,3L2.39,1.73L6.09,5.44L8,7.34L16,15.34L18,17.34V17.35M16,17.89L8,9.89V19H16V17.89M22,9V15H24V9H22Z\";\r\nexport var mdiVideo = \"M17,10.5V7A1,1 0 0,0 16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5Z\";\r\nexport var mdiVideo3d = \"M5,7H9A2,2 0 0,1 11,9V15A2,2 0 0,1 9,17H5V15H9V13H6V11H9V9H5V7M13,7H16A3,3 0 0,1 19,10V14A3,3 0 0,1 16,17H13V7M16,15A1,1 0 0,0 17,14V10A1,1 0 0,0 16,9H15V15H16Z\";\r\nexport var mdiVideo3dOff = \"M2.61 2L21.35 20.74L19.94 22.15L14.8 17H13V15.2L11 13.23V15.21C10.93 15.68 10.74 16.08 10.41 16.41C10.08 16.73 9.68 16.93 9.21 17H5V15H9V13H6V11H8.8L6.79 9H5V7.23L1.2 3.41L2.61 2M16 7H16.22C17 7.07 17.63 7.36 18.14 7.88C18.65 8.39 18.93 9 19 9.76V14.24C18.95 14.63 18.87 15 18.72 15.3L17 13.6V9.85C16.95 9.63 16.84 9.44 16.69 9.28C16.53 9.13 16.34 9.03 16.12 9H15V11.59L13 9.57V7H16Z\";\r\nexport var mdiVideo3dVariant = \"M14,10V14A0.5,0.5 0 0,1 13.5,14.5H12.5V9.5H13.5A0.5,0.5 0 0,1 14,10M21,6.5V17.5L17,13.5V17A1,1 0 0,1 16,18H4A1,1 0 0,1 3,17V7A1,1 0 0,1 4,6H16A1,1 0 0,1 17,7V10.5M9.5,9.5A1.5,1.5 0 0,0 8,8H4.5V9.5H8V11.25H5.5V12.75H8V14.5H4.5V16H8A1.5,1.5 0 0,0 9.5,14.5M15.5,9.5A1.5,1.5 0 0,0 14,8H11V16H14A1.5,1.5 0 0,0 15.5,14.5\";\r\nexport var mdiVideo4kBox = \"M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,13.5H11V15H9.5V13.5H6.5V9H8V12H9.5V9H11V12H12V13.5M18,15H16.2L14.4,12.8V15H13V9H14.5V11.2L16.2,9H18L15.8,12L18,15Z\";\r\nexport var mdiVideoAccount = \"M17,10.5L21,6.5V17.5L17,13.5V17A1,1 0 0,1 16,18H4A1,1 0 0,1 3,17V7A1,1 0 0,1 4,6H16A1,1 0 0,1 17,7V10.5M14,16V15C14,13.67 11.33,13 10,13C8.67,13 6,13.67 6,15V16H14M10,8A2,2 0 0,0 8,10A2,2 0 0,0 10,12A2,2 0 0,0 12,10A2,2 0 0,0 10,8Z\";\r\nexport var mdiVideoBox = \"M18,16L14,12.8V16H6V8H14V11.2L18,8M20,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\";\r\nexport var mdiVideoBoxOff = \"M6,8H6.73L14,15.27V16H6M2.27,1L1,2.27L3,4.28C2.41,4.62 2,5.26 2,6V18A2,2 0 0,0 4,20H18.73L20.73,22L22,20.73M20,4H7.82L11.82,8H14V10.18L14.57,10.75L18,8V14.18L22,18.17C22,18.11 22,18.06 22,18V6A2,2 0 0,0 20,4Z\";\r\nexport var mdiVideoCheck = \"M17 10.5V7C17 6.45 16.55 6 16 6H4C3.45 6 3 6.45 3 7V17C3 17.55 3.45 18 4 18H16C16.55 18 17 17.55 17 17V13.5L21 17.5V6.5L17 10.5M8.93 15L6 11.8L7.24 10.56L8.93 12.26L12.76 8.43L14 9.93L8.93 15Z\";\r\nexport var mdiVideoCheckOutline = \"M15 8V16H5V8H15M16 6H4C3.45 6 3 6.45 3 7V17C3 17.55 3.45 18 4 18H16C16.55 18 17 17.55 17 17V13.5L21 17.5V6.5L17 10.5V7C17 6.45 16.55 6 16 6M6.35 12.08L7.5 10.95L9 12.5L12.5 9L13.65 10.37L9 15L6.35 12.08Z\";\r\nexport var mdiVideoHighDefinition = \"M14 10V14C14 14.3 13.8 14.5 13.5 14.5H12.5V9.5H13.5C13.8 9.5 14 9.7 14 10M17 10.5V7C17 6.4 16.6 6 16 6H4C3.4 6 3 6.4 3 7V17C3 17.6 3.4 18 4 18H16C16.6 18 17 17.6 17 17V13.5L21 17.5V6.5L17 10.5M9.5 16H8V12.8H6V16H4.5V8H6V11.2H8V8H9.5V16M15.5 14.5C15.5 15.3 14.8 16 14 16H11V8H14C14.8 8 15.5 8.7 15.5 9.5V14.5Z\";\r\nexport var mdiVideoImage = \"M17,10.5L21,6.5V17.5L17,13.5V17A1,1 0 0,1 16,18H4A1,1 0 0,1 3,17V7A1,1 0 0,1 4,6H16A1,1 0 0,1 17,7V10.5M10.91,9.55L9.2,11.82L10.5,13.55L9.77,14.09L7.73,11.36L5,15H15L10.91,9.55Z\";\r\nexport var mdiVideoInputAntenna = \"M12,5A7,7 0 0,0 5,12H7A5,5 0 0,1 12,7A5,5 0 0,1 17,12H19A7,7 0 0,0 12,5M13,14.29C13.88,13.9 14.5,13.03 14.5,12A2.5,2.5 0 0,0 12,9.5A2.5,2.5 0 0,0 9.5,12C9.5,13 10.12,13.9 11,14.29V17.59L7.59,21L9,22.41L12,19.41L15,22.41L16.41,21L13,17.59V14.29M12,1A11,11 0 0,0 1,12H3A9,9 0 0,1 12,3A9,9 0 0,1 21,12H23A11,11 0 0,0 12,1Z\";\r\nexport var mdiVideoInputComponent = \"M5,2A1,1 0 0,0 4,1A1,1 0 0,0 3,2V6H1V12H7V6H5V2M9,16C9,17.3 9.84,18.4 11,18.82V23H13V18.82C14.16,18.41 15,17.31 15,16V14H9V16M1,16C1,17.3 1.84,18.4 3,18.82V23H5V18.82C6.16,18.4 7,17.3 7,16V14H1V16M21,6V2A1,1 0 0,0 20,1A1,1 0 0,0 19,2V6H17V12H23V6H21M13,2A1,1 0 0,0 12,1A1,1 0 0,0 11,2V6H9V12H15V6H13V2M17,16C17,17.3 17.84,18.4 19,18.82V23H21V18.82C22.16,18.41 23,17.31 23,16V14H17V16Z\";\r\nexport var mdiVideoInputHdmi = \"M18,7V4A2,2 0 0,0 16,2H8A2,2 0 0,0 6,4V7H5V13L8,19V22H16V19L19,13V7H18M8,4H16V7H14V5H13V7H11V5H10V7H8V4Z\";\r\nexport var mdiVideoInputScart = \"M20.6 2.2L17.3 2.4L13.8 4.4L13.3 3.5L2 10V17H3V19C3 20.1 3.9 21 5 21H15C16.1 21 17 20.1 17 19V17H18V10H17L16.8 9.6L20.3 7.6L22.1 4.8L20.6 2.2M15 17V19H5V17H15Z\";\r\nexport var mdiVideoInputSvideo = \"M8,11.5A1.5,1.5 0 0,0 6.5,10A1.5,1.5 0 0,0 5,11.5A1.5,1.5 0 0,0 6.5,13A1.5,1.5 0 0,0 8,11.5M15,6.5A1.5,1.5 0 0,0 13.5,5H10.5A1.5,1.5 0 0,0 9,6.5A1.5,1.5 0 0,0 10.5,8H13.5A1.5,1.5 0 0,0 15,6.5M8.5,15A1.5,1.5 0 0,0 7,16.5A1.5,1.5 0 0,0 8.5,18A1.5,1.5 0 0,0 10,16.5A1.5,1.5 0 0,0 8.5,15M12,1A11,11 0 0,0 1,12A11,11 0 0,0 12,23A11,11 0 0,0 23,12A11,11 0 0,0 12,1M12,21C7.04,21 3,16.96 3,12C3,7.04 7.04,3 12,3C16.96,3 21,7.04 21,12C21,16.96 16.96,21 12,21M17.5,10A1.5,1.5 0 0,0 16,11.5A1.5,1.5 0 0,0 17.5,13A1.5,1.5 0 0,0 19,11.5A1.5,1.5 0 0,0 17.5,10M15.5,15A1.5,1.5 0 0,0 14,16.5A1.5,1.5 0 0,0 15.5,18A1.5,1.5 0 0,0 17,16.5A1.5,1.5 0 0,0 15.5,15Z\";\r\nexport var mdiVideoMinus = \"M17,10.5V7A1,1 0 0,0 16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5M14,13H6V11H14V13Z\";\r\nexport var mdiVideoMinusOutline = \"M15 8V16H5V8H15M16 6H4C3.45 6 3 6.45 3 7V17C3 17.55 3.45 18 4 18H16C16.55 18 17 17.55 17 17V13.5L21 17.5V6.5L17 10.5V7C17 6.45 16.55 6 16 6M13 13H7V11H13V13Z\";\r\nexport var mdiVideoOff = \"M3.27,2L2,3.27L4.73,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16C16.2,18 16.39,17.92 16.54,17.82L19.73,21L21,19.73M21,6.5L17,10.5V7A1,1 0 0,0 16,6H9.82L21,17.18V6.5Z\";\r\nexport var mdiVideoOffOutline = \"M3.41,1.86L2,3.27L4.73,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16C16.21,18 16.39,17.92 16.55,17.82L19.73,21L21.14,19.59L12.28,10.73L3.41,1.86M5,16V8H6.73L14.73,16H5M15,8V10.61L21,16.61V6.5L17,10.5V7A1,1 0 0,0 16,6H10.39L12.39,8H15Z\";\r\nexport var mdiVideoOutline = \"M15,8V16H5V8H15M16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5V7A1,1 0 0,0 16,6Z\";\r\nexport var mdiVideoPlus = \"M17,10.5V7A1,1 0 0,0 16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5M14,13H11V16H9V13H6V11H9V8H11V11H14V13Z\";\r\nexport var mdiVideoPlusOutline = \"M15 8V16H5V8H15M16 6H4C3.45 6 3 6.45 3 7V17C3 17.55 3.45 18 4 18H16C16.55 18 17 17.55 17 17V13.5L21 17.5V6.5L17 10.5V7C17 6.45 16.55 6 16 6M13 13H11V15H9V13H7V11H9V9H11V11H13V13Z\";\r\nexport var mdiVideoStabilization = \"M4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4M4,6V18H20V6H4M7.24,6.58L18.83,9.69L16.76,17.42L5.17,14.31L7.24,6.58Z\";\r\nexport var mdiVideoSwitch = \"M13,15.5V13H7V15.5L3.5,12L7,8.5V11H13V8.5L16.5,12M18,9.5V6A1,1 0 0,0 17,5H3A1,1 0 0,0 2,6V18A1,1 0 0,0 3,19H17A1,1 0 0,0 18,18V14.5L22,18.5V5.5L18,9.5Z\";\r\nexport var mdiVideoSwitchOutline = \"M8 13H12V15L15 12L12 9V11H8V9L5 12L8 15V13M18 9.5V6C18 5.4 17.5 5 17 5H3C2.5 5 2 5.4 2 6V18C2 18.5 2.5 19 3 19H17C17.5 19 18 18.5 18 18V14.5L22 18.5V5.5L18 9.5M16 17H4V7H16V17Z\";\r\nexport var mdiVideoVintage = \"M18,14.5V11A1,1 0 0,0 17,10H16C18.24,8.39 18.76,5.27 17.15,3C15.54,0.78 12.42,0.26 10.17,1.87C9.5,2.35 8.96,3 8.6,3.73C6.25,2.28 3.17,3 1.72,5.37C0.28,7.72 1,10.8 3.36,12.25C3.57,12.37 3.78,12.5 4,12.58V21A1,1 0 0,0 5,22H17A1,1 0 0,0 18,21V17.5L22,21.5V10.5L18,14.5M13,4A2,2 0 0,1 15,6A2,2 0 0,1 13,8A2,2 0 0,1 11,6A2,2 0 0,1 13,4M6,6A2,2 0 0,1 8,8A2,2 0 0,1 6,10A2,2 0 0,1 4,8A2,2 0 0,1 6,6Z\";\r\nexport var mdiVideoWireless = \"M17,14.5V11A1,1 0 0,0 16,10H4A1,1 0 0,0 3,11V21A1,1 0 0,0 4,22H16A1,1 0 0,0 17,21V17.5L21,21.5V10.5M3,3.86L4.4,5.24C7.5,2.19 12.5,2.19 15.6,5.24L17,3.86C13.14,0.05 6.87,0.05 3,3.86M5.8,6.62L7.2,8C8.75,6.5 11.25,6.5 12.8,8L14.2,6.62C11.88,4.34 8.12,4.34 5.8,6.62Z\";\r\nexport var mdiVideoWirelessOutline = \"M15,12V20H5V12H15M16,10H4A1,1 0 0,0 3,11V21A1,1 0 0,0 4,22H16A1,1 0 0,0 17,21V17.5L21,21.5V10.5L17,14.5V11A1,1 0 0,0 16,10M3,3.86L4.4,5.24C7.5,2.19 12.5,2.19 15.6,5.24L17,3.86C13.14,0.05 6.87,0.05 3,3.86M5.8,6.63L7.2,8C8.75,6.5 11.25,6.5 12.8,8L14.2,6.63C11.88,4.34 8.12,4.34 5.8,6.63Z\";\r\nexport var mdiViewAgenda = \"M21 3H3C2.4 3 2 3.4 2 4V10C2 10.6 2.4 11 3 11H21C21.6 11 22 10.6 22 10V4C22 3.4 21.6 3 21 3M21 13H3C2.4 13 2 13.4 2 14V20C2 20.6 2.4 21 3 21H21C21.6 21 22 20.6 22 20V14C22 13.4 21.6 13 21 13Z\";\r\nexport var mdiViewAgendaOutline = \"M21 13H3A1 1 0 0 0 2 14V20A1 1 0 0 0 3 21H21A1 1 0 0 0 22 20V14A1 1 0 0 0 21 13M20 19H4V15H20M21 3H3A1 1 0 0 0 2 4V10A1 1 0 0 0 3 11H21A1 1 0 0 0 22 10V4A1 1 0 0 0 21 3M20 9H4V5H20Z\";\r\nexport var mdiViewArray = \"M8,18H17V5H8M18,5V18H21V5M4,18H7V5H4V18Z\";\r\nexport var mdiViewArrayOutline = \"M15 7V16H10V7H15M21 5H18V18H21V5M17 5H8V18H17V5M7 5H4V18H7V5Z\";\r\nexport var mdiViewCarousel = \"M18,6V17H22V6M2,17H6V6H2M7,19H17V4H7V19Z\";\r\nexport var mdiViewCarouselOutline = \"M2 6H6V17H2V6M7 19H17V4H7V19M9 6H15V17H9V6M18 6H22V17H18V6Z\";\r\nexport var mdiViewColumn = \"M16,5V18H21V5M4,18H9V5H4M10,18H15V5H10V18Z\";\r\nexport var mdiViewColumnOutline = \"M4 5V18H21V5H4M14 7V16H11V7H14M6 7H9V16H6V7M19 16H16V7H19V16Z\";\r\nexport var mdiViewComfy = \"M3,9H7V5H3V9M3,14H7V10H3V14M8,14H12V10H8V14M13,14H17V10H13V14M8,9H12V5H8V9M13,5V9H17V5H13M18,14H22V10H18V14M3,19H7V15H3V19M8,19H12V15H8V19M13,19H17V15H13V19M18,19H22V15H18V19M18,5V9H22V5H18Z\";\r\nexport var mdiViewComfyOutline = \"M3 5V19H22V5H3M20 9H17.75V7H20V9M9.25 11H11.5V13H9.25V11M7.25 13H5V11H7.25V13M11.5 9H9.25V7H11.5V9M13.5 7H15.75V9H13.5V7M11.5 15V17H9.25V15H11.5M13.5 15H15.75V17H13.5V15M13.5 13V11H15.75V13H13.5M17.75 11H20V13H17.75V11M7.25 7V9H5V7H7.25M5 15H7.25V17H5V15M17.75 17V15H20V17H17.75Z\";\r\nexport var mdiViewCompact = \"M3,19H9V12H3V19M10,19H22V12H10V19M3,5V11H22V5H3Z\";\r\nexport var mdiViewCompactOutline = \"M3,5V19H22V5H3M5,7H20V11H5V7M5,17V13H9V17H5M11,17V13H20V17H11Z\";\r\nexport var mdiViewDashboard = \"M13,3V9H21V3M13,21H21V11H13M3,21H11V15H3M3,13H11V3H3V13Z\";\r\nexport var mdiViewDashboardOutline = \"M19,5V7H15V5H19M9,5V11H5V5H9M19,13V19H15V13H19M9,17V19H5V17H9M21,3H13V9H21V3M11,3H3V13H11V3M21,11H13V21H21V11M11,15H3V21H11V15Z\";\r\nexport var mdiViewDashboardVariant = \"M2,5V19H8V5H2M9,5V10H15V5H9M16,5V14H22V5H16M9,11V19H15V11H9M16,15V19H22V15H16Z\";\r\nexport var mdiViewDashboardVariantOutline = \"M2 5V19H22V5H2M20 12H16V7H20V12M14 10H10V7H14V10M10 12H14V17H10V12M4 7H8V17H4V7M16 17V14H20V17H16Z\";\r\nexport var mdiViewDay = \"M2,3V6H21V3M20,8H3A1,1 0 0,0 2,9V15A1,1 0 0,0 3,16H20A1,1 0 0,0 21,15V9A1,1 0 0,0 20,8M2,21H21V18H2V21Z\";\r\nexport var mdiViewDayOutline = \"M21 18H2V20H21V18M19 10V14H4V10H19M20 8H3C2.45 8 2 8.45 2 9V15C2 15.55 2.45 16 3 16H20C20.55 16 21 15.55 21 15V9C21 8.45 20.55 8 20 8M21 4H2V6H21V4Z\";\r\nexport var mdiViewGrid = \"M3,11H11V3H3M3,21H11V13H3M13,21H21V13H13M13,3V11H21V3\";\r\nexport var mdiViewGridOutline = \"M3 11H11V3H3M5 5H9V9H5M13 21H21V13H13M15 15H19V19H15M3 21H11V13H3M5 15H9V19H5M13 3V11H21V3M19 9H15V5H19Z\";\r\nexport var mdiViewGridPlus = \"M13 3V11H21V3H13M3 21H11V13H3V21M3 3V11H11V3H3M13 16H16V13H18V16H21V18H18V21H16V18H13V16Z\";\r\nexport var mdiViewGridPlusOutline = \"M3 21H11V13H3M5 15H9V19H5M3 11H11V3H3M5 5H9V9H5M13 3V11H21V3M19 9H15V5H19M18 16H21V18H18V21H16V18H13V16H16V13H18Z\";\r\nexport var mdiViewHeadline = \"M4,5V7H21V5M4,11H21V9H4M4,19H21V17H4M4,15H21V13H4V15Z\";\r\nexport var mdiViewList = \"M9,5V9H21V5M9,19H21V15H9M9,14H21V10H9M4,9H8V5H4M4,19H8V15H4M4,14H8V10H4V14Z\";\r\nexport var mdiViewListOutline = \"M3 5V19H20V5H3M7 7V9H5V7H7M5 13V11H7V13H5M5 15H7V17H5V15M18 17H9V15H18V17M18 13H9V11H18V13M18 9H9V7H18V9Z\";\r\nexport var mdiViewModule = \"M16,5V11H21V5M10,11H15V5H10M16,18H21V12H16M10,18H15V12H10M4,18H9V12H4M4,11H9V5H4V11Z\";\r\nexport var mdiViewModuleOutline = \"M4 5V18H21V5H4M14 7V10.5H11V7H14M6 7H9V10.5H6V7M6 16V12.5H9V16H6M11 16V12.5H14V16H11M19 16H16V12.5H19V16M16 10.5V7H19V10.5H16Z\";\r\nexport var mdiViewParallel = \"M19 3V21H15V3H19M14 3V21H10V3H14M9 3V21H5V3H9Z\";\r\nexport var mdiViewParallelOutline = \"M19 3H5V21H19V3M17 19H15V5H17V19M13 19H11V5H13V19M7 5H9V19H7V5Z\";\r\nexport var mdiViewQuilt = \"M10,5V11H21V5M16,18H21V12H16M4,18H9V5H4M10,18H15V12H10V18Z\";\r\nexport var mdiViewQuiltOutline = \"M4 5V18H21V5H4M6 16V7H9V16H6M11 16V12.5H14V16H11M19 16H16V12.5H19V16M11 10.5V7H19V10.5H11Z\";\r\nexport var mdiViewSequential = \"M3 5H21V9H3V5M3 10H21V14H3V10M3 15H21V19H3V15Z\";\r\nexport var mdiViewSequentialOutline = \"M3 5V19H21V5H3M19 7V9H5V7H19M19 11V13H5V11H19M5 17V15H19V17H5Z\";\r\nexport var mdiViewSplitHorizontal = \"M3,5H21V7H3V5M3,11V9H21V11H3M3,19V13H21V19H3Z\";\r\nexport var mdiViewSplitVertical = \"M13,5H21V19H13V5M3,5H11V7H3V5M3,11V9H11V11H3M3,19V17H11V19H3M3,15V13H11V15H3Z\";\r\nexport var mdiViewStream = \"M4,5V11H21V5M4,18H21V12H4V18Z\";\r\nexport var mdiViewStreamOutline = \"M4 6V18H21V6H4M19 16H6V13H19V16M6 11V8H19V11H6Z\";\r\nexport var mdiViewWeek = \"M13,5H10A1,1 0 0,0 9,6V18A1,1 0 0,0 10,19H13A1,1 0 0,0 14,18V6A1,1 0 0,0 13,5M20,5H17A1,1 0 0,0 16,6V18A1,1 0 0,0 17,19H20A1,1 0 0,0 21,18V6A1,1 0 0,0 20,5M6,5H3A1,1 0 0,0 2,6V18A1,1 0 0,0 3,19H6A1,1 0 0,0 7,18V6A1,1 0 0,0 6,5Z\";\r\nexport var mdiViewWeekOutline = \"M21 4H3C2.45 4 2 4.45 2 5V19C2 19.55 2.45 20 3 20H21C21.55 20 22 19.55 22 19V5C22 4.45 21.55 4 21 4M8 18H4V6H8V18M14 18H10V6H14V18M20 18H16V6H20V18Z\";\r\nexport var mdiVimeo = \"M22,7.42C21.91,9.37 20.55,12.04 17.92,15.44C15.2,19 12.9,20.75 11,20.75C9.85,20.75 8.86,19.67 8.05,17.5C7.5,15.54 7,13.56 6.44,11.58C5.84,9.42 5.2,8.34 4.5,8.34C4.36,8.34 3.84,8.66 2.94,9.29L2,8.07C3,7.2 3.96,6.33 4.92,5.46C6.24,4.32 7.23,3.72 7.88,3.66C9.44,3.5 10.4,4.58 10.76,6.86C11.15,9.33 11.42,10.86 11.57,11.46C12,13.5 12.5,14.5 13.05,14.5C13.47,14.5 14.1,13.86 14.94,12.53C15.78,11.21 16.23,10.2 16.29,9.5C16.41,8.36 15.96,7.79 14.94,7.79C14.46,7.79 13.97,7.9 13.46,8.12C14.44,4.89 16.32,3.32 19.09,3.41C21.15,3.47 22.12,4.81 22,7.42Z\";\r\nexport var mdiViolin = \"M11,2A1,1 0 0,0 10,3V5L10,9A0.5,0.5 0 0,0 10.5,9.5H12A0.5,0.5 0 0,1 12.5,10A0.5,0.5 0 0,1 12,10.5H10.5C9.73,10.5 9,9.77 9,9V5.16C7.27,5.6 6,7.13 6,9V10.5A2.5,2.5 0 0,1 8.5,13A2.5,2.5 0 0,1 6,15.5V17C6,19.77 8.23,22 11,22H13C15.77,22 18,19.77 18,17V15.5A2.5,2.5 0 0,1 15.5,13A2.5,2.5 0 0,1 18,10.5V9C18,6.78 16.22,5 14,5V3A1,1 0 0,0 13,2H11M10.75,16.5H13.25L12.75,20H11.25L10.75,16.5Z\";\r\nexport var mdiVirtualReality = \"M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5M6,9H7.5L8.5,12.43L9.5,9H11L9.25,15H7.75L6,9M13,9H16.5C17.35,9 18,9.65 18,10.5V11.5C18,12.1 17.6,12.65 17.1,12.9L18,15H16.5L15.65,13H14.5V15H13V9M14.5,10.5V11.5H16.5V10.5H14.5Z\";\r\nexport var mdiVirus = \"M19.82 14C20.13 14.45 20.66 14.75 21.25 14.75C22.22 14.75 23 13.97 23 13S22.22 11.25 21.25 11.25C20.66 11.25 20.13 11.55 19.82 12H19C19 10.43 18.5 9 17.6 7.81L18.94 6.47C19.5 6.57 20.07 6.41 20.5 6C21.17 5.31 21.17 4.2 20.5 3.5C19.81 2.83 18.7 2.83 18 3.5C17.59 3.93 17.43 4.5 17.53 5.06L16.19 6.4C15.27 5.71 14.19 5.25 13 5.08V3.68C13.45 3.37 13.75 2.84 13.75 2.25C13.75 1.28 12.97 .5 12 .5S10.25 1.28 10.25 2.25C10.25 2.84 10.55 3.37 11 3.68V5.08C10.1 5.21 9.26 5.5 8.5 5.94L7.39 4.35C7.58 3.83 7.53 3.23 7.19 2.75C6.63 1.96 5.54 1.76 4.75 2.32C3.96 2.87 3.76 3.96 4.32 4.75C4.66 5.24 5.2 5.5 5.75 5.5L6.93 7.18C6.5 7.61 6.16 8.09 5.87 8.62C5.25 8.38 4.5 8.5 4 9C3.33 9.7 3.33 10.8 4 11.5C4.29 11.77 4.64 11.93 5 12L5 12C5 12.54 5.07 13.06 5.18 13.56L3.87 13.91C3.45 13.56 2.87 13.41 2.29 13.56C1.36 13.81 .808 14.77 1.06 15.71C1.31 16.64 2.28 17.19 3.21 16.94C3.78 16.78 4.21 16.36 4.39 15.84L5.9 15.43C6.35 16.22 6.95 16.92 7.65 17.5L6.55 19.5C6 19.58 5.5 19.89 5.21 20.42C4.75 21.27 5.07 22.33 5.92 22.79C6.77 23.25 7.83 22.93 8.29 22.08C8.57 21.56 8.56 20.96 8.31 20.47L9.38 18.5C10.19 18.82 11.07 19 12 19C12.06 19 12.12 19 12.18 19C12.05 19.26 12 19.56 12 19.88C12.08 20.85 12.92 21.57 13.88 21.5S15.57 20.58 15.5 19.62C15.46 19.12 15.21 18.68 14.85 18.39C15.32 18.18 15.77 17.91 16.19 17.6L18.53 19.94C18.43 20.5 18.59 21.07 19 21.5C19.7 22.17 20.8 22.17 21.5 21.5S22.17 19.7 21.5 19C21.07 18.59 20.5 18.43 19.94 18.53L17.6 16.19C18.09 15.54 18.47 14.8 18.71 14H19.82M10.5 12C9.67 12 9 11.33 9 10.5S9.67 9 10.5 9 12 9.67 12 10.5 11.33 12 10.5 12M14 15C13.45 15 13 14.55 13 14C13 13.45 13.45 13 14 13S15 13.45 15 14C15 14.55 14.55 15 14 15Z\";\r\nexport var mdiVirusOutline = \"M12 .5C11.03 .5 10.25 1.28 10.25 2.25C10.25 2.84 10.55 3.37 11 3.68V5.08C10.1 5.21 9.26 5.5 8.5 5.94L7.39 4.35C7.58 3.83 7.53 3.23 7.19 2.75C6.84 2.26 6.3 2 5.75 2C5.4 2 5.05 2.1 4.75 2.32C3.96 2.87 3.76 3.96 4.32 4.75C4.66 5.24 5.2 5.5 5.75 5.5L6.93 7.18C6.5 7.61 6.16 8.09 5.87 8.62C5.67 8.54 5.46 8.5 5.25 8.5C4.8 8.5 4.35 8.67 4 9C3.33 9.7 3.33 10.8 4 11.5C4.29 11.77 4.64 11.92 5 12L5 12C5 12.54 5.07 13.06 5.18 13.56L3.87 13.91C3.56 13.65 3.16 13.5 2.75 13.5C2.6 13.5 2.44 13.5 2.29 13.56C1.36 13.81 .809 14.77 1.06 15.71C1.27 16.5 2 17 2.75 17C2.9 17 3.05 17 3.21 16.94C3.78 16.78 4.21 16.36 4.39 15.84L5.9 15.43C6.35 16.22 6.95 16.92 7.65 17.5L6.55 19.5C6 19.58 5.5 19.89 5.21 20.42C4.75 21.27 5.07 22.33 5.92 22.79C6.18 22.93 6.47 23 6.75 23C7.37 23 7.97 22.67 8.29 22.08C8.57 21.56 8.56 20.96 8.31 20.47L9.38 18.5C10.19 18.82 11.07 19 12 19C12.06 19 12.12 19 12.18 19C12.05 19.26 12 19.56 12 19.88C12.08 20.8 12.84 21.5 13.75 21.5C13.79 21.5 13.84 21.5 13.88 21.5C14.85 21.42 15.57 20.58 15.5 19.62C15.46 19.12 15.21 18.68 14.85 18.39C15.32 18.18 15.77 17.91 16.19 17.6L18.53 19.94C18.43 20.5 18.59 21.07 19 21.5C19.35 21.83 19.8 22 20.25 22S21.15 21.83 21.5 21.5C22.17 20.8 22.17 19.7 21.5 19C21.15 18.67 20.7 18.5 20.25 18.5C20.15 18.5 20.05 18.5 19.94 18.53L17.6 16.19C18.09 15.54 18.47 14.8 18.71 14H19.82C20.13 14.45 20.66 14.75 21.25 14.75C22.22 14.75 23 13.97 23 13S22.22 11.25 21.25 11.25C20.66 11.25 20.13 11.55 19.82 12H19C19 10.43 18.5 9 17.6 7.81L18.94 6.47C19.05 6.5 19.15 6.5 19.25 6.5C19.7 6.5 20.15 6.33 20.5 6C21.17 5.31 21.17 4.2 20.5 3.5C20.15 3.17 19.7 3 19.25 3S18.35 3.17 18 3.5C17.59 3.93 17.43 4.5 17.53 5.06L16.19 6.4C15.27 5.71 14.19 5.25 13 5.08V3.68C13.45 3.37 13.75 2.84 13.75 2.25C13.75 1.28 12.97 .5 12 .5M12 17C9.24 17 7 14.76 7 12S9.24 7 12 7 17 9.24 17 12 14.76 17 12 17M10.5 9C9.67 9 9 9.67 9 10.5S9.67 12 10.5 12 12 11.33 12 10.5 11.33 9 10.5 9M14 13C13.45 13 13 13.45 13 14C13 14.55 13.45 15 14 15C14.55 15 15 14.55 15 14C15 13.45 14.55 13 14 13Z\";\r\nexport var mdiVlc = \"M12,1C11.58,1 11.19,1.23 11,1.75L9.88,4.88C10.36,5.4 11.28,5.5 12,5.5C12.72,5.5 13.64,5.4 14.13,4.88L13,1.75C12.82,1.25 12.42,1 12,1M8.44,8.91L7,12.91C8.07,14.27 10.26,14.5 12,14.5C13.74,14.5 15.93,14.27 17,12.91L15.56,8.91C14.76,9.83 13.24,10 12,10C10.76,10 9.24,9.83 8.44,8.91M5.44,15C4.62,15 3.76,15.65 3.53,16.44L2.06,21.56C1.84,22.35 2.3,23 3.13,23H20.88C21.7,23 22.16,22.35 21.94,21.56L20.47,16.44C20.24,15.65 19.38,15 18.56,15H17.75L18.09,15.97C18.21,16.29 18.29,16.69 18.09,16.97C16.84,18.7 14.14,19 12,19C9.86,19 7.16,18.7 5.91,16.97C5.71,16.69 5.79,16.29 5.91,15.97L6.25,15H5.44Z\";\r\nexport var mdiVoicemail = \"M18.5,15A3.5,3.5 0 0,1 15,11.5A3.5,3.5 0 0,1 18.5,8A3.5,3.5 0 0,1 22,11.5A3.5,3.5 0 0,1 18.5,15M5.5,15A3.5,3.5 0 0,1 2,11.5A3.5,3.5 0 0,1 5.5,8A3.5,3.5 0 0,1 9,11.5A3.5,3.5 0 0,1 5.5,15M18.5,6A5.5,5.5 0 0,0 13,11.5C13,12.83 13.47,14.05 14.26,15H9.74C10.53,14.05 11,12.83 11,11.5A5.5,5.5 0 0,0 5.5,6A5.5,5.5 0 0,0 0,11.5A5.5,5.5 0 0,0 5.5,17H18.5A5.5,5.5 0 0,0 24,11.5A5.5,5.5 0 0,0 18.5,6Z\";\r\nexport var mdiVolleyball = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M13.6,20.35C15.96,18.04 17.69,15.08 18.5,11.76C17.84,11.62 17.18,11.54 16.5,11.5C15.56,15.11 13.41,18.22 10.5,20.37C11,20.45 11.5,20.5 12,20.5C12.55,20.5 13.08,20.45 13.6,20.35M9.23,20.04C12.23,18.07 14.5,15.05 15.46,11.5C14.71,11.55 13.97,11.65 13.27,11.81C12.18,14.89 9.97,17.44 7.13,18.97C7.77,19.42 8.5,19.78 9.23,20.04M20.5,12.37C20.16,12.23 19.81,12.11 19.46,12C18.76,14.9 17.39,17.53 15.54,19.73C18.36,18.44 20.35,15.64 20.5,12.37M3.56,11.04C3.5,11.35 3.5,11.68 3.5,12C3.5,14.5 4.57,16.73 6.27,18.28C6.86,18 7.41,17.66 7.94,17.29C6.08,15.54 4.58,13.41 3.56,11.04M5.33,6.74C4.73,7.5 4.26,8.35 3.95,9.28C4.92,12.13 6.58,14.66 8.74,16.67C9.25,16.24 9.72,15.77 10.15,15.26C7.74,13.03 6,10.08 5.33,6.74M8.04,4.5C7.36,4.85 6.73,5.3 6.18,5.82C6.71,9.21 8.37,12.23 10.77,14.47C11.17,13.91 11.5,13.32 11.82,12.7C9.68,10.56 8.28,7.69 8.04,4.5M19.96,9.03C18.7,8.68 17.37,8.5 16,8.5C14.1,8.5 12.28,8.85 10.61,9.5C10.96,10.1 11.35,10.67 11.8,11.2C13.12,10.75 14.53,10.5 16,10.5C17.57,10.5 19.08,10.78 20.47,11.29C20.4,10.5 20.23,9.74 19.96,9.03M17.54,5.57C17.03,5.5 16.5,5.5 16,5.5C13.69,5.5 11.47,5.94 9.44,6.73C9.62,7.38 9.86,8 10.14,8.61C11.96,7.89 13.93,7.5 16,7.5C17.18,7.5 18.32,7.63 19.42,7.87C18.93,7 18.29,6.21 17.54,5.57M16,4.5C14.79,3.87 13.44,3.5 12,3.5C10.95,3.5 9.94,3.7 9,4.05C9.04,4.63 9.11,5.2 9.21,5.75C11.31,4.95 13.6,4.5 16,4.5Z\";\r\nexport var mdiVolumeHigh = \"M14,3.23V5.29C16.89,6.15 19,8.83 19,12C19,15.17 16.89,17.84 14,18.7V20.77C18,19.86 21,16.28 21,12C21,7.72 18,4.14 14,3.23M16.5,12C16.5,10.23 15.5,8.71 14,7.97V16C15.5,15.29 16.5,13.76 16.5,12M3,9V15H7L12,20V4L7,9H3Z\";\r\nexport var mdiVolumeLow = \"M7,9V15H11L16,20V4L11,9H7Z\";\r\nexport var mdiVolumeMedium = \"M5,9V15H9L14,20V4L9,9M18.5,12C18.5,10.23 17.5,8.71 16,7.97V16C17.5,15.29 18.5,13.76 18.5,12Z\";\r\nexport var mdiVolumeMinus = \"M3,9H7L12,4V20L7,15H3V9M14,11H22V13H14V11Z\";\r\nexport var mdiVolumeMute = \"M3,9H7L12,4V20L7,15H3V9M16.59,12L14,9.41L15.41,8L18,10.59L20.59,8L22,9.41L19.41,12L22,14.59L20.59,16L18,13.41L15.41,16L14,14.59L16.59,12Z\";\r\nexport var mdiVolumeOff = \"M12,4L9.91,6.09L12,8.18M4.27,3L3,4.27L7.73,9H3V15H7L12,20V13.27L16.25,17.53C15.58,18.04 14.83,18.46 14,18.7V20.77C15.38,20.45 16.63,19.82 17.68,18.96L19.73,21L21,19.73L12,10.73M19,12C19,12.94 18.8,13.82 18.46,14.64L19.97,16.15C20.62,14.91 21,13.5 21,12C21,7.72 18,4.14 14,3.23V5.29C16.89,6.15 19,8.83 19,12M16.5,12C16.5,10.23 15.5,8.71 14,7.97V10.18L16.45,12.63C16.5,12.43 16.5,12.21 16.5,12Z\";\r\nexport var mdiVolumePlus = \"M3,9H7L12,4V20L7,15H3V9M14,11H17V8H19V11H22V13H19V16H17V13H14V11Z\";\r\nexport var mdiVolumeSource = \"M3 9V15H7L12 20V4L7 9H3M16 15H14V9H16V15M20 19H18V5H20V19Z\";\r\nexport var mdiVolumeVariantOff = \"M5.64,3.64L21.36,19.36L19.95,20.78L16,16.83V20L11,15H7V9H8.17L4.22,5.05L5.64,3.64M16,4V11.17L12.41,7.58L16,4Z\";\r\nexport var mdiVolumeVibrate = \"M4 9V15H8L13 20V4L8 9H4M16.55 2.47L15.5 3.53L17.93 6L15 9L17.93 12L15 15L17.93 18L15.5 20.47L16.55 21.53L20 18L17.07 15L20 12L17.07 9L20 6L16.55 2.47Z\";\r\nexport var mdiVote = \"M18,13H17.32L15.32,15H17.23L19,17H5L6.78,15H8.83L6.83,13H6L3,16V20A2,2 0 0,0 5,22H19A2,2 0 0,0 21,20V16L18,13M17,7.95L12.05,12.9L8.5,9.36L13.46,4.41L17,7.95M12.76,2.29L6.39,8.66C6,9.05 6,9.68 6.39,10.07L11.34,15C11.73,15.41 12.36,15.41 12.75,15L19.11,8.66C19.5,8.27 19.5,7.64 19.11,7.25L14.16,2.3C13.78,1.9 13.15,1.9 12.76,2.29Z\";\r\nexport var mdiVoteOutline = \"M18,13L21,16V20C21,21.11 20.1,22 19,22H5C3.89,22 3,21.1 3,20V16L6,13H6.83L8.83,15H6.78L5,17H19L17.23,15H15.32L17.32,13H18M19,20V19H5V20H19M11.34,15L6.39,10.07C6,9.68 6,9.05 6.39,8.66L12.76,2.29C13.15,1.9 13.78,1.9 14.16,2.3L19.11,7.25C19.5,7.64 19.5,8.27 19.11,8.66L12.75,15C12.36,15.41 11.73,15.41 11.34,15M13.46,4.41L8.5,9.36L12.05,12.9L17,7.95L13.46,4.41Z\";\r\nexport var mdiVpn = \"M9,5H15L12,8L9,5M10.5,14.66C10.2,15 10,15.5 10,16A2,2 0 0,0 12,18A2,2 0 0,0 14,16C14,15.45 13.78,14.95 13.41,14.59L14.83,13.17C15.55,13.9 16,14.9 16,16A4,4 0 0,1 12,20A4,4 0 0,1 8,16C8,14.93 8.42,13.96 9.1,13.25L9.09,13.24L16.17,6.17V6.17C16.89,5.45 17.89,5 19,5A4,4 0 0,1 23,9A4,4 0 0,1 19,13C17.9,13 16.9,12.55 16.17,11.83L17.59,10.41C17.95,10.78 18.45,11 19,11A2,2 0 0,0 21,9A2,2 0 0,0 19,7C18.45,7 17.95,7.22 17.59,7.59L10.5,14.66M6.41,7.59C6.05,7.22 5.55,7 5,7A2,2 0 0,0 3,9A2,2 0 0,0 5,11C5.55,11 6.05,10.78 6.41,10.41L7.83,11.83C7.1,12.55 6.1,13 5,13A4,4 0 0,1 1,9A4,4 0 0,1 5,5C6.11,5 7.11,5.45 7.83,6.17V6.17L10.59,8.93L9.17,10.35L6.41,7.59Z\";\r\nexport var mdiVuejs = \"M2,3H5.5L12,15L18.5,3H22L12,21L2,3M6.5,3H9.5L12,7.58L14.5,3H17.5L12,13.08L6.5,3Z\";\r\nexport var mdiVuetify = \"M12,11.64L7.92,2H16.08L12,11.64M12,21.95L3.27,4.91H7.84L12,14.47L16.16,4.91H20.73L12,21.95Z\";\r\nexport var mdiWalk = \"M14.12,10H19V8.2H15.38L13.38,4.87C13.08,4.37 12.54,4.03 11.92,4.03C11.74,4.03 11.58,4.06 11.42,4.11L6,5.8V11H7.8V7.33L9.91,6.67L6,22H7.8L10.67,13.89L13,17V22H14.8V15.59L12.31,11.05L13.04,8.18M14,3.8C15,3.8 15.8,3 15.8,2C15.8,1 15,0.2 14,0.2C13,0.2 12.2,1 12.2,2C12.2,3 13,3.8 14,3.8Z\";\r\nexport var mdiWall = \"M3,16H12V21H3V16M2,10H8V15H2V10M9,10H15V15H9V10M16,10H22V15H16V10M13,16H21V21H13V16M3,4H11V9H3V4M12,4H21V9H12V4Z\";\r\nexport var mdiWallSconce = \"M11,4L7,13H19L15,4H11M4,14V22H6V19H14V14H12V17H6V14H4Z\";\r\nexport var mdiWallSconceFlat = \"M5,5V11H19V5H5M5.27,13.32L3.5,15.09L4.91,16.5L6.68,14.73L5.27,13.32M18.73,13.32L17.32,14.73L19.09,16.5L20.5,15.09L18.73,13.32M11,16V19H13V16H11Z\";\r\nexport var mdiWallSconceFlatOutline = \"M5 5V11H19V5H5M17 9H7V7H17V9M5.27 13.32L3.5 15.09L4.91 16.5L6.68 14.73L5.27 13.32M18.73 13.32L17.32 14.73L19.09 16.5L20.5 15.09L18.73 13.32M11 16V19H13V16H11Z\";\r\nexport var mdiWallSconceFlatVariant = \"M19 19V13H5V19H19M18.73 10.68L20.5 8.91L19.09 7.5L17.32 9.27L18.73 10.68M5.27 10.68L6.68 9.27L4.91 7.5L3.5 8.91L5.27 10.68M13 8V5H11V8H13Z\";\r\nexport var mdiWallSconceFlatVariantOutline = \"M5 13V19H19V13H5M17 17H7V15H17V17M18.73 10.68L20.5 8.91L19.09 7.5L17.32 9.27L18.73 10.68M5.27 10.68L6.68 9.27L4.91 7.5L3.5 8.91L5.27 10.68M13 8V5H11V8H13Z\";\r\nexport var mdiWallSconceOutline = \"M13.7 6L15.92 11H10.08L12.3 6H13.7M15 4H11L7 13H19L15 4M4 14V22H6V19H14V14H12V17H6V14H4Z\";\r\nexport var mdiWallSconceRound = \"M13 19V16H11V19H13M19.09 16.5L20.5 15.09L18.73 13.32L17.32 14.73L19.09 16.5M4.91 16.5L6.68 14.73L5.27 13.32L3.5 15.09L4.91 16.5M20 12C20 9.14 18.5 6.5 16 5.07S10.5 3.64 8 5.07 4 9.14 4 12H20Z\";\r\nexport var mdiWallSconceRoundOutline = \"M13 19V16H11V19H13M19.09 16.5L20.5 15.09L18.73 13.32L17.32 14.73L19.09 16.5M4.91 16.5L6.68 14.73L5.27 13.32L3.5 15.09L4.91 16.5M12 6C13.04 6 14.08 6.28 15 6.81C16.26 7.5 17.19 8.67 17.66 10H6.34C6.81 8.67 7.74 7.5 9 6.81C9.92 6.28 10.96 6 12 6M12 4C10.63 4 9.25 4.36 8 5.07C5.5 6.5 4 9.14 4 12H20C20 9.14 18.5 6.5 16 5.07C14.75 4.36 13.38 4 12 4Z\";\r\nexport var mdiWallSconceRoundVariant = \"M11 5V8H13V5H11M4.91 7.5L3.5 8.91L5.27 10.68L6.68 9.27L4.91 7.5M19.09 7.5L17.32 9.27L18.73 10.68L20.5 8.91L19.09 7.5M4 12C4 14.86 5.5 17.5 8 18.93S13.5 20.36 16 18.93 20 14.86 20 12H4Z\";\r\nexport var mdiWallSconceRoundVariantOutline = \"M11 5V8H13V5H11M4.91 7.5L3.5 8.91L5.27 10.68L6.68 9.27L4.91 7.5M19.09 7.5L17.32 9.27L18.73 10.68L20.5 8.91L19.09 7.5M17.66 14C17.19 15.33 16.26 16.5 15 17.19C14.08 17.72 13.04 18 12 18S9.92 17.72 9 17.19C7.74 16.5 6.81 15.33 6.34 14H17.66M20 12H4C4 14.86 5.5 17.5 8 18.93C9.25 19.65 10.63 20 12 20S14.75 19.65 16 18.93C18.5 17.5 20 14.86 20 12Z\";\r\nexport var mdiWallet = \"M21,18V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V6H12C10.89,6 10,6.9 10,8V16A2,2 0 0,0 12,18M12,16H22V8H12M16,13.5A1.5,1.5 0 0,1 14.5,12A1.5,1.5 0 0,1 16,10.5A1.5,1.5 0 0,1 17.5,12A1.5,1.5 0 0,1 16,13.5Z\";\r\nexport var mdiWalletGiftcard = \"M20,14H4V8H9.08L7,10.83L8.62,12L11,8.76L12,7.4L13,8.76L15.38,12L17,10.83L14.92,8H20M20,19H4V17H20M9,4A1,1 0 0,1 10,5A1,1 0 0,1 9,6A1,1 0 0,1 8,5A1,1 0 0,1 9,4M15,4A1,1 0 0,1 16,5A1,1 0 0,1 15,6A1,1 0 0,1 14,5A1,1 0 0,1 15,4M20,6H17.82C17.93,5.69 18,5.35 18,5A3,3 0 0,0 15,2C13.95,2 13.04,2.54 12.5,3.35L12,4L11.5,3.34C10.96,2.54 10.05,2 9,2A3,3 0 0,0 6,5C6,5.35 6.07,5.69 6.18,6H4C2.89,6 2,6.89 2,8V19C2,20.11 2.89,21 4,21H20C21.11,21 22,20.11 22,19V8C22,6.89 21.11,6 20,6Z\";\r\nexport var mdiWalletMembership = \"M20,10H4V4H20M20,15H4V13H20M20,2H4C2.89,2 2,2.89 2,4V15C2,16.11 2.89,17 4,17H8V22L12,20L16,22V17H20C21.11,17 22,16.11 22,15V4C22,2.89 21.11,2 20,2Z\";\r\nexport var mdiWalletOutline = \"M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V16.72C21.59,16.37 22,15.74 22,15V9C22,8.26 21.59,7.63 21,7.28V5A2,2 0 0,0 19,3H5M5,5H19V7H13A2,2 0 0,0 11,9V15A2,2 0 0,0 13,17H19V19H5V5M13,9H20V15H13V9M16,10.5A1.5,1.5 0 0,0 14.5,12A1.5,1.5 0 0,0 16,13.5A1.5,1.5 0 0,0 17.5,12A1.5,1.5 0 0,0 16,10.5Z\";\r\nexport var mdiWalletPlus = \"M3 0V3H0V5H3V8H5V5H8V3H5V0H3M9 3V6H6V9H3V19C3 20.1 3.89 21 5 21H19C20.11 21 21 20.11 21 19V18H12C10.9 18 10 17.11 10 16V8C10 6.9 10.89 6 12 6H21V5C21 3.9 20.11 3 19 3H9M12 8V16H22V8H12M16 10.5C16.83 10.5 17.5 11.17 17.5 12C17.5 12.83 16.83 13.5 16 13.5C15.17 13.5 14.5 12.83 14.5 12C14.5 11.17 15.17 10.5 16 10.5Z\";\r\nexport var mdiWalletPlusOutline = \"M3 0V3H0V5H3V8H5V5H8V3H5V0H3M10 3V5H19V7H13C11.9 7 11 7.9 11 9V15C11 16.1 11.9 17 13 17H19V19H5V10H3V19C3 20.1 3.89 21 5 21H19C20.1 21 21 20.1 21 19V16.72C21.59 16.37 22 15.74 22 15V9C22 8.26 21.59 7.63 21 7.28V5C21 3.9 20.1 3 19 3H10M13 9H20V15H13V9M16 10.5A1.5 1.5 0 0 0 14.5 12A1.5 1.5 0 0 0 16 13.5A1.5 1.5 0 0 0 17.5 12A1.5 1.5 0 0 0 16 10.5Z\";\r\nexport var mdiWalletTravel = \"M20,14H4V8H7V10H9V8H15V10H17V8H20M20,19H4V17H20M9,4H15V6H9M20,6H17V4C17,2.89 16.11,2 15,2H9C7.89,2 7,2.89 7,4V6H4C2.89,6 2,6.89 2,8V19C2,20.11 2.89,21 4,21H20C21.11,21 22,20.11 22,19V8C22,6.89 21.11,6 20,6Z\";\r\nexport var mdiWallpaper = \"M4,4H11V2H4A2,2 0 0,0 2,4V11H4V4M10,13L6,18H18L15,14L12.97,16.71L10,13M17,8.5A1.5,1.5 0 0,0 15.5,7A1.5,1.5 0 0,0 14,8.5A1.5,1.5 0 0,0 15.5,10A1.5,1.5 0 0,0 17,8.5M20,2H13V4H20V11H22V4A2,2 0 0,0 20,2M20,20H13V22H20A2,2 0 0,0 22,20V13H20V20M4,13H2V20A2,2 0 0,0 4,22H11V20H4V13Z\";\r\nexport var mdiWan = \"M12,2A8,8 0 0,0 4,10C4,14.03 7,17.42 11,17.93V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15A1,1 0 0,0 14,19H13V17.93C17,17.43 20,14.03 20,10A8,8 0 0,0 12,2M12,4C12,4 12.74,5.28 13.26,7H10.74C11.26,5.28 12,4 12,4M9.77,4.43C9.5,4.93 9.09,5.84 8.74,7H6.81C7.5,5.84 8.5,4.93 9.77,4.43M14.23,4.44C15.5,4.94 16.5,5.84 17.19,7H15.26C14.91,5.84 14.5,4.93 14.23,4.44M6.09,9H8.32C8.28,9.33 8.25,9.66 8.25,10C8.25,10.34 8.28,10.67 8.32,11H6.09C6.03,10.67 6,10.34 6,10C6,9.66 6.03,9.33 6.09,9M10.32,9H13.68C13.72,9.33 13.75,9.66 13.75,10C13.75,10.34 13.72,10.67 13.68,11H10.32C10.28,10.67 10.25,10.34 10.25,10C10.25,9.66 10.28,9.33 10.32,9M15.68,9H17.91C17.97,9.33 18,9.66 18,10C18,10.34 17.97,10.67 17.91,11H15.68C15.72,10.67 15.75,10.34 15.75,10C15.75,9.66 15.72,9.33 15.68,9M6.81,13H8.74C9.09,14.16 9.5,15.07 9.77,15.56C8.5,15.06 7.5,14.16 6.81,13M10.74,13H13.26C12.74,14.72 12,16 12,16C12,16 11.26,14.72 10.74,13M15.26,13H17.19C16.5,14.16 15.5,15.07 14.23,15.57C14.5,15.07 14.91,14.16 15.26,13Z\";\r\nexport var mdiWardrobe = \"M4 4V19C4 20.1 4.9 21 6 21V22H8V21H11.5V2H6C4.9 2 4 2.9 4 4M8 10H10V13H8V10M18 2H12.5V21H16V22H18V21C19.1 21 20 20.1 20 19V4C20 2.9 19.1 2 18 2M16 13H14V10H16V13Z\";\r\nexport var mdiWardrobeOutline = \"M6 2C4.89 2 4 2.9 4 4V19C4 20.11 4.89 21 6 21V22H8V21H16V22H18V21C19.11 21 20 20.11 20 19V4C20 2.9 19.11 2 18 2H6M6 4H11V19H6V4M13 4H18V19H13V4M8 10V13H10V10H8M14 10V13H16V10H14Z\";\r\nexport var mdiWarehouse = \"M6 19H8V21H6V19M12 3L2 8V21H4V13H20V21H22V8L12 3M8 11H4V9H8V11M14 11H10V9H14V11M20 11H16V9H20V11M6 15H8V17H6V15M10 15H12V17H10V15M10 19H12V21H10V19M14 19H16V21H14V19Z\";\r\nexport var mdiWashingMachine = \"M14.83,11.17C16.39,12.73 16.39,15.27 14.83,16.83C13.27,18.39 10.73,18.39 9.17,16.83L14.83,11.17M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M7,4A1,1 0 0,0 6,5A1,1 0 0,0 7,6A1,1 0 0,0 8,5A1,1 0 0,0 7,4M10,4A1,1 0 0,0 9,5A1,1 0 0,0 10,6A1,1 0 0,0 11,5A1,1 0 0,0 10,4M12,8A6,6 0 0,0 6,14A6,6 0 0,0 12,20A6,6 0 0,0 18,14A6,6 0 0,0 12,8Z\";\r\nexport var mdiWashingMachineAlert = \"M12.83 11.17C14.39 12.73 14.39 15.27 12.83 16.83S8.73 18.39 7.17 16.83L12.83 11.17M4 2H16C17.11 2 18 2.9 18 4V20C18 21.11 17.11 22 16 22H4C2.9 22 2 21.11 2 20V4C2 2.9 2.9 2 4 2M5 4C4.45 4 4 4.45 4 5S4.45 6 5 6 6 5.55 6 5 5.55 4 5 4M8 4C7.45 4 7 4.45 7 5S7.45 6 8 6 9 5.55 9 5 8.55 4 8 4M10 8C6.69 8 4 10.69 4 14S6.69 20 10 20 16 17.31 16 14 13.31 8 10 8M20 15H22V17H20V15M20 7H22V13H20V7Z\";\r\nexport var mdiWashingMachineOff = \"M22.11 21.46L2.39 1.73L1.11 3L4 5.89V20C4 21.11 4.89 22 6 22H18C18.58 22 19.1 21.75 19.46 21.35L20.84 22.73L22.11 21.46M12 20C8.69 20 6 17.31 6 14C6 12.32 6.7 10.8 7.82 9.71L12.06 13.95L9.17 16.83C10.73 18.39 13.27 18.39 14.83 16.83C14.85 16.81 14.86 16.79 14.88 16.77L16.29 18.18C15.2 19.3 13.69 20 12 20M11.25 8.05C11.5 8 11.75 8 12 8C15.31 8 18 10.69 18 14C18 14.25 18 14.5 17.95 14.75L20 16.8V4C20 2.9 19.11 2 18 2H6C5.76 2 5.54 2.05 5.33 2.13L11.25 8.05M10 4C10.55 4 11 4.45 11 5S10.55 6 10 6 9 5.55 9 5 9.45 4 10 4Z\";\r\nexport var mdiWatch = \"M6,12A6,6 0 0,1 12,6A6,6 0 0,1 18,12A6,6 0 0,1 12,18A6,6 0 0,1 6,12M20,12C20,9.45 18.81,7.19 16.95,5.73L16,0H8L7.05,5.73C5.19,7.19 4,9.45 4,12C4,14.54 5.19,16.81 7.05,18.27L8,24H16L16.95,18.27C18.81,16.81 20,14.54 20,12Z\";\r\nexport var mdiWatchExport = \"M14,11H19L16.5,8.5L17.92,7.08L22.84,12L17.92,16.92L16.5,15.5L19,13H14V11M12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.4,6 14.69,6.5 15.71,7.29L17.13,5.87L16.95,5.73L16,0H8L7.05,5.73C5.19,7.19 4,9.46 4,12C4,14.55 5.19,16.81 7.05,18.27L8,24H16L16.95,18.27L17.13,18.13L15.71,16.71C14.69,17.5 13.4,18 12,18Z\";\r\nexport var mdiWatchExportVariant = \"M14,11H19L16.5,8.5L17.92,7.08L22.84,12L17.92,16.92L16.5,15.5L19,13H14V11M8,0H16L16.83,5H17C17.28,5 17.54,5.06 17.78,5.16L15.94,7H7V17H15.94L17.78,18.84C17.54,18.94 17.28,19 17,19H16.83L16,24H8L7.17,19H7A2,2 0 0,1 5,17V7C5,5.89 5.9,5 7,5H7.17L8,0Z\";\r\nexport var mdiWatchImport = \"M2,11H7L4.5,8.5L5.92,7.08L10.84,12L5.92,16.92L4.5,15.5L7,13H2V11M12,18A6,6 0 0,0 18,12A6,6 0 0,0 12,6C10.6,6 9.31,6.5 8.29,7.29L6.87,5.87L7.05,5.73L8,0H16L16.95,5.73C18.81,7.19 20,9.45 20,12C20,14.54 18.81,16.81 16.95,18.27L16,24H8L7.05,18.27L6.87,18.13L8.29,16.71C9.31,17.5 10.6,18 12,18Z\";\r\nexport var mdiWatchImportVariant = \"M1,11H6L3.5,8.5L4.92,7.08L9.84,12L4.92,16.92L3.5,15.5L6,13H1V11M8,0H16L16.83,5H17A2,2 0 0,1 19,7V17C19,18.11 18.1,19 17,19H16.83L16,24H8L7.17,19H7C6.46,19 6,18.79 5.62,18.44L7.06,17H17V7H7.06L5.62,5.56C6,5.21 6.46,5 7,5H7.17L8,0Z\";\r\nexport var mdiWatchVariant = \"M8,0L7.17,5H7A2,2 0 0,0 5,7V17C5,18.11 5.9,19 7,19H7.17L8,24H16L16.83,19H17A2,2 0 0,0 19,17V7C19,5.89 18.1,5 17,5H16.83L16,0H8M7,7H17V17H7V7Z\";\r\nexport var mdiWatchVibrate = \"M3,17V7H5V17H3M19,17V7H21V17H19M22,9H24V15H22V9M0,15V9H2V15H0M17.96,11.97C17.96,13.87 17.07,15.57 15.68,16.67L14.97,20.95H9L8.27,16.67C6.88,15.57 6,13.87 6,11.97C6,10.07 6.88,8.37 8.27,7.28L9,3H14.97L15.68,7.28C17.07,8.37 17.96,10.07 17.96,11.97M7.5,11.97C7.5,14.45 9.5,16.46 11.97,16.46A4.5,4.5 0 0,0 16.46,11.97C16.46,9.5 14.45,7.5 11.97,7.5A4.47,4.47 0 0,0 7.5,11.97Z\";\r\nexport var mdiWatchVibrateOff = \"M0,9H2V15H0V9M12,7.5C14.47,7.5 16.47,9.53 16.46,12C16.45,12.38 16.4,12.76 16.3,13.13L17.5,14.31C17.81,13.58 18,12.8 18,12C18,10.17 17.16,8.44 15.72,7.31L15,3H9L8.59,5.39L10.86,7.66C11.23,7.55 11.61,7.5 12,7.5M21,17V7H19V15.8L20.2,17H21M16.5,15.86L22.11,21.46L20.84,22.73L15.55,17.44L15,21H9L8.27,16.72C5.85,14.82 5.27,11.4 6.91,8.8L1.11,3L2.39,1.73L8.09,7.44L9.17,8.5L15.44,14.79L16.5,15.86M14.05,15.94L8.05,9.94C7.7,10.57 7.5,11.28 7.5,12C7.5,14.47 9.53,16.47 12,16.46C12.72,16.46 13.42,16.28 14.05,15.94M22,9V15H24V9H22M3,17H5V7H3V17Z\";\r\nexport var mdiWater = \"M12,20A6,6 0 0,1 6,14C6,10 12,3.25 12,3.25C12,3.25 18,10 18,14A6,6 0 0,1 12,20Z\";\r\nexport var mdiWaterAlert = \"M10 3.25C10 3.25 16 10 16 14C16 17.31 13.31 20 10 20S4 17.31 4 14C4 10 10 3.25 10 3.25M20 7V13H18V7H20M18 17H20V15H18V17Z\";\r\nexport var mdiWaterAlertOutline = \"M10 3.25C10 3.25 4 10 4 14C4 17.31 6.69 20 10 20S16 17.31 16 14C16 10 10 3.25 10 3.25M10 18C7.79 18 6 16.21 6 14C6 12.23 8 8.96 10 6.39C12 8.95 14 12.23 14 14C14 16.21 12.21 18 10 18M20 7V13H18V7H20M18 17H20V15H18V17Z\";\r\nexport var mdiWaterBoiler = \"M8 2C6.89 2 6 2.89 6 4V16C6 17.11 6.89 18 8 18H9V20H6V22H9C10.11 22 11 21.11 11 20V18H13V20C13 21.11 13.89 22 15 22H18V20H15V18H16C17.11 18 18 17.11 18 16V4C18 2.89 17.11 2 16 2H8M12 4.97A2 2 0 0 1 14 6.97A2 2 0 0 1 12 8.97A2 2 0 0 1 10 6.97A2 2 0 0 1 12 4.97M10 14.5H14V16H10V14.5Z\";\r\nexport var mdiWaterBoilerAlert = \"M6 2C4.89 2 4 2.89 4 4V16C4 17.11 4.89 18 6 18H7V20H4V22H7C8.11 22 9 21.11 9 20V18H11V20C11 21.11 11.89 22 13 22H16V20H13V18H14C15.11 18 16 17.11 16 16V4C16 2.89 15.11 2 14 2H6M10 4.97C11.11 4.97 12 5.87 12 6.97S11.11 8.97 10 8.97C8.9 8.97 8 8.07 8 6.97C8 5.87 8.9 4.97 10 4.97M8 14.5H12V16H8V14.5M18 15H20V17H18V15M18 7H20V13H18V7Z\";\r\nexport var mdiWaterBoilerOff = \"M10 6.82L6.25 3.05C6.59 2.42 7.24 2 8 2H16C17.11 2 18 2.89 18 4V14.8L12.16 8.96C13.19 8.87 14 8 14 6.97C14 5.87 13.11 4.97 12 4.97C10.95 4.97 10.1 5.78 10 6.82M15 18V20H18V22H15C13.89 22 13 21.11 13 20V18H11V20C11 21.11 10.11 22 9 22H6V20H9V18H8C6.89 18 6 17.11 6 16V7.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73L16.1 18C16.06 18 16.03 18 16 18H15M14 16V15.89L12.61 14.5H10V16H14Z\";\r\nexport var mdiWaterCheck = \"M21.75 16.25L17 21L14.25 18L15.41 16.84L17 18.43L20.59 14.84L21.75 16.25M17.62 12C16.31 8.1 12 3.25 12 3.25S6 10 6 14C6 17.31 8.69 20 12 20H12.34C12.12 19.36 12 18.7 12 18C12 14.82 14.5 12.22 17.62 12Z\";\r\nexport var mdiWaterCheckOutline = \"M21.75 16.25L17 21L14.25 18L15.41 16.84L17 18.43L20.59 14.84L21.75 16.25M8 14C8 12.23 10 8.96 12 6.39C13.5 8.33 15 10.67 15.67 12.47C16.27 12.21 16.93 12.06 17.62 12C16.31 8.1 12 3.25 12 3.25S6 10 6 14C6 17.31 8.69 20 12 20C12.12 20 12.23 20 12.34 20C12.12 19.36 12 18.7 12 18C9.79 18 8 16.21 8 14Z\";\r\nexport var mdiWaterCircle = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 19C9.24 19 7 16.76 7 14C7 10.67 12 5.04 12 5.04S17 10.67 17 14C17 16.76 14.76 19 12 19Z\";\r\nexport var mdiWaterMinus = \"M22 17V19H14V17H22M17.62 12C16.31 8.1 12 3.25 12 3.25S6 10 6 14C6 17.31 8.69 20 12 20C12.12 20 12.23 20 12.34 20C12.12 19.36 12 18.7 12 18C12 14.82 14.5 12.22 17.62 12Z\";\r\nexport var mdiWaterMinusOutline = \"M22 17V19H14V17H22M8 14C8 12.23 10 8.96 12 6.39C13.5 8.33 15 10.67 15.67 12.47C16.27 12.21 16.93 12.06 17.62 12C16.31 8.1 12 3.25 12 3.25S6 10 6 14C6 17.31 8.69 20 12 20C12.12 20 12.23 20 12.34 20C12.12 19.36 12 18.7 12 18C9.79 18 8 16.21 8 14Z\";\r\nexport var mdiWaterOff = \"M20.84 22.73L16.29 18.18C15.2 19.3 13.69 20 12 20C8.69 20 6 17.31 6 14C6 12.67 6.67 11.03 7.55 9.44L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M18 14C18 10 12 3.25 12 3.25S10.84 4.55 9.55 6.35L17.95 14.75C18 14.5 18 14.25 18 14Z\";\r\nexport var mdiWaterOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L7.65 9.54C6.74 11.03 6 12.65 6 14.23C6 17.54 8.69 20.23 12 20.23C13.74 20.23 15.3 19.5 16.4 18.29L20.84 22.73L22.11 21.46M12 18.23C9.78 18.23 8 16.45 8 14.23C8 13.5 8.5 12.27 9.14 11.03L15 16.88C14.26 17.71 13.2 18.23 12 18.23M11.14 7.94L9.71 6.5C10.57 5.38 11.25 4.61 11.25 4.61L12 3.77L12.75 4.61C12.75 4.61 14.03 6.06 15.32 7.94S18 12.07 18 14.23C18 14.41 18 14.59 17.97 14.77L15.46 12.26C15 11.23 14.37 10.07 13.68 9.07C12.84 7.85 12.44 7.42 12 6.9C11.73 7.21 11.5 7.5 11.14 7.94Z\";\r\nexport var mdiWaterOutline = \"M12,3.77L11.25,4.61C11.25,4.61 9.97,6.06 8.68,7.94C7.39,9.82 6,12.07 6,14.23A6,6 0 0,0 12,20.23A6,6 0 0,0 18,14.23C18,12.07 16.61,9.82 15.32,7.94C14.03,6.06 12.75,4.61 12.75,4.61L12,3.77M12,6.9C12.44,7.42 12.84,7.85 13.68,9.07C14.89,10.83 16,13.07 16,14.23C16,16.45 14.22,18.23 12,18.23C9.78,18.23 8,16.45 8,14.23C8,13.07 9.11,10.83 10.32,9.07C11.16,7.85 11.56,7.42 12,6.9Z\";\r\nexport var mdiWaterPercent = \"M12,3.25C12,3.25 6,10 6,14C6,17.32 8.69,20 12,20A6,6 0 0,0 18,14C18,10 12,3.25 12,3.25M14.47,9.97L15.53,11.03L9.53,17.03L8.47,15.97M9.75,10A1.25,1.25 0 0,1 11,11.25A1.25,1.25 0 0,1 9.75,12.5A1.25,1.25 0 0,1 8.5,11.25A1.25,1.25 0 0,1 9.75,10M14.25,14.5A1.25,1.25 0 0,1 15.5,15.75A1.25,1.25 0 0,1 14.25,17A1.25,1.25 0 0,1 13,15.75A1.25,1.25 0 0,1 14.25,14.5Z\";\r\nexport var mdiWaterPercentAlert = \"M20 7V13H18V7H20M18 17H20V15H18V17M10 3.25C10 3.25 4 10 4 14C4 17.32 6.69 20 10 20S16 17.31 16 14C16 10 10 3.25 10 3.25M7.75 10C8.44 10 9 10.56 9 11.25S8.44 12.5 7.75 12.5 6.5 11.94 6.5 11.25 7.06 10 7.75 10M12.25 17C11.56 17 11 16.44 11 15.75S11.56 14.5 12.25 14.5 13.5 15.06 13.5 15.75 12.94 17 12.25 17M7.53 17.03L6.47 15.97L12.47 9.97L13.53 11.03L7.53 17.03Z\";\r\nexport var mdiWaterPlus = \"M12 18C12 18.7 12.12 19.36 12.34 20C12.23 20 12.12 20 12 20C8.69 20 6 17.31 6 14C6 10 12 3.25 12 3.25S16.31 8.1 17.62 12C14.5 12.22 12 14.82 12 18M19 17V14H17V17H14V19H17V22H19V19H22V17H19Z\";\r\nexport var mdiWaterPlusOutline = \"M12 18C12 18.7 12.12 19.36 12.34 20C12.23 20 12.12 20 12 20C8.69 20 6 17.31 6 14C6 10 12 3.25 12 3.25S16.31 8.1 17.62 12C16.93 12.06 16.28 12.22 15.67 12.47C15 10.68 13.5 8.33 12 6.39C10 8.96 8 12.23 8 14C8 16.21 9.79 18 12 18M19 17V14H17V17H14V19H17V22H19V19H22V17H19Z\";\r\nexport var mdiWaterPolo = \"M20 16H22V18H20C18.6 18 17.2 17.6 16 17C13.5 18.3 10.5 18.3 8 17C6.8 17.6 5.4 18 4 18H2V16H4C5.4 16 6.8 15.5 8 14.7C10.4 16.4 13.6 16.4 16 14.7C17.2 15.5 18.6 16 20 16M13 10.6C13.6 10.3 14.3 10 15 9.9V10.2C15.3 11.2 15.3 12.1 15.2 13.1C14.3 13.6 13.2 13.9 12.2 13.9C12.7 12.9 13 11.7 13 10.6M12.9 3.6C11.5 4 10.3 4.7 9.3 5.7C8.9 4.7 8.7 3.7 8.7 2.7C10.9 1.7 13.4 1.8 15.6 2.9C15.9 3 16.2 3.1 16.4 3.3C15.2 3.2 14 3.3 12.9 3.6M6.8 13.3C6.2 13.6 5.6 13.8 5 13.9C4.3 12.6 4 11.2 4 9.8C4.5 10.8 5.2 11.8 6 12.6C6.3 12.8 6.5 13.1 6.8 13.3M19 13.9C18.4 13.8 17.8 13.6 17.3 13.4C17.5 12.2 17.4 11 17.1 9.8C18.2 9.9 19.2 10.2 20.1 10.8C20 11.8 19.7 12.7 19.2 13.6L19 13.9M7.4 11.2C6.2 10.1 5.5 8.5 5.2 6.9L5.1 6C5.6 5.2 6.1 4.6 6.8 4C6.9 5.4 7.4 6.7 8.2 7.8C8.9 8.9 9.9 9.9 11 10.5C11 11.3 10.8 12.1 10.5 12.9C9.3 12.6 8.3 12 7.4 11.2M13.5 5.5C15 5.1 16.7 5.2 18.2 5.7L19 6.1C19.4 6.8 19.6 7.6 19.8 8.4C17.3 7.3 14.4 7.5 12 8.8C11.3 8.5 10.8 8 10.3 7.4L10.4 7.3C11.3 6.5 12.3 5.8 13.5 5.5M16 18.7C17.2 19.5 18.6 20 20 20H22V22H20C18.6 22 17.2 21.6 16 21C13.5 22.3 10.5 22.3 8 21C6.8 21.6 5.4 22 4 22H2V20H4C5.4 20 6.8 19.5 8 18.7C10.4 20.4 13.6 20.4 16 18.7Z\";\r\nexport var mdiWaterPump = \"M19,14.5C19,14.5 21,16.67 21,18A2,2 0 0,1 19,20A2,2 0 0,1 17,18C17,16.67 19,14.5 19,14.5M5,18V9A2,2 0 0,1 3,7A2,2 0 0,1 5,5V4A2,2 0 0,1 7,2H9A2,2 0 0,1 11,4V5H19A2,2 0 0,1 21,7V9L21,11A1,1 0 0,1 22,12A1,1 0 0,1 21,13H17A1,1 0 0,1 16,12A1,1 0 0,1 17,11V9H11V18H12A2,2 0 0,1 14,20V22H2V20A2,2 0 0,1 4,18H5Z\";\r\nexport var mdiWaterPumpOff = \"M5.7 2.5A2 2 0 0 1 7 2H9A2 2 0 0 1 11 4V5H19A2 2 0 0 1 21 7V11A1 1 0 0 1 21 13H17A1 1 0 0 1 17 11V9H12.2M20.84 22.73L22.11 21.46L11 10.34L2.39 1.73L1.11 3L3.65 5.54A2 2 0 0 0 5 9V18H4A2 2 0 0 0 2 20V22H14V20A2 2 0 0 0 12 18H11V12.89Z\";\r\nexport var mdiWaterRemove = \"M12 18C12 18.7 12.12 19.36 12.34 20C12.23 20 12.12 20 12 20C8.69 20 6 17.31 6 14C6 10 12 3.25 12 3.25S16.31 8.1 17.62 12C14.5 12.22 12 14.82 12 18M21.54 15.88L20.13 14.47L18 16.59L15.88 14.47L14.47 15.88L16.59 18L14.47 20.12L15.88 21.53L18 19.41L20.12 21.53L21.53 20.12L19.41 18L21.54 15.88Z\";\r\nexport var mdiWaterRemoveOutline = \"M12 18C12 18.7 12.12 19.36 12.34 20C12.23 20 12.12 20 12 20C8.69 20 6 17.31 6 14C6 10 12 3.25 12 3.25S16.31 8.1 17.62 12C16.93 12.06 16.28 12.22 15.67 12.47C15 10.68 13.5 8.33 12 6.39C10 8.96 8 12.23 8 14C8 16.21 9.79 18 12 18M21.54 15.88L20.13 14.47L18 16.59L15.88 14.47L14.47 15.88L16.59 18L14.47 20.12L15.88 21.53L18 19.41L20.12 21.53L21.53 20.12L19.41 18L21.54 15.88Z\";\r\nexport var mdiWaterSync = \"M12 3.2C12 3.2 6 10 6 14C6 17.3 8.7 20 12 20S18 17.3 18 14C18 10 12 3.2 12 3.2M12 8.5V10C14.2 10 16 11.8 16 14C16 14.8 15.8 15.6 15.3 16.2L14.2 15.1C14.4 14.8 14.5 14.4 14.5 14C14.5 12.6 13.4 11.5 12 11.5V13L9.8 10.8L12 8.5M8.7 11.8L9.8 12.9C9.6 13.2 9.5 13.6 9.5 14C9.5 15.4 10.6 16.5 12 16.5V15L14.2 17.2L12 19.5V18C9.8 18 8 16.2 8 14C8 13.2 8.2 12.4 8.7 11.8Z\";\r\nexport var mdiWaterWell = \"M22 16H2V18H4V22H20V18H22V16M10.44 15C10.19 15 10 14.81 9.95 14.56L9.57 11.56C9.57 11.54 9.57 11.5 9.57 11.5C9.57 11.22 9.79 11 10.07 11H13.93C13.95 11 13.97 11 14 11C14.27 11.04 14.46 11.29 14.43 11.56L14.05 14.56C14 14.81 13.81 15 13.56 15H10.44M19 2L21.56 6.68C21.6 6.78 21.61 6.89 21.61 7C21.61 7.56 21.16 8 20.61 8H19V15H17V8H13V10H11V8H7V15H5V8H3.62C3.46 8 3.31 7.96 3.16 7.89C2.67 7.64 2.47 7.04 2.72 6.55L5 2H19Z\";\r\nexport var mdiWaterWellOutline = \"M3.62 8H5V15H7V8H11V10H13V8H17V15H19V8H20.61C21.16 8 21.61 7.56 21.61 7C21.61 6.89 21.6 6.78 21.56 6.68L19 2H5L2.72 6.55C2.47 7.04 2.67 7.64 3.16 7.89C3.31 7.96 3.46 8 3.62 8M6.24 4H17.76L18.76 6H5.24L6.24 4M2 16V18H4V22H20V18H22V16H2M18 20H6V18H18V20M13.93 11C14.21 11 14.43 11.22 14.43 11.5C14.43 11.5 14.43 11.54 14.43 11.56L14.05 14.56C14 14.81 13.81 15 13.56 15H10.44C10.19 15 10 14.81 9.95 14.56L9.57 11.56C9.54 11.29 9.73 11.04 10 11C10.03 11 10.05 11 10.07 11H13.93Z\";\r\nexport var mdiWateringCan = \"M18.5 7.47C17.76 8.2 17.57 9.25 17.92 10.15L15 13.07V11C15 10.45 14.55 10 14 10H12.97C13 9.83 13 9.67 13 9.5C13 6.46 10.54 4 7.5 4S2 6.46 2 9.5C2 11.21 2.78 12.73 4 13.74V20C4 20.55 4.45 21 5 21H14C14.55 21 15 20.55 15 20V15.89L19.33 11.56C20.23 11.91 21.28 11.73 22 11L18.5 7.47M4.05 10C4.03 9.83 4 9.67 4 9.5C4 7.57 5.57 6 7.5 6S11 7.57 11 9.5C11 9.67 10.97 9.83 10.95 10H4.05Z\";\r\nexport var mdiWateringCanOutline = \"M18.5 7.47C17.76 8.2 17.57 9.25 17.92 10.15L15 13.07V11C15 10.45 14.55 10 14 10H12.97C13 9.83 13 9.67 13 9.5C13 6.46 10.54 4 7.5 4S2 6.46 2 9.5C2 11.21 2.78 12.73 4 13.74V20C4 20.55 4.45 21 5 21H14C14.55 21 15 20.55 15 20V15.89L19.33 11.56C20.23 11.91 21.28 11.73 22 11L18.5 7.47M4.05 10C4.03 9.83 4 9.67 4 9.5C4 7.57 5.57 6 7.5 6S11 7.57 11 9.5C11 9.67 10.97 9.83 10.95 10M13 19H6V12H13V19Z\";\r\nexport var mdiWatermark = \"M21,3H3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V5A2,2 0 0,0 21,3M21,19H12V13H21V19Z\";\r\nexport var mdiWave = \"M20,12C18.61,12 17.22,11.53 16,10.67C13.56,12.38 10.44,12.38 8,10.67C6.78,11.53 5.39,12 4,12H2V14H4C5.37,14 6.74,13.65 8,13C10.5,14.3 13.5,14.3 16,13C17.26,13.65 18.62,14 20,14H22V12\";\r\nexport var mdiWaveform = \"M22 12L20 13L19 14L18 13L17 16L16 13L15 21L14 13L13 15L12 13L11 17L10 13L9 22L8 13L7 19L6 13L5 14L4 13L2 12L4 11L5 10L6 11L7 5L8 11L9 2L10 11L11 7L12 11L13 9L14 11L15 3L16 11L17 8L18 11L19 10L20 11L22 12Z\";\r\nexport var mdiWaves = \"M20,12H22V14H20C18.62,14 17.26,13.65 16,13C13.5,14.3 10.5,14.3 8,13C6.74,13.65 5.37,14 4,14H2V12H4C5.39,12 6.78,11.53 8,10.67C10.44,12.38 13.56,12.38 16,10.67C17.22,11.53 18.61,12 20,12M20,6H22V8H20C18.62,8 17.26,7.65 16,7C13.5,8.3 10.5,8.3 8,7C6.74,7.65 5.37,8 4,8H2V6H4C5.39,6 6.78,5.53 8,4.67C10.44,6.38 13.56,6.38 16,4.67C17.22,5.53 18.61,6 20,6M20,18H22V20H20C18.62,20 17.26,19.65 16,19C13.5,20.3 10.5,20.3 8,19C6.74,19.65 5.37,20 4,20H2V18H4C5.39,18 6.78,17.53 8,16.67C10.44,18.38 13.56,18.38 16,16.67C17.22,17.53 18.61,18 20,18Z\";\r\nexport var mdiWaze = \"M20.54,6.63C21.23,7.57 21.69,8.67 21.89,9.82C22.1,11.07 22,12.34 21.58,13.54C21.18,14.71 20.5,15.76 19.58,16.6C18.91,17.24 18.15,17.77 17.32,18.18C17.73,19.25 17.19,20.45 16.12,20.86C15.88,20.95 15.63,21 15.38,21C14.27,21 13.35,20.11 13.31,19C13.05,19 10.73,19 10.24,19C10.13,20.14 9.11,21 7.97,20.87C6.91,20.77 6.11,19.89 6.09,18.83C6.1,18.64 6.13,18.44 6.19,18.26C4.6,17.73 3.21,16.74 2.19,15.41C1.86,14.97 1.96,14.34 2.42,14C2.6,13.86 2.82,13.78 3.05,13.78C3.77,13.78 4.05,13.53 4.22,13.15C4.46,12.43 4.6,11.68 4.61,10.92C4.64,10.39 4.7,9.87 4.78,9.35C5.13,7.62 6.1,6.07 7.5,5C9.16,3.7 11.19,3 13.29,3C14.72,3 16.13,3.35 17.4,4C18.64,4.62 19.71,5.5 20.54,6.63M16.72,17.31C18.5,16.5 19.9,15.04 20.59,13.21C22.21,8.27 18,4.05 13.29,4.05C12.94,4.05 12.58,4.07 12.23,4.12C9.36,4.5 6.4,6.5 5.81,9.5C5.43,11.5 6,14.79 3.05,14.79C4,16 5.32,16.93 6.81,17.37C7.66,16.61 8.97,16.69 9.74,17.55C9.85,17.67 9.94,17.8 10,17.94C10.59,17.94 13.2,17.94 13.55,17.94C14.07,16.92 15.33,16.5 16.35,17.04C16.5,17.12 16.6,17.21 16.72,17.31M10.97,10.31C10.39,10.34 9.88,9.9 9.85,9.31C9.82,8.73 10.27,8.23 10.85,8.19C11.43,8.16 11.94,8.61 11.97,9.25C12,9.8 11.56,10.27 11,10.29L10.97,10.31M15.66,10.31C15.08,10.34 14.57,9.9 14.54,9.31C14.5,8.73 14.96,8.23 15.54,8.19C16.12,8.16 16.63,8.61 16.66,9.25C16.68,9.8 16.25,10.27 15.66,10.29V10.31M9.71,12.07C9.65,11.79 9.84,11.5 10.12,11.45C10.4,11.4 10.68,11.58 10.74,11.86V11.86C11.09,12.97 12.16,13.69 13.32,13.6C14.46,13.66 15.5,12.96 15.89,11.88C16.03,11.62 16.35,11.5 16.6,11.65C16.78,11.75 16.89,11.92 16.89,12.12C16.7,12.83 16.26,13.45 15.66,13.88C14.97,14.36 14.16,14.63 13.32,14.64H13.21C11.58,14.71 10.11,13.64 9.68,12.06L9.71,12.07Z\";\r\nexport var mdiWeatherCloudy = \"M6,19A5,5 0 0,1 1,14A5,5 0 0,1 6,9C7,6.65 9.3,5 12,5C15.43,5 18.24,7.66 18.5,11.03L19,11A4,4 0 0,1 23,15A4,4 0 0,1 19,19H6M19,13H17V12A5,5 0 0,0 12,7C9.5,7 7.45,8.82 7.06,11.19C6.73,11.07 6.37,11 6,11A3,3 0 0,0 3,14A3,3 0 0,0 6,17H19A2,2 0 0,0 21,15A2,2 0 0,0 19,13Z\";\r\nexport var mdiWeatherCloudyAlert = \"M6,19A5,5 0 0,1 1,14A5,5 0 0,1 6,9C7,6.65 9.3,5 12,5C15.43,5 18.24,7.66 18.5,11.03L19,11A4,4 0 0,1 23,15A4,4 0 0,1 19,19H6M19,13H17V12A5,5 0 0,0 12,7C9.5,7 7.45,8.82 7.06,11.19C6.73,11.07 6.37,11 6,11A3,3 0 0,0 3,14A3,3 0 0,0 6,17H19A2,2 0 0,0 21,15A2,2 0 0,0 19,13M13,12H11V8H13V12M13,16H11V14H13\";\r\nexport var mdiWeatherCloudyArrowRight = \"M6,7L6.69,7.06C7.32,4.72 9.46,3 12,3A5.5,5.5 0 0,1 17.5,8.5L17.42,9.45C17.88,9.16 18.42,9 19,9A3,3 0 0,1 22,12A3,3 0 0,1 19,15H6A4,4 0 0,1 2,11A4,4 0 0,1 6,7M6,9A2,2 0 0,0 4,11A2,2 0 0,0 6,13H19A1,1 0 0,0 20,12A1,1 0 0,0 19,11H15.5V8.5A3.5,3.5 0 0,0 12,5A3.5,3.5 0 0,0 8.5,8.5V9H6M22,19L19,22V20H2V18H19V16L22,19\";\r\nexport var mdiWeatherFog = \"M3,15H13A1,1 0 0,1 14,16A1,1 0 0,1 13,17H3A1,1 0 0,1 2,16A1,1 0 0,1 3,15M16,15H21A1,1 0 0,1 22,16A1,1 0 0,1 21,17H16A1,1 0 0,1 15,16A1,1 0 0,1 16,15M1,12A5,5 0 0,1 6,7C7,4.65 9.3,3 12,3C15.43,3 18.24,5.66 18.5,9.03L19,9C21.19,9 22.97,10.76 23,13H21A2,2 0 0,0 19,11H17V10A5,5 0 0,0 12,5C9.5,5 7.45,6.82 7.06,9.19C6.73,9.07 6.37,9 6,9A3,3 0 0,0 3,12C3,12.35 3.06,12.69 3.17,13H1.1L1,12M3,19H5A1,1 0 0,1 6,20A1,1 0 0,1 5,21H3A1,1 0 0,1 2,20A1,1 0 0,1 3,19M8,19H21A1,1 0 0,1 22,20A1,1 0 0,1 21,21H8A1,1 0 0,1 7,20A1,1 0 0,1 8,19Z\";\r\nexport var mdiWeatherHail = \"M6,14A1,1 0 0,1 7,15A1,1 0 0,1 6,16A5,5 0 0,1 1,11A5,5 0 0,1 6,6C7,3.65 9.3,2 12,2C15.43,2 18.24,4.66 18.5,8.03L19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16H18A1,1 0 0,1 17,15A1,1 0 0,1 18,14H19A2,2 0 0,0 21,12A2,2 0 0,0 19,10H17V9A5,5 0 0,0 12,4C9.5,4 7.45,5.82 7.06,8.19C6.73,8.07 6.37,8 6,8A3,3 0 0,0 3,11A3,3 0 0,0 6,14M10,18A2,2 0 0,1 12,20A2,2 0 0,1 10,22A2,2 0 0,1 8,20A2,2 0 0,1 10,18M14.5,16A1.5,1.5 0 0,1 16,17.5A1.5,1.5 0 0,1 14.5,19A1.5,1.5 0 0,1 13,17.5A1.5,1.5 0 0,1 14.5,16M10.5,12A1.5,1.5 0 0,1 12,13.5A1.5,1.5 0 0,1 10.5,15A1.5,1.5 0 0,1 9,13.5A1.5,1.5 0 0,1 10.5,12Z\";\r\nexport var mdiWeatherHazy = \"M12,2L14.39,5.42C13.65,5.15 12.84,5 12,5C11.16,5 10.35,5.15 9.61,5.42L12,2M3.34,7L7.5,6.65C6.9,7.16 6.36,7.78 5.94,8.5C5.5,9.24 5.25,10 5.11,10.79L3.34,7M20.65,7L18.88,10.79C18.74,10 18.47,9.23 18.05,8.5C17.63,7.78 17.1,7.15 16.5,6.64M14,15A1,1 0 0,0 13,14H3A1,1 0 0,0 2,15A1,1 0 0,0 3,16H13A1,1 0 0,0 14,15M22,15A1,1 0 0,0 21,14H17A1,1 0 0,0 16,15A1,1 0 0,0 17,16H21A1,1 0 0,0 22,15M10,19A1,1 0 0,0 11,20H20A1,1 0 0,0 21,19A1,1 0 0,0 20,18H11A1,1 0 0,0 10,19M3,19A1,1 0 0,0 4,20H7A1,1 0 0,0 8,19A1,1 0 0,0 7,18H4A1,1 0 0,0 3,19M12,9A3,3 0 0,1 15,12H17A5,5 0 0,0 12,7A5,5 0 0,0 7,12H9A3,3 0 0,1 12,9Z\";\r\nexport var mdiWeatherHurricane = \"M15,6.79C16.86,7.86 18,9.85 18,12C18,22 6,22 6,22C7.25,21.06 8.38,19.95 9.34,18.71C9.38,18.66 9.41,18.61 9.44,18.55C9.69,18.06 9.5,17.46 9,17.21C7.14,16.14 6,14.15 6,12C6,2 18,2 18,2C16.75,2.94 15.62,4.05 14.66,5.29C14.62,5.34 14.59,5.39 14.56,5.45C14.31,5.94 14.5,6.54 15,6.79M12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14Z\";\r\nexport var mdiWeatherLightning = \"M6,16A5,5 0 0,1 1,11A5,5 0 0,1 6,6C7,3.65 9.3,2 12,2C15.43,2 18.24,4.66 18.5,8.03L19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16H18A1,1 0 0,1 17,15A1,1 0 0,1 18,14H19A2,2 0 0,0 21,12A2,2 0 0,0 19,10H17V9A5,5 0 0,0 12,4C9.5,4 7.45,5.82 7.06,8.19C6.73,8.07 6.37,8 6,8A3,3 0 0,0 3,11A3,3 0 0,0 6,14H7A1,1 0 0,1 8,15A1,1 0 0,1 7,16H6M12,11H15L13,15H15L11.25,22L12,17H9.5L12,11Z\";\r\nexport var mdiWeatherLightningRainy = \"M4.5,13.59C5,13.87 5.14,14.5 4.87,14.96C4.59,15.44 4,15.6 3.5,15.33V15.33C2,14.47 1,12.85 1,11A5,5 0 0,1 6,6C7,3.65 9.3,2 12,2C15.43,2 18.24,4.66 18.5,8.03L19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16A1,1 0 0,1 18,15A1,1 0 0,1 19,14A2,2 0 0,0 21,12A2,2 0 0,0 19,10H17V9A5,5 0 0,0 12,4C9.5,4 7.45,5.82 7.06,8.19C6.73,8.07 6.37,8 6,8A3,3 0 0,0 3,11C3,12.11 3.6,13.08 4.5,13.6V13.59M9.5,11H12.5L10.5,15H12.5L8.75,22L9.5,17H7L9.5,11M17.5,18.67C17.5,19.96 16.5,21 15.25,21C14,21 13,19.96 13,18.67C13,17.12 15.25,14.5 15.25,14.5C15.25,14.5 17.5,17.12 17.5,18.67Z\";\r\nexport var mdiWeatherNight = \"M17.75,4.09L15.22,6.03L16.13,9.09L13.5,7.28L10.87,9.09L11.78,6.03L9.25,4.09L12.44,4L13.5,1L14.56,4L17.75,4.09M21.25,11L19.61,12.25L20.2,14.23L18.5,13.06L16.8,14.23L17.39,12.25L15.75,11L17.81,10.95L18.5,9L19.19,10.95L21.25,11M18.97,15.95C19.8,15.87 20.69,17.05 20.16,17.8C19.84,18.25 19.5,18.67 19.08,19.07C15.17,23 8.84,23 4.94,19.07C1.03,15.17 1.03,8.83 4.94,4.93C5.34,4.53 5.76,4.17 6.21,3.85C6.96,3.32 8.14,4.21 8.06,5.04C7.79,7.9 8.75,10.87 10.95,13.06C13.14,15.26 16.1,16.22 18.97,15.95M17.33,17.97C14.5,17.81 11.7,16.64 9.53,14.5C7.36,12.31 6.2,9.5 6.04,6.68C3.23,9.82 3.34,14.64 6.35,17.66C9.37,20.67 14.19,20.78 17.33,17.97Z\";\r\nexport var mdiWeatherNightPartlyCloudy = \"M22,10.28C21.74,10.3 21.5,10.31 21.26,10.31C19.32,10.31 17.39,9.57 15.91,8.09C14.25,6.44 13.5,4.19 13.72,2C13.77,1.53 13.22,1 12.71,1C12.57,1 12.44,1.04 12.32,1.12C12,1.36 11.66,1.64 11.36,1.94C9.05,4.24 8.55,7.66 9.84,10.46C8.31,11.11 7.13,12.43 6.69,14.06L6,14A4,4 0 0,0 2,18A4,4 0 0,0 6,22H19A3,3 0 0,0 22,19A3,3 0 0,0 19,16C18.42,16 17.88,16.16 17.42,16.45L17.5,15.5C17.5,15.28 17.5,15.05 17.46,14.83C19.14,14.67 20.77,13.94 22.06,12.64C22.38,12.34 22.64,12 22.88,11.68C23.27,11.13 22.65,10.28 22.04,10.28M19,18A1,1 0 0,1 20,19A1,1 0 0,1 19,20H6A2,2 0 0,1 4,18A2,2 0 0,1 6,16H8.5V15.5C8.5,13.94 9.53,12.64 10.94,12.18C11.1,12.13 11.26,12.09 11.43,12.06C11.61,12.03 11.8,12 12,12C12.23,12 12.45,12.03 12.66,12.07C12.73,12.08 12.8,12.1 12.87,12.13C13,12.16 13.15,12.2 13.28,12.25C13.36,12.28 13.44,12.32 13.5,12.36C13.63,12.41 13.74,12.47 13.84,12.54C13.92,12.59 14,12.64 14.07,12.7C14.17,12.77 14.25,12.84 14.34,12.92C14.41,13 14.5,13.05 14.55,13.12C14.63,13.2 14.69,13.29 14.76,13.37C14.82,13.45 14.89,13.53 14.94,13.62C15,13.71 15.04,13.8 15.09,13.9C15.14,14 15.2,14.08 15.24,14.18C15.41,14.59 15.5,15.03 15.5,15.5V18M16.83,12.86C15.9,11.16 14.08,10 12,10H11.87C11.41,9.19 11.14,8.26 11.14,7.29C11.14,6.31 11.39,5.37 11.86,4.55C12.21,6.41 13.12,8.14 14.5,9.5C15.86,10.88 17.58,11.79 19.45,12.14C18.66,12.6 17.76,12.84 16.83,12.86Z\";\r\nexport var mdiWeatherPartlyCloudy = \"M12.74,5.47C15.1,6.5 16.35,9.03 15.92,11.46C17.19,12.56 18,14.19 18,16V16.17C18.31,16.06 18.65,16 19,16A3,3 0 0,1 22,19A3,3 0 0,1 19,22H6A4,4 0 0,1 2,18A4,4 0 0,1 6,14H6.27C5,12.45 4.6,10.24 5.5,8.26C6.72,5.5 9.97,4.24 12.74,5.47M11.93,7.3C10.16,6.5 8.09,7.31 7.31,9.07C6.85,10.09 6.93,11.22 7.41,12.13C8.5,10.83 10.16,10 12,10C12.7,10 13.38,10.12 14,10.34C13.94,9.06 13.18,7.86 11.93,7.3M13.55,3.64C13,3.4 12.45,3.23 11.88,3.12L14.37,1.82L15.27,4.71C14.76,4.29 14.19,3.93 13.55,3.64M6.09,4.44C5.6,4.79 5.17,5.19 4.8,5.63L4.91,2.82L7.87,3.5C7.25,3.71 6.65,4.03 6.09,4.44M18,9.71C17.91,9.12 17.78,8.55 17.59,8L19.97,9.5L17.92,11.73C18.03,11.08 18.05,10.4 18,9.71M3.04,11.3C3.11,11.9 3.24,12.47 3.43,13L1.06,11.5L3.1,9.28C3,9.93 2.97,10.61 3.04,11.3M19,18H16V16A4,4 0 0,0 12,12A4,4 0 0,0 8,16H6A2,2 0 0,0 4,18A2,2 0 0,0 6,20H19A1,1 0 0,0 20,19A1,1 0 0,0 19,18Z\";\r\nexport var mdiWeatherPartlyLightning = \"M19,15C18.65,15 18.31,15.06 18,15.17V15C18,13.19 17.19,11.56 15.92,10.46C16.35,8.03 15.1,5.5 12.75,4.47C9.97,3.24 6.72,4.5 5.5,7.25C4.6,9.24 5,11.45 6.27,13H6A4,4 0 0,0 2,17A4,4 0 0,0 6,21H7C7,21 8,21 8,20C8,19 7,19 7,19H6A2,2 0 0,1 4,17A2,2 0 0,1 6,15H8A4,4 0 0,1 12,11A4,4 0 0,1 16,15V17H19A1,1 0 0,1 20,18A1,1 0 0,1 19,19H17C17,19 16,19 16,20C16,21 17,21 17,21H19A3,3 0 0,0 22,18A3,3 0 0,0 19,15M12,9C10.16,9 8.5,9.83 7.41,11.13C6.93,10.22 6.85,9.09 7.31,8.07C8.09,6.31 10.16,5.5 11.93,6.3C13.18,6.86 13.94,8.06 14,9.34C13.38,9.12 12.7,9 12,9M13.55,2.63C13,2.4 12.45,2.23 11.88,2.12L14.37,0.82L15.27,3.71C14.76,3.29 14.19,2.93 13.55,2.63M6.09,3.44C5.6,3.79 5.17,4.19 4.8,4.63L4.91,1.82L7.87,2.5C7.25,2.71 6.65,3.03 6.09,3.44M18,8.71C17.91,8.12 17.78,7.55 17.59,7L19.97,8.5L17.92,10.73C18.03,10.08 18.05,9.4 18,8.71M3.04,10.3C3.11,10.9 3.25,11.47 3.43,12L1.06,10.5L3.1,8.28C3,8.93 2.97,9.61 3.04,10.3M11.8,15H14.25L12.61,18.27H14.25L11.18,24L11.8,19.91H9.75\";\r\nexport var mdiWeatherPartlyRainy = \"M12.75,4.47C15.1,5.5 16.35,8.03 15.92,10.46C17.19,11.56 18,13.19 18,15V15.17C18.31,15.06 18.65,15 19,15A3,3 0 0,1 22,18A3,3 0 0,1 19,21H17C17,21 16,21 16,20C16,19 17,19 17,19H19A1,1 0 0,0 20,18A1,1 0 0,0 19,17H16V15A4,4 0 0,0 12,11A4,4 0 0,0 8,15H6A2,2 0 0,0 4,17A2,2 0 0,0 6,19H7C7,19 8,19 8,20C8,21 7,21 7,21H6A4,4 0 0,1 2,17A4,4 0 0,1 6,13H6.27C5,11.45 4.6,9.24 5.5,7.25C6.72,4.5 9.97,3.24 12.75,4.47M11.93,6.3C10.16,5.5 8.09,6.31 7.31,8.07C6.85,9.09 6.93,10.22 7.41,11.13C8.5,9.83 10.16,9 12,9C12.7,9 13.38,9.12 14,9.34C13.94,8.06 13.18,6.86 11.93,6.3M13.55,2.63C13,2.4 12.45,2.23 11.88,2.12L14.37,0.82L15.27,3.71C14.76,3.29 14.19,2.93 13.55,2.63M6.09,3.44C5.6,3.79 5.17,4.19 4.8,4.63L4.91,1.82L7.87,2.5C7.25,2.71 6.65,3.03 6.09,3.44M18,8.71C17.91,8.12 17.78,7.55 17.59,7L19.97,8.5L17.92,10.73C18.03,10.08 18.05,9.4 18,8.71M3.04,10.3C3.11,10.9 3.25,11.47 3.43,12L1.06,10.5L3.1,8.28C3,8.93 2.97,9.61 3.04,10.3M12,18.91C12.59,19.82 13,20.63 13,21A1,1 0 0,1 12,22A1,1 0 0,1 11,21C11,20.63 11.41,19.82 12,18.91M12,15.62C12,15.62 9,19 9,21A3,3 0 0,0 12,24A3,3 0 0,0 15,21C15,19 12,15.62 12,15.62Z\";\r\nexport var mdiWeatherPartlySnowy = \"M6,19.03A2,2 0 0,1 4,17.03C4,15.92 4.9,15.03 6,15.03H8C8,12.81 9.79,11.03 12,11.03A4,4 0 0,1 16,15.03V17.03H19A1,1 0 0,1 20,18.03C20,18.57 19.55,19.03 19,19.03H17C17,19.03 16,19.03 16,20.03C16,21.03 17,21.03 17,21.03H19A3,3 0 0,0 22,18.03C22,16.37 20.66,15.03 19,15.03C18.65,15.03 18.31,15.08 18,15.19V15.03C18,13.21 17.19,11.58 15.92,10.5C16.35,8.05 15.1,5.53 12.75,4.5C9.97,3.27 6.72,4.53 5.5,7.28C4.6,9.27 5,11.47 6.27,13.03H6C3.79,13.03 2,14.81 2,17.03A4,4 0 0,0 6,21.03C6,21.03 7,21.03 7,20.03C7,19.03 6,19.03 6,19.03M12,9.03C10.16,9.03 8.5,9.85 7.41,11.16C6.93,10.25 6.85,9.11 7.31,8.09C8.09,6.33 10.16,5.53 11.93,6.32C13.18,6.89 13.94,8.08 14,9.37C13.38,9.15 12.7,9.03 12,9.03M13.55,2.66C13,2.42 12.45,2.26 11.88,2.15L14.37,0.84L15.27,3.73C14.76,3.31 14.19,2.95 13.55,2.66M6.09,3.46C5.6,3.81 5.17,4.21 4.8,4.66L4.91,1.84L7.87,2.53C7.25,2.73 6.65,3.05 6.09,3.46M18,8.73C17.91,8.15 17.78,7.57 17.59,7.03L19.97,8.53L17.92,10.76C18.03,10.1 18.05,9.42 18,8.73M3.04,10.32C3.11,10.92 3.25,11.5 3.43,12.03L1.06,10.53L3.1,8.3C3,8.95 2.97,9.64 3.04,10.32M8.03,21.45C8.13,21.84 8.53,22.06 8.91,21.96L10.5,21.54L10.06,23.11C9.96,23.5 10.19,23.9 10.57,24C10.95,24.1 11.35,23.87 11.45,23.5L11.87,21.91L13.03,23.07C13.3,23.35 13.77,23.35 14.05,23.07C14.33,22.79 14.33,22.32 14.05,22.05L12.89,20.88L14.47,20.47C14.85,20.37 15.08,19.97 15,19.59C14.88,19.21 14.5,19 14.09,19.08L12.5,19.5L12.94,17.93C13.04,17.54 12.82,17.15 12.43,17.05C12.05,16.95 11.66,17.17 11.55,17.56L11.14,19.14L10,17.97C9.7,17.69 9.23,17.69 8.95,17.97C8.68,18.27 8.68,18.72 8.95,19L10.11,20.16L8.54,20.57C8.15,20.68 7.93,21.07 8.03,21.45Z\";\r\nexport var mdiWeatherPartlySnowyRainy = \"M13.55,2.66C13,2.42 12.45,2.26 11.88,2.15L14.37,0.84L15.27,3.73C14.76,3.31 14.19,2.95 13.55,2.66M6.09,3.46C5.6,3.81 5.17,4.21 4.8,4.66L4.91,1.84L7.87,2.53C7.25,2.73 6.65,3.05 6.09,3.46M18,8.73C17.91,8.15 17.78,7.57 17.59,7.03L19.97,8.53L17.92,10.76C18.03,10.1 18.05,9.42 18,8.73M3.04,10.32C3.11,10.92 3.25,11.5 3.43,12.03L1.06,10.53L3.1,8.3C3,8.95 2.97,9.64 3.04,10.32M16.68,22.21C16.68,23.2 15.91,24 14.95,24C14,24 13.23,23.2 13.23,22.21C13.23,21.03 14.95,19.03 14.95,19.03C14.95,19.03 16.68,21.03 16.68,22.21M6.03,21.45C5.93,21.07 6.15,20.68 6.54,20.58L8.13,20.15L6.96,19C6.68,18.72 6.68,18.27 6.96,18C7.23,17.7 7.7,17.7 8,18L9.14,19.14L9.55,17.56C9.65,17.17 10.05,16.94 10.43,17.05C10.82,17.15 11.05,17.55 10.93,17.93L10.5,19.5L12.1,19.1C12.5,19 12.88,19.21 13,19.6C13.08,19.97 12.86,20.37 12.47,20.47L10.89,20.89L12.05,22.05C12.33,22.32 12.33,22.79 12.05,23.07C11.77,23.35 11.31,23.35 11.03,23.07L9.87,21.9L9.45,23.5C9.35,23.88 8.95,24.1 8.57,24C8.18,23.9 7.97,23.5 8.06,23.12L8.5,21.55L6.91,21.96C6.5,22.06 6.13,21.84 6.03,21.45M19,15.03C18.65,15.03 18.31,15.08 18,15.19V15.03C18,13.21 17.19,11.58 15.92,10.5C16.35,8.05 15.1,5.53 12.75,4.5C9.97,3.27 6.72,4.53 5.5,7.28C4.6,9.27 5,11.47 6.27,13.03H6C3.79,13.03 2,14.81 2,17.03C2,18.17 2.5,19.2 3.27,19.93V19.93C3.27,19.93 3.97,20.64 4.68,19.93C5.39,19.22 4.68,18.5 4.68,18.5C4.27,18.15 4,17.62 4,17.03C4,15.92 4.9,15.03 6,15.03H8C8,12.81 9.79,11.03 12,11.03A4,4 0 0,1 16,15.03V17.03H19A1,1 0 0,1 20,18.03C20,18.57 19.55,19.03 19,19.03H18C18,19.03 17,19.03 17,20.03C17,21.03 18,21.03 18,21.03H19A3,3 0 0,0 22,18.03C22,16.37 20.66,15.03 19,15.03M12,9.03C10.16,9.03 8.5,9.85 7.41,11.16C6.93,10.25 6.85,9.11 7.31,8.09C8.09,6.33 10.16,5.53 11.93,6.32C13.18,6.89 13.94,8.08 14,9.37C13.38,9.15 12.7,9.03 12,9.03Z\";\r\nexport var mdiWeatherPouring = \"M9,12C9.53,12.14 9.85,12.69 9.71,13.22L8.41,18.05C8.27,18.59 7.72,18.9 7.19,18.76C6.65,18.62 6.34,18.07 6.5,17.54L7.78,12.71C7.92,12.17 8.47,11.86 9,12M13,12C13.53,12.14 13.85,12.69 13.71,13.22L11.64,20.95C11.5,21.5 10.95,21.8 10.41,21.66C9.88,21.5 9.56,20.97 9.7,20.43L11.78,12.71C11.92,12.17 12.47,11.86 13,12M17,12C17.53,12.14 17.85,12.69 17.71,13.22L16.41,18.05C16.27,18.59 15.72,18.9 15.19,18.76C14.65,18.62 14.34,18.07 14.5,17.54L15.78,12.71C15.92,12.17 16.47,11.86 17,12M17,10V9A5,5 0 0,0 12,4C9.5,4 7.45,5.82 7.06,8.19C6.73,8.07 6.37,8 6,8A3,3 0 0,0 3,11C3,12.11 3.6,13.08 4.5,13.6V13.59C5,13.87 5.14,14.5 4.87,14.96C4.59,15.43 4,15.6 3.5,15.32V15.33C2,14.47 1,12.85 1,11A5,5 0 0,1 6,6C7,3.65 9.3,2 12,2C15.43,2 18.24,4.66 18.5,8.03L19,8A4,4 0 0,1 23,12C23,13.5 22.2,14.77 21,15.46V15.46C20.5,15.73 19.91,15.57 19.63,15.09C19.36,14.61 19.5,14 20,13.72V13.73C20.6,13.39 21,12.74 21,12A2,2 0 0,0 19,10H17Z\";\r\nexport var mdiWeatherRainy = \"M6,14.03A1,1 0 0,1 7,15.03C7,15.58 6.55,16.03 6,16.03C3.24,16.03 1,13.79 1,11.03C1,8.27 3.24,6.03 6,6.03C7,3.68 9.3,2.03 12,2.03C15.43,2.03 18.24,4.69 18.5,8.06L19,8.03A4,4 0 0,1 23,12.03C23,14.23 21.21,16.03 19,16.03H18C17.45,16.03 17,15.58 17,15.03C17,14.47 17.45,14.03 18,14.03H19A2,2 0 0,0 21,12.03A2,2 0 0,0 19,10.03H17V9.03C17,6.27 14.76,4.03 12,4.03C9.5,4.03 7.45,5.84 7.06,8.21C6.73,8.09 6.37,8.03 6,8.03A3,3 0 0,0 3,11.03A3,3 0 0,0 6,14.03M12,14.15C12.18,14.39 12.37,14.66 12.56,14.94C13,15.56 14,17.03 14,18C14,19.11 13.1,20 12,20A2,2 0 0,1 10,18C10,17.03 11,15.56 11.44,14.94C11.63,14.66 11.82,14.4 12,14.15M12,11.03L11.5,11.59C11.5,11.59 10.65,12.55 9.79,13.81C8.93,15.06 8,16.56 8,18A4,4 0 0,0 12,22A4,4 0 0,0 16,18C16,16.56 15.07,15.06 14.21,13.81C13.35,12.55 12.5,11.59 12.5,11.59\";\r\nexport var mdiWeatherSnowy = \"M6,14A1,1 0 0,1 7,15A1,1 0 0,1 6,16A5,5 0 0,1 1,11A5,5 0 0,1 6,6C7,3.65 9.3,2 12,2C15.43,2 18.24,4.66 18.5,8.03L19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16H18A1,1 0 0,1 17,15A1,1 0 0,1 18,14H19A2,2 0 0,0 21,12A2,2 0 0,0 19,10H17V9A5,5 0 0,0 12,4C9.5,4 7.45,5.82 7.06,8.19C6.73,8.07 6.37,8 6,8A3,3 0 0,0 3,11A3,3 0 0,0 6,14M7.88,18.07L10.07,17.5L8.46,15.88C8.07,15.5 8.07,14.86 8.46,14.46C8.85,14.07 9.5,14.07 9.88,14.46L11.5,16.07L12.07,13.88C12.21,13.34 12.76,13.03 13.29,13.17C13.83,13.31 14.14,13.86 14,14.4L13.41,16.59L15.6,16C16.14,15.86 16.69,16.17 16.83,16.71C16.97,17.24 16.66,17.79 16.12,17.93L13.93,18.5L15.54,20.12C15.93,20.5 15.93,21.15 15.54,21.54C15.15,21.93 14.5,21.93 14.12,21.54L12.5,19.93L11.93,22.12C11.79,22.66 11.24,22.97 10.71,22.83C10.17,22.69 9.86,22.14 10,21.6L10.59,19.41L8.4,20C7.86,20.14 7.31,19.83 7.17,19.29C7.03,18.76 7.34,18.21 7.88,18.07Z\";\r\nexport var mdiWeatherSnowyHeavy = \"M4,16.36C3.86,15.82 4.18,15.25 4.73,15.11L7,14.5L5.33,12.86C4.93,12.46 4.93,11.81 5.33,11.4C5.73,11 6.4,11 6.79,11.4L8.45,13.05L9.04,10.8C9.18,10.24 9.75,9.92 10.29,10.07C10.85,10.21 11.17,10.78 11,11.33L10.42,13.58L12.67,13C13.22,12.83 13.79,13.15 13.93,13.71C14.08,14.25 13.76,14.82 13.2,14.96L10.95,15.55L12.6,17.21C13,17.6 13,18.27 12.6,18.67C12.2,19.07 11.54,19.07 11.15,18.67L9.5,17L8.89,19.27C8.75,19.83 8.18,20.14 7.64,20C7.08,19.86 6.77,19.29 6.91,18.74L7.5,16.5L5.26,17.09C4.71,17.23 4.14,16.92 4,16.36M1,10A5,5 0 0,1 6,5C7,2.65 9.3,1 12,1C15.43,1 18.24,3.66 18.5,7.03L19,7A4,4 0 0,1 23,11A4,4 0 0,1 19,15A1,1 0 0,1 18,14A1,1 0 0,1 19,13A2,2 0 0,0 21,11A2,2 0 0,0 19,9H17V8A5,5 0 0,0 12,3C9.5,3 7.45,4.82 7.06,7.19C6.73,7.07 6.37,7 6,7A3,3 0 0,0 3,10C3,10.85 3.35,11.61 3.91,12.16C4.27,12.55 4.26,13.16 3.88,13.54C3.5,13.93 2.85,13.93 2.47,13.54C1.56,12.63 1,11.38 1,10M14.03,20.43C14.13,20.82 14.5,21.04 14.91,20.94L16.5,20.5L16.06,22.09C15.96,22.5 16.18,22.87 16.57,22.97C16.95,23.08 17.35,22.85 17.45,22.46L17.86,20.89L19.03,22.05C19.3,22.33 19.77,22.33 20.05,22.05C20.33,21.77 20.33,21.3 20.05,21.03L18.89,19.86L20.46,19.45C20.85,19.35 21.08,18.95 20.97,18.57C20.87,18.18 20.5,17.96 20.09,18.06L18.5,18.5L18.94,16.91C19.04,16.5 18.82,16.13 18.43,16.03C18.05,15.92 17.65,16.15 17.55,16.54L17.14,18.11L15.97,16.95C15.7,16.67 15.23,16.67 14.95,16.95C14.67,17.24 14.67,17.7 14.95,17.97L16.11,19.14L14.54,19.55C14.15,19.65 13.92,20.05 14.03,20.43Z\";\r\nexport var mdiWeatherSnowyRainy = \"M18.5,18.67C18.5,19.96 17.5,21 16.25,21C15,21 14,19.96 14,18.67C14,17.12 16.25,14.5 16.25,14.5C16.25,14.5 18.5,17.12 18.5,18.67M4,17.36C3.86,16.82 4.18,16.25 4.73,16.11L7,15.5L5.33,13.86C4.93,13.46 4.93,12.81 5.33,12.4C5.73,12 6.4,12 6.79,12.4L8.45,14.05L9.04,11.8C9.18,11.24 9.75,10.92 10.29,11.07C10.85,11.21 11.17,11.78 11,12.33L10.42,14.58L12.67,14C13.22,13.83 13.79,14.15 13.93,14.71C14.08,15.25 13.76,15.82 13.2,15.96L10.95,16.55L12.6,18.21C13,18.6 13,19.27 12.6,19.67C12.2,20.07 11.54,20.07 11.15,19.67L9.5,18L8.89,20.27C8.75,20.83 8.18,21.14 7.64,21C7.08,20.86 6.77,20.29 6.91,19.74L7.5,17.5L5.26,18.09C4.71,18.23 4.14,17.92 4,17.36M1,11A5,5 0 0,1 6,6C7,3.65 9.3,2 12,2C15.43,2 18.24,4.66 18.5,8.03L19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16A1,1 0 0,1 18,15A1,1 0 0,1 19,14A2,2 0 0,0 21,12A2,2 0 0,0 19,10H17V9A5,5 0 0,0 12,4C9.5,4 7.45,5.82 7.06,8.19C6.73,8.07 6.37,8 6,8A3,3 0 0,0 3,11C3,11.85 3.35,12.61 3.91,13.16C4.27,13.55 4.26,14.16 3.88,14.54C3.5,14.93 2.85,14.93 2.47,14.54C1.56,13.63 1,12.38 1,11Z\";\r\nexport var mdiWeatherSunny = \"M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,2L14.39,5.42C13.65,5.15 12.84,5 12,5C11.16,5 10.35,5.15 9.61,5.42L12,2M3.34,7L7.5,6.65C6.9,7.16 6.36,7.78 5.94,8.5C5.5,9.24 5.25,10 5.11,10.79L3.34,7M3.36,17L5.12,13.23C5.26,14 5.53,14.78 5.95,15.5C6.37,16.24 6.91,16.86 7.5,17.37L3.36,17M20.65,7L18.88,10.79C18.74,10 18.47,9.23 18.05,8.5C17.63,7.78 17.1,7.15 16.5,6.64L20.65,7M20.64,17L16.5,17.36C17.09,16.85 17.62,16.22 18.04,15.5C18.46,14.77 18.73,14 18.87,13.21L20.64,17M12,22L9.59,18.56C10.33,18.83 11.14,19 12,19C12.82,19 13.63,18.83 14.37,18.56L12,22Z\";\r\nexport var mdiWeatherSunnyAlert = \"M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7M12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15M12,2L14.39,5.42C13.65,5.15 12.84,5 12,5C11.16,5 10.35,5.15 9.61,5.42L12,2M3.34,7L7.5,6.65C6.9,7.16 6.36,7.78 5.94,8.5C5.5,9.24 5.25,10 5.11,10.79L3.34,7M3.36,17L5.12,13.23C5.26,14 5.53,14.78 5.95,15.5C6.37,16.24 6.91,16.86 7.5,17.37L3.36,17M12,22L9.59,18.56C10.33,18.83 11.14,19 12,19C12.82,19 13.63,18.83 14.37,18.56M19,13V7H21V13H19M19,17V15H21V17\";\r\nexport var mdiWeatherSunnyOff = \"M22.11 21.46L2.39 1.73L1.11 3L4.97 6.86L3.34 7L5.11 10.79C5.25 10 5.5 9.24 5.94 8.5C6 8.36 6.13 8.24 6.22 8.11L7.66 9.55C7.25 10.27 7 11.11 7 12C7 14.76 9.24 17 12 17C12.9 17 13.73 16.75 14.45 16.34L20.84 22.73L22.11 21.46M12 15C10.34 15 9 13.66 9 12C9 11.67 9.07 11.36 9.17 11.06L12.94 14.83C12.64 14.93 12.33 15 12 15M18.05 8.5C17.63 7.78 17.1 7.15 16.5 6.64L20.65 7L18.88 10.79C18.74 10 18.47 9.23 18.05 8.5M12 7C14.76 7 17 9.24 17 12C17 12.54 16.89 13.05 16.74 13.54L15 11.78C14.87 10.3 13.7 9.13 12.22 9L10.47 7.27C10.95 7.11 11.46 7 12 7M12 5C11.16 5 10.35 5.15 9.61 5.42L12 2L14.39 5.42C13.65 5.15 12.84 5 12 5M18.87 13.21L20.64 17L20.24 17.04L18.25 15.05C18.54 14.45 18.76 13.84 18.87 13.21M12 19C12.82 19 13.63 18.83 14.37 18.56L12 22L9.59 18.56C10.33 18.83 11.14 19 12 19M5.95 15.5C6.37 16.24 6.91 16.86 7.5 17.37L3.36 17L5.12 13.23C5.26 14 5.53 14.78 5.95 15.5Z\";\r\nexport var mdiWeatherSunset = \"M3,12H7A5,5 0 0,1 12,7A5,5 0 0,1 17,12H21A1,1 0 0,1 22,13A1,1 0 0,1 21,14H3A1,1 0 0,1 2,13A1,1 0 0,1 3,12M5,16H19A1,1 0 0,1 20,17A1,1 0 0,1 19,18H5A1,1 0 0,1 4,17A1,1 0 0,1 5,16M17,20A1,1 0 0,1 18,21A1,1 0 0,1 17,22H7A1,1 0 0,1 6,21A1,1 0 0,1 7,20H17M15,12A3,3 0 0,0 12,9A3,3 0 0,0 9,12H15M12,2L14.39,5.42C13.65,5.15 12.84,5 12,5C11.16,5 10.35,5.15 9.61,5.42L12,2M3.34,7L7.5,6.65C6.9,7.16 6.36,7.78 5.94,8.5C5.5,9.24 5.25,10 5.11,10.79L3.34,7M20.65,7L18.88,10.79C18.74,10 18.47,9.23 18.05,8.5C17.63,7.78 17.1,7.15 16.5,6.64L20.65,7Z\";\r\nexport var mdiWeatherSunsetDown = \"M3,12H7A5,5 0 0,1 12,7A5,5 0 0,1 17,12H21A1,1 0 0,1 22,13A1,1 0 0,1 21,14H3A1,1 0 0,1 2,13A1,1 0 0,1 3,12M15,12A3,3 0 0,0 12,9A3,3 0 0,0 9,12H15M12,2L14.39,5.42C13.65,5.15 12.84,5 12,5C11.16,5 10.35,5.15 9.61,5.42L12,2M3.34,7L7.5,6.65C6.9,7.16 6.36,7.78 5.94,8.5C5.5,9.24 5.25,10 5.11,10.79L3.34,7M20.65,7L18.88,10.79C18.74,10 18.47,9.23 18.05,8.5C17.63,7.78 17.1,7.15 16.5,6.64L20.65,7M12.71,20.71L15.82,17.6C16.21,17.21 16.21,16.57 15.82,16.18C15.43,15.79 14.8,15.79 14.41,16.18L12,18.59L9.59,16.18C9.2,15.79 8.57,15.79 8.18,16.18C7.79,16.57 7.79,17.21 8.18,17.6L11.29,20.71C11.5,20.9 11.74,21 12,21C12.26,21 12.5,20.9 12.71,20.71Z\";\r\nexport var mdiWeatherSunsetUp = \"M3,12H7A5,5 0 0,1 12,7A5,5 0 0,1 17,12H21A1,1 0 0,1 22,13A1,1 0 0,1 21,14H3A1,1 0 0,1 2,13A1,1 0 0,1 3,12M15,12A3,3 0 0,0 12,9A3,3 0 0,0 9,12H15M12,2L14.39,5.42C13.65,5.15 12.84,5 12,5C11.16,5 10.35,5.15 9.61,5.42L12,2M3.34,7L7.5,6.65C6.9,7.16 6.36,7.78 5.94,8.5C5.5,9.24 5.25,10 5.11,10.79L3.34,7M20.65,7L18.88,10.79C18.74,10 18.47,9.23 18.05,8.5C17.63,7.78 17.1,7.15 16.5,6.64L20.65,7M12.71,16.3L15.82,19.41C16.21,19.8 16.21,20.43 15.82,20.82C15.43,21.21 14.8,21.21 14.41,20.82L12,18.41L9.59,20.82C9.2,21.21 8.57,21.21 8.18,20.82C7.79,20.43 7.79,19.8 8.18,19.41L11.29,16.3C11.5,16.1 11.74,16 12,16C12.26,16 12.5,16.1 12.71,16.3Z\";\r\nexport var mdiWeatherTornado = \"M21,5H3A1,1 0 0,1 2,4A1,1 0 0,1 3,3H21A1,1 0 0,1 22,4A1,1 0 0,1 21,5M20,8A1,1 0 0,0 19,7H5A1,1 0 0,0 4,8A1,1 0 0,0 5,9H19A1,1 0 0,0 20,8M21,12A1,1 0 0,0 20,11H10A1,1 0 0,0 9,12A1,1 0 0,0 10,13H20A1,1 0 0,0 21,12M16,16A1,1 0 0,0 15,15H9A1,1 0 0,0 8,16A1,1 0 0,0 9,17H15A1,1 0 0,0 16,16M13,20A1,1 0 0,0 12,19H10A1,1 0 0,0 9,20A1,1 0 0,0 10,21H12A1,1 0 0,0 13,20Z\";\r\nexport var mdiWeatherWindy = \"M4,10A1,1 0 0,1 3,9A1,1 0 0,1 4,8H12A2,2 0 0,0 14,6A2,2 0 0,0 12,4C11.45,4 10.95,4.22 10.59,4.59C10.2,5 9.56,5 9.17,4.59C8.78,4.2 8.78,3.56 9.17,3.17C9.9,2.45 10.9,2 12,2A4,4 0 0,1 16,6A4,4 0 0,1 12,10H4M19,12A1,1 0 0,0 20,11A1,1 0 0,0 19,10C18.72,10 18.47,10.11 18.29,10.29C17.9,10.68 17.27,10.68 16.88,10.29C16.5,9.9 16.5,9.27 16.88,8.88C17.42,8.34 18.17,8 19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14H5A1,1 0 0,1 4,13A1,1 0 0,1 5,12H19M18,18H4A1,1 0 0,1 3,17A1,1 0 0,1 4,16H18A3,3 0 0,1 21,19A3,3 0 0,1 18,22C17.17,22 16.42,21.66 15.88,21.12C15.5,20.73 15.5,20.1 15.88,19.71C16.27,19.32 16.9,19.32 17.29,19.71C17.47,19.89 17.72,20 18,20A1,1 0 0,0 19,19A1,1 0 0,0 18,18Z\";\r\nexport var mdiWeatherWindyVariant = \"M6,6L6.69,6.06C7.32,3.72 9.46,2 12,2A5.5,5.5 0 0,1 17.5,7.5L17.42,8.45C17.88,8.16 18.42,8 19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14H6A4,4 0 0,1 2,10A4,4 0 0,1 6,6M6,8A2,2 0 0,0 4,10A2,2 0 0,0 6,12H19A1,1 0 0,0 20,11A1,1 0 0,0 19,10H15.5V7.5A3.5,3.5 0 0,0 12,4A3.5,3.5 0 0,0 8.5,7.5V8H6M18,18H4A1,1 0 0,1 3,17A1,1 0 0,1 4,16H18A3,3 0 0,1 21,19A3,3 0 0,1 18,22C17.17,22 16.42,21.66 15.88,21.12C15.5,20.73 15.5,20.1 15.88,19.71C16.27,19.32 16.9,19.32 17.29,19.71C17.47,19.89 17.72,20 18,20A1,1 0 0,0 19,19A1,1 0 0,0 18,18Z\";\r\nexport var mdiWeb = \"M16.36,14C16.44,13.34 16.5,12.68 16.5,12C16.5,11.32 16.44,10.66 16.36,10H19.74C19.9,10.64 20,11.31 20,12C20,12.69 19.9,13.36 19.74,14M14.59,19.56C15.19,18.45 15.65,17.25 15.97,16H18.92C17.96,17.65 16.43,18.93 14.59,19.56M14.34,14H9.66C9.56,13.34 9.5,12.68 9.5,12C9.5,11.32 9.56,10.65 9.66,10H14.34C14.43,10.65 14.5,11.32 14.5,12C14.5,12.68 14.43,13.34 14.34,14M12,19.96C11.17,18.76 10.5,17.43 10.09,16H13.91C13.5,17.43 12.83,18.76 12,19.96M8,8H5.08C6.03,6.34 7.57,5.06 9.4,4.44C8.8,5.55 8.35,6.75 8,8M5.08,16H8C8.35,17.25 8.8,18.45 9.4,19.56C7.57,18.93 6.03,17.65 5.08,16M4.26,14C4.1,13.36 4,12.69 4,12C4,11.31 4.1,10.64 4.26,10H7.64C7.56,10.66 7.5,11.32 7.5,12C7.5,12.68 7.56,13.34 7.64,14M12,4.03C12.83,5.23 13.5,6.57 13.91,8H10.09C10.5,6.57 11.17,5.23 12,4.03M18.92,8H15.97C15.65,6.75 15.19,5.55 14.59,4.44C16.43,5.07 17.96,6.34 18.92,8M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiWebBox = \"M8.95 13.4H6.58A5.5 5.5 0 0 1 6.58 10.6H8.95A11.56 11.56 0 0 0 8.85 12A11.56 11.56 0 0 0 8.95 13.4M7.16 9.2H9.2A12.06 12.06 0 0 1 10.18 6.71A5.55 5.55 0 0 0 7.16 9.2M16.84 9.2A5.59 5.59 0 0 0 13.81 6.71A10.95 10.95 0 0 1 14.78 9.2M12 17.57A9.5 9.5 0 0 0 13.34 14.8H10.66A9.5 9.5 0 0 0 12 17.57M12 6.42A9.53 9.53 0 0 0 10.66 9.2H13.34A9.53 9.53 0 0 0 12 6.42M7.16 14.8A5.61 5.61 0 0 0 10.18 17.29A12.06 12.06 0 0 1 9.2 14.8M21 5V19A2 2 0 0 1 19 21H5A2 2 0 0 1 3 19V5A2 2 0 0 1 5 3H19A2 2 0 0 1 21 5M19 12A7 7 0 1 0 12 19A7 7 0 0 0 19 12M15.15 12A11.56 11.56 0 0 1 15.05 13.4H17.42A5.5 5.5 0 0 0 17.42 10.6H15.05A11.56 11.56 0 0 1 15.15 12M13.81 17.29A5.62 5.62 0 0 0 16.84 14.8H14.78A10.95 10.95 0 0 1 13.81 17.29M10.36 10.6A8.81 8.81 0 0 0 10.36 13.4H13.64A10.3 10.3 0 0 0 13.75 12A10.21 10.21 0 0 0 13.64 10.6Z\";\r\nexport var mdiWebCancel = \"M13.82 14H9.66C9.56 13.34 9.5 12.68 9.5 12S9.56 10.65 9.66 10H14.34C14.43 10.65 14.5 11.32 14.5 12C14.5 12.5 14.46 13 14.4 13.46C15 12.96 15.72 12.57 16.5 12.32C16.5 12.21 16.5 12.11 16.5 12C16.5 11.32 16.44 10.66 16.36 10H19.74C19.9 10.64 20 11.31 20 12C20 12.06 20 12.12 20 12.18C20.7 12.35 21.35 12.63 21.95 13C22 12.68 22 12.34 22 12C22 6.5 17.5 2 12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22C12.34 22 12.68 22 13 21.95C12.59 21.29 12.29 20.55 12.13 19.75C12.09 19.82 12.05 19.89 12 19.96C11.17 18.76 10.5 17.43 10.09 16H12.5C12.81 15.25 13.26 14.58 13.82 14M18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44C16.43 5.07 17.96 6.34 18.92 8M12 4.03C12.83 5.23 13.5 6.57 13.91 8H10.09C10.5 6.57 11.17 5.23 12 4.03M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M8 8H5.08C6.03 6.34 7.57 5.06 9.4 4.44C8.8 5.55 8.35 6.75 8 8M18.5 14C16 14 14 16 14 18.5S16 23 18.5 23 23 21 23 18.5 21 14 18.5 14M18.5 21.5C16.84 21.5 15.5 20.16 15.5 18.5C15.5 17.94 15.65 17.42 15.92 17L20 21.08C19.58 21.35 19.06 21.5 18.5 21.5M21.08 20L17 15.92C17.42 15.65 17.94 15.5 18.5 15.5C20.16 15.5 21.5 16.84 21.5 18.5C21.5 19.06 21.35 19.58 21.08 20Z\";\r\nexport var mdiWebCheck = \"M16.5 12C16.5 11.32 16.44 10.66 16.36 10H19.74C19.9 10.64 20 11.31 20 12C20 12.37 19.97 12.73 19.92 13.08C20.61 13.18 21.25 13.4 21.84 13.72C21.94 13.16 22 12.59 22 12C22 6.5 17.5 2 12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22C12.59 22 13.16 21.94 13.72 21.84C13.26 21 13 20.03 13 19C13 18.71 13.03 18.43 13.07 18.15C12.75 18.78 12.4 19.39 12 19.96C11.17 18.76 10.5 17.43 10.09 16H13.81C14.41 14.96 15.31 14.12 16.4 13.6C16.46 13.07 16.5 12.54 16.5 12M12 4.03C12.83 5.23 13.5 6.57 13.91 8H10.09C10.5 6.57 11.17 5.23 12 4.03M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M8 8H5.08C6.03 6.34 7.57 5.06 9.4 4.44C8.8 5.55 8.35 6.75 8 8M14.34 14H9.66C9.56 13.34 9.5 12.68 9.5 12S9.56 10.65 9.66 10H14.34C14.43 10.65 14.5 11.32 14.5 12S14.43 13.34 14.34 14M14.59 4.44C16.43 5.07 17.96 6.34 18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\r\nexport var mdiWebClock = \"M15 12.5V16.5L18 18.5L18.75 17.25L16.5 15.75V12.5H15M22 12.39C22 12.26 22 12.13 22 12C22 6.5 17.5 2 12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22C12.13 22 12.24 22 12.37 21.97C13.43 22.62 14.67 23 16 23C19.86 23 23 19.86 23 16C23 14.68 22.62 13.44 22 12.39M19.76 10.11C19.7 10.07 19.65 10.04 19.59 10H19.74C19.75 10.03 19.75 10.07 19.76 10.11M18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44C16.43 5.07 17.96 6.34 18.92 8M12 4.03C12.83 5.23 13.5 6.57 13.91 8H10.09C10.5 6.57 11.17 5.23 12 4.03M9.66 10H12.41C11.16 10.75 10.15 11.88 9.57 13.24C9.53 12.83 9.5 12.42 9.5 12C9.5 11.32 9.56 10.65 9.66 10M9.4 4.44C8.8 5.55 8.35 6.75 8 8H5.08C6.03 6.34 7.57 5.06 9.4 4.44M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21Z\";\r\nexport var mdiWebMinus = \"M16.5 12C16.5 11.32 16.44 10.66 16.36 10H19.74C19.9 10.64 20 11.31 20 12C20 12.37 19.97 12.73 19.92 13.08C20.61 13.18 21.25 13.4 21.84 13.72C21.94 13.16 22 12.59 22 12C22 6.5 17.5 2 12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22C12.59 22 13.16 21.94 13.72 21.84C13.26 21 13 20.03 13 19C13 18.71 13.03 18.43 13.07 18.15C12.75 18.78 12.4 19.39 12 19.96C11.17 18.76 10.5 17.43 10.09 16H13.81C14.41 14.96 15.31 14.12 16.4 13.6C16.46 13.07 16.5 12.54 16.5 12M12 4.03C12.83 5.23 13.5 6.57 13.91 8H10.09C10.5 6.57 11.17 5.23 12 4.03M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M8 8H5.08C6.03 6.34 7.57 5.06 9.4 4.44C8.8 5.55 8.35 6.75 8 8M14.34 14H9.66C9.56 13.34 9.5 12.68 9.5 12S9.56 10.65 9.66 10H14.34C14.43 10.65 14.5 11.32 14.5 12S14.43 13.34 14.34 14M14.59 4.44C16.43 5.07 17.96 6.34 18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44M23 18V20H15V18H23Z\";\r\nexport var mdiWebOff = \"M9.4 4.44C9.19 4.83 9 5.23 8.84 5.64L10.37 7.17C10.78 6.05 11.33 5 12 4.03C12.83 5.23 13.5 6.57 13.91 8H11.2L13.2 10H14.34C14.4 10.41 14.44 10.84 14.47 11.27L16.44 13.24C16.47 12.83 16.5 12.42 16.5 12C16.5 11.32 16.44 10.66 16.36 10H19.74C19.9 10.64 20 11.31 20 12S19.9 13.36 19.74 14H17.2L20.5 17.28C21.44 15.75 22 13.94 22 12C22 6.5 17.5 2 12 2C10.06 2 8.25 2.56 6.72 3.5L8.18 5C8.57 4.77 9 4.58 9.4 4.44M18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44C16.43 5.07 17.96 6.34 18.92 8M2.39 1.73L1.11 3L4.06 5.95C2.77 7.63 2 9.73 2 12C2 17.5 6.5 22 12 22C14.28 22 16.37 21.23 18.06 19.95L20.84 22.73L22.11 21.46L2.39 1.73M5.5 7.37L6.11 8H5.08C5.2 7.78 5.34 7.58 5.5 7.37M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M9.5 12C9.5 11.8 9.5 11.61 9.53 11.42L12.11 14H9.66C9.56 13.34 9.5 12.68 9.5 12M12 19.96C11.17 18.76 10.5 17.43 10.09 16H13.91C13.5 17.43 12.83 18.76 12 19.96M14.59 19.56C14.96 18.88 15.26 18.15 15.5 17.41L16.62 18.5C16 18.95 15.32 19.31 14.59 19.56Z\";\r\nexport var mdiWebPlus = \"M16.5 12C16.5 11.32 16.44 10.66 16.36 10H19.74C19.9 10.64 20 11.31 20 12C20 12.37 19.97 12.73 19.92 13.08C20.61 13.18 21.25 13.4 21.84 13.72C21.94 13.16 22 12.59 22 12C22 6.5 17.5 2 12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22C12.59 22 13.16 21.94 13.72 21.84C13.26 21 13 20.03 13 19C13 18.71 13.03 18.43 13.07 18.15C12.75 18.78 12.4 19.39 12 19.96C11.17 18.76 10.5 17.43 10.09 16H13.81C14.41 14.96 15.31 14.12 16.4 13.6C16.46 13.07 16.5 12.54 16.5 12M12 4.03C12.83 5.23 13.5 6.57 13.91 8H10.09C10.5 6.57 11.17 5.23 12 4.03M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M8 8H5.08C6.03 6.34 7.57 5.06 9.4 4.44C8.8 5.55 8.35 6.75 8 8M14.34 14H9.66C9.56 13.34 9.5 12.68 9.5 12S9.56 10.65 9.66 10H14.34C14.43 10.65 14.5 11.32 14.5 12S14.43 13.34 14.34 14M14.59 4.44C16.43 5.07 17.96 6.34 18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44M23 18V20H20V23H18V20H15V18H18V15H20V18H23Z\";\r\nexport var mdiWebRefresh = \"M13.82 14H9.66C9.56 13.34 9.5 12.68 9.5 12S9.56 10.65 9.66 10H14.34C14.43 10.65 14.5 11.32 14.5 12C14.5 12.5 14.46 13 14.4 13.46C15 12.96 15.72 12.57 16.5 12.32C16.5 12.21 16.5 12.11 16.5 12C16.5 11.32 16.44 10.66 16.36 10H19.74C19.9 10.64 20 11.31 20 12C20 12.06 20 12.12 20 12.18C20.7 12.35 21.35 12.63 21.95 13C22 12.68 22 12.34 22 12C22 6.5 17.5 2 12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22C12.34 22 12.68 22 13 21.95C12.59 21.29 12.29 20.55 12.13 19.75C12.09 19.82 12.05 19.89 12 19.96C11.17 18.76 10.5 17.43 10.09 16H12.5C12.81 15.25 13.26 14.58 13.82 14M18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44C16.43 5.07 17.96 6.34 18.92 8M12 4.03C12.83 5.23 13.5 6.57 13.91 8H10.09C10.5 6.57 11.17 5.23 12 4.03M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M8 8H5.08C6.03 6.34 7.57 5.06 9.4 4.44C8.8 5.55 8.35 6.75 8 8M20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5S16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5S15.79 14.5 18 14.5C19.11 14.5 20.11 14.95 20.83 15.67Z\";\r\nexport var mdiWebRemove = \"M16.5 12C16.5 11.32 16.44 10.66 16.36 10H19.74C19.9 10.64 20 11.31 20 12C20 12.37 19.97 12.73 19.92 13.08C20.61 13.18 21.25 13.4 21.84 13.72C21.94 13.16 22 12.59 22 12C22 6.5 17.5 2 12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22C12.59 22 13.16 21.94 13.72 21.84C13.26 21 13 20.03 13 19C13 18.71 13.03 18.43 13.07 18.15C12.75 18.78 12.4 19.39 12 19.96C11.17 18.76 10.5 17.43 10.09 16H13.81C14.41 14.96 15.31 14.12 16.4 13.6C16.46 13.07 16.5 12.54 16.5 12M12 4.03C12.83 5.23 13.5 6.57 13.91 8H10.09C10.5 6.57 11.17 5.23 12 4.03M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M8 8H5.08C6.03 6.34 7.57 5.06 9.4 4.44C8.8 5.55 8.35 6.75 8 8M14.34 14H9.66C9.56 13.34 9.5 12.68 9.5 12S9.56 10.65 9.66 10H14.34C14.43 10.65 14.5 11.32 14.5 12S14.43 13.34 14.34 14M14.59 4.44C16.43 5.07 17.96 6.34 18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19Z\";\r\nexport var mdiWebSync = \"M16.5 11.74C16.5 11.15 16.43 10.58 16.36 10H19.74C19.82 10.33 19.89 10.67 19.93 11C20.65 11.07 21.34 11.23 22 11.5C21.71 6.21 17.35 2 12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22C12.87 22 13.71 21.88 14.5 21.67C13.71 20.71 13.18 19.5 13.04 18.2C12.73 18.81 12.39 19.4 12 19.96C11.17 18.76 10.5 17.43 10.09 16H13.18C13.35 15.28 13.64 14.61 14.03 14H9.66C9.56 13.34 9.5 12.68 9.5 12S9.56 10.65 9.66 10H14.34C14.43 10.65 14.5 11.32 14.5 12C14.5 12.5 14.46 13 14.4 13.5C14.97 12.76 15.68 12.17 16.5 11.74M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M8 8H5.08C6.03 6.34 7.57 5.06 9.4 4.44C8.8 5.55 8.35 6.75 8 8M10.09 8C10.5 6.57 11.17 5.23 12 4.03C12.83 5.23 13.5 6.57 13.91 8H10.09M18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44C16.43 5.07 17.96 6.34 18.92 8M23 17.5C23 18.32 22.75 19.08 22.33 19.71L21.24 18.62C21.41 18.28 21.5 17.9 21.5 17.5C21.5 16.12 20.38 15 19 15V16.5L16.75 14.25L19 12V13.5C21.21 13.5 23 15.29 23 17.5M19 18.5L21.25 20.75L19 23V21.5C16.79 21.5 15 19.71 15 17.5C15 16.68 15.25 15.92 15.67 15.29L16.76 16.38C16.59 16.72 16.5 17.1 16.5 17.5C16.5 18.88 17.62 20 19 20V18.5Z\";\r\nexport var mdiWebcam = \"M12,2A7,7 0 0,1 19,9A7,7 0 0,1 12,16A7,7 0 0,1 5,9A7,7 0 0,1 12,2M12,4A5,5 0 0,0 7,9A5,5 0 0,0 12,14A5,5 0 0,0 17,9A5,5 0 0,0 12,4M12,6A3,3 0 0,1 15,9A3,3 0 0,1 12,12A3,3 0 0,1 9,9A3,3 0 0,1 12,6M6,22A2,2 0 0,1 4,20C4,19.62 4.1,19.27 4.29,18.97L6.11,15.81C7.69,17.17 9.75,18 12,18C14.25,18 16.31,17.17 17.89,15.81L19.71,18.97C19.9,19.27 20,19.62 20,20A2,2 0 0,1 18,22H6Z\";\r\nexport var mdiWebcamOff = \"M12 6C13.66 6 15 7.34 15 9C15 9.78 14.7 10.5 14.21 11L10 6.79C10.5 6.3 11.22 6 12 6M12 4C14.76 4 17 6.24 17 9C17 10.33 16.47 11.53 15.62 12.42L17.04 13.84C18.25 12.59 19 10.88 19 9C19 5.13 15.87 2 12 2C10.12 2 8.41 2.75 7.16 3.96L8.58 5.38C9.47 4.53 10.67 4 12 4M22.11 21.46L20.84 22.73L19.46 21.35C19.1 21.75 18.58 22 18 22H6C4.89 22 4 21.11 4 20C4 19.62 4.1 19.27 4.29 18.97L6.11 15.81C7.69 17.17 9.75 18 12 18C13.21 18 14.37 17.75 15.43 17.32L13.85 15.74C13.26 15.91 12.64 16 12 16C8.13 16 5 12.87 5 9C5 8.36 5.09 7.74 5.26 7.15L1.11 3L2.39 1.73L22.11 21.46M12.1 14L7 8.9C7 8.93 7 8.97 7 9C7 11.76 9.24 14 12 14C12.03 14 12.07 14 12.1 14Z\";\r\nexport var mdiWebhook = \"M10.46,19C9,21.07 6.15,21.59 4.09,20.15C2.04,18.71 1.56,15.84 3,13.75C3.87,12.5 5.21,11.83 6.58,11.77L6.63,13.2C5.72,13.27 4.84,13.74 4.27,14.56C3.27,16 3.58,17.94 4.95,18.91C6.33,19.87 8.26,19.5 9.26,18.07C9.57,17.62 9.75,17.13 9.82,16.63V15.62L15.4,15.58L15.47,15.47C16,14.55 17.15,14.23 18.05,14.75C18.95,15.27 19.26,16.43 18.73,17.35C18.2,18.26 17.04,18.58 16.14,18.06C15.73,17.83 15.44,17.46 15.31,17.04L11.24,17.06C11.13,17.73 10.87,18.38 10.46,19M17.74,11.86C20.27,12.17 22.07,14.44 21.76,16.93C21.45,19.43 19.15,21.2 16.62,20.89C15.13,20.71 13.9,19.86 13.19,18.68L14.43,17.96C14.92,18.73 15.75,19.28 16.75,19.41C18.5,19.62 20.05,18.43 20.26,16.76C20.47,15.09 19.23,13.56 17.5,13.35C16.96,13.29 16.44,13.36 15.97,13.53L15.12,13.97L12.54,9.2H12.32C11.26,9.16 10.44,8.29 10.47,7.25C10.5,6.21 11.4,5.4 12.45,5.44C13.5,5.5 14.33,6.35 14.3,7.39C14.28,7.83 14.11,8.23 13.84,8.54L15.74,12.05C16.36,11.85 17.04,11.78 17.74,11.86M8.25,9.14C7.25,6.79 8.31,4.1 10.62,3.12C12.94,2.14 15.62,3.25 16.62,5.6C17.21,6.97 17.09,8.47 16.42,9.67L15.18,8.95C15.6,8.14 15.67,7.15 15.27,6.22C14.59,4.62 12.78,3.85 11.23,4.5C9.67,5.16 8.97,7 9.65,8.6C9.93,9.26 10.4,9.77 10.97,10.11L11.36,10.32L8.29,15.31C8.32,15.36 8.36,15.42 8.39,15.5C8.88,16.41 8.54,17.56 7.62,18.05C6.71,18.54 5.56,18.18 5.06,17.24C4.57,16.31 4.91,15.16 5.83,14.67C6.22,14.46 6.65,14.41 7.06,14.5L9.37,10.73C8.9,10.3 8.5,9.76 8.25,9.14Z\";\r\nexport var mdiWebpack = \"M20.45 17.39L12.36 21.97V18.4L17.4 15.63L20.45 17.39M21 16.89V7.31L18.04 9V15.18L21 16.89M3.55 17.39L11.64 21.96V18.4L6.6 15.63L3.55 17.39M3 16.89V7.31L5.96 9V15.18L3 16.89M3.35 6.69L11.64 2V5.45L6.33 8.37L6.28 8.39L3.35 6.69M20.65 6.69L12.36 2V5.45L17.67 8.38L17.71 8.4L20.65 6.69M11.64 17.59L6.67 14.85V9.44L11.64 12.31V17.59M12.36 17.59L17.33 14.86V9.44L12.36 12.31V17.59M7 8.81L12 6.06L17 8.81L12 11.69L7 8.81Z\";\r\nexport var mdiWebrtc = \"M12 2C14.44 2 16.5 3.75 16.91 6.07L17.75 6C20.5 6 22.75 8.24 22.75 11C22.75 12.89 21.7 14.53 20.16 15.38C20.54 16.09 20.75 16.89 20.75 17.75C20.75 20.5 18.5 22.75 15.75 22.75C14.26 22.75 12.92 22.1 12 21.06C11.08 22.1 9.74 22.75 8.25 22.75C5.5 22.75 3.25 20.5 3.25 17.75C3.25 16.89 3.47 16.09 3.84 15.38C2.3 14.53 1.25 12.89 1.25 11C1.25 8.24 3.5 6 6.25 6L7.09 6.07C7.5 3.75 9.56 2 12 2M6.75 20.25L13.66 17H17C17.55 17 18 16.55 18 16V9C18 8.45 17.55 8 17 8H7C6.45 8 6 8.45 6 9V16C6 16.55 6.45 17 7 17H7.77L6.75 20.25Z\";\r\nexport var mdiWechat = \"M9.5,4C5.36,4 2,6.69 2,10C2,11.89 3.08,13.56 4.78,14.66L4,17L6.5,15.5C7.39,15.81 8.37,16 9.41,16C9.15,15.37 9,14.7 9,14C9,10.69 12.13,8 16,8C16.19,8 16.38,8 16.56,8.03C15.54,5.69 12.78,4 9.5,4M6.5,6.5A1,1 0 0,1 7.5,7.5A1,1 0 0,1 6.5,8.5A1,1 0 0,1 5.5,7.5A1,1 0 0,1 6.5,6.5M11.5,6.5A1,1 0 0,1 12.5,7.5A1,1 0 0,1 11.5,8.5A1,1 0 0,1 10.5,7.5A1,1 0 0,1 11.5,6.5M16,9C12.69,9 10,11.24 10,14C10,16.76 12.69,19 16,19C16.67,19 17.31,18.92 17.91,18.75L20,20L19.38,18.13C20.95,17.22 22,15.71 22,14C22,11.24 19.31,9 16,9M14,11.5A1,1 0 0,1 15,12.5A1,1 0 0,1 14,13.5A1,1 0 0,1 13,12.5A1,1 0 0,1 14,11.5M18,11.5A1,1 0 0,1 19,12.5A1,1 0 0,1 18,13.5A1,1 0 0,1 17,12.5A1,1 0 0,1 18,11.5Z\";\r\nexport var mdiWeight = \"M12,3A4,4 0 0,1 16,7C16,7.73 15.81,8.41 15.46,9H18C18.95,9 19.75,9.67 19.95,10.56C21.96,18.57 22,18.78 22,19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19C2,18.78 2.04,18.57 4.05,10.56C4.25,9.67 5.05,9 6,9H8.54C8.19,8.41 8,7.73 8,7A4,4 0 0,1 12,3M12,5A2,2 0 0,0 10,7A2,2 0 0,0 12,9A2,2 0 0,0 14,7A2,2 0 0,0 12,5Z\";\r\nexport var mdiWeightGram = \"M19.95,10.56C19.75,9.67 18.95,9 18,9H15.46C15.81,8.41 16,7.73 16,7A4,4 0 0,0 12,3A4,4 0 0,0 8,7C8,7.73 8.19,8.41 8.54,9H6C5.05,9 4.25,9.67 4.05,10.56C2.04,18.57 2,18.78 2,19A2,2 0 0,0 4,21H20A2,2 0 0,0 22,19C22,18.78 21.96,18.57 19.95,10.56M12,5A2,2 0 0,1 14,7A2,2 0 0,1 12,9A2,2 0 0,1 10,7A2,2 0 0,1 12,5M15,13H11V17H13V14H15V19H11C9.89,19 9,18.11 9,17V13C9,11.89 9.89,11 11,11H15V13Z\";\r\nexport var mdiWeightKilogram = \"M12,3A4,4 0 0,1 16,7C16,7.73 15.81,8.41 15.46,9H18C18.95,9 19.75,9.67 19.95,10.56C21.96,18.57 22,18.78 22,19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19C2,18.78 2.04,18.57 4.05,10.56C4.25,9.67 5.05,9 6,9H8.54C8.19,8.41 8,7.73 8,7A4,4 0 0,1 12,3M12,5A2,2 0 0,0 10,7A2,2 0 0,0 12,9A2,2 0 0,0 14,7A2,2 0 0,0 12,5M6,11V19H8V16.5L9,17.5V19H11V17L9,15L11,13V11H9V12.5L8,13.5V11H6M15,11C13.89,11 13,11.89 13,13V17C13,18.11 13.89,19 15,19H18V14H16V17H15V13H18V11H15Z\";\r\nexport var mdiWeightLifter = \"M12 5C10.89 5 10 5.89 10 7S10.89 9 12 9 14 8.11 14 7 13.11 5 12 5M22 1V6H20V4H4V6H2V1H4V3H20V1H22M15 11.26V23H13V18H11V23H9V11.26C6.93 10.17 5.5 8 5.5 5.5L5.5 5H7.5L7.5 5.5C7.5 8 9.5 10 12 10S16.5 8 16.5 5.5L16.5 5H18.5L18.5 5.5C18.5 8 17.07 10.17 15 11.26Z\";\r\nexport var mdiWeightPound = \"M12,3A4,4 0 0,1 16,7C16,7.73 15.81,8.41 15.46,9H18C18.95,9 19.75,9.67 19.95,10.56C21.96,18.57 22,18.78 22,19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19C2,18.78 2.04,18.57 4.05,10.56C4.25,9.67 5.05,9 6,9H8.54C8.19,8.41 8,7.73 8,7A4,4 0 0,1 12,3M12,5A2,2 0 0,0 10,7A2,2 0 0,0 12,9A2,2 0 0,0 14,7A2,2 0 0,0 12,5M6,11V19H11V17H8V11H6M13,11V19H16C17.11,19 18,18.11 18,17V16.5C18,15.93 17.75,15.38 17.32,15C17.75,14.62 18,14.07 18,13.5V13C18,11.89 17.11,11 16,11H13M15,13H16V14H15V13M15,16H16V17H15V16Z\";\r\nexport var mdiWhatsapp = \"M12.04 2C6.58 2 2.13 6.45 2.13 11.91C2.13 13.66 2.59 15.36 3.45 16.86L2.05 22L7.3 20.62C8.75 21.41 10.38 21.83 12.04 21.83C17.5 21.83 21.95 17.38 21.95 11.92C21.95 9.27 20.92 6.78 19.05 4.91C17.18 3.03 14.69 2 12.04 2M12.05 3.67C14.25 3.67 16.31 4.53 17.87 6.09C19.42 7.65 20.28 9.72 20.28 11.92C20.28 16.46 16.58 20.15 12.04 20.15C10.56 20.15 9.11 19.76 7.85 19L7.55 18.83L4.43 19.65L5.26 16.61L5.06 16.29C4.24 15 3.8 13.47 3.8 11.91C3.81 7.37 7.5 3.67 12.05 3.67M8.53 7.33C8.37 7.33 8.1 7.39 7.87 7.64C7.65 7.89 7 8.5 7 9.71C7 10.93 7.89 12.1 8 12.27C8.14 12.44 9.76 14.94 12.25 16C12.84 16.27 13.3 16.42 13.66 16.53C14.25 16.72 14.79 16.69 15.22 16.63C15.7 16.56 16.68 16.03 16.89 15.45C17.1 14.87 17.1 14.38 17.04 14.27C16.97 14.17 16.81 14.11 16.56 14C16.31 13.86 15.09 13.26 14.87 13.18C14.64 13.1 14.5 13.06 14.31 13.3C14.15 13.55 13.67 14.11 13.53 14.27C13.38 14.44 13.24 14.46 13 14.34C12.74 14.21 11.94 13.95 11 13.11C10.26 12.45 9.77 11.64 9.62 11.39C9.5 11.15 9.61 11 9.73 10.89C9.84 10.78 10 10.6 10.1 10.45C10.23 10.31 10.27 10.2 10.35 10.04C10.43 9.87 10.39 9.73 10.33 9.61C10.27 9.5 9.77 8.26 9.56 7.77C9.36 7.29 9.16 7.35 9 7.34C8.86 7.34 8.7 7.33 8.53 7.33Z\";\r\nexport var mdiWheelBarrow = \"M18 15.5C18.83 15.5 19.5 16.17 19.5 17S18.83 18.5 18 18.5 16.5 17.83 16.5 17 17.17 15.5 18 15.5M18 14C16.34 14 15 15.34 15 17S16.34 20 18 20C19.66 20 21 18.66 21 17S19.66 14 18 14M7 8L5 5H2V7H5.13L8 11.3V20H10L12.57 15H14.55C15.25 13.81 16.5 13 18 13C18.88 13 19.69 13.29 20.35 13.78L22 8H7M9.39 19H9V12.8L9.87 14.11C10.23 14.64 10.82 14.96 11.45 15L9.39 19Z\";\r\nexport var mdiWheelchairAccessibility = \"M18.4,11.2L14.3,11.4L16.6,8.8C16.8,8.5 16.9,8 16.8,7.5C16.7,7.2 16.6,6.9 16.3,6.7L10.9,3.5C10.5,3.2 9.9,3.3 9.5,3.6L6.8,6.1C6.3,6.6 6.2,7.3 6.7,7.8C7.1,8.3 7.9,8.3 8.4,7.9L10.4,6.1L12.3,7.2L8.1,11.5C8,11.6 8,11.7 7.9,11.7C7.4,11.9 6.9,12.1 6.5,12.4L8,13.9C8.5,13.7 9,13.5 9.5,13.5C11.4,13.5 13,15.1 13,17C13,17.6 12.9,18.1 12.6,18.5L14.1,20C14.7,19.1 15,18.1 15,17C15,15.8 14.6,14.6 13.9,13.7L17.2,13.4L17,18.2C16.9,18.9 17.4,19.4 18.1,19.5H18.2C18.8,19.5 19.3,19 19.4,18.4L19.6,12.5C19.6,12.2 19.5,11.8 19.3,11.6C19,11.3 18.7,11.2 18.4,11.2M18,5.5A2,2 0 0,0 20,3.5A2,2 0 0,0 18,1.5A2,2 0 0,0 16,3.5A2,2 0 0,0 18,5.5M12.5,21.6C11.6,22.2 10.6,22.5 9.5,22.5C6.5,22.5 4,20 4,17C4,15.9 4.3,14.9 4.9,14L6.4,15.5C6.2,16 6,16.5 6,17C6,18.9 7.6,20.5 9.5,20.5C10.1,20.5 10.6,20.4 11,20.1L12.5,21.6Z\";\r\nexport var mdiWhistle = \"M8.5,9A6.5,6.5 0 0,0 2,15.5A6.5,6.5 0 0,0 8.5,22A6.5,6.5 0 0,0 15,15.5V13.91L22,12V9H11V11H9V9H8.5M11,2V7H9V2H11M6.35,7.28C5.68,7.44 5.04,7.68 4.43,8L2.14,4.88L3.76,3.7L6.35,7.28M17.86,4.88L16.32,7H13.85L16.24,3.7L17.86,4.88Z\";\r\nexport var mdiWhistleOutline = \"M3.76 3.7L2.14 4.88L4.43 8A8.23 8.23 0 0 1 6.35 7.28M11 9V11H18V11.29L13 12.71V15.5A4.5 4.5 0 1 1 8.5 11H9V9H8.5A6.5 6.5 0 1 0 15 15.5V13.91L22 12V9M16.24 3.7L13.85 7H16.32L17.86 4.88M9 2V7H11V2Z\";\r\nexport var mdiWhiteBalanceAuto = \"M10.3,16L9.6,14H6.4L5.7,16H3.8L7,7H9L12.2,16M22,7L20.8,13.29L19.3,7H17.7L16.21,13.29L15,7H14.24C12.77,5.17 10.5,4 8,4A8,8 0 0,0 0,12A8,8 0 0,0 8,20C11.13,20 13.84,18.19 15.15,15.57L15.25,16H17L18.5,9.9L20,16H21.75L23.8,7M6.85,12.65H9.15L8,9L6.85,12.65Z\";\r\nexport var mdiWhiteBalanceIncandescent = \"M17.24,18.15L19.04,19.95L20.45,18.53L18.66,16.74M20,12.5H23V10.5H20M15,6.31V1.5H9V6.31C7.21,7.35 6,9.28 6,11.5A6,6 0 0,0 12,17.5A6,6 0 0,0 18,11.5C18,9.28 16.79,7.35 15,6.31M4,10.5H1V12.5H4M11,22.45C11.32,22.45 13,22.45 13,22.45V19.5H11M3.55,18.53L4.96,19.95L6.76,18.15L5.34,16.74L3.55,18.53Z\";\r\nexport var mdiWhiteBalanceIridescent = \"M4.96,19.95L6.76,18.15L5.34,16.74L3.55,18.53M3.55,4.46L5.34,6.26L6.76,4.84L4.96,3.05M20.45,18.53L18.66,16.74L17.24,18.15L19.04,19.95M13,22.45V19.5H11V22.45C11.32,22.45 13,22.45 13,22.45M19.04,3.05L17.24,4.84L18.66,6.26L20.45,4.46M11,3.5H13V0.55H11M5,14.5H19V8.5H5V14.5Z\";\r\nexport var mdiWhiteBalanceSunny = \"M3.55,18.54L4.96,19.95L6.76,18.16L5.34,16.74M11,22.45C11.32,22.45 13,22.45 13,22.45V19.5H11M12,5.5A6,6 0 0,0 6,11.5A6,6 0 0,0 12,17.5A6,6 0 0,0 18,11.5C18,8.18 15.31,5.5 12,5.5M20,12.5H23V10.5H20M17.24,18.16L19.04,19.95L20.45,18.54L18.66,16.74M20.45,4.46L19.04,3.05L17.24,4.84L18.66,6.26M13,0.55H11V3.5H13M4,10.5H1V12.5H4M6.76,4.84L4.96,3.05L3.55,4.46L5.34,6.26L6.76,4.84Z\";\r\nexport var mdiWidgets = \"M3,3H11V7.34L16.66,1.69L22.31,7.34L16.66,13H21V21H13V13H16.66L11,7.34V11H3V3M3,13H11V21H3V13Z\";\r\nexport var mdiWidgetsOutline = \"M16.7 4.5L19.5 7.3L16.7 10.1L13.9 7.3L16.7 4.5M9 5V9H5V5H9M19 15V19H15V15H19M16.7 1.7L11 7.3L16.7 13H13V21H21V13H16.7L22.3 7.3L16.7 1.7M11 3H3V11H11V3M9 15V19H5V15H9M11 13H3V21H11V13Z\";\r\nexport var mdiWifi = \"M12,21L15.6,16.2C14.6,15.45 13.35,15 12,15C10.65,15 9.4,15.45 8.4,16.2L12,21M12,3C7.95,3 4.21,4.34 1.2,6.6L3,9C5.5,7.12 8.62,6 12,6C15.38,6 18.5,7.12 21,9L22.8,6.6C19.79,4.34 16.05,3 12,3M12,9C9.3,9 6.81,9.89 4.8,11.4L6.6,13.8C8.1,12.67 9.97,12 12,12C14.03,12 15.9,12.67 17.4,13.8L19.2,11.4C17.19,9.89 14.7,9 12,9Z\";\r\nexport var mdiWifiAlert = \"M20.24 5H18V7.25C16.16 6.45 14.13 6 12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3C14.97 3 17.77 3.73 20.24 5M8.4 16.2L12 21L15.6 16.2C14.6 15.45 13.35 15 12 15S9.4 15.45 8.4 16.2M4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12S15.9 12.67 17.4 13.8L18 13V10.62C16.23 9.59 14.19 9 12 9C9.3 9 6.81 9.89 4.8 11.4M20 17H22V15H20V17M20 7V13H22V7H20Z\";\r\nexport var mdiWifiArrowDown = \"M12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3S19.79 4.34 22.8 6.6L21 9C18.5 7.12 15.38 6 12 6M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M16.84 13.41C17.18 13.27 17.55 13.17 17.92 13.1L19.2 11.4C17.19 9.89 14.7 9 12 9S6.81 9.89 4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12C13.78 12 15.44 12.5 16.84 13.41M20 16H18V20H16L19 23L22 20H20V16Z\";\r\nexport var mdiWifiArrowLeft = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L17.92 13.1C17.55 13.17 17.18 13.27 16.84 13.41C15.44 12.5 13.78 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M18 16L15 19L18 22V20H22V18H18V16Z\";\r\nexport var mdiWifiArrowLeftRight = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L17.92 13.1C17.55 13.17 17.18 13.27 16.84 13.41C15.44 12.5 13.78 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M18 18.5L15 21L18 23.5V22H22V20H18V18.5M23 17L20 14.5V16H16V18H20V19.5L23 17Z\";\r\nexport var mdiWifiArrowRight = \"M12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3S19.79 4.34 22.8 6.6L21 9C18.5 7.12 15.38 6 12 6M16.84 13.41C17.18 13.27 17.55 13.17 17.92 13.1L19.2 11.4C17.19 9.89 14.7 9 12 9S6.81 9.89 4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12C13.78 12 15.44 12.5 16.84 13.41M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M23 19L20 16V18H16V20H20V22L23 19Z\";\r\nexport var mdiWifiArrowUp = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L17.92 13.1C17.55 13.17 17.18 13.27 16.84 13.41C15.44 12.5 13.78 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M16 18H18V22H20V18H22L19 15L16 18Z\";\r\nexport var mdiWifiArrowUpDown = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L17.92 13.1C17.55 13.17 17.18 13.27 16.84 13.41C15.44 12.5 13.78 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M17 15L14.5 18H16V22H18V18H19.5L17 15M22 20V16H20V20H18.5L21 23L23.5 20H22Z\";\r\nexport var mdiWifiCancel = \"M12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3S19.79 4.34 22.8 6.6L21 9C18.5 7.12 15.38 6 12 6M15.53 12.72C16.42 12.26 17.43 12 18.5 12C18.58 12 18.66 12 18.74 12L19.2 11.4C17.19 9.89 14.7 9 12 9S6.81 9.89 4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12C13.26 12 14.45 12.26 15.53 12.72M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L12.34 20.54C12.13 19.9 12 19.22 12 18.5C12 17.24 12.36 16.08 13 15.08C12.66 15.03 12.33 15 12 15M23 18.5C23 21 21 23 18.5 23S14 21 14 18.5 16 14 18.5 14 23 16 23 18.5M20 21.08L15.92 17C15.65 17.42 15.5 17.94 15.5 18.5C15.5 20.16 16.84 21.5 18.5 21.5C19.06 21.5 19.58 21.35 20 21.08M21.5 18.5C21.5 16.84 20.16 15.5 18.5 15.5C17.94 15.5 17.42 15.65 17 15.92L21.08 20C21.35 19.58 21.5 19.06 21.5 18.5Z\";\r\nexport var mdiWifiCheck = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L17.92 13.1C17.55 13.17 17.18 13.27 16.84 13.41C15.44 12.5 13.78 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84L17.75 19.43Z\";\r\nexport var mdiWifiCog = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L18.74 12C17.66 12.05 16.63 12.33 15.73 12.81C14.6 12.29 13.33 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L12.22 20.71C12.08 20.16 12 19.59 12 19C12 17.57 12.43 16.24 13.17 15.13C12.79 15.05 12.4 15 12 15M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\r\nexport var mdiWifiLock = \"M12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3S19.79 4.34 22.8 6.6L21 9C18.5 7.12 15.38 6 12 6M17.4 10.29C15.77 9.47 13.94 9 12 9C9.3 9 6.81 9.89 4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12C12.97 12 13.9 12.16 14.78 12.44C15.34 11.45 16.27 10.68 17.4 10.29M8.4 16.2L12 21L13 19.67V17.2C13 16.5 13.27 15.81 13.7 15.26C13.16 15.1 12.59 15 12 15C10.65 15 9.4 15.45 8.4 16.2M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\r\nexport var mdiWifiLockOpen = \"M12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3S19.79 4.34 22.8 6.6L21 9C18.5 7.12 15.38 6 12 6M16.31 9.81C14.97 9.29 13.5 9 12 9C9.3 9 6.81 9.89 4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12C12.83 12 13.63 12.12 14.39 12.33C14.7 11.3 15.38 10.41 16.31 9.81M8.4 16.2L12 21L13 19.67V17.2C13 16.5 13.27 15.81 13.7 15.26C13.16 15.1 12.59 15 12 15C10.65 15 9.4 15.45 8.4 16.2M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\r\nexport var mdiWifiMarker = \"M12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3S19.79 4.34 22.8 6.6L21 9C18.5 7.12 15.38 6 12 6M13 15.09C12.69 15.03 12.35 15 12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.8 18.6C13.33 17.58 13 16.5 13 15.5C13 15.36 13 15.23 13 15.09M12 9C9.3 9 6.81 9.89 4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12C12.73 12 13.43 12.09 14.1 12.25C14.86 11.25 15.93 10.5 17.17 10.18C15.6 9.43 13.85 9 12 9M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\r\nexport var mdiWifiMinus = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L17.92 13.1C17.55 13.17 17.18 13.27 16.84 13.41C15.44 12.5 13.78 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M15 18V20H23V18H15Z\";\r\nexport var mdiWifiOff = \"M2.28,3L1,4.27L2.47,5.74C2.04,6 1.61,6.29 1.2,6.6L3,9C3.53,8.6 4.08,8.25 4.66,7.93L6.89,10.16C6.15,10.5 5.44,10.91 4.8,11.4L6.6,13.8C7.38,13.22 8.26,12.77 9.2,12.47L11.75,15C10.5,15.07 9.34,15.5 8.4,16.2L12,21L14.46,17.73L17.74,21L19,19.72M12,3C9.85,3 7.8,3.38 5.9,4.07L8.29,6.47C9.5,6.16 10.72,6 12,6C15.38,6 18.5,7.11 21,9L22.8,6.6C19.79,4.34 16.06,3 12,3M12,9C11.62,9 11.25,9 10.88,9.05L14.07,12.25C15.29,12.53 16.43,13.07 17.4,13.8L19.2,11.4C17.2,9.89 14.7,9 12,9Z\";\r\nexport var mdiWifiPlus = \"M12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3S19.79 4.34 22.8 6.6L21 9C18.5 7.12 15.38 6 12 6M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M16.84 13.41C17.18 13.27 17.55 13.17 17.92 13.1L19.2 11.4C17.19 9.89 14.7 9 12 9S6.81 9.89 4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12C13.78 12 15.44 12.5 16.84 13.41M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiWifiRefresh = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L18.74 12C18.66 12 18.58 12 18.5 12C17.43 12 16.42 12.26 15.53 12.72C14.45 12.26 13.26 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L12.34 20.54C12.13 19.9 12 19.22 12 18.5C12 17.24 12.36 16.08 13 15.08C12.66 15.03 12.33 15 12 15M18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5Z\";\r\nexport var mdiWifiRemove = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L17.92 13.1C17.55 13.17 17.18 13.27 16.84 13.41C15.44 12.5 13.78 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M21.12 15.46L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\r\nexport var mdiWifiSettings = \"M12 20L8.4 15.2C9.4 14.45 10.65 14 12 14S14.6 14.45 15.6 15.2L12 20M4.8 10.4L6.6 12.8C8.1 11.67 9.97 11 12 11S15.9 11.67 17.4 12.8L19.2 10.4C17.19 8.89 14.7 8 12 8S6.81 8.89 4.8 10.4M12 2C7.95 2 4.21 3.34 1.2 5.6L3 8C5.5 6.12 8.62 5 12 5S18.5 6.12 21 8L22.8 5.6C19.79 3.34 16.05 2 12 2M7 24H9V22H7V24M15 24H17V22H15V24M11 24H13V22H11V24Z\";\r\nexport var mdiWifiStar = \"M12,6C8.6,6 5.5,7.1 3,9L1.2,6.6C4.2,4.3 8,3 12,3C16,3 19.8,4.3 22.8,6.6L21,9C18.5,7.1 15.4,6 12,6M13,19C13,17.7 13.4,16.4 14.2,15.4C13.5,15.2 12.8,15 12,15C10.7,15 9.4,15.5 8.4,16.2L12,21L13,19.6C13,19.4 13,19.2 13,19M16.8,13.4C17.1,13.3 17.5,13.2 17.9,13.1L19.2,11.4C17.2,9.9 14.7,9 12,9C9.3,9 6.8,9.9 4.8,11.4L6.6,13.8C8.1,12.7 10,12 12,12C13.8,12 15.4,12.5 16.8,13.4M16.5,22.6L17.2,19.8L15,17.9L17.9,17.7L19,15L20.1,17.6L23,17.8L20.8,19.7L21.5,22.5L19,21.1L16.5,22.6Z\";\r\nexport var mdiWifiStrength1 = \"M12,3C7.79,3 3.7,4.41 0.38,7C4.41,12.06 7.89,16.37 12,21.5C16.08,16.42 20.24,11.24 23.65,7C20.32,4.41 16.22,3 12,3M12,5C15.07,5 18.09,5.86 20.71,7.45L15.61,13.81C14.5,13.28 13.25,13 12,13C10.75,13 9.5,13.28 8.39,13.8L3.27,7.44C5.91,5.85 8.93,5 12,5Z\";\r\nexport var mdiWifiStrength1Alert = \"M12 3C7.8 3 3.7 4.4 .4 7C4.4 12.1 7.9 16.4 12 21.5C14.4 18.5 16.7 15.7 19 12.8V9.6L15.6 13.8C14.5 13.3 13.2 13 12 13S9.5 13.3 8.4 13.8L3.3 7.4C5.9 5.8 8.9 5 12 5S18.1 5.9 20.7 7.4L20.3 8H22.9C23.1 7.7 23.5 7.3 23.7 7C20.3 4.4 16.2 3 12 3M21 10V16H23V10M21 18V20H23V18\";\r\nexport var mdiWifiStrength1Lock = \"M12 13C12.8 13 13.61 13.13 14.38 13.36C14.28 13.73 14.2 14.11 14.2 14.5V14.74C13.5 15.34 13 16.24 13 17.2V20.24L12 21.5C7.88 16.37 4.39 12.06 .365 7C3.69 4.41 7.78 3 12 3C16.2 3 20.31 4.41 23.64 7L20.91 10.39C20.32 10.14 19.68 10 19 10C18.87 10 18.75 10.03 18.62 10.04L20.7 7.45C18.08 5.86 15.06 5 12 5S5.9 5.85 3.26 7.44L8.38 13.8C9.5 13.28 10.74 13 12 13M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\r\nexport var mdiWifiStrength1LockOpen = \"M12 13C12.74 13 13.5 13.12 14.22 13.31C14.22 13.38 14.2 13.44 14.2 13.5V14.74C13.5 15.34 13 16.24 13 17.2V20.24L12 21.5C7.88 16.37 4.39 12.06 .365 7C3.69 4.41 7.78 3 12 3C16.2 3 20.31 4.41 23.64 7L21.5 9.69C20.86 9.33 20.16 9.11 19.42 9.04L20.7 7.45C18.08 5.86 15.06 5 12 5S5.9 5.85 3.26 7.44L8.38 13.8C9.5 13.28 10.74 13 12 13M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\r\nexport var mdiWifiStrength2 = \"M12,3C7.79,3 3.7,4.41 0.38,7C4.41,12.06 7.89,16.37 12,21.5C16.08,16.42 20.24,11.24 23.65,7C20.32,4.41 16.22,3 12,3M12,5C15.07,5 18.09,5.86 20.71,7.45L17.5,11.43C16.26,10.74 14.37,10 12,10C9.62,10 7.74,10.75 6.5,11.43L3.27,7.44C5.91,5.85 8.93,5 12,5Z\";\r\nexport var mdiWifiStrength2Alert = \"M12 3C7.8 3 3.7 4.4 .4 7C4.4 12.1 7.9 16.4 12 21.5C14.4 18.5 16.7 15.7 19 12.8V9.6L17.5 11.4C16.3 10.7 14.4 10 12 10C9.6 10 7.7 10.8 6.5 11.4L3.3 7.4C5.9 5.8 8.9 5 12 5S18.1 5.9 20.7 7.4L20.3 8H22.9C23.1 7.7 23.5 7.3 23.7 7C20.3 4.4 16.2 3 12 3M21 10V16H23V10M21 18V20H23V18\";\r\nexport var mdiWifiStrength2Lock = \"M14.2 14.5V14.74C13.5 15.34 13 16.24 13 17.2V20.24L12 21.5C7.88 16.37 4.39 12.06 .365 7C3.69 4.41 7.78 3 12 3C16.2 3 20.31 4.41 23.64 7L20.91 10.39C20.32 10.14 19.68 10 19 10C18.87 10 18.74 10.03 18.61 10.04L20.7 7.45C18.08 5.86 15.06 5 12 5S5.9 5.85 3.26 7.44L6.5 11.43C7.73 10.75 9.61 10 12 10C13.68 10 15.12 10.38 16.26 10.84C15.03 11.67 14.2 13 14.2 14.5M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\r\nexport var mdiWifiStrength2LockOpen = \"M15.44 10.55C14.68 11.35 14.2 12.38 14.2 13.5V14.74C13.5 15.34 13 16.24 13 17.2V20.24L12 21.5C7.88 16.37 4.39 12.06 .365 7C3.69 4.41 7.78 3 12 3C16.2 3 20.31 4.41 23.64 7L21.5 9.69C20.86 9.33 20.16 9.1 19.41 9.04L20.7 7.45C18.08 5.86 15.06 5 12 5S5.9 5.85 3.26 7.44L6.5 11.43C7.73 10.75 9.61 10 12 10C13.29 10 14.45 10.23 15.44 10.55M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\r\nexport var mdiWifiStrength3 = \"M12,3C7.79,3 3.7,4.41 0.38,7C4.41,12.06 7.89,16.37 12,21.5C16.08,16.42 20.24,11.24 23.65,7C20.32,4.41 16.22,3 12,3M12,5C15.07,5 18.09,5.86 20.71,7.45L18.77,9.88C17.26,9 14.88,8 12,8C9,8 6.68,9 5.21,9.84L3.27,7.44C5.91,5.85 8.93,5 12,5Z\";\r\nexport var mdiWifiStrength3Alert = \"M12 3C7.8 3 3.7 4.4 .4 7C4.4 12.1 7.9 16.4 12 21.5C14.4 18.5 16.7 15.7 19 12.8V9.6L18.8 9.9C17.3 9 14.9 8 12 8C9 8 6.7 9 5.2 9.8L3.3 7.4C5.9 5.8 8.9 5 12 5S18.1 5.9 20.7 7.4L20.3 8H22.9C23.1 7.7 23.5 7.3 23.7 7C20.3 4.4 16.2 3 12 3M21 10V16H23V10M21 18V20H23V18\";\r\nexport var mdiWifiStrength3Lock = \"M19 10C19.68 10 20.32 10.14 20.91 10.39L23.64 7C20.31 4.41 16.2 3 12 3C7.78 3 3.69 4.41 .365 7C4.39 12.06 7.88 16.37 12 21.5L13 20.24V17.2C13 16.24 13.5 15.34 14.2 14.74V14.5C14.2 12.06 16.4 10 19 10M12 8C9 8 6.67 9 5.2 9.84L3.26 7.44C5.9 5.85 8.91 5 12 5S18.08 5.86 20.7 7.45L18.76 9.88C17.25 9 14.87 8 12 8M21.8 16V14.5C21.8 13.1 20.4 12 19 12S16.2 13.1 16.2 14.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16M20.5 16H17.5V14.5C17.5 13.7 18.2 13.2 19 13.2S20.5 13.7 20.5 14.5V16Z\";\r\nexport var mdiWifiStrength3LockOpen = \"M14.2 13.5V14.74C13.5 15.34 13 16.24 13 17.2V20.24L12 21.5C7.88 16.37 4.39 12.06 .365 7C3.69 4.41 7.78 3 12 3C16.2 3 20.31 4.41 23.64 7L21.5 9.69C20.86 9.33 20.17 9.11 19.42 9.04L20.7 7.45C18.08 5.86 15.06 5 12 5S5.9 5.85 3.26 7.44L5.2 9.84C6.67 9 9 8 12 8C14.18 8 16.08 8.58 17.53 9.25C15.63 9.85 14.2 11.54 14.2 13.5M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\r\nexport var mdiWifiStrength4 = \"M12,3C7.79,3 3.7,4.41 0.38,7C4.41,12.06 7.89,16.37 12,21.5C16.08,16.42 20.24,11.24 23.65,7C20.32,4.41 16.22,3 12,3Z\";\r\nexport var mdiWifiStrength4Alert = \"M12 3C7.8 3 3.7 4.4 .4 7C4.4 12.1 7.9 16.4 12 21.5C14.4 18.5 16.7 15.7 19 12.8V8H22.8C23 7.7 23.4 7.3 23.6 7C20.3 4.4 16.2 3 12 3M21 10V16H23V10M21 18V20H23V18\";\r\nexport var mdiWifiStrength4Lock = \"M14.2 14.5V14.74C13.5 15.34 13 16.24 13 17.2V20.24L12 21.5C7.88 16.37 4.39 12.06 .365 7C3.69 4.41 7.78 3 12 3C16.2 3 20.31 4.41 23.64 7L20.91 10.39C20.32 10.14 19.68 10 19 10C16.4 10 14.2 12.06 14.2 14.5M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\r\nexport var mdiWifiStrength4LockOpen = \"M14.2 13.5V14.74C13.5 15.34 13 16.24 13 17.2V20.24L12 21.5C7.88 16.37 4.39 12.06 .365 7C3.69 4.41 7.78 3 12 3C16.2 3 20.31 4.41 23.64 7L21.5 9.69C20.75 9.26 19.9 9 19 9C16.4 9 14.2 11.06 14.2 13.5M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\r\nexport var mdiWifiStrengthAlertOutline = \"M12 3C7.8 3 3.7 4.4 .4 7C4.3 11.8 8.2 16.7 12 21.5C14.3 18.6 16.7 15.7 19 12.8V9.6L12 18.3L3.3 7.4C5.9 5.8 8.9 5 12 5C15.1 5 18.1 5.9 20.7 7.4L20.3 8H22.9C23.2 7.7 23.4 7.3 23.7 7C20.3 4.4 16.2 3 12 3M21 10V16H23V10M21 18V20H23V18\";\r\nexport var mdiWifiStrengthLockOpenOutline = \"M23.65 7H23.64C22.92 7.9 22.2 8.79 21.5 9.69C20.87 9.33 20.17 9.11 19.43 9.04L20.71 7.45C18.09 5.86 15.07 5 12 5C8.91 5 5.9 5.85 3.27 7.44L12 18.3L13 17C13 17.08 13 17.14 13 17.2V20.25L12 21.5C8.13 16.66 4.24 11.83 .355 7H.375C3.7 4.41 7.79 3 12 3C16.22 3 20.32 4.41 23.65 7M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\r\nexport var mdiWifiStrengthLockOutline = \"M23.65 7H23.64L20.91 10.39C20.32 10.14 19.68 10 19 10C18.87 10 18.75 10.03 18.63 10.04L20.71 7.45C18.09 5.86 15.07 5 12 5C8.91 5 5.9 5.85 3.27 7.44L12 18.3L13 17C13 17.08 13 17.14 13 17.2V20.25L12 21.5C8.13 16.66 4.24 11.83 .355 7H.375C3.7 4.41 7.79 3 12 3C16.22 3 20.32 4.41 23.65 7M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\r\nexport var mdiWifiStrengthOff = \"M3.27,1.44L2,2.72L4.05,4.77C2.75,5.37 1.5,6.11 0.38,7C4.41,12.06 12,21.5 12,21.5L15.91,16.63L19.23,19.95L20.5,18.68M12,3C10.6,3 9.21,3.17 7.86,3.5L18.18,13.81C20,11.5 22.05,9 23.65,7C20.32,4.41 16.22,3 12,3Z\";\r\nexport var mdiWifiStrengthOffOutline = \"M3.27,1.44L2,2.72L4.05,4.77C2.75,5.37 1.5,6.11 0.38,7C4.2,11.8 8.14,16.67 12,21.5L15.91,16.63L19.23,19.95L20.5,18.68C14.87,13.04 3.27,1.44 3.27,1.44M12,3C10.6,3 9.21,3.17 7.86,3.5L9.56,5.19C10.37,5.07 11.18,5 12,5C15.07,5 18.09,5.86 20.71,7.45L16.76,12.38L18.18,13.8C20.08,11.43 22,9 23.65,7C20.32,4.41 16.22,3 12,3M5.57,6.29L14.5,15.21L12,18.3L3.27,7.44C4,7 4.78,6.61 5.57,6.29Z\";\r\nexport var mdiWifiStrengthOutline = \"M12,3C7.79,3 3.7,4.41 0.38,7H0.36C4.24,11.83 8.13,16.66 12,21.5C15.89,16.66 19.77,11.83 23.64,7H23.65C20.32,4.41 16.22,3 12,3M12,5C15.07,5 18.09,5.86 20.71,7.45L12,18.3L3.27,7.44C5.9,5.85 8.92,5 12,5Z\";\r\nexport var mdiWifiSync = \"M12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3S19.79 4.34 22.8 6.6L21 9C18.5 7.12 15.38 6 12 6M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.26 19.32C13.1 18.74 13 18.13 13 17.5C13 16.69 13.16 15.91 13.43 15.19C12.97 15.08 12.5 15 12 15M15.23 12.61C16.19 11.77 17.38 11.22 18.7 11.05C16.78 9.76 14.5 9 12 9C9.3 9 6.81 9.89 4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12C13.14 12 14.23 12.22 15.23 12.61M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5Z\";\r\nexport var mdiWikipedia = \"M14.97,18.95L12.41,12.92C11.39,14.91 10.27,17 9.31,18.95C9.3,18.96 8.84,18.95 8.84,18.95C7.37,15.5 5.85,12.1 4.37,8.68C4.03,7.84 2.83,6.5 2,6.5C2,6.4 2,6.18 2,6.05H7.06V6.5C6.46,6.5 5.44,6.9 5.7,7.55C6.42,9.09 8.94,15.06 9.63,16.58C10.1,15.64 11.43,13.16 12,12.11C11.55,11.23 10.13,7.93 9.71,7.11C9.39,6.57 8.58,6.5 7.96,6.5C7.96,6.35 7.97,6.25 7.96,6.06L12.42,6.07V6.47C11.81,6.5 11.24,6.71 11.5,7.29C12.1,8.53 12.45,9.42 13,10.57C13.17,10.23 14.07,8.38 14.5,7.41C14.76,6.76 14.37,6.5 13.29,6.5C13.3,6.38 13.3,6.17 13.3,6.07C14.69,6.06 16.78,6.06 17.15,6.05V6.47C16.44,6.5 15.71,6.88 15.33,7.46L13.5,11.3C13.68,11.81 15.46,15.76 15.65,16.2L19.5,7.37C19.2,6.65 18.34,6.5 18,6.5C18,6.37 18,6.2 18,6.05L22,6.08V6.1L22,6.5C21.12,6.5 20.57,7 20.25,7.75C19.45,9.54 17,15.24 15.4,18.95C15.4,18.95 14.97,18.95 14.97,18.95Z\";\r\nexport var mdiWindTurbine = \"M13.33,11.67L16.21,14.58C17.62,13.16 16.21,11.75 16.21,11.75L14.72,10.24C14.9,9.86 15,9.44 15,9C15,7.95 14.46,7.03 13.64,6.5L15,2.11C13.09,1.53 12.5,3.44 12.5,3.44L11.69,6.03C10.46,6.16 9.46,7 9.13,8.18L4.67,9.63C5.31,11.53 7.2,10.9 7.2,10.9L9.27,10.23C9.61,10.97 10.23,11.54 11,11.82V19C11,19 9,19 9,21C9,21.5 9,21.81 9,22H15V21C15,21 15,19 13,19V11.82C13.12,11.78 13.23,11.72 13.33,11.67M10.5,9A1.5,1.5 0 0,1 12,7.5A1.5,1.5 0 0,1 13.5,9A1.5,1.5 0 0,1 12,10.5A1.5,1.5 0 0,1 10.5,9Z\";\r\nexport var mdiWindowClose = \"M13.46,12L19,17.54V19H17.54L12,13.46L6.46,19H5V17.54L10.54,12L5,6.46V5H6.46L12,10.54L17.54,5H19V6.46L13.46,12Z\";\r\nexport var mdiWindowClosed = \"M6,11H10V9H14V11H18V4H6V11M18,13H6V20H18V13M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2Z\";\r\nexport var mdiWindowClosedVariant = \"M21 20V2H3V20H1V23H23V20M19 4V11H13V4M5 4H11V11H5M5 20V13H11V20M13 20V13H19V20Z\";\r\nexport var mdiWindowMaximize = \"M4,4H20V20H4V4M6,8V18H18V8H6Z\";\r\nexport var mdiWindowMinimize = \"M20,14H4V10H20\";\r\nexport var mdiWindowOpen = \"M6,8H10V6H14V8H18V4H6V8M18,10H6V15H18V10M6,20H18V17H6V20M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2Z\";\r\nexport var mdiWindowOpenVariant = \"M21 20V2H3V20H1V23H23V20M19 4V11H17V4M5 4H7V11H5M5 20V13H7V20M9 20V4H15V20M17 20V13H19V20Z\";\r\nexport var mdiWindowRestore = \"M4,8H8V4H20V16H16V20H4V8M16,8V14H18V6H10V8H16M6,12V18H14V12H6Z\";\r\nexport var mdiWindowShutter = \"M3 4H21V8H19V20H17V8H7V20H5V8H3V4M8 9H16V11H8V9M8 12H16V14H8V12M8 15H16V17H8V15M8 18H16V20H8V18Z\";\r\nexport var mdiWindowShutterAlert = \"M2 4H20V8H18V20H16V8H6V20H4V8H2V4M7 9H15V11H7V9M7 12H15V14H7V12M20 19V17H22V19H20M20 15V10H22V15H20Z\";\r\nexport var mdiWindowShutterOpen = \"M3 4H21V8H19V20H17V8H7V20H5V8H3V4M8 9H16V11H8V9Z\";\r\nexport var mdiWindsock = \"M7 5V13L22 11V7L7 5M10 6.91L13 7.31V10.69L10 11.09V6.91M16 7.71L19 8.11V9.89L16 10.29V7.71M5 10V11H6V12H5V21H3V4C3 3.45 3.45 3 4 3S5 3.45 5 4V6H6V7H5V10Z\";\r\nexport var mdiWiper = \"M12,4C5,4 2,9 2,9L9,16C9,16 9.5,15.1 10.4,14.5L10.7,16.5C10.3,16.8 10,17.4 10,18A2,2 0 0,0 12,20A2,2 0 0,0 14,18C14,17.1 13.5,16.4 12.7,16.1L12.3,14C14.1,14.2 15,16 15,16L22,9C22,9 19,4 12,4M15.1,13.1C14.3,12.5 13.3,12 12,12L11,6.1C11.3,6 11.7,6 12,6C15.7,6 18.1,7.7 19.3,8.9L15.1,13.1M8.9,13.1L4.7,8.9C5.5,8 7,7 9,6.4L10,12.4C9.6,12.6 9.2,12.8 8.9,13.1Z\";\r\nexport var mdiWiperWash = \"M13,6C13,5.7 13.1,4.6 13.8,3.8L12,2.4L10.2,3.9C10.9,4.6 11,5.7 11,6C4.7,6.4 2,11 2,11L9,18C9,18 9.7,16.7 11,16.2V18.3C10.4,18.6 10,19.3 10,20A2,2 0 0,0 12,22A2,2 0 0,0 14,20C14,19.3 13.6,18.6 13,18.3V16.2C14.3,16.7 15,18 15,18L22,11C22,11 19.3,6.5 13,6M11,14.1C10.2,14.3 9.5,14.6 8.9,15.1L4.7,10.9C5.8,9.8 7.8,8.3 11,8.1V14.1M15.1,15.1C14.5,14.7 13.8,14.3 13,14.1V8.1C16.2,8.4 18.2,9.8 19.3,10.9L15.1,15.1M18,1.3L17.3,3.2C16.6,2.9 15.5,2.9 14.7,3.2L14,1.3C15.2,0.9 16.8,0.9 18,1.3M21,6H19C19,6 19,4.7 18.2,3.9L19.7,2.6C21,4 21,5.9 21,6M4.2,2.6L5.7,3.9C5,4.7 5,6 5,6H3C3,5.9 3,4 4.2,2.6M10,1.3L9.3,3.2C8.6,2.9 7.5,2.9 6.7,3.2L6,1.3C7.2,0.9 8.8,0.9 10,1.3Z\";\r\nexport var mdiWizardHat = \"M21 22H3V20H21V22M19 19H5L11.1 2.6C11.3 2.2 11.6 2 12 2L18 5H13.9L19 19M10 7.5L11.04 7.97L11.5 9L11.97 7.97L13 7.5L11.97 7.03L11.5 6L11.04 7.03L10 7.5M13 15L10.94 14.07L10 12L9.07 14.07L7 15L9.07 15.93L10 18L10.94 15.93L13 15M13.97 11.97L15 11.5L13.97 11.03L13.5 10L13.04 11.03L12 11.5L13.04 11.97L13.5 13L13.97 11.97M15.97 15.97L17 15.5L15.97 15.03L15.5 14L15.04 15.03L14 15.5L15.04 15.97L15.5 17L15.97 15.97Z\";\r\nexport var mdiWordpress = \"M3.42,12C3.42,10.76 3.69,9.58 4.16,8.5L8.26,19.72C5.39,18.33 3.42,15.4 3.42,12M17.79,11.57C17.79,12.3 17.5,13.15 17.14,14.34L16.28,17.2L13.18,8L14.16,7.9C14.63,7.84 14.57,7.16 14.11,7.19C14.11,7.19 12.72,7.3 11.82,7.3L9.56,7.19C9.1,7.16 9.05,7.87 9.5,7.9L10.41,8L11.75,11.64L9.87,17.27L6.74,8L7.73,7.9C8.19,7.84 8.13,7.16 7.67,7.19C7.67,7.19 6.28,7.3 5.38,7.3L4.83,7.29C6.37,4.96 9,3.42 12,3.42C14.23,3.42 16.27,4.28 17.79,5.67H17.68C16.84,5.67 16.24,6.4 16.24,7.19C16.24,7.9 16.65,8.5 17.08,9.2C17.41,9.77 17.79,10.5 17.79,11.57M12.15,12.75L14.79,19.97L14.85,20.09C13.96,20.41 13,20.58 12,20.58C11.16,20.58 10.35,20.46 9.58,20.23L12.15,12.75M19.53,7.88C20.2,9.11 20.58,10.5 20.58,12C20.58,15.16 18.86,17.93 16.31,19.41L18.93,11.84C19.42,10.62 19.59,9.64 19.59,8.77L19.53,7.88M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,21.54C17.26,21.54 21.54,17.26 21.54,12C21.54,6.74 17.26,2.46 12,2.46C6.74,2.46 2.46,6.74 2.46,12C2.46,17.26 6.74,21.54 12,21.54Z\";\r\nexport var mdiWrap = \"M21,5H3V7H21V5M3,19H10V17H3V19M3,13H18C19,13 20,13.43 20,15C20,16.57 19,17 18,17H16V15L12,18L16,21V19H18C20.95,19 22,17.73 22,15C22,12.28 21,11 18,11H3V13Z\";\r\nexport var mdiWrapDisabled = \"M16,7H3V5H16V7M3,19H16V17H3V19M22,12L18,9V11H3V13H18V15L22,12Z\";\r\nexport var mdiWrench = \"M22.7,19L13.6,9.9C14.5,7.6 14,4.9 12.1,3C10.1,1 7.1,0.6 4.7,1.7L9,6L6,9L1.6,4.7C0.4,7.1 0.9,10.1 2.9,12.1C4.8,14 7.5,14.5 9.8,13.6L18.9,22.7C19.3,23.1 19.9,23.1 20.3,22.7L22.6,20.4C23.1,20 23.1,19.3 22.7,19Z\";\r\nexport var mdiWrenchOutline = \"M22.61,19L13.53,9.91C14.46,7.57 14,4.81 12.09,2.91C9.79,0.61 6.21,0.4 3.66,2.26L7.5,6.11L6.08,7.5L2.25,3.69C0.39,6.23 0.6,9.82 2.9,12.11C4.76,13.97 7.47,14.46 9.79,13.59L18.9,22.7C19.29,23.09 19.92,23.09 20.31,22.7L22.61,20.4C23,20 23,19.39 22.61,19M19.61,20.59L10.15,11.13C9.54,11.58 8.86,11.85 8.15,11.95C6.79,12.15 5.36,11.74 4.32,10.7C3.37,9.76 2.93,8.5 3,7.26L6.09,10.35L10.33,6.11L7.24,3C8.5,2.95 9.73,3.39 10.68,4.33C11.76,5.41 12.17,6.9 11.92,8.29C11.8,9 11.5,9.66 11.04,10.25L20.5,19.7L19.61,20.59Z\";\r\nexport var mdiXamarin = \"M22.75,11.07C22.91,11.35 23,11.67 23,12C23,12.33 22.91,12.65 22.75,12.93L18.08,21C17.72,21.62 17.06,22 16.35,22H7.65C6.94,22 6.28,21.62 5.92,21L1.25,12.93C1.09,12.65 1,12.33 1,12C1,11.67 1.09,11.35 1.25,11.07L5.92,3C6.28,2.38 6.94,2 7.65,2H16.35C17.06,2 17.72,2.38 18.08,3L22.75,11.07M12,12V11.9L9.42,7.1L9.25,7H7.66L7.5,7.1V7.3L10,12L7.5,16.7V16.9L7.66,17H9.25L9.42,16.9L12,12.1V12L12.03,12.1L14.58,16.9L14.75,17H16.34L16.5,16.9V16.7L14,12L16.5,7.3V7.1L16.34,7H14.75L14.58,7.1L12.03,11.9L12,12Z\";\r\nexport var mdiXml = \"M12.89,3L14.85,3.4L11.11,21L9.15,20.6L12.89,3M19.59,12L16,8.41V5.58L22.42,12L16,18.41V15.58L19.59,12M1.58,12L8,5.58V8.41L4.41,12L8,15.58V18.41L1.58,12Z\";\r\nexport var mdiXmpp = \"M12,15.4C9.75,13.09 8,9.54 8,6C2,4 8,6 2,4C2,9.65 6.33,14.11 10.55,16.66C9.38,17.5 8.15,18 7,18C7,19 7,18 7,19C8.2,19 10.03,18.46 12,17.46C13.97,18.46 15.8,19 17,19C17,18 17,19 17,18C15.85,18 14.62,17.5 13.45,16.66C17.66,14.11 22,9.65 22,4C16,6 22,4 16,6C16,9.54 14.25,13.09 12,15.4Z\";\r\nexport var mdiYahoo = \"M10.5 7.59L8.16 13.2L5.85 7.59H2L6.29 17.23L4.75 20.7H8.5L14.24 7.59H10.5M15 12.73C13.63 12.73 12.59 13.77 12.59 15C12.59 16.17 13.59 17.16 14.93 17.16C16.32 17.16 17.36 16.13 17.36 14.9C17.36 13.69 16.36 12.73 15 12.73M17.72 3.3L13.89 11.89H18.17L22 3.3H17.72Z\";\r\nexport var mdiYeast = \"M18,14A4,4 0 0,1 22,18A4,4 0 0,1 18,22A4,4 0 0,1 14,18L14.09,17.15C14.05,16.45 13.92,15.84 13.55,15.5C13.35,15.3 13.07,15.19 12.75,15.13C11.79,15.68 10.68,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3A6.5,6.5 0 0,1 16,9.5C16,10.68 15.68,11.79 15.13,12.75C15.19,13.07 15.3,13.35 15.5,13.55C15.84,13.92 16.45,14.05 17.15,14.09L18,14M7.5,10A1.5,1.5 0 0,1 9,11.5A1.5,1.5 0 0,1 7.5,13A1.5,1.5 0 0,1 6,11.5A1.5,1.5 0 0,1 7.5,10M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\";\r\nexport var mdiYinYang = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A4,4 0 0,1 8,16A4,4 0 0,1 12,12A4,4 0 0,0 16,8A4,4 0 0,0 12,4M12,6.5A1.5,1.5 0 0,1 13.5,8A1.5,1.5 0 0,1 12,9.5A1.5,1.5 0 0,1 10.5,8A1.5,1.5 0 0,1 12,6.5M12,14.5A1.5,1.5 0 0,0 10.5,16A1.5,1.5 0 0,0 12,17.5A1.5,1.5 0 0,0 13.5,16A1.5,1.5 0 0,0 12,14.5Z\";\r\nexport var mdiYoga = \"M13 2C11.9 2 11 2.9 11 4C11 5.11 11.9 6 13 6C14.11 6 15 5.11 15 4C15 2.9 14.11 2 13 2M4 7V9H10V15L4.93 20.07L6.34 21.5L13.06 14.77L17 17.13V21H19V16.57C19 16.21 18.82 15.89 18.5 15.71L15 13.6V9H21V7H4Z\";\r\nexport var mdiYoutube = \"M10,15L15.19,12L10,9V15M21.56,7.17C21.69,7.64 21.78,8.27 21.84,9.07C21.91,9.87 21.94,10.56 21.94,11.16L22,12C22,14.19 21.84,15.8 21.56,16.83C21.31,17.73 20.73,18.31 19.83,18.56C19.36,18.69 18.5,18.78 17.18,18.84C15.88,18.91 14.69,18.94 13.59,18.94L12,19C7.81,19 5.2,18.84 4.17,18.56C3.27,18.31 2.69,17.73 2.44,16.83C2.31,16.36 2.22,15.73 2.16,14.93C2.09,14.13 2.06,13.44 2.06,12.84L2,12C2,9.81 2.16,8.2 2.44,7.17C2.69,6.27 3.27,5.69 4.17,5.44C4.64,5.31 5.5,5.22 6.82,5.16C8.12,5.09 9.31,5.06 10.41,5.06L12,5C16.19,5 18.8,5.16 19.83,5.44C20.73,5.69 21.31,6.27 21.56,7.17Z\";\r\nexport var mdiYoutubeGaming = \"M22 13V8L17 5L12 8L7 5L2 8V13L12 19L22 13M9 11H7V13H6V11H4V10H6V8H7V10H9V11M15 13C14.45 13 14 12.55 14 12S14.45 11 15 11 16 11.45 16 12 15.55 13 15 13M18 11C17.45 11 17 10.55 17 10S17.45 9 18 9 19 9.45 19 10 18.55 11 18 11Z\";\r\nexport var mdiYoutubeStudio = \"M10,15L15,12L10,9V15M19.45,13L21.56,14.63C21.78,14.78 21.81,15 21.66,15.28L19.64,18.75C19.5,18.97 19.31,19.03 19.03,18.94L16.55,17.95C15.89,18.42 15.33,18.75 14.86,18.94L14.5,21.56C14.42,21.84 14.27,22 14,22H10C9.73,22 9.58,21.84 9.5,21.56L9.14,18.94C8.55,18.69 8,18.36 7.45,17.95L4.97,18.94C4.69,19.03 4.5,18.97 4.36,18.75L2.34,15.28C2.19,15 2.22,14.78 2.44,14.63L4.55,13C4.5,12.77 4.5,12.44 4.5,12C4.5,11.56 4.5,11.23 4.55,11L2.44,9.38C2.22,9.22 2.19,9 2.34,8.72L4.36,5.25C4.5,5.03 4.69,4.97 4.97,5.06L7.45,6.05C8.11,5.58 8.67,5.25 9.14,5.06L9.5,2.44C9.58,2.16 9.73,2 10,2H14C14.27,2 14.42,2.16 14.5,2.44L14.86,5.06C15.45,5.31 16,5.64 16.55,6.05L19.03,5.06C19.31,4.97 19.5,5.03 19.64,5.25L21.66,8.72C21.81,9 21.78,9.22 21.56,9.38L19.45,11C19.5,11.23 19.5,11.56 19.5,12C19.5,12.44 19.5,12.77 19.45,13Z\";\r\nexport var mdiYoutubeSubscription = \"M20,8H4V6H20V8M18,2H6V4H18V2M22,12V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V12A2,2 0 0,1 4,10H20A2,2 0 0,1 22,12M16,16L10,12.73V19.26L16,16Z\";\r\nexport var mdiYoutubeTv = \"M2.5,4.5H21.5C22.34,4.5 23,5.15 23,6V17.5C23,18.35 22.34,19 21.5,19H2.5C1.65,19 1,18.35 1,17.5V6C1,5.15 1.65,4.5 2.5,4.5M9.71,8.5V15L15.42,11.7L9.71,8.5M17.25,21H6.65C6.35,21 6.15,20.8 6.15,20.5C6.15,20.2 6.35,20 6.65,20H17.35C17.65,20 17.85,20.2 17.85,20.5C17.85,20.8 17.55,21 17.25,21Z\";\r\nexport var mdiYurt = \"M22 14.87V22H14V16H10V22H2V14.87C2 14.33 2.29 13.83 2.76 13.57L8.66 10.2C8.88 10.07 9.14 10 9.4 10H12.5V9H14V10H14.59C14.85 10 15.11 10.07 15.33 10.2L21.23 13.57C21.71 13.84 22 14.33 22 14.87M7.86 6.25H9.4C10.73 6.25 11.92 6.95 12.5 8H14C13.6 6.2 12 4.85 10.1 4.85V3.35C11.1 3.35 11.95 2.5 11.95 1.5V1H7.86V2.5C6.86 2.5 6 3.23 6 4.25S6.86 6.25 7.86 6.25Z\";\r\nexport var mdiZWave = \"M16.3,10.58C13.14,10.58 10.6,13.13 10.6,16.28C10.6,19.43 13.15,22 16.3,22C19.45,22 22,19.43 22,16.28C22,13.13 19.45,10.58 16.3,10.58M18,19.08H13.19L15.81,15H13.31L14.4,13.23H19.18L16.63,17.28H19.18L18,19.08M16.3,3.93V2C8.41,2 2,8.42 2,16.31H3.92C3.94,9.46 9.5,3.93 16.3,3.93M16.3,7.74V5.82C10.5,5.82 5.81,10.53 5.81,16.31H7.73C7.75,11.58 11.59,7.74 16.3,7.74\";\r\nexport var mdiZend = \"M11.28,9.81C11.28,9.81 11.28,7 14.09,7H22.5C22.5,7 22.5,9.81 19.71,9.81H11.28M11.28,13.41C11.28,13.41 11.28,10.6 14.09,10.6H18.31C18.31,10.6 18.31,13.41 15.5,13.41H11.28M11.28,17C11.28,17 11.28,14.19 14.09,14.19H15.5C15.5,14.19 15.5,17 12.68,17H11.28M10.46,14.8V17H1.58L7.3,9.21H2.4V7H11.66L5.96,14.8H10.46Z\";\r\nexport var mdiZigbee = \"M4.06,6.15C3.97,6.17 3.88,6.22 3.8,6.28C2.66,7.9 2,9.87 2,12A10,10 0 0,0 12,22C15,22 17.68,20.68 19.5,18.6L17,18.85C14.25,19.15 11.45,19.19 8.66,18.96C7.95,18.94 7.24,18.76 6.59,18.45C5.73,18.06 5.15,17.23 5.07,16.29C5.06,16.13 5.12,16 5.23,15.87L7.42,13.6L15.03,5.7V5.6H10.84C8.57,5.64 6.31,5.82 4.06,6.15M20.17,17.5C20.26,17.47 20.35,17.44 20.43,17.39C21.42,15.83 22,14 22,12A10,10 0 0,0 12,2C9.22,2 6.7,3.13 4.89,4.97H5.17C8.28,4.57 11.43,4.47 14.56,4.65C15.5,4.64 16.45,4.82 17.33,5.17C18.25,5.53 18.89,6.38 19,7.37C19,7.53 18.93,7.7 18.82,7.82L9.71,17.19L9,17.95V18.06H13.14C15.5,18 17.84,17.81 20.17,17.5Z\";\r\nexport var mdiZipBox = \"M14,17H12V15H10V13H12V15H14M14,9H12V11H14V13H12V11H10V9H12V7H10V5H12V7H14M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiZipBoxOutline = \"M12 17V15H14V17H12M14 13V11H12V13H14M14 9V7H12V9H14M10 11H12V9H10V11M10 15H12V13H10V15M21 5V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.9 21 5M19 5H12V7H10V5H5V19H19V5Z\";\r\nexport var mdiZipDisk = \"M7,3L3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5L17,3V5A1,1 0 0,1 16,6H10A1,1 0 0,1 9,5V3H7M8,10H16A1,1 0 0,1 17,11V19H7V11A1,1 0 0,1 8,10Z\";\r\nexport var mdiZodiacAquarius = \"M15,12.41L12,9.41L9,12.41L6,9.41L3.71,11.71L2.29,10.29L6,6.59L9,9.59L12,6.59L15,9.59L18,6.59L21.71,10.29L20.29,11.71L18,9.41L15,12.41M18,15.41L20.29,17.71L21.71,16.29L18,12.59L15,15.59L12,12.59L9,15.59L6,12.59L2.29,16.29L3.71,17.71L6,15.41L9,18.41L12,15.41L15,18.41L18,15.41Z\";\r\nexport var mdiZodiacAries = \"M16,2C14.95,2 13.91,2.27 13,2.81C12.64,3 12.3,3.26 12,3.54C11.7,3.26 11.36,3 11,2.81C10.09,2.27 9.05,2 8,2A6,6 0 0,0 2,8A6,6 0 0,0 8,14V12A4,4 0 0,1 4,8A4,4 0 0,1 8,4C9,4 10,4.39 10.75,5.1C10.84,5.18 10.92,5.27 11,5.36V22H13V5.36C13.08,5.27 13.16,5.18 13.25,5.1C14.85,3.58 17.38,3.64 18.91,5.25C20.43,6.85 20.36,9.38 18.76,10.9C18,11.61 17.03,12 16,12V14A6,6 0 0,0 22,8A6,6 0 0,0 16,2Z\";\r\nexport var mdiZodiacCancer = \"M12,4C6.5,4 2,7.58 2,12C2,14.12 3.65,15.87 5.76,16H6A4,4 0 0,0 10,12A4,4 0 0,0 6,8H5.76C7.44,6.41 9.69,5.55 12,5.6C13.77,5.58 15.5,6.07 17,7L18.25,5.75C16.38,4.58 14.21,3.97 12,4M6,10A2,2 0 0,1 8,12C8,13.11 7.08,14 6,14C4.96,14 4.1,13.22 4,12.2C4,12.07 4,11.93 4,11.8C4.1,10.77 4.97,10 6,10M18.24,8H18A4,4 0 0,0 14,12A4,4 0 0,0 18,16H18.24C16.56,17.59 14.31,18.45 12,18.4C10.23,18.42 8.5,17.93 7,17L5.76,18.24C7.63,19.41 9.79,20 12,20C17.5,20 22,16.42 22,12C22,9.88 20.35,8.13 18.24,8M18,14A2,2 0 0,1 16,12C16,10.89 16.92,10 18,10C19.04,10 19.9,10.78 20,11.8C20,11.93 20,12.07 20,12.2C19.9,13.23 19.03,14 18,14Z\";\r\nexport var mdiZodiacCapricorn = \"M15,13C14.3,13 13.61,13.19 13,13.55V6A3,3 0 0,0 10,3C9.25,3 8.55,3.29 8,3.78C7.45,3.28 6.74,3 6,3V5A1,1 0 0,1 7,6V16H9V6A1,1 0 0,1 10,5A1,1 0 0,1 11,6V17A2,2 0 0,1 9,19V21C10.15,21 11.25,20.5 12,19.62C13.45,21.29 15.97,21.47 17.64,20C19.31,18.58 19.5,16.05 18.04,14.38C17.28,13.5 16.17,13 15,13M15,19A2,2 0 0,1 13,17A2,2 0 0,1 15,15A2,2 0 0,1 17,17A2,2 0 0,1 15,19Z\";\r\nexport var mdiZodiacGemini = \"M18,5.3C19.35,4.97 20.66,4.54 21.94,4L21.18,2.14C18.27,3.36 15.15,4 12,4C8.85,4 5.73,3.38 2.82,2.17L2.06,4C3.34,4.54 4.65,4.97 6,5.3V18.7C4.65,19.03 3.34,19.46 2.06,20L2.82,21.86C8.7,19.42 15.3,19.42 21.18,21.86L21.94,20C20.66,19.46 19.35,19.03 18,18.7V5.3M8,18.3V5.69C9.32,5.89 10.66,6 12,6C13.34,6 14.68,5.89 16,5.69V18.31C13.35,17.9 10.65,17.9 8,18.31V18.3Z\";\r\nexport var mdiZodiacLeo = \"M20,17A3,3 0 0,1 17,20C15.38,19.92 14.08,18.62 14,17C14.16,15.39 14.5,13.8 15,12.26C15.54,10.55 15.87,8.79 16,7C15.93,4.27 13.73,2.07 11,2C8.27,2.07 6.07,4.27 6,7C6.15,8.53 6.5,10.03 7,11.5L7.21,12.2C5.1,11.53 2.86,12.7 2.19,14.8C1.5,16.91 2.68,19.16 4.79,19.83C6.9,20.5 9.14,19.33 9.81,17.22C9.94,16.83 10,16.41 10,16C9.84,14.27 9.5,12.56 8.91,10.92C8.47,9.65 8.16,8.34 8,7C8.08,5.38 9.38,4.08 11,4C12.62,4.08 13.92,5.38 14,7C13.84,8.61 13.5,10.2 13,11.74C12.46,13.45 12.13,15.21 12,17C12.07,19.73 14.27,21.93 17,22A5,5 0 0,0 22,17H20M6,18A2,2 0 0,1 4,16A2,2 0 0,1 6,14A2,2 0 0,1 8,16A2,2 0 0,1 6,18Z\";\r\nexport var mdiZodiacLibra = \"M20,16V18H13V15.91C16,15.36 17.96,12.5 17.41,9.5C16.86,6.5 14,4.54 11,5.09C8,5.65 6.04,8.5 6.59,11.5C7,13.74 8.76,15.5 11,15.91V18H4V16H6.92C5.37,14.59 4.5,12.59 4.5,10.5A7.5,7.5 0 0,1 12,3A7.5,7.5 0 0,1 19.5,10.5C19.5,12.59 18.63,14.59 17.08,16H20M20,19H4V21H20V19Z\";\r\nexport var mdiZodiacPisces = \"M20,11H18C18.11,8.19 18.73,5.42 19.81,2.82L18,2.06C16.81,4.9 16.13,7.92 16,11H8C7.87,7.92 7.19,4.9 6,2.06L4.14,2.82C5.24,5.41 5.87,8.18 6,11H4V13H6C5.89,15.81 5.27,18.58 4.19,21.18L6,21.94C7.19,19.1 7.87,16.08 8,13H16C16.13,16.08 16.81,19.1 18,21.94L19.86,21.18C18.76,18.59 18.13,15.82 18,13H20V11Z\";\r\nexport var mdiZodiacSagittarius = \"M22,2V12H20V5.41L10.41,15L12.71,17.29L11.29,18.71L9,16.41L3.71,21.71L2.29,20.29L7.59,15L5.29,12.71L6.71,11.29L9,13.59L18.59,4H12V2H22Z\";\r\nexport var mdiZodiacScorpio = \"M17.71,15.29L16.29,16.71L17.59,18H16A2,2 0 0,1 14,16V6A3,3 0 0,0 11,3C10.25,3 9.55,3.29 9,3.78C7.86,2.76 6.14,2.76 5,3.78C4.45,3.28 3.74,3 3,3V5A1,1 0 0,1 4,6V16H6V6A1,1 0 0,1 7,5A1,1 0 0,1 8,6V16H10V6A1,1 0 0,1 11,5A1,1 0 0,1 12,6V16A4,4 0 0,0 16,20H17.59L16.29,21.29L17.71,22.71L21.41,19L17.71,15.29Z\";\r\nexport var mdiZodiacTaurus = \"M15.59,9C17.7,7.74 19,5.46 19,3H17A5,5 0 0,1 12,8A5,5 0 0,1 7,3H5C5,5.46 6.3,7.74 8.41,9C5.09,11 4,15.28 6,18.6C7.97,21.92 12.27,23 15.59,21C18.91,19.04 20,14.74 18,11.42C17.42,10.43 16.58,9.59 15.59,9M12,20A5,5 0 0,1 7,15A5,5 0 0,1 12,10A5,5 0 0,1 17,15A5,5 0 0,1 12,20Z\";\r\nexport var mdiZodiacVirgo = \"M18.5,19.13C20,17.77 20,15.18 20,14A4,4 0 0,0 16,10C15.3,10 14.6,10.2 14,10.56V6A3,3 0 0,0 11,3C10.25,3 9.55,3.29 9,3.78C7.86,2.76 6.14,2.76 5,3.78C4.45,3.28 3.74,3 3,3V5A1,1 0 0,1 4,6V16H6V6A1,1 0 0,1 7,5A1,1 0 0,1 8,6V16H10V6A1,1 0 0,1 11,5A1,1 0 0,1 12,6V14C12,15.18 12,17.77 13.5,19.13C12.72,19.54 11.88,19.84 11,20V22C12.29,22 14.84,20.74 16,20.13C17.16,20.74 19.71,22 21,22V20C20.12,19.84 19.28,19.54 18.5,19.13M16,12A2,2 0 0,1 18,14C18,16.92 17.46,18 16,18C14.54,18 14,16.92 14,14A2,2 0 0,1 16,12Z\";\r\n","import { DeepImmutable } from \"../types\";\r\nimport { serialize, serializeAsVector3, serializeAsQuaternion, SerializationHelper } from \"../Misc/decorators\";\r\nimport { Observable } from \"../Misc/observable\";\r\n\r\nimport { Nullable } from \"../types\";\r\nimport { Camera } from \"../Cameras/camera\";\r\nimport { Scene } from \"../scene\";\r\nimport { Quaternion, Matrix, Vector3, TmpVectors } from \"../Maths/math.vector\";\r\nimport { Node } from \"../node\";\r\nimport { Bone } from \"../Bones/bone\";\r\nimport { AbstractMesh } from '../Meshes/abstractMesh';\r\nimport { Space } from '../Maths/math.axis';\r\n/**\r\n * A TransformNode is an object that is not rendered but can be used as a center of transformation. This can decrease memory usage and increase rendering speed compared to using an empty mesh as a parent and is less complicated than using a pivot matrix.\r\n * @see https://doc.babylonjs.com/how_to/transformnode\r\n */\r\nexport class TransformNode extends Node {\r\n // Statics\r\n /**\r\n * Object will not rotate to face the camera\r\n */\r\n public static BILLBOARDMODE_NONE = 0;\r\n /**\r\n * Object will rotate to face the camera but only on the x axis\r\n */\r\n public static BILLBOARDMODE_X = 1;\r\n /**\r\n * Object will rotate to face the camera but only on the y axis\r\n */\r\n public static BILLBOARDMODE_Y = 2;\r\n /**\r\n * Object will rotate to face the camera but only on the z axis\r\n */\r\n public static BILLBOARDMODE_Z = 4;\r\n /**\r\n * Object will rotate to face the camera\r\n */\r\n public static BILLBOARDMODE_ALL = 7;\r\n /**\r\n * Object will rotate to face the camera's position instead of orientation\r\n */\r\n public static BILLBOARDMODE_USE_POSITION = 128;\r\n\r\n private static _TmpRotation = Quaternion.Zero();\r\n private static _TmpScaling = Vector3.Zero();\r\n private static _TmpTranslation = Vector3.Zero();\r\n\r\n private _forward = new Vector3(0, 0, 1);\r\n private _forwardInverted = new Vector3(0, 0, -1);\r\n private _up = new Vector3(0, 1, 0);\r\n private _right = new Vector3(1, 0, 0);\r\n private _rightInverted = new Vector3(-1, 0, 0);\r\n\r\n // Properties\r\n @serializeAsVector3(\"position\")\r\n private _position = Vector3.Zero();\r\n\r\n @serializeAsVector3(\"rotation\")\r\n private _rotation = Vector3.Zero();\r\n\r\n @serializeAsQuaternion(\"rotationQuaternion\")\r\n private _rotationQuaternion: Nullable = null;\r\n\r\n @serializeAsVector3(\"scaling\")\r\n protected _scaling = Vector3.One();\r\n protected _isDirty = false;\r\n private _transformToBoneReferal: Nullable = null;\r\n private _isAbsoluteSynced = false;\r\n\r\n @serialize(\"billboardMode\")\r\n private _billboardMode = TransformNode.BILLBOARDMODE_NONE;\r\n\r\n /**\r\n * Gets or sets the billboard mode. Default is 0.\r\n *\r\n * | Value | Type | Description |\r\n * | --- | --- | --- |\r\n * | 0 | BILLBOARDMODE_NONE | |\r\n * | 1 | BILLBOARDMODE_X | |\r\n * | 2 | BILLBOARDMODE_Y | |\r\n * | 4 | BILLBOARDMODE_Z | |\r\n * | 7 | BILLBOARDMODE_ALL | |\r\n *\r\n */\r\n public get billboardMode() {\r\n return this._billboardMode;\r\n }\r\n\r\n public set billboardMode(value: number) {\r\n if (this._billboardMode === value) {\r\n return;\r\n }\r\n this._billboardMode = value;\r\n }\r\n\r\n private _preserveParentRotationForBillboard = false;\r\n /**\r\n * Gets or sets a boolean indicating that parent rotation should be preserved when using billboards.\r\n * This could be useful for glTF objects where parent rotation helps converting from right handed to left handed\r\n */\r\n public get preserveParentRotationForBillboard() {\r\n return this._preserveParentRotationForBillboard;\r\n }\r\n\r\n public set preserveParentRotationForBillboard(value: boolean) {\r\n if (value === this._preserveParentRotationForBillboard) {\r\n return;\r\n }\r\n this._preserveParentRotationForBillboard = value;\r\n }\r\n\r\n /**\r\n * Multiplication factor on scale x/y/z when computing the world matrix. Eg. for a 1x1x1 cube setting this to 2 will make it a 2x2x2 cube\r\n */\r\n @serialize()\r\n public scalingDeterminant = 1;\r\n\r\n @serialize(\"infiniteDistance\")\r\n private _infiniteDistance = false;\r\n\r\n /**\r\n * Gets or sets the distance of the object to max, often used by skybox\r\n */\r\n public get infiniteDistance() {\r\n return this._infiniteDistance;\r\n }\r\n\r\n public set infiniteDistance(value: boolean) {\r\n if (this._infiniteDistance === value) {\r\n return;\r\n }\r\n\r\n this._infiniteDistance = value;\r\n }\r\n\r\n /**\r\n * Gets or sets a boolean indicating that non uniform scaling (when at least one component is different from others) should be ignored.\r\n * By default the system will update normals to compensate\r\n */\r\n @serialize()\r\n public ignoreNonUniformScaling = false;\r\n\r\n /**\r\n * Gets or sets a boolean indicating that even if rotationQuaternion is defined, you can keep updating rotation property and Babylon.js will just mix both\r\n */\r\n @serialize()\r\n public reIntegrateRotationIntoRotationQuaternion = false;\r\n\r\n // Cache\r\n /** @hidden */\r\n public _poseMatrix: Nullable = null;\r\n /** @hidden */\r\n public _localMatrix = Matrix.Zero();\r\n\r\n private _usePivotMatrix = false;\r\n private _absolutePosition = Vector3.Zero();\r\n private _absoluteScaling = Vector3.Zero();\r\n private _absoluteRotationQuaternion = Quaternion.Identity();\r\n private _pivotMatrix = Matrix.Identity();\r\n private _pivotMatrixInverse: Matrix;\r\n /** @hidden */\r\n public _postMultiplyPivotMatrix = false;\r\n\r\n protected _isWorldMatrixFrozen = false;\r\n\r\n /** @hidden */\r\n public _indexInSceneTransformNodesArray = -1;\r\n\r\n /**\r\n * An event triggered after the world matrix is updated\r\n */\r\n public onAfterWorldMatrixUpdateObservable = new Observable();\r\n\r\n constructor(name: string, scene: Nullable = null, isPure = true) {\r\n super(name, scene);\r\n\r\n if (isPure) {\r\n this.getScene().addTransformNode(this);\r\n }\r\n }\r\n\r\n /**\r\n * Gets a string identifying the name of the class\r\n * @returns \"TransformNode\" string\r\n */\r\n public getClassName(): string {\r\n return \"TransformNode\";\r\n }\r\n\r\n /**\r\n * Gets or set the node position (default is (0.0, 0.0, 0.0))\r\n */\r\n public get position(): Vector3 {\r\n return this._position;\r\n }\r\n\r\n public set position(newPosition: Vector3) {\r\n this._position = newPosition;\r\n this._isDirty = true;\r\n }\r\n\r\n /**\r\n * Gets or sets the rotation property : a Vector3 defining the rotation value in radians around each local axis X, Y, Z (default is (0.0, 0.0, 0.0)).\r\n * If rotation quaternion is set, this Vector3 will be ignored and copy from the quaternion\r\n */\r\n public get rotation(): Vector3 {\r\n return this._rotation;\r\n }\r\n\r\n public set rotation(newRotation: Vector3) {\r\n this._rotation = newRotation;\r\n this._rotationQuaternion = null;\r\n this._isDirty = true;\r\n }\r\n\r\n /**\r\n * Gets or sets the scaling property : a Vector3 defining the node scaling along each local axis X, Y, Z (default is (0.0, 0.0, 0.0)).\r\n */\r\n public get scaling(): Vector3 {\r\n return this._scaling;\r\n }\r\n\r\n public set scaling(newScaling: Vector3) {\r\n this._scaling = newScaling;\r\n this._isDirty = true;\r\n }\r\n\r\n /**\r\n * Gets or sets the rotation Quaternion property : this a Quaternion object defining the node rotation by using a unit quaternion (undefined by default, but can be null).\r\n * If set, only the rotationQuaternion is then used to compute the node rotation (ie. node.rotation will be ignored)\r\n */\r\n public get rotationQuaternion(): Nullable {\r\n return this._rotationQuaternion;\r\n }\r\n\r\n public set rotationQuaternion(quaternion: Nullable) {\r\n this._rotationQuaternion = quaternion;\r\n //reset the rotation vector.\r\n if (quaternion) {\r\n this._rotation.setAll(0.0);\r\n }\r\n this._isDirty = true;\r\n }\r\n\r\n /**\r\n * The forward direction of that transform in world space.\r\n */\r\n public get forward(): Vector3 {\r\n return Vector3.Normalize(Vector3.TransformNormal(\r\n this.getScene().useRightHandedSystem ? this._forwardInverted : this._forward,\r\n this.getWorldMatrix()\r\n ));\r\n }\r\n\r\n /**\r\n * The up direction of that transform in world space.\r\n */\r\n public get up(): Vector3 {\r\n return Vector3.Normalize(Vector3.TransformNormal(\r\n this._up,\r\n this.getWorldMatrix()\r\n ));\r\n }\r\n\r\n /**\r\n * The right direction of that transform in world space.\r\n */\r\n public get right(): Vector3 {\r\n return Vector3.Normalize(Vector3.TransformNormal(\r\n this.getScene().useRightHandedSystem ? this._rightInverted : this._right,\r\n this.getWorldMatrix()\r\n ));\r\n }\r\n\r\n /**\r\n * Copies the parameter passed Matrix into the mesh Pose matrix.\r\n * @param matrix the matrix to copy the pose from\r\n * @returns this TransformNode.\r\n */\r\n public updatePoseMatrix(matrix: Matrix): TransformNode {\r\n if (!this._poseMatrix) {\r\n this._poseMatrix = matrix.clone();\r\n return this;\r\n }\r\n this._poseMatrix.copyFrom(matrix);\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns the mesh Pose matrix.\r\n * @returns the pose matrix\r\n */\r\n public getPoseMatrix(): Matrix {\r\n if (!this._poseMatrix) {\r\n this._poseMatrix = Matrix.Identity();\r\n }\r\n return this._poseMatrix;\r\n }\r\n\r\n /** @hidden */\r\n public _isSynchronized(): boolean {\r\n let cache = this._cache;\r\n\r\n if (this.billboardMode !== cache.billboardMode || this.billboardMode !== TransformNode.BILLBOARDMODE_NONE) {\r\n return false;\r\n }\r\n\r\n if (cache.pivotMatrixUpdated) {\r\n return false;\r\n }\r\n\r\n if (this.infiniteDistance) {\r\n return false;\r\n }\r\n\r\n if (this.position._isDirty) {\r\n return false;\r\n }\r\n\r\n if (this.scaling._isDirty) {\r\n return false;\r\n }\r\n\r\n if (this._rotationQuaternion && this._rotationQuaternion._isDirty || this.rotation._isDirty) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /** @hidden */\r\n public _initCache() {\r\n super._initCache();\r\n\r\n let cache = this._cache;\r\n cache.localMatrixUpdated = false;\r\n cache.billboardMode = -1;\r\n cache.infiniteDistance = false;\r\n }\r\n\r\n /**\r\n * Flag the transform node as dirty (Forcing it to update everything)\r\n * @param property if set to \"rotation\" the objects rotationQuaternion will be set to null\r\n * @returns this transform node\r\n */\r\n public markAsDirty(property: string): TransformNode {\r\n this._currentRenderId = Number.MAX_VALUE;\r\n this._isDirty = true;\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns the current mesh absolute position.\r\n * Returns a Vector3.\r\n */\r\n public get absolutePosition(): Vector3 {\r\n return this._absolutePosition;\r\n }\r\n\r\n /**\r\n * Returns the current mesh absolute scaling.\r\n * Returns a Vector3.\r\n */\r\n public get absoluteScaling(): Vector3 {\r\n this._syncAbsoluteScalingAndRotation();\r\n return this._absoluteScaling;\r\n }\r\n\r\n /**\r\n * Returns the current mesh absolute rotation.\r\n * Returns a Quaternion.\r\n */\r\n public get absoluteRotationQuaternion(): Quaternion {\r\n this._syncAbsoluteScalingAndRotation();\r\n return this._absoluteRotationQuaternion;\r\n }\r\n\r\n /**\r\n * Sets a new matrix to apply before all other transformation\r\n * @param matrix defines the transform matrix\r\n * @returns the current TransformNode\r\n */\r\n public setPreTransformMatrix(matrix: Matrix): TransformNode {\r\n return this.setPivotMatrix(matrix, false);\r\n }\r\n\r\n /**\r\n * Sets a new pivot matrix to the current node\r\n * @param matrix defines the new pivot matrix to use\r\n * @param postMultiplyPivotMatrix defines if the pivot matrix must be cancelled in the world matrix. When this parameter is set to true (default), the inverse of the pivot matrix is also applied at the end to cancel the transformation effect\r\n * @returns the current TransformNode\r\n */\r\n public setPivotMatrix(matrix: DeepImmutable, postMultiplyPivotMatrix = true): TransformNode {\r\n this._pivotMatrix.copyFrom(matrix);\r\n this._usePivotMatrix = !this._pivotMatrix.isIdentity();\r\n\r\n this._cache.pivotMatrixUpdated = true;\r\n this._postMultiplyPivotMatrix = postMultiplyPivotMatrix;\r\n\r\n if (this._postMultiplyPivotMatrix) {\r\n if (!this._pivotMatrixInverse) {\r\n this._pivotMatrixInverse = Matrix.Invert(this._pivotMatrix);\r\n } else {\r\n this._pivotMatrix.invertToRef(this._pivotMatrixInverse);\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns the mesh pivot matrix.\r\n * Default : Identity.\r\n * @returns the matrix\r\n */\r\n public getPivotMatrix(): Matrix {\r\n return this._pivotMatrix;\r\n }\r\n\r\n /**\r\n * Instantiate (when possible) or clone that node with its hierarchy\r\n * @param newParent defines the new parent to use for the instance (or clone)\r\n * @param options defines options to configure how copy is done\r\n * @param onNewNodeCreated defines an option callback to call when a clone or an instance is created\r\n * @returns an instance (or a clone) of the current node with its hiearchy\r\n */\r\n public instantiateHierarchy(newParent: Nullable = null, options?: { doNotInstantiate: boolean}, onNewNodeCreated?: (source: TransformNode, clone: TransformNode) => void): Nullable {\r\n let clone = this.clone(\"Clone of \" + (this.name || this.id), newParent || this.parent, true);\r\n\r\n if (clone) {\r\n if (onNewNodeCreated) {\r\n onNewNodeCreated(this, clone);\r\n }\r\n }\r\n\r\n for (var child of this.getChildTransformNodes(true)) {\r\n child.instantiateHierarchy(clone, options, onNewNodeCreated);\r\n }\r\n\r\n return clone;\r\n }\r\n\r\n /**\r\n * Prevents the World matrix to be computed any longer\r\n * @param newWorldMatrix defines an optional matrix to use as world matrix\r\n * @returns the TransformNode.\r\n */\r\n public freezeWorldMatrix(newWorldMatrix: Nullable = null): TransformNode {\r\n if (newWorldMatrix) {\r\n this._worldMatrix = newWorldMatrix;\r\n } else {\r\n this._isWorldMatrixFrozen = false; // no guarantee world is not already frozen, switch off temporarily\r\n this.computeWorldMatrix(true);\r\n }\r\n this._isDirty = false;\r\n this._isWorldMatrixFrozen = true;\r\n return this;\r\n }\r\n\r\n /**\r\n * Allows back the World matrix computation.\r\n * @returns the TransformNode.\r\n */\r\n public unfreezeWorldMatrix() {\r\n this._isWorldMatrixFrozen = false;\r\n this.computeWorldMatrix(true);\r\n return this;\r\n }\r\n\r\n /**\r\n * True if the World matrix has been frozen.\r\n */\r\n public get isWorldMatrixFrozen(): boolean {\r\n return this._isWorldMatrixFrozen;\r\n }\r\n\r\n /**\r\n * Retuns the mesh absolute position in the World.\r\n * @returns a Vector3.\r\n */\r\n public getAbsolutePosition(): Vector3 {\r\n this.computeWorldMatrix();\r\n return this._absolutePosition;\r\n }\r\n\r\n /**\r\n * Sets the mesh absolute position in the World from a Vector3 or an Array(3).\r\n * @param absolutePosition the absolute position to set\r\n * @returns the TransformNode.\r\n */\r\n public setAbsolutePosition(absolutePosition: Vector3): TransformNode {\r\n if (!absolutePosition) {\r\n return this;\r\n }\r\n var absolutePositionX;\r\n var absolutePositionY;\r\n var absolutePositionZ;\r\n if (absolutePosition.x === undefined) {\r\n if (arguments.length < 3) {\r\n return this;\r\n }\r\n absolutePositionX = arguments[0];\r\n absolutePositionY = arguments[1];\r\n absolutePositionZ = arguments[2];\r\n }\r\n else {\r\n absolutePositionX = absolutePosition.x;\r\n absolutePositionY = absolutePosition.y;\r\n absolutePositionZ = absolutePosition.z;\r\n }\r\n if (this.parent) {\r\n const invertParentWorldMatrix = TmpVectors.Matrix[0];\r\n this.parent.getWorldMatrix().invertToRef(invertParentWorldMatrix);\r\n Vector3.TransformCoordinatesFromFloatsToRef(absolutePositionX, absolutePositionY, absolutePositionZ, invertParentWorldMatrix, this.position);\r\n } else {\r\n this.position.x = absolutePositionX;\r\n this.position.y = absolutePositionY;\r\n this.position.z = absolutePositionZ;\r\n }\r\n\r\n this._absolutePosition.copyFrom(absolutePosition);\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets the mesh position in its local space.\r\n * @param vector3 the position to set in localspace\r\n * @returns the TransformNode.\r\n */\r\n public setPositionWithLocalVector(vector3: Vector3): TransformNode {\r\n this.computeWorldMatrix();\r\n this.position = Vector3.TransformNormal(vector3, this._localMatrix);\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns the mesh position in the local space from the current World matrix values.\r\n * @returns a new Vector3.\r\n */\r\n public getPositionExpressedInLocalSpace(): Vector3 {\r\n this.computeWorldMatrix();\r\n const invLocalWorldMatrix = TmpVectors.Matrix[0];\r\n this._localMatrix.invertToRef(invLocalWorldMatrix);\r\n return Vector3.TransformNormal(this.position, invLocalWorldMatrix);\r\n }\r\n\r\n /**\r\n * Translates the mesh along the passed Vector3 in its local space.\r\n * @param vector3 the distance to translate in localspace\r\n * @returns the TransformNode.\r\n */\r\n public locallyTranslate(vector3: Vector3): TransformNode {\r\n this.computeWorldMatrix(true);\r\n this.position = Vector3.TransformCoordinates(vector3, this._localMatrix);\r\n return this;\r\n }\r\n\r\n private static _lookAtVectorCache = new Vector3(0, 0, 0);\r\n\r\n /**\r\n * Orients a mesh towards a target point. Mesh must be drawn facing user.\r\n * @param targetPoint the position (must be in same space as current mesh) to look at\r\n * @param yawCor optional yaw (y-axis) correction in radians\r\n * @param pitchCor optional pitch (x-axis) correction in radians\r\n * @param rollCor optional roll (z-axis) correction in radians\r\n * @param space the choosen space of the target\r\n * @returns the TransformNode.\r\n */\r\n public lookAt(targetPoint: Vector3, yawCor: number = 0, pitchCor: number = 0, rollCor: number = 0, space: Space = Space.LOCAL): TransformNode {\r\n var dv = TransformNode._lookAtVectorCache;\r\n var pos = space === Space.LOCAL ? this.position : this.getAbsolutePosition();\r\n targetPoint.subtractToRef(pos, dv);\r\n this.setDirection(dv, yawCor, pitchCor, rollCor);\r\n\r\n // Correct for parent's rotation offset\r\n if (space === Space.WORLD && this.parent) {\r\n if (this.rotationQuaternion) {\r\n // Get local rotation matrix of the looking object\r\n var rotationMatrix = TmpVectors.Matrix[0];\r\n this.rotationQuaternion.toRotationMatrix(rotationMatrix);\r\n\r\n // Offset rotation by parent's inverted rotation matrix to correct in world space\r\n var parentRotationMatrix = TmpVectors.Matrix[1];\r\n this.parent.getWorldMatrix().getRotationMatrixToRef(parentRotationMatrix);\r\n parentRotationMatrix.invert();\r\n rotationMatrix.multiplyToRef(parentRotationMatrix, rotationMatrix);\r\n this.rotationQuaternion.fromRotationMatrix(rotationMatrix);\r\n } else {\r\n // Get local rotation matrix of the looking object\r\n var quaternionRotation = TmpVectors.Quaternion[0];\r\n Quaternion.FromEulerVectorToRef(this.rotation, quaternionRotation);\r\n var rotationMatrix = TmpVectors.Matrix[0];\r\n quaternionRotation.toRotationMatrix(rotationMatrix);\r\n\r\n // Offset rotation by parent's inverted rotation matrix to correct in world space\r\n var parentRotationMatrix = TmpVectors.Matrix[1];\r\n this.parent.getWorldMatrix().getRotationMatrixToRef(parentRotationMatrix);\r\n parentRotationMatrix.invert();\r\n rotationMatrix.multiplyToRef(parentRotationMatrix, rotationMatrix);\r\n quaternionRotation.fromRotationMatrix(rotationMatrix);\r\n quaternionRotation.toEulerAnglesToRef(this.rotation);\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns a new Vector3 that is the localAxis, expressed in the mesh local space, rotated like the mesh.\r\n * This Vector3 is expressed in the World space.\r\n * @param localAxis axis to rotate\r\n * @returns a new Vector3 that is the localAxis, expressed in the mesh local space, rotated like the mesh.\r\n */\r\n public getDirection(localAxis: Vector3): Vector3 {\r\n var result = Vector3.Zero();\r\n\r\n this.getDirectionToRef(localAxis, result);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Sets the Vector3 \"result\" as the rotated Vector3 \"localAxis\" in the same rotation than the mesh.\r\n * localAxis is expressed in the mesh local space.\r\n * result is computed in the Wordl space from the mesh World matrix.\r\n * @param localAxis axis to rotate\r\n * @param result the resulting transformnode\r\n * @returns this TransformNode.\r\n */\r\n public getDirectionToRef(localAxis: Vector3, result: Vector3): TransformNode {\r\n Vector3.TransformNormalToRef(localAxis, this.getWorldMatrix(), result);\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets this transform node rotation to the given local axis.\r\n * @param localAxis the axis in local space\r\n * @param yawCor optional yaw (y-axis) correction in radians\r\n * @param pitchCor optional pitch (x-axis) correction in radians\r\n * @param rollCor optional roll (z-axis) correction in radians\r\n * @returns this TransformNode\r\n */\r\n public setDirection(localAxis: Vector3, yawCor: number = 0, pitchCor: number = 0, rollCor: number = 0): TransformNode {\r\n var yaw = -Math.atan2(localAxis.z, localAxis.x) + Math.PI / 2;\r\n var len = Math.sqrt(localAxis.x * localAxis.x + localAxis.z * localAxis.z);\r\n var pitch = -Math.atan2(localAxis.y, len);\r\n if (this.rotationQuaternion) {\r\n Quaternion.RotationYawPitchRollToRef(yaw + yawCor, pitch + pitchCor, rollCor, this.rotationQuaternion);\r\n }\r\n else {\r\n this.rotation.x = pitch + pitchCor;\r\n this.rotation.y = yaw + yawCor;\r\n this.rotation.z = rollCor;\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets a new pivot point to the current node\r\n * @param point defines the new pivot point to use\r\n * @param space defines if the point is in world or local space (local by default)\r\n * @returns the current TransformNode\r\n */\r\n public setPivotPoint(point: Vector3, space: Space = Space.LOCAL): TransformNode {\r\n if (this.getScene().getRenderId() == 0) {\r\n this.computeWorldMatrix(true);\r\n }\r\n\r\n var wm = this.getWorldMatrix();\r\n\r\n if (space == Space.WORLD) {\r\n var tmat = TmpVectors.Matrix[0];\r\n wm.invertToRef(tmat);\r\n point = Vector3.TransformCoordinates(point, tmat);\r\n }\r\n\r\n return this.setPivotMatrix(Matrix.Translation(-point.x, -point.y, -point.z), true);\r\n }\r\n\r\n /**\r\n * Returns a new Vector3 set with the mesh pivot point coordinates in the local space.\r\n * @returns the pivot point\r\n */\r\n public getPivotPoint(): Vector3 {\r\n var point = Vector3.Zero();\r\n this.getPivotPointToRef(point);\r\n return point;\r\n }\r\n\r\n /**\r\n * Sets the passed Vector3 \"result\" with the coordinates of the mesh pivot point in the local space.\r\n * @param result the vector3 to store the result\r\n * @returns this TransformNode.\r\n */\r\n public getPivotPointToRef(result: Vector3): TransformNode {\r\n result.x = -this._pivotMatrix.m[12];\r\n result.y = -this._pivotMatrix.m[13];\r\n result.z = -this._pivotMatrix.m[14];\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns a new Vector3 set with the mesh pivot point World coordinates.\r\n * @returns a new Vector3 set with the mesh pivot point World coordinates.\r\n */\r\n public getAbsolutePivotPoint(): Vector3 {\r\n var point = Vector3.Zero();\r\n this.getAbsolutePivotPointToRef(point);\r\n return point;\r\n }\r\n\r\n /**\r\n * Sets the Vector3 \"result\" coordinates with the mesh pivot point World coordinates.\r\n * @param result vector3 to store the result\r\n * @returns this TransformNode.\r\n */\r\n public getAbsolutePivotPointToRef(result: Vector3): TransformNode {\r\n this.getPivotPointToRef(result);\r\n Vector3.TransformCoordinatesToRef(result, this.getWorldMatrix(), result);\r\n return this;\r\n }\r\n\r\n /**\r\n * Defines the passed node as the parent of the current node.\r\n * The node will remain exactly where it is and its position / rotation will be updated accordingly\r\n * @see https://doc.babylonjs.com/how_to/parenting\r\n * @param node the node ot set as the parent\r\n * @returns this TransformNode.\r\n */\r\n public setParent(node: Nullable): TransformNode {\r\n if (!node && !this.parent) {\r\n return this;\r\n }\r\n\r\n var quatRotation = TmpVectors.Quaternion[0];\r\n var position = TmpVectors.Vector3[0];\r\n var scale = TmpVectors.Vector3[1];\r\n\r\n if (!node) {\r\n this.computeWorldMatrix(true);\r\n this.getWorldMatrix().decompose(scale, quatRotation, position);\r\n } else {\r\n var diffMatrix = TmpVectors.Matrix[0];\r\n var invParentMatrix = TmpVectors.Matrix[1];\r\n\r\n this.computeWorldMatrix(true);\r\n node.computeWorldMatrix(true);\r\n\r\n node.getWorldMatrix().invertToRef(invParentMatrix);\r\n this.getWorldMatrix().multiplyToRef(invParentMatrix, diffMatrix);\r\n diffMatrix.decompose(scale, quatRotation, position);\r\n }\r\n\r\n if (this.rotationQuaternion) {\r\n this.rotationQuaternion.copyFrom(quatRotation);\r\n } else {\r\n quatRotation.toEulerAnglesToRef(this.rotation);\r\n }\r\n\r\n this.scaling.copyFrom(scale);\r\n this.position.copyFrom(position);\r\n\r\n this.parent = node;\r\n return this;\r\n }\r\n\r\n private _nonUniformScaling = false;\r\n /**\r\n * True if the scaling property of this object is non uniform eg. (1,2,1)\r\n */\r\n public get nonUniformScaling(): boolean {\r\n return this._nonUniformScaling;\r\n }\r\n\r\n /** @hidden */\r\n public _updateNonUniformScalingState(value: boolean): boolean {\r\n if (this._nonUniformScaling === value) {\r\n return false;\r\n }\r\n\r\n this._nonUniformScaling = value;\r\n return true;\r\n }\r\n\r\n /**\r\n * Attach the current TransformNode to another TransformNode associated with a bone\r\n * @param bone Bone affecting the TransformNode\r\n * @param affectedTransformNode TransformNode associated with the bone\r\n * @returns this object\r\n */\r\n public attachToBone(bone: Bone, affectedTransformNode: TransformNode): TransformNode {\r\n this._transformToBoneReferal = affectedTransformNode;\r\n this.parent = bone;\r\n\r\n bone.getSkeleton().prepare();\r\n\r\n if (bone.getWorldMatrix().determinant() < 0) {\r\n this.scalingDeterminant *= -1;\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Detach the transform node if its associated with a bone\r\n * @returns this object\r\n */\r\n public detachFromBone(): TransformNode {\r\n if (!this.parent) {\r\n return this;\r\n }\r\n\r\n if (this.parent.getWorldMatrix().determinant() < 0) {\r\n this.scalingDeterminant *= -1;\r\n }\r\n this._transformToBoneReferal = null;\r\n this.parent = null;\r\n return this;\r\n }\r\n\r\n private static _rotationAxisCache = new Quaternion();\r\n /**\r\n * Rotates the mesh around the axis vector for the passed angle (amount) expressed in radians, in the given space.\r\n * space (default LOCAL) can be either Space.LOCAL, either Space.WORLD.\r\n * Note that the property `rotationQuaternion` is then automatically updated and the property `rotation` is set to (0,0,0) and no longer used.\r\n * The passed axis is also normalized.\r\n * @param axis the axis to rotate around\r\n * @param amount the amount to rotate in radians\r\n * @param space Space to rotate in (Default: local)\r\n * @returns the TransformNode.\r\n */\r\n public rotate(axis: Vector3, amount: number, space?: Space): TransformNode {\r\n axis.normalize();\r\n if (!this.rotationQuaternion) {\r\n this.rotationQuaternion = this.rotation.toQuaternion();\r\n this.rotation.setAll(0);\r\n }\r\n var rotationQuaternion: Quaternion;\r\n if (!space || (space as any) === Space.LOCAL) {\r\n rotationQuaternion = Quaternion.RotationAxisToRef(axis, amount, TransformNode._rotationAxisCache);\r\n this.rotationQuaternion.multiplyToRef(rotationQuaternion, this.rotationQuaternion);\r\n }\r\n else {\r\n if (this.parent) {\r\n const invertParentWorldMatrix = TmpVectors.Matrix[0];\r\n this.parent.getWorldMatrix().invertToRef(invertParentWorldMatrix);\r\n axis = Vector3.TransformNormal(axis, invertParentWorldMatrix);\r\n }\r\n rotationQuaternion = Quaternion.RotationAxisToRef(axis, amount, TransformNode._rotationAxisCache);\r\n rotationQuaternion.multiplyToRef(this.rotationQuaternion, this.rotationQuaternion);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Rotates the mesh around the axis vector for the passed angle (amount) expressed in radians, in world space.\r\n * Note that the property `rotationQuaternion` is then automatically updated and the property `rotation` is set to (0,0,0) and no longer used.\r\n * The passed axis is also normalized. .\r\n * Method is based on http://www.euclideanspace.com/maths/geometry/affine/aroundPoint/index.htm\r\n * @param point the point to rotate around\r\n * @param axis the axis to rotate around\r\n * @param amount the amount to rotate in radians\r\n * @returns the TransformNode\r\n */\r\n public rotateAround(point: Vector3, axis: Vector3, amount: number): TransformNode {\r\n axis.normalize();\r\n if (!this.rotationQuaternion) {\r\n this.rotationQuaternion = Quaternion.RotationYawPitchRoll(this.rotation.y, this.rotation.x, this.rotation.z);\r\n this.rotation.setAll(0);\r\n }\r\n\r\n const tmpVector = TmpVectors.Vector3[0];\r\n const finalScale = TmpVectors.Vector3[1];\r\n const finalTranslation = TmpVectors.Vector3[2];\r\n\r\n const finalRotation = TmpVectors.Quaternion[0];\r\n\r\n const translationMatrix = TmpVectors.Matrix[0]; // T\r\n const translationMatrixInv = TmpVectors.Matrix[1]; // T'\r\n const rotationMatrix = TmpVectors.Matrix[2]; // R\r\n const finalMatrix = TmpVectors.Matrix[3]; // T' x R x T\r\n\r\n point.subtractToRef(this.position, tmpVector);\r\n Matrix.TranslationToRef(tmpVector.x, tmpVector.y, tmpVector.z, translationMatrix); // T\r\n Matrix.TranslationToRef(-tmpVector.x, -tmpVector.y, -tmpVector.z, translationMatrixInv); // T'\r\n Matrix.RotationAxisToRef(axis, amount, rotationMatrix); // R\r\n\r\n translationMatrixInv.multiplyToRef(rotationMatrix, finalMatrix); // T' x R\r\n finalMatrix.multiplyToRef(translationMatrix, finalMatrix); // T' x R x T\r\n\r\n finalMatrix.decompose(finalScale, finalRotation, finalTranslation);\r\n\r\n this.position.addInPlace(finalTranslation);\r\n finalRotation.multiplyToRef(this.rotationQuaternion, this.rotationQuaternion);\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Translates the mesh along the axis vector for the passed distance in the given space.\r\n * space (default LOCAL) can be either Space.LOCAL, either Space.WORLD.\r\n * @param axis the axis to translate in\r\n * @param distance the distance to translate\r\n * @param space Space to rotate in (Default: local)\r\n * @returns the TransformNode.\r\n */\r\n public translate(axis: Vector3, distance: number, space?: Space): TransformNode {\r\n var displacementVector = axis.scale(distance);\r\n if (!space || (space as any) === Space.LOCAL) {\r\n var tempV3 = this.getPositionExpressedInLocalSpace().add(displacementVector);\r\n this.setPositionWithLocalVector(tempV3);\r\n }\r\n else {\r\n this.setAbsolutePosition(this.getAbsolutePosition().add(displacementVector));\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Adds a rotation step to the mesh current rotation.\r\n * x, y, z are Euler angles expressed in radians.\r\n * This methods updates the current mesh rotation, either mesh.rotation, either mesh.rotationQuaternion if it's set.\r\n * This means this rotation is made in the mesh local space only.\r\n * It's useful to set a custom rotation order different from the BJS standard one YXZ.\r\n * Example : this rotates the mesh first around its local X axis, then around its local Z axis, finally around its local Y axis.\r\n * ```javascript\r\n * mesh.addRotation(x1, 0, 0).addRotation(0, 0, z2).addRotation(0, 0, y3);\r\n * ```\r\n * Note that `addRotation()` accumulates the passed rotation values to the current ones and computes the .rotation or .rotationQuaternion updated values.\r\n * Under the hood, only quaternions are used. So it's a little faster is you use .rotationQuaternion because it doesn't need to translate them back to Euler angles.\r\n * @param x Rotation to add\r\n * @param y Rotation to add\r\n * @param z Rotation to add\r\n * @returns the TransformNode.\r\n */\r\n public addRotation(x: number, y: number, z: number): TransformNode {\r\n var rotationQuaternion;\r\n if (this.rotationQuaternion) {\r\n rotationQuaternion = this.rotationQuaternion;\r\n }\r\n else {\r\n rotationQuaternion = TmpVectors.Quaternion[1];\r\n Quaternion.RotationYawPitchRollToRef(this.rotation.y, this.rotation.x, this.rotation.z, rotationQuaternion);\r\n }\r\n var accumulation = TmpVectors.Quaternion[0];\r\n Quaternion.RotationYawPitchRollToRef(y, x, z, accumulation);\r\n rotationQuaternion.multiplyInPlace(accumulation);\r\n if (!this.rotationQuaternion) {\r\n rotationQuaternion.toEulerAnglesToRef(this.rotation);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * @hidden\r\n */\r\n protected _getEffectiveParent(): Nullable {\r\n return this.parent;\r\n }\r\n\r\n /**\r\n * Computes the world matrix of the node\r\n * @param force defines if the cache version should be invalidated forcing the world matrix to be created from scratch\r\n * @returns the world matrix\r\n */\r\n public computeWorldMatrix(force?: boolean): Matrix {\r\n if (this._isWorldMatrixFrozen && !this._isDirty) {\r\n return this._worldMatrix;\r\n }\r\n\r\n let currentRenderId = this.getScene().getRenderId();\r\n if (!this._isDirty && !force && this.isSynchronized()) {\r\n this._currentRenderId = currentRenderId;\r\n return this._worldMatrix;\r\n }\r\n\r\n let camera = (this.getScene().activeCamera);\r\n const useBillboardPosition = (this._billboardMode & TransformNode.BILLBOARDMODE_USE_POSITION) !== 0;\r\n const useBillboardPath = this._billboardMode !== TransformNode.BILLBOARDMODE_NONE && !this.preserveParentRotationForBillboard;\r\n\r\n // Billboarding based on camera position\r\n if (useBillboardPath && camera && useBillboardPosition) {\r\n this.lookAt(camera.position);\r\n\r\n if ((this.billboardMode & TransformNode.BILLBOARDMODE_X) !== TransformNode.BILLBOARDMODE_X) {\r\n this.rotation.x = 0;\r\n }\r\n\r\n if ((this.billboardMode & TransformNode.BILLBOARDMODE_Y) !== TransformNode.BILLBOARDMODE_Y) {\r\n this.rotation.y = 0;\r\n }\r\n\r\n if ((this.billboardMode & TransformNode.BILLBOARDMODE_Z) !== TransformNode.BILLBOARDMODE_Z) {\r\n this.rotation.z = 0;\r\n }\r\n }\r\n\r\n this._updateCache();\r\n let cache = this._cache;\r\n cache.pivotMatrixUpdated = false;\r\n cache.billboardMode = this.billboardMode;\r\n cache.infiniteDistance = this.infiniteDistance;\r\n\r\n this._currentRenderId = currentRenderId;\r\n this._childUpdateId++;\r\n this._isDirty = false;\r\n this._position._isDirty = false;\r\n this._rotation._isDirty = false;\r\n this._scaling._isDirty = false;\r\n let parent = this._getEffectiveParent();\r\n\r\n // Scaling\r\n let scaling: Vector3 = TransformNode._TmpScaling;\r\n let translation: Vector3 = this._position;\r\n\r\n // Translation\r\n if (this._infiniteDistance) {\r\n if (!this.parent && camera) {\r\n var cameraWorldMatrix = camera.getWorldMatrix();\r\n var cameraGlobalPosition = new Vector3(cameraWorldMatrix.m[12], cameraWorldMatrix.m[13], cameraWorldMatrix.m[14]);\r\n\r\n translation = TransformNode._TmpTranslation;\r\n translation.copyFromFloats(this._position.x + cameraGlobalPosition.x, this._position.y + cameraGlobalPosition.y, this._position.z + cameraGlobalPosition.z);\r\n }\r\n }\r\n\r\n // Scaling\r\n scaling.copyFromFloats(this._scaling.x * this.scalingDeterminant, this._scaling.y * this.scalingDeterminant, this._scaling.z * this.scalingDeterminant);\r\n\r\n // Rotation\r\n let rotation: Quaternion;\r\n if (this._rotationQuaternion) {\r\n this._rotationQuaternion._isDirty = false;\r\n rotation = this._rotationQuaternion;\r\n if (this.reIntegrateRotationIntoRotationQuaternion) {\r\n var len = this.rotation.lengthSquared();\r\n if (len) {\r\n this._rotationQuaternion.multiplyInPlace(Quaternion.RotationYawPitchRoll(this._rotation.y, this._rotation.x, this._rotation.z));\r\n this._rotation.copyFromFloats(0, 0, 0);\r\n }\r\n }\r\n } else {\r\n rotation = TransformNode._TmpRotation;\r\n Quaternion.RotationYawPitchRollToRef(this._rotation.y, this._rotation.x, this._rotation.z, rotation);\r\n }\r\n\r\n // Compose\r\n if (this._usePivotMatrix) {\r\n let scaleMatrix = TmpVectors.Matrix[1];\r\n Matrix.ScalingToRef(scaling.x, scaling.y, scaling.z, scaleMatrix);\r\n\r\n // Rotation\r\n let rotationMatrix = TmpVectors.Matrix[0];\r\n rotation.toRotationMatrix(rotationMatrix);\r\n\r\n // Composing transformations\r\n this._pivotMatrix.multiplyToRef(scaleMatrix, TmpVectors.Matrix[4]);\r\n TmpVectors.Matrix[4].multiplyToRef(rotationMatrix, this._localMatrix);\r\n\r\n // Post multiply inverse of pivotMatrix\r\n if (this._postMultiplyPivotMatrix) {\r\n this._localMatrix.multiplyToRef(this._pivotMatrixInverse, this._localMatrix);\r\n }\r\n\r\n this._localMatrix.addTranslationFromFloats(translation.x, translation.y, translation.z);\r\n } else {\r\n Matrix.ComposeToRef(scaling, rotation, translation, this._localMatrix);\r\n }\r\n\r\n // Parent\r\n if (parent && parent.getWorldMatrix) {\r\n if (force) {\r\n parent.computeWorldMatrix();\r\n }\r\n if (useBillboardPath) {\r\n if (this._transformToBoneReferal) {\r\n parent.getWorldMatrix().multiplyToRef(this._transformToBoneReferal.getWorldMatrix(), TmpVectors.Matrix[7]);\r\n } else {\r\n TmpVectors.Matrix[7].copyFrom(parent.getWorldMatrix());\r\n }\r\n\r\n // Extract scaling and translation from parent\r\n let translation = TmpVectors.Vector3[5];\r\n let scale = TmpVectors.Vector3[6];\r\n TmpVectors.Matrix[7].decompose(scale, undefined, translation);\r\n Matrix.ScalingToRef(scale.x, scale.y, scale.z, TmpVectors.Matrix[7]);\r\n TmpVectors.Matrix[7].setTranslation(translation);\r\n\r\n this._localMatrix.multiplyToRef(TmpVectors.Matrix[7], this._worldMatrix);\r\n } else {\r\n if (this._transformToBoneReferal) {\r\n this._localMatrix.multiplyToRef(parent.getWorldMatrix(), TmpVectors.Matrix[6]);\r\n TmpVectors.Matrix[6].multiplyToRef(this._transformToBoneReferal.getWorldMatrix(), this._worldMatrix);\r\n } else {\r\n this._localMatrix.multiplyToRef(parent.getWorldMatrix(), this._worldMatrix);\r\n }\r\n }\r\n this._markSyncedWithParent();\r\n } else {\r\n this._worldMatrix.copyFrom(this._localMatrix);\r\n }\r\n\r\n // Billboarding based on camera orientation (testing PG:http://www.babylonjs-playground.com/#UJEIL#13)\r\n if (useBillboardPath && camera && this.billboardMode && !useBillboardPosition) {\r\n let storedTranslation = TmpVectors.Vector3[0];\r\n this._worldMatrix.getTranslationToRef(storedTranslation); // Save translation\r\n\r\n // Cancel camera rotation\r\n TmpVectors.Matrix[1].copyFrom(camera.getViewMatrix());\r\n TmpVectors.Matrix[1].setTranslationFromFloats(0, 0, 0);\r\n TmpVectors.Matrix[1].invertToRef(TmpVectors.Matrix[0]);\r\n\r\n if ((this.billboardMode & TransformNode.BILLBOARDMODE_ALL) !== TransformNode.BILLBOARDMODE_ALL) {\r\n TmpVectors.Matrix[0].decompose(undefined, TmpVectors.Quaternion[0], undefined);\r\n let eulerAngles = TmpVectors.Vector3[1];\r\n TmpVectors.Quaternion[0].toEulerAnglesToRef(eulerAngles);\r\n\r\n if ((this.billboardMode & TransformNode.BILLBOARDMODE_X) !== TransformNode.BILLBOARDMODE_X) {\r\n eulerAngles.x = 0;\r\n }\r\n\r\n if ((this.billboardMode & TransformNode.BILLBOARDMODE_Y) !== TransformNode.BILLBOARDMODE_Y) {\r\n eulerAngles.y = 0;\r\n }\r\n\r\n if ((this.billboardMode & TransformNode.BILLBOARDMODE_Z) !== TransformNode.BILLBOARDMODE_Z) {\r\n eulerAngles.z = 0;\r\n }\r\n\r\n Matrix.RotationYawPitchRollToRef(eulerAngles.y, eulerAngles.x, eulerAngles.z, TmpVectors.Matrix[0]);\r\n }\r\n this._worldMatrix.setTranslationFromFloats(0, 0, 0);\r\n this._worldMatrix.multiplyToRef(TmpVectors.Matrix[0], this._worldMatrix);\r\n\r\n // Restore translation\r\n this._worldMatrix.setTranslation(TmpVectors.Vector3[0]);\r\n }\r\n\r\n // Normal matrix\r\n if (!this.ignoreNonUniformScaling) {\r\n if (this._scaling.isNonUniformWithinEpsilon(0.000001)) {\r\n this._updateNonUniformScalingState(true);\r\n } else if (parent && (parent)._nonUniformScaling) {\r\n this._updateNonUniformScalingState((parent)._nonUniformScaling);\r\n } else {\r\n this._updateNonUniformScalingState(false);\r\n }\r\n } else {\r\n this._updateNonUniformScalingState(false);\r\n }\r\n\r\n this._afterComputeWorldMatrix();\r\n\r\n // Absolute position\r\n this._absolutePosition.copyFromFloats(this._worldMatrix.m[12], this._worldMatrix.m[13], this._worldMatrix.m[14]);\r\n this._isAbsoluteSynced = false;\r\n\r\n // Callbacks\r\n this.onAfterWorldMatrixUpdateObservable.notifyObservers(this);\r\n\r\n if (!this._poseMatrix) {\r\n this._poseMatrix = Matrix.Invert(this._worldMatrix);\r\n }\r\n\r\n // Cache the determinant\r\n this._worldMatrixDeterminantIsDirty = true;\r\n\r\n return this._worldMatrix;\r\n }\r\n\r\n /**\r\n * Resets this nodeTransform's local matrix to Matrix.Identity().\r\n * @param independentOfChildren indicates if all child nodeTransform's world-space transform should be preserved.\r\n */\r\n public resetLocalMatrix(independentOfChildren : boolean = true): void\r\n {\r\n this.computeWorldMatrix();\r\n if (independentOfChildren) {\r\n let children = this.getChildren();\r\n for (let i = 0; i < children.length; ++i) {\r\n let child = children[i] as TransformNode;\r\n if (child) {\r\n child.computeWorldMatrix();\r\n let bakedMatrix = TmpVectors.Matrix[0];\r\n child._localMatrix.multiplyToRef(this._localMatrix, bakedMatrix);\r\n let tmpRotationQuaternion = TmpVectors.Quaternion[0];\r\n bakedMatrix.decompose(child.scaling, tmpRotationQuaternion, child.position);\r\n if (child.rotationQuaternion) {\r\n child.rotationQuaternion = tmpRotationQuaternion;\r\n } else {\r\n tmpRotationQuaternion.toEulerAnglesToRef(child.rotation);\r\n }\r\n }\r\n }\r\n }\r\n this.scaling.copyFromFloats(1, 1, 1);\r\n this.position.copyFromFloats(0, 0, 0);\r\n this.rotation.copyFromFloats(0, 0, 0);\r\n\r\n //only if quaternion is already set\r\n if (this.rotationQuaternion) {\r\n this.rotationQuaternion = Quaternion.Identity();\r\n }\r\n this._worldMatrix = Matrix.Identity();\r\n }\r\n\r\n protected _afterComputeWorldMatrix(): void {\r\n }\r\n\r\n /**\r\n * If you'd like to be called back after the mesh position, rotation or scaling has been updated.\r\n * @param func callback function to add\r\n *\r\n * @returns the TransformNode.\r\n */\r\n public registerAfterWorldMatrixUpdate(func: (mesh: TransformNode) => void): TransformNode {\r\n this.onAfterWorldMatrixUpdateObservable.add(func);\r\n return this;\r\n }\r\n\r\n /**\r\n * Removes a registered callback function.\r\n * @param func callback function to remove\r\n * @returns the TransformNode.\r\n */\r\n public unregisterAfterWorldMatrixUpdate(func: (mesh: TransformNode) => void): TransformNode {\r\n this.onAfterWorldMatrixUpdateObservable.removeCallback(func);\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets the position of the current mesh in camera space\r\n * @param camera defines the camera to use\r\n * @returns a position\r\n */\r\n public getPositionInCameraSpace(camera: Nullable = null): Vector3 {\r\n if (!camera) {\r\n camera = (this.getScene().activeCamera);\r\n }\r\n\r\n return Vector3.TransformCoordinates(this.getAbsolutePosition(), camera.getViewMatrix());\r\n }\r\n\r\n /**\r\n * Returns the distance from the mesh to the active camera\r\n * @param camera defines the camera to use\r\n * @returns the distance\r\n */\r\n public getDistanceToCamera(camera: Nullable = null): number {\r\n if (!camera) {\r\n camera = (this.getScene().activeCamera);\r\n }\r\n return this.getAbsolutePosition().subtract(camera.globalPosition).length();\r\n }\r\n\r\n /**\r\n * Clone the current transform node\r\n * @param name Name of the new clone\r\n * @param newParent New parent for the clone\r\n * @param doNotCloneChildren Do not clone children hierarchy\r\n * @returns the new transform node\r\n */\r\n public clone(name: string, newParent: Nullable, doNotCloneChildren?: boolean) : Nullable {\r\n var result = SerializationHelper.Clone(() => new TransformNode(name, this.getScene()), this);\r\n\r\n result.name = name;\r\n result.id = name;\r\n\r\n if (newParent) {\r\n result.parent = newParent;\r\n }\r\n\r\n if (!doNotCloneChildren) {\r\n // Children\r\n let directDescendants = this.getDescendants(true);\r\n for (let index = 0; index < directDescendants.length; index++) {\r\n var child = directDescendants[index];\r\n\r\n if ((child).clone) {\r\n (child).clone(name + \".\" + child.name, result);\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Serializes the objects information.\r\n * @param currentSerializationObject defines the object to serialize in\r\n * @returns the serialized object\r\n */\r\n public serialize(currentSerializationObject?: any): any {\r\n let serializationObject = SerializationHelper.Serialize(this, currentSerializationObject);\r\n serializationObject.type = this.getClassName();\r\n\r\n // Parent\r\n if (this.parent) {\r\n serializationObject.parentId = this.parent.id;\r\n }\r\n\r\n serializationObject.localMatrix = this.getPivotMatrix().asArray();\r\n\r\n serializationObject.isEnabled = this.isEnabled();\r\n\r\n // Parent\r\n if (this.parent) {\r\n serializationObject.parentId = this.parent.id;\r\n }\r\n\r\n return serializationObject;\r\n }\r\n\r\n // Statics\r\n /**\r\n * Returns a new TransformNode object parsed from the source provided.\r\n * @param parsedTransformNode is the source.\r\n * @param scene the scne the object belongs to\r\n * @param rootUrl is a string, it's the root URL to prefix the `delayLoadingFile` property with\r\n * @returns a new TransformNode object parsed from the source provided.\r\n */\r\n public static Parse(parsedTransformNode: any, scene: Scene, rootUrl: string): TransformNode {\r\n var transformNode = SerializationHelper.Parse(() => new TransformNode(parsedTransformNode.name, scene), parsedTransformNode, scene, rootUrl);\r\n\r\n if (parsedTransformNode.localMatrix) {\r\n transformNode.setPreTransformMatrix(Matrix.FromArray(parsedTransformNode.localMatrix));\r\n } else if (parsedTransformNode.pivotMatrix) {\r\n transformNode.setPivotMatrix(Matrix.FromArray(parsedTransformNode.pivotMatrix));\r\n }\r\n\r\n transformNode.setEnabled(parsedTransformNode.isEnabled);\r\n\r\n // Parent\r\n if (parsedTransformNode.parentId) {\r\n transformNode._waitingParentId = parsedTransformNode.parentId;\r\n }\r\n\r\n return transformNode;\r\n }\r\n\r\n /**\r\n * Get all child-transformNodes of this node\r\n * @param directDescendantsOnly defines if true only direct descendants of 'this' will be considered, if false direct and also indirect (children of children, an so on in a recursive manner) descendants of 'this' will be considered\r\n * @param predicate defines an optional predicate that will be called on every evaluated child, the predicate must return true for a given child to be part of the result, otherwise it will be ignored\r\n * @returns an array of TransformNode\r\n */\r\n public getChildTransformNodes(directDescendantsOnly?: boolean, predicate?: (node: Node) => boolean): TransformNode[] {\r\n var results: Array = [];\r\n this._getDescendants(results, directDescendantsOnly, (node: Node) => {\r\n return ((!predicate || predicate(node)) && (node instanceof TransformNode));\r\n });\r\n return results;\r\n }\r\n\r\n /**\r\n * Releases resources associated with this transform node.\r\n * @param doNotRecurse Set to true to not recurse into each children (recurse into each children by default)\r\n * @param disposeMaterialAndTextures Set to true to also dispose referenced materials and textures (false by default)\r\n */\r\n public dispose(doNotRecurse?: boolean, disposeMaterialAndTextures = false): void {\r\n // Animations\r\n this.getScene().stopAnimation(this);\r\n\r\n // Remove from scene\r\n this.getScene().removeTransformNode(this);\r\n\r\n this.onAfterWorldMatrixUpdateObservable.clear();\r\n\r\n if (doNotRecurse) {\r\n const transformNodes = this.getChildTransformNodes(true);\r\n for (const transformNode of transformNodes) {\r\n transformNode.parent = null;\r\n transformNode.computeWorldMatrix(true);\r\n }\r\n }\r\n\r\n super.dispose(doNotRecurse, disposeMaterialAndTextures);\r\n }\r\n\r\n /**\r\n * Uniformly scales the mesh to fit inside of a unit cube (1 X 1 X 1 units)\r\n * @param includeDescendants Use the hierarchy's bounding box instead of the mesh's bounding box. Default is false\r\n * @param ignoreRotation ignore rotation when computing the scale (ie. object will be axis aligned). Default is false\r\n * @param predicate predicate that is passed in to getHierarchyBoundingVectors when selecting which object should be included when scaling\r\n * @returns the current mesh\r\n */\r\n public normalizeToUnitCube(includeDescendants = true, ignoreRotation = false, predicate?: Nullable<(node: AbstractMesh) => boolean>): TransformNode {\r\n let storedRotation: Nullable = null;\r\n let storedRotationQuaternion: Nullable = null;\r\n\r\n if (ignoreRotation) {\r\n if (this.rotationQuaternion) {\r\n storedRotationQuaternion = this.rotationQuaternion.clone();\r\n this.rotationQuaternion.copyFromFloats(0, 0, 0, 1);\r\n } else if (this.rotation) {\r\n storedRotation = this.rotation.clone();\r\n this.rotation.copyFromFloats(0, 0, 0);\r\n }\r\n }\r\n\r\n let boundingVectors = this.getHierarchyBoundingVectors(includeDescendants, predicate);\r\n let sizeVec = boundingVectors.max.subtract(boundingVectors.min);\r\n let maxDimension = Math.max(sizeVec.x, sizeVec.y, sizeVec.z);\r\n\r\n if (maxDimension === 0) {\r\n return this;\r\n }\r\n\r\n let scale = 1 / maxDimension;\r\n\r\n this.scaling.scaleInPlace(scale);\r\n\r\n if (ignoreRotation) {\r\n if (this.rotationQuaternion && storedRotationQuaternion) {\r\n this.rotationQuaternion.copyFrom(storedRotationQuaternion);\r\n } else if (this.rotation && storedRotation) {\r\n this.rotation.copyFrom(storedRotation);\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n private _syncAbsoluteScalingAndRotation(): void {\r\n if (!this._isAbsoluteSynced) {\r\n this._worldMatrix.decompose(this._absoluteScaling, this._absoluteRotationQuaternion);\r\n this._isAbsoluteSynced = true;\r\n }\r\n }\r\n}\r\n","import { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { Nullable } from \"../types\";\r\nimport { Sprite } from \"../Sprites/sprite\";\r\nimport { Scene } from \"../scene\";\r\nimport { Vector2 } from \"../Maths/math.vector\";\r\n\r\n/**\r\n * Interface used to define ActionEvent\r\n */\r\nexport interface IActionEvent {\r\n /** The mesh or sprite that triggered the action */\r\n source: any;\r\n /** The X mouse cursor position at the time of the event */\r\n pointerX: number;\r\n /** The Y mouse cursor position at the time of the event */\r\n pointerY: number;\r\n /** The mesh that is currently pointed at (can be null) */\r\n meshUnderPointer: Nullable;\r\n /** the original (browser) event that triggered the ActionEvent */\r\n sourceEvent?: any;\r\n /** additional data for the event */\r\n additionalData?: any;\r\n}\r\n\r\n/**\r\n * ActionEvent is the event being sent when an action is triggered.\r\n */\r\nexport class ActionEvent implements IActionEvent {\r\n /**\r\n * Creates a new ActionEvent\r\n * @param source The mesh or sprite that triggered the action\r\n * @param pointerX The X mouse cursor position at the time of the event\r\n * @param pointerY The Y mouse cursor position at the time of the event\r\n * @param meshUnderPointer The mesh that is currently pointed at (can be null)\r\n * @param sourceEvent the original (browser) event that triggered the ActionEvent\r\n * @param additionalData additional data for the event\r\n */\r\n constructor(\r\n /** The mesh or sprite that triggered the action */\r\n public source: any,\r\n /** The X mouse cursor position at the time of the event */\r\n public pointerX: number,\r\n /** The Y mouse cursor position at the time of the event */\r\n public pointerY: number,\r\n /** The mesh that is currently pointed at (can be null) */\r\n public meshUnderPointer: Nullable,\r\n /** the original (browser) event that triggered the ActionEvent */\r\n public sourceEvent?: any,\r\n /** additional data for the event */\r\n public additionalData?: any) {\r\n }\r\n\r\n /**\r\n * Helper function to auto-create an ActionEvent from a source mesh.\r\n * @param source The source mesh that triggered the event\r\n * @param evt The original (browser) event\r\n * @param additionalData additional data for the event\r\n * @returns the new ActionEvent\r\n */\r\n public static CreateNew(source: AbstractMesh, evt?: Event, additionalData?: any): ActionEvent {\r\n var scene = source.getScene();\r\n return new ActionEvent(source, scene.pointerX, scene.pointerY, scene.meshUnderPointer || source, evt, additionalData);\r\n }\r\n\r\n /**\r\n * Helper function to auto-create an ActionEvent from a source sprite\r\n * @param source The source sprite that triggered the event\r\n * @param scene Scene associated with the sprite\r\n * @param evt The original (browser) event\r\n * @param additionalData additional data for the event\r\n * @returns the new ActionEvent\r\n */\r\n public static CreateNewFromSprite(source: Sprite, scene: Scene, evt?: Event, additionalData?: any): ActionEvent {\r\n return new ActionEvent(source, scene.pointerX, scene.pointerY, scene.meshUnderPointer, evt, additionalData);\r\n }\r\n\r\n /**\r\n * Helper function to auto-create an ActionEvent from a scene. If triggered by a mesh use ActionEvent.CreateNew\r\n * @param scene the scene where the event occurred\r\n * @param evt The original (browser) event\r\n * @returns the new ActionEvent\r\n */\r\n public static CreateNewFromScene(scene: Scene, evt: Event): ActionEvent {\r\n return new ActionEvent(null, scene.pointerX, scene.pointerY, scene.meshUnderPointer, evt);\r\n }\r\n\r\n /**\r\n * Helper function to auto-create an ActionEvent from a primitive\r\n * @param prim defines the target primitive\r\n * @param pointerPos defines the pointer position\r\n * @param evt The original (browser) event\r\n * @param additionalData additional data for the event\r\n * @returns the new ActionEvent\r\n */\r\n public static CreateNewFromPrimitive(prim: any, pointerPos: Vector2, evt?: Event, additionalData?: any): ActionEvent {\r\n return new ActionEvent(prim, pointerPos.x, pointerPos.y, null, evt, additionalData);\r\n }\r\n}","import { serialize, SerializationHelper, serializeAsColor3, expandToProperty } from \"../Misc/decorators\";\r\nimport { Nullable } from \"../types\";\r\nimport { Scene } from \"../scene\";\r\nimport { Vector3 } from \"../Maths/math.vector\";\r\nimport { Color3, TmpColors } from \"../Maths/math.color\";\r\nimport { Node } from \"../node\";\r\nimport { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { Effect } from \"../Materials/effect\";\r\nimport { UniformBuffer } from \"../Materials/uniformBuffer\";\r\nimport { IShadowGenerator } from \"./Shadows/shadowGenerator\";\r\nimport { _TypeStore } from '../Misc/typeStore';\r\n\r\n/**\r\n * Base class of all the lights in Babylon. It groups all the generic information about lights.\r\n * Lights are used, as you would expect, to affect how meshes are seen, in terms of both illumination and colour.\r\n * All meshes allow light to pass through them unless shadow generation is activated. The default number of lights allowed is four but this can be increased.\r\n */\r\nexport abstract class Light extends Node {\r\n\r\n /**\r\n * Falloff Default: light is falling off following the material specification:\r\n * standard material is using standard falloff whereas pbr material can request special falloff per materials.\r\n */\r\n public static readonly FALLOFF_DEFAULT = 0;\r\n\r\n /**\r\n * Falloff Physical: light is falling off following the inverse squared distance law.\r\n */\r\n public static readonly FALLOFF_PHYSICAL = 1;\r\n\r\n /**\r\n * Falloff gltf: light is falling off as described in the gltf moving to PBR document\r\n * to enhance interoperability with other engines.\r\n */\r\n public static readonly FALLOFF_GLTF = 2;\r\n\r\n /**\r\n * Falloff Standard: light is falling off like in the standard material\r\n * to enhance interoperability with other materials.\r\n */\r\n public static readonly FALLOFF_STANDARD = 3;\r\n\r\n //lightmapMode Consts\r\n /**\r\n * If every light affecting the material is in this lightmapMode,\r\n * material.lightmapTexture adds or multiplies\r\n * (depends on material.useLightmapAsShadowmap)\r\n * after every other light calculations.\r\n */\r\n public static readonly LIGHTMAP_DEFAULT = 0;\r\n /**\r\n * material.lightmapTexture as only diffuse lighting from this light\r\n * adds only specular lighting from this light\r\n * adds dynamic shadows\r\n */\r\n public static readonly LIGHTMAP_SPECULAR = 1;\r\n /**\r\n * material.lightmapTexture as only lighting\r\n * no light calculation from this light\r\n * only adds dynamic shadows from this light\r\n */\r\n public static readonly LIGHTMAP_SHADOWSONLY = 2;\r\n\r\n // Intensity Mode Consts\r\n /**\r\n * Each light type uses the default quantity according to its type:\r\n * point/spot lights use luminous intensity\r\n * directional lights use illuminance\r\n */\r\n public static readonly INTENSITYMODE_AUTOMATIC = 0;\r\n /**\r\n * lumen (lm)\r\n */\r\n public static readonly INTENSITYMODE_LUMINOUSPOWER = 1;\r\n /**\r\n * candela (lm/sr)\r\n */\r\n public static readonly INTENSITYMODE_LUMINOUSINTENSITY = 2;\r\n /**\r\n * lux (lm/m^2)\r\n */\r\n public static readonly INTENSITYMODE_ILLUMINANCE = 3;\r\n /**\r\n * nit (cd/m^2)\r\n */\r\n public static readonly INTENSITYMODE_LUMINANCE = 4;\r\n\r\n // Light types ids const.\r\n /**\r\n * Light type const id of the point light.\r\n */\r\n public static readonly LIGHTTYPEID_POINTLIGHT = 0;\r\n /**\r\n * Light type const id of the directional light.\r\n */\r\n public static readonly LIGHTTYPEID_DIRECTIONALLIGHT = 1;\r\n /**\r\n * Light type const id of the spot light.\r\n */\r\n public static readonly LIGHTTYPEID_SPOTLIGHT = 2;\r\n /**\r\n * Light type const id of the hemispheric light.\r\n */\r\n public static readonly LIGHTTYPEID_HEMISPHERICLIGHT = 3;\r\n\r\n /**\r\n * Diffuse gives the basic color to an object.\r\n */\r\n @serializeAsColor3()\r\n public diffuse = new Color3(1.0, 1.0, 1.0);\r\n\r\n /**\r\n * Specular produces a highlight color on an object.\r\n * Note: This is note affecting PBR materials.\r\n */\r\n @serializeAsColor3()\r\n public specular = new Color3(1.0, 1.0, 1.0);\r\n\r\n /**\r\n * Defines the falloff type for this light. This lets overrriding how punctual light are\r\n * falling off base on range or angle.\r\n * This can be set to any values in Light.FALLOFF_x.\r\n *\r\n * Note: This is only useful for PBR Materials at the moment. This could be extended if required to\r\n * other types of materials.\r\n */\r\n @serialize()\r\n public falloffType = Light.FALLOFF_DEFAULT;\r\n\r\n /**\r\n * Strength of the light.\r\n * Note: By default it is define in the framework own unit.\r\n * Note: In PBR materials the intensityMode can be use to chose what unit the intensity is defined in.\r\n */\r\n @serialize()\r\n public intensity = 1.0;\r\n\r\n private _range = Number.MAX_VALUE;\r\n protected _inverseSquaredRange = 0;\r\n\r\n /**\r\n * Defines how far from the source the light is impacting in scene units.\r\n * Note: Unused in PBR material as the distance light falloff is defined following the inverse squared falloff.\r\n */\r\n @serialize()\r\n public get range(): number {\r\n return this._range;\r\n }\r\n /**\r\n * Defines how far from the source the light is impacting in scene units.\r\n * Note: Unused in PBR material as the distance light falloff is defined following the inverse squared falloff.\r\n */\r\n public set range(value: number) {\r\n this._range = value;\r\n this._inverseSquaredRange = 1.0 / (this.range * this.range);\r\n }\r\n\r\n /**\r\n * Cached photometric scale default to 1.0 as the automatic intensity mode defaults to 1.0 for every type\r\n * of light.\r\n */\r\n private _photometricScale = 1.0;\r\n\r\n private _intensityMode: number = Light.INTENSITYMODE_AUTOMATIC;\r\n /**\r\n * Gets the photometric scale used to interpret the intensity.\r\n * This is only relevant with PBR Materials where the light intensity can be defined in a physical way.\r\n */\r\n @serialize()\r\n public get intensityMode(): number {\r\n return this._intensityMode;\r\n }\r\n /**\r\n * Sets the photometric scale used to interpret the intensity.\r\n * This is only relevant with PBR Materials where the light intensity can be defined in a physical way.\r\n */\r\n public set intensityMode(value: number) {\r\n this._intensityMode = value;\r\n this._computePhotometricScale();\r\n }\r\n\r\n private _radius = 0.00001;\r\n /**\r\n * Gets the light radius used by PBR Materials to simulate soft area lights.\r\n */\r\n @serialize()\r\n public get radius(): number {\r\n return this._radius;\r\n }\r\n /**\r\n * sets the light radius used by PBR Materials to simulate soft area lights.\r\n */\r\n public set radius(value: number) {\r\n this._radius = value;\r\n this._computePhotometricScale();\r\n }\r\n\r\n @serialize()\r\n private _renderPriority: number;\r\n /**\r\n * Defines the rendering priority of the lights. It can help in case of fallback or number of lights\r\n * exceeding the number allowed of the materials.\r\n */\r\n @expandToProperty(\"_reorderLightsInScene\")\r\n public renderPriority: number = 0;\r\n\r\n @serialize(\"shadowEnabled\")\r\n private _shadowEnabled: boolean = true;\r\n /**\r\n * Gets wether or not the shadows are enabled for this light. This can help turning off/on shadow without detaching\r\n * the current shadow generator.\r\n */\r\n public get shadowEnabled(): boolean {\r\n return this._shadowEnabled;\r\n }\r\n /**\r\n * Sets wether or not the shadows are enabled for this light. This can help turning off/on shadow without detaching\r\n * the current shadow generator.\r\n */\r\n public set shadowEnabled(value: boolean) {\r\n if (this._shadowEnabled === value) {\r\n return;\r\n }\r\n\r\n this._shadowEnabled = value;\r\n this._markMeshesAsLightDirty();\r\n }\r\n\r\n private _includedOnlyMeshes: AbstractMesh[];\r\n /**\r\n * Gets the only meshes impacted by this light.\r\n */\r\n public get includedOnlyMeshes(): AbstractMesh[] {\r\n return this._includedOnlyMeshes;\r\n }\r\n /**\r\n * Sets the only meshes impacted by this light.\r\n */\r\n public set includedOnlyMeshes(value: AbstractMesh[]) {\r\n this._includedOnlyMeshes = value;\r\n this._hookArrayForIncludedOnly(value);\r\n }\r\n\r\n private _excludedMeshes: AbstractMesh[];\r\n /**\r\n * Gets the meshes not impacted by this light.\r\n */\r\n public get excludedMeshes(): AbstractMesh[] {\r\n return this._excludedMeshes;\r\n }\r\n /**\r\n * Sets the meshes not impacted by this light.\r\n */\r\n public set excludedMeshes(value: AbstractMesh[]) {\r\n this._excludedMeshes = value;\r\n this._hookArrayForExcluded(value);\r\n }\r\n\r\n @serialize(\"excludeWithLayerMask\")\r\n private _excludeWithLayerMask = 0;\r\n /**\r\n * Gets the layer id use to find what meshes are not impacted by the light.\r\n * Inactive if 0\r\n */\r\n public get excludeWithLayerMask(): number {\r\n return this._excludeWithLayerMask;\r\n }\r\n /**\r\n * Sets the layer id use to find what meshes are not impacted by the light.\r\n * Inactive if 0\r\n */\r\n public set excludeWithLayerMask(value: number) {\r\n this._excludeWithLayerMask = value;\r\n this._resyncMeshes();\r\n }\r\n\r\n @serialize(\"includeOnlyWithLayerMask\")\r\n private _includeOnlyWithLayerMask = 0;\r\n /**\r\n * Gets the layer id use to find what meshes are impacted by the light.\r\n * Inactive if 0\r\n */\r\n public get includeOnlyWithLayerMask(): number {\r\n return this._includeOnlyWithLayerMask;\r\n }\r\n /**\r\n * Sets the layer id use to find what meshes are impacted by the light.\r\n * Inactive if 0\r\n */\r\n public set includeOnlyWithLayerMask(value: number) {\r\n this._includeOnlyWithLayerMask = value;\r\n this._resyncMeshes();\r\n }\r\n\r\n @serialize(\"lightmapMode\")\r\n private _lightmapMode = 0;\r\n /**\r\n * Gets the lightmap mode of this light (should be one of the constants defined by Light.LIGHTMAP_x)\r\n */\r\n public get lightmapMode(): number {\r\n return this._lightmapMode;\r\n }\r\n /**\r\n * Sets the lightmap mode of this light (should be one of the constants defined by Light.LIGHTMAP_x)\r\n */\r\n public set lightmapMode(value: number) {\r\n if (this._lightmapMode === value) {\r\n return;\r\n }\r\n\r\n this._lightmapMode = value;\r\n this._markMeshesAsLightDirty();\r\n }\r\n\r\n /**\r\n * Shadow generator associted to the light.\r\n * @hidden Internal use only.\r\n */\r\n public _shadowGenerator: Nullable;\r\n\r\n /**\r\n * @hidden Internal use only.\r\n */\r\n public _excludedMeshesIds = new Array();\r\n\r\n /**\r\n * @hidden Internal use only.\r\n */\r\n public _includedOnlyMeshesIds = new Array();\r\n\r\n /**\r\n * The current light unifom buffer.\r\n * @hidden Internal use only.\r\n */\r\n public _uniformBuffer: UniformBuffer;\r\n\r\n /** @hidden */\r\n public _renderId: number;\r\n /**\r\n * Creates a Light object in the scene.\r\n * Documentation : https://doc.babylonjs.com/babylon101/lights\r\n * @param name The firendly name of the light\r\n * @param scene The scene the light belongs too\r\n */\r\n constructor(name: string, scene: Scene) {\r\n super(name, scene);\r\n this.getScene().addLight(this);\r\n this._uniformBuffer = new UniformBuffer(this.getScene().getEngine());\r\n this._buildUniformLayout();\r\n\r\n this.includedOnlyMeshes = new Array();\r\n this.excludedMeshes = new Array();\r\n\r\n this._resyncMeshes();\r\n }\r\n\r\n protected abstract _buildUniformLayout(): void;\r\n\r\n /**\r\n * Sets the passed Effect \"effect\" with the Light information.\r\n * @param effect The effect to update\r\n * @param lightIndex The index of the light in the effect to update\r\n * @returns The light\r\n */\r\n public abstract transferToEffect(effect: Effect, lightIndex: string): Light;\r\n\r\n /**\r\n * Sets the passed Effect \"effect\" with the Light textures.\r\n * @param effect The effect to update\r\n * @param lightIndex The index of the light in the effect to update\r\n * @returns The light\r\n */\r\n public transferTexturesToEffect(effect: Effect, lightIndex: string): Light {\r\n // Do nothing by default.\r\n return this;\r\n }\r\n\r\n /**\r\n * Binds the lights information from the scene to the effect for the given mesh.\r\n * @param lightIndex Light index\r\n * @param scene The scene where the light belongs to\r\n * @param effect The effect we are binding the data to\r\n * @param useSpecular Defines if specular is supported\r\n * @param rebuildInParallel Specifies whether the shader is rebuilding in parallel\r\n */\r\n public _bindLight(lightIndex: number, scene: Scene, effect: Effect, useSpecular: boolean, rebuildInParallel = false): void {\r\n let iAsString = lightIndex.toString();\r\n let needUpdate = false;\r\n\r\n if (rebuildInParallel && this._uniformBuffer._alreadyBound) {\r\n return;\r\n }\r\n\r\n this._uniformBuffer.bindToEffect(effect, \"Light\" + iAsString);\r\n\r\n if (this._renderId !== scene.getRenderId() || !this._uniformBuffer.useUbo) {\r\n this._renderId = scene.getRenderId();\r\n\r\n let scaledIntensity = this.getScaledIntensity();\r\n\r\n this.transferToEffect(effect, iAsString);\r\n\r\n this.diffuse.scaleToRef(scaledIntensity, TmpColors.Color3[0]);\r\n this._uniformBuffer.updateColor4(\"vLightDiffuse\", TmpColors.Color3[0], this.range, iAsString);\r\n if (useSpecular) {\r\n this.specular.scaleToRef(scaledIntensity, TmpColors.Color3[1]);\r\n this._uniformBuffer.updateColor4(\"vLightSpecular\", TmpColors.Color3[1], this.radius, iAsString);\r\n }\r\n needUpdate = true;\r\n }\r\n\r\n // Textures might still need to be rebound.\r\n this.transferTexturesToEffect(effect, iAsString);\r\n\r\n // Shadows\r\n if (scene.shadowsEnabled && this.shadowEnabled) {\r\n var shadowGenerator = this.getShadowGenerator();\r\n if (shadowGenerator) {\r\n shadowGenerator.bindShadowLight(iAsString, effect);\r\n needUpdate = true;\r\n }\r\n }\r\n\r\n if (needUpdate) {\r\n this._uniformBuffer.update();\r\n }\r\n }\r\n\r\n /**\r\n * Sets the passed Effect \"effect\" with the Light information.\r\n * @param effect The effect to update\r\n * @param lightDataUniformName The uniform used to store light data (position or direction)\r\n * @returns The light\r\n */\r\n public abstract transferToNodeMaterialEffect(effect: Effect, lightDataUniformName: string): Light;\r\n\r\n /**\r\n * Returns the string \"Light\".\r\n * @returns the class name\r\n */\r\n public getClassName(): string {\r\n return \"Light\";\r\n }\r\n\r\n /** @hidden */\r\n public readonly _isLight = true;\r\n\r\n /**\r\n * Converts the light information to a readable string for debug purpose.\r\n * @param fullDetails Supports for multiple levels of logging within scene loading\r\n * @returns the human readable light info\r\n */\r\n public toString(fullDetails?: boolean): string {\r\n var ret = \"Name: \" + this.name;\r\n ret += \", type: \" + ([\"Point\", \"Directional\", \"Spot\", \"Hemispheric\"])[this.getTypeID()];\r\n if (this.animations) {\r\n for (var i = 0; i < this.animations.length; i++) {\r\n ret += \", animation[0]: \" + this.animations[i].toString(fullDetails);\r\n }\r\n }\r\n if (fullDetails) {\r\n }\r\n return ret;\r\n }\r\n\r\n /** @hidden */\r\n protected _syncParentEnabledState() {\r\n super._syncParentEnabledState();\r\n if (!this.isDisposed()) {\r\n this._resyncMeshes();\r\n }\r\n }\r\n\r\n /**\r\n * Set the enabled state of this node.\r\n * @param value - the new enabled state\r\n */\r\n public setEnabled(value: boolean): void {\r\n super.setEnabled(value);\r\n\r\n this._resyncMeshes();\r\n }\r\n\r\n /**\r\n * Returns the Light associated shadow generator if any.\r\n * @return the associated shadow generator.\r\n */\r\n public getShadowGenerator(): Nullable {\r\n return this._shadowGenerator;\r\n }\r\n\r\n /**\r\n * Returns a Vector3, the absolute light position in the World.\r\n * @returns the world space position of the light\r\n */\r\n public getAbsolutePosition(): Vector3 {\r\n return Vector3.Zero();\r\n }\r\n\r\n /**\r\n * Specifies if the light will affect the passed mesh.\r\n * @param mesh The mesh to test against the light\r\n * @return true the mesh is affected otherwise, false.\r\n */\r\n public canAffectMesh(mesh: AbstractMesh): boolean {\r\n if (!mesh) {\r\n return true;\r\n }\r\n\r\n if (this.includedOnlyMeshes && this.includedOnlyMeshes.length > 0 && this.includedOnlyMeshes.indexOf(mesh) === -1) {\r\n return false;\r\n }\r\n\r\n if (this.excludedMeshes && this.excludedMeshes.length > 0 && this.excludedMeshes.indexOf(mesh) !== -1) {\r\n return false;\r\n }\r\n\r\n if (this.includeOnlyWithLayerMask !== 0 && (this.includeOnlyWithLayerMask & mesh.layerMask) === 0) {\r\n return false;\r\n }\r\n\r\n if (this.excludeWithLayerMask !== 0 && this.excludeWithLayerMask & mesh.layerMask) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Sort function to order lights for rendering.\r\n * @param a First Light object to compare to second.\r\n * @param b Second Light object to compare first.\r\n * @return -1 to reduce's a's index relative to be, 0 for no change, 1 to increase a's index relative to b.\r\n */\r\n public static CompareLightsPriority(a: Light, b: Light): number {\r\n //shadow-casting lights have priority over non-shadow-casting lights\r\n //the renderPrioirty is a secondary sort criterion\r\n if (a.shadowEnabled !== b.shadowEnabled) {\r\n return (b.shadowEnabled ? 1 : 0) - (a.shadowEnabled ? 1 : 0);\r\n }\r\n return b.renderPriority - a.renderPriority;\r\n }\r\n\r\n /**\r\n * Releases resources associated with this node.\r\n * @param doNotRecurse Set to true to not recurse into each children (recurse into each children by default)\r\n * @param disposeMaterialAndTextures Set to true to also dispose referenced materials and textures (false by default)\r\n */\r\n public dispose(doNotRecurse?: boolean, disposeMaterialAndTextures = false): void {\r\n if (this._shadowGenerator) {\r\n this._shadowGenerator.dispose();\r\n this._shadowGenerator = null;\r\n }\r\n\r\n // Animations\r\n this.getScene().stopAnimation(this);\r\n\r\n // Remove from meshes\r\n for (var mesh of this.getScene().meshes) {\r\n mesh._removeLightSource(this, true);\r\n }\r\n\r\n this._uniformBuffer.dispose();\r\n\r\n // Remove from scene\r\n this.getScene().removeLight(this);\r\n super.dispose(doNotRecurse, disposeMaterialAndTextures);\r\n }\r\n\r\n /**\r\n * Returns the light type ID (integer).\r\n * @returns The light Type id as a constant defines in Light.LIGHTTYPEID_x\r\n */\r\n public getTypeID(): number {\r\n return 0;\r\n }\r\n\r\n /**\r\n * Returns the intensity scaled by the Photometric Scale according to the light type and intensity mode.\r\n * @returns the scaled intensity in intensity mode unit\r\n */\r\n public getScaledIntensity() {\r\n return this._photometricScale * this.intensity;\r\n }\r\n\r\n /**\r\n * Returns a new Light object, named \"name\", from the current one.\r\n * @param name The name of the cloned light\r\n * @param newParent The parent of this light, if it has one\r\n * @returns the new created light\r\n */\r\n public clone(name: string, newParent: Nullable = null): Nullable {\r\n let constructor = Light.GetConstructorFromName(this.getTypeID(), name, this.getScene());\r\n\r\n if (!constructor) {\r\n return null;\r\n }\r\n let clonedLight = SerializationHelper.Clone(constructor, this);\r\n if (newParent) {\r\n clonedLight.parent = newParent;\r\n }\r\n clonedLight.setEnabled(this.isEnabled());\r\n return clonedLight;\r\n }\r\n\r\n /**\r\n * Serializes the current light into a Serialization object.\r\n * @returns the serialized object.\r\n */\r\n public serialize(): any {\r\n var serializationObject = SerializationHelper.Serialize(this);\r\n\r\n // Type\r\n serializationObject.type = this.getTypeID();\r\n\r\n // Parent\r\n if (this.parent) {\r\n serializationObject.parentId = this.parent.id;\r\n }\r\n\r\n // Inclusion / exclusions\r\n if (this.excludedMeshes.length > 0) {\r\n serializationObject.excludedMeshesIds = [];\r\n this.excludedMeshes.forEach((mesh: AbstractMesh) => {\r\n serializationObject.excludedMeshesIds.push(mesh.id);\r\n });\r\n }\r\n\r\n if (this.includedOnlyMeshes.length > 0) {\r\n serializationObject.includedOnlyMeshesIds = [];\r\n this.includedOnlyMeshes.forEach((mesh: AbstractMesh) => {\r\n serializationObject.includedOnlyMeshesIds.push(mesh.id);\r\n });\r\n }\r\n\r\n // Animations\r\n SerializationHelper.AppendSerializedAnimations(this, serializationObject);\r\n serializationObject.ranges = this.serializeAnimationRanges();\r\n\r\n return serializationObject;\r\n }\r\n\r\n /**\r\n * Creates a new typed light from the passed type (integer) : point light = 0, directional light = 1, spot light = 2, hemispheric light = 3.\r\n * This new light is named \"name\" and added to the passed scene.\r\n * @param type Type according to the types available in Light.LIGHTTYPEID_x\r\n * @param name The friendly name of the light\r\n * @param scene The scene the new light will belong to\r\n * @returns the constructor function\r\n */\r\n static GetConstructorFromName(type: number, name: string, scene: Scene): Nullable<() => Light> {\r\n let constructorFunc = Node.Construct(\"Light_Type_\" + type, name, scene);\r\n\r\n if (constructorFunc) {\r\n return <() => Light>constructorFunc;\r\n }\r\n\r\n // Default to no light for none present once.\r\n return null;\r\n }\r\n\r\n /**\r\n * Parses the passed \"parsedLight\" and returns a new instanced Light from this parsing.\r\n * @param parsedLight The JSON representation of the light\r\n * @param scene The scene to create the parsed light in\r\n * @returns the created light after parsing\r\n */\r\n public static Parse(parsedLight: any, scene: Scene): Nullable {\r\n let constructor = Light.GetConstructorFromName(parsedLight.type, parsedLight.name, scene);\r\n\r\n if (!constructor) {\r\n return null;\r\n }\r\n\r\n var light = SerializationHelper.Parse(constructor, parsedLight, scene);\r\n\r\n // Inclusion / exclusions\r\n if (parsedLight.excludedMeshesIds) {\r\n light._excludedMeshesIds = parsedLight.excludedMeshesIds;\r\n }\r\n\r\n if (parsedLight.includedOnlyMeshesIds) {\r\n light._includedOnlyMeshesIds = parsedLight.includedOnlyMeshesIds;\r\n }\r\n\r\n // Parent\r\n if (parsedLight.parentId) {\r\n light._waitingParentId = parsedLight.parentId;\r\n }\r\n\r\n // Falloff\r\n if (parsedLight.falloffType !== undefined) {\r\n light.falloffType = parsedLight.falloffType;\r\n }\r\n\r\n // Lightmaps\r\n if (parsedLight.lightmapMode !== undefined) {\r\n light.lightmapMode = parsedLight.lightmapMode;\r\n }\r\n\r\n // Animations\r\n if (parsedLight.animations) {\r\n for (var animationIndex = 0; animationIndex < parsedLight.animations.length; animationIndex++) {\r\n var parsedAnimation = parsedLight.animations[animationIndex];\r\n const internalClass = _TypeStore.GetClass(\"BABYLON.Animation\");\r\n if (internalClass) {\r\n light.animations.push(internalClass.Parse(parsedAnimation));\r\n }\r\n }\r\n Node.ParseAnimationRanges(light, parsedLight, scene);\r\n }\r\n\r\n if (parsedLight.autoAnimate) {\r\n scene.beginAnimation(light, parsedLight.autoAnimateFrom, parsedLight.autoAnimateTo, parsedLight.autoAnimateLoop, parsedLight.autoAnimateSpeed || 1.0);\r\n }\r\n\r\n return light;\r\n }\r\n\r\n private _hookArrayForExcluded(array: AbstractMesh[]): void {\r\n var oldPush = array.push;\r\n array.push = (...items: AbstractMesh[]) => {\r\n var result = oldPush.apply(array, items);\r\n\r\n for (var item of items) {\r\n item._resyncLightSource(this);\r\n }\r\n\r\n return result;\r\n };\r\n\r\n var oldSplice = array.splice;\r\n array.splice = (index: number, deleteCount?: number) => {\r\n var deleted = oldSplice.apply(array, [index, deleteCount]);\r\n\r\n for (var item of deleted) {\r\n item._resyncLightSource(this);\r\n }\r\n\r\n return deleted;\r\n };\r\n\r\n for (var item of array) {\r\n item._resyncLightSource(this);\r\n }\r\n }\r\n\r\n private _hookArrayForIncludedOnly(array: AbstractMesh[]): void {\r\n var oldPush = array.push;\r\n array.push = (...items: AbstractMesh[]) => {\r\n var result = oldPush.apply(array, items);\r\n\r\n this._resyncMeshes();\r\n\r\n return result;\r\n };\r\n\r\n var oldSplice = array.splice;\r\n array.splice = (index: number, deleteCount?: number) => {\r\n var deleted = oldSplice.apply(array, [index, deleteCount]);\r\n\r\n this._resyncMeshes();\r\n\r\n return deleted;\r\n };\r\n\r\n this._resyncMeshes();\r\n }\r\n\r\n private _resyncMeshes() {\r\n for (var mesh of this.getScene().meshes) {\r\n mesh._resyncLightSource(this);\r\n }\r\n }\r\n\r\n /**\r\n * Forces the meshes to update their light related information in their rendering used effects\r\n * @hidden Internal Use Only\r\n */\r\n public _markMeshesAsLightDirty() {\r\n for (var mesh of this.getScene().meshes) {\r\n if (mesh.lightSources.indexOf(this) !== -1) {\r\n mesh._markSubMeshesAsLightDirty();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Recomputes the cached photometric scale if needed.\r\n */\r\n private _computePhotometricScale(): void {\r\n this._photometricScale = this._getPhotometricScale();\r\n this.getScene().resetCachedMaterial();\r\n }\r\n\r\n /**\r\n * Returns the Photometric Scale according to the light type and intensity mode.\r\n */\r\n private _getPhotometricScale() {\r\n let photometricScale = 0.0;\r\n let lightTypeID = this.getTypeID();\r\n\r\n //get photometric mode\r\n let photometricMode = this.intensityMode;\r\n if (photometricMode === Light.INTENSITYMODE_AUTOMATIC) {\r\n if (lightTypeID === Light.LIGHTTYPEID_DIRECTIONALLIGHT) {\r\n photometricMode = Light.INTENSITYMODE_ILLUMINANCE;\r\n } else {\r\n photometricMode = Light.INTENSITYMODE_LUMINOUSINTENSITY;\r\n }\r\n }\r\n\r\n //compute photometric scale\r\n switch (lightTypeID) {\r\n case Light.LIGHTTYPEID_POINTLIGHT:\r\n case Light.LIGHTTYPEID_SPOTLIGHT:\r\n switch (photometricMode) {\r\n case Light.INTENSITYMODE_LUMINOUSPOWER:\r\n photometricScale = 1.0 / (4.0 * Math.PI);\r\n break;\r\n case Light.INTENSITYMODE_LUMINOUSINTENSITY:\r\n photometricScale = 1.0;\r\n break;\r\n case Light.INTENSITYMODE_LUMINANCE:\r\n photometricScale = this.radius * this.radius;\r\n break;\r\n }\r\n break;\r\n\r\n case Light.LIGHTTYPEID_DIRECTIONALLIGHT:\r\n switch (photometricMode) {\r\n case Light.INTENSITYMODE_ILLUMINANCE:\r\n photometricScale = 1.0;\r\n break;\r\n case Light.INTENSITYMODE_LUMINANCE:\r\n // When radius (and therefore solid angle) is non-zero a directional lights brightness can be specified via central (peak) luminance.\r\n // For a directional light the 'radius' defines the angular radius (in radians) rather than world-space radius (e.g. in metres).\r\n let apexAngleRadians = this.radius;\r\n // Impose a minimum light angular size to avoid the light becoming an infinitely small angular light source (i.e. a dirac delta function).\r\n apexAngleRadians = Math.max(apexAngleRadians, 0.001);\r\n let solidAngle = 2.0 * Math.PI * (1.0 - Math.cos(apexAngleRadians));\r\n photometricScale = solidAngle;\r\n break;\r\n }\r\n break;\r\n\r\n case Light.LIGHTTYPEID_HEMISPHERICLIGHT:\r\n // No fall off in hemisperic light.\r\n photometricScale = 1.0;\r\n break;\r\n }\r\n return photometricScale;\r\n }\r\n\r\n /**\r\n * Reorder the light in the scene according to their defined priority.\r\n * @hidden Internal Use Only\r\n */\r\n public _reorderLightsInScene(): void {\r\n var scene = this.getScene();\r\n if (this._renderPriority != 0) {\r\n scene.requireLightSorting = true;\r\n }\r\n this.getScene().sortLightsByPriority();\r\n }\r\n\r\n /**\r\n * Prepares the list of defines specific to the light type.\r\n * @param defines the list of defines\r\n * @param lightIndex defines the index of the light for the effect\r\n */\r\n public abstract prepareLightSpecificDefines(defines: any, lightIndex: number): void;\r\n}\r\n","import { IWebRequest } from './interfaces/iWebRequest';\r\nimport { Nullable } from '../types';\r\n\r\n/** @hidden */\r\ndeclare const _native: any;\r\n\r\n/** @hidden */\r\nfunction createXMLHttpRequest(): XMLHttpRequest {\r\n // If running in Babylon Native, then defer to the native XMLHttpRequest, which has the same public contract\r\n if (typeof _native !== 'undefined' && _native.XMLHttpRequest) {\r\n return new _native.XMLHttpRequest();\r\n } else {\r\n return new XMLHttpRequest();\r\n }\r\n}\r\n\r\n/**\r\n * Extended version of XMLHttpRequest with support for customizations (headers, ...)\r\n */\r\nexport class WebRequest implements IWebRequest {\r\n private readonly _xhr = createXMLHttpRequest();\r\n\r\n /**\r\n * Custom HTTP Request Headers to be sent with XMLHttpRequests\r\n * i.e. when loading files, where the server/service expects an Authorization header\r\n */\r\n public static CustomRequestHeaders: { [key: string]: string } = {};\r\n\r\n /**\r\n * Add callback functions in this array to update all the requests before they get sent to the network\r\n */\r\n public static CustomRequestModifiers = new Array<(request: XMLHttpRequest, url: string) => void>();\r\n\r\n private _injectCustomRequestHeaders(): void {\r\n for (let key in WebRequest.CustomRequestHeaders) {\r\n const val = WebRequest.CustomRequestHeaders[key];\r\n if (val) {\r\n this._xhr.setRequestHeader(key, val);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Gets or sets a function to be called when loading progress changes\r\n */\r\n public get onprogress(): ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null {\r\n return this._xhr.onprogress;\r\n }\r\n\r\n public set onprogress(value: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null) {\r\n this._xhr.onprogress = value;\r\n }\r\n\r\n /**\r\n * Returns client's state\r\n */\r\n public get readyState(): number {\r\n return this._xhr.readyState;\r\n }\r\n\r\n /**\r\n * Returns client's status\r\n */\r\n public get status(): number {\r\n return this._xhr.status;\r\n }\r\n\r\n /**\r\n * Returns client's status as a text\r\n */\r\n public get statusText(): string {\r\n return this._xhr.statusText;\r\n }\r\n\r\n /**\r\n * Returns client's response\r\n */\r\n public get response(): any {\r\n return this._xhr.response;\r\n }\r\n\r\n /**\r\n * Returns client's response url\r\n */\r\n public get responseURL(): string {\r\n return this._xhr.responseURL;\r\n }\r\n\r\n /**\r\n * Returns client's response as text\r\n */\r\n public get responseText(): string {\r\n return this._xhr.responseText;\r\n }\r\n\r\n /**\r\n * Gets or sets the expected response type\r\n */\r\n public get responseType(): XMLHttpRequestResponseType {\r\n return this._xhr.responseType;\r\n }\r\n\r\n public set responseType(value: XMLHttpRequestResponseType) {\r\n this._xhr.responseType = value;\r\n }\r\n\r\n /** @hidden */\r\n public addEventListener(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\r\n public addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void {\r\n this._xhr.addEventListener(type, listener, options);\r\n }\r\n\r\n /** @hidden */\r\n public removeEventListener(type: K, listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\r\n public removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void {\r\n this._xhr.removeEventListener(type, listener, options);\r\n }\r\n\r\n /**\r\n * Cancels any network activity\r\n */\r\n public abort() {\r\n this._xhr.abort();\r\n }\r\n\r\n /**\r\n * Initiates the request. The optional argument provides the request body. The argument is ignored if request method is GET or HEAD\r\n * @param body defines an optional request body\r\n */\r\n public send(body?: Document | BodyInit | null): void {\r\n if (WebRequest.CustomRequestHeaders) {\r\n this._injectCustomRequestHeaders();\r\n }\r\n\r\n this._xhr.send(body);\r\n }\r\n\r\n /**\r\n * Sets the request method, request URL\r\n * @param method defines the method to use (GET, POST, etc..)\r\n * @param url defines the url to connect with\r\n */\r\n public open(method: string, url: string): void {\r\n for (var update of WebRequest.CustomRequestModifiers) {\r\n update(this._xhr, url);\r\n }\r\n\r\n // Clean url\r\n url = url.replace(\"file:http:\", \"http:\");\r\n url = url.replace(\"file:https:\", \"https:\");\r\n\r\n return this._xhr.open(method, url, true);\r\n }\r\n\r\n /**\r\n * Sets the value of a request header.\r\n * @param name The name of the header whose value is to be set\r\n * @param value The value to set as the body of the header\r\n */\r\n setRequestHeader(name: string, value: string): void {\r\n this._xhr.setRequestHeader(name, value);\r\n }\r\n\r\n /**\r\n * Get the string containing the text of a particular header's value.\r\n * @param name The name of the header\r\n * @returns The string containing the text of the given header name\r\n */\r\n getResponseHeader(name: string): Nullable {\r\n return this._xhr.getResponseHeader(name);\r\n }\r\n}","import { serialize, SerializationHelper, serializeAsTexture } from \"../../Misc/decorators\";\r\nimport { Observer, Observable } from \"../../Misc/observable\";\r\nimport { Nullable } from \"../../types\";\r\nimport { Scene } from \"../../scene\";\r\nimport { Matrix } from \"../../Maths/math.vector\";\r\nimport { EngineStore } from \"../../Engines/engineStore\";\r\nimport { InternalTexture } from \"../../Materials/Textures/internalTexture\";\r\n\r\nimport { IAnimatable } from '../../Animations/animatable.interface';\r\nimport { GUID } from '../../Misc/guid';\r\n\r\nimport \"../../Misc/fileTools\";\r\nimport { ThinEngine } from '../../Engines/thinEngine';\r\nimport { ThinTexture } from './thinTexture';\r\n\r\ndeclare type Animation = import(\"../../Animations/animation\").Animation;\r\n\r\n/**\r\n * Base class of all the textures in babylon.\r\n * It groups all the common properties the materials, post process, lights... might need\r\n * in order to make a correct use of the texture.\r\n */\r\nexport class BaseTexture extends ThinTexture implements IAnimatable {\r\n /**\r\n * Default anisotropic filtering level for the application.\r\n * It is set to 4 as a good tradeoff between perf and quality.\r\n */\r\n public static DEFAULT_ANISOTROPIC_FILTERING_LEVEL = 4;\r\n\r\n /**\r\n * Gets or sets the unique id of the texture\r\n */\r\n @serialize()\r\n public uniqueId: number;\r\n\r\n /**\r\n * Define the name of the texture.\r\n */\r\n @serialize()\r\n public name: string;\r\n\r\n /**\r\n * Gets or sets an object used to store user defined information.\r\n */\r\n @serialize()\r\n public metadata: any = null;\r\n\r\n /**\r\n * For internal use only. Please do not use.\r\n */\r\n public reservedDataStore: any = null;\r\n\r\n @serialize(\"hasAlpha\")\r\n private _hasAlpha = false;\r\n /**\r\n * Define if the texture is having a usable alpha value (can be use for transparency or glossiness for instance).\r\n */\r\n public set hasAlpha(value: boolean) {\r\n if (this._hasAlpha === value) {\r\n return;\r\n }\r\n this._hasAlpha = value;\r\n if (this._scene) {\r\n this._scene.markAllMaterialsAsDirty(1 | 16);\r\n }\r\n }\r\n public get hasAlpha(): boolean {\r\n return this._hasAlpha;\r\n }\r\n\r\n /**\r\n * Defines if the alpha value should be determined via the rgb values.\r\n * If true the luminance of the pixel might be used to find the corresponding alpha value.\r\n */\r\n @serialize()\r\n public getAlphaFromRGB = false;\r\n\r\n /**\r\n * Intensity or strength of the texture.\r\n * It is commonly used by materials to fine tune the intensity of the texture\r\n */\r\n @serialize()\r\n public level = 1;\r\n\r\n /**\r\n * Define the UV chanel to use starting from 0 and defaulting to 0.\r\n * This is part of the texture as textures usually maps to one uv set.\r\n */\r\n @serialize()\r\n public coordinatesIndex = 0;\r\n\r\n @serialize(\"coordinatesMode\")\r\n protected _coordinatesMode = 0;\r\n\r\n /**\r\n * How a texture is mapped.\r\n *\r\n * | Value | Type | Description |\r\n * | ----- | ----------------------------------- | ----------- |\r\n * | 0 | EXPLICIT_MODE | |\r\n * | 1 | SPHERICAL_MODE | |\r\n * | 2 | PLANAR_MODE | |\r\n * | 3 | CUBIC_MODE | |\r\n * | 4 | PROJECTION_MODE | |\r\n * | 5 | SKYBOX_MODE | |\r\n * | 6 | INVCUBIC_MODE | |\r\n * | 7 | EQUIRECTANGULAR_MODE | |\r\n * | 8 | FIXED_EQUIRECTANGULAR_MODE | |\r\n * | 9 | FIXED_EQUIRECTANGULAR_MIRRORED_MODE | |\r\n */\r\n public set coordinatesMode(value: number) {\r\n if (this._coordinatesMode === value) {\r\n return;\r\n }\r\n this._coordinatesMode = value;\r\n if (this._scene) {\r\n this._scene.markAllMaterialsAsDirty(1);\r\n }\r\n }\r\n public get coordinatesMode(): number {\r\n return this._coordinatesMode;\r\n }\r\n\r\n /**\r\n * | Value | Type | Description |\r\n * | ----- | ------------------ | ----------- |\r\n * | 0 | CLAMP_ADDRESSMODE | |\r\n * | 1 | WRAP_ADDRESSMODE | |\r\n * | 2 | MIRROR_ADDRESSMODE | |\r\n */\r\n @serialize()\r\n public get wrapU() {\r\n return this._wrapU;\r\n }\r\n public set wrapU(value: number) {\r\n this._wrapU = value;\r\n }\r\n\r\n /**\r\n * | Value | Type | Description |\r\n * | ----- | ------------------ | ----------- |\r\n * | 0 | CLAMP_ADDRESSMODE | |\r\n * | 1 | WRAP_ADDRESSMODE | |\r\n * | 2 | MIRROR_ADDRESSMODE | |\r\n */\r\n @serialize()\r\n public get wrapV() {\r\n return this._wrapV;\r\n }\r\n public set wrapV(value: number) {\r\n this._wrapV = value;\r\n }\r\n\r\n /**\r\n * | Value | Type | Description |\r\n * | ----- | ------------------ | ----------- |\r\n * | 0 | CLAMP_ADDRESSMODE | |\r\n * | 1 | WRAP_ADDRESSMODE | |\r\n * | 2 | MIRROR_ADDRESSMODE | |\r\n */\r\n @serialize()\r\n public wrapR = 1;\r\n\r\n /**\r\n * With compliant hardware and browser (supporting anisotropic filtering)\r\n * this defines the level of anisotropic filtering in the texture.\r\n * The higher the better but the slower. This defaults to 4 as it seems to be the best tradeoff.\r\n */\r\n @serialize()\r\n public anisotropicFilteringLevel = BaseTexture.DEFAULT_ANISOTROPIC_FILTERING_LEVEL;\r\n\r\n private _isCube = false;\r\n /**\r\n * Define if the texture is a cube texture or if false a 2d texture.\r\n */\r\n @serialize()\r\n public get isCube(): boolean {\r\n if (!this._texture) {\r\n return this._isCube;\r\n }\r\n\r\n return this._texture.isCube;\r\n }\r\n\r\n public set isCube(value: boolean) {\r\n if (!this._texture) {\r\n this._isCube = value;\r\n } else {\r\n this._texture.isCube = value;\r\n }\r\n }\r\n\r\n /**\r\n * Define if the texture is a 3d texture (webgl 2) or if false a 2d texture.\r\n */\r\n @serialize()\r\n public get is3D(): boolean {\r\n if (!this._texture) {\r\n return false;\r\n }\r\n\r\n return this._texture.is3D;\r\n }\r\n\r\n public set is3D(value: boolean) {\r\n if (!this._texture) {\r\n return;\r\n }\r\n\r\n this._texture.is3D = value;\r\n }\r\n\r\n /**\r\n * Define if the texture is a 2d array texture (webgl 2) or if false a 2d texture.\r\n */\r\n @serialize()\r\n public get is2DArray(): boolean {\r\n if (!this._texture) {\r\n return false;\r\n }\r\n\r\n return this._texture.is2DArray;\r\n }\r\n\r\n public set is2DArray(value: boolean) {\r\n if (!this._texture) {\r\n return;\r\n }\r\n\r\n this._texture.is2DArray = value;\r\n }\r\n\r\n private _gammaSpace = true;\r\n /**\r\n * Define if the texture contains data in gamma space (most of the png/jpg aside bump).\r\n * HDR texture are usually stored in linear space.\r\n * This only impacts the PBR and Background materials\r\n */\r\n @serialize()\r\n public get gammaSpace(): boolean {\r\n if (!this._texture) {\r\n return this._gammaSpace;\r\n } else {\r\n if (this._texture._gammaSpace === null) {\r\n this._texture._gammaSpace = this._gammaSpace;\r\n }\r\n }\r\n\r\n return this._texture._gammaSpace;\r\n }\r\n\r\n public set gammaSpace(gamma: boolean) {\r\n if (!this._texture) {\r\n if (this._gammaSpace === gamma) {\r\n return;\r\n }\r\n\r\n this._gammaSpace = gamma;\r\n } else {\r\n if (this._texture._gammaSpace === gamma) {\r\n return;\r\n }\r\n this._texture._gammaSpace = gamma;\r\n }\r\n\r\n this._markAllSubMeshesAsTexturesDirty();\r\n }\r\n\r\n /**\r\n * Gets or sets whether or not the texture contains RGBD data.\r\n */\r\n public get isRGBD(): boolean {\r\n return this._texture != null && this._texture._isRGBD;\r\n }\r\n public set isRGBD(value: boolean) {\r\n if (this._texture) { this._texture._isRGBD = value; }\r\n }\r\n\r\n /**\r\n * Is Z inverted in the texture (useful in a cube texture).\r\n */\r\n @serialize()\r\n public invertZ = false;\r\n\r\n /**\r\n * Are mip maps generated for this texture or not.\r\n */\r\n public get noMipmap(): boolean {\r\n return false;\r\n }\r\n\r\n /**\r\n * @hidden\r\n */\r\n @serialize()\r\n public lodLevelInAlpha = false;\r\n\r\n /**\r\n * With prefiltered texture, defined the offset used during the prefiltering steps.\r\n */\r\n @serialize()\r\n public get lodGenerationOffset(): number {\r\n if (this._texture) { return this._texture._lodGenerationOffset; }\r\n\r\n return 0.0;\r\n }\r\n public set lodGenerationOffset(value: number) {\r\n if (this._texture) { this._texture._lodGenerationOffset = value; }\r\n }\r\n\r\n /**\r\n * With prefiltered texture, defined the scale used during the prefiltering steps.\r\n */\r\n @serialize()\r\n public get lodGenerationScale(): number {\r\n if (this._texture) { return this._texture._lodGenerationScale; }\r\n\r\n return 0.0;\r\n }\r\n public set lodGenerationScale(value: number) {\r\n if (this._texture) { this._texture._lodGenerationScale = value; }\r\n }\r\n\r\n /**\r\n * With prefiltered texture, defined if the specular generation is based on a linear ramp.\r\n * By default we are using a log2 of the linear roughness helping to keep a better resolution for\r\n * average roughness values.\r\n */\r\n @serialize()\r\n public get linearSpecularLOD(): boolean {\r\n if (this._texture) { return this._texture._linearSpecularLOD; }\r\n\r\n return false;\r\n }\r\n public set linearSpecularLOD(value: boolean) {\r\n if (this._texture) { this._texture._linearSpecularLOD = value; }\r\n }\r\n\r\n /**\r\n * In case a better definition than spherical harmonics is required for the diffuse part of the environment.\r\n * You can set the irradiance texture to rely on a texture instead of the spherical approach.\r\n * This texture need to have the same characteristics than its parent (Cube vs 2d, coordinates mode, Gamma/Linear, RGBD).\r\n */\r\n @serializeAsTexture()\r\n public get irradianceTexture(): Nullable {\r\n if (this._texture) { return this._texture._irradianceTexture; }\r\n\r\n return null;\r\n }\r\n public set irradianceTexture(value: Nullable) {\r\n if (this._texture) { this._texture._irradianceTexture = value; }\r\n }\r\n\r\n /**\r\n * Define if the texture is a render target.\r\n */\r\n @serialize()\r\n public isRenderTarget = false;\r\n\r\n /**\r\n * Define the unique id of the texture in the scene.\r\n */\r\n public get uid(): string {\r\n if (!this._uid) {\r\n this._uid = GUID.RandomId();\r\n }\r\n return this._uid;\r\n }\r\n\r\n /** @hidden */\r\n public _prefiltered: boolean = false;\r\n\r\n /**\r\n * Return a string representation of the texture.\r\n * @returns the texture as a string\r\n */\r\n public toString(): string {\r\n return this.name;\r\n }\r\n\r\n /**\r\n * Get the class name of the texture.\r\n * @returns \"BaseTexture\"\r\n */\r\n public getClassName(): string {\r\n return \"BaseTexture\";\r\n }\r\n\r\n /**\r\n * Define the list of animation attached to the texture.\r\n */\r\n public animations = new Array();\r\n\r\n /**\r\n * An event triggered when the texture is disposed.\r\n */\r\n public onDisposeObservable = new Observable();\r\n\r\n private _onDisposeObserver: Nullable> = null;\r\n /**\r\n * Callback triggered when the texture has been disposed.\r\n * Kept for back compatibility, you can use the onDisposeObservable instead.\r\n */\r\n public set onDispose(callback: () => void) {\r\n if (this._onDisposeObserver) {\r\n this.onDisposeObservable.remove(this._onDisposeObserver);\r\n }\r\n this._onDisposeObserver = this.onDisposeObservable.add(callback);\r\n }\r\n\r\n protected _scene: Nullable = null;\r\n\r\n /** @hidden */\r\n public _texture: Nullable = null;\r\n private _uid: Nullable = null;\r\n\r\n /**\r\n * Define if the texture is preventinga material to render or not.\r\n * If not and the texture is not ready, the engine will use a default black texture instead.\r\n */\r\n public get isBlocking(): boolean {\r\n return true;\r\n }\r\n\r\n /**\r\n * Instantiates a new BaseTexture.\r\n * Base class of all the textures in babylon.\r\n * It groups all the common properties the materials, post process, lights... might need\r\n * in order to make a correct use of the texture.\r\n * @param sceneOrEngine Define the scene or engine the texture blongs to\r\n */\r\n constructor(sceneOrEngine: Nullable) {\r\n super(null);\r\n\r\n if (sceneOrEngine) {\r\n if (BaseTexture._isScene(sceneOrEngine)) {\r\n this._scene = sceneOrEngine;\r\n }\r\n else {\r\n this._engine = sceneOrEngine;\r\n }\r\n }\r\n else {\r\n this._scene = EngineStore.LastCreatedScene;\r\n }\r\n\r\n if (this._scene) {\r\n this.uniqueId = this._scene.getUniqueId();\r\n this._scene.addTexture(this);\r\n this._engine = this._scene.getEngine();\r\n }\r\n\r\n this._uid = null;\r\n }\r\n\r\n /**\r\n * Get the scene the texture belongs to.\r\n * @returns the scene or null if undefined\r\n */\r\n public getScene(): Nullable {\r\n return this._scene;\r\n }\r\n\r\n /** @hidden */\r\n protected _getEngine(): Nullable {\r\n return this._engine;\r\n }\r\n\r\n /**\r\n * Checks if the texture has the same transform matrix than another texture\r\n * @param texture texture to check against\r\n * @returns true if the transforms are the same, else false\r\n */\r\n public checkTransformsAreIdentical(texture: Nullable): boolean {\r\n return texture !== null;\r\n }\r\n\r\n /**\r\n * Get the texture transform matrix used to offset tile the texture for istance.\r\n * @returns the transformation matrix\r\n */\r\n public getTextureMatrix(): Matrix {\r\n return Matrix.IdentityReadOnly;\r\n }\r\n\r\n /**\r\n * Get the texture reflection matrix used to rotate/transform the reflection.\r\n * @returns the reflection matrix\r\n */\r\n public getReflectionTextureMatrix(): Matrix {\r\n return Matrix.IdentityReadOnly;\r\n }\r\n\r\n /**\r\n * Get if the texture is ready to be consumed (either it is ready or it is not blocking)\r\n * @returns true if ready or not blocking\r\n */\r\n public isReadyOrNotBlocking(): boolean {\r\n return !this.isBlocking || this.isReady();\r\n }\r\n\r\n /**\r\n * Scales the texture if is `canRescale()`\r\n * @param ratio the resize factor we want to use to rescale\r\n */\r\n public scale(ratio: number): void {\r\n }\r\n\r\n /**\r\n * Get if the texture can rescale.\r\n */\r\n public get canRescale(): boolean {\r\n return false;\r\n }\r\n\r\n /** @hidden */\r\n public _getFromCache(url: Nullable, noMipmap: boolean, sampling?: number, invertY?: boolean): Nullable {\r\n const engine = this._getEngine();\r\n if (!engine) {\r\n return null;\r\n }\r\n\r\n var texturesCache = engine.getLoadedTexturesCache();\r\n for (var index = 0; index < texturesCache.length; index++) {\r\n var texturesCacheEntry = texturesCache[index];\r\n\r\n if (invertY === undefined || invertY === texturesCacheEntry.invertY) {\r\n if (texturesCacheEntry.url === url && texturesCacheEntry.generateMipMaps === !noMipmap) {\r\n if (!sampling || sampling === texturesCacheEntry.samplingMode) {\r\n texturesCacheEntry.incrementReferences();\r\n return texturesCacheEntry;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /** @hidden */\r\n public _rebuild(): void {\r\n\r\n }\r\n\r\n /**\r\n * Clones the texture.\r\n * @returns the cloned texture\r\n */\r\n public clone(): Nullable {\r\n return null;\r\n }\r\n\r\n /**\r\n * Get the texture underlying type (INT, FLOAT...)\r\n */\r\n public get textureType(): number {\r\n if (!this._texture) {\r\n return 0;\r\n }\r\n\r\n return (this._texture.type !== undefined) ? this._texture.type : 0;\r\n }\r\n\r\n /**\r\n * Get the texture underlying format (RGB, RGBA...)\r\n */\r\n public get textureFormat(): number {\r\n if (!this._texture) {\r\n return 5;\r\n }\r\n\r\n return (this._texture.format !== undefined) ? this._texture.format : 5;\r\n }\r\n\r\n /**\r\n * Indicates that textures need to be re-calculated for all materials\r\n */\r\n protected _markAllSubMeshesAsTexturesDirty() {\r\n let scene = this.getScene();\r\n\r\n if (!scene) {\r\n return;\r\n }\r\n\r\n scene.markAllMaterialsAsDirty(1);\r\n }\r\n\r\n /**\r\n * Reads the pixels stored in the webgl texture and returns them as an ArrayBuffer.\r\n * This will returns an RGBA array buffer containing either in values (0-255) or\r\n * float values (0-1) depending of the underlying buffer type.\r\n * @param faceIndex defines the face of the texture to read (in case of cube texture)\r\n * @param level defines the LOD level of the texture to read (in case of Mip Maps)\r\n * @param buffer defines a user defined buffer to fill with data (can be null)\r\n * @returns The Array buffer containing the pixels data.\r\n */\r\n public readPixels(faceIndex = 0, level = 0, buffer: Nullable = null): Nullable {\r\n if (!this._texture) {\r\n return null;\r\n }\r\n\r\n var size = this.getSize();\r\n var width = size.width;\r\n var height = size.height;\r\n\r\n const engine = this._getEngine();\r\n if (!engine) {\r\n return null;\r\n }\r\n\r\n if (level != 0) {\r\n width = width / Math.pow(2, level);\r\n height = height / Math.pow(2, level);\r\n\r\n width = Math.round(width);\r\n height = Math.round(height);\r\n }\r\n\r\n try {\r\n if (this._texture.isCube) {\r\n return engine._readTexturePixels(this._texture, width, height, faceIndex, level, buffer);\r\n }\r\n\r\n return engine._readTexturePixels(this._texture, width, height, -1, level, buffer);\r\n } catch (e) {\r\n return null;\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public get _lodTextureHigh(): Nullable {\r\n if (this._texture) {\r\n return this._texture._lodTextureHigh;\r\n }\r\n return null;\r\n }\r\n\r\n /** @hidden */\r\n public get _lodTextureMid(): Nullable {\r\n if (this._texture) {\r\n return this._texture._lodTextureMid;\r\n }\r\n return null;\r\n }\r\n\r\n /** @hidden */\r\n public get _lodTextureLow(): Nullable {\r\n if (this._texture) {\r\n return this._texture._lodTextureLow;\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Dispose the texture and release its associated resources.\r\n */\r\n public dispose(): void {\r\n if (this._scene) {\r\n // Animations\r\n if (this._scene.stopAnimation) {\r\n this._scene.stopAnimation(this);\r\n }\r\n\r\n // Remove from scene\r\n this._scene._removePendingData(this);\r\n var index = this._scene.textures.indexOf(this);\r\n\r\n if (index >= 0) {\r\n this._scene.textures.splice(index, 1);\r\n }\r\n this._scene.onTextureRemovedObservable.notifyObservers(this);\r\n this._scene = null;\r\n }\r\n\r\n // Callback\r\n this.onDisposeObservable.notifyObservers(this);\r\n this.onDisposeObservable.clear();\r\n\r\n super.dispose();\r\n }\r\n\r\n /**\r\n * Serialize the texture into a JSON representation that can be parsed later on.\r\n * @returns the JSON representation of the texture\r\n */\r\n public serialize(): any {\r\n if (!this.name) {\r\n return null;\r\n }\r\n\r\n var serializationObject = SerializationHelper.Serialize(this);\r\n\r\n // Animations\r\n SerializationHelper.AppendSerializedAnimations(this, serializationObject);\r\n\r\n return serializationObject;\r\n }\r\n\r\n /**\r\n * Helper function to be called back once a list of texture contains only ready textures.\r\n * @param textures Define the list of textures to wait for\r\n * @param callback Define the callback triggered once the entire list will be ready\r\n */\r\n public static WhenAllReady(textures: BaseTexture[], callback: () => void): void {\r\n let numRemaining = textures.length;\r\n if (numRemaining === 0) {\r\n callback();\r\n return;\r\n }\r\n\r\n for (var i = 0; i < textures.length; i++) {\r\n var texture = textures[i];\r\n\r\n if (texture.isReady()) {\r\n if (--numRemaining === 0) {\r\n callback();\r\n }\r\n }\r\n else {\r\n var onLoadObservable = (texture as any).onLoadObservable as Observable;\r\n\r\n if (onLoadObservable) {\r\n onLoadObservable.addOnce(() => {\r\n if (--numRemaining === 0) {\r\n callback();\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n private static _isScene(sceneOrEngine: Scene | ThinEngine): sceneOrEngine is Scene {\r\n return sceneOrEngine.getClassName() === \"Scene\";\r\n }\r\n}\r\n","import { Nullable } from \"../../types\";\r\nimport { InternalTexture } from \"../../Materials/Textures/internalTexture\";\r\n\r\n\r\nimport { ISize, Size } from '../../Maths/math.size';\r\n\r\nimport { ThinEngine } from '../../Engines/thinEngine';\r\n\r\n/**\r\n * Base class of all the textures in babylon.\r\n * It groups all the common properties required to work with Thin Engine.\r\n */\r\nexport class ThinTexture {\r\n protected _wrapU = 1;\r\n /**\r\n * | Value | Type | Description |\r\n * | ----- | ------------------ | ----------- |\r\n * | 0 | CLAMP_ADDRESSMODE | |\r\n * | 1 | WRAP_ADDRESSMODE | |\r\n * | 2 | MIRROR_ADDRESSMODE | |\r\n */\r\n public get wrapU() {\r\n return this._wrapU;\r\n }\r\n\r\n public set wrapU(value: number) {\r\n this._wrapU = value;\r\n }\r\n\r\n protected _wrapV = 1;\r\n /**\r\n * | Value | Type | Description |\r\n * | ----- | ------------------ | ----------- |\r\n * | 0 | CLAMP_ADDRESSMODE | |\r\n * | 1 | WRAP_ADDRESSMODE | |\r\n * | 2 | MIRROR_ADDRESSMODE | |\r\n */\r\n public get wrapV() {\r\n return this._wrapV;\r\n }\r\n\r\n public set wrapV(value: number) {\r\n this._wrapV = value;\r\n }\r\n\r\n /**\r\n * | Value | Type | Description |\r\n * | ----- | ------------------ | ----------- |\r\n * | 0 | CLAMP_ADDRESSMODE | |\r\n * | 1 | WRAP_ADDRESSMODE | |\r\n * | 2 | MIRROR_ADDRESSMODE | |\r\n */\r\n public wrapR = 1;\r\n\r\n /**\r\n * With compliant hardware and browser (supporting anisotropic filtering)\r\n * this defines the level of anisotropic filtering in the texture.\r\n * The higher the better but the slower. This defaults to 4 as it seems to be the best tradeoff.\r\n */\r\n public anisotropicFilteringLevel = 4;\r\n\r\n /**\r\n * Define the current state of the loading sequence when in delayed load mode.\r\n */\r\n public delayLoadState = 0;\r\n\r\n /**\r\n * How a texture is mapped.\r\n * Unused in thin texture mode.\r\n */\r\n public get coordinatesMode(): number {\r\n return 0;\r\n }\r\n\r\n /**\r\n * Define if the texture is a cube texture or if false a 2d texture.\r\n */\r\n public get isCube(): boolean {\r\n if (!this._texture) {\r\n return false;\r\n }\r\n\r\n return this._texture.isCube;\r\n }\r\n\r\n public set isCube(value: boolean) {\r\n if (!this._texture) {\r\n return;\r\n }\r\n\r\n this._texture.isCube = value;\r\n }\r\n\r\n /**\r\n * Define if the texture is a 3d texture (webgl 2) or if false a 2d texture.\r\n */\r\n public get is3D(): boolean {\r\n if (!this._texture) {\r\n return false;\r\n }\r\n\r\n return this._texture.is3D;\r\n }\r\n\r\n public set is3D(value: boolean) {\r\n if (!this._texture) {\r\n return;\r\n }\r\n\r\n this._texture.is3D = value;\r\n }\r\n\r\n /**\r\n * Define if the texture is a 2d array texture (webgl 2) or if false a 2d texture.\r\n */\r\n public get is2DArray(): boolean {\r\n if (!this._texture) {\r\n return false;\r\n }\r\n\r\n return this._texture.is2DArray;\r\n }\r\n\r\n public set is2DArray(value: boolean) {\r\n if (!this._texture) {\r\n return;\r\n }\r\n\r\n this._texture.is2DArray = value;\r\n }\r\n\r\n /**\r\n * Get the class name of the texture.\r\n * @returns \"ThinTexture\"\r\n */\r\n public getClassName(): string {\r\n return \"ThinTexture\";\r\n }\r\n\r\n /** @hidden */\r\n public _texture: Nullable = null;\r\n\r\n protected _engine: Nullable = null;\r\n\r\n private _cachedSize: ISize = Size.Zero();\r\n private _cachedBaseSize: ISize = Size.Zero();\r\n\r\n /**\r\n * Instantiates a new ThinTexture.\r\n * Base class of all the textures in babylon.\r\n * This can be used as an internal texture wrapper in ThinEngine to benefit from the cache\r\n * @param internalTexture Define the internalTexture to wrap\r\n */\r\n constructor(internalTexture: Nullable) {\r\n this._texture = internalTexture;\r\n if (this._texture) {\r\n this._engine = this._texture.getEngine();\r\n }\r\n }\r\n\r\n /**\r\n * Get if the texture is ready to be used (downloaded, converted, mip mapped...).\r\n * @returns true if fully ready\r\n */\r\n public isReady(): boolean {\r\n if (this.delayLoadState === 4) {\r\n this.delayLoad();\r\n return false;\r\n }\r\n\r\n if (this._texture) {\r\n return this._texture.isReady;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Triggers the load sequence in delayed load mode.\r\n */\r\n public delayLoad(): void {\r\n }\r\n\r\n /**\r\n * Get the underlying lower level texture from Babylon.\r\n * @returns the insternal texture\r\n */\r\n public getInternalTexture(): Nullable {\r\n return this._texture;\r\n }\r\n\r\n /**\r\n * Get the size of the texture.\r\n * @returns the texture size.\r\n */\r\n public getSize(): ISize {\r\n if (this._texture) {\r\n if (this._texture.width) {\r\n this._cachedSize.width = this._texture.width;\r\n this._cachedSize.height = this._texture.height;\r\n return this._cachedSize;\r\n }\r\n\r\n if (this._texture._size) {\r\n this._cachedSize.width = this._texture._size;\r\n this._cachedSize.height = this._texture._size;\r\n return this._cachedSize;\r\n }\r\n }\r\n\r\n return this._cachedSize;\r\n }\r\n\r\n /**\r\n * Get the base size of the texture.\r\n * It can be different from the size if the texture has been resized for POT for instance\r\n * @returns the base size\r\n */\r\n public getBaseSize(): ISize {\r\n if (!this.isReady() || !this._texture) {\r\n this._cachedBaseSize.width = 0;\r\n this._cachedBaseSize.height = 0;\r\n return this._cachedBaseSize;\r\n }\r\n\r\n if (this._texture._size) {\r\n this._cachedBaseSize.width = this._texture._size;\r\n this._cachedBaseSize.height = this._texture._size;\r\n return this._cachedBaseSize;\r\n }\r\n\r\n this._cachedBaseSize.width = this._texture.baseWidth;\r\n this._cachedBaseSize.height = this._texture.baseHeight;\r\n return this._cachedBaseSize;\r\n }\r\n\r\n /**\r\n * Update the sampling mode of the texture.\r\n * Default is Trilinear mode.\r\n *\r\n * | Value | Type | Description |\r\n * | ----- | ------------------ | ----------- |\r\n * | 1 | NEAREST_SAMPLINGMODE or NEAREST_NEAREST_MIPLINEAR | Nearest is: mag = nearest, min = nearest, mip = linear |\r\n * | 2 | BILINEAR_SAMPLINGMODE or LINEAR_LINEAR_MIPNEAREST | Bilinear is: mag = linear, min = linear, mip = nearest |\r\n * | 3 | TRILINEAR_SAMPLINGMODE or LINEAR_LINEAR_MIPLINEAR | Trilinear is: mag = linear, min = linear, mip = linear |\r\n * | 4 | NEAREST_NEAREST_MIPNEAREST | |\r\n * | 5 | NEAREST_LINEAR_MIPNEAREST | |\r\n * | 6 | NEAREST_LINEAR_MIPLINEAR | |\r\n * | 7 | NEAREST_LINEAR | |\r\n * | 8 | NEAREST_NEAREST | |\r\n * | 9 | LINEAR_NEAREST_MIPNEAREST | |\r\n * | 10 | LINEAR_NEAREST_MIPLINEAR | |\r\n * | 11 | LINEAR_LINEAR | |\r\n * | 12 | LINEAR_NEAREST | |\r\n *\r\n * > _mag_: magnification filter (close to the viewer)\r\n * > _min_: minification filter (far from the viewer)\r\n * > _mip_: filter used between mip map levels\r\n *@param samplingMode Define the new sampling mode of the texture\r\n */\r\n public updateSamplingMode(samplingMode: number): void {\r\n if (this._texture && this._engine) {\r\n this._engine.updateTextureSamplingMode(samplingMode, this._texture);\r\n }\r\n }\r\n\r\n /**\r\n * Release and destroy the underlying lower level texture aka internalTexture.\r\n */\r\n public releaseInternalTexture(): void {\r\n if (this._texture) {\r\n this._texture.dispose();\r\n this._texture = null;\r\n }\r\n }\r\n\r\n /**\r\n * Dispose the texture and release its associated resources.\r\n */\r\n public dispose(): void {\r\n if (this._texture) {\r\n this.releaseInternalTexture();\r\n this._engine = null;\r\n }\r\n }\r\n}\r\n","export default function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}","import { SerializationHelper, serialize, expandToProperty, serializeAsVector2, serializeAsTexture } from \"../../Misc/decorators\";\r\nimport { UniformBuffer } from \"../../Materials/uniformBuffer\";\r\nimport { AbstractMesh } from \"../../Meshes/abstractMesh\";\r\nimport { VertexBuffer } from \"../../Meshes/buffer\";\r\nimport { Vector2 } from \"../../Maths/math.vector\";\r\nimport { Scene } from \"../../scene\";\r\nimport { MaterialFlags } from \"../../Materials/materialFlags\";\r\nimport { MaterialHelper } from \"../../Materials/materialHelper\";\r\nimport { BaseTexture } from \"../../Materials/Textures/baseTexture\";\r\nimport { Nullable } from \"../../types\";\r\nimport { IAnimatable } from '../../Animations/animatable.interface';\r\nimport { EffectFallbacks } from '../effectFallbacks';\r\n\r\n/**\r\n * @hidden\r\n */\r\nexport interface IMaterialAnisotropicDefines {\r\n ANISOTROPIC: boolean;\r\n ANISOTROPIC_TEXTURE: boolean;\r\n ANISOTROPIC_TEXTUREDIRECTUV: number;\r\n MAINUV1: boolean;\r\n\r\n _areTexturesDirty: boolean;\r\n _needUVs: boolean;\r\n}\r\n\r\n/**\r\n * Define the code related to the anisotropic parameters of the pbr material.\r\n */\r\nexport class PBRAnisotropicConfiguration {\r\n\r\n private _isEnabled = false;\r\n /**\r\n * Defines if the anisotropy is enabled in the material.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public isEnabled = false;\r\n\r\n /**\r\n * Defines the anisotropy strength (between 0 and 1) it defaults to 1.\r\n */\r\n @serialize()\r\n public intensity: number = 1;\r\n\r\n /**\r\n * Defines if the effect is along the tangents, bitangents or in between.\r\n * By default, the effect is \"strectching\" the highlights along the tangents.\r\n */\r\n @serializeAsVector2()\r\n public direction = new Vector2(1, 0);\r\n\r\n private _texture: Nullable = null;\r\n /**\r\n * Stores the anisotropy values in a texture.\r\n * rg is direction (like normal from -1 to 1)\r\n * b is a intensity\r\n */\r\n @serializeAsTexture()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public texture: Nullable = null;\r\n\r\n /** @hidden */\r\n private _internalMarkAllSubMeshesAsTexturesDirty: () => void;\r\n\r\n /** @hidden */\r\n public _markAllSubMeshesAsTexturesDirty(): void {\r\n this._internalMarkAllSubMeshesAsTexturesDirty();\r\n }\r\n\r\n /**\r\n * Instantiate a new istance of anisotropy configuration.\r\n * @param markAllSubMeshesAsTexturesDirty Callback to flag the material to dirty\r\n */\r\n constructor(markAllSubMeshesAsTexturesDirty: () => void) {\r\n this._internalMarkAllSubMeshesAsTexturesDirty = markAllSubMeshesAsTexturesDirty;\r\n }\r\n\r\n /**\r\n * Specifies that the submesh is ready to be used.\r\n * @param defines the list of \"defines\" to update.\r\n * @param scene defines the scene the material belongs to.\r\n * @returns - boolean indicating that the submesh is ready or not.\r\n */\r\n public isReadyForSubMesh(defines: IMaterialAnisotropicDefines, scene: Scene): boolean {\r\n if (defines._areTexturesDirty) {\r\n if (scene.texturesEnabled) {\r\n if (this._texture && MaterialFlags.AnisotropicTextureEnabled) {\r\n if (!this._texture.isReadyOrNotBlocking()) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Checks to see if a texture is used in the material.\r\n * @param defines the list of \"defines\" to update.\r\n * @param mesh the mesh we are preparing the defines for.\r\n * @param scene defines the scene the material belongs to.\r\n */\r\n public prepareDefines(defines: IMaterialAnisotropicDefines, mesh: AbstractMesh, scene: Scene): void {\r\n if (this._isEnabled) {\r\n defines.ANISOTROPIC = this._isEnabled;\r\n if (this._isEnabled && !mesh.isVerticesDataPresent(VertexBuffer.TangentKind)) {\r\n defines._needUVs = true;\r\n defines.MAINUV1 = true;\r\n }\r\n\r\n if (defines._areTexturesDirty) {\r\n if (scene.texturesEnabled) {\r\n if (this._texture && MaterialFlags.AnisotropicTextureEnabled) {\r\n MaterialHelper.PrepareDefinesForMergedUV(this._texture, defines, \"ANISOTROPIC_TEXTURE\");\r\n } else {\r\n defines.ANISOTROPIC_TEXTURE = false;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n defines.ANISOTROPIC = false;\r\n defines.ANISOTROPIC_TEXTURE = false;\r\n }\r\n }\r\n\r\n /**\r\n * Binds the material data.\r\n * @param uniformBuffer defines the Uniform buffer to fill in.\r\n * @param scene defines the scene the material belongs to.\r\n * @param isFrozen defines wether the material is frozen or not.\r\n */\r\n public bindForSubMesh(uniformBuffer: UniformBuffer, scene: Scene, isFrozen: boolean): void {\r\n if (!uniformBuffer.useUbo || !isFrozen || !uniformBuffer.isSync) {\r\n if (this._texture && MaterialFlags.AnisotropicTextureEnabled) {\r\n uniformBuffer.updateFloat2(\"vAnisotropyInfos\", this._texture.coordinatesIndex, this._texture.level);\r\n MaterialHelper.BindTextureMatrix(this._texture, uniformBuffer, \"anisotropy\");\r\n }\r\n\r\n // Anisotropy\r\n uniformBuffer.updateFloat3(\"vAnisotropy\", this.direction.x, this.direction.y, this.intensity);\r\n }\r\n\r\n // Textures\r\n if (scene.texturesEnabled) {\r\n if (this._texture && MaterialFlags.AnisotropicTextureEnabled) {\r\n uniformBuffer.setTexture(\"anisotropySampler\", this._texture);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Checks to see if a texture is used in the material.\r\n * @param texture - Base texture to use.\r\n * @returns - Boolean specifying if a texture is used in the material.\r\n */\r\n public hasTexture(texture: BaseTexture): boolean {\r\n if (this._texture === texture) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Returns an array of the actively used textures.\r\n * @param activeTextures Array of BaseTextures\r\n */\r\n public getActiveTextures(activeTextures: BaseTexture[]): void {\r\n if (this._texture) {\r\n activeTextures.push(this._texture);\r\n }\r\n }\r\n\r\n /**\r\n * Returns the animatable textures.\r\n * @param animatables Array of animatable textures.\r\n */\r\n public getAnimatables(animatables: IAnimatable[]): void {\r\n if (this._texture && this._texture.animations && this._texture.animations.length > 0) {\r\n animatables.push(this._texture);\r\n }\r\n }\r\n\r\n /**\r\n * Disposes the resources of the material.\r\n * @param forceDisposeTextures - Forces the disposal of all textures.\r\n */\r\n public dispose(forceDisposeTextures?: boolean): void {\r\n if (forceDisposeTextures) {\r\n if (this._texture) {\r\n this._texture.dispose();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Get the current class name of the texture useful for serialization or dynamic coding.\r\n * @returns \"PBRAnisotropicConfiguration\"\r\n */\r\n public getClassName(): string {\r\n return \"PBRAnisotropicConfiguration\";\r\n }\r\n\r\n /**\r\n * Add fallbacks to the effect fallbacks list.\r\n * @param defines defines the Base texture to use.\r\n * @param fallbacks defines the current fallback list.\r\n * @param currentRank defines the current fallback rank.\r\n * @returns the new fallback rank.\r\n */\r\n public static AddFallbacks(defines: IMaterialAnisotropicDefines, fallbacks: EffectFallbacks, currentRank: number): number {\r\n if (defines.ANISOTROPIC) {\r\n fallbacks.addFallback(currentRank++, \"ANISOTROPIC\");\r\n }\r\n return currentRank;\r\n }\r\n\r\n /**\r\n * Add the required uniforms to the current list.\r\n * @param uniforms defines the current uniform list.\r\n */\r\n public static AddUniforms(uniforms: string[]): void {\r\n uniforms.push(\"vAnisotropy\", \"vAnisotropyInfos\", \"anisotropyMatrix\");\r\n }\r\n\r\n /**\r\n * Add the required uniforms to the current buffer.\r\n * @param uniformBuffer defines the current uniform buffer.\r\n */\r\n public static PrepareUniformBuffer(uniformBuffer: UniformBuffer): void {\r\n uniformBuffer.addUniform(\"vAnisotropy\", 3);\r\n uniformBuffer.addUniform(\"vAnisotropyInfos\", 2);\r\n uniformBuffer.addUniform(\"anisotropyMatrix\", 16);\r\n }\r\n\r\n /**\r\n * Add the required samplers to the current list.\r\n * @param samplers defines the current sampler list.\r\n */\r\n public static AddSamplers(samplers: string[]): void {\r\n samplers.push(\"anisotropySampler\");\r\n }\r\n\r\n /**\r\n * Makes a duplicate of the current configuration into another one.\r\n * @param anisotropicConfiguration define the config where to copy the info\r\n */\r\n public copyTo(anisotropicConfiguration: PBRAnisotropicConfiguration): void {\r\n SerializationHelper.Clone(() => anisotropicConfiguration, this);\r\n }\r\n\r\n /**\r\n * Serializes this anisotropy configuration.\r\n * @returns - An object with the serialized config.\r\n */\r\n public serialize(): any {\r\n return SerializationHelper.Serialize(this);\r\n }\r\n\r\n /**\r\n * Parses a anisotropy Configuration from a serialized object.\r\n * @param source - Serialized object.\r\n * @param scene Defines the scene we are parsing for\r\n * @param rootUrl Defines the rootUrl to load from\r\n */\r\n public parse(source: any, scene: Scene, rootUrl: string): void {\r\n SerializationHelper.Parse(() => this, source, scene, rootUrl);\r\n }\r\n}","import { SerializationHelper, serialize, expandToProperty } from \"../../Misc/decorators\";\r\nimport { Scene } from '../../scene';\r\n\r\n/**\r\n * @hidden\r\n */\r\nexport interface IMaterialBRDFDefines {\r\n BRDF_V_HEIGHT_CORRELATED: boolean;\r\n MS_BRDF_ENERGY_CONSERVATION: boolean;\r\n SPHERICAL_HARMONICS: boolean;\r\n SPECULAR_GLOSSINESS_ENERGY_CONSERVATION: boolean;\r\n\r\n /** @hidden */\r\n _areMiscDirty: boolean;\r\n}\r\n\r\n/**\r\n * Define the code related to the BRDF parameters of the pbr material.\r\n */\r\nexport class PBRBRDFConfiguration {\r\n\r\n /**\r\n * Default value used for the energy conservation.\r\n * This should only be changed to adapt to the type of texture in scene.environmentBRDFTexture.\r\n */\r\n public static DEFAULT_USE_ENERGY_CONSERVATION = true;\r\n\r\n /**\r\n * Default value used for the Smith Visibility Height Correlated mode.\r\n * This should only be changed to adapt to the type of texture in scene.environmentBRDFTexture.\r\n */\r\n public static DEFAULT_USE_SMITH_VISIBILITY_HEIGHT_CORRELATED = true;\r\n\r\n /**\r\n * Default value used for the IBL diffuse part.\r\n * This can help switching back to the polynomials mode globally which is a tiny bit\r\n * less GPU intensive at the drawback of a lower quality.\r\n */\r\n public static DEFAULT_USE_SPHERICAL_HARMONICS = true;\r\n\r\n /**\r\n * Default value used for activating energy conservation for the specular workflow.\r\n * If activated, the albedo color is multiplied with (1. - maxChannel(specular color)).\r\n * If deactivated, a material is only physically plausible, when (albedo color + specular color) < 1.\r\n */\r\n public static DEFAULT_USE_SPECULAR_GLOSSINESS_INPUT_ENERGY_CONSERVATION = true;\r\n\r\n private _useEnergyConservation = PBRBRDFConfiguration.DEFAULT_USE_ENERGY_CONSERVATION;\r\n /**\r\n * Defines if the material uses energy conservation.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsMiscDirty\")\r\n public useEnergyConservation = PBRBRDFConfiguration.DEFAULT_USE_ENERGY_CONSERVATION;\r\n\r\n private _useSmithVisibilityHeightCorrelated = PBRBRDFConfiguration.DEFAULT_USE_SMITH_VISIBILITY_HEIGHT_CORRELATED;\r\n /**\r\n * LEGACY Mode set to false\r\n * Defines if the material uses height smith correlated visibility term.\r\n * If you intent to not use our default BRDF, you need to load a separate BRDF Texture for the PBR\r\n * You can either load https://assets.babylonjs.com/environments/uncorrelatedBRDF.png\r\n * or https://assets.babylonjs.com/environments/uncorrelatedBRDF.dds to have more precision\r\n * Not relying on height correlated will also disable energy conservation.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsMiscDirty\")\r\n public useSmithVisibilityHeightCorrelated = PBRBRDFConfiguration.DEFAULT_USE_SMITH_VISIBILITY_HEIGHT_CORRELATED;\r\n\r\n private _useSphericalHarmonics = PBRBRDFConfiguration.DEFAULT_USE_SPHERICAL_HARMONICS;\r\n /**\r\n * LEGACY Mode set to false\r\n * Defines if the material uses spherical harmonics vs spherical polynomials for the\r\n * diffuse part of the IBL.\r\n * The harmonics despite a tiny bigger cost has been proven to provide closer results\r\n * to the ground truth.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsMiscDirty\")\r\n public useSphericalHarmonics = PBRBRDFConfiguration.DEFAULT_USE_SPHERICAL_HARMONICS;\r\n\r\n private _useSpecularGlossinessInputEnergyConservation = PBRBRDFConfiguration.DEFAULT_USE_SPECULAR_GLOSSINESS_INPUT_ENERGY_CONSERVATION;\r\n /**\r\n * Defines if the material uses energy conservation, when the specular workflow is active.\r\n * If activated, the albedo color is multiplied with (1. - maxChannel(specular color)).\r\n * If deactivated, a material is only physically plausible, when (albedo color + specular color) < 1.\r\n * In the deactivated case, the material author has to ensure energy conservation, for a physically plausible rendering.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsMiscDirty\")\r\n public useSpecularGlossinessInputEnergyConservation = PBRBRDFConfiguration.DEFAULT_USE_SPECULAR_GLOSSINESS_INPUT_ENERGY_CONSERVATION;\r\n\r\n /** @hidden */\r\n private _internalMarkAllSubMeshesAsMiscDirty: () => void;\r\n\r\n /** @hidden */\r\n public _markAllSubMeshesAsMiscDirty(): void {\r\n this._internalMarkAllSubMeshesAsMiscDirty();\r\n }\r\n\r\n /**\r\n * Instantiate a new istance of clear coat configuration.\r\n * @param markAllSubMeshesAsMiscDirty Callback to flag the material to dirty\r\n */\r\n constructor(markAllSubMeshesAsMiscDirty: () => void) {\r\n this._internalMarkAllSubMeshesAsMiscDirty = markAllSubMeshesAsMiscDirty;\r\n }\r\n\r\n /**\r\n * Checks to see if a texture is used in the material.\r\n * @param defines the list of \"defines\" to update.\r\n */\r\n public prepareDefines(defines: IMaterialBRDFDefines): void {\r\n defines.BRDF_V_HEIGHT_CORRELATED = this._useSmithVisibilityHeightCorrelated;\r\n defines.MS_BRDF_ENERGY_CONSERVATION = this._useEnergyConservation && this._useSmithVisibilityHeightCorrelated;\r\n defines.SPHERICAL_HARMONICS = this._useSphericalHarmonics;\r\n defines.SPECULAR_GLOSSINESS_ENERGY_CONSERVATION = this._useSpecularGlossinessInputEnergyConservation;\r\n }\r\n\r\n /**\r\n * Get the current class name of the texture useful for serialization or dynamic coding.\r\n * @returns \"PBRClearCoatConfiguration\"\r\n */\r\n public getClassName(): string {\r\n return \"PBRBRDFConfiguration\";\r\n }\r\n\r\n /**\r\n * Makes a duplicate of the current configuration into another one.\r\n * @param brdfConfiguration define the config where to copy the info\r\n */\r\n public copyTo(brdfConfiguration: PBRBRDFConfiguration): void {\r\n SerializationHelper.Clone(() => brdfConfiguration, this);\r\n }\r\n\r\n /**\r\n * Serializes this BRDF configuration.\r\n * @returns - An object with the serialized config.\r\n */\r\n public serialize(): any {\r\n return SerializationHelper.Serialize(this);\r\n }\r\n\r\n /**\r\n * Parses a anisotropy Configuration from a serialized object.\r\n * @param source - Serialized object.\r\n * @param scene Defines the scene we are parsing for\r\n * @param rootUrl Defines the rootUrl to load from\r\n */\r\n public parse(source: any, scene: Scene, rootUrl: string): void {\r\n SerializationHelper.Parse(() => this, source, scene, rootUrl);\r\n }\r\n}","import { SerializationHelper, serialize, expandToProperty, serializeAsColor3, serializeAsTexture } from \"../../Misc/decorators\";\r\nimport { UniformBuffer } from \"../../Materials/uniformBuffer\";\r\nimport { Color3 } from '../../Maths/math.color';\r\nimport { Scene } from \"../../scene\";\r\nimport { MaterialFlags } from \"../../Materials/materialFlags\";\r\nimport { MaterialHelper } from \"../../Materials/materialHelper\";\r\nimport { BaseTexture } from \"../../Materials/Textures/baseTexture\";\r\nimport { Nullable } from \"../../types\";\r\nimport { IAnimatable } from '../../Animations/animatable.interface';\r\nimport { EffectFallbacks } from '../effectFallbacks';\r\nimport { SubMesh } from '../../Meshes/subMesh';\r\n\r\n/**\r\n * @hidden\r\n */\r\nexport interface IMaterialSheenDefines {\r\n SHEEN: boolean;\r\n SHEEN_TEXTURE: boolean;\r\n SHEEN_TEXTURE_ROUGHNESS: boolean;\r\n SHEEN_TEXTUREDIRECTUV: number;\r\n SHEEN_TEXTURE_ROUGHNESSDIRECTUV: number;\r\n SHEEN_LINKWITHALBEDO: boolean;\r\n SHEEN_ROUGHNESS: boolean;\r\n SHEEN_ALBEDOSCALING: boolean;\r\n SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE: boolean;\r\n SHEEN_TEXTURE_ROUGHNESS_IDENTICAL: boolean;\r\n\r\n /** @hidden */\r\n _areTexturesDirty: boolean;\r\n}\r\n\r\n/**\r\n * Define the code related to the Sheen parameters of the pbr material.\r\n */\r\nexport class PBRSheenConfiguration {\r\n\r\n private _isEnabled = false;\r\n /**\r\n * Defines if the material uses sheen.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public isEnabled = false;\r\n\r\n private _linkSheenWithAlbedo = false;\r\n /**\r\n * Defines if the sheen is linked to the sheen color.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public linkSheenWithAlbedo = false;\r\n\r\n /**\r\n * Defines the sheen intensity.\r\n */\r\n @serialize()\r\n public intensity = 1;\r\n\r\n /**\r\n * Defines the sheen color.\r\n */\r\n @serializeAsColor3()\r\n public color = Color3.White();\r\n\r\n private _texture: Nullable = null;\r\n /**\r\n * Stores the sheen tint values in a texture.\r\n * rgb is tint\r\n * a is a intensity or roughness if the roughness property has been defined and useRoughnessFromTexture is true (in that case, textureRoughness won't be used)\r\n * If the roughness property has been defined and useRoughnessFromTexture is false then the alpha channel is not used to modulate roughness\r\n */\r\n @serializeAsTexture()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public texture: Nullable = null;\r\n\r\n private _useRoughnessFromMainTexture = true;\r\n /**\r\n * Indicates that the alpha channel of the texture property will be used for roughness.\r\n * Has no effect if the roughness (and texture!) property is not defined\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public useRoughnessFromMainTexture = true;\r\n\r\n private _roughness: Nullable = null;\r\n /**\r\n * Defines the sheen roughness.\r\n * It is not taken into account if linkSheenWithAlbedo is true.\r\n * To stay backward compatible, material roughness is used instead if sheen roughness = null\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public roughness: Nullable = null;\r\n\r\n private _textureRoughness: Nullable = null;\r\n /**\r\n * Stores the sheen roughness in a texture.\r\n * alpha channel is the roughness. This texture won't be used if the texture property is not empty and useRoughnessFromTexture is true\r\n */\r\n @serializeAsTexture()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public textureRoughness: Nullable = null;\r\n\r\n private _albedoScaling = false;\r\n /**\r\n * If true, the sheen effect is layered above the base BRDF with the albedo-scaling technique.\r\n * It allows the strength of the sheen effect to not depend on the base color of the material,\r\n * making it easier to setup and tweak the effect\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public albedoScaling = false;\r\n\r\n /** @hidden */\r\n private _internalMarkAllSubMeshesAsTexturesDirty: () => void;\r\n\r\n /** @hidden */\r\n public _markAllSubMeshesAsTexturesDirty(): void {\r\n this._internalMarkAllSubMeshesAsTexturesDirty();\r\n }\r\n\r\n /**\r\n * Instantiate a new istance of clear coat configuration.\r\n * @param markAllSubMeshesAsTexturesDirty Callback to flag the material to dirty\r\n */\r\n constructor(markAllSubMeshesAsTexturesDirty: () => void) {\r\n this._internalMarkAllSubMeshesAsTexturesDirty = markAllSubMeshesAsTexturesDirty;\r\n }\r\n\r\n /**\r\n * Specifies that the submesh is ready to be used.\r\n * @param defines the list of \"defines\" to update.\r\n * @param scene defines the scene the material belongs to.\r\n * @returns - boolean indicating that the submesh is ready or not.\r\n */\r\n public isReadyForSubMesh(defines: IMaterialSheenDefines, scene: Scene): boolean {\r\n if (defines._areTexturesDirty) {\r\n if (scene.texturesEnabled) {\r\n if (this._texture && MaterialFlags.SheenTextureEnabled) {\r\n if (!this._texture.isReadyOrNotBlocking()) {\r\n return false;\r\n }\r\n }\r\n\r\n if (this._textureRoughness && MaterialFlags.SheenTextureEnabled) {\r\n if (!this._textureRoughness.isReadyOrNotBlocking()) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Checks to see if a texture is used in the material.\r\n * @param defines the list of \"defines\" to update.\r\n * @param scene defines the scene the material belongs to.\r\n */\r\n public prepareDefines(defines: IMaterialSheenDefines, scene: Scene): void {\r\n if (this._isEnabled) {\r\n defines.SHEEN = this._isEnabled;\r\n defines.SHEEN_LINKWITHALBEDO = this._linkSheenWithAlbedo;\r\n defines.SHEEN_ROUGHNESS = this._roughness !== null;\r\n defines.SHEEN_ALBEDOSCALING = this._albedoScaling;\r\n defines.SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE = this._useRoughnessFromMainTexture;\r\n defines.SHEEN_TEXTURE_ROUGHNESS_IDENTICAL = this._texture !== null && this._texture._texture === this._textureRoughness?._texture && this._texture.checkTransformsAreIdentical(this._textureRoughness);\r\n\r\n if (defines._areTexturesDirty) {\r\n if (scene.texturesEnabled) {\r\n if (this._texture && MaterialFlags.SheenTextureEnabled) {\r\n MaterialHelper.PrepareDefinesForMergedUV(this._texture, defines, \"SHEEN_TEXTURE\");\r\n } else {\r\n defines.SHEEN_TEXTURE = false;\r\n }\r\n\r\n if (this._textureRoughness && MaterialFlags.SheenTextureEnabled) {\r\n MaterialHelper.PrepareDefinesForMergedUV(this._textureRoughness, defines, \"SHEEN_TEXTURE_ROUGHNESS\");\r\n } else {\r\n defines.SHEEN_TEXTURE_ROUGHNESS = false;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n defines.SHEEN = false;\r\n defines.SHEEN_TEXTURE = false;\r\n defines.SHEEN_TEXTURE_ROUGHNESS = false;\r\n defines.SHEEN_LINKWITHALBEDO = false;\r\n defines.SHEEN_ROUGHNESS = false;\r\n defines.SHEEN_ALBEDOSCALING = false;\r\n defines.SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE = false;\r\n defines.SHEEN_TEXTURE_ROUGHNESS_IDENTICAL = false;\r\n }\r\n }\r\n\r\n /**\r\n * Binds the material data.\r\n * @param uniformBuffer defines the Uniform buffer to fill in.\r\n * @param scene defines the scene the material belongs to.\r\n * @param isFrozen defines wether the material is frozen or not.\r\n * @param subMesh the submesh to bind data for\r\n */\r\n public bindForSubMesh(uniformBuffer: UniformBuffer, scene: Scene, isFrozen: boolean, subMesh?: SubMesh): void {\r\n const defines = subMesh!._materialDefines as unknown as IMaterialSheenDefines;\r\n\r\n const identicalTextures = defines.SHEEN_TEXTURE_ROUGHNESS_IDENTICAL;\r\n\r\n if (!uniformBuffer.useUbo || !isFrozen || !uniformBuffer.isSync) {\r\n if (identicalTextures && MaterialFlags.SheenTextureEnabled) {\r\n uniformBuffer.updateFloat4(\"vSheenInfos\", this._texture!.coordinatesIndex, this._texture!.level, -1, -1);\r\n MaterialHelper.BindTextureMatrix(this._texture!, uniformBuffer, \"sheen\");\r\n } else if ((this._texture || this._textureRoughness) && MaterialFlags.SheenTextureEnabled) {\r\n uniformBuffer.updateFloat4(\"vSheenInfos\", this._texture?.coordinatesIndex ?? 0, this._texture?.level ?? 0, this._textureRoughness?.coordinatesIndex ?? 0, this._textureRoughness?.level ?? 0);\r\n if (this._texture) {\r\n MaterialHelper.BindTextureMatrix(this._texture, uniformBuffer, \"sheen\");\r\n }\r\n if (this._textureRoughness && !identicalTextures && !defines.SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE) {\r\n MaterialHelper.BindTextureMatrix(this._textureRoughness, uniformBuffer, \"sheenRoughness\");\r\n }\r\n }\r\n\r\n // Sheen\r\n uniformBuffer.updateFloat4(\"vSheenColor\",\r\n this.color.r,\r\n this.color.g,\r\n this.color.b,\r\n this.intensity);\r\n\r\n if (this._roughness !== null) {\r\n uniformBuffer.updateFloat(\"vSheenRoughness\", this._roughness);\r\n }\r\n }\r\n\r\n // Textures\r\n if (scene.texturesEnabled) {\r\n if (this._texture && MaterialFlags.SheenTextureEnabled) {\r\n uniformBuffer.setTexture(\"sheenSampler\", this._texture);\r\n }\r\n\r\n if (this._textureRoughness && !identicalTextures && !defines.SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE && MaterialFlags.SheenTextureEnabled) {\r\n uniformBuffer.setTexture(\"sheenRoughnessSampler\", this._textureRoughness);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Checks to see if a texture is used in the material.\r\n * @param texture - Base texture to use.\r\n * @returns - Boolean specifying if a texture is used in the material.\r\n */\r\n public hasTexture(texture: BaseTexture): boolean {\r\n if (this._texture === texture) {\r\n return true;\r\n }\r\n\r\n if (this._textureRoughness === texture) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Returns an array of the actively used textures.\r\n * @param activeTextures Array of BaseTextures\r\n */\r\n public getActiveTextures(activeTextures: BaseTexture[]): void {\r\n if (this._texture) {\r\n activeTextures.push(this._texture);\r\n }\r\n\r\n if (this._textureRoughness) {\r\n activeTextures.push(this._textureRoughness);\r\n }\r\n }\r\n\r\n /**\r\n * Returns the animatable textures.\r\n * @param animatables Array of animatable textures.\r\n */\r\n public getAnimatables(animatables: IAnimatable[]): void {\r\n if (this._texture && this._texture.animations && this._texture.animations.length > 0) {\r\n animatables.push(this._texture);\r\n }\r\n\r\n if (this._textureRoughness && this._textureRoughness.animations && this._textureRoughness.animations.length > 0) {\r\n animatables.push(this._textureRoughness);\r\n }\r\n }\r\n\r\n /**\r\n * Disposes the resources of the material.\r\n * @param forceDisposeTextures - Forces the disposal of all textures.\r\n */\r\n public dispose(forceDisposeTextures?: boolean): void {\r\n if (forceDisposeTextures) {\r\n this._texture?.dispose();\r\n this._textureRoughness?.dispose();\r\n }\r\n }\r\n\r\n /**\r\n * Get the current class name of the texture useful for serialization or dynamic coding.\r\n * @returns \"PBRSheenConfiguration\"\r\n */\r\n public getClassName(): string {\r\n return \"PBRSheenConfiguration\";\r\n }\r\n\r\n /**\r\n * Add fallbacks to the effect fallbacks list.\r\n * @param defines defines the Base texture to use.\r\n * @param fallbacks defines the current fallback list.\r\n * @param currentRank defines the current fallback rank.\r\n * @returns the new fallback rank.\r\n */\r\n public static AddFallbacks(defines: IMaterialSheenDefines, fallbacks: EffectFallbacks, currentRank: number): number {\r\n if (defines.SHEEN) {\r\n fallbacks.addFallback(currentRank++, \"SHEEN\");\r\n }\r\n return currentRank;\r\n }\r\n\r\n /**\r\n * Add the required uniforms to the current list.\r\n * @param uniforms defines the current uniform list.\r\n */\r\n public static AddUniforms(uniforms: string[]): void {\r\n uniforms.push(\"vSheenColor\", \"vSheenRoughness\", \"vSheenInfos\", \"sheenMatrix\", \"sheenRoughnessMatrix\");\r\n }\r\n\r\n /**\r\n * Add the required uniforms to the current buffer.\r\n * @param uniformBuffer defines the current uniform buffer.\r\n */\r\n public static PrepareUniformBuffer(uniformBuffer: UniformBuffer): void {\r\n uniformBuffer.addUniform(\"vSheenColor\", 4);\r\n uniformBuffer.addUniform(\"vSheenRoughness\", 1);\r\n uniformBuffer.addUniform(\"vSheenInfos\", 4);\r\n uniformBuffer.addUniform(\"sheenMatrix\", 16);\r\n uniformBuffer.addUniform(\"sheenRoughnessMatrix\", 16);\r\n }\r\n\r\n /**\r\n * Add the required samplers to the current list.\r\n * @param samplers defines the current sampler list.\r\n */\r\n public static AddSamplers(samplers: string[]): void {\r\n samplers.push(\"sheenSampler\");\r\n samplers.push(\"sheenRoughnessSampler\");\r\n }\r\n\r\n /**\r\n * Makes a duplicate of the current configuration into another one.\r\n * @param sheenConfiguration define the config where to copy the info\r\n */\r\n public copyTo(sheenConfiguration: PBRSheenConfiguration): void {\r\n SerializationHelper.Clone(() => sheenConfiguration, this);\r\n }\r\n\r\n /**\r\n * Serializes this BRDF configuration.\r\n * @returns - An object with the serialized config.\r\n */\r\n public serialize(): any {\r\n return SerializationHelper.Serialize(this);\r\n }\r\n\r\n /**\r\n * Parses a anisotropy Configuration from a serialized object.\r\n * @param source - Serialized object.\r\n * @param scene Defines the scene we are parsing for\r\n * @param rootUrl Defines the rootUrl to load from\r\n */\r\n public parse(source: any, scene: Scene, rootUrl: string): void {\r\n SerializationHelper.Parse(() => this, source, scene, rootUrl);\r\n }\r\n}","import { Nullable } from \"../../types\";\r\nimport { IAnimatable } from '../../Animations/animatable.interface';\r\nimport { SerializationHelper, serialize, serializeAsTexture, expandToProperty, serializeAsColor3 } from \"../../Misc/decorators\";\r\nimport { Color3 } from '../../Maths/math.color';\r\nimport { SmartArray } from \"../../Misc/smartArray\";\r\nimport { BaseTexture } from \"../../Materials/Textures/baseTexture\";\r\nimport { RenderTargetTexture } from \"../../Materials/Textures/renderTargetTexture\";\r\nimport { Effect } from \"../../Materials/effect\";\r\nimport { MaterialFlags } from \"../materialFlags\";\r\nimport { UniformBuffer } from \"../../Materials/uniformBuffer\";\r\nimport { MaterialHelper } from \"../../Materials/materialHelper\";\r\nimport { EffectFallbacks } from '../effectFallbacks';\r\nimport { Scalar } from \"../../Maths/math.scalar\";\r\n\r\ndeclare type Engine = import(\"../../Engines/engine\").Engine;\r\ndeclare type Scene = import(\"../../scene\").Scene;\r\n\r\n/**\r\n * @hidden\r\n */\r\nexport interface IMaterialSubSurfaceDefines {\r\n SUBSURFACE: boolean;\r\n\r\n SS_REFRACTION: boolean;\r\n SS_TRANSLUCENCY: boolean;\r\n SS_SCATTERING: boolean;\r\n\r\n SS_THICKNESSANDMASK_TEXTURE: boolean;\r\n SS_THICKNESSANDMASK_TEXTUREDIRECTUV: number;\r\n\r\n SS_REFRACTIONMAP_3D: boolean;\r\n SS_REFRACTIONMAP_OPPOSITEZ: boolean;\r\n SS_LODINREFRACTIONALPHA: boolean;\r\n SS_GAMMAREFRACTION: boolean;\r\n SS_RGBDREFRACTION: boolean;\r\n SS_LINEARSPECULARREFRACTION: boolean;\r\n SS_LINKREFRACTIONTOTRANSPARENCY: boolean;\r\n SS_ALBEDOFORREFRACTIONTINT: boolean;\r\n\r\n SS_MASK_FROM_THICKNESS_TEXTURE: boolean;\r\n SS_MASK_FROM_THICKNESS_TEXTURE_GLTF: boolean;\r\n\r\n /** @hidden */\r\n _areTexturesDirty: boolean;\r\n}\r\n\r\n/**\r\n * Define the code related to the sub surface parameters of the pbr material.\r\n */\r\nexport class PBRSubSurfaceConfiguration {\r\n\r\n private _isRefractionEnabled = false;\r\n /**\r\n * Defines if the refraction is enabled in the material.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public isRefractionEnabled = false;\r\n\r\n private _isTranslucencyEnabled = false;\r\n /**\r\n * Defines if the translucency is enabled in the material.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public isTranslucencyEnabled = false;\r\n\r\n private _isScatteringEnabled = false;\r\n /**\r\n * Defines if the sub surface scattering is enabled in the material.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markScenePrePassDirty\")\r\n public isScatteringEnabled = false;\r\n\r\n @serialize()\r\n private _scatteringDiffusionProfileIndex = 0;\r\n\r\n /**\r\n * Diffusion profile for subsurface scattering.\r\n * Useful for better scattering in the skins or foliages.\r\n */\r\n public get scatteringDiffusionProfile() : Nullable {\r\n if (!this._scene.subSurfaceConfiguration) {\r\n return null;\r\n }\r\n\r\n return this._scene.subSurfaceConfiguration.ssDiffusionProfileColors[this._scatteringDiffusionProfileIndex];\r\n }\r\n\r\n public set scatteringDiffusionProfile(c: Nullable) {\r\n if (!this._scene.enableSubSurfaceForPrePass()) {\r\n // Not supported\r\n return;\r\n }\r\n\r\n // addDiffusionProfile automatically checks for doubles\r\n if (c) {\r\n this._scatteringDiffusionProfileIndex = this._scene.subSurfaceConfiguration!.addDiffusionProfile(c);\r\n }\r\n }\r\n\r\n /**\r\n * Defines the refraction intensity of the material.\r\n * The refraction when enabled replaces the Diffuse part of the material.\r\n * The intensity helps transitionning between diffuse and refraction.\r\n */\r\n @serialize()\r\n public refractionIntensity: number = 1;\r\n\r\n /**\r\n * Defines the translucency intensity of the material.\r\n * When translucency has been enabled, this defines how much of the \"translucency\"\r\n * is addded to the diffuse part of the material.\r\n */\r\n @serialize()\r\n public translucencyIntensity: number = 1;\r\n\r\n /**\r\n * When enabled, transparent surfaces will be tinted with the albedo colour (independent of thickness)\r\n */\r\n @serialize()\r\n public useAlbedoToTintRefraction: boolean = false;\r\n\r\n private _thicknessTexture: Nullable = null;\r\n /**\r\n * Stores the average thickness of a mesh in a texture (The texture is holding the values linearly).\r\n * The red channel of the texture should contain the thickness remapped between 0 and 1.\r\n * 0 would mean minimumThickness\r\n * 1 would mean maximumThickness\r\n * The other channels might be use as a mask to vary the different effects intensity.\r\n */\r\n @serializeAsTexture()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public thicknessTexture: Nullable = null;\r\n\r\n private _refractionTexture: Nullable = null;\r\n /**\r\n * Defines the texture to use for refraction.\r\n */\r\n @serializeAsTexture()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public refractionTexture: Nullable = null;\r\n\r\n private _indexOfRefraction = 1.5;\r\n /**\r\n * Index of refraction of the material base layer.\r\n * https://en.wikipedia.org/wiki/List_of_refractive_indices\r\n *\r\n * This does not only impact refraction but also the Base F0 of Dielectric Materials.\r\n *\r\n * From dielectric fresnel rules: F0 = square((iorT - iorI) / (iorT + iorI))\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public indexOfRefraction = 1.5;\r\n\r\n @serialize()\r\n private _volumeIndexOfRefraction = -1.0;\r\n\r\n /**\r\n * Index of refraction of the material's volume.\r\n * https://en.wikipedia.org/wiki/List_of_refractive_indices\r\n *\r\n * This ONLY impacts refraction. If not provided or given a non-valid value,\r\n * the volume will use the same IOR as the surface.\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public get volumeIndexOfRefraction(): number {\r\n if (this._volumeIndexOfRefraction >= 1.0) {\r\n return this._volumeIndexOfRefraction;\r\n }\r\n return this._indexOfRefraction;\r\n }\r\n public set volumeIndexOfRefraction(value: number) {\r\n if (value >= 1.0) {\r\n this._volumeIndexOfRefraction = value;\r\n } else {\r\n this._volumeIndexOfRefraction = -1.0;\r\n }\r\n }\r\n\r\n private _invertRefractionY = false;\r\n /**\r\n * Controls if refraction needs to be inverted on Y. This could be useful for procedural texture.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public invertRefractionY = false;\r\n\r\n private _linkRefractionWithTransparency = false;\r\n /**\r\n * This parameters will make the material used its opacity to control how much it is refracting aginst not.\r\n * Materials half opaque for instance using refraction could benefit from this control.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public linkRefractionWithTransparency = false;\r\n\r\n /**\r\n * Defines the minimum thickness stored in the thickness map.\r\n * If no thickness map is defined, this value will be used to simulate thickness.\r\n */\r\n @serialize()\r\n public minimumThickness: number = 0;\r\n\r\n /**\r\n * Defines the maximum thickness stored in the thickness map.\r\n */\r\n @serialize()\r\n public maximumThickness: number = 1;\r\n\r\n /**\r\n * Defines the volume tint of the material.\r\n * This is used for both translucency and scattering.\r\n */\r\n @serializeAsColor3()\r\n public tintColor = Color3.White();\r\n\r\n /**\r\n * Defines the distance at which the tint color should be found in the media.\r\n * This is used for refraction only.\r\n */\r\n @serialize()\r\n public tintColorAtDistance = 1;\r\n\r\n /**\r\n * Defines how far each channel transmit through the media.\r\n * It is defined as a color to simplify it selection.\r\n */\r\n @serializeAsColor3()\r\n public diffusionDistance = Color3.White();\r\n\r\n private _useMaskFromThicknessTexture = false;\r\n /**\r\n * Stores the intensity of the different subsurface effects in the thickness texture.\r\n * * the green channel is the translucency intensity.\r\n * * the blue channel is the scattering intensity.\r\n * * the alpha channel is the refraction intensity.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public useMaskFromThicknessTexture: boolean = false;\r\n\r\n private _scene: Scene;\r\n private _useMaskFromThicknessTextureGltf = false;\r\n /**\r\n * Stores the intensity of the different subsurface effects in the thickness texture. This variation\r\n * matches the channel-packing that is used by glTF.\r\n * * the red channel is the transmission/translucency intensity.\r\n * * the green channel is the thickness.\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public useMaskFromThicknessTextureGltf: boolean = false;\r\n\r\n /** @hidden */\r\n private _internalMarkAllSubMeshesAsTexturesDirty: () => void;\r\n private _internalMarkScenePrePassDirty: () => void;\r\n\r\n /** @hidden */\r\n public _markAllSubMeshesAsTexturesDirty(): void {\r\n this._internalMarkAllSubMeshesAsTexturesDirty();\r\n }\r\n /** @hidden */\r\n public _markScenePrePassDirty(): void {\r\n this._internalMarkAllSubMeshesAsTexturesDirty();\r\n this._internalMarkScenePrePassDirty();\r\n }\r\n\r\n /**\r\n * Instantiate a new istance of sub surface configuration.\r\n * @param markAllSubMeshesAsTexturesDirty Callback to flag the material to dirty\r\n * @param markScenePrePassDirty Callback to flag the scene as prepass dirty\r\n * @param scene The scene\r\n */\r\n constructor(markAllSubMeshesAsTexturesDirty: () => void, markScenePrePassDirty: () => void, scene: Scene) {\r\n this._internalMarkAllSubMeshesAsTexturesDirty = markAllSubMeshesAsTexturesDirty;\r\n this._internalMarkScenePrePassDirty = markScenePrePassDirty;\r\n this._scene = scene;\r\n }\r\n\r\n /**\r\n * Gets wehter the submesh is ready to be used or not.\r\n * @param defines the list of \"defines\" to update.\r\n * @param scene defines the scene the material belongs to.\r\n * @returns - boolean indicating that the submesh is ready or not.\r\n */\r\n public isReadyForSubMesh(defines: IMaterialSubSurfaceDefines, scene: Scene): boolean {\r\n if (defines._areTexturesDirty) {\r\n if (scene.texturesEnabled) {\r\n if (this._thicknessTexture && MaterialFlags.ThicknessTextureEnabled) {\r\n if (!this._thicknessTexture.isReadyOrNotBlocking()) {\r\n return false;\r\n }\r\n }\r\n\r\n var refractionTexture = this._getRefractionTexture(scene);\r\n if (refractionTexture && MaterialFlags.RefractionTextureEnabled) {\r\n if (!refractionTexture.isReadyOrNotBlocking()) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Checks to see if a texture is used in the material.\r\n * @param defines the list of \"defines\" to update.\r\n * @param scene defines the scene to the material belongs to.\r\n */\r\n public prepareDefines(defines: IMaterialSubSurfaceDefines, scene: Scene): void {\r\n if (defines._areTexturesDirty) {\r\n defines.SUBSURFACE = false;\r\n\r\n defines.SS_TRANSLUCENCY = this._isTranslucencyEnabled;\r\n defines.SS_SCATTERING = this._isScatteringEnabled;\r\n defines.SS_THICKNESSANDMASK_TEXTURE = false;\r\n defines.SS_MASK_FROM_THICKNESS_TEXTURE = false;\r\n defines.SS_MASK_FROM_THICKNESS_TEXTURE_GLTF = false;\r\n defines.SS_REFRACTION = false;\r\n defines.SS_REFRACTIONMAP_3D = false;\r\n defines.SS_GAMMAREFRACTION = false;\r\n defines.SS_RGBDREFRACTION = false;\r\n defines.SS_LINEARSPECULARREFRACTION = false;\r\n defines.SS_REFRACTIONMAP_OPPOSITEZ = false;\r\n defines.SS_LODINREFRACTIONALPHA = false;\r\n defines.SS_LINKREFRACTIONTOTRANSPARENCY = false;\r\n defines.SS_ALBEDOFORREFRACTIONTINT = false;\r\n\r\n if (this._isRefractionEnabled || this._isTranslucencyEnabled || this._isScatteringEnabled) {\r\n defines.SUBSURFACE = true;\r\n\r\n if (defines._areTexturesDirty) {\r\n if (scene.texturesEnabled) {\r\n if (this._thicknessTexture && MaterialFlags.ThicknessTextureEnabled) {\r\n MaterialHelper.PrepareDefinesForMergedUV(this._thicknessTexture, defines, \"SS_THICKNESSANDMASK_TEXTURE\");\r\n }\r\n }\r\n }\r\n\r\n defines.SS_MASK_FROM_THICKNESS_TEXTURE = this._useMaskFromThicknessTexture;\r\n defines.SS_MASK_FROM_THICKNESS_TEXTURE_GLTF = this._useMaskFromThicknessTextureGltf;\r\n }\r\n\r\n if (this._isRefractionEnabled) {\r\n if (scene.texturesEnabled) {\r\n var refractionTexture = this._getRefractionTexture(scene);\r\n if (refractionTexture && MaterialFlags.RefractionTextureEnabled) {\r\n defines.SS_REFRACTION = true;\r\n defines.SS_REFRACTIONMAP_3D = refractionTexture.isCube;\r\n defines.SS_GAMMAREFRACTION = refractionTexture.gammaSpace;\r\n defines.SS_RGBDREFRACTION = refractionTexture.isRGBD;\r\n defines.SS_LINEARSPECULARREFRACTION = refractionTexture.linearSpecularLOD;\r\n defines.SS_REFRACTIONMAP_OPPOSITEZ = refractionTexture.invertZ;\r\n defines.SS_LODINREFRACTIONALPHA = refractionTexture.lodLevelInAlpha;\r\n defines.SS_LINKREFRACTIONTOTRANSPARENCY = this._linkRefractionWithTransparency;\r\n defines.SS_ALBEDOFORREFRACTIONTINT = this.useAlbedoToTintRefraction;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Binds the material data.\r\n * @param uniformBuffer defines the Uniform buffer to fill in.\r\n * @param scene defines the scene the material belongs to.\r\n * @param engine defines the engine the material belongs to.\r\n * @param isFrozen defines whether the material is frozen or not.\r\n * @param lodBasedMicrosurface defines whether the material relies on lod based microsurface or not.\r\n * @param realTimeFiltering defines whether the textures should be filtered on the fly.\r\n */\r\n public bindForSubMesh(uniformBuffer: UniformBuffer, scene: Scene, engine: Engine, isFrozen: boolean, lodBasedMicrosurface: boolean, realTimeFiltering: boolean): void {\r\n var refractionTexture = this._getRefractionTexture(scene);\r\n\r\n if (!uniformBuffer.useUbo || !isFrozen || !uniformBuffer.isSync) {\r\n if (this._thicknessTexture && MaterialFlags.ThicknessTextureEnabled) {\r\n uniformBuffer.updateFloat2(\"vThicknessInfos\", this._thicknessTexture.coordinatesIndex, this._thicknessTexture.level);\r\n MaterialHelper.BindTextureMatrix(this._thicknessTexture, uniformBuffer, \"thickness\");\r\n }\r\n\r\n uniformBuffer.updateFloat2(\"vThicknessParam\", this.minimumThickness, this.maximumThickness - this.minimumThickness);\r\n\r\n if (refractionTexture && MaterialFlags.RefractionTextureEnabled) {\r\n uniformBuffer.updateMatrix(\"refractionMatrix\", refractionTexture.getReflectionTextureMatrix());\r\n\r\n var depth = 1.0;\r\n if (!refractionTexture.isCube) {\r\n if ((refractionTexture).depth) {\r\n depth = (refractionTexture).depth;\r\n }\r\n }\r\n\r\n var width = refractionTexture.getSize().width;\r\n var refractionIor = this.volumeIndexOfRefraction;\r\n uniformBuffer.updateFloat4(\"vRefractionInfos\", refractionTexture.level, 1 / refractionIor, depth, this._invertRefractionY ? -1 : 1);\r\n uniformBuffer.updateFloat3(\"vRefractionMicrosurfaceInfos\",\r\n width,\r\n refractionTexture.lodGenerationScale,\r\n refractionTexture.lodGenerationOffset);\r\n\r\n if (realTimeFiltering) {\r\n uniformBuffer.updateFloat2(\"vRefractionFilteringInfo\", width, Scalar.Log2(width));\r\n }\r\n }\r\n\r\n if (this.isScatteringEnabled) {\r\n uniformBuffer.updateFloat(\"scatteringDiffusionProfile\", this._scatteringDiffusionProfileIndex);\r\n }\r\n uniformBuffer.updateColor3(\"vDiffusionDistance\", this.diffusionDistance);\r\n\r\n uniformBuffer.updateFloat4(\"vTintColor\", this.tintColor.r,\r\n this.tintColor.g,\r\n this.tintColor.b,\r\n this.tintColorAtDistance);\r\n\r\n uniformBuffer.updateFloat3(\"vSubSurfaceIntensity\", this.refractionIntensity, this.translucencyIntensity, 0);\r\n }\r\n\r\n // Textures\r\n if (scene.texturesEnabled) {\r\n if (this._thicknessTexture && MaterialFlags.ThicknessTextureEnabled) {\r\n uniformBuffer.setTexture(\"thicknessSampler\", this._thicknessTexture);\r\n }\r\n\r\n if (refractionTexture && MaterialFlags.RefractionTextureEnabled) {\r\n if (lodBasedMicrosurface) {\r\n uniformBuffer.setTexture(\"refractionSampler\", refractionTexture);\r\n }\r\n else {\r\n uniformBuffer.setTexture(\"refractionSampler\", refractionTexture._lodTextureMid || refractionTexture);\r\n uniformBuffer.setTexture(\"refractionSamplerLow\", refractionTexture._lodTextureLow || refractionTexture);\r\n uniformBuffer.setTexture(\"refractionSamplerHigh\", refractionTexture._lodTextureHigh || refractionTexture);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Unbinds the material from the mesh.\r\n * @param activeEffect defines the effect that should be unbound from.\r\n * @returns true if unbound, otherwise false\r\n */\r\n public unbind(activeEffect: Effect): boolean {\r\n if (this._refractionTexture && this._refractionTexture.isRenderTarget) {\r\n activeEffect.setTexture(\"refractionSampler\", null);\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Returns the texture used for refraction or null if none is used.\r\n * @param scene defines the scene the material belongs to.\r\n * @returns - Refraction texture if present. If no refraction texture and refraction\r\n * is linked with transparency, returns environment texture. Otherwise, returns null.\r\n */\r\n private _getRefractionTexture(scene: Scene): Nullable {\r\n if (this._refractionTexture) {\r\n return this._refractionTexture;\r\n }\r\n\r\n if (this._isRefractionEnabled) {\r\n return scene.environmentTexture;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns true if alpha blending should be disabled.\r\n */\r\n public get disableAlphaBlending(): boolean {\r\n return this.isRefractionEnabled && this._linkRefractionWithTransparency;\r\n }\r\n\r\n /**\r\n * Fills the list of render target textures.\r\n * @param renderTargets the list of render targets to update\r\n */\r\n public fillRenderTargetTextures(renderTargets: SmartArray): void {\r\n if (MaterialFlags.RefractionTextureEnabled && this._refractionTexture && this._refractionTexture.isRenderTarget) {\r\n renderTargets.push(this._refractionTexture);\r\n }\r\n }\r\n\r\n /**\r\n * Checks to see if a texture is used in the material.\r\n * @param texture - Base texture to use.\r\n * @returns - Boolean specifying if a texture is used in the material.\r\n */\r\n public hasTexture(texture: BaseTexture): boolean {\r\n if (this._thicknessTexture === texture) {\r\n return true;\r\n }\r\n\r\n if (this._refractionTexture === texture) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating that current material needs to register RTT\r\n * @returns true if this uses a render target otherwise false.\r\n */\r\n public hasRenderTargetTextures(): boolean {\r\n if (MaterialFlags.RefractionTextureEnabled && this._refractionTexture && this._refractionTexture.isRenderTarget) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Returns an array of the actively used textures.\r\n * @param activeTextures Array of BaseTextures\r\n */\r\n public getActiveTextures(activeTextures: BaseTexture[]): void {\r\n if (this._thicknessTexture) {\r\n activeTextures.push(this._thicknessTexture);\r\n }\r\n\r\n if (this._refractionTexture) {\r\n activeTextures.push(this._refractionTexture);\r\n }\r\n }\r\n\r\n /**\r\n * Returns the animatable textures.\r\n * @param animatables Array of animatable textures.\r\n */\r\n public getAnimatables(animatables: IAnimatable[]): void {\r\n if (this._thicknessTexture && this._thicknessTexture.animations && this._thicknessTexture.animations.length > 0) {\r\n animatables.push(this._thicknessTexture);\r\n }\r\n\r\n if (this._refractionTexture && this._refractionTexture.animations && this._refractionTexture.animations.length > 0) {\r\n animatables.push(this._refractionTexture);\r\n }\r\n }\r\n\r\n /**\r\n * Disposes the resources of the material.\r\n * @param forceDisposeTextures - Forces the disposal of all textures.\r\n */\r\n public dispose(forceDisposeTextures?: boolean): void {\r\n if (forceDisposeTextures) {\r\n if (this._thicknessTexture) {\r\n this._thicknessTexture.dispose();\r\n }\r\n\r\n if (this._refractionTexture) {\r\n this._refractionTexture.dispose();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Get the current class name of the texture useful for serialization or dynamic coding.\r\n * @returns \"PBRSubSurfaceConfiguration\"\r\n */\r\n public getClassName(): string {\r\n return \"PBRSubSurfaceConfiguration\";\r\n }\r\n\r\n /**\r\n * Add fallbacks to the effect fallbacks list.\r\n * @param defines defines the Base texture to use.\r\n * @param fallbacks defines the current fallback list.\r\n * @param currentRank defines the current fallback rank.\r\n * @returns the new fallback rank.\r\n */\r\n public static AddFallbacks(defines: IMaterialSubSurfaceDefines, fallbacks: EffectFallbacks, currentRank: number): number {\r\n if (defines.SS_SCATTERING) {\r\n fallbacks.addFallback(currentRank++, \"SS_SCATTERING\");\r\n }\r\n if (defines.SS_TRANSLUCENCY) {\r\n fallbacks.addFallback(currentRank++, \"SS_TRANSLUCENCY\");\r\n }\r\n return currentRank;\r\n }\r\n\r\n /**\r\n * Add the required uniforms to the current list.\r\n * @param uniforms defines the current uniform list.\r\n */\r\n public static AddUniforms(uniforms: string[]): void {\r\n uniforms.push(\r\n \"vDiffusionDistance\", \"vTintColor\", \"vSubSurfaceIntensity\",\r\n \"vRefractionMicrosurfaceInfos\", \"vRefractionFilteringInfo\",\r\n \"vRefractionInfos\", \"vThicknessInfos\", \"vThicknessParam\",\r\n \"refractionMatrix\", \"thicknessMatrix\", \"scatteringDiffusionProfile\");\r\n }\r\n\r\n /**\r\n * Add the required samplers to the current list.\r\n * @param samplers defines the current sampler list.\r\n */\r\n public static AddSamplers(samplers: string[]): void {\r\n samplers.push(\"thicknessSampler\",\r\n \"refractionSampler\", \"refractionSamplerLow\", \"refractionSamplerHigh\");\r\n }\r\n\r\n /**\r\n * Add the required uniforms to the current buffer.\r\n * @param uniformBuffer defines the current uniform buffer.\r\n */\r\n public static PrepareUniformBuffer(uniformBuffer: UniformBuffer): void {\r\n uniformBuffer.addUniform(\"vRefractionMicrosurfaceInfos\", 3);\r\n uniformBuffer.addUniform(\"vRefractionFilteringInfo\", 2);\r\n uniformBuffer.addUniform(\"vRefractionInfos\", 4);\r\n uniformBuffer.addUniform(\"refractionMatrix\", 16);\r\n uniformBuffer.addUniform(\"vThicknessInfos\", 2);\r\n uniformBuffer.addUniform(\"thicknessMatrix\", 16);\r\n uniformBuffer.addUniform(\"vThicknessParam\", 2);\r\n uniformBuffer.addUniform(\"vDiffusionDistance\", 3);\r\n uniformBuffer.addUniform(\"vTintColor\", 4);\r\n uniformBuffer.addUniform(\"vSubSurfaceIntensity\", 3);\r\n uniformBuffer.addUniform(\"scatteringDiffusionProfile\", 1);\r\n }\r\n\r\n /**\r\n * Makes a duplicate of the current configuration into another one.\r\n * @param configuration define the config where to copy the info\r\n */\r\n public copyTo(configuration: PBRSubSurfaceConfiguration): void {\r\n SerializationHelper.Clone(() => configuration, this);\r\n }\r\n\r\n /**\r\n * Serializes this Sub Surface configuration.\r\n * @returns - An object with the serialized config.\r\n */\r\n public serialize(): any {\r\n return SerializationHelper.Serialize(this);\r\n }\r\n\r\n /**\r\n * Parses a anisotropy Configuration from a serialized object.\r\n * @param source - Serialized object.\r\n * @param scene Defines the scene we are parsing for\r\n * @param rootUrl Defines the rootUrl to load from\r\n */\r\n public parse(source: any, scene: Scene, rootUrl: string): void {\r\n SerializationHelper.Parse(() => this, source, scene, rootUrl);\r\n }\r\n}","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrFragmentDeclaration';\nlet shader = `uniform vec3 vReflectionColor;\nuniform vec4 vAlbedoColor;\n\nuniform vec4 vLightingIntensity;\nuniform vec4 vReflectivityColor;\nuniform vec4 vMetallicReflectanceFactors;\nuniform vec3 vEmissiveColor;\nuniform float visibility;\n\n#ifdef ALBEDO\nuniform vec2 vAlbedoInfos;\n#endif\n#ifdef AMBIENT\nuniform vec4 vAmbientInfos;\n#endif\n#ifdef BUMP\nuniform vec3 vBumpInfos;\nuniform vec2 vTangentSpaceParams;\n#endif\n#ifdef OPACITY\nuniform vec2 vOpacityInfos;\n#endif\n#ifdef EMISSIVE\nuniform vec2 vEmissiveInfos;\n#endif\n#ifdef LIGHTMAP\nuniform vec2 vLightmapInfos;\n#endif\n#ifdef REFLECTIVITY\nuniform vec3 vReflectivityInfos;\n#endif\n#ifdef MICROSURFACEMAP\nuniform vec2 vMicroSurfaceSamplerInfos;\n#endif\n\n#if defined(REFLECTIONMAP_SPHERICAL) || defined(REFLECTIONMAP_PROJECTION) || defined(SS_REFRACTION)\nuniform mat4 view;\n#endif\n\n#ifdef REFLECTION\nuniform vec2 vReflectionInfos;\n#ifdef REALTIME_FILTERING\nuniform vec2 vReflectionFilteringInfo;\n#endif\nuniform mat4 reflectionMatrix;\nuniform vec3 vReflectionMicrosurfaceInfos;\n#if defined(USE_LOCAL_REFLECTIONMAP_CUBIC) && defined(REFLECTIONMAP_CUBIC)\nuniform vec3 vReflectionPosition;\nuniform vec3 vReflectionSize;\n#endif\n#endif\n\n#ifdef CLEARCOAT\nuniform vec2 vClearCoatParams;\nuniform vec4 vClearCoatRefractionParams;\n#if defined(CLEARCOAT_TEXTURE) || defined(CLEARCOAT_TEXTURE_ROUGHNESS)\nuniform vec4 vClearCoatInfos;\n#endif\n#ifdef CLEARCOAT_TEXTURE\nuniform mat4 clearCoatMatrix;\n#endif\n#ifdef CLEARCOAT_TEXTURE_ROUGHNESS\nuniform mat4 clearCoatRoughnessMatrix;\n#endif\n#ifdef CLEARCOAT_BUMP\nuniform vec2 vClearCoatBumpInfos;\nuniform vec2 vClearCoatTangentSpaceParams;\nuniform mat4 clearCoatBumpMatrix;\n#endif\n#ifdef CLEARCOAT_TINT\nuniform vec4 vClearCoatTintParams;\nuniform float clearCoatColorAtDistance;\n#ifdef CLEARCOAT_TINT_TEXTURE\nuniform vec2 vClearCoatTintInfos;\nuniform mat4 clearCoatTintMatrix;\n#endif\n#endif\n#endif\n\n#ifdef ANISOTROPIC\nuniform vec3 vAnisotropy;\n#ifdef ANISOTROPIC_TEXTURE\nuniform vec2 vAnisotropyInfos;\nuniform mat4 anisotropyMatrix;\n#endif\n#endif\n\n#ifdef SHEEN\nuniform vec4 vSheenColor;\n#ifdef SHEEN_ROUGHNESS\nuniform float vSheenRoughness;\n#endif\n#if defined(SHEEN_TEXTURE) || defined(SHEEN_TEXTURE_ROUGHNESS)\nuniform vec4 vSheenInfos;\n#endif\n#ifdef SHEEN_TEXTURE\nuniform mat4 sheenMatrix;\n#endif\n#ifdef SHEEN_TEXTURE_ROUGHNESS\nuniform mat4 sheenRoughnessMatrix;\n#endif\n#endif\n\n#ifdef SUBSURFACE\n#ifdef SS_REFRACTION\nuniform vec3 vRefractionMicrosurfaceInfos;\nuniform vec4 vRefractionInfos;\nuniform mat4 refractionMatrix;\n#ifdef REALTIME_FILTERING\nuniform vec2 vRefractionFilteringInfo;\n#endif\n#endif\n#ifdef SS_THICKNESSANDMASK_TEXTURE\nuniform vec2 vThicknessInfos;\nuniform mat4 thicknessMatrix;\n#endif\nuniform vec2 vThicknessParam;\nuniform vec3 vDiffusionDistance;\nuniform vec4 vTintColor;\nuniform vec3 vSubSurfaceIntensity;\n#endif\n#ifdef PREPASS\n#ifdef PREPASS_IRRADIANCE\nuniform float scatteringDiffusionProfile;\n#endif\n#endif`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrFragmentDeclaration = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrUboDeclaration';\nlet shader = `layout(std140,column_major) uniform;\nuniform Material\n{\nuniform vec2 vAlbedoInfos;\nuniform vec4 vAmbientInfos;\nuniform vec2 vOpacityInfos;\nuniform vec2 vEmissiveInfos;\nuniform vec2 vLightmapInfos;\nuniform vec3 vReflectivityInfos;\nuniform vec2 vMicroSurfaceSamplerInfos;\nuniform vec2 vReflectionInfos;\nuniform vec2 vReflectionFilteringInfo;\nuniform vec3 vReflectionPosition;\nuniform vec3 vReflectionSize;\nuniform vec3 vBumpInfos;\nuniform mat4 albedoMatrix;\nuniform mat4 ambientMatrix;\nuniform mat4 opacityMatrix;\nuniform mat4 emissiveMatrix;\nuniform mat4 lightmapMatrix;\nuniform mat4 reflectivityMatrix;\nuniform mat4 microSurfaceSamplerMatrix;\nuniform mat4 bumpMatrix;\nuniform vec2 vTangentSpaceParams;\nuniform mat4 reflectionMatrix;\nuniform vec3 vReflectionColor;\nuniform vec4 vAlbedoColor;\nuniform vec4 vLightingIntensity;\nuniform vec3 vReflectionMicrosurfaceInfos;\nuniform float pointSize;\nuniform vec4 vReflectivityColor;\nuniform vec3 vEmissiveColor;\nuniform float visibility;\nuniform vec4 vMetallicReflectanceFactors;\nuniform vec2 vMetallicReflectanceInfos;\nuniform mat4 metallicReflectanceMatrix;\nuniform vec2 vClearCoatParams;\nuniform vec4 vClearCoatRefractionParams;\nuniform vec4 vClearCoatInfos;\nuniform mat4 clearCoatMatrix;\nuniform mat4 clearCoatRoughnessMatrix;\nuniform vec2 vClearCoatBumpInfos;\nuniform vec2 vClearCoatTangentSpaceParams;\nuniform mat4 clearCoatBumpMatrix;\nuniform vec4 vClearCoatTintParams;\nuniform float clearCoatColorAtDistance;\nuniform vec2 vClearCoatTintInfos;\nuniform mat4 clearCoatTintMatrix;\nuniform vec3 vAnisotropy;\nuniform vec2 vAnisotropyInfos;\nuniform mat4 anisotropyMatrix;\nuniform vec4 vSheenColor;\nuniform float vSheenRoughness;\nuniform vec4 vSheenInfos;\nuniform mat4 sheenMatrix;\nuniform mat4 sheenRoughnessMatrix;\nuniform vec3 vRefractionMicrosurfaceInfos;\nuniform vec2 vRefractionFilteringInfo;\nuniform vec4 vRefractionInfos;\nuniform mat4 refractionMatrix;\nuniform vec2 vThicknessInfos;\nuniform mat4 thicknessMatrix;\nuniform vec2 vThicknessParam;\nuniform vec3 vDiffusionDistance;\nuniform vec4 vTintColor;\nuniform vec3 vSubSurfaceIntensity;\nuniform float scatteringDiffusionProfile;\nuniform vec4 vDetailInfos;\nuniform mat4 detailMatrix;\n};\nuniform Scene {\nmat4 viewProjection;\n#ifdef MULTIVIEW\nmat4 viewProjectionR;\n#endif\nmat4 view;\n};`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrUboDeclaration = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrFragmentExtraDeclaration';\nlet shader = `uniform vec4 vEyePosition;\nuniform vec3 vAmbientColor;\nuniform vec4 vCameraInfos;\n\nvarying vec3 vPositionW;\n#if DEBUGMODE>0\nuniform vec2 vDebugMode;\nvarying vec4 vClipSpacePosition;\n#endif\n#ifdef MAINUV1\nvarying vec2 vMainUV1;\n#endif\n#ifdef MAINUV2\nvarying vec2 vMainUV2;\n#endif\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#if defined(USESPHERICALFROMREFLECTIONMAP) && defined(USESPHERICALINVERTEX)\nvarying vec3 vEnvironmentIrradiance;\n#endif\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrFragmentExtraDeclaration = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrFragmentSamplersDeclaration';\nlet shader = `#ifdef ALBEDO\n#if ALBEDODIRECTUV == 1\n#define vAlbedoUV vMainUV1\n#elif ALBEDODIRECTUV == 2\n#define vAlbedoUV vMainUV2\n#else\nvarying vec2 vAlbedoUV;\n#endif\nuniform sampler2D albedoSampler;\n#endif\n#ifdef AMBIENT\n#if AMBIENTDIRECTUV == 1\n#define vAmbientUV vMainUV1\n#elif AMBIENTDIRECTUV == 2\n#define vAmbientUV vMainUV2\n#else\nvarying vec2 vAmbientUV;\n#endif\nuniform sampler2D ambientSampler;\n#endif\n#ifdef OPACITY\n#if OPACITYDIRECTUV == 1\n#define vOpacityUV vMainUV1\n#elif OPACITYDIRECTUV == 2\n#define vOpacityUV vMainUV2\n#else\nvarying vec2 vOpacityUV;\n#endif\nuniform sampler2D opacitySampler;\n#endif\n#ifdef EMISSIVE\n#if EMISSIVEDIRECTUV == 1\n#define vEmissiveUV vMainUV1\n#elif EMISSIVEDIRECTUV == 2\n#define vEmissiveUV vMainUV2\n#else\nvarying vec2 vEmissiveUV;\n#endif\nuniform sampler2D emissiveSampler;\n#endif\n#ifdef LIGHTMAP\n#if LIGHTMAPDIRECTUV == 1\n#define vLightmapUV vMainUV1\n#elif LIGHTMAPDIRECTUV == 2\n#define vLightmapUV vMainUV2\n#else\nvarying vec2 vLightmapUV;\n#endif\nuniform sampler2D lightmapSampler;\n#endif\n#ifdef REFLECTIVITY\n#if REFLECTIVITYDIRECTUV == 1\n#define vReflectivityUV vMainUV1\n#elif REFLECTIVITYDIRECTUV == 2\n#define vReflectivityUV vMainUV2\n#else\nvarying vec2 vReflectivityUV;\n#endif\nuniform sampler2D reflectivitySampler;\n#endif\n#ifdef MICROSURFACEMAP\n#if MICROSURFACEMAPDIRECTUV == 1\n#define vMicroSurfaceSamplerUV vMainUV1\n#elif MICROSURFACEMAPDIRECTUV == 2\n#define vMicroSurfaceSamplerUV vMainUV2\n#else\nvarying vec2 vMicroSurfaceSamplerUV;\n#endif\nuniform sampler2D microSurfaceSampler;\n#endif\n#ifdef METALLIC_REFLECTANCE\n#if METALLIC_REFLECTANCEDIRECTUV == 1\n#define vMetallicReflectanceUV vMainUV1\n#elif METALLIC_REFLECTANCEDIRECTUV == 2\n#define vMetallicReflectanceUV vMainUV2\n#else\nvarying vec2 vMetallicReflectanceUV;\n#endif\nuniform sampler2D metallicReflectanceSampler;\n#endif\n#ifdef CLEARCOAT\n#if defined(CLEARCOAT_TEXTURE)\n#if CLEARCOAT_TEXTUREDIRECTUV == 1\n#define vClearCoatUV vMainUV1\n#elif CLEARCOAT_TEXTUREDIRECTUV == 2\n#define vClearCoatUV vMainUV2\n#else\nvarying vec2 vClearCoatUV;\n#endif\n#endif\n#if defined(CLEARCOAT_TEXTURE_ROUGHNESS)\n#if CLEARCOAT_TEXTURE_ROUGHNESSDIRECTUV == 1\n#define vClearCoatRoughnessUV vMainUV1\n#elif CLEARCOAT_TEXTURE_ROUGHNESSDIRECTUV == 2\n#define vClearCoatRoughnessUV vMainUV2\n#else\nvarying vec2 vClearCoatRoughnessUV;\n#endif\n#endif\n#ifdef CLEARCOAT_TEXTURE\nuniform sampler2D clearCoatSampler;\n#endif\n#if defined(CLEARCOAT_TEXTURE_ROUGHNESS) && !defined(CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL)\nuniform sampler2D clearCoatRoughnessSampler;\n#endif\n#ifdef CLEARCOAT_BUMP\n#if CLEARCOAT_BUMPDIRECTUV == 1\n#define vClearCoatBumpUV vMainUV1\n#elif CLEARCOAT_BUMPDIRECTUV == 2\n#define vClearCoatBumpUV vMainUV2\n#else\nvarying vec2 vClearCoatBumpUV;\n#endif\nuniform sampler2D clearCoatBumpSampler;\n#endif\n#ifdef CLEARCOAT_TINT_TEXTURE\n#if CLEARCOAT_TINT_TEXTUREDIRECTUV == 1\n#define vClearCoatTintUV vMainUV1\n#elif CLEARCOAT_TINT_TEXTUREDIRECTUV == 2\n#define vClearCoatTintUV vMainUV2\n#else\nvarying vec2 vClearCoatTintUV;\n#endif\nuniform sampler2D clearCoatTintSampler;\n#endif\n#endif\n#ifdef SHEEN\n#ifdef SHEEN_TEXTURE\n#if SHEEN_TEXTUREDIRECTUV == 1\n#define vSheenUV vMainUV1\n#elif SHEEN_TEXTUREDIRECTUV == 2\n#define vSheenUV vMainUV2\n#else\nvarying vec2 vSheenUV;\n#endif\n#endif\n#ifdef SHEEN_TEXTURE_ROUGHNESS\n#if SHEEN_TEXTURE_ROUGHNESSDIRECTUV == 1\n#define vSheenRoughnessUV vMainUV1\n#elif SHEEN_TEXTURE_ROUGHNESSDIRECTUV == 2\n#define vSheenRoughnessUV vMainUV2\n#else\nvarying vec2 vSheenRoughnessUV;\n#endif\n#endif\n#ifdef SHEEN_TEXTURE\nuniform sampler2D sheenSampler;\n#endif\n#if defined(SHEEN_ROUGHNESS) && defined(SHEEN_TEXTURE_ROUGHNESS) && !defined(SHEEN_TEXTURE_ROUGHNESS_IDENTICAL)\nuniform sampler2D sheenRoughnessSampler;\n#endif\n#endif\n#ifdef ANISOTROPIC\n#ifdef ANISOTROPIC_TEXTURE\n#if ANISOTROPIC_TEXTUREDIRECTUV == 1\n#define vAnisotropyUV vMainUV1\n#elif ANISOTROPIC_TEXTUREDIRECTUV == 2\n#define vAnisotropyUV vMainUV2\n#else\nvarying vec2 vAnisotropyUV;\n#endif\nuniform sampler2D anisotropySampler;\n#endif\n#endif\n\n#ifdef REFLECTION\n#ifdef REFLECTIONMAP_3D\n#define sampleReflection(s,c) textureCube(s,c)\nuniform samplerCube reflectionSampler;\n#ifdef LODBASEDMICROSFURACE\n#define sampleReflectionLod(s,c,l) textureCubeLodEXT(s,c,l)\n#else\nuniform samplerCube reflectionSamplerLow;\nuniform samplerCube reflectionSamplerHigh;\n#endif\n#ifdef USEIRRADIANCEMAP\nuniform samplerCube irradianceSampler;\n#endif\n#else\n#define sampleReflection(s,c) texture2D(s,c)\nuniform sampler2D reflectionSampler;\n#ifdef LODBASEDMICROSFURACE\n#define sampleReflectionLod(s,c,l) texture2DLodEXT(s,c,l)\n#else\nuniform sampler2D reflectionSamplerLow;\nuniform sampler2D reflectionSamplerHigh;\n#endif\n#ifdef USEIRRADIANCEMAP\nuniform sampler2D irradianceSampler;\n#endif\n#endif\n#ifdef REFLECTIONMAP_SKYBOX\nvarying vec3 vPositionUVW;\n#else\n#if defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED) || defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\nvarying vec3 vDirectionW;\n#endif\n#endif\n#endif\n#ifdef ENVIRONMENTBRDF\nuniform sampler2D environmentBrdfSampler;\n#endif\n\n#ifdef SUBSURFACE\n#ifdef SS_REFRACTION\n#ifdef SS_REFRACTIONMAP_3D\n#define sampleRefraction(s,c) textureCube(s,c)\nuniform samplerCube refractionSampler;\n#ifdef LODBASEDMICROSFURACE\n#define sampleRefractionLod(s,c,l) textureCubeLodEXT(s,c,l)\n#else\nuniform samplerCube refractionSamplerLow;\nuniform samplerCube refractionSamplerHigh;\n#endif\n#else\n#define sampleRefraction(s,c) texture2D(s,c)\nuniform sampler2D refractionSampler;\n#ifdef LODBASEDMICROSFURACE\n#define sampleRefractionLod(s,c,l) texture2DLodEXT(s,c,l)\n#else\nuniform sampler2D refractionSamplerLow;\nuniform sampler2D refractionSamplerHigh;\n#endif\n#endif\n#endif\n#ifdef SS_THICKNESSANDMASK_TEXTURE\n#if SS_THICKNESSANDMASK_TEXTUREDIRECTUV == 1\n#define vThicknessUV vMainUV1\n#elif SS_THICKNESSANDMASK_TEXTUREDIRECTUV == 2\n#define vThicknessUV vMainUV2\n#else\nvarying vec2 vThicknessUV;\n#endif\nuniform sampler2D thicknessSampler;\n#endif\n#endif`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrFragmentSamplersDeclaration = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrHelperFunctions';\nlet shader = `\n#define RECIPROCAL_PI2 0.15915494\n#define RECIPROCAL_PI 0.31830988618\n\n#define MINIMUMVARIANCE 0.0005\nfloat convertRoughnessToAverageSlope(float roughness)\n{\n\nreturn square(roughness)+MINIMUMVARIANCE;\n}\nfloat fresnelGrazingReflectance(float reflectance0) {\n\n\nfloat reflectance90=saturate(reflectance0*25.0);\nreturn reflectance90;\n}\nvec2 getAARoughnessFactors(vec3 normalVector) {\n#ifdef SPECULARAA\nvec3 nDfdx=dFdx(normalVector.xyz);\nvec3 nDfdy=dFdy(normalVector.xyz);\nfloat slopeSquare=max(dot(nDfdx,nDfdx),dot(nDfdy,nDfdy));\n\nfloat geometricRoughnessFactor=pow(saturate(slopeSquare),0.333);\n\nfloat geometricAlphaGFactor=sqrt(slopeSquare);\n\ngeometricAlphaGFactor*=0.75;\nreturn vec2(geometricRoughnessFactor,geometricAlphaGFactor);\n#else\nreturn vec2(0.);\n#endif\n}\n#ifdef ANISOTROPIC\n\n\nvec2 getAnisotropicRoughness(float alphaG,float anisotropy) {\nfloat alphaT=max(alphaG*(1.0+anisotropy),MINIMUMVARIANCE);\nfloat alphaB=max(alphaG*(1.0-anisotropy),MINIMUMVARIANCE);\nreturn vec2(alphaT,alphaB);\n}\n\n\nvec3 getAnisotropicBentNormals(const vec3 T,const vec3 B,const vec3 N,const vec3 V,float anisotropy) {\nvec3 anisotropicFrameDirection=anisotropy>=0.0 ? B : T;\nvec3 anisotropicFrameTangent=cross(normalize(anisotropicFrameDirection),V);\nvec3 anisotropicFrameNormal=cross(anisotropicFrameTangent,anisotropicFrameDirection);\nvec3 anisotropicNormal=normalize(mix(N,anisotropicFrameNormal,abs(anisotropy)));\nreturn anisotropicNormal;\n\n}\n#endif\n#if defined(CLEARCOAT) || defined(SS_REFRACTION)\n\n\n\nvec3 cocaLambert(vec3 alpha,float distance) {\nreturn exp(-alpha*distance);\n}\n\nvec3 cocaLambert(float NdotVRefract,float NdotLRefract,vec3 alpha,float thickness) {\nreturn cocaLambert(alpha,(thickness*((NdotLRefract+NdotVRefract)/(NdotLRefract*NdotVRefract))));\n}\n\nvec3 computeColorAtDistanceInMedia(vec3 color,float distance) {\nreturn -log(color)/distance;\n}\nvec3 computeClearCoatAbsorption(float NdotVRefract,float NdotLRefract,vec3 clearCoatColor,float clearCoatThickness,float clearCoatIntensity) {\nvec3 clearCoatAbsorption=mix(vec3(1.0),\ncocaLambert(NdotVRefract,NdotLRefract,clearCoatColor,clearCoatThickness),\nclearCoatIntensity);\nreturn clearCoatAbsorption;\n}\n#endif\n\n\n\n\n#ifdef MICROSURFACEAUTOMATIC\nfloat computeDefaultMicroSurface(float microSurface,vec3 reflectivityColor)\n{\nconst float kReflectivityNoAlphaWorkflow_SmoothnessMax=0.95;\nfloat reflectivityLuminance=getLuminance(reflectivityColor);\nfloat reflectivityLuma=sqrt(reflectivityLuminance);\nmicroSurface=reflectivityLuma*kReflectivityNoAlphaWorkflow_SmoothnessMax;\nreturn microSurface;\n}\n#endif`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrHelperFunctions = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'harmonicsFunctions';\nlet shader = `#ifdef USESPHERICALFROMREFLECTIONMAP\n#ifdef SPHERICAL_HARMONICS\nuniform vec3 vSphericalL00;\nuniform vec3 vSphericalL1_1;\nuniform vec3 vSphericalL10;\nuniform vec3 vSphericalL11;\nuniform vec3 vSphericalL2_2;\nuniform vec3 vSphericalL2_1;\nuniform vec3 vSphericalL20;\nuniform vec3 vSphericalL21;\nuniform vec3 vSphericalL22;\n\n\n\n\n\n\n\nvec3 computeEnvironmentIrradiance(vec3 normal) {\nreturn vSphericalL00\n+vSphericalL1_1*(normal.y)\n+vSphericalL10*(normal.z)\n+vSphericalL11*(normal.x)\n+vSphericalL2_2*(normal.y*normal.x)\n+vSphericalL2_1*(normal.y*normal.z)\n+vSphericalL20*((3.0*normal.z*normal.z)-1.0)\n+vSphericalL21*(normal.z*normal.x)\n+vSphericalL22*(normal.x*normal.x-(normal.y*normal.y));\n}\n#else\nuniform vec3 vSphericalX;\nuniform vec3 vSphericalY;\nuniform vec3 vSphericalZ;\nuniform vec3 vSphericalXX_ZZ;\nuniform vec3 vSphericalYY_ZZ;\nuniform vec3 vSphericalZZ;\nuniform vec3 vSphericalXY;\nuniform vec3 vSphericalYZ;\nuniform vec3 vSphericalZX;\n\nvec3 computeEnvironmentIrradiance(vec3 normal) {\n\n\n\n\n\n\n\n\n\nfloat Nx=normal.x;\nfloat Ny=normal.y;\nfloat Nz=normal.z;\nvec3 C1=vSphericalZZ.rgb;\nvec3 Cx=vSphericalX.rgb;\nvec3 Cy=vSphericalY.rgb;\nvec3 Cz=vSphericalZ.rgb;\nvec3 Cxx_zz=vSphericalXX_ZZ.rgb;\nvec3 Cyy_zz=vSphericalYY_ZZ.rgb;\nvec3 Cxy=vSphericalXY.rgb;\nvec3 Cyz=vSphericalYZ.rgb;\nvec3 Czx=vSphericalZX.rgb;\nvec3 a1=Cyy_zz*Ny+Cy;\nvec3 a2=Cyz*Nz+a1;\nvec3 b1=Czx*Nz+Cx;\nvec3 b2=Cxy*Ny+b1;\nvec3 b3=Cxx_zz*Nx+b2;\nvec3 t1=Cz*Nz+C1;\nvec3 t2=a2*Ny+t1;\nvec3 t3=b3*Nx+t2;\nreturn t3;\n}\n#endif\n#endif`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var harmonicsFunctions = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrDirectLightingSetupFunctions';\nlet shader = `\nstruct preLightingInfo\n{\n\nvec3 lightOffset;\nfloat lightDistanceSquared;\nfloat lightDistance;\n\nfloat attenuation;\n\nvec3 L;\nvec3 H;\nfloat NdotV;\nfloat NdotLUnclamped;\nfloat NdotL;\nfloat VdotH;\nfloat roughness;\n};\npreLightingInfo computePointAndSpotPreLightingInfo(vec4 lightData,vec3 V,vec3 N) {\npreLightingInfo result;\n\nresult.lightOffset=lightData.xyz-vPositionW;\nresult.lightDistanceSquared=dot(result.lightOffset,result.lightOffset);\n\nresult.lightDistance=sqrt(result.lightDistanceSquared);\n\nresult.L=normalize(result.lightOffset);\nresult.H=normalize(V+result.L);\nresult.VdotH=saturate(dot(V,result.H));\nresult.NdotLUnclamped=dot(N,result.L);\nresult.NdotL=saturateEps(result.NdotLUnclamped);\nreturn result;\n}\npreLightingInfo computeDirectionalPreLightingInfo(vec4 lightData,vec3 V,vec3 N) {\npreLightingInfo result;\n\nresult.lightDistance=length(-lightData.xyz);\n\nresult.L=normalize(-lightData.xyz);\nresult.H=normalize(V+result.L);\nresult.VdotH=saturate(dot(V,result.H));\nresult.NdotLUnclamped=dot(N,result.L);\nresult.NdotL=saturateEps(result.NdotLUnclamped);\nreturn result;\n}\npreLightingInfo computeHemisphericPreLightingInfo(vec4 lightData,vec3 V,vec3 N) {\npreLightingInfo result;\n\n\nresult.NdotL=dot(N,lightData.xyz)*0.5+0.5;\nresult.NdotL=saturateEps(result.NdotL);\nresult.NdotLUnclamped=result.NdotL;\n#ifdef SPECULARTERM\nresult.L=normalize(lightData.xyz);\nresult.H=normalize(V+result.L);\nresult.VdotH=saturate(dot(V,result.H));\n#endif\nreturn result;\n}`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrDirectLightingSetupFunctions = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrDirectLightingFalloffFunctions';\nlet shader = `float computeDistanceLightFalloff_Standard(vec3 lightOffset,float range)\n{\nreturn max(0.,1.0-length(lightOffset)/range);\n}\nfloat computeDistanceLightFalloff_Physical(float lightDistanceSquared)\n{\nreturn 1.0/maxEps(lightDistanceSquared);\n}\nfloat computeDistanceLightFalloff_GLTF(float lightDistanceSquared,float inverseSquaredRange)\n{\nfloat lightDistanceFalloff=1.0/maxEps(lightDistanceSquared);\nfloat factor=lightDistanceSquared*inverseSquaredRange;\nfloat attenuation=saturate(1.0-factor*factor);\nattenuation*=attenuation;\n\nlightDistanceFalloff*=attenuation;\nreturn lightDistanceFalloff;\n}\nfloat computeDistanceLightFalloff(vec3 lightOffset,float lightDistanceSquared,float range,float inverseSquaredRange)\n{\n#ifdef USEPHYSICALLIGHTFALLOFF\nreturn computeDistanceLightFalloff_Physical(lightDistanceSquared);\n#elif defined(USEGLTFLIGHTFALLOFF)\nreturn computeDistanceLightFalloff_GLTF(lightDistanceSquared,inverseSquaredRange);\n#else\nreturn computeDistanceLightFalloff_Standard(lightOffset,range);\n#endif\n}\nfloat computeDirectionalLightFalloff_Standard(vec3 lightDirection,vec3 directionToLightCenterW,float cosHalfAngle,float exponent)\n{\nfloat falloff=0.0;\nfloat cosAngle=maxEps(dot(-lightDirection,directionToLightCenterW));\nif (cosAngle>=cosHalfAngle)\n{\nfalloff=max(0.,pow(cosAngle,exponent));\n}\nreturn falloff;\n}\nfloat computeDirectionalLightFalloff_Physical(vec3 lightDirection,vec3 directionToLightCenterW,float cosHalfAngle)\n{\nconst float kMinusLog2ConeAngleIntensityRatio=6.64385618977;\n\n\n\n\n\nfloat concentrationKappa=kMinusLog2ConeAngleIntensityRatio/(1.0-cosHalfAngle);\n\n\nvec4 lightDirectionSpreadSG=vec4(-lightDirection*concentrationKappa,-concentrationKappa);\nfloat falloff=exp2(dot(vec4(directionToLightCenterW,1.0),lightDirectionSpreadSG));\nreturn falloff;\n}\nfloat computeDirectionalLightFalloff_GLTF(vec3 lightDirection,vec3 directionToLightCenterW,float lightAngleScale,float lightAngleOffset)\n{\n\n\n\nfloat cd=dot(-lightDirection,directionToLightCenterW);\nfloat falloff=saturate(cd*lightAngleScale+lightAngleOffset);\n\nfalloff*=falloff;\nreturn falloff;\n}\nfloat computeDirectionalLightFalloff(vec3 lightDirection,vec3 directionToLightCenterW,float cosHalfAngle,float exponent,float lightAngleScale,float lightAngleOffset)\n{\n#ifdef USEPHYSICALLIGHTFALLOFF\nreturn computeDirectionalLightFalloff_Physical(lightDirection,directionToLightCenterW,cosHalfAngle);\n#elif defined(USEGLTFLIGHTFALLOFF)\nreturn computeDirectionalLightFalloff_GLTF(lightDirection,directionToLightCenterW,lightAngleScale,lightAngleOffset);\n#else\nreturn computeDirectionalLightFalloff_Standard(lightDirection,directionToLightCenterW,cosHalfAngle,exponent);\n#endif\n}`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrDirectLightingFalloffFunctions = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrDirectLightingFunctions';\nlet shader = `#define CLEARCOATREFLECTANCE90 1.0\n\nstruct lightingInfo\n{\nvec3 diffuse;\n#ifdef SPECULARTERM\nvec3 specular;\n#endif\n#ifdef CLEARCOAT\n\n\nvec4 clearCoat;\n#endif\n#ifdef SHEEN\nvec3 sheen;\n#endif\n};\n\nfloat adjustRoughnessFromLightProperties(float roughness,float lightRadius,float lightDistance) {\n#if defined(USEPHYSICALLIGHTFALLOFF) || defined(USEGLTFLIGHTFALLOFF)\n\nfloat lightRoughness=lightRadius/lightDistance;\n\nfloat totalRoughness=saturate(lightRoughness+roughness);\nreturn totalRoughness;\n#else\nreturn roughness;\n#endif\n}\nvec3 computeHemisphericDiffuseLighting(preLightingInfo info,vec3 lightColor,vec3 groundColor) {\nreturn mix(groundColor,lightColor,info.NdotL);\n}\nvec3 computeDiffuseLighting(preLightingInfo info,vec3 lightColor) {\nfloat diffuseTerm=diffuseBRDF_Burley(info.NdotL,info.NdotV,info.VdotH,info.roughness);\nreturn diffuseTerm*info.attenuation*info.NdotL*lightColor;\n}\n#define inline\nvec3 computeProjectionTextureDiffuseLighting(sampler2D projectionLightSampler,mat4 textureProjectionMatrix){\nvec4 strq=textureProjectionMatrix*vec4(vPositionW,1.0);\nstrq/=strq.w;\nvec3 textureColor=texture2D(projectionLightSampler,strq.xy).rgb;\nreturn toLinearSpace(textureColor);\n}\n#ifdef SS_TRANSLUCENCY\nvec3 computeDiffuseAndTransmittedLighting(preLightingInfo info,vec3 lightColor,vec3 transmittance) {\nfloat NdotL=absEps(info.NdotLUnclamped);\n\nfloat wrapNdotL=computeWrappedDiffuseNdotL(NdotL,0.02);\n\nfloat trAdapt=step(0.,info.NdotLUnclamped);\nvec3 transmittanceNdotL=mix(transmittance*wrapNdotL,vec3(wrapNdotL),trAdapt);\nfloat diffuseTerm=diffuseBRDF_Burley(NdotL,info.NdotV,info.VdotH,info.roughness);\nreturn diffuseTerm*transmittanceNdotL*info.attenuation*lightColor;\n}\n#endif\n#ifdef SPECULARTERM\nvec3 computeSpecularLighting(preLightingInfo info,vec3 N,vec3 reflectance0,vec3 reflectance90,float geometricRoughnessFactor,vec3 lightColor) {\nfloat NdotH=saturateEps(dot(N,info.H));\nfloat roughness=max(info.roughness,geometricRoughnessFactor);\nfloat alphaG=convertRoughnessToAverageSlope(roughness);\nvec3 fresnel=fresnelSchlickGGX(info.VdotH,reflectance0,reflectance90);\nfloat distribution=normalDistributionFunction_TrowbridgeReitzGGX(NdotH,alphaG);\n#ifdef BRDF_V_HEIGHT_CORRELATED\nfloat smithVisibility=smithVisibility_GGXCorrelated(info.NdotL,info.NdotV,alphaG);\n#else\nfloat smithVisibility=smithVisibility_TrowbridgeReitzGGXFast(info.NdotL,info.NdotV,alphaG);\n#endif\nvec3 specTerm=fresnel*distribution*smithVisibility;\nreturn specTerm*info.attenuation*info.NdotL*lightColor;\n}\n#endif\n#ifdef ANISOTROPIC\nvec3 computeAnisotropicSpecularLighting(preLightingInfo info,vec3 V,vec3 N,vec3 T,vec3 B,float anisotropy,vec3 reflectance0,vec3 reflectance90,float geometricRoughnessFactor,vec3 lightColor) {\nfloat NdotH=saturateEps(dot(N,info.H));\nfloat TdotH=dot(T,info.H);\nfloat BdotH=dot(B,info.H);\nfloat TdotV=dot(T,V);\nfloat BdotV=dot(B,V);\nfloat TdotL=dot(T,info.L);\nfloat BdotL=dot(B,info.L);\nfloat alphaG=convertRoughnessToAverageSlope(info.roughness);\nvec2 alphaTB=getAnisotropicRoughness(alphaG,anisotropy);\nalphaTB=max(alphaTB,square(geometricRoughnessFactor));\nvec3 fresnel=fresnelSchlickGGX(info.VdotH,reflectance0,reflectance90);\nfloat distribution=normalDistributionFunction_BurleyGGX_Anisotropic(NdotH,TdotH,BdotH,alphaTB);\nfloat smithVisibility=smithVisibility_GGXCorrelated_Anisotropic(info.NdotL,info.NdotV,TdotV,BdotV,TdotL,BdotL,alphaTB);\nvec3 specTerm=fresnel*distribution*smithVisibility;\nreturn specTerm*info.attenuation*info.NdotL*lightColor;\n}\n#endif\n#ifdef CLEARCOAT\nvec4 computeClearCoatLighting(preLightingInfo info,vec3 Ncc,float geometricRoughnessFactor,float clearCoatIntensity,vec3 lightColor) {\nfloat NccdotL=saturateEps(dot(Ncc,info.L));\nfloat NccdotH=saturateEps(dot(Ncc,info.H));\nfloat clearCoatRoughness=max(info.roughness,geometricRoughnessFactor);\nfloat alphaG=convertRoughnessToAverageSlope(clearCoatRoughness);\nfloat fresnel=fresnelSchlickGGX(info.VdotH,vClearCoatRefractionParams.x,CLEARCOATREFLECTANCE90);\nfresnel*=clearCoatIntensity;\nfloat distribution=normalDistributionFunction_TrowbridgeReitzGGX(NccdotH,alphaG);\nfloat kelemenVisibility=visibility_Kelemen(info.VdotH);\nfloat clearCoatTerm=fresnel*distribution*kelemenVisibility;\nreturn vec4(\nclearCoatTerm*info.attenuation*NccdotL*lightColor,\n1.0-fresnel\n);\n}\nvec3 computeClearCoatLightingAbsorption(float NdotVRefract,vec3 L,vec3 Ncc,vec3 clearCoatColor,float clearCoatThickness,float clearCoatIntensity) {\nvec3 LRefract=-refract(L,Ncc,vClearCoatRefractionParams.y);\nfloat NdotLRefract=saturateEps(dot(Ncc,LRefract));\nvec3 absorption=computeClearCoatAbsorption(NdotVRefract,NdotLRefract,clearCoatColor,clearCoatThickness,clearCoatIntensity);\nreturn absorption;\n}\n#endif\n#ifdef SHEEN\nvec3 computeSheenLighting(preLightingInfo info,vec3 N,vec3 reflectance0,vec3 reflectance90,float geometricRoughnessFactor,vec3 lightColor) {\nfloat NdotH=saturateEps(dot(N,info.H));\nfloat roughness=max(info.roughness,geometricRoughnessFactor);\nfloat alphaG=convertRoughnessToAverageSlope(roughness);\n\n\nfloat fresnel=1.;\nfloat distribution=normalDistributionFunction_CharlieSheen(NdotH,alphaG);\n\nfloat visibility=visibility_Ashikhmin(info.NdotL,info.NdotV);\n\nfloat sheenTerm=fresnel*distribution*visibility;\nreturn sheenTerm*info.attenuation*info.NdotL*lightColor;\n}\n#endif\n`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrDirectLightingFunctions = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrIBLFunctions';\nlet shader = `#if defined(REFLECTION) || defined(SS_REFRACTION)\nfloat getLodFromAlphaG(float cubeMapDimensionPixels,float microsurfaceAverageSlope) {\nfloat microsurfaceAverageSlopeTexels=cubeMapDimensionPixels*microsurfaceAverageSlope;\nfloat lod=log2(microsurfaceAverageSlopeTexels);\nreturn lod;\n}\nfloat getLinearLodFromRoughness(float cubeMapDimensionPixels,float roughness) {\nfloat lod=log2(cubeMapDimensionPixels)*roughness;\nreturn lod;\n}\n#endif\n#if defined(ENVIRONMENTBRDF) && defined(RADIANCEOCCLUSION)\nfloat environmentRadianceOcclusion(float ambientOcclusion,float NdotVUnclamped) {\n\n\nfloat temp=NdotVUnclamped+ambientOcclusion;\nreturn saturate(square(temp)-1.0+ambientOcclusion);\n}\n#endif\n#if defined(ENVIRONMENTBRDF) && defined(HORIZONOCCLUSION)\nfloat environmentHorizonOcclusion(vec3 view,vec3 normal,vec3 geometricNormal) {\n\nvec3 reflection=reflect(view,normal);\nfloat temp=saturate(1.0+1.1*dot(reflection,geometricNormal));\nreturn square(temp);\n}\n#endif\n\n\n\n\n#if defined(LODINREFLECTIONALPHA) || defined(SS_LODINREFRACTIONALPHA)\n\n\n#define UNPACK_LOD(x) (1.0-x)*255.0\nfloat getLodFromAlphaG(float cubeMapDimensionPixels,float alphaG,float NdotV) {\nfloat microsurfaceAverageSlope=alphaG;\n\n\n\n\n\n\nmicrosurfaceAverageSlope*=sqrt(abs(NdotV));\nreturn getLodFromAlphaG(cubeMapDimensionPixels,microsurfaceAverageSlope);\n}\n#endif`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrIBLFunctions = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrBlockAlbedoOpacity';\nlet shader = `struct albedoOpacityOutParams\n{\nvec3 surfaceAlbedo;\nfloat alpha;\n};\n#define pbr_inline\nvoid albedoOpacityBlock(\nconst in vec4 vAlbedoColor,\n#ifdef ALBEDO\nconst in vec4 albedoTexture,\nconst in vec2 albedoInfos,\n#endif\n#ifdef OPACITY\nconst in vec4 opacityMap,\nconst in vec2 vOpacityInfos,\n#endif\n#ifdef DETAIL\nconst in vec4 detailColor,\nconst in vec4 vDetailInfos,\n#endif\nout albedoOpacityOutParams outParams\n)\n{\n\nvec3 surfaceAlbedo=vAlbedoColor.rgb;\nfloat alpha=vAlbedoColor.a;\n#ifdef ALBEDO\n#if defined(ALPHAFROMALBEDO) || defined(ALPHATEST)\nalpha*=albedoTexture.a;\n#endif\n#ifdef GAMMAALBEDO\nsurfaceAlbedo*=toLinearSpace(albedoTexture.rgb);\n#else\nsurfaceAlbedo*=albedoTexture.rgb;\n#endif\nsurfaceAlbedo*=albedoInfos.y;\n#endif\n#ifdef VERTEXCOLOR\nsurfaceAlbedo*=vColor.rgb;\n#endif\n#ifdef DETAIL\nfloat detailAlbedo=2.0*mix(0.5,detailColor.r,vDetailInfos.y);\nsurfaceAlbedo.rgb=surfaceAlbedo.rgb*detailAlbedo*detailAlbedo;\n#endif\n#define CUSTOM_FRAGMENT_UPDATE_ALBEDO\n\n#ifdef OPACITY\n#ifdef OPACITYRGB\nalpha=getLuminance(opacityMap.rgb);\n#else\nalpha*=opacityMap.a;\n#endif\nalpha*=vOpacityInfos.y;\n#endif\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\n#if !defined(SS_LINKREFRACTIONTOTRANSPARENCY) && !defined(ALPHAFRESNEL)\n#ifdef ALPHATEST\nif (alpha0\nvec4 surfaceMetallicColorMap;\nvec4 surfaceReflectivityColorMap;\nvec2 metallicRoughness;\nvec3 metallicF0;\n#endif\n};\n#define pbr_inline\nvoid reflectivityBlock(\nconst in vec4 vReflectivityColor,\n#ifdef METALLICWORKFLOW\nconst in vec3 surfaceAlbedo,\nconst in vec4 metallicReflectanceFactors,\n#endif\n#ifdef REFLECTIVITY\nconst in vec3 reflectivityInfos,\nconst in vec4 surfaceMetallicOrReflectivityColorMap,\n#endif\n#if defined(METALLICWORKFLOW) && defined(REFLECTIVITY) && defined(AOSTOREINMETALMAPRED)\nconst in vec3 ambientOcclusionColorIn,\n#endif\n#ifdef MICROSURFACEMAP\nconst in vec4 microSurfaceTexel,\n#endif\n#ifdef DETAIL\nconst in vec4 detailColor,\nconst in vec4 vDetailInfos,\n#endif\nout reflectivityOutParams outParams\n)\n{\nfloat microSurface=vReflectivityColor.a;\nvec3 surfaceReflectivityColor=vReflectivityColor.rgb;\n#ifdef METALLICWORKFLOW\nvec2 metallicRoughness=surfaceReflectivityColor.rg;\n#ifdef REFLECTIVITY\n#if DEBUGMODE>0\noutParams.surfaceMetallicColorMap=surfaceMetallicOrReflectivityColorMap;\n#endif\n#ifdef AOSTOREINMETALMAPRED\nvec3 aoStoreInMetalMap=vec3(surfaceMetallicOrReflectivityColorMap.r,surfaceMetallicOrReflectivityColorMap.r,surfaceMetallicOrReflectivityColorMap.r);\noutParams.ambientOcclusionColor=mix(ambientOcclusionColorIn,aoStoreInMetalMap,reflectivityInfos.z);\n#endif\n#ifdef METALLNESSSTOREINMETALMAPBLUE\nmetallicRoughness.r*=surfaceMetallicOrReflectivityColorMap.b;\n#else\nmetallicRoughness.r*=surfaceMetallicOrReflectivityColorMap.r;\n#endif\n#ifdef ROUGHNESSSTOREINMETALMAPALPHA\nmetallicRoughness.g*=surfaceMetallicOrReflectivityColorMap.a;\n#else\n#ifdef ROUGHNESSSTOREINMETALMAPGREEN\nmetallicRoughness.g*=surfaceMetallicOrReflectivityColorMap.g;\n#endif\n#endif\n#endif\n#ifdef DETAIL\nfloat detailRoughness=mix(0.5,detailColor.b,vDetailInfos.w);\nfloat loLerp=mix(0.,metallicRoughness.g,detailRoughness*2.);\nfloat hiLerp=mix(metallicRoughness.g,1.,(detailRoughness-0.5)*2.);\nmetallicRoughness.g=mix(loLerp,hiLerp,step(detailRoughness,0.5));\n#endif\n#ifdef MICROSURFACEMAP\nmetallicRoughness.g*=microSurfaceTexel.r;\n#endif\n#if DEBUGMODE>0\noutParams.metallicRoughness=metallicRoughness;\n#endif\n#define CUSTOM_FRAGMENT_UPDATE_METALLICROUGHNESS\n\nmicroSurface=1.0-metallicRoughness.g;\n\nvec3 baseColor=surfaceAlbedo;\n#ifdef FROSTBITE_REFLECTANCE\n\n\n\n\n\n\noutParams.surfaceAlbedo=baseColor.rgb*(1.0-metallicRoughness.r);\n\nsurfaceReflectivityColor=mix(0.16*reflectance*reflectance,baseColor,metallicRoughness.r);\n#else\nvec3 metallicF0=metallicReflectanceFactors.rgb;\n#if DEBUGMODE>0\noutParams.metallicF0=metallicF0;\n#endif\n\noutParams.surfaceAlbedo=mix(baseColor.rgb*(1.0-metallicF0),vec3(0.,0.,0.),metallicRoughness.r);\n\nsurfaceReflectivityColor=mix(metallicF0,baseColor,metallicRoughness.r);\n#endif\n#else\n#ifdef REFLECTIVITY\nsurfaceReflectivityColor*=surfaceMetallicOrReflectivityColorMap.rgb;\n#if DEBUGMODE>0\noutParams.surfaceReflectivityColorMap=surfaceMetallicOrReflectivityColorMap;\n#endif\n#ifdef MICROSURFACEFROMREFLECTIVITYMAP\nmicroSurface*=surfaceMetallicOrReflectivityColorMap.a;\nmicroSurface*=reflectivityInfos.z;\n#else\n#ifdef MICROSURFACEAUTOMATIC\nmicroSurface*=computeDefaultMicroSurface(microSurface,surfaceReflectivityColor);\n#endif\n#ifdef MICROSURFACEMAP\nmicroSurface*=microSurfaceTexel.r;\n#endif\n#define CUSTOM_FRAGMENT_UPDATE_MICROSURFACE\n#endif\n#endif\n#endif\n\nmicroSurface=saturate(microSurface);\n\nfloat roughness=1.-microSurface;\noutParams.microSurface=microSurface;\noutParams.roughness=roughness;\noutParams.surfaceReflectivityColor=surfaceReflectivityColor;\n}\n`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrBlockReflectivity = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrBlockAmbientOcclusion';\nlet shader = `struct ambientOcclusionOutParams\n{\nvec3 ambientOcclusionColor;\n#if DEBUGMODE>0\nvec3 ambientOcclusionColorMap;\n#endif\n};\n#define pbr_inline\nvoid ambientOcclusionBlock(\n#ifdef AMBIENT\nconst in vec3 ambientOcclusionColorMap_,\nconst in vec4 vAmbientInfos,\n#endif\nout ambientOcclusionOutParams outParams\n)\n{\nvec3 ambientOcclusionColor=vec3(1.,1.,1.);\n#ifdef AMBIENT\nvec3 ambientOcclusionColorMap=ambientOcclusionColorMap_*vAmbientInfos.y;\n#ifdef AMBIENTINGRAYSCALE\nambientOcclusionColorMap=vec3(ambientOcclusionColorMap.r,ambientOcclusionColorMap.r,ambientOcclusionColorMap.r);\n#endif\nambientOcclusionColor=mix(ambientOcclusionColor,ambientOcclusionColorMap,vAmbientInfos.z);\n#if DEBUGMODE>0\noutParams.ambientOcclusionColorMap=ambientOcclusionColorMap;\n#endif\n#endif\noutParams.ambientOcclusionColor=ambientOcclusionColor;\n}\n`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrBlockAmbientOcclusion = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrBlockAlphaFresnel';\nlet shader = `#ifdef ALPHAFRESNEL\n#if defined(ALPHATEST) || defined(ALPHABLEND)\nstruct alphaFresnelOutParams\n{\nfloat alpha;\n};\n#define pbr_inline\nvoid alphaFresnelBlock(\nconst in vec3 normalW,\nconst in vec3 viewDirectionW,\nconst in float alpha,\nconst in float microSurface,\nout alphaFresnelOutParams outParams\n)\n{\n\n\n\nfloat opacityPerceptual=alpha;\n#ifdef LINEARALPHAFRESNEL\nfloat opacity0=opacityPerceptual;\n#else\nfloat opacity0=opacityPerceptual*opacityPerceptual;\n#endif\nfloat opacity90=fresnelGrazingReflectance(opacity0);\nvec3 normalForward=faceforward(normalW,-viewDirectionW,normalW);\n\noutParams.alpha=getReflectanceFromAnalyticalBRDFLookup_Jones(saturate(dot(viewDirectionW,normalForward)),vec3(opacity0),vec3(opacity90),sqrt(microSurface)).x;\n#ifdef ALPHATEST\nif (outParams.alpha0\nvec3 anisotropyMapData;\n#endif\n};\n#define pbr_inline\nvoid anisotropicBlock(\nconst in vec3 vAnisotropy,\n#ifdef ANISOTROPIC_TEXTURE\nconst in vec3 anisotropyMapData,\n#endif\nconst in mat3 TBN,\nconst in vec3 normalW,\nconst in vec3 viewDirectionW,\nout anisotropicOutParams outParams\n)\n{\nfloat anisotropy=vAnisotropy.b;\nvec3 anisotropyDirection=vec3(vAnisotropy.xy,0.);\n#ifdef ANISOTROPIC_TEXTURE\nanisotropy*=anisotropyMapData.b;\nanisotropyDirection.rg*=anisotropyMapData.rg*2.0-1.0;\n#if DEBUGMODE>0\noutParams.anisotropyMapData=anisotropyMapData;\n#endif\n#endif\nmat3 anisoTBN=mat3(normalize(TBN[0]),normalize(TBN[1]),normalize(TBN[2]));\nvec3 anisotropicTangent=normalize(anisoTBN*anisotropyDirection);\nvec3 anisotropicBitangent=normalize(cross(anisoTBN[2],anisotropicTangent));\noutParams.anisotropy=anisotropy;\noutParams.anisotropicTangent=anisotropicTangent;\noutParams.anisotropicBitangent=anisotropicBitangent;\noutParams.anisotropicNormal=getAnisotropicBentNormals(anisotropicTangent,anisotropicBitangent,normalW,viewDirectionW,anisotropy);\n}\n#endif\n`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrBlockAnisotropic = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrBlockReflection';\nlet shader = `#ifdef REFLECTION\nstruct reflectionOutParams\n{\nvec4 environmentRadiance;\nvec3 environmentIrradiance;\n#ifdef REFLECTIONMAP_3D\nvec3 reflectionCoords;\n#else\nvec2 reflectionCoords;\n#endif\n#ifdef SS_TRANSLUCENCY\n#ifdef USESPHERICALFROMREFLECTIONMAP\n#if !defined(NORMAL) || !defined(USESPHERICALINVERTEX)\nvec3 irradianceVector;\n#endif\n#endif\n#endif\n};\n#define pbr_inline\nvoid createReflectionCoords(\nconst in vec3 vPositionW,\nconst in vec3 normalW,\n#ifdef ANISOTROPIC\nconst in anisotropicOutParams anisotropicOut,\n#endif\n#ifdef REFLECTIONMAP_3D\nout vec3 reflectionCoords\n#else\nout vec2 reflectionCoords\n#endif\n)\n{\n#ifdef ANISOTROPIC\nvec3 reflectionVector=computeReflectionCoords(vec4(vPositionW,1.0),anisotropicOut.anisotropicNormal);\n#else\nvec3 reflectionVector=computeReflectionCoords(vec4(vPositionW,1.0),normalW);\n#endif\n#ifdef REFLECTIONMAP_OPPOSITEZ\nreflectionVector.z*=-1.0;\n#endif\n\n#ifdef REFLECTIONMAP_3D\nreflectionCoords=reflectionVector;\n#else\nreflectionCoords=reflectionVector.xy;\n#ifdef REFLECTIONMAP_PROJECTION\nreflectionCoords/=reflectionVector.z;\n#endif\nreflectionCoords.y=1.0-reflectionCoords.y;\n#endif\n}\n#define pbr_inline\n#define inline\nvoid sampleReflectionTexture(\nconst in float alphaG,\nconst in vec3 vReflectionMicrosurfaceInfos,\nconst in vec2 vReflectionInfos,\nconst in vec3 vReflectionColor,\n#if defined(LODINREFLECTIONALPHA) && !defined(REFLECTIONMAP_SKYBOX)\nconst in float NdotVUnclamped,\n#endif\n#ifdef LINEARSPECULARREFLECTION\nconst in float roughness,\n#endif\n#ifdef REFLECTIONMAP_3D\nconst in samplerCube reflectionSampler,\nconst vec3 reflectionCoords,\n#else\nconst in sampler2D reflectionSampler,\nconst vec2 reflectionCoords,\n#endif\n#ifndef LODBASEDMICROSFURACE\n#ifdef REFLECTIONMAP_3D\nconst in samplerCube reflectionSamplerLow,\nconst in samplerCube reflectionSamplerHigh,\n#else\nconst in sampler2D reflectionSamplerLow,\nconst in sampler2D reflectionSamplerHigh,\n#endif\n#endif\n#ifdef REALTIME_FILTERING\nconst in vec2 vReflectionFilteringInfo,\n#endif\nout vec4 environmentRadiance\n)\n{\n\n#if defined(LODINREFLECTIONALPHA) && !defined(REFLECTIONMAP_SKYBOX)\nfloat reflectionLOD=getLodFromAlphaG(vReflectionMicrosurfaceInfos.x,alphaG,NdotVUnclamped);\n#elif defined(LINEARSPECULARREFLECTION)\nfloat reflectionLOD=getLinearLodFromRoughness(vReflectionMicrosurfaceInfos.x,roughness);\n#else\nfloat reflectionLOD=getLodFromAlphaG(vReflectionMicrosurfaceInfos.x,alphaG);\n#endif\n#ifdef LODBASEDMICROSFURACE\n\nreflectionLOD=reflectionLOD*vReflectionMicrosurfaceInfos.y+vReflectionMicrosurfaceInfos.z;\n#ifdef LODINREFLECTIONALPHA\n\n\n\n\n\n\n\n\n\nfloat automaticReflectionLOD=UNPACK_LOD(sampleReflection(reflectionSampler,reflectionCoords).a);\nfloat requestedReflectionLOD=max(automaticReflectionLOD,reflectionLOD);\n#else\nfloat requestedReflectionLOD=reflectionLOD;\n#endif\n#ifdef REALTIME_FILTERING\nenvironmentRadiance=vec4(radiance(alphaG,reflectionSampler,reflectionCoords,vReflectionFilteringInfo),1.0);\n#else\nenvironmentRadiance=sampleReflectionLod(reflectionSampler,reflectionCoords,reflectionLOD);\n#endif\n#else\nfloat lodReflectionNormalized=saturate(reflectionLOD/log2(vReflectionMicrosurfaceInfos.x));\nfloat lodReflectionNormalizedDoubled=lodReflectionNormalized*2.0;\nvec4 environmentMid=sampleReflection(reflectionSampler,reflectionCoords);\nif (lodReflectionNormalizedDoubled<1.0){\nenvironmentRadiance=mix(\nsampleReflection(reflectionSamplerHigh,reflectionCoords),\nenvironmentMid,\nlodReflectionNormalizedDoubled\n);\n} else {\nenvironmentRadiance=mix(\nenvironmentMid,\nsampleReflection(reflectionSamplerLow,reflectionCoords),\nlodReflectionNormalizedDoubled-1.0\n);\n}\n#endif\n#ifdef RGBDREFLECTION\nenvironmentRadiance.rgb=fromRGBD(environmentRadiance);\n#endif\n#ifdef GAMMAREFLECTION\nenvironmentRadiance.rgb=toLinearSpace(environmentRadiance.rgb);\n#endif\n\nenvironmentRadiance.rgb*=vReflectionInfos.x;\nenvironmentRadiance.rgb*=vReflectionColor.rgb;\n}\n#define pbr_inline\n#define inline\nvoid reflectionBlock(\nconst in vec3 vPositionW,\nconst in vec3 normalW,\nconst in float alphaG,\nconst in vec3 vReflectionMicrosurfaceInfos,\nconst in vec2 vReflectionInfos,\nconst in vec3 vReflectionColor,\n#ifdef ANISOTROPIC\nconst in anisotropicOutParams anisotropicOut,\n#endif\n#if defined(LODINREFLECTIONALPHA) && !defined(REFLECTIONMAP_SKYBOX)\nconst in float NdotVUnclamped,\n#endif\n#ifdef LINEARSPECULARREFLECTION\nconst in float roughness,\n#endif\n#ifdef REFLECTIONMAP_3D\nconst in samplerCube reflectionSampler,\n#else\nconst in sampler2D reflectionSampler,\n#endif\n#if defined(NORMAL) && defined(USESPHERICALINVERTEX)\nconst in vec3 vEnvironmentIrradiance,\n#endif\n#ifdef USESPHERICALFROMREFLECTIONMAP\n#if !defined(NORMAL) || !defined(USESPHERICALINVERTEX)\nconst in mat4 reflectionMatrix,\n#endif\n#endif\n#ifdef USEIRRADIANCEMAP\n#ifdef REFLECTIONMAP_3D\nconst in samplerCube irradianceSampler,\n#else\nconst in sampler2D irradianceSampler,\n#endif\n#endif\n#ifndef LODBASEDMICROSFURACE\n#ifdef REFLECTIONMAP_3D\nconst in samplerCube reflectionSamplerLow,\nconst in samplerCube reflectionSamplerHigh,\n#else\nconst in sampler2D reflectionSamplerLow,\nconst in sampler2D reflectionSamplerHigh,\n#endif\n#endif\n#ifdef REALTIME_FILTERING\nconst in vec2 vReflectionFilteringInfo,\n#endif\nout reflectionOutParams outParams\n)\n{\n\nvec4 environmentRadiance=vec4(0.,0.,0.,0.);\n#ifdef REFLECTIONMAP_3D\nvec3 reflectionCoords=vec3(0.);\n#else\nvec2 reflectionCoords=vec2(0.);\n#endif\ncreateReflectionCoords(\nvPositionW,\nnormalW,\n#ifdef ANISOTROPIC\nanisotropicOut,\n#endif\nreflectionCoords\n);\nsampleReflectionTexture(\nalphaG,\nvReflectionMicrosurfaceInfos,\nvReflectionInfos,\nvReflectionColor,\n#if defined(LODINREFLECTIONALPHA) && !defined(REFLECTIONMAP_SKYBOX)\nNdotVUnclamped,\n#endif\n#ifdef LINEARSPECULARREFLECTION\nroughness,\n#endif\n#ifdef REFLECTIONMAP_3D\nreflectionSampler,\nreflectionCoords,\n#else\nreflectionSampler,\nreflectionCoords,\n#endif\n#ifndef LODBASEDMICROSFURACE\nreflectionSamplerLow,\nreflectionSamplerHigh,\n#endif\n#ifdef REALTIME_FILTERING\nvReflectionFilteringInfo,\n#endif\nenvironmentRadiance\n);\n\nvec3 environmentIrradiance=vec3(0.,0.,0.);\n#ifdef USESPHERICALFROMREFLECTIONMAP\n#if defined(NORMAL) && defined(USESPHERICALINVERTEX)\nenvironmentIrradiance=vEnvironmentIrradiance;\n#else\n#ifdef ANISOTROPIC\nvec3 irradianceVector=vec3(reflectionMatrix*vec4(anisotropicOut.anisotropicNormal,0)).xyz;\n#else\nvec3 irradianceVector=vec3(reflectionMatrix*vec4(normalW,0)).xyz;\n#endif\n#ifdef REFLECTIONMAP_OPPOSITEZ\nirradianceVector.z*=-1.0;\n#endif\n#ifdef INVERTCUBICMAP\nirradianceVector.y*=-1.0;\n#endif\n#if defined(REALTIME_FILTERING)\nenvironmentIrradiance=irradiance(reflectionSampler,irradianceVector,vReflectionFilteringInfo);\n#else\nenvironmentIrradiance=computeEnvironmentIrradiance(irradianceVector);\n#endif\n#ifdef SS_TRANSLUCENCY\noutParams.irradianceVector=irradianceVector;\n#endif\n#endif\n#elif defined(USEIRRADIANCEMAP)\nvec4 environmentIrradiance4=sampleReflection(irradianceSampler,reflectionCoords);\nenvironmentIrradiance=environmentIrradiance4.rgb;\n#ifdef RGBDREFLECTION\nenvironmentIrradiance.rgb=fromRGBD(environmentIrradiance4);\n#endif\n#ifdef GAMMAREFLECTION\nenvironmentIrradiance.rgb=toLinearSpace(environmentIrradiance.rgb);\n#endif\n#endif\nenvironmentIrradiance*=vReflectionColor.rgb;\noutParams.environmentRadiance=environmentRadiance;\noutParams.environmentIrradiance=environmentIrradiance;\noutParams.reflectionCoords=reflectionCoords;\n}\n#endif\n`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrBlockReflection = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrBlockSheen';\nlet shader = `#ifdef SHEEN\nstruct sheenOutParams\n{\nfloat sheenIntensity;\nvec3 sheenColor;\nfloat sheenRoughness;\n#ifdef SHEEN_LINKWITHALBEDO\nvec3 surfaceAlbedo;\n#endif\n#if defined(ENVIRONMENTBRDF) && defined(SHEEN_ALBEDOSCALING)\nfloat sheenAlbedoScaling;\n#endif\n#if defined(REFLECTION) && defined(ENVIRONMENTBRDF)\nvec3 finalSheenRadianceScaled;\n#endif\n#if DEBUGMODE>0\nvec4 sheenMapData;\nvec3 sheenEnvironmentReflectance;\n#endif\n};\n#define pbr_inline\n#define inline\nvoid sheenBlock(\nconst in vec4 vSheenColor,\n#ifdef SHEEN_ROUGHNESS\nconst in float vSheenRoughness,\n#if defined(SHEEN_TEXTURE_ROUGHNESS) && !defined(SHEEN_TEXTURE_ROUGHNESS_IDENTICAL) && !defined(SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE)\nconst in vec4 sheenMapRoughnessData,\n#endif\n#endif\nconst in float roughness,\n#ifdef SHEEN_TEXTURE\nconst in vec4 sheenMapData,\n#endif\nconst in float reflectance,\n#ifdef SHEEN_LINKWITHALBEDO\nconst in vec3 baseColor,\nconst in vec3 surfaceAlbedo,\n#endif\n#ifdef ENVIRONMENTBRDF\nconst in float NdotV,\nconst in vec3 environmentBrdf,\n#endif\n#if defined(REFLECTION) && defined(ENVIRONMENTBRDF)\nconst in vec2 AARoughnessFactors,\nconst in vec3 vReflectionMicrosurfaceInfos,\nconst in vec2 vReflectionInfos,\nconst in vec3 vReflectionColor,\nconst in vec4 vLightingIntensity,\n#ifdef REFLECTIONMAP_3D\nconst in samplerCube reflectionSampler,\nconst in vec3 reflectionCoords,\n#else\nconst in sampler2D reflectionSampler,\nconst in vec2 reflectionCoords,\n#endif\nconst in float NdotVUnclamped,\n#ifndef LODBASEDMICROSFURACE\n#ifdef REFLECTIONMAP_3D\nconst in samplerCube reflectionSamplerLow,\nconst in samplerCube reflectionSamplerHigh,\n#else\nconst in sampler2D reflectionSamplerLow,\nconst in sampler2D reflectionSamplerHigh,\n#endif\n#endif\n#ifdef REALTIME_FILTERING\nconst in vec2 vReflectionFilteringInfo,\n#endif\n#if !defined(REFLECTIONMAP_SKYBOX) && defined(RADIANCEOCCLUSION)\nconst in float seo,\n#endif\n#if !defined(REFLECTIONMAP_SKYBOX) && defined(HORIZONOCCLUSION) && defined(BUMP) && defined(REFLECTIONMAP_3D)\nconst in float eho,\n#endif\n#endif\nout sheenOutParams outParams\n)\n{\nfloat sheenIntensity=vSheenColor.a;\n#ifdef SHEEN_TEXTURE\n#if DEBUGMODE>0\noutParams.sheenMapData=sheenMapData;\n#endif\n#endif\n#ifdef SHEEN_LINKWITHALBEDO\nfloat sheenFactor=pow5(1.0-sheenIntensity);\nvec3 sheenColor=baseColor.rgb*(1.0-sheenFactor);\nfloat sheenRoughness=sheenIntensity;\noutParams.surfaceAlbedo=surfaceAlbedo*sheenFactor;\n#ifdef SHEEN_TEXTURE\nsheenIntensity*=sheenMapData.a;\n#endif\n#else\nvec3 sheenColor=vSheenColor.rgb;\n#ifdef SHEEN_TEXTURE\nsheenColor.rgb*=sheenMapData.rgb;\n#endif\n#ifdef SHEEN_ROUGHNESS\nfloat sheenRoughness=vSheenRoughness;\n#ifdef SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE\n#if defined(SHEEN_TEXTURE)\nsheenRoughness*=sheenMapData.a;\n#endif\n#elif defined(SHEEN_TEXTURE_ROUGHNESS)\n#ifdef SHEEN_TEXTURE_ROUGHNESS_IDENTICAL\nsheenRoughness*=sheenMapData.a;\n#else\nsheenRoughness*=sheenMapRoughnessData.a;\n#endif\n#endif\n#else\nfloat sheenRoughness=roughness;\n#ifdef SHEEN_TEXTURE\nsheenIntensity*=sheenMapData.a;\n#endif\n#endif\n\n#if !defined(SHEEN_ALBEDOSCALING)\nsheenIntensity*=(1.-reflectance);\n#endif\n\nsheenColor*=sheenIntensity;\n#endif\n\n#ifdef ENVIRONMENTBRDF\n\n#ifdef SHEEN_ROUGHNESS\nvec3 environmentSheenBrdf=getBRDFLookup(NdotV,sheenRoughness);\n#else\nvec3 environmentSheenBrdf=environmentBrdf;\n#endif\n\n#endif\n#if defined(REFLECTION) && defined(ENVIRONMENTBRDF)\nfloat sheenAlphaG=convertRoughnessToAverageSlope(sheenRoughness);\n#ifdef SPECULARAA\n\nsheenAlphaG+=AARoughnessFactors.y;\n#endif\nvec4 environmentSheenRadiance=vec4(0.,0.,0.,0.);\nsampleReflectionTexture(\nsheenAlphaG,\nvReflectionMicrosurfaceInfos,\nvReflectionInfos,\nvReflectionColor,\n#if defined(LODINREFLECTIONALPHA) && !defined(REFLECTIONMAP_SKYBOX)\nNdotVUnclamped,\n#endif\n#ifdef LINEARSPECULARREFLECTION\nsheenRoughness,\n#endif\nreflectionSampler,\nreflectionCoords,\n#ifndef LODBASEDMICROSFURACE\nreflectionSamplerLow,\nreflectionSamplerHigh,\n#endif\n#ifdef REALTIME_FILTERING\nvReflectionFilteringInfo,\n#endif\nenvironmentSheenRadiance\n);\nvec3 sheenEnvironmentReflectance=getSheenReflectanceFromBRDFLookup(sheenColor,environmentSheenBrdf);\n#if !defined(REFLECTIONMAP_SKYBOX) && defined(RADIANCEOCCLUSION)\nsheenEnvironmentReflectance*=seo;\n#endif\n#if !defined(REFLECTIONMAP_SKYBOX) && defined(HORIZONOCCLUSION) && defined(BUMP) && defined(REFLECTIONMAP_3D)\nsheenEnvironmentReflectance*=eho;\n#endif\n#if DEBUGMODE>0\noutParams.sheenEnvironmentReflectance=sheenEnvironmentReflectance;\n#endif\noutParams.finalSheenRadianceScaled=\nenvironmentSheenRadiance.rgb *\nsheenEnvironmentReflectance *\nvLightingIntensity.z;\n\n\n\n\n\n#endif\n#if defined(ENVIRONMENTBRDF) && defined(SHEEN_ALBEDOSCALING)\n\n\n\noutParams.sheenAlbedoScaling=1.0-sheenIntensity*max(max(sheenColor.r,sheenColor.g),sheenColor.b)*environmentSheenBrdf.b;\n#endif\n\noutParams.sheenIntensity=sheenIntensity;\noutParams.sheenColor=sheenColor;\noutParams.sheenRoughness=sheenRoughness;\n}\n#endif\n`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrBlockSheen = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrBlockClearcoat';\nlet shader = `struct clearcoatOutParams\n{\nvec3 specularEnvironmentR0;\nfloat conservationFactor;\nvec3 clearCoatNormalW;\nvec2 clearCoatAARoughnessFactors;\nfloat clearCoatIntensity;\nfloat clearCoatRoughness;\n#ifdef REFLECTION\nvec3 finalClearCoatRadianceScaled;\n#endif\n#ifdef CLEARCOAT_TINT\nvec3 absorption;\nfloat clearCoatNdotVRefract;\nvec3 clearCoatColor;\nfloat clearCoatThickness;\n#endif\n#if defined(ENVIRONMENTBRDF) && defined(MS_BRDF_ENERGY_CONSERVATION)\nvec3 energyConservationFactorClearCoat;\n#endif\n#if DEBUGMODE>0\nmat3 TBNClearCoat;\nvec2 clearCoatMapData;\nvec4 clearCoatTintMapData;\nvec4 environmentClearCoatRadiance;\nfloat clearCoatNdotV;\nvec3 clearCoatEnvironmentReflectance;\n#endif\n};\n#ifdef CLEARCOAT\n#define pbr_inline\n#define inline\nvoid clearcoatBlock(\nconst in vec3 vPositionW,\nconst in vec3 geometricNormalW,\nconst in vec3 viewDirectionW,\nconst in vec2 vClearCoatParams,\n#if defined(CLEARCOAT_TEXTURE_ROUGHNESS) && !defined(CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL) && !defined(CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE)\nconst in vec4 clearCoatMapRoughnessData,\n#endif\nconst in vec3 specularEnvironmentR0,\n#ifdef CLEARCOAT_TEXTURE\nconst in vec2 clearCoatMapData,\n#endif\n#ifdef CLEARCOAT_TINT\nconst in vec4 vClearCoatTintParams,\nconst in float clearCoatColorAtDistance,\nconst in vec4 vClearCoatRefractionParams,\n#ifdef CLEARCOAT_TINT_TEXTURE\nconst in vec4 clearCoatTintMapData,\n#endif\n#endif\n#ifdef CLEARCOAT_BUMP\nconst in vec2 vClearCoatBumpInfos,\nconst in vec4 clearCoatBumpMapData,\nconst in vec2 vClearCoatBumpUV,\n#if defined(TANGENT) && defined(NORMAL)\nconst in mat3 vTBN,\n#else\nconst in vec2 vClearCoatTangentSpaceParams,\n#endif\n#ifdef OBJECTSPACE_NORMALMAP\nconst in mat4 normalMatrix,\n#endif\n#endif\n#if defined(FORCENORMALFORWARD) && defined(NORMAL)\nconst in vec3 faceNormal,\n#endif\n#ifdef REFLECTION\nconst in vec3 vReflectionMicrosurfaceInfos,\nconst in vec2 vReflectionInfos,\nconst in vec3 vReflectionColor,\nconst in vec4 vLightingIntensity,\n#ifdef REFLECTIONMAP_3D\nconst in samplerCube reflectionSampler,\n#else\nconst in sampler2D reflectionSampler,\n#endif\n#ifndef LODBASEDMICROSFURACE\n#ifdef REFLECTIONMAP_3D\nconst in samplerCube reflectionSamplerLow,\nconst in samplerCube reflectionSamplerHigh,\n#else\nconst in sampler2D reflectionSamplerLow,\nconst in sampler2D reflectionSamplerHigh,\n#endif\n#endif\n#ifdef REALTIME_FILTERING\nconst in vec2 vReflectionFilteringInfo,\n#endif\n#endif\n#if defined(ENVIRONMENTBRDF) && !defined(REFLECTIONMAP_SKYBOX)\n#ifdef RADIANCEOCCLUSION\nconst in float ambientMonochrome,\n#endif\n#endif\nout clearcoatOutParams outParams\n)\n{\n\nfloat clearCoatIntensity=vClearCoatParams.x;\nfloat clearCoatRoughness=vClearCoatParams.y;\n#ifdef CLEARCOAT_TEXTURE\nclearCoatIntensity*=clearCoatMapData.x;\n#ifdef CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE\nclearCoatRoughness*=clearCoatMapData.y;\n#endif\n#if DEBUGMODE>0\noutParams.clearCoatMapData=clearCoatMapData;\n#endif\n#endif\n#if defined(CLEARCOAT_TEXTURE_ROUGHNESS) && !defined(CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE)\n#ifdef CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL\nclearCoatRoughness*=clearCoatMapData.y;\n#else\nclearCoatRoughness*=clearCoatMapRoughnessData.y;\n#endif\n#endif\noutParams.clearCoatIntensity=clearCoatIntensity;\noutParams.clearCoatRoughness=clearCoatRoughness;\n#ifdef CLEARCOAT_TINT\nvec3 clearCoatColor=vClearCoatTintParams.rgb;\nfloat clearCoatThickness=vClearCoatTintParams.a;\n#ifdef CLEARCOAT_TINT_TEXTURE\nclearCoatColor*=clearCoatTintMapData.rgb;\nclearCoatThickness*=clearCoatTintMapData.a;\n#if DEBUGMODE>0\noutParams.clearCoatTintMapData=clearCoatTintMapData;\n#endif\n#endif\noutParams.clearCoatColor=computeColorAtDistanceInMedia(clearCoatColor,clearCoatColorAtDistance);\noutParams.clearCoatThickness=clearCoatThickness;\n#endif\n\n\n\n\n#ifdef CLEARCOAT_REMAP_F0\nvec3 specularEnvironmentR0Updated=getR0RemappedForClearCoat(specularEnvironmentR0);\n#else\nvec3 specularEnvironmentR0Updated=specularEnvironmentR0;\n#endif\noutParams.specularEnvironmentR0=mix(specularEnvironmentR0,specularEnvironmentR0Updated,clearCoatIntensity);\n\nvec3 clearCoatNormalW=geometricNormalW;\n#ifdef CLEARCOAT_BUMP\n#ifdef NORMALXYSCALE\nfloat clearCoatNormalScale=1.0;\n#else\nfloat clearCoatNormalScale=vClearCoatBumpInfos.y;\n#endif\n#if defined(TANGENT) && defined(NORMAL)\nmat3 TBNClearCoat=vTBN;\n#else\nmat3 TBNClearCoat=cotangent_frame(clearCoatNormalW*clearCoatNormalScale,vPositionW,vClearCoatBumpUV,vClearCoatTangentSpaceParams);\n#endif\n#if DEBUGMODE>0\noutParams.TBNClearCoat=TBNClearCoat;\n#endif\n#ifdef OBJECTSPACE_NORMALMAP\nclearCoatNormalW=normalize(clearCoatBumpMapData.xyz*2.0-1.0);\nclearCoatNormalW=normalize(mat3(normalMatrix)*clearCoatNormalW);\n#else\nclearCoatNormalW=perturbNormal(TBNClearCoat,clearCoatBumpMapData.xyz,vClearCoatBumpInfos.y);\n#endif\n#endif\n#if defined(FORCENORMALFORWARD) && defined(NORMAL)\nclearCoatNormalW*=sign(dot(clearCoatNormalW,faceNormal));\n#endif\n#if defined(TWOSIDEDLIGHTING) && defined(NORMAL)\nclearCoatNormalW=gl_FrontFacing ? clearCoatNormalW : -clearCoatNormalW;\n#endif\noutParams.clearCoatNormalW=clearCoatNormalW;\n\noutParams.clearCoatAARoughnessFactors=getAARoughnessFactors(clearCoatNormalW.xyz);\n\nfloat clearCoatNdotVUnclamped=dot(clearCoatNormalW,viewDirectionW);\n\nfloat clearCoatNdotV=absEps(clearCoatNdotVUnclamped);\n#if DEBUGMODE>0\noutParams.clearCoatNdotV=clearCoatNdotV;\n#endif\n#ifdef CLEARCOAT_TINT\n\nvec3 clearCoatVRefract=-refract(vPositionW,clearCoatNormalW,vClearCoatRefractionParams.y);\n\noutParams.clearCoatNdotVRefract=absEps(dot(clearCoatNormalW,clearCoatVRefract));\n#endif\n#if defined(ENVIRONMENTBRDF) && !defined(REFLECTIONMAP_SKYBOX)\n\nvec3 environmentClearCoatBrdf=getBRDFLookup(clearCoatNdotV,clearCoatRoughness);\n#endif\n\n#if defined(REFLECTION)\nfloat clearCoatAlphaG=convertRoughnessToAverageSlope(clearCoatRoughness);\n#ifdef SPECULARAA\n\nclearCoatAlphaG+=outParams.clearCoatAARoughnessFactors.y;\n#endif\nvec4 environmentClearCoatRadiance=vec4(0.,0.,0.,0.);\nvec3 clearCoatReflectionVector=computeReflectionCoords(vec4(vPositionW,1.0),clearCoatNormalW);\n#ifdef REFLECTIONMAP_OPPOSITEZ\nclearCoatReflectionVector.z*=-1.0;\n#endif\n\n#ifdef REFLECTIONMAP_3D\nvec3 clearCoatReflectionCoords=clearCoatReflectionVector;\n#else\nvec2 clearCoatReflectionCoords=clearCoatReflectionVector.xy;\n#ifdef REFLECTIONMAP_PROJECTION\nclearCoatReflectionCoords/=clearCoatReflectionVector.z;\n#endif\nclearCoatReflectionCoords.y=1.0-clearCoatReflectionCoords.y;\n#endif\nsampleReflectionTexture(\nclearCoatAlphaG,\nvReflectionMicrosurfaceInfos,\nvReflectionInfos,\nvReflectionColor,\n#if defined(LODINREFLECTIONALPHA) && !defined(REFLECTIONMAP_SKYBOX)\nclearCoatNdotVUnclamped,\n#endif\n#ifdef LINEARSPECULARREFLECTION\nclearCoatRoughness,\n#endif\nreflectionSampler,\nclearCoatReflectionCoords,\n#ifndef LODBASEDMICROSFURACE\nreflectionSamplerLow,\nreflectionSamplerHigh,\n#endif\n#ifdef REALTIME_FILTERING\nvReflectionFilteringInfo,\n#endif\nenvironmentClearCoatRadiance\n);\n#if DEBUGMODE>0\noutParams.environmentClearCoatRadiance=environmentClearCoatRadiance;\n#endif\n\n#if defined(ENVIRONMENTBRDF) && !defined(REFLECTIONMAP_SKYBOX)\nvec3 clearCoatEnvironmentReflectance=getReflectanceFromBRDFLookup(vec3(vClearCoatRefractionParams.x),environmentClearCoatBrdf);\n#ifdef RADIANCEOCCLUSION\nfloat clearCoatSeo=environmentRadianceOcclusion(ambientMonochrome,clearCoatNdotVUnclamped);\nclearCoatEnvironmentReflectance*=clearCoatSeo;\n#endif\n#ifdef HORIZONOCCLUSION\n#ifdef BUMP\n#ifdef REFLECTIONMAP_3D\nfloat clearCoatEho=environmentHorizonOcclusion(-viewDirectionW,clearCoatNormalW,geometricNormalW);\nclearCoatEnvironmentReflectance*=clearCoatEho;\n#endif\n#endif\n#endif\n#else\n\nvec3 clearCoatEnvironmentReflectance=getReflectanceFromAnalyticalBRDFLookup_Jones(clearCoatNdotV,vec3(1.),vec3(1.),sqrt(1.-clearCoatRoughness));\n#endif\nclearCoatEnvironmentReflectance*=clearCoatIntensity;\n#if DEBUGMODE>0\noutParams.clearCoatEnvironmentReflectance=clearCoatEnvironmentReflectance;\n#endif\noutParams.finalClearCoatRadianceScaled=\nenvironmentClearCoatRadiance.rgb *\nclearCoatEnvironmentReflectance *\nvLightingIntensity.z;\n#endif\n#if defined(CLEARCOAT_TINT)\n\noutParams.absorption=computeClearCoatAbsorption(outParams.clearCoatNdotVRefract,outParams.clearCoatNdotVRefract,outParams.clearCoatColor,clearCoatThickness,clearCoatIntensity);\n#endif\n\nfloat fresnelIBLClearCoat=fresnelSchlickGGX(clearCoatNdotV,vClearCoatRefractionParams.x,CLEARCOATREFLECTANCE90);\nfresnelIBLClearCoat*=clearCoatIntensity;\noutParams.conservationFactor=(1.-fresnelIBLClearCoat);\n#if defined(ENVIRONMENTBRDF) && defined(MS_BRDF_ENERGY_CONSERVATION)\noutParams.energyConservationFactorClearCoat=getEnergyConservationFactor(outParams.specularEnvironmentR0,environmentClearCoatBrdf);\n#endif\n}\n#endif\n`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrBlockClearcoat = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrBlockSubSurface';\nlet shader = `struct subSurfaceOutParams\n{\nvec3 specularEnvironmentReflectance;\n#ifdef SS_REFRACTION\nvec3 finalRefraction;\nvec3 surfaceAlbedo;\n#ifdef SS_LINKREFRACTIONTOTRANSPARENCY\nfloat alpha;\n#endif\n#ifdef REFLECTION\nfloat refractionFactorForIrradiance;\n#endif\n#endif\n#ifdef SS_TRANSLUCENCY\nvec3 transmittance;\nfloat translucencyIntensity;\n#ifdef REFLECTION\nvec3 refractionIrradiance;\n#endif\n#endif\n#if DEBUGMODE>0\nvec4 thicknessMap;\nvec4 environmentRefraction;\nvec3 refractionTransmittance;\n#endif\n};\n#ifdef SUBSURFACE\n#define pbr_inline\n#define inline\nvoid subSurfaceBlock(\nconst in vec3 vSubSurfaceIntensity,\nconst in vec2 vThicknessParam,\nconst in vec4 vTintColor,\nconst in vec3 normalW,\nconst in vec3 specularEnvironmentReflectance,\n#ifdef SS_THICKNESSANDMASK_TEXTURE\nconst in vec4 thicknessMap,\n#endif\n#ifdef REFLECTION\n#ifdef SS_TRANSLUCENCY\nconst in mat4 reflectionMatrix,\n#ifdef USESPHERICALFROMREFLECTIONMAP\n#if !defined(NORMAL) || !defined(USESPHERICALINVERTEX)\nconst in vec3 irradianceVector_,\n#endif\n#if defined(REALTIME_FILTERING)\nconst in samplerCube reflectionSampler,\nconst in vec2 vReflectionFilteringInfo,\n#endif\n#endif\n#ifdef USEIRRADIANCEMAP\n#ifdef REFLECTIONMAP_3D\nconst in samplerCube irradianceSampler,\n#else\nconst in sampler2D irradianceSampler,\n#endif\n#endif\n#endif\n#endif\n#ifdef SS_REFRACTION\nconst in vec3 vPositionW,\nconst in vec3 viewDirectionW,\nconst in mat4 view,\nconst in vec3 surfaceAlbedo,\nconst in vec4 vRefractionInfos,\nconst in mat4 refractionMatrix,\nconst in vec3 vRefractionMicrosurfaceInfos,\nconst in vec4 vLightingIntensity,\n#ifdef SS_LINKREFRACTIONTOTRANSPARENCY\nconst in float alpha,\n#endif\n#ifdef SS_LODINREFRACTIONALPHA\nconst in float NdotVUnclamped,\n#endif\n#ifdef SS_LINEARSPECULARREFRACTION\nconst in float roughness,\n#else\nconst in float alphaG,\n#endif\n#ifdef SS_REFRACTIONMAP_3D\nconst in samplerCube refractionSampler,\n#ifndef LODBASEDMICROSFURACE\nconst in samplerCube refractionSamplerLow,\nconst in samplerCube refractionSamplerHigh,\n#endif\n#else\nconst in sampler2D refractionSampler,\n#ifndef LODBASEDMICROSFURACE\nconst in sampler2D refractionSamplerLow,\nconst in sampler2D refractionSamplerHigh,\n#endif\n#endif\n#ifdef ANISOTROPIC\nconst in anisotropicOutParams anisotropicOut,\n#endif\n#ifdef REALTIME_FILTERING\nconst in vec2 vRefractionFilteringInfo,\n#endif\n#endif\n#ifdef SS_TRANSLUCENCY\nconst in vec3 vDiffusionDistance,\n#endif\nout subSurfaceOutParams outParams\n)\n{\noutParams.specularEnvironmentReflectance=specularEnvironmentReflectance;\n\n\n\n#ifdef SS_REFRACTION\nfloat refractionIntensity=vSubSurfaceIntensity.x;\n#ifdef SS_LINKREFRACTIONTOTRANSPARENCY\nrefractionIntensity*=(1.0-alpha);\n\noutParams.alpha=1.0;\n#endif\n#endif\n#ifdef SS_TRANSLUCENCY\nfloat translucencyIntensity=vSubSurfaceIntensity.y;\n#endif\n#ifdef SS_THICKNESSANDMASK_TEXTURE\nfloat thickness=thicknessMap.r*vThicknessParam.y+vThicknessParam.x;\n#if DEBUGMODE>0\noutParams.thicknessMap=thicknessMap;\n#endif\n#ifdef SS_MASK_FROM_THICKNESS_TEXTURE\n#ifdef SS_REFRACTION\nrefractionIntensity*=thicknessMap.g;\n#endif\n#ifdef SS_TRANSLUCENCY\ntranslucencyIntensity*=thicknessMap.b;\n#endif\n#elif defined(SS_MASK_FROM_THICKNESS_TEXTURE_GLTF)\n#ifdef SS_REFRACTION\nrefractionIntensity*=thicknessMap.r;\n#elif defined(SS_TRANSLUCENCY)\ntranslucencyIntensity*=thicknessMap.r;\n#endif\nthickness=thicknessMap.g*vThicknessParam.y+vThicknessParam.x;\n#endif\n#else\nfloat thickness=vThicknessParam.y;\n#endif\n\n\n\n#ifdef SS_TRANSLUCENCY\nthickness=maxEps(thickness);\nvec3 transmittance=transmittanceBRDF_Burley(vTintColor.rgb,vDiffusionDistance,thickness);\ntransmittance*=translucencyIntensity;\noutParams.transmittance=transmittance;\noutParams.translucencyIntensity=translucencyIntensity;\n#endif\n\n\n\n#ifdef SS_REFRACTION\nvec4 environmentRefraction=vec4(0.,0.,0.,0.);\n#ifdef ANISOTROPIC\nvec3 refractionVector=refract(-viewDirectionW,anisotropicOut.anisotropicNormal,vRefractionInfos.y);\n#else\nvec3 refractionVector=refract(-viewDirectionW,normalW,vRefractionInfos.y);\n#endif\n#ifdef SS_REFRACTIONMAP_OPPOSITEZ\nrefractionVector.z*=-1.0;\n#endif\n\n#ifdef SS_REFRACTIONMAP_3D\nrefractionVector.y=refractionVector.y*vRefractionInfos.w;\nvec3 refractionCoords=refractionVector;\nrefractionCoords=vec3(refractionMatrix*vec4(refractionCoords,0));\n#else\nvec3 vRefractionUVW=vec3(refractionMatrix*(view*vec4(vPositionW+refractionVector*vRefractionInfos.z,1.0)));\nvec2 refractionCoords=vRefractionUVW.xy/vRefractionUVW.z;\nrefractionCoords.y=1.0-refractionCoords.y;\n#endif\n#ifdef SS_LODINREFRACTIONALPHA\nfloat refractionLOD=getLodFromAlphaG(vRefractionMicrosurfaceInfos.x,alphaG,NdotVUnclamped);\n#elif defined(SS_LINEARSPECULARREFRACTION)\nfloat refractionLOD=getLinearLodFromRoughness(vRefractionMicrosurfaceInfos.x,roughness);\n#else\nfloat refractionLOD=getLodFromAlphaG(vRefractionMicrosurfaceInfos.x,alphaG);\n#endif\n#ifdef LODBASEDMICROSFURACE\n\nrefractionLOD=refractionLOD*vRefractionMicrosurfaceInfos.y+vRefractionMicrosurfaceInfos.z;\n#ifdef SS_LODINREFRACTIONALPHA\n\n\n\n\n\n\n\n\n\nfloat automaticRefractionLOD=UNPACK_LOD(sampleRefraction(refractionSampler,refractionCoords).a);\nfloat requestedRefractionLOD=max(automaticRefractionLOD,refractionLOD);\n#else\nfloat requestedRefractionLOD=refractionLOD;\n#endif\n#ifdef REALTIME_FILTERING\nenvironmentRefraction=vec4(radiance(alphaG,refractionSampler,refractionCoords,vRefractionFilteringInfo),1.0);\n#else\nenvironmentRefraction=sampleRefractionLod(refractionSampler,refractionCoords,requestedRefractionLOD);\n#endif\n#else\nfloat lodRefractionNormalized=saturate(refractionLOD/log2(vRefractionMicrosurfaceInfos.x));\nfloat lodRefractionNormalizedDoubled=lodRefractionNormalized*2.0;\nvec4 environmentRefractionMid=sampleRefraction(refractionSampler,refractionCoords);\nif (lodRefractionNormalizedDoubled<1.0){\nenvironmentRefraction=mix(\nsampleRefraction(refractionSamplerHigh,refractionCoords),\nenvironmentRefractionMid,\nlodRefractionNormalizedDoubled\n);\n} else {\nenvironmentRefraction=mix(\nenvironmentRefractionMid,\nsampleRefraction(refractionSamplerLow,refractionCoords),\nlodRefractionNormalizedDoubled-1.0\n);\n}\n#endif\n#ifdef SS_RGBDREFRACTION\nenvironmentRefraction.rgb=fromRGBD(environmentRefraction);\n#endif\n#ifdef SS_GAMMAREFRACTION\nenvironmentRefraction.rgb=toLinearSpace(environmentRefraction.rgb);\n#endif\n\nenvironmentRefraction.rgb*=vRefractionInfos.x;\n#endif\n\n\n\n#ifdef SS_REFRACTION\nvec3 refractionTransmittance=vec3(refractionIntensity);\n#ifdef SS_THICKNESSANDMASK_TEXTURE\nvec3 volumeAlbedo=computeColorAtDistanceInMedia(vTintColor.rgb,vTintColor.w);\n\n\n\n\n\nrefractionTransmittance*=cocaLambert(volumeAlbedo,thickness);\n#elif defined(SS_LINKREFRACTIONTOTRANSPARENCY)\n\nfloat maxChannel=max(max(surfaceAlbedo.r,surfaceAlbedo.g),surfaceAlbedo.b);\nvec3 volumeAlbedo=saturate(maxChannel*surfaceAlbedo);\n\nenvironmentRefraction.rgb*=volumeAlbedo;\n#else\n\nvec3 volumeAlbedo=computeColorAtDistanceInMedia(vTintColor.rgb,vTintColor.w);\nrefractionTransmittance*=cocaLambert(volumeAlbedo,vThicknessParam.y);\n#endif\n#ifdef SS_ALBEDOFORREFRACTIONTINT\n\nenvironmentRefraction.rgb*=surfaceAlbedo.rgb;\n#endif\n\noutParams.surfaceAlbedo=surfaceAlbedo*(1.-refractionIntensity);\n#ifdef REFLECTION\n\noutParams.refractionFactorForIrradiance=(1.-refractionIntensity);\n\n#endif\n\nvec3 bounceSpecularEnvironmentReflectance=(2.0*specularEnvironmentReflectance)/(1.0+specularEnvironmentReflectance);\noutParams.specularEnvironmentReflectance=mix(bounceSpecularEnvironmentReflectance,specularEnvironmentReflectance,refractionIntensity);\n\nrefractionTransmittance*=1.0-outParams.specularEnvironmentReflectance;\n#if DEBUGMODE>0\noutParams.refractionTransmittance=refractionTransmittance;\n#endif\noutParams.finalRefraction=environmentRefraction.rgb*refractionTransmittance*vLightingIntensity.z;\n#if DEBUGMODE>0\noutParams.environmentRefraction=environmentRefraction;\n#endif\n#endif\n\n\n\n#if defined(REFLECTION) && defined(SS_TRANSLUCENCY)\n#if defined(NORMAL) && defined(USESPHERICALINVERTEX) || !defined(USESPHERICALFROMREFLECTIONMAP)\nvec3 irradianceVector=vec3(reflectionMatrix*vec4(normalW,0)).xyz;\n#ifdef REFLECTIONMAP_OPPOSITEZ\nirradianceVector.z*=-1.0;\n#endif\n#ifdef INVERTCUBICMAP\nirradianceVector.y*=-1.0;\n#endif\n#else\nvec3 irradianceVector=irradianceVector_;\n#endif\n#if defined(USESPHERICALFROMREFLECTIONMAP)\n#if defined(REALTIME_FILTERING)\nvec3 refractionIrradiance=irradiance(reflectionSampler,-irradianceVector,vReflectionFilteringInfo);\n#else\nvec3 refractionIrradiance=computeEnvironmentIrradiance(-irradianceVector);\n#endif\n#elif defined(USEIRRADIANCEMAP)\n#ifdef REFLECTIONMAP_3D\nvec3 irradianceCoords=irradianceVector;\n#else\nvec2 irradianceCoords=irradianceVector.xy;\n#ifdef REFLECTIONMAP_PROJECTION\nirradianceCoords/=irradianceVector.z;\n#endif\nirradianceCoords.y=1.0-irradianceCoords.y;\n#endif\nvec4 refractionIrradiance=sampleReflection(irradianceSampler,-irradianceCoords);\n#ifdef RGBDREFLECTION\nrefractionIrradiance.rgb=fromRGBD(refractionIrradiance);\n#endif\n#ifdef GAMMAREFLECTION\nrefractionIrradiance.rgb=toLinearSpace(refractionIrradiance.rgb);\n#endif\n#else\nvec4 refractionIrradiance=vec4(0.);\n#endif\nrefractionIrradiance.rgb*=transmittance;\noutParams.refractionIrradiance=refractionIrradiance.rgb;\n#endif\n}\n#endif\n`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrBlockSubSurface = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrBlockNormalGeometric';\nlet shader = `vec3 viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=normalize(cross(dFdx(vPositionW),dFdy(vPositionW)))*vEyePosition.w;\n#endif\nvec3 geometricNormalW=normalW;\n#if defined(TWOSIDEDLIGHTING) && defined(NORMAL)\ngeometricNormalW=gl_FrontFacing ? geometricNormalW : -geometricNormalW;\n#endif\n`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrBlockNormalGeometric = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrBlockNormalFinal';\nlet shader = `#if defined(FORCENORMALFORWARD) && defined(NORMAL)\nvec3 faceNormal=normalize(cross(dFdx(vPositionW),dFdy(vPositionW)))*vEyePosition.w;\n#if defined(TWOSIDEDLIGHTING)\nfaceNormal=gl_FrontFacing ? faceNormal : -faceNormal;\n#endif\nnormalW*=sign(dot(normalW,faceNormal));\n#endif\n#if defined(TWOSIDEDLIGHTING) && defined(NORMAL)\nnormalW=gl_FrontFacing ? normalW : -normalW;\n#endif\n`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrBlockNormalFinal = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrBlockLightmapInit';\nlet shader = `#ifdef LIGHTMAP\nvec4 lightmapColor=texture2D(lightmapSampler,vLightmapUV+uvOffset);\n#ifdef RGBDLIGHTMAP\nlightmapColor.rgb=fromRGBD(lightmapColor);\n#endif\n#ifdef GAMMALIGHTMAP\nlightmapColor.rgb=toLinearSpace(lightmapColor.rgb);\n#endif\nlightmapColor.rgb*=vLightmapInfos.y;\n#endif\n`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrBlockLightmapInit = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrBlockGeometryInfo';\nlet shader = `float NdotVUnclamped=dot(normalW,viewDirectionW);\n\nfloat NdotV=absEps(NdotVUnclamped);\nfloat alphaG=convertRoughnessToAverageSlope(roughness);\nvec2 AARoughnessFactors=getAARoughnessFactors(normalW.xyz);\n#ifdef SPECULARAA\n\nalphaG+=AARoughnessFactors.y;\n#endif\n#if defined(ENVIRONMENTBRDF)\n\nvec3 environmentBrdf=getBRDFLookup(NdotV,roughness);\n#endif\n#if defined(ENVIRONMENTBRDF) && !defined(REFLECTIONMAP_SKYBOX)\n#ifdef RADIANCEOCCLUSION\n#ifdef AMBIENTINGRAYSCALE\nfloat ambientMonochrome=aoOut.ambientOcclusionColor.r;\n#else\nfloat ambientMonochrome=getLuminance(aoOut.ambientOcclusionColor);\n#endif\nfloat seo=environmentRadianceOcclusion(ambientMonochrome,NdotVUnclamped);\n#endif\n#ifdef HORIZONOCCLUSION\n#ifdef BUMP\n#ifdef REFLECTIONMAP_3D\nfloat eho=environmentHorizonOcclusion(-viewDirectionW,normalW,geometricNormalW);\n#endif\n#endif\n#endif\n#endif\n`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrBlockGeometryInfo = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrBlockReflectance0';\nlet shader = `float reflectance=max(max(reflectivityOut.surfaceReflectivityColor.r,reflectivityOut.surfaceReflectivityColor.g),reflectivityOut.surfaceReflectivityColor.b);\nvec3 specularEnvironmentR0=reflectivityOut.surfaceReflectivityColor.rgb;\n#ifdef METALLICWORKFLOW\nvec3 specularEnvironmentR90=vec3(metallicReflectanceFactors.a);\n#else\nvec3 specularEnvironmentR90=vec3(1.0,1.0,1.0);\n#endif\n\n#ifdef ALPHAFRESNEL\nfloat reflectance90=fresnelGrazingReflectance(reflectance);\nspecularEnvironmentR90=specularEnvironmentR90*reflectance90;\n#endif\n`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrBlockReflectance0 = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrBlockReflectance';\nlet shader = `#if defined(ENVIRONMENTBRDF) && !defined(REFLECTIONMAP_SKYBOX)\nvec3 specularEnvironmentReflectance=getReflectanceFromBRDFLookup(clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,environmentBrdf);\n#ifdef RADIANCEOCCLUSION\nspecularEnvironmentReflectance*=seo;\n#endif\n#ifdef HORIZONOCCLUSION\n#ifdef BUMP\n#ifdef REFLECTIONMAP_3D\nspecularEnvironmentReflectance*=eho;\n#endif\n#endif\n#endif\n#else\n\nvec3 specularEnvironmentReflectance=getReflectanceFromAnalyticalBRDFLookup_Jones(NdotV,clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,sqrt(microSurface));\n#endif\n#ifdef CLEARCOAT\nspecularEnvironmentReflectance*=clearcoatOut.conservationFactor;\n#if defined(CLEARCOAT_TINT)\nspecularEnvironmentReflectance*=clearcoatOut.absorption;\n#endif\n#endif\n`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrBlockReflectance = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrBlockDirectLighting';\nlet shader = `vec3 diffuseBase=vec3(0.,0.,0.);\n#ifdef SPECULARTERM\nvec3 specularBase=vec3(0.,0.,0.);\n#endif\n#ifdef CLEARCOAT\nvec3 clearCoatBase=vec3(0.,0.,0.);\n#endif\n#ifdef SHEEN\nvec3 sheenBase=vec3(0.,0.,0.);\n#endif\n\npreLightingInfo preInfo;\nlightingInfo info;\nfloat shadow=1.;\n#if defined(CLEARCOAT) && defined(CLEARCOAT_TINT)\nvec3 absorption=vec3(0.);\n#endif\n`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrBlockDirectLighting = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrBlockFinalLitComponents';\nlet shader = `\n\n\n\n#if defined(ENVIRONMENTBRDF)\n#ifdef MS_BRDF_ENERGY_CONSERVATION\nvec3 energyConservationFactor=getEnergyConservationFactor(clearcoatOut.specularEnvironmentR0,environmentBrdf);\n#endif\n#endif\n#ifndef METALLICWORKFLOW\n#ifdef SPECULAR_GLOSSINESS_ENERGY_CONSERVATION\nsurfaceAlbedo.rgb=(1.-reflectance)*surfaceAlbedo.rgb;\n#endif\n#endif\n#if defined(SHEEN) && defined(SHEEN_ALBEDOSCALING) && defined(ENVIRONMENTBRDF)\nsurfaceAlbedo.rgb=sheenOut.sheenAlbedoScaling*surfaceAlbedo.rgb;\n#endif\n\n#ifdef REFLECTION\nvec3 finalIrradiance=reflectionOut.environmentIrradiance;\n#if defined(CLEARCOAT)\nfinalIrradiance*=clearcoatOut.conservationFactor;\n#if defined(CLEARCOAT_TINT)\nfinalIrradiance*=clearcoatOut.absorption;\n#endif\n#endif\n#if defined(SS_REFRACTION)\nfinalIrradiance*=subSurfaceOut.refractionFactorForIrradiance;\n#endif\n#if defined(SS_TRANSLUCENCY)\nfinalIrradiance*=(1.0-subSurfaceOut.translucencyIntensity);\nfinalIrradiance+=subSurfaceOut.refractionIrradiance;\n#endif\nfinalIrradiance*=surfaceAlbedo.rgb;\nfinalIrradiance*=vLightingIntensity.z;\nfinalIrradiance*=aoOut.ambientOcclusionColor;\n#endif\n\n#ifdef SPECULARTERM\nvec3 finalSpecular=specularBase;\nfinalSpecular=max(finalSpecular,0.0);\nvec3 finalSpecularScaled=finalSpecular*vLightingIntensity.x*vLightingIntensity.w;\n#if defined(ENVIRONMENTBRDF) && defined(MS_BRDF_ENERGY_CONSERVATION)\nfinalSpecularScaled*=energyConservationFactor;\n#endif\n#if defined(SHEEN) && defined(ENVIRONMENTBRDF) && defined(SHEEN_ALBEDOSCALING)\nfinalSpecularScaled*=sheenOut.sheenAlbedoScaling;\n#endif\n#endif\n\n#ifdef REFLECTION\nvec3 finalRadiance=reflectionOut.environmentRadiance.rgb;\nfinalRadiance*=subSurfaceOut.specularEnvironmentReflectance;\nvec3 finalRadianceScaled=finalRadiance*vLightingIntensity.z;\n#if defined(ENVIRONMENTBRDF) && defined(MS_BRDF_ENERGY_CONSERVATION)\nfinalRadianceScaled*=energyConservationFactor;\n#endif\n#if defined(SHEEN) && defined(ENVIRONMENTBRDF) && defined(SHEEN_ALBEDOSCALING)\nfinalRadianceScaled*=sheenOut.sheenAlbedoScaling;\n#endif\n#endif\n\n#ifdef SHEEN\nvec3 finalSheen=sheenBase*sheenOut.sheenColor;\nfinalSheen=max(finalSheen,0.0);\nvec3 finalSheenScaled=finalSheen*vLightingIntensity.x*vLightingIntensity.w;\n#if defined(CLEARCOAT) && defined(REFLECTION) && defined(ENVIRONMENTBRDF)\nsheenOut.finalSheenRadianceScaled*=clearcoatOut.conservationFactor;\n#if defined(CLEARCOAT_TINT)\nsheenOut.finalSheenRadianceScaled*=clearcoatOut.absorption;\n#endif\n#endif\n#endif\n\n#ifdef CLEARCOAT\nvec3 finalClearCoat=clearCoatBase;\nfinalClearCoat=max(finalClearCoat,0.0);\nvec3 finalClearCoatScaled=finalClearCoat*vLightingIntensity.x*vLightingIntensity.w;\n#if defined(ENVIRONMENTBRDF) && defined(MS_BRDF_ENERGY_CONSERVATION)\nfinalClearCoatScaled*=clearcoatOut.energyConservationFactorClearCoat;\n#endif\n#ifdef SS_REFRACTION\nsubSurfaceOut.finalRefraction*=clearcoatOut.conservationFactor;\n#ifdef CLEARCOAT_TINT\nsubSurfaceOut.finalRefraction*=clearcoatOut.absorption;\n#endif\n#endif\n#endif\n\n#ifdef ALPHABLEND\nfloat luminanceOverAlpha=0.0;\n#if defined(REFLECTION) && defined(RADIANCEOVERALPHA)\nluminanceOverAlpha+=getLuminance(finalRadianceScaled);\n#if defined(CLEARCOAT)\nluminanceOverAlpha+=getLuminance(clearcoatOut.finalClearCoatRadianceScaled);\n#endif\n#endif\n#if defined(SPECULARTERM) && defined(SPECULAROVERALPHA)\nluminanceOverAlpha+=getLuminance(finalSpecularScaled);\n#endif\n#if defined(CLEARCOAT) && defined(CLEARCOATOVERALPHA)\nluminanceOverAlpha+=getLuminance(finalClearCoatScaled);\n#endif\n#if defined(RADIANCEOVERALPHA) || defined(SPECULAROVERALPHA) || defined(CLEARCOATOVERALPHA)\nalpha=saturate(alpha+luminanceOverAlpha*luminanceOverAlpha);\n#endif\n#endif\n`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrBlockFinalLitComponents = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrBlockFinalUnlitComponents';\nlet shader = `\nvec3 finalDiffuse=diffuseBase;\nfinalDiffuse*=surfaceAlbedo.rgb;\nfinalDiffuse=max(finalDiffuse,0.0);\nfinalDiffuse*=vLightingIntensity.x;\n\nvec3 finalAmbient=vAmbientColor;\nfinalAmbient*=surfaceAlbedo.rgb;\n\nvec3 finalEmissive=vEmissiveColor;\n#ifdef EMISSIVE\nvec3 emissiveColorTex=texture2D(emissiveSampler,vEmissiveUV+uvOffset).rgb;\nfinalEmissive*=toLinearSpace(emissiveColorTex.rgb);\nfinalEmissive*=vEmissiveInfos.y;\n#endif\nfinalEmissive*=vLightingIntensity.y;\n\n#ifdef AMBIENT\nvec3 ambientOcclusionForDirectDiffuse=mix(vec3(1.),aoOut.ambientOcclusionColor,vAmbientInfos.w);\n#else\nvec3 ambientOcclusionForDirectDiffuse=aoOut.ambientOcclusionColor;\n#endif\nfinalAmbient*=aoOut.ambientOcclusionColor;\nfinalDiffuse*=ambientOcclusionForDirectDiffuse;\n`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrBlockFinalUnlitComponents = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrBlockFinalColorComposition';\nlet shader = `vec4 finalColor=vec4(\nfinalAmbient +\nfinalDiffuse +\n#ifndef UNLIT\n#ifdef REFLECTION\nfinalIrradiance +\n#endif\n#ifdef SPECULARTERM\nfinalSpecularScaled +\n#endif\n#ifdef SHEEN\nfinalSheenScaled +\n#endif\n#ifdef CLEARCOAT\nfinalClearCoatScaled +\n#endif\n#ifdef REFLECTION\nfinalRadianceScaled +\n#if defined(SHEEN) && defined(ENVIRONMENTBRDF)\nsheenOut.finalSheenRadianceScaled +\n#endif\n#ifdef CLEARCOAT\nclearcoatOut.finalClearCoatRadianceScaled +\n#endif\n#endif\n#ifdef SS_REFRACTION\nsubSurfaceOut.finalRefraction +\n#endif\n#endif\nfinalEmissive,\nalpha);\n\n#ifdef LIGHTMAP\n#ifndef LIGHTMAPEXCLUDED\n#ifdef USELIGHTMAPASSHADOWMAP\nfinalColor.rgb*=lightmapColor.rgb;\n#else\nfinalColor.rgb+=lightmapColor.rgb;\n#endif\n#endif\n#endif\n#define CUSTOM_FRAGMENT_BEFORE_FOG\n\nfinalColor=max(finalColor,0.0);\n`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrBlockFinalColorComposition = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrBlockImageProcessing';\nlet shader = `#ifdef IMAGEPROCESSINGPOSTPROCESS\n\n\nfinalColor.rgb=clamp(finalColor.rgb,0.,30.0);\n#else\n\nfinalColor=applyImageProcessing(finalColor);\n#endif\nfinalColor.a*=visibility;\n#ifdef PREMULTIPLYALPHA\n\nfinalColor.rgb*=finalColor.a;\n#endif\n`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrBlockImageProcessing = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrDebug';\nlet shader = `#if DEBUGMODE>0\nif (vClipSpacePosition.x/vClipSpacePosition.w>=vDebugMode.x) {\n\n#if DEBUGMODE == 1\ngl_FragColor.rgb=vPositionW.rgb;\n#define DEBUGMODE_NORMALIZE\n#elif DEBUGMODE == 2 && defined(NORMAL)\ngl_FragColor.rgb=vNormalW.rgb;\n#define DEBUGMODE_NORMALIZE\n#elif DEBUGMODE == 3 && defined(BUMP) || DEBUGMODE == 3 && defined(PARALLAX) || DEBUGMODE == 3 && defined(ANISOTROPIC)\n\ngl_FragColor.rgb=TBN[0];\n#define DEBUGMODE_NORMALIZE\n#elif DEBUGMODE == 4 && defined(BUMP) || DEBUGMODE == 4 && defined(PARALLAX) || DEBUGMODE == 4 && defined(ANISOTROPIC)\n\ngl_FragColor.rgb=TBN[1];\n#define DEBUGMODE_NORMALIZE\n#elif DEBUGMODE == 5\n\ngl_FragColor.rgb=normalW;\n#define DEBUGMODE_NORMALIZE\n#elif DEBUGMODE == 6 && defined(MAINUV1)\ngl_FragColor.rgb=vec3(vMainUV1,0.0);\n#elif DEBUGMODE == 7 && defined(MAINUV2)\ngl_FragColor.rgb=vec3(vMainUV2,0.0);\n#elif DEBUGMODE == 8 && defined(CLEARCOAT) && defined(CLEARCOAT_BUMP)\n\ngl_FragColor.rgb=clearcoatOut.TBNClearCoat[0];\n#define DEBUGMODE_NORMALIZE\n#elif DEBUGMODE == 9 && defined(CLEARCOAT) && defined(CLEARCOAT_BUMP)\n\ngl_FragColor.rgb=clearcoatOut.TBNClearCoat[1];\n#define DEBUGMODE_NORMALIZE\n#elif DEBUGMODE == 10 && defined(CLEARCOAT)\n\ngl_FragColor.rgb=clearcoatOut.clearCoatNormalW;\n#define DEBUGMODE_NORMALIZE\n#elif DEBUGMODE == 11 && defined(ANISOTROPIC)\ngl_FragColor.rgb=anisotropicOut.anisotropicNormal;\n#define DEBUGMODE_NORMALIZE\n#elif DEBUGMODE == 12 && defined(ANISOTROPIC)\ngl_FragColor.rgb=anisotropicOut.anisotropicTangent;\n#define DEBUGMODE_NORMALIZE\n#elif DEBUGMODE == 13 && defined(ANISOTROPIC)\ngl_FragColor.rgb=anisotropicOut.anisotropicBitangent;\n#define DEBUGMODE_NORMALIZE\n\n#elif DEBUGMODE == 20 && defined(ALBEDO)\ngl_FragColor.rgb=albedoTexture.rgb;\n#elif DEBUGMODE == 21 && defined(AMBIENT)\ngl_FragColor.rgb=aoOut.ambientOcclusionColorMap.rgb;\n#elif DEBUGMODE == 22 && defined(OPACITY)\ngl_FragColor.rgb=opacityMap.rgb;\n#elif DEBUGMODE == 23 && defined(EMISSIVE)\ngl_FragColor.rgb=emissiveColorTex.rgb;\n#define DEBUGMODE_GAMMA\n#elif DEBUGMODE == 24 && defined(LIGHTMAP)\ngl_FragColor.rgb=lightmapColor.rgb;\n#define DEBUGMODE_GAMMA\n#elif DEBUGMODE == 25 && defined(REFLECTIVITY) && defined(METALLICWORKFLOW)\ngl_FragColor.rgb=reflectivityOut.surfaceMetallicColorMap.rgb;\n#elif DEBUGMODE == 26 && defined(REFLECTIVITY) && !defined(METALLICWORKFLOW)\ngl_FragColor.rgb=reflectivityOut.surfaceReflectivityColorMap.rgb;\n#define DEBUGMODE_GAMMA\n#elif DEBUGMODE == 27 && defined(CLEARCOAT) && defined(CLEARCOAT_TEXTURE)\ngl_FragColor.rgb=vec3(clearcoatOut.clearCoatMapData.rg,0.0);\n#elif DEBUGMODE == 28 && defined(CLEARCOAT) && defined(CLEARCOAT_TINT) && defined(CLEARCOAT_TINT_TEXTURE)\ngl_FragColor.rgb=clearcoatOut.clearCoatTintMapData.rgb;\n#elif DEBUGMODE == 29 && defined(SHEEN) && defined(SHEEN_TEXTURE)\ngl_FragColor.rgb=sheenOut.sheenMapData.rgb;\n#elif DEBUGMODE == 30 && defined(ANISOTROPIC) && defined(ANISOTROPIC_TEXTURE)\ngl_FragColor.rgb=anisotropicOut.anisotropyMapData.rgb;\n#elif DEBUGMODE == 31 && defined(SUBSURFACE) && defined(SS_THICKNESSANDMASK_TEXTURE)\ngl_FragColor.rgb=subSurfaceOut.thicknessMap.rgb;\n\n#elif DEBUGMODE == 40 && defined(SS_REFRACTION)\n\ngl_FragColor.rgb=subSurfaceOut.environmentRefraction.rgb;\n#define DEBUGMODE_GAMMA\n#elif DEBUGMODE == 41 && defined(REFLECTION)\ngl_FragColor.rgb=reflectionOut.environmentRadiance.rgb;\n#define DEBUGMODE_GAMMA\n#elif DEBUGMODE == 42 && defined(CLEARCOAT) && defined(REFLECTION)\ngl_FragColor.rgb=clearcoatOut.environmentClearCoatRadiance.rgb;\n#define DEBUGMODE_GAMMA\n\n#elif DEBUGMODE == 50\ngl_FragColor.rgb=diffuseBase.rgb;\n#define DEBUGMODE_GAMMA\n#elif DEBUGMODE == 51 && defined(SPECULARTERM)\ngl_FragColor.rgb=specularBase.rgb;\n#define DEBUGMODE_GAMMA\n#elif DEBUGMODE == 52 && defined(CLEARCOAT)\ngl_FragColor.rgb=clearCoatBase.rgb;\n#define DEBUGMODE_GAMMA\n#elif DEBUGMODE == 53 && defined(SHEEN)\ngl_FragColor.rgb=sheenBase.rgb;\n#define DEBUGMODE_GAMMA\n#elif DEBUGMODE == 54 && defined(REFLECTION)\ngl_FragColor.rgb=reflectionOut.environmentIrradiance.rgb;\n#define DEBUGMODE_GAMMA\n\n#elif DEBUGMODE == 60\ngl_FragColor.rgb=surfaceAlbedo.rgb;\n#define DEBUGMODE_GAMMA\n#elif DEBUGMODE == 61\ngl_FragColor.rgb=clearcoatOut.specularEnvironmentR0;\n#define DEBUGMODE_GAMMA\n#elif DEBUGMODE == 62 && defined(METALLICWORKFLOW)\ngl_FragColor.rgb=vec3(reflectivityOut.metallicRoughness.r);\n#elif DEBUGMODE == 71 && defined(METALLICWORKFLOW)\ngl_FragColor.rgb=reflectivityOut.metallicF0;\n#elif DEBUGMODE == 63\ngl_FragColor.rgb=vec3(roughness);\n#elif DEBUGMODE == 64\ngl_FragColor.rgb=vec3(alphaG);\n#elif DEBUGMODE == 65\ngl_FragColor.rgb=vec3(NdotV);\n#elif DEBUGMODE == 66 && defined(CLEARCOAT) && defined(CLEARCOAT_TINT)\ngl_FragColor.rgb=clearcoatOut.clearCoatColor.rgb;\n#define DEBUGMODE_GAMMA\n#elif DEBUGMODE == 67 && defined(CLEARCOAT)\ngl_FragColor.rgb=vec3(clearcoatOut.clearCoatRoughness);\n#elif DEBUGMODE == 68 && defined(CLEARCOAT)\ngl_FragColor.rgb=vec3(clearcoatOut.clearCoatNdotV);\n#elif DEBUGMODE == 69 && defined(SUBSURFACE) && defined(SS_TRANSLUCENCY)\ngl_FragColor.rgb=subSurfaceOut.transmittance;\n#elif DEBUGMODE == 70 && defined(SUBSURFACE) && defined(SS_REFRACTION)\ngl_FragColor.rgb=subSurfaceOut.refractionTransmittance;\n\n#elif DEBUGMODE == 80 && defined(RADIANCEOCCLUSION)\ngl_FragColor.rgb=vec3(seo);\n#elif DEBUGMODE == 81 && defined(HORIZONOCCLUSION)\ngl_FragColor.rgb=vec3(eho);\n#elif DEBUGMODE == 82 && defined(MS_BRDF_ENERGY_CONSERVATION)\ngl_FragColor.rgb=vec3(energyConservationFactor);\n#elif DEBUGMODE == 83 && defined(ENVIRONMENTBRDF) && !defined(REFLECTIONMAP_SKYBOX)\ngl_FragColor.rgb=specularEnvironmentReflectance;\n#define DEBUGMODE_GAMMA\n#elif DEBUGMODE == 84 && defined(CLEARCOAT) && defined(ENVIRONMENTBRDF) && !defined(REFLECTIONMAP_SKYBOX)\ngl_FragColor.rgb=clearcoatOut.clearCoatEnvironmentReflectance;\n#define DEBUGMODE_GAMMA\n#elif DEBUGMODE == 85 && defined(SHEEN) && defined(REFLECTION)\ngl_FragColor.rgb=sheenOut.sheenEnvironmentReflectance;\n#define DEBUGMODE_GAMMA\n#elif DEBUGMODE == 86 && defined(ALPHABLEND)\ngl_FragColor.rgb=vec3(luminanceOverAlpha);\n#elif DEBUGMODE == 87\ngl_FragColor.rgb=vec3(alpha);\n#endif\ngl_FragColor.rgb*=vDebugMode.y;\n#ifdef DEBUGMODE_NORMALIZE\ngl_FragColor.rgb=normalize(gl_FragColor.rgb)*0.5+0.5;\n#endif\n#ifdef DEBUGMODE_GAMMA\ngl_FragColor.rgb=toGammaSpace(gl_FragColor.rgb);\n#endif\ngl_FragColor.a=1.0;\n#ifdef PREPASS\ngl_FragData[0]=toLinearSpace(gl_FragColor);\ngl_FragData[1]=vec4(0.,0.,0.,0.);\n#endif\nreturn;\n}\n#endif`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrDebug = { name, shader };\n","import { Effect } from \"../Materials/effect\";\nimport \"./ShadersInclude/prePassDeclaration\";\nimport \"./ShadersInclude/pbrFragmentDeclaration\";\nimport \"./ShadersInclude/pbrUboDeclaration\";\nimport \"./ShadersInclude/pbrFragmentExtraDeclaration\";\nimport \"./ShadersInclude/lightFragmentDeclaration\";\nimport \"./ShadersInclude/lightUboDeclaration\";\nimport \"./ShadersInclude/pbrFragmentSamplersDeclaration\";\nimport \"./ShadersInclude/imageProcessingDeclaration\";\nimport \"./ShadersInclude/clipPlaneFragmentDeclaration\";\nimport \"./ShadersInclude/logDepthDeclaration\";\nimport \"./ShadersInclude/fogFragmentDeclaration\";\nimport \"./ShadersInclude/helperFunctions\";\nimport \"./ShadersInclude/subSurfaceScatteringFunctions\";\nimport \"./ShadersInclude/importanceSampling\";\nimport \"./ShadersInclude/pbrHelperFunctions\";\nimport \"./ShadersInclude/imageProcessingFunctions\";\nimport \"./ShadersInclude/shadowsFragmentFunctions\";\nimport \"./ShadersInclude/harmonicsFunctions\";\nimport \"./ShadersInclude/pbrDirectLightingSetupFunctions\";\nimport \"./ShadersInclude/pbrDirectLightingFalloffFunctions\";\nimport \"./ShadersInclude/pbrBRDFFunctions\";\nimport \"./ShadersInclude/hdrFilteringFunctions\";\nimport \"./ShadersInclude/pbrDirectLightingFunctions\";\nimport \"./ShadersInclude/pbrIBLFunctions\";\nimport \"./ShadersInclude/bumpFragmentMainFunctions\";\nimport \"./ShadersInclude/bumpFragmentFunctions\";\nimport \"./ShadersInclude/reflectionFunction\";\nimport \"./ShadersInclude/pbrBlockAlbedoOpacity\";\nimport \"./ShadersInclude/pbrBlockReflectivity\";\nimport \"./ShadersInclude/pbrBlockAmbientOcclusion\";\nimport \"./ShadersInclude/pbrBlockAlphaFresnel\";\nimport \"./ShadersInclude/pbrBlockAnisotropic\";\nimport \"./ShadersInclude/pbrBlockReflection\";\nimport \"./ShadersInclude/pbrBlockSheen\";\nimport \"./ShadersInclude/pbrBlockClearcoat\";\nimport \"./ShadersInclude/pbrBlockSubSurface\";\nimport \"./ShadersInclude/clipPlaneFragment\";\nimport \"./ShadersInclude/pbrBlockNormalGeometric\";\nimport \"./ShadersInclude/bumpFragment\";\nimport \"./ShadersInclude/pbrBlockNormalFinal\";\nimport \"./ShadersInclude/depthPrePass\";\nimport \"./ShadersInclude/pbrBlockLightmapInit\";\nimport \"./ShadersInclude/pbrBlockGeometryInfo\";\nimport \"./ShadersInclude/pbrBlockReflectance0\";\nimport \"./ShadersInclude/pbrBlockReflectance\";\nimport \"./ShadersInclude/pbrBlockDirectLighting\";\nimport \"./ShadersInclude/lightFragment\";\nimport \"./ShadersInclude/pbrBlockFinalLitComponents\";\nimport \"./ShadersInclude/pbrBlockFinalUnlitComponents\";\nimport \"./ShadersInclude/pbrBlockFinalColorComposition\";\nimport \"./ShadersInclude/logDepthFragment\";\nimport \"./ShadersInclude/fogFragment\";\nimport \"./ShadersInclude/pbrBlockImageProcessing\";\nimport \"./ShadersInclude/pbrDebug\";\n\nlet name = 'pbrPixelShader';\nlet shader = `#if defined(BUMP) || !defined(NORMAL) || defined(FORCENORMALFORWARD) || defined(SPECULARAA) || defined(CLEARCOAT_BUMP) || defined(ANISOTROPIC)\n#extension GL_OES_standard_derivatives : enable\n#endif\n#ifdef LODBASEDMICROSFURACE\n#extension GL_EXT_shader_texture_lod : enable\n#endif\n#define CUSTOM_FRAGMENT_BEGIN\n#ifdef LOGARITHMICDEPTH\n#extension GL_EXT_frag_depth : enable\n#endif\n#include[SCENE_MRT_COUNT]\nprecision highp float;\n\n#ifndef FROMLINEARSPACE\n#define FROMLINEARSPACE\n#endif\n\n#include<__decl__pbrFragment>\n#include\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n#include\n#include\n#include\n#include\n#include\n\n#include\n#include\n#include\n#include\n#include\n#include\n#include\n#include\n#include\n#include\n#include\n#include\n#include\n#include\n#include\n#ifdef REFLECTION\n#include\n#endif\n#define CUSTOM_FRAGMENT_DEFINITIONS\n#include\n#include\n#include\n#include\n#include\n#include\n#include\n#include\n#include\n\nvoid main(void) {\n#define CUSTOM_FRAGMENT_MAIN_BEGIN\n#include\n\n#include\n#include\n#include\n\nalbedoOpacityOutParams albedoOpacityOut;\n#ifdef ALBEDO\nvec4 albedoTexture=texture2D(albedoSampler,vAlbedoUV+uvOffset);\n#endif\n#ifdef OPACITY\nvec4 opacityMap=texture2D(opacitySampler,vOpacityUV+uvOffset);\n#endif\nalbedoOpacityBlock(\nvAlbedoColor,\n#ifdef ALBEDO\nalbedoTexture,\nvAlbedoInfos,\n#endif\n#ifdef OPACITY\nopacityMap,\nvOpacityInfos,\n#endif\n#ifdef DETAIL\ndetailColor,\nvDetailInfos,\n#endif\nalbedoOpacityOut\n);\nvec3 surfaceAlbedo=albedoOpacityOut.surfaceAlbedo;\nfloat alpha=albedoOpacityOut.alpha;\n#define CUSTOM_FRAGMENT_UPDATE_ALPHA\n#include\n#define CUSTOM_FRAGMENT_BEFORE_LIGHTS\n\nambientOcclusionOutParams aoOut;\n#ifdef AMBIENT\nvec3 ambientOcclusionColorMap=texture2D(ambientSampler,vAmbientUV+uvOffset).rgb;\n#endif\nambientOcclusionBlock(\n#ifdef AMBIENT\nambientOcclusionColorMap,\nvAmbientInfos,\n#endif\naoOut\n);\n#include\n#ifdef UNLIT\nvec3 diffuseBase=vec3(1.,1.,1.);\n#else\n\nvec3 baseColor=surfaceAlbedo;\nreflectivityOutParams reflectivityOut;\n#if defined(REFLECTIVITY)\nvec4 surfaceMetallicOrReflectivityColorMap=texture2D(reflectivitySampler,vReflectivityUV+uvOffset);\nvec4 baseReflectivity=surfaceMetallicOrReflectivityColorMap;\n#ifndef METALLICWORKFLOW\nsurfaceMetallicOrReflectivityColorMap=toLinearSpace(surfaceMetallicOrReflectivityColorMap);\nsurfaceMetallicOrReflectivityColorMap.rgb*=vReflectivityInfos.y;\n#endif\n#endif\n#if defined(MICROSURFACEMAP)\nvec4 microSurfaceTexel=texture2D(microSurfaceSampler,vMicroSurfaceSamplerUV+uvOffset)*vMicroSurfaceSamplerInfos.y;\n#endif\n#ifdef METALLICWORKFLOW\nvec4 metallicReflectanceFactors=vMetallicReflectanceFactors;\n#ifdef METALLIC_REFLECTANCE\nvec4 metallicReflectanceFactorsMap=texture2D(metallicReflectanceSampler,vMetallicReflectanceUV+uvOffset);\nmetallicReflectanceFactorsMap=toLinearSpace(metallicReflectanceFactorsMap);\nmetallicReflectanceFactors*=metallicReflectanceFactorsMap;\n#endif\n#endif\nreflectivityBlock(\nvReflectivityColor,\n#ifdef METALLICWORKFLOW\nsurfaceAlbedo,\nmetallicReflectanceFactors,\n#endif\n#ifdef REFLECTIVITY\nvReflectivityInfos,\nsurfaceMetallicOrReflectivityColorMap,\n#endif\n#if defined(METALLICWORKFLOW) && defined(REFLECTIVITY) && defined(AOSTOREINMETALMAPRED)\naoOut.ambientOcclusionColor,\n#endif\n#ifdef MICROSURFACEMAP\nmicroSurfaceTexel,\n#endif\n#ifdef DETAIL\ndetailColor,\nvDetailInfos,\n#endif\nreflectivityOut\n);\nfloat microSurface=reflectivityOut.microSurface;\nfloat roughness=reflectivityOut.roughness;\n#ifdef METALLICWORKFLOW\nsurfaceAlbedo=reflectivityOut.surfaceAlbedo;\n#endif\n#if defined(METALLICWORKFLOW) && defined(REFLECTIVITY) && defined(AOSTOREINMETALMAPRED)\naoOut.ambientOcclusionColor=reflectivityOut.ambientOcclusionColor;\n#endif\n\n#ifdef ALPHAFRESNEL\n#if defined(ALPHATEST) || defined(ALPHABLEND)\nalphaFresnelOutParams alphaFresnelOut;\nalphaFresnelBlock(\nnormalW,\nviewDirectionW,\nalpha,\nmicroSurface,\nalphaFresnelOut\n);\nalpha=alphaFresnelOut.alpha;\n#endif\n#endif\n\n#include\n\n#ifdef ANISOTROPIC\nanisotropicOutParams anisotropicOut;\n#ifdef ANISOTROPIC_TEXTURE\nvec3 anisotropyMapData=texture2D(anisotropySampler,vAnisotropyUV+uvOffset).rgb*vAnisotropyInfos.y;\n#endif\nanisotropicBlock(\nvAnisotropy,\n#ifdef ANISOTROPIC_TEXTURE\nanisotropyMapData,\n#endif\nTBN,\nnormalW,\nviewDirectionW,\nanisotropicOut\n);\n#endif\n\n#ifdef REFLECTION\nreflectionOutParams reflectionOut;\nreflectionBlock(\nvPositionW,\nnormalW,\nalphaG,\nvReflectionMicrosurfaceInfos,\nvReflectionInfos,\nvReflectionColor,\n#ifdef ANISOTROPIC\nanisotropicOut,\n#endif\n#if defined(LODINREFLECTIONALPHA) && !defined(REFLECTIONMAP_SKYBOX)\nNdotVUnclamped,\n#endif\n#ifdef LINEARSPECULARREFLECTION\nroughness,\n#endif\nreflectionSampler,\n#if defined(NORMAL) && defined(USESPHERICALINVERTEX)\nvEnvironmentIrradiance,\n#endif\n#ifdef USESPHERICALFROMREFLECTIONMAP\n#if !defined(NORMAL) || !defined(USESPHERICALINVERTEX)\nreflectionMatrix,\n#endif\n#endif\n#ifdef USEIRRADIANCEMAP\nirradianceSampler,\n#endif\n#ifndef LODBASEDMICROSFURACE\nreflectionSamplerLow,\nreflectionSamplerHigh,\n#endif\n#ifdef REALTIME_FILTERING\nvReflectionFilteringInfo,\n#endif\nreflectionOut\n);\n#endif\n\n#include\n\n#ifdef SHEEN\nsheenOutParams sheenOut;\n#ifdef SHEEN_TEXTURE\nvec4 sheenMapData=toLinearSpace(texture2D(sheenSampler,vSheenUV+uvOffset))*vSheenInfos.y;\n#endif\n#if defined(SHEEN_ROUGHNESS) && defined(SHEEN_TEXTURE_ROUGHNESS) && !defined(SHEEN_TEXTURE_ROUGHNESS_IDENTICAL) && !defined(SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE)\nvec4 sheenMapRoughnessData=texture2D(sheenRoughnessSampler,vSheenRoughnessUV+uvOffset)*vSheenInfos.w;\n#endif\nsheenBlock(\nvSheenColor,\n#ifdef SHEEN_ROUGHNESS\nvSheenRoughness,\n#if defined(SHEEN_TEXTURE_ROUGHNESS) && !defined(SHEEN_TEXTURE_ROUGHNESS_IDENTICAL) && !defined(SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE)\nsheenMapRoughnessData,\n#endif\n#endif\nroughness,\n#ifdef SHEEN_TEXTURE\nsheenMapData,\n#endif\nreflectance,\n#ifdef SHEEN_LINKWITHALBEDO\nbaseColor,\nsurfaceAlbedo,\n#endif\n#ifdef ENVIRONMENTBRDF\nNdotV,\nenvironmentBrdf,\n#endif\n#if defined(REFLECTION) && defined(ENVIRONMENTBRDF)\nAARoughnessFactors,\nvReflectionMicrosurfaceInfos,\nvReflectionInfos,\nvReflectionColor,\nvLightingIntensity,\nreflectionSampler,\nreflectionOut.reflectionCoords,\nNdotVUnclamped,\n#ifndef LODBASEDMICROSFURACE\nreflectionSamplerLow,\nreflectionSamplerHigh,\n#endif\n#ifdef REALTIME_FILTERING\nvReflectionFilteringInfo,\n#endif\n#if !defined(REFLECTIONMAP_SKYBOX) && defined(RADIANCEOCCLUSION)\nseo,\n#endif\n#if !defined(REFLECTIONMAP_SKYBOX) && defined(HORIZONOCCLUSION) && defined(BUMP) && defined(REFLECTIONMAP_3D)\neho,\n#endif\n#endif\nsheenOut\n);\n#ifdef SHEEN_LINKWITHALBEDO\nsurfaceAlbedo=sheenOut.surfaceAlbedo;\n#endif\n#endif\n\nclearcoatOutParams clearcoatOut;\n#ifdef CLEARCOAT\n#ifdef CLEARCOAT_TEXTURE\nvec2 clearCoatMapData=texture2D(clearCoatSampler,vClearCoatUV+uvOffset).rg*vClearCoatInfos.y;\n#endif\n#if defined(CLEARCOAT_TEXTURE_ROUGHNESS) && !defined(CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL) && !defined(CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE)\nvec4 clearCoatMapRoughnessData=texture2D(clearCoatRoughnessSampler,vClearCoatRoughnessUV+uvOffset)*vClearCoatInfos.w;\n#endif\n#if defined(CLEARCOAT_TINT) && defined(CLEARCOAT_TINT_TEXTURE)\nvec4 clearCoatTintMapData=toLinearSpace(texture2D(clearCoatTintSampler,vClearCoatTintUV+uvOffset));\n#endif\n#ifdef CLEARCOAT_BUMP\nvec4 clearCoatBumpMapData=texture2D(clearCoatBumpSampler,vClearCoatBumpUV+uvOffset);\n#endif\nclearcoatBlock(\nvPositionW,\ngeometricNormalW,\nviewDirectionW,\nvClearCoatParams,\n#if defined(CLEARCOAT_TEXTURE_ROUGHNESS) && !defined(CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL) && !defined(CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE)\nclearCoatMapRoughnessData,\n#endif\nspecularEnvironmentR0,\n#ifdef CLEARCOAT_TEXTURE\nclearCoatMapData,\n#endif\n#ifdef CLEARCOAT_TINT\nvClearCoatTintParams,\nclearCoatColorAtDistance,\nvClearCoatRefractionParams,\n#ifdef CLEARCOAT_TINT_TEXTURE\nclearCoatTintMapData,\n#endif\n#endif\n#ifdef CLEARCOAT_BUMP\nvClearCoatBumpInfos,\nclearCoatBumpMapData,\nvClearCoatBumpUV,\n#if defined(TANGENT) && defined(NORMAL)\nvTBN,\n#else\nvClearCoatTangentSpaceParams,\n#endif\n#ifdef OBJECTSPACE_NORMALMAP\nnormalMatrix,\n#endif\n#endif\n#if defined(FORCENORMALFORWARD) && defined(NORMAL)\nfaceNormal,\n#endif\n#ifdef REFLECTION\nvReflectionMicrosurfaceInfos,\nvReflectionInfos,\nvReflectionColor,\nvLightingIntensity,\nreflectionSampler,\n#ifndef LODBASEDMICROSFURACE\nreflectionSamplerLow,\nreflectionSamplerHigh,\n#endif\n#ifdef REALTIME_FILTERING\nvReflectionFilteringInfo,\n#endif\n#endif\n#if defined(ENVIRONMENTBRDF) && !defined(REFLECTIONMAP_SKYBOX)\n#ifdef RADIANCEOCCLUSION\nambientMonochrome,\n#endif\n#endif\nclearcoatOut\n);\n#else\nclearcoatOut.specularEnvironmentR0=specularEnvironmentR0;\n#endif\n\n#include\n\nsubSurfaceOutParams subSurfaceOut;\n#ifdef SUBSURFACE\n#ifdef SS_THICKNESSANDMASK_TEXTURE\nvec4 thicknessMap=texture2D(thicknessSampler,vThicknessUV+uvOffset);\n#endif\nsubSurfaceBlock(\nvSubSurfaceIntensity,\nvThicknessParam,\nvTintColor,\nnormalW,\nspecularEnvironmentReflectance,\n#ifdef SS_THICKNESSANDMASK_TEXTURE\nthicknessMap,\n#endif\n#ifdef REFLECTION\n#ifdef SS_TRANSLUCENCY\nreflectionMatrix,\n#ifdef USESPHERICALFROMREFLECTIONMAP\n#if !defined(NORMAL) || !defined(USESPHERICALINVERTEX)\nreflectionOut.irradianceVector,\n#endif\n#if defined(REALTIME_FILTERING)\nreflectionSampler,\nvReflectionFilteringInfo,\n#endif\n#endif\n#ifdef USEIRRADIANCEMAP\nirradianceSampler,\n#endif\n#endif\n#endif\n#ifdef SS_REFRACTION\nvPositionW,\nviewDirectionW,\nview,\nsurfaceAlbedo,\nvRefractionInfos,\nrefractionMatrix,\nvRefractionMicrosurfaceInfos,\nvLightingIntensity,\n#ifdef SS_LINKREFRACTIONTOTRANSPARENCY\nalpha,\n#endif\n#ifdef SS_LODINREFRACTIONALPHA\nNdotVUnclamped,\n#endif\n#ifdef SS_LINEARSPECULARREFRACTION\nroughness,\n#else\nalphaG,\n#endif\nrefractionSampler,\n#ifndef LODBASEDMICROSFURACE\nrefractionSamplerLow,\nrefractionSamplerHigh,\n#endif\n#ifdef ANISOTROPIC\nanisotropicOut,\n#endif\n#ifdef REALTIME_FILTERING\nvRefractionFilteringInfo,\n#endif\n#endif\n#ifdef SS_TRANSLUCENCY\nvDiffusionDistance,\n#endif\nsubSurfaceOut\n);\n#ifdef SS_REFRACTION\nsurfaceAlbedo=subSurfaceOut.surfaceAlbedo;\n#ifdef SS_LINKREFRACTIONTOTRANSPARENCY\nalpha=subSurfaceOut.alpha;\n#endif\n#endif\n#else\nsubSurfaceOut.specularEnvironmentReflectance=specularEnvironmentReflectance;\n#endif\n\n#include\n#include[0..maxSimultaneousLights]\n\n#include\n#endif\n#include\n#include\n#include\n#include(color,finalColor)\n#include\n#define CUSTOM_FRAGMENT_BEFORE_FRAGCOLOR\n#ifdef PREPASS\n#ifdef PREPASS_POSITION\ngl_FragData[PREPASS_POSITION_INDEX]=vec4(vPositionW,1.0);\n#endif\n#ifdef PREPASS_VELOCITY\nvec2 a=(vCurrentPosition.xy/vCurrentPosition.w)*0.5+0.5;\nvec2 b=(vPreviousPosition.xy/vPreviousPosition.w)*0.5+0.5;\nvec2 velocity=abs(a-b);\nvelocity=vec2(pow(velocity.x,1.0/3.0),pow(velocity.y,1.0/3.0))*sign(a-b)*0.5+0.5;\ngl_FragData[PREPASS_VELOCITY_INDEX]=vec4(velocity,0.0,1.0);\n#endif\n#ifdef PREPASS_IRRADIANCE\nvec3 irradiance=finalDiffuse;\n#ifndef UNLIT\n#ifdef REFLECTION\nirradiance+=finalIrradiance;\n#endif\n#endif\nvec3 sqAlbedo=sqrt(surfaceAlbedo);\n#ifdef SS_SCATTERING\ngl_FragData[0]=vec4(finalColor.rgb-irradiance,finalColor.a);\nirradiance/=sqAlbedo;\n#else\ngl_FragData[0]=finalColor;\nfloat scatteringDiffusionProfile=255.;\n#endif\ngl_FragData[PREPASS_IRRADIANCE_INDEX]=vec4(irradiance,scatteringDiffusionProfile/255.);\n#else\ngl_FragData[0]=vec4(finalColor.rgb,finalColor.a);\n#endif\n#ifdef PREPASS_DEPTHNORMAL\ngl_FragData[PREPASS_DEPTHNORMAL_INDEX]=vec4(vViewPos.z,(view*vec4(normalW,0.0)).rgb);\n#endif\n#ifdef PREPASS_ALBEDO\ngl_FragData[PREPASS_ALBEDO_INDEX]=vec4(sqAlbedo,1.0);\n#endif\n#ifdef PREPASS_REFLECTIVITY\n#if defined(REFLECTIVITY)\ngl_FragData[PREPASS_REFLECTIVITY_INDEX]=vec4(baseReflectivity.rgb,1.0);\n#else\ngl_FragData[PREPASS_REFLECTIVITY_INDEX]=vec4(0.0,0.0,0.0,1.0);\n#endif\n#endif\n#endif\n#if !defined(PREPASS) || defined(WEBGL2)\ngl_FragColor=finalColor;\n#endif\n#include\n}\n`;\n\nEffect.ShadersStore[name] = shader;\n/** @hidden */\nexport var pbrPixelShader = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'pbrVertexDeclaration';\nlet shader = `uniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef ALBEDO\nuniform mat4 albedoMatrix;\nuniform vec2 vAlbedoInfos;\n#endif\n#ifdef AMBIENT\nuniform mat4 ambientMatrix;\nuniform vec4 vAmbientInfos;\n#endif\n#ifdef OPACITY\nuniform mat4 opacityMatrix;\nuniform vec2 vOpacityInfos;\n#endif\n#ifdef EMISSIVE\nuniform vec2 vEmissiveInfos;\nuniform mat4 emissiveMatrix;\n#endif\n#ifdef LIGHTMAP\nuniform vec2 vLightmapInfos;\nuniform mat4 lightmapMatrix;\n#endif\n#ifdef REFLECTIVITY\nuniform vec3 vReflectivityInfos;\nuniform mat4 reflectivityMatrix;\n#endif\n#ifdef METALLIC_REFLECTANCE\nuniform vec2 vMetallicReflectanceInfos;\nuniform mat4 metallicReflectanceMatrix;\n#endif\n#ifdef MICROSURFACEMAP\nuniform vec2 vMicroSurfaceSamplerInfos;\nuniform mat4 microSurfaceSamplerMatrix;\n#endif\n#ifdef BUMP\nuniform vec3 vBumpInfos;\nuniform mat4 bumpMatrix;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\n#ifdef REFLECTION\nuniform vec2 vReflectionInfos;\nuniform mat4 reflectionMatrix;\n#endif\n\n#ifdef CLEARCOAT\n#if defined(CLEARCOAT_TEXTURE) || defined(CLEARCOAT_TEXTURE_ROUGHNESS)\nuniform vec4 vClearCoatInfos;\n#endif\n#ifdef CLEARCOAT_TEXTURE\nuniform mat4 clearCoatMatrix;\n#endif\n#ifdef CLEARCOAT_TEXTURE_ROUGHNESS\nuniform mat4 clearCoatRoughnessMatrix;\n#endif\n#ifdef CLEARCOAT_BUMP\nuniform vec2 vClearCoatBumpInfos;\nuniform mat4 clearCoatBumpMatrix;\n#endif\n#ifdef CLEARCOAT_TINT_TEXTURE\nuniform vec2 vClearCoatTintInfos;\nuniform mat4 clearCoatTintMatrix;\n#endif\n#endif\n\n#ifdef ANISOTROPIC\n#ifdef ANISOTROPIC_TEXTURE\nuniform vec2 vAnisotropyInfos;\nuniform mat4 anisotropyMatrix;\n#endif\n#endif\n\n#ifdef SHEEN\n#if defined(SHEEN_TEXTURE) || defined(SHEEN_TEXTURE_ROUGHNESS)\nuniform vec4 vSheenInfos;\n#endif\n#ifdef SHEEN_TEXTURE\nuniform mat4 sheenMatrix;\n#endif\n#ifdef SHEEN_TEXTURE_ROUGHNESS\nuniform mat4 sheenRoughnessMatrix;\n#endif\n#endif\n\n#ifdef SUBSURFACE\n#ifdef SS_REFRACTION\nuniform vec4 vRefractionInfos;\nuniform mat4 refractionMatrix;\n#endif\n#ifdef SS_THICKNESSANDMASK_TEXTURE\nuniform vec2 vThicknessInfos;\nuniform mat4 thicknessMatrix;\n#endif\n#endif\n`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var pbrVertexDeclaration = { name, shader };\n","import { Effect } from \"../Materials/effect\";\nimport \"./ShadersInclude/pbrVertexDeclaration\";\nimport \"./ShadersInclude/pbrUboDeclaration\";\nimport \"./ShadersInclude/helperFunctions\";\nimport \"./ShadersInclude/bonesDeclaration\";\nimport \"./ShadersInclude/instancesDeclaration\";\nimport \"./ShadersInclude/prePassVertexDeclaration\";\nimport \"./ShadersInclude/harmonicsFunctions\";\nimport \"./ShadersInclude/bumpVertexDeclaration\";\nimport \"./ShadersInclude/clipPlaneVertexDeclaration\";\nimport \"./ShadersInclude/fogVertexDeclaration\";\nimport \"./ShadersInclude/lightFragmentDeclaration\";\nimport \"./ShadersInclude/lightUboDeclaration\";\nimport \"./ShadersInclude/morphTargetsVertexGlobalDeclaration\";\nimport \"./ShadersInclude/morphTargetsVertexDeclaration\";\nimport \"./ShadersInclude/logDepthDeclaration\";\nimport \"./ShadersInclude/morphTargetsVertex\";\nimport \"./ShadersInclude/instancesVertex\";\nimport \"./ShadersInclude/bonesVertex\";\nimport \"./ShadersInclude/prePassVertex\";\nimport \"./ShadersInclude/bumpVertex\";\nimport \"./ShadersInclude/clipPlaneVertex\";\nimport \"./ShadersInclude/fogVertex\";\nimport \"./ShadersInclude/shadowsVertex\";\nimport \"./ShadersInclude/logDepthVertex\";\n\nlet name = 'pbrVertexShader';\nlet shader = `precision highp float;\n#include<__decl__pbrVertex>\n#define CUSTOM_VERTEX_BEGIN\n\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef TANGENT\nattribute vec4 tangent;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef MAINUV1\nvarying vec2 vMainUV1;\n#endif\n#ifdef MAINUV2\nvarying vec2 vMainUV2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include\n#include\n\n#include\n#include\n#if defined(ALBEDO) && ALBEDODIRECTUV == 0\nvarying vec2 vAlbedoUV;\n#endif\n#if defined(DETAIL) && DETAILDIRECTUV == 0\nvarying vec2 vDetailUV;\n#endif\n#if defined(AMBIENT) && AMBIENTDIRECTUV == 0\nvarying vec2 vAmbientUV;\n#endif\n#if defined(OPACITY) && OPACITYDIRECTUV == 0\nvarying vec2 vOpacityUV;\n#endif\n#if defined(EMISSIVE) && EMISSIVEDIRECTUV == 0\nvarying vec2 vEmissiveUV;\n#endif\n#if defined(LIGHTMAP) && LIGHTMAPDIRECTUV == 0\nvarying vec2 vLightmapUV;\n#endif\n#if defined(REFLECTIVITY) && REFLECTIVITYDIRECTUV == 0\nvarying vec2 vReflectivityUV;\n#endif\n#if defined(MICROSURFACEMAP) && MICROSURFACEMAPDIRECTUV == 0\nvarying vec2 vMicroSurfaceSamplerUV;\n#endif\n#if defined(METALLIC_REFLECTANCE) && METALLIC_REFLECTANCEDIRECTUV == 0\nvarying vec2 vMetallicReflectanceUV;\n#endif\n#if defined(BUMP) && BUMPDIRECTUV == 0\nvarying vec2 vBumpUV;\n#endif\n#ifdef CLEARCOAT\n#if defined(CLEARCOAT_TEXTURE) && CLEARCOAT_TEXTUREDIRECTUV == 0\nvarying vec2 vClearCoatUV;\n#endif\n#if defined(CLEARCOAT_TEXTURE_ROUGHNESS) && CLEARCOAT_TEXTURE_ROUGHNESSDIRECTUV == 0\nvarying vec2 vClearCoatRoughnessUV;\n#endif\n#if defined(CLEARCOAT_BUMP) && CLEARCOAT_BUMPDIRECTUV == 0\nvarying vec2 vClearCoatBumpUV;\n#endif\n#if defined(CLEARCOAT_TINT_TEXTURE) && CLEARCOAT_TINT_TEXTUREDIRECTUV == 0\nvarying vec2 vClearCoatTintUV;\n#endif\n#endif\n#ifdef SHEEN\n#if defined(SHEEN_TEXTURE) && SHEEN_TEXTUREDIRECTUV == 0\nvarying vec2 vSheenUV;\n#endif\n#if defined(SHEEN_TEXTURE_ROUGHNESS) && SHEEN_TEXTURE_ROUGHNESSDIRECTUV == 0\nvarying vec2 vSheenRoughnessUV;\n#endif\n#endif\n#ifdef ANISOTROPIC\n#if defined(ANISOTROPIC_TEXTURE) && ANISOTROPIC_TEXTUREDIRECTUV == 0\nvarying vec2 vAnisotropyUV;\n#endif\n#endif\n#ifdef SUBSURFACE\n#if defined(SS_THICKNESSANDMASK_TEXTURE) && SS_THICKNESSANDMASK_TEXTUREDIRECTUV == 0\nvarying vec2 vThicknessUV;\n#endif\n#endif\n\nvarying vec3 vPositionW;\n#if DEBUGMODE>0\nvarying vec4 vClipSpacePosition;\n#endif\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#if defined(USESPHERICALFROMREFLECTIONMAP) && defined(USESPHERICALINVERTEX)\nvarying vec3 vEnvironmentIrradiance;\n#include\n#endif\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\n#include\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n#include\n#include[0..maxSimultaneousMorphTargets]\n#ifdef REFLECTIONMAP_SKYBOX\nvarying vec3 vPositionUVW;\n#endif\n#if defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED) || defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\nvarying vec3 vDirectionW;\n#endif\n#include\n#define CUSTOM_VERTEX_DEFINITIONS\nvoid main(void) {\n#define CUSTOM_VERTEX_MAIN_BEGIN\nvec3 positionUpdated=position;\n#ifdef NORMAL\nvec3 normalUpdated=normal;\n#endif\n#ifdef TANGENT\nvec4 tangentUpdated=tangent;\n#endif\n#ifdef UV1\nvec2 uvUpdated=uv;\n#endif\n#include[0..maxSimultaneousMorphTargets]\n#ifdef REFLECTIONMAP_SKYBOX\nvPositionUVW=positionUpdated;\n#endif\n#define CUSTOM_VERTEX_UPDATE_POSITION\n#define CUSTOM_VERTEX_UPDATE_NORMAL\n#include\n#if defined(PREPASS) && defined(PREPASS_VELOCITY) && !defined(BONES_VELOCITY_ENABLED)\n\nvCurrentPosition=viewProjection*finalWorld*vec4(positionUpdated,1.0);\nvPreviousPosition=previousViewProjection*previousWorld*vec4(positionUpdated,1.0);\n#endif\n#include\nvec4 worldPos=finalWorld*vec4(positionUpdated,1.0);\nvPositionW=vec3(worldPos);\n#include\n#ifdef NORMAL\nmat3 normalWorld=mat3(finalWorld);\n#if defined(INSTANCES) && defined(THIN_INSTANCES)\nvNormalW=normalUpdated/vec3(dot(normalWorld[0],normalWorld[0]),dot(normalWorld[1],normalWorld[1]),dot(normalWorld[2],normalWorld[2]));\nvNormalW=normalize(normalWorld*vNormalW);\n#else\n#ifdef NONUNIFORMSCALING\nnormalWorld=transposeMat3(inverseMat3(normalWorld));\n#endif\nvNormalW=normalize(normalWorld*normalUpdated);\n#endif\n#if defined(USESPHERICALFROMREFLECTIONMAP) && defined(USESPHERICALINVERTEX)\nvec3 reflectionVector=vec3(reflectionMatrix*vec4(vNormalW,0)).xyz;\n#ifdef REFLECTIONMAP_OPPOSITEZ\nreflectionVector.z*=-1.0;\n#endif\nvEnvironmentIrradiance=computeEnvironmentIrradiance(reflectionVector);\n#endif\n#endif\n#define CUSTOM_VERTEX_UPDATE_WORLDPOS\n#ifdef MULTIVIEW\nif (gl_ViewID_OVR == 0u) {\ngl_Position=viewProjection*worldPos;\n} else {\ngl_Position=viewProjectionR*worldPos;\n}\n#else\ngl_Position=viewProjection*worldPos;\n#endif\n#if DEBUGMODE>0\nvClipSpacePosition=gl_Position;\n#endif\n#if defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED) || defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\nvDirectionW=normalize(vec3(finalWorld*vec4(positionUpdated,0.0)));\n#endif\n\n#ifndef UV1\nvec2 uvUpdated=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef MAINUV1\nvMainUV1=uvUpdated;\n#endif\n#ifdef MAINUV2\nvMainUV2=uv2;\n#endif\n#if defined(ALBEDO) && ALBEDODIRECTUV == 0\nif (vAlbedoInfos.x == 0.)\n{\nvAlbedoUV=vec2(albedoMatrix*vec4(uvUpdated,1.0,0.0));\n}\nelse\n{\nvAlbedoUV=vec2(albedoMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#if defined(DETAIL) && DETAILDIRECTUV == 0\nif (vDetailInfos.x == 0.)\n{\nvDetailUV=vec2(detailMatrix*vec4(uvUpdated,1.0,0.0));\n}\nelse\n{\nvDetailUV=vec2(detailMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#if defined(AMBIENT) && AMBIENTDIRECTUV == 0\nif (vAmbientInfos.x == 0.)\n{\nvAmbientUV=vec2(ambientMatrix*vec4(uvUpdated,1.0,0.0));\n}\nelse\n{\nvAmbientUV=vec2(ambientMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#if defined(OPACITY) && OPACITYDIRECTUV == 0\nif (vOpacityInfos.x == 0.)\n{\nvOpacityUV=vec2(opacityMatrix*vec4(uvUpdated,1.0,0.0));\n}\nelse\n{\nvOpacityUV=vec2(opacityMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#if defined(EMISSIVE) && EMISSIVEDIRECTUV == 0\nif (vEmissiveInfos.x == 0.)\n{\nvEmissiveUV=vec2(emissiveMatrix*vec4(uvUpdated,1.0,0.0));\n}\nelse\n{\nvEmissiveUV=vec2(emissiveMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#if defined(LIGHTMAP) && LIGHTMAPDIRECTUV == 0\nif (vLightmapInfos.x == 0.)\n{\nvLightmapUV=vec2(lightmapMatrix*vec4(uvUpdated,1.0,0.0));\n}\nelse\n{\nvLightmapUV=vec2(lightmapMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#if defined(REFLECTIVITY) && REFLECTIVITYDIRECTUV == 0\nif (vReflectivityInfos.x == 0.)\n{\nvReflectivityUV=vec2(reflectivityMatrix*vec4(uvUpdated,1.0,0.0));\n}\nelse\n{\nvReflectivityUV=vec2(reflectivityMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#if defined(MICROSURFACEMAP) && MICROSURFACEMAPDIRECTUV == 0\nif (vMicroSurfaceSamplerInfos.x == 0.)\n{\nvMicroSurfaceSamplerUV=vec2(microSurfaceSamplerMatrix*vec4(uvUpdated,1.0,0.0));\n}\nelse\n{\nvMicroSurfaceSamplerUV=vec2(microSurfaceSamplerMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#if defined(METALLIC_REFLECTANCE) && METALLIC_REFLECTANCEDIRECTUV == 0\nif (vMetallicReflectanceInfos.x == 0.)\n{\nvMetallicReflectanceUV=vec2(metallicReflectanceMatrix*vec4(uvUpdated,1.0,0.0));\n}\nelse\n{\nvMetallicReflectanceUV=vec2(metallicReflectanceMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#if defined(BUMP) && BUMPDIRECTUV == 0\nif (vBumpInfos.x == 0.)\n{\nvBumpUV=vec2(bumpMatrix*vec4(uvUpdated,1.0,0.0));\n}\nelse\n{\nvBumpUV=vec2(bumpMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#ifdef CLEARCOAT\n#if defined(CLEARCOAT_TEXTURE) && CLEARCOAT_TEXTUREDIRECTUV == 0\nif (vClearCoatInfos.x == 0.)\n{\nvClearCoatUV=vec2(clearCoatMatrix*vec4(uvUpdated,1.0,0.0));\n}\nelse\n{\nvClearCoatUV=vec2(clearCoatMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#if defined(CLEARCOAT_TEXTURE_ROUGHNESS) && CLEARCOAT_TEXTURE_ROUGHNESSDIRECTUV == 0\nif (vClearCoatInfos.z == 0.)\n{\nvClearCoatRoughnessUV=vec2(clearCoatRoughnessMatrix*vec4(uvUpdated,1.0,0.0));\n}\nelse\n{\nvClearCoatRoughnessUV=vec2(clearCoatRoughnessMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#if defined(CLEARCOAT_BUMP) && CLEARCOAT_BUMPDIRECTUV == 0\nif (vClearCoatBumpInfos.x == 0.)\n{\nvClearCoatBumpUV=vec2(clearCoatBumpMatrix*vec4(uvUpdated,1.0,0.0));\n}\nelse\n{\nvClearCoatBumpUV=vec2(clearCoatBumpMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#if defined(CLEARCOAT_TINT_TEXTURE) && CLEARCOAT_TINT_TEXTUREDIRECTUV == 0\nif (vClearCoatTintInfos.x == 0.)\n{\nvClearCoatTintUV=vec2(clearCoatTintMatrix*vec4(uvUpdated,1.0,0.0));\n}\nelse\n{\nvClearCoatTintUV=vec2(clearCoatTintMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#endif\n#ifdef SHEEN\n#if defined(SHEEN_TEXTURE) && SHEEN_TEXTUREDIRECTUV == 0\nif (vSheenInfos.x == 0.)\n{\nvSheenUV=vec2(sheenMatrix*vec4(uvUpdated,1.0,0.0));\n}\nelse\n{\nvSheenUV=vec2(sheenMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#if defined(SHEEN_TEXTURE_ROUGHNESS) && SHEEN_TEXTURE_ROUGHNESSDIRECTUV == 0\nif (vSheenInfos.z == 0.)\n{\nvSheenRoughnessUV=vec2(sheenRoughnessMatrix*vec4(uvUpdated,1.0,0.0));\n}\nelse\n{\nvSheenRoughnessUV=vec2(sheenRoughnessMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#endif\n#ifdef ANISOTROPIC\n#if defined(ANISOTROPIC_TEXTURE) && ANISOTROPIC_TEXTUREDIRECTUV == 0\nif (vAnisotropyInfos.x == 0.)\n{\nvAnisotropyUV=vec2(anisotropyMatrix*vec4(uvUpdated,1.0,0.0));\n}\nelse\n{\nvAnisotropyUV=vec2(anisotropyMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#endif\n#ifdef SUBSURFACE\n#if defined(SS_THICKNESSANDMASK_TEXTURE) && SS_THICKNESSANDMASK_TEXTUREDIRECTUV == 0\nif (vThicknessInfos.x == 0.)\n{\nvThicknessUV=vec2(thicknessMatrix*vec4(uvUpdated,1.0,0.0));\n}\nelse\n{\nvThicknessUV=vec2(thicknessMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#endif\n\n#include\n\n#include\n\n#include\n\n#include[0..maxSimultaneousLights]\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n\n#include\n#define CUSTOM_VERTEX_MAIN_END\n}`;\n\nEffect.ShadersStore[name] = shader;\n/** @hidden */\nexport var pbrVertexShader = { name, shader };\n","import { serialize, serializeAsImageProcessingConfiguration, expandToProperty } from \"../../Misc/decorators\";\r\nimport { Observer } from \"../../Misc/observable\";\r\nimport { Logger } from \"../../Misc/logger\";\r\nimport { SmartArray } from \"../../Misc/smartArray\";\r\nimport { BRDFTextureTools } from \"../../Misc/brdfTextureTools\";\r\nimport { Nullable } from \"../../types\";\r\nimport { Camera } from \"../../Cameras/camera\";\r\nimport { Scene } from \"../../scene\";\r\nimport { Matrix, Vector4 } from \"../../Maths/math.vector\";\r\nimport { VertexBuffer } from \"../../Meshes/buffer\";\r\nimport { SubMesh } from \"../../Meshes/subMesh\";\r\nimport { AbstractMesh } from \"../../Meshes/abstractMesh\";\r\nimport { Mesh } from \"../../Meshes/mesh\";\r\nimport { IMaterialClearCoatDefines, PBRClearCoatConfiguration } from \"./pbrClearCoatConfiguration\";\r\nimport { IMaterialAnisotropicDefines, PBRAnisotropicConfiguration } from \"./pbrAnisotropicConfiguration\";\r\nimport { IMaterialBRDFDefines, PBRBRDFConfiguration } from \"./pbrBRDFConfiguration\";\r\nimport { IMaterialSheenDefines, PBRSheenConfiguration } from \"./pbrSheenConfiguration\";\r\nimport { IMaterialSubSurfaceDefines, PBRSubSurfaceConfiguration } from \"./pbrSubSurfaceConfiguration\";\r\nimport { PrePassConfiguration } from \"../prePassConfiguration\";\r\nimport { Color3, TmpColors } from '../../Maths/math.color';\r\nimport { Scalar } from \"../../Maths/math.scalar\";\r\n\r\nimport { ImageProcessingConfiguration, IImageProcessingConfigurationDefines } from \"../../Materials/imageProcessingConfiguration\";\r\nimport { Effect, IEffectCreationOptions } from \"../../Materials/effect\";\r\nimport { Material, IMaterialCompilationOptions, ICustomShaderNameResolveOptions } from \"../../Materials/material\";\r\nimport { MaterialDefines } from \"../../Materials/materialDefines\";\r\nimport { PushMaterial } from \"../../Materials/pushMaterial\";\r\nimport { MaterialHelper } from \"../../Materials/materialHelper\";\r\n\r\nimport { BaseTexture } from \"../../Materials/Textures/baseTexture\";\r\nimport { Texture } from \"../../Materials/Textures/texture\";\r\nimport { RenderTargetTexture } from \"../../Materials/Textures/renderTargetTexture\";\r\nimport { CubeTexture } from \"../../Materials/Textures/cubeTexture\";\r\n\r\nimport { MaterialFlags } from \"../materialFlags\";\r\n\r\nimport { IAnimatable } from '../../Animations/animatable.interface';\r\n\r\nimport \"../../Materials/Textures/baseTexture.polynomial\";\r\nimport \"../../Shaders/pbr.fragment\";\r\nimport \"../../Shaders/pbr.vertex\";\r\n\r\nimport { EffectFallbacks } from '../effectFallbacks';\r\nimport { IMaterialDetailMapDefines, DetailMapConfiguration } from '../material.detailMapConfiguration';\r\n\r\ndeclare type PrePassRenderer = import(\"../../Rendering/prePassRenderer\").PrePassRenderer;\r\n\r\nconst onCreatedEffectParameters = { effect: null as unknown as Effect, subMesh: null as unknown as Nullable };\r\n\r\n/**\r\n * Manages the defines for the PBR Material.\r\n * @hidden\r\n */\r\nexport class PBRMaterialDefines extends MaterialDefines\r\n implements IImageProcessingConfigurationDefines,\r\n IMaterialClearCoatDefines,\r\n IMaterialAnisotropicDefines,\r\n IMaterialBRDFDefines,\r\n IMaterialSheenDefines,\r\n IMaterialSubSurfaceDefines,\r\n IMaterialDetailMapDefines {\r\n public PBR = true;\r\n\r\n public NUM_SAMPLES = \"0\";\r\n public REALTIME_FILTERING = false;\r\n\r\n public MAINUV1 = false;\r\n public MAINUV2 = false;\r\n public UV1 = false;\r\n public UV2 = false;\r\n\r\n public ALBEDO = false;\r\n public GAMMAALBEDO = false;\r\n public ALBEDODIRECTUV = 0;\r\n public VERTEXCOLOR = false;\r\n\r\n public DETAIL = false;\r\n public DETAILDIRECTUV = 0;\r\n public DETAIL_NORMALBLENDMETHOD = 0;\r\n\r\n public AMBIENT = false;\r\n public AMBIENTDIRECTUV = 0;\r\n public AMBIENTINGRAYSCALE = false;\r\n\r\n public OPACITY = false;\r\n public VERTEXALPHA = false;\r\n public OPACITYDIRECTUV = 0;\r\n public OPACITYRGB = false;\r\n public ALPHATEST = false;\r\n public DEPTHPREPASS = false;\r\n public ALPHABLEND = false;\r\n public ALPHAFROMALBEDO = false;\r\n public ALPHATESTVALUE = \"0.5\";\r\n public SPECULAROVERALPHA = false;\r\n public RADIANCEOVERALPHA = false;\r\n public ALPHAFRESNEL = false;\r\n public LINEARALPHAFRESNEL = false;\r\n public PREMULTIPLYALPHA = false;\r\n\r\n public EMISSIVE = false;\r\n public EMISSIVEDIRECTUV = 0;\r\n\r\n public REFLECTIVITY = false;\r\n public REFLECTIVITYDIRECTUV = 0;\r\n public SPECULARTERM = false;\r\n\r\n public MICROSURFACEFROMREFLECTIVITYMAP = false;\r\n public MICROSURFACEAUTOMATIC = false;\r\n public LODBASEDMICROSFURACE = false;\r\n public MICROSURFACEMAP = false;\r\n public MICROSURFACEMAPDIRECTUV = 0;\r\n\r\n public METALLICWORKFLOW = false;\r\n public ROUGHNESSSTOREINMETALMAPALPHA = false;\r\n public ROUGHNESSSTOREINMETALMAPGREEN = false;\r\n public METALLNESSSTOREINMETALMAPBLUE = false;\r\n public AOSTOREINMETALMAPRED = false;\r\n public METALLIC_REFLECTANCE = false;\r\n public METALLIC_REFLECTANCEDIRECTUV = 0;\r\n\r\n public ENVIRONMENTBRDF = false;\r\n public ENVIRONMENTBRDF_RGBD = false;\r\n\r\n public NORMAL = false;\r\n public TANGENT = false;\r\n public BUMP = false;\r\n public BUMPDIRECTUV = 0;\r\n public OBJECTSPACE_NORMALMAP = false;\r\n public PARALLAX = false;\r\n public PARALLAXOCCLUSION = false;\r\n public NORMALXYSCALE = true;\r\n\r\n public LIGHTMAP = false;\r\n public LIGHTMAPDIRECTUV = 0;\r\n public USELIGHTMAPASSHADOWMAP = false;\r\n public GAMMALIGHTMAP = false;\r\n public RGBDLIGHTMAP = false;\r\n\r\n public REFLECTION = false;\r\n public REFLECTIONMAP_3D = false;\r\n public REFLECTIONMAP_SPHERICAL = false;\r\n public REFLECTIONMAP_PLANAR = false;\r\n public REFLECTIONMAP_CUBIC = false;\r\n public USE_LOCAL_REFLECTIONMAP_CUBIC = false;\r\n public REFLECTIONMAP_PROJECTION = false;\r\n public REFLECTIONMAP_SKYBOX = false;\r\n public REFLECTIONMAP_EXPLICIT = false;\r\n public REFLECTIONMAP_EQUIRECTANGULAR = false;\r\n public REFLECTIONMAP_EQUIRECTANGULAR_FIXED = false;\r\n public REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED = false;\r\n public INVERTCUBICMAP = false;\r\n public USESPHERICALFROMREFLECTIONMAP = false;\r\n public USEIRRADIANCEMAP = false;\r\n public SPHERICAL_HARMONICS = false;\r\n public USESPHERICALINVERTEX = false;\r\n public REFLECTIONMAP_OPPOSITEZ = false;\r\n public LODINREFLECTIONALPHA = false;\r\n public GAMMAREFLECTION = false;\r\n public RGBDREFLECTION = false;\r\n public LINEARSPECULARREFLECTION = false;\r\n public RADIANCEOCCLUSION = false;\r\n public HORIZONOCCLUSION = false;\r\n\r\n public INSTANCES = false;\r\n public THIN_INSTANCES = false;\r\n\r\n public PREPASS = false;\r\n public PREPASS_IRRADIANCE = false;\r\n public PREPASS_IRRADIANCE_INDEX = -1;\r\n public PREPASS_ALBEDO = false;\r\n public PREPASS_ALBEDO_INDEX = -1;\r\n public PREPASS_DEPTHNORMAL = false;\r\n public PREPASS_DEPTHNORMAL_INDEX = -1;\r\n public PREPASS_POSITION = false;\r\n public PREPASS_POSITION_INDEX = -1;\r\n public PREPASS_VELOCITY = false;\r\n public PREPASS_VELOCITY_INDEX = -1;\r\n public PREPASS_REFLECTIVITY = false;\r\n public PREPASS_REFLECTIVITY_INDEX = -1;\r\n public SCENE_MRT_COUNT = 0;\r\n\r\n public NUM_BONE_INFLUENCERS = 0;\r\n public BonesPerMesh = 0;\r\n public BONETEXTURE = false;\r\n public BONES_VELOCITY_ENABLED = false;\r\n\r\n public NONUNIFORMSCALING = false;\r\n\r\n public MORPHTARGETS = false;\r\n public MORPHTARGETS_NORMAL = false;\r\n public MORPHTARGETS_TANGENT = false;\r\n public MORPHTARGETS_UV = false;\r\n public NUM_MORPH_INFLUENCERS = 0;\r\n\r\n public IMAGEPROCESSING = false;\r\n public VIGNETTE = false;\r\n public VIGNETTEBLENDMODEMULTIPLY = false;\r\n public VIGNETTEBLENDMODEOPAQUE = false;\r\n public TONEMAPPING = false;\r\n public TONEMAPPING_ACES = false;\r\n public CONTRAST = false;\r\n public COLORCURVES = false;\r\n public COLORGRADING = false;\r\n public COLORGRADING3D = false;\r\n public SAMPLER3DGREENDEPTH = false;\r\n public SAMPLER3DBGRMAP = false;\r\n public IMAGEPROCESSINGPOSTPROCESS = false;\r\n public EXPOSURE = false;\r\n public MULTIVIEW = false;\r\n\r\n public USEPHYSICALLIGHTFALLOFF = false;\r\n public USEGLTFLIGHTFALLOFF = false;\r\n public TWOSIDEDLIGHTING = false;\r\n public SHADOWFLOAT = false;\r\n public CLIPPLANE = false;\r\n public CLIPPLANE2 = false;\r\n public CLIPPLANE3 = false;\r\n public CLIPPLANE4 = false;\r\n public CLIPPLANE5 = false;\r\n public CLIPPLANE6 = false;\r\n public POINTSIZE = false;\r\n public FOG = false;\r\n public LOGARITHMICDEPTH = false;\r\n\r\n public FORCENORMALFORWARD = false;\r\n\r\n public SPECULARAA = false;\r\n\r\n public CLEARCOAT = false;\r\n public CLEARCOAT_DEFAULTIOR = false;\r\n public CLEARCOAT_TEXTURE = false;\r\n public CLEARCOAT_TEXTURE_ROUGHNESS = false;\r\n public CLEARCOAT_TEXTUREDIRECTUV = 0;\r\n public CLEARCOAT_TEXTURE_ROUGHNESSDIRECTUV = 0;\r\n public CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE = false;\r\n public CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL = false;\r\n public CLEARCOAT_BUMP = false;\r\n public CLEARCOAT_BUMPDIRECTUV = 0;\r\n public CLEARCOAT_REMAP_F0 = true;\r\n public CLEARCOAT_TINT = false;\r\n public CLEARCOAT_TINT_TEXTURE = false;\r\n public CLEARCOAT_TINT_TEXTUREDIRECTUV = 0;\r\n\r\n public ANISOTROPIC = false;\r\n public ANISOTROPIC_TEXTURE = false;\r\n public ANISOTROPIC_TEXTUREDIRECTUV = 0;\r\n\r\n public BRDF_V_HEIGHT_CORRELATED = false;\r\n public MS_BRDF_ENERGY_CONSERVATION = false;\r\n public SPECULAR_GLOSSINESS_ENERGY_CONSERVATION = false;\r\n\r\n public SHEEN = false;\r\n public SHEEN_TEXTURE = false;\r\n public SHEEN_TEXTURE_ROUGHNESS = false;\r\n public SHEEN_TEXTUREDIRECTUV = 0;\r\n public SHEEN_TEXTURE_ROUGHNESSDIRECTUV = 0;\r\n public SHEEN_LINKWITHALBEDO = false;\r\n public SHEEN_ROUGHNESS = false;\r\n public SHEEN_ALBEDOSCALING = false;\r\n public SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE = false;\r\n public SHEEN_TEXTURE_ROUGHNESS_IDENTICAL = false;\r\n\r\n public SUBSURFACE = false;\r\n\r\n public SS_REFRACTION = false;\r\n public SS_TRANSLUCENCY = false;\r\n public SS_SCATTERING = false;\r\n\r\n public SS_THICKNESSANDMASK_TEXTURE = false;\r\n public SS_THICKNESSANDMASK_TEXTUREDIRECTUV = 0;\r\n\r\n public SS_REFRACTIONMAP_3D = false;\r\n public SS_REFRACTIONMAP_OPPOSITEZ = false;\r\n public SS_LODINREFRACTIONALPHA = false;\r\n public SS_GAMMAREFRACTION = false;\r\n public SS_RGBDREFRACTION = false;\r\n public SS_LINEARSPECULARREFRACTION = false;\r\n public SS_LINKREFRACTIONTOTRANSPARENCY = false;\r\n public SS_ALBEDOFORREFRACTIONTINT = false;\r\n\r\n public SS_MASK_FROM_THICKNESS_TEXTURE = false;\r\n public SS_MASK_FROM_THICKNESS_TEXTURE_GLTF = false;\r\n\r\n public UNLIT = false;\r\n\r\n public DEBUGMODE = 0;\r\n\r\n /**\r\n * Initializes the PBR Material defines.\r\n */\r\n constructor() {\r\n super();\r\n this.rebuild();\r\n }\r\n\r\n /**\r\n * Resets the PBR Material defines.\r\n */\r\n public reset(): void {\r\n super.reset();\r\n this.ALPHATESTVALUE = \"0.5\";\r\n this.PBR = true;\r\n }\r\n}\r\n\r\n/**\r\n * The Physically based material base class of BJS.\r\n *\r\n * This offers the main features of a standard PBR material.\r\n * For more information, please refer to the documentation :\r\n * https://doc.babylonjs.com/how_to/physically_based_rendering\r\n */\r\nexport abstract class PBRBaseMaterial extends PushMaterial {\r\n /**\r\n * PBRMaterialTransparencyMode: No transparency mode, Alpha channel is not use.\r\n */\r\n public static readonly PBRMATERIAL_OPAQUE = Material.MATERIAL_OPAQUE;\r\n\r\n /**\r\n * PBRMaterialTransparencyMode: Alpha Test mode, pixel are discarded below a certain threshold defined by the alpha cutoff value.\r\n */\r\n public static readonly PBRMATERIAL_ALPHATEST = Material.MATERIAL_ALPHATEST;\r\n\r\n /**\r\n * PBRMaterialTransparencyMode: Pixels are blended (according to the alpha mode) with the already drawn pixels in the current frame buffer.\r\n */\r\n public static readonly PBRMATERIAL_ALPHABLEND = Material.MATERIAL_ALPHABLEND;\r\n\r\n /**\r\n * PBRMaterialTransparencyMode: Pixels are blended (according to the alpha mode) with the already drawn pixels in the current frame buffer.\r\n * They are also discarded below the alpha cutoff threshold to improve performances.\r\n */\r\n public static readonly PBRMATERIAL_ALPHATESTANDBLEND = Material.MATERIAL_ALPHATESTANDBLEND;\r\n\r\n /**\r\n * Defines the default value of how much AO map is occluding the analytical lights\r\n * (point spot...).\r\n */\r\n public static DEFAULT_AO_ON_ANALYTICAL_LIGHTS = 0;\r\n\r\n /**\r\n * PBRMaterialLightFalloff Physical: light is falling off following the inverse squared distance law.\r\n */\r\n public static readonly LIGHTFALLOFF_PHYSICAL = 0;\r\n\r\n /**\r\n * PBRMaterialLightFalloff gltf: light is falling off as described in the gltf moving to PBR document\r\n * to enhance interoperability with other engines.\r\n */\r\n public static readonly LIGHTFALLOFF_GLTF = 1;\r\n\r\n /**\r\n * PBRMaterialLightFalloff Standard: light is falling off like in the standard material\r\n * to enhance interoperability with other materials.\r\n */\r\n public static readonly LIGHTFALLOFF_STANDARD = 2;\r\n\r\n /**\r\n * Intensity of the direct lights e.g. the four lights available in your scene.\r\n * This impacts both the direct diffuse and specular highlights.\r\n */\r\n protected _directIntensity: number = 1.0;\r\n\r\n /**\r\n * Intensity of the emissive part of the material.\r\n * This helps controlling the emissive effect without modifying the emissive color.\r\n */\r\n protected _emissiveIntensity: number = 1.0;\r\n\r\n /**\r\n * Intensity of the environment e.g. how much the environment will light the object\r\n * either through harmonics for rough material or through the refelction for shiny ones.\r\n */\r\n protected _environmentIntensity: number = 1.0;\r\n\r\n /**\r\n * This is a special control allowing the reduction of the specular highlights coming from the\r\n * four lights of the scene. Those highlights may not be needed in full environment lighting.\r\n */\r\n protected _specularIntensity: number = 1.0;\r\n\r\n /**\r\n * This stores the direct, emissive, environment, and specular light intensities into a Vector4.\r\n */\r\n private _lightingInfos: Vector4 = new Vector4(this._directIntensity, this._emissiveIntensity, this._environmentIntensity, this._specularIntensity);\r\n\r\n /**\r\n * Debug Control allowing disabling the bump map on this material.\r\n */\r\n protected _disableBumpMap: boolean = false;\r\n\r\n /**\r\n * AKA Diffuse Texture in standard nomenclature.\r\n */\r\n protected _albedoTexture: Nullable = null;\r\n\r\n /**\r\n * AKA Occlusion Texture in other nomenclature.\r\n */\r\n protected _ambientTexture: Nullable = null;\r\n\r\n /**\r\n * AKA Occlusion Texture Intensity in other nomenclature.\r\n */\r\n protected _ambientTextureStrength: number = 1.0;\r\n\r\n /**\r\n * Defines how much the AO map is occluding the analytical lights (point spot...).\r\n * 1 means it completely occludes it\r\n * 0 mean it has no impact\r\n */\r\n protected _ambientTextureImpactOnAnalyticalLights: number = PBRBaseMaterial.DEFAULT_AO_ON_ANALYTICAL_LIGHTS;\r\n\r\n /**\r\n * Stores the alpha values in a texture.\r\n */\r\n protected _opacityTexture: Nullable = null;\r\n\r\n /**\r\n * Stores the reflection values in a texture.\r\n */\r\n protected _reflectionTexture: Nullable = null;\r\n\r\n /**\r\n * Stores the emissive values in a texture.\r\n */\r\n protected _emissiveTexture: Nullable = null;\r\n\r\n /**\r\n * AKA Specular texture in other nomenclature.\r\n */\r\n protected _reflectivityTexture: Nullable = null;\r\n\r\n /**\r\n * Used to switch from specular/glossiness to metallic/roughness workflow.\r\n */\r\n protected _metallicTexture: Nullable = null;\r\n\r\n /**\r\n * Specifies the metallic scalar of the metallic/roughness workflow.\r\n * Can also be used to scale the metalness values of the metallic texture.\r\n */\r\n protected _metallic: Nullable = null;\r\n\r\n /**\r\n * Specifies the roughness scalar of the metallic/roughness workflow.\r\n * Can also be used to scale the roughness values of the metallic texture.\r\n */\r\n protected _roughness: Nullable = null;\r\n\r\n /**\r\n * In metallic workflow, specifies an F0 factor to help configuring the material F0.\r\n * By default the indexOfrefraction is used to compute F0;\r\n *\r\n * This is used as a factor against the default reflectance at normal incidence to tweak it.\r\n *\r\n * F0 = defaultF0 * metallicF0Factor * metallicReflectanceColor;\r\n * F90 = metallicReflectanceColor;\r\n */\r\n protected _metallicF0Factor = 1;\r\n\r\n /**\r\n * In metallic workflow, specifies an F90 color to help configuring the material F90.\r\n * By default the F90 is always 1;\r\n *\r\n * Please note that this factor is also used as a factor against the default reflectance at normal incidence.\r\n *\r\n * F0 = defaultF0 * metallicF0Factor * metallicReflectanceColor\r\n * F90 = metallicReflectanceColor;\r\n */\r\n protected _metallicReflectanceColor = Color3.White();\r\n\r\n /**\r\n * Defines to store metallicReflectanceColor in RGB and metallicF0Factor in A\r\n * This is multiply against the scalar values defined in the material.\r\n */\r\n protected _metallicReflectanceTexture: Nullable = null;\r\n\r\n /**\r\n * Used to enable roughness/glossiness fetch from a separate channel depending on the current mode.\r\n * Gray Scale represents roughness in metallic mode and glossiness in specular mode.\r\n */\r\n protected _microSurfaceTexture: Nullable = null;\r\n\r\n /**\r\n * Stores surface normal data used to displace a mesh in a texture.\r\n */\r\n protected _bumpTexture: Nullable = null;\r\n\r\n /**\r\n * Stores the pre-calculated light information of a mesh in a texture.\r\n */\r\n protected _lightmapTexture: Nullable = null;\r\n\r\n /**\r\n * The color of a material in ambient lighting.\r\n */\r\n protected _ambientColor = new Color3(0, 0, 0);\r\n\r\n /**\r\n * AKA Diffuse Color in other nomenclature.\r\n */\r\n protected _albedoColor = new Color3(1, 1, 1);\r\n\r\n /**\r\n * AKA Specular Color in other nomenclature.\r\n */\r\n protected _reflectivityColor = new Color3(1, 1, 1);\r\n\r\n /**\r\n * The color applied when light is reflected from a material.\r\n */\r\n protected _reflectionColor = new Color3(1, 1, 1);\r\n\r\n /**\r\n * The color applied when light is emitted from a material.\r\n */\r\n protected _emissiveColor = new Color3(0, 0, 0);\r\n\r\n /**\r\n * AKA Glossiness in other nomenclature.\r\n */\r\n protected _microSurface = 0.9;\r\n\r\n /**\r\n * Specifies that the material will use the light map as a show map.\r\n */\r\n protected _useLightmapAsShadowmap = false;\r\n\r\n /**\r\n * This parameters will enable/disable Horizon occlusion to prevent normal maps to look shiny when the normal\r\n * makes the reflect vector face the model (under horizon).\r\n */\r\n protected _useHorizonOcclusion = true;\r\n\r\n /**\r\n * This parameters will enable/disable radiance occlusion by preventing the radiance to lit\r\n * too much the area relying on ambient texture to define their ambient occlusion.\r\n */\r\n protected _useRadianceOcclusion = true;\r\n\r\n /**\r\n * Specifies that the alpha is coming form the albedo channel alpha channel for alpha blending.\r\n */\r\n protected _useAlphaFromAlbedoTexture = false;\r\n\r\n /**\r\n * Specifies that the material will keeps the specular highlights over a transparent surface (only the most limunous ones).\r\n * A car glass is a good exemple of that. When sun reflects on it you can not see what is behind.\r\n */\r\n protected _useSpecularOverAlpha = true;\r\n\r\n /**\r\n * Specifies if the reflectivity texture contains the glossiness information in its alpha channel.\r\n */\r\n protected _useMicroSurfaceFromReflectivityMapAlpha = false;\r\n\r\n /**\r\n * Specifies if the metallic texture contains the roughness information in its alpha channel.\r\n */\r\n protected _useRoughnessFromMetallicTextureAlpha = true;\r\n\r\n /**\r\n * Specifies if the metallic texture contains the roughness information in its green channel.\r\n */\r\n protected _useRoughnessFromMetallicTextureGreen = false;\r\n\r\n /**\r\n * Specifies if the metallic texture contains the metallness information in its blue channel.\r\n */\r\n protected _useMetallnessFromMetallicTextureBlue = false;\r\n\r\n /**\r\n * Specifies if the metallic texture contains the ambient occlusion information in its red channel.\r\n */\r\n protected _useAmbientOcclusionFromMetallicTextureRed = false;\r\n\r\n /**\r\n * Specifies if the ambient texture contains the ambient occlusion information in its red channel only.\r\n */\r\n protected _useAmbientInGrayScale = false;\r\n\r\n /**\r\n * In case the reflectivity map does not contain the microsurface information in its alpha channel,\r\n * The material will try to infer what glossiness each pixel should be.\r\n */\r\n protected _useAutoMicroSurfaceFromReflectivityMap = false;\r\n\r\n /**\r\n * Defines the falloff type used in this material.\r\n * It by default is Physical.\r\n */\r\n protected _lightFalloff = PBRBaseMaterial.LIGHTFALLOFF_PHYSICAL;\r\n\r\n /**\r\n * Specifies that the material will keeps the reflection highlights over a transparent surface (only the most limunous ones).\r\n * A car glass is a good exemple of that. When the street lights reflects on it you can not see what is behind.\r\n */\r\n protected _useRadianceOverAlpha = true;\r\n\r\n /**\r\n * Allows using an object space normal map (instead of tangent space).\r\n */\r\n protected _useObjectSpaceNormalMap = false;\r\n\r\n /**\r\n * Allows using the bump map in parallax mode.\r\n */\r\n protected _useParallax = false;\r\n\r\n /**\r\n * Allows using the bump map in parallax occlusion mode.\r\n */\r\n protected _useParallaxOcclusion = false;\r\n\r\n /**\r\n * Controls the scale bias of the parallax mode.\r\n */\r\n protected _parallaxScaleBias = 0.05;\r\n\r\n /**\r\n * If sets to true, disables all the lights affecting the material.\r\n */\r\n protected _disableLighting = false;\r\n\r\n /**\r\n * Number of Simultaneous lights allowed on the material.\r\n */\r\n protected _maxSimultaneousLights = 4;\r\n\r\n /**\r\n * If sets to true, x component of normal map value will be inverted (x = 1.0 - x).\r\n */\r\n protected _invertNormalMapX = false;\r\n\r\n /**\r\n * If sets to true, y component of normal map value will be inverted (y = 1.0 - y).\r\n */\r\n protected _invertNormalMapY = false;\r\n\r\n /**\r\n * If sets to true and backfaceCulling is false, normals will be flipped on the backside.\r\n */\r\n protected _twoSidedLighting = false;\r\n\r\n /**\r\n * Defines the alpha limits in alpha test mode.\r\n */\r\n protected _alphaCutOff = 0.4;\r\n\r\n /**\r\n * Enforces alpha test in opaque or blend mode in order to improve the performances of some situations.\r\n */\r\n protected _forceAlphaTest = false;\r\n\r\n /**\r\n * A fresnel is applied to the alpha of the model to ensure grazing angles edges are not alpha tested.\r\n * And/Or occlude the blended part. (alpha is converted to gamma to compute the fresnel)\r\n */\r\n protected _useAlphaFresnel = false;\r\n\r\n /**\r\n * A fresnel is applied to the alpha of the model to ensure grazing angles edges are not alpha tested.\r\n * And/Or occlude the blended part. (alpha stays linear to compute the fresnel)\r\n */\r\n protected _useLinearAlphaFresnel = false;\r\n\r\n /**\r\n * Specifies the environment BRDF texture used to comput the scale and offset roughness values\r\n * from cos thetav and roughness:\r\n * http://blog.selfshadow.com/publications/s2013-shading-course/karis/s2013_pbs_epic_notes_v2.pdf\r\n */\r\n protected _environmentBRDFTexture: Nullable = null;\r\n\r\n /**\r\n * Force the shader to compute irradiance in the fragment shader in order to take bump in account.\r\n */\r\n protected _forceIrradianceInFragment = false;\r\n\r\n private _realTimeFiltering: boolean = false;\r\n /**\r\n * Enables realtime filtering on the texture.\r\n */\r\n public get realTimeFiltering() {\r\n return this._realTimeFiltering;\r\n }\r\n public set realTimeFiltering(b: boolean) {\r\n this._realTimeFiltering = b;\r\n this.markAsDirty(1);\r\n }\r\n\r\n private _realTimeFilteringQuality: number = 8;\r\n /**\r\n * Quality switch for realtime filtering\r\n */\r\n public get realTimeFilteringQuality() : number {\r\n return this._realTimeFilteringQuality;\r\n }\r\n public set realTimeFilteringQuality(n: number) {\r\n this._realTimeFilteringQuality = n;\r\n this.markAsDirty(1);\r\n }\r\n\r\n /**\r\n * Can this material render to several textures at once\r\n */\r\n public get canRenderToMRT() {\r\n return true;\r\n }\r\n\r\n /**\r\n * Force normal to face away from face.\r\n */\r\n protected _forceNormalForward = false;\r\n\r\n /**\r\n * Enables specular anti aliasing in the PBR shader.\r\n * It will both interacts on the Geometry for analytical and IBL lighting.\r\n * It also prefilter the roughness map based on the bump values.\r\n */\r\n protected _enableSpecularAntiAliasing = false;\r\n\r\n /**\r\n * Default configuration related to image processing available in the PBR Material.\r\n */\r\n @serializeAsImageProcessingConfiguration()\r\n protected _imageProcessingConfiguration: ImageProcessingConfiguration;\r\n\r\n /**\r\n * Keep track of the image processing observer to allow dispose and replace.\r\n */\r\n private _imageProcessingObserver: Nullable> = null;\r\n\r\n /**\r\n * Attaches a new image processing configuration to the PBR Material.\r\n * @param configuration\r\n */\r\n protected _attachImageProcessingConfiguration(configuration: Nullable): void {\r\n if (configuration === this._imageProcessingConfiguration) {\r\n return;\r\n }\r\n\r\n // Detaches observer.\r\n if (this._imageProcessingConfiguration && this._imageProcessingObserver) {\r\n this._imageProcessingConfiguration.onUpdateParameters.remove(this._imageProcessingObserver);\r\n }\r\n\r\n // Pick the scene configuration if needed.\r\n if (!configuration) {\r\n this._imageProcessingConfiguration = this.getScene().imageProcessingConfiguration;\r\n }\r\n else {\r\n this._imageProcessingConfiguration = configuration;\r\n }\r\n\r\n // Attaches observer.\r\n if (this._imageProcessingConfiguration) {\r\n this._imageProcessingObserver = this._imageProcessingConfiguration.onUpdateParameters.add(() => {\r\n this._markAllSubMeshesAsImageProcessingDirty();\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Stores the available render targets.\r\n */\r\n private _renderTargets = new SmartArray(16);\r\n\r\n /**\r\n * Sets the global ambient color for the material used in lighting calculations.\r\n */\r\n private _globalAmbientColor = new Color3(0, 0, 0);\r\n\r\n /**\r\n * Enables the use of logarithmic depth buffers, which is good for wide depth buffers.\r\n */\r\n private _useLogarithmicDepth: boolean = false;\r\n\r\n /**\r\n * If set to true, no lighting calculations will be applied.\r\n */\r\n private _unlit = false;\r\n\r\n private _debugMode = 0;\r\n /**\r\n * @hidden\r\n * This is reserved for the inspector.\r\n * Defines the material debug mode.\r\n * It helps seeing only some components of the material while troubleshooting.\r\n */\r\n @expandToProperty(\"_markAllSubMeshesAsMiscDirty\")\r\n public debugMode = 0;\r\n\r\n /**\r\n * @hidden\r\n * This is reserved for the inspector.\r\n * Specify from where on screen the debug mode should start.\r\n * The value goes from -1 (full screen) to 1 (not visible)\r\n * It helps with side by side comparison against the final render\r\n * This defaults to -1\r\n */\r\n private debugLimit = -1;\r\n\r\n /**\r\n * @hidden\r\n * This is reserved for the inspector.\r\n * As the default viewing range might not be enough (if the ambient is really small for instance)\r\n * You can use the factor to better multiply the final value.\r\n */\r\n private debugFactor = 1;\r\n\r\n /**\r\n * Defines the clear coat layer parameters for the material.\r\n */\r\n public readonly clearCoat = new PBRClearCoatConfiguration(this._markAllSubMeshesAsTexturesDirty.bind(this));\r\n\r\n /**\r\n * Defines the anisotropic parameters for the material.\r\n */\r\n public readonly anisotropy = new PBRAnisotropicConfiguration(this._markAllSubMeshesAsTexturesDirty.bind(this));\r\n\r\n /**\r\n * Defines the BRDF parameters for the material.\r\n */\r\n public readonly brdf = new PBRBRDFConfiguration(this._markAllSubMeshesAsMiscDirty.bind(this));\r\n\r\n /**\r\n * Defines the Sheen parameters for the material.\r\n */\r\n public readonly sheen = new PBRSheenConfiguration(this._markAllSubMeshesAsTexturesDirty.bind(this));\r\n\r\n /**\r\n * Defines the SubSurface parameters for the material.\r\n */\r\n public readonly subSurface: PBRSubSurfaceConfiguration;\r\n\r\n /**\r\n * Defines additionnal PrePass parameters for the material.\r\n */\r\n public readonly prePassConfiguration: PrePassConfiguration;\r\n\r\n /**\r\n * Defines the detail map parameters for the material.\r\n */\r\n public readonly detailMap = new DetailMapConfiguration(this._markAllSubMeshesAsTexturesDirty.bind(this));\r\n\r\n protected _rebuildInParallel = false;\r\n\r\n /**\r\n * Instantiates a new PBRMaterial instance.\r\n *\r\n * @param name The material name\r\n * @param scene The scene the material will be use in.\r\n */\r\n constructor(name: string, scene: Scene) {\r\n super(name, scene);\r\n\r\n // Setup the default processing configuration to the scene.\r\n this._attachImageProcessingConfiguration(null);\r\n\r\n this.getRenderTargetTextures = (): SmartArray => {\r\n this._renderTargets.reset();\r\n\r\n if (MaterialFlags.ReflectionTextureEnabled && this._reflectionTexture && this._reflectionTexture.isRenderTarget) {\r\n this._renderTargets.push(this._reflectionTexture);\r\n }\r\n\r\n this.subSurface.fillRenderTargetTextures(this._renderTargets);\r\n\r\n return this._renderTargets;\r\n };\r\n\r\n this._environmentBRDFTexture = BRDFTextureTools.GetEnvironmentBRDFTexture(scene);\r\n this.subSurface = new PBRSubSurfaceConfiguration(this._markAllSubMeshesAsTexturesDirty.bind(this), this._markScenePrePassDirty.bind(this), scene);\r\n this.prePassConfiguration = new PrePassConfiguration();\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating that current material needs to register RTT\r\n */\r\n public get hasRenderTargetTextures(): boolean {\r\n if (MaterialFlags.ReflectionTextureEnabled && this._reflectionTexture && this._reflectionTexture.isRenderTarget) {\r\n return true;\r\n }\r\n\r\n return this.subSurface.hasRenderTargetTextures();\r\n }\r\n\r\n /**\r\n * Gets the name of the material class.\r\n */\r\n public getClassName(): string {\r\n return \"PBRBaseMaterial\";\r\n }\r\n\r\n /**\r\n * Enabled the use of logarithmic depth buffers, which is good for wide depth buffers.\r\n */\r\n @serialize()\r\n public get useLogarithmicDepth(): boolean {\r\n return this._useLogarithmicDepth;\r\n }\r\n\r\n /**\r\n * Enabled the use of logarithmic depth buffers, which is good for wide depth buffers.\r\n */\r\n public set useLogarithmicDepth(value: boolean) {\r\n this._useLogarithmicDepth = value && this.getScene().getEngine().getCaps().fragmentDepthSupported;\r\n }\r\n\r\n /**\r\n * Returns true if alpha blending should be disabled.\r\n */\r\n protected get _disableAlphaBlending(): boolean {\r\n return (this.subSurface.disableAlphaBlending ||\r\n this._transparencyMode === PBRBaseMaterial.PBRMATERIAL_OPAQUE ||\r\n this._transparencyMode === PBRBaseMaterial.PBRMATERIAL_ALPHATEST);\r\n }\r\n\r\n /**\r\n * Specifies whether or not this material should be rendered in alpha blend mode.\r\n */\r\n public needAlphaBlending(): boolean {\r\n if (this._disableAlphaBlending) {\r\n return false;\r\n }\r\n\r\n return (this.alpha < 1.0) || (this._opacityTexture != null) || this._shouldUseAlphaFromAlbedoTexture();\r\n }\r\n\r\n /**\r\n * Specifies whether or not this material should be rendered in alpha test mode.\r\n */\r\n public needAlphaTesting(): boolean {\r\n if (this._forceAlphaTest) {\r\n return true;\r\n }\r\n\r\n if (this.subSurface.disableAlphaBlending) {\r\n return false;\r\n }\r\n\r\n return this._hasAlphaChannel() && (this._transparencyMode == null || this._transparencyMode === PBRBaseMaterial.PBRMATERIAL_ALPHATEST);\r\n }\r\n\r\n /**\r\n * Specifies whether or not the alpha value of the albedo texture should be used for alpha blending.\r\n */\r\n protected _shouldUseAlphaFromAlbedoTexture(): boolean {\r\n return this._albedoTexture != null && this._albedoTexture.hasAlpha && this._useAlphaFromAlbedoTexture && this._transparencyMode !== PBRBaseMaterial.PBRMATERIAL_OPAQUE;\r\n }\r\n\r\n /**\r\n * Specifies whether or not there is a usable alpha channel for transparency.\r\n */\r\n protected _hasAlphaChannel(): boolean {\r\n return (this._albedoTexture != null && this._albedoTexture.hasAlpha) || this._opacityTexture != null;\r\n }\r\n\r\n /**\r\n * Gets the texture used for the alpha test.\r\n */\r\n public getAlphaTestTexture(): Nullable {\r\n return this._albedoTexture;\r\n }\r\n\r\n /**\r\n * Specifies that the submesh is ready to be used.\r\n * @param mesh - BJS mesh.\r\n * @param subMesh - A submesh of the BJS mesh. Used to check if it is ready.\r\n * @param useInstances - Specifies that instances should be used.\r\n * @returns - boolean indicating that the submesh is ready or not.\r\n */\r\n public isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean {\r\n if (subMesh.effect && this.isFrozen) {\r\n if (subMesh.effect._wasPreviouslyReady) {\r\n return true;\r\n }\r\n }\r\n\r\n if (!subMesh._materialDefines) {\r\n subMesh._materialDefines = new PBRMaterialDefines();\r\n }\r\n\r\n const defines = subMesh._materialDefines;\r\n if (this._isReadyForSubMesh(subMesh)) {\r\n return true;\r\n }\r\n\r\n const scene = this.getScene();\r\n const engine = scene.getEngine();\r\n\r\n if (defines._areTexturesDirty) {\r\n if (scene.texturesEnabled) {\r\n if (this._albedoTexture && MaterialFlags.DiffuseTextureEnabled) {\r\n if (!this._albedoTexture.isReadyOrNotBlocking()) {\r\n return false;\r\n }\r\n }\r\n\r\n if (this._ambientTexture && MaterialFlags.AmbientTextureEnabled) {\r\n if (!this._ambientTexture.isReadyOrNotBlocking()) {\r\n return false;\r\n }\r\n }\r\n\r\n if (this._opacityTexture && MaterialFlags.OpacityTextureEnabled) {\r\n if (!this._opacityTexture.isReadyOrNotBlocking()) {\r\n return false;\r\n }\r\n }\r\n\r\n var reflectionTexture = this._getReflectionTexture();\r\n if (reflectionTexture && MaterialFlags.ReflectionTextureEnabled) {\r\n if (!reflectionTexture.isReadyOrNotBlocking()) {\r\n return false;\r\n }\r\n if (reflectionTexture.irradianceTexture && !reflectionTexture.irradianceTexture.isReadyOrNotBlocking()) {\r\n return false;\r\n }\r\n }\r\n\r\n if (this._lightmapTexture && MaterialFlags.LightmapTextureEnabled) {\r\n if (!this._lightmapTexture.isReadyOrNotBlocking()) {\r\n return false;\r\n }\r\n }\r\n\r\n if (this._emissiveTexture && MaterialFlags.EmissiveTextureEnabled) {\r\n if (!this._emissiveTexture.isReadyOrNotBlocking()) {\r\n return false;\r\n }\r\n }\r\n\r\n if (MaterialFlags.SpecularTextureEnabled) {\r\n if (this._metallicTexture) {\r\n if (!this._metallicTexture.isReadyOrNotBlocking()) {\r\n return false;\r\n }\r\n }\r\n else if (this._reflectivityTexture) {\r\n if (!this._reflectivityTexture.isReadyOrNotBlocking()) {\r\n return false;\r\n }\r\n }\r\n\r\n if (this._metallicReflectanceTexture) {\r\n if (!this._metallicReflectanceTexture.isReadyOrNotBlocking()) {\r\n return false;\r\n }\r\n }\r\n\r\n if (this._microSurfaceTexture) {\r\n if (!this._microSurfaceTexture.isReadyOrNotBlocking()) {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n if (engine.getCaps().standardDerivatives && this._bumpTexture && MaterialFlags.BumpTextureEnabled && !this._disableBumpMap) {\r\n // Bump texture cannot be not blocking.\r\n if (!this._bumpTexture.isReady()) {\r\n return false;\r\n }\r\n }\r\n\r\n if (this._environmentBRDFTexture && MaterialFlags.ReflectionTextureEnabled) {\r\n // This is blocking.\r\n if (!this._environmentBRDFTexture.isReady()) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (!this.subSurface.isReadyForSubMesh(defines, scene) ||\r\n !this.clearCoat.isReadyForSubMesh(defines, scene, engine, this._disableBumpMap) ||\r\n !this.sheen.isReadyForSubMesh(defines, scene) ||\r\n !this.anisotropy.isReadyForSubMesh(defines, scene) ||\r\n !this.detailMap.isReadyForSubMesh(defines, scene)) {\r\n return false;\r\n }\r\n\r\n if (defines._areImageProcessingDirty && this._imageProcessingConfiguration) {\r\n if (!this._imageProcessingConfiguration.isReady()) {\r\n return false;\r\n }\r\n }\r\n\r\n if (!engine.getCaps().standardDerivatives && !mesh.isVerticesDataPresent(VertexBuffer.NormalKind)) {\r\n mesh.createNormals(true);\r\n Logger.Warn(\"PBRMaterial: Normals have been created for the mesh: \" + mesh.name);\r\n }\r\n\r\n const previousEffect = subMesh.effect;\r\n const lightDisposed = defines._areLightsDisposed;\r\n let effect = this._prepareEffect(mesh, defines, this.onCompiled, this.onError, useInstances, null, subMesh.getRenderingMesh().hasThinInstances);\r\n\r\n if (effect) {\r\n if (this._onEffectCreatedObservable) {\r\n onCreatedEffectParameters.effect = effect;\r\n onCreatedEffectParameters.subMesh = subMesh;\r\n this._onEffectCreatedObservable.notifyObservers(onCreatedEffectParameters);\r\n }\r\n\r\n // Use previous effect while new one is compiling\r\n if (this.allowShaderHotSwapping && previousEffect && !effect.isReady()) {\r\n effect = previousEffect;\r\n this._rebuildInParallel = true;\r\n defines.markAsUnprocessed();\r\n\r\n if (lightDisposed) {\r\n // re register in case it takes more than one frame.\r\n defines._areLightsDisposed = true;\r\n return false;\r\n }\r\n } else {\r\n this._rebuildInParallel = false;\r\n scene.resetCachedMaterial();\r\n subMesh.setEffect(effect, defines);\r\n this.buildUniformLayout();\r\n }\r\n }\r\n\r\n if (!subMesh.effect || !subMesh.effect.isReady()) {\r\n return false;\r\n }\r\n\r\n defines._renderId = scene.getRenderId();\r\n subMesh.effect._wasPreviouslyReady = true;\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Specifies if the material uses metallic roughness workflow.\r\n * @returns boolean specifiying if the material uses metallic roughness workflow.\r\n */\r\n public isMetallicWorkflow(): boolean {\r\n if (this._metallic != null || this._roughness != null || this._metallicTexture) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private _prepareEffect(mesh: AbstractMesh, defines: PBRMaterialDefines, onCompiled: Nullable<(effect: Effect) => void> = null, onError: Nullable<(effect: Effect, errors: string) => void> = null,\r\n useInstances: Nullable = null, useClipPlane: Nullable = null, useThinInstances: boolean): Nullable {\r\n this._prepareDefines(mesh, defines, useInstances, useClipPlane, useThinInstances);\r\n\r\n if (!defines.isDirty) {\r\n return null;\r\n }\r\n\r\n defines.markAsProcessed();\r\n\r\n const scene = this.getScene();\r\n const engine = scene.getEngine();\r\n\r\n // Fallbacks\r\n var fallbacks = new EffectFallbacks();\r\n var fallbackRank = 0;\r\n if (defines.USESPHERICALINVERTEX) {\r\n fallbacks.addFallback(fallbackRank++, \"USESPHERICALINVERTEX\");\r\n }\r\n\r\n if (defines.FOG) {\r\n fallbacks.addFallback(fallbackRank, \"FOG\");\r\n }\r\n if (defines.SPECULARAA) {\r\n fallbacks.addFallback(fallbackRank, \"SPECULARAA\");\r\n }\r\n if (defines.POINTSIZE) {\r\n fallbacks.addFallback(fallbackRank, \"POINTSIZE\");\r\n }\r\n if (defines.LOGARITHMICDEPTH) {\r\n fallbacks.addFallback(fallbackRank, \"LOGARITHMICDEPTH\");\r\n }\r\n if (defines.PARALLAX) {\r\n fallbacks.addFallback(fallbackRank, \"PARALLAX\");\r\n }\r\n if (defines.PARALLAXOCCLUSION) {\r\n fallbacks.addFallback(fallbackRank++, \"PARALLAXOCCLUSION\");\r\n }\r\n\r\n fallbackRank = PBRAnisotropicConfiguration.AddFallbacks(defines, fallbacks, fallbackRank);\r\n fallbackRank = PBRAnisotropicConfiguration.AddFallbacks(defines, fallbacks, fallbackRank);\r\n fallbackRank = PBRSubSurfaceConfiguration.AddFallbacks(defines, fallbacks, fallbackRank);\r\n fallbackRank = PBRSheenConfiguration.AddFallbacks(defines, fallbacks, fallbackRank);\r\n\r\n if (defines.ENVIRONMENTBRDF) {\r\n fallbacks.addFallback(fallbackRank++, \"ENVIRONMENTBRDF\");\r\n }\r\n\r\n if (defines.TANGENT) {\r\n fallbacks.addFallback(fallbackRank++, \"TANGENT\");\r\n }\r\n\r\n if (defines.BUMP) {\r\n fallbacks.addFallback(fallbackRank++, \"BUMP\");\r\n }\r\n\r\n fallbackRank = MaterialHelper.HandleFallbacksForShadows(defines, fallbacks, this._maxSimultaneousLights, fallbackRank++);\r\n\r\n if (defines.SPECULARTERM) {\r\n fallbacks.addFallback(fallbackRank++, \"SPECULARTERM\");\r\n }\r\n\r\n if (defines.USESPHERICALFROMREFLECTIONMAP) {\r\n fallbacks.addFallback(fallbackRank++, \"USESPHERICALFROMREFLECTIONMAP\");\r\n }\r\n\r\n if (defines.USEIRRADIANCEMAP) {\r\n fallbacks.addFallback(fallbackRank++, \"USEIRRADIANCEMAP\");\r\n }\r\n\r\n if (defines.LIGHTMAP) {\r\n fallbacks.addFallback(fallbackRank++, \"LIGHTMAP\");\r\n }\r\n\r\n if (defines.NORMAL) {\r\n fallbacks.addFallback(fallbackRank++, \"NORMAL\");\r\n }\r\n\r\n if (defines.AMBIENT) {\r\n fallbacks.addFallback(fallbackRank++, \"AMBIENT\");\r\n }\r\n\r\n if (defines.EMISSIVE) {\r\n fallbacks.addFallback(fallbackRank++, \"EMISSIVE\");\r\n }\r\n\r\n if (defines.VERTEXCOLOR) {\r\n fallbacks.addFallback(fallbackRank++, \"VERTEXCOLOR\");\r\n }\r\n\r\n if (defines.MORPHTARGETS) {\r\n fallbacks.addFallback(fallbackRank++, \"MORPHTARGETS\");\r\n }\r\n\r\n if (defines.MULTIVIEW) {\r\n fallbacks.addFallback(0, \"MULTIVIEW\");\r\n }\r\n\r\n //Attributes\r\n var attribs = [VertexBuffer.PositionKind];\r\n\r\n if (defines.NORMAL) {\r\n attribs.push(VertexBuffer.NormalKind);\r\n }\r\n\r\n if (defines.TANGENT) {\r\n attribs.push(VertexBuffer.TangentKind);\r\n }\r\n\r\n if (defines.UV1) {\r\n attribs.push(VertexBuffer.UVKind);\r\n }\r\n\r\n if (defines.UV2) {\r\n attribs.push(VertexBuffer.UV2Kind);\r\n }\r\n\r\n if (defines.VERTEXCOLOR) {\r\n attribs.push(VertexBuffer.ColorKind);\r\n }\r\n\r\n MaterialHelper.PrepareAttributesForBones(attribs, mesh, defines, fallbacks);\r\n MaterialHelper.PrepareAttributesForInstances(attribs, defines);\r\n MaterialHelper.PrepareAttributesForMorphTargets(attribs, mesh, defines);\r\n\r\n var shaderName = \"pbr\";\r\n\r\n var uniforms = [\"world\", \"view\", \"viewProjection\", \"vEyePosition\", \"vLightsType\", \"vAmbientColor\", \"vAlbedoColor\", \"vReflectivityColor\", \"vMetallicReflectanceFactors\", \"vEmissiveColor\", \"visibility\", \"vReflectionColor\",\r\n \"vFogInfos\", \"vFogColor\", \"pointSize\",\r\n \"vAlbedoInfos\", \"vAmbientInfos\", \"vOpacityInfos\", \"vReflectionInfos\", \"vReflectionPosition\", \"vReflectionSize\", \"vEmissiveInfos\", \"vReflectivityInfos\", \"vReflectionFilteringInfo\", \"vMetallicReflectanceInfos\",\r\n \"vMicroSurfaceSamplerInfos\", \"vBumpInfos\", \"vLightmapInfos\",\r\n \"mBones\",\r\n \"vClipPlane\", \"vClipPlane2\", \"vClipPlane3\", \"vClipPlane4\", \"vClipPlane5\", \"vClipPlane6\", \"albedoMatrix\", \"ambientMatrix\", \"opacityMatrix\", \"reflectionMatrix\", \"emissiveMatrix\", \"reflectivityMatrix\", \"normalMatrix\", \"microSurfaceSamplerMatrix\", \"bumpMatrix\", \"lightmapMatrix\", \"metallicReflectanceMatrix\",\r\n \"vLightingIntensity\",\r\n \"logarithmicDepthConstant\",\r\n \"vSphericalX\", \"vSphericalY\", \"vSphericalZ\",\r\n \"vSphericalXX_ZZ\", \"vSphericalYY_ZZ\", \"vSphericalZZ\",\r\n \"vSphericalXY\", \"vSphericalYZ\", \"vSphericalZX\",\r\n \"vSphericalL00\",\r\n \"vSphericalL1_1\", \"vSphericalL10\", \"vSphericalL11\",\r\n \"vSphericalL2_2\", \"vSphericalL2_1\", \"vSphericalL20\", \"vSphericalL21\", \"vSphericalL22\",\r\n \"vReflectionMicrosurfaceInfos\",\r\n \"vTangentSpaceParams\", \"boneTextureWidth\",\r\n \"vDebugMode\"\r\n ];\r\n\r\n var samplers = [\"albedoSampler\", \"reflectivitySampler\", \"ambientSampler\", \"emissiveSampler\",\r\n \"bumpSampler\", \"lightmapSampler\", \"opacitySampler\",\r\n \"reflectionSampler\", \"reflectionSamplerLow\", \"reflectionSamplerHigh\", \"irradianceSampler\",\r\n \"microSurfaceSampler\", \"environmentBrdfSampler\", \"boneSampler\", \"metallicReflectanceSampler\"];\r\n\r\n var uniformBuffers = [\"Material\", \"Scene\"];\r\n\r\n DetailMapConfiguration.AddUniforms(uniforms);\r\n DetailMapConfiguration.AddSamplers(samplers);\r\n\r\n PBRSubSurfaceConfiguration.AddUniforms(uniforms);\r\n PBRSubSurfaceConfiguration.AddSamplers(samplers);\r\n\r\n PBRClearCoatConfiguration.AddUniforms(uniforms);\r\n PBRClearCoatConfiguration.AddSamplers(samplers);\r\n\r\n PBRAnisotropicConfiguration.AddUniforms(uniforms);\r\n PBRAnisotropicConfiguration.AddSamplers(samplers);\r\n\r\n PBRSheenConfiguration.AddUniforms(uniforms);\r\n PBRSheenConfiguration.AddSamplers(samplers);\r\n\r\n PrePassConfiguration.AddUniforms(uniforms);\r\n PrePassConfiguration.AddSamplers(uniforms);\r\n\r\n if (ImageProcessingConfiguration) {\r\n ImageProcessingConfiguration.PrepareUniforms(uniforms, defines);\r\n ImageProcessingConfiguration.PrepareSamplers(samplers, defines);\r\n }\r\n\r\n MaterialHelper.PrepareUniformsAndSamplersList({\r\n uniformsNames: uniforms,\r\n uniformBuffersNames: uniformBuffers,\r\n samplers: samplers,\r\n defines: defines,\r\n maxSimultaneousLights: this._maxSimultaneousLights\r\n });\r\n\r\n const csnrOptions: ICustomShaderNameResolveOptions = {};\r\n\r\n if (this.customShaderNameResolve) {\r\n shaderName = this.customShaderNameResolve(shaderName, uniforms, uniformBuffers, samplers, defines, attribs, csnrOptions);\r\n }\r\n\r\n var join = defines.toString();\r\n return engine.createEffect(shaderName, {\r\n attributes: attribs,\r\n uniformsNames: uniforms,\r\n uniformBuffersNames: uniformBuffers,\r\n samplers: samplers,\r\n defines: join,\r\n fallbacks: fallbacks,\r\n onCompiled: onCompiled,\r\n onError: onError,\r\n indexParameters: { maxSimultaneousLights: this._maxSimultaneousLights, maxSimultaneousMorphTargets: defines.NUM_MORPH_INFLUENCERS },\r\n processFinalCode: csnrOptions.processFinalCode,\r\n multiTarget: defines.PREPASS\r\n }, engine);\r\n }\r\n\r\n private _prepareDefines(mesh: AbstractMesh, defines: PBRMaterialDefines, useInstances: Nullable = null, useClipPlane: Nullable = null, useThinInstances: boolean = false): void {\r\n const scene = this.getScene();\r\n const engine = scene.getEngine();\r\n\r\n // Lights\r\n MaterialHelper.PrepareDefinesForLights(scene, mesh, defines, true, this._maxSimultaneousLights, this._disableLighting);\r\n defines._needNormals = true;\r\n\r\n // Multiview\r\n MaterialHelper.PrepareDefinesForMultiview(scene, defines);\r\n\r\n // PrePass\r\n MaterialHelper.PrepareDefinesForPrePass(scene, defines, this.canRenderToMRT);\r\n\r\n // Textures\r\n defines.METALLICWORKFLOW = this.isMetallicWorkflow();\r\n if (defines._areTexturesDirty) {\r\n defines._needUVs = false;\r\n if (scene.texturesEnabled) {\r\n if (scene.getEngine().getCaps().textureLOD) {\r\n defines.LODBASEDMICROSFURACE = true;\r\n }\r\n\r\n if (this._albedoTexture && MaterialFlags.DiffuseTextureEnabled) {\r\n MaterialHelper.PrepareDefinesForMergedUV(this._albedoTexture, defines, \"ALBEDO\");\r\n defines.GAMMAALBEDO = this._albedoTexture.gammaSpace;\r\n } else {\r\n defines.ALBEDO = false;\r\n }\r\n\r\n if (this._ambientTexture && MaterialFlags.AmbientTextureEnabled) {\r\n MaterialHelper.PrepareDefinesForMergedUV(this._ambientTexture, defines, \"AMBIENT\");\r\n defines.AMBIENTINGRAYSCALE = this._useAmbientInGrayScale;\r\n } else {\r\n defines.AMBIENT = false;\r\n }\r\n\r\n if (this._opacityTexture && MaterialFlags.OpacityTextureEnabled) {\r\n MaterialHelper.PrepareDefinesForMergedUV(this._opacityTexture, defines, \"OPACITY\");\r\n defines.OPACITYRGB = this._opacityTexture.getAlphaFromRGB;\r\n } else {\r\n defines.OPACITY = false;\r\n }\r\n\r\n var reflectionTexture = this._getReflectionTexture();\r\n if (reflectionTexture && MaterialFlags.ReflectionTextureEnabled) {\r\n defines.REFLECTION = true;\r\n defines.GAMMAREFLECTION = reflectionTexture.gammaSpace;\r\n defines.RGBDREFLECTION = reflectionTexture.isRGBD;\r\n defines.REFLECTIONMAP_OPPOSITEZ = this.getScene().useRightHandedSystem ? !reflectionTexture.invertZ : reflectionTexture.invertZ;\r\n defines.LODINREFLECTIONALPHA = reflectionTexture.lodLevelInAlpha;\r\n defines.LINEARSPECULARREFLECTION = reflectionTexture.linearSpecularLOD;\r\n\r\n if (this.realTimeFiltering && this.realTimeFilteringQuality > 0) {\r\n defines.NUM_SAMPLES = \"\" + this.realTimeFilteringQuality;\r\n if (engine.webGLVersion > 1) {\r\n defines.NUM_SAMPLES = defines.NUM_SAMPLES + \"u\";\r\n }\r\n\r\n defines.REALTIME_FILTERING = true;\r\n } else {\r\n defines.REALTIME_FILTERING = false;\r\n }\r\n\r\n if (reflectionTexture.coordinatesMode === Texture.INVCUBIC_MODE) {\r\n defines.INVERTCUBICMAP = true;\r\n }\r\n\r\n defines.REFLECTIONMAP_3D = reflectionTexture.isCube;\r\n\r\n defines.REFLECTIONMAP_CUBIC = false;\r\n defines.REFLECTIONMAP_EXPLICIT = false;\r\n defines.REFLECTIONMAP_PLANAR = false;\r\n defines.REFLECTIONMAP_PROJECTION = false;\r\n defines.REFLECTIONMAP_SKYBOX = false;\r\n defines.REFLECTIONMAP_SPHERICAL = false;\r\n defines.REFLECTIONMAP_EQUIRECTANGULAR = false;\r\n defines.REFLECTIONMAP_EQUIRECTANGULAR_FIXED = false;\r\n defines.REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED = false;\r\n\r\n switch (reflectionTexture.coordinatesMode) {\r\n case Texture.EXPLICIT_MODE:\r\n defines.REFLECTIONMAP_EXPLICIT = true;\r\n break;\r\n case Texture.PLANAR_MODE:\r\n defines.REFLECTIONMAP_PLANAR = true;\r\n break;\r\n case Texture.PROJECTION_MODE:\r\n defines.REFLECTIONMAP_PROJECTION = true;\r\n break;\r\n case Texture.SKYBOX_MODE:\r\n defines.REFLECTIONMAP_SKYBOX = true;\r\n break;\r\n case Texture.SPHERICAL_MODE:\r\n defines.REFLECTIONMAP_SPHERICAL = true;\r\n break;\r\n case Texture.EQUIRECTANGULAR_MODE:\r\n defines.REFLECTIONMAP_EQUIRECTANGULAR = true;\r\n break;\r\n case Texture.FIXED_EQUIRECTANGULAR_MODE:\r\n defines.REFLECTIONMAP_EQUIRECTANGULAR_FIXED = true;\r\n break;\r\n case Texture.FIXED_EQUIRECTANGULAR_MIRRORED_MODE:\r\n defines.REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED = true;\r\n break;\r\n case Texture.CUBIC_MODE:\r\n case Texture.INVCUBIC_MODE:\r\n default:\r\n defines.REFLECTIONMAP_CUBIC = true;\r\n defines.USE_LOCAL_REFLECTIONMAP_CUBIC = (reflectionTexture).boundingBoxSize ? true : false;\r\n break;\r\n }\r\n\r\n if (reflectionTexture.coordinatesMode !== Texture.SKYBOX_MODE) {\r\n if (reflectionTexture.irradianceTexture) {\r\n defines.USEIRRADIANCEMAP = true;\r\n defines.USESPHERICALFROMREFLECTIONMAP = false;\r\n }\r\n // Assume using spherical polynomial if the reflection texture is a cube map\r\n else if (reflectionTexture.isCube) {\r\n defines.USESPHERICALFROMREFLECTIONMAP = true;\r\n defines.USEIRRADIANCEMAP = false;\r\n if (this._forceIrradianceInFragment || this.realTimeFiltering || scene.getEngine().getCaps().maxVaryingVectors <= 8) {\r\n defines.USESPHERICALINVERTEX = false;\r\n }\r\n else {\r\n defines.USESPHERICALINVERTEX = true;\r\n }\r\n }\r\n }\r\n } else {\r\n defines.REFLECTION = false;\r\n defines.REFLECTIONMAP_3D = false;\r\n defines.REFLECTIONMAP_SPHERICAL = false;\r\n defines.REFLECTIONMAP_PLANAR = false;\r\n defines.REFLECTIONMAP_CUBIC = false;\r\n defines.USE_LOCAL_REFLECTIONMAP_CUBIC = false;\r\n defines.REFLECTIONMAP_PROJECTION = false;\r\n defines.REFLECTIONMAP_SKYBOX = false;\r\n defines.REFLECTIONMAP_EXPLICIT = false;\r\n defines.REFLECTIONMAP_EQUIRECTANGULAR = false;\r\n defines.REFLECTIONMAP_EQUIRECTANGULAR_FIXED = false;\r\n defines.REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED = false;\r\n defines.INVERTCUBICMAP = false;\r\n defines.USESPHERICALFROMREFLECTIONMAP = false;\r\n defines.USEIRRADIANCEMAP = false;\r\n defines.USESPHERICALINVERTEX = false;\r\n defines.REFLECTIONMAP_OPPOSITEZ = false;\r\n defines.LODINREFLECTIONALPHA = false;\r\n defines.GAMMAREFLECTION = false;\r\n defines.RGBDREFLECTION = false;\r\n defines.LINEARSPECULARREFLECTION = false;\r\n }\r\n\r\n if (this._lightmapTexture && MaterialFlags.LightmapTextureEnabled) {\r\n MaterialHelper.PrepareDefinesForMergedUV(this._lightmapTexture, defines, \"LIGHTMAP\");\r\n defines.USELIGHTMAPASSHADOWMAP = this._useLightmapAsShadowmap;\r\n defines.GAMMALIGHTMAP = this._lightmapTexture.gammaSpace;\r\n defines.RGBDLIGHTMAP = this._lightmapTexture.isRGBD;\r\n } else {\r\n defines.LIGHTMAP = false;\r\n }\r\n\r\n if (this._emissiveTexture && MaterialFlags.EmissiveTextureEnabled) {\r\n MaterialHelper.PrepareDefinesForMergedUV(this._emissiveTexture, defines, \"EMISSIVE\");\r\n } else {\r\n defines.EMISSIVE = false;\r\n }\r\n\r\n if (MaterialFlags.SpecularTextureEnabled) {\r\n if (this._metallicTexture) {\r\n MaterialHelper.PrepareDefinesForMergedUV(this._metallicTexture, defines, \"REFLECTIVITY\");\r\n defines.ROUGHNESSSTOREINMETALMAPALPHA = this._useRoughnessFromMetallicTextureAlpha;\r\n defines.ROUGHNESSSTOREINMETALMAPGREEN = !this._useRoughnessFromMetallicTextureAlpha && this._useRoughnessFromMetallicTextureGreen;\r\n defines.METALLNESSSTOREINMETALMAPBLUE = this._useMetallnessFromMetallicTextureBlue;\r\n defines.AOSTOREINMETALMAPRED = this._useAmbientOcclusionFromMetallicTextureRed;\r\n }\r\n else if (this._reflectivityTexture) {\r\n MaterialHelper.PrepareDefinesForMergedUV(this._reflectivityTexture, defines, \"REFLECTIVITY\");\r\n defines.MICROSURFACEFROMREFLECTIVITYMAP = this._useMicroSurfaceFromReflectivityMapAlpha;\r\n defines.MICROSURFACEAUTOMATIC = this._useAutoMicroSurfaceFromReflectivityMap;\r\n } else {\r\n defines.REFLECTIVITY = false;\r\n }\r\n\r\n if (this._metallicReflectanceTexture) {\r\n MaterialHelper.PrepareDefinesForMergedUV(this._metallicReflectanceTexture, defines, \"METALLIC_REFLECTANCE\");\r\n } else {\r\n defines.METALLIC_REFLECTANCE = false;\r\n }\r\n\r\n if (this._microSurfaceTexture) {\r\n MaterialHelper.PrepareDefinesForMergedUV(this._microSurfaceTexture, defines, \"MICROSURFACEMAP\");\r\n } else {\r\n defines.MICROSURFACEMAP = false;\r\n }\r\n } else {\r\n defines.REFLECTIVITY = false;\r\n defines.MICROSURFACEMAP = false;\r\n }\r\n\r\n if (scene.getEngine().getCaps().standardDerivatives && this._bumpTexture && MaterialFlags.BumpTextureEnabled && !this._disableBumpMap) {\r\n MaterialHelper.PrepareDefinesForMergedUV(this._bumpTexture, defines, \"BUMP\");\r\n\r\n if (this._useParallax && this._albedoTexture && MaterialFlags.DiffuseTextureEnabled) {\r\n defines.PARALLAX = true;\r\n defines.PARALLAXOCCLUSION = !!this._useParallaxOcclusion;\r\n }\r\n else {\r\n defines.PARALLAX = false;\r\n }\r\n\r\n defines.OBJECTSPACE_NORMALMAP = this._useObjectSpaceNormalMap;\r\n } else {\r\n defines.BUMP = false;\r\n }\r\n\r\n if (this._environmentBRDFTexture && MaterialFlags.ReflectionTextureEnabled) {\r\n defines.ENVIRONMENTBRDF = true;\r\n // Not actual true RGBD, only the B chanel is encoded as RGBD for sheen.\r\n defines.ENVIRONMENTBRDF_RGBD = this._environmentBRDFTexture.isRGBD;\r\n } else {\r\n defines.ENVIRONMENTBRDF = false;\r\n defines.ENVIRONMENTBRDF_RGBD = false;\r\n }\r\n\r\n if (this._shouldUseAlphaFromAlbedoTexture()) {\r\n defines.ALPHAFROMALBEDO = true;\r\n } else {\r\n defines.ALPHAFROMALBEDO = false;\r\n }\r\n }\r\n\r\n defines.SPECULAROVERALPHA = this._useSpecularOverAlpha;\r\n\r\n if (this._lightFalloff === PBRBaseMaterial.LIGHTFALLOFF_STANDARD) {\r\n defines.USEPHYSICALLIGHTFALLOFF = false;\r\n defines.USEGLTFLIGHTFALLOFF = false;\r\n }\r\n else if (this._lightFalloff === PBRBaseMaterial.LIGHTFALLOFF_GLTF) {\r\n defines.USEPHYSICALLIGHTFALLOFF = false;\r\n defines.USEGLTFLIGHTFALLOFF = true;\r\n }\r\n else {\r\n defines.USEPHYSICALLIGHTFALLOFF = true;\r\n defines.USEGLTFLIGHTFALLOFF = false;\r\n }\r\n\r\n defines.RADIANCEOVERALPHA = this._useRadianceOverAlpha;\r\n\r\n if (!this.backFaceCulling && this._twoSidedLighting) {\r\n defines.TWOSIDEDLIGHTING = true;\r\n } else {\r\n defines.TWOSIDEDLIGHTING = false;\r\n }\r\n\r\n defines.SPECULARAA = scene.getEngine().getCaps().standardDerivatives && this._enableSpecularAntiAliasing;\r\n }\r\n\r\n if (defines._areTexturesDirty || defines._areMiscDirty) {\r\n defines.ALPHATESTVALUE = `${this._alphaCutOff}${this._alphaCutOff % 1 === 0 ? \".\" : \"\"}`;\r\n defines.PREMULTIPLYALPHA = (this.alphaMode === 7 || this.alphaMode === 8);\r\n defines.ALPHABLEND = this.needAlphaBlendingForMesh(mesh);\r\n defines.ALPHAFRESNEL = this._useAlphaFresnel || this._useLinearAlphaFresnel;\r\n defines.LINEARALPHAFRESNEL = this._useLinearAlphaFresnel;\r\n }\r\n\r\n if (defines._areImageProcessingDirty && this._imageProcessingConfiguration) {\r\n this._imageProcessingConfiguration.prepareDefines(defines);\r\n }\r\n\r\n defines.FORCENORMALFORWARD = this._forceNormalForward;\r\n\r\n defines.RADIANCEOCCLUSION = this._useRadianceOcclusion;\r\n\r\n defines.HORIZONOCCLUSION = this._useHorizonOcclusion;\r\n\r\n // Misc.\r\n if (defines._areMiscDirty) {\r\n MaterialHelper.PrepareDefinesForMisc(mesh, scene, this._useLogarithmicDepth, this.pointsCloud, this.fogEnabled, this._shouldTurnAlphaTestOn(mesh) || this._forceAlphaTest, defines);\r\n defines.UNLIT = this._unlit || ((this.pointsCloud || this.wireframe) && !mesh.isVerticesDataPresent(VertexBuffer.NormalKind));\r\n defines.DEBUGMODE = this._debugMode;\r\n }\r\n\r\n // External config\r\n this.detailMap.prepareDefines(defines, scene);\r\n this.subSurface.prepareDefines(defines, scene);\r\n this.clearCoat.prepareDefines(defines, scene);\r\n this.anisotropy.prepareDefines(defines, mesh, scene);\r\n this.brdf.prepareDefines(defines);\r\n this.sheen.prepareDefines(defines, scene);\r\n\r\n // Values that need to be evaluated on every frame\r\n MaterialHelper.PrepareDefinesForFrameBoundValues(scene, engine, defines, useInstances ? true : false, useClipPlane, useThinInstances);\r\n\r\n // Attribs\r\n MaterialHelper.PrepareDefinesForAttributes(mesh, defines, true, true, true, this._transparencyMode !== PBRBaseMaterial.PBRMATERIAL_OPAQUE);\r\n }\r\n\r\n /**\r\n * Force shader compilation\r\n */\r\n public forceCompilation(mesh: AbstractMesh, onCompiled?: (material: Material) => void, options?: Partial): void {\r\n const localOptions = {\r\n clipPlane: false,\r\n useInstances: false,\r\n ...options\r\n };\r\n\r\n const defines = new PBRMaterialDefines();\r\n const effect = this._prepareEffect(mesh, defines, undefined, undefined, localOptions.useInstances, localOptions.clipPlane, mesh.hasThinInstances)!;\r\n if (this._onEffectCreatedObservable) {\r\n onCreatedEffectParameters.effect = effect;\r\n onCreatedEffectParameters.subMesh = null;\r\n this._onEffectCreatedObservable.notifyObservers(onCreatedEffectParameters);\r\n }\r\n if (effect.isReady()) {\r\n if (onCompiled) {\r\n onCompiled(this);\r\n }\r\n }\r\n else {\r\n effect.onCompileObservable.add(() => {\r\n if (onCompiled) {\r\n onCompiled(this);\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Initializes the uniform buffer layout for the shader.\r\n */\r\n public buildUniformLayout(): void {\r\n // Order is important !\r\n let ubo = this._uniformBuffer;\r\n ubo.addUniform(\"vAlbedoInfos\", 2);\r\n ubo.addUniform(\"vAmbientInfos\", 4);\r\n ubo.addUniform(\"vOpacityInfos\", 2);\r\n ubo.addUniform(\"vEmissiveInfos\", 2);\r\n ubo.addUniform(\"vLightmapInfos\", 2);\r\n ubo.addUniform(\"vReflectivityInfos\", 3);\r\n ubo.addUniform(\"vMicroSurfaceSamplerInfos\", 2);\r\n ubo.addUniform(\"vReflectionInfos\", 2);\r\n ubo.addUniform(\"vReflectionFilteringInfo\", 2);\r\n ubo.addUniform(\"vReflectionPosition\", 3);\r\n ubo.addUniform(\"vReflectionSize\", 3);\r\n ubo.addUniform(\"vBumpInfos\", 3);\r\n ubo.addUniform(\"albedoMatrix\", 16);\r\n ubo.addUniform(\"ambientMatrix\", 16);\r\n ubo.addUniform(\"opacityMatrix\", 16);\r\n ubo.addUniform(\"emissiveMatrix\", 16);\r\n ubo.addUniform(\"lightmapMatrix\", 16);\r\n ubo.addUniform(\"reflectivityMatrix\", 16);\r\n ubo.addUniform(\"microSurfaceSamplerMatrix\", 16);\r\n ubo.addUniform(\"bumpMatrix\", 16);\r\n ubo.addUniform(\"vTangentSpaceParams\", 2);\r\n ubo.addUniform(\"reflectionMatrix\", 16);\r\n\r\n ubo.addUniform(\"vReflectionColor\", 3);\r\n ubo.addUniform(\"vAlbedoColor\", 4);\r\n ubo.addUniform(\"vLightingIntensity\", 4);\r\n\r\n ubo.addUniform(\"vReflectionMicrosurfaceInfos\", 3);\r\n ubo.addUniform(\"pointSize\", 1);\r\n ubo.addUniform(\"vReflectivityColor\", 4);\r\n ubo.addUniform(\"vEmissiveColor\", 3);\r\n ubo.addUniform(\"visibility\", 1);\r\n ubo.addUniform(\"vMetallicReflectanceFactors\", 4);\r\n ubo.addUniform(\"vMetallicReflectanceInfos\", 2);\r\n ubo.addUniform(\"metallicReflectanceMatrix\", 16);\r\n\r\n PBRClearCoatConfiguration.PrepareUniformBuffer(ubo);\r\n PBRAnisotropicConfiguration.PrepareUniformBuffer(ubo);\r\n PBRSheenConfiguration.PrepareUniformBuffer(ubo);\r\n PBRSubSurfaceConfiguration.PrepareUniformBuffer(ubo);\r\n DetailMapConfiguration.PrepareUniformBuffer(ubo);\r\n\r\n ubo.create();\r\n }\r\n\r\n /**\r\n * Unbinds the material from the mesh\r\n */\r\n public unbind(): void {\r\n if (this._activeEffect) {\r\n let needFlag = false;\r\n if (this._reflectionTexture && this._reflectionTexture.isRenderTarget) {\r\n this._activeEffect.setTexture(\"reflection2DSampler\", null);\r\n needFlag = true;\r\n }\r\n\r\n if (this.subSurface.unbind(this._activeEffect)) {\r\n needFlag = true;\r\n }\r\n\r\n if (needFlag) {\r\n this._markAllSubMeshesAsTexturesDirty();\r\n }\r\n }\r\n\r\n super.unbind();\r\n }\r\n\r\n /**\r\n * Binds the submesh data.\r\n * @param world - The world matrix.\r\n * @param mesh - The BJS mesh.\r\n * @param subMesh - A submesh of the BJS mesh.\r\n */\r\n public bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void {\r\n var scene = this.getScene();\r\n\r\n var defines = subMesh._materialDefines;\r\n if (!defines) {\r\n return;\r\n }\r\n\r\n var effect = subMesh.effect;\r\n\r\n if (!effect) {\r\n return;\r\n }\r\n\r\n this._activeEffect = effect;\r\n\r\n // Matrices\r\n if (!defines.INSTANCES || defines.THIN_INSTANCES) {\r\n this.bindOnlyWorldMatrix(world);\r\n }\r\n\r\n // PrePass\r\n this.prePassConfiguration.bindForSubMesh(this._activeEffect, scene, mesh, world, this.isFrozen);\r\n\r\n // Normal Matrix\r\n if (defines.OBJECTSPACE_NORMALMAP) {\r\n world.toNormalMatrix(this._normalMatrix);\r\n this.bindOnlyNormalMatrix(this._normalMatrix);\r\n }\r\n\r\n let mustRebind = this._mustRebind(scene, effect, mesh.visibility);\r\n\r\n // Bones\r\n MaterialHelper.BindBonesParameters(mesh, this._activeEffect, this.prePassConfiguration);\r\n\r\n let reflectionTexture: Nullable = null;\r\n let ubo = this._uniformBuffer;\r\n if (mustRebind) {\r\n var engine = scene.getEngine();\r\n ubo.bindToEffect(effect, \"Material\");\r\n\r\n this.bindViewProjection(effect);\r\n reflectionTexture = this._getReflectionTexture();\r\n\r\n if (!ubo.useUbo || !this.isFrozen || !ubo.isSync) {\r\n\r\n // Texture uniforms\r\n if (scene.texturesEnabled) {\r\n if (this._albedoTexture && MaterialFlags.DiffuseTextureEnabled) {\r\n ubo.updateFloat2(\"vAlbedoInfos\", this._albedoTexture.coordinatesIndex, this._albedoTexture.level);\r\n MaterialHelper.BindTextureMatrix(this._albedoTexture, ubo, \"albedo\");\r\n }\r\n\r\n if (this._ambientTexture && MaterialFlags.AmbientTextureEnabled) {\r\n ubo.updateFloat4(\"vAmbientInfos\", this._ambientTexture.coordinatesIndex, this._ambientTexture.level, this._ambientTextureStrength, this._ambientTextureImpactOnAnalyticalLights);\r\n MaterialHelper.BindTextureMatrix(this._ambientTexture, ubo, \"ambient\");\r\n }\r\n\r\n if (this._opacityTexture && MaterialFlags.OpacityTextureEnabled) {\r\n ubo.updateFloat2(\"vOpacityInfos\", this._opacityTexture.coordinatesIndex, this._opacityTexture.level);\r\n MaterialHelper.BindTextureMatrix(this._opacityTexture, ubo, \"opacity\");\r\n }\r\n\r\n if (reflectionTexture && MaterialFlags.ReflectionTextureEnabled) {\r\n ubo.updateMatrix(\"reflectionMatrix\", reflectionTexture.getReflectionTextureMatrix());\r\n ubo.updateFloat2(\"vReflectionInfos\", reflectionTexture.level, 0);\r\n\r\n if ((reflectionTexture).boundingBoxSize) {\r\n let cubeTexture = reflectionTexture;\r\n\r\n ubo.updateVector3(\"vReflectionPosition\", cubeTexture.boundingBoxPosition);\r\n ubo.updateVector3(\"vReflectionSize\", cubeTexture.boundingBoxSize);\r\n }\r\n\r\n if (this.realTimeFiltering) {\r\n const width = reflectionTexture.getSize().width;\r\n ubo.updateFloat2(\"vReflectionFilteringInfo\", width, Scalar.Log2(width));\r\n }\r\n\r\n if (!defines.USEIRRADIANCEMAP) {\r\n var polynomials = reflectionTexture.sphericalPolynomial;\r\n if (defines.USESPHERICALFROMREFLECTIONMAP && polynomials) {\r\n if (defines.SPHERICAL_HARMONICS) {\r\n const preScaledHarmonics = polynomials.preScaledHarmonics;\r\n this._activeEffect.setVector3(\"vSphericalL00\", preScaledHarmonics.l00);\r\n this._activeEffect.setVector3(\"vSphericalL1_1\", preScaledHarmonics.l1_1);\r\n this._activeEffect.setVector3(\"vSphericalL10\", preScaledHarmonics.l10);\r\n this._activeEffect.setVector3(\"vSphericalL11\", preScaledHarmonics.l11);\r\n this._activeEffect.setVector3(\"vSphericalL2_2\", preScaledHarmonics.l2_2);\r\n this._activeEffect.setVector3(\"vSphericalL2_1\", preScaledHarmonics.l2_1);\r\n this._activeEffect.setVector3(\"vSphericalL20\", preScaledHarmonics.l20);\r\n this._activeEffect.setVector3(\"vSphericalL21\", preScaledHarmonics.l21);\r\n this._activeEffect.setVector3(\"vSphericalL22\", preScaledHarmonics.l22);\r\n }\r\n else {\r\n this._activeEffect.setFloat3(\"vSphericalX\", polynomials.x.x, polynomials.x.y, polynomials.x.z);\r\n this._activeEffect.setFloat3(\"vSphericalY\", polynomials.y.x, polynomials.y.y, polynomials.y.z);\r\n this._activeEffect.setFloat3(\"vSphericalZ\", polynomials.z.x, polynomials.z.y, polynomials.z.z);\r\n this._activeEffect.setFloat3(\"vSphericalXX_ZZ\", polynomials.xx.x - polynomials.zz.x,\r\n polynomials.xx.y - polynomials.zz.y,\r\n polynomials.xx.z - polynomials.zz.z);\r\n this._activeEffect.setFloat3(\"vSphericalYY_ZZ\", polynomials.yy.x - polynomials.zz.x,\r\n polynomials.yy.y - polynomials.zz.y,\r\n polynomials.yy.z - polynomials.zz.z);\r\n this._activeEffect.setFloat3(\"vSphericalZZ\", polynomials.zz.x, polynomials.zz.y, polynomials.zz.z);\r\n this._activeEffect.setFloat3(\"vSphericalXY\", polynomials.xy.x, polynomials.xy.y, polynomials.xy.z);\r\n this._activeEffect.setFloat3(\"vSphericalYZ\", polynomials.yz.x, polynomials.yz.y, polynomials.yz.z);\r\n this._activeEffect.setFloat3(\"vSphericalZX\", polynomials.zx.x, polynomials.zx.y, polynomials.zx.z);\r\n }\r\n }\r\n }\r\n\r\n ubo.updateFloat3(\"vReflectionMicrosurfaceInfos\",\r\n reflectionTexture.getSize().width,\r\n reflectionTexture.lodGenerationScale,\r\n reflectionTexture.lodGenerationOffset);\r\n }\r\n\r\n if (this._emissiveTexture && MaterialFlags.EmissiveTextureEnabled) {\r\n ubo.updateFloat2(\"vEmissiveInfos\", this._emissiveTexture.coordinatesIndex, this._emissiveTexture.level);\r\n MaterialHelper.BindTextureMatrix(this._emissiveTexture, ubo, \"emissive\");\r\n }\r\n\r\n if (this._lightmapTexture && MaterialFlags.LightmapTextureEnabled) {\r\n ubo.updateFloat2(\"vLightmapInfos\", this._lightmapTexture.coordinatesIndex, this._lightmapTexture.level);\r\n MaterialHelper.BindTextureMatrix(this._lightmapTexture, ubo, \"lightmap\");\r\n }\r\n\r\n if (MaterialFlags.SpecularTextureEnabled) {\r\n if (this._metallicTexture) {\r\n ubo.updateFloat3(\"vReflectivityInfos\", this._metallicTexture.coordinatesIndex, this._metallicTexture.level, this._ambientTextureStrength);\r\n MaterialHelper.BindTextureMatrix(this._metallicTexture, ubo, \"reflectivity\");\r\n }\r\n else if (this._reflectivityTexture) {\r\n ubo.updateFloat3(\"vReflectivityInfos\", this._reflectivityTexture.coordinatesIndex, this._reflectivityTexture.level, 1.0);\r\n MaterialHelper.BindTextureMatrix(this._reflectivityTexture, ubo, \"reflectivity\");\r\n }\r\n\r\n if (this._metallicReflectanceTexture) {\r\n ubo.updateFloat2(\"vMetallicReflectanceInfos\", this._metallicReflectanceTexture.coordinatesIndex, this._metallicReflectanceTexture.level);\r\n MaterialHelper.BindTextureMatrix(this._metallicReflectanceTexture, ubo, \"metallicReflectance\");\r\n }\r\n\r\n if (this._microSurfaceTexture) {\r\n ubo.updateFloat2(\"vMicroSurfaceSamplerInfos\", this._microSurfaceTexture.coordinatesIndex, this._microSurfaceTexture.level);\r\n MaterialHelper.BindTextureMatrix(this._microSurfaceTexture, ubo, \"microSurfaceSampler\");\r\n }\r\n }\r\n\r\n if (this._bumpTexture && engine.getCaps().standardDerivatives && MaterialFlags.BumpTextureEnabled && !this._disableBumpMap) {\r\n ubo.updateFloat3(\"vBumpInfos\", this._bumpTexture.coordinatesIndex, this._bumpTexture.level, this._parallaxScaleBias);\r\n MaterialHelper.BindTextureMatrix(this._bumpTexture, ubo, \"bump\");\r\n\r\n if (scene._mirroredCameraPosition) {\r\n ubo.updateFloat2(\"vTangentSpaceParams\", this._invertNormalMapX ? 1.0 : -1.0, this._invertNormalMapY ? 1.0 : -1.0);\r\n } else {\r\n ubo.updateFloat2(\"vTangentSpaceParams\", this._invertNormalMapX ? -1.0 : 1.0, this._invertNormalMapY ? -1.0 : 1.0);\r\n }\r\n }\r\n }\r\n\r\n // Point size\r\n if (this.pointsCloud) {\r\n ubo.updateFloat(\"pointSize\", this.pointSize);\r\n }\r\n\r\n // Colors\r\n if (defines.METALLICWORKFLOW) {\r\n TmpColors.Color3[0].r = (this._metallic === undefined || this._metallic === null) ? 1 : this._metallic;\r\n TmpColors.Color3[0].g = (this._roughness === undefined || this._roughness === null) ? 1 : this._roughness;\r\n ubo.updateColor4(\"vReflectivityColor\", TmpColors.Color3[0], 1);\r\n\r\n const ior = this.subSurface.indexOfRefraction;\r\n const outside_ior = 1; // consider air as clear coat and other layaers would remap in the shader.\r\n\r\n // We are here deriving our default reflectance from a common value for none metallic surface.\r\n // Based of the schlick fresnel approximation model\r\n // for dielectrics.\r\n const f0 = Math.pow((ior - outside_ior) / (ior + outside_ior), 2);\r\n\r\n // Tweak the default F0 and F90 based on our given setup\r\n this._metallicReflectanceColor.scaleToRef(f0 * this._metallicF0Factor, TmpColors.Color3[0]);\r\n const metallicF90 = this._metallicF0Factor;\r\n\r\n ubo.updateColor4(\"vMetallicReflectanceFactors\", TmpColors.Color3[0], metallicF90);\r\n }\r\n else {\r\n ubo.updateColor4(\"vReflectivityColor\", this._reflectivityColor, this._microSurface);\r\n }\r\n\r\n ubo.updateColor3(\"vEmissiveColor\", MaterialFlags.EmissiveTextureEnabled ? this._emissiveColor : Color3.BlackReadOnly);\r\n ubo.updateColor3(\"vReflectionColor\", this._reflectionColor);\r\n if (!defines.SS_REFRACTION && this.subSurface.linkRefractionWithTransparency) {\r\n ubo.updateColor4(\"vAlbedoColor\", this._albedoColor, 1);\r\n }\r\n else {\r\n ubo.updateColor4(\"vAlbedoColor\", this._albedoColor, this.alpha);\r\n }\r\n\r\n // Misc\r\n this._lightingInfos.x = this._directIntensity;\r\n this._lightingInfos.y = this._emissiveIntensity;\r\n this._lightingInfos.z = this._environmentIntensity * scene.environmentIntensity;\r\n this._lightingInfos.w = this._specularIntensity;\r\n\r\n ubo.updateVector4(\"vLightingIntensity\", this._lightingInfos);\r\n }\r\n\r\n // Visibility\r\n ubo.updateFloat(\"visibility\", mesh.visibility);\r\n\r\n // Textures\r\n if (scene.texturesEnabled) {\r\n if (this._albedoTexture && MaterialFlags.DiffuseTextureEnabled) {\r\n ubo.setTexture(\"albedoSampler\", this._albedoTexture);\r\n }\r\n\r\n if (this._ambientTexture && MaterialFlags.AmbientTextureEnabled) {\r\n ubo.setTexture(\"ambientSampler\", this._ambientTexture);\r\n }\r\n\r\n if (this._opacityTexture && MaterialFlags.OpacityTextureEnabled) {\r\n ubo.setTexture(\"opacitySampler\", this._opacityTexture);\r\n }\r\n\r\n if (reflectionTexture && MaterialFlags.ReflectionTextureEnabled) {\r\n if (defines.LODBASEDMICROSFURACE) {\r\n ubo.setTexture(\"reflectionSampler\", reflectionTexture);\r\n }\r\n else {\r\n ubo.setTexture(\"reflectionSampler\", reflectionTexture._lodTextureMid || reflectionTexture);\r\n ubo.setTexture(\"reflectionSamplerLow\", reflectionTexture._lodTextureLow || reflectionTexture);\r\n ubo.setTexture(\"reflectionSamplerHigh\", reflectionTexture._lodTextureHigh || reflectionTexture);\r\n }\r\n\r\n if (defines.USEIRRADIANCEMAP) {\r\n ubo.setTexture(\"irradianceSampler\", reflectionTexture.irradianceTexture);\r\n }\r\n }\r\n\r\n if (defines.ENVIRONMENTBRDF) {\r\n ubo.setTexture(\"environmentBrdfSampler\", this._environmentBRDFTexture);\r\n }\r\n\r\n if (this._emissiveTexture && MaterialFlags.EmissiveTextureEnabled) {\r\n ubo.setTexture(\"emissiveSampler\", this._emissiveTexture);\r\n }\r\n\r\n if (this._lightmapTexture && MaterialFlags.LightmapTextureEnabled) {\r\n ubo.setTexture(\"lightmapSampler\", this._lightmapTexture);\r\n }\r\n\r\n if (MaterialFlags.SpecularTextureEnabled) {\r\n if (this._metallicTexture) {\r\n ubo.setTexture(\"reflectivitySampler\", this._metallicTexture);\r\n }\r\n else if (this._reflectivityTexture) {\r\n ubo.setTexture(\"reflectivitySampler\", this._reflectivityTexture);\r\n }\r\n\r\n if (this._metallicReflectanceTexture) {\r\n ubo.setTexture(\"metallicReflectanceSampler\", this._metallicReflectanceTexture);\r\n }\r\n\r\n if (this._microSurfaceTexture) {\r\n ubo.setTexture(\"microSurfaceSampler\", this._microSurfaceTexture);\r\n }\r\n }\r\n\r\n if (this._bumpTexture && engine.getCaps().standardDerivatives && MaterialFlags.BumpTextureEnabled && !this._disableBumpMap) {\r\n ubo.setTexture(\"bumpSampler\", this._bumpTexture);\r\n }\r\n }\r\n\r\n this.detailMap.bindForSubMesh(ubo, scene, this.isFrozen);\r\n this.subSurface.bindForSubMesh(ubo, scene, engine, this.isFrozen, defines.LODBASEDMICROSFURACE, this.realTimeFiltering);\r\n this.clearCoat.bindForSubMesh(ubo, scene, engine, this._disableBumpMap, this.isFrozen, this._invertNormalMapX, this._invertNormalMapY, subMesh);\r\n this.anisotropy.bindForSubMesh(ubo, scene, this.isFrozen);\r\n this.sheen.bindForSubMesh(ubo, scene, this.isFrozen, subMesh);\r\n\r\n // Clip plane\r\n MaterialHelper.BindClipPlane(this._activeEffect, scene);\r\n\r\n // Colors\r\n scene.ambientColor.multiplyToRef(this._ambientColor, this._globalAmbientColor);\r\n\r\n var eyePosition = scene._forcedViewPosition ? scene._forcedViewPosition : (scene._mirroredCameraPosition ? scene._mirroredCameraPosition : (scene.activeCamera).globalPosition);\r\n var invertNormal = (scene.useRightHandedSystem === (scene._mirroredCameraPosition != null));\r\n effect.setFloat4(\"vEyePosition\",\r\n eyePosition.x,\r\n eyePosition.y,\r\n eyePosition.z,\r\n invertNormal ? -1 : 1);\r\n effect.setColor3(\"vAmbientColor\", this._globalAmbientColor);\r\n\r\n effect.setFloat2(\"vDebugMode\", this.debugLimit, this.debugFactor);\r\n }\r\n\r\n if (mustRebind || !this.isFrozen) {\r\n // Lights\r\n if (scene.lightsEnabled && !this._disableLighting) {\r\n MaterialHelper.BindLights(scene, mesh, this._activeEffect, defines, this._maxSimultaneousLights, this._rebuildInParallel);\r\n }\r\n\r\n // View\r\n if (scene.fogEnabled && mesh.applyFog && scene.fogMode !== Scene.FOGMODE_NONE || reflectionTexture) {\r\n this.bindView(effect);\r\n }\r\n\r\n // Fog\r\n MaterialHelper.BindFogParameters(scene, mesh, this._activeEffect, true);\r\n\r\n // Morph targets\r\n if (defines.NUM_MORPH_INFLUENCERS) {\r\n MaterialHelper.BindMorphTargetParameters(mesh, this._activeEffect);\r\n }\r\n\r\n // image processing\r\n this._imageProcessingConfiguration!.bind(this._activeEffect);\r\n\r\n // Log. depth\r\n MaterialHelper.BindLogDepth(defines, this._activeEffect, scene);\r\n }\r\n\r\n ubo.update();\r\n\r\n this._afterBind(mesh, this._activeEffect);\r\n }\r\n\r\n /**\r\n * Returns the animatable textures.\r\n * @returns - Array of animatable textures.\r\n */\r\n public getAnimatables(): IAnimatable[] {\r\n var results = [];\r\n\r\n if (this._albedoTexture && this._albedoTexture.animations && this._albedoTexture.animations.length > 0) {\r\n results.push(this._albedoTexture);\r\n }\r\n\r\n if (this._ambientTexture && this._ambientTexture.animations && this._ambientTexture.animations.length > 0) {\r\n results.push(this._ambientTexture);\r\n }\r\n\r\n if (this._opacityTexture && this._opacityTexture.animations && this._opacityTexture.animations.length > 0) {\r\n results.push(this._opacityTexture);\r\n }\r\n\r\n if (this._reflectionTexture && this._reflectionTexture.animations && this._reflectionTexture.animations.length > 0) {\r\n results.push(this._reflectionTexture);\r\n }\r\n\r\n if (this._emissiveTexture && this._emissiveTexture.animations && this._emissiveTexture.animations.length > 0) {\r\n results.push(this._emissiveTexture);\r\n }\r\n\r\n if (this._metallicTexture && this._metallicTexture.animations && this._metallicTexture.animations.length > 0) {\r\n results.push(this._metallicTexture);\r\n }\r\n else if (this._reflectivityTexture && this._reflectivityTexture.animations && this._reflectivityTexture.animations.length > 0) {\r\n results.push(this._reflectivityTexture);\r\n }\r\n\r\n if (this._bumpTexture && this._bumpTexture.animations && this._bumpTexture.animations.length > 0) {\r\n results.push(this._bumpTexture);\r\n }\r\n\r\n if (this._lightmapTexture && this._lightmapTexture.animations && this._lightmapTexture.animations.length > 0) {\r\n results.push(this._lightmapTexture);\r\n }\r\n\r\n this.detailMap.getAnimatables(results);\r\n this.subSurface.getAnimatables(results);\r\n this.clearCoat.getAnimatables(results);\r\n this.sheen.getAnimatables(results);\r\n this.anisotropy.getAnimatables(results);\r\n\r\n return results;\r\n }\r\n\r\n /**\r\n * Returns the texture used for reflections.\r\n * @returns - Reflection texture if present. Otherwise, returns the environment texture.\r\n */\r\n private _getReflectionTexture(): Nullable {\r\n if (this._reflectionTexture) {\r\n return this._reflectionTexture;\r\n }\r\n\r\n return this.getScene().environmentTexture;\r\n }\r\n\r\n /**\r\n * Returns an array of the actively used textures.\r\n * @returns - Array of BaseTextures\r\n */\r\n public getActiveTextures(): BaseTexture[] {\r\n var activeTextures = super.getActiveTextures();\r\n\r\n if (this._albedoTexture) {\r\n activeTextures.push(this._albedoTexture);\r\n }\r\n\r\n if (this._ambientTexture) {\r\n activeTextures.push(this._ambientTexture);\r\n }\r\n\r\n if (this._opacityTexture) {\r\n activeTextures.push(this._opacityTexture);\r\n }\r\n\r\n if (this._reflectionTexture) {\r\n activeTextures.push(this._reflectionTexture);\r\n }\r\n\r\n if (this._emissiveTexture) {\r\n activeTextures.push(this._emissiveTexture);\r\n }\r\n\r\n if (this._reflectivityTexture) {\r\n activeTextures.push(this._reflectivityTexture);\r\n }\r\n\r\n if (this._metallicTexture) {\r\n activeTextures.push(this._metallicTexture);\r\n }\r\n\r\n if (this._metallicReflectanceTexture) {\r\n activeTextures.push(this._metallicReflectanceTexture);\r\n }\r\n\r\n if (this._microSurfaceTexture) {\r\n activeTextures.push(this._microSurfaceTexture);\r\n }\r\n\r\n if (this._bumpTexture) {\r\n activeTextures.push(this._bumpTexture);\r\n }\r\n\r\n if (this._lightmapTexture) {\r\n activeTextures.push(this._lightmapTexture);\r\n }\r\n\r\n this.detailMap.getActiveTextures(activeTextures);\r\n this.subSurface.getActiveTextures(activeTextures);\r\n this.clearCoat.getActiveTextures(activeTextures);\r\n this.sheen.getActiveTextures(activeTextures);\r\n this.anisotropy.getActiveTextures(activeTextures);\r\n\r\n return activeTextures;\r\n }\r\n\r\n /**\r\n * Checks to see if a texture is used in the material.\r\n * @param texture - Base texture to use.\r\n * @returns - Boolean specifying if a texture is used in the material.\r\n */\r\n public hasTexture(texture: BaseTexture): boolean {\r\n if (super.hasTexture(texture)) {\r\n return true;\r\n }\r\n\r\n if (this._albedoTexture === texture) {\r\n return true;\r\n }\r\n\r\n if (this._ambientTexture === texture) {\r\n return true;\r\n }\r\n\r\n if (this._opacityTexture === texture) {\r\n return true;\r\n }\r\n\r\n if (this._reflectionTexture === texture) {\r\n return true;\r\n }\r\n\r\n if (this._reflectivityTexture === texture) {\r\n return true;\r\n }\r\n\r\n if (this._metallicTexture === texture) {\r\n return true;\r\n }\r\n\r\n if (this._metallicReflectanceTexture === texture) {\r\n return true;\r\n }\r\n\r\n if (this._microSurfaceTexture === texture) {\r\n return true;\r\n }\r\n\r\n if (this._bumpTexture === texture) {\r\n return true;\r\n }\r\n\r\n if (this._lightmapTexture === texture) {\r\n return true;\r\n }\r\n\r\n return this.detailMap.hasTexture(texture) ||\r\n this.subSurface.hasTexture(texture) ||\r\n this.clearCoat.hasTexture(texture) ||\r\n this.sheen.hasTexture(texture) ||\r\n this.anisotropy.hasTexture(texture);\r\n }\r\n\r\n /**\r\n * Sets the required values to the prepass renderer.\r\n * @param prePassRenderer defines the prepass renderer to setup\r\n */\r\n public setPrePassRenderer(prePassRenderer: PrePassRenderer): boolean {\r\n if (this.subSurface.isScatteringEnabled) {\r\n let subSurfaceConfiguration = this.getScene().enableSubSurfaceForPrePass();\r\n if (subSurfaceConfiguration) {\r\n subSurfaceConfiguration.enabled = true;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Disposes the resources of the material.\r\n * @param forceDisposeEffect - Forces the disposal of effects.\r\n * @param forceDisposeTextures - Forces the disposal of all textures.\r\n */\r\n public dispose(forceDisposeEffect?: boolean, forceDisposeTextures?: boolean): void {\r\n if (forceDisposeTextures) {\r\n if (this._environmentBRDFTexture && this.getScene().environmentBRDFTexture !== this._environmentBRDFTexture) {\r\n this._environmentBRDFTexture.dispose();\r\n }\r\n\r\n this._albedoTexture?.dispose();\r\n this._ambientTexture?.dispose();\r\n this._opacityTexture?.dispose();\r\n this._reflectionTexture?.dispose();\r\n this._emissiveTexture?.dispose();\r\n this._metallicTexture?.dispose();\r\n this._reflectivityTexture?.dispose();\r\n this._bumpTexture?.dispose();\r\n this._lightmapTexture?.dispose();\r\n this._metallicReflectanceTexture?.dispose();\r\n this._microSurfaceTexture?.dispose();\r\n }\r\n\r\n this.detailMap.dispose(forceDisposeTextures);\r\n this.subSurface.dispose(forceDisposeTextures);\r\n this.clearCoat.dispose(forceDisposeTextures);\r\n this.sheen.dispose(forceDisposeTextures);\r\n this.anisotropy.dispose(forceDisposeTextures);\r\n\r\n this._renderTargets.dispose();\r\n\r\n if (this._imageProcessingConfiguration && this._imageProcessingObserver) {\r\n this._imageProcessingConfiguration.onUpdateParameters.remove(this._imageProcessingObserver);\r\n }\r\n\r\n super.dispose(forceDisposeEffect, forceDisposeTextures);\r\n }\r\n}","import { Nullable, FloatArray } from \"../types\";\r\nimport { Vector3, Vector2, TmpVectors } from \"../Maths/math.vector\";\r\nimport { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { VertexBuffer } from \"../Meshes/buffer\";\r\nimport { Sprite } from \"../Sprites/sprite\";\r\n\r\ndeclare type Ray = import(\"../Culling/ray\").Ray;\r\n\r\n/**\r\n * Information about the result of picking within a scene\r\n * @see https://doc.babylonjs.com/babylon101/picking_collisions\r\n */\r\nexport class PickingInfo {\r\n /** @hidden */\r\n public _pickingUnavailable = false;\r\n\r\n /**\r\n * If the pick collided with an object\r\n */\r\n public hit = false;\r\n /**\r\n * Distance away where the pick collided\r\n */\r\n public distance = 0;\r\n /**\r\n * The location of pick collision\r\n */\r\n public pickedPoint: Nullable = null;\r\n /**\r\n * The mesh corresponding the the pick collision\r\n */\r\n public pickedMesh: Nullable = null;\r\n /** (See getTextureCoordinates) The barycentric U coordinate that is used when calculating the texture coordinates of the collision.*/\r\n public bu = 0;\r\n /** (See getTextureCoordinates) The barycentric V coordinate that is used when calculating the texture coordinates of the collision.*/\r\n public bv = 0;\r\n /** The index of the face on the mesh that was picked, or the index of the Line if the picked Mesh is a LinesMesh */\r\n public faceId = -1;\r\n /** The index of the face on the subMesh that was picked, or the index of the Line if the picked Mesh is a LinesMesh */\r\n public subMeshFaceId = -1;\r\n /** Id of the the submesh that was picked */\r\n public subMeshId = 0;\r\n /** If a sprite was picked, this will be the sprite the pick collided with */\r\n public pickedSprite: Nullable = null;\r\n\r\n /** If we are pikcing a mesh with thin instance, this will give you the picked thin instance */\r\n public thinInstanceIndex = -1;\r\n /**\r\n * If a mesh was used to do the picking (eg. 6dof controller) this will be populated.\r\n */\r\n public originMesh: Nullable = null;\r\n /**\r\n * The ray that was used to perform the picking.\r\n */\r\n public ray: Nullable = null;\r\n\r\n /**\r\n * Gets the normal correspodning to the face the pick collided with\r\n * @param useWorldCoordinates If the resulting normal should be relative to the world (default: false)\r\n * @param useVerticesNormals If the vertices normals should be used to calculate the normal instead of the normal map\r\n * @returns The normal correspodning to the face the pick collided with\r\n */\r\n public getNormal(useWorldCoordinates = false, useVerticesNormals = true): Nullable {\r\n if (!this.pickedMesh || !this.pickedMesh.isVerticesDataPresent(VertexBuffer.NormalKind)) {\r\n return null;\r\n }\r\n\r\n var indices = this.pickedMesh.getIndices();\r\n\r\n if (!indices) {\r\n return null;\r\n }\r\n\r\n var result: Vector3;\r\n\r\n if (useVerticesNormals) {\r\n var normals = (this.pickedMesh.getVerticesData(VertexBuffer.NormalKind));\r\n\r\n var normal0 = Vector3.FromArray(normals, indices[this.faceId * 3] * 3);\r\n var normal1 = Vector3.FromArray(normals, indices[this.faceId * 3 + 1] * 3);\r\n var normal2 = Vector3.FromArray(normals, indices[this.faceId * 3 + 2] * 3);\r\n\r\n normal0 = normal0.scale(this.bu);\r\n normal1 = normal1.scale(this.bv);\r\n normal2 = normal2.scale(1.0 - this.bu - this.bv);\r\n\r\n result = new Vector3(normal0.x + normal1.x + normal2.x, normal0.y + normal1.y + normal2.y, normal0.z + normal1.z + normal2.z);\r\n } else {\r\n var positions = (this.pickedMesh.getVerticesData(VertexBuffer.PositionKind));\r\n\r\n var vertex1 = Vector3.FromArray(positions, indices[this.faceId * 3] * 3);\r\n var vertex2 = Vector3.FromArray(positions, indices[this.faceId * 3 + 1] * 3);\r\n var vertex3 = Vector3.FromArray(positions, indices[this.faceId * 3 + 2] * 3);\r\n\r\n var p1p2 = vertex1.subtract(vertex2);\r\n var p3p2 = vertex3.subtract(vertex2);\r\n\r\n result = Vector3.Cross(p1p2, p3p2);\r\n }\r\n\r\n if (useWorldCoordinates) {\r\n let wm = this.pickedMesh.getWorldMatrix();\r\n\r\n if (this.pickedMesh.nonUniformScaling) {\r\n TmpVectors.Matrix[0].copyFrom(wm);\r\n wm = TmpVectors.Matrix[0];\r\n wm.setTranslationFromFloats(0, 0, 0);\r\n wm.invert();\r\n wm.transposeToRef(TmpVectors.Matrix[1]);\r\n\r\n wm = TmpVectors.Matrix[1];\r\n }\r\n\r\n result = Vector3.TransformNormal(result, wm);\r\n }\r\n\r\n result.normalize();\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Gets the texture coordinates of where the pick occured\r\n * @returns the vector containing the coordnates of the texture\r\n */\r\n public getTextureCoordinates(): Nullable {\r\n if (!this.pickedMesh || !this.pickedMesh.isVerticesDataPresent(VertexBuffer.UVKind)) {\r\n return null;\r\n }\r\n\r\n var indices = this.pickedMesh.getIndices();\r\n if (!indices) {\r\n return null;\r\n }\r\n\r\n var uvs = this.pickedMesh.getVerticesData(VertexBuffer.UVKind);\r\n if (!uvs) {\r\n return null;\r\n }\r\n\r\n var uv0 = Vector2.FromArray(uvs, indices[this.faceId * 3] * 2);\r\n var uv1 = Vector2.FromArray(uvs, indices[this.faceId * 3 + 1] * 2);\r\n var uv2 = Vector2.FromArray(uvs, indices[this.faceId * 3 + 2] * 2);\r\n\r\n uv0 = uv0.scale(this.bu);\r\n uv1 = uv1.scale(this.bv);\r\n uv2 = uv2.scale(1.0 - this.bu - this.bv);\r\n\r\n return new Vector2(uv0.x + uv1.x + uv2.x, uv0.y + uv1.y + uv2.y);\r\n }\r\n}\r\n","import { PrecisionDate } from './precisionDate';\r\n\r\n/**\r\n * This class is used to track a performance counter which is number based.\r\n * The user has access to many properties which give statistics of different nature.\r\n *\r\n * The implementer can track two kinds of Performance Counter: time and count.\r\n * For time you can optionally call fetchNewFrame() to notify the start of a new frame to monitor, then call beginMonitoring() to start and endMonitoring() to record the lapsed time. endMonitoring takes a newFrame parameter for you to specify if the monitored time should be set for a new frame or accumulated to the current frame being monitored.\r\n * For count you first have to call fetchNewFrame() to notify the start of a new frame to monitor, then call addCount() how many time required to increment the count value you monitor.\r\n */\r\nexport class PerfCounter {\r\n /**\r\n * Gets or sets a global boolean to turn on and off all the counters\r\n */\r\n public static Enabled = true;\r\n\r\n /**\r\n * Returns the smallest value ever\r\n */\r\n public get min(): number {\r\n return this._min;\r\n }\r\n\r\n /**\r\n * Returns the biggest value ever\r\n */\r\n public get max(): number {\r\n return this._max;\r\n }\r\n\r\n /**\r\n * Returns the average value since the performance counter is running\r\n */\r\n public get average(): number {\r\n return this._average;\r\n }\r\n\r\n /**\r\n * Returns the average value of the last second the counter was monitored\r\n */\r\n public get lastSecAverage(): number {\r\n return this._lastSecAverage;\r\n }\r\n\r\n /**\r\n * Returns the current value\r\n */\r\n public get current(): number {\r\n return this._current;\r\n }\r\n\r\n /**\r\n * Gets the accumulated total\r\n */\r\n public get total(): number {\r\n return this._totalAccumulated;\r\n }\r\n\r\n /**\r\n * Gets the total value count\r\n */\r\n public get count(): number {\r\n return this._totalValueCount;\r\n }\r\n\r\n /**\r\n * Creates a new counter\r\n */\r\n constructor() {\r\n this._startMonitoringTime = 0;\r\n this._min = 0;\r\n this._max = 0;\r\n this._average = 0;\r\n this._lastSecAverage = 0;\r\n this._current = 0;\r\n this._totalValueCount = 0;\r\n this._totalAccumulated = 0;\r\n this._lastSecAccumulated = 0;\r\n this._lastSecTime = 0;\r\n this._lastSecValueCount = 0;\r\n }\r\n\r\n /**\r\n * Call this method to start monitoring a new frame.\r\n * This scenario is typically used when you accumulate monitoring time many times for a single frame, you call this method at the start of the frame, then beginMonitoring to start recording and endMonitoring(false) to accumulated the recorded time to the PerfCounter or addCount() to accumulate a monitored count.\r\n */\r\n public fetchNewFrame() {\r\n this._totalValueCount++;\r\n this._current = 0;\r\n this._lastSecValueCount++;\r\n }\r\n\r\n /**\r\n * Call this method to monitor a count of something (e.g. mesh drawn in viewport count)\r\n * @param newCount the count value to add to the monitored count\r\n * @param fetchResult true when it's the last time in the frame you add to the counter and you wish to update the statistics properties (min/max/average), false if you only want to update statistics.\r\n */\r\n public addCount(newCount: number, fetchResult: boolean) {\r\n if (!PerfCounter.Enabled) {\r\n return;\r\n }\r\n this._current += newCount;\r\n if (fetchResult) {\r\n this._fetchResult();\r\n }\r\n }\r\n\r\n /**\r\n * Start monitoring this performance counter\r\n */\r\n public beginMonitoring() {\r\n if (!PerfCounter.Enabled) {\r\n return;\r\n }\r\n this._startMonitoringTime = PrecisionDate.Now;\r\n }\r\n\r\n /**\r\n * Compute the time lapsed since the previous beginMonitoring() call.\r\n * @param newFrame true by default to fetch the result and monitor a new frame, if false the time monitored will be added to the current frame counter\r\n */\r\n public endMonitoring(newFrame: boolean = true) {\r\n if (!PerfCounter.Enabled) {\r\n return;\r\n }\r\n\r\n if (newFrame) {\r\n this.fetchNewFrame();\r\n }\r\n\r\n let currentTime = PrecisionDate.Now;\r\n this._current = currentTime - this._startMonitoringTime;\r\n\r\n if (newFrame) {\r\n this._fetchResult();\r\n }\r\n }\r\n\r\n private _fetchResult() {\r\n this._totalAccumulated += this._current;\r\n this._lastSecAccumulated += this._current;\r\n\r\n // Min/Max update\r\n this._min = Math.min(this._min, this._current);\r\n this._max = Math.max(this._max, this._current);\r\n this._average = this._totalAccumulated / this._totalValueCount;\r\n\r\n // Reset last sec?\r\n let now = PrecisionDate.Now;\r\n if ((now - this._lastSecTime) > 1000) {\r\n this._lastSecAverage = this._lastSecAccumulated / this._lastSecValueCount;\r\n this._lastSecTime = now;\r\n this._lastSecAccumulated = 0;\r\n this._lastSecValueCount = 0;\r\n }\r\n }\r\n\r\n private _startMonitoringTime: number;\r\n private _min: number;\r\n private _max: number;\r\n private _average: number;\r\n private _current: number;\r\n private _totalValueCount: number;\r\n private _totalAccumulated: number;\r\n private _lastSecAverage: number;\r\n private _lastSecAccumulated: number;\r\n private _lastSecTime: number;\r\n private _lastSecValueCount: number;\r\n}\r\n","/**\r\n * @ignore\r\n * Application error to support additional information when loading a file\r\n */\r\nexport abstract class BaseError extends Error {\r\n // See https://stackoverflow.com/questions/12915412/how-do-i-extend-a-host-object-e-g-error-in-typescript\r\n // and https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work\r\n\r\n // Polyfill for Object.setPrototypeOf if necessary.\r\n protected static _setPrototypeOf: (o: any, proto: object | null) => any =\r\n (Object as any).setPrototypeOf || ((o, proto) => { o.__proto__ = proto; return o; });\r\n}","import { WebRequest } from './webRequest';\r\nimport { DomManagement } from './domManagement';\r\nimport { Nullable } from '../types';\r\nimport { IOfflineProvider } from '../Offline/IOfflineProvider';\r\nimport { IFileRequest } from './fileRequest';\r\nimport { Observable } from './observable';\r\nimport { FilesInputStore } from './filesInputStore';\r\nimport { RetryStrategy } from './retryStrategy';\r\nimport { BaseError } from './baseError';\r\nimport { StringTools } from './stringTools';\r\nimport { ThinEngine } from '../Engines/thinEngine';\r\nimport { ShaderProcessor } from '../Engines/Processors/shaderProcessor';\r\n\r\n/** @ignore */\r\nexport class LoadFileError extends BaseError {\r\n public request?: WebRequest;\r\n public file?: File;\r\n\r\n /**\r\n * Creates a new LoadFileError\r\n * @param message defines the message of the error\r\n * @param request defines the optional web request\r\n * @param file defines the optional file\r\n */\r\n constructor(message: string, object?: WebRequest | File) {\r\n super(message);\r\n\r\n this.name = \"LoadFileError\";\r\n BaseError._setPrototypeOf(this, LoadFileError.prototype);\r\n\r\n if (object instanceof WebRequest) {\r\n this.request = object;\r\n }\r\n else {\r\n this.file = object;\r\n }\r\n }\r\n}\r\n\r\n/** @ignore */\r\nexport class RequestFileError extends BaseError {\r\n /**\r\n * Creates a new LoadFileError\r\n * @param message defines the message of the error\r\n * @param request defines the optional web request\r\n */\r\n constructor(message: string, public request: WebRequest) {\r\n super(message);\r\n this.name = \"RequestFileError\";\r\n BaseError._setPrototypeOf(this, RequestFileError.prototype);\r\n }\r\n}\r\n\r\n/** @ignore */\r\nexport class ReadFileError extends BaseError {\r\n /**\r\n * Creates a new ReadFileError\r\n * @param message defines the message of the error\r\n * @param file defines the optional file\r\n */\r\n constructor(message: string, public file: File) {\r\n super(message);\r\n this.name = \"ReadFileError\";\r\n BaseError._setPrototypeOf(this, ReadFileError.prototype);\r\n }\r\n}\r\n/**\r\n * @hidden\r\n */\r\nexport class FileTools {\r\n /**\r\n * Gets or sets the retry strategy to apply when an error happens while loading an asset\r\n */\r\n public static DefaultRetryStrategy = RetryStrategy.ExponentialBackoff();\r\n\r\n /**\r\n * Gets or sets the base URL to use to load assets\r\n */\r\n public static BaseUrl = \"\";\r\n\r\n /**\r\n * Default behaviour for cors in the application.\r\n * It can be a string if the expected behavior is identical in the entire app.\r\n * Or a callback to be able to set it per url or on a group of them (in case of Video source for instance)\r\n */\r\n public static CorsBehavior: string | ((url: string | string[]) => string) = \"anonymous\";\r\n\r\n /**\r\n * Gets or sets a function used to pre-process url before using them to load assets\r\n */\r\n public static PreprocessUrl = (url: string) => {\r\n return url;\r\n }\r\n\r\n /**\r\n * Removes unwanted characters from an url\r\n * @param url defines the url to clean\r\n * @returns the cleaned url\r\n */\r\n private static _CleanUrl(url: string): string {\r\n url = url.replace(/#/mg, \"%23\");\r\n return url;\r\n }\r\n\r\n /**\r\n * Sets the cors behavior on a dom element. This will add the required Tools.CorsBehavior to the element.\r\n * @param url define the url we are trying\r\n * @param element define the dom element where to configure the cors policy\r\n */\r\n public static SetCorsBehavior(url: string | string[], element: { crossOrigin: string | null }): void {\r\n if (url && url.indexOf(\"data:\") === 0) {\r\n return;\r\n }\r\n\r\n if (FileTools.CorsBehavior) {\r\n if (typeof (FileTools.CorsBehavior) === 'string' || this.CorsBehavior instanceof String) {\r\n element.crossOrigin = FileTools.CorsBehavior;\r\n }\r\n else {\r\n var result = FileTools.CorsBehavior(url);\r\n if (result) {\r\n element.crossOrigin = result;\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Loads an image as an HTMLImageElement.\r\n * @param input url string, ArrayBuffer, or Blob to load\r\n * @param onLoad callback called when the image successfully loads\r\n * @param onError callback called when the image fails to load\r\n * @param offlineProvider offline provider for caching\r\n * @param mimeType optional mime type\r\n * @returns the HTMLImageElement of the loaded image\r\n */\r\n public static LoadImage(input: string | ArrayBuffer | ArrayBufferView | Blob, onLoad: (img: HTMLImageElement | ImageBitmap) => void, onError: (message?: string, exception?: any) => void, offlineProvider: Nullable, mimeType: string = \"\"): Nullable {\r\n let url: string;\r\n let usingObjectURL = false;\r\n\r\n if (input instanceof ArrayBuffer || ArrayBuffer.isView(input)) {\r\n if (typeof Blob !== 'undefined') {\r\n url = URL.createObjectURL(new Blob([input], { type: mimeType }));\r\n usingObjectURL = true;\r\n } else {\r\n url = `data:${mimeType};base64,` + StringTools.EncodeArrayBufferToBase64(input);\r\n }\r\n }\r\n else if (input instanceof Blob) {\r\n url = URL.createObjectURL(input);\r\n usingObjectURL = true;\r\n }\r\n else {\r\n url = FileTools._CleanUrl(input);\r\n url = FileTools.PreprocessUrl(input);\r\n }\r\n\r\n if (typeof Image === \"undefined\") {\r\n FileTools.LoadFile(url, (data) => {\r\n createImageBitmap(new Blob([data], { type: mimeType })).then((imgBmp) => {\r\n onLoad(imgBmp);\r\n if (usingObjectURL) {\r\n URL.revokeObjectURL(url);\r\n }\r\n }).catch((reason) => {\r\n if (onError) {\r\n onError(\"Error while trying to load image: \" + input, reason);\r\n }\r\n });\r\n }, undefined, offlineProvider || undefined, true, (request, exception) => {\r\n if (onError) {\r\n onError(\"Error while trying to load image: \" + input, exception);\r\n }\r\n });\r\n\r\n return null;\r\n }\r\n\r\n var img = new Image();\r\n FileTools.SetCorsBehavior(url, img);\r\n\r\n const loadHandler = () => {\r\n img.removeEventListener(\"load\", loadHandler);\r\n img.removeEventListener(\"error\", errorHandler);\r\n\r\n onLoad(img);\r\n\r\n // Must revoke the URL after calling onLoad to avoid security exceptions in\r\n // certain scenarios (e.g. when hosted in vscode).\r\n if (usingObjectURL && img.src) {\r\n URL.revokeObjectURL(img.src);\r\n }\r\n };\r\n\r\n const errorHandler = (err: any) => {\r\n img.removeEventListener(\"load\", loadHandler);\r\n img.removeEventListener(\"error\", errorHandler);\r\n\r\n if (onError) {\r\n const inputText = input.toString();\r\n onError(\"Error while trying to load image: \" + (inputText.length < 32 ? inputText : inputText.slice(0, 32) + \"...\"), err);\r\n }\r\n\r\n if (usingObjectURL && img.src) {\r\n URL.revokeObjectURL(img.src);\r\n }\r\n };\r\n\r\n img.addEventListener(\"load\", loadHandler);\r\n img.addEventListener(\"error\", errorHandler);\r\n\r\n var noOfflineSupport = () => {\r\n img.src = url;\r\n };\r\n\r\n var loadFromOfflineSupport = () => {\r\n if (offlineProvider) {\r\n offlineProvider.loadImage(url, img);\r\n }\r\n };\r\n\r\n if (url.substr(0, 5) !== \"data:\" && offlineProvider && offlineProvider.enableTexturesOffline) {\r\n offlineProvider.open(loadFromOfflineSupport, noOfflineSupport);\r\n }\r\n else {\r\n if (url.indexOf(\"file:\") !== -1) {\r\n var textureName = decodeURIComponent(url.substring(5).toLowerCase());\r\n if (FilesInputStore.FilesToLoad[textureName]) {\r\n try {\r\n var blobURL;\r\n try {\r\n blobURL = URL.createObjectURL(FilesInputStore.FilesToLoad[textureName]);\r\n }\r\n catch (ex) {\r\n // Chrome doesn't support oneTimeOnly parameter\r\n blobURL = URL.createObjectURL(FilesInputStore.FilesToLoad[textureName]);\r\n }\r\n img.src = blobURL;\r\n usingObjectURL = true;\r\n }\r\n catch (e) {\r\n img.src = \"\";\r\n }\r\n return img;\r\n }\r\n }\r\n\r\n noOfflineSupport();\r\n }\r\n\r\n return img;\r\n }\r\n\r\n /**\r\n * Reads a file from a File object\r\n * @param file defines the file to load\r\n * @param onSuccess defines the callback to call when data is loaded\r\n * @param onProgress defines the callback to call during loading process\r\n * @param useArrayBuffer defines a boolean indicating that data must be returned as an ArrayBuffer\r\n * @param onError defines the callback to call when an error occurs\r\n * @returns a file request object\r\n */\r\n public static ReadFile(file: File, onSuccess: (data: any) => void, onProgress?: (ev: ProgressEvent) => any, useArrayBuffer?: boolean, onError?: (error: ReadFileError) => void): IFileRequest {\r\n let reader = new FileReader();\r\n let request: IFileRequest = {\r\n onCompleteObservable: new Observable(),\r\n abort: () => reader.abort(),\r\n };\r\n\r\n reader.onloadend = (e) => request.onCompleteObservable.notifyObservers(request);\r\n if (onError) {\r\n reader.onerror = (e) => {\r\n onError(new ReadFileError(`Unable to read ${file.name}`, file));\r\n };\r\n }\r\n reader.onload = (e) => {\r\n //target doesn't have result from ts 1.3\r\n onSuccess((e.target)['result']);\r\n };\r\n if (onProgress) {\r\n reader.onprogress = onProgress;\r\n }\r\n if (!useArrayBuffer) {\r\n // Asynchronous read\r\n reader.readAsText(file);\r\n }\r\n else {\r\n reader.readAsArrayBuffer(file);\r\n }\r\n\r\n return request;\r\n }\r\n\r\n /**\r\n * Loads a file from a url\r\n * @param url url to load\r\n * @param onSuccess callback called when the file successfully loads\r\n * @param onProgress callback called while file is loading (if the server supports this mode)\r\n * @param offlineProvider defines the offline provider for caching\r\n * @param useArrayBuffer defines a boolean indicating that date must be returned as ArrayBuffer\r\n * @param onError callback called when the file fails to load\r\n * @returns a file request object\r\n */\r\n public static LoadFile(url: string, onSuccess: (data: string | ArrayBuffer, responseURL?: string) => void, onProgress?: (ev: ProgressEvent) => void, offlineProvider?: IOfflineProvider, useArrayBuffer?: boolean, onError?: (request?: WebRequest, exception?: LoadFileError) => void): IFileRequest {\r\n // If file and file input are set\r\n if (url.indexOf(\"file:\") !== -1) {\r\n let fileName = decodeURIComponent(url.substring(5).toLowerCase());\r\n if (fileName.indexOf('./') === 0) {\r\n fileName = fileName.substring(2);\r\n }\r\n const file = FilesInputStore.FilesToLoad[fileName];\r\n if (file) {\r\n return FileTools.ReadFile(file, onSuccess, onProgress, useArrayBuffer, onError ? (error) => onError(undefined, new LoadFileError(error.message, error.file)) : undefined);\r\n }\r\n }\r\n\r\n return FileTools.RequestFile(url, (data, request) => {\r\n onSuccess(data, request ? request.responseURL : undefined);\r\n }, onProgress, offlineProvider, useArrayBuffer, onError ? (error) => {\r\n onError(error.request, new LoadFileError(error.message, error.request));\r\n } : undefined);\r\n }\r\n\r\n /**\r\n * Loads a file\r\n * @param url url to load\r\n * @param onSuccess callback called when the file successfully loads\r\n * @param onProgress callback called while file is loading (if the server supports this mode)\r\n * @param useArrayBuffer defines a boolean indicating that date must be returned as ArrayBuffer\r\n * @param onError callback called when the file fails to load\r\n * @param onOpened callback called when the web request is opened\r\n * @returns a file request object\r\n */\r\n public static RequestFile(url: string, onSuccess: (data: string | ArrayBuffer, request?: WebRequest) => void, onProgress?: (event: ProgressEvent) => void, offlineProvider?: IOfflineProvider, useArrayBuffer?: boolean, onError?: (error: RequestFileError) => void, onOpened?: (request: WebRequest) => void): IFileRequest {\r\n url = FileTools._CleanUrl(url);\r\n url = FileTools.PreprocessUrl(url);\r\n\r\n const loadUrl = FileTools.BaseUrl + url;\r\n\r\n let aborted = false;\r\n const fileRequest: IFileRequest = {\r\n onCompleteObservable: new Observable(),\r\n abort: () => aborted = true,\r\n };\r\n\r\n const requestFile = () => {\r\n let request = new WebRequest();\r\n let retryHandle: Nullable = null;\r\n\r\n fileRequest.abort = () => {\r\n aborted = true;\r\n\r\n if (request.readyState !== (XMLHttpRequest.DONE || 4)) {\r\n request.abort();\r\n }\r\n\r\n if (retryHandle !== null) {\r\n clearTimeout(retryHandle);\r\n retryHandle = null;\r\n }\r\n };\r\n\r\n const retryLoop = (retryIndex: number) => {\r\n request.open('GET', loadUrl);\r\n\r\n if (onOpened) {\r\n onOpened(request);\r\n }\r\n\r\n if (useArrayBuffer) {\r\n request.responseType = \"arraybuffer\";\r\n }\r\n\r\n if (onProgress) {\r\n request.addEventListener(\"progress\", onProgress);\r\n }\r\n\r\n const onLoadEnd = () => {\r\n request.removeEventListener(\"loadend\", onLoadEnd);\r\n fileRequest.onCompleteObservable.notifyObservers(fileRequest);\r\n fileRequest.onCompleteObservable.clear();\r\n };\r\n\r\n request.addEventListener(\"loadend\", onLoadEnd);\r\n\r\n const onReadyStateChange = () => {\r\n if (aborted) {\r\n return;\r\n }\r\n\r\n // In case of undefined state in some browsers.\r\n if (request.readyState === (XMLHttpRequest.DONE || 4)) {\r\n // Some browsers have issues where onreadystatechange can be called multiple times with the same value.\r\n request.removeEventListener(\"readystatechange\", onReadyStateChange);\r\n\r\n if ((request.status >= 200 && request.status < 300) || (request.status === 0 && (!DomManagement.IsWindowObjectExist() || FileTools.IsFileURL()))) {\r\n onSuccess(useArrayBuffer ? request.response : request.responseText, request);\r\n return;\r\n }\r\n\r\n let retryStrategy = FileTools.DefaultRetryStrategy;\r\n if (retryStrategy) {\r\n let waitTime = retryStrategy(loadUrl, request, retryIndex);\r\n if (waitTime !== -1) {\r\n // Prevent the request from completing for retry.\r\n request.removeEventListener(\"loadend\", onLoadEnd);\r\n request = new WebRequest();\r\n retryHandle = setTimeout(() => retryLoop(retryIndex + 1), waitTime);\r\n return;\r\n }\r\n }\r\n\r\n const error = new RequestFileError(\"Error status: \" + request.status + \" \" + request.statusText + \" - Unable to load \" + loadUrl, request);\r\n if (onError) {\r\n onError(error);\r\n }\r\n }\r\n };\r\n\r\n request.addEventListener(\"readystatechange\", onReadyStateChange);\r\n\r\n request.send();\r\n };\r\n\r\n retryLoop(0);\r\n };\r\n\r\n // Caching all files\r\n if (offlineProvider && offlineProvider.enableSceneOffline) {\r\n const noOfflineSupport = (request?: any) => {\r\n if (request && request.status > 400) {\r\n if (onError) {\r\n onError(request);\r\n }\r\n } else {\r\n requestFile();\r\n }\r\n };\r\n\r\n const loadFromOfflineSupport = () => {\r\n // TODO: database needs to support aborting and should return a IFileRequest\r\n\r\n if (offlineProvider) {\r\n offlineProvider.loadFile(FileTools.BaseUrl + url, (data) => {\r\n if (!aborted) {\r\n onSuccess(data);\r\n }\r\n\r\n fileRequest.onCompleteObservable.notifyObservers(fileRequest);\r\n }, onProgress ? (event) => {\r\n if (!aborted) {\r\n onProgress(event);\r\n }\r\n } : undefined, noOfflineSupport, useArrayBuffer);\r\n }\r\n };\r\n\r\n offlineProvider.open(loadFromOfflineSupport, noOfflineSupport);\r\n }\r\n else {\r\n requestFile();\r\n }\r\n\r\n return fileRequest;\r\n }\r\n\r\n /**\r\n * Checks if the loaded document was accessed via `file:`-Protocol.\r\n * @returns boolean\r\n */\r\n public static IsFileURL(): boolean {\r\n return typeof location !== \"undefined\" && location.protocol === \"file:\";\r\n }\r\n}\r\n\r\nThinEngine._FileToolsLoadImage = FileTools.LoadImage.bind(FileTools);\r\nThinEngine._FileToolsLoadFile = FileTools.LoadFile.bind(FileTools);\r\nShaderProcessor._FileToolsLoadFile = FileTools.LoadFile.bind(FileTools);","import { useTheme as useThemeWithoutDefault } from '@material-ui/styles';\nimport React from 'react';\nimport defaultTheme from './defaultTheme';\nexport default function useTheme() {\n var theme = useThemeWithoutDefault() || defaultTheme;\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(theme);\n }\n\n return theme;\n}","import { Nullable } from \"../types\";\r\nimport { serializeAsVector3, serialize } from \"../Misc/decorators\";\r\nimport { Vector3, Vector2 } from \"../Maths/math.vector\";\r\nimport { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { Scene } from \"../scene\";\r\nimport { Engine } from \"../Engines/engine\";\r\nimport { TargetCamera } from \"./targetCamera\";\r\nimport { FreeCameraInputsManager } from \"./freeCameraInputsManager\";\r\nimport { FreeCameraMouseInput } from \"../Cameras/Inputs/freeCameraMouseInput\";\r\nimport { FreeCameraKeyboardMoveInput } from \"../Cameras/Inputs/freeCameraKeyboardMoveInput\";\r\nimport { Tools } from '../Misc/tools';\r\n\r\ndeclare type Collider = import(\"../Collisions/collider\").Collider;\r\n\r\n/**\r\n * This represents a free type of camera. It can be useful in First Person Shooter game for instance.\r\n * Please consider using the new UniversalCamera instead as it adds more functionality like the gamepad.\r\n * @see https://doc.babylonjs.com/features/cameras#universal-camera\r\n */\r\nexport class FreeCamera extends TargetCamera {\r\n /**\r\n * Define the collision ellipsoid of the camera.\r\n * This is helpful to simulate a camera body like the player body around the camera\r\n * @see https://doc.babylonjs.com/babylon101/cameras,_mesh_collisions_and_gravity#arcrotatecamera\r\n */\r\n @serializeAsVector3()\r\n public ellipsoid = new Vector3(0.5, 1, 0.5);\r\n\r\n /**\r\n * Define an offset for the position of the ellipsoid around the camera.\r\n * This can be helpful to determine the center of the body near the gravity center of the body\r\n * instead of its head.\r\n */\r\n @serializeAsVector3()\r\n public ellipsoidOffset = new Vector3(0, 0, 0);\r\n\r\n /**\r\n * Enable or disable collisions of the camera with the rest of the scene objects.\r\n */\r\n @serialize()\r\n public checkCollisions = false;\r\n\r\n /**\r\n * Enable or disable gravity on the camera.\r\n */\r\n @serialize()\r\n public applyGravity = false;\r\n\r\n /**\r\n * Define the input manager associated to the camera.\r\n */\r\n public inputs: FreeCameraInputsManager;\r\n\r\n /**\r\n * Gets the input sensibility for a mouse input. (default is 2000.0)\r\n * Higher values reduce sensitivity.\r\n */\r\n public get angularSensibility(): number {\r\n var mouse = this.inputs.attached[\"mouse\"];\r\n if (mouse) {\r\n return mouse.angularSensibility;\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n /**\r\n * Sets the input sensibility for a mouse input. (default is 2000.0)\r\n * Higher values reduce sensitivity.\r\n */\r\n public set angularSensibility(value: number) {\r\n var mouse = this.inputs.attached[\"mouse\"];\r\n if (mouse) {\r\n mouse.angularSensibility = value;\r\n }\r\n }\r\n\r\n /**\r\n * Gets or Set the list of keyboard keys used to control the forward move of the camera.\r\n */\r\n public get keysUp(): number[] {\r\n var keyboard = this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysUp;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public set keysUp(value: number[]) {\r\n var keyboard = this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysUp = value;\r\n }\r\n }\r\n\r\n /**\r\n * Gets or Set the list of keyboard keys used to control the upward move of the camera.\r\n */\r\n public get keysUpward(): number[] {\r\n var keyboard = this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysUpward;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public set keysUpward(value: number[]) {\r\n var keyboard = this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysUpward = value;\r\n }\r\n }\r\n\r\n /**\r\n * Gets or Set the list of keyboard keys used to control the backward move of the camera.\r\n */\r\n public get keysDown(): number[] {\r\n var keyboard = this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysDown;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public set keysDown(value: number[]) {\r\n var keyboard = this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysDown = value;\r\n }\r\n }\r\n\r\n /**\r\n * Gets or Set the list of keyboard keys used to control the downward move of the camera.\r\n */\r\n public get keysDownward(): number[] {\r\n var keyboard = this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysDownward;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public set keysDownward(value: number[]) {\r\n var keyboard = this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysDownward = value;\r\n }\r\n }\r\n\r\n /**\r\n * Gets or Set the list of keyboard keys used to control the left strafe move of the camera.\r\n */\r\n public get keysLeft(): number[] {\r\n var keyboard = this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysLeft;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public set keysLeft(value: number[]) {\r\n var keyboard = this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysLeft = value;\r\n }\r\n }\r\n\r\n /**\r\n * Gets or Set the list of keyboard keys used to control the right strafe move of the camera.\r\n */\r\n public get keysRight(): number[] {\r\n var keyboard = this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n return keyboard.keysRight;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n public set keysRight(value: number[]) {\r\n var keyboard = this.inputs.attached[\"keyboard\"];\r\n if (keyboard) {\r\n keyboard.keysRight = value;\r\n }\r\n }\r\n\r\n /**\r\n * Event raised when the camera collide with a mesh in the scene.\r\n */\r\n public onCollide: (collidedMesh: AbstractMesh) => void;\r\n\r\n private _collider: Collider;\r\n private _needMoveForGravity = false;\r\n private _oldPosition = Vector3.Zero();\r\n private _diffPosition = Vector3.Zero();\r\n private _newPosition = Vector3.Zero();\r\n\r\n /** @hidden */\r\n public _localDirection: Vector3;\r\n /** @hidden */\r\n public _transformedDirection: Vector3;\r\n\r\n /**\r\n * Instantiates a Free Camera.\r\n * This represents a free type of camera. It can be useful in First Person Shooter game for instance.\r\n * Please consider using the new UniversalCamera instead as it adds more functionality like touch to this camera.\r\n * @see https://doc.babylonjs.com/features/cameras#universal-camera\r\n * @param name Define the name of the camera in the scene\r\n * @param position Define the start position of the camera in the scene\r\n * @param scene Define the scene the camera belongs to\r\n * @param setActiveOnSceneIfNoneActive Defines wheter the camera should be marked as active if not other active cameras have been defined\r\n */\r\n constructor(name: string, position: Vector3, scene: Scene, setActiveOnSceneIfNoneActive = true) {\r\n super(name, position, scene, setActiveOnSceneIfNoneActive);\r\n this.inputs = new FreeCameraInputsManager(this);\r\n this.inputs.addKeyboard().addMouse();\r\n }\r\n\r\n /**\r\n * Attach the input controls to a specific dom element to get the input from.\r\n * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\r\n */\r\n public attachControl(noPreventDefault?: boolean): void;\r\n /**\r\n * Attach the input controls to a specific dom element to get the input from.\r\n * @param ignored defines an ignored parameter kept for backward compatibility. If you want to define the source input element, you can set engine.inputElement before calling camera.attachControl\r\n * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\r\n * BACK COMPAT SIGNATURE ONLY.\r\n */\r\n public attachControl(ignored: any, noPreventDefault?: boolean): void;\r\n /**\r\n * Attached controls to the current camera.\r\n * @param ignored defines an ignored parameter kept for backward compatibility. If you want to define the source input element, you can set engine.inputElement before calling camera.attachControl\r\n * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\r\n */\r\n public attachControl(ignored?: any, noPreventDefault?: boolean): void {\r\n noPreventDefault = Tools.BackCompatCameraNoPreventDefault(arguments);\r\n this.inputs.attachElement(noPreventDefault);\r\n }\r\n\r\n /**\r\n * Detach the current controls from the specified dom element.\r\n */\r\n public detachControl(): void;\r\n /**\r\n * Detach the current controls from the specified dom element.\r\n * @param ignored defines an ignored parameter kept for backward compatibility. If you want to define the source input element, you can set engine.inputElement before calling camera.attachControl\r\n */\r\n public detachControl(ignored: any): void;\r\n /**\r\n * Detach the current controls from the specified dom element.\r\n * @param ignored defines an ignored parameter kept for backward compatibility. If you want to define the source input element, you can set engine.inputElement before calling camera.attachControl\r\n */\r\n public detachControl(ignored?: any): void {\r\n this.inputs.detachElement();\r\n\r\n this.cameraDirection = new Vector3(0, 0, 0);\r\n this.cameraRotation = new Vector2(0, 0);\r\n }\r\n\r\n // Collisions\r\n private _collisionMask = -1;\r\n\r\n /**\r\n * Define a collision mask to limit the list of object the camera can collide with\r\n */\r\n public get collisionMask(): number {\r\n return this._collisionMask;\r\n }\r\n\r\n public set collisionMask(mask: number) {\r\n this._collisionMask = !isNaN(mask) ? mask : -1;\r\n }\r\n\r\n /** @hidden */\r\n public _collideWithWorld(displacement: Vector3): void {\r\n var globalPosition: Vector3;\r\n\r\n if (this.parent) {\r\n globalPosition = Vector3.TransformCoordinates(this.position, this.parent.getWorldMatrix());\r\n } else {\r\n globalPosition = this.position;\r\n }\r\n\r\n globalPosition.subtractFromFloatsToRef(0, this.ellipsoid.y, 0, this._oldPosition);\r\n this._oldPosition.addInPlace(this.ellipsoidOffset);\r\n\r\n let coordinator = this.getScene().collisionCoordinator;\r\n if (!this._collider) {\r\n this._collider = coordinator.createCollider();\r\n }\r\n\r\n this._collider._radius = this.ellipsoid;\r\n this._collider.collisionMask = this._collisionMask;\r\n\r\n //no need for clone, as long as gravity is not on.\r\n var actualDisplacement = displacement;\r\n\r\n //add gravity to the direction to prevent the dual-collision checking\r\n if (this.applyGravity) {\r\n //this prevents mending with cameraDirection, a global variable of the free camera class.\r\n actualDisplacement = displacement.add(this.getScene().gravity);\r\n }\r\n\r\n coordinator.getNewPosition(this._oldPosition, actualDisplacement, this._collider, 3, null, this._onCollisionPositionChange, this.uniqueId);\r\n\r\n }\r\n\r\n private _onCollisionPositionChange = (collisionId: number, newPosition: Vector3, collidedMesh: Nullable = null) => {\r\n\r\n var updatePosition = (newPos: Vector3) => {\r\n this._newPosition.copyFrom(newPos);\r\n\r\n this._newPosition.subtractToRef(this._oldPosition, this._diffPosition);\r\n\r\n if (this._diffPosition.length() > Engine.CollisionsEpsilon) {\r\n this.position.addInPlace(this._diffPosition);\r\n if (this.onCollide && collidedMesh) {\r\n this.onCollide(collidedMesh);\r\n }\r\n }\r\n };\r\n\r\n updatePosition(newPosition);\r\n }\r\n\r\n /** @hidden */\r\n public _checkInputs(): void {\r\n if (!this._localDirection) {\r\n this._localDirection = Vector3.Zero();\r\n this._transformedDirection = Vector3.Zero();\r\n }\r\n\r\n this.inputs.checkInputs();\r\n\r\n super._checkInputs();\r\n }\r\n\r\n /** @hidden */\r\n public _decideIfNeedsToMove(): boolean {\r\n return this._needMoveForGravity || Math.abs(this.cameraDirection.x) > 0 || Math.abs(this.cameraDirection.y) > 0 || Math.abs(this.cameraDirection.z) > 0;\r\n }\r\n\r\n /** @hidden */\r\n public _updatePosition(): void {\r\n if (this.checkCollisions && this.getScene().collisionsEnabled) {\r\n this._collideWithWorld(this.cameraDirection);\r\n } else {\r\n super._updatePosition();\r\n }\r\n }\r\n\r\n /**\r\n * Destroy the camera and release the current resources hold by it.\r\n */\r\n public dispose(): void {\r\n this.inputs.clear();\r\n super.dispose();\r\n }\r\n\r\n /**\r\n * Gets the current object class name.\r\n * @return the class name\r\n */\r\n public getClassName(): string {\r\n return \"FreeCamera\";\r\n }\r\n}\r\n","\r\n/**\r\n * Class used to represent a viewport on screen\r\n */\r\nexport class Viewport {\r\n /**\r\n * Creates a Viewport object located at (x, y) and sized (width, height)\r\n * @param x defines viewport left coordinate\r\n * @param y defines viewport top coordinate\r\n * @param width defines the viewport width\r\n * @param height defines the viewport height\r\n */\r\n constructor(\r\n /** viewport left coordinate */\r\n public x: number,\r\n /** viewport top coordinate */\r\n public y: number,\r\n /**viewport width */\r\n public width: number,\r\n /** viewport height */\r\n public height: number) {\r\n }\r\n\r\n /**\r\n * Creates a new viewport using absolute sizing (from 0-> width, 0-> height instead of 0->1)\r\n * @param renderWidth defines the rendering width\r\n * @param renderHeight defines the rendering height\r\n * @returns a new Viewport\r\n */\r\n public toGlobal(renderWidth: number, renderHeight: number): Viewport {\r\n return new Viewport(this.x * renderWidth, this.y * renderHeight, this.width * renderWidth, this.height * renderHeight);\r\n }\r\n\r\n /**\r\n * Stores absolute viewport value into a target viewport (from 0-> width, 0-> height instead of 0->1)\r\n * @param renderWidth defines the rendering width\r\n * @param renderHeight defines the rendering height\r\n * @param ref defines the target viewport\r\n * @returns the current viewport\r\n */\r\n public toGlobalToRef(renderWidth: number, renderHeight: number, ref: Viewport): Viewport {\r\n ref.x = this.x * renderWidth;\r\n ref.y = this.y * renderHeight;\r\n ref.width = this.width * renderWidth;\r\n ref.height = this.height * renderHeight;\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns a new Viewport copied from the current one\r\n * @returns a new Viewport\r\n */\r\n public clone(): Viewport {\r\n return new Viewport(this.x, this.y, this.width, this.height);\r\n }\r\n}","import { DomManagement } from './domManagement';\r\n\r\n/**\r\n * Class containing a set of static utilities functions for precision date\r\n */\r\nexport class PrecisionDate {\r\n /**\r\n * Gets either window.performance.now() if supported or Date.now() else\r\n */\r\n public static get Now(): number {\r\n if (DomManagement.IsWindowObjectExist() && window.performance && window.performance.now) {\r\n return window.performance.now();\r\n }\r\n\r\n return Date.now();\r\n }\r\n}\r\n","import * as React from 'react';\nvar useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n/**\n * https://github.com/facebook/react/issues/14099#issuecomment-440013892\n *\n * @param {function} fn\n */\n\nexport default function useEventCallback(fn) {\n var ref = React.useRef(fn);\n useEnhancedEffect(function () {\n ref.current = fn;\n });\n return React.useCallback(function () {\n return (0, ref.current).apply(void 0, arguments);\n }, []);\n}","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'helperFunctions';\nlet shader = `const float PI=3.1415926535897932384626433832795;\nconst float HALF_MIN=5.96046448e-08;\nconst float LinearEncodePowerApprox=2.2;\nconst float GammaEncodePowerApprox=1.0/LinearEncodePowerApprox;\nconst vec3 LuminanceEncodeApprox=vec3(0.2126,0.7152,0.0722);\nconst float Epsilon=0.0000001;\n#define saturate(x) clamp(x,0.0,1.0)\n#define absEps(x) abs(x)+Epsilon\n#define maxEps(x) max(x,Epsilon)\n#define saturateEps(x) clamp(x,Epsilon,1.0)\nmat3 transposeMat3(mat3 inMatrix) {\nvec3 i0=inMatrix[0];\nvec3 i1=inMatrix[1];\nvec3 i2=inMatrix[2];\nmat3 outMatrix=mat3(\nvec3(i0.x,i1.x,i2.x),\nvec3(i0.y,i1.y,i2.y),\nvec3(i0.z,i1.z,i2.z)\n);\nreturn outMatrix;\n}\n\nmat3 inverseMat3(mat3 inMatrix) {\nfloat a00=inMatrix[0][0],a01=inMatrix[0][1],a02=inMatrix[0][2];\nfloat a10=inMatrix[1][0],a11=inMatrix[1][1],a12=inMatrix[1][2];\nfloat a20=inMatrix[2][0],a21=inMatrix[2][1],a22=inMatrix[2][2];\nfloat b01=a22*a11-a12*a21;\nfloat b11=-a22*a10+a12*a20;\nfloat b21=a21*a10-a11*a20;\nfloat det=a00*b01+a01*b11+a02*b21;\nreturn mat3(b01,(-a22*a01+a02*a21),(a12*a01-a02*a11),\nb11,(a22*a00-a02*a20),(-a12*a00+a02*a10),\nb21,(-a21*a00+a01*a20),(a11*a00-a01*a10))/det;\n}\nfloat toLinearSpace(float color)\n{\nreturn pow(color,LinearEncodePowerApprox);\n}\nvec3 toLinearSpace(vec3 color)\n{\nreturn pow(color,vec3(LinearEncodePowerApprox));\n}\nvec4 toLinearSpace(vec4 color)\n{\nreturn vec4(pow(color.rgb,vec3(LinearEncodePowerApprox)),color.a);\n}\nvec3 toGammaSpace(vec3 color)\n{\nreturn pow(color,vec3(GammaEncodePowerApprox));\n}\nvec4 toGammaSpace(vec4 color)\n{\nreturn vec4(pow(color.rgb,vec3(GammaEncodePowerApprox)),color.a);\n}\nfloat toGammaSpace(float color)\n{\nreturn pow(color,GammaEncodePowerApprox);\n}\nfloat square(float value)\n{\nreturn value*value;\n}\nfloat pow5(float value) {\nfloat sq=value*value;\nreturn sq*sq*value;\n}\nfloat getLuminance(vec3 color)\n{\nreturn clamp(dot(color,LuminanceEncodeApprox),0.,1.);\n}\n\nfloat getRand(vec2 seed) {\nreturn fract(sin(dot(seed.xy ,vec2(12.9898,78.233)))*43758.5453);\n}\nfloat dither(vec2 seed,float varianceAmount) {\nfloat rand=getRand(seed);\nfloat dither=mix(-varianceAmount/255.0,varianceAmount/255.0,rand);\nreturn dither;\n}\n\nconst float rgbdMaxRange=255.0;\nvec4 toRGBD(vec3 color) {\nfloat maxRGB=maxEps(max(color.r,max(color.g,color.b)));\nfloat D=max(rgbdMaxRange/maxRGB,1.);\nD=clamp(floor(D)/255.0,0.,1.);\n\nvec3 rgb=color.rgb*D;\n\nrgb=toGammaSpace(rgb);\nreturn vec4(rgb,D);\n}\nvec3 fromRGBD(vec4 rgbd) {\n\nrgbd.rgb=toLinearSpace(rgbd.rgb);\n\nreturn rgbd.rgb/rgbd.a;\n}\n`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var helperFunctions = { name, shader };\n","import createNamedContext from \"./createNameContext\";\n\nconst historyContext = /*#__PURE__*/ createNamedContext(\"Router-History\");\nexport default historyContext;\n","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nexport default createNamedContext;\n","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nconst context = /*#__PURE__*/ createNamedContext(\"Router\");\nexport default context;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nimport HistoryContext from \"./HistoryContext.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for putting history on context.\n */\nclass Router extends React.Component {\n static computeRootMatch(pathname) {\n return { path: \"/\", url: \"/\", params: {}, isExact: pathname === \"/\" };\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n location: props.history.location\n };\n\n // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the is mounted.\n this._isMounted = false;\n this._pendingLocation = null;\n\n if (!props.staticContext) {\n this.unlisten = props.history.listen(location => {\n if (this._isMounted) {\n this.setState({ location });\n } else {\n this._pendingLocation = location;\n }\n });\n }\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n if (this._pendingLocation) {\n this.setState({ location: this._pendingLocation });\n }\n }\n\n componentWillUnmount() {\n if (this.unlisten) this.unlisten();\n }\n\n render() {\n return (\n \n \n \n );\n }\n}\n\nif (__DEV__) {\n Router.propTypes = {\n children: PropTypes.node,\n history: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n };\n\n Router.prototype.componentDidUpdate = function(prevProps) {\n warning(\n prevProps.history === this.props.history,\n \"You cannot change \"\n );\n };\n}\n\nexport default Router;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createMemoryHistory as createHistory } from \"history\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\n/**\n * The public API for a that stores location in memory.\n */\nclass MemoryRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n MemoryRouter.propTypes = {\n initialEntries: PropTypes.array,\n initialIndex: PropTypes.number,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n };\n\n MemoryRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\"\n );\n };\n}\n\nexport default MemoryRouter;\n","import React from \"react\";\n\nclass Lifecycle extends React.Component {\n componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n }\n\n componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n }\n\n render() {\n return null;\n }\n}\n\nexport default Lifecycle;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path) {\n if (cache[path]) return cache[path];\n\n const generator = pathToRegexp.compile(path);\n\n if (cacheCount < cacheLimit) {\n cache[path] = generator;\n cacheCount++;\n }\n\n return generator;\n}\n\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\nfunction generatePath(path = \"/\", params = {}) {\n return path === \"/\" ? path : compilePath(path)(params, { pretty: true });\n}\n\nexport default generatePath;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, locationsAreEqual } from \"history\";\nimport invariant from \"tiny-invariant\";\n\nimport Lifecycle from \"./Lifecycle.js\";\nimport RouterContext from \"./RouterContext.js\";\nimport generatePath from \"./generatePath.js\";\n\n/**\n * The public API for navigating programmatically with a component.\n */\nfunction Redirect({ computedMatch, to, push = false }) {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const { history, staticContext } = context;\n\n const method = push ? history.push : history.replace;\n const location = createLocation(\n computedMatch\n ? typeof to === \"string\"\n ? generatePath(to, computedMatch.params)\n : {\n ...to,\n pathname: generatePath(to.pathname, computedMatch.params)\n }\n : to\n );\n\n // When rendering in a static context,\n // set the new location immediately.\n if (staticContext) {\n method(location);\n return null;\n }\n\n return (\n {\n method(location);\n }}\n onUpdate={(self, prevProps) => {\n const prevLocation = createLocation(prevProps.to);\n if (\n !locationsAreEqual(prevLocation, {\n ...location,\n key: prevLocation.key\n })\n ) {\n method(location);\n }\n }}\n to={to}\n />\n );\n }}\n \n );\n}\n\nif (__DEV__) {\n Redirect.propTypes = {\n push: PropTypes.bool,\n from: PropTypes.string,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired\n };\n}\n\nexport default Redirect;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path, options) {\n const cacheKey = `${options.end}${options.strict}${options.sensitive}`;\n const pathCache = cache[cacheKey] || (cache[cacheKey] = {});\n\n if (pathCache[path]) return pathCache[path];\n\n const keys = [];\n const regexp = pathToRegexp(path, keys, options);\n const result = { regexp, keys };\n\n if (cacheCount < cacheLimit) {\n pathCache[path] = result;\n cacheCount++;\n }\n\n return result;\n}\n\n/**\n * Public API for matching a URL pathname to a path.\n */\nfunction matchPath(pathname, options = {}) {\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = { path: options };\n }\n\n const { path, exact = false, strict = false, sensitive = false } = options;\n\n const paths = [].concat(path);\n\n return paths.reduce((matched, path) => {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n const { regexp, keys } = compilePath(path, {\n end: exact,\n strict,\n sensitive\n });\n const match = regexp.exec(pathname);\n\n if (!match) return null;\n\n const [url, ...values] = match;\n const isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path, // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n isExact, // whether or not we matched exactly\n params: keys.reduce((memo, key, index) => {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nexport default matchPath;\n","import React from \"react\";\nimport { isValidElementType } from \"react-is\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n const value = children(props);\n\n warning(\n value !== undefined,\n \"You returned `undefined` from the `children` function of \" +\n `, but you ` +\n \"should have returned a React element or `null`\"\n );\n\n return value || null;\n}\n\n/**\n * The public API for matching a single path and rendering.\n */\nclass Route extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n const match = this.props.computedMatch\n ? this.props.computedMatch // already computed the match for us\n : this.props.path\n ? matchPath(location.pathname, this.props)\n : context.match;\n\n const props = { ...context, location, match };\n\n let { children, component, render } = this.props;\n\n // Preact uses an empty array as children by\n // default, so use null if that's the case.\n if (Array.isArray(children) && children.length === 0) {\n children = null;\n }\n\n return (\n \n {props.match\n ? children\n ? typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : children\n : component\n ? React.createElement(component, props)\n : render\n ? render(props)\n : null\n : typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : null}\n \n );\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Route.propTypes = {\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n component: (props, propName) => {\n if (props[propName] && !isValidElementType(props[propName])) {\n return new Error(\n `Invalid prop 'component' supplied to 'Route': the prop is not a valid React component`\n );\n }\n },\n exact: PropTypes.bool,\n location: PropTypes.object,\n path: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n render: PropTypes.func,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool\n };\n\n Route.prototype.componentDidMount = function() {\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.component\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.render\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(this.props.component && this.props.render),\n \"You should not use and in the same route; will be ignored\"\n );\n };\n\n Route.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Route;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, createPath } from \"history\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n\n return {\n ...location,\n pathname: addLeadingSlash(basename) + location.pathname\n };\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n\n const base = addLeadingSlash(basename);\n\n if (location.pathname.indexOf(base) !== 0) return location;\n\n return {\n ...location,\n pathname: location.pathname.substr(base.length)\n };\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n return () => {\n invariant(false, \"You cannot %s with \", methodName);\n };\n}\n\nfunction noop() {}\n\n/**\n * The public top-level API for a \"static\" , so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\nclass StaticRouter extends React.Component {\n navigateTo(location, action) {\n const { basename = \"\", context = {} } = this.props;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n }\n\n handlePush = location => this.navigateTo(location, \"PUSH\");\n handleReplace = location => this.navigateTo(location, \"REPLACE\");\n handleListen = () => noop;\n handleBlock = () => noop;\n\n render() {\n const { basename = \"\", context = {}, location = \"/\", ...rest } = this.props;\n\n const history = {\n createHref: path => addLeadingSlash(basename + createURL(path)),\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n\n return ;\n }\n}\n\nif (__DEV__) {\n StaticRouter.propTypes = {\n basename: PropTypes.string,\n context: PropTypes.object,\n location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n };\n\n StaticRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { StaticRouter as Router }`.\"\n );\n };\n}\n\nexport default StaticRouter;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\n/**\n * The public API for rendering the first that matches.\n */\nclass Switch extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n\n let element, match;\n\n // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two s that render the same\n // component at different URLs.\n React.Children.forEach(this.props.children, child => {\n if (match == null && React.isValidElement(child)) {\n element = child;\n\n const path = child.props.path || child.props.from;\n\n match = path\n ? matchPath(location.pathname, { ...child.props, path })\n : context.match;\n }\n });\n\n return match\n ? React.cloneElement(element, { location, computedMatch: match })\n : null;\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Switch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n };\n\n Switch.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Switch;\n","import React from \"react\";\nimport invariant from \"tiny-invariant\";\n\nimport Context from \"./RouterContext.js\";\nimport HistoryContext from \"./HistoryContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nconst useContext = React.useContext;\n\nexport function useHistory() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useHistory()\"\n );\n }\n\n return useContext(HistoryContext);\n}\n\nexport function useLocation() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useLocation()\"\n );\n }\n\n return useContext(Context).location;\n}\n\nexport function useParams() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useParams()\"\n );\n }\n\n const match = useContext(Context).match;\n return match ? match.params : {};\n}\n\nexport function useRouteMatch(path) {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useRouteMatch()\"\n );\n }\n\n const location = useLocation();\n const match = useContext(Context).match;\n\n return path ? matchPath(location.pathname, path) : match;\n}\n","export default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","import { Nullable, IndicesArray, DeepImmutable, FloatArray } from \"../types\";\r\nimport { Matrix, Vector3 } from \"../Maths/math.vector\";\r\nimport { Engine } from \"../Engines/engine\";\r\nimport { VertexBuffer } from \"./buffer\";\r\nimport { IntersectionInfo } from \"../Collisions/intersectionInfo\";\r\nimport { ICullable, BoundingInfo } from \"../Culling/boundingInfo\";\r\nimport { Effect } from \"../Materials/effect\";\r\n\r\nimport { DataBuffer } from './dataBuffer';\r\nimport { extractMinAndMaxIndexed } from '../Maths/math.functions';\r\nimport { Plane } from '../Maths/math.plane';\r\n\r\ndeclare type Collider = import(\"../Collisions/collider\").Collider;\r\ndeclare type Material = import(\"../Materials/material\").Material;\r\ndeclare type MaterialDefines = import(\"../Materials/materialDefines\").MaterialDefines;\r\ndeclare type MultiMaterial = import(\"../Materials/multiMaterial\").MultiMaterial;\r\ndeclare type AbstractMesh = import(\"./abstractMesh\").AbstractMesh;\r\ndeclare type Mesh = import(\"./mesh\").Mesh;\r\ndeclare type Ray = import(\"../Culling/ray\").Ray;\r\ndeclare type TrianglePickingPredicate = import(\"../Culling/ray\").TrianglePickingPredicate;\r\n\r\n/**\r\n * Defines a subdivision inside a mesh\r\n */\r\nexport class SubMesh implements ICullable {\r\n /** @hidden */\r\n public _materialDefines: Nullable = null;\r\n /** @hidden */\r\n public _materialEffect: Nullable = null;\r\n /** @hidden */\r\n public _effectOverride: Nullable = null;\r\n\r\n /**\r\n * Gets material defines used by the effect associated to the sub mesh\r\n */\r\n public get materialDefines(): Nullable {\r\n return this._materialDefines;\r\n }\r\n\r\n /**\r\n * Sets material defines used by the effect associated to the sub mesh\r\n */\r\n public set materialDefines(defines: Nullable) {\r\n this._materialDefines = defines;\r\n }\r\n\r\n /**\r\n * Gets associated effect\r\n */\r\n public get effect(): Nullable {\r\n return this._effectOverride ?? this._materialEffect;\r\n }\r\n\r\n /**\r\n * Sets associated effect (effect used to render this submesh)\r\n * @param effect defines the effect to associate with\r\n * @param defines defines the set of defines used to compile this effect\r\n */\r\n public setEffect(effect: Nullable, defines: Nullable = null) {\r\n if (this._materialEffect === effect) {\r\n if (!effect) {\r\n this._materialDefines = null;\r\n }\r\n return;\r\n }\r\n this._materialDefines = defines;\r\n this._materialEffect = effect;\r\n }\r\n\r\n /** @hidden */\r\n public _linesIndexCount: number = 0;\r\n private _mesh: AbstractMesh;\r\n private _renderingMesh: Mesh;\r\n private _boundingInfo: BoundingInfo;\r\n private _linesIndexBuffer: Nullable = null;\r\n /** @hidden */\r\n public _lastColliderWorldVertices: Nullable = null;\r\n /** @hidden */\r\n public _trianglePlanes: Plane[];\r\n /** @hidden */\r\n public _lastColliderTransformMatrix: Nullable = null;\r\n\r\n /** @hidden */\r\n public _renderId = 0;\r\n /** @hidden */\r\n public _alphaIndex: number = 0;\r\n /** @hidden */\r\n public _distanceToCamera: number = 0;\r\n /** @hidden */\r\n public _id: number;\r\n\r\n private _currentMaterial: Nullable = null;\r\n\r\n /**\r\n * Add a new submesh to a mesh\r\n * @param materialIndex defines the material index to use\r\n * @param verticesStart defines vertex index start\r\n * @param verticesCount defines vertices count\r\n * @param indexStart defines index start\r\n * @param indexCount defines indices count\r\n * @param mesh defines the parent mesh\r\n * @param renderingMesh defines an optional rendering mesh\r\n * @param createBoundingBox defines if bounding box should be created for this submesh\r\n * @returns the new submesh\r\n */\r\n public static AddToMesh(materialIndex: number, verticesStart: number, verticesCount: number, indexStart: number, indexCount: number, mesh: AbstractMesh, renderingMesh?: Mesh, createBoundingBox: boolean = true): SubMesh {\r\n return new SubMesh(materialIndex, verticesStart, verticesCount, indexStart, indexCount, mesh, renderingMesh, createBoundingBox);\r\n }\r\n\r\n /**\r\n * Creates a new submesh\r\n * @param materialIndex defines the material index to use\r\n * @param verticesStart defines vertex index start\r\n * @param verticesCount defines vertices count\r\n * @param indexStart defines index start\r\n * @param indexCount defines indices count\r\n * @param mesh defines the parent mesh\r\n * @param renderingMesh defines an optional rendering mesh\r\n * @param createBoundingBox defines if bounding box should be created for this submesh\r\n * @param addToMesh defines a boolean indicating that the submesh must be added to the mesh.subMeshes array (true by default)\r\n */\r\n constructor(\r\n /** the material index to use */\r\n public materialIndex: number,\r\n /** vertex index start */\r\n public verticesStart: number,\r\n /** vertices count */\r\n public verticesCount: number,\r\n /** index start */\r\n public indexStart: number,\r\n /** indices count */\r\n public indexCount: number, mesh: AbstractMesh, renderingMesh?: Mesh, createBoundingBox: boolean = true, addToMesh = true) {\r\n this._mesh = mesh;\r\n this._renderingMesh = renderingMesh || mesh;\r\n if (addToMesh) {\r\n mesh.subMeshes.push(this);\r\n }\r\n\r\n this._trianglePlanes = [];\r\n\r\n this._id = mesh.subMeshes.length - 1;\r\n\r\n if (createBoundingBox) {\r\n this.refreshBoundingInfo();\r\n mesh.computeWorldMatrix(true);\r\n }\r\n }\r\n\r\n /**\r\n * Returns true if this submesh covers the entire parent mesh\r\n * @ignorenaming\r\n */\r\n public get IsGlobal(): boolean {\r\n return (this.verticesStart === 0 && this.verticesCount === this._mesh.getTotalVertices());\r\n }\r\n\r\n /**\r\n * Returns the submesh BoudingInfo object\r\n * @returns current bounding info (or mesh's one if the submesh is global)\r\n */\r\n public getBoundingInfo(): BoundingInfo {\r\n if (this.IsGlobal) {\r\n return this._mesh.getBoundingInfo();\r\n }\r\n\r\n return this._boundingInfo;\r\n }\r\n\r\n /**\r\n * Sets the submesh BoundingInfo\r\n * @param boundingInfo defines the new bounding info to use\r\n * @returns the SubMesh\r\n */\r\n public setBoundingInfo(boundingInfo: BoundingInfo): SubMesh {\r\n this._boundingInfo = boundingInfo;\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns the mesh of the current submesh\r\n * @return the parent mesh\r\n */\r\n public getMesh(): AbstractMesh {\r\n return this._mesh;\r\n }\r\n\r\n /**\r\n * Returns the rendering mesh of the submesh\r\n * @returns the rendering mesh (could be different from parent mesh)\r\n */\r\n public getRenderingMesh(): Mesh {\r\n return this._renderingMesh;\r\n }\r\n\r\n /**\r\n * Returns the replacement mesh of the submesh\r\n * @returns the replacement mesh (could be different from parent mesh)\r\n */\r\n public getReplacementMesh(): Nullable {\r\n return this._mesh._internalAbstractMeshDataInfo._actAsRegularMesh ? this._mesh : null;\r\n }\r\n\r\n /**\r\n * Returns the effective mesh of the submesh\r\n * @returns the effective mesh (could be different from parent mesh)\r\n */\r\n public getEffectiveMesh(): AbstractMesh {\r\n const replacementMesh = this._mesh._internalAbstractMeshDataInfo._actAsRegularMesh ? this._mesh : null;\r\n\r\n return replacementMesh ? replacementMesh : this._renderingMesh;\r\n }\r\n\r\n /**\r\n * Returns the submesh material\r\n * @returns null or the current material\r\n */\r\n public getMaterial(): Nullable {\r\n var rootMaterial = this._renderingMesh.material;\r\n\r\n if (rootMaterial === null || rootMaterial === undefined) {\r\n return this._mesh.getScene().defaultMaterial;\r\n } else if (this._IsMultiMaterial(rootMaterial)) {\r\n var effectiveMaterial = rootMaterial.getSubMaterial(this.materialIndex);\r\n\r\n if (this._currentMaterial !== effectiveMaterial) {\r\n this._currentMaterial = effectiveMaterial;\r\n this._materialDefines = null;\r\n }\r\n\r\n return effectiveMaterial;\r\n }\r\n\r\n return rootMaterial;\r\n }\r\n\r\n private _IsMultiMaterial(material: Material): material is MultiMaterial {\r\n return (material as MultiMaterial).getSubMaterial !== undefined;\r\n }\r\n\r\n // Methods\r\n\r\n /**\r\n * Sets a new updated BoundingInfo object to the submesh\r\n * @param data defines an optional position array to use to determine the bounding info\r\n * @returns the SubMesh\r\n */\r\n public refreshBoundingInfo(data: Nullable = null): SubMesh {\r\n this._lastColliderWorldVertices = null;\r\n\r\n if (this.IsGlobal || !this._renderingMesh || !this._renderingMesh.geometry) {\r\n return this;\r\n }\r\n\r\n if (!data) {\r\n data = this._renderingMesh.getVerticesData(VertexBuffer.PositionKind);\r\n }\r\n\r\n if (!data) {\r\n this._boundingInfo = this._mesh.getBoundingInfo();\r\n return this;\r\n }\r\n\r\n var indices = this._renderingMesh.getIndices();\r\n var extend: { minimum: Vector3, maximum: Vector3 };\r\n\r\n //is this the only submesh?\r\n if (this.indexStart === 0 && this.indexCount === indices.length) {\r\n let boundingInfo = this._renderingMesh.getBoundingInfo();\r\n\r\n //the rendering mesh's bounding info can be used, it is the standard submesh for all indices.\r\n extend = { minimum: boundingInfo.minimum.clone(), maximum: boundingInfo.maximum.clone() };\r\n } else {\r\n extend = extractMinAndMaxIndexed(data, indices, this.indexStart, this.indexCount, this._renderingMesh.geometry.boundingBias);\r\n }\r\n\r\n if (this._boundingInfo) {\r\n this._boundingInfo.reConstruct(extend.minimum, extend.maximum);\r\n }\r\n else {\r\n this._boundingInfo = new BoundingInfo(extend.minimum, extend.maximum);\r\n }\r\n return this;\r\n }\r\n\r\n /** @hidden */\r\n public _checkCollision(collider: Collider): boolean {\r\n let boundingInfo = this.getBoundingInfo();\r\n\r\n return boundingInfo._checkCollision(collider);\r\n }\r\n\r\n /**\r\n * Updates the submesh BoundingInfo\r\n * @param world defines the world matrix to use to update the bounding info\r\n * @returns the submesh\r\n */\r\n public updateBoundingInfo(world: DeepImmutable): SubMesh {\r\n let boundingInfo = this.getBoundingInfo();\r\n\r\n if (!boundingInfo) {\r\n this.refreshBoundingInfo();\r\n boundingInfo = this.getBoundingInfo();\r\n }\r\n if (boundingInfo) {\r\n (boundingInfo).update(world);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * True is the submesh bounding box intersects the frustum defined by the passed array of planes.\r\n * @param frustumPlanes defines the frustum planes\r\n * @returns true if the submesh is intersecting with the frustum\r\n */\r\n public isInFrustum(frustumPlanes: Plane[]): boolean {\r\n let boundingInfo = this.getBoundingInfo();\r\n\r\n if (!boundingInfo) {\r\n return false;\r\n }\r\n return boundingInfo.isInFrustum(frustumPlanes, this._mesh.cullingStrategy);\r\n }\r\n\r\n /**\r\n * True is the submesh bounding box is completely inside the frustum defined by the passed array of planes\r\n * @param frustumPlanes defines the frustum planes\r\n * @returns true if the submesh is inside the frustum\r\n */\r\n public isCompletelyInFrustum(frustumPlanes: Plane[]): boolean {\r\n let boundingInfo = this.getBoundingInfo();\r\n\r\n if (!boundingInfo) {\r\n return false;\r\n }\r\n return boundingInfo.isCompletelyInFrustum(frustumPlanes);\r\n }\r\n\r\n /**\r\n * Renders the submesh\r\n * @param enableAlphaMode defines if alpha needs to be used\r\n * @returns the submesh\r\n */\r\n public render(enableAlphaMode: boolean): SubMesh {\r\n this._renderingMesh.render(this, enableAlphaMode, this._mesh._internalAbstractMeshDataInfo._actAsRegularMesh ? this._mesh : undefined);\r\n return this;\r\n }\r\n\r\n /**\r\n * @hidden\r\n */\r\n public _getLinesIndexBuffer(indices: IndicesArray, engine: Engine): DataBuffer {\r\n if (!this._linesIndexBuffer) {\r\n var linesIndices = [];\r\n\r\n for (var index = this.indexStart; index < this.indexStart + this.indexCount; index += 3) {\r\n linesIndices.push(indices[index], indices[index + 1],\r\n indices[index + 1], indices[index + 2],\r\n indices[index + 2], indices[index]);\r\n }\r\n\r\n this._linesIndexBuffer = engine.createIndexBuffer(linesIndices);\r\n this._linesIndexCount = linesIndices.length;\r\n }\r\n return this._linesIndexBuffer;\r\n }\r\n\r\n /**\r\n * Checks if the submesh intersects with a ray\r\n * @param ray defines the ray to test\r\n * @returns true is the passed ray intersects the submesh bounding box\r\n */\r\n public canIntersects(ray: Ray): boolean {\r\n let boundingInfo = this.getBoundingInfo();\r\n\r\n if (!boundingInfo) {\r\n return false;\r\n }\r\n return ray.intersectsBox(boundingInfo.boundingBox);\r\n }\r\n\r\n /**\r\n * Intersects current submesh with a ray\r\n * @param ray defines the ray to test\r\n * @param positions defines mesh's positions array\r\n * @param indices defines mesh's indices array\r\n * @param fastCheck defines if the first intersection will be used (and not the closest)\r\n * @param trianglePredicate defines an optional predicate used to select faces when a mesh intersection is detected\r\n * @returns intersection info or null if no intersection\r\n */\r\n public intersects(ray: Ray, positions: Vector3[], indices: IndicesArray,\r\n fastCheck?: boolean, trianglePredicate?: TrianglePickingPredicate): Nullable {\r\n const material = this.getMaterial();\r\n if (!material) {\r\n return null;\r\n }\r\n let step = 3;\r\n let checkStopper = false;\r\n\r\n switch (material.fillMode) {\r\n case 3:\r\n case 4:\r\n case 5:\r\n case 6:\r\n case 8:\r\n return null;\r\n case 7:\r\n step = 1;\r\n checkStopper = true;\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n // LineMesh first as it's also a Mesh...\r\n if (this._mesh.getClassName() === \"InstancedLinesMesh\" || this._mesh.getClassName() === \"LinesMesh\") {\r\n // Check if mesh is unindexed\r\n if (!indices.length) {\r\n return this._intersectUnIndexedLines(ray, positions, indices, (this._mesh as any).intersectionThreshold, fastCheck);\r\n }\r\n return this._intersectLines(ray, positions, indices, (this._mesh as any).intersectionThreshold, fastCheck);\r\n }\r\n else {\r\n // Check if mesh is unindexed\r\n if (!indices.length && this._mesh._unIndexed) {\r\n return this._intersectUnIndexedTriangles(ray, positions, indices, fastCheck, trianglePredicate);\r\n }\r\n\r\n return this._intersectTriangles(ray, positions, indices, step, checkStopper, fastCheck, trianglePredicate);\r\n }\r\n }\r\n\r\n /** @hidden */\r\n private _intersectLines(ray: Ray, positions: Vector3[], indices: IndicesArray, intersectionThreshold: number, fastCheck?: boolean): Nullable {\r\n var intersectInfo: Nullable = null;\r\n\r\n // Line test\r\n for (var index = this.indexStart; index < this.indexStart + this.indexCount; index += 2) {\r\n var p0 = positions[indices[index]];\r\n var p1 = positions[indices[index + 1]];\r\n\r\n var length = ray.intersectionSegment(p0, p1, intersectionThreshold);\r\n if (length < 0) {\r\n continue;\r\n }\r\n\r\n if (fastCheck || !intersectInfo || length < intersectInfo.distance) {\r\n intersectInfo = new IntersectionInfo(null, null, length);\r\n intersectInfo.faceId = index / 2;\r\n if (fastCheck) {\r\n break;\r\n }\r\n }\r\n }\r\n return intersectInfo;\r\n }\r\n\r\n /** @hidden */\r\n private _intersectUnIndexedLines(ray: Ray, positions: Vector3[], indices: IndicesArray, intersectionThreshold: number, fastCheck?: boolean): Nullable {\r\n var intersectInfo: Nullable = null;\r\n\r\n // Line test\r\n for (var index = this.verticesStart; index < this.verticesStart + this.verticesCount; index += 2) {\r\n var p0 = positions[index];\r\n var p1 = positions[index + 1];\r\n\r\n var length = ray.intersectionSegment(p0, p1, intersectionThreshold);\r\n if (length < 0) {\r\n continue;\r\n }\r\n\r\n if (fastCheck || !intersectInfo || length < intersectInfo.distance) {\r\n intersectInfo = new IntersectionInfo(null, null, length);\r\n intersectInfo.faceId = index / 2;\r\n if (fastCheck) {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return intersectInfo;\r\n }\r\n\r\n /** @hidden */\r\n private _intersectTriangles(ray: Ray, positions: Vector3[], indices: IndicesArray,\r\n step: number, checkStopper: boolean,\r\n fastCheck?: boolean, trianglePredicate?: TrianglePickingPredicate): Nullable {\r\n var intersectInfo: Nullable = null;\r\n\r\n // Triangles test\r\n let faceID = -1;\r\n for (var index = this.indexStart; index < this.indexStart + this.indexCount; index += step) {\r\n faceID++;\r\n const indexA = indices[index];\r\n const indexB = indices[index + 1];\r\n const indexC = indices[index + 2];\r\n\r\n if (checkStopper && indexC === 0xFFFFFFFF) {\r\n index += 2;\r\n continue;\r\n }\r\n\r\n var p0 = positions[indexA];\r\n var p1 = positions[indexB];\r\n var p2 = positions[indexC];\r\n\r\n if (trianglePredicate && !trianglePredicate(p0, p1, p2, ray)) {\r\n continue;\r\n }\r\n\r\n var currentIntersectInfo = ray.intersectsTriangle(p0, p1, p2);\r\n\r\n if (currentIntersectInfo) {\r\n if (currentIntersectInfo.distance < 0) {\r\n continue;\r\n }\r\n\r\n if (fastCheck || !intersectInfo || currentIntersectInfo.distance < intersectInfo.distance) {\r\n intersectInfo = currentIntersectInfo;\r\n intersectInfo.faceId = faceID;\r\n\r\n if (fastCheck) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return intersectInfo;\r\n }\r\n\r\n /** @hidden */\r\n private _intersectUnIndexedTriangles(ray: Ray, positions: Vector3[], indices: IndicesArray,\r\n fastCheck?: boolean, trianglePredicate?: TrianglePickingPredicate): Nullable {\r\n var intersectInfo: Nullable = null;\r\n // Triangles test\r\n for (var index = this.verticesStart; index < this.verticesStart + this.verticesCount; index += 3) {\r\n var p0 = positions[index];\r\n var p1 = positions[index + 1];\r\n var p2 = positions[index + 2];\r\n\r\n if (trianglePredicate && !trianglePredicate(p0, p1, p2, ray)) {\r\n continue;\r\n }\r\n\r\n var currentIntersectInfo = ray.intersectsTriangle(p0, p1, p2);\r\n\r\n if (currentIntersectInfo) {\r\n if (currentIntersectInfo.distance < 0) {\r\n continue;\r\n }\r\n\r\n if (fastCheck || !intersectInfo || currentIntersectInfo.distance < intersectInfo.distance) {\r\n intersectInfo = currentIntersectInfo;\r\n intersectInfo.faceId = index / 3;\r\n\r\n if (fastCheck) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return intersectInfo;\r\n }\r\n\r\n /** @hidden */\r\n public _rebuild(): void {\r\n if (this._linesIndexBuffer) {\r\n this._linesIndexBuffer = null;\r\n }\r\n }\r\n\r\n // Clone\r\n /**\r\n * Creates a new submesh from the passed mesh\r\n * @param newMesh defines the new hosting mesh\r\n * @param newRenderingMesh defines an optional rendering mesh\r\n * @returns the new submesh\r\n */\r\n public clone(newMesh: AbstractMesh, newRenderingMesh?: Mesh): SubMesh {\r\n var result = new SubMesh(this.materialIndex, this.verticesStart, this.verticesCount, this.indexStart, this.indexCount, newMesh, newRenderingMesh, false);\r\n\r\n if (!this.IsGlobal) {\r\n let boundingInfo = this.getBoundingInfo();\r\n\r\n if (!boundingInfo) {\r\n return result;\r\n }\r\n\r\n result._boundingInfo = new BoundingInfo(boundingInfo.minimum, boundingInfo.maximum);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n // Dispose\r\n\r\n /**\r\n * Release associated resources\r\n */\r\n public dispose(): void {\r\n if (this._linesIndexBuffer) {\r\n this._mesh.getScene().getEngine()._releaseBuffer(this._linesIndexBuffer);\r\n this._linesIndexBuffer = null;\r\n }\r\n\r\n // Remove from mesh\r\n var index = this._mesh.subMeshes.indexOf(this);\r\n this._mesh.subMeshes.splice(index, 1);\r\n }\r\n\r\n /**\r\n * Gets the class name\r\n * @returns the string \"SubMesh\".\r\n */\r\n public getClassName(): string {\r\n return \"SubMesh\";\r\n }\r\n\r\n // Statics\r\n /**\r\n * Creates a new submesh from indices data\r\n * @param materialIndex the index of the main mesh material\r\n * @param startIndex the index where to start the copy in the mesh indices array\r\n * @param indexCount the number of indices to copy then from the startIndex\r\n * @param mesh the main mesh to create the submesh from\r\n * @param renderingMesh the optional rendering mesh\r\n * @returns a new submesh\r\n */\r\n public static CreateFromIndices(materialIndex: number, startIndex: number, indexCount: number, mesh: AbstractMesh, renderingMesh?: Mesh): SubMesh {\r\n var minVertexIndex = Number.MAX_VALUE;\r\n var maxVertexIndex = -Number.MAX_VALUE;\r\n\r\n const whatWillRender = (renderingMesh || mesh);\r\n var indices = whatWillRender!.getIndices()!;\r\n\r\n for (var index = startIndex; index < startIndex + indexCount; index++) {\r\n var vertexIndex = indices[index];\r\n\r\n if (vertexIndex < minVertexIndex) {\r\n minVertexIndex = vertexIndex;\r\n }\r\n if (vertexIndex > maxVertexIndex) {\r\n maxVertexIndex = vertexIndex;\r\n }\r\n }\r\n\r\n return new SubMesh(materialIndex, minVertexIndex, maxVertexIndex - minVertexIndex + 1, startIndex, indexCount, mesh, renderingMesh);\r\n }\r\n}\r\n","import arrayWithoutHoles from \"@babel/runtime/helpers/esm/arrayWithoutHoles\";\nimport iterableToArray from \"@babel/runtime/helpers/esm/iterableToArray\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableSpread from \"@babel/runtime/helpers/esm/nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n// Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves\n// to learn the context in which each easing should be used.\nexport var easing = {\n // This is the most common easing curve.\n easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)',\n // Objects enter the screen at full velocity from off-screen and\n // slowly decelerate to a resting point.\n easeOut: 'cubic-bezier(0.0, 0, 0.2, 1)',\n // Objects leave the screen at full velocity. They do not decelerate when off-screen.\n easeIn: 'cubic-bezier(0.4, 0, 1, 1)',\n // The sharp curve is used by objects that may return to the screen at any time.\n sharp: 'cubic-bezier(0.4, 0, 0.6, 1)'\n}; // Follow https://material.io/guidelines/motion/duration-easing.html#duration-easing-common-durations\n// to learn when use what timing\n\nexport var duration = {\n shortest: 150,\n shorter: 200,\n short: 250,\n // most basic recommended timing\n standard: 300,\n // this is to be used in complex animations\n complex: 375,\n // recommended when something is entering screen\n enteringScreen: 225,\n // recommended when something is leaving screen\n leavingScreen: 195\n};\n\nfunction formatMs(milliseconds) {\n return \"\".concat(Math.round(milliseconds), \"ms\");\n}\n/**\n * @param {string|Array} props\n * @param {object} param\n * @param {string} param.prop\n * @param {number} param.duration\n * @param {string} param.easing\n * @param {number} param.delay\n */\n\n\nexport default {\n easing: easing,\n duration: duration,\n create: function create() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['all'];\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _options$duration = options.duration,\n durationOption = _options$duration === void 0 ? duration.standard : _options$duration,\n _options$easing = options.easing,\n easingOption = _options$easing === void 0 ? easing.easeInOut : _options$easing,\n _options$delay = options.delay,\n delay = _options$delay === void 0 ? 0 : _options$delay,\n other = _objectWithoutProperties(options, [\"duration\", \"easing\", \"delay\"]);\n\n if (process.env.NODE_ENV !== 'production') {\n var isString = function isString(value) {\n return typeof value === 'string';\n };\n\n var isNumber = function isNumber(value) {\n return !isNaN(parseFloat(value));\n };\n\n if (!isString(props) && !Array.isArray(props)) {\n console.error('Material-UI: Argument \"props\" must be a string or Array.');\n }\n\n if (!isNumber(durationOption) && !isString(durationOption)) {\n console.error(\"Material-UI: Argument \\\"duration\\\" must be a number or a string but found \".concat(durationOption, \".\"));\n }\n\n if (!isString(easingOption)) {\n console.error('Material-UI: Argument \"easing\" must be a string.');\n }\n\n if (!isNumber(delay) && !isString(delay)) {\n console.error('Material-UI: Argument \"delay\" must be a number or a string.');\n }\n\n if (Object.keys(other).length !== 0) {\n console.error(\"Material-UI: Unrecognized argument(s) [\".concat(Object.keys(other).join(','), \"].\"));\n }\n }\n\n return (Array.isArray(props) ? props : [props]).map(function (animatedProp) {\n return \"\".concat(animatedProp, \" \").concat(typeof durationOption === 'string' ? durationOption : formatMs(durationOption), \" \").concat(easingOption, \" \").concat(typeof delay === 'string' ? delay : formatMs(delay));\n }).join(',');\n },\n getAutoHeightDuration: function getAutoHeightDuration(height) {\n if (!height) {\n return 0;\n }\n\n var constant = height / 36; // https://www.wolframalpha.com/input/?i=(4+%2B+15+*+(x+%2F+36+)+**+0.25+%2B+(x+%2F+36)+%2F+5)+*+10\n\n return Math.round((4 + 15 * Math.pow(constant, 0.25) + constant / 5) * 10);\n }\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport merge from './merge';\n\nfunction compose() {\n for (var _len = arguments.length, styles = new Array(_len), _key = 0; _key < _len; _key++) {\n styles[_key] = arguments[_key];\n }\n\n var fn = function fn(props) {\n return styles.reduce(function (acc, style) {\n var output = style(props);\n\n if (output) {\n return merge(acc, output);\n }\n\n return acc;\n }, {});\n }; // Alternative approach that doesn't yield any performance gain.\n // const handlers = styles.reduce((acc, style) => {\n // style.filterProps.forEach(prop => {\n // acc[prop] = style;\n // });\n // return acc;\n // }, {});\n // const fn = props => {\n // return Object.keys(props).reduce((acc, prop) => {\n // if (handlers[prop]) {\n // return merge(acc, handlers[prop](props));\n // }\n // return acc;\n // }, {});\n // };\n\n\n fn.propTypes = process.env.NODE_ENV !== 'production' ? styles.reduce(function (acc, style) {\n return _extends(acc, style.propTypes);\n }, {}) : {};\n fn.filterProps = styles.reduce(function (acc, style) {\n return acc.concat(style.filterProps);\n }, []);\n return fn;\n}\n\nexport default compose;","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import { Logger } from \"../../Misc/logger\";\r\nimport { Nullable } from \"../../types\";\r\nimport { Scene } from \"../../scene\";\r\nimport { ISize } from \"../../Maths/math.size\";\r\nimport { Texture } from \"../../Materials/Textures/texture\";\r\n\r\nimport \"../../Engines/Extensions/engine.dynamicTexture\";\r\nimport { CanvasGenerator } from '../../Misc/canvasGenerator';\r\n\r\n/**\r\n * A class extending Texture allowing drawing on a texture\r\n * @see https://doc.babylonjs.com/how_to/dynamictexture\r\n */\r\nexport class DynamicTexture extends Texture {\r\n private _generateMipMaps: boolean;\r\n private _canvas: HTMLCanvasElement | OffscreenCanvas;\r\n private _context: CanvasRenderingContext2D;\r\n\r\n /**\r\n * Creates a DynamicTexture\r\n * @param name defines the name of the texture\r\n * @param options provides 3 alternatives for width and height of texture, a canvas, object with width and height properties, number for both width and height\r\n * @param scene defines the scene where you want the texture\r\n * @param generateMipMaps defines the use of MinMaps or not (default is false)\r\n * @param samplingMode defines the sampling mode to use (default is Texture.TRILINEAR_SAMPLINGMODE)\r\n * @param format defines the texture format to use (default is Engine.TEXTUREFORMAT_RGBA)\r\n * @param invertY defines if the texture needs to be inverted on the y axis during loading\r\n */\r\n\r\n constructor(name: string, options: any, scene: Nullable = null, generateMipMaps: boolean, samplingMode: number = 3, format: number = 5, invertY?: boolean) {\r\n super(null, scene, !generateMipMaps, invertY, samplingMode, undefined, undefined, undefined, undefined, format);\r\n\r\n this.name = name;\r\n this.wrapU = Texture.CLAMP_ADDRESSMODE;\r\n this.wrapV = Texture.CLAMP_ADDRESSMODE;\r\n\r\n this._generateMipMaps = generateMipMaps;\r\n\r\n const engine = this._getEngine();\r\n if (!engine) {\r\n return;\r\n }\r\n\r\n if (options.getContext) {\r\n this._canvas = options;\r\n this._texture = engine.createDynamicTexture(options.width, options.height, generateMipMaps, samplingMode);\r\n } else {\r\n this._canvas = CanvasGenerator.CreateCanvas(1, 1);\r\n\r\n if (options.width || options.width === 0) {\r\n this._texture = engine.createDynamicTexture(options.width, options.height, generateMipMaps, samplingMode);\r\n } else {\r\n this._texture = engine.createDynamicTexture(options, options, generateMipMaps, samplingMode);\r\n }\r\n }\r\n\r\n var textureSize = this.getSize();\r\n\r\n this._canvas.width = textureSize.width;\r\n this._canvas.height = textureSize.height;\r\n this._context = this._canvas.getContext(\"2d\");\r\n }\r\n\r\n /**\r\n * Get the current class name of the texture useful for serialization or dynamic coding.\r\n * @returns \"DynamicTexture\"\r\n */\r\n public getClassName(): string {\r\n return \"DynamicTexture\";\r\n }\r\n\r\n /**\r\n * Gets the current state of canRescale\r\n */\r\n public get canRescale(): boolean {\r\n return true;\r\n }\r\n\r\n private _recreate(textureSize: ISize): void {\r\n this._canvas.width = textureSize.width;\r\n this._canvas.height = textureSize.height;\r\n\r\n this.releaseInternalTexture();\r\n\r\n this._texture = this._getEngine()!.createDynamicTexture(textureSize.width, textureSize.height, this._generateMipMaps, this.samplingMode);\r\n }\r\n\r\n /**\r\n * Scales the texture\r\n * @param ratio the scale factor to apply to both width and height\r\n */\r\n public scale(ratio: number): void {\r\n var textureSize = this.getSize();\r\n\r\n textureSize.width *= ratio;\r\n textureSize.height *= ratio;\r\n\r\n this._recreate(textureSize);\r\n }\r\n\r\n /**\r\n * Resizes the texture\r\n * @param width the new width\r\n * @param height the new height\r\n */\r\n public scaleTo(width: number, height: number): void {\r\n var textureSize = this.getSize();\r\n\r\n textureSize.width = width;\r\n textureSize.height = height;\r\n\r\n this._recreate(textureSize);\r\n }\r\n\r\n /**\r\n * Gets the context of the canvas used by the texture\r\n * @returns the canvas context of the dynamic texture\r\n */\r\n public getContext(): CanvasRenderingContext2D {\r\n return this._context;\r\n }\r\n\r\n /**\r\n * Clears the texture\r\n */\r\n public clear(): void {\r\n var size = this.getSize();\r\n this._context.fillRect(0, 0, size.width, size.height);\r\n }\r\n\r\n /**\r\n * Updates the texture\r\n * @param invertY defines the direction for the Y axis (default is true - y increases downwards)\r\n * @param premulAlpha defines if alpha is stored as premultiplied (default is false)\r\n */\r\n public update(invertY?: boolean, premulAlpha = false): void {\r\n this._getEngine()!.updateDynamicTexture(this._texture, this._canvas, invertY === undefined ? true : invertY, premulAlpha, this._format || undefined);\r\n }\r\n\r\n /**\r\n * Draws text onto the texture\r\n * @param text defines the text to be drawn\r\n * @param x defines the placement of the text from the left\r\n * @param y defines the placement of the text from the top when invertY is true and from the bottom when false\r\n * @param font defines the font to be used with font-style, font-size, font-name\r\n * @param color defines the color used for the text\r\n * @param clearColor defines the color for the canvas, use null to not overwrite canvas\r\n * @param invertY defines the direction for the Y axis (default is true - y increases downwards)\r\n * @param update defines whether texture is immediately update (default is true)\r\n */\r\n public drawText(text: string, x: number | null | undefined, y: number | null | undefined, font: string, color: string | null, clearColor: string, invertY?: boolean, update = true) {\r\n var size = this.getSize();\r\n if (clearColor) {\r\n this._context.fillStyle = clearColor;\r\n this._context.fillRect(0, 0, size.width, size.height);\r\n }\r\n\r\n this._context.font = font;\r\n if (x === null || x === undefined) {\r\n var textSize = this._context.measureText(text);\r\n x = (size.width - textSize.width) / 2;\r\n }\r\n if (y === null || y === undefined) {\r\n var fontSize = parseInt((font.replace(/\\D/g, '')));\r\n y = (size.height / 2) + (fontSize / 3.65);\r\n }\r\n\r\n this._context.fillStyle = color || \"\";\r\n this._context.fillText(text, x, y);\r\n\r\n if (update) {\r\n this.update(invertY);\r\n }\r\n }\r\n\r\n /**\r\n * Clones the texture\r\n * @returns the clone of the texture.\r\n */\r\n public clone(): DynamicTexture {\r\n let scene = this.getScene();\r\n\r\n if (!scene) {\r\n return this;\r\n }\r\n\r\n var textureSize = this.getSize();\r\n var newTexture = new DynamicTexture(this.name, textureSize, scene, this._generateMipMaps);\r\n\r\n // Base texture\r\n newTexture.hasAlpha = this.hasAlpha;\r\n newTexture.level = this.level;\r\n\r\n // Dynamic Texture\r\n newTexture.wrapU = this.wrapU;\r\n newTexture.wrapV = this.wrapV;\r\n\r\n return newTexture;\r\n }\r\n\r\n /**\r\n * Serializes the dynamic texture. The scene should be ready before the dynamic texture is serialized\r\n * @returns a serialized dynamic texture object\r\n */\r\n public serialize(): any {\r\n const scene = this.getScene();\r\n if (scene && !scene.isReady()) {\r\n Logger.Warn(\"The scene must be ready before serializing the dynamic texture\");\r\n }\r\n\r\n const serializationObject = super.serialize();\r\n if (this._IsCanvasElement(this._canvas)) {\r\n serializationObject.base64String = (this._canvas as HTMLCanvasElement).toDataURL();\r\n }\r\n\r\n serializationObject.invertY = this._invertY;\r\n serializationObject.samplingMode = this.samplingMode;\r\n\r\n return serializationObject;\r\n }\r\n\r\n private _IsCanvasElement(canvas: HTMLCanvasElement | OffscreenCanvas): canvas is HTMLCanvasElement {\r\n return (canvas as HTMLCanvasElement).toDataURL !== undefined;\r\n }\r\n\r\n /** @hidden */\r\n public _rebuild(): void {\r\n this.update();\r\n }\r\n}\r\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport isInBrowser from 'is-in-browser';\nimport warning from 'tiny-warning';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\n\nvar plainObjectConstrurctor = {}.constructor;\nfunction cloneStyle(style) {\n if (style == null || typeof style !== 'object') return style;\n if (Array.isArray(style)) return style.map(cloneStyle);\n if (style.constructor !== plainObjectConstrurctor) return style;\n var newStyle = {};\n\n for (var name in style) {\n newStyle[name] = cloneStyle(style[name]);\n }\n\n return newStyle;\n}\n\n/**\n * Create a rule instance.\n */\n\nfunction createRule(name, decl, options) {\n if (name === void 0) {\n name = 'unnamed';\n }\n\n var jss = options.jss;\n var declCopy = cloneStyle(decl);\n var rule = jss.plugins.onCreateRule(name, declCopy, options);\n if (rule) return rule; // It is an at-rule and it has no instance.\n\n if (name[0] === '@') {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Unknown rule \" + name) : void 0;\n }\n\n return null;\n}\n\nvar join = function join(value, by) {\n var result = '';\n\n for (var i = 0; i < value.length; i++) {\n // Remove !important from the value, it will be readded later.\n if (value[i] === '!important') break;\n if (result) result += by;\n result += value[i];\n }\n\n return result;\n};\n\n/**\n * Converts array values to string.\n *\n * `margin: [['5px', '10px']]` > `margin: 5px 10px;`\n * `border: ['1px', '2px']` > `border: 1px, 2px;`\n * `margin: [['5px', '10px'], '!important']` > `margin: 5px 10px !important;`\n * `color: ['red', !important]` > `color: red !important;`\n */\nvar toCssValue = function toCssValue(value, ignoreImportant) {\n if (ignoreImportant === void 0) {\n ignoreImportant = false;\n }\n\n if (!Array.isArray(value)) return value;\n var cssValue = ''; // Support space separated values via `[['5px', '10px']]`.\n\n if (Array.isArray(value[0])) {\n for (var i = 0; i < value.length; i++) {\n if (value[i] === '!important') break;\n if (cssValue) cssValue += ', ';\n cssValue += join(value[i], ' ');\n }\n } else cssValue = join(value, ', '); // Add !important, because it was ignored.\n\n\n if (!ignoreImportant && value[value.length - 1] === '!important') {\n cssValue += ' !important';\n }\n\n return cssValue;\n};\n\n/**\n * Indent a string.\n * http://jsperf.com/array-join-vs-for\n */\nfunction indentStr(str, indent) {\n var result = '';\n\n for (var index = 0; index < indent; index++) {\n result += ' ';\n }\n\n return result + str;\n}\n/**\n * Converts a Rule to CSS string.\n */\n\n\nfunction toCss(selector, style, options) {\n if (options === void 0) {\n options = {};\n }\n\n var result = '';\n if (!style) return result;\n var _options = options,\n _options$indent = _options.indent,\n indent = _options$indent === void 0 ? 0 : _options$indent;\n var fallbacks = style.fallbacks;\n if (selector) indent++; // Apply fallbacks first.\n\n if (fallbacks) {\n // Array syntax {fallbacks: [{prop: value}]}\n if (Array.isArray(fallbacks)) {\n for (var index = 0; index < fallbacks.length; index++) {\n var fallback = fallbacks[index];\n\n for (var prop in fallback) {\n var value = fallback[prop];\n\n if (value != null) {\n if (result) result += '\\n';\n result += \"\" + indentStr(prop + \": \" + toCssValue(value) + \";\", indent);\n }\n }\n }\n } else {\n // Object syntax {fallbacks: {prop: value}}\n for (var _prop in fallbacks) {\n var _value = fallbacks[_prop];\n\n if (_value != null) {\n if (result) result += '\\n';\n result += \"\" + indentStr(_prop + \": \" + toCssValue(_value) + \";\", indent);\n }\n }\n }\n }\n\n for (var _prop2 in style) {\n var _value2 = style[_prop2];\n\n if (_value2 != null && _prop2 !== 'fallbacks') {\n if (result) result += '\\n';\n result += \"\" + indentStr(_prop2 + \": \" + toCssValue(_value2) + \";\", indent);\n }\n } // Allow empty style in this case, because properties will be added dynamically.\n\n\n if (!result && !options.allowEmpty) return result; // When rule is being stringified before selector was defined.\n\n if (!selector) return result;\n indent--;\n if (result) result = \"\\n\" + result + \"\\n\";\n return indentStr(selector + \" {\" + result, indent) + indentStr('}', indent);\n}\n\nvar escapeRegex = /([[\\].#*$><+~=|^:(),\"'`\\s])/g;\nvar nativeEscape = typeof CSS !== 'undefined' && CSS.escape;\nvar escape = (function (str) {\n return nativeEscape ? nativeEscape(str) : str.replace(escapeRegex, '\\\\$1');\n});\n\nvar BaseStyleRule =\n/*#__PURE__*/\nfunction () {\n function BaseStyleRule(key, style, options) {\n this.type = 'style';\n this.key = void 0;\n this.isProcessed = false;\n this.style = void 0;\n this.renderer = void 0;\n this.renderable = void 0;\n this.options = void 0;\n var sheet = options.sheet,\n Renderer = options.Renderer;\n this.key = key;\n this.options = options;\n this.style = style;\n if (sheet) this.renderer = sheet.renderer;else if (Renderer) this.renderer = new Renderer();\n }\n /**\n * Get or set a style property.\n */\n\n\n var _proto = BaseStyleRule.prototype;\n\n _proto.prop = function prop(name, value, options) {\n // It's a getter.\n if (value === undefined) return this.style[name]; // Don't do anything if the value has not changed.\n\n var force = options ? options.force : false;\n if (!force && this.style[name] === value) return this;\n var newValue = value;\n\n if (!options || options.process !== false) {\n newValue = this.options.jss.plugins.onChangeValue(value, name, this);\n }\n\n var isEmpty = newValue == null || newValue === false;\n var isDefined = name in this.style; // Value is empty and wasn't defined before.\n\n if (isEmpty && !isDefined && !force) return this; // We are going to remove this value.\n\n var remove = isEmpty && isDefined;\n if (remove) delete this.style[name];else this.style[name] = newValue; // Renderable is defined if StyleSheet option `link` is true.\n\n if (this.renderable && this.renderer) {\n if (remove) this.renderer.removeProperty(this.renderable, name);else this.renderer.setProperty(this.renderable, name, newValue);\n return this;\n }\n\n var sheet = this.options.sheet;\n\n if (sheet && sheet.attached) {\n process.env.NODE_ENV !== \"production\" ? warning(false, '[JSS] Rule is not linked. Missing sheet option \"link: true\".') : void 0;\n }\n\n return this;\n };\n\n return BaseStyleRule;\n}();\nvar StyleRule =\n/*#__PURE__*/\nfunction (_BaseStyleRule) {\n _inheritsLoose(StyleRule, _BaseStyleRule);\n\n function StyleRule(key, style, options) {\n var _this;\n\n _this = _BaseStyleRule.call(this, key, style, options) || this;\n _this.selectorText = void 0;\n _this.id = void 0;\n _this.renderable = void 0;\n var selector = options.selector,\n scoped = options.scoped,\n sheet = options.sheet,\n generateId = options.generateId;\n\n if (selector) {\n _this.selectorText = selector;\n } else if (scoped !== false) {\n _this.id = generateId(_assertThisInitialized(_assertThisInitialized(_this)), sheet);\n _this.selectorText = \".\" + escape(_this.id);\n }\n\n return _this;\n }\n /**\n * Set selector string.\n * Attention: use this with caution. Most browsers didn't implement\n * selectorText setter, so this may result in rerendering of entire Style Sheet.\n */\n\n\n var _proto2 = StyleRule.prototype;\n\n /**\n * Apply rule to an element inline.\n */\n _proto2.applyTo = function applyTo(renderable) {\n var renderer = this.renderer;\n\n if (renderer) {\n var json = this.toJSON();\n\n for (var prop in json) {\n renderer.setProperty(renderable, prop, json[prop]);\n }\n }\n\n return this;\n }\n /**\n * Returns JSON representation of the rule.\n * Fallbacks are not supported.\n * Useful for inline styles.\n */\n ;\n\n _proto2.toJSON = function toJSON() {\n var json = {};\n\n for (var prop in this.style) {\n var value = this.style[prop];\n if (typeof value !== 'object') json[prop] = value;else if (Array.isArray(value)) json[prop] = toCssValue(value);\n }\n\n return json;\n }\n /**\n * Generates a CSS string.\n */\n ;\n\n _proto2.toString = function toString(options) {\n var sheet = this.options.sheet;\n var link = sheet ? sheet.options.link : false;\n var opts = link ? _extends({}, options, {\n allowEmpty: true\n }) : options;\n return toCss(this.selectorText, this.style, opts);\n };\n\n _createClass(StyleRule, [{\n key: \"selector\",\n set: function set(selector) {\n if (selector === this.selectorText) return;\n this.selectorText = selector;\n var renderer = this.renderer,\n renderable = this.renderable;\n if (!renderable || !renderer) return;\n var hasChanged = renderer.setSelector(renderable, selector); // If selector setter is not implemented, rerender the rule.\n\n if (!hasChanged) {\n renderer.replaceRule(renderable, this);\n }\n }\n /**\n * Get selector string.\n */\n ,\n get: function get() {\n return this.selectorText;\n }\n }]);\n\n return StyleRule;\n}(BaseStyleRule);\nvar pluginStyleRule = {\n onCreateRule: function onCreateRule(name, style, options) {\n if (name[0] === '@' || options.parent && options.parent.type === 'keyframes') {\n return null;\n }\n\n return new StyleRule(name, style, options);\n }\n};\n\nvar defaultToStringOptions = {\n indent: 1,\n children: true\n};\nvar atRegExp = /@([\\w-]+)/;\n/**\n * Conditional rule for @media, @supports\n */\n\nvar ConditionalRule =\n/*#__PURE__*/\nfunction () {\n function ConditionalRule(key, styles, options) {\n this.type = 'conditional';\n this.at = void 0;\n this.key = void 0;\n this.query = void 0;\n this.rules = void 0;\n this.options = void 0;\n this.isProcessed = false;\n this.renderable = void 0;\n this.key = key;\n var atMatch = key.match(atRegExp);\n this.at = atMatch ? atMatch[1] : 'unknown'; // Key might contain a unique suffix in case the `name` passed by user was duplicate.\n\n this.query = options.name || \"@\" + this.at;\n this.options = options;\n this.rules = new RuleList(_extends({}, options, {\n parent: this\n }));\n\n for (var name in styles) {\n this.rules.add(name, styles[name]);\n }\n\n this.rules.process();\n }\n /**\n * Get a rule.\n */\n\n\n var _proto = ConditionalRule.prototype;\n\n _proto.getRule = function getRule(name) {\n return this.rules.get(name);\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n /**\n * Create and register rule, run plugins.\n */\n ;\n\n _proto.addRule = function addRule(name, style, options) {\n var rule = this.rules.add(name, style, options);\n if (!rule) return null;\n this.options.jss.plugins.onProcessRule(rule);\n return rule;\n }\n /**\n * Generates a CSS string.\n */\n ;\n\n _proto.toString = function toString(options) {\n if (options === void 0) {\n options = defaultToStringOptions;\n }\n\n if (options.indent == null) options.indent = defaultToStringOptions.indent;\n if (options.children == null) options.children = defaultToStringOptions.children;\n\n if (options.children === false) {\n return this.query + \" {}\";\n }\n\n var children = this.rules.toString(options);\n return children ? this.query + \" {\\n\" + children + \"\\n}\" : '';\n };\n\n return ConditionalRule;\n}();\nvar keyRegExp = /@media|@supports\\s+/;\nvar pluginConditionalRule = {\n onCreateRule: function onCreateRule(key, styles, options) {\n return keyRegExp.test(key) ? new ConditionalRule(key, styles, options) : null;\n }\n};\n\nvar defaultToStringOptions$1 = {\n indent: 1,\n children: true\n};\nvar nameRegExp = /@keyframes\\s+([\\w-]+)/;\n/**\n * Rule for @keyframes\n */\n\nvar KeyframesRule =\n/*#__PURE__*/\nfunction () {\n function KeyframesRule(key, frames, options) {\n this.type = 'keyframes';\n this.at = '@keyframes';\n this.key = void 0;\n this.name = void 0;\n this.id = void 0;\n this.rules = void 0;\n this.options = void 0;\n this.isProcessed = false;\n this.renderable = void 0;\n var nameMatch = key.match(nameRegExp);\n\n if (nameMatch && nameMatch[1]) {\n this.name = nameMatch[1];\n } else {\n this.name = 'noname';\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Bad keyframes name \" + key) : void 0;\n }\n\n this.key = this.type + \"-\" + this.name;\n this.options = options;\n var scoped = options.scoped,\n sheet = options.sheet,\n generateId = options.generateId;\n this.id = scoped === false ? this.name : escape(generateId(this, sheet));\n this.rules = new RuleList(_extends({}, options, {\n parent: this\n }));\n\n for (var name in frames) {\n this.rules.add(name, frames[name], _extends({}, options, {\n parent: this\n }));\n }\n\n this.rules.process();\n }\n /**\n * Generates a CSS string.\n */\n\n\n var _proto = KeyframesRule.prototype;\n\n _proto.toString = function toString(options) {\n if (options === void 0) {\n options = defaultToStringOptions$1;\n }\n\n if (options.indent == null) options.indent = defaultToStringOptions$1.indent;\n if (options.children == null) options.children = defaultToStringOptions$1.children;\n\n if (options.children === false) {\n return this.at + \" \" + this.id + \" {}\";\n }\n\n var children = this.rules.toString(options);\n if (children) children = \"\\n\" + children + \"\\n\";\n return this.at + \" \" + this.id + \" {\" + children + \"}\";\n };\n\n return KeyframesRule;\n}();\nvar keyRegExp$1 = /@keyframes\\s+/;\nvar refRegExp = /\\$([\\w-]+)/g;\n\nvar findReferencedKeyframe = function findReferencedKeyframe(val, keyframes) {\n if (typeof val === 'string') {\n return val.replace(refRegExp, function (match, name) {\n if (name in keyframes) {\n return keyframes[name];\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Referenced keyframes rule \\\"\" + name + \"\\\" is not defined.\") : void 0;\n return match;\n });\n }\n\n return val;\n};\n/**\n * Replace the reference for a animation name.\n */\n\n\nvar replaceRef = function replaceRef(style, prop, keyframes) {\n var value = style[prop];\n var refKeyframe = findReferencedKeyframe(value, keyframes);\n\n if (refKeyframe !== value) {\n style[prop] = refKeyframe;\n }\n};\n\nvar plugin = {\n onCreateRule: function onCreateRule(key, frames, options) {\n return typeof key === 'string' && keyRegExp$1.test(key) ? new KeyframesRule(key, frames, options) : null;\n },\n // Animation name ref replacer.\n onProcessStyle: function onProcessStyle(style, rule, sheet) {\n if (rule.type !== 'style' || !sheet) return style;\n if ('animation-name' in style) replaceRef(style, 'animation-name', sheet.keyframes);\n if ('animation' in style) replaceRef(style, 'animation', sheet.keyframes);\n return style;\n },\n onChangeValue: function onChangeValue(val, prop, rule) {\n var sheet = rule.options.sheet;\n\n if (!sheet) {\n return val;\n }\n\n switch (prop) {\n case 'animation':\n return findReferencedKeyframe(val, sheet.keyframes);\n\n case 'animation-name':\n return findReferencedKeyframe(val, sheet.keyframes);\n\n default:\n return val;\n }\n }\n};\n\nvar KeyframeRule =\n/*#__PURE__*/\nfunction (_BaseStyleRule) {\n _inheritsLoose(KeyframeRule, _BaseStyleRule);\n\n function KeyframeRule() {\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 = _BaseStyleRule.call.apply(_BaseStyleRule, [this].concat(args)) || this;\n _this.renderable = void 0;\n return _this;\n }\n\n var _proto = KeyframeRule.prototype;\n\n /**\n * Generates a CSS string.\n */\n _proto.toString = function toString(options) {\n var sheet = this.options.sheet;\n var link = sheet ? sheet.options.link : false;\n var opts = link ? _extends({}, options, {\n allowEmpty: true\n }) : options;\n return toCss(this.key, this.style, opts);\n };\n\n return KeyframeRule;\n}(BaseStyleRule);\nvar pluginKeyframeRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n if (options.parent && options.parent.type === 'keyframes') {\n return new KeyframeRule(key, style, options);\n }\n\n return null;\n }\n};\n\nvar FontFaceRule =\n/*#__PURE__*/\nfunction () {\n function FontFaceRule(key, style, options) {\n this.type = 'font-face';\n this.at = '@font-face';\n this.key = void 0;\n this.style = void 0;\n this.options = void 0;\n this.isProcessed = false;\n this.renderable = void 0;\n this.key = key;\n this.style = style;\n this.options = options;\n }\n /**\n * Generates a CSS string.\n */\n\n\n var _proto = FontFaceRule.prototype;\n\n _proto.toString = function toString(options) {\n if (Array.isArray(this.style)) {\n var str = '';\n\n for (var index = 0; index < this.style.length; index++) {\n str += toCss(this.at, this.style[index]);\n if (this.style[index + 1]) str += '\\n';\n }\n\n return str;\n }\n\n return toCss(this.at, this.style, options);\n };\n\n return FontFaceRule;\n}();\nvar keyRegExp$2 = /@font-face/;\nvar pluginFontFaceRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n return keyRegExp$2.test(key) ? new FontFaceRule(key, style, options) : null;\n }\n};\n\nvar ViewportRule =\n/*#__PURE__*/\nfunction () {\n function ViewportRule(key, style, options) {\n this.type = 'viewport';\n this.at = '@viewport';\n this.key = void 0;\n this.style = void 0;\n this.options = void 0;\n this.isProcessed = false;\n this.renderable = void 0;\n this.key = key;\n this.style = style;\n this.options = options;\n }\n /**\n * Generates a CSS string.\n */\n\n\n var _proto = ViewportRule.prototype;\n\n _proto.toString = function toString(options) {\n return toCss(this.key, this.style, options);\n };\n\n return ViewportRule;\n}();\nvar pluginViewportRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n return key === '@viewport' || key === '@-ms-viewport' ? new ViewportRule(key, style, options) : null;\n }\n};\n\nvar SimpleRule =\n/*#__PURE__*/\nfunction () {\n function SimpleRule(key, value, options) {\n this.type = 'simple';\n this.key = void 0;\n this.value = void 0;\n this.options = void 0;\n this.isProcessed = false;\n this.renderable = void 0;\n this.key = key;\n this.value = value;\n this.options = options;\n }\n /**\n * Generates a CSS string.\n */\n // eslint-disable-next-line no-unused-vars\n\n\n var _proto = SimpleRule.prototype;\n\n _proto.toString = function toString(options) {\n if (Array.isArray(this.value)) {\n var str = '';\n\n for (var index = 0; index < this.value.length; index++) {\n str += this.key + \" \" + this.value[index] + \";\";\n if (this.value[index + 1]) str += '\\n';\n }\n\n return str;\n }\n\n return this.key + \" \" + this.value + \";\";\n };\n\n return SimpleRule;\n}();\nvar keysMap = {\n '@charset': true,\n '@import': true,\n '@namespace': true\n};\nvar pluginSimpleRule = {\n onCreateRule: function onCreateRule(key, value, options) {\n return key in keysMap ? new SimpleRule(key, value, options) : null;\n }\n};\n\nvar plugins = [pluginStyleRule, pluginConditionalRule, plugin, pluginKeyframeRule, pluginFontFaceRule, pluginViewportRule, pluginSimpleRule];\n\nvar defaultUpdateOptions = {\n process: true\n};\nvar forceUpdateOptions = {\n force: true,\n process: true\n /**\n * Contains rules objects and allows adding/removing etc.\n * Is used for e.g. by `StyleSheet` or `ConditionalRule`.\n */\n\n};\n\nvar RuleList =\n/*#__PURE__*/\nfunction () {\n // Rules registry for access by .get() method.\n // It contains the same rule registered by name and by selector.\n // Original styles object.\n // Used to ensure correct rules order.\n function RuleList(options) {\n this.map = {};\n this.raw = {};\n this.index = [];\n this.counter = 0;\n this.options = void 0;\n this.classes = void 0;\n this.keyframes = void 0;\n this.options = options;\n this.classes = options.classes;\n this.keyframes = options.keyframes;\n }\n /**\n * Create and register rule.\n *\n * Will not render after Style Sheet was rendered the first time.\n */\n\n\n var _proto = RuleList.prototype;\n\n _proto.add = function add(name, decl, ruleOptions) {\n var _this$options = this.options,\n parent = _this$options.parent,\n sheet = _this$options.sheet,\n jss = _this$options.jss,\n Renderer = _this$options.Renderer,\n generateId = _this$options.generateId,\n scoped = _this$options.scoped;\n\n var options = _extends({\n classes: this.classes,\n parent: parent,\n sheet: sheet,\n jss: jss,\n Renderer: Renderer,\n generateId: generateId,\n scoped: scoped,\n name: name,\n keyframes: this.keyframes,\n selector: undefined\n }, ruleOptions); // When user uses .createStyleSheet(), duplicate names are not possible, but\n // `sheet.addRule()` opens the door for any duplicate rule name. When this happens\n // we need to make the key unique within this RuleList instance scope.\n\n\n var key = name;\n\n if (name in this.raw) {\n key = name + \"-d\" + this.counter++;\n } // We need to save the original decl before creating the rule\n // because cache plugin needs to use it as a key to return a cached rule.\n\n\n this.raw[key] = decl;\n\n if (key in this.classes) {\n // E.g. rules inside of @media container\n options.selector = \".\" + escape(this.classes[key]);\n }\n\n var rule = createRule(key, decl, options);\n if (!rule) return null;\n this.register(rule);\n var index = options.index === undefined ? this.index.length : options.index;\n this.index.splice(index, 0, rule);\n return rule;\n }\n /**\n * Get a rule.\n */\n ;\n\n _proto.get = function get(name) {\n return this.map[name];\n }\n /**\n * Delete a rule.\n */\n ;\n\n _proto.remove = function remove(rule) {\n this.unregister(rule);\n delete this.raw[rule.key];\n this.index.splice(this.index.indexOf(rule), 1);\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.index.indexOf(rule);\n }\n /**\n * Run `onProcessRule()` plugins on every rule.\n */\n ;\n\n _proto.process = function process() {\n var plugins = this.options.jss.plugins; // We need to clone array because if we modify the index somewhere else during a loop\n // we end up with very hard-to-track-down side effects.\n\n this.index.slice(0).forEach(plugins.onProcessRule, plugins);\n }\n /**\n * Register a rule in `.map`, `.classes` and `.keyframes` maps.\n */\n ;\n\n _proto.register = function register(rule) {\n this.map[rule.key] = rule;\n\n if (rule instanceof StyleRule) {\n this.map[rule.selector] = rule;\n if (rule.id) this.classes[rule.key] = rule.id;\n } else if (rule instanceof KeyframesRule && this.keyframes) {\n this.keyframes[rule.name] = rule.id;\n }\n }\n /**\n * Unregister a rule.\n */\n ;\n\n _proto.unregister = function unregister(rule) {\n delete this.map[rule.key];\n\n if (rule instanceof StyleRule) {\n delete this.map[rule.selector];\n delete this.classes[rule.key];\n } else if (rule instanceof KeyframesRule) {\n delete this.keyframes[rule.name];\n }\n }\n /**\n * Update the function values with a new data.\n */\n ;\n\n _proto.update = function update() {\n var name;\n var data;\n var options;\n\n if (typeof (arguments.length <= 0 ? undefined : arguments[0]) === 'string') {\n name = arguments.length <= 0 ? undefined : arguments[0]; // $FlowFixMe[invalid-tuple-index]\n\n data = arguments.length <= 1 ? undefined : arguments[1]; // $FlowFixMe[invalid-tuple-index]\n\n options = arguments.length <= 2 ? undefined : arguments[2];\n } else {\n data = arguments.length <= 0 ? undefined : arguments[0]; // $FlowFixMe[invalid-tuple-index]\n\n options = arguments.length <= 1 ? undefined : arguments[1];\n name = null;\n }\n\n if (name) {\n this.updateOne(this.map[name], data, options);\n } else {\n for (var index = 0; index < this.index.length; index++) {\n this.updateOne(this.index[index], data, options);\n }\n }\n }\n /**\n * Execute plugins, update rule props.\n */\n ;\n\n _proto.updateOne = function updateOne(rule, data, options) {\n if (options === void 0) {\n options = defaultUpdateOptions;\n }\n\n var _this$options2 = this.options,\n plugins = _this$options2.jss.plugins,\n sheet = _this$options2.sheet; // It is a rules container like for e.g. ConditionalRule.\n\n if (rule.rules instanceof RuleList) {\n rule.rules.update(data, options);\n return;\n }\n\n var styleRule = rule;\n var style = styleRule.style;\n plugins.onUpdate(data, rule, sheet, options); // We rely on a new `style` ref in case it was mutated during onUpdate hook.\n\n if (options.process && style && style !== styleRule.style) {\n // We need to run the plugins in case new `style` relies on syntax plugins.\n plugins.onProcessStyle(styleRule.style, styleRule, sheet); // Update and add props.\n\n for (var prop in styleRule.style) {\n var nextValue = styleRule.style[prop];\n var prevValue = style[prop]; // We need to use `force: true` because `rule.style` has been updated during onUpdate hook, so `rule.prop()` will not update the CSSOM rule.\n // We do this comparison to avoid unneeded `rule.prop()` calls, since we have the old `style` object here.\n\n if (nextValue !== prevValue) {\n styleRule.prop(prop, nextValue, forceUpdateOptions);\n }\n } // Remove props.\n\n\n for (var _prop in style) {\n var _nextValue = styleRule.style[_prop];\n var _prevValue = style[_prop]; // We need to use `force: true` because `rule.style` has been updated during onUpdate hook, so `rule.prop()` will not update the CSSOM rule.\n // We do this comparison to avoid unneeded `rule.prop()` calls, since we have the old `style` object here.\n\n if (_nextValue == null && _nextValue !== _prevValue) {\n styleRule.prop(_prop, null, forceUpdateOptions);\n }\n }\n }\n }\n /**\n * Convert rules to a CSS string.\n */\n ;\n\n _proto.toString = function toString(options) {\n var str = '';\n var sheet = this.options.sheet;\n var link = sheet ? sheet.options.link : false;\n\n for (var index = 0; index < this.index.length; index++) {\n var rule = this.index[index];\n var css = rule.toString(options); // No need to render an empty rule.\n\n if (!css && !link) continue;\n if (str) str += '\\n';\n str += css;\n }\n\n return str;\n };\n\n return RuleList;\n}();\n\nvar StyleSheet =\n/*#__PURE__*/\nfunction () {\n function StyleSheet(styles, options) {\n this.options = void 0;\n this.deployed = void 0;\n this.attached = void 0;\n this.rules = void 0;\n this.renderer = void 0;\n this.classes = void 0;\n this.keyframes = void 0;\n this.queue = void 0;\n this.attached = false;\n this.deployed = false;\n this.classes = {};\n this.keyframes = {};\n this.options = _extends({}, options, {\n sheet: this,\n parent: this,\n classes: this.classes,\n keyframes: this.keyframes\n });\n\n if (options.Renderer) {\n this.renderer = new options.Renderer(this);\n }\n\n this.rules = new RuleList(this.options);\n\n for (var name in styles) {\n this.rules.add(name, styles[name]);\n }\n\n this.rules.process();\n }\n /**\n * Attach renderable to the render tree.\n */\n\n\n var _proto = StyleSheet.prototype;\n\n _proto.attach = function attach() {\n if (this.attached) return this;\n if (this.renderer) this.renderer.attach();\n this.attached = true; // Order is important, because we can't use insertRule API if style element is not attached.\n\n if (!this.deployed) this.deploy();\n return this;\n }\n /**\n * Remove renderable from render tree.\n */\n ;\n\n _proto.detach = function detach() {\n if (!this.attached) return this;\n if (this.renderer) this.renderer.detach();\n this.attached = false;\n return this;\n }\n /**\n * Add a rule to the current stylesheet.\n * Will insert a rule also after the stylesheet has been rendered first time.\n */\n ;\n\n _proto.addRule = function addRule(name, decl, options) {\n var queue = this.queue; // Plugins can create rules.\n // In order to preserve the right order, we need to queue all `.addRule` calls,\n // which happen after the first `rules.add()` call.\n\n if (this.attached && !queue) this.queue = [];\n var rule = this.rules.add(name, decl, options);\n if (!rule) return null;\n this.options.jss.plugins.onProcessRule(rule);\n\n if (this.attached) {\n if (!this.deployed) return rule; // Don't insert rule directly if there is no stringified version yet.\n // It will be inserted all together when .attach is called.\n\n if (queue) queue.push(rule);else {\n this.insertRule(rule);\n\n if (this.queue) {\n this.queue.forEach(this.insertRule, this);\n this.queue = undefined;\n }\n }\n return rule;\n } // We can't add rules to a detached style node.\n // We will redeploy the sheet once user will attach it.\n\n\n this.deployed = false;\n return rule;\n }\n /**\n * Insert rule into the StyleSheet\n */\n ;\n\n _proto.insertRule = function insertRule(rule) {\n if (this.renderer) {\n this.renderer.insertRule(rule);\n }\n }\n /**\n * Create and add rules.\n * Will render also after Style Sheet was rendered the first time.\n */\n ;\n\n _proto.addRules = function addRules(styles, options) {\n var added = [];\n\n for (var name in styles) {\n var rule = this.addRule(name, styles[name], options);\n if (rule) added.push(rule);\n }\n\n return added;\n }\n /**\n * Get a rule by name.\n */\n ;\n\n _proto.getRule = function getRule(name) {\n return this.rules.get(name);\n }\n /**\n * Delete a rule by name.\n * Returns `true`: if rule has been deleted from the DOM.\n */\n ;\n\n _proto.deleteRule = function deleteRule(name) {\n var rule = typeof name === 'object' ? name : this.rules.get(name);\n\n if (!rule || // Style sheet was created without link: true and attached, in this case we\n // won't be able to remove the CSS rule from the DOM.\n this.attached && !rule.renderable) {\n return false;\n }\n\n this.rules.remove(rule);\n\n if (this.attached && rule.renderable && this.renderer) {\n return this.renderer.deleteRule(rule.renderable);\n }\n\n return true;\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n /**\n * Deploy pure CSS string to a renderable.\n */\n ;\n\n _proto.deploy = function deploy() {\n if (this.renderer) this.renderer.deploy();\n this.deployed = true;\n return this;\n }\n /**\n * Update the function values with a new data.\n */\n ;\n\n _proto.update = function update() {\n var _this$rules;\n\n (_this$rules = this.rules).update.apply(_this$rules, arguments);\n\n return this;\n }\n /**\n * Updates a single rule.\n */\n ;\n\n _proto.updateOne = function updateOne(rule, data, options) {\n this.rules.updateOne(rule, data, options);\n return this;\n }\n /**\n * Convert rules to a CSS string.\n */\n ;\n\n _proto.toString = function toString(options) {\n return this.rules.toString(options);\n };\n\n return StyleSheet;\n}();\n\nvar PluginsRegistry =\n/*#__PURE__*/\nfunction () {\n function PluginsRegistry() {\n this.plugins = {\n internal: [],\n external: []\n };\n this.registry = void 0;\n }\n\n var _proto = PluginsRegistry.prototype;\n\n /**\n * Call `onCreateRule` hooks and return an object if returned by a hook.\n */\n _proto.onCreateRule = function onCreateRule(name, decl, options) {\n for (var i = 0; i < this.registry.onCreateRule.length; i++) {\n var rule = this.registry.onCreateRule[i](name, decl, options);\n if (rule) return rule;\n }\n\n return null;\n }\n /**\n * Call `onProcessRule` hooks.\n */\n ;\n\n _proto.onProcessRule = function onProcessRule(rule) {\n if (rule.isProcessed) return;\n var sheet = rule.options.sheet;\n\n for (var i = 0; i < this.registry.onProcessRule.length; i++) {\n this.registry.onProcessRule[i](rule, sheet);\n }\n\n if (rule.style) this.onProcessStyle(rule.style, rule, sheet);\n rule.isProcessed = true;\n }\n /**\n * Call `onProcessStyle` hooks.\n */\n ;\n\n _proto.onProcessStyle = function onProcessStyle(style, rule, sheet) {\n for (var i = 0; i < this.registry.onProcessStyle.length; i++) {\n // $FlowFixMe[prop-missing]\n rule.style = this.registry.onProcessStyle[i](rule.style, rule, sheet);\n }\n }\n /**\n * Call `onProcessSheet` hooks.\n */\n ;\n\n _proto.onProcessSheet = function onProcessSheet(sheet) {\n for (var i = 0; i < this.registry.onProcessSheet.length; i++) {\n this.registry.onProcessSheet[i](sheet);\n }\n }\n /**\n * Call `onUpdate` hooks.\n */\n ;\n\n _proto.onUpdate = function onUpdate(data, rule, sheet, options) {\n for (var i = 0; i < this.registry.onUpdate.length; i++) {\n this.registry.onUpdate[i](data, rule, sheet, options);\n }\n }\n /**\n * Call `onChangeValue` hooks.\n */\n ;\n\n _proto.onChangeValue = function onChangeValue(value, prop, rule) {\n var processedValue = value;\n\n for (var i = 0; i < this.registry.onChangeValue.length; i++) {\n processedValue = this.registry.onChangeValue[i](processedValue, prop, rule);\n }\n\n return processedValue;\n }\n /**\n * Register a plugin.\n */\n ;\n\n _proto.use = function use(newPlugin, options) {\n if (options === void 0) {\n options = {\n queue: 'external'\n };\n }\n\n var plugins = this.plugins[options.queue]; // Avoids applying same plugin twice, at least based on ref.\n\n if (plugins.indexOf(newPlugin) !== -1) {\n return;\n }\n\n plugins.push(newPlugin);\n this.registry = [].concat(this.plugins.external, this.plugins.internal).reduce(function (registry, plugin) {\n for (var name in plugin) {\n if (name in registry) {\n registry[name].push(plugin[name]);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Unknown hook \\\"\" + name + \"\\\".\") : void 0;\n }\n }\n\n return registry;\n }, {\n onCreateRule: [],\n onProcessRule: [],\n onProcessStyle: [],\n onProcessSheet: [],\n onChangeValue: [],\n onUpdate: []\n });\n };\n\n return PluginsRegistry;\n}();\n\n/**\n * Sheets registry to access them all at one place.\n */\nvar SheetsRegistry =\n/*#__PURE__*/\nfunction () {\n function SheetsRegistry() {\n this.registry = [];\n }\n\n var _proto = SheetsRegistry.prototype;\n\n /**\n * Register a Style Sheet.\n */\n _proto.add = function add(sheet) {\n var registry = this.registry;\n var index = sheet.options.index;\n if (registry.indexOf(sheet) !== -1) return;\n\n if (registry.length === 0 || index >= this.index) {\n registry.push(sheet);\n return;\n } // Find a position.\n\n\n for (var i = 0; i < registry.length; i++) {\n if (registry[i].options.index > index) {\n registry.splice(i, 0, sheet);\n return;\n }\n }\n }\n /**\n * Reset the registry.\n */\n ;\n\n _proto.reset = function reset() {\n this.registry = [];\n }\n /**\n * Remove a Style Sheet.\n */\n ;\n\n _proto.remove = function remove(sheet) {\n var index = this.registry.indexOf(sheet);\n this.registry.splice(index, 1);\n }\n /**\n * Convert all attached sheets to a CSS string.\n */\n ;\n\n _proto.toString = function toString(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n attached = _ref.attached,\n options = _objectWithoutPropertiesLoose(_ref, [\"attached\"]);\n\n var css = '';\n\n for (var i = 0; i < this.registry.length; i++) {\n var sheet = this.registry[i];\n\n if (attached != null && sheet.attached !== attached) {\n continue;\n }\n\n if (css) css += '\\n';\n css += sheet.toString(options);\n }\n\n return css;\n };\n\n _createClass(SheetsRegistry, [{\n key: \"index\",\n\n /**\n * Current highest index number.\n */\n get: function get() {\n return this.registry.length === 0 ? 0 : this.registry[this.registry.length - 1].options.index;\n }\n }]);\n\n return SheetsRegistry;\n}();\n\n/**\n * This is a global sheets registry. Only DomRenderer will add sheets to it.\n * On the server one should use an own SheetsRegistry instance and add the\n * sheets to it, because you need to make sure to create a new registry for\n * each request in order to not leak sheets across requests.\n */\n\nvar registry = new SheetsRegistry();\n\n/* eslint-disable */\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar globalThis = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\n\nvar ns = '2f1acc6c3a606b082e5eef5e54414ffb';\nif (globalThis[ns] == null) globalThis[ns] = 0; // Bundle may contain multiple JSS versions at the same time. In order to identify\n// the current version with just one short number and use it for classes generation\n// we use a counter. Also it is more accurate, because user can manually reevaluate\n// the module.\n\nvar moduleId = globalThis[ns]++;\n\nvar maxRules = 1e10;\n\n/**\n * Returns a function which generates unique class names based on counters.\n * When new generator function is created, rule counter is reseted.\n * We need to reset the rule counter for SSR for each request.\n */\nvar createGenerateId = function createGenerateId(options) {\n if (options === void 0) {\n options = {};\n }\n\n var ruleCounter = 0;\n return function (rule, sheet) {\n ruleCounter += 1;\n\n if (ruleCounter > maxRules) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] You might have a memory leak. Rule counter is at \" + ruleCounter + \".\") : void 0;\n }\n\n var jssId = '';\n var prefix = '';\n\n if (sheet) {\n if (sheet.options.classNamePrefix) {\n prefix = sheet.options.classNamePrefix;\n }\n\n if (sheet.options.jss.id != null) {\n jssId = String(sheet.options.jss.id);\n }\n }\n\n if (options.minify) {\n // Using \"c\" because a number can't be the first char in a class name.\n return \"\" + (prefix || 'c') + moduleId + jssId + ruleCounter;\n }\n\n return prefix + rule.key + \"-\" + moduleId + (jssId ? \"-\" + jssId : '') + \"-\" + ruleCounter;\n };\n};\n\n/**\n * Cache the value from the first time a function is called.\n */\nvar memoize = function memoize(fn) {\n var value;\n return function () {\n if (!value) value = fn();\n return value;\n };\n};\n\n/**\n * Get a style property value.\n */\nvar getPropertyValue = function getPropertyValue(cssRule, prop) {\n try {\n // Support CSSTOM.\n if (cssRule.attributeStyleMap) {\n return cssRule.attributeStyleMap.get(prop);\n }\n\n return cssRule.style.getPropertyValue(prop);\n } catch (err) {\n // IE may throw if property is unknown.\n return '';\n }\n};\n\n/**\n * Set a style property.\n */\nvar setProperty = function setProperty(cssRule, prop, value) {\n try {\n var cssValue = value;\n\n if (Array.isArray(value)) {\n cssValue = toCssValue(value, true);\n\n if (value[value.length - 1] === '!important') {\n cssRule.style.setProperty(prop, cssValue, 'important');\n return true;\n }\n } // Support CSSTOM.\n\n\n if (cssRule.attributeStyleMap) {\n cssRule.attributeStyleMap.set(prop, cssValue);\n } else {\n cssRule.style.setProperty(prop, cssValue);\n }\n } catch (err) {\n // IE may throw if property is unknown.\n return false;\n }\n\n return true;\n};\n\n/**\n * Remove a style property.\n */\nvar removeProperty = function removeProperty(cssRule, prop) {\n try {\n // Support CSSTOM.\n if (cssRule.attributeStyleMap) {\n cssRule.attributeStyleMap.delete(prop);\n } else {\n cssRule.style.removeProperty(prop);\n }\n } catch (err) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] DOMException \\\"\" + err.message + \"\\\" was thrown. Tried to remove property \\\"\" + prop + \"\\\".\") : void 0;\n }\n};\n\n/**\n * Set the selector.\n */\nvar setSelector = function setSelector(cssRule, selectorText) {\n cssRule.selectorText = selectorText; // Return false if setter was not successful.\n // Currently works in chrome only.\n\n return cssRule.selectorText === selectorText;\n};\n/**\n * Gets the `head` element upon the first call and caches it.\n * We assume it can't be null.\n */\n\n\nvar getHead = memoize(function () {\n return document.querySelector('head');\n});\n/**\n * Find attached sheet with an index higher than the passed one.\n */\n\nfunction findHigherSheet(registry, options) {\n for (var i = 0; i < registry.length; i++) {\n var sheet = registry[i];\n\n if (sheet.attached && sheet.options.index > options.index && sheet.options.insertionPoint === options.insertionPoint) {\n return sheet;\n }\n }\n\n return null;\n}\n/**\n * Find attached sheet with the highest index.\n */\n\n\nfunction findHighestSheet(registry, options) {\n for (var i = registry.length - 1; i >= 0; i--) {\n var sheet = registry[i];\n\n if (sheet.attached && sheet.options.insertionPoint === options.insertionPoint) {\n return sheet;\n }\n }\n\n return null;\n}\n/**\n * Find a comment with \"jss\" inside.\n */\n\n\nfunction findCommentNode(text) {\n var head = getHead();\n\n for (var i = 0; i < head.childNodes.length; i++) {\n var node = head.childNodes[i];\n\n if (node.nodeType === 8 && node.nodeValue.trim() === text) {\n return node;\n }\n }\n\n return null;\n}\n\n/**\n * Find a node before which we can insert the sheet.\n */\nfunction findPrevNode(options) {\n var registry$1 = registry.registry;\n\n if (registry$1.length > 0) {\n // Try to insert before the next higher sheet.\n var sheet = findHigherSheet(registry$1, options);\n\n if (sheet && sheet.renderer) {\n return {\n parent: sheet.renderer.element.parentNode,\n node: sheet.renderer.element\n };\n } // Otherwise insert after the last attached.\n\n\n sheet = findHighestSheet(registry$1, options);\n\n if (sheet && sheet.renderer) {\n return {\n parent: sheet.renderer.element.parentNode,\n node: sheet.renderer.element.nextSibling\n };\n }\n } // Try to find a comment placeholder if registry is empty.\n\n\n var insertionPoint = options.insertionPoint;\n\n if (insertionPoint && typeof insertionPoint === 'string') {\n var comment = findCommentNode(insertionPoint);\n\n if (comment) {\n return {\n parent: comment.parentNode,\n node: comment.nextSibling\n };\n } // If user specifies an insertion point and it can't be found in the document -\n // bad specificity issues may appear.\n\n\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Insertion point \\\"\" + insertionPoint + \"\\\" not found.\") : void 0;\n }\n\n return false;\n}\n/**\n * Insert style element into the DOM.\n */\n\n\nfunction insertStyle(style, options) {\n var insertionPoint = options.insertionPoint;\n var nextNode = findPrevNode(options);\n\n if (nextNode !== false && nextNode.parent) {\n nextNode.parent.insertBefore(style, nextNode.node);\n return;\n } // Works with iframes and any node types.\n\n\n if (insertionPoint && typeof insertionPoint.nodeType === 'number') {\n // https://stackoverflow.com/questions/41328728/force-casting-in-flow\n var insertionPointElement = insertionPoint;\n var parentNode = insertionPointElement.parentNode;\n if (parentNode) parentNode.insertBefore(style, insertionPointElement.nextSibling);else process.env.NODE_ENV !== \"production\" ? warning(false, '[JSS] Insertion point is not in the DOM.') : void 0;\n return;\n }\n\n getHead().appendChild(style);\n}\n/**\n * Read jss nonce setting from the page if the user has set it.\n */\n\n\nvar getNonce = memoize(function () {\n var node = document.querySelector('meta[property=\"csp-nonce\"]');\n return node ? node.getAttribute('content') : null;\n});\n\nvar _insertRule = function insertRule(container, rule, index) {\n try {\n if ('insertRule' in container) {\n var c = container;\n c.insertRule(rule, index);\n } // Keyframes rule.\n else if ('appendRule' in container) {\n var _c = container;\n\n _c.appendRule(rule);\n }\n } catch (err) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] \" + err.message) : void 0;\n return false;\n }\n\n return container.cssRules[index];\n};\n\nvar getValidRuleInsertionIndex = function getValidRuleInsertionIndex(container, index) {\n var maxIndex = container.cssRules.length; // In case previous insertion fails, passed index might be wrong\n\n if (index === undefined || index > maxIndex) {\n // eslint-disable-next-line no-param-reassign\n return maxIndex;\n }\n\n return index;\n};\n\nvar createStyle = function createStyle() {\n var el = document.createElement('style'); // Without it, IE will have a broken source order specificity if we\n // insert rules after we insert the style tag.\n // It seems to kick-off the source order specificity algorithm.\n\n el.textContent = '\\n';\n return el;\n};\n\nvar DomRenderer =\n/*#__PURE__*/\nfunction () {\n // HTMLStyleElement needs fixing https://github.com/facebook/flow/issues/2696\n // Will be empty if link: true option is not set, because\n // it is only for use together with insertRule API.\n function DomRenderer(sheet) {\n this.getPropertyValue = getPropertyValue;\n this.setProperty = setProperty;\n this.removeProperty = removeProperty;\n this.setSelector = setSelector;\n this.element = void 0;\n this.sheet = void 0;\n this.hasInsertedRules = false;\n this.cssRules = [];\n // There is no sheet when the renderer is used from a standalone StyleRule.\n if (sheet) registry.add(sheet);\n this.sheet = sheet;\n\n var _ref = this.sheet ? this.sheet.options : {},\n media = _ref.media,\n meta = _ref.meta,\n element = _ref.element;\n\n this.element = element || createStyle();\n this.element.setAttribute('data-jss', '');\n if (media) this.element.setAttribute('media', media);\n if (meta) this.element.setAttribute('data-meta', meta);\n var nonce = getNonce();\n if (nonce) this.element.setAttribute('nonce', nonce);\n }\n /**\n * Insert style element into render tree.\n */\n\n\n var _proto = DomRenderer.prototype;\n\n _proto.attach = function attach() {\n // In the case the element node is external and it is already in the DOM.\n if (this.element.parentNode || !this.sheet) return;\n insertStyle(this.element, this.sheet.options); // When rules are inserted using `insertRule` API, after `sheet.detach().attach()`\n // most browsers create a new CSSStyleSheet, except of all IEs.\n\n var deployed = Boolean(this.sheet && this.sheet.deployed);\n\n if (this.hasInsertedRules && deployed) {\n this.hasInsertedRules = false;\n this.deploy();\n }\n }\n /**\n * Remove style element from render tree.\n */\n ;\n\n _proto.detach = function detach() {\n if (!this.sheet) return;\n var parentNode = this.element.parentNode;\n if (parentNode) parentNode.removeChild(this.element); // In the most browsers, rules inserted using insertRule() API will be lost when style element is removed.\n // Though IE will keep them and we need a consistent behavior.\n\n if (this.sheet.options.link) {\n this.cssRules = [];\n this.element.textContent = '\\n';\n }\n }\n /**\n * Inject CSS string into element.\n */\n ;\n\n _proto.deploy = function deploy() {\n var sheet = this.sheet;\n if (!sheet) return;\n\n if (sheet.options.link) {\n this.insertRules(sheet.rules);\n return;\n }\n\n this.element.textContent = \"\\n\" + sheet.toString() + \"\\n\";\n }\n /**\n * Insert RuleList into an element.\n */\n ;\n\n _proto.insertRules = function insertRules(rules, nativeParent) {\n for (var i = 0; i < rules.index.length; i++) {\n this.insertRule(rules.index[i], i, nativeParent);\n }\n }\n /**\n * Insert a rule into element.\n */\n ;\n\n _proto.insertRule = function insertRule(rule, index, nativeParent) {\n if (nativeParent === void 0) {\n nativeParent = this.element.sheet;\n }\n\n if (rule.rules) {\n var parent = rule;\n var latestNativeParent = nativeParent;\n\n if (rule.type === 'conditional' || rule.type === 'keyframes') {\n var _insertionIndex = getValidRuleInsertionIndex(nativeParent, index); // We need to render the container without children first.\n\n\n latestNativeParent = _insertRule(nativeParent, parent.toString({\n children: false\n }), _insertionIndex);\n\n if (latestNativeParent === false) {\n return false;\n }\n\n this.refCssRule(rule, _insertionIndex, latestNativeParent);\n }\n\n this.insertRules(parent.rules, latestNativeParent);\n return latestNativeParent;\n }\n\n var ruleStr = rule.toString();\n if (!ruleStr) return false;\n var insertionIndex = getValidRuleInsertionIndex(nativeParent, index);\n\n var nativeRule = _insertRule(nativeParent, ruleStr, insertionIndex);\n\n if (nativeRule === false) {\n return false;\n }\n\n this.hasInsertedRules = true;\n this.refCssRule(rule, insertionIndex, nativeRule);\n return nativeRule;\n };\n\n _proto.refCssRule = function refCssRule(rule, index, cssRule) {\n rule.renderable = cssRule; // We only want to reference the top level rules, deleteRule API doesn't support removing nested rules\n // like rules inside media queries or keyframes\n\n if (rule.options.parent instanceof StyleSheet) {\n this.cssRules[index] = cssRule;\n }\n }\n /**\n * Delete a rule.\n */\n ;\n\n _proto.deleteRule = function deleteRule(cssRule) {\n var sheet = this.element.sheet;\n var index = this.indexOf(cssRule);\n if (index === -1) return false;\n sheet.deleteRule(index);\n this.cssRules.splice(index, 1);\n return true;\n }\n /**\n * Get index of a CSS Rule.\n */\n ;\n\n _proto.indexOf = function indexOf(cssRule) {\n return this.cssRules.indexOf(cssRule);\n }\n /**\n * Generate a new CSS rule and replace the existing one.\n *\n * Only used for some old browsers because they can't set a selector.\n */\n ;\n\n _proto.replaceRule = function replaceRule(cssRule, rule) {\n var index = this.indexOf(cssRule);\n if (index === -1) return false;\n this.element.sheet.deleteRule(index);\n this.cssRules.splice(index, 1);\n return this.insertRule(rule, index);\n }\n /**\n * Get all rules elements.\n */\n ;\n\n _proto.getRules = function getRules() {\n return this.element.sheet.cssRules;\n };\n\n return DomRenderer;\n}();\n\nvar instanceCounter = 0;\n\nvar Jss =\n/*#__PURE__*/\nfunction () {\n function Jss(options) {\n this.id = instanceCounter++;\n this.version = \"10.5.1\";\n this.plugins = new PluginsRegistry();\n this.options = {\n id: {\n minify: false\n },\n createGenerateId: createGenerateId,\n Renderer: isInBrowser ? DomRenderer : null,\n plugins: []\n };\n this.generateId = createGenerateId({\n minify: false\n });\n\n for (var i = 0; i < plugins.length; i++) {\n this.plugins.use(plugins[i], {\n queue: 'internal'\n });\n }\n\n this.setup(options);\n }\n /**\n * Prepares various options, applies plugins.\n * Should not be used twice on the same instance, because there is no plugins\n * deduplication logic.\n */\n\n\n var _proto = Jss.prototype;\n\n _proto.setup = function setup(options) {\n if (options === void 0) {\n options = {};\n }\n\n if (options.createGenerateId) {\n this.options.createGenerateId = options.createGenerateId;\n }\n\n if (options.id) {\n this.options.id = _extends({}, this.options.id, options.id);\n }\n\n if (options.createGenerateId || options.id) {\n this.generateId = this.options.createGenerateId(this.options.id);\n }\n\n if (options.insertionPoint != null) this.options.insertionPoint = options.insertionPoint;\n\n if ('Renderer' in options) {\n this.options.Renderer = options.Renderer;\n } // eslint-disable-next-line prefer-spread\n\n\n if (options.plugins) this.use.apply(this, options.plugins);\n return this;\n }\n /**\n * Create a Style Sheet.\n */\n ;\n\n _proto.createStyleSheet = function createStyleSheet(styles, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n index = _options.index;\n\n if (typeof index !== 'number') {\n index = registry.index === 0 ? 0 : registry.index + 1;\n }\n\n var sheet = new StyleSheet(styles, _extends({}, options, {\n jss: this,\n generateId: options.generateId || this.generateId,\n insertionPoint: this.options.insertionPoint,\n Renderer: this.options.Renderer,\n index: index\n }));\n this.plugins.onProcessSheet(sheet);\n return sheet;\n }\n /**\n * Detach the Style Sheet and remove it from the registry.\n */\n ;\n\n _proto.removeStyleSheet = function removeStyleSheet(sheet) {\n sheet.detach();\n registry.remove(sheet);\n return this;\n }\n /**\n * Create a rule without a Style Sheet.\n * [Deprecated] will be removed in the next major version.\n */\n ;\n\n _proto.createRule = function createRule$1(name, style, options) {\n if (style === void 0) {\n style = {};\n }\n\n if (options === void 0) {\n options = {};\n }\n\n // Enable rule without name for inline styles.\n if (typeof name === 'object') {\n // $FlowFixMe[incompatible-call]\n return this.createRule(undefined, name, style);\n } // $FlowFixMe[incompatible-type]\n\n\n var ruleOptions = _extends({}, options, {\n name: name,\n jss: this,\n Renderer: this.options.Renderer\n });\n\n if (!ruleOptions.generateId) ruleOptions.generateId = this.generateId;\n if (!ruleOptions.classes) ruleOptions.classes = {};\n if (!ruleOptions.keyframes) ruleOptions.keyframes = {};\n\n var rule = createRule(name, style, ruleOptions);\n\n if (rule) this.plugins.onProcessRule(rule);\n return rule;\n }\n /**\n * Register plugin. Passed function will be invoked with a rule instance.\n */\n ;\n\n _proto.use = function use() {\n var _this = this;\n\n for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {\n plugins[_key] = arguments[_key];\n }\n\n plugins.forEach(function (plugin) {\n _this.plugins.use(plugin);\n });\n return this;\n };\n\n return Jss;\n}();\n\n/**\n * Extracts a styles object with only props that contain function values.\n */\nfunction getDynamicStyles(styles) {\n var to = null;\n\n for (var key in styles) {\n var value = styles[key];\n var type = typeof value;\n\n if (type === 'function') {\n if (!to) to = {};\n to[key] = value;\n } else if (type === 'object' && value !== null && !Array.isArray(value)) {\n var extracted = getDynamicStyles(value);\n\n if (extracted) {\n if (!to) to = {};\n to[key] = extracted;\n }\n }\n }\n\n return to;\n}\n\n/**\n * SheetsManager is like a WeakMap which is designed to count StyleSheet\n * instances and attach/detach automatically.\n */\nvar SheetsManager =\n/*#__PURE__*/\nfunction () {\n function SheetsManager() {\n this.length = 0;\n this.sheets = new WeakMap();\n }\n\n var _proto = SheetsManager.prototype;\n\n _proto.get = function get(key) {\n var entry = this.sheets.get(key);\n return entry && entry.sheet;\n };\n\n _proto.add = function add(key, sheet) {\n if (this.sheets.has(key)) return;\n this.length++;\n this.sheets.set(key, {\n sheet: sheet,\n refs: 0\n });\n };\n\n _proto.manage = function manage(key) {\n var entry = this.sheets.get(key);\n\n if (entry) {\n if (entry.refs === 0) {\n entry.sheet.attach();\n }\n\n entry.refs++;\n return entry.sheet;\n }\n\n warning(false, \"[JSS] SheetsManager: can't find sheet to manage\");\n return undefined;\n };\n\n _proto.unmanage = function unmanage(key) {\n var entry = this.sheets.get(key);\n\n if (entry) {\n if (entry.refs > 0) {\n entry.refs--;\n if (entry.refs === 0) entry.sheet.detach();\n }\n } else {\n warning(false, \"SheetsManager: can't find sheet to unmanage\");\n }\n };\n\n _createClass(SheetsManager, [{\n key: \"size\",\n get: function get() {\n return this.length;\n }\n }]);\n\n return SheetsManager;\n}();\n\n/**\n * A better abstraction over CSS.\n *\n * @copyright Oleg Isonen (Slobodskoi) / Isonen 2014-present\n * @website https://github.com/cssinjs/jss\n * @license MIT\n */\n\n/**\n * Export a constant indicating if this browser has CSSTOM support.\n * https://developers.google.com/web/updates/2018/03/cssom\n */\nvar hasCSSTOMSupport = typeof CSS === 'object' && CSS != null && 'number' in CSS;\n/**\n * Creates a new instance of Jss.\n */\n\nvar create = function create(options) {\n return new Jss(options);\n};\n/**\n * A global Jss instance.\n */\n\nvar jss = create();\n\nexport default jss;\nexport { RuleList, SheetsManager, SheetsRegistry, create, createGenerateId, createRule, getDynamicStyles, hasCSSTOMSupport, registry as sheets, toCssValue };\n"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n","module.exports = require(\"prop-types\");","module.exports = require(\"react\");","import * as React from \"react\";\r\nimport { FunctionComponent, ValidationMap, ReactElement, CSSProperties } from \"react\";\r\nimport * as PropTypes from \"prop-types\";\r\nimport { StackProps } from './StackProps';\r\nimport { IconProps } from './IconProps';\r\n\r\nlet id = 0;\r\n\r\nconst Stack: FunctionComponent = React.forwardRef(({\r\n title = null,\r\n description = null,\r\n size = null,\r\n color = 'currentColor',\r\n horizontal = null,\r\n vertical = null,\r\n rotate = null,\r\n spin = null,\r\n style = {} as CSSProperties,\r\n children,\r\n ...rest\r\n}, ref) => {\r\n id++;\r\n let anySpin = spin === null ? false : spin;\r\n const childrenWithProps = React.Children.map(children, (child) => {\r\n const childElement = child as ReactElement;\r\n if (anySpin !== true) {\r\n anySpin = (spin === null ? childElement.props.spin : spin) === true;\r\n }\r\n let scaledSize = childElement.props.size;\r\n if (typeof size === 'number' && typeof childElement.props.size === 'number') {\r\n scaledSize = childElement.props.size / size;\r\n }\r\n const props: Partial = {\r\n size: scaledSize,\r\n color: color === null ? childElement.props.color : color,\r\n horizontal: horizontal === null ? childElement.props.horizontal : horizontal,\r\n vertical: vertical === null ? childElement.props.vertical : vertical,\r\n rotate: rotate === null ? childElement.props.rotate : rotate,\r\n spin: spin === null ? childElement.props.spin : spin,\r\n inStack: true\r\n };\r\n return React.cloneElement(childElement, props);\r\n });\r\n if (size !== null) {\r\n style.width = typeof size === \"string\"\r\n ? size\r\n : `${size * 1.5}rem`;\r\n }\r\n let ariaLabelledby;\r\n let labelledById = `stack_labelledby_${id}`;\r\n let describedById = `stack_describedby_${id}`;\r\n let role;\r\n if (title) {\r\n ariaLabelledby = description\r\n ? `${labelledById} ${describedById}`\r\n : labelledById;\r\n } else {\r\n role = 'presentation';\r\n if (description) {\r\n throw new Error(\"title attribute required when description is set\");\r\n }\r\n }\r\n return (\r\n \r\n {title && {title}}\r\n {description && {description}}\r\n {anySpin && (\r\n \r\n )}\r\n {childrenWithProps}\r\n \r\n );\r\n});\r\n\r\nStack.displayName = 'Stack';\r\n\r\nStack.propTypes = {\r\n size: PropTypes.oneOfType([\r\n PropTypes.number,\r\n PropTypes.string\r\n ]),\r\n color: PropTypes.string,\r\n horizontal: PropTypes.bool,\r\n vertical: PropTypes.bool,\r\n rotate: PropTypes.number,\r\n spin: PropTypes.oneOfType([\r\n PropTypes.bool,\r\n PropTypes.number\r\n ]),\r\n children: PropTypes.oneOfType([\r\n PropTypes.arrayOf(PropTypes.node),\r\n PropTypes.node\r\n ]).isRequired,\r\n className: PropTypes.string,\r\n style: PropTypes.object\r\n} as ValidationMap;\r\n\r\nStack.defaultProps = {\r\n size: null,\r\n color: null,\r\n horizontal: null,\r\n vertical: null,\r\n rotate: null,\r\n spin: null\r\n};\r\n\r\nexport default Stack;\r\n","import * as React from \"react\";\r\nimport { FunctionComponent, ValidationMap, CSSProperties } from \"react\";\r\nimport * as PropTypes from \"prop-types\";\r\nimport { IconProps } from './IconProps';\r\n\r\nexport { default as Stack } from './Stack';\r\n\r\nlet idCounter = 0;\r\n\r\nexport const Icon: FunctionComponent = React.forwardRef(({\r\n path,\r\n id = ++idCounter,\r\n title = null,\r\n description = null,\r\n size = null,\r\n color = 'currentColor',\r\n horizontal = false,\r\n vertical = false,\r\n rotate = 0,\r\n spin = false,\r\n style = {} as CSSProperties,\r\n inStack = false,\r\n ...rest\r\n}, ref) => {\r\n const pathStyle: any = {};\r\n const transform = [];\r\n if (size !== null) {\r\n if (inStack) {\r\n transform.push(`scale(${size})`);\r\n } else {\r\n style.width = typeof size === \"string\"\r\n ? size\r\n : `${size * 1.5}rem`;\r\n style.height = style.width;\r\n }\r\n }\r\n if (horizontal) {\r\n transform.push(\"scaleX(-1)\");\r\n }\r\n if (vertical) {\r\n transform.push(\"scaleY(-1)\");\r\n }\r\n if (rotate !== 0) {\r\n transform.push(`rotate(${rotate}deg)`);\r\n }\r\n if (color !== null) {\r\n pathStyle.fill = color;\r\n }\r\n let pathElement = (\r\n \r\n );\r\n let transformElement = pathElement;\r\n if (transform.length > 0) {\r\n style.transform = transform.join(' ');\r\n style.transformOrigin = 'center';\r\n if (inStack) {\r\n transformElement = (\r\n \r\n {pathElement}\r\n \r\n \r\n )\r\n }\r\n }\r\n let spinElement = transformElement;\r\n const spinSec = spin === true || typeof spin !== 'number' ? 2 : spin;\r\n let inverse = !inStack && (horizontal || vertical);\r\n if (spinSec < 0) { inverse = !inverse }\r\n if (spin) {\r\n spinElement = (\r\n \r\n {transformElement}\r\n {!(horizontal || vertical || rotate !== 0) && (\r\n \r\n )}\r\n \r\n )\r\n }\r\n if (inStack) {\r\n return spinElement;\r\n }\r\n let ariaLabelledby;\r\n let labelledById = `icon_labelledby_${id}`;\r\n let describedById = `icon_describedby_${id}`;\r\n let role;\r\n if (title) {\r\n ariaLabelledby = description\r\n ? `${labelledById} ${describedById}`\r\n : labelledById;\r\n } else {\r\n role = 'presentation';\r\n if (description) {\r\n throw new Error(\"title attribute required when description is set\");\r\n }\r\n }\r\n return (\r\n \r\n {title && {title}}\r\n {description && {description}}\r\n {!inStack && spin && (\r\n inverse\r\n ? \r\n : \r\n )}\r\n {spinElement}\r\n \r\n );\r\n});\r\n\r\nIcon.displayName = 'Icon';\r\n\r\nIcon.propTypes = {\r\n path: PropTypes.string.isRequired,\r\n size: PropTypes.oneOfType([\r\n PropTypes.number,\r\n PropTypes.string\r\n ]),\r\n color: PropTypes.string,\r\n horizontal: PropTypes.bool,\r\n vertical: PropTypes.bool,\r\n rotate: PropTypes.number,\r\n spin: PropTypes.oneOfType([\r\n PropTypes.bool,\r\n PropTypes.number\r\n ]),\r\n style: PropTypes.object,\r\n inStack: PropTypes.bool,\r\n className: PropTypes.string\r\n} as ValidationMap;\r\n// https://github.com/DefinitelyTyped/DefinitelyTyped/issues/28249\r\n\r\nIcon.defaultProps = {\r\n size: null,\r\n color: 'currentColor',\r\n horizontal: false,\r\n vertical: false,\r\n rotate: 0,\r\n spin: false\r\n};\r\n\r\nexport default Icon;\r\n","import { Nullable } from \"../../types\";\r\nimport { Scene } from \"../../scene\";\r\nimport { Vector4 } from \"../../Maths/math.vector\";\r\nimport { Color4 } from '../../Maths/math.color';\r\nimport { Mesh, _CreationDataStorage } from \"../mesh\";\r\nimport { VertexData } from \"../mesh.vertexData\";\r\n\r\nVertexData.CreateBox = function(options: { size?: number, width?: number, height?: number, depth?: number, faceUV?: Vector4[], faceColors?: Color4[], sideOrientation?: number, frontUVs?: Vector4, backUVs?: Vector4, wrap?: boolean, topBaseAt?: number, bottomBaseAt?: number }): VertexData {\r\n var nbFaces = 6;\r\n var indices = [0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7, 8, 9, 10, 8, 10, 11, 12, 13, 14, 12, 14, 15, 16, 17, 18, 16, 18, 19, 20, 21, 22, 20, 22, 23];\r\n var normals = [0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0];\r\n var uvs = [];\r\n var positions = [];\r\n var width = options.width || options.size || 1;\r\n var height = options.height || options.size || 1;\r\n var depth = options.depth || options.size || 1;\r\n var wrap = options.wrap || false;\r\n var topBaseAt = (options.topBaseAt === void 0) ? 1 : options.topBaseAt;\r\n var bottomBaseAt = (options.bottomBaseAt === void 0) ? 0 : options.bottomBaseAt;\r\n topBaseAt = (topBaseAt + 4) % 4; // places values as 0 to 3\r\n bottomBaseAt = (bottomBaseAt + 4) % 4; // places values as 0 to 3\r\n var topOrder = [2, 0, 3, 1];\r\n var bottomOrder = [2, 0, 1, 3];\r\n var topIndex = topOrder[topBaseAt];\r\n var bottomIndex = bottomOrder[bottomBaseAt];\r\n var basePositions = [1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1];\r\n if (wrap) {\r\n indices = [2, 3, 0, 2, 0, 1, 4, 5, 6, 4, 6, 7, 9, 10, 11, 9, 11, 8, 12, 14, 15, 12, 13, 14];\r\n basePositions = [-1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1];\r\n var topFaceBase: any = [[1, 1, 1], [-1, 1, 1], [-1, 1, -1], [1, 1, -1]];\r\n var bottomFaceBase: any = [[-1, -1, 1], [1, -1, 1], [1, -1, -1], [-1, -1, -1]];\r\n var topFaceOrder: any = [17, 18, 19, 16];\r\n var bottomFaceOrder: any = [22, 23, 20, 21];\r\n while (topIndex > 0) {\r\n topFaceBase.unshift(topFaceBase.pop());\r\n topFaceOrder.unshift(topFaceOrder.pop());\r\n topIndex--;\r\n }\r\n while (bottomIndex > 0) {\r\n bottomFaceBase.unshift(bottomFaceBase.pop());\r\n bottomFaceOrder.unshift(bottomFaceOrder.pop());\r\n bottomIndex--;\r\n }\r\n topFaceBase = topFaceBase.flat();\r\n bottomFaceBase = bottomFaceBase.flat();\r\n basePositions = basePositions.concat(topFaceBase).concat(bottomFaceBase);\r\n indices.push(topFaceOrder[0], topFaceOrder[2], topFaceOrder[3], topFaceOrder[0], topFaceOrder[1], topFaceOrder[2]);\r\n indices.push(bottomFaceOrder[0], bottomFaceOrder[2], bottomFaceOrder[3], bottomFaceOrder[0], bottomFaceOrder[1], bottomFaceOrder[2]);\r\n }\r\n var scaleArray = [width / 2, height / 2, depth / 2];\r\n positions = basePositions.reduce(\r\n (accumulator: Array, currentValue, currentIndex) => accumulator.concat(currentValue * scaleArray[currentIndex % 3]),\r\n []\r\n );\r\n\r\n var sideOrientation = (options.sideOrientation === 0) ? 0 : options.sideOrientation || VertexData.DEFAULTSIDE;\r\n\r\n var faceUV: Vector4[] = options.faceUV || new Array(6);\r\n var faceColors = options.faceColors;\r\n var colors = [];\r\n\r\n // default face colors and UV if undefined\r\n for (var f = 0; f < 6; f++) {\r\n if (faceUV[f] === undefined) {\r\n faceUV[f] = new Vector4(0, 0, 1, 1);\r\n }\r\n if (faceColors && faceColors[f] === undefined) {\r\n faceColors[f] = new Color4(1, 1, 1, 1);\r\n }\r\n }\r\n\r\n // Create each face in turn.\r\n for (var index = 0; index < nbFaces; index++) {\r\n uvs.push(faceUV[index].z, faceUV[index].w);\r\n uvs.push(faceUV[index].x, faceUV[index].w);\r\n uvs.push(faceUV[index].x, faceUV[index].y);\r\n uvs.push(faceUV[index].z, faceUV[index].y);\r\n if (faceColors) {\r\n for (var c = 0; c < 4; c++) {\r\n colors.push(faceColors[index].r, faceColors[index].g, faceColors[index].b, faceColors[index].a);\r\n }\r\n }\r\n }\r\n\r\n // sides\r\n VertexData._ComputeSides(sideOrientation, positions, indices, normals, uvs, options.frontUVs, options.backUVs);\r\n\r\n // Result\r\n var vertexData = new VertexData();\r\n\r\n vertexData.indices = indices;\r\n vertexData.positions = positions;\r\n vertexData.normals = normals;\r\n vertexData.uvs = uvs;\r\n\r\n if (faceColors) {\r\n var totalColors = (sideOrientation === VertexData.DOUBLESIDE) ? colors.concat(colors) : colors;\r\n vertexData.colors = totalColors;\r\n }\r\n\r\n return vertexData;\r\n};\r\n\r\nMesh.CreateBox = (name: string, size: number, scene: Nullable = null, updatable?: boolean, sideOrientation?: number): Mesh => {\r\n var options = {\r\n size: size,\r\n sideOrientation: sideOrientation,\r\n updatable: updatable\r\n };\r\n\r\n return BoxBuilder.CreateBox(name, options, scene);\r\n};\r\n\r\n/**\r\n * Class containing static functions to help procedurally build meshes\r\n */\r\nexport class BoxBuilder {\r\n /**\r\n * Creates a box mesh\r\n * * The parameter `size` sets the size (float) of each box side (default 1)\r\n * * You can set some different box dimensions by using the parameters `width`, `height` and `depth` (all by default have the same value of `size`)\r\n * * You can set different colors and different images to each box side by using the parameters `faceColors` (an array of 6 Color3 elements) and `faceUV` (an array of 6 Vector4 elements)\r\n * * Please read this tutorial : https://doc.babylonjs.com/how_to/createbox_per_face_textures_and_colors\r\n * * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE\r\n * * If you create a double-sided mesh, you can choose what parts of the texture image to crop and stick respectively on the front and the back sides with the parameters `frontUVs` and `backUVs` (Vector4). Detail here : https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation\r\n * * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created\r\n * @see https://doc.babylonjs.com/how_to/set_shapes#box\r\n * @param name defines the name of the mesh\r\n * @param options defines the options used to create the mesh\r\n * @param scene defines the hosting scene\r\n * @returns the box mesh\r\n */\r\n public static CreateBox(name: string, options: { size?: number, width?: number, height?: number, depth?: number, faceUV?: Vector4[], faceColors?: Color4[], sideOrientation?: number, frontUVs?: Vector4, backUVs?: Vector4, wrap?: boolean, topBaseAt?: number, bottomBaseAt?: number, updatable?: boolean }, scene: Nullable = null): Mesh {\r\n var box = new Mesh(name, scene);\r\n\r\n options.sideOrientation = Mesh._GetDefaultSideOrientation(options.sideOrientation);\r\n box._originalBuilderSideOrientation = options.sideOrientation;\r\n\r\n var vertexData = VertexData.CreateBox(options);\r\n\r\n vertexData.applyToMesh(box, options.updatable);\r\n\r\n return box;\r\n }\r\n}","import { DeepImmutable } from '../types';\r\nimport { Vector3, Matrix } from './math.vector';\r\n\r\n/**\r\n * Represents a plane by the equation ax + by + cz + d = 0\r\n */\r\nexport class Plane {\r\n private static _TmpMatrix = Matrix.Identity();\r\n\r\n /**\r\n * Normal of the plane (a,b,c)\r\n */\r\n public normal: Vector3;\r\n /**\r\n * d component of the plane\r\n */\r\n public d: number;\r\n /**\r\n * Creates a Plane object according to the given floats a, b, c, d and the plane equation : ax + by + cz + d = 0\r\n * @param a a component of the plane\r\n * @param b b component of the plane\r\n * @param c c component of the plane\r\n * @param d d component of the plane\r\n */\r\n constructor(a: number, b: number, c: number, d: number) {\r\n this.normal = new Vector3(a, b, c);\r\n this.d = d;\r\n }\r\n\r\n /**\r\n * @returns the plane coordinates as a new array of 4 elements [a, b, c, d].\r\n */\r\n public asArray(): number[] {\r\n return [this.normal.x, this.normal.y, this.normal.z, this.d];\r\n }\r\n\r\n // Methods\r\n /**\r\n * @returns a new plane copied from the current Plane.\r\n */\r\n public clone(): Plane {\r\n return new Plane(this.normal.x, this.normal.y, this.normal.z, this.d);\r\n }\r\n /**\r\n * @returns the string \"Plane\".\r\n */\r\n public getClassName(): string {\r\n return \"Plane\";\r\n }\r\n /**\r\n * @returns the Plane hash code.\r\n */\r\n public getHashCode(): number {\r\n let hash = this.normal.getHashCode();\r\n hash = (hash * 397) ^ (this.d | 0);\r\n return hash;\r\n }\r\n /**\r\n * Normalize the current Plane in place.\r\n * @returns the updated Plane.\r\n */\r\n public normalize(): Plane {\r\n var norm = (Math.sqrt((this.normal.x * this.normal.x) + (this.normal.y * this.normal.y) + (this.normal.z * this.normal.z)));\r\n var magnitude = 0.0;\r\n\r\n if (norm !== 0) {\r\n magnitude = 1.0 / norm;\r\n }\r\n this.normal.x *= magnitude;\r\n this.normal.y *= magnitude;\r\n this.normal.z *= magnitude;\r\n this.d *= magnitude;\r\n return this;\r\n }\r\n /**\r\n * Applies a transformation the plane and returns the result\r\n * @param transformation the transformation matrix to be applied to the plane\r\n * @returns a new Plane as the result of the transformation of the current Plane by the given matrix.\r\n */\r\n public transform(transformation: DeepImmutable): Plane {\r\n const invertedMatrix = Plane._TmpMatrix;\r\n transformation.invertToRef(invertedMatrix);\r\n const m = invertedMatrix.m;\r\n var x = this.normal.x;\r\n var y = this.normal.y;\r\n var z = this.normal.z;\r\n var d = this.d;\r\n\r\n var normalX = x * m[0] + y * m[1] + z * m[2] + d * m[3];\r\n var normalY = x * m[4] + y * m[5] + z * m[6] + d * m[7];\r\n var normalZ = x * m[8] + y * m[9] + z * m[10] + d * m[11];\r\n var finalD = x * m[12] + y * m[13] + z * m[14] + d * m[15];\r\n\r\n return new Plane(normalX, normalY, normalZ, finalD);\r\n }\r\n\r\n /**\r\n * Compute the dot product between the point and the plane normal\r\n * @param point point to calculate the dot product with\r\n * @returns the dot product (float) of the point coordinates and the plane normal.\r\n */\r\n public dotCoordinate(point: DeepImmutable): number {\r\n return ((((this.normal.x * point.x) + (this.normal.y * point.y)) + (this.normal.z * point.z)) + this.d);\r\n }\r\n\r\n /**\r\n * Updates the current Plane from the plane defined by the three given points.\r\n * @param point1 one of the points used to contruct the plane\r\n * @param point2 one of the points used to contruct the plane\r\n * @param point3 one of the points used to contruct the plane\r\n * @returns the updated Plane.\r\n */\r\n public copyFromPoints(point1: DeepImmutable, point2: DeepImmutable, point3: DeepImmutable): Plane {\r\n var x1 = point2.x - point1.x;\r\n var y1 = point2.y - point1.y;\r\n var z1 = point2.z - point1.z;\r\n var x2 = point3.x - point1.x;\r\n var y2 = point3.y - point1.y;\r\n var z2 = point3.z - point1.z;\r\n var yz = (y1 * z2) - (z1 * y2);\r\n var xz = (z1 * x2) - (x1 * z2);\r\n var xy = (x1 * y2) - (y1 * x2);\r\n var pyth = (Math.sqrt((yz * yz) + (xz * xz) + (xy * xy)));\r\n var invPyth;\r\n\r\n if (pyth !== 0) {\r\n invPyth = 1.0 / pyth;\r\n }\r\n else {\r\n invPyth = 0.0;\r\n }\r\n\r\n this.normal.x = yz * invPyth;\r\n this.normal.y = xz * invPyth;\r\n this.normal.z = xy * invPyth;\r\n this.d = -((this.normal.x * point1.x) + (this.normal.y * point1.y) + (this.normal.z * point1.z));\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Checks if the plane is facing a given direction (meaning if the plane's normal is pointing in the opposite direction of the given vector).\r\n * Note that for this function to work as expected you should make sure that:\r\n * - direction and the plane normal are normalized\r\n * - epsilon is a number just bigger than -1, something like -0.99 for eg\r\n * @param direction the direction to check if the plane is facing\r\n * @param epsilon value the dot product is compared against (returns true if dot <= epsilon)\r\n * @returns True if the plane is facing the given direction\r\n */\r\n public isFrontFacingTo(direction: DeepImmutable, epsilon: number): boolean {\r\n var dot = Vector3.Dot(this.normal, direction);\r\n return (dot <= epsilon);\r\n }\r\n\r\n /**\r\n * Calculates the distance to a point\r\n * @param point point to calculate distance to\r\n * @returns the signed distance (float) from the given point to the Plane.\r\n */\r\n public signedDistanceTo(point: DeepImmutable): number {\r\n return Vector3.Dot(point, this.normal) + this.d;\r\n }\r\n\r\n // Statics\r\n /**\r\n * Creates a plane from an array\r\n * @param array the array to create a plane from\r\n * @returns a new Plane from the given array.\r\n */\r\n static FromArray(array: DeepImmutable>): Plane {\r\n return new Plane(array[0], array[1], array[2], array[3]);\r\n }\r\n /**\r\n * Creates a plane from three points\r\n * @param point1 point used to create the plane\r\n * @param point2 point used to create the plane\r\n * @param point3 point used to create the plane\r\n * @returns a new Plane defined by the three given points.\r\n */\r\n static FromPoints(point1: DeepImmutable, point2: DeepImmutable, point3: DeepImmutable): Plane {\r\n var result = new Plane(0.0, 0.0, 0.0, 0.0);\r\n result.copyFromPoints(point1, point2, point3);\r\n return result;\r\n }\r\n /**\r\n * Creates a plane from an origin point and a normal\r\n * @param origin origin of the plane to be constructed\r\n * @param normal normal of the plane to be constructed\r\n * @returns a new Plane the normal vector to this plane at the given origin point.\r\n * Note : the vector \"normal\" is updated because normalized.\r\n */\r\n static FromPositionAndNormal(origin: DeepImmutable, normal: Vector3): Plane {\r\n var result = new Plane(0.0, 0.0, 0.0, 0.0);\r\n normal.normalize();\r\n result.normal = normal;\r\n result.d = -(normal.x * origin.x + normal.y * origin.y + normal.z * origin.z);\r\n return result;\r\n }\r\n\r\n /**\r\n * Calculates the distance from a plane and a point\r\n * @param origin origin of the plane to be constructed\r\n * @param normal normal of the plane to be constructed\r\n * @param point point to calculate distance to\r\n * @returns the signed distance between the plane defined by the normal vector at the \"origin\"\" point and the given other point.\r\n */\r\n static SignedDistanceToPlaneFromPositionAndNormal(origin: DeepImmutable, normal: DeepImmutable, point: DeepImmutable): number {\r\n var d = -(normal.x * origin.x + normal.y * origin.y + normal.z * origin.z);\r\n return Vector3.Dot(point, normal) + d;\r\n }\r\n}\r\n","/**\r\n * Gather the list of keyboard event types as constants.\r\n */\r\nexport class KeyboardEventTypes {\r\n /**\r\n * The keydown event is fired when a key becomes active (pressed).\r\n */\r\n public static readonly KEYDOWN = 0x01;\r\n /**\r\n * The keyup event is fired when a key has been released.\r\n */\r\n public static readonly KEYUP = 0x02;\r\n}\r\n\r\n/**\r\n * This class is used to store keyboard related info for the onKeyboardObservable event.\r\n */\r\nexport class KeyboardInfo {\r\n /**\r\n * Instantiates a new keyboard info.\r\n * This class is used to store keyboard related info for the onKeyboardObservable event.\r\n * @param type Defines the type of event (KeyboardEventTypes)\r\n * @param event Defines the related dom event\r\n */\r\n constructor(\r\n /**\r\n * Defines the type of event (KeyboardEventTypes)\r\n */\r\n public type: number,\r\n /**\r\n * Defines the related dom event\r\n */\r\n public event: KeyboardEvent) {\r\n }\r\n}\r\n\r\n/**\r\n * This class is used to store keyboard related info for the onPreKeyboardObservable event.\r\n * Set the skipOnKeyboardObservable property to true if you want the engine to stop any process after this event is triggered, even not calling onKeyboardObservable\r\n */\r\nexport class KeyboardInfoPre extends KeyboardInfo {\r\n /**\r\n * Defines whether the engine should skip the next onKeyboardObservable associated to this pre.\r\n */\r\n public skipOnPointerObservable: boolean;\r\n\r\n /**\r\n * Instantiates a new keyboard pre info.\r\n * This class is used to store keyboard related info for the onPreKeyboardObservable event.\r\n * @param type Defines the type of event (KeyboardEventTypes)\r\n * @param event Defines the related dom event\r\n */\r\n constructor(\r\n /**\r\n * Defines the type of event (KeyboardEventTypes)\r\n */\r\n public type: number,\r\n /**\r\n * Defines the related dom event\r\n */\r\n public event: KeyboardEvent) {\r\n super(type, event);\r\n this.skipOnPointerObservable = false;\r\n }\r\n}\r\n","export var reflow = function reflow(node) {\n return node.scrollTop;\n};\nexport function getTransitionProps(props, options) {\n var timeout = props.timeout,\n _props$style = props.style,\n style = _props$style === void 0 ? {} : _props$style;\n return {\n duration: style.transitionDuration || typeof timeout === 'number' ? timeout : timeout[options.mode] || 0,\n delay: style.transitionDelay\n };\n}","import { Nullable } from '../types';\r\nimport { IEffectFallbacks } from './iEffectFallbacks';\r\n\r\ndeclare type Effect = import(\"./effect\").Effect;\r\ndeclare type AbstractMesh = import(\"../Meshes/abstractMesh\").AbstractMesh;\r\n\r\n/**\r\n * EffectFallbacks can be used to add fallbacks (properties to disable) to certain properties when desired to improve performance.\r\n * (Eg. Start at high quality with reflection and fog, if fps is low, remove reflection, if still low remove fog)\r\n */\r\nexport class EffectFallbacks implements IEffectFallbacks {\r\n private _defines: { [key: string]: Array } = {};\r\n\r\n private _currentRank = 32;\r\n private _maxRank = -1;\r\n\r\n private _mesh: Nullable = null;\r\n\r\n /**\r\n * Removes the fallback from the bound mesh.\r\n */\r\n public unBindMesh() {\r\n this._mesh = null;\r\n }\r\n\r\n /**\r\n * Adds a fallback on the specified property.\r\n * @param rank The rank of the fallback (Lower ranks will be fallbacked to first)\r\n * @param define The name of the define in the shader\r\n */\r\n public addFallback(rank: number, define: string): void {\r\n if (!this._defines[rank]) {\r\n if (rank < this._currentRank) {\r\n this._currentRank = rank;\r\n }\r\n\r\n if (rank > this._maxRank) {\r\n this._maxRank = rank;\r\n }\r\n\r\n this._defines[rank] = new Array();\r\n }\r\n\r\n this._defines[rank].push(define);\r\n }\r\n\r\n /**\r\n * Sets the mesh to use CPU skinning when needing to fallback.\r\n * @param rank The rank of the fallback (Lower ranks will be fallbacked to first)\r\n * @param mesh The mesh to use the fallbacks.\r\n */\r\n public addCPUSkinningFallback(rank: number, mesh: AbstractMesh) {\r\n this._mesh = mesh;\r\n\r\n if (rank < this._currentRank) {\r\n this._currentRank = rank;\r\n }\r\n if (rank > this._maxRank) {\r\n this._maxRank = rank;\r\n }\r\n }\r\n\r\n /**\r\n * Checks to see if more fallbacks are still availible.\r\n */\r\n public get hasMoreFallbacks(): boolean {\r\n return this._currentRank <= this._maxRank;\r\n }\r\n\r\n /**\r\n * Removes the defines that should be removed when falling back.\r\n * @param currentDefines defines the current define statements for the shader.\r\n * @param effect defines the current effect we try to compile\r\n * @returns The resulting defines with defines of the current rank removed.\r\n */\r\n public reduce(currentDefines: string, effect: Effect): string {\r\n // First we try to switch to CPU skinning\r\n if (this._mesh && this._mesh.computeBonesUsingShaders && this._mesh.numBoneInfluencers > 0) {\r\n this._mesh.computeBonesUsingShaders = false;\r\n currentDefines = currentDefines.replace(\"#define NUM_BONE_INFLUENCERS \" + this._mesh.numBoneInfluencers, \"#define NUM_BONE_INFLUENCERS 0\");\r\n effect._bonesComputationForcedToCPU = true;\r\n\r\n var scene = this._mesh.getScene();\r\n for (var index = 0; index < scene.meshes.length; index++) {\r\n var otherMesh = scene.meshes[index];\r\n\r\n if (!otherMesh.material) {\r\n if (!this._mesh.material && otherMesh.computeBonesUsingShaders && otherMesh.numBoneInfluencers > 0) {\r\n otherMesh.computeBonesUsingShaders = false;\r\n }\r\n continue;\r\n }\r\n\r\n if (!otherMesh.computeBonesUsingShaders || otherMesh.numBoneInfluencers === 0) {\r\n continue;\r\n }\r\n\r\n if (otherMesh.material.getEffect() === effect) {\r\n otherMesh.computeBonesUsingShaders = false;\r\n } else if (otherMesh.subMeshes) {\r\n for (var subMesh of otherMesh.subMeshes) {\r\n let subMeshEffect = subMesh.effect;\r\n\r\n if (subMeshEffect === effect) {\r\n otherMesh.computeBonesUsingShaders = false;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n var currentFallbacks = this._defines[this._currentRank];\r\n if (currentFallbacks) {\r\n for (var index = 0; index < currentFallbacks.length; index++) {\r\n currentDefines = currentDefines.replace(\"#define \" + currentFallbacks[index], \"\");\r\n }\r\n }\r\n\r\n this._currentRank++;\r\n }\r\n\r\n return currentDefines;\r\n }\r\n}","import { serialize, serializeAsMatrix, SerializationHelper } from \"../../Misc/decorators\";\r\nimport { Tools } from \"../../Misc/tools\";\r\nimport { Nullable } from \"../../types\";\r\nimport { Scene } from \"../../scene\";\r\nimport { Matrix, Vector3 } from \"../../Maths/math.vector\";\r\nimport { BaseTexture } from \"../../Materials/Textures/baseTexture\";\r\nimport { Texture } from \"../../Materials/Textures/texture\";\r\n\r\nimport { _TypeStore } from '../../Misc/typeStore';\r\nimport { ThinEngine } from '../../Engines/thinEngine';\r\n\r\nimport \"../../Engines/Extensions/engine.cubeTexture\";\r\nimport { StringTools } from '../../Misc/stringTools';\r\nimport { Observable } from '../../Misc/observable';\r\n\r\n/**\r\n * Class for creating a cube texture\r\n */\r\nexport class CubeTexture extends BaseTexture {\r\n private _delayedOnLoad: Nullable<() => void>;\r\n\r\n /**\r\n * Observable triggered once the texture has been loaded.\r\n */\r\n public onLoadObservable: Observable = new Observable();\r\n\r\n /**\r\n * The url of the texture\r\n */\r\n @serialize()\r\n public url: string;\r\n\r\n /**\r\n * Gets or sets the center of the bounding box associated with the cube texture.\r\n * It must define where the camera used to render the texture was set\r\n * @see https://doc.babylonjs.com/how_to/reflect#using-local-cubemap-mode\r\n */\r\n public boundingBoxPosition = Vector3.Zero();\r\n\r\n private _boundingBoxSize: Vector3;\r\n\r\n /**\r\n * Gets or sets the size of the bounding box associated with the cube texture\r\n * When defined, the cubemap will switch to local mode\r\n * @see https://community.arm.com/graphics/b/blog/posts/reflections-based-on-local-cubemaps-in-unity\r\n * @example https://www.babylonjs-playground.com/#RNASML\r\n */\r\n public set boundingBoxSize(value: Vector3) {\r\n if (this._boundingBoxSize && this._boundingBoxSize.equals(value)) {\r\n return;\r\n }\r\n this._boundingBoxSize = value;\r\n let scene = this.getScene();\r\n if (scene) {\r\n scene.markAllMaterialsAsDirty(1);\r\n }\r\n }\r\n /**\r\n * Returns the bounding box size\r\n * @see https://doc.babylonjs.com/how_to/reflect#using-local-cubemap-mode\r\n */\r\n public get boundingBoxSize(): Vector3 {\r\n return this._boundingBoxSize;\r\n }\r\n\r\n protected _rotationY: number = 0;\r\n\r\n /**\r\n * Sets texture matrix rotation angle around Y axis in radians.\r\n */\r\n @serialize(\"rotationY\")\r\n public set rotationY(value: number) {\r\n this._rotationY = value;\r\n this.setReflectionTextureMatrix(Matrix.RotationY(this._rotationY));\r\n }\r\n /**\r\n * Gets texture matrix rotation angle around Y axis radians.\r\n */\r\n public get rotationY(): number {\r\n return this._rotationY;\r\n }\r\n\r\n /**\r\n * Are mip maps generated for this texture or not.\r\n */\r\n public get noMipmap(): boolean {\r\n return this._noMipmap;\r\n }\r\n\r\n private _noMipmap: boolean;\r\n\r\n @serialize(\"files\")\r\n private _files: Nullable = null;\r\n\r\n @serialize(\"forcedExtension\")\r\n protected _forcedExtension: Nullable = null;\r\n\r\n @serialize(\"extensions\")\r\n private _extensions: Nullable = null;\r\n\r\n @serializeAsMatrix(\"textureMatrix\")\r\n private _textureMatrix: Matrix;\r\n\r\n private _format: number;\r\n private _createPolynomials: boolean;\r\n private _loaderOptions: any;\r\n\r\n /**\r\n * Creates a cube texture from an array of image urls\r\n * @param files defines an array of image urls\r\n * @param scene defines the hosting scene\r\n * @param noMipmap specifies if mip maps are not used\r\n * @returns a cube texture\r\n */\r\n public static CreateFromImages(files: string[], scene: Scene, noMipmap?: boolean): CubeTexture {\r\n let rootUrlKey = \"\";\r\n\r\n files.forEach((url) => rootUrlKey += url);\r\n\r\n return new CubeTexture(rootUrlKey, scene, null, noMipmap, files);\r\n }\r\n\r\n /**\r\n * Creates and return a texture created from prefilterd data by tools like IBL Baker or Lys.\r\n * @param url defines the url of the prefiltered texture\r\n * @param scene defines the scene the texture is attached to\r\n * @param forcedExtension defines the extension of the file if different from the url\r\n * @param createPolynomials defines whether or not to create polynomial harmonics from the texture data if necessary\r\n * @return the prefiltered texture\r\n */\r\n public static CreateFromPrefilteredData(url: string, scene: Scene, forcedExtension: any = null, createPolynomials: boolean = true) {\r\n const oldValue = scene.useDelayedTextureLoading;\r\n scene.useDelayedTextureLoading = false;\r\n\r\n const result = new CubeTexture(url, scene, null, false, null, null, null, undefined, true, forcedExtension, createPolynomials);\r\n\r\n scene.useDelayedTextureLoading = oldValue;\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Creates a cube texture to use with reflection for instance. It can be based upon dds or six images as well\r\n * as prefiltered data.\r\n * @param rootUrl defines the url of the texture or the root name of the six images\r\n * @param null defines the scene or engine the texture is attached to\r\n * @param extensions defines the suffixes add to the picture name in case six images are in use like _px.jpg...\r\n * @param noMipmap defines if mipmaps should be created or not\r\n * @param files defines the six files to load for the different faces in that order: px, py, pz, nx, ny, nz\r\n * @param onLoad defines a callback triggered at the end of the file load if no errors occured\r\n * @param onError defines a callback triggered in case of error during load\r\n * @param format defines the internal format to use for the texture once loaded\r\n * @param prefiltered defines whether or not the texture is created from prefiltered data\r\n * @param forcedExtension defines the extensions to use (force a special type of file to load) in case it is different from the file name\r\n * @param createPolynomials defines whether or not to create polynomial harmonics from the texture data if necessary\r\n * @param lodScale defines the scale applied to environment texture. This manages the range of LOD level used for IBL according to the roughness\r\n * @param lodOffset defines the offset applied to environment texture. This manages first LOD level used for IBL according to the roughness\r\n * @param loaderOptions options to be passed to the loader\r\n * @return the cube texture\r\n */\r\n constructor(rootUrl: string, sceneOrEngine: Scene | ThinEngine, extensions: Nullable = null, noMipmap: boolean = false, files: Nullable = null,\r\n onLoad: Nullable<() => void> = null, onError: Nullable<(message?: string, exception?: any) => void> = null, format: number = 5, prefiltered = false,\r\n forcedExtension: any = null, createPolynomials: boolean = false,\r\n lodScale: number = 0.8, lodOffset: number = 0, loaderOptions?: any) {\r\n super(sceneOrEngine);\r\n\r\n this.name = rootUrl;\r\n this.url = rootUrl;\r\n this._noMipmap = noMipmap;\r\n this.hasAlpha = false;\r\n this._format = format;\r\n this.isCube = true;\r\n this._textureMatrix = Matrix.Identity();\r\n this._createPolynomials = createPolynomials;\r\n this.coordinatesMode = Texture.CUBIC_MODE;\r\n this._extensions = extensions;\r\n this._files = files;\r\n this._forcedExtension = forcedExtension;\r\n this._loaderOptions = loaderOptions;\r\n\r\n if (!rootUrl && !files) {\r\n return;\r\n }\r\n\r\n const lastDot = rootUrl.lastIndexOf(\".\");\r\n const extension = forcedExtension ? forcedExtension : (lastDot > -1 ? rootUrl.substring(lastDot).toLowerCase() : \"\");\r\n const isDDS = (extension === \".dds\");\r\n const isEnv = (extension === \".env\");\r\n\r\n if (isEnv) {\r\n this.gammaSpace = false;\r\n this._prefiltered = false;\r\n this.anisotropicFilteringLevel = 1;\r\n }\r\n else {\r\n this._prefiltered = prefiltered;\r\n\r\n if (prefiltered) {\r\n this.gammaSpace = false;\r\n this.anisotropicFilteringLevel = 1;\r\n }\r\n }\r\n\r\n this._texture = this._getFromCache(rootUrl, noMipmap);\r\n\r\n if (!files) {\r\n if (!isEnv && !isDDS && !extensions) {\r\n extensions = [\"_px.jpg\", \"_py.jpg\", \"_pz.jpg\", \"_nx.jpg\", \"_ny.jpg\", \"_nz.jpg\"];\r\n }\r\n\r\n files = [];\r\n\r\n if (extensions) {\r\n\r\n for (var index = 0; index < extensions.length; index++) {\r\n files.push(rootUrl + extensions[index]);\r\n }\r\n }\r\n }\r\n\r\n this._files = files;\r\n\r\n let onLoadProcessing = () => {\r\n this.onLoadObservable.notifyObservers(this);\r\n if (onLoad) {\r\n onLoad();\r\n }\r\n };\r\n\r\n if (!this._texture) {\r\n const scene = this.getScene();\r\n if (!scene?.useDelayedTextureLoading) {\r\n if (prefiltered) {\r\n this._texture = this._getEngine()!.createPrefilteredCubeTexture(rootUrl, scene, lodScale, lodOffset, onLoad, onError, format, forcedExtension, this._createPolynomials);\r\n }\r\n else {\r\n this._texture = this._getEngine()!.createCubeTexture(rootUrl, scene, files, noMipmap, onLoad, onError, this._format, forcedExtension, false, lodScale, lodOffset, null, loaderOptions);\r\n }\r\n this._texture?.onLoadedObservable.add(() => this.onLoadObservable.notifyObservers(this));\r\n\r\n } else {\r\n this.delayLoadState = 4;\r\n }\r\n } else {\r\n if (this._texture.isReady) {\r\n Tools.SetImmediate(() => onLoadProcessing());\r\n } else {\r\n this._texture.onLoadedObservable.add(() => onLoadProcessing());\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Get the current class name of the texture useful for serialization or dynamic coding.\r\n * @returns \"CubeTexture\"\r\n */\r\n public getClassName(): string {\r\n return \"CubeTexture\";\r\n }\r\n\r\n /**\r\n * Update the url (and optional buffer) of this texture if url was null during construction.\r\n * @param url the url of the texture\r\n * @param forcedExtension defines the extension to use\r\n * @param onLoad callback called when the texture is loaded (defaults to null)\r\n * @param prefiltered Defines whether the updated texture is prefiltered or not\r\n */\r\n public updateURL(url: string, forcedExtension?: string, onLoad?: () => void, prefiltered: boolean = false): void {\r\n if (this.url) {\r\n this.releaseInternalTexture();\r\n this.getScene()?.markAllMaterialsAsDirty(1);\r\n }\r\n\r\n if (!this.name || StringTools.StartsWith(this.name, \"data:\")) {\r\n this.name = url;\r\n }\r\n this.url = url;\r\n this.delayLoadState = 4;\r\n this._prefiltered = prefiltered;\r\n if (this._prefiltered) {\r\n this.gammaSpace = false;\r\n this.anisotropicFilteringLevel = 1;\r\n }\r\n this._forcedExtension = forcedExtension || null;\r\n\r\n if (onLoad) {\r\n this._delayedOnLoad = onLoad;\r\n }\r\n\r\n this.delayLoad(forcedExtension);\r\n }\r\n\r\n /**\r\n * Delays loading of the cube texture\r\n * @param forcedExtension defines the extension to use\r\n */\r\n public delayLoad(forcedExtension?: string): void {\r\n if (this.delayLoadState !== 4) {\r\n return;\r\n }\r\n\r\n this.delayLoadState = 1;\r\n this._texture = this._getFromCache(this.url, this._noMipmap);\r\n\r\n if (!this._texture) {\r\n const scene = this.getScene();\r\n if (this._prefiltered) {\r\n this._texture = this._getEngine()!.createPrefilteredCubeTexture(this.url, scene, 0.8, 0, this._delayedOnLoad, undefined, this._format, forcedExtension, this._createPolynomials);\r\n }\r\n else {\r\n this._texture = this._getEngine()!.createCubeTexture(this.url, scene, this._files, this._noMipmap, this._delayedOnLoad, null, this._format, forcedExtension, false, 0, 0, null, this._loaderOptions);\r\n }\r\n\r\n this._texture?.onLoadedObservable.add(() => this.onLoadObservable.notifyObservers(this));\r\n }\r\n }\r\n\r\n /**\r\n * Returns the reflection texture matrix\r\n * @returns the reflection texture matrix\r\n */\r\n public getReflectionTextureMatrix(): Matrix {\r\n return this._textureMatrix;\r\n }\r\n\r\n /**\r\n * Sets the reflection texture matrix\r\n * @param value Reflection texture matrix\r\n */\r\n public setReflectionTextureMatrix(value: Matrix): void {\r\n if (value.updateFlag === this._textureMatrix.updateFlag) {\r\n return;\r\n }\r\n\r\n if (value.isIdentity() !== this._textureMatrix.isIdentity()) {\r\n this.getScene()?.markAllMaterialsAsDirty(1, (mat) => mat.getActiveTextures().indexOf(this) !== -1);\r\n }\r\n\r\n this._textureMatrix = value;\r\n }\r\n\r\n /**\r\n * Parses text to create a cube texture\r\n * @param parsedTexture define the serialized text to read from\r\n * @param scene defines the hosting scene\r\n * @param rootUrl defines the root url of the cube texture\r\n * @returns a cube texture\r\n */\r\n public static Parse(parsedTexture: any, scene: Scene, rootUrl: string): CubeTexture {\r\n var texture = SerializationHelper.Parse(() => {\r\n var prefiltered: boolean = false;\r\n if (parsedTexture.prefiltered) {\r\n prefiltered = parsedTexture.prefiltered;\r\n }\r\n return new CubeTexture(rootUrl + parsedTexture.name, scene, parsedTexture.extensions, false, parsedTexture.files || null, null, null, undefined, prefiltered, parsedTexture.forcedExtension);\r\n }, parsedTexture, scene);\r\n\r\n // Local Cubemaps\r\n if (parsedTexture.boundingBoxPosition) {\r\n texture.boundingBoxPosition = Vector3.FromArray(parsedTexture.boundingBoxPosition);\r\n }\r\n if (parsedTexture.boundingBoxSize) {\r\n texture.boundingBoxSize = Vector3.FromArray(parsedTexture.boundingBoxSize);\r\n }\r\n\r\n // Animations\r\n if (parsedTexture.animations) {\r\n for (var animationIndex = 0; animationIndex < parsedTexture.animations.length; animationIndex++) {\r\n var parsedAnimation = parsedTexture.animations[animationIndex];\r\n const internalClass = _TypeStore.GetClass(\"BABYLON.Animation\");\r\n if (internalClass) {\r\n texture.animations.push(internalClass.Parse(parsedAnimation));\r\n }\r\n }\r\n }\r\n\r\n return texture;\r\n }\r\n\r\n /**\r\n * Makes a clone, or deep copy, of the cube texture\r\n * @returns a new cube texture\r\n */\r\n public clone(): CubeTexture {\r\n let uniqueId = 0;\r\n\r\n let newCubeTexture = SerializationHelper.Clone(() => {\r\n const cubeTexture = new CubeTexture(this.url, this.getScene() || this._getEngine()!, this._extensions, this._noMipmap, this._files);\r\n uniqueId = cubeTexture.uniqueId;\r\n\r\n return cubeTexture;\r\n }, this);\r\n\r\n newCubeTexture.uniqueId = uniqueId;\r\n\r\n return newCubeTexture;\r\n }\r\n}\r\n\r\nTexture._CubeTextureParser = CubeTexture.Parse;\r\n// Some exporters relies on Tools.Instantiate\r\n_TypeStore.RegisteredTypes[\"BABYLON.CubeTexture\"] = CubeTexture;\r\n","import { Texture } from \"./texture\";\r\n\r\nimport \"../../Engines/Extensions/engine.rawTexture\";\r\nimport { Nullable } from '../../types';\r\nimport { ThinEngine } from '../../Engines/thinEngine';\r\n\r\ndeclare type Scene = import(\"../../scene\").Scene;\r\n\r\n/**\r\n * Raw texture can help creating a texture directly from an array of data.\r\n * This can be super useful if you either get the data from an uncompressed source or\r\n * if you wish to create your texture pixel by pixel.\r\n */\r\nexport class RawTexture extends Texture {\r\n /**\r\n * Instantiates a new RawTexture.\r\n * Raw texture can help creating a texture directly from an array of data.\r\n * This can be super useful if you either get the data from an uncompressed source or\r\n * if you wish to create your texture pixel by pixel.\r\n * @param data define the array of data to use to create the texture\r\n * @param width define the width of the texture\r\n * @param height define the height of the texture\r\n * @param format define the format of the data (RGB, RGBA... Engine.TEXTUREFORMAT_xxx)\r\n * @param sceneOrEngine defines the scene or engine the texture will belong to\r\n * @param generateMipMaps define whether mip maps should be generated or not\r\n * @param invertY define if the data should be flipped on Y when uploaded to the GPU\r\n * @param samplingMode define the texture sampling mode (Texture.xxx_SAMPLINGMODE)\r\n * @param type define the format of the data (int, float... Engine.TEXTURETYPE_xxx)\r\n */\r\n constructor(data: ArrayBufferView, width: number, height: number,\r\n /**\r\n * Define the format of the data (RGB, RGBA... Engine.TEXTUREFORMAT_xxx)\r\n */\r\n public format: number,\r\n sceneOrEngine: Nullable, generateMipMaps: boolean = true, invertY: boolean = false, samplingMode: number = 3, type: number = 0) {\r\n super(null, sceneOrEngine, !generateMipMaps, invertY);\r\n\r\n if (!this._engine) {\r\n return;\r\n }\r\n\r\n this._texture = this._engine.createRawTexture(data, width, height, format, generateMipMaps, invertY, samplingMode, null, type);\r\n\r\n this.wrapU = Texture.CLAMP_ADDRESSMODE;\r\n this.wrapV = Texture.CLAMP_ADDRESSMODE;\r\n }\r\n\r\n /**\r\n * Updates the texture underlying data.\r\n * @param data Define the new data of the texture\r\n */\r\n public update(data: ArrayBufferView): void {\r\n this._getEngine()!.updateRawTexture(this._texture, data, this._texture!.format, this._texture!.invertY, null, this._texture!.type);\r\n }\r\n\r\n /**\r\n * Creates a luminance texture from some data.\r\n * @param data Define the texture data\r\n * @param width Define the width of the texture\r\n * @param height Define the height of the texture\r\n * @param sceneOrEngine defines the scene or engine the texture will belong to\r\n * @param generateMipMaps Define whether or not to create mip maps for the texture\r\n * @param invertY define if the data should be flipped on Y when uploaded to the GPU\r\n * @param samplingMode define the texture sampling mode (Texture.xxx_SAMPLINGMODE)\r\n * @returns the luminance texture\r\n */\r\n public static CreateLuminanceTexture(data: ArrayBufferView, width: number, height: number, sceneOrEngine: Nullable, generateMipMaps: boolean = true, invertY: boolean = false, samplingMode: number = 3): RawTexture {\r\n return new RawTexture(data, width, height, 1, sceneOrEngine, generateMipMaps, invertY, samplingMode);\r\n }\r\n\r\n /**\r\n * Creates a luminance alpha texture from some data.\r\n * @param data Define the texture data\r\n * @param width Define the width of the texture\r\n * @param height Define the height of the texture\r\n * @param sceneOrEngine defines the scene or engine the texture will belong to\r\n * @param generateMipMaps Define whether or not to create mip maps for the texture\r\n * @param invertY define if the data should be flipped on Y when uploaded to the GPU\r\n * @param samplingMode define the texture sampling mode (Texture.xxx_SAMPLINGMODE)\r\n * @returns the luminance alpha texture\r\n */\r\n public static CreateLuminanceAlphaTexture(data: ArrayBufferView, width: number, height: number, sceneOrEngine: Nullable, generateMipMaps: boolean = true, invertY: boolean = false, samplingMode: number = 3): RawTexture {\r\n return new RawTexture(data, width, height, 2, sceneOrEngine, generateMipMaps, invertY, samplingMode);\r\n }\r\n\r\n /**\r\n * Creates an alpha texture from some data.\r\n * @param data Define the texture data\r\n * @param width Define the width of the texture\r\n * @param height Define the height of the texture\r\n * @param sceneOrEngine defines the scene or engine the texture will belong to\r\n * @param generateMipMaps Define whether or not to create mip maps for the texture\r\n * @param invertY define if the data should be flipped on Y when uploaded to the GPU\r\n * @param samplingMode define the texture sampling mode (Texture.xxx_SAMPLINGMODE)\r\n * @returns the alpha texture\r\n */\r\n public static CreateAlphaTexture(data: ArrayBufferView, width: number, height: number, sceneOrEngine: Nullable, generateMipMaps: boolean = true, invertY: boolean = false, samplingMode: number = 3): RawTexture {\r\n return new RawTexture(data, width, height, 0, sceneOrEngine, generateMipMaps, invertY, samplingMode);\r\n }\r\n\r\n /**\r\n * Creates a RGB texture from some data.\r\n * @param data Define the texture data\r\n * @param width Define the width of the texture\r\n * @param height Define the height of the texture\r\n * @param sceneOrEngine defines the scene or engine the texture will belong to\r\n * @param generateMipMaps Define whether or not to create mip maps for the texture\r\n * @param invertY define if the data should be flipped on Y when uploaded to the GPU\r\n * @param samplingMode define the texture sampling mode (Texture.xxx_SAMPLINGMODE)\r\n * @param type define the format of the data (int, float... Engine.TEXTURETYPE_xxx)\r\n * @returns the RGB alpha texture\r\n */\r\n public static CreateRGBTexture(data: ArrayBufferView, width: number, height: number, sceneOrEngine: Nullable, generateMipMaps: boolean = true, invertY: boolean = false, samplingMode: number = 3, type: number = 0): RawTexture {\r\n return new RawTexture(data, width, height, 4, sceneOrEngine, generateMipMaps, invertY, samplingMode, type);\r\n }\r\n\r\n /**\r\n * Creates a RGBA texture from some data.\r\n * @param data Define the texture data\r\n * @param width Define the width of the texture\r\n * @param height Define the height of the texture\r\n * @param sceneOrEngine defines the scene or engine the texture will belong to\r\n * @param generateMipMaps Define whether or not to create mip maps for the texture\r\n * @param invertY define if the data should be flipped on Y when uploaded to the GPU\r\n * @param samplingMode define the texture sampling mode (Texture.xxx_SAMPLINGMODE)\r\n * @param type define the format of the data (int, float... Engine.TEXTURETYPE_xxx)\r\n * @returns the RGBA texture\r\n */\r\n public static CreateRGBATexture(data: ArrayBufferView, width: number, height: number, sceneOrEngine: Nullable, generateMipMaps: boolean = true, invertY: boolean = false, samplingMode: number = 3, type: number = 0): RawTexture {\r\n return new RawTexture(data, width, height, 5, sceneOrEngine, generateMipMaps, invertY, samplingMode, type);\r\n }\r\n\r\n /**\r\n * Creates a R texture from some data.\r\n * @param data Define the texture data\r\n * @param width Define the width of the texture\r\n * @param height Define the height of the texture\r\n * @param sceneOrEngine defines the scene or engine the texture will belong to\r\n * @param generateMipMaps Define whether or not to create mip maps for the texture\r\n * @param invertY define if the data should be flipped on Y when uploaded to the GPU\r\n * @param samplingMode define the texture sampling mode (Texture.xxx_SAMPLINGMODE)\r\n * @param type define the format of the data (int, float... Engine.TEXTURETYPE_xxx)\r\n * @returns the R texture\r\n */\r\n public static CreateRTexture(data: ArrayBufferView, width: number, height: number, sceneOrEngine: Nullable, generateMipMaps: boolean = true, invertY: boolean = false, samplingMode: number = Texture.TRILINEAR_SAMPLINGMODE, type: number = 1): RawTexture {\r\n return new RawTexture(data, width, height, 6, sceneOrEngine, generateMipMaps, invertY, samplingMode, type);\r\n }\r\n}\r\n","import { Nullable } from \"../types\";\r\nimport { Scene } from \"../scene\";\r\nimport { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { SubMesh } from \"../Meshes/subMesh\";\r\nimport { BaseTexture } from \"../Materials/Textures/baseTexture\";\r\nimport { Material } from \"../Materials/material\";\r\nimport { Tags } from \"../Misc/tags\";\r\nimport { _TypeStore } from '../Misc/typeStore';\r\n\r\n/**\r\n * A multi-material is used to apply different materials to different parts of the same object without the need of\r\n * separate meshes. This can be use to improve performances.\r\n * @see https://doc.babylonjs.com/how_to/multi_materials\r\n */\r\nexport class MultiMaterial extends Material {\r\n private _subMaterials: Nullable[];\r\n\r\n /**\r\n * Gets or Sets the list of Materials used within the multi material.\r\n * They need to be ordered according to the submeshes order in the associated mesh\r\n */\r\n public get subMaterials(): Nullable[] {\r\n return this._subMaterials;\r\n }\r\n\r\n public set subMaterials(value: Nullable[]) {\r\n this._subMaterials = value;\r\n this._hookArray(value);\r\n }\r\n\r\n /**\r\n * Function used to align with Node.getChildren()\r\n * @returns the list of Materials used within the multi material\r\n */\r\n public getChildren(): Nullable[] {\r\n return this.subMaterials;\r\n }\r\n\r\n /**\r\n * Instantiates a new Multi Material\r\n * A multi-material is used to apply different materials to different parts of the same object without the need of\r\n * separate meshes. This can be use to improve performances.\r\n * @see https://doc.babylonjs.com/how_to/multi_materials\r\n * @param name Define the name in the scene\r\n * @param scene Define the scene the material belongs to\r\n */\r\n constructor(name: string, scene: Scene) {\r\n super(name, scene, true);\r\n\r\n scene.multiMaterials.push(this);\r\n\r\n this.subMaterials = new Array();\r\n\r\n this._storeEffectOnSubMeshes = true; // multimaterial is considered like a push material\r\n }\r\n\r\n private _hookArray(array: Nullable[]): void {\r\n var oldPush = array.push;\r\n array.push = (...items: Nullable[]) => {\r\n var result = oldPush.apply(array, items);\r\n\r\n this._markAllSubMeshesAsTexturesDirty();\r\n\r\n return result;\r\n };\r\n\r\n var oldSplice = array.splice;\r\n array.splice = (index: number, deleteCount?: number) => {\r\n var deleted = oldSplice.apply(array, [index, deleteCount]);\r\n\r\n this._markAllSubMeshesAsTexturesDirty();\r\n\r\n return deleted;\r\n };\r\n }\r\n\r\n /**\r\n * Get one of the submaterial by its index in the submaterials array\r\n * @param index The index to look the sub material at\r\n * @returns The Material if the index has been defined\r\n */\r\n public getSubMaterial(index: number): Nullable {\r\n if (index < 0 || index >= this.subMaterials.length) {\r\n return this.getScene().defaultMaterial;\r\n }\r\n\r\n return this.subMaterials[index];\r\n }\r\n\r\n /**\r\n * Get the list of active textures for the whole sub materials list.\r\n * @returns All the textures that will be used during the rendering\r\n */\r\n public getActiveTextures(): BaseTexture[] {\r\n return super.getActiveTextures().concat(...this.subMaterials.map((subMaterial) => {\r\n if (subMaterial) {\r\n return subMaterial.getActiveTextures();\r\n } else {\r\n return [];\r\n }\r\n }));\r\n }\r\n\r\n /**\r\n * Specifies if any sub-materials of this multi-material use a given texture.\r\n * @param texture Defines the texture to check against this multi-material's sub-materials.\r\n * @returns A boolean specifying if any sub-material of this multi-material uses the texture.\r\n */\r\n public hasTexture(texture: BaseTexture): boolean {\r\n if (super.hasTexture(texture)) {\r\n return true;\r\n }\r\n\r\n for (let i = 0; i < this.subMaterials.length; i++) {\r\n if (this.subMaterials[i]?.hasTexture(texture)) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Gets the current class name of the material e.g. \"MultiMaterial\"\r\n * Mainly use in serialization.\r\n * @returns the class name\r\n */\r\n public getClassName(): string {\r\n return \"MultiMaterial\";\r\n }\r\n\r\n /**\r\n * Checks if the material is ready to render the requested sub mesh\r\n * @param mesh Define the mesh the submesh belongs to\r\n * @param subMesh Define the sub mesh to look readyness for\r\n * @param useInstances Define whether or not the material is used with instances\r\n * @returns true if ready, otherwise false\r\n */\r\n public isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean {\r\n for (var index = 0; index < this.subMaterials.length; index++) {\r\n var subMaterial = this.subMaterials[index];\r\n if (subMaterial) {\r\n if (subMaterial._storeEffectOnSubMeshes) {\r\n if (!subMaterial.isReadyForSubMesh(mesh, subMesh, useInstances)) {\r\n return false;\r\n }\r\n continue;\r\n }\r\n\r\n if (!subMaterial.isReady(mesh)) {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Clones the current material and its related sub materials\r\n * @param name Define the name of the newly cloned material\r\n * @param cloneChildren Define if submaterial will be cloned or shared with the parent instance\r\n * @returns the cloned material\r\n */\r\n public clone(name: string, cloneChildren?: boolean): MultiMaterial {\r\n var newMultiMaterial = new MultiMaterial(name, this.getScene());\r\n\r\n for (var index = 0; index < this.subMaterials.length; index++) {\r\n var subMaterial: Nullable = null;\r\n let current = this.subMaterials[index];\r\n if (cloneChildren && current) {\r\n subMaterial = current.clone(name + \"-\" + current.name);\r\n } else {\r\n subMaterial = this.subMaterials[index];\r\n }\r\n newMultiMaterial.subMaterials.push(subMaterial);\r\n }\r\n\r\n return newMultiMaterial;\r\n }\r\n\r\n /**\r\n * Serializes the materials into a JSON representation.\r\n * @returns the JSON representation\r\n */\r\n public serialize(): any {\r\n var serializationObject: any = {};\r\n\r\n serializationObject.name = this.name;\r\n serializationObject.id = this.id;\r\n if (Tags) {\r\n serializationObject.tags = Tags.GetTags(this);\r\n }\r\n serializationObject.materials = [];\r\n\r\n for (var matIndex = 0; matIndex < this.subMaterials.length; matIndex++) {\r\n var subMat = this.subMaterials[matIndex];\r\n\r\n if (subMat) {\r\n serializationObject.materials.push(subMat.id);\r\n } else {\r\n serializationObject.materials.push(null);\r\n }\r\n }\r\n\r\n return serializationObject;\r\n }\r\n\r\n /**\r\n * Dispose the material and release its associated resources\r\n * @param forceDisposeEffect Define if we want to force disposing the associated effect (if false the shader is not released and could be reuse later on)\r\n * @param forceDisposeTextures Define if we want to force disposing the associated textures (if false, they will not be disposed and can still be use elsewhere in the app)\r\n * @param forceDisposeChildren Define if we want to force disposing the associated submaterials (if false, they will not be disposed and can still be use elsewhere in the app)\r\n */\r\n public dispose(forceDisposeEffect?: boolean, forceDisposeTextures?: boolean, forceDisposeChildren?: boolean): void {\r\n var scene = this.getScene();\r\n if (!scene) {\r\n return;\r\n }\r\n\r\n if (forceDisposeChildren) {\r\n for (var index = 0; index < this.subMaterials.length; index++) {\r\n var subMaterial = this.subMaterials[index];\r\n if (subMaterial) {\r\n subMaterial.dispose(forceDisposeEffect, forceDisposeTextures);\r\n }\r\n }\r\n }\r\n\r\n var index = scene.multiMaterials.indexOf(this);\r\n if (index >= 0) {\r\n scene.multiMaterials.splice(index, 1);\r\n }\r\n\r\n super.dispose(forceDisposeEffect, forceDisposeTextures);\r\n }\r\n\r\n /**\r\n * Creates a MultiMaterial from parsed MultiMaterial data.\r\n * @param parsedMultiMaterial defines parsed MultiMaterial data.\r\n * @param scene defines the hosting scene\r\n * @returns a new MultiMaterial\r\n */\r\n public static ParseMultiMaterial(parsedMultiMaterial: any, scene: Scene): MultiMaterial {\r\n var multiMaterial = new MultiMaterial(parsedMultiMaterial.name, scene);\r\n\r\n multiMaterial.id = parsedMultiMaterial.id;\r\n\r\n if (Tags) {\r\n Tags.AddTagsTo(multiMaterial, parsedMultiMaterial.tags);\r\n }\r\n\r\n for (var matIndex = 0; matIndex < parsedMultiMaterial.materials.length; matIndex++) {\r\n var subMatId = parsedMultiMaterial.materials[matIndex];\r\n\r\n if (subMatId) {\r\n // If the same multimaterial is loaded twice, the 2nd multimaterial needs to reference the latest material by that id which\r\n // is why this lookup should use getLastMaterialByID instead of getMaterialByID\r\n multiMaterial.subMaterials.push(scene.getLastMaterialByID(subMatId));\r\n } else {\r\n multiMaterial.subMaterials.push(null);\r\n }\r\n }\r\n\r\n return multiMaterial;\r\n }\r\n}\r\n\r\n_TypeStore.RegisteredTypes[\"BABYLON.MultiMaterial\"] = MultiMaterial;\r\n","import { serialize, serializeAsVector3, serializeAsMeshReference } from \"../Misc/decorators\";\r\nimport { Nullable } from \"../types\";\r\nimport { Camera } from \"./camera\";\r\nimport { Scene } from \"../scene\";\r\nimport { Quaternion, Matrix, Vector3, Vector2, TmpVectors } from \"../Maths/math.vector\";\r\nimport { Epsilon } from '../Maths/math.constants';\r\nimport { Axis } from '../Maths/math.axis';\r\n/**\r\n * A target camera takes a mesh or position as a target and continues to look at it while it moves.\r\n * This is the base of the follow, arc rotate cameras and Free camera\r\n * @see https://doc.babylonjs.com/features/cameras\r\n */\r\nexport class TargetCamera extends Camera {\r\n private static _RigCamTransformMatrix = new Matrix();\r\n private static _TargetTransformMatrix = new Matrix();\r\n private static _TargetFocalPoint = new Vector3();\r\n\r\n private _tmpUpVector = Vector3.Zero();\r\n private _tmpTargetVector = Vector3.Zero();\r\n\r\n /**\r\n * Define the current direction the camera is moving to\r\n */\r\n public cameraDirection = new Vector3(0, 0, 0);\r\n /**\r\n * Define the current rotation the camera is rotating to\r\n */\r\n public cameraRotation = new Vector2(0, 0);\r\n\r\n /** Gets or sets a boolean indicating that the scaling of the parent hierarchy will not be taken in account by the camera */\r\n public ignoreParentScaling = false;\r\n\r\n /**\r\n * When set, the up vector of the camera will be updated by the rotation of the camera\r\n */\r\n public updateUpVectorFromRotation = false;\r\n private _tmpQuaternion = new Quaternion();\r\n\r\n /**\r\n * Define the current rotation of the camera\r\n */\r\n @serializeAsVector3()\r\n public rotation = new Vector3(0, 0, 0);\r\n\r\n /**\r\n * Define the current rotation of the camera as a quaternion to prevent Gimbal lock\r\n */\r\n public rotationQuaternion: Quaternion;\r\n\r\n /**\r\n * Define the current speed of the camera\r\n */\r\n @serialize()\r\n public speed = 2.0;\r\n\r\n /**\r\n * Add constraint to the camera to prevent it to move freely in all directions and\r\n * around all axis.\r\n */\r\n public noRotationConstraint = false;\r\n\r\n /**\r\n * Reverses mouselook direction to 'natural' panning as opposed to traditional direct\r\n * panning\r\n */\r\n public invertRotation = false;\r\n\r\n /**\r\n * Speed multiplier for inverse camera panning\r\n */\r\n public inverseRotationSpeed = 0.2;\r\n\r\n /**\r\n * Define the current target of the camera as an object or a position.\r\n */\r\n @serializeAsMeshReference(\"lockedTargetId\")\r\n public lockedTarget: any = null;\r\n\r\n /** @hidden */\r\n public _currentTarget = Vector3.Zero();\r\n /** @hidden */\r\n public _initialFocalDistance = 1;\r\n /** @hidden */\r\n public _viewMatrix = Matrix.Zero();\r\n /** @hidden */\r\n public _camMatrix = Matrix.Zero();\r\n /** @hidden */\r\n public _cameraTransformMatrix = Matrix.Zero();\r\n /** @hidden */\r\n public _cameraRotationMatrix = Matrix.Zero();\r\n\r\n /** @hidden */\r\n public _referencePoint = new Vector3(0, 0, 1);\r\n /** @hidden */\r\n public _transformedReferencePoint = Vector3.Zero();\r\n\r\n /** @hidden */\r\n public _reset: () => void;\r\n\r\n private _defaultUp = Vector3.Up();\r\n\r\n /**\r\n * Instantiates a target camera that takes a mesh or position as a target and continues to look at it while it moves.\r\n * This is the base of the follow, arc rotate cameras and Free camera\r\n * @see https://doc.babylonjs.com/features/cameras\r\n * @param name Defines the name of the camera in the scene\r\n * @param position Defines the start position of the camera in the scene\r\n * @param scene Defines the scene the camera belongs to\r\n * @param setActiveOnSceneIfNoneActive Defines wheter the camera should be marked as active if not other active cameras have been defined\r\n */\r\n constructor(name: string, position: Vector3, scene: Scene, setActiveOnSceneIfNoneActive = true) {\r\n super(name, position, scene, setActiveOnSceneIfNoneActive);\r\n }\r\n\r\n /**\r\n * Gets the position in front of the camera at a given distance.\r\n * @param distance The distance from the camera we want the position to be\r\n * @returns the position\r\n */\r\n public getFrontPosition(distance: number): Vector3 {\r\n this.getWorldMatrix();\r\n var direction = this.getTarget().subtract(this.position);\r\n direction.normalize();\r\n direction.scaleInPlace(distance);\r\n return this.globalPosition.add(direction);\r\n }\r\n\r\n /** @hidden */\r\n public _getLockedTargetPosition(): Nullable {\r\n if (!this.lockedTarget) {\r\n return null;\r\n }\r\n\r\n if (this.lockedTarget.absolutePosition) {\r\n this.lockedTarget.computeWorldMatrix();\r\n }\r\n\r\n return this.lockedTarget.absolutePosition || this.lockedTarget;\r\n }\r\n\r\n private _storedPosition: Vector3;\r\n private _storedRotation: Vector3;\r\n private _storedRotationQuaternion: Quaternion;\r\n\r\n /**\r\n * Store current camera state of the camera (fov, position, rotation, etc..)\r\n * @returns the camera\r\n */\r\n public storeState(): Camera {\r\n this._storedPosition = this.position.clone();\r\n this._storedRotation = this.rotation.clone();\r\n if (this.rotationQuaternion) {\r\n this._storedRotationQuaternion = this.rotationQuaternion.clone();\r\n }\r\n\r\n return super.storeState();\r\n }\r\n\r\n /**\r\n * Restored camera state. You must call storeState() first\r\n * @returns whether it was successful or not\r\n * @hidden\r\n */\r\n public _restoreStateValues(): boolean {\r\n if (!super._restoreStateValues()) {\r\n return false;\r\n }\r\n\r\n this.position = this._storedPosition.clone();\r\n this.rotation = this._storedRotation.clone();\r\n\r\n if (this.rotationQuaternion) {\r\n this.rotationQuaternion = this._storedRotationQuaternion.clone();\r\n }\r\n\r\n this.cameraDirection.copyFromFloats(0, 0, 0);\r\n this.cameraRotation.copyFromFloats(0, 0);\r\n\r\n return true;\r\n }\r\n\r\n /** @hidden */\r\n public _initCache() {\r\n super._initCache();\r\n this._cache.lockedTarget = new Vector3(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE);\r\n this._cache.rotation = new Vector3(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE);\r\n this._cache.rotationQuaternion = new Quaternion(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE);\r\n }\r\n\r\n /** @hidden */\r\n public _updateCache(ignoreParentClass?: boolean): void {\r\n if (!ignoreParentClass) {\r\n super._updateCache();\r\n }\r\n\r\n var lockedTargetPosition = this._getLockedTargetPosition();\r\n if (!lockedTargetPosition) {\r\n this._cache.lockedTarget = null;\r\n }\r\n else {\r\n if (!this._cache.lockedTarget) {\r\n this._cache.lockedTarget = lockedTargetPosition.clone();\r\n }\r\n else {\r\n this._cache.lockedTarget.copyFrom(lockedTargetPosition);\r\n }\r\n }\r\n\r\n this._cache.rotation.copyFrom(this.rotation);\r\n if (this.rotationQuaternion) {\r\n this._cache.rotationQuaternion.copyFrom(this.rotationQuaternion);\r\n }\r\n }\r\n\r\n // Synchronized\r\n /** @hidden */\r\n public _isSynchronizedViewMatrix(): boolean {\r\n if (!super._isSynchronizedViewMatrix()) {\r\n return false;\r\n }\r\n\r\n var lockedTargetPosition = this._getLockedTargetPosition();\r\n\r\n return (this._cache.lockedTarget ? this._cache.lockedTarget.equals(lockedTargetPosition) : !lockedTargetPosition)\r\n && (this.rotationQuaternion ? this.rotationQuaternion.equals(this._cache.rotationQuaternion) : this._cache.rotation.equals(this.rotation));\r\n }\r\n\r\n // Methods\r\n /** @hidden */\r\n public _computeLocalCameraSpeed(): number {\r\n var engine = this.getEngine();\r\n return this.speed * Math.sqrt((engine.getDeltaTime() / (engine.getFps() * 100.0)));\r\n }\r\n\r\n // Target\r\n\r\n /**\r\n * Defines the target the camera should look at.\r\n * @param target Defines the new target as a Vector or a mesh\r\n */\r\n public setTarget(target: Vector3): void {\r\n this.upVector.normalize();\r\n\r\n this._initialFocalDistance = target.subtract(this.position).length();\r\n\r\n if (this.position.z === target.z) {\r\n this.position.z += Epsilon;\r\n }\r\n\r\n this._referencePoint.normalize().scaleInPlace(this._initialFocalDistance);\r\n\r\n Matrix.LookAtLHToRef(this.position, target, this._defaultUp, this._camMatrix);\r\n this._camMatrix.invert();\r\n\r\n this.rotation.x = Math.atan(this._camMatrix.m[6] / this._camMatrix.m[10]);\r\n\r\n var vDir = target.subtract(this.position);\r\n\r\n if (vDir.x >= 0.0) {\r\n this.rotation.y = (-Math.atan(vDir.z / vDir.x) + Math.PI / 2.0);\r\n } else {\r\n this.rotation.y = (-Math.atan(vDir.z / vDir.x) - Math.PI / 2.0);\r\n }\r\n\r\n this.rotation.z = 0;\r\n\r\n if (isNaN(this.rotation.x)) {\r\n this.rotation.x = 0;\r\n }\r\n\r\n if (isNaN(this.rotation.y)) {\r\n this.rotation.y = 0;\r\n }\r\n\r\n if (isNaN(this.rotation.z)) {\r\n this.rotation.z = 0;\r\n }\r\n\r\n if (this.rotationQuaternion) {\r\n Quaternion.RotationYawPitchRollToRef(this.rotation.y, this.rotation.x, this.rotation.z, this.rotationQuaternion);\r\n }\r\n }\r\n\r\n /**\r\n * Defines the target point of the camera.\r\n * The camera looks towards it form the radius distance.\r\n */\r\n public get target(): Vector3 {\r\n return this.getTarget();\r\n }\r\n public set target(value: Vector3) {\r\n this.setTarget(value);\r\n }\r\n\r\n /**\r\n * Return the current target position of the camera. This value is expressed in local space.\r\n * @returns the target position\r\n */\r\n public getTarget(): Vector3 {\r\n return this._currentTarget;\r\n }\r\n\r\n /** @hidden */\r\n public _decideIfNeedsToMove(): boolean {\r\n return Math.abs(this.cameraDirection.x) > 0 || Math.abs(this.cameraDirection.y) > 0 || Math.abs(this.cameraDirection.z) > 0;\r\n }\r\n\r\n /** @hidden */\r\n public _updatePosition(): void {\r\n if (this.parent) {\r\n this.parent.getWorldMatrix().invertToRef(TmpVectors.Matrix[0]);\r\n Vector3.TransformNormalToRef(this.cameraDirection, TmpVectors.Matrix[0], TmpVectors.Vector3[0]);\r\n this.position.addInPlace(TmpVectors.Vector3[0]);\r\n return;\r\n }\r\n this.position.addInPlace(this.cameraDirection);\r\n }\r\n\r\n /** @hidden */\r\n public _checkInputs(): void {\r\n var directionMultiplier = this.invertRotation ? -this.inverseRotationSpeed : 1.0;\r\n var needToMove = this._decideIfNeedsToMove();\r\n var needToRotate = Math.abs(this.cameraRotation.x) > 0 || Math.abs(this.cameraRotation.y) > 0;\r\n\r\n // Move\r\n if (needToMove) {\r\n this._updatePosition();\r\n }\r\n\r\n // Rotate\r\n if (needToRotate) {\r\n //rotate, if quaternion is set and rotation was used\r\n if (this.rotationQuaternion) {\r\n this.rotationQuaternion.toEulerAnglesToRef(this.rotation);\r\n }\r\n\r\n this.rotation.x += this.cameraRotation.x * directionMultiplier;\r\n this.rotation.y += this.cameraRotation.y * directionMultiplier;\r\n\r\n // Apply constraints\r\n if (!this.noRotationConstraint) {\r\n var limit = 1.570796;\r\n\r\n if (this.rotation.x > limit) {\r\n this.rotation.x = limit;\r\n }\r\n if (this.rotation.x < -limit) {\r\n this.rotation.x = -limit;\r\n }\r\n }\r\n\r\n //rotate, if quaternion is set and rotation was used\r\n if (this.rotationQuaternion) {\r\n var len = this.rotation.lengthSquared();\r\n if (len) {\r\n Quaternion.RotationYawPitchRollToRef(this.rotation.y, this.rotation.x, this.rotation.z, this.rotationQuaternion);\r\n }\r\n }\r\n }\r\n\r\n // Inertia\r\n if (needToMove) {\r\n if (Math.abs(this.cameraDirection.x) < this.speed * Epsilon) {\r\n this.cameraDirection.x = 0;\r\n }\r\n\r\n if (Math.abs(this.cameraDirection.y) < this.speed * Epsilon) {\r\n this.cameraDirection.y = 0;\r\n }\r\n\r\n if (Math.abs(this.cameraDirection.z) < this.speed * Epsilon) {\r\n this.cameraDirection.z = 0;\r\n }\r\n\r\n this.cameraDirection.scaleInPlace(this.inertia);\r\n }\r\n if (needToRotate) {\r\n if (Math.abs(this.cameraRotation.x) < this.speed * Epsilon) {\r\n this.cameraRotation.x = 0;\r\n }\r\n\r\n if (Math.abs(this.cameraRotation.y) < this.speed * Epsilon) {\r\n this.cameraRotation.y = 0;\r\n }\r\n this.cameraRotation.scaleInPlace(this.inertia);\r\n }\r\n\r\n super._checkInputs();\r\n }\r\n\r\n protected _updateCameraRotationMatrix() {\r\n if (this.rotationQuaternion) {\r\n this.rotationQuaternion.toRotationMatrix(this._cameraRotationMatrix);\r\n } else {\r\n Matrix.RotationYawPitchRollToRef(this.rotation.y, this.rotation.x, this.rotation.z, this._cameraRotationMatrix);\r\n }\r\n }\r\n\r\n /**\r\n * Update the up vector to apply the rotation of the camera (So if you changed the camera rotation.z this will let you update the up vector as well)\r\n * @returns the current camera\r\n */\r\n private _rotateUpVectorWithCameraRotationMatrix(): TargetCamera {\r\n Vector3.TransformNormalToRef(this._defaultUp, this._cameraRotationMatrix, this.upVector);\r\n return this;\r\n }\r\n\r\n private _cachedRotationZ = 0;\r\n private _cachedQuaternionRotationZ = 0;\r\n /** @hidden */\r\n public _getViewMatrix(): Matrix {\r\n if (this.lockedTarget) {\r\n this.setTarget(this._getLockedTargetPosition()!);\r\n }\r\n\r\n // Compute\r\n this._updateCameraRotationMatrix();\r\n\r\n // Apply the changed rotation to the upVector\r\n if (this.rotationQuaternion && this._cachedQuaternionRotationZ != this.rotationQuaternion.z) {\r\n this._rotateUpVectorWithCameraRotationMatrix();\r\n this._cachedQuaternionRotationZ = this.rotationQuaternion.z;\r\n } else if (this._cachedRotationZ != this.rotation.z) {\r\n this._rotateUpVectorWithCameraRotationMatrix();\r\n this._cachedRotationZ = this.rotation.z;\r\n }\r\n\r\n Vector3.TransformCoordinatesToRef(this._referencePoint, this._cameraRotationMatrix, this._transformedReferencePoint);\r\n\r\n // Computing target and final matrix\r\n this.position.addToRef(this._transformedReferencePoint, this._currentTarget);\r\n if (this.updateUpVectorFromRotation) {\r\n if (this.rotationQuaternion) {\r\n Axis.Y.rotateByQuaternionToRef(this.rotationQuaternion, this.upVector);\r\n } else {\r\n Quaternion.FromEulerVectorToRef(this.rotation, this._tmpQuaternion);\r\n Axis.Y.rotateByQuaternionToRef(this._tmpQuaternion, this.upVector);\r\n }\r\n }\r\n this._computeViewMatrix(this.position, this._currentTarget, this.upVector);\r\n return this._viewMatrix;\r\n }\r\n\r\n protected _computeViewMatrix(position: Vector3, target: Vector3, up: Vector3): void {\r\n if (this.ignoreParentScaling) {\r\n if (this.parent) {\r\n const parentWorldMatrix = this.parent.getWorldMatrix();\r\n Vector3.TransformCoordinatesToRef(position, parentWorldMatrix, this._globalPosition);\r\n Vector3.TransformCoordinatesToRef(target, parentWorldMatrix, this._tmpTargetVector);\r\n Vector3.TransformNormalToRef(up, parentWorldMatrix, this._tmpUpVector);\r\n this._markSyncedWithParent();\r\n } else {\r\n this._globalPosition.copyFrom(position);\r\n this._tmpTargetVector.copyFrom(target);\r\n this._tmpUpVector.copyFrom(up);\r\n }\r\n\r\n if (this.getScene().useRightHandedSystem) {\r\n Matrix.LookAtRHToRef(this._globalPosition, this._tmpTargetVector, this._tmpUpVector, this._viewMatrix);\r\n } else {\r\n Matrix.LookAtLHToRef(this._globalPosition, this._tmpTargetVector, this._tmpUpVector, this._viewMatrix);\r\n }\r\n return;\r\n }\r\n\r\n if (this.getScene().useRightHandedSystem) {\r\n Matrix.LookAtRHToRef(position, target, up, this._viewMatrix);\r\n } else {\r\n Matrix.LookAtLHToRef(position, target, up, this._viewMatrix);\r\n }\r\n\r\n if (this.parent) {\r\n const parentWorldMatrix = this.parent.getWorldMatrix();\r\n this._viewMatrix.invert();\r\n this._viewMatrix.multiplyToRef(parentWorldMatrix, this._viewMatrix);\r\n this._viewMatrix.getTranslationToRef(this._globalPosition);\r\n this._viewMatrix.invert();\r\n this._markSyncedWithParent();\r\n } else {\r\n this._globalPosition.copyFrom(position);\r\n }\r\n }\r\n\r\n /**\r\n * @hidden\r\n */\r\n public createRigCamera(name: string, cameraIndex: number): Nullable {\r\n if (this.cameraRigMode !== Camera.RIG_MODE_NONE) {\r\n var rigCamera = new TargetCamera(name, this.position.clone(), this.getScene());\r\n rigCamera.isRigCamera = true;\r\n rigCamera.rigParent = this;\r\n if (this.cameraRigMode === Camera.RIG_MODE_VR || this.cameraRigMode === Camera.RIG_MODE_WEBVR) {\r\n if (!this.rotationQuaternion) {\r\n this.rotationQuaternion = new Quaternion();\r\n }\r\n rigCamera._cameraRigParams = {};\r\n rigCamera.rotationQuaternion = new Quaternion();\r\n }\r\n return rigCamera;\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * @hidden\r\n */\r\n public _updateRigCameras() {\r\n var camLeft = this._rigCameras[0];\r\n var camRight = this._rigCameras[1];\r\n\r\n this.computeWorldMatrix();\r\n\r\n switch (this.cameraRigMode) {\r\n case Camera.RIG_MODE_STEREOSCOPIC_ANAGLYPH:\r\n case Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL:\r\n case Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED:\r\n case Camera.RIG_MODE_STEREOSCOPIC_OVERUNDER:\r\n case Camera.RIG_MODE_STEREOSCOPIC_INTERLACED:\r\n //provisionnaly using _cameraRigParams.stereoHalfAngle instead of calculations based on _cameraRigParams.interaxialDistance:\r\n var leftSign = (this.cameraRigMode === Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED) ? 1 : -1;\r\n var rightSign = (this.cameraRigMode === Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED) ? -1 : 1;\r\n this._getRigCamPositionAndTarget(this._cameraRigParams.stereoHalfAngle * leftSign, camLeft);\r\n this._getRigCamPositionAndTarget(this._cameraRigParams.stereoHalfAngle * rightSign, camRight);\r\n break;\r\n\r\n case Camera.RIG_MODE_VR:\r\n if (camLeft.rotationQuaternion) {\r\n camLeft.rotationQuaternion.copyFrom(this.rotationQuaternion);\r\n camRight.rotationQuaternion.copyFrom(this.rotationQuaternion);\r\n } else {\r\n camLeft.rotation.copyFrom(this.rotation);\r\n camRight.rotation.copyFrom(this.rotation);\r\n }\r\n camLeft.position.copyFrom(this.position);\r\n camRight.position.copyFrom(this.position);\r\n\r\n break;\r\n }\r\n super._updateRigCameras();\r\n }\r\n\r\n private _getRigCamPositionAndTarget(halfSpace: number, rigCamera: TargetCamera) {\r\n var target = this.getTarget();\r\n target.subtractToRef(this.position, TargetCamera._TargetFocalPoint);\r\n\r\n TargetCamera._TargetFocalPoint.normalize().scaleInPlace(this._initialFocalDistance);\r\n var newFocalTarget = TargetCamera._TargetFocalPoint.addInPlace(this.position);\r\n\r\n Matrix.TranslationToRef(-newFocalTarget.x, -newFocalTarget.y, -newFocalTarget.z, TargetCamera._TargetTransformMatrix);\r\n TargetCamera._TargetTransformMatrix.multiplyToRef(Matrix.RotationAxis(rigCamera.upVector, halfSpace), TargetCamera._RigCamTransformMatrix);\r\n Matrix.TranslationToRef(newFocalTarget.x, newFocalTarget.y, newFocalTarget.z, TargetCamera._TargetTransformMatrix);\r\n\r\n TargetCamera._RigCamTransformMatrix.multiplyToRef(TargetCamera._TargetTransformMatrix, TargetCamera._RigCamTransformMatrix);\r\n\r\n Vector3.TransformCoordinatesToRef(this.position, TargetCamera._RigCamTransformMatrix, rigCamera.position);\r\n rigCamera.setTarget(newFocalTarget);\r\n }\r\n\r\n /**\r\n * Gets the current object class name.\r\n * @return the class name\r\n */\r\n public getClassName(): string {\r\n return \"TargetCamera\";\r\n }\r\n}\r\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","\r\n\r\n/**\r\n * Class used to represent data loading progression\r\n */\r\nexport class SceneLoaderFlags {\r\n // Flags\r\n private static _ForceFullSceneLoadingForIncremental = false;\r\n private static _ShowLoadingScreen = true;\r\n private static _CleanBoneMatrixWeights = false;\r\n private static _loggingLevel = 0;\r\n\r\n /**\r\n * Gets or sets a boolean indicating if entire scene must be loaded even if scene contains incremental data\r\n */\r\n public static get ForceFullSceneLoadingForIncremental() {\r\n return SceneLoaderFlags._ForceFullSceneLoadingForIncremental;\r\n }\r\n\r\n public static set ForceFullSceneLoadingForIncremental(value: boolean) {\r\n SceneLoaderFlags._ForceFullSceneLoadingForIncremental = value;\r\n }\r\n\r\n /**\r\n * Gets or sets a boolean indicating if loading screen must be displayed while loading a scene\r\n */\r\n public static get ShowLoadingScreen(): boolean {\r\n return SceneLoaderFlags._ShowLoadingScreen;\r\n }\r\n\r\n public static set ShowLoadingScreen(value: boolean) {\r\n SceneLoaderFlags._ShowLoadingScreen = value;\r\n }\r\n\r\n /**\r\n * Defines the current logging level (while loading the scene)\r\n * @ignorenaming\r\n */\r\n public static get loggingLevel(): number {\r\n return SceneLoaderFlags._loggingLevel;\r\n }\r\n\r\n public static set loggingLevel(value: number) {\r\n SceneLoaderFlags._loggingLevel = value;\r\n }\r\n\r\n /**\r\n * Gets or set a boolean indicating if matrix weights must be cleaned upon loading\r\n */\r\n public static get CleanBoneMatrixWeights(): boolean {\r\n return SceneLoaderFlags._CleanBoneMatrixWeights;\r\n }\r\n\r\n public static set CleanBoneMatrixWeights(value: boolean) {\r\n SceneLoaderFlags._CleanBoneMatrixWeights = value;\r\n }\r\n}\r\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;","// TODO v5: consider to make it private\nexport default function setRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}","/**\r\n * Helper class used to generate a canvas to manipulate images\r\n */\r\nexport class CanvasGenerator {\r\n /**\r\n * Create a new canvas (or offscreen canvas depending on the context)\r\n * @param width defines the expected width\r\n * @param height defines the expected height\r\n * @return a new canvas or offscreen canvas\r\n */\r\n public static CreateCanvas(width: number, height: number): HTMLCanvasElement | OffscreenCanvas {\r\n if (typeof document === \"undefined\") {\r\n return new OffscreenCanvas(width, height);\r\n }\r\n\r\n let canvas = document.createElement(\"canvas\");\r\n canvas.width = width;\r\n canvas.height = height;\r\n\r\n return canvas;\r\n }\r\n}","import { Nullable, FloatArray, DataArray, IndicesArray } from \"../types\";\r\nimport { Scene } from \"../scene\";\r\nimport { Vector3, Vector2 } from \"../Maths/math.vector\";\r\nimport { Color4 } from \"../Maths/math.color\";\r\nimport { Engine } from \"../Engines/engine\";\r\nimport { IGetSetVerticesData, VertexData } from \"../Meshes/mesh.vertexData\";\r\nimport { VertexBuffer } from \"../Meshes/buffer\";\r\nimport { SubMesh } from \"../Meshes/subMesh\";\r\nimport { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { Effect } from \"../Materials/effect\";\r\nimport { SceneLoaderFlags } from \"../Loading/sceneLoaderFlags\";\r\nimport { BoundingInfo } from \"../Culling/boundingInfo\";\r\n\r\nimport { Tools } from \"../Misc/tools\";\r\nimport { Tags } from \"../Misc/tags\";\r\nimport { DataBuffer } from \"./dataBuffer\";\r\nimport { extractMinAndMax } from \"../Maths/math.functions\";\r\n\r\ndeclare type Mesh = import(\"../Meshes/mesh\").Mesh;\r\n\r\n/**\r\n * Class used to store geometry data (vertex buffers + index buffer)\r\n */\r\nexport class Geometry implements IGetSetVerticesData {\r\n // Members\r\n /**\r\n * Gets or sets the ID of the geometry\r\n */\r\n public id: string;\r\n /**\r\n * Gets or sets the unique ID of the geometry\r\n */\r\n public uniqueId: number;\r\n /**\r\n * Gets the delay loading state of the geometry (none by default which means not delayed)\r\n */\r\n public delayLoadState = 0;\r\n /**\r\n * Gets the file containing the data to load when running in delay load state\r\n */\r\n public delayLoadingFile: Nullable;\r\n /**\r\n * Callback called when the geometry is updated\r\n */\r\n public onGeometryUpdated: (geometry: Geometry, kind?: string) => void;\r\n\r\n // Private\r\n private _scene: Scene;\r\n private _engine: Engine;\r\n private _meshes: Mesh[];\r\n private _totalVertices = 0;\r\n /** @hidden */\r\n public _indices: IndicesArray;\r\n /** @hidden */\r\n public _vertexBuffers: { [key: string]: VertexBuffer };\r\n private _isDisposed = false;\r\n private _extend: { minimum: Vector3; maximum: Vector3 };\r\n private _boundingBias: Vector2;\r\n /** @hidden */\r\n public _delayInfo: Array;\r\n private _indexBuffer: Nullable;\r\n private _indexBufferIsUpdatable = false;\r\n /** @hidden */\r\n public _boundingInfo: Nullable;\r\n /** @hidden */\r\n public _delayLoadingFunction: Nullable<(any: any, geometry: Geometry) => void>;\r\n /** @hidden */\r\n public _softwareSkinningFrameId: number;\r\n private _vertexArrayObjects: { [key: string]: WebGLVertexArrayObject };\r\n private _updatable: boolean;\r\n\r\n // Cache\r\n /** @hidden */\r\n public _positions: Nullable;\r\n private _positionsCache: Vector3[] = [];\r\n\r\n /**\r\n * Gets or sets the Bias Vector to apply on the bounding elements (box/sphere), the max extend is computed as v += v * bias.x + bias.y, the min is computed as v -= v * bias.x + bias.y\r\n */\r\n public get boundingBias(): Vector2 {\r\n return this._boundingBias;\r\n }\r\n\r\n /**\r\n * Gets or sets the Bias Vector to apply on the bounding elements (box/sphere), the max extend is computed as v += v * bias.x + bias.y, the min is computed as v -= v * bias.x + bias.y\r\n */\r\n public set boundingBias(value: Vector2) {\r\n if (this._boundingBias) {\r\n this._boundingBias.copyFrom(value);\r\n } else {\r\n this._boundingBias = value.clone();\r\n }\r\n\r\n this._updateBoundingInfo(true, null);\r\n }\r\n\r\n /**\r\n * Static function used to attach a new empty geometry to a mesh\r\n * @param mesh defines the mesh to attach the geometry to\r\n * @returns the new Geometry\r\n */\r\n public static CreateGeometryForMesh(mesh: Mesh): Geometry {\r\n let geometry = new Geometry(Geometry.RandomId(), mesh.getScene());\r\n\r\n geometry.applyToMesh(mesh);\r\n\r\n return geometry;\r\n }\r\n\r\n /** Get the list of meshes using this geometry */\r\n public get meshes(): Mesh[] {\r\n return this._meshes;\r\n }\r\n\r\n /**\r\n * If set to true (false by defaut), the bounding info applied to the meshes sharing this geometry will be the bounding info defined at the class level\r\n * and won't be computed based on the vertex positions (which is what we get when useBoundingInfoFromGeometry = false)\r\n */\r\n public useBoundingInfoFromGeometry = false;\r\n\r\n /**\r\n * Creates a new geometry\r\n * @param id defines the unique ID\r\n * @param scene defines the hosting scene\r\n * @param vertexData defines the VertexData used to get geometry data\r\n * @param updatable defines if geometry must be updatable (false by default)\r\n * @param mesh defines the mesh that will be associated with the geometry\r\n */\r\n constructor(id: string, scene: Scene, vertexData?: VertexData, updatable: boolean = false, mesh: Nullable = null) {\r\n this.id = id;\r\n this.uniqueId = scene.getUniqueId();\r\n this._engine = scene.getEngine();\r\n this._meshes = [];\r\n this._scene = scene;\r\n //Init vertex buffer cache\r\n this._vertexBuffers = {};\r\n this._indices = [];\r\n this._updatable = updatable;\r\n\r\n // vertexData\r\n if (vertexData) {\r\n this.setAllVerticesData(vertexData, updatable);\r\n } else {\r\n this._totalVertices = 0;\r\n this._indices = [];\r\n }\r\n\r\n if (this._engine.getCaps().vertexArrayObject) {\r\n this._vertexArrayObjects = {};\r\n }\r\n\r\n // applyToMesh\r\n if (mesh) {\r\n this.applyToMesh(mesh);\r\n mesh.computeWorldMatrix(true);\r\n }\r\n }\r\n\r\n /**\r\n * Gets the current extend of the geometry\r\n */\r\n public get extend(): { minimum: Vector3; maximum: Vector3 } {\r\n return this._extend;\r\n }\r\n\r\n /**\r\n * Gets the hosting scene\r\n * @returns the hosting Scene\r\n */\r\n public getScene(): Scene {\r\n return this._scene;\r\n }\r\n\r\n /**\r\n * Gets the hosting engine\r\n * @returns the hosting Engine\r\n */\r\n public getEngine(): Engine {\r\n return this._engine;\r\n }\r\n\r\n /**\r\n * Defines if the geometry is ready to use\r\n * @returns true if the geometry is ready to be used\r\n */\r\n public isReady(): boolean {\r\n return this.delayLoadState === 1 || this.delayLoadState === 0;\r\n }\r\n\r\n /**\r\n * Gets a value indicating that the geometry should not be serialized\r\n */\r\n public get doNotSerialize(): boolean {\r\n for (var index = 0; index < this._meshes.length; index++) {\r\n if (!this._meshes[index].doNotSerialize) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /** @hidden */\r\n public _rebuild(): void {\r\n if (this._vertexArrayObjects) {\r\n this._vertexArrayObjects = {};\r\n }\r\n\r\n // Index buffer\r\n if (this._meshes.length !== 0 && this._indices) {\r\n this._indexBuffer = this._engine.createIndexBuffer(this._indices);\r\n }\r\n\r\n // Vertex buffers\r\n for (var key in this._vertexBuffers) {\r\n let vertexBuffer = this._vertexBuffers[key];\r\n vertexBuffer._rebuild();\r\n }\r\n }\r\n\r\n /**\r\n * Affects all geometry data in one call\r\n * @param vertexData defines the geometry data\r\n * @param updatable defines if the geometry must be flagged as updatable (false as default)\r\n */\r\n public setAllVerticesData(vertexData: VertexData, updatable?: boolean): void {\r\n vertexData.applyToGeometry(this, updatable);\r\n this.notifyUpdate();\r\n }\r\n\r\n /**\r\n * Set specific vertex data\r\n * @param kind defines the data kind (Position, normal, etc...)\r\n * @param data defines the vertex data to use\r\n * @param updatable defines if the vertex must be flagged as updatable (false as default)\r\n * @param stride defines the stride to use (0 by default). This value is deduced from the kind value if not specified\r\n */\r\n public setVerticesData(kind: string, data: FloatArray, updatable: boolean = false, stride?: number): void {\r\n if (updatable && Array.isArray(data)) {\r\n // to avoid converting to Float32Array at each draw call in engine.updateDynamicVertexBuffer, we make the conversion a single time here\r\n data = new Float32Array(data);\r\n }\r\n var buffer = new VertexBuffer(this._engine, data, kind, updatable, this._meshes.length === 0, stride);\r\n this.setVerticesBuffer(buffer);\r\n }\r\n\r\n /**\r\n * Removes a specific vertex data\r\n * @param kind defines the data kind (Position, normal, etc...)\r\n */\r\n public removeVerticesData(kind: string) {\r\n if (this._vertexBuffers[kind]) {\r\n this._vertexBuffers[kind].dispose();\r\n delete this._vertexBuffers[kind];\r\n }\r\n }\r\n\r\n /**\r\n * Affect a vertex buffer to the geometry. the vertexBuffer.getKind() function is used to determine where to store the data\r\n * @param buffer defines the vertex buffer to use\r\n * @param totalVertices defines the total number of vertices for position kind (could be null)\r\n */\r\n public setVerticesBuffer(buffer: VertexBuffer, totalVertices: Nullable = null): void {\r\n var kind = buffer.getKind();\r\n if (this._vertexBuffers[kind]) {\r\n this._vertexBuffers[kind].dispose();\r\n }\r\n\r\n this._vertexBuffers[kind] = buffer;\r\n\r\n if (kind === VertexBuffer.PositionKind) {\r\n var data = buffer.getData();\r\n if (totalVertices != null) {\r\n this._totalVertices = totalVertices;\r\n } else {\r\n if (data != null) {\r\n this._totalVertices = data.length / (buffer.byteStride / 4);\r\n }\r\n }\r\n\r\n this._updateExtend(data);\r\n this._resetPointsArrayCache();\r\n\r\n var meshes = this._meshes;\r\n var numOfMeshes = meshes.length;\r\n\r\n for (var index = 0; index < numOfMeshes; index++) {\r\n var mesh = meshes[index];\r\n mesh._boundingInfo = new BoundingInfo(this._extend.minimum, this._extend.maximum);\r\n mesh._createGlobalSubMesh(false);\r\n mesh.computeWorldMatrix(true);\r\n }\r\n }\r\n\r\n this.notifyUpdate(kind);\r\n\r\n if (this._vertexArrayObjects) {\r\n this._disposeVertexArrayObjects();\r\n this._vertexArrayObjects = {}; // Will trigger a rebuild of the VAO if supported\r\n }\r\n }\r\n\r\n /**\r\n * Update a specific vertex buffer\r\n * This function will directly update the underlying DataBuffer according to the passed numeric array or Float32Array\r\n * It will do nothing if the buffer is not updatable\r\n * @param kind defines the data kind (Position, normal, etc...)\r\n * @param data defines the data to use\r\n * @param offset defines the offset in the target buffer where to store the data\r\n * @param useBytes set to true if the offset is in bytes\r\n */\r\n public updateVerticesDataDirectly(kind: string, data: DataArray, offset: number, useBytes: boolean = false): void {\r\n var vertexBuffer = this.getVertexBuffer(kind);\r\n\r\n if (!vertexBuffer) {\r\n return;\r\n }\r\n\r\n vertexBuffer.updateDirectly(data, offset, useBytes);\r\n this.notifyUpdate(kind);\r\n }\r\n\r\n /**\r\n * Update a specific vertex buffer\r\n * This function will create a new buffer if the current one is not updatable\r\n * @param kind defines the data kind (Position, normal, etc...)\r\n * @param data defines the data to use\r\n * @param updateExtends defines if the geometry extends must be recomputed (false by default)\r\n */\r\n public updateVerticesData(kind: string, data: FloatArray, updateExtends: boolean = false): void {\r\n var vertexBuffer = this.getVertexBuffer(kind);\r\n\r\n if (!vertexBuffer) {\r\n return;\r\n }\r\n\r\n vertexBuffer.update(data);\r\n\r\n if (kind === VertexBuffer.PositionKind) {\r\n this._updateBoundingInfo(updateExtends, data);\r\n }\r\n this.notifyUpdate(kind);\r\n }\r\n\r\n private _updateBoundingInfo(updateExtends: boolean, data: Nullable) {\r\n if (updateExtends) {\r\n this._updateExtend(data);\r\n }\r\n\r\n this._resetPointsArrayCache();\r\n\r\n if (updateExtends) {\r\n var meshes = this._meshes;\r\n for (const mesh of meshes) {\r\n if (mesh._boundingInfo) {\r\n mesh._boundingInfo.reConstruct(this._extend.minimum, this._extend.maximum);\r\n } else {\r\n mesh._boundingInfo = new BoundingInfo(this._extend.minimum, this._extend.maximum);\r\n }\r\n\r\n const subMeshes = mesh.subMeshes;\r\n for (const subMesh of subMeshes) {\r\n subMesh.refreshBoundingInfo();\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _bind(effect: Nullable, indexToBind?: Nullable): void {\r\n if (!effect) {\r\n return;\r\n }\r\n\r\n if (indexToBind === undefined) {\r\n indexToBind = this._indexBuffer;\r\n }\r\n let vbs = this.getVertexBuffers();\r\n\r\n if (!vbs) {\r\n return;\r\n }\r\n\r\n if (indexToBind != this._indexBuffer || !this._vertexArrayObjects) {\r\n this._engine.bindBuffers(vbs, indexToBind, effect);\r\n return;\r\n }\r\n\r\n // Using VAO\r\n if (!this._vertexArrayObjects[effect.key]) {\r\n this._vertexArrayObjects[effect.key] = this._engine.recordVertexArrayObject(vbs, indexToBind, effect);\r\n }\r\n\r\n this._engine.bindVertexArrayObject(this._vertexArrayObjects[effect.key], indexToBind);\r\n }\r\n\r\n /**\r\n * Gets total number of vertices\r\n * @returns the total number of vertices\r\n */\r\n public getTotalVertices(): number {\r\n if (!this.isReady()) {\r\n return 0;\r\n }\r\n\r\n return this._totalVertices;\r\n }\r\n\r\n /**\r\n * Gets a specific vertex data attached to this geometry. Float data is constructed if the vertex buffer data cannot be returned directly.\r\n * @param kind defines the data kind (Position, normal, etc...)\r\n * @param copyWhenShared defines if the returned array must be cloned upon returning it if the current geometry is shared between multiple meshes\r\n * @param forceCopy defines a boolean indicating that the returned array must be cloned upon returning it\r\n * @returns a float array containing vertex data\r\n */\r\n public getVerticesData(kind: string, copyWhenShared?: boolean, forceCopy?: boolean): Nullable {\r\n const vertexBuffer = this.getVertexBuffer(kind);\r\n if (!vertexBuffer) {\r\n return null;\r\n }\r\n\r\n let data = vertexBuffer.getData();\r\n if (!data) {\r\n return null;\r\n }\r\n\r\n const tightlyPackedByteStride = vertexBuffer.getSize() * VertexBuffer.GetTypeByteLength(vertexBuffer.type);\r\n const count = this._totalVertices * vertexBuffer.getSize();\r\n\r\n if (vertexBuffer.type !== VertexBuffer.FLOAT || vertexBuffer.byteStride !== tightlyPackedByteStride) {\r\n const copy: number[] = [];\r\n vertexBuffer.forEach(count, (value) => copy.push(value));\r\n return copy;\r\n }\r\n\r\n if (!(data instanceof Array || data instanceof Float32Array) || vertexBuffer.byteOffset !== 0 || data.length !== count) {\r\n if (data instanceof Array) {\r\n const offset = vertexBuffer.byteOffset / 4;\r\n return Tools.Slice(data, offset, offset + count);\r\n } else if (data instanceof ArrayBuffer) {\r\n return new Float32Array(data, vertexBuffer.byteOffset, count);\r\n } else {\r\n let offset = data.byteOffset + vertexBuffer.byteOffset;\r\n if (forceCopy || (copyWhenShared && this._meshes.length !== 1)) {\r\n let result = new Float32Array(count);\r\n let source = new Float32Array(data.buffer, offset, count);\r\n\r\n result.set(source);\r\n\r\n return result;\r\n }\r\n\r\n // Portect against bad data\r\n let remainder = offset % 4;\r\n\r\n if (remainder) {\r\n offset = Math.max(0, offset - remainder);\r\n }\r\n\r\n return new Float32Array(data.buffer, offset, count);\r\n }\r\n }\r\n\r\n if (forceCopy || (copyWhenShared && this._meshes.length !== 1)) {\r\n return Tools.Slice(data);\r\n }\r\n\r\n return data;\r\n }\r\n\r\n /**\r\n * Returns a boolean defining if the vertex data for the requested `kind` is updatable\r\n * @param kind defines the data kind (Position, normal, etc...)\r\n * @returns true if the vertex buffer with the specified kind is updatable\r\n */\r\n public isVertexBufferUpdatable(kind: string): boolean {\r\n let vb = this._vertexBuffers[kind];\r\n\r\n if (!vb) {\r\n return false;\r\n }\r\n\r\n return vb.isUpdatable();\r\n }\r\n\r\n /**\r\n * Gets a specific vertex buffer\r\n * @param kind defines the data kind (Position, normal, etc...)\r\n * @returns a VertexBuffer\r\n */\r\n public getVertexBuffer(kind: string): Nullable {\r\n if (!this.isReady()) {\r\n return null;\r\n }\r\n return this._vertexBuffers[kind];\r\n }\r\n\r\n /**\r\n * Returns all vertex buffers\r\n * @return an object holding all vertex buffers indexed by kind\r\n */\r\n public getVertexBuffers(): Nullable<{ [key: string]: VertexBuffer }> {\r\n if (!this.isReady()) {\r\n return null;\r\n }\r\n return this._vertexBuffers;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if specific vertex buffer is present\r\n * @param kind defines the data kind (Position, normal, etc...)\r\n * @returns true if data is present\r\n */\r\n public isVerticesDataPresent(kind: string): boolean {\r\n if (!this._vertexBuffers) {\r\n if (this._delayInfo) {\r\n return this._delayInfo.indexOf(kind) !== -1;\r\n }\r\n return false;\r\n }\r\n return this._vertexBuffers[kind] !== undefined;\r\n }\r\n\r\n /**\r\n * Gets a list of all attached data kinds (Position, normal, etc...)\r\n * @returns a list of string containing all kinds\r\n */\r\n public getVerticesDataKinds(): string[] {\r\n var result = [];\r\n var kind;\r\n if (!this._vertexBuffers && this._delayInfo) {\r\n for (kind in this._delayInfo) {\r\n result.push(kind);\r\n }\r\n } else {\r\n for (kind in this._vertexBuffers) {\r\n result.push(kind);\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Update index buffer\r\n * @param indices defines the indices to store in the index buffer\r\n * @param offset defines the offset in the target buffer where to store the data\r\n * @param gpuMemoryOnly defines a boolean indicating that only the GPU memory must be updated leaving the CPU version of the indices unchanged (false by default)\r\n */\r\n public updateIndices(indices: IndicesArray, offset?: number, gpuMemoryOnly = false): void {\r\n if (!this._indexBuffer) {\r\n return;\r\n }\r\n\r\n if (!this._indexBufferIsUpdatable) {\r\n this.setIndices(indices, null, true);\r\n } else {\r\n const needToUpdateSubMeshes = indices.length !== this._indices.length;\r\n\r\n if (!gpuMemoryOnly) {\r\n this._indices = indices.slice();\r\n }\r\n this._engine.updateDynamicIndexBuffer(this._indexBuffer, indices, offset);\r\n if (needToUpdateSubMeshes) {\r\n for (const mesh of this._meshes) {\r\n mesh._createGlobalSubMesh(true);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Creates a new index buffer\r\n * @param indices defines the indices to store in the index buffer\r\n * @param totalVertices defines the total number of vertices (could be null)\r\n * @param updatable defines if the index buffer must be flagged as updatable (false by default)\r\n */\r\n public setIndices(indices: IndicesArray, totalVertices: Nullable = null, updatable: boolean = false): void {\r\n if (this._indexBuffer) {\r\n this._engine._releaseBuffer(this._indexBuffer);\r\n }\r\n\r\n this._disposeVertexArrayObjects();\r\n\r\n this._indices = indices;\r\n this._indexBufferIsUpdatable = updatable;\r\n if (this._meshes.length !== 0 && this._indices) {\r\n this._indexBuffer = this._engine.createIndexBuffer(this._indices, updatable);\r\n }\r\n\r\n if (totalVertices != undefined) {\r\n // including null and undefined\r\n this._totalVertices = totalVertices;\r\n }\r\n\r\n for (const mesh of this._meshes) {\r\n mesh._createGlobalSubMesh(true);\r\n }\r\n\r\n this.notifyUpdate();\r\n }\r\n\r\n /**\r\n * Return the total number of indices\r\n * @returns the total number of indices\r\n */\r\n public getTotalIndices(): number {\r\n if (!this.isReady()) {\r\n return 0;\r\n }\r\n return this._indices.length;\r\n }\r\n\r\n /**\r\n * Gets the index buffer array\r\n * @param copyWhenShared defines if the returned array must be cloned upon returning it if the current geometry is shared between multiple meshes\r\n * @param forceCopy defines a boolean indicating that the returned array must be cloned upon returning it\r\n * @returns the index buffer array\r\n */\r\n public getIndices(copyWhenShared?: boolean, forceCopy?: boolean): Nullable {\r\n if (!this.isReady()) {\r\n return null;\r\n }\r\n var orig = this._indices;\r\n if (!forceCopy && (!copyWhenShared || this._meshes.length === 1)) {\r\n return orig;\r\n } else {\r\n var len = orig.length;\r\n var copy = [];\r\n for (var i = 0; i < len; i++) {\r\n copy.push(orig[i]);\r\n }\r\n return copy;\r\n }\r\n }\r\n\r\n /**\r\n * Gets the index buffer\r\n * @return the index buffer\r\n */\r\n public getIndexBuffer(): Nullable {\r\n if (!this.isReady()) {\r\n return null;\r\n }\r\n return this._indexBuffer;\r\n }\r\n\r\n /** @hidden */\r\n public _releaseVertexArrayObject(effect: Nullable = null) {\r\n if (!effect || !this._vertexArrayObjects) {\r\n return;\r\n }\r\n\r\n if (this._vertexArrayObjects[effect.key]) {\r\n this._engine.releaseVertexArrayObject(this._vertexArrayObjects[effect.key]);\r\n delete this._vertexArrayObjects[effect.key];\r\n }\r\n }\r\n\r\n /**\r\n * Release the associated resources for a specific mesh\r\n * @param mesh defines the source mesh\r\n * @param shouldDispose defines if the geometry must be disposed if there is no more mesh pointing to it\r\n */\r\n public releaseForMesh(mesh: Mesh, shouldDispose?: boolean): void {\r\n var meshes = this._meshes;\r\n var index = meshes.indexOf(mesh);\r\n\r\n if (index === -1) {\r\n return;\r\n }\r\n\r\n meshes.splice(index, 1);\r\n\r\n mesh._geometry = null;\r\n\r\n if (meshes.length === 0 && shouldDispose) {\r\n this.dispose();\r\n }\r\n }\r\n\r\n /**\r\n * Apply current geometry to a given mesh\r\n * @param mesh defines the mesh to apply geometry to\r\n */\r\n public applyToMesh(mesh: Mesh): void {\r\n if (mesh._geometry === this) {\r\n return;\r\n }\r\n\r\n var previousGeometry = mesh._geometry;\r\n if (previousGeometry) {\r\n previousGeometry.releaseForMesh(mesh);\r\n }\r\n\r\n var meshes = this._meshes;\r\n\r\n // must be done before setting vertexBuffers because of mesh._createGlobalSubMesh()\r\n mesh._geometry = this;\r\n\r\n this._scene.pushGeometry(this);\r\n\r\n meshes.push(mesh);\r\n\r\n if (this.isReady()) {\r\n this._applyToMesh(mesh);\r\n } else {\r\n mesh._boundingInfo = this._boundingInfo;\r\n }\r\n }\r\n\r\n private _updateExtend(data: Nullable = null) {\r\n if (this.useBoundingInfoFromGeometry && this._boundingInfo) {\r\n this._extend = {\r\n minimum: this._boundingInfo.minimum.clone(),\r\n maximum: this._boundingInfo.maximum.clone(),\r\n };\r\n } else {\r\n if (!data) {\r\n data = this.getVerticesData(VertexBuffer.PositionKind)!;\r\n }\r\n\r\n this._extend = extractMinAndMax(data, 0, this._totalVertices, this.boundingBias, 3);\r\n }\r\n }\r\n\r\n private _applyToMesh(mesh: Mesh): void {\r\n var numOfMeshes = this._meshes.length;\r\n\r\n // vertexBuffers\r\n for (var kind in this._vertexBuffers) {\r\n if (numOfMeshes === 1) {\r\n this._vertexBuffers[kind].create();\r\n }\r\n var buffer = this._vertexBuffers[kind].getBuffer();\r\n if (buffer) {\r\n buffer.references = numOfMeshes;\r\n }\r\n\r\n if (kind === VertexBuffer.PositionKind) {\r\n if (!this._extend) {\r\n this._updateExtend();\r\n }\r\n mesh._boundingInfo = new BoundingInfo(this._extend.minimum, this._extend.maximum);\r\n\r\n mesh._createGlobalSubMesh(false);\r\n\r\n //bounding info was just created again, world matrix should be applied again.\r\n mesh._updateBoundingInfo();\r\n }\r\n }\r\n\r\n // indexBuffer\r\n if (numOfMeshes === 1 && this._indices && this._indices.length > 0) {\r\n this._indexBuffer = this._engine.createIndexBuffer(this._indices);\r\n }\r\n if (this._indexBuffer) {\r\n this._indexBuffer.references = numOfMeshes;\r\n }\r\n\r\n // morphTargets\r\n mesh._syncGeometryWithMorphTargetManager();\r\n\r\n // instances\r\n mesh.synchronizeInstances();\r\n }\r\n\r\n private notifyUpdate(kind?: string) {\r\n if (this.onGeometryUpdated) {\r\n this.onGeometryUpdated(this, kind);\r\n }\r\n\r\n for (var mesh of this._meshes) {\r\n mesh._markSubMeshesAsAttributesDirty();\r\n }\r\n }\r\n\r\n /**\r\n * Load the geometry if it was flagged as delay loaded\r\n * @param scene defines the hosting scene\r\n * @param onLoaded defines a callback called when the geometry is loaded\r\n */\r\n public load(scene: Scene, onLoaded?: () => void): void {\r\n if (this.delayLoadState === 2) {\r\n return;\r\n }\r\n\r\n if (this.isReady()) {\r\n if (onLoaded) {\r\n onLoaded();\r\n }\r\n return;\r\n }\r\n\r\n this.delayLoadState = 2;\r\n\r\n this._queueLoad(scene, onLoaded);\r\n }\r\n\r\n private _queueLoad(scene: Scene, onLoaded?: () => void): void {\r\n if (!this.delayLoadingFile) {\r\n return;\r\n }\r\n\r\n scene._addPendingData(this);\r\n scene._loadFile(\r\n this.delayLoadingFile,\r\n (data) => {\r\n if (!this._delayLoadingFunction) {\r\n return;\r\n }\r\n\r\n this._delayLoadingFunction(JSON.parse(data as string), this);\r\n\r\n this.delayLoadState = 1;\r\n this._delayInfo = [];\r\n\r\n scene._removePendingData(this);\r\n\r\n var meshes = this._meshes;\r\n var numOfMeshes = meshes.length;\r\n for (var index = 0; index < numOfMeshes; index++) {\r\n this._applyToMesh(meshes[index]);\r\n }\r\n\r\n if (onLoaded) {\r\n onLoaded();\r\n }\r\n },\r\n undefined,\r\n true\r\n );\r\n }\r\n\r\n /**\r\n * Invert the geometry to move from a right handed system to a left handed one.\r\n */\r\n public toLeftHanded(): void {\r\n // Flip faces\r\n let tIndices = this.getIndices(false);\r\n if (tIndices != null && tIndices.length > 0) {\r\n for (let i = 0; i < tIndices.length; i += 3) {\r\n let tTemp = tIndices[i + 0];\r\n tIndices[i + 0] = tIndices[i + 2];\r\n tIndices[i + 2] = tTemp;\r\n }\r\n this.setIndices(tIndices);\r\n }\r\n\r\n // Negate position.z\r\n let tPositions = this.getVerticesData(VertexBuffer.PositionKind, false);\r\n if (tPositions != null && tPositions.length > 0) {\r\n for (let i = 0; i < tPositions.length; i += 3) {\r\n tPositions[i + 2] = -tPositions[i + 2];\r\n }\r\n this.setVerticesData(VertexBuffer.PositionKind, tPositions, false);\r\n }\r\n\r\n // Negate normal.z\r\n let tNormals = this.getVerticesData(VertexBuffer.NormalKind, false);\r\n if (tNormals != null && tNormals.length > 0) {\r\n for (let i = 0; i < tNormals.length; i += 3) {\r\n tNormals[i + 2] = -tNormals[i + 2];\r\n }\r\n this.setVerticesData(VertexBuffer.NormalKind, tNormals, false);\r\n }\r\n }\r\n\r\n // Cache\r\n /** @hidden */\r\n public _resetPointsArrayCache(): void {\r\n this._positions = null;\r\n }\r\n\r\n /** @hidden */\r\n public _generatePointsArray(): boolean {\r\n if (this._positions) {\r\n return true;\r\n }\r\n\r\n var data = this.getVerticesData(VertexBuffer.PositionKind);\r\n\r\n if (!data || data.length === 0) {\r\n return false;\r\n }\r\n\r\n for (let index = this._positionsCache.length * 3, arrayIdx = this._positionsCache.length; index < data.length; index += 3, ++arrayIdx) {\r\n this._positionsCache[arrayIdx] = Vector3.FromArray(data, index);\r\n }\r\n\r\n for (let index = 0, arrayIdx = 0; index < data.length; index += 3, ++arrayIdx) {\r\n this._positionsCache[arrayIdx].set(data[0 + index], data[1 + index], data[2 + index]);\r\n }\r\n\r\n // just in case the number of positions was reduced, splice the array\r\n this._positionsCache.length = data.length / 3;\r\n\r\n this._positions = this._positionsCache;\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Gets a value indicating if the geometry is disposed\r\n * @returns true if the geometry was disposed\r\n */\r\n public isDisposed(): boolean {\r\n return this._isDisposed;\r\n }\r\n\r\n private _disposeVertexArrayObjects(): void {\r\n if (this._vertexArrayObjects) {\r\n for (var kind in this._vertexArrayObjects) {\r\n this._engine.releaseVertexArrayObject(this._vertexArrayObjects[kind]);\r\n }\r\n this._vertexArrayObjects = {};\r\n }\r\n }\r\n\r\n /**\r\n * Free all associated resources\r\n */\r\n public dispose(): void {\r\n var meshes = this._meshes;\r\n var numOfMeshes = meshes.length;\r\n var index: number;\r\n for (index = 0; index < numOfMeshes; index++) {\r\n this.releaseForMesh(meshes[index]);\r\n }\r\n this._meshes = [];\r\n\r\n this._disposeVertexArrayObjects();\r\n\r\n for (var kind in this._vertexBuffers) {\r\n this._vertexBuffers[kind].dispose();\r\n }\r\n this._vertexBuffers = {};\r\n this._totalVertices = 0;\r\n\r\n if (this._indexBuffer) {\r\n this._engine._releaseBuffer(this._indexBuffer);\r\n }\r\n this._indexBuffer = null;\r\n this._indices = [];\r\n\r\n this.delayLoadState = 0;\r\n this.delayLoadingFile = null;\r\n this._delayLoadingFunction = null;\r\n this._delayInfo = [];\r\n\r\n this._boundingInfo = null;\r\n\r\n this._scene.removeGeometry(this);\r\n this._isDisposed = true;\r\n }\r\n\r\n /**\r\n * Clone the current geometry into a new geometry\r\n * @param id defines the unique ID of the new geometry\r\n * @returns a new geometry object\r\n */\r\n public copy(id: string): Geometry {\r\n var vertexData = new VertexData();\r\n\r\n vertexData.indices = [];\r\n\r\n var indices = this.getIndices();\r\n if (indices) {\r\n for (var index = 0; index < indices.length; index++) {\r\n (vertexData.indices).push(indices[index]);\r\n }\r\n }\r\n\r\n var updatable = false;\r\n var stopChecking = false;\r\n var kind;\r\n for (kind in this._vertexBuffers) {\r\n // using slice() to make a copy of the array and not just reference it\r\n var data = this.getVerticesData(kind);\r\n\r\n if (data) {\r\n if (data instanceof Float32Array) {\r\n vertexData.set(new Float32Array(data), kind);\r\n } else {\r\n vertexData.set((data).slice(0), kind);\r\n }\r\n if (!stopChecking) {\r\n let vb = this.getVertexBuffer(kind);\r\n\r\n if (vb) {\r\n updatable = vb.isUpdatable();\r\n stopChecking = !updatable;\r\n }\r\n }\r\n }\r\n }\r\n\r\n var geometry = new Geometry(id, this._scene, vertexData, updatable);\r\n\r\n geometry.delayLoadState = this.delayLoadState;\r\n geometry.delayLoadingFile = this.delayLoadingFile;\r\n geometry._delayLoadingFunction = this._delayLoadingFunction;\r\n\r\n for (kind in this._delayInfo) {\r\n geometry._delayInfo = geometry._delayInfo || [];\r\n geometry._delayInfo.push(kind);\r\n }\r\n\r\n // Bounding info\r\n geometry._boundingInfo = new BoundingInfo(this._extend.minimum, this._extend.maximum);\r\n\r\n return geometry;\r\n }\r\n\r\n /**\r\n * Serialize the current geometry info (and not the vertices data) into a JSON object\r\n * @return a JSON representation of the current geometry data (without the vertices data)\r\n */\r\n public serialize(): any {\r\n var serializationObject: any = {};\r\n\r\n serializationObject.id = this.id;\r\n serializationObject.updatable = this._updatable;\r\n\r\n if (Tags && Tags.HasTags(this)) {\r\n serializationObject.tags = Tags.GetTags(this);\r\n }\r\n\r\n return serializationObject;\r\n }\r\n\r\n private toNumberArray(origin: Nullable): number[] {\r\n if (Array.isArray(origin)) {\r\n return origin;\r\n } else {\r\n return Array.prototype.slice.call(origin);\r\n }\r\n }\r\n\r\n /**\r\n * Serialize all vertices data into a JSON oject\r\n * @returns a JSON representation of the current geometry data\r\n */\r\n public serializeVerticeData(): any {\r\n var serializationObject = this.serialize();\r\n\r\n if (this.isVerticesDataPresent(VertexBuffer.PositionKind)) {\r\n serializationObject.positions = this.toNumberArray(this.getVerticesData(VertexBuffer.PositionKind));\r\n if (this.isVertexBufferUpdatable(VertexBuffer.PositionKind)) {\r\n serializationObject.positions._updatable = true;\r\n }\r\n }\r\n\r\n if (this.isVerticesDataPresent(VertexBuffer.NormalKind)) {\r\n serializationObject.normals = this.toNumberArray(this.getVerticesData(VertexBuffer.NormalKind));\r\n if (this.isVertexBufferUpdatable(VertexBuffer.NormalKind)) {\r\n serializationObject.normals._updatable = true;\r\n }\r\n }\r\n\r\n if (this.isVerticesDataPresent(VertexBuffer.TangentKind)) {\r\n serializationObject.tangets = this.toNumberArray(this.getVerticesData(VertexBuffer.TangentKind));\r\n if (this.isVertexBufferUpdatable(VertexBuffer.TangentKind)) {\r\n serializationObject.tangets._updatable = true;\r\n }\r\n }\r\n\r\n if (this.isVerticesDataPresent(VertexBuffer.UVKind)) {\r\n serializationObject.uvs = this.toNumberArray(this.getVerticesData(VertexBuffer.UVKind));\r\n if (this.isVertexBufferUpdatable(VertexBuffer.UVKind)) {\r\n serializationObject.uvs._updatable = true;\r\n }\r\n }\r\n\r\n if (this.isVerticesDataPresent(VertexBuffer.UV2Kind)) {\r\n serializationObject.uv2s = this.toNumberArray(this.getVerticesData(VertexBuffer.UV2Kind));\r\n if (this.isVertexBufferUpdatable(VertexBuffer.UV2Kind)) {\r\n serializationObject.uv2s._updatable = true;\r\n }\r\n }\r\n\r\n if (this.isVerticesDataPresent(VertexBuffer.UV3Kind)) {\r\n serializationObject.uv3s = this.toNumberArray(this.getVerticesData(VertexBuffer.UV3Kind));\r\n if (this.isVertexBufferUpdatable(VertexBuffer.UV3Kind)) {\r\n serializationObject.uv3s._updatable = true;\r\n }\r\n }\r\n\r\n if (this.isVerticesDataPresent(VertexBuffer.UV4Kind)) {\r\n serializationObject.uv4s = this.toNumberArray(this.getVerticesData(VertexBuffer.UV4Kind));\r\n if (this.isVertexBufferUpdatable(VertexBuffer.UV4Kind)) {\r\n serializationObject.uv4s._updatable = true;\r\n }\r\n }\r\n\r\n if (this.isVerticesDataPresent(VertexBuffer.UV5Kind)) {\r\n serializationObject.uv5s = this.toNumberArray(this.getVerticesData(VertexBuffer.UV5Kind));\r\n if (this.isVertexBufferUpdatable(VertexBuffer.UV5Kind)) {\r\n serializationObject.uv5s._updatable = true;\r\n }\r\n }\r\n\r\n if (this.isVerticesDataPresent(VertexBuffer.UV6Kind)) {\r\n serializationObject.uv6s = this.toNumberArray(this.getVerticesData(VertexBuffer.UV6Kind));\r\n if (this.isVertexBufferUpdatable(VertexBuffer.UV6Kind)) {\r\n serializationObject.uv6s._updatable = true;\r\n }\r\n }\r\n\r\n if (this.isVerticesDataPresent(VertexBuffer.ColorKind)) {\r\n serializationObject.colors = this.toNumberArray(this.getVerticesData(VertexBuffer.ColorKind));\r\n if (this.isVertexBufferUpdatable(VertexBuffer.ColorKind)) {\r\n serializationObject.colors._updatable = true;\r\n }\r\n }\r\n\r\n if (this.isVerticesDataPresent(VertexBuffer.MatricesIndicesKind)) {\r\n serializationObject.matricesIndices = this.toNumberArray(this.getVerticesData(VertexBuffer.MatricesIndicesKind));\r\n serializationObject.matricesIndices._isExpanded = true;\r\n if (this.isVertexBufferUpdatable(VertexBuffer.MatricesIndicesKind)) {\r\n serializationObject.matricesIndices._updatable = true;\r\n }\r\n }\r\n\r\n if (this.isVerticesDataPresent(VertexBuffer.MatricesWeightsKind)) {\r\n serializationObject.matricesWeights = this.toNumberArray(this.getVerticesData(VertexBuffer.MatricesWeightsKind));\r\n if (this.isVertexBufferUpdatable(VertexBuffer.MatricesWeightsKind)) {\r\n serializationObject.matricesWeights._updatable = true;\r\n }\r\n }\r\n\r\n serializationObject.indices = this.toNumberArray(this.getIndices());\r\n\r\n return serializationObject;\r\n }\r\n\r\n // Statics\r\n\r\n /**\r\n * Extracts a clone of a mesh geometry\r\n * @param mesh defines the source mesh\r\n * @param id defines the unique ID of the new geometry object\r\n * @returns the new geometry object\r\n */\r\n public static ExtractFromMesh(mesh: Mesh, id: string): Nullable {\r\n var geometry = mesh._geometry;\r\n\r\n if (!geometry) {\r\n return null;\r\n }\r\n\r\n return geometry.copy(id);\r\n }\r\n\r\n /**\r\n * You should now use Tools.RandomId(), this method is still here for legacy reasons.\r\n * Implementation from http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#answer-2117523\r\n * Be aware Math.random() could cause collisions, but:\r\n * \"All but 6 of the 128 bits of the ID are randomly generated, which means that for any two ids, there's a 1 in 2^^122 (or 5.3x10^^36) chance they'll collide\"\r\n * @returns a string containing a new GUID\r\n */\r\n public static RandomId(): string {\r\n return Tools.RandomId();\r\n }\r\n\r\n /** @hidden */\r\n public static _ImportGeometry(parsedGeometry: any, mesh: Mesh): void {\r\n var scene = mesh.getScene();\r\n\r\n // Geometry\r\n var geometryId = parsedGeometry.geometryId;\r\n if (geometryId) {\r\n var geometry = scene.getGeometryByID(geometryId);\r\n if (geometry) {\r\n geometry.applyToMesh(mesh);\r\n }\r\n } else if (parsedGeometry instanceof ArrayBuffer) {\r\n var binaryInfo = mesh._binaryInfo;\r\n\r\n if (binaryInfo.positionsAttrDesc && binaryInfo.positionsAttrDesc.count > 0) {\r\n var positionsData = new Float32Array(parsedGeometry, binaryInfo.positionsAttrDesc.offset, binaryInfo.positionsAttrDesc.count);\r\n mesh.setVerticesData(VertexBuffer.PositionKind, positionsData, false);\r\n }\r\n\r\n if (binaryInfo.normalsAttrDesc && binaryInfo.normalsAttrDesc.count > 0) {\r\n var normalsData = new Float32Array(parsedGeometry, binaryInfo.normalsAttrDesc.offset, binaryInfo.normalsAttrDesc.count);\r\n mesh.setVerticesData(VertexBuffer.NormalKind, normalsData, false);\r\n }\r\n\r\n if (binaryInfo.tangetsAttrDesc && binaryInfo.tangetsAttrDesc.count > 0) {\r\n var tangentsData = new Float32Array(parsedGeometry, binaryInfo.tangetsAttrDesc.offset, binaryInfo.tangetsAttrDesc.count);\r\n mesh.setVerticesData(VertexBuffer.TangentKind, tangentsData, false);\r\n }\r\n\r\n if (binaryInfo.uvsAttrDesc && binaryInfo.uvsAttrDesc.count > 0) {\r\n var uvsData = new Float32Array(parsedGeometry, binaryInfo.uvsAttrDesc.offset, binaryInfo.uvsAttrDesc.count);\r\n mesh.setVerticesData(VertexBuffer.UVKind, uvsData, false);\r\n }\r\n\r\n if (binaryInfo.uvs2AttrDesc && binaryInfo.uvs2AttrDesc.count > 0) {\r\n var uvs2Data = new Float32Array(parsedGeometry, binaryInfo.uvs2AttrDesc.offset, binaryInfo.uvs2AttrDesc.count);\r\n mesh.setVerticesData(VertexBuffer.UV2Kind, uvs2Data, false);\r\n }\r\n\r\n if (binaryInfo.uvs3AttrDesc && binaryInfo.uvs3AttrDesc.count > 0) {\r\n var uvs3Data = new Float32Array(parsedGeometry, binaryInfo.uvs3AttrDesc.offset, binaryInfo.uvs3AttrDesc.count);\r\n mesh.setVerticesData(VertexBuffer.UV3Kind, uvs3Data, false);\r\n }\r\n\r\n if (binaryInfo.uvs4AttrDesc && binaryInfo.uvs4AttrDesc.count > 0) {\r\n var uvs4Data = new Float32Array(parsedGeometry, binaryInfo.uvs4AttrDesc.offset, binaryInfo.uvs4AttrDesc.count);\r\n mesh.setVerticesData(VertexBuffer.UV4Kind, uvs4Data, false);\r\n }\r\n\r\n if (binaryInfo.uvs5AttrDesc && binaryInfo.uvs5AttrDesc.count > 0) {\r\n var uvs5Data = new Float32Array(parsedGeometry, binaryInfo.uvs5AttrDesc.offset, binaryInfo.uvs5AttrDesc.count);\r\n mesh.setVerticesData(VertexBuffer.UV5Kind, uvs5Data, false);\r\n }\r\n\r\n if (binaryInfo.uvs6AttrDesc && binaryInfo.uvs6AttrDesc.count > 0) {\r\n var uvs6Data = new Float32Array(parsedGeometry, binaryInfo.uvs6AttrDesc.offset, binaryInfo.uvs6AttrDesc.count);\r\n mesh.setVerticesData(VertexBuffer.UV6Kind, uvs6Data, false);\r\n }\r\n\r\n if (binaryInfo.colorsAttrDesc && binaryInfo.colorsAttrDesc.count > 0) {\r\n var colorsData = new Float32Array(parsedGeometry, binaryInfo.colorsAttrDesc.offset, binaryInfo.colorsAttrDesc.count);\r\n mesh.setVerticesData(VertexBuffer.ColorKind, colorsData, false, binaryInfo.colorsAttrDesc.stride);\r\n }\r\n\r\n if (binaryInfo.matricesIndicesAttrDesc && binaryInfo.matricesIndicesAttrDesc.count > 0) {\r\n var matricesIndicesData = new Int32Array(parsedGeometry, binaryInfo.matricesIndicesAttrDesc.offset, binaryInfo.matricesIndicesAttrDesc.count);\r\n var floatIndices = [];\r\n for (var i = 0; i < matricesIndicesData.length; i++) {\r\n var index = matricesIndicesData[i];\r\n floatIndices.push(index & 0x000000ff);\r\n floatIndices.push((index & 0x0000ff00) >> 8);\r\n floatIndices.push((index & 0x00ff0000) >> 16);\r\n floatIndices.push((index >> 24) & 0xff); // & 0xFF to convert to v + 256 if v < 0\r\n }\r\n mesh.setVerticesData(VertexBuffer.MatricesIndicesKind, floatIndices, false);\r\n }\r\n\r\n if (binaryInfo.matricesIndicesExtraAttrDesc && binaryInfo.matricesIndicesExtraAttrDesc.count > 0) {\r\n var matricesIndicesData = new Int32Array(parsedGeometry, binaryInfo.matricesIndicesExtraAttrDesc.offset, binaryInfo.matricesIndicesExtraAttrDesc.count);\r\n var floatIndices = [];\r\n for (var i = 0; i < matricesIndicesData.length; i++) {\r\n var index = matricesIndicesData[i];\r\n floatIndices.push(index & 0x000000ff);\r\n floatIndices.push((index & 0x0000ff00) >> 8);\r\n floatIndices.push((index & 0x00ff0000) >> 16);\r\n floatIndices.push((index >> 24) & 0xff); // & 0xFF to convert to v + 256 if v < 0\r\n }\r\n mesh.setVerticesData(VertexBuffer.MatricesIndicesExtraKind, floatIndices, false);\r\n }\r\n\r\n if (binaryInfo.matricesWeightsAttrDesc && binaryInfo.matricesWeightsAttrDesc.count > 0) {\r\n var matricesWeightsData = new Float32Array(parsedGeometry, binaryInfo.matricesWeightsAttrDesc.offset, binaryInfo.matricesWeightsAttrDesc.count);\r\n mesh.setVerticesData(VertexBuffer.MatricesWeightsKind, matricesWeightsData, false);\r\n }\r\n\r\n if (binaryInfo.indicesAttrDesc && binaryInfo.indicesAttrDesc.count > 0) {\r\n var indicesData = new Int32Array(parsedGeometry, binaryInfo.indicesAttrDesc.offset, binaryInfo.indicesAttrDesc.count);\r\n mesh.setIndices(indicesData, null);\r\n }\r\n\r\n if (binaryInfo.subMeshesAttrDesc && binaryInfo.subMeshesAttrDesc.count > 0) {\r\n var subMeshesData = new Int32Array(parsedGeometry, binaryInfo.subMeshesAttrDesc.offset, binaryInfo.subMeshesAttrDesc.count * 5);\r\n\r\n mesh.subMeshes = [];\r\n for (var i = 0; i < binaryInfo.subMeshesAttrDesc.count; i++) {\r\n var materialIndex = subMeshesData[i * 5 + 0];\r\n var verticesStart = subMeshesData[i * 5 + 1];\r\n var verticesCount = subMeshesData[i * 5 + 2];\r\n var indexStart = subMeshesData[i * 5 + 3];\r\n var indexCount = subMeshesData[i * 5 + 4];\r\n\r\n SubMesh.AddToMesh(materialIndex, verticesStart, verticesCount, indexStart, indexCount, mesh);\r\n }\r\n }\r\n } else if (parsedGeometry.positions && parsedGeometry.normals && parsedGeometry.indices) {\r\n mesh.setVerticesData(VertexBuffer.PositionKind, parsedGeometry.positions, parsedGeometry.positions._updatable);\r\n\r\n mesh.setVerticesData(VertexBuffer.NormalKind, parsedGeometry.normals, parsedGeometry.normals._updatable);\r\n\r\n if (parsedGeometry.tangents) {\r\n mesh.setVerticesData(VertexBuffer.TangentKind, parsedGeometry.tangents, parsedGeometry.tangents._updatable);\r\n }\r\n\r\n if (parsedGeometry.uvs) {\r\n mesh.setVerticesData(VertexBuffer.UVKind, parsedGeometry.uvs, parsedGeometry.uvs._updatable);\r\n }\r\n\r\n if (parsedGeometry.uvs2) {\r\n mesh.setVerticesData(VertexBuffer.UV2Kind, parsedGeometry.uvs2, parsedGeometry.uvs2._updatable);\r\n }\r\n\r\n if (parsedGeometry.uvs3) {\r\n mesh.setVerticesData(VertexBuffer.UV3Kind, parsedGeometry.uvs3, parsedGeometry.uvs3._updatable);\r\n }\r\n\r\n if (parsedGeometry.uvs4) {\r\n mesh.setVerticesData(VertexBuffer.UV4Kind, parsedGeometry.uvs4, parsedGeometry.uvs4._updatable);\r\n }\r\n\r\n if (parsedGeometry.uvs5) {\r\n mesh.setVerticesData(VertexBuffer.UV5Kind, parsedGeometry.uvs5, parsedGeometry.uvs5._updatable);\r\n }\r\n\r\n if (parsedGeometry.uvs6) {\r\n mesh.setVerticesData(VertexBuffer.UV6Kind, parsedGeometry.uvs6, parsedGeometry.uvs6._updatable);\r\n }\r\n\r\n if (parsedGeometry.colors) {\r\n mesh.setVerticesData(VertexBuffer.ColorKind, Color4.CheckColors4(parsedGeometry.colors, parsedGeometry.positions.length / 3), parsedGeometry.colors._updatable);\r\n }\r\n\r\n if (parsedGeometry.matricesIndices) {\r\n if (!parsedGeometry.matricesIndices._isExpanded) {\r\n var floatIndices = [];\r\n\r\n for (var i = 0; i < parsedGeometry.matricesIndices.length; i++) {\r\n var matricesIndex = parsedGeometry.matricesIndices[i];\r\n\r\n floatIndices.push(matricesIndex & 0x000000ff);\r\n floatIndices.push((matricesIndex & 0x0000ff00) >> 8);\r\n floatIndices.push((matricesIndex & 0x00ff0000) >> 16);\r\n floatIndices.push((matricesIndex >> 24) & 0xff); // & 0xFF to convert to v + 256 if v < 0\r\n }\r\n\r\n mesh.setVerticesData(VertexBuffer.MatricesIndicesKind, floatIndices, parsedGeometry.matricesIndices._updatable);\r\n } else {\r\n delete parsedGeometry.matricesIndices._isExpanded;\r\n mesh.setVerticesData(VertexBuffer.MatricesIndicesKind, parsedGeometry.matricesIndices, parsedGeometry.matricesIndices._updatable);\r\n }\r\n }\r\n\r\n if (parsedGeometry.matricesIndicesExtra) {\r\n if (!parsedGeometry.matricesIndicesExtra._isExpanded) {\r\n var floatIndices = [];\r\n\r\n for (var i = 0; i < parsedGeometry.matricesIndicesExtra.length; i++) {\r\n var matricesIndex = parsedGeometry.matricesIndicesExtra[i];\r\n\r\n floatIndices.push(matricesIndex & 0x000000ff);\r\n floatIndices.push((matricesIndex & 0x0000ff00) >> 8);\r\n floatIndices.push((matricesIndex & 0x00ff0000) >> 16);\r\n floatIndices.push((matricesIndex >> 24) & 0xff); // & 0xFF to convert to v + 256 if v < 0\r\n }\r\n\r\n mesh.setVerticesData(VertexBuffer.MatricesIndicesExtraKind, floatIndices, parsedGeometry.matricesIndicesExtra._updatable);\r\n } else {\r\n delete parsedGeometry.matricesIndices._isExpanded;\r\n mesh.setVerticesData(VertexBuffer.MatricesIndicesExtraKind, parsedGeometry.matricesIndicesExtra, parsedGeometry.matricesIndicesExtra._updatable);\r\n }\r\n }\r\n\r\n if (parsedGeometry.matricesWeights) {\r\n Geometry._CleanMatricesWeights(parsedGeometry, mesh);\r\n mesh.setVerticesData(VertexBuffer.MatricesWeightsKind, parsedGeometry.matricesWeights, parsedGeometry.matricesWeights._updatable);\r\n }\r\n\r\n if (parsedGeometry.matricesWeightsExtra) {\r\n mesh.setVerticesData(VertexBuffer.MatricesWeightsExtraKind, parsedGeometry.matricesWeightsExtra, parsedGeometry.matricesWeights._updatable);\r\n }\r\n\r\n mesh.setIndices(parsedGeometry.indices, null);\r\n }\r\n\r\n // SubMeshes\r\n if (parsedGeometry.subMeshes) {\r\n mesh.subMeshes = [];\r\n for (var subIndex = 0; subIndex < parsedGeometry.subMeshes.length; subIndex++) {\r\n var parsedSubMesh = parsedGeometry.subMeshes[subIndex];\r\n\r\n SubMesh.AddToMesh(parsedSubMesh.materialIndex, parsedSubMesh.verticesStart, parsedSubMesh.verticesCount, parsedSubMesh.indexStart, parsedSubMesh.indexCount, mesh);\r\n }\r\n }\r\n\r\n // Flat shading\r\n if (mesh._shouldGenerateFlatShading) {\r\n mesh.convertToFlatShadedMesh();\r\n mesh._shouldGenerateFlatShading = false;\r\n }\r\n\r\n // Update\r\n mesh.computeWorldMatrix(true);\r\n\r\n scene.onMeshImportedObservable.notifyObservers(mesh);\r\n }\r\n\r\n private static _CleanMatricesWeights(parsedGeometry: any, mesh: Mesh): void {\r\n const epsilon: number = 1e-3;\r\n if (!SceneLoaderFlags.CleanBoneMatrixWeights) {\r\n return;\r\n }\r\n let noInfluenceBoneIndex = 0.0;\r\n if (parsedGeometry.skeletonId > -1) {\r\n let skeleton = mesh.getScene().getLastSkeletonByID(parsedGeometry.skeletonId);\r\n\r\n if (!skeleton) {\r\n return;\r\n }\r\n noInfluenceBoneIndex = skeleton.bones.length;\r\n } else {\r\n return;\r\n }\r\n let matricesIndices = mesh.getVerticesData(VertexBuffer.MatricesIndicesKind);\r\n let matricesIndicesExtra = mesh.getVerticesData(VertexBuffer.MatricesIndicesExtraKind);\r\n let matricesWeights = parsedGeometry.matricesWeights;\r\n let matricesWeightsExtra = parsedGeometry.matricesWeightsExtra;\r\n let influencers = parsedGeometry.numBoneInfluencer;\r\n let size = matricesWeights.length;\r\n\r\n for (var i = 0; i < size; i += 4) {\r\n let weight = 0.0;\r\n let firstZeroWeight = -1;\r\n for (var j = 0; j < 4; j++) {\r\n let w = matricesWeights[i + j];\r\n weight += w;\r\n if (w < epsilon && firstZeroWeight < 0) {\r\n firstZeroWeight = j;\r\n }\r\n }\r\n if (matricesWeightsExtra) {\r\n for (var j = 0; j < 4; j++) {\r\n let w = matricesWeightsExtra[i + j];\r\n weight += w;\r\n if (w < epsilon && firstZeroWeight < 0) {\r\n firstZeroWeight = j + 4;\r\n }\r\n }\r\n }\r\n if (firstZeroWeight < 0 || firstZeroWeight > influencers - 1) {\r\n firstZeroWeight = influencers - 1;\r\n }\r\n if (weight > epsilon) {\r\n let mweight = 1.0 / weight;\r\n for (var j = 0; j < 4; j++) {\r\n matricesWeights[i + j] *= mweight;\r\n }\r\n if (matricesWeightsExtra) {\r\n for (var j = 0; j < 4; j++) {\r\n matricesWeightsExtra[i + j] *= mweight;\r\n }\r\n }\r\n } else {\r\n if (firstZeroWeight >= 4) {\r\n matricesWeightsExtra[i + firstZeroWeight - 4] = 1.0 - weight;\r\n matricesIndicesExtra[i + firstZeroWeight - 4] = noInfluenceBoneIndex;\r\n } else {\r\n matricesWeights[i + firstZeroWeight] = 1.0 - weight;\r\n matricesIndices[i + firstZeroWeight] = noInfluenceBoneIndex;\r\n }\r\n }\r\n }\r\n\r\n mesh.setVerticesData(VertexBuffer.MatricesIndicesKind, matricesIndices);\r\n if (parsedGeometry.matricesWeightsExtra) {\r\n mesh.setVerticesData(VertexBuffer.MatricesIndicesExtraKind, matricesIndicesExtra);\r\n }\r\n }\r\n\r\n /**\r\n * Create a new geometry from persisted data (Using .babylon file format)\r\n * @param parsedVertexData defines the persisted data\r\n * @param scene defines the hosting scene\r\n * @param rootUrl defines the root url to use to load assets (like delayed data)\r\n * @returns the new geometry object\r\n */\r\n public static Parse(parsedVertexData: any, scene: Scene, rootUrl: string): Nullable {\r\n if (scene.getGeometryByID(parsedVertexData.id)) {\r\n return null; // null since geometry could be something else than a box...\r\n }\r\n\r\n var geometry = new Geometry(parsedVertexData.id, scene, undefined, parsedVertexData.updatable);\r\n\r\n if (Tags) {\r\n Tags.AddTagsTo(geometry, parsedVertexData.tags);\r\n }\r\n\r\n if (parsedVertexData.delayLoadingFile) {\r\n geometry.delayLoadState = 4;\r\n geometry.delayLoadingFile = rootUrl + parsedVertexData.delayLoadingFile;\r\n geometry._boundingInfo = new BoundingInfo(Vector3.FromArray(parsedVertexData.boundingBoxMinimum), Vector3.FromArray(parsedVertexData.boundingBoxMaximum));\r\n\r\n geometry._delayInfo = [];\r\n if (parsedVertexData.hasUVs) {\r\n geometry._delayInfo.push(VertexBuffer.UVKind);\r\n }\r\n\r\n if (parsedVertexData.hasUVs2) {\r\n geometry._delayInfo.push(VertexBuffer.UV2Kind);\r\n }\r\n\r\n if (parsedVertexData.hasUVs3) {\r\n geometry._delayInfo.push(VertexBuffer.UV3Kind);\r\n }\r\n\r\n if (parsedVertexData.hasUVs4) {\r\n geometry._delayInfo.push(VertexBuffer.UV4Kind);\r\n }\r\n\r\n if (parsedVertexData.hasUVs5) {\r\n geometry._delayInfo.push(VertexBuffer.UV5Kind);\r\n }\r\n\r\n if (parsedVertexData.hasUVs6) {\r\n geometry._delayInfo.push(VertexBuffer.UV6Kind);\r\n }\r\n\r\n if (parsedVertexData.hasColors) {\r\n geometry._delayInfo.push(VertexBuffer.ColorKind);\r\n }\r\n\r\n if (parsedVertexData.hasMatricesIndices) {\r\n geometry._delayInfo.push(VertexBuffer.MatricesIndicesKind);\r\n }\r\n\r\n if (parsedVertexData.hasMatricesWeights) {\r\n geometry._delayInfo.push(VertexBuffer.MatricesWeightsKind);\r\n }\r\n\r\n geometry._delayLoadingFunction = VertexData.ImportVertexData;\r\n } else {\r\n VertexData.ImportVertexData(parsedVertexData, geometry);\r\n }\r\n\r\n scene.pushGeometry(geometry, true);\r\n\r\n return geometry;\r\n }\r\n}\r\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","'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","import * as React from 'react';\nimport FormControlContext from './FormControlContext';\nexport default function useFormControl() {\n return React.useContext(FormControlContext);\n}","import { SerializationHelper } from \"../Misc/decorators\";\r\nimport { Nullable } from \"../types\";\r\nimport { Scene } from \"../scene\";\r\nimport { Matrix, Vector3, Vector2, Vector4 } from \"../Maths/math.vector\";\r\nimport { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { Mesh } from \"../Meshes/mesh\";\r\nimport { SubMesh } from \"../Meshes/subMesh\";\r\nimport { VertexBuffer } from \"../Meshes/buffer\";\r\nimport { BaseTexture } from \"../Materials/Textures/baseTexture\";\r\nimport { Texture } from \"../Materials/Textures/texture\";\r\nimport { MaterialHelper } from \"./materialHelper\";\r\nimport { Effect, IEffectCreationOptions } from \"./effect\";\r\nimport { Material } from \"./material\";\r\nimport { _TypeStore } from '../Misc/typeStore';\r\nimport { Color3, Color4 } from '../Maths/math.color';\r\nimport { EffectFallbacks } from './effectFallbacks';\r\nimport { WebRequest } from '../Misc/webRequest';\r\nimport { Engine } from '../Engines/engine';\r\n\r\nconst onCreatedEffectParameters = { effect: null as unknown as Effect, subMesh: null as unknown as Nullable };\r\n\r\n/**\r\n * Defines the options associated with the creation of a shader material.\r\n */\r\nexport interface IShaderMaterialOptions {\r\n /**\r\n * Does the material work in alpha blend mode\r\n */\r\n needAlphaBlending: boolean;\r\n\r\n /**\r\n * Does the material work in alpha test mode\r\n */\r\n needAlphaTesting: boolean;\r\n\r\n /**\r\n * The list of attribute names used in the shader\r\n */\r\n attributes: string[];\r\n\r\n /**\r\n * The list of unifrom names used in the shader\r\n */\r\n uniforms: string[];\r\n\r\n /**\r\n * The list of UBO names used in the shader\r\n */\r\n uniformBuffers: string[];\r\n\r\n /**\r\n * The list of sampler names used in the shader\r\n */\r\n samplers: string[];\r\n\r\n /**\r\n * The list of defines used in the shader\r\n */\r\n defines: string[];\r\n}\r\n\r\n/**\r\n * The ShaderMaterial object has the necessary methods to pass data from your scene to the Vertex and Fragment Shaders and returns a material that can be applied to any mesh.\r\n *\r\n * This returned material effects how the mesh will look based on the code in the shaders.\r\n *\r\n * @see https://doc.babylonjs.com/how_to/shader_material\r\n */\r\nexport class ShaderMaterial extends Material {\r\n private _shaderPath: any;\r\n private _options: IShaderMaterialOptions;\r\n private _textures: { [name: string]: BaseTexture } = {};\r\n private _textureArrays: { [name: string]: BaseTexture[] } = {};\r\n private _floats: { [name: string]: number } = {};\r\n private _ints: { [name: string]: number } = {};\r\n private _floatsArrays: { [name: string]: number[] } = {};\r\n private _colors3: { [name: string]: Color3 } = {};\r\n private _colors3Arrays: { [name: string]: number[] } = {};\r\n private _colors4: { [name: string]: Color4 } = {};\r\n private _colors4Arrays: { [name: string]: number[] } = {};\r\n private _vectors2: { [name: string]: Vector2 } = {};\r\n private _vectors3: { [name: string]: Vector3 } = {};\r\n private _vectors4: { [name: string]: Vector4 } = {};\r\n private _matrices: { [name: string]: Matrix } = {};\r\n private _matrixArrays: { [name: string]: Float32Array | Array } = {};\r\n private _matrices3x3: { [name: string]: Float32Array | Array } = {};\r\n private _matrices2x2: { [name: string]: Float32Array | Array } = {};\r\n private _vectors2Arrays: { [name: string]: number[] } = {};\r\n private _vectors3Arrays: { [name: string]: number[] } = {};\r\n private _vectors4Arrays: { [name: string]: number[] } = {};\r\n private _cachedWorldViewMatrix = new Matrix();\r\n private _cachedWorldViewProjectionMatrix = new Matrix();\r\n private _renderId: number;\r\n private _multiview: boolean = false;\r\n private _cachedDefines: string;\r\n\r\n /** Define the Url to load snippets */\r\n public static SnippetUrl = \"https://snippet.babylonjs.com\";\r\n\r\n /** Snippet ID if the material was created from the snippet server */\r\n public snippetId: string;\r\n\r\n /**\r\n * Instantiate a new shader material.\r\n * The ShaderMaterial object has the necessary methods to pass data from your scene to the Vertex and Fragment Shaders and returns a material that can be applied to any mesh.\r\n * This returned material effects how the mesh will look based on the code in the shaders.\r\n * @see https://doc.babylonjs.com/how_to/shader_material\r\n * @param name Define the name of the material in the scene\r\n * @param scene Define the scene the material belongs to\r\n * @param shaderPath Defines the route to the shader code in one of three ways:\r\n * * object: { vertex: \"custom\", fragment: \"custom\" }, used with Effect.ShadersStore[\"customVertexShader\"] and Effect.ShadersStore[\"customFragmentShader\"]\r\n * * object: { vertexElement: \"vertexShaderCode\", fragmentElement: \"fragmentShaderCode\" }, used with shader code in script tags\r\n * * object: { vertexSource: \"vertex shader code string\", fragmentSource: \"fragment shader code string\" } using with strings containing the shaders code\r\n * * string: \"./COMMON_NAME\", used with external files COMMON_NAME.vertex.fx and COMMON_NAME.fragment.fx in index.html folder.\r\n * @param options Define the options used to create the shader\r\n */\r\n constructor(name: string, scene: Scene, shaderPath: any, options: Partial = {}) {\r\n super(name, scene);\r\n this._shaderPath = shaderPath;\r\n\r\n this._options = {\r\n needAlphaBlending: false,\r\n needAlphaTesting: false,\r\n attributes: [\"position\", \"normal\", \"uv\"],\r\n uniforms: [\"worldViewProjection\"],\r\n uniformBuffers: [],\r\n samplers: [],\r\n defines: [],\r\n ...options\r\n };\r\n }\r\n\r\n /**\r\n * Gets the shader path used to define the shader code\r\n * It can be modified to trigger a new compilation\r\n */\r\n public get shaderPath(): any {\r\n return this._shaderPath;\r\n }\r\n\r\n /**\r\n * Sets the shader path used to define the shader code\r\n * It can be modified to trigger a new compilation\r\n */\r\n public set shaderPath(shaderPath: any) {\r\n this._shaderPath = shaderPath;\r\n }\r\n\r\n /**\r\n * Gets the options used to compile the shader.\r\n * They can be modified to trigger a new compilation\r\n */\r\n public get options(): IShaderMaterialOptions {\r\n return this._options;\r\n }\r\n\r\n /**\r\n * Gets the current class name of the material e.g. \"ShaderMaterial\"\r\n * Mainly use in serialization.\r\n * @returns the class name\r\n */\r\n public getClassName(): string {\r\n return \"ShaderMaterial\";\r\n }\r\n\r\n /**\r\n * Specifies if the material will require alpha blending\r\n * @returns a boolean specifying if alpha blending is needed\r\n */\r\n public needAlphaBlending(): boolean {\r\n return (this.alpha < 1.0) || this._options.needAlphaBlending;\r\n }\r\n\r\n /**\r\n * Specifies if this material should be rendered in alpha test mode\r\n * @returns a boolean specifying if an alpha test is needed.\r\n */\r\n public needAlphaTesting(): boolean {\r\n return this._options.needAlphaTesting;\r\n }\r\n\r\n private _checkUniform(uniformName: string): void {\r\n if (this._options.uniforms.indexOf(uniformName) === -1) {\r\n this._options.uniforms.push(uniformName);\r\n }\r\n }\r\n\r\n /**\r\n * Set a texture in the shader.\r\n * @param name Define the name of the uniform samplers as defined in the shader\r\n * @param texture Define the texture to bind to this sampler\r\n * @return the material itself allowing \"fluent\" like uniform updates\r\n */\r\n public setTexture(name: string, texture: BaseTexture): ShaderMaterial {\r\n if (this._options.samplers.indexOf(name) === -1) {\r\n this._options.samplers.push(name);\r\n }\r\n this._textures[name] = texture;\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Set a texture array in the shader.\r\n * @param name Define the name of the uniform sampler array as defined in the shader\r\n * @param textures Define the list of textures to bind to this sampler\r\n * @return the material itself allowing \"fluent\" like uniform updates\r\n */\r\n public setTextureArray(name: string, textures: BaseTexture[]): ShaderMaterial {\r\n if (this._options.samplers.indexOf(name) === -1) {\r\n this._options.samplers.push(name);\r\n }\r\n\r\n this._checkUniform(name);\r\n\r\n this._textureArrays[name] = textures;\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Set a float in the shader.\r\n * @param name Define the name of the uniform as defined in the shader\r\n * @param value Define the value to give to the uniform\r\n * @return the material itself allowing \"fluent\" like uniform updates\r\n */\r\n public setFloat(name: string, value: number): ShaderMaterial {\r\n this._checkUniform(name);\r\n this._floats[name] = value;\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Set a int in the shader.\r\n * @param name Define the name of the uniform as defined in the shader\r\n * @param value Define the value to give to the uniform\r\n * @return the material itself allowing \"fluent\" like uniform updates\r\n */\r\n public setInt(name: string, value: number): ShaderMaterial {\r\n this._checkUniform(name);\r\n this._ints[name] = value;\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Set an array of floats in the shader.\r\n * @param name Define the name of the uniform as defined in the shader\r\n * @param value Define the value to give to the uniform\r\n * @return the material itself allowing \"fluent\" like uniform updates\r\n */\r\n public setFloats(name: string, value: number[]): ShaderMaterial {\r\n this._checkUniform(name);\r\n this._floatsArrays[name] = value;\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Set a vec3 in the shader from a Color3.\r\n * @param name Define the name of the uniform as defined in the shader\r\n * @param value Define the value to give to the uniform\r\n * @return the material itself allowing \"fluent\" like uniform updates\r\n */\r\n public setColor3(name: string, value: Color3): ShaderMaterial {\r\n this._checkUniform(name);\r\n this._colors3[name] = value;\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Set a vec3 array in the shader from a Color3 array.\r\n * @param name Define the name of the uniform as defined in the shader\r\n * @param value Define the value to give to the uniform\r\n * @return the material itself allowing \"fluent\" like uniform updates\r\n */\r\n public setColor3Array(name: string, value: Color3[]): ShaderMaterial {\r\n this._checkUniform(name);\r\n this._colors3Arrays[name] = value.reduce((arr, color) => {\r\n color.toArray(arr, arr.length);\r\n return arr;\r\n }, []);\r\n return this;\r\n }\r\n\r\n /**\r\n * Set a vec4 in the shader from a Color4.\r\n * @param name Define the name of the uniform as defined in the shader\r\n * @param value Define the value to give to the uniform\r\n * @return the material itself allowing \"fluent\" like uniform updates\r\n */\r\n public setColor4(name: string, value: Color4): ShaderMaterial {\r\n this._checkUniform(name);\r\n this._colors4[name] = value;\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Set a vec4 array in the shader from a Color4 array.\r\n * @param name Define the name of the uniform as defined in the shader\r\n * @param value Define the value to give to the uniform\r\n * @return the material itself allowing \"fluent\" like uniform updates\r\n */\r\n public setColor4Array(name: string, value: Color4[]): ShaderMaterial {\r\n this._checkUniform(name);\r\n this._colors4Arrays[name] = value.reduce((arr, color) => {\r\n color.toArray(arr, arr.length);\r\n return arr;\r\n }, []);\r\n return this;\r\n }\r\n\r\n /**\r\n * Set a vec2 in the shader from a Vector2.\r\n * @param name Define the name of the uniform as defined in the shader\r\n * @param value Define the value to give to the uniform\r\n * @return the material itself allowing \"fluent\" like uniform updates\r\n */\r\n public setVector2(name: string, value: Vector2): ShaderMaterial {\r\n this._checkUniform(name);\r\n this._vectors2[name] = value;\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Set a vec3 in the shader from a Vector3.\r\n * @param name Define the name of the uniform as defined in the shader\r\n * @param value Define the value to give to the uniform\r\n * @return the material itself allowing \"fluent\" like uniform updates\r\n */\r\n public setVector3(name: string, value: Vector3): ShaderMaterial {\r\n this._checkUniform(name);\r\n this._vectors3[name] = value;\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Set a vec4 in the shader from a Vector4.\r\n * @param name Define the name of the uniform as defined in the shader\r\n * @param value Define the value to give to the uniform\r\n * @return the material itself allowing \"fluent\" like uniform updates\r\n */\r\n public setVector4(name: string, value: Vector4): ShaderMaterial {\r\n this._checkUniform(name);\r\n this._vectors4[name] = value;\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Set a mat4 in the shader from a Matrix.\r\n * @param name Define the name of the uniform as defined in the shader\r\n * @param value Define the value to give to the uniform\r\n * @return the material itself allowing \"fluent\" like uniform updates\r\n */\r\n public setMatrix(name: string, value: Matrix): ShaderMaterial {\r\n this._checkUniform(name);\r\n this._matrices[name] = value;\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Set a float32Array in the shader from a matrix array.\r\n * @param name Define the name of the uniform as defined in the shader\r\n * @param value Define the value to give to the uniform\r\n * @return the material itself allowing \"fluent\" like uniform updates\r\n */\r\n public setMatrices(name: string, value: Matrix[]): ShaderMaterial {\r\n this._checkUniform(name);\r\n\r\n let float32Array = new Float32Array(value.length * 16);\r\n\r\n for (var index = 0; index < value.length; index++) {\r\n let matrix = value[index];\r\n\r\n matrix.copyToArray(float32Array, index * 16);\r\n }\r\n\r\n this._matrixArrays[name] = float32Array;\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Set a mat3 in the shader from a Float32Array.\r\n * @param name Define the name of the uniform as defined in the shader\r\n * @param value Define the value to give to the uniform\r\n * @return the material itself allowing \"fluent\" like uniform updates\r\n */\r\n public setMatrix3x3(name: string, value: Float32Array | Array): ShaderMaterial {\r\n this._checkUniform(name);\r\n this._matrices3x3[name] = value;\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Set a mat2 in the shader from a Float32Array.\r\n * @param name Define the name of the uniform as defined in the shader\r\n * @param value Define the value to give to the uniform\r\n * @return the material itself allowing \"fluent\" like uniform updates\r\n */\r\n public setMatrix2x2(name: string, value: Float32Array | Array): ShaderMaterial {\r\n this._checkUniform(name);\r\n this._matrices2x2[name] = value;\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Set a vec2 array in the shader from a number array.\r\n * @param name Define the name of the uniform as defined in the shader\r\n * @param value Define the value to give to the uniform\r\n * @return the material itself allowing \"fluent\" like uniform updates\r\n */\r\n public setArray2(name: string, value: number[]): ShaderMaterial {\r\n this._checkUniform(name);\r\n this._vectors2Arrays[name] = value;\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Set a vec3 array in the shader from a number array.\r\n * @param name Define the name of the uniform as defined in the shader\r\n * @param value Define the value to give to the uniform\r\n * @return the material itself allowing \"fluent\" like uniform updates\r\n */\r\n public setArray3(name: string, value: number[]): ShaderMaterial {\r\n this._checkUniform(name);\r\n this._vectors3Arrays[name] = value;\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Set a vec4 array in the shader from a number array.\r\n * @param name Define the name of the uniform as defined in the shader\r\n * @param value Define the value to give to the uniform\r\n * @return the material itself allowing \"fluent\" like uniform updates\r\n */\r\n public setArray4(name: string, value: number[]): ShaderMaterial {\r\n this._checkUniform(name);\r\n this._vectors4Arrays[name] = value;\r\n\r\n return this;\r\n }\r\n\r\n private _checkCache(mesh?: AbstractMesh, useInstances?: boolean): boolean {\r\n if (!mesh) {\r\n return true;\r\n }\r\n\r\n if (this._effect && (this._effect.defines.indexOf(\"#define INSTANCES\") !== -1) !== useInstances) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Specifies that the submesh is ready to be used\r\n * @param mesh defines the mesh to check\r\n * @param subMesh defines which submesh to check\r\n * @param useInstances specifies that instances should be used\r\n * @returns a boolean indicating that the submesh is ready or not\r\n */\r\n public isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean {\r\n return this.isReady(mesh, useInstances);\r\n }\r\n\r\n /**\r\n * Checks if the material is ready to render the requested mesh\r\n * @param mesh Define the mesh to render\r\n * @param useInstances Define whether or not the material is used with instances\r\n * @returns true if ready, otherwise false\r\n */\r\n public isReady(mesh?: AbstractMesh, useInstances?: boolean): boolean {\r\n if (this._effect && this.isFrozen) {\r\n if (this._effect._wasPreviouslyReady) {\r\n return true;\r\n }\r\n }\r\n\r\n var scene = this.getScene();\r\n var engine = scene.getEngine();\r\n\r\n if (!this.checkReadyOnEveryCall) {\r\n if (this._renderId === scene.getRenderId()) {\r\n if (this._checkCache(mesh, useInstances)) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n // Instances\r\n var defines = [];\r\n var attribs = [];\r\n var fallbacks = new EffectFallbacks();\r\n\r\n // global multiview\r\n if (engine.getCaps().multiview &&\r\n scene.activeCamera &&\r\n scene.activeCamera.outputRenderTarget &&\r\n scene.activeCamera.outputRenderTarget.getViewCount() > 1) {\r\n this._multiview = true;\r\n defines.push(\"#define MULTIVIEW\");\r\n if (this._options.uniforms.indexOf(\"viewProjection\") !== -1 &&\r\n this._options.uniforms.push(\"viewProjectionR\") === -1) {\r\n this._options.uniforms.push(\"viewProjectionR\");\r\n }\r\n }\r\n\r\n for (var index = 0; index < this._options.defines.length; index++) {\r\n defines.push(this._options.defines[index]);\r\n }\r\n\r\n for (var index = 0; index < this._options.attributes.length; index++) {\r\n attribs.push(this._options.attributes[index]);\r\n }\r\n\r\n if (mesh && mesh.isVerticesDataPresent(VertexBuffer.ColorKind)) {\r\n attribs.push(VertexBuffer.ColorKind);\r\n defines.push(\"#define VERTEXCOLOR\");\r\n }\r\n\r\n if (useInstances) {\r\n defines.push(\"#define INSTANCES\");\r\n MaterialHelper.PushAttributesForInstances(attribs);\r\n if (mesh?.hasThinInstances) {\r\n defines.push(\"#define THIN_INSTANCES\");\r\n }\r\n }\r\n\r\n // Bones\r\n let numInfluencers = 0;\r\n if (mesh && mesh.useBones && mesh.computeBonesUsingShaders && mesh.skeleton) {\r\n attribs.push(VertexBuffer.MatricesIndicesKind);\r\n attribs.push(VertexBuffer.MatricesWeightsKind);\r\n if (mesh.numBoneInfluencers > 4) {\r\n attribs.push(VertexBuffer.MatricesIndicesExtraKind);\r\n attribs.push(VertexBuffer.MatricesWeightsExtraKind);\r\n }\r\n\r\n const skeleton = mesh.skeleton;\r\n\r\n numInfluencers = mesh.numBoneInfluencers;\r\n defines.push(\"#define NUM_BONE_INFLUENCERS \" + numInfluencers);\r\n fallbacks.addCPUSkinningFallback(0, mesh);\r\n\r\n if (skeleton.isUsingTextureForMatrices) {\r\n defines.push(\"#define BONETEXTURE\");\r\n\r\n if (this._options.uniforms.indexOf(\"boneTextureWidth\") === -1) {\r\n this._options.uniforms.push(\"boneTextureWidth\");\r\n }\r\n\r\n if (this._options.samplers.indexOf(\"boneSampler\") === -1) {\r\n this._options.samplers.push(\"boneSampler\");\r\n }\r\n } else {\r\n defines.push(\"#define BonesPerMesh \" + (skeleton.bones.length + 1));\r\n\r\n if (this._options.uniforms.indexOf(\"mBones\") === -1) {\r\n this._options.uniforms.push(\"mBones\");\r\n }\r\n }\r\n } else {\r\n defines.push(\"#define NUM_BONE_INFLUENCERS 0\");\r\n }\r\n\r\n // Textures\r\n for (var name in this._textures) {\r\n if (!this._textures[name].isReady()) {\r\n return false;\r\n }\r\n }\r\n\r\n // Alpha test\r\n if (mesh && this._shouldTurnAlphaTestOn(mesh)) {\r\n defines.push(\"#define ALPHATEST\");\r\n }\r\n\r\n let shaderName = this._shaderPath,\r\n uniforms = this._options.uniforms,\r\n uniformBuffers = this._options.uniformBuffers,\r\n samplers = this._options.samplers;\r\n\r\n if (this.customShaderNameResolve) {\r\n uniforms = uniforms.slice();\r\n uniformBuffers = uniformBuffers.slice();\r\n samplers = samplers.slice();\r\n shaderName = this.customShaderNameResolve(shaderName, uniforms, uniformBuffers, samplers, defines, attribs);\r\n }\r\n\r\n var previousEffect = this._effect;\r\n var join = defines.join(\"\\n\");\r\n\r\n if (this._cachedDefines !== join) {\r\n this._cachedDefines = join;\r\n\r\n this._effect = engine.createEffect(shaderName, {\r\n attributes: attribs,\r\n uniformsNames: uniforms,\r\n uniformBuffersNames: uniformBuffers,\r\n samplers: samplers,\r\n defines: join,\r\n fallbacks: fallbacks,\r\n onCompiled: this.onCompiled,\r\n onError: this.onError,\r\n indexParameters: { maxSimultaneousMorphTargets: numInfluencers }\r\n }, engine);\r\n\r\n if (this._onEffectCreatedObservable) {\r\n onCreatedEffectParameters.effect = this._effect;\r\n this._onEffectCreatedObservable.notifyObservers(onCreatedEffectParameters);\r\n }\r\n }\r\n\r\n if (!this._effect?.isReady() ?? true) {\r\n return false;\r\n }\r\n\r\n if (previousEffect !== this._effect) {\r\n scene.resetCachedMaterial();\r\n }\r\n\r\n this._renderId = scene.getRenderId();\r\n this._effect._wasPreviouslyReady = true;\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Binds the world matrix to the material\r\n * @param world defines the world transformation matrix\r\n * @param effectOverride - If provided, use this effect instead of internal effect\r\n */\r\n public bindOnlyWorldMatrix(world: Matrix, effectOverride?: Nullable): void {\r\n var scene = this.getScene();\r\n\r\n const effect = effectOverride ?? this._effect;\r\n\r\n if (!effect) {\r\n return;\r\n }\r\n\r\n if (this._options.uniforms.indexOf(\"world\") !== -1) {\r\n effect.setMatrix(\"world\", world);\r\n }\r\n\r\n if (this._options.uniforms.indexOf(\"worldView\") !== -1) {\r\n world.multiplyToRef(scene.getViewMatrix(), this._cachedWorldViewMatrix);\r\n effect.setMatrix(\"worldView\", this._cachedWorldViewMatrix);\r\n }\r\n\r\n if (this._options.uniforms.indexOf(\"worldViewProjection\") !== -1) {\r\n world.multiplyToRef(scene.getTransformMatrix(), this._cachedWorldViewProjectionMatrix);\r\n effect.setMatrix(\"worldViewProjection\", this._cachedWorldViewProjectionMatrix);\r\n }\r\n }\r\n\r\n /**\r\n * Binds the submesh to this material by preparing the effect and shader to draw\r\n * @param world defines the world transformation matrix\r\n * @param mesh defines the mesh containing the submesh\r\n * @param subMesh defines the submesh to bind the material to\r\n */\r\n public bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void {\r\n this.bind(world, mesh, subMesh._effectOverride);\r\n }\r\n\r\n /**\r\n * Binds the material to the mesh\r\n * @param world defines the world transformation matrix\r\n * @param mesh defines the mesh to bind the material to\r\n * @param effectOverride - If provided, use this effect instead of internal effect\r\n */\r\n public bind(world: Matrix, mesh?: Mesh, effectOverride?: Nullable): void {\r\n // Std values\r\n this.bindOnlyWorldMatrix(world, effectOverride);\r\n\r\n const effect = effectOverride ?? this._effect;\r\n\r\n if (effect && this.getScene().getCachedMaterial() !== this) {\r\n if (this._options.uniforms.indexOf(\"view\") !== -1) {\r\n effect.setMatrix(\"view\", this.getScene().getViewMatrix());\r\n }\r\n\r\n if (this._options.uniforms.indexOf(\"projection\") !== -1) {\r\n effect.setMatrix(\"projection\", this.getScene().getProjectionMatrix());\r\n }\r\n\r\n if (this._options.uniforms.indexOf(\"viewProjection\") !== -1) {\r\n effect.setMatrix(\"viewProjection\", this.getScene().getTransformMatrix());\r\n if (this._multiview) {\r\n effect.setMatrix(\"viewProjectionR\", this.getScene()._transformMatrixR);\r\n }\r\n }\r\n\r\n if (this.getScene().activeCamera && this._options.uniforms.indexOf(\"cameraPosition\") !== -1) {\r\n effect.setVector3(\"cameraPosition\", this.getScene().activeCamera!.globalPosition);\r\n }\r\n\r\n // Bones\r\n MaterialHelper.BindBonesParameters(mesh, effect);\r\n\r\n var name: string;\r\n // Texture\r\n for (name in this._textures) {\r\n effect.setTexture(name, this._textures[name]);\r\n }\r\n\r\n // Texture arrays\r\n for (name in this._textureArrays) {\r\n effect.setTextureArray(name, this._textureArrays[name]);\r\n }\r\n\r\n // Int\r\n for (name in this._ints) {\r\n effect.setInt(name, this._ints[name]);\r\n }\r\n\r\n // Float\r\n for (name in this._floats) {\r\n effect.setFloat(name, this._floats[name]);\r\n }\r\n\r\n // Floats\r\n for (name in this._floatsArrays) {\r\n effect.setArray(name, this._floatsArrays[name]);\r\n }\r\n\r\n // Color3\r\n for (name in this._colors3) {\r\n effect.setColor3(name, this._colors3[name]);\r\n }\r\n\r\n // Color3Array\r\n for (name in this._colors3Arrays) {\r\n effect.setArray3(name, this._colors3Arrays[name]);\r\n }\r\n\r\n // Color4\r\n for (name in this._colors4) {\r\n var color = this._colors4[name];\r\n effect.setFloat4(name, color.r, color.g, color.b, color.a);\r\n }\r\n\r\n // Color4Array\r\n for (name in this._colors4Arrays) {\r\n effect.setArray4(name, this._colors4Arrays[name]);\r\n }\r\n\r\n // Vector2\r\n for (name in this._vectors2) {\r\n effect.setVector2(name, this._vectors2[name]);\r\n }\r\n\r\n // Vector3\r\n for (name in this._vectors3) {\r\n effect.setVector3(name, this._vectors3[name]);\r\n }\r\n\r\n // Vector4\r\n for (name in this._vectors4) {\r\n effect.setVector4(name, this._vectors4[name]);\r\n }\r\n\r\n // Matrix\r\n for (name in this._matrices) {\r\n effect.setMatrix(name, this._matrices[name]);\r\n }\r\n\r\n // MatrixArray\r\n for (name in this._matrixArrays) {\r\n effect.setMatrices(name, this._matrixArrays[name]);\r\n }\r\n\r\n // Matrix 3x3\r\n for (name in this._matrices3x3) {\r\n effect.setMatrix3x3(name, this._matrices3x3[name]);\r\n }\r\n\r\n // Matrix 2x2\r\n for (name in this._matrices2x2) {\r\n effect.setMatrix2x2(name, this._matrices2x2[name]);\r\n }\r\n\r\n // Vector2Array\r\n for (name in this._vectors2Arrays) {\r\n effect.setArray2(name, this._vectors2Arrays[name]);\r\n }\r\n\r\n // Vector3Array\r\n for (name in this._vectors3Arrays) {\r\n effect.setArray3(name, this._vectors3Arrays[name]);\r\n }\r\n\r\n // Vector4Array\r\n for (name in this._vectors4Arrays) {\r\n effect.setArray4(name, this._vectors4Arrays[name]);\r\n }\r\n }\r\n\r\n const seffect = this._effect;\r\n\r\n this._effect = effect; // make sure the active effect is the right one if there are some observers for onBind that would need to get the current effect\r\n this._afterBind(mesh);\r\n this._effect = seffect;\r\n }\r\n\r\n protected _afterBind(mesh?: Mesh): void {\r\n super._afterBind(mesh);\r\n this.getScene()._cachedEffect = this._effect;\r\n }\r\n\r\n /**\r\n * Gets the active textures from the material\r\n * @returns an array of textures\r\n */\r\n public getActiveTextures(): BaseTexture[] {\r\n var activeTextures = super.getActiveTextures();\r\n\r\n for (var name in this._textures) {\r\n activeTextures.push(this._textures[name]);\r\n }\r\n\r\n for (var name in this._textureArrays) {\r\n var array = this._textureArrays[name];\r\n for (var index = 0; index < array.length; index++) {\r\n activeTextures.push(array[index]);\r\n }\r\n }\r\n\r\n return activeTextures;\r\n }\r\n\r\n /**\r\n * Specifies if the material uses a texture\r\n * @param texture defines the texture to check against the material\r\n * @returns a boolean specifying if the material uses the texture\r\n */\r\n public hasTexture(texture: BaseTexture): boolean {\r\n if (super.hasTexture(texture)) {\r\n return true;\r\n }\r\n\r\n for (var name in this._textures) {\r\n if (this._textures[name] === texture) {\r\n return true;\r\n }\r\n }\r\n\r\n for (var name in this._textureArrays) {\r\n var array = this._textureArrays[name];\r\n for (var index = 0; index < array.length; index++) {\r\n if (array[index] === texture) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Makes a duplicate of the material, and gives it a new name\r\n * @param name defines the new name for the duplicated material\r\n * @returns the cloned material\r\n */\r\n public clone(name: string): ShaderMaterial {\r\n var result = SerializationHelper.Clone(() => new ShaderMaterial(name, this.getScene(), this._shaderPath, this._options), this);\r\n\r\n result.name = name;\r\n result.id = name;\r\n\r\n // Shader code path\r\n if (typeof result._shaderPath === 'object') {\r\n result._shaderPath = { ...result._shaderPath };\r\n }\r\n\r\n // Options\r\n this._options = { ...this._options };\r\n\r\n (Object.keys(this._options) as Array).forEach((propName) => {\r\n const propValue = this._options[propName];\r\n if (Array.isArray(propValue)) {\r\n (this._options[propName]) = propValue.slice(0);\r\n }\r\n });\r\n\r\n // Texture\r\n for (var key in this._textures) {\r\n result.setTexture(key, this._textures[key]);\r\n }\r\n\r\n // Float\r\n for (var key in this._floats) {\r\n result.setFloat(key, this._floats[key]);\r\n }\r\n\r\n // Floats\r\n for (var key in this._floatsArrays) {\r\n result.setFloats(key, this._floatsArrays[key]);\r\n }\r\n\r\n // Color3\r\n for (var key in this._colors3) {\r\n result.setColor3(key, this._colors3[key]);\r\n }\r\n\r\n // Color4\r\n for (var key in this._colors4) {\r\n result.setColor4(key, this._colors4[key]);\r\n }\r\n\r\n // Vector2\r\n for (var key in this._vectors2) {\r\n result.setVector2(key, this._vectors2[key]);\r\n }\r\n\r\n // Vector3\r\n for (var key in this._vectors3) {\r\n result.setVector3(key, this._vectors3[key]);\r\n }\r\n\r\n // Vector4\r\n for (var key in this._vectors4) {\r\n result.setVector4(key, this._vectors4[key]);\r\n }\r\n\r\n // Matrix\r\n for (var key in this._matrices) {\r\n result.setMatrix(key, this._matrices[key]);\r\n }\r\n\r\n // Matrix 3x3\r\n for (var key in this._matrices3x3) {\r\n result.setMatrix3x3(key, this._matrices3x3[key]);\r\n }\r\n\r\n // Matrix 2x2\r\n for (var key in this._matrices2x2) {\r\n result.setMatrix2x2(key, this._matrices2x2[key]);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Disposes the material\r\n * @param forceDisposeEffect specifies if effects should be forcefully disposed\r\n * @param forceDisposeTextures specifies if textures should be forcefully disposed\r\n * @param notBoundToMesh specifies if the material that is being disposed is known to be not bound to any mesh\r\n */\r\n public dispose(forceDisposeEffect?: boolean, forceDisposeTextures?: boolean, notBoundToMesh?: boolean): void {\r\n\r\n if (forceDisposeTextures) {\r\n var name: string;\r\n for (name in this._textures) {\r\n this._textures[name].dispose();\r\n }\r\n\r\n for (name in this._textureArrays) {\r\n var array = this._textureArrays[name];\r\n for (var index = 0; index < array.length; index++) {\r\n array[index].dispose();\r\n }\r\n }\r\n }\r\n\r\n this._textures = {};\r\n\r\n super.dispose(forceDisposeEffect, forceDisposeTextures, notBoundToMesh);\r\n }\r\n\r\n /**\r\n * Serializes this material in a JSON representation\r\n * @returns the serialized material object\r\n */\r\n public serialize(): any {\r\n var serializationObject = SerializationHelper.Serialize(this);\r\n serializationObject.customType = \"BABYLON.ShaderMaterial\";\r\n\r\n serializationObject.options = this._options;\r\n serializationObject.shaderPath = this._shaderPath;\r\n\r\n var name: string;\r\n\r\n // Texture\r\n serializationObject.textures = {};\r\n for (name in this._textures) {\r\n serializationObject.textures[name] = this._textures[name].serialize();\r\n }\r\n\r\n // Texture arrays\r\n serializationObject.textureArrays = {};\r\n for (name in this._textureArrays) {\r\n serializationObject.textureArrays[name] = [];\r\n var array = this._textureArrays[name];\r\n for (var index = 0; index < array.length; index++) {\r\n serializationObject.textureArrays[name].push(array[index].serialize());\r\n }\r\n }\r\n\r\n // Float\r\n serializationObject.floats = {};\r\n for (name in this._floats) {\r\n serializationObject.floats[name] = this._floats[name];\r\n }\r\n\r\n // Floats\r\n serializationObject.FloatArrays = {};\r\n for (name in this._floatsArrays) {\r\n serializationObject.FloatArrays[name] = this._floatsArrays[name];\r\n }\r\n\r\n // Color3\r\n serializationObject.colors3 = {};\r\n for (name in this._colors3) {\r\n serializationObject.colors3[name] = this._colors3[name].asArray();\r\n }\r\n\r\n // Color3 array\r\n serializationObject.colors3Arrays = {};\r\n for (name in this._colors3Arrays) {\r\n serializationObject.colors3Arrays[name] = this._colors3Arrays[name];\r\n }\r\n\r\n // Color4\r\n serializationObject.colors4 = {};\r\n for (name in this._colors4) {\r\n serializationObject.colors4[name] = this._colors4[name].asArray();\r\n }\r\n\r\n // Color4 array\r\n serializationObject.colors4Arrays = {};\r\n for (name in this._colors4Arrays) {\r\n serializationObject.colors4Arrays[name] = this._colors4Arrays[name];\r\n }\r\n\r\n // Vector2\r\n serializationObject.vectors2 = {};\r\n for (name in this._vectors2) {\r\n serializationObject.vectors2[name] = this._vectors2[name].asArray();\r\n }\r\n\r\n // Vector3\r\n serializationObject.vectors3 = {};\r\n for (name in this._vectors3) {\r\n serializationObject.vectors3[name] = this._vectors3[name].asArray();\r\n }\r\n\r\n // Vector4\r\n serializationObject.vectors4 = {};\r\n for (name in this._vectors4) {\r\n serializationObject.vectors4[name] = this._vectors4[name].asArray();\r\n }\r\n\r\n // Matrix\r\n serializationObject.matrices = {};\r\n for (name in this._matrices) {\r\n serializationObject.matrices[name] = this._matrices[name].asArray();\r\n }\r\n\r\n // MatrixArray\r\n serializationObject.matrixArray = {};\r\n for (name in this._matrixArrays) {\r\n serializationObject.matrixArray[name] = this._matrixArrays[name];\r\n }\r\n\r\n // Matrix 3x3\r\n serializationObject.matrices3x3 = {};\r\n for (name in this._matrices3x3) {\r\n serializationObject.matrices3x3[name] = this._matrices3x3[name];\r\n }\r\n\r\n // Matrix 2x2\r\n serializationObject.matrices2x2 = {};\r\n for (name in this._matrices2x2) {\r\n serializationObject.matrices2x2[name] = this._matrices2x2[name];\r\n }\r\n\r\n // Vector2Array\r\n serializationObject.vectors2Arrays = {};\r\n for (name in this._vectors2Arrays) {\r\n serializationObject.vectors2Arrays[name] = this._vectors2Arrays[name];\r\n }\r\n\r\n // Vector3Array\r\n serializationObject.vectors3Arrays = {};\r\n for (name in this._vectors3Arrays) {\r\n serializationObject.vectors3Arrays[name] = this._vectors3Arrays[name];\r\n }\r\n\r\n // Vector4Array\r\n serializationObject.vectors4Arrays = {};\r\n for (name in this._vectors4Arrays) {\r\n serializationObject.vectors4Arrays[name] = this._vectors4Arrays[name];\r\n }\r\n\r\n return serializationObject;\r\n }\r\n\r\n /**\r\n * Creates a shader material from parsed shader material data\r\n * @param source defines the JSON represnetation of the material\r\n * @param scene defines the hosting scene\r\n * @param rootUrl defines the root URL to use to load textures and relative dependencies\r\n * @returns a new material\r\n */\r\n public static Parse(source: any, scene: Scene, rootUrl: string): ShaderMaterial {\r\n var material = SerializationHelper.Parse(() => new ShaderMaterial(source.name, scene, source.shaderPath, source.options), source, scene, rootUrl);\r\n\r\n var name: string;\r\n\r\n // Texture\r\n for (name in source.textures) {\r\n material.setTexture(name, Texture.Parse(source.textures[name], scene, rootUrl));\r\n }\r\n\r\n // Texture arrays\r\n for (name in source.textureArrays) {\r\n var array = source.textureArrays[name];\r\n var textureArray = new Array();\r\n\r\n for (var index = 0; index < array.length; index++) {\r\n textureArray.push(Texture.Parse(array[index], scene, rootUrl));\r\n }\r\n material.setTextureArray(name, textureArray);\r\n }\r\n\r\n // Float\r\n for (name in source.floats) {\r\n material.setFloat(name, source.floats[name]);\r\n }\r\n\r\n // Float s\r\n for (name in source.floatsArrays) {\r\n material.setFloats(name, source.floatsArrays[name]);\r\n }\r\n\r\n // Color3\r\n for (name in source.colors3) {\r\n material.setColor3(name, Color3.FromArray(source.colors3[name]));\r\n }\r\n\r\n // Color3 arrays\r\n for (name in source.colors3Arrays) {\r\n const colors: Color3[] = source.colors3Arrays[name].reduce((arr: Array>, num: number, i: number) => {\r\n if (i % 3 === 0) {\r\n arr.push([num]);\r\n } else {\r\n arr[arr.length - 1].push(num);\r\n }\r\n return arr;\r\n }, []).map((color: ArrayLike) => Color3.FromArray(color));\r\n material.setColor3Array(name, colors);\r\n }\r\n\r\n // Color4\r\n for (name in source.colors4) {\r\n material.setColor4(name, Color4.FromArray(source.colors4[name]));\r\n }\r\n\r\n // Color4 arrays\r\n for (name in source.colors4Arrays) {\r\n const colors: Color4[] = source.colors4Arrays[name].reduce((arr: Array>, num: number, i: number) => {\r\n if (i % 4 === 0) {\r\n arr.push([num]);\r\n } else {\r\n arr[arr.length - 1].push(num);\r\n }\r\n return arr;\r\n }, []).map((color: ArrayLike) => Color4.FromArray(color));\r\n material.setColor4Array(name, colors);\r\n }\r\n\r\n // Vector2\r\n for (name in source.vectors2) {\r\n material.setVector2(name, Vector2.FromArray(source.vectors2[name]));\r\n }\r\n\r\n // Vector3\r\n for (name in source.vectors3) {\r\n material.setVector3(name, Vector3.FromArray(source.vectors3[name]));\r\n }\r\n\r\n // Vector4\r\n for (name in source.vectors4) {\r\n material.setVector4(name, Vector4.FromArray(source.vectors4[name]));\r\n }\r\n\r\n // Matrix\r\n for (name in source.matrices) {\r\n material.setMatrix(name, Matrix.FromArray(source.matrices[name]));\r\n }\r\n\r\n // MatrixArray\r\n for (name in source.matrixArray) {\r\n material._matrixArrays[name] = new Float32Array(source.matrixArray[name]);\r\n }\r\n\r\n // Matrix 3x3\r\n for (name in source.matrices3x3) {\r\n material.setMatrix3x3(name, source.matrices3x3[name]);\r\n }\r\n\r\n // Matrix 2x2\r\n for (name in source.matrices2x2) {\r\n material.setMatrix2x2(name, source.matrices2x2[name]);\r\n }\r\n\r\n // Vector2Array\r\n for (name in source.vectors2Arrays) {\r\n material.setArray2(name, source.vectors2Arrays[name]);\r\n }\r\n\r\n // Vector3Array\r\n for (name in source.vectors3Arrays) {\r\n material.setArray3(name, source.vectors3Arrays[name]);\r\n }\r\n\r\n // Vector4Array\r\n for (name in source.vectors4Arrays) {\r\n material.setArray4(name, source.vectors4Arrays[name]);\r\n }\r\n\r\n return material;\r\n }\r\n\r\n /**\r\n * Creates a new ShaderMaterial from a snippet saved in a remote file\r\n * @param name defines the name of the ShaderMaterial to create (can be null or empty to use the one from the json data)\r\n * @param url defines the url to load from\r\n * @param scene defines the hosting scene\r\n * @param rootUrl defines the root URL to use to load textures and relative dependencies\r\n * @returns a promise that will resolve to the new ShaderMaterial\r\n */\r\n public static ParseFromFileAsync(name: Nullable, url: string, scene: Scene, rootUrl: string = \"\"): Promise {\r\n\r\n return new Promise((resolve, reject) => {\r\n var request = new WebRequest();\r\n request.addEventListener(\"readystatechange\", () => {\r\n if (request.readyState == 4) {\r\n if (request.status == 200) {\r\n let serializationObject = JSON.parse(request.responseText);\r\n let output = this.Parse(serializationObject, scene || Engine.LastCreatedScene, rootUrl);\r\n\r\n if (name) {\r\n output.name = name;\r\n }\r\n\r\n resolve(output);\r\n } else {\r\n reject(\"Unable to load the ShaderMaterial\");\r\n }\r\n }\r\n });\r\n\r\n request.open(\"GET\", url);\r\n request.send();\r\n });\r\n }\r\n\r\n /**\r\n * Creates a ShaderMaterial from a snippet saved by the Inspector\r\n * @param snippetId defines the snippet to load\r\n * @param scene defines the hosting scene\r\n * @param rootUrl defines the root URL to use to load textures and relative dependencies\r\n * @returns a promise that will resolve to the new ShaderMaterial\r\n */\r\n public static CreateFromSnippetAsync(snippetId: string, scene: Scene, rootUrl: string = \"\"): Promise {\r\n return new Promise((resolve, reject) => {\r\n var request = new WebRequest();\r\n request.addEventListener(\"readystatechange\", () => {\r\n if (request.readyState == 4) {\r\n if (request.status == 200) {\r\n var snippet = JSON.parse(JSON.parse(request.responseText).jsonPayload);\r\n let serializationObject = JSON.parse(snippet.shaderMaterial);\r\n let output = this.Parse(serializationObject, scene || Engine.LastCreatedScene, rootUrl);\r\n\r\n output.snippetId = snippetId;\r\n\r\n resolve(output);\r\n } else {\r\n reject(\"Unable to load the snippet \" + snippetId);\r\n }\r\n }\r\n });\r\n\r\n request.open(\"GET\", this.SnippetUrl + \"/\" + snippetId.replace(/#/g, \"/\"));\r\n request.send();\r\n });\r\n }\r\n}\r\n\r\n_TypeStore.RegisteredTypes[\"BABYLON.ShaderMaterial\"] = ShaderMaterial;\r\n","// Corresponds to 10 frames at 60 Hz.\n// A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B.\nexport default function debounce(func) {\n var wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 166;\n var timeout;\n\n function debounced() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n // eslint-disable-next-line consistent-this\n var that = this;\n\n var later = function later() {\n func.apply(that, args);\n };\n\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n }\n\n debounced.clear = function () {\n clearTimeout(timeout);\n };\n\n return debounced;\n}","/** @hidden */\r\nexport class PerformanceConfigurator {\r\n /** @hidden */\r\n public static MatrixUse64Bits = false;\r\n /** @hidden */\r\n public static MatrixTrackPrecisionChange = true;\r\n /** @hidden */\r\n public static MatrixCurrentType: any = Float32Array;\r\n /** @hidden */\r\n public static MatrixTrackedMatrices: Array | null = [];\r\n\r\n /** @hidden */\r\n public static SetMatrixPrecision(use64bits: boolean) {\r\n PerformanceConfigurator.MatrixTrackPrecisionChange = false;\r\n\r\n if (use64bits && !PerformanceConfigurator.MatrixUse64Bits) {\r\n if (PerformanceConfigurator.MatrixTrackedMatrices) {\r\n for (let m = 0; m < PerformanceConfigurator.MatrixTrackedMatrices.length; ++m) {\r\n const matrix = PerformanceConfigurator.MatrixTrackedMatrices[m];\r\n const values = matrix._m;\r\n\r\n matrix._m = new Array(16);\r\n\r\n for (let i = 0; i < 16; ++i) {\r\n matrix._m[i] = values[i];\r\n }\r\n }\r\n }\r\n }\r\n\r\n PerformanceConfigurator.MatrixUse64Bits = use64bits;\r\n PerformanceConfigurator.MatrixCurrentType = PerformanceConfigurator.MatrixUse64Bits ? Array : Float32Array;\r\n PerformanceConfigurator.MatrixTrackedMatrices = null; // reclaim some memory, as we don't need _TrackedMatrices anymore\r\n }\r\n}\r\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n throw new Error(prefix + \": \" + (message || ''));\n}\n\nexport default invariant;\n","import objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React from 'react';\nimport SvgIcon from '../SvgIcon';\n/**\n * Private module reserved for @material-ui/x packages.\n */\n\nexport default function createSvgIcon(path, displayName) {\n var Component = function Component(props, ref) {\n return /*#__PURE__*/React.createElement(SvgIcon, _extends({\n ref: ref\n }, props), path);\n };\n\n if (process.env.NODE_ENV !== 'production') {\n // Need to set `displayName` on the inner component for React.memo.\n // React prior to 16.14 ignores `displayName` on the wrapper.\n Component.displayName = \"\".concat(displayName, \"Icon\");\n }\n\n Component.muiName = SvgIcon.muiName;\n return /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(Component));\n}","var has = Object.prototype.hasOwnProperty;\n\nexport function dequal(foo, bar) {\n\tvar ctor, len;\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 || 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","// use WeakMap to store the object->key mapping\n// so the objects can be garbage collected.\n// WeakMap uses a hashtable under the hood, so the lookup\n// complexity is almost O(1).\nvar table = new WeakMap();\n// counter of the key\nvar counter = 0;\n// hashes an array of objects and returns a string\nexport default function hash(args) {\n if (!args.length)\n return '';\n var key = 'arg';\n for (var i = 0; i < args.length; ++i) {\n if (args[i] === null) {\n key += '@null';\n continue;\n }\n var _hash = void 0;\n if (typeof args[i] !== 'object' && typeof args[i] !== 'function') {\n // need to consider the case that args[i] is a string:\n // args[i] _hash\n // \"undefined\" -> '\"undefined\"'\n // undefined -> 'undefined'\n // 123 -> '123'\n // \"null\" -> '\"null\"'\n if (typeof args[i] === 'string') {\n _hash = '\"' + args[i] + '\"';\n }\n else {\n _hash = String(args[i]);\n }\n }\n else {\n if (!table.has(args[i])) {\n _hash = counter;\n table.set(args[i], counter++);\n }\n else {\n _hash = table.get(args[i]);\n }\n }\n key += '@' + _hash;\n }\n return key;\n}\n","import hash from './libs/hash';\nvar Cache = /** @class */ (function () {\n function Cache(initialData) {\n if (initialData === void 0) { initialData = {}; }\n this.cache = new Map(Object.entries(initialData));\n this.subs = [];\n }\n Cache.prototype.get = function (key) {\n var _key = this.serializeKey(key)[0];\n return this.cache.get(_key);\n };\n Cache.prototype.set = function (key, value) {\n var _key = this.serializeKey(key)[0];\n this.cache.set(_key, value);\n this.notify();\n };\n Cache.prototype.keys = function () {\n return Array.from(this.cache.keys());\n };\n Cache.prototype.has = function (key) {\n var _key = this.serializeKey(key)[0];\n return this.cache.has(_key);\n };\n Cache.prototype.clear = function () {\n this.cache.clear();\n this.notify();\n };\n Cache.prototype.delete = function (key) {\n var _key = this.serializeKey(key)[0];\n this.cache.delete(_key);\n this.notify();\n };\n // TODO: introduce namespace for the cache\n Cache.prototype.serializeKey = function (key) {\n var args = null;\n if (typeof key === 'function') {\n try {\n key = key();\n }\n catch (err) {\n // dependencies not ready\n key = '';\n }\n }\n if (Array.isArray(key)) {\n // args array\n args = key;\n key = hash(key);\n }\n else {\n // convert null to ''\n key = String(key || '');\n }\n var errorKey = key ? 'err@' + key : '';\n var isValidatingKey = key ? 'validating@' + key : '';\n return [key, args, errorKey, isValidatingKey];\n };\n Cache.prototype.subscribe = function (listener) {\n var _this = this;\n if (typeof listener !== 'function') {\n throw new Error('Expected the listener to be a function.');\n }\n var isSubscribed = true;\n this.subs.push(listener);\n return function () {\n if (!isSubscribed)\n return;\n isSubscribed = false;\n var index = _this.subs.indexOf(listener);\n if (index > -1) {\n _this.subs[index] = _this.subs[_this.subs.length - 1];\n _this.subs.length--;\n }\n };\n };\n // Notify Cache subscribers about a change in the cache\n Cache.prototype.notify = function () {\n for (var _i = 0, _a = this.subs; _i < _a.length; _i++) {\n var listener = _a[_i];\n listener();\n }\n };\n return Cache;\n}());\nexport default Cache;\n","/**\n * Due to bug https://bugs.chromium.org/p/chromium/issues/detail?id=678075,\n * it's not reliable to detect if the browser is currently online or offline\n * based on `navigator.onLine`.\n * As a work around, we always assume it's online on first load, and change\n * the status upon `online` or `offline` events.\n */\nvar online = true;\nvar isOnline = function () { return online; };\nvar isDocumentVisible = function () {\n if (typeof document !== 'undefined' &&\n document.visibilityState !== undefined) {\n return document.visibilityState !== 'hidden';\n }\n // always assume it's visible\n return true;\n};\nvar fetcher = function (url) { return fetch(url).then(function (res) { return res.json(); }); };\nvar registerOnFocus = function (cb) {\n if (typeof window !== 'undefined' &&\n window.addEventListener !== undefined &&\n typeof document !== 'undefined' &&\n document.addEventListener !== undefined) {\n // focus revalidate\n document.addEventListener('visibilitychange', function () { return cb(); }, false);\n window.addEventListener('focus', function () { return cb(); }, false);\n }\n};\nvar registerOnReconnect = function (cb) {\n if (typeof window !== 'undefined' && window.addEventListener !== undefined) {\n // reconnect revalidate\n window.addEventListener('online', function () {\n online = true;\n cb();\n }, false);\n // nothing to revalidate, just update the status\n window.addEventListener('offline', function () { return (online = false); }, false);\n }\n};\nexport default {\n isOnline: isOnline,\n isDocumentVisible: isDocumentVisible,\n fetcher: fetcher,\n registerOnFocus: registerOnFocus,\n registerOnReconnect: registerOnReconnect\n};\n","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))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { dequal } from 'dequal/lite';\nimport Cache from './cache';\nimport webPreset from './libs/web-preset';\n// cache\nvar cache = new Cache();\n// error retry\nfunction onErrorRetry(_, __, config, revalidate, opts) {\n if (!config.isDocumentVisible()) {\n // if it's hidden, stop\n // it will auto revalidate when focus\n return;\n }\n if (typeof config.errorRetryCount === 'number' &&\n opts.retryCount > config.errorRetryCount) {\n return;\n }\n // exponential backoff\n var count = Math.min(opts.retryCount, 8);\n var timeout = ~~((Math.random() + 0.5) * (1 << count)) * config.errorRetryInterval;\n setTimeout(revalidate, timeout, opts);\n}\n// client side: need to adjust the config\n// based on the browser status\n// slow connection (<= 70Kbps)\nvar slowConnection = typeof window !== 'undefined' &&\n // @ts-ignore\n navigator['connection'] &&\n // @ts-ignore\n ['slow-2g', '2g'].indexOf(navigator['connection'].effectiveType) !== -1;\n// config\nvar defaultConfig = __assign({ \n // events\n onLoadingSlow: function () { }, onSuccess: function () { }, onError: function () { }, onErrorRetry: onErrorRetry, errorRetryInterval: (slowConnection ? 10 : 5) * 1000, focusThrottleInterval: 5 * 1000, dedupingInterval: 2 * 1000, loadingTimeout: (slowConnection ? 5 : 3) * 1000, refreshInterval: 0, revalidateOnFocus: true, revalidateOnReconnect: true, refreshWhenHidden: false, refreshWhenOffline: false, shouldRetryOnError: true, suspense: false, compare: dequal, isPaused: function () { return false; } }, webPreset);\nexport { cache };\nexport default defaultConfig;\n","import { useEffect, useLayoutEffect } from 'react';\nexport var IS_SERVER = typeof window === 'undefined' ||\n // @ts-ignore\n !!(typeof Deno !== 'undefined' && Deno && Deno.version && Deno.version.deno);\n// polyfill for requestAnimationFrame\nexport var rAF = IS_SERVER\n ? null\n : window['requestAnimationFrame']\n ? function (f) { return window['requestAnimationFrame'](f); }\n : function (f) { return setTimeout(f, 1); };\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.\nexport var useIsomorphicLayoutEffect = IS_SERVER ? useEffect : useLayoutEffect;\n","import { createContext } from 'react';\nvar SWRConfigContext = createContext({});\nSWRConfigContext.displayName = 'SWRConfigContext';\nexport default SWRConfigContext;\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n// TODO: use @ts-expect-error\nimport { useCallback, useContext, useState, useRef, useMemo, useDebugValue } from 'react';\nimport defaultConfig, { cache } from './config';\nimport { IS_SERVER, rAF, useIsomorphicLayoutEffect } from './env';\nimport SWRConfigContext from './swr-config-context';\n// global state managers\nvar CONCURRENT_PROMISES = {};\nvar CONCURRENT_PROMISES_TS = {};\nvar FOCUS_REVALIDATORS = {};\nvar RECONNECT_REVALIDATORS = {};\nvar CACHE_REVALIDATORS = {};\nvar MUTATION_TS = {};\nvar MUTATION_END_TS = {};\n// generate strictly increasing timestamps\nvar now = (function () {\n var ts = 0;\n return function () { return ++ts; };\n})();\n// setup DOM events listeners for `focus` and `reconnect` actions\nif (!IS_SERVER) {\n var revalidate_1 = function (revalidators) {\n if (!defaultConfig.isDocumentVisible() || !defaultConfig.isOnline())\n return;\n for (var key in revalidators) {\n if (revalidators[key][0])\n revalidators[key][0]();\n }\n };\n if (typeof defaultConfig.registerOnFocus === 'function') {\n defaultConfig.registerOnFocus(function () { return revalidate_1(FOCUS_REVALIDATORS); });\n }\n if (typeof defaultConfig.registerOnReconnect === 'function') {\n defaultConfig.registerOnReconnect(function () { return revalidate_1(RECONNECT_REVALIDATORS); });\n }\n}\nvar trigger = function (_key, shouldRevalidate) {\n if (shouldRevalidate === void 0) { shouldRevalidate = true; }\n // we are ignoring the second argument which correspond to the arguments\n // the fetcher will receive when key is an array\n var _a = cache.serializeKey(_key), key = _a[0], keyErr = _a[2], keyValidating = _a[3];\n if (!key)\n return Promise.resolve();\n var updaters = CACHE_REVALIDATORS[key];\n if (key && updaters) {\n var currentData = cache.get(key);\n var currentError = cache.get(keyErr);\n var currentIsValidating = cache.get(keyValidating);\n var promises = [];\n for (var i = 0; i < updaters.length; ++i) {\n promises.push(updaters[i](shouldRevalidate, currentData, currentError, currentIsValidating, i > 0));\n }\n // return new updated value\n return Promise.all(promises).then(function () { return cache.get(key); });\n }\n return Promise.resolve(cache.get(key));\n};\nvar broadcastState = function (key, data, error, isValidating) {\n var updaters = CACHE_REVALIDATORS[key];\n if (key && updaters) {\n for (var i = 0; i < updaters.length; ++i) {\n updaters[i](false, data, error, isValidating);\n }\n }\n};\nvar mutate = function (_key, _data, shouldRevalidate) {\n if (shouldRevalidate === void 0) { shouldRevalidate = true; }\n return __awaiter(void 0, void 0, void 0, function () {\n var _a, key, keyErr, beforeMutationTs, beforeConcurrentPromisesTs, data, error, isAsyncMutation, err_1, shouldAbort, updaters, promises, i;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = cache.serializeKey(_key), key = _a[0], keyErr = _a[2];\n if (!key)\n return [2 /*return*/];\n // if there is no new data to update, let's just revalidate the key\n if (typeof _data === 'undefined')\n return [2 /*return*/, trigger(_key, shouldRevalidate)\n // update global timestamps\n ];\n // update global timestamps\n MUTATION_TS[key] = now() - 1;\n MUTATION_END_TS[key] = 0;\n beforeMutationTs = MUTATION_TS[key];\n beforeConcurrentPromisesTs = CONCURRENT_PROMISES_TS[key];\n isAsyncMutation = false;\n if (_data && typeof _data === 'function') {\n // `_data` is a function, call it passing current cache value\n try {\n _data = _data(cache.get(key));\n }\n catch (err) {\n // if `_data` function throws an error synchronously, it shouldn't be cached\n _data = undefined;\n error = err;\n }\n }\n if (!(_data && typeof _data.then === 'function')) return [3 /*break*/, 5];\n // `_data` is a promise\n isAsyncMutation = true;\n _b.label = 1;\n case 1:\n _b.trys.push([1, 3, , 4]);\n return [4 /*yield*/, _data];\n case 2:\n data = _b.sent();\n return [3 /*break*/, 4];\n case 3:\n err_1 = _b.sent();\n error = err_1;\n return [3 /*break*/, 4];\n case 4: return [3 /*break*/, 6];\n case 5:\n data = _data;\n _b.label = 6;\n case 6:\n shouldAbort = function () {\n // check if other mutations have occurred since we've started this mutation\n if (beforeMutationTs !== MUTATION_TS[key] ||\n beforeConcurrentPromisesTs !== CONCURRENT_PROMISES_TS[key]) {\n if (error)\n throw error;\n return true;\n }\n };\n // if there's a race we don't update cache or broadcast change, just return the data\n if (shouldAbort())\n return [2 /*return*/, data];\n if (typeof data !== 'undefined') {\n // update cached data\n cache.set(key, data);\n }\n // always update or reset the error\n cache.set(keyErr, error);\n // reset the timestamp to mark the mutation has ended\n MUTATION_END_TS[key] = now() - 1;\n if (!isAsyncMutation) {\n // we skip broadcasting if there's another mutation happened synchronously\n if (shouldAbort())\n return [2 /*return*/, data];\n }\n updaters = CACHE_REVALIDATORS[key];\n if (updaters) {\n promises = [];\n for (i = 0; i < updaters.length; ++i) {\n promises.push(updaters[i](!!shouldRevalidate, data, error, undefined, i > 0));\n }\n // return new updated value\n return [2 /*return*/, Promise.all(promises).then(function () {\n if (error)\n throw error;\n return cache.get(key);\n })];\n }\n // throw error or return data to be used by caller of mutate\n if (error)\n throw error;\n return [2 /*return*/, data];\n }\n });\n });\n};\nfunction useSWR() {\n var _this = this;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var _key = args[0];\n var config = Object.assign({}, defaultConfig, useContext(SWRConfigContext), args.length > 2\n ? args[2]\n : args.length === 2 && typeof args[1] === 'object'\n ? args[1]\n : {});\n // in typescript args.length > 2 is not same as args.lenth === 3\n // we do a safe type assertion here\n // args.length === 3\n var fn = (args.length > 2\n ? args[1]\n : args.length === 2 && typeof args[1] === 'function'\n ? args[1]\n : /**\n pass fn as null will disable revalidate\n https://paco.sh/blog/shared-hook-state-with-swr\n */\n args[1] === null\n ? args[1]\n : config.fetcher);\n // we assume `key` as the identifier of the request\n // `key` can change but `fn` shouldn't\n // (because `revalidate` only depends on `key`)\n // `keyErr` is the cache key for error objects\n var _a = cache.serializeKey(_key), key = _a[0], fnArgs = _a[1], keyErr = _a[2], keyValidating = _a[3];\n var configRef = useRef(config);\n useIsomorphicLayoutEffect(function () {\n configRef.current = config;\n });\n var willRevalidateOnMount = function () {\n return (config.revalidateOnMount ||\n (!config.initialData && config.revalidateOnMount === undefined));\n };\n var resolveData = function () {\n var cachedData = cache.get(key);\n return typeof cachedData === 'undefined' ? config.initialData : cachedData;\n };\n var resolveIsValidating = function () {\n return !!cache.get(keyValidating) || (key && willRevalidateOnMount());\n };\n var initialData = resolveData();\n var initialError = cache.get(keyErr);\n var initialIsValidating = resolveIsValidating();\n // if a state is accessed (data, error or isValidating),\n // we add the state to dependencies so if the state is\n // updated in the future, we can trigger a rerender\n var stateDependencies = useRef({\n data: false,\n error: false,\n isValidating: false\n });\n var stateRef = useRef({\n data: initialData,\n error: initialError,\n isValidating: initialIsValidating\n });\n // display the data label in the React DevTools next to SWR hooks\n useDebugValue(stateRef.current.data);\n var rerender = useState({})[1];\n var dispatch = useCallback(function (payload) {\n var shouldUpdateState = false;\n for (var k in payload) {\n // @ts-ignore\n if (stateRef.current[k] === payload[k]) {\n continue;\n }\n // @ts-ignore\n stateRef.current[k] = payload[k];\n // @ts-ignore\n if (stateDependencies.current[k]) {\n shouldUpdateState = true;\n }\n }\n if (shouldUpdateState) {\n // if component is unmounted, should skip rerender\n // if component is not mounted, should skip rerender\n if (unmountedRef.current || !initialMountedRef.current)\n return;\n rerender({});\n }\n }, \n // config.suspense isn't allowed to change during the lifecycle\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n // error ref inside revalidate (is last request errored?)\n var unmountedRef = useRef(false);\n var keyRef = useRef(key);\n // check if component is mounted in suspense mode\n var initialMountedRef = useRef(false);\n // do unmount check for callbacks\n var eventsCallback = useCallback(function (event) {\n var _a;\n var params = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n params[_i - 1] = arguments[_i];\n }\n if (unmountedRef.current)\n return;\n if (!initialMountedRef.current)\n return;\n if (key !== keyRef.current)\n return;\n // @ts-ignore\n (_a = configRef.current)[event].apply(_a, params);\n }, [key]);\n var boundMutate = useCallback(function (data, shouldRevalidate) {\n return mutate(keyRef.current, data, shouldRevalidate);\n }, []);\n var addRevalidator = function (revalidators, callback) {\n if (!revalidators[key]) {\n revalidators[key] = [callback];\n }\n else {\n revalidators[key].push(callback);\n }\n return function () {\n var keyedRevalidators = revalidators[key];\n var index = keyedRevalidators.indexOf(callback);\n if (index >= 0) {\n // O(1): faster than splice\n keyedRevalidators[index] =\n keyedRevalidators[keyedRevalidators.length - 1];\n keyedRevalidators.pop();\n }\n };\n };\n // start a revalidation\n var revalidate = useCallback(function (revalidateOpts) {\n if (revalidateOpts === void 0) { revalidateOpts = {}; }\n return __awaiter(_this, void 0, void 0, function () {\n var _a, retryCount, _b, dedupe, loading, shouldDeduping, newData, startAt, newState, err_2;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (!key || !fn)\n return [2 /*return*/, false];\n if (unmountedRef.current)\n return [2 /*return*/, false];\n if (configRef.current.isPaused())\n return [2 /*return*/, false];\n _a = revalidateOpts.retryCount, retryCount = _a === void 0 ? 0 : _a, _b = revalidateOpts.dedupe, dedupe = _b === void 0 ? false : _b;\n loading = true;\n shouldDeduping = typeof CONCURRENT_PROMISES[key] !== 'undefined' && dedupe;\n _c.label = 1;\n case 1:\n _c.trys.push([1, 6, , 7]);\n dispatch({\n isValidating: true\n });\n cache.set(keyValidating, true);\n if (!shouldDeduping) {\n // also update other hooks\n broadcastState(key, stateRef.current.data, stateRef.current.error, true);\n }\n newData = void 0;\n startAt = void 0;\n if (!shouldDeduping) return [3 /*break*/, 3];\n // there's already an ongoing request,\n // this one needs to be deduplicated.\n startAt = CONCURRENT_PROMISES_TS[key];\n return [4 /*yield*/, CONCURRENT_PROMISES[key]];\n case 2:\n newData = _c.sent();\n return [3 /*break*/, 5];\n case 3:\n // if no cache being rendered currently (it shows a blank page),\n // we trigger the loading slow event.\n if (config.loadingTimeout && !cache.get(key)) {\n setTimeout(function () {\n if (loading)\n eventsCallback('onLoadingSlow', key, config);\n }, config.loadingTimeout);\n }\n if (fnArgs !== null) {\n CONCURRENT_PROMISES[key] = fn.apply(void 0, fnArgs);\n }\n else {\n CONCURRENT_PROMISES[key] = fn(key);\n }\n CONCURRENT_PROMISES_TS[key] = startAt = now();\n return [4 /*yield*/, CONCURRENT_PROMISES[key]];\n case 4:\n newData = _c.sent();\n setTimeout(function () {\n delete CONCURRENT_PROMISES[key];\n delete CONCURRENT_PROMISES_TS[key];\n }, config.dedupingInterval);\n // trigger the success event,\n // only do this for the original request.\n eventsCallback('onSuccess', newData, key, config);\n _c.label = 5;\n case 5:\n // if there're other ongoing request(s), started after the current one,\n // we need to ignore the current one to avoid possible race conditions:\n // req1------------------>res1 (current one)\n // req2---------------->res2\n // the request that fired later will always be kept.\n if (CONCURRENT_PROMISES_TS[key] > startAt) {\n return [2 /*return*/, false];\n }\n // if there're other mutations(s), overlapped with the current revalidation:\n // case 1:\n // req------------------>res\n // mutate------>end\n // case 2:\n // req------------>res\n // mutate------>end\n // case 3:\n // req------------------>res\n // mutate-------...---------->\n // we have to ignore the revalidation result (res) because it's no longer fresh.\n // meanwhile, a new revalidation should be triggered when the mutation ends.\n if (MUTATION_TS[key] &&\n // case 1\n (startAt <= MUTATION_TS[key] ||\n // case 2\n startAt <= MUTATION_END_TS[key] ||\n // case 3\n MUTATION_END_TS[key] === 0)) {\n dispatch({ isValidating: false });\n return [2 /*return*/, false];\n }\n cache.set(keyErr, undefined);\n cache.set(keyValidating, false);\n newState = {\n isValidating: false\n };\n if (typeof stateRef.current.error !== 'undefined') {\n // we don't have an error\n newState.error = undefined;\n }\n if (!config.compare(stateRef.current.data, newData)) {\n // deep compare to avoid extra re-render\n // data changed\n newState.data = newData;\n }\n if (!config.compare(cache.get(key), newData)) {\n cache.set(key, newData);\n }\n // merge the new state\n dispatch(newState);\n if (!shouldDeduping) {\n // also update other hooks\n broadcastState(key, newData, newState.error, false);\n }\n return [3 /*break*/, 7];\n case 6:\n err_2 = _c.sent();\n delete CONCURRENT_PROMISES[key];\n delete CONCURRENT_PROMISES_TS[key];\n if (configRef.current.isPaused()) {\n dispatch({\n isValidating: false\n });\n return [2 /*return*/, false];\n }\n cache.set(keyErr, err_2);\n // get a new error\n // don't use deep equal for errors\n if (stateRef.current.error !== err_2) {\n // we keep the stale data\n dispatch({\n isValidating: false,\n error: err_2\n });\n if (!shouldDeduping) {\n // also broadcast to update other hooks\n broadcastState(key, undefined, err_2, false);\n }\n }\n // events and retry\n eventsCallback('onError', err_2, key, config);\n if (config.shouldRetryOnError) {\n // when retrying, we always enable deduping\n eventsCallback('onErrorRetry', err_2, key, config, revalidate, {\n retryCount: retryCount + 1,\n dedupe: true\n });\n }\n return [3 /*break*/, 7];\n case 7:\n loading = false;\n return [2 /*return*/, true];\n }\n });\n });\n }, \n // dispatch is immutable, and `eventsCallback`, `fnArgs`, `keyErr`, and `keyValidating` are based on `key`,\n // so we can them from the deps array.\n //\n // FIXME:\n // `fn` and `config` might be changed during the lifecycle,\n // but they might be changed every render like this.\n // useSWR('key', () => fetch('/api/'), { suspense: true })\n // So we omit the values from the deps array\n // even though it might cause unexpected behaviors.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [key]);\n // mounted (client side rendering)\n useIsomorphicLayoutEffect(function () {\n if (!key)\n return undefined;\n // after `key` updates, we need to mark it as mounted\n unmountedRef.current = false;\n var isUpdating = initialMountedRef.current;\n initialMountedRef.current = true;\n // after the component is mounted (hydrated),\n // we need to update the data from the cache\n // and trigger a revalidation\n var currentHookData = stateRef.current.data;\n var latestKeyedData = resolveData();\n // update the state if the key changed (not the inital render) or cache updated\n keyRef.current = key;\n if (!config.compare(currentHookData, latestKeyedData)) {\n dispatch({ data: latestKeyedData });\n }\n // revalidate with deduping\n var softRevalidate = function () { return revalidate({ dedupe: true }); };\n // trigger a revalidation\n if (isUpdating || willRevalidateOnMount()) {\n if (typeof latestKeyedData !== 'undefined' && !IS_SERVER) {\n // delay revalidate if there's cache\n // to not block the rendering\n // @ts-ignore it's safe to use requestAnimationFrame in browser\n rAF(softRevalidate);\n }\n else {\n softRevalidate();\n }\n }\n var pending = false;\n var onFocus = function () {\n if (pending || !configRef.current.revalidateOnFocus)\n return;\n pending = true;\n softRevalidate();\n setTimeout(function () { return (pending = false); }, configRef.current.focusThrottleInterval);\n };\n var onReconnect = function () {\n if (configRef.current.revalidateOnReconnect) {\n softRevalidate();\n }\n };\n // register global cache update listener\n var onUpdate = function (shouldRevalidate, updatedData, updatedError, updatedIsValidating, dedupe) {\n if (shouldRevalidate === void 0) { shouldRevalidate = true; }\n if (dedupe === void 0) { dedupe = true; }\n // update hook state\n var newState = {};\n var needUpdate = false;\n if (typeof updatedData !== 'undefined' &&\n !config.compare(stateRef.current.data, updatedData)) {\n newState.data = updatedData;\n needUpdate = true;\n }\n // always update error\n // because it can be `undefined`\n if (stateRef.current.error !== updatedError) {\n newState.error = updatedError;\n needUpdate = true;\n }\n if (typeof updatedIsValidating !== 'undefined' &&\n stateRef.current.isValidating !== updatedIsValidating) {\n newState.isValidating = updatedIsValidating;\n needUpdate = true;\n }\n if (needUpdate) {\n dispatch(newState);\n }\n if (shouldRevalidate) {\n if (dedupe) {\n return softRevalidate();\n }\n else {\n return revalidate();\n }\n }\n return false;\n };\n var unsubFocus = addRevalidator(FOCUS_REVALIDATORS, onFocus);\n var unsubReconnect = addRevalidator(RECONNECT_REVALIDATORS, onReconnect);\n var unsubUpdate = addRevalidator(CACHE_REVALIDATORS, onUpdate);\n return function () {\n // cleanup\n dispatch = function () { return null; };\n // mark it as unmounted\n unmountedRef.current = true;\n unsubFocus();\n unsubReconnect();\n unsubUpdate();\n };\n }, [key, revalidate]);\n useIsomorphicLayoutEffect(function () {\n var timer = null;\n var tick = function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(!stateRef.current.error &&\n (configRef.current.refreshWhenHidden ||\n configRef.current.isDocumentVisible()) &&\n (configRef.current.refreshWhenOffline || configRef.current.isOnline()))) return [3 /*break*/, 2];\n // only revalidate when the page is visible\n // if API request errored, we stop polling in this round\n // and let the error retry function handle it\n return [4 /*yield*/, revalidate({ dedupe: true })];\n case 1:\n // only revalidate when the page is visible\n // if API request errored, we stop polling in this round\n // and let the error retry function handle it\n _a.sent();\n _a.label = 2;\n case 2:\n // Read the latest refreshInterval\n if (configRef.current.refreshInterval && timer) {\n timer = setTimeout(tick, configRef.current.refreshInterval);\n }\n return [2 /*return*/];\n }\n });\n }); };\n if (configRef.current.refreshInterval) {\n timer = setTimeout(tick, configRef.current.refreshInterval);\n }\n return function () {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n };\n }, [\n config.refreshInterval,\n config.refreshWhenHidden,\n config.refreshWhenOffline,\n revalidate\n ]);\n // suspense\n var latestData;\n var latestError;\n if (config.suspense) {\n // in suspense mode, we can't return empty state\n // (it should be suspended)\n // try to get data and error from cache\n latestData = cache.get(key);\n latestError = cache.get(keyErr);\n if (typeof latestData === 'undefined') {\n latestData = initialData;\n }\n if (typeof latestError === 'undefined') {\n latestError = initialError;\n }\n if (typeof latestData === 'undefined' &&\n typeof latestError === 'undefined') {\n // need to start the request if it hasn't\n if (!CONCURRENT_PROMISES[key]) {\n // trigger revalidate immediately\n // to get the promise\n // in this revalidate, should not rerender\n revalidate();\n }\n if (CONCURRENT_PROMISES[key] &&\n typeof CONCURRENT_PROMISES[key].then === 'function') {\n // if it is a promise\n throw CONCURRENT_PROMISES[key];\n }\n // it's a value, return it directly (override)\n latestData = CONCURRENT_PROMISES[key];\n }\n if (typeof latestData === 'undefined' && latestError) {\n // in suspense mode, throw error if there's no content\n throw latestError;\n }\n }\n // define returned state\n // can be memorized since the state is a ref\n var memoizedState = useMemo(function () {\n // revalidate will be deprecated in the 1.x release\n // because mutate() covers the same use case of revalidate().\n // This remains only for backward compatibility\n var state = { revalidate: revalidate, mutate: boundMutate };\n Object.defineProperties(state, {\n error: {\n // `key` might be changed in the upcoming hook re-render,\n // but the previous state will stay\n // so we need to match the latest key and data (fallback to `initialData`)\n get: function () {\n stateDependencies.current.error = true;\n if (config.suspense) {\n return latestError;\n }\n return keyRef.current === key ? stateRef.current.error : initialError;\n },\n enumerable: true\n },\n data: {\n get: function () {\n stateDependencies.current.data = true;\n if (config.suspense) {\n return latestData;\n }\n return keyRef.current === key ? stateRef.current.data : initialData;\n },\n enumerable: true\n },\n isValidating: {\n get: function () {\n stateDependencies.current.isValidating = true;\n return key ? stateRef.current.isValidating : false;\n },\n enumerable: true\n }\n });\n return state;\n // `config.suspense` isn't allowed to change during the lifecycle.\n // `boundMutate` is immutable, and the immutability of `revalidate` depends on `key`\n // so we can omit them from the deps array,\n // but we put it to enable react-hooks/exhaustive-deps rule.\n // `initialData` and `initialError` are not initial values\n // because they are changed during the lifecycle\n // so we should add them in the deps array.\n }, [\n revalidate,\n initialData,\n initialError,\n boundMutate,\n key,\n config.suspense,\n latestError,\n latestData\n ]);\n return memoizedState;\n}\nObject.defineProperty(SWRConfigContext.Provider, 'default', {\n value: defaultConfig\n});\nvar SWRConfig = SWRConfigContext.Provider;\nexport { trigger, mutate, SWRConfig };\nexport default useSWR;\n","// `useSWR` and related APIs\nimport { default as useSWR } from './use-swr';\nexport default useSWR;\nexport * from './use-swr';\n// `useSWRInfinite`\nexport { useSWRInfinite } from './use-swr-infinite';\n// Cache related, to be replaced by the new APIs\nexport { cache } from './config';\n","/**\r\n * Manages the defines for the Material\r\n */\r\nexport class MaterialDefines {\r\n /** @hidden */\r\n protected _keys: string[];\r\n private _isDirty = true;\r\n /** @hidden */\r\n public _renderId: number;\r\n\r\n /** @hidden */\r\n public _areLightsDirty = true;\r\n /** @hidden */\r\n public _areLightsDisposed = false;\r\n /** @hidden */\r\n public _areAttributesDirty = true;\r\n /** @hidden */\r\n public _areTexturesDirty = true;\r\n /** @hidden */\r\n public _areFresnelDirty = true;\r\n /** @hidden */\r\n public _areMiscDirty = true;\r\n /** @hidden */\r\n public _arePrePassDirty = true;\r\n /** @hidden */\r\n public _areImageProcessingDirty = true;\r\n\r\n /** @hidden */\r\n public _normals = false;\r\n /** @hidden */\r\n public _uvs = false;\r\n\r\n /** @hidden */\r\n public _needNormals = false;\r\n /** @hidden */\r\n public _needUVs = false;\r\n\r\n [id: string]: any;\r\n\r\n /**\r\n * Specifies if the material needs to be re-calculated\r\n */\r\n public get isDirty(): boolean {\r\n return this._isDirty;\r\n }\r\n\r\n /**\r\n * Marks the material to indicate that it has been re-calculated\r\n */\r\n public markAsProcessed() {\r\n this._isDirty = false;\r\n this._areAttributesDirty = false;\r\n this._areTexturesDirty = false;\r\n this._areFresnelDirty = false;\r\n this._areLightsDirty = false;\r\n this._areLightsDisposed = false;\r\n this._areMiscDirty = false;\r\n this._arePrePassDirty = false;\r\n this._areImageProcessingDirty = false;\r\n }\r\n\r\n /**\r\n * Marks the material to indicate that it needs to be re-calculated\r\n */\r\n public markAsUnprocessed() {\r\n this._isDirty = true;\r\n }\r\n\r\n /**\r\n * Marks the material to indicate all of its defines need to be re-calculated\r\n */\r\n public markAllAsDirty() {\r\n this._areTexturesDirty = true;\r\n this._areAttributesDirty = true;\r\n this._areLightsDirty = true;\r\n this._areFresnelDirty = true;\r\n this._areMiscDirty = true;\r\n this._areImageProcessingDirty = true;\r\n this._isDirty = true;\r\n }\r\n\r\n /**\r\n * Marks the material to indicate that image processing needs to be re-calculated\r\n */\r\n public markAsImageProcessingDirty() {\r\n this._areImageProcessingDirty = true;\r\n this._isDirty = true;\r\n }\r\n\r\n /**\r\n * Marks the material to indicate the lights need to be re-calculated\r\n * @param disposed Defines whether the light is dirty due to dispose or not\r\n */\r\n public markAsLightDirty(disposed = false) {\r\n this._areLightsDirty = true;\r\n this._areLightsDisposed = this._areLightsDisposed || disposed;\r\n this._isDirty = true;\r\n }\r\n\r\n /**\r\n * Marks the attribute state as changed\r\n */\r\n public markAsAttributesDirty() {\r\n this._areAttributesDirty = true;\r\n this._isDirty = true;\r\n }\r\n\r\n /**\r\n * Marks the texture state as changed\r\n */\r\n public markAsTexturesDirty() {\r\n this._areTexturesDirty = true;\r\n this._isDirty = true;\r\n }\r\n\r\n /**\r\n * Marks the fresnel state as changed\r\n */\r\n public markAsFresnelDirty() {\r\n this._areFresnelDirty = true;\r\n this._isDirty = true;\r\n }\r\n\r\n /**\r\n * Marks the misc state as changed\r\n */\r\n public markAsMiscDirty() {\r\n this._areMiscDirty = true;\r\n this._isDirty = true;\r\n }\r\n\r\n /**\r\n * Marks the prepass state as changed\r\n */\r\n public markAsPrePassDirty() {\r\n this._arePrePassDirty = true;\r\n this._isDirty = true;\r\n }\r\n\r\n /**\r\n * Rebuilds the material defines\r\n */\r\n public rebuild() {\r\n this._keys = [];\r\n\r\n for (var key of Object.keys(this)) {\r\n if (key[0] === \"_\") {\r\n continue;\r\n }\r\n\r\n this._keys.push(key);\r\n }\r\n }\r\n\r\n /**\r\n * Specifies if two material defines are equal\r\n * @param other - A material define instance to compare to\r\n * @returns - Boolean indicating if the material defines are equal (true) or not (false)\r\n */\r\n public isEqual(other: MaterialDefines): boolean {\r\n if (this._keys.length !== other._keys.length) {\r\n return false;\r\n }\r\n\r\n for (var index = 0; index < this._keys.length; index++) {\r\n var prop = this._keys[index];\r\n\r\n if ((this)[prop] !== (other)[prop]) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Clones this instance's defines to another instance\r\n * @param other - material defines to clone values to\r\n */\r\n public cloneTo(other: MaterialDefines): void {\r\n if (this._keys.length !== other._keys.length) {\r\n other._keys = this._keys.slice(0);\r\n }\r\n\r\n for (var index = 0; index < this._keys.length; index++) {\r\n var prop = this._keys[index];\r\n\r\n (other)[prop] = (this)[prop];\r\n }\r\n }\r\n\r\n /**\r\n * Resets the material define values\r\n */\r\n public reset(): void {\r\n for (var index = 0; index < this._keys.length; index++) {\r\n var prop = this._keys[index];\r\n var type = typeof (this)[prop];\r\n\r\n switch (type) {\r\n case \"number\":\r\n (this)[prop] = 0;\r\n break;\r\n case \"string\":\r\n (this)[prop] = \"\";\r\n break;\r\n default:\r\n (this)[prop] = false;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Converts the material define values to a string\r\n * @returns - String of material define information\r\n */\r\n public toString(): string {\r\n var result = \"\";\r\n for (var index = 0; index < this._keys.length; index++) {\r\n var prop = this._keys[index];\r\n var value = (this)[prop];\r\n var type = typeof value;\r\n\r\n switch (type) {\r\n case \"number\":\r\n case \"string\":\r\n result += \"#define \" + prop + \" \" + value + \"\\n\";\r\n break;\r\n default:\r\n if (value) {\r\n result += \"#define \" + prop + \"\\n\";\r\n }\r\n break;\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n}","\r\n/**\r\n * Interface for the size containing width and height\r\n */\r\nexport interface ISize {\r\n /**\r\n * Width\r\n */\r\n width: number;\r\n /**\r\n * Heighht\r\n */\r\n height: number;\r\n}\r\n\r\n/**\r\n * Size containing widht and height\r\n */\r\nexport class Size implements ISize {\r\n /**\r\n * Width\r\n */\r\n public width: number;\r\n /**\r\n * Height\r\n */\r\n public height: number;\r\n\r\n /**\r\n * Creates a Size object from the given width and height (floats).\r\n * @param width width of the new size\r\n * @param height height of the new size\r\n */\r\n public constructor(width: number, height: number) {\r\n this.width = width;\r\n this.height = height;\r\n }\r\n\r\n /**\r\n * Returns a string with the Size width and height\r\n * @returns a string with the Size width and height\r\n */\r\n public toString(): string {\r\n return `{W: ${this.width}, H: ${this.height}}`;\r\n }\r\n /**\r\n * \"Size\"\r\n * @returns the string \"Size\"\r\n */\r\n public getClassName(): string {\r\n return \"Size\";\r\n }\r\n /**\r\n * Returns the Size hash code.\r\n * @returns a hash code for a unique width and height\r\n */\r\n public getHashCode(): number {\r\n let hash = this.width | 0;\r\n hash = (hash * 397) ^ (this.height | 0);\r\n return hash;\r\n }\r\n /**\r\n * Updates the current size from the given one.\r\n * @param src the given size\r\n */\r\n public copyFrom(src: Size) {\r\n this.width = src.width;\r\n this.height = src.height;\r\n }\r\n /**\r\n * Updates in place the current Size from the given floats.\r\n * @param width width of the new size\r\n * @param height height of the new size\r\n * @returns the updated Size.\r\n */\r\n public copyFromFloats(width: number, height: number): Size {\r\n this.width = width;\r\n this.height = height;\r\n return this;\r\n }\r\n /**\r\n * Updates in place the current Size from the given floats.\r\n * @param width width to set\r\n * @param height height to set\r\n * @returns the updated Size.\r\n */\r\n public set(width: number, height: number): Size {\r\n return this.copyFromFloats(width, height);\r\n }\r\n /**\r\n * Multiplies the width and height by numbers\r\n * @param w factor to multiple the width by\r\n * @param h factor to multiple the height by\r\n * @returns a new Size set with the multiplication result of the current Size and the given floats.\r\n */\r\n public multiplyByFloats(w: number, h: number): Size {\r\n return new Size(this.width * w, this.height * h);\r\n }\r\n /**\r\n * Clones the size\r\n * @returns a new Size copied from the given one.\r\n */\r\n public clone(): Size {\r\n return new Size(this.width, this.height);\r\n }\r\n /**\r\n * True if the current Size and the given one width and height are strictly equal.\r\n * @param other the other size to compare against\r\n * @returns True if the current Size and the given one width and height are strictly equal.\r\n */\r\n public equals(other: Size): boolean {\r\n if (!other) {\r\n return false;\r\n }\r\n return (this.width === other.width) && (this.height === other.height);\r\n }\r\n /**\r\n * The surface of the Size : width * height (float).\r\n */\r\n public get surface(): number {\r\n return this.width * this.height;\r\n }\r\n /**\r\n * Create a new size of zero\r\n * @returns a new Size set to (0.0, 0.0)\r\n */\r\n public static Zero(): Size {\r\n return new Size(0.0, 0.0);\r\n }\r\n /**\r\n * Sums the width and height of two sizes\r\n * @param otherSize size to add to this size\r\n * @returns a new Size set as the addition result of the current Size and the given one.\r\n */\r\n public add(otherSize: Size): Size {\r\n let r = new Size(this.width + otherSize.width, this.height + otherSize.height);\r\n return r;\r\n }\r\n /**\r\n * Subtracts the width and height of two\r\n * @param otherSize size to subtract to this size\r\n * @returns a new Size set as the subtraction result of the given one from the current Size.\r\n */\r\n public subtract(otherSize: Size): Size {\r\n let r = new Size(this.width - otherSize.width, this.height - otherSize.height);\r\n return r;\r\n }\r\n /**\r\n * Creates a new Size set at the linear interpolation \"amount\" between \"start\" and \"end\"\r\n * @param start starting size to lerp between\r\n * @param end end size to lerp between\r\n * @param amount amount to lerp between the start and end values\r\n * @returns a new Size set at the linear interpolation \"amount\" between \"start\" and \"end\"\r\n */\r\n public static Lerp(start: Size, end: Size, amount: number): Size {\r\n var w = start.width + ((end.width - start.width) * amount);\r\n var h = start.height + ((end.height - start.height) * amount);\r\n\r\n return new Size(w, h);\r\n }\r\n\r\n}","export default function formControlState(_ref) {\n var props = _ref.props,\n states = _ref.states,\n muiFormControl = _ref.muiFormControl;\n return states.reduce(function (acc, state) {\n acc[state] = props[state];\n\n if (muiFormControl) {\n if (typeof props[state] === 'undefined') {\n acc[state] = muiFormControl[state];\n }\n }\n\n return acc;\n }, {});\n}","import { Effect } from \"../Materials/effect\";\nimport \"./ShadersInclude/helperFunctions\";\n\nlet name = 'rgbdEncodePixelShader';\nlet shader = `\nvarying vec2 vUV;\nuniform sampler2D textureSampler;\n#include\nvoid main(void)\n{\ngl_FragColor=toRGBD(texture2D(textureSampler,vUV).rgb);\n}`;\n\nEffect.ShadersStore[name] = shader;\n/** @hidden */\nexport var rgbdEncodePixelShader = { name, shader };\n","import { Nullable } from \"../types\";\r\nimport { Tools } from \"./tools\";\r\nimport { Vector3 } from \"../Maths/math.vector\";\r\nimport { Scalar } from \"../Maths/math.scalar\";\r\nimport { SphericalPolynomial } from \"../Maths/sphericalPolynomial\";\r\nimport { InternalTexture, InternalTextureSource } from \"../Materials/Textures/internalTexture\";\r\nimport { BaseTexture } from \"../Materials/Textures/baseTexture\";\r\n\r\nimport { Scene } from \"../scene\";\r\nimport { PostProcess } from \"../PostProcesses/postProcess\";\r\nimport { Logger } from \"../Misc/logger\";\r\n\r\nimport \"../Engines/Extensions/engine.renderTargetCube\";\r\nimport \"../Engines/Extensions/engine.readTexture\";\r\nimport \"../Materials/Textures/baseTexture.polynomial\";\r\n\r\nimport \"../Shaders/rgbdEncode.fragment\";\r\nimport \"../Shaders/rgbdDecode.fragment\";\r\nimport { Engine } from '../Engines/engine';\r\n\r\n/**\r\n * Raw texture data and descriptor sufficient for WebGL texture upload\r\n */\r\nexport interface EnvironmentTextureInfo {\r\n /**\r\n * Version of the environment map\r\n */\r\n version: number;\r\n\r\n /**\r\n * Width of image\r\n */\r\n width: number;\r\n\r\n /**\r\n * Irradiance information stored in the file.\r\n */\r\n irradiance: any;\r\n\r\n /**\r\n * Specular information stored in the file.\r\n */\r\n specular: any;\r\n}\r\n\r\n/**\r\n * Defines One Image in the file. It requires only the position in the file\r\n * as well as the length.\r\n */\r\ninterface BufferImageData {\r\n /**\r\n * Length of the image data.\r\n */\r\n length: number;\r\n /**\r\n * Position of the data from the null terminator delimiting the end of the JSON.\r\n */\r\n position: number;\r\n}\r\n\r\n/**\r\n * Defines the specular data enclosed in the file.\r\n * This corresponds to the version 1 of the data.\r\n */\r\nexport interface EnvironmentTextureSpecularInfoV1 {\r\n /**\r\n * Defines where the specular Payload is located. It is a runtime value only not stored in the file.\r\n */\r\n specularDataPosition?: number;\r\n /**\r\n * This contains all the images data needed to reconstruct the cubemap.\r\n */\r\n mipmaps: Array;\r\n /**\r\n * Defines the scale applied to environment texture. This manages the range of LOD level used for IBL according to the roughness.\r\n */\r\n lodGenerationScale: number;\r\n}\r\n\r\n/**\r\n * Defines the required storage to save the environment irradiance information.\r\n */\r\ninterface EnvironmentTextureIrradianceInfoV1 {\r\n x: Array;\r\n y: Array;\r\n z: Array;\r\n\r\n xx: Array;\r\n yy: Array;\r\n zz: Array;\r\n\r\n yz: Array;\r\n zx: Array;\r\n xy: Array;\r\n}\r\n\r\n/**\r\n * Sets of helpers addressing the serialization and deserialization of environment texture\r\n * stored in a BabylonJS env file.\r\n * Those files are usually stored as .env files.\r\n */\r\nexport class EnvironmentTextureTools {\r\n\r\n /**\r\n * Magic number identifying the env file.\r\n */\r\n private static _MagicBytes = [0x86, 0x16, 0x87, 0x96, 0xf6, 0xd6, 0x96, 0x36];\r\n\r\n /**\r\n * Gets the environment info from an env file.\r\n * @param data The array buffer containing the .env bytes.\r\n * @returns the environment file info (the json header) if successfully parsed.\r\n */\r\n public static GetEnvInfo(data: ArrayBufferView): Nullable {\r\n let dataView = new DataView(data.buffer, data.byteOffset, data.byteLength);\r\n let pos = 0;\r\n\r\n for (let i = 0; i < EnvironmentTextureTools._MagicBytes.length; i++) {\r\n if (dataView.getUint8(pos++) !== EnvironmentTextureTools._MagicBytes[i]) {\r\n Logger.Error('Not a babylon environment map');\r\n return null;\r\n }\r\n }\r\n\r\n // Read json manifest - collect characters up to null terminator\r\n let manifestString = '';\r\n let charCode = 0x00;\r\n while ((charCode = dataView.getUint8(pos++))) {\r\n manifestString += String.fromCharCode(charCode);\r\n }\r\n\r\n let manifest: EnvironmentTextureInfo = JSON.parse(manifestString);\r\n if (manifest.specular) {\r\n // Extend the header with the position of the payload.\r\n manifest.specular.specularDataPosition = pos;\r\n // Fallback to 0.8 exactly if lodGenerationScale is not defined for backward compatibility.\r\n manifest.specular.lodGenerationScale = manifest.specular.lodGenerationScale || 0.8;\r\n }\r\n\r\n return manifest;\r\n }\r\n\r\n /**\r\n * Creates an environment texture from a loaded cube texture.\r\n * @param texture defines the cube texture to convert in env file\r\n * @return a promise containing the environment data if succesfull.\r\n */\r\n public static CreateEnvTextureAsync(texture: BaseTexture): Promise {\r\n let internalTexture = texture.getInternalTexture();\r\n if (!internalTexture) {\r\n return Promise.reject(\"The cube texture is invalid.\");\r\n }\r\n\r\n let engine = internalTexture.getEngine() as Engine;\r\n if (engine && engine.premultipliedAlpha) {\r\n return Promise.reject(\"Env texture can only be created when the engine is created with the premultipliedAlpha option set to false.\");\r\n }\r\n\r\n if (texture.textureType === 0) {\r\n return Promise.reject(\"The cube texture should allow HDR (Full Float or Half Float).\");\r\n }\r\n\r\n let canvas = engine.getRenderingCanvas();\r\n if (!canvas) {\r\n return Promise.reject(\"Env texture can only be created when the engine is associated to a canvas.\");\r\n }\r\n\r\n let textureType = 1;\r\n if (!engine.getCaps().textureFloatRender) {\r\n textureType = 2;\r\n if (!engine.getCaps().textureHalfFloatRender) {\r\n return Promise.reject(\"Env texture can only be created when the browser supports half float or full float rendering.\");\r\n }\r\n }\r\n\r\n let cubeWidth = internalTexture.width;\r\n let hostingScene = new Scene(engine);\r\n let specularTextures: { [key: number]: ArrayBuffer } = {};\r\n let promises: Promise[] = [];\r\n\r\n // Read and collect all mipmaps data from the cube.\r\n let mipmapsCount = Scalar.Log2(internalTexture.width);\r\n mipmapsCount = Math.round(mipmapsCount);\r\n for (let i = 0; i <= mipmapsCount; i++) {\r\n let faceWidth = Math.pow(2, mipmapsCount - i);\r\n\r\n // All faces of the cube.\r\n for (let face = 0; face < 6; face++) {\r\n let data = texture.readPixels(face, i);\r\n\r\n // Creates a temp texture with the face data.\r\n let tempTexture = engine.createRawTexture(data, faceWidth, faceWidth, 5, false, false, 1, null, textureType);\r\n // And rgbdEncode them.\r\n let promise = new Promise((resolve, reject) => {\r\n let rgbdPostProcess = new PostProcess(\"rgbdEncode\", \"rgbdEncode\", null, null, 1, null, 1, engine, false, undefined, 0, undefined, null, false);\r\n rgbdPostProcess.getEffect().executeWhenCompiled(() => {\r\n rgbdPostProcess.onApply = (effect) => {\r\n effect._bindTexture(\"textureSampler\", tempTexture);\r\n };\r\n\r\n // As the process needs to happen on the main canvas, keep track of the current size\r\n let currentW = engine.getRenderWidth();\r\n let currentH = engine.getRenderHeight();\r\n\r\n // Set the desired size for the texture\r\n engine.setSize(faceWidth, faceWidth);\r\n hostingScene.postProcessManager.directRender([rgbdPostProcess], null);\r\n\r\n // Reading datas from WebGL\r\n Tools.ToBlob(canvas!, (blob) => {\r\n let fileReader = new FileReader();\r\n fileReader.onload = (event: any) => {\r\n let arrayBuffer = event.target!.result as ArrayBuffer;\r\n specularTextures[i * 6 + face] = arrayBuffer;\r\n resolve();\r\n };\r\n fileReader.readAsArrayBuffer(blob!);\r\n });\r\n\r\n // Reapply the previous canvas size\r\n engine.setSize(currentW, currentH);\r\n });\r\n });\r\n promises.push(promise);\r\n }\r\n }\r\n\r\n // Once all the textures haves been collected as RGBD stored in PNGs\r\n return Promise.all(promises).then(() => {\r\n // We can delete the hosting scene keeping track of all the creation objects\r\n hostingScene.dispose();\r\n\r\n // Creates the json header for the env texture\r\n let info: EnvironmentTextureInfo = {\r\n version: 1,\r\n width: cubeWidth,\r\n irradiance: this._CreateEnvTextureIrradiance(texture),\r\n specular: {\r\n mipmaps: [],\r\n lodGenerationScale: texture.lodGenerationScale\r\n }\r\n };\r\n\r\n // Sets the specular image data information\r\n let position = 0;\r\n for (let i = 0; i <= mipmapsCount; i++) {\r\n for (let face = 0; face < 6; face++) {\r\n let byteLength = specularTextures[i * 6 + face].byteLength;\r\n info.specular.mipmaps.push({\r\n length: byteLength,\r\n position: position\r\n });\r\n position += byteLength;\r\n }\r\n }\r\n\r\n // Encode the JSON as an array buffer\r\n let infoString = JSON.stringify(info);\r\n let infoBuffer = new ArrayBuffer(infoString.length + 1);\r\n let infoView = new Uint8Array(infoBuffer); // Limited to ascii subset matching unicode.\r\n for (let i = 0, strLen = infoString.length; i < strLen; i++) {\r\n infoView[i] = infoString.charCodeAt(i);\r\n }\r\n // Ends up with a null terminator for easier parsing\r\n infoView[infoString.length] = 0x00;\r\n\r\n // Computes the final required size and creates the storage\r\n let totalSize = EnvironmentTextureTools._MagicBytes.length + position + infoBuffer.byteLength;\r\n let finalBuffer = new ArrayBuffer(totalSize);\r\n let finalBufferView = new Uint8Array(finalBuffer);\r\n let dataView = new DataView(finalBuffer);\r\n\r\n // Copy the magic bytes identifying the file in\r\n let pos = 0;\r\n for (let i = 0; i < EnvironmentTextureTools._MagicBytes.length; i++) {\r\n dataView.setUint8(pos++, EnvironmentTextureTools._MagicBytes[i]);\r\n }\r\n\r\n // Add the json info\r\n finalBufferView.set(new Uint8Array(infoBuffer), pos);\r\n pos += infoBuffer.byteLength;\r\n\r\n // Finally inserts the texture data\r\n for (let i = 0; i <= mipmapsCount; i++) {\r\n for (let face = 0; face < 6; face++) {\r\n let dataBuffer = specularTextures[i * 6 + face];\r\n finalBufferView.set(new Uint8Array(dataBuffer), pos);\r\n pos += dataBuffer.byteLength;\r\n }\r\n }\r\n\r\n // Voila\r\n return finalBuffer;\r\n });\r\n }\r\n\r\n /**\r\n * Creates a JSON representation of the spherical data.\r\n * @param texture defines the texture containing the polynomials\r\n * @return the JSON representation of the spherical info\r\n */\r\n private static _CreateEnvTextureIrradiance(texture: BaseTexture): Nullable {\r\n let polynmials = texture.sphericalPolynomial;\r\n if (polynmials == null) {\r\n return null;\r\n }\r\n\r\n return {\r\n x: [polynmials.x.x, polynmials.x.y, polynmials.x.z],\r\n y: [polynmials.y.x, polynmials.y.y, polynmials.y.z],\r\n z: [polynmials.z.x, polynmials.z.y, polynmials.z.z],\r\n\r\n xx: [polynmials.xx.x, polynmials.xx.y, polynmials.xx.z],\r\n yy: [polynmials.yy.x, polynmials.yy.y, polynmials.yy.z],\r\n zz: [polynmials.zz.x, polynmials.zz.y, polynmials.zz.z],\r\n\r\n yz: [polynmials.yz.x, polynmials.yz.y, polynmials.yz.z],\r\n zx: [polynmials.zx.x, polynmials.zx.y, polynmials.zx.z],\r\n xy: [polynmials.xy.x, polynmials.xy.y, polynmials.xy.z]\r\n } as any;\r\n }\r\n\r\n /**\r\n * Creates the ArrayBufferViews used for initializing environment texture image data.\r\n * @param data the image data\r\n * @param info parameters that determine what views will be created for accessing the underlying buffer\r\n * @return the views described by info providing access to the underlying buffer\r\n */\r\n public static CreateImageDataArrayBufferViews(data: ArrayBufferView, info: EnvironmentTextureInfo): Array> {\r\n if (info.version !== 1) {\r\n throw new Error(`Unsupported babylon environment map version \"${info.version}\"`);\r\n }\r\n\r\n const specularInfo = info.specular as EnvironmentTextureSpecularInfoV1;\r\n\r\n // Double checks the enclosed info\r\n let mipmapsCount = Scalar.Log2(info.width);\r\n mipmapsCount = Math.round(mipmapsCount) + 1;\r\n if (specularInfo.mipmaps.length !== 6 * mipmapsCount) {\r\n throw new Error(`Unsupported specular mipmaps number \"${specularInfo.mipmaps.length}\"`);\r\n }\r\n\r\n const imageData = new Array>(mipmapsCount);\r\n for (let i = 0; i < mipmapsCount; i++) {\r\n imageData[i] = new Array(6);\r\n for (let face = 0; face < 6; face++) {\r\n const imageInfo = specularInfo.mipmaps[i * 6 + face];\r\n imageData[i][face] = new Uint8Array(data.buffer, data.byteOffset + specularInfo.specularDataPosition! + imageInfo.position, imageInfo.length);\r\n }\r\n }\r\n\r\n return imageData;\r\n }\r\n\r\n /**\r\n * Uploads the texture info contained in the env file to the GPU.\r\n * @param texture defines the internal texture to upload to\r\n * @param data defines the data to load\r\n * @param info defines the texture info retrieved through the GetEnvInfo method\r\n * @returns a promise\r\n */\r\n public static UploadEnvLevelsAsync(texture: InternalTexture, data: ArrayBufferView, info: EnvironmentTextureInfo): Promise {\r\n if (info.version !== 1) {\r\n throw new Error(`Unsupported babylon environment map version \"${info.version}\"`);\r\n }\r\n\r\n const specularInfo = info.specular as EnvironmentTextureSpecularInfoV1;\r\n if (!specularInfo) {\r\n // Nothing else parsed so far\r\n return Promise.resolve();\r\n }\r\n\r\n texture._lodGenerationScale = specularInfo.lodGenerationScale;\r\n\r\n const imageData = EnvironmentTextureTools.CreateImageDataArrayBufferViews(data, info);\r\n\r\n return EnvironmentTextureTools.UploadLevelsAsync(texture, imageData);\r\n }\r\n\r\n private static _OnImageReadyAsync(image: HTMLImageElement | ImageBitmap, engine: Engine, expandTexture: boolean,\r\n rgbdPostProcess: Nullable, url: string, face: number, i: number, generateNonLODTextures: boolean,\r\n lodTextures: Nullable<{ [lod: number]: BaseTexture }>, cubeRtt: Nullable, texture: InternalTexture\r\n ): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (expandTexture) {\r\n let tempTexture = engine.createTexture(null, true, true, null, 1, null,\r\n (message) => {\r\n reject(message);\r\n },\r\n image);\r\n\r\n rgbdPostProcess!.getEffect().executeWhenCompiled(() => {\r\n // Uncompress the data to a RTT\r\n rgbdPostProcess!.onApply = (effect) => {\r\n effect._bindTexture(\"textureSampler\", tempTexture);\r\n effect.setFloat2(\"scale\", 1, 1);\r\n };\r\n\r\n engine.scenes[0].postProcessManager.directRender([rgbdPostProcess!], cubeRtt, true, face, i);\r\n\r\n // Cleanup\r\n engine.restoreDefaultFramebuffer();\r\n tempTexture.dispose();\r\n URL.revokeObjectURL(url);\r\n resolve();\r\n });\r\n }\r\n else {\r\n engine._uploadImageToTexture(texture, image, face, i);\r\n\r\n // Upload the face to the non lod texture support\r\n if (generateNonLODTextures) {\r\n let lodTexture = lodTextures![i];\r\n if (lodTexture) {\r\n engine._uploadImageToTexture(lodTexture._texture!, image, face, 0);\r\n }\r\n }\r\n resolve();\r\n }\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Uploads the levels of image data to the GPU.\r\n * @param texture defines the internal texture to upload to\r\n * @param imageData defines the array buffer views of image data [mipmap][face]\r\n * @returns a promise\r\n */\r\n public static UploadLevelsAsync(texture: InternalTexture, imageData: ArrayBufferView[][]): Promise {\r\n if (!Tools.IsExponentOfTwo(texture.width)) {\r\n throw new Error(\"Texture size must be a power of two\");\r\n }\r\n\r\n const mipmapsCount = Math.round(Scalar.Log2(texture.width)) + 1;\r\n\r\n // Gets everything ready.\r\n let engine = texture.getEngine() as Engine;\r\n let expandTexture = false;\r\n let generateNonLODTextures = false;\r\n let rgbdPostProcess: Nullable = null;\r\n let cubeRtt: Nullable = null;\r\n let lodTextures: Nullable<{ [lod: number]: BaseTexture }> = null;\r\n let caps = engine.getCaps();\r\n\r\n texture.format = 5;\r\n texture.type = 0;\r\n texture.generateMipMaps = true;\r\n texture._cachedAnisotropicFilteringLevel = null;\r\n engine.updateTextureSamplingMode(3, texture);\r\n\r\n // Add extra process if texture lod is not supported\r\n if (!caps.textureLOD) {\r\n expandTexture = false;\r\n generateNonLODTextures = true;\r\n lodTextures = {};\r\n }\r\n // in webgl 1 there are no ways to either render or copy lod level information for float textures.\r\n else if (engine.webGLVersion < 2) {\r\n expandTexture = false;\r\n }\r\n // If half float available we can uncompress the texture\r\n else if (caps.textureHalfFloatRender && caps.textureHalfFloatLinearFiltering) {\r\n expandTexture = true;\r\n texture.type = 2;\r\n }\r\n // If full float available we can uncompress the texture\r\n else if (caps.textureFloatRender && caps.textureFloatLinearFiltering) {\r\n expandTexture = true;\r\n texture.type = 1;\r\n }\r\n\r\n // Expand the texture if possible\r\n if (expandTexture) {\r\n // Simply run through the decode PP\r\n rgbdPostProcess = new PostProcess(\"rgbdDecode\", \"rgbdDecode\", null, null, 1, null, 3, engine, false, undefined, texture.type, undefined, null, false);\r\n\r\n texture._isRGBD = false;\r\n texture.invertY = false;\r\n cubeRtt = engine.createRenderTargetCubeTexture(texture.width, {\r\n generateDepthBuffer: false,\r\n generateMipMaps: true,\r\n generateStencilBuffer: false,\r\n samplingMode: 3,\r\n type: texture.type,\r\n format: 5\r\n });\r\n }\r\n else {\r\n texture._isRGBD = true;\r\n texture.invertY = true;\r\n\r\n // In case of missing support, applies the same patch than DDS files.\r\n if (generateNonLODTextures) {\r\n let mipSlices = 3;\r\n let scale = texture._lodGenerationScale;\r\n let offset = texture._lodGenerationOffset;\r\n\r\n for (let i = 0; i < mipSlices; i++) {\r\n //compute LOD from even spacing in smoothness (matching shader calculation)\r\n let smoothness = i / (mipSlices - 1);\r\n let roughness = 1 - smoothness;\r\n\r\n let minLODIndex = offset; // roughness = 0\r\n let maxLODIndex = (mipmapsCount - 1) * scale + offset; // roughness = 1 (mipmaps start from 0)\r\n\r\n let lodIndex = minLODIndex + (maxLODIndex - minLODIndex) * roughness;\r\n let mipmapIndex = Math.round(Math.min(Math.max(lodIndex, 0), maxLODIndex));\r\n\r\n let glTextureFromLod = new InternalTexture(engine, InternalTextureSource.Temp);\r\n glTextureFromLod.isCube = true;\r\n glTextureFromLod.invertY = true;\r\n glTextureFromLod.generateMipMaps = false;\r\n engine.updateTextureSamplingMode(2, glTextureFromLod);\r\n\r\n // Wrap in a base texture for easy binding.\r\n let lodTexture = new BaseTexture(null);\r\n lodTexture.isCube = true;\r\n lodTexture._texture = glTextureFromLod;\r\n lodTextures![mipmapIndex] = lodTexture;\r\n\r\n switch (i) {\r\n case 0:\r\n texture._lodTextureLow = lodTexture;\r\n break;\r\n case 1:\r\n texture._lodTextureMid = lodTexture;\r\n break;\r\n case 2:\r\n texture._lodTextureHigh = lodTexture;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n let promises: Promise[] = [];\r\n // All mipmaps up to provided number of images\r\n for (let i = 0; i < imageData.length; i++) {\r\n // All faces\r\n for (let face = 0; face < 6; face++) {\r\n // Constructs an image element from image data\r\n let bytes = imageData[i][face];\r\n let blob = new Blob([bytes], { type: 'image/png' });\r\n let url = URL.createObjectURL(blob);\r\n let promise: Promise;\r\n\r\n if (typeof Image === \"undefined\") {\r\n promise = createImageBitmap(blob).then((img) => {\r\n return this._OnImageReadyAsync(img, engine, expandTexture, rgbdPostProcess, url, face, i, generateNonLODTextures, lodTextures, cubeRtt, texture);\r\n });\r\n } else {\r\n let image = new Image();\r\n image.src = url;\r\n\r\n // Enqueue promise to upload to the texture.\r\n promise = new Promise((resolve, reject) => {\r\n image.onload = () => {\r\n this._OnImageReadyAsync(image, engine, expandTexture, rgbdPostProcess, url, face, i, generateNonLODTextures, lodTextures, cubeRtt, texture)\r\n .then(() => resolve())\r\n .catch((reason) => {\r\n reject(reason);\r\n });\r\n };\r\n image.onerror = (error) => {\r\n reject(error);\r\n };\r\n });\r\n }\r\n promises.push(promise);\r\n }\r\n }\r\n\r\n // Fill remaining mipmaps with black textures.\r\n if (imageData.length < mipmapsCount) {\r\n let data: ArrayBufferView;\r\n const size = Math.pow(2, mipmapsCount - 1 - imageData.length);\r\n const dataLength = size * size * 4;\r\n switch (texture.type) {\r\n case 0: {\r\n data = new Uint8Array(dataLength);\r\n break;\r\n }\r\n case 2: {\r\n data = new Uint16Array(dataLength);\r\n break;\r\n }\r\n case 1: {\r\n data = new Float32Array(dataLength);\r\n break;\r\n }\r\n }\r\n for (let i = imageData.length; i < mipmapsCount; i++) {\r\n for (let face = 0; face < 6; face++) {\r\n engine._uploadArrayBufferViewToTexture(texture, data!, face, i);\r\n }\r\n }\r\n }\r\n\r\n // Once all done, finishes the cleanup and return\r\n return Promise.all(promises).then(() => {\r\n // Release temp RTT.\r\n if (cubeRtt) {\r\n engine._releaseFramebufferObjects(cubeRtt);\r\n engine._releaseTexture(texture);\r\n cubeRtt._swapAndDie(texture);\r\n }\r\n // Release temp Post Process.\r\n if (rgbdPostProcess) {\r\n rgbdPostProcess.dispose();\r\n }\r\n // Flag internal texture as ready in case they are in use.\r\n if (generateNonLODTextures) {\r\n if (texture._lodTextureHigh && texture._lodTextureHigh._texture) {\r\n texture._lodTextureHigh._texture.isReady = true;\r\n }\r\n if (texture._lodTextureMid && texture._lodTextureMid._texture) {\r\n texture._lodTextureMid._texture.isReady = true;\r\n }\r\n if (texture._lodTextureLow && texture._lodTextureLow._texture) {\r\n texture._lodTextureLow._texture.isReady = true;\r\n }\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Uploads spherical polynomials information to the texture.\r\n * @param texture defines the texture we are trying to upload the information to\r\n * @param info defines the environment texture info retrieved through the GetEnvInfo method\r\n */\r\n public static UploadEnvSpherical(texture: InternalTexture, info: EnvironmentTextureInfo): void {\r\n if (info.version !== 1) {\r\n Logger.Warn('Unsupported babylon environment map version \"' + info.version + '\"');\r\n }\r\n\r\n let irradianceInfo = info.irradiance as EnvironmentTextureIrradianceInfoV1;\r\n if (!irradianceInfo) {\r\n return;\r\n }\r\n\r\n const sp = new SphericalPolynomial();\r\n Vector3.FromArrayToRef(irradianceInfo.x, 0, sp.x);\r\n Vector3.FromArrayToRef(irradianceInfo.y, 0, sp.y);\r\n Vector3.FromArrayToRef(irradianceInfo.z, 0, sp.z);\r\n Vector3.FromArrayToRef(irradianceInfo.xx, 0, sp.xx);\r\n Vector3.FromArrayToRef(irradianceInfo.yy, 0, sp.yy);\r\n Vector3.FromArrayToRef(irradianceInfo.zz, 0, sp.zz);\r\n Vector3.FromArrayToRef(irradianceInfo.yz, 0, sp.yz);\r\n Vector3.FromArrayToRef(irradianceInfo.zx, 0, sp.zx);\r\n Vector3.FromArrayToRef(irradianceInfo.xy, 0, sp.xy);\r\n texture._sphericalPolynomial = sp;\r\n }\r\n\r\n /** @hidden */\r\n public static _UpdateRGBDAsync(internalTexture: InternalTexture, data: ArrayBufferView[][], sphericalPolynomial: Nullable, lodScale: number, lodOffset: number): Promise {\r\n internalTexture._source = InternalTextureSource.CubeRawRGBD;\r\n internalTexture._bufferViewArrayArray = data;\r\n internalTexture._lodGenerationScale = lodScale;\r\n internalTexture._lodGenerationOffset = lodOffset;\r\n internalTexture._sphericalPolynomial = sphericalPolynomial;\r\n\r\n return EnvironmentTextureTools.UploadLevelsAsync(internalTexture, data).then(() => {\r\n internalTexture.isReady = true;\r\n });\r\n }\r\n}\r\n\r\n// References the dependencies.\r\nInternalTexture._UpdateRGBDAsync = EnvironmentTextureTools._UpdateRGBDAsync;\r\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport Modal from '../Modal';\nimport Backdrop from '../Backdrop';\nimport withStyles from '../styles/withStyles';\nimport Slide from '../Slide';\nimport Paper from '../Paper';\nimport capitalize from '../utils/capitalize';\nimport { duration } from '../styles/transitions';\nimport useTheme from '../styles/useTheme';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {},\n\n /* Styles applied to the root element if `variant=\"permanent or persistent\"`. */\n docked: {\n flex: '0 0 auto'\n },\n\n /* Styles applied to the `Paper` component. */\n paper: {\n overflowY: 'auto',\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n flex: '1 0 auto',\n zIndex: theme.zIndex.drawer,\n WebkitOverflowScrolling: 'touch',\n // Add iOS momentum scrolling.\n // temporary style\n position: 'fixed',\n top: 0,\n // We disable the focus ring for mouse, touch and keyboard users.\n // At some point, it would be better to keep it for keyboard users.\n // :focus-ring CSS pseudo-class will help.\n outline: 0\n },\n\n /* Styles applied to the `Paper` component if `anchor=\"left\"`. */\n paperAnchorLeft: {\n left: 0,\n right: 'auto'\n },\n\n /* Styles applied to the `Paper` component if `anchor=\"right\"`. */\n paperAnchorRight: {\n left: 'auto',\n right: 0\n },\n\n /* Styles applied to the `Paper` component if `anchor=\"top\"`. */\n paperAnchorTop: {\n top: 0,\n left: 0,\n bottom: 'auto',\n right: 0,\n height: 'auto',\n maxHeight: '100%'\n },\n\n /* Styles applied to the `Paper` component if `anchor=\"bottom\"`. */\n paperAnchorBottom: {\n top: 'auto',\n left: 0,\n bottom: 0,\n right: 0,\n height: 'auto',\n maxHeight: '100%'\n },\n\n /* Styles applied to the `Paper` component if `anchor=\"left\"` and `variant` is not \"temporary\". */\n paperAnchorDockedLeft: {\n borderRight: \"1px solid \".concat(theme.palette.divider)\n },\n\n /* Styles applied to the `Paper` component if `anchor=\"top\"` and `variant` is not \"temporary\". */\n paperAnchorDockedTop: {\n borderBottom: \"1px solid \".concat(theme.palette.divider)\n },\n\n /* Styles applied to the `Paper` component if `anchor=\"right\"` and `variant` is not \"temporary\". */\n paperAnchorDockedRight: {\n borderLeft: \"1px solid \".concat(theme.palette.divider)\n },\n\n /* Styles applied to the `Paper` component if `anchor=\"bottom\"` and `variant` is not \"temporary\". */\n paperAnchorDockedBottom: {\n borderTop: \"1px solid \".concat(theme.palette.divider)\n },\n\n /* Styles applied to the `Modal` component. */\n modal: {}\n };\n};\nvar oppositeDirection = {\n left: 'right',\n right: 'left',\n top: 'down',\n bottom: 'up'\n};\nexport function isHorizontal(anchor) {\n return ['left', 'right'].indexOf(anchor) !== -1;\n}\nexport function getAnchor(theme, anchor) {\n return theme.direction === 'rtl' && isHorizontal(anchor) ? oppositeDirection[anchor] : anchor;\n}\nvar defaultTransitionDuration = {\n enter: duration.enteringScreen,\n exit: duration.leavingScreen\n};\n/**\n * The props of the [Modal](/api/modal/) component are available\n * when `variant=\"temporary\"` is set.\n */\n\nvar Drawer = /*#__PURE__*/React.forwardRef(function Drawer(props, ref) {\n var _props$anchor = props.anchor,\n anchorProp = _props$anchor === void 0 ? 'left' : _props$anchor,\n BackdropProps = props.BackdropProps,\n children = props.children,\n classes = props.classes,\n className = props.className,\n _props$elevation = props.elevation,\n elevation = _props$elevation === void 0 ? 16 : _props$elevation,\n _props$ModalProps = props.ModalProps;\n _props$ModalProps = _props$ModalProps === void 0 ? {} : _props$ModalProps;\n\n var BackdropPropsProp = _props$ModalProps.BackdropProps,\n ModalProps = _objectWithoutProperties(_props$ModalProps, [\"BackdropProps\"]),\n onClose = props.onClose,\n _props$open = props.open,\n open = _props$open === void 0 ? false : _props$open,\n _props$PaperProps = props.PaperProps,\n PaperProps = _props$PaperProps === void 0 ? {} : _props$PaperProps,\n SlideProps = props.SlideProps,\n _props$TransitionComp = props.TransitionComponent,\n TransitionComponent = _props$TransitionComp === void 0 ? Slide : _props$TransitionComp,\n _props$transitionDura = props.transitionDuration,\n transitionDuration = _props$transitionDura === void 0 ? defaultTransitionDuration : _props$transitionDura,\n _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'temporary' : _props$variant,\n other = _objectWithoutProperties(props, [\"anchor\", \"BackdropProps\", \"children\", \"classes\", \"className\", \"elevation\", \"ModalProps\", \"onClose\", \"open\", \"PaperProps\", \"SlideProps\", \"TransitionComponent\", \"transitionDuration\", \"variant\"]);\n\n var theme = useTheme(); // Let's assume that the Drawer will always be rendered on user space.\n // We use this state is order to skip the appear transition during the\n // initial mount of the component.\n\n var mounted = React.useRef(false);\n React.useEffect(function () {\n mounted.current = true;\n }, []);\n var anchor = getAnchor(theme, anchorProp);\n var drawer = /*#__PURE__*/React.createElement(Paper, _extends({\n elevation: variant === 'temporary' ? elevation : 0,\n square: true\n }, PaperProps, {\n className: clsx(classes.paper, classes[\"paperAnchor\".concat(capitalize(anchor))], PaperProps.className, variant !== 'temporary' && classes[\"paperAnchorDocked\".concat(capitalize(anchor))])\n }), children);\n\n if (variant === 'permanent') {\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: clsx(classes.root, classes.docked, className),\n ref: ref\n }, other), drawer);\n }\n\n var slidingDrawer = /*#__PURE__*/React.createElement(TransitionComponent, _extends({\n in: open,\n direction: oppositeDirection[anchor],\n timeout: transitionDuration,\n appear: mounted.current\n }, SlideProps), drawer);\n\n if (variant === 'persistent') {\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: clsx(classes.root, classes.docked, className),\n ref: ref\n }, other), slidingDrawer);\n } // variant === temporary\n\n\n return /*#__PURE__*/React.createElement(Modal, _extends({\n BackdropProps: _extends({}, BackdropProps, BackdropPropsProp, {\n transitionDuration: transitionDuration\n }),\n BackdropComponent: Backdrop,\n className: clsx(classes.root, classes.modal, className),\n open: open,\n onClose: onClose,\n ref: ref\n }, other, ModalProps), slidingDrawer);\n});\nprocess.env.NODE_ENV !== \"production\" ? Drawer.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * Side from which the drawer will appear.\n */\n anchor: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),\n\n /**\n * @ignore\n */\n BackdropProps: PropTypes.object,\n\n /**\n * The contents of the drawer.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The elevation of the drawer.\n */\n elevation: PropTypes.number,\n\n /**\n * Props applied to the [`Modal`](/api/modal/) element.\n */\n ModalProps: PropTypes.object,\n\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {object} event The event source of the callback.\n */\n onClose: PropTypes.func,\n\n /**\n * If `true`, the drawer is open.\n */\n open: PropTypes.bool,\n\n /**\n * Props applied to the [`Paper`](/api/paper/) element.\n */\n PaperProps: PropTypes.object,\n\n /**\n * Props applied to the [`Slide`](/api/slide/) element.\n */\n SlideProps: PropTypes.object,\n\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n\n /**\n * The variant to use.\n */\n variant: PropTypes.oneOf(['permanent', 'persistent', 'temporary'])\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiDrawer',\n flip: false\n})(Drawer);","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","function valueOf(obj) {\n return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);\n}\n\nfunction valueEqual(a, b) {\n // Test for strict equality first.\n if (a === b) return true;\n\n // Otherwise, if either of them == null they are not equal.\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return (\n Array.isArray(b) &&\n a.length === b.length &&\n a.every(function(item, index) {\n return valueEqual(item, b[index]);\n })\n );\n }\n\n if (typeof a === 'object' || typeof b === 'object') {\n var aValue = valueOf(a);\n var bValue = valueOf(b);\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n return Object.keys(Object.assign({}, a, b)).every(function(key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'instancesDeclaration';\nlet shader = `#ifdef INSTANCES\nattribute vec4 world0;\nattribute vec4 world1;\nattribute vec4 world2;\nattribute vec4 world3;\n#ifdef THIN_INSTANCES\nuniform mat4 world;\n#endif\n#else\nuniform mat4 world;\n#endif`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var instancesDeclaration = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'instancesVertex';\nlet shader = `#ifdef INSTANCES\nmat4 finalWorld=mat4(world0,world1,world2,world3);\n#ifdef THIN_INSTANCES\nfinalWorld=world*finalWorld;\n#endif\n#else\nmat4 finalWorld=world;\n#endif`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var instancesVertex = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'bonesDeclaration';\nlet shader = `#if NUM_BONE_INFLUENCERS>0\n#ifdef BONETEXTURE\nuniform sampler2D boneSampler;\nuniform float boneTextureWidth;\n#else\nuniform mat4 mBones[BonesPerMesh];\n#ifdef BONES_VELOCITY_ENABLED\nuniform mat4 mPreviousBones[BonesPerMesh];\n#endif\n#endif\nattribute vec4 matricesIndices;\nattribute vec4 matricesWeights;\n#if NUM_BONE_INFLUENCERS>4\nattribute vec4 matricesIndicesExtra;\nattribute vec4 matricesWeightsExtra;\n#endif\n#ifdef BONETEXTURE\n#define inline\nmat4 readMatrixFromRawSampler(sampler2D smp,float index)\n{\nfloat offset=index*4.0;\nfloat dx=1.0/boneTextureWidth;\nvec4 m0=texture2D(smp,vec2(dx*(offset+0.5),0.));\nvec4 m1=texture2D(smp,vec2(dx*(offset+1.5),0.));\nvec4 m2=texture2D(smp,vec2(dx*(offset+2.5),0.));\nvec4 m3=texture2D(smp,vec2(dx*(offset+3.5),0.));\nreturn mat4(m0,m1,m2,m3);\n}\n#endif\n#endif`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var bonesDeclaration = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'bonesVertex';\nlet shader = `#if NUM_BONE_INFLUENCERS>0\nmat4 influence;\n#ifdef BONETEXTURE\ninfluence=readMatrixFromRawSampler(boneSampler,matricesIndices[0])*matricesWeights[0];\n#if NUM_BONE_INFLUENCERS>1\ninfluence+=readMatrixFromRawSampler(boneSampler,matricesIndices[1])*matricesWeights[1];\n#endif\n#if NUM_BONE_INFLUENCERS>2\ninfluence+=readMatrixFromRawSampler(boneSampler,matricesIndices[2])*matricesWeights[2];\n#endif\n#if NUM_BONE_INFLUENCERS>3\ninfluence+=readMatrixFromRawSampler(boneSampler,matricesIndices[3])*matricesWeights[3];\n#endif\n#if NUM_BONE_INFLUENCERS>4\ninfluence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[0])*matricesWeightsExtra[0];\n#endif\n#if NUM_BONE_INFLUENCERS>5\ninfluence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[1])*matricesWeightsExtra[1];\n#endif\n#if NUM_BONE_INFLUENCERS>6\ninfluence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[2])*matricesWeightsExtra[2];\n#endif\n#if NUM_BONE_INFLUENCERS>7\ninfluence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[3])*matricesWeightsExtra[3];\n#endif\n#else\ninfluence=mBones[int(matricesIndices[0])]*matricesWeights[0];\n#if NUM_BONE_INFLUENCERS>1\ninfluence+=mBones[int(matricesIndices[1])]*matricesWeights[1];\n#endif\n#if NUM_BONE_INFLUENCERS>2\ninfluence+=mBones[int(matricesIndices[2])]*matricesWeights[2];\n#endif\n#if NUM_BONE_INFLUENCERS>3\ninfluence+=mBones[int(matricesIndices[3])]*matricesWeights[3];\n#endif\n#if NUM_BONE_INFLUENCERS>4\ninfluence+=mBones[int(matricesIndicesExtra[0])]*matricesWeightsExtra[0];\n#endif\n#if NUM_BONE_INFLUENCERS>5\ninfluence+=mBones[int(matricesIndicesExtra[1])]*matricesWeightsExtra[1];\n#endif\n#if NUM_BONE_INFLUENCERS>6\ninfluence+=mBones[int(matricesIndicesExtra[2])]*matricesWeightsExtra[2];\n#endif\n#if NUM_BONE_INFLUENCERS>7\ninfluence+=mBones[int(matricesIndicesExtra[3])]*matricesWeightsExtra[3];\n#endif\n#endif\nfinalWorld=finalWorld*influence;\n#endif`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var bonesVertex = { name, shader };\n","import { Vector3 } from \"../Maths/math.vector\";\r\nimport { Nullable } from \"../types\";\r\nimport { Color3 } from '../Maths/math.color';\r\n\r\n// https://dickyjim.wordpress.com/2013/09/04/spherical-harmonics-for-beginners/\r\n// http://silviojemma.com/public/papers/lighting/spherical-harmonic-lighting.pdf\r\n// https://www.ppsloan.org/publications/StupidSH36.pdf\r\n// http://cseweb.ucsd.edu/~ravir/papers/envmap/envmap.pdf\r\n// https://www.ppsloan.org/publications/SHJCGT.pdf\r\n// https://www.ppsloan.org/publications/shdering.pdf\r\n// https://google.github.io/filament/Filament.md.html#annex/sphericalharmonics\r\n// https://patapom.com/blog/SHPortal/\r\n// https://imdoingitwrong.wordpress.com/2011/04/14/spherical-harmonics-wtf/\r\n\r\n// Using real SH basis:\r\n// m>0 m m\r\n// y = sqrt(2) * K * P * cos(m*phi) * cos(theta)\r\n// l l l\r\n//\r\n// m<0 m |m|\r\n// y = sqrt(2) * K * P * sin(m*phi) * cos(theta)\r\n// l l l\r\n//\r\n// m=0 0 0\r\n// y = K * P * trigono terms\r\n// l l l\r\n//\r\n// m (2l + 1)(l - |m|)!\r\n// K = sqrt(------------------)\r\n// l 4pi(l + |m|)!\r\n//\r\n// and P by recursion:\r\n//\r\n// P00(x) = 1\r\n// P01(x) = x\r\n// Pll(x) = (-1^l)(2l - 1)!!(1-x*x)^(1/2)\r\n// ((2l - 1)x[Pl-1/m]-(l + m - 1)[Pl-2/m])\r\n// Plm(x) = ---------------------------------------\r\n// l - m\r\n// Leaving the trigonometric terms aside we can precompute the constants to :\r\nconst SH3ylmBasisConstants = [\r\n Math.sqrt(1 / (4 * Math.PI)), // l00\r\n\r\n -Math.sqrt(3 / (4 * Math.PI)), // l1_1\r\n Math.sqrt(3 / (4 * Math.PI)), // l10\r\n -Math.sqrt(3 / (4 * Math.PI)), // l11\r\n\r\n Math.sqrt(15 / (4 * Math.PI)), // l2_2\r\n -Math.sqrt(15 / (4 * Math.PI)), // l2_1\r\n Math.sqrt(5 / (16 * Math.PI)), // l20\r\n -Math.sqrt(15 / (4 * Math.PI)), // l21\r\n Math.sqrt(15 / (16 * Math.PI)), // l22\r\n];\r\n\r\n// cm = cos(m * phi)\r\n// sm = sin(m * phi)\r\n// {x,y,z} = {cos(phi)sin(theta), sin(phi)sin(theta), cos(theta)}\r\n// By recursion on using trigo identities:\r\nconst SH3ylmBasisTrigonometricTerms = [\r\n (direction: Vector3) => 1, // l00\r\n\r\n (direction: Vector3) => direction.y, // l1_1\r\n (direction: Vector3) => direction.z, // l10\r\n (direction: Vector3) => direction.x, // l11\r\n\r\n (direction: Vector3) => direction.x * direction.y, // l2_2\r\n (direction: Vector3) => direction.y * direction.z, // l2_1\r\n (direction: Vector3) => 3 * direction.z * direction.z - 1, // l20\r\n (direction: Vector3) => direction.x * direction.z, // l21\r\n (direction: Vector3) => direction.x * direction.x - direction.y * direction.y, // l22\r\n];\r\n\r\n// Wrap the full compute\r\nconst applySH3 = (lm: number, direction: Vector3) => {\r\n return SH3ylmBasisConstants[lm] * SH3ylmBasisTrigonometricTerms[lm](direction);\r\n};\r\n\r\n// Derived from the integration of the a kernel convolution to SH.\r\n// Great explanation here: https://patapom.com/blog/SHPortal/#about-distant-radiance-and-irradiance-environments\r\nconst SHCosKernelConvolution = [\r\n Math.PI,\r\n\r\n 2 * Math.PI / 3,\r\n 2 * Math.PI / 3,\r\n 2 * Math.PI / 3,\r\n\r\n Math.PI / 4,\r\n Math.PI / 4,\r\n Math.PI / 4,\r\n Math.PI / 4,\r\n Math.PI / 4,\r\n];\r\n\r\n/**\r\n * Class representing spherical harmonics coefficients to the 3rd degree\r\n */\r\nexport class SphericalHarmonics {\r\n /**\r\n * Defines whether or not the harmonics have been prescaled for rendering.\r\n */\r\n public preScaled = false;\r\n\r\n /**\r\n * The l0,0 coefficients of the spherical harmonics\r\n */\r\n public l00: Vector3 = Vector3.Zero();\r\n\r\n /**\r\n * The l1,-1 coefficients of the spherical harmonics\r\n */\r\n public l1_1: Vector3 = Vector3.Zero();\r\n\r\n /**\r\n * The l1,0 coefficients of the spherical harmonics\r\n */\r\n public l10: Vector3 = Vector3.Zero();\r\n\r\n /**\r\n * The l1,1 coefficients of the spherical harmonics\r\n */\r\n public l11: Vector3 = Vector3.Zero();\r\n\r\n /**\r\n * The l2,-2 coefficients of the spherical harmonics\r\n */\r\n public l2_2: Vector3 = Vector3.Zero();\r\n\r\n /**\r\n * The l2,-1 coefficients of the spherical harmonics\r\n */\r\n public l2_1: Vector3 = Vector3.Zero();\r\n\r\n /**\r\n * The l2,0 coefficients of the spherical harmonics\r\n */\r\n public l20: Vector3 = Vector3.Zero();\r\n\r\n /**\r\n * The l2,1 coefficients of the spherical harmonics\r\n */\r\n public l21: Vector3 = Vector3.Zero();\r\n\r\n /**\r\n * The l2,2 coefficients of the spherical harmonics\r\n */\r\n public l22: Vector3 = Vector3.Zero();\r\n\r\n /**\r\n * Adds a light to the spherical harmonics\r\n * @param direction the direction of the light\r\n * @param color the color of the light\r\n * @param deltaSolidAngle the delta solid angle of the light\r\n */\r\n public addLight(direction: Vector3, color: Color3, deltaSolidAngle: number): void {\r\n var colorVector = new Vector3(color.r, color.g, color.b);\r\n var c = colorVector.scale(deltaSolidAngle);\r\n\r\n this.l00 = this.l00.add(c.scale(applySH3(0, direction)));\r\n\r\n this.l1_1 = this.l1_1.add(c.scale(applySH3(1, direction)));\r\n this.l10 = this.l10.add(c.scale(applySH3(2, direction)));\r\n this.l11 = this.l11.add(c.scale(applySH3(3, direction)));\r\n\r\n this.l2_2 = this.l2_2.add(c.scale(applySH3(4, direction)));\r\n this.l2_1 = this.l2_1.add(c.scale(applySH3(5, direction)));\r\n this.l20 = this.l20.add(c.scale(applySH3(6, direction)));\r\n this.l21 = this.l21.add(c.scale(applySH3(7, direction)));\r\n this.l22 = this.l22.add(c.scale(applySH3(8, direction)));\r\n }\r\n\r\n /**\r\n * Scales the spherical harmonics by the given amount\r\n * @param scale the amount to scale\r\n */\r\n public scaleInPlace(scale: number): void {\r\n this.l00.scaleInPlace(scale);\r\n this.l1_1.scaleInPlace(scale);\r\n this.l10.scaleInPlace(scale);\r\n this.l11.scaleInPlace(scale);\r\n this.l2_2.scaleInPlace(scale);\r\n this.l2_1.scaleInPlace(scale);\r\n this.l20.scaleInPlace(scale);\r\n this.l21.scaleInPlace(scale);\r\n this.l22.scaleInPlace(scale);\r\n }\r\n\r\n /**\r\n * Convert from incident radiance (Li) to irradiance (E) by applying convolution with the cosine-weighted hemisphere.\r\n *\r\n * ```\r\n * E_lm = A_l * L_lm\r\n * ```\r\n *\r\n * In spherical harmonics this convolution amounts to scaling factors for each frequency band.\r\n * This corresponds to equation 5 in \"An Efficient Representation for Irradiance Environment Maps\", where\r\n * the scaling factors are given in equation 9.\r\n */\r\n public convertIncidentRadianceToIrradiance(): void {\r\n // Constant (Band 0)\r\n this.l00.scaleInPlace(SHCosKernelConvolution[0]);\r\n\r\n // Linear (Band 1)\r\n this.l1_1.scaleInPlace(SHCosKernelConvolution[1]);\r\n this.l10.scaleInPlace(SHCosKernelConvolution[2]);\r\n this.l11.scaleInPlace(SHCosKernelConvolution[3]);\r\n\r\n // Quadratic (Band 2)\r\n this.l2_2.scaleInPlace(SHCosKernelConvolution[4]);\r\n this.l2_1.scaleInPlace(SHCosKernelConvolution[5]);\r\n this.l20.scaleInPlace(SHCosKernelConvolution[6]);\r\n this.l21.scaleInPlace(SHCosKernelConvolution[7]);\r\n this.l22.scaleInPlace(SHCosKernelConvolution[8]);\r\n }\r\n\r\n /**\r\n * Convert from irradiance to outgoing radiance for Lambertian BDRF, suitable for efficient shader evaluation.\r\n *\r\n * ```\r\n * L = (1/pi) * E * rho\r\n * ```\r\n *\r\n * This is done by an additional scale by 1/pi, so is a fairly trivial operation but important conceptually.\r\n */\r\n public convertIrradianceToLambertianRadiance(): void {\r\n this.scaleInPlace(1.0 / Math.PI);\r\n\r\n // The resultant SH now represents outgoing radiance, so includes the Lambert 1/pi normalisation factor but without albedo (rho) applied\r\n // (The pixel shader must apply albedo after texture fetches, etc).\r\n }\r\n\r\n /**\r\n * Integrates the reconstruction coefficients directly in to the SH preventing further\r\n * required operations at run time.\r\n *\r\n * This is simply done by scaling back the SH with Ylm constants parameter.\r\n * The trigonometric part being applied by the shader at run time.\r\n */\r\n public preScaleForRendering(): void {\r\n this.preScaled = true;\r\n\r\n this.l00.scaleInPlace(SH3ylmBasisConstants[0]);\r\n\r\n this.l1_1.scaleInPlace(SH3ylmBasisConstants[1]);\r\n this.l10.scaleInPlace(SH3ylmBasisConstants[2]);\r\n this.l11.scaleInPlace(SH3ylmBasisConstants[3]);\r\n\r\n this.l2_2.scaleInPlace(SH3ylmBasisConstants[4]);\r\n this.l2_1.scaleInPlace(SH3ylmBasisConstants[5]);\r\n this.l20.scaleInPlace(SH3ylmBasisConstants[6]);\r\n this.l21.scaleInPlace(SH3ylmBasisConstants[7]);\r\n this.l22.scaleInPlace(SH3ylmBasisConstants[8]);\r\n }\r\n\r\n /**\r\n * Constructs a spherical harmonics from an array.\r\n * @param data defines the 9x3 coefficients (l00, l1-1, l10, l11, l2-2, l2-1, l20, l21, l22)\r\n * @returns the spherical harmonics\r\n */\r\n public static FromArray(data: ArrayLike>): SphericalHarmonics {\r\n const sh = new SphericalHarmonics();\r\n Vector3.FromArrayToRef(data[0], 0, sh.l00);\r\n Vector3.FromArrayToRef(data[1], 0, sh.l1_1);\r\n Vector3.FromArrayToRef(data[2], 0, sh.l10);\r\n Vector3.FromArrayToRef(data[3], 0, sh.l11);\r\n Vector3.FromArrayToRef(data[4], 0, sh.l2_2);\r\n Vector3.FromArrayToRef(data[5], 0, sh.l2_1);\r\n Vector3.FromArrayToRef(data[6], 0, sh.l20);\r\n Vector3.FromArrayToRef(data[7], 0, sh.l21);\r\n Vector3.FromArrayToRef(data[8], 0, sh.l22);\r\n return sh;\r\n }\r\n\r\n // Keep for references.\r\n /**\r\n * Gets the spherical harmonics from polynomial\r\n * @param polynomial the spherical polynomial\r\n * @returns the spherical harmonics\r\n */\r\n public static FromPolynomial(polynomial: SphericalPolynomial): SphericalHarmonics {\r\n var result = new SphericalHarmonics();\r\n\r\n result.l00 = polynomial.xx.scale(0.376127).add(polynomial.yy.scale(0.376127)).add(polynomial.zz.scale(0.376126));\r\n result.l1_1 = polynomial.y.scale(0.977204);\r\n result.l10 = polynomial.z.scale(0.977204);\r\n result.l11 = polynomial.x.scale(0.977204);\r\n result.l2_2 = polynomial.xy.scale(1.16538);\r\n result.l2_1 = polynomial.yz.scale(1.16538);\r\n result.l20 = polynomial.zz.scale(1.34567).subtract(polynomial.xx.scale(0.672834)).subtract(polynomial.yy.scale(0.672834));\r\n result.l21 = polynomial.zx.scale(1.16538);\r\n result.l22 = polynomial.xx.scale(1.16538).subtract(polynomial.yy.scale(1.16538));\r\n\r\n result.l1_1.scaleInPlace(-1);\r\n result.l11.scaleInPlace(-1);\r\n result.l2_1.scaleInPlace(-1);\r\n result.l21.scaleInPlace(-1);\r\n\r\n result.scaleInPlace(Math.PI);\r\n\r\n return result;\r\n }\r\n}\r\n\r\n/**\r\n * Class representing spherical polynomial coefficients to the 3rd degree\r\n */\r\nexport class SphericalPolynomial {\r\n private _harmonics: Nullable;\r\n\r\n /**\r\n * The spherical harmonics used to create the polynomials.\r\n */\r\n public get preScaledHarmonics(): SphericalHarmonics {\r\n if (!this._harmonics) {\r\n this._harmonics = SphericalHarmonics.FromPolynomial(this);\r\n }\r\n if (!this._harmonics.preScaled) {\r\n this._harmonics.preScaleForRendering();\r\n }\r\n return this._harmonics;\r\n }\r\n\r\n /**\r\n * The x coefficients of the spherical polynomial\r\n */\r\n public x: Vector3 = Vector3.Zero();\r\n\r\n /**\r\n * The y coefficients of the spherical polynomial\r\n */\r\n public y: Vector3 = Vector3.Zero();\r\n\r\n /**\r\n * The z coefficients of the spherical polynomial\r\n */\r\n public z: Vector3 = Vector3.Zero();\r\n\r\n /**\r\n * The xx coefficients of the spherical polynomial\r\n */\r\n public xx: Vector3 = Vector3.Zero();\r\n\r\n /**\r\n * The yy coefficients of the spherical polynomial\r\n */\r\n public yy: Vector3 = Vector3.Zero();\r\n\r\n /**\r\n * The zz coefficients of the spherical polynomial\r\n */\r\n public zz: Vector3 = Vector3.Zero();\r\n\r\n /**\r\n * The xy coefficients of the spherical polynomial\r\n */\r\n public xy: Vector3 = Vector3.Zero();\r\n\r\n /**\r\n * The yz coefficients of the spherical polynomial\r\n */\r\n public yz: Vector3 = Vector3.Zero();\r\n\r\n /**\r\n * The zx coefficients of the spherical polynomial\r\n */\r\n public zx: Vector3 = Vector3.Zero();\r\n\r\n /**\r\n * Adds an ambient color to the spherical polynomial\r\n * @param color the color to add\r\n */\r\n public addAmbient(color: Color3): void {\r\n var colorVector = new Vector3(color.r, color.g, color.b);\r\n this.xx = this.xx.add(colorVector);\r\n this.yy = this.yy.add(colorVector);\r\n this.zz = this.zz.add(colorVector);\r\n }\r\n\r\n /**\r\n * Scales the spherical polynomial by the given amount\r\n * @param scale the amount to scale\r\n */\r\n public scaleInPlace(scale: number) {\r\n this.x.scaleInPlace(scale);\r\n this.y.scaleInPlace(scale);\r\n this.z.scaleInPlace(scale);\r\n this.xx.scaleInPlace(scale);\r\n this.yy.scaleInPlace(scale);\r\n this.zz.scaleInPlace(scale);\r\n this.yz.scaleInPlace(scale);\r\n this.zx.scaleInPlace(scale);\r\n this.xy.scaleInPlace(scale);\r\n }\r\n\r\n /**\r\n * Gets the spherical polynomial from harmonics\r\n * @param harmonics the spherical harmonics\r\n * @returns the spherical polynomial\r\n */\r\n public static FromHarmonics(harmonics: SphericalHarmonics): SphericalPolynomial {\r\n var result = new SphericalPolynomial();\r\n result._harmonics = harmonics;\r\n\r\n result.x = harmonics.l11.scale(1.02333).scale(-1);\r\n result.y = harmonics.l1_1.scale(1.02333).scale(-1);\r\n result.z = harmonics.l10.scale(1.02333);\r\n\r\n result.xx = harmonics.l00.scale(0.886277).subtract(harmonics.l20.scale(0.247708)).add(harmonics.l22.scale(0.429043));\r\n result.yy = harmonics.l00.scale(0.886277).subtract(harmonics.l20.scale(0.247708)).subtract(harmonics.l22.scale(0.429043));\r\n result.zz = harmonics.l00.scale(0.886277).add(harmonics.l20.scale(0.495417));\r\n\r\n result.yz = harmonics.l2_1.scale(0.858086).scale(-1);\r\n result.zx = harmonics.l21.scale(0.858086).scale(-1);\r\n result.xy = harmonics.l2_2.scale(0.858086);\r\n\r\n result.scaleInPlace(1.0 / Math.PI);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Constructs a spherical polynomial from an array.\r\n * @param data defines the 9x3 coefficients (x, y, z, xx, yy, zz, yz, zx, xy)\r\n * @returns the spherical polynomial\r\n */\r\n public static FromArray(data: ArrayLike>): SphericalPolynomial {\r\n const sp = new SphericalPolynomial();\r\n Vector3.FromArrayToRef(data[0], 0, sp.x);\r\n Vector3.FromArrayToRef(data[1], 0, sp.y);\r\n Vector3.FromArrayToRef(data[2], 0, sp.z);\r\n Vector3.FromArrayToRef(data[3], 0, sp.xx);\r\n Vector3.FromArrayToRef(data[4], 0, sp.yy);\r\n Vector3.FromArrayToRef(data[5], 0, sp.zz);\r\n Vector3.FromArrayToRef(data[6], 0, sp.yz);\r\n Vector3.FromArrayToRef(data[7], 0, sp.zx);\r\n Vector3.FromArrayToRef(data[8], 0, sp.xy);\r\n return sp;\r\n }\r\n}\r\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = useTheme;\n\nvar _styles = require(\"@material-ui/styles\");\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _defaultTheme = _interopRequireDefault(require(\"./defaultTheme\"));\n\nfunction useTheme() {\n var theme = (0, _styles.useTheme)() || _defaultTheme.default;\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n _react.default.useDebugValue(theme);\n }\n\n return theme;\n}","/**\r\n * Class used to help managing file picking and drag'n'drop\r\n * File Storage\r\n */\r\nexport class FilesInputStore {\r\n /**\r\n * List of files ready to be loaded\r\n */\r\n public static FilesToLoad: { [key: string]: File } = {};\r\n}\r\n","import React from 'react';\nimport { ProviderContext } from '.';\n\n// @ts-ignore\nexport default React.createContext();\n","import Slide from '@material-ui/core/Slide';\nimport { SnackbarClassKey } from '@material-ui/core/Snackbar';\nimport { CloseReason, ContainerClassKey, SnackbarProviderProps, VariantType, SnackbarOrigin, VariantClassKey } from '../index';\nimport { SnackbarItemProps } from '../SnackbarItem';\nimport { Snack } from '../SnackbarProvider';\n\nexport const allClasses: {\n mui: Record;\n container: Record;\n} = {\n mui: {\n root: {},\n anchorOriginTopCenter: {},\n anchorOriginBottomCenter: {},\n anchorOriginTopRight: {},\n anchorOriginBottomRight: {},\n anchorOriginTopLeft: {},\n anchorOriginBottomLeft: {},\n },\n container: {\n containerRoot: {},\n containerAnchorOriginTopCenter: {},\n containerAnchorOriginBottomCenter: {},\n containerAnchorOriginTopRight: {},\n containerAnchorOriginBottomRight: {},\n containerAnchorOriginTopLeft: {},\n containerAnchorOriginBottomLeft: {},\n },\n};\n\nexport const MESSAGES = {\n NO_PERSIST_ALL: 'WARNING - notistack: Reached maxSnack while all enqueued snackbars have \\'persist\\' flag. Notistack will dismiss the oldest snackbar anyway to allow other ones in the queue to be presented.',\n};\n\nexport const SNACKBAR_INDENTS = {\n view: { default: 20, dense: 4 },\n snackbar: { default: 6, dense: 2 },\n};\n\nexport const DEFAULTS = {\n maxSnack: 3,\n dense: false,\n hideIconVariant: false,\n variant: 'default' as VariantType,\n autoHideDuration: 5000,\n anchorOrigin: { vertical: 'bottom', horizontal: 'left' } as SnackbarOrigin,\n TransitionComponent: Slide,\n transitionDuration: {\n enter: 225,\n exit: 195,\n },\n};\n\nexport const capitalise = (text: string): string => text.charAt(0).toUpperCase() + text.slice(1);\n\nexport const originKeyExtractor = (anchor: Snack['anchorOrigin']): string => (\n `${capitalise(anchor.vertical)}${capitalise(anchor.horizontal)}`\n);\n\n/**\n * Omit SnackbarContainer class keys that are not needed for SnackbarItem\n */\nexport const omitContainerKeys = (classes: SnackbarProviderProps['classes']): SnackbarItemProps['classes'] => (\n // @ts-ignore\n Object.keys(classes).filter(key => !allClasses.container[key]).reduce((obj, key) => ({ ...obj, [key]: classes[key] }), {})\n);\n\nexport const REASONS: { [key: string]: CloseReason } = {\n TIMEOUT: 'timeout',\n CLICKAWAY: 'clickaway',\n MAXSNACK: 'maxsnack',\n INSTRUCTED: 'instructed',\n};\n\n/** Tranforms classes name */\nexport const transformer = {\n toContainerAnchorOrigin: (origin: string) => `containerAnchorOrigin${origin}` as ContainerClassKey,\n toAnchorOrigin: ({ vertical, horizontal }: SnackbarOrigin) => (\n `anchorOrigin${capitalise(vertical)}${capitalise(horizontal)}` as SnackbarClassKey\n ),\n toVariant: (variant: VariantType) => `variant${capitalise(variant)}` as VariantClassKey,\n};\n\nexport const isDefined = (value: string | null | undefined | number): boolean => (!!value || value === 0);\n\nconst numberOrNull = (numberish?: number | null) => (\n typeof numberish === 'number' || numberish === null\n);\n\n// @ts-ignore\nexport const merge = (options, props, defaults) => (name: keyof Snack): any => {\n if (name === 'autoHideDuration') {\n if (numberOrNull(options.autoHideDuration)) return options.autoHideDuration;\n if (numberOrNull(props.autoHideDuration)) return props.autoHideDuration;\n return DEFAULTS.autoHideDuration;\n }\n\n return options[name] || props[name] || defaults[name];\n};\n\nexport function objectMerge(options = {}, props = {}, defaults = {}) {\n return {\n ...defaults,\n ...props,\n ...options,\n };\n}\n","import React, { forwardRef } from 'react';\nimport clsx from 'clsx';\nimport { createStyles, Theme, withStyles, WithStyles } from '@material-ui/core/styles';\nimport { SnackbarContentProps } from '../index';\n\nconst styles = (theme: Theme) => createStyles({\n root: {\n display: 'flex',\n flexWrap: 'wrap',\n flexGrow: 1,\n [theme.breakpoints.up('sm')]: {\n flexGrow: 'initial',\n minWidth: 288,\n },\n }\n});\n\ninterface Props extends WithStyles, SnackbarContentProps { }\n\nconst SnackbarContent = forwardRef(({ classes, className, ...props }, ref) => (\n
\n))\n\nexport default withStyles(styles)(SnackbarContent);\n","import { Snack } from '../SnackbarProvider';\n\nconst DIRECTION = {\n right: 'left',\n left: 'right',\n bottom: 'up',\n top: 'down',\n} as const;\nexport type DirectionType = typeof DIRECTION[keyof typeof DIRECTION]\n\nexport const getTransitionDirection = (anchorOrigin: Snack['anchorOrigin']): DirectionType => {\n if (anchorOrigin.horizontal !== 'center') {\n return DIRECTION[anchorOrigin.horizontal];\n }\n return DIRECTION[anchorOrigin.vertical];\n};\n","import React from 'react';\nimport SvgIcon, { SvgIconProps } from '@material-ui/core/SvgIcon';\nimport { IconVariant } from '../index';\n\ntype Icon = (props: SvgIconProps) => JSX.Element;\n\nconst CheckIcon: Icon = props => (\n \n \n \n);\n\nconst WarningIcon: Icon = props => (\n \n \n \n);\n\nconst ErrorIcon: Icon = props => (\n \n \n \n);\n\nconst InfoIcon: Icon = props => (\n \n \n \n);\n\nconst iconStyles = {\n fontSize: 20,\n marginInlineEnd: 8,\n};\n\nconst defaultIconVariants: IconVariant = {\n default: undefined,\n success: ,\n warning: ,\n error: ,\n info: ,\n};\n\nexport default defaultIconVariants;\n","/**\n * @link https://github.com/mui-org/material-ui/blob/master/packages/material-ui/src/utils/createChainedFunction.js\n */\nexport default function createChainedFunction(funcs, extraArg) {\n return funcs.reduce((acc, func) => {\n if (func == null) return acc;\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof func !== 'function') {\n // eslint-disable-next-line no-console\n console.error('Invalid Argument Type. must only provide functions, undefined, or null.');\n }\n }\n\n return function chainedFunction(...args) {\n const argums = [...args];\n if (extraArg && argums.indexOf(extraArg) === -1) {\n argums.push(extraArg);\n }\n acc.apply(this, argums);\n func.apply(this, argums);\n };\n }, () => { });\n}\n","/**\n * @link https://github.com/mui-org/material-ui/blob/master/packages/material-ui/src/utils/useEventCallback.js\n */\nimport * as React from 'react';\n\nconst useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n\nexport default function useEventCallback(fn) {\n const ref = React.useRef(fn);\n useEnhancedEffect(() => {\n ref.current = fn;\n });\n return React.useCallback((...args) => (0, ref.current)(...args), []);\n}\n","/**\n * @link https://github.com/mui-org/material-ui/blob/master/packages/material-ui/src/Snackbar/Snackbar.js\n */\nimport * as React from 'react';\nimport ClickAwayListener from '@material-ui/core/ClickAwayListener';\nimport { REASONS } from '../utils/constants';\nimport useEventCallback from '../utils/useEventCallback';\n\nconst Snackbar = React.forwardRef((props, ref) => {\n const {\n children,\n autoHideDuration,\n ClickAwayListenerProps,\n disableWindowBlurListener = false,\n onClose,\n onMouseEnter,\n onMouseLeave,\n open,\n resumeHideDuration,\n ...other\n } = props;\n\n const timerAutoHide = React.useRef();\n\n const handleClose = useEventCallback((...args) => {\n if (onClose) {\n onClose(...args);\n }\n });\n\n const setAutoHideTimer = useEventCallback((autoHideDurationParam) => {\n if (!onClose || autoHideDurationParam == null) {\n return;\n }\n\n clearTimeout(timerAutoHide.current);\n timerAutoHide.current = setTimeout(() => {\n handleClose(null, REASONS.TIMEOUT);\n }, autoHideDurationParam);\n });\n\n React.useEffect(() => {\n if (open) {\n setAutoHideTimer(autoHideDuration);\n }\n\n return () => {\n clearTimeout(timerAutoHide.current);\n };\n }, [open, autoHideDuration, setAutoHideTimer]);\n\n /**\n * Pause the timer when the user is interacting with the Snackbar\n * or when the user hide the window.\n */\n const handlePause = () => {\n clearTimeout(timerAutoHide.current);\n };\n\n /**\n * Restart the timer when the user is no longer interacting with the Snackbar\n * or when the window is shown back.\n */\n const handleResume = React.useCallback(() => {\n if (autoHideDuration != null) {\n setAutoHideTimer(resumeHideDuration != null ? resumeHideDuration : autoHideDuration * 0.5);\n }\n }, [autoHideDuration, resumeHideDuration, setAutoHideTimer]);\n\n const handleMouseEnter = (event) => {\n if (onMouseEnter) {\n onMouseEnter(event);\n }\n handlePause();\n };\n\n const handleMouseLeave = (event) => {\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n handleResume();\n };\n\n const handleClickAway = (event) => {\n if (onClose) {\n onClose(event, REASONS.CLICKAWAY);\n }\n };\n\n React.useEffect(() => {\n if (!disableWindowBlurListener && open) {\n window.addEventListener('focus', handleResume);\n window.addEventListener('blur', handlePause);\n\n return () => {\n window.removeEventListener('focus', handleResume);\n window.removeEventListener('blur', handlePause);\n };\n }\n\n return undefined;\n }, [disableWindowBlurListener, handleResume, open]);\n\n return (\n \n
\n {children}\n
\n
\n );\n});\n\nexport default Snackbar;\n","import React, { useState, useEffect, useRef } from 'react';\nimport clsx from 'clsx';\nimport { withStyles, WithStyles, createStyles, Theme, emphasize } from '@material-ui/core/styles';\nimport Collapse from '@material-ui/core/Collapse';\nimport SnackbarContent from '../SnackbarContent';\nimport { getTransitionDirection } from './SnackbarItem.util';\nimport { allClasses, REASONS, objectMerge, DEFAULTS, transformer } from '../utils/constants';\nimport { SharedProps, RequiredBy, TransitionHandlerProps, SnackbarProviderProps as ProviderProps } from '../index';\nimport defaultIconVariants from '../utils/defaultIconVariants';\nimport createChainedFunction from '../utils/createChainedFunction';\nimport { Snack } from '../SnackbarProvider';\nimport Snackbar from './Snackbar';\n\nconst styles = (theme: Theme) => {\n // @ts-ignore\n const mode = theme.palette.mode || theme.palette.type;\n const backgroundColor = emphasize(theme.palette.background.default, mode === 'light' ? 0.8 : 0.98);\n return createStyles({\n ...allClasses.mui,\n contentRoot: {\n ...theme.typography.body2,\n backgroundColor,\n color: theme.palette.getContrastText(backgroundColor),\n alignItems: 'center',\n padding: '6px 16px',\n borderRadius: '4px',\n boxShadow: '0px 3px 5px -1px rgba(0,0,0,0.2),0px 6px 10px 0px rgba(0,0,0,0.14),0px 1px 18px 0px rgba(0,0,0,0.12)',\n },\n lessPadding: {\n paddingLeft: 8 * 2.5,\n },\n variantSuccess: {\n backgroundColor: '#43a047', // green\n color: '#fff',\n },\n variantError: {\n backgroundColor: '#d32f2f', // dark red\n color: '#fff',\n },\n variantInfo: {\n backgroundColor: '#2196f3', // nice blue\n color: '#fff',\n },\n variantWarning: {\n backgroundColor: '#ff9800', // amber\n color: '#fff',\n },\n message: {\n display: 'flex',\n alignItems: 'center',\n padding: '8px 0',\n },\n action: {\n display: 'flex',\n alignItems: 'center',\n marginLeft: 'auto',\n paddingLeft: 16,\n marginRight: -8,\n },\n wrappedRoot: {\n position: 'relative',\n transform: 'translateX(0)',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n },\n });\n}\n\n\ntype RemovedProps =\n | 'variant' // the one received from Provider is processed and passed to snack prop \n | 'anchorOrigin' // same as above\n | 'autoHideDuration' // same as above\n | 'preventDuplicate' // the one recevied from enqueueSnackbar is processed in provider, therefore shouldn't be passed to SnackbarItem */\n\n\nexport interface SnackbarItemProps extends WithStyles, RequiredBy, 'onEntered' | 'onExited' | 'onClose'> {\n snack: Snack;\n dense: ProviderProps['dense'];\n iconVariant: ProviderProps['iconVariant'];\n hideIconVariant: ProviderProps['hideIconVariant'];\n}\n\nconst SnackbarItem: React.FC = ({ classes, ...props }) => {\n const timeout = useRef>();\n const [collapsed, setCollapsed] = useState(true);\n\n useEffect(() => (): void => {\n if (timeout.current) {\n clearTimeout(timeout.current);\n }\n }, []);\n\n const handleClose = createChainedFunction([props.snack.onClose, props.onClose], props.snack.key);\n\n const handleEntered: TransitionHandlerProps['onEntered'] = () => {\n if (props.snack.requestClose) {\n handleClose(null, REASONS.INSTRCUTED);\n }\n };\n\n const handleExitedScreen = (): void => {\n timeout.current = setTimeout(() => {\n setCollapsed(!collapsed);\n }, 125);\n };\n\n const {\n style,\n dense,\n ariaAttributes: otherAriaAttributes,\n className: otherClassName,\n hideIconVariant,\n iconVariant,\n snack,\n action: otherAction,\n content: otherContent,\n TransitionComponent: otherTranComponent,\n TransitionProps: otherTranProps,\n transitionDuration: otherTranDuration,\n onEnter: ignoredOnEnter,\n onEntered: ignoredOnEntered,\n onEntering: ignoredOnEntering,\n onExit: ignoredOnExit,\n onExited: ignoredOnExited,\n onExiting: ignoredOnExiting,\n ...other\n } = props;\n\n const {\n persist,\n key,\n open,\n entered,\n requestClose,\n className: singleClassName,\n variant,\n content: singleContent,\n action: singleAction,\n ariaAttributes: singleAriaAttributes,\n anchorOrigin,\n message: snackMessage,\n TransitionComponent: singleTranComponent,\n TransitionProps: singleTranProps,\n transitionDuration: singleTranDuration,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n ...singleSnackProps\n } = snack;\n\n const icon = {\n ...defaultIconVariants,\n ...iconVariant,\n }[variant];\n\n const ariaAttributes = {\n 'aria-describedby': 'notistack-snackbar',\n ...objectMerge(singleAriaAttributes, otherAriaAttributes),\n };\n\n const TransitionComponent = singleTranComponent || otherTranComponent || DEFAULTS.TransitionComponent;\n const transitionDuration = objectMerge(singleTranDuration, otherTranDuration, DEFAULTS.transitionDuration);\n const transitionProps = {\n direction: getTransitionDirection(anchorOrigin),\n ...objectMerge(singleTranProps, otherTranProps),\n };\n\n let action = singleAction || otherAction;\n if (typeof action === 'function') {\n action = action(key);\n }\n\n let content = singleContent || otherContent;\n if (typeof content === 'function') {\n content = content(key, snack.message);\n }\n\n const callbacks: { [key in keyof TransitionHandlerProps]?: any } =\n ['onEnter', 'onEntering', 'onEntered', 'onExit', 'onExiting', 'onExited'].reduce((acc, cbName) => ({\n ...acc,\n // @ts-ignore\n [cbName]: createChainedFunction([props.snack[cbName], props[cbName]], props.snack.key),\n }), {});\n\n return (\n \n {/* @ts-ignore */}\n \n {/* @ts-ignore */}\n \n {/* @ts-ignore */}\n {content || (\n \n
\n {!hideIconVariant ? icon : null}\n {snackMessage}\n
\n {action && (\n
{action}
\n )}\n \n )}\n \n \n \n );\n};\n\nexport default withStyles(styles)(SnackbarItem);\n","import React from 'react';\nimport clsx from 'clsx';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { SNACKBAR_INDENTS } from './utils/constants';\nimport { SnackbarProviderProps } from '.';\n\nconst collapse = {\n container: '& > .MuiCollapse-container',\n wrapper: '& > .MuiCollapse-container > .MuiCollapse-wrapper',\n};\n\nconst xsWidthMargin = 16;\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n boxSizing: 'border-box',\n display: 'flex',\n maxHeight: '100%',\n position: 'fixed',\n zIndex: theme.zIndex.snackbar,\n height: 'auto',\n width: 'auto',\n transition: 'top 300ms ease 0ms, right 300ms ease 0ms, bottom 300ms ease 0ms, left 300ms ease 0ms, margin 300ms ease 0ms, max-width 300ms ease 0ms',\n // container itself is invisible and should not block clicks, clicks should be passed to its children \n pointerEvents: 'none',\n [collapse.container]: {\n pointerEvents: 'all',\n },\n [collapse.wrapper]: {\n padding: `${SNACKBAR_INDENTS.snackbar.default}px 0px`,\n transition: 'padding 300ms ease 0ms',\n },\n maxWidth: `calc(100% - ${SNACKBAR_INDENTS.view.default * 2}px)`,\n [theme.breakpoints.down('xs')]: {\n width: '100%',\n maxWidth: `calc(100% - ${xsWidthMargin * 2}px)`,\n },\n },\n rootDense: {\n [collapse.wrapper]: {\n padding: `${SNACKBAR_INDENTS.snackbar.dense}px 0px`,\n },\n },\n top: {\n top: SNACKBAR_INDENTS.view.default - SNACKBAR_INDENTS.snackbar.default,\n flexDirection: 'column',\n },\n bottom: {\n bottom: SNACKBAR_INDENTS.view.default - SNACKBAR_INDENTS.snackbar.default,\n flexDirection: 'column-reverse',\n },\n left: {\n left: SNACKBAR_INDENTS.view.default,\n [theme.breakpoints.up('sm')]: {\n alignItems: 'flex-start',\n },\n [theme.breakpoints.down('xs')]: {\n left: `${xsWidthMargin}px`,\n },\n },\n right: {\n right: SNACKBAR_INDENTS.view.default,\n [theme.breakpoints.up('sm')]: {\n alignItems: 'flex-end',\n },\n [theme.breakpoints.down('xs')]: {\n right: `${xsWidthMargin}px`,\n },\n },\n center: {\n left: '50%',\n transform: 'translateX(-50%)',\n [theme.breakpoints.up('sm')]: {\n alignItems: 'center',\n },\n },\n}));\n\n\ninterface SnackbarContainerProps {\n children: JSX.Element | JSX.Element[];\n className?: string;\n dense: SnackbarProviderProps['dense'];\n anchorOrigin: NonNullable;\n}\n\nconst SnackbarContainer: React.FC = (props) => {\n const classes = useStyle();\n const { className, anchorOrigin, dense, ...other } = props;\n\n const combinedClassname = clsx(\n classes[anchorOrigin.vertical],\n classes[anchorOrigin.horizontal],\n { [classes.rootDense]: dense },\n classes.root, // root should come after others to override maxWidth\n className,\n );\n\n return (\n
\n );\n};\n\nexport default React.memo(SnackbarContainer);\n","import React, { Component } from 'react';\nimport { createPortal } from 'react-dom';\nimport clsx from 'clsx';\nimport SnackbarContext from './SnackbarContext';\nimport { MESSAGES, REASONS, originKeyExtractor, omitContainerKeys, DEFAULTS, merge, transformer, isDefined } from './utils/constants';\nimport SnackbarItem from './SnackbarItem';\nimport SnackbarContainer from './SnackbarContainer';\nimport warning from './utils/warning';\nimport { SnackbarProviderProps, SnackbarKey, SnackbarMessage, OptionsObject, RequiredBy, ProviderContext, TransitionHandlerProps } from '.';\nimport createChainedFunction from './utils/createChainedFunction';\n\ntype Reducer = (state: State) => State;\ntype SnacksByPosition = { [key: string]: Snack[] };\n\nexport interface Snack extends RequiredBy {\n message: SnackbarMessage;\n open: boolean;\n entered: boolean;\n requestClose: boolean;\n}\n\ninterface State {\n snacks: Snack[];\n queue: Snack[];\n contextValue: ProviderContext;\n}\n\nclass SnackbarProvider extends Component {\n constructor(props: SnackbarProviderProps) {\n super(props);\n this.state = {\n snacks: [],\n queue: [], // eslint-disable-line react/no-unused-state\n contextValue: {\n enqueueSnackbar: this.enqueueSnackbar,\n closeSnackbar: this.closeSnackbar,\n },\n };\n }\n\n get maxSnack(): number {\n return this.props.maxSnack || DEFAULTS.maxSnack;\n }\n\n /**\n * Adds a new snackbar to the queue to be presented.\n * Returns generated or user defined key referencing the new snackbar or null\n */\n enqueueSnackbar = (message: SnackbarMessage, opts: OptionsObject = {}): SnackbarKey => {\n const {\n key,\n preventDuplicate,\n ...options\n } = opts;\n\n const hasSpecifiedKey = isDefined(key);\n const id = hasSpecifiedKey ? (key as SnackbarKey) : new Date().getTime() + Math.random();\n\n const merger = merge(options, this.props, DEFAULTS);\n const snack: Snack = {\n key: id,\n ...options,\n message,\n open: true,\n entered: false,\n requestClose: false,\n variant: merger('variant'),\n anchorOrigin: merger('anchorOrigin'),\n autoHideDuration: merger('autoHideDuration'),\n };\n\n if (options.persist) {\n snack.autoHideDuration = undefined;\n }\n\n this.setState((state) => {\n if ((preventDuplicate === undefined && this.props.preventDuplicate) || preventDuplicate) {\n const compareFunction = (item: Snack): boolean => (\n hasSpecifiedKey ? item.key === key : item.message === message\n );\n\n const inQueue = state.queue.findIndex(compareFunction) > -1;\n const inView = state.snacks.findIndex(compareFunction) > -1;\n if (inQueue || inView) {\n return state;\n }\n }\n\n return this.handleDisplaySnack({\n ...state,\n queue: [...state.queue, snack],\n });\n });\n\n return id;\n };\n\n /**\n * Reducer: Display snack if there's space for it. Otherwise, immediately\n * begin dismissing the oldest message to start showing the new one.\n */\n handleDisplaySnack: Reducer = (state) => {\n const { snacks } = state;\n if (snacks.length >= this.maxSnack) {\n return this.handleDismissOldest(state);\n }\n return this.processQueue(state);\n };\n\n /**\n * Reducer: Display items (notifications) in the queue if there's space for them.\n */\n processQueue: Reducer = (state) => {\n const { queue, snacks } = state;\n if (queue.length > 0) {\n return {\n ...state,\n snacks: [...snacks, queue[0]],\n queue: queue.slice(1, queue.length),\n };\n }\n return state;\n };\n\n /**\n * Reducer: Hide oldest snackbar on the screen because there exists a new one which we have to display.\n * (ignoring the one with 'persist' flag. i.e. explicitly told by user not to get dismissed).\n *\n * Note 1: If there is already a message leaving the screen, no new messages are dismissed.\n * Note 2: If the oldest message has not yet entered the screen, only a request to close the\n * snackbar is made. Once it entered the screen, it will be immediately dismissed.\n */\n handleDismissOldest: Reducer = (state) => {\n if (state.snacks.some(item => !item.open || item.requestClose)) {\n return state;\n }\n\n let popped = false;\n let ignore = false;\n\n const persistentCount = state.snacks.reduce((acc, current) => (\n acc + (current.open && current.persist ? 1 : 0)\n ), 0);\n\n if (persistentCount === this.maxSnack) {\n warning(MESSAGES.NO_PERSIST_ALL);\n ignore = true;\n }\n\n const snacks = state.snacks.map((item) => {\n if (!popped && (!item.persist || ignore)) {\n popped = true;\n\n if (!item.entered) {\n return {\n ...item,\n requestClose: true,\n };\n }\n\n if (item.onClose) item.onClose(null, REASONS.MAXSNACK, item.key);\n if (this.props.onClose) this.props.onClose(null, REASONS.MAXSNACK, item.key);\n\n return {\n ...item,\n open: false,\n };\n }\n\n return { ...item };\n });\n\n return { ...state, snacks };\n };\n\n /**\n * Set the entered state of the snackbar with the given key.\n */\n handleEnteredSnack: TransitionHandlerProps['onEntered'] = (node, isAppearing, key) => {\n if (!isDefined(key)) {\n throw new Error('handleEnteredSnack Cannot be called with undefined key');\n }\n\n this.setState(({ snacks }) => ({\n snacks: snacks.map(item => (\n item.key === key ? { ...item, entered: true } : { ...item }\n )),\n }));\n }\n\n /**\n * Hide a snackbar after its timeout.\n */\n handleCloseSnack: TransitionHandlerProps['onClose'] = (event, reason, key) => {\n // should not use createChainedFunction for onClose.\n // because this.closeSnackbar called this function\n if (this.props.onClose) {\n this.props.onClose(event, reason, key);\n }\n\n if (reason === REASONS.CLICKAWAY) return;\n const shouldCloseAll = key === undefined;\n\n this.setState(({ snacks, queue }) => ({\n snacks: snacks.map((item) => {\n if (!shouldCloseAll && item.key !== key) {\n return { ...item };\n }\n\n return item.entered\n ? { ...item, open: false }\n : { ...item, requestClose: true };\n }),\n queue: queue.filter(item => item.key !== key), // eslint-disable-line react/no-unused-state\n }));\n };\n\n /**\n * Close snackbar with the given key\n */\n closeSnackbar: ProviderContext['closeSnackbar'] = (key) => {\n // call individual snackbar onClose callback passed through options parameter\n const toBeClosed = this.state.snacks.find(item => item.key === key);\n if (isDefined(key) && toBeClosed && toBeClosed.onClose) {\n toBeClosed.onClose(null, REASONS.INSTRUCTED, key);\n }\n\n this.handleCloseSnack(null, REASONS.INSTRUCTED, key);\n }\n\n /**\n * When we set open attribute of a snackbar to false (i.e. after we hide a snackbar),\n * it leaves the screen and immediately after leaving animation is done, this method\n * gets called. We remove the hidden snackbar from state and then display notifications\n * waiting in the queue (if any). If after this process the queue is not empty, the\n * oldest message is dismissed.\n */\n // @ts-ignore\n handleExitedSnack: TransitionHandlerProps['onExited'] = (event, key1, key2) => {\n const key = key1 || key2;\n if (!isDefined(key)) {\n throw new Error('handleExitedSnack Cannot be called with undefined key');\n }\n\n this.setState((state) => {\n const newState = this.processQueue({\n ...state,\n snacks: state.snacks.filter(item => item.key !== key),\n });\n\n if (newState.queue.length === 0) {\n return newState;\n }\n\n return this.handleDismissOldest(newState);\n });\n };\n\n render(): JSX.Element {\n const { contextValue } = this.state;\n const {\n maxSnack: dontspread1,\n preventDuplicate: dontspread2,\n variant: dontspread3,\n anchorOrigin: dontspread4,\n iconVariant,\n dense = DEFAULTS.dense,\n hideIconVariant = DEFAULTS.hideIconVariant,\n domRoot,\n children,\n classes = {},\n ...props\n } = this.props;\n\n const categ = this.state.snacks.reduce((acc, current) => {\n const category = originKeyExtractor(current.anchorOrigin);\n const existingOfCategory = acc[category] || [];\n return {\n ...acc,\n [category]: [...existingOfCategory, current],\n };\n }, {});\n\n const snackbars = Object.keys(categ).map((origin) => {\n const snacks = categ[origin];\n return (\n \n {snacks.map(snack => (\n \n ))}\n \n );\n });\n\n return (\n \n {children}\n {domRoot ? createPortal(snackbars, domRoot) : snackbars}\n \n );\n }\n}\n\nexport default SnackbarProvider;\n","import { useContext } from 'react';\nimport SnackbarContext from './SnackbarContext';\nimport { ProviderContext } from '.';\n\nexport default (): ProviderContext => useContext(SnackbarContext);\n","import arrayWithoutHoles from \"./arrayWithoutHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableSpread from \"./nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import { Scene } from \"../../scene\";\r\nimport { Vector4 } from \"../../Maths/math.vector\";\r\nimport { Mesh, _CreationDataStorage } from \"../mesh\";\r\nimport { VertexData } from \"../mesh.vertexData\";\r\nimport { Nullable } from '../../types';\r\nimport { Plane } from '../../Maths/math.plane';\r\n\r\nVertexData.CreatePlane = function(options: { size?: number, width?: number, height?: number, sideOrientation?: number, frontUVs?: Vector4, backUVs?: Vector4 }): VertexData {\r\n var indices = [];\r\n var positions = [];\r\n var normals = [];\r\n var uvs = [];\r\n\r\n var width: number = options.width || options.size || 1;\r\n var height: number = options.height || options.size || 1;\r\n var sideOrientation = (options.sideOrientation === 0) ? 0 : options.sideOrientation || VertexData.DEFAULTSIDE;\r\n\r\n // Vertices\r\n var halfWidth = width / 2.0;\r\n var halfHeight = height / 2.0;\r\n\r\n positions.push(-halfWidth, -halfHeight, 0);\r\n normals.push(0, 0, -1.0);\r\n uvs.push(0.0, 0.0);\r\n\r\n positions.push(halfWidth, -halfHeight, 0);\r\n normals.push(0, 0, -1.0);\r\n uvs.push(1.0, 0.0);\r\n\r\n positions.push(halfWidth, halfHeight, 0);\r\n normals.push(0, 0, -1.0);\r\n uvs.push(1.0, 1.0);\r\n\r\n positions.push(-halfWidth, halfHeight, 0);\r\n normals.push(0, 0, -1.0);\r\n uvs.push(0.0, 1.0);\r\n\r\n // Indices\r\n indices.push(0);\r\n indices.push(1);\r\n indices.push(2);\r\n\r\n indices.push(0);\r\n indices.push(2);\r\n indices.push(3);\r\n\r\n // Sides\r\n VertexData._ComputeSides(sideOrientation, positions, indices, normals, uvs, options.frontUVs, options.backUVs);\r\n\r\n // Result\r\n var vertexData = new VertexData();\r\n\r\n vertexData.indices = indices;\r\n vertexData.positions = positions;\r\n vertexData.normals = normals;\r\n vertexData.uvs = uvs;\r\n\r\n return vertexData;\r\n};\r\n\r\nMesh.CreatePlane = (name: string, size: number, scene: Scene, updatable?: boolean, sideOrientation?: number): Mesh => {\r\n var options = {\r\n size: size,\r\n width: size,\r\n height: size,\r\n sideOrientation: sideOrientation,\r\n updatable: updatable\r\n };\r\n\r\n return PlaneBuilder.CreatePlane(name, options, scene);\r\n};\r\n\r\n/**\r\n * Class containing static functions to help procedurally build meshes\r\n */\r\nexport class PlaneBuilder {\r\n /**\r\n * Creates a plane mesh\r\n * * The parameter `size` sets the size (float) of both sides of the plane at once (default 1)\r\n * * You can set some different plane dimensions by using the parameters `width` and `height` (both by default have the same value of `size`)\r\n * * The parameter `sourcePlane` is a Plane instance. It builds a mesh plane from a Math plane\r\n * * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE\r\n * * If you create a double-sided mesh, you can choose what parts of the texture image to crop and stick respectively on the front and the back sides with the parameters `frontUVs` and `backUVs` (Vector4). Detail here : https://doc.babylonjs.com/babylon101/discover_basic_elements#side-orientation\r\n * * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created\r\n * @param name defines the name of the mesh\r\n * @param options defines the options used to create the mesh\r\n * @param scene defines the hosting scene\r\n * @returns the plane mesh\r\n * @see https://doc.babylonjs.com/how_to/set_shapes#plane\r\n */\r\n public static CreatePlane(name: string, options: { size?: number, width?: number, height?: number, sideOrientation?: number, frontUVs?: Vector4, backUVs?: Vector4, updatable?: boolean, sourcePlane?: Plane }, scene: Nullable = null): Mesh {\r\n var plane = new Mesh(name, scene);\r\n\r\n options.sideOrientation = Mesh._GetDefaultSideOrientation(options.sideOrientation);\r\n plane._originalBuilderSideOrientation = options.sideOrientation;\r\n\r\n var vertexData = VertexData.CreatePlane(options);\r\n\r\n vertexData.applyToMesh(plane, options.updatable);\r\n\r\n if (options.sourcePlane) {\r\n plane.translate(options.sourcePlane.normal, -options.sourcePlane.d);\r\n plane.setDirection(options.sourcePlane.normal.scale(-1));\r\n }\r\n\r\n return plane;\r\n }\r\n}","import { serializeAsColor3, serializeAsVector3 } from \"../Misc/decorators\";\r\nimport { Nullable } from \"../types\";\r\nimport { Scene } from \"../scene\";\r\nimport { Matrix, Vector3 } from \"../Maths/math.vector\";\r\nimport { Color3 } from \"../Maths/math.color\";\r\nimport { Node } from \"../node\";\r\nimport { Effect } from \"../Materials/effect\";\r\nimport { Light } from \"./light\";\r\nimport { IShadowGenerator } from \"./Shadows/shadowGenerator\";\r\n\r\nNode.AddNodeConstructor(\"Light_Type_3\", (name, scene) => {\r\n return () => new HemisphericLight(name, Vector3.Zero(), scene);\r\n});\r\n\r\n/**\r\n * The HemisphericLight simulates the ambient environment light,\r\n * so the passed direction is the light reflection direction, not the incoming direction.\r\n */\r\nexport class HemisphericLight extends Light {\r\n /**\r\n * The groundColor is the light in the opposite direction to the one specified during creation.\r\n * You can think of the diffuse and specular light as coming from the centre of the object in the given direction and the groundColor light in the opposite direction.\r\n */\r\n @serializeAsColor3()\r\n public groundColor = new Color3(0.0, 0.0, 0.0);\r\n\r\n /**\r\n * The light reflection direction, not the incoming direction.\r\n */\r\n @serializeAsVector3()\r\n public direction: Vector3;\r\n\r\n /**\r\n * Creates a HemisphericLight object in the scene according to the passed direction (Vector3).\r\n * The HemisphericLight simulates the ambient environment light, so the passed direction is the light reflection direction, not the incoming direction.\r\n * The HemisphericLight can't cast shadows.\r\n * Documentation : https://doc.babylonjs.com/babylon101/lights\r\n * @param name The friendly name of the light\r\n * @param direction The direction of the light reflection\r\n * @param scene The scene the light belongs to\r\n */\r\n constructor(name: string, direction: Vector3, scene: Scene) {\r\n super(name, scene);\r\n this.direction = direction || Vector3.Up();\r\n }\r\n\r\n protected _buildUniformLayout(): void {\r\n this._uniformBuffer.addUniform(\"vLightData\", 4);\r\n this._uniformBuffer.addUniform(\"vLightDiffuse\", 4);\r\n this._uniformBuffer.addUniform(\"vLightSpecular\", 4);\r\n this._uniformBuffer.addUniform(\"vLightGround\", 3);\r\n this._uniformBuffer.addUniform(\"shadowsInfo\", 3);\r\n this._uniformBuffer.addUniform(\"depthValues\", 2);\r\n this._uniformBuffer.create();\r\n }\r\n\r\n /**\r\n * Returns the string \"HemisphericLight\".\r\n * @return The class name\r\n */\r\n public getClassName(): string {\r\n return \"HemisphericLight\";\r\n }\r\n\r\n /**\r\n * Sets the HemisphericLight direction towards the passed target (Vector3).\r\n * Returns the updated direction.\r\n * @param target The target the direction should point to\r\n * @return The computed direction\r\n */\r\n public setDirectionToTarget(target: Vector3): Vector3 {\r\n this.direction = Vector3.Normalize(target.subtract(Vector3.Zero()));\r\n return this.direction;\r\n }\r\n\r\n /**\r\n * Returns the shadow generator associated to the light.\r\n * @returns Always null for hemispheric lights because it does not support shadows.\r\n */\r\n public getShadowGenerator(): Nullable {\r\n return null;\r\n }\r\n\r\n /**\r\n * Sets the passed Effect object with the HemisphericLight normalized direction and color and the passed name (string).\r\n * @param effect The effect to update\r\n * @param lightIndex The index of the light in the effect to update\r\n * @returns The hemispheric light\r\n */\r\n public transferToEffect(effect: Effect, lightIndex: string): HemisphericLight {\r\n var normalizeDirection = Vector3.Normalize(this.direction);\r\n this._uniformBuffer.updateFloat4(\"vLightData\",\r\n normalizeDirection.x,\r\n normalizeDirection.y,\r\n normalizeDirection.z,\r\n 0.0,\r\n lightIndex);\r\n this._uniformBuffer.updateColor3(\"vLightGround\", this.groundColor.scale(this.intensity), lightIndex);\r\n return this;\r\n }\r\n\r\n public transferToNodeMaterialEffect(effect: Effect, lightDataUniformName: string) {\r\n var normalizeDirection = Vector3.Normalize(this.direction);\r\n effect.setFloat3(lightDataUniformName, normalizeDirection.x, normalizeDirection.y, normalizeDirection.z);\r\n return this;\r\n }\r\n\r\n /**\r\n * Computes the world matrix of the node\r\n * @param force defines if the cache version should be invalidated forcing the world matrix to be created from scratch\r\n * @param useWasUpdatedFlag defines a reserved property\r\n * @returns the world matrix\r\n */\r\n public computeWorldMatrix(): Matrix {\r\n if (!this._worldMatrix) {\r\n this._worldMatrix = Matrix.Identity();\r\n }\r\n return this._worldMatrix;\r\n }\r\n\r\n /**\r\n * Returns the integer 3.\r\n * @return The light Type id as a constant defines in Light.LIGHTTYPEID_x\r\n */\r\n public getTypeID(): number {\r\n return Light.LIGHTTYPEID_HEMISPHERICLIGHT;\r\n }\r\n\r\n /**\r\n * Prepares the list of defines specific to the light type.\r\n * @param defines the list of defines\r\n * @param lightIndex defines the index of the light for the effect\r\n */\r\n public prepareLightSpecificDefines(defines: any, lightIndex: number): void {\r\n defines[\"HEMILIGHT\" + lightIndex] = true;\r\n }\r\n}\r\n","import { Nullable } from \"../types\";\r\nimport { Scene } from \"../scene\";\r\nimport { Matrix } from \"../Maths/math.vector\";\r\nimport { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { Mesh } from \"../Meshes/mesh\";\r\nimport { Material } from \"../Materials/material\";\r\nimport { Effect } from \"../Materials/effect\";\r\nimport { SubMesh } from '../Meshes/subMesh';\r\n/**\r\n * Base class of materials working in push mode in babylon JS\r\n * @hidden\r\n */\r\nexport class PushMaterial extends Material {\r\n\r\n protected _activeEffect: Effect;\r\n\r\n protected _normalMatrix: Matrix = new Matrix();\r\n\r\n constructor(name: string, scene: Scene) {\r\n super(name, scene);\r\n this._storeEffectOnSubMeshes = true;\r\n }\r\n\r\n public getEffect(): Effect {\r\n return this._activeEffect;\r\n }\r\n\r\n public isReady(mesh?: AbstractMesh, useInstances?: boolean): boolean {\r\n if (!mesh) {\r\n return false;\r\n }\r\n\r\n if (!mesh.subMeshes || mesh.subMeshes.length === 0) {\r\n return true;\r\n }\r\n\r\n return this.isReadyForSubMesh(mesh, mesh.subMeshes[0], useInstances);\r\n }\r\n\r\n protected _isReadyForSubMesh(subMesh: SubMesh) {\r\n const defines = subMesh._materialDefines;\r\n if (!this.checkReadyOnEveryCall && subMesh.effect && defines) {\r\n if (defines._renderId === this.getScene().getRenderId()) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Binds the given world matrix to the active effect\r\n *\r\n * @param world the matrix to bind\r\n */\r\n public bindOnlyWorldMatrix(world: Matrix): void {\r\n this._activeEffect.setMatrix(\"world\", world);\r\n }\r\n\r\n /**\r\n * Binds the given normal matrix to the active effect\r\n *\r\n * @param normalMatrix the matrix to bind\r\n */\r\n public bindOnlyNormalMatrix(normalMatrix: Matrix): void {\r\n this._activeEffect.setMatrix(\"normalMatrix\", normalMatrix);\r\n }\r\n\r\n public bind(world: Matrix, mesh?: Mesh): void {\r\n if (!mesh) {\r\n return;\r\n }\r\n\r\n this.bindForSubMesh(world, mesh, mesh.subMeshes[0]);\r\n }\r\n\r\n protected _afterBind(mesh: Mesh, effect: Nullable = null): void {\r\n super._afterBind(mesh);\r\n this.getScene()._cachedEffect = effect;\r\n }\r\n\r\n protected _mustRebind(scene: Scene, effect: Effect, visibility: number = 1) {\r\n return scene.isCachedMaterialInvalid(this, effect, visibility);\r\n }\r\n}\r\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","/**\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 */\nexport default function createChainedFunction() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n return funcs.reduce(function (acc, func) {\n if (func == null) {\n return acc;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof func !== 'function') {\n console.error('Material-UI: Invalid Argument Type, must only provide functions, undefined, or null.');\n }\n }\n\n return function chainedFunction() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n acc.apply(this, args);\n func.apply(this, args);\n };\n }, function () {});\n}","import { Logger } from \"../Misc/logger\";\r\nimport { Nullable, FloatArray } from \"../types\";\r\nimport { Matrix, Vector3, Vector4 } from \"../Maths/math.vector\";\r\nimport { Engine } from \"../Engines/engine\";\r\nimport { Effect } from \"./effect\";\r\nimport { BaseTexture } from \"../Materials/Textures/baseTexture\";\r\nimport { DataBuffer } from '../Meshes/dataBuffer';\r\nimport { Color3 } from '../Maths/math.color';\r\nimport { IMatrixLike } from '../Maths/math.like';\r\n\r\nimport \"../Engines/Extensions/engine.uniformBuffer\";\r\n\r\n/**\r\n * Uniform buffer objects.\r\n *\r\n * Handles blocks of uniform on the GPU.\r\n *\r\n * If WebGL 2 is not available, this class falls back on traditionnal setUniformXXX calls.\r\n *\r\n * For more information, please refer to :\r\n * https://www.khronos.org/opengl/wiki/Uniform_Buffer_Object\r\n */\r\nexport class UniformBuffer {\r\n private _engine: Engine;\r\n private _buffer: Nullable;\r\n private _data: number[];\r\n private _bufferData: Float32Array;\r\n private _dynamic?: boolean;\r\n private _uniformLocations: { [key: string]: number; };\r\n private _uniformSizes: { [key: string]: number; };\r\n private _uniformLocationPointer: number;\r\n private _needSync: boolean;\r\n private _noUBO: boolean;\r\n private _currentEffect: Effect;\r\n\r\n /** @hidden */\r\n public _alreadyBound = false;\r\n\r\n // Pool for avoiding memory leaks\r\n private static _MAX_UNIFORM_SIZE = 256;\r\n private static _tempBuffer = new Float32Array(UniformBuffer._MAX_UNIFORM_SIZE);\r\n\r\n /**\r\n * Lambda to Update a 3x3 Matrix in a uniform buffer.\r\n * This is dynamic to allow compat with webgl 1 and 2.\r\n * You will need to pass the name of the uniform as well as the value.\r\n */\r\n public updateMatrix3x3: (name: string, matrix: Float32Array) => void;\r\n\r\n /**\r\n * Lambda to Update a 2x2 Matrix in a uniform buffer.\r\n * This is dynamic to allow compat with webgl 1 and 2.\r\n * You will need to pass the name of the uniform as well as the value.\r\n */\r\n public updateMatrix2x2: (name: string, matrix: Float32Array) => void;\r\n\r\n /**\r\n * Lambda to Update a single float in a uniform buffer.\r\n * This is dynamic to allow compat with webgl 1 and 2.\r\n * You will need to pass the name of the uniform as well as the value.\r\n */\r\n public updateFloat: (name: string, x: number) => void;\r\n\r\n /**\r\n * Lambda to Update a vec2 of float in a uniform buffer.\r\n * This is dynamic to allow compat with webgl 1 and 2.\r\n * You will need to pass the name of the uniform as well as the value.\r\n */\r\n public updateFloat2: (name: string, x: number, y: number, suffix?: string) => void;\r\n\r\n /**\r\n * Lambda to Update a vec3 of float in a uniform buffer.\r\n * This is dynamic to allow compat with webgl 1 and 2.\r\n * You will need to pass the name of the uniform as well as the value.\r\n */\r\n public updateFloat3: (name: string, x: number, y: number, z: number, suffix?: string) => void;\r\n\r\n /**\r\n * Lambda to Update a vec4 of float in a uniform buffer.\r\n * This is dynamic to allow compat with webgl 1 and 2.\r\n * You will need to pass the name of the uniform as well as the value.\r\n */\r\n public updateFloat4: (name: string, x: number, y: number, z: number, w: number, suffix?: string) => void;\r\n\r\n /**\r\n * Lambda to Update a 4x4 Matrix in a uniform buffer.\r\n * This is dynamic to allow compat with webgl 1 and 2.\r\n * You will need to pass the name of the uniform as well as the value.\r\n */\r\n public updateMatrix: (name: string, mat: Matrix) => void;\r\n\r\n /**\r\n * Lambda to Update vec3 of float from a Vector in a uniform buffer.\r\n * This is dynamic to allow compat with webgl 1 and 2.\r\n * You will need to pass the name of the uniform as well as the value.\r\n */\r\n public updateVector3: (name: string, vector: Vector3) => void;\r\n\r\n /**\r\n * Lambda to Update vec4 of float from a Vector in a uniform buffer.\r\n * This is dynamic to allow compat with webgl 1 and 2.\r\n * You will need to pass the name of the uniform as well as the value.\r\n */\r\n public updateVector4: (name: string, vector: Vector4) => void;\r\n\r\n /**\r\n * Lambda to Update vec3 of float from a Color in a uniform buffer.\r\n * This is dynamic to allow compat with webgl 1 and 2.\r\n * You will need to pass the name of the uniform as well as the value.\r\n */\r\n public updateColor3: (name: string, color: Color3, suffix?: string) => void;\r\n\r\n /**\r\n * Lambda to Update vec4 of float from a Color in a uniform buffer.\r\n * This is dynamic to allow compat with webgl 1 and 2.\r\n * You will need to pass the name of the uniform as well as the value.\r\n */\r\n public updateColor4: (name: string, color: Color3, alpha: number, suffix?: string) => void;\r\n\r\n /**\r\n * Instantiates a new Uniform buffer objects.\r\n *\r\n * Handles blocks of uniform on the GPU.\r\n *\r\n * If WebGL 2 is not available, this class falls back on traditionnal setUniformXXX calls.\r\n *\r\n * For more information, please refer to :\r\n * @see https://www.khronos.org/opengl/wiki/Uniform_Buffer_Object\r\n * @param engine Define the engine the buffer is associated with\r\n * @param data Define the data contained in the buffer\r\n * @param dynamic Define if the buffer is updatable\r\n */\r\n constructor(engine: Engine, data?: number[], dynamic?: boolean) {\r\n this._engine = engine;\r\n this._noUBO = !engine.supportsUniformBuffers;\r\n this._dynamic = dynamic;\r\n\r\n this._data = data || [];\r\n\r\n this._uniformLocations = {};\r\n this._uniformSizes = {};\r\n this._uniformLocationPointer = 0;\r\n this._needSync = false;\r\n\r\n if (this._noUBO) {\r\n this.updateMatrix3x3 = this._updateMatrix3x3ForEffect;\r\n this.updateMatrix2x2 = this._updateMatrix2x2ForEffect;\r\n this.updateFloat = this._updateFloatForEffect;\r\n this.updateFloat2 = this._updateFloat2ForEffect;\r\n this.updateFloat3 = this._updateFloat3ForEffect;\r\n this.updateFloat4 = this._updateFloat4ForEffect;\r\n this.updateMatrix = this._updateMatrixForEffect;\r\n this.updateVector3 = this._updateVector3ForEffect;\r\n this.updateVector4 = this._updateVector4ForEffect;\r\n this.updateColor3 = this._updateColor3ForEffect;\r\n this.updateColor4 = this._updateColor4ForEffect;\r\n } else {\r\n this._engine._uniformBuffers.push(this);\r\n\r\n this.updateMatrix3x3 = this._updateMatrix3x3ForUniform;\r\n this.updateMatrix2x2 = this._updateMatrix2x2ForUniform;\r\n this.updateFloat = this._updateFloatForUniform;\r\n this.updateFloat2 = this._updateFloat2ForUniform;\r\n this.updateFloat3 = this._updateFloat3ForUniform;\r\n this.updateFloat4 = this._updateFloat4ForUniform;\r\n this.updateMatrix = this._updateMatrixForUniform;\r\n this.updateVector3 = this._updateVector3ForUniform;\r\n this.updateVector4 = this._updateVector4ForUniform;\r\n this.updateColor3 = this._updateColor3ForUniform;\r\n this.updateColor4 = this._updateColor4ForUniform;\r\n }\r\n\r\n }\r\n\r\n /**\r\n * Indicates if the buffer is using the WebGL2 UBO implementation,\r\n * or just falling back on setUniformXXX calls.\r\n */\r\n public get useUbo(): boolean {\r\n return !this._noUBO;\r\n }\r\n\r\n /**\r\n * Indicates if the WebGL underlying uniform buffer is in sync\r\n * with the javascript cache data.\r\n */\r\n public get isSync(): boolean {\r\n return !this._needSync;\r\n }\r\n\r\n /**\r\n * Indicates if the WebGL underlying uniform buffer is dynamic.\r\n * Also, a dynamic UniformBuffer will disable cache verification and always\r\n * update the underlying WebGL uniform buffer to the GPU.\r\n * @returns if Dynamic, otherwise false\r\n */\r\n public isDynamic(): boolean {\r\n return this._dynamic !== undefined;\r\n }\r\n\r\n /**\r\n * The data cache on JS side.\r\n * @returns the underlying data as a float array\r\n */\r\n public getData(): Float32Array {\r\n return this._bufferData;\r\n }\r\n\r\n /**\r\n * The underlying WebGL Uniform buffer.\r\n * @returns the webgl buffer\r\n */\r\n public getBuffer(): Nullable {\r\n return this._buffer;\r\n }\r\n\r\n /**\r\n * std140 layout specifies how to align data within an UBO structure.\r\n * See https://khronos.org/registry/OpenGL/specs/gl/glspec45.core.pdf#page=159\r\n * for specs.\r\n */\r\n private _fillAlignment(size: number) {\r\n // This code has been simplified because we only use floats, vectors of 1, 2, 3, 4 components\r\n // and 4x4 matrices\r\n // TODO : change if other types are used\r\n\r\n var alignment;\r\n if (size <= 2) {\r\n alignment = size;\r\n } else {\r\n alignment = 4;\r\n }\r\n\r\n if ((this._uniformLocationPointer % alignment) !== 0) {\r\n var oldPointer = this._uniformLocationPointer;\r\n this._uniformLocationPointer += alignment - (this._uniformLocationPointer % alignment);\r\n var diff = this._uniformLocationPointer - oldPointer;\r\n\r\n for (var i = 0; i < diff; i++) {\r\n this._data.push(0);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Adds an uniform in the buffer.\r\n * Warning : the subsequents calls of this function must be in the same order as declared in the shader\r\n * for the layout to be correct !\r\n * @param name Name of the uniform, as used in the uniform block in the shader.\r\n * @param size Data size, or data directly.\r\n */\r\n public addUniform(name: string, size: number | number[]) {\r\n if (this._noUBO) {\r\n return;\r\n }\r\n\r\n if (this._uniformLocations[name] !== undefined) {\r\n // Already existing uniform\r\n return;\r\n }\r\n // This function must be called in the order of the shader layout !\r\n // size can be the size of the uniform, or data directly\r\n var data;\r\n if (size instanceof Array) {\r\n data = size;\r\n size = data.length;\r\n } else {\r\n size = size;\r\n data = [];\r\n\r\n // Fill with zeros\r\n for (var i = 0; i < size; i++) {\r\n data.push(0);\r\n }\r\n }\r\n\r\n this._fillAlignment(size);\r\n this._uniformSizes[name] = size;\r\n this._uniformLocations[name] = this._uniformLocationPointer;\r\n this._uniformLocationPointer += size;\r\n\r\n for (var i = 0; i < size; i++) {\r\n this._data.push(data[i]);\r\n }\r\n\r\n this._needSync = true;\r\n }\r\n\r\n /**\r\n * Adds a Matrix 4x4 to the uniform buffer.\r\n * @param name Name of the uniform, as used in the uniform block in the shader.\r\n * @param mat A 4x4 matrix.\r\n */\r\n public addMatrix(name: string, mat: Matrix) {\r\n this.addUniform(name, Array.prototype.slice.call(mat.toArray()));\r\n }\r\n\r\n /**\r\n * Adds a vec2 to the uniform buffer.\r\n * @param name Name of the uniform, as used in the uniform block in the shader.\r\n * @param x Define the x component value of the vec2\r\n * @param y Define the y component value of the vec2\r\n */\r\n public addFloat2(name: string, x: number, y: number) {\r\n var temp = [x, y];\r\n this.addUniform(name, temp);\r\n }\r\n\r\n /**\r\n * Adds a vec3 to the uniform buffer.\r\n * @param name Name of the uniform, as used in the uniform block in the shader.\r\n * @param x Define the x component value of the vec3\r\n * @param y Define the y component value of the vec3\r\n * @param z Define the z component value of the vec3\r\n */\r\n public addFloat3(name: string, x: number, y: number, z: number) {\r\n var temp = [x, y, z];\r\n this.addUniform(name, temp);\r\n }\r\n\r\n /**\r\n * Adds a vec3 to the uniform buffer.\r\n * @param name Name of the uniform, as used in the uniform block in the shader.\r\n * @param color Define the vec3 from a Color\r\n */\r\n public addColor3(name: string, color: Color3) {\r\n var temp = new Array();\r\n color.toArray(temp);\r\n this.addUniform(name, temp);\r\n }\r\n\r\n /**\r\n * Adds a vec4 to the uniform buffer.\r\n * @param name Name of the uniform, as used in the uniform block in the shader.\r\n * @param color Define the rgb components from a Color\r\n * @param alpha Define the a component of the vec4\r\n */\r\n public addColor4(name: string, color: Color3, alpha: number) {\r\n var temp = new Array();\r\n color.toArray(temp);\r\n temp.push(alpha);\r\n this.addUniform(name, temp);\r\n }\r\n\r\n /**\r\n * Adds a vec3 to the uniform buffer.\r\n * @param name Name of the uniform, as used in the uniform block in the shader.\r\n * @param vector Define the vec3 components from a Vector\r\n */\r\n public addVector3(name: string, vector: Vector3) {\r\n var temp = new Array();\r\n vector.toArray(temp);\r\n this.addUniform(name, temp);\r\n }\r\n\r\n /**\r\n * Adds a Matrix 3x3 to the uniform buffer.\r\n * @param name Name of the uniform, as used in the uniform block in the shader.\r\n */\r\n public addMatrix3x3(name: string) {\r\n this.addUniform(name, 12);\r\n }\r\n\r\n /**\r\n * Adds a Matrix 2x2 to the uniform buffer.\r\n * @param name Name of the uniform, as used in the uniform block in the shader.\r\n */\r\n public addMatrix2x2(name: string) {\r\n this.addUniform(name, 8);\r\n }\r\n\r\n /**\r\n * Effectively creates the WebGL Uniform Buffer, once layout is completed with `addUniform`.\r\n */\r\n public create(): void {\r\n if (this._noUBO) {\r\n return;\r\n }\r\n if (this._buffer) {\r\n return; // nothing to do\r\n }\r\n\r\n // See spec, alignment must be filled as a vec4\r\n this._fillAlignment(4);\r\n this._bufferData = new Float32Array(this._data);\r\n\r\n this._rebuild();\r\n\r\n this._needSync = true;\r\n }\r\n\r\n /** @hidden */\r\n public _rebuild(): void {\r\n if (this._noUBO || !this._bufferData) {\r\n return;\r\n }\r\n\r\n if (this._dynamic) {\r\n this._buffer = this._engine.createDynamicUniformBuffer(this._bufferData);\r\n } else {\r\n this._buffer = this._engine.createUniformBuffer(this._bufferData);\r\n }\r\n }\r\n\r\n /**\r\n * Updates the WebGL Uniform Buffer on the GPU.\r\n * If the `dynamic` flag is set to true, no cache comparison is done.\r\n * Otherwise, the buffer will be updated only if the cache differs.\r\n */\r\n public update(): void {\r\n if (!this._buffer) {\r\n this.create();\r\n return;\r\n }\r\n\r\n if (!this._dynamic && !this._needSync) {\r\n return;\r\n }\r\n\r\n this._engine.updateUniformBuffer(this._buffer, this._bufferData);\r\n\r\n this._needSync = false;\r\n }\r\n\r\n /**\r\n * Updates the value of an uniform. The `update` method must be called afterwards to make it effective in the GPU.\r\n * @param uniformName Define the name of the uniform, as used in the uniform block in the shader.\r\n * @param data Define the flattened data\r\n * @param size Define the size of the data.\r\n */\r\n public updateUniform(uniformName: string, data: FloatArray, size: number) {\r\n\r\n var location = this._uniformLocations[uniformName];\r\n if (location === undefined) {\r\n if (this._buffer) {\r\n // Cannot add an uniform if the buffer is already created\r\n Logger.Error(\"Cannot add an uniform after UBO has been created.\");\r\n return;\r\n }\r\n this.addUniform(uniformName, size);\r\n location = this._uniformLocations[uniformName];\r\n }\r\n\r\n if (!this._buffer) {\r\n this.create();\r\n }\r\n\r\n if (!this._dynamic) {\r\n // Cache for static uniform buffers\r\n var changed = false;\r\n\r\n for (var i = 0; i < size; i++) {\r\n // We are checking the matrix cache before calling updateUniform so we do not need to check it here\r\n // Hence the test for size === 16 to simply commit the matrix values\r\n if (size === 16 || this._bufferData[location + i] !== data[i]) {\r\n changed = true;\r\n this._bufferData[location + i] = data[i];\r\n }\r\n }\r\n\r\n this._needSync = this._needSync || changed;\r\n } else {\r\n // No cache for dynamic\r\n for (var i = 0; i < size; i++) {\r\n this._bufferData[location + i] = data[i];\r\n }\r\n }\r\n }\r\n\r\n // Matrix cache\r\n private _valueCache: { [key: string]: any } = {};\r\n private _cacheMatrix(name: string, matrix: IMatrixLike): boolean {\r\n var cache = this._valueCache[name];\r\n var flag = matrix.updateFlag;\r\n if (cache !== undefined && cache === flag) {\r\n return false;\r\n }\r\n\r\n this._valueCache[name] = flag;\r\n\r\n return true;\r\n }\r\n\r\n // Update methods\r\n\r\n private _updateMatrix3x3ForUniform(name: string, matrix: Float32Array): void {\r\n // To match std140, matrix must be realigned\r\n for (var i = 0; i < 3; i++) {\r\n UniformBuffer._tempBuffer[i * 4] = matrix[i * 3];\r\n UniformBuffer._tempBuffer[i * 4 + 1] = matrix[i * 3 + 1];\r\n UniformBuffer._tempBuffer[i * 4 + 2] = matrix[i * 3 + 2];\r\n UniformBuffer._tempBuffer[i * 4 + 3] = 0.0;\r\n }\r\n\r\n this.updateUniform(name, UniformBuffer._tempBuffer, 12);\r\n }\r\n\r\n private _updateMatrix3x3ForEffect(name: string, matrix: Float32Array): void {\r\n this._currentEffect.setMatrix3x3(name, matrix);\r\n }\r\n\r\n private _updateMatrix2x2ForEffect(name: string, matrix: Float32Array): void {\r\n this._currentEffect.setMatrix2x2(name, matrix);\r\n }\r\n\r\n private _updateMatrix2x2ForUniform(name: string, matrix: Float32Array): void {\r\n // To match std140, matrix must be realigned\r\n for (var i = 0; i < 2; i++) {\r\n UniformBuffer._tempBuffer[i * 4] = matrix[i * 2];\r\n UniformBuffer._tempBuffer[i * 4 + 1] = matrix[i * 2 + 1];\r\n UniformBuffer._tempBuffer[i * 4 + 2] = 0.0;\r\n UniformBuffer._tempBuffer[i * 4 + 3] = 0.0;\r\n }\r\n\r\n this.updateUniform(name, UniformBuffer._tempBuffer, 8);\r\n }\r\n\r\n private _updateFloatForEffect(name: string, x: number) {\r\n this._currentEffect.setFloat(name, x);\r\n }\r\n\r\n private _updateFloatForUniform(name: string, x: number) {\r\n UniformBuffer._tempBuffer[0] = x;\r\n this.updateUniform(name, UniformBuffer._tempBuffer, 1);\r\n }\r\n\r\n private _updateFloat2ForEffect(name: string, x: number, y: number, suffix = \"\") {\r\n this._currentEffect.setFloat2(name + suffix, x, y);\r\n }\r\n\r\n private _updateFloat2ForUniform(name: string, x: number, y: number) {\r\n UniformBuffer._tempBuffer[0] = x;\r\n UniformBuffer._tempBuffer[1] = y;\r\n this.updateUniform(name, UniformBuffer._tempBuffer, 2);\r\n }\r\n\r\n private _updateFloat3ForEffect(name: string, x: number, y: number, z: number, suffix = \"\") {\r\n this._currentEffect.setFloat3(name + suffix, x, y, z);\r\n }\r\n\r\n private _updateFloat3ForUniform(name: string, x: number, y: number, z: number) {\r\n UniformBuffer._tempBuffer[0] = x;\r\n UniformBuffer._tempBuffer[1] = y;\r\n UniformBuffer._tempBuffer[2] = z;\r\n this.updateUniform(name, UniformBuffer._tempBuffer, 3);\r\n\r\n }\r\n\r\n private _updateFloat4ForEffect(name: string, x: number, y: number, z: number, w: number, suffix = \"\") {\r\n this._currentEffect.setFloat4(name + suffix, x, y, z, w);\r\n }\r\n\r\n private _updateFloat4ForUniform(name: string, x: number, y: number, z: number, w: number) {\r\n UniformBuffer._tempBuffer[0] = x;\r\n UniformBuffer._tempBuffer[1] = y;\r\n UniformBuffer._tempBuffer[2] = z;\r\n UniformBuffer._tempBuffer[3] = w;\r\n this.updateUniform(name, UniformBuffer._tempBuffer, 4);\r\n }\r\n\r\n private _updateMatrixForEffect(name: string, mat: Matrix) {\r\n this._currentEffect.setMatrix(name, mat);\r\n }\r\n\r\n private _updateMatrixForUniform(name: string, mat: Matrix) {\r\n if (this._cacheMatrix(name, mat)) {\r\n this.updateUniform(name, mat.toArray(), 16);\r\n }\r\n }\r\n\r\n private _updateVector3ForEffect(name: string, vector: Vector3) {\r\n this._currentEffect.setVector3(name, vector);\r\n }\r\n\r\n private _updateVector3ForUniform(name: string, vector: Vector3) {\r\n vector.toArray(UniformBuffer._tempBuffer);\r\n this.updateUniform(name, UniformBuffer._tempBuffer, 3);\r\n }\r\n\r\n private _updateVector4ForEffect(name: string, vector: Vector4) {\r\n this._currentEffect.setVector4(name, vector);\r\n }\r\n\r\n private _updateVector4ForUniform(name: string, vector: Vector4) {\r\n vector.toArray(UniformBuffer._tempBuffer);\r\n this.updateUniform(name, UniformBuffer._tempBuffer, 4);\r\n }\r\n\r\n private _updateColor3ForEffect(name: string, color: Color3, suffix = \"\") {\r\n this._currentEffect.setColor3(name + suffix, color);\r\n }\r\n\r\n private _updateColor3ForUniform(name: string, color: Color3) {\r\n color.toArray(UniformBuffer._tempBuffer);\r\n this.updateUniform(name, UniformBuffer._tempBuffer, 3);\r\n }\r\n\r\n private _updateColor4ForEffect(name: string, color: Color3, alpha: number, suffix = \"\") {\r\n this._currentEffect.setColor4(name + suffix, color, alpha);\r\n }\r\n\r\n private _updateColor4ForUniform(name: string, color: Color3, alpha: number) {\r\n color.toArray(UniformBuffer._tempBuffer);\r\n UniformBuffer._tempBuffer[3] = alpha;\r\n this.updateUniform(name, UniformBuffer._tempBuffer, 4);\r\n }\r\n\r\n /**\r\n * Sets a sampler uniform on the effect.\r\n * @param name Define the name of the sampler.\r\n * @param texture Define the texture to set in the sampler\r\n */\r\n public setTexture(name: string, texture: Nullable) {\r\n this._currentEffect.setTexture(name, texture);\r\n }\r\n\r\n /**\r\n * Directly updates the value of the uniform in the cache AND on the GPU.\r\n * @param uniformName Define the name of the uniform, as used in the uniform block in the shader.\r\n * @param data Define the flattened data\r\n */\r\n public updateUniformDirectly(uniformName: string, data: FloatArray) {\r\n this.updateUniform(uniformName, data, data.length);\r\n\r\n this.update();\r\n }\r\n\r\n /**\r\n * Binds this uniform buffer to an effect.\r\n * @param effect Define the effect to bind the buffer to\r\n * @param name Name of the uniform block in the shader.\r\n */\r\n public bindToEffect(effect: Effect, name: string): void {\r\n this._currentEffect = effect;\r\n\r\n if (this._noUBO || !this._buffer) {\r\n return;\r\n }\r\n\r\n this._alreadyBound = true;\r\n effect.bindUniformBuffer(this._buffer, name);\r\n }\r\n\r\n /**\r\n * Disposes the uniform buffer.\r\n */\r\n public dispose(): void {\r\n if (this._noUBO) {\r\n return;\r\n }\r\n\r\n const uniformBuffers = this._engine._uniformBuffers;\r\n let index = uniformBuffers.indexOf(this);\r\n\r\n if (index !== -1) {\r\n uniformBuffers[index] = uniformBuffers[uniformBuffers.length - 1];\r\n uniformBuffers.pop();\r\n }\r\n\r\n if (!this._buffer) {\r\n return;\r\n }\r\n if (this._engine._releaseBuffer(this._buffer)) {\r\n this._buffer = null;\r\n }\r\n }\r\n}\r\n","import { FreeCamera } from \"./freeCamera\";\r\nimport { CameraInputsManager } from \"./cameraInputsManager\";\r\nimport { FreeCameraKeyboardMoveInput } from \"../Cameras/Inputs/freeCameraKeyboardMoveInput\";\r\nimport { FreeCameraMouseInput } from \"../Cameras/Inputs/freeCameraMouseInput\";\r\nimport { FreeCameraMouseWheelInput } from \"../Cameras/Inputs/freeCameraMouseWheelInput\";\r\nimport { FreeCameraTouchInput } from \"../Cameras/Inputs/freeCameraTouchInput\";\r\nimport { Nullable } from '../types';\r\n\r\n/**\r\n * Default Inputs manager for the FreeCamera.\r\n * It groups all the default supported inputs for ease of use.\r\n * @see https://doc.babylonjs.com/how_to/customizing_camera_inputs\r\n */\r\nexport class FreeCameraInputsManager extends CameraInputsManager {\r\n /**\r\n * @hidden\r\n */\r\n public _mouseInput: Nullable = null;\r\n /**\r\n * @hidden\r\n */\r\n public _mouseWheelInput: Nullable = null;\r\n /**\r\n * Instantiates a new FreeCameraInputsManager.\r\n * @param camera Defines the camera the inputs belong to\r\n */\r\n constructor(camera: FreeCamera) {\r\n super(camera);\r\n }\r\n\r\n /**\r\n * Add keyboard input support to the input manager.\r\n * @returns the current input manager\r\n */\r\n addKeyboard(): FreeCameraInputsManager {\r\n this.add(new FreeCameraKeyboardMoveInput());\r\n return this;\r\n }\r\n\r\n /**\r\n * Add mouse input support to the input manager.\r\n * @param touchEnabled if the FreeCameraMouseInput should support touch (default: true)\r\n * @returns the current input manager\r\n */\r\n addMouse(touchEnabled = true): FreeCameraInputsManager {\r\n if (!this._mouseInput) {\r\n this._mouseInput = new FreeCameraMouseInput(touchEnabled);\r\n this.add(this._mouseInput);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Removes the mouse input support from the manager\r\n * @returns the current input manager\r\n */\r\n removeMouse(): FreeCameraInputsManager {\r\n if (this._mouseInput) {\r\n this.remove(this._mouseInput);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Add mouse wheel input support to the input manager.\r\n * @returns the current input manager\r\n */\r\n addMouseWheel(): FreeCameraInputsManager {\r\n if (!this._mouseWheelInput) {\r\n this._mouseWheelInput = new FreeCameraMouseWheelInput();\r\n this.add(this._mouseWheelInput);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Removes the mouse wheel input support from the manager\r\n * @returns the current input manager\r\n */\r\n removeMouseWheel(): FreeCameraInputsManager {\r\n if (this._mouseWheelInput) {\r\n this.remove(this._mouseWheelInput);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Add touch input support to the input manager.\r\n * @returns the current input manager\r\n */\r\n addTouch(): FreeCameraInputsManager {\r\n this.add(new FreeCameraTouchInput());\r\n return this;\r\n }\r\n\r\n /**\r\n * Remove all attached input methods from a camera\r\n */\r\n public clear(): void {\r\n super.clear();\r\n this._mouseInput = null;\r\n }\r\n}\r\n","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\n\nvar ListContext = React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ListContext.displayName = 'ListContext';\n}\n\nexport default ListContext;","import { DataBuffer } from '../dataBuffer';\r\nimport { Nullable } from '../../types';\r\n\r\n/** @hidden */\r\nexport class WebGLDataBuffer extends DataBuffer {\r\n private _buffer: Nullable;\r\n\r\n public constructor(resource: WebGLBuffer) {\r\n super();\r\n this._buffer = resource;\r\n }\r\n\r\n public get underlyingResource(): any {\r\n return this._buffer;\r\n }\r\n}","/**\r\n * Class used to store gfx data (like WebGLBuffer)\r\n */\r\nexport class DataBuffer {\r\n /**\r\n * Gets or sets the number of objects referencing this buffer\r\n */\r\n public references: number = 0;\r\n /** Gets or sets the size of the underlying buffer */\r\n public capacity: number = 0;\r\n /**\r\n * Gets or sets a boolean indicating if the buffer contains 32bits indices\r\n */\r\n public is32Bits: boolean = false;\r\n\r\n /**\r\n * Gets the underlying buffer\r\n */\r\n public get underlyingResource(): any {\r\n return null;\r\n }\r\n}","import { Matrix } from './math.vector';\r\nimport { DeepImmutable } from '../types';\r\nimport { Plane } from './math.plane';\r\n\r\n/**\r\n * Represents a camera frustum\r\n */\r\nexport class Frustum {\r\n /**\r\n * Gets the planes representing the frustum\r\n * @param transform matrix to be applied to the returned planes\r\n * @returns a new array of 6 Frustum planes computed by the given transformation matrix.\r\n */\r\n public static GetPlanes(transform: DeepImmutable): Plane[] {\r\n var frustumPlanes = [];\r\n for (var index = 0; index < 6; index++) {\r\n frustumPlanes.push(new Plane(0.0, 0.0, 0.0, 0.0));\r\n }\r\n Frustum.GetPlanesToRef(transform, frustumPlanes);\r\n return frustumPlanes;\r\n }\r\n\r\n /**\r\n * Gets the near frustum plane transformed by the transform matrix\r\n * @param transform transformation matrix to be applied to the resulting frustum plane\r\n * @param frustumPlane the resuling frustum plane\r\n */\r\n public static GetNearPlaneToRef(transform: DeepImmutable, frustumPlane: Plane): void {\r\n const m = transform.m;\r\n frustumPlane.normal.x = m[3] + m[2];\r\n frustumPlane.normal.y = m[7] + m[6];\r\n frustumPlane.normal.z = m[11] + m[10];\r\n frustumPlane.d = m[15] + m[14];\r\n frustumPlane.normalize();\r\n }\r\n\r\n /**\r\n * Gets the far frustum plane transformed by the transform matrix\r\n * @param transform transformation matrix to be applied to the resulting frustum plane\r\n * @param frustumPlane the resuling frustum plane\r\n */\r\n public static GetFarPlaneToRef(transform: DeepImmutable, frustumPlane: Plane): void {\r\n const m = transform.m;\r\n frustumPlane.normal.x = m[3] - m[2];\r\n frustumPlane.normal.y = m[7] - m[6];\r\n frustumPlane.normal.z = m[11] - m[10];\r\n frustumPlane.d = m[15] - m[14];\r\n frustumPlane.normalize();\r\n }\r\n\r\n /**\r\n * Gets the left frustum plane transformed by the transform matrix\r\n * @param transform transformation matrix to be applied to the resulting frustum plane\r\n * @param frustumPlane the resuling frustum plane\r\n */\r\n public static GetLeftPlaneToRef(transform: DeepImmutable, frustumPlane: Plane): void {\r\n const m = transform.m;\r\n frustumPlane.normal.x = m[3] + m[0];\r\n frustumPlane.normal.y = m[7] + m[4];\r\n frustumPlane.normal.z = m[11] + m[8];\r\n frustumPlane.d = m[15] + m[12];\r\n frustumPlane.normalize();\r\n }\r\n\r\n /**\r\n * Gets the right frustum plane transformed by the transform matrix\r\n * @param transform transformation matrix to be applied to the resulting frustum plane\r\n * @param frustumPlane the resuling frustum plane\r\n */\r\n public static GetRightPlaneToRef(transform: DeepImmutable, frustumPlane: Plane): void {\r\n const m = transform.m;\r\n frustumPlane.normal.x = m[3] - m[0];\r\n frustumPlane.normal.y = m[7] - m[4];\r\n frustumPlane.normal.z = m[11] - m[8];\r\n frustumPlane.d = m[15] - m[12];\r\n frustumPlane.normalize();\r\n }\r\n\r\n /**\r\n * Gets the top frustum plane transformed by the transform matrix\r\n * @param transform transformation matrix to be applied to the resulting frustum plane\r\n * @param frustumPlane the resuling frustum plane\r\n */\r\n public static GetTopPlaneToRef(transform: DeepImmutable, frustumPlane: Plane): void {\r\n const m = transform.m;\r\n frustumPlane.normal.x = m[3] - m[1];\r\n frustumPlane.normal.y = m[7] - m[5];\r\n frustumPlane.normal.z = m[11] - m[9];\r\n frustumPlane.d = m[15] - m[13];\r\n frustumPlane.normalize();\r\n }\r\n\r\n /**\r\n * Gets the bottom frustum plane transformed by the transform matrix\r\n * @param transform transformation matrix to be applied to the resulting frustum plane\r\n * @param frustumPlane the resuling frustum plane\r\n */\r\n public static GetBottomPlaneToRef(transform: DeepImmutable, frustumPlane: Plane): void {\r\n const m = transform.m;\r\n frustumPlane.normal.x = m[3] + m[1];\r\n frustumPlane.normal.y = m[7] + m[5];\r\n frustumPlane.normal.z = m[11] + m[9];\r\n frustumPlane.d = m[15] + m[13];\r\n frustumPlane.normalize();\r\n }\r\n\r\n /**\r\n * Sets the given array \"frustumPlanes\" with the 6 Frustum planes computed by the given transformation matrix.\r\n * @param transform transformation matrix to be applied to the resulting frustum planes\r\n * @param frustumPlanes the resuling frustum planes\r\n */\r\n public static GetPlanesToRef(transform: DeepImmutable, frustumPlanes: Plane[]): void {\r\n // Near\r\n Frustum.GetNearPlaneToRef(transform, frustumPlanes[0]);\r\n\r\n // Far\r\n Frustum.GetFarPlaneToRef(transform, frustumPlanes[1]);\r\n\r\n // Left\r\n Frustum.GetLeftPlaneToRef(transform, frustumPlanes[2]);\r\n\r\n // Right\r\n Frustum.GetRightPlaneToRef(transform, frustumPlanes[3]);\r\n\r\n // Top\r\n Frustum.GetTopPlaneToRef(transform, frustumPlanes[4]);\r\n\r\n // Bottom\r\n Frustum.GetBottomPlaneToRef(transform, frustumPlanes[5]);\r\n }\r\n}\r\n","import { IDisposable } from \"../scene\";\r\nimport { IActionEvent } from \"./actionEvent\";\r\nimport { IAction } from \"./action\";\r\n\r\nimport { Nullable } from \"../types\";\r\n\r\n/**\r\n * Abstract class used to decouple action Manager from scene and meshes.\r\n * Do not instantiate.\r\n * @see https://doc.babylonjs.com/how_to/how_to_use_actions\r\n */\r\nexport abstract class AbstractActionManager implements IDisposable {\r\n\r\n /** Gets the list of active triggers */\r\n public static Triggers: { [key: string]: number } = {};\r\n\r\n /** Gets the cursor to use when hovering items */\r\n public hoverCursor: string = '';\r\n\r\n /** Gets the list of actions */\r\n public actions = new Array();\r\n\r\n /**\r\n * Gets or sets a boolean indicating that the manager is recursive meaning that it can trigger action from children\r\n */\r\n public isRecursive = false;\r\n\r\n /**\r\n * Releases all associated resources\r\n */\r\n public abstract dispose(): void;\r\n\r\n /**\r\n * Does this action manager has pointer triggers\r\n */\r\n public abstract get hasPointerTriggers(): boolean;\r\n\r\n /**\r\n * Does this action manager has pick triggers\r\n */\r\n public abstract get hasPickTriggers(): boolean;\r\n\r\n /**\r\n * Process a specific trigger\r\n * @param trigger defines the trigger to process\r\n * @param evt defines the event details to be processed\r\n */\r\n public abstract processTrigger(trigger: number, evt?: IActionEvent): void;\r\n\r\n /**\r\n * Does this action manager handles actions of any of the given triggers\r\n * @param triggers defines the triggers to be tested\r\n * @return a boolean indicating whether one (or more) of the triggers is handled\r\n */\r\n public abstract hasSpecificTriggers(triggers: number[]): boolean;\r\n\r\n /**\r\n * Does this action manager handles actions of any of the given triggers. This function takes two arguments for\r\n * speed.\r\n * @param triggerA defines the trigger to be tested\r\n * @param triggerB defines the trigger to be tested\r\n * @return a boolean indicating whether one (or more) of the triggers is handled\r\n */\r\n public abstract hasSpecificTriggers2(triggerA: number, triggerB: number): boolean;\r\n\r\n /**\r\n * Does this action manager handles actions of a given trigger\r\n * @param trigger defines the trigger to be tested\r\n * @param parameterPredicate defines an optional predicate to filter triggers by parameter\r\n * @return whether the trigger is handled\r\n */\r\n public abstract hasSpecificTrigger(trigger: number, parameterPredicate?: (parameter: any) => boolean): boolean;\r\n\r\n /**\r\n * Serialize this manager to a JSON object\r\n * @param name defines the property name to store this manager\r\n * @returns a JSON representation of this manager\r\n */\r\n public abstract serialize(name: string): any;\r\n\r\n /**\r\n * Registers an action to this action manager\r\n * @param action defines the action to be registered\r\n * @return the action amended (prepared) after registration\r\n */\r\n public abstract registerAction(action: IAction): Nullable;\r\n\r\n /**\r\n * Unregisters an action to this action manager\r\n * @param action defines the action to be unregistered\r\n * @return a boolean indicating whether the action has been unregistered\r\n */\r\n public abstract unregisterAction(action: IAction): Boolean;\r\n\r\n /**\r\n * Does exist one action manager with at least one trigger\r\n **/\r\n public static get HasTriggers(): boolean {\r\n for (var t in AbstractActionManager.Triggers) {\r\n if (AbstractActionManager.Triggers.hasOwnProperty(t)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Does exist one action manager with at least one pick trigger\r\n **/\r\n public static get HasPickTriggers(): boolean {\r\n for (var t in AbstractActionManager.Triggers) {\r\n if (AbstractActionManager.Triggers.hasOwnProperty(t)) {\r\n let t_int = parseInt(t);\r\n if (t_int >= 1 && t_int <= 7) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Does exist one action manager that handles actions of a given trigger\r\n * @param trigger defines the trigger to be tested\r\n * @return a boolean indicating whether the trigger is handeled by at least one action manager\r\n **/\r\n public static HasSpecificTrigger(trigger: number): boolean {\r\n for (var t in AbstractActionManager.Triggers) {\r\n if (AbstractActionManager.Triggers.hasOwnProperty(t)) {\r\n let t_int = parseInt(t);\r\n if (t_int === trigger) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n}","import { Nullable } from \"../types\";\r\nimport { Scene } from \"../scene\";\r\nimport { Material } from \"./material\";\r\nimport { _TypeStore } from \"../Misc/typeStore\";\r\nimport { serialize, expandToProperty, serializeAsTexture, SerializationHelper } from '../Misc/decorators';\r\nimport { MaterialFlags } from './materialFlags';\r\nimport { MaterialHelper } from './materialHelper';\r\nimport { BaseTexture } from './Textures/baseTexture';\r\nimport { UniformBuffer } from './uniformBuffer';\r\nimport { IAnimatable } from '../Animations/animatable.interface';\r\n\r\n/**\r\n * @hidden\r\n */\r\nexport interface IMaterialDetailMapDefines {\r\n DETAIL: boolean;\r\n DETAILDIRECTUV : number;\r\n DETAIL_NORMALBLENDMETHOD: number;\r\n\r\n /** @hidden */\r\n _areTexturesDirty: boolean;\r\n}\r\n\r\n/**\r\n * Define the code related to the detail map parameters of a material\r\n *\r\n * Inspired from:\r\n * Unity: https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@9.0/manual/Mask-Map-and-Detail-Map.html and https://docs.unity3d.com/Manual/StandardShaderMaterialParameterDetail.html\r\n * Unreal: https://docs.unrealengine.com/en-US/Engine/Rendering/Materials/HowTo/DetailTexturing/index.html\r\n * Cryengine: https://docs.cryengine.com/display/SDKDOC2/Detail+Maps\r\n */\r\nexport class DetailMapConfiguration {\r\n\r\n private _texture: Nullable = null;\r\n /**\r\n * The detail texture of the material.\r\n */\r\n @serializeAsTexture(\"detailTexture\")\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public texture: Nullable;\r\n\r\n /**\r\n * Defines how strongly the detail diffuse/albedo channel is blended with the regular diffuse/albedo texture\r\n * Bigger values mean stronger blending\r\n */\r\n @serialize()\r\n public diffuseBlendLevel = 1;\r\n\r\n /**\r\n * Defines how strongly the detail roughness channel is blended with the regular roughness value\r\n * Bigger values mean stronger blending. Only used with PBR materials\r\n */\r\n @serialize()\r\n public roughnessBlendLevel = 1;\r\n\r\n /**\r\n * Defines how strong the bump effect from the detail map is\r\n * Bigger values mean stronger effect\r\n */\r\n @serialize()\r\n public bumpLevel = 1;\r\n\r\n private _normalBlendMethod = Material.MATERIAL_NORMALBLENDMETHOD_WHITEOUT;\r\n /**\r\n * The method used to blend the bump and detail normals together\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public normalBlendMethod: number;\r\n\r\n private _isEnabled = false;\r\n /**\r\n * Enable or disable the detail map on this material\r\n */\r\n @serialize()\r\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\r\n public isEnabled = false;\r\n\r\n /** @hidden */\r\n private _internalMarkAllSubMeshesAsTexturesDirty: () => void;\r\n\r\n /** @hidden */\r\n public _markAllSubMeshesAsTexturesDirty(): void {\r\n this._internalMarkAllSubMeshesAsTexturesDirty();\r\n }\r\n\r\n /**\r\n * Instantiate a new detail map\r\n * @param markAllSubMeshesAsTexturesDirty Callback to flag the material to dirty\r\n */\r\n constructor(markAllSubMeshesAsTexturesDirty: () => void) {\r\n this._internalMarkAllSubMeshesAsTexturesDirty = markAllSubMeshesAsTexturesDirty;\r\n }\r\n\r\n /**\r\n * Gets whether the submesh is ready to be used or not.\r\n * @param defines the list of \"defines\" to update.\r\n * @param scene defines the scene the material belongs to.\r\n * @returns - boolean indicating that the submesh is ready or not.\r\n */\r\n public isReadyForSubMesh(defines: IMaterialDetailMapDefines, scene: Scene): boolean {\r\n const engine = scene.getEngine();\r\n\r\n if (defines._areTexturesDirty && scene.texturesEnabled) {\r\n if (engine.getCaps().standardDerivatives && this._texture && MaterialFlags.DetailTextureEnabled) {\r\n // Detail texture cannot be not blocking.\r\n if (!this._texture.isReady()) {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Update the defines for detail map usage\r\n * @param defines the list of \"defines\" to update.\r\n * @param scene defines the scene the material belongs to.\r\n */\r\n public prepareDefines(defines: IMaterialDetailMapDefines, scene: Scene): void {\r\n if (this._isEnabled) {\r\n defines.DETAIL_NORMALBLENDMETHOD = this._normalBlendMethod;\r\n\r\n const engine = scene.getEngine();\r\n\r\n if (defines._areTexturesDirty) {\r\n if (engine.getCaps().standardDerivatives && this._texture && MaterialFlags.DetailTextureEnabled && this._isEnabled) {\r\n MaterialHelper.PrepareDefinesForMergedUV(this._texture, defines, \"DETAIL\");\r\n defines.DETAIL_NORMALBLENDMETHOD = this._normalBlendMethod;\r\n } else {\r\n defines.DETAIL = false;\r\n }\r\n }\r\n } else {\r\n defines.DETAIL = false;\r\n }\r\n }\r\n\r\n /**\r\n * Binds the material data.\r\n * @param uniformBuffer defines the Uniform buffer to fill in.\r\n * @param scene defines the scene the material belongs to.\r\n * @param isFrozen defines whether the material is frozen or not.\r\n */\r\n public bindForSubMesh(uniformBuffer: UniformBuffer, scene: Scene, isFrozen: boolean): void {\r\n if (!this._isEnabled) {\r\n return;\r\n }\r\n\r\n if (!uniformBuffer.useUbo || !isFrozen || !uniformBuffer.isSync) {\r\n if (this._texture && MaterialFlags.DetailTextureEnabled) {\r\n uniformBuffer.updateFloat4(\"vDetailInfos\", this._texture.coordinatesIndex, this.diffuseBlendLevel, this.bumpLevel, this.roughnessBlendLevel);\r\n MaterialHelper.BindTextureMatrix(this._texture, uniformBuffer, \"detail\");\r\n }\r\n }\r\n\r\n // Textures\r\n if (scene.texturesEnabled) {\r\n if (this._texture && MaterialFlags.DetailTextureEnabled) {\r\n uniformBuffer.setTexture(\"detailSampler\", this._texture);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Checks to see if a texture is used in the material.\r\n * @param texture - Base texture to use.\r\n * @returns - Boolean specifying if a texture is used in the material.\r\n */\r\n public hasTexture(texture: BaseTexture): boolean {\r\n if (this._texture === texture) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Returns an array of the actively used textures.\r\n * @param activeTextures Array of BaseTextures\r\n */\r\n public getActiveTextures(activeTextures: BaseTexture[]): void {\r\n if (this._texture) {\r\n activeTextures.push(this._texture);\r\n }\r\n }\r\n\r\n /**\r\n * Returns the animatable textures.\r\n * @param animatables Array of animatable textures.\r\n */\r\n public getAnimatables(animatables: IAnimatable[]): void {\r\n if (this._texture && this._texture.animations && this._texture.animations.length > 0) {\r\n animatables.push(this._texture);\r\n }\r\n }\r\n\r\n /**\r\n * Disposes the resources of the material.\r\n * @param forceDisposeTextures - Forces the disposal of all textures.\r\n */\r\n public dispose(forceDisposeTextures?: boolean): void {\r\n if (forceDisposeTextures) {\r\n this._texture?.dispose();\r\n }\r\n }\r\n\r\n /**\r\n * Get the current class name useful for serialization or dynamic coding.\r\n * @returns \"DetailMap\"\r\n */\r\n public getClassName(): string {\r\n return \"DetailMap\";\r\n }\r\n\r\n /**\r\n * Add the required uniforms to the current list.\r\n * @param uniforms defines the current uniform list.\r\n */\r\n public static AddUniforms(uniforms: string[]): void {\r\n uniforms.push(\"vDetailInfos\");\r\n }\r\n\r\n /**\r\n * Add the required samplers to the current list.\r\n * @param samplers defines the current sampler list.\r\n */\r\n public static AddSamplers(samplers: string[]): void {\r\n samplers.push(\"detailSampler\");\r\n }\r\n\r\n /**\r\n * Add the required uniforms to the current buffer.\r\n * @param uniformBuffer defines the current uniform buffer.\r\n */\r\n public static PrepareUniformBuffer(uniformBuffer: UniformBuffer): void {\r\n uniformBuffer.addUniform(\"vDetailInfos\", 4);\r\n uniformBuffer.addUniform(\"detailMatrix\", 16);\r\n }\r\n\r\n /**\r\n * Makes a duplicate of the current instance into another one.\r\n * @param detailMap define the instance where to copy the info\r\n */\r\n public copyTo(detailMap: DetailMapConfiguration): void {\r\n SerializationHelper.Clone(() => detailMap, this);\r\n }\r\n\r\n /**\r\n * Serializes this detail map instance\r\n * @returns - An object with the serialized instance.\r\n */\r\n public serialize(): any {\r\n return SerializationHelper.Serialize(this);\r\n }\r\n\r\n /**\r\n * Parses a detail map setting from a serialized object.\r\n * @param source - Serialized object.\r\n * @param scene Defines the scene we are parsing for\r\n * @param rootUrl Defines the rootUrl to load from\r\n */\r\n public parse(source: any, scene: Scene, rootUrl: string): void {\r\n SerializationHelper.Parse(() => this, source, scene, rootUrl);\r\n }\r\n}\r\n","import { Nullable } from \"../../types\";\r\nimport { InternalTexture, InternalTextureSource } from '../../Materials/Textures/internalTexture';\r\nimport { Logger } from '../../Misc/logger';\r\nimport { Tools } from '../../Misc/tools';\r\nimport { Scene } from '../../scene';\r\n\r\nimport { ThinEngine } from '../thinEngine';\r\nimport { IWebRequest } from '../../Misc/interfaces/iWebRequest';\r\n\r\ndeclare module \"../../Engines/thinEngine\" {\r\n export interface ThinEngine {\r\n /**\r\n * Creates a raw texture\r\n * @param data defines the data to store in the texture\r\n * @param width defines the width of the texture\r\n * @param height defines the height of the texture\r\n * @param format defines the format of the data\r\n * @param generateMipMaps defines if the engine should generate the mip levels\r\n * @param invertY defines if data must be stored with Y axis inverted\r\n * @param samplingMode defines the required sampling mode (Texture.NEAREST_SAMPLINGMODE by default)\r\n * @param compression defines the compression used (null by default)\r\n * @param type defines the type fo the data (Engine.TEXTURETYPE_UNSIGNED_INT by default)\r\n * @returns the raw texture inside an InternalTexture\r\n */\r\n createRawTexture(data: Nullable, width: number, height: number, format: number, generateMipMaps: boolean, invertY: boolean, samplingMode: number, compression: Nullable, type: number): InternalTexture;\r\n\r\n /**\r\n * Update a raw texture\r\n * @param texture defines the texture to update\r\n * @param data defines the data to store in the texture\r\n * @param format defines the format of the data\r\n * @param invertY defines if data must be stored with Y axis inverted\r\n */\r\n updateRawTexture(texture: Nullable, data: Nullable, format: number, invertY: boolean): void;\r\n\r\n /**\r\n * Update a raw texture\r\n * @param texture defines the texture to update\r\n * @param data defines the data to store in the texture\r\n * @param format defines the format of the data\r\n * @param invertY defines if data must be stored with Y axis inverted\r\n * @param compression defines the compression used (null by default)\r\n * @param type defines the type fo the data (Engine.TEXTURETYPE_UNSIGNED_INT by default)\r\n */\r\n updateRawTexture(texture: Nullable, data: Nullable, format: number, invertY: boolean, compression: Nullable, type: number): void;\r\n\r\n /**\r\n * Creates a new raw cube texture\r\n * @param data defines the array of data to use to create each face\r\n * @param size defines the size of the textures\r\n * @param format defines the format of the data\r\n * @param type defines the type of the data (like Engine.TEXTURETYPE_UNSIGNED_INT)\r\n * @param generateMipMaps defines if the engine should generate the mip levels\r\n * @param invertY defines if data must be stored with Y axis inverted\r\n * @param samplingMode defines the required sampling mode (like Texture.NEAREST_SAMPLINGMODE)\r\n * @param compression defines the compression used (null by default)\r\n * @returns the cube texture as an InternalTexture\r\n */\r\n createRawCubeTexture(data: Nullable, size: number, format: number, type: number, generateMipMaps: boolean, invertY: boolean, samplingMode: number, compression: Nullable): InternalTexture;\r\n\r\n /**\r\n * Update a raw cube texture\r\n * @param texture defines the texture to udpdate\r\n * @param data defines the data to store\r\n * @param format defines the data format\r\n * @param type defines the type fo the data (Engine.TEXTURETYPE_UNSIGNED_INT by default)\r\n * @param invertY defines if data must be stored with Y axis inverted\r\n */\r\n updateRawCubeTexture(texture: InternalTexture, data: ArrayBufferView[], format: number, type: number, invertY: boolean): void;\r\n\r\n /**\r\n * Update a raw cube texture\r\n * @param texture defines the texture to udpdate\r\n * @param data defines the data to store\r\n * @param format defines the data format\r\n * @param type defines the type fo the data (Engine.TEXTURETYPE_UNSIGNED_INT by default)\r\n * @param invertY defines if data must be stored with Y axis inverted\r\n * @param compression defines the compression used (null by default)\r\n */\r\n updateRawCubeTexture(texture: InternalTexture, data: ArrayBufferView[], format: number, type: number, invertY: boolean, compression: Nullable): void;\r\n\r\n /**\r\n * Update a raw cube texture\r\n * @param texture defines the texture to udpdate\r\n * @param data defines the data to store\r\n * @param format defines the data format\r\n * @param type defines the type fo the data (Engine.TEXTURETYPE_UNSIGNED_INT by default)\r\n * @param invertY defines if data must be stored with Y axis inverted\r\n * @param compression defines the compression used (null by default)\r\n * @param level defines which level of the texture to update\r\n */\r\n updateRawCubeTexture(texture: InternalTexture, data: ArrayBufferView[], format: number, type: number, invertY: boolean, compression: Nullable, level: number): void;\r\n\r\n /**\r\n * Creates a new raw cube texture from a specified url\r\n * @param url defines the url where the data is located\r\n * @param scene defines the current scene\r\n * @param size defines the size of the textures\r\n * @param format defines the format of the data\r\n * @param type defines the type fo the data (like Engine.TEXTURETYPE_UNSIGNED_INT)\r\n * @param noMipmap defines if the engine should avoid generating the mip levels\r\n * @param callback defines a callback used to extract texture data from loaded data\r\n * @param mipmapGenerator defines to provide an optional tool to generate mip levels\r\n * @param onLoad defines a callback called when texture is loaded\r\n * @param onError defines a callback called if there is an error\r\n * @returns the cube texture as an InternalTexture\r\n */\r\n createRawCubeTextureFromUrl(url: string, scene: Nullable, size: number, format: number, type: number, noMipmap: boolean,\r\n callback: (ArrayBuffer: ArrayBuffer) => Nullable,\r\n mipmapGenerator: Nullable<((faces: ArrayBufferView[]) => ArrayBufferView[][])>,\r\n onLoad: Nullable<() => void>,\r\n onError: Nullable<(message?: string, exception?: any) => void>): InternalTexture;\r\n\r\n /**\r\n * Creates a new raw cube texture from a specified url\r\n * @param url defines the url where the data is located\r\n * @param scene defines the current scene\r\n * @param size defines the size of the textures\r\n * @param format defines the format of the data\r\n * @param type defines the type fo the data (like Engine.TEXTURETYPE_UNSIGNED_INT)\r\n * @param noMipmap defines if the engine should avoid generating the mip levels\r\n * @param callback defines a callback used to extract texture data from loaded data\r\n * @param mipmapGenerator defines to provide an optional tool to generate mip levels\r\n * @param onLoad defines a callback called when texture is loaded\r\n * @param onError defines a callback called if there is an error\r\n * @param samplingMode defines the required sampling mode (like Texture.NEAREST_SAMPLINGMODE)\r\n * @param invertY defines if data must be stored with Y axis inverted\r\n * @returns the cube texture as an InternalTexture\r\n */\r\n createRawCubeTextureFromUrl(url: string, scene: Nullable, size: number, format: number, type: number, noMipmap: boolean,\r\n callback: (ArrayBuffer: ArrayBuffer) => Nullable,\r\n mipmapGenerator: Nullable<((faces: ArrayBufferView[]) => ArrayBufferView[][])>,\r\n onLoad: Nullable<() => void>,\r\n onError: Nullable<(message?: string, exception?: any) => void>,\r\n samplingMode: number,\r\n invertY: boolean): InternalTexture;\r\n\r\n /**\r\n * Creates a new raw 3D texture\r\n * @param data defines the data used to create the texture\r\n * @param width defines the width of the texture\r\n * @param height defines the height of the texture\r\n * @param depth defines the depth of the texture\r\n * @param format defines the format of the texture\r\n * @param generateMipMaps defines if the engine must generate mip levels\r\n * @param invertY defines if data must be stored with Y axis inverted\r\n * @param samplingMode defines the required sampling mode (like Texture.NEAREST_SAMPLINGMODE)\r\n * @param compression defines the compressed used (can be null)\r\n * @param textureType defines the compressed used (can be null)\r\n * @returns a new raw 3D texture (stored in an InternalTexture)\r\n */\r\n createRawTexture3D(data: Nullable, width: number, height: number, depth: number, format: number, generateMipMaps: boolean, invertY: boolean, samplingMode: number, compression: Nullable, textureType: number): InternalTexture;\r\n\r\n /**\r\n * Update a raw 3D texture\r\n * @param texture defines the texture to update\r\n * @param data defines the data to store\r\n * @param format defines the data format\r\n * @param invertY defines if data must be stored with Y axis inverted\r\n */\r\n updateRawTexture3D(texture: InternalTexture, data: Nullable, format: number, invertY: boolean): void;\r\n\r\n /**\r\n * Update a raw 3D texture\r\n * @param texture defines the texture to update\r\n * @param data defines the data to store\r\n * @param format defines the data format\r\n * @param invertY defines if data must be stored with Y axis inverted\r\n * @param compression defines the used compression (can be null)\r\n * @param textureType defines the texture Type (Engine.TEXTURETYPE_UNSIGNED_INT, Engine.TEXTURETYPE_FLOAT...)\r\n */\r\n updateRawTexture3D(texture: InternalTexture, data: Nullable, format: number, invertY: boolean, compression: Nullable, textureType: number): void;\r\n\r\n /**\r\n * Creates a new raw 2D array texture\r\n * @param data defines the data used to create the texture\r\n * @param width defines the width of the texture\r\n * @param height defines the height of the texture\r\n * @param depth defines the number of layers of the texture\r\n * @param format defines the format of the texture\r\n * @param generateMipMaps defines if the engine must generate mip levels\r\n * @param invertY defines if data must be stored with Y axis inverted\r\n * @param samplingMode defines the required sampling mode (like Texture.NEAREST_SAMPLINGMODE)\r\n * @param compression defines the compressed used (can be null)\r\n * @param textureType defines the compressed used (can be null)\r\n * @returns a new raw 2D array texture (stored in an InternalTexture)\r\n */\r\n createRawTexture2DArray(data: Nullable, width: number, height: number, depth: number, format: number, generateMipMaps: boolean, invertY: boolean, samplingMode: number, compression: Nullable, textureType: number): InternalTexture;\r\n\r\n /**\r\n * Update a raw 2D array texture\r\n * @param texture defines the texture to update\r\n * @param data defines the data to store\r\n * @param format defines the data format\r\n * @param invertY defines if data must be stored with Y axis inverted\r\n */\r\n updateRawTexture2DArray(texture: InternalTexture, data: Nullable, format: number, invertY: boolean): void;\r\n\r\n /**\r\n * Update a raw 2D array texture\r\n * @param texture defines the texture to update\r\n * @param data defines the data to store\r\n * @param format defines the data format\r\n * @param invertY defines if data must be stored with Y axis inverted\r\n * @param compression defines the used compression (can be null)\r\n * @param textureType defines the texture Type (Engine.TEXTURETYPE_UNSIGNED_INT, Engine.TEXTURETYPE_FLOAT...)\r\n */\r\n updateRawTexture2DArray(texture: InternalTexture, data: Nullable, format: number, invertY: boolean, compression: Nullable, textureType: number): void;\r\n }\r\n}\r\n\r\nThinEngine.prototype.updateRawTexture = function(texture: Nullable, data: Nullable, format: number, invertY: boolean, compression: Nullable = null, type: number = 0): void {\r\n if (!texture) {\r\n return;\r\n }\r\n // Babylon's internalSizedFomat but gl's texImage2D internalFormat\r\n var internalSizedFomat = this._getRGBABufferInternalSizedFormat(type, format);\r\n\r\n // Babylon's internalFormat but gl's texImage2D format\r\n var internalFormat = this._getInternalFormat(format);\r\n var textureType = this._getWebGLTextureType(type);\r\n this._bindTextureDirectly(this._gl.TEXTURE_2D, texture, true);\r\n this._unpackFlipY(invertY === undefined ? true : (invertY ? true : false));\r\n\r\n if (!this._doNotHandleContextLost) {\r\n texture._bufferView = data;\r\n texture.format = format;\r\n texture.type = type;\r\n texture.invertY = invertY;\r\n texture._compression = compression;\r\n }\r\n\r\n if (texture.width % 4 !== 0) {\r\n this._gl.pixelStorei(this._gl.UNPACK_ALIGNMENT, 1);\r\n }\r\n\r\n if (compression && data) {\r\n this._gl.compressedTexImage2D(this._gl.TEXTURE_2D, 0, (this.getCaps().s3tc)[compression], texture.width, texture.height, 0, data);\r\n } else {\r\n this._gl.texImage2D(this._gl.TEXTURE_2D, 0, internalSizedFomat, texture.width, texture.height, 0, internalFormat, textureType, data);\r\n }\r\n\r\n if (texture.generateMipMaps) {\r\n this._gl.generateMipmap(this._gl.TEXTURE_2D);\r\n }\r\n this._bindTextureDirectly(this._gl.TEXTURE_2D, null);\r\n // this.resetTextureCache();\r\n texture.isReady = true;\r\n};\r\n\r\nThinEngine.prototype.createRawTexture = function(data: Nullable, width: number, height: number, format: number, generateMipMaps: boolean, invertY: boolean, samplingMode: number, compression: Nullable = null, type: number = 0): InternalTexture {\r\n var texture = new InternalTexture(this, InternalTextureSource.Raw);\r\n texture.baseWidth = width;\r\n texture.baseHeight = height;\r\n texture.width = width;\r\n texture.height = height;\r\n texture.format = format;\r\n texture.generateMipMaps = generateMipMaps;\r\n texture.samplingMode = samplingMode;\r\n texture.invertY = invertY;\r\n texture._compression = compression;\r\n texture.type = type;\r\n\r\n if (!this._doNotHandleContextLost) {\r\n texture._bufferView = data;\r\n }\r\n\r\n this.updateRawTexture(texture, data, format, invertY, compression, type);\r\n this._bindTextureDirectly(this._gl.TEXTURE_2D, texture, true);\r\n\r\n // Filters\r\n var filters = this._getSamplingParameters(samplingMode, generateMipMaps);\r\n\r\n this._gl.texParameteri(this._gl.TEXTURE_2D, this._gl.TEXTURE_MAG_FILTER, filters.mag);\r\n this._gl.texParameteri(this._gl.TEXTURE_2D, this._gl.TEXTURE_MIN_FILTER, filters.min);\r\n\r\n if (generateMipMaps) {\r\n this._gl.generateMipmap(this._gl.TEXTURE_2D);\r\n }\r\n\r\n this._bindTextureDirectly(this._gl.TEXTURE_2D, null);\r\n\r\n this._internalTexturesCache.push(texture);\r\n\r\n return texture;\r\n};\r\n\r\nThinEngine.prototype.createRawCubeTexture = function(data: Nullable, size: number, format: number, type: number,\r\n generateMipMaps: boolean, invertY: boolean, samplingMode: number,\r\n compression: Nullable = null): InternalTexture {\r\n var gl = this._gl;\r\n var texture = new InternalTexture(this, InternalTextureSource.CubeRaw);\r\n texture.isCube = true;\r\n texture.format = format;\r\n texture.type = type;\r\n if (!this._doNotHandleContextLost) {\r\n texture._bufferViewArray = data;\r\n }\r\n\r\n var textureType = this._getWebGLTextureType(type);\r\n var internalFormat = this._getInternalFormat(format);\r\n\r\n if (internalFormat === gl.RGB) {\r\n internalFormat = gl.RGBA;\r\n }\r\n\r\n // Mipmap generation needs a sized internal format that is both color-renderable and texture-filterable\r\n if (textureType === gl.FLOAT && !this._caps.textureFloatLinearFiltering) {\r\n generateMipMaps = false;\r\n samplingMode = 1;\r\n Logger.Warn(\"Float texture filtering is not supported. Mipmap generation and sampling mode are forced to false and TEXTURE_NEAREST_SAMPLINGMODE, respectively.\");\r\n }\r\n else if (textureType === this._gl.HALF_FLOAT_OES && !this._caps.textureHalfFloatLinearFiltering) {\r\n generateMipMaps = false;\r\n samplingMode = 1;\r\n Logger.Warn(\"Half float texture filtering is not supported. Mipmap generation and sampling mode are forced to false and TEXTURE_NEAREST_SAMPLINGMODE, respectively.\");\r\n }\r\n else if (textureType === gl.FLOAT && !this._caps.textureFloatRender) {\r\n generateMipMaps = false;\r\n Logger.Warn(\"Render to float textures is not supported. Mipmap generation forced to false.\");\r\n }\r\n else if (textureType === gl.HALF_FLOAT && !this._caps.colorBufferFloat) {\r\n generateMipMaps = false;\r\n Logger.Warn(\"Render to half float textures is not supported. Mipmap generation forced to false.\");\r\n }\r\n\r\n var width = size;\r\n var height = width;\r\n\r\n texture.width = width;\r\n texture.height = height;\r\n\r\n // Double check on POT to generate Mips.\r\n var isPot = !this.needPOTTextures || (Tools.IsExponentOfTwo(texture.width) && Tools.IsExponentOfTwo(texture.height));\r\n if (!isPot) {\r\n generateMipMaps = false;\r\n }\r\n\r\n // Upload data if needed. The texture won't be ready until then.\r\n if (data) {\r\n this.updateRawCubeTexture(texture, data, format, type, invertY, compression);\r\n }\r\n\r\n this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP, texture, true);\r\n\r\n // Filters\r\n if (data && generateMipMaps) {\r\n this._gl.generateMipmap(this._gl.TEXTURE_CUBE_MAP);\r\n }\r\n\r\n var filters = this._getSamplingParameters(samplingMode, generateMipMaps);\r\n gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MAG_FILTER, filters.mag);\r\n gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MIN_FILTER, filters.min);\r\n\r\n gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\r\n gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\r\n this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, null);\r\n\r\n texture.generateMipMaps = generateMipMaps;\r\n\r\n return texture;\r\n};\r\n\r\nThinEngine.prototype.updateRawCubeTexture = function(texture: InternalTexture, data: ArrayBufferView[], format: number, type: number, invertY: boolean, compression: Nullable = null, level: number = 0): void {\r\n texture._bufferViewArray = data;\r\n texture.format = format;\r\n texture.type = type;\r\n texture.invertY = invertY;\r\n texture._compression = compression;\r\n\r\n var gl = this._gl;\r\n var textureType = this._getWebGLTextureType(type);\r\n var internalFormat = this._getInternalFormat(format);\r\n var internalSizedFomat = this._getRGBABufferInternalSizedFormat(type);\r\n\r\n var needConversion = false;\r\n if (internalFormat === gl.RGB) {\r\n internalFormat = gl.RGBA;\r\n needConversion = true;\r\n }\r\n\r\n this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, texture, true);\r\n this._unpackFlipY(invertY === undefined ? true : (invertY ? true : false));\r\n\r\n if (texture.width % 4 !== 0) {\r\n gl.pixelStorei(gl.UNPACK_ALIGNMENT, 1);\r\n }\r\n\r\n // Data are known to be in +X +Y +Z -X -Y -Z\r\n for (let faceIndex = 0; faceIndex < 6; faceIndex++) {\r\n let faceData = data[faceIndex];\r\n\r\n if (compression) {\r\n gl.compressedTexImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + faceIndex, level, ((this.getCaps().s3tc))[compression], texture.width, texture.height, 0, faceData);\r\n } else {\r\n if (needConversion) {\r\n faceData = _convertRGBtoRGBATextureData(faceData, texture.width, texture.height, type);\r\n }\r\n gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + faceIndex, level, internalSizedFomat, texture.width, texture.height, 0, internalFormat, textureType, faceData);\r\n }\r\n }\r\n\r\n var isPot = !this.needPOTTextures || (Tools.IsExponentOfTwo(texture.width) && Tools.IsExponentOfTwo(texture.height));\r\n if (isPot && texture.generateMipMaps && level === 0) {\r\n this._gl.generateMipmap(this._gl.TEXTURE_CUBE_MAP);\r\n }\r\n this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP, null);\r\n\r\n // this.resetTextureCache();\r\n texture.isReady = true;\r\n};\r\n\r\nThinEngine.prototype.createRawCubeTextureFromUrl = function(url: string, scene: Nullable, size: number, format: number, type: number, noMipmap: boolean,\r\n callback: (ArrayBuffer: ArrayBuffer) => Nullable,\r\n mipmapGenerator: Nullable<((faces: ArrayBufferView[]) => ArrayBufferView[][])>,\r\n onLoad: Nullable<() => void> = null,\r\n onError: Nullable<(message?: string, exception?: any) => void> = null,\r\n samplingMode: number = 3,\r\n invertY: boolean = false): InternalTexture {\r\n\r\n var gl = this._gl;\r\n var texture = this.createRawCubeTexture(null, size, format, type, !noMipmap, invertY, samplingMode, null);\r\n scene?._addPendingData(texture);\r\n texture.url = url;\r\n this._internalTexturesCache.push(texture);\r\n\r\n var onerror = (request?: IWebRequest, exception?: any) => {\r\n scene?._removePendingData(texture);\r\n if (onError && request) {\r\n onError(request.status + \" \" + request.statusText, exception);\r\n }\r\n };\r\n\r\n var internalCallback = (data: any) => {\r\n var width = texture.width;\r\n var faceDataArrays = callback(data);\r\n\r\n if (!faceDataArrays) {\r\n return;\r\n }\r\n\r\n if (mipmapGenerator) {\r\n var textureType = this._getWebGLTextureType(type);\r\n var internalFormat = this._getInternalFormat(format);\r\n var internalSizedFomat = this._getRGBABufferInternalSizedFormat(type);\r\n\r\n var needConversion = false;\r\n if (internalFormat === gl.RGB) {\r\n internalFormat = gl.RGBA;\r\n needConversion = true;\r\n }\r\n\r\n this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, texture, true);\r\n this._unpackFlipY(false);\r\n\r\n var mipData = mipmapGenerator(faceDataArrays);\r\n for (var level = 0; level < mipData.length; level++) {\r\n var mipSize = width >> level;\r\n\r\n for (var faceIndex = 0; faceIndex < 6; faceIndex++) {\r\n let mipFaceData = mipData[level][faceIndex];\r\n if (needConversion) {\r\n mipFaceData = _convertRGBtoRGBATextureData(mipFaceData, mipSize, mipSize, type);\r\n }\r\n gl.texImage2D(faceIndex, level, internalSizedFomat, mipSize, mipSize, 0, internalFormat, textureType, mipFaceData);\r\n }\r\n }\r\n\r\n this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, null);\r\n }\r\n else {\r\n this.updateRawCubeTexture(texture, faceDataArrays, format, type, invertY);\r\n }\r\n\r\n texture.isReady = true;\r\n // this.resetTextureCache();\r\n scene?._removePendingData(texture);\r\n\r\n if (onLoad) {\r\n onLoad();\r\n }\r\n };\r\n\r\n this._loadFile(url, (data) => {\r\n internalCallback(data);\r\n }, undefined, scene?.offlineProvider, true, onerror);\r\n\r\n return texture;\r\n};\r\n\r\n/** @hidden */\r\nfunction _convertRGBtoRGBATextureData(rgbData: any, width: number, height: number, textureType: number): ArrayBufferView {\r\n // Create new RGBA data container.\r\n var rgbaData: any;\r\n if (textureType === 1) {\r\n rgbaData = new Float32Array(width * height * 4);\r\n }\r\n else {\r\n rgbaData = new Uint32Array(width * height * 4);\r\n }\r\n\r\n // Convert each pixel.\r\n for (let x = 0; x < width; x++) {\r\n for (let y = 0; y < height; y++) {\r\n let index = (y * width + x) * 3;\r\n let newIndex = (y * width + x) * 4;\r\n\r\n // Map Old Value to new value.\r\n rgbaData[newIndex + 0] = rgbData[index + 0];\r\n rgbaData[newIndex + 1] = rgbData[index + 1];\r\n rgbaData[newIndex + 2] = rgbData[index + 2];\r\n\r\n // Add fully opaque alpha channel.\r\n rgbaData[newIndex + 3] = 1;\r\n }\r\n }\r\n\r\n return rgbaData;\r\n}\r\n\r\n/**\r\n * Create a function for createRawTexture3D/createRawTexture2DArray\r\n * @param is3D true for TEXTURE_3D and false for TEXTURE_2D_ARRAY\r\n * @hidden\r\n */\r\nfunction _makeCreateRawTextureFunction(is3D: boolean) {\r\n return function(this: ThinEngine, data: Nullable, width: number, height: number, depth: number, format: number, generateMipMaps: boolean, invertY: boolean, samplingMode: number, compression: Nullable = null, textureType: number = 0): InternalTexture {\r\n var target = is3D ? this._gl.TEXTURE_3D : this._gl.TEXTURE_2D_ARRAY;\r\n var source = is3D ? InternalTextureSource.Raw3D : InternalTextureSource.Raw2DArray;\r\n var texture = new InternalTexture(this, source);\r\n texture.baseWidth = width;\r\n texture.baseHeight = height;\r\n texture.baseDepth = depth;\r\n texture.width = width;\r\n texture.height = height;\r\n texture.depth = depth;\r\n texture.format = format;\r\n texture.type = textureType;\r\n texture.generateMipMaps = generateMipMaps;\r\n texture.samplingMode = samplingMode;\r\n if (is3D) {\r\n texture.is3D = true;\r\n } else {\r\n texture.is2DArray = true;\r\n }\r\n\r\n if (!this._doNotHandleContextLost) {\r\n texture._bufferView = data;\r\n }\r\n\r\n if (is3D) {\r\n this.updateRawTexture3D(texture, data, format, invertY, compression, textureType);\r\n } else {\r\n this.updateRawTexture2DArray(texture, data, format, invertY, compression, textureType);\r\n }\r\n this._bindTextureDirectly(target, texture, true);\r\n\r\n // Filters\r\n var filters = this._getSamplingParameters(samplingMode, generateMipMaps);\r\n\r\n this._gl.texParameteri(target, this._gl.TEXTURE_MAG_FILTER, filters.mag);\r\n this._gl.texParameteri(target, this._gl.TEXTURE_MIN_FILTER, filters.min);\r\n\r\n if (generateMipMaps) {\r\n this._gl.generateMipmap(target);\r\n }\r\n\r\n this._bindTextureDirectly(target, null);\r\n\r\n this._internalTexturesCache.push(texture);\r\n\r\n return texture;\r\n };\r\n}\r\n\r\nThinEngine.prototype.createRawTexture2DArray = _makeCreateRawTextureFunction(false);\r\nThinEngine.prototype.createRawTexture3D = _makeCreateRawTextureFunction(true);\r\n\r\n/**\r\n * Create a function for updateRawTexture3D/updateRawTexture2DArray\r\n * @param is3D true for TEXTURE_3D and false for TEXTURE_2D_ARRAY\r\n * @hidden\r\n */\r\nfunction _makeUpdateRawTextureFunction(is3D: boolean) {\r\n return function(this: ThinEngine, texture: InternalTexture, data: Nullable, format: number, invertY: boolean, compression: Nullable = null, textureType: number = 0): void {\r\n var target = is3D ? this._gl.TEXTURE_3D : this._gl.TEXTURE_2D_ARRAY;\r\n var internalType = this._getWebGLTextureType(textureType);\r\n var internalFormat = this._getInternalFormat(format);\r\n var internalSizedFomat = this._getRGBABufferInternalSizedFormat(textureType, format);\r\n\r\n this._bindTextureDirectly(target, texture, true);\r\n this._unpackFlipY(invertY === undefined ? true : (invertY ? true : false));\r\n\r\n if (!this._doNotHandleContextLost) {\r\n texture._bufferView = data;\r\n texture.format = format;\r\n texture.invertY = invertY;\r\n texture._compression = compression;\r\n }\r\n\r\n if (texture.width % 4 !== 0) {\r\n this._gl.pixelStorei(this._gl.UNPACK_ALIGNMENT, 1);\r\n }\r\n\r\n if (compression && data) {\r\n this._gl.compressedTexImage3D(target, 0, (this.getCaps().s3tc)[compression], texture.width, texture.height, texture.depth, 0, data);\r\n } else {\r\n this._gl.texImage3D(target, 0, internalSizedFomat, texture.width, texture.height, texture.depth, 0, internalFormat, internalType, data);\r\n }\r\n\r\n if (texture.generateMipMaps) {\r\n this._gl.generateMipmap(target);\r\n }\r\n this._bindTextureDirectly(target, null);\r\n // this.resetTextureCache();\r\n texture.isReady = true;\r\n };\r\n}\r\n\r\nThinEngine.prototype.updateRawTexture2DArray = _makeUpdateRawTextureFunction(false);\r\nThinEngine.prototype.updateRawTexture3D = _makeUpdateRawTextureFunction(true);\r\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'morphTargetsVertexGlobalDeclaration';\nlet shader = `#ifdef MORPHTARGETS\nuniform float morphTargetInfluences[NUM_MORPH_INFLUENCERS];\n#endif`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var morphTargetsVertexGlobalDeclaration = { name, shader };\n","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'morphTargetsVertexDeclaration';\nlet shader = `#ifdef MORPHTARGETS\nattribute vec3 position{X};\n#ifdef MORPHTARGETS_NORMAL\nattribute vec3 normal{X};\n#endif\n#ifdef MORPHTARGETS_TANGENT\nattribute vec3 tangent{X};\n#endif\n#ifdef MORPHTARGETS_UV\nattribute vec2 uv_{X};\n#endif\n#endif`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var morphTargetsVertexDeclaration = { name, shader };\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","import { Nullable } from \"../types\";\r\nimport { Material } from \"../Materials/material\";\r\nimport { InternalTexture } from \"../Materials/Textures/internalTexture\";\r\nimport { PostProcess } from \"./postProcess\";\r\nimport { VertexBuffer } from \"../Meshes/buffer\";\r\n\r\nimport { DataBuffer } from '../Meshes/dataBuffer';\r\n\r\ndeclare type Scene = import(\"../scene\").Scene;\r\n\r\n/**\r\n * PostProcessManager is used to manage one or more post processes or post process pipelines\r\n * See https://doc.babylonjs.com/how_to/how_to_use_postprocesses\r\n */\r\nexport class PostProcessManager {\r\n private _scene: Scene;\r\n private _indexBuffer: Nullable;\r\n private _vertexBuffers: { [key: string]: Nullable } = {};\r\n\r\n /**\r\n * Creates a new instance PostProcess\r\n * @param scene The scene that the post process is associated with.\r\n */\r\n constructor(scene: Scene) {\r\n this._scene = scene;\r\n }\r\n\r\n private _prepareBuffers(): void {\r\n if (this._vertexBuffers[VertexBuffer.PositionKind]) {\r\n return;\r\n }\r\n\r\n // VBO\r\n var vertices = [];\r\n vertices.push(1, 1);\r\n vertices.push(-1, 1);\r\n vertices.push(-1, -1);\r\n vertices.push(1, -1);\r\n\r\n this._vertexBuffers[VertexBuffer.PositionKind] = new VertexBuffer(this._scene.getEngine(), vertices, VertexBuffer.PositionKind, false, false, 2);\r\n\r\n this._buildIndexBuffer();\r\n }\r\n\r\n private _buildIndexBuffer(): void {\r\n // Indices\r\n var indices = [];\r\n indices.push(0);\r\n indices.push(1);\r\n indices.push(2);\r\n\r\n indices.push(0);\r\n indices.push(2);\r\n indices.push(3);\r\n\r\n this._indexBuffer = this._scene.getEngine().createIndexBuffer(indices);\r\n }\r\n\r\n /**\r\n * Rebuilds the vertex buffers of the manager.\r\n * @hidden\r\n */\r\n public _rebuild(): void {\r\n let vb = this._vertexBuffers[VertexBuffer.PositionKind];\r\n\r\n if (!vb) {\r\n return;\r\n }\r\n vb._rebuild();\r\n this._buildIndexBuffer();\r\n }\r\n\r\n // Methods\r\n /**\r\n * Prepares a frame to be run through a post process.\r\n * @param sourceTexture The input texture to the post procesess. (default: null)\r\n * @param postProcesses An array of post processes to be run. (default: null)\r\n * @returns True if the post processes were able to be run.\r\n * @hidden\r\n */\r\n public _prepareFrame(sourceTexture: Nullable = null, postProcesses: Nullable = null): boolean {\r\n let camera = this._scene.activeCamera;\r\n if (!camera) {\r\n return false;\r\n }\r\n\r\n postProcesses = postProcesses || (>camera._postProcesses.filter((pp) => { return pp != null; }));\r\n\r\n if (!postProcesses || postProcesses.length === 0 || !this._scene.postProcessesEnabled) {\r\n return false;\r\n }\r\n\r\n postProcesses[0].activate(camera, sourceTexture, postProcesses !== null && postProcesses !== undefined);\r\n return true;\r\n }\r\n\r\n /**\r\n * Manually render a set of post processes to a texture.\r\n * Please note, the frame buffer won't be unbound after the call in case you have more render to do.\r\n * @param postProcesses An array of post processes to be run.\r\n * @param targetTexture The target texture to render to.\r\n * @param forceFullscreenViewport force gl.viewport to be full screen eg. 0,0,textureWidth,textureHeight\r\n * @param faceIndex defines the face to render to if a cubemap is defined as the target\r\n * @param lodLevel defines which lod of the texture to render to\r\n * @param doNotBindFrambuffer If set to true, assumes that the framebuffer has been bound previously\r\n */\r\n public directRender(postProcesses: PostProcess[], targetTexture: Nullable = null, forceFullscreenViewport = false, faceIndex = 0, lodLevel = 0, doNotBindFrambuffer = false): void {\r\n var engine = this._scene.getEngine();\r\n\r\n for (var index = 0; index < postProcesses.length; index++) {\r\n if (index < postProcesses.length - 1) {\r\n postProcesses[index + 1].activate(this._scene.activeCamera, targetTexture);\r\n } else {\r\n if (targetTexture) {\r\n engine.bindFramebuffer(targetTexture, faceIndex, undefined, undefined, forceFullscreenViewport, lodLevel);\r\n } else if (!doNotBindFrambuffer) {\r\n engine.restoreDefaultFramebuffer();\r\n }\r\n }\r\n\r\n var pp = postProcesses[index];\r\n var effect = pp.apply();\r\n\r\n if (effect) {\r\n pp.onBeforeRenderObservable.notifyObservers(effect);\r\n\r\n // VBOs\r\n this._prepareBuffers();\r\n engine.bindBuffers(this._vertexBuffers, this._indexBuffer, effect);\r\n\r\n // Draw order\r\n engine.drawElementsType(Material.TriangleFillMode, 0, 6);\r\n\r\n pp.onAfterRenderObservable.notifyObservers(effect);\r\n }\r\n }\r\n\r\n // Restore depth buffer\r\n engine.setDepthBuffer(true);\r\n engine.setDepthWrite(true);\r\n }\r\n\r\n /**\r\n * Finalize the result of the output of the postprocesses.\r\n * @param doNotPresent If true the result will not be displayed to the screen.\r\n * @param targetTexture The target texture to render to.\r\n * @param faceIndex The index of the face to bind the target texture to.\r\n * @param postProcesses The array of post processes to render.\r\n * @param forceFullscreenViewport force gl.viewport to be full screen eg. 0,0,textureWidth,textureHeight (default: false)\r\n * @hidden\r\n */\r\n public _finalizeFrame(doNotPresent?: boolean, targetTexture?: InternalTexture, faceIndex?: number, postProcesses?: Array, forceFullscreenViewport = false): void {\r\n let camera = this._scene.activeCamera;\r\n\r\n if (!camera) {\r\n return;\r\n }\r\n\r\n postProcesses = postProcesses || >camera._postProcesses.filter((pp) => { return pp != null; });\r\n if (postProcesses.length === 0 || !this._scene.postProcessesEnabled) {\r\n return;\r\n }\r\n var engine = this._scene.getEngine();\r\n\r\n for (var index = 0, len = postProcesses.length; index < len; index++) {\r\n var pp = postProcesses[index];\r\n\r\n if (index < len - 1) {\r\n pp._outputTexture = postProcesses[index + 1].activate(camera, targetTexture);\r\n } else {\r\n if (targetTexture) {\r\n engine.bindFramebuffer(targetTexture, faceIndex, undefined, undefined, forceFullscreenViewport);\r\n pp._outputTexture = targetTexture;\r\n } else {\r\n engine.restoreDefaultFramebuffer();\r\n pp._outputTexture = null;\r\n }\r\n }\r\n\r\n if (doNotPresent) {\r\n break;\r\n }\r\n\r\n var effect = pp.apply();\r\n\r\n if (effect) {\r\n pp.onBeforeRenderObservable.notifyObservers(effect);\r\n\r\n // VBOs\r\n this._prepareBuffers();\r\n engine.bindBuffers(this._vertexBuffers, this._indexBuffer, effect);\r\n\r\n // Draw order\r\n engine.drawElementsType(Material.TriangleFillMode, 0, 6);\r\n\r\n pp.onAfterRenderObservable.notifyObservers(effect);\r\n }\r\n }\r\n\r\n // Restore states\r\n engine.setDepthBuffer(true);\r\n engine.setDepthWrite(true);\r\n engine.setAlphaMode(0);\r\n }\r\n\r\n /**\r\n * Disposes of the post process manager.\r\n */\r\n public dispose(): void {\r\n var buffer = this._vertexBuffers[VertexBuffer.PositionKind];\r\n if (buffer) {\r\n buffer.dispose();\r\n this._vertexBuffers[VertexBuffer.PositionKind] = null;\r\n }\r\n\r\n if (this._indexBuffer) {\r\n this._scene.getEngine()._releaseBuffer(this._indexBuffer);\r\n this._indexBuffer = null;\r\n }\r\n }\r\n}\r\n","import { Nullable } from \"../types\";\r\nimport { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { SubMesh } from \"../Meshes/subMesh\";\r\nimport { SmartArray } from \"../Misc/smartArray\";\r\nimport { ISpriteManager } from \"../Sprites/spriteManager\";\r\nimport { IParticleSystem } from \"../Particles/IParticleSystem\";\r\nimport { Material } from \"../Materials/material\";\r\nimport { RenderingGroup } from \"./renderingGroup\";\r\n\r\ndeclare type Scene = import(\"../scene\").Scene;\r\ndeclare type Camera = import(\"../Cameras/camera\").Camera;\r\n\r\n/**\r\n * Interface describing the different options available in the rendering manager\r\n * regarding Auto Clear between groups.\r\n */\r\nexport interface IRenderingManagerAutoClearSetup {\r\n /**\r\n * Defines whether or not autoclear is enable.\r\n */\r\n autoClear: boolean;\r\n /**\r\n * Defines whether or not to autoclear the depth buffer.\r\n */\r\n depth: boolean;\r\n /**\r\n * Defines whether or not to autoclear the stencil buffer.\r\n */\r\n stencil: boolean;\r\n}\r\n\r\n/**\r\n * This class is used by the onRenderingGroupObservable\r\n */\r\nexport class RenderingGroupInfo {\r\n /**\r\n * The Scene that being rendered\r\n */\r\n scene: Scene;\r\n\r\n /**\r\n * The camera currently used for the rendering pass\r\n */\r\n camera: Nullable;\r\n\r\n /**\r\n * The ID of the renderingGroup being processed\r\n */\r\n renderingGroupId: number;\r\n}\r\n\r\n/**\r\n * This is the manager responsible of all the rendering for meshes sprites and particles.\r\n * It is enable to manage the different groups as well as the different necessary sort functions.\r\n * This should not be used directly aside of the few static configurations\r\n */\r\nexport class RenderingManager {\r\n /**\r\n * The max id used for rendering groups (not included)\r\n */\r\n public static MAX_RENDERINGGROUPS = 4;\r\n\r\n /**\r\n * The min id used for rendering groups (included)\r\n */\r\n public static MIN_RENDERINGGROUPS = 0;\r\n\r\n /**\r\n * Used to globally prevent autoclearing scenes.\r\n */\r\n public static AUTOCLEAR = true;\r\n\r\n /**\r\n * @hidden\r\n */\r\n public _useSceneAutoClearSetup = false;\r\n\r\n private _scene: Scene;\r\n private _renderingGroups = new Array();\r\n private _depthStencilBufferAlreadyCleaned: boolean;\r\n\r\n private _autoClearDepthStencil: { [id: number]: IRenderingManagerAutoClearSetup } = {};\r\n private _customOpaqueSortCompareFn: { [id: number]: Nullable<(a: SubMesh, b: SubMesh) => number> } = {};\r\n private _customAlphaTestSortCompareFn: { [id: number]: Nullable<(a: SubMesh, b: SubMesh) => number> } = {};\r\n private _customTransparentSortCompareFn: { [id: number]: Nullable<(a: SubMesh, b: SubMesh) => number> } = {};\r\n private _renderingGroupInfo: Nullable = new RenderingGroupInfo();\r\n\r\n /**\r\n * Instantiates a new rendering group for a particular scene\r\n * @param scene Defines the scene the groups belongs to\r\n */\r\n constructor(scene: Scene) {\r\n this._scene = scene;\r\n\r\n for (let i = RenderingManager.MIN_RENDERINGGROUPS; i < RenderingManager.MAX_RENDERINGGROUPS; i++) {\r\n this._autoClearDepthStencil[i] = { autoClear: true, depth: true, stencil: true };\r\n }\r\n }\r\n\r\n private _clearDepthStencilBuffer(depth = true, stencil = true): void {\r\n if (this._depthStencilBufferAlreadyCleaned) {\r\n return;\r\n }\r\n\r\n this._scene.getEngine().clear(null, false, depth, stencil);\r\n this._depthStencilBufferAlreadyCleaned = true;\r\n }\r\n\r\n /**\r\n * Renders the entire managed groups. This is used by the scene or the different rennder targets.\r\n * @hidden\r\n */\r\n public render(customRenderFunction: Nullable<(opaqueSubMeshes: SmartArray, transparentSubMeshes: SmartArray, alphaTestSubMeshes: SmartArray, depthOnlySubMeshes: SmartArray) => void>,\r\n activeMeshes: Nullable, renderParticles: boolean, renderSprites: boolean): void {\r\n\r\n // Update the observable context (not null as it only goes away on dispose)\r\n const info = this._renderingGroupInfo!;\r\n info.scene = this._scene;\r\n info.camera = this._scene.activeCamera;\r\n\r\n // Dispatch sprites\r\n if (this._scene.spriteManagers && renderSprites) {\r\n for (let index = 0; index < this._scene.spriteManagers.length; index++) {\r\n var manager = this._scene.spriteManagers[index];\r\n this.dispatchSprites(manager);\r\n }\r\n }\r\n\r\n // Render\r\n for (let index = RenderingManager.MIN_RENDERINGGROUPS; index < RenderingManager.MAX_RENDERINGGROUPS; index++) {\r\n this._depthStencilBufferAlreadyCleaned = index === RenderingManager.MIN_RENDERINGGROUPS;\r\n var renderingGroup = this._renderingGroups[index];\r\n if (!renderingGroup) {\r\n continue;\r\n }\r\n\r\n let renderingGroupMask = Math.pow(2, index);\r\n info.renderingGroupId = index;\r\n\r\n // Before Observable\r\n this._scene.onBeforeRenderingGroupObservable.notifyObservers(info, renderingGroupMask);\r\n\r\n // Clear depth/stencil if needed\r\n if (RenderingManager.AUTOCLEAR) {\r\n const autoClear = this._useSceneAutoClearSetup ?\r\n this._scene.getAutoClearDepthStencilSetup(index) :\r\n this._autoClearDepthStencil[index];\r\n\r\n if (autoClear && autoClear.autoClear) {\r\n this._clearDepthStencilBuffer(autoClear.depth, autoClear.stencil);\r\n }\r\n }\r\n\r\n // Render\r\n for (let step of this._scene._beforeRenderingGroupDrawStage) {\r\n step.action(index);\r\n }\r\n renderingGroup.render(customRenderFunction, renderSprites, renderParticles, activeMeshes);\r\n for (let step of this._scene._afterRenderingGroupDrawStage) {\r\n step.action(index);\r\n }\r\n\r\n // After Observable\r\n this._scene.onAfterRenderingGroupObservable.notifyObservers(info, renderingGroupMask);\r\n }\r\n }\r\n\r\n /**\r\n * Resets the different information of the group to prepare a new frame\r\n * @hidden\r\n */\r\n public reset(): void {\r\n for (let index = RenderingManager.MIN_RENDERINGGROUPS; index < RenderingManager.MAX_RENDERINGGROUPS; index++) {\r\n var renderingGroup = this._renderingGroups[index];\r\n if (renderingGroup) {\r\n renderingGroup.prepare();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Dispose and release the group and its associated resources.\r\n * @hidden\r\n */\r\n public dispose(): void {\r\n this.freeRenderingGroups();\r\n this._renderingGroups.length = 0;\r\n this._renderingGroupInfo = null;\r\n }\r\n\r\n /**\r\n * Clear the info related to rendering groups preventing retention points during dispose.\r\n */\r\n public freeRenderingGroups(): void {\r\n for (let index = RenderingManager.MIN_RENDERINGGROUPS; index < RenderingManager.MAX_RENDERINGGROUPS; index++) {\r\n var renderingGroup = this._renderingGroups[index];\r\n if (renderingGroup) {\r\n renderingGroup.dispose();\r\n }\r\n }\r\n }\r\n\r\n private _prepareRenderingGroup(renderingGroupId: number): void {\r\n if (this._renderingGroups[renderingGroupId] === undefined) {\r\n this._renderingGroups[renderingGroupId] = new RenderingGroup(renderingGroupId, this._scene,\r\n this._customOpaqueSortCompareFn[renderingGroupId],\r\n this._customAlphaTestSortCompareFn[renderingGroupId],\r\n this._customTransparentSortCompareFn[renderingGroupId]\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Add a sprite manager to the rendering manager in order to render it this frame.\r\n * @param spriteManager Define the sprite manager to render\r\n */\r\n public dispatchSprites(spriteManager: ISpriteManager) {\r\n var renderingGroupId = spriteManager.renderingGroupId || 0;\r\n\r\n this._prepareRenderingGroup(renderingGroupId);\r\n\r\n this._renderingGroups[renderingGroupId].dispatchSprites(spriteManager);\r\n }\r\n\r\n /**\r\n * Add a particle system to the rendering manager in order to render it this frame.\r\n * @param particleSystem Define the particle system to render\r\n */\r\n public dispatchParticles(particleSystem: IParticleSystem) {\r\n var renderingGroupId = particleSystem.renderingGroupId || 0;\r\n\r\n this._prepareRenderingGroup(renderingGroupId);\r\n\r\n this._renderingGroups[renderingGroupId].dispatchParticles(particleSystem);\r\n }\r\n\r\n /**\r\n * Add a submesh to the manager in order to render it this frame\r\n * @param subMesh The submesh to dispatch\r\n * @param mesh Optional reference to the submeshes's mesh. Provide if you have an exiting reference to improve performance.\r\n * @param material Optional reference to the submeshes's material. Provide if you have an exiting reference to improve performance.\r\n */\r\n public dispatch(subMesh: SubMesh, mesh?: AbstractMesh, material?: Nullable): void {\r\n if (mesh === undefined) {\r\n mesh = subMesh.getMesh();\r\n }\r\n var renderingGroupId = mesh.renderingGroupId || 0;\r\n\r\n this._prepareRenderingGroup(renderingGroupId);\r\n\r\n this._renderingGroups[renderingGroupId].dispatch(subMesh, mesh, material);\r\n }\r\n\r\n /**\r\n * Overrides the default sort function applied in the renderging group to prepare the meshes.\r\n * This allowed control for front to back rendering or reversly depending of the special needs.\r\n *\r\n * @param renderingGroupId The rendering group id corresponding to its index\r\n * @param opaqueSortCompareFn The opaque queue comparison function use to sort.\r\n * @param alphaTestSortCompareFn The alpha test queue comparison function use to sort.\r\n * @param transparentSortCompareFn The transparent queue comparison function use to sort.\r\n */\r\n public setRenderingOrder(renderingGroupId: number,\r\n opaqueSortCompareFn: Nullable<(a: SubMesh, b: SubMesh) => number> = null,\r\n alphaTestSortCompareFn: Nullable<(a: SubMesh, b: SubMesh) => number> = null,\r\n transparentSortCompareFn: Nullable<(a: SubMesh, b: SubMesh) => number> = null) {\r\n\r\n this._customOpaqueSortCompareFn[renderingGroupId] = opaqueSortCompareFn;\r\n this._customAlphaTestSortCompareFn[renderingGroupId] = alphaTestSortCompareFn;\r\n this._customTransparentSortCompareFn[renderingGroupId] = transparentSortCompareFn;\r\n\r\n if (this._renderingGroups[renderingGroupId]) {\r\n var group = this._renderingGroups[renderingGroupId];\r\n group.opaqueSortCompareFn = this._customOpaqueSortCompareFn[renderingGroupId];\r\n group.alphaTestSortCompareFn = this._customAlphaTestSortCompareFn[renderingGroupId];\r\n group.transparentSortCompareFn = this._customTransparentSortCompareFn[renderingGroupId];\r\n }\r\n }\r\n\r\n /**\r\n * Specifies whether or not the stencil and depth buffer are cleared between two rendering groups.\r\n *\r\n * @param renderingGroupId The rendering group id corresponding to its index\r\n * @param autoClearDepthStencil Automatically clears depth and stencil between groups if true.\r\n * @param depth Automatically clears depth between groups if true and autoClear is true.\r\n * @param stencil Automatically clears stencil between groups if true and autoClear is true.\r\n */\r\n public setRenderingAutoClearDepthStencil(renderingGroupId: number, autoClearDepthStencil: boolean,\r\n depth = true,\r\n stencil = true): void {\r\n this._autoClearDepthStencil[renderingGroupId] = {\r\n autoClear: autoClearDepthStencil,\r\n depth: depth,\r\n stencil: stencil\r\n };\r\n }\r\n\r\n /**\r\n * Gets the current auto clear configuration for one rendering group of the rendering\r\n * manager.\r\n * @param index the rendering group index to get the information for\r\n * @returns The auto clear setup for the requested rendering group\r\n */\r\n public getAutoClearDepthStencilSetup(index: number): IRenderingManagerAutoClearSetup {\r\n return this._autoClearDepthStencil[index];\r\n }\r\n}\r\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nimport capitalize from '../utils/capitalize';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n margin: 0\n },\n\n /* Styles applied to the root element if `variant=\"body2\"`. */\n body2: theme.typography.body2,\n\n /* Styles applied to the root element if `variant=\"body1\"`. */\n body1: theme.typography.body1,\n\n /* Styles applied to the root element if `variant=\"caption\"`. */\n caption: theme.typography.caption,\n\n /* Styles applied to the root element if `variant=\"button\"`. */\n button: theme.typography.button,\n\n /* Styles applied to the root element if `variant=\"h1\"`. */\n h1: theme.typography.h1,\n\n /* Styles applied to the root element if `variant=\"h2\"`. */\n h2: theme.typography.h2,\n\n /* Styles applied to the root element if `variant=\"h3\"`. */\n h3: theme.typography.h3,\n\n /* Styles applied to the root element if `variant=\"h4\"`. */\n h4: theme.typography.h4,\n\n /* Styles applied to the root element if `variant=\"h5\"`. */\n h5: theme.typography.h5,\n\n /* Styles applied to the root element if `variant=\"h6\"`. */\n h6: theme.typography.h6,\n\n /* Styles applied to the root element if `variant=\"subtitle1\"`. */\n subtitle1: theme.typography.subtitle1,\n\n /* Styles applied to the root element if `variant=\"subtitle2\"`. */\n subtitle2: theme.typography.subtitle2,\n\n /* Styles applied to the root element if `variant=\"overline\"`. */\n overline: theme.typography.overline,\n\n /* Styles applied to the root element if `variant=\"srOnly\"`. Only accessible to screen readers. */\n srOnly: {\n position: 'absolute',\n height: 1,\n width: 1,\n overflow: 'hidden'\n },\n\n /* Styles applied to the root element if `align=\"left\"`. */\n alignLeft: {\n textAlign: 'left'\n },\n\n /* Styles applied to the root element if `align=\"center\"`. */\n alignCenter: {\n textAlign: 'center'\n },\n\n /* Styles applied to the root element if `align=\"right\"`. */\n alignRight: {\n textAlign: 'right'\n },\n\n /* Styles applied to the root element if `align=\"justify\"`. */\n alignJustify: {\n textAlign: 'justify'\n },\n\n /* Styles applied to the root element if `nowrap={true}`. */\n noWrap: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n },\n\n /* Styles applied to the root element if `gutterBottom={true}`. */\n gutterBottom: {\n marginBottom: '0.35em'\n },\n\n /* Styles applied to the root element if `paragraph={true}`. */\n paragraph: {\n marginBottom: 16\n },\n\n /* Styles applied to the root element if `color=\"inherit\"`. */\n colorInherit: {\n color: 'inherit'\n },\n\n /* Styles applied to the root element if `color=\"primary\"`. */\n colorPrimary: {\n color: theme.palette.primary.main\n },\n\n /* Styles applied to the root element if `color=\"secondary\"`. */\n colorSecondary: {\n color: theme.palette.secondary.main\n },\n\n /* Styles applied to the root element if `color=\"textPrimary\"`. */\n colorTextPrimary: {\n color: theme.palette.text.primary\n },\n\n /* Styles applied to the root element if `color=\"textSecondary\"`. */\n colorTextSecondary: {\n color: theme.palette.text.secondary\n },\n\n /* Styles applied to the root element if `color=\"error\"`. */\n colorError: {\n color: theme.palette.error.main\n },\n\n /* Styles applied to the root element if `display=\"inline\"`. */\n displayInline: {\n display: 'inline'\n },\n\n /* Styles applied to the root element if `display=\"block\"`. */\n displayBlock: {\n display: 'block'\n }\n };\n};\nvar defaultVariantMapping = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n h6: 'h6',\n subtitle1: 'h6',\n subtitle2: 'h6',\n body1: 'p',\n body2: 'p'\n};\nvar Typography = /*#__PURE__*/React.forwardRef(function Typography(props, ref) {\n var _props$align = props.align,\n align = _props$align === void 0 ? 'inherit' : _props$align,\n classes = props.classes,\n className = props.className,\n _props$color = props.color,\n color = _props$color === void 0 ? 'initial' : _props$color,\n component = props.component,\n _props$display = props.display,\n display = _props$display === void 0 ? 'initial' : _props$display,\n _props$gutterBottom = props.gutterBottom,\n gutterBottom = _props$gutterBottom === void 0 ? false : _props$gutterBottom,\n _props$noWrap = props.noWrap,\n noWrap = _props$noWrap === void 0 ? false : _props$noWrap,\n _props$paragraph = props.paragraph,\n paragraph = _props$paragraph === void 0 ? false : _props$paragraph,\n _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'body1' : _props$variant,\n _props$variantMapping = props.variantMapping,\n variantMapping = _props$variantMapping === void 0 ? defaultVariantMapping : _props$variantMapping,\n other = _objectWithoutProperties(props, [\"align\", \"classes\", \"className\", \"color\", \"component\", \"display\", \"gutterBottom\", \"noWrap\", \"paragraph\", \"variant\", \"variantMapping\"]);\n\n var Component = component || (paragraph ? 'p' : variantMapping[variant] || defaultVariantMapping[variant]) || 'span';\n return /*#__PURE__*/React.createElement(Component, _extends({\n className: clsx(classes.root, className, variant !== 'inherit' && classes[variant], color !== 'initial' && classes[\"color\".concat(capitalize(color))], noWrap && classes.noWrap, gutterBottom && classes.gutterBottom, paragraph && classes.paragraph, align !== 'inherit' && classes[\"align\".concat(capitalize(align))], display !== 'initial' && classes[\"display\".concat(capitalize(display))]),\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Typography.propTypes = {\n /**\n * Set the text-align on the component.\n */\n align: PropTypes.oneOf(['inherit', 'left', 'center', 'right', 'justify']),\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object.isRequired,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: PropTypes.oneOf(['initial', 'inherit', 'primary', 'secondary', 'textPrimary', 'textSecondary', 'error']),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n * Overrides the behavior of the `variantMapping` prop.\n */\n component: PropTypes\n /* @typescript-to-proptypes-ignore */\n .elementType,\n\n /**\n * Controls the display type\n */\n display: PropTypes.oneOf(['initial', 'block', 'inline']),\n\n /**\n * If `true`, the text will have a bottom margin.\n */\n gutterBottom: PropTypes.bool,\n\n /**\n * If `true`, the text will not wrap, but instead will truncate with a text overflow ellipsis.\n *\n * Note that text overflow can only happen with block or inline-block level elements\n * (the element needs to have a width in order to overflow).\n */\n noWrap: PropTypes.bool,\n\n /**\n * If `true`, the text will have a bottom margin.\n */\n paragraph: PropTypes.bool,\n\n /**\n * Applies the theme typography styles.\n */\n variant: PropTypes.oneOf(['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'subtitle1', 'subtitle2', 'body1', 'body2', 'caption', 'button', 'overline', 'srOnly', 'inherit']),\n\n /**\n * The component maps the variant prop to a range of different HTML element types.\n * For instance, subtitle1 to `
`.\n * If you wish to change that mapping, you can provide your own.\n * Alternatively, you can use the `component` prop.\n */\n variantMapping: PropTypes.object\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiTypography'\n})(Typography);","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :\n typeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :\n (global = global || self, factory(global.ReactStripe = {}, global.React));\n}(this, (function (exports, React) { 'use strict';\n\n React = React && Object.prototype.hasOwnProperty.call(React, 'default') ? React['default'] : React;\n\n function _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\n function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n }\n\n function _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\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n }\n\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n\n function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _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\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n function createCommonjsModule(fn, module) {\n \treturn module = { exports: {} }, fn(module, module.exports), module.exports;\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\n var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n var ReactPropTypesSecret_1 = ReactPropTypesSecret;\n\n function emptyFunction() {}\n\n function emptyFunctionWithReset() {}\n\n emptyFunctionWithReset.resetWarningCache = emptyFunction;\n\n var factoryWithThrowingShims = function () {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret_1) {\n // It is still safe when called from React.\n return;\n }\n\n var err = new Error('Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use PropTypes.checkPropTypes() to call them. ' + 'Read more at http://fb.me/use-check-prop-types');\n err.name = 'Invariant Violation';\n throw err;\n }\n shim.isRequired = shim;\n\n function getShim() {\n return shim;\n }\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n\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 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 checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n ReactPropTypes.PropTypes = ReactPropTypes;\n return ReactPropTypes;\n };\n\n var propTypes = createCommonjsModule(function (module) {\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 // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = factoryWithThrowingShims();\n }\n });\n\n var isUnknownObject = function isUnknownObject(raw) {\n return raw !== null && _typeof(raw) === 'object';\n };\n var isPromise = function isPromise(raw) {\n return isUnknownObject(raw) && typeof raw.then === 'function';\n }; // We are using types to enforce the `stripe` prop in this lib,\n // but in an untyped integration `stripe` could be anything, so we need\n // to do some sanity validation to prevent type errors.\n\n var isStripe = function isStripe(raw) {\n return isUnknownObject(raw) && typeof raw.elements === 'function' && typeof raw.createToken === 'function' && typeof raw.createPaymentMethod === 'function' && typeof raw.confirmCardPayment === 'function';\n };\n\n var PLAIN_OBJECT_STR = '[object Object]';\n var isEqual = function isEqual(left, right) {\n if (!isUnknownObject(left) || !isUnknownObject(right)) {\n return left === right;\n }\n\n var leftArray = Array.isArray(left);\n var rightArray = Array.isArray(right);\n if (leftArray !== rightArray) return false;\n var leftPlainObject = Object.prototype.toString.call(left) === PLAIN_OBJECT_STR;\n var rightPlainObject = Object.prototype.toString.call(right) === PLAIN_OBJECT_STR;\n if (leftPlainObject !== rightPlainObject) return false;\n if (!leftPlainObject && !leftArray) return false;\n var leftKeys = Object.keys(left);\n var rightKeys = Object.keys(right);\n if (leftKeys.length !== rightKeys.length) return false;\n var keySet = {};\n\n for (var i = 0; i < leftKeys.length; i += 1) {\n keySet[leftKeys[i]] = true;\n }\n\n for (var _i = 0; _i < rightKeys.length; _i += 1) {\n keySet[rightKeys[_i]] = true;\n }\n\n var allKeys = Object.keys(keySet);\n\n if (allKeys.length !== leftKeys.length) {\n return false;\n }\n\n var l = left;\n var r = right;\n\n var pred = function pred(key) {\n return isEqual(l[key], r[key]);\n };\n\n return allKeys.every(pred);\n };\n\n var usePrevious = function usePrevious(value) {\n var ref = React.useRef(value);\n React.useEffect(function () {\n ref.current = value;\n }, [value]);\n return ref.current;\n };\n\n var INVALID_STRIPE_ERROR = 'Invalid prop `stripe` supplied to `Elements`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.'; // We are using types to enforce the `stripe` prop in this lib, but in a real\n // integration `stripe` could be anything, so we need to do some sanity\n // validation to prevent type errors.\n\n var validateStripe = function validateStripe(maybeStripe) {\n if (maybeStripe === null || isStripe(maybeStripe)) {\n return maybeStripe;\n }\n\n throw new Error(INVALID_STRIPE_ERROR);\n };\n\n var parseStripeProp = function parseStripeProp(raw) {\n if (isPromise(raw)) {\n return {\n tag: 'async',\n stripePromise: Promise.resolve(raw).then(validateStripe)\n };\n }\n\n var stripe = validateStripe(raw);\n\n if (stripe === null) {\n return {\n tag: 'empty'\n };\n }\n\n return {\n tag: 'sync',\n stripe: stripe\n };\n };\n\n var ElementsContext = /*#__PURE__*/React.createContext(null);\n ElementsContext.displayName = 'ElementsContext';\n var parseElementsContext = function parseElementsContext(ctx, useCase) {\n if (!ctx) {\n throw new Error(\"Could not find Elements context; You need to wrap the part of your app that \".concat(useCase, \" in an provider.\"));\n }\n\n return ctx;\n };\n /**\n * The `Elements` provider allows you to use [Element components](https://stripe.com/docs/stripe-js/react#element-components) and access the [Stripe object](https://stripe.com/docs/js/initializing) in any nested component.\n * Render an `Elements` provider at the root of your React app so that it is available everywhere you need it.\n *\n * To use the `Elements` provider, call `loadStripe` from `@stripe/stripe-js` with your publishable key.\n * The `loadStripe` function will asynchronously load the Stripe.js script and initialize a `Stripe` object.\n * Pass the returned `Promise` to `Elements`.\n *\n * @docs https://stripe.com/docs/stripe-js/react#elements-provider\n */\n\n var Elements = function Elements(_ref) {\n var rawStripeProp = _ref.stripe,\n options = _ref.options,\n children = _ref.children;\n\n var _final = React.useRef(false);\n\n var isMounted = React.useRef(true);\n var parsed = React.useMemo(function () {\n return parseStripeProp(rawStripeProp);\n }, [rawStripeProp]);\n\n var _React$useState = React.useState(function () {\n return {\n stripe: null,\n elements: null\n };\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n ctx = _React$useState2[0],\n setContext = _React$useState2[1];\n\n var prevStripe = usePrevious(rawStripeProp);\n var prevOptions = usePrevious(options);\n\n if (prevStripe !== null) {\n if (prevStripe !== rawStripeProp) {\n console.warn('Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.');\n }\n\n if (!isEqual(options, prevOptions)) {\n console.warn('Unsupported prop change on Elements: You cannot change the `options` prop after setting the `stripe` prop.');\n }\n }\n\n if (!_final.current) {\n if (parsed.tag === 'sync') {\n _final.current = true;\n setContext({\n stripe: parsed.stripe,\n elements: parsed.stripe.elements(options)\n });\n }\n\n if (parsed.tag === 'async') {\n _final.current = true;\n parsed.stripePromise.then(function (stripe) {\n if (stripe && isMounted.current) {\n // Only update Elements context if the component is still mounted\n // and stripe is not null. We allow stripe to be null to make\n // handling SSR easier.\n setContext({\n stripe: stripe,\n elements: stripe.elements(options)\n });\n }\n });\n }\n }\n\n React.useEffect(function () {\n return function () {\n isMounted.current = false;\n };\n }, []);\n React.useEffect(function () {\n var anyStripe = ctx.stripe;\n\n if (!anyStripe || !anyStripe._registerWrapper || !anyStripe.registerAppInfo) {\n return;\n }\n\n anyStripe._registerWrapper({\n name: 'react-stripe-js',\n version: \"1.4.1\"\n });\n\n anyStripe.registerAppInfo({\n name: 'react-stripe-js',\n version: \"1.4.1\",\n url: 'https://stripe.com/docs/stripe-js/react'\n });\n }, [ctx.stripe]);\n return /*#__PURE__*/React.createElement(ElementsContext.Provider, {\n value: ctx\n }, children);\n };\n Elements.propTypes = {\n stripe: propTypes.any,\n options: propTypes.object\n };\n var useElementsContextWithUseCase = function useElementsContextWithUseCase(useCaseMessage) {\n var ctx = React.useContext(ElementsContext);\n return parseElementsContext(ctx, useCaseMessage);\n };\n /**\n * @docs https://stripe.com/docs/stripe-js/react#useelements-hook\n */\n\n var useElements = function useElements() {\n var _useElementsContextWi = useElementsContextWithUseCase('calls useElements()'),\n elements = _useElementsContextWi.elements;\n\n return elements;\n };\n /**\n * @docs https://stripe.com/docs/stripe-js/react#usestripe-hook\n */\n\n var useStripe = function useStripe() {\n var _useElementsContextWi2 = useElementsContextWithUseCase('calls useStripe()'),\n stripe = _useElementsContextWi2.stripe;\n\n return stripe;\n };\n /**\n * @docs https://stripe.com/docs/stripe-js/react#elements-consumer\n */\n\n var ElementsConsumer = function ElementsConsumer(_ref2) {\n var children = _ref2.children;\n var ctx = useElementsContextWithUseCase('mounts '); // Assert to satisfy the busted React.FC return type (it should be ReactNode)\n\n return children(ctx);\n };\n ElementsConsumer.propTypes = {\n children: propTypes.func.isRequired\n };\n\n var useCallbackReference = function useCallbackReference(cb) {\n var ref = React.useRef(cb);\n React.useEffect(function () {\n ref.current = cb;\n }, [cb]);\n return function () {\n if (ref.current) {\n ref.current.apply(ref, arguments);\n }\n };\n };\n\n var extractUpdateableOptions = function extractUpdateableOptions(options) {\n if (!isUnknownObject(options)) {\n return {};\n }\n\n var _ = options.paymentRequest,\n rest = _objectWithoutProperties(options, [\"paymentRequest\"]);\n\n return rest;\n };\n\n var noop = function noop() {};\n\n var capitalized = function capitalized(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n };\n\n var createElementComponent = function createElementComponent(type, isServer) {\n var displayName = \"\".concat(capitalized(type), \"Element\");\n\n var ClientElement = function ClientElement(_ref) {\n var id = _ref.id,\n className = _ref.className,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n _ref$onBlur = _ref.onBlur,\n onBlur = _ref$onBlur === void 0 ? noop : _ref$onBlur,\n _ref$onFocus = _ref.onFocus,\n onFocus = _ref$onFocus === void 0 ? noop : _ref$onFocus,\n _ref$onReady = _ref.onReady,\n onReady = _ref$onReady === void 0 ? noop : _ref$onReady,\n _ref$onChange = _ref.onChange,\n onChange = _ref$onChange === void 0 ? noop : _ref$onChange,\n _ref$onEscape = _ref.onEscape,\n onEscape = _ref$onEscape === void 0 ? noop : _ref$onEscape,\n _ref$onClick = _ref.onClick,\n onClick = _ref$onClick === void 0 ? noop : _ref$onClick;\n\n var _useElementsContextWi = useElementsContextWithUseCase(\"mounts <\".concat(displayName, \">\")),\n elements = _useElementsContextWi.elements;\n\n var elementRef = React.useRef(null);\n var domNode = React.useRef(null);\n var callOnReady = useCallbackReference(onReady);\n var callOnBlur = useCallbackReference(onBlur);\n var callOnFocus = useCallbackReference(onFocus);\n var callOnClick = useCallbackReference(onClick);\n var callOnChange = useCallbackReference(onChange);\n var callOnEscape = useCallbackReference(onEscape);\n React.useLayoutEffect(function () {\n if (elementRef.current == null && elements && domNode.current != null) {\n var element = elements.create(type, options);\n elementRef.current = element;\n element.mount(domNode.current);\n element.on('ready', function () {\n return callOnReady(element);\n });\n element.on('change', callOnChange);\n element.on('blur', callOnBlur);\n element.on('focus', callOnFocus);\n element.on('escape', callOnEscape); // Users can pass an an onClick prop on any Element component\n // just as they could listen for the `click` event on any Element,\n // but only the PaymentRequestButton will actually trigger the event.\n\n element.on('click', callOnClick);\n }\n });\n var prevOptions = React.useRef(options);\n React.useEffect(function () {\n if (prevOptions.current && prevOptions.current.paymentRequest !== options.paymentRequest) {\n console.warn('Unsupported prop change: options.paymentRequest is not a customizable property.');\n }\n\n var updateableOptions = extractUpdateableOptions(options);\n\n if (Object.keys(updateableOptions).length !== 0 && !isEqual(updateableOptions, extractUpdateableOptions(prevOptions.current))) {\n if (elementRef.current) {\n elementRef.current.update(updateableOptions);\n prevOptions.current = options;\n }\n }\n }, [options]);\n React.useLayoutEffect(function () {\n return function () {\n if (elementRef.current) {\n elementRef.current.destroy();\n }\n };\n }, []);\n return /*#__PURE__*/React.createElement(\"div\", {\n id: id,\n className: className,\n ref: domNode\n });\n }; // Only render the Element wrapper in a server environment.\n\n\n var ServerElement = function ServerElement(props) {\n // Validate that we are in the right context by calling useElementsContextWithUseCase.\n useElementsContextWithUseCase(\"mounts <\".concat(displayName, \">\"));\n var id = props.id,\n className = props.className;\n return /*#__PURE__*/React.createElement(\"div\", {\n id: id,\n className: className\n });\n };\n\n var Element = isServer ? ServerElement : ClientElement;\n Element.propTypes = {\n id: propTypes.string,\n className: propTypes.string,\n onChange: propTypes.func,\n onBlur: propTypes.func,\n onFocus: propTypes.func,\n onReady: propTypes.func,\n onClick: propTypes.func,\n options: propTypes.object\n };\n Element.displayName = displayName;\n Element.__elementType = type;\n return Element;\n };\n\n var isServer = typeof window === 'undefined';\n /**\n * Requires beta access:\n * Contact [Stripe support](https://support.stripe.com/) for more information.\n *\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var AuBankAccountElement = createElementComponent('auBankAccount', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var CardElement = createElementComponent('card', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var CardNumberElement = createElementComponent('cardNumber', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var CardExpiryElement = createElementComponent('cardExpiry', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var CardCvcElement = createElementComponent('cardCvc', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var FpxBankElement = createElementComponent('fpxBank', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var IbanElement = createElementComponent('iban', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var IdealBankElement = createElementComponent('idealBank', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var P24BankElement = createElementComponent('p24Bank', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var EpsBankElement = createElementComponent('epsBank', isServer);\n var PaymentElement = createElementComponent('payment', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var PaymentRequestButtonElement = createElementComponent('paymentRequestButton', isServer);\n /**\n * @docs https://stripe.com/docs/stripe-js/react#element-components\n */\n\n var AfterpayClearpayMessageElement = createElementComponent('afterpayClearpayMessage', isServer);\n\n exports.AfterpayClearpayMessageElement = AfterpayClearpayMessageElement;\n exports.AuBankAccountElement = AuBankAccountElement;\n exports.CardCvcElement = CardCvcElement;\n exports.CardElement = CardElement;\n exports.CardExpiryElement = CardExpiryElement;\n exports.CardNumberElement = CardNumberElement;\n exports.Elements = Elements;\n exports.ElementsConsumer = ElementsConsumer;\n exports.EpsBankElement = EpsBankElement;\n exports.FpxBankElement = FpxBankElement;\n exports.IbanElement = IbanElement;\n exports.IdealBankElement = IdealBankElement;\n exports.P24BankElement = P24BankElement;\n exports.PaymentElement = PaymentElement;\n exports.PaymentRequestButtonElement = PaymentRequestButtonElement;\n exports.useElements = useElements;\n exports.useStripe = useStripe;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n","export const DEFAULT_HEADER_ID = 'header'\nexport const DEFAULT_CONTENT_ID = 'content'\nexport const DEFAULT_FOOTER_ID = 'footer'\nexport const INITIAL_HEADER_HEIGHT = {\n xs: 56,\n sm: 64,\n};\nexport const EDGE_SIDEBAR_EXPAND_DELAY = 350\nexport const CSS_TRANSITION = 'all 300ms cubic-bezier(0.0, 0, 0.2, 1) 0ms, color 0s'\n","const isNil = (value: T): value is null | undefined => {\n return value === null || typeof value === \"undefined\"\n}\n\nexport default isNil;\n","import isNil from \"./isNil\"\n\ntype Empty = \"\"\n\nconst isNilOrEmpty = (value: T | \"\"): value is Empty => {\n return isNil(value) || value === \"\"\n}\n\nexport default isNilOrEmpty\n","import isNilOrEmpty from './isNilOrEmpty';\n\nexport default (value: T) => !isNilOrEmpty(value)\n","import { toValidCssValue } from './index';\nimport isNotNilOrEmpty from './isNotNilOrEmpty';\n\nexport const subtractCalc = (...args: (string | number)[]): string =>\n `calc(${args\n .filter(isNotNilOrEmpty)\n .map(toValidCssValue)\n .join(' - ')})`;\n\nexport const plusCalc = (...args: (string | number)[]): string =>\n `calc(${args\n .filter(isNotNilOrEmpty)\n .map(toValidCssValue)\n .join(' + ')})`;\n","import { Dictionary } from '../types';\n\ntype PropertyPath =\n | string\n | number\n | symbol\n | readonly (string | number | symbol)[];\n\n/**\n * @see _.get\n */\nfunction get(\n object: TObject | null | undefined,\n path: TKey | [TKey]\n): TObject[TKey] | undefined;\n\n/**\n * @see _.get\n */\nfunction get(\n object: TObject | null | undefined,\n path: TKey | [TKey],\n defaultValue: TDefault\n): Exclude | TDefault;\n\n/**\n * @see _.get\n */\nfunction get<\n TObject extends object,\n TKey1 extends keyof TObject,\n TKey2 extends keyof TObject[TKey1]\n>(\n object: TObject | null | undefined,\n path: [TKey1, TKey2]\n): TObject[TKey1][TKey2] | undefined;\n\n/**\n * @see _.get\n */\nfunction get<\n TObject extends object,\n TKey1 extends keyof TObject,\n TKey2 extends keyof TObject[TKey1],\n TDefault\n>(\n object: TObject | null | undefined,\n path: [TKey1, TKey2],\n defaultValue: TDefault\n): Exclude | TDefault;\n\n/**\n * @see _.get\n */\nfunction get<\n TObject extends object,\n TKey1 extends keyof TObject,\n TKey2 extends keyof TObject[TKey1],\n TKey3 extends keyof TObject[TKey1][TKey2]\n>(\n object: TObject | null | undefined,\n path: [TKey1, TKey2, TKey3]\n): TObject[TKey1][TKey2][TKey3] | undefined;\n\n/**\n * @see _.get\n */\nfunction get<\n TObject extends object,\n TKey1 extends keyof TObject,\n TKey2 extends keyof TObject[TKey1],\n TKey3 extends keyof TObject[TKey1][TKey2],\n TDefault\n>(\n object: TObject | null | undefined,\n path: [TKey1, TKey2, TKey3],\n defaultValue: TDefault\n): Exclude | TDefault;\n\n/**\n * @see _.get\n */\nfunction get<\n TObject extends object,\n TKey1 extends keyof TObject,\n TKey2 extends keyof TObject[TKey1],\n TKey3 extends keyof TObject[TKey1][TKey2],\n TKey4 extends keyof TObject[TKey1][TKey2][TKey3]\n>(\n object: TObject | null | undefined,\n path: [TKey1, TKey2, TKey3, TKey4]\n): TObject[TKey1][TKey2][TKey3][TKey4] | undefined;\n\n/**\n * @see _.get\n */\nfunction get<\n TObject extends object,\n TKey1 extends keyof TObject,\n TKey2 extends keyof TObject[TKey1],\n TKey3 extends keyof TObject[TKey1][TKey2],\n TKey4 extends keyof TObject[TKey1][TKey2][TKey3],\n TDefault\n>(\n object: TObject | null | undefined,\n path: [TKey1, TKey2, TKey3, TKey4],\n defaultValue: TDefault\n): Exclude | TDefault;\n\n/**\n * @see _.get\n */\nfunction get(\n object: null | undefined,\n path: PropertyPath,\n defaultValue: TDefault\n): TDefault;\n\n/**\n * @see _.get\n */\nfunction get(object: null | undefined, path: PropertyPath): undefined;\n\n/**\n * @see _.get\n */\nfunction get(object: any, path: PropertyPath, defaultValue?: any): any;\n\nfunction get(\n obj: T,\n path: K | [K],\n defaultValue?: T\n): T[K] {\n const travel = (regexp: RegExp) =>\n String.prototype.split\n .call(path, regexp)\n .filter(Boolean)\n .reduce(\n (res: Dictionary<{}>, key: string) =>\n res !== null && res !== undefined ? res[key] : res,\n obj\n );\n const result = travel(/[,[\\]]+?/) || travel(/[,[\\].]+?/);\n return result === undefined || result === obj ? defaultValue : result;\n}\n\nexport default get;\n","const toValidCssValue = (value: string | number) =>\n typeof value === 'number' ? `${value}px` : value;\n\nexport default toValidCssValue;\n","export default (str: string = \"\"): string =>\n `${str.substr(0, 1).toUpperCase()}${str.substr(1).toLowerCase()}`\n","import { Breakpoint, keys } from \"@material-ui/core/styles/createBreakpoints\"\nimport { MapBreakpoint } from \"../types\"\n\nconst pickNearestBreakpoint = (\n value: MapBreakpoint,\n breakpoint: Breakpoint\n): T => {\n const possibleBreakpoints = keys.slice(0, keys.indexOf(breakpoint) + 1)\n return possibleBreakpoints.reduceRight((result, currentBreakpoint) => {\n if (result) return result\n return value[currentBreakpoint]\n }, value[breakpoint])\n}\n\nexport default pickNearestBreakpoint\n","import { Direction } from '@material-ui/core/styles/createMuiTheme';\nimport { mapObject } from '../utils';\nimport { Dictionary } from '../types';\n\nexport const switchDirection = (word: string) => {\n if (typeof word !== 'string') return word;\n if (word.includes('Left')) return word.replace('Left', 'Right');\n if (word.includes('left')) return word.replace('left', 'right');\n if (word.includes('Right')) return word.replace('Right', 'Left');\n if (word.includes('right')) return word.replace('right', 'left');\n return word;\n};\n\nexport default (direction: Direction, style: Dictionary) => {\n if (direction !== 'rtl') return style;\n return mapObject(style, (_, key) => switchDirection(key));\n};\n","import { Theme } from '@material-ui/core/styles/createMuiTheme';\nimport { Breakpoint } from '@material-ui/core/styles/createBreakpoints';\nimport { Dictionary, ResultStyle } from '../types';\nimport resolveDirection from './resolveDirection';\n\nexport type Value = Dictionary;\nexport type MediaQueries = Dictionary;\n\nexport default (\n breakpointsObject: ResultStyle,\n theme: Pick\n) => {\n const entries = Object.entries(breakpointsObject);\n let mediaQueries: MediaQueries = {};\n entries.forEach(([key, value]: [Breakpoint, Value]) => {\n if (key === 'xs') {\n mediaQueries = {\n ...mediaQueries,\n ...resolveDirection(theme.direction, value),\n };\n } else {\n mediaQueries[theme.breakpoints.up(key)] = resolveDirection(\n theme.direction,\n value\n );\n }\n });\n\n return mediaQueries;\n};\n","import {\n Breakpoint,\n Breakpoints,\n} from \"@material-ui/core/styles/createBreakpoints\"\nimport { MediaQueries } from \"./createBreakpointStyles\"\n\nexport default (hidden?: Breakpoint[], breakpoints?: Breakpoints) => {\n if(!hidden || !breakpoints) return {}\n const mediaQueries: MediaQueries = {}\n hidden.forEach(bp => {\n mediaQueries[breakpoints.only(bp)] = {\n display: \"none\",\n }\n })\n return mediaQueries\n}\n","import {\n Breakpoint,\n Breakpoints,\n keys,\n} from \"@material-ui/core/styles/createBreakpoints\"\nimport { MediaQueries } from \"./createBreakpointStyles\"\nimport createDisplayNone from \"./createDisplayNone\"\nimport { ResultStyle } from \"../types\"\n\ninterface CreateHiddenStyles {\n (\n self: ResultStyle,\n siblings: ResultStyle[],\n breakpoints: Breakpoints,\n ): MediaQueries\n}\n\nexport const sortBreakpoints = (breakpoints: Breakpoint[]) =>\n breakpoints.sort((a, b) => keys.indexOf(a) - keys.indexOf(b))\n\nexport const combineSiblings = (siblings: ResultStyle[]) =>\n siblings.reduce((result, curr) => [...result, ...Object.keys(curr)], [])\n\nexport const isLowerBreakpointFromSibling = (\n selfBreakpoints: Breakpoint[],\n siblingsBreakpoints: Breakpoint[],\n bp: Breakpoint\n) => {\n const keysUtilBreakpoint = keys.slice(0, keys.indexOf(bp))\n let isSibling = false\n let isSelf = false\n keysUtilBreakpoint.reverse().forEach(v => {\n if (!isSibling && !isSelf) {\n if (siblingsBreakpoints.includes(v)) {\n isSibling = true\n }\n if (selfBreakpoints.includes(v)) {\n isSelf = true\n }\n }\n })\n return isSibling\n}\n\nexport const getHiddenRange = (self: ResultStyle, siblings: ResultStyle[]) => {\n const selfBreakpoints = sortBreakpoints(Object.keys(self) as Breakpoint[])\n const siblingsBreakpoints = sortBreakpoints(combineSiblings(siblings))\n let found = false\n let result: Breakpoint[] = []\n keys.forEach(bp => {\n if (selfBreakpoints.includes(bp) || siblingsBreakpoints.includes(bp)) {\n found = true\n // logic continue\n if (selfBreakpoints.includes(bp) && siblingsBreakpoints.includes(bp)) {\n console.warn(\n `[Warning]! seems like there are multiple configs for breakpoint: ${bp}, this can cause unexpected behavior. Please make sure that you only have one variant config for each breakpoint.`\n )\n }\n if (siblingsBreakpoints.includes(bp)) {\n result.push(bp)\n }\n } else {\n if (!found) {\n result.push(bp)\n } else if (\n isLowerBreakpointFromSibling(selfBreakpoints, siblingsBreakpoints, bp)\n ) {\n result.push(bp)\n }\n }\n })\n return result\n}\n\nconst createHiddenStyles: CreateHiddenStyles = (\n self,\n siblings = [],\n breakpoints\n) => {\n if (!self || !breakpoints) return {}\n const hiddenRange = getHiddenRange(self, siblings)\n\n return createDisplayNone(hiddenRange, breakpoints)\n}\n\nexport default createHiddenStyles\n","import { Breakpoint } from \"@material-ui/core/styles/createBreakpoints\"\nimport { MapBreakpoint } from \"../types\"\nimport { sortBreakpoints } from \"./createHiddenStyles\"\n\nexport default (...args: MapBreakpoint<{}>[]): Breakpoint[] => {\n let result: Breakpoint[] = []\n args.forEach(item => {\n const breakpoints = Object.keys(item) as Breakpoint[]\n breakpoints.forEach(k => {\n if (!result.includes(k)) {\n result.push(k)\n }\n })\n })\n return sortBreakpoints(result)\n}\n","import { DrawerAnchor } from \"../types\"\n\nexport const attachOperator = (value: string | number, operator: 1 | -1) => {\n if (typeof value === \"number\") {\n return operator * value\n }\n if (typeof value === \"string\") {\n if (operator === 1) {\n return value\n }\n if (operator === -1) {\n return `-${value}`\n }\n }\n}\n\nconst getFlexBehaviorValue = (\n anchor: DrawerAnchor,\n currentWidth: string | number\n) => {\n if (anchor === \"left\") return attachOperator(currentWidth, 1)\n if (anchor === \"right\") return attachOperator(currentWidth, -1)\n return 0\n}\nexport default getFlexBehaviorValue\n","import { keys, Breakpoints, Breakpoint } from \"@material-ui/core/styles/createBreakpoints\"\n\nexport default (width: number | undefined, breakpoints: Breakpoints): Breakpoint => {\n if (!width) return undefined\n let screen = \"\"\n let found = false\n const newKeys = [...keys]\n newKeys.reverse().forEach(breakpoint => {\n if (width >= breakpoints.values[breakpoint] && !found) {\n screen = breakpoint\n found = true\n }\n })\n return screen as Breakpoint\n}\n","import { Dictionary, MapBreakpoint } from '../types';\nimport { iterateRpsById } from './iterateRpsById';\n\nexport default (mapById: Dictionary>) => {\n const result: MapBreakpoint = {};\n iterateRpsById(mapById, (_, bp, value) => {\n if (!result[bp]) result[bp] = [];\n result[bp].push(value);\n });\n return result;\n};\n","import { Dictionary } from '../../types';\nimport { RpsConfig } from '../../shared/State';\nimport { Breakpoint } from '@material-ui/core/styles/createBreakpoints';\n\nexport const iterateRpsById = (\n rpsById: Dictionary>,\n iteratee: (id: string, breakpoint: Breakpoint, value: T) => void\n) => {\n Object.keys(rpsById).forEach(id => {\n Object.keys(rpsById[id]).forEach((breakpoint: Breakpoint) => {\n iteratee(id, breakpoint, rpsById[id][breakpoint])\n });\n });\n};\n","import { Breakpoint } from '@material-ui/core/styles/createBreakpoints';\nimport { Dictionary, MapBreakpoint } from '../types';\nimport pickNearestBreakpoint from './pickNearestBreakpoint';\n\nexport default (\n mapById: Dictionary>,\n hiddenById: Dictionary\n) => {\n const clone: Dictionary> = JSON.parse(\n JSON.stringify(mapById)\n );\n Object.keys(clone).forEach(id => {\n const hiddenBreakpoints = hiddenById[id] || [];\n hiddenBreakpoints.forEach(bp => {\n const config = pickNearestBreakpoint(clone[id], bp);\n clone[id][bp] = { ...config, hidden: true };\n });\n });\n return clone;\n};\n","import { HeaderConfig } from '../types';\nimport get from './get';\n\nexport default (\n config: Pick,\n objectId: string\n) => {\n return (\n (typeof config.clipped === 'boolean' && config.clipped) ||\n (typeof config.clipped === 'object' &&\n get(config, ['clipped', objectId], get(config, 'clipped._other')))\n );\n};\n","import { Dictionary } from '../../types';\n\nexport const getFieldById = <\n K,\n T extends keyof K,\n>(\n dataById: Dictionary,\n field: T\n): Dictionary =>\n Object.keys(dataById).reduce(\n (result, id) => ({\n ...result,\n [id]: dataById[id][field],\n }),\n {}\n );\n","export function toObject(\n array: T[]\n): { [key: string]: T };\nexport function toObject(\n array: T[],\n transformer: (item: T) => K\n): {\n [key: string]: K;\n};\nexport function toObject(\n array: T[],\n key: P\n): {\n [key: string]: T;\n};\nexport function toObject(\n array: T[],\n key: P,\n transformer: (item: T) => K\n): {\n [key: string]: K;\n};\nexport function toObject(\n array: any,\n secondParam: any = undefined,\n thirdParam: any = undefined\n): any {\n const result: any = {};\n if (!secondParam && !thirdParam) {\n array.forEach((item: string) => {\n result[item] = item;\n });\n return result;\n }\n if (typeof secondParam === 'function') {\n array.forEach((item: string) => {\n result[item] = secondParam(item);\n });\n return result;\n }\n if (typeof secondParam === 'string' && !thirdParam) {\n array.forEach((item: any) => {\n result[item[secondParam]] = item;\n });\n return result;\n }\n array.forEach((item: any) => {\n result[item[secondParam]] = thirdParam(item);\n });\n return result;\n}\n","import { Dictionary } from '../../types';\n\nexport const mapObject = (\n obj: Dictionary,\n keyIteratee: (value: T, key: string) => string,\n valueIteratee: ((value: T, key: string) => V) = value => (value as V)\n) => {\n let result: { [key: string]: V } = {}\n Object.keys(obj).forEach(key => {\n result[keyIteratee(obj[key], key)] = valueIteratee(obj[key], key)\n })\n return result\n};\n","import mapValues from 'lodash.mapvalues';\nimport { Dictionary } from '../../types';\nimport { RpsConfig } from '../../shared/State';\n\nexport const mapRpsById = (\n rpsById: Dictionary>,\n iteratee: (key: string) => K\n) => {\n return mapValues(rpsById, (value, key) =>\n mapValues(value, nestedValue => ({\n ...nestedValue,\n ...iteratee(key),\n }))\n );\n};\n","import { Breakpoint, keys } from '@material-ui/core/styles/createBreakpoints';\nimport { ComponentData } from '../../shared/BuilderCreator/MultiObjects';\nimport get from '../get';\n\nexport const genHiddenBreakpoints = (\n componentData: Pick<\n ComponentData,\n 'configMapById' | 'hiddenById'\n >,\n id: string,\n predicate: (config: Config) => boolean\n) => {\n if (get(componentData, ['hiddenById', id]) === keys) {\n // hidden at all breakpoints if true\n return keys;\n }\n const result: Breakpoint[] = [];\n let found: boolean = false;\n keys.forEach(bp => {\n const config: Config = get(componentData, ['configMapById', id, bp]);\n if (predicate(config)) {\n // if predicate return true, won't add this breakpoint to the list\n found = true;\n } else if (!found || config) {\n result.push(bp);\n found = false;\n }\n });\n return result;\n};\n","import { Breakpoint } from '@material-ui/core/styles/createBreakpoints';\nimport { HeaderConfig } from '../types';\nimport { INITIAL_HEADER_HEIGHT, pickNearestBreakpoint } from '../utils';\nimport { SingleObjData } from '../shared/State';\n\nexport interface IHeaderRegistry {\n registerConfig: (\n breakpoint: Breakpoint,\n config: HeaderConfig\n ) => IHeaderRegistry;\n}\n\nconst HeaderRegistry = (\n state: SingleObjData\n): IHeaderRegistry => {\n return {\n registerConfig(breakpoint, config) {\n state.rpsConfig[breakpoint] = {\n initialHeight: pickNearestBreakpoint(INITIAL_HEADER_HEIGHT, breakpoint),\n id: state.id,\n ...config,\n };\n return this;\n },\n };\n};\n\nexport default HeaderRegistry;\n","import { Breakpoint } from '@material-ui/core/styles/createBreakpoints';\nimport { Dictionary, MapBreakpoint } from '../types';\n\nexport type RpsConfig = MapBreakpoint;\nexport type RpsConfigArray = MapBreakpoint\n\nexport type SingleObjData = {\n id: string;\n props?: P;\n rpsConfig?: RpsConfig;\n hidden?: Breakpoint[];\n};\n\nexport type MultiObjData = {\n ids: string[];\n dataById: Dictionary>;\n};\n\nexport const createSingleObjData = ({\n id,\n props = {} as P,\n rpsConfig = {},\n hidden = [],\n}: SingleObjData) => ({\n id,\n props,\n rpsConfig,\n hidden,\n});\n\nexport const createMultiObjData = (\n rpsConfigById?: Dictionary>\n): MultiObjData => {\n if (!rpsConfigById) return {\n ids: [],\n dataById: {},\n }\n const ids = Object.keys(rpsConfigById)\n return {\n ids,\n dataById: ids.reduce((result, id) => ({\n ...result,\n [id]: createSingleObjData({\n id,\n rpsConfig: rpsConfigById[id],\n })\n }), {})\n }\n};\n","import { Breakpoint, keys } from '@material-ui/core/styles/createBreakpoints';\nimport { createSingleObjData, RpsConfig, SingleObjData } from '../State';\n\ntype Params = {\n defaultId: string;\n component?: 'Header' | 'Footer' | 'Content';\n Registry?: R;\n};\nexport type DummyRegistry =(\n state: SingleObjData,\n props?: Props\n) => {};\n\nexport interface SingleObjBuilderResult<\n R extends DummyRegistry,\n Config = undefined\n> {\n create: (id: string) => ReturnType;\n update: (updater: (config: RpsConfig) => void) => void;\n hide: (breakpoints: Breakpoint[] | boolean) => void;\n getId: () => string;\n getData: () => RpsConfig;\n debug?: () => void;\n}\n\ntype BuilderResult, Config = undefined> = ReturnType<\n R\n> &\n SingleObjBuilderResult;\n\nconst makeRegistry = (id: string) => (state = createSingleObjData({ id })) => {}\n\nexport const createSingleObjBuilder = <\n R extends DummyRegistry,\n Config = undefined\n>({\n defaultId,\n component,\n Registry = makeRegistry(defaultId) as R,\n}: Params) => {\n const Builder = (initialRpsConfig = {}): BuilderResult => {\n let state: SingleObjData = createSingleObjData({\n id: defaultId,\n rpsConfig: initialRpsConfig,\n });\n let registry = Registry(state);\n\n return {\n ...registry,\n create(id: string) {\n state = createSingleObjData({ id });\n registry = Registry(state);\n return registry;\n },\n update(updater: (config: RpsConfig) => void) {\n updater(state.rpsConfig);\n },\n hide(breakpoints: Breakpoint[]) {\n if (typeof breakpoints === 'boolean') {\n state.hidden = breakpoints ? keys : [];\n } else {\n state.hidden = breakpoints;\n }\n },\n getId: () => state.id,\n getData: () => state.rpsConfig,\n debug: () => {\n if (process.env.NODE_ENV !== 'production') {\n console.group(`${component}: `, `\"${state.id}\"`);\n console.table(state.rpsConfig);\n console.table(state.hidden);\n console.groupEnd();\n }\n },\n } as BuilderResult;\n };\n\n return Builder;\n};\n","import { HeaderConfig } from '../../types';\nimport { DEFAULT_HEADER_ID } from '../../utils';\nimport { HeaderRegistry } from '../../Header';\nimport { SingleObjData } from '../../shared/State';\nimport { createSingleObjBuilder } from '../../shared/BuilderCreator'\n\nexport type HeaderData = SingleObjData;\n\nconst HeaderBuilder = createSingleObjBuilder({\n defaultId: DEFAULT_HEADER_ID,\n Registry: HeaderRegistry,\n component: 'Header'\n});\n\nexport default HeaderBuilder;\n","import { Breakpoint, keys } from '@material-ui/core/styles/createBreakpoints';\nimport mapValues from 'lodash.mapvalues';\nimport {\n createMultiObjData,\n createSingleObjData,\n RpsConfig,\n RpsConfigArray,\n} from '../State';\nimport { DummyRegistry } from './SingleObject';\nimport { Dictionary } from '../../types';\nimport {\n attachHiddenToMapById,\n normalizeMapById,\n getFieldById,\n} from '../../utils';\n\ntype Params = {\n Registry?: R;\n component?: 'EdgeSidebar' | 'InsetSidebar' | 'Subheader';\n};\n\nexport type ComponentData = {\n ids: string[];\n sidebarIds: string[];\n propsById: Dictionary;\n configMapById: Dictionary>;\n configMap: RpsConfigArray;\n hiddenById: Dictionary;\n}\n\nexport interface MultiObjBuilderResult<\n R extends DummyRegistry,\n Config = undefined,\n Props = {}\n> {\n create: (id: string, props: Props) => ReturnType;\n update: (id: string, updater: (rpsConfig: RpsConfig) => void) => void;\n hide: (id: string, breakpoints: Breakpoint[] | boolean) => void;\n getData: () => ComponentData;\n debug?: () => void;\n}\n\nexport const createMultiObjBuilder = <\n R extends DummyRegistry,\n Config = undefined,\n Props = Partial\n>({\n Registry,\n component,\n}: Params) => {\n const MultiObjBuilder = (\n initialRpsConfigById: Dictionary> = {}\n ): MultiObjBuilderResult => {\n let state = createMultiObjData(initialRpsConfigById);\n\n const getMapById = () => {\n const mapById = getFieldById(state.dataById, 'rpsConfig');\n const hiddenById = getFieldById(state.dataById, 'hidden');\n const propsById = getFieldById(state.dataById, 'props');\n const finalMapById = mapValues(mapById, (value, key) =>\n mapValues(value, nestedValue => ({\n ...nestedValue,\n ...propsById[key],\n }))\n );\n const attachedMapById = attachHiddenToMapById(finalMapById, hiddenById);\n return {\n configMap: normalizeMapById(attachedMapById),\n configMapById: attachedMapById,\n };\n };\n return {\n create(id, props) {\n if (!state.ids.includes(id)) {\n // throw new Error(\n // `id: ${id} already exists, please define another unique id`\n // );\n state.ids.push(id);\n state.dataById[id] = createSingleObjData({\n id,\n props,\n });\n }\n return Registry(state.dataById[id]) as ReturnType;\n },\n update(id, updater) {\n if (state.dataById[id]) {\n updater(state.dataById[id].rpsConfig);\n } else {\n console.warn(`No sidebar to update. id: ${id}`);\n }\n },\n hide(id, breakpoints) {\n if (typeof breakpoints === 'boolean') {\n state.dataById[id].hidden = breakpoints ? keys : [];\n } else {\n state.dataById[id].hidden = breakpoints;\n }\n },\n getData() {\n return {\n ids: state.ids,\n sidebarIds: state.ids,\n propsById: getFieldById(state.dataById, 'props'),\n hiddenById: getFieldById(state.dataById, 'hidden'),\n ...getMapById(),\n };\n },\n debug() {\n if (process.env.NODE_ENV !== 'production') {\n const data = this.getData();\n state.ids.forEach(id => {\n console.group(`${component}: `, `\"${id}\"`);\n console.table(data.configMapById[id]);\n console.table(data.hiddenById[id]);\n console.groupEnd();\n });\n }\n },\n };\n };\n\n return MultiObjBuilder;\n};\n","import { HeaderConfig } from '../../types';\nimport { createMultiObjBuilder } from '../../shared/BuilderCreator/MultiObjects';\nimport { HeaderRegistry } from '../../Header';\n\nexport type ISubheaderBuilder = ReturnType;\n\nconst SubheaderBuilder = createMultiObjBuilder<\n typeof HeaderRegistry,\n HeaderConfig\n>({\n component: 'Subheader',\n Registry: HeaderRegistry,\n});\n\nexport default SubheaderBuilder;\n","import {\n EdgeSidebarConfig,\n IEdgeSidebarRegistry,\n SidebarProperties,\n} from '../types';\nimport { SingleObjData } from '../shared/State';\n\nconst EdgeSidebarRegistry = (\n state: SingleObjData,\n props: SidebarProperties\n): IEdgeSidebarRegistry => {\n return {\n registerPermanentConfig(breakpoint, config) {\n state.rpsConfig[breakpoint] = {\n ...config,\n ...props,\n id: state.id,\n variant: 'permanent',\n };\n return this;\n },\n registerPersistentConfig(breakpoint, config) {\n state.rpsConfig[breakpoint] = {\n ...config,\n ...props,\n id: state.id,\n variant: 'persistent',\n };\n return this;\n },\n registerTemporaryConfig(breakpoint, config) {\n state.rpsConfig[breakpoint] = {\n ...config,\n ...props,\n id: state.id,\n variant: 'temporary',\n };\n return this;\n },\n };\n};\n\nexport default EdgeSidebarRegistry;\n","import { EdgeSidebarConfig, SidebarProperties } from '../../types';\nimport { EdgeSidebarRegistry } from '../../EdgeSidebar';\nimport { createMultiObjBuilder } from '../../shared/BuilderCreator/MultiObjects';\n\nconst EdgeSidebarBuilder = createMultiObjBuilder<\n typeof EdgeSidebarRegistry,\n EdgeSidebarConfig,\n SidebarProperties\n>({\n Registry: EdgeSidebarRegistry,\n component: 'EdgeSidebar',\n});\n\nexport default EdgeSidebarBuilder;\n","import { createSingleObjBuilder } from '../../shared/BuilderCreator';\nimport { DEFAULT_CONTENT_ID } from '../../utils';\n\nconst ContentBuilder = createSingleObjBuilder({\n defaultId: DEFAULT_CONTENT_ID,\n component: 'Content',\n});\n\nexport default ContentBuilder\n","import { createSingleObjBuilder } from '../../shared/BuilderCreator';\nimport { DEFAULT_FOOTER_ID } from '../../utils';\n\nconst FooterBuilder = createSingleObjBuilder({\n defaultId: DEFAULT_FOOTER_ID,\n component: 'Footer',\n});\n\nexport default FooterBuilder\n","import {\n IInsetSidebarRegistry,\n InsetSidebarConfig,\n SidebarProperties,\n} from '../types';\nimport { SingleObjData } from '../shared/State';\n\nconst InsetSidebarRegistry = (\n state: SingleObjData,\n props: SidebarProperties\n): IInsetSidebarRegistry => {\n return {\n registerFixedConfig(breakpoint, config) {\n state.rpsConfig[breakpoint] = {\n ...config,\n ...props,\n id: state.id,\n variant: 'fixed',\n };\n return this;\n },\n registerAbsoluteConfig(breakpoint, config) {\n state.rpsConfig[breakpoint] = {\n ...config,\n ...props,\n id: state.id,\n variant: 'absolute',\n };\n return this;\n },\n registerStickyConfig(breakpoint, config) {\n state.rpsConfig[breakpoint] = {\n ...config,\n ...props,\n id: state.id,\n variant: 'sticky',\n };\n return this;\n },\n };\n};\n\nexport default InsetSidebarRegistry;\n","import {\n Dictionary,\n IInsetSidebarRegistry,\n InsetSidebarConfig,\n InsetSidebarData,\n MapBreakpoint,\n SidebarProperties,\n} from '../../types';\nimport { Breakpoint } from '@material-ui/core/styles/createBreakpoints';\nimport { InsetSidebarRegistry } from '../../InsetSidebar';\nimport { createMultiObjBuilder } from '../../shared/BuilderCreator/MultiObjects';\n\nexport interface IInsetSidebarBuilder {\n create: (id: string, properties: SidebarProperties) => IInsetSidebarRegistry;\n update: (\n id: string,\n updater: (\n config: MapBreakpoint>\n ) => void\n ) => void;\n hide: (id: string, breakpoints: Breakpoint[] | boolean) => void;\n getData: () => InsetSidebarData;\n debug: () => void;\n}\n\nexport type InsetSidebarConfigMapById = Dictionary<\n MapBreakpoint\n>;\n\nconst InsetSidebarBuilder = createMultiObjBuilder<\n typeof InsetSidebarRegistry,\n InsetSidebarConfig,\n SidebarProperties\n>({\n Registry: InsetSidebarRegistry,\n component: 'InsetSidebar',\n});\n\nexport default InsetSidebarBuilder;\n","import { Breakpoint } from '@material-ui/core/styles/createBreakpoints';\nimport HeaderBuilder from './Header';\nimport SubheaderBuilder from './Subheader';\nimport EdgeSidebarBuilder from './EdgeSidebar';\nimport ContentBuilder from './Content';\nimport FooterBuilder from './Footer';\nimport InsetSidebarBuilder from './InsetSidebar';\nimport {\n IHeaderBuilder,\n IEdgeSidebarBuilder,\n State,\n GlobalConfig,\n LayoutData,\n EdgeSidebarConfigMapById,\n SubheaderConfigMapById,\n HeaderConfigMap,\n} from '../types';\nimport {\n IInsetSidebarBuilder,\n InsetSidebarConfigMapById,\n} from './InsetSidebar/InsetSidebarBuilder';\nimport { ISubheaderBuilder } from './Subheader/SubheaderBuilder';\nimport { DEFAULT_CONTENT_ID, toObject } from '../utils';\n\ninterface BuilderCallback {\n (builder: T): void;\n}\n\nexport interface ILayoutBuilder {\n configureHeader: (\n callback: BuilderCallback<\n Pick\n >\n ) => void;\n configureSubheader: (\n callback: BuilderCallback<\n Pick\n >\n ) => void;\n configureEdgeSidebar: (\n callback: BuilderCallback<\n Pick\n >\n ) => void;\n configureInsetSidebar: (\n callback: BuilderCallback>\n ) => void;\n enableAutoCollapse: (sidebarId: string, breakpoint?: Breakpoint) => void;\n getComponentData: () => LayoutData;\n clone: () => {\n edgeSidebar: EdgeSidebarConfigMapById;\n };\n getInitialState: () => State;\n debug: () => void;\n getJSON: () => void;\n}\n\ntype InitialLayout = {\n global?: GlobalConfig;\n header?: HeaderConfigMap;\n subheader?: SubheaderConfigMapById;\n edgeSidebar?: EdgeSidebarConfigMapById;\n insetSidebar?: InsetSidebarConfigMapById;\n};\n\nexport default (initialLayout: InitialLayout = {}): ILayoutBuilder => {\n const global: GlobalConfig = initialLayout.global || { autoCollapse: {} };\n const header = HeaderBuilder(initialLayout.header);\n const subheader = SubheaderBuilder(initialLayout.subheader);\n const edgeSidebar = EdgeSidebarBuilder(initialLayout.edgeSidebar);\n const insetSidebar = InsetSidebarBuilder(initialLayout.insetSidebar);\n const content = ContentBuilder();\n const footer = FooterBuilder();\n\n // setup default id\n content.create(DEFAULT_CONTENT_ID);\n\n return {\n configureHeader(callback) {\n callback(header);\n },\n configureSubheader(callback) {\n callback(subheader);\n },\n configureEdgeSidebar(callback) {\n callback(edgeSidebar);\n },\n configureInsetSidebar(callback) {\n callback(insetSidebar);\n },\n enableAutoCollapse(sidebarId, breakpoint = 'md') {\n global.autoCollapse[sidebarId] = breakpoint;\n },\n getComponentData: () => ({\n global,\n edgeSidebar: edgeSidebar.getData(),\n insetSidebar: insetSidebar.getData(),\n header: header.getData(),\n headerId: header.getId(),\n subheader: subheader.getData(),\n content: { id: content.getId() },\n footer: { id: footer.getId() },\n }),\n clone: () =>\n // use this approach as deep clone for now\n JSON.parse(\n JSON.stringify({\n header: header.getData(),\n subheader: subheader.getData(),\n edgeSidebar: edgeSidebar.getData().configMapById,\n insetSidebar: insetSidebar.getData().configMapById,\n content: content.getData(),\n footer: footer.getData(),\n })\n ),\n getInitialState: () => {\n const { ids } = edgeSidebar.getData();\n return {\n sidebar: toObject(ids, () => ({\n open: false,\n collapsed: false,\n })),\n };\n },\n debug() {\n if (process.env.NODE_ENV !== 'production') {\n header.debug();\n subheader.debug();\n edgeSidebar.debug();\n insetSidebar.debug();\n content.debug();\n footer.debug();\n }\n },\n getJSON() {\n console.log(\n JSON.stringify(\n {\n header: header.getData(),\n subheader: subheader.getData(),\n edgeSidebar: edgeSidebar.getData().configMapById,\n insetSidebar: insetSidebar.getData().configMapById,\n },\n null,\n 2\n )\n );\n },\n };\n};\n","import React from 'react';\nimport merge from 'deepmerge';\nimport LayoutBuilder from '../builders';\nimport { ILayoutBuilder } from '../builders';\nimport { LayoutData, State } from '../types';\n\nconst Context = React.createContext(null);\nContext.displayName = 'MuiLayoutCtx';\n\nexport type ContextValue = {\n state: State;\n data: LayoutData;\n setOpen: (id: string, value: boolean) => void;\n setCollapsed: (id: string, value: boolean) => void;\n};\n\ntype SidebarPayload = { id: string; value: boolean };\ntype Action =\n | { type: 'SET_OPEN'; payload: SidebarPayload }\n | { type: 'SET_COLLAPSED'; payload: SidebarPayload };\n\nconst reducer = (state: State, action: Action) => {\n const newState = Object.assign({}, state);\n switch (action.type) {\n case 'SET_OPEN':\n newState.sidebar[action.payload.id].open = action.payload.value;\n return newState;\n case 'SET_COLLAPSED':\n newState.sidebar[action.payload.id].collapsed = action.payload.value;\n return newState;\n default:\n return state;\n }\n};\n\nexport const useLayoutCtx = () => {\n const ctx = React.useContext(Context);\n if (!ctx) {\n throw new Error('useLayoutCtx must be rendered under LayoutProvider');\n }\n return ctx;\n};\n\nexport const LayoutConsumer = Context.Consumer;\n\nexport type LayoutProviderProps = {\n initialState?: State;\n scheme: ILayoutBuilder;\n};\n\nconst defaultScheme = LayoutBuilder();\n\nexport const LayoutProvider = ({\n initialState: controlledInitialState,\n scheme = defaultScheme,\n children,\n}: React.PropsWithChildren) => {\n const autoGenInitialState = scheme.getInitialState();\n const [state, dispatch] = React.useReducer(\n reducer,\n merge(autoGenInitialState, controlledInitialState || {})\n );\n const setOpen = (id: string, value: boolean) => {\n if (typeof id !== 'string') {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'To call `setOpen`, You must pass 1st argument(sidebarId) as string'\n );\n }\n return;\n }\n return dispatch({ type: 'SET_OPEN', payload: { id, value } });\n };\n const setCollapsed = (id: string, value: boolean) => {\n if (typeof id !== 'string') {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'To call `setCollapsed`, You must pass 1st argument(sidebarId) as string'\n );\n }\n return;\n }\n return dispatch({\n type: 'SET_COLLAPSED',\n payload: { id, value },\n });\n };\n const data = scheme.getComponentData();\n return (\n \n {children}\n \n );\n};\n\nexport default Context;\n","import {\n AbsoluteInsetSidebarConfig,\n FixedInsetSidebarConfig,\n InsetSidebarConfig,\n PermanentSidebarConfig,\n PersistentSidebarConfig,\n EdgeSidebarConfig,\n StickyInsetSidebarConfig,\n TemporarySidebarConfig,\n CollapsibleSidebarConfig,\n} from \"../types\"\n\nexport const hasAutoExpanded = (config: EdgeSidebarConfig): config is CollapsibleSidebarConfig => {\n return !!config && typeof (config as CollapsibleSidebarConfig).autoExpanded === 'boolean'\n}\n\nexport const isCollapsibleSidebarConfig = (\n config: EdgeSidebarConfig\n): config is CollapsibleSidebarConfig => {\n return (\n !!config &&\n typeof (config as CollapsibleSidebarConfig).collapsible === \"boolean\"\n )\n}\n\nexport const isPersistentSidebarConfig = (\n config: EdgeSidebarConfig\n): config is PersistentSidebarConfig => {\n return (\n !!config && (config as PersistentSidebarConfig).variant === \"persistent\"\n )\n}\n\nexport const isPermanentSidebarConfig = (\n config: EdgeSidebarConfig\n): config is PermanentSidebarConfig => {\n return !!config && (config as PermanentSidebarConfig).variant === \"permanent\"\n}\n\nexport const isTemporarySidebarConfig = (\n config: EdgeSidebarConfig\n): config is TemporarySidebarConfig => {\n return !!config && (config as TemporarySidebarConfig).variant === \"temporary\"\n}\n\nexport const isFixedInsetSidebarConfig = (\n config: InsetSidebarConfig\n): config is FixedInsetSidebarConfig => {\n return !!config && (config as FixedInsetSidebarConfig).variant === \"fixed\"\n}\n\nexport const isAbsoluteInsetSidebarConfig = (\n config: InsetSidebarConfig\n): config is AbsoluteInsetSidebarConfig => {\n return (\n !!config && (config as AbsoluteInsetSidebarConfig).variant === \"absolute\"\n )\n}\n\nexport const isStickyInsetSidebarConfig = (\n config: InsetSidebarConfig\n): config is StickyInsetSidebarConfig => {\n return !!config && (config as StickyInsetSidebarConfig).variant === \"sticky\"\n}\n","import React from 'react';\nimport { DrawerProps } from '@material-ui/core/Drawer';\nimport { PaperProps } from '@material-ui/core/Paper';\nimport { SlideProps } from '@material-ui/core/Slide';\nimport { get, EDGE_SIDEBAR_EXPAND_DELAY } from '../utils';\nimport { Dictionary, EdgeSidebarConfig, SidebarState } from '../types';\nimport { hasAutoExpanded } from '../utils/sidebarChecker';\n\ntype SidebarContextValue = {\n id: string;\n entered: boolean;\n expanded: boolean;\n setEntered: (value: boolean) => void;\n setExpanded: (value: boolean) => void;\n inlineStyle?: Dictionary;\n wrapOnMouseEnter?: (\n props: DrawerProps['PaperProps']\n ) => (...args: Parameters) => void;\n wrapOnMouseLeave?: (\n props: DrawerProps['PaperProps']\n ) => (...args: Parameters) => void;\n wrapOnEntered?: (\n props: DrawerProps['SlideProps']\n ) => (...args: Parameters) => void;\n wrapOnExit?: (\n props: DrawerProps['SlideProps']\n ) => (...args: Parameters) => void;\n};\nconst Context = React.createContext({\n id: undefined,\n entered: false,\n expanded: false,\n setEntered: () => {},\n setExpanded: () => {},\n});\nContext.displayName = 'SidebarCtx';\n\nconst initialState = {\n entered: false,\n expanded: false,\n};\n\nexport const useSidebarCtx = () => React.useContext(Context);\n\nexport const SidebarProvider = ({\n id,\n children,\n config,\n sidebarState,\n}: React.PropsWithChildren<{\n id: string;\n config: EdgeSidebarConfig;\n sidebarState: SidebarState;\n}>) => {\n const [state, setState] = React.useState(initialState);\n const isMouseOverSidebar = React.useRef(false);\n const isAutoExpanded = hasAutoExpanded(config) && config.autoExpanded;\n\n const setEntered = React.useCallback(\n payload => setState(prevState => ({ ...prevState, entered: payload })),\n []\n );\n const setExpanded = React.useCallback(\n payload => setState(prevState => ({ ...prevState, expanded: payload })),\n []\n );\n const wrapOnMouseEnter: SidebarContextValue['wrapOnMouseEnter'] = React.useCallback(\n paper => (...args) => {\n if (paper && typeof paper.onMouseEnter === 'function') {\n paper.onMouseEnter(...args);\n }\n if (sidebarState.collapsed && isAutoExpanded) {\n isMouseOverSidebar.current = true;\n setTimeout(() => {\n if (isMouseOverSidebar.current) {\n setExpanded(true);\n }\n }, EDGE_SIDEBAR_EXPAND_DELAY);\n }\n },\n [setExpanded, sidebarState.collapsed, isAutoExpanded]\n );\n const wrapOnMouseLeave: SidebarContextValue['wrapOnMouseLeave'] = React.useCallback(\n paper => (...args) => {\n if (paper && typeof paper.onMouseLeave === 'function') {\n paper.onMouseLeave(...args);\n }\n isMouseOverSidebar.current = false;\n setExpanded(false);\n },\n [setExpanded]\n );\n const wrapOnEntered: SidebarContextValue['wrapOnEntered'] = React.useCallback(\n slide => (...args) => {\n if (slide && typeof slide.onEntered === 'function')\n slide.onEntered(...args);\n setEntered(true);\n },\n [setEntered]\n );\n const wrapOnExit: SidebarContextValue['wrapOnExit'] = React.useCallback(\n slide => (...args) => {\n if (slide && typeof slide.onExit === 'function') slide.onExit(...args);\n setEntered(false);\n },\n [setEntered]\n );\n\n React.useEffect(() => {\n if (!sidebarState.collapsed) {\n setState(prevState => ({ ...prevState, expanded: false }));\n }\n }, [sidebarState.collapsed]);\n\n return (\n \n {children}\n \n );\n};\n\nexport const SidebarConsumer = Context.Consumer;\n","import React from 'react';\n\nconst WindowContext = React.createContext({\n // eslint-disable-next-line object-shorthand\n iWindow: typeof window !== 'undefined' ? window : undefined,\n iDocument: typeof document !== 'undefined' ? document : undefined,\n});\n\nexport const WindowProvider = WindowContext.Provider;\nexport const WindowConsumer = WindowContext.Consumer;\nexport const useWindowCtx = () => React.useContext(WindowContext)\n\nexport default WindowContext;\n","import React from \"react\"\n\nconst Context = React.createContext(false)\nContext.displayName = \"FullscreenCtx\"\n\nexport const useFullscreenCtx = () => React.useContext(Context)\n\nexport default Context\n","import React from \"react\"\nimport { ThemeProvider, createMuiTheme, Theme } from \"@material-ui/core/styles\"\nimport {\n ContextValue,\n LayoutProvider,\n LayoutProviderProps,\n} from \"../../contexts\"\nimport { useLayoutCtx } from \"../../contexts\"\n\nconst baseTheme = createMuiTheme()\n\ntype RootProps = {\n theme?: Theme\n themeProviderOmitted?: boolean\n children: FunctionChildren\n} & LayoutProviderProps\n\ntype FunctionChildren =\n | React.ReactNode\n | ((ctx: ContextValue) => React.ReactNode)\n\nconst Layout = ({ children }: { children: FunctionChildren }) => {\n const ctx = useLayoutCtx()\n return typeof children === \"function\" ? children(ctx) : children\n}\n\nconst Root = ({\n theme = baseTheme,\n themeProviderOmitted = false,\n children,\n ...props\n}: React.PropsWithChildren) => {\n if (themeProviderOmitted) {\n return (\n \n {children}\n \n )\n }\n return (\n \n \n {children}\n \n \n )\n}\n\nexport default Root\n","import React, { HTMLProps } from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Container, { ContainerProps } from '@material-ui/core/Container';\nimport { useFullscreenCtx } from '../../contexts/FullscreenContext';\n\nexport type InsetContainerProps = {\n leftSidebar?: React.ReactNode;\n rightSidebar?: React.ReactNode;\n WrapperProps?: HTMLProps;\n} & ContainerProps;\n\nexport default (styled: any) => {\n const Div = styled('div')`\n overflow: auto;\n flex-grow: 1;\n `;\n\n const useContainerStyles = makeStyles({\n root: {\n display: 'flex',\n flexFlow: 'row nowrap',\n flexGrow: 1,\n },\n });\n\n const InsetContainer: React.FC = ({\n children,\n leftSidebar,\n rightSidebar,\n WrapperProps,\n ...props\n }) => {\n const isFullscreen = useFullscreenCtx();\n const classes = useContainerStyles(props);\n return (\n \n {leftSidebar}\n {isFullscreen ? (\n
{children}
\n ) : (\n children\n )}\n {rightSidebar}\n
\n );\n };\n\n return InsetContainer;\n};\n","import React, { HTMLProps } from 'react';\nimport cx from 'clsx';\n\nexport default (styled: any) => {\n const Div = styled('div')`\n min-height: 0;\n flex-grow: 1;\n overflow: auto;\n `;\n\n const SidebarContent: React.FC> = ({\n className,\n ...props\n }) => {\n return (\n \n );\n };\n\n return SidebarContent;\n};\n","import { HeaderConfig, HeaderConfigMap, ResultStyle } from \"../types\"\nimport { Breakpoint } from \"@material-ui/core/styles/createBreakpoints\"\n\nexport default (header: HeaderConfigMap) => {\n return {\n getResultStyle: () => {\n const result: ResultStyle = {}\n let found: boolean = false\n Object.entries(header).forEach(\n ([bp, config]: [Breakpoint, HeaderConfig]) => {\n if (config.position === \"fixed\" && !config.hidden) {\n found = true\n result[bp] = {\n height: config.initialHeight,\n }\n } else if (found) {\n found = false\n result[bp] = {\n height: 0,\n }\n }\n }\n )\n return result\n },\n }\n}\n","import React from 'react';\nimport { MediaQueries } from '../../utils/createBreakpointStyles';\n\nexport interface HiddenProxyProps {\n styles?: MediaQueries;\n hiddenStyles?: MediaQueries;\n className?: string;\n style?: object;\n}\n\nconst DefaultStyled = function(\n WrappedComponent: React.ComponentType | keyof JSX.IntrinsicElements\n) {\n return function(fn: (c: K) => any): React.FC {\n return function(\n props: React.PropsWithChildren<{ className?: string } & K>\n ) {\n return ;\n };\n };\n};\n\nexport const generateStyledProxyCreator = (styled = DefaultStyled) => {\n function createProxyStyledComponent(\n WrappedComponent: React.ComponentType | keyof JSX.IntrinsicElements,\n refClassName?: string\n ) {\n const ProxyComponent: React.FC = ({\n hiddenStyles,\n styles,\n ...props\n }): React.ReactElement => ;\n\n const StyledComponent = styled(ProxyComponent)(\n ({ styles, hiddenStyles }) => ({\n ...hiddenStyles,\n ...(refClassName\n ? {\n [`& .${refClassName}`]: styles,\n }\n : styles),\n })\n );\n\n StyledComponent.displayName =\n typeof WrappedComponent === 'string'\n ? 'StyledComponent'\n : WrappedComponent.displayName || WrappedComponent.name;\n\n return StyledComponent;\n }\n\n return createProxyStyledComponent;\n};\n\nexport default generateStyledProxyCreator();\n","import React from \"react\"\nimport useTheme from \"@material-ui/core/styles/useTheme\"\nimport { useLayoutCtx } from \"../../contexts\"\nimport HeaderOffsetCompiler from \"../../compilers/HeaderOffsetCompiler\"\nimport { createBreakpointStyles } from \"../../utils\"\nimport { generateStyledProxyCreator } from '../Shared/StyledProxy';\n\nexport default (styled: any) => {\n const styledProxy = generateStyledProxyCreator(styled);\n const Div = styledProxy('div');\n\n const HeaderOffset = () => {\n const theme = useTheme()\n const { data } = useLayoutCtx()\n const compiler = HeaderOffsetCompiler(data.header)\n const styles = createBreakpointStyles(\n compiler.getResultStyle(), theme)\n return (\n \n )\n }\n return HeaderOffset\n}\n","import { isNilOrEmpty, toValidCssValue } from \"../../utils\"\nimport { IWidth } from \"../../types\"\n\nexport const getCssWidth = (externalGap?: string | number) => {\n if (typeof externalGap === \"string\") {\n return `calc(100% - (${externalGap}))`\n }\n if (typeof externalGap === \"number\") {\n if (externalGap === 0) return \"100%\"\n return `calc(100% - ${externalGap}px)`\n }\n return \"auto\"\n}\n\nexport const sumExternalGap = (\n a?: string | number | null,\n b?: string | number | null\n): number | string => {\n if (isNilOrEmpty(a) && isNilOrEmpty(b)) return undefined\n if (a === 0 && b === 0) return 0\n if (!a && b) return b;\n if (a && !b) return a;\n return `${toValidCssValue(a)} + ${toValidCssValue(b)}`\n}\n\nconst createWidthInterface = (externalGap: string | number): IWidth => {\n return {\n value: externalGap,\n combine: w => createWidthInterface(sumExternalGap(externalGap, w.value)),\n getStyle: () => ({\n width: getCssWidth(externalGap),\n }),\n }\n}\n\nexport default createWidthInterface\n","import { isNil, toValidCssValue } from \"../../utils\"\nimport { MarginStyle, IMargin } from \"../../types\"\n\nexport const getCssMargin = (m?: string | number) => {\n if (typeof m === \"string\") {\n return `calc(${m})`\n }\n return m\n}\n\nconst transformMargin = (\n m: MarginStyle,\n fn: (val: string | number) => string | number = val => val\n) => ({\n ...(!isNil(m.marginLeft) && {\n marginLeft: fn(m.marginLeft),\n }),\n ...(!isNil(m.marginRight) && {\n marginRight: fn(m.marginRight),\n }),\n})\n\nconst getCssValue = (v1: string | number, v2: string | number) => {\n if (isNil(v1)) return v2\n if (isNil(v2)) return v1\n return `${toValidCssValue(v1)} + ${toValidCssValue(v2)}`\n}\n\nexport const combineMargin = (m1: MarginStyle, m2: MarginStyle) => {\n if (!m1 && !m2) return undefined\n if (!m1 && m2) return m2\n if (m1 && !m2) return m1\n const marginLeft = getCssValue(m1.marginLeft, m2.marginLeft)\n const marginRight = getCssValue(m1.marginRight, m2.marginRight)\n return transformMargin({ marginLeft, marginRight })\n}\n\nconst createMarginInterface = (value: MarginStyle): IMargin => {\n return {\n value,\n combine: m => createMarginInterface(combineMargin(value, m.value)),\n getStyle: () => transformMargin(value, getCssMargin),\n }\n}\n\nexport default createMarginInterface\n","import { get } from '../../../utils';\nimport { CollapsibleSidebarConfig, State } from '../../../types';\n\nexport type CollapsibleConfigParam = Pick<\n CollapsibleSidebarConfig,\n 'id' | 'collapsible' | 'collapsedWidth' | 'width' | 'hidden'\n>;\n\nexport default (config: CollapsibleConfigParam, state?: State) => {\n const { collapsible, collapsedWidth, width, hidden } = config;\n const isSidebarCollapsed = get(state, ['sidebar', config.id, 'collapsed']);\n const sidebarWidth =\n collapsible && isSidebarCollapsed ? collapsedWidth : width;\n\n return {\n width: hidden ? 0 : sidebarWidth,\n };\n};\n","import { upperFirst } from '../../utils';\nimport createWidthInterface from '../../models/Width';\nimport createMarginInterface from '../../models/Margin';\nimport {\n IMargin,\n ISidebarEffect,\n IWidth,\n PermanentSidebarConfig,\n State,\n} from '../../types';\nimport createEdgeModel, {\n CollapsibleConfigParam,\n} from '../../models/Sidebar/Edge';\n\nexport default (\n config: Pick,\n state?: State\n): ISidebarEffect => {\n const { anchor } = config;\n const { width: currentWidth } = createEdgeModel(config, state);\n const marginAttr = `margin${upperFirst(anchor)}`;\n return {\n id: config.id,\n getObjectWidth: (): IWidth => createWidthInterface(currentWidth),\n getObjectMargin: (): IMargin =>\n createMarginInterface({\n [marginAttr]: currentWidth,\n }),\n };\n};\n","import { get, upperFirst, getFlexBehaviorValue } from '../../utils';\nimport createEdgeModel, {\n CollapsibleConfigParam,\n} from '../../models/Sidebar/Edge';\nimport createWidthInterface from '../../models/Width';\nimport createMarginInterface from '../../models/Margin';\nimport {\n PersistentSidebarConfig,\n State,\n PersistentBehavior,\n IMargin,\n IWidth,\n ISidebarEffect,\n} from '../../types';\n\nexport default (\n config: Pick<\n PersistentSidebarConfig,\n keyof CollapsibleConfigParam | 'anchor' | 'persistentBehavior'\n >,\n state?: State\n): ISidebarEffect => {\n const { anchor } = config;\n const { width: currentWidth } = createEdgeModel(config, state);\n\n const marginAttr = `margin${upperFirst(anchor)}`;\n\n const isBehavior = (value: PersistentBehavior, objectId: string) => {\n if (typeof config.persistentBehavior === 'object') {\n const objectBehavior = get(config, ['persistentBehavior', objectId]);\n if (!objectBehavior) {\n return get(config, 'persistentBehavior._other') === value;\n }\n return objectBehavior === value;\n }\n return config.persistentBehavior === value;\n };\n\n const isSidebarOpen = get(state, ['sidebar', config.id, 'open']);\n return {\n id: config.id,\n getObjectWidth: (objectId?: string): IWidth =>\n createWidthInterface(\n isSidebarOpen && isBehavior('fit', objectId) ? currentWidth : 0\n ),\n getObjectMargin: (objectId?: string): IMargin => {\n const getResult = () => {\n if (!isSidebarOpen) {\n return {\n [marginAttr]: 0,\n };\n }\n\n // open is true\n if (isBehavior('fit', objectId)) {\n return {\n [marginAttr]: currentWidth,\n };\n }\n if (isBehavior('flexible', objectId)) {\n // for flexible, only marginLeft works. You can try using marginRight.\n // May be it is because normally browser is LTR\n return {\n marginLeft: getFlexBehaviorValue(config.anchor, currentWidth),\n };\n }\n return { [marginAttr]: 0 };\n };\n return createMarginInterface(getResult());\n },\n };\n};\n","import { createPermanentSidebarEffect } from '../PermanentSidebar';\nimport { createPersistentSidebarEffect } from '../PersistentSidebar';\nimport {\n Dictionary,\n EdgeSidebarConfig,\n EdgeSidebarData,\n ISidebarEffect,\n State,\n} from '../../types';\nimport {\n isPermanentSidebarConfig,\n isPersistentSidebarConfig,\n} from '../../utils/sidebarChecker';\nimport { Breakpoint } from '@material-ui/core/styles/createBreakpoints';\nimport { pickNearestBreakpoint } from '../../utils';\n\nexport const getEdgeSidebarEffect = (\n state: State,\n config: EdgeSidebarConfig,\n) => {\n if (isPermanentSidebarConfig(config)) {\n return createPermanentSidebarEffect(config, state);\n } else if (isPersistentSidebarConfig(config)) {\n return createPersistentSidebarEffect(config, state);\n }\n return undefined;\n};\n\nexport default (state: State, edgeSidebar: EdgeSidebarData) => {\n const { configMap, configMapById, sidebarIds } = edgeSidebar\n const breakpoints = Object.keys(configMap);\n const effectsMap: Dictionary = {};\n breakpoints.forEach((bp: Breakpoint) => {\n effectsMap[bp] = [];\n // iterate all sidebars\n sidebarIds.forEach(aSidebarId => {\n const config = pickNearestBreakpoint(configMapById[aSidebarId], bp)\n const effect = getEdgeSidebarEffect(state, config);\n if (effect) effectsMap[bp].push(effect);\n })\n });\n return {\n iterateBreakpointEffects: (\n inputs: Breakpoint[],\n getEffects: (breakpoint: Breakpoint, effects?: ISidebarEffect[]) => void\n ) => {\n let foundAllSidebars = false;\n const sidebarCount = sidebarIds.length;\n inputs.forEach(bp => {\n const effects: ISidebarEffect[] = pickNearestBreakpoint(effectsMap, bp);\n if (effects) {\n if (!foundAllSidebars && effects.length === sidebarCount) {\n foundAllSidebars = true;\n }\n\n if (foundAllSidebars && effects.length < sidebarCount) {\n // attach all\n const existingIds = effects.map(({ id }) => id);\n const missingIds: string[] = sidebarIds.filter(\n (id: string) => !existingIds.includes(id)\n );\n missingIds.forEach(id => {\n effects.push(\n getEdgeSidebarEffect(\n state,\n pickNearestBreakpoint(configMapById[id], bp)\n )\n );\n });\n }\n getEffects(bp, effects);\n } else {\n getEffects(bp, []);\n }\n });\n },\n };\n};\n","import { Theme } from '@material-ui/core/styles';\nimport { get, isHeaderClipped } from '../../utils';\nimport { HeaderConfig, IHeaderEffect } from '../../types';\n\nconst incrementZIndex = (theme: Theme, plus: number) => ({\n zIndex: get(theme, 'zIndex.drawer', 1200) + plus,\n});\n\nexport const isSomeClipped = ({\n clipped,\n}: Pick = {}) => {\n if (typeof clipped === 'boolean') {\n return clipped;\n }\n if (typeof clipped === 'object') {\n return Object.values(clipped).some(value => !!value);\n }\n return false;\n};\n\nexport default (header: Partial): IHeaderEffect => {\n const isAboveSomeSidebars = isSomeClipped(header);\n return {\n id: get(header, 'id'),\n getHeaderZIndex: (theme?: Theme) =>\n isAboveSomeSidebars\n ? incrementZIndex(theme, 10 + (header.layer || 0))\n : undefined,\n getEdgeSidebarZIndex: (sidebarId: string, theme?: Theme) =>\n isAboveSomeSidebars && !isHeaderClipped(header, sidebarId)\n ? incrementZIndex(theme, 20)\n : undefined,\n isObjectClipped: sidebarId => isHeaderClipped(header, sidebarId),\n };\n};\n","import { isHeaderClipped } from '../../utils';\nimport createEffect from '../../effects/Header/HeaderEffect';\nimport createWidthInterface from '../Width';\nimport createMarginInterface from '../Margin';\nimport { ISidebarEffect, HeaderConfig, IMargin, IWidth } from '../../types';\n\nexport default (config: HeaderConfig, sidebarEffects: ISidebarEffect[]) => {\n const headerEffect = createEffect(config);\n\n const marginInterfaces: IMargin[] = [];\n const widthInterfaces: IWidth[] = [];\n\n sidebarEffects.forEach(\n ({ id: sidebarId, getObjectWidth, getObjectMargin }) => {\n widthInterfaces.push(\n isHeaderClipped(config, sidebarId)\n ? createWidthInterface(0)\n : getObjectWidth(config.id)\n );\n marginInterfaces.push(\n isHeaderClipped(config, sidebarId)\n ? createMarginInterface({ marginLeft: 0, marginRight: 0 })\n : getObjectMargin(config.id)\n );\n }\n );\n\n const marginStyle =\n marginInterfaces.length > 0\n ? marginInterfaces\n .reduce((result, current) => result.combine(current))\n .getStyle()\n : undefined;\n const widthStyle =\n widthInterfaces.length > 0\n ? widthInterfaces\n .reduce((result, current) => result.combine(current))\n .getStyle()\n : undefined;\n return {\n getStyle: () => ({\n height: config.hidden ? 0 : config.initialHeight,\n position: config.position,\n ...config.top !== undefined && { top: config.top },\n ...marginStyle,\n ...widthStyle,\n ...headerEffect.getHeaderZIndex(),\n }),\n };\n};\n","import { EdgeSidebarData, HeaderConfigMap, ResultStyle, State } from \"../types\"\nimport EdgeSidebars from \"../effects/EdgeSidebars\"\nimport createHeaderModel from \"../models/Header/HeaderModel\"\nimport { combineBreakpoints, pickNearestBreakpoint } from \"../utils\"\n\nexport default (\n state: State,\n header: HeaderConfigMap,\n edgeSidebar: EdgeSidebarData\n) => {\n return {\n getResultStyle: (): ResultStyle => {\n const result: ResultStyle = {}\n const breakpoints = combineBreakpoints(header, edgeSidebar.configMap)\n EdgeSidebars(state, edgeSidebar).iterateBreakpointEffects(\n breakpoints,\n (bp, effects) => {\n const headerConfig = pickNearestBreakpoint(header, bp)\n if (!headerConfig) {\n throw new Error(\n `Cannot find HeaderConfig at breakpoint: ${bp}, please provide config at least on \"xs\" breakpoint`\n )\n }\n\n result[bp] = createHeaderModel(headerConfig, effects).getStyle()\n }\n )\n return result\n },\n }\n}\n","import React from 'react';\nimport AppBar, { AppBarProps } from '@material-ui/core/AppBar';\nimport { Theme, useTheme } from '@material-ui/core/styles';\nimport getHeaderOffset from '../HeaderOffset';\nimport { useLayoutCtx } from '../../contexts';\nimport { generateStyledProxyCreator } from '../Shared/StyledProxy';\nimport HeaderCompiler from '../../compilers/HeaderCompiler';\nimport { createBreakpointStyles, CSS_TRANSITION } from '../../utils';\n\nexport default (styled: any) => {\n const styledProxy = generateStyledProxyCreator(styled);\n const StyledAppBar = styledProxy(AppBar);\n const HeaderOffset = getHeaderOffset(styled);\n\n const Header: React.FC = props => {\n const { data, state } = useLayoutCtx();\n const theme = useTheme();\n const styles = createBreakpointStyles(\n HeaderCompiler(state, data.header, data.edgeSidebar).getResultStyle(),\n theme\n );\n return (\n <>\n \n \n \n );\n };\n\n return Header;\n};\n","import { Breakpoint } from '@material-ui/core/styles/createBreakpoints';\nimport EdgeSidebarEffects from '../effects/EdgeSidebars';\nimport createListEffect from '../effects/SidebarList/SidebarListEffect';\nimport { sortBreakpoints } from '../utils/createHiddenStyles';\nimport { EdgeSidebarData, ResultStyle, State } from '../types';\n\nexport default (state: State, edgeSidebar: EdgeSidebarData) => {\n return {\n getResultStyle: (id: string): ResultStyle => {\n const result: ResultStyle = {};\n const breakpoints = sortBreakpoints(\n Object.keys(edgeSidebar.configMap) as Breakpoint[]\n );\n EdgeSidebarEffects(state, edgeSidebar).iterateBreakpointEffects(\n breakpoints,\n (bp, effects) => {\n const { marginStyle, widthStyle } = createListEffect(effects, id);\n result[bp] = { ...widthStyle, ...marginStyle };\n }\n );\n return result;\n },\n };\n};\n","import {\n ISidebarEffect,\n ISidebarListEffect,\n IMargin,\n IWidth,\n} from \"../../types\"\n\nexport default (\n sidebarEffects: ISidebarEffect[],\n objectId?: string\n): ISidebarListEffect => {\n const marginInterfaces: IMargin[] = []\n const widthInterfaces: IWidth[] = []\n\n sidebarEffects.forEach(({ getObjectWidth, getObjectMargin }) => {\n widthInterfaces.push(getObjectWidth(objectId))\n marginInterfaces.push(getObjectMargin(objectId))\n })\n return {\n marginStyle:\n marginInterfaces.length > 0\n ? marginInterfaces\n .reduce((result, current) => result.combine(current))\n .getStyle()\n : undefined,\n widthStyle:\n widthInterfaces.length > 0\n ? widthInterfaces\n .reduce((result, current) => result.combine(current))\n .getStyle()\n : undefined,\n }\n}\n","import React from 'react';\nimport { useTheme } from '@material-ui/core/styles';\nimport { useLayoutCtx } from '../../contexts';\nimport { createBreakpointStyles, CSS_TRANSITION } from '../../utils';\nimport ContentCompiler from '../../compilers/ContentCompiler';\nimport { useFullscreenCtx } from '../../contexts/FullscreenContext';\nimport { generateStyledProxyCreator } from '../Shared/StyledProxy';\n\nexport default (styled: any) => {\n const styledProxy = generateStyledProxyCreator(styled);\n const Main = styledProxy('main');\n\n const Content = ({\n children,\n ...props\n }: React.PropsWithChildren<{ className?: string }>) => {\n const theme = useTheme();\n const { data, state } = useLayoutCtx();\n const styles = createBreakpointStyles(\n ContentCompiler(state, data.edgeSidebar).getResultStyle(data.content.id),\n theme\n );\n const isFullscreen = useFullscreenCtx();\n return (\n \n {children}\n \n );\n };\n return Content;\n};\n","import React from \"react\"\nimport debounce from \"debounce\"\nimport useTheme from \"@material-ui/core/styles/useTheme\"\nimport { Breakpoint } from \"@material-ui/core/styles/createBreakpoints\"\nimport { useWindowCtx } from \"../contexts\"\nimport { mapWidthToScreen } from \"../utils\"\n\nfunction getWindowWidth(w: Window) {\n return typeof w === \"object\" ? w.innerWidth : undefined\n}\n\nexport const useScreen = (): Breakpoint => {\n const { breakpoints } = useTheme()\n const { iWindow } = useWindowCtx()\n const getScreen = (): Breakpoint =>\n mapWidthToScreen(getWindowWidth(iWindow), breakpoints)\n\n const [screen, setScreen] = React.useState(getScreen())\n const updater = React.useRef(\n debounce(() => {\n setScreen(getScreen())\n }, 200)\n )\n\n React.useEffect(() => {\n iWindow.addEventListener(\"resize\", updater.current)\n return () => {\n iWindow.removeEventListener(\"resize\", updater.current)\n }\n }, [])\n\n return screen\n}\n\nexport default useScreen\n","import { Breakpoint } from '@material-ui/core/styles/createBreakpoints';\nimport { ComponentData } from './BuilderCreator/MultiObjects';\nimport { pickNearestBreakpoint } from '../utils';\nimport { RpsConfig } from '../shared/State';\n\nexport const SingleResponsiveObj = (data: RpsConfig) => {\n return {\n getNearestConfig: (screen: Breakpoint) =>\n pickNearestBreakpoint(data, screen),\n };\n};\n\nexport const MultiResponsiveObj = (\n data: Pick, 'configMapById'>\n) => {\n const { configMapById } = data;\n return {\n getVisibleConfigs: (screen: Breakpoint) =>\n Object.keys(configMapById)\n .map(id =>\n SingleResponsiveObj(configMapById[id]).getNearestConfig(screen)\n )\n .filter(c => !!c && !c.hidden),\n getNearestConfig: (id: string, screen: Breakpoint) =>\n SingleResponsiveObj(configMapById[id]).getNearestConfig(screen),\n };\n};\n","import { useEffect, useRef, useState } from \"react\"\nimport debounce from \"debounce\"\nimport { useWindowCtx } from \"../contexts\"\n\nfunction getScrollY(obj: Window) {\n return typeof obj === \"object\" ? obj.scrollY : 0\n}\n\nexport const useScrollY = () => {\n const { iWindow } = useWindowCtx()\n const [scrollY, setScrollY] = useState(getScrollY(iWindow))\n const debounceScrollListener = useRef(\n debounce(() => {\n setScrollY(getScrollY(iWindow))\n }, 300)\n )\n useEffect(() => {\n iWindow.addEventListener(\"scroll\", debounceScrollListener.current)\n return () => {\n iWindow.removeEventListener(\"scroll\", debounceScrollListener.current)\n }\n }, [])\n return scrollY\n}\n\nexport default useScrollY\n","import { HeaderConfig } from '../../types';\nimport { plusCalc, toValidCssValue } from '../../utils';\n\nexport default (configs: HeaderConfig[]) => {\n const getDefaultValue = (value: T, defaultValue: K) => {\n if (!configs.length) {\n return defaultValue;\n }\n return value;\n };\n return {\n relativeConfigs: configs.filter(c => c.position === 'relative'),\n nonRelativeConfigs: configs.filter(c => c.position !== 'relative'),\n totalHeight: getDefaultValue(\n configs.length === 1\n ? toValidCssValue(configs[0].initialHeight)\n : plusCalc(...configs.map(c => c.initialHeight)),\n 0\n ),\n maxHeightFromTop: getDefaultValue(\n `max(${configs\n .filter(\n c =>\n (!c.top || typeof c.top === 'number') &&\n typeof c.initialHeight === 'number'\n )\n .map(c => plusCalc(c.top, c.initialHeight))\n .join(', ')})`,\n 0\n ),\n };\n};\n","import { HeaderConfig } from '../../types';\nimport HeaderEffect from '../../effects/Header/HeaderEffect';\nimport MultiHeadersModel from '../../models/MultiHeaders';\nimport { subtractCalc, plusCalc } from '../../utils';\n\nexport default (configs: HeaderConfig[]) => {\n return {\n getSidebarInteraction: (sidebarId: string) => {\n const clippedConfigs = configs.filter(c =>\n HeaderEffect(c).isObjectClipped(sidebarId)\n );\n const relativeConfigs = MultiHeadersModel(clippedConfigs).relativeConfigs;\n const relativeHeight = MultiHeadersModel(relativeConfigs).totalHeight;\n const nonRelativeConfigs = MultiHeadersModel(clippedConfigs)\n .nonRelativeConfigs;\n const nonRelativeHeight = MultiHeadersModel(nonRelativeConfigs)\n .totalHeight;\n const maxHeightFromTop = MultiHeadersModel(nonRelativeConfigs)\n .maxHeightFromTop;\n const nonRelativeOffset = subtractCalc(\n nonRelativeHeight,\n maxHeightFromTop\n );\n const maxOffset = plusCalc(relativeHeight, nonRelativeOffset);\n return {\n isClipped: clippedConfigs.length > 0,\n clippedHeight: MultiHeadersModel(clippedConfigs).totalHeight,\n relativeHeight,\n nonRelativeHeight,\n maxHeightFromTop,\n nonRelativeOffset,\n maxOffset,\n };\n },\n };\n};\n","import useScrollY from '../hooks/useScrollY';\nimport useScreen from '../hooks/useScreen';\nimport { useLayoutCtx } from '../contexts';\nimport { MultiResponsiveObj, SingleResponsiveObj } from '../shared/Responsive';\nimport { HeaderConfig } from '../types';\nimport MultiHeadersEffect from '../effects/MultiHeaders';\n\nexport const useHeaderMagnet = (\n sidebarId: string,\n dynamicHeight: boolean\n) => {\n const scrollY = useScrollY();\n const screen = useScreen();\n const {\n data: { header, subheader },\n } = useLayoutCtx();\n const headerConfig = SingleResponsiveObj(header).getNearestConfig(screen);\n const subheaderConfigs = MultiResponsiveObj(\n subheader\n ).getVisibleConfigs(screen);\n\n if (!dynamicHeight) return { marginTop: '' }; // document is not ready | component is not mounted | height is 0\n\n const { maxOffset } = MultiHeadersEffect([\n headerConfig,\n ...subheaderConfigs,\n ]).getSidebarInteraction(sidebarId);\n\n return {\n marginTop: `max(-${scrollY}px, calc(-1 * ${maxOffset}))`,\n }; // inline style\n};\n","import { useLayoutCtx } from '../contexts';\nimport useScreen from './useScreen';\nimport { isCollapsibleSidebarConfig } from '../utils/sidebarChecker';\nimport { MultiResponsiveObj } from '../shared/Responsive';\nimport { EdgeSidebarConfig } from '../types';\nimport { useHeaderMagnet } from './useHeaderMagnet';\n\nexport const useEdgeHeaderMagnet = (\n sidebarId: string\n): { marginTop: string } => {\n const screen = useScreen();\n const {\n data: { edgeSidebar },\n } = useLayoutCtx();\n\n const sidebarConfig = MultiResponsiveObj(\n edgeSidebar\n ).getNearestConfig(sidebarId, screen);\n const dynamicHeight =\n isCollapsibleSidebarConfig(sidebarConfig) &&\n sidebarConfig.headerMagnetEnabled;\n\n return useHeaderMagnet(sidebarId, dynamicHeight);\n};\n\nexport default useEdgeHeaderMagnet;\n","import HeaderEffect from '../effects/Header';\nimport {\n EdgeSidebarConfig,\n EdgeSidebarData,\n HeaderConfigMap,\n EdgeSidebarVariantStyle,\n State,\n} from '../types';\nimport { combineBreakpoints, pickNearestBreakpoint } from '../utils';\nimport {\n isPermanentSidebarConfig,\n isPersistentSidebarConfig,\n isTemporarySidebarConfig,\n} from '../utils/sidebarChecker';\nimport createEdgeSidebarModel from '../models/Sidebar/Edge/EdgeSidebarModel';\n\nexport default (\n state: State,\n edgeSidebar: Pick,\n header: HeaderConfigMap\n) => {\n return {\n getResultStyle: (sidebarId: string): EdgeSidebarVariantStyle => {\n const result: EdgeSidebarVariantStyle = {\n persistent: {},\n permanent: {},\n temporary: {},\n };\n\n const sidebarConfigMap = edgeSidebar.configMapById[sidebarId];\n if (!sidebarConfigMap) return result;\n\n const configMap = sidebarConfigMap;\n\n const breakpoints = combineBreakpoints(configMap, header);\n\n breakpoints.forEach(bp => {\n const config: EdgeSidebarConfig = pickNearestBreakpoint(configMap, bp);\n if (config) {\n const headerEffect = HeaderEffect(pickNearestBreakpoint(header, bp));\n if (isPersistentSidebarConfig(config) && headerEffect) {\n result.persistent[bp] = {\n ...createEdgeSidebarModel(config, state),\n ...headerEffect.getEdgeSidebarZIndex(sidebarId),\n };\n } else if (isPermanentSidebarConfig(config) && headerEffect) {\n result.permanent[bp] = {\n ...createEdgeSidebarModel(config, state),\n ...headerEffect.getEdgeSidebarZIndex(sidebarId),\n };\n } else if (isTemporarySidebarConfig(config)) {\n result.temporary[bp] = {\n width: config.width,\n };\n }\n }\n });\n return result;\n },\n };\n};\n","import { useTheme } from '@material-ui/core/styles';\nimport EdgeSidebarCompiler from '../compilers/EdgeSidebarCompiler';\nimport { useLayoutCtx } from '../contexts';\nimport { getSidebarAnchor, createDisplayNone } from '../utils';\n\nexport const useSidebar = (id: string, consumer?: string) => {\n if (!id) {\n throw new Error(`You must specify a sidebar id to <${consumer} />`);\n }\n const { breakpoints } = useTheme();\n const { state, data, setOpen, setCollapsed } = useLayoutCtx();\n const sidebarConfigMap = data.edgeSidebar.configMapById[id];\n const anchor = getSidebarAnchor(sidebarConfigMap);\n const styles = EdgeSidebarCompiler(\n state,\n data.edgeSidebar,\n data.header\n ).getResultStyle(id);\n return {\n anchor,\n sidebarConfigMap,\n state: state.sidebar[id],\n edgeSidebar: data.edgeSidebar,\n hiddenStyles: createDisplayNone(\n data.edgeSidebar.hiddenById[id],\n breakpoints\n ),\n styles,\n setOpen,\n setCollapsed,\n };\n};\n\nexport default useSidebar;\n","import { DrawerAnchor, MapBreakpoint, EdgeSidebarConfig } from \"../types\"\nimport { Breakpoint } from \"@material-ui/core/styles/createBreakpoints\"\n\nexport default (\n configMap: MapBreakpoint>\n) => {\n if (!configMap) return undefined\n if (process.env.NODE_ENV !== \"production\") {\n const configs: EdgeSidebarConfig[] = Object.entries(configMap).reduce(\n (result, curr) => [...result, curr],\n []\n )\n const anchorList: DrawerAnchor[] = []\n configs.forEach(c => {\n if (!anchorList.includes(c.anchor)) {\n anchorList.push(c.anchor)\n }\n })\n if (anchorList.length > 1) {\n console.warn(\n \"It seems like you define multiple anchors in one Sidebar, the 1st anchor found will be used.\"\n )\n }\n }\n const keys = Object.keys(configMap) as Breakpoint[]\n return configMap[keys[0]].anchor\n}\n","import { useEffect, useRef } from \"react\"\nimport { keys } from \"@material-ui/core/styles/createBreakpoints\"\nimport { useScreen } from \"./useScreen\"\nimport { useLayoutCtx } from \"../contexts\"\n\nexport const useSidebarAutoCollapse = (sidebarId: string) => {\n const {\n data: {\n global: {\n autoCollapse: { [sidebarId]: collapsedBp },\n },\n },\n setCollapsed,\n } = useLayoutCtx()\n const screen = useScreen()\n const prevScreen = useRef(screen)\n useEffect(() => {\n if (collapsedBp && screen && prevScreen.current) {\n if (\n screen === prevScreen.current &&\n keys.indexOf(screen) <= keys.indexOf(collapsedBp)\n ) {\n // first mount on browser\n setCollapsed(sidebarId, true)\n }\n\n // when viewport changes\n if (screen !== prevScreen.current) {\n if (\n keys.indexOf(prevScreen.current) <= keys.indexOf(collapsedBp) &&\n keys.indexOf(collapsedBp) < keys.indexOf(screen)\n ) {\n setCollapsed(sidebarId, false)\n }\n\n if (\n keys.indexOf(prevScreen.current) > keys.indexOf(collapsedBp) &&\n keys.indexOf(collapsedBp) >= keys.indexOf(screen)\n ) {\n setCollapsed(sidebarId, true)\n }\n\n prevScreen.current = screen\n }\n }\n }, [screen])\n}\n\nexport default useSidebarAutoCollapse\n","import { MapBreakpoint } from \"../types\"\nimport useScreen from \"./useScreen\"\nimport { pickNearestBreakpoint } from \"../utils\"\n\nexport const useBreakpointConfig = (configMap: MapBreakpoint) => {\n const screen = useScreen()\n return pickNearestBreakpoint(configMap, screen)\n}\n\nexport default useBreakpointConfig\n","import { Theme, useTheme } from \"@material-ui/core\"\nimport { useSidebarCtx } from \"../contexts\"\nimport useSidebar from \"./useSidebar\"\nimport { createDisplayNone } from '../utils';\nimport EdgeCollapseCompiler from '../compilers/EdgeCollapseCompiler';\n\nexport const useSidebarCollapse = (sidebarId?: string, consumer?: string) => {\n const { breakpoints } = useTheme()\n const { id = sidebarId } = useSidebarCtx()\n const { edgeSidebar, ...props } = useSidebar(id, consumer)\n const hiddenStyles = createDisplayNone(\n EdgeCollapseCompiler(edgeSidebar).getHiddenBreakpoints(id),\n breakpoints\n );\n return {\n id,\n edgeSidebar,\n ...props,\n hiddenStyles,\n }\n}\n\nexport default useSidebarCollapse\n","import { get } from '../utils';\nimport { EdgeSidebarConfig, EdgeSidebarData } from '../types';\nimport { genHiddenBreakpoints } from '../utils';\n\nexport default (\n edgeSidebar: Pick\n) => {\n return {\n getHiddenBreakpoints: (sidebarId: string) => {\n return genHiddenBreakpoints(\n edgeSidebar,\n sidebarId,\n config => get(config, 'collapsible') && !get(config, 'hidden')\n );\n },\n };\n};\n","import { Theme, useTheme } from \"@material-ui/core\"\nimport { useSidebarCtx } from \"../contexts\"\nimport useSidebar from \"./useSidebar\"\nimport { createDisplayNone } from '../utils';\nimport EdgeTriggerCompiler from '../compilers/EdgeTriggerCompiler';\n\nexport const useSidebarTrigger = (sidebarId?: string, consumer?: string) => {\n const { breakpoints } = useTheme()\n const { id = sidebarId } = useSidebarCtx()\n const { edgeSidebar, ...props } = useSidebar(id, consumer)\n const hiddenStyles = createDisplayNone(\n EdgeTriggerCompiler(edgeSidebar).getHiddenBreakpoints(id),\n breakpoints\n );\n return {\n id,\n edgeSidebar,\n ...props,\n hiddenStyles,\n }\n}\n\nexport default useSidebarTrigger\n","import { EdgeSidebarConfig, EdgeSidebarData } from '../types';\nimport {\n isPersistentSidebarConfig,\n isTemporarySidebarConfig,\n} from '../utils/sidebarChecker';\nimport { genHiddenBreakpoints } from '../utils';\n\nexport default (\n edgeSidebar: Pick\n) => {\n return {\n getHiddenBreakpoints: (sidebarId: string) => {\n return genHiddenBreakpoints(\n edgeSidebar,\n sidebarId,\n config =>\n (isPersistentSidebarConfig(config) ||\n isTemporarySidebarConfig(config)) &&\n !config.hidden\n );\n },\n };\n};\n","import React from 'react';\nimport { useTheme } from '@material-ui/core/styles';\nimport IconButton, { IconButtonProps } from '@material-ui/core/IconButton';\nimport ArrowLeft from '@material-ui/icons/KeyboardArrowLeftRounded';\nimport ArrowRight from '@material-ui/icons/KeyboardArrowRightRounded';\nimport { generateStyledProxyCreator } from '../Shared/StyledProxy';\nimport { CtaProps, DrawerAnchor } from '../../types';\nimport { useSidebarCollapse } from '../../hooks';\nimport { switchDirection } from '../../utils/resolveDirection';\n\nexport default (styled: any) => {\n const styledProxy = generateStyledProxyCreator(styled);\n const StyledIconButton = styledProxy(IconButton);\n\n const CollapseIcon = ({\n children,\n sidebarId,\n onClick,\n SvgIconProps,\n ...props\n }: IconButtonProps & CtaProps) => {\n const {\n id,\n anchor,\n hiddenStyles,\n state,\n setCollapsed,\n } = useSidebarCollapse(sidebarId, 'CollapseIcon');\n const theme = useTheme();\n const arrowR = ;\n const arrowL = ;\n const getArrow = (direction: 'left' | 'right') => {\n if (direction === 'left') {\n return state.collapsed ? arrowR : arrowL;\n }\n if (direction === 'right') {\n return state.collapsed ? arrowL : arrowR;\n }\n return null;\n };\n return (\n ) => {\n if (typeof onClick === 'function') onClick(e);\n setCollapsed(id, !state.collapsed);\n }}\n >\n {typeof children === 'function'\n ? children({ anchor, ...state })\n : getArrow(\n theme.direction === 'rtl'\n ? (switchDirection(anchor) as DrawerAnchor)\n : anchor\n )}\n \n );\n };\n return CollapseIcon;\n};\n","import React from 'react';\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\nimport Button, { ButtonProps } from '@material-ui/core/Button';\nimport ArrowLeft from '@material-ui/icons/KeyboardArrowLeftRounded';\nimport ArrowRight from '@material-ui/icons/KeyboardArrowRightRounded';\nimport { generateStyledProxyCreator } from '../Shared/StyledProxy';\nimport { CtaProps, DrawerAnchor } from '../../types';\nimport { useSidebarCollapse } from '../../hooks';\nimport { switchDirection } from '../../utils/resolveDirection';\n\nexport default (styled: any) => {\n const styledProxy = generateStyledProxyCreator(styled);\n const StyledButton = styledProxy(Button);\n\n const useStyles = makeStyles(({ palette, breakpoints }) => ({\n root: {\n backgroundColor:\n palette.type === 'dark' ? palette.background.paper : palette.grey[50],\n textAlign: 'center',\n borderRadius: 0,\n borderTop: '1px solid',\n borderColor: palette.action.hover,\n [breakpoints.up('sm')]: {\n minHeight: 40,\n },\n },\n }));\n\n const CollapseBtn = ({\n children,\n sidebarId,\n onClick,\n SvgIconProps,\n ...props\n }: ButtonProps & CtaProps) => {\n const classes = useStyles(props);\n const {\n id,\n anchor,\n hiddenStyles,\n state,\n setCollapsed,\n } = useSidebarCollapse(sidebarId, 'CollapseBtn');\n const theme = useTheme();\n const arrowR = ;\n const arrowL = ;\n const getArrow = (direction: 'left' | 'right') => {\n if (direction === 'left') {\n return state.collapsed ? arrowR : arrowL;\n }\n if (direction === 'right') {\n return state.collapsed ? arrowL : arrowR;\n }\n return null;\n };\n return (\n ) => {\n if (typeof onClick === 'function') onClick(e);\n setCollapsed(id, !state.collapsed);\n }}\n >\n {typeof children === 'function'\n ? children({ anchor, ...state })\n : getArrow(\n theme.direction === 'rtl'\n ? (switchDirection(anchor) as DrawerAnchor)\n : anchor\n )}\n \n );\n };\n return CollapseBtn;\n};\n","import React from 'react';\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\nimport IconButton, { IconButtonProps } from '@material-ui/core/IconButton';\nimport ArrowLeft from '@material-ui/icons/KeyboardArrowLeftRounded';\nimport ArrowRight from '@material-ui/icons/KeyboardArrowRightRounded';\nimport MenuRounded from '@material-ui/icons/MenuRounded';\nimport { useSidebarTrigger } from '../../hooks';\nimport { CtaProps } from '../../types';\nimport { generateStyledProxyCreator } from '../Shared/StyledProxy';\n\nexport default (styled: any) => {\n const styledProxy = generateStyledProxyCreator(styled);\n const StyledIconBtn = styledProxy(IconButton);\n\n const useStyles = makeStyles(\n ({ spacing, direction }) => ({\n // @ts-ignore\n root: ({ anchor }) => ({\n ...(anchor === 'left' && {\n marginLeft: spacing(direction === 'rtl' ? 1 : -1),\n marginRight: spacing(direction === 'rtl' ? -1 : 1),\n }),\n ...(anchor === 'right' && {\n marginLeft: spacing(direction === 'rtl' ? -1 : 1),\n marginRight: spacing(direction === 'rtl' ? 1 : -1),\n }),\n }),\n }),\n { name: 'SidebarTrigger' }\n );\n\n const SidebarTrigger = ({\n children,\n sidebarId,\n onClick,\n SvgIconProps,\n ...props\n }: IconButtonProps & CtaProps) => {\n const { id, anchor, hiddenStyles, state, setOpen } = useSidebarTrigger(\n sidebarId,\n 'SidebarTrigger'\n );\n const theme = useTheme()\n const classes = useStyles({ ...props, anchor });\n const getArrow = () => {\n if (!state) return null;\n if (!state.open) return ;\n if (theme.direction === 'rtl' && anchor === 'left') return ;\n if (theme.direction === 'rtl' && anchor === 'right') return ;\n if (anchor === 'left') return ;\n if (anchor === 'right') return ;\n return null;\n };\n return (\n ) => {\n if (typeof onClick === 'function') onClick(e);\n setOpen(id, !state.open);\n }}\n >\n {typeof children === 'function'\n ? children({ anchor, ...state })\n : getArrow()}\n \n );\n };\n return SidebarTrigger;\n};\n","import {\n EdgeSidebarData,\n HeaderConfig,\n HeaderConfigMap,\n InsetSidebarData,\n ResultStyle,\n SubheaderData,\n} from '../types';\nimport { combineBreakpoints, pickNearestBreakpoint } from '../utils';\n\nexport default (\n sidebar:\n | Pick\n | Pick,\n header: HeaderConfigMap,\n subheader: SubheaderData\n) => {\n return {\n getResultStyle: (\n sidebarId: string,\n predicate: (\n sidebarConfig: T,\n headerConfig: HeaderConfig,\n subheaderConfigs: HeaderConfig[]\n ) => boolean,\n getHeight: (headerConfigs: HeaderConfig[]) => string | number\n ) => {\n const result: ResultStyle = {};\n let found: boolean = false;\n const configMap = sidebar.configMapById[sidebarId];\n if (configMap) {\n const breakpoints = combineBreakpoints(\n configMap,\n header,\n subheader.configMap\n );\n breakpoints.forEach(bp => {\n const sidebarConfig = pickNearestBreakpoint(configMap as any, bp);\n const headerConfig = pickNearestBreakpoint(header, bp);\n const subheaderConfigs = Object.keys(subheader.configMapById)\n .map(subheaderId => {\n return pickNearestBreakpoint(\n subheader.configMapById[subheaderId],\n bp\n );\n })\n .filter(c => !!c && !c.hidden);\n if (sidebarConfig) {\n if (predicate(sidebarConfig, headerConfig, subheaderConfigs)) {\n found = true;\n result[bp] = {\n height: getHeight([headerConfig, ...subheaderConfigs]),\n };\n } else if (found) {\n found = false;\n result[bp] = {\n height: 0,\n };\n }\n }\n });\n }\n return result;\n },\n };\n};\n","import {\n EdgeSidebarConfig,\n EdgeSidebarData,\n HeaderConfigMap,\n SubheaderData,\n} from '../types';\nimport { isCollapsibleSidebarConfig } from '../utils/sidebarChecker';\nimport MultiHeadersEffect from '../effects/MultiHeaders';\nimport OffsetCompiler from './OffsetCompiler';\n\nexport default (\n edgeSidebar: Pick,\n header: HeaderConfigMap,\n subheader: SubheaderData\n) => {\n return {\n getResultStyle: (sidebarId: string) =>\n OffsetCompiler(edgeSidebar, header, subheader).getResultStyle<\n EdgeSidebarConfig\n >(\n sidebarId,\n (sidebarConfig, headerConfig, subheaderConfigs) => {\n return (\n headerConfig &&\n MultiHeadersEffect([\n headerConfig,\n ...subheaderConfigs,\n ]).getSidebarInteraction(sidebarId).isClipped &&\n isCollapsibleSidebarConfig(sidebarConfig)\n );\n },\n headerConfigs =>\n MultiHeadersEffect(headerConfigs).getSidebarInteraction(sidebarId)\n .clippedHeight\n ),\n };\n};\n","import { Theme } from \"@material-ui/core/styles\"\n\nexport default ({ transitions }: Theme) => ({\n root: {\n transition: transitions.create(['all'], {\n easing: transitions.easing.easeOut,\n duration: transitions.duration.leavingScreen,\n }),\n transitionProperty: 'all !important',\n },\n smooth: {\n transition: transitions.create(['all'], {\n easing: transitions.easing.sharp,\n duration: transitions.duration.short,\n }),\n },\n});\n","import React from 'react';\nimport cx from 'clsx';\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\nimport { useLayoutCtx } from '../../contexts';\nimport EdgeHeaderOffsetCompiler from '../../compilers/EdgeHeaderOffsetCompiler';\nimport { useEdgeHeaderMagnet } from '../../hooks';\nimport { generateStyledProxyCreator } from '../Shared/StyledProxy';\nimport { transitionStyles } from '../../styles';\nimport { createBreakpointStyles } from '../../utils';\n\nexport default (styled: any) => {\n const styledProxy = generateStyledProxyCreator(styled);\n const Div = styledProxy('div');\n\n const useTransitionStyles = makeStyles(transitionStyles);\n\n const EdgeHeaderOffset = ({ sidebarId }: { sidebarId: string }) => {\n const theme = useTheme();\n const transition = useTransitionStyles();\n const { data } = useLayoutCtx();\n const compiler = EdgeHeaderOffsetCompiler(\n data.edgeSidebar,\n data.header,\n data.subheader\n );\n const styles = createBreakpointStyles(\n compiler.getResultStyle(sidebarId),\n theme\n );\n const inlineStyle = useEdgeHeaderMagnet(sidebarId);\n return (\n \n );\n };\n return EdgeHeaderOffset;\n};\n","import React from 'react';\nimport Drawer, { DrawerProps } from '@material-ui/core/Drawer';\nimport SwipeableDrawer, {\n SwipeableDrawerProps,\n} from '@material-ui/core/SwipeableDrawer';\nimport { SidebarVariant } from '../../types';\nimport { upperFirst } from '../../utils';\nimport createHiddenProxyComponent, { HiddenProxyProps } from './StyledProxy';\n\nexport const CLS = 'MuiTreasury-paper';\n\nexport const StyledProxyDrawer = createHiddenProxyComponent(Drawer, CLS);\nexport const StyledProxySwipeableDrawer = createHiddenProxyComponent<\n SwipeableDrawerProps\n>(SwipeableDrawer, CLS);\n\nexport type StyledProxyDrawerProps = DrawerProps & HiddenProxyProps;\nexport type StyledProxySwipeableDrawerProps = SwipeableDrawerProps &\n HiddenProxyProps;\n\nexport const createDrawerVariant = (\n variant: SidebarVariant,\n StyledComponent = StyledProxyDrawer\n) => {\n const Sidebar: React.FC = ({\n PaperProps = {},\n ...props\n }) => (\n \n );\n\n Sidebar.displayName = `${upperFirst(variant)}DrawerSidebar`;\n return Sidebar;\n};\n\nexport const createSwipeableVariant = (\n variant: SidebarVariant,\n StyledComponent = StyledProxySwipeableDrawer\n) => {\n const Sidebar: React.FC = ({\n PaperProps = {},\n ...props\n }) => (\n \n );\n\n Sidebar.displayName = `${upperFirst(variant)}SwipeableSidebar`;\n return Sidebar;\n};\n","import React from 'react';\nimport cx from 'clsx';\nimport { makeStyles } from '@material-ui/core/styles';\nimport useTheme from '@material-ui/core/styles/useTheme';\nimport { DrawerProps } from '@material-ui/core/Drawer';\nimport { SidebarProvider, SidebarConsumer, useWindowCtx } from '../../contexts';\nimport {\n useSidebar,\n useBreakpointConfig,\n useSidebarAutoCollapse,\n} from '../../hooks';\nimport getEdgeHeaderOffset from '../EdgeHeaderOffset';\nimport { CLS, createDrawerVariant } from '../Shared/SharedSidebar';\nimport { generateStyledProxyCreator } from '../Shared/StyledProxy';\nimport { get, createBreakpointStyles, createHiddenStyles } from '../../utils';\nimport { transitionStyles } from '../../styles';\nimport { EdgeSidebarConfig } from '../../types';\nimport Drawer from '@material-ui/core/Drawer/Drawer';\n\nexport default (styled: any) => {\n const styledProxy = generateStyledProxyCreator(styled);\n const StyledDrawer = styledProxy(Drawer, CLS);\n const EdgeHeaderOffset = getEdgeHeaderOffset(styled);\n\n const TemporaryDrawer = createDrawerVariant('temporary', StyledDrawer);\n const PermanentDrawer = createDrawerVariant('permanent', StyledDrawer);\n const PersistentDrawer = createDrawerVariant('persistent', StyledDrawer);\n\n const useTransitionStyles = makeStyles(transitionStyles);\n\n const DrawerSidebar = ({\n sidebarId,\n onClose,\n children,\n PaperProps,\n ModalProps,\n SlideProps,\n ...props\n }: Omit & {\n sidebarId: string;\n }) => {\n useSidebarAutoCollapse(sidebarId);\n const { iDocument } = useWindowCtx();\n const transition = useTransitionStyles();\n const theme = useTheme();\n const { breakpoints } = theme;\n const {\n anchor,\n edgeSidebar,\n styles: { permanent, persistent, temporary },\n state,\n setOpen,\n } = useSidebar(sidebarId, 'DrawerSidebar');\n const wrappedOnClose: DrawerProps['onClose'] = (...args) => {\n if (typeof onClose === 'function') onClose(...args);\n setOpen(sidebarId, false);\n };\n const config = useBreakpointConfig(\n edgeSidebar.configMapById[sidebarId]\n );\n\n const headerAdjustment = ;\n\n return (\n \n \n {({\n entered,\n inlineStyle,\n wrapOnEntered,\n wrapOnExit,\n wrapOnMouseEnter,\n wrapOnMouseLeave,\n }) => {\n const commonProps = {\n ...props,\n PaperProps: {\n ...PaperProps,\n style: {\n ...get(PaperProps, 'style'),\n ...inlineStyle,\n },\n className: cx(\n (entered || get(config, 'variant') === 'permanent') &&\n transition.root,\n get(PaperProps, 'className')\n ),\n onMouseEnter: wrapOnMouseEnter(PaperProps),\n onMouseLeave: wrapOnMouseLeave(PaperProps),\n },\n ModalProps: {\n container: iDocument ? iDocument.body : undefined,\n ...ModalProps,\n },\n SlideProps: {\n ...SlideProps,\n onEntered: wrapOnEntered(SlideProps),\n onExit: wrapOnExit(SlideProps),\n },\n anchor,\n open: state.open,\n onClose: wrappedOnClose,\n };\n return (\n <>\n \n {children}\n \n \n {headerAdjustment}\n {children}\n \n \n {headerAdjustment}\n {children}\n \n \n );\n }}\n \n \n );\n };\n\n return DrawerSidebar;\n};\n","/* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */\nimport * as React from 'react';\nexport default function useControlled(_ref) {\n var controlled = _ref.controlled,\n defaultProp = _ref.default,\n name = _ref.name,\n _ref$state = _ref.state,\n state = _ref$state === void 0 ? 'value' : _ref$state;\n\n var _React$useRef = React.useRef(controlled !== undefined),\n isControlled = _React$useRef.current;\n\n var _React$useState = React.useState(defaultProp),\n valueState = _React$useState[0],\n setValue = _React$useState[1];\n\n var value = isControlled ? controlled : valueState;\n\n if (process.env.NODE_ENV !== 'production') {\n React.useEffect(function () {\n if (isControlled !== (controlled !== undefined)) {\n console.error([\"Material-UI: A component is changing the \".concat(isControlled ? '' : 'un', \"controlled \").concat(state, \" state of \").concat(name, \" to be \").concat(isControlled ? 'un' : '', \"controlled.\"), 'Elements should not switch from uncontrolled to controlled (or vice versa).', \"Decide between using a controlled or uncontrolled \".concat(name, \" \") + 'element for the lifetime of the component.', \"The nature of the state is determined during the first render, it's considered controlled if the value is not `undefined`.\", 'More info: https://fb.me/react-controlled-components'].join('\\n'));\n }\n }, [controlled]);\n\n var _React$useRef2 = React.useRef(defaultProp),\n defaultValue = _React$useRef2.current;\n\n React.useEffect(function () {\n if (!isControlled && defaultValue !== defaultProp) {\n console.error([\"Material-UI: A component is changing the default \".concat(state, \" state of an uncontrolled \").concat(name, \" after being initialized. \") + \"To suppress this warning opt to use a controlled \".concat(name, \".\")].join('\\n'));\n }\n }, [JSON.stringify(defaultProp)]);\n }\n\n var setValueIfUncontrolled = React.useCallback(function (newValue) {\n if (!isControlled) {\n setValue(newValue);\n }\n }, []);\n return [value, setValueIfUncontrolled];\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","import { Effect } from \"../../Materials/effect\";\n\nlet name = 'morphTargetsVertex';\nlet shader = `#ifdef MORPHTARGETS\npositionUpdated+=(position{X}-position)*morphTargetInfluences[{X}];\n#ifdef MORPHTARGETS_NORMAL\nnormalUpdated+=(normal{X}-normal)*morphTargetInfluences[{X}];\n#endif\n#ifdef MORPHTARGETS_TANGENT\ntangentUpdated.xyz+=(tangent{X}-tangent.xyz)*morphTargetInfluences[{X}];\n#endif\n#ifdef MORPHTARGETS_UV\nuvUpdated+=(uv_{X}-uv)*morphTargetInfluences[{X}];\n#endif\n#endif`;\n\nEffect.IncludesShadersStore[name] = shader;\n/** @hidden */\nexport var morphTargetsVertex = { name, shader };\n","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\n}","// based on https://github.com/WICG/focus-visible/blob/v4.1.5/src/focus-visible.js\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nvar hadKeyboardEvent = true;\nvar hadFocusVisibleRecently = false;\nvar hadFocusVisibleRecentlyTimeout = null;\nvar inputTypesWhitelist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n};\n/**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} node\n * @return {boolean}\n */\n\nfunction focusTriggersKeyboardModality(node) {\n var type = node.type,\n tagName = node.tagName;\n\n if (tagName === 'INPUT' && inputTypesWhitelist[type] && !node.readOnly) {\n return true;\n }\n\n if (tagName === 'TEXTAREA' && !node.readOnly) {\n return true;\n }\n\n if (node.isContentEditable) {\n return true;\n }\n\n return false;\n}\n/**\n * Keep track of our keyboard modality state with `hadKeyboardEvent`.\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * @param {KeyboardEvent} event\n */\n\n\nfunction handleKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n\n hadKeyboardEvent = true;\n}\n/**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n */\n\n\nfunction handlePointerDown() {\n hadKeyboardEvent = false;\n}\n\nfunction handleVisibilityChange() {\n if (this.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n }\n}\n\nfunction prepare(doc) {\n doc.addEventListener('keydown', handleKeyDown, true);\n doc.addEventListener('mousedown', handlePointerDown, true);\n doc.addEventListener('pointerdown', handlePointerDown, true);\n doc.addEventListener('touchstart', handlePointerDown, true);\n doc.addEventListener('visibilitychange', handleVisibilityChange, true);\n}\n\nexport function teardown(doc) {\n doc.removeEventListener('keydown', handleKeyDown, true);\n doc.removeEventListener('mousedown', handlePointerDown, true);\n doc.removeEventListener('pointerdown', handlePointerDown, true);\n doc.removeEventListener('touchstart', handlePointerDown, true);\n doc.removeEventListener('visibilitychange', handleVisibilityChange, true);\n}\n\nfunction isFocusVisible(event) {\n var target = event.target;\n\n try {\n return target.matches(':focus-visible');\n } catch (error) {} // browsers not implementing :focus-visible will throw a SyntaxError\n // we use our own heuristic for those browsers\n // rethrow might be better if it's not the expected error but do we really\n // want to crash if focus-visible malfunctioned?\n // no need for validFocusTarget check. the user does that by attaching it to\n // focusable events only\n\n\n return hadKeyboardEvent || focusTriggersKeyboardModality(target);\n}\n/**\n * Should be called if a blur event is fired on a focus-visible element\n */\n\n\nfunction handleBlurVisible() {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function () {\n hadFocusVisibleRecently = false;\n }, 100);\n}\n\nexport default function useIsFocusVisible() {\n var ref = React.useCallback(function (instance) {\n var node = ReactDOM.findDOMNode(instance);\n\n if (node != null) {\n prepare(node.ownerDocument);\n }\n }, []);\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(isFocusVisible);\n }\n\n return {\n isFocusVisible: isFocusVisible,\n onBlurVisible: handleBlurVisible,\n ref: ref\n };\n}","import { FloatArray, Nullable, IndicesArray } from '../types';\r\nimport { Vector2, Vector3 } from './math.vector';\r\n\r\n/**\r\n * Extracts minimum and maximum values from a list of indexed positions\r\n * @param positions defines the positions to use\r\n * @param indices defines the indices to the positions\r\n * @param indexStart defines the start index\r\n * @param indexCount defines the end index\r\n * @param bias defines bias value to add to the result\r\n * @return minimum and maximum values\r\n */\r\nexport function extractMinAndMaxIndexed(positions: FloatArray, indices: IndicesArray, indexStart: number, indexCount: number, bias: Nullable = null): { minimum: Vector3; maximum: Vector3 } {\r\n var minimum = new Vector3(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE);\r\n var maximum = new Vector3(-Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE);\r\n\r\n for (var index = indexStart; index < indexStart + indexCount; index++) {\r\n const offset = indices[index] * 3;\r\n const x = positions[offset];\r\n const y = positions[offset + 1];\r\n const z = positions[offset + 2];\r\n minimum.minimizeInPlaceFromFloats(x, y, z);\r\n maximum.maximizeInPlaceFromFloats(x, y, z);\r\n }\r\n\r\n if (bias) {\r\n minimum.x -= minimum.x * bias.x + bias.y;\r\n minimum.y -= minimum.y * bias.x + bias.y;\r\n minimum.z -= minimum.z * bias.x + bias.y;\r\n maximum.x += maximum.x * bias.x + bias.y;\r\n maximum.y += maximum.y * bias.x + bias.y;\r\n maximum.z += maximum.z * bias.x + bias.y;\r\n }\r\n\r\n return {\r\n minimum: minimum,\r\n maximum: maximum\r\n };\r\n}\r\n\r\n/**\r\n * Extracts minimum and maximum values from a list of positions\r\n * @param positions defines the positions to use\r\n * @param start defines the start index in the positions array\r\n * @param count defines the number of positions to handle\r\n * @param bias defines bias value to add to the result\r\n * @param stride defines the stride size to use (distance between two positions in the positions array)\r\n * @return minimum and maximum values\r\n */\r\nexport function extractMinAndMax(positions: FloatArray, start: number, count: number, bias: Nullable = null, stride?: number): { minimum: Vector3; maximum: Vector3 } {\r\n var minimum = new Vector3(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE);\r\n var maximum = new Vector3(-Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE);\r\n\r\n if (!stride) {\r\n stride = 3;\r\n }\r\n\r\n for (var index = start, offset = start * stride; index < start + count; index++ , offset += stride) {\r\n const x = positions[offset];\r\n const y = positions[offset + 1];\r\n const z = positions[offset + 2];\r\n minimum.minimizeInPlaceFromFloats(x, y, z);\r\n maximum.maximizeInPlaceFromFloats(x, y, z);\r\n }\r\n\r\n if (bias) {\r\n minimum.x -= minimum.x * bias.x + bias.y;\r\n minimum.y -= minimum.y * bias.x + bias.y;\r\n minimum.z -= minimum.z * bias.x + bias.y;\r\n maximum.x += maximum.x * bias.x + bias.y;\r\n maximum.y += maximum.y * bias.x + bias.y;\r\n maximum.z += maximum.z * bias.x + bias.y;\r\n }\r\n\r\n return {\r\n minimum: minimum,\r\n maximum: maximum\r\n };\r\n}\r\n","import { Vector3 } from \"../../Maths/math.vector\";\r\nimport { Scalar } from \"../../Maths/math.scalar\";\r\nimport { SphericalPolynomial, SphericalHarmonics } from \"../../Maths/sphericalPolynomial\";\r\nimport { BaseTexture } from \"../../Materials/Textures/baseTexture\";\r\nimport { Nullable } from \"../../types\";\r\n\r\nimport { CubeMapInfo } from \"./panoramaToCubemap\";\r\nimport { ToLinearSpace } from '../../Maths/math.constants';\r\nimport { Color3 } from '../../Maths/math.color';\r\n\r\nclass FileFaceOrientation {\r\n public name: string;\r\n public worldAxisForNormal: Vector3; // the world axis corresponding to the normal to the face\r\n public worldAxisForFileX: Vector3; // the world axis corresponding to texture right x-axis in file\r\n public worldAxisForFileY: Vector3; // the world axis corresponding to texture down y-axis in file\r\n\r\n public constructor(name: string, worldAxisForNormal: Vector3, worldAxisForFileX: Vector3, worldAxisForFileY: Vector3) {\r\n this.name = name;\r\n this.worldAxisForNormal = worldAxisForNormal;\r\n this.worldAxisForFileX = worldAxisForFileX;\r\n this.worldAxisForFileY = worldAxisForFileY;\r\n }\r\n}\r\n\r\n/**\r\n * Helper class dealing with the extraction of spherical polynomial dataArray\r\n * from a cube map.\r\n */\r\nexport class CubeMapToSphericalPolynomialTools {\r\n\r\n private static FileFaces: FileFaceOrientation[] = [\r\n new FileFaceOrientation(\"right\", new Vector3(1, 0, 0), new Vector3(0, 0, -1), new Vector3(0, -1, 0)), // +X east\r\n new FileFaceOrientation(\"left\", new Vector3(-1, 0, 0), new Vector3(0, 0, 1), new Vector3(0, -1, 0)), // -X west\r\n new FileFaceOrientation(\"up\", new Vector3(0, 1, 0), new Vector3(1, 0, 0), new Vector3(0, 0, 1)), // +Y north\r\n new FileFaceOrientation(\"down\", new Vector3(0, -1, 0), new Vector3(1, 0, 0), new Vector3(0, 0, -1)), // -Y south\r\n new FileFaceOrientation(\"front\", new Vector3(0, 0, 1), new Vector3(1, 0, 0), new Vector3(0, -1, 0)), // +Z top\r\n new FileFaceOrientation(\"back\", new Vector3(0, 0, -1), new Vector3(-1, 0, 0), new Vector3(0, -1, 0))// -Z bottom\r\n ];\r\n\r\n /**\r\n * Converts a texture to the according Spherical Polynomial data.\r\n * This extracts the first 3 orders only as they are the only one used in the lighting.\r\n *\r\n * @param texture The texture to extract the information from.\r\n * @return The Spherical Polynomial data.\r\n */\r\n public static ConvertCubeMapTextureToSphericalPolynomial(texture: BaseTexture) {\r\n if (!texture.isCube) {\r\n // Only supports cube Textures currently.\r\n return null;\r\n }\r\n\r\n var size = texture.getSize().width;\r\n var right = texture.readPixels(0);\r\n var left = texture.readPixels(1);\r\n\r\n var up: Nullable;\r\n var down: Nullable;\r\n if (texture.isRenderTarget) {\r\n up = texture.readPixels(3);\r\n down = texture.readPixels(2);\r\n }\r\n else {\r\n up = texture.readPixels(2);\r\n down = texture.readPixels(3);\r\n }\r\n\r\n var front = texture.readPixels(4);\r\n var back = texture.readPixels(5);\r\n\r\n var gammaSpace = texture.gammaSpace;\r\n // Always read as RGBA.\r\n var format = 5;\r\n var type = 0;\r\n if (texture.textureType == 1 || texture.textureType == 2) {\r\n type = 1;\r\n }\r\n\r\n var cubeInfo: CubeMapInfo = {\r\n size,\r\n right,\r\n left,\r\n up,\r\n down,\r\n front,\r\n back,\r\n format,\r\n type,\r\n gammaSpace,\r\n };\r\n\r\n return this.ConvertCubeMapToSphericalPolynomial(cubeInfo);\r\n }\r\n\r\n /**\r\n * Converts a cubemap to the according Spherical Polynomial data.\r\n * This extracts the first 3 orders only as they are the only one used in the lighting.\r\n *\r\n * @param cubeInfo The Cube map to extract the information from.\r\n * @return The Spherical Polynomial data.\r\n */\r\n public static ConvertCubeMapToSphericalPolynomial(cubeInfo: CubeMapInfo): SphericalPolynomial {\r\n var sphericalHarmonics = new SphericalHarmonics();\r\n var totalSolidAngle = 0.0;\r\n\r\n // The (u,v) range is [-1,+1], so the distance between each texel is 2/Size.\r\n var du = 2.0 / cubeInfo.size;\r\n var dv = du;\r\n\r\n // The (u,v) of the first texel is half a texel from the corner (-1,-1).\r\n var minUV = du * 0.5 - 1.0;\r\n\r\n for (var faceIndex = 0; faceIndex < 6; faceIndex++) {\r\n var fileFace = this.FileFaces[faceIndex];\r\n var dataArray = (cubeInfo)[fileFace.name];\r\n var v = minUV;\r\n\r\n // TODO: we could perform the summation directly into a SphericalPolynomial (SP), which is more efficient than SphericalHarmonic (SH).\r\n // This is possible because during the summation we do not need the SH-specific properties, e.g. orthogonality.\r\n // Because SP is still linear, so summation is fine in that basis.\r\n const stride = cubeInfo.format === 5 ? 4 : 3;\r\n for (var y = 0; y < cubeInfo.size; y++) {\r\n var u = minUV;\r\n\r\n for (var x = 0; x < cubeInfo.size; x++) {\r\n // World direction (not normalised)\r\n var worldDirection =\r\n fileFace.worldAxisForFileX.scale(u).add(\r\n fileFace.worldAxisForFileY.scale(v)).add(\r\n fileFace.worldAxisForNormal);\r\n worldDirection.normalize();\r\n\r\n var deltaSolidAngle = Math.pow(1.0 + u * u + v * v, -3.0 / 2.0);\r\n\r\n var r = dataArray[(y * cubeInfo.size * stride) + (x * stride) + 0];\r\n var g = dataArray[(y * cubeInfo.size * stride) + (x * stride) + 1];\r\n var b = dataArray[(y * cubeInfo.size * stride) + (x * stride) + 2];\r\n\r\n // Prevent NaN harmonics with extreme HDRI data.\r\n if (isNaN(r)) { r = 0; }\r\n if (isNaN(g)) { g = 0; }\r\n if (isNaN(b)) { b = 0; }\r\n\r\n // Handle Integer types.\r\n if (cubeInfo.type === 0) {\r\n r /= 255;\r\n g /= 255;\r\n b /= 255;\r\n }\r\n\r\n // Handle Gamma space textures.\r\n if (cubeInfo.gammaSpace) {\r\n r = Math.pow(Scalar.Clamp(r), ToLinearSpace);\r\n g = Math.pow(Scalar.Clamp(g), ToLinearSpace);\r\n b = Math.pow(Scalar.Clamp(b), ToLinearSpace);\r\n }\r\n\r\n // Prevent to explode in case of really high dynamic ranges.\r\n // sh 3 would not be enough to accurately represent it.\r\n const max = 4096;\r\n r = Scalar.Clamp(r, 0, max);\r\n g = Scalar.Clamp(g, 0, max);\r\n b = Scalar.Clamp(b, 0, max);\r\n\r\n var color = new Color3(r, g, b);\r\n\r\n sphericalHarmonics.addLight(worldDirection, color, deltaSolidAngle);\r\n\r\n totalSolidAngle += deltaSolidAngle;\r\n\r\n u += du;\r\n }\r\n\r\n v += dv;\r\n }\r\n }\r\n\r\n // Solid angle for entire sphere is 4*pi\r\n var sphereSolidAngle = 4.0 * Math.PI;\r\n\r\n // Adjust the solid angle to allow for how many faces we processed.\r\n var facesProcessed = 6.0;\r\n var expectedSolidAngle = sphereSolidAngle * facesProcessed / 6.0;\r\n\r\n // Adjust the harmonics so that the accumulated solid angle matches the expected solid angle.\r\n // This is needed because the numerical integration over the cube uses a\r\n // small angle approximation of solid angle for each texel (see deltaSolidAngle),\r\n // and also to compensate for accumulative error due to float precision in the summation.\r\n var correctionFactor = expectedSolidAngle / totalSolidAngle;\r\n sphericalHarmonics.scaleInPlace(correctionFactor);\r\n\r\n sphericalHarmonics.convertIncidentRadianceToIrradiance();\r\n sphericalHarmonics.convertIrradianceToLambertianRadiance();\r\n\r\n return SphericalPolynomial.FromHarmonics(sphericalHarmonics);\r\n }\r\n}\r\n","import { serialize, serializeAsVector3 } from \"../Misc/decorators\";\r\nimport { Camera } from \"../Cameras/camera\";\r\nimport { Scene } from \"../scene\";\r\nimport { Matrix, Vector3 } from \"../Maths/math.vector\";\r\nimport { AbstractMesh } from \"../Meshes/abstractMesh\";\r\nimport { Light } from \"./light\";\r\nimport { Axis } from '../Maths/math.axis';\r\n/**\r\n * Interface describing all the common properties and methods a shadow light needs to implement.\r\n * This helps both the shadow generator and materials to genrate the corresponding shadow maps\r\n * as well as binding the different shadow properties to the effects.\r\n */\r\nexport interface IShadowLight extends Light {\r\n /**\r\n * The light id in the scene (used in scene.findLighById for instance)\r\n */\r\n id: string;\r\n /**\r\n * The position the shdow will be casted from.\r\n */\r\n position: Vector3;\r\n /**\r\n * In 2d mode (needCube being false), the direction used to cast the shadow.\r\n */\r\n direction: Vector3;\r\n /**\r\n * The transformed position. Position of the light in world space taking parenting in account.\r\n */\r\n transformedPosition: Vector3;\r\n /**\r\n * The transformed direction. Direction of the light in world space taking parenting in account.\r\n */\r\n transformedDirection: Vector3;\r\n /**\r\n * The friendly name of the light in the scene.\r\n */\r\n name: string;\r\n /**\r\n * Defines the shadow projection clipping minimum z value.\r\n */\r\n shadowMinZ: number;\r\n /**\r\n * Defines the shadow projection clipping maximum z value.\r\n */\r\n shadowMaxZ: number;\r\n\r\n /**\r\n * Computes the transformed information (transformedPosition and transformedDirection in World space) of the current light\r\n * @returns true if the information has been computed, false if it does not need to (no parenting)\r\n */\r\n computeTransformedInformation(): boolean;\r\n\r\n /**\r\n * Gets the scene the light belongs to.\r\n * @returns The scene\r\n */\r\n getScene(): Scene;\r\n\r\n /**\r\n * Callback defining a custom Projection Matrix Builder.\r\n * This can be used to override the default projection matrix computation.\r\n */\r\n customProjectionMatrixBuilder: (viewMatrix: Matrix, renderList: Array, result: Matrix) => void;\r\n\r\n /**\r\n * Sets the shadow projection matrix in parameter to the generated projection matrix.\r\n * @param matrix The materix to updated with the projection information\r\n * @param viewMatrix The transform matrix of the light\r\n * @param renderList The list of mesh to render in the map\r\n * @returns The current light\r\n */\r\n setShadowProjectionMatrix(matrix: Matrix, viewMatrix: Matrix, renderList: Array): IShadowLight;\r\n\r\n /**\r\n * Gets the current depth scale used in ESM.\r\n * @returns The scale\r\n */\r\n getDepthScale(): number;\r\n\r\n /**\r\n * Returns whether or not the shadow generation require a cube texture or a 2d texture.\r\n * @returns true if a cube texture needs to be use\r\n */\r\n needCube(): boolean;\r\n\r\n /**\r\n * Detects if the projection matrix requires to be recomputed this frame.\r\n * @returns true if it requires to be recomputed otherwise, false.\r\n */\r\n needProjectionMatrixCompute(): boolean;\r\n\r\n /**\r\n * Forces the shadow generator to recompute the projection matrix even if position and direction did not changed.\r\n */\r\n forceProjectionMatrixCompute(): void;\r\n\r\n /**\r\n * Get the direction to use to render the shadow map. In case of cube texture, the face index can be passed.\r\n * @param faceIndex The index of the face we are computed the direction to generate shadow\r\n * @returns The set direction in 2d mode otherwise the direction to the cubemap face if needCube() is true\r\n */\r\n getShadowDirection(faceIndex?: number): Vector3;\r\n\r\n /**\r\n * Gets the minZ used for shadow according to both the scene and the light.\r\n * @param activeCamera The camera we are returning the min for\r\n * @returns the depth min z\r\n */\r\n getDepthMinZ(activeCamera: Camera): number;\r\n\r\n /**\r\n * Gets the maxZ used for shadow according to both the scene and the light.\r\n * @param activeCamera The camera we are returning the max for\r\n * @returns the depth max z\r\n */\r\n getDepthMaxZ(activeCamera: Camera): number;\r\n}\r\n\r\n/**\r\n * Base implementation IShadowLight\r\n * It groups all the common behaviour in order to reduce dupplication and better follow the DRY pattern.\r\n */\r\nexport abstract class ShadowLight extends Light implements IShadowLight {\r\n\r\n protected abstract _setDefaultShadowProjectionMatrix(matrix: Matrix, viewMatrix: Matrix, renderList: Array): void;\r\n\r\n protected _position: Vector3;\r\n protected _setPosition(value: Vector3) {\r\n this._position = value;\r\n }\r\n /**\r\n * Sets the position the shadow will be casted from. Also use as the light position for both\r\n * point and spot lights.\r\n */\r\n @serializeAsVector3()\r\n public get position(): Vector3 {\r\n return this._position;\r\n }\r\n /**\r\n * Sets the position the shadow will be casted from. Also use as the light position for both\r\n * point and spot lights.\r\n */\r\n public set position(value: Vector3) {\r\n this._setPosition(value);\r\n }\r\n\r\n protected _direction: Vector3;\r\n protected _setDirection(value: Vector3) {\r\n this._direction = value;\r\n }\r\n /**\r\n * In 2d mode (needCube being false), gets the direction used to cast the shadow.\r\n * Also use as the light direction on spot and directional lights.\r\n */\r\n @serializeAsVector3()\r\n public get direction(): Vector3 {\r\n return this._direction;\r\n }\r\n /**\r\n * In 2d mode (needCube being false), sets the direction used to cast the shadow.\r\n * Also use as the light direction on spot and directional lights.\r\n */\r\n public set direction(value: Vector3) {\r\n this._setDirection(value);\r\n }\r\n\r\n protected _shadowMinZ: number;\r\n /**\r\n * Gets the shadow projection clipping minimum z value.\r\n */\r\n @serialize()\r\n public get shadowMinZ(): number {\r\n return this._shadowMinZ;\r\n }\r\n /**\r\n * Sets the shadow projection clipping minimum z value.\r\n */\r\n public set shadowMinZ(value: number) {\r\n this._shadowMinZ = value;\r\n this.forceProjectionMatrixCompute();\r\n }\r\n\r\n protected _shadowMaxZ: number;\r\n /**\r\n * Sets the shadow projection clipping maximum z value.\r\n */\r\n @serialize()\r\n public get shadowMaxZ(): number {\r\n return this._shadowMaxZ;\r\n }\r\n /**\r\n * Gets the shadow projection clipping maximum z value.\r\n */\r\n public set shadowMaxZ(value: number) {\r\n this._shadowMaxZ = value;\r\n this.forceProjectionMatrixCompute();\r\n }\r\n\r\n /**\r\n * Callback defining a custom Projection Matrix Builder.\r\n * This can be used to override the default projection matrix computation.\r\n */\r\n public customProjectionMatrixBuilder: (viewMatrix: Matrix, renderList: Array, result: Matrix) => void;\r\n\r\n /**\r\n * The transformed position. Position of the light in world space taking parenting in account.\r\n */\r\n public transformedPosition: Vector3;\r\n\r\n /**\r\n * The transformed direction. Direction of the light in world space taking parenting in account.\r\n */\r\n public transformedDirection: Vector3;\r\n\r\n private _needProjectionMatrixCompute: boolean = true;\r\n\r\n /**\r\n * Computes the transformed information (transformedPosition and transformedDirection in World space) of the current light\r\n * @returns true if the information has been computed, false if it does not need to (no parenting)\r\n */\r\n public computeTransformedInformation(): boolean {\r\n if (this.parent && this.parent.getWorldMatrix) {\r\n if (!this.transformedPosition) {\r\n this.transformedPosition = Vector3.Zero();\r\n }\r\n Vector3.TransformCoordinatesToRef(this.position, this.parent.getWorldMatrix(), this.transformedPosition);\r\n\r\n // In case the direction is present.\r\n if (this.direction) {\r\n if (!this.transformedDirection) {\r\n this.transformedDirection = Vector3.Zero();\r\n }\r\n Vector3.TransformNormalToRef(this.direction, this.parent.getWorldMatrix(), this.transformedDirection);\r\n }\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * Return the depth scale used for the shadow map.\r\n * @returns the depth scale.\r\n */\r\n public getDepthScale(): number {\r\n return 50.0;\r\n }\r\n\r\n /**\r\n * Get the direction to use to render the shadow map. In case of cube texture, the face index can be passed.\r\n * @param faceIndex The index of the face we are computed the direction to generate shadow\r\n * @returns The set direction in 2d mode otherwise the direction to the cubemap face if needCube() is true\r\n */\r\n public getShadowDirection(faceIndex?: number): Vector3 {\r\n return this.transformedDirection ? this.transformedDirection : this.direction;\r\n }\r\n\r\n /**\r\n * Returns the ShadowLight absolute position in the World.\r\n * @returns the position vector in world space\r\n */\r\n public getAbsolutePosition(): Vector3 {\r\n return this.transformedPosition ? this.transformedPosition : this.position;\r\n }\r\n\r\n /**\r\n * Sets the ShadowLight direction toward the passed target.\r\n * @param target The point to target in local space\r\n * @returns the updated ShadowLight direction\r\n */\r\n public setDirectionToTarget(target: Vector3): Vector3 {\r\n this.direction = Vector3.Normalize(target.subtract(this.position));\r\n return this.direction;\r\n }\r\n\r\n /**\r\n * Returns the light rotation in euler definition.\r\n * @returns the x y z rotation in local space.\r\n */\r\n public getRotation(): Vector3 {\r\n this.direction.normalize();\r\n var xaxis = Vector3.Cross(this.direction, Axis.Y);\r\n var yaxis = Vector3.Cross(xaxis, this.direction);\r\n return Vector3.RotationFromAxis(xaxis, yaxis, this.direction);\r\n }\r\n\r\n /**\r\n * Returns whether or not the shadow generation require a cube texture or a 2d texture.\r\n * @returns true if a cube texture needs to be use\r\n */\r\n public needCube(): boolean {\r\n return false;\r\n }\r\n\r\n /**\r\n * Detects if the projection matrix requires to be recomputed this frame.\r\n * @returns true if it requires to be recomputed otherwise, false.\r\n */\r\n public needProjectionMatrixCompute(): boolean {\r\n return this._needProjectionMatrixCompute;\r\n }\r\n\r\n /**\r\n * Forces the shadow generator to recompute the projection matrix even if position and direction did not changed.\r\n */\r\n public forceProjectionMatrixCompute(): void {\r\n this._needProjectionMatrixCompute = true;\r\n }\r\n\r\n /** @hidden */\r\n public _initCache() {\r\n super._initCache();\r\n\r\n this._cache.position = Vector3.Zero();\r\n }\r\n\r\n /** @hidden */\r\n public _isSynchronized(): boolean {\r\n if (!this._cache.position.equals(this.position)) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Computes the world matrix of the node\r\n * @param force defines if the cache version should be invalidated forcing the world matrix to be created from scratch\r\n * @returns the world matrix\r\n */\r\n public computeWorldMatrix(force?: boolean): Matrix {\r\n if (!force && this.isSynchronized()) {\r\n this._currentRenderId = this.getScene().getRenderId();\r\n return this._worldMatrix;\r\n }\r\n\r\n this._updateCache();\r\n this._cache.position.copyFrom(this.position);\r\n\r\n if (!this._worldMatrix) {\r\n this._worldMatrix = Matrix.Identity();\r\n }\r\n\r\n Matrix.TranslationToRef(this.position.x, this.position.y, this.position.z, this._worldMatrix);\r\n\r\n if (this.parent && this.parent.getWorldMatrix) {\r\n this._worldMatrix.multiplyToRef(this.parent.getWorldMatrix(), this._worldMatrix);\r\n\r\n this._markSyncedWithParent();\r\n }\r\n\r\n // Cache the determinant\r\n this._worldMatrixDeterminantIsDirty = true;\r\n\r\n return this._worldMatrix;\r\n }\r\n\r\n /**\r\n * Gets the minZ used for shadow according to both the scene and the light.\r\n * @param activeCamera The camera we are returning the min for\r\n * @returns the depth min z\r\n */\r\n public getDepthMinZ(activeCamera: Camera): number {\r\n return this.shadowMinZ !== undefined ? this.shadowMinZ : activeCamera.minZ;\r\n }\r\n\r\n /**\r\n * Gets the maxZ used for shadow according to both the scene and the light.\r\n * @param activeCamera The camera we are returning the max for\r\n * @returns the depth max z\r\n */\r\n public getDepthMaxZ(activeCamera: Camera): number {\r\n return this.shadowMaxZ !== undefined ? this.shadowMaxZ : activeCamera.maxZ;\r\n }\r\n\r\n /**\r\n * Sets the shadow projection matrix in parameter to the generated projection matrix.\r\n * @param matrix The materix to updated with the projection information\r\n * @param viewMatrix The transform matrix of the light\r\n * @param renderList The list of mesh to render in the map\r\n * @returns The current light\r\n */\r\n public setShadowProjectionMatrix(matrix: Matrix, viewMatrix: Matrix, renderList: Array): IShadowLight {\r\n if (this.customProjectionMatrixBuilder) {\r\n this.customProjectionMatrixBuilder(viewMatrix, renderList, matrix);\r\n }\r\n else {\r\n this._setDefaultShadowProjectionMatrix(matrix, viewMatrix, renderList);\r\n }\r\n return this;\r\n }\r\n}\r\n","import { BaseTexture } from \"../Materials/Textures/baseTexture\";\r\nimport { Texture } from \"../Materials/Textures/texture\";\r\nimport { Scene } from \"../scene\";\r\nimport { RGBDTextureTools } from \"./rgbdTextureTools\";\r\n\r\n/**\r\n * Class used to host texture specific utilities\r\n */\r\nexport class BRDFTextureTools {\r\n /**\r\n * Prevents texture cache collision\r\n */\r\n private static _instanceNumber = 0;\r\n\r\n /**\r\n * Gets a default environment BRDF for MS-BRDF Height Correlated BRDF\r\n * @param scene defines the hosting scene\r\n * @returns the environment BRDF texture\r\n */\r\n public static GetEnvironmentBRDFTexture(scene: Scene): BaseTexture {\r\n if (!scene.environmentBRDFTexture) {\r\n // Forces Delayed Texture Loading to prevent undefined error whilst setting RGBD values.\r\n var useDelayedTextureLoading = scene.useDelayedTextureLoading;\r\n scene.useDelayedTextureLoading = false;\r\n\r\n const previousState = scene._blockEntityCollection;\r\n scene._blockEntityCollection = false;\r\n var texture = Texture.CreateFromBase64String(this._environmentBRDFBase64Texture, \"EnvironmentBRDFTexture\" + this._instanceNumber++, scene, true, false, Texture.BILINEAR_SAMPLINGMODE);\r\n scene._blockEntityCollection = previousState;\r\n // BRDF Texture should not be cached here due to pre processing and redundant scene caches.\r\n var texturesCache = scene.getEngine().getLoadedTexturesCache();\r\n var index = texturesCache.indexOf(texture.getInternalTexture()!);\r\n if (index !== -1) {\r\n texturesCache.splice(index, 1);\r\n }\r\n\r\n texture.isRGBD = true;\r\n texture.wrapU = Texture.CLAMP_ADDRESSMODE;\r\n texture.wrapV = Texture.CLAMP_ADDRESSMODE;\r\n scene.environmentBRDFTexture = texture;\r\n\r\n scene.useDelayedTextureLoading = useDelayedTextureLoading;\r\n\r\n RGBDTextureTools.ExpandRGBDTexture(texture);\r\n }\r\n\r\n return scene.environmentBRDFTexture;\r\n }\r\n\r\n private static _environmentBRDFBase64Texture = \"data:image/png;base64,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\";\r\n}\r\n","import createMuiTheme from './createMuiTheme';\nvar defaultTheme = createMuiTheme();\nexport default defaultTheme;","import ownerDocument from './ownerDocument';\nexport default function ownerWindow(node) {\n var doc = ownerDocument(node);\n return doc.defaultView || window;\n}","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","/**\r\n * Represents the range of an animation\r\n */\r\nexport class AnimationRange {\r\n /**\r\n * Initializes the range of an animation\r\n * @param name The name of the animation range\r\n * @param from The starting frame of the animation\r\n * @param to The ending frame of the animation\r\n */\r\n constructor(\r\n /**The name of the animation range**/\r\n public name: string,\r\n /**The starting frame of the animation */\r\n public from: number,\r\n /**The ending frame of the animation*/\r\n public to: number) {\r\n }\r\n\r\n /**\r\n * Makes a copy of the animation range\r\n * @returns A copy of the animation range\r\n */\r\n public clone(): AnimationRange {\r\n return new AnimationRange(this.name, this.from, this.to);\r\n }\r\n}","\r\n/**\r\n * Define options used to create a render target texture\r\n */\r\nexport class RenderTargetCreationOptions {\r\n /**\r\n * Specifies is mipmaps must be generated\r\n */\r\n generateMipMaps?: boolean;\r\n /** Specifies whether or not a depth should be allocated in the texture (true by default) */\r\n generateDepthBuffer?: boolean;\r\n /** Specifies whether or not a stencil should be allocated in the texture (false by default)*/\r\n generateStencilBuffer?: boolean;\r\n /** Defines texture type (int by default) */\r\n type?: number;\r\n /** Defines sampling mode (trilinear by default) */\r\n samplingMode?: number;\r\n /** Defines format (RGBA by default) */\r\n format?: number;\r\n}","import { DeepImmutable } from \"../types\";\r\nimport { ArrayTools } from \"../Misc/arrayTools\";\r\nimport { Matrix, Vector3 } from \"../Maths/math.vector\";\r\nimport { BoundingSphere } from \"../Culling/boundingSphere\";\r\n\r\nimport { ICullable } from \"./boundingInfo\";\r\nimport { Epsilon } from '../Maths/math.constants';\r\nimport { Plane } from '../Maths/math.plane';\r\n\r\n/**\r\n * Class used to store bounding box information\r\n */\r\nexport class BoundingBox implements ICullable {\r\n /**\r\n * Gets the 8 vectors representing the bounding box in local space\r\n */\r\n public readonly vectors: Vector3[] = ArrayTools.BuildArray(8, Vector3.Zero);\r\n /**\r\n * Gets the center of the bounding box in local space\r\n */\r\n public readonly center: Vector3 = Vector3.Zero();\r\n /**\r\n * Gets the center of the bounding box in world space\r\n */\r\n public readonly centerWorld: Vector3 = Vector3.Zero();\r\n /**\r\n * Gets the extend size in local space\r\n */\r\n public readonly extendSize: Vector3 = Vector3.Zero();\r\n /**\r\n * Gets the extend size in world space\r\n */\r\n public readonly extendSizeWorld: Vector3 = Vector3.Zero();\r\n /**\r\n * Gets the OBB (object bounding box) directions\r\n */\r\n public readonly directions: Vector3[] = ArrayTools.BuildArray(3, Vector3.Zero);\r\n /**\r\n * Gets the 8 vectors representing the bounding box in world space\r\n */\r\n public readonly vectorsWorld: Vector3[] = ArrayTools.BuildArray(8, Vector3.Zero);\r\n /**\r\n * Gets the minimum vector in world space\r\n */\r\n public readonly minimumWorld: Vector3 = Vector3.Zero();\r\n /**\r\n * Gets the maximum vector in world space\r\n */\r\n public readonly maximumWorld: Vector3 = Vector3.Zero();\r\n /**\r\n * Gets the minimum vector in local space\r\n */\r\n public readonly minimum: Vector3 = Vector3.Zero();\r\n /**\r\n * Gets the maximum vector in local space\r\n */\r\n public readonly maximum: Vector3 = Vector3.Zero();\r\n\r\n private _worldMatrix: DeepImmutable;\r\n private static readonly TmpVector3 = ArrayTools.BuildArray(3, Vector3.Zero);\r\n\r\n /**\r\n * @hidden\r\n */\r\n public _tag: number;\r\n\r\n /**\r\n * Creates a new bounding box\r\n * @param min defines the minimum vector (in local space)\r\n * @param max defines the maximum vector (in local space)\r\n * @param worldMatrix defines the new world matrix\r\n */\r\n constructor(min: DeepImmutable, max: DeepImmutable, worldMatrix?: DeepImmutable) {\r\n this.reConstruct(min, max, worldMatrix);\r\n }\r\n\r\n // Methods\r\n\r\n /**\r\n * Recreates the entire bounding box from scratch as if we call the constructor in place\r\n * @param min defines the new minimum vector (in local space)\r\n * @param max defines the new maximum vector (in local space)\r\n * @param worldMatrix defines the new world matrix\r\n */\r\n public reConstruct(min: DeepImmutable, max: DeepImmutable, worldMatrix?: DeepImmutable) {\r\n const minX = min.x, minY = min.y, minZ = min.z, maxX = max.x, maxY = max.y, maxZ = max.z;\r\n const vectors = this.vectors;\r\n\r\n this.minimum.copyFromFloats(minX, minY, minZ);\r\n this.maximum.copyFromFloats(maxX, maxY, maxZ);\r\n vectors[0].copyFromFloats(minX, minY, minZ);\r\n vectors[1].copyFromFloats(maxX, maxY, maxZ);\r\n vectors[2].copyFromFloats(maxX, minY, minZ);\r\n vectors[3].copyFromFloats(minX, maxY, minZ);\r\n vectors[4].copyFromFloats(minX, minY, maxZ);\r\n vectors[5].copyFromFloats(maxX, maxY, minZ);\r\n vectors[6].copyFromFloats(minX, maxY, maxZ);\r\n vectors[7].copyFromFloats(maxX, minY, maxZ);\r\n\r\n // OBB\r\n max.addToRef(min, this.center).scaleInPlace(0.5);\r\n max.subtractToRef(min, this.extendSize).scaleInPlace(0.5);\r\n\r\n this._worldMatrix = worldMatrix || Matrix.IdentityReadOnly;\r\n\r\n this._update(this._worldMatrix);\r\n }\r\n\r\n /**\r\n * Scale the current bounding box by applying a scale factor\r\n * @param factor defines the scale factor to apply\r\n * @returns the current bounding box\r\n */\r\n public scale(factor: number): BoundingBox {\r\n const tmpVectors = BoundingBox.TmpVector3;\r\n const diff = this.maximum.subtractToRef(this.minimum, tmpVectors[0]);\r\n const len = diff.length();\r\n diff.normalizeFromLength(len);\r\n const distance = len * factor;\r\n const newRadius = diff.scaleInPlace(distance * 0.5);\r\n\r\n const min = this.center.subtractToRef(newRadius, tmpVectors[1]);\r\n const max = this.center.addToRef(newRadius, tmpVectors[2]);\r\n\r\n this.reConstruct(min, max, this._worldMatrix);\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets the world matrix of the bounding box\r\n * @returns a matrix\r\n */\r\n public getWorldMatrix(): DeepImmutable {\r\n return this._worldMatrix;\r\n }\r\n\r\n /** @hidden */\r\n public _update(world: DeepImmutable): void {\r\n const minWorld = this.minimumWorld;\r\n const maxWorld = this.maximumWorld;\r\n const directions = this.directions;\r\n const vectorsWorld = this.vectorsWorld;\r\n const vectors = this.vectors;\r\n\r\n if (!world.isIdentity()) {\r\n minWorld.setAll(Number.MAX_VALUE);\r\n maxWorld.setAll(-Number.MAX_VALUE);\r\n\r\n for (let index = 0; index < 8; ++index) {\r\n const v = vectorsWorld[index];\r\n Vector3.TransformCoordinatesToRef(vectors[index], world, v);\r\n minWorld.minimizeInPlace(v);\r\n maxWorld.maximizeInPlace(v);\r\n }\r\n\r\n // Extend\r\n maxWorld.subtractToRef(minWorld, this.extendSizeWorld).scaleInPlace(0.5);\r\n maxWorld.addToRef(minWorld, this.centerWorld).scaleInPlace(0.5);\r\n }\r\n else {\r\n minWorld.copyFrom(this.minimum);\r\n maxWorld.copyFrom(this.maximum);\r\n for (let index = 0; index < 8; ++index) {\r\n vectorsWorld[index].copyFrom(vectors[index]);\r\n }\r\n\r\n // Extend\r\n this.extendSizeWorld.copyFrom(this.extendSize);\r\n this.centerWorld.copyFrom(this.center);\r\n }\r\n\r\n Vector3.FromArrayToRef(world.m, 0, directions[0]);\r\n Vector3.FromArrayToRef(world.m, 4, directions[1]);\r\n Vector3.FromArrayToRef(world.m, 8, directions[2]);\r\n\r\n this._worldMatrix = world;\r\n }\r\n\r\n /**\r\n * Tests if the bounding box is intersecting the frustum planes\r\n * @param frustumPlanes defines the frustum planes to test\r\n * @returns true if there is an intersection\r\n */\r\n public isInFrustum(frustumPlanes: Array>): boolean {\r\n return BoundingBox.IsInFrustum(this.vectorsWorld, frustumPlanes);\r\n }\r\n\r\n /**\r\n * Tests if the bounding box is entirely inside the frustum planes\r\n * @param frustumPlanes defines the frustum planes to test\r\n * @returns true if there is an inclusion\r\n */\r\n public isCompletelyInFrustum(frustumPlanes: Array>): boolean {\r\n return BoundingBox.IsCompletelyInFrustum(this.vectorsWorld, frustumPlanes);\r\n }\r\n\r\n /**\r\n * Tests if a point is inside the bounding box\r\n * @param point defines the point to test\r\n * @returns true if the point is inside the bounding box\r\n */\r\n public intersectsPoint(point: DeepImmutable): boolean {\r\n const min = this.minimumWorld;\r\n const max = this.maximumWorld;\r\n const minX = min.x, minY = min.y, minZ = min.z, maxX = max.x, maxY = max.y, maxZ = max.z;\r\n const pointX = point.x, pointY = point.y, pointZ = point.z;\r\n var delta = -Epsilon;\r\n\r\n if (maxX - pointX < delta || delta > pointX - minX) {\r\n return false;\r\n }\r\n\r\n if (maxY - pointY < delta || delta > pointY - minY) {\r\n return false;\r\n }\r\n\r\n if (maxZ - pointZ < delta || delta > pointZ - minZ) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Tests if the bounding box intersects with a bounding sphere\r\n * @param sphere defines the sphere to test\r\n * @returns true if there is an intersection\r\n */\r\n public intersectsSphere(sphere: DeepImmutable): boolean {\r\n return BoundingBox.IntersectsSphere(this.minimumWorld, this.maximumWorld, sphere.centerWorld, sphere.radiusWorld);\r\n }\r\n\r\n /**\r\n * Tests if the bounding box intersects with a box defined by a min and max vectors\r\n * @param min defines the min vector to use\r\n * @param max defines the max vector to use\r\n * @returns true if there is an intersection\r\n */\r\n public intersectsMinMax(min: DeepImmutable, max: DeepImmutable): boolean {\r\n const myMin = this.minimumWorld;\r\n const myMax = this.maximumWorld;\r\n const myMinX = myMin.x, myMinY = myMin.y, myMinZ = myMin.z, myMaxX = myMax.x, myMaxY = myMax.y, myMaxZ = myMax.z;\r\n const minX = min.x, minY = min.y, minZ = min.z, maxX = max.x, maxY = max.y, maxZ = max.z;\r\n if (myMaxX < minX || myMinX > maxX) {\r\n return false;\r\n }\r\n\r\n if (myMaxY < minY || myMinY > maxY) {\r\n return false;\r\n }\r\n\r\n if (myMaxZ < minZ || myMinZ > maxZ) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n // Statics\r\n\r\n /**\r\n * Tests if two bounding boxes are intersections\r\n * @param box0 defines the first box to test\r\n * @param box1 defines the second box to test\r\n * @returns true if there is an intersection\r\n */\r\n public static Intersects(box0: DeepImmutable, box1: DeepImmutable): boolean {\r\n return box0.intersectsMinMax(box1.minimumWorld, box1.maximumWorld);\r\n }\r\n\r\n /**\r\n * Tests if a bounding box defines by a min/max vectors intersects a sphere\r\n * @param minPoint defines the minimum vector of the bounding box\r\n * @param maxPoint defines the maximum vector of the bounding box\r\n * @param sphereCenter defines the sphere center\r\n * @param sphereRadius defines the sphere radius\r\n * @returns true if there is an intersection\r\n */\r\n public static IntersectsSphere(minPoint: DeepImmutable, maxPoint: DeepImmutable, sphereCenter: DeepImmutable, sphereRadius: number): boolean {\r\n const vector = BoundingBox.TmpVector3[0];\r\n Vector3.ClampToRef(sphereCenter, minPoint, maxPoint, vector);\r\n var num = Vector3.DistanceSquared(sphereCenter, vector);\r\n return (num <= (sphereRadius * sphereRadius));\r\n }\r\n\r\n /**\r\n * Tests if a bounding box defined with 8 vectors is entirely inside frustum planes\r\n * @param boundingVectors defines an array of 8 vectors representing a bounding box\r\n * @param frustumPlanes defines the frustum planes to test\r\n * @return true if there is an inclusion\r\n */\r\n public static IsCompletelyInFrustum(boundingVectors: Array>, frustumPlanes: Array>): boolean {\r\n for (var p = 0; p < 6; ++p) {\r\n const frustumPlane = frustumPlanes[p];\r\n for (var i = 0; i < 8; ++i) {\r\n if (frustumPlane.dotCoordinate(boundingVectors[i]) < 0) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Tests if a bounding box defined with 8 vectors intersects frustum planes\r\n * @param boundingVectors defines an array of 8 vectors representing a bounding box\r\n * @param frustumPlanes defines the frustum planes to test\r\n * @return true if there is an intersection\r\n */\r\n public static IsInFrustum(boundingVectors: Array>, frustumPlanes: Array>): boolean {\r\n for (var p = 0; p < 6; ++p) {\r\n let canReturnFalse = true;\r\n const frustumPlane = frustumPlanes[p];\r\n for (var i = 0; i < 8; ++i) {\r\n if (frustumPlane.dotCoordinate(boundingVectors[i]) >= 0) {\r\n canReturnFalse = false;\r\n break;\r\n }\r\n }\r\n if (canReturnFalse) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n}\r\n","import { deepmerge } from '@material-ui/utils';\n\nfunction merge(acc, item) {\n if (!item) {\n return acc;\n }\n\n return deepmerge(acc, item, {\n clone: false // No need to clone deep, it's way faster.\n\n });\n}\n\nexport default merge;","import { DomManagement } from './domManagement';\r\n\r\n/**\r\n * Class used to provide helper for timing\r\n */\r\nexport class TimingTools {\r\n /**\r\n * Polyfill for setImmediate\r\n * @param action defines the action to execute after the current execution block\r\n */\r\n public static SetImmediate(action: () => void) {\r\n if (DomManagement.IsWindowObjectExist() && window.setImmediate) {\r\n window.setImmediate(action);\r\n } else {\r\n setTimeout(action, 1);\r\n }\r\n }\r\n}","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for comparison styles. */\nvar UNORDERED_COMPARE_FLAG = 1,\n PARTIAL_COMPARE_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.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\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\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 ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `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\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\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 = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.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\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 {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\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, customizer, bitmask, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\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, equalFunc, customizer, bitmask, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = getTag(object);\n objTag = objTag == argsTag ? objectTag : objTag;\n }\n if (!othIsArr) {\n othTag = getTag(other);\n othTag = othTag == argsTag ? objectTag : othTag;\n }\n var objIsObj = objTag == objectTag && !isHostObject(object),\n othIsObj = othTag == objectTag && !isHostObject(other),\n isSameTag = objTag == othTag;\n\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)\n : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);\n }\n if (!(bitmask & PARTIAL_COMPARE_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, customizer, bitmask, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, equalFunc, customizer, bitmask, stack);\n}\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\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, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.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[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\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\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * 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\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, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);\n };\n}\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\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 (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\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\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 {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\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, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & UNORDERED_COMPARE_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 (!seen.has(othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n return seen.add(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, customizer, bitmask, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\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, equalFunc, customizer, bitmask, 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 & PARTIAL_COMPARE_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 |= UNORDERED_COMPARE_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\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, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the 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\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * 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 = isKey(path, object) ? [path] : castPath(path);\n\n var result,\n index = -1,\n length = path.length;\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) {\n return result;\n }\n var length = object ? object.length : 0;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is 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\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * 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\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\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 = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\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\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * 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 `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 && 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);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * 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) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\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 process.\n * @returns {string} Returns the 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\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\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\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * 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 result[key] = iteratee(value, key, object);\n });\n return result;\n}\n\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\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 = mapValues;\n","import { Matrix } from \"../Maths/math.vector\";\r\nimport { Mesh } from \"../Meshes/mesh\";\r\nimport { Scene } from \"../scene\";\r\nimport { Effect } from \"../Materials/effect\";\r\n\r\n\r\n/**\r\n * Configuration needed for prepass-capable materials\r\n */\r\nexport class PrePassConfiguration {\r\n /**\r\n * Previous world matrices of meshes carrying this material\r\n * Used for computing velocity\r\n */\r\n public previousWorldMatrices: { [index: number]: Matrix } = {};\r\n /**\r\n * Previous view project matrix\r\n * Used for computing velocity\r\n */\r\n public previousViewProjection: Matrix;\r\n /**\r\n * Previous bones of meshes carrying this material\r\n * Used for computing velocity\r\n */\r\n public previousBones: { [index: number]: Float32Array } = {};\r\n\r\n /**\r\n * Add the required uniforms to the current list.\r\n * @param uniforms defines the current uniform list.\r\n */\r\n public static AddUniforms(uniforms: string[]): void {\r\n uniforms.push(\"previousWorld\", \"previousViewProjection\");\r\n }\r\n\r\n /**\r\n * Add the required samplers to the current list.\r\n * @param samplers defines the current sampler list.\r\n */\r\n public static AddSamplers(samplers: string[]): void {\r\n // pass\r\n }\r\n\r\n /**\r\n * Binds the material data.\r\n * @param effect defines the effect to update\r\n * @param scene defines the scene the material belongs to.\r\n * @param mesh The mesh\r\n * @param world World matrix of this mesh\r\n * @param isFrozen Is the material frozen\r\n */\r\n public bindForSubMesh(effect: Effect, scene: Scene, mesh: Mesh, world: Matrix, isFrozen: boolean): void {\r\n if (scene.prePassRenderer && scene.prePassRenderer.enabled) {\r\n if (scene.prePassRenderer.getIndex(2) !== -1) {\r\n if (!this.previousWorldMatrices[mesh.uniqueId]) {\r\n this.previousWorldMatrices[mesh.uniqueId] = Matrix.Identity();\r\n }\r\n\r\n if (!this.previousViewProjection) {\r\n this.previousViewProjection = scene.getTransformMatrix();\r\n }\r\n\r\n effect.setMatrix(\"previousWorld\", this.previousWorldMatrices[mesh.uniqueId]);\r\n effect.setMatrix(\"previousViewProjection\", this.previousViewProjection);\r\n\r\n this.previousWorldMatrices[mesh.uniqueId] = world.clone();\r\n this.previousViewProjection = scene.getTransformMatrix().clone();\r\n }\r\n }\r\n }\r\n}","import { Nullable } from \"../../types\";\nimport { SerializationHelper, serialize, serializeAsTexture, expandToProperty, serializeAsColor3 } from \"../../Misc/decorators\";\nimport { Color3 } from '../../Maths/math.color';\nimport { BaseTexture } from \"../../Materials/Textures/baseTexture\";\nimport { MaterialFlags } from \"../materialFlags\";\nimport { UniformBuffer } from \"../../Materials/uniformBuffer\";\nimport { MaterialHelper } from \"../../Materials/materialHelper\";\nimport { IAnimatable } from '../../Animations/animatable.interface';\nimport { EffectFallbacks } from '../effectFallbacks';\nimport { SubMesh } from '../../Meshes/subMesh';\n\ndeclare type Engine = import(\"../../Engines/engine\").Engine;\ndeclare type Scene = import(\"../../scene\").Scene;\n\n/**\n * @hidden\n */\nexport interface IMaterialClearCoatDefines {\n CLEARCOAT: boolean;\n CLEARCOAT_DEFAULTIOR: boolean;\n CLEARCOAT_TEXTURE: boolean;\n CLEARCOAT_TEXTURE_ROUGHNESS: boolean;\n CLEARCOAT_TEXTUREDIRECTUV: number;\n CLEARCOAT_TEXTURE_ROUGHNESSDIRECTUV: number;\n CLEARCOAT_BUMP: boolean;\n CLEARCOAT_BUMPDIRECTUV: number;\n CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE: boolean;\n CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL: boolean;\n CLEARCOAT_REMAP_F0: boolean;\n\n CLEARCOAT_TINT: boolean;\n CLEARCOAT_TINT_TEXTURE: boolean;\n CLEARCOAT_TINT_TEXTUREDIRECTUV: number;\n\n /** @hidden */\n _areTexturesDirty: boolean;\n}\n\n/**\n * Define the code related to the clear coat parameters of the pbr material.\n */\nexport class PBRClearCoatConfiguration {\n /**\n * This defaults to 1.5 corresponding to a 0.04 f0 or a 4% reflectance at normal incidence\n * The default fits with a polyurethane material.\n * @hidden\n */\n public static readonly _DefaultIndexOfRefraction = 1.5;\n\n private _isEnabled = false;\n /**\n * Defines if the clear coat is enabled in the material.\n */\n @serialize()\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n public isEnabled = false;\n\n /**\n * Defines the clear coat layer strength (between 0 and 1) it defaults to 1.\n */\n @serialize()\n public intensity: number = 1;\n\n /**\n * Defines the clear coat layer roughness.\n */\n @serialize()\n public roughness: number = 0;\n\n private _indexOfRefraction = PBRClearCoatConfiguration._DefaultIndexOfRefraction;\n /**\n * Defines the index of refraction of the clear coat.\n * This defaults to 1.5 corresponding to a 0.04 f0 or a 4% reflectance at normal incidence\n * The default fits with a polyurethane material.\n * Changing the default value is more performance intensive.\n */\n @serialize()\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n public indexOfRefraction = PBRClearCoatConfiguration._DefaultIndexOfRefraction;\n\n private _texture: Nullable = null;\n /**\n * Stores the clear coat values in a texture (red channel is intensity and green channel is roughness)\n * If useRoughnessFromMainTexture is false, the green channel of texture is not used and the green channel of textureRoughness is used instead\n * if textureRoughness is not empty, else no texture roughness is used\n */\n @serializeAsTexture()\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n public texture: Nullable = null;\n\n private _useRoughnessFromMainTexture = true;\n /**\n * Indicates that the green channel of the texture property will be used for roughness (default: true)\n * If false, the green channel from textureRoughness is used for roughness\n */\n @serialize()\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n public useRoughnessFromMainTexture = true;\n\n private _textureRoughness: Nullable = null;\n /**\n * Stores the clear coat roughness in a texture (green channel)\n * Not used if useRoughnessFromMainTexture is true\n */\n @serializeAsTexture()\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n public textureRoughness: Nullable = null;\n\n private _remapF0OnInterfaceChange = true;\n /**\n * Defines if the F0 value should be remapped to account for the interface change in the material.\n */\n @serialize()\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n public remapF0OnInterfaceChange = true;\n\n private _bumpTexture: Nullable = null;\n /**\n * Define the clear coat specific bump texture.\n */\n @serializeAsTexture()\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n public bumpTexture: Nullable = null;\n\n private _isTintEnabled = false;\n /**\n * Defines if the clear coat tint is enabled in the material.\n */\n @serialize()\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n public isTintEnabled = false;\n\n /**\n * Defines the clear coat tint of the material.\n * This is only use if tint is enabled\n */\n @serializeAsColor3()\n public tintColor = Color3.White();\n\n /**\n * Defines the distance at which the tint color should be found in the\n * clear coat media.\n * This is only use if tint is enabled\n */\n @serialize()\n public tintColorAtDistance = 1;\n\n /**\n * Defines the clear coat layer thickness.\n * This is only use if tint is enabled\n */\n @serialize()\n public tintThickness: number = 1;\n\n private _tintTexture: Nullable = null;\n /**\n * Stores the clear tint values in a texture.\n * rgb is tint\n * a is a thickness factor\n */\n @serializeAsTexture()\n @expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n public tintTexture: Nullable = null;\n\n /** @hidden */\n private _internalMarkAllSubMeshesAsTexturesDirty: () => void;\n\n /** @hidden */\n public _markAllSubMeshesAsTexturesDirty(): void {\n this._internalMarkAllSubMeshesAsTexturesDirty();\n }\n\n /**\n * Instantiate a new istance of clear coat configuration.\n * @param markAllSubMeshesAsTexturesDirty Callback to flag the material to dirty\n */\n constructor(markAllSubMeshesAsTexturesDirty: () => void) {\n this._internalMarkAllSubMeshesAsTexturesDirty = markAllSubMeshesAsTexturesDirty;\n }\n\n /**\n * Gets wehter the submesh is ready to be used or not.\n * @param defines the list of \"defines\" to update.\n * @param scene defines the scene the material belongs to.\n * @param engine defines the engine the material belongs to.\n * @param disableBumpMap defines wether the material disables bump or not.\n * @returns - boolean indicating that the submesh is ready or not.\n */\n public isReadyForSubMesh(defines: IMaterialClearCoatDefines, scene: Scene, engine: Engine, disableBumpMap: boolean): boolean {\n if (defines._areTexturesDirty) {\n if (scene.texturesEnabled) {\n if (this._texture && MaterialFlags.ClearCoatTextureEnabled) {\n if (!this._texture.isReadyOrNotBlocking()) {\n return false;\n }\n }\n\n if (this._textureRoughness && MaterialFlags.ClearCoatTextureEnabled) {\n if (!this._textureRoughness.isReadyOrNotBlocking()) {\n return false;\n }\n }\n\n if (engine.getCaps().standardDerivatives && this._bumpTexture && MaterialFlags.ClearCoatBumpTextureEnabled && !disableBumpMap) {\n // Bump texture cannot be not blocking.\n if (!this._bumpTexture.isReady()) {\n return false;\n }\n }\n\n if (this._isTintEnabled && this._tintTexture && MaterialFlags.ClearCoatTintTextureEnabled) {\n if (!this._tintTexture.isReadyOrNotBlocking()) {\n return false;\n }\n }\n }\n }\n\n return true;\n }\n\n /**\n * Checks to see if a texture is used in the material.\n * @param defines the list of \"defines\" to update.\n * @param scene defines the scene to the material belongs to.\n */\n public prepareDefines(defines: IMaterialClearCoatDefines, scene: Scene): void {\n if (this._isEnabled) {\n defines.CLEARCOAT = true;\n defines.CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE = this._useRoughnessFromMainTexture;\n defines.CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL = this._texture !== null && this._texture._texture === this._textureRoughness?._texture && this._texture.checkTransformsAreIdentical(this._textureRoughness);\n defines.CLEARCOAT_REMAP_F0 = this._remapF0OnInterfaceChange;\n\n if (defines._areTexturesDirty) {\n if (scene.texturesEnabled) {\n if (this._texture && MaterialFlags.ClearCoatTextureEnabled) {\n MaterialHelper.PrepareDefinesForMergedUV(this._texture, defines, \"CLEARCOAT_TEXTURE\");\n } else {\n defines.CLEARCOAT_TEXTURE = false;\n }\n\n if (this._textureRoughness && MaterialFlags.ClearCoatTextureEnabled) {\n MaterialHelper.PrepareDefinesForMergedUV(this._textureRoughness, defines, \"CLEARCOAT_TEXTURE_ROUGHNESS\");\n } else {\n defines.CLEARCOAT_TEXTURE_ROUGHNESS = false;\n }\n\n if (this._bumpTexture && MaterialFlags.ClearCoatBumpTextureEnabled) {\n MaterialHelper.PrepareDefinesForMergedUV(this._bumpTexture, defines, \"CLEARCOAT_BUMP\");\n } else {\n defines.CLEARCOAT_BUMP = false;\n }\n\n defines.CLEARCOAT_DEFAULTIOR = this._indexOfRefraction === PBRClearCoatConfiguration._DefaultIndexOfRefraction;\n\n if (this._isTintEnabled) {\n defines.CLEARCOAT_TINT = true;\n if (this._tintTexture && MaterialFlags.ClearCoatTintTextureEnabled) {\n MaterialHelper.PrepareDefinesForMergedUV(this._tintTexture, defines, \"CLEARCOAT_TINT_TEXTURE\");\n }\n else {\n defines.CLEARCOAT_TINT_TEXTURE = false;\n }\n }\n else {\n defines.CLEARCOAT_TINT = false;\n defines.CLEARCOAT_TINT_TEXTURE = false;\n }\n }\n }\n }\n else {\n defines.CLEARCOAT = false;\n defines.CLEARCOAT_TEXTURE = false;\n defines.CLEARCOAT_TEXTURE_ROUGHNESS = false;\n defines.CLEARCOAT_BUMP = false;\n defines.CLEARCOAT_TINT = false;\n defines.CLEARCOAT_TINT_TEXTURE = false;\n defines.CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE = false;\n defines.CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL = false;\n }\n }\n\n /**\n * Binds the material data.\n * @param uniformBuffer defines the Uniform buffer to fill in.\n * @param scene defines the scene the material belongs to.\n * @param engine defines the engine the material belongs to.\n * @param disableBumpMap defines wether the material disables bump or not.\n * @param isFrozen defines wether the material is frozen or not.\n * @param invertNormalMapX If sets to true, x component of normal map value will be inverted (x = 1.0 - x).\n * @param invertNormalMapY If sets to true, y component of normal map value will be inverted (y = 1.0 - y).\n * @param subMesh the submesh to bind data for\n */\n public bindForSubMesh(uniformBuffer: UniformBuffer, scene: Scene, engine: Engine, disableBumpMap: boolean, isFrozen: boolean, invertNormalMapX: boolean, invertNormalMapY: boolean, subMesh?: SubMesh): void {\n const defines = subMesh!._materialDefines as unknown as IMaterialClearCoatDefines;\n\n const identicalTextures = defines.CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL;\n\n if (!uniformBuffer.useUbo || !isFrozen || !uniformBuffer.isSync) {\n if (identicalTextures && MaterialFlags.ClearCoatTextureEnabled) {\n uniformBuffer.updateFloat4(\"vClearCoatInfos\", this._texture!.coordinatesIndex, this._texture!.level, -1, -1);\n MaterialHelper.BindTextureMatrix(this._texture!, uniformBuffer, \"clearCoat\");\n } else if ((this._texture || this._textureRoughness) && MaterialFlags.ClearCoatTextureEnabled) {\n uniformBuffer.updateFloat4(\"vClearCoatInfos\", this._texture?.coordinatesIndex ?? 0, this._texture?.level ?? 0, this._textureRoughness?.coordinatesIndex ?? 0, this._textureRoughness?.level ?? 0);\n if (this._texture) {\n MaterialHelper.BindTextureMatrix(this._texture, uniformBuffer, \"clearCoat\");\n }\n if (this._textureRoughness && !identicalTextures && !defines.CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE) {\n MaterialHelper.BindTextureMatrix(this._textureRoughness, uniformBuffer, \"clearCoatRoughness\");\n }\n }\n\n if (this._bumpTexture && engine.getCaps().standardDerivatives && MaterialFlags.ClearCoatTextureEnabled && !disableBumpMap) {\n uniformBuffer.updateFloat2(\"vClearCoatBumpInfos\", this._bumpTexture.coordinatesIndex, this._bumpTexture.level);\n MaterialHelper.BindTextureMatrix(this._bumpTexture, uniformBuffer, \"clearCoatBump\");\n\n if (scene._mirroredCameraPosition) {\n uniformBuffer.updateFloat2(\"vClearCoatTangentSpaceParams\", invertNormalMapX ? 1.0 : -1.0, invertNormalMapY ? 1.0 : -1.0);\n } else {\n uniformBuffer.updateFloat2(\"vClearCoatTangentSpaceParams\", invertNormalMapX ? -1.0 : 1.0, invertNormalMapY ? -1.0 : 1.0);\n }\n }\n\n if (this._tintTexture && MaterialFlags.ClearCoatTintTextureEnabled) {\n uniformBuffer.updateFloat2(\"vClearCoatTintInfos\", this._tintTexture.coordinatesIndex, this._tintTexture.level);\n MaterialHelper.BindTextureMatrix(this._tintTexture, uniformBuffer, \"clearCoatTint\");\n }\n\n // Clear Coat General params\n uniformBuffer.updateFloat2(\"vClearCoatParams\", this.intensity, this.roughness);\n\n // Clear Coat Refraction params\n const a = 1 - this._indexOfRefraction;\n const b = 1 + this._indexOfRefraction;\n const f0 = Math.pow((-a / b), 2); // Schlicks approx: (ior1 - ior2) / (ior1 + ior2) where ior2 for air is close to vacuum = 1.\n const eta = 1 / this._indexOfRefraction;\n uniformBuffer.updateFloat4(\"vClearCoatRefractionParams\", f0, eta, a, b);\n\n if (this._isTintEnabled) {\n uniformBuffer.updateFloat4(\"vClearCoatTintParams\",\n this.tintColor.r,\n this.tintColor.g,\n this.tintColor.b,\n Math.max(0.00001, this.tintThickness));\n uniformBuffer.updateFloat(\"clearCoatColorAtDistance\", Math.max(0.00001, this.tintColorAtDistance));\n }\n }\n\n // Textures\n if (scene.texturesEnabled) {\n if (this._texture && MaterialFlags.ClearCoatTextureEnabled) {\n uniformBuffer.setTexture(\"clearCoatSampler\", this._texture);\n }\n\n if (this._textureRoughness && !identicalTextures && !defines.CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE && MaterialFlags.ClearCoatTextureEnabled) {\n uniformBuffer.setTexture(\"clearCoatRoughnessSampler\", this._textureRoughness);\n }\n\n if (this._bumpTexture && engine.getCaps().standardDerivatives && MaterialFlags.ClearCoatBumpTextureEnabled && !disableBumpMap) {\n uniformBuffer.setTexture(\"clearCoatBumpSampler\", this._bumpTexture);\n }\n\n if (this._isTintEnabled && this._tintTexture && MaterialFlags.ClearCoatTintTextureEnabled) {\n uniformBuffer.setTexture(\"clearCoatTintSampler\", this._tintTexture);\n }\n }\n }\n\n /**\n * Checks to see if a texture is used in the material.\n * @param texture - Base texture to use.\n * @returns - Boolean specifying if a texture is used in the material.\n */\n public hasTexture(texture: BaseTexture): boolean {\n if (this._texture === texture) {\n return true;\n }\n\n if (this._textureRoughness === texture) {\n return true;\n }\n\n if (this._bumpTexture === texture) {\n return true;\n }\n\n if (this._tintTexture === texture) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Returns an array of the actively used textures.\n * @param activeTextures Array of BaseTextures\n */\n public getActiveTextures(activeTextures: BaseTexture[]): void {\n if (this._texture) {\n activeTextures.push(this._texture);\n }\n\n if (this._textureRoughness) {\n activeTextures.push(this._textureRoughness);\n }\n\n if (this._bumpTexture) {\n activeTextures.push(this._bumpTexture);\n }\n\n if (this._tintTexture) {\n activeTextures.push(this._tintTexture);\n }\n }\n\n /**\n * Returns the animatable textures.\n * @param animatables Array of animatable textures.\n */\n public getAnimatables(animatables: IAnimatable[]): void {\n if (this._texture && this._texture.animations && this._texture.animations.length > 0) {\n animatables.push(this._texture);\n }\n\n if (this._textureRoughness && this._textureRoughness.animations && this._textureRoughness.animations.length > 0) {\n animatables.push(this._textureRoughness);\n }\n\n if (this._bumpTexture && this._bumpTexture.animations && this._bumpTexture.animations.length > 0) {\n animatables.push(this._bumpTexture);\n }\n\n if (this._tintTexture && this._tintTexture.animations && this._tintTexture.animations.length > 0) {\n animatables.push(this._tintTexture);\n }\n }\n\n /**\n * Disposes the resources of the material.\n * @param forceDisposeTextures - Forces the disposal of all textures.\n */\n public dispose(forceDisposeTextures?: boolean): void {\n if (forceDisposeTextures) {\n this._texture?.dispose();\n this._textureRoughness?.dispose();\n this._bumpTexture?.dispose();\n this._tintTexture?.dispose();\n }\n }\n\n /**\n * Get the current class name of the texture useful for serialization or dynamic coding.\n * @returns \"PBRClearCoatConfiguration\"\n */\n public getClassName(): string {\n return \"PBRClearCoatConfiguration\";\n }\n\n /**\n * Add fallbacks to the effect fallbacks list.\n * @param defines defines the Base texture to use.\n * @param fallbacks defines the current fallback list.\n * @param currentRank defines the current fallback rank.\n * @returns the new fallback rank.\n */\n public static AddFallbacks(defines: IMaterialClearCoatDefines, fallbacks: EffectFallbacks, currentRank: number): number {\n if (defines.CLEARCOAT_BUMP) {\n fallbacks.addFallback(currentRank++, \"CLEARCOAT_BUMP\");\n }\n if (defines.CLEARCOAT_TINT) {\n fallbacks.addFallback(currentRank++, \"CLEARCOAT_TINT\");\n }\n if (defines.CLEARCOAT) {\n fallbacks.addFallback(currentRank++, \"CLEARCOAT\");\n }\n return currentRank;\n }\n\n /**\n * Add the required uniforms to the current list.\n * @param uniforms defines the current uniform list.\n */\n public static AddUniforms(uniforms: string[]): void {\n uniforms.push(\"vClearCoatTangentSpaceParams\", \"vClearCoatParams\", \"vClearCoatRefractionParams\",\n \"vClearCoatTintParams\", \"clearCoatColorAtDistance\",\n \"clearCoatMatrix\", \"clearCoatRoughnessMatrix\", \"clearCoatBumpMatrix\", \"clearCoatTintMatrix\",\n \"vClearCoatInfos\", \"vClearCoatBumpInfos\", \"vClearCoatTintInfos\");\n }\n\n /**\n * Add the required samplers to the current list.\n * @param samplers defines the current sampler list.\n */\n public static AddSamplers(samplers: string[]): void {\n samplers.push(\"clearCoatSampler\", \"clearCoatRoughnessSampler\", \"clearCoatBumpSampler\", \"clearCoatTintSampler\");\n }\n\n /**\n * Add the required uniforms to the current buffer.\n * @param uniformBuffer defines the current uniform buffer.\n */\n public static PrepareUniformBuffer(uniformBuffer: UniformBuffer): void {\n uniformBuffer.addUniform(\"vClearCoatParams\", 2);\n uniformBuffer.addUniform(\"vClearCoatRefractionParams\", 4);\n uniformBuffer.addUniform(\"vClearCoatInfos\", 4);\n uniformBuffer.addUniform(\"clearCoatMatrix\", 16);\n uniformBuffer.addUniform(\"clearCoatRoughnessMatrix\", 16);\n uniformBuffer.addUniform(\"vClearCoatBumpInfos\", 2);\n uniformBuffer.addUniform(\"vClearCoatTangentSpaceParams\", 2);\n uniformBuffer.addUniform(\"clearCoatBumpMatrix\", 16);\n uniformBuffer.addUniform(\"vClearCoatTintParams\", 4);\n uniformBuffer.addUniform(\"clearCoatColorAtDistance\", 1);\n uniformBuffer.addUniform(\"vClearCoatTintInfos\", 2);\n uniformBuffer.addUniform(\"clearCoatTintMatrix\", 16);\n }\n\n /**\n * Makes a duplicate of the current configuration into another one.\n * @param clearCoatConfiguration define the config where to copy the info\n */\n public copyTo(clearCoatConfiguration: PBRClearCoatConfiguration): void {\n SerializationHelper.Clone(() => clearCoatConfiguration, this);\n }\n\n /**\n * Serializes this clear coat configuration.\n * @returns - An object with the serialized config.\n */\n public serialize(): any {\n return SerializationHelper.Serialize(this);\n }\n\n /**\n * Parses a anisotropy Configuration from a serialized object.\n * @param source - Serialized object.\n * @param scene Defines the scene we are parsing for\n * @param rootUrl Defines the rootUrl to load from\n */\n public parse(source: any, scene: Scene, rootUrl: string): void {\n SerializationHelper.Parse(() => this, source, scene, rootUrl);\n }\n}","// @flow\n\ndeclare var SC_DISABLE_SPEEDY: ?boolean;\ndeclare var __VERSION__: string;\n\nexport const SC_ATTR: string =\n (typeof process !== 'undefined' && (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR)) ||\n 'data-styled';\n\nexport const SC_ATTR_ACTIVE = 'active';\nexport const SC_ATTR_VERSION = 'data-styled-version';\nexport const SC_VERSION = __VERSION__;\nexport const SPLITTER = '/*!sc*/\\n';\n\nexport const IS_BROWSER = typeof window !== 'undefined' && 'HTMLElement' in window;\n\nexport const DISABLE_SPEEDY =\n Boolean(typeof SC_DISABLE_SPEEDY === 'boolean'\n ? SC_DISABLE_SPEEDY\n : (typeof process !== 'undefined' && typeof process.env.REACT_APP_SC_DISABLE_SPEEDY !== 'undefined' && process.env.REACT_APP_SC_DISABLE_SPEEDY !== ''\n ? process.env.REACT_APP_SC_DISABLE_SPEEDY === 'false' ? false : process.env.REACT_APP_SC_DISABLE_SPEEDY\n : (typeof process !== 'undefined' && typeof process.env.SC_DISABLE_SPEEDY !== 'undefined' && process.env.SC_DISABLE_SPEEDY !== ''\n ? process.env.SC_DISABLE_SPEEDY === 'false' ? false : process.env.SC_DISABLE_SPEEDY\n : process.env.NODE_ENV !== 'production'\n )\n ));\n\n// Shared empty execution context when generating static styles\nexport const STATIC_EXECUTION_CONTEXT = {};\n","// @flow\n/* eslint-disable no-use-before-define */\n\nimport { makeStyleTag, getSheet } from './dom';\nimport type { SheetOptions, Tag } from './types';\n\n/** Create a CSSStyleSheet-like tag depending on the environment */\nexport const makeTag = ({ isServer, useCSSOMInjection, target }: SheetOptions): Tag => {\n if (isServer) {\n return new VirtualTag(target);\n } else if (useCSSOMInjection) {\n return new CSSOMTag(target);\n } else {\n return new TextTag(target);\n }\n};\n\nexport class CSSOMTag implements Tag {\n element: HTMLStyleElement;\n\n sheet: CSSStyleSheet;\n\n length: number;\n\n constructor(target?: HTMLElement) {\n const element = (this.element = makeStyleTag(target));\n\n // Avoid Edge bug where empty style elements don't create sheets\n element.appendChild(document.createTextNode(''));\n\n this.sheet = getSheet(element);\n this.length = 0;\n }\n\n insertRule(index: number, rule: string): boolean {\n try {\n this.sheet.insertRule(rule, index);\n this.length++;\n return true;\n } catch (_error) {\n return false;\n }\n }\n\n deleteRule(index: number): void {\n this.sheet.deleteRule(index);\n this.length--;\n }\n\n getRule(index: number): string {\n const rule = this.sheet.cssRules[index];\n // Avoid IE11 quirk where cssText is inaccessible on some invalid rules\n if (rule !== undefined && typeof rule.cssText === 'string') {\n return rule.cssText;\n } else {\n return '';\n }\n }\n}\n\n/** A Tag that emulates the CSSStyleSheet API but uses text nodes */\nexport class TextTag implements Tag {\n element: HTMLStyleElement;\n\n nodes: NodeList;\n\n length: number;\n\n constructor(target?: HTMLElement) {\n const element = (this.element = makeStyleTag(target));\n this.nodes = element.childNodes;\n this.length = 0;\n }\n\n insertRule(index: number, rule: string): boolean {\n if (index <= this.length && index >= 0) {\n const node = document.createTextNode(rule);\n const refNode = this.nodes[index];\n this.element.insertBefore(node, refNode || null);\n this.length++;\n return true;\n } else {\n return false;\n }\n }\n\n deleteRule(index: number): void {\n this.element.removeChild(this.nodes[index]);\n this.length--;\n }\n\n getRule(index: number): string {\n if (index < this.length) {\n return this.nodes[index].textContent;\n } else {\n return '';\n }\n }\n}\n\n/** A completely virtual (server-side) Tag that doesn't manipulate the DOM */\nexport class VirtualTag implements Tag {\n rules: string[];\n\n length: number;\n\n constructor(_target?: HTMLElement) {\n this.rules = [];\n this.length = 0;\n }\n\n insertRule(index: number, rule: string): boolean {\n if (index <= this.length) {\n this.rules.splice(index, 0, rule);\n this.length++;\n return true;\n } else {\n return false;\n }\n }\n\n deleteRule(index: number): void {\n this.rules.splice(index, 1);\n this.length--;\n }\n\n getRule(index: number): string {\n if (index < this.length) {\n return this.rules[index];\n } else {\n return '';\n }\n }\n}\n","// @flow\nimport { DISABLE_SPEEDY, IS_BROWSER } from '../constants';\nimport { EMPTY_OBJECT } from '../utils/empties';\nimport { makeGroupedTag } from './GroupedTag';\nimport { getGroupForId } from './GroupIDAllocator';\nimport { outputSheet, rehydrateSheet } from './Rehydration';\nimport { makeTag } from './Tag';\nimport type { GroupedTag, Sheet, SheetOptions } from './types';\n\nlet SHOULD_REHYDRATE = IS_BROWSER;\n\ntype SheetConstructorArgs = {\n isServer?: boolean,\n useCSSOMInjection?: boolean,\n target?: HTMLElement,\n};\n\ntype GlobalStylesAllocationMap = { [key: string]: number };\ntype NamesAllocationMap = Map>;\n\nconst defaultOptions: SheetOptions = {\n isServer: !IS_BROWSER,\n useCSSOMInjection: !DISABLE_SPEEDY,\n};\n\n/** Contains the main stylesheet logic for stringification and caching */\nexport default class StyleSheet implements Sheet {\n gs: GlobalStylesAllocationMap;\n\n names: NamesAllocationMap;\n\n options: SheetOptions;\n\n tag: void | GroupedTag;\n\n /** Register a group ID to give it an index */\n static registerId(id: string): number {\n return getGroupForId(id);\n }\n\n constructor(\n options: SheetConstructorArgs = EMPTY_OBJECT,\n globalStyles?: GlobalStylesAllocationMap = {},\n names?: NamesAllocationMap\n ) {\n this.options = {\n ...defaultOptions,\n ...options,\n };\n\n this.gs = globalStyles;\n this.names = new Map(names);\n\n // We rehydrate only once and use the sheet that is created first\n if (!this.options.isServer && IS_BROWSER && SHOULD_REHYDRATE) {\n SHOULD_REHYDRATE = false;\n rehydrateSheet(this);\n }\n }\n\n reconstructWithOptions(options: SheetConstructorArgs, withNames?: boolean = true) {\n return new StyleSheet(\n { ...this.options, ...options },\n this.gs,\n (withNames && this.names) || undefined\n );\n }\n\n allocateGSInstance(id: string) {\n return (this.gs[id] = (this.gs[id] || 0) + 1);\n }\n\n /** Lazily initialises a GroupedTag for when it's actually needed */\n getTag(): GroupedTag {\n return this.tag || (this.tag = makeGroupedTag(makeTag(this.options)));\n }\n\n /** Check whether a name is known for caching */\n hasNameForId(id: string, name: string): boolean {\n return this.names.has(id) && (this.names.get(id): any).has(name);\n }\n\n /** Mark a group's name as known for caching */\n registerName(id: string, name: string) {\n getGroupForId(id);\n\n if (!this.names.has(id)) {\n const groupNames = new Set();\n groupNames.add(name);\n this.names.set(id, groupNames);\n } else {\n (this.names.get(id): any).add(name);\n }\n }\n\n /** Insert new rules which also marks the name as known */\n insertRules(id: string, name: string, rules: string[]) {\n this.registerName(id, name);\n this.getTag().insertRules(getGroupForId(id), rules);\n }\n\n /** Clears all cached names for a given group ID */\n clearNames(id: string) {\n if (this.names.has(id)) {\n (this.names.get(id): any).clear();\n }\n }\n\n /** Clears all rules for a given group ID */\n clearRules(id: string) {\n this.getTag().clearGroup(getGroupForId(id));\n this.clearNames(id);\n }\n\n /** Clears the entire tag which deletes all rules but not its names */\n clearTag() {\n // NOTE: This does not clear the names, since it's only used during SSR\n // so that we can continuously output only new rules\n this.tag = undefined;\n }\n\n /** Outputs the current sheet as a CSS string with markers for SSR */\n toString(): string {\n return outputSheet(this);\n }\n}\n","// @flow\nimport isFunction from './isFunction';\nimport isStyledComponent from './isStyledComponent';\nimport type { RuleSet } from '../types';\n\nexport default function isStaticRules(rules: RuleSet): boolean {\n for (let i = 0; i < rules.length; i += 1) {\n const rule = rules[i];\n\n if (isFunction(rule) && !isStyledComponent(rule)) {\n // functions are allowed to be static if they're just being\n // used to get the classname of a nested styled component\n return false;\n }\n }\n\n return true;\n}\n","// @flow\nimport StyleSheet from '../sheet';\nimport { type Stringifier } from '../types';\nimport throwStyledError from '../utils/error';\nimport { masterStylis } from './StyleSheetManager';\n\nexport default class Keyframes {\n id: string;\n\n name: string;\n\n rules: string;\n\n constructor(name: string, rules: string) {\n this.name = name;\n this.id = `sc-keyframes-${name}`;\n this.rules = rules;\n }\n\n inject = (styleSheet: StyleSheet, stylisInstance: Stringifier = masterStylis) => {\n const resolvedName = this.name + stylisInstance.hash;\n\n if (!styleSheet.hasNameForId(this.id, resolvedName)) {\n styleSheet.insertRules(\n this.id,\n resolvedName,\n stylisInstance(this.rules, resolvedName, '@keyframes')\n );\n }\n };\n\n toString = () => {\n return throwStyledError(12, String(this.name));\n };\n\n getName(stylisInstance: Stringifier = masterStylis) {\n return this.name + stylisInstance.hash;\n }\n}\n","// @flow\nimport validAttr from '@emotion/is-prop-valid';\nimport hoist from 'hoist-non-react-statics';\nimport React, { createElement, type Ref, useContext, useDebugValue } from 'react';\nimport { SC_VERSION } from '../constants';\nimport type {\n Attrs,\n IStyledComponent,\n IStyledStatics,\n RuleSet,\n ShouldForwardProp,\n Target,\n} from '../types';\nimport { checkDynamicCreation } from '../utils/checkDynamicCreation';\nimport createWarnTooManyClasses from '../utils/createWarnTooManyClasses';\nimport determineTheme from '../utils/determineTheme';\nimport { EMPTY_ARRAY, EMPTY_OBJECT } from '../utils/empties';\nimport escape from '../utils/escape';\nimport generateComponentId from '../utils/generateComponentId';\nimport generateDisplayName from '../utils/generateDisplayName';\nimport getComponentName from '../utils/getComponentName';\nimport isFunction from '../utils/isFunction';\nimport isStyledComponent from '../utils/isStyledComponent';\nimport isTag from '../utils/isTag';\nimport joinStrings from '../utils/joinStrings';\nimport merge from '../utils/mixinDeep';\nimport ComponentStyle from './ComponentStyle';\nimport { useStyleSheet, useStylis } from './StyleSheetManager';\nimport { ThemeContext } from './ThemeProvider';\n\nconst identifiers = {};\n\n/* We depend on components having unique IDs */\nfunction generateId(displayName?: string, parentComponentId?: string) {\n const name = typeof displayName !== 'string' ? 'sc' : escape(displayName);\n // Ensure that no displayName can lead to duplicate componentIds\n identifiers[name] = (identifiers[name] || 0) + 1;\n\n const componentId = `${name}-${generateComponentId(\n // SC_VERSION gives us isolation between multiple runtimes on the page at once\n // this is improved further with use of the babel plugin \"namespace\" feature\n SC_VERSION + name + identifiers[name]\n )}`;\n\n return parentComponentId ? `${parentComponentId}-${componentId}` : componentId;\n}\n\nfunction useResolvedAttrs(theme: any = EMPTY_OBJECT, props: Config, attrs: Attrs) {\n // NOTE: can't memoize this\n // returns [context, resolvedAttrs]\n // where resolvedAttrs is only the things injected by the attrs themselves\n const context = { ...props, theme };\n const resolvedAttrs = {};\n\n attrs.forEach(attrDef => {\n let resolvedAttrDef = attrDef;\n let key;\n\n if (isFunction(resolvedAttrDef)) {\n resolvedAttrDef = resolvedAttrDef(context);\n }\n\n /* eslint-disable guard-for-in */\n for (key in resolvedAttrDef) {\n context[key] = resolvedAttrs[key] =\n key === 'className'\n ? joinStrings(resolvedAttrs[key], resolvedAttrDef[key])\n : resolvedAttrDef[key];\n }\n /* eslint-enable guard-for-in */\n });\n\n return [context, resolvedAttrs];\n}\n\nfunction useInjectedStyle(\n componentStyle: ComponentStyle,\n isStatic: boolean,\n resolvedAttrs: T,\n warnTooManyClasses?: $Call\n) {\n const styleSheet = useStyleSheet();\n const stylis = useStylis();\n\n const className = isStatic\n ? componentStyle.generateAndInjectStyles(EMPTY_OBJECT, styleSheet, stylis)\n : componentStyle.generateAndInjectStyles(resolvedAttrs, styleSheet, stylis);\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n if (process.env.NODE_ENV !== 'production') useDebugValue(className);\n\n if (process.env.NODE_ENV !== 'production' && !isStatic && warnTooManyClasses) {\n warnTooManyClasses(className);\n }\n\n return className;\n}\n\nfunction useStyledComponentImpl(\n forwardedComponent: IStyledComponent,\n props: Object,\n forwardedRef: Ref,\n isStatic: boolean\n) {\n const {\n attrs: componentAttrs,\n componentStyle,\n defaultProps,\n foldedComponentIds,\n shouldForwardProp,\n styledComponentId,\n target,\n } = forwardedComponent;\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n if (process.env.NODE_ENV !== 'production') useDebugValue(styledComponentId);\n\n // NOTE: the non-hooks version only subscribes to this when !componentStyle.isStatic,\n // but that'd be against the rules-of-hooks. We could be naughty and do it anyway as it\n // should be an immutable value, but behave for now.\n const theme = determineTheme(props, useContext(ThemeContext), defaultProps);\n\n const [context, attrs] = useResolvedAttrs(theme || EMPTY_OBJECT, props, componentAttrs);\n\n const generatedClassName = useInjectedStyle(\n componentStyle,\n isStatic,\n context,\n process.env.NODE_ENV !== 'production' ? forwardedComponent.warnTooManyClasses : undefined\n );\n\n const refToForward = forwardedRef;\n\n const elementToBeCreated: Target = attrs.$as || props.$as || attrs.as || props.as || target;\n\n const isTargetTag = isTag(elementToBeCreated);\n const computedProps = attrs !== props ? { ...props, ...attrs } : props;\n const propsForElement = {};\n\n // eslint-disable-next-line guard-for-in\n for (const key in computedProps) {\n if (key[0] === '$' || key === 'as') continue;\n else if (key === 'forwardedAs') {\n propsForElement.as = computedProps[key];\n } else if (\n shouldForwardProp\n ? shouldForwardProp(key, validAttr, elementToBeCreated)\n : isTargetTag\n ? validAttr(key)\n : true\n ) {\n // Don't pass through non HTML tags through to HTML elements\n propsForElement[key] = computedProps[key];\n }\n }\n\n if (props.style && attrs.style !== props.style) {\n propsForElement.style = { ...props.style, ...attrs.style };\n }\n\n propsForElement.className = Array.prototype\n .concat(\n foldedComponentIds,\n styledComponentId,\n generatedClassName !== styledComponentId ? generatedClassName : null,\n props.className,\n attrs.className\n )\n .filter(Boolean)\n .join(' ');\n\n propsForElement.ref = refToForward;\n\n return createElement(elementToBeCreated, propsForElement);\n}\n\nexport default function createStyledComponent(\n target: $PropertyType,\n options: {\n attrs?: Attrs,\n componentId: string,\n displayName?: string,\n parentComponentId?: string,\n shouldForwardProp?: ShouldForwardProp,\n },\n rules: RuleSet\n) {\n const isTargetStyledComp = isStyledComponent(target);\n const isCompositeComponent = !isTag(target);\n\n const {\n attrs = EMPTY_ARRAY,\n componentId = generateId(options.displayName, options.parentComponentId),\n displayName = generateDisplayName(target),\n } = options;\n\n const styledComponentId =\n options.displayName && options.componentId\n ? `${escape(options.displayName)}-${options.componentId}`\n : options.componentId || componentId;\n\n // fold the underlying StyledComponent attrs up (implicit extend)\n const finalAttrs =\n isTargetStyledComp && ((target: any): IStyledComponent).attrs\n ? Array.prototype.concat(((target: any): IStyledComponent).attrs, attrs).filter(Boolean)\n : attrs;\n\n // eslint-disable-next-line prefer-destructuring\n let shouldForwardProp = options.shouldForwardProp;\n\n if (isTargetStyledComp && target.shouldForwardProp) {\n if (options.shouldForwardProp) {\n // compose nested shouldForwardProp calls\n shouldForwardProp = (prop, filterFn, elementToBeCreated) =>\n ((((target: any): IStyledComponent).shouldForwardProp: any): ShouldForwardProp)(\n prop,\n filterFn,\n elementToBeCreated\n ) &&\n ((options.shouldForwardProp: any): ShouldForwardProp)(prop, filterFn, elementToBeCreated);\n } else {\n // eslint-disable-next-line prefer-destructuring\n shouldForwardProp = ((target: any): IStyledComponent).shouldForwardProp;\n }\n }\n\n const componentStyle = new ComponentStyle(\n rules,\n styledComponentId,\n isTargetStyledComp ? ((target: Object).componentStyle: ComponentStyle) : undefined\n );\n\n // statically styled-components don't need to build an execution context object,\n // and shouldn't be increasing the number of class names\n const isStatic = componentStyle.isStatic && attrs.length === 0;\n\n /**\n * forwardRef creates a new interim component, which we'll take advantage of\n * instead of extending ParentComponent to create _another_ interim class\n */\n let WrappedStyledComponent: IStyledComponent;\n\n const forwardRef = (props, ref) =>\n // eslint-disable-next-line\n useStyledComponentImpl(WrappedStyledComponent, props, ref, isStatic);\n\n forwardRef.displayName = displayName;\n\n WrappedStyledComponent = ((React.forwardRef(forwardRef): any): IStyledComponent);\n WrappedStyledComponent.attrs = finalAttrs;\n WrappedStyledComponent.componentStyle = componentStyle;\n WrappedStyledComponent.displayName = displayName;\n WrappedStyledComponent.shouldForwardProp = shouldForwardProp;\n\n // this static is used to preserve the cascade of static classes for component selector\n // purposes; this is especially important with usage of the css prop\n WrappedStyledComponent.foldedComponentIds = isTargetStyledComp\n ? Array.prototype.concat(\n ((target: any): IStyledComponent).foldedComponentIds,\n ((target: any): IStyledComponent).styledComponentId\n )\n : EMPTY_ARRAY;\n\n WrappedStyledComponent.styledComponentId = styledComponentId;\n\n // fold the underlying StyledComponent target up since we folded the styles\n WrappedStyledComponent.target = isTargetStyledComp\n ? ((target: any): IStyledComponent).target\n : target;\n\n WrappedStyledComponent.withComponent = function withComponent(tag: Target) {\n const { componentId: previousComponentId, ...optionsToCopy } = options;\n\n const newComponentId =\n previousComponentId &&\n `${previousComponentId}-${isTag(tag) ? tag : escape(getComponentName(tag))}`;\n\n const newOptions = {\n ...optionsToCopy,\n attrs: finalAttrs,\n componentId: newComponentId,\n };\n\n return createStyledComponent(tag, newOptions, rules);\n };\n\n Object.defineProperty(WrappedStyledComponent, 'defaultProps', {\n get() {\n return this._foldedDefaultProps;\n },\n\n set(obj) {\n this._foldedDefaultProps = isTargetStyledComp\n ? merge({}, ((target: any): IStyledComponent).defaultProps, obj)\n : obj;\n },\n });\n\n if (process.env.NODE_ENV !== 'production') {\n checkDynamicCreation(displayName, styledComponentId);\n\n WrappedStyledComponent.warnTooManyClasses = createWarnTooManyClasses(\n displayName,\n styledComponentId\n );\n }\n\n WrappedStyledComponent.toString = () => `.${WrappedStyledComponent.styledComponentId}`;\n\n if (isCompositeComponent) {\n hoist<\n IStyledStatics,\n $PropertyType,\n { [key: $Keys]: true }\n >(WrappedStyledComponent, ((target: any): $PropertyType), {\n // all SC-specific things should not be hoisted\n attrs: true,\n componentStyle: true,\n displayName: true,\n foldedComponentIds: true,\n shouldForwardProp: true,\n styledComponentId: true,\n target: true,\n withComponent: true,\n });\n }\n\n return WrappedStyledComponent;\n}\n","// @flow\nimport StyleSheet from '../sheet';\nimport type { RuleSet, Stringifier } from '../types';\nimport flatten from '../utils/flatten';\nimport isStaticRules from '../utils/isStaticRules';\n\nexport default class GlobalStyle {\n componentId: string;\n\n isStatic: boolean;\n\n rules: RuleSet;\n\n constructor(rules: RuleSet, componentId: string) {\n this.rules = rules;\n this.componentId = componentId;\n this.isStatic = isStaticRules(rules);\n\n // pre-register the first instance to ensure global styles\n // load before component ones\n StyleSheet.registerId(this.componentId + 1);\n }\n\n createStyles(\n instance: number,\n executionContext: Object,\n styleSheet: StyleSheet,\n stylis: Stringifier\n ) {\n const flatCSS = flatten(this.rules, executionContext, styleSheet, stylis);\n const css = stylis(flatCSS.join(''), '');\n const id = this.componentId + instance;\n\n // NOTE: We use the id as a name as well, since these rules never change\n styleSheet.insertRules(id, id, css);\n }\n\n removeStyles(instance: number, styleSheet: StyleSheet) {\n styleSheet.clearRules(this.componentId + instance);\n }\n\n renderStyles(\n instance: number,\n executionContext: Object,\n styleSheet: StyleSheet,\n stylis: Stringifier\n ) {\n if (instance > 2) StyleSheet.registerId(this.componentId + instance);\n\n // NOTE: Remove old styles, then inject the new ones\n this.removeStyles(instance, styleSheet);\n this.createStyles(instance, executionContext, styleSheet, stylis);\n }\n}\n","// @flow\n/* eslint-disable no-underscore-dangle */\nimport React from 'react';\nimport { IS_BROWSER, SC_ATTR, SC_ATTR_VERSION, SC_VERSION } from '../constants';\nimport throwStyledError from '../utils/error';\nimport getNonce from '../utils/nonce';\nimport StyleSheet from '../sheet';\nimport StyleSheetManager from './StyleSheetManager';\n\ndeclare var __SERVER__: boolean;\n\nconst CLOSING_TAG_R = /^\\s*<\\/[a-z]/i;\n\nexport default class ServerStyleSheet {\n isStreaming: boolean;\n\n instance: StyleSheet;\n\n sealed: boolean;\n\n constructor() {\n this.instance = new StyleSheet({ isServer: true });\n this.sealed = false;\n }\n\n _emitSheetCSS = (): string => {\n const css = this.instance.toString();\n const nonce = getNonce();\n const attrs = [nonce && `nonce=\"${nonce}\"`, `${SC_ATTR}=\"true\"`, `${SC_ATTR_VERSION}=\"${SC_VERSION}\"`];\n const htmlAttr = attrs.filter(Boolean).join(' ');\n\n return ``;\n };\n\n collectStyles(children: any) {\n if (this.sealed) {\n return throwStyledError(2);\n }\n\n return {children};\n }\n\n getStyleTags = (): string => {\n if (this.sealed) {\n return throwStyledError(2);\n }\n\n return this._emitSheetCSS();\n };\n\n getStyleElement = () => {\n if (this.sealed) {\n return throwStyledError(2);\n }\n\n const props = {\n [SC_ATTR]: '',\n [SC_ATTR_VERSION]: SC_VERSION,\n dangerouslySetInnerHTML: {\n __html: this.instance.toString(),\n },\n };\n\n const nonce = getNonce();\n if (nonce) {\n (props: any).nonce = nonce;\n }\n\n // v4 returned an array for this fn, so we'll do the same for v5 for backward compat\n return [