This commit is contained in:
Бахирев 2024-06-02 22:01:07 +03:00
parent 3c4ed305c4
commit 97fb5aef91
71 changed files with 394 additions and 112 deletions

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.66px;}</style></defs><g><path class="cls-1" d="M42.7,60.12c-1.79-2.29-5.6-2.2-7.14,.65-1.47,2.73,.22,6.19,3.62,8.09,3.13,1.75,9.12,4.35,9.12,4.35,0,0,2.25-6.13,3.15-9.61,.97-3.77-.36-7.38-3.35-8.2-3.13-.85-5.82,1.84-5.4,4.72Z"/><g><path class="cls-1" d="M27,50.41c-.76-.96-2.36-.93-3.01,.27-.62,1.15,.09,2.61,1.53,3.41,1.32,.74,3.84,1.83,3.84,1.83,0,0,.95-2.58,1.33-4.05,.41-1.59-.15-3.11-1.41-3.45-1.32-.36-2.45,.77-2.28,1.99Z"/><path class="cls-1" d="M60.95,75.68c-.76-.96-2.36-.93-3.01,.27-.62,1.15,.09,2.61,1.53,3.41,1.32,.74,3.84,1.83,3.84,1.83,0,0,.95-2.58,1.33-4.05,.41-1.59-.15-3.11-1.41-3.45-1.32-.36-2.45,.77-2.28,1.99Z"/></g><rect class="cls-1" x="26.33" y="38.59" width="37.16" height="53.18" rx="5.2" ry="5.2" transform="translate(-22.45 23.62) rotate(-23.76)"/></g><path class="cls-1" d="M52.22,36.57l14.33-2.98c2.85-.59,5.63,1.24,6.23,4.08l8.67,41.76c.59,2.85-1.24,5.63-4.08,6.23l-24.63,5.11"/><path class="cls-1" d="M72,35.82l14.64,.04c2.91,0,5.26,2.37,5.25,5.28l-.11,42.65c0,2.91-2.37,5.26-5.28,5.25l-25.15-.06"/><path class="cls-1" d="M91.5,39.15l14.32,3.05c2.84,.61,4.66,3.4,4.05,6.25l-8.88,41.72c-.61,2.84-3.4,4.66-6.25,4.05l-24.6-5.24"/><path class="cls-1" d="M64.42,39.2l-.06,.12c-.23,1.25-1.92,4.48-2.61,5.22l-.03,.06,.04,.05c.87,.52,3.4,3.14,3.98,4.27l.09,.1,.06-.12c.23-1.25,1.92-4.48,2.61-5.22l.03-.06-.05-.05c-.87-.51-3.4-3.14-3.98-4.27l-.1-.09Z"/></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><rect class="cls-1" x="29.74" y="81.49" width="69.47" height="18.53"/><path class="cls-1" d="M64.48,28.82h0c13.31,0,24.11,10.8,24.11,24.11v28.47H40.37v-28.47c0-13.31,10.8-24.11,24.11-24.11Z"/><line class="cls-1" x1="64.48" y1="41.17" x2="64.48" y2="72.22"/><line class="cls-1" x1="55.35" y1="49.07" x2="73.61" y2="49.07"/></svg>

After

Width:  |  Height:  |  Size: 568 B

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><path class="cls-1" d="M51.47,87.06s1.67-53.3,19.06-54.57c4.22-.31,6.71,3.23,7.88,6.83,2.25,6.91,1.53,14.66,2.25,21.83,.35,3.47,.74,6.94,1.31,10.38,.38,2.3,1.49,6.29,2.55,8.4,2.27,4.51,6.26,7.26,11.56,6.96,6.36-.36,10.09-5.95,10.06-11.94-.01-3.01-.96-6.12-3.12-8.2-2.1-2.02-5.13-2.85-8.03-2.78-7.35,.19-11.93,5.33-15.01,11.44-3.59,7.11-6.36,14.93-12.98,19.89-5.87,4.4-12.39,4.81-19.58,3.73"/><path class="cls-1" d="M53.14,68.36c0-7.83-.62-33.58-10.54-34.54-4.53-.44-9.55,2.39-13.55,8.87"/></svg>

After

Width:  |  Height:  |  Size: 735 B

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><path class="cls-1" d="M76.91,70.64c3.55-3.32,5.75-8.04,5.75-13.29,0-10.07-8.17-18.23-18.25-18.23s-18.23,8.17-18.23,18.23c0,5.25,2.21,9.97,5.75,13.29"/><line class="cls-1" x1="105.24" y1="70.64" x2="76.91" y2="70.64"/><line class="cls-1" x1="51.93" y1="70.64" x2="23.59" y2="70.64"/><line class="cls-1" x1="23.59" y1="81.71" x2="105.24" y2="81.71"/></svg>

After

Width:  |  Height:  |  Size: 595 B

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><path class="cls-1" d="M43.5,81.2s1.31-44.6,15.02-45.67c3.33-.26,5.29,2.7,6.21,5.72,1.45,4.73,1.35,9.79,1.59,14.71,.22,4.46-.12,18.46,.74,25.24"/><path class="cls-1" d="M67.06,81.2s1.31-44.6,15.02-45.67c3.33-.26,5.29,2.7,6.21,5.72,1.45,4.73-.06,13.58-.4,20.19-.23,4.46-2.48,23.55,15.88,24.35"/><path class="cls-1" d="M44.89,65.54c0-6.55-.52-28.1-8.82-28.91-3.79-.37-7.99,2-11.34,7.42"/><polyline class="cls-1" points="98.32 78.41 104.09 85.94 97.36 93.31"/></svg>

After

Width:  |  Height:  |  Size: 703 B

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><line class="cls-1" x1="31.67" y1="98.72" x2="97.16" y2="30.89"/><line class="cls-1" x1="45.23" y1="57.24" x2="73.14" y2="85.54"/><polyline class="cls-1" points="65.77 30.11 97.16 30.5 97.16 63.06"/></svg>

After

Width:  |  Height:  |  Size: 445 B

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><g><polyline class="cls-1" points="25.8 62.26 41.53 44.65 56.55 62.96"/><polyline class="cls-1" points="56.55 62.26 72.28 44.65 87.3 62.96"/><line class="cls-1" x1="87.3" y1="62.96" x2="103.03" y2="45.36"/></g><g><polyline class="cls-1" points="25.8 83.47 41.53 65.87 56.55 84.18"/><polyline class="cls-1" points="56.55 83.47 72.28 65.87 87.3 84.18"/><line class="cls-1" x1="87.3" y1="84.18" x2="103.03" y2="66.57"/></g></svg>

After

Width:  |  Height:  |  Size: 666 B

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><path class="cls-1" d="M35.78,27.58c10.64,8.73,17.41,21.99,17.41,36.84s-6.77,28.09-17.41,36.84"/><path class="cls-1" d="M93.05,101.25c-10.64-8.75-17.41-22-17.41-36.84s6.77-28.1,17.41-36.84"/><line class="cls-1" x1="37.38" y1="65.64" x2="91.59" y2="65.64"/></svg>

After

Width:  |  Height:  |  Size: 502 B

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><path class="cls-1" d="M101.65,56.81c2.83-2.83,4.58-6.73,4.58-11.05,0-8.63-6.99-15.62-15.62-15.62-6.05,0-10.39,4.03-13.9,8.48-8.38,10.62-28.21,53.76-12.3,60.07"/><path class="cls-1" d="M27.18,56.81c-2.83-2.83-4.58-6.73-4.58-11.05,0-8.63,6.99-15.62,15.62-15.62,6.05,0,10.39,4.03,13.9,8.48,8.38,10.62,28.21,53.76,12.3,60.07"/></svg>

After

Width:  |  Height:  |  Size: 570 B

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><path class="cls-1" d="M64.41,54.45c-20.3,0-13.05-24.31-33.51-24.31"/><path class="cls-1" d="M97.93,30.14c-20.46,0-13.21,24.31-33.51,24.31"/><circle class="cls-1" cx="64.41" cy="76.57" r="22.12"/></svg>

After

Width:  |  Height:  |  Size: 442 B

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><g><path class="cls-1" d="M91.61,30.14c-6.45,5.55-16.23,9.09-27.19,9.09s-20.73-3.54-27.19-9.09"/><path class="cls-1" d="M37.22,98.69c6.46-5.55,16.24-9.09,27.19-9.09s20.74,3.54,27.19,9.09"/></g><g><line class="cls-1" x1="51.71" y1="91.29" x2="51.71" y2="37.54"/><line class="cls-1" x1="77.12" y1="91.27" x2="77.12" y2="37.56"/></g></svg>

After

Width:  |  Height:  |  Size: 576 B

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><g><path class="cls-1" d="M34.06,53.98c7.46-9.07,18.77-14.85,31.42-14.85s23.97,5.78,31.42,14.85"/><circle class="cls-1" cx="42.24" cy="60.23" r="10.31"/></g><path class="cls-1" d="M94.77,74.85c-7.46,9.07-18.77,14.85-31.42,14.85-12.67,0-23.97-5.78-31.42-14.85"/><circle class="cls-1" cx="86.59" cy="68.6" r="10.31"/></svg>

After

Width:  |  Height:  |  Size: 561 B

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><path class="cls-1" d="M63.35,77.29c-.1-6.32-5.25-11.42-11.6-11.42s-11.6,5.19-11.6,11.6,5.19,11.6,11.6,11.6c5.06,0,9.65-3.41,11.11-8.26,.69-2.31,1.38-4.84,1.39-7.29,.07-14.01-9.16-13.22-11.23-27.43-1.32-9.09,3.04-20.75,13.73-20.87,9.49-.11,15.08,9.29,16,17.74,.79,7.18-1.66,14.03-4.62,20.45-3.16,6.83-6.38,13.32-8.27,20.66-.92,3.58-1.36,7.39-.42,10.96,1.62,6.17,8.12,10.62,14.37,7.65,5.28-2.51,5.83-10.66,3.68-15.41"/></svg>

After

Width:  |  Height:  |  Size: 664 B

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><path class="cls-1" d="M42.22,84.61s1.41-47.68,16.06-48.82c3.56-.28,5.65,2.89,6.64,6.11,1.55,5.06,1.44,10.47,1.7,15.73,.23,4.77-.13,19.73,.8,26.99"/><path class="cls-1" d="M67.42,84.61s1.41-47.68,16.06-48.82c3.56-.28,5.65,2.89,6.64,6.11,1.55,5.06-.07,14.52-.43,21.58-.25,4.77-2.65,25.17,16.98,26.03"/><path class="cls-1" d="M43.71,67.87c0-7-.56-30.05-9.43-30.91-4.05-.39-8.54,2.14-12.12,7.94"/><path class="cls-1" d="M72.34,92.79c19.89,3.82,38.62-33.99,28.34-40.4-2.9-1.81-8.74,0-10.65,6.57"/></svg>

After

Width:  |  Height:  |  Size: 739 B

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><polygon class="cls-1" points="89.92 33.33 73.52 23.38 67.13 33.91 99.99 53.85 103.97 47.3 89.92 33.33"/><rect class="cls-1" x="65.83" y="37.77" width="12.5" height="10.14" transform="translate(32.68 -31.18) rotate(31.25)"/><path class="cls-1" d="M61.87,42.57l-4.2,6.93-2.19,3.6-4.98,8.2c-.76,1.25-.36,2.88,.89,3.64,1.25,.76,2.88,.36,3.64-.89l4.98-8.2,6.12,3.71-4.98,8.2c-.76,1.25-.36,2.88,.89,3.64,1.25,.76,2.88,.36,3.64-.89l4.98-8.2,1.21,.74,18.87,6.01,3.98-6.55-32.86-19.94Z"/><rect class="cls-1" x="48.86" y="45.25" width="8.65" height="6.61" transform="translate(32.91 -20.54) rotate(31.25)"/><rect class="cls-1" x="62.16" y="23.33" width="8.65" height="6.61" transform="translate(23.46 -30.63) rotate(31.25)"/><polyline class="cls-1" points="62.87 71.73 43.15 104.24 31.75 97.32 51.4 64.95"/><line class="cls-1" x1="52.54" y1="72.16" x2="48.51" y2="69.71"/><line class="cls-1" x1="49.1" y1="77.84" x2="45.06" y2="75.39"/><line class="cls-1" x1="45.65" y1="83.52" x2="41.61" y2="81.07"/><line class="cls-1" x1="42.21" y1="89.2" x2="38.17" y2="86.75"/><line class="cls-1" x1="38.76" y1="94.88" x2="34.72" y2="92.42"/></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><circle class="cls-1" cx="64.3" cy="26" r="3.63"/><circle class="cls-1" cx="64.3" cy="44.86" r="3.63"/><circle class="cls-1" cx="41.89" cy="44.86" r="3.63"/><path class="cls-1" d="M84.68,41.85c-.97,.65-1.6,1.76-1.6,3.01,0,2.01,1.63,3.63,3.63,3.63s3.63-1.63,3.63-3.63-1.63-3.63-3.63-3.63c-.75,0-1.45,.23-2.03,.62"/><circle class="cls-1" cx="37.62" cy="70.06" r="3.63"/><circle class="cls-1" cx="29.31" cy="94.03" r="3.63"/><circle class="cls-1" cx="22.45" cy="70.06" r="3.63"/><circle class="cls-1" cx="69.57" cy="70.06" r="3.63"/><circle class="cls-1" cx="54.39" cy="70.06" r="3.63"/><circle class="cls-1" cx="106.51" cy="70.06" r="3.63"/><circle class="cls-1" cx="91.33" cy="70.06" r="3.63"/><circle class="cls-1" cx="106.51" cy="94.11" r="3.63"/><circle class="cls-1" cx="91.33" cy="94.11" r="3.63"/><line class="cls-1" x1="64.3" y1="29.63" x2="64.3" y2="41.23"/><line class="cls-1" x1="66.77" y1="28.39" x2="84" y2="42.28"/><line class="cls-1" x1="43.48" y1="41.73" x2="61.05" y2="27.98"/><line class="cls-1" x1="38.23" y1="66.41" x2="41.05" y2="48.7"/><line class="cls-1" x1="23.8" y1="66.78" x2="39.23" y2="47.61"/><line class="cls-1" x1="55.4" y1="66.69" x2="62.75" y2="48.25"/><line class="cls-1" x1="69.57" y1="66.42" x2="65.75" y2="48.34"/><line class="cls-1" x1="91.33" y1="66.42" x2="87.46" y2="48.34"/><line class="cls-1" x1="105.62" y1="66.78" x2="89" y2="47.61"/><line class="cls-1" x1="106.51" y1="73.69" x2="106.51" y2="90.48"/><line class="cls-1" x1="93.18" y1="91.2" x2="104.89" y2="73.5"/><line class="cls-1" x1="31.06" y1="90.84" x2="36.69" y2="73.77"/></svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{stroke-width:2.93px;}.cls-1,.cls-2{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;}.cls-2{stroke-width:2.92px;}</style></defs><path class="cls-1" d="M68.55,49.67c8.54,.77,15.69,4.58,19.13,9.79,1.4,2.13,2.19,4.5,2.19,6.99,0,.64-.06,1.28-.16,1.9,4.21,.11,7.59,2.82,7.59,6.15,0,1.7-.88,3.24-2.3,4.36-1.42,1.11-3.39,1.8-5.56,1.8H39.52c-4.34,0-7.86-2.76-7.86-6.16s3.52-6.17,7.86-6.17h1.4c-.1-.62-.15-1.25-.15-1.89,0-2.37,.7-4.62,1.98-6.67,3.12-5.02,9.65-8.78,17.58-9.91"/><g><polygon class="cls-1" points="82.52 110.81 46.43 110.81 38.74 80.67 90.21 80.67 82.52 110.81"/><polyline class="cls-1" points="64.53 80.67 64.84 110.76 64.84 110.82"/><line class="cls-1" x1="77.42" y1="80.83" x2="73.89" y2="110.82"/><line class="cls-1" x1="55.38" y1="110.82" x2="51.63" y2="80.96"/></g><g><path class="cls-1" d="M68.55,38.45v15.52c-1.06-.1-2.14-.15-3.24-.15-1.71,0-3.37,.12-4.98,.34v-15.72h8.22Z"/><path class="cls-1" d="M69.36,28.53c0-2.7-2.52-9.33-7.18-10.51,2.44,5.85-2.74,6.66-2.59,10.51,0,2.7,2.19,4.89,4.89,4.89s4.89-2.19,4.89-4.89Z"/><line class="cls-1" x1="64.63" y1="33.79" x2="64.63" y2="38.38"/></g><line class="cls-2" x1="52.24" y1="59.22" x2="56.23" y2="61.94"/><line class="cls-2" x1="67.49" y1="71.2" x2="69.49" y2="67.39"/><line class="cls-2" x1="77.12" y1="60.31" x2="81.12" y2="64.12"/><line class="cls-2" x1="64.41" y1="61.94" x2="65.86" y2="60.67"/><line class="cls-2" x1="55.37" y1="68.66" x2="60.41" y2="70.3"/><line class="cls-2" x1="47.61" y1="73.97" x2="47.88" y2="69.07"/><line class="cls-2" x1="76.08" y1="69.07" x2="79.48" y2="72.88"/></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><path class="cls-1" d="M88.6,42.08c-5.56,0-10.88,2.05-14.99,5.76l-.02,.02-.03,.03h-.02v.02c-2.31,2.05-5.39,5.18-8.68,8.53-3.66-3.7-7.11-7.01-9.72-8.91-4.09-3.59-9.32-5.57-14.78-5.57-12.35,0-22.39,10.04-22.39,22.39s10.04,22.39,22.39,22.39c6,0,10.71-2.86,14.66-5.54,2.74-1.86,6.13-4.93,9.75-8.45,3.73,3.82,6.91,6.96,9.07,8.5,3.9,2.78,8.71,5.61,14.77,5.61,12.35,0,22.39-10.04,22.39-22.39s-10.04-22.39-22.39-22.39Zm-40.01,29.65c-3.33,2.26-5.74,3.57-8.24,3.57-6.04,0-10.95-4.91-10.95-10.95s4.91-10.95,10.95-10.95c2.69,0,5.38,1.04,7.36,2.84,.01,.01,.03,.02,.04,.04,.07,.07,.15,.13,.23,.19,.08,.06,.15,.12,.23,.18,.02,.01,.03,.02,.05,.04,1.97,1.39,5.14,4.45,8.51,7.86-3.15,3.07-6.13,5.79-8.19,7.19Zm40.01,3.69c-2.29,0-4.64-1.01-8.14-3.5-1.43-1.02-4.47-4.05-7.63-7.29,3.24-3.3,6.29-6.4,8.35-8.24l.02-.02,.03-.02c1.98-1.81,4.67-2.84,7.36-2.84,6.04,0,10.95,4.91,10.95,10.95s-4.91,10.95-10.95,10.95Z"/><polyline class="cls-1" points="42.92 53.72 40.56 47.13 47.05 42.99"/><polyline class="cls-1" points="42.28 75.05 47.93 79.22 45.75 85.96"/><polyline class="cls-1" points="18.01 62.94 23.94 68.21 29.41 64.51"/><polyline class="cls-1" points="82.25 42.99 88.75 47.13 86.39 53.72"/><polyline class="cls-1" points="82.73 85.96 80.55 79.22 86.2 75.05"/><polyline class="cls-1" points="99.53 65.81 105.01 69.51 110.93 64.24"/><line class="cls-1" x1="64.76" y1="72.75" x2="56.5" y2="64.24"/><line class="cls-1" x1="64.84" y1="56.37" x2="72.84" y2="64.64"/></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 118.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><polyline class="cls-1" points="62.85 58.77 59.86 70.4 63.77 72.25"/><path class="cls-1" d="M41.23,62.48h18.73c-.67-2.27-4.12-7.1-10.09-7.2-6.71-.12-9.44,6.61-8.65,7.2Z"/><path class="cls-1" d="M43.14,66.59s5.56,3.29,13.59-.1"/><line class="cls-1" x1="42.26" y1="72.67" x2="45.35" y2="76.89"/><path class="cls-1" d="M51.63,85.02s-.93-9.47,8.23-14.62"/><path class="cls-1" d="M54.2,62.48s0,.08,0,.12c.56,3.59-2.03,5.44-4.53,5.44s-4.73-2.16-4.53-5.44c0-.04,0-.08,0-.12"/><line class="cls-1" x1="51.94" y1="80.86" x2="76.23" y2="80.86"/><path class="cls-1" d="M36.6,51.39c2.99-10.53,11.74-12.85,14-15.47,3.33-3.85,8.3-4.94,13.69-4.94"/><path class="cls-1" d="M35.57,61.03c0,6.18-.31,12.97,4.94,17.7,5.6,5.05,10.7,17.5,23.78,15.95"/><path class="cls-1" d="M29.28,66c2.12,1.19,4.36,2.17,6.42,2.01"/><path class="cls-1" d="M52.04,50.13c-.41-5.76-5.76-11.12-5.76-11.12"/><path class="cls-1" d="M59.86,49.82c-.21-7-7-15.75-7-15.75"/><polyline class="cls-1" points="65.74 58.77 68.72 70.4 64.81 72.25"/><path class="cls-1" d="M87.35,62.48h-18.73c.67-2.27,4.12-7.1,10.09-7.2,6.71-.12,9.44,6.61,8.65,7.2Z"/><path class="cls-1" d="M85.03,66.59s-5.56,3.29-13.59-.1"/><line class="cls-1" x1="86.32" y1="72.67" x2="83.23" y2="76.89"/><path class="cls-1" d="M76.95,85.02s.93-9.47-8.23-14.62"/><path class="cls-1" d="M83.43,62.48s0,.08,0,.12c.21,3.28-2.02,5.44-4.53,5.44-2.5,0-5.1-1.85-4.53-5.44,0-.04,0-.08,0-.12"/><path class="cls-1" d="M64.29,30.98c5.39,0,10.36,1.1,13.69,4.94,2.26,2.61,11.01,4.93,14,15.47"/><path class="cls-1" d="M86.59,52.08c3.64-1.38,10.58-.31,17.61-.1,7.71,.23,9.62-4.32,17.51-.31-6.54,6.79-18.96,22.33-29.64,21.1"/><path class="cls-1" d="M121.81,51.67c-9.53-.21-13.76,12.76-28.67,9.37"/><path class="cls-1" d="M41.99,52.08c-3.64-1.38-10.58-.31-17.61-.1-7.71,.23-9.62-4.32-17.51-.31,6.54,6.79,18.96,22.33,29.64,21.1"/><path class="cls-1" d="M6.77,51.67c9.53-.21,13.76,12.76,28.67,9.37"/><path class="cls-1" d="M93.01,61.03c0,6.18,.31,12.97-4.94,17.7-5.6,5.05-10.7,17.5-23.78,15.95"/><path class="cls-1" d="M99.3,66c-2.12,1.19-4.36,2.17-6.42,2.01"/><path class="cls-1" d="M76.54,50.13c.41-5.76,5.76-11.12,5.76-11.12"/><path class="cls-1" d="M68.72,49.82c.21-7,7-15.75,7-15.75"/></svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><g><path class="cls-1" d="M44.61,85.41l-.21-40.76s1.14-16.93-7.26-17.07h49.96c4.7,0,8.51,3.81,8.51,8.51v49.32H57.1"/><path class="cls-1" d="M57.1,85.41h39.01c4.37,0,7.92,3.55,7.92,7.92h0c0,4.37-3.55,7.92-7.92,7.92H54.32c-5.36,0-9.71-4.35-9.71-9.71v-6.13"/><path class="cls-1" d="M37.14,27.58c-9.25,0-12.21,3.82-12.21,8.54h0c0,4.71,3.82,8.54,8.54,8.54h10.93"/><path class="cls-1" d="M28.71,43.13c6.22,1.62,7.69-4.56,6.19-7.45h8.78"/><path class="cls-1" d="M52.37,93.17c.85-20.91,21.01,7.03,.03,7.85"/><line class="cls-1" x1="52.37" y1="93.17" x2="61.19" y2="93.17"/><line class="cls-1" x1="56.14" y1="40.67" x2="83.45" y2="40.67"/><line class="cls-1" x1="56.14" y1="51.55" x2="83.45" y2="51.55"/><line class="cls-1" x1="56.14" y1="62.44" x2="83.45" y2="62.44"/><line class="cls-1" x1="56.14" y1="73.32" x2="83.45" y2="73.32"/></g><line class="cls-1" x1="90.4" y1="57.76" x2="95.62" y2="57.76"/><line class="cls-1" x1="49.26" y1="67.75" x2="44.72" y2="67.75"/><line class="cls-1" x1="90.8" y1="47.77" x2="95.56" y2="47.77"/></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -1,10 +1 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.66px;}</style></defs><path class="cls-1" d="M73.26,72.07l13.69-15.03-16.8,11.44c-3.24-2.14-7.62-1.98-10.7,.69-3.7,3.21-4.09,8.81-.88,12.51s8.81,4.09,12.51,.88c3.08-2.67,3.86-6.99,2.19-10.5Z"/><path class="cls-1" d="M112.37,76.85c0-26.49-21.47-47.96-47.96-47.96S16.46,50.36,16.46,76.85"/><line class="cls-1" x1="64.42" y1="28.89" x2="64.42" y2="39.05"/><line class="cls-1" x1="102.22" y1="76.85" x2="112.37" y2="76.85"/><line class="cls-1" x1="26.61" y1="76.85" x2="16.46" y2="76.85"/><line class="cls-1" x1="98.33" y1="42.94" x2="91.14" y2="50.12"/><line class="cls-1" x1="37.69" y1="50.12" x2="30.5" y2="42.94"/><line class="cls-1" x1="82.6" y1="32.47" x2="78.75" y2="41.87"/><line class="cls-1" x1="29.44" y1="62.52" x2="20.04" y2="58.66"/><line class="cls-1" x1="108.66" y1="58.33" x2="99.28" y2="62.26"/><line class="cls-1" x1="49.82" y1="41.98" x2="45.9" y2="32.61"/><line class="cls-1" x1="90.66" y1="36.71" x2="85.1" y2="45.21"/><line class="cls-1" x1="32.78" y1="56.17" x2="24.27" y2="50.61"/><line class="cls-1" x1="111.36" y1="67.02" x2="101.41" y2="69.11"/><line class="cls-1" x1="56.67" y1="39.85" x2="54.59" y2="29.91"/><line class="cls-1" x1="74.08" y1="29.87" x2="72.03" y2="39.83"/><line class="cls-1" x1="27.39" y1="69.24" x2="17.44" y2="67.19"/><line class="cls-1" x1="104.46" y1="50.46" x2="95.98" y2="56.05"/><line class="cls-1" x1="43.62" y1="45.29" x2="38.03" y2="36.8"/><rect class="cls-1" x="45.88" y="91.98" width="37.07" height="7.95"/></svg>
<svg id="Capa_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 612 612" xml:space="preserve">
<path d="M175.205,239.62c0.127-1.965-0.533-3.902-1.833-5.381l-58.84-66.941c-1.3-1.479-3.135-2.381-5.102-2.508 c-1.975-0.126-3.902,0.533-5.381,1.833c-27.037,23.766-49.479,51.794-66.706,83.305c-0.944,1.729-1.165,3.762-0.611,5.651 c0.554,1.89,1.836,3.483,3.565,4.427l78.205,42.748c1.131,0.619,2.352,0.912,3.557,0.912c2.627,0,5.174-1.398,6.523-3.866 c11.386-20.828,26.229-39.359,44.114-55.08C174.178,243.422,175.08,241.587,175.205,239.62z"/>
<path d="M201.462,214.829c1.334,2.515,3.907,3.948,6.568,3.948c1.174,0,2.365-0.279,3.473-0.867 c20.962-11.117,43.512-18.371,67.025-21.561c4.064-0.551,6.913-4.293,6.362-8.358l-11.979-88.316 c-0.551-4.064-4.304-6.909-8.358-6.362c-35.708,4.843-69.949,15.857-101.772,32.736c-3.623,1.922-5.002,6.416-3.082,10.041 L201.462,214.829z"/>
<path d="M105.785,334.345l-86.017-23.338c-1.901-0.514-3.929-0.255-5.638,0.725s-2.958,2.598-3.475,4.499 C3.586,342.295,0,369.309,0,396.523c0,4.657,0.111,9.329,0.342,14.284c0.185,3.981,3.468,7.083,7.414,7.083 c0.116,0,0.234-0.002,0.35-0.008l89.031-4.113c1.967-0.09,3.82-0.96,5.145-2.415c1.327-1.455,2.022-3.38,1.93-5.347 c-0.155-3.341-0.23-6.444-0.23-9.484c0-18.02,2.365-35.873,7.029-53.066C112.082,339.499,109.743,335.42,105.785,334.345z"/>
<path d="M438.731,120.745c-32.411-15.625-67.04-25.308-102.925-28.786c-1.972-0.198-3.918,0.408-5.439,1.659 c-1.521,1.252-2.481,3.056-2.671,5.018l-8.593,88.712c-0.396,4.082,2.594,7.713,6.677,8.108 c23.652,2.291,46.463,8.669,67.8,18.954c1.015,0.49,2.118,0.738,3.225,0.738c0.826,0,1.654-0.139,2.45-0.416 c1.859-0.649,3.385-2.012,4.24-3.786l38.7-80.287C443.978,126.965,442.427,122.525,438.731,120.745z"/>
<path d="M569.642,245.337c0.48-1.911,0.184-3.932-0.828-5.624c-18.432-30.835-41.933-57.983-69.848-80.686 c-1.529-1.242-3.48-1.824-5.447-1.627c-1.959,0.203-3.758,1.174-5,2.702l-56.237,69.144c-1.242,1.529-1.828,3.488-1.625,5.447 c0.201,1.959,1.173,3.758,2.702,5.002c18.47,15.019,34.015,32.975,46.205,53.369c1.392,2.326,3.855,3.618,6.383,3.618 c1.297,0,2.61-0.34,3.803-1.054l76.501-45.728C567.94,248.889,569.16,247.248,569.642,245.337z"/>
<path d="M598.044,304.939c-1.228-3.915-5.397-6.096-9.308-4.867l-85.048,26.648c-3.915,1.226-6.093,5.393-4.867,9.306 c6.104,19.486,9.199,39.839,9.199,60.494c0,3.041-0.076,6.144-0.23,9.484c-0.092,1.967,0.602,3.892,1.93,5.347 c1.327,1.456,3.178,2.325,5.145,2.415l89.031,4.113c0.118,0.005,0.234,0.008,0.35,0.008c3.944,0,7.228-3.103,7.414-7.083 c0.229-4.955,0.342-9.627,0.342-14.284C612,365.306,607.306,334.494,598.044,304.939z"/>
<path d="M305.737,380.755c-1.281,0-2.555,0.042-3.824,0.11l-120.65-71.185c-2.953-1.745-6.702-1.308-9.176,1.065 c-2.476,2.371-3.07,6.099-1.456,9.121l65.815,123.355c-0.242,2.376-0.371,4.775-0.371,7.195c0,18.608,7.246,36.101,20.403,49.258 c13.158,13.158,30.652,20.404,49.26,20.404c18.608,0,36.101-7.248,49.258-20.404c13.158-13.157,20.403-30.65,20.403-49.258 c0-18.608-7.246-36.101-20.403-49.258C341.839,388.001,324.344,380.755,305.737,380.755z"/>
</svg>

Before

Width:  |  Height:  |  Size: 3 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><path class="cls-1" d="M87.76,83.68h-31.24c-1.42,0-2.58-1.16-2.58-2.59V25.78c0-1.43,1.16-2.58,2.58-2.58h28.66c1.43,0,2.58,1.15,2.58,2.58v57.78"/><rect class="cls-1" x="58.21" y="28.27" width="25.29" height="11.07"/><circle class="cls-1" cx="70.59" cy="55.52" r="10.36"/><line class="cls-1" x1="75.97" y1="46.65" x2="65.21" y2="64.38"/><rect class="cls-1" x="41.78" y="36.29" width="4.56" height="47.27"/><rect class="cls-1" x="31.52" y="36.29" width="4.56" height="47.27"/><line class="cls-1" x1="44.05" y1="36.18" x2="44.05" y2="26.49"/><line class="cls-1" x1="33.8" y1="36.18" x2="33.8" y2="26.49"/><path class="cls-1" d="M33.8,83.67c4.27,14.03,19.96,20.91,33.52,21.85,9.18,.64,20.36-1.54,26.11-9.38,3.76-5.11,5.05-11.97,2.65-17.88s-7.13-9.98-12.6-12.41"/><path class="cls-1" d="M43.94,83.67c6.29,19.8,55.84,17.23,41.44-8.77"/></svg>

After

Width:  |  Height:  |  Size: 1 KiB

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><path class="cls-1" d="M58.25,65.63h0c-3.9,0-7.06-3.16-7.06-7.06v-9.93l-4.58-6.32c-.8-1.1-.59-2.63,.47-3.48h0c1.11-.89,2.74-.7,3.61,.42l6.14,7.84"/><path class="cls-1" d="M58.86,46.34l-.79-6.74-5.51-6.25c-.85-.96-.74-2.43,.25-3.26h0c.96-.8,2.39-.68,3.2,.27l6.16,7.24,1.91,7.09"/><path class="cls-1" d="M72.91,45.13l4.71-7.32-1.44-8.81c-.22-1.36,.72-2.63,2.08-2.82h0c1.33-.18,2.56,.74,2.75,2.07l1.47,10.08-3.05,8.88"/><path class="cls-1" d="M66.45,44.52l1.03-7.79-4.81-8.25c-.71-1.22-.31-2.78,.91-3.51h0c1.24-.74,2.85-.31,3.56,.95l5.23,9.34,.53,9.86"/><path class="cls-1" d="M54.53,48.47s9.25-6.2,20.5-2.77"/><path class="cls-1" d="M71.89,65.54h4.58c2.01,0,2.82-.5,4.26-1.91l5.11-5.63c1.65-1.6,1.76-4.21,.25-5.94l-3.39-3.91c-1.04-1.2-2.87-1.31-4.05-.24h0c-1.15,1.05-1.24,2.83-.2,3.99l2.54,2.83-3.69,.17c-2.18,.1-4.25,1.02-5.78,2.58l-2.1,2.15"/><line class="cls-1" x1="56" y1="65.47" x2="56" y2="82.56"/><line class="cls-1" x1="66.93" y1="70.3" x2="66.93" y2="80.03"/><line class="cls-1" x1="75.96" y1="65.98" x2="75.96" y2="81.37"/><path class="cls-1" d="M83.14,76.65l4.5-2.67c1.39-.83,3.46-.41,4.12,.82l2.25,4.23c.82,1.55-1.12,3.12-3.25,2.63l-6.74-1.56c-2.04-.47-2.53-2.46-.86-3.45Z"/><path class="cls-1" d="M66.56,101.43h-12.47c-1.81,0-2.72-2.14-1.44-3.4l3.34-3.27c3.21-3.15,8.57-2.58,11.02,1.17l1.41,2.16c.94,1.44-.12,3.34-1.87,3.34Z"/><path class="cls-1" d="M72.13,89.67h8.86c1.29,0,1.93-1.56,1.02-2.47l-2.37-2.37c-2.28-2.28-6.09-1.87-7.83,.85l-1,1.57c-.67,1.05,.08,2.42,1.33,2.42Z"/><path class="cls-1" d="M52.89,96.45h-6.66c-1.61,0-2.4-1.96-1.24-3.08l1.62-1.56c.86-.82,2.13-1.04,3.21-.54l5.17,2.41"/><path class="cls-1" d="M77.03,98.73l.18-1.6c.17-1.48,1.43-2.38,3.12-2.22l4.08,.4c1.41,.14,2.79,1.29,3.16,2.63h0c.39,1.43-.28,2.64-1.64,2.91-1.5,.3-3.5,.71-5.27,1.06s-3.83-1.47-3.64-3.17Z"/><path class="cls-1" d="M43.12,82.19l1.18-1.64c1.09-1.52,3.05-2.14,4.82-1.53l4.28,1.47c1.48,.51,2.3,2.07,1.89,3.58h0c-.44,1.61-1.93,2.71-3.6,2.65-1.85-.07-4.76,.06-6.93-.03-2.15-.08-2.9-2.74-1.64-4.49Z"/><line class="cls-1" x1="100.35" y1="72.84" x2="105.31" y2="72.84"/><line class="cls-1" x1="91.57" y1="93.45" x2="99.77" y2="98.41"/><line class="cls-1" x1="39.87" y1="89.37" x2="30.06" y2="93.91"/><path class="cls-1" d="M55.14,86.37c-.41,2.32,1.56,3,2.88,2.45s2.9-1.84,4.27-1.42c.55,.17,.91,1.19,1.48,1.32,2.18,.49,4.3-2.1,6.4-1.34"/><line class="cls-1" x1="47.31" y1="71.2" x2="39.87" y2="68.48"/></svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

BIN
build/assets/games/road.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.66px;}</style></defs><g><path class="cls-1" d="M42.7,60.12c-1.79-2.29-5.6-2.2-7.14,.65-1.47,2.73,.22,6.19,3.62,8.09,3.13,1.75,9.12,4.35,9.12,4.35,0,0,2.25-6.13,3.15-9.61,.97-3.77-.36-7.38-3.35-8.2-3.13-.85-5.82,1.84-5.4,4.72Z"/><g><path class="cls-1" d="M27,50.41c-.76-.96-2.36-.93-3.01,.27-.62,1.15,.09,2.61,1.53,3.41,1.32,.74,3.84,1.83,3.84,1.83,0,0,.95-2.58,1.33-4.05,.41-1.59-.15-3.11-1.41-3.45-1.32-.36-2.45,.77-2.28,1.99Z"/><path class="cls-1" d="M60.95,75.68c-.76-.96-2.36-.93-3.01,.27-.62,1.15,.09,2.61,1.53,3.41,1.32,.74,3.84,1.83,3.84,1.83,0,0,.95-2.58,1.33-4.05,.41-1.59-.15-3.11-1.41-3.45-1.32-.36-2.45,.77-2.28,1.99Z"/></g><rect class="cls-1" x="26.33" y="38.59" width="37.16" height="53.18" rx="5.2" ry="5.2" transform="translate(-22.45 23.62) rotate(-23.76)"/></g><path class="cls-1" d="M52.22,36.57l14.33-2.98c2.85-.59,5.63,1.24,6.23,4.08l8.67,41.76c.59,2.85-1.24,5.63-4.08,6.23l-24.63,5.11"/><path class="cls-1" d="M72,35.82l14.64,.04c2.91,0,5.26,2.37,5.25,5.28l-.11,42.65c0,2.91-2.37,5.26-5.28,5.25l-25.15-.06"/><path class="cls-1" d="M91.5,39.15l14.32,3.05c2.84,.61,4.66,3.4,4.05,6.25l-8.88,41.72c-.61,2.84-3.4,4.66-6.25,4.05l-24.6-5.24"/><path class="cls-1" d="M64.42,39.2l-.06,.12c-.23,1.25-1.92,4.48-2.61,5.22l-.03,.06,.04,.05c.87,.52,3.4,3.14,3.98,4.27l.09,.1,.06-.12c.23-1.25,1.92-4.48,2.61-5.22l.03-.06-.05-.05c-.87-.51-3.4-3.14-3.98-4.27l-.1-.09Z"/></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><rect class="cls-1" x="29.74" y="81.49" width="69.47" height="18.53"/><path class="cls-1" d="M64.48,28.82h0c13.31,0,24.11,10.8,24.11,24.11v28.47H40.37v-28.47c0-13.31,10.8-24.11,24.11-24.11Z"/><line class="cls-1" x1="64.48" y1="41.17" x2="64.48" y2="72.22"/><line class="cls-1" x1="55.35" y1="49.07" x2="73.61" y2="49.07"/></svg>

After

Width:  |  Height:  |  Size: 568 B

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><path class="cls-1" d="M51.47,87.06s1.67-53.3,19.06-54.57c4.22-.31,6.71,3.23,7.88,6.83,2.25,6.91,1.53,14.66,2.25,21.83,.35,3.47,.74,6.94,1.31,10.38,.38,2.3,1.49,6.29,2.55,8.4,2.27,4.51,6.26,7.26,11.56,6.96,6.36-.36,10.09-5.95,10.06-11.94-.01-3.01-.96-6.12-3.12-8.2-2.1-2.02-5.13-2.85-8.03-2.78-7.35,.19-11.93,5.33-15.01,11.44-3.59,7.11-6.36,14.93-12.98,19.89-5.87,4.4-12.39,4.81-19.58,3.73"/><path class="cls-1" d="M53.14,68.36c0-7.83-.62-33.58-10.54-34.54-4.53-.44-9.55,2.39-13.55,8.87"/></svg>

After

Width:  |  Height:  |  Size: 735 B

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><path class="cls-1" d="M76.91,70.64c3.55-3.32,5.75-8.04,5.75-13.29,0-10.07-8.17-18.23-18.25-18.23s-18.23,8.17-18.23,18.23c0,5.25,2.21,9.97,5.75,13.29"/><line class="cls-1" x1="105.24" y1="70.64" x2="76.91" y2="70.64"/><line class="cls-1" x1="51.93" y1="70.64" x2="23.59" y2="70.64"/><line class="cls-1" x1="23.59" y1="81.71" x2="105.24" y2="81.71"/></svg>

After

Width:  |  Height:  |  Size: 595 B

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><path class="cls-1" d="M43.5,81.2s1.31-44.6,15.02-45.67c3.33-.26,5.29,2.7,6.21,5.72,1.45,4.73,1.35,9.79,1.59,14.71,.22,4.46-.12,18.46,.74,25.24"/><path class="cls-1" d="M67.06,81.2s1.31-44.6,15.02-45.67c3.33-.26,5.29,2.7,6.21,5.72,1.45,4.73-.06,13.58-.4,20.19-.23,4.46-2.48,23.55,15.88,24.35"/><path class="cls-1" d="M44.89,65.54c0-6.55-.52-28.1-8.82-28.91-3.79-.37-7.99,2-11.34,7.42"/><polyline class="cls-1" points="98.32 78.41 104.09 85.94 97.36 93.31"/></svg>

After

Width:  |  Height:  |  Size: 703 B

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><line class="cls-1" x1="31.67" y1="98.72" x2="97.16" y2="30.89"/><line class="cls-1" x1="45.23" y1="57.24" x2="73.14" y2="85.54"/><polyline class="cls-1" points="65.77 30.11 97.16 30.5 97.16 63.06"/></svg>

After

Width:  |  Height:  |  Size: 445 B

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><g><polyline class="cls-1" points="25.8 62.26 41.53 44.65 56.55 62.96"/><polyline class="cls-1" points="56.55 62.26 72.28 44.65 87.3 62.96"/><line class="cls-1" x1="87.3" y1="62.96" x2="103.03" y2="45.36"/></g><g><polyline class="cls-1" points="25.8 83.47 41.53 65.87 56.55 84.18"/><polyline class="cls-1" points="56.55 83.47 72.28 65.87 87.3 84.18"/><line class="cls-1" x1="87.3" y1="84.18" x2="103.03" y2="66.57"/></g></svg>

After

Width:  |  Height:  |  Size: 666 B

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><path class="cls-1" d="M35.78,27.58c10.64,8.73,17.41,21.99,17.41,36.84s-6.77,28.09-17.41,36.84"/><path class="cls-1" d="M93.05,101.25c-10.64-8.75-17.41-22-17.41-36.84s6.77-28.1,17.41-36.84"/><line class="cls-1" x1="37.38" y1="65.64" x2="91.59" y2="65.64"/></svg>

After

Width:  |  Height:  |  Size: 502 B

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><path class="cls-1" d="M101.65,56.81c2.83-2.83,4.58-6.73,4.58-11.05,0-8.63-6.99-15.62-15.62-15.62-6.05,0-10.39,4.03-13.9,8.48-8.38,10.62-28.21,53.76-12.3,60.07"/><path class="cls-1" d="M27.18,56.81c-2.83-2.83-4.58-6.73-4.58-11.05,0-8.63,6.99-15.62,15.62-15.62,6.05,0,10.39,4.03,13.9,8.48,8.38,10.62,28.21,53.76,12.3,60.07"/></svg>

After

Width:  |  Height:  |  Size: 570 B

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><path class="cls-1" d="M64.41,54.45c-20.3,0-13.05-24.31-33.51-24.31"/><path class="cls-1" d="M97.93,30.14c-20.46,0-13.21,24.31-33.51,24.31"/><circle class="cls-1" cx="64.41" cy="76.57" r="22.12"/></svg>

After

Width:  |  Height:  |  Size: 442 B

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><g><path class="cls-1" d="M91.61,30.14c-6.45,5.55-16.23,9.09-27.19,9.09s-20.73-3.54-27.19-9.09"/><path class="cls-1" d="M37.22,98.69c6.46-5.55,16.24-9.09,27.19-9.09s20.74,3.54,27.19,9.09"/></g><g><line class="cls-1" x1="51.71" y1="91.29" x2="51.71" y2="37.54"/><line class="cls-1" x1="77.12" y1="91.27" x2="77.12" y2="37.56"/></g></svg>

After

Width:  |  Height:  |  Size: 576 B

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><g><path class="cls-1" d="M34.06,53.98c7.46-9.07,18.77-14.85,31.42-14.85s23.97,5.78,31.42,14.85"/><circle class="cls-1" cx="42.24" cy="60.23" r="10.31"/></g><path class="cls-1" d="M94.77,74.85c-7.46,9.07-18.77,14.85-31.42,14.85-12.67,0-23.97-5.78-31.42-14.85"/><circle class="cls-1" cx="86.59" cy="68.6" r="10.31"/></svg>

After

Width:  |  Height:  |  Size: 561 B

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><path class="cls-1" d="M63.35,77.29c-.1-6.32-5.25-11.42-11.6-11.42s-11.6,5.19-11.6,11.6,5.19,11.6,11.6,11.6c5.06,0,9.65-3.41,11.11-8.26,.69-2.31,1.38-4.84,1.39-7.29,.07-14.01-9.16-13.22-11.23-27.43-1.32-9.09,3.04-20.75,13.73-20.87,9.49-.11,15.08,9.29,16,17.74,.79,7.18-1.66,14.03-4.62,20.45-3.16,6.83-6.38,13.32-8.27,20.66-.92,3.58-1.36,7.39-.42,10.96,1.62,6.17,8.12,10.62,14.37,7.65,5.28-2.51,5.83-10.66,3.68-15.41"/></svg>

After

Width:  |  Height:  |  Size: 664 B

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><path class="cls-1" d="M42.22,84.61s1.41-47.68,16.06-48.82c3.56-.28,5.65,2.89,6.64,6.11,1.55,5.06,1.44,10.47,1.7,15.73,.23,4.77-.13,19.73,.8,26.99"/><path class="cls-1" d="M67.42,84.61s1.41-47.68,16.06-48.82c3.56-.28,5.65,2.89,6.64,6.11,1.55,5.06-.07,14.52-.43,21.58-.25,4.77-2.65,25.17,16.98,26.03"/><path class="cls-1" d="M43.71,67.87c0-7-.56-30.05-9.43-30.91-4.05-.39-8.54,2.14-12.12,7.94"/><path class="cls-1" d="M72.34,92.79c19.89,3.82,38.62-33.99,28.34-40.4-2.9-1.81-8.74,0-10.65,6.57"/></svg>

After

Width:  |  Height:  |  Size: 739 B

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><polygon class="cls-1" points="89.92 33.33 73.52 23.38 67.13 33.91 99.99 53.85 103.97 47.3 89.92 33.33"/><rect class="cls-1" x="65.83" y="37.77" width="12.5" height="10.14" transform="translate(32.68 -31.18) rotate(31.25)"/><path class="cls-1" d="M61.87,42.57l-4.2,6.93-2.19,3.6-4.98,8.2c-.76,1.25-.36,2.88,.89,3.64,1.25,.76,2.88,.36,3.64-.89l4.98-8.2,6.12,3.71-4.98,8.2c-.76,1.25-.36,2.88,.89,3.64,1.25,.76,2.88,.36,3.64-.89l4.98-8.2,1.21,.74,18.87,6.01,3.98-6.55-32.86-19.94Z"/><rect class="cls-1" x="48.86" y="45.25" width="8.65" height="6.61" transform="translate(32.91 -20.54) rotate(31.25)"/><rect class="cls-1" x="62.16" y="23.33" width="8.65" height="6.61" transform="translate(23.46 -30.63) rotate(31.25)"/><polyline class="cls-1" points="62.87 71.73 43.15 104.24 31.75 97.32 51.4 64.95"/><line class="cls-1" x1="52.54" y1="72.16" x2="48.51" y2="69.71"/><line class="cls-1" x1="49.1" y1="77.84" x2="45.06" y2="75.39"/><line class="cls-1" x1="45.65" y1="83.52" x2="41.61" y2="81.07"/><line class="cls-1" x1="42.21" y1="89.2" x2="38.17" y2="86.75"/><line class="cls-1" x1="38.76" y1="94.88" x2="34.72" y2="92.42"/></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><circle class="cls-1" cx="64.3" cy="26" r="3.63"/><circle class="cls-1" cx="64.3" cy="44.86" r="3.63"/><circle class="cls-1" cx="41.89" cy="44.86" r="3.63"/><path class="cls-1" d="M84.68,41.85c-.97,.65-1.6,1.76-1.6,3.01,0,2.01,1.63,3.63,3.63,3.63s3.63-1.63,3.63-3.63-1.63-3.63-3.63-3.63c-.75,0-1.45,.23-2.03,.62"/><circle class="cls-1" cx="37.62" cy="70.06" r="3.63"/><circle class="cls-1" cx="29.31" cy="94.03" r="3.63"/><circle class="cls-1" cx="22.45" cy="70.06" r="3.63"/><circle class="cls-1" cx="69.57" cy="70.06" r="3.63"/><circle class="cls-1" cx="54.39" cy="70.06" r="3.63"/><circle class="cls-1" cx="106.51" cy="70.06" r="3.63"/><circle class="cls-1" cx="91.33" cy="70.06" r="3.63"/><circle class="cls-1" cx="106.51" cy="94.11" r="3.63"/><circle class="cls-1" cx="91.33" cy="94.11" r="3.63"/><line class="cls-1" x1="64.3" y1="29.63" x2="64.3" y2="41.23"/><line class="cls-1" x1="66.77" y1="28.39" x2="84" y2="42.28"/><line class="cls-1" x1="43.48" y1="41.73" x2="61.05" y2="27.98"/><line class="cls-1" x1="38.23" y1="66.41" x2="41.05" y2="48.7"/><line class="cls-1" x1="23.8" y1="66.78" x2="39.23" y2="47.61"/><line class="cls-1" x1="55.4" y1="66.69" x2="62.75" y2="48.25"/><line class="cls-1" x1="69.57" y1="66.42" x2="65.75" y2="48.34"/><line class="cls-1" x1="91.33" y1="66.42" x2="87.46" y2="48.34"/><line class="cls-1" x1="105.62" y1="66.78" x2="89" y2="47.61"/><line class="cls-1" x1="106.51" y1="73.69" x2="106.51" y2="90.48"/><line class="cls-1" x1="93.18" y1="91.2" x2="104.89" y2="73.5"/><line class="cls-1" x1="31.06" y1="90.84" x2="36.69" y2="73.77"/></svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{stroke-width:2.93px;}.cls-1,.cls-2{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;}.cls-2{stroke-width:2.92px;}</style></defs><path class="cls-1" d="M68.55,49.67c8.54,.77,15.69,4.58,19.13,9.79,1.4,2.13,2.19,4.5,2.19,6.99,0,.64-.06,1.28-.16,1.9,4.21,.11,7.59,2.82,7.59,6.15,0,1.7-.88,3.24-2.3,4.36-1.42,1.11-3.39,1.8-5.56,1.8H39.52c-4.34,0-7.86-2.76-7.86-6.16s3.52-6.17,7.86-6.17h1.4c-.1-.62-.15-1.25-.15-1.89,0-2.37,.7-4.62,1.98-6.67,3.12-5.02,9.65-8.78,17.58-9.91"/><g><polygon class="cls-1" points="82.52 110.81 46.43 110.81 38.74 80.67 90.21 80.67 82.52 110.81"/><polyline class="cls-1" points="64.53 80.67 64.84 110.76 64.84 110.82"/><line class="cls-1" x1="77.42" y1="80.83" x2="73.89" y2="110.82"/><line class="cls-1" x1="55.38" y1="110.82" x2="51.63" y2="80.96"/></g><g><path class="cls-1" d="M68.55,38.45v15.52c-1.06-.1-2.14-.15-3.24-.15-1.71,0-3.37,.12-4.98,.34v-15.72h8.22Z"/><path class="cls-1" d="M69.36,28.53c0-2.7-2.52-9.33-7.18-10.51,2.44,5.85-2.74,6.66-2.59,10.51,0,2.7,2.19,4.89,4.89,4.89s4.89-2.19,4.89-4.89Z"/><line class="cls-1" x1="64.63" y1="33.79" x2="64.63" y2="38.38"/></g><line class="cls-2" x1="52.24" y1="59.22" x2="56.23" y2="61.94"/><line class="cls-2" x1="67.49" y1="71.2" x2="69.49" y2="67.39"/><line class="cls-2" x1="77.12" y1="60.31" x2="81.12" y2="64.12"/><line class="cls-2" x1="64.41" y1="61.94" x2="65.86" y2="60.67"/><line class="cls-2" x1="55.37" y1="68.66" x2="60.41" y2="70.3"/><line class="cls-2" x1="47.61" y1="73.97" x2="47.88" y2="69.07"/><line class="cls-2" x1="76.08" y1="69.07" x2="79.48" y2="72.88"/></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><path class="cls-1" d="M88.6,42.08c-5.56,0-10.88,2.05-14.99,5.76l-.02,.02-.03,.03h-.02v.02c-2.31,2.05-5.39,5.18-8.68,8.53-3.66-3.7-7.11-7.01-9.72-8.91-4.09-3.59-9.32-5.57-14.78-5.57-12.35,0-22.39,10.04-22.39,22.39s10.04,22.39,22.39,22.39c6,0,10.71-2.86,14.66-5.54,2.74-1.86,6.13-4.93,9.75-8.45,3.73,3.82,6.91,6.96,9.07,8.5,3.9,2.78,8.71,5.61,14.77,5.61,12.35,0,22.39-10.04,22.39-22.39s-10.04-22.39-22.39-22.39Zm-40.01,29.65c-3.33,2.26-5.74,3.57-8.24,3.57-6.04,0-10.95-4.91-10.95-10.95s4.91-10.95,10.95-10.95c2.69,0,5.38,1.04,7.36,2.84,.01,.01,.03,.02,.04,.04,.07,.07,.15,.13,.23,.19,.08,.06,.15,.12,.23,.18,.02,.01,.03,.02,.05,.04,1.97,1.39,5.14,4.45,8.51,7.86-3.15,3.07-6.13,5.79-8.19,7.19Zm40.01,3.69c-2.29,0-4.64-1.01-8.14-3.5-1.43-1.02-4.47-4.05-7.63-7.29,3.24-3.3,6.29-6.4,8.35-8.24l.02-.02,.03-.02c1.98-1.81,4.67-2.84,7.36-2.84,6.04,0,10.95,4.91,10.95,10.95s-4.91,10.95-10.95,10.95Z"/><polyline class="cls-1" points="42.92 53.72 40.56 47.13 47.05 42.99"/><polyline class="cls-1" points="42.28 75.05 47.93 79.22 45.75 85.96"/><polyline class="cls-1" points="18.01 62.94 23.94 68.21 29.41 64.51"/><polyline class="cls-1" points="82.25 42.99 88.75 47.13 86.39 53.72"/><polyline class="cls-1" points="82.73 85.96 80.55 79.22 86.2 75.05"/><polyline class="cls-1" points="99.53 65.81 105.01 69.51 110.93 64.24"/><line class="cls-1" x1="64.76" y1="72.75" x2="56.5" y2="64.24"/><line class="cls-1" x1="64.84" y1="56.37" x2="72.84" y2="64.64"/></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 118.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><polyline class="cls-1" points="62.85 58.77 59.86 70.4 63.77 72.25"/><path class="cls-1" d="M41.23,62.48h18.73c-.67-2.27-4.12-7.1-10.09-7.2-6.71-.12-9.44,6.61-8.65,7.2Z"/><path class="cls-1" d="M43.14,66.59s5.56,3.29,13.59-.1"/><line class="cls-1" x1="42.26" y1="72.67" x2="45.35" y2="76.89"/><path class="cls-1" d="M51.63,85.02s-.93-9.47,8.23-14.62"/><path class="cls-1" d="M54.2,62.48s0,.08,0,.12c.56,3.59-2.03,5.44-4.53,5.44s-4.73-2.16-4.53-5.44c0-.04,0-.08,0-.12"/><line class="cls-1" x1="51.94" y1="80.86" x2="76.23" y2="80.86"/><path class="cls-1" d="M36.6,51.39c2.99-10.53,11.74-12.85,14-15.47,3.33-3.85,8.3-4.94,13.69-4.94"/><path class="cls-1" d="M35.57,61.03c0,6.18-.31,12.97,4.94,17.7,5.6,5.05,10.7,17.5,23.78,15.95"/><path class="cls-1" d="M29.28,66c2.12,1.19,4.36,2.17,6.42,2.01"/><path class="cls-1" d="M52.04,50.13c-.41-5.76-5.76-11.12-5.76-11.12"/><path class="cls-1" d="M59.86,49.82c-.21-7-7-15.75-7-15.75"/><polyline class="cls-1" points="65.74 58.77 68.72 70.4 64.81 72.25"/><path class="cls-1" d="M87.35,62.48h-18.73c.67-2.27,4.12-7.1,10.09-7.2,6.71-.12,9.44,6.61,8.65,7.2Z"/><path class="cls-1" d="M85.03,66.59s-5.56,3.29-13.59-.1"/><line class="cls-1" x1="86.32" y1="72.67" x2="83.23" y2="76.89"/><path class="cls-1" d="M76.95,85.02s.93-9.47-8.23-14.62"/><path class="cls-1" d="M83.43,62.48s0,.08,0,.12c.21,3.28-2.02,5.44-4.53,5.44-2.5,0-5.1-1.85-4.53-5.44,0-.04,0-.08,0-.12"/><path class="cls-1" d="M64.29,30.98c5.39,0,10.36,1.1,13.69,4.94,2.26,2.61,11.01,4.93,14,15.47"/><path class="cls-1" d="M86.59,52.08c3.64-1.38,10.58-.31,17.61-.1,7.71,.23,9.62-4.32,17.51-.31-6.54,6.79-18.96,22.33-29.64,21.1"/><path class="cls-1" d="M121.81,51.67c-9.53-.21-13.76,12.76-28.67,9.37"/><path class="cls-1" d="M41.99,52.08c-3.64-1.38-10.58-.31-17.61-.1-7.71,.23-9.62-4.32-17.51-.31,6.54,6.79,18.96,22.33,29.64,21.1"/><path class="cls-1" d="M6.77,51.67c9.53-.21,13.76,12.76,28.67,9.37"/><path class="cls-1" d="M93.01,61.03c0,6.18,.31,12.97-4.94,17.7-5.6,5.05-10.7,17.5-23.78,15.95"/><path class="cls-1" d="M99.3,66c-2.12,1.19-4.36,2.17-6.42,2.01"/><path class="cls-1" d="M76.54,50.13c.41-5.76,5.76-11.12,5.76-11.12"/><path class="cls-1" d="M68.72,49.82c.21-7,7-15.75,7-15.75"/></svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><g><path class="cls-1" d="M44.61,85.41l-.21-40.76s1.14-16.93-7.26-17.07h49.96c4.7,0,8.51,3.81,8.51,8.51v49.32H57.1"/><path class="cls-1" d="M57.1,85.41h39.01c4.37,0,7.92,3.55,7.92,7.92h0c0,4.37-3.55,7.92-7.92,7.92H54.32c-5.36,0-9.71-4.35-9.71-9.71v-6.13"/><path class="cls-1" d="M37.14,27.58c-9.25,0-12.21,3.82-12.21,8.54h0c0,4.71,3.82,8.54,8.54,8.54h10.93"/><path class="cls-1" d="M28.71,43.13c6.22,1.62,7.69-4.56,6.19-7.45h8.78"/><path class="cls-1" d="M52.37,93.17c.85-20.91,21.01,7.03,.03,7.85"/><line class="cls-1" x1="52.37" y1="93.17" x2="61.19" y2="93.17"/><line class="cls-1" x1="56.14" y1="40.67" x2="83.45" y2="40.67"/><line class="cls-1" x1="56.14" y1="51.55" x2="83.45" y2="51.55"/><line class="cls-1" x1="56.14" y1="62.44" x2="83.45" y2="62.44"/><line class="cls-1" x1="56.14" y1="73.32" x2="83.45" y2="73.32"/></g><line class="cls-1" x1="90.4" y1="57.76" x2="95.62" y2="57.76"/><line class="cls-1" x1="49.26" y1="67.75" x2="44.72" y2="67.75"/><line class="cls-1" x1="90.8" y1="47.77" x2="95.56" y2="47.77"/></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -1,10 +1 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.66px;}</style></defs><path class="cls-1" d="M73.26,72.07l13.69-15.03-16.8,11.44c-3.24-2.14-7.62-1.98-10.7,.69-3.7,3.21-4.09,8.81-.88,12.51s8.81,4.09,12.51,.88c3.08-2.67,3.86-6.99,2.19-10.5Z"/><path class="cls-1" d="M112.37,76.85c0-26.49-21.47-47.96-47.96-47.96S16.46,50.36,16.46,76.85"/><line class="cls-1" x1="64.42" y1="28.89" x2="64.42" y2="39.05"/><line class="cls-1" x1="102.22" y1="76.85" x2="112.37" y2="76.85"/><line class="cls-1" x1="26.61" y1="76.85" x2="16.46" y2="76.85"/><line class="cls-1" x1="98.33" y1="42.94" x2="91.14" y2="50.12"/><line class="cls-1" x1="37.69" y1="50.12" x2="30.5" y2="42.94"/><line class="cls-1" x1="82.6" y1="32.47" x2="78.75" y2="41.87"/><line class="cls-1" x1="29.44" y1="62.52" x2="20.04" y2="58.66"/><line class="cls-1" x1="108.66" y1="58.33" x2="99.28" y2="62.26"/><line class="cls-1" x1="49.82" y1="41.98" x2="45.9" y2="32.61"/><line class="cls-1" x1="90.66" y1="36.71" x2="85.1" y2="45.21"/><line class="cls-1" x1="32.78" y1="56.17" x2="24.27" y2="50.61"/><line class="cls-1" x1="111.36" y1="67.02" x2="101.41" y2="69.11"/><line class="cls-1" x1="56.67" y1="39.85" x2="54.59" y2="29.91"/><line class="cls-1" x1="74.08" y1="29.87" x2="72.03" y2="39.83"/><line class="cls-1" x1="27.39" y1="69.24" x2="17.44" y2="67.19"/><line class="cls-1" x1="104.46" y1="50.46" x2="95.98" y2="56.05"/><line class="cls-1" x1="43.62" y1="45.29" x2="38.03" y2="36.8"/><rect class="cls-1" x="45.88" y="91.98" width="37.07" height="7.95"/></svg>
<svg id="Capa_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 612 612" xml:space="preserve">
<path d="M175.205,239.62c0.127-1.965-0.533-3.902-1.833-5.381l-58.84-66.941c-1.3-1.479-3.135-2.381-5.102-2.508 c-1.975-0.126-3.902,0.533-5.381,1.833c-27.037,23.766-49.479,51.794-66.706,83.305c-0.944,1.729-1.165,3.762-0.611,5.651 c0.554,1.89,1.836,3.483,3.565,4.427l78.205,42.748c1.131,0.619,2.352,0.912,3.557,0.912c2.627,0,5.174-1.398,6.523-3.866 c11.386-20.828,26.229-39.359,44.114-55.08C174.178,243.422,175.08,241.587,175.205,239.62z"/>
<path d="M201.462,214.829c1.334,2.515,3.907,3.948,6.568,3.948c1.174,0,2.365-0.279,3.473-0.867 c20.962-11.117,43.512-18.371,67.025-21.561c4.064-0.551,6.913-4.293,6.362-8.358l-11.979-88.316 c-0.551-4.064-4.304-6.909-8.358-6.362c-35.708,4.843-69.949,15.857-101.772,32.736c-3.623,1.922-5.002,6.416-3.082,10.041 L201.462,214.829z"/>
<path d="M105.785,334.345l-86.017-23.338c-1.901-0.514-3.929-0.255-5.638,0.725s-2.958,2.598-3.475,4.499 C3.586,342.295,0,369.309,0,396.523c0,4.657,0.111,9.329,0.342,14.284c0.185,3.981,3.468,7.083,7.414,7.083 c0.116,0,0.234-0.002,0.35-0.008l89.031-4.113c1.967-0.09,3.82-0.96,5.145-2.415c1.327-1.455,2.022-3.38,1.93-5.347 c-0.155-3.341-0.23-6.444-0.23-9.484c0-18.02,2.365-35.873,7.029-53.066C112.082,339.499,109.743,335.42,105.785,334.345z"/>
<path d="M438.731,120.745c-32.411-15.625-67.04-25.308-102.925-28.786c-1.972-0.198-3.918,0.408-5.439,1.659 c-1.521,1.252-2.481,3.056-2.671,5.018l-8.593,88.712c-0.396,4.082,2.594,7.713,6.677,8.108 c23.652,2.291,46.463,8.669,67.8,18.954c1.015,0.49,2.118,0.738,3.225,0.738c0.826,0,1.654-0.139,2.45-0.416 c1.859-0.649,3.385-2.012,4.24-3.786l38.7-80.287C443.978,126.965,442.427,122.525,438.731,120.745z"/>
<path d="M569.642,245.337c0.48-1.911,0.184-3.932-0.828-5.624c-18.432-30.835-41.933-57.983-69.848-80.686 c-1.529-1.242-3.48-1.824-5.447-1.627c-1.959,0.203-3.758,1.174-5,2.702l-56.237,69.144c-1.242,1.529-1.828,3.488-1.625,5.447 c0.201,1.959,1.173,3.758,2.702,5.002c18.47,15.019,34.015,32.975,46.205,53.369c1.392,2.326,3.855,3.618,6.383,3.618 c1.297,0,2.61-0.34,3.803-1.054l76.501-45.728C567.94,248.889,569.16,247.248,569.642,245.337z"/>
<path d="M598.044,304.939c-1.228-3.915-5.397-6.096-9.308-4.867l-85.048,26.648c-3.915,1.226-6.093,5.393-4.867,9.306 c6.104,19.486,9.199,39.839,9.199,60.494c0,3.041-0.076,6.144-0.23,9.484c-0.092,1.967,0.602,3.892,1.93,5.347 c1.327,1.456,3.178,2.325,5.145,2.415l89.031,4.113c0.118,0.005,0.234,0.008,0.35,0.008c3.944,0,7.228-3.103,7.414-7.083 c0.229-4.955,0.342-9.627,0.342-14.284C612,365.306,607.306,334.494,598.044,304.939z"/>
<path d="M305.737,380.755c-1.281,0-2.555,0.042-3.824,0.11l-120.65-71.185c-2.953-1.745-6.702-1.308-9.176,1.065 c-2.476,2.371-3.07,6.099-1.456,9.121l65.815,123.355c-0.242,2.376-0.371,4.775-0.371,7.195c0,18.608,7.246,36.101,20.403,49.258 c13.158,13.158,30.652,20.404,49.26,20.404c18.608,0,36.101-7.248,49.258-20.404c13.158-13.157,20.403-30.65,20.403-49.258 c0-18.608-7.246-36.101-20.403-49.258C341.839,388.001,324.344,380.755,305.737,380.755z"/>
</svg>

Before

Width:  |  Height:  |  Size: 3 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><path class="cls-1" d="M87.76,83.68h-31.24c-1.42,0-2.58-1.16-2.58-2.59V25.78c0-1.43,1.16-2.58,2.58-2.58h28.66c1.43,0,2.58,1.15,2.58,2.58v57.78"/><rect class="cls-1" x="58.21" y="28.27" width="25.29" height="11.07"/><circle class="cls-1" cx="70.59" cy="55.52" r="10.36"/><line class="cls-1" x1="75.97" y1="46.65" x2="65.21" y2="64.38"/><rect class="cls-1" x="41.78" y="36.29" width="4.56" height="47.27"/><rect class="cls-1" x="31.52" y="36.29" width="4.56" height="47.27"/><line class="cls-1" x1="44.05" y1="36.18" x2="44.05" y2="26.49"/><line class="cls-1" x1="33.8" y1="36.18" x2="33.8" y2="26.49"/><path class="cls-1" d="M33.8,83.67c4.27,14.03,19.96,20.91,33.52,21.85,9.18,.64,20.36-1.54,26.11-9.38,3.76-5.11,5.05-11.97,2.65-17.88s-7.13-9.98-12.6-12.41"/><path class="cls-1" d="M43.94,83.67c6.29,19.8,55.84,17.23,41.44-8.77"/></svg>

After

Width:  |  Height:  |  Size: 1 KiB

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128.83 128.83"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.93px;}</style></defs><path class="cls-1" d="M58.25,65.63h0c-3.9,0-7.06-3.16-7.06-7.06v-9.93l-4.58-6.32c-.8-1.1-.59-2.63,.47-3.48h0c1.11-.89,2.74-.7,3.61,.42l6.14,7.84"/><path class="cls-1" d="M58.86,46.34l-.79-6.74-5.51-6.25c-.85-.96-.74-2.43,.25-3.26h0c.96-.8,2.39-.68,3.2,.27l6.16,7.24,1.91,7.09"/><path class="cls-1" d="M72.91,45.13l4.71-7.32-1.44-8.81c-.22-1.36,.72-2.63,2.08-2.82h0c1.33-.18,2.56,.74,2.75,2.07l1.47,10.08-3.05,8.88"/><path class="cls-1" d="M66.45,44.52l1.03-7.79-4.81-8.25c-.71-1.22-.31-2.78,.91-3.51h0c1.24-.74,2.85-.31,3.56,.95l5.23,9.34,.53,9.86"/><path class="cls-1" d="M54.53,48.47s9.25-6.2,20.5-2.77"/><path class="cls-1" d="M71.89,65.54h4.58c2.01,0,2.82-.5,4.26-1.91l5.11-5.63c1.65-1.6,1.76-4.21,.25-5.94l-3.39-3.91c-1.04-1.2-2.87-1.31-4.05-.24h0c-1.15,1.05-1.24,2.83-.2,3.99l2.54,2.83-3.69,.17c-2.18,.1-4.25,1.02-5.78,2.58l-2.1,2.15"/><line class="cls-1" x1="56" y1="65.47" x2="56" y2="82.56"/><line class="cls-1" x1="66.93" y1="70.3" x2="66.93" y2="80.03"/><line class="cls-1" x1="75.96" y1="65.98" x2="75.96" y2="81.37"/><path class="cls-1" d="M83.14,76.65l4.5-2.67c1.39-.83,3.46-.41,4.12,.82l2.25,4.23c.82,1.55-1.12,3.12-3.25,2.63l-6.74-1.56c-2.04-.47-2.53-2.46-.86-3.45Z"/><path class="cls-1" d="M66.56,101.43h-12.47c-1.81,0-2.72-2.14-1.44-3.4l3.34-3.27c3.21-3.15,8.57-2.58,11.02,1.17l1.41,2.16c.94,1.44-.12,3.34-1.87,3.34Z"/><path class="cls-1" d="M72.13,89.67h8.86c1.29,0,1.93-1.56,1.02-2.47l-2.37-2.37c-2.28-2.28-6.09-1.87-7.83,.85l-1,1.57c-.67,1.05,.08,2.42,1.33,2.42Z"/><path class="cls-1" d="M52.89,96.45h-6.66c-1.61,0-2.4-1.96-1.24-3.08l1.62-1.56c.86-.82,2.13-1.04,3.21-.54l5.17,2.41"/><path class="cls-1" d="M77.03,98.73l.18-1.6c.17-1.48,1.43-2.38,3.12-2.22l4.08,.4c1.41,.14,2.79,1.29,3.16,2.63h0c.39,1.43-.28,2.64-1.64,2.91-1.5,.3-3.5,.71-5.27,1.06s-3.83-1.47-3.64-3.17Z"/><path class="cls-1" d="M43.12,82.19l1.18-1.64c1.09-1.52,3.05-2.14,4.82-1.53l4.28,1.47c1.48,.51,2.3,2.07,1.89,3.58h0c-.44,1.61-1.93,2.71-3.6,2.65-1.85-.07-4.76,.06-6.93-.03-2.15-.08-2.9-2.74-1.64-4.49Z"/><line class="cls-1" x1="100.35" y1="72.84" x2="105.31" y2="72.84"/><line class="cls-1" x1="91.57" y1="93.45" x2="99.77" y2="98.41"/><line class="cls-1" x1="39.87" y1="89.37" x2="30.06" y2="93.91"/><path class="cls-1" d="M55.14,86.37c-.41,2.32,1.56,3,2.88,2.45s2.9-1.84,4.27-1.42c.55,.17,.91,1.19,1.48,1.32,2.18,.49,4.3-2.1,6.4-1.34"/><line class="cls-1" x1="47.31" y1="71.2" x2="39.87" y2="68.48"/></svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -40,7 +40,7 @@ report.push(`15 0 src/reportWebVitals.ts`);
report.push(`5 0 src/setupTests.ts`); report.push(`5 0 src/setupTests.ts`);
report.push(`26 0 tsconfig.json`); report.push(`26 0 tsconfig.json`);
report.push(``); report.push(``);
report.push(`2021-02-10T10:42:03+03:00>Albert Einstein>instein@mail.de>ITSM0000 - Create new project`); report.push(`2021-02-10T10:42:03+03:00>Albert Einstein>instein@mail.de>SmartTV0000 - Create new project`);
report.push(`:100644 100644 4d29575de d87490a66 M .gitignore`); report.push(`:100644 100644 4d29575de d87490a66 M .gitignore`);
report.push(`:000000 100644 000000000 ed27a895c A ext/components/Accordion/Accordion.test.tsx`); report.push(`:000000 100644 000000000 ed27a895c A ext/components/Accordion/Accordion.test.tsx`);
report.push(`:000000 100644 000000000 1f3ed7b77 A ext/components/Accordion/AccordionComponent.tsx`); report.push(`:000000 100644 000000000 1f3ed7b77 A ext/components/Accordion/AccordionComponent.tsx`);
@ -9483,7 +9483,7 @@ report.push(`6 12 src/ts/pages/MainPage/api.ts`);
report.push(`6 7 src/ts/pages/MainPage/components/tasks/Item.tsx`); report.push(`6 7 src/ts/pages/MainPage/components/tasks/Item.tsx`);
report.push(``); report.push(``);
report.push(`2021-04-06T10:58:36+03:00>Albert Einstein>instein@mail.de>Merge pull request #52 in SUIS/TASK-frontend from feature/TASK-107-add-logic-for-TaskBoard-component to master`); report.push(`2021-04-06T10:58:36+03:00>Albert Einstein>instein@mail.de>Merge pull request #52 in SUIS/TASK-frontend from feature/TASK-107-add-logic-for-TaskBoard-component to master`);
report.push(`2021-04-06T12:02:03+03:00>Albert Einstein>instein@mail.de>TASK-175 feat: add network in docker compose for works with frontend. Container itsm-ui use this network for proxy to API`); report.push(`2021-04-06T12:02:03+03:00>Albert Einstein>instein@mail.de>TASK-175 feat: add network in docker compose for works with frontend. Container SmartTV-ui use this network for proxy to API`);
report.push(`:100644 100644 af0bee89c 9ece8f295 M Dockerfile`); report.push(`:100644 100644 af0bee89c 9ece8f295 M Dockerfile`);
report.push(`:100644 100644 f8ff99118 abc5b4721 M README.md`); report.push(`:100644 100644 f8ff99118 abc5b4721 M README.md`);
report.push(`:000000 100644 000000000 71a5d3d79 A docker-compose.yml`); report.push(`:000000 100644 000000000 71a5d3d79 A docker-compose.yml`);
@ -10628,7 +10628,7 @@ report.push(`1 1 src/ts/components/JsonSchema/components/widgets/Date.tsx`);
report.push(`1 1 src/ts/components/JsonSchema/components/widgets/Radio.tsx`); report.push(`1 1 src/ts/components/JsonSchema/components/widgets/Radio.tsx`);
report.push(``); report.push(``);
report.push(`2021-05-04T09:08:02+03:00>Albert Einstein>instein@mail.de>Merge pull request #95 in vendor/vendor-frontend from feature/TASK-253-replace-old-validation-files-with-new-ones to master`); report.push(`2021-05-04T09:08:02+03:00>Albert Einstein>instein@mail.de>Merge pull request #95 in vendor/vendor-frontend from feature/TASK-253-replace-old-validation-files-with-new-ones to master`);
report.push(`2021-05-04T09:19:35+03:00>Albert Einstein>instein@mail.de>TASK-273 refactor: rename prefix ITSM to vendor`); report.push(`2021-05-04T09:19:35+03:00>Albert Einstein>instein@mail.de>TASK-273 refactor: rename prefix SmartTV to vendor`);
report.push(`:100644 100644 abc5b4721 aaf69aee2 M README.md`); report.push(`:100644 100644 abc5b4721 aaf69aee2 M README.md`);
report.push(`:100644 100644 71a5d3d79 66692e3cc M docker-compose.yml`); report.push(`:100644 100644 71a5d3d79 66692e3cc M docker-compose.yml`);
report.push(`:100644 100644 138d51782 4c374f66e M src/ts/pages/PageWrapper/components/Footer.tsx`); report.push(`:100644 100644 138d51782 4c374f66e M src/ts/pages/PageWrapper/components/Footer.tsx`);
@ -10638,7 +10638,7 @@ report.push(`6 6 docker-compose.yml`);
report.push(`2 2 src/ts/pages/PageWrapper/components/Footer.tsx`); report.push(`2 2 src/ts/pages/PageWrapper/components/Footer.tsx`);
report.push(`2 2 src/ts/pages/PageWrapper/styles/footer.scss`); report.push(`2 2 src/ts/pages/PageWrapper/styles/footer.scss`);
report.push(``); report.push(``);
report.push(`2021-05-04T11:12:36+03:00>Leo Landau>landau@cccp.ru>Merge pull request #96 in vendor/vendor-frontend from TASK-273-Rename-prefix-ITSM-to-vendor to master`); report.push(`2021-05-04T11:12:36+03:00>Leo Landau>landau@cccp.ru>Merge pull request #96 in vendor/vendor-frontend from TASK-273-Rename-prefix-SmartTV-to-vendor to master`);
report.push(`2021-05-04T11:55:01+03:00>Leo Landau>landau@cccp.ru>TASK-249 fix(profile): correct pagination parameters`); report.push(`2021-05-04T11:55:01+03:00>Leo Landau>landau@cccp.ru>TASK-249 fix(profile): correct pagination parameters`);
report.push(`:100644 100644 53fd36130 f8e24860e M src/ts/components/DataLoader/store/index.ts`); report.push(`:100644 100644 53fd36130 f8e24860e M src/ts/components/DataLoader/store/index.ts`);
report.push(`:100644 100644 4e3a18d57 75aa79b98 M src/ts/pages/MainPage/api.ts`); report.push(`:100644 100644 4e3a18d57 75aa79b98 M src/ts/pages/MainPage/api.ts`);

View file

@ -0,0 +1,30 @@
import React from 'react';
import style from '../style/index.module.scss';
import { getRandom } from '../helpers/level';
interface IBlockProps {
type?: string;
}
function Block({
type,
}: IBlockProps): React.ReactElement | null {
const className = [style.city_builder_block];
const defaultSprite = './assets/games/road.png';
const src = {
home: `./assets/games/home${getRandom(2)}.png`,
road: './assets/games/road.png',
green: './assets/games/green.png',
}[type || ''] || defaultSprite;
return (
<img
className={className.join(' ')}
src={src}
/>
);
}
export default Block;

View file

@ -0,0 +1,35 @@
import React from 'react';
import Block from './Block';
interface IBlocksProps {
level: any;
}
function Blocks({
level,
}: IBlocksProps): React.ReactElement | null {
const blocks: any[] = [];
const lastRowIndex = level?.length - 1;
const lastColumnIndex = level?.[0]?.length - 1;
level?.forEach((row: any, rowIndex: number) => {
row.forEach((cell: any, columnIndex: number) => {
let type = 'home';
if (cell) type = 'road';
if ((!rowIndex || !columnIndex || rowIndex === lastRowIndex || columnIndex === lastColumnIndex)
&& cell
&& Math.random() > 0.5) type = 'green';
blocks.push(
<Block
key={`${rowIndex}.${columnIndex}`}
type={type}
/>);
});
});
return (<>{blocks}</>);
}
export default Blocks;

View file

@ -0,0 +1,55 @@
import React, { useEffect, useState } from 'react';
import { getRandomLevel } from '../helpers/level';
import Blocks from './Blocks';
import style from '../style/index.module.scss';
function getCitySize(percent: number): [number, number] {
if (percent > 70) return [20, 20];
if (percent > 60) return [18, 18];
if (percent > 50) return [16, 16];
if (percent > 40) return [14, 14];
if (percent > 20) return [12, 12];
if (percent > 10) return [10, 10];
return [8, 8];
}
interface ICityMapProps {
percent: number;
}
function CityMap({
percent,
}: ICityMapProps): React.ReactElement | null {
const size = getCitySize(percent || 5);
const defaultLevel = getRandomLevel(...size);
const [level, setLevel] = useState<any>(defaultLevel);
useEffect(() => {
const newSize = getCitySize(percent || 5);
const newLevel = getRandomLevel(...newSize);
setLevel(newLevel);
}, [percent]);
const cellSize = 20;
const paddingTop = (24 - level.length) / 2;
const paddingLeft = (24 - level[0].length) / 2;
return (
<div
className={style.city_builder_wrapper}
style={{
padding: `${paddingTop * cellSize}px ${paddingLeft * cellSize}px`,
maxWidth: 24 * cellSize,
backgroundImage: 'url(./assets/games/green.png)',
}}
>
<div className={style.city_builder}>
<Blocks level={level} />
</div>
</div>
);
}
export default CityMap;

View file

@ -0,0 +1,79 @@
type IMap = number[][];
type ICell = {
row: number,
column: number,
corridor: [number, number],
};
function getMap(height: number, width: number): IMap {
return Array(height).fill(0).map(() => Array(width).fill(0));
}
export function getRandom(max: number): number {
return Math.round(Math.random() * max);
}
function getNeighbor(visited: any, row: number, column: number): ICell | null {
const neighbors: ICell[] = [];
if ((visited[row - 2] || [])[column] === 0) neighbors.push({
row: row - 2,
column: column,
corridor: [row - 1, column],
});
if (visited[row][column + 2] === 0) neighbors.push({
row: row,
column: column + 2,
corridor: [row, column + 1],
});
if (visited[row][column - 2] === 0) neighbors.push({
row: row,
column: column - 2,
corridor: [row, column - 1],
});
if ((visited[row + 2] || [])[column] === 0) neighbors.push({
row: row + 2,
column: column,
corridor: [row + 1, column],
});
if (!neighbors.length) return null;
const index = getRandom(neighbors.length - 1);
return neighbors[index];
}
function step(visited: IMap, history: any) {
if (history.length === 0) return false;
const current = history[history.length - 1];
visited[current.row][current.column] = 1;
const neighbor = getNeighbor(visited, current.row, current.column);
if (neighbor) {
visited[neighbor.corridor[0]][neighbor.corridor[1]] = 1;
history.push(neighbor);
} else {
history.pop();
}
return true;
}
export function getRandomLevel( width: number, height: number) {
const visited = getMap(height + 2, width + 2);
const stack = [{ row: 1, column: 1 }];
while (step(visited, stack)) {
}
visited.shift();
visited.forEach((row) => {
row.shift();
});
return visited;
}
export function getCopyLevel(level: IMap) {
return level.map(row => [...row]);
}
export function printLevel(level: IMap) {
console.log(level.map(row => row.map(v => v ? '#' : ' ').join(' ')).join('\n'));
}

View file

@ -0,0 +1,29 @@
import React, { useState } from 'react';
import UiKitButton from 'ts/components/UiKit/components/Button';
import CityMap from './components/CityMap';
import style from './style/index.module.scss';
interface ICityBuilderProps {
}
function CityBuilder({}: ICityBuilderProps): React.ReactElement | null {
const [percent, setPercent] = useState<number>(5);
return (
<>
<UiKitButton
className={style.races_button}
onClick={() => {
setPercent(Math.random() * 100);
}}
>
rand
</UiKitButton>
<CityMap percent={percent} />
</>
);
}
export default CityBuilder;

View file

@ -0,0 +1,42 @@
@import 'src/styles/variables';
.city_builder {
--temp-min-size: 20px;
display: block;
margin: 0;
padding: 0;
vertical-align: top;
&_wrapper {
max-width: 480px;
padding: 40px;
margin: 0 auto;
box-sizing: border-box;
background-color: #6CCB70;
}
&_block {
display: inline-block;
width: var(--temp-min-size);
height: var(--temp-min-size);
margin: 0;
padding: 0;
vertical-align: top;
text-decoration: none;
box-sizing: border-box;
border: none;
background-color: var(--color-13);
background-repeat: repeat;
background-size: auto 100%;
background-position: center center;
&_home {
background-repeat: repeat;
}
}
}

View file

@ -11,8 +11,10 @@ export default function getCommitInfo(logString: string): ICommit | ISystemCommi
const day = date.getDay() - 1; const day = date.getDay() - 1;
const timestamp = sourceDate.split('T')[0]; const timestamp = sourceDate.split('T')[0];
const author = parts.shift()?.replace(/\./gm, ' ') || ''; const author = parts.shift()?.replace(/[._]/gm, ' ') || '';
const email = parts.shift() || '';
let email = parts.shift() || '';
if (!(/@/gim).test(email)) email = '';
const message = parts.join('>'); const message = parts.join('>');

View file

@ -81,6 +81,8 @@ export default function getAchievementByAuthor(list: string[], dataGrip: any, au
const daysInWork = dataGrip.tasks.longTaskByAuthor[author] || {}; const daysInWork = dataGrip.tasks.longTaskByAuthor[author] || {};
if (daysInWork > 92) list.push('longTask'); if (daysInWork > 92) list.push('longTask');
} }
// Почтальон Печкин. Не заполнил поле e-mail
if (!statistic.lastCommit.email) list.push('haveNotEmail');
// Ни единого разрыва - 0 дней без коммитов // Ни единого разрыва - 0 дней без коммитов
if (statistic.lazyDays === 0) list.push('zeroLazyDays'); if (statistic.lazyDays === 0) list.push('zeroLazyDays');
// Стрельба холостыми - коммиты есть, а закрытых задач нет // Стрельба холостыми - коммиты есть, а закрытых задач нет

View file

@ -35,45 +35,47 @@ export default {
moreRefactoring: ACHIEVEMENT_TYPE.GOOD, // Выпускающий редактор moreRefactoring: ACHIEVEMENT_TYPE.GOOD, // Выпускающий редактор
moreStyle: ACHIEVEMENT_TYPE.GOOD, // Полиция моды moreStyle: ACHIEVEMENT_TYPE.GOOD, // Полиция моды
// нет картинки
longestMessage: ACHIEVEMENT_TYPE.NORMAL, // А разговоров то было...
moreTasksInDay: ACHIEVEMENT_TYPE.GOOD, // Спиди-гонщик
hasCommitFrom0to7: ACHIEVEMENT_TYPE.BAD, // Ночной дозор
noCommitOnDay: ACHIEVEMENT_TYPE.NORMAL, // Технический перерыв
hasCommitEveryTime: ACHIEVEMENT_TYPE.BAD, // Умер на работе hasCommitEveryTime: ACHIEVEMENT_TYPE.BAD, // Умер на работе
commitsAfter1800: ACHIEVEMENT_TYPE.GOOD, // Делу время
more365DaysInProject: ACHIEVEMENT_TYPE.GOOD, // Годовасик, отработал год и не уволился more365DaysInProject: ACHIEVEMENT_TYPE.GOOD, // Годовасик, отработал год и не уволился
more3YearsInProject: ACHIEVEMENT_TYPE.GOOD, // Старожил. больше 3х лет на проекте
firstCommit: ACHIEVEMENT_TYPE.NORMAL, // Кто первый, того и тапки. первый коммит на проекте
lastCommit: ACHIEVEMENT_TYPE.NORMAL, // Я закончил. последний коммит на проекте
firstLastCommit: ACHIEVEMENT_TYPE.NORMAL, // От начала и до конца. первый и последний коммит на проекте
moreLintHint: ACHIEVEMENT_TYPE.GOOD, // Грамар-наци. Больше всех внес в .eslintrc .stylelintrc.json
moreReadMe: ACHIEVEMENT_TYPE.GOOD, // Летописец. Больше остальных внес в .MD moreReadMe: ACHIEVEMENT_TYPE.GOOD, // Летописец. Больше остальных внес в .MD
moreTests: ACHIEVEMENT_TYPE.GOOD, // Тестировщик. Больше остальных внес в тестирование moreTests: ACHIEVEMENT_TYPE.GOOD, // Тестировщик. Больше остальных внес в тестирование
moreDevOps: ACHIEVEMENT_TYPE.GOOD, // DevOps. Больше остальных внес в DevOps moreDevOps: ACHIEVEMENT_TYPE.GOOD, // DevOps. Больше остальных внес в DevOps
longFilePath: ACHIEVEMENT_TYPE.NORMAL, // Закрома родины. первый создал файл с самым глубоким вложением longFilePath: ACHIEVEMENT_TYPE.NORMAL, // Закрома родины. первый создал файл с самым глубоким вложением
longFileName: ACHIEVEMENT_TYPE.NORMAL, // Размер имеет значение. создал файл с самым длинным именем longFileName: ACHIEVEMENT_TYPE.NORMAL, // Размер имеет значение. создал файл с самым длинным именем
moreTasksInDay: ACHIEVEMENT_TYPE.GOOD, // Спиди-гонщик
moreLongWaitPR: ACHIEVEMENT_TYPE.BAD, // Давным давно, в далёкой галактике
// Типаж Козерога, по месяцу первого коммита
horoscope1: ACHIEVEMENT_TYPE.NORMAL, // козерог
horoscope2: ACHIEVEMENT_TYPE.NORMAL, // водолей
horoscope3: ACHIEVEMENT_TYPE.NORMAL, // рыба
horoscope4: ACHIEVEMENT_TYPE.NORMAL, // овен
horoscope5: ACHIEVEMENT_TYPE.NORMAL, // телец
horoscope6: ACHIEVEMENT_TYPE.NORMAL, // близнец
horoscope7: ACHIEVEMENT_TYPE.NORMAL, // рак
horoscope8: ACHIEVEMENT_TYPE.NORMAL, // лев
horoscope9: ACHIEVEMENT_TYPE.NORMAL, // дева
horoscope10: ACHIEVEMENT_TYPE.NORMAL, // весы
horoscope11: ACHIEVEMENT_TYPE.NORMAL, // скорп
horoscope12: ACHIEVEMENT_TYPE.NORMAL, // стрелец
// нет картинки
longestMessage: ACHIEVEMENT_TYPE.NORMAL, // А разговоров то было...
hasCommitFrom0to7: ACHIEVEMENT_TYPE.BAD, // Ночной дозор
noCommitOnDay: ACHIEVEMENT_TYPE.NORMAL, // Технический перерыв
commitsAfter1800: ACHIEVEMENT_TYPE.GOOD, // Делу время
more3YearsInProject: ACHIEVEMENT_TYPE.GOOD, // Старожил. больше 3х лет на проекте
firstCommit: ACHIEVEMENT_TYPE.NORMAL, // Кто первый, того и тапки. первый коммит на проекте
lastCommit: ACHIEVEMENT_TYPE.NORMAL, // Я закончил. последний коммит на проекте
firstLastCommit: ACHIEVEMENT_TYPE.NORMAL, // От начала и до конца. первый и последний коммит на проекте
moreLintHint: ACHIEVEMENT_TYPE.GOOD, // Грамар-наци. Больше всех внес в .eslintrc .stylelintrc.json
moreAddedFolders: ACHIEVEMENT_TYPE.NORMAL, // Директор, создал больше всех дирректорий moreAddedFolders: ACHIEVEMENT_TYPE.NORMAL, // Директор, создал больше всех дирректорий
morePRMerge: ACHIEVEMENT_TYPE.NORMAL, // Таможня даёт добро, morePRMerge: ACHIEVEMENT_TYPE.NORMAL, // Таможня даёт добро,
longWaitPR: ACHIEVEMENT_TYPE.BAD, // Обещать не значит жениться, ожидание PR больше месяца longWaitPR: ACHIEVEMENT_TYPE.BAD, // Обещать не значит жениться, ожидание PR больше месяца
moreLongWaitPR: ACHIEVEMENT_TYPE.BAD, // Давным давно, в далёкой галактике
workOnWeekends: ACHIEVEMENT_TYPE.BAD, // Работа не walk. хоть раз работал на выходных workOnWeekends: ACHIEVEMENT_TYPE.BAD, // Работа не walk. хоть раз работал на выходных
longTask: ACHIEVEMENT_TYPE.BAD, // Вроде изян. работал над задачей больше трех месяцев longTask: ACHIEVEMENT_TYPE.BAD, // Вроде изян. работал над задачей больше трех месяцев
fileRush: ACHIEVEMENT_TYPE.NORMAL, // Зерг Раш. Создал больше всех файлов в проекте fileRush: ACHIEVEMENT_TYPE.NORMAL, // Зерг Раш. Создал больше всех файлов в проекте
haveNotEmail: ACHIEVEMENT_TYPE.NORMAL, // Почтальон Печкин. Не заполнил поле e-mail
// Типаж Козерога, по месяцу первого коммита
horoscope1: ACHIEVEMENT_TYPE.NORMAL,
horoscope2: ACHIEVEMENT_TYPE.NORMAL,
horoscope3: ACHIEVEMENT_TYPE.NORMAL,
horoscope4: ACHIEVEMENT_TYPE.NORMAL,
horoscope5: ACHIEVEMENT_TYPE.NORMAL,
horoscope6: ACHIEVEMENT_TYPE.NORMAL,
horoscope7: ACHIEVEMENT_TYPE.NORMAL,
horoscope8: ACHIEVEMENT_TYPE.NORMAL,
horoscope9: ACHIEVEMENT_TYPE.NORMAL,
horoscope10: ACHIEVEMENT_TYPE.NORMAL,
horoscope11: ACHIEVEMENT_TYPE.NORMAL,
horoscope12: ACHIEVEMENT_TYPE.NORMAL,
// нет кода // нет кода
lessWorkDays: ACHIEVEMENT_TYPE.BAD, // Дальше без меня lessWorkDays: ACHIEVEMENT_TYPE.BAD, // Дальше без меня

View file

@ -3,35 +3,20 @@ import { observer } from 'mobx-react-lite';
import dataGripStore from 'ts/store/DataGrip'; import dataGripStore from 'ts/store/DataGrip';
import Achievement from 'ts/components/Achievement/components/Item';
import PageWrapper from 'ts/components/Page/wrapper'; import PageWrapper from 'ts/components/Page/wrapper';
import Extension from 'ts/components/Extension';
import Title from 'ts/components/Title'; import Title from 'ts/components/Title';
import Races from 'ts/components/Races'; import Races from 'ts/components/Races';
import CityBuilder from 'ts/components/CityBuilder';
import Tv100And1 from 'ts/components/Tv100And1'; import Tv100And1 from 'ts/components/Tv100And1';
import Description from 'ts/components/Description';
import DataView from 'ts/components/DataView'; import DataView from 'ts/components/DataView';
import Column from 'ts/components/Table/components/Column'; import Column from 'ts/components/Table/components/Column';
import LineChart from 'ts/components/LineChart'; import LineChart from 'ts/components/LineChart';
import getOptions from 'ts/components/LineChart/helpers/getOptions'; import getOptions from 'ts/components/LineChart/helpers/getOptions';
import { ColumnTypesEnum } from 'ts/components/Table/interfaces/Column'; import { ColumnTypesEnum } from 'ts/components/Table/interfaces/Column';
import { getDate } from 'ts/helpers/formatter';
import style from '../styles/quiz.module.scss';
const Top = observer((): React.ReactElement => { const Top = observer((): React.ReactElement => {
const extensions = dataGripStore.fileGrip.extension.statistic
.slice(0, 4).map((statistic: any) => {
return (
<Extension
key={statistic.extension}
statistic={statistic}
/>
);
});
const tracksAuth = dataGripStore.dataGrip.author.statistic const tracksAuth = dataGripStore.dataGrip.author.statistic
.filter((item: any) => !item.isStaff); .filter((item: any) => !item.isStaff);
@ -47,42 +32,17 @@ const Top = observer((): React.ReactElement => {
.map((item: any) => ({ title: item.author, value: item.maxMessageLength })); .map((item: any) => ({ title: item.author, value: item.maxMessageLength }));
const chartMessageLength = getOptions({ max: maxMessageLength[0].value, suffix: 'сиволов' }); const chartMessageLength = getOptions({ max: maxMessageLength[0].value, suffix: 'сиволов' });
const authors = dataGripStore.dataGrip.author.statistic.map((statistic: any) => {
const from = getDate(statistic.firstCommit.date);
const to = getDate(statistic.lastCommit.date);
const achievementsList = [
// ...achievements[ACHIEVEMENT_TYPE.GOOD],
// ...achievements[ACHIEVEMENT_TYPE.NORMAL],
// ...achievements[ACHIEVEMENT_TYPE.BAD],
].map((code: string) => (
<Achievement
key={code}
code={code}
/>
));
return (
<div key={statistic.author}>
<Title title={statistic.author}/>
<Description text={`Всего коммитов: ${statistic.commits}`} />
<Description text={`Работал с ${from} по ${to} (${statistic.allDaysInProject} дней)`} />
<PageWrapper>
<div className={style.quiz_achievements}>
{achievementsList}
</div>
</PageWrapper>
</div>
);
});
return ( return (
<> <>
<Title title="Скорость закрытия задач"/> <Title title="Скорость закрытия задач"/>
<Races tracks={tracks} /> <Races tracks={tracks} />
{'City builder - тепловая карта'} <Title title="Объем созданных файлов"/>
<CityBuilder />
{'Небоскребы вверх ввиде графика'} {'Небоскребы вверх ввиде графика'}
<Title title="Максимальная длинна подписи коммита"/> <Title title="Максимальная длинна подписи коммита"/>
<Tv100And1 rows={maxMessageLength} />
<PageWrapper template="table"> <PageWrapper template="table">
<DataView rows={maxMessageLength}> <DataView rows={maxMessageLength}>
<Column <Column
@ -110,14 +70,6 @@ const Top = observer((): React.ReactElement => {
</DataView> </DataView>
</PageWrapper> </PageWrapper>
<Tv100And1 rows={maxMessageLength} />
{authors}
<PageWrapper>
<div style={{ whiteSpace: 'normal' }} >
{extensions}
</div>
</PageWrapper>
</> </>
); );
}); });

View file

@ -30,7 +30,7 @@ function Welcome() {
const command = 'git --no-pager log --raw --numstat --oneline --all --reverse --date=iso-strict --pretty=format:"%ad>%cN>%cE>%s" > log.txt\n'; const command = 'git --no-pager log --raw --numstat --oneline --all --reverse --date=iso-strict --pretty=format:"%ad>%cN>%cE>%s" > log.txt\n';
return ( return (
<> <>
{false && process.env.REACT_APP_TYPE !== 'local' && (<WarningInfo />)} {process.env.REACT_APP_TYPE === 'local' && (<WarningInfo />)}
<section className={style.welcome}> <section className={style.welcome}>
<div className={style.welcome_row}> <div className={style.welcome_row}>
<h2 className={style.welcome_first_title}> <h2 className={style.welcome_first_title}>

View file

@ -121,7 +121,7 @@ export default `
§ achievements.longFilePath.description: первый создал файл с самым глубоким вложением § achievements.longFilePath.description: первый создал файл с самым глубоким вложением
§ achievements.longFileName.title: Размер имеет значение § achievements.longFileName.title: Размер имеет значение
§ achievements.longFileName.description: создал файл с самым длинным именемм § achievements.longFileName.description: создал файл с самым длинным именемм
§ achievements.workOnWeekends.title: Работа не walk § achievements.workOnWeekends.title: Один раз не водолаз
§ achievements.workOnWeekends.description: хоть раз работал на выходных § achievements.workOnWeekends.description: хоть раз работал на выходных
§ achievements.removeCreateFile.title: Откопал стюардессу § achievements.removeCreateFile.title: Откопал стюардессу
§ achievements.removeCreateFile.description: востановил удаленный файл § achievements.removeCreateFile.description: востановил удаленный файл
@ -129,5 +129,33 @@ export default `
§ achievements.renameFile.description: переименовывал туда-сюда файл § achievements.renameFile.description: переименовывал туда-сюда файл
§ achievements.longTask.title: Вроде изян § achievements.longTask.title: Вроде изян
§ achievements.longTask.description: работал над задачей больше трех месяцев § achievements.longTask.description: работал над задачей больше трех месяцев
§ achievements.haveNotEmail.title: Почтальон Печкин
§ achievements.haveNotEmail.description: не заполнил поле e-mail в git config
§ achievements.moreAddedFolders.title: Директор
§ achievements.moreAddedFolders.description: создал больше всех дирректорий
§ achievements.horoscope1.title: Меркурий в Козероге
§ achievements.horoscope2.title: Меркурий в Водолее
§ achievements.horoscope3.title: Меркурий в Рыбе
§ achievements.horoscope4.title: Меркурий в Овне
§ achievements.horoscope5.title: Меркурий в Тельце
§ achievements.horoscope6.title: Меркурий в Близнеце
§ achievements.horoscope7.title: Меркурий в Раке
§ achievements.horoscope8.title: Меркурий в Льве
§ achievements.horoscope9.title: Меркурий в Деве
§ achievements.horoscope10.title: Меркурий в Весах
§ achievements.horoscope11.title: Меркурий в Скорпионе
§ achievements.horoscope12.title: Меркурий в Стрельце
§ achievements.horoscope1.description: по месяцу первого коммита
§ achievements.horoscope2.description: по месяцу первого коммита
§ achievements.horoscope3.description: по месяцу первого коммита
§ achievements.horoscope4.description: по месяцу первого коммита
§ achievements.horoscope5.description: по месяцу первого коммита
§ achievements.horoscope6.description: по месяцу первого коммита
§ achievements.horoscope7.description: по месяцу первого коммита
§ achievements.horoscope8.description: по месяцу первого коммита
§ achievements.horoscope9.description: по месяцу первого коммита
§ achievements.horoscope10.description: по месяцу первого коммита
§ achievements.horoscope11.description: по месяцу первого коммита
§ achievements.horoscope12.description: по месяцу первого коммита
§ achievements.111.description: test § achievements.111.description: test
`; `;