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

export const IconHelmColor16 = 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}
                <g fill="#0f1689">
                    <path d="m4.807 4.377.016.015-.147.147a12 12 0 0 0-.314.324c-.197.213-.372.452-.389.52h.91a.13.13 0 0 0 .109-.049q.22-.242.475-.444A4.1 4.1 0 0 1 7.778 4q.425-.029.848.032a4.14 4.14 0 0 1 2.469 1.304.11.11 0 0 0 .089.047l.595-.001h.295l.047-.009a5 5 0 0 0-.745-.864l.013-.013.018-.015c.286-.223.512-.5.702-.807.135-.214.237-.447.3-.691a.8.8 0 0 0 .022-.29c-.013-.132-.086-.243-.262-.222a.5.5 0 0 0-.103.023 1.1 1.1 0 0 0-.33.193 3.04 3.04 0 0 0-.922 1.31l-.014.03-.006.011q-.082-.046-.16-.093c-.122-.07-.24-.14-.364-.202q-.27-.135-.553-.24a5.2 5.2 0 0 0-.982-.247q-.092-.014-.183-.032.078-.274.098-.558a3.2 3.2 0 0 0-.06-.924 1.5 1.5 0 0 0-.147-.41.5.5 0 0 0-.163-.19.2.2 0 0 0-.225.002.4.4 0 0 0-.089.08.9.9 0 0 0-.153.284q-.102.297-.125.61a3.2 3.2 0 0 0 .083 1.073l.004.023a4.94 4.94 0 0 0-2.268.696l-.009-.007-.007-.007-.01-.025a3.2 3.2 0 0 0-.61-.936 1.8 1.8 0 0 0-.494-.396.8.8 0 0 0-.16-.062c-.177-.043-.298.049-.31.23l-.001.023v.016c-.007.14.028.272.074.402.166.464.439.856.792 1.196zM11.376 11.502q.375-.346.67-.76l-.004-.017h-.294q-.3.001-.6-.002a.22.22 0 0 0-.168.069q-1.426 1.392-3.405 1.2a3.9 3.9 0 0 1-1.392-.414 4.1 4.1 0 0 1-1.103-.809.13.13 0 0 0-.104-.045l-.616.001h-.267a.4.4 0 0 0-.064.005q.346.486.797.877l-.01.018-.025.023-.014.014a3.15 3.15 0 0 0-.742 1.057 1.6 1.6 0 0 0-.121.4.56.56 0 0 0 .02.294.2.2 0 0 0 .15.125q.095.015.183-.02a1.1 1.1 0 0 0 .337-.194c.376-.313.673-.71.865-1.16l.02-.044.011-.024a4.9 4.9 0 0 0 2.267.7l.003.01q.003.007.002.01l-.01.045a3.272 3.272 0 0 0-.043 1.278c.032.18.076.356.162.517q.045.086.11.158c.108.118.241.117.353.002a.4.4 0 0 0 .065-.084q.066-.118.117-.244.106-.306.124-.63a3 3 0 0 0-.092-1.059l-.004-.022q.402-.045.793-.15.383-.108.747-.273a5.4 5.4 0 0 0 .7-.392l.009.022.011.03c.184.512.503.964.923 1.308q.12.096.257.163.09.044.19.056a.2.2 0 0 0 .228-.14.4.4 0 0 0 .02-.104 1 1 0 0 0-.061-.403 3.03 3.03 0 0 0-.943-1.348zM10.82 6.537l.072.001c.053.001.105.003.156-.002.084-.008.144.022.205.079q.4.367.802.73l.264.24q.017.014.037.033l.022.019.02-.018.04-.035 1.1-1.002a.15.15 0 0 1 .117-.046 4 4 0 0 0 .276.001v2.95a7 7 0 0 1-.774.002V7.995l-.015-.007-.763.696-.769-.693-.015.005v1.499h-.768c-.014-.05-.02-2.79-.006-2.958M4.497 6.54h-.763v1.046a10 10 0 0 1-.95-.004v-1.04h-.77v2.947c.064.015.716.014.774-.004V8.373h.946v.743q-.001.19.002.38H4.5c.016-.072.013-2.906-.003-2.955M5.412 9.494V6.55c.045-.014 1.723-.02 1.833-.005v.627l-.015.002h-.008l-.052.003h-.98v.489h.934v.65h-.926a3.5 3.5 0 0 0-.007.55l.023.001q.025.003.052.003h.979v.625zM8.123 6.54c-.014.055-.017 2.876-.003 2.955h1.832v-.772h-.985l-.053-.003-.03-.002V6.541z" />
                </g>
            </svg>
        );
    }
);
