Files
sqlpage--sqlpage/examples/official-site/blog/three-layers.svg
T
wehub-resource-sync d718c5a372
CI / compile_and_lint (push) Failing after 0s
CI / docker_build (linux/amd64, -linux-amd64-duckdb, duckdb) (push) Failing after 0s
CI / docker_build (linux/arm64, -linux-arm64, minimal) (push) Failing after 2s
CI / docker_build (linux/arm64, -linux-arm64-duckdb, duckdb) (push) Failing after 1s
CI / docker_build (linux/amd64, minimal) (push) Failing after 1s
CI / test (, sqlite, sqlite::memory:) (push) Has been skipped
CI / test (mssql, mssql, mssql://root:Password123!@127.0.0.1/sqlpage) (push) Has been skipped
CI / test (mysql, mysql, mysql://root:Password123!@127.0.0.1/sqlpage) (push) Has been skipped
CI / test (oracle, oracle, Driver=Oracle 21 ODBC driver;Dbq=//127.0.0.1:1521/FREEPDB1;Uid=root;Pwd=Password123!) (push) Has been skipped
CI / test (postgres, odbc, Driver=PostgreSQL Unicode;Server=127.0.0.1;Port=5432;Database=sqlpage;UID=root;PWD=Password123!, true) (push) Has been skipped
CI / test (postgres, postgres, postgres://root:Password123!@127.0.0.1/sqlpage) (push) Has been skipped
CI / playwright (push) Has been skipped
CI / docker_build (linux/arm/v7, -linux-arm-v7, minimal) (push) Failing after 0s
CI / hurl_examples (push) Failing after 8s
deploy website / deploy_official_site (push) Failing after 1s
CI / hurl (${{ matrix.example }}) (push) Has been skipped
CI / docker_push (duckdb) (push) Has been cancelled
CI / docker_push (minimal) (push) Has been cancelled
CI / windows_test (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:31:57 +08:00

17 lines
32 KiB
XML

<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 722.6071428571429 616.8074191002361">
<!-- svg-source:excalidraw -->
<defs>
<style class="style-fonts">
@font-face {
font-family: "Virgil";
src: url("https://excalidraw.com/Virgil.woff2");
}
@font-face {
font-family: "Cascadia";
src: url("https://excalidraw.com/Cascadia.woff2");
}
</style>
</defs>
<g stroke-opacity="0.5" fill-opacity="0.5" stroke-linecap="round" transform="translate(10 466.72198105763164) rotate(0 340.5 49.5)"><path d="M26.33 -0.96 L663.97 1.27 L672.47 2.39 L675.43 5.33 L681.19 14.69 L679.04 23.68 L682.07 81.64 L677.92 85.37 L675.12 91.79 L666.19 98.31 L654.42 100.13 L19.02 100.48 L10.54 96.32 L1.82 87.48 L-0.35 86.46 L1.85 74.36 L1.5 23.59 L0.97 13.71 L4.77 5.91 L12.7 2.32 L23.53 -0.8" stroke="none" stroke-width="0" fill="#a5d8ff"></path><path d="M24.75 0 M24.75 0 C231.14 0.84, 437.94 0.64, 656.25 0 M24.75 0 C261.74 0.44, 498.82 0.48, 656.25 0 M656.25 0 C670.8 -1.12, 681.26 7.47, 681 24.75 M656.25 0 C670.45 -0.69, 680.27 9.51, 681 24.75 M681 24.75 C679.64 43.66, 683.19 63.14, 681 74.25 M681 24.75 C681.84 37.04, 680.53 48.15, 681 74.25 M681 74.25 C681.69 88.82, 674.62 97.94, 656.25 99 M681 74.25 C679.77 92.39, 675.01 97.76, 656.25 99 M656.25 99 C518.69 97.21, 379.49 98.32, 24.75 99 M656.25 99 C465.35 101.31, 274.82 101.26, 24.75 99 M24.75 99 C10.05 99.14, -1.95 91.18, 0 74.25 M24.75 99 C10.51 97.38, 0.36 90.84, 0 74.25 M0 74.25 C0.98 60.64, -1.01 49.68, 0 24.75 M0 74.25 C0.49 54.84, 0.32 36.76, 0 24.75 M0 24.75 C1.96 9.63, 9.05 -1.46, 24.75 0 M0 24.75 C-2.24 10.3, 10.38 -1.28, 24.75 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g stroke-opacity="0.5" fill-opacity="0.5" transform="translate(275.375 493.72198105763164) rotate(0 75.125 22.5)"><text x="75.125" y="0" font-family="Virgil, Segoe UI Emoji" font-size="36px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Frontend</text></g><g stroke-opacity="0.5" fill-opacity="0.5" stroke-linecap="round" transform="translate(473.29853985793216 470.99131807419235) rotate(0 104.5 45.5)"><path d="M24.15 -0.92 L186.03 -1.52 L196.45 -0.47 L204.93 5.9 L207.68 16.48 L209.8 69.32 L206.78 77.24 L199.42 88.12 L188.04 92.02 L22.49 89.17 L14.26 89.49 L4.98 87.03 L0.79 74.11 L0.09 16.4 L1.73 8.47 L10.32 4.07 L21.93 -0.33" stroke="none" stroke-width="0" fill="#a5d8ff"></path><path d="M22.75 0 M22.75 0 C82.38 -0.39, 144.04 0.27, 186.25 0 M22.75 0 C63.07 -1.34, 104.45 -1.5, 186.25 0 M186.25 0 C202.87 1.65, 208.57 8.8, 209 22.75 M186.25 0 C201.34 1.14, 211.26 6.25, 209 22.75 M209 22.75 C208.14 39.67, 207.27 55.77, 209 68.25 M209 22.75 C209.74 35.14, 209.62 48.48, 209 68.25 M209 68.25 C209.77 85.07, 201.31 92.44, 186.25 91 M209 68.25 C209.99 83.47, 201.58 92.26, 186.25 91 M186.25 91 C130.91 92.55, 70.18 91.75, 22.75 91 M186.25 91 C126.82 89.25, 67.75 90.05, 22.75 91 M22.75 91 C9.16 91.88, -1.06 83.5, 0 68.25 M22.75 91 C8.38 92.61, -1.56 84.41, 0 68.25 M0 68.25 C-0.54 52.46, -1.21 37.65, 0 22.75 M0 68.25 C0.21 56.91, 0.96 45.75, 0 22.75 M0 22.75 C0.18 6.2, 6.01 1.59, 22.75 0 M0 22.75 C2.27 5.49, 5.61 1.78, 22.75 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g stroke-opacity="0.5" fill-opacity="0.5" transform="translate(526.4902055073462 491.49131807419235) rotate(0 51.30833435058594 25)"><text x="51.30833435058594" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">TypeScript</text><text x="51.30833435058594" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">interfaces</text></g><g stroke-opacity="0.5" fill-opacity="0.5" stroke-linecap="round" transform="translate(13.46468034727718 256.6910023677983) rotate(0 340.5 50)"><path d="M25.73 -1.95 L662.44 2.06 L672.93 4.93 L675.89 5.22 L679.39 12.44 L680.94 23.26 L679.15 82.82 L681.01 87.69 L672.86 94.79 L668.17 96.98 L654.88 98.44 L17.82 98.24 L8.46 97.34 L6.55 92.69 L0.52 86.86 L1.06 76.29 L-1.3 24.15 L0.08 12.48 L6.76 8.24 L12.89 1.51 L25.6 -0.25" stroke="none" stroke-width="0" fill="#ffec99"></path><path d="M25 0 M25 0 C174.97 1.39, 324.1 1.71, 656 0 M25 0 C244.96 1.12, 465.64 1.09, 656 0 M656 0 C672.25 -0.34, 681.19 6.63, 681 25 M656 0 C674.83 -0.12, 681.15 7.56, 681 25 M681 25 C682.35 43.54, 679.79 59.28, 681 75 M681 25 C682.16 44.9, 681.48 65.17, 681 75 M681 75 C682.53 92.68, 671.47 98.15, 656 100 M681 75 C680.17 91.71, 671.62 101.93, 656 100 M656 100 C465.85 100.37, 275.65 101.14, 25 100 M656 100 C502.01 99.64, 348.34 99.88, 25 100 M25 100 C9.87 101.24, -0.29 93.32, 0 75 M25 100 C6.06 99.29, -0.49 91.97, 0 75 M0 75 C-0.3 65.38, 1.34 52.91, 0 25 M0 75 C0.28 63.8, 0.19 52.08, 0 25 M0 25 C-1.92 10.01, 9.77 -1.38, 25 0 M0 25 C0.11 8.14, 8.85 -1.59, 25 0" stroke="#f08c00" stroke-width="1" fill="none"></path></g><g stroke-opacity="0.5" fill-opacity="0.5" transform="translate(282.5730101202264 284.1910023677983) rotate(0 71.39167022705078 22.5)"><text x="71.39167022705078" y="0" font-family="Virgil, Segoe UI Emoji" font-size="36px" fill="#f08c00" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Backend</text></g><g stroke-opacity="0.5" fill-opacity="0.5" stroke-linecap="round" transform="translate(492.8042620363062 263.8987766377095) rotate(0 97 42.5)"><path d="M22.95 1.41 L173.89 -1.03 L182 -0.29 L188.63 3.57 L192.21 18.23 L195.58 65.5 L190.78 74.09 L186.93 80.55 L171.63 83.44 L19.93 83.63 L10.65 84.53 L3.29 75.64 L-0.71 69.65 L1.39 17.56 L1.68 7.46 L6.82 1.41 L21.76 1.99" stroke="none" stroke-width="0" fill="#ffec99"></path><path d="M21.25 0 M21.25 0 C57.58 -1.71, 92.83 -1.69, 172.75 0 M21.25 0 C72.22 1.03, 123.47 -0.01, 172.75 0 M172.75 0 C185.4 -1.35, 194.5 5.6, 194 21.25 M172.75 0 C186.44 -0.39, 194.22 5.13, 194 21.25 M194 21.25 C193.31 39.13, 193.09 53.37, 194 63.75 M194 21.25 C193.45 38.31, 194.92 54.03, 194 63.75 M194 63.75 C195.54 78.09, 187.11 86.09, 172.75 85 M194 63.75 C195.76 79.08, 185.54 82.88, 172.75 85 M172.75 85 C134.48 84.35, 94.62 84.7, 21.25 85 M172.75 85 C121.42 85.67, 67.83 86.2, 21.25 85 M21.25 85 C6.39 83.69, 0.18 77.8, 0 63.75 M21.25 85 C8.85 86.43, -0.33 79.82, 0 63.75 M0 63.75 C0.4 53.26, -0.01 45.25, 0 21.25 M0 63.75 C-0.99 51.07, -0.14 39.82, 0 21.25 M0 21.25 C0.54 8.24, 7.44 1.28, 21.25 0 M0 21.25 C-2.21 9.01, 8.74 -1.58, 21.25 0" stroke="#f08c00" stroke-width="1" fill="none"></path></g><g stroke-opacity="0.5" fill-opacity="0.5" transform="translate(500.5542620363062 281.3987766377095) rotate(0 89.25 25)"><text x="89.25" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#f08c00" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Python/Ruby/Java</text><text x="89.25" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#f08c00" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">classes</text></g><g stroke-opacity="0.5" fill-opacity="0.5" stroke-linecap="round" transform="translate(19.52624309392297 30.56708760852416) rotate(0 340.50000000000006 56)"><path d="M29.08 -0.85 L660.82 0.84 L668.95 4.79 L673.13 5.08 L681.21 16.77 L681.34 26.75 L680.99 89.91 L678.98 94.91 L673.33 104.13 L663.3 108.89 L653.62 113.26 L21.37 109.7 L16.9 108.48 L6.95 106.17 L0.42 96.34 L0.55 82.38 L1.86 28.54 L-0.13 16.72 L7.28 5.82 L16.67 0.51 L26.41 1.81" stroke="none" stroke-width="0" fill="#ffc9c9"></path><path d="M28 0 M28 0 C189.24 -2.51, 348.98 -2.75, 653 0 M28 0 C193.13 1.99, 357.42 2.28, 653 0 M653 0 C671.01 -0.32, 681.5 9.92, 681 28 M653 0 C672.72 -1.37, 680.11 10.29, 681 28 M681 28 C682.36 39.25, 681.81 52.84, 681 84 M681 28 C680.74 48.33, 681.48 69.57, 681 84 M681 84 C679.27 104.03, 670.69 112.37, 653 112 M681 84 C680.98 104.56, 670.2 113.69, 653 112 M653 112 C500.11 110.25, 346.29 109.71, 28 112 M653 112 C428.3 110.01, 203.99 110.59, 28 112 M28 112 C7.34 110.7, -1.43 103.83, 0 84 M28 112 C9.38 109.75, -0.48 104.63, 0 84 M0 84 C2 63.99, 2.07 45.77, 0 28 M0 84 C0.36 66.69, -0.55 51.18, 0 28 M0 28 C-0.42 8.38, 10.36 -1.53, 28 0 M0 28 C1.54 8.27, 9.35 1.88, 28 0" stroke="#e03131" stroke-width="1" fill="none"></path></g><g stroke-opacity="0.5" fill-opacity="0.5" transform="translate(271.026243093923 64.06708760852416) rotate(0 89 22.5)"><text x="89" y="0" font-family="Virgil, Segoe UI Emoji" font-size="36px" fill="#e03131" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Database</text></g><g stroke-linecap="round"><g stroke-opacity="0.5" fill-opacity="0.5" transform="translate(356.44296680633147 143.7647987371729) rotate(0 -0.13202999558660622 34.502088892901156)"><path d="M-0.38 -0.14 C-0.59 11.33, -0.83 57.21, -1.04 68.94 M1.63 -1.26 C1.25 10.37, -1.18 58.66, -1.89 70.27" stroke="#f08c00" stroke-width="1" fill="none"></path></g><g stroke-opacity="0.5" fill-opacity="0.5" transform="translate(356.44296680633147 143.7647987371729) rotate(0 -0.13202999558660622 34.502088892901156)"><path d="M9.39 28.45 C5.72 18.32, 4.68 9.9, 0.35 0.2 M8.82 27.18 C6.26 17.84, 2.52 7.04, -0.33 0.61" stroke="#f08c00" stroke-width="1" fill="none"></path></g><g stroke-opacity="0.5" fill-opacity="0.5" transform="translate(356.44296680633147 143.7647987371729) rotate(0 -0.13202999558660622 34.502088892901156)"><path d="M-11.13 28.26 C-8.19 18.26, -2.63 9.9, 0.35 0.2 M-11.7 26.99 C-6.64 17.9, -2.77 7.18, -0.33 0.61" stroke="#f08c00" stroke-width="1" fill="none"></path></g><g stroke-opacity="0.5" fill-opacity="0.5" transform="translate(356.44296680633147 143.7647987371729) rotate(0 -0.13202999558660622 34.502088892901156)"><path d="M-10.84 41.87 C-8.44 50.15, -3.46 60.08, -1.16 70.61 M-11.41 40.6 C-6.62 52.58, -3.42 62.93, -1.85 71.02" stroke="#f08c00" stroke-width="1" fill="none"></path></g><g stroke-opacity="0.5" fill-opacity="0.5" transform="translate(356.44296680633147 143.7647987371729) rotate(0 -0.13202999558660622 34.502088892901156)"><path d="M9.65 42.99 C5.45 50.84, 3.84 60.41, -1.16 70.61 M9.08 41.72 C6.26 53.09, 1.86 63.03, -1.85 71.02" stroke="#f08c00" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-opacity="0.5" fill-opacity="0.5" stroke-linecap="round" transform="translate(497.40666929755344 42.6874506708773) rotate(0 98 46.5)"><path d="M22.48 1.91 L172.21 1.14 L185.04 5.15 L193.31 7.6 L194.24 18.21 L197.18 67.77 L192.09 83.02 L187.92 88.67 L172.42 93.47 L24.61 93.51 L10.49 91.66 L2.46 83.76 L-0.6 77 L1.36 19.76 L7.45 7.11 L13.96 3.24 L22.09 -1.43" stroke="none" stroke-width="0" fill="#ffc9c9"></path><path d="M23.25 0 M23.25 0 C56.01 2.14, 91.31 -0.51, 172.75 0 M23.25 0 C65.23 1.37, 106.24 0.19, 172.75 0 M172.75 0 C187.91 -0.2, 196.96 6.47, 196 23.25 M172.75 0 C187.71 1.92, 194.71 9.08, 196 23.25 M196 23.25 C195.47 38.26, 194.97 55.02, 196 69.75 M196 23.25 C195.47 34.34, 196.33 46.94, 196 69.75 M196 69.75 C195.76 83.59, 187.4 91.29, 172.75 93 M196 69.75 C195.46 87.2, 186.09 94.28, 172.75 93 M172.75 93 C137.47 95.36, 97.05 96.17, 23.25 93 M172.75 93 C122.28 93.76, 69.9 94.26, 23.25 93 M23.25 93 C8.27 91.77, 0.19 86.24, 0 69.75 M23.25 93 C8.98 90.88, -1.85 84.81, 0 69.75 M0 69.75 C-1.36 52.27, 1.46 37.1, 0 23.25 M0 69.75 C0.7 52.95, 0.72 35.35, 0 23.25 M0 23.25 C0.64 9.4, 7.14 0.29, 23.25 0 M0 23.25 C1.68 6.69, 5.99 -1.41, 23.25 0" stroke="#e03131" stroke-width="1" fill="none"></path></g><g stroke-opacity="0.5" fill-opacity="0.5" transform="translate(540.831668534614 64.1874506708773) rotate(0 54.57500076293945 25)"><text x="54.57500076293945" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#e03131" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">SQL</text><text x="54.57500076293945" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#e03131" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">DB Schema</text></g><g stroke-linecap="round"><g stroke-opacity="0.5" fill-opacity="0.5" transform="translate(341.0615822737335 390.2170481452249) rotate(0 -0.7767889796185159 21.340825379659236)"><path d="M0.8 -0.01 C0.3 7.45, -1.88 36.69, -2.35 43.74 M-0.24 -1.06 C-0.44 6.18, -0.31 34.75, -0.19 42.16" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g stroke-opacity="0.5" fill-opacity="0.5" transform="translate(341.0615822737335 390.2170481452249) rotate(0 -0.7767889796185159 21.340825379659236)"><path d="M6.62 18.81 C6.46 12.07, 2.01 7.04, -0.57 -1.36 M5.83 19.62 C4.84 16.72, 4.57 11.62, 0.55 -0.39" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g stroke-opacity="0.5" fill-opacity="0.5" transform="translate(341.0615822737335 390.2170481452249) rotate(0 -0.7767889796185159 21.340825379659236)"><path d="M-7.95 17.75 C-2.95 11.29, -2.23 6.64, -0.57 -1.36 M-8.74 18.57 C-6.75 15.75, -4.02 10.86, 0.55 -0.39" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g stroke-opacity="0.5" fill-opacity="0.5" transform="translate(341.0615822737335 390.2170481452249) rotate(0 -0.7767889796185159 21.340825379659236)"><path d="M-7.69 20.41 C-3.48 27.99, -3.2 37.37, -1.56 40.81 M-8.48 21.23 C-6.99 26.54, -4.52 29.77, -0.44 41.78" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g stroke-opacity="0.5" fill-opacity="0.5" transform="translate(341.0615822737335 390.2170481452249) rotate(0 -0.7767889796185159 21.340825379659236)"><path d="M6.92 20.28 C5.95 28.01, 1.04 37.43, -1.56 40.81 M6.13 21.1 C4.62 26.57, 4.08 29.83, -0.44 41.78" stroke="#1971c2" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-opacity="0.5" fill-opacity="0.5" stroke-linecap="round" transform="translate(25.12529597474372 485.5173638516162) rotate(0 80 33.5)"><path d="M15.79 0.22 L149.84 -0.64 L155.22 5.83 L160.42 13.99 L158.88 59.09 L153.93 63.84 L144.2 65.77 L7.49 64.99 L1.82 61.68 L-1.26 53.37 L-0.72 12.43 L2.5 4.3 L9.19 2.59 L16.52 -1.88" stroke="none" stroke-width="0" fill="#a5d8ff"></path><path d="M16.75 0 M16.75 0 C57.14 0.05, 97.78 -0.08, 143.25 0 M16.75 0 C44.79 -1.09, 70.35 0.24, 143.25 0 M143.25 0 C156.05 0.54, 160.49 4.88, 160 16.75 M143.25 0 C154.43 2.07, 161.07 7.51, 160 16.75 M160 16.75 C158.46 23.64, 159.46 31.91, 160 50.25 M160 16.75 C160.95 28.29, 160.04 38.64, 160 50.25 M160 50.25 C159.78 61.73, 153.91 68.51, 143.25 67 M160 50.25 C159.71 59.67, 156.63 68.14, 143.25 67 M143.25 67 C96.82 69.09, 55.58 68.22, 16.75 67 M143.25 67 C114.64 65.58, 85.89 65.38, 16.75 67 M16.75 67 C3.96 68.95, -1.55 60.5, 0 50.25 M16.75 67 C7.58 65.66, 0.68 63.45, 0 50.25 M0 50.25 C0.69 36.9, 1 24.39, 0 16.75 M0 50.25 C-0.82 41.41, 0.42 31.39, 0 16.75 M0 16.75 C-0.33 4.59, 5.19 -1.89, 16.75 0 M0 16.75 C-0.36 6.75, 5.06 -0.25, 16.75 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g stroke-opacity="0.5" fill-opacity="0.5" transform="translate(67.14196238709724 506.5173638516162) rotate(0 37.983333587646484 12.5)"><text x="37.983333587646484" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">UI logic</text></g><g stroke-opacity="0.5" fill-opacity="0.5" stroke-linecap="round" transform="translate(28.660812943962355 275.6985003946329) rotate(0 81.3259668508287 34.85398579321236)"><path d="M15.65 1.17 L146.69 -0.29 L154.29 2.5 L161.62 6.96 L160.68 14.84 L163.05 60.81 L157.5 67.11 L146.82 69.79 L18.42 69.49 L9.06 68.34 L2.81 62.42 L-0.14 56.12 L0.69 11.54 L3.74 6.81 L7.22 4.32 L16.07 -1.77" stroke="none" stroke-width="0" fill="#ffec99"></path><path d="M17.43 0 M17.43 0 C57.1 -1.52, 95.47 -0.22, 145.22 0 M17.43 0 C62.49 -0.12, 107.8 -0.04, 145.22 0 M145.22 0 C157.21 0.41, 161.41 7.63, 162.65 17.43 M145.22 0 C157.11 1.55, 162.49 6.96, 162.65 17.43 M162.65 17.43 C163.25 27.78, 162.15 41.83, 162.65 52.28 M162.65 17.43 C162.2 25.61, 162.03 33.42, 162.65 52.28 M162.65 52.28 C160.9 63.46, 156.91 69.06, 145.22 69.71 M162.65 52.28 C162.41 66.11, 155.7 71.44, 145.22 69.71 M145.22 69.71 C115.29 72.18, 87.78 69.08, 17.43 69.71 M145.22 69.71 C100.21 70.53, 54.11 69.63, 17.43 69.71 M17.43 69.71 C5.84 68.43, 0.26 64.01, 0 52.28 M17.43 69.71 C6.54 70.96, -0.47 62.59, 0 52.28 M0 52.28 C0.18 40.64, -0.43 32.79, 0 17.43 M0 52.28 C1.13 38.47, 0.21 26.16, 0 17.43 M0 17.43 C0.61 7.66, 6.93 -0.32, 17.43 0 M0 17.43 C-1.27 7.73, 7.54 0.72, 17.43 0" stroke="#f08c00" stroke-width="1" fill="none"></path></g><g stroke-opacity="0.5" fill-opacity="0.5" transform="translate(43.02011261949815 298.0524861878457) rotate(0 66.96666717529297 12.5)"><text x="66.96666717529297" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#f08c00" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Business logic</text></g><g stroke-opacity="0.5" fill-opacity="0.5" stroke-linecap="round" transform="translate(463.07280978689835 10) rotate(0 124.76716653512227 283.8831886345697)"><path d="M32 0 M32 0 C82.23 0.66, 134.33 -2.86, 217.53 0 M32 0 C79.68 -1.71, 127.01 -1.64, 217.53 0 M217.53 0 C239.58 -0.58, 248.05 9.25, 249.53 32 M217.53 0 C240.03 0.46, 247.61 9.23, 249.53 32 M249.53 32 C250.36 205.41, 250.27 379.08, 249.53 535.77 M249.53 32 C250.53 153.64, 250.88 275.23, 249.53 535.77 M249.53 535.77 C249.98 556.75, 237.84 568.3, 217.53 567.77 M249.53 535.77 C248.73 557.67, 240.32 568.29, 217.53 567.77 M217.53 567.77 C169.78 570.52, 124.62 567.19, 32 567.77 M217.53 567.77 C170.3 568.5, 125.18 567.43, 32 567.77 M32 567.77 C10.9 567.79, 0.77 555.91, 0 535.77 M32 567.77 C8.61 565.51, -1.45 557.04, 0 535.77 M0 535.77 C-1.22 410.79, -0.09 285.76, 0 32 M0 535.77 C-0.88 409.5, -0.28 282.67, 0 32 M0 32 C0.49 9.84, 12.56 -0.56, 32 0 M0 32 C-1.32 12.82, 9.03 -1.88, 32 0" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g stroke-opacity="0.5" fill-opacity="0.5" transform="translate(536.9491743224762 581.8074191002361) rotate(0 52.974998474121094 12.5)"><text x="105.94999694824219" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="end" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Duplication</text></g><g stroke-opacity="0.5" fill-opacity="0.5" stroke-linecap="round" transform="translate(233.24368587213905 220.01104972375742) rotate(0 113 19)"><path d="M9.06 1.15 L216.33 -1.82 L224.94 2.58 L227.34 3.63 L227.93 27.85 L221.66 34.58 L216.16 38.15 L8.59 36.29 L2.04 35.42 L1.97 27.52 L0.62 6.38 L4.8 -0.95 L11.21 -1.77" stroke="none" stroke-width="0" fill="#ffec99"></path><path d="M9.5 0 M9.5 0 C52.6 2.04, 96.56 0.85, 216.5 0 M9.5 0 C69.72 1.39, 131.45 1.03, 216.5 0 M216.5 0 C221.86 -0.47, 224.46 2.79, 226 9.5 M216.5 0 C222.54 1.91, 224.36 3.24, 226 9.5 M226 9.5 C227.09 15.1, 224.38 21.31, 226 28.5 M226 9.5 C226.59 16.28, 225.32 22.37, 226 28.5 M226 28.5 C226.84 35.28, 223.64 38.1, 216.5 38 M226 28.5 C227.47 34.79, 221.52 35.99, 216.5 38 M216.5 38 C172.89 39.9, 126 37.68, 9.5 38 M216.5 38 C161.94 39.57, 106.97 39.02, 9.5 38 M9.5 38 C3.85 37.25, 1.99 35.09, 0 28.5 M9.5 38 C3.34 39.07, 1.63 36.66, 0 28.5 M0 28.5 C0.85 22.78, 1.09 17.46, 0 9.5 M0 28.5 C-0.64 23.21, -0.24 15.96, 0 9.5 M0 9.5 C-0.2 1.28, 1.22 0.42, 9.5 0 M0 9.5 C0.94 1.4, 1.63 -1.19, 9.5 0" stroke="#f08c00" stroke-width="1" fill="none"></path></g><g stroke-opacity="0.5" fill-opacity="0.5" transform="translate(328.88535228449257 229.01104972375742) rotate(0 17.358333587646484 10)"><text x="17.358333587646484" y="0" font-family="Virgil, Segoe UI Emoji" font-size="16px" fill="#f08c00" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">ORM</text></g><g stroke-opacity="0.5" fill-opacity="0.5" stroke-linecap="round" transform="translate(233.17462509865834 357.70402525651025) rotate(0 110.5 15)"><path d="M7.44 0.94 L214.64 -1.86 L215.76 -1.31 L219.11 3.38 L219.33 22.55 L217.75 29.39 L214.22 28.72 L7.05 29.97 L0.37 26.58 L-1.77 24.18 L0.02 5.6 L4.36 2.19 L8.92 1.51" stroke="none" stroke-width="0" fill="#ffec99"></path><path d="M7.5 0 M7.5 0 C81.96 -2.46, 157.38 0.32, 213.5 0 M7.5 0 C80.16 0.28, 151.2 -0.88, 213.5 0 M213.5 0 C217.5 -0.69, 219.97 3.11, 221 7.5 M213.5 0 C217.8 0.65, 221.33 1.52, 221 7.5 M221 7.5 C221.58 10.54, 220.05 14.83, 221 22.5 M221 7.5 C221.23 12.4, 220.78 15.52, 221 22.5 M221 22.5 C220.9 28.64, 219.54 29.63, 213.5 30 M221 22.5 C223.23 26.65, 220.24 32.15, 213.5 30 M213.5 30 C159.35 29.94, 107.53 31.68, 7.5 30 M213.5 30 C154.96 30.58, 94.61 29.33, 7.5 30 M7.5 30 C3.1 28.35, -0.12 26.19, 0 22.5 M7.5 30 C4.55 30.79, -1.79 26.07, 0 22.5 M0 22.5 C0.06 19.62, 1.29 15.83, 0 7.5 M0 22.5 C0.27 19.19, 0.15 16.11, 0 7.5 M0 7.5 C0.82 4.38, 2 0.98, 7.5 0 M0 7.5 C-1.56 2.36, 2.41 -2.05, 7.5 0" stroke="#f08c00" stroke-width="1" fill="none"></path></g><g stroke-opacity="0.5" fill-opacity="0.5" transform="translate(328.77462548012807 362.70402525651025) rotate(0 14.899999618530273 10)"><text x="14.899999618530273" y="0" font-family="Virgil, Segoe UI Emoji" font-size="16px" fill="#f08c00" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">API</text></g><g stroke-opacity="0.5" fill-opacity="0.5" stroke-linecap="round" transform="translate(184.7239542225733 439.3401736385158) rotate(0 137.5 15)"><path d="M5.72 -0.39 L267.12 0.13 L272.59 0.41 L272.89 2.69 L273.32 24.49 L272.15 27.97 L268.41 28.61 L7.83 28.31 L2.23 26.71 L-0.41 21.36 L-0.53 4.81 L2.92 -0.16 L8.3 -0.79" stroke="none" stroke-width="0" fill="#a5d8ff"></path><path d="M7.5 0 M7.5 0 C60.97 -2.08, 116.4 -0.03, 267.5 0 M7.5 0 C87.62 1.41, 169.11 0.29, 267.5 0 M267.5 0 C270.92 0.39, 275.39 1.28, 275 7.5 M267.5 0 C271.43 1.89, 274.9 4.1, 275 7.5 M275 7.5 C273.98 12.42, 275.54 15.88, 275 22.5 M275 7.5 C274.55 11.45, 274.37 15.99, 275 22.5 M275 22.5 C276.66 28.5, 273.96 31.78, 267.5 30 M275 22.5 C275.86 25.96, 273.22 31.37, 267.5 30 M267.5 30 C179.06 29.94, 90.24 27.28, 7.5 30 M267.5 30 C183.69 28.31, 100.3 29.18, 7.5 30 M7.5 30 C1.38 31.6, 0.98 28.3, 0 22.5 M7.5 30 C3.82 31.76, -1.77 28.82, 0 22.5 M0 22.5 C-1.38 18.95, 0.69 15.34, 0 7.5 M0 22.5 C-0.57 18.61, -0.55 14.45, 0 7.5 M0 7.5 C1.98 3.06, 4.36 -0.25, 7.5 0 M0 7.5 C1.89 1.63, 0.97 1.02, 7.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g stroke-opacity="0.5" fill-opacity="0.5" transform="translate(208.93229009903814 444.3401736385158) rotate(0 113.29166412353516 10)"><text x="113.29166412353516" y="0" font-family="Virgil, Segoe UI Emoji" font-size="16px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">fetch, io-ts, apollo, hooks, ...</text></g><g stroke-linecap="round"><g transform="translate(58.96088607730053 59.129997965145776) rotate(0 29.276433856681763 31.39563985965242)" fill-rule="evenodd"><path d="M-1.44 1.84 L1.08 64.57 L13.63 70.66 L31.51 69.5 L47.84 69.14 L59.22 65.28 L57.29 -1.03 L50.48 -5.47 L28.02 -7.34 L7.52 -2.62 L-0.59 0" stroke="none" stroke-width="0" fill="#ffc9c9" fill-rule="evenodd"></path><path d="M-0.69 0.58 C-1 9.98, -0.67 46.5, -0.69 57.11 C-0.71 67.72, -1.37 62.64, -0.82 64.24 C-0.28 65.84, 0.21 65.84, 2.57 66.7 C4.94 67.56, 8.46 68.89, 13.36 69.41 C18.27 69.94, 26.25 69.81, 31.99 69.84 C37.74 69.88, 43.72 70.46, 47.82 69.6 C51.93 68.74, 54.95 65.86, 56.64 64.67 C58.32 63.48, 57.71 63.58, 57.94 62.45 C58.18 61.32, 58.01 67.37, 58.05 57.91 C58.08 48.44, 58.03 15.49, 58.17 5.66 C58.3 -4.17, 59.35 0.47, 58.86 -1.08 C58.38 -2.63, 57.23 -3.06, 55.27 -3.65 C53.32 -4.24, 51.52 -4.13, 47.12 -4.6 C42.71 -5.08, 34.38 -6.17, 28.85 -6.47 C23.32 -6.77, 18.14 -7.12, 13.94 -6.41 C9.74 -5.71, 6.04 -3.42, 3.63 -2.26 C1.23 -1.1, 0.12 0.19, -0.49 0.56 C-1.1 0.93, -0.24 0.21, -0.04 -0.03 M1.15 -0.16 C1.11 9.36, 1.48 48.14, 1.56 58.51 C1.64 68.89, 1.47 60.53, 1.64 62.08 C1.81 63.63, 0.89 66.49, 2.58 67.8 C4.28 69.12, 7.21 69.8, 11.8 69.97 C16.38 70.14, 24.03 69.01, 30.1 68.8 C36.17 68.6, 43.42 68.99, 48.22 68.75 C53.02 68.52, 57.02 68.15, 58.91 67.39 C60.81 66.63, 59.67 65.9, 59.59 64.22 C59.51 62.54, 58.66 67.45, 58.43 57.32 C58.21 47.19, 58.36 13.31, 58.24 3.43 C58.13 -6.45, 58.13 -0.58, 57.74 -1.95 C57.35 -3.32, 57.73 -4.32, 55.89 -4.79 C54.05 -5.26, 51.1 -4.35, 46.69 -4.76 C42.27 -5.17, 34.67 -7.08, 29.38 -7.25 C24.1 -7.42, 19.38 -6.76, 14.97 -5.78 C10.57 -4.81, 5.19 -2.58, 2.97 -1.41 C0.74 -0.24, 2.38 0.97, 1.65 1.24 C0.91 1.51, -1.44 0.32, -1.45 0.2" stroke="#e03131" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(59.41906919517078 102.65124629264028) rotate(0 29.810089711671367 2.785911716417104)"><path d="M-0.88 -0.25 C-0.65 0.14, -0.72 2.12, 0.72 2.95 C2.17 3.79, 5.08 4.2, 7.79 4.78 C10.49 5.36, 12.96 6.18, 16.96 6.42 C20.95 6.67, 26.77 6.24, 31.76 6.23 C36.74 6.21, 42.81 7.18, 46.88 6.33 C50.95 5.49, 54.28 2.45, 56.17 1.18 C58.06 -0.09, 57.88 -0.98, 58.21 -1.27 M0.85 -1.43 C1.53 -1.46, 2.01 -0.24, 3 1.01 C3.98 2.27, 4.43 4.98, 6.78 6.09 C9.13 7.2, 13.13 7.6, 17.11 7.69 C21.09 7.78, 25.49 6.94, 30.64 6.62 C35.8 6.3, 43.74 6.41, 48.04 5.79 C52.34 5.17, 54.38 4.21, 56.46 2.89 C58.53 1.57, 59.96 -1.3, 60.5 -2.13" stroke="#e03131" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(58.690000385103986 80.60459793503469) rotate(0 29.78163423088722 3.1513908250849454)"><path d="M-0.83 0.35 C-0.5 0.82, -0.38 1.8, 1.1 2.59 C2.58 3.38, 5.27 4.51, 8.06 5.1 C10.84 5.69, 14.06 5.76, 17.81 6.11 C21.57 6.45, 25.8 7.49, 30.61 7.18 C35.42 6.86, 42.4 5.21, 46.67 4.24 C50.93 3.27, 54.29 2.15, 56.2 1.35 C58.11 0.55, 57.77 -0.43, 58.14 -0.56 M0.93 -0.51 C1.14 0.19, -1.13 2.94, -0.09 4.12 C0.95 5.31, 4.11 6.07, 7.2 6.58 C10.28 7.1, 14.19 7.58, 18.42 7.21 C22.64 6.85, 27.66 4.56, 32.55 4.4 C37.43 4.24, 43.73 6.47, 47.72 6.26 C51.71 6.05, 54.39 4.37, 56.5 3.15 C58.61 1.94, 59.79 -0.45, 60.39 -1.04" stroke="#e03131" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(57.942879741803495 53.78087692976533) rotate(0 29.21322106828461 5.908154180974179)"><path d="M27.15 0.52 C33.09 0.48, 42.05 1.09, 47.23 1.78 C52.42 2.46, 56.98 3.38, 58.25 4.61 C59.51 5.84, 57.81 8.01, 54.84 9.17 C51.87 10.33, 46.26 11.07, 40.41 11.57 C34.56 12.06, 25.82 12.67, 19.75 12.14 C13.67 11.6, 7.04 9.67, 3.95 8.35 C0.86 7.03, 0.29 5.27, 1.23 4.23 C2.16 3.19, 4.59 2.96, 9.57 2.13 C14.56 1.3, 26.65 -0.43, 31.13 -0.75 C35.62 -1.06, 36.3 -0.04, 36.48 0.21 M20.51 1.11 C25.9 0.52, 34.55 -0.64, 40.31 -0.51 C46.08 -0.38, 52.12 0.56, 55.09 1.89 C58.06 3.22, 59.31 5.88, 58.13 7.46 C56.96 9.04, 53.26 10.88, 48.03 11.36 C42.79 11.84, 33.37 10.61, 26.72 10.34 C20.07 10.06, 12.67 10.21, 8.12 9.72 C3.58 9.23, -0.07 8.56, -0.56 7.39 C-1.05 6.22, 1.81 3.87, 5.18 2.71 C8.54 1.54, 16.8 0.7, 19.65 0.39 C22.5 0.08, 21.75 1, 22.27 0.84" stroke="none" stroke-width="0" fill="#ffc9c9"></path><path d="M27.02 -0.38 C33.01 -0.73, 42.12 -0.17, 47.05 0.54 C51.97 1.26, 55.29 2.68, 56.57 3.9 C57.85 5.13, 57.32 6.7, 54.73 7.87 C52.14 9.03, 46.47 10.21, 41.02 10.91 C35.57 11.6, 28.12 12.23, 22.01 12.05 C15.91 11.88, 8.1 10.9, 4.37 9.85 C0.64 8.8, -1.11 7.07, -0.36 5.76 C0.39 4.45, 3.79 2.96, 8.87 2 C13.95 1.04, 26.14 0.15, 30.15 0 C34.15 -0.14, 32.81 1.09, 32.88 1.13 M37.3 -0.92 C42.99 -0.46, 48.29 2.74, 51.83 3.83 C55.37 4.92, 58.79 4.37, 58.52 5.6 C58.25 6.83, 54.59 10.21, 50.22 11.19 C45.85 12.18, 38.6 11.53, 32.31 11.53 C26.01 11.52, 17.56 11.76, 12.44 11.15 C7.33 10.55, 3.46 9.2, 1.64 7.9 C-0.19 6.6, -0.85 4.77, 1.51 3.36 C3.87 1.96, 10.02 0.14, 15.77 -0.55 C21.53 -1.24, 32.63 -1.09, 36.05 -0.79 C39.46 -0.48, 36.41 1.03, 36.27 1.29" stroke="#e03131" stroke-width="1" fill="none"></path></g><g stroke-linecap="round" transform="translate(105.61000662840809 70.16267387399785) rotate(0 4.281477580401827 4.646713831138186)"><path d="M4.72 0.58 C5.78 0.45, 7.06 0.5, 7.63 1.15 C8.2 1.79, 8.11 3.45, 8.14 4.47 C8.17 5.48, 8.36 6.38, 7.81 7.24 C7.26 8.1, 5.8 9.45, 4.84 9.62 C3.88 9.78, 2.59 8.84, 2.04 8.23 C1.49 7.62, 1.83 6.62, 1.54 5.97 C1.25 5.32, 0.43 5.28, 0.3 4.33 C0.17 3.38, -0.13 1, 0.75 0.27 C1.62 -0.45, 4.62 -0.04, 5.54 0 C6.45 0.04, 6.42 0.35, 6.22 0.52 M3.95 -0.99 C4.84 -1.39, 6.06 -1.06, 6.91 -0.2 C7.75 0.65, 8.61 2.82, 9 4.15 C9.39 5.48, 9.97 7.21, 9.27 7.79 C8.57 8.36, 6.08 7.47, 4.81 7.58 C3.54 7.7, 2.49 8.47, 1.65 8.48 C0.8 8.49, -0.04 8.45, -0.24 7.66 C-0.43 6.88, 0.36 4.85, 0.48 3.77 C0.59 2.68, -0.4 1.71, 0.47 1.16 C1.33 0.61, 4.85 0.88, 5.69 0.48 C6.53 0.07, 5.49 -1.21, 5.52 -1.28" stroke="none" stroke-width="0" fill="#ffc9c9"></path><path d="M6.26 -0.39 C6.95 -0.2, 6.64 0.69, 6.88 1.51 C7.13 2.34, 7.7 3.52, 7.73 4.54 C7.75 5.56, 7.44 6.74, 7.03 7.61 C6.62 8.48, 6.27 9.51, 5.27 9.74 C4.28 9.97, 1.99 9.6, 1.05 9.01 C0.1 8.42, -0.29 7.21, -0.38 6.2 C-0.47 5.18, 0.07 3.89, 0.5 2.92 C0.93 1.95, 1.43 0.65, 2.2 0.4 C2.97 0.14, 4.35 1.35, 5.12 1.37 C5.88 1.39, 6.58 0.59, 6.8 0.5 M3.14 1.38 C3.89 1.37, 6.26 -0.29, 7.16 0.3 C8.06 0.9, 8.39 3.88, 8.55 4.94 C8.72 6, 8.68 5.92, 8.17 6.65 C7.65 7.39, 6.25 8.89, 5.46 9.35 C4.67 9.81, 4.39 9.82, 3.41 9.42 C2.42 9.01, 0.23 8.01, -0.46 6.91 C-1.14 5.8, -0.94 3.89, -0.68 2.77 C-0.41 1.64, 0.32 0.46, 1.14 0.16 C1.96 -0.14, 3.81 1, 4.25 0.99 C4.69 0.98, 3.99 -0.02, 3.78 0.1" stroke="#e03131" stroke-width="1" fill="none"></path></g><g stroke-linecap="round" transform="translate(105.61000662840809 90.56173011727606) rotate(0 4.281477580401827 4.646713831138186)"><path d="M5.92 0.17 C6.65 0.35, 6.99 1.68, 7.41 2.53 C7.82 3.37, 8.56 4.25, 8.4 5.24 C8.25 6.24, 7.21 7.96, 6.47 8.5 C5.73 9.05, 4.56 8.68, 3.95 8.51 C3.35 8.35, 3.44 7.87, 2.84 7.52 C2.25 7.17, 0.92 7.35, 0.38 6.42 C-0.17 5.49, -0.87 2.94, -0.44 1.93 C0 0.93, 1.86 0.63, 2.97 0.38 C4.09 0.13, 5.86 0.34, 6.26 0.43 C6.66 0.53, 5.48 0.96, 5.37 0.97 M5.29 -1.17 C6.29 -0.76, 7.57 1.1, 8.34 2.28 C9.1 3.46, 10.19 5.18, 9.87 5.89 C9.55 6.6, 7.46 6.06, 6.39 6.55 C5.33 7.03, 4.37 8.35, 3.47 8.79 C2.57 9.23, 1.47 9.68, 0.98 9.17 C0.48 8.67, 0.79 6.85, 0.51 5.77 C0.23 4.69, -1.26 3.53, -0.7 2.72 C-0.13 1.9, 2.66 1.51, 3.88 0.86 C5.1 0.21, 6.12 -1.02, 6.63 -1.18 C7.14 -1.34, 7.04 -0.34, 6.94 -0.09" stroke="none" stroke-width="0" fill="#ffc9c9"></path><path d="M2.49 -0.45 C3.06 -0.7, 4.6 -0.54, 5.53 -0.03 C6.45 0.47, 7.47 1.47, 8.05 2.57 C8.64 3.67, 9.42 5.48, 9.04 6.59 C8.67 7.7, 6.78 8.71, 5.8 9.23 C4.81 9.74, 3.91 9.88, 3.13 9.68 C2.35 9.48, 1.71 8.85, 1.13 8.03 C0.55 7.21, -0.16 5.65, -0.35 4.75 C-0.55 3.86, -0.82 3.53, -0.04 2.67 C0.73 1.82, 3.42 0.05, 4.32 -0.38 C5.23 -0.81, 5.4 -0.14, 5.37 0.1 M2.92 -0.43 C3.9 -0.86, 4.87 1.01, 5.74 1.42 C6.6 1.82, 7.69 1.27, 8.1 1.99 C8.5 2.71, 8.25 4.64, 8.17 5.73 C8.09 6.82, 8.44 7.96, 7.63 8.53 C6.82 9.11, 4.43 9.41, 3.3 9.17 C2.17 8.94, 1.45 7.89, 0.86 7.13 C0.27 6.36, -0.21 5.19, -0.26 4.57 C-0.31 3.95, 0.13 4.1, 0.56 3.39 C0.99 2.68, 2.14 0.61, 2.3 0.31 C2.45 0.02, 1.43 1.47, 1.5 1.6" stroke="#e03131" stroke-width="1" fill="none"></path></g><g stroke-linecap="round" transform="translate(105.61000662840809 112.73279381627981) rotate(0 4.281477580401827 4.646713831138186)"><path d="M5.13 0.76 C5.86 1, 7.28 1.47, 7.71 2.3 C8.13 3.13, 7.88 4.93, 7.68 5.76 C7.48 6.58, 6.86 6.83, 6.51 7.26 C6.15 7.69, 6.3 8.06, 5.54 8.34 C4.78 8.62, 3 9.49, 1.96 8.93 C0.92 8.37, -0.55 6.03, -0.71 4.96 C-0.87 3.89, 0.33 3.24, 0.97 2.5 C1.62 1.77, 2.35 0.8, 3.15 0.56 C3.95 0.33, 5.11 1.01, 5.77 1.08 C6.42 1.16, 6.94 1.1, 7.1 1.04 M3.38 0.45 C4.45 0.43, 6.52 0.95, 7.16 1.03 C7.79 1.11, 7.15 0.26, 7.19 0.93 C7.23 1.6, 7.57 3.7, 7.41 5.05 C7.24 6.4, 6.68 8.34, 6.21 9.06 C5.74 9.77, 5.57 9.46, 4.59 9.33 C3.61 9.2, 0.86 8.87, 0.32 8.29 C-0.22 7.71, 1.12 7.08, 1.36 5.84 C1.59 4.61, 1.25 1.87, 1.75 0.88 C2.25 -0.12, 4.06 0.02, 4.37 -0.12 C4.68 -0.26, 3.77 -0.35, 3.62 0.02" stroke="none" stroke-width="0" fill="#ffc9c9"></path><path d="M2.27 -0.42 C3.21 -0.71, 4.69 -0.57, 5.79 0 C6.88 0.58, 8.5 1.99, 8.83 3.05 C9.15 4.1, 8.15 5.4, 7.73 6.36 C7.31 7.32, 6.92 8.29, 6.31 8.83 C5.7 9.37, 4.96 9.74, 4.07 9.6 C3.18 9.47, 1.81 8.59, 0.97 8 C0.13 7.42, -0.94 7.14, -0.96 6.09 C-0.97 5.03, 0 2.7, 0.88 1.69 C1.77 0.67, 3.73 0.15, 4.35 -0.01 C4.98 -0.17, 4.81 0.76, 4.61 0.72 M6.25 1.65 C7.05 2.09, 8.05 1.74, 8.35 2.52 C8.65 3.3, 8.24 5.25, 8.05 6.31 C7.85 7.37, 8.07 8.42, 7.19 8.9 C6.31 9.37, 3.87 9.51, 2.75 9.14 C1.63 8.78, 0.97 7.58, 0.45 6.72 C-0.06 5.86, -0.4 4.61, -0.33 3.98 C-0.26 3.34, 0.33 3.53, 0.86 2.89 C1.38 2.24, 2.15 0.33, 2.82 0.13 C3.5 -0.07, 4.38 1.56, 4.91 1.69 C5.44 1.82, 5.81 1.21, 5.99 0.93" stroke="#e03131" stroke-width="1" fill="none"></path></g></svg>