package net.thunderbird.core.ui.compose.designsystem.atom.icon.outlined

import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.tooling.preview.Preview
import net.thunderbird.core.ui.compose.designsystem.atom.icon.Icon
import net.thunderbird.core.ui.compose.designsystem.atom.icon.icon
import net.thunderbird.core.ui.compose.designsystem.atom.icon.iconPath

@Suppress("MagicNumber")
internal val OutlinedSpaIcon: ImageVector by lazy {
    icon(
        name = "OutlinedSpaIcon",
        viewportWidth = 960.0f,
        viewportHeight = 960.0f,
    ) {
        iconPath {
            moveTo(x = 480.0f, y = 880.0f)
            quadToRelative(
                dx1 = -73.0f,
                dy1 = -9.0f,
                dx2 = -145.0f,
                dy2 = -39.5f,
            )
            reflectiveQuadTo(
                x1 = 206.5f,
                y1 = 753.0f,
            )
            quadTo(
                x1 = 150.0f,
                y1 = 696.0f,
                x2 = 115.0f,
                y2 = 609.0f,
            )
            reflectiveQuadTo(
                x1 = 80.0f,
                y1 = 400.0f,
            )
            lineToRelative(dx = 0.0f, dy = -40.0f)
            lineToRelative(dx = 40.0f, dy = 0.0f)
            quadToRelative(
                dx1 = 51.0f,
                dy1 = 0.0f,
                dx2 = 105.0f,
                dy2 = 13.0f,
            )
            reflectiveQuadToRelative(
                dx1 = 101.0f,
                dy1 = 39.0f,
            )
            quadToRelative(
                dx1 = 12.0f,
                dy1 = -86.0f,
                dx2 = 54.5f,
                dy2 = -176.5f,
            )
            reflectiveQuadTo(
                x1 = 480.0f,
                y1 = 80.0f,
            )
            quadToRelative(
                dx1 = 57.0f,
                dy1 = 65.0f,
                dx2 = 99.5f,
                dy2 = 155.5f,
            )
            reflectiveQuadTo(
                x1 = 634.0f,
                y1 = 412.0f,
            )
            quadToRelative(
                dx1 = 47.0f,
                dy1 = -26.0f,
                dx2 = 101.0f,
                dy2 = -39.0f,
            )
            reflectiveQuadToRelative(
                dx1 = 105.0f,
                dy1 = -13.0f,
            )
            lineToRelative(dx = 40.0f, dy = 0.0f)
            lineToRelative(dx = 0.0f, dy = 40.0f)
            quadToRelative(
                dx1 = 0.0f,
                dy1 = 122.0f,
                dx2 = -35.0f,
                dy2 = 209.0f,
            )
            reflectiveQuadToRelative(
                dx1 = -91.5f,
                dy1 = 144.0f,
            )
            quadToRelative(
                dx1 = -56.5f,
                dy1 = 57.0f,
                dx2 = -128.0f,
                dy2 = 87.5f,
            )
            reflectiveQuadTo(
                x1 = 480.0f,
                y1 = 880.0f,
            )
            close()
            moveToRelative(dx = -2.0f, dy = -82.0f)
            quadToRelative(
                dx1 = -11.0f,
                dy1 = -166.0f,
                dx2 = -98.5f,
                dy2 = -251.0f,
            )
            reflectiveQuadTo(
                x1 = 162.0f,
                y1 = 442.0f,
            )
            quadToRelative(
                dx1 = 11.0f,
                dy1 = 171.0f,
                dx2 = 101.5f,
                dy2 = 255.0f,
            )
            reflectiveQuadTo(
                x1 = 478.0f,
                y1 = 798.0f,
            )
            close()
            moveToRelative(dx = 2.0f, dy = -254.0f)
            quadToRelative(
                dx1 = 15.0f,
                dy1 = -22.0f,
                dx2 = 36.5f,
                dy2 = -45.5f,
            )
            reflectiveQuadTo(
                x1 = 558.0f,
                y1 = 458.0f,
            )
            quadToRelative(
                dx1 = -2.0f,
                dy1 = -57.0f,
                dx2 = -22.5f,
                dy2 = -119.0f,
            )
            reflectiveQuadTo(
                x1 = 480.0f,
                y1 = 218.0f,
            )
            quadToRelative(
                dx1 = -35.0f,
                dy1 = 59.0f,
                dx2 = -55.5f,
                dy2 = 121.0f,
            )
            reflectiveQuadTo(
                x1 = 402.0f,
                y1 = 458.0f,
            )
            quadToRelative(
                dx1 = 20.0f,
                dy1 = 17.0f,
                dx2 = 42.0f,
                dy2 = 40.5f,
            )
            reflectiveQuadToRelative(
                dx1 = 36.0f,
                dy1 = 45.5f,
            )
            close()
            moveToRelative(dx = 78.0f, dy = 236.0f)
            quadToRelative(
                dx1 = 37.0f,
                dy1 = -12.0f,
                dx2 = 77.0f,
                dy2 = -35.0f,
            )
            reflectiveQuadToRelative(
                dx1 = 74.5f,
                dy1 = -62.5f,
            )
            quadToRelative(
                dx1 = 34.5f,
                dy1 = -39.5f,
                dx2 = 59.0f,
                dy2 = -98.5f,
            )
            reflectiveQuadTo(
                x1 = 798.0f,
                y1 = 442.0f,
            )
            quadToRelative(
                dx1 = -94.0f,
                dy1 = 14.0f,
                dx2 = -165.0f,
                dy2 = 62.5f,
            )
            reflectiveQuadTo(
                x1 = 524.0f,
                y1 = 628.0f,
            )
            quadToRelative(
                dx1 = 12.0f,
                dy1 = 32.0f,
                dx2 = 20.5f,
                dy2 = 70.0f,
            )
            reflectiveQuadToRelative(
                dx1 = 13.5f,
                dy1 = 82.0f,
            )
            close()
            moveToRelative(dx = -78.0f, dy = -236.0f)
            close()
            moveToRelative(dx = 78.0f, dy = 236.0f)
            close()
            moveToRelative(dx = -80.0f, dy = 18.0f)
            close()
            moveToRelative(dx = 46.0f, dy = -170.0f)
            close()
            moveTo(x = 480.0f, y = 880.0f)
            close()
        }
    }
}

@Preview(showBackground = true)
@Composable
private fun Preview() {
    Icon(imageVector = OutlinedSpaIcon, contentDescription = null)
}
