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

export const IconPingIdentity24 = 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}
                <g fill={color}>
                    <path d="M6.91 12.833c.447 0 .58-.056.73-.299.092-.156.132-.325.132-.597 0-.538-.275-.863-.737-.863h-.697v1.759zM8.094 17.253c-.222 0-.349.176-.362.528h.717c-.003-.183-.027-.295-.073-.378a.32.32 0 0 0-.282-.15M6.786 18.478a.3.3 0 0 0 .097-.123h-.004v-.902c-.08-.12-.195-.177-.381-.177a.33.33 0 0 0-.292.177c-.073.129-.1.252-.1.49 0 .2.013.346.063.445.073.143.17.2.315.2a.42.42 0 0 0 .302-.11M14.539 18.435v.083h.043c.026 0 .053-.007.053-.044 0-.033-.027-.04-.053-.04z" />
                    <path
                        fillRule="evenodd"
                        d="M14.403 18.538c0 .116.076.199.176.199.096 0 .175-.083.175-.2 0-.115-.076-.198-.175-.198-.097 0-.176.083-.176.199m.182-.143c.066 0 .1.023.1.083 0 .046-.027.07-.07.073l.07.123h-.05l-.07-.12h-.03v.123h-.05v-.282z"
                        clipRule="evenodd"
                    />
                    <path d="M16.719 12.392c-.398 0-.627.232-.627.63 0 .435.249.607.617.604.418 0 .644-.212.644-.604 0-.398-.232-.63-.634-.63" />
                    <path
                        fillRule="evenodd"
                        d="M3.355 3.355h17.29v17.29H3.355zm3.319 6.78c.926 0 1.208.1 1.513.282.508.299.783.83.78 1.493 0 .764-.345 1.377-.94 1.676-.248.126-.484.193-1.088.193h-.6v2.124H5.24v-5.768zm-1.182 6.312H5.24v2.34h.252zm2.144.833a.57.57 0 0 1 .471-.236c.173 0 .319.067.422.183.136.15.172.312.179.717v.036h-.98v.04c0 .16.02.282.074.372.09.149.232.209.392.209.152 0 .275-.05.384-.16l.097.17a.76.76 0 0 1-.531.212c-.435 0-.697-.338-.697-.903 0-.285.056-.47.189-.64m2.569.219a.425.425 0 0 0-.421-.451q-.251-.001-.495.262c0-.14-.057-.266-.057-.266l-.239.073s.06.116.06.359v1.31h.239v-1.264c.113-.13.309-.239.435-.239.073 0 .139.03.172.073.043.057.057.103.057.282v1.148h.249zm-.256-7.703c-.358 0-.657.306-.657.687s.292.69.64.69c.359 0 .65-.308.65-.69 0-.378-.281-.687-.633-.687m.511 1.756-1.049.176v4.171h1.05zm.83 5.539h-.408v-.644h-.253v.644h-.205v.202h.205v1.165c0 .173.044.282.153.339.06.03.123.046.206.046.11 0 .14-.013.219-.056l-.033-.17c-.021.01-.029.017-.037.02-.01.003-.022.003-.06.003-.156 0-.202-.063-.202-.252v-1.095h.338zm-4.404-.644h.246v1.789c0 .292.01.448.046.547h-.252s-.03-.083-.033-.172a.47.47 0 0 1-.415.199c-.408 0-.64-.319-.64-.86 0-.361.109-.627.325-.786.1-.077.189-.107.301-.107.176 0 .332.08.425.216 0 0-.003-.14-.003-.262zm7.049 2.4.537-1.76h-.285l-.309 1.115c-.036.14-.096.359-.096.359h-.007s-.046-.262-.093-.422l-.321-1.101-.243.09.342 1.061a8 8 0 0 1 .196.803c-.07.186-.15.26-.302.312l.073.18c.275-.07.402-.296.508-.638m.408-.31c0-.135.106-.248.236-.248.129 0 .232.11.235.249 0 .136-.106.248-.235.248-.13 0-.236-.112-.236-.248m2.21-3.726.564.006c.61.007.933.107 1.221.382.236.232.346.524.346.906 0 .358-.103.63-.322.88-.352.398-.956.547-1.583.547-.571 0-1.158-.1-1.52-.458a1.02 1.02 0 0 1-.329-.753c0-.233.053-.349.093-.432h.973a.6.6 0 0 0-.047.273c0 .341.269.524.754.524.265 0 .49-.03.657-.14a.52.52 0 0 0 .258-.431c0-.382-.321-.501-.736-.508l-.448-.01c-.472-.01-.777-.05-.966-.132-.19-.073-.305-.263-.305-.555 0-.272.076-.53.736-.713-.58-.16-.862-.548-.862-1.178 0-.873.667-1.437 1.692-1.437.226 0 .431.033.72.106.22.06.362.093.495.093.288 0 .587-.133.83-.365l.437.707c-.229.222-.448.315-.736.315-.082 0-.167-.01-.23-.018l-.046-.005c.156.199.236.415.236.697 0 .73-.63 1.26-1.484 1.26-.046 0-.076 0-.156-.01-.265.133-.414.233-.414.35 0 .056.063.099.172.099m-4.188-1.912c.245-.232.518-.381.73-.381.276 0 .352.142.352.617v2.764h1.035v-3.103c0-.265-.023-.448-.08-.603-.125-.366-.517-.614-.965-.614-.236 0-.508.066-.72.182-.169.097-.3.194-.45.307l-.011.008a1.15 1.15 0 0 0-.15-.53l-.932.281c.093.282.139.63.139.996v3.08h1.052zm.192 5.486V17.29h.326l.076-.203h-.395v-.643h-.252v.643h-.206v.203h.206v1.165c0 .172.043.282.153.338.06.03.122.047.205.047.11 0 .14-.014.22-.057l-.034-.17-.023.013c-.019.011-.019.011-.073.011-.156 0-.203-.063-.203-.252m-.746-1.334-.256.043v1.692h.256z"
                        clipRule="evenodd"
                    />
                </g>
            </svg>
        );
    }
);
