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

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

    const prefix = prefixFromProps || prefixFromContext || 'hiagent';
    const loadingKls = spin ? ` ${prefix}-icon-loading` : '';
    return <svg className={`${prefix}-icon ${prefix}-icon-arrange-memory${loadingKls} ${className}`} width={width} height={height} xmlns="http://www.w3.org/2000/svg" fill={useCurrentColor ? 'currentColor' : 'none'} viewBox="0 0 18 18" {...rest} ref={ref}><g fillRule="evenodd" clipRule="evenodd"><path fill={useCurrentColor ? 'currentColor' : '#BFB4BF'} d="M7.35836 17.2171C7 17.2171 6.54288 17.1159 6.42144 16.7199C6.08424 15.6203 5.59849 14.8752 5.00913 14.4074C4.64944 14.1219 4.1707 14.0563 3.45541 13.9672C3.13553 13.9273 2.74685 13.8774 2.38918 13.7579C2.01451 13.6328 1.62397 13.4162 1.33465 13.0126C1.04125 12.6033 0.972549 12.1399 0.997814 11.7265C1.02265 11.3201 1.1402 10.9154 1.27405 10.5565C1.40932 10.1937 1.57747 9.83635 1.72617 9.52609C1.7453 9.48618 1.76398 9.4473 1.7822 9.40939C1.90464 9.15451 2.00591 8.9437 2.07941 8.7626C2.03971 8.71927 1.96113 8.65306 1.82128 8.56588C1.74043 8.51549 1.65545 8.46774 1.56247 8.41606C1.55513 8.41199 1.54763 8.40782 1.53998 8.40357C1.4594 8.35885 1.36299 8.30534 1.2799 8.25314C1.20744 8.20762 1.05086 8.10747 0.93251 7.95466C0.867142 7.87025 0.77205 7.71767 0.753211 7.50593C0.732301 7.2709 0.814086 7.06814 0.927551 6.92334C1.05017 6.76687 1.23953 6.63704 1.36472 6.55419C1.52248 6.44979 1.72672 6.32736 1.97109 6.18876C2.40012 5.94542 2.98082 5.63645 3.70959 5.26312C4.02209 3.90836 4.66115 2.79291 5.66687 2.00544C6.75636 1.15238 8.19206 0.750061 9.89931 0.750061C12.506 0.750061 14.3671 1.87966 15.5593 3.38217C16.7311 4.85897 17.25 6.68351 17.25 8.12963C17.25 10.9123 15.0583 13.781 11.9241 14.67C12.0834 14.9815 12.4022 15.42 12.9248 15.9961C13.0567 16.1415 13.1209 16.3245 13.1193 16.5065C13.1157 16.9098 12.6599 17.0901 12.2588 17.1319C11.4409 17.2171 10.6168 17.2171 7.35836 17.2171Z"/><path fill={useCurrentColor ? 'currentColor' : '#897C89'} d="M11.8579 9.60462C12.0763 9.95656 11.968 10.4189 11.6161 10.6374C11.4871 10.7174 11.376 10.7723 11.2904 10.8143L11.2827 10.8181C11.1998 10.8588 11.147 10.8847 11.0859 10.921C10.9753 10.9867 10.8021 11.1087 10.4816 11.425C9.96535 12.1502 9.79838 12.4973 9.7358 12.8119C9.65499 13.2182 9.26015 13.482 8.85389 13.4012C8.44764 13.3204 8.18381 12.9256 8.26461 12.5193C8.39612 11.8582 8.74134 11.2779 9.29844 10.5006L9.33425 10.4507L9.37771 10.4072C9.7794 10.0055 10.0613 9.78504 10.3193 9.63166C10.434 9.56343 10.5365 9.51327 10.6124 9.47612C10.6184 9.4732 10.6242 9.47035 10.6298 9.46758C10.7089 9.42881 10.7634 9.40114 10.8251 9.36285C11.1771 9.14443 11.6394 9.25267 11.8579 9.60462Z"/><path fill={useCurrentColor ? 'currentColor' : '#897C89'} d="M10.6933 9.15047C11.1625 8.85924 11.779 9.00356 12.0703 9.47282C12.3615 9.94208 12.2172 10.5586 11.7479 10.8498C11.6078 10.9368 11.4873 10.9962 11.4005 11.0388L11.3928 11.0426C11.3084 11.0839 11.2646 11.1056 11.2136 11.1359C11.1272 11.1873 10.9737 11.2922 10.6726 11.5878C10.1693 12.2968 10.032 12.604 9.98098 12.8608C9.87324 13.4024 9.34679 13.7542 8.80511 13.6465C8.26344 13.5387 7.91166 13.0123 8.0194 12.4706C8.16214 11.753 8.53587 11.1355 9.09523 10.355L9.14297 10.2884L9.20092 10.2305C9.61151 9.81987 9.9098 9.5843 10.1915 9.41681C10.315 9.34338 10.4249 9.28957 10.501 9.25234L10.5197 9.24316C10.5197 9.24316 10.5197 9.24316 10.5197 9.24316M10.6933 9.15047C10.6429 9.18175 10.5979 9.20484 10.5197 9.24316ZM11.6454 9.73648C11.4998 9.50185 11.1916 9.42969 10.9569 9.5753C10.884 9.62059 10.8199 9.65284 10.7399 9.69207L10.7223 9.7007C10.6466 9.73775 10.5522 9.78403 10.447 9.84658C10.2128 9.98585 9.94725 10.1912 9.55448 10.584L9.5255 10.613L9.50163 10.6463C8.94678 11.4205 8.63008 11.9634 8.5098 12.5681C8.45593 12.839 8.63181 13.1022 8.90265 13.1561C9.17349 13.2099 9.43672 13.0341 9.49059 12.7632C9.56425 12.3928 9.75913 12.0088 10.2779 11.28L10.2905 11.2623L10.3059 11.247C10.6356 10.9218 10.8247 10.7854 10.9581 10.7061C11.0279 10.6646 11.0887 10.6348 11.168 10.5959L11.1726 10.5937L11.1803 10.5899"/><path fill={useCurrentColor ? 'currentColor' : '#897C89'} d="M9.58397 2.938C9.27298 2.84993 8.95044 2.83784 8.61516 2.86795C7.51915 2.96657 6.47945 3.38024 6.05152 4.3781L6.04118 4.40338L6.03731 4.41358C5.80602 5.02353 5.70785 5.6132 5.74156 6.14254C5.77412 6.65357 5.93743 7.19615 6.33424 7.60956C6.64619 7.93455 7.00209 8.23161 7.4803 8.4787C7.69924 8.59182 7.93304 8.68891 8.18583 8.77329C8.21494 9.28266 8.39359 9.72722 8.67212 10.0874C8.88542 10.3633 9.14802 10.5769 9.42006 10.7257C9.67018 10.8626 10.0091 10.9877 10.3799 10.9842C10.9532 10.9788 11.5196 10.8844 12.011 10.633C12.2063 10.5332 12.3813 10.4126 12.5342 10.2731C13.095 10.367 13.64 10.3325 14.1289 10.151C14.8822 9.87146 15.3668 9.29045 15.5065 8.62389C15.6869 7.7633 15.5324 6.92801 15.2874 6.30507C15.1645 5.99288 15.0057 5.69987 14.8212 5.46222C14.7301 5.34488 14.6127 5.21509 14.4663 5.10198C14.341 5.0051 14.0771 4.82843 13.7017 4.79728C13.6083 4.78953 13.4991 4.77659 13.3985 4.75841C13.3022 4.50956 13.1336 4.31664 12.983 4.18527C12.7425 3.97534 12.4524 3.83208 12.2011 3.73312C11.6894 3.53159 11.0663 3.40861 10.4998 3.3616C10.4339 3.35614 10.3949 3.3485 10.3751 3.3437C10.3653 3.34131 10.3597 3.33949 10.3573 3.33869L10.3546 3.33766C10.3537 3.33727 10.3526 3.3368 10.3464 3.33292C10.3413 3.32968 10.3335 3.3246 10.3208 3.31589C10.3077 3.30691 10.2924 3.29621 10.2716 3.28163L10.2353 3.25623C10.1186 3.17478 9.90313 3.02837 9.58397 2.938Z"/></g></svg>;
}

const IconArrangeMemory = React.forwardRef(IconArrangeMemoryComponent);
export default IconArrangeMemory;
