drawio_dsl 0.11.4 → 0.11.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,3 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1747px" height="1242px" viewBox="-0.5 -0.5 1747 1242"><defs/><g><rect x="0" y="20" width="200" height="120" rx="18" ry="18" fill="#f5f5f5" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 80px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">style_01</div></div></div></foreignObject><text x="100" y="84" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">style_01</text></switch></g><rect x="270" y="55" width="100" height="50" rx="7.5" ry="7.5" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 98px; height: 1px; padding-top: 62px; margin-left: 272px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 28px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">style_02</div></div></div></foreignObject><text x="272" y="90" fill="#FFFFFF" font-family="Helvetica" font-size="28px" font-weight="bold">style_02</text></switch></g><rect x="440" y="20" width="200" height="120" rx="18" ry="18" fill="#d5e8d4" stroke="#82b366" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 80px; margin-left: 441px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">style_03</div></div></div></foreignObject><text x="540" y="84" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">style_03</text></switch></g><ellipse cx="760" cy="80" rx="50" ry="50" fill="#ffe6cc" stroke="#d79b00" pointer-events="all"/><path d="M 721.22 85.1 C 721.22 100.32 738.58 112.65 760 112.65 C 781.42 112.65 798.78 100.32 798.78 85.1" fill="none" stroke="#d79b00" stroke-width="2.04" stroke-miterlimit="10" pointer-events="all"/><rect x="710" y="30" width="0" height="0" fill="none" stroke="#d79b00" pointer-events="all"/><path d="M 726.33 82.04 L 716.12 88.16" fill="#ffe6cc" stroke="#d79b00" stroke-miterlimit="10" pointer-events="all"/><path d="M 793.67 82.04 L 803.88 88.16" fill="#ffe6cc" stroke="#d79b00" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="737.55" cy="65.71" rx="3.0612244897959187" ry="8.16326530612245" fill="#ffe6cc" stroke="#d79b00" stroke-width="6.12" pointer-events="all"/><ellipse cx="782.45" cy="65.71" rx="3.0612244897959187" ry="8.16326530612245" fill="#ffe6cc" stroke="#d79b00" stroke-width="6.12" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 98px; height: 1px; padding-top: 137px; margin-left: 711px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">style_04</div></div></div></foreignObject><text x="760" y="149" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">style_04</text></switch></g><rect x="880" y="60" width="200" height="40" fill="#fff2cc" stroke="none" pointer-events="all"/><path d="M 880 60 M 1080 60 M 1080 100 L 880 100" fill="none" stroke="#d6b656" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 80px; margin-left: 881px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">style_05</div></div></div></foreignObject><text x="980" y="84" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">style_05</text></switch></g><ellipse cx="1200" cy="80" rx="50" ry="50" fill="#f8cecc" stroke="#b85450" pointer-events="all"/><path d="M 1161.22 85.1 C 1161.22 100.32 1178.58 112.65 1200 112.65 C 1221.42 112.65 1238.78 100.32 1238.78 85.1" fill="none" stroke="#b85450" stroke-width="2.04" stroke-miterlimit="10" pointer-events="all"/><rect x="1150" y="30" width="0" height="0" fill="none" stroke="#b85450" pointer-events="all"/><path d="M 1166.33 82.04 L 1156.12 88.16" fill="#f8cecc" stroke="#b85450" stroke-miterlimit="10" pointer-events="all"/><path d="M 1233.67 82.04 L 1243.88 88.16" fill="#f8cecc" stroke="#b85450" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="1177.55" cy="65.71" rx="3.0612244897959187" ry="8.16326530612245" fill="#f8cecc" stroke="#b85450" stroke-width="6.12" pointer-events="all"/><ellipse cx="1222.45" cy="65.71" rx="3.0612244897959187" ry="8.16326530612245" fill="#f8cecc" stroke="#b85450" stroke-width="6.12" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 98px; height: 1px; padding-top: 137px; margin-left: 1151px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">style_06</div></div></div></foreignObject><text x="1200" y="149" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">style_06</text></switch></g><ellipse cx="1420" cy="61.25" rx="7.5" ry="6.25" fill="#e1d5e7" stroke="#9673a6" pointer-events="all"/><path d="M 1420 67.5 L 1420 88.33 M 1420 71.67 L 1405 71.67 M 1420 71.67 L 1435 71.67 M 1420 88.33 L 1405 105 M 1420 88.33 L 1435 105" fill="none" stroke="#9673a6" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 130px; margin-left: 1406px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">style_07</div></div></div></foreignObject><text x="1420" y="134" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">style...</text></switch></g><path d="M 1720 50 L 1720 22.5 Q 1720 0 1697.5 0 L 1582.5 0 Q 1560 0 1560 22.5 L 1560 50" fill="#60a917" stroke="#2d7600" stroke-miterlimit="10" pointer-events="all"/><path d="M 1560 50 L 1560 137.5 Q 1560 160 1582.5 160 L 1697.5 160 Q 1720 160 1720 137.5 L 1720 50" fill="none" stroke="#2d7600" stroke-miterlimit="10" pointer-events="none"/><path d="M 1560 50 L 1720 50" fill="none" stroke="#2d7600" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 25px; margin-left: 1561px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; overflow-wrap: normal;">style_08</div></div></div></foreignObject><text x="1640" y="29" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">style_08</text></switch></g><rect x="25" y="280" width="150" height="40" fill="#008a00" stroke="none" pointer-events="none"/><path d="M 25 280 M 175 280 M 175 320 M 25 320" fill="none" stroke="#005700" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 142px; height: 1px; padding-top: 300px; margin-left: 33px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 36px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_09</div></div></div></foreignObject><text x="33" y="304" fill="#ffffff" font-family="Helvetica" font-size="12px">style_09</text></switch></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 98px; height: 1px; padding-top: 282px; margin-left: 272px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; overflow-wrap: normal;">style_10</div></div></div></foreignObject><text x="272" y="298" fill="#FFFFFF" font-family="Helvetica" font-size="16px" font-weight="bold">style_10</text></switch></g><rect x="440" y="240" width="200" height="120" rx="18" ry="18" fill="#0050ef" stroke="#001dbc" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 300px; margin-left: 441px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_11</div></div></div></foreignObject><text x="540" y="304" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">style_11</text></switch></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 98px; height: 1px; padding-top: 282px; margin-left: 712px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 28px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; overflow-wrap: normal;">style_12</div></div></div></foreignObject><text x="712" y="310" fill="#FFFFFF" font-family="Helvetica" font-size="28px" font-weight="bold">style_12</text></switch></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 98px; height: 1px; padding-top: 282px; margin-left: 932px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 50px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; overflow-wrap: normal;">style_13</div></div></div></foreignObject><text x="932" y="332" fill="#FFFFFF" font-family="Helvetica" font-size="50px" font-weight="bold">styl...</text></switch></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 98px; height: 1px; padding-top: 282px; margin-left: 1152px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 28px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; overflow-wrap: normal;">style_14</div></div></div></foreignObject><text x="1152" y="310" fill="#FFFFFF" font-family="Helvetica" font-size="28px" font-weight="bold">style_14</text></switch></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 98px; height: 1px; padding-top: 282px; margin-left: 1372px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; overflow-wrap: normal;">style_15</div></div></div></foreignObject><text x="1372" y="298" fill="#FFFFFF" font-family="Helvetica" font-size="16px" font-weight="bold">style_15</text></switch></g><path d="M 1565 270 L 1583.6 247.68 Q 1590 240 1600 240 L 1680 240 Q 1690 240 1696.4 247.68 L 1733.6 292.32 Q 1740 300 1733.6 307.68 L 1696.4 352.32 Q 1690 360 1680 360 L 1600 360 Q 1590 360 1583.6 352.32 L 1546.4 307.68 Q 1540 300 1546.4 292.32 Z" fill="#e51400" stroke="#b20000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 300px; margin-left: 1541px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_16</div></div></div></foreignObject><text x="1640" y="304" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">style_16</text></switch></g><path d="M 75 495 L 89.58 495 L 100 509.8 L 110.42 495 L 125 495 L 107.29 520 L 125 545 L 110.42 545 L 100 530.2 L 89.58 545 L 75 545 L 91.67 520 Z" fill="#fa6800" stroke="#c73500" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 48px; height: 1px; padding-top: 552px; margin-left: 76px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_17</div></div></div></foreignObject><text x="100" y="564" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">style_17</text></switch></g><ellipse cx="320" cy="520" rx="50" ry="50" fill="#f0a30a" stroke="#bd7000" pointer-events="none"/><path d="M 281.22 525.1 C 281.22 534.95 288.62 544.04 300.61 548.96 C 312.61 553.88 327.39 553.88 339.39 548.96 C 351.38 544.04 358.78 534.95 358.78 525.1" fill="none" stroke="#bd7000" stroke-width="2.04" stroke-miterlimit="10" pointer-events="none"/><rect x="270" y="470" width="0" height="0" fill="none" stroke="#bd7000" pointer-events="none"/><path d="M 286.33 522.04 L 276.12 528.16" fill="#f0a30a" stroke="#bd7000" stroke-miterlimit="10" pointer-events="none"/><path d="M 353.67 522.04 L 363.88 528.16" fill="#f0a30a" stroke="#bd7000" stroke-miterlimit="10" pointer-events="none"/><ellipse cx="297.55" cy="505.71" rx="3.0612244897959187" ry="8.16326530612245" fill="#f0a30a" stroke="#bd7000" stroke-width="6.12" pointer-events="none"/><ellipse cx="342.45" cy="505.71" rx="3.0612244897959187" ry="8.16326530612245" fill="#f0a30a" stroke="#bd7000" stroke-width="6.12" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 98px; height: 1px; padding-top: 577px; margin-left: 271px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_18</div></div></div></foreignObject><text x="320" y="589" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">style_18</text></switch></g><rect x="440" y="460" width="200" height="120" rx="18" ry="18" fill="#e3c800" stroke="#b09500" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 520px; margin-left: 441px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_19</div></div></div></foreignObject><text x="540" y="524" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">style_19</text></switch></g><rect x="680" y="440" width="160" height="160" rx="24" ry="24" fill="#6d8764" stroke="#3a5431" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 162px; height: 160px; padding-top: 440px; margin-left: 680px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: left; width: 160px; height: 160px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; width: 100%; height: 100%; white-space: normal; overflow-wrap: normal;">style_20</div></div></div></foreignObject><text x="680" y="524" fill="#ffffff" font-family="Helvetica" font-size="12px">style_20</text></switch></g><path d="M 940 480 C 908 480 900 520 925.6 528 C 900 545.6 928.8 584 949.6 568 C 964 600 1012 600 1028 568 C 1060 568 1060 536 1040 520 C 1060 488 1028 456 1000 472 C 980 448 948 448 940 480 Z" fill="#647687" stroke="#314354" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 520px; margin-left: 901px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_21</div></div></div></foreignObject><text x="980" y="524" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">style_21</text></switch></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 98px; height: 1px; padding-top: 502px; margin-left: 1152px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 28px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; overflow-wrap: normal;">style_22</div></div></div></foreignObject><text x="1152" y="530" fill="#FFFFFF" font-family="Helvetica" font-size="28px" font-weight="bold">style_22</text></switch></g><ellipse cx="1420" cy="520" rx="50" ry="50" fill="#a0522d" stroke="#6d1f00" pointer-events="none"/><path d="M 1381.22 525.1 C 1381.22 540.32 1398.58 552.65 1420 552.65 C 1441.42 552.65 1458.78 540.32 1458.78 525.1" fill="none" stroke="#6d1f00" stroke-width="2.04" stroke-miterlimit="10" pointer-events="none"/><rect x="1370" y="470" width="0" height="0" fill="none" stroke="#6d1f00" pointer-events="none"/><path d="M 1386.33 522.04 L 1376.12 528.16" fill="#a0522d" stroke="#6d1f00" stroke-miterlimit="10" pointer-events="none"/><path d="M 1453.67 522.04 L 1463.88 528.16" fill="#a0522d" stroke="#6d1f00" stroke-miterlimit="10" pointer-events="none"/><ellipse cx="1397.55" cy="505.71" rx="3.0612244897959187" ry="8.16326530612245" fill="#a0522d" stroke="#6d1f00" stroke-width="6.12" pointer-events="none"/><ellipse cx="1442.45" cy="505.71" rx="3.0612244897959187" ry="8.16326530612245" fill="#a0522d" stroke="#6d1f00" stroke-width="6.12" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 98px; height: 1px; padding-top: 577px; margin-left: 1371px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_23</div></div></div></foreignObject><text x="1420" y="589" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">style_23</text></switch></g><rect x="1560" y="440" width="160" height="160" rx="24" ry="24" fill="#fad7ac" stroke="#b46504" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 162px; height: 160px; padding-top: 440px; margin-left: 1560px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: left; width: 160px; height: 160px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: none; width: 100%; height: 100%; white-space: normal; overflow-wrap: normal;">style_24</div></div></div></foreignObject><text x="1560" y="524" fill="#333333" font-family="Helvetica" font-size="12px">style_24</text></switch></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 98px; height: 1px; padding-top: 722px; margin-left: 52px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 50px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; overflow-wrap: normal;">style_25</div></div></div></foreignObject><text x="52" y="772" fill="#FFFFFF" font-family="Helvetica" font-size="50px" font-weight="bold">styl...</text></switch></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 98px; height: 1px; padding-top: 722px; margin-left: 272px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; overflow-wrap: normal;">style_26</div></div></div></foreignObject><text x="272" y="738" fill="#FFFFFF" font-family="Helvetica" font-size="16px" font-weight="bold">style_26</text></switch></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 98px; height: 1px; padding-top: 722px; margin-left: 492px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 21px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; overflow-wrap: normal;">style_27</div></div></div></foreignObject><text x="492" y="743" fill="#FFFFFF" font-family="Helvetica" font-size="21px" font-weight="bold">style_27</text></switch></g><path d="M 838.38 682.86 L 838.38 820 L 680 820 L 680 660 L 815.76 660 Z" fill="#d0cee2" stroke="#56517e" stroke-miterlimit="10" pointer-events="none"/><path d="M 815.76 660 C 817.6 665.35 814.57 670.86 807.68 674.69 L 840 684 Z" fill="#d0cee2" stroke="#56517e" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 740px; margin-left: 681px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_28</div></div></div></foreignObject><text x="760" y="744" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">style_28</text></switch></g><ellipse cx="980" cy="740" rx="100" ry="60" fill="#bac8d3" stroke="#23445d" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 740px; margin-left: 881px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_29</div></div></div></foreignObject><text x="980" y="744" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">style_29</text></switch></g><rect x="1050" y="710" width="300" height="60" rx="9" ry="9" fill="#f5f5f5" stroke="#666666" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 740px; margin-left: 1051px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_30</div></div></div></foreignObject><text x="1200" y="744" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">style_30</text></switch></g><rect x="1340" y="660" width="160" height="160" rx="24" ry="24" fill="#dae8fc" stroke="#6c8ebf" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 162px; height: 160px; padding-top: 660px; margin-left: 1340px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: left; width: 160px; height: 160px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; width: 100%; height: 100%; white-space: normal; overflow-wrap: normal;">style_31</div></div></div></foreignObject><text x="1340" y="744" fill="#000000" font-family="Helvetica" font-size="12px">style_31</text></switch></g><rect x="1540" y="720" width="200" height="40" fill="#d5e8d4" stroke="none" pointer-events="none"/><path d="M 1540 720 M 1740 720 M 1740 760 L 1540 760" fill="none" stroke="#82b366" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 740px; margin-left: 1541px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_32</div></div></div></foreignObject><text x="1640" y="744" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">style_32</text></switch></g><path d="M 60 920 C 28 920 20 960 45.6 968 C 20 985.6 48.8 1024 69.6 1008 C 84 1040 132 1040 148 1008 C 180 1008 180 976 160 960 C 180 928 148 896 120 912 C 100 888 68 888 60 920 Z" fill="#ffcd28" stroke="#d79b00" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 960px; margin-left: 21px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_33</div></div></div></foreignObject><text x="100" y="964" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">style_33</text></switch></g><path d="M 400 930 L 400 902.5 Q 400 880 377.5 880 L 262.5 880 Q 240 880 240 902.5 L 240 930" fill="#fff2cc" stroke="#d6b656" stroke-miterlimit="10" pointer-events="none"/><path d="M 240 930 L 240 1017.5 Q 240 1040 262.5 1040 L 377.5 1040 Q 400 1040 400 1017.5 L 400 930" fill="none" stroke="#d6b656" stroke-miterlimit="10" pointer-events="none"/><path d="M 240 930 L 400 930" fill="none" stroke="#d6b656" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 905px; margin-left: 241px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; overflow-wrap: normal;">style_34</div></div></div></foreignObject><text x="320" y="909" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">style_34</text></switch></g><ellipse cx="540" cy="960" rx="80" ry="80" fill="#f8cecc" stroke="#b85450" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 960px; margin-left: 461px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_35</div></div></div></foreignObject><text x="540" y="964" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">style_35</text></switch></g><path d="M 710 960 L 710 920 Q 710 910 718.94 914.47 L 801.06 955.53 Q 810 960 801.06 964.47 L 718.94 1005.53 Q 710 1010 710 1000 Z" fill="#e6d0de" stroke="#996185" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 98px; height: 1px; padding-top: 960px; margin-left: 711px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_36</div></div></div></foreignObject><text x="760" y="964" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">style_36</text></switch></g><ellipse cx="980" cy="960" rx="80" ry="80" fill="#eeeeee" stroke="#36393d" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 960px; margin-left: 901px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_37</div></div></div></foreignObject><text x="980" y="964" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">style_37</text></switch></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 98px; height: 1px; padding-top: 942px; margin-left: 1152px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 67px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; overflow-wrap: normal;">style_38</div></div></div></foreignObject><text x="1152" y="1009" fill="#FFFFFF" font-family="Helvetica" font-size="67px" font-weight="bold">sty...</text></switch></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 98px; height: 1px; padding-top: 942px; margin-left: 1372px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 67px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; overflow-wrap: normal;">style_39</div></div></div></foreignObject><text x="1372" y="1009" fill="#FFFFFF" font-family="Helvetica" font-size="67px" font-weight="bold">sty...</text></switch></g><rect x="1535" y="855" width="210" height="210" rx="31.5" ry="31.5" fill="#cce5ff" stroke="#36393d" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 208px; height: 1px; padding-top: 862px; margin-left: 1536px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_40</div></div></div></foreignObject><text x="1640" y="882" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">style_40</text></switch></g><path d="M 20 1165 L 20 1130 Q 20 1120 30 1120 L 170 1120 Q 180 1120 180 1130 L 180 1200 Q 180 1210 170 1210 L 130 1210 Q 120 1210 114.45 1218.32 L 100 1240 L 100 1220 Q 100 1210 90 1210 L 30 1210 Q 20 1210 20 1200 Z" fill="#ffff88" stroke="#36393d" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 1165px; margin-left: 21px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_41</div></div></div></foreignObject><text x="100" y="1169" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">style_41</text></switch></g><path d="M 240 1206.67 L 240 1153.33 C 240 1145.97 275.82 1140 320 1140 C 364.18 1140 400 1145.97 400 1153.33 L 400 1206.67 C 400 1214.03 364.18 1220 320 1220 C 275.82 1220 240 1214.03 240 1206.67 Z" fill="#cdeb8b" stroke="#36393d" stroke-miterlimit="10" pointer-events="none"/><path d="M 240 1153.33 C 240 1160.7 275.82 1166.67 320 1166.67 C 364.18 1166.67 400 1160.7 400 1153.33" fill="none" stroke="#36393d" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 1180px; margin-left: 241px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_42</div></div></div></foreignObject><text x="320" y="1184" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">style_42</text></switch></g><rect x="515" y="1160" width="50" height="40" fill="#ffcccc" stroke="none" pointer-events="none"/><path d="M 515 1160 M 565 1160 M 565 1200 M 515 1200" fill="none" stroke="#36393d" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 48px; height: 1px; padding-top: 1180px; margin-left: 516px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 36px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; overflow-wrap: normal;">style_43</div></div></div></foreignObject><text x="540" y="1184" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">style_43</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
3
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1859px" height="1262px" viewBox="-0.5 -0.5 1859 1262"><defs/><g><rect x="20" y="0" width="160" height="160" rx="24" ry="24" fill="#f5f5f5" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 80px; margin-left: 21px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">style_01</div></div></div></foreignObject><text x="100" y="84" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">style_01</text></switch></g><path d="M 240 30 L 400 30 L 400 130 L 240 130 Z" fill="#dae8fc" stroke="#6c8ebf" stroke-miterlimit="10" pointer-events="all"/><path d="M 240 30 L 320 80 L 400 30" fill="none" stroke="#6c8ebf" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 80px; margin-left: 241px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">style_02</div></div></div></foreignObject><text x="320" y="84" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">style_02</text></switch></g><path d="M 620 50 L 620 22.5 Q 620 0 597.5 0 L 482.5 0 Q 460 0 460 22.5 L 460 50" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><path d="M 460 50 L 460 137.5 Q 460 160 482.5 160 L 597.5 160 Q 620 160 620 137.5 L 620 50" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><path d="M 460 50 L 620 50" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 25px; margin-left: 461px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; overflow-wrap: normal;">style_03</div></div></div></foreignObject><text x="540" y="29" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">style_03</text></switch></g><path d="M 930 80 L 930 40 Q 930 30 938.94 34.47 L 1021.06 75.53 Q 1030 80 1021.06 84.47 L 938.94 125.53 Q 930 130 930 120 Z" fill="#fff2cc" stroke="#d6b656" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 98px; height: 1px; padding-top: 80px; margin-left: 931px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_05</div></div></div></foreignObject><text x="980" y="84" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">style_05</text></switch></g><path d="M 1280 50 L 1280 22.5 Q 1280 0 1257.5 0 L 1142.5 0 Q 1120 0 1120 22.5 L 1120 50" fill="#f8cecc" stroke="#b85450" stroke-miterlimit="10" pointer-events="none"/><path d="M 1120 50 L 1120 137.5 Q 1120 160 1142.5 160 L 1257.5 160 Q 1280 160 1280 137.5 L 1280 50" fill="none" stroke="#b85450" stroke-miterlimit="10" pointer-events="none"/><path d="M 1120 50 L 1280 50" fill="none" stroke="#b85450" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 25px; margin-left: 1121px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; overflow-wrap: normal;">style_06</div></div></div></foreignObject><text x="1200" y="29" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">style_06</text></switch></g><path d="M 1340 93.33 L 1340 66.67 C 1340 62.98 1375.82 60 1420 60 C 1464.18 60 1500 62.98 1500 66.67 L 1500 93.33 C 1500 97.02 1464.18 100 1420 100 C 1375.82 100 1340 97.02 1340 93.33 Z" fill="#e1d5e7" stroke="#9673a6" stroke-miterlimit="10" pointer-events="none"/><path d="M 1340 66.67 C 1340 70.35 1375.82 73.33 1420 73.33 C 1464.18 73.33 1500 70.35 1500 66.67" fill="none" stroke="#9673a6" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 80px; margin-left: 1341px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_07</div></div></div></foreignObject><text x="1420" y="84" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">style_07</text></switch></g><path d="M 1560 93.33 L 1560 66.67 C 1560 62.98 1595.82 60 1640 60 C 1684.18 60 1720 62.98 1720 66.67 L 1720 93.33 C 1720 97.02 1684.18 100 1640 100 C 1595.82 100 1560 97.02 1560 93.33 Z" fill="#60a917" stroke="#2d7600" stroke-miterlimit="10" pointer-events="none"/><path d="M 1560 66.67 C 1560 70.35 1595.82 73.33 1640 73.33 C 1684.18 73.33 1720 70.35 1720 66.67" fill="none" stroke="#2d7600" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 80px; margin-left: 1561px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_08</div></div></div></foreignObject><text x="1640" y="84" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">style_08</text></switch></g><path d="M 240 250 L 400 250 L 400 350 L 240 350 Z" fill="#1ba1e2" stroke="#006eaf" stroke-miterlimit="10" pointer-events="none"/><path d="M 240 250 L 320 300 L 400 250" fill="none" stroke="#006eaf" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 300px; margin-left: 241px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_10</div></div></div></foreignObject><text x="320" y="304" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">style_10</text></switch></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 98px; height: 1px; padding-top: 282px; margin-left: 712px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 21px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; overflow-wrap: normal;">style_12</div></div></div></foreignObject><text x="712" y="303" fill="#FFFFFF" font-family="Helvetica" font-size="21px" font-weight="bold">style_12</text></switch></g><path d="M 900 250 L 1060 250 L 1060 350 L 900 350 Z" fill="#aa00ff" stroke="#7700cc" stroke-miterlimit="10" pointer-events="none"/><path d="M 900 250 L 980 300 L 1060 250" fill="none" stroke="#7700cc" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 300px; margin-left: 901px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_13</div></div></div></foreignObject><text x="980" y="304" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">style_13</text></switch></g><rect x="1340" y="220" width="160" height="160" rx="24" ry="24" fill="#a20025" stroke="#6f0000" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 300px; margin-left: 1341px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_15</div></div></div></foreignObject><text x="1420" y="304" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">style_15</text></switch></g><rect x="20" y="440" width="160" height="160" rx="24" ry="24" fill="#fa6800" stroke="#c73500" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 520px; margin-left: 21px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_17</div></div></div></foreignObject><text x="100" y="524" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">style_17</text></switch></g><path d="M 261.41 522.87 C 255.53 526.08 248.91 523.21 245.15 515.81 C 241.39 508.4 241.39 498.24 245.15 490.84 C 248.91 483.44 255.53 480.56 261.41 483.78 C 261.37 470.74 266.82 459.03 275.09 454.39 C 283.36 449.75 292.72 453.15 298.58 462.93 C 302.34 449.08 311.45 439.99 321.58 439.99 C 331.72 439.99 340.83 449.08 344.59 462.93 C 350.6 454.95 359.18 452.7 366.7 457.12 C 374.21 461.55 379.37 471.89 379.98 483.78 C 385.87 480.56 392.49 483.44 396.25 490.84 C 400.01 498.24 400.01 508.4 396.25 515.81 C 392.49 523.21 385.87 526.08 379.98 522.87 C 379.34 535.43 373.64 546.2 365.52 550.19 C 357.4 554.17 348.45 550.59 342.82 541.11 C 338.34 552.08 330.28 558.8 321.58 558.8 C 312.89 558.8 304.83 552.08 300.35 541.11 C 296.07 553.77 283.89 559.96 273.14 554.92 C 262.39 549.88 257.14 535.53 261.41 522.87 Z" fill="#f0a30a" stroke="#bd7000" stroke-linejoin="round" stroke-miterlimit="10" pointer-events="none"/><rect x="240" y="440" width="0" height="0" fill="none" stroke="#bd7000" pointer-events="none"/><ellipse cx="266.72" cy="567.17" rx="10.618294436456145" ry="7.0358306188925095" fill="#f0a30a" stroke="#bd7000" pointer-events="none"/><ellipse cx="254.33" cy="584.1" rx="6.724919809755558" ry="4.690553745928339" fill="#f0a30a" stroke="#bd7000" pointer-events="none"/><ellipse cx="244.25" cy="596.61" rx="4.2473177745824575" ry="3.387622149837134" fill="#f0a30a" stroke="#bd7000" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 520px; margin-left: 241px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_18</div></div></div></foreignObject><text x="320" y="524" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">style_18</text></switch></g><ellipse cx="540" cy="520" rx="100" ry="60" fill="#e3c800" stroke="#b09500" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 520px; margin-left: 441px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_19</div></div></div></foreignObject><text x="540" y="524" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">style_19</text></switch></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 98px; height: 1px; padding-top: 502px; margin-left: 712px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 37px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; overflow-wrap: normal;">style_20</div></div></div></foreignObject><text x="712" y="539" fill="#FFFFFF" font-family="Helvetica" font-size="37px" font-weight="bold">style_...</text></switch></g><rect x="1120" y="440" width="160" height="160" rx="24" ry="24" fill="#76608a" stroke="#432d57" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 162px; height: 160px; padding-top: 440px; margin-left: 1120px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: left; width: 160px; height: 160px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; width: 100%; height: 100%; white-space: normal; overflow-wrap: normal;">style_22</div></div></div></foreignObject><text x="1120" y="524" fill="#ffffff" font-family="Helvetica" font-size="12px">style_22</text></switch></g><path d="M 1340 533.33 L 1340 506.67 C 1340 502.98 1375.82 500 1420 500 C 1464.18 500 1500 502.98 1500 506.67 L 1500 533.33 C 1500 537.02 1464.18 540 1420 540 C 1375.82 540 1340 537.02 1340 533.33 Z" fill="#a0522d" stroke="#6d1f00" stroke-miterlimit="10" pointer-events="none"/><path d="M 1340 506.67 C 1340 510.35 1375.82 513.33 1420 513.33 C 1464.18 513.33 1500 510.35 1500 506.67" fill="none" stroke="#6d1f00" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 520px; margin-left: 1341px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_23</div></div></div></foreignObject><text x="1420" y="524" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">style_23</text></switch></g><rect x="1540" y="460" width="200" height="120" rx="18" ry="18" fill="#fad7ac" stroke="#b46504" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 520px; margin-left: 1541px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_24</div></div></div></foreignObject><text x="1640" y="524" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">style_24</text></switch></g><rect x="0" y="680" width="200" height="120" rx="18" ry="18" fill="#fad9d5" stroke="#ae4132" pointer-events="none"/><path d="M 20 680 L 20 800 M 180 680 L 180 800" fill="none" stroke="#ae4132" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 740px; margin-left: 21px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_25</div></div></div></foreignObject><text x="100" y="744" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">style_25</text></switch></g><ellipse cx="760" cy="740" rx="80" ry="80" fill="#d0cee2" stroke="#56517e" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 740px; margin-left: 681px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_28</div></div></div></foreignObject><text x="760" y="744" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">style_28</text></switch></g><path d="M 940 700 C 908 700 900 740 925.6 748 C 900 765.6 928.8 804 949.6 788 C 964 820 1012 820 1028 788 C 1060 788 1060 756 1040 740 C 1060 708 1028 676 1000 692 C 980 668 948 668 940 700 Z" fill="#bac8d3" stroke="#23445d" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 740px; margin-left: 901px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_29</div></div></div></foreignObject><text x="980" y="744" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">style_29</text></switch></g><path d="M 1141.41 742.87 C 1135.53 746.08 1128.91 743.21 1125.15 735.81 C 1121.39 728.4 1121.39 718.24 1125.15 710.84 C 1128.91 703.44 1135.53 700.56 1141.41 703.78 C 1141.37 690.74 1146.82 679.03 1155.09 674.39 C 1163.36 669.75 1172.72 673.15 1178.58 682.93 C 1182.34 669.08 1191.45 659.99 1201.58 659.99 C 1211.72 659.99 1220.83 669.08 1224.59 682.93 C 1230.6 674.95 1239.18 672.7 1246.7 677.12 C 1254.21 681.55 1259.37 691.89 1259.98 703.78 C 1265.87 700.56 1272.49 703.44 1276.25 710.84 C 1280.01 718.24 1280.01 728.4 1276.25 735.81 C 1272.49 743.21 1265.87 746.08 1259.98 742.87 C 1259.34 755.43 1253.64 766.2 1245.52 770.19 C 1237.4 774.17 1228.45 770.59 1222.82 761.11 C 1218.34 772.08 1210.28 778.8 1201.58 778.8 C 1192.89 778.8 1184.83 772.08 1180.35 761.11 C 1176.07 773.77 1163.89 779.96 1153.14 774.92 C 1142.39 769.88 1137.14 755.53 1141.41 742.87 Z" fill="#f5f5f5" stroke="#666666" stroke-linejoin="round" stroke-miterlimit="10" pointer-events="none"/><rect x="1120" y="660" width="0" height="0" fill="none" stroke="#666666" pointer-events="none"/><ellipse cx="1146.72" cy="787.17" rx="10.618294436456145" ry="7.0358306188925095" fill="#f5f5f5" stroke="#666666" pointer-events="none"/><ellipse cx="1134.33" cy="804.1" rx="6.724919809755558" ry="4.690553745928339" fill="#f5f5f5" stroke="#666666" pointer-events="none"/><ellipse cx="1124.25" cy="816.61" rx="4.2473177745824575" ry="3.387622149837134" fill="#f5f5f5" stroke="#666666" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 740px; margin-left: 1121px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_30</div></div></div></foreignObject><text x="1200" y="744" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">style_30</text></switch></g><rect x="1395" y="720" width="50" height="40" fill="#dae8fc" stroke="none" pointer-events="none"/><path d="M 1395 720 M 1445 720 M 1445 760 M 1395 760" fill="none" stroke="#6c8ebf" stroke-linecap="square" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 48px; height: 1px; padding-top: 740px; margin-left: 1396px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 36px; overflow: hidden;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; overflow-wrap: normal;">style_31</div></div></div></foreignObject><text x="1420" y="744" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">style_31</text></switch></g><path d="M 1615.21 749.19 C 1615.75 747.5 1617.08 746.08 1618.89 745.3 C 1620.7 744.52 1622.81 744.44 1624.69 745.09 C 1627.43 746.24 1629.55 748.26 1630.62 750.72 C 1635.5 738.7 1642.94 727.58 1652.54 717.92 C 1655.26 715.78 1659.07 715 1662.61 715.87 C 1663.51 715.99 1664.28 716.51 1664.64 717.24 C 1665 717.96 1664.9 718.8 1664.38 719.45 C 1651.34 732.2 1641.64 747.24 1635.95 763.54 C 1632.59 765 1628.64 765 1625.28 763.54 C 1622.75 758.67 1619.35 754.17 1615.21 750.21 C 1615 749.89 1615 749.5 1615.21 749.19 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 48px; height: 1px; padding-top: 772px; margin-left: 1616px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_32</div></div></div></foreignObject><text x="1640" y="784" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">style_32</text></switch></g><path d="M 400 903 L 400 890.35 Q 400 880 389.65 880 L 250.35 880 Q 240 880 240 890.35 L 240 903" fill="#fff2cc" stroke="#d6b656" stroke-miterlimit="10" pointer-events="none"/><path d="M 240 903 L 240 1029.65 Q 240 1040 250.35 1040 L 389.65 1040 Q 400 1040 400 1029.65 L 400 903" fill="none" stroke="#d6b656" stroke-miterlimit="10" pointer-events="none"/><path d="M 240 903 L 400 903" fill="none" stroke="#d6b656" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 892px; margin-left: 241px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; overflow-wrap: normal;">style_34</div></div></div></foreignObject><text x="320" y="895" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">style_34</text></switch></g><path d="M 481.41 962.87 C 475.53 966.08 468.91 963.21 465.15 955.81 C 461.39 948.4 461.39 938.24 465.15 930.84 C 468.91 923.44 475.53 920.56 481.41 923.78 C 481.37 910.74 486.82 899.03 495.09 894.39 C 503.36 889.75 512.72 893.15 518.58 902.93 C 522.34 889.08 531.45 879.99 541.58 879.99 C 551.72 879.99 560.83 889.08 564.59 902.93 C 570.6 894.95 579.18 892.7 586.7 897.12 C 594.21 901.55 599.37 911.89 599.98 923.78 C 605.87 920.56 612.49 923.44 616.25 930.84 C 620.01 938.24 620.01 948.4 616.25 955.81 C 612.49 963.21 605.87 966.08 599.98 962.87 C 599.34 975.43 593.64 986.2 585.52 990.19 C 577.4 994.17 568.45 990.59 562.82 981.11 C 558.34 992.08 550.28 998.8 541.58 998.8 C 532.89 998.8 524.83 992.08 520.35 981.11 C 516.07 993.77 503.89 999.96 493.14 994.92 C 482.39 989.88 477.14 975.53 481.41 962.87 Z" fill="#f8cecc" stroke="#b85450" stroke-linejoin="round" stroke-miterlimit="10" pointer-events="none"/><rect x="460" y="880" width="0" height="0" fill="none" stroke="#b85450" pointer-events="none"/><ellipse cx="486.72" cy="1007.17" rx="10.618294436456145" ry="7.0358306188925095" fill="#f8cecc" stroke="#b85450" pointer-events="none"/><ellipse cx="474.33" cy="1024.1" rx="6.724919809755558" ry="4.690553745928339" fill="#f8cecc" stroke="#b85450" pointer-events="none"/><ellipse cx="464.25" cy="1036.61" rx="4.2473177745824575" ry="3.387622149837134" fill="#f8cecc" stroke="#b85450" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 960px; margin-left: 461px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_35</div></div></div></foreignObject><text x="540" y="964" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">style_35</text></switch></g><ellipse cx="760" cy="941.25" rx="7.5" ry="6.25" fill="#e6d0de" stroke="#996185" pointer-events="none"/><path d="M 760 947.5 L 760 968.33 M 760 951.67 L 745 951.67 M 760 951.67 L 775 951.67 M 760 968.33 L 745 985 M 760 968.33 L 775 985" fill="none" stroke="#996185" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 1010px; margin-left: 746px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_36</div></div></div></foreignObject><text x="760" y="1014" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">style...</text></switch></g><path d="M 1180 985 C 1180 965 1180 955 1200 955 C 1186.67 955 1186.67 935 1200 935 C 1213.33 935 1213.33 955 1200 955 C 1220 955 1220 965 1220 985 Z" fill="#f9f7ed" stroke="#36393d" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 960px; margin-left: 1181px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_38</div></div></div></foreignObject><text x="1200" y="964" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">style_...</text></switch></g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 98px; height: 1px; padding-top: 942px; margin-left: 1592px;"><div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 67px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; overflow-wrap: normal;">style_40</div></div></div></foreignObject><text x="1592" y="1009" fill="#FFFFFF" font-family="Helvetica" font-size="67px" font-weight="bold">sty...</text></switch></g><ellipse cx="320" cy="1180" rx="100" ry="60" fill="#cdeb8b" stroke="#36393d" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 1180px; margin-left: 221px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; white-space: normal; overflow-wrap: normal;">style_42</div></div></div></foreignObject><text x="320" y="1184" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">style_42</text></switch></g><path d="M 620 1123 L 620 1110.35 Q 620 1100 609.65 1100 L 470.35 1100 Q 460 1100 460 1110.35 L 460 1123" fill="#ffcccc" stroke="#36393d" stroke-miterlimit="10" pointer-events="none"/><path d="M 460 1123 L 460 1249.65 Q 460 1260 470.35 1260 L 609.65 1260 Q 620 1260 620 1249.65 L 620 1123" fill="none" stroke="#36393d" stroke-miterlimit="10" pointer-events="none"/><path d="M 460 1123 L 620 1123" fill="none" stroke="#36393d" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 1112px; margin-left: 461px;"><div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: none; font-weight: bold; white-space: normal; overflow-wrap: normal;">style_43</div></div></div></foreignObject><text x="540" y="1115" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">style_43</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
@@ -211,14 +211,49 @@ module DrawioDsl
211
211
  class Connector
212
212
  attr_reader :source_config
213
213
 
214
- XyConfig = Struct.new(:x, :y, keyword_init: true)
214
+ class CompassPoint
215
+ attr_reader :x
216
+ attr_reader :y
217
+
218
+ def initialize(x, y)
219
+ @x = x
220
+ @y = y
221
+ end
222
+
223
+ # should this be start/end
224
+ def exit_modifiers
225
+ "exitX=#{x};exitY=#{y};exitDx=0;exitDy=0"
226
+ end
227
+
228
+ def entry_modifiers
229
+ "entryX=#{x};entryY=#{y};entryDx=0;entryDy=0"
230
+ end
231
+ end
232
+
233
+ class Arrow
234
+ attr_reader :image
235
+ attr_reader :fill
236
+
237
+ def initialize(image, fill)
238
+ @image = image
239
+ @fill = fill
240
+ end
241
+
242
+ def start_modifiers
243
+ "startArrow=#{image};startFill=#{fill}"
244
+ end
245
+
246
+ def end_modifiers
247
+ "endArrow=#{image};endFill=#{fill}"
248
+ end
249
+ end
215
250
 
216
251
  def initialize(source_config)
217
252
  @source_config = source_config
218
253
  end
219
254
 
220
255
  def compass_point(key)
221
- compass_points[key] || XyConfig.new(x: 0, y: 0)
256
+ compass_points[key] || CompassPoint.new(0, 0)
222
257
  end
223
258
 
224
259
  def compass_points
@@ -226,7 +261,7 @@ module DrawioDsl
226
261
 
227
262
  @compass_points = {}
228
263
  source_config['compass_points'].each do |compass_point|
229
- @compass_points[compass_point['key'].to_sym] = XyConfig.new(x: compass_point['x'], y: compass_point['y'])
264
+ @compass_points[compass_point['key'].to_sym] = CompassPoint.new(compass_point['x'], compass_point['y'])
230
265
  end
231
266
 
232
267
  @compass_points
@@ -247,8 +282,12 @@ module DrawioDsl
247
282
  @waypoints
248
283
  end
249
284
 
285
+ def random_waypoint_key
286
+ waypoints.keys.sample
287
+ end
288
+
250
289
  def arrow(key)
251
- arrows[key] || 'open'
290
+ arrows[key] || Arrow.new('open', 1)
252
291
  end
253
292
 
254
293
  def arrows
@@ -256,12 +295,20 @@ module DrawioDsl
256
295
 
257
296
  @arrows = {}
258
297
  source_config['arrows'].each do |arrow|
259
- @arrows[arrow['key'].to_sym] = arrow['style']
298
+ @arrows[arrow['key'].to_sym] = Arrow.new(arrow['image'], arrow['fill'])
260
299
  end
261
300
 
262
301
  @arrows
263
302
  end
264
303
 
304
+ def arrow_keys
305
+ arrows.keys
306
+ end
307
+
308
+ def random_arrow_key
309
+ arrows.keys.sample
310
+ end
311
+
265
312
  def design(key)
266
313
  designs[key] || ''
267
314
  end
@@ -23,6 +23,7 @@ module DrawioDsl
23
23
  shape=partialRectangle;right=0;left=0
24
24
  ]
25
25
 
26
+ puts 33
26
27
  return false if style.empty?
27
28
  return false if ban.include?(style)
28
29
 
@@ -11,6 +11,7 @@ require_relative 'layouts/layout'
11
11
  require_relative 'layouts/flex_layout'
12
12
  require_relative 'layouts/grid_layout'
13
13
 
14
+ require_relative 'style_builder'
14
15
  require_relative 'shape'
15
16
  require_relative 'element'
16
17
  require_relative 'line'
@@ -14,9 +14,8 @@ module DrawioDsl
14
14
  # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
15
15
  def initialize(**args)
16
16
  @host = args[:host] || SecureRandom.alphanumeric(3)
17
- # TODO: assess and resolve this inconsistency
18
- @theme = args[:theme] || KConfig.configuration.drawio.theme.random_background_key
19
- @bg_theme = args[:bg_theme] || :not_set
17
+ @theme = args[:theme] || :style_02
18
+ @bg_theme = args[:bg_theme] || :snow
20
19
 
21
20
  @style = DrawioDsl::Schema::CommonStyle.new(**args) do
22
21
  default_style = KConfig.configuration.drawio.base_style
@@ -7,47 +7,57 @@ module DrawioDsl
7
7
  class << self
8
8
  attr_reader :default_stroke
9
9
  attr_reader :default_design
10
+ attr_reader :default_waypoint
10
11
 
11
- def configure_as(key, stroke: nil, design: nil)
12
+ def configure_as(key, stroke: nil, design: nil, waypoint: :straight)
12
13
  configure_shape(key, :line)
14
+
13
15
  @default_stroke = stroke
14
16
  @default_design = design
17
+ @default_waypoint = waypoint
15
18
  end
16
19
  end
17
20
 
18
21
  attr_accessor :source
19
22
  attr_accessor :target
20
- attr_accessor :c1 # compass_point1 = :n, :ne, :e, :se, :s, :sw, :w, :nw
21
- attr_accessor :c2 # compass_point2 = :n, :ne, :e, :se, :s, :sw, :w, :nw
23
+ attr_accessor :exit_point # compass_point1 = :n, :ne, :e, :se, :s, :sw, :w, :nw
24
+ attr_accessor :entry_point # compass_point2 = :n, :ne, :e, :se, :s, :sw, :w, :nw
25
+ attr_accessor :start_arrow
26
+ attr_accessor :end_arrow
22
27
  attr_accessor :stroke
23
28
  attr_accessor :design
29
+ attr_accessor :waypoint
24
30
 
25
- # rubocop:disable Metrics/AbcSize
26
31
  def apply_defaults(args)
27
32
  super(args)
28
33
 
29
34
  @source = args[:source]
30
35
  @target = args[:target]
31
- @c1 = args[:c1] || :nw
32
- @c2 = args[:c2] || :ne
36
+ @exit_point = args[:exit_point] || args[:start_point] || :nw
37
+ @entry_point = args[:entry_point] || args[:end_point] || :ne
38
+ @start_arrow = args[:start_arrow] || :none
39
+ @end_arrow = args[:end_arrow] || :simple
33
40
  @stroke = args[:stroke] || self.class.default_stroke
34
41
  @design = args[:design] || self.class.default_design
42
+ @waypoint = args[:waypoint] || self.class.default_waypoint || :straight
35
43
  @fill_color = args[:fill_color] || theme_palette.fill_color
36
44
  @stroke_color = args[:stroke_color] || theme_palette.stroke_color
37
45
  end
38
- # rubocop:enable Metrics/AbcSize
39
46
 
40
47
  def default_configuration
41
48
  KConfig.configuration.drawio.shape.default_line
42
49
  end
43
50
 
44
- def base_modifiers
45
- return @base_modifiers if defined? @base_modifiers
46
-
47
- stroke_modifiers = KConfig.configuration.drawio.stroke(stroke)
48
- design_modifiers = KConfig.configuration.drawio.connector.design(design)
51
+ def add_base_modifiers
52
+ cfg = KConfig.configuration.drawio
49
53
 
50
- @base_modifiers = [stroke_modifiers, design_modifiers].reject(&:empty?).join(';')
54
+ @style_builder.add(cfg.stroke(stroke))
55
+ @style_builder.add(cfg.connector.waypoint(waypoint))
56
+ @style_builder.add(cfg.connector.design(design))
57
+ @style_builder.add(cfg.connector.compass_point(exit_point).exit_modifiers)
58
+ @style_builder.add(cfg.connector.compass_point(entry_point).entry_modifiers)
59
+ @style_builder.add(cfg.connector.arrow(start_arrow).start_modifiers)
60
+ @style_builder.add(cfg.connector.arrow(end_arrow).end_modifiers)
51
61
  end
52
62
  end
53
63
  end
@@ -52,6 +52,8 @@ module DrawioDsl
52
52
  args[:classification] = :shape
53
53
  super(page, **args)
54
54
 
55
+ @style_builder = DrawioDsl::Schema::StyleBuilder.new
56
+
55
57
  apply_defaults(args)
56
58
 
57
59
  instance_eval(&block) if block_given?
@@ -80,7 +82,7 @@ module DrawioDsl
80
82
  @y = args[:y] || shape_defaults.y
81
83
  @w = args[:w] || shape_defaults.w
82
84
  @h = args[:h] || shape_defaults.h
83
- @style_modifiers = args[:style_modifiers] || shape_defaults.style_modifiers
85
+ @style_modifiers = args[:style_modifiers] || shape_defaults.style_modifiers || ''
84
86
  end
85
87
 
86
88
  def format(key = nil)
@@ -89,21 +91,40 @@ module DrawioDsl
89
91
  end
90
92
 
91
93
  def style
92
- key_values = []
93
- key_values << "whiteSpace=#{white_space}" if white_space
94
- key_values << "html=#{html}" if html
95
- key_values << "rounded=#{rounded}" if rounded
96
- key_values << "shadow=#{shadow}" if shadow
97
- key_values << "sketch=#{sketch}" if sketch
98
- key_values << "glass=#{glass}" if glass
99
- key_values << "fillColor=#{fill_color}" if fill_color
100
- key_values << "strokeColor=#{stroke_color}" if stroke_color
101
- key_values << "fontColor=#{font_color}" if font_color
102
- key_values << "gradient=#{gradient}" if gradient
103
- key_values << base_modifiers unless base_modifiers.empty?
104
- key_values << style_modifiers unless style_modifiers.empty?
105
-
106
- key_values.join(';')
94
+ return @style if defined? @style
95
+
96
+ # key_values = []
97
+ # key_values << "whiteSpace=#{white_space}" if white_space
98
+ # key_values << "html=#{html}" if html
99
+ # key_values << "rounded=#{rounded}" if rounded
100
+ # key_values << "shadow=#{shadow}" if shadow
101
+ # key_values << "sketch=#{sketch}" if sketch
102
+ # key_values << "glass=#{glass}" if glass
103
+ # key_values << "fillColor=#{fill_color}" if fill_color
104
+ # key_values << "strokeColor=#{stroke_color}" if stroke_color
105
+ # key_values << "fontColor=#{font_color}" if font_color
106
+ # key_values << "gradient=#{gradient}" if gradient
107
+
108
+ add_base_modifiers
109
+
110
+ @style_builder.add_kv('whiteSpace', white_space) if white_space
111
+ @style_builder.add_kv('html', html) if html
112
+ @style_builder.add_kv('rounded', rounded) if rounded
113
+ @style_builder.add_kv('shadow', shadow) if shadow
114
+ @style_builder.add_kv('sketch', sketch) if sketch
115
+ @style_builder.add_kv('glass', glass) if glass
116
+ @style_builder.add_kv('fillColor', fill_color) if fill_color
117
+ @style_builder.add_kv('strokeColor', stroke_color) if stroke_color
118
+ @style_builder.add_kv('fontColor', font_color) if font_color
119
+ @style_builder.add_kv('gradient', gradient) if gradient
120
+ @style_builder.add(style_modifiers)
121
+
122
+ # key_values << base_modifiers unless base_modifiers.empty?
123
+ # key_values << style_modifiers unless style_modifiers.empty?
124
+ # @style_builder.add(style_modifiers) unless style_modifiers.empty?
125
+
126
+ # key_values.join(';')
127
+ @style = @style_builder.style
107
128
  end
108
129
  # rubocop:enable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
109
130
 
@@ -142,9 +163,7 @@ module DrawioDsl
142
163
  result
143
164
  end
144
165
 
145
- def base_modifiers
146
- @base_modifiers ||= ''
147
- end
166
+ def add_base_modifiers; end
148
167
 
149
168
  def theme_palette
150
169
  @theme_palette ||= KConfig.configuration.drawio.theme.element(theme)