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

export const IconKubernetes16 = 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={16}
                height={16}
                fill="none"
                viewBox="0 0 16 16"
                aria-hidden={!title}
                ref={svgRef}
                aria-labelledby={titleId}
                {...props}
            >
                {title ? <title id={titleId}>{title}</title> : null}
                <path
                    fill={color}
                    fillRule="evenodd"
                    d="M5.374 15c-.335 0-.66-.153-.874-.431l-3.254-4.172a1.15 1.15 0 0 1-.214-.978l1.165-5.207c.074-.345.298-.623.605-.776l4.715-2.32c.15-.078.317-.116.485-.116s.335.038.485.115L13.2 3.426c.308.153.532.432.606.777l1.165 5.207c.074.345 0 .7-.214.978L11.5 14.566c-.214.268-.54.434-.875.434zm7.718-5.835.031.008a.31.31 0 0 1 .26.371.306.306 0 0 1-.396.223h-.004l-.003-.001-.003-.001-.03-.007-.05-.01a3 3 0 0 1-.274-.106 3 3 0 0 0-.533-.156.24.24 0 0 0-.171.063l-.131-.023a3.97 3.97 0 0 1-1.764 2.212q.023.063.051.123a.24.24 0 0 0-.023.18q.111.256.271.484.09.117.164.244l.028.057.012.025a.306.306 0 0 1-.381.44.3.3 0 0 1-.172-.18l-.01-.02-.028-.058a3 3 0 0 1-.089-.28 3 3 0 0 0-.21-.512.24.24 0 0 0-.156-.095l-.03-.053-.035-.064a3.97 3.97 0 0 1-2.824-.007l-.069.125a.25.25 0 0 0-.132.064q-.157.257-.237.548a3 3 0 0 1-.088.28l-.025.05-.013.027v.001a.307.307 0 1 1-.553-.261l.014-.03.026-.052q.074-.127.164-.244.162-.234.277-.496a.3.3 0 0 0-.028-.173l.056-.133A3.97 3.97 0 0 1 4.22 9.532l-.134.023a.34.34 0 0 0-.176-.062 3 3 0 0 0-.533.156q-.135.06-.274.105l-.05.011-.03.007H3.02l-.002.002h-.005a.308.308 0 0 1-.397-.349.31.31 0 0 1 .261-.245l.004-.001h.003l.006-.002c.024-.006.054-.014.076-.018q.146-.02.293-.023.28-.02.549-.09a.4.4 0 0 0 .131-.133l.128-.037a3.94 3.94 0 0 1 .624-2.752l-.097-.087a.34.34 0 0 0-.062-.176 3 3 0 0 0-.455-.319 3 3 0 0 1-.254-.148l-.063-.05-.004-.004a.323.323 0 0 1-.076-.45.3.3 0 0 1 .244-.107.37.37 0 0 1 .213.08l.022.017q.026.02.046.037.107.101.202.213.188.206.412.372c.056.03.121.036.182.018l.11.078a3.94 3.94 0 0 1 2.552-1.224l.007-.129a.33.33 0 0 0 .1-.157 3 3 0 0 0-.034-.554 3 3 0 0 1-.042-.29v-.086A.306.306 0 0 1 8 2.82a.31.31 0 0 1 .306.337v.087a3 3 0 0 1-.041.29 3 3 0 0 0-.035.553.24.24 0 0 0 .1.153v.007l.007.13c.967.087 1.87.522 2.54 1.223l.116-.083a.34.34 0 0 0 .186-.02q.224-.166.412-.373a3 3 0 0 1 .202-.213l.051-.04.017-.014a.308.308 0 0 1 .472.388.3.3 0 0 1-.09.09q-.012.008-.025.02l-.043.033a3 3 0 0 1-.254.148 3 3 0 0 0-.455.32.24.24 0 0 0-.058.172l-.05.044-.058.053c.542.806.769 1.783.637 2.745l.123.036q.048.085.132.132.27.072.55.09.146.004.292.024zm-2.875-3.1-1.308.925-.004-.002a.27.27 0 0 1-.43-.205v-.001l-.091-1.598a3.2 3.2 0 0 1 1.833.882M7.754 7.818h.492l.306.381-.11.476L8 8.886l-.443-.213-.11-.475zM7.29 5.24q.16-.036.326-.056l-.09 1.6-.008.004a.27.27 0 0 1-.293.256.27.27 0 0 1-.135-.05l-.002.001-1.316-.93c.419-.41.945-.696 1.518-.825M5.296 6.663l1.201 1.071-.001.007a.269.269 0 0 1-.106.462l-.001.005-1.54.443a3.13 3.13 0 0 1 .447-1.988m1.608 2.846-.612 1.474a3.16 3.16 0 0 1-1.27-1.586L6.6 9.13l.003.003a.27.27 0 0 1 .18.029.27.27 0 0 1 .117.341zm1.806 1.896c-.572.13-1.17.1-1.726-.088l.777-1.4h.001a.27.27 0 0 1 .475-.001h.006l.779 1.402a3 3 0 0 1-.312.087m1.004-.416L9.096 9.5l.001-.003a.269.269 0 0 1 .296-.37l.003-.004 1.593.269a3.15 3.15 0 0 1-1.275 1.597m1.442-2.343L9.61 8.201l-.002-.006a.27.27 0 0 1-.185-.343.27.27 0 0 1 .08-.12L9.5 7.73l1.195-1.067c.366.594.527 1.29.46 1.983"
                    clipRule="evenodd"
                />
            </svg>
        );
    }
);
