import React, { ForwardedRef, useContext } from 'react';
import { OriginIconProps } from '../type';
import { Context } from '../context';

function IconThreatAttributionComponent(props: OriginIconProps, ref: ForwardedRef<SVGSVGElement>) {
    const { prefix: prefixFromContext } = useContext(Context);
    const { className = '', prefix: prefixFromProps, width = '1em', height = '1em', useCurrentColor = true, spin, ...rest } = props;

    const prefix = prefixFromProps || prefixFromContext || 'hiagent';
    const loadingKls = spin ? ` ${prefix}-icon-loading` : '';
    return <svg className={`${prefix}-icon ${prefix}-icon-threat_attribution${loadingKls} ${className}`} width={width} height={height} xmlns="http://www.w3.org/2000/svg" fill={useCurrentColor ? 'currentColor' : '#000'} viewBox="0 0 16 16" {...rest} ref={ref}><path d="M7.77637 1.04297C7.88037 1.06116 7.95965 1.15397 7.95996 1.26562V2.0791C7.95996 2.19025 7.88075 2.28368 7.77441 2.30957L7.72754 2.31641C4.71458 2.45886 2.31473 4.94795 2.31445 7.99707C2.31445 11.1379 4.86016 13.6846 8 13.6846C11.1399 13.6846 13.6855 11.1379 13.6855 7.99707C13.6854 6.65183 13.2184 5.41632 12.4375 4.44238L12.4092 4.40723L12.3779 4.43945L11.4199 5.41602L11.3965 5.44043L11.417 5.46777C11.9406 6.17447 12.2499 7.04983 12.25 7.99707C12.25 10.3453 10.3474 12.249 8 12.249C5.65263 12.249 3.75 10.3453 3.75 7.99707C3.75029 5.6491 5.6528 3.74609 8 3.74609C8.91586 3.74609 9.76405 4.03546 10.458 4.52832L10.4863 4.54785L10.5098 4.52344L12.1904 2.80762L12.2412 2.76562C12.365 2.68237 12.5347 2.69425 12.6455 2.80273L12.8711 3.02441L13.1064 3.2666C14.2561 4.50788 14.9598 6.17083 14.96 7.99707C14.96 11.8423 11.8439 14.96 8 14.96C4.15611 14.96 1.04004 11.8423 1.04004 7.99707C1.04032 4.24245 4.0118 1.1818 7.73047 1.04004L7.77637 1.04297ZM4.37012 13.9863C4.75489 14.2202 5.16403 14.4181 5.59277 14.5752C5.27123 14.4574 4.96056 14.3169 4.66309 14.1553L4.37012 13.9863ZM11.6299 13.9863C11.2451 14.2202 10.836 14.4181 10.4072 14.5752C10.7289 14.4573 11.0393 14.3161 11.3369 14.1543L11.6299 13.9863ZM3.29297 13.1807C3.37576 13.256 3.46053 13.3291 3.54688 13.4004L3.81152 13.6084C3.72179 13.5413 3.63321 13.4726 3.54688 13.4014L3.29297 13.1807ZM12.707 13.1807C12.6241 13.2561 12.5396 13.3299 12.4531 13.4014L12.1885 13.6084C12.2784 13.5411 12.3666 13.4718 12.4531 13.4004L12.707 13.1807ZM4.98242 12.7695C5.06556 12.8223 5.15032 12.8725 5.23633 12.9209C5.15032 12.8725 5.06556 12.8223 4.98242 12.7695ZM11.0166 12.7695C10.9337 12.8221 10.8494 12.8726 10.7637 12.9209C10.8494 12.8726 10.9337 12.8221 11.0166 12.7695ZM1.84473 11.335C2.06024 11.7319 2.31334 12.1053 2.59863 12.4512L2.81836 12.7061C2.51714 12.3745 2.24749 12.0138 2.01367 11.6289L1.84473 11.335ZM13.9863 11.6289C13.8109 11.9176 13.6154 12.1928 13.4014 12.4521L13.1816 12.7061C13.483 12.3743 13.7524 12.0131 13.9863 11.6279V11.6289ZM8.86426 12.2021C8.58508 12.2593 8.29605 12.2891 8 12.2891C7.7779 12.2891 7.55969 12.2728 7.34668 12.2402L7.13574 12.2021C7.4149 12.2593 7.70396 12.2891 8 12.2891C8.22214 12.2891 8.44028 12.2718 8.65332 12.2393L8.86426 12.2021ZM6.33008 11.9521C6.45842 12.0065 6.59024 12.0539 6.72461 12.0957L6.92773 12.1543C6.79057 12.119 6.65591 12.0775 6.52441 12.0293L6.33008 11.9521ZM9.66992 11.9521C9.54148 12.0065 9.40987 12.0549 9.27539 12.0967L9.07227 12.1543C9.20953 12.119 9.344 12.0765 9.47559 12.0283L9.66992 11.9521ZM4.82422 10.8828C5.05505 11.1369 5.31623 11.3628 5.60156 11.5557L5.77539 11.668C5.48041 11.4887 5.20852 11.2751 4.96582 11.0322L4.82422 10.8828ZM11.1758 10.8828C10.9448 11.1371 10.684 11.3637 10.3984 11.5566L10.2246 11.668C10.5194 11.4888 10.7906 11.2748 11.0332 11.0322L11.1758 10.8828ZM8 5.02051C6.35684 5.02051 5.0247 6.35346 5.02441 7.99707C5.02441 9.64092 6.35667 10.9736 8 10.9736C9.6433 10.9736 10.9756 9.64093 10.9756 7.99707C10.9755 7.41339 10.8069 6.86868 10.5166 6.40918L10.4902 6.36621L10.4541 6.40234L9.27637 7.60547L9.26074 7.62207L9.2666 7.64355C9.29784 7.75589 9.31441 7.87468 9.31445 7.99707C9.31445 8.72351 8.72615 9.3125 8 9.3125C7.27385 9.3125 6.68555 8.72351 6.68555 7.99707C6.68583 7.27088 7.27402 6.68262 8 6.68262C8.11301 6.68262 8.22257 6.69685 8.32715 6.72363L8.34961 6.72949L8.36621 6.71289L9.54395 5.50977L9.5791 5.47363L9.53613 5.44824C9.08768 5.17735 8.56194 5.02051 8 5.02051ZM11.5576 10.3975C11.5192 10.4544 11.4795 10.5105 11.4385 10.5654L11.3105 10.7275C11.3981 10.6214 11.4804 10.5108 11.5576 10.3965V10.3975ZM4.33105 10.2227C4.36681 10.2815 4.40392 10.3395 4.44238 10.3965L4.5625 10.5654C4.52131 10.5103 4.48095 10.4546 4.44238 10.3975L4.33105 10.2227ZM2.72559 10.0107C2.7803 10.1541 2.83949 10.2951 2.90527 10.4326C2.83947 10.2951 2.78032 10.1541 2.72559 10.0107ZM13.2734 10.0107C13.2187 10.154 13.1605 10.2952 13.0947 10.4326C13.1605 10.2952 13.2188 10.154 13.2734 10.0107ZM2.46973 9.13574C2.48854 9.22768 2.50901 9.31893 2.53223 9.40918L2.6084 9.67676C2.5259 9.41151 2.46277 9.13783 2.41992 8.85742L2.46973 9.13574ZM13.5312 9.13477C13.5124 9.22677 13.491 9.31788 13.4678 9.4082L13.3916 9.67676C13.4741 9.41152 13.5373 9.13783 13.5801 8.85742L13.5312 9.13477ZM3.84473 9.06934C3.88002 9.20662 3.92254 9.34104 3.9707 9.47266L4.04688 9.66797C3.9655 9.4755 3.89762 9.27591 3.84473 9.07031V9.06934ZM12.1553 9.07031C12.12 9.20748 12.0784 9.34213 12.0303 9.47363L11.9531 9.66797C12.0346 9.47523 12.1023 9.27524 12.1553 9.06934V9.07031ZM6.87695 8.75488C6.91855 8.81651 6.96571 8.87389 7.0166 8.92773C6.99539 8.9053 6.97376 8.88322 6.9541 8.85938L6.87695 8.75488ZM9.12305 8.75488C9.08143 8.81652 9.03432 8.87388 8.9834 8.92773C9.00446 8.90545 9.02539 8.88305 9.04492 8.85938L9.12305 8.75488ZM3.79297 7.15625C3.73893 7.42818 3.71 7.70925 3.70996 7.99707C3.70996 8.21918 3.72725 8.43737 3.75977 8.65039L3.79688 8.8623C3.73974 8.58296 3.70996 8.29331 3.70996 7.99707C3.70999 7.70924 3.73893 7.4282 3.79297 7.15625ZM12.29 7.99707C12.29 8.21936 12.2738 8.43819 12.2412 8.65137L12.2031 8.8623C12.246 8.65265 12.2731 8.43735 12.2842 8.21777L12.29 7.99707ZM6.65234 7.8584L6.64551 7.99707C6.64553 7.92247 6.65343 7.84964 6.66504 7.77832C6.66072 7.80487 6.6551 7.83135 6.65234 7.8584ZM13.458 6.54785C13.5269 6.80813 13.5762 7.076 13.6074 7.34961C13.5855 7.15705 13.5545 6.96741 13.5137 6.78125L13.458 6.54785ZM7.04199 7.03906C6.95217 7.12889 6.87533 7.23165 6.81348 7.34375C6.85414 7.27006 6.90093 7.20024 6.9541 7.13574L7.04199 7.03906ZM7.35449 6.80566C7.31611 6.8265 7.27919 6.8497 7.24316 6.87402L7.13867 6.95215C7.17199 6.92464 7.2063 6.89829 7.24219 6.87402L7.35449 6.80566ZM2.77344 5.8584C2.6406 6.18285 2.53771 6.52263 2.4668 6.87402C2.51972 6.61187 2.58987 6.35603 2.67773 6.1084L2.77344 5.8584ZM4.04688 6.32715C3.97227 6.50362 3.91012 6.68642 3.85938 6.87402C3.8917 6.75451 3.92758 6.63662 3.96973 6.52148L4.04688 6.32715ZM11.9473 6.31348C12.0217 6.48789 12.0817 6.66912 12.1328 6.85449C12.112 6.77903 12.0921 6.70362 12.0674 6.62988L11.9473 6.31348ZM7.72656 6.66992C7.68279 6.67889 7.63978 6.69005 7.59766 6.70312L7.47266 6.74902C7.51308 6.73191 7.55436 6.71631 7.59668 6.70312L7.72656 6.66992ZM12.8086 5.03711C12.8494 5.10324 12.8887 5.17038 12.9268 5.23828L13.0371 5.44531C13.0018 5.37573 12.9648 5.30714 12.9268 5.23926L12.8086 5.03711ZM7.7002 5.07617C7.32718 5.11403 6.97568 5.2234 6.65723 5.3877C6.89132 5.26688 7.14272 5.17449 7.4082 5.12012L7.7002 5.07617ZM8.94141 5.2168C9.00792 5.23937 9.07341 5.26391 9.1377 5.29102C9.0734 5.26394 9.00794 5.23933 8.94141 5.2168ZM5.77539 4.32715C5.42146 4.54224 5.10126 4.80735 4.82422 5.1123L4.68945 5.26758C4.95183 4.94953 5.25907 4.6699 5.60156 4.43848L5.77539 4.32715ZM8.20605 5.06738C8.27411 5.07212 8.3415 5.07955 8.4082 5.08887C8.27481 5.0703 8.1385 5.06055 8 5.06055L8.20605 5.06738ZM8.34375 3.71875C9.02336 3.77264 9.65834 3.98551 10.2119 4.31934L9.92773 4.16309C9.34807 3.871 8.6933 3.70605 8 3.70605L8.34375 3.71875ZM6.92773 3.84082C6.79077 3.87606 6.6567 3.91872 6.52539 3.9668L6.33008 4.04297C6.45852 3.98862 6.59013 3.94026 6.72461 3.89844L6.92773 3.84082ZM13.1357 3.23926C13.3474 3.46777 13.5426 3.71146 13.7227 3.9668C13.5429 3.71184 13.348 3.46844 13.1367 3.24023L13.1357 3.23926ZM2.73926 3.37793C2.59796 3.53883 2.46416 3.70643 2.33789 3.87988C2.39974 3.79492 2.46281 3.71091 2.52832 3.62891L2.73926 3.37793ZM8 3.70605C7.77787 3.70605 7.55971 3.7233 7.34668 3.75586L7.13574 3.79297C7.41492 3.73584 7.70394 3.70605 8 3.70605ZM12.416 2.6709C12.4856 2.67007 12.5555 2.6893 12.6162 2.72852L12.6729 2.77441C12.6015 2.70463 12.5085 2.66995 12.416 2.6709ZM7.9541 2.23145C7.92836 2.26971 7.89178 2.29928 7.85059 2.32129C7.89202 2.29917 7.92831 2.26902 7.9541 2.23047V2.23145ZM7.87988 1.04199C7.89464 1.05166 7.90839 1.0628 7.9209 1.0752L7.95312 1.11426C7.94342 1.10007 7.93209 1.08719 7.91992 1.0752L7.87988 1.04199Z"/></svg>;
}

const IconThreatAttribution = React.forwardRef(IconThreatAttributionComponent);
export default IconThreatAttribution;
