xs/hkexsh/hkexsh-vis.gv.svg
Russ Magee c6cbd8d681 Replaced go-code-visualizer with go-callvis
Signed-off-by: Russ Magee <rmagee@gmail.com>
2018-11-21 17:06:09 -08:00

701 lines
55 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.40.1 (20161225.0304)
-->
<!-- Title: gocallvis Pages: 1 -->
<svg width="962pt" height="1939pt"
viewBox="0.00 0.00 962.12 1939.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 1939)">
<title>gocallvis</title>
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-1939 962.1203,-1939 962.1203,0 0,0"/>
<text text-anchor="middle" x="102" y="-7.8" font-family="Arial" font-size="14.00" fill="#000000">blitter.com/go/hkexsh/hkexsh</text>
<g id="clust1" class="cluster">
<title>cluster_focus</title>
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-31 8,-1931 954.1203,-1931 954.1203,-31 8,-31"/>
<text text-anchor="middle" x="481.0601" y="-1912.6" font-family="Arial" font-size="18.00" fill="#000000">main</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_blitter.com/go/hkexsh</title>
<g id="a_clust2"><a xlink:href="/?f=blitter.com/go/hkexsh" xlink:title="package: blitter.com/go/hkexsh">
<polygon fill="#ffffe0" stroke="#000000" stroke-width=".8" points="643.4626,-300 643.4626,-1081 782.6669,-1081 782.6669,-300 643.4626,-300"/>
<text text-anchor="middle" x="713.0647" y="-1064.2" font-family="bold" font-size="16.00" fill="#000000">[hkexsh]</text>
</a>
</g>
</g>
<g id="clust3" class="cluster">
<title>cluster_*blitter.com/go/hkexsh.Session</title>
<g id="a_clust3"><a xlink:href="/?f=blitter.com/go/hkexsh" xlink:title="type: *blitter.com/go/hkexsh.Session">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M674.7133,-413C674.7133,-413 751.4162,-413 751.4162,-413 757.4162,-413 763.4162,-419 763.4162,-425 763.4162,-425 763.4162,-478 763.4162,-478 763.4162,-484 757.4162,-490 751.4162,-490 751.4162,-490 674.7133,-490 674.7133,-490 668.7133,-490 662.7133,-484 662.7133,-478 662.7133,-478 662.7133,-425 662.7133,-425 662.7133,-419 668.7133,-413 674.7133,-413"/>
<text text-anchor="middle" x="713.0647" y="-422" font-family="bold" font-size="15.00" fill="#222222">(*Session)</text>
</a>
</g>
</g>
<g id="clust4" class="cluster">
<title>cluster_blitter.com/go/hkexsh.Session</title>
<g id="a_clust4"><a xlink:href="/?f=blitter.com/go/hkexsh" xlink:title="type: blitter.com/go/hkexsh.Session">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M667.563,-551C667.563,-551 758.5664,-551 758.5664,-551 764.5664,-551 770.5664,-557 770.5664,-563 770.5664,-563 770.5664,-982 770.5664,-982 770.5664,-988 764.5664,-994 758.5664,-994 758.5664,-994 667.563,-994 667.563,-994 661.563,-994 655.563,-988 655.563,-982 655.563,-982 655.563,-563 655.563,-563 655.563,-557 661.563,-551 667.563,-551"/>
<text text-anchor="middle" x="713.0647" y="-560" font-family="bold" font-size="15.00" fill="#222222">(Session)</text>
</a>
</g>
</g>
<g id="clust5" class="cluster">
<title>cluster_blitter.com/go/hkexsh/hkexnet</title>
<g id="a_clust5"><a xlink:href="/?f=blitter.com/go/hkexsh/hkexnet" xlink:title="package: blitter.com/go/hkexsh/hkexnet">
<polygon fill="#ffffe0" stroke="#000000" stroke-width=".8" points="632.7125,-1089 632.7125,-1895 793.417,-1895 793.417,-1089 632.7125,-1089"/>
<text text-anchor="middle" x="713.0647" y="-1878.2" font-family="bold" font-size="16.00" fill="#000000">[hkexnet]</text>
</a>
</g>
</g>
<g id="clust6" class="cluster">
<title>cluster_*blitter.com/go/hkexsh/hkexnet.Conn</title>
<g id="a_clust6"><a xlink:href="/?f=blitter.com/go/hkexsh/hkexnet" xlink:title="type: *blitter.com/go/hkexsh/hkexnet.Conn">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M652.7125,-1418C652.7125,-1418 773.417,-1418 773.417,-1418 779.417,-1418 785.417,-1424 785.417,-1430 785.417,-1430 785.417,-1849 785.417,-1849 785.417,-1855 779.417,-1861 773.417,-1861 773.417,-1861 652.7125,-1861 652.7125,-1861 646.7125,-1861 640.7125,-1855 640.7125,-1849 640.7125,-1849 640.7125,-1430 640.7125,-1430 640.7125,-1424 646.7125,-1418 652.7125,-1418"/>
<text text-anchor="middle" x="713.0647" y="-1427" font-family="bold" font-size="15.00" fill="#222222">(*Conn)</text>
</a>
</g>
</g>
<g id="clust7" class="cluster">
<title>cluster_blitter.com/go/hkexsh/hkexnet.Conn</title>
<g id="a_clust7"><a xlink:href="/?f=blitter.com/go/hkexsh/hkexnet" xlink:title="type: blitter.com/go/hkexsh/hkexnet.Conn">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M673.6132,-1097C673.6132,-1097 752.5162,-1097 752.5162,-1097 758.5162,-1097 764.5162,-1103 764.5162,-1109 764.5162,-1109 764.5162,-1284 764.5162,-1284 764.5162,-1290 758.5162,-1296 752.5162,-1296 752.5162,-1296 673.6132,-1296 673.6132,-1296 667.6132,-1296 661.6132,-1290 661.6132,-1284 661.6132,-1284 661.6132,-1109 661.6132,-1109 661.6132,-1103 667.6132,-1097 673.6132,-1097"/>
<text text-anchor="middle" x="713.0647" y="-1106" font-family="bold" font-size="15.00" fill="#222222">(Conn)</text>
</a>
</g>
</g>
<g id="clust8" class="cluster">
<title>cluster_blitter.com/go/hkexsh/logger</title>
<g id="a_clust8"><a xlink:href="/?f=blitter.com/go/hkexsh/logger" xlink:title="package: blitter.com/go/hkexsh/logger">
<polygon fill="#ffffe0" stroke="#000000" stroke-width=".8" points="659.9632,-153 659.9632,-292 766.1663,-292 766.1663,-153 659.9632,-153"/>
<text text-anchor="middle" x="713.0647" y="-275.2" font-family="bold" font-size="16.00" fill="#000000">[logger]</text>
</a>
</g>
</g>
<g id="clust9" class="cluster">
<title>cluster_blitter.com/go/hkexsh/spinsult</title>
<g id="a_clust9"><a xlink:href="/?f=blitter.com/go/hkexsh/spinsult" xlink:title="package: blitter.com/go/hkexsh/spinsult">
<polygon fill="#ffffe0" stroke="#000000" stroke-width=".8" points="404.9068,-127 404.9068,-205 532.0107,-205 532.0107,-127 404.9068,-127"/>
<text text-anchor="middle" x="468.4588" y="-188.2" font-family="bold" font-size="16.00" fill="#000000">[spinsult]</text>
</a>
</g>
</g>
<g id="clust10" class="cluster">
<title>cluster_github.com/mattn/go&#45;isatty</title>
<g id="a_clust10"><a xlink:href="/?f=github.com/mattn/go-isatty" xlink:title="package: github.com/mattn/go&#45;isatty">
<polygon fill="#ffffe0" stroke="#000000" stroke-width=".8" points="175.7014,-1575 175.7014,-1653 281.9045,-1653 281.9045,-1575 175.7014,-1575"/>
<text text-anchor="middle" x="228.803" y="-1636.2" font-family="bold" font-size="16.00" fill="#000000">[isatty]</text>
</a>
</g>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.reqTunnel -->
<g id="node1" class="node">
<title>blitter.com/go/hkexsh/hkexsh.reqTunnel</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="468.4588" cy="-860" rx="43.4031" ry="18"/>
<text text-anchor="middle" x="468.4588" y="-856.3" font-family="Verdana" font-size="14.00" fill="#000000">reqTunnel</text>
</g>
<!-- (*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket -->
<g id="node32" class="node">
<title>(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="713.0647" cy="-1469" rx="50.7037" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-1465.3" font-family="Verdana" font-size="14.00" fill="#000000">WritePacket</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.reqTunnel&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket -->
<g id="edge2" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.reqTunnel&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket</title>
<path fill="none" stroke="#8b4513" d="M473.0524,-878.0352C498.0658,-976.1767 616.9314,-1441.7185 622.3116,-1447 630.6333,-1455.1691 641.4433,-1460.4845 652.6864,-1463.9047"/>
<polygon fill="#8b4513" stroke="#8b4513" points="652.0711,-1467.36 662.6265,-1466.4467 653.8054,-1460.5782 652.0711,-1467.36"/>
</g>
<!-- blitter.com/go/hkexsh/logger.LogDebug -->
<g id="node42" class="node">
<title>blitter.com/go/hkexsh/logger.LogDebug</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="713.0647" cy="-240" rx="45.2034" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-236.3" font-family="Verdana" font-size="14.00" fill="#000000">LogDebug</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.reqTunnel&#45;&gt;blitter.com/go/hkexsh/logger.LogDebug -->
<g id="edge1" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.reqTunnel&#45;&gt;blitter.com/go/hkexsh/logger.LogDebug</title>
<path fill="none" stroke="#8b4513" d="M472.52,-841.9306C493.2141,-750.3562 587.3129,-340.0644 622.3116,-294 634.5712,-277.8642 653.1624,-265.5955 670.3323,-256.8625"/>
<polygon fill="#8b4513" stroke="#8b4513" points="672.1784,-259.8586 679.6757,-252.3725 669.1464,-253.5493 672.1784,-259.8586"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.launchTuns -->
<g id="node2" class="node">
<title>blitter.com/go/hkexsh/hkexsh.launchTuns</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="228.803" cy="-860" rx="48.3036" ry="18"/>
<text text-anchor="middle" x="228.803" y="-856.3" font-family="Verdana" font-size="14.00" fill="#000000">launchTuns</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.launchTuns&#45;&gt;blitter.com/go/hkexsh/hkexsh.reqTunnel -->
<g id="edge3" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.launchTuns&#45;&gt;blitter.com/go/hkexsh/hkexsh.reqTunnel</title>
<path fill="none" stroke="#000000" d="M277.3009,-860C317.1448,-860 373.5316,-860 414.738,-860"/>
<polygon fill="#000000" stroke="#000000" points="414.8679,-863.5001 424.8678,-860 414.8678,-856.5001 414.8679,-863.5001"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.rejectUserMsg -->
<g id="node3" class="node">
<title>blitter.com/go/hkexsh/hkexsh.rejectUserMsg</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="228.803" cy="-165" rx="61.1043" ry="18"/>
<text text-anchor="middle" x="228.803" y="-161.3" font-family="Verdana" font-size="14.00" fill="#000000">rejectUserMsg</text>
</g>
<!-- blitter.com/go/hkexsh/spinsult.GetSentence -->
<g id="node44" class="node">
<title>blitter.com/go/hkexsh/spinsult.GetSentence</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="468.4588" cy="-153" rx="55.6039" ry="18"/>
<text text-anchor="middle" x="468.4588" y="-149.3" font-family="Verdana" font-size="14.00" fill="#000000">GetSentence</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.rejectUserMsg&#45;&gt;blitter.com/go/hkexsh/spinsult.GetSentence -->
<g id="edge4" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.rejectUserMsg&#45;&gt;blitter.com/go/hkexsh/spinsult.GetSentence</title>
<path fill="none" stroke="#8b4513" d="M289.2783,-161.9719C323.9849,-160.2341 367.5788,-158.0512 403.0767,-156.2738"/>
<polygon fill="#8b4513" stroke="#8b4513" points="403.5235,-159.7559 413.3359,-155.7601 403.1733,-152.7647 403.5235,-159.7559"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main -->
<g id="node4" class="node">
<title>blitter.com/go/hkexsh/hkexsh.main</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="43" cy="-944" rx="27" ry="18"/>
<text text-anchor="middle" x="43" y="-940.3" font-family="Verdana" font-size="14.00" fill="#000000">main</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh/hkexsh.launchTuns -->
<g id="edge32" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh/hkexsh.launchTuns</title>
<path fill="none" stroke="#000000" d="M59.0583,-929.5279C71.2049,-919.2274 88.696,-905.7203 106,-897 128.1711,-885.8269 154.325,-877.3677 176.7863,-871.3779"/>
<polygon fill="#000000" stroke="#000000" points="177.6786,-874.7624 186.4905,-868.8801 175.9337,-867.9833 177.6786,-874.7624"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh/hkexsh.rejectUserMsg -->
<g id="edge24" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh/hkexsh.rejectUserMsg</title>
<path fill="none" stroke="#000000" d="M43.3787,-925.959C45.7858,-818.497 60.3393,-265.4382 106,-207 119.4734,-189.7563 140.3981,-179.5514 161.1813,-173.5264"/>
<polygon fill="#000000" stroke="#000000" points="162.2189,-176.873 171.0149,-170.967 160.4557,-170.0987 162.2189,-176.873"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.parseNonSwitchArgs -->
<g id="node5" class="node">
<title>blitter.com/go/hkexsh/hkexsh.parseNonSwitchArgs</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="228.803" cy="-393" rx="85.6064" ry="18"/>
<text text-anchor="middle" x="228.803" y="-389.3" font-family="Verdana" font-size="14.00" fill="#000000">parseNonSwitchArgs</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh/hkexsh.parseNonSwitchArgs -->
<g id="edge5" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh/hkexsh.parseNonSwitchArgs</title>
<path fill="none" stroke="#000000" d="M44.5018,-925.8126C50.8107,-851.2506 76.2241,-568.9576 106,-485 116.5987,-455.1152 118.4671,-444.089 143,-424 149.2038,-418.9199 156.3095,-414.6368 163.7176,-411.034"/>
<polygon fill="#000000" stroke="#000000" points="165.4924,-414.0759 173.2179,-406.8256 162.6573,-407.6757 165.4924,-414.0759"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main$1 -->
<g id="node6" class="node">
<title>blitter.com/go/hkexsh/hkexsh.main$1</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="228.803" cy="-718" rx="34.8031" ry="18"/>
<text text-anchor="middle" x="228.803" y="-714.3" font-family="Verdana" font-size="14.00" fill="#000000">main$1</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh/hkexsh.main$1 -->
<g id="edge13" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh/hkexsh.main$1</title>
<path fill="none" stroke="#000000" d="M46.8131,-925.8836C56.081,-883.4567 80.8796,-779.3997 106,-755 122.5289,-738.9453 145.7615,-729.8244 167.577,-724.6548"/>
<polygon fill="#000000" stroke="#000000" points="185.0575,-725.1243 194.2971,-719.9397 183.841,-718.2308 185.0575,-725.1243"/>
<polyline fill="none" stroke="#000000" points="184.4492,-721.6775 179.5253,-722.5464 "/>
<polygon fill="none" stroke="#000000" points="167.7079,-724.6318 172.9215,-719.65 179.5253,-722.5464 174.3117,-727.5283 167.7079,-724.6318"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main$2 -->
<g id="node7" class="node">
<title>blitter.com/go/hkexsh/hkexsh.main$2</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="228.803" cy="-1395" rx="34.8031" ry="18"/>
<text text-anchor="middle" x="228.803" y="-1391.3" font-family="Verdana" font-size="14.00" fill="#000000">main$2</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh/hkexsh.main$2 -->
<g id="edge31" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh/hkexsh.main$2</title>
<path fill="none" stroke="#000000" d="M43.2683,-962.1827C44.6936,-1034.0671 53.4746,-1297.454 106,-1358 122.2754,-1376.7606 147.6812,-1386.1971 171.1713,-1390.873"/>
<polygon fill="#000000" stroke="#000000" points="183.6551,-1396.2096 194.0523,-1394.1728 184.6543,-1389.2812 183.6551,-1396.2096"/>
<polyline fill="none" stroke="#000000" points="184.1547,-1392.7454 179.2059,-1392.0317 "/>
<ellipse fill="none" stroke="#000000" cx="175.2469" cy="-1391.4607" rx="4" ry="4"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.doShellMode -->
<g id="node9" class="node">
<title>blitter.com/go/hkexsh/hkexsh.doShellMode</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="228.803" cy="-454" rx="55.0038" ry="18"/>
<text text-anchor="middle" x="228.803" y="-450.3" font-family="Verdana" font-size="14.00" fill="#000000">doShellMode</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh/hkexsh.doShellMode -->
<g id="edge44" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh/hkexsh.doShellMode</title>
<path fill="none" stroke="#000000" d="M44.3721,-925.8501C50.5943,-845.5544 77.1099,-524.7363 106,-491 120.6948,-473.8402 143.0313,-464.4704 164.644,-459.4112"/>
<polygon fill="#000000" stroke="#000000" points="165.4075,-462.8275 174.4932,-457.3776 163.992,-455.9721 165.4075,-462.8275"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.doCopyMode -->
<g id="node15" class="node">
<title>blitter.com/go/hkexsh/hkexsh.doCopyMode</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="468.4588" cy="-1208" rx="56.2041" ry="18"/>
<text text-anchor="middle" x="468.4588" y="-1204.3" font-family="Verdana" font-size="14.00" fill="#000000">doCopyMode</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh/hkexsh.doCopyMode -->
<g id="edge51" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh/hkexsh.doCopyMode</title>
<path fill="none" stroke="#000000" d="M46.9733,-961.9729C56.3941,-1003.0014 81.1638,-1101.7322 106,-1124 188.2747,-1197.7664 322.4448,-1210.4552 402.4139,-1210.7555"/>
<polygon fill="#000000" stroke="#000000" points="402.858,-1214.2543 412.8479,-1210.7254 402.8378,-1207.2543 402.858,-1214.2543"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.UsageShell -->
<g id="node16" class="node">
<title>blitter.com/go/hkexsh/hkexsh.UsageShell</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="228.803" cy="-596" rx="48.3036" ry="18"/>
<text text-anchor="middle" x="228.803" y="-592.3" font-family="Verdana" font-size="14.00" fill="#000000">UsageShell</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh/hkexsh.UsageShell -->
<g id="edge53" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh/hkexsh.UsageShell</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M46.3747,-925.9688C58.0552,-865.3721 98.4921,-670.4219 143,-627 152.0352,-618.1853 163.7604,-611.8544 175.6251,-607.3152"/>
<polygon fill="#000000" stroke="#000000" points="176.8056,-610.6105 185.1215,-604.0458 174.5268,-603.9918 176.8056,-610.6105"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.UsageCp -->
<g id="node17" class="node">
<title>blitter.com/go/hkexsh/hkexsh.UsageCp</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="228.803" cy="-657" rx="39.703" ry="18"/>
<text text-anchor="middle" x="228.803" y="-653.3" font-family="Verdana" font-size="14.00" fill="#000000">UsageCp</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh/hkexsh.UsageCp -->
<g id="edge54" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh/hkexsh.UsageCp</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M44.2198,-925.9893C48.452,-878.7121 66.7662,-750.4247 143,-688 154.3402,-678.714 168.6936,-672.0907 182.3999,-667.4185"/>
<polygon fill="#000000" stroke="#000000" points="183.7132,-670.6751 192.2136,-664.351 181.6248,-663.9938 183.7132,-670.6751"/>
</g>
<!-- blitter.com/go/hkexsh.MakeRaw -->
<g id="node18" class="node">
<title>blitter.com/go/hkexsh.MakeRaw</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="713.0647" cy="-387" rx="42.2035" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-383.3" font-family="Verdana" font-size="14.00" fill="#000000">MakeRaw</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh.MakeRaw -->
<g id="edge11" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh.MakeRaw</title>
<path fill="none" stroke="#8b4513" d="M49.1972,-926.3312C61.5137,-894.0744 92.338,-826.0263 143,-794 208.1486,-752.8159 247.1193,-806.2292 314.606,-769 360.6807,-743.5827 577.4703,-436.5352 622.3116,-409 634.0913,-401.7665 648.0918,-396.911 661.5269,-393.6518"/>
<polygon fill="#8b4513" stroke="#8b4513" points="662.6135,-396.9976 671.6445,-391.4577 661.1299,-390.1566 662.6135,-396.9976"/>
</g>
<!-- blitter.com/go/hkexsh.Restore -->
<g id="node19" class="node">
<title>blitter.com/go/hkexsh.Restore</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="713.0647" cy="-326" rx="34.8031" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-322.3" font-family="Verdana" font-size="14.00" fill="#000000">Restore</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh.Restore -->
<g id="edge52" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh.Restore</title>
<path fill="none" stroke="#8b4513" d="M46.8735,-926.0437C56.0411,-888.5339 82.9602,-802.4145 143,-767 176.0265,-747.5193 285.9611,-774.4896 314.606,-749 425.2022,-650.586 286.2136,-531.8723 387.606,-424 438.8649,-369.4652 477.6448,-398.573 549.3116,-377 591.8174,-364.205 640.3491,-349.0171 673.4741,-338.5622"/>
<polygon fill="#8b4513" stroke="#8b4513" points="674.7554,-341.828 683.236,-335.4774 672.6461,-335.1533 674.7554,-341.828"/>
</g>
<!-- blitter.com/go/hkexsh.ReadPassword -->
<g id="node20" class="node">
<title>blitter.com/go/hkexsh.ReadPassword</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="713.0647" cy="-525" rx="61.7044" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-521.3" font-family="Verdana" font-size="14.00" fill="#000000">ReadPassword</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh.ReadPassword -->
<g id="edge14" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh.ReadPassword</title>
<path fill="none" stroke="#8b4513" d="M52.4076,-927.0471C67.7045,-901.276 100.5753,-852.8327 143,-830 318.1311,-735.7455 444.0006,-907.933 586.3116,-769 657.8346,-699.1747 554.4076,-620.3496 622.3116,-547 628.1694,-540.6724 635.5106,-536.0244 643.4659,-532.6313"/>
<polygon fill="#8b4513" stroke="#8b4513" points="644.8036,-535.8699 653.0347,-529.1991 642.4402,-529.2809 644.8036,-535.8699"/>
</g>
<!-- blitter.com/go/hkexsh.NewSession -->
<g id="node21" class="node">
<title>blitter.com/go/hkexsh.NewSession</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="713.0647" cy="-1029" rx="52.0048" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-1025.3" font-family="Verdana" font-size="14.00" fill="#000000">NewSession</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh.NewSession -->
<g id="edge15" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh.NewSession</title>
<path fill="none" stroke="#8b4513" d="M57.9696,-959.4715C70.1028,-971.3892 88.073,-987.6874 106,-999 154.5442,-1029.6331 171.4015,-1039 228.803,-1039 228.803,-1039 228.803,-1039 468.4588,-1039 530.7554,-1039 601.9022,-1035.7218 651.3426,-1032.9193"/>
<polygon fill="#8b4513" stroke="#8b4513" points="651.7706,-1036.4005 661.5522,-1032.3299 651.367,-1029.4122 651.7706,-1036.4005"/>
</g>
<!-- (*blitter.com/go/hkexsh.Session).SetStatus -->
<g id="node22" class="node">
<title>(*blitter.com/go/hkexsh.Session).SetStatus</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="713.0647" cy="-464" rx="42.2035" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-460.3" font-family="Verdana" font-size="14.00" fill="#000000">SetStatus</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(*blitter.com/go/hkexsh.Session).SetStatus -->
<g id="edge25" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(*blitter.com/go/hkexsh.Session).SetStatus</title>
<path fill="none" stroke="#8b4513" d="M66.9923,-935.419C102.056,-923.6657 169.5743,-904 228.803,-904 228.803,-904 228.803,-904 351.106,-904 395.2463,-904 514.7385,-918.4422 549.3116,-891 620.9404,-834.1451 561.3433,-554.1618 622.3116,-486 632.1471,-475.004 646.4576,-469.0455 660.8188,-465.9328"/>
<polygon fill="#8b4513" stroke="#8b4513" points="661.4657,-469.3728 670.7149,-464.2054 660.262,-462.4771 661.4657,-469.3728"/>
</g>
<!-- (blitter.com/go/hkexsh.Session).Op -->
<g id="node23" class="node">
<title>(blitter.com/go/hkexsh.Session).Op</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="713.0647" cy="-785" rx="27" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-781.3" font-family="Verdana" font-size="14.00" fill="#000000">Op</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(blitter.com/go/hkexsh.Session).Op -->
<g id="edge16" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(blitter.com/go/hkexsh.Session).Op</title>
<path fill="none" stroke="#8b4513" d="M69.7215,-947.2824C105.7758,-951.4204 172.0307,-958 228.803,-958 228.803,-958 228.803,-958 351.106,-958 439.6447,-958 473.1591,-983.1653 549.3116,-938 603.6596,-905.7667 574.2497,-857.0213 622.3116,-816 637.6271,-802.928 658.7258,-795.2884 676.7256,-790.8658"/>
<polygon fill="#8b4513" stroke="#8b4513" points="677.6182,-794.253 686.6235,-788.6713 676.103,-787.419 677.6182,-794.253"/>
</g>
<!-- (blitter.com/go/hkexsh.Session).Who -->
<g id="node24" class="node">
<title>(blitter.com/go/hkexsh.Session).Who</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="713.0647" cy="-907" rx="27" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-903.3" font-family="Verdana" font-size="14.00" fill="#000000">Who</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(blitter.com/go/hkexsh.Session).Who -->
<g id="edge17" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(blitter.com/go/hkexsh.Session).Who</title>
<path fill="none" stroke="#8b4513" d="M66.6825,-952.695C101.6403,-964.7302 169.3427,-985 228.803,-985 228.803,-985 228.803,-985 468.4588,-985 539.9573,-985 554.9469,-961.959 622.3116,-938 641.0636,-931.3306 662.0911,-924.1305 679.1803,-918.3494"/>
<polygon fill="#8b4513" stroke="#8b4513" points="680.3836,-921.6374 688.7401,-915.1244 678.146,-915.0046 680.3836,-921.6374"/>
</g>
<!-- (blitter.com/go/hkexsh.Session).ConnHost -->
<g id="node25" class="node">
<title>(blitter.com/go/hkexsh.Session).ConnHost</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="713.0647" cy="-968" rx="42.8032" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-964.3" font-family="Verdana" font-size="14.00" fill="#000000">ConnHost</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(blitter.com/go/hkexsh.Session).ConnHost -->
<g id="edge18" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(blitter.com/go/hkexsh.Session).ConnHost</title>
<path fill="none" stroke="#8b4513" d="M58.1801,-959.0303C70.1511,-969.9659 87.8111,-984.1753 106,-992 156.7972,-1013.8526 173.5048,-1012 228.803,-1012 228.803,-1012 228.803,-1012 468.4588,-1012 505.882,-1012 604.8973,-991.7979 664.8531,-978.7715"/>
<polygon fill="#8b4513" stroke="#8b4513" points="665.8245,-982.1419 674.847,-976.5881 664.3303,-975.3033 665.8245,-982.1419"/>
</g>
<!-- (blitter.com/go/hkexsh.Session).TermType -->
<g id="node26" class="node">
<title>(blitter.com/go/hkexsh.Session).TermType</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="713.0647" cy="-602" rx="42.8032" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-598.3" font-family="Verdana" font-size="14.00" fill="#000000">TermType</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(blitter.com/go/hkexsh.Session).TermType -->
<g id="edge19" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(blitter.com/go/hkexsh.Session).TermType</title>
<path fill="none" stroke="#8b4513" d="M44.067,-925.7254C47.6656,-871.631 61.7238,-708.1537 106,-581 117.3143,-548.5071 115.0529,-533.069 143,-513 174.4451,-490.419 190.09,-498 228.803,-498 228.803,-498 228.803,-498 468.4588,-498 505.4764,-498 516.3632,-501.1265 549.3116,-518 587.1992,-537.403 584.3787,-560.6855 622.3116,-580 634.63,-586.2723 648.8103,-590.8069 662.2458,-594.0656"/>
<polygon fill="#8b4513" stroke="#8b4513" points="661.8093,-597.5542 672.3315,-596.3165 663.334,-590.7223 661.8093,-597.5542"/>
</g>
<!-- (blitter.com/go/hkexsh.Session).Cmd -->
<g id="node27" class="node">
<title>(blitter.com/go/hkexsh.Session).Cmd</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="713.0647" cy="-846" rx="27" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-842.3" font-family="Verdana" font-size="14.00" fill="#000000">Cmd</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(blitter.com/go/hkexsh.Session).Cmd -->
<g id="edge20" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(blitter.com/go/hkexsh.Session).Cmd</title>
<path fill="none" stroke="#8b4513" d="M44.8696,-925.8453C52.4194,-856.551 83.1615,-610.3822 143,-566 204.2587,-520.5645 242.7319,-540.4827 314.606,-566 480.6571,-624.9529 467.7422,-731.4024 622.3116,-816 639.5908,-825.4571 660.358,-832.5941 677.6635,-837.5293"/>
<polygon fill="#8b4513" stroke="#8b4513" points="676.8318,-840.9302 687.4001,-840.1815 678.6716,-834.1762 676.8318,-840.9302"/>
</g>
<!-- (blitter.com/go/hkexsh.Session).AuthCookie -->
<g id="node28" class="node">
<title>(blitter.com/go/hkexsh.Session).AuthCookie</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="713.0647" cy="-663" rx="49.5034" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-659.3" font-family="Verdana" font-size="14.00" fill="#000000">AuthCookie</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(blitter.com/go/hkexsh.Session).AuthCookie -->
<g id="edge21" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(blitter.com/go/hkexsh.Session).AuthCookie</title>
<path fill="none" stroke="#8b4513" d="M44.3809,-925.6474C50.3568,-851.9423 76.7409,-579.1677 143,-532 174.1702,-509.811 190.5416,-525 228.803,-525 228.803,-525 228.803,-525 468.4588,-525 552.0033,-525 547.6621,-595.488 622.3116,-633 635.0783,-639.4154 649.5233,-644.909 663.0735,-649.3751"/>
<polygon fill="#8b4513" stroke="#8b4513" points="662.1549,-652.7555 672.7452,-652.444 664.2721,-646.0834 662.1549,-652.7555"/>
</g>
<!-- (blitter.com/go/hkexsh.Session).Status -->
<g id="node29" class="node">
<title>(blitter.com/go/hkexsh.Session).Status</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="713.0647" cy="-724" rx="29.9034" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-720.3" font-family="Verdana" font-size="14.00" fill="#000000">Status</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(blitter.com/go/hkexsh.Session).Status -->
<g id="edge45" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(blitter.com/go/hkexsh.Session).Status</title>
<path fill="none" stroke="#8b4513" d="M69.728,-940.9521C105.7897,-937.1097 172.0527,-931 228.803,-931 228.803,-931 228.803,-931 351.106,-931 395.3753,-931 511.2353,-933.5827 549.3116,-911 615.1517,-871.9508 567.9097,-808.8534 622.3116,-755 636.0604,-741.3898 656.0249,-733.7481 673.73,-729.4608"/>
<polygon fill="#8b4513" stroke="#8b4513" points="674.7808,-732.8155 683.8294,-727.3044 673.319,-725.9698 674.7808,-732.8155"/>
</g>
<!-- blitter.com/go/hkexsh/hkexnet.Init -->
<g id="node30" class="node">
<title>blitter.com/go/hkexsh/hkexnet.Init</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="713.0647" cy="-1331" rx="27" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-1327.3" font-family="Verdana" font-size="14.00" fill="#000000">Init</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh/hkexnet.Init -->
<g id="edge7" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh/hkexnet.Init</title>
<path fill="none" stroke="#8b4513" d="M43.9147,-962.0088C47.4701,-1014.2054 64.4229,-1167.6548 143,-1259 174.1992,-1295.2688 180.9614,-1324 228.803,-1324 228.803,-1324 228.803,-1324 468.4588,-1324 541.9224,-1324 627.746,-1327.1939 675.7128,-1329.2669"/>
<polygon fill="#8b4513" stroke="#8b4513" points="675.7805,-1332.7731 685.9247,-1329.7161 676.0882,-1325.7799 675.7805,-1332.7731"/>
</g>
<!-- blitter.com/go/hkexsh/hkexnet.Dial -->
<g id="node31" class="node">
<title>blitter.com/go/hkexsh/hkexnet.Dial</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="713.0647" cy="-1392" rx="27" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-1388.3" font-family="Verdana" font-size="14.00" fill="#000000">Dial</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh/hkexnet.Dial -->
<g id="edge8" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh/hkexnet.Dial</title>
<path fill="none" stroke="#8b4513" d="M46.0265,-962.0435C57.17,-1026.6537 97.6302,-1245.4159 143,-1298 172.2811,-1331.9372 183.9798,-1351 228.803,-1351 228.803,-1351 228.803,-1351 468.4588,-1351 544.076,-1351 631.0557,-1370.2941 678.2243,-1382.411"/>
<polygon fill="#8b4513" stroke="#8b4513" points="677.384,-1385.8089 687.9441,-1384.9518 679.1544,-1379.0364 677.384,-1385.8089"/>
</g>
<!-- (*blitter.com/go/hkexsh/hkexnet.Conn).Close -->
<g id="node33" class="node">
<title>(*blitter.com/go/hkexsh/hkexnet.Conn).Close</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="713.0647" cy="-1591" rx="27" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-1587.3" font-family="Verdana" font-size="14.00" fill="#000000">Close</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).Close -->
<g id="edge9" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).Close</title>
<path fill="none" stroke="#8b4513" d="M44.7475,-962.0992C51.6998,-1032.5786 78.3624,-1288.5477 106,-1365 116.7799,-1394.8199 117.6376,-1406.969 143,-1426 174.5792,-1449.6959 189.322,-1449 228.803,-1449 228.803,-1449 228.803,-1449 468.4588,-1449 521.5867,-1449 545.0997,-1435.4716 586.3116,-1469 620.3714,-1496.7097 590.4412,-1530.7976 622.3116,-1561 632.61,-1570.7594 646.1525,-1577.3462 659.6234,-1581.791"/>
<polygon fill="#8b4513" stroke="#8b4513" points="675.5676,-1589.2727 686.1116,-1588.2362 677.2226,-1582.4712 675.5676,-1589.2727"/>
<polyline fill="none" stroke="#8b4513" points="676.3951,-1585.8719 671.5368,-1584.6898 "/>
<polygon fill="none" stroke="#8b4513" points="659.877,-1581.8526 666.6526,-1579.3846 671.5368,-1584.6898 664.7612,-1587.1578 659.877,-1581.8526"/>
</g>
<!-- (*blitter.com/go/hkexsh/hkexnet.Conn).SetupChaff -->
<g id="node34" class="node">
<title>(*blitter.com/go/hkexsh/hkexnet.Conn).SetupChaff</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="713.0647" cy="-1652" rx="47.7038" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-1648.3" font-family="Verdana" font-size="14.00" fill="#000000">SetupChaff</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).SetupChaff -->
<g id="edge26" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).SetupChaff</title>
<path fill="none" stroke="#8b4513" d="M43.5504,-962.0021C45.8152,-1021.7819 56.7895,-1218.5971 106,-1372 116.9899,-1406.2585 116.1071,-1420.1004 143,-1444 173.4228,-1471.0366 188.1026,-1476 228.803,-1476 228.803,-1476 228.803,-1476 468.4588,-1476 521.5867,-1476 546.7326,-1460.5588 586.3116,-1496 629.6996,-1534.8521 581.981,-1579.9828 622.3116,-1622 631.8349,-1631.9216 644.7033,-1638.5634 657.7529,-1643.0091"/>
<polygon fill="#8b4513" stroke="#8b4513" points="657.1309,-1646.4766 667.715,-1645.9987 659.143,-1639.772 657.1309,-1646.4766"/>
</g>
<!-- (*blitter.com/go/hkexsh/hkexnet.Conn).EnableChaff -->
<g id="node35" class="node">
<title>(*blitter.com/go/hkexsh/hkexnet.Conn).EnableChaff</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="713.0647" cy="-1713" rx="52.0048" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-1709.3" font-family="Verdana" font-size="14.00" fill="#000000">EnableChaff</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).EnableChaff -->
<g id="edge27" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).EnableChaff</title>
<path fill="none" stroke="#8b4513" d="M43.9453,-962.2035C47.4393,-1022.6802 61.7987,-1222.0161 106,-1380 117.3213,-1420.4643 113.2166,-1437.3608 143,-1467 172.3134,-1496.1715 187.4478,-1503 228.803,-1503 228.803,-1503 228.803,-1503 468.4588,-1503 521.5867,-1503 547.7584,-1486.4456 586.3116,-1523 639.2047,-1573.1508 573.3562,-1628.9985 622.3116,-1683 630.8422,-1692.4099 642.3842,-1698.8748 654.3744,-1703.3144"/>
<polygon fill="#8b4513" stroke="#8b4513" points="653.4451,-1706.6926 664.0374,-1706.4583 655.6109,-1700.0361 653.4451,-1706.6926"/>
</g>
<!-- (*blitter.com/go/hkexsh/hkexnet.Conn).DisableChaff -->
<g id="node36" class="node">
<title>(*blitter.com/go/hkexsh/hkexnet.Conn).DisableChaff</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="713.0647" cy="-1774" rx="54.4038" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-1770.3" font-family="Verdana" font-size="14.00" fill="#000000">DisableChaff</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).DisableChaff -->
<g id="edge28" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).DisableChaff</title>
<path fill="none" stroke="#8b4513" d="M43.7624,-962.078C47.7392,-1047.7504 68.846,-1412.0562 143,-1492 171.3634,-1522.5779 187.0958,-1530 228.803,-1530 228.803,-1530 228.803,-1530 468.4588,-1530 521.5867,-1530 548.4567,-1512.7229 586.3116,-1550 648.7957,-1611.5305 564.6518,-1677.9272 622.3116,-1744 626.6384,-1748.9582 631.8025,-1753.1001 637.4406,-1756.5598"/>
<polygon fill="#8b4513" stroke="#8b4513" points="651.786,-1766.5446 662.355,-1767.2832 654.5534,-1760.1149 651.786,-1766.5446"/>
<polyline fill="none" stroke="#8b4513" points="653.1697,-1763.3297 648.577,-1761.353 "/>
<polygon fill="none" stroke="#8b4513" points="637.5547,-1756.6088 644.6472,-1755.3068 648.577,-1761.353 641.4845,-1762.655 637.5547,-1756.6088"/>
</g>
<!-- (*blitter.com/go/hkexsh/hkexnet.Conn).ShutdownChaff -->
<g id="node37" class="node">
<title>(*blitter.com/go/hkexsh/hkexnet.Conn).ShutdownChaff</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="713.0647" cy="-1835" rx="64.2048" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-1831.3" font-family="Verdana" font-size="14.00" fill="#000000">ShutdownChaff</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).ShutdownChaff -->
<g id="edge29" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).ShutdownChaff</title>
<path fill="none" stroke="#8b4513" d="M43.7012,-962.305C46.5295,-1026.9229 59.2977,-1249.9747 106,-1427 117.1371,-1469.2154 112.7584,-1486.5101 143,-1518 172.0152,-1548.2128 186.9139,-1557 228.803,-1557 228.803,-1557 228.803,-1557 468.4588,-1557 598.1686,-1557 520.4327,-1724.7172 622.3116,-1805 626.3795,-1808.2056 630.8045,-1811.0756 635.439,-1813.644"/>
<polygon fill="#8b4513" stroke="#8b4513" points="649.9425,-1823.6816 660.5121,-1824.4116 652.7047,-1817.2496 649.9425,-1823.6816"/>
<polyline fill="none" stroke="#8b4513" points="651.3236,-1820.4656 646.7293,-1818.4926 "/>
<polygon fill="none" stroke="#8b4513" points="635.7031,-1813.7573 642.7946,-1812.4495 646.7293,-1818.4926 639.6378,-1819.8003 635.7031,-1813.7573"/>
</g>
<!-- (blitter.com/go/hkexsh/hkexnet.Conn).Write -->
<g id="node39" class="node">
<title>(blitter.com/go/hkexsh/hkexnet.Conn).Write</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="713.0647" cy="-1148" rx="27" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-1144.3" font-family="Verdana" font-size="14.00" fill="#000000">Write</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(blitter.com/go/hkexsh/hkexnet.Conn).Write -->
<g id="edge22" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(blitter.com/go/hkexsh/hkexnet.Conn).Write</title>
<path fill="none" stroke="#8b4513" d="M51.1041,-961.2204C73.0247,-1004.9787 138.0079,-1117 228.803,-1117 228.803,-1117 228.803,-1117 468.4588,-1117 543.0766,-1117 629.4896,-1131.3734 677.0375,-1140.5458"/>
<polygon fill="#8b4513" stroke="#8b4513" points="676.6497,-1144.0364 687.1368,-1142.5292 677.9987,-1137.1676 676.6497,-1144.0364"/>
</g>
<!-- (blitter.com/go/hkexsh/hkexnet.Conn).Read -->
<g id="node40" class="node">
<title>(blitter.com/go/hkexsh/hkexnet.Conn).Read</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="713.0647" cy="-1270" rx="27" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-1266.3" font-family="Verdana" font-size="14.00" fill="#000000">Read</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(blitter.com/go/hkexsh/hkexnet.Conn).Read -->
<g id="edge23" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;(blitter.com/go/hkexsh/hkexnet.Conn).Read</title>
<path fill="none" stroke="#8b4513" d="M44.5338,-961.9915C51.4307,-1030.3338 85.8111,-1270 228.803,-1270 228.803,-1270 228.803,-1270 468.4588,-1270 541.8923,-1270 627.7265,-1270 675.7033,-1270"/>
<polygon fill="#8b4513" stroke="#8b4513" points="675.9174,-1273.5001 685.9174,-1270 675.9174,-1266.5001 675.9174,-1273.5001"/>
</g>
<!-- blitter.com/go/hkexsh/logger.New -->
<g id="node43" class="node">
<title>blitter.com/go/hkexsh/logger.New</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="713.0647" cy="-179" rx="27" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-175.3" font-family="Verdana" font-size="14.00" fill="#000000">New</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh/logger.New -->
<g id="edge6" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;blitter.com/go/hkexsh/logger.New</title>
<path fill="none" stroke="#8b4513" d="M43.593,-925.955C47.7611,-813.541 77.1018,-214 228.803,-214 228.803,-214 228.803,-214 468.4588,-214 504.462,-214 513.5737,-213.3628 549.3116,-209 593.7092,-203.58 644.2688,-193.7502 677.3167,-186.8226"/>
<polygon fill="#8b4513" stroke="#8b4513" points="678.3446,-190.1825 687.4013,-184.6846 676.8928,-183.3347 678.3446,-190.1825"/>
</g>
<!-- github.com/mattn/go&#45;isatty.IsTerminal -->
<g id="node45" class="node">
<title>github.com/mattn/go&#45;isatty.IsTerminal</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="228.803" cy="-1601" rx="45.2034" ry="18"/>
<text text-anchor="middle" x="228.803" y="-1597.3" font-family="Verdana" font-size="14.00" fill="#000000">IsTerminal</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main&#45;&gt;github.com/mattn/go&#45;isatty.IsTerminal -->
<g id="edge10" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main&#45;&gt;github.com/mattn/go&#45;isatty.IsTerminal</title>
<path fill="none" stroke="#8b4513" d="M43.7411,-962.2146C47.8416,-1059.4255 68.9192,-1514.5539 106,-1564 121.6748,-1584.9018 148.7784,-1594.4162 173.5415,-1598.5908"/>
<polygon fill="#8b4513" stroke="#8b4513" points="173.2133,-1602.0793 183.6076,-1600.028 174.2027,-1595.1496 173.2133,-1602.0793"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main$1&#45;&gt;blitter.com/go/hkexsh.Restore -->
<g id="edge12" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main$1&#45;&gt;blitter.com/go/hkexsh.Restore</title>
<path fill="none" stroke="#8b4513" d="M263.0291,-714.6025C281.1112,-710.961 302.0924,-703.4521 314.606,-688 394.1238,-589.8096 271.163,-504.251 350.606,-406 370.7225,-381.1208 577.7602,-346.6974 669.5983,-332.5106"/>
<polygon fill="#8b4513" stroke="#8b4513" points="670.3327,-335.939 679.6859,-330.9622 669.2706,-329.02 670.3327,-335.939"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.main$2&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket -->
<g id="edge30" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.main$2&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket</title>
<path fill="none" stroke="#8b4513" d="M262.9511,-1398.5781C326.7236,-1405.4622 468.1638,-1421.6832 586.3116,-1442 610.939,-1446.235 638.0552,-1451.8773 660.8652,-1456.9087"/>
<polygon fill="#8b4513" stroke="#8b4513" points="660.165,-1460.3384 670.6867,-1459.0957 661.6865,-1453.5058 660.165,-1460.3384"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.doShellMode$1 -->
<g id="node8" class="node">
<title>blitter.com/go/hkexsh/hkexsh.doShellMode$1</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="468.4588" cy="-454" rx="64.8047" ry="18"/>
<text text-anchor="middle" x="468.4588" y="-450.3" font-family="Verdana" font-size="14.00" fill="#000000">doShellMode$1</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.doShellMode$1&#45;&gt;blitter.com/go/hkexsh.Restore -->
<g id="edge33" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.doShellMode$1&#45;&gt;blitter.com/go/hkexsh.Restore</title>
<path fill="none" stroke="#8b4513" d="M507.7401,-439.5177C531.7402,-429.6096 562.324,-415.0181 586.3116,-397 605.4351,-382.6355 602.3524,-370.1787 622.3116,-357 636.9243,-347.3515 654.8476,-340.3986 670.8951,-335.5549"/>
<polygon fill="#8b4513" stroke="#8b4513" points="671.9306,-338.8993 680.5981,-332.8063 670.0228,-332.1643 671.9306,-338.8993"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.doShellMode$1&#45;&gt;(*blitter.com/go/hkexsh.Session).SetStatus -->
<g id="edge35" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.doShellMode$1&#45;&gt;(*blitter.com/go/hkexsh.Session).SetStatus</title>
<path fill="none" stroke="#8b4513" d="M532.7261,-456.6274C572.5763,-458.2565 623.1277,-460.3232 660.5632,-461.8536"/>
<polygon fill="#8b4513" stroke="#8b4513" points="660.6196,-465.3588 670.7543,-462.2703 660.9056,-458.3646 660.6196,-465.3588"/>
</g>
<!-- (blitter.com/go/hkexsh/hkexnet.Conn).GetStatus -->
<g id="node41" class="node">
<title>(blitter.com/go/hkexsh/hkexnet.Conn).GetStatus</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="713.0647" cy="-1209" rx="43.4031" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-1205.3" font-family="Verdana" font-size="14.00" fill="#000000">GetStatus</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.doShellMode$1&#45;&gt;(blitter.com/go/hkexsh/hkexnet.Conn).GetStatus -->
<g id="edge34" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.doShellMode$1&#45;&gt;(blitter.com/go/hkexsh/hkexnet.Conn).GetStatus</title>
<path fill="none" stroke="#8b4513" d="M472.3656,-471.9943C484.1087,-526.1176 520.0803,-692.1813 549.3116,-830 582.1912,-985.0195 516.768,-1060.7941 622.3116,-1179 632.3691,-1190.2641 646.7437,-1197.3109 661.0954,-1201.7153"/>
<polygon fill="#8b4513" stroke="#8b4513" points="660.4091,-1205.1548 670.9742,-1204.3617 662.2205,-1198.3932 660.4091,-1205.1548"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.doShellMode&#45;&gt;blitter.com/go/hkexsh/hkexsh.doShellMode$1 -->
<g id="edge36" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.doShellMode&#45;&gt;blitter.com/go/hkexsh/hkexsh.doShellMode$1</title>
<path fill="none" stroke="#000000" d="M284.0858,-454C312.5346,-454 347.9018,-454 380.0293,-454"/>
<polygon fill="#000000" stroke="#000000" points="393.2494,-457.5 403.2494,-454 393.2494,-450.5 393.2494,-457.5"/>
<polyline fill="none" stroke="#000000" points="393.2494,-454 388.2494,-454.0001 "/>
<ellipse fill="none" stroke="#000000" cx="384.2494" cy="-454.0001" rx="4" ry="4"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.handleTermResizes -->
<g id="node12" class="node">
<title>blitter.com/go/hkexsh/hkexsh.handleTermResizes</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="468.4588" cy="-258" rx="80.7059" ry="18"/>
<text text-anchor="middle" x="468.4588" y="-254.3" font-family="Verdana" font-size="14.00" fill="#000000">handleTermResizes</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.doShellMode&#45;&gt;blitter.com/go/hkexsh/hkexsh.handleTermResizes -->
<g id="edge40" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.doShellMode&#45;&gt;blitter.com/go/hkexsh/hkexsh.handleTermResizes</title>
<path fill="none" stroke="#000000" d="M275.973,-444.7213C289.6283,-440.2402 303.7602,-433.6512 314.606,-424 341.9287,-399.6865 333.1033,-382.1144 350.606,-350 365.7801,-322.158 363.2693,-309.3263 387.606,-289 393.6095,-283.9858 400.5125,-279.7292 407.7015,-276.1295"/>
<polygon fill="#000000" stroke="#000000" points="409.2777,-279.2574 416.9143,-271.9135 406.3648,-272.8922 409.2777,-279.2574"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.doShellMode$2 -->
<g id="node13" class="node">
<title>blitter.com/go/hkexsh/hkexsh.doShellMode$2</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="468.4588" cy="-319" rx="64.8047" ry="18"/>
<text text-anchor="middle" x="468.4588" y="-315.3" font-family="Verdana" font-size="14.00" fill="#000000">doShellMode$2</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.doShellMode&#45;&gt;blitter.com/go/hkexsh/hkexsh.doShellMode$2 -->
<g id="edge43" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.doShellMode&#45;&gt;blitter.com/go/hkexsh/hkexsh.doShellMode$2</title>
<path fill="none" stroke="#000000" d="M275.7722,-444.4918C289.4194,-440.0013 303.5971,-433.4648 314.606,-424 340.5363,-401.7065 324.3207,-377.8739 350.606,-356 361.7224,-346.7492 375.1604,-339.8047 388.9254,-334.5933"/>
<polygon fill="#000000" stroke="#000000" points="402.7973,-333.8954 411.2847,-327.5539 400.6952,-327.2184 402.7973,-333.8954"/>
<polyline fill="none" stroke="#000000" points="401.7463,-330.5569 396.9771,-332.0584 "/>
<ellipse fill="none" stroke="#000000" cx="393.1617" cy="-333.2596" rx="4" ry="4"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.handleTermResizes$1 -->
<g id="node10" class="node">
<title>blitter.com/go/hkexsh/hkexsh.handleTermResizes$1</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="713.0647" cy="-57" rx="90.507" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-53.3" font-family="Verdana" font-size="14.00" fill="#000000">handleTermResizes$1</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.GetSize -->
<g id="node11" class="node">
<title>blitter.com/go/hkexsh/hkexsh.GetSize</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="911.4691" cy="-57" rx="34.8031" ry="18"/>
<text text-anchor="middle" x="911.4691" y="-53.3" font-family="Verdana" font-size="14.00" fill="#000000">GetSize</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.handleTermResizes$1&#45;&gt;blitter.com/go/hkexsh/hkexsh.GetSize -->
<g id="edge37" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.handleTermResizes$1&#45;&gt;blitter.com/go/hkexsh/hkexsh.GetSize</title>
<path fill="none" stroke="#000000" d="M803.8476,-57C825.6139,-57 847.9248,-57 866.548,-57"/>
<polygon fill="#000000" stroke="#000000" points="866.7705,-60.5001 876.7705,-57 866.7705,-53.5001 866.7705,-60.5001"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.handleTermResizes$1&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket -->
<g id="edge38" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.handleTermResizes$1&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket</title>
<path fill="none" stroke="#8b4513" d="M643.3244,-68.6826C627.1761,-75.1259 612.3697,-85.0936 604.3116,-100.5 587.1375,-133.3354 587.1375,-1401.6646 604.3116,-1434.5 613.6573,-1452.3682 632.7676,-1461.4811 652.3987,-1465.9764"/>
<polygon fill="#8b4513" stroke="#8b4513" points="651.8693,-1469.4385 662.3488,-1467.8794 653.1843,-1462.5631 651.8693,-1469.4385"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.handleTermResizes&#45;&gt;blitter.com/go/hkexsh/hkexsh.handleTermResizes$1 -->
<g id="edge39" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.handleTermResizes&#45;&gt;blitter.com/go/hkexsh/hkexsh.handleTermResizes$1</title>
<path fill="none" stroke="#000000" d="M504.9778,-241.8425C519.9137,-234.017 536.6256,-223.5715 549.3116,-211 594.4653,-166.2537 572.9683,-128.0791 622.3116,-88 625.4213,-85.4741 628.7482,-83.1492 632.2241,-81.0098"/>
<polygon fill="#000000" stroke="#000000" points="645.8478,-78.2241 653.2838,-70.6772 642.7645,-71.9398 645.8478,-78.2241"/>
<polyline fill="none" stroke="#000000" points="644.3062,-75.0819 639.8173,-77.2843 "/>
<ellipse fill="none" stroke="#000000" cx="636.2263" cy="-79.0462" rx="4" ry="4"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.doShellMode$2$1 -->
<g id="node14" class="node">
<title>blitter.com/go/hkexsh/hkexsh.doShellMode$2$1</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="713.0647" cy="-118" rx="74.6057" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-114.3" font-family="Verdana" font-size="14.00" fill="#000000">doShellMode$2$1</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.doShellMode$2&#45;&gt;blitter.com/go/hkexsh/hkexsh.doShellMode$2$1 -->
<g id="edge41" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.doShellMode$2&#45;&gt;blitter.com/go/hkexsh/hkexsh.doShellMode$2$1</title>
<path fill="none" stroke="#000000" d="M517.8536,-307.2286C529.0953,-302.8587 540.3512,-296.9484 549.3116,-289 602.3976,-241.9093 568.1565,-192.8572 622.3116,-147 629.0067,-141.3307 636.8232,-136.7658 645.009,-133.0909"/>
<polygon fill="#000000" stroke="#000000" points="646.4078,-136.3007 654.3678,-129.3087 643.7849,-129.8107 646.4078,-136.3007"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.doShellMode$2&#45;&gt;blitter.com/go/hkexsh.Restore -->
<g id="edge42" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.doShellMode$2&#45;&gt;blitter.com/go/hkexsh.Restore</title>
<path fill="none" stroke="#8b4513" d="M533.0461,-320.8483C575.6116,-322.0664 630.279,-323.6309 668.1476,-324.7146"/>
<polygon fill="#8b4513" stroke="#8b4513" points="668.2629,-328.2192 678.3589,-325.0068 668.4632,-321.2221 668.2629,-328.2192"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.doCopyMode&#45;&gt;(blitter.com/go/hkexsh.Session).Cmd -->
<g id="edge46" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.doCopyMode&#45;&gt;(blitter.com/go/hkexsh.Session).Cmd</title>
<path fill="none" stroke="#8b4513" d="M475.9248,-1189.8122C503.1202,-1123.8835 596.6318,-900.0937 622.3116,-877 637.2835,-863.5358 658.3632,-855.8745 676.4387,-851.5383"/>
<polygon fill="#8b4513" stroke="#8b4513" points="677.3455,-854.9235 686.3886,-849.4031 675.8768,-848.0793 677.3455,-854.9235"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.doCopyMode&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket -->
<g id="edge47" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.doCopyMode&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket</title>
<path fill="none" stroke="#8b4513" d="M480.3574,-1225.762C501.8382,-1257.918 548.3865,-1328.0138 586.3116,-1388 602.7269,-1413.9642 597.4973,-1428.8931 622.3116,-1447 631.6303,-1453.7999 642.7802,-1458.5193 654.0232,-1461.7895"/>
<polygon fill="#8b4513" stroke="#8b4513" points="653.3288,-1465.2244 663.8838,-1464.3062 655.0599,-1458.4419 653.3288,-1465.2244"/>
</g>
<!-- (*blitter.com/go/hkexsh/hkexnet.Conn).SetStatus -->
<g id="node38" class="node">
<title>(*blitter.com/go/hkexsh/hkexnet.Conn).SetStatus</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="713.0647" cy="-1530" rx="42.2035" ry="18"/>
<text text-anchor="middle" x="713.0647" y="-1526.3" font-family="Verdana" font-size="14.00" fill="#000000">SetStatus</text>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.doCopyMode&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).SetStatus -->
<g id="edge49" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.doCopyMode&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).SetStatus</title>
<path fill="none" stroke="#8b4513" d="M477.4717,-1225.9944C508.6218,-1288.0654 610.4768,-1489.9797 622.3116,-1500 633.9392,-1509.8449 648.8996,-1516.4869 663.3066,-1520.9572"/>
<polygon fill="#8b4513" stroke="#8b4513" points="662.5708,-1524.3858 673.1445,-1523.7177 664.462,-1517.6461 662.5708,-1524.3858"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.doCopyMode&#45;&gt;(blitter.com/go/hkexsh/hkexnet.Conn).Read -->
<g id="edge48" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.doCopyMode&#45;&gt;(blitter.com/go/hkexsh/hkexnet.Conn).Read</title>
<path fill="none" stroke="#8b4513" d="M512.7551,-1219.2277C560.1684,-1231.2456 634.4262,-1250.0676 677.9635,-1261.1029"/>
<polygon fill="#8b4513" stroke="#8b4513" points="677.259,-1264.535 687.8125,-1263.5993 678.979,-1257.7496 677.259,-1264.535"/>
</g>
<!-- blitter.com/go/hkexsh/hkexsh.doCopyMode&#45;&gt;(blitter.com/go/hkexsh/hkexnet.Conn).GetStatus -->
<g id="edge50" class="edge">
<title>blitter.com/go/hkexsh/hkexsh.doCopyMode&#45;&gt;(blitter.com/go/hkexsh/hkexnet.Conn).GetStatus</title>
<path fill="none" stroke="#8b4513" d="M524.5763,-1208.2294C565.059,-1208.3949 619.3862,-1208.617 659.3146,-1208.7803"/>
<polygon fill="#8b4513" stroke="#8b4513" points="659.3815,-1212.2805 669.3958,-1208.8215 659.4102,-1205.2805 659.3815,-1212.2805"/>
</g>
</g>
</svg>