]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
doc: fix boot transition in mds state diagram
authorPatrick Donnelly <pdonnell@redhat.com>
Thu, 18 Apr 2019 19:48:37 +0000 (12:48 -0700)
committerPatrick Donnelly <pdonnell@redhat.com>
Thu, 18 Apr 2019 19:51:23 +0000 (12:51 -0700)
MDSMonitor assigns a booting MDS immediately to standby. From there, the
standby may be promoted to standby-replay or some state leading to active.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
doc/cephfs/mds-state-diagram.dot
doc/cephfs/mds-state-diagram.svg

index dee82506729aa9b54247d2406f5781d264884dcc..3ad192ef19ddadef298e0c79fb5b0e4918bef52d 100644 (file)
@@ -5,13 +5,20 @@ node [shape=circle,style=unfilled,fixedsize=true,width=2.0]
 node [color=blue,peripheries=1];
 N0 [label="up:boot"]
 
+node [color=green,peripheries=1];
+S1 [label="up:standby"]
+N0 -> S1 [color=green,penwidth=2.0];
+S2 [label="up:standby_replay"]
+S1 -> S2 [color=green,penwidth=2.0];
+
 node [color=orange,peripheries=2];
 N1 [label="up:creating"]
-N0 -> N1 [color=orange,penwidth=2.0];
+S1 -> N1 [color=orange,penwidth=2.0];
 N2 [label="up:starting"]
-N0 -> N2 [color=orange,penwidth=2.0];
+S1 -> N2 [color=orange,penwidth=2.0];
 N3 [label="up:replay"]
-N0 -> N3 [color=orange,penwidth=2.0];
+S1 -> N3 [color=orange,penwidth=2.0];
+S2 -> N3 [color=orange,penwidth=2.0];
 N4 [label="up:resolve"]
 N3 -> N4 [color=orange,penwidth=2.0];
 N5 [label="up:reconnect"]
@@ -28,11 +35,6 @@ N7 -> S0 [color=green,penwidth=2.0];
 N1 -> S0 [color=green,penwidth=2.0];
 N2 -> S0 [color=green,penwidth=2.0];
 N6 -> S0 [color=green,penwidth=2.0];
-node [color=green,peripheries=1];
-S1 [label="up:standby"]
-N0 -> S1 [color=green,penwidth=2.0];
-S2 [label="up:standby_replay"]
-N0 -> S2 [color=green,penwidth=2.0];
 
 // going down but still accessible by clients
 node [color=purple,peripheries=2];
index 6c3127a3c23b58b27565c4edd82749d7091f396c..d870a6e9b5a005f9e51172af85db1b08bf79e48b 100644 (file)
 <!-- Generated by graphviz version 2.40.1 (20161225.0304)
  -->
 <!-- Title: %3 Pages: 1 -->
-<svg width="783pt" height="1808pt"
- viewBox="0.00 0.00 783.00 1808.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(4 1804)">
+<svg width="756pt" height="1980pt"
+ viewBox="0.00 0.00 756.37 1980.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(4 1976)">
 <title>%3</title>
-<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1804 779,-1804 779,4 -4,4"/>
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1976 752.3688,-1976 752.3688,4 -4,4"/>
 <!-- N0 -->
 <g id="node1" class="node">
 <title>N0</title>
-<ellipse fill="none" stroke="#0000ff" cx="375" cy="-1728" rx="72" ry="72"/>
-<text text-anchor="middle" x="375" y="-1724.3" font-family="Times,serif" font-size="14.00" fill="#000000">up:boot</text>
+<ellipse fill="none" stroke="#0000ff" cx="529.3688" cy="-1900" rx="72" ry="72"/>
+<text text-anchor="middle" x="529.3688" y="-1896.3" font-family="Times,serif" font-size="14.00" fill="#000000">up:boot</text>
 </g>
-<!-- N1 -->
+<!-- S1 -->
 <g id="node2" class="node">
-<title>N1</title>
-<ellipse fill="none" stroke="#ffa500" cx="375" cy="-1544" rx="72" ry="72"/>
-<ellipse fill="none" stroke="#ffa500" cx="375" cy="-1544" rx="76" ry="76"/>
-<text text-anchor="middle" x="375" y="-1540.3" font-family="Times,serif" font-size="14.00" fill="#000000">up:creating</text>
+<title>S1</title>
+<ellipse fill="none" stroke="#00ff00" cx="529.3688" cy="-1720" rx="72" ry="72"/>
+<text text-anchor="middle" x="529.3688" y="-1716.3" font-family="Times,serif" font-size="14.00" fill="#000000">up:standby</text>
 </g>
-<!-- N0&#45;&gt;N1 -->
+<!-- N0&#45;&gt;S1 -->
 <g id="edge1" class="edge">
-<title>N0&#45;&gt;N1</title>
-<path fill="none" stroke="#ffa500" stroke-width="2" d="M375,-1655.8064C375,-1647.5034 375,-1638.9744 375,-1630.5077"/>
-<polygon fill="#ffa500" stroke="#ffa500" stroke-width="2" points="378.5001,-1630.2303 375,-1620.2304 371.5001,-1630.2304 378.5001,-1630.2303"/>
+<title>N0&#45;&gt;S1</title>
+<path fill="none" stroke="#00ff00" stroke-width="2" d="M529.3688,-1827.8243C529.3688,-1819.4801 529.3688,-1810.9229 529.3688,-1802.4555"/>
+<polygon fill="#00ff00" stroke="#00ff00" stroke-width="2" points="532.8689,-1802.1919 529.3688,-1792.1919 525.8689,-1802.192 532.8689,-1802.1919"/>
 </g>
-<!-- N2 -->
+<!-- S2 -->
 <g id="node3" class="node">
-<title>N2</title>
-<ellipse fill="none" stroke="#ffa500" cx="205" cy="-1544" rx="72" ry="72"/>
-<ellipse fill="none" stroke="#ffa500" cx="205" cy="-1544" rx="76" ry="76"/>
-<text text-anchor="middle" x="205" y="-1540.3" font-family="Times,serif" font-size="14.00" fill="#000000">up:starting</text>
+<title>S2</title>
+<ellipse fill="none" stroke="#00ff00" cx="402.3688" cy="-1540" rx="72" ry="72"/>
+<text text-anchor="middle" x="402.3688" y="-1536.3" font-family="Times,serif" font-size="14.00" fill="#000000">up:standby_replay</text>
 </g>
-<!-- N0&#45;&gt;N2 -->
+<!-- S1&#45;&gt;S2 -->
 <g id="edge2" class="edge">
-<title>N0&#45;&gt;N2</title>
-<path fill="none" stroke="#ffa500" stroke-width="2" d="M325.829,-1674.7796C306.3584,-1653.7056 283.8178,-1629.3086 263.5164,-1607.3354"/>
-<polygon fill="#ffa500" stroke="#ffa500" stroke-width="2" points="266.082,-1604.9547 256.7251,-1599.9848 260.9405,-1609.705 266.082,-1604.9547"/>
+<title>S1&#45;&gt;S2</title>
+<path fill="none" stroke="#00ff00" stroke-width="2" d="M487.7842,-1661.0613C475.7237,-1643.9675 462.4609,-1625.1699 450.0576,-1607.5904"/>
+<polygon fill="#00ff00" stroke="#00ff00" stroke-width="2" points="452.6717,-1605.2243 444.0468,-1599.0711 446.952,-1609.2599 452.6717,-1605.2243"/>
 </g>
-<!-- N3 -->
+<!-- N1 -->
 <g id="node4" class="node">
-<title>N3</title>
-<ellipse fill="none" stroke="#ffa500" cx="98" cy="-900" rx="72" ry="72"/>
-<ellipse fill="none" stroke="#ffa500" cx="98" cy="-900" rx="76" ry="76"/>
-<text text-anchor="middle" x="98" y="-896.3" font-family="Times,serif" font-size="14.00" fill="#000000">up:replay</text>
+<title>N1</title>
+<ellipse fill="none" stroke="#ffa500" cx="568.3688" cy="-1356" rx="72" ry="72"/>
+<ellipse fill="none" stroke="#ffa500" cx="568.3688" cy="-1356" rx="76" ry="76"/>
+<text text-anchor="middle" x="568.3688" y="-1352.3" font-family="Times,serif" font-size="14.00" fill="#000000">up:creating</text>
 </g>
-<!-- N0&#45;&gt;N3 -->
+<!-- S1&#45;&gt;N1 -->
 <g id="edge3" class="edge">
-<title>N0&#45;&gt;N3</title>
-<path fill="none" stroke="#ffa500" stroke-width="2" d="M303.6813,-1718.116C244.3606,-1705.8591 162.9365,-1678.8371 120,-1620 50.549,-1524.8294 96,-1473.8172 96,-1356 96,-1356 96,-1356 96,-1168 96,-1107.3668 96.5182,-1039.0195 97.0271,-986.5224"/>
-<polygon fill="#ffa500" stroke="#ffa500" stroke-width="2" points="100.5296,-986.2755 97.1286,-976.2414 93.53,-986.2063 100.5296,-986.2755"/>
+<title>S1&#45;&gt;N1</title>
+<path fill="none" stroke="#ffa500" stroke-width="2" d="M537.0739,-1648.0853C543.4139,-1588.912 552.4184,-1504.87 559.1421,-1442.1155"/>
+<polygon fill="#ffa500" stroke="#ffa500" stroke-width="2" points="562.6577,-1442.1568 560.243,-1431.8408 555.6975,-1441.411 562.6577,-1442.1568"/>
 </g>
-<!-- S1 -->
-<g id="node10" class="node">
-<title>S1</title>
-<ellipse fill="none" stroke="#00ff00" cx="541" cy="-1544" rx="72" ry="72"/>
-<text text-anchor="middle" x="541" y="-1540.3" font-family="Times,serif" font-size="14.00" fill="#000000">up:standby</text>
+<!-- N2 -->
+<g id="node5" class="node">
+<title>N2</title>
+<ellipse fill="none" stroke="#ffa500" cx="672.3688" cy="-604" rx="72" ry="72"/>
+<ellipse fill="none" stroke="#ffa500" cx="672.3688" cy="-604" rx="76" ry="76"/>
+<text text-anchor="middle" x="672.3688" y="-600.3" font-family="Times,serif" font-size="14.00" fill="#000000">up:starting</text>
 </g>
-<!-- N0&#45;&gt;S1 -->
-<g id="edge13" class="edge">
-<title>N0&#45;&gt;S1</title>
-<path fill="none" stroke="#00ff00" stroke-width="2" d="M423.4603,-1674.285C443.0634,-1652.5563 465.795,-1627.3597 486.014,-1604.9483"/>
-<polygon fill="#00ff00" stroke="#00ff00" stroke-width="2" points="488.6666,-1607.2332 492.7664,-1597.4637 483.4691,-1602.5441 488.6666,-1607.2332"/>
+<!-- S1&#45;&gt;N2 -->
+<g id="edge4" class="edge">
+<title>S1&#45;&gt;N2</title>
+<path fill="none" stroke="#ffa500" stroke-width="2" d="M569.2023,-1659.7191C611.5148,-1589.7402 672.3688,-1469.3866 672.3688,-1356 672.3688,-1356 672.3688,-1356 672.3688,-980 672.3688,-880.6681 672.3688,-766.5754 672.3688,-690.3655"/>
+<polygon fill="#ffa500" stroke="#ffa500" stroke-width="2" points="675.8689,-690.3343 672.3688,-680.3343 668.8689,-690.3344 675.8689,-690.3343"/>
 </g>
-<!-- S2 -->
-<g id="node11" class="node">
-<title>S2</title>
-<ellipse fill="none" stroke="#00ff00" cx="703" cy="-1544" rx="72" ry="72"/>
-<text text-anchor="middle" x="703" y="-1540.3" font-family="Times,serif" font-size="14.00" fill="#000000">up:standby_replay</text>
+<!-- N3 -->
+<g id="node6" class="node">
+<title>N3</title>
+<ellipse fill="none" stroke="#ffa500" cx="398.3688" cy="-1356" rx="72" ry="72"/>
+<ellipse fill="none" stroke="#ffa500" cx="398.3688" cy="-1356" rx="76" ry="76"/>
+<text text-anchor="middle" x="398.3688" y="-1352.3" font-family="Times,serif" font-size="14.00" fill="#000000">up:replay</text>
 </g>
-<!-- N0&#45;&gt;S2 -->
-<g id="edge14" class="edge">
-<title>N0&#45;&gt;S2</title>
-<path fill="none" stroke="#00ff00" stroke-width="2" d="M443.4232,-1705.2759C494.8612,-1686.5285 565.831,-1657.0318 622,-1620 629.8031,-1614.8555 637.5551,-1608.9346 644.9954,-1602.7159"/>
-<polygon fill="#00ff00" stroke="#00ff00" stroke-width="2" points="647.6445,-1605.0534 652.9345,-1595.8736 643.0746,-1599.7509 647.6445,-1605.0534"/>
+<!-- S1&#45;&gt;N3 -->
+<g id="edge5" class="edge">
+<title>S1&#45;&gt;N3</title>
+<path fill="none" stroke="#ffa500" stroke-width="2" d="M525.1622,-1647.8711C520.0317,-1596.0056 508.6442,-1525.3873 483.3688,-1468 476.1463,-1451.6015 466.077,-1435.3985 455.3873,-1420.6272"/>
+<polygon fill="#ffa500" stroke="#ffa500" stroke-width="2" points="458.1754,-1418.5111 449.3989,-1412.576 452.5587,-1422.6887 458.1754,-1418.5111"/>
+</g>
+<!-- S2&#45;&gt;N3 -->
+<g id="edge6" class="edge">
+<title>S2&#45;&gt;N3</title>
+<path fill="none" stroke="#ffa500" stroke-width="2" d="M400.7994,-1467.8064C400.6169,-1459.4122 400.4294,-1450.7869 400.2433,-1442.2286"/>
+<polygon fill="#ffa500" stroke="#ffa500" stroke-width="2" points="403.7426,-1442.1519 400.026,-1432.2304 396.7442,-1442.3041 403.7426,-1442.1519"/>
 </g>
 <!-- S0 -->
-<g id="node9" class="node">
+<g id="node11" class="node">
 <title>S0</title>
-<ellipse fill="none" stroke="#00ff00" cx="375" cy="-1356" rx="72" ry="72"/>
-<ellipse fill="none" stroke="#00ff00" cx="375" cy="-1356" rx="76" ry="76"/>
-<text text-anchor="middle" x="375" y="-1352.3" font-family="Times,serif" font-size="14.00" fill="#000000">up:active</text>
+<ellipse fill="none" stroke="#00ff00" cx="474.3688" cy="-416" rx="72" ry="72"/>
+<ellipse fill="none" stroke="#00ff00" cx="474.3688" cy="-416" rx="76" ry="76"/>
+<text text-anchor="middle" x="474.3688" y="-412.3" font-family="Times,serif" font-size="14.00" fill="#000000">up:active</text>
 </g>
 <!-- N1&#45;&gt;S0 -->
-<g id="edge10" class="edge">
+<g id="edge13" class="edge">
 <title>N1&#45;&gt;S0</title>
-<path fill="none" stroke="#00ff00" stroke-width="2" d="M375,-1467.8042C375,-1459.4826 375,-1450.9678 375,-1442.5337"/>
-<polygon fill="#00ff00" stroke="#00ff00" stroke-width="2" points="378.5001,-1442.3042 375,-1432.3043 371.5001,-1442.3043 378.5001,-1442.3042"/>
+<path fill="none" stroke="#00ff00" stroke-width="2" d="M568.3688,-1279.6657C568.3688,-1203.6994 568.3688,-1083.7917 568.3688,-980 568.3688,-980 568.3688,-980 568.3688,-792 568.3688,-687.305 533.6439,-570.9765 506.4053,-495.8318"/>
+<polygon fill="#00ff00" stroke="#00ff00" stroke-width="2" points="509.6832,-494.6043 502.9547,-486.4202 503.1109,-497.0139 509.6832,-494.6043"/>
 </g>
 <!-- N2&#45;&gt;S0 -->
-<g id="edge11" class="edge">
+<g id="edge14" class="edge">
 <title>N2&#45;&gt;S0</title>
-<path fill="none" stroke="#00ff00" stroke-width="2" d="M256.0056,-1487.5938C275.1652,-1466.4055 297.0838,-1442.1662 316.8451,-1420.3125"/>
-<polygon fill="#00ff00" stroke="#00ff00" stroke-width="2" points="319.6258,-1422.4558 323.7368,-1412.691 314.4337,-1417.7608 319.6258,-1422.4558"/>
+<path fill="none" stroke="#00ff00" stroke-width="2" d="M617.2148,-551.6315C592.3238,-527.9977 562.7987,-499.9638 537.0702,-475.5347"/>
+<polygon fill="#00ff00" stroke="#00ff00" stroke-width="2" points="539.2319,-472.7608 529.5701,-468.4134 534.412,-477.8371 539.2319,-472.7608"/>
 </g>
 <!-- D0 -->
 <g id="node13" class="node">
 <title>D0</title>
-<polygon fill="none" stroke="#ff0000" points="276.9505,-1034 240.9752,-1052 169.0248,-1052 133.0495,-1034 169.0248,-1016 240.9752,-1016 276.9505,-1034"/>
-<polygon fill="none" stroke="#ff0000" points="285.8886,-1034 241.9189,-1056 168.0811,-1056 124.1114,-1034 168.0811,-1012 241.9189,-1012 285.8886,-1034"/>
-<text text-anchor="middle" x="205" y="-1030.3" font-family="Times,serif" font-size="14.00" fill="#000000">down:failed</text>
+<polygon fill="none" stroke="#ff0000" points="400.3193,-22 364.344,-40 292.3936,-40 256.4183,-22 292.3936,-4 364.344,-4 400.3193,-22"/>
+<polygon fill="none" stroke="#ff0000" points="409.2574,-22 365.2876,-44 291.4499,-44 247.4802,-22 291.4499,0 365.2876,0 409.2574,-22"/>
+<text text-anchor="middle" x="328.3688" y="-18.3" font-family="Times,serif" font-size="14.00" fill="#000000">down:failed</text>
 </g>
 <!-- N2&#45;&gt;D0 -->
-<g id="edge16" class="edge">
+<g id="edge17" class="edge">
 <title>N2&#45;&gt;D0</title>
-<path fill="none" stroke="#ff0000" stroke-width="2" d="M205,-1467.9234C205,-1354.6806 205,-1146.5379 205,-1066.5209"/>
-<polygon fill="#ff0000" stroke="#ff0000" stroke-width="2" points="208.5001,-1066.1037 205,-1056.1037 201.5001,-1066.1037 208.5001,-1066.1037"/>
+<path fill="none" stroke="#ff0000" stroke-width="2" d="M694.3918,-531.0749C723.206,-419.3057 758.0861,-205.4415 648.3688,-80 618.1861,-45.4916 497.5217,-31.4247 413.3193,-25.7515"/>
+<polygon fill="#ff0000" stroke="#ff0000" stroke-width="2" points="413.4449,-22.2524 403.2401,-25.1004 412.9936,-29.2378 413.4449,-22.2524"/>
 </g>
 <!-- N4 -->
-<g id="node5" class="node">
+<g id="node7" class="node">
 <title>N4</title>
-<ellipse fill="none" stroke="#ffa500" cx="142" cy="-712" rx="72" ry="72"/>
-<ellipse fill="none" stroke="#ffa500" cx="142" cy="-712" rx="76" ry="76"/>
-<text text-anchor="middle" x="142" y="-708.3" font-family="Times,serif" font-size="14.00" fill="#000000">up:resolve</text>
+<ellipse fill="none" stroke="#ffa500" cx="211.3688" cy="-1168" rx="72" ry="72"/>
+<ellipse fill="none" stroke="#ffa500" cx="211.3688" cy="-1168" rx="76" ry="76"/>
+<text text-anchor="middle" x="211.3688" y="-1164.3" font-family="Times,serif" font-size="14.00" fill="#000000">up:resolve</text>
 </g>
 <!-- N3&#45;&gt;N4 -->
-<g id="edge4" class="edge">
+<g id="edge7" class="edge">
 <title>N3&#45;&gt;N4</title>
-<path fill="none" stroke="#ffa500" stroke-width="2" d="M115.3268,-825.9673C117.6174,-816.1801 119.9789,-806.0901 122.3056,-796.1487"/>
-<polygon fill="#ffa500" stroke="#ffa500" stroke-width="2" points="125.7458,-796.8081 124.6168,-786.2736 118.93,-795.2128 125.7458,-796.8081"/>
+<path fill="none" stroke="#ffa500" stroke-width="2" d="M344.5315,-1301.8748C321.9439,-1279.1664 295.5653,-1252.6468 272.272,-1229.2289"/>
+<polygon fill="#ffa500" stroke="#ffa500" stroke-width="2" points="274.6834,-1226.6902 265.1497,-1222.0686 269.7205,-1231.6268 274.6834,-1226.6902"/>
 </g>
 <!-- N5 -->
-<g id="node6" class="node">
+<g id="node8" class="node">
 <title>N5</title>
-<ellipse fill="none" stroke="#ffa500" cx="180" cy="-524" rx="72" ry="72"/>
-<ellipse fill="none" stroke="#ffa500" cx="180" cy="-524" rx="76" ry="76"/>
-<text text-anchor="middle" x="180" y="-520.3" font-family="Times,serif" font-size="14.00" fill="#000000">up:reconnect</text>
+<ellipse fill="none" stroke="#ffa500" cx="303.3688" cy="-980" rx="72" ry="72"/>
+<ellipse fill="none" stroke="#ffa500" cx="303.3688" cy="-980" rx="76" ry="76"/>
+<text text-anchor="middle" x="303.3688" y="-976.3" font-family="Times,serif" font-size="14.00" fill="#000000">up:reconnect</text>
 </g>
 <!-- N3&#45;&gt;N5 -->
-<g id="edge5" class="edge">
+<g id="edge8" class="edge">
 <title>N3&#45;&gt;N5</title>
-<path fill="none" stroke="#ffa500" stroke-width="2" d="M66.8389,-830.5319C46.9319,-775.6268 29.5354,-698.153 57,-636 68.0235,-611.0535 87.6518,-589.2711 108.0365,-571.7132"/>
-<polygon fill="#ffa500" stroke="#ffa500" stroke-width="2" points="110.423,-574.2805 115.8697,-565.193 105.9448,-568.9004 110.423,-574.2805"/>
+<path fill="none" stroke="#ffa500" stroke-width="2" d="M379.7132,-1282.1631C363.857,-1219.406 341.0993,-1129.3335 324.5591,-1063.869"/>
+<polygon fill="#ffa500" stroke="#ffa500" stroke-width="2" points="327.9058,-1062.8267 322.0628,-1053.9888 321.1191,-1064.5415 327.9058,-1062.8267"/>
 </g>
 <!-- N3&#45;&gt;D0 -->
-<g id="edge17" class="edge">
+<g id="edge18" class="edge">
 <title>N3&#45;&gt;D0</title>
-<path fill="none" stroke="#ff0000" stroke-width="2" d="M149.6142,-956.282C162.8016,-972.5015 176.1362,-989.5814 186.4752,-1003.5856"/>
-<polygon fill="#ff0000" stroke="#ff0000" stroke-width="2" points="183.7873,-1005.8407 192.4974,-1011.8726 189.45,-1001.7255 183.7873,-1005.8407"/>
+<path fill="none" stroke="#ff0000" stroke-width="2" d="M429.2219,-1286.1488C463.1132,-1212.2797 512.3688,-1091.2645 512.3688,-980 512.3688,-980 512.3688,-980 512.3688,-792 512.3688,-474.3192 783.7821,-319.7602 575.3688,-80 552.9853,-54.2499 469.2016,-38.7797 405.305,-30.3735"/>
+<polygon fill="#ff0000" stroke="#ff0000" stroke-width="2" points="405.5966,-26.8823 395.2332,-29.0845 404.708,-33.8257 405.5966,-26.8823"/>
 </g>
 <!-- D1 -->
 <g id="node14" class="node">
 <title>D1</title>
-<polygon fill="none" stroke="#000000" points="326,-18 290,-36 218,-36 182,-18 218,0 290,0 326,-18"/>
-<text text-anchor="middle" x="254" y="-14.3" font-family="Times,serif" font-size="14.00" fill="#000000">down:damaged</text>
+<polygon fill="none" stroke="#000000" points="350.3688,-98 314.3688,-116 242.3688,-116 206.3688,-98 242.3688,-80 314.3688,-80 350.3688,-98"/>
+<text text-anchor="middle" x="278.3688" y="-94.3" font-family="Times,serif" font-size="14.00" fill="#000000">down:damaged</text>
 </g>
 <!-- N3&#45;&gt;D1 -->
-<g id="edge25" class="edge">
+<g id="edge26" class="edge">
 <title>N3&#45;&gt;D1</title>
-<path fill="none" stroke="#000000" stroke-width="2" d="M58.9011,-834.7037C51.302,-819.7688 44.1186,-803.6682 39,-788 2.1684,-675.257 0,-642.6067 0,-524 0,-524 0,-524 0,-336 0,-208.8889 18.5148,-160.2479 110,-72 131.8215,-50.9507 162.6171,-37.9503 190.132,-29.9999"/>
-<polygon fill="#000000" stroke="#000000" stroke-width="2" points="191.3646,-33.292 200.0979,-27.2937 189.5302,-26.5367 191.3646,-33.292"/>
+<path fill="none" stroke="#000000" stroke-width="2" d="M322.8204,-1347.7263C258.5111,-1336.2473 169.8464,-1308.9217 126.3688,-1244 59.1011,-1143.5544 -158.2652,-797.8876 204.3688,-152 211.1318,-139.9545 221.8244,-129.8664 233.0015,-121.7941"/>
+<polygon fill="#000000" stroke="#000000" stroke-width="2" points="235.2451,-124.5029 241.5861,-116.0151 231.3361,-118.6961 235.2451,-124.5029"/>
 </g>
 <!-- N4&#45;&gt;N5 -->
-<g id="edge6" class="edge">
+<g id="edge9" class="edge">
 <title>N4&#45;&gt;N5</title>
-<path fill="none" stroke="#ffa500" stroke-width="2" d="M157.0732,-637.4274C158.9802,-627.9927 160.9424,-618.2849 162.8783,-608.7071"/>
-<polygon fill="#ffa500" stroke="#ffa500" stroke-width="2" points="166.3322,-609.2852 164.8829,-598.79 159.471,-607.8983 166.3322,-609.2852"/>
+<path fill="none" stroke="#ffa500" stroke-width="2" d="M244.8432,-1099.5959C251.5443,-1085.9023 258.6292,-1071.4243 265.4677,-1057.4501"/>
+<polygon fill="#ffa500" stroke="#ffa500" stroke-width="2" points="268.6675,-1058.8738 269.9194,-1048.3532 262.38,-1055.7969 268.6675,-1058.8738"/>
 </g>
 <!-- N4&#45;&gt;D0 -->
-<g id="edge18" class="edge">
+<g id="edge19" class="edge">
 <title>N4&#45;&gt;D0</title>
-<path fill="none" stroke="#ff0000" stroke-width="2" d="M170.8211,-782.5993C175.5042,-796.1615 179.8456,-810.3838 183,-824 197.3463,-885.9266 202.3514,-960.3122 204.0876,-1001.8649"/>
-<polygon fill="#ff0000" stroke="#ff0000" stroke-width="2" points="200.5932,-1002.0802 204.4707,-1011.94 207.5881,-1001.8142 200.5932,-1002.0802"/>
+<path fill="none" stroke="#ff0000" stroke-width="2" d="M182.2708,-1097.5883C130.6372,-966.0773 28.3688,-673.1423 28.3688,-416 28.3688,-416 28.3688,-416 28.3688,-228 28.3688,-154.2584 42.6488,-121.8439 103.3688,-80 128.4366,-62.7251 202.1607,-45.6583 258.4514,-34.5595"/>
+<polygon fill="#ff0000" stroke="#ff0000" stroke-width="2" points="259.2404,-37.9717 268.3878,-32.6261 257.9034,-31.1006 259.2404,-37.9717"/>
 </g>
 <!-- N4&#45;&gt;D1 -->
-<g id="edge26" class="edge">
+<g id="edge27" class="edge">
 <title>N4&#45;&gt;D1</title>
-<path fill="none" stroke="#000000" stroke-width="2" d="M108.3518,-643.7605C102.8165,-629.615 97.934,-614.574 95,-600 81.6674,-533.7732 87.5907,-515.148 95,-448 113.78,-277.8024 84.6917,-214.919 179,-72 186.8932,-60.0384 198.4086,-49.85 210.0577,-41.6536"/>
-<polygon fill="#000000" stroke="#000000" stroke-width="2" points="212.1179,-44.487 218.5139,-36.0405 208.2466,-38.6549 212.1179,-44.487"/>
+<path fill="none" stroke="#000000" stroke-width="2" d="M209.2083,-1091.7553C205.5506,-945.7608 199.6177,-616.649 211.3688,-340 214.9276,-256.2179 193.1085,-228.5397 227.3688,-152 232.1284,-141.3666 239.8803,-131.5131 247.9197,-123.2133"/>
+<polygon fill="#000000" stroke="#000000" stroke-width="2" points="250.564,-125.5245 255.3061,-116.0501 245.6908,-120.4994 250.564,-125.5245"/>
 </g>
 <!-- N6 -->
-<g id="node7" class="node">
+<g id="node9" class="node">
 <title>N6</title>
-<ellipse fill="none" stroke="#ffa500" cx="334" cy="-336" rx="72" ry="72"/>
-<ellipse fill="none" stroke="#ffa500" cx="334" cy="-336" rx="76" ry="76"/>
-<text text-anchor="middle" x="334" y="-332.3" font-family="Times,serif" font-size="14.00" fill="#000000">up:rejoin</text>
+<ellipse fill="none" stroke="#ffa500" cx="303.3688" cy="-792" rx="72" ry="72"/>
+<ellipse fill="none" stroke="#ffa500" cx="303.3688" cy="-792" rx="76" ry="76"/>
+<text text-anchor="middle" x="303.3688" y="-788.3" font-family="Times,serif" font-size="14.00" fill="#000000">up:rejoin</text>
 </g>
 <!-- N5&#45;&gt;N6 -->
-<g id="edge7" class="edge">
+<g id="edge10" class="edge">
 <title>N5&#45;&gt;N6</title>
-<path fill="none" stroke="#ffa500" stroke-width="2" d="M228.304,-465.0314C244.4236,-445.353 262.5011,-423.2844 279.0854,-403.0386"/>
-<polygon fill="#ffa500" stroke="#ffa500" stroke-width="2" points="281.9735,-405.0361 285.6028,-395.0823 276.5583,-400.6003 281.9735,-405.0361"/>
+<path fill="none" stroke="#ffa500" stroke-width="2" d="M303.3688,-903.8042C303.3688,-895.4826 303.3688,-886.9678 303.3688,-878.5337"/>
+<polygon fill="#ffa500" stroke="#ffa500" stroke-width="2" points="306.8689,-878.3042 303.3688,-868.3043 299.8689,-878.3043 306.8689,-878.3042"/>
 </g>
 <!-- N5&#45;&gt;D0 -->
-<g id="edge19" class="edge">
+<g id="edge20" class="edge">
 <title>N5&#45;&gt;D0</title>
-<path fill="none" stroke="#ff0000" stroke-width="2" d="M213.6482,-592.2395C219.1835,-606.385 224.066,-621.426 227,-636 253.9006,-769.6228 226.3843,-933.2287 212.2624,-1001.5818"/>
-<polygon fill="#ff0000" stroke="#ff0000" stroke-width="2" points="208.7642,-1001.2075 210.1213,-1011.715 215.613,-1002.6546 208.7642,-1001.2075"/>
+<path fill="none" stroke="#ff0000" stroke-width="2" d="M254.0847,-921.7614C241.397,-905.0698 228.485,-886.3944 218.3688,-868 116.2346,-682.2886 66.3688,-627.9436 66.3688,-416 66.3688,-416 66.3688,-416 66.3688,-228 66.3688,-152.5844 87.2542,-122.7701 149.3688,-80 181.6933,-57.7424 223.1014,-43.6017 257.948,-34.8615"/>
+<polygon fill="#ff0000" stroke="#ff0000" stroke-width="2" points="259.1567,-38.1706 268.0605,-32.4284 257.5192,-31.3648 259.1567,-38.1706"/>
 </g>
 <!-- N5&#45;&gt;D1 -->
-<g id="edge27" class="edge">
+<g id="edge28" class="edge">
 <title>N5&#45;&gt;D1</title>
-<path fill="none" stroke="#000000" stroke-width="2" d="M174.0783,-447.8601C169.6026,-355.8973 170.5717,-197.8787 216,-72 219.5236,-62.2364 225.3085,-52.624 231.3143,-44.2773"/>
-<polygon fill="#000000" stroke="#000000" stroke-width="2" points="234.2827,-46.1569 237.5673,-36.0841 228.7181,-41.91 234.2827,-46.1569"/>
+<path fill="none" stroke="#000000" stroke-width="2" d="M355.2,-924.1401C368.1413,-907.2479 380.5465,-887.8749 388.3688,-868 419.1254,-789.8535 403.1412,-763.8747 407.3688,-680 410.7695,-612.5301 422.8899,-593.7484 407.3688,-528 403.2588,-510.59 395.5752,-508.7774 389.3688,-492 335.3278,-345.9134 357.3181,-298.4858 304.3688,-152 301.1307,-143.0417 296.8836,-133.5849 292.7633,-125.1317"/>
+<polygon fill="#000000" stroke="#000000" stroke-width="2" points="295.8407,-123.4606 288.2256,-116.0943 289.5849,-126.6016 295.8407,-123.4606"/>
 </g>
 <!-- N7 -->
-<g id="node8" class="node">
+<g id="node10" class="node">
 <title>N7</title>
-<ellipse fill="none" stroke="#ffa500" cx="401" cy="-148" rx="72" ry="72"/>
-<ellipse fill="none" stroke="#ffa500" cx="401" cy="-148" rx="76" ry="76"/>
-<text text-anchor="middle" x="401" y="-144.3" font-family="Times,serif" font-size="14.00" fill="#000000">up:clientreplay</text>
+<ellipse fill="none" stroke="#ffa500" cx="322.3688" cy="-604" rx="72" ry="72"/>
+<ellipse fill="none" stroke="#ffa500" cx="322.3688" cy="-604" rx="76" ry="76"/>
+<text text-anchor="middle" x="322.3688" y="-600.3" font-family="Times,serif" font-size="14.00" fill="#000000">up:clientreplay</text>
 </g>
 <!-- N6&#45;&gt;N7 -->
-<g id="edge8" class="edge">
+<g id="edge11" class="edge">
 <title>N6&#45;&gt;N7</title>
-<path fill="none" stroke="#ffa500" stroke-width="2" d="M359.521,-264.389C363.5946,-252.9584 367.8354,-241.0588 371.9829,-229.4212"/>
-<polygon fill="#ffa500" stroke="#ffa500" stroke-width="2" points="375.3789,-230.3179 375.4391,-219.7232 368.7851,-227.9679 375.3789,-230.3179"/>
+<path fill="none" stroke="#ffa500" stroke-width="2" d="M311.0147,-716.3459C311.8988,-707.5982 312.8051,-698.6301 313.7015,-689.7605"/>
+<polygon fill="#ffa500" stroke="#ffa500" stroke-width="2" points="317.1843,-690.1066 314.7076,-679.8054 310.2197,-689.4027 317.1843,-690.1066"/>
 </g>
 <!-- N6&#45;&gt;S0 -->
-<g id="edge12" class="edge">
+<g id="edge15" class="edge">
 <title>N6&#45;&gt;S0</title>
-<path fill="none" stroke="#00ff00" stroke-width="2" d="M374.6915,-400.4499C416.6522,-473.2042 476,-596.5177 476,-712 476,-1034 476,-1034 476,-1034 476,-1127.7146 490.1099,-1156.3293 457,-1244 450.8791,-1260.2075 441.7293,-1276.1446 431.7345,-1290.685"/>
-<polygon fill="#00ff00" stroke="#00ff00" stroke-width="2" points="428.7105,-1288.8981 425.7686,-1299.0763 434.4156,-1292.9542 428.7105,-1288.8981"/>
+<path fill="none" stroke="#00ff00" stroke-width="2" d="M360.4621,-741.3761C377.7051,-723.4948 395.2541,-702.2572 407.3688,-680 437.473,-624.6922 454.3874,-555.4885 463.6883,-501.8117"/>
+<polygon fill="#00ff00" stroke="#00ff00" stroke-width="2" points="467.1928,-502.0756 465.3932,-491.6348 460.289,-500.919 467.1928,-502.0756"/>
 </g>
 <!-- N6&#45;&gt;D0 -->
-<g id="edge20" class="edge">
+<g id="edge21" class="edge">
 <title>N6&#45;&gt;D0</title>
-<path fill="none" stroke="#ff0000" stroke-width="2" d="M350.4852,-410.3817C374.2134,-536.5952 404.3269,-796.4598 298,-976 289.2477,-990.7789 275.1051,-1002.3467 260.4616,-1011.1304"/>
-<polygon fill="#ff0000" stroke="#ff0000" stroke-width="2" points="258.3409,-1008.3063 251.323,-1016.2436 261.7588,-1014.4152 258.3409,-1008.3063"/>
+<path fill="none" stroke="#ff0000" stroke-width="2" d="M248.8296,-738.5591C234.4494,-721.2875 220.6505,-701.1069 212.3688,-680 114.7809,-431.287 23.5812,-299.8683 175.3688,-80 186.1466,-64.3881 227.326,-49.2787 264.2499,-38.3971"/>
+<polygon fill="#ff0000" stroke="#ff0000" stroke-width="2" points="265.3806,-41.7138 274.022,-35.5839 263.444,-34.987 265.3806,-41.7138"/>
 </g>
 <!-- N6&#45;&gt;D1 -->
-<g id="edge28" class="edge">
+<g id="edge29" class="edge">
 <title>N6&#45;&gt;D1</title>
-<path fill="none" stroke="#000000" stroke-width="2" d="M315.4453,-262.2451C298.1087,-193.3322 273.1414,-94.0872 261.0685,-46.0972"/>
-<polygon fill="#000000" stroke="#000000" stroke-width="2" points="264.3934,-44.9675 258.5594,-36.1235 257.6049,-46.6753 264.3934,-44.9675"/>
+<path fill="none" stroke="#000000" stroke-width="2" d="M259.0732,-730.0838C250.1412,-714.4524 242.0601,-697.2016 237.3688,-680 180.9547,-473.1485 245.862,-210.4698 270.032,-125.7018"/>
+<polygon fill="#000000" stroke="#000000" stroke-width="2" points="273.41,-126.6196 272.8319,-116.0405 266.6866,-124.671 273.41,-126.6196"/>
 </g>
 <!-- N7&#45;&gt;S0 -->
-<g id="edge9" class="edge">
+<g id="edge12" class="edge">
 <title>N7&#45;&gt;S0</title>
-<path fill="none" stroke="#00ff00" stroke-width="2" d="M443.6651,-211.1162C488.3175,-283.4252 552,-407.0513 552,-524 552,-1034 552,-1034 552,-1034 552,-1132.382 532.7639,-1159.7264 482,-1244 470.3882,-1263.2768 454.9343,-1281.9188 439.391,-1298.2812"/>
-<polygon fill="#00ff00" stroke="#00ff00" stroke-width="2" points="436.7092,-1296.0189 432.2566,-1305.6327 441.7326,-1300.8939 436.7092,-1296.0189"/>
+<path fill="none" stroke="#00ff00" stroke-width="2" d="M370.2539,-544.7737C386.0793,-525.2002 403.7979,-503.285 420.0683,-483.1611"/>
+<polygon fill="#00ff00" stroke="#00ff00" stroke-width="2" points="422.8978,-485.2284 426.4633,-475.2515 417.4543,-480.8273 422.8978,-485.2284"/>
 </g>
 <!-- N7&#45;&gt;D0 -->
-<g id="edge21" class="edge">
+<g id="edge22" class="edge">
 <title>N7&#45;&gt;D0</title>
-<path fill="none" stroke="#ff0000" stroke-width="2" d="M414.0091,-223.1818C415.8671,-235.4615 417.6144,-248.0669 419,-260 432.5684,-376.8517 438,-406.3632 438,-524 438,-712 438,-712 438,-712 438,-837.0027 427.1077,-885.3846 341,-976 322.1123,-995.8765 295.3079,-1009.2638 270.482,-1018.1167"/>
-<polygon fill="#ff0000" stroke="#ff0000" stroke-width="2" points="269.0809,-1014.8955 260.7233,-1021.4071 271.3175,-1021.5286 269.0809,-1014.8955"/>
+<path fill="none" stroke="#ff0000" stroke-width="2" d="M278.6936,-541.4308C212.0474,-437.4794 102.2193,-226.1856 197.3688,-80 211.4404,-58.3807 235.6107,-44.7591 259.3879,-36.2034"/>
+<polygon fill="#ff0000" stroke="#ff0000" stroke-width="2" points="260.7836,-39.4276 269.1659,-32.9478 258.5723,-32.7861 260.7836,-39.4276"/>
 </g>
 <!-- N7&#45;&gt;D1 -->
-<g id="edge29" class="edge">
+<g id="edge30" class="edge">
 <title>N7&#45;&gt;D1</title>
-<path fill="none" stroke="#000000" stroke-width="2" d="M343.745,-97.3664C322.6326,-78.6955 299.6377,-58.3599 282.21,-42.9476"/>
-<polygon fill="#000000" stroke="#000000" stroke-width="2" points="284.4307,-40.2392 274.6212,-36.2364 279.7935,-45.4829 284.4307,-40.2392"/>
+<path fill="none" stroke="#000000" stroke-width="2" d="M315.7815,-528.2467C305.8418,-413.94 287.4667,-202.6265 280.8359,-126.3719"/>
+<polygon fill="#000000" stroke="#000000" stroke-width="2" points="284.2984,-125.788 279.9452,-116.1288 277.3248,-126.3945 284.2984,-125.788"/>
 </g>
 <!-- S3 -->
 <g id="node12" class="node">
 <title>S3</title>
-<ellipse fill="none" stroke="#a020f0" cx="372" cy="-1168" rx="72" ry="72"/>
-<ellipse fill="none" stroke="#a020f0" cx="372" cy="-1168" rx="76" ry="76"/>
-<text text-anchor="middle" x="372" y="-1164.3" font-family="Times,serif" font-size="14.00" fill="#000000">up:stopping</text>
+<ellipse fill="none" stroke="#a020f0" cx="474.3688" cy="-228" rx="72" ry="72"/>
+<ellipse fill="none" stroke="#a020f0" cx="474.3688" cy="-228" rx="76" ry="76"/>
+<text text-anchor="middle" x="474.3688" y="-224.3" font-family="Times,serif" font-size="14.00" fill="#000000">up:stopping</text>
 </g>
 <!-- S0&#45;&gt;S3 -->
-<g id="edge15" class="edge">
+<g id="edge16" class="edge">
 <title>S0&#45;&gt;S3</title>
-<path fill="none" stroke="#a020f0" stroke-width="2" d="M373.7841,-1279.8042C373.6487,-1271.318 373.5101,-1262.6309 373.3729,-1254.0333"/>
-<polygon fill="#a020f0" stroke="#a020f0" stroke-width="2" points="376.872,-1253.9418 373.2127,-1243.9989 369.8728,-1254.0536 376.872,-1253.9418"/>
+<path fill="none" stroke="#a020f0" stroke-width="2" d="M474.3688,-339.8042C474.3688,-331.4826 474.3688,-322.9678 474.3688,-314.5337"/>
+<polygon fill="#a020f0" stroke="#a020f0" stroke-width="2" points="477.8689,-314.3042 474.3688,-304.3043 470.8689,-314.3043 477.8689,-314.3042"/>
 </g>
 <!-- S0&#45;&gt;D0 -->
-<g id="edge22" class="edge">
+<g id="edge23" class="edge">
 <title>S0&#45;&gt;D0</title>
-<path fill="none" stroke="#ff0000" stroke-width="2" d="M324.7658,-1298.7259C311.4118,-1281.8155 297.7347,-1262.7868 287,-1244 253.0065,-1184.5078 227.1586,-1108.1765 214.2126,-1065.8585"/>
-<polygon fill="#ff0000" stroke="#ff0000" stroke-width="2" points="217.5124,-1064.678 211.2761,-1056.113 210.8101,-1066.6976 217.5124,-1064.678"/>
+<path fill="none" stroke="#ff0000" stroke-width="2" d="M527.0686,-361.1971C540.1945,-344.1784 552.4791,-324.4748 559.3688,-304 591.1196,-209.6433 620.5965,-158.5014 559.3688,-80 540.2875,-55.5355 464.1975,-39.8225 404.4932,-31.0076"/>
+<polygon fill="#ff0000" stroke="#ff0000" stroke-width="2" points="404.7058,-27.5023 394.3101,-29.5466 403.7116,-34.4314 404.7058,-27.5023"/>
 </g>
 <!-- S0&#45;&gt;D1 -->
-<g id="edge30" class="edge">
+<g id="edge31" class="edge">
 <title>S0&#45;&gt;D1</title>
-<path fill="none" stroke="#000000" stroke-width="2" d="M442.7372,-1320.9248C473.4011,-1301.9277 507.694,-1275.8005 530,-1244 585.7414,-1164.5323 590,-1131.0681 590,-1034 590,-1034 590,-1034 590,-336 590,-214.8369 609.9264,-155.3634 522,-72 494.3419,-45.7772 395.9102,-31.2035 326.3899,-23.9832"/>
-<polygon fill="#000000" stroke="#000000" stroke-width="2" points="326.6553,-20.4923 316.3544,-22.9708 325.9526,-27.4569 326.6553,-20.4923"/>
+<path fill="none" stroke="#000000" stroke-width="2" d="M424.3129,-358.5726C411.5474,-341.8108 398.7888,-322.897 389.3688,-304 358.0472,-241.1673 385.2932,-210.4284 346.3688,-152 338.776,-140.6027 328.0091,-130.4943 317.2769,-122.1953"/>
+<polygon fill="#000000" stroke="#000000" stroke-width="2" points="319.2611,-119.31 309.1298,-116.2103 315.1168,-124.9514 319.2611,-119.31"/>
 </g>
 <!-- S3&#45;&gt;D0 -->
-<g id="edge23" class="edge">
+<g id="edge24" class="edge">
 <title>S3&#45;&gt;D0</title>
-<path fill="none" stroke="#ff0000" stroke-width="2" d="M312.6518,-1120.3793C288.6501,-1101.1204 261.7353,-1079.5241 240.8219,-1062.7433"/>
-<polygon fill="#ff0000" stroke="#ff0000" stroke-width="2" points="242.8216,-1059.8605 232.8316,-1056.3319 238.4408,-1065.3202 242.8216,-1059.8605"/>
+<path fill="none" stroke="#ff0000" stroke-width="2" d="M430.366,-165.9139C403.7723,-128.3912 371.0479,-82.2184 349.9551,-52.4574"/>
+<polygon fill="#ff0000" stroke="#ff0000" stroke-width="2" points="352.7039,-50.2828 344.0659,-44.148 346.9928,-54.3305 352.7039,-50.2828"/>
 </g>
 <!-- S3&#45;&gt;D1 -->
-<g id="edge31" class="edge">
+<g id="edge32" class="edge">
 <title>S3&#45;&gt;D1</title>
-<path fill="none" stroke="#000000" stroke-width="2" d="M422.8642,-1111.3791C463.6096,-1060.0328 514,-980.2995 514,-900 514,-900 514,-900 514,-336 514,-218.0086 564.146,-160.4035 486,-72 464.8015,-48.019 384.4146,-33.2954 324.1685,-25.4019"/>
-<polygon fill="#000000" stroke="#000000" stroke-width="2" points="324.2918,-21.8895 313.9302,-24.1001 323.4088,-28.8336 324.2918,-21.8895"/>
+<path fill="none" stroke="#000000" stroke-width="2" d="M417.8114,-176.8892C407.0411,-168.1353 395.6128,-159.467 384.3688,-152 366.1181,-139.88 344.7922,-128.5324 326.0732,-119.3982"/>
+<polygon fill="#000000" stroke="#000000" stroke-width="2" points="327.366,-116.1365 316.8361,-114.965 324.3371,-122.4473 327.366,-116.1365"/>
 </g>
 <!-- D3 -->
 <g id="node15" class="node">
 <title>D3</title>
-<polygon fill="none" stroke="#a020f0" points="448,-1034 412,-1052 340,-1052 304,-1034 340,-1016 412,-1016 448,-1034"/>
-<text text-anchor="middle" x="376" y="-1030.3" font-family="Times,serif" font-size="14.00" fill="#000000">down:stopped</text>
+<polygon fill="none" stroke="#a020f0" points="550.3688,-98 514.3688,-116 442.3688,-116 406.3688,-98 442.3688,-80 514.3688,-80 550.3688,-98"/>
+<text text-anchor="middle" x="478.3688" y="-94.3" font-family="Times,serif" font-size="14.00" fill="#000000">down:stopped</text>
 </g>
 <!-- S3&#45;&gt;D3 -->
-<g id="edge33" class="edge">
+<g id="edge34" class="edge">
 <title>S3&#45;&gt;D3</title>
-<path fill="none" stroke="#a020f0" stroke-width="2" d="M374.2688,-1091.995C374.5847,-1081.4121 374.8915,-1071.1346 375.1569,-1062.2444"/>
-<polygon fill="#a020f0" stroke="#a020f0" stroke-width="2" points="378.6578,-1062.2611 375.4579,-1052.1611 371.661,-1062.0522 378.6578,-1062.2611"/>
+<path fill="none" stroke="#a020f0" stroke-width="2" d="M476.7072,-152.0023C476.9861,-142.9385 477.2559,-134.1686 477.4942,-126.4252"/>
+<polygon fill="#a020f0" stroke="#a020f0" stroke-width="2" points="480.9983,-126.3415 477.8076,-116.2385 474.0016,-126.1261 480.9983,-126.3415"/>
 </g>
 <!-- D0&#45;&gt;N3 -->
-<g id="edge24" class="edge">
+<g id="edge25" class="edge">
 <title>D0&#45;&gt;N3</title>
-<path fill="none" stroke="#ff0000" stroke-width="2" d="M182.1648,-1011.8726C171.9859,-1000.3518 159.6454,-985.5549 147.5698,-970.521"/>
-<polygon fill="#ff0000" stroke="#ff0000" stroke-width="2" points="150.2651,-968.2872 141.2921,-962.6537 144.7935,-972.6532 150.2651,-968.2872"/>
+<path fill="none" stroke="#ff0000" stroke-width="2" d="M397.758,-27.8117C467.676,-35.4452 568.4799,-51.3676 593.3688,-80 801.7821,-319.7602 530.3688,-474.3192 530.3688,-792 530.3688,-980 530.3688,-980 530.3688,-980 530.3688,-1089.5002 482.6629,-1208.4443 444.4976,-1282.5994"/>
+<polygon fill="#ff0000" stroke="#ff0000" stroke-width="2" points="441.1858,-1281.3802 439.6575,-1291.8642 447.3902,-1284.6215 441.1858,-1281.3802"/>
 </g>
 <!-- D1&#45;&gt;D0 -->
-<g id="edge32" class="edge">
+<g id="edge33" class="edge">
 <title>D1&#45;&gt;D0</title>
-<path fill="none" stroke="#ff0000" stroke-width="2" d="M253.4952,-36.2127C252.406,-76.5308 249.8638,-176.379 249,-260 248.3022,-327.552 234.976,-345.9161 249,-412 252.6347,-429.1277 261.3653,-430.8723 265,-448 279.024,-514.0839 267.0633,-532.476 265,-600 259.8865,-767.3454 293.786,-816.7869 242,-976 238.9016,-985.5258 233.8623,-995.035 228.4863,-1003.5163"/>
-<polygon fill="#ff0000" stroke="#ff0000" stroke-width="2" points="225.4987,-1001.687 222.8293,-1011.94 231.31,-1005.5896 225.4987,-1001.687"/>
+<path fill="none" stroke="#ff0000" stroke-width="2" d="M290.2181,-79.9891C295.5579,-71.8726 302.0166,-62.0553 308.0897,-52.8243"/>
+<polygon fill="#ff0000" stroke="#ff0000" stroke-width="2" points="311.1727,-54.5061 313.745,-44.2282 305.3248,-50.6587 311.1727,-54.5061"/>
 </g>
 </g>
 </svg>