import React from 'react';

import Svg, { Path } from 'react-native-svg';

import { IconProps } from './utils/base';

export const Code = ({ height, width, ...rest }: IconProps) => (
  <Svg width={width} height={height} viewBox='0 0 40 48' fill='none' {...rest}>
    <Path
      d='M0 4C0 1.79086 1.79086 0 4 0H28L40 12V44C40 46.2091 38.2091 48 36 48H4C1.79086 48 0 46.2091 0 44V4Z'
      fill='#00ACA1'
    />
    <Path
      d='M18.125 28.875L21.875 15.125M25.2084 18.4583L27.4666 20.8577C28.0706 21.4995 28.0706 22.5005 27.4666 23.1422L25.2084 25.5417M14.7917 25.5417L12.5334 23.1422C11.9294 22.5005 11.9294 21.4995 12.5334 20.8577L14.7917 18.4583'
      stroke='white'
      strokeWidth='1.5'
      strokeLinecap='round'
      strokeLinejoin='round'
    />
    <Path opacity='0.5' d='M40 12L31 12C29.3431 12 28 10.6569 28 9V0L40 12Z' fill='white' />
    <Path
      d='M11.5156 40V34.0547H12.6562V36.3633H12.7266C12.8255 36.1289 12.9792 35.944 13.1875 35.8086C13.3958 35.6732 13.6536 35.6055 13.9609 35.6055C14.2812 35.6055 14.5495 35.6693 14.7656 35.7969C14.9844 35.9219 15.1497 36.1042 15.2617 36.3438C15.3763 36.5833 15.4336 36.875 15.4336 37.2188V40H14.293V37.4766C14.293 37.1719 14.2292 36.9414 14.1016 36.7852C13.974 36.6289 13.7747 36.5508 13.5039 36.5508C13.3294 36.5508 13.1784 36.5911 13.0508 36.6719C12.9258 36.75 12.8281 36.8607 12.7578 37.0039C12.6901 37.1471 12.6562 37.3164 12.6562 37.5117V40H11.5156ZM18.3242 40.0156C17.8034 40.0156 17.4284 39.9245 17.1992 39.7422C16.9701 39.5573 16.8555 39.2565 16.8555 38.8398V36.5586H16.1914V35.6992H16.8555V34.6719H18.0078V35.6992H18.8945V36.5586H18.0078V38.5781C18.0078 38.7708 18.0508 38.9128 18.1367 39.0039C18.2253 39.0924 18.3659 39.1367 18.5586 39.1367C18.6315 39.1367 18.6914 39.1354 18.7383 39.1328C18.7878 39.1276 18.8398 39.1224 18.8945 39.1172V39.9648C18.8242 39.9779 18.7396 39.9896 18.6406 40C18.5417 40.0104 18.4362 40.0156 18.3242 40.0156ZM19.8438 40V35.6992H20.9844V36.3711H21.0547C21.1458 36.1289 21.2969 35.9414 21.5078 35.8086C21.7188 35.6732 21.9648 35.6055 22.2461 35.6055C22.4414 35.6055 22.6185 35.638 22.7773 35.7031C22.9362 35.7656 23.0716 35.8555 23.1836 35.9727C23.2956 36.0898 23.3815 36.2318 23.4414 36.3984H23.5117C23.5768 36.2396 23.6732 36.1016 23.8008 35.9844C23.9284 35.8646 24.0781 35.7721 24.25 35.707C24.4219 35.6393 24.6081 35.6055 24.8086 35.6055C25.0951 35.6055 25.3411 35.6641 25.5469 35.7812C25.7552 35.8984 25.9154 36.0651 26.0273 36.2812C26.1419 36.4948 26.1992 36.75 26.1992 37.0469V40H25.0586V37.332C25.0586 37.1576 25.0326 37.013 24.9805 36.8984C24.9284 36.7839 24.849 36.6979 24.7422 36.6406C24.638 36.5807 24.5065 36.5508 24.3477 36.5508C24.194 36.5508 24.0599 36.5859 23.9453 36.6562C23.8333 36.7266 23.7461 36.8216 23.6836 36.9414C23.6211 37.0612 23.5898 37.1992 23.5898 37.3555V40H22.4492V37.2812C22.4492 37.1276 22.4206 36.9961 22.3633 36.8867C22.3086 36.7773 22.2279 36.694 22.1211 36.6367C22.0169 36.5794 21.8906 36.5508 21.7422 36.5508C21.5938 36.5508 21.4622 36.5885 21.3477 36.6641C21.2357 36.737 21.1471 36.8385 21.082 36.9688C21.0169 37.0964 20.9844 37.2422 20.9844 37.4062V40H19.8438ZM27.3438 40V34.0547H28.4844V40H27.3438Z'
      fill='white'
    />
  </Svg>
);
