
using AlgebraicPetri
using Catlab.CategoricalAlgebra, Catlab.Graphics
sir = LabelledPetriNet([:S, :I, :R],
:inf => ((:S, :I) => (:I, :I)),
:rec => (:I => :R)
)
to_graphviz(sir)

-->
<!-- Title: G Pages: 1 -->
<svg width="375pt" height="47pt"
viewBox="0.00 0.00 375.00 47.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 43)">
<title>G</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-43 371,-43 371,4 -4,4"/>
<!-- n1 -->
<g id="node1" class="node">
<title>n1</title>
<ellipse fill="%236c9ac3" stroke="%236c9ac3" cx="18" cy="-19.5" rx="18" ry="18"/>
<text text-anchor="middle" x="18" y="-15.8" font-family="Times,serif" font-size="14.00">S</text>
</g>
<!-- n4 -->
<g id="node4" class="node">
<title>n4</title>
<polygon fill="%23e28f41" stroke="%23e28f41" points="118,-37.5 82,-37.5 82,-1.5 118,-1.5 118,-37.5"/>
<text text-anchor="middle" x="100" y="-15.8" font-family="Times,serif" font-size="14.00">inf</text>
</g>
<!-- n1&%2345;>n4 -->
<g id="edge5" class="edge">
<title>n1&%2345;>n4</title>
<path fill="none" stroke="black" d="M36.36,-19.5C46.7,-19.5 60.06,-19.5 71.78,-19.5"/>
<polygon fill="black" stroke="black" points="71.95,-23 81.95,-19.5 71.95,-16 71.95,-23"/>
<text text-anchor="middle" x="59" y="-23.3" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n2 -->
<g id="node2" class="node">
<title>n2</title>
<ellipse fill="%236c9ac3" stroke="%236c9ac3" cx="182" cy="-19.5" rx="18" ry="18"/>
<text text-anchor="middle" x="182" y="-15.8" font-family="Times,serif" font-size="14.00">I</text>
</g>
<!-- n2&%2345;>n4 -->
<g id="edge1" class="edge">
<title>n2&%2345;>n4</title>
<path fill="none" stroke="black" d="M166.28,-9.96C160.25,-6.58 153.04,-3.2 146,-1.5 139.92,-0.03 133.58,-0.93 127.64,-2.95"/>
<polygon fill="black" stroke="black" points="125.85,0.09 118.14,-7.18 128.7,-6.31 125.85,0.09"/>
<text text-anchor="middle" x="141" y="-5.3" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n5 -->
<g id="node5" class="node">
<title>n5</title>
<polygon fill="%23e28f41" stroke="%23e28f41" points="285,-39 246,-39 246,0 285,0 285,-39"/>
<text text-anchor="middle" x="265.5" y="-15.8" font-family="Times,serif" font-size="14.00">rec</text>
</g>
<!-- n2&%2345;>n5 -->
<g id="edge2" class="edge">
<title>n2&%2345;>n5</title>
<path fill="none" stroke="black" d="M200.28,-19.5C210.52,-19.5 223.74,-19.5 235.53,-19.5"/>
<polygon fill="black" stroke="black" points="235.82,-23 245.82,-19.5 235.82,-16 235.82,-23"/>
<text text-anchor="middle" x="223" y="-23.3" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n3 -->
<g id="node3" class="node">
<title>n3</title>
<ellipse fill="%236c9ac3" stroke="%236c9ac3" cx="349" cy="-19.5" rx="18" ry="18"/>
<text text-anchor="middle" x="349" y="-15.8" font-family="Times,serif" font-size="14.00">R</text>
</g>
<!-- n4&%2345;>n2 -->
<g id="edge3" class="edge">
<title>n4&%2345;>n2</title>
<path fill="none" stroke="black" d="M118.36,-19.5C128.7,-19.5 142.06,-19.5 153.78,-19.5"/>
<polygon fill="black" stroke="black" points="153.95,-23 163.95,-19.5 153.95,-16 153.95,-23"/>
<text text-anchor="middle" x="141" y="-23.3" font-family="Times,serif" font-size="14.00">2</text>
</g>
<!-- n5&%2345;>n3 -->
<g id="edge4" class="edge">
<title>n5&%2345;>n3</title>
<path fill="none" stroke="black" d="M285.4,-19.5C295.92,-19.5 309.18,-19.5 320.79,-19.5"/>
<polygon fill="black" stroke="black" points="320.87,-23 330.87,-19.5 320.87,-16 320.87,-23"/>
<text text-anchor="middle" x="308" y="-23.3" font-family="Times,serif" font-size="14.00">1</text>
</g>
</g>
</svg>
)
sird = LabelledPetriNet([:S, :I, :R, :D],
:inf => ((:S, :I) => (:I, :I)),
:rec => (:I => :R),
:death => (:R => :D)
)
to_graphviz(sird)

-->
<!-- Title: G Pages: 1 -->
<svg width="560pt" height="65pt"
viewBox="0.00 0.00 560.40 65.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 61)">
<title>G</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-61 556.4,-61 556.4,4 -4,4"/>
<!-- n1 -->
<g id="node1" class="node">
<title>n1</title>
<ellipse fill="%236c9ac3" stroke="%236c9ac3" cx="18" cy="-28.5" rx="18" ry="18"/>
<text text-anchor="middle" x="18" y="-24.8" font-family="Times,serif" font-size="14.00">S</text>
</g>
<!-- n5 -->
<g id="node5" class="node">
<title>n5</title>
<polygon fill="%23e28f41" stroke="%23e28f41" points="118,-46.5 82,-46.5 82,-10.5 118,-10.5 118,-46.5"/>
<text text-anchor="middle" x="100" y="-24.8" font-family="Times,serif" font-size="14.00">inf</text>
</g>
<!-- n1&%2345;>n5 -->
<g id="edge6" class="edge">
<title>n1&%2345;>n5</title>
<path fill="none" stroke="black" d="M36.36,-28.5C46.7,-28.5 60.06,-28.5 71.78,-28.5"/>
<polygon fill="black" stroke="black" points="71.95,-32 81.95,-28.5 71.95,-25 71.95,-32"/>
<text text-anchor="middle" x="59" y="-32.3" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n2 -->
<g id="node2" class="node">
<title>n2</title>
<ellipse fill="%236c9ac3" stroke="%236c9ac3" cx="182" cy="-28.5" rx="18" ry="18"/>
<text text-anchor="middle" x="182" y="-24.8" font-family="Times,serif" font-size="14.00">I</text>
</g>
<!-- n2&%2345;>n5 -->
<g id="edge2" class="edge">
<title>n2&%2345;>n5</title>
<path fill="none" stroke="black" d="M166.28,-18.96C160.25,-15.58 153.04,-12.2 146,-10.5 139.92,-9.03 133.58,-9.93 127.64,-11.95"/>
<polygon fill="black" stroke="black" points="125.85,-8.91 118.14,-16.18 128.7,-15.31 125.85,-8.91"/>
<text text-anchor="middle" x="141" y="-14.3" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n6 -->
<g id="node6" class="node">
<title>n6</title>
<polygon fill="%23e28f41" stroke="%23e28f41" points="285,-48 246,-48 246,-9 285,-9 285,-48"/>
<text text-anchor="middle" x="265.5" y="-24.8" font-family="Times,serif" font-size="14.00">rec</text>
</g>
<!-- n2&%2345;>n6 -->
<g id="edge7" class="edge">
<title>n2&%2345;>n6</title>
<path fill="none" stroke="black" d="M200.28,-28.5C210.52,-28.5 223.74,-28.5 235.53,-28.5"/>
<polygon fill="black" stroke="black" points="235.82,-32 245.82,-28.5 235.82,-25 235.82,-32"/>
<text text-anchor="middle" x="223" y="-32.3" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n3 -->
<g id="node3" class="node">
<title>n3</title>
<ellipse fill="%236c9ac3" stroke="%236c9ac3" cx="349" cy="-28.5" rx="18" ry="18"/>
<text text-anchor="middle" x="349" y="-24.8" font-family="Times,serif" font-size="14.00">R</text>
</g>
<!-- n7 -->
<g id="node7" class="node">
<title>n7</title>
<polygon fill="%23e28f41" stroke="%23e28f41" points="470,-57 413,-57 413,0 470,0 470,-57"/>
<text text-anchor="middle" x="441.5" y="-24.8" font-family="Times,serif" font-size="14.00">death</text>
</g>
<!-- n3&%2345;>n7 -->
<g id="edge3" class="edge">
<title>n3&%2345;>n7</title>
<path fill="none" stroke="black" d="M367.02,-28.5C377.1,-28.5 390.3,-28.5 402.72,-28.5"/>
<polygon fill="black" stroke="black" points="402.88,-32 412.88,-28.5 402.88,-25 402.88,-32"/>
<text text-anchor="middle" x="390" y="-32.3" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n4 -->
<g id="node4" class="node">
<title>n4</title>
<ellipse fill="%236c9ac3" stroke="%236c9ac3" cx="534.2" cy="-28.5" rx="18.4" ry="18.4"/>
<text text-anchor="middle" x="534.2" y="-24.8" font-family="Times,serif" font-size="14.00">D</text>
</g>
<!-- n5&%2345;>n2 -->
<g id="edge4" class="edge">
<title>n5&%2345;>n2</title>
<path fill="none" stroke="black" d="M118.36,-28.5C128.7,-28.5 142.06,-28.5 153.78,-28.5"/>
<polygon fill="black" stroke="black" points="153.95,-32 163.95,-28.5 153.95,-25 153.95,-32"/>
<text text-anchor="middle" x="141" y="-32.3" font-family="Times,serif" font-size="14.00">2</text>
</g>
<!-- n6&%2345;>n3 -->
<g id="edge5" class="edge">
<title>n6&%2345;>n3</title>
<path fill="none" stroke="black" d="M285.4,-28.5C295.92,-28.5 309.18,-28.5 320.79,-28.5"/>
<polygon fill="black" stroke="black" points="320.87,-32 330.87,-28.5 320.87,-25 320.87,-32"/>
<text text-anchor="middle" x="308" y="-32.3" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n7&%2345;>n4 -->
<g id="edge1" class="edge">
<title>n7&%2345;>n4</title>
<path fill="none" stroke="black" d="M470.21,-28.5C481.5,-28.5 494.52,-28.5 505.78,-28.5"/>
<polygon fill="black" stroke="black" points="505.92,-32 515.92,-28.5 505.92,-25 505.92,-32"/>
<text text-anchor="middle" x="493" y="-32.3" font-family="Times,serif" font-size="14.00">1</text>
</g>
</g>
</svg>
)
seir = LabelledPetriNet([:S, :E, :I, :R],
:exp => ((:S, :I) => (:E, :I)),
:ill => (:E => :I),
:rec => (:I => :R)
)
to_graphviz(seir)

-->
<!-- Title: G Pages: 1 -->
<svg width="545pt" height="112pt"
viewBox="0.00 0.00 545.00 112.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 108)">
<title>G</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-108 541,-108 541,4 -4,4"/>
<!-- n1 -->
<g id="node1" class="node">
<title>n1</title>
<ellipse fill="%236c9ac3" stroke="%236c9ac3" cx="18" cy="-64" rx="18" ry="18"/>
<text text-anchor="middle" x="18" y="-60.3" font-family="Times,serif" font-size="14.00">S</text>
</g>
<!-- n5 -->
<g id="node5" class="node">
<title>n5</title>
<polygon fill="%23e28f41" stroke="%23e28f41" points="124,-85 82,-85 82,-43 124,-43 124,-85"/>
<text text-anchor="middle" x="103" y="-60.3" font-family="Times,serif" font-size="14.00">exp</text>
</g>
<!-- n1&%2345;>n5 -->
<g id="edge7" class="edge">
<title>n1&%2345;>n5</title>
<path fill="none" stroke="black" d="M36.2,-64C46.48,-64 59.84,-64 71.83,-64"/>
<polygon fill="black" stroke="black" points="71.9,-67.5 81.9,-64 71.9,-60.5 71.9,-67.5"/>
<text text-anchor="middle" x="59" y="-67.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n2 -->
<g id="node2" class="node">
<title>n2</title>
<ellipse fill="%236c9ac3" stroke="%236c9ac3" cx="188" cy="-18" rx="18" ry="18"/>
<text text-anchor="middle" x="188" y="-14.3" font-family="Times,serif" font-size="14.00">E</text>
</g>
<!-- n6 -->
<g id="node6" class="node">
<title>n6</title>
<polygon fill="%23e28f41" stroke="%23e28f41" points="288,-36 252,-36 252,0 288,0 288,-36"/>
<text text-anchor="middle" x="270" y="-14.3" font-family="Times,serif" font-size="14.00">ill</text>
</g>
<!-- n2&%2345;>n6 -->
<g id="edge8" class="edge">
<title>n2&%2345;>n6</title>
<path fill="none" stroke="black" d="M206.36,-18C216.7,-18 230.06,-18 241.78,-18"/>
<polygon fill="black" stroke="black" points="241.95,-21.5 251.95,-18 241.95,-14.5 241.95,-21.5"/>
<text text-anchor="middle" x="229" y="-21.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n3 -->
<g id="node3" class="node">
<title>n3</title>
<ellipse fill="%236c9ac3" stroke="%236c9ac3" cx="352" cy="-64" rx="18" ry="18"/>
<text text-anchor="middle" x="352" y="-60.3" font-family="Times,serif" font-size="14.00">I</text>
</g>
<!-- n3&%2345;>n5 -->
<g id="edge6" class="edge">
<title>n3&%2345;>n5</title>
<path fill="none" stroke="black" d="M333.86,-64C292.46,-64 186.58,-64 134.23,-64"/>
<polygon fill="black" stroke="black" points="134.21,-60.5 124.21,-64 134.21,-67.5 134.21,-60.5"/>
<text text-anchor="middle" x="229" y="-67.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n7 -->
<g id="node7" class="node">
<title>n7</title>
<polygon fill="%23e28f41" stroke="%23e28f41" points="455,-83.5 416,-83.5 416,-44.5 455,-44.5 455,-83.5"/>
<text text-anchor="middle" x="435.5" y="-60.3" font-family="Times,serif" font-size="14.00">rec</text>
</g>
<!-- n3&%2345;>n7 -->
<g id="edge2" class="edge">
<title>n3&%2345;>n7</title>
<path fill="none" stroke="black" d="M370.28,-64C380.52,-64 393.74,-64 405.53,-64"/>
<polygon fill="black" stroke="black" points="405.82,-67.5 415.82,-64 405.82,-60.5 405.82,-67.5"/>
<text text-anchor="middle" x="393" y="-67.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n4 -->
<g id="node4" class="node">
<title>n4</title>
<ellipse fill="%236c9ac3" stroke="%236c9ac3" cx="519" cy="-64" rx="18" ry="18"/>
<text text-anchor="middle" x="519" y="-60.3" font-family="Times,serif" font-size="14.00">R</text>
</g>
<!-- n5&%2345;>n2 -->
<g id="edge3" class="edge">
<title>n5&%2345;>n2</title>
<path fill="none" stroke="black" d="M124.16,-46.9C129.72,-42.67 135.9,-38.38 142,-35 147.94,-31.7 154.65,-28.78 161.05,-26.34"/>
<polygon fill="black" stroke="black" points="162.43,-29.56 170.67,-22.89 160.07,-22.97 162.43,-29.56"/>
<text text-anchor="middle" x="147" y="-38.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n5&%2345;>n3 -->
<g id="edge4" class="edge">
<title>n5&%2345;>n3</title>
<path fill="none" stroke="black" d="M124.16,-72.82C129.82,-74.91 136.06,-76.87 142,-78 217.96,-92.51 240.25,-93.55 316,-78 319.27,-77.33 322.63,-76.37 325.9,-75.26"/>
<polygon fill="black" stroke="black" points="327.26,-78.49 335.34,-71.65 324.75,-71.96 327.26,-78.49"/>
<text text-anchor="middle" x="229" y="-92.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n6&%2345;>n3 -->
<g id="edge5" class="edge">
<title>n6&%2345;>n3</title>
<path fill="none" stroke="black" d="M288.27,-23.03C296.91,-25.91 307.34,-29.96 316,-35 321.03,-37.92 326.07,-41.57 330.69,-45.28"/>
<polygon fill="black" stroke="black" points="328.58,-48.08 338.47,-51.88 333.11,-42.74 328.58,-48.08"/>
<text text-anchor="middle" x="311" y="-38.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n7&%2345;>n4 -->
<g id="edge1" class="edge">
<title>n7&%2345;>n4</title>
<path fill="none" stroke="black" d="M455.4,-64C465.92,-64 479.18,-64 490.79,-64"/>
<polygon fill="black" stroke="black" points="490.87,-67.5 500.87,-64 490.87,-60.5 490.87,-67.5"/>
<text text-anchor="middle" x="478" y="-67.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
</g>
</svg>
)
seird = LabelledPetriNet([:S, :E, :I, :R, :D],
:exp => ((:S, :I) => (:E, :I)),
:ill => (:E => :I),
:rec => (:I => :R),
:death => (:R => :D)
)
to_graphviz(seird)

-->
<!-- Title: G Pages: 1 -->
<svg width="730pt" height="112pt"
viewBox="0.00 0.00 730.40 112.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 108)">
<title>G</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-108 726.4,-108 726.4,4 -4,4"/>
<!-- n1 -->
<g id="node1" class="node">
<title>n1</title>
<ellipse fill="%236c9ac3" stroke="%236c9ac3" cx="18" cy="-64" rx="18" ry="18"/>
<text text-anchor="middle" x="18" y="-60.3" font-family="Times,serif" font-size="14.00">S</text>
</g>
<!-- n6 -->
<g id="node6" class="node">
<title>n6</title>
<polygon fill="%23e28f41" stroke="%23e28f41" points="124,-85 82,-85 82,-43 124,-43 124,-85"/>
<text text-anchor="middle" x="103" y="-60.3" font-family="Times,serif" font-size="14.00">exp</text>
</g>
<!-- n1&%2345;>n6 -->
<g id="edge3" class="edge">
<title>n1&%2345;>n6</title>
<path fill="none" stroke="black" d="M36.2,-64C46.48,-64 59.84,-64 71.83,-64"/>
<polygon fill="black" stroke="black" points="71.9,-67.5 81.9,-64 71.9,-60.5 71.9,-67.5"/>
<text text-anchor="middle" x="59" y="-67.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n2 -->
<g id="node2" class="node">
<title>n2</title>
<ellipse fill="%236c9ac3" stroke="%236c9ac3" cx="188" cy="-18" rx="18" ry="18"/>
<text text-anchor="middle" x="188" y="-14.3" font-family="Times,serif" font-size="14.00">E</text>
</g>
<!-- n7 -->
<g id="node7" class="node">
<title>n7</title>
<polygon fill="%23e28f41" stroke="%23e28f41" points="288,-36 252,-36 252,0 288,0 288,-36"/>
<text text-anchor="middle" x="270" y="-14.3" font-family="Times,serif" font-size="14.00">ill</text>
</g>
<!-- n2&%2345;>n7 -->
<g id="edge6" class="edge">
<title>n2&%2345;>n7</title>
<path fill="none" stroke="black" d="M206.36,-18C216.7,-18 230.06,-18 241.78,-18"/>
<polygon fill="black" stroke="black" points="241.95,-21.5 251.95,-18 241.95,-14.5 241.95,-21.5"/>
<text text-anchor="middle" x="229" y="-21.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n3 -->
<g id="node3" class="node">
<title>n3</title>
<ellipse fill="%236c9ac3" stroke="%236c9ac3" cx="352" cy="-64" rx="18" ry="18"/>
<text text-anchor="middle" x="352" y="-60.3" font-family="Times,serif" font-size="14.00">I</text>
</g>
<!-- n3&%2345;>n6 -->
<g id="edge2" class="edge">
<title>n3&%2345;>n6</title>
<path fill="none" stroke="black" d="M333.86,-64C292.46,-64 186.58,-64 134.23,-64"/>
<polygon fill="black" stroke="black" points="134.21,-60.5 124.21,-64 134.21,-67.5 134.21,-60.5"/>
<text text-anchor="middle" x="229" y="-67.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n8 -->
<g id="node8" class="node">
<title>n8</title>
<polygon fill="%23e28f41" stroke="%23e28f41" points="455,-83.5 416,-83.5 416,-44.5 455,-44.5 455,-83.5"/>
<text text-anchor="middle" x="435.5" y="-60.3" font-family="Times,serif" font-size="14.00">rec</text>
</g>
<!-- n3&%2345;>n8 -->
<g id="edge7" class="edge">
<title>n3&%2345;>n8</title>
<path fill="none" stroke="black" d="M370.28,-64C380.52,-64 393.74,-64 405.53,-64"/>
<polygon fill="black" stroke="black" points="405.82,-67.5 415.82,-64 405.82,-60.5 405.82,-67.5"/>
<text text-anchor="middle" x="393" y="-67.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n4 -->
<g id="node4" class="node">
<title>n4</title>
<ellipse fill="%236c9ac3" stroke="%236c9ac3" cx="519" cy="-64" rx="18" ry="18"/>
<text text-anchor="middle" x="519" y="-60.3" font-family="Times,serif" font-size="14.00">R</text>
</g>
<!-- n9 -->
<g id="node9" class="node">
<title>n9</title>
<polygon fill="%23e28f41" stroke="%23e28f41" points="640,-92.5 583,-92.5 583,-35.5 640,-35.5 640,-92.5"/>
<text text-anchor="middle" x="611.5" y="-60.3" font-family="Times,serif" font-size="14.00">death</text>
</g>
<!-- n4&%2345;>n9 -->
<g id="edge8" class="edge">
<title>n4&%2345;>n9</title>
<path fill="none" stroke="black" d="M537.02,-64C547.1,-64 560.3,-64 572.72,-64"/>
<polygon fill="black" stroke="black" points="572.88,-67.5 582.88,-64 572.88,-60.5 572.88,-67.5"/>
<text text-anchor="middle" x="560" y="-67.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n5 -->
<g id="node5" class="node">
<title>n5</title>
<ellipse fill="%236c9ac3" stroke="%236c9ac3" cx="704.2" cy="-64" rx="18.4" ry="18.4"/>
<text text-anchor="middle" x="704.2" y="-60.3" font-family="Times,serif" font-size="14.00">D</text>
</g>
<!-- n6&%2345;>n2 -->
<g id="edge1" class="edge">
<title>n6&%2345;>n2</title>
<path fill="none" stroke="black" d="M124.16,-46.9C129.72,-42.67 135.9,-38.38 142,-35 147.94,-31.7 154.65,-28.78 161.05,-26.34"/>
<polygon fill="black" stroke="black" points="162.43,-29.56 170.67,-22.89 160.07,-22.97 162.43,-29.56"/>
<text text-anchor="middle" x="147" y="-38.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n6&%2345;>n3 -->
<g id="edge9" class="edge">
<title>n6&%2345;>n3</title>
<path fill="none" stroke="black" d="M124.16,-72.82C129.82,-74.91 136.06,-76.87 142,-78 217.96,-92.51 240.25,-93.55 316,-78 319.27,-77.33 322.63,-76.37 325.9,-75.26"/>
<polygon fill="black" stroke="black" points="327.26,-78.49 335.34,-71.65 324.75,-71.96 327.26,-78.49"/>
<text text-anchor="middle" x="229" y="-92.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n7&%2345;>n3 -->
<g id="edge10" class="edge">
<title>n7&%2345;>n3</title>
<path fill="none" stroke="black" d="M288.27,-23.03C296.91,-25.91 307.34,-29.96 316,-35 321.03,-37.92 326.07,-41.57 330.69,-45.28"/>
<polygon fill="black" stroke="black" points="328.58,-48.08 338.47,-51.88 333.11,-42.74 328.58,-48.08"/>
<text text-anchor="middle" x="311" y="-38.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n8&%2345;>n4 -->
<g id="edge4" class="edge">
<title>n8&%2345;>n4</title>
<path fill="none" stroke="black" d="M455.4,-64C465.92,-64 479.18,-64 490.79,-64"/>
<polygon fill="black" stroke="black" points="490.87,-67.5 500.87,-64 490.87,-60.5 490.87,-67.5"/>
<text text-anchor="middle" x="478" y="-67.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n9&%2345;>n5 -->
<g id="edge5" class="edge">
<title>n9&%2345;>n5</title>
<path fill="none" stroke="black" d="M640.21,-64C651.5,-64 664.52,-64 675.78,-64"/>
<polygon fill="black" stroke="black" points="675.92,-67.5 685.92,-64 675.92,-60.5 675.92,-67.5"/>
<text text-anchor="middle" x="663" y="-67.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
</g>
</svg>
)
sub, overlaps = maximum_common_subobject(sir, sird, seir, seird) |> first
morphisms = legs(overlaps[1])
to_graphviz(sub)

-->
<!-- Title: G Pages: 1 -->
<svg width="2109pt" height="430pt"
viewBox="0.00 0.00 2109.39 430.46" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 426.46)">
<title>G</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-426.46 2105.39,-426.46 2105.39,4 -4,4"/>
<!-- n1 -->
<g id="node1" class="node">
<title>n1</title>
<ellipse fill="%236c9ac3" stroke="%236c9ac3" cx="211.23" cy="-211.23" rx="211.46" ry="211.46"/>
<text text-anchor="middle" x="211.23" y="-207.53" font-family="Times,serif" font-size="14.00">ACSets.ColumnImplementations.AttrVar(3)</text>
</g>
<!-- n4 -->
<g id="node4" class="node">
<title>n4</title>
<polygon fill="%23e28f41" stroke="%23e28f41" points="793.46,-373.73 468.46,-373.73 468.46,-48.73 793.46,-48.73 793.46,-373.73"/>
<text text-anchor="middle" x="630.96" y="-207.53" font-family="Times,serif" font-size="14.00">ACSets.ColumnImplementations.AttrVar(1)</text>
</g>
<!-- n1&%2345;>n4 -->
<g id="edge5" class="edge">
<title>n1&%2345;>n4</title>
<path fill="none" stroke="black" d="M422.63,-211.23C434.48,-211.23 446.32,-211.23 458.01,-211.23"/>
<polygon fill="black" stroke="black" points="458.24,-214.73 468.24,-211.23 458.24,-207.73 458.24,-214.73"/>
<text text-anchor="middle" x="445.46" y="-215.03" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n2 -->
<g id="node2" class="node">
<title>n2</title>
<ellipse fill="%236c9ac3" stroke="%236c9ac3" cx="1050.69" cy="-211.23" rx="211.46" ry="211.46"/>
<text text-anchor="middle" x="1050.69" y="-207.53" font-family="Times,serif" font-size="14.00">ACSets.ColumnImplementations.AttrVar(4)</text>
</g>
<!-- n2&%2345;>n4 -->
<g id="edge1" class="edge">
<title>n2&%2345;>n4</title>
<path fill="none" stroke="black" d="M840.24,-192.46C830.52,-192.51 820.89,-192.76 811.46,-193.23 809.02,-193.35 806.56,-193.48 804.09,-193.62"/>
<polygon fill="black" stroke="black" points="803.61,-190.15 793.84,-194.25 804.04,-197.13 803.61,-190.15"/>
<text text-anchor="middle" x="816.46" y="-197.03" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n5 -->
<g id="node5" class="node">
<title>n5</title>
<polygon fill="%23e28f41" stroke="%23e28f41" points="1632.93,-373.73 1307.93,-373.73 1307.93,-48.73 1632.93,-48.73 1632.93,-373.73"/>
<text text-anchor="middle" x="1470.43" y="-207.53" font-family="Times,serif" font-size="14.00">ACSets.ColumnImplementations.AttrVar(2)</text>
</g>
<!-- n2&%2345;>n5 -->
<g id="edge2" class="edge">
<title>n2&%2345;>n5</title>
<path fill="none" stroke="black" d="M1262.09,-211.23C1273.94,-211.23 1285.79,-211.23 1297.47,-211.23"/>
<polygon fill="black" stroke="black" points="1297.7,-214.73 1307.7,-211.23 1297.7,-207.73 1297.7,-214.73"/>
<text text-anchor="middle" x="1284.93" y="-215.03" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n3 -->
<g id="node3" class="node">
<title>n3</title>
<ellipse fill="%236c9ac3" stroke="%236c9ac3" cx="1890.16" cy="-211.23" rx="211.46" ry="211.46"/>
<text text-anchor="middle" x="1890.16" y="-207.53" font-family="Times,serif" font-size="14.00">ACSets.ColumnImplementations.AttrVar(5)</text>
</g>
<!-- n4&%2345;>n2 -->
<g id="edge3" class="edge">
<title>n4&%2345;>n2</title>
<path fill="none" stroke="black" d="M793.47,-211.23C805.22,-211.23 817.18,-211.23 829.19,-211.23"/>
<polygon fill="black" stroke="black" points="829.29,-214.73 839.29,-211.23 829.29,-207.73 829.29,-214.73"/>
<text text-anchor="middle" x="816.46" y="-215.03" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n5&%2345;>n3 -->
<g id="edge4" class="edge">
<title>n5&%2345;>n3</title>
<path fill="none" stroke="black" d="M1632.93,-211.23C1644.68,-211.23 1656.64,-211.23 1668.65,-211.23"/>
<polygon fill="black" stroke="black" points="1668.75,-214.73 1678.75,-211.23 1668.75,-207.73 1668.75,-214.73"/>
<text text-anchor="middle" x="1655.93" y="-215.03" font-family="Times,serif" font-size="14.00">1</text>
</g>
</g>
</svg>
)
morphisms[1](sub) |> to_graphviz

-->
<!-- Title: G Pages: 1 -->
<svg width="375pt" height="47pt"
viewBox="0.00 0.00 375.00 47.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 43)">
<title>G</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-43 371,-43 371,4 -4,4"/>
<!-- n1 -->
<g id="node1" class="node">
<title>n1</title>
<ellipse fill="%236c9ac3" stroke="black" stroke-width="3" cx="18" cy="-19.5" rx="18" ry="18"/>
<text text-anchor="middle" x="18" y="-15.8" font-family="Times,serif" font-size="14.00">S</text>
</g>
<!-- n4 -->
<g id="node4" class="node">
<title>n4</title>
<polygon fill="%23e28f41" stroke="black" stroke-width="3" points="118,-37.5 82,-37.5 82,-1.5 118,-1.5 118,-37.5"/>
<text text-anchor="middle" x="100" y="-15.8" font-family="Times,serif" font-size="14.00">inf</text>
</g>
<!-- n1&%2345;>n4 -->
<g id="edge5" class="edge">
<title>n1&%2345;>n4</title>
<path fill="none" stroke="black" stroke-width="3" d="M36.36,-19.5C46.7,-19.5 60.06,-19.5 71.78,-19.5"/>
<polygon fill="black" stroke="black" stroke-width="3" points="71.95,-23 81.95,-19.5 71.95,-16 71.95,-23"/>
<text text-anchor="middle" x="59" y="-23.3" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n2 -->
<g id="node2" class="node">
<title>n2</title>
<ellipse fill="%236c9ac3" stroke="black" stroke-width="3" cx="182" cy="-19.5" rx="18" ry="18"/>
<text text-anchor="middle" x="182" y="-15.8" font-family="Times,serif" font-size="14.00">I</text>
</g>
<!-- n2&%2345;>n4 -->
<g id="edge1" class="edge">
<title>n2&%2345;>n4</title>
<path fill="none" stroke="black" stroke-width="3" d="M166.28,-9.96C160.25,-6.58 153.04,-3.2 146,-1.5 139.92,-0.03 133.58,-0.93 127.64,-2.95"/>
<polygon fill="black" stroke="black" stroke-width="3" points="125.85,0.09 118.14,-7.18 128.7,-6.31 125.85,0.09"/>
<text text-anchor="middle" x="141" y="-5.3" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n5 -->
<g id="node5" class="node">
<title>n5</title>
<polygon fill="%23e28f41" stroke="black" stroke-width="3" points="285,-39 246,-39 246,0 285,0 285,-39"/>
<text text-anchor="middle" x="265.5" y="-15.8" font-family="Times,serif" font-size="14.00">rec</text>
</g>
<!-- n2&%2345;>n5 -->
<g id="edge2" class="edge">
<title>n2&%2345;>n5</title>
<path fill="none" stroke="black" stroke-width="3" d="M200.28,-19.5C210.52,-19.5 223.74,-19.5 235.53,-19.5"/>
<polygon fill="black" stroke="black" stroke-width="3" points="235.82,-23 245.82,-19.5 235.82,-16 235.82,-23"/>
<text text-anchor="middle" x="223" y="-23.3" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n3 -->
<g id="node3" class="node">
<title>n3</title>
<ellipse fill="%236c9ac3" stroke="black" stroke-width="3" cx="349" cy="-19.5" rx="18" ry="18"/>
<text text-anchor="middle" x="349" y="-15.8" font-family="Times,serif" font-size="14.00">R</text>
</g>
<!-- n4&%2345;>n2 -->
<g id="edge3" class="edge">
<title>n4&%2345;>n2</title>
<path fill="none" stroke="black" stroke-width="3" d="M118.36,-19.5C128.7,-19.5 142.06,-19.5 153.78,-19.5"/>
<polygon fill="black" stroke="black" stroke-width="3" points="153.95,-23 163.95,-19.5 153.95,-16 153.95,-23"/>
<text text-anchor="middle" x="141" y="-23.3" font-family="Times,serif" font-size="14.00">2</text>
</g>
<!-- n5&%2345;>n3 -->
<g id="edge4" class="edge">
<title>n5&%2345;>n3</title>
<path fill="none" stroke="black" stroke-width="3" d="M285.4,-19.5C295.92,-19.5 309.18,-19.5 320.79,-19.5"/>
<polygon fill="black" stroke="black" stroke-width="3" points="320.87,-23 330.87,-19.5 320.87,-16 320.87,-23"/>
<text text-anchor="middle" x="308" y="-23.3" font-family="Times,serif" font-size="14.00">1</text>
</g>
</g>
</svg>
)
morphisms[2](sub) |> to_graphviz

-->
<!-- Title: G Pages: 1 -->
<svg width="560pt" height="65pt"
viewBox="0.00 0.00 560.40 65.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 61)">
<title>G</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-61 556.4,-61 556.4,4 -4,4"/>
<!-- n1 -->
<g id="node1" class="node">
<title>n1</title>
<ellipse fill="%236c9ac3" stroke="black" stroke-width="3" cx="18" cy="-28.5" rx="18" ry="18"/>
<text text-anchor="middle" x="18" y="-24.8" font-family="Times,serif" font-size="14.00">S</text>
</g>
<!-- n5 -->
<g id="node5" class="node">
<title>n5</title>
<polygon fill="%23e28f41" stroke="black" stroke-width="3" points="118,-46.5 82,-46.5 82,-10.5 118,-10.5 118,-46.5"/>
<text text-anchor="middle" x="100" y="-24.8" font-family="Times,serif" font-size="14.00">inf</text>
</g>
<!-- n1&%2345;>n5 -->
<g id="edge6" class="edge">
<title>n1&%2345;>n5</title>
<path fill="none" stroke="black" stroke-width="3" d="M36.36,-28.5C46.7,-28.5 60.06,-28.5 71.78,-28.5"/>
<polygon fill="black" stroke="black" stroke-width="3" points="71.95,-32 81.95,-28.5 71.95,-25 71.95,-32"/>
<text text-anchor="middle" x="59" y="-32.3" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n2 -->
<g id="node2" class="node">
<title>n2</title>
<ellipse fill="%236c9ac3" stroke="black" stroke-width="3" cx="182" cy="-28.5" rx="18" ry="18"/>
<text text-anchor="middle" x="182" y="-24.8" font-family="Times,serif" font-size="14.00">I</text>
</g>
<!-- n2&%2345;>n5 -->
<g id="edge2" class="edge">
<title>n2&%2345;>n5</title>
<path fill="none" stroke="black" stroke-width="3" d="M166.28,-18.96C160.25,-15.58 153.04,-12.2 146,-10.5 139.92,-9.03 133.58,-9.93 127.64,-11.95"/>
<polygon fill="black" stroke="black" stroke-width="3" points="125.85,-8.91 118.14,-16.18 128.7,-15.31 125.85,-8.91"/>
<text text-anchor="middle" x="141" y="-14.3" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n6 -->
<g id="node6" class="node">
<title>n6</title>
<polygon fill="%23e28f41" stroke="black" stroke-width="3" points="285,-48 246,-48 246,-9 285,-9 285,-48"/>
<text text-anchor="middle" x="265.5" y="-24.8" font-family="Times,serif" font-size="14.00">rec</text>
</g>
<!-- n2&%2345;>n6 -->
<g id="edge7" class="edge">
<title>n2&%2345;>n6</title>
<path fill="none" stroke="black" stroke-width="3" d="M200.28,-28.5C210.52,-28.5 223.74,-28.5 235.53,-28.5"/>
<polygon fill="black" stroke="black" stroke-width="3" points="235.82,-32 245.82,-28.5 235.82,-25 235.82,-32"/>
<text text-anchor="middle" x="223" y="-32.3" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n3 -->
<g id="node3" class="node">
<title>n3</title>
<ellipse fill="%236c9ac3" stroke="black" stroke-width="3" cx="349" cy="-28.5" rx="18" ry="18"/>
<text text-anchor="middle" x="349" y="-24.8" font-family="Times,serif" font-size="14.00">R</text>
</g>
<!-- n7 -->
<g id="node7" class="node">
<title>n7</title>
<polygon fill="%23e28f41" stroke="black" stroke-width="0" points="470,-57 413,-57 413,0 470,0 470,-57"/>
<text text-anchor="middle" x="441.5" y="-24.8" font-family="Times,serif" font-size="14.00">death</text>
</g>
<!-- n3&%2345;>n7 -->
<g id="edge3" class="edge">
<title>n3&%2345;>n7</title>
<path fill="none" stroke="black" d="M367.02,-28.5C377.1,-28.5 390.3,-28.5 402.72,-28.5"/>
<polygon fill="black" stroke="black" points="402.88,-32 412.88,-28.5 402.88,-25 402.88,-32"/>
<text text-anchor="middle" x="390" y="-32.3" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n4 -->
<g id="node4" class="node">
<title>n4</title>
<ellipse fill="%236c9ac3" stroke="black" stroke-width="0" cx="534.2" cy="-28.5" rx="18.4" ry="18.4"/>
<text text-anchor="middle" x="534.2" y="-24.8" font-family="Times,serif" font-size="14.00">D</text>
</g>
<!-- n5&%2345;>n2 -->
<g id="edge4" class="edge">
<title>n5&%2345;>n2</title>
<path fill="none" stroke="black" stroke-width="3" d="M118.36,-28.5C128.7,-28.5 142.06,-28.5 153.78,-28.5"/>
<polygon fill="black" stroke="black" stroke-width="3" points="153.95,-32 163.95,-28.5 153.95,-25 153.95,-32"/>
<text text-anchor="middle" x="141" y="-32.3" font-family="Times,serif" font-size="14.00">2</text>
</g>
<!-- n6&%2345;>n3 -->
<g id="edge5" class="edge">
<title>n6&%2345;>n3</title>
<path fill="none" stroke="black" stroke-width="3" d="M285.4,-28.5C295.92,-28.5 309.18,-28.5 320.79,-28.5"/>
<polygon fill="black" stroke="black" stroke-width="3" points="320.87,-32 330.87,-28.5 320.87,-25 320.87,-32"/>
<text text-anchor="middle" x="308" y="-32.3" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n7&%2345;>n4 -->
<g id="edge1" class="edge">
<title>n7&%2345;>n4</title>
<path fill="none" stroke="black" d="M470.21,-28.5C481.5,-28.5 494.52,-28.5 505.78,-28.5"/>
<polygon fill="black" stroke="black" points="505.92,-32 515.92,-28.5 505.92,-25 505.92,-32"/>
<text text-anchor="middle" x="493" y="-32.3" font-family="Times,serif" font-size="14.00">1</text>
</g>
</g>
</svg>
)
morphisms[3](sub) |> to_graphviz

-->
<!-- Title: G Pages: 1 -->
<svg width="545pt" height="112pt"
viewBox="0.00 0.00 545.00 112.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 108)">
<title>G</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-108 541,-108 541,4 -4,4"/>
<!-- n1 -->
<g id="node1" class="node">
<title>n1</title>
<ellipse fill="%236c9ac3" stroke="black" stroke-width="3" cx="18" cy="-64" rx="18" ry="18"/>
<text text-anchor="middle" x="18" y="-60.3" font-family="Times,serif" font-size="14.00">S</text>
</g>
<!-- n5 -->
<g id="node5" class="node">
<title>n5</title>
<polygon fill="%23e28f41" stroke="black" stroke-width="3" points="124,-85 82,-85 82,-43 124,-43 124,-85"/>
<text text-anchor="middle" x="103" y="-60.3" font-family="Times,serif" font-size="14.00">exp</text>
</g>
<!-- n1&%2345;>n5 -->
<g id="edge7" class="edge">
<title>n1&%2345;>n5</title>
<path fill="none" stroke="black" stroke-width="3" d="M36.2,-64C46.48,-64 59.84,-64 71.83,-64"/>
<polygon fill="black" stroke="black" stroke-width="3" points="71.9,-67.5 81.9,-64 71.9,-60.5 71.9,-67.5"/>
<text text-anchor="middle" x="59" y="-67.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n2 -->
<g id="node2" class="node">
<title>n2</title>
<ellipse fill="%236c9ac3" stroke="black" stroke-width="0" cx="188" cy="-18" rx="18" ry="18"/>
<text text-anchor="middle" x="188" y="-14.3" font-family="Times,serif" font-size="14.00">E</text>
</g>
<!-- n6 -->
<g id="node6" class="node">
<title>n6</title>
<polygon fill="%23e28f41" stroke="black" stroke-width="0" points="288,-36 252,-36 252,0 288,0 288,-36"/>
<text text-anchor="middle" x="270" y="-14.3" font-family="Times,serif" font-size="14.00">ill</text>
</g>
<!-- n2&%2345;>n6 -->
<g id="edge8" class="edge">
<title>n2&%2345;>n6</title>
<path fill="none" stroke="black" d="M206.36,-18C216.7,-18 230.06,-18 241.78,-18"/>
<polygon fill="black" stroke="black" points="241.95,-21.5 251.95,-18 241.95,-14.5 241.95,-21.5"/>
<text text-anchor="middle" x="229" y="-21.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n3 -->
<g id="node3" class="node">
<title>n3</title>
<ellipse fill="%236c9ac3" stroke="black" stroke-width="3" cx="352" cy="-64" rx="18" ry="18"/>
<text text-anchor="middle" x="352" y="-60.3" font-family="Times,serif" font-size="14.00">I</text>
</g>
<!-- n3&%2345;>n5 -->
<g id="edge6" class="edge">
<title>n3&%2345;>n5</title>
<path fill="none" stroke="black" stroke-width="3" d="M333.86,-64C292.46,-64 186.58,-64 134.23,-64"/>
<polygon fill="black" stroke="black" stroke-width="3" points="134.21,-60.5 124.21,-64 134.21,-67.5 134.21,-60.5"/>
<text text-anchor="middle" x="229" y="-67.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n7 -->
<g id="node7" class="node">
<title>n7</title>
<polygon fill="%23e28f41" stroke="black" stroke-width="3" points="455,-83.5 416,-83.5 416,-44.5 455,-44.5 455,-83.5"/>
<text text-anchor="middle" x="435.5" y="-60.3" font-family="Times,serif" font-size="14.00">rec</text>
</g>
<!-- n3&%2345;>n7 -->
<g id="edge2" class="edge">
<title>n3&%2345;>n7</title>
<path fill="none" stroke="black" stroke-width="3" d="M370.28,-64C380.52,-64 393.74,-64 405.53,-64"/>
<polygon fill="black" stroke="black" stroke-width="3" points="405.82,-67.5 415.82,-64 405.82,-60.5 405.82,-67.5"/>
<text text-anchor="middle" x="393" y="-67.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n4 -->
<g id="node4" class="node">
<title>n4</title>
<ellipse fill="%236c9ac3" stroke="black" stroke-width="3" cx="519" cy="-64" rx="18" ry="18"/>
<text text-anchor="middle" x="519" y="-60.3" font-family="Times,serif" font-size="14.00">R</text>
</g>
<!-- n5&%2345;>n2 -->
<g id="edge3" class="edge">
<title>n5&%2345;>n2</title>
<path fill="none" stroke="black" d="M124.16,-46.9C129.72,-42.67 135.9,-38.38 142,-35 147.94,-31.7 154.65,-28.78 161.05,-26.34"/>
<polygon fill="black" stroke="black" points="162.43,-29.56 170.67,-22.89 160.07,-22.97 162.43,-29.56"/>
<text text-anchor="middle" x="147" y="-38.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n5&%2345;>n3 -->
<g id="edge4" class="edge">
<title>n5&%2345;>n3</title>
<path fill="none" stroke="black" stroke-width="3" d="M124.16,-72.82C129.82,-74.91 136.06,-76.87 142,-78 217.96,-92.51 240.25,-93.55 316,-78 319.27,-77.33 322.63,-76.37 325.9,-75.26"/>
<polygon fill="black" stroke="black" stroke-width="3" points="327.26,-78.49 335.34,-71.65 324.75,-71.96 327.26,-78.49"/>
<text text-anchor="middle" x="229" y="-92.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n6&%2345;>n3 -->
<g id="edge5" class="edge">
<title>n6&%2345;>n3</title>
<path fill="none" stroke="black" d="M288.27,-23.03C296.91,-25.91 307.34,-29.96 316,-35 321.03,-37.92 326.07,-41.57 330.69,-45.28"/>
<polygon fill="black" stroke="black" points="328.58,-48.08 338.47,-51.88 333.11,-42.74 328.58,-48.08"/>
<text text-anchor="middle" x="311" y="-38.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n7&%2345;>n4 -->
<g id="edge1" class="edge">
<title>n7&%2345;>n4</title>
<path fill="none" stroke="black" stroke-width="3" d="M455.4,-64C465.92,-64 479.18,-64 490.79,-64"/>
<polygon fill="black" stroke="black" stroke-width="3" points="490.87,-67.5 500.87,-64 490.87,-60.5 490.87,-67.5"/>
<text text-anchor="middle" x="478" y="-67.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
</g>
</svg>
)
morphisms[4](sub) |> to_graphviz

-->
<!-- Title: G Pages: 1 -->
<svg width="730pt" height="112pt"
viewBox="0.00 0.00 730.40 112.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 108)">
<title>G</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-108 726.4,-108 726.4,4 -4,4"/>
<!-- n1 -->
<g id="node1" class="node">
<title>n1</title>
<ellipse fill="%236c9ac3" stroke="black" stroke-width="3" cx="18" cy="-64" rx="18" ry="18"/>
<text text-anchor="middle" x="18" y="-60.3" font-family="Times,serif" font-size="14.00">S</text>
</g>
<!-- n6 -->
<g id="node6" class="node">
<title>n6</title>
<polygon fill="%23e28f41" stroke="black" stroke-width="3" points="124,-85 82,-85 82,-43 124,-43 124,-85"/>
<text text-anchor="middle" x="103" y="-60.3" font-family="Times,serif" font-size="14.00">exp</text>
</g>
<!-- n1&%2345;>n6 -->
<g id="edge3" class="edge">
<title>n1&%2345;>n6</title>
<path fill="none" stroke="black" stroke-width="3" d="M36.2,-64C46.48,-64 59.84,-64 71.83,-64"/>
<polygon fill="black" stroke="black" stroke-width="3" points="71.9,-67.5 81.9,-64 71.9,-60.5 71.9,-67.5"/>
<text text-anchor="middle" x="59" y="-67.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n2 -->
<g id="node2" class="node">
<title>n2</title>
<ellipse fill="%236c9ac3" stroke="black" stroke-width="0" cx="188" cy="-18" rx="18" ry="18"/>
<text text-anchor="middle" x="188" y="-14.3" font-family="Times,serif" font-size="14.00">E</text>
</g>
<!-- n7 -->
<g id="node7" class="node">
<title>n7</title>
<polygon fill="%23e28f41" stroke="black" stroke-width="0" points="288,-36 252,-36 252,0 288,0 288,-36"/>
<text text-anchor="middle" x="270" y="-14.3" font-family="Times,serif" font-size="14.00">ill</text>
</g>
<!-- n2&%2345;>n7 -->
<g id="edge6" class="edge">
<title>n2&%2345;>n7</title>
<path fill="none" stroke="black" d="M206.36,-18C216.7,-18 230.06,-18 241.78,-18"/>
<polygon fill="black" stroke="black" points="241.95,-21.5 251.95,-18 241.95,-14.5 241.95,-21.5"/>
<text text-anchor="middle" x="229" y="-21.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n3 -->
<g id="node3" class="node">
<title>n3</title>
<ellipse fill="%236c9ac3" stroke="black" stroke-width="3" cx="352" cy="-64" rx="18" ry="18"/>
<text text-anchor="middle" x="352" y="-60.3" font-family="Times,serif" font-size="14.00">I</text>
</g>
<!-- n3&%2345;>n6 -->
<g id="edge2" class="edge">
<title>n3&%2345;>n6</title>
<path fill="none" stroke="black" stroke-width="3" d="M333.86,-64C292.46,-64 186.58,-64 134.23,-64"/>
<polygon fill="black" stroke="black" stroke-width="3" points="134.21,-60.5 124.21,-64 134.21,-67.5 134.21,-60.5"/>
<text text-anchor="middle" x="229" y="-67.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n8 -->
<g id="node8" class="node">
<title>n8</title>
<polygon fill="%23e28f41" stroke="black" stroke-width="3" points="455,-83.5 416,-83.5 416,-44.5 455,-44.5 455,-83.5"/>
<text text-anchor="middle" x="435.5" y="-60.3" font-family="Times,serif" font-size="14.00">rec</text>
</g>
<!-- n3&%2345;>n8 -->
<g id="edge7" class="edge">
<title>n3&%2345;>n8</title>
<path fill="none" stroke="black" stroke-width="3" d="M370.28,-64C380.52,-64 393.74,-64 405.53,-64"/>
<polygon fill="black" stroke="black" stroke-width="3" points="405.82,-67.5 415.82,-64 405.82,-60.5 405.82,-67.5"/>
<text text-anchor="middle" x="393" y="-67.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n4 -->
<g id="node4" class="node">
<title>n4</title>
<ellipse fill="%236c9ac3" stroke="black" stroke-width="3" cx="519" cy="-64" rx="18" ry="18"/>
<text text-anchor="middle" x="519" y="-60.3" font-family="Times,serif" font-size="14.00">R</text>
</g>
<!-- n9 -->
<g id="node9" class="node">
<title>n9</title>
<polygon fill="%23e28f41" stroke="black" stroke-width="0" points="640,-92.5 583,-92.5 583,-35.5 640,-35.5 640,-92.5"/>
<text text-anchor="middle" x="611.5" y="-60.3" font-family="Times,serif" font-size="14.00">death</text>
</g>
<!-- n4&%2345;>n9 -->
<g id="edge8" class="edge">
<title>n4&%2345;>n9</title>
<path fill="none" stroke="black" d="M537.02,-64C547.1,-64 560.3,-64 572.72,-64"/>
<polygon fill="black" stroke="black" points="572.88,-67.5 582.88,-64 572.88,-60.5 572.88,-67.5"/>
<text text-anchor="middle" x="560" y="-67.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n5 -->
<g id="node5" class="node">
<title>n5</title>
<ellipse fill="%236c9ac3" stroke="black" stroke-width="0" cx="704.2" cy="-64" rx="18.4" ry="18.4"/>
<text text-anchor="middle" x="704.2" y="-60.3" font-family="Times,serif" font-size="14.00">D</text>
</g>
<!-- n6&%2345;>n2 -->
<g id="edge1" class="edge">
<title>n6&%2345;>n2</title>
<path fill="none" stroke="black" d="M124.16,-46.9C129.72,-42.67 135.9,-38.38 142,-35 147.94,-31.7 154.65,-28.78 161.05,-26.34"/>
<polygon fill="black" stroke="black" points="162.43,-29.56 170.67,-22.89 160.07,-22.97 162.43,-29.56"/>
<text text-anchor="middle" x="147" y="-38.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n6&%2345;>n3 -->
<g id="edge9" class="edge">
<title>n6&%2345;>n3</title>
<path fill="none" stroke="black" stroke-width="3" d="M124.16,-72.82C129.82,-74.91 136.06,-76.87 142,-78 217.96,-92.51 240.25,-93.55 316,-78 319.27,-77.33 322.63,-76.37 325.9,-75.26"/>
<polygon fill="black" stroke="black" stroke-width="3" points="327.26,-78.49 335.34,-71.65 324.75,-71.96 327.26,-78.49"/>
<text text-anchor="middle" x="229" y="-92.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n7&%2345;>n3 -->
<g id="edge10" class="edge">
<title>n7&%2345;>n3</title>
<path fill="none" stroke="black" d="M288.27,-23.03C296.91,-25.91 307.34,-29.96 316,-35 321.03,-37.92 326.07,-41.57 330.69,-45.28"/>
<polygon fill="black" stroke="black" points="328.58,-48.08 338.47,-51.88 333.11,-42.74 328.58,-48.08"/>
<text text-anchor="middle" x="311" y="-38.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n8&%2345;>n4 -->
<g id="edge4" class="edge">
<title>n8&%2345;>n4</title>
<path fill="none" stroke="black" stroke-width="3" d="M455.4,-64C465.92,-64 479.18,-64 490.79,-64"/>
<polygon fill="black" stroke="black" stroke-width="3" points="490.87,-67.5 500.87,-64 490.87,-60.5 490.87,-67.5"/>
<text text-anchor="middle" x="478" y="-67.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
<!-- n9&%2345;>n5 -->
<g id="edge5" class="edge">
<title>n9&%2345;>n5</title>
<path fill="none" stroke="black" d="M640.21,-64C651.5,-64 664.52,-64 675.78,-64"/>
<polygon fill="black" stroke="black" points="675.92,-67.5 685.92,-64 675.92,-60.5 675.92,-67.5"/>
<text text-anchor="middle" x="663" y="-67.8" font-family="Times,serif" font-size="14.00">1</text>
</g>
</g>
</svg>
)