ghcup-hs/docs/modules_wide.svg
2022-05-23 00:00:57 +02:00

789 lines
40 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (0)
-->
<!-- Title: G Pages: 1 -->
<svg width="1077pt" height="648pt"
viewBox="0.00 0.00 1076.70 648.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(0.62 0.62) rotate(0) translate(4 1043.2)">
<title>G</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-1043.2 1736,-1043.2 1736,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_0</title>
<polygon fill="#000000" fill-opacity="0.058824" stroke="#000000" stroke-opacity="0.058824" points="8,-9.12 8,-989.06 1724,-989.06 1724,-9.12 8,-9.12"/>
<text text-anchor="middle" x="866" y="-973.86" font-family="Times,serif" font-size="14.00">GHCup</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_1</title>
<polygon fill="#000000" fill-opacity="0.058824" stroke="#000000" stroke-opacity="0.058824" points="1032,-324.75 1032,-540.11 1300,-540.11 1300,-324.75 1032,-324.75"/>
<text text-anchor="middle" x="1166" y="-524.91" font-family="Times,serif" font-size="14.00">Download</text>
</g>
<g id="clust3" class="cluster">
<title>cluster_2</title>
<polygon fill="#000000" fill-opacity="0.058824" stroke="#000000" stroke-opacity="0.058824" points="176,-704.19 176,-953.74 1716,-953.74 1716,-704.19 176,-704.19"/>
<text text-anchor="middle" x="946" y="-938.54" font-family="Times,serif" font-size="14.00">OptParse</text>
</g>
<g id="clust4" class="cluster">
<title>cluster_3</title>
<polygon fill="#000000" fill-opacity="0.058824" stroke="#000000" stroke-opacity="0.058824" points="439,-18.23 439,-445.53 972,-445.53 972,-18.23 439,-18.23"/>
<text text-anchor="middle" x="705.5" y="-430.33" font-family="Times,serif" font-size="14.00">Prelude</text>
</g>
<g id="clust5" class="cluster">
<title>cluster_4</title>
<polygon fill="#000000" fill-opacity="0.058824" stroke="#000000" stroke-opacity="0.058824" points="479,-100.27 479,-185.73 656,-185.73 656,-100.27 479,-100.27"/>
<text text-anchor="middle" x="567.5" y="-170.53" font-family="Times,serif" font-size="14.00">File</text>
</g>
<g id="clust6" class="cluster">
<title>cluster_5</title>
<polygon fill="#000000" fill-opacity="0.058824" stroke="#000000" stroke-opacity="0.058824" points="583,-194.85 583,-280.31 801,-280.31 801,-194.85 583,-194.85"/>
<text text-anchor="middle" x="692" y="-265.11" font-family="Times,serif" font-size="14.00">Logger</text>
</g>
<g id="clust7" class="cluster">
<title>cluster_6</title>
<polygon fill="#000000" fill-opacity="0.058824" stroke="#000000" stroke-opacity="0.058824" points="447,-324.75 447,-410.21 517,-410.21 517,-324.75 447,-324.75"/>
<text text-anchor="middle" x="482" y="-395.01" font-family="Times,serif" font-size="14.00">String</text>
</g>
<g id="clust8" class="cluster">
<title>cluster_7</title>
<polygon fill="#000000" fill-opacity="0.058824" stroke="#000000" stroke-opacity="0.058824" points="525,-324.75 525,-410.21 595,-410.21 595,-324.75 525,-324.75"/>
<text text-anchor="middle" x="560" y="-395.01" font-family="Times,serif" font-size="14.00">Version</text>
</g>
<g id="clust9" class="cluster">
<title>cluster_8</title>
<polygon fill="#000000" fill-opacity="0.058824" stroke="#000000" stroke-opacity="0.058824" points="992,-91.16 992,-315.63 1186,-315.63 1186,-91.16 992,-91.16"/>
<text text-anchor="middle" x="1089" y="-300.43" font-family="Times,serif" font-size="14.00">Types</text>
</g>
<g id="clust10" class="cluster">
<title>cluster_9</title>
<polygon fill="#000000" fill-opacity="0.058824" stroke="#000000" stroke-opacity="0.058824" points="1090,-100.27 1090,-280.31 1178,-280.31 1178,-100.27 1090,-100.27"/>
<text text-anchor="middle" x="1134" y="-265.11" font-family="Times,serif" font-size="14.00">JSON</text>
</g>
<g id="clust11" class="cluster">
<title>cluster_10</title>
<polygon fill="#000000" fill-opacity="0.058824" stroke="#000000" stroke-opacity="0.058824" points="443,-454.65 443,-540.11 605,-540.11 605,-454.65 443,-454.65"/>
<text text-anchor="middle" x="524" y="-524.91" font-family="Times,serif" font-size="14.00">Utils</text>
</g>
<!-- u2 -->
<g id="node1" class="node">
<title>u2</title>
<ellipse fill="#ffffbb" stroke="black" stroke-width="2" cx="1097" cy="-484.12" rx="56.59" ry="18"/>
<text text-anchor="middle" x="1097" y="-480.42" font-family="Times,serif" font-size="14.00">Download</text>
</g>
<!-- u13 -->
<g id="node27" class="node">
<title>u13</title>
<ellipse fill="#ffffbb" stroke="black" stroke-width="2" cx="652" cy="-354.12" rx="46.59" ry="18"/>
<text text-anchor="middle" x="652" y="-350.42" font-family="Times,serif" font-size="14.00">Prelude</text>
</g>
<!-- u2&#45;&gt;u13 -->
<g id="edge20" class="edge">
<title>u2&#45;&gt;u13</title>
<path fill="none" stroke="black" d="M1067.21,-468.71C1057.48,-464.6 1046.47,-460.58 1036,-458.12 964.86,-441.38 771.65,-470.02 708,-434.12 687.37,-422.48 672.48,-399.72 663.27,-381.6"/>
<polygon fill="black" stroke="black" points="666.2,-379.63 658.73,-372.12 659.89,-382.65 666.2,-379.63"/>
</g>
<!-- u17 -->
<g id="node30" class="node">
<title>u17</title>
<ellipse fill="#bbffff" stroke="black" stroke-width="0" cx="764" cy="-354.12" rx="46.59" ry="18"/>
<text text-anchor="middle" x="764" y="-350.42" font-family="Times,serif" font-size="14.00">Process</text>
</g>
<!-- u2&#45;&gt;u17 -->
<g id="edge21" class="edge">
<title>u2&#45;&gt;u17</title>
<path fill="none" stroke="black" d="M1066.85,-468.81C1057.18,-464.76 1046.31,-460.74 1036,-458.12 941.97,-434.15 902.41,-483.7 819,-434.12 798.76,-422.08 784.14,-399.36 775.08,-381.36"/>
<polygon fill="black" stroke="black" points="778.07,-379.49 770.62,-371.95 771.74,-382.49 778.07,-379.49"/>
</g>
<!-- u18 -->
<g id="node40" class="node">
<title>u18</title>
<ellipse fill="#ffffbb" stroke="black" stroke-width="0" cx="352" cy="-354.12" rx="45.49" ry="18"/>
<text text-anchor="middle" x="352" y="-350.42" font-family="Times,serif" font-size="14.00">Version</text>
</g>
<!-- u2&#45;&gt;u18 -->
<g id="edge19" class="edge">
<title>u2&#45;&gt;u18</title>
<path fill="none" stroke="black" d="M1067.57,-468.64C1057.76,-464.47 1046.62,-460.43 1036,-458.12 907.14,-430.02 565.59,-482.75 443,-434.12 414.07,-422.64 388.04,-397.83 371.3,-379.05"/>
<polygon fill="black" stroke="black" points="373.9,-376.71 364.72,-371.43 368.61,-381.29 373.9,-376.71"/>
</g>
<!-- u26 -->
<g id="node2" class="node">
<title>u26</title>
<ellipse fill="#bbbbff" stroke="black" stroke-width="0" cx="1153" cy="-354.12" rx="33.29" ry="18"/>
<text text-anchor="middle" x="1153" y="-350.42" font-family="Times,serif" font-size="14.00">Utils</text>
</g>
<!-- u26&#45;&gt;u13 -->
<g id="edge22" class="edge">
<title>u26&#45;&gt;u13</title>
<path fill="none" stroke="black" d="M1137.02,-370.02C1113.54,-392.13 1067.24,-431.15 1019,-446.12 986.95,-456.06 747.01,-461.12 717,-446.12 690.64,-432.94 672.79,-403.39 662.57,-381.32"/>
<polygon fill="black" stroke="black" points="665.74,-379.84 658.52,-372.09 659.33,-382.65 665.74,-379.84"/>
</g>
<!-- u28 -->
<g id="node3" class="node">
<title>u28</title>
<ellipse fill="#bbbbff" stroke="black" stroke-width="0" cx="1232" cy="-484.12" rx="60.39" ry="18"/>
<text text-anchor="middle" x="1232" y="-480.42" font-family="Times,serif" font-size="14.00">IOStreams</text>
</g>
<!-- u28&#45;&gt;u26 -->
<g id="edge23" class="edge">
<title>u28&#45;&gt;u26</title>
<path fill="none" stroke="black" d="M1221.51,-466.12C1207.9,-444.07 1184.06,-405.44 1168.4,-380.07"/>
<polygon fill="black" stroke="black" points="1171.26,-378.05 1163.03,-371.37 1165.31,-381.72 1171.26,-378.05"/>
</g>
<!-- u30 -->
<g id="node4" class="node">
<title>u30</title>
<ellipse fill="#ffffbb" stroke="black" stroke-width="2" cx="938" cy="-898.12" rx="53.89" ry="18"/>
<text text-anchor="middle" x="938" y="-894.42" font-family="Times,serif" font-size="14.00">OptParse</text>
</g>
<!-- u32 -->
<g id="node6" class="node">
<title>u32</title>
<ellipse fill="#ffbbbb" stroke="black" stroke-width="0" cx="781" cy="-816.12" rx="40.09" ry="18"/>
<text text-anchor="middle" x="781" y="-812.42" font-family="Times,serif" font-size="14.00">Install</text>
</g>
<!-- u30&#45;&gt;u32 -->
<g id="edge24" class="edge">
<title>u30&#45;&gt;u32</title>
<path fill="none" stroke="black" d="M909.57,-882.63C883.21,-869.2 843.93,-849.18 815.73,-834.81"/>
<polygon fill="black" stroke="black" points="817.12,-831.59 806.62,-830.17 813.94,-837.83 817.12,-831.59"/>
</g>
<!-- u33 -->
<g id="node7" class="node">
<title>u33</title>
<ellipse fill="#ffbbbb" stroke="black" stroke-width="0" cx="866" cy="-816.12" rx="27" ry="18"/>
<text text-anchor="middle" x="866" y="-812.42" font-family="Times,serif" font-size="14.00">Set</text>
</g>
<!-- u30&#45;&gt;u33 -->
<g id="edge25" class="edge">
<title>u30&#45;&gt;u33</title>
<path fill="none" stroke="black" d="M923.08,-880.54C912.44,-868.71 898,-852.67 886.31,-839.68"/>
<polygon fill="black" stroke="black" points="888.73,-837.14 879.44,-832.05 883.53,-841.83 888.73,-837.14"/>
</g>
<!-- u34 -->
<g id="node8" class="node">
<title>u34</title>
<ellipse fill="#ffbbbb" stroke="black" stroke-width="0" cx="682" cy="-816.12" rx="40.09" ry="18"/>
<text text-anchor="middle" x="682" y="-812.42" font-family="Times,serif" font-size="14.00">UnSet</text>
</g>
<!-- u30&#45;&gt;u34 -->
<g id="edge26" class="edge">
<title>u30&#45;&gt;u34</title>
<path fill="none" stroke="black" d="M898.78,-885.51C857.25,-873.14 789.83,-852.79 732,-834.12 728.9,-833.12 725.7,-832.07 722.49,-831"/>
<polygon fill="black" stroke="black" points="723.48,-827.64 712.89,-827.79 721.26,-834.28 723.48,-827.64"/>
</g>
<!-- u35 -->
<g id="node9" class="node">
<title>u35</title>
<ellipse fill="#ffbbbb" stroke="black" stroke-width="0" cx="938" cy="-816.12" rx="27" ry="18"/>
<text text-anchor="middle" x="938" y="-812.42" font-family="Times,serif" font-size="14.00">Rm</text>
</g>
<!-- u30&#45;&gt;u35 -->
<g id="edge27" class="edge">
<title>u30&#45;&gt;u35</title>
<path fill="none" stroke="black" d="M938,-879.76C938,-869.41 938,-856.06 938,-844.34"/>
<polygon fill="black" stroke="black" points="941.5,-844.17 938,-834.17 934.5,-844.17 941.5,-844.17"/>
</g>
<!-- u36 -->
<g id="node10" class="node">
<title>u36</title>
<ellipse fill="#ffbbbb" stroke="black" stroke-width="0" cx="1012" cy="-816.12" rx="29.5" ry="18"/>
<text text-anchor="middle" x="1012" y="-812.42" font-family="Times,serif" font-size="14.00">Run</text>
</g>
<!-- u30&#45;&gt;u36 -->
<g id="edge28" class="edge">
<title>u30&#45;&gt;u36</title>
<path fill="none" stroke="black" d="M953.33,-880.54C964.27,-868.71 979.11,-852.67 991.13,-839.68"/>
<polygon fill="black" stroke="black" points="993.96,-841.77 998.18,-832.05 988.82,-837.02 993.96,-841.77"/>
</g>
<!-- u37 -->
<g id="node11" class="node">
<title>u37</title>
<ellipse fill="#ffbbbb" stroke="black" stroke-width="0" cx="1108" cy="-816.12" rx="48.99" ry="18"/>
<text text-anchor="middle" x="1108" y="-812.42" font-family="Times,serif" font-size="14.00">Compile</text>
</g>
<!-- u30&#45;&gt;u37 -->
<g id="edge29" class="edge">
<title>u30&#45;&gt;u37</title>
<path fill="none" stroke="black" d="M968,-883C996.42,-869.62 1039.22,-849.48 1070.01,-834.99"/>
<polygon fill="black" stroke="black" points="1071.59,-838.12 1079.15,-830.69 1068.61,-831.78 1071.59,-838.12"/>
</g>
<!-- u38 -->
<g id="node12" class="node">
<title>u38</title>
<ellipse fill="#ffbbbb" stroke="black" stroke-width="0" cx="1215" cy="-816.12" rx="40.09" ry="18"/>
<text text-anchor="middle" x="1215" y="-812.42" font-family="Times,serif" font-size="14.00">Config</text>
</g>
<!-- u30&#45;&gt;u38 -->
<g id="edge30" class="edge">
<title>u30&#45;&gt;u38</title>
<path fill="none" stroke="black" d="M979.42,-886.53C1025.29,-874.6 1101.3,-854.25 1166,-834.12 1168.92,-833.21 1171.92,-832.24 1174.93,-831.25"/>
<polygon fill="black" stroke="black" points="1176.15,-834.53 1184.52,-828.03 1173.92,-827.9 1176.15,-834.53"/>
</g>
<!-- u39 -->
<g id="node13" class="node">
<title>u39</title>
<ellipse fill="#ffbbbb" stroke="black" stroke-width="0" cx="1322" cy="-816.12" rx="48.99" ry="18"/>
<text text-anchor="middle" x="1322" y="-812.42" font-family="Times,serif" font-size="14.00">Whereis</text>
</g>
<!-- u30&#45;&gt;u39 -->
<g id="edge31" class="edge">
<title>u30&#45;&gt;u39</title>
<path fill="none" stroke="black" d="M985.27,-889.42C1048.96,-878.72 1165.69,-857.97 1264,-834.12 1267.9,-833.17 1271.94,-832.12 1275.97,-831.03"/>
<polygon fill="black" stroke="black" points="1277.25,-834.31 1285.94,-828.26 1275.37,-827.57 1277.25,-834.31"/>
</g>
<!-- u40 -->
<g id="node14" class="node">
<title>u40</title>
<ellipse fill="#ffbbbb" stroke="black" stroke-width="0" cx="1417" cy="-816.12" rx="28.7" ry="18"/>
<text text-anchor="middle" x="1417" y="-812.42" font-family="Times,serif" font-size="14.00">List</text>
</g>
<!-- u30&#45;&gt;u40 -->
<g id="edge32" class="edge">
<title>u30&#45;&gt;u40</title>
<path fill="none" stroke="black" d="M991.1,-894.5C1075.16,-889.26 1243.36,-874.32 1380,-834.12 1381.93,-833.55 1383.89,-832.89 1385.85,-832.18"/>
<polygon fill="black" stroke="black" points="1387.55,-835.27 1395.49,-828.26 1384.91,-828.79 1387.55,-835.27"/>
</g>
<!-- u41 -->
<g id="node15" class="node">
<title>u41</title>
<ellipse fill="#ffbbbb" stroke="black" stroke-width="0" cx="1527" cy="-816.12" rx="63.09" ry="18"/>
<text text-anchor="middle" x="1527" y="-812.42" font-family="Times,serif" font-size="14.00">ChangeLog</text>
</g>
<!-- u30&#45;&gt;u41 -->
<g id="edge33" class="edge">
<title>u30&#45;&gt;u41</title>
<path fill="none" stroke="black" d="M989.65,-892.73C1083.01,-884.38 1285.87,-864.29 1455,-834.12 1460.37,-833.16 1465.95,-832.05 1471.51,-830.87"/>
<polygon fill="black" stroke="black" points="1472.44,-834.24 1481.45,-828.67 1470.93,-827.41 1472.44,-834.24"/>
</g>
<!-- u42 -->
<g id="node16" class="node">
<title>u42</title>
<ellipse fill="#ffbbbb" stroke="black" stroke-width="0" cx="1658" cy="-816.12" rx="50.09" ry="18"/>
<text text-anchor="middle" x="1658" y="-812.42" font-family="Times,serif" font-size="14.00">Prefetch</text>
</g>
<!-- u30&#45;&gt;u42 -->
<g id="edge34" class="edge">
<title>u30&#45;&gt;u42</title>
<path fill="none" stroke="black" d="M991.59,-895.37C1104.73,-890.96 1375.9,-876.51 1599,-834.12 1603.18,-833.32 1607.5,-832.36 1611.8,-831.31"/>
<polygon fill="black" stroke="black" points="1612.96,-834.62 1621.75,-828.7 1611.19,-827.85 1612.96,-834.62"/>
</g>
<!-- u43 -->
<g id="node17" class="node">
<title>u43</title>
<ellipse fill="#ffbbbb" stroke="black" stroke-width="0" cx="211" cy="-816.12" rx="27" ry="18"/>
<text text-anchor="middle" x="211" y="-812.42" font-family="Times,serif" font-size="14.00">GC</text>
</g>
<!-- u30&#45;&gt;u43 -->
<g id="edge35" class="edge">
<title>u30&#45;&gt;u43</title>
<path fill="none" stroke="black" d="M884.97,-894.68C744.84,-887.86 367.29,-866.9 247,-834.12 245.05,-833.58 243.07,-832.95 241.11,-832.25"/>
<polygon fill="black" stroke="black" points="242.05,-828.85 231.47,-828.29 239.38,-835.33 242.05,-828.85"/>
</g>
<!-- u44 -->
<g id="node18" class="node">
<title>u44</title>
<ellipse fill="#ffbbbb" stroke="black" stroke-width="0" cx="292" cy="-816.12" rx="36.29" ry="18"/>
<text text-anchor="middle" x="292" y="-812.42" font-family="Times,serif" font-size="14.00">DInfo</text>
</g>
<!-- u30&#45;&gt;u44 -->
<g id="edge36" class="edge">
<title>u30&#45;&gt;u44</title>
<path fill="none" stroke="black" d="M884.17,-896.08C778.07,-893.04 535.04,-881.08 337,-834.12 334.18,-833.45 331.3,-832.65 328.43,-831.77"/>
<polygon fill="black" stroke="black" points="329.37,-828.39 318.78,-828.51 327.13,-835.02 329.37,-828.39"/>
</g>
<!-- u45 -->
<g id="node19" class="node">
<title>u45</title>
<ellipse fill="#ffbbbb" stroke="black" stroke-width="0" cx="441" cy="-816.12" rx="94.78" ry="18"/>
<text text-anchor="middle" x="441" y="-812.42" font-family="Times,serif" font-size="14.00">ToolRequirements</text>
</g>
<!-- u30&#45;&gt;u45 -->
<g id="edge37" class="edge">
<title>u30&#45;&gt;u45</title>
<path fill="none" stroke="black" d="M890.5,-889.55C816.61,-877.77 669.66,-854.3 545,-834.12 537.04,-832.83 528.74,-831.48 520.45,-830.13"/>
<polygon fill="black" stroke="black" points="520.8,-826.64 510.36,-828.48 519.67,-833.55 520.8,-826.64"/>
</g>
<!-- u46 -->
<g id="node20" class="node">
<title>u46</title>
<ellipse fill="#ffbbbb" stroke="black" stroke-width="0" cx="589" cy="-816.12" rx="35.19" ry="18"/>
<text text-anchor="middle" x="589" y="-812.42" font-family="Times,serif" font-size="14.00">Nuke</text>
</g>
<!-- u30&#45;&gt;u46 -->
<g id="edge38" class="edge">
<title>u30&#45;&gt;u46</title>
<path fill="none" stroke="black" d="M890.12,-889.74C829.54,-879.84 722.35,-860.41 633,-834.12 630.37,-833.34 627.67,-832.48 624.97,-831.56"/>
<polygon fill="black" stroke="black" points="625.88,-828.17 615.28,-828.08 623.51,-834.76 625.88,-828.17"/>
</g>
<!-- u31 -->
<g id="node5" class="node">
<title>u31</title>
<ellipse fill="#ffbbbb" stroke="black" stroke-width="0" cx="1012" cy="-734.12" rx="51.99" ry="18"/>
<text text-anchor="middle" x="1012" y="-730.42" font-family="Times,serif" font-size="14.00">Common</text>
</g>
<!-- u0 -->
<g id="node37" class="node">
<title>u0</title>
<ellipse fill="#bbffbb" stroke="black" stroke-width="2" cx="589" cy="-652.12" rx="44.39" ry="18"/>
<text text-anchor="middle" x="589" y="-648.42" font-family="Times,serif" font-size="14.00">GHCup</text>
</g>
<!-- u31&#45;&gt;u0 -->
<g id="edge39" class="edge">
<title>u31&#45;&gt;u0</title>
<path fill="none" stroke="black" d="M984.07,-718.86C975.28,-714.86 965.4,-710.86 956,-708.12 847.4,-676.38 715.09,-662.3 642.71,-656.59"/>
<polygon fill="black" stroke="black" points="642.71,-653.08 632.48,-655.81 642.18,-660.06 642.71,-653.08"/>
</g>
<!-- u32&#45;&gt;u31 -->
<g id="edge40" class="edge">
<title>u32&#45;&gt;u31</title>
<path fill="none" stroke="black" d="M811.84,-804.41C817.86,-802.32 824.13,-800.15 830,-798.12 876.69,-781.93 930.13,-763.44 966.97,-750.69"/>
<polygon fill="black" stroke="black" points="968.12,-754 976.43,-747.42 965.83,-747.38 968.12,-754"/>
</g>
<!-- u33&#45;&gt;u31 -->
<g id="edge41" class="edge">
<title>u33&#45;&gt;u31</title>
<path fill="none" stroke="black" d="M886.3,-803.99C909.63,-791.21 948.34,-770 976.65,-754.49"/>
<polygon fill="black" stroke="black" points="978.36,-757.54 985.44,-749.67 974.99,-751.4 978.36,-757.54"/>
</g>
<!-- u34&#45;&gt;u0 -->
<g id="edge42" class="edge">
<title>u34&#45;&gt;u0</title>
<path fill="none" stroke="black" d="M672.4,-798.39C656.11,-770.01 622.96,-712.27 603.72,-678.76"/>
<polygon fill="black" stroke="black" points="606.7,-676.92 598.69,-669.99 600.63,-680.41 606.7,-676.92"/>
</g>
<!-- u35&#45;&gt;u31 -->
<g id="edge43" class="edge">
<title>u35&#45;&gt;u31</title>
<path fill="none" stroke="black" d="M951.57,-800.44C962.25,-788.9 977.34,-772.59 989.77,-759.15"/>
<polygon fill="black" stroke="black" points="992.5,-761.35 996.73,-751.63 987.37,-756.59 992.5,-761.35"/>
</g>
<!-- u36&#45;&gt;u31 -->
<g id="edge44" class="edge">
<title>u36&#45;&gt;u31</title>
<path fill="none" stroke="black" d="M1012,-797.76C1012,-787.41 1012,-774.06 1012,-762.34"/>
<polygon fill="black" stroke="black" points="1015.5,-762.17 1012,-752.17 1008.5,-762.17 1015.5,-762.17"/>
</g>
<!-- u37&#45;&gt;u31 -->
<g id="edge45" class="edge">
<title>u37&#45;&gt;u31</title>
<path fill="none" stroke="black" d="M1089.03,-799.31C1074.7,-787.37 1054.84,-770.81 1038.87,-757.51"/>
<polygon fill="black" stroke="black" points="1040.85,-754.6 1030.93,-750.89 1036.37,-759.98 1040.85,-754.6"/>
</g>
<!-- u38&#45;&gt;u31 -->
<g id="edge46" class="edge">
<title>u38&#45;&gt;u31</title>
<path fill="none" stroke="black" d="M1185.92,-803.65C1151.55,-790.11 1094.08,-767.46 1054.68,-751.93"/>
<polygon fill="black" stroke="black" points="1055.66,-748.56 1045.07,-748.15 1053.09,-755.07 1055.66,-748.56"/>
</g>
<!-- u39&#45;&gt;u31 -->
<g id="edge47" class="edge">
<title>u39&#45;&gt;u31</title>
<path fill="none" stroke="black" d="M1285.24,-804.1C1278.21,-802.06 1270.89,-799.98 1264,-798.12 1194.84,-779.34 1114.44,-759.6 1063.41,-747.33"/>
<polygon fill="black" stroke="black" points="1064.14,-743.91 1053.6,-744.97 1062.51,-750.71 1064.14,-743.91"/>
</g>
<!-- u40&#45;&gt;u31 -->
<g id="edge48" class="edge">
<title>u40&#45;&gt;u31</title>
<path fill="none" stroke="black" d="M1395.46,-804.08C1390.48,-801.85 1385.13,-799.7 1380,-798.12 1274.14,-765.36 1145.55,-748.25 1071.8,-740.51"/>
<polygon fill="black" stroke="black" points="1072.07,-737.02 1061.77,-739.48 1071.36,-743.98 1072.07,-737.02"/>
</g>
<!-- u41&#45;&gt;u31 -->
<g id="edge49" class="edge">
<title>u41&#45;&gt;u31</title>
<path fill="none" stroke="black" d="M1481.04,-803.61C1472.42,-801.64 1463.46,-799.71 1455,-798.12 1318.2,-772.29 1155.83,-751.75 1070.73,-741.75"/>
<polygon fill="black" stroke="black" points="1071.08,-738.27 1060.75,-740.58 1070.27,-745.22 1071.08,-738.27"/>
</g>
<!-- u42&#45;&gt;u31 -->
<g id="edge50" class="edge">
<title>u42&#45;&gt;u31</title>
<path fill="none" stroke="black" d="M1621.73,-803.6C1614.27,-801.53 1606.43,-799.57 1599,-798.12 1409.25,-760.89 1180.36,-744.32 1073.09,-738.17"/>
<polygon fill="black" stroke="black" points="1073.27,-734.68 1063.09,-737.61 1072.88,-741.67 1073.27,-734.68"/>
</g>
<!-- u43&#45;&gt;u0 -->
<g id="edge51" class="edge">
<title>u43&#45;&gt;u0</title>
<path fill="none" stroke="black" d="M230.04,-803.16C264.62,-781.82 340.51,-736.75 409,-708.12 452.95,-689.74 505.22,-674.46 542.08,-664.7"/>
<polygon fill="black" stroke="black" points="543.26,-668.01 552.05,-662.1 541.49,-661.24 543.26,-668.01"/>
</g>
<!-- u44&#45;&gt;u0 -->
<g id="edge52" class="edge">
<title>u44&#45;&gt;u0</title>
<path fill="none" stroke="black" d="M315.55,-802.27C367.75,-773.8 493.37,-705.28 554.47,-671.95"/>
<polygon fill="black" stroke="black" points="556.25,-674.97 563.35,-667.11 552.89,-668.82 556.25,-674.97"/>
</g>
<!-- u25 -->
<g id="node45" class="node">
<title>u25</title>
<ellipse fill="#ffffbb" stroke="black" stroke-width="0" cx="764" cy="-484.12" rx="51.19" ry="18"/>
<text text-anchor="middle" x="764" y="-480.42" font-family="Times,serif" font-size="14.00">Platform</text>
</g>
<!-- u45&#45;&gt;u25 -->
<g id="edge53" class="edge">
<title>u45&#45;&gt;u25</title>
<path fill="none" stroke="black" d="M508.31,-803.36C520.5,-801.44 533.11,-799.6 545,-798.12 603.43,-790.81 1033.21,-795.53 1073,-752.12 1170.68,-645.56 916.77,-539.37 809.35,-500.56"/>
<polygon fill="black" stroke="black" points="810.32,-497.19 799.73,-497.12 807.97,-503.78 810.32,-497.19"/>
</g>
<!-- u27 -->
<g id="node46" class="node">
<title>u27</title>
<ellipse fill="#ffffbb" stroke="black" stroke-width="0" cx="92" cy="-734.12" rx="76.09" ry="18"/>
<text text-anchor="middle" x="92" y="-730.42" font-family="Times,serif" font-size="14.00">Requirements</text>
</g>
<!-- u45&#45;&gt;u27 -->
<g id="edge54" class="edge">
<title>u45&#45;&gt;u27</title>
<path fill="none" stroke="black" d="M382.98,-801.82C319.96,-787.37 219.65,-764.38 154.82,-749.52"/>
<polygon fill="black" stroke="black" points="155.26,-746.03 144.73,-747.2 153.69,-752.85 155.26,-746.03"/>
</g>
<!-- u46&#45;&gt;u0 -->
<g id="edge55" class="edge">
<title>u46&#45;&gt;u0</title>
<path fill="none" stroke="black" d="M589,-798.09C589,-770.08 589,-714.08 589,-680.47"/>
<polygon fill="black" stroke="black" points="592.5,-680.41 589,-670.41 585.5,-680.41 592.5,-680.41"/>
</g>
<!-- u16 -->
<g id="node21" class="node">
<title>u16</title>
<ellipse fill="#bbffff" stroke="black" stroke-width="2" cx="619" cy="-130.12" rx="28.7" ry="18"/>
<text text-anchor="middle" x="619" y="-126.42" font-family="Times,serif" font-size="14.00">File</text>
</g>
<!-- u14 -->
<g id="node29" class="node">
<title>u14</title>
<ellipse fill="#bbffff" stroke="black" stroke-width="0" cx="619" cy="-48.12" rx="48.19" ry="18"/>
<text text-anchor="middle" x="619" y="-44.42" font-family="Times,serif" font-size="14.00">Internal</text>
</g>
<!-- u16&#45;&gt;u14 -->
<g id="edge59" class="edge">
<title>u16&#45;&gt;u14</title>
<path fill="none" stroke="black" d="M619,-111.76C619,-101.41 619,-88.06 619,-76.34"/>
<polygon fill="black" stroke="black" points="622.5,-76.17 619,-66.17 615.5,-76.17 622.5,-76.17"/>
</g>
<!-- u3 -->
<g id="node39" class="node">
<title>u3</title>
<ellipse fill="#ffffbb" stroke="black" stroke-width="0" cx="390" cy="-224.12" rx="40.89" ry="18"/>
<text text-anchor="middle" x="390" y="-220.42" font-family="Times,serif" font-size="14.00">Errors</text>
</g>
<!-- u16&#45;&gt;u3 -->
<g id="edge58" class="edge">
<title>u16&#45;&gt;u3</title>
<path fill="none" stroke="black" d="M610.46,-147.32C604.02,-157.95 594.23,-171.28 582,-179.12 539.39,-206.41 481.9,-216.85 440.96,-220.8"/>
<polygon fill="black" stroke="black" points="440.59,-217.32 430.93,-221.67 441.19,-224.3 440.59,-217.32"/>
</g>
<!-- u10 -->
<g id="node22" class="node">
<title>u10</title>
<ellipse fill="#ffbbff" stroke="black" stroke-width="0" cx="530" cy="-130.12" rx="42.79" ry="18"/>
<text text-anchor="middle" x="530" y="-126.42" font-family="Times,serif" font-size="14.00">Search</text>
</g>
<!-- u4 -->
<g id="node33" class="node">
<title>u4</title>
<ellipse fill="#ffffbb" stroke="black" stroke-width="2" cx="1038" cy="-130.12" rx="38.19" ry="18"/>
<text text-anchor="middle" x="1038" y="-126.42" font-family="Times,serif" font-size="14.00">Types</text>
</g>
<!-- u10&#45;&gt;u4 -->
<g id="edge60" class="edge">
<title>u10&#45;&gt;u4</title>
<path fill="none" stroke="black" d="M541.94,-147.67C552.66,-161.72 569.79,-180.39 590,-188.62 615.11,-198.83 623.97,-190.65 651,-188.62 775.48,-179.26 920.61,-153.2 992.63,-139.24"/>
<polygon fill="black" stroke="black" points="993.58,-142.62 1002.72,-137.27 992.23,-135.75 993.58,-142.62"/>
</g>
<!-- u15 -->
<g id="node23" class="node">
<title>u15</title>
<ellipse fill="#bbffff" stroke="black" stroke-width="2" cx="635" cy="-224.12" rx="43.59" ry="18"/>
<text text-anchor="middle" x="635" y="-220.42" font-family="Times,serif" font-size="14.00">Logger</text>
</g>
<!-- u15&#45;&gt;u16 -->
<g id="edge61" class="edge">
<title>u15&#45;&gt;u16</title>
<path fill="none" stroke="black" d="M631.99,-205.81C629.65,-192.36 626.37,-173.47 623.68,-158.04"/>
<polygon fill="black" stroke="black" points="627.1,-157.28 621.94,-148.03 620.21,-158.48 627.1,-157.28"/>
</g>
<!-- u12 -->
<g id="node24" class="node">
<title>u12</title>
<ellipse fill="#77ff77" stroke="black" stroke-width="0" cx="745" cy="-224.12" rx="48.19" ry="18"/>
<text text-anchor="middle" x="745" y="-220.42" font-family="Times,serif" font-size="14.00">Internal</text>
</g>
<!-- u12&#45;&gt;u4 -->
<g id="edge62" class="edge">
<title>u12&#45;&gt;u4</title>
<path fill="none" stroke="black" d="M771.86,-209.09C779.83,-205.23 788.66,-201.25 797,-198.12 864.17,-172.86 945.04,-152.29 993.94,-140.88"/>
<polygon fill="black" stroke="black" points="994.91,-144.25 1003.87,-138.59 993.34,-137.43 994.91,-144.25"/>
</g>
<!-- u11 -->
<g id="node25" class="node">
<title>u11</title>
<ellipse fill="#ffff77" stroke="black" stroke-width="0" cx="482" cy="-354.12" rx="27" ry="18"/>
<text text-anchor="middle" x="482" y="-350.42" font-family="Times,serif" font-size="14.00">QQ</text>
</g>
<!-- u21 -->
<g id="node26" class="node">
<title>u21</title>
<ellipse fill="#7777ff" stroke="black" stroke-width="0" cx="560" cy="-354.12" rx="27" ry="18"/>
<text text-anchor="middle" x="560" y="-350.42" font-family="Times,serif" font-size="14.00">QQ</text>
</g>
<!-- u13&#45;&gt;u15 -->
<g id="edge56" class="edge">
<title>u13&#45;&gt;u15</title>
<path fill="none" stroke="black" d="M649.74,-336.12C646.9,-314.7 641.97,-277.62 638.6,-252.26"/>
<polygon fill="black" stroke="black" points="642.05,-251.64 637.27,-242.18 635.11,-252.56 642.05,-251.64"/>
</g>
<!-- u8 -->
<g id="node28" class="node">
<title>u8</title>
<ellipse fill="#bbffff" stroke="black" stroke-width="0" cx="896" cy="-354.12" rx="67.69" ry="18"/>
<text text-anchor="middle" x="896" y="-350.42" font-family="Times,serif" font-size="14.00">MegaParsec</text>
</g>
<!-- u8&#45;&gt;u4 -->
<g id="edge57" class="edge">
<title>u8&#45;&gt;u4</title>
<path fill="none" stroke="black" d="M903.02,-335.98C915.49,-306.47 943.31,-244.73 976,-198.12 987.15,-182.21 1001.84,-166.18 1014.12,-153.79"/>
<polygon fill="black" stroke="black" points="1016.76,-156.1 1021.4,-146.57 1011.83,-151.13 1016.76,-156.1"/>
</g>
<!-- u6 -->
<g id="node31" class="node">
<title>u6</title>
<ellipse fill="#ff7777" stroke="black" stroke-width="2" cx="1134" cy="-224.12" rx="36" ry="18"/>
<text text-anchor="middle" x="1134" y="-220.42" font-family="Times,serif" font-size="14.00">JSON</text>
</g>
<!-- u6&#45;&gt;u8 -->
<g id="edge65" class="edge">
<title>u6&#45;&gt;u8</title>
<path fill="none" stroke="black" d="M1129.86,-242.31C1124.59,-260.41 1113.72,-288.41 1094,-304.12 1083.21,-312.71 1012.21,-328.99 958.29,-340.42"/>
<polygon fill="black" stroke="black" points="957.51,-337.01 948.44,-342.5 958.95,-343.86 957.51,-337.01"/>
</g>
<!-- u7 -->
<g id="node32" class="node">
<title>u7</title>
<ellipse fill="#77ffff" stroke="black" stroke-width="0" cx="1134" cy="-130.12" rx="33.29" ry="18"/>
<text text-anchor="middle" x="1134" y="-126.42" font-family="Times,serif" font-size="14.00">Utils</text>
</g>
<!-- u6&#45;&gt;u7 -->
<g id="edge66" class="edge">
<title>u6&#45;&gt;u7</title>
<path fill="none" stroke="black" d="M1134,-205.81C1134,-192.58 1134,-174.06 1134,-158.78"/>
<polygon fill="black" stroke="black" points="1137.5,-158.34 1134,-148.34 1130.5,-158.34 1137.5,-158.34"/>
</g>
<!-- u5 -->
<g id="node36" class="node">
<title>u5</title>
<ellipse fill="#ff77ff" stroke="black" stroke-width="0" cx="482" cy="-484.12" rx="30.59" ry="18"/>
<text text-anchor="middle" x="482" y="-480.42" font-family="Times,serif" font-size="14.00">Dirs</text>
</g>
<!-- u4&#45;&gt;u5 -->
<g id="edge63" class="edge">
<title>u4&#45;&gt;u5</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M1023.23,-146.75C1012.19,-159.5 997.87,-178.54 991,-198.12 982.3,-222.91 994.68,-415.64 976,-434.12 940.09,-469.64 570.17,-442.91 522,-458.12 517.36,-459.58 512.73,-461.71 508.34,-464.12"/>
<polygon fill="black" stroke="black" points="506.49,-461.14 499.76,-469.33 510.12,-467.13 506.49,-461.14"/>
</g>
<!-- u9 -->
<g id="node34" class="node">
<title>u9</title>
<ellipse fill="#ff7777" stroke="black" stroke-width="0" cx="1040" cy="-224.12" rx="40.09" ry="18"/>
<text text-anchor="middle" x="1040" y="-220.42" font-family="Times,serif" font-size="14.00">Optics</text>
</g>
<!-- u9&#45;&gt;u4 -->
<g id="edge64" class="edge">
<title>u9&#45;&gt;u4</title>
<path fill="none" stroke="black" d="M1039.62,-205.81C1039.34,-192.58 1038.93,-174.06 1038.6,-158.78"/>
<polygon fill="black" stroke="black" points="1042.09,-158.26 1038.37,-148.34 1035.09,-158.42 1042.09,-158.26"/>
</g>
<!-- u19 -->
<g id="node35" class="node">
<title>u19</title>
<ellipse fill="#ffffbb" stroke="black" stroke-width="2" cx="564" cy="-484.12" rx="33.29" ry="18"/>
<text text-anchor="middle" x="564" y="-480.42" font-family="Times,serif" font-size="14.00">Utils</text>
</g>
<!-- u19&#45;&gt;u2 -->
<g id="edge67" class="edge">
<title>u19&#45;&gt;u2</title>
<path fill="none" stroke="black" d="M571.82,-501.68C579.29,-515.94 592.08,-534.91 610,-542.62 631.28,-551.77 1005.22,-550.52 1027,-542.62 1045.67,-535.84 1062.84,-521.67 1075.51,-508.97"/>
<polygon fill="black" stroke="black" points="1078.05,-511.38 1082.42,-501.73 1072.98,-506.55 1078.05,-511.38"/>
</g>
<!-- u5&#45;&gt;u10 -->
<g id="edge69" class="edge">
<title>u5&#45;&gt;u10</title>
<path fill="none" stroke="black" d="M452.05,-479.77C403.81,-473.7 312.34,-459.11 293,-434.12 228.81,-351.16 229.72,-281.77 293,-198.12 315.48,-168.4 417.21,-148.09 479.86,-138.15"/>
<polygon fill="black" stroke="black" points="480.59,-141.58 489.94,-136.59 479.52,-134.66 480.59,-141.58"/>
</g>
<!-- u5&#45;&gt;u12 -->
<g id="edge70" class="edge">
<title>u5&#45;&gt;u12</title>
<path fill="none" stroke="black" d="M465.94,-468.47C457.34,-459.5 447.59,-447.25 443,-434.12 435.23,-411.88 427.18,-345.57 443,-328.12 479.75,-287.59 640.57,-331.38 688,-304.12 708.66,-292.24 723.85,-269.5 733.32,-251.46"/>
<polygon fill="black" stroke="black" points="736.7,-252.53 738,-242.02 730.43,-249.43 736.7,-252.53"/>
</g>
<!-- u5&#45;&gt;u11 -->
<g id="edge71" class="edge">
<title>u5&#45;&gt;u11</title>
<path fill="none" stroke="black" d="M482,-465.85C482,-444.48 482,-407.81 482,-382.56"/>
<polygon fill="black" stroke="black" points="485.5,-382.51 482,-372.51 478.5,-382.51 485.5,-382.51"/>
</g>
<!-- u5&#45;&gt;u6 -->
<g id="edge73" class="edge">
<title>u5&#45;&gt;u6</title>
<path fill="none" stroke="black" d="M499.75,-469.31C506.37,-464.92 514.19,-460.57 522,-458.12 573.48,-441.96 966.16,-469.38 1007,-434.12 1043.35,-402.73 996.74,-364.57 1028,-328.12 1048.32,-304.42 1070.65,-324.82 1094,-304.12 1109.53,-290.35 1119.8,-269.14 1126.04,-252.16"/>
<polygon fill="black" stroke="black" points="1129.51,-252.83 1129.42,-242.24 1122.89,-250.57 1129.51,-252.83"/>
</g>
<!-- u5&#45;&gt;u9 -->
<g id="edge72" class="edge">
<title>u5&#45;&gt;u9</title>
<path fill="none" stroke="black" d="M499.76,-469.32C506.38,-464.93 514.19,-460.58 522,-458.12 571.45,-442.55 947.99,-467.09 988,-434.12 995.12,-428.25 1022.15,-307.3 1034.17,-252.13"/>
<polygon fill="black" stroke="black" points="1037.6,-252.85 1036.3,-242.33 1030.76,-251.36 1037.6,-252.85"/>
</g>
<!-- u5&#45;&gt;u3 -->
<g id="edge68" class="edge">
<title>u5&#45;&gt;u3</title>
<path fill="none" stroke="black" d="M463.16,-469.78C452.08,-460.93 438.76,-448.34 431,-434.12 422.36,-418.29 403.08,-305.24 394.4,-252.32"/>
<polygon fill="black" stroke="black" points="397.82,-251.59 392.76,-242.28 390.91,-252.72 397.82,-251.59"/>
</g>
<!-- u1 -->
<g id="node38" class="node">
<title>u1</title>
<ellipse fill="#ffffbb" stroke="black" stroke-width="0" cx="546" cy="-570.12" rx="37.09" ry="18"/>
<text text-anchor="middle" x="546" y="-566.42" font-family="Times,serif" font-size="14.00">Cabal</text>
</g>
<!-- u0&#45;&gt;u1 -->
<g id="edge2" class="edge">
<title>u0&#45;&gt;u1</title>
<path fill="none" stroke="black" d="M579.88,-634.15C574.03,-623.26 566.31,-608.91 559.73,-596.65"/>
<polygon fill="black" stroke="black" points="562.78,-594.93 554.96,-587.78 556.61,-598.25 562.78,-594.93"/>
</g>
<!-- u20 -->
<g id="node41" class="node">
<title>u20</title>
<ellipse fill="#ffffbb" stroke="black" stroke-width="0" cx="713" cy="-570.12" rx="32.49" ry="18"/>
<text text-anchor="middle" x="713" y="-566.42" font-family="Times,serif" font-size="14.00">GHC</text>
</g>
<!-- u0&#45;&gt;u20 -->
<g id="edge3" class="edge">
<title>u0&#45;&gt;u20</title>
<path fill="none" stroke="black" d="M611.74,-636.44C632.02,-623.36 661.82,-604.14 683.84,-589.93"/>
<polygon fill="black" stroke="black" points="685.95,-592.73 692.46,-584.37 682.16,-586.85 685.95,-592.73"/>
</g>
<!-- u22 -->
<g id="node42" class="node">
<title>u22</title>
<ellipse fill="#ffffbb" stroke="black" stroke-width="0" cx="632" cy="-570.12" rx="30.59" ry="18"/>
<text text-anchor="middle" x="632" y="-566.42" font-family="Times,serif" font-size="14.00">HLS</text>
</g>
<!-- u0&#45;&gt;u22 -->
<g id="edge4" class="edge">
<title>u0&#45;&gt;u22</title>
<path fill="none" stroke="black" d="M598.12,-634.15C604.01,-623.19 611.79,-608.72 618.41,-596.41"/>
<polygon fill="black" stroke="black" points="621.54,-597.98 623.19,-587.51 615.37,-594.66 621.54,-597.98"/>
</g>
<!-- u23 -->
<g id="node43" class="node">
<title>u23</title>
<ellipse fill="#ffffbb" stroke="black" stroke-width="0" cx="379" cy="-570.12" rx="36.29" ry="18"/>
<text text-anchor="middle" x="379" y="-566.42" font-family="Times,serif" font-size="14.00">Stack</text>
</g>
<!-- u0&#45;&gt;u23 -->
<g id="edge5" class="edge">
<title>u0&#45;&gt;u23</title>
<path fill="none" stroke="black" d="M557.56,-639.14C519.82,-624.76 456.61,-600.68 416.4,-585.37"/>
<polygon fill="black" stroke="black" points="417.55,-582.05 406.96,-581.77 415.05,-588.6 417.55,-582.05"/>
</g>
<!-- u24 -->
<g id="node44" class="node">
<title>u24</title>
<ellipse fill="#ffffbb" stroke="black" stroke-width="0" cx="462" cy="-570.12" rx="28.7" ry="18"/>
<text text-anchor="middle" x="462" y="-566.42" font-family="Times,serif" font-size="14.00">List</text>
</g>
<!-- u0&#45;&gt;u24 -->
<g id="edge6" class="edge">
<title>u0&#45;&gt;u24</title>
<path fill="none" stroke="black" d="M566,-636.63C544.67,-623.19 512.88,-603.17 490.06,-588.79"/>
<polygon fill="black" stroke="black" points="491.83,-585.77 481.5,-583.4 488.1,-591.69 491.83,-585.77"/>
</g>
<!-- u0&#45;&gt;u25 -->
<g id="edge7" class="edge">
<title>u0&#45;&gt;u25</title>
<path fill="none" stroke="black" d="M631.59,-647.2C670.07,-641.23 725,-626.15 754,-588.12 770.36,-566.66 770.97,-534.92 768.67,-512.35"/>
<polygon fill="black" stroke="black" points="772.14,-511.88 767.41,-502.4 765.19,-512.76 772.14,-511.88"/>
</g>
<!-- u1&#45;&gt;u19 -->
<g id="edge8" class="edge">
<title>u1&#45;&gt;u19</title>
<path fill="none" stroke="black" d="M549.64,-552.12C552.11,-540.62 555.41,-525.19 558.23,-512.03"/>
<polygon fill="black" stroke="black" points="561.69,-512.6 560.36,-502.09 554.85,-511.13 561.69,-512.6"/>
</g>
<!-- u3&#45;&gt;u4 -->
<g id="edge9" class="edge">
<title>u3&#45;&gt;u4</title>
<path fill="none" stroke="black" d="M428.59,-217.64C541.25,-201.64 869.35,-155.06 991.48,-137.72"/>
<polygon fill="black" stroke="black" points="992.21,-141.15 1001.62,-136.28 991.23,-134.22 992.21,-141.15"/>
</g>
<!-- u18&#45;&gt;u3 -->
<g id="edge10" class="edge">
<title>u18&#45;&gt;u3</title>
<path fill="none" stroke="black" d="M357.05,-336.12C363.43,-314.6 374.51,-277.29 382.04,-251.92"/>
<polygon fill="black" stroke="black" points="385.44,-252.77 384.93,-242.18 378.73,-250.77 385.44,-252.77"/>
</g>
<!-- u20&#45;&gt;u21 -->
<g id="edge11" class="edge">
<title>u20&#45;&gt;u21</title>
<path fill="none" stroke="black" d="M697.84,-553.78C668.88,-524.26 607.13,-460.17 591,-434.12 580.88,-417.78 573.03,-397.58 567.76,-381.7"/>
<polygon fill="black" stroke="black" points="571.03,-380.44 564.67,-371.97 564.36,-382.56 571.03,-380.44"/>
</g>
<!-- u20&#45;&gt;u19 -->
<g id="edge12" class="edge">
<title>u20&#45;&gt;u19</title>
<path fill="none" stroke="black" d="M688.05,-558.16C682.8,-556.02 677.25,-553.9 672,-552.12 641.07,-541.62 628.18,-551.23 601,-533.12 592.16,-527.23 584.54,-518.52 578.55,-510.13"/>
<polygon fill="black" stroke="black" points="581.36,-508.04 572.92,-501.64 575.53,-511.91 581.36,-508.04"/>
</g>
<!-- u22&#45;&gt;u19 -->
<g id="edge13" class="edge">
<title>u22&#45;&gt;u19</title>
<path fill="none" stroke="black" d="M618.54,-553.85C613.02,-547.51 606.63,-540.02 601,-533.12 594.75,-525.45 588.1,-516.94 582.19,-509.24"/>
<polygon fill="black" stroke="black" points="584.97,-507.11 576.12,-501.29 579.4,-511.36 584.97,-507.11"/>
</g>
<!-- u23&#45;&gt;u19 -->
<g id="edge14" class="edge">
<title>u23&#45;&gt;u19</title>
<path fill="none" stroke="black" d="M406.36,-557.94C412.12,-555.82 418.22,-553.76 424,-552.12 466.68,-540.01 483.54,-555.23 522,-533.12 532.04,-527.34 540.89,-518.28 547.84,-509.57"/>
<polygon fill="black" stroke="black" points="550.72,-511.56 553.9,-501.45 545.11,-507.37 550.72,-511.56"/>
</g>
<!-- u24&#45;&gt;u19 -->
<g id="edge15" class="edge">
<title>u24&#45;&gt;u19</title>
<path fill="none" stroke="black" d="M483.62,-558.29C495.54,-551.81 510.26,-542.93 522,-533.12 530.54,-525.98 538.85,-517.05 545.79,-508.83"/>
<polygon fill="black" stroke="black" points="548.61,-510.9 552.23,-500.95 543.19,-506.47 548.61,-510.9"/>
</g>
<!-- u25&#45;&gt;u13 -->
<g id="edge16" class="edge">
<title>u25&#45;&gt;u13</title>
<path fill="none" stroke="black" d="M743.78,-467.39C732.64,-458.26 718.91,-446.2 708,-434.12 693.03,-417.53 678.51,-396.87 668,-380.84"/>
<polygon fill="black" stroke="black" points="670.67,-378.51 662.31,-372 664.78,-382.3 670.67,-378.51"/>
</g>
<!-- u25&#45;&gt;u17 -->
<g id="edge17" class="edge">
<title>u25&#45;&gt;u17</title>
<path fill="none" stroke="black" d="M764,-465.85C764,-444.48 764,-407.81 764,-382.56"/>
<polygon fill="black" stroke="black" points="767.5,-382.51 764,-372.51 760.5,-382.51 767.5,-382.51"/>
</g>
<!-- u27&#45;&gt;u18 -->
<g id="edge18" class="edge">
<title>u27&#45;&gt;u18</title>
<path fill="none" stroke="black" d="M103.85,-715.89C145.57,-655.23 285.85,-451.29 334.9,-379.98"/>
<polygon fill="black" stroke="black" points="337.89,-381.8 340.67,-371.58 332.12,-377.84 337.89,-381.8"/>
</g>
<!-- u29 -->
<g id="node47" class="node">
<title>u29</title>
<ellipse fill="#bbffbb" stroke="black" stroke-width="0" cx="938" cy="-1019.12" rx="34.39" ry="18"/>
<text text-anchor="middle" x="938" y="-1015.42" font-family="Times,serif" font-size="14.00">Main</text>
</g>
<!-- u29&#45;&gt;u30 -->
<g id="edge1" class="edge">
<title>u29&#45;&gt;u30</title>
<path fill="none" stroke="black" d="M938,-1001.07C938,-981.54 938,-949.28 938,-926.28"/>
<polygon fill="black" stroke="black" points="941.5,-926.13 938,-916.13 934.5,-926.13 941.5,-926.13"/>
</g>
</g>
</svg>