bencode inspired tight self describing serialization format
Diffstat (limited to 'spec.md')
-rw-r--r--spec.md34
1 files changed, 34 insertions, 0 deletions
diff --git a/spec.md b/spec.md
new file mode 100644
index 0000000..d2ddb0d
--- /dev/null
+++ b/spec.md
@@ -0,0 +1,34 @@
+# the bendncode format specification
+
+## definitions
+
+- leb128: store arbitrary size integers as multiples of 7 bits, with 8th bit as continuation
+- sleb128: similar but you write the sign bit at the end
+
+## decoding steps
+
+as this is a self descriptive format, you need not know what it must become to read what it is.
+
+the first step of any decode, is to read the tag out. none of the possible variants have a closing tag, merely an opening tag.
+
+- `\x0` (False) and `\x1` (True) map straight to a boolean
+- `i` (Int) uses the `sleb128` encoding as defined
+- `u` (Uint) uses the `leb128` encoding
+- `f` (Float) simply encodes 4 bytes
+- `d` (Double) encodes 8 bytes
+- `z` (None) means none, and `Some` means read the next tag
+- `l` (List) is encoded as `leb128(len)`, `tagged contents`, and are not necessarily homogenous.
+- `s` (String) is encoded as `leb128(len)`, followed by `len` bytes.
+- `m` (Map) is encoded as `leb128(len)`, `kₙ`, `vₙ`, ..
+
+### enum tags
+
+- all enums are, immediately after their tag, encoded with their index(`leb128`)
+ - `v`, for newtype variant, is encoded as simply the actual type (which is tagged).
+ - `x`, unit variant, has no further steps.
+ - `y`, struct variant, is encoded identically to `Map`.
+ - `n`, tuple variant, is encoded identically to `List`.
+
+## flowchart
+
+<svg xmlns="http://www.w3.org/2000/svg" id="export-svg" width="100%" aria-roledescription="flowchart-v2" class="flowchart" style="font-family:&quot;Cascadia Code&quot;,arial,sans-serif;font-size:13px;fill:#28253d;max-width:1201.6583251953125px" viewBox="4 4 1201.658 911.667"><style xmlns="http://www.w3.org/1999/xhtml"><![CDATA[@keyframes edge-animation-frame{0%{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#export-svg p,p{margin:0}#export-svg .edge-thickness-normal{stroke-width:2px}#export-svg .edge-pattern-solid{stroke-dasharray:0}#export-svg .marker{fill:#000;stroke:#000}#export-svg .marker.cross{stroke:#000}#export-svg .label,#export-svg svg{font-family:"Cascadia Code",arial,sans-serif}#export-svg svg{font-size:13px}#export-svg .label{color:#28253d}#export-svg span{fill:#28253d;color:#28253d}#export-svg .node circle,#export-svg .node path,#export-svg .node rect{fill:#fff;stroke:#28253d;stroke-width:2px}#export-svg .node .label{text-align:center}#export-svg .flowchart-link{stroke:#000;fill:none}#export-svg .edgeLabel{background-color:#ccc;text-align:center}#export-svg .edgeLabel p{background-color:#ccc}#export-svg .edgeLabel rect{opacity:.5;background-color:#ccc;fill:#ccc}#export-svg .labelBkg{background-color:rgba(204,204,204,.5)}#export-svg [data-look=neo].node circle,#export-svg [data-look=neo].node rect{stroke:#28253d;filter:url(#export-svg-drop-shadow)}#export-svg [data-look=neo].node path{stroke:#28253d;stroke-width:2px}#export-svg [data-look=neo].node .outer-path{filter:url(#export-svg-drop-shadow)}#export-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}#export-svg .primType span,#export-svg .primType>*{stroke:#818cf8!important;fill:#eef2ff!important}#export-svg .collType span,#export-svg .collType>*{stroke:#2dd4bf!important;fill:#f0fdfa!important}#export-svg .enumType span,#export-svg .enumType>*{stroke:#a78bfa!important;fill:#f5f3ff!important}]]></style><marker id="export-svg_flowchart-v2-pointEnd" class="marker flowchart-v2" markerHeight="14" markerUnits="userSpaceOnUse" markerWidth="10.5" orient="auto" refX="7.75" refY="7" viewBox="0 0 11.5 14"><path d="m0 0 11.5 7L0 14z" class="arrowMarkerPath" style="stroke-width:0;stroke-dasharray:1px,0"/></marker><marker id="export-svg_flowchart-v2-pointStart" class="marker flowchart-v2" markerHeight="14" markerUnits="userSpaceOnUse" markerWidth="11.5" orient="auto" refX="4" refY="7" viewBox="0 0 11.5 14"><path d="m0 7 11.5 7V0z" class="arrowMarkerPath" style="stroke-width:0;stroke-dasharray:1px,0"/></marker><marker id="export-svg_flowchart-v2-pointEnd-margin" class="marker flowchart-v2" markerHeight="14" markerUnits="userSpaceOnUse" markerWidth="10.5" orient="auto" refX="11.5" refY="7" viewBox="0 0 11.5 14"><path d="m0 0 11.5 7L0 14z" class="arrowMarkerPath" style="stroke-width:0;stroke-dasharray:1px,0"/></marker><marker id="export-svg_flowchart-v2-pointStart-margin" class="marker flowchart-v2" markerHeight="14" markerUnits="userSpaceOnUse" markerWidth="11.5" orient="auto" refX="1" refY="7" viewBox="0 0 11.5 14"><path d="m0 7 11.5 7V0z" class="arrowMarkerPath" style="stroke-width:0;stroke-dasharray:1px,0"/></marker><marker id="export-svg_flowchart-v2-circleEnd" class="marker flowchart-v2" markerHeight="14" markerUnits="userSpaceOnUse" markerWidth="14" orient="auto" refX="10.75" refY="5" viewBox="0 0 10 10"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width:0;stroke-dasharray:1px,0"/></marker><marker id="export-svg_flowchart-v2-circleStart" class="marker flowchart-v2" markerHeight="14" markerUnits="userSpaceOnUse" markerWidth="14" orient="auto" refX="0" refY="5" viewBox="0 0 10 10"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width:0;stroke-dasharray:1px,0"/></marker><marker id="export-svg_flowchart-v2-circleEnd-margin" class="marker flowchart-v2" markerHeight="14" markerUnits="userSpaceOnUse" markerWidth="14" orient="auto" refX="12.25" refY="5" viewBox="0 0 10 10"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width:0;stroke-dasharray:1px,0"/></marker><marker id="export-svg_flowchart-v2-circleStart-margin" class="marker flowchart-v2" markerHeight="14" markerUnits="userSpaceOnUse" markerWidth="14" orient="auto" refX="-2" refY="5" viewBox="0 0 10 10"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width:0;stroke-dasharray:1px,0"/></marker><marker id="export-svg_flowchart-v2-crossEnd" class="marker cross flowchart-v2" markerHeight="12" markerUnits="userSpaceOnUse" markerWidth="12" orient="auto" refX="17.7" refY="7.5" viewBox="0 0 15 15"><path d="m1 1 13 13M1 14 14 1" class="arrowMarkerPath" style="stroke-width:2.5px"/></marker><marker id="export-svg_flowchart-v2-crossStart" class="marker cross flowchart-v2" markerHeight="12" markerUnits="userSpaceOnUse" markerWidth="12" orient="auto" refX="-3.5" refY="7.5" viewBox="0 0 15 15"><path d="m1 1 13 13M1 14 14 1" class="arrowMarkerPath" style="stroke-width:2.5px;stroke-dasharray:1px,0"/></marker><marker id="export-svg_flowchart-v2-crossEnd-margin" class="marker cross flowchart-v2" markerHeight="12" markerUnits="userSpaceOnUse" markerWidth="12" orient="auto" refX="17.7" refY="7.5" viewBox="0 0 15 15"><path d="m1 1 13 13M1 14 14 1" class="arrowMarkerPath" style="stroke-width:2.5px"/></marker><marker id="export-svg_flowchart-v2-crossStart-margin" class="marker cross flowchart-v2" markerHeight="12" markerUnits="userSpaceOnUse" markerWidth="12" orient="auto" refX="-3.5" refY="7.5" viewBox="0 0 15 15"><path d="m1 1 13 13M1 14 14 1" class="arrowMarkerPath" style="stroke-width:2.5px;stroke-dasharray:1px,0"/></marker><marker id="export-svg_flowchart-v2-pointEnd-margin__9ca3af" class="marker flowchart-v2" markerHeight="14" markerUnits="userSpaceOnUse" markerWidth="10.5" orient="auto" refX="11.5" refY="7" viewBox="0 0 11.5 14"><path fill="#9ca3af" stroke="#9ca3af" d="m0 0 11.5 7L0 14z" class="arrowMarkerPath" style="stroke-width:0;stroke-dasharray:1px,0"/></marker><defs><filter id="export-svg-drop-shadow" width="130%" height="130%"><feDropShadow dx="4" dy="4" flood-color="#000" flood-opacity=".06" stdDeviation="0"/></filter></defs><defs><filter id="export-svg-drop-shadow-small" width="150%" height="150%"><feDropShadow dx="2" dy="2" flood-color="#000" flood-opacity=".06" stdDeviation="0"/></filter></defs><g class="nodes"><g id="export-svg-flowchart-A-0" class="node default" data-et="node" data-id="A" data-look="neo" data-node="true" transform="translate(1100.865 885.167)"><rect width="118.117" height="45" x="-59.058" y="-22.5" class="basic label-container" rx="22.5" ry="22.5"/><g class="label" transform="translate(-39.058 -10.5)"><rect/><foreignObject width="78.117" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="nodeLabel"><p>decode any</p></span></div></foreignObject></g></g><g id="export-svg-flowchart-C-1" class="node default" data-et="node" data-id="C" data-look="neo" data-node="true"><path d="m41.833 0 41.834-41.833-41.834-41.834L0-41.833z" class="label-container" style="fill:#fff;stroke-width:2px;stroke:#28253d;filter:url(#export-svg-drop-shadow)" transform="translate(543.082 346.667)"/><g class="label" transform="translate(572.582 294.333)"><rect/><foreignObject width="23.667" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="nodeLabel"><p>tag</p></span></div></foreignObject></g></g><g id="export-svg-flowchart-D-3" class="node default primType primType" data-et="node" data-id="D" data-look="neo" data-node="true"><path stroke="url(#gradient)" d="M-34.267-22.5h68.533v45h-68.533z" class="basic label-container" data-id="D" style="stroke:#818cf8!important;fill:#eef2ff!important" transform="translate(67.267 570.167)"/><g class="label" transform="translate(49 559.667)"><rect/><foreignObject width="36.533" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="nodeLabel"><p>False</p></span></div></foreignObject></g></g><g id="export-svg-flowchart-E-5" class="node default primType primType" data-et="node" data-id="E" data-look="neo" data-node="true"><path stroke="url(#gradient)" d="M-31.608-22.5h63.217v45h-63.217z" class="basic label-container" data-id="E" style="stroke:#818cf8!important;fill:#eef2ff!important" transform="translate(173.142 570.167)"/><g class="label" transform="translate(157.533 559.667)"><rect/><foreignObject width="31.217" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="nodeLabel"><p>True</p></span></div></foreignObject></g></g><g id="export-svg-flowchart-F-7" class="node default primType primType" data-et="node" data-id="F" data-look="neo" data-node="true"><path stroke="url(#gradient)" d="M-27.058-22.5h54.117v45h-54.117z" class="basic label-container" data-id="F" style="stroke:#818cf8!important;fill:#eef2ff!important" transform="translate(271.808 570.167)"/><g class="label" transform="translate(260.75 559.667)"><rect/><foreignObject width="22.117" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="nodeLabel"><p>Int</p></span></div></foreignObject></g></g><g id="export-svg-flowchart-G-9" class="node default primType primType" data-et="node" data-id="G" data-look="neo" data-node="true"><path stroke="url(#gradient)" d="M-30.558-22.5h61.117v45h-61.117z" class="basic label-container" data-id="G" style="stroke:#818cf8!important;fill:#eef2ff!important" transform="translate(369.425 570.167)"/><g class="label" transform="translate(354.867 559.667)"><rect/><foreignObject width="29.117" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="nodeLabel"><p>Uint</p></span></div></foreignObject></g></g><g id="export-svg-flowchart-H-11" class="node default primType primType" data-et="node" data-id="H" data-look="neo" data-node="true"><path stroke="url(#gradient)" d="M-33.925-22.5h67.85v45h-67.85z" class="basic label-container" data-id="H" style="stroke:#818cf8!important;fill:#eef2ff!important" transform="translate(473.908 570.167)"/><g class="label" transform="translate(455.983 559.667)"><rect/><foreignObject width="35.85" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="nodeLabel"><p>Float</p></span></div></foreignObject></g></g><g id="export-svg-flowchart-I-13" class="node default primType primType" data-et="node" data-id="I" data-look="neo" data-node="true"><path stroke="url(#gradient)" d="M-39.8-22.5h79.6v45h-79.6z" class="basic label-container" data-id="I" style="stroke:#818cf8!important;fill:#eef2ff!important" transform="translate(587.633 570.167)"/><g class="label" transform="translate(563.833 559.667)"><rect/><foreignObject width="47.6" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="nodeLabel"><p>Double</p></span></div></foreignObject></g></g><g id="export-svg-flowchart-J-15" class="node default primType primType" data-et="node" data-id="J" data-look="neo" data-node="true"><path stroke="url(#gradient)" d="M-33.15-22.5h66.3v45h-66.3z" class="basic label-container" data-id="J" style="stroke:#818cf8!important;fill:#eef2ff!important" transform="translate(700.583 570.167)"/><g class="label" transform="translate(683.433 559.667)"><rect/><foreignObject width="34.3" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="nodeLabel"><p>None</p></span></div></foreignObject></g></g><g id="export-svg-flowchart-K-17" class="node default primType primType" data-et="node" data-id="K" data-look="neo" data-node="true"><path stroke="url(#gradient)" d="M-31.958-22.5h63.917v45h-63.917z" class="basic label-container" data-id="K" style="stroke:#757575!important;fill:#fff!important" transform="translate(753.733 655.167)"/><g class="label" transform="translate(737.775 644.667)"><rect/><foreignObject width="31.917" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="nodeLabel"><p>next</p></span></div></foreignObject></g></g><g id="export-svg-flowchart-L-21" class="node default collType collType" data-et="node" data-id="L" data-look="neo" data-node="true"><path stroke="url(#gradient)" d="M-29.367-22.5h58.733v45h-58.733z" class="basic label-container" data-id="L" style="stroke:#2dd4bf!important;fill:#f0fdfa!important" transform="translate(986.683 570.167)"/><g class="label" transform="translate(973.317 559.667)"><rect/><foreignObject width="26.733" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="nodeLabel"><p>List</p></span></div></foreignObject></g></g><g id="export-svg-flowchart-L1-23" class="node default collType collType" data-et="node" data-id="L1" data-look="neo" data-node="true"><path stroke="url(#gradient)" d="M-26.85-22.5h53.7v45h-53.7z" class="basic label-container" data-id="L1" style="stroke:#757575!important;fill:#fff!important" transform="translate(986.683 655.167)"/><g class="label" transform="translate(975.833 644.667)"><rect/><foreignObject width="21.7" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="nodeLabel"><p>len</p></span></div></foreignObject></g></g><g id="export-svg-flowchart-L2-25" class="node default collType collType" data-et="node" data-id="L2" data-look="neo" data-node="true"><g class="basic label-container outer-path"><path stroke-width="1.3" d="M-48.258-12.5v45h76.516v-10h10v-10h10v-45h-76.516v10h-10v10h-10m0 0v45m0-45v45m0 0h76.516m-76.516 0h76.516m0 0v-10m0 10v-10m0 0h10m-10 0h10m0 0v-10m0 10v-10m0 0h10m-10 0h10m0 0v-45m0 45v-45m0 0h-76.516m76.516 0h-76.516m0 0v10m0-10v10m0 0h-10m10 0h-10m0 0v10m0-10v10m0 0h-10m10 0h-10" style="stroke:#2dd4bf!important;fill:#f0fdfa!important" transform="translate(986.683 750.167)"/><path stroke-width="1.3" d="M-38.258-12.5h66.516v35h10v-45h-76.516v10m0 0h66.516m-66.516 0h66.516m0 0v35m0-35v35m0 0h10m-10 0h10m0 0v-45m0 45v-45m0 0h-76.516m76.516 0h-76.516m0 0v10m0-10v10" style="stroke:#2dd4bf!important;fill:#f0fdfa!important" transform="translate(986.683 750.167)"/></g><g class="label" transform="translate(954.425 749.667)"><rect/><foreignObject width="44.517" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="nodeLabel"><p>read N</p></span></div></foreignObject></g></g><g id="export-svg-flowchart-S-29" class="node default" data-et="node" data-id="S" data-look="neo" data-node="true"><path stroke="url(#gradient)" d="M-37.7-22.5h75.4v45h-75.4z" class="basic label-container" data-id="S" transform="translate(852.542 570.167)"/><g class="label" transform="translate(830.842 559.667)"><rect/><foreignObject width="43.4" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="nodeLabel"><p>String</p></span></div></foreignObject></g></g><g id="export-svg-flowchart-S1-31" class="node default collType collType" data-et="node" data-id="S1" data-look="neo" data-node="true"><path stroke="url(#gradient)" d="M-26.85-22.5h53.7v45h-53.7z" class="basic label-container" data-id="S1" style="stroke:#757575!important;fill:#fff!important" transform="translate(852.542 655.167)"/><g class="label" transform="translate(841.692 644.667)"><rect/><foreignObject width="21.7" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="nodeLabel"><p>len</p></span></div></foreignObject></g></g><g id="export-svg-flowchart-S2-33" class="node default primType primType" data-et="node" data-id="S2" data-look="neo" data-node="true"><g class="basic label-container outer-path"><path stroke-width="1.3" d="M-45.883-12.5v45h71.766v-10h10v-10h10v-45h-71.766v10h-10v10h-10m0 0v45m0-45v45m0 0h71.766m-71.766 0h71.766m0 0v-10m0 10v-10m0 0h10m-10 0h10m0 0v-10m0 10v-10m0 0h10m-10 0h10m0 0v-45m0 45v-45m0 0h-71.766m71.766 0h-71.766m0 0v10m0-10v10m0 0h-10m10 0h-10m0 0v10m0-10v10m0 0h-10m10 0h-10" style="stroke:#818cf8!important;fill:#eef2ff!important" transform="translate(852.542 750.167)"/><path stroke-width="1.3" d="M-35.883-12.5h61.766v35h10v-45h-71.766v10m0 0h61.766m-61.766 0h61.766m0 0v35m0-35v35m0 0h10m-10 0h10m0 0v-45m0 45v-45m0 0h-71.766m71.766 0h-71.766m0 0v10m0-10v10" style="stroke:#818cf8!important;fill:#eef2ff!important" transform="translate(852.542 750.167)"/></g><g class="label" transform="translate(822.658 749.667)"><rect/><foreignObject width="39.767" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="nodeLabel"><p>bytes</p></span></div></foreignObject></g></g><g id="export-svg-flowchart-M-35" class="node default collType collType" data-et="node" data-id="M" data-look="neo" data-node="true"><path stroke="url(#gradient)" d="M-30.067-22.5h60.133v45h-60.133z" class="basic label-container" data-id="M" style="stroke:#2dd4bf!important;fill:#f0fdfa!important" transform="translate(1136.3 570.167)"/><g class="label" transform="translate(1122.233 559.667)"><rect/><foreignObject width="28.133" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="nodeLabel"><p>Map</p></span></div></foreignObject></g></g><g id="export-svg-flowchart-M1-37" class="node default collType collType" data-et="node" data-id="M1" data-look="neo" data-node="true"><path stroke="url(#gradient)" d="M-26.85-22.5h53.7v45h-53.7z" class="basic label-container" data-id="M1" style="stroke:#757575!important;fill:#fff!important" transform="translate(1136.3 655.167)"/><g class="label" transform="translate(1125.45 644.667)"><rect/><foreignObject width="21.7" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="nodeLabel"><p>len</p></span></div></foreignObject></g></g><g id="export-svg-flowchart-M2-39" class="node default collType collType" data-et="node" data-id="M2" data-look="neo" data-node="true"><g class="basic label-container outer-path"><path stroke-width="1.3" d="M-61.358-12.5v45H41.358v-10h10v-10h10v-45H-41.358v10h-10v10h-10m0 0v45m0-45v45m0 0H41.358m-102.716 0H41.358m0 0v-10m0 10v-10m0 0h10m-10 0h10m0 0v-10m0 10v-10m0 0h10m-10 0h10m0 0v-45m0 45v-45m0 0H-41.358m102.716 0H-41.358m0 0v10m0-10v10m0 0h-10m10 0h-10m0 0v10m0-10v10m0 0h-10m10 0h-10" style="stroke:#2dd4bf!important;fill:#f0fdfa!important" transform="translate(1136.3 750.167)"/><path stroke-width="1.3" d="M-51.358-12.5h92.716v35h10v-45H-51.358v10m0 0h92.716m-92.716 0h92.716m0 0v35m0-35v35m0 0h10m-10 0h10m0 0v-45m0 45v-45m0 0H-51.358m102.716 0H-51.358m0 0v10m0-10v10" style="stroke:#2dd4bf!important;fill:#f0fdfa!important" transform="translate(1136.3 750.167)"/></g><g class="label" transform="translate(1090.942 749.667)"><rect/><foreignObject width="70.717" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="nodeLabel"><p>read pairs</p></span></div></foreignObject></g></g><g id="export-svg-flowchart-EN2-43" class="node default enumType enumType enumType" data-et="node" data-id="EN2" data-look="neo" data-node="true"><path stroke="url(#gradient)" d="M-62.758-22.5H62.759v45H-62.758z" class="basic label-container" data-id="EN2" style="stroke:#757575!important;fill:#fff!important" transform="translate(996.472 34.5)"/><g class="label" transform="translate(949.714 24)"><rect/><foreignObject width="93.517" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="nodeLabel"><p>variant index</p></span></div></foreignObject></g></g><g id="export-svg-flowchart-EV-45" class="node default enumType enumType" data-et="node" data-id="EV" data-look="neo" data-node="true"><path stroke="url(#gradient)" d="M-30-22.5h60v45h-60z" class="basic label-container" data-id="EV" style="stroke:#a78bfa!important;fill:#f5f3ff!important" transform="translate(598.36 200.5)"/><g class="label" transform="translate(584.36 190)"><rect/><foreignObject width="28" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="nodeLabel"><p>new</p></span></div></foreignObject></g></g><g id="export-svg-flowchart-EX-47" class="node default primType primType" data-et="node" data-id="EX" data-look="neo" data-node="true"><path stroke="url(#gradient)" d="M-30.35-22.5h60.7v45h-60.7z" class="basic label-container" data-id="EX" style="stroke:#818cf8!important;fill:#eef2ff!important" transform="translate(1047.822 200.5)"/><g class="label" transform="translate(1033.472 190)"><rect/><foreignObject width="28.7" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="nodeLabel"><p>unit</p></span></div></foreignObject></g></g><g id="export-svg-flowchart-EY-49" class="node default enumType enumType" data-et="node" data-id="EY" data-look="neo" data-node="true"><path stroke="url(#gradient)" d="M-37.558-22.5h75.117v45h-75.117z" class="basic label-container" data-id="EY" style="stroke:#a78bfa!important;fill:#f5f3ff!important" transform="translate(1146.322 304.833)"/><g class="label" transform="translate(1124.764 294.333)"><rect/><foreignObject width="43.117" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="nodeLabel"><p>struct</p></span></div></foreignObject></g></g><g id="export-svg-flowchart-ENN-51" class="node default enumType enumType" data-et="node" data-id="ENN" data-look="neo" data-node="true"><path stroke="url(#gradient)" d="M-34.55-22.5h69.1v45h-69.1z" class="basic label-container" data-id="ENN" style="stroke:#a78bfa!important;fill:#f5f3ff!important" transform="translate(996.472 304.833)"/><g class="label" transform="translate(977.922 294.333)"><rect/><foreignObject width="37.1" height="21"><div xmlns="http://www.w3.org/1999/xhtml" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="nodeLabel"><p>tuple</p></span></div></foreignObject></g></g></g><g class="edges edgePaths"><path id="export-svg-L_A_C_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="m1065.93 863.167-.25-.25q-.25-.25-.25-.604v-12.575q0-7.071-7.071-7.071H19.07q-7.071 0-7.071-7.071V373.738q0-7.071 7.071-7.071h522.876q7.071 0 7.071-7.071v-2.93q0-10 6.46-17.633l7.18-8.486" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_A_C_0" data-look="neo" data-points="W3sieCI6MTA2NS45MzAwMDk0NjA0NDk2LCJ5Ijo4NjMuMTY2NjcxNzUyOTI5N30seyJ4IjoxMDY1LjQzMDAwOTQ2MDQ0OTEsInkiOjg2Mi42NjY2NzE3NTI5Mjk3fSx7IngiOjEwNjUuNDMwMDA5NDYwNDQ5MSwieSI6ODQyLjY2NjY3MTc1MjkyOTd9LHsieCI6MTIsInkiOjg0Mi42NjY2NzE3NTI5Mjk3fSx7IngiOjEyLCJ5Ijo3NTAuMTY2NjcxNzUyOTI5N30seyJ4IjoxMiwieSI6NjU1LjE2NjY3MTc1MjkyOTd9LHsieCI6MTIsInkiOjU3MC4xNjY2NzE3NTI5Mjk3fSx7IngiOjEyLCJ5Ijo0OTcuMTY2NjcxNzUyOTI5N30seyJ4IjoxMiwieSI6MzY2LjY2NjY3MTc1MjkyOTd9LHsieCI6NTQ5LjAxNzk1OTU5NDcyNjYsInkiOjM2Ni42NjY2NzE3NTI5Mjk3fSx7IngiOjU0OS4wMTc5NTk1OTQ3MjY2LCJ5IjozNDYuNjY2NjcxNzUyOTI5N30seyJ4Ijo1NjUuMjQxNzg1MzY3MzMsInkiOjMyNy40OTMwNTk0NzYyMTY3M31d" style="stroke-dasharray:0 0 2112.7724609375 4;stroke-dashoffset:0;stroke:#818cf8;fill:none"/><path id="export-svg-L_C_D_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="m567.302 329.553-5.924 8.557q-5.924 8.557-5.924 18.964v22.522q0 7.07-7.071 7.07H74.338q-7.071 0-7.071 7.072v149.929" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_C_D_0" data-look="neo" data-points="W3sieCI6NTY3LjMwMTc2MDI0MDAzNDcsInkiOjMyOS41NTMwMzQzNDg5MjE0fSx7IngiOjU1NS40NTM4NTc0MjE4NzUsInkiOjM0Ni42NjY2NzE3NTI5Mjk3fSx7IngiOjU1NS40NTM4NTc0MjE4NzUsInkiOjM4Ni42NjY2NzE3NTI5Mjk3fSx7IngiOjY3LjI2NjY3MDIyNzA1MDc4LCJ5IjozODYuNjY2NjcxNzUyOTI5N30seyJ4Ijo2Ny4yNjY2NzAyMjcwNTA3OCwieSI6NTQ3LjY2NjY3MTc1MjkyOTd9XQ==" style="stroke-dasharray:0 0 696.0449829101562 4;stroke-dashoffset:0;stroke:#9ca3af;fill:none"/><path id="export-svg-L_C_E_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="m569.774 332.025-3.942 7.32q-3.942 7.322-3.942 15.636v44.615q0 7.07-7.071 7.07H180.213q-7.071 0-7.071 7.072v129.929" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_C_E_0" data-look="neo" data-points="W3sieCI6NTY5Ljc3MzczMDA4NzI4LCJ5IjozMzIuMDI1MDA0MTk2MTY2N30seyJ4Ijo1NjEuODg5NzU1MjQ5MDIzNCwieSI6MzQ2LjY2NjY3MTc1MjkyOTd9LHsieCI6NTYxLjg4OTc1NTI0OTAyMzQsInkiOjQwNi42NjY2NzE3NTI5Mjk3fSx7IngiOjE3My4xNDE2NzAyMjcwNTA3OCwieSI6NDA2LjY2NjY3MTc1MjkyOTd9LHsieCI6MTczLjE0MTY3MDIyNzA1MDc4LCJ5Ijo1NDcuNjY2NjcxNzUyOTI5N31d" style="stroke-dasharray:0 0 592.713623046875 4;stroke-dashoffset:0;stroke:#9ca3af;fill:none"/><path id="export-svg-L_C_F_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="m572.795 335.046-2.235 5.81q-2.234 5.81-2.234 12.036v66.704q0 7.07-7.071 7.07H278.879q-7.07 0-7.07 7.072v109.929" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_C_F_0" data-look="neo" data-points="W3sieCI6NTcyLjc5NTAyNjU2NzI0NywieSI6MzM1LjA0NjMwMDY3NjEzMzd9LHsieCI6NTY4LjMyNTY1MzA3NjE3MTksInkiOjM0Ni42NjY2NzE3NTI5Mjk3fSx7IngiOjU2OC4zMjU2NTMwNzYxNzE5LCJ5Ijo0MjYuNjY2NjcxNzUyOTI5N30seyJ4IjoyNzEuODA4MzM0MzUwNTg1OTQsInkiOjQyNi42NjY2NzE3NTI5Mjk3fSx7IngiOjI3MS44MDgzMzQzNTA1ODU5NCwieSI6NTQ3LjY2NjY3MTc1MjkyOTd9XQ==" style="stroke-dasharray:0 0 496.49981689453125 4;stroke-dashoffset:0;stroke:#9ca3af;fill:none"/><path id="export-svg-L_C_G_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="m576.572 338.823-.905 3.922q-.905 3.922-.905 7.947v88.904q0 7.07-7.072 7.07H376.496q-7.071 0-7.071 7.072v89.929" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_C_G_0" data-look="neo" data-points="W3sieCI6NTc2LjU3MTY0NzE2NzIwNTYsInkiOjMzOC44MjI5MjEyNzYwOTIzfSx7IngiOjU3NC43NjE1NTA5MDMzMjAzLCJ5IjozNDYuNjY2NjcxNzUyOTI5N30seyJ4Ijo1NzQuNzYxNTUwOTAzMzIwMywieSI6NDQ2LjY2NjY3MTc1MjkyOTd9LHsieCI6MzY5LjQyNTAwMzA1MTc1NzgsInkiOjQ0Ni42NjY2NzE3NTI5Mjk3fSx7IngiOjM2OS40MjUwMDMwNTE3NTc4LCJ5Ijo1NDcuNjY2NjcxNzUyOTI5N31d" style="stroke-dasharray:0 0 401.02349853515625 4;stroke-dashoffset:0;stroke:#9ca3af;fill:none"/><path id="export-svg-L_C_H_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="m581.427 343.679-.115 1.494q-.115 1.494-.115 2.992v111.43q0 7.072-7.07 7.072h-93.148q-7.07 0-7.07 7.07v69.93" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_C_H_0" data-look="neo" data-points="W3sieCI6NTgxLjQyNzMwMjIyNDI5NTMsInkiOjM0My42Nzg1NzYzMzMxODIwNH0seyJ4Ijo1ODEuMTk3NDQ4NzMwNDY4OCwieSI6MzQ2LjY2NjY3MTc1MjkyOTd9LHsieCI6NTgxLjE5NzQ0ODczMDQ2ODgsInkiOjQ2Ni42NjY2NzE3NTI5Mjk3fSx7IngiOjQ3My45MDgzNDA0NTQxMDE1NiwieSI6NDY2LjY2NjY3MTc1MjkyOTd9LHsieCI6NDczLjkwODM0MDQ1NDEwMTU2LCJ5Ijo1NDcuNjY2NjcxNzUyOTI5N31d" style="stroke-dasharray:0 0 297.95599365234375 4;stroke-dashoffset:0;stroke:#9ca3af;fill:none"/><path id="export-svg-L_C_I_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="m587.403 343.679.115 1.494q.115 1.494.115 2.992v195.502" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_C_I_0" data-look="neo" data-points="W3sieCI6NTg3LjQwMzQ5MzA2Mzc5MDYsInkiOjM0My42Nzg1NzYzMzMxODE4N30seyJ4Ijo1ODcuNjMzMzQ2NTU3NjE3MiwieSI6MzQ2LjY2NjY3MTc1MjkyOTd9LHsieCI6NTg3LjYzMzM0NjU1NzYxNzIsInkiOjU0Ny42NjY2NzE3NTI5Mjk3fV0=" style="stroke-dasharray:0 0 195.99545288085938 4;stroke-dashoffset:0;stroke:#9ca3af;fill:none"/><path id="export-svg-L_C_J_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="m592.26 338.823.904 3.922q.905 3.922.905 7.947v88.904q0 7.07 7.071 7.07h92.372q7.071 0 7.071 7.072v89.929" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_C_J_0" data-look="neo" data-points="W3sieCI6NTkyLjI1OTE0ODEyMDg4LCJ5IjozMzguODIyOTIxMjc2MDkyNX0seyJ4Ijo1OTQuMDY5MjQ0Mzg0NzY1NiwieSI6MzQ2LjY2NjY3MTc1MjkyOTd9LHsieCI6NTk0LjA2OTI0NDM4NDc2NTYsInkiOjQ0Ni42NjY2NzE3NTI5Mjk3fSx7IngiOjcwMC41ODMzNTExMzUyNTM5LCJ5Ijo0NDYuNjY2NjcxNzUyOTI5N30seyJ4Ijo3MDAuNTgzMzUxMTM1MjUzOSwieSI6NTQ3LjY2NjY3MTc1MjkyOTd9XQ==" style="stroke-dasharray:0 0 302.20111083984375 4;stroke-dashoffset:0;stroke:#9ca3af;fill:none"/><path id="export-svg-L_C_K_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="m596.036 335.046 2.234 5.81q2.235 5.81 2.235 12.036v66.704q0 7.07 7.071 7.07h139.086q7.071 0 7.071 7.072v194.929" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_C_K_0" data-look="neo" data-points="W3sieCI6NTk2LjAzNTc2ODcyMDgzODksInkiOjMzNS4wNDYzMDA2NzYxMzM3fSx7IngiOjYwMC41MDUxNDIyMTE5MTQxLCJ5IjozNDYuNjY2NjcxNzUyOTI5N30seyJ4Ijo2MDAuNTA1MTQyMjExOTE0MSwieSI6NDI2LjY2NjY3MTc1MjkyOTd9LHsieCI6NzUzLjczMzM1MjY2MTEzMjgsInkiOjQyNi42NjY2NzE3NTI5Mjk3fSx7IngiOjc1My43MzMzNTI2NjExMzI4LCJ5Ijo1NzAuMTY2NjcxNzUyOTI5N30seyJ4Ijo3NTMuNzMzMzUyNjYxMTMyOCwieSI6NjMyLjY2NjY3MTc1MjkyOTd9XQ==" style="stroke-dasharray:0 0 438.210693359375 4;stroke-dashoffset:0;stroke:#9ca3af;fill:none"/><path id="export-svg-L_K_A_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="M753.733 677.667v137.929q0 7.07 7.071 7.07h321.178q7.071 0 7.071 7.072v28.929" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_K_A_0" data-look="neo" data-points="W3sieCI6NzUzLjczMzM1MjY2MTEzMjgsInkiOjY3Ny42NjY2NzE3NTI5Mjk3fSx7IngiOjc1My43MzMzNTI2NjExMzI4LCJ5Ijo3NTAuMTY2NjcxNzUyOTI5N30seyJ4Ijo3NTMuNzMzMzUyNjYxMTMyOCwieSI6ODIyLjY2NjY3MTc1MjkyOTd9LHsieCI6MTA4OS4wNTMzNDMyMDA2ODM1LCJ5Ijo4MjIuNjY2NjcxNzUyOTI5N30seyJ4IjoxMDg5LjA1MzM0MzIwMDY4MzUsInkiOjg2Mi42NjY2NzE3NTI5Mjk3fV0=" style="stroke-dasharray:0 0 506.9915466308594 4;stroke-dashoffset:0;stroke:#00c853;fill:none"/><path id="export-svg-L_C_L_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="m601.529 329.553 5.924 8.557q5.924 8.557 5.924 18.964v22.522q0 7.07 7.071 7.07h346.553q7.071 0 7.071 7.072v132.518q0 1.41 1.411 1.41t1.411 1.412v14.589" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_C_L_0" data-look="neo" data-points="W3sieCI6NjAxLjUyOTAzNTA0ODA1MSwieSI6MzI5LjU1MzAzNDM0ODkyMTY0fSx7IngiOjYxMy4zNzY5Mzc4NjYyMTA5LCJ5IjozNDYuNjY2NjcxNzUyOTI5N30seyJ4Ijo2MTMuMzc2OTM3ODY2MjEwOSwieSI6Mzg2LjY2NjY3MTc1MjkyOTd9LHsieCI6OTc0LjA3MjI0NTI3OTk0NzksInkiOjM4Ni42NjY2NzE3NTI5Mjk3fSx7IngiOjk3NC4wNzIyNDUyNzk5NDc5LCJ5Ijo1MjcuNjY2NjcxNzUyOTI5N30seyJ4Ijo5NzYuODk0NDYwMDQyMzE3NiwieSI6NTI3LjY2NjY3MTc1MjkyOTd9LHsieCI6OTc2Ljg5NDQ2MDA0MjMxNzYsInkiOjU0Ny42NjY2NzE3NTI5Mjk3fV0=" style="stroke-dasharray:0 0 570.3118286132812 4;stroke-dashoffset:0;stroke:#9ca3af;fill:none"/><path id="export-svg-L_L_L1_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="M986.683 592.667v36" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_L_L1_0" data-look="neo" data-points="W3sieCI6OTg2LjY4MzM0OTYwOTM3NSwieSI6NTkyLjY2NjY3MTc1MjkyOTd9LHsieCI6OTg2LjY4MzM0OTYwOTM3NSwieSI6NjMyLjY2NjY3MTc1MjkyOTd9XQ==" style="stroke-dasharray:0 0 32 4;stroke-dashoffset:0;stroke:#9ca3af;fill:none"/><path id="export-svg-L_L1_L2_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="M986.683 677.667v36" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_L1_L2_0" data-look="neo" data-points="W3sieCI6OTg2LjY4MzM0OTYwOTM3NSwieSI6Njc3LjY2NjY3MTc1MjkyOTd9LHsieCI6OTg2LjY4MzM0OTYwOTM3NSwieSI6NzE3LjY2NjY3MTc1MjkyOTd9XQ==" style="stroke-dasharray:0 0 32 4;stroke-dashoffset:0;stroke:#9ca3af;fill:none"/><path id="export-svg-L_L2_A_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="m987.183 783.167-.25-.25q-.25-.25-.25.103v12.576q0 7.07 7.071 7.07h111.852q7.07 0 7.07 7.072v48.929" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_L2_A_0" data-look="neo" data-points="W3sieCI6OTg3LjE4MzM0OTYwOTM3NSwieSI6NzgzLjE2NjY3MTc1MjkyOTd9LHsieCI6OTg2LjY4MzM0OTYwOTM3NSwieSI6NzgyLjY2NjY3MTc1MjkyOTd9LHsieCI6OTg2LjY4MzM0OTYwOTM3NSwieSI6ODAyLjY2NjY3MTc1MjkyOTd9LHsieCI6MTExMi42NzY2NzY5NDA5MTgsInkiOjgwMi42NjY2NzE3NTI5Mjk3fSx7IngiOjExMTIuNjc2Njc2OTQwOTE4LCJ5Ijo4NjIuNjY2NjcxNzUyOTI5N31d" style="stroke-dasharray:0 0 193.10867309570312 4;stroke-dashoffset:0;stroke:#00c853;fill:none"/><path id="export-svg-L_C_S_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="m599.057 332.025 3.942 7.32q3.942 7.322 3.942 15.636v44.615q0 7.07 7.071 7.07h231.459q7.07 0 7.07 7.072v129.929" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_C_S_0" data-look="neo" data-points="W3sieCI6NTk5LjA1NzA2NTIwMDgwNTcsInkiOjMzMi4wMjUwMDQxOTYxNjY5fSx7IngiOjYwNi45NDEwNDAwMzkwNjI1LCJ5IjozNDYuNjY2NjcxNzUyOTI5N30seyJ4Ijo2MDYuOTQxMDQwMDM5MDYyNSwieSI6NDA2LjY2NjY3MTc1MjkyOTd9LHsieCI6ODUyLjU0MTY4NzAxMTcxODgsInkiOjQwNi42NjY2NzE3NTI5Mjk3fSx7IngiOjg1Mi41NDE2ODcwMTE3MTg4LCJ5Ijo1NDcuNjY2NjcxNzUyOTI5N31d" style="stroke-dasharray:0 0 449.5660095214844 4;stroke-dashoffset:0;stroke:#9ca3af;fill:none"/><path id="export-svg-L_S_S1_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="M852.542 592.667v36" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_S_S1_0" data-look="neo" data-points="W3sieCI6ODUyLjU0MTY4NzAxMTcxODgsInkiOjU5Mi42NjY2NzE3NTI5Mjk3fSx7IngiOjg1Mi41NDE2ODcwMTE3MTg4LCJ5Ijo2MzIuNjY2NjcxNzUyOTI5N31d" style="stroke-dasharray:0 0 32 4;stroke-dashoffset:0;stroke:#9ca3af;fill:none"/><path id="export-svg-L_S1_S2_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="M852.542 677.667v36" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_S1_S2_0" data-look="neo" data-points="W3sieCI6ODUyLjU0MTY4NzAxMTcxODgsInkiOjY3Ny42NjY2NzE3NTI5Mjk3fSx7IngiOjg1Mi41NDE2ODcwMTE3MTg4LCJ5Ijo3MTcuNjY2NjcxNzUyOTI5N31d" style="stroke-dasharray:0 0 32 4;stroke-dashoffset:0;stroke:#9ca3af;fill:none"/><path id="export-svg-L_C_M_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="m603.589 327.493 9.764 11.54q6.46 7.634 6.46 17.634v2.929q0 7.07 7.07 7.07h486.468q7.071 0 7.071 7.072v151q0 2.929 2.928 2.929t2.928 2.927v13.073" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_C_M_0" data-look="neo" data-points="W3sieCI6NjAzLjU4OTAwOTkyMDc1NiwieSI6MzI3LjQ5MzA1OTQ3NjIxNjczfSx7IngiOjYxOS44MTI4MzU2OTMzNTk0LCJ5IjozNDYuNjY2NjcxNzUyOTI5N30seyJ4Ijo2MTkuODEyODM1NjkzMzU5NCwieSI6MzY2LjY2NjY3MTc1MjkyOTd9LHsieCI6MTEyMC40MjIyMzg2Njc4MDYsInkiOjM2Ni42NjY2NzE3NTI5Mjk3fSx7IngiOjExMjAuNDIyMjM4NjY3ODA2LCJ5Ijo1MjcuNjY2NjcxNzUyOTI5N30seyJ4IjoxMTI2LjI3Nzc4ODc5ODAxNDIsInkiOjUyNy42NjY2NzE3NTI5Mjk3fSx7IngiOjExMjYuMjc3Nzg4Nzk4MDE0MiwieSI6NTQ3LjY2NjY3MTc1MjkyOTd9XQ==" style="stroke-dasharray:0 0 716.2381591796875 4;stroke-dashoffset:0;stroke:#9ca3af;fill:none"/><path id="export-svg-L_M_M1_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="M1136.3 592.667v36" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_M_M1_0" data-look="neo" data-points="W3sieCI6MTEzNi4zMDAwMTA2ODExNTIzLCJ5Ijo1OTIuNjY2NjcxNzUyOTI5N30seyJ4IjoxMTM2LjMwMDAxMDY4MTE1MjMsInkiOjYzMi42NjY2NzE3NTI5Mjk3fV0=" style="stroke-dasharray:0 0 32 4;stroke-dashoffset:0;stroke:#9ca3af;fill:none"/><path id="export-svg-L_M1_M2_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="M1136.3 677.667v36" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_M1_M2_0" data-look="neo" data-points="W3sieCI6MTEzNi4zMDAwMTA2ODExNTIzLCJ5Ijo2NzcuNjY2NjcxNzUyOTI5N30seyJ4IjoxMTM2LjMwMDAxMDY4MTE1MjMsInkiOjcxNy42NjY2NzE3NTI5Mjk3fV0=" style="stroke-dasharray:0 0 32 4;stroke-dashoffset:0;stroke:#9ca3af;fill:none"/><path id="export-svg-L_M2_A_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="m1136.8 783.167-.25-.25q-.25-.25-.25.103v75.647" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_M2_A_0" data-look="neo" data-points="W3sieCI6MTEzNi44MDAwMTA2ODExNTIzLCJ5Ijo3ODMuMTY2NjcxNzUyOTI5N30seyJ4IjoxMTM2LjMwMDAxMDY4MTE1MjMsInkiOjc4Mi42NjY2NzE3NTI5Mjk3fSx7IngiOjExMzYuMzAwMDEwNjgxMTUyMywieSI6ODYyLjY2NjY3MTc1MjkyOTd9XQ==" style="stroke-dasharray:0 0 72.44400024414062 4;stroke-dashoffset:0;stroke:#00c853;fill:none"/><path id="export-svg-L_C_EN2_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="m573.957 273.458-1.743-5.229q-1.743-5.229-1.743-10.741v-7.417q0-7.071-7.071-7.071h-56.236q-7.07 0-7.07-7.071V84.07q0-7.071 7.07-7.071h440.398q7.071 0 7.071-7.071V61" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_C_EN2_0" data-look="neo" data-points="W3sieCI6NTczLjk1NzA2MzY3NDkyNjUsInkiOjI3My40NTgzMzM5NjkxMTYzfSx7IngiOjU3MC40NzA5NTIzNTE4ODgsInkiOjI2M30seyJ4Ijo1NzAuNDcwOTUyMzUxODg4LCJ5IjoyNDN9LHsieCI6NTAwLjA5MzE4MDMzODU0MTc0LCJ5IjoyNDN9LHsieCI6NTAwLjA5MzE4MDMzODU0MTc0LCJ5IjoyMDAuNX0seyJ4Ijo1MDAuMDkzMTgwMzM4NTQxNzQsInkiOjc3fSx7IngiOjk1NC42MzMzNTE2NDM4ODAxLCJ5Ijo3N30seyJ4Ijo5NTQuNjMzMzUxNjQzODgwMSwieSI6NTd9XQ==" style="stroke-dasharray:0 0 723.1901245117188 4;stroke-dashoffset:0;stroke:#e1bee7;fill:none"/><path id="export-svg-L_EN2_EV_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="M975.553 57v32.929q0 7.071-7.071 7.071H605.43q-7.071 0-7.071 7.071V174" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_EN2_EV_0" data-look="neo" data-points="W3sieCI6OTc1LjU1Mjc5NTQxMDE1NjIsInkiOjU3fSx7IngiOjk3NS41NTI3OTU0MTAxNTYyLCJ5Ijo5N30seyJ4Ijo1OTguMzU5ODQyOTM2MTk4LCJ5Ijo5N30seyJ4Ijo1OTguMzU5ODQyOTM2MTk4LCJ5IjoxNzh9XQ==" style="stroke-dasharray:0 0 484.8645324707031 4;stroke-dashoffset:0;stroke:#9ca3af;fill:none"/><path id="export-svg-L_EN2_EX_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="M1017.392 57v32.929q0 7.071 7.07 7.071h16.29q7.07 0 7.07 7.071V174" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_EN2_EX_0" data-look="neo" data-points="W3sieCI6MTAxNy4zOTE2ODI5NDI3MDgzLCJ5Ijo1N30seyJ4IjoxMDE3LjM5MTY4Mjk0MjcwODMsInkiOjk3fSx7IngiOjEwNDcuODIyMjM3NjUwNTUzMiwieSI6OTd9LHsieCI6MTA0Ny44MjIyMzc2NTA1NTMyLCJ5IjoxNzh9XQ==" style="stroke-dasharray:0 0 138.10206604003906 4;stroke-dashoffset:0;stroke:#9ca3af;fill:none"/><path id="export-svg-L_EN2_EY_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="M1038.311 57v12.929q0 7.071 7.071 7.071h93.87q7.07 0 7.07 7.071v194.262" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_EN2_EY_0" data-look="neo" data-points="W3sieCI6MTAzOC4zMTExMjY3MDg5ODQ0LCJ5Ijo1N30seyJ4IjoxMDM4LjMxMTEyNjcwODk4NDQsInkiOjc3fSx7IngiOjExNDYuMzIyMjMyNTY0MjkwMywieSI6Nzd9LHsieCI6MTE0Ni4zMjIyMzI1NjQyOTAzLCJ5IjoyMDAuNX0seyJ4IjoxMTQ2LjMyMjIzMjU2NDI5MDMsInkiOjI4Mi4zMzMzMzU4NzY0NjQ4NH1d" style="stroke-dasharray:0 0 320.01593017578125 4;stroke-dashoffset:0;stroke:#9ca3af;fill:none"/><path id="export-svg-L_EN2_ENN_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="M996.472 57v221.333" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_EN2_ENN_0" data-look="neo" data-points="W3sieCI6OTk2LjQ3MjIzOTE3NjQzMjMsInkiOjU3fSx7IngiOjk5Ni40NzIyMzkxNzY0MzIzLCJ5IjoyMDAuNX0seyJ4Ijo5OTYuNDcyMjM5MTc2NDMyMywieSI6MjgyLjMzMzMzNTg3NjQ2NDg0fV0=" style="stroke-dasharray:0 0 217.33334350585938 4;stroke-dashoffset:0;stroke:#9ca3af;fill:none"/><path id="export-svg-L_ENN_L_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="M996.472 327.333v216.334" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_ENN_L_0" data-look="neo" data-points="W3sieCI6OTk2LjQ3MjIzOTE3NjQzMjMsInkiOjMyNy4zMzMzMzU4NzY0NjQ4NH0seyJ4Ijo5OTYuNDcyMjM5MTc2NDMyMywieSI6NDk3LjE2NjY3MTc1MjkyOTd9LHsieCI6OTk2LjQ3MjIzOTE3NjQzMjMsInkiOjU0Ny42NjY2NzE3NTI5Mjk3fV0=" style="stroke-dasharray:0 0 212.33334350585938 4;stroke-dashoffset:0;stroke:#9ca3af;fill:none"/><path id="export-svg-L_EY_M_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="M1146.322 327.333v216.334" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_EY_M_0" data-look="neo" data-points="W3sieCI6MTE0Ni4zMjIyMzI1NjQyOTAzLCJ5IjozMjcuMzMzMzM1ODc2NDY0ODR9LHsieCI6MTE0Ni4zMjIyMzI1NjQyOTAzLCJ5Ijo0OTcuMTY2NjcxNzUyOTI5N30seyJ4IjoxMTQ2LjMyMjIzMjU2NDI5MDMsInkiOjU0Ny42NjY2NzE3NTI5Mjk3fV0=" style="stroke-dasharray:0 0 212.33334350585938 4;stroke-dashoffset:0;stroke:#9ca3af;fill:none"/><path id="export-svg-L_EV_C_0" marker-end="url(#export-svg_flowchart-v2-pointEnd-margin__9ca3af)" d="M598.36 223v36.488q0 3.512-1.11 6.844l-1.111 3.332" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" data-edge="true" data-et="edge" data-id="L_EV_C_0" data-look="neo" data-points="W3sieCI6NTk4LjM1OTg0MjkzNjE5OCwieSI6MjIzfSx7IngiOjU5OC4zNTk4NDI5MzYxOTgsInkiOjI2M30seyJ4Ijo1OTQuODczNzMxNjEzMTU5NSwieSI6MjczLjQ1ODMzMzk2OTExNjV9XQ==" style="stroke-dasharray:0 0 42.96364212036133 4;stroke-dashoffset:0;stroke:#00c853;fill:none"/></g><g class="edgeLabels"><g class="edgeLabel"><foreignObject width="0" height="0" class="label" data-id="L_A_C_0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"/></div></foreignObject></g><g class="edgeLabel"><foreignObject width="25.2" height="21" class="label" data-id="L_C_D_0" transform="translate(54.267 486.667)"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"><p>0x0</p></span></div></foreignObject></g><g class="edgeLabel"><foreignObject width="25.2" height="21" class="label" data-id="L_C_E_0" transform="translate(160.142 486.667)"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"><p>0x1</p></span></div></foreignObject></g><g class="edgeLabel"><foreignObject width="4.9" height="21" class="label" data-id="L_C_F_0" transform="translate(269.308 486.667)"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"><p>i</p></span></div></foreignObject></g><g class="edgeLabel"><foreignObject width="8.4" height="21" class="label" data-id="L_C_G_0" transform="translate(364.925 486.667)"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"><p>u</p></span></div></foreignObject></g><g class="edgeLabel"><foreignObject width="5.6" height="21" class="label" data-id="L_C_H_0" transform="translate(470.908 486.667)"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"><p>f</p></span></div></foreignObject></g><g class="edgeLabel"><foreignObject width="8.4" height="21" class="label" data-id="L_C_I_0" transform="translate(583.133 486.667)"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"><p>d</p></span></div></foreignObject></g><g class="edgeLabel"><foreignObject width="7.7" height="21" class="label" data-id="L_C_J_0" transform="translate(696.583 486.667)"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"><p>z</p></span></div></foreignObject></g><g class="edgeLabel"><foreignObject width="37.1" height="21" class="label" data-id="L_C_K_0" transform="translate(734.733 486.667)"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"><p>Some</p></span></div></foreignObject></g><g class="edgeLabel"><foreignObject width="0" height="0" class="label" data-id="L_K_A_0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"/></div></foreignObject></g><g class="edgeLabel"><foreignObject width="4.9" height="21" class="label" data-id="L_C_L_0" transform="translate(971.572 486.667)"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"><p>l</p></span></div></foreignObject></g><g class="edgeLabel"><foreignObject width="0" height="0" class="label" data-id="L_L_L1_0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"/></div></foreignObject></g><g class="edgeLabel"><foreignObject width="0" height="0" class="label" data-id="L_L1_L2_0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"/></div></foreignObject></g><g class="edgeLabel"><foreignObject width="0" height="0" class="label" data-id="L_L2_A_0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"/></div></foreignObject></g><g class="edgeLabel"><foreignObject width="7.7" height="21" class="label" data-id="L_C_S_0" transform="translate(848.542 486.667)"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"><p>s</p></span></div></foreignObject></g><g class="edgeLabel"><foreignObject width="0" height="0" class="label" data-id="L_S_S1_0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"/></div></foreignObject></g><g class="edgeLabel"><foreignObject width="0" height="0" class="label" data-id="L_S1_S2_0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"/></div></foreignObject></g><g class="edgeLabel"><foreignObject width="11.9" height="21" class="label" data-id="L_C_M_0" transform="translate(1114.422 486.667)"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"><p>m</p></span></div></foreignObject></g><g class="edgeLabel"><foreignObject width="0" height="0" class="label" data-id="L_M_M1_0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"/></div></foreignObject></g><g class="edgeLabel"><foreignObject width="0" height="0" class="label" data-id="L_M1_M2_0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"/></div></foreignObject></g><g class="edgeLabel"><foreignObject width="0" height="0" class="label" data-id="L_M2_A_0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"/></div></foreignObject></g><g class="edgeLabel"><foreignObject width="148.267" height="21" class="label" data-id="L_C_EN2_0" transform="translate(425.593 117)"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"><p>one of the enum tags</p></span></div></foreignObject></g><g class="edgeLabel"><foreignObject width="8.4" height="21" class="label" data-id="L_EN2_EV_0" transform="translate(593.86 117)"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"><p>v</p></span></div></foreignObject></g><g class="edgeLabel"><foreignObject width="8.4" height="21" class="label" data-id="L_EN2_EX_0" transform="translate(1043.322 117)"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"><p>x</p></span></div></foreignObject></g><g class="edgeLabel"><foreignObject width="8.4" height="21" class="label" data-id="L_EN2_EY_0" transform="translate(1141.822 117)"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"><p>y</p></span></div></foreignObject></g><g class="edgeLabel"><foreignObject width="8.4" height="21" class="label" data-id="L_EN2_ENN_0" transform="translate(991.972 117)"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"><p>n</p></span></div></foreignObject></g><g class="edgeLabel"><foreignObject width="0" height="0" class="label" data-id="L_ENN_L_0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"/></div></foreignObject></g><g class="edgeLabel"><foreignObject width="0" height="0" class="label" data-id="L_EY_M_0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"/></div></foreignObject></g><g class="edgeLabel"><foreignObject width="0" height="0" class="label" data-id="L_EV_C_0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display:table-cell;white-space:normal;overflow-wrap:break-word;line-height:1.5;max-width:200px;text-align:center"><span class="edgeLabel"/></div></foreignObject></g></g></svg>