13 lines
24 KiB
XML
13 lines
24 KiB
XML
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1385.9701964455305 408.87827369152234" width="1385.9701964455305" height="408.87827369152234" filter="invert(93%) hue-rotate(180deg)" class="excalidraw-svg">
|
|
<!-- svg-source:excalidraw -->
|
|
|
|
<defs>
|
|
<style class="style-fonts">
|
|
@font-face {
|
|
font-family: Comic Shanns;
|
|
src: url(data:font/woff2;base64,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);
|
|
}
|
|
</style>
|
|
|
|
</defs>
|
|
<rect x="0" y="0" width="1385.9701964455305" height="408.87827369152234" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(301.49356133222466 180.36404218505484) rotate(0 52.218724708463014 33.666015625)"><path d="M16.83 0 C36.88 0.88, 60.46 -0.43, 87.6 0 M16.83 0 C44.82 -0.43, 73.55 -0.75, 87.6 0 M87.6 0 C97.92 1.69, 105.94 5.19, 104.44 16.83 M87.6 0 C99.74 0.28, 104.14 5.85, 104.44 16.83 M104.44 16.83 C102.78 29.33, 103.32 40.08, 104.44 50.5 M104.44 16.83 C105.45 28.27, 104.36 40.23, 104.44 50.5 M104.44 50.5 C106.04 60.89, 99.49 65.34, 87.6 67.33 M104.44 50.5 C104.99 61.06, 98.91 65.04, 87.6 67.33 M87.6 67.33 C69.5 65.96, 53.21 67.35, 16.83 67.33 M87.6 67.33 C72.54 68.13, 55.62 67.52, 16.83 67.33 M16.83 67.33 C5.11 66.03, 0.81 60.24, 0 50.5 M16.83 67.33 C3.33 68.38, -1.75 62.19, 0 50.5 M0 50.5 C-0.6 41.17, 1.59 36.89, 0 16.83 M0 50.5 C1.09 41.7, 1.26 31.15, 0 16.83 M0 16.83 C1.64 6.16, 7.02 -1.39, 16.83 0 M0 16.83 C0.93 5.68, 5.26 1.44, 16.83 0" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(306.49356133222466 185.36404218505484) rotate(0 43.5 12.5)"><text x="0" y="17.5" font-family="Comic Shanns, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Solver 1</text></g><g stroke-linecap="round" transform="translate(154.7194786219635 228.3739494980917) rotate(0 51.51892189265919 33.666015625)"><path d="M16.83 0 C41.85 2.2, 71.48 2.55, 86.2 0 M16.83 0 C39.15 -0.89, 60.47 -0.16, 86.2 0 M86.2 0 C97.12 1.25, 102.29 3.76, 103.04 16.83 M86.2 0 C96.47 -0.92, 101.51 3.51, 103.04 16.83 M103.04 16.83 C103.9 30.57, 101.95 41.15, 103.04 50.5 M103.04 16.83 C103.71 28.14, 102.46 41.81, 103.04 50.5 M103.04 50.5 C104.9 60.61, 98.63 66.21, 86.2 67.33 M103.04 50.5 C104.88 63.15, 97.46 67.71, 86.2 67.33 M86.2 67.33 C68.55 68.39, 54.93 67.53, 16.83 67.33 M86.2 67.33 C64.98 67.68, 44.67 67.48, 16.83 67.33 M16.83 67.33 C4.5 67.19, -0.76 60.84, 0 50.5 M16.83 67.33 C6.86 65.79, -0.83 60.9, 0 50.5 M0 50.5 C-0.6 44.73, -0.76 36.05, 0 16.83 M0 50.5 C0.77 41.95, -0.57 34.35, 0 16.83 M0 16.83 C-1.14 4.08, 7.12 0.9, 16.83 0 M0 16.83 C-0.89 7.73, 6.59 -1.81, 16.83 0" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(159.7194786219635 233.3739494980917) rotate(0 43.5 12.5)"><text x="0" y="17.5" font-family="Comic Shanns, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Solver 2</text></g><g stroke-linecap="round" transform="translate(10 226.485236985258) rotate(0 51.12012782144171 33.666015625)"><path d="M16.83 0 C39.45 0.85, 59.54 0.8, 85.41 0 M16.83 0 C31.72 -0.14, 47.11 0.59, 85.41 0 M85.41 0 C95.06 -0.65, 103.89 3.98, 102.24 16.83 M85.41 0 C98.13 0.09, 104.31 7.34, 102.24 16.83 M102.24 16.83 C103.97 30.86, 102.4 41.5, 102.24 50.5 M102.24 16.83 C102.46 27.44, 102.27 37.01, 102.24 50.5 M102.24 50.5 C102.8 60.86, 97.78 65.74, 85.41 67.33 M102.24 50.5 C103.13 62.87, 96.97 67.52, 85.41 67.33 M85.41 67.33 C65.96 67.87, 45.14 66.25, 16.83 67.33 M85.41 67.33 C64.9 68.4, 45.06 67.22, 16.83 67.33 M16.83 67.33 C4.89 66.51, -1.3 62.28, 0 50.5 M16.83 67.33 C3.4 68.64, 0.69 60.02, 0 50.5 M0 50.5 C0.26 43.5, 1.06 33.93, 0 16.83 M0 50.5 C0.21 38.06, 0.39 24.32, 0 16.83 M0 16.83 C-0.5 4.69, 5.44 -0.98, 16.83 0 M0 16.83 C-0.03 4.05, 4.83 0.06, 16.83 0" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(15 231.485236985258) rotate(0 43.5 12.5)"><text x="0" y="17.5" font-family="Comic Shanns, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Solver 3</text></g><g stroke-linecap="round" transform="translate(978.7207958236662 155.07644659256482) rotate(0 72.44702273305109 50.88748397885209)"><path d="M25.44 0 C60.97 0.35, 92.5 -0.54, 119.45 0 M25.44 0 C55.45 -0.97, 84.4 -0.16, 119.45 0 M119.45 0 C137.55 -1.64, 143.95 6.64, 144.89 25.44 M119.45 0 C135.45 1.88, 143.55 9.26, 144.89 25.44 M144.89 25.44 C144.88 39.1, 145.57 54.63, 144.89 76.33 M144.89 25.44 C144.64 41.14, 144.36 56.3, 144.89 76.33 M144.89 76.33 C143.44 92.29, 136.12 100.99, 119.45 101.77 M144.89 76.33 C144.68 93.33, 136.96 101.11, 119.45 101.77 M119.45 101.77 C91.98 102.61, 62.88 102.49, 25.44 101.77 M119.45 101.77 C88.91 103.08, 59.33 102.99, 25.44 101.77 M25.44 101.77 C8.51 103.46, -0.32 92.02, 0 76.33 M25.44 101.77 C6.48 103.48, 2.03 93.14, 0 76.33 M0 76.33 C1.49 57.1, -1.63 38.21, 0 25.44 M0 76.33 C0.19 62.67, 0.47 49.42, 0 25.44 M0 25.44 C0.34 7.28, 8.78 -1.7, 25.44 0 M0 25.44 C-0.24 10.15, 10 -0.01, 25.44 0" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(983.7207958236662 160.07644659256482) rotate(0 33.5 12.5)"><text x="0" y="17.5" font-family="Comic Shanns, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Client</text></g><g transform="translate(1081.9701964455305 280.2722757392123) rotate(0 147 25)"><text x="0" y="17.5" font-family="Comic Shanns, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Solver1 solver = Solver1();</text><text x="0" y="42.5" font-family="Comic Shanns, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">solver.solve(grid);</text></g><g stroke-linecap="round" transform="translate(80.23830627996927 76.06142177873124) rotate(0 132.89621104205378 17.5)"><path d="M8.75 0 C87.01 1.58, 165.76 0.17, 257.04 0 M8.75 0 C66.97 -0.01, 126.31 -0.67, 257.04 0 M257.04 0 C262.44 -1.89, 267.11 4.06, 265.79 8.75 M257.04 0 C262.23 0.37, 265.73 0.64, 265.79 8.75 M265.79 8.75 C264.25 13.23, 265.72 21.39, 265.79 26.25 M265.79 8.75 C265.9 13.95, 266.21 20.25, 265.79 26.25 M265.79 26.25 C266.95 33.87, 262.61 35.72, 257.04 35 M265.79 26.25 C266.52 34.24, 262.16 35.55, 257.04 35 M257.04 35 C183.85 35.56, 112.15 33.02, 8.75 35 M257.04 35 C173.36 32.97, 89.88 32.54, 8.75 35 M8.75 35 C3.89 34.56, 1.67 30.92, 0 26.25 M8.75 35 C2.53 36.02, 0.06 31.63, 0 26.25 M0 26.25 C-1.08 20.77, 1.35 15.32, 0 8.75 M0 26.25 C0.09 21.05, -0.53 17, 0 8.75 M0 8.75 C0.77 3.07, 1.65 -1.77, 8.75 0 M0 8.75 C-0.79 1.39, 4.49 -0.04, 8.75 0" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(98.63451732202304 81.06142177873124) rotate(0 114.5 12.5)"><text x="114.5" y="17.5" font-family="Comic Shanns, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">abstract class Solver</text></g><g stroke-linecap="round"><g transform="translate(297.51842852512596 199.31336533073141) rotate(0 -51.73648653034468 -40.26965643975622)"><path d="M-0.14 0 C-17.5 -13.54, -87.32 -66.78, -104.45 -80.28 M-1.67 -1.05 C-18.63 -15.06, -85.29 -69.12, -102.25 -82.27" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(297.51842852512596 199.31336533073141) rotate(0 -51.73648653034468 -40.26965643975622)"><path d="M-78.55 -74.33 C-85.11 -78.16, -91.18 -77.8, -102.25 -82.27 M-78.55 -74.33 C-85.64 -76.83, -90.1 -79.12, -102.25 -82.27" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(297.51842852512596 199.31336533073141) rotate(0 -51.73648653034468 -40.26965643975622)"><path d="M-89.2 -60.95 C-92.95 -68.44, -96.09 -71.74, -102.25 -82.27 M-89.2 -60.95 C-93.67 -66.82, -95.38 -72.57, -102.25 -82.27" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(199.1745367947641 220.52141591327086) rotate(0 -5.562950724277243 -53.07342642663283)"><path d="M0.96 -0.16 C-0.83 -17.97, -9.58 -88.41, -11.77 -106.26 M0 -1.28 C-1.3 -18.96, -7.76 -87.24, -9.39 -104.78" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(199.1745367947641 220.52141591327086) rotate(0 -5.562950724277243 -53.07342642663283)"><path d="M1.31 -82.19 C-1.34 -87.97, -3.54 -93.38, -9.39 -104.78 M1.31 -82.19 C-1.05 -86.09, -2.69 -91.63, -9.39 -104.78" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(199.1745367947641 220.52141591327086) rotate(0 -5.562950724277243 -53.07342642663283)"><path d="M-15.72 -80.6 C-14.76 -86.85, -13.35 -92.6, -9.39 -104.78 M-15.72 -80.6 C-14.57 -84.78, -12.71 -90.65, -9.39 -104.78" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(121.83081712017452 244.0123918585311) rotate(0 22.944810713491393 -64.45632005783457)"><path d="M0.62 0.84 C8.17 -20.48, 37.04 -106.55, 44.75 -127.99 M-0.52 0.24 C7.43 -21.4, 39 -108, 46.87 -129.63" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(121.83081712017452 244.0123918585311) rotate(0 22.944810713491393 -64.45632005783457)"><path d="M46.87 -104.63 C48.28 -112.9, 48.41 -115.67, 46.87 -129.63 M46.87 -104.63 C47.71 -115.27, 47.92 -125.13, 46.87 -129.63" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(121.83081712017452 244.0123918585311) rotate(0 22.944810713491393 -64.45632005783457)"><path d="M30.8 -110.49 C36.31 -117.35, 40.54 -118.62, 46.87 -129.63 M30.8 -110.49 C37.87 -118.76, 44.36 -126.32, 46.87 -129.63" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(497.4265426923728 10) rotate(0 158.5 31.358460961583972)"><path d="M15.68 0 C98.49 0.63, 182.61 0.12, 301.32 0 M15.68 0 C96.3 -0.42, 176.96 -0.17, 301.32 0 M301.32 0 C313.39 0.96, 316.89 4.88, 317 15.68 M301.32 0 C313.24 1.1, 315.85 6.99, 317 15.68 M317 15.68 C317.33 21.74, 318.1 28.39, 317 47.04 M317 15.68 C316.87 24.72, 316.09 35.78, 317 47.04 M317 47.04 C316.67 56.03, 311.72 62.35, 301.32 62.72 M317 47.04 C316.68 58.65, 311.8 60.62, 301.32 62.72 M301.32 62.72 C223.54 61.92, 144.61 63.48, 15.68 62.72 M301.32 62.72 C230.99 62.69, 161.55 62.23, 15.68 62.72 M15.68 62.72 C4.79 61.19, 0.4 57.16, 0 47.04 M15.68 62.72 C5.86 61.5, -1.44 56.1, 0 47.04 M0 47.04 C-0.25 34.86, -1.67 23.42, 0 15.68 M0 47.04 C0.79 40.04, 0.06 31.41, 0 15.68 M0 15.68 C0.06 4.06, 6.23 -1.95, 15.68 0 M0 15.68 C1.3 3.65, 3.81 -2.09, 15.68 0" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(502.4265426923728 15) rotate(0 153.3699957728386 25)"><text x="0" y="17.5" font-family="Comic Shanns, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">abstract class SolverFactory</text><text x="0" y="42.5" font-family="Comic Shanns, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">+ Solver create_solver()</text></g><g stroke-linecap="round" transform="translate(601.4427529490732 177.29538104010106) rotate(0 158.5 31.358460961583972)"><path d="M15.68 0 C112.34 1.13, 208.33 1.11, 301.32 0 M15.68 0 C87 0.74, 160.16 1.52, 301.32 0 M301.32 0 C310.18 1.15, 318.79 6.82, 317 15.68 M301.32 0 C310.97 2.26, 318.3 3.44, 317 15.68 M317 15.68 C315.69 25.27, 316.35 35.03, 317 47.04 M317 15.68 C316.55 24.91, 317.68 33.8, 317 47.04 M317 47.04 C316.57 57.85, 311 61.72, 301.32 62.72 M317 47.04 C317.62 59.14, 313.54 63.04, 301.32 62.72 M301.32 62.72 C219.57 65.34, 137.05 64.06, 15.68 62.72 M301.32 62.72 C216.04 61.04, 128.95 61.4, 15.68 62.72 M15.68 62.72 C3.4 60.82, -0.9 55.66, 0 47.04 M15.68 62.72 C5.59 62.94, -0.19 56.48, 0 47.04 M0 47.04 C1.97 39.24, 0.61 29.28, 0 15.68 M0 47.04 C0.47 38.91, 0.85 29.34, 0 15.68 M0 15.68 C1.38 3.78, 7 -0.14, 15.68 0 M0 15.68 C1.81 5.5, 3.99 -1.35, 15.68 0" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(606.4427529490732 182.29538104010106) rotate(0 136.5 25)"><text x="0" y="17.5" font-family="Comic Shanns, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">class Solver1Factory</text><text x="0" y="42.5" font-family="Comic Shanns, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">+ Solver1 create_solver()</text></g><g stroke-linecap="round" transform="translate(501.210869829864 256.8380479825995) rotate(0 158.5 31.358460961583972)"><path d="M15.68 0 C113.92 2.35, 214.22 2.61, 301.32 0 M15.68 0 C111.13 1.22, 207.58 1.73, 301.32 0 M301.32 0 C313.33 -0.14, 318.95 4.2, 317 15.68 M301.32 0 C312.76 0.14, 318.48 4.74, 317 15.68 M317 15.68 C317.99 22.55, 317.55 31.42, 317 47.04 M317 15.68 C318.1 24.57, 317.78 32.03, 317 47.04 M317 47.04 C317.22 58.25, 312.58 61.62, 301.32 62.72 M317 47.04 C315.31 57.66, 312.51 61.35, 301.32 62.72 M301.32 62.72 C230.51 62.84, 160.03 60.48, 15.68 62.72 M301.32 62.72 C199.75 64.33, 97.99 63.44, 15.68 62.72 M15.68 62.72 C5.67 62.12, 1.08 55.86, 0 47.04 M15.68 62.72 C6.06 64.63, -1.16 57.01, 0 47.04 M0 47.04 C-0.88 35.83, -1.26 26.8, 0 15.68 M0 47.04 C0.98 40.28, -0.66 33.1, 0 15.68 M0 15.68 C-0.15 4.54, 4.21 -1.89, 15.68 0 M0 15.68 C-0.45 4.42, 7.35 -1.16, 15.68 0" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(506.210869829864 261.8380479825995) rotate(0 136.5 25)"><text x="0" y="17.5" font-family="Comic Shanns, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">class Solver2Factory</text><text x="0" y="42.5" font-family="Comic Shanns, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">+ Solver2 create_solver()</text></g><g stroke-linecap="round" transform="translate(402.4569283586677 336.1613517683544) rotate(0 158.5 31.358460961583972)"><path d="M15.68 0 C104.37 0.16, 193.31 -2.36, 301.32 0 M15.68 0 C103.15 -1.58, 191.87 -1.56, 301.32 0 M301.32 0 C313.33 -0.17, 318.77 3.91, 317 15.68 M301.32 0 C312.93 -1.17, 315.41 4.39, 317 15.68 M317 15.68 C317.73 24.05, 317.32 32.77, 317 47.04 M317 15.68 C315.9 23.69, 317.59 30.44, 317 47.04 M317 47.04 C316.5 58.68, 312.32 64.63, 301.32 62.72 M317 47.04 C317.4 58.52, 310.34 60.99, 301.32 62.72 M301.32 62.72 C203.14 60.56, 103.54 59.87, 15.68 62.72 M301.32 62.72 C233.41 61.79, 167.16 62.78, 15.68 62.72 M15.68 62.72 C5.93 63.64, 0.48 58.38, 0 47.04 M15.68 62.72 C6.08 64.28, 2.27 55.65, 0 47.04 M0 47.04 C1.25 40.82, 0.99 34.95, 0 15.68 M0 47.04 C1.15 39.87, 0.61 32.32, 0 15.68 M0 15.68 C0.47 3.97, 6.93 -1.71, 15.68 0 M0 15.68 C0.62 3.69, 3.14 1.73, 15.68 0" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(407.4569283586677 341.1613517683544) rotate(0 136.5 25)"><text x="0" y="17.5" font-family="Comic Shanns, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">class Solver3Factory</text><text x="0" y="42.5" font-family="Comic Shanns, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">+ Solver3 create_solver()</text></g><g stroke-linecap="round"><g transform="translate(737.6355524141372 172.6889273112261) rotate(0 -6.104806980274304 -49.138771022254815)"><path d="M0.87 -0.63 C-1.03 -16.98, -8.98 -81.23, -11.29 -97.61 M-0.13 1.66 C-2.11 -15.09, -10.03 -82.79, -11.75 -99.38" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(737.6355524141372 172.6889273112261) rotate(0 -6.104806980274304 -49.138771022254815)"><path d="M-0.65 -76.98 C-5.2 -82.23, -6.44 -91.9, -11.75 -99.38 M-0.65 -76.98 C-3.47 -82.27, -6.93 -88.8, -11.75 -99.38" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(737.6355524141372 172.6889273112261) rotate(0 -6.104806980274304 -49.138771022254815)"><path d="M-17.65 -75.09 C-16.99 -81.04, -13.03 -91.29, -11.75 -99.38 M-17.65 -75.09 C-16.26 -80.78, -15.5 -87.78, -11.75 -99.38" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(565.409586913004 251.24402936725613) rotate(0 18.12851020853087 -84.8197474538627)"><path d="M0.88 -0.74 C6.89 -29.13, 30.91 -140.98, 36.98 -169.2 M-0.12 1.49 C5.72 -26.77, 30.21 -142.68, 36.41 -171.09" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(565.409586913004 251.24402936725613) rotate(0 18.12851020853087 -84.8197474538627)"><path d="M39.85 -146.33 C37.09 -154.36, 37.77 -163.13, 36.41 -171.09 M39.85 -146.33 C37.95 -152.17, 38.4 -159.45, 36.41 -171.09" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(565.409586913004 251.24402936725613) rotate(0 18.12851020853087 -84.8197474538627)"><path d="M23.13 -149.91 C26.65 -156.73, 33.58 -164.16, 36.41 -171.09 M23.13 -149.91 C25.67 -154.64, 30.55 -160.97, 36.41 -171.09" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(461.31435397955096 330.5201708224962) rotate(0 32.08927761984779 -125.45366331856405)"><path d="M-0.3 0.59 C10.3 -41.15, 52.85 -209.52, 63.45 -251.48 M1.74 -0.14 C12.75 -41.64, 55.12 -208.6, 65.79 -250.24" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(461.31435397955096 330.5201708224962) rotate(0 32.08927761984779 -125.45366331856405)"><path d="M68.27 -225.37 C68.75 -233.73, 66.1 -241.12, 65.79 -250.24 M68.27 -225.37 C68.77 -233.11, 67.88 -239.51, 65.79 -250.24" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(461.31435397955096 330.5201708224962) rotate(0 32.08927761984779 -125.45366331856405)"><path d="M51.7 -229.59 C56.91 -236.7, 59.02 -242.87, 65.79 -250.24 M51.7 -229.59 C56.76 -236.32, 60.48 -241.54, 65.79 -250.24" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(396.98714465498483 371.25302092657694) rotate(0 -139.40687886827897 -37.06224009598171)"><path d="M-1.05 -0.61 C-47.54 -13.22, -233.28 -62.64, -279.43 -75.01 M0.6 1.68 C-45.45 -10.86, -230.57 -61.34, -277.04 -73.94" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(396.98714465498483 371.25302092657694) rotate(0 -139.40687886827897 -37.06224009598171)"><path d="M-252.13 -76.03 C-259.6 -76.73, -266.53 -73.66, -277.04 -73.94 M-252.13 -76.03 C-257.43 -75.17, -262.98 -75.03, -277.04 -73.94" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(396.98714465498483 371.25302092657694) rotate(0 -139.40687886827897 -37.06224009598171)"><path d="M-256.62 -59.52 C-263.02 -64.47, -268.78 -65.68, -277.04 -73.94 M-256.62 -59.52 C-260.88 -62.55, -265.37 -66.33, -277.04 -73.94" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(497.2301515194242 290.4094178023601) rotate(0 -116.00479893571645 -7.156835340318487)"><path d="M0.52 0.09 C-38.2 -2.27, -194.28 -12.73, -232.97 -15.2 M-0.67 -0.9 C-38.96 -3.05, -192.17 -12.01, -230.76 -14.13" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(497.2301515194242 290.4094178023601) rotate(0 -116.00479893571645 -7.156835340318487)"><path d="M-206.82 -21.33 C-212.54 -21.08, -219.98 -17.13, -230.76 -14.13 M-206.82 -21.33 C-213.04 -19.69, -219.55 -16.72, -230.76 -14.13" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(497.2301515194242 290.4094178023601) rotate(0 -116.00479893571645 -7.156835340318487)"><path d="M-207.79 -4.26 C-213.13 -8.15, -220.34 -8.35, -230.76 -14.13 M-207.79 -4.26 C-213.87 -7.14, -220.11 -8.72, -230.76 -14.13" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(599.1836775879804 214.8328019179737) rotate(0 -94.28880908256417 -3.1665646213983933)"><path d="M0.91 0.32 C-30.3 -1.05, -156.98 -6.13, -188.36 -7.09 M-0.07 -0.56 C-31.32 -1.28, -157.95 -4.83, -189.2 -5.95" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(599.1836775879804 214.8328019179737) rotate(0 -94.28880908256417 -3.1665646213983933)"><path d="M-165.45 -13.76 C-169.79 -11.6, -176.51 -8.36, -189.2 -5.95 M-165.45 -13.76 C-174.72 -11.27, -182.53 -7.5, -189.2 -5.95" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(599.1836775879804 214.8328019179737) rotate(0 -94.28880908256417 -3.1665646213983933)"><path d="M-165.98 3.33 C-170.37 1.94, -176.98 1.62, -189.2 -5.95 M-165.98 3.33 C-175.11 -0.61, -182.72 -3.29, -189.2 -5.95" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask></svg> |