import { forwardRef, useMemo } from 'react';
import { IconProps } from './types';

export const IconKubernetes24 = forwardRef<SVGSVGElement, IconProps>(
    ({ color = 'currentColor', title, ...props }, svgRef) => {
        const titleId = useMemo(
            () =>
                title
                    ? 'title-' + Math.random().toString(36).substr(2, 9)
                    : undefined,
            [title]
        );
        return (
            <svg
                xmlns="http://www.w3.org/2000/svg"
                width={24}
                height={24}
                fill="none"
                viewBox="0 0 24 24"
                aria-hidden={!title}
                ref={svgRef}
                aria-labelledby={titleId}
                {...props}
            >
                {title ? <title id={titleId}>{title}</title> : null}
                <path
                    fill={color}
                    fillRule="evenodd"
                    d="M8.249 22c-.48 0-.943-.22-1.249-.616l-4.648-5.96a1.644 1.644 0 01-.306-1.397L3.71 6.59c.106-.493.426-.89.865-1.11l6.736-3.315c.213-.11.452-.164.692-.164.24 0 .479.055.692.164l6.736 3.302c.439.219.758.616.865 1.11l1.664 7.438c.106.493 0 1-.306 1.397L17 21.38c-.306.384-.77.62-1.25.62H8.249zm11.025-8.335l.045.01a.439.439 0 01.294.695.437.437 0 01-.488.155l-.007-.001-.004-.002a6.82 6.82 0 00-1.703-.342 5.673 5.673 0 01-2.52 3.16c.021.06.046.12.074.176a.342.342 0 00-.034.257c.106.243.236.474.388.692.084.111.162.227.234.347l.04.082.017.036a.438.438 0 01-.695.526.439.439 0 01-.095-.154l-.015-.03-.04-.082a3.632 3.632 0 01-.126-.399 4.058 4.058 0 00-.3-.733.345.345 0 00-.223-.135l-.043-.076-.05-.092a5.67 5.67 0 01-4.034-.01l-.099.179a.356.356 0 00-.188.091 3.044 3.044 0 00-.339.783 3.594 3.594 0 01-.126.4 1.764 1.764 0 01-.054.11v.002a.436.436 0 01-.425.29.442.442 0 01-.409-.311.436.436 0 01.044-.352l.02-.043a1.69 1.69 0 01.036-.074c.072-.121.15-.237.235-.349.154-.223.286-.46.395-.709a.431.431 0 00-.039-.246l.08-.19a5.674 5.674 0 01-2.52-3.138l-.191.033a.486.486 0 00-.251-.088 4.1 4.1 0 00-.762.223 3.704 3.704 0 01-.392.15l-.071.016a3.181 3.181 0 00-.042.01h-.005l-.004.002h-.006a.44.44 0 01-.568-.498.437.437 0 01.374-.35l.006-.002.004-.001.008-.002c.035-.009.077-.02.108-.025.14-.02.28-.03.42-.034a4.09 4.09 0 00.783-.128.603.603 0 00.188-.19l.183-.052a5.626 5.626 0 01.892-3.931l-.14-.125a.483.483 0 00-.088-.251 4.077 4.077 0 00-.65-.456 3.653 3.653 0 01-.363-.211 1.616 1.616 0 01-.09-.073L5.936 8.2a.462.462 0 01-.107-.642.42.42 0 01.348-.154.522.522 0 01.336.139l.066.053c.102.096.198.198.288.305.178.195.376.373.589.53.08.042.173.051.26.026.051.037.104.075.157.111A5.626 5.626 0 0111.52 6.82l.01-.184a.475.475 0 00.142-.225c.01-.265-.007-.53-.049-.79a3.644 3.644 0 01-.06-.415l.001-.076v-.036-.005-.007a.437.437 0 01.615-.444.44.44 0 01.259.444v.046c.001.027.002.056 0 .078-.011.139-.031.277-.059.414a4.063 4.063 0 00-.05.79.345.345 0 00.143.218v.011l.01.184a5.734 5.734 0 013.629 1.748l.166-.119c.09.016.181.006.265-.028.213-.158.41-.336.59-.532.09-.107.186-.209.288-.305l.073-.058.024-.019a.44.44 0 11.544.682l-.035.028-.061.05a3.638 3.638 0 01-.363.21c-.231.13-.449.283-.65.456a.344.344 0 00-.082.247 7.827 7.827 0 01-.155.138 5.65 5.65 0 01.91 3.922l.177.051a.49.49 0 00.188.19c.257.068.52.11.784.128.14.003.28.014.419.034.023.004.054.011.082.018zm-4.108-4.428l-1.867 1.32-.007-.003a.386.386 0 01-.612-.293l-.002-.001-.13-2.282a4.546 4.546 0 012.618 1.259zm-3.518 2.501h.703l.437.545-.157.68-.631.303-.633-.304-.157-.68.438-.544zm-.661-3.68a4.64 4.64 0 01.466-.08l-.13 2.285-.01.005a.383.383 0 01-.419.366.387.387 0 01-.192-.072l-.004.003-1.88-1.33a4.505 4.505 0 012.169-1.177zm-2.85 2.032l1.716 1.53-.002.01a.384.384 0 01-.151.66l-.002.007-2.2.633c-.11-.991.115-1.99.639-2.84zm2.298 4.066l-.874 2.106a4.514 4.514 0 01-1.816-2.266L10 13.614l.003.005a.376.376 0 01.257.04.385.385 0 01.167.488l.007.009zm2.58 2.708a4.531 4.531 0 01-2.466-.126l1.11-2h.001a.385.385 0 01.679 0h.008l1.113 2.003c-.145.048-.293.089-.445.123zm1.433-.594l-.883-2.127.003-.004a.384.384 0 01.423-.53l.004-.004 2.275.383a4.497 4.497 0 01-1.822 2.282zm2.061-3.347l-2.21-.635-.003-.01a.386.386 0 01-.264-.489.386.386 0 01.113-.17v-.005l1.706-1.523a4.56 4.56 0 01.658 2.832z"
                    clipRule="evenodd"
                />
            </svg>
        );
    }
);
