添加链接
注册
登录
link管理
链接快照平台
输入网页链接,自动生成快照
标签化管理网页链接
相关文章推荐
满身肌肉的风衣
·
geemap
·
2 周前
·
面冷心慈的草稿本
·
章若楠_百度百科
·
2 周前
·
独立的肉夹馍
·
全年营收增至6481亿美元,沃尔玛将加大中国 ...
·
5 月前
·
耍酷的墨镜
·
why are mat operators ...
·
8 月前
·
卖萌的水桶
·
7.2 ...
·
11 月前
·
link管理
›
Read data from a file using read() in C
https://www.educative.io/answers/read-data-from-a-file-using-read-in-c
挂过科的企鹅
6 月前
</noscript><div id="__next"><div class="ed-grid __variable_95156b __className_95156b"><nav class="sticky top-0 h-14 w-full sm:h-16 show-enterprise-nav bg-indigo-1000 dark:bg-gray-D1100 justify-between mx-auto transition duration-300 ease-in-out lg:px-6 border-0 border-b border-solid border-gray-L300 dark:border-gray-D1200" style="grid-area:ed-grid-header;z-index:12"><span class="flex sm:hidden logged-in"><button class="icon-default m-1.5 sm:m-2 sm:-mr-3 lg:hidden" aria-label="toggle sidebar mobile"><div class="flex dark:text-gray-D200"><svg xmlns="http://www.w3.org/2000/svg" height="24" viewbox="0 0 24 24" width="24" font-size="large" class="fill-current"><path d="M0 0h24v24H0z" fill="none"/><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg></div></button></span><div class="show-enterprise-nav"><span class="flex logged-in"><button class="icon-default m-1.5 -mr-4 sm:-mr-3 sm:m-2 " aria-label="toggle sidebar mobile"><div class="flex text-white dark:text-gray-D200"><svg xmlns="http://www.w3.org/2000/svg" height="24" viewbox="0 0 24 24" width="24" font-size="large" class="fill-current"><path d="M0 0h24v24H0z" fill="none"/><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg></div></button></span></div><button aria-label="sidebar-btn" class="logged-out my-2 flex items-center lg:hidden icon-default cursor-pointer justify-center fill-current dark:text-gray-D200"><svg xmlns="http://www.w3.org/2000/svg" height="24" viewbox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg></button><div class="flex flex-row items-center"><a title="educative.io" class="ml-1 lg:ml-3 flex cursor-pointer items-center duration-200 hover:text-black focus:text-black" href="/"><svg viewbox="0 0 100 100" fill="currentColor" xmlns="http://www.w3.org/2000/svg" height="26px" class="show-enterprise-nav text-white"><path d="M83.3333 0H16.6667C7.46115 0 0 7.46115 0 16.6667V83.326C0 92.5315 7.46115 99.9927 16.6593 99.9927H83.326C92.5315 99.9927 100 92.5388 100 83.3333V16.6667C100 7.46115 92.5388 0 83.3333 0ZM22.4861 81.5597L14.871 74.5896C14.3433 74.0985 14.3067 73.2703 14.7977 72.7353L31.479 54.5001C31.9261 54.0164 31.9408 53.2762 31.5157 52.7704L15.9191 34.2348C15.4573 33.6778 15.5233 32.8569 16.0803 32.3879L23.9666 25.7402C24.5236 25.2785 25.3445 25.3445 25.8135 25.9015L48.7101 53.1369C49.1352 53.6426 49.1205 54.3829 48.6734 54.8739L24.333 81.4937C23.842 82.0141 23.0211 82.0507 22.4934 81.567L22.4861 81.5597ZM85.5981 81.1346C85.5981 81.8602 85.0117 82.4465 84.2861 82.4465H48.9226C48.197 82.4465 47.6107 81.8602 47.6107 81.1346V71.416C47.6107 70.6904 48.197 70.1041 48.9226 70.1041H84.2861C85.0117 70.1041 85.5981 70.6904 85.5981 71.416V81.1346Z" fill="currentColor"/></svg><svg viewbox="0 0 100 100" fill="currentColor" xmlns="http://www.w3.org/2000/svg" height="26px" class="hide-enterprise-nav text-logo dark:text-white"><path d="M83.3333 0H16.6667C7.46115 0 0 7.46115 0 16.6667V83.326C0 92.5315 7.46115 99.9927 16.6593 99.9927H83.326C92.5315 99.9927 100 92.5388 100 83.3333V16.6667C100 7.46115 92.5388 0 83.3333 0ZM22.4861 81.5597L14.871 74.5896C14.3433 74.0985 14.3067 73.2703 14.7977 72.7353L31.479 54.5001C31.9261 54.0164 31.9408 53.2762 31.5157 52.7704L15.9191 34.2348C15.4573 33.6778 15.5233 32.8569 16.0803 32.3879L23.9666 25.7402C24.5236 25.2785 25.3445 25.3445 25.8135 25.9015L48.7101 53.1369C49.1352 53.6426 49.1205 54.3829 48.6734 54.8739L24.333 81.4937C23.842 82.0141 23.0211 82.0507 22.4934 81.567L22.4861 81.5597ZM85.5981 81.1346C85.5981 81.8602 85.0117 82.4465 84.2861 82.4465H48.9226C48.197 82.4465 47.6107 81.8602 47.6107 81.1346V71.416C47.6107 70.6904 48.197 70.1041 48.9226 70.1041H84.2861C85.0117 70.1041 85.5981 70.6904 85.5981 71.416V81.1346Z" fill="currentColor"/></svg><div class="show-enterprise-nav"><svg viewbox="0 0 396 66" fill="currentColor" xmlns="http://www.w3.org/2000/svg" height="16px" class="text-white tailwind-hidden ml-1 sm:block"><path d="m36.3 51.1 5.4 6.5c-2 2.5-4.5 4.4-7.3 5.5-3 1.3-6.4 1.9-10 1.9-4.9 0-9-1-12.7-3a20.8 20.8 0 0 1-8.4-8.2c-2-3.5-3-7.5-3-12 0-4.4 1-8.3 3-11.8 1.8-3.5 4.5-6.3 8-8.3 3.3-2 7.1-3 11.4-3 3.8 0 7.6 1 11 2.8 3.3 1.8 6 4.6 8 7.9 1.9 3.4 2.8 7.4 2.8 12L11.4 48c1 2.5 2.7 4.5 5 6 2.2 1.2 5 2 8.1 2 4.7 0 8.6-1.7 11.8-5Zm-22.7-20c-2.3 2.5-3.4 5.9-3.4 10.1v.1l24.5-4.9a12 12 0 0 0-12-9.2c-3.8 0-6.8 1.3-9 3.8ZM86 58.7V65h9V2.2h-8.7v22.6a16 16 0 0 0-6.1-4.6A22.2 22.2 0 0 0 61 21.6c-3.3 1.9-6 4.7-7.8 8-2 3.6-2.9 7.7-2.9 12.2 0 4.6 1 8.7 2.9 12.2 1.7 3.4 4.5 6.3 7.8 8.2a22.3 22.3 0 0 0 19.5 1.3c2.5-1 4.5-2.7 5.6-4.9ZM73.6 56c-2.3 0-4.6-.6-6.6-1.7-2-1.2-3.6-3-4.6-5a15.9 15.9 0 0 1-1.7-7.5c0-2.8.5-5.3 1.7-7.4 1-2 2.6-3.8 4.6-5C71 27 76 27 80.1 29.4c2 1.2 3.6 3 4.7 5 1 2.1 1.7 4.6 1.7 7.4 0 2.9-.6 5.4-1.7 7.5A12.3 12.3 0 0 1 73.5 56ZM145 18.7V65h-9v-6.3a19 19 0 0 1-14.2 6.4c-5.9 0-8.9-1.7-12.2-5-3.3-3.4-5-8.4-5-15V18.8h8.9v24.9c0 4 .6 7 2.3 9 1.8 2 4.3 3.1 7.6 3.1 3.6 0 6.5-1.2 8.6-3.5 2.2-2.4 4-4.3 4-10.2V18.8h9ZM164.6 62a21 21 0 0 1-8.2-8.2c-2-3.7-3-7.9-3-12 0-4.6 1-8.5 3-12 1.9-3.5 4.7-6.4 8.1-8.3 3.5-2 7.5-3 12-3 4.1 0 7.8 1 11 2.8 3 1.7 5.6 4.5 7 7.8l-7.6 4.7c-1-2-2.6-3.5-4.5-4.7-1.9-1-4-1.6-6-1.5-3.8 0-6.8 1.2-9.3 3.8-2.4 2.6-3.6 6-3.6 10.4 0 4.3 1.2 7.7 3.6 10.3a12 12 0 0 0 9.2 3.8 11.9 11.9 0 0 0 10.6-6.2l7.7 4.7c-1.6 3.3-4 6-7.2 7.9a21.3 21.3 0 0 1-11 2.8c-4.4 0-8.3-1-11.8-3ZM273.7 54.5a8.7 8.7 0 0 1-5.7 1.9c-2 0-3.4-.6-4.5-1.8-1-1.1-2-3.3-2-5V27.7h11.2v-9h-11.2v-9h-9v9h-6.7v9h6.7V50c0 5 1.3 8.8 4 11.4 2.6 2.6 5.5 3.8 10.3 3.8 1.8 0 3.6-.3 5.4-.8 1.6-.4 3-1.2 4.3-2.3l-2.8-7.5ZM285.8 18.8h8.8V65h-8.8V18.8ZM349.6 18.8 330.9 65h-10.4l-18.1-46.2h10l13.4 34.6 14-34.6h9.7ZM386.8 51.2l5.4 6.5c-1.9 2.5-4.4 4.4-7.3 5.5a26 26 0 0 1-10.1 1.9c-4.8 0-9-1-12.6-3a24.4 24.4 0 0 1-11.9-20.3 24.7 24.7 0 0 1 11.3-20.2c3.4-2 7.3-3 11.6-3 3.8 0 7.7 1 11 2.8 3.4 1.9 6.2 4.6 8 8 2 3.4 3 7.4 3 12L361.8 48c1 2.5 2.7 4.6 5 6 2.3 1.3 5 2 8.2 2 4.7 0 8.7-1.6 11.8-5ZM364.1 31c-2.3 2.5-3.5 6-3.5 10.2v.1l24.6-5a12.1 12.1 0 0 0-12-9.2c-3.8 0-6.8 1.3-9.2 3.9ZM294.7.8h-9v9h9v-9ZM235 22.1a20.5 20.5 0 0 0-12.7-3.6c-9.4 0-15.6 2.5-18.5 7.4l8.7 4.1c1.3-2.5 4.3-3.6 9.4-3.6 3.2 0 5.5.4 6.8 1.2 1.4.7 2.1 1.7 2.4 2.8.3 1.2 0 3 0 5.5h-2.4c-18.7 0-28.1 5.4-28.1 16 0 3.9 1.6 7.1 4.7 9.6 3 2.4 7 3.6 11.6 3.6 5.8 0 10.7-1.4 14.7-4.2v4l8.7.2V35.7c0-6.7-1.8-11.2-5.2-13.6Zm-3.4 29.5a13.8 13.8 0 0 1-5.2 4 17 17 0 0 1-7.2 1.6 11 11 0 0 1-6.3-1.5 4.8 4.8 0 0 1-2-4.2c0-5.4 5.4-8 16.2-8h4.5v8.1Z"/></svg></div><div class="hide-enterprise-nav"><svg viewbox="0 0 396 66" fill="currentColor" xmlns="http://www.w3.org/2000/svg" height="16px" class="text-gray-L900 dark:text-white tailwind-hidden ml-1 sm:block"><path d="m36.3 51.1 5.4 6.5c-2 2.5-4.5 4.4-7.3 5.5-3 1.3-6.4 1.9-10 1.9-4.9 0-9-1-12.7-3a20.8 20.8 0 0 1-8.4-8.2c-2-3.5-3-7.5-3-12 0-4.4 1-8.3 3-11.8 1.8-3.5 4.5-6.3 8-8.3 3.3-2 7.1-3 11.4-3 3.8 0 7.6 1 11 2.8 3.3 1.8 6 4.6 8 7.9 1.9 3.4 2.8 7.4 2.8 12L11.4 48c1 2.5 2.7 4.5 5 6 2.2 1.2 5 2 8.1 2 4.7 0 8.6-1.7 11.8-5Zm-22.7-20c-2.3 2.5-3.4 5.9-3.4 10.1v.1l24.5-4.9a12 12 0 0 0-12-9.2c-3.8 0-6.8 1.3-9 3.8ZM86 58.7V65h9V2.2h-8.7v22.6a16 16 0 0 0-6.1-4.6A22.2 22.2 0 0 0 61 21.6c-3.3 1.9-6 4.7-7.8 8-2 3.6-2.9 7.7-2.9 12.2 0 4.6 1 8.7 2.9 12.2 1.7 3.4 4.5 6.3 7.8 8.2a22.3 22.3 0 0 0 19.5 1.3c2.5-1 4.5-2.7 5.6-4.9ZM73.6 56c-2.3 0-4.6-.6-6.6-1.7-2-1.2-3.6-3-4.6-5a15.9 15.9 0 0 1-1.7-7.5c0-2.8.5-5.3 1.7-7.4 1-2 2.6-3.8 4.6-5C71 27 76 27 80.1 29.4c2 1.2 3.6 3 4.7 5 1 2.1 1.7 4.6 1.7 7.4 0 2.9-.6 5.4-1.7 7.5A12.3 12.3 0 0 1 73.5 56ZM145 18.7V65h-9v-6.3a19 19 0 0 1-14.2 6.4c-5.9 0-8.9-1.7-12.2-5-3.3-3.4-5-8.4-5-15V18.8h8.9v24.9c0 4 .6 7 2.3 9 1.8 2 4.3 3.1 7.6 3.1 3.6 0 6.5-1.2 8.6-3.5 2.2-2.4 4-4.3 4-10.2V18.8h9ZM164.6 62a21 21 0 0 1-8.2-8.2c-2-3.7-3-7.9-3-12 0-4.6 1-8.5 3-12 1.9-3.5 4.7-6.4 8.1-8.3 3.5-2 7.5-3 12-3 4.1 0 7.8 1 11 2.8 3 1.7 5.6 4.5 7 7.8l-7.6 4.7c-1-2-2.6-3.5-4.5-4.7-1.9-1-4-1.6-6-1.5-3.8 0-6.8 1.2-9.3 3.8-2.4 2.6-3.6 6-3.6 10.4 0 4.3 1.2 7.7 3.6 10.3a12 12 0 0 0 9.2 3.8 11.9 11.9 0 0 0 10.6-6.2l7.7 4.7c-1.6 3.3-4 6-7.2 7.9a21.3 21.3 0 0 1-11 2.8c-4.4 0-8.3-1-11.8-3ZM273.7 54.5a8.7 8.7 0 0 1-5.7 1.9c-2 0-3.4-.6-4.5-1.8-1-1.1-2-3.3-2-5V27.7h11.2v-9h-11.2v-9h-9v9h-6.7v9h6.7V50c0 5 1.3 8.8 4 11.4 2.6 2.6 5.5 3.8 10.3 3.8 1.8 0 3.6-.3 5.4-.8 1.6-.4 3-1.2 4.3-2.3l-2.8-7.5ZM285.8 18.8h8.8V65h-8.8V18.8ZM349.6 18.8 330.9 65h-10.4l-18.1-46.2h10l13.4 34.6 14-34.6h9.7ZM386.8 51.2l5.4 6.5c-1.9 2.5-4.4 4.4-7.3 5.5a26 26 0 0 1-10.1 1.9c-4.8 0-9-1-12.6-3a24.4 24.4 0 0 1-11.9-20.3 24.7 24.7 0 0 1 11.3-20.2c3.4-2 7.3-3 11.6-3 3.8 0 7.7 1 11 2.8 3.4 1.9 6.2 4.6 8 8 2 3.4 3 7.4 3 12L361.8 48c1 2.5 2.7 4.6 5 6 2.3 1.3 5 2 8.2 2 4.7 0 8.7-1.6 11.8-5ZM364.1 31c-2.3 2.5-3.5 6-3.5 10.2v.1l24.6-5a12.1 12.1 0 0 0-12-9.2c-3.8 0-6.8 1.3-9.2 3.9ZM294.7.8h-9v9h9v-9ZM235 22.1a20.5 20.5 0 0 0-12.7-3.6c-9.4 0-15.6 2.5-18.5 7.4l8.7 4.1c1.3-2.5 4.3-3.6 9.4-3.6 3.2 0 5.5.4 6.8 1.2 1.4.7 2.1 1.7 2.4 2.8.3 1.2 0 3 0 5.5h-2.4c-18.7 0-28.1 5.4-28.1 16 0 3.9 1.6 7.1 4.7 9.6 3 2.4 7 3.6 11.6 3.6 5.8 0 10.7-1.4 14.7-4.2v4l8.7.2V35.7c0-6.7-1.8-11.2-5.2-13.6Zm-3.4 29.5a13.8 13.8 0 0 1-5.2 4 17 17 0 0 1-7.2 1.6 11 11 0 0 1-6.3-1.5 4.8 4.8 0 0 1-2-4.2c0-5.4 5.4-8 16.2-8h4.5v8.1Z"/></svg></div></a></div><div class="tailwind-hidden flex-row lg:flex pl-6 h-full"><div class="hide-enterprise-nav"><div class="flex cursor-pointer flex-row logged-out"><button class="m-0 text-default relative rounded-sm px-3 pb-2 pt-3 font-bold leading-6 "><div class="body-three flex gap-x-2">Explore<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="devpath:hidden"><polyline points="6 9 12 15 18 9"/></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tailwind-hidden w-2 rotate-90 fill-black devpath:block"><polygon points="5 3 19 12 5 21 5 3"/></svg></div><div class="absolute left-0 top-14 z-20 mt-2 devpath:top-16 devpath:lg:top-18 hidden"><div class="flex w-full flex-col overflow-hidden rounded-md bg-transparent pb-6 lg:w-max lg:bg-white lg:pb-0 lg:shadow-md dark:lg:bg-gray-D1100" style="max-width:780px"><div class="flex w-full cursor-default flex-col lg:flex-row"><div class="flex flex-col gap-y-2 px-6 py-4 text-left lg:w-1/3 lg:bg-indigo-1000 lg:px-8 lg:py-8 dark:lg:bg-gray-D1200"><span class="heading-six text-indigo-700 dark:text-gray-D50 lg:text-white">EXPLORE THE CATALOG</span><span class="caption-text whitespace-normal font-normal text-gray-L500 dark:text-gray-D200 lg:text-white">Supercharge your career with 700+ hands-on courses</span><div class="mt-4 w-fit cursor-pointer rounded bg-white px-3 py-2 font-bold text-indigo-500 transition hover:bg-gray-L200 hover:text-indigo-700 dark:bg-indigo-500 dark:text-white dark:hover:bg-indigo-700 dark:hover:text-gray-D50">View All Courses</div></div><div class="px-4 lg:px-6 lg:py-8 flex flex-wrap text-start lg:w-2/3 lg:gap-y-4"><div class="w-1/4 whitespace-normal group cursor-pointer rounded-md p-2"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-medium font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">Python</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400"/></div></div></div><div class="w-1/4 whitespace-normal group cursor-pointer rounded-md p-2"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-medium font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">Java</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400"/></div></div></div><div class="w-1/4 whitespace-normal group cursor-pointer rounded-md p-2"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-medium font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">JavaScript</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400"/></div></div></div><div class="w-1/4 whitespace-normal group cursor-pointer rounded-md p-2"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-medium font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">C</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400"/></div></div></div><div class="w-1/4 whitespace-normal group cursor-pointer rounded-md p-2"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-medium font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">React</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400"/></div></div></div><div class="w-1/4 whitespace-normal group cursor-pointer rounded-md p-2"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-medium font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">Docker</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400"/></div></div></div><div class="w-1/4 whitespace-normal group cursor-pointer rounded-md p-2"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-medium font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">Vue JS</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400"/></div></div></div><div class="w-1/4 whitespace-normal group cursor-pointer rounded-md p-2"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-medium font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">R</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400"/></div></div></div><div class="w-1/4 whitespace-normal group cursor-pointer rounded-md p-2"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-medium font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">Web Dev</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400"/></div></div></div><div class="w-1/4 whitespace-normal group cursor-pointer rounded-md p-2"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-medium font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">DevOps</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400"/></div></div></div><div class="w-1/4 whitespace-normal group cursor-pointer rounded-md p-2"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-medium font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">AWS</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400"/></div></div></div><div class="w-1/4 whitespace-normal group cursor-pointer rounded-md p-2"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-medium font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">C#</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400"/></div></div></div></div></div><div class="flex w-full cursor-default"><div class="border-0 border-b border-solid border-indigo-900 dark:border-gray-D1000 w-1/3"/><div class="border-0 border-b border-solid border-gray-L50 dark:border-gray-D1200 w-2/3"/></div><div class="flex w-full cursor-default flex-col lg:flex-row"><div class="flex flex-col gap-y-2 px-6 py-4 text-left lg:w-1/3 lg:bg-indigo-1000 lg:px-8 lg:py-8 dark:lg:bg-gray-D1200"><span class="heading-six text-indigo-700 dark:text-gray-D50 lg:text-white">LEARNING TOOLS</span><span class="caption-text whitespace-normal font-normal text-gray-L500 dark:text-gray-D200 lg:text-white">Explore the industry's most complete learning platform</span></div><div class="px-2 lg:pr-0 lg:py-8 flex-col sm:flex-row whitespace-normal flex flex-wrap text-start lg:w-2/3 lg:gap-y-4"><div class="sm:w-1/2 lg:w-fit hover:bg-gray-L25 dark:hover:bg-gray-D1000 group cursor-pointer rounded-md p-2" style="min-width:205px"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex h-10 w-fit items-center justify-center rounded bg-indigo-50 dark:bg-gray-D900 dark:group-hover:bg-indigo-200"><div class="mx-2 flex h-6 w-6 items-center justify-center fill-current stroke-current text-indigo-500 dark:text-indigo-200 dark:group-hover:text-gray-D900"><svg viewbox="0 0 18 22" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-6 w-6"><path d="M1 18.5A2.5 2.5 0 0 1 3.5 16H17" stroke="current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M3.5 1H17v20H3.5A2.5 2.5 0 0 1 1 18.5v-15A2.5 2.5 0 0 1 3.5 1v0Z" stroke="current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></div></div><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-small font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">Courses</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400">Level up your skills</span></div></div></div><div class="sm:w-1/2 lg:w-fit hover:bg-gray-L25 dark:hover:bg-gray-D1000 group cursor-pointer rounded-md p-2" style="min-width:205px"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex h-10 w-fit items-center justify-center rounded bg-indigo-50 dark:bg-gray-D900 dark:group-hover:bg-indigo-200"><div class="mx-2 flex h-6 w-6 items-center justify-center fill-current stroke-current text-indigo-500 dark:text-indigo-200 dark:group-hover:text-gray-D900"><svg width="14" height="14" viewbox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-full w-full"><path d="M11.952 9.285a1.333 1.333 0 0 0-.681-.365l-1.592-.318a4 4 0 0 0-2.573.344l-.212.106a4 4 0 0 1-2.573.345l-1.288-.258c-.437-.087-.89.05-1.204.365m2.504-7.838h5.334L9 2.333V5.78c0 .354.14.693.39.943l3.334 3.333c.84.84.245 2.277-.943 2.277H2.219c-1.188 0-1.783-1.437-.943-2.277l3.333-3.333c.25-.25.39-.589.39-.943V2.333l-.666-.667Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></div></div><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-small font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">Cloud Labs</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400">Setup-free practice with Cloud Services</span></div></div></div><div class="sm:w-1/2 lg:w-fit hover:bg-gray-L25 dark:hover:bg-gray-D1000 group cursor-pointer rounded-md p-2" style="min-width:205px"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex h-10 w-fit items-center justify-center rounded bg-indigo-50 dark:bg-gray-D900 dark:group-hover:bg-indigo-200"><div class="mx-2 flex h-6 w-6 items-center justify-center fill-current stroke-current text-indigo-500 dark:text-indigo-200 dark:group-hover:text-gray-D900"><svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewbox="0 0 24 24" class="w-full"><polyline points="23 6 13.5 15.5 8.5 10.5 1 18"/><polyline points="17 6 23 6 23 12"/></svg></div></div><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-small font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">Skill Paths</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400">Achieve learning goals</span></div></div></div><div class="sm:w-1/2 lg:w-fit hover:bg-gray-L25 dark:hover:bg-gray-D1000 group cursor-pointer rounded-md p-2" style="min-width:205px"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex h-10 w-fit items-center justify-center rounded bg-indigo-50 dark:bg-gray-D900 dark:group-hover:bg-indigo-200"><div class="mx-2 flex h-6 w-6 items-center justify-center fill-current stroke-current text-indigo-500 dark:text-indigo-200 dark:group-hover:text-gray-D900"><svg viewbox="0 0 22 22" fill="currentColor" stroke="none" xmlns="http://www.w3.org/2000/svg" class="w-full"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.5 2.1C6.1 1.1 7.2.5 9 .5c1.7 0 2.8.6 3.5 1.6.2.4.4 1 .4 1.4H16.3c.3 0 .8.2 1.2.5.3.4.4.9.5 1.2v3.3c.4.1 1 .2 1.5.5.5.2 1 .7 1.3 1.3.4.6.5 1.3.5 2.2 0 .9-.1 1.6-.5 2.2-.3.6-.8 1-1.3 1.3-.5.2-1 .4-1.5.4V19.8c0 .3-.2.8-.5 1.2a2 2 0 0 1-1.2.5H2a2 2 0 0 1-1.2-.3c-.4-.3-.6-.6-.7-1l-.2-.9v-4.8h1c.5 0 1.1 0 1.6-.3.2 0 .4-.2.5-.5.2-.2.3-.6.3-1.2s-.1-1-.3-1.3c0-.2-.3-.3-.5-.4-.4-.3-1-.3-1.6-.3H0V5.2C0 5 .2 4.4.5 4a2 2 0 0 1 1.2-.5H5c.1-.4.2-1 .5-1.4Zm1.7 1C7 3.5 7 4 7 4.5v1H2v3c.5 0 1 .2 1.6.5.5.3 1 .7 1.3 1.3.3.6.5 1.3.5 2.2 0 .9-.2 1.6-.5 2.2-.4.6-.9 1-1.4 1.3-.5.3-1 .4-1.5.4v3.1h14v-5h1c.5 0 1 0 1.6-.3l.5-.5.2-1.2c0-.6 0-1-.2-1.2l-.5-.5c-.5-.3-1.1-.3-1.6-.3h-1v-5h-5v-1c0-.5 0-1-.2-1.4-.2-.2-.6-.6-1.8-.6-1.3 0-1.6.4-1.8.6Zm9 16.4Zm-14.3 0Z" fill="current"/><path fill-rule="evenodd" clip-rule="evenodd" d="m9.2 8 4.4 4.4L9.3 17 8 15.5l3-3-3.1-3L9.2 8Z" fill="current"/></svg></div></div><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-small font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">Projects</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400">Build real-world applications</span></div></div></div><div class="sm:w-1/2 lg:w-fit hover:bg-gray-L25 dark:hover:bg-gray-D1000 group cursor-pointer rounded-md p-2" style="min-width:205px"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex h-10 w-fit items-center justify-center rounded bg-indigo-50 dark:bg-gray-D900 dark:group-hover:bg-indigo-200"><div class="mx-2 flex h-6 w-6 items-center justify-center fill-current stroke-current text-indigo-500 dark:text-indigo-200 dark:group-hover:text-gray-D900"><svg viewbox="0 0 23 24" fill="current" stroke="none" xmlns="http://www.w3.org/2000/svg" class="w-full"><circle cx="9" cy="14.5" r="1.9" fill="current" stroke="current"/><path d="m18.2 9.8 4.2-5c.1-.2 0-.4-.2-.4l-4 .3-.2-.2-.4-4c0-.2-.3-.3-.4-.1l-4.2 5s-.1.2 0 .2l1 3.6.2.2 3.8.5.2-.1Z" fill="current"/><path fill-rule="evenodd" clip-rule="evenodd" d="m8.3 15 6-7.2.7.6-6 7.2-.7-.7Z" fill="current"/><mask id="assessmentsHeaderNav" fill="#fff"><path d="M9.8 5.5a9 9 0 1 0 8 6.8l-2.3.5a6.7 6.7 0 1 1-5.9-5l.2-2.3Z"/></mask><path d="M9.8 5.5a9 9 0 1 0 8 6.8l-2.3.5a6.7 6.7 0 1 1-5.9-5l.2-2.3Z" fill="current" stroke="current" stroke-width="4" mask="url(#assessmentsHeaderNav)"/></svg></div></div><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-small font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">Assessments</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400">Benchmark your skills</span></div></div></div><div class="sm:w-1/2 lg:w-fit hover:bg-gray-L25 dark:hover:bg-gray-D1000 group cursor-pointer rounded-md p-2" style="min-width:205px"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex h-10 w-fit items-center justify-center rounded bg-indigo-50 dark:bg-gray-D900 dark:group-hover:bg-indigo-200"><div class="mx-2 flex h-6 w-6 items-center justify-center fill-current stroke-current text-indigo-500 dark:text-indigo-200 dark:group-hover:text-gray-D900"><svg viewbox="0 0 24 19" width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.5 6 2 3.4 15.1 1h.2l7.6 2.2c.3 0 .3.4 0 .5L10.6 5.9h-.1Z"/><path d="m2 15.5 8.5 2.5h.1l11.8-2.4c.2 0 .2-.2.2-.3v-6c0-.1-.1-.3-.3-.2l-11.7 2.4h-.1L2 9H2C1.3 8.4.2 5.4 2 3.5m0 0 8.5 2.4h.1L23 3.7c.3 0 .3-.5 0-.5L15.3 1H15l-13 2.5Z" stroke-width="2" stroke-linecap="round"/></svg></div></div><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-small font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">Personalized Paths</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400">Get the right resources for your goals</span></div></div></div></div></div><div class="fixed bottom-0 flex w-full cursor-pointer items-center justify-between gap-x-4 bg-indigo-500 px-6 py-4 text-white lg:static lg:px-8 lg:py-1.5"><p class="lg:body-medium body-small m-0">Get real-world practice with AI-powered Mock Interviews</p><div class="flex gap-x-2.5 py-1.5"><span class="navigation-text tailwind-hidden lg:block">Try Now</span><div class="flex h-6 w-6 items-center justify-center"><svg width="16" height="16" viewbox="0 0 16 16" fill="" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 fill-white"><path d="M8 0L6.59 1.41L12.17 7H0V9H12.17L6.59 14.59L8 16L16 8L8 0Z" fill="current"/></svg></div></div></div></div></div></button></div><div class="flex cursor-pointer flex-row "><button class="m-0 text-default relative rounded-sm px-3 pb-2 pt-3 font-bold leading-6 "><div class="body-three flex gap-x-2">Pricing</div></button></div><div class="flex cursor-pointer flex-row "><button class="m-0 text-default relative rounded-sm px-3 pb-2 pt-3 font-bold leading-6 "><div class="body-three flex gap-x-2">For Business</div></button></div><div class="flex cursor-pointer flex-row "><button class="m-0 text-default relative rounded-sm px-3 pb-2 pt-3 font-bold leading-6 "><div class="body-three flex gap-x-2">Resources</div><div class="absolute left-0 top-14 z-20 mt-2 devpath:top-16 devpath:lg:top-18 hidden"><div class="-mt-0.5 flex rounded border border-solid border-gray-L200 bg-white shadow-lg dark:border-gray-D1200 dark:bg-gray-D1100"><div class="flex cursor-default flex-col gap-2 py-4 shadow-md"><a href="/blog" target="_blank" rel="noreferrer"><div id="Blog" class="group flex w-full cursor-pointer items-center bg-white px-4 py-3 hover:bg-gray-L50 dark:bg-gray-D1100 dark:hover:bg-gray-D1000 "><div class="flex flex-row w-full items-start dark:text-gray-D200"><div class="flex h-10 w-10 items-center justify-center rounded bg-indigo-50 dark:bg-gray-D900 dark:group-hover:bg-indigo-200"><div class="flex h-6 w-6 items-center justify-center text-indigo-500 dark:text-indigo-200 dark:group-hover:text-gray-L600"><svg height="20" width="19.988" viewbox="67.569 17.147 19.988 20" xmlns="http://www.w3.org/2000/svg"><path d="M84.082 17.147c.207.054.411.121.61.2a2.248 2.248 0 0 1 1.411 2.163c.016 2.301 0 4.599 0 6.204 0 .044 0 .09-.014.148a2.427 2.427 0 0 0-1.527.181v-6.487h-15.44c0 .064-.012.134-.012.2v12.767c0 .622.294.916.91.916h7.596c-.147.503-.287.999-.437 1.473a.196.196 0 0 1-.059.052.178.178 0 0 1-.075.02H69.994a2.33 2.33 0 0 1-2.318-1.629c-.04-.13-.071-.262-.107-.4V19.181a.78.78 0 0 0 .037-.102 2.263 2.263 0 0 1 1.334-1.72c.218-.085.441-.156.668-.212h14.474ZM83.202 30.004l2.447 2.427c-.038.042-.082.09-.126.134-1.199 1.2-2.404 2.399-3.614 3.599a.828.828 0 0 1-.328.2c-.854.26-1.711.509-2.571.755a.603.603 0 0 1-.304.016.32.32 0 0 1-.216-.4c.267-.932.538-1.858.814-2.776a.451.451 0 0 1 .116-.178 1019.19 1019.19 0 0 1 3.742-3.751.131.131 0 0 1 .04-.026Zm-1.857 5.702c-.072-.382-.14-.748-.214-1.11a.157.157 0 0 0-.09-.108c-.366-.082-.735-.156-1.111-.232-.136.464-.254.912-.4 1.35a.401.401 0 0 0 .134.438.293.293 0 0 0 .368.054l1.313-.392Z" fill="currentColor"/><path d="M82.233 26.428v1.515H71.437v-1.515h10.796ZM82.231 23.345v1.517H71.435v-1.517h10.796ZM81.509 29.52c-.714.502-1.399 1-2.107 1.476a.527.527 0 0 1-.256.056h-7.505c-.064 0-.128 0-.21-.016V29.52h10.078ZM86.391 31.542 84.08 29.26c.342-.363.662-.743 1.026-1.071a.741.741 0 0 1 .973.05c.436.412.862.836 1.272 1.273a.803.803 0 0 1 0 1.072c-.042.05-.087.098-.134.144l-.826.814Z" fill="currentColor"/></svg></div></div><div class="ml-4 flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="text-base font-bold leading-6 text-gray-L900 dark:text-gray-D200">Blog</span></span><span style="letter-spacing:0.5px" class="text-xs font-semibold leading-5 text-gray-L500 dark:text-gray-D400">For developers, By developers</span></div></div></div></a><a href="/cheatsheets" target="_blank" rel="noreferrer"><div id="Cheatsheets" class="group flex w-full cursor-pointer items-center bg-white px-4 py-3 hover:bg-gray-L50 dark:bg-gray-D1100 dark:hover:bg-gray-D1000 "><div class="flex flex-row w-full items-start dark:text-gray-D200"><div class="flex h-10 w-10 items-center justify-center rounded bg-indigo-50 dark:bg-gray-D900 dark:group-hover:bg-indigo-200"><div class="flex h-6 w-6 items-center justify-center text-indigo-500 dark:text-indigo-200 dark:group-hover:text-gray-L600"><svg width="18" height="16" viewbox="0 0 18 16" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="0.75" y="0.75" width="16.5" height="13.6463" rx="1.25" stroke="currentColor" stroke-width="1.5"/><path d="M2 3.51577V3.42905C2 3.21453 2.16568 3.04108 2.37334 3.04108L12.69 3C12.8977 3 13.0655 3.17116 13.0655 3.38569V3.47241C13.0655 3.68693 12.8999 3.86038 12.6922 3.86038L2.37555 3.90146C2.16789 3.90146 2 3.72801 2 3.51577Z" fill="currentColor"/><path d="M2 5.27261V5.18589C2 4.97136 2.16568 4.79792 2.37334 4.79792L12.69 4.75684C12.8977 4.75684 13.0655 4.928 13.0655 5.14252V5.22925C13.0655 5.44377 12.8999 5.61722 12.6922 5.61722L2.37555 5.65829C2.16789 5.65829 2 5.48485 2 5.27261Z" fill="currentColor"/><path d="M2 7.02651V6.93979C2 6.72527 2.16568 6.55182 2.37334 6.55182L12.69 6.51074C12.8977 6.51074 13.0655 6.68191 13.0655 6.89643V6.98315C13.0655 7.19768 12.8999 7.37112 12.6922 7.37112L2.37555 7.4122C2.16789 7.4122 2 7.23876 2 7.02651Z" fill="currentColor"/><path d="M11.8096 10.9053H11V12.9682H11.8096V10.9053Z" fill="currentColor"/><path d="M13.0088 9.15723H12.1992V12.9684H13.0088V9.15723Z" fill="currentColor"/><path d="M14.209 9.86328H13.3994V12.9675H14.209V9.86328Z" fill="currentColor"/><path d="M15.4082 7.98145H14.5986V12.9681H15.4082V7.98145Z" fill="currentColor"/><path d="M7.37674 9C7.2045 9 7.06492 9.13621 7.06492 9.30394C7.06492 9.36585 7.08405 9.42214 7.11557 9.47054L6.13846 10.5704C6.09794 10.5523 6.05404 10.5411 6.00676 10.5411C5.90995 10.5411 5.82439 10.5839 5.76698 10.6503L4.94522 10.2946C4.94747 10.2811 4.94859 10.2664 4.94859 10.2518C4.94859 10.0852 4.80901 9.94784 4.63677 9.94784C4.46567 9.94784 4.32608 10.0841 4.32608 10.2518C4.32608 10.3114 4.34409 10.3677 4.37449 10.4139L3.44803 11.4225C3.40638 11.4023 3.36023 11.3921 3.31182 11.3921C3.13959 11.3921 3 11.5283 3 11.6961C3 11.8627 3.13959 12 3.31182 12C3.48293 12 3.62251 11.8638 3.62251 11.6961C3.62251 11.6364 3.6045 11.5801 3.57411 11.534L4.50056 10.5253C4.54221 10.5456 4.58837 10.5557 4.63677 10.5557C4.73359 10.5557 4.81914 10.5129 4.87655 10.4465L5.69831 10.8023C5.69606 10.8158 5.69494 10.8304 5.69494 10.845C5.69494 11.0128 5.83452 11.149 6.00676 11.149C6.17786 11.149 6.31745 11.0128 6.31745 10.845C6.31745 10.7842 6.29831 10.7268 6.26679 10.6784L7.2439 9.57861C7.28443 9.59662 7.32833 9.60788 7.37561 9.60788C7.54672 9.60788 7.68631 9.47167 7.68631 9.30394C7.68856 9.13734 7.54897 9 7.37674 9ZM3.31182 11.8356C3.23415 11.8356 3.16998 11.7737 3.16998 11.6972C3.16998 11.6206 3.23415 11.5587 3.31182 11.5587C3.38949 11.5587 3.45366 11.6206 3.45366 11.6972C3.45366 11.7737 3.38949 11.8356 3.31182 11.8356ZM4.6379 10.3914C4.56023 10.3914 4.49606 10.3295 4.49606 10.2529C4.49606 10.1775 4.5591 10.1144 4.6379 10.1144C4.71557 10.1144 4.77974 10.1764 4.77974 10.2529C4.77974 10.3295 4.7167 10.3914 4.6379 10.3914ZM6.00788 10.9835C5.93021 10.9835 5.86604 10.9216 5.86604 10.845C5.86604 10.7696 5.93021 10.7066 6.00788 10.7066C6.08555 10.7066 6.14972 10.7685 6.14972 10.845C6.14972 10.9216 6.08555 10.9835 6.00788 10.9835ZM7.37674 9.4424C7.29906 9.4424 7.2349 9.38049 7.2349 9.30394C7.2349 9.22852 7.29794 9.16548 7.37674 9.16548C7.45441 9.16548 7.51858 9.22739 7.51858 9.30394C7.51858 9.38049 7.45554 9.4424 7.37674 9.4424Z" fill="currentColor"/></svg></div></div><div class="ml-4 flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="text-base font-bold leading-6 text-gray-L900 dark:text-gray-D200">Cheatsheets</span></span><span style="letter-spacing:0.5px" class="text-xs font-semibold leading-5 text-gray-L500 dark:text-gray-D400">Download handy guides for tech topics</span></div></div></div></a><a href="https://www.youtube.com/@Educativeinc" target="_blank" rel="noreferrer"><div id="Webinars" class="group flex w-full cursor-pointer items-center bg-white px-4 py-3 hover:bg-gray-L50 dark:bg-gray-D1100 dark:hover:bg-gray-D1000 "><div class="flex flex-row w-full items-start dark:text-gray-D200"><div class="flex h-10 w-10 items-center justify-center rounded bg-indigo-50 dark:bg-gray-D900 dark:group-hover:bg-indigo-200"><div class="flex h-6 w-6 items-center justify-center text-indigo-500 dark:text-indigo-200 dark:group-hover:text-gray-L600"><svg width="20" height="20" viewbox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.3334 6.9667H1.6667v10a1.6668 1.6668 0 0 0 1.2667 1.3666h10v-1.3666h-10v-10Z" fill="currentColor"/><path d="M16.6667 1.6667h-10A1.6667 1.6667 0 0 0 5 3.3333v10A1.6664 1.6664 0 0 0 6.6667 15h10a1.6666 1.6666 0 0 0 1.6666-1.6667v-10a1.6669 1.6669 0 0 0-1.6666-1.6666Zm-7.5 10V5L15 8.3333l-5.8333 3.3334Z" fill="currentColor"/></svg></div></div><div class="ml-4 flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="text-base font-bold leading-6 text-gray-L900 dark:text-gray-D200">Webinars</span></span><span style="letter-spacing:0.5px" class="text-xs font-semibold leading-5 text-gray-L500 dark:text-gray-D400">Sessions with our global developer community</span></div></div></div></a><a href="/answers" target="_blank" rel="noreferrer"><div id="Answers" class="group flex w-full cursor-pointer items-center bg-white px-4 py-3 hover:bg-gray-L50 dark:bg-gray-D1100 dark:hover:bg-gray-D1000 "><div class="flex flex-row w-full items-start dark:text-gray-D200"><div class="flex h-10 w-10 items-center justify-center rounded bg-indigo-50 dark:bg-gray-D900 dark:group-hover:bg-indigo-200"><div class="flex h-6 w-6 items-center justify-center text-indigo-500 dark:text-indigo-200 dark:group-hover:text-gray-L600"><svg width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="0.5" viewbox="0 0 24 24"><path clip-rule="evenodd" d="M4.4 2.6c-1 0-1.8.8-1.8 2v9.1c0 1.1.8 2 1.8 2h10.1c.2 0 .4 0 .6.2l3.5 2.5V4.6c0-1.2-.9-2-1.8-2H4.4Zm-3.8 2c0-2.2 1.6-4 3.8-4h12.4c2.1 0 3.8 1.8 3.8 4v15.8a1 1 0 0 1-1.6.8l-4.8-3.5H4.4a3.9 3.9 0 0 1-3.8-4V4.6Z" fill="currentColor" fill-rule="evenodd"/><path clip-rule="evenodd" d="M6.5 5.2 10 8.5a.9.9 0 0 1 0 1.3l-3.8 3.3-1.1-1.4 3-2.6-2.8-2.6 1.2-1.3Z" fill="currentColor" fill-rule="evenodd"/></svg></div></div><div class="ml-4 flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="text-base font-bold leading-6 text-gray-L900 dark:text-gray-D200">Answers</span></span><span style="letter-spacing:0.5px" class="text-xs font-semibold leading-5 text-gray-L500 dark:text-gray-D400">Trusted answers to developer questions</span></div></div></div></a></div></div></div></button></div></div></div><div class="flex h-full flex-auto items-center justify-end"><button class="tailwind-hidden lg:flex text-default gap-x-2.5"><svg xmlns="http://www.w3.org/2000/svg" height="24" viewbox="0 0 24 24" width="24" style="min-width:24px" class="show-enterprise-nav text-white dark:text-gray-D50 fill-current"><path d="M0 0h24v24H0z" fill="none"/><path d="M15.5 14h-.8l-.3-.3c1-1.1 1.6-2.6 1.6-4.2a6.5 6.5 0 10-2.3 5l.3.2v.8l5 5 1.5-1.5-5-5zm-6 0a4.5 4.5 0 110-9 4.5 4.5 0 010 9z"/></svg><svg xmlns="http://www.w3.org/2000/svg" height="24" viewbox="0 0 24 24" width="24" style="min-width:24px" class="hide-enterprise-nav dark:text-gray-D200 fill-current"><path d="M0 0h24v24H0z" fill="none"/><path d="M15.5 14h-.8l-.3-.3c1-1.1 1.6-2.6 1.6-4.2a6.5 6.5 0 10-2.3 5l.3.2v.8l5 5 1.5-1.5-5-5zm-6 0a4.5 4.5 0 110-9 4.5 4.5 0 010 9z"/></svg><span class="show-enterprise-nav text-white dark:text-gray-D50">Search</span><span class="hide-enterprise-nav dark:text-gray-D200">Search</span></button><button aria-label="search" class="icon-default rounded-none lg:hidden" disabled="" name="search-icon"><svg xmlns="http://www.w3.org/2000/svg" height="24" viewbox="0 0 24 24" width="24" font-size="large" class="show-enterprise-nav text-white dark:text-gray-D50 fill-current"><path d="M0 0h24v24H0z" fill="none"/><path d="M15.5 14h-.8l-.3-.3c1-1.1 1.6-2.6 1.6-4.2a6.5 6.5 0 10-2.3 5l.3.2v.8l5 5 1.5-1.5-5-5zm-6 0a4.5 4.5 0 110-9 4.5 4.5 0 010 9z"/></svg><svg xmlns="http://www.w3.org/2000/svg" height="24" viewbox="0 0 24 24" width="24" font-size="large" class="hide-enterprise-nav dark:text-gray-D200 fill-current"><path d="M0 0h24v24H0z" fill="none"/><path d="M15.5 14h-.8l-.3-.3c1-1.1 1.6-2.6 1.6-4.2a6.5 6.5 0 10-2.3 5l.3.2v.8l5 5 1.5-1.5-5-5zm-6 0a4.5 4.5 0 110-9 4.5 4.5 0 010 9z"/></svg></button><div class="show-enterprise-nav"><div class="h-8 border-0 border-l border-solid border-gray-L600 tailwind-hidden mx-4 sm:block"/></div><div class="hide-enterprise-nav"><div class="h-8 border-0 border-l border-solid border-gray-L200 dark:border-gray-D1200 tailwind-hidden mx-4 sm:block"/></div><div class="tailwind-hidden sm:flex"><button class="text-default m-0 h-full rounded-none p-4 px-2 sm:px-4"><svg viewbox="0 0 18 22" fill="none" xmlns="http://www.w3.org/2000/svg" class="mx-2 flex text-indigo-500 dark:text-indigo-400 mb-0.5 h-5 w-4 stroke-current"><path d="M1 18.5A2.5 2.5 0 0 1 3.5 16H17" stroke="current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M3.5 1H17v20H3.5A2.5 2.5 0 0 1 1 18.5v-15A2.5 2.5 0 0 1 3.5 1v0Z" stroke="current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg><span class="text-black dark:text-gray-D200">Courses</span></button></div><div class="logged-in mr-2"><div class="relative w-full" style="min-height:36px;min-width:36px"><div class="flex cursor-pointer items-center p-1 sm:ml-2" aria-label="open profile menu" role="button"><svg width="30" height="30" viewbox="-4 -4 32 32" fill="#fff" class="rounded-full bg-gray-L300 dark:bg-gray-D700 flex-shrink-0 "><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg></div></div></div><div class="logged-out h-full"><div class="flex h-full items-center"><button class="m-0 h-full rounded-none p-4 text-default"><span class="text-white dark:text-gray-D50">Log In</span></button><button class="ml-2 mr-4 h-auto max-h-11 rounded-sm px-3 py-2.5 sm:px-4 contained-primary">Join<span class="tailwind-hidden sm:flex"> for free</span><div class="tailwind-hidden sm:flex"><svg xmlns="http://www.w3.org/2000/svg" height="24" viewbox="0 0 24 24" width="24" class="icon-right fill-current"><path d="M0 0h24v24H0z" fill="none"/><path d="M16 11H4v2h12v3l4-4-4-4z"/></svg></div></button></div></div></div></nav><nav class="sticky top-0 h-14 w-full sm:h-16 hide-enterprise-nav bg-white dark:bg-gray-D1400 mx-auto transition duration-300 ease-in-out lg:px-6 border-0 border-b border-solid border-gray-L300 dark:border-gray-D1200" style="grid-area:ed-grid-header;z-index:12"><span class="flex sm:hidden logged-in"><button class="icon-default m-1.5 sm:m-2 sm:-mr-3 lg:hidden" aria-label="toggle sidebar mobile"><div class="flex dark:text-gray-D200"><svg xmlns="http://www.w3.org/2000/svg" height="24" viewbox="0 0 24 24" width="24" font-size="large" class="fill-current"><path d="M0 0h24v24H0z" fill="none"/><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg></div></button></span><div class="show-enterprise-nav"><span class="flex logged-in"><button class="icon-default m-1.5 -mr-4 sm:-mr-3 sm:m-2 " aria-label="toggle sidebar mobile"><div class="flex text-white dark:text-gray-D200"><svg xmlns="http://www.w3.org/2000/svg" height="24" viewbox="0 0 24 24" width="24" font-size="large" class="fill-current"><path d="M0 0h24v24H0z" fill="none"/><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg></div></button></span></div><button aria-label="sidebar-btn" class="logged-out my-2 flex items-center lg:hidden icon-default cursor-pointer justify-center fill-current dark:text-gray-D200"><svg xmlns="http://www.w3.org/2000/svg" height="24" viewbox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg></button><div class="flex flex-row items-center"><a title="educative.io" class="ml-1 lg:ml-3 flex cursor-pointer items-center duration-200 hover:text-black focus:text-black" href="/"><svg viewbox="0 0 100 100" fill="currentColor" xmlns="http://www.w3.org/2000/svg" height="26px" class="show-enterprise-nav text-white"><path d="M83.3333 0H16.6667C7.46115 0 0 7.46115 0 16.6667V83.326C0 92.5315 7.46115 99.9927 16.6593 99.9927H83.326C92.5315 99.9927 100 92.5388 100 83.3333V16.6667C100 7.46115 92.5388 0 83.3333 0ZM22.4861 81.5597L14.871 74.5896C14.3433 74.0985 14.3067 73.2703 14.7977 72.7353L31.479 54.5001C31.9261 54.0164 31.9408 53.2762 31.5157 52.7704L15.9191 34.2348C15.4573 33.6778 15.5233 32.8569 16.0803 32.3879L23.9666 25.7402C24.5236 25.2785 25.3445 25.3445 25.8135 25.9015L48.7101 53.1369C49.1352 53.6426 49.1205 54.3829 48.6734 54.8739L24.333 81.4937C23.842 82.0141 23.0211 82.0507 22.4934 81.567L22.4861 81.5597ZM85.5981 81.1346C85.5981 81.8602 85.0117 82.4465 84.2861 82.4465H48.9226C48.197 82.4465 47.6107 81.8602 47.6107 81.1346V71.416C47.6107 70.6904 48.197 70.1041 48.9226 70.1041H84.2861C85.0117 70.1041 85.5981 70.6904 85.5981 71.416V81.1346Z" fill="currentColor"/></svg><svg viewbox="0 0 100 100" fill="currentColor" xmlns="http://www.w3.org/2000/svg" height="26px" class="hide-enterprise-nav text-logo dark:text-white"><path d="M83.3333 0H16.6667C7.46115 0 0 7.46115 0 16.6667V83.326C0 92.5315 7.46115 99.9927 16.6593 99.9927H83.326C92.5315 99.9927 100 92.5388 100 83.3333V16.6667C100 7.46115 92.5388 0 83.3333 0ZM22.4861 81.5597L14.871 74.5896C14.3433 74.0985 14.3067 73.2703 14.7977 72.7353L31.479 54.5001C31.9261 54.0164 31.9408 53.2762 31.5157 52.7704L15.9191 34.2348C15.4573 33.6778 15.5233 32.8569 16.0803 32.3879L23.9666 25.7402C24.5236 25.2785 25.3445 25.3445 25.8135 25.9015L48.7101 53.1369C49.1352 53.6426 49.1205 54.3829 48.6734 54.8739L24.333 81.4937C23.842 82.0141 23.0211 82.0507 22.4934 81.567L22.4861 81.5597ZM85.5981 81.1346C85.5981 81.8602 85.0117 82.4465 84.2861 82.4465H48.9226C48.197 82.4465 47.6107 81.8602 47.6107 81.1346V71.416C47.6107 70.6904 48.197 70.1041 48.9226 70.1041H84.2861C85.0117 70.1041 85.5981 70.6904 85.5981 71.416V81.1346Z" fill="currentColor"/></svg><div class="show-enterprise-nav"><svg viewbox="0 0 396 66" fill="currentColor" xmlns="http://www.w3.org/2000/svg" height="16px" class="text-white tailwind-hidden ml-1 sm:block"><path d="m36.3 51.1 5.4 6.5c-2 2.5-4.5 4.4-7.3 5.5-3 1.3-6.4 1.9-10 1.9-4.9 0-9-1-12.7-3a20.8 20.8 0 0 1-8.4-8.2c-2-3.5-3-7.5-3-12 0-4.4 1-8.3 3-11.8 1.8-3.5 4.5-6.3 8-8.3 3.3-2 7.1-3 11.4-3 3.8 0 7.6 1 11 2.8 3.3 1.8 6 4.6 8 7.9 1.9 3.4 2.8 7.4 2.8 12L11.4 48c1 2.5 2.7 4.5 5 6 2.2 1.2 5 2 8.1 2 4.7 0 8.6-1.7 11.8-5Zm-22.7-20c-2.3 2.5-3.4 5.9-3.4 10.1v.1l24.5-4.9a12 12 0 0 0-12-9.2c-3.8 0-6.8 1.3-9 3.8ZM86 58.7V65h9V2.2h-8.7v22.6a16 16 0 0 0-6.1-4.6A22.2 22.2 0 0 0 61 21.6c-3.3 1.9-6 4.7-7.8 8-2 3.6-2.9 7.7-2.9 12.2 0 4.6 1 8.7 2.9 12.2 1.7 3.4 4.5 6.3 7.8 8.2a22.3 22.3 0 0 0 19.5 1.3c2.5-1 4.5-2.7 5.6-4.9ZM73.6 56c-2.3 0-4.6-.6-6.6-1.7-2-1.2-3.6-3-4.6-5a15.9 15.9 0 0 1-1.7-7.5c0-2.8.5-5.3 1.7-7.4 1-2 2.6-3.8 4.6-5C71 27 76 27 80.1 29.4c2 1.2 3.6 3 4.7 5 1 2.1 1.7 4.6 1.7 7.4 0 2.9-.6 5.4-1.7 7.5A12.3 12.3 0 0 1 73.5 56ZM145 18.7V65h-9v-6.3a19 19 0 0 1-14.2 6.4c-5.9 0-8.9-1.7-12.2-5-3.3-3.4-5-8.4-5-15V18.8h8.9v24.9c0 4 .6 7 2.3 9 1.8 2 4.3 3.1 7.6 3.1 3.6 0 6.5-1.2 8.6-3.5 2.2-2.4 4-4.3 4-10.2V18.8h9ZM164.6 62a21 21 0 0 1-8.2-8.2c-2-3.7-3-7.9-3-12 0-4.6 1-8.5 3-12 1.9-3.5 4.7-6.4 8.1-8.3 3.5-2 7.5-3 12-3 4.1 0 7.8 1 11 2.8 3 1.7 5.6 4.5 7 7.8l-7.6 4.7c-1-2-2.6-3.5-4.5-4.7-1.9-1-4-1.6-6-1.5-3.8 0-6.8 1.2-9.3 3.8-2.4 2.6-3.6 6-3.6 10.4 0 4.3 1.2 7.7 3.6 10.3a12 12 0 0 0 9.2 3.8 11.9 11.9 0 0 0 10.6-6.2l7.7 4.7c-1.6 3.3-4 6-7.2 7.9a21.3 21.3 0 0 1-11 2.8c-4.4 0-8.3-1-11.8-3ZM273.7 54.5a8.7 8.7 0 0 1-5.7 1.9c-2 0-3.4-.6-4.5-1.8-1-1.1-2-3.3-2-5V27.7h11.2v-9h-11.2v-9h-9v9h-6.7v9h6.7V50c0 5 1.3 8.8 4 11.4 2.6 2.6 5.5 3.8 10.3 3.8 1.8 0 3.6-.3 5.4-.8 1.6-.4 3-1.2 4.3-2.3l-2.8-7.5ZM285.8 18.8h8.8V65h-8.8V18.8ZM349.6 18.8 330.9 65h-10.4l-18.1-46.2h10l13.4 34.6 14-34.6h9.7ZM386.8 51.2l5.4 6.5c-1.9 2.5-4.4 4.4-7.3 5.5a26 26 0 0 1-10.1 1.9c-4.8 0-9-1-12.6-3a24.4 24.4 0 0 1-11.9-20.3 24.7 24.7 0 0 1 11.3-20.2c3.4-2 7.3-3 11.6-3 3.8 0 7.7 1 11 2.8 3.4 1.9 6.2 4.6 8 8 2 3.4 3 7.4 3 12L361.8 48c1 2.5 2.7 4.6 5 6 2.3 1.3 5 2 8.2 2 4.7 0 8.7-1.6 11.8-5ZM364.1 31c-2.3 2.5-3.5 6-3.5 10.2v.1l24.6-5a12.1 12.1 0 0 0-12-9.2c-3.8 0-6.8 1.3-9.2 3.9ZM294.7.8h-9v9h9v-9ZM235 22.1a20.5 20.5 0 0 0-12.7-3.6c-9.4 0-15.6 2.5-18.5 7.4l8.7 4.1c1.3-2.5 4.3-3.6 9.4-3.6 3.2 0 5.5.4 6.8 1.2 1.4.7 2.1 1.7 2.4 2.8.3 1.2 0 3 0 5.5h-2.4c-18.7 0-28.1 5.4-28.1 16 0 3.9 1.6 7.1 4.7 9.6 3 2.4 7 3.6 11.6 3.6 5.8 0 10.7-1.4 14.7-4.2v4l8.7.2V35.7c0-6.7-1.8-11.2-5.2-13.6Zm-3.4 29.5a13.8 13.8 0 0 1-5.2 4 17 17 0 0 1-7.2 1.6 11 11 0 0 1-6.3-1.5 4.8 4.8 0 0 1-2-4.2c0-5.4 5.4-8 16.2-8h4.5v8.1Z"/></svg></div><div class="hide-enterprise-nav"><svg viewbox="0 0 396 66" fill="currentColor" xmlns="http://www.w3.org/2000/svg" height="16px" class="text-gray-L900 dark:text-white tailwind-hidden ml-1 sm:block"><path d="m36.3 51.1 5.4 6.5c-2 2.5-4.5 4.4-7.3 5.5-3 1.3-6.4 1.9-10 1.9-4.9 0-9-1-12.7-3a20.8 20.8 0 0 1-8.4-8.2c-2-3.5-3-7.5-3-12 0-4.4 1-8.3 3-11.8 1.8-3.5 4.5-6.3 8-8.3 3.3-2 7.1-3 11.4-3 3.8 0 7.6 1 11 2.8 3.3 1.8 6 4.6 8 7.9 1.9 3.4 2.8 7.4 2.8 12L11.4 48c1 2.5 2.7 4.5 5 6 2.2 1.2 5 2 8.1 2 4.7 0 8.6-1.7 11.8-5Zm-22.7-20c-2.3 2.5-3.4 5.9-3.4 10.1v.1l24.5-4.9a12 12 0 0 0-12-9.2c-3.8 0-6.8 1.3-9 3.8ZM86 58.7V65h9V2.2h-8.7v22.6a16 16 0 0 0-6.1-4.6A22.2 22.2 0 0 0 61 21.6c-3.3 1.9-6 4.7-7.8 8-2 3.6-2.9 7.7-2.9 12.2 0 4.6 1 8.7 2.9 12.2 1.7 3.4 4.5 6.3 7.8 8.2a22.3 22.3 0 0 0 19.5 1.3c2.5-1 4.5-2.7 5.6-4.9ZM73.6 56c-2.3 0-4.6-.6-6.6-1.7-2-1.2-3.6-3-4.6-5a15.9 15.9 0 0 1-1.7-7.5c0-2.8.5-5.3 1.7-7.4 1-2 2.6-3.8 4.6-5C71 27 76 27 80.1 29.4c2 1.2 3.6 3 4.7 5 1 2.1 1.7 4.6 1.7 7.4 0 2.9-.6 5.4-1.7 7.5A12.3 12.3 0 0 1 73.5 56ZM145 18.7V65h-9v-6.3a19 19 0 0 1-14.2 6.4c-5.9 0-8.9-1.7-12.2-5-3.3-3.4-5-8.4-5-15V18.8h8.9v24.9c0 4 .6 7 2.3 9 1.8 2 4.3 3.1 7.6 3.1 3.6 0 6.5-1.2 8.6-3.5 2.2-2.4 4-4.3 4-10.2V18.8h9ZM164.6 62a21 21 0 0 1-8.2-8.2c-2-3.7-3-7.9-3-12 0-4.6 1-8.5 3-12 1.9-3.5 4.7-6.4 8.1-8.3 3.5-2 7.5-3 12-3 4.1 0 7.8 1 11 2.8 3 1.7 5.6 4.5 7 7.8l-7.6 4.7c-1-2-2.6-3.5-4.5-4.7-1.9-1-4-1.6-6-1.5-3.8 0-6.8 1.2-9.3 3.8-2.4 2.6-3.6 6-3.6 10.4 0 4.3 1.2 7.7 3.6 10.3a12 12 0 0 0 9.2 3.8 11.9 11.9 0 0 0 10.6-6.2l7.7 4.7c-1.6 3.3-4 6-7.2 7.9a21.3 21.3 0 0 1-11 2.8c-4.4 0-8.3-1-11.8-3ZM273.7 54.5a8.7 8.7 0 0 1-5.7 1.9c-2 0-3.4-.6-4.5-1.8-1-1.1-2-3.3-2-5V27.7h11.2v-9h-11.2v-9h-9v9h-6.7v9h6.7V50c0 5 1.3 8.8 4 11.4 2.6 2.6 5.5 3.8 10.3 3.8 1.8 0 3.6-.3 5.4-.8 1.6-.4 3-1.2 4.3-2.3l-2.8-7.5ZM285.8 18.8h8.8V65h-8.8V18.8ZM349.6 18.8 330.9 65h-10.4l-18.1-46.2h10l13.4 34.6 14-34.6h9.7ZM386.8 51.2l5.4 6.5c-1.9 2.5-4.4 4.4-7.3 5.5a26 26 0 0 1-10.1 1.9c-4.8 0-9-1-12.6-3a24.4 24.4 0 0 1-11.9-20.3 24.7 24.7 0 0 1 11.3-20.2c3.4-2 7.3-3 11.6-3 3.8 0 7.7 1 11 2.8 3.4 1.9 6.2 4.6 8 8 2 3.4 3 7.4 3 12L361.8 48c1 2.5 2.7 4.6 5 6 2.3 1.3 5 2 8.2 2 4.7 0 8.7-1.6 11.8-5ZM364.1 31c-2.3 2.5-3.5 6-3.5 10.2v.1l24.6-5a12.1 12.1 0 0 0-12-9.2c-3.8 0-6.8 1.3-9.2 3.9ZM294.7.8h-9v9h9v-9ZM235 22.1a20.5 20.5 0 0 0-12.7-3.6c-9.4 0-15.6 2.5-18.5 7.4l8.7 4.1c1.3-2.5 4.3-3.6 9.4-3.6 3.2 0 5.5.4 6.8 1.2 1.4.7 2.1 1.7 2.4 2.8.3 1.2 0 3 0 5.5h-2.4c-18.7 0-28.1 5.4-28.1 16 0 3.9 1.6 7.1 4.7 9.6 3 2.4 7 3.6 11.6 3.6 5.8 0 10.7-1.4 14.7-4.2v4l8.7.2V35.7c0-6.7-1.8-11.2-5.2-13.6Zm-3.4 29.5a13.8 13.8 0 0 1-5.2 4 17 17 0 0 1-7.2 1.6 11 11 0 0 1-6.3-1.5 4.8 4.8 0 0 1-2-4.2c0-5.4 5.4-8 16.2-8h4.5v8.1Z"/></svg></div></a></div><div class="tailwind-hidden flex-row lg:flex pl-6 h-full"><div class="hide-enterprise-nav"><div class="flex cursor-pointer flex-row logged-out"><button class="m-0 text-default relative rounded-sm px-3 pb-2 pt-3 font-bold leading-6 "><div class="body-three flex gap-x-2">Explore<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="devpath:hidden"><polyline points="6 9 12 15 18 9"/></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tailwind-hidden w-2 rotate-90 fill-black devpath:block"><polygon points="5 3 19 12 5 21 5 3"/></svg></div><div class="absolute left-0 top-14 z-20 mt-2 devpath:top-16 devpath:lg:top-18 hidden"><div class="flex w-full flex-col overflow-hidden rounded-md bg-transparent pb-6 lg:w-max lg:bg-white lg:pb-0 lg:shadow-md dark:lg:bg-gray-D1100" style="max-width:780px"><div class="flex w-full cursor-default flex-col lg:flex-row"><div class="flex flex-col gap-y-2 px-6 py-4 text-left lg:w-1/3 lg:bg-indigo-1000 lg:px-8 lg:py-8 dark:lg:bg-gray-D1200"><span class="heading-six text-indigo-700 dark:text-gray-D50 lg:text-white">EXPLORE THE CATALOG</span><span class="caption-text whitespace-normal font-normal text-gray-L500 dark:text-gray-D200 lg:text-white">Supercharge your career with 700+ hands-on courses</span><div class="mt-4 w-fit cursor-pointer rounded bg-white px-3 py-2 font-bold text-indigo-500 transition hover:bg-gray-L200 hover:text-indigo-700 dark:bg-indigo-500 dark:text-white dark:hover:bg-indigo-700 dark:hover:text-gray-D50">View All Courses</div></div><div class="px-4 lg:px-6 lg:py-8 flex flex-wrap text-start lg:w-2/3 lg:gap-y-4"><div class="w-1/4 whitespace-normal group cursor-pointer rounded-md p-2"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-medium font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">Python</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400"/></div></div></div><div class="w-1/4 whitespace-normal group cursor-pointer rounded-md p-2"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-medium font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">Java</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400"/></div></div></div><div class="w-1/4 whitespace-normal group cursor-pointer rounded-md p-2"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-medium font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">JavaScript</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400"/></div></div></div><div class="w-1/4 whitespace-normal group cursor-pointer rounded-md p-2"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-medium font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">C</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400"/></div></div></div><div class="w-1/4 whitespace-normal group cursor-pointer rounded-md p-2"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-medium font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">React</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400"/></div></div></div><div class="w-1/4 whitespace-normal group cursor-pointer rounded-md p-2"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-medium font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">Docker</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400"/></div></div></div><div class="w-1/4 whitespace-normal group cursor-pointer rounded-md p-2"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-medium font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">Vue JS</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400"/></div></div></div><div class="w-1/4 whitespace-normal group cursor-pointer rounded-md p-2"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-medium font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">R</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400"/></div></div></div><div class="w-1/4 whitespace-normal group cursor-pointer rounded-md p-2"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-medium font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">Web Dev</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400"/></div></div></div><div class="w-1/4 whitespace-normal group cursor-pointer rounded-md p-2"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-medium font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">DevOps</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400"/></div></div></div><div class="w-1/4 whitespace-normal group cursor-pointer rounded-md p-2"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-medium font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">AWS</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400"/></div></div></div><div class="w-1/4 whitespace-normal group cursor-pointer rounded-md p-2"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-medium font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">C#</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400"/></div></div></div></div></div><div class="flex w-full cursor-default"><div class="border-0 border-b border-solid border-indigo-900 dark:border-gray-D1000 w-1/3"/><div class="border-0 border-b border-solid border-gray-L50 dark:border-gray-D1200 w-2/3"/></div><div class="flex w-full cursor-default flex-col lg:flex-row"><div class="flex flex-col gap-y-2 px-6 py-4 text-left lg:w-1/3 lg:bg-indigo-1000 lg:px-8 lg:py-8 dark:lg:bg-gray-D1200"><span class="heading-six text-indigo-700 dark:text-gray-D50 lg:text-white">LEARNING TOOLS</span><span class="caption-text whitespace-normal font-normal text-gray-L500 dark:text-gray-D200 lg:text-white">Explore the industry's most complete learning platform</span></div><div class="px-2 lg:pr-0 lg:py-8 flex-col sm:flex-row whitespace-normal flex flex-wrap text-start lg:w-2/3 lg:gap-y-4"><div class="sm:w-1/2 lg:w-fit hover:bg-gray-L25 dark:hover:bg-gray-D1000 group cursor-pointer rounded-md p-2" style="min-width:205px"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex h-10 w-fit items-center justify-center rounded bg-indigo-50 dark:bg-gray-D900 dark:group-hover:bg-indigo-200"><div class="mx-2 flex h-6 w-6 items-center justify-center fill-current stroke-current text-indigo-500 dark:text-indigo-200 dark:group-hover:text-gray-D900"><svg viewbox="0 0 18 22" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-6 w-6"><path d="M1 18.5A2.5 2.5 0 0 1 3.5 16H17" stroke="current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M3.5 1H17v20H3.5A2.5 2.5 0 0 1 1 18.5v-15A2.5 2.5 0 0 1 3.5 1v0Z" stroke="current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></div></div><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-small font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">Courses</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400">Level up your skills</span></div></div></div><div class="sm:w-1/2 lg:w-fit hover:bg-gray-L25 dark:hover:bg-gray-D1000 group cursor-pointer rounded-md p-2" style="min-width:205px"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex h-10 w-fit items-center justify-center rounded bg-indigo-50 dark:bg-gray-D900 dark:group-hover:bg-indigo-200"><div class="mx-2 flex h-6 w-6 items-center justify-center fill-current stroke-current text-indigo-500 dark:text-indigo-200 dark:group-hover:text-gray-D900"><svg width="14" height="14" viewbox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-full w-full"><path d="M11.952 9.285a1.333 1.333 0 0 0-.681-.365l-1.592-.318a4 4 0 0 0-2.573.344l-.212.106a4 4 0 0 1-2.573.345l-1.288-.258c-.437-.087-.89.05-1.204.365m2.504-7.838h5.334L9 2.333V5.78c0 .354.14.693.39.943l3.334 3.333c.84.84.245 2.277-.943 2.277H2.219c-1.188 0-1.783-1.437-.943-2.277l3.333-3.333c.25-.25.39-.589.39-.943V2.333l-.666-.667Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></div></div><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-small font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">Cloud Labs</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400">Setup-free practice with Cloud Services</span></div></div></div><div class="sm:w-1/2 lg:w-fit hover:bg-gray-L25 dark:hover:bg-gray-D1000 group cursor-pointer rounded-md p-2" style="min-width:205px"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex h-10 w-fit items-center justify-center rounded bg-indigo-50 dark:bg-gray-D900 dark:group-hover:bg-indigo-200"><div class="mx-2 flex h-6 w-6 items-center justify-center fill-current stroke-current text-indigo-500 dark:text-indigo-200 dark:group-hover:text-gray-D900"><svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewbox="0 0 24 24" class="w-full"><polyline points="23 6 13.5 15.5 8.5 10.5 1 18"/><polyline points="17 6 23 6 23 12"/></svg></div></div><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-small font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">Skill Paths</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400">Achieve learning goals</span></div></div></div><div class="sm:w-1/2 lg:w-fit hover:bg-gray-L25 dark:hover:bg-gray-D1000 group cursor-pointer rounded-md p-2" style="min-width:205px"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex h-10 w-fit items-center justify-center rounded bg-indigo-50 dark:bg-gray-D900 dark:group-hover:bg-indigo-200"><div class="mx-2 flex h-6 w-6 items-center justify-center fill-current stroke-current text-indigo-500 dark:text-indigo-200 dark:group-hover:text-gray-D900"><svg viewbox="0 0 22 22" fill="currentColor" stroke="none" xmlns="http://www.w3.org/2000/svg" class="w-full"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.5 2.1C6.1 1.1 7.2.5 9 .5c1.7 0 2.8.6 3.5 1.6.2.4.4 1 .4 1.4H16.3c.3 0 .8.2 1.2.5.3.4.4.9.5 1.2v3.3c.4.1 1 .2 1.5.5.5.2 1 .7 1.3 1.3.4.6.5 1.3.5 2.2 0 .9-.1 1.6-.5 2.2-.3.6-.8 1-1.3 1.3-.5.2-1 .4-1.5.4V19.8c0 .3-.2.8-.5 1.2a2 2 0 0 1-1.2.5H2a2 2 0 0 1-1.2-.3c-.4-.3-.6-.6-.7-1l-.2-.9v-4.8h1c.5 0 1.1 0 1.6-.3.2 0 .4-.2.5-.5.2-.2.3-.6.3-1.2s-.1-1-.3-1.3c0-.2-.3-.3-.5-.4-.4-.3-1-.3-1.6-.3H0V5.2C0 5 .2 4.4.5 4a2 2 0 0 1 1.2-.5H5c.1-.4.2-1 .5-1.4Zm1.7 1C7 3.5 7 4 7 4.5v1H2v3c.5 0 1 .2 1.6.5.5.3 1 .7 1.3 1.3.3.6.5 1.3.5 2.2 0 .9-.2 1.6-.5 2.2-.4.6-.9 1-1.4 1.3-.5.3-1 .4-1.5.4v3.1h14v-5h1c.5 0 1 0 1.6-.3l.5-.5.2-1.2c0-.6 0-1-.2-1.2l-.5-.5c-.5-.3-1.1-.3-1.6-.3h-1v-5h-5v-1c0-.5 0-1-.2-1.4-.2-.2-.6-.6-1.8-.6-1.3 0-1.6.4-1.8.6Zm9 16.4Zm-14.3 0Z" fill="current"/><path fill-rule="evenodd" clip-rule="evenodd" d="m9.2 8 4.4 4.4L9.3 17 8 15.5l3-3-3.1-3L9.2 8Z" fill="current"/></svg></div></div><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-small font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">Projects</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400">Build real-world applications</span></div></div></div><div class="sm:w-1/2 lg:w-fit hover:bg-gray-L25 dark:hover:bg-gray-D1000 group cursor-pointer rounded-md p-2" style="min-width:205px"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex h-10 w-fit items-center justify-center rounded bg-indigo-50 dark:bg-gray-D900 dark:group-hover:bg-indigo-200"><div class="mx-2 flex h-6 w-6 items-center justify-center fill-current stroke-current text-indigo-500 dark:text-indigo-200 dark:group-hover:text-gray-D900"><svg viewbox="0 0 23 24" fill="current" stroke="none" xmlns="http://www.w3.org/2000/svg" class="w-full"><circle cx="9" cy="14.5" r="1.9" fill="current" stroke="current"/><path d="m18.2 9.8 4.2-5c.1-.2 0-.4-.2-.4l-4 .3-.2-.2-.4-4c0-.2-.3-.3-.4-.1l-4.2 5s-.1.2 0 .2l1 3.6.2.2 3.8.5.2-.1Z" fill="current"/><path fill-rule="evenodd" clip-rule="evenodd" d="m8.3 15 6-7.2.7.6-6 7.2-.7-.7Z" fill="current"/><mask id="assessmentsHeaderNav" fill="#fff"><path d="M9.8 5.5a9 9 0 1 0 8 6.8l-2.3.5a6.7 6.7 0 1 1-5.9-5l.2-2.3Z"/></mask><path d="M9.8 5.5a9 9 0 1 0 8 6.8l-2.3.5a6.7 6.7 0 1 1-5.9-5l.2-2.3Z" fill="current" stroke="current" stroke-width="4" mask="url(#assessmentsHeaderNav)"/></svg></div></div><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-small font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">Assessments</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400">Benchmark your skills</span></div></div></div><div class="sm:w-1/2 lg:w-fit hover:bg-gray-L25 dark:hover:bg-gray-D1000 group cursor-pointer rounded-md p-2" style="min-width:205px"><div class="flex w-full items-start gap-3 dark:text-gray-D100"><div class="flex h-10 w-fit items-center justify-center rounded bg-indigo-50 dark:bg-gray-D900 dark:group-hover:bg-indigo-200"><div class="mx-2 flex h-6 w-6 items-center justify-center fill-current stroke-current text-indigo-500 dark:text-indigo-200 dark:group-hover:text-gray-D900"><svg viewbox="0 0 24 19" width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.5 6 2 3.4 15.1 1h.2l7.6 2.2c.3 0 .3.4 0 .5L10.6 5.9h-.1Z"/><path d="m2 15.5 8.5 2.5h.1l11.8-2.4c.2 0 .2-.2.2-.3v-6c0-.1-.1-.3-.3-.2l-11.7 2.4h-.1L2 9H2C1.3 8.4.2 5.4 2 3.5m0 0 8.5 2.4h.1L23 3.7c.3 0 .3-.5 0-.5L15.3 1H15l-13 2.5Z" stroke-width="2" stroke-linecap="round"/></svg></div></div><div class="flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="body-small font-normal text-gray-L900 group-hover:text-indigo-500 dark:text-gray-D100 dark:group-hover:text-indigo-200">Personalized Paths</span></span><span style="letter-spacing:0.5px" class="caption-text font-normal leading-5 text-gray-L500 dark:text-gray-D400">Get the right resources for your goals</span></div></div></div></div></div><div class="fixed bottom-0 flex w-full cursor-pointer items-center justify-between gap-x-4 bg-indigo-500 px-6 py-4 text-white lg:static lg:px-8 lg:py-1.5"><p class="lg:body-medium body-small m-0">Get real-world practice with AI-powered Mock Interviews</p><div class="flex gap-x-2.5 py-1.5"><span class="navigation-text tailwind-hidden lg:block">Try Now</span><div class="flex h-6 w-6 items-center justify-center"><svg width="16" height="16" viewbox="0 0 16 16" fill="" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 fill-white"><path d="M8 0L6.59 1.41L12.17 7H0V9H12.17L6.59 14.59L8 16L16 8L8 0Z" fill="current"/></svg></div></div></div></div></div></button></div><div class="flex cursor-pointer flex-row "><button class="m-0 text-default relative rounded-sm px-3 pb-2 pt-3 font-bold leading-6 "><div class="body-three flex gap-x-2">Pricing</div></button></div><div class="flex cursor-pointer flex-row "><button class="m-0 text-default relative rounded-sm px-3 pb-2 pt-3 font-bold leading-6 "><div class="body-three flex gap-x-2">For Business</div></button></div><div class="flex cursor-pointer flex-row "><button class="m-0 text-default relative rounded-sm px-3 pb-2 pt-3 font-bold leading-6 "><div class="body-three flex gap-x-2">Resources</div><div class="absolute left-0 top-14 z-20 mt-2 devpath:top-16 devpath:lg:top-18 hidden"><div class="-mt-0.5 flex rounded border border-solid border-gray-L200 bg-white shadow-lg dark:border-gray-D1200 dark:bg-gray-D1100"><div class="flex cursor-default flex-col gap-2 py-4 shadow-md"><a href="/blog" target="_blank" rel="noreferrer"><div id="Blog" class="group flex w-full cursor-pointer items-center bg-white px-4 py-3 hover:bg-gray-L50 dark:bg-gray-D1100 dark:hover:bg-gray-D1000 "><div class="flex flex-row w-full items-start dark:text-gray-D200"><div class="flex h-10 w-10 items-center justify-center rounded bg-indigo-50 dark:bg-gray-D900 dark:group-hover:bg-indigo-200"><div class="flex h-6 w-6 items-center justify-center text-indigo-500 dark:text-indigo-200 dark:group-hover:text-gray-L600"><svg height="20" width="19.988" viewbox="67.569 17.147 19.988 20" xmlns="http://www.w3.org/2000/svg"><path d="M84.082 17.147c.207.054.411.121.61.2a2.248 2.248 0 0 1 1.411 2.163c.016 2.301 0 4.599 0 6.204 0 .044 0 .09-.014.148a2.427 2.427 0 0 0-1.527.181v-6.487h-15.44c0 .064-.012.134-.012.2v12.767c0 .622.294.916.91.916h7.596c-.147.503-.287.999-.437 1.473a.196.196 0 0 1-.059.052.178.178 0 0 1-.075.02H69.994a2.33 2.33 0 0 1-2.318-1.629c-.04-.13-.071-.262-.107-.4V19.181a.78.78 0 0 0 .037-.102 2.263 2.263 0 0 1 1.334-1.72c.218-.085.441-.156.668-.212h14.474ZM83.202 30.004l2.447 2.427c-.038.042-.082.09-.126.134-1.199 1.2-2.404 2.399-3.614 3.599a.828.828 0 0 1-.328.2c-.854.26-1.711.509-2.571.755a.603.603 0 0 1-.304.016.32.32 0 0 1-.216-.4c.267-.932.538-1.858.814-2.776a.451.451 0 0 1 .116-.178 1019.19 1019.19 0 0 1 3.742-3.751.131.131 0 0 1 .04-.026Zm-1.857 5.702c-.072-.382-.14-.748-.214-1.11a.157.157 0 0 0-.09-.108c-.366-.082-.735-.156-1.111-.232-.136.464-.254.912-.4 1.35a.401.401 0 0 0 .134.438.293.293 0 0 0 .368.054l1.313-.392Z" fill="currentColor"/><path d="M82.233 26.428v1.515H71.437v-1.515h10.796ZM82.231 23.345v1.517H71.435v-1.517h10.796ZM81.509 29.52c-.714.502-1.399 1-2.107 1.476a.527.527 0 0 1-.256.056h-7.505c-.064 0-.128 0-.21-.016V29.52h10.078ZM86.391 31.542 84.08 29.26c.342-.363.662-.743 1.026-1.071a.741.741 0 0 1 .973.05c.436.412.862.836 1.272 1.273a.803.803 0 0 1 0 1.072c-.042.05-.087.098-.134.144l-.826.814Z" fill="currentColor"/></svg></div></div><div class="ml-4 flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="text-base font-bold leading-6 text-gray-L900 dark:text-gray-D200">Blog</span></span><span style="letter-spacing:0.5px" class="text-xs font-semibold leading-5 text-gray-L500 dark:text-gray-D400">For developers, By developers</span></div></div></div></a><a href="/cheatsheets" target="_blank" rel="noreferrer"><div id="Cheatsheets" class="group flex w-full cursor-pointer items-center bg-white px-4 py-3 hover:bg-gray-L50 dark:bg-gray-D1100 dark:hover:bg-gray-D1000 "><div class="flex flex-row w-full items-start dark:text-gray-D200"><div class="flex h-10 w-10 items-center justify-center rounded bg-indigo-50 dark:bg-gray-D900 dark:group-hover:bg-indigo-200"><div class="flex h-6 w-6 items-center justify-center text-indigo-500 dark:text-indigo-200 dark:group-hover:text-gray-L600"><svg width="18" height="16" viewbox="0 0 18 16" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="0.75" y="0.75" width="16.5" height="13.6463" rx="1.25" stroke="currentColor" stroke-width="1.5"/><path d="M2 3.51577V3.42905C2 3.21453 2.16568 3.04108 2.37334 3.04108L12.69 3C12.8977 3 13.0655 3.17116 13.0655 3.38569V3.47241C13.0655 3.68693 12.8999 3.86038 12.6922 3.86038L2.37555 3.90146C2.16789 3.90146 2 3.72801 2 3.51577Z" fill="currentColor"/><path d="M2 5.27261V5.18589C2 4.97136 2.16568 4.79792 2.37334 4.79792L12.69 4.75684C12.8977 4.75684 13.0655 4.928 13.0655 5.14252V5.22925C13.0655 5.44377 12.8999 5.61722 12.6922 5.61722L2.37555 5.65829C2.16789 5.65829 2 5.48485 2 5.27261Z" fill="currentColor"/><path d="M2 7.02651V6.93979C2 6.72527 2.16568 6.55182 2.37334 6.55182L12.69 6.51074C12.8977 6.51074 13.0655 6.68191 13.0655 6.89643V6.98315C13.0655 7.19768 12.8999 7.37112 12.6922 7.37112L2.37555 7.4122C2.16789 7.4122 2 7.23876 2 7.02651Z" fill="currentColor"/><path d="M11.8096 10.9053H11V12.9682H11.8096V10.9053Z" fill="currentColor"/><path d="M13.0088 9.15723H12.1992V12.9684H13.0088V9.15723Z" fill="currentColor"/><path d="M14.209 9.86328H13.3994V12.9675H14.209V9.86328Z" fill="currentColor"/><path d="M15.4082 7.98145H14.5986V12.9681H15.4082V7.98145Z" fill="currentColor"/><path d="M7.37674 9C7.2045 9 7.06492 9.13621 7.06492 9.30394C7.06492 9.36585 7.08405 9.42214 7.11557 9.47054L6.13846 10.5704C6.09794 10.5523 6.05404 10.5411 6.00676 10.5411C5.90995 10.5411 5.82439 10.5839 5.76698 10.6503L4.94522 10.2946C4.94747 10.2811 4.94859 10.2664 4.94859 10.2518C4.94859 10.0852 4.80901 9.94784 4.63677 9.94784C4.46567 9.94784 4.32608 10.0841 4.32608 10.2518C4.32608 10.3114 4.34409 10.3677 4.37449 10.4139L3.44803 11.4225C3.40638 11.4023 3.36023 11.3921 3.31182 11.3921C3.13959 11.3921 3 11.5283 3 11.6961C3 11.8627 3.13959 12 3.31182 12C3.48293 12 3.62251 11.8638 3.62251 11.6961C3.62251 11.6364 3.6045 11.5801 3.57411 11.534L4.50056 10.5253C4.54221 10.5456 4.58837 10.5557 4.63677 10.5557C4.73359 10.5557 4.81914 10.5129 4.87655 10.4465L5.69831 10.8023C5.69606 10.8158 5.69494 10.8304 5.69494 10.845C5.69494 11.0128 5.83452 11.149 6.00676 11.149C6.17786 11.149 6.31745 11.0128 6.31745 10.845C6.31745 10.7842 6.29831 10.7268 6.26679 10.6784L7.2439 9.57861C7.28443 9.59662 7.32833 9.60788 7.37561 9.60788C7.54672 9.60788 7.68631 9.47167 7.68631 9.30394C7.68856 9.13734 7.54897 9 7.37674 9ZM3.31182 11.8356C3.23415 11.8356 3.16998 11.7737 3.16998 11.6972C3.16998 11.6206 3.23415 11.5587 3.31182 11.5587C3.38949 11.5587 3.45366 11.6206 3.45366 11.6972C3.45366 11.7737 3.38949 11.8356 3.31182 11.8356ZM4.6379 10.3914C4.56023 10.3914 4.49606 10.3295 4.49606 10.2529C4.49606 10.1775 4.5591 10.1144 4.6379 10.1144C4.71557 10.1144 4.77974 10.1764 4.77974 10.2529C4.77974 10.3295 4.7167 10.3914 4.6379 10.3914ZM6.00788 10.9835C5.93021 10.9835 5.86604 10.9216 5.86604 10.845C5.86604 10.7696 5.93021 10.7066 6.00788 10.7066C6.08555 10.7066 6.14972 10.7685 6.14972 10.845C6.14972 10.9216 6.08555 10.9835 6.00788 10.9835ZM7.37674 9.4424C7.29906 9.4424 7.2349 9.38049 7.2349 9.30394C7.2349 9.22852 7.29794 9.16548 7.37674 9.16548C7.45441 9.16548 7.51858 9.22739 7.51858 9.30394C7.51858 9.38049 7.45554 9.4424 7.37674 9.4424Z" fill="currentColor"/></svg></div></div><div class="ml-4 flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="text-base font-bold leading-6 text-gray-L900 dark:text-gray-D200">Cheatsheets</span></span><span style="letter-spacing:0.5px" class="text-xs font-semibold leading-5 text-gray-L500 dark:text-gray-D400">Download handy guides for tech topics</span></div></div></div></a><a href="https://www.youtube.com/@Educativeinc" target="_blank" rel="noreferrer"><div id="Webinars" class="group flex w-full cursor-pointer items-center bg-white px-4 py-3 hover:bg-gray-L50 dark:bg-gray-D1100 dark:hover:bg-gray-D1000 "><div class="flex flex-row w-full items-start dark:text-gray-D200"><div class="flex h-10 w-10 items-center justify-center rounded bg-indigo-50 dark:bg-gray-D900 dark:group-hover:bg-indigo-200"><div class="flex h-6 w-6 items-center justify-center text-indigo-500 dark:text-indigo-200 dark:group-hover:text-gray-L600"><svg width="20" height="20" viewbox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.3334 6.9667H1.6667v10a1.6668 1.6668 0 0 0 1.2667 1.3666h10v-1.3666h-10v-10Z" fill="currentColor"/><path d="M16.6667 1.6667h-10A1.6667 1.6667 0 0 0 5 3.3333v10A1.6664 1.6664 0 0 0 6.6667 15h10a1.6666 1.6666 0 0 0 1.6666-1.6667v-10a1.6669 1.6669 0 0 0-1.6666-1.6666Zm-7.5 10V5L15 8.3333l-5.8333 3.3334Z" fill="currentColor"/></svg></div></div><div class="ml-4 flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="text-base font-bold leading-6 text-gray-L900 dark:text-gray-D200">Webinars</span></span><span style="letter-spacing:0.5px" class="text-xs font-semibold leading-5 text-gray-L500 dark:text-gray-D400">Sessions with our global developer community</span></div></div></div></a><a href="/answers" target="_blank" rel="noreferrer"><div id="Answers" class="group flex w-full cursor-pointer items-center bg-white px-4 py-3 hover:bg-gray-L50 dark:bg-gray-D1100 dark:hover:bg-gray-D1000 "><div class="flex flex-row w-full items-start dark:text-gray-D200"><div class="flex h-10 w-10 items-center justify-center rounded bg-indigo-50 dark:bg-gray-D900 dark:group-hover:bg-indigo-200"><div class="flex h-6 w-6 items-center justify-center text-indigo-500 dark:text-indigo-200 dark:group-hover:text-gray-L600"><svg width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="0.5" viewbox="0 0 24 24"><path clip-rule="evenodd" d="M4.4 2.6c-1 0-1.8.8-1.8 2v9.1c0 1.1.8 2 1.8 2h10.1c.2 0 .4 0 .6.2l3.5 2.5V4.6c0-1.2-.9-2-1.8-2H4.4Zm-3.8 2c0-2.2 1.6-4 3.8-4h12.4c2.1 0 3.8 1.8 3.8 4v15.8a1 1 0 0 1-1.6.8l-4.8-3.5H4.4a3.9 3.9 0 0 1-3.8-4V4.6Z" fill="currentColor" fill-rule="evenodd"/><path clip-rule="evenodd" d="M6.5 5.2 10 8.5a.9.9 0 0 1 0 1.3l-3.8 3.3-1.1-1.4 3-2.6-2.8-2.6 1.2-1.3Z" fill="currentColor" fill-rule="evenodd"/></svg></div></div><div class="ml-4 flex flex-col text-left"><span class="m-0 flex h-max items-center"><span style="letter-spacing:0.5px" class="text-base font-bold leading-6 text-gray-L900 dark:text-gray-D200">Answers</span></span><span style="letter-spacing:0.5px" class="text-xs font-semibold leading-5 text-gray-L500 dark:text-gray-D400">Trusted answers to developer questions</span></div></div></div></a></div></div></div></button></div></div></div><div class="flex h-full flex-auto items-center justify-end"><button class="tailwind-hidden lg:flex text-default gap-x-2.5"><svg xmlns="http://www.w3.org/2000/svg" height="24" viewbox="0 0 24 24" width="24" style="min-width:24px" class="show-enterprise-nav text-white dark:text-gray-D50 fill-current"><path d="M0 0h24v24H0z" fill="none"/><path d="M15.5 14h-.8l-.3-.3c1-1.1 1.6-2.6 1.6-4.2a6.5 6.5 0 10-2.3 5l.3.2v.8l5 5 1.5-1.5-5-5zm-6 0a4.5 4.5 0 110-9 4.5 4.5 0 010 9z"/></svg><svg xmlns="http://www.w3.org/2000/svg" height="24" viewbox="0 0 24 24" width="24" style="min-width:24px" class="hide-enterprise-nav dark:text-gray-D200 fill-current"><path d="M0 0h24v24H0z" fill="none"/><path d="M15.5 14h-.8l-.3-.3c1-1.1 1.6-2.6 1.6-4.2a6.5 6.5 0 10-2.3 5l.3.2v.8l5 5 1.5-1.5-5-5zm-6 0a4.5 4.5 0 110-9 4.5 4.5 0 010 9z"/></svg><span class="show-enterprise-nav text-white dark:text-gray-D50">Search</span><span class="hide-enterprise-nav dark:text-gray-D200">Search</span></button><button aria-label="search" class="icon-default rounded-none lg:hidden" disabled="" name="search-icon"><svg xmlns="http://www.w3.org/2000/svg" height="24" viewbox="0 0 24 24" width="24" font-size="large" class="show-enterprise-nav text-white dark:text-gray-D50 fill-current"><path d="M0 0h24v24H0z" fill="none"/><path d="M15.5 14h-.8l-.3-.3c1-1.1 1.6-2.6 1.6-4.2a6.5 6.5 0 10-2.3 5l.3.2v.8l5 5 1.5-1.5-5-5zm-6 0a4.5 4.5 0 110-9 4.5 4.5 0 010 9z"/></svg><svg xmlns="http://www.w3.org/2000/svg" height="24" viewbox="0 0 24 24" width="24" font-size="large" class="hide-enterprise-nav dark:text-gray-D200 fill-current"><path d="M0 0h24v24H0z" fill="none"/><path d="M15.5 14h-.8l-.3-.3c1-1.1 1.6-2.6 1.6-4.2a6.5 6.5 0 10-2.3 5l.3.2v.8l5 5 1.5-1.5-5-5zm-6 0a4.5 4.5 0 110-9 4.5 4.5 0 010 9z"/></svg></button><div class="show-enterprise-nav"><div class="h-8 border-0 border-l border-solid border-gray-L600 tailwind-hidden mx-4 sm:block"/></div><div class="hide-enterprise-nav"><div class="h-8 border-0 border-l border-solid border-gray-L200 dark:border-gray-D1200 tailwind-hidden mx-4 sm:block"/></div><div class="tailwind-hidden sm:flex"><button class="text-default m-0 h-full rounded-none p-4 px-2 sm:px-4"><svg viewbox="0 0 18 22" fill="none" xmlns="http://www.w3.org/2000/svg" class="mx-2 flex text-indigo-500 dark:text-indigo-400 mb-0.5 h-5 w-4 stroke-current"><path d="M1 18.5A2.5 2.5 0 0 1 3.5 16H17" stroke="current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M3.5 1H17v20H3.5A2.5 2.5 0 0 1 1 18.5v-15A2.5 2.5 0 0 1 3.5 1v0Z" stroke="current" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg><span class="text-black dark:text-gray-D200">Courses</span></button></div><div class="logged-in mr-2"><div class="flex"><div class="flex items-center self-center h-10 cursor-pointer rounded-full px-3 dark:border-gray-D900 sm:border sm:border-solid border-gray-L200 hover:bg-gray-L25 dark:hover:bg-gray-D1300"><svg width="21" height="20" viewbox="0 0 21 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="animate-pulse grayscale "><g clip-path="url(#streak-active-a)"><path d="M18.0595 11.7999C18.2414 15.8525 15.4607 19.497 11.3312 19.9533C11.0491 19.9845 10.7651 19.9999 10.4811 19.9999C6.25157 19.9999 2.82272 16.5712 2.82272 12.3416C2.82272 12.3416 2.65929 5.59206 8.5543 0.424432C9.53628 -0.436423 10.979 0.0143289 10.977 1.75768C10.9759 2.77142 10.9537 3.78503 10.9525 4.79877C10.9512 5.86689 10.9919 7.5825 12.2699 7.96444C12.6638 8.08209 13.1104 8.00662 13.4438 7.76605C13.9321 7.41352 14.124 6.7924 14.3941 6.25411C14.6642 5.71581 15.1605 5.17391 15.757 5.25576C16.1928 5.31542 16.5115 5.69056 16.7485 6.06112C17.8342 7.75897 17.9717 9.84001 18.0596 11.8001L18.0595 11.7999Z" fill="url(#streak-active-b)"/><path d="M14.7715 13.9634C14.6474 14.4467 14.3315 14.9058 14.0409 15.2696C13.6324 15.7811 13.1153 16.2063 12.5316 16.5032C11.3134 17.1229 9.83836 17.1645 8.58932 16.6081C6.999 15.8994 6.03145 14.3635 5.84333 12.662C5.75593 11.8716 5.79588 11.0578 6.03159 10.2953C6.09666 10.0847 6.21459 9.84568 6.43323 9.81793C6.60332 9.79643 6.75676 9.91699 6.87552 10.0406C7.29256 10.475 7.55699 11.0265 7.9517 11.4814C8.3464 11.9363 8.75165 12.3091 9.21627 12.6466C10.1161 13.3003 11.2235 13.7716 12.3554 13.6522C12.7549 13.61 13.1442 13.4936 13.5028 13.3131C13.5831 13.2727 13.6616 13.2289 13.7384 13.1819C13.8854 13.0915 14.028 12.9883 14.1933 12.9385C14.3585 12.8887 14.5568 12.9038 14.6772 13.0273C14.7499 13.1018 14.785 13.2054 14.8039 13.3078C14.8442 13.527 14.827 13.7475 14.7715 13.9634Z" fill="#FFBA53"/></g><defs><lineargradient id="streak-active-b" x1="10.4451" y1="0" x2="10.4451" y2="19.9999" gradientunits="userSpaceOnUse"><stop stop-color="#F1A738"/><stop offset="1" stop-color="#F38709"/></lineargradient><clippath id="streak-active-a"><rect width="15.2457" height="20" fill="white" transform="translate(2.82227)"/></clippath></defs></svg></div></div><div class="relative w-full" style="min-height:36px;min-width:36px"><div class="flex cursor-pointer items-center p-1 sm:ml-2" aria-label="open profile menu" role="button"><svg width="30" height="30" viewbox="-4 -4 32 32" fill="#fff" class="rounded-full bg-gray-L300 dark:bg-gray-D700 flex-shrink-0 "><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg></div></div></div><div class="logged-out h-full"><div class="flex h-full items-center"><button class="m-0 h-full rounded-none p-4 text-default"><span class="text-default">Log In</span></button><button class="ml-2 mr-4 h-auto max-h-11 rounded-sm px-3 py-2.5 sm:px-4 contained-primary">Join<span class="tailwind-hidden sm:flex"> for free</span><div class="tailwind-hidden sm:flex"><svg xmlns="http://www.w3.org/2000/svg" height="24" viewbox="0 0 24 24" width="24" class="icon-right fill-current"><path d="M0 0h24v24H0z" fill="none"/><path d="M16 11H4v2h12v3l4-4-4-4z"/></svg></div></button></div></div></div></nav><div class="sticky sm:z-10 z-10" style="top:var(--header-height);grid-area:ed-grid-header2"><div class="logged-out h-16 "/><div class="bg-gray-L600 text-white"/></div><div class="hidden fixed cursor-pointer bg-gray-L50 items-center rounded-full dark:bg-gray-D1400 border border-solid border-gray-L200 dark:border-gray-D1000 h-7 stroke-current justify-center w-7 lg:opacity-0 opacity-100" id="sidebar-caret-collapse-main" aria-label="toggle sidebar" style="left:0;transform:translateX(calc(5rem * var(--sidebar)));transition:width 200ms ease-in-out, transform 200ms ease-in-out;top:76px;z-index:12" role="navigation"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4 transform transition duration-500 text-gray-L500 dark:text-gray-D100 rotate-0"><polyline points="15 18 9 12 15 6"/></svg></div><nav class="no-scrollbar overflow-x-hidden overscroll-y-contain ed-grid-sidebar no-scrollbar z-30 overflow-visible dark:bg-gray-D1300 hidden lg:!flex " style="transition:max-width 200ms, width 200ms ease-in-out;max-width:calc(6rem * var(--sidebar));width:calc(6rem * var(--sidebar))"><div class="flex h-full w-full flex-col" style="width:6rem"><div class="flex h-full w-full flex-col items-center bg-gray-L50 dark:bg-gray-D1400 justify-between overflow-visible pb-6"><div class="flex flex-col items-center"><div class="my-3 flex flex-col items-center space-y-2"><div class="h-6 w-6 animate-pulse bg-gray-L200 dark:bg-gray-D1300"/><div class="h-4 w-14 animate-pulse bg-gray-L200 dark:bg-gray-D1300"/></div><div class="my-3 flex flex-col items-center space-y-2"><div class="h-6 w-6 animate-pulse bg-gray-L200 dark:bg-gray-D1300"/><div class="h-4 w-14 animate-pulse bg-gray-L200 dark:bg-gray-D1300"/></div><div class="my-3 flex flex-col items-center space-y-2"><div class="h-6 w-6 animate-pulse bg-gray-L200 dark:bg-gray-D1300"/><div class="h-4 w-14 animate-pulse bg-gray-L200 dark:bg-gray-D1300"/></div><div class="my-3 flex flex-col items-center space-y-2"><div class="h-6 w-6 animate-pulse bg-gray-L200 dark:bg-gray-D1300"/><div class="h-4 w-14 animate-pulse bg-gray-L200 dark:bg-gray-D1300"/></div></div><div class="my-3 flex flex-col items-center space-y-2"><div class="h-6 w-6 animate-pulse bg-gray-L200 dark:bg-gray-D1300"/><div class="h-4 w-14 animate-pulse bg-gray-L200 dark:bg-gray-D1300"/></div></div></div></nav><div class="ed-grid-main lesson-page tablet lg:desktop"><div class="flex w-full flex-col"><div class="mx-auto flex w-full flex-col bg-white dark:bg-gray-D1500 dark:text-gray-D200" style="max-width:59.5rem"><div class="w-full lg:hidden"><div class="z-10 flex h-16 flex-1 flex-row items-center justify-between border-0 border-b border-t border-solid border-gray-L200 bg-gray-L25 py-2 dark:border-gray-D1200 dark:bg-gray-D1300"><div class="flex flex-row items-center px-2"><div class="flex flex-row items-center text-gray-L500 dark:text-white"><div class="block h-6 dark:hidden"><svg width="103" height="24" viewbox="0 0 103 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.8 3.6c-1 0-1.8.8-1.8 2v9.1c0 1.1.8 2 1.8 2H16c.2 0 .4 0 .6.2l3.5 2.5V5.6c0-1.2-.8-2-1.8-2H5.8ZM2 5.6c0-2.2 1.7-4 3.8-4h12.4c2.1 0 3.8 1.8 3.8 4v15.8a1 1 0 0 1-1.6.8l-4.8-3.5H5.8a3.9 3.9 0 0 1-3.8-4V5.6Z" fill="#5553FF"/><path fill-rule="evenodd" clip-rule="evenodd" d="m8 6.2 3.4 3.3a.9.9 0 0 1 0 1.3l-3.8 3.3-1.1-1.4 3-2.6-2.8-2.6 1.2-1.3Z" fill="#5553FF"/><path d="M32 13.9c0-.6.2-1.1.5-1.6.4-.4.8-.8 1.4-1 .6-.3 1.3-.4 2.1-.4a9.3 9.3 0 0 1 2.5.4v-.6a2 2 0 0 0-.6-1.6c-.4-.3-1-.5-1.7-.5-.6 0-1 0-1.5.3-.5.1-1 .4-1.5.7l-.7-1.3 1.9-1 2-.2c1.2 0 2.2.3 3 1 .7.6 1 1.6 1 2.8v3.5l.1.5.5.1v1.6a4.3 4.3 0 0 1-.9.1c-.4 0-.7 0-1-.3-.2-.2-.3-.4-.3-.7v-.5a4.6 4.6 0 0 1-3.5 1.7c-.7 0-1.2-.2-1.7-.5a3 3 0 0 1-1.2-1c-.3-.5-.4-1-.4-1.5Zm6 .6.3-.5.2-.4v-1.1l-1.1-.3-1.1-.1c-.7 0-1.3.1-1.8.4-.4.3-.6.7-.6 1.2a1.6 1.6 0 0 0 .8 1.4c.3.2.7.3 1.1.3a3.1 3.1 0 0 0 2.2-1ZM51.3 16.6h-2v-5.2c0-1-.1-1.6-.4-2-.3-.4-.7-.6-1.3-.6-.4 0-.7.1-1.1.3l-1 .8-.7 1.1v5.6h-2V7.2h1.8v2c.3-.5.6-.9 1-1.2a4.5 4.5 0 0 1 2.9-1c.5 0 1 .2 1.4.4.3.2.6.4.8.8l.5 1.2v7.2ZM57 16.8c-.9 0-1.6-.1-2.3-.4-.7-.2-1.3-.6-1.8-1.1l.7-1.4c.5.5 1 .9 1.6 1 .6.3 1.1.4 1.7.4.5 0 1-.1 1.3-.3.4-.2.5-.5.5-1 0-.2 0-.5-.2-.6l-.8-.4-1.3-.3-1.6-.7a2.1 2.1 0 0 1-1.4-2c0-.7.1-1.2.5-1.6a3 3 0 0 1 1.3-1c.5-.2 1.2-.3 1.9-.3s1.3 0 1.9.3a4 4 0 0 1 1.5 1l-.8 1.3c-.4-.4-.9-.7-1.3-.9a3.6 3.6 0 0 0-2.2-.1c-.3 0-.5.1-.7.3-.2.2-.3.4-.3.7 0 .3.1.5.3.7l.6.3 1 .4 2 .7c.5.2.9.4 1.1.8.3.3.5.7.5 1.3 0 1-.4 1.6-1 2.2-.7.5-1.6.7-2.8.7ZM74 7.2h1.9l-4 9.4h-1.7l-1.7-4.2-1.7 4.2h-1.7l-4-9.4h2l3 7.5 1.3-3.5-1.6-4h1.7l1 3 1-3h1.7l-1.6 4 1.4 3.5 3-7.5ZM82.2 16.8h-2a5 5 0 0 1-3-2 5.1 5.1 0 0 1-.7-4.3 4.7 4.7 0 0 1 3.7-3.3c1-.2 1.9-.1 2.6.2.8.3 1.5.7 2 1.4a4.9 4.9 0 0 1 1.2 2.9l-7.4 1.5c.1.5.4 1 .7 1.3.4.4.8.6 1.3.8h1.3a3 3 0 0 0 1.4-.7c.4-.3.7-.7.8-1.2l1.7.2c0 .4-.3 1-.6 1.4a4.7 4.7 0 0 1-3 1.8Zm-4-4.9 5.7-1.1c-.2-.6-.4-1-.8-1.3-.3-.4-.7-.6-1.2-.8-.4-.1-1-.2-1.4 0-.5 0-1 .3-1.3.6l-.8 1.1a3 3 0 0 0-.1 1.5ZM94 9.2c-.8 0-1.5.2-2 .5-.7.3-1 .8-1.3 1.4V17h-2V7.5h1.8v2c.3-.6.8-1 1.3-1.5a3 3 0 0 1 1.7-.6h.5v1.8ZM98.8 17c-.8 0-1.6 0-2.3-.3-.7-.3-1.3-.7-1.8-1.2l.7-1.3c.6.5 1.1.8 1.7 1 .5.2 1 .3 1.6.3.5 0 1 0 1.3-.3.4-.2.6-.5.6-.9 0-.3-.1-.5-.3-.7l-.8-.3-1.2-.4-1.7-.6c-.5-.3-.8-.5-1-.9-.3-.3-.4-.7-.4-1.2 0-.6.2-1.1.5-1.6a3 3 0 0 1 1.3-1c.5-.2 1.2-.3 2-.3l1.8.3a4 4 0 0 1 1.6 1l-.9 1.3c-.4-.4-.8-.7-1.3-.8a3.6 3.6 0 0 0-2.2-.2c-.3 0-.5.2-.7.4l-.2.7c0 .2 0 .4.2.6.1.2.3.3.6.4l1.1.4 1.9.6c.5.2.9.5 1.2.8.2.3.4.8.4 1.4 0 .9-.4 1.6-1 2.1-.7.5-1.6.8-2.7.8Z" fill="#000"/></svg></div><div class="tailwind-hidden h-6 dark:block"><svg width="103" height="25" viewbox="0 0 103 25" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.8 3.7c-1 0-1.8.9-1.8 2v9.2c0 1 .8 1.9 1.8 1.9H16c.2 0 .4 0 .6.2l3.5 2.5V5.7c0-1.1-.8-2-1.8-2H5.8ZM2 5.7c0-2.2 1.7-4 3.8-4h12.4c2.1 0 3.8 1.8 3.8 4v15.8a1 1 0 0 1-1.6.8l-4.8-3.5H5.8a3.9 3.9 0 0 1-3.8-4V5.8Z" fill="#CCCBFF"/><path fill-rule="evenodd" clip-rule="evenodd" d="m8 6.3 3.4 3.3a.9.9 0 0 1 0 1.4l-3.8 3.2-1.1-1.4 3-2.6-2.8-2.6 1.2-1.3Z" fill="#CCCBFF"/><path d="M32 14c0-.6.2-1.1.5-1.6.4-.4.8-.8 1.4-1 .6-.3 1.3-.4 2.1-.4a9.3 9.3 0 0 1 2.5.4v-.6a2 2 0 0 0-.6-1.5c-.4-.4-1-.6-1.7-.6-.6 0-1 0-1.5.3-.5.2-1 .4-1.5.8l-.7-1.4 1.9-1 2-.2c1.2 0 2.2.3 3 1 .7.7 1 1.6 1 2.8v3.5l.1.5.5.2v1.6a4.3 4.3 0 0 1-.9 0c-.4 0-.7 0-1-.3-.2-.2-.3-.4-.3-.7v-.5c-.5.5-1 1-1.6 1.2-.7.3-1.3.4-2 .4-.6 0-1.1 0-1.6-.3a3 3 0 0 1-1.2-1.1c-.3-.4-.4-1-.4-1.5Zm6 .6c.1-.2.3-.3.3-.5l.2-.4v-1l-1.1-.4h-1.1c-.7 0-1.3 0-1.8.4-.4.2-.6.6-.6 1.1a1.6 1.6 0 0 0 .8 1.4c.3.2.7.3 1.1.3a3.1 3.1 0 0 0 2.2-1ZM51.3 16.8h-2v-5.3c0-.9-.1-1.5-.4-2-.3-.3-.7-.6-1.3-.6-.4 0-.7.1-1.1.3l-1 .8-.7 1.2v5.6h-2V7.3h1.8v2a4.5 4.5 0 0 1 3.8-2c.6-.1 1.1 0 1.5.2l.8.8.5 1.3V16.8ZM57 17c-.9 0-1.6-.2-2.3-.4-.7-.3-1.3-.7-1.8-1.2l.7-1.3c.5.4 1 .8 1.6 1 .6.2 1.1.3 1.7.3.5 0 1 0 1.3-.3.4-.2.5-.5.5-1 0-.2 0-.4-.2-.6l-.8-.4-1.3-.3-1.6-.6c-.5-.3-.8-.6-1-.9-.3-.3-.4-.7-.4-1.2 0-.6.1-1.2.5-1.6a3 3 0 0 1 1.3-1c.5-.2 1.2-.3 1.9-.3s1.3 0 1.9.3a4 4 0 0 1 1.5 1l-.8 1.3c-.4-.4-.9-.7-1.3-.9a3.6 3.6 0 0 0-2.2-.1c-.3 0-.5.2-.7.3-.2.2-.3.5-.3.8l.3.6.6.4 1 .3 2 .7c.5.2.9.5 1.1.8.3.3.5.8.5 1.3 0 1-.4 1.7-1 2.2-.7.5-1.6.7-2.8.7ZM74 7.3h1.9l-4 9.5h-1.7l-1.7-4.3-1.7 4.3h-1.7l-4-9.5h2l3 7.5 1.3-3.4-1.6-4h1.7l1 2.9 1-3h1.7l-1.6 4 1.4 3.5 3-7.5ZM82.2 16.9c-.7.1-1.4.2-2 0a5 5 0 0 1-3-2 5.1 5.1 0 0 1-.7-4.3 4.7 4.7 0 0 1 3.7-3.3c1-.2 1.9-.1 2.6.2.8.3 1.5.7 2 1.4a4.9 4.9 0 0 1 1.2 2.9l-7.4 1.5c.1.5.4 1 .7 1.4l1.3.7c.4.1.9.2 1.3 0a3 3 0 0 0 1.4-.6c.4-.4.7-.8.8-1.3l1.7.2c0 .5-.3 1-.6 1.4a4.7 4.7 0 0 1-3 1.8Zm-4-4.9L84 11c-.2-.5-.4-1-.8-1.3-.3-.4-.7-.6-1.2-.8h-1.4c-.5 0-1 .3-1.3.6-.3.3-.6.7-.8 1.2a3 3 0 0 0-.1 1.4ZM94 9.3c-.8 0-1.5.2-2 .5-.7.4-1 .8-1.3 1.4V17h-2V7.6h1.8v2.1c.3-.7.8-1.2 1.3-1.6a3 3 0 0 1 1.7-.6h.5v1.8ZM98.8 17.2c-.8 0-1.6-.1-2.3-.4-.7-.3-1.3-.6-1.8-1.2l.7-1.3c.6.5 1.1.8 1.7 1 .5.3 1 .4 1.6.4.5 0 1-.1 1.3-.3.4-.2.6-.6.6-1 0-.3-.1-.5-.3-.6l-.8-.4-1.2-.4-1.7-.6a2.1 2.1 0 0 1-1.4-2c0-.7.2-1.2.5-1.6a3 3 0 0 1 1.3-1c.5-.3 1.2-.4 2-.4.6 0 1.2.1 1.8.4a4 4 0 0 1 1.6 1l-.9 1.2-1.3-.8A3.6 3.6 0 0 0 98 9c-.3 0-.5.2-.7.4l-.2.7c0 .3 0 .5.2.6.1.2.3.3.6.4l1.1.4 1.9.6c.5.2.9.5 1.2.8.2.4.4.8.4 1.4 0 .9-.4 1.6-1 2.1-.7.5-1.6.8-2.7.8Z" fill="#fff"/></svg></div></div><span class="caption-text sm:body-small ml-4 font-semibold tracking-wide text-gray-L700 dark:text-gray-D400 sm:font-normal sm:tracking-normal">Trusted answers to developer questions</span></div></div></div><div class="flex max-w-full justify-center"><div class="z-0 mb-12 box-border flex w-full max-w-full flex-col bg-white px-4 py-12 dark:bg-gray-D1400 sm:mb-10 sm:px-6 sm:pb-2 sm:pt-14 lg:px-10 lg:pb-2 lg:pt-14" style="max-width:59.5rem;min-width:320px"><h1 class="heading-one mb-9 mt-0 break-words text-left">Read data from a file using read() in C</h1><div class="w-full"><div class="rounded-md dark:border dark:border-solid dark:border-gray-D1200"><div class="rounded-md rounded-b-none" style="background:linear-gradient(105.48deg, rgba(85, 83, 255, 0.9) 1.36%, rgba(25, 24, 146, 0.9) 100%)"><p class="eyebrow text-left h-1.5 mb-0 uppercase text-white"/></div><div class="relative overflow-hidden bg-gradient-to-b from-indigo-50 via-indigo-50 to-indigo-200 p-4 dark:from-gray-D1400 dark:to-gray-D1400 sm:bg-gradient-to-r lg:px-6 lg:py-4 w-full rounded-md rounded-t-none sm:flex sm:flex-row lg:block"> <div class="sm:flex sm:flex-1 sm:flex-col"><div class="mb-2 flex justify-between lg:justify-start"><div class="items-center tailwind-hidden lg:block "/><div class="flex flex-col justify-between mt-1"><div><p class="heading-five mb-2 text-left">Free System Design Interview Course</p><div class="mb-2 text-left text-base leading-7 text-gray-L800 dark:text-gray-D200"><p>Many candidates are rejected or down-leveled due to poor performance in their System Design Interview. Stand out in System Design Interviews and get hired in 2024 with this popular free course.</p> </div></div><div class="tailwind-hidden mt-2 lg:block "><a href="https://www.educative.io/courses/system-design-interview-handbook"><button class="contained-primary h-9 w-full sm:w-max">Get Free Course</button></a></div></div><div class="items-center tailwind-hidden sm:block lg:hidden"/></div><div class="w-min lg:hidden "><a href="https://www.educative.io/courses/system-design-interview-handbook"><button class="contained-primary h-9 w-full sm:w-max">Get Free Course</button></a></div></div><div class="sm:hidden"/></div></div></div><div class="block " style="min-height:335px"><div id="viewer-component-nY706u6qeOHjEeDqKKlLW" class="mt-5 "><div class="clear-both relative"><div><div><div tabindex="0" style="outline:none"><div><div class=""><div id="widget-parent-nY706u6qeOHjEeDqKKlLW __className_95156b __variable_95156b" class=""><div class="h-auto w-full whitespace-normal after:clear-both after:table after:content-none markdown-container-div"><div class="markdownViewer select-text markdown-default markdown-table markdown-viewer markdown-viewer-slate markdown-viewer-heading" role="none"><h2 id="nY706u6qeOHjEeDqKKlLW"/><p id="Kv9aYz0-CvkfxMdrKSrxM">C is a high-level general-use programming language for making software and system programming. </p><h3 id="Zx_gQOCpdgryOxkLlKefi">The <code>read()</code> function</h3><p id="k1NqAbTozIKLKM6kIdgCq">The <strong><code>read()</code></strong><strong> function</strong> is a low-level file manipulation function used to perform read operations on a file. It can be accessed by using the <code>unistd.h</code> library provided by C.</p><h3 id="g7zbtGJyXZR1jBArtJURc">Syntax</h3><p id="IXyxKsBSLlBQC1RTlITmK">Below, we can see the syntax for the <code>read()</code> function.</p></div></div></div></div></div></div></div></div></div></div><div id="viewer-component-5Z7dfkjV8KjjjotSPnYr_" class="mt-5 "><div class="clear-both relative"><div><div><div tabindex="0" style="outline:none"><div><div class=""><div id="widget-parent-5Z7dfkjV8KjjjotSPnYr_ __className_95156b __variable_95156b" class=""><div class=""><div data-clarity-mask="true"><pre class="overflow-scroll pl-0 pt-0 dark:border-gray-D1100" style="height:35px;background:#1e1e1e;color:#e9e9e9"><div style="height:21px;margin-left:59px;font-size:14px">int read(int fileDescriptor, void *buffer, size_t bytesToRead)</div></pre></div><div class="mt-2"><div class="mt-2.5 flex items-center justify-center"><span data-testid="caption-text" class="flex focus:outline-none rounded bg-gray-L50 text-black dark:bg-gray-D1400 dark:text-gray-D200 px-5 py-1 text-center font-normal ">read() function syntax</span></div></div></div></div></div></div></div></div></div></div></div><div id="viewer-component-PBgdizTLnvczgbSnDhBYA" class="mt-5 "><div class="clear-both relative"><div><div><div tabindex="0" style="outline:none"><div><div class=""><div id="widget-parent-PBgdizTLnvczgbSnDhBYA __className_95156b __variable_95156b" class=""><div class="h-auto w-full whitespace-normal after:clear-both after:table after:content-none markdown-container-div"><div class="markdownViewer select-text markdown-default markdown-table markdown-viewer markdown-viewer-slate markdown-viewer-heading" role="none"><p id="PBgdizTLnvczgbSnDhBYA">It takes in three arguments which are described below:</p><ol id="dai4eKAy6WjjK3UJvGCGC" start="undefined"><li id="UUpAXuWR3W00aQe8hqZZP"><p><strong><code>fileDescriptor</code></strong><strong>: </strong>We need to provide the function with an integer file descriptor for the opened file, which the <code>open()</code> function returns when opening a file.</p></li><li id="RsSmOlIZh6ggEH5Lia5By"><p><strong><code>buffer</code></strong><strong>: </strong>This pointer points to a buffer where data that is read will be stored. </p></li><li id="1DiWv1wjZff4qCgq2ACXK"><p><strong><code>bytesToRead</code></strong><strong>:</strong> Here, we provide an unsigned integer variable that specifies the maximum number of bytes we want to read from the file.</p></li></ol><p id="D1kcwQ6dog870Hnz1sFeN">The function, when executed, returns an integer value that refers to the number of bytes read. </p><blockquote id="geFgCciMaz0nChkFTvB1b"><p><strong>Note:</strong> To avoid buffer overflow, the max value of the <code>bytesToRead</code> variable should not exceed the size of the <code>buffer</code> variable. </p></blockquote><p id="CNo5h7sR7DxhS09LC7cYu"/><h3 id="cv_478tCW48sUMxrzDM1W">Program to read a file</h3><p id="9qmpU4ovsSnnmYWoKmoux">Below, we can see a C program that uses the <code>read()</code> function to read the contents of the file <code>hello.txt</code>.</p></div></div></div></div></div></div></div></div></div></div><div id="viewer-component-BRhYUUaKtGJAXCpBkCSyM" class="mt-5 "><div class="clear-both relative"><div><div><div tabindex="0" style="outline:none"><div><div class=""><div id="widget-parent-BRhYUUaKtGJAXCpBkCSyM __className_95156b __variable_95156b" class=""><span class="notranslate h-full w-full"><div data-clarity-mask="true"><pre class="dark:border-gray-D1100" style="height:600px;background:#1e1e1e;color:#e9e9e9">Hello Educative User <3</pre><div style="height:92px"/><div class="mt-2.5 flex items-center justify-center"><span data-testid="caption-text" class="flex focus:outline-none rounded bg-gray-L50 text-black dark:bg-gray-D1400 dark:text-gray-D200 px-5 py-1 text-center font-normal ">C program to read hello.txt file</span></div></div></span></div></div></div></div></div></div></div></div><div id="viewer-component-tl9zOnrEndx8EcdMjozJm" class="mt-5 "><div class="clear-both relative"><div><div><div tabindex="0" style="outline:none"><div><div class=""><div id="widget-parent-tl9zOnrEndx8EcdMjozJm __className_95156b __variable_95156b" class=""><div class="h-auto w-full whitespace-normal after:clear-both after:table after:content-none markdown-container-div"><div class="markdownViewer select-text markdown-default markdown-table markdown-viewer markdown-viewer-slate markdown-viewer-heading" role="none"><h3 id="tl9zOnrEndx8EcdMjozJm">Code explanation</h3><p id="yiqUPUMlaVa1LNj1c3EbM">Below, we can see a line-by-line breakdown of the above code.</p><ul id="6jmO38S75qjIc2azElIOo"><li id="HH6f9OrDAMO51OzRA_nN-"><p><strong>Lines 1–4: </strong>We import the required libraries.</p></li><li id="Ge90qZGExHL_9miRMTVi_"><p><strong>Line 8: </strong>A <code>char</code> pointer is created that stores the file name to be opened. </p></li><li id="bDjLk-o36M_Ob1cKXGQwo"><p><strong>Line 10:</strong> We call the <code>open()</code> function to open the file. We pass two arguments, <code>fileName</code> and <code>O_RDWR</code>, to open the file in read and write mode. It will return an integer variable representing the file descriptor which we will store in a variable named <code>fd</code>.</p></li><li id="TAzTvfMAp1pFQGzPbwJhP"><p><strong>Lines 12–18: </strong>Here, we check if the file opened correctly. If it does not, we prompt the user and exit the program with an exit status of <code>1</code>. Otherwise, we print a success message and continue. </p></li><li id="S75BIaKvrvPW6uI8s2hK_"><p><strong>Line 20: </strong>We create a <code>char</code> array of size <code>1024</code> bytes called <code>buffer</code> that will store the file's contents. </p></li><li id="6lxG_3PfspAAXEB4wnzRa"><p><strong>Line 22: </strong>We call the <code>read()</code> function to read the file's content. We pass three arguments: the file descriptor <code>fd</code>, the char array <code>buffer</code>, and the maximum number of bytes to read <code>sizeof(buf)</code>. The function will return the number of bytes it read from the file, which we will store in an integer variable named <code>bytesRead</code>.</p></li><li id="3RbZ1EDnQdFlr4_Ti_gy-"><p><strong>Lines 24–25: </strong>Now, we will print the number of bytes that were read and the file's content by displaying the values inside the <code>buffer</code> and the <code>bytesRead</code> variables. </p></li></ul><h3 id="PEhcn08DsXKA7-QEkgg0s">Coding exercise</h3><p id="NljhMoCoMvjDPWZurXKPd">Now we understand how to read a file's data using the <code>read()</code> function. We will now try to complete the coding challenge below.</p><h4 id="Knk4E8OhUyNsj2-sERc3B">Challenge</h4><p id="eEl9wCK5DQiJZNW8caW-P">We have a text file named <code>sample.txt</code> with the content "The harder you work, the better you get." </p><p id="3mvySBhnpmCWBB2dk4S8G">We want to retrieve the first 15 characters from the files and display them in the console. </p><p id="Pp5kX5lamV1do1vRgM3gc">Complete the <code>read()</code> function below to display "The harder you" onto the console<em>,</em> which are the first 15 bytes of the file's content.</p></div></div></div></div></div></div></div></div></div></div><div id="viewer-component-qr5Suy4koqvAAZDTvW4_r" class="mt-5 "><div class="clear-both relative"><div><div><div tabindex="0" style="outline:none"><div><div class=""><div id="widget-parent-qr5Suy4koqvAAZDTvW4_r __className_95156b __variable_95156b" class=""><span class="notranslate h-full w-full"><div data-clarity-mask="true"><pre class="dark:border-gray-D1100" style="height:600px;background:#1e1e1e;color:#e9e9e9">The harder you work, the better you get.</pre><div style="height:92px"/><div class="mt-2.5 flex items-center justify-center"><span data-testid="caption-text" class="flex focus:outline-none rounded bg-gray-L50 text-black dark:bg-gray-D1400 dark:text-gray-D200 px-5 py-1 text-center font-normal ">C coding challenge</span></div></div></span></div></div></div></div></div></div></div></div><div id="viewer-component-9W0ubkvd53ht-kb4SLdLU" class="mt-5 "><div class="clear-both relative"><div><div><div tabindex="0" style="outline:none"><div><div class=""><div id="widget-parent-9W0ubkvd53ht-kb4SLdLU __className_95156b __variable_95156b" class=""><div class="flex flex-col justify-center items-center transition-all duration-200 p-5 border border-solid border-transparent"><button class="outlined-default m-0 whitespace-normal"><svg width="18" height="18" viewbox="0 0 31 31" xmlns="http://www.w3.org/2000/svg" class="icon-left fill-current"><g id="Widgets" stroke="none" stroke-width="1" fill="current" fill-rule="evenodd"><g id="MarkdownW" transform="translate(-749.000000, -242.000000)" fill="current" fill-rule="nonzero"><g id="Group-28" transform="translate(734.000000, 229.000000)"><g id="noun_lightbulb_341254" transform="translate(15.000000, 13.000000)"><path d="M15.5,9.55851786 C17.2644397,9.55851786 18.9298594,10.2522121 20.1895112,11.5118638 C21.4491629,12.7714464 22.1428571,14.4369353 22.1428571,16.201375 C22.1428571,17.4206853 21.8368705,18.5561987 21.2333393,19.5762924 C20.6563103,20.5518237 19.8191719,21.3778906 18.8125022,21.9653683 L17.7142857,22.6062656 L17.7142857,23.8778192 L17.7142857,28.7857143 L13.2857143,28.7857143 L13.2857143,23.8778192 L13.2857143,22.6062656 L12.1874978,21.9653683 C10.1332634,20.7666094 8.85714286,18.5579286 8.85714286,16.201375 C8.85714286,14.4369353 9.55083705,12.7715156 10.8104888,11.5118638 C12.0701406,10.2522121 13.7355603,9.55851786 15.5,9.55851786 Z M14.0238326,1.47616741 L14.0238326,2.95240402 C14.0238326,3.76766877 14.6847353,4.42857143 15.5,4.42857143 L15.5,4.42857143 C16.3152647,4.42857143 16.9761674,3.76766877 16.9761674,2.95240402 L16.9761674,1.47616741 C16.9761674,0.660902662 16.3152647,-1.49761705e-16 15.5,0 L15.5,0 C14.6847353,1.49761705e-16 14.0238326,0.660902662 14.0238326,1.47616741 Z M24.2832411,7.41809933 L24.2832411,7.41809933 C24.8539033,7.98878069 25.7791289,7.98884867 26.349875,7.41825117 L26.940284,6.82799599 C27.5111565,6.25727206 27.511277,5.33182524 26.9405531,4.76095266 C26.9405198,4.76091933 26.9404864,4.760886 26.9404531,4.76085268 L26.9404531,4.76085268 C26.3697196,4.19008096 25.4443468,4.19004998 24.8735751,4.76078349 C24.8735142,4.76084436 24.8734533,4.76090523 24.8733925,4.76096611 L24.2831104,5.35141731 C23.7125125,5.92217862 23.7125711,6.8474102 24.2832411,7.41809933 Z M4.05964685,6.82792679 L4.65005576,7.41818198 C5.22080746,7.98878507 6.14603738,7.98873258 6.71672433,7.41806473 L6.71672433,7.41806473 C7.28740786,6.84740031 7.28748187,5.92217302 6.71688963,5.35141731 L6.12660753,4.76096611 C5.55591756,4.19011265 4.63051377,4.18998011 4.05966031,4.76067007 C4.05961096,4.76071941 4.05956162,4.76076874 4.05951228,4.76081808 L4.05951228,4.76081808 C3.48873312,5.33159723 3.48873312,6.25701308 4.05951228,6.82779224 C4.05955713,6.82783709 4.05960199,6.82788194 4.05964685,6.82792679 Z M6.64285714,16.201375 C6.64285714,19.449317 8.4145625,22.327404 11.0714286,23.8778884 L11.0714286,29 C11.0714286,30.1045695 11.9668591,31 13.0714286,31 L17.9285714,31 C19.0331409,31 19.9285714,30.1045695 19.9285714,29 L19.9285714,23.8778192 C22.5854375,22.327404 24.3571429,19.5227344 24.3571429,16.2013058 C24.3571429,11.330154 20.3711518,7.34423214 15.5,7.34423214 C10.6288482,7.34423214 6.64285714,11.3302232 6.64285714,16.201375 Z M26.5714286,16.2013404 L26.5714286,16.2013404 C26.5714286,17.0166243 27.2323467,17.6775424 28.0476306,17.6775424 L29.523798,17.6775424 C30.3390818,17.6775424 31,17.0166243 31,16.2013404 L31,16.2013404 C31,15.3860565 30.3390818,14.7251384 29.523798,14.7251384 L28.0476306,14.7251384 C27.2323467,14.7251384 26.5714286,15.3860565 26.5714286,16.2013404 Z M0,16.2013404 L0,16.2013404 C9.98434766e-17,17.0166243 0.660918152,17.6775424 1.47620201,17.6775424 L2.95236942,17.6775424 C3.76765328,17.6775424 4.42857143,17.0166243 4.42857143,16.2013404 L4.42857143,16.2013404 C4.42857143,15.3860565 3.76765328,14.7251384 2.95236942,14.7251384 L1.47620201,14.7251384 C0.660918152,14.7251384 -9.98434766e-17,15.3860565 0,16.2013404 Z"/></g></g></g></g></svg>Show Solution</button><div style="width:100%"/></div></div></div></div></div></div></div></div></div><div id="viewer-component-0is14nGo8xx1NVnToIcA-" class="mt-5 "><div class="clear-both relative"><div><div><div tabindex="0" style="outline:none"><div><div class=""><div id="widget-parent-0is14nGo8xx1NVnToIcA- __className_95156b __variable_95156b" class=""><div class="h-auto w-full whitespace-normal after:clear-both after:table after:content-none markdown-container-div"><div class="markdownViewer select-text markdown-default markdown-table markdown-viewer markdown-viewer-slate markdown-viewer-heading" role="none"><p id="0is14nGo8xx1NVnToIcA-"/></div></div></div></div></div></div></div></div></div></div></div><div class="mb-8 mt-3 w-full"><div class="border-0 border-b border-solid border-gray-L200 dark:border-gray-D1200 "/></div><div class="mb-5"><p class="eyebrow m-0 mb-2 text-gray-L600 dark:text-gray-D200">RELATED TAGS</p><div class="flex flex-wrap"><div class="mr-2 mt-2 font-semibold"><span class="caption-text inline-block cursor-pointer rounded-2xl border border-solid border-gray-L200 bg-gray-L25 px-3 py-0.5 align-top text-gray-L600 hover:border-black hover:bg-gray-L50 dark:border-gray-D1000 dark:bg-gray-D1400 dark:text-gray-D400 dark:hover:border-gray-D200 dark:hover:bg-gray-D1200">read</span></div><div class="mr-2 mt-2 font-semibold"><span class="caption-text inline-block cursor-pointer rounded-2xl border border-solid border-gray-L200 bg-gray-L25 px-3 py-0.5 align-top text-gray-L600 hover:border-black hover:bg-gray-L50 dark:border-gray-D1000 dark:bg-gray-D1400 dark:text-gray-D400 dark:hover:border-gray-D200 dark:hover:bg-gray-D1200">c</span></div><div class="mr-2 mt-2 font-semibold"><span class="caption-text inline-block cursor-pointer rounded-2xl border border-solid border-gray-L200 bg-gray-L25 px-3 py-0.5 align-top text-gray-L600 hover:border-black hover:bg-gray-L50 dark:border-gray-D1000 dark:bg-gray-D1400 dark:text-gray-D400 dark:hover:border-gray-D200 dark:hover:bg-gray-D1200">file</span></div></div></div><div class="mb-6 flex w-full max-w-3xl flex-col py-0 text-gray-L700 dark:text-gray-D200"><div class="mt-1 w-11/12"><p class="eyebrow m-0 mb-2 text-gray-L600 dark:text-gray-D200">CONTRIBUTOR</p><div class="flex items-center space-x-2"><img class="rounded-full bg-gray-L300 dark:bg-gray-D700 flex-shrink-0 " width="24" height="24" src="https://lh3.googleusercontent.com/a/ACg8ocIvLBgtBuFB_dsPYuxGMArJ2a7sfCTWLJuxnywKk3IFbfg=s96-c?googlesso" title="Syed Muhammad Ashhar Shah" loading="lazy" alt=""/><span class="body-small cursor-pointer hover:text-indigo-500 dark:hover:text-indigo-400">Syed Muhammad Ashhar Shah</span></div></div><div class="w-full text-gray-L600 dark:text-gray-D50"><div class="border-0 border-b border-solid border-gray-L200 dark:border-gray-D1200 my-6 w-full"/><div class="body-small max-w-xs sm:max-w-none" id="shot-license">Copyright ©2024 Educative, Inc. All rights reserved</div></div></div><div class="-ml-1.5 flex w-full space-x-1"><button class="icon-default !p-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-6 w-6 cursor-pointer stroke-current text-gray-L400" aria-label="Like this answer"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg></button><button class="icon-default !p-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-6 w-6 text-gray-L400" aria-label="Bookmark this answer"><path d="M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"/></svg></button><div><button class="icon-default !p-2" aria-label="more options"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-6 w-6 stroke-current text-gray-L400"><circle cx="18" cy="5" r="3"/><circle cx="6" cy="12" r="3"/><circle cx="18" cy="19" r="3"/><line x1="8.59" y1="13.51" x2="15.42" y2="17.49"/><line x1="15.41" y1="6.51" x2="8.59" y2="10.49"/></svg></button><ul class="hidden absolute z-50 m-0 list-none rounded bg-white p-0 shadow-xl dark:bg-gray-D1200"><li class="rounded-sm cursor-pointer px-4 py-1.5 leading-6 bg-white dark:bg-gray-D1300 dark:hover:bg-gray-D1200 hover:bg-gray-buttonHover"><button aria-label="facebook" class="react-share__ShareButton social transition-none" style="background-color:transparent;border:none;padding:0;font:inherit;color:inherit;cursor:pointer"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="stroke-current text-gray-L400"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"/></svg></button></li><li class="rounded-sm cursor-pointer px-4 py-1.5 leading-6 bg-white dark:bg-gray-D1300 dark:hover:bg-gray-D1200 hover:bg-gray-buttonHover"><button aria-label="linkedin" class="react-share__ShareButton social transition-none" style="background-color:transparent;border:none;padding:0;font:inherit;color:inherit;cursor:pointer"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="stroke-current text-gray-L400"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"/><rect x="2" y="9" width="4" height="12"/><circle cx="4" cy="4" r="2"/></svg></button></li><li class="rounded-sm cursor-pointer px-4 py-1.5 leading-6 bg-white dark:bg-gray-D1300 dark:hover:bg-gray-D1200 hover:bg-gray-buttonHover"><button aria-label="twitter" class="react-share__ShareButton social transition-none" style="background-color:transparent;border:none;padding:0;font:inherit;color:inherit;cursor:pointer"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="stroke-current text-gray-L400"><path d="M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z"/></svg></button></li><li class="rounded-sm cursor-pointer px-4 py-1.5 leading-6 bg-white dark:bg-gray-D1300 dark:hover:bg-gray-D1200 hover:bg-gray-buttonHover"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="stroke-current text-gray-L400"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg></li></ul></div><span class="text-transform: text-sm font-semibold uppercase tracking-widest"><button class="icon-default !p-2" aria-label="give feedback"><svg width="24" height="24" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 cursor-pointer"><path d="M22 11.006C22 9.41555 21.2267 7.98057 20 7V15C21.2267 14.0314 22 12.5964 22 11.006Z" fill="#B0B0B7"/><path fill-rule="evenodd" clip-rule="evenodd" d="M11.1547 13L16 16.5532V6.37989L11.2461 10.5H3V13H11.1547ZM10.5 15L16.4086 19.333C17.0692 19.8174 18 19.3457 18 18.5266V4.18993C18 3.333 16.9926 2.87301 16.3451 3.43424L10.5 8.49997H2C1.44772 8.49997 1 8.94768 1 9.49997V14C1 14.5522 1.44772 15 2 15H5.5V22H7.5V15H10.5Z" fill="#B0B0B7"/></svg></button></span><div/></div></div></div></div><div class="flex w-full scroll-mt-14 flex-col-reverse bg-white pb-24 dark:bg-gray-D1500" id="related-content-div"><div class="h-full dark:bg-gray-D1500"><div class="mb-12 h-2 px-6 py-2"><span class="heading-four tracking-wide"><div class="mx-0 mb-5 mt-6 bg-gray-L300 dark:bg-gray-D1100" style="padding:1px 50%"/><div class="m-auto -mt-10 w-max flex-initial justify-center bg-white px-3 text-gray-L700 dark:bg-gray-D1500 dark:text-gray-D200 lg:bg-gray-L25">Keep Exploring</div></span></div><div class="mt-16"><div class="flex w-full justify-center mb-24"><div class="align-self border-box inline-block rounded-full border-0 border-l-2 border-t-2 border-solid Spinner_spinner__e6B0C text-indigo-500 dark:text-indigo-200" style="margin-right:3px;height:40px;width:40px" data-testid="spinner"/></div></div></div><div class="dark:bg-gray-D1500 dark:text-gray-D200"><div class="pb-4"><div class="mb-12 h-2 px-6 py-2"><span class="heading-four"><div class="mx-0 mb-5 mt-6 bg-gray-L300 dark:bg-gray-D1100" style="padding:1px 50%"/><div class="m-auto -mt-10 w-max flex-initial justify-center bg-white px-3 text-gray-L700 dark:bg-gray-D1500 dark:text-gray-D200 lg:bg-gray-L25">Related Courses</div></span></div><div class="mt-24"><div class="flex w-full justify-center mb-24"><div class="align-self border-box inline-block rounded-full border-0 border-l-2 border-t-2 border-solid Spinner_spinner__e6B0C text-indigo-500 dark:text-indigo-200" style="margin-right:3px;height:40px;width:40px" data-testid="spinner"/></div></div></div></div></div><div class="relative mt-auto flex w-full pt-0"><div class="flex w-full flex-col justify-center bg-indigo-1200 px-4 py-10 dark:bg-blue-1200 lg:px-6"><div class="flex w-full flex-col items-start justify-between self-center" style="max-width:1140px"><div class="flex w-full flex-col justify-between"><div class="my-4 flex flex-col items-start text-left sm:mt-14"><a aria-label="educative.io" href="/"><div class="flex items-center text-white"><svg viewbox="0 0 100 100" fill="currentColor" xmlns="http://www.w3.org/2000/svg" height="20px"><path d="M83.3333 0H16.6667C7.46115 0 0 7.46115 0 16.6667V83.326C0 92.5315 7.46115 99.9927 16.6593 99.9927H83.326C92.5315 99.9927 100 92.5388 100 83.3333V16.6667C100 7.46115 92.5388 0 83.3333 0ZM22.4861 81.5597L14.871 74.5896C14.3433 74.0985 14.3067 73.2703 14.7977 72.7353L31.479 54.5001C31.9261 54.0164 31.9408 53.2762 31.5157 52.7704L15.9191 34.2348C15.4573 33.6778 15.5233 32.8569 16.0803 32.3879L23.9666 25.7402C24.5236 25.2785 25.3445 25.3445 25.8135 25.9015L48.7101 53.1369C49.1352 53.6426 49.1205 54.3829 48.6734 54.8739L24.333 81.4937C23.842 82.0141 23.0211 82.0507 22.4934 81.567L22.4861 81.5597ZM85.5981 81.1346C85.5981 81.8602 85.0117 82.4465 84.2861 82.4465H48.9226C48.197 82.4465 47.6107 81.8602 47.6107 81.1346V71.416C47.6107 70.6904 48.197 70.1041 48.9226 70.1041H84.2861C85.0117 70.1041 85.5981 70.6904 85.5981 71.416V81.1346Z" fill="currentColor"/></svg><svg viewbox="0 0 396 66" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="ml-2 h-4"><path d="m36.3 51.1 5.4 6.5c-2 2.5-4.5 4.4-7.3 5.5-3 1.3-6.4 1.9-10 1.9-4.9 0-9-1-12.7-3a20.8 20.8 0 0 1-8.4-8.2c-2-3.5-3-7.5-3-12 0-4.4 1-8.3 3-11.8 1.8-3.5 4.5-6.3 8-8.3 3.3-2 7.1-3 11.4-3 3.8 0 7.6 1 11 2.8 3.3 1.8 6 4.6 8 7.9 1.9 3.4 2.8 7.4 2.8 12L11.4 48c1 2.5 2.7 4.5 5 6 2.2 1.2 5 2 8.1 2 4.7 0 8.6-1.7 11.8-5Zm-22.7-20c-2.3 2.5-3.4 5.9-3.4 10.1v.1l24.5-4.9a12 12 0 0 0-12-9.2c-3.8 0-6.8 1.3-9 3.8ZM86 58.7V65h9V2.2h-8.7v22.6a16 16 0 0 0-6.1-4.6A22.2 22.2 0 0 0 61 21.6c-3.3 1.9-6 4.7-7.8 8-2 3.6-2.9 7.7-2.9 12.2 0 4.6 1 8.7 2.9 12.2 1.7 3.4 4.5 6.3 7.8 8.2a22.3 22.3 0 0 0 19.5 1.3c2.5-1 4.5-2.7 5.6-4.9ZM73.6 56c-2.3 0-4.6-.6-6.6-1.7-2-1.2-3.6-3-4.6-5a15.9 15.9 0 0 1-1.7-7.5c0-2.8.5-5.3 1.7-7.4 1-2 2.6-3.8 4.6-5C71 27 76 27 80.1 29.4c2 1.2 3.6 3 4.7 5 1 2.1 1.7 4.6 1.7 7.4 0 2.9-.6 5.4-1.7 7.5A12.3 12.3 0 0 1 73.5 56ZM145 18.7V65h-9v-6.3a19 19 0 0 1-14.2 6.4c-5.9 0-8.9-1.7-12.2-5-3.3-3.4-5-8.4-5-15V18.8h8.9v24.9c0 4 .6 7 2.3 9 1.8 2 4.3 3.1 7.6 3.1 3.6 0 6.5-1.2 8.6-3.5 2.2-2.4 4-4.3 4-10.2V18.8h9ZM164.6 62a21 21 0 0 1-8.2-8.2c-2-3.7-3-7.9-3-12 0-4.6 1-8.5 3-12 1.9-3.5 4.7-6.4 8.1-8.3 3.5-2 7.5-3 12-3 4.1 0 7.8 1 11 2.8 3 1.7 5.6 4.5 7 7.8l-7.6 4.7c-1-2-2.6-3.5-4.5-4.7-1.9-1-4-1.6-6-1.5-3.8 0-6.8 1.2-9.3 3.8-2.4 2.6-3.6 6-3.6 10.4 0 4.3 1.2 7.7 3.6 10.3a12 12 0 0 0 9.2 3.8 11.9 11.9 0 0 0 10.6-6.2l7.7 4.7c-1.6 3.3-4 6-7.2 7.9a21.3 21.3 0 0 1-11 2.8c-4.4 0-8.3-1-11.8-3ZM273.7 54.5a8.7 8.7 0 0 1-5.7 1.9c-2 0-3.4-.6-4.5-1.8-1-1.1-2-3.3-2-5V27.7h11.2v-9h-11.2v-9h-9v9h-6.7v9h6.7V50c0 5 1.3 8.8 4 11.4 2.6 2.6 5.5 3.8 10.3 3.8 1.8 0 3.6-.3 5.4-.8 1.6-.4 3-1.2 4.3-2.3l-2.8-7.5ZM285.8 18.8h8.8V65h-8.8V18.8ZM349.6 18.8 330.9 65h-10.4l-18.1-46.2h10l13.4 34.6 14-34.6h9.7ZM386.8 51.2l5.4 6.5c-1.9 2.5-4.4 4.4-7.3 5.5a26 26 0 0 1-10.1 1.9c-4.8 0-9-1-12.6-3a24.4 24.4 0 0 1-11.9-20.3 24.7 24.7 0 0 1 11.3-20.2c3.4-2 7.3-3 11.6-3 3.8 0 7.7 1 11 2.8 3.4 1.9 6.2 4.6 8 8 2 3.4 3 7.4 3 12L361.8 48c1 2.5 2.7 4.6 5 6 2.3 1.3 5 2 8.2 2 4.7 0 8.7-1.6 11.8-5ZM364.1 31c-2.3 2.5-3.5 6-3.5 10.2v.1l24.6-5a12.1 12.1 0 0 0-12-9.2c-3.8 0-6.8 1.3-9.2 3.9ZM294.7.8h-9v9h9v-9ZM235 22.1a20.5 20.5 0 0 0-12.7-3.6c-9.4 0-15.6 2.5-18.5 7.4l8.7 4.1c1.3-2.5 4.3-3.6 9.4-3.6 3.2 0 5.5.4 6.8 1.2 1.4.7 2.1 1.7 2.4 2.8.3 1.2 0 3 0 5.5h-2.4c-18.7 0-28.1 5.4-28.1 16 0 3.9 1.6 7.1 4.7 9.6 3 2.4 7 3.6 11.6 3.6 5.8 0 10.7-1.4 14.7-4.2v4l8.7.2V35.7c0-6.7-1.8-11.2-5.2-13.6Zm-3.4 29.5a13.8 13.8 0 0 1-5.2 4 17 17 0 0 1-7.2 1.6 11 11 0 0 1-6.3-1.5 4.8 4.8 0 0 1-2-4.2c0-5.4 5.4-8 16.2-8h4.5v8.1Z"/></svg></div></a><div class="mt-4 leading-6 text-gray-L50 dark:text-gray-D200"><p class="text-base">Learn in-demand tech skills in half the time</p></div></div></div><div class="w-full self-center"><div class="border-0 border-b border-solid border-gray-L25 dark:border-gray-D300 "/></div><div class="grid w-full grid-cols-2 content-center gap-x-[calc(50%-75px)] overflow-hidden sm:grid-cols-3 sm:gap-x-[calc(33.3%-90px)] lg:grid-cols-4 lg:gap-x-[calc(25%-176px)]"><div class="mt-12 max-w-[186px] sm:max-w-[156px] lg:max-w-[186px]"><div class="mb-4 text-xs font-semibold uppercase leading-5 tracking-widest text-white dark:text-gray-D200" style="letter-spacing:2.5px">PRODUCTS</div><div class="flex"><a aria-label="Mock Interview" href="/mock-interview"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Mock Interview</p></a><div class="inline-flex h-5 items-center justify-center px-1 align-middle bg-indigo-500 dark:bg-indigo-400 text-white dark:text-black font-bold tracking-wide caption-text rounded-sm ml-2" style="min-width:20px">New</div></div><div class="flex"><a aria-label="Courses" href="/explore"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Courses</p></a></div><div class="flex"><a aria-label="Skill Paths" href="/paths"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Skill Paths</p></a></div><div class="flex"><a aria-label="Projects" href="/projects"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Projects</p></a></div><div class="flex"><a aria-label="Assessments" href="/assessments"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Assessments</p></a></div></div><div class="mt-12 max-w-[186px] sm:max-w-[156px] lg:max-w-[186px]"><div class="mb-4 text-xs font-semibold uppercase leading-5 tracking-widest text-white dark:text-gray-D200" style="letter-spacing:2.5px">TRENDING TOPICS</div><div class="flex"><a aria-label="Learn to Code" href="/learn-to-code"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Learn to Code</p></a></div><div class="flex"><a aria-label="Tech Interview Prep" href="/interview"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Tech Interview Prep</p></a></div><div class="flex"><a aria-label="Generative AI" href="/generative-ai"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Generative AI</p></a></div><div class="flex"><a aria-label="Data Science" href="/data-science"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Data Science</p></a></div><div class="flex"><a aria-label="Machine Learning" href="/data-science/machine-learning"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Machine Learning</p></a></div><div class="flex"><a aria-label="GitHub Students Scholarship" href="/github-students"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">GitHub Students Scholarship</p></a></div><div class="flex"><a aria-label="Early Access Courses" href="/explore/early-access"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Early Access Courses</p></a></div></div><div class="mt-12 max-w-[186px] sm:max-w-[156px] lg:max-w-[186px]"><div class="mb-4 text-xs font-semibold uppercase leading-5 tracking-widest text-white dark:text-gray-D200" style="letter-spacing:2.5px">Pricing</div><div class="flex"><a aria-label="For Individuals" href="/unlimited"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">For Individuals</p></a></div><div class="flex"><a aria-label="Try for Free" href="/trial"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Try for Free</p></a></div><div class="flex"><a aria-label="Gift a Subscription" href="/unlimited#buyNowAnnual-200"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Gift a Subscription</p></a></div></div><div class="mt-12 max-w-[186px] sm:max-w-[156px] lg:max-w-[186px]"><div class="mb-4 text-xs font-semibold uppercase leading-5 tracking-widest text-white dark:text-gray-D200" style="letter-spacing:2.5px">CONTRIBUTE</div><div class="flex"><a aria-label="Become an Author" href="https://educative.io/m/become-an-educative-author"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Become an Author</p></a></div><div class="flex"><a aria-label="Become an Affiliate" href="https://learn.educative.io/affiliate-program"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Become an Affiliate</p></a></div><div class="flex"><a aria-label="Earn Referral Credits" href="/refer-a-friend"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Earn Referral Credits</p></a></div></div><div class="mt-12 max-w-[186px] sm:max-w-[156px] lg:max-w-[186px]"><div class="mb-4 text-xs font-semibold uppercase leading-5 tracking-widest text-white dark:text-gray-D200" style="letter-spacing:2.5px">RESOURCES</div><div class="flex"><a aria-label="Blog" href="/blog"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Blog</p></a></div><div class="flex"><a aria-label="Cheatsheets" href="/cheatsheets"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Cheatsheets</p></a></div><div class="flex"><a aria-label="Webinars" href="https://www.youtube.com/@Educativeinc"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Webinars</p></a></div><div class="flex"><a aria-label="Answers" href="/answers"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Answers</p></a></div></div><div class="mt-12 max-w-[186px] sm:max-w-[156px] lg:max-w-[186px]"><div class="mb-4 text-xs font-semibold uppercase leading-5 tracking-widest text-white dark:text-gray-D200" style="letter-spacing:2.5px">ABOUT US</div><div class="flex"><a aria-label="Our Team" href="/team"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Our Team</p></a></div><div class="flex"><a aria-label="Careers" href="/careers"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Careers</p></a><div class="inline-flex h-5 items-center justify-center px-1 align-middle bg-indigo-500 dark:bg-indigo-400 text-white dark:text-black font-bold tracking-wide caption-text rounded-sm ml-2" style="min-width:20px">Hiring</div></div><div class="flex"><a aria-label="Frequently Asked Questions" href="/courses/educative-faq"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Frequently Asked Questions</p></a></div><div class="flex"><a aria-label="Contact Us" href="/contactUs"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Contact Us</p></a></div><div class="flex"><a aria-label="Press" href="/press"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Press</p></a></div></div><div class="mt-12 max-w-[186px] sm:max-w-[156px] lg:max-w-[186px]"><div class="mb-4 text-xs font-semibold uppercase leading-5 tracking-widest text-white dark:text-gray-D200" style="letter-spacing:2.5px">LEGAL</div><div class="flex"><a aria-label="Privacy Policy" href="/privacy"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Privacy Policy</p></a></div><div class="flex"><a aria-label="Cookie Policy" href="/cookie-policy"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Cookie Policy</p></a></div><div id="ed-cookie-settings" class="flex"><span class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Cookie Settings</span></div><div class="flex"><a aria-label="Terms of Service" href="/terms"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Terms of Service</p></a></div><div class="flex"><a aria-label="Business Terms of Service" href="/enterprise-terms"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Business Terms of Service</p></a></div><div class="flex"><a aria-label="Data Processing Agreement" href="/data-processing-agreement"><p class="mb-4 font-normal leading-6 text-gray-L400 hover:cursor-pointer hover:text-white focus:cursor-pointer focus:text-white dark:text-gray-D400">Data Processing Agreement</p></a></div></div></div><div class="mt-6 flex w-full self-center bg-gray-L700"><div class="border-0 border-b border-solid border-gray-L200 dark:border-gray-D1200 "/></div><div class="mb-4 mt-10 flex w-full flex-col items-center justify-center self-center sm:mt-4 lg:mb-14 lg:flex-row lg:items-start lg:justify-between" style="max-width:1140px"><div class="ml-4 mt-4 flex items-center justify-start lg:ml-0"><a href="//facebook.com/educativeinc" target="_blank" rel="noopener noreferrer" aria-label="Facebook" class="mb-4 fill-current text-gray-L25 hover:cursor-pointer hover:text-indigo-500 focus:cursor-pointer focus:text-indigo-500 dark:hover:text-indigo-400 dark:focus:text-indigo-400"><span class="mr-1 flex h-12 w-12 justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-5 w-5"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"/></svg></span></a><a href="//linkedin.com/company/educative-inc/" target="_blank" rel="noopener noreferrer" aria-label="Linkedin" class="mb-4 fill-current text-gray-L25 hover:cursor-pointer hover:text-indigo-500 focus:cursor-pointer focus:text-indigo-500 dark:hover:text-indigo-400 dark:focus:text-indigo-400"><span class="mr-1 flex h-12 w-12 justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-5 w-5"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"/><rect x="2" y="9" width="4" height="12"/><circle cx="4" cy="4" r="2"/></svg></span></a><a href="//twitter.com/educativeinc" target="_blank" rel="noopener noreferrer" aria-label="Twitter" class="mb-4 fill-current text-gray-L25 hover:cursor-pointer hover:text-indigo-500 focus:cursor-pointer focus:text-indigo-500 dark:hover:text-indigo-400 dark:focus:text-indigo-400"><span class="mr-1 flex h-12 w-12 justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-5 w-5"><path d="M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z"/></svg></span></a><a href="//www.youtube.com/channel/UCT_8FqzTIr2Q1BOtvX_DPPw/?sub_confirmation=1" target="_blank" rel="noopener noreferrer" aria-label="YouTube" class="mb-4 fill-current text-gray-L25 hover:cursor-pointer hover:text-indigo-500 focus:cursor-pointer focus:text-indigo-500 dark:hover:text-indigo-400 dark:focus:text-indigo-400"><span class="mr-1 flex h-12 w-12 justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h-5 w-5"><path d="M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z"/><polygon points="9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02"/></svg></span></a><a href="//educativesessions.podbean.com" target="_blank" rel="noopener noreferrer" aria-label="Podcast" class="mb-4 fill-current text-gray-L25 hover:cursor-pointer hover:text-indigo-500 focus:cursor-pointer focus:text-indigo-500 dark:hover:text-indigo-400 dark:focus:text-indigo-400"><span class="mr-1 flex h-12 w-12 justify-center"><svg xmlns="http://www.w3.org/2000/svg" height="24" viewbox="0 0 24 24" width="24" class="h-5 w-5"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 14a3 3 0 003-3V5a3 3 0 10-6 0v6a3 3 0 003 3zm-1.2-9.1c0-.7.5-1.2 1.2-1.2s1.2.5 1.2 1.2v6.2a1.2 1.2 0 11-2.4 0V4.9zm6.5 6.1c0 3-2.5 5.1-5.3 5.1S6.7 14 6.7 11H5a7 7 0 006 6.7V21h2v-3.3a7 7 0 006-6.7h-1.7z"/></svg></span></a></div><div class="-mt-2 flex flex-col-reverse items-center text-left text-gray-L400 lg:mt-0 lg:flex-row"><p class="m-0 mt-2 text-xs font-semibold tracking-wide lg:mt-0">Copyright ©<!-- -->2024<!-- --> Educative, Inc. All rights reserved.</p><img src="/static/imgs/soc2.svg" loading="lazy" alt="soc2" class="m-2 h-12 w-12 lg:m-0 lg:ml-5"/></div></div></div></div></div><div class="fixed bottom-0 right-0 z-20 mb-8 mr-6"><div class="flex h-10 w-10 transform cursor-pointer items-center justify-center rounded-full border-gray-L500 bg-gray-L25 transition duration-500 ease-in-out hover:-translate-y-1 hover:border hover:border-solid dark:border-gray-D200 dark:bg-gray-D1300 "><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="dark:hidden w-5 h-5 text-gray-L500 dark:text-gray-D200 "><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></svg><svg width="21" height="21" viewbox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg" class="tailwind-hidden dark:block w-5 h-5 text-gray-L500 dark:text-gray-D200 "><path d="M10.5 7.2c1.81 0 3.3 1.49 3.3 3.3 0 1.81-1.49 3.3-3.3 3.3a3.31 3.31 0 0 1-3.3-3.3c0-1.81 1.49-3.3 3.3-3.3Zm0-2.2a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM2.86 11.45H.96A.96.96 0 0 1 0 10.5c0-.53.43-.95.95-.95h1.91c.53 0 .96.42.96.95s-.43.95-.96.95ZM20.05 11.45h-1.91a.96.96 0 0 1-.96-.95c0-.53.43-.95.96-.95h1.9c.53 0 .96.42.96.95s-.43.95-.95.95ZM9.55 2.86V.96c0-.53.42-.96.95-.96s.95.43.95.95v1.91c0 .53-.42.96-.95.96a.96.96 0 0 1-.95-.96ZM9.55 20.05v-1.91c0-.53.42-.96.95-.96s.95.43.95.96v1.9c0 .53-.42.96-.95.96a.96.96 0 0 1-.95-.95ZM3.42 3.42a.95.95 0 0 1 1.34 0l1.02 1c.37.37.36.98 0 1.36a.95.95 0 0 1-1.35 0L3.42 4.76a.95.95 0 0 1 0-1.34ZM15.22 15.22a.95.95 0 0 1 1.35 0l1.01 1.02a.95.95 0 1 1-1.34 1.34l-1.01-1a.95.95 0 0 1 0-1.35ZM17.58 3.42c.38.36.38.97 0 1.34l-1 1.02a.95.95 0 1 1-1.35-1.35l1-1.01a.95.95 0 0 1 1.35 0ZM5.78 15.22c.37.37.37.98 0 1.35l-1.02 1.01a.95.95 0 1 1-1.35-1.35l1.02-1a.95.95 0 0 1 1.35 0Z" fill="currentColor"/></svg></div></div><div class="fixed bottom-10 transition-transform translate-y-40 ease-out left-1/2 flex h-12 -translate-x-1/2 items-center justify-center rounded-3xl border bg-indigo-50 px-6 shadow-md duration-300 dark:border-solid dark:border-gray-D1000 dark:bg-gray-D1200"><span class="tailwind-hidden body-medium w-max text-indigo-900 dark:text-indigo-50 sm:block">Did you find this helpful?</span><svg width="24" height="24" viewbox="0 0 24 24" fill="#2320CC" xmlns="http://www.w3.org/2000/svg" class="hover:-translate-y-1 sm:ml-4 fill-current text-indigo-700 dark:text-indigo-200 cursor-pointer transition-all duration-300"><path fill-rule="evenodd" clip-rule="evenodd" d="M21 9H14.69L15.64 4.43L15.67 4.11C15.67 3.7 15.5 3.32 15.23 3.05L14.17 2L7.59 8.59C7.22 8.95 7 9.45 7 10V20C7 21.1 7.9 22 9 22H18C18.83 22 19.54 21.5 19.84 20.78L22.86 13.73C22.95 13.5 23 13.26 23 13V11C23 9.9 22.1 9 21 9ZM21 13L18 20H9V10L13.34 5.66L12.23 11H21V13ZM5 10H1V22H5V10Z" fill="current"/></svg><svg width="24" height="24" viewbox="0 0 24 24" fill="#2320CC" xmlns="http://www.w3.org/2000/svg" class="ml-6 hover:translate-y-1 fill-current text-indigo-700 dark:text-indigo-200 cursor-pointer transition-all duration-300"><path fill-rule="evenodd" clip-rule="evenodd" d="M15 2H6C5.17 2 4.46 2.5 4.16 3.22L1.14 10.27C1.05 10.5 1 10.74 1 11V13C1 14.1 1.9 15 3 15H9.31L8.36 19.57L8.33 19.89C8.33 20.3 8.5 20.68 8.77 20.95L9.83 22L16.42 15.41C16.78 15.05 17 14.55 17 14V4C17 2.9 16.1 2 15 2ZM15 14L10.66 18.34L12 13H3V11L6 4H15V14ZM23 2H19V14H23V2Z" fill="current"/></svg><svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewbox="0 0 24 24" class="ml-4 h-5 w-5 cursor-pointer fill-current text-gray-L500 dark:text-gray-D500"><path d="M6.4 19 5 17.6 10.6 12 5 6.4 6.4 5 12 10.6 17.6 5 19 6.4 13.4 12 19 17.6 17.6 19 12 13.4Z"/></svg></div></div></div></div></div></body>
推荐文章
满身肌肉的风衣
·
geemap
2 周前
面冷心慈的草稿本
·
章若楠_百度百科
2 周前
独立的肉夹馍
·
全年营收增至6481亿美元,沃尔玛将加大中国山姆店投资
5 月前
耍酷的墨镜
·
why are mat operators seeing wrong type? [closed] - OpenCV Q&A Forum
8 月前
卖萌的水桶
·
7.2 数据可视化库:Matplotlib与Seaborn | AmosCloud Wiki
11 月前