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

function IconModelServiceComponent(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-model_service${loadingKls} ${className}`} width={width} height={height} viewBox="0 0 20 20" fill={useCurrentColor ? 'currentColor' : '#000'} xmlns="http://www.w3.org/2000/svg" {...rest} ref={ref}><path d="M11.0242 10.0403C11.3047 10.0292 11.571 9.91389 11.7711 9.71702C11.8854 9.60702 11.9752 9.47421 12.0348 9.3272C12.0944 9.1802 12.1224 9.0223 12.117 8.86377C12.1115 8.70524 12.0728 8.54962 12.0033 8.40705C11.9337 8.26447 11.835 8.13813 11.7134 8.03623C11.5919 7.93433 11.4502 7.85916 11.2977 7.8156C11.1451 7.77204 10.9852 7.76107 10.8281 7.7834C10.6711 7.80573 10.5205 7.86087 10.3861 7.94522C10.2518 8.02957 10.1367 8.14125 10.0484 8.27301C9.88949 8.50444 9.82251 8.78677 9.8605 9.06491C9.89849 9.34306 10.0387 9.59708 10.2539 9.77742C10.469 9.95777 10.7436 10.0515 11.0242 10.0403Z"/><path fillRule="evenodd" clipRule="evenodd" d="M3.40909 2.5C2.90701 2.5 2.5 2.90701 2.5 3.40909V16.5909C2.5 17.093 2.90701 17.5 3.40909 17.5H16.5909C17.093 17.5 17.5 17.093 17.5 16.5909V3.40909C17.5 2.90701 17.093 2.5 16.5909 2.5H3.40909ZM13.9624 5.92967C14.0074 5.9747 14.0383 6.03195 14.0511 6.09432C14.2991 7.15839 14.2271 8.27204 13.8439 9.29525C13.4608 10.3185 12.7837 11.2056 11.8977 11.845C11.8412 11.9025 11.798 11.9717 11.7711 12.0477C11.5726 12.8234 11.1703 13.5319 10.6057 14.0997C10.3325 14.3553 10.0356 14.5844 9.71905 14.7837C9.67687 14.807 9.63034 14.8212 9.58237 14.8256C9.53441 14.8299 9.48606 14.8243 9.44038 14.8091C9.39737 14.7962 9.35756 14.7743 9.32354 14.745C9.28952 14.7157 9.26206 14.6796 9.24294 14.6389C9.22382 14.5983 9.21347 14.5541 9.21257 14.5092C9.21167 14.4643 9.22024 14.4197 9.23772 14.3784C9.38515 13.9538 9.47047 13.5101 9.49105 13.061C9.49262 13.0018 9.47958 12.9431 9.45307 12.89C9.42656 12.837 9.3874 12.7913 9.33905 12.757C8.91133 12.4471 8.50507 12.1085 8.12304 11.7437C7.75823 11.3617 7.41968 10.9554 7.10969 10.5277C7.0754 10.4793 7.02972 10.4402 6.9767 10.4137C6.92368 10.3872 6.86495 10.3741 6.80569 10.3757C6.35667 10.3963 5.91297 10.4816 5.48834 10.629C5.44256 10.6437 5.39431 10.649 5.34644 10.6446C5.29857 10.6403 5.25206 10.6264 5.20967 10.6037C5.17114 10.5823 5.13725 10.5535 5.10997 10.5189C5.08268 10.4844 5.06256 10.4447 5.05077 10.4022C5.03898 10.3598 5.03576 10.3154 5.04129 10.2717C5.04683 10.228 5.06101 10.1859 5.083 10.1477C5.27597 9.82668 5.5055 9.52914 5.76701 9.26101C6.33191 8.69265 7.04153 8.28966 7.81903 8.09567C7.89942 8.07869 7.97121 8.03382 8.0217 7.969C8.67229 7.08994 9.56563 6.42018 10.5918 6.04211C11.618 5.66403 12.7324 5.59413 13.7978 5.84099C13.8601 5.85381 13.9174 5.88464 13.9624 5.92967ZM6.3251 13.5424C6.0754 13.2927 6.98342 11.9534 7.18772 11.7491C7.29723 11.6715 7.4281 11.6299 7.56228 11.6299C7.69646 11.6299 7.82734 11.6715 7.93684 11.7491C8.01086 11.7974 8.07443 11.8601 8.1238 11.9335C8.17317 12.0068 8.20733 12.0893 8.22426 12.1761C8.24119 12.2629 8.24055 12.3521 8.22237 12.4387C8.2042 12.5252 8.16886 12.6072 8.11844 12.6798C7.91414 12.8841 6.57481 13.7921 6.3251 13.5424Z"/></svg>;
}

const IconModelService = React.forwardRef(IconModelServiceComponent);
export default IconModelService;
