aboutsummaryrefslogtreecommitdiff
path: root/statemachine
diff options
context:
space:
mode:
Diffstat (limited to 'statemachine')
-rw-r--r--statemachine/differential_state_machine1
-rw-r--r--statemachine/differential_state_machine.pngbin0 -> 105665 bytes
-rw-r--r--statemachine/differential_state_machine.svg3
-rw-r--r--statemachine/full_state_machine.pngbin0 -> 168364 bytes
-rw-r--r--statemachine/full_state_machine.svg3
-rw-r--r--statemachine/full_state_machine.xml1
-rw-r--r--statemachine/state_machine_full1
-rw-r--r--statemachine/state_machine_full.pngbin0 -> 56892 bytes
-rw-r--r--statemachine/state_machine_full.svg3
9 files changed, 12 insertions, 0 deletions
diff --git a/statemachine/differential_state_machine b/statemachine/differential_state_machine
new file mode 100644
index 0000000..9b4e16d
--- /dev/null
+++ b/statemachine/differential_state_machine
@@ -0,0 +1 @@
<mxfile host="app.diagrams.net" modified="2021-06-09T07:04:52.109Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36" etag="EjBRg3J6DuL3UCMJqSll" version="14.7.6" type="device"><diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">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</diagram></mxfile> \ No newline at end of file
diff --git a/statemachine/differential_state_machine.png b/statemachine/differential_state_machine.png
new file mode 100644
index 0000000..29f5ee3
--- /dev/null
+++ b/statemachine/differential_state_machine.png
Binary files differ
diff --git a/statemachine/differential_state_machine.svg b/statemachine/differential_state_machine.svg
new file mode 100644
index 0000000..284ca1d
--- /dev/null
+++ b/statemachine/differential_state_machine.svg
@@ -0,0 +1,3 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="974px" height="781px" viewBox="-0.5 -0.5 974 781" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2021-06-09T07:05:12.668Z&quot; agent=&quot;5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36&quot; etag=&quot;z64y_82akE6YHg7AOlcM&quot; version=&quot;14.7.6&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;C5RBs43oDa-KdzZeNtuy&quot; name=&quot;Page-1&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;" style="background-color: rgb(255, 255, 255);"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-ffffff-1-ffffff-1-s-0"><stop offset="0%" style="stop-color:#ffffff"/><stop offset="100%" style="stop-color:#ffffff"/></linearGradient></defs><g><path d="M 188 40 L 188 90 L 185.5 90 L 185.5 133.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 185.5 138.88 L 182 131.88 L 185.5 133.63 L 189 131.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 90px; margin-left: 187px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: Operation request<br /></div><div>send: SE(C) </div></div></div></div></foreignObject><text x="187" y="93" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Operation request...</text></switch></g><ellipse cx="185.5" cy="165" rx="47.5" ry="25" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 93px; height: 1px; padding-top: 165px; margin-left: 139px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Expecting IBF</div></div></div></foreignObject><text x="186" y="169" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Expecting IBF</text></switch></g><ellipse cx="374.98" cy="215" rx="55" ry="25" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 215px; margin-left: 321px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Expecting IBF Last</div></div></div></foreignObject><text x="375" y="219" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Expecting IBF Last</text></switch></g><ellipse cx="185.5" cy="405" rx="47.5" ry="25" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 93px; height: 1px; padding-top: 405px; margin-left: 139px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div>Active <br /></div><div>Decoding</div></div></div></div></foreignObject><text x="186" y="409" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Active...</text></switch></g><path d="M 188.5 605 L 188.5 630 L 188 755 L 478.63 755" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 483.88 755 L 476.88 758.5 L 478.63 755 L 476.88 751.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 661px; margin-left: 189px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>if: all demanded elements <br /></div>have been received</div></div></div></foreignObject><text x="189" y="664" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">if: all demanded elements...</text></switch></g><ellipse cx="185.5" cy="580" rx="47.5" ry="25" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 93px; height: 1px; padding-top: 580px; margin-left: 139px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div>Finish</div><div> Closing</div></div></div></div></foreignObject><text x="186" y="584" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Finish...</text></switch></g><path d="M 228.01 176.15 L 321.29 200.8" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 326.36 202.14 L 318.7 203.73 L 321.29 200.8 L 320.49 196.97 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 190px; margin-left: 268px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: IBF</div></div></div></foreignObject><text x="268" y="194" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: IBF</text></switch></g><path d="M 352.22 237.76 L 212.03 378.34" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 208.32 382.06 L 210.79 374.63 L 212.03 378.34 L 215.74 379.57 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 281px; margin-left: 326px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div><div>recv: IBF-LAST</div></div></div></div></div></foreignObject><text x="326" y="285" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: IBF-LAST</text></switch></g><path d="M 185.5 430 L 185.5 548.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 185.5 553.88 L 182 546.88 L 185.5 548.63 L 189 546.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 520px; margin-left: 187px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Done</div></div></div></foreignObject><text x="187" y="523" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Done</text></switch></g><path d="M 213.88 425.05 L 269.81 464.26 Q 278 470 268.97 474.3 L 224.03 495.7 Q 215 500 213.67 490.09 L 206.68 438.16" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 205.98 432.96 L 210.38 439.43 L 206.68 438.16 L 203.44 440.36 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 474px; margin-left: 261px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>if: IBF decoded <br /></div><div>with side = -1</div><div>send: Inquiry</div></div></div></div></foreignObject><text x="261" y="477" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">if: IBF decoded...</text></switch></g><path d="M 139.35 399.08 L 77.92 391.26 Q 68 390 69.64 399.86 L 76.36 440.14 Q 78 450 87.23 446.15 L 142.52 423.06" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 147.36 421.04 L 142.25 426.96 L 142.52 423.06 L 139.55 420.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 420px; margin-left: 58px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>if: IBF finished decoding<br /></div><div>send: Done</div></div></div></div></foreignObject><text x="58" y="423" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">if: IBF finished decoding...</text></switch></g><path d="M 165.29 382.38 L 124.7 337.42 Q 118 330 110.93 337.07 L 95.07 352.93 Q 88 360 97.08 364.18 L 144.08 385.81" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 148.85 388 L 141.03 388.25 L 144.08 385.81 L 143.96 381.9 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 352px; margin-left: 103px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv:: Offer<br /></div><div>send: Demand</div></div></div></div></foreignObject><text x="103" y="355" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv:: Offer...</text></switch></g><path d="M 188.65 380.06 L 196.68 319.91 Q 198 310 207.7 312.43 L 228.3 317.57 Q 238 320 232.73 328.5 L 203.41 375.79" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 200.65 380.25 L 201.36 372.46 L 203.41 375.79 L 207.31 376.15 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 317px; margin-left: 234px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Element</div></div></div></foreignObject><text x="234" y="320" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Element</text></switch></g><path d="M 408.19 195.07 L 441.41 175.14 Q 449.98 170 454.2 179.07 L 465.76 203.93 Q 469.98 213 459.98 213.21 L 436.29 213.71" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 431.04 213.82 L 437.96 210.17 L 436.29 213.71 L 438.11 217.17 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 191px; margin-left: 460px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div><div>recv: IBF*</div></div></div></div></div></foreignObject><text x="460" y="194" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: IBF*</text></switch></g><ellipse cx="823" cy="160" rx="35" ry="20" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 160px; margin-left: 789px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Expect SE</div></div></div></foreignObject><text x="823" y="164" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Expect SE</text></switch></g><path d="M 823 432.64 L 823 556.13" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 823 561.38 L 819.5 554.38 L 823 556.13 L 826.5 554.38 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 516px; margin-left: 823px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Done</div></div></div></foreignObject><text x="823" y="519" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Done</text></switch></g><ellipse cx="823" cy="412.64" rx="35" ry="20" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 413px; margin-left: 789px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Passive Decoding</div></div></div></foreignObject><text x="823" y="416" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Passive Dec...</text></switch></g><path d="M 823 180 L 823 386.27" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 823 391.52 L 819.5 384.52 L 823 386.27 L 826.5 384.52 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 261px; margin-left: 824px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div><div>recv: SE(C)<br /></div></div><div>send: IBF* <br /></div><div>send: IBF-LAST <br /></div></div></div></div></foreignObject><text x="824" y="264" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: SE(C)...</text></switch></g><path d="M 849.45 399.54 L 919.07 364.5 Q 928 360 920 354 L 896 336 Q 888 330 881.83 337.87 L 841.37 389.41" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 838.13 393.54 L 839.7 385.87 L 841.37 389.41 L 845.21 390.2 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 350px; margin-left: 918px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: Demand</div><div>send: Element</div></div></div></div></foreignObject><text x="918" y="354" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Demand...</text></switch></g><path d="M 823 602.5 L 823 755 L 591.37 755" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 586.12 755 L 593.12 751.5 L 591.37 755 L 593.12 758.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 661px; margin-left: 829px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>if: all demanded elements <br /></div><div>have been received<br /></div><div>send: Done</div></div></div></div></foreignObject><text x="829" y="664" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">if: all demanded elements...</text></switch></g><ellipse cx="823" cy="582.5" rx="35" ry="20" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 583px; margin-left: 789px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Finish Waiting</div></div></div></foreignObject><text x="823" y="586" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Finish Wait...</text></switch></g><path d="M 795.3 400.42 L 420.34 234.95" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 415.53 232.83 L 423.35 232.46 L 420.34 234.95 L 420.52 238.86 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 323px; margin-left: 620px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div><div>recv: IBF</div></div></div></div></div></foreignObject><text x="620" y="327" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: IBF</text></switch></g><path d="M 233 405 L 548.14 458.33 Q 558 460 567.84 458.24 L 783.3 419.69" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 788.47 418.77 L 782.2 423.44 L 783.3 419.69 L 780.97 416.55 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 460px; margin-left: 518px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>if: IBF failed to decode <br /></div><div>send: IBF*</div><div>send: IBF-LAST</div></div></div></div></foreignObject><text x="518" y="464" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">if: IBF failed to decode...</text></switch></g><path d="M 158.14 425.44 L 106.03 464.05 Q 98 470 106 476 L 130 494 Q 138 500 142.48 491.06 L 170.67 434.88" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 173.03 430.19 L 173.02 438.02 L 170.67 434.88 L 166.76 434.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 480px; margin-left: 111px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>if IBF decoded <br /></div><div>with side = 1</div><div>send: Offer<br /></div></div></div></div></foreignObject><text x="111" y="483" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">if IBF decoded...</text></switch></g><path d="M 858.98 423.64 L 918.27 437.69 Q 928 440 928 430 L 928 410 Q 928 400 918.17 401.85 L 865.26 411.82" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 860.1 412.79 L 866.33 408.06 L 865.26 411.82 L 867.63 414.94 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 421px; margin-left: 938px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: Offer</div><div>send: Demand<br /></div></div></div></div></foreignObject><text x="938" y="424" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Offer...</text></switch></g><path d="M 213.88 384.95 L 269.81 345.74 Q 278 340 282.47 348.94 L 293.53 371.06 Q 298 380 288.14 381.66 L 232.82 390.95" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 227.64 391.81 L 233.97 387.2 L 232.82 390.95 L 235.13 394.11 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 361px; margin-left: 299px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: Demand</div>send: Element</div></div></div></foreignObject><text x="299" y="364" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Demandsend: Element</text></switch></g><path d="M 801.97 428.63 L 755.94 463.92 Q 748 470 755.07 477.07 L 770.93 492.93 Q 778 500 782.58 491.11 L 810.17 437.48" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 812.57 432.81 L 812.48 440.64 L 810.17 437.48 L 806.25 437.44 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 481px; margin-left: 756px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Element</div></div></div></foreignObject><text x="756" y="484" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Element</text></switch></g><path d="M 832.92 431.82 L 863.42 491.11 Q 868 500 875.81 493.75 L 910.19 466.25 Q 918 460 908.96 455.73 L 853.51 429.5" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 848.76 427.26 L 856.58 427.09 L 853.51 429.5 L 853.59 433.42 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 480px; margin-left: 898px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: Inquiry<br /></div><div>send: Offer<br /></div></div></div></div></foreignObject><text x="898" y="484" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Inquiry...</text></switch></g><path d="M 185.5 190 L 185.5 373.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 185.5 378.88 L 182 371.88 L 185.5 373.63 L 189 371.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 280px; margin-left: 195px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: IBF-LAST</div></div></div></div></foreignObject><text x="195" y="283" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: IBF-LAST</text></switch></g><path d="M 788.58 409.03 L 527.94 381.07 Q 518 380 508.03 380.75 L 238.87 400.98" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 233.64 401.38 L 240.35 397.36 L 238.87 400.98 L 240.88 404.34 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 379px; margin-left: 524px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: IBF-LAST</div></div></div></div></foreignObject><text x="524" y="382" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: IBF-LAST</text></switch></g><path d="M 847.75 596.64 L 918 596.52 Q 928 596.5 925.52 586.81 L 920.48 567.19 Q 918 557.5 908.12 559.03 L 854.04 567.39" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 848.85 568.19 L 855.24 563.66 L 854.04 567.39 L 856.31 570.58 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 581px; margin-left: 920px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Element</div></div></div></foreignObject><text x="920" y="584" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Element</text></switch></g><path d="M 232.43 583.85 L 298.03 589.19 Q 308 590 308 580 L 308 570 Q 308 560 298.13 561.61 L 237.14 571.54" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 231.95 572.39 L 238.3 567.81 L 237.14 571.54 L 239.43 574.71 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 575px; margin-left: 308px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Element</div></div></div></foreignObject><text x="308" y="578" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Element</text></switch></g><ellipse cx="535" cy="755" rx="50" ry="25" fill="url(#mx-gradient-ffffff-1-ffffff-1-s-0)" stroke="#000000" pointer-events="all"/><ellipse cx="535" cy="755" rx="47" ry="22" fill="none" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 92px; height: 1px; padding-top: 755px; margin-left: 489px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><pre class="moz-quote-pre">Finished</pre></div></div></div></foreignObject><text x="535" y="759" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Finished</text></switch></g><ellipse cx="188" cy="20" rx="50" ry="20" fill="url(#mx-gradient-ffffff-1-ffffff-1-s-0)" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 98px; height: 1px; padding-top: 20px; margin-left: 139px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Expecting Connection</div></div></div></foreignObject><text x="188" y="24" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Expecting Connec...</text></switch></g><path d="M 823 40 L 823 133.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 823 138.88 L 819.5 131.88 L 823 133.63 L 826.5 131.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 77px; margin-left: 826px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">send: Operation request</div></div></div></foreignObject><text x="826" y="80" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">send: Operation request</text></switch></g><ellipse cx="823" cy="20" rx="50" ry="20" fill="url(#mx-gradient-ffffff-1-ffffff-1-s-0)" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 98px; height: 1px; padding-top: 20px; margin-left: 774px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div>Initiating Connection<br /></div></div></div></div></foreignObject><text x="823" y="24" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Initiating Conne...</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1</text></a></switch></svg> \ No newline at end of file
diff --git a/statemachine/full_state_machine.png b/statemachine/full_state_machine.png
new file mode 100644
index 0000000..0d7196e
--- /dev/null
+++ b/statemachine/full_state_machine.png
Binary files differ
diff --git a/statemachine/full_state_machine.svg b/statemachine/full_state_machine.svg
new file mode 100644
index 0000000..38873ea
--- /dev/null
+++ b/statemachine/full_state_machine.svg
@@ -0,0 +1,3 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3<svg xmlns="http://www.w3.org/2000/svg" style="background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1541px" height="921px" viewBox="-0.5 -0.5 1541 921" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2021-05-20T13:48:38.286Z&quot; agent=&quot;5.0 (X11)&quot; etag=&quot;Nrj_kDXvqoQ1CdzchEh5&quot; version=&quot;14.6.12&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;C5RBs43oDa-KdzZeNtuy&quot; name=&quot;Page-1&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-ffffff-1-ffffff-1-s-0"><stop offset="0%" style="stop-color:#ffffff"/><stop offset="100%" style="stop-color:#ffffff"/></linearGradient></defs><g><path d="M 315.5 40 L 315.5 128.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 315.5 133.88 L 312 126.88 L 315.5 128.63 L 319 126.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 88px; margin-left: 316px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: Operation request<br /></div><div>send: SE(C) </div></div></div></div></foreignObject><text x="316" y="91" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Operation request...</text></switch></g><path d="M 363 160 L 783 160 L 783 355 L 1326.63 355" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1331.88 355 L 1324.88 358.5 L 1326.63 355 L 1324.88 351.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 158px; margin-left: 648px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Full element</div></div></div></foreignObject><text x="648" y="161" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Full element</text></switch></g><ellipse cx="315.5" cy="160" rx="47.5" ry="25" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 93px; height: 1px; padding-top: 160px; margin-left: 269px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Expecting IBF</div></div></div></foreignObject><text x="316" y="164" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Expecting IBF</text></switch></g><path d="M 140.5 300 L 140.5 900 L 715.14 900" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 720.39 900 L 713.39 903.5 L 715.14 900 L 713.39 896.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 570px; margin-left: 141px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: Full done</div></div></div></div></foreignObject><text x="141" y="573" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Full done</text></switch></g><ellipse cx="140.5" cy="275" rx="47.5" ry="25" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 93px; height: 1px; padding-top: 275px; margin-left: 94px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Full Sending</div></div></div></foreignObject><text x="141" y="279" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Full Sending</text></switch></g><ellipse cx="618" cy="325" rx="55" ry="25" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 325px; margin-left: 564px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Expecting IBF Last</div></div></div></foreignObject><text x="618" y="329" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Expecting IBF Last</text></switch></g><ellipse cx="410.5" cy="535" rx="47.5" ry="25" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 93px; height: 1px; padding-top: 535px; margin-left: 364px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div>Active <br /></div><div>Decoding</div></div></div></div></foreignObject><text x="411" y="539" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Active...</text></switch></g><path d="M 409.5 735 L 409.5 880 L 738 880 L 738 877.37" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 738 872.12 L 741.5 879.12 L 738 877.37 L 734.5 879.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 881px; margin-left: 576px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>if: all demanded elements <br /></div>have been received</div></div></div></foreignObject><text x="576" y="884" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">if: all demanded elements...</text></switch></g><ellipse cx="410.5" cy="710" rx="47.5" ry="25" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 93px; height: 1px; padding-top: 710px; margin-left: 364px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div>Finish</div><div> Closing</div></div></div></div></foreignObject><text x="411" y="714" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Finish...</text></switch></g><path d="M 285.75 179.49 L 175.51 251.99" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 171.13 254.87 L 175.05 248.1 L 175.51 251.99 L 178.9 253.95 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 210px; margin-left: 234px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: Request full<br /></div><div>send: Full element*</div><div>send: Full done</div></div></div></div></foreignObject><text x="234" y="214" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Request full...</text></switch></g><path d="M 348.56 177.95 L 577.23 302.73" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 581.84 305.25 L 574.02 304.97 L 577.23 302.73 L 577.37 298.82 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 211px; margin-left: 411px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: IBF</div></div></div></foreignObject><text x="411" y="214" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: IBF</text></switch></g><path d="M 595.44 347.8 L 436.85 508.28" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 433.16 512.01 L 435.59 504.57 L 436.85 508.28 L 440.57 509.49 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 402px; margin-left: 544px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div><div>recv: IBF-LAST</div></div></div></div></div></foreignObject><text x="544" y="406" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: IBF-LAST</text></switch></g><path d="M 410.5 560 L 410.5 678.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 410.5 683.88 L 407 676.88 L 410.5 678.63 L 414 676.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 650px; margin-left: 412px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Done</div></div></div></foreignObject><text x="412" y="653" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Done</text></switch></g><path d="M 438.88 555.05 L 494.81 594.26 Q 503 600 493.97 604.3 L 449.03 625.7 Q 440 630 438.67 620.09 L 431.68 568.16" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 430.98 562.96 L 435.38 569.43 L 431.68 568.16 L 428.44 570.36 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 604px; margin-left: 486px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>if: IBF decoded <br /></div><div>with side = -1</div><div>send: Inquiry</div></div></div></div></foreignObject><text x="486" y="607" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">if: IBF decoded...</text></switch></g><path d="M 364.35 529.08 L 302.92 521.26 Q 293 520 294.64 529.86 L 301.36 570.14 Q 303 580 312.23 576.15 L 367.52 553.06" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 372.36 551.04 L 367.25 556.96 L 367.52 553.06 L 364.55 550.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 550px; margin-left: 283px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>if: IBF finished decoding<br /></div><div>send: Done</div></div></div></div></foreignObject><text x="283" y="553" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">if: IBF finished decoding...</text></switch></g><path d="M 390.29 512.38 L 349.7 467.42 Q 343 460 335.93 467.07 L 320.07 482.93 Q 313 490 322.08 494.18 L 369.08 515.81" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 373.85 518 L 366.03 518.25 L 369.08 515.81 L 368.96 511.9 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 482px; margin-left: 328px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv:: Offer<br /></div><div>send: Demand</div></div></div></div></foreignObject><text x="328" y="485" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv:: Offer...</text></switch></g><path d="M 413.65 510.06 L 421.68 449.91 Q 423 440 432.7 442.43 L 453.3 447.57 Q 463 450 457.73 458.5 L 428.41 505.79" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 425.65 510.25 L 426.36 502.46 L 428.41 505.79 L 432.31 506.15 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 447px; margin-left: 445px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Element</div></div></div></foreignObject><text x="445" y="450" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Element</text></switch></g><path d="M 651.21 305.07 L 684.43 285.14 Q 693 280 697.22 289.07 L 708.78 313.93 Q 713 323 703 323.21 L 679.31 323.71" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 674.06 323.82 L 680.98 320.17 L 679.31 323.71 L 681.13 327.17 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 301px; margin-left: 703px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div><div>recv: IBF*</div></div></div></div></div></foreignObject><text x="703" y="304" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: IBF*</text></switch></g><ellipse cx="1378" cy="160" rx="35" ry="20" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 160px; margin-left: 1344px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Expect SE</div></div></div></foreignObject><text x="1378" y="164" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Expect SE</text></switch></g><path d="M 1378 375 L 1378 895 L 826.87 895" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 821.62 895 L 828.62 891.5 L 826.87 895 L 828.62 898.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 609px; margin-left: 1379px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div><div>recv: Full done</div>send:  Full element*</div><div>send: Full done</div></div></div></div></foreignObject><text x="1379" y="612" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Full donesend:  Full element*...</text></switch></g><ellipse cx="1378" cy="355" rx="45" ry="20" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 88px; height: 1px; padding-top: 355px; margin-left: 1334px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Full Receiving </div></div></div></foreignObject><text x="1378" y="359" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Full Receiving </text></switch></g><path d="M 1048 562.64 L 1048 686.13" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1048 691.38 L 1044.5 684.38 L 1048 686.13 L 1051.5 684.38 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 646px; margin-left: 1048px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Done</div></div></div></foreignObject><text x="1048" y="649" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Done</text></switch></g><ellipse cx="1048" cy="542.64" rx="35" ry="20" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 543px; margin-left: 1014px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Passive Decoding</div></div></div></foreignObject><text x="1048" y="546" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Passive Dec...</text></switch></g><path d="M 1362.53 177.94 L 1067.65 519.88" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1064.22 523.86 L 1066.14 516.27 L 1067.65 519.88 L 1071.44 520.84 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 407px; margin-left: 1164px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div><div>if:  Differential Sync is more efficient</div></div><div>recv: SE(C)</div><div>send: IBF* <br /></div><div>send: IBF-LAST <br /></div></div></div></div></foreignObject><text x="1164" y="411" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">if:  Differential Sync is more efficient...</text></switch></g><path d="M 1378 180 L 1378 328.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1378 333.88 L 1374.5 326.88 L 1378 328.63 L 1381.5 326.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 271px; margin-left: 1404px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>if:  Fullsync &amp;&amp; requesting from <br /></div><div>other site is more efficient<br /></div><div>recv: SE(C)</div><div>send: Request full<br /></div></div></div></div></foreignObject><text x="1404" y="274" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">if:  Fullsync &amp;&amp; requesting from...</text></switch></g><path d="M 1343.49 163.33 L 194.34 274.39" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 189.11 274.89 L 195.74 270.74 L 194.34 274.39 L 196.42 277.7 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 201px; margin-left: 953px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>if:  Fullsync &amp;&amp; requesting from <br /></div>other site is more efficient<div><div>send: Full element*</div><div>send: Full done</div></div></div></div></div></foreignObject><text x="953" y="204" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">if:  Fullsync &amp;&amp; requesting from...</text></switch></g><path d="M 1051.64 522.75 L 1061.22 469.84 Q 1063 460 1053.19 461.96 L 1022.81 468.04 Q 1013 470 1017.33 479.01 L 1035.88 517.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1038.15 522.36 L 1031.96 517.57 L 1035.88 517.63 L 1038.27 514.54 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 471px; margin-left: 1013px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: Demand</div><div>send: Element</div></div></div></div></foreignObject><text x="1013" y="474" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Demand...</text></switch></g><path d="M 1048 732.5 L 1048 880 L 816.87 880" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 811.62 880 L 818.62 876.5 L 816.87 880 L 818.62 883.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 799px; margin-left: 1050px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>if: all demanded elements <br /></div><div>have been received<br /></div><div>send: Done</div></div></div></div></foreignObject><text x="1050" y="802" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">if: all demanded elements...</text></switch></g><ellipse cx="1048" cy="712.5" rx="35" ry="20" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 713px; margin-left: 1014px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Finish Waiting</div></div></div></foreignObject><text x="1048" y="716" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Finish Wait...</text></switch></g><path d="M 1418.42 346.21 L 1483.23 332.12 Q 1493 330 1493 340 L 1493 370 Q 1493 380 1483.23 377.88 L 1424.65 365.14" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1419.52 364.03 L 1427.1 362.09 L 1424.65 365.14 L 1425.61 368.93 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 355px; margin-left: 1495px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Full element*</div></div></div></foreignObject><text x="1495" y="359" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Full element*</text></switch></g><path d="M 1021.8 529.38 L 660.49 346.45" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 655.81 344.08 L 663.63 344.12 L 660.49 346.45 L 660.47 350.37 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 444px; margin-left: 853px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div><div>recv: IBF</div></div></div></div></div></foreignObject><text x="853" y="447" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: IBF</text></switch></g><path d="M 458 535 L 773.14 588.33 Q 783 590 792.84 588.24 L 1008.3 549.69" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1013.47 548.77 L 1007.2 553.44 L 1008.3 549.69 L 1005.97 546.55 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 590px; margin-left: 743px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>if: IBF failed to decode <br /></div><div>send: IBF*</div><div>send: IBF-LAST</div></div></div></div></foreignObject><text x="743" y="594" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">if: IBF failed to decode...</text></switch></g><path d="M 383.14 555.44 L 331.03 594.05 Q 323 600 331 606 L 355 624 Q 363 630 367.48 621.06 L 395.67 564.88" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 398.03 560.19 L 398.02 568.02 L 395.67 564.88 L 391.76 564.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 610px; margin-left: 336px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>if IBF decoded <br /></div><div>with side = 1</div><div>send: Offer<br /></div></div></div></div></foreignObject><text x="336" y="613" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">if IBF decoded...</text></switch></g><path d="M 1083.98 553.64 L 1153.3 536.41 Q 1163 534 1160.18 524.41 L 1155.82 509.59 Q 1153 500 1144.01 504.38 L 1089.7 530.85" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1084.98 533.15 L 1089.74 526.94 L 1089.7 530.85 L 1092.81 533.23 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 523px; margin-left: 1184px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: Offer</div><div>send: Demand<br /></div></div></div></div></foreignObject><text x="1184" y="526" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Offer...</text></switch></g><path d="M 438.88 514.95 L 494.81 475.74 Q 503 470 507.47 478.94 L 518.53 501.06 Q 523 510 513.14 511.66 L 457.82 520.95" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 452.64 521.81 L 458.97 517.2 L 457.82 520.95 L 460.13 524.11 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 491px; margin-left: 524px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: Demand</div>send: Element</div></div></div></foreignObject><text x="524" y="494" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Demandsend: Element</text></switch></g><path d="M 1026.97 558.63 L 980.94 593.92 Q 973 600 980.07 607.07 L 995.93 622.93 Q 1003 630 1007.58 621.11 L 1035.17 567.48" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1037.57 562.81 L 1037.48 570.64 L 1035.17 567.48 L 1031.25 567.44 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 611px; margin-left: 981px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Element</div></div></div></foreignObject><text x="981" y="614" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Element</text></switch></g><path d="M 1057.92 561.82 L 1088.42 621.11 Q 1093 630 1100.81 623.75 L 1135.19 596.25 Q 1143 590 1133.96 585.73 L 1078.51 559.5" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1073.76 557.26 L 1081.58 557.09 L 1078.51 559.5 L 1078.59 563.42 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 610px; margin-left: 1123px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: Inquiry<br /></div><div>send: Offer<br /></div></div></div></div></foreignObject><text x="1123" y="614" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Inquiry...</text></switch></g><path d="M 321.73 184.78 L 402.66 504.05" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 403.95 509.14 L 398.83 503.21 L 402.66 504.05 L 405.62 501.49 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 311px; margin-left: 354px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: IBF-LAST</div></div></div></div></foreignObject><text x="354" y="315" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: IBF-LAST</text></switch></g><path d="M 1013.58 539.03 L 752.94 511.07 Q 743 510 733.03 510.75 L 463.87 530.98" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 458.64 531.38 L 465.35 527.36 L 463.87 530.98 L 465.88 534.34 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 509px; margin-left: 749px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: IBF-LAST</div></div></div></div></foreignObject><text x="749" y="512" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: IBF-LAST</text></switch></g><path d="M 117.85 253.03 L 80.22 216.92 Q 73 210 67 218 L 49 242 Q 43 250 52.69 252.47 L 91.67 262.43" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 96.76 263.73 L 89.11 265.39 L 91.67 262.43 L 90.84 258.61 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 230px; margin-left: 45px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Full element*</div></div></div></foreignObject><text x="45" y="234" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Full element*</text></switch></g><path d="M 1072.75 726.64 L 1143 726.52 Q 1153 726.5 1150.52 716.81 L 1145.48 697.19 Q 1143 687.5 1133.12 689.03 L 1079.04 697.39" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1073.85 698.19 L 1080.24 693.66 L 1079.04 697.39 L 1081.31 700.58 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 711px; margin-left: 1145px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Element</div></div></div></foreignObject><text x="1145" y="714" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Element</text></switch></g><path d="M 457.43 713.85 L 523.03 719.19 Q 533 720 533 710 L 533 700 Q 533 690 523.13 691.61 L 462.14 701.54" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 456.95 702.39 L 463.3 697.81 L 462.14 701.54 L 464.43 704.71 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 705px; margin-left: 533px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Element</div></div></div></foreignObject><text x="533" y="708" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Element</text></switch></g><ellipse cx="770.5" cy="895" rx="50" ry="25" fill="url(#mx-gradient-ffffff-1-ffffff-1-s-0)" stroke="#000000" pointer-events="all"/><ellipse cx="770.5" cy="895" rx="47" ry="22" fill="transparent" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 92px; height: 1px; padding-top: 895px; margin-left: 725px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><pre class="moz-quote-pre">Finished</pre></div></div></div></foreignObject><text x="771" y="899" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Finished</text></switch></g><ellipse cx="315.5" cy="20" rx="50" ry="20" fill="url(#mx-gradient-ffffff-1-ffffff-1-s-0)" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 98px; height: 1px; padding-top: 20px; margin-left: 267px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Expecting Connection</div></div></div></foreignObject><text x="316" y="24" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Expecting Connec...</text></switch></g><path d="M 1378 40 L 1378 133.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1378 138.88 L 1374.5 131.88 L 1378 133.63 L 1381.5 131.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 77px; margin-left: 1381px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">send: Operation request</div></div></div></foreignObject><text x="1381" y="80" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">send: Operation request</text></switch></g><ellipse cx="1378" cy="20" rx="50" ry="20" fill="url(#mx-gradient-ffffff-1-ffffff-1-s-0)" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 98px; height: 1px; padding-top: 20px; margin-left: 1329px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div>Initiating Connection<br /></div></div></div></div></foreignObject><text x="1378" y="24" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Initiating Conne...</text></switch></g><path d="M 1015.03 725.02 L 952.98 729.31 Q 943 730 945.43 720.3 L 950.57 699.7 Q 953 690 962.93 691.18 L 1016.93 697.61" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1022.14 698.23 L 1014.78 700.87 L 1016.93 697.61 L 1015.6 693.92 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 710px; margin-left: 951px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv:Demand<br /></div><div>send: Element</div></div></div></div></foreignObject><text x="951" y="713" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv:Demand...</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1</text></a></switch></svg> \ No newline at end of file
diff --git a/statemachine/full_state_machine.xml b/statemachine/full_state_machine.xml
new file mode 100644
index 0000000..679cee1
--- /dev/null
+++ b/statemachine/full_state_machine.xml
@@ -0,0 +1 @@
<mxfile host="app.diagrams.net" modified="2021-05-20T13:48:24.900Z" agent="5.0 (X11)" etag="a3Ebk57OIP6ERtez1A7k" version="14.6.12" type="device"><diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">7V1bc9vGFf41nGkzI8zeF3i0JTl167ROnNbJIyxCIlKSkEFKlvLru7gsCBwsSVwW5LKJHjTEEliAu+d8534wo9erl+/T8HHxQzKPljOC5i8zejMjhHGi/mcDr8WAj1Ax8JDG82II7wY+xb9H5aA+7SmeR5vGidskWW7jx+bgXbJeR3fbxliYpsm35mn3ybJ518fwIWoNfLoLl+3Rz/F8uyhHBWe7L/4WxQ8LfWssguKbVajPLn/KZhHOk2+1IXo7o9dpkmyLT6uX62iZLZ5emM/vXz8vP/xXfP/3Hzdfw3+//cfP//zPVTHZuz6XVL8hjdbbwVNjv5jmOVw+lYszI2KpJnw7j5/Vx4fsYxrdPc/oG3Xevx6jNNzGyVp9TqOvT9Fmq8//kurT9Yi6bW0Sw7ybaD0v5v10+5frv86yFTRfmi/19lVvYDRX+1keJul2kTwk63B5uxt9myZP63mU/UqkjnbnfEiSRzWI1eBv0Xb7WhJn+LRN1NBiu1qW33Zc3nIbNslTeqepi8iSpsP0ISovpsVQ9uA1Giw35fsoWUXb9DVf1KVa3+cmoYYlvT9U51WXfkxi9XwElaxJfV5cUnImpbw5RfGg5VU7wniTpuFr7bTH7IRN/Qz1ofagu6GcoPYQF0fn2Dm1YenrL+X1+cGv2YHH9eHNS/3Lm9fyaPiO0/Z+M3+SDd+/T2Z68PUWlPSgIfhdx/MZ4oAIiicYThKkBTg7dHn3lJ8cLaNVVNInpJ0P4Rclixr7HS7jh7X6fKeuiVI18Byl21ih/Zvyi1U8nxekFW3i38Mv+XzZjperpybnb2f8xkgDFRFns0YvJvlUztiQAI09Lq+6UjSICWsyaHE0lO31Kcn9/SbazsbxK21tze3Lo/p98fpBDb9/+669I8ulktnZ0n5bxNvo02OYs8Q3pTWMQdPWUu9d0grfXrU8K4+/7eR6UA4tahJdb6ppiRsreGi5gsuSS6yNUphwJ2CKIL+xjQFHYCdqsNO6WgbIeHV1++Int4TeABZhGgw66kslos2TddRDtTk5yGlStoJxgks2DtXKfRTSA9qLFZhjrS0sd+mTUkdzrHMN5bBoEjjV9tYJUE4cFwroQ7gxSOtzr5qgYNV4e9WwNkltL5vsghNv7nLu2Jk9A2yom+guKai2G7yce1cY2BUuTkfLlJ5DYkcv8faXnQWijn6tfbMzRrIDbYvsbBgvU2kadgwiRwyZ/OhjlMZqgTJZMcC6mdpOZVJ4Tc1N+t0s1bbJgpoTBfBp9kj/vjoKk7J5H3rElILPRQ/oNAPEmN9W1w3wEN8XikhY6CHRKsyJuTKyNj3QZxHmYPUligr3z12kCGDuiAajV8OKBuOL5t4RMk6h0Q/EmIebVKQdi1Y1nE5OvXfxOt4sOssZNd/1MtlcsKSRdDLbMPnyW+anJmhZ0H2x5KS2JUHtUcvdqq/Vev4m82tn7LEMN5v4zpbRZ3JNdYT42jLxA1rSSJ4gvGn6MTJQDpBAApHCoEgZbAeqw3KL97i1epqFP2nXObrPTQ8LHvSm7+y74TO4bqtaM1WRp3QF0qAYzUFjaZp4FMwrPTGFLYuxgfDgLp0SXIRT4MIogZiAB8IL8+FUFO6oPTcTJq1t3YGH0RF7Ftf4PpE8ROdiQDGyxIpX3ONBc2LuBWIKVjSZ/CdjRdFmRekWK3LIPwINZEWO4FScT8aKzISwBu34gLRXDHv14c2nnw/LZBdlbUXTNjicsqApbUdyuFXu1cx6Hu41JAx0jR+fiHuDAHKvHMq9wJktoUS2yLuHxOhNrue6wGUV7VlQaRkWTTnqFJOZXFY9mazmGZWY1T2j2ENUTu8aPcK3bkldCphNQOdGZ/UXg4kQmMiSl5VL8wPv1wWAP82362U1RAsPeFmLcNg8C8nkTtYRlv23WJGHorZ4ngeIsjujjAR7m/Xv11+f4oxG3FUziE3nLQEpcFfYDitdYeqJZvIOJh70VtnBSe6YMuIYqCHo6RNyIKxR3pqKTANsEIk10O19MgiElsNHmHYybJrIdp/HDHJom4O48yjn5Y3jPseKIW0AFOYMIpQlgMJKJWoC1A6y7AKUKcL0J0BdrNYF78OPpAlTH5zPLGtd2snfKZ5SVCbc30epHTDKg+ROw5FmPzv6kg+0Glv6EjFOazdl2RR4+xOIdtaRJSDi/ERABFJ59fHe54LZZMiylsTa+Y87F9KtS4UKFStY8CIhTEDQxCU3ErPgRhrO9IZIi1tBT0mg5TDQUyuBCcI75lP0ZXoJ05uPZNZJoH1QSS0zvcn+7h3zOZKD4aJiwWw6YrBmS51EZ4W6qceauRUYeYI2Z7GDMvsy32dZuWp7v86d7oahEo+1LK3BjjTADkP796BzlQAzErC7tVB+G8VdKYbCDPgHAnagCLOdd+wzDzFEEcdYHSDRnGu6SLkYj5pHU9AqK02Eq4yv1l82j/lJf5z8N81qVjBactlE05H1qHpmCNFkmkquthuq3MSf8uT0okbJRagGdhk1la1OBNXc5Fu5KOwO2tjNrZfbd5Z8bQ+EizkG1a7bSJv1dWKFk9Zhm74/ZgZgXruyq5ZzDhMQ9KlKUjnvT6DB8TYdtxdpMqOaGaxqvZGOmNWilZkw1KyG9jnMg7SnkulC7N4qWRn2a2lZN3HmZlfbG4d5xfTr+i67XVZFtkrSjMOi+/v4Ls69Yn2s3wNKYdkbqH/iQ26Cj8nBaMxVpnD2mM8J3LfoFaQEVjU4BPv8rJUQRvxyK4UTMyo9IgIcBIgpjZw3N5Nk3zKqvkdMLSYoS+yKbZhkUiuQVN3MD1Cg2/1oPTeQnmQc+YGPuKA6WjIB8PUpjjXakpsC2qpvi/+tQ90FrTA17tNkNQ5yku0iC2OijVJCjiHrgOnHo+rQ0jUnwNBmwQpQgYkVJiXNbEbie3QK36ahC1dvsKwScauDqdusGUHWLYylpOm6I2ygkog5Fh6inEoZ+KA0igbUwwrEmS+UEqqgtBuMTtLjT1wE0PZBVacKbh3GUg0hVkqDCG26qd1SLduRoFOqlgZ3l+Omsa90SZh3ONQ6ln57LktxZ4xh9siRtLe2j4bYTTfhndpG1fyLB1PVDkBPlbniMMBorrPSdxOBhBadQjc6yc33mv0rrriHUVD/m0B/EwYActllz10Ot2IMwq2HMu3dCbf6Jh1+0v5Phun3tYT6A9QEaB601DPTbxKOU/qPIcxaNo9Cn8N4exnxFMmqIPQpEmLOqzMa8NYxd6RvKzUZtiyfKjUZw8J16h/RFuEFzHIJl+4d16GX+neOYKZNnU7hUrPa6UoL8pF9hzHytBi3iqPSOTvSrcTldoR1ICS0I6zdIGHInnay2I6lCl+e+0fa5GQkNTA4oe9oxWGUd7xs+qs/13zje5v+DudtQyGS4y6ik/P22DenCMsljlp29Sq/DuNlbrwpy1y3mRhnv8FsiRGJEe5iVcXPVrCKMKsNdqrAueeD/tLTtKnTxZ5/Vkwa94FRodadI/2Hj3SH6FzJDVImBcywsNVmIjDj7N7nAi5w2/1zfJPOa4K5yZvnDOmd07Oo3Amws1keQKsuIRrsRlpYdqHMQheKXRaDh5rtxJSBKY/lMhjbiVWqn56xUv+kPKwAZgf2mpNdQOAQOoFkQAYHDqHClvn7pgocEhg4LLluf1oc0Fo5twyzvRpmAGDr45RvBBwvBBGtdsvgsImpHf2PEg8TVPsDLYKoh6Zo5BNY0AZrHRkDSgCEsiEIOhzznNcveatzjq3i/I7dyMc2ZAQpD+3zA/hcdpEu6FRl2i1FwpAP4QJgBTZVuFZbdTt0TKQnmxkVmHoaPOxClHNec8eUKIyhcoEuQ4tCrJ+tihF0Ilo2VjElLVpztNtPYNP/joXfTGIaqdPoAKkXiLpKAyaw89YFbUHYT2XHR1SX/3NQQcKThAnMAlxFmneNgDzuk0DSAPscw/zzzjnuKECeL6Xg2GcSFJfxwPewH6h7BVTwgINfYC0FFLZqPBbUJ7Alo+W4ANZs0lXBAf2dRwUBLtDftQMAl/NEMfcogFji+dMAYluG9QbE4dBmeCWUWwZYK+8I9qUcqilV2T72kwww6lRl0/2NM24wriZUK6+PEuC9F5YK8jD2MpJpKTFVDpinAcMyF581TGdSUBxjY9hOHXLf1GzcO58Atli27BfBqKdj5DIwwqYrBDEKGhiMxAi7LH/edzmyNsc7VlsLBDcf+s4HyPEMpiLZsi2Ae4OII6YFQAhqu5fxwbdKOpkvjO29YhJ5ytZrsj+zQpdXSpMPQLTG96BNbAciiAWI2FO3fyxOY8hn1J9tZzOaqsU6N3g7ERgRwNxStFocdneDwDfiSQnnsha4htW1Unj88NNBh4ek0jvQj3QIWRtatjnqdt1xoA1A4pp9rbpdFR5NhD5n7btuAAW3MEFkKZuBr/iDMrW1IE9AysDDjGDKRdawHPnDwOLITTjyfC59wagCJKG/tYwiAmbtHHmVVet82y5TQx9YZ/HDWof1rEjJaiaydoh5HNCmJfTYb58+plmaZo4X+Rfi61OSja+S36+yj9FVfoYe1jbqu+ptZJUFW5y3x4KtSlI3i/AxG5wnT2qxb6vxleKPONtjOjtat9qik4c0nGd9ZK6TZZLmd6T3+V9v1Ote5Jo1xwDF61rA1zCvspxMoDemyBWTdvVT0SO/6NJzXVB0nKwPbMYlrDOlrTeOd1xmG7XE1ctYLqXdAzYJa9296/QtmjFvKy61mNdjlIYFjeoeU67ICms9m/PXfDXol4yTFZZFgymRu+W6fL+Ot3FogJah4cqLgiBMg/MhEPu4XTxsxY8M/7x4nj9ff5YBvjKxVXuROyePDvFGZOVYwayeYu9jetArsT/FHuCSbdfF2TwVyrr2JNtrMfjCEzuzBIP5O/swjtyF+x7d2SX+2IaF+xwp0FVxLJkDQXeIZctkD9+YYnv7IjV9M+4vr+lXZ/EG3lV1AJMu1umiDtMkM3J2pytxtPghmWf7cPs/</diagram></mxfile> \ No newline at end of file
diff --git a/statemachine/state_machine_full b/statemachine/state_machine_full
new file mode 100644
index 0000000..dd6b21a
--- /dev/null
+++ b/statemachine/state_machine_full
@@ -0,0 +1 @@
<mxfile host="app.diagrams.net" modified="2021-06-09T06:52:44.377Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36" etag="pelenmTsAhDcsqPl0I7k" version="14.7.6" type="device"><diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">5Vtdc6M2FP01nml3Jow+kIDHfDjbbbftdtM27SMxis0WIy/gJM6vrwAJI4RdAjhLpvuy6CKu4d6jo3MlZYYv10/vE3+z+pkHLJohEDzN8NUMIQQoEv/lll1pgZB6pWWZhIG07Q034TOTRiCt2zBgqdYx4zzKwo1uXPA4ZotMs/lJwh/1bvc80n914y+ZYbhZ+JFpvQ2DbCWtlNj7Gz+wcLnKmh+49lVv+Snpyg/4Y82E5zN8mXCelVfrp0sW5eFTgbn9sLuNPv5D3//4W/rV/+Pip99/+fOsdHb9kkeqb0hYnPV2Dd3SzYMfbWVwZohGwuFFED6Iy2V+mbDFwwyfi36/bljiZyGPxXXCvm5Zmqn+d4nqriziZ2tOWvymLA5Kvzfz7y6/n+URbH+0CHW2UwlkgcinbPIkW/Elj/1ovrdeJHwbByz/SiBa+z4fOd8IIxTGLyzLdhKc/jbjwrTK1pG82zG8Mg0p3yYLhS7kSEz7yZLJh3Fpyl+8hkGZlPeMr1mW7IqgRiK+DzpQfYn3ZdWvevQTD8X7ISAHJ3ZJ+YgcmhgT3UX5ovKpPTDOk8Tf1bpt8g5pvYe4qL3o3lQA6gC4CPgWmRMJS3Z/yeeLxt95wyKqefVUv3m1k63+Gcdmvm33JAk/nKd2PFAANDwoCr7u2B975Gh/xznaX1yUb9wfQsggqD0bXW+Lzixiaybx3MTaR/9OzF4aPvwoXMbieiGeYYkwPLAkC8XscC5vrMMgKKHI0vDZvyv85QiR0RbOycWMXLVipgJ97pU9tc1n0qM2Y2iYkE+dCcxCZOsBLlt9aUJ14ff3Kctmw8Y3NlIzf9qI7wvjpTB/uLg2MxJFYo7PQ/u4CjN2s/GLIfQodMYQ9jVCfTCkFR8q6aL48nGvAySEwaqmAFRS20KsRfBYuLy3NY/ZJqtBRCZBa81pjpAjtGOSlqeTltfMbvnJxiTZY4jYigw66ivJaAGP2Quk0KuTnILyKBxHiWMPYzWFCh0UDtUdjMJ5tpFPmbIboWUL4pse5TlWQxQ6JyM9fvclL9gQiEpIloBHtQB6tZeVsa1HKw7O8wIvR27kp2m4GIvN2jRaRy6rhUmFpC1MA9GLiKtlyUbdpLvpyGsm3HYbrnoTnGjKFB/Qay/ku8+qhgT3xTAaoZTUReG7/h6mTsKjcTCwkKeGqUSMGkFDMY0s3PDrCL4/BS9TA3ilGM2peT49VnachhBVmqRGNk4L2dgjCFFqtwJ4ukLUNbl7KkrUhbqWfJkSdV3bAjbAgEAoGoBqvjwyFm2bECBdeHqYVK0IlfrrfFTFd+mm6PT/oWg10kbRyQ5xdDIduBagPOtOIUDWSQjaXGmWSfzMFix8KBcNpkjUjRUu1yRq70RETaARMzNAJ1PMakrttaz5OpoZ2qK4QdSDngdsgVyiYxnld20s7gOhpqGnu++qpyFykEU9B4sfcz3gqSXJasnTsRybANdzAaFYLf6Pz9mOud52lKDlnsoIkrqvSp8CBZNDI74PBTdEMhoFxAoxCrSuhfEJCLhlJf3FZFJtrVSNU2+ttJLQtDgII13KI7tn4Q4JpBbABDuO50IdFdjDlqgRbNullBBBNd1o5iT7erQTEYXDS/KhEnDCrKQG4xishBHWC4eh1fuovEPNyvw1RUxL7Tg1EdNQmLQvf1SHUlQt6nWrH19a83q4IYmd45vEzf5qZXOsTWJ1OKfDHvG7aQz/akyMIkqICxvDnwwDZlUKWuAUeygQftu6ZuqKQtScjQX83pQgaqKmL9LcVxiJFZDbZIXjR02a/W39aMrwoyPQFLwTp4X9wBhhTR9CqlfD42yynkFkeTqizlyrKUfH4Ql0eJVyk7A8KDkzFDfo121+5PJizZ/P8kt2VvRQZqX+rsM4TFcsqGnDst8BbVitPqUrf5MbA74VGZhX9rUYPGGeePzfS1QGeJaJH4SicckjnhS/iO+LfydczyINtUGwuZ4FwRFyG7KgVR2NPHBm6LIEeXG+9GAq3kKUMUZN2u0Y5jHWDaHaG3wrOzwQtcl02nFW7sxoneNHzAp3X3i2noGexPQx3pZwLiv14who2Owx8sTQ6dj6hzjMQr+FWvquX74pCnJog+hPR0Ciuf+LhzKf+78cwfN/AQ==</diagram></mxfile> \ No newline at end of file
diff --git a/statemachine/state_machine_full.png b/statemachine/state_machine_full.png
new file mode 100644
index 0000000..395a21c
--- /dev/null
+++ b/statemachine/state_machine_full.png
Binary files differ
diff --git a/statemachine/state_machine_full.svg b/statemachine/state_machine_full.svg
new file mode 100644
index 0000000..f3d4b43
--- /dev/null
+++ b/statemachine/state_machine_full.svg
@@ -0,0 +1,3 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="752px" height="531px" viewBox="-0.5 -0.5 752 531" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2021-06-09T06:55:05.725Z&quot; agent=&quot;5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36&quot; etag=&quot;Ho4LXeUk9jqtwfKfm4ic&quot; version=&quot;14.7.6&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;C5RBs43oDa-KdzZeNtuy&quot; name=&quot;Page-1&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;" style="background-color: rgb(255, 255, 255);"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-ffffff-1-ffffff-1-s-0"><stop offset="0%" style="stop-color:#ffffff"/><stop offset="100%" style="stop-color:#ffffff"/></linearGradient></defs><g><path d="M 155.5 40 L 155.5 128.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 155.5 133.88 L 152 126.88 L 155.5 128.63 L 159 126.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 88px; margin-left: 156px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: Operation request<br /></div><div>send: SE(C) </div></div></div></div></foreignObject><text x="156" y="91" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Operation request...</text></switch></g><path d="M 203 160 L 373 160 L 373 345 L 543 345 L 543 343.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 543 348.88 L 539.5 341.88 L 543 343.63 L 546.5 341.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 158px; margin-left: 333px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Full element</div></div></div></foreignObject><text x="333" y="161" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Full element</text></switch></g><ellipse cx="155.5" cy="160" rx="47.5" ry="25" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 93px; height: 1px; padding-top: 160px; margin-left: 109px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Expecting IBF</div></div></div></foreignObject><text x="156" y="164" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Expecting IBF</text></switch></g><path d="M 158 375 L 158 505 L 336.63 505" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 341.88 505 L 334.88 508.5 L 336.63 505 L 334.88 501.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 506px; margin-left: 194px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: Full done</div></div></div></div></foreignObject><text x="194" y="509" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Full done</text></switch></g><ellipse cx="158" cy="350" rx="47.5" ry="25" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 93px; height: 1px; padding-top: 350px; margin-left: 112px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Full Sending</div></div></div></foreignObject><text x="158" y="354" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Full Sending</text></switch></g><path d="M 155.8 185 L 157.65 318.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 157.72 323.88 L 154.13 316.93 L 157.65 318.63 L 161.12 316.83 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 258px; margin-left: 179px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: Request full<br /></div><div>send: Full element*</div><div>send: Full done</div></div></div></div></foreignObject><text x="179" y="261" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Request full...</text></switch></g><ellipse cx="583" cy="160" rx="35" ry="20" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 160px; margin-left: 549px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Expect SE</div></div></div></foreignObject><text x="583" y="164" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Expect SE</text></switch></g><path d="M 583 369.88 L 583 505 L 449.37 505" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 444.12 505 L 451.12 501.5 L 449.37 505 L 451.12 508.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 506px; margin-left: 584px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div><div>recv: Full done</div>send:  Full element*</div><div>send: Full done</div></div></div></div></foreignObject><text x="584" y="509" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Full donesend:  Full element*...</text></switch></g><ellipse cx="588" cy="350" rx="45" ry="20" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 88px; height: 1px; padding-top: 350px; margin-left: 544px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Full Receiving </div></div></div></foreignObject><text x="588" y="354" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Full Receiving </text></switch></g><path d="M 583.47 180 L 587.3 323.64" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 587.44 328.88 L 583.76 321.98 L 587.3 323.64 L 590.76 321.79 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 269px; margin-left: 611px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: SE(C)<br /></div><div>send: Request full<br /></div></div></div></div></foreignObject><text x="611" y="272" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: SE(C)...</text></switch></g><path d="M 556.75 173.23 L 211.19 347.14" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 206.5 349.5 L 211.18 343.22 L 211.19 347.14 L 214.32 349.48 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 233px; margin-left: 438px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>isend: Full element*</div><div><div>send: Full done</div></div></div></div></div></foreignObject><text x="438" y="236" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">isend: Full element*...</text></switch></g><path d="M 628.42 341.21 L 693.23 327.12 Q 703 325 703 335 L 703 365 Q 703 375 693.23 372.88 L 634.65 360.14" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 629.52 359.03 L 637.1 357.09 L 634.65 360.14 L 635.61 363.93 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 350px; margin-left: 705px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Full element*</div></div></div></foreignObject><text x="705" y="354" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Full element*</text></switch></g><path d="M 116.25 338.07 L 62.62 322.75 Q 53 320 53 330 L 53 350 Q 53 360 62.95 359.05 L 104.92 355.06" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 110.15 354.56 L 103.51 358.71 L 104.92 355.06 L 102.85 351.74 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 339px; margin-left: 45px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Full element*</div></div></div></foreignObject><text x="45" y="342" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Full element*</text></switch></g><ellipse cx="393" cy="505" rx="50" ry="25" fill="url(#mx-gradient-ffffff-1-ffffff-1-s-0)" stroke="#000000" pointer-events="all"/><ellipse cx="393" cy="505" rx="47" ry="22" fill="none" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 92px; height: 1px; padding-top: 505px; margin-left: 347px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><pre class="moz-quote-pre">Finished</pre></div></div></div></foreignObject><text x="393" y="509" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Finished</text></switch></g><ellipse cx="155.5" cy="20" rx="50" ry="20" fill="url(#mx-gradient-ffffff-1-ffffff-1-s-0)" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 98px; height: 1px; padding-top: 20px; margin-left: 107px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Expecting Connection</div></div></div></foreignObject><text x="156" y="24" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Expecting Connec...</text></switch></g><path d="M 583 40 L 583 133.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 583 138.88 L 579.5 131.88 L 583 133.63 L 586.5 131.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 77px; margin-left: 586px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">send: Operation request</div></div></div></foreignObject><text x="586" y="80" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">send: Operation request</text></switch></g><ellipse cx="583" cy="20" rx="50" ry="20" fill="url(#mx-gradient-ffffff-1-ffffff-1-s-0)" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 98px; height: 1px; padding-top: 20px; margin-left: 534px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div>Initiating Connection<br /></div></div></div></div></foreignObject><text x="583" y="24" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Initiating Conne...</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1</text></a></switch></svg> \ No newline at end of file