1
0
mirror of https://github.com/XFox111/my-website.git synced 2026-04-22 07:28:01 +03:00

init: First version

This commit is contained in:
2024-08-19 23:08:50 +00:00
commit 3ec7d9a722
134 changed files with 17088 additions and 0 deletions
+7
View File
@@ -0,0 +1,7 @@
import { StaticImageData } from "next/image";
export type ImageExport =
{
src: string | StaticImageData;
alt: string;
};
+31
View File
@@ -0,0 +1,31 @@
import { ImageExport } from "./assets";
import pageNotFox from "./decorations/page-not-fox.svg";
import pawprintTrailVertical from "./decorations/pawprint-trail-vertical.svg";
import pawprintTrail from "./decorations/pawprint-trail.svg";
export const textCorrection: ImageExport =
{
src: pageNotFox,
alt: "Page, not fox"
};
export const experienceBgVertical: ImageExport =
{
src: pawprintTrailVertical,
alt: ""
};
export const experienceBgHorizontal: ImageExport =
{
src: pawprintTrail,
alt: ""
};
const decorations =
{
textCorrection,
experienceBgVertical,
experienceBgHorizontal
};
export default decorations;
+22
View File
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="_x34_04" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 83.37 64.69">
<defs>
<style>
.cls-1 {
fill: #d13438;
}
</style>
</defs>
<path class="cls-1"
d="M.6,12.13c1.23,10.27,1.76,20.62,1.59,30.96-.03,1.93,2.97,1.93,3,0,.17-10.35-.36-20.69-1.59-30.96-.23-1.89-3.23-1.92-3,0h0Z" />
<path class="cls-1"
d="M4.43,14.22c-.28-1.07.89-1.95,1.71-2.4,1.21-.67,2.63-1.03,4-1.07,2.03-.06,4.98.6,5.12,3.09.08,1.36-.67,2.6-1.39,3.69-.78,1.17-1.63,2.3-2.52,3.39s-1.86,2.18-2.86,3.2c-.97.99-1.93,2.03-3.34,2.31-1.89.37-1.09,3.26.8,2.89,2.85-.56,5-3.31,6.79-5.4,1.94-2.26,4.15-4.8,5.15-7.65.98-2.82-.02-5.85-2.62-7.36-2.43-1.41-5.56-1.46-8.21-.69-2.93.85-6.45,3.27-5.51,6.79.5,1.86,3.39,1.07,2.89-.8h0Z" />
<path class="cls-1"
d="M29.72,7.33c-.89-1.38-2.58-1.94-4.14-1.41-1.75.59-2.89,2.31-3.72,3.86-1.8,3.33-2.43,7.18-1.84,10.91.52,3.35,2.64,7.4,6.63,7.01s5-4.71,5.56-7.86c.83-4.7.71-9.48-.35-14.13-.38-1.69-2.9-1.26-2.95.4-.12,4.86.04,10.5,4.12,13.88,3.23,2.67,8.54,2.58,10.83-1.3.98-1.67-1.61-3.18-2.59-1.51-1.59,2.7-5.26,1.8-7.01-.17-2.61-2.93-2.43-7.24-2.34-10.9l-2.95.4c.86,3.79,1.06,7.73.51,11.58-.26,1.8-.98,7.86-4.14,6.43-1.49-.67-2.01-2.5-2.3-3.96-.32-1.62-.33-3.35-.04-4.97s.86-3.28,1.72-4.74c.26-.45,1.84-2.92,2.43-2.01,1.04,1.62,3.64.11,2.59-1.51h0Z" />
<path class="cls-1"
d="M55,6.04c1.23-1.16.92-3.25-.51-4.12-1.52-.92-3.48-.27-4.89.56-2.88,1.69-4.47,4.95-4.93,8.16-.5,3.48.02,7.81,2.99,10.1,1.51,1.17,3.51,1.65,5.34.95s3-2.18,3.87-3.78c2.2-4.06,2.53-8.99.94-13.32-.55-1.51-2.99-1.39-2.95.4.16,6.24,3.64,12.1,2.93,18.38-.3,2.67-1.37,5.27-2.96,7.42-1.17,1.59-4.3,5.23-6.52,3.62-1.57-1.13-3.06,1.47-1.51,2.59,2.85,2.06,6.37-.15,8.5-2.21,2.35-2.27,4.07-5.22,4.94-8.37.92-3.37.71-6.78-.04-10.16-.84-3.75-2.23-7.39-2.33-11.26-.98.13-1.96.27-2.95.4,1.15,3.14,1.2,6.55-.02,9.68-.51,1.31-1.29,2.89-2.56,3.62-1.41.82-2.96-.08-3.76-1.32-1.49-2.32-1.33-5.72-.49-8.24.4-1.2,1.04-2.34,1.94-3.23.41-.4.86-.73,1.36-.99.28-.14.56-.26.86-.34.16-.05.31-.08.48-.09.26,0,.31-.19.15-.55-1.41,1.33.72,3.45,2.12,2.12h0Z" />
<path class="cls-1"
d="M67.62,12.52c1.69-1.45,3.32-3,4.76-4.71s2.23-3.73.82-5.63c-1.22-1.65-3.4-2.12-5.26-1.36s-3.09,2.46-3.81,4.34c-1.55,4.04-2.2,9.17-.91,13.36.62,2.01,2.05,3.25,4.18,3.34s4.03-.88,5.72-1.93c3.67-2.27,6.63-5.67,8.32-9.65.32-.74.22-1.61-.54-2.05-.63-.37-1.73-.21-2.05.54-1.11,2.6-2.72,4.89-4.83,6.77-1.03.92-2.18,1.71-3.39,2.36-1.02.55-2.63,1.35-3.8.84-.52-.22-.65-.78-.78-1.28-.22-.81-.36-1.64-.42-2.48-.12-1.71.02-3.43.35-5.11.28-1.46.59-3.04,1.26-4.38.49-.96,1.49-2.26,2.74-2.04,1.96.35.31,2.23-.37,2.96-1.28,1.41-2.66,2.73-4.11,3.97s.66,3.37,2.12,2.12h0Z" />
<path class="cls-1"
d="M28.15,40.04c-2.68,2.88-5.28,5.83-7.8,8.85-1.26,1.51-2.5,3.03-3.72,4.58-1.21,1.52-2.63,3.05-3.63,4.72-.75,1.26-.49,3.06,1.16,3.35s3.48-1.03,4.72-1.86c3.04-2.06,5.87-4.43,8.76-6.69s5.91-4.55,9.07-6.53c.76-.48,1.84-.87,2.48-1.48.31-.29.67-.04,0-.48s-.26-.23-.53.16-.38,1.03-.56,1.47c-.71,1.76-1.56,3.46-2.42,5.14s-1.73,3.34-2.54,5.03c-.63,1.33-2.07,3.48-1.59,5s2.3,1.58,3.52.92c1.68-.92,3.25-2.2,4.82-3.31,3.54-2.51,6.91-5.35,10.66-7.55.45-.26.91-.52,1.38-.76.2-.1.4-.21.6-.3.04-.02.88-.35.41-.34-.44,0,.05-.21-.15.08-.07.1-.07.42-.09.54-.11.55-.27,1.1-.41,1.65-.56,2.27-1.12,4.55-1.68,6.82-.46,1.87,2.43,2.67,2.89.8.42-1.72.85-3.45,1.27-5.17.37-1.49.98-3.09,1.01-4.64.02-1.3-.65-2.53-1.97-2.88-1.44-.39-3,.61-4.2,1.28-2.9,1.61-5.51,3.69-8.17,5.66-1.34.99-2.69,1.96-4.05,2.91-.71.5-1.43,1-2.15,1.49-.39.27-.78.54-1.18.8l-.39.26c-.33.15-.2.25.38.28l.44,1.06c-.1-.96.92-2.44,1.33-3.29.59-1.22,1.21-2.42,1.82-3.63,1.12-2.19,2.23-4.38,3.17-6.65.67-1.63,2.16-4.93-.57-5.6-1.08-.27-2.08.35-2.98.86-1.16.66-2.29,1.36-3.4,2.1-4.07,2.69-7.86,5.78-11.7,8.78-1.9,1.49-3.81,3.09-5.91,4.3-.45.26-1.18.44-1.58.74-.56.42.37,1.59.9,1.19.2-.15.35-.48.5-.69.83-1.09,1.66-2.17,2.51-3.24,3.71-4.69,7.6-9.23,11.67-13.61,1.31-1.41-.8-3.54-2.12-2.12h0Z" />
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

@@ -0,0 +1,445 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="devops-skills" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 170 1920">
<defs>
<style>
.cls-1 {
fill: #e0e0e0;
stroke-width: 0px;
}
@media (prefers-color-scheme: dark) {
.cls-1 {
fill: #525252;
}
}
</style>
</defs>
<g>
<g>
<path class="cls-1"
d="M82.16,1796.86c4.33-1.7,6.97-13.87,5.57-17.43-.87-2.22-3.6-3.17-5.85-2.4-1.68.57-3.17,3.07-5.89,4.15s-5.55.27-7.17.99c-2.18.97-3.53,3.54-2.65,5.77,1.45,3.68,11.66,10.63,15.99,8.93Z" />
<ellipse class="cls-1" cx="93.77" cy="1789.95" rx="4.12" ry="5.67"
transform="translate(-872.35 280.21) rotate(-29.62)" />
<ellipse class="cls-1" cx="89.13" cy="1799.97" rx="4.12" ry="5.67"
transform="translate(-877.91 279.22) rotate(-29.62)" />
<ellipse class="cls-1" cx="69.02" cy="1799.69" rx="4.12" ry="5.67"
transform="translate(-413.26 64.45) rotate(-13.34)" />
<ellipse class="cls-1" cx="79.23" cy="1803.86" rx="4.12" ry="5.67"
transform="translate(-413.95 66.92) rotate(-13.34)" />
</g>
<g>
<path class="cls-1"
d="M51.43,1847.73c4.64-.42,10.58-11.36,10.23-15.17-.22-2.37-2.56-4.05-4.94-3.95-1.78.08-3.9,2.06-6.81,2.33s-5.4-1.3-7.16-1.06c-2.37.32-4.38,2.41-4.16,4.79.36,3.93,8.22,13.47,12.85,13.05Z" />
<ellipse class="cls-1" cx="64.51" cy="1844.35" rx="4.12" ry="5.67"
transform="translate(-423.69 64.62) rotate(-13.34)" />
<ellipse class="cls-1" cx="57.25" cy="1852.67" rx="4.12" ry="5.67"
transform="translate(-425.8 63.17) rotate(-13.34)" />
<ellipse class="cls-1" cx="38.02" cy="1846.76" rx="5.67" ry="4.12"
transform="translate(-1808.26 1789.85) rotate(-87.05)" />
<ellipse class="cls-1" cx="46.66" cy="1853.63" rx="5.67" ry="4.12"
transform="translate(-1806.92 1804.99) rotate(-87.05)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M58.4,1686.34c4.5-1.2,8.49-12.99,7.51-16.68-.62-2.3-3.21-3.56-5.54-3.05-1.74.38-3.49,2.7-6.32,3.45s-5.54-.36-7.24.17c-2.28.72-3.9,3.12-3.29,5.43,1.02,3.82,10.38,11.88,14.88,10.68Z" />
<ellipse class="cls-1" cx="70.71" cy="1680.79" rx="4.12" ry="5.67"
transform="translate(-654.18 162.71) rotate(-23.12)" />
<ellipse class="cls-1" cx="64.97" cy="1690.21" rx="4.12" ry="5.67"
transform="translate(-658.34 161.21) rotate(-23.12)" />
<ellipse class="cls-1" cx="45.02" cy="1687.66" rx="4.12" ry="5.67"
transform="translate(-200.52 17.35) rotate(-6.83)" />
<ellipse class="cls-1" cx="54.7" cy="1692.96" rx="4.12" ry="5.67"
transform="translate(-201.08 18.54) rotate(-6.83)" />
</g>
<g>
<path class="cls-1"
d="M22.1,1733.4c4.65.11,11.8-10.09,11.88-13.91.05-2.38-2.09-4.32-4.47-4.48-1.77-.12-4.11,1.61-7.03,1.54s-5.22-1.9-7-1.86c-2.39.05-4.62,1.9-4.68,4.29-.09,3.95,6.64,14.32,11.29,14.42Z" />
<ellipse class="cls-1" cx="35.48" cy="1731.53" rx="4.12" ry="5.67"
transform="translate(-205.8 16.53) rotate(-6.83)" />
<ellipse class="cls-1" cx="27.33" cy="1738.97" rx="4.12" ry="5.67"
transform="translate(-206.75 15.61) rotate(-6.83)" />
<ellipse class="cls-1" cx="8.89" cy="1730.92" rx="5.67" ry="4.12"
transform="translate(-1700.02 1455.6) rotate(-80.55)" />
<ellipse class="cls-1" cx="16.7" cy="1738.72" rx="5.67" ry="4.12"
transform="translate(-1701.19 1469.82) rotate(-80.55)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M93.45,1581.5c4.64.33,12.26-9.51,12.53-13.33.17-2.38-1.88-4.41-4.25-4.69-1.77-.21-4.18,1.41-7.1,1.21s-5.12-2.15-6.9-2.19c-2.39-.06-4.71,1.68-4.87,4.06-.28,3.94,5.95,14.62,10.59,14.94Z" />
<ellipse class="cls-1" cx="106.9" cy="1580.27" rx="4.12" ry="5.67"
transform="translate(-112.73 11.69) rotate(-4.1)" />
<ellipse class="cls-1" cx="98.4" cy="1587.31" rx="4.12" ry="5.67"
transform="translate(-113.26 11.1) rotate(-4.1)" />
<ellipse class="cls-1" cx="80.37" cy="1578.39" rx="5.67" ry="4.12"
transform="translate(-1479.45 1323.92) rotate(-77.82)" />
<ellipse class="cls-1" cx="87.79" cy="1586.56" rx="5.67" ry="4.12"
transform="translate(-1481.57 1337.62) rotate(-77.82)" />
</g>
<g>
<path class="cls-1"
d="M43.8,1614.17c4.36,1.62,14.44-5.69,15.77-9.28.83-2.23-.57-4.76-2.76-5.69-1.64-.69-4.41.18-7.15-.83s-4.31-3.5-6.01-4.04c-2.28-.73-4.99.29-5.82,2.53-1.37,3.71,1.61,15.7,5.97,17.31Z" />
<ellipse class="cls-1" cx="57.06" cy="1616.76" rx="5.67" ry="4.12"
transform="translate(-1535.34 1331.42) rotate(-77.82)" />
<ellipse class="cls-1" cx="46.93" cy="1621.13" rx="5.67" ry="4.12"
transform="translate(-1547.61 1324.96) rotate(-77.82)" />
<ellipse class="cls-1" cx="32.12" cy="1607.52" rx="5.67" ry="4.12"
transform="translate(-1396.42 869.66) rotate(-61.54)" />
<ellipse class="cls-1" cx="36.95" cy="1617.44" rx="5.67" ry="4.12"
transform="translate(-1402.61 879.11) rotate(-61.54)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M88.84,1463.07c4.65.23,12.07-9.76,12.26-13.58.12-2.38-1.97-4.37-4.34-4.6-1.77-.17-4.15,1.5-7.07,1.35s-5.16-2.05-6.94-2.05c-2.39-.01-4.67,1.77-4.79,4.16-.2,3.95,6.24,14.49,10.89,14.73Z" />
<ellipse class="cls-1" cx="102.27" cy="1461.56" rx="4.12" ry="5.67"
transform="translate(-133.42 15.51) rotate(-5.25)" />
<ellipse class="cls-1" cx="93.91" cy="1468.77" rx="4.12" ry="5.67"
transform="translate(-134.12 14.77) rotate(-5.25)" />
<ellipse class="cls-1" cx="75.7" cy="1460.22" rx="5.67" ry="4.12"
transform="translate(-1372.05 1255.24) rotate(-78.97)" />
<ellipse class="cls-1" cx="83.29" cy="1468.24" rx="5.67" ry="4.12"
transform="translate(-1373.78 1269.16) rotate(-78.97)" />
</g>
<g>
<path class="cls-1"
d="M39.86,1496.73c4.4,1.53,14.32-5.98,15.58-9.6.78-2.25-.66-4.75-2.88-5.63-1.65-.66-4.4.27-7.17-.69s-4.38-3.41-6.09-3.92c-2.29-.68-4.98.39-5.77,2.65-1.3,3.73,1.93,15.66,6.32,17.19Z" />
<ellipse class="cls-1" cx="53.17" cy="1499.05" rx="5.67" ry="4.12"
transform="translate(-1428.38 1264.53) rotate(-78.97)" />
<ellipse class="cls-1" cx="43.13" cy="1503.63" rx="5.67" ry="4.12"
transform="translate(-1440.99 1258.37) rotate(-78.97)" />
<ellipse class="cls-1" cx="28.04" cy="1490.32" rx="5.67" ry="4.12"
transform="translate(-1309.05 831.52) rotate(-62.69)" />
<ellipse class="cls-1" cx="33.08" cy="1500.14" rx="5.67" ry="4.12"
transform="translate(-1315.05 841.31) rotate(-62.69)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M118.08,1349.43c4.65-.14,11.24-10.7,11.13-14.52-.07-2.38-2.31-4.2-4.7-4.24-1.78-.03-4.02,1.83-6.94,1.91s-5.31-1.62-7.09-1.49c-2.39.18-4.51,2.14-4.44,4.53.12,3.95,7.39,13.94,12.04,13.8Z" />
<ellipse class="cls-1" cx="131.35" cy="1346.85" rx="4.12" ry="5.67"
transform="translate(-229.28 42.55) rotate(-9.89)" />
<ellipse class="cls-1" cx="123.6" cy="1354.71" rx="4.12" ry="5.67"
transform="translate(-230.74 41.33) rotate(-9.89)" />
<ellipse class="cls-1" cx="104.76" cy="1347.66" rx="5.67" ry="4.12"
transform="translate(-1246.19 1301.64) rotate(-83.6)" />
<ellipse class="cls-1" cx="112.97" cy="1355.04" rx="5.67" ry="4.12"
transform="translate(-1246.22 1316.36) rotate(-83.6)" />
</g>
<g>
<path class="cls-1"
d="M71.98,1386.94c4.51,1.17,13.79-7.12,14.75-10.82.6-2.31-1.04-4.68-3.32-5.38-1.7-.53-4.37.63-7.2-.11s-4.64-3.05-6.39-3.41c-2.34-.5-4.93.79-5.53,3.11-.99,3.82,3.18,15.46,7.69,16.62Z" />
<ellipse class="cls-1" cx="85.44" cy="1388.18" rx="5.67" ry="4.12"
transform="translate(-1303.62 1318.45) rotate(-83.6)" />
<ellipse class="cls-1" cx="75.8" cy="1393.56" rx="5.67" ry="4.12"
transform="translate(-1317.53 1313.65) rotate(-83.6)" />
<ellipse class="cls-1" cx="59.69" cy="1381.5" rx="5.67" ry="4.12"
transform="translate(-1238.03 903.96) rotate(-67.32)" />
<ellipse class="cls-1" cx="65.5" cy="1390.89" rx="5.67" ry="4.12"
transform="translate(-1243.11 915.09) rotate(-67.32)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M132.72,1237.61c4.63.49,12.58-9.09,12.98-12.89.25-2.37-1.73-4.47-4.08-4.83-1.76-.27-4.23,1.27-7.14.96s-5.05-2.32-6.82-2.43c-2.39-.14-4.76,1.51-5.01,3.89-.41,3.93,5.44,14.81,10.07,15.3Z" />
<ellipse class="cls-1" cx="146.21" cy="1236.84" rx="4.12" ry="5.67"
transform="translate(-46.02 6.31) rotate(-2.14)" />
<ellipse class="cls-1" cx="137.47" cy="1243.58" rx="4.12" ry="5.67"
transform="translate(-46.28 5.99) rotate(-2.14)" />
<ellipse class="cls-1" cx="119.75" cy="1234.05" rx="5.67" ry="4.12"
transform="translate(-1106.15 1048.62) rotate(-75.86)" />
<ellipse class="cls-1" cx="126.89" cy="1242.47" rx="5.67" ry="4.12"
transform="translate(-1108.92 1061.9) rotate(-75.86)" />
</g>
<g>
<path class="cls-1"
d="M81.98,1268.56c4.31,1.76,14.63-5.2,16.08-8.73.9-2.2-.4-4.78-2.56-5.78-1.61-.75-4.41.03-7.12-1.08s-4.19-3.64-5.87-4.24c-2.25-.81-4.99.12-5.9,2.33-1.5,3.66,1.07,15.74,5.38,17.51Z" />
<ellipse class="cls-1" cx="95.15" cy="1271.6" rx="5.67" ry="4.12"
transform="translate(-1161.15 1053.13) rotate(-75.86)" />
<ellipse class="cls-1" cx="84.87" cy="1275.63" rx="5.67" ry="4.12"
transform="translate(-1172.82 1046.21) rotate(-75.86)" />
<ellipse class="cls-1" cx="70.53" cy="1261.51" rx="5.67" ry="4.12"
transform="translate(-1052.97 683.48) rotate(-59.57)" />
<ellipse class="cls-1" cx="75.03" cy="1271.59" rx="5.67" ry="4.12"
transform="translate(-1059.45 692.34) rotate(-59.57)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M125.25,1120.96c4.5-1.19,8.54-12.96,7.57-16.66-.61-2.3-3.2-3.57-5.53-3.07-1.74.37-3.5,2.68-6.33,3.43s-5.54-.38-7.24.15c-2.28.71-3.92,3.1-3.31,5.42,1.01,3.82,10.34,11.92,14.84,10.73Z" />
<ellipse class="cls-1" cx="137.59" cy="1115.45" rx="4.12" ry="5.67"
transform="translate(-423.26 141.48) rotate(-22.9)" />
<ellipse class="cls-1" cx="131.82" cy="1124.86" rx="4.12" ry="5.67"
transform="translate(-427.37 139.98) rotate(-22.9)" />
<ellipse class="cls-1" cx="111.87" cy="1122.23" rx="4.12" ry="5.67"
transform="translate(-128.66 20.39) rotate(-6.62)" />
<ellipse class="cls-1" cx="121.53" cy="1127.57" rx="4.12" ry="5.67"
transform="translate(-129.21 21.54) rotate(-6.62)" />
</g>
<g>
<path class="cls-1"
d="M88.79,1167.88c4.65.12,11.83-10.04,11.93-13.87.06-2.38-2.07-4.32-4.45-4.5-1.77-.13-4.12,1.59-7.04,1.52s-5.21-1.92-6.99-1.89c-2.39.04-4.63,1.88-4.69,4.27-.1,3.95,6.58,14.34,11.24,14.46Z" />
<ellipse class="cls-1" cx="102.17" cy="1166.06" rx="4.12" ry="5.67"
transform="translate(-133.78 19.56) rotate(-6.62)" />
<ellipse class="cls-1" cx="93.99" cy="1173.47" rx="4.12" ry="5.67"
transform="translate(-134.69 18.67) rotate(-6.62)" />
<ellipse class="cls-1" cx="75.58" cy="1165.36" rx="5.67" ry="4.12"
transform="translate(-1085.93 1044.33) rotate(-80.34)" />
<ellipse class="cls-1" cx="83.36" cy="1173.19" rx="5.67" ry="4.12"
transform="translate(-1087.18 1058.51) rotate(-80.34)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M102.07,1004.89c4.28-1.82,6.58-14.06,5.09-17.57-.93-2.19-3.68-3.07-5.92-2.24-1.67.62-3.08,3.16-5.77,4.31s-5.54.42-7.14,1.19c-2.16,1.03-3.43,3.64-2.49,5.84,1.55,3.64,11.95,10.3,16.23,8.48Z" />
<ellipse class="cls-1" cx="113.49" cy="997.66" rx="4.12" ry="5.67"
transform="translate(-500.39 203.07) rotate(-31.2)" />
<ellipse class="cls-1" cx="109.13" cy="1007.8" rx="4.12" ry="5.67"
transform="translate(-506.27 202.28) rotate(-31.2)" />
<ellipse class="cls-1" cx="89.01" cy="1008.08" rx="4.12" ry="5.67"
transform="translate(-256.51 56.89) rotate(-14.92)" />
<ellipse class="cls-1" cx="99.34" cy="1011.97" rx="4.12" ry="5.67"
transform="translate(-257.16 59.68) rotate(-14.92)" />
</g>
<g>
<path class="cls-1"
d="M72.76,1056.59c4.62-.55,10.26-11.65,9.81-15.44-.28-2.37-2.67-3.98-5.05-3.81-1.77.13-3.84,2.17-6.75,2.52s-5.43-1.15-7.19-.86c-2.36.39-4.31,2.53-4.03,4.9.47,3.92,8.58,13.24,13.21,12.69Z" />
<ellipse class="cls-1" cx="85.74" cy="1052.85" rx="4.12" ry="5.67"
transform="translate(-268.15 57.56) rotate(-14.92)" />
<ellipse class="cls-1" cx="78.71" cy="1061.36" rx="4.12" ry="5.67"
transform="translate(-270.57 56.03) rotate(-14.92)" />
<ellipse class="cls-1" cx="59.32" cy="1055.99" rx="5.67" ry="4.12"
transform="translate(-997.78 1090.17) rotate(-88.64)" />
<ellipse class="cls-1" cx="68.15" cy="1062.62" rx="5.67" ry="4.12"
transform="translate(-995.79 1105.46) rotate(-88.64)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M92.75,890.52c4.39-1.55,7.45-13.62,6.17-17.22-.79-2.25-3.48-3.29-5.77-2.6-1.7.51-3.27,2.96-6.03,3.94s-5.55.07-7.2.74c-2.22.9-3.65,3.41-2.85,5.67,1.32,3.72,11.29,11.03,15.67,9.48Z" />
<ellipse class="cls-1" cx="104.59" cy="884.02" rx="4.12" ry="5.67"
transform="translate(-397.98 149.28) rotate(-27.63)" />
<ellipse class="cls-1" cx="99.61" cy="893.87" rx="4.12" ry="5.67"
transform="translate(-403.12 148.09) rotate(-27.63)" />
<ellipse class="cls-1" cx="79.52" cy="892.89" rx="4.12" ry="5.67"
transform="translate(-174.08 33.08) rotate(-11.34)" />
<ellipse class="cls-1" cx="89.58" cy="897.42" rx="4.12" ry="5.67"
transform="translate(-174.77 35.15) rotate(-11.34)" />
</g>
<g>
<path class="cls-1"
d="M60.27,940.29c4.65-.26,10.97-10.98,10.75-14.8-.13-2.38-2.42-4.14-4.8-4.12-1.78.02-3.97,1.93-6.89,2.09s-5.35-1.49-7.12-1.31c-2.38.24-4.46,2.26-4.32,4.64.22,3.95,7.74,13.75,12.39,13.49Z" />
<ellipse class="cls-1" cx="73.46" cy="937.37" rx="4.12" ry="5.67"
transform="translate(-182.95 32.76) rotate(-11.34)" />
<ellipse class="cls-1" cx="65.92" cy="945.43" rx="4.12" ry="5.67"
transform="translate(-184.68 31.44) rotate(-11.34)" />
<ellipse class="cls-1" cx="46.9" cy="938.86" rx="5.67" ry="4.12"
transform="translate(-892.51 904.79) rotate(-85.06)" />
<ellipse class="cls-1" cx="55.3" cy="946.02" rx="5.67" ry="4.12"
transform="translate(-891.98 919.7) rotate(-85.06)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M65.69,780.46c4.53-1.05,8.93-12.69,8.07-16.42-.54-2.32-3.09-3.67-5.44-3.24-1.75.32-3.58,2.58-6.43,3.23s-5.53-.55-7.24-.07c-2.3.64-4.01,2.98-3.47,5.31.89,3.85,9.97,12.23,14.51,11.18Z" />
<ellipse class="cls-1" cx="78.19" cy="775.33" rx="4.12" ry="5.67"
transform="translate(-274.61 80.5) rotate(-21.16)" />
<ellipse class="cls-1" cx="72.13" cy="784.56" rx="4.12" ry="5.67"
transform="translate(-278.35 78.94) rotate(-21.16)" />
<ellipse class="cls-1" cx="52.27" cy="781.33" rx="4.12" ry="5.67"
transform="translate(-66.27 7.28) rotate(-4.88)" />
<ellipse class="cls-1" cx="61.77" cy="786.95" rx="4.12" ry="5.67"
transform="translate(-66.71 8.11) rotate(-4.88)" />
</g>
<g>
<path class="cls-1"
d="M27.81,826.26c4.65.26,12.13-9.68,12.35-13.5.14-2.38-1.94-4.38-4.31-4.63-1.77-.18-4.16,1.47-7.08,1.3s-5.15-2.08-6.93-2.1c-2.39-.03-4.68,1.74-4.82,4.13-.22,3.94,6.14,14.53,10.79,14.8Z" />
<ellipse class="cls-1" cx="41.25" cy="824.84" rx="4.12" ry="5.67"
transform="translate(-70.01 6.5) rotate(-4.88)" />
<ellipse class="cls-1" cx="32.85" cy="832" rx="4.12" ry="5.67"
transform="translate(-70.65 5.81) rotate(-4.88)" />
<ellipse class="cls-1" cx="14.69" cy="823.33" rx="5.67" ry="4.12"
transform="translate(-795.29 674.97) rotate(-78.6)" />
<ellipse class="cls-1" cx="22.23" cy="831.39" rx="5.67" ry="4.12"
transform="translate(-797.15 688.82) rotate(-78.6)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M77.05,672.34c4.63.44,12.49-9.21,12.86-13.02.23-2.37-1.77-4.46-4.13-4.79-1.76-.25-4.21,1.31-7.13,1.03s-5.07-2.27-6.85-2.36c-2.39-.12-4.75,1.56-4.97,3.94-.38,3.93,5.59,14.76,10.22,15.2Z" />
<ellipse class="cls-1" cx="90.54" cy="671.44" rx="4.12" ry="5.67"
transform="translate(-31.44 4.99) rotate(-2.69)" />
<ellipse class="cls-1" cx="81.87" cy="678.27" rx="4.12" ry="5.67"
transform="translate(-31.77 4.59) rotate(-2.69)" />
<ellipse class="cls-1" cx="64.05" cy="668.92" rx="5.67" ry="4.12"
transform="translate(-601.19 574.01) rotate(-76.41)" />
<ellipse class="cls-1" cx="71.28" cy="677.26" rx="5.67" ry="4.12"
transform="translate(-603.77 587.42) rotate(-76.41)" />
</g>
<g>
<path class="cls-1"
d="M26.62,703.78c4.32,1.72,14.57-5.34,15.99-8.89.88-2.21-.45-4.77-2.62-5.76-1.62-.73-4.41.07-7.13-1.01s-4.23-3.6-5.91-4.19c-2.26-.79-4.99.17-5.88,2.39-1.46,3.67,1.22,15.73,5.55,17.46Z" />
<ellipse class="cls-1" cx="39.81" cy="706.7" rx="5.67" ry="4.12"
transform="translate(-656.46 579.36) rotate(-76.41)" />
<ellipse class="cls-1" cx="29.58" cy="710.82" rx="5.67" ry="4.12"
transform="translate(-668.3 572.56) rotate(-76.41)" />
<ellipse class="cls-1" cx="15.1" cy="696.85" rx="5.67" ry="4.12"
transform="translate(-596.7 362.89) rotate(-60.13)" />
<ellipse class="cls-1" cx="19.7" cy="706.88" rx="5.67" ry="4.12"
transform="translate(-603.09 371.91) rotate(-60.13)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M102.24,558.58c4.65.23,12.07-9.76,12.26-13.58.12-2.38-1.97-4.37-4.34-4.6-1.77-.17-4.15,1.5-7.07,1.35s-5.17-2.04-6.95-2.05c-2.39-.01-4.67,1.77-4.79,4.16-.2,3.95,6.24,14.49,10.89,14.72Z" />
<ellipse class="cls-1" cx="115.66" cy="557.07" rx="4.12" ry="5.67"
transform="translate(-50.73 13) rotate(-5.28)" />
<ellipse class="cls-1" cx="107.31" cy="564.28" rx="4.12" ry="5.67"
transform="translate(-51.43 12.26) rotate(-5.28)" />
<ellipse class="cls-1" cx="89.09" cy="555.74" rx="5.67" ry="4.12"
transform="translate(-473.43 537.11) rotate(-78.99)" />
<ellipse class="cls-1" cx="96.69" cy="563.75" rx="5.67" ry="4.12"
transform="translate(-475.16 551.04) rotate(-78.99)" />
</g>
<g>
<path class="cls-1"
d="M53.27,592.26c4.4,1.53,14.32-5.99,15.57-9.6.78-2.25-.67-4.75-2.88-5.63-1.65-.66-4.4.27-7.17-.69s-4.39-3.41-6.09-3.92c-2.29-.68-4.98.39-5.76,2.65-1.3,3.73,1.93,15.66,6.33,17.19Z" />
<ellipse class="cls-1" cx="66.58" cy="594.58" rx="5.67" ry="4.12"
transform="translate(-529.77 546.43) rotate(-78.99)" />
<ellipse class="cls-1" cx="56.54" cy="599.16" rx="5.67" ry="4.12"
transform="translate(-542.39 540.28) rotate(-78.99)" />
<ellipse class="cls-1" cx="41.45" cy="585.85" rx="5.67" ry="4.12"
transform="translate(-498.21 354.11) rotate(-62.71)" />
<ellipse class="cls-1" cx="46.49" cy="595.67" rx="5.67" ry="4.12"
transform="translate(-504.21 363.91) rotate(-62.71)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M95.08,440.14c4.65.1,11.79-10.09,11.88-13.92.05-2.38-2.09-4.31-4.47-4.48-1.77-.12-4.11,1.61-7.03,1.55s-5.22-1.9-7-1.86c-2.39.05-4.62,1.9-4.67,4.29-.09,3.95,6.64,14.31,11.3,14.42Z" />
<ellipse class="cls-1" cx="108.46" cy="438.26" rx="4.12" ry="5.67"
transform="translate(-51.62 16.11) rotate(-6.87)" />
<ellipse class="cls-1" cx="100.31" cy="445.7" rx="4.12" ry="5.67"
transform="translate(-52.57 15.19) rotate(-6.87)" />
<ellipse class="cls-1" cx="81.87" cy="437.67" rx="5.67" ry="4.12"
transform="translate(-363.3 446.84) rotate(-80.59)" />
<ellipse class="cls-1" cx="89.68" cy="445.47" rx="5.67" ry="4.12"
transform="translate(-364.46 461.07) rotate(-80.59)" />
</g>
<g>
<path class="cls-1"
d="M47.07,475.17c4.44,1.4,14.15-6.38,15.3-10.03.72-2.27-.8-4.73-3.03-5.55-1.67-.61-4.4.39-7.18-.49s-4.48-3.29-6.2-3.75c-2.31-.62-4.97.53-5.69,2.81-1.19,3.77,2.37,15.6,6.8,17.01Z" />
<ellipse class="cls-1" cx="60.44" cy="477.12" rx="5.67" ry="4.12"
transform="translate(-420.14 458.7) rotate(-80.59)" />
<ellipse class="cls-1" cx="50.53" cy="481.98" rx="5.67" ry="4.12"
transform="translate(-433.22 452.99) rotate(-80.59)" />
<ellipse class="cls-1" cx="35.08" cy="469.09" rx="5.67" ry="4.12"
transform="translate(-402.84 297.31) rotate(-64.3)" />
<ellipse class="cls-1" cx="40.39" cy="478.77" rx="5.67" ry="4.12"
transform="translate(-408.55 307.57) rotate(-64.3)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M134.25,328.91c4.65-.02,11.53-10.39,11.51-14.22,0-2.38-2.2-4.26-4.58-4.36-1.78-.08-4.07,1.72-6.99,1.73s-5.27-1.76-7.04-1.68c-2.39.12-4.57,2.02-4.56,4.41.01,3.95,7.01,14.14,11.66,14.12Z" />
<ellipse class="cls-1" cx="147.57" cy="326.68" rx="4.12" ry="5.67"
transform="translate(-45.83 24.86) rotate(-8.34)" />
<ellipse class="cls-1" cx="139.62" cy="334.33" rx="4.12" ry="5.67"
transform="translate(-47.02 23.79) rotate(-8.34)" />
<ellipse class="cls-1" cx="120.97" cy="326.77" rx="5.67" ry="4.12"
transform="translate(-219.38 401.44) rotate(-82.06)" />
<ellipse class="cls-1" cx="128.98" cy="334.37" rx="5.67" ry="4.12"
transform="translate(-220 415.92) rotate(-82.06)" />
</g>
<g>
<path class="cls-1"
d="M87.15,365.16c4.47,1.29,13.98-6.75,15.04-10.42.66-2.29-.92-4.71-3.17-5.47-1.68-.57-4.38.51-7.19-.3s-4.56-3.17-6.29-3.59c-2.33-.56-4.95.66-5.61,2.96-1.09,3.8,2.77,15.54,7.24,16.83Z" />
<ellipse class="cls-1" cx="100.57" cy="366.76" rx="5.67" ry="4.12"
transform="translate(-276.57 415.7) rotate(-82.06)" />
<ellipse class="cls-1" cx="90.79" cy="371.87" rx="5.67" ry="4.12"
transform="translate(-290.06 410.42) rotate(-82.06)" />
<ellipse class="cls-1" cx="75.01" cy="359.39" rx="5.67" ry="4.12"
transform="translate(-283.52 280.35) rotate(-65.78)" />
<ellipse class="cls-1" cx="80.57" cy="368.92" rx="5.67" ry="4.12"
transform="translate(-288.93 291.04) rotate(-65.78)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M147.46,207.3c4.53-1.06,8.89-12.72,8.02-16.45-.54-2.32-3.1-3.65-5.45-3.22-1.75.33-3.57,2.59-6.42,3.26s-5.53-.53-7.24-.05c-2.3.65-4,3-3.45,5.32.9,3.85,10.01,12.2,14.54,11.13Z" />
<ellipse class="cls-1" cx="159.94" cy="202.13" rx="4.12" ry="5.67"
transform="translate(-62.62 72.11) rotate(-21.35)" />
<ellipse class="cls-1" cx="153.91" cy="211.38" rx="4.12" ry="5.67"
transform="translate(-66.4 70.55) rotate(-21.35)" />
<ellipse class="cls-1" cx="134.05" cy="208.21" rx="4.12" ry="5.67"
transform="translate(-17.88 12.66) rotate(-5.07)" />
<ellipse class="cls-1" cx="143.56" cy="213.81" rx="4.12" ry="5.67"
transform="translate(-18.34 13.53) rotate(-5.07)" />
</g>
<g>
<path class="cls-1"
d="M109.74,253.23c4.65.25,12.1-9.72,12.31-13.54.13-2.38-1.95-4.38-4.33-4.62-1.77-.18-4.16,1.48-7.08,1.33s-5.16-2.06-6.94-2.08c-2.39-.02-4.68,1.76-4.81,4.14-.21,3.95,6.19,14.51,10.84,14.76Z" />
<ellipse class="cls-1" cx="123.17" cy="251.77" rx="4.12" ry="5.67"
transform="translate(-21.77 11.87) rotate(-5.07)" />
<ellipse class="cls-1" cx="114.79" cy="258.95" rx="4.12" ry="5.67"
transform="translate(-22.44 11.16) rotate(-5.07)" />
<ellipse class="cls-1" cx="96.6" cy="250.34" rx="5.67" ry="4.12"
transform="translate(-167.74 296.43) rotate(-78.79)" />
<ellipse class="cls-1" cx="104.17" cy="258.38" rx="5.67" ry="4.12"
transform="translate(-169.54 310.33) rotate(-78.79)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M103.84,95.03c4.4-1.52,7.56-13.56,6.31-17.17-.78-2.25-3.46-3.32-5.74-2.65-1.71.5-3.29,2.94-6.06,3.89s-5.55.03-7.21.69c-2.22.88-3.67,3.39-2.89,5.65,1.29,3.74,11.2,11.12,15.6,9.6Z" />
<ellipse class="cls-1" cx="115.73" cy="88.62" rx="4.12" ry="5.67"
transform="translate(-27.7 62.62) rotate(-27.17)" />
<ellipse class="cls-1" cx="110.67" cy="98.43" rx="4.12" ry="5.67"
transform="translate(-32.73 61.4) rotate(-27.17)" />
<ellipse class="cls-1" cx="90.59" cy="97.3" rx="4.12" ry="5.67"
transform="translate(-16.75 18.86) rotate(-10.89)" />
<ellipse class="cls-1" cx="100.62" cy="101.9" rx="4.12" ry="5.67"
transform="translate(-17.44 20.84) rotate(-10.89)" />
</g>
<g>
<path class="cls-1"
d="M70.96,144.54c4.65-.22,11.05-10.9,10.87-14.72-.11-2.38-2.39-4.16-4.77-4.15-1.78,0-3.99,1.9-6.91,2.04s-5.34-1.53-7.11-1.36c-2.38.22-4.48,2.22-4.36,4.61.19,3.95,7.63,13.81,12.28,13.59Z" />
<ellipse class="cls-1" cx="84.18" cy="141.73" rx="4.12" ry="5.67"
transform="translate(-25.25 18.45) rotate(-10.89)" />
<ellipse class="cls-1" cx="76.57" cy="149.72" rx="4.12" ry="5.67"
transform="translate(-26.9 17.16) rotate(-10.89)" />
<ellipse class="cls-1" cx="57.61" cy="143" rx="5.67" ry="4.12"
transform="translate(-90.18 186.91) rotate(-84.61)" />
<ellipse class="cls-1" cx="65.94" cy="150.23" rx="5.67" ry="4.12"
transform="translate(-89.82 201.76) rotate(-84.61)" />
</g>
</g>
<g>
<path class="cls-1"
d="M49.76,28.64c4.64.31,12.22-9.56,12.48-13.38.16-2.38-1.9-4.4-4.27-4.67-1.77-.2-4.18,1.43-7.09,1.23s-5.13-2.13-6.91-2.17c-2.39-.05-4.7,1.69-4.86,4.08-.26,3.94,6.01,14.59,10.65,14.9Z" />
<ellipse class="cls-1" cx="63.21" cy="27.35" rx="4.12" ry="5.67"
transform="translate(-1.89 4.86) rotate(-4.34)" />
<ellipse class="cls-1" cx="54.74" cy="34.42" rx="4.12" ry="5.67"
transform="translate(-2.45 4.24) rotate(-4.34)" />
<ellipse class="cls-1" cx="36.67" cy="25.58" rx="5.67" ry="4.12"
transform="translate(4.05 56.17) rotate(-78.06)" />
<ellipse class="cls-1" cx="44.13" cy="33.72" rx="5.67" ry="4.12"
transform="translate(2.01 69.91) rotate(-78.06)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 24 KiB

+446
View File
@@ -0,0 +1,446 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="devops-skills" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 170">
<defs>
<style>
.cls-1 {
fill: #e0e0e0;
stroke-width: 0px;
}
@media (prefers-color-scheme: dark)
{
.cls-1 {
fill: #525252;
}
}
</style>
</defs>
<g>
<g>
<path class="cls-1"
d="M1796.86,87.84c-1.7-4.33-13.87-6.97-17.43-5.57-2.22.87-3.17,3.6-2.4,5.85.57,1.68,3.07,3.17,4.15,5.89s.27,5.55.99,7.17c.97,2.18,3.54,3.53,5.77,2.65,3.68-1.45,10.63-11.66,8.93-15.99Z" />
<ellipse class="cls-1" cx="1789.95" cy="76.23" rx="5.67" ry="4.12"
transform="translate(196.19 894.56) rotate(-29.62)" />
<ellipse class="cls-1" cx="1799.97" cy="80.87" rx="5.67" ry="4.12"
transform="translate(195.21 900.12) rotate(-29.62)" />
<ellipse class="cls-1" cx="1799.69" cy="100.99" rx="5.67" ry="4.12"
transform="translate(25.24 417.85) rotate(-13.34)" />
<ellipse class="cls-1" cx="1803.86" cy="90.77" rx="5.67" ry="4.12"
transform="translate(27.71 418.53) rotate(-13.34)" />
</g>
<g>
<path class="cls-1"
d="M1847.73,118.57c-.42-4.64-11.36-10.58-15.17-10.23-2.37.22-4.05,2.56-3.95,4.94.08,1.78,2.06,3.9,2.33,6.81s-1.3,5.4-1.06,7.16c.32,2.37,2.41,4.38,4.79,4.16,3.93-.36,13.47-8.22,13.05-12.85Z" />
<ellipse class="cls-1" cx="1844.35" cy="105.49" rx="5.67" ry="4.12"
transform="translate(25.4 428.27) rotate(-13.34)" />
<ellipse class="cls-1" cx="1852.67" cy="112.75" rx="5.67" ry="4.12"
transform="translate(23.95 430.38) rotate(-13.34)" />
<ellipse class="cls-1" cx="1846.76" cy="131.98" rx="4.12" ry="5.67"
transform="translate(1620.07 1969.52) rotate(-87.05)" />
<ellipse class="cls-1" cx="1853.63" cy="123.34" rx="4.12" ry="5.67"
transform="translate(1635.21 1968.19) rotate(-87.05)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M1686.34,111.6c-1.2-4.5-12.99-8.49-16.68-7.51-2.3.62-3.56,3.21-3.05,5.54.38,1.74,2.7,3.49,3.45,6.32s-.36,5.54.17,7.24c.72,2.28,3.12,3.9,5.43,3.29,3.82-1.02,11.88-10.38,10.68-14.88Z" />
<ellipse class="cls-1" cx="1680.79" cy="99.29" rx="5.67" ry="4.12"
transform="translate(95.97 667.83) rotate(-23.12)" />
<ellipse class="cls-1" cx="1690.21" cy="105.03" rx="5.67" ry="4.12"
transform="translate(94.47 671.99) rotate(-23.12)" />
<ellipse class="cls-1" cx="1687.66" cy="124.98" rx="5.67" ry="4.12"
transform="translate(-2.88 201.72) rotate(-6.83)" />
<ellipse class="cls-1" cx="1692.96" cy="115.3" rx="5.67" ry="4.12"
transform="translate(-1.69 202.29) rotate(-6.83)" />
</g>
<g>
<path class="cls-1"
d="M1733.4,147.9c.11-4.65-10.09-11.8-13.91-11.88-2.38-.05-4.32,2.09-4.48,4.47-.12,1.77,1.61,4.11,1.54,7.03s-1.9,5.22-1.86,7c.05,2.39,1.9,4.62,4.29,4.68,3.95.09,14.32-6.64,14.42-11.29Z" />
<ellipse class="cls-1" cx="1731.53" cy="134.52" rx="5.67" ry="4.12"
transform="translate(-3.7 207.01) rotate(-6.83)" />
<ellipse class="cls-1" cx="1738.97" cy="142.67" rx="5.67" ry="4.12"
transform="translate(-4.62 207.95) rotate(-6.83)" />
<ellipse class="cls-1" cx="1730.92" cy="161.11" rx="4.12" ry="5.67"
transform="translate(1287.9 1842.12) rotate(-80.55)" />
<ellipse class="cls-1" cx="1738.72" cy="153.3" rx="4.12" ry="5.67"
transform="translate(1302.12 1843.29) rotate(-80.55)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M1581.5,76.55c.33-4.64-9.51-12.26-13.33-12.53-2.38-.17-4.41,1.88-4.69,4.25-.21,1.77,1.41,4.18,1.21,7.1s-2.15,5.12-2.19,6.9c-.06,2.39,1.68,4.71,4.06,4.87,3.94.28,14.62-5.95,14.94-10.59Z" />
<ellipse class="cls-1" cx="1580.27" cy="63.1" rx="5.67" ry="4.12"
transform="translate(-.47 113.17) rotate(-4.1)" />
<ellipse class="cls-1" cx="1587.31" cy="71.6" rx="5.67" ry="4.12"
transform="translate(-1.06 113.69) rotate(-4.1)" />
<ellipse class="cls-1" cx="1578.39" cy="89.63" rx="4.12" ry="5.67"
transform="translate(1157.75 1613.58) rotate(-77.82)" />
<ellipse class="cls-1" cx="1586.56" cy="82.21" rx="4.12" ry="5.67"
transform="translate(1171.45 1615.7) rotate(-77.82)" />
</g>
<g>
<path class="cls-1"
d="M1614.17,126.2c1.62-4.36-5.69-14.44-9.28-15.77-2.23-.83-4.76.57-5.69,2.76-.69,1.64.18,4.41-.83,7.15s-3.5,4.31-4.04,6.01c-.73,2.28.29,4.99,2.53,5.82,3.71,1.37,15.7-1.61,17.31-5.97Z" />
<ellipse class="cls-1" cx="1616.76" cy="112.94" rx="4.12" ry="5.67"
transform="translate(1165.24 1669.47) rotate(-77.82)" />
<ellipse class="cls-1" cx="1621.13" cy="123.07" rx="4.12" ry="5.67"
transform="translate(1158.79 1681.74) rotate(-77.82)" />
<ellipse class="cls-1" cx="1607.52" cy="137.88" rx="4.12" ry="5.67"
transform="translate(720.21 1485.4) rotate(-61.54)" />
<ellipse class="cls-1" cx="1617.44" cy="133.05" rx="4.12" ry="5.67"
transform="translate(729.65 1491.59) rotate(-61.54)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M1463.07,81.16c.23-4.65-9.76-12.07-13.58-12.26-2.38-.12-4.37,1.97-4.6,4.34-.17,1.77,1.5,4.15,1.35,7.07s-2.05,5.16-2.05,6.94c-.01,2.39,1.77,4.67,4.16,4.79,3.95.2,14.49-6.24,14.73-10.89Z" />
<ellipse class="cls-1" cx="1461.56" cy="67.73" rx="5.67" ry="4.12"
transform="translate(-.06 134.14) rotate(-5.25)" />
<ellipse class="cls-1" cx="1468.77" cy="76.09" rx="5.67" ry="4.12"
transform="translate(-.8 134.83) rotate(-5.25)" />
<ellipse class="cls-1" cx="1460.22" cy="94.3" rx="4.12" ry="5.67"
transform="translate(1088.37 1509.53) rotate(-78.97)" />
<ellipse class="cls-1" cx="1468.24" cy="86.71" rx="4.12" ry="5.67"
transform="translate(1102.3 1511.26) rotate(-78.97)" />
</g>
<g>
<path class="cls-1"
d="M1496.73,130.14c1.53-4.4-5.98-14.32-9.6-15.58-2.25-.78-4.75.66-5.63,2.88-.66,1.65.27,4.4-.69,7.17s-3.41,4.38-3.92,6.09c-.68,2.29.39,4.98,2.65,5.77,3.73,1.3,15.66-1.93,17.19-6.32Z" />
<ellipse class="cls-1" cx="1499.05" cy="116.83" rx="4.12" ry="5.67"
transform="translate(1097.66 1565.86) rotate(-78.97)" />
<ellipse class="cls-1" cx="1503.63" cy="126.87" rx="4.12" ry="5.67"
transform="translate(1091.51 1578.48) rotate(-78.97)" />
<ellipse class="cls-1" cx="1490.32" cy="141.96" rx="4.12" ry="5.67"
transform="translate(680.47 1401.06) rotate(-62.69)" />
<ellipse class="cls-1" cx="1500.14" cy="136.92" rx="4.12" ry="5.67"
transform="translate(690.26 1407.06) rotate(-62.69)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M1349.43,51.92c-.14-4.65-10.7-11.24-14.52-11.13-2.38.07-4.2,2.31-4.24,4.7-.03,1.78,1.83,4.02,1.91,6.94s-1.62,5.31-1.49,7.09c.18,2.39,2.14,4.51,4.53,4.44,3.95-.12,13.94-7.39,13.8-12.04Z" />
<ellipse class="cls-1" cx="1346.85" cy="38.65" rx="5.67" ry="4.12"
transform="translate(13.36 231.8) rotate(-9.89)" />
<ellipse class="cls-1" cx="1354.71" cy="46.4" rx="5.67" ry="4.12"
transform="translate(12.15 233.27) rotate(-9.89)" />
<ellipse class="cls-1" cx="1347.66" cy="65.24" rx="4.12" ry="5.67"
transform="translate(1132.7 1397.25) rotate(-83.6)" />
<ellipse class="cls-1" cx="1355.04" cy="57.03" rx="4.12" ry="5.67"
transform="translate(1147.41 1397.28) rotate(-83.6)" />
</g>
<g>
<path class="cls-1"
d="M1386.94,98.02c1.17-4.51-7.12-13.79-10.82-14.75-2.31-.6-4.68,1.04-5.38,3.32-.53,1.7.63,4.37-.11,7.2s-3.05,4.64-3.41,6.39c-.5,2.34.79,4.93,3.11,5.53,3.82.99,15.46-3.18,16.62-7.69Z" />
<ellipse class="cls-1" cx="1388.18" cy="84.56" rx="4.12" ry="5.67"
transform="translate(1149.51 1454.68) rotate(-83.6)" />
<ellipse class="cls-1" cx="1393.56" cy="94.2" rx="4.12" ry="5.67"
transform="translate(1144.71 1468.59) rotate(-83.6)" />
<ellipse class="cls-1" cx="1381.5" cy="110.31" rx="4.12" ry="5.67"
transform="translate(747.1 1342.49) rotate(-67.32)" />
<ellipse class="cls-1" cx="1390.89" cy="104.5" rx="4.12" ry="5.67"
transform="translate(758.23 1347.57) rotate(-67.32)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M1237.61,37.28c.49-4.63-9.09-12.58-12.89-12.98-2.37-.25-4.47,1.73-4.83,4.08-.27,1.76,1.27,4.23.96,7.14s-2.32,5.05-2.43,6.82c-.14,2.39,1.51,4.76,3.89,5.01,3.93.41,14.81-5.44,15.3-10.07Z" />
<ellipse class="cls-1" cx="1236.84" cy="23.79" rx="5.67" ry="4.12"
transform="translate(-.03 46.14) rotate(-2.14)" />
<ellipse class="cls-1" cx="1243.58" cy="32.53" rx="5.67" ry="4.12"
transform="translate(-.35 46.4) rotate(-2.14)" />
<ellipse class="cls-1" cx="1234.05" cy="50.25" rx="4.12" ry="5.67"
transform="translate(883.77 1234.61) rotate(-75.86)" />
<ellipse class="cls-1" cx="1242.47" cy="43.11" rx="4.12" ry="5.67"
transform="translate(897.06 1237.37) rotate(-75.86)" />
</g>
<g>
<path class="cls-1"
d="M1268.56,88.02c1.76-4.31-5.2-14.63-8.73-16.08-2.2-.9-4.78.4-5.78,2.56-.75,1.61.03,4.41-1.08,7.12s-3.64,4.19-4.24,5.87c-.81,2.25.12,4.99,2.33,5.9,3.66,1.5,15.74-1.07,17.51-5.38Z" />
<ellipse class="cls-1" cx="1271.6" cy="74.85" rx="4.12" ry="5.67"
transform="translate(888.29 1289.61) rotate(-75.86)" />
<ellipse class="cls-1" cx="1275.63" cy="85.13" rx="4.12" ry="5.67"
transform="translate(881.36 1301.28) rotate(-75.86)" />
<ellipse class="cls-1" cx="1261.51" cy="99.47" rx="4.12" ry="5.67"
transform="translate(536.89 1136.88) rotate(-59.57)" />
<ellipse class="cls-1" cx="1271.59" cy="94.97" rx="4.12" ry="5.67"
transform="translate(545.75 1143.36) rotate(-59.57)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M1120.96,44.75c-1.19-4.5-12.96-8.54-16.66-7.57-2.3.61-3.57,3.2-3.07,5.53.37,1.74,2.68,3.5,3.43,6.33s-.38,5.54.15,7.24c.71,2.28,3.1,3.92,5.42,3.31,3.82-1.01,11.92-10.34,10.73-14.84Z" />
<ellipse class="cls-1" cx="1115.45" cy="32.41" rx="5.67" ry="4.12"
transform="translate(75.32 436.66) rotate(-22.9)" />
<ellipse class="cls-1" cx="1124.86" cy="38.18" rx="5.67" ry="4.12"
transform="translate(73.82 440.77) rotate(-22.9)" />
<ellipse class="cls-1" cx="1122.23" cy="58.13" rx="5.67" ry="4.12"
transform="translate(.78 129.8) rotate(-6.62)" />
<ellipse class="cls-1" cx="1127.57" cy="48.47" rx="5.67" ry="4.12"
transform="translate(1.93 130.35) rotate(-6.62)" />
</g>
<g>
<path class="cls-1"
d="M1167.88,81.21c.12-4.65-10.04-11.83-13.87-11.93-2.38-.06-4.32,2.07-4.5,4.45-.13,1.77,1.59,4.12,1.52,7.04s-1.92,5.21-1.89,6.99c.04,2.39,1.88,4.63,4.27,4.69,3.95.1,14.34-6.58,14.46-11.24Z" />
<ellipse class="cls-1" cx="1166.06" cy="67.83" rx="5.67" ry="4.12"
transform="translate(-.04 134.92) rotate(-6.62)" />
<ellipse class="cls-1" cx="1173.47" cy="76.01" rx="5.67" ry="4.12"
transform="translate(-.94 135.83) rotate(-6.62)" />
<ellipse class="cls-1" cx="1165.36" cy="94.42" rx="4.12" ry="5.67"
transform="translate(876.74 1227.41) rotate(-80.34)" />
<ellipse class="cls-1" cx="1173.19" cy="86.64" rx="4.12" ry="5.67"
transform="translate(890.92 1228.66) rotate(-80.34)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M1004.89,67.93c-1.82-4.28-14.05-6.58-17.57-5.09-2.19.93-3.07,3.68-2.24,5.92.62,1.67,3.16,3.08,4.31,5.77s.42,5.54,1.19,7.14c1.03,2.16,3.64,3.43,5.84,2.49,3.64-1.55,10.3-11.95,8.48-16.23Z" />
<ellipse class="cls-1" cx="997.66" cy="56.51" rx="5.67" ry="4.12"
transform="translate(115.01 524.97) rotate(-31.2)" />
<ellipse class="cls-1" cx="1007.8" cy="60.87" rx="5.67" ry="4.12"
transform="translate(114.22 530.86) rotate(-31.2)" />
<ellipse class="cls-1" cx="1008.08" cy="80.99" rx="5.67" ry="4.12"
transform="translate(13.13 262.24) rotate(-14.92)" />
<ellipse class="cls-1" cx="1011.97" cy="70.66" rx="5.67" ry="4.12"
transform="translate(15.92 262.89) rotate(-14.92)" />
</g>
<g>
<path class="cls-1"
d="M1056.59,97.24c-.55-4.62-11.65-10.26-15.44-9.81-2.37.28-3.98,2.67-3.81,5.05.13,1.77,2.17,3.84,2.52,6.75s-1.15,5.43-.86,7.19c.39,2.36,2.53,4.31,4.9,4.03,3.92-.47,13.24-8.58,12.69-13.21Z" />
<ellipse class="cls-1" cx="1052.85" cy="84.26" rx="5.67" ry="4.12"
transform="translate(13.79 273.88) rotate(-14.92)" />
<ellipse class="cls-1" cx="1061.36" cy="91.29" rx="5.67" ry="4.12"
transform="translate(12.27 276.3) rotate(-14.92)" />
<ellipse class="cls-1" cx="1055.99" cy="110.68" rx="4.12" ry="5.67"
transform="translate(920.22 1163.74) rotate(-88.64)" />
<ellipse class="cls-1" cx="1062.62" cy="101.85" rx="4.12" ry="5.67"
transform="translate(935.51 1161.75) rotate(-88.64)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M890.52,77.25c-1.55-4.39-13.62-7.45-17.22-6.17-2.25.79-3.29,3.48-2.6,5.77.51,1.7,2.96,3.27,3.94,6.03s.07,5.55.74,7.2c.9,2.22,3.41,3.65,5.67,2.85,3.72-1.32,11.03-11.29,9.48-15.67Z" />
<ellipse class="cls-1" cx="884.02" cy="65.41" rx="5.67" ry="4.12"
transform="translate(70.45 417.36) rotate(-27.63)" />
<ellipse class="cls-1" cx="893.87" cy="70.39" rx="5.67" ry="4.12"
transform="translate(69.26 422.5) rotate(-27.63)" />
<ellipse class="cls-1" cx="892.89" cy="90.48" rx="5.67" ry="4.12"
transform="translate(-.35 177.4) rotate(-11.34)" />
<ellipse class="cls-1" cx="897.42" cy="80.42" rx="5.67" ry="4.12"
transform="translate(1.71 178.09) rotate(-11.34)" />
</g>
<g>
<path class="cls-1"
d="M940.29,109.73c-.26-4.65-10.98-10.97-14.8-10.75-2.38.13-4.14,2.42-4.12,4.8.02,1.78,1.93,3.97,2.09,6.89s-1.49,5.35-1.31,7.12c.24,2.38,2.26,4.46,4.64,4.32,3.95-.22,13.75-7.74,13.49-12.39Z" />
<ellipse class="cls-1" cx="937.37" cy="96.54" rx="5.67" ry="4.12"
transform="translate(-.68 186.27) rotate(-11.34)" />
<ellipse class="cls-1" cx="945.43" cy="104.08" rx="5.67" ry="4.12"
transform="translate(-2 188) rotate(-11.34)" />
<ellipse class="cls-1" cx="938.86" cy="123.1" rx="4.12" ry="5.67"
transform="translate(735.42 1047.88) rotate(-85.06)" />
<ellipse class="cls-1" cx="946.02" cy="114.7" rx="4.12" ry="5.67"
transform="translate(750.33 1047.34) rotate(-85.06)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M780.46,104.31c-1.05-4.53-12.69-8.93-16.42-8.07-2.32.54-3.67,3.09-3.24,5.44.32,1.75,2.58,3.58,3.23,6.43s-.55,5.53-.07,7.24c.64,2.3,2.98,4.01,5.31,3.47,3.85-.89,12.23-9.97,11.18-14.51Z" />
<ellipse class="cls-1" cx="775.33" cy="91.81" rx="5.67" ry="4.12"
transform="translate(19.14 286.07) rotate(-21.16)" />
<ellipse class="cls-1" cx="784.56" cy="97.87" rx="5.67" ry="4.12"
transform="translate(17.57 289.81) rotate(-21.16)" />
<ellipse class="cls-1" cx="781.33" cy="117.73" rx="5.67" ry="4.12"
transform="translate(-7.18 66.89) rotate(-4.88)" />
<ellipse class="cls-1" cx="786.95" cy="108.23" rx="5.67" ry="4.12"
transform="translate(-6.35 67.33) rotate(-4.88)" />
</g>
<g>
<path class="cls-1"
d="M826.26,142.19c.26-4.65-9.68-12.13-13.5-12.35-2.38-.14-4.38,1.94-4.63,4.31-.18,1.77,1.47,4.16,1.3,7.08s-2.08,5.15-2.1,6.93c-.03,2.39,1.74,4.68,4.13,4.82,3.94.22,14.53-6.14,14.8-10.79Z" />
<ellipse class="cls-1" cx="824.84" cy="128.75" rx="5.67" ry="4.12"
transform="translate(-7.96 70.63) rotate(-4.88)" />
<ellipse class="cls-1" cx="832" cy="137.15" rx="5.67" ry="4.12"
transform="translate(-8.65 71.27) rotate(-4.88)" />
<ellipse class="cls-1" cx="823.33" cy="155.31" rx="4.12" ry="5.67"
transform="translate(508.32 931.69) rotate(-78.6)" />
<ellipse class="cls-1" cx="831.39" cy="147.77" rx="4.12" ry="5.67"
transform="translate(522.18 933.54) rotate(-78.6)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M672.34,92.95c.44-4.63-9.21-12.49-13.02-12.86-2.37-.23-4.46,1.77-4.79,4.13-.25,1.76,1.31,4.21,1.03,7.13s-2.27,5.07-2.36,6.85c-.12,2.39,1.56,4.75,3.94,4.97,3.93.38,14.76-5.59,15.2-10.22Z" />
<ellipse class="cls-1" cx="671.44" cy="79.46" rx="5.67" ry="4.12"
transform="translate(-2.99 31.63) rotate(-2.69)" />
<ellipse class="cls-1" cx="678.27" cy="88.13" rx="5.67" ry="4.12"
transform="translate(-3.39 31.96) rotate(-2.69)" />
<ellipse class="cls-1" cx="668.92" cy="105.95" rx="4.12" ry="5.67"
transform="translate(408.77 731.24) rotate(-76.41)" />
<ellipse class="cls-1" cx="677.26" cy="98.72" rx="4.12" ry="5.67"
transform="translate(422.18 733.83) rotate(-76.41)" />
</g>
<g>
<path class="cls-1"
d="M703.78,143.38c1.72-4.32-5.34-14.57-8.89-15.99-2.21-.88-4.77.45-5.76,2.62-.73,1.62.07,4.41-1.01,7.13s-3.6,4.23-4.19,5.91c-.79,2.26.17,4.99,2.39,5.88,3.67,1.46,15.73-1.22,17.46-5.55Z" />
<ellipse class="cls-1" cx="706.7" cy="130.19" rx="4.12" ry="5.67"
transform="translate(414.12 786.51) rotate(-76.41)" />
<ellipse class="cls-1" cx="710.82" cy="140.42" rx="4.12" ry="5.67"
transform="translate(407.32 798.35) rotate(-76.41)" />
<ellipse class="cls-1" cx="696.85" cy="154.9" rx="4.12" ry="5.67"
transform="translate(215.48 682.03) rotate(-60.13)" />
<ellipse class="cls-1" cx="706.88" cy="150.3" rx="4.12" ry="5.67"
transform="translate(224.5 688.43) rotate(-60.13)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M558.58,67.76c.23-4.65-9.76-12.07-13.58-12.26-2.38-.12-4.37,1.97-4.6,4.34-.17,1.77,1.5,4.15,1.35,7.07s-2.04,5.17-2.05,6.95c-.01,2.39,1.77,4.67,4.16,4.79,3.95.2,14.49-6.24,14.72-10.89Z" />
<ellipse class="cls-1" cx="557.07" cy="54.34" rx="5.67" ry="4.12"
transform="translate(-2.64 51.45) rotate(-5.28)" />
<ellipse class="cls-1" cx="564.28" cy="62.69" rx="5.67" ry="4.12"
transform="translate(-3.37 52.15) rotate(-5.28)" />
<ellipse class="cls-1" cx="555.74" cy="80.91" rx="4.12" ry="5.67"
transform="translate(370.23 610.98) rotate(-78.99)" />
<ellipse class="cls-1" cx="563.75" cy="73.31" rx="4.12" ry="5.67"
transform="translate(384.17 612.7) rotate(-78.99)" />
</g>
<g>
<path class="cls-1"
d="M592.26,116.73c1.53-4.4-5.99-14.32-9.6-15.57-2.25-.78-4.75.67-5.63,2.88-.66,1.65.27,4.4-.69,7.17s-3.41,4.39-3.92,6.09c-.68,2.29.39,4.98,2.65,5.76,3.73,1.3,15.66-1.93,17.19-6.33Z" />
<ellipse class="cls-1" cx="594.58" cy="103.42" rx="4.12" ry="5.67"
transform="translate(379.56 667.32) rotate(-78.99)" />
<ellipse class="cls-1" cx="599.16" cy="113.46" rx="4.12" ry="5.67"
transform="translate(373.41 679.94) rotate(-78.99)" />
<ellipse class="cls-1" cx="585.85" cy="128.55" rx="4.12" ry="5.67"
transform="translate(203.03 590.28) rotate(-62.71)" />
<ellipse class="cls-1" cx="595.67" cy="123.51" rx="4.12" ry="5.67"
transform="translate(212.83 596.28) rotate(-62.71)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M440.14,74.92c.1-4.65-10.09-11.79-13.92-11.88-2.38-.05-4.31,2.09-4.48,4.47-.12,1.77,1.61,4.11,1.55,7.03s-1.9,5.22-1.86,7c.05,2.39,1.9,4.62,4.29,4.67,3.95.09,14.31-6.64,14.42-11.3Z" />
<ellipse class="cls-1" cx="438.26" cy="61.54" rx="5.67" ry="4.12"
transform="translate(-4.21 52.84) rotate(-6.87)" />
<ellipse class="cls-1" cx="445.7" cy="69.69" rx="5.67" ry="4.12"
transform="translate(-5.14 53.79) rotate(-6.87)" />
<ellipse class="cls-1" cx="437.67" cy="88.13" rx="4.12" ry="5.67"
transform="translate(279.13 505.49) rotate(-80.59)" />
<ellipse class="cls-1" cx="445.47" cy="80.32" rx="4.12" ry="5.67"
transform="translate(293.36 506.65) rotate(-80.59)" />
</g>
<g>
<path class="cls-1"
d="M475.17,122.93c1.4-4.44-6.38-14.15-10.03-15.3-2.27-.72-4.73.8-5.55,3.03-.61,1.67.39,4.4-.49,7.18s-3.29,4.48-3.75,6.2c-.62,2.31.53,4.97,2.81,5.69,3.77,1.19,15.6-2.37,17.01-6.8Z" />
<ellipse class="cls-1" cx="477.12" cy="109.56" rx="4.12" ry="5.67"
transform="translate(290.99 562.33) rotate(-80.59)" />
<ellipse class="cls-1" cx="481.98" cy="119.47" rx="4.12" ry="5.67"
transform="translate(285.28 575.41) rotate(-80.59)" />
<ellipse class="cls-1" cx="469.09" cy="134.92" rx="4.12" ry="5.67"
transform="translate(144.12 499.13) rotate(-64.3)" />
<ellipse class="cls-1" cx="478.77" cy="129.61" rx="4.12" ry="5.67"
transform="translate(154.39 504.84) rotate(-64.3)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M328.91,35.75c-.02-4.65-10.39-11.53-14.22-11.51-2.38,0-4.26,2.2-4.36,4.58-.08,1.78,1.72,4.07,1.73,6.99s-1.76,5.27-1.68,7.04c.12,2.39,2.02,4.57,4.41,4.56,3.95-.01,14.14-7.01,14.12-11.66Z" />
<ellipse class="cls-1" cx="326.68" cy="22.43" rx="5.67" ry="4.12"
transform="translate(.2 47.63) rotate(-8.34)" />
<ellipse class="cls-1" cx="334.33" cy="30.38" rx="5.67" ry="4.12"
transform="translate(-.87 48.82) rotate(-8.34)" />
<ellipse class="cls-1" cx="326.77" cy="49.03" rx="4.12" ry="5.67"
transform="translate(233.08 365.9) rotate(-82.06)" />
<ellipse class="cls-1" cx="334.37" cy="41.02" rx="4.12" ry="5.67"
transform="translate(247.55 366.52) rotate(-82.06)" />
</g>
<g>
<path class="cls-1"
d="M365.16,82.85c1.29-4.47-6.75-13.98-10.42-15.04-2.29-.66-4.71.92-5.47,3.17-.57,1.68.51,4.38-.3,7.19s-3.17,4.56-3.59,6.29c-.56,2.33.66,4.95,2.96,5.61,3.8,1.09,15.54-2.77,16.83-7.24Z" />
<ellipse class="cls-1" cx="366.76" cy="69.43" rx="4.12" ry="5.67"
transform="translate(247.33 423.08) rotate(-82.06)" />
<ellipse class="cls-1" cx="371.87" cy="79.21" rx="4.12" ry="5.67"
transform="translate(242.05 436.58) rotate(-82.06)" />
<ellipse class="cls-1" cx="359.39" cy="94.99" rx="4.12" ry="5.67"
transform="translate(125.32 383.77) rotate(-65.78)" />
<ellipse class="cls-1" cx="368.92" cy="89.43" rx="4.12" ry="5.67"
transform="translate(136.01 389.19) rotate(-65.78)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M207.3,22.54c-1.06-4.53-12.72-8.89-16.45-8.02-2.32.54-3.65,3.1-3.22,5.45.33,1.75,2.59,3.57,3.26,6.42s-.53,5.53-.05,7.24c.65,2.3,3,4,5.32,3.45,3.85-.9,12.2-10.01,11.13-14.54Z" />
<ellipse class="cls-1" cx="202.13" cy="10.06" rx="5.67" ry="4.12"
transform="translate(10.21 74.29) rotate(-21.35)" />
<ellipse class="cls-1" cx="211.38" cy="16.09" rx="5.67" ry="4.12"
transform="translate(8.65 78.07) rotate(-21.35)" />
<ellipse class="cls-1" cx="208.21" cy="35.95" rx="5.67" ry="4.12"
transform="translate(-2.36 18.54) rotate(-5.07)" />
<ellipse class="cls-1" cx="213.81" cy="26.44" rx="5.67" ry="4.12"
transform="translate(-1.5 19) rotate(-5.07)" />
</g>
<g>
<path class="cls-1"
d="M253.23,60.26c.25-4.65-9.72-12.1-13.54-12.31-2.38-.13-4.38,1.95-4.62,4.33-.18,1.77,1.48,4.16,1.33,7.08s-2.06,5.16-2.08,6.94c-.02,2.39,1.76,4.68,4.14,4.81,3.95.21,14.51-6.19,14.76-10.84Z" />
<ellipse class="cls-1" cx="251.77" cy="46.83" rx="5.67" ry="4.12"
transform="translate(-3.15 22.44) rotate(-5.07)" />
<ellipse class="cls-1" cx="258.95" cy="55.21" rx="5.67" ry="4.12"
transform="translate(-3.87 23.1) rotate(-5.07)" />
<ellipse class="cls-1" cx="250.34" cy="73.4" rx="4.12" ry="5.67"
transform="translate(129.68 304.69) rotate(-78.79)" />
<ellipse class="cls-1" cx="258.38" cy="65.83" rx="4.12" ry="5.67"
transform="translate(143.57 306.49) rotate(-78.79)" />
</g>
</g>
<g>
<g>
<path class="cls-1"
d="M95.03,66.16c-1.52-4.4-13.56-7.56-17.17-6.31-2.25.78-3.32,3.46-2.65,5.74.5,1.71,2.94,3.29,3.89,6.06s.03,5.55.69,7.21c.88,2.22,3.39,3.67,5.65,2.89,3.74-1.29,11.12-11.2,9.6-15.6Z" />
<ellipse class="cls-1" cx="88.62" cy="54.27" rx="5.67" ry="4.12"
transform="translate(-15 46.45) rotate(-27.17)" />
<ellipse class="cls-1" cx="98.43" cy="59.33" rx="5.67" ry="4.12"
transform="translate(-16.23 51.49) rotate(-27.17)" />
<ellipse class="cls-1" cx="97.3" cy="79.41" rx="5.67" ry="4.12"
transform="translate(-13.25 19.81) rotate(-10.89)" />
<ellipse class="cls-1" cx="101.9" cy="69.38" rx="5.67" ry="4.12"
transform="translate(-11.27 20.5) rotate(-10.89)" />
</g>
<g>
<path class="cls-1"
d="M144.54,99.04c-.22-4.65-10.9-11.05-14.72-10.87-2.38.11-4.16,2.39-4.15,4.77,0,1.78,1.9,3.99,2.04,6.91s-1.53,5.34-1.36,7.11c.22,2.38,2.22,4.48,4.61,4.36,3.95-.19,13.81-7.63,13.59-12.28Z" />
<ellipse class="cls-1" cx="141.73" cy="85.82" rx="5.67" ry="4.12"
transform="translate(-13.66 28.31) rotate(-10.89)" />
<ellipse class="cls-1" cx="149.72" cy="93.43" rx="5.67" ry="4.12"
transform="translate(-14.95 29.96) rotate(-10.89)" />
<ellipse class="cls-1" cx="143" cy="112.39" rx="4.12" ry="5.67"
transform="translate(17.67 244.2) rotate(-84.61)" />
<ellipse class="cls-1" cx="150.23" cy="104.05" rx="4.12" ry="5.67"
transform="translate(32.52 243.84) rotate(-84.61)" />
</g>
</g>
<g>
<path class="cls-1"
d="M28.64,120.24c.31-4.64-9.56-12.22-13.38-12.48-2.38-.16-4.4,1.9-4.67,4.27-.2,1.77,1.43,4.18,1.23,7.09s-2.13,5.13-2.17,6.91c-.05,2.39,1.69,4.7,4.08,4.86,3.94.26,14.59-6.01,14.9-10.65Z" />
<ellipse class="cls-1" cx="27.35" cy="106.79" rx="5.67" ry="4.12"
transform="translate(-8 2.37) rotate(-4.34)" />
<ellipse class="cls-1" cx="34.42" cy="115.26" rx="5.67" ry="4.12"
transform="translate(-8.62 2.93) rotate(-4.34)" />
<ellipse class="cls-1" cx="25.58" cy="133.33" rx="4.12" ry="5.67"
transform="translate(-110.15 130.76) rotate(-78.06)" />
<ellipse class="cls-1" cx="33.72" cy="125.87" rx="4.12" ry="5.67"
transform="translate(-96.41 132.81) rotate(-78.06)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 24 KiB

+95
View File
@@ -0,0 +1,95 @@
import { ImageExport } from "./assets";
import netResume from "./illustrations/dotnet-resume.svg";
import footer from "./illustrations/footer.svg";
import foxRuns from "./illustrations/fox_runs.gif";
import fullstackResumeImg from "./illustrations/fullstack-resume.svg";
import fox from "./illustrations/home-decor.svg";
import itsMe from "./illustrations/its_me.webp";
import meKvant from "./illustrations/me_kvant.webp";
import nextLogo from "./illustrations/next-logo.svg";
import notFound from "./illustrations/not-found.svg";
import petProjects from "./illustrations/pet-projects.svg";
import reactResumeImg from "./illustrations/react-resume.svg";
export const dotnetResume: ImageExport =
{
src: netResume,
alt: "Fox riding on a back of angry .NET bot"
};
export const fullstackResume: ImageExport =
{
src: fullstackResumeImg,
alt: "Fox balancing on a React logo, while happy .NET bot is sitting on his back"
};
export const reactResume: ImageExport =
{
src: reactResumeImg,
alt: "Fox laying on his back and playing with a React logo"
};
export const footerImage: ImageExport =
{
src: footer,
alt: "A cartoon fox looking at a laptop"
};
export const spinner: ImageExport =
{
src: foxRuns,
alt: "Cute cartoon fox runs to the left"
};
export const homeDecor: ImageExport =
{
src: fox,
alt: "A cartoon fox working at a laptop"
};
export const profilePicture: ImageExport =
{
src: itsMe,
alt: "Photo of a young person with glasses, red hair, red shirt and computers on the background"
};
export const aboutPicture: ImageExport =
{
src: meKvant,
alt: "Photo of a young person sitting on a pong table with headphones and a badge. Behind them is a cartoon 2D fox looking at them."
};
export const nextjsLogo: ImageExport =
{
src: nextLogo,
alt: "Next.js"
};
export const notFoundImage: ImageExport =
{
src: notFound,
alt: "Cardboard box put upside down with a fox tail seen from beneath"
};
export const projectsImg: ImageExport =
{
src: petProjects,
alt: "Cartoon fox looking curiously at the incubator with chickens"
};
const illustrations =
{
footerImage,
spinner,
homeDecor,
profilePicture,
aboutPicture,
nextjsLogo,
notFoundImage,
projectsImg,
dotnetResume,
fullstackResume,
reactResume
};
export default illustrations;
+189
View File
@@ -0,0 +1,189 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="dotnet-resume" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 512 512">
<defs>
<style>
.cls-1 {
fill: #8f7ddd;
}
.cls-1,
.cls-2,
.cls-3,
.cls-4,
.cls-5,
.cls-6 {
stroke: #231f20;
stroke-miterlimit: 10;
stroke-width: 2.09px;
}
.cls-2 {
fill: #522cd5;
}
.cls-7 {
fill: url(#linear-gradient-2);
}
.cls-3 {
fill: #d0c5f3;
}
.cls-4,
.cls-8 {
fill: #fff;
}
.cls-9,
.cls-10 {
fill: #ff7545;
}
.cls-11 {
fill: #231f20;
}
.cls-5 {
fill: #512bd4;
}
.cls-6 {
fill: #a08be8;
}
.cls-10 {
stroke: #242424;
stroke-linecap: round;
stroke-linejoin: round;
stroke-width: 2.31px;
}
.cls-12 {
fill: #242424;
}
.cls-13 {
fill: url(#linear-gradient);
}
</style>
<linearGradient id="linear-gradient" x1="159.69" y1="-5344.64" x2="97.6" y2="-5419.32"
gradientTransform="translate(2639.16 -4502.99) rotate(-155.55)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#522cd5" />
<stop offset=".44" stop-color="#8a6fe8" />
</linearGradient>
<linearGradient id="linear-gradient-2" x1="155.75" y1="-5391.3" x2="175.28" y2="-5486.43"
gradientTransform="translate(385.93 -5076.44) rotate(-180)" xlink:href="#linear-gradient" />
</defs>
<g>
<path class="cls-1"
d="M133.56,384.35l-13.81,19.89c-3.72,5.27-11,6.53-16.28,2.82-5.27-3.72-6.54-11-2.82-16.28l14.16-20.39,18.75,13.97Z" />
<path class="cls-1"
d="M149.07,379.88l-9.67,22.2c-2.62,5.89-9.52,8.55-15.42,5.94-5.9-2.62-8.56-9.52-5.94-15.42l9.9-22.76,21.12,10.04Z" />
<path class="cls-1"
d="M138.93,359.17l-38.17,38.77c-4.58,4.55-11.97,4.52-16.52-.06-4.55-4.58-4.52-11.97.06-16.52l38.6-39.21,16.03,17.02Z" />
<path class="cls-1"
d="M130.16,363.82l-38.6,3.87c-6.43.45-12.03-4.4-12.47-10.84-.45-6.43,4.4-12.03,10.84-12.47l39.21-3.92,1.03,23.36Z" />
<path class="cls-1"
d="M135.21,370.51l-13.78-19.84c21.98-15.68,36.45-33.68,43.01-53.48,4.33-13.07,5.32-27.19,2.96-42.14-.78-4.98,24.27-7.09,25.2,2.05,3.55,35.07-6.8,77.3-57.4,113.41Z" />
<path class="cls-2"
d="M113.52,381.38c9.58,9.52,25.06,9.48,34.58-.1,9.52-9.58,9.48-25.06-.1-34.58-9.58-9.52-25.06-9.48-34.58.1-9.52,9.58-9.48,25.06.09,34.58Z" />
<path class="cls-13"
d="M297.51,392.75c-9.3-17.65-25.25-54.98-22.4-94.55l23.5,1.69c-2.58,35.89,12.54,68.47,20.07,82.2.61,1.14-9.59,7.69-21.18,10.66Z" />
<path class="cls-1"
d="M297.51,392.75c-9.3-17.65-25.25-54.98-22.4-94.55l23.5,1.69c-2.58,35.89,12.54,68.47,20.07,82.2.61,1.14-9.59,7.69-21.18,10.66Z" />
<path class="cls-2"
d="M318.57,381.89l-16.63,8.44,4.2,109.67,59.19-29.92c2.53-1.29,3.41-4.32,1.94-6.77l-48.71-81.42Z" />
<path class="cls-1"
d="M279.04,484.22c-2.04,3.57-.26,7.58,1.74,10.93l6.15,10.28c1.1,1.84,3.56,2.54,5.47,1.58l20.92-10.61c2.16-1.09,2.9-3.68,1.66-5.76l-5.88-10.9c-2.31-3.87-3.23-6.6-.56-11.39,15.79-28.33,17.27-56.67,4.13-83.45l-15.21,7.72c5.83,14.17,8.43,44.64-18.41,91.61Z" />
<path class="cls-1"
d="M292.39,507c-1.91.97-4.37.26-5.47-1.58l-6.15-10.28c-1.32-2.2-2.51-4.68-2.61-7.13l28.76-14.58c-.06,2.14.79,4.03,2.16,6.31l5.88,10.9c1.25,2.08.51,4.66-1.65,5.76l-20.93,10.61Z" />
<path class="cls-7"
d="M200.55,407.91c-.31-19.95,2.35-60.45,22.79-94.46l20.19,12.13c-18.55,30.84-19.79,66.74-19.28,82.4.04,1.31-12.03,2.54-23.7-.07Z" />
<path class="cls-1"
d="M200.55,407.91c-.31-19.95,2.35-60.45,22.79-94.46l20.19,12.13c-18.55,30.84-19.79,66.74-19.28,82.4.04,1.31-12.03,2.54-23.7-.07Z" />
<path class="cls-2" d="M224.24,407.77h-18.65l-45.85,99.71,66.32.09c2.84,0,4.99-2.31,4.8-5.15l-6.61-94.65Z" />
<path class="cls-1"
d="M142.71,481.15c-3.44,2.26-3.66,6.63-3.39,10.53l.83,11.94c.15,2.13,2.02,3.89,4.16,3.89h23.45c2.43,0,4.25-1.96,4.08-4.39l-.32-12.38c-.32-4.5.11-7.34,4.65-10.41,26.89-18.13,41.03-42.73,41.42-72.55h-17.06c-1.2,15.27-12.66,43.62-57.84,73.38Z" />
<path class="cls-1"
d="M144.31,507.5c-2.14,0-4.01-1.74-4.16-3.88l-.83-11.94c-.18-2.56-.12-5.3.89-7.54h32.25c-1.01,1.88-1.11,3.95-.92,6.6l.32,12.38c.17,2.43-1.65,4.39-4.08,4.39h-23.46Z" />
<path class="cls-1"
d="M393.35,357l-25.4,39.75c-3.98,5.08-11.33,5.96-16.4,1.97-5.08-3.98-5.96-11.33-1.97-16.4l25.78-40.24,17.99,14.91Z" />
<path class="cls-1"
d="M412.89,362.61l8.33,34.41c1.41,6.3-2.54,12.55-8.84,13.96-6.3,1.41-12.55-2.54-13.96-8.84l-5.61-24.18,20.08-15.35Z" />
<path class="cls-1"
d="M396.6,371.52l4.87,23.72c1.26,6.33-2.86,12.47-9.19,13.73-6.33,1.26-12.47-2.86-13.73-9.19l-6.94-40.95,24.98,12.69Z" />
<path class="cls-1"
d="M417.37,347.18l14.03,33.13c2.62,5.9-.04,12.8-5.95,15.41-5.9,2.62-12.8-.04-15.41-5.95l-10.22-22.63,17.55-19.97Z" />
<path class="cls-1"
d="M152.3,280.41c-15.36-30.35-15.53-57.2-15.53-57.2l-7.57,1.65-.22-.11c-1.97-61.38,40.01-117.34,102.18-130.84,70.03-15.2,139.13,29.24,154.34,99.27,15.2,70.03-29.24,139.13-99.27,154.34-55.26,12-110.23-13.14-138.31-58.7-.96-1.98-1.44-5.75,4.38-8.4Z" />
<path class="cls-4"
d="M152.04,280.47c-15.18-29.97-15.53-56.53-15.53-57.17l131.56-28.57s8.11-2.64,9.75,4.93c1.65,7.56,5.98,29.03,11.11,52.69,1.06,4.87-2.42,8.08-5.55,8.75-.01,0-121.35,21.95-131.34,19.37Z" />
<path class="cls-6"
d="M232.56,262.83s-23.71-11.63-28.3-13.73c-4.59-2.1-8.08-1.52-11.02,2.39-2.95,3.92-19.76,24.17-19.76,24.17l59.08-12.83Z" />
<path class="cls-2"
d="M148.79,290.23s-5-5.99,3.24-9.76c-.02-.03,129.32-28.19,129.32-28.19,3.01-.65,6.49-3.29,6.19-6.28.45,2.09.9,4.21,1.37,6.34.96,4.41-1.81,7.46-4.68,8.49-.29.1-.57.2-.87.26l-8.84,1.92-125.73,27.22Z" />
<path class="cls-3"
d="M163.04,308.73l218.67-47.48c-3.1,9.41-7.26,18.39-12.36,26.8l-183.93,39.95c-8.15-5.54-15.65-11.99-22.37-19.27Z" />
<path class="cls-5" d="M237.37,323.38l-41.55,8.83-7.81-36.75,41.55-8.83,7.81,36.75Z" />
<path class="cls-8"
d="M200.2,317.04c-.28.06-.53.02-.76-.13-.23-.15-.38-.35-.44-.61-.06-.27-.01-.51.14-.74s.36-.37.64-.43c.28-.06.54-.01.77.13.24.14.39.35.44.62.05.26.01.51-.16.73-.14.22-.36.36-.65.42Z" />
<path class="cls-8"
d="M211.21,314.51l-1.79.38-6.33-6.45c-.16-.17-.3-.34-.42-.53h-.04c.09.22.2.67.35,1.39l1.43,6.65-1.58.34-2.18-10.15,1.91-.41,6.13,6.3c.26.26.43.44.51.55h.03c-.11-.26-.23-.72-.36-1.35l-1.4-6.54,1.58-.34,2.16,10.16Z" />
<path class="cls-8"
d="M218.94,312.85l-5.56,1.19-2.18-10.15,5.34-1.15.31,1.43-3.7.79.62,2.87,3.4-.73.31,1.43-3.4.73.65,3,3.92-.84.3,1.42Z" />
<path class="cls-8"
d="M224.98,302.44l-2.85.61,1.87,8.72-1.65.35-1.87-8.72-2.84.6-.31-1.43,7.33-1.57.31,1.44Z" />
<path class="cls-1"
d="M362.49,225.66c18.05,23.15,42.17,66.17,48.52,135.57l.05.49-23.69,2.17-.04-.49c-4.85-52.83-20.92-88.21-33.55-108.59-4.07-6.55-8.04-12.02-11.64-16.47-8.38-10.39-.94-34.68-.94-34.68,0,0,10.16,7.7,21.3,21.99Z" />
<path class="cls-2"
d="M341.05,241.96c-13.5,0-24.45-10.95-24.45-24.45s10.95-24.45,24.45-24.45,24.45,10.95,24.45,24.45-10.95,24.45-24.45,24.45Z" />
<path class="cls-2"
d="M371.45,363.1c-3.64-13.01,3.96-26.5,16.96-30.14,13.01-3.64,26.5,3.96,30.14,16.96,3.64,13.01-3.96,26.5-16.96,30.14-13.01,3.64-26.5-3.96-30.14-16.96Z" />
<path class="cls-11"
d="M227.27,231.93c.01.07.02.14.04.2,1.9,9.11,9.78,15.2,17.62,13.58,7.82-1.62,12.62-10.34,10.72-19.48-.15-.74-.35-1.48-.6-2.18-14.94,3.87-25.72,7.23-27.75,7.87h-.02Z" />
<path class="cls-11"
d="M152.34,241.83c0,.07-.01.14-.02.2-.65,9.29,5.29,17.29,13.27,17.85,7.96.56,14.95-6.53,15.6-15.84.05-.76.07-1.52.01-2.26-15.43-.33-26.71-.02-28.84.04h-.02Z" />
</g>
<g>
<g>
<path class="cls-9"
d="M129.01,197.02c1.32-14.12,5.61-45.62,18.95-77.12,10.46-24.7,24.35-44.58,41.29-59.08,21.13-18.08,47.14-27.82,77.3-28.94,2.21-.08,4.42-.12,6.56-.12,33.79,0,59.55,10.16,76.57,30.19,27.01,31.79,24.31,79.81,22.83,93.87-3.93-5.99-12.98-18.77-26.18-31.41-16.68-15.96-43.61-35-77.16-35-.9,0-1.8.01-2.71.04-62.66,1.88-100.44,31.19-137.43,107.55Z" />
<path class="cls-12"
d="M273.11,33.23c33.33,0,58.72,9.98,75.45,29.67,16.31,19.19,21.44,44.37,22.87,62.11.87,10.85.51,20.32.02,26.6-4.66-6.73-12.82-17.44-24.11-28.24-24.2-23.16-51.23-35.4-78.17-35.4-.91,0-1.84.01-2.76.04-61.22,1.84-98.9,29.53-135.03,100.95,2.04-16.09,6.85-42.33,17.96-68.55,10.37-24.48,24.13-44.16,40.9-58.49,20.87-17.85,46.57-27.46,76.37-28.56,2.19-.08,4.38-.12,6.51-.12M273.11,30.31c-2.15,0-4.37.04-6.62.12-133.76,4.95-139.5,174.24-139.5,174.24,36.06-77.27,72.6-111.74,139.5-113.75.9-.03,1.78-.04,2.67-.04,64.02,0,104.29,69.18,104.29,69.18,0,0,21.27-129.76-100.34-129.76h0Z" />
</g>
<g>
<g>
<path class="cls-9"
d="M111.93,110.77c-6.32,0-11.62-1.75-15.35-5.05-12.97-11.51-6.19-40.37,5.11-53.1,6-6.76,14.61-10.64,23.64-10.64,7.67,0,15.06,2.8,20.8,7.89,6.28,5.57,10,13.26,10.49,21.65.49,8.39-2.33,16.49-7.92,22.79-8.32,9.38-24.13,16.46-36.77,16.46Z" />
<path class="cls-12"
d="M125.33,43.14h0c7.39,0,14.5,2.7,20.03,7.6,6.05,5.36,9.63,12.77,10.1,20.85.47,8.09-2.24,15.89-7.63,21.96-8.13,9.16-23.56,16.07-35.9,16.07-6.12,0-11.02-1.6-14.58-4.76-12.5-11.09-5.79-39.08,5.21-51.47,5.78-6.51,14.08-10.25,22.77-10.25M125.33,40.83c-9.03,0-18.02,3.73-24.5,11.02-11.98,13.51-18.47,42.79-5.02,54.73,4.23,3.75,9.92,5.34,16.12,5.34,13.52,0,29.41-7.58,37.63-16.84,11.98-13.51,10.79-34.13-2.67-46.07-6.18-5.49-13.88-8.18-21.56-8.18h0Z" />
</g>
<ellipse class="cls-12" cx="114.94" cy="78.18" rx="3" ry="5.28"
transform="translate(-23.81 69.78) rotate(-30.76)" />
<path class="cls-12"
d="M101.58,98.42c2.54,3.46,3.02,8.2,1.59,12.26-3.08-.94-5.84-2.5-8.15-4.86-2.61-2.64-4.42-6.12-5.55-10.11,4.05-2.42,9.07-1.42,12.12,2.71Z" />
<path class="cls-10"
d="M121.54,36.56c17.25-17.72,33.34-29.18,47.86-32.13-8.1,24.1-12.42,41.54-11.65,49.95-8.74-11.96-20.97-17.62-36.21-17.82Z" />
</g>
<g>
<g>
<path class="cls-9"
d="M346.97,293.73c-20.87,0-38.16-6.82-42.17-9.43.9-.71,2.71-1.94,4.6-3.23,10.07-6.86,31.03-21.12,49.17-43.79,27.85-34.76,51-93.18,5.11-175.18,26.93,13.96,91.95,58.47,67.95,153.42-6.25,24.75-16.37,43.96-30.05,57.11-14.58,14-32.96,21.1-54.61,21.1Z" />
<path class="cls-12"
d="M367.32,65.71c15.9,8.9,30.35,20.89,41.34,34.4,11.35,13.96,19.19,29.63,23.29,46.57,5.05,20.88,4.47,43.92-1.74,68.48-6.19,24.48-16.16,43.46-29.65,56.41-14.3,13.73-32.34,20.7-53.6,20.7-17.91,0-33.41-5.23-39.43-8.15.81-.56,1.75-1.21,2.68-1.84,10.13-6.9,31.21-21.25,49.49-44.09,27.64-34.5,50.7-92.05,7.61-172.49M360.03,58.66c48.13,82.62,26.76,141.05-2.6,177.71-24.64,30.79-54.93,46.25-54.44,47.81-2.46.62,18.07,11,43.98,11,17.9,0,38.38-4.96,55.62-21.51,12.65-12.15,23.57-30.54,30.46-57.8,27.58-109.12-62.23-152.1-73.02-157.22h0Z" />
</g>
<g>
<path class="cls-8"
d="M346.97,293.73c-20.87,0-38.16-6.82-42.17-9.43.9-.71,2.71-1.94,4.6-3.23,9.98-6.8,30.66-20.88,48.69-43.2l24.72,1.57,17.97,33.93c-14.46,13.5-32.55,20.35-53.81,20.35Z" />
<path class="cls-12"
d="M358.75,239.38l23.15,1.47,17.06,32.22c-14.04,12.74-31.52,19.2-51.99,19.2-17.91,0-33.41-5.23-39.43-8.15.81-.56,1.75-1.21,2.68-1.84,9.95-6.78,30.48-20.75,48.53-42.9M357.43,236.37c-24.64,30.79-54.93,46.25-54.44,47.81-2.46.62,18.07,11,43.98,11,17.9,0,38.38-4.96,55.62-21.51l-18.87-35.64-26.29-1.67h0Z" />
</g>
</g>
</g>
<path class="cls-1" d="M244.01,80.06l-9.81,23.08-22.31-13.31,7.04-16.57,25.08,6.8Z" />
<path class="cls-3"
d="M218.04,85.46c-4.94,8.54-15.86,11.46-24.4,6.52-8.54-4.94-11.46-15.86-6.52-24.4,4.94-8.54,15.86-11.46,24.4-6.52s11.46,15.86,6.52,24.4Z" />
<path class="cls-2"
d="M264.8,100.37c1.12-.14,1.9-1.22,1.64-2.32-2.77-11.65-13.92-19.61-26.08-18.11-12.16,1.5-21.04,11.92-20.9,23.9.01,1.13,1.03,1.99,2.15,1.85l43.2-5.32Z" />
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

+85
View File
@@ -0,0 +1,85 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_5" data-name="Layer 5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2000 1000">
<defs>
<style>
.cls-1,
.cls-2,
.cls-3 {
stroke-width: 0px;
}
.cls-1,
.cls-4 {
fill: #ff7545;
}
.cls-2,
.cls-6 {
fill: #242424;
}
.cls-5 {
stroke-width: 12px;
stroke-linejoin: round;
}
.cls-6,
.cls-4 {
stroke: #242424;
stroke-linejoin: round;
}
.cls-6,
.cls-4 {
stroke-linecap: round;
stroke-width: 8px;
}
.cls-3 {
fill: #fff;
}
.laptop {
fill: #424242;
stroke: #424242;
}
@media (prefers-color-scheme: dark) {
.laptop {
fill: #d6d6d6;
stroke: #d6d6d6;
}
}
</style>
</defs>
<g>
<path class="cls-1"
d="M1656,996.17c-62.9,0-124.32-15.87-177.6-45.9-48.31-27.23-88.43-65.09-116.63-109.96,42.24,16.15,87.02,24.34,133.29,24.34,191.24,0,346.83-142.61,346.83-317.91,0-49.29-17.77-79.71-40.27-118.22-.25-.44-.51-.87-.77-1.31,56.26,25.15,103.09,59.13,135.92,98.71,38.75,46.72,58.4,100.56,58.4,160,0,82.81-35.24,160.68-99.22,219.27-64.08,58.67-149.29,90.99-239.96,90.99Z" />
<path class="cls-2"
d="M1810.27,435.77c21.37,10.21,41.26,21.71,59.35,34.32,24.99,17.43,46.59,37.03,64.2,58.27,38.17,46.02,57.52,99.03,57.52,157.56,0,41.28-8.83,81.34-26.25,119.04-16.85,36.47-40.98,69.24-71.73,97.4-30.8,28.2-66.67,50.34-106.62,65.82-41.4,16.04-85.39,24.17-130.75,24.17-62.25,0-123.01-15.7-175.72-45.4-44.28-24.95-81.59-58.94-108.99-99.08,39.45,13.69,80.98,20.62,123.77,20.62,193.35,0,350.66-144.33,350.66-321.74,0-46.31-15.25-76.1-35.44-110.97M1791.69,419.07c25.27,43.77,46.37,74.72,46.37,127.67,0,173.46-153.57,314.08-343,314.08-50.83,0-99.07-10.14-142.46-28.3,57.52,99.6,171.79,167.48,303.4,167.48,189.44,0,343-140.62,343-314.08,0-126.92-88.98-217.31-207.31-266.85h0Z" />
</g>
<path class="cls-4"
d="M1850.7,210.11c40.63,49.7,33.28,122.93-16.42,163.56-49.7,40.63-174.15,75.16-214.78,25.46-40.63-49.7,17.94-164.81,67.64-205.44,49.7-40.63,122.93-33.28,163.56,16.42Z" />
<g>
<path class="cls-1"
d="M1141.23,996c-107.8,0-211.68-30.24-292.51-85.15-34.04-23.13-63.19-50-86.62-79.87-30.95-39.44-50.89-82.52-59.27-128.07,2.74-4.13,13.24-18.52,34.99-33.02,23.72-15.81,66.05-35,133.04-36.62,3.24-.07,6.3-.11,9.33-.11,43.77,0,86.56,14.88,130.79,45.49,38.84,26.88,73.68,62.33,104.42,93.61,24.59,25.02,47.83,48.66,69.78,64.67,62.27,45.4,122.66,67.87,162.35,78.74,26.53,7.27,47.34,10.45,59.7,11.84-35.66,20.71-74.9,37.05-116.83,48.62-47.77,13.19-97.96,19.88-149.17,19.88Z" />
<path class="cls-2"
d="M880.19,637.16c42.93,0,84.97,14.65,128.51,44.78,38.53,26.66,73.23,61.97,103.85,93.12,24.71,25.14,48.06,48.89,70.28,65.1,62.76,45.75,123.63,68.41,163.65,79.36,19.52,5.35,36,8.51,48.36,10.37-32.55,17.79-67.94,32.01-105.51,42.38-47.43,13.09-97.26,19.73-148.11,19.73-54.46,0-107.6-7.59-157.95-22.55-48.57-14.43-93.08-35.26-132.31-61.91-33.7-22.89-62.54-49.48-85.72-79.03-30.18-38.46-49.75-80.41-58.19-124.72,8.21-11.64,51.24-63.8,163.88-66.52,3.21-.07,6.24-.11,9.25-.11M880.19,629.16c-3.2,0-6.34.04-9.43.11-132.17,3.19-172.15,72.82-172.15,72.82,8.48,47.56,29.48,92.03,60.34,131.36,23.74,30.26,53.31,57.47,87.52,80.71,78.67,53.44,181.82,85.84,294.76,85.84,105.42,0,202.3-28.24,278.72-75.46,0,0-28.21-.92-71.36-12.74-43.16-11.81-101.26-34.52-161.05-78.11-76.68-55.9-167.65-204.53-307.35-204.53h0Z" />
</g>
<g>
<path class="cls-3"
d="M760.28,828.65c-29.91-38.81-49.23-81.08-57.46-125.74,2.74-4.13,13.24-18.52,34.99-33.02,23.38-15.59,64.87-34.46,130.24-36.54l51.71,133.53-159.48,61.77Z" />
<path class="cls-2"
d="M865.35,637.45l49.24,127.14-152.95,59.24c-28.13-37.18-46.48-77.52-54.58-120.04,8.07-11.44,49.8-62.07,158.29-66.35M870.76,629.27c-132.17,3.19-172.15,72.82-172.15,72.82,8.48,47.56,29.48,92.03,60.34,131.36l165.99-64.29-54.18-139.89h0Z" />
</g>
<rect class="cls-5 laptop" x="1219.11" y="766.83" width="270.32" height="9.95"
transform="translate(304.74 -380.67) rotate(18)" />
<rect class="cls-5 laptop" x="1059.2" y="596.18" width="270.32" height="9.95"
transform="translate(1479.19 -705.28) rotate(75.58)" />
<path class="cls-6"
d="M1666.04,416.09c1.06-29.87-22.29-54.95-52.17-56.01-2.32-.08-4.6,0-6.85.2.75,15,4.9,28.4,13.47,38.89,10.4,12.71,26.28,19.9,44.99,22.9.29-1.96.48-3.95.55-5.98Z" />
<path class="cls-4"
d="M1851.96,176.25c-29.01-25.87-78.84-33.24-78.84-33.24,0,0,37.28-38.45,83.99-62.26,46.65-23.78,102.73-32.92,102.73-32.92,0,0-26.34,46.29-43.76,93.12-19.06,51.23-22.35,98.62-22.35,98.62,0,0-13.99-38.55-41.77-63.33Z" />
<ellipse class="cls-2" cx="1700.37" cy="301.32" rx="10.19" ry="17.93"
transform="translate(271.38 1270.89) rotate(-44.21)" />
</svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

@@ -0,0 +1,183 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="fullstack-resume" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<defs>
<style>
.cls-1 {
fill: #8f7ddd;
}
.cls-1,
.cls-2,
.cls-3,
.cls-4,
.cls-5 {
stroke-miterlimit: 10;
}
.cls-1,
.cls-2,
.cls-3,
.cls-5 {
stroke: #231f20;
stroke-width: 2.26px;
}
.cls-6,
.cls-3 {
fill: #fff;
}
.cls-7 {
stroke-width: 2.25px;
}
.cls-7,
.cls-8 {
stroke-linecap: round;
stroke-linejoin: round;
}
.cls-7,
.cls-8,
.cls-9 {
fill: #ff7545;
}
.cls-7,
.cls-8,
.cls-4 {
stroke: #242424;
}
.cls-8 {
stroke-width: 2.65px;
}
.cls-2 {
fill: #522cd5;
}
.cls-10 {
fill: #231f20;
}
.cls-4 {
fill: #00d8ff;
stroke-width: 1.58px;
}
.cls-5 {
fill: #d0c5f3;
}
.cls-11 {
fill: #242424;
}
</style>
</defs>
<path class="cls-4"
d="M321.59,384.23c-2.19-.75-4.4-1.45-6.63-2.09.37-1.53.72-3.04,1.02-4.52,5.02-24.36,1.74-43.99-9.47-50.45-10.75-6.2-28.32.26-46.07,15.71-1.75,1.52-3.46,3.09-5.13,4.71-1.12-1.07-2.26-2.12-3.41-3.15-18.6-16.51-37.24-23.48-48.44-16.99-10.74,6.21-13.91,24.67-9.4,47.76.45,2.29.96,4.56,1.52,6.82-2.64.75-5.19,1.55-7.62,2.4-21.81,7.6-35.73,19.52-35.73,31.88s14.95,25.57,37.66,33.33c1.84.63,3.7,1.21,5.57,1.74-.61,2.44-1.15,4.89-1.62,7.35-4.31,22.69-.94,40.7,9.76,46.88,11.06,6.38,29.62-.18,47.69-15.98,1.47-1.28,2.9-2.61,4.3-3.96,1.81,1.74,3.66,3.44,5.57,5.08,17.51,15.06,34.8,21.15,45.49,14.95,11.05-6.4,14.64-25.75,9.98-49.3-.37-1.84-.78-3.68-1.24-5.5,1.3-.39,2.58-.78,3.83-1.2,23.61-7.82,38.98-20.47,38.98-33.41s-14.38-24.4-36.62-32.06ZM316.47,441.34c-1.13.37-2.28.73-3.46,1.08-2.61-8.25-6.12-17.03-10.43-26.09,4.11-8.85,7.49-17.51,10.02-25.71,2.11.61,4.15,1.25,6.12,1.93,19.06,6.56,30.69,16.26,30.69,23.74,0,7.96-12.56,18.3-32.94,25.05ZM308.01,458.1c2.06,10.41,2.36,19.82.99,27.18-1.23,6.61-3.69,11.02-6.74,12.79-6.49,3.76-20.37-1.13-35.34-14.01-1.77-1.53-3.5-3.1-5.18-4.72,5.8-6.35,11.6-13.73,17.27-21.92,9.96-.88,19.36-2.33,27.9-4.3.41,1.65.78,3.31,1.12,4.98ZM222.46,497.42c-6.34,2.24-11.39,2.3-14.45.54-6.5-3.75-9.2-18.21-5.51-37.62.44-2.29.94-4.57,1.5-6.84,8.44,1.87,17.78,3.21,27.76,4.02,5.7,8.02,11.67,15.39,17.68,21.84-1.28,1.24-2.59,2.44-3.92,3.61-7.99,6.99-16,11.94-23.06,14.43ZM192.75,441.29c-10.04-3.43-18.34-7.89-24.02-12.76-5.11-4.37-7.69-8.72-7.69-12.24,0-7.5,11.18-17.07,29.83-23.57,2.26-.79,4.63-1.53,7.09-2.23,2.58,8.38,5.96,17.15,10.04,26.01-4.13,9-7.56,17.9-10.17,26.38-1.71-.49-3.4-1.02-5.08-1.59ZM202.71,373.5c-3.87-19.78-1.3-34.7,5.17-38.45,6.89-3.99,22.13,1.7,38.19,15.96,1.05.93,2.08,1.88,3.09,2.85-5.98,6.43-11.9,13.74-17.55,21.71-9.69.9-18.96,2.34-27.49,4.27-.53-2.1-1-4.22-1.42-6.35h0ZM291.55,395.43c-2.01-3.48-4.1-6.91-6.26-10.3,6.57.83,12.87,1.93,18.78,3.28-1.77,5.69-3.99,11.64-6.59,17.74-1.9-3.61-3.88-7.19-5.93-10.72ZM255.32,360.14c4.06,4.4,8.12,9.31,12.12,14.63-8.11-.38-16.23-.38-24.34,0,4-5.28,8.1-10.18,12.22-14.63ZM218.86,395.5c-2.02,3.5-3.96,7.06-5.81,10.65-2.56-6.08-4.75-12.05-6.54-17.82,5.88-1.31,12.14-2.39,18.67-3.21-2.19,3.41-4.29,6.87-6.31,10.38h0ZM225.36,448.08c-6.75-.75-13.11-1.77-18.98-3.05,1.82-5.87,4.06-11.98,6.68-18.18,1.86,3.6,3.81,7.15,5.84,10.66,2.09,3.6,4.25,7.14,6.47,10.58ZM255.56,473.04c-4.17-4.5-8.33-9.48-12.39-14.83,3.94.15,7.96.23,12.05.23s8.35-.09,12.43-.28c-4.01,5.45-8.06,10.44-12.09,14.87ZM297.56,426.52c2.75,6.28,5.07,12.35,6.92,18.12-5.97,1.36-12.42,2.46-19.21,3.28,2.18-3.45,4.29-6.95,6.32-10.48,2.07-3.59,4.06-7.23,5.97-10.91ZM283.97,433.04c-3.12,5.42-6.42,10.74-9.88,15.94-6.28.44-12.57.67-18.86.66-6.41,0-12.64-.2-18.65-.59-3.56-5.19-6.91-10.52-10.07-15.97h0c-3.14-5.42-6.07-10.95-8.79-16.6,2.71-5.64,5.63-11.18,8.76-16.6h0c3.13-5.42,6.46-10.73,9.99-15.9,6.13-.46,12.41-.7,18.75-.7h0c6.38,0,12.67.24,18.79.71,3.49,5.16,6.8,10.45,9.92,15.85,3.14,5.41,6.1,10.92,8.88,16.53-2.75,5.66-5.7,11.22-8.85,16.67ZM302.12,334.78c6.9,3.98,9.58,20.02,5.25,41.05-.28,1.34-.59,2.71-.93,4.1-8.55-1.97-17.83-3.44-27.54-4.35-5.66-8.06-11.52-15.39-17.41-21.73,1.54-1.49,3.12-2.94,4.74-4.34,15.21-13.23,29.42-18.46,35.89-14.72ZM255.22,397.89c10.16,0,18.39,8.23,18.39,18.39s-8.23,18.39-18.39,18.39-18.39-8.23-18.39-18.39,8.23-18.39,18.39-18.39Z" />
<g>
<g>
<path class="cls-9"
d="M119.07,258.81c-3.05,0-5.85-.62-8.33-1.83-15.19-7.44-16.33-36.34-9.02-51.25,5.22-10.65,15.81-17.27,27.64-17.27,4.67,0,9.19,1.05,13.41,3.12,7.35,3.6,12.85,9.86,15.5,17.62,2.64,7.76,2.11,16.11-1.51,23.49-6.05,12.35-23.02,26.12-37.69,26.12Z" />
<path class="cls-11"
d="M129.35,189.59h0c4.5,0,8.85,1.01,12.92,3.01,7.08,3.47,12.38,9.5,14.93,16.97,2.55,7.48,2.03,15.52-1.45,22.63-5.91,12.06-22.42,25.49-36.68,25.49-2.88,0-5.51-.58-7.83-1.71-6.41-3.14-10.91-11.02-12.34-21.62-1.32-9.81.15-20.59,3.84-28.12,5.03-10.26,15.23-16.64,26.63-16.64M129.35,187.34c-11.77,0-23.11,6.58-28.65,17.9-7.75,15.82-6.22,45.04,9.54,52.76,2.74,1.34,5.72,1.94,8.83,1.94,14.78,0,32.3-13.68,38.7-26.75,7.75-15.82,1.25-34.9-14.5-42.61-4.48-2.2-9.23-3.23-13.91-3.23h0Z" />
</g>
<ellipse class="cls-11" cx="120.82" cy="226.31" rx="2.93" ry="5.15"
transform="translate(-126.2 157.06) rotate(-46.24)" />
<path class="cls-11"
d="M113.54,248.82c3.28,2.59,4.97,6.92,4.68,11.11-3.14-.08-6.14-.83-8.92-2.45-3.14-1.81-5.75-4.61-7.85-8.06,3.17-3.33,8.16-3.7,12.1-.61Z" />
<path class="cls-7"
d="M116.19,185.47c11.6-21.15,23.75-36.11,36.62-42.66-1.33,24.77-.86,42.28,2.06,49.99-11.33-8.97-24.3-11.1-38.68-7.32Z" />
</g>
<g>
<g>
<path class="cls-9"
d="M343.77,454.67c-15.99,0-28.59-3.83-31.98-5.49.81-.78,2.43-2.15,4.13-3.57,9.09-7.65,28.02-23.57,43.39-47.36,23.59-36.49,40.28-95.46-12.36-170.5,27.51,10.89,95.01,47.65,81.11,142.16-3.62,24.63-11.53,44.28-23.52,58.39-18.52,21.8-43.27,26.37-60.77,26.37Z" />
<path class="cls-11"
d="M350.84,230.89c16.31,7.07,31.52,17.27,43.52,29.29,12.4,12.42,21.55,26.85,27.21,42.89,6.97,19.76,8.68,42.18,5.08,66.62-3.58,24.37-11.39,43.77-23.19,57.67-18.16,21.38-42.48,25.87-59.68,25.87-13.88,0-24.59-2.8-29.33-4.52.72-.62,1.57-1.33,2.39-2.03,9.15-7.69,28.18-23.7,43.67-47.68,23.41-36.21,40.1-94.34-9.67-168.14M343.07,224.77c54.88,75.41,39.92,134.23,15.04,172.71-20.87,32.31-48.73,50.31-48.1,51.78-2.01.73,13.34,6.83,33.77,6.83s43.78-5.6,61.85-26.88c11.08-13.04,19.85-31.97,23.84-59.1,15.98-108.62-75.42-141.44-86.4-145.35h0Z" />
</g>
<g>
<path class="cls-6"
d="M343.77,454.67c-15.99,0-28.59-3.83-31.98-5.49.81-.78,2.43-2.15,4.13-3.57,9.02-7.58,27.69-23.29,42.98-46.74l24.14-.92,20.79,31.15c-18.44,21.1-42.79,25.56-60.06,25.56Z" />
<path class="cls-11"
d="M382.3,399.41l19.74,29.58c-18,20-41.51,24.26-58.27,24.26-13.88,0-24.59-2.8-29.33-4.52.72-.62,1.57-1.33,2.39-2.03,8.99-7.56,27.52-23.15,42.85-46.43l22.61-.86M383.79,396.5l-25.68.98c-20.87,32.31-48.73,50.31-48.1,51.78-2.01.73,13.34,6.83,33.77,6.83s43.78-5.6,61.85-26.88l-21.84-32.72h0Z" />
</g>
</g>
<g>
<path class="cls-1"
d="M263.41,181.24l-10.96-10.12c-36.13,39.1-30.86,56.45-24.51,63.32,8.6,9.29,25.51,7.64,41.53-5.03l-8.95-12.41c-10.61,8.39-19.86,9.22-21.64,7.3-1.52-1.62-1.93-14.44,24.52-43.06Z" />
<path class="cls-2"
d="M259.46,217.84l7.06,9.6c3.88-1.22,20.57-12.67,63.07,1.96l11.29-8.38-30.79-41.83c-1.08-1.47-3.03-1.74-4.43-.56l-46.19,39.22Z" />
<path class="cls-1"
d="M327.86,231.93c2.46.91,3.99.23,5.89-1.39l6.85-5.7c1.04-.89,1.23-2.51.42-3.61l-.15-.21c-.92-1.25-2.62-1.44-3.8-.44l-5.71,4.45c-2.19,1.87-3.82,2.73-7.12,1.54-19.5-6.98-45.2-14.27-60.7-3.19l4.88,6.64c8.32-5.16,27.03-10.08,59.44,1.91Z" />
<path class="cls-1"
d="M326.81,227.09c1.74.03,3.01-.76,4.55-2.07l5.71-4.45c1.18-1,2.88-.81,3.8.44l.15.21c.81,1.1.62,2.73-.42,3.61l-6.85,5.7c-1.09.92-2.06,1.53-3.14,1.72l-3.79-5.17Z" />
</g>
<path class="cls-8"
d="M254.87,176.43c-49.41,0-89.46,34.62-89.46,77.33,0,31.05,21.18,57.8,51.72,70.11-10.94-10.14-17.79-24.63-17.79-40.72,0-30.67,24.86-55.54,55.54-55.54s55.54,24.86,55.54,55.54c0,16.09-6.85,30.58-17.79,40.72,30.54-12.31,51.72-39.06,51.72-70.11,0-42.71-40.05-77.33-89.46-77.33Z" />
<g>
<path class="cls-1"
d="M310.99,231.06c-18.11-2.61-26.68-5.76-29.6-10.85-3.21-5.6-1.28-16.87,5.88-34.4l-13.81-5.64c-9.4,22.99-10.9,37.17-5.02,47.44,6.42,11.23,19.65,15.75,39.84,18.66l2.7-15.22Z" />
<path class="cls-2"
d="M308.38,230.85l-1.75,11.78c3.61,1.86,19.48-4.05,42.68,34.98l15.03,10.03,7.39-49.93c.07-.45-1.12-2.02-2.94-2.16l-60.41-4.71Z" />
<path class="cls-1"
d="M346.81,288.75c1.11,2.38,2.96,3.39,5.45,3.59l8.77.64c1.36.11,2.65-.92,2.84-2.26l1.43-9.63c.23-1.53-.84-2.87-2.39-2.99l-7.85-.97c-2.87-.22-4.63-.76-6.14-3.92-8.92-18.7-22.47-34.41-41.28-37.47l-1.5,10.07c9.54,2.19,26.11,11.59,40.66,42.93Z" />
<path class="cls-1"
d="M363.88,290.71c-.2,1.35-1.48,2.37-2.84,2.26l-8.77-.64c-1.39-.11-2.56-.48-3.54-1.19l2.26-15.22c1.1.82,2.39,1.07,4.09,1.21l7.85.96c1.55.12,2.62,1.46,2.39,2.99l-1.44,9.63Z" />
<path class="cls-1"
d="M138.34,84.05l2.52-14.33c.7-3.81,4.36-6.34,8.17-5.64,3.81.7,6.34,4.36,5.64,8.17l-3.26,17.4-13.07-5.61Z" />
<path class="cls-1"
d="M135.19,90.03l-9.22-11.24c-2.44-3.01-1.97-7.43,1.04-9.87,3.01-2.44,7.43-1.97,9.87,1.04l9.47,11.53-11.15,8.54Z" />
<path class="cls-1"
d="M128.11,96.31l-9.51-11.01c-2.51-2.94-2.16-7.38.79-9.89,2.95-2.51,7.38-2.16,9.89.79l9.75,11.28-10.92,8.83Z" />
<path class="cls-1"
d="M127.29,101.86l-11.56-8.82c-3.07-2.37-3.62-6.78-1.26-9.85,2.37-3.07,6.78-3.63,9.85-1.26l11.86,9.05-8.89,10.87Z" />
<path class="cls-1"
d="M132.41,91.74c1.29,13.11,9.05,32.12,26.68,42.49,10.71,6.3,28.85,11.48,54.47.36l-6.17-14.2c-15.55,6.74-29.54,6.92-40.45.5-11.82-6.96-18.12-20.41-19.12-30.66l-15.41,1.51Z" />
<path class="cls-2"
d="M148.82,106.96c6.28-5.14,7.19-14.4,2.05-20.67-5.14-6.27-14.4-7.19-20.67-2.05-6.27,5.15-7.18,14.41-2.05,20.68,5.14,6.27,14.4,7.19,20.67,2.04Z" />
<path class="cls-1"
d="M204.81,117.03c-1.22-20.4,5.11-35.24,5.11-35.24l-4.57-.91-.1-.11c13.58-34.3,50.11-55.11,87.59-47.69,42.24,8.36,69.7,49.38,61.33,91.61-8.36,42.24-49.38,69.7-91.61,61.33-33.33-6.6-57.45-33.53-62.04-65.35-.04-1.3.43-3.56,4.27-3.64Z" />
<path class="cls-3"
d="M204.81,117.03c-1.2-20.15,4.96-34.87,5.11-35.23l79.34,15.7s5.1.48,4.2,5.05c-.9,4.57-3.64,17.43-6.47,31.7-.58,2.93-3.26,3.87-5.15,3.5,0,0-76.87-17.75-77.02-20.72Z" />
<path class="cls-1"
d="M247.79,125.55s-10.3-12.07-12.31-14.34c-2.03-2.25-4.09-2.78-6.65-1.31-2.56,1.45-16.67,8.59-16.67,8.59l35.63,7.05Z" />
<path class="cls-2"
d="M200.68,121.63s-1.31-4.5,4.14-4.6c0-.02,78.02,15.38,78.02,15.38,1.81.36,4.36-.26,4.92-1.98-.25,1.26-.51,2.54-.77,3.83-.53,2.67-2.78,3.69-4.61,3.56-.18-.01-.37-.03-.54-.07l-5.33-1.05-75.83-15.07Z" />
<path class="cls-5"
d="M204.12,135.24l131.87,26.1c-3.96,4.45-8.4,8.41-13.22,11.82l-110.94-21.95c-3.16-5-5.75-10.35-7.72-15.97Z" />
<path class="cls-1"
d="M381.83,52.57l-8.81-11.58c-2.37-3.07-6.77-3.63-9.85-1.26-3.07,2.37-3.63,6.77-1.26,9.85l10.88,13.97,9.03-10.98Z" />
<path class="cls-1"
d="M387.39,56.44l3.04-14.22c.78-3.8-1.66-7.5-5.45-8.29-3.8-.78-7.5,1.66-8.29,5.45l-3.12,14.59,13.82,2.47Z" />
<path class="cls-1"
d="M396.55,58.76l3.4-14.14c.88-3.77-1.47-7.55-5.24-8.43-3.77-.88-7.55,1.47-8.43,5.24l-3.49,14.5,13.76,2.83Z" />
<path class="cls-1"
d="M399.82,63.32l6.23-13.14c1.64-3.51.11-7.69-3.4-9.33-3.51-1.64-7.69-.11-9.33,3.4l-6.39,13.48,12.89,5.59Z" />
<path class="cls-1"
d="M390.63,56.67c4.87,12.24,6.7,32.69-4.21,50-6.62,10.51-20.36,23.43-48.23,25.31l-1.04-15.45c16.91-1.14,29.42-7.4,36.18-18.12,7.31-11.6,6.73-26.45,2.93-36.02l14.38-5.72Z" />
<path class="cls-2"
d="M383.04,77.73c-7.94-1.69-12.99-9.5-11.3-17.43,1.69-7.93,9.49-13,17.43-11.3,7.93,1.69,12.99,9.5,11.3,17.43-1.7,7.93-9.5,12.99-17.43,11.3Z" />
<path class="cls-10"
d="M211.1,99.67c1.01-5.57,4.52-9.59,7.84-8.99,3.31.61,5.18,5.61,4.16,11.18-1.01,5.57-4.53,9.6-7.84,8.99-3.32-.6-5.17-5.6-4.16-11.18Z" />
<path class="cls-10"
d="M263.15,120.38c-3.29-.7-5.01-5.76-3.83-11.29,1.18-5.54,4.81-9.45,8.1-8.75,3.29.7,5.01,5.76,3.83,11.29-1.18,5.54-4.81,9.45-8.1,8.75Z" />
<path class="cls-2"
d="M327.06,140.25c-7.73-1.65-12.66-9.25-11.01-16.98,1.65-7.73,9.25-12.67,16.98-11.01,7.73,1.65,12.67,9.25,11.02,16.98-1.65,7.73-9.25,12.66-16.98,11.01Z" />
<path class="cls-1" d="M305.61,32.28l13.21,6.61,4.93-14.47-9.47-4.75-8.66,12.62Z" />
<path class="cls-5"
d="M320.22,25.57c-5.68-1.21-9.3-6.79-8.09-12.47,1.21-5.68,6.79-9.3,12.47-8.09,5.68,1.21,9.3,6.79,8.09,12.47-1.2,5.68-6.79,9.3-12.47,8.09Z" />
<path class="cls-2"
d="M296.42,38.02c-.59-.3-.81-1.06-.44-1.61,3.84-5.91,11.59-8.12,18.04-4.9,6.44,3.23,9.32,10.76,6.88,17.38-.23.63-.97.9-1.56.6l-22.91-11.47Z" />
<path class="cls-2" d="M221.64,134.22l23.08,4.92-4.92,23.08-23.08-4.92,4.92-23.08Z" />
<path class="cls-6"
d="M222.31,149.88c-.17-.04-.29-.11-.38-.25-.09-.13-.13-.28-.1-.44.04-.16.11-.27.26-.37.13-.09.29-.12.45-.08.17.04.29.11.39.25.1.13.13.28.09.44-.03.15-.11.27-.25.36-.14.1-.29.12-.45.09Z" />
<path class="cls-6"
d="M228.87,151.1l-1.06-.21-1.92-4.98c-.05-.13-.08-.25-.11-.39h-.02c0,.12-.05.41-.13.83l-.79,3.94-.94-.19,1.2-6.02,1.13.23,1.85,4.86c.08.2.14.34.15.41h.01c.01-.16.04-.44.12-.82l.77-3.87.93.18-1.21,6.03Z" />
<path class="cls-6"
d="M233.46,152.01l-3.3-.66,1.2-6.02,3.17.63-.17.85-2.18-.43-.34,1.7,2.02.4-.17.85-2.02-.4-.36,1.78,2.32.46-.18.84Z" />
<path class="cls-6" d="M239.17,147.78l-1.68-.34-1.03,5.17-.97-.2,1.03-5.17-1.68-.34.17-.85,4.34.86-.17.86Z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

+96
View File
@@ -0,0 +1,96 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="with_laptop_var_1_" data-name="with laptop (var 1)" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 350">
<defs>
<style>
.cls-1 {
fill: #ccc;
}
.cls-1,
.cls-2,
.cls-3,
.cls-4,
.cls-5 {
stroke-width: 0px;
}
.cls-2 {
fill: #ff7545;
}
.cls-3 {
fill: #242424;
}
.cls-6 {
fill: none;
stroke: #ccc;
stroke-linecap: round;
stroke-linejoin: round;
stroke-width: 2px;
}
.cls-4 {
fill: #f2f2f2;
}
.cls-5 {
fill: #fff;
}
</style>
</defs>
<g>
<path class="cls-2"
d="M70,219.15c-17.11,0-31-25.62-31-42.33s13.91-31,31-31,31,13.91,31,31-13.89,42.33-31,42.33Z" />
<path class="cls-3"
d="M70,146.82c16.54,0,30,13.46,30,30s-13.44,41.33-30,41.33-30-25.01-30-41.33,13.46-30,30-30M70,144.82c-17.67,0-32,14.33-32,32s14.33,43.33,32,43.33,32-25.66,32-43.33-14.33-32-32-32h0Z" />
</g>
<g>
<path class="cls-2"
d="M129.3,345.74c-32.49,0-59.52-24.7-62.68-56.71,9.09,8.74,21.32,13.7,33.97,13.7,27.02,0,49-21.98,49-49,0-12.65-4.72-24.47-13.34-33.59,31.65,3.48,56.05,30.47,56.05,62.6,0,34.74-28.26,63-63,63Z" />
<path class="cls-3"
d="M138.8,221.48c29.84,4.6,52.51,30.54,52.51,61.26,0,34.19-27.81,62-62,62-31.07,0-57.07-22.95-61.37-53.17,9.03,7.78,20.66,12.16,32.66,12.16,27.57,0,50-22.43,50-50,0-11.99-4.15-23.25-11.8-32.25M133.6,218.9c9.23,8.75,14.99,21.11,14.99,34.83,0,26.51-21.49,48-48,48-13.9,0-26.41-5.92-35.18-15.36,1.88,33.66,29.76,60.37,63.89,60.37s64-28.65,64-64-26.36-61.63-59.7-63.84h0Z" />
</g>
<circle class="cls-3" cx="69.5" cy="212.15" r="8" />
<ellipse class="cls-3" cx="60" cy="184.82" rx="2" ry="4" />
<g>
<path class="cls-2"
d="M70,349.07c-35,0-35-13.04-35-36.71s16.64-88.57,35-88.57,35,63.76,35,88.57v.48c0,11.58,0,20.73-4.32,26.84-4.58,6.49-14.05,9.39-30.68,9.39Z" />
<path class="cls-3"
d="M70,224.79c7.62,0,16.2,12.58,23.56,34.51,6.85,20.43,10.44,42.16,10.44,53.06v.48c0,11.4,0,20.41-4.13,26.26-4.38,6.2-13.59,8.96-29.87,8.96-34,0-34-11.93-34-35.71,0-10.9,3.59-32.63,10.44-53.06,7.36-21.93,15.94-34.51,23.56-34.51M70,222.79c-19.88,0-36,65.8-36,89.57s0,37.71,36,37.71,36-13.94,36-37.71-16.12-89.57-36-89.57h0Z" />
</g>
<ellipse class="cls-3" cx="79" cy="184.82" rx="2" ry="4" />
<g>
<path class="cls-2"
d="M35.11,164.47c-2.38-11.78-.5-28.99,1.86-38.41.79-3.17,1.82-4.98,2.81-4.98,2.29,0,6.2,6.68,9.65,12.57,1.84,3.15,3.74,6.4,5.7,9.28-9.38,4.11-16.63,11.95-20.02,21.53Z" />
<path class="cls-3"
d="M39.81,122.07h0,0M39.8,122.08c.13.02,1.09.27,3.21,3.16,1.7,2.32,3.58,5.53,5.56,8.91,1.65,2.81,3.34,5.7,5.08,8.36-8.01,3.82-14.42,10.33-18.12,18.3-1.43-11.33.3-26.07,2.41-34.51.88-3.53,1.74-4.15,1.86-4.22M39.78,120.08c-1.48,0-2.76,1.66-3.78,5.74-2.5,9.99-4.77,30.26-.97,42.4,2.79-11.35,10.95-20.58,21.63-24.84-6.49-9.18-12.55-23.3-16.88-23.3h0Z" />
</g>
<g>
<path class="cls-2"
d="M104.56,164.47c-3.4-9.58-10.65-17.42-20.02-21.53,1.96-2.89,3.86-6.13,5.7-9.28,3.45-5.89,7.36-12.57,9.65-12.57.99,0,2.02,1.82,2.81,4.98,2.35,9.42,4.24,26.62,1.86,38.41Z" />
<path class="cls-3"
d="M99.87,122.08c.12.07.98.7,1.86,4.22,2.11,8.44,3.84,23.18,2.41,34.51-3.71-7.96-10.11-14.48-18.12-18.3,1.75-2.65,3.44-5.54,5.08-8.36,1.98-3.39,3.86-6.59,5.56-8.92,2.12-2.89,3.08-3.14,3.21-3.16M99.89,120.08c-4.33,0-10.39,14.12-16.88,23.3,10.68,4.26,18.84,13.49,21.63,24.84,3.8-12.14,1.53-32.41-.97-42.4-1.02-4.08-2.3-5.74-3.78-5.74h0Z" />
</g>
<g id="laptop">
<g>
<polygon class="cls-1" points="20.75 301.24 1.33 233.24 138.67 233.24 119.25 301.24 20.75 301.24" />
<path class="cls-3" d="M137.35,234.24l-18.86,66H21.51L2.65,234.24h134.7M140,232.24H0l20,70h100l20-70h0Z" />
</g>
<polygon class="cls-4" points="85.71 257.24 54.29 257.24 55.73 277.24 84.27 277.24 85.71 257.24" />
<line class="cls-6" x1="70" y1="245.89" x2="70" y2="283.88" />
<line class="cls-6" x1="47.35" y1="267.24" x2="92.65" y2="267.24" />
</g>
<g>
<path class="cls-5"
d="M148.65,263.31c.62-3.14.94-6.36.94-9.58,0-12.65-4.72-24.47-13.34-33.59,21.27,2.34,40.04,15.44,49.57,34.74l-16.52,18.65-20.64-10.22Z" />
<path class="cls-3"
d="M138.8,221.48c19.61,3.03,36.76,15.37,45.83,33.24l-15.56,17.57-19.28-9.54c.54-2.97.81-5.99.81-9.02,0-11.99-4.15-23.25-11.79-32.25M133.6,218.9c9.23,8.75,14.99,21.11,14.99,34.83,0,3.48-.37,6.86-1.07,10.13l22.02,10.9,17.47-19.72c-9.74-20.25-29.83-34.58-53.41-36.14h0Z" />
</g>
<g>
<path class="cls-5"
d="M148.65,263.31c.62-3.14.94-6.36.94-9.58,0-12.65-4.72-24.47-13.34-33.59,21.27,2.34,40.04,15.44,49.57,34.74l-16.52,18.65-20.64-10.22Z" />
<path class="cls-3"
d="M138.8,221.48c19.61,3.03,36.76,15.37,45.83,33.24l-15.56,17.57-19.28-9.54c.54-2.97.81-5.99.81-9.02,0-11.99-4.15-23.25-11.79-32.25M133.6,218.9c9.23,8.75,14.99,21.11,14.99,34.83,0,3.48-.37,6.86-1.07,10.13l22.02,10.9,17.47-19.72c-9.74-20.25-29.83-34.58-53.41-36.14h0Z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 KiB

+22
View File
@@ -0,0 +1,22 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 394 80">
<defs>
<style type="text/css">
.cls-1
{
fill: #000000;
}
@media (prefers-color-scheme: dark)
{
.cls-1
{
fill: #FFFFFF;
}
}
</style>
</defs>
<path class="cls-1"
d="M262 0h68.5v12.7h-27.2v66.6h-13.6V12.7H262V0ZM149 0v12.7H94v20.4h44.3v12.6H94v21h55v12.6H80.5V0h68.7zm34.3 0h-17.8l63.8 79.4h17.9l-32-39.7 32-39.6h-17.9l-23 28.6-23-28.6zm18.3 56.7-9-11-27.1 33.7h17.8l18.3-22.7z" />
<path class="cls-1"
d="M81 79.3 17 0H0v79.3h13.6V17l50.2 62.3H81Zm252.6-.4c-1 0-1.8-.4-2.5-1s-1.1-1.6-1.1-2.6.3-1.8 1-2.5 1.6-1 2.6-1 1.8.3 2.5 1a3.4 3.4 0 0 1 .6 4.3 3.7 3.7 0 0 1-3 1.8zm23.2-33.5h6v23.3c0 2.1-.4 4-1.3 5.5a9.1 9.1 0 0 1-3.8 3.5c-1.6.8-3.5 1.3-5.7 1.3-2 0-3.7-.4-5.3-1s-2.8-1.8-3.7-3.2c-.9-1.3-1.4-3-1.4-5h6c.1.8.3 1.6.7 2.2s1 1.2 1.6 1.5c.7.4 1.5.5 2.4.5 1 0 1.8-.2 2.4-.6a4 4 0 0 0 1.6-1.8c.3-.8.5-1.8.5-3V45.5zm30.9 9.1a4.4 4.4 0 0 0-2-3.3 7.5 7.5 0 0 0-4.3-1.1c-1.3 0-2.4.2-3.3.5-.9.4-1.6 1-2 1.6a3.5 3.5 0 0 0-.3 4c.3.5.7.9 1.3 1.2l1.8 1 2 .5 3.2.8c1.3.3 2.5.7 3.7 1.2a13 13 0 0 1 3.2 1.8 8.1 8.1 0 0 1 3 6.5c0 2-.5 3.7-1.5 5.1a10 10 0 0 1-4.4 3.5c-1.8.8-4.1 1.2-6.8 1.2-2.6 0-4.9-.4-6.8-1.2-2-.8-3.4-2-4.5-3.5a10 10 0 0 1-1.7-5.6h6a5 5 0 0 0 3.5 4.6c1 .4 2.2.6 3.4.6 1.3 0 2.5-.2 3.5-.6 1-.4 1.8-1 2.4-1.7a4 4 0 0 0 .8-2.4c0-.9-.2-1.6-.7-2.2a11 11 0 0 0-2.1-1.4l-3.2-1-3.8-1c-2.8-.7-5-1.7-6.6-3.2a7.2 7.2 0 0 1-2.4-5.7 8 8 0 0 1 1.7-5 10 10 0 0 1 4.3-3.5c2-.8 4-1.2 6.4-1.2 2.3 0 4.4.4 6.2 1.2 1.8.8 3.2 2 4.3 3.4 1 1.4 1.5 3 1.5 5h-5.8z" />
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

+59
View File
@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="_x34_04" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 257">
<defs>
<style>
.cls-1 {
fill: #fff;
}
.cls-2 {
fill: #ff7545;
}
.cls-3 {
fill: #f0bf8c;
}
.cls-4 {
fill: #242424;
}
.cls-5 {
fill: #ffd994;
}
.cls-6 {
fill: #84624c;
}
</style>
</defs>
<g>
<rect class="cls-3" x="17.56" y="1.54" width="318.15" height="253.92" />
<path class="cls-4" d="M334.21,3.04v250.92H19.06V3.04h315.15M337.21.04H16.06v256.92h321.15V.04h0Z" />
</g>
<g>
<polygon class="cls-5" points="17.23 255.46 1.92 194.23 351.34 194.23 336.04 255.46 17.23 255.46" />
<path class="cls-4"
d="M349.42,195.73l-14.56,58.23H18.4l-14.56-58.23h345.58M353.27,192.73H0l16.06,64.23h321.15l16.06-64.23h0Z" />
</g>
<polygon class="cls-6"
points="229.04 134.91 229.04 63.08 204.52 63.08 204.52 134.91 192.23 134.91 216.78 159.43 241.33 134.91 229.04 134.91" />
<polygon class="cls-6"
points="148.75 134.91 148.75 63.08 124.23 63.08 124.23 134.91 111.94 134.91 136.49 159.43 161.04 134.91 148.75 134.91" />
<g>
<path class="cls-2"
d="M341.98,255.46c15.84-10.77,78.27-50.47,152.5-61.25,8.19-1.19,16.33-1.79,24.2-1.79,42.66,0,73,17.73,90.94,32.6,15.24,12.63,24.37,25.4,27.67,30.44h-295.32Z" />
<path class="cls-4"
d="M518.68,193.92c18.62,0,36.43,3.38,52.94,10.04,13.22,5.34,25.65,12.78,36.95,22.13,13.18,10.9,21.75,21.92,25.9,27.86h-287.56c7.74-5.08,20.8-13.17,37.65-21.76,25.66-13.08,65.6-30.03,110.14-36.5,8.11-1.18,16.19-1.78,23.99-1.78M518.68,190.92c-7.75,0-15.88.57-24.42,1.81-87.1,12.65-157.05,64.23-157.05,64.23h302.79s-37.77-66.04-121.32-66.04h0Z" />
</g>
<g>
<path class="cls-1" d="M577.28,255.46l-17.15-29.72,27.41-15.83c28.83,16,45.09,38.45,49.75,45.55h-60.01Z" />
<path class="cls-4"
d="M587.55,211.63c25.44,14.32,40.87,33.68,46.91,42.33h-56.31l-15.97-27.68,25.38-14.65M587.52,208.19l-29.45,17,18.34,31.77h63.59s-16.71-29.21-52.48-48.77h0Z" />
</g>
<g>
<path class="cls-1" d="M577.28,255.46l-17.15-29.72,27.41-15.83c28.83,16,45.09,38.45,49.75,45.55h-60.01Z" />
<path class="cls-4"
d="M587.55,211.63c25.44,14.32,40.87,33.68,46.91,42.33h-56.31l-15.97-27.68,25.38-14.65M587.52,208.19l-29.45,17,18.34,31.77h63.59s-16.71-29.21-52.48-48.77h0Z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

+193
View File
@@ -0,0 +1,193 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="dotnet-bot-2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 614.65 161.7">
<defs>
<style>
.cls-1 {
fill: #ff0;
}
.cls-1,
.cls-2,
.cls-3,
.cls-4,
.cls-5,
.cls-6,
.cls-7,
.cls-8 {
stroke: #242424;
}
.cls-1,
.cls-3,
.cls-7,
.cls-8 {
stroke-miterlimit: 10;
}
.cls-2 {
fill: #8897e2;
}
.cls-2,
.cls-4,
.cls-5,
.cls-6 {
stroke-linecap: round;
stroke-linejoin: round;
}
.cls-2,
.cls-5,
.cls-6 {
stroke-width: 2px;
}
.cls-3,
.cls-4,
.cls-6 {
fill: none;
}
.cls-4 {
stroke-width: 5px;
}
.cls-9,
.cls-5 {
fill: #fff;
}
.cls-10 {
fill: #ff7545;
}
.cls-11 {
fill: #e0fafc;
}
.cls-7 {
fill: #eab00f;
}
.cls-8 {
fill: #f50;
}
.cls-12 {
fill: #242424;
}
@media (prefers-color-scheme: dark) {
.cls-11 {
fill: #004377;
}
.cls-5 {
fill: #292929;
}
.frame {
stroke: #0e4775;
}
.legs {
stroke: #817400;
}
}
</style>
</defs>
<g>
<path class="cls-10"
d="M140.47,152.14c13.19-18.82,68.34-92.87,118.93-92.87,1.95,0,3.91.11,5.8.33,10.86,1.26,18.27,5.78,22.03,13.43,10.76,21.91-10.31,63.93-17.91,77.79,1.09-9.57,2.13-29.81-6.53-41-3.58-4.63-8.45-7.2-14.49-7.65-.67-.05-1.37-.08-2.08-.08-28.42,0-88.89,38.83-105.75,50.04Z" />
<path class="cls-12"
d="M259.4,60.28c1.91,0,3.83.11,5.69.32,10.5,1.22,17.65,5.55,21.25,12.88,9.61,19.57-6.85,55.83-15.57,72.54.74-10.64.38-27.03-7.18-36.8-3.76-4.86-8.88-7.56-15.21-8.04-.69-.05-1.42-.08-2.16-.08-26.57,0-80.58,33.41-101.86,47.29,6.68-9.24,18.48-24.67,33.09-39.97,20.99-21.97,52.25-48.15,81.94-48.15M259.4,58.28c-58.87,0-122.71,97.62-122.71,97.62,0,0,76.96-52.8,109.54-52.8.69,0,1.36.02,2.01.07,28.56,2.13,19.37,52.72,19.37,52.72,0,0,54.67-90.68-2.29-97.28-1.97-.23-3.94-.34-5.92-.34h0Z" />
</g>
<g>
<path class="cls-10"
d="M69.29,154.9c-6.68,0-14.03-1.44-22.45-4.41C11.64,138.09,3.37,120.23,1.51,114c4.17,2.47,14.21,7.45,27.24,7.45,10.47,0,20.54-3.26,29.92-9.68,8.37-5.75,16.23-14.08,23.37-24.75,16.05-24.04,34.76-36.23,55.62-36.23,26.48,0,49.14,19.94,56.57,27.25-4.74-1.2-9.62-1.8-14.55-1.8-23.29,0-46.6,13.56-60.84,35.38-1.79,2.74-3.52,5.52-5.21,8.21-10.17,16.27-19.78,31.63-37.78,34.55-2.09.34-4.29.51-6.55.51Z" />
<path class="cls-12"
d="M137.65,51.79c23.55,0,44.1,16.06,53.28,24.51-3.7-.7-7.47-1.05-11.26-1.05-23.62,0-47.25,13.73-61.68,35.84-1.79,2.75-3.53,5.53-5.22,8.23-10.05,16.07-19.53,31.24-37.1,34.09-2.03.33-4.18.5-6.39.5-6.57,0-13.8-1.42-22.11-4.35-22.2-7.82-33.31-17.74-38.72-24.69-2.65-3.4-4.22-6.43-5.15-8.73,5.09,2.65,14.18,6.32,25.45,6.32,10.68,0,20.94-3.31,30.49-9.85,8.47-5.82,16.42-14.24,23.63-25.02,15.85-23.74,34.29-35.78,54.78-35.78M137.65,49.79c-18.04,0-37.95,8.97-56.45,36.67-7.62,11.39-15.46,19.23-23.1,24.48-10.45,7.15-20.57,9.5-29.35,9.5C11.93,120.45,0,111.84,0,111.84,0,111.84,2.21,135.83,46.51,151.43c8.79,3.1,16.28,4.46,22.78,4.46,2.36,0,4.59-.18,6.71-.53,21.48-3.48,31.01-23.78,43.67-43.2,13.83-21.18,36.63-34.93,60-34.93,5.97,0,11.97.89,17.87,2.79,0,0-26.77-30.24-59.89-30.24h0Z" />
</g>
<g>
<path class="cls-10"
d="M316.74,76.77c-4.68,0-9.21-.77-12.77-2.16-11.94-4.68-17.87-18.16-13.21-30.06,3.5-8.94,11.98-14.71,21.61-14.71,2.91,0,5.77.54,8.5,1.61,11.69,4.58,25.83,21.26,21.17,33.17-3.28,8.39-15.07,12.14-25.29,12.14h0Z" />
<path class="cls-12"
d="M312.36,30.7c2.8,0,5.56.52,8.19,1.56,11.38,4.46,25.18,20.6,20.68,32.07-3.14,8.01-14.57,11.6-24.5,11.6-4.58,0-9-.75-12.46-2.1-5.58-2.18-9.97-6.4-12.37-11.87-2.4-5.47-2.53-11.54-.36-17.09,3.37-8.61,11.54-14.17,20.81-14.17M312.36,28.99c-9.62,0-18.69,5.78-22.4,15.25-4.84,12.35,1.29,26.31,13.7,31.16,3.74,1.46,8.34,2.22,13.08,2.22,10.99,0,22.71-4.05,26.09-12.68,4.84-12.35-9.25-29.42-21.65-34.28-2.9-1.13-5.88-1.67-8.81-1.67h0Z" />
</g>
<ellipse class="cls-12" cx="320.73" cy="52.69" rx="3.89" ry="2.21"
transform="translate(247.34 369.33) rotate(-86.28)" />
<path class="cls-12"
d="M336.3,61.51c-.51,3.12.77,6.4,3.07,8.59,1.71-1.65,3-3.6,3.72-5.92.83-2.61.85-5.5.26-8.51-3.47-.23-6.44,2.11-7.05,5.84Z" />
<g>
<path class="cls-10"
d="M298.15,28.51c5.42-10.76,8.19-15.12,19.31-21.4l3.74,18.35c-2.78-.97-5.57-1.46-8.3-1.46-4.78,0-9.53,1.44-14.76,4.5Z" />
<path class="cls-12"
d="M316.86,8.44l3.22,15.77c-2.41-.7-4.81-1.06-7.18-1.06-4.18,0-8.32,1.06-12.75,3.29,4.42-8.54,7.48-12.64,16.7-18M318.06,5.81c-13.04,7.18-15.35,11.67-22.04,25.04,5.26-3.51,10.77-5.99,16.88-5.99,2.99,0,6.12.59,9.44,1.95l-4.29-21.01h0Z" />
</g>
<polygon class="cls-6 frame"
points="614.65 155.9 375.54 155.9 375.54 20.87 387.57 5.81 602.61 5.81 614.65 20.87 614.65 155.9" />
<rect class="cls-6 frame" x="387.57" y="5.81" width="215.04" height="120.98" />
<polygon class="cls-6 frame" points="387.57 126.79 375.54 155.9 614.65 155.9 602.61 126.79 387.57 126.79" />
<g>
<polyline class="cls-3 legs" points="460.19 121.28 460.19 133.78 466.05 133.78" />
<polyline class="cls-3 legs" points="454.86 131.78 460.19 133.78 455.82 136.3" />
<path class="cls-8"
d="M475.02,91.6c3.58-10.54-4.05-4.5-4.05-4.5-.67-8.59-5.37-.78-5.37-.78-3.48-9.44-5.41,2.97-5.41,2.97,4.39,2.15,9.27,3.08,14.83,2.31Z" />
<polyline class="cls-3 legs" points="471.38 119.61 471.38 132.12 477.23 132.12" />
<polyline class="cls-3 legs" points="466.05 130.12 471.38 132.12 467.01 134.63" />
<path class="cls-7"
d="M481.19,111.09l-.03.02c.64-1.79,1.01-3.7,1.01-5.71,0-9.33-7.56-16.89-16.89-16.89s-16.89,7.56-16.89,16.89,7.56,16.89,16.89,16.89c20.02,0,24.76-15.18,24.76-15.18l-8.86,3.98Z" />
<circle class="cls-12" cx="463.31" cy="98.35" r="2.2" />
<polygon class="cls-1" points="439.51 93.99 453.99 94.75 449.9 107.11 439.51 93.99" />
<path class="cls-3" d="M464.12,107.11l13.52,3.42s-3.11,7.71-14.33,6.56" />
</g>
<g>
<polyline class="cls-3 legs" points="422.71 137.33 422.71 149.83 428.56 149.83" />
<polyline class="cls-3 legs" points="417.38 147.83 422.71 149.83 418.34 152.35" />
<polyline class="cls-3 legs" points="433.9 135.66 433.9 148.17 439.75 148.17" />
<polyline class="cls-3 legs" points="428.56 146.17 433.9 148.17 429.53 150.68" />
<path class="cls-7"
d="M443.71,127.14l-.03.02c.64-1.79,1.01-3.7,1.01-5.71,0-9.33-7.56-16.89-16.89-16.89s-16.89,7.56-16.89,16.89,7.56,16.89,16.89,16.89c20.02,0,24.76-15.18,24.76-15.18l-8.86,3.98Z" />
<circle class="cls-12" cx="425.82" cy="114.4" r="2.2" />
<polygon class="cls-1" points="402.02 110.05 416.5 110.8 412.41 123.16 402.02 110.05" />
<path class="cls-3" d="M426.64,123.16l13.52,3.42s-3.11,7.71-14.33,6.56" />
</g>
<g>
<polyline class="cls-3 legs" points="502.74 129.22 502.74 141.73 508.59 141.73" />
<polyline class="cls-3 legs" points="497.41 139.73 502.74 141.73 498.37 144.24" />
<polyline class="cls-3 legs" points="513.92 127.56 513.92 140.06 519.78 140.06" />
<polyline class="cls-3 legs" points="508.59 138.06 513.92 140.06 509.55 142.58" />
<path class="cls-7"
d="M523.73,119.03l-.03.02c.64-1.79,1.01-3.7,1.01-5.71,0-9.33-7.56-16.89-16.89-16.89s-16.89,7.56-16.89,16.89,7.56,16.89,16.89,16.89c20.02,0,24.76-15.18,24.76-15.18l-8.86,3.98Z" />
<circle class="cls-12" cx="505.85" cy="106.29" r="2.2" />
<polygon class="cls-1" points="482.05 101.94 496.53 102.69 492.44 115.05 482.05 101.94" />
<path class="cls-3" d="M506.66,115.05l13.52,3.42s-3.11,7.71-14.33,6.56" />
</g>
<polyline class="cls-4 frame" points="597.09 90.64 597.09 107.14 587.47 116.77" />
<g>
<polyline class="cls-3 legs" points="545.78 136.82 545.78 149.32 551.63 149.32" />
<polyline class="cls-3 legs" points="540.44 147.32 545.78 149.32 541.41 151.84" />
<path class="cls-8"
d="M560.61,107.14c3.58-10.54-4.05-4.5-4.05-4.5-.67-8.59-5.37-.78-5.37-.78-3.48-9.44-5.41,2.97-5.41,2.97,4.39,2.15,9.27,3.08,14.83,2.31Z" />
<polyline class="cls-3 legs" points="556.96 135.15 556.96 147.66 562.81 147.66" />
<polyline class="cls-3 legs" points="551.63 145.66 556.96 147.66 552.59 150.18" />
<path class="cls-7"
d="M566.77,126.63l-.03.02c.64-1.79,1.01-3.7,1.01-5.71,0-9.33-7.56-16.89-16.89-16.89s-16.89,7.56-16.89,16.89,7.56,16.89,16.89,16.89c20.02,0,24.76-15.18,24.76-15.18l-8.86,3.98Z" />
<circle class="cls-12" cx="548.89" cy="113.89" r="2.2" />
<polygon class="cls-1" points="525.09 109.54 539.57 110.29 535.48 122.65 525.09 109.54" />
<path class="cls-3" d="M549.7,122.65l13.52,3.42s-3.11,7.71-14.33,6.56" />
</g>
<path class="cls-2 frame" d="M583.09,30.89h28v45.75c0,7.73-6.27,14-14,14h0c-7.73,0-14-6.27-14-14V30.89h0Z" />
<rect class="cls-5 frame" x="583.09" y="30.89" width="28" height="12.62" />
<path class="cls-11"
d="M403.51,37.57c4.98,4.9,10.05,9.71,15.2,14.43,4.74,4.34,11.83-2.71,7.07-7.07-5.15-4.72-10.22-9.53-15.2-14.43-4.59-4.51-11.67,2.55-7.07,7.07h0Z" />
<path class="cls-11"
d="M428.14,35.16c14.78,13.32,30.79,25.18,47.88,35.38,5.54,3.31,10.57-5.34,5.05-8.63-16.38-9.78-31.69-21.05-45.86-33.82-4.77-4.3-11.86,2.75-7.07,7.07h0Z" />
<line class="cls-6 frame" x1="375.54" y1="20.87" x2="614.65" y2="20.87" />
<g>
<path class="cls-9"
d="M69.29,154.9c-6.68,0-14.03-1.44-22.45-4.41C11.64,138.09,3.37,120.23,1.51,114c4.17,2.47,14.21,7.45,27.24,7.45,10.3,0,20.2-3.15,29.44-9.35l24.65,11.87-7.65,30.51c-1.89.27-3.87.41-5.9.41Z" />
<path class="cls-12"
d="M58.26,113.24l23.41,11.27-7.29,29.07c-1.64.21-3.35.31-5.09.31-6.57,0-13.8-1.42-22.11-4.35-22.2-7.82-33.31-17.74-38.72-24.69-2.65-3.4-4.22-6.43-5.15-8.73,5.09,2.65,14.18,6.32,25.45,6.32,10.32,0,20.24-3.1,29.52-9.2M58.1,110.95c-10.45,7.15-20.57,9.5-29.35,9.5C11.93,120.45,0,111.84,0,111.84,0,111.84,2.21,135.83,46.51,151.43c8.79,3.1,16.28,4.46,22.78,4.46,2.36,0,4.59-.18,6.71-.53l8.01-31.95-25.91-12.48h0Z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.5 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 332 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 476 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1002 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="TabsAside" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 512">
<defs>
<style>
.text {
fill: #242424;
}
.timer-progress {
fill: none;
stroke: #0e700e;
stroke-linecap: round;
stroke-miterlimit: 10;
stroke-width: 6px;
}
.timer-digits {
fill: #0e700e;
}
@media (prefers-color-scheme: dark) {
.text {
fill: #ffffff;
}
.timer-progress {
stroke: #54b054;
}
.timer-digits {
fill: #54b054;
}
}
</style>
</defs>
<g class="text">
<g>
<path
d="m411.33,241.27v12.44l-3.93,3.93-1.31-1.31v-17.02l5.24,1.96Zm17.67,40.58h-19.64c-1.75-.44-2.84-1.53-3.27-3.27l5.24-1.96h15.71l1.96,5.24Zm-17.61-41.89l-5.24-1.96c.44-1.74,1.53-2.84,3.27-3.27h20.88c1.74.44,2.84,1.53,3.27,3.27l-5.24,1.96h-16.95Zm16.95,15.71l2.62,2.62-2.62,2.62h-17.02l-2.62-2.62,2.62-2.62h17.02Zm3.93,3.27l1.31,1.31v18.33c-.44,1.75-1.53,2.84-3.27,3.27l-1.96-5.24v-13.75l3.93-3.93Z" />
<path
d="m449.29,253.71v-13.75l1.96-5.24c1.74.44,2.84,1.53,3.27,3.27v18.33l-1.31,1.31-3.93-3.93Zm3.93,4.58l1.31,1.31v18.33c-.44,1.75-1.53,2.84-3.27,3.27l-1.96-5.24v-13.75l3.93-3.93Z" />
<path
d="m476.78,241.27v12.44l-3.93,3.93-1.31-1.31v-17.02l5.24,1.96Zm0,21.6v13.75l-1.96,5.24c-1.75-.44-2.84-1.53-3.27-3.27v-18.33l1.31-1.31,3.93,3.93Zm15.71-22.91h-15.64l-5.24-1.96c.44-1.74,1.53-2.84,3.27-3.27h19.57l-1.96,5.24Zm-4.58,16.36l-2.62,2.62-2.62-2.62v-15.05h5.24v15.05Zm5.89-2.62v-13.75l1.96-5.24c1.74.44,2.84,1.53,3.27,3.27v18.33l-1.31,1.31-3.93-3.93Zm3.93,5.24l1.31,1.31v18.33c-.44,1.75-1.53,2.84-3.27,3.27l-1.96-5.24v-13.75l3.93-3.93Z" />
<path
d="m525.22,239.96h-15.71l-5.24-1.96v-3.27h20.94l2.62,2.62-2.62,2.62Zm-15.71,1.31v12.44l-3.93,3.93-1.31-1.31v-17.02l5.24,1.96Zm0,21.6v13.75l-1.96,5.24c-1.75-.44-2.84-1.53-3.27-3.27v-18.33l1.31-1.31,3.93,3.93Zm17.02-7.2l2.62,2.62-2.62,2.62h-17.02l-2.62-2.62,2.62-2.62h17.02Zm0-1.96v-13.75l1.96-1.96,3.27,3.27v15.05l-1.31,1.31-3.93-3.93Z" />
<path
d="m538.31,257.64l-1.31-1.31v-18.33c.44-1.74,1.53-2.84,3.27-3.27l1.96,5.24v13.75l-3.93,3.93Zm3.93,5.24v13.75l-1.96,5.24c-1.75-.44-2.84-1.53-3.27-3.27v-18.33l1.31-1.31,3.93,3.93Zm1.31,13.75h15.71l5.24,1.96c-.44,1.75-1.53,2.84-3.27,3.27h-19.64l1.96-5.24Z" />
<path
d="m574.96,241.27v12.44l-3.93,3.93-1.31-1.31v-17.02l5.24,1.96Zm-5.24,36v-17.02l1.31-1.31,3.93,3.93v12.44l-5.24,1.96Zm24.87,4.58h-21.6c-1.75-.44-2.84-1.53-3.27-3.27l5.24-1.96h17.67l1.96,5.24Zm-1.96-41.89h-17.61l-5.24-1.96c.44-1.74,1.53-2.84,3.27-3.27h21.53l-1.96,5.24Zm-.65,15.71l2.62,2.62-2.62,2.62h-17.02l-2.62-2.62,2.62-2.62h17.02Z" />
<path
d="m636.49,257.64l-1.31-1.31v-15.05l3.27-3.27,1.96,1.96v13.75l-3.93,3.93Zm3.93,5.24v13.75l-1.96,1.96-3.27-3.27v-15.05l1.31-1.31,3.93,3.93Zm15.71-22.91h-14.4l-2.62-2.62,2.62-2.62h14.4l2.62,2.62-2.62,2.62Zm2.62,39.27l-2.62,2.62h-14.4l-2.62-2.62,2.62-2.62h14.4l2.62,2.62Zm-1.31-25.53v-13.75l1.96-1.96,3.27,3.27v15.05l-1.31,1.31-3.93-3.93Zm3.93,5.24l1.31,1.31v15.05l-3.27,3.27-1.96-1.96v-13.75l3.93-3.93Z" />
<path
d="m673.21,239.96l-5.24-1.96c.44-1.74,1.53-2.84,3.27-3.27h20.88c1.75.44,2.84,1.53,3.27,3.27l-5.24,1.96h-16.95Zm5.83,15.05v-13.75h5.24v13.75l-2.62,2.62-2.62-2.62Zm2.62,3.93l2.62,2.62v17.02c-.44,1.75-1.53,2.84-3.27,3.27l-1.96-5.24v-15.05l2.62-2.62Z" />
<path
d="m721.58,239.96h-15.71l-5.24-1.96v-3.27h20.95l2.62,2.62-2.62,2.62Zm-15.71,1.31v12.44l-3.93,3.93-1.31-1.31v-17.02l5.24,1.96Zm0,21.6v13.75l-1.96,5.24c-1.75-.44-2.84-1.53-3.27-3.27v-18.33l1.31-1.31,3.93,3.93Zm17.02-7.2l2.62,2.62-2.62,2.62h-17.02l-2.62-2.62,2.62-2.62h17.02Zm0-1.96v-13.75l1.96-1.96,3.27,3.27v15.05l-1.31,1.31-3.93-3.93Z" />
</g>
<g>
<path
d="m429.51,326.08h-3.62l-12.97-20.09-.4-.61c-.08-.12-.19-.3-.33-.52h-.11c.02.23.04.6.05,1.1s.02,1.13.02,1.91v18.21h-2.95v-25.21h3.83l12.62,19.78c.22.35.39.63.51.83s.25.44.4.71h.07c-.02-.35-.04-.83-.05-1.42s-.02-1.31-.02-2.14v-17.75h2.95v25.21Z" />
<path
d="m449.94,326.08h-2.88v-2.57h-.07c-.6.93-1.39,1.66-2.36,2.19s-2.04.8-3.19.8c-2.12,0-3.72-.62-4.81-1.85s-1.63-3.09-1.63-5.57v-11h2.87v10.69c0,1.85.33,3.19.98,4.01s1.72,1.23,3.18,1.23,2.7-.54,3.63-1.61,1.4-2.42,1.4-4.03v-10.28h2.88v18Z" />
<path
d="m475.71,323.41c-1.23.94-2.66,1.69-4.29,2.25s-3.36.84-5.2.84c-3.64,0-6.57-1.16-8.77-3.48s-3.3-5.39-3.3-9.21,1.1-7.21,3.3-9.67,5.13-3.69,8.8-3.69c2.21,0,4.12.45,5.71,1.35s2.81,2.17,3.64,3.8l-2.6,1.2c-.64-1.17-1.54-2.07-2.69-2.68s-2.5-.92-4.06-.92c-2.71,0-4.88.96-6.53,2.87s-2.47,4.42-2.47,7.51.83,5.67,2.49,7.48,3.86,2.72,6.6,2.72c1.21,0,2.37-.16,3.48-.47s2.1-.79,2.95-1.41v-6.15h-6.03v-2.67h8.98v10.34Z" />
<path
d="m495.57,317.59h-12.99c0,2.23.53,3.85,1.59,4.88s2.32,1.54,3.79,1.54c1.1,0,2.07-.25,2.91-.76s1.53-1.27,2.08-2.28l2.36,1.2c-.63,1.29-1.58,2.33-2.86,3.14s-2.83,1.2-4.68,1.2c-2.39,0-4.35-.79-5.88-2.37s-2.29-3.91-2.29-6.98c0-2.73.77-5,2.32-6.79s3.53-2.7,5.94-2.7,4.35.74,5.7,2.22,2.02,3.55,2.02,6.2v1.51Zm-2.95-2.41c0-1.56-.43-2.79-1.28-3.68s-2.03-1.34-3.53-1.34-2.64.48-3.56,1.44-1.47,2.16-1.64,3.59h10.02Z" />
<path
d="m508.93,324.94c-.53.53-1.11.91-1.74,1.16s-1.38.37-2.23.37c-1.42,0-2.51-.4-3.29-1.19s-1.16-1.92-1.16-3.4v-11.34h-3.09v-2.46h3.09v-4.25l2.88-.51v4.76h4.82v2.46h-4.82v11.09c0,.86.16,1.48.49,1.86s.84.58,1.55.58c.35,0,.69-.07,1.01-.21s.66-.41,1.01-.81l1.48,1.88Z" />
<path d="m520.87,326.08v-26.65h2.88v26.65h-2.88Z" />
<path
d="m530.76,304.02c-.62,0-1.12-.21-1.51-.62s-.58-.91-.58-1.47.19-1.05.58-1.47.89-.62,1.51-.62,1.12.21,1.51.62.58.91.58,1.47-.19,1.05-.58,1.47-.89.62-1.51.62Zm1.41,22.06h-2.88v-18h2.88v18Z" />
<path
d="m540.55,323.9h-.07v2.18h-2.88v-26.65h2.88v11.39h.07c.67-.98,1.52-1.76,2.57-2.32s2.23-.84,3.55-.84c2.44,0,4.34.81,5.71,2.42s2.06,3.82,2.06,6.64c0,2.96-.72,5.34-2.16,7.12s-3.46,2.67-6.05,2.67c-1.25,0-2.36-.23-3.33-.68s-1.75-1.09-2.35-1.92Zm-.07-7.68v2.51c0,1.46.5,2.71,1.49,3.74s2.3,1.54,3.92,1.54c1.79,0,3.17-.64,4.14-1.92s1.45-3.03,1.45-5.26-.46-3.79-1.38-4.95-2.17-1.73-3.75-1.73c-1.77,0-3.19.58-4.26,1.73s-1.61,2.6-1.61,4.33Z" />
<path
d="m567.9,310.79c-.28-.13-.58-.23-.91-.32s-.68-.12-1.08-.12c-1.29,0-2.33.62-3.14,1.85s-1.2,2.8-1.2,4.71v9.18h-2.88v-18h2.88v3.29h.07c.41-1.12,1.04-2.01,1.88-2.65s1.79-.96,2.83-.96c.48,0,.91.04,1.3.11s.83.23,1.32.47l-1.07,2.44Z" />
<path
d="m584.5,326.08h-2.88v-2.39h-.07c-.61.9-1.38,1.6-2.31,2.08s-1.96.73-3.08.73c-1.79,0-3.2-.48-4.21-1.44s-1.52-2.16-1.52-3.6c0-1.69.53-3,1.58-3.93s2.53-1.51,4.43-1.73l5.19-.6v-1.14c0-1.3-.34-2.28-1.01-2.93s-1.6-.98-2.77-.98-2.03.25-2.76.75-1.28,1.19-1.67,2.08l-2.51-1.04c.59-1.36,1.49-2.41,2.72-3.16s2.69-1.12,4.39-1.12c2.1,0,3.71.56,4.83,1.68s1.68,2.69,1.68,4.7v12.04Zm-2.88-7.31v-1.23l-4.99.56c-1.11.13-1.93.45-2.46.96s-.79,1.19-.79,2.03c0,.93.3,1.67.91,2.22s1.41.83,2.39.83c1.48,0,2.67-.51,3.58-1.52s1.36-2.3,1.36-3.86Z" />
<path
d="m598.79,310.79c-.28-.13-.58-.23-.91-.32s-.68-.12-1.08-.12c-1.29,0-2.33.62-3.14,1.85s-1.2,2.8-1.2,4.71v9.18h-2.88v-18h2.88v3.29h.07c.41-1.12,1.04-2.01,1.88-2.65s1.79-.96,2.83-.96c.48,0,.91.04,1.3.11s.83.23,1.32.47l-1.07,2.44Z" />
<path
d="m617.67,308.08l-8.84,22.34c-.56,1.41-1.31,2.45-2.23,3.12s-2.01,1.01-3.25,1.01c-.62,0-1.18-.06-1.67-.17s-.99-.3-1.49-.55l1.12-2.3c.35.18.69.31,1.03.4s.68.13,1.05.13c.59,0,1.09-.15,1.52-.45s.83-.91,1.22-1.82l1.58-3.74-7.03-17.96h3.2l4.73,12.99c.12.33.21.59.26.8s.13.49.23.85h.11c.07-.36.14-.65.22-.86s.17-.46.29-.76l4.97-13.03h2.99Z" />
</g>
</g>
<g>
<path class="timer-progress"
d="m337.38,211.88c-24.37,0-44.12,19.76-44.12,44.12s19.75,44.12,44.12,44.12c12.18,0,23.22-4.94,31.2-12.92" />
<g class="timer-digits">
<path
d="m317.35,271.43v-2.06c0-1.56.22-2.95.66-4.17s1.05-2.34,1.83-3.38c.8-1.03,1.75-2,2.86-2.92s2.34-1.86,3.68-2.85c1.11-.8,2.06-1.56,2.85-2.29s1.43-1.45,1.93-2.17.88-1.46,1.12-2.23.38-1.57.38-2.41c0-1.69-.47-2.97-1.41-3.84s-2.14-1.31-3.61-1.31-2.82.43-3.86,1.28-1.93,2.07-2.66,3.64l-4.45-1.92c1.14-2.41,2.66-4.27,4.56-5.58s4.2-1.97,6.9-1.97c2.91,0,5.3.83,7.18,2.5s2.82,4.02,2.82,7.07c0,1.23-.19,2.42-.57,3.55s-.92,2.18-1.61,3.15c-.7.98-1.52,1.92-2.44,2.8s-1.99,1.76-3.21,2.64c-1.16.86-2.17,1.61-3.05,2.25s-1.59,1.26-2.13,1.85c-.56.62-.96,1.23-1.2,1.8s-.35,1.21-.35,1.9h15.26v4.66h-21.49Z" />
<path
d="m355.23,271.43h-5.44v-27.47c-1,.67-2.1,1.27-3.29,1.8s-2.4.98-3.62,1.36l-1.41-4.48c1.88-.53,3.73-1.29,5.55-2.26s3.41-2.08,4.73-3.32h3.47v34.36Z" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.2 KiB

@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 512">
<defs>
<style>
.cls-1 {
stroke: #0e700e;
}
.cls-1,
.cls-2 {
fill: none;
stroke-linecap: round;
stroke-miterlimit: 10;
stroke-width: 12.69px;
}
.cls-2 {
opacity: .5;
stroke: #9fd89f;
}
.cls-3 {
fill: #0e700e;
}
.cls-4 {
fill: #242424;
}
@media (prefers-color-scheme: dark) {
.cls-1 {
stroke: #54b054;
}
.cls-2 {
stroke: #094509;
}
.cls-3 {
fill: #54b054;
}
.cls-4 {
fill: #ffffff;
}
}
</style>
</defs>
<circle class="cls-2" cx="412.24" cy="239.44" r="93.87" />
<g>
<path class="cls-4"
d="M461.84,211.45v-19.62l2.8-7.47c2.49.62,4.05,2.18,4.67,4.67v26.16l-1.87,1.87-5.6-5.6ZM467.44,217.99l1.87,1.87v26.16c-.62,2.49-2.18,4.05-4.67,4.67l-2.8-7.47v-19.62l5.6-5.6Z" />
<path class="cls-4"
d="M496.4,193.71v17.75l-5.6,5.6-1.87-1.87v-24.29l7.47,2.8ZM496.4,224.53v19.62l-2.8,7.47c-2.49-.62-4.05-2.18-4.67-4.67v-26.16l1.87-1.87,5.6,5.61ZM518.82,191.84h-22.33l-7.47-2.8c.62-2.49,2.18-4.05,4.67-4.67h27.93l-2.8,7.47ZM512.28,215.19l-3.74,3.74-3.74-3.74v-21.48h7.47v21.48ZM520.68,211.45v-19.62l2.8-7.47c2.49.62,4.05,2.18,4.67,4.67v26.16l-1.87,1.87-5.6-5.6ZM526.29,218.93l1.87,1.87v26.16c-.62,2.49-2.18,4.05-4.67,4.67l-2.8-7.47v-19.62l5.6-5.61Z" />
<path class="cls-4"
d="M577.66,191.84h-22.42l-7.47-2.8v-4.67h29.89l3.74,3.74-3.74,3.74ZM555.25,193.71v17.75l-5.6,5.6-1.87-1.87v-24.29l7.47,2.8ZM555.25,224.53v19.62l-2.8,7.47c-2.49-.62-4.05-2.18-4.67-4.67v-26.16l1.87-1.87,5.6,5.61ZM579.53,214.26l3.74,3.74-3.74,3.74h-24.29l-3.74-3.74,3.74-3.74h24.29ZM579.53,211.45v-19.62l2.8-2.8,4.67,4.67v21.48l-1.87,1.87-5.6-5.6Z" />
<path class="cls-4"
d="M608.49,217.06l-1.87-1.87v-26.16c.62-2.49,2.18-4.05,4.67-4.67l2.8,7.47v19.62l-5.6,5.6ZM614.09,224.53v19.62l-2.8,7.47c-2.49-.62-4.05-2.18-4.67-4.67v-26.16l1.87-1.87,5.6,5.61ZM615.96,244.15h22.42l7.47,2.8c-.62,2.49-2.18,4.05-4.67,4.67h-28.02l2.8-7.47Z" />
<path class="cls-4"
d="M672.94,193.71v17.75l-5.6,5.6-1.87-1.87v-24.29l7.47,2.8ZM665.47,245.08v-24.29l1.87-1.87,5.6,5.61v17.75l-7.47,2.8ZM700.97,251.62h-30.83c-2.49-.62-4.05-2.18-4.67-4.67l7.47-2.8h25.22l2.8,7.47ZM698.16,191.84h-25.13l-7.47-2.8c.62-2.49,2.18-4.05,4.67-4.67h30.73l-2.8,7.47ZM697.23,214.26l3.74,3.74-3.74,3.74h-24.29l-3.74-3.74,3.74-3.74h24.29Z" />
</g>
<path class="cls-1"
d="M412.24,145.57c-51.85,0-93.87,42.03-93.87,93.87s42.03,93.87,93.87,93.87c40.19,0,74.46-25.24,87.86-60.74" />
<path class="cls-4"
d="M394.28,200.33v28.6l-9.03,9.03-3.01-3.01v-39.14l12.04,4.52ZM434.92,293.66h-45.16c-4.02-1-6.52-3.51-7.53-7.53l12.04-4.52h36.13l4.52,12.04ZM394.43,197.32l-12.04-4.52c1-4.01,3.51-6.52,7.53-7.53h48.02c4.01,1,6.52,3.51,7.53,7.53l-12.04,4.52h-38.99ZM433.42,233.44l6.02,6.02-6.02,6.02h-39.14l-6.02-6.02,6.02-6.02h39.14ZM442.45,240.97l3.01,3.01v42.15c-1,4.01-3.51,6.52-7.53,7.53l-4.52-12.04v-31.61l9.03-9.03Z" />
<g>
<path class="cls-3" d="M574.97,273.46h-20.12v61.81h-11.94v-61.81h-20.07v-10.13h52.13v10.13Z" />
<path class="cls-3"
d="M597.55,310.24v25.04h-11.94v-71.95h22.18c8.26,0,14.61,1.93,19.04,5.79,4.43,3.86,6.65,9.42,6.65,16.68s-2.48,13.31-7.43,17.76c-4.95,4.45-11.62,6.67-20.02,6.67h-8.48ZM597.55,273.11v27.29h7.93c4.98,0,8.81-1.23,11.46-3.69,2.66-2.46,3.99-5.93,3.99-10.41s-1.25-7.59-3.74-9.83c-2.49-2.24-6.18-3.36-11.06-3.36h-8.58Z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

@@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="react-resume" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<defs>
<style>
.cls-1 {
fill: #fff;
}
.cls-2,
.cls-3,
.cls-4 {
fill: #ff7545;
}
.cls-3 {
stroke-width: 2.69px;
}
.cls-3,
.cls-5,
.cls-4 {
stroke: #242424;
}
.cls-3,
.cls-4 {
stroke-linecap: round;
stroke-linejoin: round;
}
.cls-5 {
fill: #00d8ff;
stroke-miterlimit: 10;
stroke-width: 1.84px;
}
.cls-4 {
stroke-width: 3.48px;
}
.cls-6 {
fill: #242424;
}
</style>
</defs>
<path class="cls-5"
d="M266.83,179.04c-2.7,0-5.39.06-8.08.2-.16-1.82-.35-3.61-.58-5.36-3.66-28.7-14.66-49.07-29.43-51.95-14.16-2.77-31.06,10.96-44.77,34.65-1.35,2.34-2.64,4.71-3.87,7.11-1.63-.76-3.28-1.49-4.94-2.18-26.69-11.17-49.83-11.8-59.71-.45-9.47,10.88-6.02,32.39,7.65,56.09,1.36,2.35,2.77,4.66,4.25,6.93-2.62,1.82-5.12,3.66-7.48,5.51-21.13,16.58-31.97,34.94-27.31,48.54,4.81,14.05,26.09,22.5,54.01,22.49,2.26,0,4.52-.06,6.78-.18.25,2.91.58,5.81.99,8.7,3.81,26.59,14.3,45.15,28.41,47.91,14.57,2.85,32.53-11.35,46.46-35.55,1.13-1.97,2.21-3.96,3.24-5.98,2.65,1.24,5.33,2.4,8.04,3.49,24.94,9.98,46.26,10.16,55.7-.68,9.75-11.2,6.41-33.85-7.6-58.01-1.1-1.89-2.24-3.76-3.43-5.59,1.29-.92,2.55-1.84,3.76-2.76,23.04-17.51,35.18-37.21,30.3-51.45s-25.01-21.43-52.38-21.48ZM282.72,243.81c-1.1.83-2.24,1.67-3.4,2.49-5.98-8.1-13.16-16.43-21.31-24.79,1.19-11.29,1.64-22.09,1.34-32.07,2.55-.12,5.04-.19,7.47-.18,23.45.04,39.9,6.33,42.71,14.56,3,8.76-6.92,24.87-26.81,39.98ZM279.72,265.45c6.19,10.68,10.06,20.93,11.33,29.54,1.14,7.74.09,13.52-2.6,16.61-5.73,6.58-22.84,6.44-44.17-2.1-2.52-1.01-5.02-2.09-7.48-3.25,4-9.17,7.6-19.48,10.74-30.63,10.62-4.72,20.43-9.86,29.08-15.24,1.07,1.66,2.11,3.35,3.1,5.06ZM200.4,340.96c-6.14,4.85-11.67,6.83-15.69,6.04-8.56-1.68-16.98-16.58-20.24-39.32-.38-2.69-.69-5.39-.92-8.09,9.99-1.12,20.77-3.17,32.06-6.04,9.29,6.68,18.64,12.54,27.69,17.38-.94,1.84-1.93,3.66-2.96,5.46-6.16,10.7-13.11,19.17-19.94,24.57ZM146.55,290.38c-12.35,0-23.15-1.78-31.25-4.99-7.27-2.89-11.75-6.7-13.07-10.58-2.83-8.25,5.87-22.99,23.95-37.18,2.19-1.72,4.52-3.43,6.96-5.13,6,8.25,13.02,16.63,20.85,24.84-1.16,11.46-1.58,22.55-1.24,32.86-2.06.11-4.13.16-6.19.16ZM131.97,212.02c-11.71-20.31-14.51-37.7-8.8-44.26,6.08-6.99,24.99-6.47,48.04,3.17,1.5.63,3,1.29,4.48,1.97-4.16,9.33-7.91,19.61-11.13,30.51-10.32,4.64-19.98,9.72-28.64,15.06-1.37-2.12-2.69-4.27-3.95-6.45h0ZM238.01,202.69c-3.53-3.07-7.12-6.06-10.77-8.98,7.55-1.56,14.89-2.72,21.9-3.46.19,6.93,0,14.31-.57,22-3.46-3.26-6.98-6.45-10.56-9.56ZM184.84,177.5c6.12,3.31,12.45,7.18,18.85,11.53-9.07,2.63-18.01,5.69-26.79,9.17,2.42-7.32,5.08-14.25,7.94-20.7ZM158.03,230.14c-.9,4.62-1.7,9.26-2.39,13.91-5.11-5.72-9.77-11.47-13.92-17.15,5.97-3.66,12.46-7.21,19.34-10.56-1.12,4.58-2.13,9.18-3.04,13.8h0ZM185,285.56c-7.71,1.71-15.09,2.99-22.04,3.79-.21-7.15-.05-14.71.5-22.53,3.41,3.26,6.89,6.43,10.44,9.53,3.65,3.18,7.36,6.25,11.1,9.2ZM227.64,301.65c-6.29-3.38-12.74-7.29-19.23-11.65,4.4-1.32,8.85-2.74,13.35-4.28s9.15-3.25,13.58-4.99c-2.36,7.51-4.94,14.52-7.7,20.92ZM256.33,234.63c5.39,5.87,10.24,11.67,14.44,17.33-6.06,3.75-12.74,7.39-19.91,10.84,1.1-4.62,2.1-9.26,3.01-13.92.93-4.73,1.75-9.49,2.46-14.26ZM243.83,246.93c-1.39,7.14-3.01,14.23-4.87,21.27-6.74,2.85-13.58,5.47-20.51,7.84-7.05,2.42-13.99,4.54-20.74,6.38-5.87-4.38-11.57-8.97-17.1-13.78h0c-5.5-4.78-10.81-9.77-15.92-14.95.86-7.23,1.99-14.43,3.39-21.57h0c1.4-7.15,3.06-14.24,5-21.26,6.57-2.82,13.39-5.45,20.37-7.84h0c7.02-2.4,14.03-4.5,20.95-6.3,5.79,4.37,11.42,8.94,16.89,13.7,5.49,4.77,10.83,9.72,16,14.84-.89,7.27-2.05,14.5-3.46,21.68ZM226.78,131.96c9.09,1.78,18.08,18.42,21.24,43.2.2,1.58.37,3.2.52,4.86-10.15,1.05-20.91,2.93-31.95,5.59-9.26-6.74-18.48-12.59-27.35-17.35,1.14-2.22,2.33-4.41,3.58-6.57,11.75-20.29,25.42-31.4,33.95-29.73ZM198.95,219.08c11.18-3.83,23.34,2.13,27.17,13.31s-2.13,23.34-13.31,27.17-23.34-2.13-27.17-13.31c-3.83-11.18,2.13-23.34,13.31-27.17Z" />
<g>
<g>
<path class="cls-2"
d="M415.18,307.98c-4.63,0-9.18-.87-13.52-2.59-9.54-3.77-19.72-12.28-26.58-22.19-4.41-6.39-11.14-18.8-6.63-30.23,5.19-13.13,23.69-19.01,39.73-19.01,7.46,0,14.69,1.23,20.35,3.47,9.11,3.6,16.28,10.53,20.19,19.49,3.91,8.97,4.08,18.9.49,27.98-5.54,14.02-18.9,23.08-34.03,23.08Z" />
<path class="cls-6"
d="M408.18,232.61v2.69s0,0,0,0c7.3,0,14.35,1.2,19.85,3.37,8.78,3.47,15.69,10.14,19.45,18.78,3.76,8.64,3.93,18.21.47,26.95-5.34,13.51-18.21,22.24-32.78,22.24-4.46,0-8.84-.84-13.03-2.49-9.3-3.68-19.25-12-25.97-21.71-7.25-10.49-9.61-21.05-6.48-28.97,4.96-12.55,22.9-18.16,38.48-18.16v-2.69M408.18,232.61c-17.26,0-35.63,6.33-40.98,19.86-7.69,19.46,14.43,46.44,33.96,54.16,4.61,1.82,9.35,2.68,14.01,2.68,15.12,0,29.4-9.06,35.28-23.93,7.69-19.46-1.91-41.49-21.44-49.21-5.95-2.35-13.29-3.56-20.84-3.56h0Z" />
</g>
<ellipse class="cls-6" cx="405.86" cy="262.07" rx="6.14" ry="3.49"
transform="translate(-53.83 410.7) rotate(-50.77)" />
<path class="cls-6"
d="M378.42,255.53c-2.77,4.15-7.76,6.56-12.77,6.61-.2-3.75.41-7.38,2.07-10.84,1.85-3.9,4.93-7.26,8.84-10.1,4.26,3.46,5.16,9.35,1.86,14.32Z" />
<path class="cls-3"
d="M453.98,252.72c26.23,11.8,45.16,24.83,54.16,39.52-29.57.75-50.34,2.96-59.23,7.15,9.59-14.32,10.91-29.93,5.07-46.67Z" />
</g>
<g>
<g>
<path class="cls-2"
d="M163.55,445.26c-19.39,0-48.43-3.17-76.73-18.3-35.4-18.92-59.9-51.34-72.84-96.35-8.2-28.54-9.29-53.77-3.23-74.99,16.14-56.48,78.32-68.37,89.89-68.37.2,0,.37,0,.52,0-.5,1.25-1.58,3.53-2.72,5.9-6.11,12.79-18.81,39.4-23.78,72.8-7.64,51.25,3.3,123.52,97.45,179.08-2.33.12-5.22.22-8.57.22Z" />
<path class="cls-6"
d="M98.52,189.05c-.48,1.03-1.04,2.21-1.6,3.38-6.14,12.86-18.93,39.63-23.93,73.28-7.58,50.86,2.92,122.2,93.34,177.83-.89.01-1.82.02-2.79.02-19.19,0-47.94-3.14-75.93-18.1-34.98-18.7-59.2-50.77-72.01-95.32-8.11-28.22-9.2-53.14-3.23-74.05,8.33-29.17,29.18-45.52,45.2-54.11,17.62-9.44,34.06-12.39,40.93-12.93M100.65,185.55c-13.35,0-75.24,12.61-91.53,69.6-5.6,19.62-5.81,44.49,3.23,75.93,30.23,105.17,115.83,115.88,151.2,115.88,6.94,0,11.96-.41,14.23-.6-96.74-54.86-109.48-126.1-101.42-180.14,6.75-45.37,28.14-78.64,26.72-79.93.46-.45-.45-.73-2.43-.73h0Z" />
</g>
<g>
<path class="cls-1"
d="M11.11,254.39c16.68-55.43,78.04-67.14,89.53-67.14.2,0,.37,0,.52,0-.5,1.25-1.58,3.53-2.72,5.9-6.05,12.68-18.59,38.93-23.65,71.93l-25.77,12.89-37.93-23.58Z" />
<path class="cls-6"
d="M98.52,189.05c-.48,1.03-1.04,2.21-1.6,3.38-6.04,12.64-18.48,38.7-23.66,71.53l-24.13,12.08-36.01-22.39c8.77-27.65,28.9-43.32,44.47-51.67,17.62-9.44,34.06-12.39,40.93-12.93M100.65,185.55c-13.35,0-75.24,12.61-91.53,69.6l39.83,24.77,27.4-13.71c6.75-45.37,28.14-78.64,26.72-79.93.46-.45-.45-.73-2.43-.73h0Z" />
</g>
</g>
<path class="cls-4"
d="M379.42,322.71c-9.63-29.77-32.58-51.84-61.11-62.73,30.46,53.1,18.51,117.22-26.78,143.37-43.49,25.11-101.92,6.07-133.73-42.35-.24,10.62.98,21.45,4.66,31.92,14.53,41.42,32.55,74.76,108.48,74.76,98.36,0,126.25-90.08,108.48-144.97Z" />
</svg>

After

Width:  |  Height:  |  Size: 6.9 KiB

+63
View File
@@ -0,0 +1,63 @@
import { ImageExport } from "../assets";
import adminSkills from "./skills/admin-skills.svg";
import architectureSkills from "./skills/architecture-skills.svg";
import databasesSkills from "./skills/databases-skills.svg";
import designSkills from "./skills/design-skills.svg";
import devopsSkills from "./skills/devops-skills.svg";
import dotnetSkills from "./skills/dotnet-skills.svg";
import nodejsSkills from "./skills/nodejs-skills.svg";
export const admin: ImageExport =
{
src: adminSkills,
alt: "Illustration of a server rack with various servers and panels, some displaying graphs and lights, and a large orange fox wrapped around one of the servers, that displays a message saying \"kernel panic\" and \"rebooting\". Below is a laptop with system logs that read: \"rf -rf / in progress\"."
};
export const architecture: ImageExport =
{
src: architectureSkills,
alt: "Cartoon fox draws in a blueprint. Behind him on the left is a chalkboard with a drawing that reads: \"coffee + imaination = magic\". On the right is a drafting table, and a laptop with stickers. The stickers say: \"This is a server, do not turn off\""
};
export const databases: ImageExport =
{
src: databasesSkills,
alt: "Cartoon fox balancing on a warehouse shelf with different boxes, that have database logos on them (Redis, SQL Server, Mongo, Postgres and MySQL). The shelf is about to crash onto .NET bot, who is relaxed in a chair."
};
export const design: ImageExport =
{
src: designSkills,
alt: "Illustration of a fox wearing a blue beret, painting on a canvas that reads has a green \"Click me\" button, surrounded by colorful paw prints and two paint cans, one labeled \"Ps\", and the other having Figma logo on it."
};
export const devops: ImageExport =
{
src: devopsSkills,
alt: "An orange fox wearing a construction helmet, using a laptop. Behind him is a production line that features Git, unit tests and Docker. There's a wrench falling from one of the containers onto fox's head."
};
export const dotnet: ImageExport =
{
src: dotnetSkills,
alt: "Cartoon fox looking cautiously at .NET bot"
};
export const nodejs: ImageExport =
{
src: nodejsSkills,
alt: "Cartoon fox lifted by balloons representing TypeScript, JavaScript, and React, with a laptop below."
};
const skills =
{
nodejs,
dotnet,
architecture,
databases,
design,
devops,
admin,
};
export default skills;
@@ -0,0 +1,361 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="admin-skills" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600">
<defs>
<style>
.cls-1 {
font-size: 6px;
}
.cls-1,
.cls-2,
.cls-3,
.cls-4 {
fill: #fff;
}
.cls-1,
.cls-3,
.cls-4 {
font-family: Consolas, Consolas;
}
.cls-5,
.cls-6,
.cls-7,
.cls-8,
.cls-9,
.cls-10,
.cls-11,
.cls-12,
.cls-13 {
stroke-miterlimit: 10;
}
.cls-5,
.cls-6,
.cls-7,
.cls-8,
.cls-9,
.cls-11,
.cls-12,
.cls-13 {
stroke: #000;
}
.cls-5,
.cls-10 {
fill: none;
}
.cls-6 {
fill: red;
}
.cls-7 {
fill: #f15a24;
}
.cls-8 {
fill: #22b573;
}
.cls-14,
.cls-15 {
fill: #ff7545;
}
.cls-16 {
opacity: .8;
}
.cls-17,
.cls-11 {
fill: #666;
}
.cls-9 {
fill: #b3b3b3;
}
.cls-18 {
fill: #939598;
}
.cls-10 {
stroke: #fff;
stroke-width: 2px;
}
.cls-19 {
opacity: .86;
}
.cls-12 {
fill: #0071bc;
}
.cls-3 {
font-size: 8px;
}
.cls-20 {
fill: #242424;
}
.cls-15 {
stroke: #242424;
stroke-linecap: round;
stroke-linejoin: round;
stroke-width: 1.58px;
}
.cls-13 {
fill: #4d4d4d;
}
.cls-4 {
font-size: 10.87px;
}
</style>
</defs>
<g id="server" class="cls-19">
<rect id="rack" class="cls-11" x="367.78" y="87.68" width="188.93" height="358.09" />
<g id="fans">
<rect class="cls-11" x="367.78" y="307.56" width="188.93" height="44.21" />
<circle class="cls-13" cx="417.35" cy="329.66" r="11.12" />
<circle class="cls-13" cx="387.67" cy="329.66" r="11.12" />
<circle class="cls-13" cx="447.02" cy="329.66" r="11.12" />
<circle class="cls-13" cx="506.36" cy="329.66" r="11.12" />
<circle class="cls-13" cx="476.69" cy="329.66" r="11.12" />
<circle class="cls-13" cx="536.03" cy="329.66" r="11.12" />
</g>
<g id="apu">
<line class="cls-5" x1="475.74" y1="376.66" x2="500.41" y2="376.66" />
<line class="cls-5" x1="475.74" y1="383.72" x2="500.41" y2="383.72" />
<line class="cls-5" x1="475.74" y1="390.78" x2="500.41" y2="390.78" />
<line class="cls-5" x1="475.74" y1="397.83" x2="500.41" y2="397.83" />
<line class="cls-5" x1="515.3" y1="376.66" x2="539.96" y2="376.66" />
<line class="cls-5" x1="515.3" y1="383.72" x2="539.96" y2="383.72" />
<line class="cls-5" x1="515.3" y1="390.78" x2="539.96" y2="390.78" />
<line class="cls-5" x1="515.3" y1="397.83" x2="539.96" y2="397.83" />
<circle class="cls-13" cx="397.91" cy="390.78" r="13.61" />
<circle class="cls-13" cx="436.85" cy="390.78" r="13.61" />
</g>
<g id="unit1">
<rect class="cls-11" x="367.78" y="101.64" width="188.93" height="44.21" />
<circle class="cls-6" cx="538.8" cy="115.25" r="4.65" />
<circle class="cls-6" cx="538.8" cy="128.4" r="4.65" />
<line class="cls-5" x1="511.26" y1="111.41" x2="523.35" y2="111.41" />
<line class="cls-5" x1="511.26" y1="117.58" x2="523.35" y2="117.58" />
<line class="cls-5" x1="511.26" y1="123.74" x2="523.35" y2="123.74" />
<line class="cls-5" x1="511.26" y1="129.91" x2="523.35" y2="129.91" />
<line class="cls-5" x1="511.26" y1="136.07" x2="523.35" y2="136.07" />
<rect class="cls-9" x="490.81" y="109.78" width="9.66" height="28.27" />
<rect class="cls-9" x="435.58" y="109.78" width="44.44" height="11.28" />
<rect class="cls-9" x="435.58" y="126.77" width="44.44" height="11.28" />
<rect class="cls-9" x="380.35" y="126.77" width="44.44" height="11.28" />
<rect class="cls-9" x="380.35" y="109.78" width="44.44" height="11.28" />
</g>
<g id="unit2">
<rect class="cls-11" x="367.78" y="145.85" width="188.93" height="44.21" />
<circle class="cls-6" cx="538.8" cy="159.46" r="4.65" />
<circle class="cls-6" cx="538.8" cy="172.6" r="4.65" />
<line class="cls-5" x1="511.26" y1="155.62" x2="523.35" y2="155.62" />
<line class="cls-5" x1="511.26" y1="161.79" x2="523.35" y2="161.79" />
<line class="cls-5" x1="511.26" y1="167.95" x2="523.35" y2="167.95" />
<line class="cls-5" x1="511.26" y1="174.12" x2="523.35" y2="174.12" />
<line class="cls-5" x1="511.26" y1="180.28" x2="523.35" y2="180.28" />
<rect class="cls-9" x="490.81" y="153.99" width="9.66" height="28.27" />
<rect class="cls-9" x="435.58" y="153.99" width="44.44" height="11.28" />
<rect class="cls-9" x="435.58" y="170.98" width="44.44" height="11.28" />
<rect class="cls-9" x="380.35" y="170.98" width="44.44" height="11.28" />
<rect class="cls-9" x="380.35" y="153.99" width="44.44" height="11.28" />
</g>
<g id="monitor">
<rect x="386.11" y="201.46" width="152.27" height="94.7" />
<polyline class="cls-10"
points="500.06 219.32 504 219.32 505.89 218.24 507.25 220.38 509.68 219.27 530.7 219.27" />
<polyline class="cls-10" points="532.4 231.24 500.06 231.24 500.06 206.59" />
<text class="cls-3" transform="translate(394.9 286.16)">
<tspan x="0" y="0">kernel panic</tspan>
</text>
</g>
</g>
<g id="server-2" data-name="server" class="cls-16">
<rect id="rack-2" data-name="rack" class="cls-11" x="81.83" y="88.89" width="157.92" height="314.64" />
<g id="fans-2" data-name="fans">
<rect class="cls-11" x="81.83" y="282.09" width="157.92" height="38.84" />
<ellipse class="cls-13" cx="123.26" cy="301.51" rx="9.29" ry="9.77" />
<ellipse class="cls-13" cx="98.46" cy="301.51" rx="9.29" ry="9.77" />
<ellipse class="cls-13" cx="148.06" cy="301.51" rx="9.29" ry="9.77" />
<ellipse class="cls-13" cx="197.66" cy="301.51" rx="9.29" ry="9.77" />
<ellipse class="cls-13" cx="172.86" cy="301.51" rx="9.29" ry="9.77" />
<ellipse class="cls-13" cx="222.46" cy="301.51" rx="9.29" ry="9.77" />
</g>
<g id="apu-2" data-name="apu">
<line class="cls-5" x1="172.07" y1="342.8" x2="192.69" y2="342.8" />
<line class="cls-5" x1="172.07" y1="349.01" x2="192.69" y2="349.01" />
<line class="cls-5" x1="172.07" y1="355.21" x2="192.69" y2="355.21" />
<line class="cls-5" x1="172.07" y1="361.41" x2="192.69" y2="361.41" />
<line class="cls-5" x1="205.13" y1="342.8" x2="225.75" y2="342.8" />
<line class="cls-5" x1="205.13" y1="349.01" x2="225.75" y2="349.01" />
<line class="cls-5" x1="205.13" y1="355.21" x2="225.75" y2="355.21" />
<line class="cls-5" x1="205.13" y1="361.41" x2="225.75" y2="361.41" />
<ellipse class="cls-13" cx="107.02" cy="355.21" rx="11.38" ry="11.96" />
<ellipse class="cls-13" cx="139.56" cy="355.21" rx="11.38" ry="11.96" />
</g>
<g id="unit1-2" data-name="unit1">
<rect class="cls-11" x="81.83" y="101.15" width="157.92" height="38.84" />
<ellipse class="cls-8" cx="224.78" cy="113.11" rx="3.89" ry="4.09" />
<ellipse class="cls-12" cx="224.78" cy="124.67" rx="3.89" ry="4.09" />
<line class="cls-5" x1="201.75" y1="109.74" x2="211.87" y2="109.74" />
<line class="cls-5" x1="201.75" y1="115.16" x2="211.87" y2="115.16" />
<line class="cls-5" x1="201.75" y1="120.58" x2="211.87" y2="120.58" />
<line class="cls-5" x1="201.75" y1="125.99" x2="211.87" y2="125.99" />
<line class="cls-5" x1="201.75" y1="131.41" x2="211.87" y2="131.41" />
<rect class="cls-9" x="184.66" y="108.31" width="8.07" height="24.84" />
<rect class="cls-9" x="138.5" y="108.31" width="37.15" height="9.92" />
<rect class="cls-9" x="138.5" y="123.23" width="37.15" height="9.92" />
<rect class="cls-9" x="92.33" y="123.23" width="37.15" height="9.92" />
<rect class="cls-9" x="92.33" y="108.31" width="37.15" height="9.92" />
</g>
<g id="unit2-2" data-name="unit2">
<rect class="cls-11" x="81.83" y="140" width="157.92" height="38.84" />
<ellipse class="cls-8" cx="224.78" cy="151.96" rx="3.89" ry="4.09" />
<ellipse class="cls-7" cx="224.78" cy="163.51" rx="3.89" ry="4.09" />
<line class="cls-5" x1="201.75" y1="148.59" x2="211.87" y2="148.59" />
<line class="cls-5" x1="201.75" y1="154" x2="211.87" y2="154" />
<line class="cls-5" x1="201.75" y1="159.42" x2="211.87" y2="159.42" />
<line class="cls-5" x1="201.75" y1="164.84" x2="211.87" y2="164.84" />
<line class="cls-5" x1="201.75" y1="170.26" x2="211.87" y2="170.26" />
<rect class="cls-9" x="184.66" y="147.15" width="8.07" height="24.84" />
<rect class="cls-9" x="138.5" y="147.15" width="37.15" height="9.92" />
<rect class="cls-9" x="138.5" y="162.08" width="37.15" height="9.92" />
<rect class="cls-9" x="92.33" y="162.08" width="37.15" height="9.92" />
<rect class="cls-9" x="92.33" y="147.15" width="37.15" height="9.92" />
</g>
<g id="monitor-2" data-name="monitor">
<rect x="97.15" y="188.86" width="127.28" height="83.21" />
<polyline class="cls-10"
points="192.4 204.56 198.59 204.56 202.59 196.96 205.45 211.45 210.12 204.51 218.01 204.51" />
<polyline class="cls-10" points="219.43 215.03 192.4 215.03 192.4 193.37" />
<text class="cls-3" transform="translate(104.5 263.29) scale(.95 1)">
<tspan x="0" y="0">kernel panic</tspan>
</text>
</g>
</g>
<g id="server-3" data-name="server">
<rect id="rack-3" data-name="rack" class="cls-11" x="188.86" y="107.88" width="219.79" height="416.57" />
<g id="fans-3" data-name="fans">
<rect class="cls-11" x="188.86" y="363.67" width="219.79" height="51.43" />
<circle class="cls-13" cx="246.52" cy="389.38" r="12.93" />
<circle class="cls-13" cx="212.01" cy="389.38" r="12.93" />
<circle class="cls-13" cx="281.04" cy="389.38" r="12.93" />
<circle class="cls-13" cx="350.07" cy="389.38" r="12.93" />
<circle class="cls-13" cx="315.56" cy="389.38" r="12.93" />
<circle class="cls-13" cx="384.59" cy="389.38" r="12.93" />
</g>
<g id="apu-3" data-name="apu">
<line class="cls-5" x1="314.46" y1="444.06" x2="343.15" y2="444.06" />
<line class="cls-5" x1="314.46" y1="452.27" x2="343.15" y2="452.27" />
<line class="cls-5" x1="314.46" y1="460.48" x2="343.15" y2="460.48" />
<line class="cls-5" x1="314.46" y1="468.69" x2="343.15" y2="468.69" />
<line class="cls-5" x1="360.47" y1="444.06" x2="389.17" y2="444.06" />
<line class="cls-5" x1="360.47" y1="452.27" x2="389.17" y2="452.27" />
<line class="cls-5" x1="360.47" y1="460.48" x2="389.17" y2="460.48" />
<line class="cls-5" x1="360.47" y1="468.69" x2="389.17" y2="468.69" />
<circle class="cls-13" cx="223.92" cy="460.48" r="15.83" />
<circle class="cls-13" cx="269.21" cy="460.48" r="15.83" />
</g>
<g id="unit1-3" data-name="unit1">
<rect class="cls-11" x="188.86" y="124.12" width="219.79" height="51.43" />
<circle class="cls-8" cx="387.81" cy="139.95" r="5.41" />
<circle class="cls-12" cx="387.81" cy="155.24" r="5.41" />
<line class="cls-5" x1="355.77" y1="135.48" x2="369.85" y2="135.48" />
<line class="cls-5" x1="355.77" y1="142.66" x2="369.85" y2="142.66" />
<line class="cls-5" x1="355.77" y1="149.83" x2="369.85" y2="149.83" />
<line class="cls-5" x1="355.77" y1="157" x2="369.85" y2="157" />
<line class="cls-5" x1="355.77" y1="164.18" x2="369.85" y2="164.18" />
<rect class="cls-9" x="331.98" y="133.59" width="11.23" height="32.89" />
<rect class="cls-9" x="267.73" y="133.59" width="51.7" height="13.13" />
<rect class="cls-9" x="267.73" y="153.35" width="51.7" height="13.13" />
<rect class="cls-9" x="203.48" y="153.35" width="51.7" height="13.13" />
<rect class="cls-9" x="203.48" y="133.59" width="51.7" height="13.13" />
</g>
<g id="unit2-3" data-name="unit2">
<rect class="cls-11" x="188.86" y="175.55" width="219.79" height="51.43" />
<circle class="cls-8" cx="387.81" cy="191.38" r="5.41" />
<circle class="cls-7" cx="387.81" cy="206.67" r="5.41" />
<line class="cls-5" x1="355.77" y1="186.91" x2="369.85" y2="186.91" />
<line class="cls-5" x1="355.77" y1="194.09" x2="369.85" y2="194.09" />
<line class="cls-5" x1="355.77" y1="201.26" x2="369.85" y2="201.26" />
<line class="cls-5" x1="355.77" y1="208.43" x2="369.85" y2="208.43" />
<line class="cls-5" x1="355.77" y1="215.61" x2="369.85" y2="215.61" />
<rect class="cls-9" x="331.98" y="185.02" width="11.23" height="32.89" />
<rect class="cls-9" x="267.73" y="185.02" width="51.7" height="13.13" />
<rect class="cls-9" x="267.73" y="204.78" width="51.7" height="13.13" />
<rect class="cls-9" x="203.48" y="204.78" width="51.7" height="13.13" />
<rect class="cls-9" x="203.48" y="185.02" width="51.7" height="13.13" />
</g>
<g id="monitor-3" data-name="monitor">
<rect x="210.19" y="240.24" width="177.14" height="110.17" />
<polyline class="cls-10"
points="342.75 261.02 351.37 261.02 356.94 250.96 360.91 270.14 367.41 260.95 378.39 260.95" />
<polyline class="cls-10" points="380.37 274.89 342.75 274.89 342.75 246.21" />
<text class="cls-4" transform="translate(220.42 338.13)">
<tspan x="0" y="0">srv3:~$ reboot!!!</tspan>
</text>
</g>
</g>
<g>
<path class="cls-14"
d="M269.92,290.98c-8.46-2.67-30.38-10.55-51.94-26.4-16.04-11.79-28.74-25.62-37.76-41.1-11.27-19.34-16.79-41.35-16.43-65.41.35-22.9,7.7-40.7,21.85-52.89,12.55-10.81,29.91-16.53,50.19-16.53,21.66,0,44.51,6.46,64.74,18.26-15.11.38-33.11,5.69-48.54,14.37-18.43,10.36-31.11,24.37-35.7,39.45-9.48,31.12,6.37,65.66,21.33,89.16,12.51,19.65,26.5,35.06,32.26,41.09Z" />
<path class="cls-20"
d="M235.83,89.64c20.43,0,41.93,5.8,61.25,16.43-14.5,1.04-31.13,6.23-45.54,14.33-18.66,10.49-31.5,24.71-36.17,40.03-7.59,24.92-.17,56.04,21.44,89.98,10.9,17.11,22.92,31.03,29.69,38.37-10.09-3.49-29.18-11.23-47.99-25.07-15.91-11.71-28.51-25.44-37.46-40.8-11.16-19.17-16.64-40.99-16.27-64.86.34-22.61,7.58-40.15,21.5-52.15,12.37-10.65,29.5-16.28,49.54-16.28M235.83,87.64c-38.94,0-72.3,21.25-73.04,70.4-1.63,106.37,110.52,134.98,110.52,134.98,0,0-74.16-72.46-56.03-132,9.99-32.81,55.63-53.14,85.03-53.14.63,0,1.26,0,1.88.03-21.14-13.08-45.69-20.27-68.36-20.27h0Z" />
</g>
<g>
<path class="cls-14"
d="M412.44,361.47c-30.08,0-57.85-10.03-67.03-23.76,2.53.8,5.67,1.01,8.26,1.01,15.09,0,37.55-6.63,51.31-19.3,10.54-9.7,14.78-21.89,12.25-35.25-1.01-5.3-3.41-9.82-7.56-14.19v-43.51c4.92,2.9,9.86,5.63,14.65,8.27,30.97,17.09,57.72,31.85,56.16,79.62-.99,30.06-26.89,40.63-42.25,44.26-7.96,1.89-16.63,2.84-25.78,2.84Z" />
<path class="cls-20"
d="M410.65,228.21c4.43,2.58,8.86,5.02,13.17,7.4,30.69,16.93,57.19,31.56,55.64,78.72-.38,11.54-4.55,21.22-12.4,28.75-7.06,6.77-16.84,11.68-29.08,14.57-7.88,1.87-16.48,2.81-25.55,2.81-15.06,0-30.28-2.63-42.86-7.4-9.79-3.72-17.27-8.49-21.72-13.77,1.96.32,4.01.43,5.81.43,15.28,0,38.04-6.72,51.98-19.56,10.81-9.95,15.15-22.46,12.55-36.17-1.02-5.38-3.42-9.97-7.54-14.4v-41.37M408.65,224.71v45.67c3.79,3.91,6.51,8.33,7.58,13.97,2.76,14.57-2.8,25.92-11.94,34.33-14.14,13.03-36.86,19.04-50.63,19.04-5.16,0-9.06-.84-10.79-2.48,7.47,16.21,38.65,27.23,69.56,27.23,8.88,0,17.74-.91,26.01-2.87,23.49-5.55,42.18-19.57,43.02-45.2,1.86-56.72-36.08-67.71-72.81-89.69h0Z" />
</g>
<g>
<g>
<path class="cls-14"
d="M248.77,236.59c-11.95,0-26.01-9.68-31.63-18.72-3.65-5.87-4.81-12.81-3.26-19.53,1.55-6.72,5.62-12.43,11.47-16.07,4.08-2.54,8.77-3.88,13.56-3.88,9.01,0,17.23,4.57,22,12.23,3.82,6.13,6.01,15.21,5.74,23.69-.18,5.47-1.58,15.34-8.96,19.93-2.51,1.56-5.51,2.35-8.92,2.35Z" />
<path class="cls-20"
d="M238.9,179.18c8.73,0,16.71,4.43,21.33,11.86,7.21,11.58,8.75,35.24-2.97,42.53-2.38,1.48-5.24,2.23-8.5,2.23-11.69,0-25.45-9.49-30.96-18.35-3.54-5.69-4.66-12.41-3.16-18.93,1.5-6.52,5.45-12.05,11.12-15.57,3.96-2.46,8.5-3.76,13.14-3.76M238.9,177.6c-4.79,0-9.62,1.29-13.98,4-12.46,7.75-16.25,24.18-8.46,36.69,6.06,9.74,20.38,19.09,32.31,19.09,3.39,0,6.58-.75,9.34-2.47,12.46-7.75,11.26-32.2,3.47-44.7-5.06-8.13-13.77-12.61-22.67-12.61h0Z" />
</g>
<ellipse class="cls-20" cx="246.62" cy="209.44" rx="4.31" ry="2.45"
transform="translate(-72.75 261.29) rotate(-49.56)" />
<path class="cls-20"
d="M254.59,227.55c-2.51,2.43-3.55,6.18-2.96,9.64,2.61-.34,5.04-1.21,7.22-2.79,2.46-1.77,4.39-4.32,5.85-7.37-2.92-2.5-7.1-2.39-10.12.52Z" />
<path class="cls-15"
d="M247.02,175.06c-11.44-16.62-22.81-28.04-34.08-32.4,3.2,20.49,4.29,35.11,2.52,41.77,8.67-8.42,19.28-11.29,31.57-9.37Z" />
</g>
<g>
<path class="cls-2"
d="M412.44,361.47c-30.08,0-57.85-10.03-67.03-23.76,2.53.8,5.67,1.01,8.26,1.01,14.96,0,37.17-6.51,50.95-18.97l23.36,3.66,9.25,35.45c-7.68,1.73-16.01,2.61-24.78,2.61Z" />
<path class="cls-20"
d="M404.93,320.8l22.24,3.49,8.82,33.81c-7.33,1.57-15.24,2.36-23.55,2.36-15.06,0-30.28-2.63-42.86-7.4-9.79-3.72-17.27-8.49-21.72-13.77,1.96.32,4.01.43,5.81.43,15.02,0,37.27-6.49,51.26-18.91M404.29,318.68c-14.14,13.03-36.86,19.04-50.63,19.04-5.16,0-9.06-.84-10.79-2.48,7.47,16.21,38.65,27.23,69.56,27.23,8.88,0,17.74-.91,26.01-2.87l-9.67-37.08-24.48-3.84h0Z" />
</g>
<g>
<g>
<rect x="373.65" y="470.47" width="81.29" height="51.69" />
<path class="cls-18"
d="M454.44,470.97v50.69h-80.29v-50.69h80.29M455.44,469.97h-82.29v52.69h82.29v-52.69h0Z" />
</g>
<g>
<polygon class="cls-17" points="361.4 541.47 373.42 523.16 455.17 523.16 467.19 541.47 361.4 541.47" />
<path class="cls-18"
d="M454.9,523.66l11.36,17.31h-103.93l11.36-17.31h81.21M455.44,522.66h-82.29l-12.68,19.31h107.64l-12.68-19.31h0Z" />
</g>
<text class="cls-1" transform="translate(375.79 477.37)">
<tspan x="0" y="0">OwOS v4.11.0</tspan>
<tspan x="0" y="14.4">$ ansible exec</tspan>
<tspan x="0" y="21.6">srv1: rm -rf / ... OK</tspan>
<tspan x="0" y="28.8">srv2: rm -rf / ... OK</tspan>
<tspan x="0" y="36">srv3: rm -rf / ...</tspan>
</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

@@ -0,0 +1,475 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="architecture-skills" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600">
<defs>
<style>
.cls-1 {
stroke-dasharray: 12;
}
.cls-1,
.cls-2,
.cls-3,
.cls-4,
.cls-5,
.cls-6,
.cls-7,
.cls-8,
.cls-9,
.cls-10,
.cls-11,
.cls-12,
.cls-13,
.cls-14,
.cls-15,
.cls-16 {
stroke-width: 2px;
}
.cls-1,
.cls-2,
.cls-3,
.cls-4,
.cls-5,
.cls-6,
.cls-7,
.cls-8,
.cls-9,
.cls-10,
.cls-11,
.cls-12,
.cls-14,
.cls-16 {
stroke-linecap: round;
stroke-linejoin: round;
}
.cls-1,
.cls-5,
.cls-10,
.cls-13 {
stroke: #fff;
}
.cls-1,
.cls-5,
.cls-10,
.cls-13,
.cls-15 {
fill: none;
}
.cls-2 {
fill: #f9c;
}
.cls-2,
.cls-3,
.cls-4,
.cls-6,
.cls-7,
.cls-8,
.cls-9,
.cls-11,
.cls-12,
.cls-14,
.cls-15,
.cls-16 {
stroke: #242424;
}
.cls-3 {
fill: #f7931e;
}
.cls-4 {
fill: #754c24;
}
.cls-17,
.cls-18 {
fill: #fff;
}
.cls-19,
.cls-20 {
font-family: FreestyleScript-Regular, 'Freestyle Script';
}
.cls-19,
.cls-18 {
font-size: 12px;
}
.cls-21 {
fill: #ff7545;
}
.cls-5 {
stroke-dasharray: 11.51 11.51;
}
.cls-6 {
fill: #cc6;
}
.cls-20 {
font-size: 9.23px;
}
.cls-7 {
fill: #a67c52;
}
.cls-8 {
fill: #006837;
}
.cls-9,
.cls-22 {
fill: #666;
}
.cls-11,
.cls-23 {
fill: #69f;
}
.cls-12 {
fill: #999;
}
.cls-24 {
fill: #fcee21;
}
.cls-25 {
fill: #939598;
}
.cls-13,
.cls-15 {
stroke-miterlimit: 10;
}
.cls-18 {
font-family: Y14.5M-2009, Y14.5M-2009;
}
.cls-14 {
fill: #fcdaad;
}
.cls-26 {
fill: #242424;
}
.cls-27,
.cls-16 {
fill: #fbb03b;
}
.cls-28 {
opacity: .69;
}
.frame {
stroke: #424242;
}
@media (prefers-color-scheme: dark) {
.frame {
stroke: #d6d6d6;
}
}
</style>
</defs>
<g class="cls-28">
<g>
<rect class="cls-4" x="71.52" y="171.63" width="225.88" height="139.67" />
<rect class="cls-8" x="80.19" y="181.78" width="208.56" height="119.37" />
<path class="cls-17"
d="M91.53,231.03c.58,7.3.92,14.62,1.03,21.94.02,1.45,2.27,1.45,2.25,0-.1-7.32-.44-14.64-1.03-21.94-.11-1.43-2.37-1.45-2.25,0h0Z" />
<path class="cls-17"
d="M95.47,255.15c3.81-.59,7.68-.64,11.53-.69,1.45-.02,1.45-2.27,0-2.25-4.06.06-8.11.15-12.13.77-.6.09-.93.85-.79,1.38.18.64.78.88,1.38.79h0Z" />
<path class="cls-17"
d="M107.94,229.55c.36,7.76.61,15.52.76,23.29.03,1.45,2.28,1.45,2.25,0-.15-7.77-.4-15.53-.76-23.29-.07-1.44-2.32-1.45-2.25,0h0Z" />
<path class="cls-17"
d="M94.03,231.96c4.39-.63,8.76-1.4,13.1-2.32,1.42-.3.82-2.47-.6-2.17-4.34.92-8.71,1.69-13.1,2.32-.6.09-.93.85-.79,1.38.18.65.78.87,1.38.79h0Z" />
<path class="cls-17"
d="M110.91,232.64c.16.3-.11.12.08.05.09-.04.19-.15.28-.21.34-.22.71-.41,1.08-.56.56-.23,1.43-.61,2-.24s.74,1.14.87,1.76c.17.8.33,1.62.32,2.44-.01,1.58-1.18,2.72-2.25,3.73-1.22,1.15-2.57,2.16-3.92,3.16-.49.36-.73.97-.4,1.54.28.48,1.05.77,1.54.4,1.89-1.4,3.85-2.81,5.43-4.58.74-.83,1.42-1.78,1.7-2.88.32-1.27.1-2.58-.13-3.85-.2-1.12-.51-2.21-1.29-3.07-.83-.91-2-1.18-3.19-.96-1.89.34-5.38,1.94-4.06,4.41.68,1.28,2.63.14,1.94-1.14h0Z" />
<path class="cls-17"
d="M90.78,264.97c-1.29-.41-3.37-.68-4.11.77-.33.64-.46,1.41-.57,2.12-.11.74-.18,1.48-.16,2.23.03,1.38.23,2.91,1.23,3.94.94.97,2.38,1.28,3.67,1.02,1.44-.29,2.64-1.43,3.31-2.7.28-.54.14-1.22-.4-1.54-.51-.3-1.26-.14-1.54.4s-.49.84-.96,1.21c.07-.05.05-.03-.07.04-.07.05-.14.09-.21.13-.1.06-.21.12-.32.17.12-.05-.2.06-.24.07-.05.01-.4.06-.21.05-.52.04-.84-.03-1.19-.24-.31-.19-.49-.46-.62-.92-.16-.56-.19-1.07-.21-1.71s.03-1.3.14-1.93c.06-.34.14-.68.24-1.02.01-.04.13-.31.11-.36,0,.05-.02.08-.06.11-.24.11-.26.14-.07.09-.13-.02.21,0,.23,0,.19,0,.38,0,.57.03.22.03.56.12.82.2.58.18,1.23-.22,1.38-.79.17-.61-.2-1.2-.79-1.38h0Z" />
<path class="cls-17"
d="M93.27,266.04c-.23,1.52-.15,3.08.4,4.53.25.66.57,1.33,1.11,1.8.64.56,1.46.79,2.29.6,1.65-.38,2.4-2.06,2.4-3.61s-.5-3.15-1.89-3.92c-.83-.46-1.81-.51-2.65-.06-.78.42-1.33,1.29-1.29,2.18.02.59.5,1.15,1.12,1.12.59-.03,1.15-.5,1.12-1.12,0,.01,0-.15,0-.16-.05.01.02.28,0,.07-.01-.15.13.02-.03.05,0,0,.05-.09.06-.1.06-.13-.14.14-.03.04.04-.03.08-.07.11-.11.08-.09-.06.06-.07.05,0,0,.16-.09.17-.1.13-.08-.19.05-.05.02.05,0,.21-.03.04-.02-.19,0,.16-.01.19,0-.05-.04-.19-.05-.05,0,.05.02.11.03.16.05.17.05-.03-.01-.03-.01,0,0,.14.07.15.08.03.02.12.06.14.1-.14-.17-.06-.05-.03-.01.07.08.19.16.24.25,0,0-.1-.17-.05-.05.03.06.07.11.1.16s.06.11.09.17c.08.14-.08-.24.01.03.07.21.12.42.16.64s0,.02,0-.02c0,.06.01.13.02.19.01.14.02.28.02.43,0,.11,0,.22,0,.33,0,.06-.01.13-.02.19,0-.05.04-.23,0-.02-.02.11-.05.22-.08.32-.02.06-.04.12-.06.18-.04.11.09-.14-.02.03-.03.05-.07.11-.1.16-.02.03-.1.12-.01.02.1-.11-.02.02-.05.04-.04.04-.08.08-.12.12-.1.09.06-.05.06-.05,0,0-.12.08-.14.09-.18.12.03,0,.04,0-.05.04-.14.04-.2.06-.14.06.21,0,.06,0-.04,0-.08,0-.12,0-.23.01.05-.01.05.01,0-.03-.15-.01-.16-.04,0-.01.25.14.05.02-.02-.01-.13-.08-.13-.08.01,0,.16.14.07.06-.05-.05-.1-.09-.14-.14-.03-.03-.08-.08-.1-.12.01.02.14.21.03.03-.05-.08-.1-.16-.15-.25-.01-.02-.1-.25-.13-.26.04,0,.08.2.02.04-.03-.08-.06-.16-.09-.24-.1-.29-.19-.59-.25-.89-.03-.15-.06-.3-.09-.45,0-.01-.03-.18,0-.05.02.15-.01-.13-.02-.16-.03-.31-.04-.61-.03-.92,0-.14.01-.27.02-.41,0-.07.01-.14.02-.2.02-.25-.03.16.01-.11.09-.58-.15-1.24-.79-1.38-.54-.12-1.29.16-1.38.79h0Z" />
<path class="cls-17"
d="M103.68,260.77c-1.35-.72-2.99.08-3.4,1.54-.45,1.56.38,3.25,1,4.65.92,2.08,2.59,5.28.55,7.26-1.04,1.01.55,2.6,1.59,1.59,1.77-1.71,1.88-4.41,1.18-6.64-.4-1.29-1.03-2.49-1.55-3.73-.25-.6-.55-1.29-.63-1.94-.03-.26,0-.45.07-.69.05-.18.25,0,.05-.1,1.28.68,2.41-1.26,1.14-1.94h0Z" />
<path class="cls-17"
d="M101.55,269.04c.42-.32.88-.58,1.37-.79l-.27.11c.51-.21,1.04-.35,1.59-.43l-.3.04c.2-.03.4-.04.61-.05.59-.03,1.15-.5,1.12-1.12-.03-.59-.5-1.15-1.12-1.12-1.47.06-2.95.54-4.13,1.43-.24.18-.43.37-.52.67-.07.27-.04.63.11.87s.39.45.67.52.63.06.87-.11h0Z" />
<path class="cls-17"
d="M108.89,259.4c-1.6.06-2.23,1.51-1.99,2.93.26,1.54.77,3.06,1.16,4.57s.87,3.06,1.16,4.62c.19,1.01.23,2.59-1.02,2.92-1.4.37-.81,2.54.6,2.17,1.23-.32,2.12-1.28,2.53-2.46.46-1.32.19-2.76-.13-4.08-.36-1.45-.74-2.9-1.12-4.35-.2-.77-.4-1.55-.6-2.32-.1-.39-.2-.77-.3-1.16-.04-.15-.08-.31-.11-.46.06-.23,0-.27-.19-.13,1.44-.05,1.45-2.3,0-2.25h0Z" />
<path class="cls-17"
d="M107.8,268.79c.3-.2.62-.37.95-.52l-.27.11c.46-.19.95-.33,1.45-.4l-.3.04c.11-.01.22-.03.33-.03.3-.02.58-.11.8-.33.2-.2.34-.52.33-.8s-.11-.59-.33-.8-.5-.35-.8-.33c-1.17.09-2.31.44-3.29,1.1-.24.16-.44.38-.52.67-.07.27-.04.63.11.87s.39.45.67.52.62.05.87-.11h0Z" />
<path class="cls-17"
d="M114.32,268.58l1.59-1.5c.49-.46,1.11-.92,1.4-1.55.2-.44.28-.92.08-1.37s-.56-.81-1.05-.94c-.7-.19-1.47.08-2.08.41-1.06.59-1.92,1.7-2.14,2.9-.14.79-.08,1.55.07,2.33.14.7.35,1.46.9,1.95.67.6,1.53.77,2.4.64.77-.12,1.45-.56,2.07-1,.48-.34.75-1,.4-1.54-.31-.48-1.02-.77-1.54-.4-.19.13-.37.26-.56.38-.1.06-.21.13-.32.18-.05.02-.09.04-.14.07-.1.06.13-.03-.07.03-.09.03-.19.05-.28.08-.23.06.04-.02.05,0,0,0-.12,0-.13,0-.04,0-.09,0-.13,0-.18,0,.04-.03.05.01,0,0-.36-.1-.19-.04.15.05-.02-.02-.05-.03-.13-.05.08.04.06.06,0,0-.08-.08-.09-.09-.1-.08.06.14,0,0-.02-.04-.05-.09-.07-.12,0,.01.06.17.02.05s-.08-.24-.11-.37c-.06-.23-.1-.45-.14-.68,0-.03-.03-.22,0-.03,0-.05-.01-.11-.02-.17-.01-.15-.02-.29-.02-.44,0-.06,0-.11,0-.16,0,0,0-.19,0-.07s0-.06.02-.09c0-.04.02-.08.03-.12.02-.08.04-.16.07-.24.01-.04.03-.12.06-.16-.04.06-.08.16-.01.04.1-.18.2-.34.31-.51-.11.16-.03.04.04-.04.08-.08.16-.16.24-.24s.2-.14.04-.04c.08-.05.16-.11.25-.16.07-.04.18-.14.26-.14,0,0-.2.07-.07.03.07-.02.13-.05.2-.07.04-.01.2-.08.24-.06,0,0-.23.03-.1.02s-.13-.03-.17-.05c-.25-.11-.44-.42-.41-.7,0-.04.12-.26.04-.15-.01.02-.11.19-.03.07.07-.11,0,0-.02.02-.05.06-.11.11-.16.16-.11.11-.23.22-.34.32l-.64.61-1.37,1.29c-.43.4-.44,1.19,0,1.59.46.42,1.13.43,1.59,0h0Z" />
<path class="cls-17"
d="M120.94,267.85c1.09-.58,1.99-1.43,2.66-2.46.42-.63-.02-1.44-.67-1.65-1.18-.38-2.48-.04-3.4.78-1.02.91-1.25,2.38-1.01,3.67.12.66.41,1.3.73,1.89.29.53.62,1.13,1.1,1.51,1.19.94,2.75.29,3.96-.28s2.25-1.39,3.1-2.38c.38-.45.47-1.16,0-1.59-.42-.39-1.18-.48-1.59,0-.77.91-1.44,1.43-2.49,1.95-.13.07-.27.13-.41.19.17-.07-.22.08-.25.09-.25.09-.5.16-.75.23-.08.02-.15.04-.23.05.11-.02.09-.02-.05-.01.06,0,.11,0,.16.04.07.07.08.08.02.02-.04-.03-.08-.07-.11-.11.06.09.06.09-.02-.02-.09-.13-.17-.26-.25-.39-.15-.25-.3-.5-.43-.77-.12-.24-.19-.44-.28-.78-.01-.04-.07-.47-.06-.27,0-.11-.01-.23-.01-.34,0-.08,0-.15.01-.23-.02.11-.02.1,0-.04.03-.15.07-.29.12-.43-.07.18.07-.1.08-.13.08-.12.08-.13,0-.02.04-.05.08-.1.13-.14.05-.05.09-.09.14-.13-.1.08-.1.08,0,0,.11-.06.22-.14.34-.19-.23.1.07,0,.1-.02.06-.02.13-.03.19-.04-.14.02-.14.02-.01,0,.13,0,.26,0,.39,0-.28-.03.12.05.17.06l-.67-1.65s-.2.3-.17.25c.05-.06-.13.15-.15.19-.16.18-.32.35-.5.51-.08.07-.17.15-.25.22.15-.12-.09.07-.12.09-.21.15-.43.28-.66.4-.52.28-.72,1.04-.4,1.54.34.53.98.7,1.54.4h0Z" />
<path class="cls-17"
d="M131.77,243.61c2.08-.4,4.13-.6,6.34-.59.59,0,1.15-.52,1.12-1.12s-.49-1.12-1.12-1.12c-2.33,0-4.65.23-6.93.68-.58.11-.96.84-.79,1.38.2.62.76.91,1.38.79h0Z" />
<path class="cls-17"
d="M136.06,237.96l-.26-.23c-.72-.64-1.9-.22-1.92.8-.04,2.77.23,5.54.78,8.26.12.6.83.94,1.38.79.62-.17.91-.79.79-1.38-.51-2.52-.74-5.09-.7-7.66l-1.92.8.26.23c.45.4,1.14.45,1.59,0,.41-.41.46-1.19,0-1.59h0Z" />
<path class="cls-17"
d="M149.49,250.11c-1.07-.11-.39-5.53-.28-6.16.41-2.37,1.58-4.5,2.83-6.52,2.26-3.67,5.09-7.16,9.07-9.04s8.59-2,12.81-1.15,8.34,2.64,10.63,6.55c2.7,4.61,2.33,10.15.87,15.1-.41,1.39,1.76,1.99,2.17.6,1.54-5.24,1.86-10.97-.63-15.98s-6.98-7.26-12.03-8.36-10.3-.92-14.95,1.29-8.12,6.7-10.67,11.17c-1.62,2.85-2.52,5.77-2.58,9.06-.04,2.17-.05,5.38,2.75,5.68,1.44.15,1.43-2.1,0-2.25h0Z" />
<path class="cls-17"
d="M149.16,253.08c1.98.38,3.87.41,5.86.04s3.83-1.05,5.68-1.74c.57-.21.96-.76.79-1.38-.15-.55-.81-1-1.38-.79-1.73.64-3.47,1.27-5.28,1.65-1.7.36-3.36.37-5.07.04-.6-.11-1.21.17-1.38.79-.15.55.19,1.27.79,1.38h0Z" />
<path class="cls-17"
d="M176.57,251.72c3.14-.56,6.39-.6,9.54-.12.6.09,1.21-.15,1.38-.79.15-.53-.18-1.29-.79-1.38-3.58-.55-7.17-.52-10.74.12-.6.11-.94.84-.79,1.38.17.63.78.89,1.38.79h0Z" />
<path class="cls-17"
d="M159.94,249.09l-.41.37,1.92.8c.26-2.91,1.77-6.82,5.35-6.47.89.09,1.76.32,2.65.37.76.04,1.64-.06,2.34.29,1.46.74,1.2,2.97,1.11,4.29-.1,1.44,2.15,1.44,2.25,0,.15-2.18.05-4.63-1.9-6.02-.88-.63-1.97-.74-3.02-.78-1.17-.04-2.28-.3-3.43-.4-2.08-.19-4.09.85-5.39,2.44-1.46,1.78-2,4.03-2.21,6.28-.09,1.04,1.26,1.39,1.92.8l.41-.37c1.08-.97-.52-2.56-1.59-1.59h0Z" />
<path class="cls-17"
d="M157.27,251.47c-.65-2.56,1.42-5.5,2.86-7.46,1.62-2.21,3.85-4.07,6.6-4.6s5.57.84,7.72,2.37c1.17.84,1.28,2.24,1.42,3.57.17,1.63.18,3.27.08,4.91-.09,1.45,2.16,1.44,2.25,0,.13-2.01.06-4.02-.21-6.02-.23-1.69-.68-3.16-2.12-4.21-2.64-1.93-6.08-3.39-9.38-2.85s-6.09,2.76-8.08,5.41-4.15,6.11-3.29,9.48c.36,1.4,2.53.81,2.17-.6h0Z" />
<path class="cls-17"
d="M152.59,252.82c.39-7.6,5.15-14.68,12-17.96,1.08-.52,2.26-1.01,3.46-1.14s2.32.24,3.4.71c1.79.78,3.63,1.69,5.13,2.96s2.47,2.82,2.62,4.8c.17,2.18-.16,4.37.62,6.47.5,1.35,2.68.76,2.17-.6-.71-1.91-.39-3.89-.54-5.87-.14-1.76-.67-3.36-1.75-4.77-2.04-2.66-5.52-4.51-8.66-5.55-3.61-1.19-7.44.65-10.4,2.68-2.79,1.91-5.16,4.42-6.92,7.31-2.03,3.32-3.19,7.09-3.39,10.97-.07,1.45,2.18,1.44,2.25,0h0Z" />
<path class="cls-17"
d="M151.33,253.77c-.54-7.05,2.23-14.2,7.62-18.84,3.21-2.76,6.96-3.36,11.06-2.82,1.86.25,4.03.45,5.76,1.2,1.63.7,3.07,2.54,4.17,3.89,2.95,3.62,2.37,8.66,2.51,13.06.05,1.44,2.3,1.45,2.25,0-.14-4.28.38-9.34-2.03-13.11-1.12-1.75-2.67-3.46-4.26-4.8-1.7-1.43-3.83-1.73-5.95-2.11-4.33-.78-8.83-1.04-12.73,1.35-3.41,2.08-6.14,5.39-7.95,8.92-2.09,4.09-3.05,8.69-2.7,13.27.11,1.43,2.36,1.45,2.25,0h0Z" />
<path class="cls-17"
d="M144.04,265.15c.06,2.67.51,5.34,1.35,7.88.19.58.78.95,1.38.79.56-.16.98-.8.79-1.38-.79-2.39-1.21-4.79-1.27-7.29-.01-.61-.51-1.12-1.12-1.12s-1.14.51-1.12,1.12h0Z" />
<path class="cls-17"
d="M142.07,262.03s0,.08,0,.12c.01.13.03.27.05.4s.07.24.12.36.09.23.16.33.15.21.24.31c.03.03.05.06.08.09.1.11.22.19.36.23.13.07.28.1.43.1.15,0,.3-.03.43-.1.14-.05.26-.12.36-.23l.18-.23c.1-.18.15-.36.15-.57l-.04-.3c-.05-.19-.15-.36-.29-.5-.04-.04-.08-.08-.11-.12l.18.23c-.06-.08-.11-.16-.14-.24l.11.27c-.04-.09-.06-.18-.07-.27l.04.3c0-.06,0-.11,0-.17,0-.15-.03-.3-.1-.43-.05-.14-.12-.26-.23-.36-.1-.11-.22-.19-.36-.23-.13-.07-.28-.1-.43-.1l-.3.04c-.19.05-.36.15-.5.29l-.18.23c-.1.18-.15.36-.15.57h0Z" />
<path class="cls-17"
d="M148.79,266.13c.54,2.45,1.16,4.88,1.86,7.28.16.53.68.89,1.23.81.5-.08,1.04-.54.98-1.1-.12-1.1-.25-2.2-.37-3.3-.1-.89-.25-1.85,0-2.72.04-.13.2-.37.21-.5.09-.12.03-.11-.17.04-.09.1-.19.13-.3.08-.1.07-.16-.17.03.06.26.32.49.63.68,1,.4.78.58,1.64.57,2.51-.01,1.25,1.92,1.55,2.21.3.17-.74.39-1.46.66-2.17.1-.26.21-.52.33-.77.14-.31.37-.62.49-.94-.04.04-.04.03.02-.02.1-.09.05-.07-.15.06-.17.04-.32,0-.45-.11.09.09.11.12.08.07.06.19.28.52.39.76.31.67.56,1.36.78,2.06.43,1.38,2.61.79,2.17-.6-.32-1.02-.71-2.02-1.19-2.98s-1.38-1.72-2.49-1.34c-.98.34-1.41,1.46-1.79,2.34-.43.98-.77,1.99-1.02,3.03l2.21.3c.01-1.34-.33-2.67-.99-3.84-.34-.6-.78-1.25-1.38-1.62-.7-.43-1.61-.45-2.24.14-.99.93-1.1,2.58-1.01,3.84.1,1.44.31,2.89.48,4.32l2.21-.3c-.71-2.4-1.33-4.83-1.86-7.28-.13-.59-.82-.94-1.38-.79-.61.17-.92.79-.79,1.38h0Z" />
<path class="cls-17"
d="M162.41,263.4c-2.18.99-3.3,3.51-2.72,5.8.3,1.17,1.15,2.62,2.56,2.5,1.32-.11,2.07-1.3,2.6-2.38.63-1.26.96-2.86.09-4.1-.28-.4-.77-.68-1.27-.52-.46.15-.84.58-.83,1.08.04,1.42.31,2.82.82,4.14.21.55.76.99,1.38.79.53-.17,1.01-.8.79-1.38s-.42-1.21-.55-1.83c-.03-.15-.06-.29-.08-.44-.01-.07-.02-.15-.03-.22.02.12,0,.04,0-.04-.04-.34-.06-.67-.07-1.01l-2.1.57c.07.11.14.21.2.33-.1-.24.02.14.03.19-.06-.26,0,.12,0,.19,0,.06-.06.45,0,.19-.05.24-.12.48-.21.71.07-.2-.09.19-.11.22-.06.13-.13.26-.2.38-.13.23-.26.45-.4.67.13-.2-.03.03-.06.06-.05.06-.33.25-.11.12-.05.03-.1.06-.15.09.14-.06.16-.07.04-.03.17-.02.18-.02.06-.02.09,0,.16.01.24.06-.11-.07-.1-.06.01.03-.04-.04-.09-.08-.13-.13.18.17-.02-.04-.06-.1-.06-.1-.11-.2-.16-.31.1.22-.05-.16-.07-.2-.04-.13-.07-.26-.1-.39-.01-.07-.02-.13-.03-.2.02.13.02.13,0,0,0-.24-.01-.47.01-.71-.03.26.04-.15.05-.2.03-.13.08-.25.11-.38.05-.12.04-.12,0,.01.03-.06.05-.11.08-.17.06-.11.12-.22.18-.32.05-.08.1-.15.16-.23-.16.22.09-.09.12-.13.08-.09.17-.18.27-.26.05-.04.09-.08.14-.12-.11.08-.11.08,0,0,.21-.13.42-.26.65-.36.54-.24.71-1.06.4-1.54-.36-.56-.96-.66-1.54-.4h0Z" />
<path class="cls-17"
d="M171.49,263.91c-.46-.87-1.59-1.1-2.41-.61-.69.41-1.21,1.16-1.55,1.87-.69,1.42-.87,3.09-.42,4.61.23.77.6,1.69,1.31,2.14.85.54,1.95.23,2.6-.46.6-.63.96-1.57,1.2-2.4.28-.94.38-1.94.33-2.91l-2.21.3c.52,1.67,1.07,3.33,1.55,5.01.26.9.66,2.74-.63,3.08-1.4.37-.81,2.54.6,2.17,2.04-.54,2.75-2.71,2.47-4.61-.16-1.06-.53-2.08-.85-3.1s-.65-2.1-.98-3.14c-.36-1.17-2.28-1.02-2.21.3.06,1.03-.08,2.04-.49,3-.1.22-.21.48-.35.67l-.03.05c-.14.13-.16.16-.08.08.26.16.36.17.28.03-.06-.1-.11-.19-.16-.29-.08-.16-.14-.33-.19-.51-.21-.72-.22-1.48-.04-2.2.1-.4.25-.76.46-1.11.08-.13.26-.3.32-.44.06-.04.1-.09.12-.15-.23.03-.43-.04-.6-.24.68,1.28,2.62.14,1.94-1.14h0Z" />
<path class="cls-17"
d="M175.65,264.3c-.51-.25-1.11-.24-1.53.2-.28.3-.44.74-.42,1.15.04.64.2,1.31.35,1.93.29,1.21.7,2.37,1.19,3.51.23.54,1.07.71,1.54.4.56-.36.65-.96.4-1.54-.05-.12-.05-.12,0,0-.03-.06-.05-.12-.07-.18-.04-.09-.07-.18-.11-.27-.08-.21-.16-.43-.24-.64-.14-.4-.26-.81-.38-1.21s-.21-.82-.29-1.24c-.05-.22-.09-.45-.12-.67-.02-.1-.03-.19-.05-.29.04.29-.05.64-.36.77l-.57.15h.04c-.19-.05-.38-.1-.57-.15l.05.02c.53.26,1.24.16,1.54-.4.27-.5.16-1.27-.4-1.54h0Z" />
<path class="cls-17"
d="M173.54,260.17s-.03-.03-.04-.05c-.07-.06-.16-.14-.24-.19,0,0-.02-.01-.03-.02s-.02,0-.03-.01c-.08-.04-.19-.09-.28-.12-.07-.02-.14-.03-.21-.04-.06,0-.14-.03-.21-.02-.01,0-.02,0-.03,0-.08,0-.23.02-.31.04-.07.02-.12.04-.19.07-.06.03-.13.05-.19.09-.17.1-.3.23-.4.4-.08.13-.13.27-.13.42-.03.15-.03.3.02.45.05.19.15.36.29.5.37.42.75.83,1.12,1.25.1.11.22.19.36.23.13.07.28.1.43.1.15,0,.3-.03.43-.1.14-.05.26-.12.36-.23.2-.21.34-.5.33-.8l-.04-.3c-.05-.19-.15-.36-.29-.5-.37-.42-.75-.83-1.12-1.25l-.23,1.77s.04-.02.06-.03l-.27.11s.04-.01.06-.02l-.3.04s.06,0,.1,0l-.3-.04s.05.01.08.02l-.27-.11s.04.02.06.03l-.23-.18s.04.03.06.06c.1.11.22.19.36.23.13.07.28.1.43.1.15,0,.3-.03.43-.1.14-.05.26-.12.36-.23.2-.21.34-.5.33-.8l-.04-.3c-.05-.19-.15-.36-.29-.5h0Z" />
<path class="cls-17"
d="M177.72,265.06c.38.94.67,1.92.83,2.92,0,.04.06.41.03.19.01.11.03.22.04.33.03.26.04.51.05.77.02.52,0,1.03-.03,1.55-.04.56.46,1.04.98,1.1.57.08,1.05-.27,1.23-.81.15-.45.3-.89.45-1.34.19-.56-.22-1.25-.79-1.38-.62-.14-1.18.19-1.38.79-.15.45-.3.89-.45,1.34l2.21.3c.16-2.15-.18-4.36-1-6.36-.22-.54-.76-.99-1.38-.79-.52.17-1.02.8-.79,1.38h0Z" />
<path class="cls-17"
d="M181.57,265.01c.1-.11.19-.21.29-.31.05-.05.11-.1.16-.15.09-.09-.17.09,0,0,.03-.02.24-.13.08-.06-.17.07.07-.03.1-.02l-.13.02c.1,0,.1,0,0-.01-.1-.02-.1-.02,0,0l.07.02s-.23-.16-.04,0c.11.09-.19-.2-.02-.02.04.05.09.09.13.14.1.09-.14-.22,0,0,.07.11.14.23.2.35.02.03.11.25.04.09s.02.07.03.09c.12.33.22.67.3,1.01.04.17.08.34.11.51.01.07.02.14.04.21,0,0,.04.3.03.16s.01.14.02.16c0,.09.02.17.02.26.01.17.02.35.02.52,0,.37,0,.73-.04,1.1-.05.59.55,1.15,1.12,1.12.65-.03,1.07-.5,1.12-1.12.15-1.73-.08-3.67-.87-5.24-.36-.72-1.01-1.39-1.83-1.54-1.05-.19-1.88.38-2.55,1.13-.39.44-.47,1.16,0,1.59.43.39,1.17.47,1.59,0h0Z" />
<path class="cls-17"
d="M190.51,261.89c-.62-.64-1.49-.63-2.26-.29-.59.26-1.02.76-1.4,1.26-.68.91-1.03,2.06-1.08,3.19s.29,2.53,1.09,3.41c.53.58,1.37.81,2.12.55s1.25-.82,1.56-1.51c.32-.74.57-1.51.84-2.27s.54-1.5.81-2.26l-2.21-.3c-.06,1.24.21,2.43.7,3.56.24.54,1.07.71,1.54.4.56-.36.66-.96.4-1.54.08.17-.04-.12-.06-.15-.04-.11-.07-.21-.11-.32-.07-.24-.13-.48-.17-.72-.01-.06-.02-.11-.03-.17.01.09.01.1,0,.02,0-.11-.02-.23-.03-.34-.01-.25-.01-.49,0-.74.03-.56-.45-1.03-.98-1.1-.58-.08-1.04.27-1.23.81-.36,1-.72,2.01-1.08,3.01-.09.25-.18.5-.27.75-.04.1-.08.2-.11.3-.04.12,0,0,.01-.02-.03.06-.06.13-.09.19-.05.09-.1.19-.16.27.11-.14,0-.03-.02,0,.01-.01.16-.09.05-.04-.04.02-.08.05-.12.07.01-.01.18-.06.06-.03-.13.03.07,0,.08,0-.14,0-.05,0,.04.02.01,0,.17.09.06.02-.14-.08.13.11,0,0-.09-.08.01.02.03.04-.03-.04-.05-.08-.08-.12-.05-.08-.09-.16-.13-.24-.02-.04-.04-.08-.06-.12.04.08.05.15.01.02-.06-.18-.12-.36-.17-.55-.02-.09-.03-.17-.05-.26-.03-.14.01.08,0,.08-.02-.02-.01-.15-.02-.18-.01-.19-.02-.38,0-.57,0-.09.02-.18.02-.26,0-.13-.01.07-.01.08.01-.07.02-.15.04-.22.03-.17.08-.35.13-.51.03-.08.06-.17.09-.25.04-.12-.03.05-.03.06.03-.07.06-.13.09-.2.09-.18.2-.36.31-.53.02-.04.05-.07.08-.11-.05.07-.1.11-.01.02.08-.09.15-.18.24-.26.03-.03.06-.06.1-.09.02-.02.17-.13.05-.05s.01,0,.03-.01c.05-.03.1-.06.16-.09-.04.02-.21.06-.02.02.15-.03.02,0-.05,0,.08-.01.11.05,0,0-.09,0-.16-.03-.22-.09-.16-.11-.19-.12-.09-.03.41.42,1.18.44,1.59,0s.44-1.14,0-1.59h0Z" />
<path class="cls-17"
d="M195.47,264.87l2.16.54c.29.07.61.04.87-.11.23-.14.46-.4.52-.67.07-.29.05-.61-.11-.87s-.38-.44-.67-.52c-.72-.18-1.44-.36-2.16-.54-.29-.07-.61-.04-.87.11-.23.14-.46.4-.52.67-.07.29-.05.61.11.87s.38.44.67.52h0Z" />
<path class="cls-17"
d="M158.31,278.15l.04-.06-1.27.52.08.02-.5-.29c-.24-.22-.1.04-.08.21s.04.35.06.52c.04.38.07.77.1,1.15.06.77.1,1.54.14,2.31.08,1.57.18,3.13.42,4.68.11.7.16,1.58.68,2.13.57.6,1.45.59,2.15.27,1.16-.53,2.12-1.63,2.64-2.77.25-.55.16-1.21-.4-1.54-.48-.28-1.29-.15-1.54.4-.21.46-.46.87-.81,1.23-.17.17-.35.33-.55.47-.06.04-.31.15-.34.21.05-.1.54.48.6.39.07-.1-.17-.84-.19-.96-.05-.31-.1-.63-.14-.94-.08-.66-.13-1.32-.18-1.98-.09-1.33-.13-2.66-.24-3.98-.05-.69-.13-1.38-.22-2.07-.1-.73-.29-1.38-1.08-1.6-.5-.14-1,.1-1.27.52l-.04.06c-.79,1.22,1.15,2.34,1.94,1.14h0Z" />
<path class="cls-17"
d="M157.86,285.81c.3-.18.6-.35.91-.51.08-.04.17-.08.25-.12.08-.04.28-.08-.01,0,.16-.05.33-.13.49-.19.65-.23,1.31-.39,1.99-.48l-.3.04h.07c.31-.05.57-.11.8-.34.2-.2.34-.52.33-.8s-.11-.59-.33-.8c-.2-.19-.51-.37-.8-.33-1.61.21-3.15.7-4.53,1.57-.5.31-.74,1.02-.4,1.54s1,.74,1.54.4h0Z" />
<path class="cls-17"
d="M163.43,281.87c-.32,1.34-.1,2.83.69,3.98.17.24.38.44.67.52.27.07.63.04.87-.11.48-.31.76-1.02.4-1.54-.16-.22-.29-.46-.39-.71l.11.27c-.13-.32-.22-.64-.26-.98l.04.3c-.04-.34-.04-.68,0-1.02l-.04.3c.02-.13.04-.27.08-.4.07-.29.04-.61-.11-.87-.14-.23-.4-.46-.67-.52-.58-.13-1.24.17-1.38.79h0Z" />
<path class="cls-17"
d="M162.28,277.15c-.24.45-.36.92-.39,1.43-.01.25.02.5.06.74.02.16.07.32.13.47.03.15.1.27.2.38.08.12.18.22.32.29.24.14.6.2.87.11s.53-.26.67-.52l.11-.27c.05-.2.05-.4,0-.6-.07-.17-.11-.34-.14-.51l.04.3c-.02-.19-.02-.37,0-.56l-.04.3c.03-.19.07-.37.15-.54l-.11.27c.02-.05.05-.11.08-.16.14-.27.19-.57.11-.87-.07-.26-.27-.54-.52-.67-.26-.14-.58-.21-.87-.11-.27.09-.54.26-.67.52h0Z" />
<path class="cls-17"
d="M167.03,283.18c.65,1.13,1.54,2.15,2.79,2.63,1.39.53,2.86.01,3.97-.86s1.95-2.09,2.06-3.49c.13-1.49-.94-2.69-2.26-3.2-1.54-.59-3.2,0-4.56.75-.52.28-.73,1.04-.4,1.54s.99.71,1.54.4c.5-.28.73-.4,1.23-.55.13-.04.26-.07.4-.1.06-.01.11-.02.17-.03-.03,0-.14.01-.01,0s.27-.01.41,0c.05,0,.09,0,.14,0,.16,0-.17-.05-.02,0,.09.03.19.04.28.07.08.02.32.14.13.04.08.04.17.09.25.14.04.02.08.05.12.08.13.07-.11-.11,0,0,.07.08.15.15.23.23-.13-.14-.01,0,.03.07.11.17-.02-.12.03.07.02.07.03.14.05.21-.03-.11,0-.09,0,.01s0,.21-.01.31c.03-.21-.04.1-.06.16-.02.05-.03.1-.05.15,0-.02.06-.14.01-.02s-.11.23-.18.34-.14.22-.21.32,0,0,.01,0c-.03.04-.07.08-.1.13-.16.19-.34.37-.53.54-.04.04-.08.07-.12.11,0,0-.14.11-.06.05s-.06.04-.06.04c-.06.04-.12.08-.18.12-.09.06-.19.11-.28.16,0,0-.16.08-.06.03.1-.05-.09.03-.11.04-.12.04-.23.07-.35.1-.2.05.1.01-.11.01-.11,0-.21,0-.32,0,.05,0,.21.05,0,0-.06-.01-.13-.03-.19-.05-.05-.01-.09-.03-.14-.05-.15-.04.13.08,0,0-.11-.07-.23-.12-.34-.19-.04-.03-.08-.06-.12-.08.09.06.07.06,0,0-.09-.08-.17-.15-.26-.24-.1-.1-.19-.19-.27-.3-.03-.04-.06-.08-.1-.12.07.09.04.06,0-.02-.16-.22-.3-.45-.44-.68-.29-.51-1.03-.73-1.54-.4s-.72.99-.4,1.54h0Z" />
<path class="cls-17"
d="M177.1,278.99l.55,2.58.27,1.29.13.59c.02.11.03.22.07.32.02.1.02.07,0-.08.01-.2.09-.38.24-.53l.5-.29h-.04c.2.01.4.01.6.01h-.05c.26.25.52.51.79.78-.02-.13-.04-.26-.06-.39.04.28-.01-.14-.02-.19-.02-.23-.04-.46-.04-.68s0-.45.04-.68c-.04.28.03-.12.05-.17.02-.09.05-.19.08-.28.02-.06.04-.12.07-.18-.06.13-.06.15,0,.04.05-.09.1-.18.16-.27.13-.22-.16.16.02-.02.07-.08.14-.15.22-.22.04-.04.08-.07.12-.1-.13.1-.14.11-.04.04.07-.04.13-.08.2-.12.04-.02.09-.05.14-.07-.15.06-.17.07-.06.03.08-.02.17-.04.25-.07.09-.02.05-.01-.12.01.05,0,.1,0,.15,0,.05,0,.1,0,.15,0-.18-.03-.2-.03-.08,0,.03,0,.19.07.22.06-.14-.06-.16-.07-.05-.01.05.03.09.05.14.08.1.07.09.06-.04-.03.04.03.08.07.12.11.05.05.23.22.03.02.14.14.22.36.31.53.03.08.02.05-.03-.08.02.05.04.1.06.15.04.11.07.22.1.33.06.23.1.47.14.7.09.5.16,1.01.3,1.5.16.57.8.97,1.38.79s.96-.78.79-1.38c-.25-.87-.26-1.8-.58-2.65-.38-.98-.99-1.79-1.99-2.19-.85-.34-1.87-.15-2.62.33-.82.53-1.39,1.33-1.65,2.27-.31,1.12-.17,2.27.01,3.4.06.36.44.72.79.79.55.11,1.09-.05,1.4-.55.22-.36.23-.76.16-1.16-.1-.54-.23-1.08-.34-1.62-.24-1.11-.47-2.23-.71-3.34-.12-.58-.83-.97-1.38-.79-.61.2-.92.77-.79,1.38h0Z" />
<path class="cls-17"
d="M207.03,243.25c.13-.02.12-.02-.03,0,.05,0,.09-.01.14-.02.11-.01.21-.02.32-.03.18-.02.36-.03.54-.03.39-.02.79-.01,1.18.01.18.01.36.03.54.05.06,0,.12.01.18.02-.13-.02-.16-.02-.07-.01.1.02.21.03.31.05.39.07.77.15,1.15.26.57.16,1.25-.19,1.38-.79s-.18-1.22-.79-1.38c-1.79-.49-3.62-.56-5.45-.3-.26.04-.55.3-.67.52-.14.24-.2.6-.11.87s.26.53.52.67c.29.15.55.16.87.11h0Z" />
<path class="cls-17"
d="M208.35,246.12c.86.1,1.71.19,2.57.29.27.03.61-.15.8-.33.2-.2.34-.52.33-.8s-.11-.59-.33-.8l-.23-.18c-.18-.1-.36-.15-.57-.15-.86-.1-1.71-.19-2.57-.29-.27-.03-.61.15-.8.33-.2.2-.34.52-.33.8s.11.59.33.8l.23.18c.18.1.36.15.57.15h0Z" />
<path class="cls-17"
d="M233.62,235.24c-.46,4.14-.56,8.3-.3,12.45.09,1.44,2.34,1.45,2.25,0-.27-4.15-.17-8.32.3-12.45.07-.6-.57-1.12-1.12-1.12-.66,0-1.06.52-1.12,1.12h0Z" />
<path class="cls-17"
d="M235.85,237.23c.04.19,0-.09,0-.14-.02.19.05-.09,0,0,.04-.09.07-.13.22-.26l-1.88-.5c.18,1.3.47,2.58.88,3.83.21.63.41,1.3.86,1.8.53.58,1.37.79,2.08.41.51-.27.91-.77,1.26-1.22.38-.48.73-.99,1.01-1.54.57-1.12.9-2.29,1.04-3.53h-2.25c-.04,2.65-.09,5.3-.13,7.95-.01.61.52,1.12,1.12,1.12s1.11-.52,1.12-1.12c.04-2.65.09-5.3.13-7.95.01-.61-.52-1.12-1.12-1.12-.66,0-1.06.52-1.12,1.12s-.35,1.62-.64,2.22c-.4.82-.85,1.39-1.42,2.03-.11.13-.05.04.1.01.21-.04.31.07.49.1l.04.06s-.06-.09-.09-.14c-.03-.05-.11-.23-.05-.09-.2-.46-.34-.96-.48-1.44-.3-1.02-.51-2.06-.66-3.11-.05-.37-.45-.69-.79-.79-.41-.11-.78.03-1.09.29-.76.63-1.01,1.65-.8,2.59.13.59.82.94,1.38.79.61-.17.92-.79.79-1.38h0Z" />
<path class="cls-17"
d="M243.45,234.65c-.8,3.26-1.6,6.53-2.39,9.79-.34,1.41,1.83,2.01,2.17.6.8-3.26,1.6-6.53,2.39-9.79.34-1.41-1.83-2.01-2.17-.6h0Z" />
<path class="cls-17"
d="M246.17,235.54c-.13.32-.36.49-.68.52-.24,0-.41-.09-.53-.25l-.03-.08c.02.07.04.14.06.21.09.32.15.65.22.98.13.63.25,1.27.34,1.91.19,1.27.3,2.57.36,3.86.02.61.5,1.12,1.12,1.12.59,0,1.15-.52,1.12-1.12-.08-1.94-.3-3.88-.66-5.78-.16-.84-.25-1.93-.86-2.58-.76-.8-2.43-.61-2.64.62-.1.6.16,1.21.79,1.38.54.15,1.28-.18,1.38-.79h0Z" />
<path class="cls-17"
d="M243.93,241.96c.5-.33,1.03-.62,1.58-.85l-.27.11c.56-.23,1.13-.41,1.72-.53s.96-.83.79-1.38c-.2-.61-.77-.91-1.38-.79-1.26.26-2.5.78-3.57,1.5-.24.16-.44.38-.52.67-.07.27-.04.63.11.87.31.49,1.02.75,1.54.4h0Z" />
<path class="cls-17"
d="M252.14,233.95c-.7-.43-1.62-.4-2.31.04s-1.05,1.11-1.34,1.83c-.55,1.36-.64,2.85-.39,4.29s.88,2.84,2.04,3.69,2.77.62,3.74-.45c.49-.54.83-1.17,1.16-1.81.42-.79.83-1.58,1.25-2.38l-2.06-.87c-.41,1.55-.44,3.14-.12,4.72.1.48.62.83,1.08.83s1.02-.35,1.08-.83c.13-.89.18-1.76.08-2.65-.09-.83-.21-1.78-.83-2.4-.7-.71-1.72-.8-2.6-.4-.76.35-1.24,1.03-1.67,1.72-.32.52-.11,1.24.4,1.54s1.22.11,1.54-.4c.21-.34.39-.69.69-.83.04-.02.05-.05.14-.04-.01,0-.2-.02-.05.01.13.04.08,0-.13-.09l.08.08c-.05-.17.06.18,0,.02.33.84.3,1.97.18,2.84h2.17c-.24-1.17-.19-2.37.12-3.52s-1.45-2.02-2.06-.87c-.35.67-.71,1.34-1.06,2.02-.29.55-.55,1.13-.92,1.62.1-.13-.09.11-.12.13-.04.04-.34.28-.19.18-.03.02-.3.14-.12.08-.07.02-.14.04-.21.05.11-.02.09-.03-.05-.02.17.07-.13-.05-.15-.06.21.09-.22-.16-.13-.09-.14-.1-.32-.32-.42-.46-.65-.99-.84-2.21-.74-3.37.04-.5.2-1.16.39-1.61.11-.26.21-.49.41-.63-.12.09-.03-.04.04,0,0,0-.33-.15-.08.01.52.32,1.24.11,1.54-.4s.12-1.22-.4-1.54h0Z" />
<path class="cls-17"
d="M257.46,232.22c-.67,3.36.24,6.72-.09,10.09-.06.61.56,1.12,1.12,1.12.66,0,1.07-.52,1.12-1.12.31-3.15-.62-6.36,0-9.49.12-.6-.17-1.21-.79-1.38-.55-.15-1.26.19-1.38.79h0Z" />
<path class="cls-17"
d="M265.74,234.26c-.34-.81-.59-2-1.53-2.31-1.02-.34-1.78.43-2.23,1.25-.84,1.48-1.45,3.09-1.6,4.79-.13,1.46.14,3.27,1.33,4.27.72.6,1.65.8,2.57.56.86-.23,1.58-.8,2.24-1.37.46-.4.41-1.18,0-1.59-.46-.46-1.13-.4-1.59,0-.33.29-.7.6-1.12.76-.31.12-.43.1-.64-.05.09.06-.13-.15-.12-.13-.09-.13-.2-.35-.21-.37-.14-.37-.21-.77-.23-1.16-.05-.94.15-1.85.46-2.74.16-.44.35-.86.56-1.28.1-.2.21-.41.33-.61.04-.07.18-.22.18-.3,0,.18-.92,0-.52.15l-.5-.29c-.06-.05-.04-.1.02.01.02.03.09.22.12.28l.31.73c.24.56.74.96,1.38.79.53-.14,1.02-.82.79-1.38h0Z" />
<path class="cls-17"
d="M220.16,240.01s.37-.05.19-.03c.14-.02.28-.04.43-.05.24-.03.49-.05.73-.07.51-.04,1.02-.07,1.53-.09,1.02-.03,2.04,0,3.06.08.59.05,1.15-.55,1.12-1.12-.03-.65-.5-1.07-1.12-1.12-2.18-.18-4.36-.08-6.52.24-.58.08-.96.86-.79,1.38.21.64.76.88,1.38.79h0Z" />
<path class="cls-17"
d="M230.83,224.3c.77,2.26,1.74,4.44,2.9,6.52.29.51,1.03.73,1.54.4s.71-.99.4-1.54c-.55-.98-1.06-1.98-1.52-3.01-.24-.54-.34-.77-.56-1.34s-.41-1.09-.6-1.64-.78-.98-1.38-.79c-.55.18-.99.79-.79,1.38h0Z" />
<path class="cls-17"
d="M269.57,230.47c.27-.52.58-1.02.92-1.5.08-.11.16-.23.25-.34.17-.23-.15.18.03-.04.04-.05.09-.11.13-.16.19-.23.38-.45.58-.66.39-.42.81-.81,1.25-1.17.05-.04.11-.09.16-.13.22-.18-.19.14.04-.03.11-.08.22-.17.34-.25.25-.18.51-.34.77-.5.5-.31.74-1.02.4-1.54s-1-.73-1.54-.4c-2.22,1.35-4.07,3.29-5.27,5.59-.27.52-.15,1.25.4,1.54.52.27,1.25.15,1.54-.4h0Z" />
<path class="cls-17"
d="M272.25,237.78c2.4-.59,4.84-1.02,7.29-1.28.6-.06,1.12-.47,1.12-1.12,0-.56-.52-1.19-1.12-1.12-2.66.28-5.29.73-7.89,1.36-.59.14-.94.81-.79,1.38.17.6.79.93,1.38.79h0Z" />
<path class="cls-17"
d="M256.17,251.18c1.17,1.62,2.6,3,4.27,4.08.49.32,1.26.12,1.54-.4.3-.56.12-1.2-.4-1.54-.18-.12-.36-.24-.54-.37-.09-.06-.18-.13-.26-.19-.04-.03-.09-.07-.13-.1-.11-.08.2.16.05.04-.34-.27-.67-.56-.99-.86s-.6-.6-.89-.92c-.14-.16-.28-.33-.42-.5-.03-.04-.07-.08-.1-.13.05.07.14.19.04.05-.07-.1-.14-.19-.21-.29-.18-.24-.37-.43-.67-.52-.27-.07-.63-.04-.87.11-.47.3-.77,1.03-.4,1.54h0Z" />
<path class="cls-17"
d="M237.52,252.93c-1.1,2.56-2.57,5.09-4.26,7.23-.38.48-.47,1.13,0,1.59.39.39,1.21.48,1.59,0,1.86-2.36,3.42-4.92,4.61-7.68.24-.56.17-1.21-.4-1.54-.47-.28-1.3-.16-1.54.4h0Z" />
<path class="cls-17"
d="M252.13,219.49c-.79,2.25-.96,4.63-.63,6.99.08.58.86.96,1.38.79.64-.21.88-.76.79-1.38.03.18-.02-.19-.03-.23-.01-.14-.03-.27-.04-.41-.02-.24-.03-.47-.03-.71-.01-.53,0-1.06.06-1.59.01-.14.03-.27.05-.41-.03.19.03-.15.03-.17.04-.25.09-.5.15-.75.12-.52.27-1.03.44-1.53.2-.56-.22-1.26-.79-1.38-.63-.14-1.18.19-1.38.79h0Z" />
<path class="cls-17"
d="M226.04,251.29c-1.18.77-2.3,1.66-3.32,2.64-.43.41-.44,1.19,0,1.59s1.14.44,1.59,0c.54-.52,1.12-1.02,1.71-1.48l-.23.18c.45-.35.91-.67,1.38-.98.24-.16.44-.39.52-.67.07-.27.04-.63-.11-.87-.32-.49-1.01-.75-1.54-.4h0Z" />
<path class="cls-17"
d="M266.31,248.2c1.19,1.27,2.58,2.37,4.1,3.24.51.29,1.25.14,1.54-.4s.14-1.23-.4-1.54c-.35-.2-.7-.42-1.04-.64-.17-.11-.34-.23-.5-.35-.08-.06-.16-.12-.24-.18-.03-.02-.16-.12-.02-.02.15.12-.03-.02-.05-.04-.64-.51-1.24-1.06-1.79-1.66-.4-.43-1.19-.44-1.59,0-.42.46-.43,1.13,0,1.59h0Z" />
<path class="cls-17"
d="M245.01,254.08c.32,2,.71,3.99,1.19,5.96.14.57.82.97,1.38.79.59-.19.94-.77.79-1.38-.48-1.97-.88-3.96-1.19-5.96-.09-.58-.85-.96-1.38-.79-.63.21-.88.76-.79,1.38h0Z" />
</g>
<g>
<rect class="cls-15 frame" x="406.14" y="333.64" width="108.99" height="57.06" />
<rect class="cls-12" x="413.31" y="219.12" width="7.71" height="24.36" />
<polygon class="cls-11" points="548.87 344.99 372.39 344.99 392.09 238.88 529.17 238.88 548.87 344.99" />
<rect class="cls-12" x="384.5" y="204.99" width="8" height="94.11"
transform="translate(242.73 -187.51) rotate(38.68)" />
<path class="cls-17"
d="M519.1,247.39l16.54,89.09h-150.02l16.54-89.09h116.94M520.76,245.39h-120.26l-17.28,93.09h154.83l-17.28-93.09h0Z" />
<rect class="cls-12" x="375.88" y="278.91" width="4.63" height="63.38"
transform="translate(867.39 324.66) rotate(142.25)" />
<circle class="cls-9" cx="417.47" cy="216.79" r="7.55" />
<circle class="cls-9" cx="360.1" cy="287.52" r="7.55" />
<rect class="cls-15 frame" x="385.56" y="362.17" width="150.14" height="74.66" />
<rect class="cls-7" x="378.2" y="344.99" width="164.87" height="17.19" />
<circle class="cls-15" cx="460.63" cy="353.58" r="3.65" />
<path class="cls-17"
d="M532.33,318.65l3.31,17.82h-54.41l-.79-9.08-.76-8.74h52.65M533.99,316.65h-56.49l.95,10.91.95,10.91h58.65l-4.05-21.82h0Z" />
<path class="cls-17"
d="M506.05,318.65l1.01,6.91h-26.8l-.58-6.91h26.37M534.36,329.57l1.28,6.91h-22.93l-1.01-6.91h22.67M507.78,316.65h-30.27l.92,10.91h30.96l-1.6-10.91h0ZM536.02,327.57h-26.64l1.6,10.91h27.07l-2.03-10.91h0Z" />
<line class="cls-10" x1="478.68" y1="322.11" x2="507.96" y2="322.11" />
<line class="cls-10" x1="510.93" y1="333.35" x2="536.11" y2="333.35" />
<path class="cls-10"
d="M454.74,269.5c.7-1.26,1.1-2.7,1.1-4.23,0-5.04-4.31-9.13-9.64-9.13-2.7,0-5.13,1.05-6.88,2.75-1.77-4.03-5.79-6.84-10.47-6.84s-8.91,2.97-10.6,7.16c-6.1.25-10.97,5.25-10.97,11.41,0,5.59,4.01,10.24,9.32,11.23-2.49,2.1-4.07,5.23-4.07,8.74,0,6.32,5.12,11.44,11.44,11.44,3.02,0,5.75-1.18,7.79-3.08,1.41.88,3.07,1.4,4.85,1.4,5.05,0,9.15-4.09,9.15-9.15,0-.34-.02-.68-.06-1.01.94.25,1.92.39,2.94.39,6.32,0,11.44-5.12,11.44-11.44,0-4.07-2.13-7.63-5.33-9.66Z" />
<path class="cls-10"
d="M493.09,257.11c-.83-.66-1.76-1.04-2.76-1.04-3.29,0-5.96,4.08-5.96,9.11,0,2.55.69,4.86,1.79,6.51-2.63,1.67-4.47,5.47-4.47,9.9,0,4.54,1.94,8.43,4.68,10.03.16,5.77,3.43,10.38,7.45,10.38,3.65,0,6.69-3.8,7.34-8.81,1.37,2.35,3.42,3.85,5.71,3.85,4.13,0,7.47-4.84,7.47-10.82,0-2.85-.77-5.44-2.01-7.37.58-1.33.92-2.9.92-4.59,0-4.78-2.67-8.65-5.97-8.65-.22,0-.44.02-.66.05.16-.89.26-1.81.26-2.78,0-5.97-3.34-10.82-7.47-10.82-2.66,0-4.98,2.01-6.31,5.04Z" />
<text class="cls-18" transform="translate(451.92 307.26)">
<tspan x="0" y="0">Magic</tspan>
</text>
<text class="cls-18" transform="translate(463.21 256.37)">
<tspan x="0" y="0">Poof</tspan>
</text>
<g>
<line class="cls-10" x1="402.71" y1="276.23" x2="408.71" y2="276.23" />
<line class="cls-5" x1="420.22" y1="276.23" x2="506.53" y2="276.23" />
<line class="cls-10" x1="512.29" y1="276.23" x2="518.29" y2="276.23" />
</g>
<line class="cls-1" x1="497.35" y1="249.26" x2="501.23" y2="304.02" />
<g>
<path class="cls-17"
d="M418.81,314.14v8.25h-8.83v-8.25h8.83M420.81,312.14h-12.83v12.25h12.83v-12.25h0Z" />
<path class="cls-17"
d="M418.81,316.82v5.58h-5.84l5.84-5.58M420.81,312.14l-12.83,12.25h12.83v-12.25h0Z" />
<path class="cls-17"
d="M418.81,314.14v3.29l-5.16,4.98h-3.68v-3.03l5.25-5.25h3.59M420.81,312.14h-6.42l-6.42,6.42v5.85h6.49l6.35-6.14v-6.14h0Z" />
</g>
<polyline class="cls-13" points="462.71 257.76 484.02 257.76 493.06 266.79" />
<polyline class="cls-13" points="475.88 310.6 448.09 310.6 436 287.15" />
<polygon class="cls-12"
points="399.81 326.96 386.2 293.49 377.67 296.96 394.76 338.95 451.92 315.7 448.45 307.17 399.81 326.96" />
</g>
<g>
<g>
<rect x="474.2" y="416.46" width="80.29" height="50.69" />
<path class="cls-25"
d="M553.48,417.45v48.69h-78.29v-48.69h78.29M555.48,415.45h-82.29v52.69h82.29v-52.69h0Z" />
</g>
<g>
<polygon class="cls-22"
points="462.37 486.46 473.74 469.15 554.94 469.15 566.31 486.46 462.37 486.46" />
<path class="cls-25"
d="M554.4,470.15l10.05,15.31h-100.23l10.05-15.31h80.13M555.48,468.15h-82.29l-12.68,19.31h107.64l-12.68-19.31h0Z" />
</g>
<rect class="cls-24" x="527.8" y="412.55" width="33.16" height="31.67"
transform="translate(-73.15 114.5) rotate(-11.26)" />
<text class="cls-19" transform="translate(530.43 429.43) rotate(-12.31)">
<tspan x="0" y="0">This is a</tspan>
<tspan x="0" y="10">server!</tspan>
</text>
<rect class="cls-27" x="496.83" y="407.32" width="33.16" height="31.67"
transform="translate(63.72 -67.18) rotate(7.98)" />
<text class="cls-20" transform="translate(500.43 413.46) rotate(7.98)">
<tspan x="0" y="0">DO NOT</tspan>
<tspan x="0" y="11.07">TURN</tspan>
<tspan x="0" y="22.14" xml:space="preserve"> OFF!</tspan>
</text>
</g>
</g>
<g>
<g>
<rect class="cls-3" x="297.34" y="344.21" width="9.61" height="73.08"
transform="translate(313.28 -105.19) rotate(39.75)" />
<path class="cls-2"
d="M326.23,341.87h6.37c.9,0,1.64.73,1.64,1.64v10.57h-9.64v-10.57c0-.9.73-1.64,1.64-1.64Z"
transform="translate(298.63 -130.2) rotate(39.75)" />
<rect class="cls-6" x="321.77" y="349.69" width="9.61" height="3.35"
transform="translate(300.14 -127.6) rotate(39.75)" />
<polygon class="cls-14" points="269.27 420.28 282.47 411.92 275.08 405.78 269.27 420.28" />
<path class="cls-26" d="M273.85,417.38l-4.57,2.9,2.02-5.03c.5.21.99.51,1.43.88s.81.78,1.12,1.25Z" />
<rect class="cls-16" x="302.83" y="346.2" width="3.4" height="73.08"
transform="translate(315.1 -106.25) rotate(39.75)" />
</g>
<g>
<g>
<path class="cls-21"
d="M243.43,390.41c-14.14,0-24.54-12.34-29.48-19.7-7.64-11.38-12.38-25.68-12.38-37.34,0-23.08,18.78-41.86,41.86-41.86s41.86,18.78,41.86,41.86c0,11.66-4.75,25.96-12.38,37.34-4.94,7.36-15.34,19.7-29.48,19.7Z" />
<path class="cls-26"
d="M243.43,292.5c22.53,0,40.86,18.33,40.86,40.86,0,11.47-4.68,25.56-12.21,36.78-4.83,7.19-14.97,19.26-28.65,19.26s-23.82-12.07-28.65-19.26c-7.53-11.22-12.21-25.31-12.21-36.78,0-22.53,18.33-40.86,40.86-40.86M243.43,290.5c-23.67,0-42.86,19.19-42.86,42.86s19.19,58.04,42.86,58.04,42.86-34.37,42.86-58.04-19.19-42.86-42.86-42.86h0Z" />
</g>
<g>
<path class="cls-21"
d="M322.87,559.96c-44,0-80.55-33.69-84.38-77.19,12.18,12.04,28.76,18.9,45.93,18.9,36,0,65.29-29.29,65.29-65.29,0-17.16-6.52-33.19-18.42-45.43,43.01,4.25,76.31,40.76,76.31,84.29,0,46.72-38.01,84.72-84.72,84.72Z" />
<path class="cls-26"
d="M333.87,392.26c19.1,2.51,36.7,11.5,50.03,25.68,14.64,15.57,22.69,35.92,22.69,57.3,0,46.17-37.56,83.72-83.72,83.72-42.58,0-78.1-31.92-83.11-73.6,12.15,11.06,28.14,17.31,44.65,17.31,36.55,0,66.29-29.74,66.29-66.29,0-16.5-5.94-31.97-16.83-44.13M328.62,389.73c12.36,11.72,20.08,28.28,20.08,46.65,0,35.51-28.78,64.29-64.29,64.29-18.62,0-35.38-7.92-47.12-20.57,2.52,45.08,39.87,80.86,85.58,80.86s85.72-38.38,85.72-85.72-35.31-82.55-79.97-85.51h0Z" />
</g>
<circle class="cls-26" cx="242.76" cy="380.69" r="10.72" />
<ellipse class="cls-26" cx="230.04" cy="344.08" rx="2.68" ry="5.36" />
<g>
<path class="cls-21"
d="M243.43,564.42c-47.22,0-47.22-17.58-47.22-49.51,0-14.74,4.83-44.07,14.07-71.61,10.25-30.54,22.02-47.37,33.15-47.37s22.9,16.82,33.15,47.37c9.24,27.54,14.07,56.87,14.07,71.61v.64c0,15.57,0,27.87-5.84,36.15-6.21,8.79-18.97,12.72-41.38,12.72Z" />
<path class="cls-26"
d="M243.43,396.94c10.51,0,22.25,17.02,32.2,46.68,9.2,27.44,14.02,56.63,14.02,71.29v.64c0,15.39,0,27.55-5.66,35.57-6,8.5-18.51,12.29-40.56,12.29s-34.55-3.84-40.55-12.46c-5.67-8.13-5.67-20.45-5.67-36.05,0-14.66,4.82-43.85,14.02-71.29,9.95-29.67,21.69-46.68,32.2-46.68M243.43,394.94c-26.63,0-48.22,88.14-48.22,119.97s0,50.51,48.22,50.51,48.22-18.67,48.22-50.51-21.59-119.97-48.22-119.97h0Z" />
</g>
<ellipse class="cls-26" cx="255.49" cy="344.08" rx="2.68" ry="5.36" />
<g>
<path class="cls-21"
d="M196.63,318.09c-3.58-15.86-1.01-39.82,2.24-52.8,1.13-4.53,2.55-6.93,4.09-6.93,3.27,0,8.33,8.65,13.22,17.01,2.54,4.34,5.16,8.81,7.86,12.75-13.03,5.59-23.03,16.57-27.41,29.97Z" />
<path class="cls-26"
d="M202.96,257.36v2c2.69,0,8.28,9.54,12.36,16.51,2.34,3.99,4.74,8.1,7.22,11.82-11.65,5.33-20.8,14.93-25.61,26.68-2.51-15.54-.08-36.88,2.9-48.84,1.22-4.87,2.54-6.17,3.12-6.17v-2M202.96,257.36c-1.98,0-3.7,2.22-5.06,7.69-3.34,13.38-6.39,40.53-1.3,56.79,3.74-15.2,14.67-27.57,28.97-33.27-8.69-12.29-16.81-31.21-22.61-31.21h0Z" />
</g>
<g>
<path class="cls-21"
d="M289.8,318.09c-4.38-13.4-14.38-24.38-27.41-29.97,2.7-3.94,5.32-8.42,7.86-12.75,4.89-8.36,9.95-17.01,13.22-17.01,1.54,0,2.96,2.4,4.09,6.93,3.24,12.97,5.82,36.94,2.24,52.8Z" />
<path class="cls-26"
d="M283.46,259.36c.59,0,1.91,1.3,3.12,6.17,2.99,11.95,5.41,33.3,2.9,48.84-4.81-11.75-13.96-21.35-25.61-26.68,2.48-3.72,4.89-7.82,7.22-11.82,4.08-6.97,9.66-16.51,12.36-16.51M283.46,257.36c-5.79,0-13.92,18.92-22.61,31.21,14.3,5.71,25.23,18.07,28.97,33.27,5.09-16.26,2.05-43.41-1.3-56.79-1.37-5.47-3.08-7.69-5.06-7.69h0Z" />
</g>
<g>
<path class="cls-17"
d="M348.4,449.4c.86-4.27,1.3-8.64,1.3-13.01,0-17.16-6.52-33.19-18.42-45.43,29.05,2.87,54.76,20.67,67.69,47.02l-22.45,25.34-28.12-13.92Z" />
<path class="cls-26"
d="M333.87,392.26c27.38,3.61,51.44,20.66,63.91,45.56l-21.5,24.27-26.75-13.24c.78-4.1,1.17-8.28,1.17-12.46,0-16.5-5.94-31.97-16.83-44.13M328.62,389.73c12.36,11.72,20.08,28.28,20.08,46.65,0,4.66-.5,9.19-1.43,13.57l29.49,14.6,23.4-26.41c-13.05-27.12-39.96-46.32-71.54-48.41h0Z" />
</g>
<g>
<path class="cls-17"
d="M348.4,449.4c.86-4.27,1.3-8.64,1.3-13.01,0-17.16-6.52-33.19-18.42-45.43,29.05,2.87,54.76,20.67,67.69,47.02l-22.45,25.34-28.12-13.92Z" />
<path class="cls-26"
d="M333.87,392.26c27.38,3.61,51.44,20.66,63.91,45.56l-21.5,24.27-26.75-13.24c.78-4.1,1.17-8.28,1.17-12.46,0-16.5-5.94-31.97-16.83-44.13M328.62,389.73c12.36,11.72,20.08,28.28,20.08,46.65,0,4.66-.5,9.19-1.43,13.57l29.49,14.6,23.4-26.41c-13.05-27.12-39.96-46.32-71.54-48.41h0Z" />
</g>
</g>
<g>
<g>
<polygon class="cls-23"
points="181.74 471.58 157.15 381.67 173.76 381.67 199.96 471.58 181.74 471.58" />
<path class="cls-26"
d="M173.01,382.67l25.62,87.91h-16.13l-24.04-87.91h14.55M174.51,380.67h-18.67l25.14,91.91h20.32l-26.79-91.91h0Z" />
</g>
<g>
<polygon class="cls-23" points="286.9 473.43 313.11 381.67 327.78 381.67 301.43 473.43 286.9 473.43" />
<path class="cls-26"
d="M326.45,382.67l-25.77,89.76h-12.46l25.65-89.76h12.58M329.1,380.67h-16.75l-26.79,93.76h16.62l26.92-93.76h0Z" />
</g>
<path class="cls-11"
d="M310.47,475.84c0,13.65-133.94,13.65-133.94,0l-26.79-93.76c0,22.89,187.52,22.89,187.52,0l-26.79,93.76Z" />
<g>
<path class="cls-23"
d="M161.46,388.82c-6.65,0-12.05-3.66-12.05-8.16s5.41-8.15,12.05-8.15,12.05,3.66,12.05,8.15-5.41,8.16-12.05,8.16Z" />
<path class="cls-26"
d="M161.46,373.52c5.99,0,11.05,3.28,11.05,7.15s-5.06,7.15-11.05,7.15-11.05-3.28-11.05-7.15,5.06-7.15,11.05-7.15M161.46,371.52c-7.21,0-13.05,4.1-13.05,9.15s5.84,9.15,13.05,9.15,13.05-4.1,13.05-9.15-5.84-9.15-13.05-9.15h0Z" />
</g>
<g>
<path class="cls-23"
d="M325.41,388.82c-6.65,0-12.05-3.66-12.05-8.16s5.41-8.15,12.05-8.15,12.05,3.66,12.05,8.15-5.41,8.16-12.05,8.16Z" />
<path class="cls-26"
d="M325.41,373.52c5.99,0,11.05,3.28,11.05,7.15s-5.06,7.15-11.05,7.15-11.05-3.28-11.05-7.15,5.06-7.15,11.05-7.15M325.41,371.52c-7.21,0-13.05,4.1-13.05,9.15s5.84,9.15,13.05,9.15,13.05-4.1,13.05-9.15-5.84-9.15-13.05-9.15h0Z" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 41 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 47 KiB

@@ -0,0 +1,907 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="design-skills" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600">
<defs>
<style>
.cls-1 {
fill: #29abe2;
}
.cls-2 {
fill: #2e3192;
}
.cls-2,
.cls-3,
.cls-4,
.cls-5,
.cls-6,
.cls-7,
.cls-8,
.cls-9,
.cls-10,
.cls-11 {
stroke-width: 2px;
}
.cls-2,
.cls-6 {
stroke: #000;
stroke-miterlimit: 10;
}
.cls-3 {
fill: #393;
}
.cls-3,
.cls-4,
.cls-5,
.cls-12,
.cls-7,
.cls-13,
.cls-14,
.cls-8,
.cls-9,
.cls-15,
.cls-16,
.cls-10,
.cls-11 {
stroke: #242424;
stroke-linecap: round;
stroke-linejoin: round;
}
.cls-17 {
fill: #0071bc;
}
.cls-18 {
fill: #d9e021;
}
.cls-19,
.cls-4 {
fill: #fff;
}
.cls-20,
.cls-7,
.cls-15 {
fill: #ff7545;
}
.cls-5 {
fill: #a67c52;
}
.cls-21 {
fill: #009245;
}
.cls-12 {
fill: #b3b3b3;
}
.cls-6 {
fill: none;
}
.cls-22 {
fill: #9e005d;
}
.cls-23 {
fill: #fcee21;
}
.cls-24 {
fill: #f33;
}
.cls-25 {
fill: #f99;
}
.cls-13,
.cls-26 {
fill: #39f;
}
.cls-27 {
fill: #f15a24;
}
.cls-28 {
fill: #f7931e;
}
.cls-14 {
fill: #c3c;
}
.cls-8 {
fill: #c69c6d;
}
.cls-29 {
fill: #242424;
}
.cls-9 {
fill: #fc6;
}
.cls-15 {
stroke-width: 1.58px;
}
.cls-16 {
fill: #ccc;
}
.cls-30 {
fill: #fbb03b;
}
.cls-10 {
fill: #930;
}
.cls-11 {
fill: #cc3;
}
.cls-31 {
fill: #93f;
}
</style>
</defs>
<g>
<g>
<path class="cls-27"
d="M567.43,568.17c-.83-.88-5.71-1.21-7.06-.84-.84.23-1.12.82-.74,1.29.29.35,1.32.61,1.84,1.17s.3,1.17.65,1.5c.46.44,1.52.68,2.37.45,1.4-.38,3.77-2.68,2.94-3.56Z" />
<path class="cls-27"
d="M565.22,566.56c-1.02.38-2.26.37-2.77-.03s-.11-1.03.91-1.41,2.26-.37,2.77.03.11,1.03-.91,1.41Z" />
<path class="cls-27"
d="M569.33,567.35c-1.02.38-2.26.37-2.77-.03s-.11-1.03.91-1.41,2.26-.37,2.77.03.11,1.03-.91,1.41Z" />
<path class="cls-27"
d="M568.5,570.07c-1.17.21-1.89.76-1.61,1.22s1.47.66,2.64.45,1.89-.76,1.61-1.22-1.47-.66-2.64-.45Z" />
<path class="cls-27"
d="M569.77,567.82c-1.17.21-1.89.76-1.61,1.22s1.47.66,2.64.45c1.17-.21,1.89-.76,1.61-1.22s-1.47-.66-2.64-.45Z" />
</g>
<g>
<path class="cls-17"
d="M588.56,573.7c-.33-.97-4.85-2.02-6.34-1.87-.93.09-1.5.62-1.38,1.12.09.37.95.79,1.16,1.4s-.32,1.17-.16,1.54c.21.5,1.11.88,2.04.79,1.54-.15,5.01-2,4.68-2.98Z" />
<path class="cls-17"
d="M587.28,571.82c-1.17.21-2.36.01-2.64-.45s.43-1,1.61-1.22c1.17-.21,2.36-.01,2.64.45s-.43,1-1.61,1.22Z" />
<path class="cls-17"
d="M590.82,573.2c-1.17.21-2.36.01-2.64-.45s.43-1,1.61-1.22c1.17-.21,2.36-.01,2.64.45s-.43,1-1.61,1.22Z" />
<ellipse class="cls-17" cx="588.66" cy="576.56" rx="2.24" ry=".88"
transform="translate(-6.82 7.05) rotate(-.68)" />
<ellipse class="cls-17" cx="591.06" cy="574.6" rx="2.24" ry=".88"
transform="translate(-6.8 7.08) rotate(-.68)" />
</g>
<g>
<path class="cls-28"
d="M526.49,579.66c-.92-.86-5.83-1.03-7.14-.63-.82.25-1.03.86-.6,1.31.32.34,1.39.57,1.96,1.11s.43,1.16.8,1.48c.51.43,1.59.63,2.41.38,1.35-.42,3.48-2.79,2.56-3.65Z" />
<path class="cls-28"
d="M524.12,578.12c-.97.41-2.21.43-2.77.05s-.21-1.02.76-1.43c.97-.41,2.21-.43,2.77-.05s.21,1.02-.76,1.43Z" />
<path class="cls-28"
d="M528.31,578.78c-.97.41-2.21.43-2.77.05s-.21-1.02.76-1.43,2.21-.43,2.77-.05.21,1.02-.76,1.43Z" />
<path class="cls-28"
d="M527.76,581.52c-1.15.25-1.81.81-1.48,1.26s1.54.61,2.68.37c1.15-.25,1.81-.81,1.48-1.26s-1.54-.61-2.68-.37Z" />
<path class="cls-28"
d="M528.8,579.24c-1.15.25-1.81.81-1.48,1.26s1.54.61,2.68.37,1.81-.81,1.48-1.26-1.54-.61-2.68-.37Z" />
</g>
<g>
<path class="cls-17"
d="M548.17,584.54c-.43-.96-5.06-1.87-6.52-1.68-.92.12-1.44.67-1.26,1.16.13.37,1.03.76,1.31,1.36s-.19,1.18,0,1.54c.26.49,1.2.85,2.12.73,1.52-.2,4.79-2.15,4.36-3.11Z" />
<path class="cls-17"
d="M546.69,582.7c-1.15.25-2.35.08-2.68-.37s.33-1.01,1.48-1.26c1.15-.25,2.35-.08,2.68.37s-.33,1.01-1.48,1.26Z" />
<path class="cls-17"
d="M550.37,583.97c-1.15.25-2.35.08-2.68-.37s.33-1.01,1.48-1.26,2.35-.08,2.68.37-.33,1.01-1.48,1.26Z" />
<ellipse class="cls-17" cx="548.57" cy="587.39" rx="2.24" ry=".88"
transform="translate(-16.61 15.97) rotate(-1.64)" />
<ellipse class="cls-17" cx="550.75" cy="585.36" rx="2.24" ry=".88"
transform="translate(-16.55 16.03) rotate(-1.64)" />
</g>
<g>
<path class="cls-28"
d="M484.52,583.28c-.24-.98-4.66-2.15-6.16-2.04-.93.07-1.56.58-1.48,1.09.06.38.88.81,1.03,1.43s-.43,1.16-.3,1.53c.17.5,1.02.91,1.96.84,1.55-.11,5.19-1.86,4.95-2.85Z" />
<path class="cls-28"
d="M483.42,581.37c-1.19.18-2.35-.05-2.6-.52s.53-.99,1.72-1.17,2.35.05,2.6.52-.53.99-1.72,1.17Z" />
<path class="cls-28"
d="M486.82,582.84c-1.19.18-2.35-.05-2.6-.52s.53-.99,1.72-1.17c1.19-.18,2.35.05,2.6.52s-.53.99-1.72,1.17Z" />
<ellipse class="cls-28" cx="484.36" cy="586.14" rx=".88" ry="2.24"
transform="translate(-103.35 1068.6) rotate(-89.81)" />
<ellipse class="cls-28" cx="486.93" cy="584.24" rx=".88" ry="2.24"
transform="translate(-98.89 1069.28) rotate(-89.81)" />
</g>
<g>
<path class="cls-21"
d="M501.11,592.24c.28-.98-3.35-2.77-4.84-2.89-.93-.08-1.8.32-1.99.82-.14.37.42.91.24,1.53-.17.59-1.01,1.05-1.09,1.43-.1.51.51,1.03,1.44,1.11,1.54.13,5.95-1.01,6.23-1.98Z" />
<ellipse class="cls-21" cx="501.06" cy="589.36" rx=".88" ry="2.24"
transform="translate(-89.92 1088.52) rotate(-89.81)" />
<ellipse class="cls-21" cx="503.56" cy="591.29" rx=".88" ry="2.24"
transform="translate(-89.35 1092.93) rotate(-89.81)" />
<path class="cls-21"
d="M499.93,594.12c-1.18-.19-2.36.03-2.62.49s.49,1,1.67,1.19,2.36-.03,2.62-.49-.49-1-1.67-1.19Z" />
<path class="cls-21"
d="M503.39,592.69c-1.18-.19-2.36.03-2.62.49s.49,1,1.67,1.19,2.36-.03,2.62-.49-.49-1-1.67-1.19Z" />
</g>
<g>
<path class="cls-17"
d="M440.54,579.55c.01-.99-4.07-2.47-5.58-2.48-.94,0-1.69.46-1.74.97-.04.38.66.87.66,1.49s-.72,1.12-.69,1.5c.04.51.78.98,1.73.98,1.56,0,5.61-1.46,5.62-2.46Z" />
<path class="cls-17"
d="M439.93,577.58c-1.23.09-2.32-.22-2.44-.7s.77-.94,2-1.03c1.23-.09,2.32.22,2.44.7s-.77.94-2,1.03Z" />
<path class="cls-17"
d="M442.93,579.29c-1.23.09-2.32-.22-2.44-.7s.77-.94,2-1.03,2.32.22,2.44.7-.77.94-2,1.03Z" />
<path class="cls-17"
d="M439.89,581.51c-1.22-.1-2.32.21-2.46.69s.75.95,1.98,1.04,2.32-.21,2.46-.69-.75-.95-1.98-1.04Z" />
<path class="cls-17"
d="M442.93,579.82c-1.22-.1-2.32.21-2.46.69s.75.95,1.98,1.04,2.32-.21,2.46-.69-.75-.95-1.98-1.04Z" />
</g>
<g>
<path class="cls-28"
d="M454.71,589.65c.53-.95-2.62-2.99-4.07-3.22-.9-.14-1.86.19-2.17.67-.23.36.19.93-.15,1.53s-1.27.96-1.44,1.33c-.23.49.24,1.06,1.15,1.2,1.5.24,6.15-.56,6.68-1.51Z" />
<path class="cls-28"
d="M455.15,587.66c-1.22-.1-2.11-.57-1.98-1.04s1.23-.79,2.46-.69,2.11.57,1.98,1.04-1.23.79-2.46.69Z" />
<path class="cls-28"
d="M457.14,589.75c-1.22-.1-2.11-.57-1.98-1.04s1.23-.79,2.46-.69,2.11.57,1.98,1.04-1.23.79-2.46.69Z" />
<path class="cls-28"
d="M453.07,591.42c-1.12-.28-2.34-.15-2.72.29s.23,1.02,1.35,1.3,2.34.15,2.72-.29-.23-1.02-1.35-1.3Z" />
<path class="cls-28"
d="M456.86,590.26c-1.12-.28-2.34-.15-2.72.29s.23,1.02,1.35,1.3,2.34.15,2.72-.29-.23-1.02-1.35-1.3Z" />
</g>
<g>
<path class="cls-21"
d="M396.82,576.99c.46-.96-2.82-2.93-4.28-3.14-.91-.13-1.85.22-2.13.71-.21.36.25.93-.04,1.53s-1.2.99-1.35,1.36c-.2.5.31,1.05,1.23,1.18,1.51.21,6.11-.68,6.57-1.64Z" />
<ellipse class="cls-21" cx="397.31" cy="574.13" rx=".88" ry="2.23"
transform="translate(-189.71 952.14) rotate(-88.1)" />
<ellipse class="cls-21" cx="399.43" cy="576.18" rx=".88" ry="2.23"
transform="translate(-189.7 956.25) rotate(-88.1)" />
<path class="cls-21"
d="M395.3,578.8c-1.14-.26-2.35-.1-2.7.35-.35.45.3,1.02,1.44,1.27s2.35.1,2.7-.35-.3-1.02-1.44-1.27Z" />
<path class="cls-21"
d="M399.01,577.56c-1.14-.26-2.35-.1-2.7.35s.3,1.02,1.44,1.27,2.35.1,2.7-.35-.3-1.02-1.44-1.27Z" />
</g>
<g>
<path class="cls-17"
d="M405.96,588.65c.94-.85-1.18-3.24-2.48-3.66-.81-.26-1.89-.07-2.41.36-.39.32-.25.93-.84,1.46s-1.67.77-2,1.1c-.45.45-.25,1.05.57,1.32,1.34.43,6.22.27,7.16-.58Z" />
<path class="cls-17"
d="M407.29,586.78c-1.14-.26-1.79-.83-1.44-1.27s1.55-.6,2.7-.35,1.79.83,1.44,1.27-1.55.6-2.7.35Z" />
<path class="cls-17"
d="M408.26,589.07c-1.14-.26-1.79-.83-1.44-1.27s1.55-.6,2.7-.35,1.79.83,1.44,1.27-1.55.6-2.7.35Z" />
<path class="cls-17"
d="M403.56,590.15c-.96-.42-2.2-.45-2.77-.08-.57.38-.24,1.02.72,1.44.96.42,2.2.45,2.77.08.57-.38.24-1.02-.72-1.44Z" />
<path class="cls-17"
d="M407.76,589.52c-.96-.42-2.2-.45-2.77-.08s-.24,1.02.72,1.44,2.2.45,2.77.08.24-1.02-.72-1.44Z" />
</g>
<g>
<path class="cls-17"
d="M357.58,564.83c.77-.9-1.81-3.16-3.19-3.49-.86-.21-1.89.04-2.33.49-.32.34-.06.94-.54,1.5s-1.51.86-1.77,1.21c-.36.47-.03,1.06.82,1.28,1.42.35,6.24-.09,7-.99Z" />
<path class="cls-17"
d="M358.53,562.89c-1.19-.19-1.94-.72-1.69-1.18s1.42-.69,2.61-.5,1.94.72,1.69,1.18-1.42.69-2.61.5Z" />
<path class="cls-17"
d="M359.96,565.11c-1.19-.19-1.94-.72-1.69-1.18s1.42-.69,2.61-.5,1.94.72,1.69,1.18-1.42.69-2.61.5Z" />
<path class="cls-17"
d="M355.49,566.46c-1.04-.36-2.28-.32-2.77.08s-.04,1.03,1,1.39c1.04.36,2.28.32,2.77-.08s.04-1.03-1-1.39Z" />
<path class="cls-17"
d="M359.55,565.59c-1.04-.36-2.28-.32-2.77.08s-.04,1.03,1,1.39,2.28.32,2.77-.08.04-1.03-1-1.39Z" />
</g>
<g>
<path class="cls-22"
d="M362.76,577.16c1.21-.75-.1-3.3-1.24-3.84-.71-.33-1.84-.24-2.49.12-.48.27-.55.89-1.3,1.36s-1.89.6-2.33.89c-.59.4-.59,1.02.13,1.35,1.18.55,6.03.85,7.24.11Z" />
<path class="cls-22"
d="M364.69,575.45c-1.04-.36-1.49-.98-1-1.39s1.73-.45,2.77-.08c1.04.36,1.49.98,1,1.39s-1.73.45-2.77.08Z" />
<path class="cls-22"
d="M364.9,577.8c-1.04-.36-1.49-.98-1-1.39s1.73-.45,2.77-.08,1.49.98,1,1.39-1.73.45-2.77.08Z" />
<path class="cls-22"
d="M359.91,578.42c-.81-.5-2.02-.65-2.7-.34-.68.32-.57.98.24,1.49s2.02.65,2.7.34.57-.98-.24-1.49Z" />
<path class="cls-22"
d="M364.25,578.2c-.81-.5-2.02-.65-2.7-.34s-.57.98.24,1.49,2.02.65,2.7.34.57-.98-.24-1.49Z" />
</g>
<g>
<path class="cls-28"
d="M335.47,546.12c1.61-.48,2.01-3.12,1.28-3.83-.46-.44-1.57-.57-2.42-.34-.63.17-1.08.74-2.09,1.04-.97.29-2.16.21-2.76.41-.81.27-1.2.85-.74,1.29.76.74,5.12,1.92,6.73,1.44Z" />
<path class="cls-28"
d="M338.37,544.87c-.75-.53-.77-1.2-.06-1.49s1.9-.1,2.65.43c.75.53.77,1.2.06,1.49s-1.9.1-2.65-.43Z" />
<path class="cls-28"
d="M337.07,547.11c-.75-.53-.77-1.2-.06-1.49s1.9-.1,2.65.43.77,1.2.06,1.49-1.9.1-2.65-.43Z" />
<path class="cls-28"
d="M331.99,546.77c-.44-.62-1.48-.99-2.32-.81s-1.16.82-.72,1.44,1.48.99,2.32.81,1.16-.82.72-1.44Z" />
<path class="cls-28"
d="M336.21,547.36c-.44-.62-1.48-.99-2.32-.81s-1.16.82-.72,1.44,1.48.99,2.32.81,1.16-.82.72-1.44Z" />
</g>
<g>
<path class="cls-28"
d="M326.07,557.71c1.79-.22,3.56-2.69,3.22-3.49-.21-.49-1.22-.78-2.14-.69-.69.07-1.42.54-2.55.68-1.09.13-2.18-.12-2.86-.02-.91.13-1.59.63-1.38,1.13.34.82,3.92,2.61,5.71,2.39Z" />
<path class="cls-28"
d="M329.5,556.95c-.44-.62-.12-1.27.72-1.44s1.88.19,2.32.81.12,1.27-.72,1.44-1.88-.19-2.32-.81Z" />
<path class="cls-28"
d="M327.09,558.9c-.44-.62-.12-1.27.72-1.44s1.88.19,2.32.81.12,1.27-.72,1.44-1.88-.19-2.32-.81Z" />
<path class="cls-28"
d="M322.39,557.81c-.1-.66-.91-1.17-1.8-1.13s-1.54.61-1.44,1.27.91,1.17,1.8,1.13,1.54-.61,1.44-1.27Z" />
<path class="cls-28"
d="M326.13,559.02c-.1-.66-.91-1.17-1.8-1.13s-1.54.61-1.44,1.27.91,1.17,1.8,1.13,1.54-.61,1.44-1.27Z" />
</g>
<g>
<path class="cls-22"
d="M337.12,522.93c1.84,0,4.56-2.21,4.56-3.02,0-.51-.87-.91-1.81-.93-.7-.02-1.61.36-2.76.37s-2.08-.38-2.78-.36c-.94.02-1.81.43-1.81.94,0,.84,2.76,3.01,4.6,3.01Z" />
<path class="cls-22"
d="M340.78,522.59c-.18-.66.4-1.25,1.29-1.32s1.76.41,1.93,1.07-.4,1.25-1.29,1.32-1.76-.41-1.93-1.07Z" />
<path class="cls-22"
d="M337.63,524.21c-.18-.66.4-1.25,1.29-1.32s1.76.41,1.93,1.07-.4,1.25-1.29,1.32-1.76-.41-1.93-1.07Z" />
<path class="cls-22"
d="M333.49,522.6c.17-.66-.41-1.25-1.3-1.32s-1.75.41-1.93,1.07.41,1.25,1.3,1.32,1.75-.41,1.93-1.07Z" />
<path class="cls-22"
d="M336.65,524.21c.17-.66-.41-1.25-1.3-1.32s-1.75.41-1.93,1.07.41,1.25,1.3,1.32,1.75-.41,1.93-1.07Z" />
</g>
<g>
<path class="cls-17"
d="M318.49,530.63c1.77.28,5.53-1.43,5.95-2.21.26-.49-.36-1-1.25-1.17-.67-.12-1.73.11-2.84-.07s-1.8-.68-2.49-.76c-.92-.12-1.96.14-2.22.63-.43.81,1.09,3.31,2.85,3.58Z" />
<path class="cls-17"
d="M322.18,530.86c.17-.66,1.03-1.14,1.93-1.07s1.47.66,1.3,1.32-1.03,1.14-1.93,1.07-1.47-.66-1.3-1.32Z" />
<path class="cls-17"
d="M318.31,531.94c.17-.66,1.03-1.14,1.93-1.07s1.47.66,1.3,1.32-1.03,1.14-1.93,1.07-1.47-.66-1.3-1.32Z" />
<path class="cls-17"
d="M315.17,529.76c.51-.61.26-1.26-.56-1.46s-1.9.13-2.41.74-.26,1.26.56,1.46,1.9-.13,2.41-.74Z" />
<path class="cls-17"
d="M317.37,531.8c.51-.61.26-1.26-.56-1.46s-1.9.13-2.41.74-.26,1.26.56,1.46,1.9-.13,2.41-.74Z" />
</g>
<g>
<path class="cls-28"
d="M358.99,502.06c1.75.3,5.61-1.34,6.07-2.12.29-.48-.3-1.01-1.19-1.19-.66-.13-1.74.08-2.84-.11s-1.76-.7-2.44-.8c-.91-.13-1.97.11-2.26.59-.48.8.9,3.32,2.65,3.63Z" />
<path class="cls-28"
d="M362.66,502.34c.21-.66,1.1-1.12,1.99-1.04s1.44.68,1.23,1.34-1.1,1.12-1.99,1.04-1.44-.68-1.23-1.34Z" />
<path class="cls-28"
d="M358.73,503.37c.21-.66,1.1-1.12,1.99-1.04s1.44.68,1.23,1.34-1.1,1.12-1.99,1.04-1.44-.68-1.23-1.34Z" />
<path class="cls-28"
d="M355.72,501.14c.54-.6.33-1.26-.48-1.47s-1.9.1-2.45.7-.33,1.26.48,1.47,1.9-.1,2.45-.7Z" />
<path class="cls-28"
d="M357.8,503.2c.54-.6.33-1.26-.48-1.47s-1.9.1-2.45.7-.33,1.26.48,1.47,1.9-.1,2.45-.7Z" />
</g>
<g>
<path class="cls-21"
d="M336.84,506.29c1.52.56,6.08-.44,6.93-1.11.53-.42.23-1.01-.52-1.32-.56-.23-1.71-.19-2.67-.54s-1.33-.94-1.92-1.14c-.81-.27-1.94-.19-2.47.23-.88.7-.87,3.33.66,3.88Z" />
<path class="cls-21"
d="M340.22,507.11c.54-.6,1.64-.91,2.45-.7s1.02.87.48,1.47-1.64.91-2.45.7c-.81-.21-1.02-.87-.48-1.47Z" />
<path class="cls-21"
d="M335.92,507.5c.54-.6,1.64-.91,2.45-.7s1.02.87.48,1.47-1.64.91-2.45.7-1.02-.87-.48-1.47Z" />
<path class="cls-21"
d="M334.19,504.91c.83-.49.97-1.16.3-1.48s-1.88-.19-2.71.3-.97,1.16-.3,1.48,1.88.19,2.71-.3Z" />
<path class="cls-21"
d="M335.11,507.2c.83-.49.97-1.16.3-1.48s-1.88-.19-2.71.3-.97,1.16-.3,1.48,1.88.19,2.71-.3Z" />
</g>
<g>
<path class="cls-22"
d="M394.35,492.24c.86.88,5.75,1.15,7.09.77.83-.24,1.09-.83.69-1.29-.3-.34-1.35-.6-1.88-1.15s-.35-1.17-.7-1.49c-.48-.44-1.54-.66-2.38-.43-1.38.39-3.67,2.72-2.81,3.59Z" />
<path class="cls-22"
d="M396.61,493.83c1-.39,2.24-.39,2.77,0s.14,1.03-.86,1.42-2.24.39-2.77,0-.14-1.03.86-1.42Z" />
<path class="cls-22"
d="M392.47,493.08c1-.39,2.24-.39,2.77,0s.14,1.03-.86,1.42-2.24.39-2.77,0-.14-1.03.86-1.42Z" />
<path class="cls-22"
d="M393.21,490.35c1.17-.22,1.87-.78,1.56-1.23s-1.49-.64-2.66-.42-1.87.78-1.56,1.23,1.49.64,2.66.42Z" />
<path class="cls-22"
d="M392.02,492.61c1.17-.22,1.87-.78,1.56-1.23-.3-.46-1.49-.64-2.66-.42s-1.87.78-1.56,1.23,1.49.64,2.66.42Z" />
</g>
<g>
<path class="cls-21"
d="M373.03,486.93c.37.97,4.92,1.97,6.4,1.81.92-.1,1.48-.64,1.34-1.14-.11-.37-.98-.78-1.21-1.39s.28-1.17.11-1.54c-.23-.49-1.14-.87-2.06-.77-1.53.17-4.94,2.05-4.57,3.02Z" />
<path class="cls-21"
d="M374.37,488.79c1.17-.22,2.36-.04,2.66.42s-.4,1.01-1.56,1.23c-1.17.22-2.36.04-2.66-.42s.4-1.01,1.56-1.23Z" />
<path class="cls-21"
d="M370.79,487.45c1.17-.22,2.36-.04,2.66.42.3.46-.4,1.01-1.56,1.23s-2.36.04-2.66-.42.4-1.01,1.56-1.23Z" />
<ellipse class="cls-21" cx="372.83" cy="484.07" rx="2.24" ry=".88"
transform="translate(-8.41 6.59) rotate(-1)" />
<ellipse class="cls-21" cx="370.5" cy="486.05" rx="2.24" ry=".88"
transform="translate(-8.44 6.55) rotate(-1)" />
</g>
<g>
<path class="cls-28"
d="M430.86,500.17c-.53.95,2.62,2.99,4.06,3.22.9.15,1.86-.19,2.17-.66.23-.36-.18-.93.15-1.53s1.27-.96,1.44-1.33c.23-.49-.24-1.06-1.15-1.2-1.5-.24-6.15.56-6.68,1.51Z" />
<path class="cls-28"
d="M430.42,502.16c1.22.1,2.11.57,1.98,1.05s-1.23.79-2.46.69-2.11-.57-1.98-1.05,1.23-.79,2.46-.69Z" />
<path class="cls-28"
d="M428.44,500.07c1.22.1,2.11.57,1.98,1.05s-1.23.79-2.46.69-2.11-.57-1.98-1.05,1.23-.79,2.46-.69Z" />
<path class="cls-28"
d="M432.51,498.4c1.12.28,2.34.15,2.72-.29s-.23-1.02-1.35-1.3c-1.12-.28-2.34-.15-2.72.29s.23,1.02,1.35,1.3Z" />
<path class="cls-28"
d="M428.72,499.56c1.12.28,2.34.15,2.72-.29s-.23-1.02-1.35-1.3c-1.12-.28-2.34-.15-2.72.29s.23,1.02,1.35,1.3Z" />
</g>
<g>
<path class="cls-21"
d="M422.53,488.35c-1,.83.95,3.26,2.22,3.71.79.28,1.89.1,2.43-.31.41-.31.31-.92.94-1.45s1.72-.73,2.08-1.06c.48-.44.32-1.05-.48-1.33-1.31-.46-6.2-.39-7.2.44Z" />
<path class="cls-21"
d="M421.07,490.19c1.12.28,1.73.86,1.35,1.3s-1.59.57-2.72.29c-1.12-.28-1.73-.86-1.35-1.3s1.59-.57,2.72-.29Z" />
<path class="cls-21"
d="M420.26,487.88c1.12.28,1.73.86,1.35,1.3s-1.59.57-2.72.29c-1.12-.28-1.73-.86-1.35-1.3s1.59-.57,2.72-.29Z" />
<path class="cls-21"
d="M425.03,486.89c.93.44,2.17.5,2.76.13s.31-1.02-.62-1.45c-.93-.44-2.17-.5-2.76-.13s-.31,1.02.62,1.45Z" />
<path class="cls-21"
d="M420.79,487.44c.93.44,2.17.5,2.76.13s.31-1.02-.62-1.45-2.17-.5-2.76-.13-.31,1.02.62,1.45Z" />
</g>
<g>
<path class="cls-17"
d="M461.61,515.38c-1.25.73-.09,3.3,1.03,3.85.69.34,1.83.27,2.5-.08.5-.27.6-.88,1.38-1.34s1.93-.57,2.38-.86c.61-.39.64-1.01-.05-1.35-1.15-.57-5.98-.95-7.23-.22Z" />
<path class="cls-17"
d="M459.59,517.06c1.02.38,1.43,1.01.92,1.41s-1.75.42-2.77.04-1.43-1.01-.92-1.41,1.75-.42,2.77-.04Z" />
<path class="cls-17"
d="M459.52,514.71c1.02.38,1.43,1.01.92,1.41s-1.75.42-2.77.04-1.43-1.01-.92-1.41,1.75-.42,2.77-.04Z" />
<path class="cls-17"
d="M464.53,514.17c.78.52,1.98.69,2.68.38s.63-.97-.15-1.49c-.78-.52-1.98-.69-2.68-.38s-.63.97.15,1.49Z" />
<path class="cls-17"
d="M460.18,514.32c.78.52,1.98.69,2.68.38s.63-.97-.15-1.49-1.98-.69-2.68-.38-.63.97.15,1.49Z" />
</g>
<g>
<path class="cls-21"
d="M463.77,502.78c-1.58.51-1.8,3.16-1.02,3.85.49.43,1.61.54,2.44.3.62-.18,1.03-.76,2.02-1.08s2.15-.25,2.73-.46c.79-.28,1.14-.87.65-1.3-.81-.72-5.25-1.82-6.82-1.31Z" />
<path class="cls-21"
d="M460.96,504.09c.78.52.85,1.18.15,1.49s-1.9.14-2.68-.38-.85-1.18-.15-1.49,1.9-.14,2.68.38Z" />
<path class="cls-21"
d="M462.1,501.82c.78.52.85,1.18.15,1.49s-1.9.14-2.68-.38-.85-1.18-.15-1.49,1.9-.14,2.68.38Z" />
<path class="cls-21"
d="M467.2,502.06c.48.61,1.54.96,2.37.77s1.11-.84.63-1.45-1.54-.96-2.37-.77-1.11.84-.63,1.45Z" />
<path class="cls-21"
d="M462.94,501.55c.48.61,1.54.96,2.37.77s1.11-.84.63-1.45-1.54-.96-2.37-.77-1.11.84-.63,1.45Z" />
</g>
<g>
<path class="cls-22"
d="M476.56,536.26c-1.78.25-3.41,2.75-3.03,3.53.23.49,1.26.76,2.18.66.69-.08,1.39-.57,2.51-.72s2.19.09,2.86-.02c.9-.15,1.56-.66,1.32-1.15-.39-.81-4.06-2.55-5.84-2.3Z" />
<path class="cls-22"
d="M473.17,537.08c.47.62.18,1.26-.65,1.45-.83.19-1.89-.16-2.36-.78s-.18-1.26.65-1.45,1.89.16,2.36.78Z" />
<path class="cls-22"
d="M475.48,535.08c.47.62.18,1.26-.65,1.45s-1.89-.16-2.36-.78c-.47-.62-.18-1.26.65-1.45s1.89.16,2.36.78Z" />
<path class="cls-22"
d="M480.23,536.1c.13.66.97,1.16,1.86,1.1s1.51-.63,1.38-1.29-.97-1.16-1.86-1.1-1.51.63-1.38,1.29Z" />
<path class="cls-22"
d="M476.43,534.95c.13.66.97,1.16,1.86,1.1s1.51-.63,1.38-1.29-.97-1.16-1.86-1.1-1.51.63-1.38,1.29Z" />
</g>
<g>
<path class="cls-28"
d="M491.09,526.32c-1.84-.03-4.7,2.12-4.75,2.93-.03.51.81.92,1.75.96.7.03,1.63-.33,2.79-.31s2.06.42,2.76.41c.95,0,1.83-.39,1.87-.9.05-.84-2.57-3.06-4.41-3.09Z" />
<path class="cls-28"
d="M487.42,526.59c.13.66-.48,1.24-1.38,1.29s-1.73-.44-1.86-1.1.48-1.24,1.38-1.29,1.73.44,1.86,1.1Z" />
<path class="cls-28"
d="M490.67,525.03c.13.66-.48,1.24-1.38,1.29s-1.73-.44-1.86-1.1.48-1.24,1.38-1.29,1.73.44,1.86,1.1Z" />
<path class="cls-28"
d="M494.7,526.72c-.22.66.33,1.26,1.21,1.34s1.78-.38,1.99-1.03-.33-1.26-1.21-1.34-1.78.38-1.99,1.03Z" />
<path class="cls-28"
d="M491.65,525.05c-.22.66.33,1.26,1.21,1.34s1.78-.38,1.99-1.03-.33-1.26-1.21-1.34-1.78.38-1.99,1.03Z" />
</g>
<g>
<path class="cls-21"
d="M466.92,558.85c-1.84-.05-4.78,2.07-4.87,2.88-.05.51.77.93,1.71.98.7.04,1.64-.32,2.8-.28s2.04.44,2.74.44c.95,0,1.85-.37,1.9-.88.08-.84-2.45-3.09-4.28-3.14Z" />
<path class="cls-21"
d="M463.23,559.09c.11.66-.53,1.24-1.43,1.28s-1.71-.46-1.82-1.12.53-1.24,1.43-1.28,1.71.46,1.82,1.12Z" />
<path class="cls-21"
d="M466.55,557.56c.11.66-.53,1.24-1.43,1.28-.9.04-1.71-.46-1.82-1.12s.53-1.24,1.43-1.28,1.71.46,1.82,1.12Z" />
<path class="cls-21"
d="M470.51,559.3c-.24.65.28,1.26,1.16,1.35.88.09,1.79-.36,2.03-1.01s-.28-1.26-1.16-1.35-1.79.36-2.03,1.01Z" />
<path class="cls-21"
d="M467.53,557.59c-.24.65.28,1.26,1.16,1.35.88.09,1.79-.36,2.03-1.01s-.28-1.26-1.16-1.35-1.79.36-2.03,1.01Z" />
</g>
<g>
<path class="cls-27"
d="M486.33,551.73c-1.74-.33-5.67,1.26-6.17,2.03-.31.48.26,1.01,1.13,1.2.65.14,1.74-.05,2.83.15s1.73.73,2.4.84c.91.15,1.97-.08,2.28-.56.52-.79-.74-3.33-2.48-3.66Z" />
<path class="cls-27"
d="M482.67,551.39c-.24.65-1.15,1.11-2.03,1.01-.88-.09-1.4-.7-1.16-1.35s1.15-1.11,2.03-1.01,1.4.7,1.16,1.35Z" />
<path class="cls-27"
d="M486.65,550.42c-.24.65-1.15,1.11-2.03,1.01s-1.4-.7-1.16-1.35,1.15-1.11,2.03-1.01,1.4.7,1.16,1.35Z" />
<path class="cls-27"
d="M489.55,552.69c-.57.59-.39,1.25.41,1.47s1.91-.07,2.48-.66.39-1.25-.41-1.47-1.91.07-2.48.66Z" />
<path class="cls-27"
d="M487.57,550.6c-.57.59-.39,1.25.41,1.47s1.91-.07,2.48-.66.39-1.25-.41-1.47-1.91.07-2.48.66Z" />
</g>
<g>
<path class="cls-21"
d="M435.63,567.65c-.74-.91-5.59-1.37-6.97-1.04-.86.2-1.2.79-.86,1.26.25.35,1.26.65,1.73,1.22s.19,1.18.5,1.52c.42.46,1.45.72,2.32.52,1.43-.34,4.02-2.57,3.28-3.48Z" />
<path class="cls-21"
d="M433.59,565.98c-1.05.35-2.29.3-2.76-.11s0-1.03,1.04-1.38,2.29-.3,2.76.11c.47.41,0,1.03-1.04,1.38Z" />
<path class="cls-21"
d="M437.61,566.89c-1.05.35-2.29.3-2.76-.11s0-1.03,1.04-1.38,2.29-.3,2.76.11,0,1.03-1.04,1.38Z" />
<path class="cls-21"
d="M436.52,569.58c-1.19.18-1.96.7-1.72,1.17s1.4.7,2.6.52c1.19-.18,1.96-.7,1.72-1.17s-1.4-.7-2.6-.52Z" />
<path class="cls-21"
d="M438.01,567.37c-1.19.18-1.96.7-1.72,1.17s1.4.7,2.6.52c1.19-.18,1.96-.7,1.72-1.17s-1.4-.7-2.6-.52Z" />
</g>
<g>
<path class="cls-28"
d="M456.2,573.77c-.24-.98-4.65-2.16-6.15-2.05-.93.07-1.56.58-1.48,1.08.06.38.88.81,1.02,1.43s-.43,1.16-.31,1.53c.16.5,1.02.91,1.96.85,1.55-.11,5.2-1.86,4.96-2.84Z" />
<path class="cls-28"
d="M455.11,571.86c-1.19.18-2.35-.05-2.6-.52s.53-.99,1.72-1.17,2.35.05,2.6.52-.53.99-1.72,1.17Z" />
<path class="cls-28"
d="M458.5,573.33c-1.19.18-2.35-.05-2.6-.52s.53-.99,1.72-1.17,2.35.05,2.6.52-.53.99-1.72,1.17Z" />
<ellipse class="cls-28" cx="456.03" cy="576.63" rx=".88" ry="2.24"
transform="translate(-122.32 1030.47) rotate(-89.78)" />
<ellipse class="cls-28" cx="458.61" cy="574.73" rx=".88" ry="2.24"
transform="translate(-117.85 1031.17) rotate(-89.78)" />
</g>
<g>
<path class="cls-18"
d="M393.83,563.29c0-.99-4.08-2.47-5.59-2.47-.94,0-1.69.46-1.74.97-.04.38.67.87.66,1.49s-.71,1.12-.68,1.5c.04.51.79.98,1.73.98,1.56,0,5.61-1.47,5.62-2.46Z" />
<path class="cls-18"
d="M393.21,561.32c-1.23.09-2.32-.22-2.44-.7s.77-.94,1.99-1.04c1.23-.09,2.32.22,2.44.7s-.77.94-1.99,1.04Z" />
<path class="cls-18"
d="M396.21,563.03c-1.23.09-2.32-.22-2.44-.7s.77-.94,1.99-1.04,2.32.22,2.44.7-.77.94-1.99,1.04Z" />
<path class="cls-18"
d="M393.18,565.25c-1.22-.1-2.32.21-2.45.69s.76.95,1.98,1.04,2.32-.21,2.45-.69-.76-.95-1.98-1.04Z" />
<path class="cls-18"
d="M396.21,563.55c-1.22-.1-2.32.21-2.45.69s.76.95,1.98,1.04,2.32-.21,2.45-.69-.76-.95-1.98-1.04Z" />
</g>
<g>
<path class="cls-17"
d="M408.03,573.37c.52-.95-2.63-2.99-4.08-3.22-.9-.14-1.86.19-2.17.67-.23.36.19.93-.14,1.53s-1.27.97-1.44,1.33c-.23.49.25,1.05,1.15,1.2,1.5.24,6.15-.57,6.67-1.52Z" />
<path class="cls-17"
d="M408.46,571.39c-1.22-.1-2.11-.56-1.98-1.04s1.23-.79,2.45-.69,2.11.56,1.98,1.04-1.23.79-2.45.69Z" />
<path class="cls-17"
d="M410.45,573.47c-1.22-.1-2.11-.56-1.98-1.04s1.23-.79,2.45-.69c1.22.1,2.11.56,1.98,1.04s-1.23.79-2.45.69Z" />
<path class="cls-17"
d="M406.39,575.15c-1.12-.28-2.34-.15-2.72.29s.23,1.02,1.36,1.3,2.34.15,2.72-.29-.23-1.02-1.36-1.3Z" />
<path class="cls-17"
d="M410.18,573.98c-1.12-.28-2.34-.15-2.72.29s.23,1.02,1.36,1.3,2.34.15,2.72-.29-.23-1.02-1.36-1.3Z" />
</g>
<g>
<path class="cls-21"
d="M349.1,559.25c.07-.99-3.9-2.55-5.42-2.58-.94-.02-1.72.43-1.8.93-.06.38.61.88.56,1.5s-.79,1.1-.79,1.48c0,.51.72.99,1.66,1.01,1.56.03,5.71-1.36,5.78-2.35Z" />
<ellipse class="cls-21" cx="348.46" cy="556.39" rx="2.24" ry=".88"
transform="translate(-16.75 10.85) rotate(-1.74)" />
<ellipse class="cls-21" cx="351.34" cy="558.16" rx="2.24" ry=".88"
transform="translate(-16.8 10.94) rotate(-1.74)" />
<path class="cls-21"
d="M348.33,561.19c-1.22-.12-2.34.17-2.5.64s.69.96,1.91,1.08c1.22.12,2.34-.17,2.5-.64s-.69-.96-1.91-1.08Z" />
<path class="cls-21"
d="M351.47,559.56c-1.22-.12-2.34.17-2.5.64s.69.96,1.91,1.08c1.22.12,2.34-.17,2.5-.64s-.69-.96-1.91-1.08Z" />
</g>
<g>
<path class="cls-27"
d="M362.6,569.6c.59-.94-2.42-3.04-3.85-3.29-.89-.16-1.87.15-2.22.62-.25.35.12.94-.24,1.53s-1.33.94-1.53,1.3c-.26.49.17,1.06,1.07,1.22,1.48.27,6.18-.44,6.77-1.38Z" />
<path class="cls-27"
d="M363.17,567.63c-1.22-.12-2.07-.61-1.91-1.08s1.28-.76,2.5-.64c1.22.12,2.07.61,1.91,1.08s-1.28.76-2.5.64Z" />
<path class="cls-27"
d="M365.02,569.75c-1.22-.12-2.07-.61-1.91-1.08s1.28-.76,2.5-.64,2.07.61,1.91,1.08-1.28.76-2.5.64Z" />
<path class="cls-27"
d="M360.85,571.35c-1.11-.3-2.33-.19-2.73.24s.16,1.03,1.27,1.33,2.33.19,2.73-.24-.16-1.03-1.27-1.33Z" />
<path class="cls-27"
d="M364.71,570.25c-1.11-.3-2.33-.19-2.73.24s.16,1.03,1.27,1.33,2.33.19,2.73-.24-.16-1.03-1.27-1.33Z" />
</g>
<g>
<path class="cls-27"
d="M301.62,560.96c-.21-.98-4.59-2.19-6.09-2.1-.94.06-1.58.57-1.51,1.07.05.38.85.82.98,1.44s-.46,1.16-.35,1.53c.15.5.99.92,1.93.86,1.55-.1,5.25-1.81,5.04-2.8Z" />
<path class="cls-27"
d="M300.58,559.04c-1.2.17-2.35-.07-2.58-.54s.56-.99,1.75-1.15,2.35.07,2.58.54-.56.99-1.75,1.15Z" />
<path class="cls-27"
d="M303.93,560.55c-1.2.17-2.35-.07-2.58-.54s.56-.99,1.75-1.15c1.2-.17,2.35.07,2.58.54s-.56.99-1.75,1.15Z" />
<ellipse class="cls-27" cx="301.36" cy="563.82" rx=".88" ry="2.24"
transform="translate(-264.97 860.44) rotate(-89.52)" />
<ellipse class="cls-27" cx="304" cy="561.95" rx=".88" ry="2.24"
transform="translate(-260.48 861.22) rotate(-89.52)" />
</g>
<g>
<path class="cls-18"
d="M317.92,570.07c.31-.98-3.26-2.8-4.75-2.94-.93-.09-1.81.3-2.01.8-.15.37.39.92.2,1.53s-1.05,1.04-1.13,1.42c-.12.51.47,1.03,1.41,1.12,1.54.14,5.98-.95,6.3-1.93Z" />
<ellipse class="cls-18" cx="317.97" cy="567.2" rx=".88" ry="2.24"
transform="translate(-251.88 880.39) rotate(-89.52)" />
<ellipse class="cls-18" cx="320.4" cy="569.15" rx=".88" ry="2.24"
transform="translate(-251.41 884.76) rotate(-89.52)" />
<path class="cls-18"
d="M316.69,571.94c-1.18-.2-2.36,0-2.63.46s.45,1,1.63,1.21c1.18.2,2.36,0,2.63-.46s-.45-1-1.63-1.21Z" />
<path class="cls-18"
d="M320.19,570.54c-1.18-.2-2.36,0-2.63.46s.45,1,1.63,1.21,2.36,0,2.63-.46-.45-1-1.63-1.21Z" />
</g>
<g>
<path class="cls-17"
d="M256.8,557.31c-.12-.99-4.39-2.31-5.9-2.25-.94.03-1.63.53-1.61,1.03.01.38.78.84.86,1.46s-.56,1.14-.48,1.52c.11.51.91.94,1.86.91,1.56-.06,5.4-1.68,5.28-2.67Z" />
<path class="cls-17"
d="M255.92,555.37c-1.21.14-2.34-.13-2.53-.61s.64-.97,1.85-1.11c1.21-.14,2.34.13,2.53.61s-.64.97-1.85,1.11Z" />
<path class="cls-17"
d="M259.14,556.95c-1.21.14-2.34-.13-2.53-.61s.64-.97,1.85-1.11,2.34.13,2.53.61-.64.97-1.85,1.11Z" />
<ellipse class="cls-17" cx="256.29" cy="560.16" rx=".88" ry="2.24"
transform="translate(-309.47 803.83) rotate(-88.72)" />
<ellipse class="cls-17" cx="259.08" cy="558.35" rx=".88" ry="2.24"
transform="translate(-304.94 804.86) rotate(-88.72)" />
</g>
<g>
<path class="cls-17"
d="M272.28,566.82c.4-.97-3.01-2.88-4.49-3.05-.92-.11-1.83.26-2.08.75-.18.37.31.92.06,1.53s-1.14,1.01-1.26,1.38c-.16.5.38,1.04,1.31,1.15,1.53.18,6.06-.8,6.46-1.77Z" />
<ellipse class="cls-17" cx="272.58" cy="563.95" rx=".88" ry="2.24"
transform="translate(-297.34 823.82) rotate(-88.72)" />
<ellipse class="cls-17" cx="274.84" cy="565.96" rx=".88" ry="2.24"
transform="translate(-297.13 828.05) rotate(-88.72)" />
<path class="cls-17"
d="M270.89,568.66c-1.16-.23-2.35-.06-2.67.4s.37,1.01,1.53,1.24,2.35.06,2.67-.4-.37-1.01-1.53-1.24Z" />
<path class="cls-17"
d="M274.51,567.35c-1.16-.23-2.35-.06-2.67.4s.37,1.01,1.53,1.24c1.16.23,2.35.06,2.67-.4s-.37-1.01-1.53-1.24Z" />
</g>
<g>
<path class="cls-21"
d="M211.5,557.09c-.05-.99-4.23-2.4-5.74-2.37-.94.01-1.66.49-1.68,1-.01.38.72.86.75,1.48s-.64,1.13-.59,1.51c.07.51.84.96,1.79.95,1.56-.02,5.52-1.57,5.46-2.56Z" />
<path class="cls-21"
d="M210.76,555.14c-1.22.11-2.33-.18-2.49-.66s.71-.96,1.93-1.07,2.33.18,2.49.66-.71.96-1.93,1.07Z" />
<path class="cls-21"
d="M213.87,556.79c-1.22.11-2.33-.18-2.49-.66s.71-.96,1.93-1.07,2.33.18,2.49.66-.71.96-1.93,1.07Z" />
<ellipse class="cls-21" cx="210.79" cy="559.93" rx=".88" ry="2.23"
transform="translate(-355.93 751.71) rotate(-88.07)" />
<ellipse class="cls-21" cx="213.71" cy="558.18" rx=".88" ry="2.23"
transform="translate(-351.36 752.94) rotate(-88.07)" />
</g>
<g>
<path class="cls-18"
d="M226.31,566.91c.46-.96-2.81-2.94-4.27-3.14-.91-.13-1.85.22-2.13.71-.21.36.25.93-.05,1.53s-1.21.99-1.35,1.36c-.2.5.31,1.05,1.23,1.18,1.51.21,6.11-.67,6.58-1.63Z" />
<ellipse class="cls-18" cx="226.8" cy="564.05" rx=".88" ry="2.23"
transform="translate(-344.58 771.69) rotate(-88.07)" />
<ellipse class="cls-18" cx="228.93" cy="566.1" rx=".88" ry="2.23"
transform="translate(-344.58 775.8) rotate(-88.07)" />
<path class="cls-18"
d="M224.78,568.72c-1.14-.26-2.35-.1-2.7.34s.3,1.02,1.44,1.28,2.35.1,2.7-.34-.3-1.02-1.44-1.28Z" />
<path class="cls-18"
d="M228.49,567.49c-1.14-.26-2.35-.1-2.7.34s.3,1.02,1.44,1.28,2.35.1,2.7-.34-.3-1.02-1.44-1.28Z" />
</g>
<g>
<path class="cls-17"
d="M165.6,554.6c-.15-.99-4.44-2.28-5.95-2.21-.94.04-1.61.54-1.58,1.04.02.38.8.84.89,1.46s-.54,1.15-.45,1.52c.12.51.93.94,1.88.9,1.56-.07,5.36-1.72,5.22-2.7Z" />
<path class="cls-17"
d="M164.68,552.67c-1.21.15-2.35-.12-2.54-.59s.62-.97,1.83-1.12c1.21-.15,2.35.12,2.54.59s-.62.97-1.83,1.12Z" />
<path class="cls-17"
d="M167.94,554.23c-1.21.15-2.35-.12-2.54-.59s.62-.97,1.83-1.12c1.21-.15,2.35.12,2.54.59s-.62.97-1.83,1.12Z" />
<ellipse class="cls-17" cx="165.16" cy="557.45" rx=".88" ry="2.24"
transform="translate(-395.29 712.16) rotate(-88.93)" />
<ellipse class="cls-17" cx="167.91" cy="555.63" rx=".88" ry="2.24"
transform="translate(-390.76 713.12) rotate(-88.93)" />
</g>
<g>
<path class="cls-17"
d="M181.31,564.01c.37-.97-3.08-2.86-4.56-3.02-.92-.1-1.83.27-2.06.76-.17.37.33.92.1,1.53s-1.11,1.02-1.22,1.39c-.15.5.41,1.04,1.33,1.14,1.53.17,6.04-.84,6.41-1.81Z" />
<ellipse class="cls-17" cx="181.54" cy="561.14" rx=".88" ry="2.24"
transform="translate(-382.9 732.14) rotate(-88.93)" />
<ellipse class="cls-17" cx="183.84" cy="563.13" rx=".88" ry="2.24"
transform="translate(-382.62 736.41) rotate(-88.93)" />
<path class="cls-17"
d="M179.95,565.85c-1.16-.23-2.36-.04-2.66.42s.39,1.01,1.55,1.23,2.36.04,2.66-.42-.39-1.01-1.55-1.23Z" />
<path class="cls-17"
d="M183.54,564.52c-1.16-.23-2.36-.04-2.66.42s.39,1.01,1.55,1.23,2.36.04,2.66-.42-.39-1.01-1.55-1.23Z" />
</g>
<g>
<path class="cls-17"
d="M119.43,553.55c-.28-.98-4.74-2.1-6.24-1.97-.93.08-1.54.6-1.44,1.1.07.38.91.8,1.09,1.42s-.38,1.16-.24,1.54c.19.5,1.06.9,1.99.82,1.54-.13,5.12-1.92,4.84-2.9Z" />
<path class="cls-17"
d="M118.25,551.66c-1.18.19-2.36-.03-2.62-.49s.49-1,1.67-1.19,2.36.03,2.62.49-.49,1-1.67,1.19Z" />
<path class="cls-17"
d="M121.7,553.09c-1.18.19-2.36-.03-2.62-.49s.49-1,1.67-1.19,2.36.03,2.62.49-.49,1-1.67,1.19Z" />
<ellipse class="cls-17" cx="119.37" cy="556.42" rx="2.24" ry=".88"
transform="translate(-1.75 .38) rotate(-.18)" />
<ellipse class="cls-17" cx="121.87" cy="554.49" rx="2.24" ry=".88"
transform="translate(-1.75 .39) rotate(-.18)" />
</g>
<g>
<path class="cls-21"
d="M136.37,562.32c.24-.98-3.46-2.73-4.96-2.84-.93-.07-1.79.34-1.95.84-.12.37.46.91.3,1.52s-.97,1.06-1.03,1.44c-.08.51.55,1.02,1.49,1.09,1.55.11,5.91-1.07,6.15-2.06Z" />
<ellipse class="cls-21" cx="136.2" cy="559.45" rx="2.24" ry=".88"
transform="translate(-1.76 .43) rotate(-.18)" />
<ellipse class="cls-21" cx="138.78" cy="561.34" rx="2.24" ry=".88"
transform="translate(-1.77 .44) rotate(-.18)" />
<path class="cls-21"
d="M135.26,564.21c-1.19-.18-2.35.05-2.6.52s.53.99,1.72,1.17,2.35-.05,2.6-.52-.53-.99-1.72-1.17Z" />
<path class="cls-21"
d="M138.67,562.74c-1.19-.18-2.35.05-2.6.52s.53.99,1.72,1.17c1.19.18,2.35-.05,2.6-.52s-.53-.99-1.72-1.17Z" />
</g>
<g>
<path class="cls-18"
d="M74.19,552.59c-.19-.99-4.55-2.22-6.05-2.13-.94.05-1.59.56-1.53,1.06.04.38.84.82.96,1.44s-.48,1.15-.38,1.53c.14.5.98.92,1.92.87,1.55-.09,5.28-1.79,5.09-2.78Z" />
<path class="cls-18"
d="M73.18,550.67c-1.2.16-2.35-.09-2.57-.56s.57-.98,1.77-1.15c1.2-.16,2.35.09,2.57.56s-.57.98-1.77,1.15Z" />
<path class="cls-18"
d="M76.51,552.19c-1.2.16-2.35-.09-2.57-.56s.57-.98,1.77-1.15c1.2-.16,2.35.09,2.57.56s-.57.98-1.77,1.15Z" />
<ellipse class="cls-18" cx="73.89" cy="555.45" rx=".88" ry="2.24"
transform="translate(-482.34 623.22) rotate(-89.37)" />
<ellipse class="cls-18" cx="76.55" cy="553.59" rx=".88" ry="2.24"
transform="translate(-477.84 624.04) rotate(-89.37)" />
</g>
<g>
<path class="cls-18"
d="M90.34,561.78c.33-.97-3.21-2.81-4.7-2.96-.93-.09-1.81.3-2.02.79-.16.37.38.92.17,1.53s-1.06,1.03-1.16,1.41c-.13.5.46,1.03,1.39,1.12,1.54.15,6-.92,6.33-1.9Z" />
<ellipse class="cls-18" cx="90.44" cy="558.9" rx=".88" ry="2.24"
transform="translate(-469.43 643.18) rotate(-89.37)" />
<ellipse class="cls-18" cx="92.84" cy="560.86" rx=".88" ry="2.24"
transform="translate(-469.01 647.52) rotate(-89.37)" />
<path class="cls-18"
d="M89.08,563.64c-1.17-.21-2.36,0-2.64.45s.44,1,1.61,1.21c1.17.21,2.36,0,2.64-.45s-.44-1-1.61-1.21Z" />
<path class="cls-18"
d="M92.6,562.26c-1.17-.21-2.36,0-2.64.45s.44,1,1.61,1.21,2.36,0,2.64-.45-.44-1-1.61-1.21Z" />
</g>
<g>
<path class="cls-22"
d="M28.53,556.84c-.2-.98-4.56-2.21-6.07-2.12-.94.05-1.58.56-1.53,1.07.04.38.84.82.97,1.44s-.48,1.15-.37,1.53c.14.5.98.92,1.92.87,1.55-.09,5.27-1.8,5.07-2.78Z" />
<path class="cls-22"
d="M27.51,554.92c-1.2.16-2.35-.08-2.57-.55s.57-.98,1.77-1.15,2.35.08,2.57.55-.57.98-1.77,1.15Z" />
<path class="cls-22"
d="M30.84,556.43c-1.2.16-2.35-.08-2.57-.55s.57-.98,1.77-1.15c1.2-.16,2.35.08,2.57.55s-.57.98-1.77,1.15Z" />
<ellipse class="cls-22" cx="28.24" cy="559.69" rx=".88" ry="2.24"
transform="translate(-531.72 582.26) rotate(-89.42)" />
<ellipse class="cls-22" cx="30.89" cy="557.83" rx=".88" ry="2.24"
transform="translate(-527.22 583.07) rotate(-89.42)" />
</g>
<g>
<path class="cls-17"
d="M44.73,566c.32-.98-3.23-2.81-4.72-2.95-.93-.09-1.81.3-2.02.79-.16.37.38.92.18,1.53s-1.06,1.04-1.15,1.41c-.12.5.46,1.03,1.39,1.12,1.54.15,5.99-.93,6.32-1.91Z" />
<ellipse class="cls-17" cx="44.8" cy="563.12" rx=".88" ry="2.24"
transform="translate(-518.75 602.21) rotate(-89.42)" />
<ellipse class="cls-17" cx="47.22" cy="565.08" rx=".88" ry="2.24"
transform="translate(-518.31 606.56) rotate(-89.42)" />
<path class="cls-17"
d="M43.47,567.86c-1.18-.21-2.36,0-2.64.46s.44,1,1.62,1.21c1.18.21,2.36,0,2.64-.46s-.44-1-1.62-1.21Z" />
<path class="cls-17"
d="M46.99,566.48c-1.18-.21-2.36,0-2.64.46s.44,1,1.62,1.21c1.18.21,2.36,0,2.64-.46s-.44-1-1.62-1.21Z" />
</g>
</g>
<g>
<path class="cls-12"
d="M413.81,493.31v41.31c0,3.64,9.27,6.59,20.71,6.59s20.71-2.95,20.71-6.59v-41.31h-41.41Z" />
<ellipse class="cls-16" cx="434.52" cy="493.31" rx="20.71" ry="6.59" />
<ellipse class="cls-14" cx="434.52" cy="493.31" rx="17.77" ry="4.97" />
<g>
<path class="cls-26"
d="M434.52,519.66c0,1.88,1.53,3.43,3.43,3.28,1.89-.15,3.41-1.94,3.41-3.82,0-1.89-1.52-3.16-3.41-3.01-1.89.15-3.43,1.66-3.43,3.55Z" />
<path class="cls-31"
d="M434.52,516.24c-1.14,0-2.29-.04-3.43-.13-1.89-.15-3.41,1.12-3.41,3.01,0,1.89,1.52,3.67,3.41,3.82,1.14.09,2.28.13,3.43.13v-6.83Z" />
<path class="cls-24"
d="M434.52,509.41c-1.14,0-2.29-.04-3.43-.13-1.89-.15-3.41,1.12-3.41,3.01,0,1.88,1.52,3.68,3.41,3.82,1.14.09,2.28.13,3.43.13v-6.83Z" />
<path class="cls-21"
d="M434.52,523.08c-1.08,0-2.16-.04-3.23-.12-1.85-.13-3.5.98-3.6,2.82-.1,1.95,1.45,3.85,3.4,4h0c1.89.15,3.43-1.4,3.43-3.28v-3.42Z" />
<path class="cls-25"
d="M437.94,509.28c-1.14.09-2.28.13-3.43.13v6.83c1.14,0,2.29-.04,3.43-.13,1.89-.15,3.41-1.94,3.41-3.82,0-1.89-1.52-3.16-3.41-3.01Z" />
</g>
</g>
<g>
<path class="cls-7"
d="M412.57,383.83c-36.24,11.59-85.97,3.14-97.16-16.93,6.78,5.49,41.96-1.89,59.96-21.24,8.47-9.09,13.13-20.83,9.26-35.15-.47-1.72-2.13-3.75-4.32-5.84l-4.75-51.04c35.41,16.1,74.2,31.82,76.42,81.81,1.14,25.62-16.41,41.04-39.41,48.39Z" />
<path class="cls-4"
d="M412.57,383.82c-36.24,11.6-85.97,3.15-97.16-16.92,6.78,5.48,41.96-1.89,59.96-21.25l24.7,1.94,12.5,36.22Z" />
</g>
<rect class="cls-5" x="292.92" y="109.07" width="12.67" height="346.87" />
<rect class="cls-8" x="359.85" y="138.62" width="12.67" height="403.64"
transform="translate(-51.92 66.25) rotate(-9.66)" />
<rect class="cls-8" x="227.48" y="138.62" width="12.67" height="403.64"
transform="translate(407.21 715.28) rotate(-170.34)" />
<g>
<path class="cls-16"
d="M382.27,507.36v41.31c0,3.64,9.27,6.59,20.71,6.59s20.71-2.95,20.71-6.59v-41.31h-41.41Z" />
<ellipse class="cls-16" cx="402.97" cy="507.36" rx="20.71" ry="6.59" />
<ellipse class="cls-13" cx="402.97" cy="507.36" rx="17.77" ry="4.97" />
<g>
<path class="cls-26"
d="M394.28,537.77v-13.3c.72.11,1.45.22,2.18.3v13.3c-.73-.09-1.45-.19-2.18-.3ZM395.33,532.76c0-.7,0-1.4,0-2.09,1.41.2,2.83.34,4.25.43.53.03.96-.13,1.29-.47.33-.35.49-.82.49-1.4,0-.6-.16-1.09-.49-1.46-.32-.37-.76-.57-1.29-.61-1.42-.09-2.84-.24-4.25-.43,0-.7,0-1.4,0-2.09,1.39.19,2.79.34,4.19.43.82.05,1.54.25,2.15.61.61.35,1.09.83,1.43,1.45.34.61.51,1.33.51,2.15,0,.82-.17,1.53-.51,2.14-.34.61-.82,1.08-1.44,1.39-.61.32-1.33.45-2.15.4-1.4-.09-2.79-.24-4.19-.43Z" />
<path class="cls-26"
d="M408.38,538.4c-.85.07-1.64,0-2.37-.2-.73-.21-1.37-.53-1.91-.98.44-.55.89-1.11,1.33-1.68.49.32.98.56,1.48.7.5.15.99.2,1.47.16.66-.06,1.17-.2,1.51-.42.34-.22.52-.5.52-.84,0-.32-.12-.53-.35-.63-.23-.1-.54-.15-.92-.15-.38,0-.78,0-1.22-.01-.4-.01-.79-.04-1.18-.09-.39-.05-.74-.15-1.06-.31-.32-.15-.58-.4-.77-.74-.19-.33-.29-.79-.29-1.37,0-.98.32-1.73.97-2.27.65-.54,1.59-.84,2.81-.95.74-.07,1.44-.04,2.11.09.67.12,1.28.34,1.84.66-.43.6-.87,1.19-1.3,1.78-.44-.21-.89-.36-1.35-.45-.45-.09-.89-.12-1.32-.08-.57.05-1.01.16-1.31.35-.3.18-.45.44-.45.76,0,.24.1.4.31.5.21.09.48.15.82.16.34.01.7.02,1.09.02.41,0,.82,0,1.23.02.41.02.79.09,1.14.23.35.14.63.37.84.7.21.34.32.82.32,1.45,0,1-.34,1.83-1.02,2.45-.68.62-1.68,1.02-2.99,1.13Z" />
</g>
</g>
<polygon class="cls-9" points="379.37 331.3 219.14 331.3 237.02 132.9 361.49 132.9 379.37 331.3" />
<path class="cls-4"
d="M374.58,326.02h-150.65c-4.15,0-7.41-3.45-7.03-7.45l17.27-185.41c.33-3.52,3.38-6.22,7.03-6.22h116.11c3.65,0,6.7,2.7,7.03,6.22l17.27,185.41c.37,4-2.88,7.45-7.03,7.45Z" />
<g>
<path class="cls-23"
d="M248.92,150.05c3.03-1.51,4.17-10.48,2.93-12.97-.77-1.55-2.8-2.07-4.39-1.37-1.18.52-2.1,2.43-4,3.37-1.83.91-4,.54-5.13,1.17-1.52.84-2.33,2.79-1.55,4.34,1.28,2.57,9.12,6.96,12.15,5.45Z" />
<ellipse class="cls-23" cx="256.89" cy="144.31" rx="3" ry="4.12"
transform="translate(-36.51 171.38) rotate(-34.6)" />
<ellipse class="cls-23" cx="254.17" cy="151.85" rx="3" ry="4.12"
transform="translate(-41.28 171.17) rotate(-34.6)" />
<ellipse class="cls-23" cx="239.58" cy="152.92" rx="3" ry="4.12"
transform="translate(-35.92 83.04) rotate(-18.32)" />
<ellipse class="cls-23" cx="247.24" cy="155.3" rx="3" ry="4.12"
transform="translate(-36.28 85.56) rotate(-18.32)" />
</g>
<path class="cls-3"
d="M266.69,235.84h65.14c2.4,0,4.3-2.04,4.13-4.44l-1.43-20.05c-.16-2.17-1.96-3.85-4.13-3.85h-62.27c-2.17,0-3.98,1.68-4.13,3.85l-1.43,20.05c-.17,2.4,1.73,4.44,4.13,4.44Z" />
<g>
<path class="cls-19"
d="M275.23,216.86c.19-.88-.23-1.73-1.03-2.15-.86-.45-1.9-.19-2.69.28-1.45.86-2.38,2.35-2.91,3.92-.94,2.81-1.29,8.12,2.89,8.22,2.15.05,4.33-1.19,5.88-2.57.72-.64-.34-1.7-1.06-1.06-1.26,1.12-3.08,2.18-4.82,2.13s-2.04-1.84-1.98-3.26c.06-1.5.37-3.06,1.14-4.37.37-.63.86-1.22,1.48-1.62.32-.21.69-.42,1.08-.4.24,0,.65.18.58.49-.2.94,1.24,1.34,1.45.4h0Z" />
<path class="cls-19"
d="M280.83,215.13c.37,4.5-1.21,8.86-1.14,13.35.01.96,1.51.97,1.5,0-.07-4.49,1.5-8.85,1.14-13.35-.08-.96-1.58-.96-1.5,0h0Z" />
<path class="cls-19"
d="M286.25,220.48c-.18-.39-.72-.51-1.08-.31-.31.17-.47.47-.5.82-.06.67-.07,1.34-.11,2.01-.07,1.32-.14,2.63-.21,3.95-.02.4.36.75.75.75.42,0,.73-.34.75-.75.05-.99.11-1.99.16-2.98.03-.49.05-.97.08-1.46.01-.24.03-.49.04-.73,0-.12.01-.24.02-.36,0-.06,0-.12,0-.18.03-.26-.04-.18-.23.23l-.38.1h.03c-.22-.12-.43-.24-.65-.37l.02.04c.17.37.7.46,1.03.27.38-.22.44-.66.27-1.03h0Z" />
<path class="cls-19"
d="M286.65,215.43s0-.03.01-.05l-.08.18s.03-.05.04-.08l-.12.15s.04-.04.06-.06l-.15.12s.06-.04.09-.05l-.18.08s.07-.02.11-.03l-.2.03s.07,0,.1,0l-.2-.03s.06.01.09.02l-.18-.08s.04.02.06.04l-.15-.12s0,0,.01,0c.07.07.15.12.24.16.09.05.19.07.29.06.1,0,.2-.02.29-.06.09-.03.17-.08.24-.16l.12-.15c.07-.12.1-.24.1-.38l-.03-.2c-.04-.13-.1-.24-.19-.33-.06-.05-.12-.1-.19-.14s-.16-.07-.22-.1c-.03-.01-.06-.02-.09-.02-.08-.01-.19-.04-.29-.03s-.2.02-.29.05c-.19.06-.34.15-.48.28-.13.13-.24.31-.28.49-.03.1-.04.2-.01.3,0,.1.03.19.09.28.05.09.11.16.19.21.07.07.16.11.26.13l.2.03c.14,0,.26-.03.38-.1l.15-.12c.09-.09.16-.2.19-.33h0Z" />
<path class="cls-19"
d="M291.99,222.44c.43-.51.44-1.17.01-1.69-.45-.56-1.17-.65-1.81-.36-1.08.49-1.79,1.77-2.19,2.82-.69,1.79-.86,6.11,2.06,5.78,1.41-.16,2.75-.94,3.77-1.89.71-.66-.36-1.72-1.06-1.06s-1.69,1.26-2.7,1.44c-.37.07-.6.05-.74-.31-.16-.42-.24-.9-.26-1.35-.04-.94.16-1.89.61-2.73.23-.42.51-.83.86-1.16.09-.08.25-.19.32-.22-.01,0-.06-.05-.06-.06.05.08.06.09.02.04-.02-.12,0-.22.09-.31-.26.31-.3.76,0,1.06.27.27.8.31,1.06,0h0Z" />
<path class="cls-19"
d="M296.43,216.76c-.5,3.73-.99,7.47-1.49,11.2-.09.68.86.93,1.28.53,1.91-1.82,3.76-3.7,5.56-5.63.66-.71-.4-1.77-1.06-1.06-1.8,1.93-3.65,3.81-5.56,5.63l1.28.53c.5-3.73.99-7.47,1.49-11.2.05-.4-.38-.75-.75-.75-.45,0-.7.35-.75.75h0Z" />
<path class="cls-19"
d="M297.28,225.87c1.39.71,2.74,1.5,4.02,2.39.32.22.85.07,1.03-.27.2-.38.08-.79-.27-1.03-1.29-.89-2.63-1.68-4.02-2.39-.35-.18-.83-.1-1.03.27-.18.34-.1.84.27,1.03h0Z" />
<path class="cls-19"
d="M309.67,221.43c.29,2.58-.23,5.11-.78,7.62l1.47.2c.11-1.33.24-2.67.61-3.96.33-1.16.96-2.62,2.08-3.22.99-.53,2.15.28,2.49,1.24.22.62.16,1.29-.02,1.91-.15.49-.46,1.44-.95,1.67l1.1.45c-.36-1.98,1.18-3.78,3.12-4,.44-.05.94-.04,1.36.09.5.16.24.66.13,1.05-.33,1.23-.5,2.49-.53,3.76-.02.97,1.48.97,1.5,0,.02-.88.11-1.76.29-2.62.15-.71.47-1.44.38-2.18-.19-1.54-2.08-1.73-3.31-1.58-2.9.35-4.92,2.99-4.39,5.88.09.52.7.63,1.1.45.76-.35,1.21-1.4,1.5-2.13.33-.86.46-1.8.28-2.71-.31-1.62-1.82-3.02-3.51-2.94-1.81.08-3.03,1.88-3.66,3.39-.72,1.73-.9,3.61-1.06,5.46-.07.84,1.29,1.02,1.47.2.57-2.63,1.14-5.32.83-8.02-.11-.95-1.61-.96-1.5,0h0Z" />
<path class="cls-19"
d="M326.67,225.44c.85-.27,1.69-.59,2.5-.97.73-.34,1.82-.82,1.57-1.83-.19-.78-1.3-1.2-2-1.36-.82-.18-1.67-.08-2.39.36-1.52.92-2,2.68-2.24,4.33-.12.86-.2,1.74.23,2.54.36.67,1.03,1.09,1.73,1.36,1.62.63,3.75.7,5.25-.25.81-.52.06-1.82-.76-1.3-.94.6-2.1.59-3.16.37-.88-.18-1.88-.52-1.89-1.57-.03-1.8.87-5.31,3.37-4.23.14.06.3.2.45.24l.08.05-.09-.46s-.05.02-.08.03c-.14.02-.34.18-.46.24-.16.08-.32.16-.48.23-.65.3-1.33.55-2.02.77-.92.29-.53,1.74.4,1.45h0Z" />
</g>
<g>
<path class="cls-10"
d="M297.88,320.98s-10.94,6.33-14.27,4.81c-2.57-1.17-2.86-7.62-.4-8.91,3.19-1.68,14.67,4.11,14.67,4.11Z" />
<path class="cls-9" d="M233.82,322.54c-.1-3.25,45.34-5.56,45.34-5.56l.4,8.91s-45.63.14-45.74-3.35Z" />
<polygon class="cls-11" points="281.74 316.91 282.14 325.82 279.56 325.89 279.16 316.97 281.74 316.91" />
</g>
<rect class="cls-9" x="211.96" y="326.02" width="174.59" height="16.38" />
<g>
<path class="cls-30"
d="M311.93,175.91c2.84,1.84,11.15-1.74,12.66-4.07.94-1.45.36-3.47-1.05-4.48-1.05-.75-3.16-.57-4.94-1.73-1.72-1.12-2.5-3.17-3.62-3.82-1.5-.88-3.58-.59-4.53.87-1.56,2.41-1.36,11.39,1.48,13.23Z" />
<ellipse class="cls-30" cx="320.92" cy="179.86" rx="4.12" ry="3"
transform="translate(22.88 395.52) rotate(-65.16)" />
<ellipse class="cls-30" cx="313.04" cy="181.35" rx="4.12" ry="3"
transform="translate(16.95 389.23) rotate(-65.16)" />
<ellipse class="cls-30" cx="304.7" cy="169.33" rx="4.12" ry="3"
transform="translate(-23.25 287.49) rotate(-48.88)" />
<ellipse class="cls-30" cx="306.55" cy="177.14" rx="4.12" ry="3"
transform="translate(-28.5 291.56) rotate(-48.88)" />
</g>
<g>
<path class="cls-20"
d="M225.82,299.08c-6.21-3.33-19.42-11.46-31.89-25.95-15.66-18.18-33.33-50.4-28.59-100.62,1.96-20.8,9.44-36.84,22.23-47.68,11.4-9.65,26.82-14.76,44.6-14.76s38.67,5.52,57.26,15.61c-15.27.49-34.11,7.9-49.62,19.58-18.01,13.57-29.09,30.47-31.22,47.6-5.46,44.01,9.35,92.41,17.24,106.21Z" />
<path class="cls-29"
d="M232.16,111.07c17.28,0,36.09,4.88,53.66,13.84-14.76,1.42-32.14,8.64-46.62,19.55-18.22,13.73-29.45,30.87-31.61,48.27-4.94,39.87,7.14,86.12,15.7,103.77-6.84-4.02-18.03-11.73-28.67-24.11-9.86-11.47-17.33-24.65-22.21-39.19-6.11-18.2-8.16-38.59-6.08-60.61,1.93-20.53,9.3-36.35,21.88-47.01,11.21-9.5,26.41-14.52,43.95-14.52M232.16,109.07c-34.42,0-63.63,18.87-67.82,63.34-9.23,98,64.71,129.38,64.71,129.38-6.18-4.72-25.53-60.03-19.48-108.81,4.55-36.69,50.51-66.33,81.43-66.33.77,0,1.54.02,2.3.06-19.57-11.33-41.23-17.64-61.14-17.64h0Z" />
</g>
<g>
<g>
<path class="cls-20"
d="M229.71,247.39c-12.81,0-26.7-15.98-29.65-29.21-1.51-6.75-.31-13.68,3.38-19.51,3.69-5.83,9.42-9.87,16.14-11.37,1.85-.41,3.74-.62,5.62-.62,11.97,0,22.56,8.52,25.18,20.27,1.57,7.05.65,16.34-2.42,24.25-1.98,5.1-6.57,13.95-15.04,15.84-1.04.23-2.12.35-3.21.35h0Z" />
<path class="cls-29"
d="M225.2,187.47c11.6,0,21.87,8.26,24.41,19.65,2.97,13.31-3.4,36.15-16.86,39.15-.98.22-2,.33-3.04.33-12.46,0-25.99-15.64-28.88-28.59-3.01-13.5,5.47-26.93,18.92-29.93,1.79-.4,3.63-.6,5.45-.6M225.2,185.89c-1.91,0-3.85.21-5.79.64-14.32,3.2-23.33,17.44-20.12,31.82,2.96,13.25,17.02,29.83,30.42,29.83,1.13,0,2.26-.12,3.38-.37,14.32-3.2,21.27-26.66,18.06-41.04-2.77-12.43-13.77-20.88-25.95-20.88h0Z" />
</g>
<ellipse class="cls-29" cx="230.67" cy="219.98" rx="4.31" ry="2.45"
transform="translate(-79.41 146.15) rotate(-30.25)" />
<path class="cls-29"
d="M232.2,239.71c-3.18,1.47-5.4,4.66-5.98,8.12,2.57.55,5.16.52,7.74-.25,2.91-.86,5.57-2.62,7.96-5.02-1.93-3.33-5.91-4.6-9.72-2.86Z" />
<path class="cls-15"
d="M242.42,187.67c-5.3-19.47-12.26-34.01-21.45-41.85-3.75,20.4-7.56,34.55-11.44,40.25,10.97-5.08,21.93-4.28,32.89,1.6Z" />
</g>
<g>
<path class="cls-27"
d="M349.34,162.33c3.27.86,10.04-5.15,10.74-7.84.44-1.68-.75-3.4-2.41-3.92-1.23-.39-3.18.45-5.23-.09-1.98-.52-3.37-2.22-4.64-2.49-1.7-.36-3.59.57-4.03,2.25-.73,2.78,2.29,11.24,5.56,12.1Z" />
<ellipse class="cls-27" cx="359.12" cy="163.25" rx="4.12" ry="3"
transform="translate(156.11 501.49) rotate(-83.47)" />
<ellipse class="cls-27" cx="352.1" cy="167.14" rx="4.12" ry="3"
transform="translate(146.02 497.96) rotate(-83.47)" />
<ellipse class="cls-27" cx="340.41" cy="158.35" rx="4.12" ry="3"
transform="translate(62.48 410.76) rotate(-67.19)" />
<ellipse class="cls-27" cx="344.62" cy="165.18" rx="4.12" ry="3"
transform="translate(58.76 418.83) rotate(-67.19)" />
</g>
<g>
<path class="cls-22"
d="M242.56,289.87c3.27.86,10.04-5.15,10.74-7.84.44-1.68-.75-3.4-2.41-3.92-1.23-.39-3.18.45-5.23-.09-1.98-.52-3.37-2.22-4.64-2.49-1.7-.36-3.59.57-4.03,2.25-.73,2.78,2.29,11.24,5.56,12.1Z" />
<ellipse class="cls-22" cx="252.34" cy="290.79" rx="4.12" ry="3"
transform="translate(-65.25 508.43) rotate(-83.47)" />
<ellipse class="cls-22" cx="245.32" cy="294.68" rx="4.12" ry="3"
transform="translate(-75.34 504.91) rotate(-83.47)" />
<ellipse class="cls-22" cx="233.63" cy="285.89" rx="4.12" ry="3"
transform="translate(-120.47 390.43) rotate(-67.19)" />
<ellipse class="cls-22" cx="237.84" cy="292.72" rx="4.12" ry="3"
transform="translate(-124.19 398.49) rotate(-67.19)" />
</g>
<g>
<path class="cls-29"
d="M343.3,305.61c-2.01,2.72,1.07,11.23,3.31,12.88,1.39,1.03,3.44.56,4.53-.78.81-1,.76-3.12,2.02-4.83,1.22-1.65,3.31-2.31,4.03-3.38.97-1.44.8-3.54-.6-4.57-2.31-1.7-11.29-2.04-13.3.69Z" />
<ellipse class="cls-29" cx="338.82" cy="314.36" rx="3" ry="4.12"
transform="translate(-98.5 463.92) rotate(-61.74)" />
<ellipse class="cls-29" cx="337.81" cy="306.4" rx="3" ry="4.12"
transform="translate(-92.03 458.84) rotate(-61.74)" />
<ellipse class="cls-29" cx="350.3" cy="298.79" rx="3" ry="4.12"
transform="translate(-108.38 338.85) rotate(-45.45)" />
<ellipse class="cls-29" cx="342.4" cy="300.17" rx="3" ry="4.12"
transform="translate(-111.72 333.63) rotate(-45.45)" />
</g>
<g>
<path class="cls-1"
d="M344.46,254.86c-2.69,2.05-2.12,11.08-.44,13.29,1.05,1.38,3.14,1.5,4.57.52,1.06-.73,1.6-2.78,3.29-4.07,1.63-1.24,3.83-1.29,4.82-2.12,1.33-1.12,1.76-3.17.71-4.56-1.74-2.28-10.26-5.12-12.96-3.07Z" />
<ellipse class="cls-1" cx="337.71" cy="261.99" rx="3" ry="4.12"
transform="translate(-85.91 318.89) rotate(-45.45)" />
<ellipse class="cls-1" cx="338.96" cy="254.07" rx="3" ry="4.12"
transform="translate(-79.89 317.42) rotate(-45.45)" />
<ellipse class="cls-1" cx="353.09" cy="250.27" rx="3" ry="4.12"
transform="translate(-77.21 203.86) rotate(-29.17)" />
<ellipse class="cls-1" cx="345.11" cy="249.38" rx="3" ry="4.12"
transform="translate(-77.78 199.86) rotate(-29.17)" />
</g>
<g>
<path class="cls-6" d="M242.69,184.4s5.67-6.78-1.3-9.09" />
<path class="cls-2"
d="M211.84,179.76c-3.28-.4-.19,3.4,2.34,6.81,3.65,4.93,10.27,6.56,18.79,9.38,14.41,4.77,24.24,14.26,26.77,6.6,2.54-7.66-6.57-19.81-21.51-22.51-14.02-2.54-16.41.94-26.39-.28Z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 50 KiB

@@ -0,0 +1,662 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="devops-skills" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600">
<defs>
<style>
.cls-1 {
fill: #fda303;
}
.cls-2 {
fill: #a6ba00;
}
.cls-3 {
opacity: .6;
}
.cls-4 {
fill: #f8b2b4;
}
.cls-4,
.cls-5,
.cls-6,
.cls-7,
.cls-8,
.cls-9,
.cls-10,
.cls-11,
.cls-12,
.cls-13,
.cls-14,
.cls-15,
.cls-16,
.cls-17,
.cls-18,
.cls-19,
.cls-20,
.cls-21,
.cls-22,
.cls-23,
.cls-24,
.cls-25,
.cls-26,
.cls-27,
.cls-28,
.cls-29,
.cls-30,
.cls-31,
.cls-32,
.cls-33,
.cls-34 {
stroke: #000;
}
.cls-4,
.cls-5,
.cls-6,
.cls-7,
.cls-8,
.cls-9,
.cls-10,
.cls-11,
.cls-12,
.cls-13,
.cls-14,
.cls-15,
.cls-16,
.cls-17,
.cls-18,
.cls-19,
.cls-21,
.cls-22,
.cls-23,
.cls-24,
.cls-25,
.cls-26,
.cls-27,
.cls-28,
.cls-29,
.cls-30,
.cls-35,
.cls-31,
.cls-36,
.cls-33,
.cls-34 {
stroke-miterlimit: 10;
}
.cls-4,
.cls-5,
.cls-7,
.cls-8,
.cls-10,
.cls-14,
.cls-15,
.cls-16,
.cls-17,
.cls-18,
.cls-19,
.cls-21,
.cls-25,
.cls-26,
.cls-27,
.cls-29,
.cls-30,
.cls-31,
.cls-36,
.cls-33,
.cls-34 {
stroke-width: 1.34px;
}
.cls-5,
.cls-13 {
fill: #4d4d4d;
}
.cls-6,
.cls-12,
.cls-20,
.cls-23,
.cls-32 {
stroke-width: 1.82px;
}
.cls-6,
.cls-20,
.cls-27,
.cls-30 {
fill: #666;
}
.cls-7 {
fill: #c69c6d;
}
.cls-8,
.cls-11,
.cls-37 {
fill: #ccc;
}
.cls-9 {
fill: #ffc435;
stroke-width: 1.45px;
}
.cls-10,
.cls-23,
.cls-38 {
fill: #754c24;
}
.cls-10,
.cls-27,
.cls-29,
.cls-31 {
opacity: .8;
}
.cls-11 {
stroke-width: 2.27px;
}
.cls-12,
.cls-39,
.cls-29,
.cls-33 {
fill: #a67c52;
}
.cls-13 {
stroke-width: 2.14px;
}
.cls-14 {
fill: gray;
}
.cls-40,
.cls-18,
.cls-36 {
fill: #fff;
}
.cls-41 {
fill: #000002;
}
.cls-15,
.cls-22,
.cls-42,
.cls-28,
.cls-35,
.cls-31,
.cls-32 {
fill: none;
}
.cls-16 {
fill: #009245;
}
.cls-17 {
fill: #333;
}
.cls-43 {
fill: #6a1901;
}
.cls-44 {
fill: #ecac00;
}
.cls-45 {
fill: #ff7545;
}
.cls-19 {
fill: #fef381;
}
.cls-20,
.cls-42,
.cls-32 {
stroke-linejoin: round;
}
.cls-46 {
fill: #de6f03;
}
.cls-47 {
fill: #f2f2f2;
}
.cls-21 {
fill: #fbb03b;
}
.cls-22 {
stroke-width: 2px;
}
.cls-42 {
stroke: #ccc;
stroke-width: 2.41px;
}
.cls-42,
.cls-28,
.cls-32 {
stroke-linecap: round;
}
.cls-48 {
fill: #010a1b;
}
.cls-24 {
fill: #1f3159;
}
.cls-25 {
fill: #29abe2;
}
.cls-26,
.cls-49 {
fill: #1a1a1a;
}
.cls-50 {
fill: #0092e6;
}
.cls-51 {
fill: #999;
}
.cls-28 {
stroke-width: 3.64px;
}
.cls-52 {
fill: #011329;
}
.cls-35 {
stroke-width: 2.67px;
}
.cls-35,
.cls-36 {
stroke: #fff;
}
.cls-34 {
fill: #0071bc;
}
.cls-53 {
fill: #dd5030;
}
.cls-54 {
fill: #242424;
}
</style>
</defs>
<g id="background" class="cls-3">
<g>
<g>
<rect class="cls-51" x="358.22" y="366.65" width="14.65" height="8.09" />
<path d="M372.75,366.78v7.84h-14.4v-7.84h14.4M373,366.53h-14.9v8.34h14.9v-8.34h0Z" />
</g>
<g>
<rect class="cls-51" x="409.34" y="366.65" width="14.65" height="8.09" />
<path d="M423.87,366.78v7.84h-14.4v-7.84h14.4M424.12,366.53h-14.9v8.34h14.9v-8.34h0Z" />
</g>
<g>
<path class="cls-51"
d="M412,366.4v-5.73l6.98-.91v6.64h-6.98ZM407.5,360.59v-8.94h7.14l-3.77,8.94h-3.36Z" />
<path
d="M414.45,351.78l-3.67,8.69h-3.15v-8.69h6.82M418.86,359.9v6.37h-6.73v-5.5l6.73-.88M414.83,351.53h-7.45v9.19h4.5v5.81h7.23v-6.91l-8.15,1.06,3.86-9.15h0Z" />
</g>
<g>
<path class="cls-51"
d="M363.1,366.4v-6.59l6.97.92v5.68h-6.97ZM370.79,360.59l-3.77-8.94h7.55v8.94h-3.78Z" />
<path
d="M374.44,351.78v8.69h-3.57l-3.67-8.69h7.24M363.22,359.95l6.72.88v5.44h-6.72v-6.32M374.69,351.53h-7.87l3.86,9.15-7.72-1.01v6.86h7.22v-5.81h4.5v-9.19h0Z" />
</g>
<g>
<rect class="cls-51" x="378.52" y="333.27" width="26.75" height="20.42" />
<path d="M405.14,333.39v20.17h-26.5v-20.17h26.5M405.39,333.14h-27v20.67h27v-20.67h0Z" />
</g>
<g>
<rect class="cls-51" x="380.63" y="335.3" width="10.54" height="9.66" />
<path d="M391.04,335.42v9.41h-10.29v-9.41h10.29M391.29,335.17h-10.79v9.91h10.79v-9.91h0Z" />
</g>
<g>
<rect class="cls-51" x="393.31" y="335.3" width="10.54" height="9.66" />
<path d="M403.72,335.42v9.41h-10.29v-9.41h10.29M403.97,335.17h-10.79v9.91h10.79v-9.91h0Z" />
</g>
<g>
<path class="cls-44"
d="M385.9,343.46c-2.1,0-3.81-1.53-3.81-3.41s1.71-3.41,3.81-3.41,3.81,1.53,3.81,3.41-1.71,3.41-3.81,3.41Z" />
<path
d="M385.9,336.9c1.96,0,3.56,1.42,3.56,3.16s-1.6,3.16-3.56,3.16-3.56-1.42-3.56-3.16,1.6-3.16,3.56-3.16M385.9,336.4c-2.24,0-4.06,1.64-4.06,3.66s1.82,3.66,4.06,3.66,4.06-1.64,4.06-3.66-1.82-3.66-4.06-3.66h0Z" />
</g>
<g>
<polygon class="cls-2" points="373.08 360.59 369.49 351.07 412.43 351.07 408.84 360.59 373.08 360.59" />
<path
d="M412.25,351.2l-3.5,9.27h-35.58l-3.5-9.27h42.58M412.61,350.95h-43.3l3.69,9.77h35.92l3.69-9.77h0Z" />
</g>
<g>
<path class="cls-44"
d="M398.58,343.46c-2.1,0-3.81-1.53-3.81-3.41s1.71-3.41,3.81-3.41,3.81,1.53,3.81,3.41-1.71,3.41-3.81,3.41Z" />
<path
d="M398.58,336.9c1.96,0,3.56,1.42,3.56,3.16s-1.6,3.16-3.56,3.16-3.56-1.42-3.56-3.16,1.6-3.16,3.56-3.16M398.58,336.4c-2.24,0-4.06,1.64-4.06,3.66s1.82,3.66,4.06,3.66,4.06-1.64,4.06-3.66-1.82-3.66-4.06-3.66h0Z" />
</g>
<g>
<rect class="cls-2" x="378.52" y="353.93" width="25.22" height="28.88" />
<path d="M403.61,354.06v28.63h-24.97v-28.63h24.97M403.86,353.81h-25.47v29.13h25.47v-29.13h0Z" />
</g>
<rect class="cls-48" x="379.41" y="382.93" width="23.24" height="7.17" />
<rect class="cls-24" x="381.2" y="390.1" width="7.52" height="10.8" />
<rect class="cls-24" x="392.7" y="390.1" width="7.52" height="10.8" />
<ellipse class="cls-41" cx="385.22" cy="407.8" rx="2.93" ry="1.62" />
<ellipse class="cls-41" cx="398.61" cy="407.8" rx="2.93" ry="1.62" />
<g>
<rect class="cls-51" x="376.17" y="346.27" width="30.74" height="7.51" />
<path d="M406.79,346.4v7.26h-30.49v-7.26h30.49M407.04,346.15h-30.99v7.76h30.99v-7.76h0Z" />
</g>
<rect class="cls-49" x="377.38" y="347.65" width="28.33" height="4.76" />
<rect class="cls-24" x="377.27" y="400.91" width="13.46" height="6.89" />
<rect class="cls-24" x="391.13" y="400.91" width="13.46" height="6.89" />
<rect class="cls-40" x="389.05" y="347.65" width="1.97" height="3.3" />
<rect class="cls-40" x="393.53" y="347.65" width="1.97" height="3.3" />
<g>
<polygon class="cls-40" points="378.53 353.93 403.67 353.93 391.1 380.4 378.53 353.93" />
<path
d="M403.47,354.06l-12.37,26.05-12.37-26.05h24.74M403.86,353.81h-25.53l12.77,26.88,12.77-26.88h0Z" />
</g>
<g>
<rect class="cls-40" x="378.52" y="376.45" width="25.22" height="6.36" />
<path d="M403.61,376.58v6.11h-24.97v-6.11h24.97M403.86,376.33h-25.47v6.61h25.47v-6.61h0Z" />
</g>
<g>
<path class="cls-1"
d="M391.13,373.79c-1.19,0-2.16-1.26-2.16-2.81s.97-2.81,2.16-2.81,2.16,1.26,2.16,2.81-.97,2.81-2.16,2.81Z" />
<path class="cls-43"
d="M391.13,368.43c1.05,0,1.91,1.15,1.91,2.56s-.86,2.56-1.91,2.56-1.91-1.15-1.91-2.56.86-2.56,1.91-2.56M391.13,367.93c-1.33,0-2.41,1.37-2.41,3.06s1.08,3.06,2.41,3.06,2.41-1.37,2.41-3.06-1.08-3.06-2.41-3.06h0Z" />
</g>
<ellipse cx="385.9" cy="340.05" rx=".89" ry="1.12" />
<ellipse cx="398.58" cy="340.05" rx=".89" ry="1.14" />
<polyline class="cls-22" points="395.89 334.58 392.24 337.2 388.22 334.58" />
<line class="cls-22" x1="392.24" y1="337.2" x2="392.24" y2="333.14" />
<rect x="383.98" y="330" width="3.84" height="3.15" />
<rect x="396.66" y="330" width="3.84" height="3.15" />
<polygon class="cls-52" points="370.69 360.68 361.48 359.48 366.32 350.32 370.69 360.68" />
<polygon class="cls-52" points="410.96 360.68 420.17 359.48 415.34 350.32 410.96 360.68" />
<g>
<rect class="cls-46" x="395.27" y="318.46" width="6.62" height="13.07" rx="2.94" ry="2.94" />
<path
d="M398.95,318.59c1.55,0,2.81,1.26,2.81,2.81v7.19c0,1.55-1.26,2.81-2.81,2.81h-.75c-1.55,0-2.81-1.26-2.81-2.81v-7.19c0-1.55,1.26-2.81,2.81-2.81h.75M398.95,318.34h-.75c-1.69,0-3.06,1.37-3.06,3.06v7.19c0,1.69,1.37,3.06,3.06,3.06h.75c1.69,0,3.06-1.37,3.06-3.06v-7.19c0-1.69-1.37-3.06-3.06-3.06h0Z" />
</g>
<g>
<rect class="cls-46" x="382.59" y="318.46" width="6.62" height="13.07" rx="2.94" ry="2.94" />
<path
d="M386.27,318.59c1.55,0,2.81,1.26,2.81,2.81v7.19c0,1.55-1.26,2.81-2.81,2.81h-.75c-1.55,0-2.81-1.26-2.81-2.81v-7.19c0-1.55,1.26-2.81,2.81-2.81h.75M386.27,318.34h-.75c-1.69,0-3.06,1.37-3.06,3.06v7.19c0,1.69,1.37,3.06,3.06,3.06h.75c1.69,0,3.06-1.37,3.06-3.06v-7.19c0-1.69-1.37-3.06-3.06-3.06h0Z" />
</g>
<rect x="389.47" y="343.88" width="5.54" height="2.26" />
</g>
<g id="git-van">
<rect class="cls-19" x="56.49" y="291.93" width="106" height="94.92" />
<rect class="cls-30" x="56.49" y="386.85" width="114.19" height="10.6" />
<rect class="cls-5" x="56.49" y="397.45" width="91.77" height="16.16" />
<circle class="cls-26" cx="111.89" cy="410.23" r="11.08" />
<circle class="cls-26" cx="81.05" cy="410.23" r="11.08" />
<g>
<path class="cls-53"
d="M109.49,358.77c-1.6,0-3.11-.62-4.24-1.75l-13.39-13.39c-2.34-2.34-2.34-6.14,0-8.47l13.39-13.39c1.13-1.13,2.64-1.75,4.24-1.75s3.11.62,4.24,1.75l13.39,13.39c2.34,2.34,2.34,6.14,0,8.48l-13.39,13.39c-1.13,1.13-2.64,1.75-4.24,1.75Z" />
<path
d="M109.49,320.67c1.42,0,2.76.55,3.77,1.56l13.39,13.39c1.01,1.01,1.56,2.34,1.56,3.77s-.55,2.76-1.56,3.77l-13.39,13.39c-1.01,1.01-2.34,1.56-3.77,1.56s-2.76-.55-3.77-1.56l-13.39-13.39c-2.08-2.08-2.08-5.45,0-7.53l13.39-13.39c1.01-1.01,2.34-1.56,3.77-1.56M109.49,319.34c-1.7,0-3.41.65-4.71,1.95l-13.39,13.39c-2.6,2.6-2.6,6.82,0,9.42l13.39,13.39c1.3,1.3,3.01,1.95,4.71,1.95s3.41-.65,4.71-1.95l13.39-13.39c2.6-2.6,2.6-6.82,0-9.42l-13.39-13.39c-1.3-1.3-3.01-1.95-4.71-1.95h0Z" />
</g>
<line class="cls-35" x1="102.99" y1="323.08" x2="120.64" y2="340.73" />
<line class="cls-35" x1="109.49" y1="351.05" x2="109.49" y2="329.58" />
<circle class="cls-36" cx="109.49" cy="351.05" r="3.05" />
<circle class="cls-36" cx="109.49" cy="329.58" r="3.05" />
<circle class="cls-36" cx="120.23" cy="340.31" r="3.05" />
</g>
<g id="testing-line">
<rect class="cls-14" x="259.14" y="326.96" width="19.51" height="11.14" />
<path class="cls-5"
d="M310.87,317.5c-4.57,0-8.27,3.7-8.27,8.27v12.33h4.98v-12.25c0-1.82,1.47-3.29,3.29-3.29s3.29,1.47,3.29,3.29v12.25h4.98v-12.33c0-4.57-3.7-8.27-8.27-8.27Z" />
<rect class="cls-17" x="233.82" y="375.68" width="175.15" height="8.19" rx="4.1" ry="4.1" />
<circle class="cls-30" cx="237.91" cy="379.78" r="4.1" />
<circle class="cls-30" cx="404.87" cy="379.78" r="4.1" />
<circle class="cls-18" cx="321.39" cy="379.78" r="4.1" />
<circle class="cls-18" cx="265.74" cy="379.78" r="4.1" />
<circle class="cls-18" cx="293.57" cy="379.78" r="4.1" />
<circle class="cls-30" cx="349.22" cy="379.78" r="4.1" />
<rect class="cls-8" x="248.35" y="338.1" width="85.77" height="51.56" />
<circle class="cls-30" cx="377.04" cy="379.78" r="4.1" />
<rect class="cls-7" x="358.97" y="360.99" width="19.15" height="14.7" />
<rect class="cls-33" x="356.93" y="357.85" width="23.25" height="3.13" />
<rect class="cls-38" x="364.88" y="363.88" width="7.35" height="3.13" />
<path class="cls-18"
d="M298.73,371.35l-5.49-9.5v-7.18c.51-.18.82-.44.82-.71,0-.56-1.27-1.01-2.83-1.01s-2.83.45-2.83,1.01c0,.28.31.53.82.71v7.18l-5.49,9.5c-.89,1.54.22,3.46,2,3.46h10.99c1.78,0,2.89-1.92,2-3.46Z" />
<path class="cls-34"
d="M296.73,374.82h-10.99c-1.78,0-2.88-1.93-1.99-3.47l2.1-3.64h10.79l2.1,3.64c.89,1.54-.23,3.47-2.01,3.47Z" />
<line class="cls-15" x1="321.39" y1="341.56" x2="331.72" y2="341.56" />
<line class="cls-15" x1="318.39" y1="344.45" x2="331.72" y2="344.45" />
<line class="cls-15" x1="320" y1="347.34" x2="331.72" y2="347.34" />
<rect class="cls-25" x="322.74" y="377.86" width="8.98" height="8.98" />
<rect class="cls-21" x="322.74" y="365.88" width="8.98" height="8.98" />
<circle class="cls-4" cx="264.43" cy="332.53" r="2.92" />
<circle class="cls-16" cx="273.23" cy="332.53" r="2.92" />
<line class="cls-15" x1="291.15" y1="389.65" x2="291.15" y2="415.23" />
<line class="cls-15" x1="255.25" y1="389.65" x2="255.25" y2="415.23" />
<line class="cls-15" x1="327.23" y1="389.65" x2="327.23" y2="415.23" />
<line class="cls-15" x1="255.25" y1="409.61" x2="327.23" y2="409.61" />
<line class="cls-15" x1="255.25" y1="391.86" x2="291.15" y2="409.61" />
<line class="cls-15" x1="255.25" y1="409.61" x2="291.15" y2="391.86" />
<line class="cls-15" x1="291.24" y1="391.86" x2="327.14" y2="409.61" />
<line class="cls-15" x1="291.24" y1="409.61" x2="327.14" y2="391.86" />
<line class="cls-15" x1="350.15" y1="383.8" x2="350.15" y2="407.75" />
<line class="cls-15" x1="394.18" y1="383.8" x2="394.18" y2="407.75" />
<line class="cls-15" x1="350.25" y1="403.79" x2="394.18" y2="403.79" />
<line class="cls-15" x1="350.25" y1="388.98" x2="394.07" y2="403.79" />
<line class="cls-15" x1="350.25" y1="403.79" x2="394.07" y2="388.98" />
</g>
<g id="cycle-repeats">
<rect class="cls-10" x="430.33" y="363.88" width="43.04" height="43.04" />
<rect class="cls-10" x="433.54" y="363.88" width="36.62" height="43.04" />
<rect class="cls-29" x="433.54" y="367.01" width="36.62" height="36.78" />
<rect class="cls-27" x="422.84" y="406.92" width="58.02" height="2.85" />
<line class="cls-31" x1="473.78" y1="369.12" x2="487.94" y2="409.77" />
<g>
<path class="cls-50" d="M441.24,384.81h21.25s-1.39,9.35-10.62,9.35c-11.86,0-10.62-9.35-10.62-9.35Z" />
<g>
<rect class="cls-50" x="452.86" y="376.76" width="2.47" height="2.47" />
<path class="cls-39"
d="M455.2,376.89v2.22h-2.22v-2.22h2.22M455.45,376.64h-2.72v2.72h2.72v-2.72h0Z" />
</g>
<g>
<rect class="cls-50" x="452.86" y="379.49" width="2.47" height="2.47" />
<path class="cls-39"
d="M455.2,379.61v2.22h-2.22v-2.22h2.22M455.45,379.36h-2.72v2.72h2.72v-2.72h0Z" />
</g>
<g>
<rect class="cls-50" x="450.13" y="379.49" width="2.47" height="2.47" />
<path class="cls-39"
d="M452.48,379.61v2.22h-2.22v-2.22h2.22M452.73,379.36h-2.72v2.72h2.72v-2.72h0Z" />
</g>
<g>
<rect class="cls-50" x="450.13" y="382.21" width="2.47" height="2.47" />
<path class="cls-39"
d="M452.48,382.34v2.22h-2.22v-2.22h2.22M452.73,382.09h-2.72v2.72h2.72v-2.72h0Z" />
</g>
<g>
<rect class="cls-50" x="447.41" y="382.21" width="2.47" height="2.47" />
<path class="cls-39"
d="M449.76,382.34v2.22h-2.22v-2.22h2.22M450.01,382.09h-2.72v2.72h2.72v-2.72h0Z" />
</g>
<g>
<rect class="cls-50" x="447.41" y="379.49" width="2.47" height="2.47" />
<path class="cls-39"
d="M449.76,379.61v2.22h-2.22v-2.22h2.22M450.01,379.36h-2.72v2.72h2.72v-2.72h0Z" />
</g>
<g>
<rect class="cls-50" x="444.69" y="382.21" width="2.47" height="2.47" />
<path class="cls-39"
d="M447.03,382.34v2.22h-2.22v-2.22h2.22M447.28,382.09h-2.72v2.72h2.72v-2.72h0Z" />
</g>
<g>
<rect class="cls-50" x="452.86" y="382.21" width="2.47" height="2.47" />
<path class="cls-39"
d="M455.2,382.34v2.22h-2.22v-2.22h2.22M455.45,382.09h-2.72v2.72h2.72v-2.72h0Z" />
</g>
<g>
<rect class="cls-50" x="455.58" y="382.21" width="2.47" height="2.47" />
<path class="cls-39"
d="M457.93,382.34v2.22h-2.22v-2.22h2.22M458.18,382.09h-2.72v2.72h2.72v-2.72h0Z" />
</g>
<path class="cls-50"
d="M465.84,383.82c-.84,1.36-2.62,1.78-3.99.95s-1.79-2.62-.96-3.98c.16-.25.34-.48.56-.66l1.7,2.51,3.01.38c-.06.28-.18.54-.34.8Z" />
</g>
</g>
</g>
<g id="poor-foxo">
<g>
<g>
<path class="cls-45"
d="M198.25,433.24c-20.66,0-37.42-30.92-37.42-51.1s16.79-37.42,37.42-37.42,37.42,16.79,37.42,37.42-16.76,51.1-37.42,51.1Z" />
<path class="cls-54"
d="M198.25,345.93c19.97,0,36.21,16.25,36.21,36.21s-16.22,49.89-36.21,49.89-36.21-30.19-36.21-49.89,16.24-36.21,36.21-36.21M198.25,343.51c-21.33,0-38.63,17.29-38.63,38.63s17.29,52.31,38.63,52.31,38.63-30.97,38.63-52.31-17.29-38.63-38.63-38.63h0Z" />
</g>
<g>
<path class="cls-45"
d="M269.83,586.05c-39.22,0-71.84-29.81-75.67-68.46,10.98,10.55,25.74,16.54,41.01,16.54,32.61,0,59.15-26.53,59.15-59.15,0-15.26-5.69-29.54-16.11-40.55,38.2,4.2,67.66,36.78,67.66,75.57,0,41.93-34.11,76.05-76.05,76.05Z" />
<path class="cls-54"
d="M281.29,436.05c16.45,2.53,31.56,10.46,43.1,22.73,13.08,13.92,20.29,32.11,20.29,51.22,0,41.27-33.57,74.84-74.84,74.84-37.51,0-68.89-27.71-74.08-64.18,10.9,9.39,24.94,14.67,39.42,14.67,33.28,0,60.35-27.08,60.35-60.35,0-14.47-5.01-28.06-14.24-38.93M275.02,432.94c11.14,10.56,18.1,25.48,18.1,42.04,0,32-25.94,57.94-57.94,57.94-16.78,0-31.88-7.14-42.47-18.54,2.27,40.63,35.93,72.87,77.12,72.87s77.25-34.59,77.25-77.25-31.82-74.39-72.07-77.06h0Z" />
</g>
<circle class="cls-54" cx="197.64" cy="424.79" r="9.66" />
<ellipse class="cls-54" cx="186.17" cy="391.8" rx="2.41" ry="4.83" />
<g>
<path class="cls-45"
d="M198.25,590.06c-42.25,0-42.25-15.74-42.25-44.31s20.09-106.91,42.25-106.91,42.25,76.97,42.25,106.91v.58c0,13.98,0,25.02-5.21,32.4-5.53,7.84-16.96,11.33-37.04,11.33Z" />
<path class="cls-54"
d="M198.25,440.05c9.19,0,19.56,15.18,28.44,41.65,8.27,24.66,12.6,50.89,12.6,64.05v.58c0,13.77,0,24.64-4.99,31.7-5.28,7.48-16.4,10.82-36.05,10.82-41.04,0-41.04-14.4-41.04-43.1,0-13.16,4.33-39.39,12.6-64.05,8.88-26.47,19.25-41.65,28.44-41.65M198.25,437.63c-24,0-43.46,79.43-43.46,108.12s0,45.52,43.46,45.52,43.46-16.82,43.46-45.52-19.46-108.12-43.46-108.12h0Z" />
</g>
<ellipse class="cls-54" cx="209.11" cy="391.8" rx="2.41" ry="4.83" />
<g>
<path class="cls-45"
d="M156.13,367.23c-2.87-14.22-.6-34.99,2.25-46.36.96-3.82,2.19-6.02,3.39-6.02,2.77,0,7.49,8.06,11.65,15.17,2.23,3.8,4.52,7.72,6.88,11.21-11.32,4.97-20.07,14.43-24.17,26Z" />
<path class="cls-54"
d="M161.8,316.06h0,0M161.79,316.07c.16.02,1.32.32,3.88,3.81,2.06,2.81,4.32,6.67,6.71,10.76,1.99,3.4,4.03,6.89,6.14,10.09-9.67,4.61-17.4,12.47-21.88,22.09-1.73-13.67.37-31.46,2.91-41.65,1.06-4.26,2.1-5.02,2.24-5.1M161.77,313.65c-1.79,0-3.33,2-4.56,6.93-3.01,12.06-5.76,36.53-1.17,51.18,3.37-13.7,13.22-24.84,26.11-29.98-7.83-11.08-15.15-28.13-20.38-28.13h0Z" />
</g>
<g>
<path class="cls-45"
d="M239.96,367.23c-4.1-11.57-12.85-21.03-24.17-26,2.37-3.48,4.66-7.4,6.88-11.21,4.16-7.11,8.88-15.17,11.65-15.17,1.2,0,2.44,2.19,3.39,6.02,2.84,11.37,5.12,32.14,2.25,46.36Z" />
<path class="cls-54"
d="M234.3,316.07c.14.08,1.18.85,2.24,5.1,2.55,10.19,4.64,27.98,2.91,41.65-4.48-9.61-12.2-17.47-21.88-22.09,2.11-3.2,4.15-6.69,6.14-10.09,2.39-4.09,4.66-7.96,6.71-10.76,2.56-3.49,3.71-3.79,3.88-3.81M234.32,313.65c-5.22,0-12.54,17.05-20.38,28.13,12.89,5.14,22.74,16.28,26.11,29.98,4.59-14.65,1.84-39.12-1.17-51.18-1.23-4.93-2.78-6.93-4.56-6.93h0Z" />
</g>
<g id="laptop">
<g>
<polygon class="cls-37"
points="138.8 532.33 115.35 450.24 281.14 450.24 257.69 532.33 138.8 532.33" />
<path class="cls-54"
d="M279.54,451.45l-22.76,79.67h-117.07l-22.76-79.67h162.59M282.74,449.04H113.75l24.14,84.5h120.71l24.14-84.5h0Z" />
</g>
<polygon class="cls-47"
points="217.21 479.21 179.29 479.21 181.02 503.35 215.47 503.35 217.21 479.21" />
<line class="cls-42" x1="198.25" y1="465.52" x2="198.25" y2="511.37" />
<line class="cls-42" x1="170.91" y1="491.28" x2="225.58" y2="491.28" />
</g>
<g>
<path class="cls-40"
d="M293.19,486.54c.75-3.79,1.13-7.68,1.13-11.56,0-15.27-5.69-29.54-16.1-40.55,25.67,2.82,48.33,18.64,59.84,41.93l-19.94,22.51-24.92-12.34Z" />
<path class="cls-54"
d="M281.29,436.05c23.67,3.65,44.37,18.56,55.32,40.12l-18.79,21.21-23.27-11.52c.65-3.58.98-7.23.98-10.88,0-14.47-5.01-28.06-14.24-38.93M275.02,432.94c11.14,10.56,18.09,25.48,18.09,42.04,0,4.2-.45,8.28-1.29,12.23l26.58,13.16,21.09-23.8c-11.76-24.44-36.01-41.74-64.47-43.62h0Z" />
</g>
<g>
<path class="cls-40"
d="M293.19,486.54c.75-3.79,1.13-7.68,1.13-11.56,0-15.27-5.69-29.54-16.1-40.55,25.67,2.82,48.33,18.64,59.84,41.93l-19.94,22.51-24.92-12.34Z" />
<path class="cls-54"
d="M281.29,436.05c23.67,3.65,44.37,18.56,55.32,40.12l-18.79,21.21-23.27-11.52c.65-3.58.98-7.23.98-10.88,0-14.47-5.01-28.06-14.24-38.93M275.02,432.94c11.14,10.56,18.09,25.48,18.09,42.04,0,4.2-.45,8.28-1.29,12.23l26.58,13.16,21.09-23.8c-11.76-24.44-36.01-41.74-64.47-43.62h0Z" />
</g>
</g>
<g>
<path class="cls-9"
d="M220.3,345.58c0,3.64,7.93,14.57-22.05,14.57s-22.05-10.92-22.05-14.57c0-8.38,4.67-15.65,11.53-19.39,3.14-1.69,6.7-2.66,10.52-2.66s7.38.97,10.51,2.66c6.88,3.74,11.55,11.01,11.55,19.39Z" />
<path class="cls-9"
d="M220.3,345.58c0,1.21-2.75,2.12-6.88,2.73-8.27,1.21-22.08,1.21-30.35,0-4.13-.61-6.88-1.52-6.88-2.73" />
<path class="cls-9"
d="M208.75,326.19c-1.94,1.92-5.91,3.24-10.51,3.24s-8.57-1.32-10.52-3.24c3.14-1.69,6.7-2.66,10.52-2.66s7.38.97,10.51,2.66Z" />
<path class="cls-9"
d="M213.42,348.31c-8.27,1.21-22.08,1.21-30.35,0,.22-8.74,3.55-16.26,8.37-19.96,1.92.66,4.28,1.07,6.81,1.07s4.88-.4,6.79-1.08c4.81,3.7,8.16,11.21,8.38,19.97Z" />
<line class="cls-9" x1="198.25" y1="329.42" x2="198.25" y2="349.22" />
<circle class="cls-11" cx="198.25" cy="349.22" r="6.89" />
</g>
</g>
<g id="oh-no">
<line class="cls-28" x1="367.78" y1="215.94" x2="304.56" y2="91.67" />
<rect class="cls-23" x="254.56" y="115.96" width="99.98" height="99.98" />
<rect class="cls-23" x="262.03" y="115.96" width="85.06" height="99.98" />
<rect class="cls-12" x="262.03" y="123.23" width="85.06" height="85.43" />
<rect class="cls-6" x="237.17" y="215.94" width="134.77" height="6.62" />
<g>
<path class="cls-50" d="M279.92,164.58h49.36s-3.23,21.72-24.68,21.72c-27.55,0-24.68-21.72-24.68-21.72Z" />
<g>
<rect class="cls-50" x="306.9" y="145.89" width="5.74" height="5.74" />
<path class="cls-39" d="M312.35,146.19v5.16h-5.16v-5.16h5.16M312.93,145.6h-6.33v6.33h6.33v-6.33h0Z" />
</g>
<g>
<rect class="cls-50" x="306.9" y="152.22" width="5.74" height="5.74" />
<path class="cls-39" d="M312.35,152.51v5.16h-5.16v-5.16h5.16M312.93,151.93h-6.33v6.33h6.33v-6.33h0Z" />
</g>
<g>
<rect class="cls-50" x="300.57" y="152.22" width="5.74" height="5.74" />
<path class="cls-39" d="M306.02,152.51v5.16h-5.16v-5.16h5.16M306.6,151.93h-6.33v6.33h6.33v-6.33h0Z" />
</g>
<g>
<rect class="cls-50" x="300.57" y="158.55" width="5.74" height="5.74" />
<path class="cls-39" d="M306.02,158.84v5.16h-5.16v-5.16h5.16M306.6,158.26h-6.33v6.33h6.33v-6.33h0Z" />
</g>
<g>
<rect class="cls-50" x="294.24" y="158.55" width="5.74" height="5.74" />
<path class="cls-39" d="M299.69,158.84v5.16h-5.16v-5.16h5.16M300.28,158.26h-6.33v6.33h6.33v-6.33h0Z" />
</g>
<g>
<rect class="cls-50" x="294.24" y="152.22" width="5.74" height="5.74" />
<path class="cls-39" d="M299.69,152.51v5.16h-5.16v-5.16h5.16M300.28,151.93h-6.33v6.33h6.33v-6.33h0Z" />
</g>
<g>
<rect class="cls-50" x="287.92" y="158.55" width="5.74" height="5.74" />
<path class="cls-39" d="M293.37,158.84v5.16h-5.16v-5.16h5.16M293.95,158.26h-6.33v6.33h6.33v-6.33h0Z" />
</g>
<g>
<rect class="cls-50" x="306.9" y="158.55" width="5.74" height="5.74" />
<path class="cls-39" d="M312.35,158.84v5.16h-5.16v-5.16h5.16M312.93,158.26h-6.33v6.33h6.33v-6.33h0Z" />
</g>
<g>
<rect class="cls-50" x="313.22" y="158.55" width="5.74" height="5.74" />
<path class="cls-39" d="M318.67,158.84v5.16h-5.16v-5.16h5.16M319.26,158.26h-6.33v6.33h6.33v-6.33h0Z" />
</g>
<path class="cls-50"
d="M337.05,162.29c-1.95,3.16-6.09,4.14-9.26,2.2-3.17-1.95-4.16-6.09-2.22-9.25.36-.59.79-1.11,1.3-1.53l3.96,5.84,7,.89c-.15.65-.41,1.26-.78,1.85Z" />
</g>
<circle class="cls-13" cx="304.56" cy="81.8" r="9.87" />
<line class="cls-28" x1="304.56" y1="91.67" x2="241.34" y2="215.94" />
<line class="cls-28" x1="304.56" y1="71.93" x2="304.56" y2="6.92" />
<path class="cls-20"
d="M192.74,273.29c-1.79,1.89-4.19,2.85-6.61,2.89.62-.34,1.18-.76,1.69-1.31,2.6-2.73,2.49-7.06-.25-9.66-2.73-2.6-7.06-2.49-9.66.25-.51.54-.91,1.12-1.22,1.76-.09-2.42.75-4.86,2.55-6.75,2.6-2.73,6.47-3.53,9.81-2.37l19.47-20.5c-1.33-3.28-.74-7.18,1.86-9.92,1.79-1.89,4.19-2.85,6.61-2.89-.62.34-1.18.76-1.69,1.31-2.6,2.73-2.49,7.06.25,9.66,2.73,2.6,7.06,2.49,9.66-.25.51-.54.91-1.12,1.22-1.76.09,2.42-.75,4.86-2.55,6.75-2.6,2.73-6.47,3.53-9.81,2.37l-19.47,20.5c1.33,3.28.74,7.18-1.86,9.92Z" />
<path class="cls-32" d="M182.14,224.8c-3.1-21.56-2.16-43.11,2.83-64.67" />
<path class="cls-32" d="M196.31,180.93c.55-14.83,4-28.19,10.93-39.78" />
<path class="cls-32" d="M211.69,212.6c-2.83-26.86,2.97-49.93,17.41-69.2" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 25 KiB

@@ -0,0 +1,176 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 600 600">
<defs>
<style>
.cls-1 {
fill: #d0c5f3;
}
.cls-1,
.cls-2,
.cls-3,
.cls-4,
.cls-5,
.cls-6,
.cls-7,
.cls-8 {
stroke: #231f20;
stroke-miterlimit: 10;
}
.cls-2 {
fill: #522cd5;
}
.cls-3 {
fill: #8a6fe8;
}
.cls-4,
.cls-9 {
fill: #fff;
}
.cls-10 {
fill: #ff7545;
}
.cls-5 {
fill: #a08be8;
}
.cls-11 {
fill: #231f20;
}
.cls-6 {
fill: #8f7ddd;
}
.cls-7 {
fill: #512bd4;
}
.cls-8 {
fill: url(#radial-gradient);
}
.cls-12 {
fill: #242424;
}
</style>
<radialGradient id="radial-gradient" cx="-1473.15" cy="795.32" fx="-1473.15" fy="795.32" r="1.1"
gradientTransform="translate(2201.63 -21775.47) rotate(-113.12) scale(13.27 -13.27)"
gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#8065e0" />
<stop offset=".86" stop-color="#512bd4" />
</radialGradient>
</defs>
<g id="dotnet">
<g>
<path class="cls-10"
d="M382.44,454.09c1.12-8.29,3.12-31.04-6.26-43.16-3.58-4.63-8.45-7.2-14.49-7.65-.67-.05-1.37-.08-2.08-.08-28,0-87.09,37.68-104.97,49.52,17.39-22.16,90.94-112.24,137.5-112.24,6.56,0,12.39,1.82,17.31,5.42,9.64,7.04,14.92,16.21,15.7,27.25,2.26,31.98-33.46,71.33-42.71,80.94Z" />
<path class="cls-12"
d="M392.13,341.49c6.34,0,11.97,1.76,16.72,5.23,9.39,6.85,14.54,15.77,15.3,26.51,2.09,29.56-28.87,65.67-40.36,77.99,1.06-10.01,1.8-29.76-6.82-40.9-3.76-4.86-8.88-7.56-15.21-8.04-.69-.05-1.42-.08-2.16-.08-25.97,0-78.15,31.92-100.37,46.32,8.84-11.06,24.64-30.07,43.1-48.91,37.25-38.03,68.3-58.13,89.79-58.13M392.13,339.49c-53.93,0-142.06,117.51-142.06,117.51,0,0,76.96-52.8,109.54-52.8.69,0,1.36.02,2.01.07,28.56,2.13,19.37,52.72,19.37,52.72,0,0,78.19-76.04,29.05-111.9-5.32-3.88-11.35-5.61-17.9-5.61h0Z" />
</g>
<g>
<path class="cls-10"
d="M530.91,456c-11.93,0-21.3-1.95-28.64-5.96-16.02-8.73-19.97-26.42-24.16-45.14-.69-3.1-1.41-6.3-2.18-9.48-7.65-31.31-31.99-54.11-59.96-56.72,6.91-3.26,23.79-10.2,42.07-10.2,30.85,0,51.29,18.82,60.77,55.94,3.18,12.44,7.83,22.91,13.82,31.11,13.33,18.22,30.65,22.05,42.83,22.05h0c4.5,0,8.12-.53,10.34-.96-3.82,5.25-17.55,19.36-54.89,19.36Z" />
<path class="cls-12"
d="M458.04,327.5v2c13.3,0,24.82,3.69,34.23,10.96,11.81,9.13,20.41,24.01,25.58,44.23,3.22,12.56,7.92,23.15,13.98,31.45,13.58,18.56,31.22,22.46,43.63,22.46,3.12,0,5.83-.25,7.96-.55-1.64,1.86-4.14,4.2-7.77,6.53-7.42,4.75-21.19,10.42-44.73,10.42-11.76,0-20.97-1.91-28.16-5.84-15.62-8.52-19.52-25.98-23.66-44.48-.69-3.1-1.41-6.31-2.19-9.5-7.42-30.39-30.4-52.87-57.28-57.04,8.06-3.47,22.71-8.65,38.42-8.65v-2M458.04,327.5c-24.31,0-45.85,11.97-45.85,11.97,30.47.85,55.23,25.34,62.77,56.19,5.49,22.52,7.73,44.84,26.83,55.25,7.06,3.86,16.42,6.08,29.12,6.08,46.97,0,57.02-21.88,57.02-21.88,0,0-5.04,1.48-12.48,1.48-11.52,0-28.78-3.55-42.02-21.64-5.47-7.49-10.26-17.49-13.65-30.77-11.55-45.25-37.97-56.7-61.74-56.7h0ZM587.94,435.12h0,0Z" />
</g>
<g>
<path class="cls-10"
d="M274.7,405.37c-2.73,0-5.43-.48-8.02-1.43-6.11-2.23-12.7-7.46-17.21-13.63-2.9-3.98-7.37-11.74-4.7-19.05,3.21-8.78,15.37-12.72,26-12.72,4.38,0,8.47.65,11.83,1.88,5.84,2.13,10.5,6.41,13.12,12.03,2.62,5.62,2.9,11.92.77,17.73-3.33,9.09-12.08,15.2-21.79,15.2Z" />
<path class="cls-12"
d="M270.78,357.69v1.7h0c4.28,0,8.27.63,11.54,1.83,11.61,4.25,17.61,17.1,13.38,28.66-3.2,8.76-11.64,14.64-20.99,14.64-2.63,0-5.23-.46-7.73-1.38-11.48-4.2-25.63-20.03-21.4-31.6,3.07-8.4,14.87-12.16,25.2-12.16v-1.7M270.78,357.69c-11.27,0-23.52,4.3-26.8,13.28-4.56,12.46,9.91,29.2,22.41,33.78,2.74,1,5.55,1.48,8.31,1.48,9.82,0,19.03-6.03,22.59-15.76,4.56-12.46-1.89-26.27-14.39-30.85-3.5-1.28-7.74-1.93-12.12-1.93h0Z" />
</g>
<ellipse class="cls-12" cx="268.64" cy="376.42" rx="3.89" ry="2.21"
transform="translate(-193.45 358.33) rotate(-52.24)" />
<path class="cls-12"
d="M251.14,372.72c-1.69,2.67-4.81,4.29-7.99,4.4-.19-2.37.14-4.69,1.13-6.9,1.11-2.5,3.01-4.69,5.44-6.54,2.75,2.12,3.43,5.84,1.41,9.05Z" />
<g>
<path class="cls-10"
d="M301.58,373.25c-2.14-6.62-6.06-13.78-15.26-17.54l14.96-11.27c4.17,12.07,3.36,17.16.3,28.81Z" />
<path class="cls-12"
d="M300.85,345.83c3.35,10.12,2.93,15.22.6,24.52-2.25-5.67-6.05-11.37-13.45-14.84l12.86-9.69M301.7,343.06l-17.12,12.9c10.31,3.59,14.64,11.35,17.05,20.46,3.85-14.45,5.09-19.34.08-33.36h0Z" />
</g>
</g>
<g id="dotnet-bot-2">
<path class="cls-6"
d="M123.36,404.49c.12-10.78-1.42-32.67-12.55-50.99l-10.88,6.61c10.09,16.62,10.85,36.01,10.62,44.48-.02.7,6.51,1.33,12.81-.1Z" />
<path class="cls-2" d="M110.55,404.47l10.08-.05,9.41,53.89-20.22.09c-1.54,0-2.71-1.23-2.61-2.77l3.34-51.16Z" />
<path class="cls-6"
d="M151.6,444.14c1.75,1.38,1.72,3.38,1.58,5.48l-.42,6.45c-.07,1.16-1.08,2.1-2.24,2.11l-21.07.09c-1.31,0-2.3-1.05-2.22-2.36l.14-6.69c.16-2.43-.66-3.33-2.54-5.61-3.22-3.91-12.76-25.26-11.85-39.15l10.38-.05c.69,8.26,11.58,26.58,28.24,39.73Z" />
<path class="cls-6"
d="M153.18,449.62c.09-1.47.13-2.88-.45-4.08l-26.29.12c.73,1.07,1.03,2,.93,3.56l-.14,6.69c-.08,1.31.91,2.37,2.22,2.36l21.07-.09c1.16,0,2.17-.95,2.24-2.11l.42-6.46Z" />
<path class="cls-6"
d="M67.78,404.73c-.21-10.78,1.12-32.68,12.08-51.1l10.94,6.51c-9.94,16.71-10.53,36.11-10.21,44.57.02.7-6.5,1.39-12.81.02Z" />
<path class="cls-6"
d="M56.76,448.17c-.02-1.44.19-2.71.81-4.81,9.41-25.72,10.21-38.69,10.21-38.69l12.83-.06s.88,12.73,10.52,38.36c.76,1.83.85,3.5.95,5.04l.06,8.23c0,1.24-1,2.26-2.24,2.27h-.62s-29.6.14-29.6.14h-.62c-1.25,0-2.26-.99-2.27-2.24l-.03-8.24Z" />
<path class="cls-6"
d="M56.76,448.17c0-.23,0-.46.02-.69.06-.72.39-1.52,1.96-1.53l31.65-.15c1.14.04,1.52.92,1.64,1.47.02.25.04.49.05.73l.06,8.23c0,.77-.39,1.47-.99,1.87-.36.25-.79.39-1.26.39h-.62s-29.6.14-29.6.14h-.62c-.62,0-1.19-.24-1.6-.65-.41-.41-.66-.97-.67-1.59l-.03-8.23Z" />
<path class="cls-3"
d="M137.66,300.92l10.32,6.94c-6.95,10.52-8.53,21.99-4.9,29.1,4.3,8.43,16.24,13.5,33.61,14.28l.19,12.43c-28.82-1.28-40.46-12.51-45.15-21.7-5.95-11.67-3.84-26.25,5.93-41.04Z" />
<path class="cls-5" d="M155.67,328.05l-10.45,8.46.99,1.22,10.45-8.46-.99-1.22Z" />
<path class="cls-6"
d="M154.74,337.83c7.59-16.31,7.22-30.51,7.22-30.51l4.03.74.11-.06c-.03-32.48-23.2-61.33-56.29-67.39-37.29-6.82-73.04,17.88-79.86,55.16-6.82,37.29,17.88,73.04,55.16,79.86,29.42,5.38,57.89-8.86,71.94-33.43.47-1.06.82-3.07-2.31-4.37Z" />
<path class="cls-4"
d="M154.74,337.83c7.5-16.11,7.23-30.15,7.22-30.49l-70.05-12.81s-4.33-1.26-5.07,2.77c-.74,4.03-2.65,15.45-4.96,28.05-.48,2.59,1.42,4.23,3.09,4.53,0,0,69.11,9.45,69.77,7.95Z" />
<path class="cls-5"
d="M112.71,330.17s12.33-6.56,14.72-7.75c2.39-1.19,4.25-.94,5.87,1.07,1.62,2.01,10.87,12.43,10.87,12.43l-31.46-5.75Z" />
<path class="cls-7"
d="M156.64,342.93s2.53-3.25-1.89-5.11c.01-.02-68.86-12.65-68.86-12.65-1.6-.29-3.49-1.63-3.39-3.21-.2,1.11-.41,2.24-.61,3.38-.43,2.35,1.09,3.91,2.62,4.41.15.05.31.09.47.12l4.71.86,66.95,12.19Z" />
<path class="cls-1"
d="M149.42,352.96l-116.43-21.29c1.8,4.92,4.15,9.6,7,13.95l97.93,17.91c4.21-3.07,8.06-6.61,11.49-10.58Z" />
<path class="cls-7" d="M135.91,346.87l-21.79-3.99-3.52,19.27,21.79,3.98,3.52-19.27Z" />
<path class="cls-3" d="M114.75,238.83l-13.03-2.47,4.37-13.03,9.36,1.78-.7,13.72Z" />
<path class="cls-2"
d="M118.18,247.96c.59.11,1.16-.31,1.2-.91.48-6.32-3.85-12.12-10.21-13.33-6.37-1.21-12.53,2.61-14.39,8.66-.18.57.2,1.17.78,1.28l22.62,4.29Z" />
<path class="cls-6"
d="M40.95,301.41c-17.45,11.38-35.97,33.13-26.56,72.44l12.22-2.99c-3.29-13.77-2.83-25.92,1.37-36.1,3.68-8.94,10.33-16.6,19.77-22.76l-6.81-10.58Z" />
<path class="cls-2"
d="M44.61,318.85c6.96,0,12.6-5.64,12.6-12.6s-5.64-12.6-12.6-12.6-12.6,5.64-12.6,12.6,5.64,12.6,12.6,12.6Z" />
<path class="cls-11"
d="M113.62,315.2c.86-4.91-.81-9.3-3.73-9.82-2.92-.51-5.99,3.05-6.85,7.96-.86,4.91.81,9.3,3.73,9.82,2.92.51,5.99-3.05,6.85-7.96Z" />
<path class="cls-11"
d="M153.01,322.26c1.01-4.88-.53-9.32-3.43-9.92-2.9-.6-6.07,2.87-7.08,7.75-1.01,4.88.53,9.32,3.43,9.92,2.9.6,6.07-2.87,7.08-7.75Z" />
<path class="cls-1"
d="M112.04,226.36c5.29,0,9.58-4.29,9.58-9.58s-4.29-9.58-9.58-9.58-9.57,4.29-9.57,9.58,4.29,9.58,9.57,9.58Z" />
<path class="cls-3"
d="M7.95,374.6l-2.11,12.63c-.54,3.37,1.76,6.54,5.13,7.08,3.37.54,6.54-1.76,7.08-5.13l2.16-12.95-12.26-1.63Z" />
<path class="cls-3"
d="M12.77,379.05l.39,12.8c.13,3.41,3,6.07,6.41,5.94,3.41-.13,6.07-3,5.94-6.41l-.4-13.13-12.34.8Z" />
<path class="cls-3"
d="M21.67,378.79l.72,12.79c.21,3.41,3.15,5.99,6.56,5.78,3.41-.21,5.99-3.15,5.78-6.56l-.74-13.11-12.32,1.1Z" />
<path class="cls-3"
d="M25.53,379.4l10.17,7.78c2.73,2.06,6.6,1.51,8.65-1.21,2.06-2.73,1.51-6.6-1.21-8.65l-10.43-7.98-7.18,10.07Z" />
<path class="cls-2"
d="M20.63,385.79c7.14,0,12.93-5.79,12.93-12.94s-5.79-12.93-12.93-12.93-12.93,5.79-12.93,12.93,5.79,12.94,12.93,12.94Z" />
<path class="cls-9"
d="M114.61,355.82c-.17-.03-.3-.12-.4-.25-.1-.14-.13-.29-.1-.45.03-.16.11-.29.26-.39.14-.09.3-.13.47-.09.17.03.31.12.41.26.1.14.14.29.1.45-.03.16-.11.29-.26.38-.14.09-.29.13-.47.09Z" />
<path class="cls-9"
d="M121.46,357l-1.11-.21-2.06-5.16c-.05-.13-.09-.26-.12-.4h-.03c0,.13-.05.42-.13.86l-.77,4.11-.98-.18,1.17-6.27,1.18.22,1.98,5.03c.08.21.14.35.16.43h.02c0-.17.04-.45.11-.85l.75-4.04.98.18-1.17,6.27Z" />
<path class="cls-9"
d="M126.24,357.89l-3.44-.64,1.17-6.27,3.3.62-.17.88-2.28-.42-.33,1.78,2.1.39-.16.88-2.1-.39-.35,1.86,2.42.45-.17.87Z" />
<path class="cls-9" d="M132.13,353.41l-1.76-.33-1,5.39-1.02-.19,1-5.39-1.75-.33.17-.88,4.53.85-.17.88Z" />
<path class="cls-8"
d="M158.37,366.42c4.28,5.86,12.49,7.13,18.34,2.86,5.85-4.28,7.13-12.49,2.86-18.34-4.28-5.85-12.49-7.13-18.34-2.86-5.86,4.28-7.13,12.49-2.86,18.34Z" />
<path class="cls-3"
d="M185.23,339.97l-18.36,5.44c-3.27.97-5.14,4.41-4.17,7.68.97,3.27,4.41,5.14,7.68,4.17l18.36-5.44c3.27-.97,5.14-4.41,4.17-7.68-.97-3.27-4.41-5.14-7.68-4.17Z" />
<path class="cls-3"
d="M170.46,362.38l16.66,6.19c3.22,1.2,6.79-.43,7.99-3.65,1.2-3.22-.43-6.79-3.65-7.99l-16.97-6.3-4.04,11.76Z" />
<path class="cls-3"
d="M167.98,369.56l14.81,9.8c2.87,1.88,6.72,1.09,8.6-1.78,1.88-2.87,1.09-6.72-1.78-8.6l-10.99-7.32-10.64,7.91Z" />
<path class="cls-3"
d="M161.11,368.42l6.83,10.92c1.84,2.89,5.68,3.75,8.58,1.91,2.89-1.84,3.75-5.68,1.91-8.58l-7.01-11.19-10.31,6.94Z" />
<path class="cls-2"
d="M158.13,351.4c-3.98,5.98-2.37,14.05,3.61,18.04,5.98,3.98,14.05,2.37,18.04-3.61,3.98-5.98,2.37-14.05-3.61-18.03s-14.05-2.37-18.03,3.61Z" />
<g>
<path class="cls-9"
d="M530.91,456c-11.62,0-20.81-1.85-28.06-5.65l2.92-31.32,27.2-3.01c13.28,17.82,30.41,21.58,42.48,21.58h0c4.5,0,8.12-.53,10.34-.96-3.82,5.25-17.55,19.36-54.89,19.36Z" />
<path class="cls-12"
d="M532.52,417.08c13.48,17.76,30.74,21.52,42.94,21.52,3.12,0,5.83-.25,7.96-.55-1.64,1.86-4.14,4.2-7.77,6.53-7.42,4.75-21.19,10.42-44.73,10.42-11.14,0-19.99-1.71-27-5.23l2.78-29.84,25.82-2.86M533.44,414.96l-28.58,3.16-3.06,32.8c7.06,3.86,16.42,6.08,29.12,6.08,46.97,0,57.02-21.88,57.02-21.88,0,0-5.04,1.48-12.48,1.48-11.52,0-28.78-3.55-42.02-21.64h0ZM587.94,435.12h0,0Z" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

@@ -0,0 +1,176 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="nodejs-skills" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 600">
<defs>
<style>
.cls-1 {
stroke-width: 3.09px;
}
.cls-1,
.cls-2 {
stroke: #fff;
}
.cls-1,
.cls-2,
.cls-3 {
fill: none;
}
.cls-1,
.cls-3,
.cls-4 {
stroke-linejoin: round;
}
.cls-5 {
fill: #3bd6fc;
}
.cls-6,
.cls-7 {
fill: #fff;
}
.cls-7 {
fill-rule: evenodd;
}
.cls-8,
.cls-4 {
fill: #ff7545;
}
.cls-2 {
stroke-width: 2.47px;
}
.cls-2,
.cls-9 {
stroke-miterlimit: 10;
}
.cls-10 {
fill: #487d3d;
}
.cls-3 {
stroke-width: 2px;
}
.cls-3,
.cls-4 {
stroke: #242424;
stroke-linecap: round;
}
.cls-11 {
fill: #3878c2;
}
.cls-9 {
stroke: #000;
}
.cls-9,
.cls-12 {
fill: #242424;
}
.laptop {
fill: #424242;
}
.strings {
fill: #424242;
stroke: #424242;
}
@media (prefers-color-scheme: dark) {
.laptop {
fill: #d6d6d6;
}
.strings {
fill: #d6d6d6;
stroke: #d6d6d6;
}
}
.cls-4 {
stroke-width: 1.58px;
}
</style>
</defs>
<line class="cls-9 strings" x1="254.57" y1="206.16" x2="209.33" y2="345.11" />
<line class="cls-9 strings" x1="209.84" y1="267.88" x2="209.33" y2="345.11" />
<line class="cls-9 strings" x1="203.68" y1="180.18" x2="209.33" y2="345.11" />
<g>
<path class="cls-10"
d="M322.48,146.97c-7.54,29.2-40.24,65.3-67.27,58.31-27.03-6.98-38.16-54.4-30.61-83.6,7.54-29.2,35.57-47.21,62.6-40.23,27.03,6.98,42.83,36.32,35.28,65.52Z" />
<polygon class="cls-6"
points="249.73 104.45 244.49 124.75 259.45 139.44 279.64 133.83 284.89 113.53 269.93 98.84 249.73 104.45" />
<path class="cls-1"
d="M265.72,176.44l4.7,4.62,18.99-5.27,4.93-19.08-14.06-13.81-18.99,5.27-4.93,19.08,5.04,4.72s4.2,2.81,5.71-3.06l4.1-15.87" />
<path class="cls-2"
d="M286.1,162.33s1.48-4.24-4.67-5.83-6.45,1.57-6.58,2.06-1,2.55,4.89,4.72c4.54,1.67,5.89,3.03,5.36,5.1s-3.15,3.12-6.95,2.14c-3.8-.98-6.29-3.05-5.48-6.21" />
</g>
<g>
<path class="cls-11"
d="M239.83,97.85c7.49,29.22-3.72,76.61-30.77,83.54s-59.67-29.22-67.16-58.44c-7.49-29.22,8.36-58.52,35.41-65.45,27.04-6.93,55.04,11.13,62.53,40.35Z" />
<path class="cls-7"
d="M170.11,100.29l38.1-9.77c.85-.22,1.72.29,1.94,1.13l9.66,37.67c.22.84-.3,1.7-1.15,1.92l-38.1,9.77c-.85.22-1.72-.29-1.94-1.13l-9.66-37.67c-.22-.84.3-1.7,1.15-1.92ZM197.01,116.48l-.86-3.34-14.66,3.76.86,3.34,5.23-1.34,3.81,14.87,4.17-1.07-3.81-14.87,5.26-1.35ZM202.38,130.53c.76.17,1.62.22,2.58.15.96-.07,1.95-.23,2.97-.49s1.91-.59,2.75-1c.84-.41,1.55-.92,2.11-1.52s.95-1.29,1.17-2.09.19-1.69-.07-2.71c-.19-.74-.47-1.35-.83-1.85-.37-.5-.82-.91-1.35-1.23-.53-.32-1.14-.58-1.82-.77s-1.43-.34-2.24-.46c-.6-.08-1.14-.17-1.62-.27-.48-.1-.9-.21-1.26-.35-.36-.14-.65-.31-.87-.51-.23-.2-.38-.45-.46-.76-.07-.28-.06-.55.03-.81.09-.26.25-.51.47-.74s.52-.44.89-.63c.36-.19.78-.34,1.26-.46.34-.09.71-.16,1.11-.2.4-.05.8-.07,1.22-.06.41,0,.83.04,1.23.11.41.07.79.17,1.16.3l-.97-3.8c-.69-.08-1.42-.08-2.2,0-.77.08-1.64.24-2.61.49s-1.89.59-2.71,1.03c-.83.43-1.52.95-2.07,1.57s-.94,1.31-1.15,2.09c-.21.78-.2,1.65.05,2.59.31,1.21.93,2.15,1.86,2.83.93.67,2.19,1.12,3.79,1.34.63.08,1.21.17,1.76.27.55.09,1.03.21,1.45.36.42.15.77.33,1.04.56s.46.52.55.87c.07.26.06.52,0,.78-.07.26-.22.5-.44.73s-.51.45-.88.64c-.37.19-.81.36-1.34.49-.9.23-1.82.3-2.78.22-.96-.08-1.89-.34-2.8-.76l1.04,4.06Z" />
</g>
<g>
<path class="cls-5"
d="M260.39,191.08c0,30.16-22.63,73.29-50.55,73.29s-50.55-43.13-50.55-73.29,22.63-54.61,50.55-54.61,50.55,24.45,50.55,54.61Z" />
<path class="cls-6"
d="M229.93,183.95c-.7-.24-1.41-.46-2.13-.67.12-.49.23-.97.33-1.45,1.61-7.81.56-14.1-3.04-16.18-3.45-1.99-9.08.08-14.77,5.04-.56.49-1.11.99-1.64,1.51-.36-.34-.72-.68-1.09-1.01-5.96-5.3-11.94-7.53-15.53-5.45-3.44,1.99-4.46,7.91-3.01,15.31.14.73.31,1.46.49,2.19-.85.24-1.66.5-2.44.77-6.99,2.44-11.46,6.26-11.46,10.22s4.79,8.2,12.08,10.69c.59.2,1.19.39,1.79.56-.19.78-.37,1.57-.52,2.36-1.38,7.27-.3,13.05,3.13,15.03,3.55,2.04,9.5-.06,15.29-5.12.47-.41.93-.84,1.38-1.27.58.56,1.18,1.1,1.79,1.63,5.61,4.83,11.16,6.78,14.59,4.79,3.54-2.05,4.69-8.26,3.2-15.81-.12-.59-.25-1.18-.4-1.77.42-.12.83-.25,1.23-.38,7.57-2.51,12.5-6.56,12.5-10.71s-4.61-7.82-11.74-10.28ZM228.29,202.26c-.36.12-.73.23-1.11.35-.84-2.65-1.96-5.46-3.34-8.37,1.32-2.84,2.4-5.62,3.21-8.24.68.2,1.33.4,1.96.62,6.11,2.1,9.84,5.21,9.84,7.61,0,2.55-4.03,5.87-10.56,8.03ZM225.58,207.63c.66,3.34.76,6.36.32,8.72-.39,2.12-1.18,3.53-2.16,4.1-2.08,1.2-6.53-.36-11.33-4.49-.57-.49-1.12-.99-1.66-1.51,1.86-2.04,3.72-4.4,5.54-7.03,3.19-.28,6.21-.75,8.94-1.38.13.53.25,1.06.36,1.6ZM198.15,220.24c-2.03.72-3.65.74-4.63.17-2.08-1.2-2.95-5.84-1.77-12.06.14-.74.3-1.47.48-2.19,2.71.6,5.7,1.03,8.9,1.29,1.83,2.57,3.74,4.93,5.67,7-.41.4-.83.78-1.26,1.16-2.56,2.24-5.13,3.83-7.39,4.63ZM188.62,202.24c-3.22-1.1-5.88-2.53-7.7-4.09-1.64-1.4-2.46-2.8-2.46-3.93,0-2.4,3.59-5.47,9.56-7.56.73-.25,1.49-.49,2.27-.72.83,2.69,1.91,5.5,3.22,8.34-1.33,2.88-2.42,5.74-3.26,8.46-.55-.16-1.09-.33-1.63-.51ZM191.82,180.51c-1.24-6.34-.42-11.13,1.66-12.33,2.21-1.28,7.09.54,12.24,5.12.34.3.67.6.99.91-1.92,2.06-3.81,4.41-5.63,6.96-3.11.29-6.08.75-8.81,1.37-.17-.67-.32-1.35-.45-2.03h0ZM220.31,187.54c-.65-1.12-1.32-2.22-2.01-3.3,2.11.27,4.13.62,6.02,1.05-.57,1.82-1.28,3.73-2.11,5.69-.61-1.16-1.24-2.3-1.9-3.44ZM208.69,176.23c1.3,1.41,2.6,2.98,3.89,4.69-2.6-.12-5.21-.12-7.81,0,1.28-1.69,2.6-3.26,3.92-4.69ZM197,187.56c-.65,1.12-1.27,2.26-1.86,3.42-.82-1.95-1.52-3.86-2.1-5.71,1.88-.42,3.89-.77,5.99-1.03-.7,1.09-1.38,2.2-2.02,3.33h0ZM199.08,204.42c-2.16-.24-4.2-.57-6.09-.98.58-1.88,1.3-3.84,2.14-5.83.6,1.15,1.22,2.29,1.87,3.42.67,1.16,1.36,2.29,2.07,3.39ZM208.77,212.43c-1.34-1.44-2.67-3.04-3.97-4.76,1.26.05,2.55.07,3.86.07s2.68-.03,3.99-.09c-1.29,1.75-2.58,3.35-3.88,4.77ZM222.23,197.51c.88,2.01,1.63,3.96,2.22,5.81-1.91.44-3.98.79-6.16,1.05.7-1.11,1.37-2.23,2.03-3.36.66-1.15,1.3-2.32,1.92-3.5ZM217.87,199.6c-1,1.74-2.06,3.44-3.17,5.11-2.01.14-4.03.21-6.05.21-2.06,0-4.05-.06-5.98-.19-1.14-1.67-2.22-3.37-3.23-5.12h0c-1.01-1.74-1.95-3.51-2.82-5.32.87-1.81,1.81-3.59,2.81-5.32h0c1-1.74,2.07-3.44,3.2-5.1,1.96-.15,3.98-.23,6.01-.23h0c2.04,0,4.06.08,6.02.23,1.12,1.66,2.18,3.35,3.18,5.08,1.01,1.73,1.96,3.5,2.85,5.3-.88,1.82-1.83,3.6-2.84,5.35ZM223.69,168.1c2.21,1.28,3.07,6.42,1.68,13.16-.09.43-.19.87-.3,1.31-2.74-.63-5.72-1.1-8.83-1.4-1.81-2.58-3.69-4.93-5.58-6.97.49-.48,1-.94,1.52-1.39,4.88-4.24,9.43-5.92,11.51-4.72ZM208.66,188.33c3.26,0,5.9,2.64,5.9,5.9s-2.64,5.9-5.9,5.9-5.9-2.64-5.9-5.9,2.64-5.9,5.9-5.9Z" />
</g>
<polygon class="cls-5" points="225.73 281.41 193.95 281.41 202.09 262.83 215.78 262.83 225.73 281.41" />
<line class="cls-9 strings" x1="199.71" y1="263.82" x2="220.71" y2="263.55" />
<line class="cls-9 strings" x1="199.01" y1="266.26" x2="219.65" y2="264.37" />
<line class="cls-9 strings" x1="198.97" y1="262.19" x2="220.2" y2="266.35" />
<rect class="laptop" x="47.83" y="528.32" width="92.21" height="6.86" rx="3.43" ry="3.43" />
<rect class="laptop" x="-12.44" y="488.18" width="92.21" height="6.86" rx="3.43" ry="3.43"
transform="translate(469.9 262.44) rotate(66.2)" />
<g>
<path class="cls-8"
d="M127.53,499.21c-1.65-9.9-4.48-32.3-1.45-56.7,2.37-19.14,7.83-35.75,16.21-49.37,10.46-16.99,25.54-29.36,44.84-36.78,10.96-4.21,21.26-6.35,30.63-6.35,23.41,0,41.43,12.9,53.58,38.34,6.89,14.44,9.81,29.01,10.84,35.33-7.51-8.14-32.99-33.19-61.83-33.19-6.92,0-13.66,1.44-20.02,4.28-40.6,18.14-62.57,49.53-72.8,104.43Z" />
<path class="cls-12"
d="M217.76,351.02c12.61,0,23.79,3.93,33.22,11.67,7.62,6.25,14.15,15,19.41,26.01,5.85,12.22,8.83,24.58,10.21,31.84-3.32-3.42-8.32-8.17-14.58-12.97-10.78-8.25-27.46-18.08-45.68-18.08-7.06,0-13.94,1.47-20.43,4.37-39.52,17.65-61.52,47.72-72.26,99.5-1.54-11.4-3.12-30.39-.58-50.78,2.36-18.98,7.77-35.45,16.08-48.94,10.34-16.78,25.26-29.01,44.34-36.34,10.84-4.17,21.03-6.28,30.27-6.28M217.76,349.02c-9.06,0-19.34,1.94-30.99,6.41-85.57,32.89-59.22,149.35-59.22,149.35,9.67-57.59,31.33-90.4,73.18-109.1,6.61-2.95,13.2-4.2,19.61-4.2,34.18,0,63.29,35.34,63.29,35.34,0,0-8.42-77.82-65.87-77.82h0Z" />
</g>
<g>
<path class="cls-8" d="M241.67,350.5c.06.04.12.07.18.11-.98.06-1.1.08-.18-.11Z" />
<path class="cls-12" d="M241.67,350.5c-.55.11-.73.15-.57.15.1,0,.36-.02.75-.04-.06-.04-.12-.07-.18-.11h0Z" />
</g>
<g>
<path class="cls-8"
d="M285.07,503.86c-.2,0-.37,0-.5-.01.3-.73.96-2.06,1.65-3.44,3.71-7.47,11.44-23.02,14.67-42.64,4.97-30.1-.8-72.75-55.72-106.33.99-.04,2.16-.06,3.46-.06,21.03,0,71.76,6.71,88.58,68.89,4.57,16.88,4.97,31.74,1.21,44.18-9.81,32.41-45.14,39.42-53.36,39.42Z" />
<path class="cls-12"
d="M248.64,352.37c20.8,0,70.98,6.64,87.62,68.15,4.52,16.69,4.93,31.37,1.22,43.63-9.26,30.58-41.65,38.13-51.33,38.68.29-.6.64-1.3.98-1.98,3.74-7.52,11.51-23.15,14.76-42.92,4.93-29.87-.59-71.97-53.31-105.55.02,0,.05,0,.07,0h0M248.64,350.37c-3.26,0-5.63.16-6.78.24,56.45,33.19,63.29,75.25,58.05,106.99-4.39,26.65-17.29,46.04-16.47,46.81-.29.28.32.45,1.64.45,8.28,0,44.29-7.02,54.32-40.13,3.48-11.5,3.83-26.14-1.2-44.73-17.27-63.85-69.82-69.63-89.55-69.63h0Z" />
</g>
<g>
<path class="cls-8"
d="M95.24,446.33c-2.14,0-4.11-.43-5.85-1.28-10.67-5.22-11.46-25.51-6.33-35.98,3.66-7.48,11.1-12.12,19.41-12.12,3.28,0,6.45.74,9.42,2.19,10.65,5.22,15.06,18.17,9.82,28.86-4.25,8.67-16.16,18.34-26.46,18.34Z" />
<path class="cls-12"
d="M102.46,397.72h0c3.16,0,6.21.71,9.07,2.11,10.26,5.03,14.51,17.5,9.46,27.81-4.15,8.46-15.74,17.9-25.75,17.9-2.02,0-3.87-.4-5.5-1.2-10.27-5.03-10.96-24.73-5.97-34.93,3.53-7.21,10.69-11.68,18.7-11.68M102.46,396.14c-8.27,0-16.22,4.62-20.12,12.57-5.44,11.11-4.37,31.62,6.7,37.04,1.92.94,4.02,1.36,6.2,1.36,10.38,0,22.68-9.61,27.17-18.78,5.44-11.11.88-24.5-10.18-29.92-3.15-1.54-6.48-2.27-9.77-2.27h0Z" />
</g>
<ellipse class="cls-12" cx="96.47" cy="423.5" rx="2.06" ry="3.61"
transform="translate(-276.13 200.28) rotate(-46.24)" />
<path class="cls-12"
d="M91.36,439.31c2.31,1.82,3.49,4.86,3.29,7.8-2.21-.06-4.31-.58-6.27-1.72-2.2-1.27-4.03-3.23-5.52-5.66,2.23-2.34,5.73-2.6,8.49-.43Z" />
<path class="cls-4"
d="M93.22,394.83c8.15-14.85,16.67-25.35,25.71-29.95-.94,17.39-.6,29.69,1.44,35.1-7.96-6.29-17.06-7.79-27.16-5.14Z" />
<g>
<path class="cls-6"
d="M285.07,503.86c-.2,0-.37,0-.5-.01.3-.73.96-2.06,1.65-3.44,3.68-7.41,11.31-22.75,14.59-42.13l15.29-7.35,22.11,14.24c-10.11,31.79-44.98,38.7-53.13,38.7Z" />
<path class="cls-12"
d="M316.02,452.07l20.99,13.52c-9.82,29.38-41.35,36.71-50.88,37.25.29-.6.64-1.3.98-1.98,3.67-7.38,11.24-22.61,14.59-41.9l14.32-6.89M316.16,449.78l-16.26,7.82c-4.39,26.65-17.29,46.04-16.47,46.81-.29.28.32.45,1.64.45,8.28,0,44.29-7.02,54.32-40.13l-23.22-14.95h0Z" />
</g>
<line class="cls-3 strings" x1="210.06" y1="347.73" x2="212.86" y2="392.84" />
<line class="cls-3 strings" x1="212.23" y1="347.91" x2="210.6" y2="393.29" />
<line class="cls-3 strings" x1="207.26" y1="347.91" x2="215.65" y2="392.57" />
<polygon class="cls-12 strings"
points="213.84 345.88 210.5 343.43 206.7 345.11 206.26 349.23 209.6 351.68 213.4 350 213.84 345.88" />
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

+63
View File
@@ -0,0 +1,63 @@
@import "../theme.scss";
.button
{
@include formBase;
cursor: pointer;
gap: $spacingSNudge;
justify-content: center;
text-align: left;
-moz-user-select: none;
-webkit-user-select: none;
user-select: none;
&.iconBefore > :first-child,
&.iconAfter > :last-child
{
font-size: $fontSizeBase600;
height: $fontSizeBase600;
width: $fontSizeBase600;
}
&:not(.content)
{
min-width: 40px;
padding: $spacingXS;
justify-content: center;
}
&.secondary
{
border-color: transparent;
&:hover,
&:focus-visible
{
border: $strokeWidthThin solid $colorNeutralForeground1;
color: $colorNeutralForeground1;
}
}
&.primary
{
background-image: linear-gradient($colorNeutralBackgroundInverted, $colorNeutralBackgroundInverted);
&:not(:disabled, [disabled])
{
&:hover,
&:focus-visible
{
color: $colorNeutralForegroundInverted;
&:active
{
background-image: linear-gradient($colorNeutralForeground3Pressed, $colorNeutralForeground3Pressed);
color: $colorNeutralForegroundInverted2;
}
}
}
}
}
+72
View File
@@ -0,0 +1,72 @@
import Link, { LinkProps } from "next/link";
import React, { useMemo } from "react";
import cls from "./Button.module.scss";
const Button: React.FC<ButtonProps> = ({
as = "button",
iconAfter,
icon,
appearance = "primary",
children,
...props
}) =>
{
const Component = as === "button" && !props.href ?
"button" :
as === "next" ?
Link : "a";
const classList: string = useMemo(() =>
{
const list: string[] = [ cls.button, cls[appearance] ];
// We need these classes to differentiate content in CSS
if (icon)
list.push(cls.iconBefore);
if (iconAfter)
list.push(cls.iconAfter);
if (children)
list.push(cls.content);
if (props.className)
list.push(props.className);
return list.join(" ");
}, [appearance, children, icon, iconAfter, props.className]);
return (
<Component { ...props as any } className={ classList }>
{ icon }
{ children }
{ iconAfter }
</Component>
);
};
export default Button;
// Since we want to render button as both "a" and "button" (depending on the props) we do a little trick here
// Shorthand types
type HtmlButtonProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "disabled">;
type HtmlAnchorProps = Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, "type">;
type NextLinkProps = Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, keyof LinkProps> & LinkProps & {
children?: React.ReactNode;
} & React.RefAttributes<HTMLAnchorElement>;
type ButtonOrAnchorProps =
| ({ as?: "a"; href?: string; } & HtmlAnchorProps) // If href is present, it must be an <a>
| ({ as?: "button"; href?: undefined; } & HtmlButtonProps) // If href is absent, it is a <button>
| ({ as: "next"; } & NextLinkProps);
// Extend the common props
type CommonProps =
{
appearance?: "primary" | "secondary";
iconAfter?: React.ReactNode;
icon?: React.ReactNode;
disabled?: boolean;
children?: React.ReactNode;
};
export type ButtonProps = ButtonOrAnchorProps & CommonProps;
+81
View File
@@ -0,0 +1,81 @@
@import "../theme.scss";
.footer
{
@include flex(row);
@include align(flex-end, space-between);
.info
{
@include caption1;
@include flex(column);
gap: $spacingS;
padding: $spacingM;
color: $colorNeutralForeground2;
.copyright
{
@include body2($fontFamilyBaseAlt);
color: $colorNeutralForeground1;
}
.nextjs
{
@include flex(row);
gap: $spacingXS;
align-items: flex-end;
> a
{
padding: $spacingXXS;
padding-bottom: $spacingNone;
> img
{
height: 16px;
width: auto;
transition: filter $durationFast $curveEasyEaseMax;
}
&:hover,
&:focus-visible
{
> img
{
filter: invert(1);
}
}
}
}
}
.illustration
{
@include flex(column);
justify-content: flex-end;
align-self: flex-end;
height: 100px;
max-width: 100%;
z-index: -1;
> img
{
max-width: 100%;
width: auto;
max-height: 280px;
}
}
@media screen and (max-width: 1024px)
{
flex-flow: column;
align-items: flex-start;
.info
{
margin-right: 20%;
}
}
}
+43
View File
@@ -0,0 +1,43 @@
import Package from "@/../package.json";
import { footerImage, nextjsLogo } from "@/_assets/illustrations";
import Image from "next/image";
import Link from "next/link";
import React from "react";
import cls from "./Footer.module.scss";
const Footer: React.FC = () => (
<footer className={ cls.footer }>
<div className={ cls.info }>
<p className={ cls.copyright }>
{ `©${new Date().getFullYear()} ${Package.author.name}` }
</p>
<p>
This site was created with help of some third-party tools and services.
</p>
{ process.env.CLARITY_ID &&
<p>
This site is using Microsoft Clarity for analytics purposes.<br aria-hidden />
By using this site you agree that we and Microsoft can collect and use this data.
</p>
}
<p>
<Link href="/attribution" prefetch={ false }>
See license disclosure and privacy policy for more information
</Link>
</p>
<div className={ cls.nextjs }>
<span aria-hidden>Built with</span>
<a aria-label="Built with Next.js" href="https://nextjs.org/" target="_blank">
<Image aria-hidden src={ nextjsLogo.src } alt={ nextjsLogo.alt } />
</a>
</div>
</div>
<div className={ `${cls.illustration} illustration` }>
<Image src={ footerImage.src } alt={ footerImage.alt } />
</div>
</footer>
);
export default Footer;
+55
View File
@@ -0,0 +1,55 @@
@import "../theme.scss";
.header
{
position: fixed;
top: 0;
width: 100%;
z-index: 10;
@include flex(column);
background-color: $colorNeutralBackground1;
padding: $spacingS $spacingM;
// Header container
> div
{
@include maxCenter;
@include flex(row);
@include align(center, space-between);
gap: $spacingM;
.navigation
{
@media screen and (max-width: 1040px)
{
display: none;
}
}
.socials
{
flex-grow: 1;
justify-content: flex-end;
}
.sidemenu
{
@media screen and (min-width: 1041px)
{
display: none;
}
}
@media screen and (max-width: 640px)
{
.socials,
.resume
{
display: none;
}
}
}
}
+27
View File
@@ -0,0 +1,27 @@
import TitleLogo from "@/_data/TitleLogo";
import links from "@/_data/links";
import React from "react";
import Button from "./Button";
import cls from "./Header.module.scss";
import NavigationLinks from "./NavigationLinks";
import Sidemenu from "./Sidemenu";
import SocialLinks from "./SocialLinks";
const Header: React.FC = () => (
<header className={ cls.header }>
<div>
<TitleLogo />
<NavigationLinks className={ cls.navigation } />
<SocialLinks className={ cls.socials } size={ 40 } />
<Button className={ cls.resume } as="next" href={ links.resume }>
Download resume
</Button>
<Sidemenu button={ { className: cls.sidemenu } } />
</div>
</header>
);
export default Header;
@@ -0,0 +1,37 @@
@import "../theme.scss";
.navigation
{
@include flex(row);
align-items: center;
.link
{
@include body2($fontFamilyBaseAlt);
color: inherit;
padding: $spacingSNudge $spacingM;
@include flex(column);
> i
{
height: $strokeWidthThick;
background-color: $colorNeutralForeground1;
border-radius: $borderRadiusSmall;
width: 0;
transition: width $durationNormal $curveEasyEaseMax;
}
&:hover, &:focus-visible
{
color: $colorNeutralForegroundInverted;
> i
{
width: 100%;
background-color: $colorNeutralForegroundInverted;
}
}
}
}
+44
View File
@@ -0,0 +1,44 @@
import links from "@/_data/links";
import Link from "next/link";
import React from "react";
import cls from "./NavigationLinks.module.scss";
const navLinks: { text: string, href: string; }[] =
[
{ text: "Home", href: "/" },
{ text: "My skills", href: "/#skills" },
{ text: "Projects", href: "/#projects" },
{ text: "About", href: "/#about" },
{ text: "Contacts", href: "/#contacts" }
];
const NavigationLinks: React.FC<NavigationLinksProps> = ({ links: linkProps, ...props }) => (
<nav role="navigation" { ...props } className={ `${cls.navigation} ${props.className}` }>
{ navLinks.map((i, index) =>
<Link key={ index } { ...linkProps }
href={ i.href }
className={ `${cls.link} ${linkProps?.className ?? ""}` }>
{ i.text }
<i />
</Link>
) }
{ links.blog &&
<Link { ...linkProps } className={ `${cls.link} ${linkProps?.className ?? ""}` }
href={ links.blog } target="_blank">
Blog
<i />
</Link>
}
</nav>
);
export default NavigationLinks;
export type NavigationLinksProps = React.HTMLAttributes<HTMLDivElement> & {
links?: Omit<React.HTMLAttributes<HTMLAnchorElement>, "href">;
};
+74
View File
@@ -0,0 +1,74 @@
@import "../theme.scss";
.dialog
{
max-height: unset;
max-width: 320px;
width: 100%;
height: 100%;
padding: $spacingNone;
margin: $spacingNone;
margin-left: auto;
background-color: $colorNeutralBackground1;
box-shadow: $shadow16;
color: unset;
border: none;
&::backdrop
{
-webkit-backdrop-filter: blur(8px);
backdrop-filter: blur(8px);
// Since colors use variables, and dialog is rendered outside of the regular DOM,
// we need to specify them as literals (or add variables to the dialog scope, but that's too complicated).
background-color: light-dark(rgba(255, 255, 255, 0.5), rgba(26, 26, 26, 0.5));
}
.wrapper
{
height: 100%;
@include flex(column);
@include align(flex-end, center);
gap: $spacingXXXL;
padding: $spacingXXXL;
> header
{
@include flex(row);
align-items: center;
gap: $spacingL;
> h3
{
@include subtitle1($fontFamilyBaseAlt);
}
}
.navigation
{
flex-flow: column;
align-items: flex-end;
.link
{
align-items: end;
background-position-x: 100%;
}
}
}
transition: right $durationNormal $curveEasyEaseMax;
right: -350px;
&.show
{
right: 0;
}
}
body:has(dialog.menu[open])
{
overflow: hidden;
}
+85
View File
@@ -0,0 +1,85 @@
"use client";
import { Dismiss24Regular, Navigation24Regular } from "@fluentui/react-icons";
import React, { useCallback, useEffect, useRef, useState } from "react";
import Button, { ButtonProps } from "./Button";
import NavigationLinks from "./NavigationLinks";
import cls from "./Sidemenu.module.scss";
import SocialLinks from "./SocialLinks";
import links from "@/_data/links";
const Sidemenu: React.FC<SidemenuProps> = ({ button, ...panelProps }) =>
{
const [isOpen, setOpen] = useState<boolean>(false);
const dialogRef = useRef<HTMLDialogElement>(null);
const onCancel: React.ReactEventHandler<HTMLDialogElement> = useCallback((args) =>
{
args.preventDefault();
setOpen(false);
return true;
}, []);
// We use this method to enable user to close the menu by clicking ouside it.
const onClick: React.MouseEventHandler<HTMLDialogElement> = useCallback((args) =>
{
const wrapper = args.currentTarget.childNodes[0];
// If user clicked outside of the dialog boudaries, or clicked specifically on an anchor, we can close the menu
if (!wrapper.contains(args.target as Node) || args.target instanceof HTMLAnchorElement)
setOpen(false);
}, []);
useEffect(() =>
{
if (isOpen)
{
dialogRef.current?.showModal();
}
else if (dialogRef.current?.classList.contains(cls.show)) // This check is to prevent a bug when the menu is closed before opening
{
dialogRef.current?.addEventListener("transitionend", function WaitForClose()
{
dialogRef.current?.removeEventListener("transitionend", WaitForClose);
dialogRef.current?.close();
});
}
dialogRef.current?.classList.toggle(cls.show, isOpen);
}, [isOpen]);
return <>
<Button { ...button }
appearance="secondary"
title="Menu"
onClick={ () => setOpen(true) }
icon={ <Navigation24Regular /> } />
<dialog { ...panelProps } className={ `${cls.dialog} ${panelProps.className}` } ref={ dialogRef }
onCancel={ onCancel } onClick={ onClick }>
<div className={ cls.wrapper }>
<header>
<h3>Menu</h3>
<Button
appearance="secondary"
title="Close"
onClick={ () => setOpen(false) }
icon={ <Dismiss24Regular /> } />
</header>
<NavigationLinks className={ cls.navigation } links={ { className: cls.link } } />
<SocialLinks />
<Button className={ cls.resume } as="next" href={ links.resume }>Download resume</Button>
</div>
</dialog>
</>;
};
export default Sidemenu;
export type SidemenuProps = React.DialogHTMLAttributes<HTMLDialogElement> & {
button?: ButtonProps;
};
+64
View File
@@ -0,0 +1,64 @@
@import "../theme.scss";
.socials
{
@include flex(row);
align-items: center;
gap: $spacingS;
.link
{
background-image: none;
padding: $spacingNone;
border-radius: $borderRadiusCircular;
--bg-color: var(--network-color);
--icon-color: var(--colorNeutralForegroundStaticInverted);
// Icon
g:first-child
{
fill: var(--icon-color) !important;
}
// Mask
g:last-child
{
fill: var(--bg-color) !important;
}
&:hover,
&:focus-visible
{
--icon-color: var(--network-color);
--bg-color: transparent;
&:active
{
--bg-color: var(--colorNeutralBackground1Pressed);
}
}
// Since GitHub has dark brand color, we need to invert it in dark mode
&.github
{
@media (prefers-color-scheme: dark)
{
--bg-color: var(--colorNeutralForegroundStaticInverted);
--icon-color: var(--network-color);
&:hover,
&:focus-visible
{
--bg-color: transparent;
--icon-color: var(--colorNeutralForegroundStaticInverted);
&:active
{
--bg-color: var(--colorNeutralBackground1Pressed);
}
}
}
}
}
}
+30
View File
@@ -0,0 +1,30 @@
import socials from "@/_data/socials";
import React from "react";
import { SocialIcon, networkFor, social_icons } from "react-social-icons";
import cls from "./SocialLinks.module.scss";
const SocialLinks: React.FC<SocialLinksProps> = ({ size = 50, ...props }) => (
<div aria-label="Social links" { ...props } className={ `${cls.socials} ${props.className}` }>
{ Object.entries(socials).map(([network, i]) =>
<SocialIcon
key={ network } title={ network }
url={ i.href } target="_blank"
className={ `${cls.link} ${cls[networkFor(i.href)] ?? ""}` }
style={ {
// @ts-expect-error Inline variables are not supported in TS definition, but it works.
"--network-color": social_icons.get(networkFor(i.href))?.color,
width: size,
height: size
} } />
) }
</div>
);
export default SocialLinks;
export type SocialLinksProps = React.HTMLAttributes<HTMLDivElement> & {
size?: number;
};
+72
View File
@@ -0,0 +1,72 @@
@import "../theme.scss";
.section
{
@include centerTwo;
min-height: 75vh;
align-items: end;
.content
{
@include flex(column);
@include subtitle1($fontFamilyBaseAlt);
gap: $spacingXL;
h1
{
@include display($fontFamilyBaseAlt);
}
h2
{
@include title2($fontFamilyBaseAlt);
}
.ctaButtons
{
@include flex(row, wrap);
gap: $spacingS;
}
}
.highlight
{
color: $colorNeutralForegroundInverted;
background-color: $colorNeutralBackgroundInverted;
padding: $spacingXXS $spacingNone;
&::selection
{
color: $colorNeutralForegroundInverted;
background-color: $colorBrandForeground1;
}
}
.illustrations
{
justify-self: center;
position: relative;
margin-right: 48px;
margin-bottom: 12px;
.main
{
border-radius: $borderRadiusCircular;
max-width: 512px;
width: 100%;
height: auto;
}
.secondary
{
position: absolute;
bottom: -12px;
left: calc(60% + 48px);
width: 100%;
max-width: 40%;
height: auto;
}
}
}
+32
View File
@@ -0,0 +1,32 @@
import { homeDecor, profilePicture } from "@/_assets/illustrations";
import Button from "@/_components/Button";
import Image from "next/image";
import React from "react";
import cls from "./FrontSection.module.scss";
import links from "./links";
import Package from "@/../package.json";
const FrontSection: React.FC = () => (
<section className={ cls.section }>
<div className={ cls.content }>
<h1>Hello World!</h1>
<h2>{ Package.author.name } is here!</h2>
<p role="text">
I am a software engineer with extensive experience in<br aria-hidden />
<span className={ cls.highlight }>.NET and React development</span><br aria-hidden />
and you are on my website!
</p>
<div className={ cls.ctaButtons }>
<Button as="next" href={ links.resume }>Download resume</Button>
<Button appearance="secondary" as="next" href="#contacts">Contact me</Button>
</div>
</div>
<div className={ cls.illustrations }>
<Image className={ cls.main } src={ profilePicture.src } alt={ profilePicture.alt } priority />
<Image className={ cls.secondary } src={ homeDecor.src } alt={ homeDecor.alt } />
</div>
</section>
);
export default FrontSection;
+15
View File
@@ -0,0 +1,15 @@
import React from "react";
const ThirdPartyAttribution: React.FC = () => <>
<p>
Iconography, colorgraphy and typography of this website are based on
Microsoft's <a target="_blank" href="https://fluentui.dev/">Fluent Design System</a> licensed under
the <a target="_blank" href="https://github.com/microsoft/fluentui/blob/main/LICENSE">MIT License</a>.
</p>
<p>
Illustrations for GUT.Schedule and FoxTube projects use assets created
by <a target="_blank" href="https://www.freepik.com/author/rawpixel-com">rawpixel.com</a> on Freepik
</p>
</>;
export default ThirdPartyAttribution;
+40
View File
@@ -0,0 +1,40 @@
@import "../theme.scss";
.title
{
@include flex(row);
align-items: center;
background-size: 0% $strokeWidthThickest;
background-position: 33px 33px; // Some pixel-perfect stuff
color: $colorNeutralForeground1;
gap: $spacingS;
padding: $spacingNone;
padding-right: $spacingS;
> img
{
width: 36px;
height: 36px;
}
> p
{
@include title3($fontFamilyBaseAlt);
> sub
{
@include caption1($fontFamilyBaseAlt);
vertical-align: baseline;
}
}
&:hover,
&:focus-visible
{
background-size: 100% $strokeWidthThickest;
color: $colorNeutralForeground1;
}
}
+20
View File
@@ -0,0 +1,20 @@
import Link from "next/link";
import Image from "next/image";
import React from "react";
import logo from "@/icon.svg";
import cls from "./TitleLogo.module.scss";
const TitleLogo: React.FC = () => (
<Link className={ cls.title } href="/">
<Image src={ logo }
alt="A fox jumping down, and a diagonal stripe in the background, forming letters X and F"
aria-hidden
priority />
<p>
<span>xfox111</span>
<sub>.net</sub>
</p>
</Link>
);
export default TitleLogo;
+16
View File
@@ -0,0 +1,16 @@
export const bio: string[] =
[
"My name is Eugene Fox. I am a professional software developer primarily focused on .NET and React projects.",
"My journey as a programmer started in 2018 from a silly free-time hobby. Since then I've released a couple of personal projects, some of which have become quite popular.",
"Graduated from Bonch-Bruevich University of Telecommunications in 2023 where I've got my Bachelor degree in Computer science. It was fun. Took part in a number of hackathons (usually 1st place for us) as well as science conferences (including those, hosted by IEEE).",
"Also before graduation I've managed to work in several different companies in different IT fields (mostly software development, of course).",
"Out-of-box thinking and constant self-improvement is my life strategy. New tool released? - Yes, please! GitHub is hosting another conference? - Sign me up! There's a new challenging task to complete? - Oh, boy, here we go again! So much things to learn, so little time to spare...",
"Overall, enthusiastic, fast learning and energetic person. Love coding and creating something new. Like to draw and compose music. Proud member of the furry community."
];
export default bio;
+45
View File
@@ -0,0 +1,45 @@
import socials, { Socials } from "./socials";
import Package from "@/../package.json";
const contacts: ContactLinks =
{
email:
{
text: Package.author.email,
href: "mailto:" + Package.author.email
},
telephone:
{
text: "+7 996 929-19-69",
href: "tel:79969291969",
country: "Russia"
},
socials:
{
"LinkedIn": socials["LinkedIn"],
"Telegram":
{
username: "@xfox111",
href: "https://t.me/xfox111"
},
"Twitter": socials["Twitter"]
}
};
export default contacts;
export type ContactLinks =
{
email:
{
text: string;
href: string;
};
telephone?:
{
text: string;
href: string;
country: string;
};
socials: Socials;
};
+20
View File
@@ -0,0 +1,20 @@
const experience: WorkplaceEntry[] =
[
{ title: "IT/VR tutor", year: "2020", place: "Quantorium", tech: "Unity, STEM" },
{ title: "System administrator", year: "2021", place: "Quantorium", tech: "M365, Intune, Azure" },
{ title: "Software Engineer", place: "[nordcloud]", tech: "ASP.NET, EF Core" },
{ title: "CTO", year: "2022", place: "FoxDev Studio", tech: "Unity, Xamarin, .NET, React, Azure" },
{ title: "Software Engineer", year: "2023", place: "A-rial", tech: ".NET, React" },
{ title: "Lead Software Engineer", year: "2024 ", place: "Ubitel", tech: ".NET, React, IoT" },
{ title: "Here", place: "Your company" },
];
export default experience;
export type WorkplaceEntry =
{
year?: string;
place?: string;
title: string;
tech?: string;
};
+19
View File
@@ -0,0 +1,19 @@
import socials from "./socials";
const links: Links =
{
blog: "https://blog.xfox111.net",
linkedin: socials["LinkedIn"].href,
resume: "/resume",
github: socials["GitHub"].href
};
export default links;
type Links =
{
blog?: string;
linkedin?: string;
resume: string;
github: string;
}
+48
View File
@@ -0,0 +1,48 @@
import { Metadata } from "next";
import bio from "./bio";
import socials from "./socials";
import Package from "@/../package.json";
export const canonicalName: URL = new URL("https://xfox111.net");
const baseTitle: string = "Eugene Fox - Software developer";
const gender: string = "male";
const keywords: string[] = ["Eugene Fox", "software developer", ".net", "react", "frontend developer", "backend developer", ".net developer", "react developer", "fullstack developer", "software engineer", "Michael Gordeev", "Mikhail Gordeev"];
export const getTitle = (pageTitle: string, customBase?: string): string =>
pageTitle + " - " + (customBase ?? baseTitle);
export const metadata: Metadata =
{
title: baseTitle,
description: bio[0],
metadataBase: canonicalName,
openGraph:
{
title: baseTitle,
description: bio[0],
type: "profile",
firstName: Package.author.name.split(" ")[0],
lastName: Package.author.name.split(" ")[1],
gender,
username: socials["Twitter"].username,
siteName: canonicalName.hostname,
locale: "en_US"
},
twitter:
{
site: socials["Twitter"].username,
card: "summary_large_image"
},
alternates:
{
canonical: canonicalName.href
},
authors: [
{
name: Package.author.name,
url: socials["LinkedIn"].href
}
],
keywords
};
+181
View File
@@ -0,0 +1,181 @@
import ezlogImg from "@/_assets/illustrations/projects/EasyLogon.svg";
import foxTubeDark from "@/_assets/illustrations/projects/FoxTube/FoxTube-dark.webp";
import foxTubeLight from "@/_assets/illustrations/projects/FoxTube/FoxTube-light.webp";
import gutScheduleImg from "@/_assets/illustrations/projects/GUTSchedule.svg";
import motionDecoderDark from "@/_assets/illustrations/projects/MotionDecoder/MotionDecoder-dark.webp";
import motionDecoderLight from "@/_assets/illustrations/projects/MotionDecoder/MotionDecoder-light.webp";
import passwordGeneratorDark from "@/_assets/illustrations/projects/PasswordGenerator/PasswordGeneratorExtension-dark.webp";
import passwordGeneratorLight from "@/_assets/illustrations/projects/PasswordGenerator/PasswordGeneratorExtension-light.webp";
import simpleOtpImg from "@/_assets/illustrations/projects/SimpleOTP.svg";
import tabsAsideDark from "@/_assets/illustrations/projects/TabsAside/dark.webp";
import tabsAsideLight from "@/_assets/illustrations/projects/TabsAside/light.webp";
import * as ic from "@fluentui/react-icons";
import { StaticImageData } from "next/image";
const projects: Project[] =
[
{
title: "EasyLogon",
subtitle: "QR code authentication on any website",
description:
[
"During one of the classes at university I struggled to log into my account on a lab computer. I have long random passwords, so I had to type it in manually from my phone which took quite some time. I thought that there must be a better way to do this.",
"So I came up with this idea where you can easily send your credentials to any computer by simply scanning a QR code with a password manager app.",
"After testing it out I tried to make a startup out of it but sadly it didn't work. Still use it ocasiounally though."
],
image: ezlogImg,
link: "https://ezlog.app/about",
stack:
[
{ text: "C#/TypeScript", icon: ic.Code24Regular },
{ text: ".NET 6", icon: ic.Server24Regular },
{ text: "ReactJS", icon: ic.PhoneDesktop24Regular },
{ text: "Xamarin.Forms", icon: ic.Phone24Regular },
{ text: "SQL Server", icon: ic.Database24Regular },
{ text: "Azure DevOps", icon: ic.Branch24Regular },
{ text: "Azure Pipelines/AppCenter", icon: ic.FlashFlow24Regular },
{ text: "AppCenter", icon: ic.HeartPulse24Regular }
]
},
{
title: "Tabs aside",
subtitle: "Browser extension inspired by Edge's \"Tabs aside\" and Collections features",
description:
[
"Initially built on pure JS/CSS this extension was designed to recreate \"Tabs aside\" feature that Microsoft introduced in their EdgeHTML-based Microsoft Edge browser, but removed it in subsequent Chromium-based version.",
"Later it was rewritten in ReactJS and TypeScript and got new and unique features, yet still maintaining that original asthetics."
],
image: tabsAsideLight,
imageDark: tabsAsideDark,
link: "https://github.com/xfox111/TabsAsideExtension",
stack:
[
{ text: "ReactJS", icon: ic.Desktop24Regular },
{ text: "TypeScript/SASS", icon: ic.Code24Regular },
{ text: "Chrome/WebExt", icon: ic.FlashSettings24Regular },
{ text: "Fluent UI", icon: ic.Color24Regular },
{ text: "GitHub", icon: ic.Branch24Regular },
{ text: "GitHub Actions", icon: ic.FlashFlow24Regular },
]
},
{
title: "SimpleOTP",
subtitle: "Lightweight and simple .NET library for OTP implementation",
description:
[
"Initially created during EasyLogon development, this library was designed as a simple, yet flexible solution for one-time password authenticators and validators.",
"It provides extensive toolset for generation, validation and management of OTP configurations and can be used in any .NET application whether it is an authenticator app or a website that accepts OTP codes."
],
image: simpleOtpImg,
link: "https://github.com/xfox111/SimpleOTP",
stack:
[
{ text: ".NET/C#", icon: ic.Code24Regular },
{ text: "MSTest", icon: ic.Beaker24Regular },
{ text: "GitHub", icon: ic.Branch24Regular },
{ text: "GitHub Actions", icon: ic.FlashFlow24Regular },
]
},
{
title: "Password generator",
subtitle: "Simple browser extension for generating passwords",
description:
[
"Small pet project that I developed while my favorite password generator website was down.",
"Basically a playground, where I try out new technologies and approaches to web development."
],
image: passwordGeneratorLight,
imageDark: passwordGeneratorDark,
link: "https://github.com/xfox111/PasswordGeneratorExtension",
stack:
[
{ text: "React/Vite", icon: ic.Desktop24Regular },
{ text: "TypeScript", icon: ic.Code24Regular },
{ text: "Chrome/WebExt", icon: ic.FlashSettings24Regular },
{ text: "Fluent UI", icon: ic.Color24Regular },
{ text: "GitHub", icon: ic.Branch24Regular },
{ text: "GitHub Actions", icon: ic.FlashFlow24Regular },
]
},
{
title: "GUT.Schedule",
subtitle: "Mobile app that exports Bonch university schedule to e-calendar",
description:
[
"[2019]",
"I created this app during my time in Bonch-Bruevich University of Telecommunications as a BS student.",
"It was designed to help students to manage their timetable in a more convenient and effective way."
],
image: gutScheduleImg,
link: "https://github.com/xfox111/GUTSchedule",
stack:
[
{ text: ".NET/C#", icon: ic.Code24Regular },
{ text: "Xamarin.Android", icon: ic.Phone24Regular },
{ text: "GitHub", icon: ic.Branch24Regular },
{ text: "NUnit 3", icon: ic.Beaker24Regular },
{ text: "Azure Pipelines", icon: ic.FlashFlow24Regular },
]
},
{
title: "FoxTube",
subtitle: "UWP app that gives YouTube a fresh look on Windows",
description:
[
"[2019]",
"My first published app.",
"I like to watch videos while working on my projects, but at the time YouTube didn't have a proper picture-in-picture mode and overall had a lot of issues with the UX, so this was my way to fix this.",
"Unfortunately, Google doesn't like third-party YouTube clients."
],
image: foxTubeLight,
imageDark: foxTubeDark,
link: "https://www.youtube.com/watch?v=Mio9FbxmbhM",
stack:
[
{ text: ".NET/C#", icon: ic.Code24Regular },
{ text: "UWP", icon: ic.Desktop24Regular },
{ text: "Azure DevOps", icon: ic.Branch24Regular },
{ text: "AppCenter", icon: ic.HeartPulse24Regular },
{ text: "Azure Pipelines", icon: ic.FlashFlow24Regular },
]
},
{
title: "MotionDecoder",
subtitle: "CCTV footage analysis tool",
description:
[
"[2018]",
"My earliest attempt in software development.",
"Basically this program analyzes pre-recorded CCTV footage by comparing different frames and using some simple algorithms and provides user with a set of timecodes where a motion was detected.",
],
image: motionDecoderLight,
imageDark: motionDecoderDark,
link: "https://github.com/xfox111/MotionDecoder",
stack:
[
{ text: ".NET/C#", icon: ic.Code24Regular },
{ text: "WinForms", icon: ic.Desktop24Regular },
{ text: "Accord.NET", icon: ic.FlashSettings24Regular },
{ text: "GitHub", icon: ic.Branch24Regular },
]
}
];
export default projects;
export type Project =
{
title: string;
subtitle: string;
description: string[];
image: string | StaticImageData;
imageDark?: string | StaticImageData;
stack: TechStackItem[];
link: string;
};
type TechStackItem =
{
icon: ic.FluentIcon;
text: string;
};
+40
View File
@@ -0,0 +1,40 @@
import { ImageExport } from "@/_assets/assets";
import { dotnetResume, fullstackResume, reactResume } from "@/_assets/illustrations";
const resumeList: Resume[] =
[
{
key: "dotnet",
label: ".NET developer",
pageIndex: 1,
fileName: "Resume - Eugene Fox - .NET developer",
image: dotnetResume
},
{
key: "react",
label: "React developer",
pageIndex: 0,
fileName: "Resume - Eugene Fox - React developer",
image: reactResume
},
{
key: "fullstack",
label: "Fullstack developer",
pageIndex: 2,
fileName: "Resume - Eugene Fox - Fullstack developer",
image: fullstackResume,
default: true
},
];
export default resumeList;
export type Resume =
{
key: string;
pageIndex: number;
label: string;
image: ImageExport;
fileName: string;
default?: true;
};
+60
View File
@@ -0,0 +1,60 @@
import { ImageExport } from "@/_assets/assets";
import imgs from "@/_assets/illustrations/skills";
import * as ic from "@fluentui/react-icons";
const skills: Skill[] =
[
{
title: "NodeJS",
description: "React, Vite, Next.js, SASS, TypeScript",
icon: ic.WindowDevToolsRegular,
image: imgs.nodejs
},
{
title: ".NET",
description: "ASP.NET, Razor, WinUI/UWP, WPF, WinForms | Xamarin.Forms, MAUI",
icon: ic.PhoneDesktopRegular,
image: imgs.dotnet
},
{
title: "Architecture & systems",
description: "Docker, Nginx, Linux | Modules, microservices",
icon: ic.DesktopFlowRegular,
image: imgs.architecture
},
{
title: "Databases",
description: "Entity Framework, MongoDB",
icon: ic.DatabaseMultipleRegular,
image: imgs.databases
},
{
title: "Design",
description: "Figma, Photoshop, Illustrator",
icon: ic.DesignIdeasRegular,
// Note, this picture has a special behavior in @/_page_sections/SkillsSection.tsx:24
image: imgs.design
},
{
title: "DevOps",
description: "GitHub, Azure DevOps, AppCenter, Atlassian",
icon: ic.FlashFlowRegular,
image: imgs.devops
},
{
title: "Administration",
description: "Ansible, M365, Azure, InTune",
icon: ic.ConnectedRegular,
image: imgs.admin
}
];
export default skills;
export type Skill =
{
title: string;
description: string;
icon: ic.FluentIcon;
image: ImageExport;
};
+30
View File
@@ -0,0 +1,30 @@
import Package from "@/../package.json";
const socials: Socials =
{
"GitHub":
{
href: Package.author.url,
username: "@xfox111"
},
"LinkedIn":
{
href: "https://www.linkedin.com/in/xfox/",
username: "@xfox"
},
"Twitter":
{
href: "https://twitter.com/xfox111",
username: "@xfox111"
},
};
export default socials;
export type Socials = Record<string, SocialLink>;
export type SocialLink =
{
href: string;
username: string;
};
@@ -0,0 +1,26 @@
@import "../theme.scss";
.section
{
@include centerTwo;
@include body2($fontFamilyBaseAlt);
color: $colorNeutralForeground2;
align-items: center;
> div:first-child
{
@include flex(column);
gap: $spacingM;
}
> img
{
height: auto;
width: 100%;
max-width: 400px;
justify-self: center;
border-radius: $borderRadiusMedium;
box-shadow: $shadow2;
}
}
+21
View File
@@ -0,0 +1,21 @@
import { aboutPicture } from "@/_assets/illustrations";
import bio from "@/_data/bio";
import Image from "next/image";
import React from "react";
import cls from "./AboutSection.module.scss";
const AboutSection: React.FC = () => (
<section id="about" className={ cls.section }>
<div>
<h2>About me</h2>
{ bio.map((i, index) =>
<p key={ index }>{ i }</p>
) }
</div>
<Image src={ aboutPicture.src } alt={ aboutPicture.alt } />
</section>
);
export default AboutSection;
@@ -0,0 +1,91 @@
@import "../theme.scss";
.section
{
@include flex(column);
gap: $spacingXXXL;
@include body1;
h2
{
text-align: center;
}
.content
{
@include centerTwo;
.container
{
@include flex(column);
gap: $spacingM;
}
.contacts
{
align-items: flex-end;
text-align: right;
}
.textarea
{
min-width: 100%;
min-height: 160px;
max-width: 60vw;
resize: both;
}
.formToolbar
{
@include flex(row);
justify-content: flex-end;
@media screen and (max-width: 460px)
{
flex-flow: column;
row-gap: $spacingM;
align-items: flex-end;
.status > span
{
@include body1($fontFamilyBaseAlt);
}
}
.status
{
@include flex(row);
@include align(center, flex-end);
@include body2($fontFamilyBaseAlt);
height: 40px;
width: 0;
overflow: hidden;
> span
{
margin: $spacingS $spacingM;
text-wrap: nowrap;
}
color: $colorNeutralForegroundStaticInverted;
background-color: $colorStatusDangerBackground3;
transition-property: width;
transition-duration: $durationNormal;
transition-timing-function: $curveEasyEaseMax;
&:is(.error, .success)
{
width: 100%;
}
&.success
{
background-color: $colorStatusSuccessBackground3;
}
}
}
}
}
+118
View File
@@ -0,0 +1,118 @@
"use client";
import Button from "@/_components/Button";
import contacts from "@/_data/contacts";
import FormStatusTracker from "@/_utils/FormStatusTracker";
import React, { InputHTMLAttributes, useMemo, useState } from "react";
import { useFormState } from "react-dom";
import sendInquiry, { FormStatus } from "../_utils/sendInquiry";
import cls from "./ContactSection.module.scss";
const defaultState: FormStatus = { status: "idle" };
const ContactSection: React.FC = () =>
{
const [pending, setPending] = useState<boolean>(false);
const [{ status, message }, formAction] = useFormState<FormStatus, FormData>(sendInquiry, defaultState);
const { telephone: phone, email, socials } = contacts;
const sharedProps: InputHTMLAttributes<HTMLInputElement | HTMLTextAreaElement> = useMemo(() => ({
required: true,
disabled: pending,
readOnly: status === "success"
}), [status, pending]);
return (
<section id="contacts" className={ cls.section }>
<h2>Let's get in touch</h2>
<div className={ cls.content }>
<div className={ cls.container }>
<h3>Inquiries, requests or proposals</h3>
<form className={ cls.container } action={ formAction }>
<FormStatusTracker onPendingChanged={ setPending } />
<input name="email" type="email" { ...sharedProps }
autoComplete="email" spellCheck="false"
maxLength={ 60 }
placeholder="Email" />
<input name="subject" type="text" { ...sharedProps }
autoComplete="off" spellCheck="true"
maxLength={ 120 }
placeholder="Subject" />
<textarea name="message" { ...sharedProps } className={ cls.textarea }
autoComplete="off" spellCheck="true"
minLength={ 100 } maxLength={ 2000 }
placeholder="Message (min 100 characters)" />
<input name="timezone" type="hidden" readOnly
value={ Intl.DateTimeFormat().resolvedOptions().timeZone } />
<div className={ cls.formToolbar }>
<div className={ `${cls.status} ${pending ? "" : cls[status]}` }>
{ pending &&
<span role="alert" aria-live="assertive">
Sending
</span>
}
{ !pending && status === "success" &&
<span role="alert" aria-live="assertive">
Message successfully sent
</span>
}
{ !pending && status === "error" &&
<span role="alert" aria-live="assertive">
{ message ?? "Something went wrong" }
</span>
}
</div>
{ status !== "success" &&
<Button type="submit" disabled={ pending }>
Submit
</Button>
}
</div>
</form>
</div>
<div className={ `${cls.container} ${cls.contacts}` }>
<h3>Direct contacts</h3>
<p>
{ Object.entries(socials).map(([name, i]) =>
<span key={ name }>
<span aria-hidden>{ name + ": " }</span>
<a aria-label={ `${name}: ${i.username}` } href={ i.href } target="_blank">
{ i.username }
</a>
<br aria-hidden />
</span>
) }
{ phone &&
<span>
<span aria-hidden>Telephone: </span>
<a aria-label={ `Telephone: ${phone.text} (${phone.country})` } href={ phone.href }>
{ phone.text }
</a>
<span aria-hidden> ({ phone.country })</span>
</span>
}
</p>
<Button href={ email.href } target="_blank">
{ email.text }
</Button>
</div>
</div>
</section>
);
};
export default ContactSection;
@@ -0,0 +1,242 @@
@import "../theme.scss";
.section
{
@include flex(column);
gap: $spacingXXXL;
h2
{
text-align: center;
}
// Properties shared between horizontal and vertical timelines
.timeline
{
@include maxCenter(1600px);
display: grid;
position: relative;
.line
{
z-index: -1;
position: absolute;
display: grid;
> *
{
grid-row: 1;
grid-column: 1;
}
.strip
{
border-radius: $borderRadiusMedium;
}
.trailHorizontal
{
width: 100%;
height: auto;
}
.trailVertical
{
height: 100%;
width: auto;
}
}
.item
{
display: grid;
.year
{
@include subtitle1($fontFamilyBaseAlt);
}
> i
{
display: block;
height: 32px;
width: 32px;
border: $strokeWidthThickest solid $colorNeutralForeground1;
border-radius: $borderRadiusCircular;
background-color: $colorNeutralForeground1;
box-shadow: inset 0 0 0 16px $colorNeutralBackground1;
}
.description
{
p
{
@include body2($fontFamilyBaseAlt);
color: $colorNeutralForeground3;
}
.title
{
@include subtitle1($fontFamilyBaseAlt);
}
}
}
// Vertical timeline
@media screen and (max-width: 860px)
{
gap: $spacingXXXL;
.line
{
height: 100%;
width: 8px;
left: 88px;
justify-content: center;
justify-items: center;
.strip
{
width: 8px;
height: 100%;
background-image:
repeating-linear-gradient($colorNeutralForeground1 0 $spacingM, transparent 0 $spacingXXL);
}
.trailHorizontal
{
display: none;
}
}
.item
{
grid-template-columns: 64px auto 1fr;
padding: $spacingXXXL $spacingNone;
gap: $spacingM;
align-items: center;
}
}
// Horizontal timeline
@media screen and (min-width: 861px)
{
grid-auto-flow: column;
.line
{
bottom: 72px;
width: 100%;
height: 8px;
align-content: center;
align-items: center;
.strip
{
height: 8px;
background-image:
repeating-linear-gradient(90deg, $colorNeutralForeground1 0 $spacingM, transparent 0 $spacingXXL);
}
.trailVertical
{
display: none;
}
}
.item
{
grid-template-rows: 128px auto 48px;
padding: $spacingNone $spacingM;
row-gap: $spacingM;
.year
{
grid-row: 3/3;
}
> i
{
grid-row: 2/2;
transition: box-shadow $durationNormal $curveEasyEaseMax;
}
h3,
p
{
transition-property: font-size, line-height, opacity;
transition-duration: $durationNormal;
transition-timing-function: $curveEasyEaseMax;
}
.description
{
grid-row: 1/1;
align-self: self-end;
p
{
font-size: 0;
opacity: 0;
}
@media screen and (max-width: 1200px)
{
.title
{
opacity: 0;
font-size: 0;
}
}
}
}
// When there's something hovered or focused inside the timeline
&:has(:hover, :focus-visible, :focus-within) .item
{
// Item that is being hovered or focused
&:is(:hover, :focus-visible, :focus-within)
{
.year,
.title
{
@include title1($fontFamilyBaseAlt);
opacity: 1;
}
> i
{
box-shadow: inset 0 0 0 0 $colorNeutralBackground1;
}
.description > p
{
@include subtitle2($fontFamilyBaseAlt);
opacity: 1;
}
}
// Other not focused items
&:not(:hover, :focus-visible, :focus-within)
{
.year,
.title
{
@include body1($fontFamilyBaseAlt);
color: $colorNeutralForeground3;
@media screen and (max-width: 1200px)
{
opacity: 0;
font-size: 0;
}
}
}
}
}
}
}
+57
View File
@@ -0,0 +1,57 @@
import { experienceBgHorizontal, experienceBgVertical } from "@/_assets/decorations";
import experience, { WorkplaceEntry } from "@/_data/experience";
import Image from "next/image";
import Link from "next/link";
import React from "react";
import cls from "./ExperienceSection.module.scss";
const ExperienceSection: React.FC = () => (
<section id="experience" className={ cls.section }>
<h2>My work experience</h2>
<div className={ cls.timeline } role="list" aria-label="My work experience">
<div aria-hidden className={ cls.line }>
<Image className={ cls.trailHorizontal }
alt={ experienceBgHorizontal.alt } src={ experienceBgHorizontal.src } />
<Image className={ cls.trailVertical }
alt={ experienceBgVertical.alt } src={ experienceBgVertical.src } />
<i className={ cls.strip } />
</div>
{ experience.map((i, index) =>
<div className={ cls.item } key={ index }
tabIndex={ 0 } role="listitem" aria-label={ getAriaLabel(i) }>
<p aria-hidden className={ cls.year }>{ i.year }</p>
<i />
<div className={ cls.description }>
<p aria-hidden>{ i.place }</p>
<h3 aria-hidden className={ cls.title }>{ i.title }</h3>
<p aria-hidden={ !!i.tech }>{ i.tech ?? <Link href="#contacts">Contact me</Link> }</p>
</div>
</div>
) }
</div>
</section>
);
function getAriaLabel(item: WorkplaceEntry): string
{
let str: string[] = [];
if (item.year)
str.push(`${item.year} -`);
str.push(item.title);
if (item.place)
str.push(`at ${item.place}`);
if (item.tech)
return str.join(" ") + `. ${item.tech}`;
else
return str.join(" ");
}
export default ExperienceSection;
@@ -0,0 +1,98 @@
@import "../theme.scss";
.section
{
@include centerTwo;
.listItem
{
background-position: right;
}
.descriptions
{
@include body2($fontFamilyBaseAlt);
display: grid;
overflow-x: visible;
min-height: 760px;
@media screen and (max-width: 860px)
{
min-height: unset;
padding-top: calc(56px + $spacingXL);
}
img
{
width: 100%;
height: auto;
}
.defaultImg
{
@include slideIn;
align-self: center;
}
.projectItem
{
@include flex(column);
max-width: 600px;
justify-self: center;
gap: $spacingM;
@include slideIn;
@media (prefers-color-scheme: light)
{
> img[data-theme=dark]
{
display: none;
}
}
@media (prefers-color-scheme: dark)
{
> img[data-theme=light]
{
display: none;
}
}
p
{
color: $colorNeutralForeground2;
}
> h4
{
@include subtitle1($fontFamilyBaseAlt);
}
.stack
{
@include flex(row, wrap);
gap: $spacingL;
@include body1;
.item
{
@include flex(row);
align-items: center;
gap: $spacingSNudge;
> svg
{
width: 24px;
height: 24px;
}
}
}
}
}
.cta
{
align-self: flex-end;
}
}
+83
View File
@@ -0,0 +1,83 @@
"use client";
import { projectsImg } from "@/_assets/illustrations";
import Button from "@/_components/Button";
import links from "@/_data/links";
import projects from "@/_data/projects";
import shared from "@/_styles/gallery.module.scss";
import { ArrowRight24Regular } from "@fluentui/react-icons";
import Image from "next/image";
import React, { useState } from "react";
import { networkFor } from "react-social-icons";
import cls from "./ProjectsSection.module.scss";
const ProjectsSection: React.FC = () =>
{
const [selection, setSelection] = useState<number | undefined>(undefined);
return (
<section id="projects" className={ cls.section }>
<div className={ shared.list }>
<h2>My pet projects</h2>
{ projects.map((project, index) =>
<Button key={ index } type="button"
className={ `${shared.listItem} ${cls.listItem}` }
appearance={ selection === index ? "primary" : "secondary" }
data-selected={ selection === index }
onClick={ () => setSelection(selection == index ? undefined : index) }
aria-label={ `"${project.title}". ${project.subtitle}` }>
<div className={ shared.content }>
<span className={ shared.title }>{ project.title }</span>
<span>{ project.subtitle }</span>
</div>
</Button>
) }
<Button className={ cls.cta } appearance="secondary" href={ links.github } target="_blank"
iconAfter={ <ArrowRight24Regular /> }>
View GitHub profile
</Button>
</div>
<div className={ cls.descriptions } aria-live="polite" aria-atomic>
{ projects.map((project, index) =>
<div key={ index } className={ cls.projectItem } hidden={ selection !== index }>
<Image src={ project.image } alt={ project.title } data-theme={ project.imageDark ? "light" : "both" } />
{/* This is a workaround since not all images can be theme-adaptive */ }
{ project.imageDark &&
<Image src={ project.imageDark } alt="" data-theme="dark" />
}
<h3>{ project.title }</h3>
{ project.description?.map((i, index) =>
<p key={ index }>{ i }</p>
) }
<h4>Stack</h4>
<div className={ cls.stack }>
{ project.stack.map((i, index) =>
<div key={ index } className={ cls.item }>
<i.icon /> { i.text }
</div>
) }
</div>
<Button className={ cls.cta } appearance="secondary" href={ project.link } target="_blank"
iconAfter={ <ArrowRight24Regular /> }>
{ networkFor(project.link) === "github" ? "View on GitHub" : "Visit project page" }
</Button>
</div>
) }
<Image className={ cls.defaultImg } hidden={ selection !== undefined }
src={ projectsImg.src } alt={ projectsImg.alt } />
</div>
</section>
);
};
export default ProjectsSection;
@@ -0,0 +1,51 @@
@import "../theme.scss";
.section
{
@include centerTwo;
align-items: center;
.illustrations
{
justify-self: center;
position: relative;
img
{
width: 100%;
max-height: 600px;
@include slideIn;
}
// [SPECIAL]
.whatsThis
{
position: absolute;
cursor: pointer;
bottom: calc(50% - 20px + 13.5%);
left: 40%;
width: 20%;
height: 40px;
@media screen and (max-width: 1400px)
{
bottom: calc(50% - 20px + 6vw)
}
}
}
.list
{
.cta
{
align-self: flex-end;
}
@media screen and (max-width: 860px)
{
grid-row: 1;
}
}
}
+60
View File
@@ -0,0 +1,60 @@
"use client";
import Button from "@/_components/Button";
import skills from "@/_data/skills";
import shared from "@/_styles/gallery.module.scss";
import { ArrowDownload24Regular } from "@fluentui/react-icons";
import Image from "next/image";
import React, { useId, useState } from "react";
import cls from "./SkillsSection.module.scss";
import links from "@/_data/links";
const SkillsSection: React.FC = () =>
{
const [selection, setSelection] = useState<number>(0);
const illustrations = useId();
return (
<section id="skills" className={ cls.section }>
<div id={ illustrations } className={ cls.illustrations } aria-live="polite" aria-atomic>
{ skills.map((i, index) =>
<Image key={ index }
src={ i.image.src } alt={ i.image.alt }
hidden={ selection !== index } />
) }
{ selection === 4 &&
// [SPECIAL] It's a surprize tool that will help us later
<div role="button" aria-label="Click me" className={ cls.whatsThis } onClick={ () => window.open("https://www.youtube.com/watch?v=dQw4w9WgXcQ") } />
}
</div>
<div className={ `${shared.list} ${cls.list}` }>
<h2>My skillset</h2>
{ skills.map((skill, index) =>
<Button key={ index } type="button" aria-current={ selection === index } aria-controls={ illustrations }
className={ shared.listItem } appearance={ selection === index ? "primary" : "secondary" }
data-selected={ selection === index }
onClick={ () => setSelection(index) }
aria-label={ `${skill.title} skills. Associated stack: ${skill.description}` }
icon={ <skill.icon /> } >
<div className={ shared.content }>
<span className={ shared.title }>{ skill.title }</span>
<span>{ skill.description }</span>
</div>
</Button>
) }
<Button appearance="secondary" className={ cls.cta }
as="next" href={ links.resume }
icon={ <ArrowDownload24Regular /> }>
Download resume
</Button>
</div>
</section>
);
};
export default SkillsSection;
+51
View File
@@ -0,0 +1,51 @@
@import "../theme.scss";
.list
{
@include flex(column);
gap: $spacingM;
.listItem
{
padding: $spacingS $spacingL;
gap: $spacingSNudge;
justify-content: flex-start;
border: $strokeWidthThin solid $colorNeutralForeground1;
> svg:first-child
{
width: 32px;
height: 32px;
}
.content
{
@include flex(column);
text-align: left;
color: $colorNeutralForeground3;
.title
{
@include subtitle1($fontFamilyBaseAlt);
color: $colorNeutralForeground1;
}
}
&[data-selected=true]
{
background-size: $spacingMNudge 100%;
&:hover,
&:focus-visible
{
background-size: 100% 100%;
.title,
.content
{
color: $colorNeutralForegroundInverted;
}
}
}
}
}
+32
View File
@@ -0,0 +1,32 @@
"use client";
import React, { useEffect } from "react";
import { useFormStatus } from "react-dom";
// Since useFormStatus requires to be inside of the form, I moved it to a separate helper component.
// Could it be done better? Probably.
// Did I do it? No.
/** Renders a React component that tracks the form status and calls the provided callback function when the form status changes. */
const FormStatusTracker: React.FC<FormStatusTrackerProps> = ({ onPendingChanged }) =>
{
const { pending } = useFormStatus();
useEffect(() =>
{
onPendingChanged(pending);
}, [pending, onPendingChanged]);
return null;
};
export default FormStatusTracker;
/** Props for the `FormStatusTracker` component. */
export type FormStatusTrackerProps =
{
/** The callback function that is called when the form status changes. */
// For some reason ESLint shows a warning for "unused" "pending" parameter.
// eslint-disable-next-line no-unused-vars
onPendingChanged: (pending: boolean) => void;
};
+74
View File
@@ -0,0 +1,74 @@
"use server";
import { canonicalName } from "@/_data/metadata";
import nodemailer from "nodemailer";
import { z } from "zod";
const schema = z.object({
email: z.string().email().max(60),
subject: z.string().max(120),
message: z.string().min(100).max(2000),
timezone: z.string().optional()
});
const mailClient = nodemailer.createTransport({
host: process.env.SMTP_HOST,
port: parseInt(process.env.SMTP_PORT!),
priority: "high",
auth:
{
user: process.env.SMTP_USER,
pass: process.env.SMTP_PASSWORD
}
});
export default async function sendInquiry(_: FormStatus, formData: FormData): Promise<FormStatus>
{
const { success, data } = schema.safeParse({
email: formData.get("email"),
subject: formData.get("subject"),
message: formData.get("message"),
timezone: formData.get("timezone")
});
if (!success)
return {
status: "error",
message: "Invalid request"
};
await mailClient.sendMail({
from: process.env.SMTP_FROM_EMAIL,
to: process.env.SMTP_TO_EMAIL,
subject: `${canonicalName.hostname}: Contact Inquiry`,
text: getTemplate(data)
});
return {
status: "success"
};
}
const getTemplate = (data: InquiryData): string => (
`From: ${data.email}
Received on: ${new Date()}
Sender timezone: ${data.timezone ?? "Unknown"}
Subject: ${data.subject}
${data.message}`
);
export type FormStatus =
{
status: "idle" | "success" | "error";
message?: string;
};
type InquiryData =
{
email: string;
subject: string;
message: string;
timezone?: string;
};
Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

+36
View File
@@ -0,0 +1,36 @@
@import "../theme.scss";
.page
{
@include maxCenter;
padding: $spacingXL $spacingM;
color: $colorNeutralForeground2;
margin-bottom: 64px;
h1
{
@include largeTitle($fontFamilyBaseAlt);
color: $colorNeutralForeground1;
}
h2
{
@include title2($fontFamilyBaseAlt);
color: $colorNeutralForeground1;
}
&,
article,
section
{
@include flex(column);
align-items: flex-start;
gap: $spacingM;
ul,
ol
{
padding: revert;
}
}
}
+129
View File
@@ -0,0 +1,129 @@
import Package from "@/../package.json";
import Button from "@/_components/Button";
import { canonicalName, getTitle } from "@/_data/metadata";
import { ArrowLeft24Regular, ArrowRight24Regular } from "@fluentui/react-icons";
import { Metadata } from "next";
import React from "react";
import cls from "./page.module.scss";
import ThirdPartyAttribution from "@/_data/ThirdPartyAttributiont";
export const metadata: Metadata =
{
title: getTitle("Attributions & information", canonicalName.hostname),
robots: "noindex"
};
const AttributionPage: React.FC = () => (
<main className={ cls.page }>
<Button appearance="secondary" as="next" href="/" icon={ <ArrowLeft24Regular /> }>
Back
</Button>
<article>
<h1>Attrubtions &amp; information</h1>
{ process.env.CLARITY_ID &&
<section>
<h2>Privacy policy</h2>
<p>
We partner with Microsoft Clarity and Microsoft Advertising to capture how you use and interact with this website through behavioral metrics, heatmaps, and session replay.
Website usage data is captured using first and third-party cookies and other tracking technologies for site optimization purposes and general statistics collection.
</p>
<p>
As the website owners, we do not collect any personal data.
</p>
<p>
For more information about how Microsoft collects and uses your data,
visit the <a href="https://privacy.microsoft.com/privacystatement" target="_blank">Microsoft Privacy Statement</a>.
</p>
<p>
If "Do Not Track" option is enabled in your browser, the website will not load any tracking code.
</p>
<Button appearance="secondary"
href="https://learn.microsoft.com/clarity/faq#privacy" target="_blank"
iconAfter={ <ArrowRight24Regular /> }>
Visit Clarity privacy FAQ
</Button>
</section>
}
<section>
<h2>Content copyright policy</h2>
<p>
Copyright &copy; { new Date().getFullYear() } { Package.author.name }. Some rights reserved.
</p>
<p>
Text and graphical material of this website is a subject to general copyright law. You must obtain a written permission from the author in order to use any copyrighted material.
</p>
<p>
You may use copyrighted material without excplicit permission in following cases:
</p>
<ul>
<li>Educational purposes.</li>
<li>Any other purposes that may be considered as fair use.</li>
</ul>
<Button appearance="secondary"
href={ new URL("./blob/main/COPYING", Package.repository.url).href } target="_blank"
iconAfter={ <ArrowRight24Regular /> }>
View copyright notice
</Button>
</section>
<section>
<h2>Website source code license</h2>
<p>MIT License</p>
<p>Copyright &copy; { new Date().getFullYear() } { Package.author.name }</p>
<p>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
</p>
<p>
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
</p>
<p>
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
</p>
<Button appearance="secondary"
href={ Package.repository.url } target="_blank"
iconAfter={ <ArrowRight24Regular /> }>
Source code
</Button>
</section>
<section>
<h2>Third-party content</h2>
<ThirdPartyAttribution />
<p>
Source code of this website has a list of dependency libraries which are subjects to their individual licenses and terms.
License text can be found for each denpendency library individually in its own designated source code repository.
</p>
<Button appearance="secondary"
href={ new URL("./network/dependencies", Package.repository.url).href } target="_blank"
iconAfter={ <ArrowRight24Regular /> }>
Full list of third-party libraries
</Button>
</section>
</article>
</main>
);
export default AttributionPage;
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

+28
View File
@@ -0,0 +1,28 @@
import { NextFontWithVariable } from "next/dist/compiled/@next/font";
import { Aldrich, Ubuntu, Ubuntu_Mono } from "next/font/google";
const AldrichFont = Aldrich({
subsets: ["latin"],
weight: "400",
variable: "--font-alt"
});
const UbuntuMonoFont = Ubuntu_Mono({
subsets: ["latin"],
weight: "400",
variable: "--font-mono"
});
const UbuntuFont = Ubuntu({
weight: "400",
subsets: ["latin"],
variable: "--font-base"
});
const fonts: NextFontWithVariable[] = [
AldrichFont,
UbuntuFont,
UbuntuMonoFont
];
export default fonts;
+92
View File
@@ -0,0 +1,92 @@
@import "./theme.scss";
:root
{
scroll-behavior: smooth;
@media (prefers-color-scheme: light)
{
@include lightTheme;
}
@media (prefers-color-scheme: dark)
{
@include darkTheme;
}
}
*
{
box-sizing: border-box;
padding: 0;
margin: 0;
}
body
{
@include flex(column);
@include body1;
min-width: 300px;
min-height: 100vh;
color-scheme: light dark;
> main
{
@include maxCenter;
flex-grow: 1;
padding: $spacingXXL;
margin-top: 56px;
}
font-synthesis: none;
text-rendering: geometricPrecision;
background-color: $colorNeutralBackground1;
color: $colorNeutralForeground1;
::selection
{
background-color: $colorNeutralBackgroundInverted;
color: $colorNeutralForegroundInverted;
}
[hidden]
{
display: none !important;
}
}
a
{
text-decoration: none;
color: $colorBrandForeground1;
background-image: linear-gradient($colorNeutralBackgroundInverted, $colorNeutralBackgroundInverted);
background-repeat: no-repeat;
background-size: 0% 100%;
transition-property: background-size, color;
transition-duration: $durationFaster;
transition-timing-function: $curveEasyEaseMax;
&:hover,
&:focus-visible
{
background-size: 100% 100%;
color: $colorNeutralForegroundInverted;
}
}
input,
textarea
{
@include formBase;
}
// [SPECIAL] case for 404 page
main.not-found + footer > .illustration
{
display: none;
}
+116
View File
@@ -0,0 +1,116 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg
id="Layer_5"
data-name="Layer 5"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 1024 1024"
>
<defs>
<style type="text/css">
.stroke {
fill: #242424;
}
.tailPoint {
fill: #ffffff;
}
.nose {
fill: #242424;
}
.body {
fill: #ff7545;
}
.cross {
fill: #242424;
}
.ears {
stroke: #242424;
stroke-linecap: round;
stroke-linejoin: round;
stroke-width: 16px;
}
@media (prefers-color-scheme: dark), (prefers-contrast: more) {
.cross {
fill: #ffffff;
}
.stroke.dark {
fill: #ff7545;
}
.ears {
stroke: #ff7545;
stroke-linejoin: miter;
}
}
</style>
</defs>
<polygon
id="CrossPart"
class="cross"
points="0 0 128 0 1024 1024 896 1024 0 0"
/>
<g id="Fox">
<g id="TailPart">
<g id="Tail">
<path
class="body"
d="m397.22,502.76c35.69-43.82,70.91-98.3,107.38-154.71,64.29-99.45,130.76-202.28,209.64-263.99,36.12-28.26,75.86-48.05,121.49-60.48,5-1.37,10.27-2.69,15.66-3.92,31.53-7.21,66.41-11.11,103.78-11.61-1.3,30.15-9.95,59.59-26.33,89.74-3.17,5.86-6.72,11.86-10.55,17.84-22.32,34.84-54.64,70.09-98.8,107.75-66.86,57-156.31,112.15-251.01,170.54-56.65,34.93-114.63,70.67-171.25,108.85Z"
/>
<path
class="stroke dark"
d="m946.61,16.23c-2.39,25.97-10.56,51.55-24.8,77.76-3.08,5.69-6.53,11.52-10.25,17.33-21.89,34.17-53.7,68.83-97.26,105.98-66.39,56.6-155.59,111.59-250.02,169.81-43.53,26.84-87.84,54.16-131.74,82.7,26.08-35.89,52.1-76.14,78.78-117.41,63.93-98.89,130.03-201.15,207.86-262.03,35.27-27.59,74.08-46.91,118.68-59.06,4.89-1.34,10.05-2.63,15.33-3.84,28.54-6.53,59.89-10.3,93.43-11.23M963.35,0C920.84,0,883.22,4.17,849.61,11.86c-5.43,1.24-10.76,2.58-15.98,4-49.42,13.46-89.79,34.88-124.32,61.9-153.18,119.84-261.34,394.45-383.59,485.24,172.22-127.9,373.87-226.89,498.95-333.53,41.98-35.8,76.33-72.03,100.35-109.52,3.89-6.08,7.52-12.19,10.84-18.33C953.61,68.96,963.35,35.26,963.35,0h0Z"
/>
</g>
<g id="TailPoint">
<path
class="tailPoint"
d="m717.32,221.47V81.69c35.3-27,74.08-46.02,118.42-58.1,5-1.37,10.27-2.69,15.66-3.92,31.53-7.21,66.41-11.11,103.78-11.61-1.3,30.15-9.95,59.59-26.33,89.74-3.17,5.86-6.72,11.86-10.55,17.84-21.94,34.25-53.55,68.89-96.57,105.83h-104.41Z"
/>
<path
class="stroke"
d="m946.61,16.23c-2.39,25.97-10.56,51.55-24.8,77.76-3.08,5.69-6.53,11.52-10.25,17.33-21.13,32.99-51.52,66.45-92.81,102.15h-93.44v-127.8c33.62-25.11,70.51-42.92,112.54-54.37,4.89-1.34,10.05-2.63,15.33-3.84,28.54-6.53,59.89-10.3,93.43-11.23M963.35,0C920.84,0,883.22,4.17,849.61,11.86c-5.43,1.24-10.76,2.58-15.98,4-49.42,13.46-89.79,34.88-124.32,61.9v151.7h115.36c41.98-35.8,76.33-72.03,100.35-109.52,3.89-6.08,7.52-12.19,10.84-18.33C953.61,68.96,963.35,35.26,963.35,0h0Z"
/>
</g>
</g>
<g id="BodyPart">
<path
class="body"
d="m185.79,985.39c6.17-165.66,52.38-304.72,134.57-403.91,45.2-54.55,100.97-96.69,165.76-125.26,67.4-29.71,144.72-44.78,229.83-44.78,53.85,0,111.36,6.07,171.29,18.07-359.02,131.99-583.41,309.68-701.45,555.87Z"
/>
<path
class="stroke dark"
d="m715.95,419.45c44.83,0,92.24,4.26,141.51,12.68-328.87,125.4-541.78,291.08-661.52,515.48,11.31-147.11,55.87-270.87,130.57-361.02,44.4-53.59,99.19-94.98,162.83-123.04,66.37-29.26,142.61-44.1,226.6-44.1m0-16c-352.85,0-538.87,254.29-538.87,620.55,122.22-285.97,378.67-468.45,739.17-596.45-71.77-16.31-138.62-24.1-200.3-24.1h0Z"
/>
</g>
<g id="HeadPart">
<g id="HeadOnly">
<g id="Head">
<path
class="body"
d="m108.87,723.29c-.57,0-1.14,0-1.71-.02-12.82-.27-22.47-3.56-28.7-9.79s-9.52-15.88-9.79-28.7c-.8-37.98,26.29-95.15,50.14-119,14.34-14.34,33.4-22.24,53.67-22.24s39.33,7.9,53.67,22.24c14.34,14.33,22.24,33.39,22.24,53.67s-7.9,39.34-22.24,53.68c-23.68,23.68-78.86,50.16-117.28,50.16Z"
/>
<path
class="stroke dark"
d="m172.48,551.55c18.14,0,35.19,7.06,48.02,19.89,12.83,12.82,19.89,29.87,19.89,48.01s-7.06,35.19-19.89,48.02c-22.11,22.11-75.69,47.81-111.63,47.81-.52,0-1.03,0-1.55-.02-10.68-.22-18.49-2.73-23.21-7.45-4.72-4.72-7.22-12.53-7.45-23.21-.36-16.86,5.09-38.88,15.34-62,9.32-21.04,21.46-40.16,32.46-51.17,12.83-12.83,29.88-19.89,48.02-19.89m0-16c-21.47,0-42.95,8.19-59.33,24.58-24.55,24.55-53.36,83.18-52.48,124.82.29,13.94,3.92,25.98,12.13,34.19,8.21,8.21,20.25,11.84,34.19,12.13.62.01,1.25.02,1.88.02,41.51,0,98.76-28.32,122.94-52.5,32.77-32.77,32.77-85.9,0-118.66-16.39-16.38-37.86-24.58-59.33-24.58h0Z"
/>
</g>
<path
id="Nose"
class="nose"
d="m106.99,731.27c-13.94-.29-25.98-3.92-34.19-12.13-8.21-8.21-11.84-20.25-12.13-34.19,20.9-20.9,67.22,25.42,46.32,46.32Z"
/>
</g>
<path
id="Ears"
class="body ears"
d="m263.57,579.71h0c-1.55-5.95-3.23-12.14-6.73-17.52-24.15-37.02-73.66-54.73-113.12-35.84,54.15-37.67,105.81-57.46,154.53-56.04-20.55,34.44-32.5,70.81-34.67,109.4Z"
/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

+40
View File
@@ -0,0 +1,40 @@
import { metadata as myMetadata } from "@/_data/metadata";
import type { Metadata, Viewport } from "next";
import { headers as getHeaders } from "next/headers";
import Script from "next/script";
import { PropsWithChildren } from "react";
import Footer from "./_components/Footer";
import Header from "./_components/Header";
import fonts from "./fonts";
import "./globals.scss";
export const viewport: Viewport =
{
themeColor:
[
{ media: "(prefers-color-scheme: light)", color: "#FFFFFF" },
{ media: "(prefers-color-scheme: dark)", color: "#242424" }
],
colorScheme: "light dark"
};
export const metadata: Metadata = myMetadata;
export default function RootLayout(props: PropsWithChildren)
{
const headers = getHeaders();
return (
<html lang="en" className={ fonts.map(i => i.variable).join(" ") }>
{ headers.get("Dnt") !== "1" && process.env.CLARITY_ID &&
// If "Do Not Track" is enabled, or there's no CLARITY_ID set up, we don't load any analytics
<Script id="ms-clarity" src="/clarity.js" data-id={ process.env.CLARITY_ID } />
}
<body>
<Header />
{ props.children }
<Footer />
</body>
</html>
);
}
+14
View File
@@ -0,0 +1,14 @@
@import "./theme.scss";
.root
{
@include flex;
@include align(center, center);
height: 100vh;
> img
{
width: 300px;
height: auto;
}
}
+12
View File
@@ -0,0 +1,12 @@
import Image from "next/image";
import React from "react";
import { spinner } from "./_assets/illustrations";
import cls from "./loading.module.scss";
const LoadingPage: React.FC = () => (
<div className={ cls.root } role="alert" aria-label="Loading page">
<Image src={ spinner.src } alt={ spinner.alt } priority unoptimized />
</div>
);
export default LoadingPage;
+59
View File
@@ -0,0 +1,59 @@
@import "./theme.scss";
.page
{
@include maxCenter;
padding: $spacingXXXL $spacingXL;
@include flex(row, wrap);
@include align(center, center);
gap: $spacingXXXL;
.illustration
{
@include flex(column);
flex-grow: 1;
max-width: 620px;
> h1
{
@include largeTitle($fontFamilyBaseAlt);
margin: 0 16px;
line-height: $fontSizeHero900;
}
> img
{
width: 100%;
height: auto;
}
}
.content
{
@include flex(column);
gap: $spacingM;
align-items: flex-start;
.caption
{
position: relative;
> h2
{
@include title2($fontFamilyBaseAlt);
}
// [SPECIAL]
> img
{
position: absolute;
bottom: 4px;
left: 10px;
width: auto;
height: 68px;
pointer-events: none;
}
}
}
}
+37
View File
@@ -0,0 +1,37 @@
import { textCorrection } from "@/_assets/decorations";
import { Home24Regular } from "@fluentui/react-icons";
import { Metadata } from "next";
import Image from "next/image";
import React from "react";
import { notFoundImage } from "./_assets/illustrations";
import Button from "./_components/Button";
import { canonicalName, getTitle } from "./_data/metadata";
import cls from "./not-found.module.scss";
export const metadata: Metadata =
{
title: getTitle("Page not found", canonicalName.hostname),
robots: "noindex"
};
// [SPECIAL]
const NotFoundPage: React.FC = () => (
<main className={ `${cls.page} not-found` }>
<div className={ cls.illustration }>
<h1>404...</h1>
<Image src={ notFoundImage.src } alt={ notFoundImage.alt } priority />
</div>
<div className={ cls.content }>
<div className={ cls.caption }>
<h2>...fox not found</h2>
<Image src={ textCorrection.src } alt={ textCorrection.alt } />
</div>
<Button as="next" href="/" icon={ <Home24Regular /> }>
To the homepage
</Button>
</div>
</main>
);
export default NotFoundPage;
+1
View File
@@ -0,0 +1 @@
White text on black background. Text reads: "Developed by: Eugene A. Fox" (omage to "Directed by Robert D. Weide")
Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

+26
View File
@@ -0,0 +1,26 @@
@import "./theme.scss";
.page
{
@include flex(column);
max-width: unset;
gap: 8vw; // Bigger gap on bigger devices
h2
{
@include title1($fontFamilyBaseAlt);
color: $colorNeutralForeground1;
}
h3
{
@include title2($fontFamilyBaseAlt);
color: $colorNeutralForeground1;
}
section
{
padding: $spacingM;
padding-top: calc($spacingM + 56px); // spacingM + header height
}
}
+23
View File
@@ -0,0 +1,23 @@
import React from "react";
import FrontSection from "./_data/FrontSection";
import AboutSection from "./_page_sections/AboutSection";
import ContactSection from "./_page_sections/ContactSection";
import ExperienceSection from "./_page_sections/ExperienceSection";
import ProjectsSection from "./_page_sections/ProjectsSection";
import SkillsSection from "./_page_sections/SkillsSection";
import cls from "./page.module.scss";
const HomePage: React.FC = () => (
<main className={ cls.page }>
<FrontSection />
<SkillsSection />
<ProjectsSection />
<ExperienceSection />
<AboutSection />
<ContactSection />
</main>
);
export default HomePage;
+59
View File
@@ -0,0 +1,59 @@
import resumeList, { Resume } from "@/_data/resumeList";
import { NextRequest } from "next/server";
import { PDFDocument, PDFPage } from "pdf-lib";
export async function GET(req: NextRequest): Promise<Response>
{
const type: string | null = req.nextUrl.searchParams.get("type");
const resume: Resume | undefined = findResume(type);
if (!resume)
return error(400, "'type' parameter is invalid");
if (!process.env.RESUME_URL)
return error(500, "Cannot find file location.");
try
{
// Fetch the PDF file from the remote URL using the fetch API
const response: Response = await fetch(process.env.RESUME_URL as string);
if (!response.ok)
return error(500, "Failed to fetch PDF file");
// Load the PDF document
const pdfData: ArrayBuffer = await response.arrayBuffer();
const srcDoc: PDFDocument = await PDFDocument.load(pdfData);
// Create a new PDF document with the specified page
const newDoc: PDFDocument = await PDFDocument.create();
const [page]: PDFPage[] = await newDoc.copyPages(srcDoc, [resume.pageIndex]);
newDoc.addPage(page);
// Serialize the new PDF document
const pdfBytes: Uint8Array = await newDoc.save();
// Send the PDF page as a response
return new Response(
Buffer.from(pdfBytes),
{
// Set response headers for PDF file
headers: {
"Content-Type": "application/pdf",
"Content-Disposition": `inline; filename="${resume.fileName.replaceAll("\"", "'")}.pdf"`
}
}
);
}
catch (ex)
{
console.error("Error processing PDF:", ex);
return error(500, "Failed to process PDF file");
}
}
const findResume = (type: string | null): Resume | undefined =>
resumeList.find(i => i.key === type) ?? resumeList.find(i => i.default);
const error = (status: number, message: string): Response =>
new Response(message, { status });
+89
View File
@@ -0,0 +1,89 @@
@import "../theme.scss";
.page
{
@include flex(column);
@include align(center, center);
@include subtitle1($fontFamilyBaseAlt);
text-align: center;
gap: $spacingXXXL;
h1
{
@include title1($fontFamilyBaseAlt);
}
.resumeButtons
{
display: grid;
grid-auto-flow: column;
grid-auto-columns: 1fr;
gap: $spacingXL;
.button
{
flex-flow: column;
text-align: center;
.image
{
height: 128px;
width: auto;
}
}
@media screen and (max-width: 860px)
{
grid-auto-flow: row;
.button
{
flex-flow: row;
justify-content: flex-start;
text-align: left;
.image
{
width: 48px;
height: 48px;
}
}
}
}
.linkedin
{
position: relative;
background-image: none;
overflow: clip;
> i
{
height: 32px !important;
width: 32px !important;
}
.circle
{
position: absolute;
height: 32px;
width: 32px;
border-radius: $borderRadiusCircular;
left: 16px;
z-index: -1;
background-color: var(--network-color);
transition: transform $durationFast $curveEasyEaseMax;
}
&:not(:disabled):hover
{
color: $colorNeutralForegroundStaticInverted;
.circle
{
transform: scale(1100%);
}
}
}
}

Some files were not shown because too many files have changed in this diff Show More