ahriman/docs/ahriman-architecture.svg
2022-12-05 00:25:53 +02:00

6340 lines
621 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 7.0.2 (0)
-->
<!-- Title: G Pages: 1 -->
<svg width="14804pt" height="4917pt"
viewBox="0.00 0.00 14804.02 4917.03" 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 4913.03)">
<title>G</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="white" stroke="none" points="-4,4 -4,-4913.03 14800.02,-4913.03 14800.02,4 -4,4"/>
<!-- ahriman_application_ahriman -->
<g id="node1" class="node">
<title>ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#6b432e" stroke="black" cx="10517" cy="-28.99" rx="46.84" ry="28.98"/>
<text text-anchor="middle" x="10517" y="-37.49" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10517" y="-26.49" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="10517" y="-15.49" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman</text>
</g>
<!-- ahriman_application_application -->
<g id="node2" class="node">
<title>ahriman_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db5105" stroke="black" cx="1592" cy="-874.19" rx="46.84" ry="28.98"/>
<text text-anchor="middle" x="1592" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1592" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1592" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application</text>
</g>
<!-- ahriman_application_handlers_add -->
<g id="node8" class="node">
<title>ahriman_application_handlers_add</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995733" stroke="black" cx="944" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="944" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="944" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="944" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="944" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">add</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_add -->
<g id="edge1" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M944,-755.87C922.17,-745.61 922.38,-718.31 927.94,-693.79"/>
<polygon fill="#db5105" stroke="black" points="931.29,-694.81 930.42,-684.25 924.51,-693.04 931.29,-694.81"/>
</g>
<!-- ahriman_application_handlers_clean -->
<g id="node10" class="node">
<title>ahriman_application_handlers_clean</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995733" stroke="black" cx="1205" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="1205" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1205" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1205" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="1205" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">clean</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_clean -->
<g id="edge2" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_clean</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1544.88,-872.58C1436.74,-870.08 1175.88,-857.41 1122,-793.64 1100.91,-768.68 1108.41,-749.83 1122,-720.1 1126.66,-709.91 1144.59,-693.91 1162.6,-679.6"/>
<polygon fill="#db5105" stroke="black" points="1164.46,-682.59 1170.19,-673.68 1160.16,-677.07 1164.46,-682.59"/>
</g>
<!-- ahriman_application_handlers_key_import -->
<g id="node15" class="node">
<title>ahriman_application_handlers_key_import</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995733" stroke="black" cx="684" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="684" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="684" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="684" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="684" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">key_import</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_key_import -->
<g id="edge3" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_key_import</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1545.2,-872.05C1417.51,-868.2 1066.15,-852.4 969,-793.64 952.4,-783.61 961.55,-766.13 944,-757.87"/>
<path fill="none" stroke="black" d="M944,-755.87C857.03,-714.97 826.4,-726.2 740,-684.1 736.25,-682.28 732.45,-680.26 728.68,-678.13"/>
<polygon fill="#db5105" stroke="black" points="730.53,-675.16 720.14,-673.09 726.97,-681.18 730.53,-675.16"/>
</g>
<!-- ahriman_application_handlers_patch -->
<g id="node16" class="node">
<title>ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#734126" stroke="black" cx="11163" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="11163" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11163" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="11163" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="11163" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">patch</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge4" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1639.23,-873.05C2204.43,-871.24 7681.11,-852.4 9305,-793.64 10090,-765.24 10301.21,-850.01 11069,-684.1 11083.55,-680.96 11098.84,-675.94 11112.76,-670.65"/>
<polygon fill="#db5105" stroke="black" points="11113.67,-674.05 11121.69,-667.13 11111.1,-667.54 11113.67,-674.05"/>
</g>
<!-- ahriman_application_handlers_rebuild -->
<g id="node17" class="node">
<title>ahriman_application_handlers_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#824a2b" stroke="black" cx="13940" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="13940" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13940" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="13940" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="13940" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">rebuild</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_rebuild -->
<g id="edge5" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1639.04,-872.86C2378.36,-867.62 11588.31,-802.25 11862,-793.64 12744.68,-765.87 12982.17,-867.67 13846,-684.1 13860.56,-681.01 13875.85,-676.01 13889.77,-670.71"/>
<polygon fill="#db5105" stroke="black" points="13890.68,-674.12 13898.7,-667.19 13888.12,-667.6 13890.68,-674.12"/>
</g>
<!-- ahriman_application_handlers_remove -->
<g id="node18" class="node">
<title>ahriman_application_handlers_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995733" stroke="black" cx="1094" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="1094" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1094" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1094" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="1094" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remove</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_remove -->
<g id="edge6" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1544.92,-871.7C1422.37,-867.06 1096.8,-849.63 1007,-793.64 990.75,-783.52 986.7,-776.66 983,-757.87"/>
</g>
<!-- ahriman_application_handlers_remove_unknown -->
<g id="node19" class="node">
<title>ahriman_application_handlers_remove_unknown</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#915230" stroke="black" cx="814" cy="-647.34" rx="65.11" ry="36.54"/>
<text text-anchor="middle" x="814" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="814" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="814" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="814" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remove_unknown</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_remove_unknown -->
<g id="edge7" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_remove_unknown</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M944,-755.87C926.68,-747.73 933.51,-733.67 920,-720.1 905.05,-705.09 886.53,-691.3 869.18,-679.91"/>
<polygon fill="#db5105" stroke="black" points="871.27,-677.1 860.96,-674.66 867.5,-683 871.27,-677.1"/>
</g>
<!-- ahriman_application_handlers_search -->
<g id="node21" class="node">
<title>ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#734126" stroke="black" cx="12267" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="12267" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12267" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="12267" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="12267" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">search</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_search -->
<g id="edge8" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1639.13,-872.85C2379.77,-867.51 11601.32,-800.85 11634,-793.64 11711.22,-776.62 11720.2,-742.61 11796,-720.1 11940.71,-677.13 12118.46,-658.95 12208.6,-652.06"/>
<polygon fill="#db5105" stroke="black" points="12208.72,-655.56 12218.43,-651.33 12208.2,-648.58 12208.72,-655.56"/>
</g>
<!-- ahriman_application_handlers_setup -->
<g id="node22" class="node">
<title>ahriman_application_handlers_setup</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4e2e" stroke="black" cx="1594" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="1594" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1594" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1594" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="1594" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">setup</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_setup -->
<g id="edge9" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_setup</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1593,-755.87C1588.17,-736.36 1587.58,-714.24 1588.51,-695.16"/>
<polygon fill="#db5105" stroke="black" points="1592,-695.44 1589.17,-685.23 1585.02,-694.98 1592,-695.44"/>
</g>
<!-- ahriman_application_handlers_shell -->
<g id="node23" class="node">
<title>ahriman_application_handlers_shell</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#915230" stroke="black" cx="13790" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="13790" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13790" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="13790" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="13790" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">shell</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_shell -->
<g id="edge10" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_shell</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1639.01,-872.86C2382.51,-867.61 11696.19,-801.72 11729,-793.64 11798.39,-776.56 11802.87,-738.21 11872,-720.1 11964.04,-695.99 13419.05,-657.77 13731.29,-649.81"/>
<polygon fill="#db5105" stroke="black" points="13731.34,-653.31 13741.25,-649.56 13731.16,-646.32 13731.34,-653.31"/>
</g>
<!-- ahriman_application_handlers_sign -->
<g id="node24" class="node">
<title>ahriman_application_handlers_sign</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995733" stroke="black" cx="1705" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="1705" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1705" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1705" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="1705" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">sign</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_sign -->
<g id="edge11" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_sign</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1625.8,-853.67C1655.44,-834 1695.27,-800.5 1705,-757.87"/>
<path fill="none" stroke="black" d="M1705,-755.87C1709.44,-736.43 1710.17,-714.49 1709.52,-695.52"/>
<polygon fill="#db5105" stroke="black" points="1713.02,-695.46 1709.03,-685.65 1706.03,-695.81 1713.02,-695.46"/>
</g>
<!-- ahriman_application_handlers_status -->
<g id="node25" class="node">
<title>ahriman_application_handlers_status</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a4528" stroke="black" cx="11013" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="11013" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11013" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="11013" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="11013" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_status -->
<g id="edge12" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1639.19,-872.92C2226.62,-869.48 8114.45,-834.14 8883,-793.64 9229.4,-775.39 9313.77,-741.29 9660,-720.1 9803.34,-711.33 10813.95,-723.67 10952,-684.1 10957.54,-682.52 10963.09,-680.31 10968.48,-677.76"/>
<polygon fill="#db5105" stroke="black" points="10969.96,-680.94 10977.22,-673.22 10966.73,-674.73 10969.96,-680.94"/>
</g>
<!-- ahriman_application_handlers_status_update -->
<g id="node26" class="node">
<title>ahriman_application_handlers_status_update</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4e2e" stroke="black" cx="1474" cy="-647.34" rx="55.31" ry="36.54"/>
<text text-anchor="middle" x="1474" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1474" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1474" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="1474" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status_update</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_status_update -->
<g id="edge13" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_status_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1596.09,-845.25C1598.64,-821.61 1600.22,-787.03 1593,-757.87"/>
<path fill="none" stroke="black" d="M1593,-755.87C1588.22,-736.56 1551.7,-705.3 1520.36,-681.45"/>
<polygon fill="#db5105" stroke="black" points="1522.58,-678.74 1512.48,-675.53 1518.37,-684.34 1522.58,-678.74"/>
</g>
<!-- ahriman_application_handlers_triggers -->
<g id="node27" class="node">
<title>ahriman_application_handlers_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4e2e" stroke="black" cx="1816" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="1816" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1816" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1816" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="1816" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">triggers</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_triggers -->
<g id="edge14" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1634.44,-861.29C1680.27,-845.87 1750.76,-814.06 1781,-757.87"/>
<path fill="none" stroke="black" d="M1781,-755.87C1791.31,-736.71 1799.26,-713.97 1804.95,-694.36"/>
<polygon fill="#db5105" stroke="black" points="1808.25,-695.55 1807.56,-684.98 1801.51,-693.68 1808.25,-695.55"/>
</g>
<!-- ahriman_application_handlers_update -->
<g id="node29" class="node">
<title>ahriman_application_handlers_update</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995733" stroke="black" cx="1316" cy="-647.34" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="1316" y="-661.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1316" y="-650.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1316" y="-639.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="1316" y="-628.34" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">update</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_update -->
<g id="edge15" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1564.27,-850.6C1515.35,-810.75 1413.53,-727.8 1356.66,-681.46"/>
<polygon fill="#db5105" stroke="black" points="1359.07,-678.91 1349.1,-675.31 1354.65,-684.33 1359.07,-678.91"/>
</g>
<!-- ahriman_application_application_application -->
<g id="node3" class="node">
<title>ahriman_application_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#915230" stroke="black" cx="1478" cy="-991.51" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="1478" y="-1005.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1478" y="-994.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1478" y="-983.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1478" y="-972.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application</text>
</g>
<!-- ahriman_application_application_application&#45;&gt;ahriman_application_application -->
<g id="edge16" class="edge">
<title>ahriman_application_application_application&#45;&gt;ahriman_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1506.18,-962C1522.5,-945.5 1543.09,-924.66 1560.02,-907.54"/>
<polygon fill="#915230" stroke="black" points="1562.39,-910.12 1566.93,-900.55 1557.41,-905.2 1562.39,-910.12"/>
</g>
<!-- ahriman_application_application_application_packages -->
<g id="node4" class="node">
<title>ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#734126" stroke="black" cx="1052" cy="-1101.05" rx="77.56" ry="36.54"/>
<text text-anchor="middle" x="1052" y="-1115.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1052" y="-1104.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1052" y="-1093.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1052" y="-1082.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application_packages</text>
</g>
<!-- ahriman_application_application_application_packages&#45;&gt;ahriman_application_application_application -->
<g id="edge17" class="edge">
<title>ahriman_application_application_application_packages&#45;&gt;ahriman_application_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1119.97,-1082.89C1203.82,-1061.72 1344.77,-1026.14 1422.45,-1006.53"/>
<polygon fill="#734126" stroke="black" points="1423.13,-1009.97 1431.97,-1004.13 1421.42,-1003.18 1423.13,-1009.97"/>
</g>
<!-- ahriman_application_application_application_properties -->
<g id="node5" class="node">
<title>ahriman_application_application_application_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a35428" stroke="black" cx="1964" cy="-1210.59" rx="79.39" ry="36.54"/>
<text text-anchor="middle" x="1964" y="-1224.59" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1964" y="-1213.59" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1964" y="-1202.59" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1964" y="-1191.59" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application_properties</text>
</g>
<!-- ahriman_application_application_application_properties&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge18" class="edge">
<title>ahriman_application_application_application_properties&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1887.42,-1200.56C1718.65,-1180.66 1315.64,-1133.13 1138.28,-1112.22"/>
<polygon fill="#a35428" stroke="black" points="1138.77,-1108.76 1128.43,-1111.06 1137.95,-1115.71 1138.77,-1108.76"/>
</g>
<!-- ahriman_application_application_application_repository -->
<g id="node6" class="node">
<title>ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#734126" stroke="black" cx="1484" cy="-1101.05" rx="79.39" ry="36.54"/>
<text text-anchor="middle" x="1484" y="-1115.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1484" y="-1104.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1484" y="-1093.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1484" y="-1082.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application_repository</text>
</g>
<!-- ahriman_application_application_application_properties&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge19" class="edge">
<title>ahriman_application_application_application_properties&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1893.17,-1193.72C1805.93,-1174.17 1658,-1141.03 1565.94,-1120.41"/>
<polygon fill="#a35428" stroke="black" points="1566.73,-1116.99 1556.2,-1118.22 1565.19,-1123.83 1566.73,-1116.99"/>
</g>
<!-- ahriman_application_application_application_repository&#45;&gt;ahriman_application_application_application -->
<g id="edge20" class="edge">
<title>ahriman_application_application_application_repository&#45;&gt;ahriman_application_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1482,-1064.24C1481.56,-1056.35 1481.09,-1047.87 1480.63,-1039.61"/>
<polygon fill="#734126" stroke="black" points="1484.13,-1039.46 1480.07,-1029.67 1477.14,-1039.85 1484.13,-1039.46"/>
</g>
<!-- ahriman_application_handlers -->
<g id="node7" class="node">
<title>ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#953703" stroke="black" cx="10517" cy="-122.97" rx="46.84" ry="28.98"/>
<text text-anchor="middle" x="10517" y="-131.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10517" y="-120.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="10517" y="-109.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers</text>
</g>
<!-- ahriman_application_handlers&#45;&gt;ahriman_application_ahriman -->
<g id="edge21" class="edge">
<title>ahriman_application_handlers&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10517,-93.63C10517,-86.11 10517,-77.85 10517,-69.84"/>
<polygon fill="#953703" stroke="black" points="10520.5,-69.92 10517,-59.92 10513.5,-69.92 10520.5,-69.92"/>
</g>
<!-- ahriman_application_handlers_add&#45;&gt;ahriman_application_handlers -->
<g id="edge22" class="edge">
<title>ahriman_application_handlers_add&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M935.44,-611.14C932.5,-590.85 932.41,-565.67 944,-546.57"/>
</g>
<!-- ahriman_application_handlers_backup -->
<g id="node9" class="node">
<title>ahriman_application_handlers_backup</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995733" stroke="black" cx="1494" cy="-334.27" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="1494" y="-348.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1494" y="-337.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1494" y="-326.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="1494" y="-315.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">backup</text>
</g>
<!-- ahriman_application_handlers_backup&#45;&gt;ahriman_application_handlers -->
<g id="edge23" class="edge">
<title>ahriman_application_handlers_backup&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1494.15,-297.38C1496.53,-270.58 1505.06,-236.76 1532,-225.74"/>
</g>
<!-- ahriman_application_handlers_clean&#45;&gt;ahriman_application_handlers -->
<g id="edge24" class="edge">
<title>ahriman_application_handlers_clean&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1237.14,-620.34C1260.16,-601.05 1291.33,-573.52 1316,-546.57"/>
</g>
<!-- ahriman_application_handlers_daemon -->
<g id="node11" class="node">
<title>ahriman_application_handlers_daemon</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a15b35" stroke="black" cx="186" cy="-224.74" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="186" y="-238.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="186" y="-227.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="186" y="-216.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="186" y="-205.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">daemon</text>
</g>
<!-- ahriman_application_handlers_daemon&#45;&gt;ahriman_application_handlers -->
<g id="edge25" class="edge">
<title>ahriman_application_handlers_daemon&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M233.18,-222.13C405.2,-216.35 1014.92,-196.51 1518,-187.97 5264.78,-124.34 9890.1,-123.77 10458.8,-123.95"/>
<polygon fill="#a15b35" stroke="black" points="10458.45,-127.45 10468.46,-123.95 10458.46,-120.45 10458.45,-127.45"/>
</g>
<!-- ahriman_application_handlers_dump -->
<g id="node12" class="node">
<title>ahriman_application_handlers_dump</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995733" stroke="black" cx="14017" cy="-1429.67" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="14017" y="-1443.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14017" y="-1432.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="14017" y="-1421.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="14017" y="-1410.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">dump</text>
</g>
<!-- ahriman_application_handlers_dump&#45;&gt;ahriman_application_handlers -->
<g id="edge26" class="edge">
<title>ahriman_application_handlers_dump&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14014.08,-1393.07C14013.08,-1372 14013.05,-1344.88 14017,-1321.13"/>
</g>
<!-- ahriman_application_handlers_handler -->
<g id="node13" class="node">
<title>ahriman_application_handlers_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#824a2b" stroke="black" cx="13864" cy="-2368.85" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="13864" y="-2382.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13864" y="-2371.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="13864" y="-2360.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="13864" y="-2349.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handler</text>
</g>
<!-- ahriman_application_handlers_handler&#45;&gt;ahriman_application_handlers -->
<g id="edge27" class="edge">
<title>ahriman_application_handlers_handler&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13854.26,-2332.98C13843.6,-2291.69 13828,-2220.67 13828,-2158.55 13828,-2158.55 13828,-2158.55 13828,-1530.43 13828,-1387.77 13865,-1354.24 13865,-1211.59 13865,-1211.59 13865,-1211.59 13865,-755.87 13865,-690.74 13857.18,-669.92 13884,-610.57 13899.56,-576.13 13929.95,-583.01 13940,-546.57"/>
</g>
<!-- ahriman_application_handlers_help -->
<g id="node14" class="node">
<title>ahriman_application_handlers_help</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a15b35" stroke="black" cx="11238" cy="-224.74" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="11238" y="-238.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11238" y="-227.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="11238" y="-216.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="11238" y="-205.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">help</text>
</g>
<!-- ahriman_application_handlers_help&#45;&gt;ahriman_application_handlers -->
<g id="edge28" class="edge">
<title>ahriman_application_handlers_help&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11203.1,-199.82C11194.86,-195.16 11185.88,-190.84 11177,-187.97 11065.69,-151.88 10714.98,-132.75 10575.27,-126.41"/>
<polygon fill="#a15b35" stroke="black" points="10575.66,-122.92 10565.51,-125.97 10575.34,-129.91 10575.66,-122.92"/>
</g>
<!-- ahriman_application_handlers_key_import&#45;&gt;ahriman_application_handlers -->
<g id="edge29" class="edge">
<title>ahriman_application_handlers_key_import&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M718.44,-622.34C725.39,-618.08 732.79,-613.93 740,-610.57 826.13,-570.42 894.69,-627.8 944,-546.57"/>
<path fill="none" stroke="black" d="M944,-544.57C978.7,-487.42 955.73,-452.25 1005,-407.04 1187.52,-239.6 1302.75,-319.54 1532,-225.74"/>
<path fill="none" stroke="black" d="M1532,-223.74C1755.6,-143.31 9696.74,-125.6 10458.45,-124.09"/>
<polygon fill="#995733" stroke="black" points="10458.4,-127.59 10468.39,-124.07 10458.38,-120.59 10458.4,-127.59"/>
</g>
<!-- ahriman_application_handlers_patch&#45;&gt;ahriman_application_handlers -->
<g id="edge30" class="edge">
<title>ahriman_application_handlers_patch&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11157.61,-610.83C11155.98,-591.37 11156.14,-567.11 11163,-546.57"/>
</g>
<!-- ahriman_application_handlers_rebuild&#45;&gt;ahriman_application_handlers -->
<g id="edge31" class="edge">
<title>ahriman_application_handlers_rebuild&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13935.46,-610.63C13934.13,-591.34 13934.31,-567.28 13940,-546.57"/>
</g>
<!-- ahriman_application_handlers_remove&#45;&gt;ahriman_application_handlers -->
<g id="edge32" class="edge">
<title>ahriman_application_handlers_remove&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1128.55,-622.3C1135.19,-618.13 1142.2,-614.03 1149,-610.57 1219.82,-574.48 1262.32,-605.2 1316,-546.57"/>
<path fill="none" stroke="black" d="M1316,-544.57C1382.57,-471.87 1408.9,-463.08 1490,-407.04 1529.03,-380.08 1573.92,-382.46 1569,-335.27"/>
<path fill="none" stroke="black" d="M1569,-333.27C1560.5,-283.45 1485.22,-244.88 1532,-225.74"/>
</g>
<!-- ahriman_application_handlers_remove_unknown&#45;&gt;ahriman_application_handlers -->
<g id="edge33" class="edge">
<title>ahriman_application_handlers_remove_unknown&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M861.27,-621.97C889.78,-604.77 924.29,-579.04 944,-546.57"/>
</g>
<!-- ahriman_application_handlers_restore -->
<g id="node20" class="node">
<title>ahriman_application_handlers_restore</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a15b35" stroke="black" cx="75" cy="-224.74" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="75" y="-238.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="75" y="-227.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="75" y="-216.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="75" y="-205.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">restore</text>
</g>
<!-- ahriman_application_handlers_restore&#45;&gt;ahriman_application_handlers -->
<g id="edge34" class="edge">
<title>ahriman_application_handlers_restore&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M107.82,-198.15C114.79,-193.97 122.36,-190.26 130,-187.97 262.07,-148.35 9629.88,-126.01 10458.57,-124.11"/>
<polygon fill="#a15b35" stroke="black" points="10458.37,-127.61 10468.36,-124.08 10458.36,-120.61 10458.37,-127.61"/>
</g>
<!-- ahriman_application_handlers_search&#45;&gt;ahriman_application_handlers -->
<g id="edge35" class="edge">
<title>ahriman_application_handlers_search&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12314.22,-645.57C12581.26,-641 13892.08,-615.09 13940,-546.57"/>
<path fill="none" stroke="black" d="M13940,-544.57C14143.13,-254.15 11042.41,-141.16 10575.47,-125.82"/>
<polygon fill="#734126" stroke="black" points="10575.61,-122.32 10565.5,-125.5 10575.38,-129.32 10575.61,-122.32"/>
</g>
<!-- ahriman_application_handlers_setup&#45;&gt;ahriman_application_handlers -->
<g id="edge36" class="edge">
<title>ahriman_application_handlers_setup&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1629.73,-623.09C1662.18,-600.67 1705,-567.17 1705,-546.57"/>
<path fill="none" stroke="black" d="M1705,-544.57C1705,-500.24 1713.42,-488.34 1705,-444.81"/>
</g>
<!-- ahriman_application_handlers_shell&#45;&gt;ahriman_application_handlers -->
<g id="edge37" class="edge">
<title>ahriman_application_handlers_shell&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13826.13,-623.97C13869.94,-596.61 13938.2,-553.11 13940,-546.57"/>
</g>
<!-- ahriman_application_handlers_sign&#45;&gt;ahriman_application_handlers -->
<g id="edge38" class="edge">
<title>ahriman_application_handlers_sign&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1705,-610.32C1705,-591.35 1705,-567.7 1705,-546.57"/>
</g>
<!-- ahriman_application_handlers_status&#45;&gt;ahriman_application_handlers -->
<g id="edge39" class="edge">
<title>ahriman_application_handlers_status&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11056.81,-633.78C11095.4,-619.83 11147.77,-592.92 11163,-546.57"/>
<path fill="none" stroke="black" d="M11163,-544.57C11251.95,-273.97 10746.44,-162.59 10573.47,-132.73"/>
<polygon fill="#7a4528" stroke="black" points="10574.26,-129.32 10563.82,-131.1 10573.09,-136.22 10574.26,-129.32"/>
</g>
<!-- ahriman_application_handlers_status_update&#45;&gt;ahriman_application_handlers -->
<g id="edge40" class="edge">
<title>ahriman_application_handlers_status_update&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1514.88,-622.46C1583.75,-580.73 1714.56,-494.26 1705,-444.81"/>
<path fill="none" stroke="black" d="M1705,-442.81C1700.02,-424.33 1694.68,-420.44 1681,-407.04 1638.76,-365.68 1575.13,-394.08 1569,-335.27"/>
</g>
<!-- ahriman_application_handlers_triggers&#45;&gt;ahriman_application_handlers -->
<g id="edge41" class="edge">
<title>ahriman_application_handlers_triggers&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1780.27,-623.09C1747.82,-600.67 1705,-567.17 1705,-546.57"/>
</g>
<!-- ahriman_application_handlers_unsafe_commands -->
<g id="node28" class="node">
<title>ahriman_application_handlers_unsafe_commands</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995733" stroke="black" cx="1569" cy="-443.81" rx="70.01" ry="36.54"/>
<text text-anchor="middle" x="1569" y="-457.81" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1569" y="-446.81" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1569" y="-435.81" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="1569" y="-424.81" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">unsafe_commands</text>
</g>
<!-- ahriman_application_handlers_unsafe_commands&#45;&gt;ahriman_application_handlers -->
<g id="edge42" class="edge">
<title>ahriman_application_handlers_unsafe_commands&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1570.86,-406.87C1571.48,-385.93 1571.48,-359.04 1569,-335.27"/>
</g>
<!-- ahriman_application_handlers_update&#45;&gt;ahriman_application_handlers -->
<g id="edge43" class="edge">
<title>ahriman_application_handlers_update&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1305.32,-611.62C1301.06,-590.22 1300.33,-563.69 1316,-546.57"/>
</g>
<!-- ahriman_application_handlers_users -->
<g id="node30" class="node">
<title>ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#734126" stroke="black" cx="13941" cy="-1852.27" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="13941" y="-1866.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13941" y="-1855.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="13941" y="-1844.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="13941" y="-1833.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">users</text>
</g>
<!-- ahriman_application_handlers_users&#45;&gt;ahriman_application_handlers -->
<g id="edge44" class="edge">
<title>ahriman_application_handlers_users&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13935.42,-1815.63C13924.55,-1736.59 13906.12,-1541.81 13961,-1392.9 13974.99,-1354.93 14010.36,-1361.04 14017,-1321.13"/>
<path fill="none" stroke="black" d="M14017,-1319.13C14040.29,-1163.33 14053.59,-757.19 13996,-610.57 13982.18,-575.39 13929.98,-583.02 13940,-546.57"/>
</g>
<!-- ahriman_application_handlers_versions -->
<g id="node31" class="node">
<title>ahriman_application_handlers_versions</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4e2e" stroke="black" cx="14243" cy="-2368.85" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="14243" y="-2382.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14243" y="-2371.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="14243" y="-2360.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="14243" y="-2349.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">versions</text>
</g>
<!-- ahriman_application_handlers_versions&#45;&gt;ahriman_application_handlers -->
<g id="edge45" class="edge">
<title>ahriman_application_handlers_versions&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14223.49,-2335.43C14201.27,-2295.35 14168,-2224.36 14168,-2158.55 14168,-2158.55 14168,-2158.55 14168,-1851.27 14168,-1451.19 14143.85,-1350.76 14087,-954.74 14064.84,-800.4 14099.5,-744.1 14019,-610.57 13995.67,-571.87 13928.02,-590.14 13940,-546.57"/>
</g>
<!-- ahriman_application_handlers_web -->
<g id="node32" class="node">
<title>ahriman_application_handlers_web</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4e2e" stroke="black" cx="10517" cy="-224.74" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="10517" y="-238.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10517" y="-227.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="10517" y="-216.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="10517" y="-205.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web</text>
</g>
<!-- ahriman_application_handlers_web&#45;&gt;ahriman_application_handlers -->
<g id="edge46" class="edge">
<title>ahriman_application_handlers_web&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10517,-187.72C10517,-179.92 10517,-171.63 10517,-163.7"/>
<polygon fill="#8a4e2e" stroke="black" points="10520.5,-163.94 10517,-153.94 10513.5,-163.94 10520.5,-163.94"/>
</g>
<!-- ahriman_application_lock -->
<g id="node33" class="node">
<title>ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#734126" stroke="black" cx="13866" cy="-2611.26" rx="46.84" ry="28.98"/>
<text text-anchor="middle" x="13866" y="-2619.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13866" y="-2608.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="13866" y="-2597.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">lock</text>
</g>
<!-- ahriman_application_lock&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge47" class="edge">
<title>ahriman_application_lock&#45;&gt;ahriman_application_handlers_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13839.14,-2587.19C13815.56,-2564.06 13785.77,-2526.36 13791,-2487.17"/>
</g>
<!-- ahriman_core -->
<g id="node34" class="node">
<title>ahriman_core</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f96210" stroke="black" cx="7226" cy="-4880.04" rx="42.94" ry="18"/>
<text text-anchor="middle" x="7226" y="-4877.54" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.core</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_ahriman -->
<g id="edge48" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7247.79,-4864.24C7256.75,-4859 7267.47,-4853.73 7278,-4851.04 7575.99,-4774.91 12518.5,-4900.34 12814,-4815.04 12914.05,-4786.17 13486.12,-4310.83 13539,-4221.11 13551.77,-4199.45 13642.32,-3798.82 13664,-3786.08"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge49" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M368,-3690.1C315.03,-3617.87 368,-3578.14 368,-3488.57 368,-3488.57 368,-3488.57 368,-2719.8 368,-2593.13 362.88,-2549.04 430,-2441.62 457.11,-2398.23 505.76,-2418.99 520,-2369.85"/>
<path fill="none" stroke="black" d="M520,-2367.85C530.8,-2329.97 480.15,-2333.55 468,-2296.08 457.92,-2264.99 460.53,-2254.36 468,-2222.54 527.46,-1969.2 844.06,-1389.94 989,-1173.82 996,-1163.38 1004.38,-1152.83 1012.7,-1143.15"/>
<polygon fill="#f96210" stroke="black" points="1015.31,-1145.49 1019.29,-1135.67 1010.06,-1140.86 1015.31,-1145.49"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_application_application_properties -->
<g id="edge50" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_application_application_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M482,-3784.08C459.75,-3704.48 482,-3680.76 482,-3598.11 482,-3598.11 482,-3598.11 482,-3142.4 482,-2927.4 555.61,-2880.86 658,-2691.81 919.48,-2209 1114.11,-2178.78 1491,-1779.5 1660.56,-1599.86 1696.33,-1548.69 1852,-1356.9 1879.53,-1322.98 1909.71,-1283.69 1931.8,-1254.53"/>
<polygon fill="#f96210" stroke="black" points="1934.52,-1256.73 1937.76,-1246.64 1928.94,-1252.51 1934.52,-1256.73"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge51" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M520,-2367.85C618.7,-1923.51 880.65,-1927.34 1150,-1560.42 1269.12,-1398.14 1249.76,-1322.02 1386,-1173.82 1398.29,-1160.45 1413.41,-1147.95 1428.05,-1137.25"/>
<polygon fill="#f96210" stroke="black" points="1429.72,-1140.36 1435.85,-1131.71 1425.67,-1134.65 1429.72,-1140.36"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_add -->
<g id="edge52" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M300,-1851.27C296.38,-1754.85 300,-1730.67 300,-1634.19 300,-1634.19 300,-1634.19 300,-1319.13 300,-1165.51 513.79,-799.98 645,-720.1 738.26,-663.33 785.73,-722.34 888,-684.1 892.14,-682.56 896.29,-680.67 900.36,-678.59"/>
<polygon fill="#f96210" stroke="black" points="901.9,-681.73 908.93,-673.8 898.49,-675.62 901.9,-681.73"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_backup -->
<g id="edge53" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_backup</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M38,-1319.13C24.77,-1238.4 177.98,-666.15 238,-610.57 417.82,-444.06 1213.15,-360.66 1435.86,-340.3"/>
<polygon fill="#f96210" stroke="black" points="1436.11,-343.79 1445.75,-339.4 1435.48,-336.82 1436.11,-343.79"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_clean -->
<g id="edge54" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_clean</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M338,-2156.55C340.8,-2017.62 414,-1992.23 414,-1853.27 414,-1853.27 414,-1853.27 414,-1741.73 414,-1594.48 503.05,-1575.78 528,-1430.67"/>
<path fill="none" stroke="black" d="M528,-1428.67C529.27,-1363.88 517.75,-1344.22 540,-1283.36 561.25,-1225.24 812.18,-864.96 863,-829.64 913.64,-794.45 946.85,-829.53 997,-793.64 1012.57,-782.5 1006.96,-770.89 1021,-757.87"/>
<path fill="none" stroke="black" d="M1021,-755.87C1033.33,-744.07 1022.52,-731.75 1035,-720.1 1074.17,-683.58 1101.54,-706.92 1150,-684.1 1153.56,-682.43 1157.16,-680.55 1160.73,-678.56"/>
<polygon fill="#f96210" stroke="black" points="1162.49,-681.59 1169.32,-673.49 1158.93,-675.56 1162.49,-681.59"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_daemon -->
<g id="edge55" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_daemon</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M186,-333.27C186.39,-313.49 186.45,-291.65 186.4,-272.85"/>
<polygon fill="#f96210" stroke="black" points="189.9,-273.08 186.36,-263.1 182.9,-273.11 189.9,-273.08"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_dump -->
<g id="edge56" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_dump</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7247.79,-4864.24C7256.75,-4859 7267.47,-4853.74 7278,-4851.04 7573.4,-4775.56 12473.4,-4900.75 12766,-4815.04 12823.51,-4798.2 12831.77,-4778.61 12880,-4743.04 12951.54,-4690.29 13121.65,-4546.43 13184,-4483.08 13207.47,-4459.23 13207.04,-4447.37 13232,-4425.1 13333.35,-4334.64 13408.15,-4368.01 13488,-4258.11 13623.49,-4071.66 13441.56,-3904.38 13618,-3756.09 13694.97,-3691.4 13973.9,-3752.72 14069,-3720.09 14438.59,-3593.27 14541.15,-3447.3 14670,-3078.41 14711.09,-2960.77 14494.09,-1978.16 14467,-1925.03 14362.27,-1719.61 14149.06,-1535.28 14058.83,-1463.03"/>
<polygon fill="#f96210" stroke="black" points="14061.17,-1460.41 14051.16,-1456.93 14056.81,-1465.89 14061.17,-1460.41"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge57" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7248.09,-4864.25C7257,-4859.08 7267.61,-4853.86 7278,-4851.04 7356.65,-4829.7 8662.56,-4801.11 8744,-4798.04"/>
<path fill="none" stroke="black" d="M8744,-4796.04C8965.2,-4787.73 12520.17,-4819.23 12728,-4743.04 12789.65,-4720.44 12798.79,-4698.51 12842,-4649.06 12876.41,-4609.69 12887.83,-4598.8 12904,-4549.07"/>
<path fill="none" stroke="black" d="M12904,-4547.07C12970.38,-4369.31 12880.08,-4275.71 13004,-4132.02 13028.41,-4103.71 13048.91,-4116.77 13080,-4096.02 13092.95,-4087.37 13174.56,-4014.42 13184,-4002.04 13258.23,-3904.69 13239.11,-3857.28 13308,-3756.09 13466.92,-3522.64 13552.68,-3500.92 13731,-3281.93 13802.12,-3194.59 13819.62,-3172.19 13882,-3078.41 14029.47,-2856.69 14140.75,-2698.7 13979,-2487.17"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_help -->
<g id="edge58" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_help</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12638,-4547.07C12602.54,-4413.64 12752,-4396.17 12752,-4258.11 12752,-4258.11 12752,-4258.11 12752,-4175.57 12752,-3962.46 12546.16,-3997.09 12437,-3814.07 12384.49,-3726.03 12356,-3700.62 12356,-3598.11 12356,-3598.11 12356,-3598.11 12356,-3486.57 12356,-2895.7 12418,-2749.42 12418,-2158.55 12418,-2158.55 12418,-2158.55 12418,-2062.57 12418,-1533.76 12342,-1403.99 12342,-875.19 12342,-875.19 12342,-875.19 12342,-755.87 12342,-662.85 12330.07,-638.83 12342,-546.57"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_key_import -->
<g id="edge59" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_key_import</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M186,-1960.8C188.77,-1864.37 186,-1840.21 186,-1743.73 186,-1743.73 186,-1743.73 186,-1428.67 186,-1257.76 349.17,-823.82 485,-720.1 527.07,-687.98 584.84,-669.28 627.3,-659.07"/>
<polygon fill="#f96210" stroke="black" points="627.87,-662.53 636.82,-656.87 626.29,-655.71 627.87,-662.53"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge60" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12638,-4713.05C12674.06,-4649.72 12657.62,-4619.26 12638,-4549.07"/>
<path fill="none" stroke="black" d="M12638,-4547.07C12606.96,-4470.5 12576.48,-4463.23 12540,-4389.1 12419.46,-4144.14 12377.77,-4081.73 12324,-3814.07 12262.72,-3508.99 12321.05,-3424.73 12298,-3114.41 12287.61,-2974.54 12228,-2627.42 12228,-2487.17 12228,-2487.17 12228,-2487.17 12228,-2156.55 12228,-2053.01 12220.25,-2026.96 12202,-1925.03 12157.8,-1678.2 12029.19,-1060.38 11931,-829.64 11908.47,-776.7 11910.89,-750.45 11862,-720.1 11755.53,-654.02 11369.8,-647.78 11221.57,-647.89"/>
<polygon fill="#f96210" stroke="black" points="11221.57,-644.39 11211.58,-647.91 11221.59,-651.39 11221.57,-644.39"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_rebuild -->
<g id="edge61" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7248.06,-4864.16C7256.97,-4858.98 7267.59,-4853.78 7278,-4851.04 7576.18,-4772.79 12544.54,-4868.81 12826,-4743.04 12858.15,-4728.68 12855.75,-4710.6 12880,-4685.06 13130.82,-4420.85 13261.02,-4407.47 13450,-4096.02 13537.42,-3951.94 13466.6,-3830.1 13618,-3756.09 13798.65,-3667.78 13878.33,-3783.95 14069,-3720.09 14314.76,-3637.78 14390.27,-3602.03 14561,-3407.03 14635.56,-3321.87 14625.04,-3280.04 14660,-3172.39 14673.39,-3131.17 14680.17,-3121.35 14686,-3078.41 14696.95,-2997.76 14686.76,-2976.58 14682,-2895.33 14673.53,-2750.77 14636.61,-1727.47 14575,-1596.42 14494.78,-1425.78 14085.9,-1147.83 13979,-992.51"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_remove -->
<g id="edge62" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M254,-2485.17C252.63,-2335.28 328.98,-2308.16 338,-2158.55"/>
<path fill="none" stroke="black" d="M338,-2156.55C315.5,-1709.82 364.92,-1578.71 555,-1173.82 579.55,-1121.52 593.38,-1112.63 625,-1064.28 736.87,-893.22 749.35,-815.7 930,-720.1 972.86,-697.42 988.99,-704.47 1033,-684.1 1037.9,-681.84 1042.91,-679.3 1047.85,-676.64"/>
<polygon fill="#f96210" stroke="black" points="1049.49,-679.74 1056.52,-671.82 1046.08,-673.62 1049.49,-679.74"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_remove_unknown -->
<g id="edge63" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_remove_unknown</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M216,-2258.31C213.84,-2074.47 307.28,-2036.97 300,-1853.27"/>
<path fill="none" stroke="black" d="M300,-1851.27C295.96,-1818.73 286.8,-1812.05 283,-1779.5 279.21,-1747.03 282.88,-1738.64 283,-1705.96 283.67,-1518.13 266.75,-1470.19 286,-1283.36 296.34,-1182.93 306.38,-1157.13 346,-1064.28 391.97,-956.55 400.48,-926.74 466,-829.64 502.05,-776.22 505.31,-752.54 561,-720.1 631.12,-679.26 663.08,-709.97 740,-684.1 745.66,-682.2 751.45,-679.96 757.18,-677.55"/>
<polygon fill="#f96210" stroke="black" points="758.25,-680.9 765.99,-673.67 755.42,-674.5 758.25,-680.9"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_restore -->
<g id="edge64" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_restore</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7182.96,-4879.03C6652.96,-4878.9 1401.25,-4876.06 1083,-4815.04 961.82,-4791.81 824,-4838.44 824,-4715.05 824,-4715.05 824,-4715.05 824,-4453.09 824,-4382.88 856.46,-4357.37 824,-4295.11"/>
<path fill="none" stroke="black" d="M824,-4294.11C785.27,-4232.87 736.38,-4245.05 710,-4177.57"/>
<path fill="none" stroke="black" d="M710,-4175.57C667.84,-4120.12 641.24,-4120.98 596,-4068.03"/>
<path fill="none" stroke="black" d="M596,-4066.03C508.74,-3963.89 520.14,-3914.89 482,-3786.08"/>
<path fill="none" stroke="black" d="M482,-3784.08C456.18,-3724.32 408.56,-3743.02 368,-3692.1"/>
<path fill="none" stroke="black" d="M368,-3690.1C308.37,-3615.22 292,-3584.3 292,-3488.57 292,-3488.57 292,-3488.57 292,-3040.64 292,-2944.16 310.56,-2918.24 292,-2823.56"/>
<path fill="none" stroke="black" d="M292,-2821.56C258.55,-2675.77 249.17,-2636.66 254,-2487.17"/>
<path fill="none" stroke="black" d="M254,-2485.17C241.55,-2384.58 214.52,-2361.65 216,-2260.31"/>
<path fill="none" stroke="black" d="M216,-2258.31C187.72,-2129.36 181.93,-2094.75 186,-1962.8"/>
<path fill="none" stroke="black" d="M186,-1960.8C169.22,-1859.97 129.4,-1844.09 110,-1743.73"/>
<path fill="none" stroke="black" d="M110,-1741.73C42.84,-1564.36 63.61,-1509.04 38,-1321.13"/>
<path fill="none" stroke="black" d="M38,-1319.13C33.66,-1297.08 46,-1001.19 46,-992.51 46,-992.51 46,-992.51 46,-755.87 46,-558.86 182.14,-532.25 186,-335.27"/>
<path fill="none" stroke="black" d="M186,-333.27C183.27,-313.87 147.51,-281.59 117.31,-257.45"/>
<polygon fill="#f96210" stroke="black" points="119.77,-254.94 109.75,-251.5 115.44,-260.44 119.77,-254.94"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_search -->
<g id="edge65" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12638,-4713.05C12782.28,-4472.18 12759.26,-4382.56 12886,-4132.02 12890.13,-4123.86 13221.2,-3575.9 13226,-3568.12 13260.53,-3512.16 13262,-3492.77 13305,-3443.03 13360.88,-3378.38 13378.55,-3363.24 13451,-3317.93 13485.09,-3296.61 13501.45,-3305.54 13534,-3281.93 13586.64,-3243.74 13602.57,-3230.88 13631,-3172.39 13887.82,-2644.1 13713,-2440.68 13713,-1853.27 13713,-1853.27 13713,-1853.27 13713,-1632.19 13713,-1547.65 13678.74,-948.7 13637,-875.19"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_setup -->
<g id="edge66" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_setup</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M596,-4066.03C544.33,-4001.51 596,-3962.71 596,-3880.06 596,-3880.06 596,-3880.06 596,-2821.56 596,-2560.99 762.03,-2539.12 856,-2296.08 949.68,-2053.8 1059.54,-1402.37 1183,-1173.82 1251.48,-1047.04 1299.52,-1030.65 1422,-954.74 1452.07,-936.1 1469.42,-945.12 1493,-918.74 1508.55,-901.35 1554.91,-766.22 1579.03,-693.81"/>
<polygon fill="#f96210" stroke="black" points="1582.26,-695.21 1582.09,-684.62 1575.61,-693 1582.26,-695.21"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_shell -->
<g id="edge67" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_shell</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12714,-4713.05C12726.72,-4707.42 12719.44,-4696.03 12728,-4685.06 12743.13,-4665.68 12751.96,-4665.77 12770,-4649.06 12803.2,-4618.31 12814.09,-4612.69 12842,-4577.06 12859.82,-4554.32 13095.22,-4156.22 13111,-4132.02 13138.88,-4089.27 13143.39,-4076.45 13177,-4038.04 13192.53,-4020.28 13201.71,-4020.8 13216,-4002.04 13290.55,-3904.17 13269.15,-3854.48 13343,-3756.09 13426.35,-3645.03 14140.88,-2982.45 14249,-2895.33 14271.17,-2877.46 14285.49,-2882.53 14302,-2859.33 14338.7,-2807.76 14339,-2785.1 14339,-2721.8 14339,-2721.8 14339,-2721.8 14339,-2610.26 14339,-2485.35 14330.96,-2452.83 14299,-2332.08 14262.64,-2194.73 14236.47,-2165.8 14182,-2034.57 14074.19,-1774.86 13644.57,-1154.74 13675,-875.19"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_sign -->
<g id="edge68" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_sign</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M710,-4175.57C678.86,-4091.59 710,-4063.61 710,-3974.04 710,-3974.04 710,-3974.04 710,-3040.64 710,-2821.38 759.92,-2767.94 847,-2566.71 1071.6,-2047.73 1281.22,-1993.55 1486,-1466.43 1578.89,-1227.34 1598.73,-1165.72 1668,-918.74 1687.81,-848.1 1688.67,-829.4 1705,-757.87"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_status -->
<g id="edge69" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12410,-4257.11C12228.55,-3887.55 12166,-3775.19 12166,-3363.48 12166,-3363.48 12166,-3363.48 12166,-2931.1 12166,-2713.59 11960,-2704.68 11960,-2487.17 11960,-2487.17 11960,-2487.17 11960,-2258.31 11960,-2008.52 11734,-1993.51 11734,-1743.73 11734,-1743.73 11734,-1743.73 11734,-1632.19 11734,-1489.87 11658,-1463.44 11658,-1321.13 11658,-1321.13 11658,-1321.13 11658,-1100.05 11658,-1023.54 11677.91,-807.88 11620,-757.87"/>
<path fill="none" stroke="black" d="M11620,-755.87C11507.88,-671.2 11310.54,-758.69 11074,-684.1 11068.58,-682.39 11063.12,-680.13 11057.82,-677.57"/>
<polygon fill="#f96210" stroke="black" points="11059.69,-674.6 11049.21,-673.06 11056.44,-680.8 11059.69,-674.6"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_status_update -->
<g id="edge70" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_status_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M292,-2821.56C261.58,-2653.12 315.31,-2608.12 355,-2441.62 492.83,-1863.39 487.37,-1690.66 781,-1173.82 790.88,-1156.43 797.37,-1154.76 808,-1137.82 827.55,-1106.65 826.37,-1095.4 846,-1064.28 946.02,-905.68 975.04,-854.05 1136,-757.87"/>
<path fill="none" stroke="black" d="M1136,-755.87C1230.05,-699.54 1267.81,-718.2 1372,-684.1 1386,-679.52 1401,-674.39 1415.08,-669.47"/>
<polygon fill="#f96210" stroke="black" points="1415.93,-672.88 1424.2,-666.27 1413.61,-666.28 1415.93,-672.88"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_triggers -->
<g id="edge71" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M824,-4294.11C801.26,-4247.57 824,-4229.36 824,-4177.57 824,-4177.57 824,-4177.57 824,-3040.64 824,-2640.54 1159.2,-2657.89 1330,-2296.08 1406.03,-2135.02 1696.6,-914.71 1781,-757.87"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_unsafe_commands -->
<g id="edge72" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_unsafe_commands</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M110,-1741.73C45.45,-1358.68 224,-1263.64 224,-875.19 224,-875.19 224,-875.19 224,-755.87 224,-565.06 442.08,-653.5 628,-610.57 771.75,-577.37 812.32,-597.92 958,-574.57 1153.33,-543.25 1380.54,-490.68 1495.01,-463.05"/>
<polygon fill="#f96210" stroke="black" points="1495.7,-466.48 1504.59,-460.73 1494.05,-459.68 1495.7,-466.48"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_update -->
<g id="edge73" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M528,-1428.67C539.81,-1282.94 639.52,-1283.67 736,-1173.82 750.52,-1157.28 757.27,-1155.77 770,-1137.82 791.28,-1107.81 791.06,-1096.94 808,-1064.28 862.88,-958.44 846.74,-906.35 938,-829.64 973.2,-800.06 995.29,-816.83 1035,-793.64 1078.72,-768.11 1077.04,-743.38 1122,-720.1 1178.68,-690.77 1202.6,-709.84 1261,-684.1 1264.77,-682.45 1268.56,-680.54 1272.31,-678.5"/>
<polygon fill="#f96210" stroke="black" points="1273.86,-681.64 1280.74,-673.58 1270.34,-675.6 1273.86,-681.64"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_users -->
<g id="edge74" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8744,-4796.04C8856.13,-4791.83 12680.35,-4788.35 12783,-4743.04 12806.22,-4732.79 13157.18,-4347.2 13335,-4096.02 13360.35,-4060.2 13498.75,-3779.28 13536,-3756.09 13623.97,-3701.29 13907.39,-3764.56 14001,-3720.09 14281.03,-3587.04 14335.23,-3466.6 14433,-3172.39 14535.62,-2863.59 14509.84,-2743.35 14388,-2441.62 14343.72,-2331.96 14334.92,-2288.85 14237,-2222.54 14197.19,-2195.58 14178.12,-2207.8 14135,-2186.54 14114.55,-2176.45 14110.46,-2171.93 14092,-2158.55"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_versions -->
<g id="edge75" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_versions</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12904,-4547.07C13042.19,-4292.87 13111.28,-4250.22 13260,-4002.04 13291.78,-3949.01 13341.08,-3793.88 13390,-3756.09 13445.28,-3713.38 13478.79,-3747.59 13543,-3720.09 13829.33,-3597.45 13887.89,-3518.95 14090,-3281.93 14271.5,-3069.08 14503.41,-2971.33 14377,-2721.8"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_web -->
<g id="edge76" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12638,-4713.05C12669.56,-4666.14 12439.54,-4306.32 12410,-4258.11"/>
<path fill="none" stroke="black" d="M12410,-4257.11C12392.52,-4230.47 12368.9,-4245.17 12348,-4221.11 12279.07,-4141.78 12282.81,-4104.4 12259,-4002.04 12147.27,-3521.74 12242.95,-3384.42 12180,-2895.33 12145.41,-2626.6 12099.44,-2565.19 12068,-2296.08 11994.64,-1668.12 12000,-1507.42 12000,-875.19 12000,-875.19 12000,-875.19 12000,-755.87 12000,-587.51 10387.86,-552.84 10517,-444.81"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_lock -->
<g id="edge77" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7248.36,-4864.18C7257.22,-4859.06 7267.73,-4853.91 7278,-4851.04 7900.43,-4677.66 8084.15,-4798.01 8730,-4779.04 8947.8,-4772.65 12439.19,-4789.88 12652,-4743.04 12681.53,-4736.55 12686.43,-4727.45 12714,-4715.05"/>
<path fill="none" stroke="black" d="M12714,-4713.05C12758.68,-4692.91 12830.79,-4338.3 12852,-4294.11 12919.01,-4154.5 12959.02,-4132.79 13042,-4002.04 13120.28,-3878.68 13281.5,-3543.03 13388,-3443.03 13391.46,-3439.78 13686.22,-3285.77 13689,-3281.93 13725.36,-3231.65 13682.88,-3198.65 13713,-3144.4"/>
</g>
<!-- ahriman_models_aur_package -->
<g id="node125" class="node">
<title>ahriman_models_aur_package</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d14d05" stroke="black" cx="8861" cy="-4360.1" rx="50.82" ry="28.98"/>
<text text-anchor="middle" x="8861" y="-4368.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8861" y="-4357.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="8861" y="-4346.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">aur_package</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_aur_package -->
<g id="edge78" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_aur_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7260,-4796.04C7297.09,-4770.42 7315.1,-4783.08 7360,-4779.04 7729.42,-4745.86 10327.15,-4749.99 10698,-4743.04 10814.69,-4740.86 11674.98,-4806.1 11748,-4715.05"/>
<path fill="none" stroke="black" d="M11748,-4713.05C11794.24,-4655.4 10505.34,-4528.17 10432,-4519.08 9845.96,-4446.46 9133.75,-4384.19 8922.71,-4366.28"/>
<polygon fill="#f96210" stroke="black" points="8923.05,-4362.8 8912.79,-4365.44 8922.46,-4369.77 8923.05,-4362.8"/>
</g>
<!-- ahriman_models_build_status -->
<g id="node127" class="node">
<title>ahriman_models_build_status</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#e55405" stroke="black" cx="10142" cy="-3785.08" rx="48.58" ry="28.98"/>
<text text-anchor="middle" x="10142" y="-3793.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10142" y="-3782.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="10142" y="-3771.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">build_status</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_build_status -->
<g id="edge79" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_build_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11672,-4630.06C11633.84,-4588.39 11641.66,-4565.88 11610,-4519.08 11579.9,-4474.58 11574.3,-4460.61 11534,-4425.1 11474.41,-4372.59 11451,-4370.45 11382,-4331.11 11290.47,-4278.93 11262.47,-4275.11 11172,-4221.11 11111.22,-4184.84 11104.42,-4161.34 11040,-4132.02 10983.48,-4106.29 10962.87,-4118.53 10905,-4096.02 10853.13,-4075.84 10845.65,-4058.78 10794,-4038.04 10740.75,-4016.64 10723.37,-4023.14 10670,-4002.04 10617.14,-3981.13 10607.96,-3967.1 10556,-3944.05 10428.39,-3887.44 10273.67,-3831.71 10194.4,-3804.06"/>
<polygon fill="#f96210" stroke="black" points="10195.75,-3800.82 10185.15,-3800.84 10193.45,-3807.43 10195.75,-3800.82"/>
</g>
<!-- ahriman_models_counters -->
<g id="node128" class="node">
<title>ahriman_models_counters</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a35428" stroke="black" cx="10219" cy="-3691.1" rx="38.78" ry="28.98"/>
<text text-anchor="middle" x="10219" y="-3699.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10219" y="-3688.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="10219" y="-3677.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">counters</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_counters -->
<g id="edge80" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_counters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11748,-4713.05C11822.24,-4625.69 11796.9,-4558.79 11748,-4455.09"/>
<path fill="none" stroke="black" d="M11748,-4453.09C11611.97,-4263.98 11483.98,-4329.91 11278,-4221.11 11206.72,-4183.46 11191.36,-4169.52 11120,-4132.02 10794.39,-3960.91 10392.43,-3772.54 10262.02,-3711.99"/>
<polygon fill="#f96210" stroke="black" points="10263.59,-3708.86 10253.04,-3707.83 10260.64,-3715.21 10263.59,-3708.86"/>
</g>
<!-- ahriman_models_migration_result -->
<g id="node132" class="node">
<title>ahriman_models_migration_result</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#bc602f" stroke="black" cx="11317" cy="-4454.09" rx="60.62" ry="28.98"/>
<text text-anchor="middle" x="11317" y="-4462.59" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11317" y="-4451.59" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="11317" y="-4440.59" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">migration_result</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_migration_result -->
<g id="edge81" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_migration_result</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11748,-4713.05C11766.94,-4688.71 11529.85,-4596.62 11506,-4577.06 11493.33,-4566.67 11497.3,-4554.95 11482,-4549.07"/>
<path fill="none" stroke="black" d="M11482,-4547.07C11466.69,-4541.23 11471.1,-4528.92 11458,-4519.08 11443.69,-4508.34 11406.15,-4491.47 11373.4,-4477.75"/>
<polygon fill="#f96210" stroke="black" points="11374.95,-4474.6 11364.37,-4473.99 11372.26,-4481.06 11374.95,-4474.6"/>
</g>
<!-- ahriman_models_package -->
<g id="node133" class="node">
<title>ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#953703" stroke="black" cx="6048" cy="-3785.08" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="6048" y="-3793.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6048" y="-3782.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="6048" y="-3771.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_package -->
<g id="edge82" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7183.46,-4876.98C7064.93,-4870.82 6737.52,-4850.69 6706,-4815.04 6644.7,-4745.74 6767,-4334.23 6767,-4295.11 6767,-4295.11 6767,-4295.11 6767,-4066.03 6767,-4015.71 6738.06,-3881.78 6699,-3850.07 6675.66,-3831.12 6245.47,-3799.73 6097.5,-3789.45"/>
<polygon fill="#f96210" stroke="black" points="6097.84,-3785.97 6087.63,-3788.77 6097.36,-3792.95 6097.84,-3785.97"/>
</g>
<!-- ahriman_models_package_description -->
<g id="node134" class="node">
<title>ahriman_models_package_description</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#bf5921" stroke="black" cx="6615" cy="-3879.06" rx="74.91" ry="28.98"/>
<text text-anchor="middle" x="6615" y="-3887.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6615" y="-3876.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="6615" y="-3865.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package_description</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_package_description -->
<g id="edge83" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_package_description</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7182.96,-4877.67C7052.31,-4873.07 6666.9,-4856.12 6630,-4815.04 6570.01,-4748.27 6604.82,-4699.23 6630,-4613.06 6635.32,-4594.84 6647.68,-4595.29 6653,-4577.06 6688.14,-4456.78 6653,-4420.42 6653,-4295.11 6653,-4295.11 6653,-4295.11 6653,-4066.03 6653,-4014.36 6638.75,-3956.23 6627.7,-3918.93"/>
<polygon fill="#f96210" stroke="black" points="6631.09,-3918.05 6624.83,-3909.5 6624.39,-3920.09 6631.09,-3918.05"/>
</g>
<!-- ahriman_models_package_source -->
<g id="node135" class="node">
<title>ahriman_models_package_source</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#e55405" stroke="black" cx="2614" cy="-3973.04" rx="62.45" ry="28.98"/>
<text text-anchor="middle" x="2614" y="-3981.54" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2614" y="-3970.54" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="2614" y="-3959.54" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package_source</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_package_source -->
<g id="edge84" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_package_source</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7182.64,-4878.92C6659.79,-4877.46 1581.11,-4862.12 1436,-4815.04 1423.57,-4811.01 1422.95,-4805.18 1412,-4798.04"/>
<path fill="none" stroke="black" d="M1412,-4796.04C1344.71,-4752.17 1336,-4712.39 1336,-4632.06 1336,-4632.06 1336,-4632.06 1336,-4453.09 1336,-4322.06 2290.14,-4059.81 2549.56,-3990.93"/>
<polygon fill="#f96210" stroke="black" points="2550.08,-3994.42 2558.85,-3988.47 2548.28,-3987.65 2550.08,-3994.42"/>
</g>
<!-- ahriman_models_remote_source -->
<g id="node138" class="node">
<title>ahriman_models_remote_source</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#bd4604" stroke="black" cx="4367" cy="-3879.06" rx="57.05" ry="28.98"/>
<text text-anchor="middle" x="4367" y="-3887.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4367" y="-3876.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="4367" y="-3865.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote_source</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_remote_source -->
<g id="edge85" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_remote_source</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7182.81,-4878.84C6723.32,-4876.71 2751.49,-4857.13 2710,-4815.04 2577.29,-4680.44 3056.94,-4232.57 3217,-4132.02 3402.54,-4015.46 4084,-3917.4 4300.51,-3888.62"/>
<polygon fill="#f96210" stroke="black" points="4300.72,-3892.12 4310.18,-3887.34 4299.8,-3885.18 4300.72,-3892.12"/>
</g>
<!-- ahriman_models_repository_paths -->
<g id="node140" class="node">
<title>ahriman_models_repository_paths</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#e55405" stroke="black" cx="3611" cy="-4714.05" rx="62.87" ry="28.98"/>
<text text-anchor="middle" x="3611" y="-4722.55" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3611" y="-4711.55" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="3611" y="-4700.55" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository_paths</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_repository_paths -->
<g id="edge86" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_repository_paths</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7182.93,-4878.84C6724.76,-4876.7 2764.37,-4857.01 2723,-4815.04 2711.77,-4803.65 2712.1,-4790.76 2723,-4779.04 2750.58,-4749.41 3327.93,-4725.41 3536.59,-4717.68"/>
<polygon fill="#f96210" stroke="black" points="3536.65,-4721.18 3546.51,-4717.32 3536.39,-4714.19 3536.65,-4721.18"/>
</g>
<!-- ahriman_models_result -->
<g id="node141" class="node">
<title>ahriman_models_result</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d14d05" stroke="black" cx="4082" cy="-2932.1" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="4082" y="-2940.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4082" y="-2929.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="4082" y="-2918.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">result</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_result -->
<g id="edge87" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_result</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1412,-4796.04C1294.7,-4714.77 1736.7,-4410.93 1855,-4331.11 2183.96,-4109.18 2367.57,-4240.18 2685,-4002.04 3049.93,-3728.25 2954.87,-3459.14 3336,-3208.39 3521.41,-3086.41 3582.13,-3077.04 3792,-3004.87 3875.23,-2976.25 3975.54,-2954.04 4033.71,-2942.31"/>
<polygon fill="#f96210" stroke="black" points="4034.16,-2945.79 4043.29,-2940.41 4032.8,-2938.93 4034.16,-2945.79"/>
</g>
<!-- ahriman_web_middlewares_auth_handler -->
<g id="node151" class="node">
<title>ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#734126" stroke="black" cx="10898" cy="-874.19" rx="52.15" ry="36.54"/>
<text text-anchor="middle" x="10898" y="-888.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10898" y="-877.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="10898" y="-866.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">middlewares.</text>
<text text-anchor="middle" x="10898" y="-855.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth_handler</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge88" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7260,-4796.04C7297.09,-4770.42 7315.09,-4783.02 7360,-4779.04 7603.61,-4757.48 11525.28,-4804.49 11762,-4743.04 11911,-4704.37 11987.45,-4709.45 12066,-4577.06 12079.15,-4554.9 12066.25,-4544.85 12066,-4519.08 12062.89,-4193.26 12052,-4111.92 12052,-3786.08 12052,-3786.08 12052,-3786.08 12052,-3361.48 12052,-3218.77 12090,-3185.35 12090,-3042.64 12090,-3042.64 12090,-3042.64 12090,-2931.1 12090,-2865.97 12107.46,-2839.76 12071,-2785.79 12052.73,-2758.75 12032.58,-2770.06 12007,-2749.79 11827.29,-2607.39 11658,-2599.14 11658,-2369.85 11658,-2369.85 11658,-2369.85 11658,-2258.31 11658,-2036.59 11578.42,-1992.82 11518,-1779.5 11441.94,-1510.94 11454.64,-1433.38 11352,-1173.82 11345.35,-1156.99 11341.11,-1153.99 11333,-1137.82 11325.11,-1122.08 11326.06,-1116.49 11316,-1102.05"/>
</g>
<!-- ahriman_web_views_base -->
<g id="node155" class="node">
<title>ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#953703" stroke="black" cx="9573" cy="-991.51" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="9573" y="-1005.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9573" y="-994.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="9573" y="-983.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="9573" y="-972.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">base</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_views_base -->
<g id="edge89" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11748,-4453.09C11716.67,-4395.2 11716.85,-4370.35 11664,-4331.11 11535.12,-4235.43 11460.72,-4298.34 11320,-4221.11 11265.75,-4191.34 11261.17,-4170.87 11213,-4132.02 10974.19,-3939.37 10326.89,-3512.98 10125,-3281.93 10059.92,-3207.45 10057.96,-3174.61 10035,-3078.41 9981.15,-2852.76 9985.08,-2792.54 9932,-2566.71 9829.27,-2129.66 9785.1,-2024.89 9651,-1596.42 9631.82,-1535.12 9571.33,-1384.81 9563,-1321.13"/>
</g>
<!-- ahriman_web_views_index -->
<g id="node156" class="node">
<title>ahriman_web_views_index</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a4528" stroke="black" cx="10245" cy="-874.19" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="10245" y="-888.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10245" y="-877.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="10245" y="-866.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="10245" y="-855.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">index</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_views_index -->
<g id="edge90" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_views_index</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11748,-4713.05C11776.88,-4680.55 11799.96,-4686.54 11822,-4649.06 11872.59,-4563.04 11866.61,-4520.7 11838,-4425.1 11654.65,-3812.39 11340.79,-3798.71 10964,-3281.93 10930.51,-3236 10914.71,-3226.72 10898,-3172.39 10878.19,-3107.97 10910.18,-2616.73 10865,-2566.71 10795.94,-2490.26 10721.75,-2587.82 10636,-2530.71 10581.66,-2494.53 10584.23,-2465.83 10559,-2405.62 10510.49,-2289.81 10504.04,-2016.3 10484,-1925.03 10444.79,-1746.43 10353.38,-1715.12 10361,-1532.43"/>
</g>
<!-- ahriman_web_views_service_search -->
<g id="node163" class="node">
<title>ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#734126" stroke="black" cx="9667" cy="-874.19" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="9667" y="-893.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9667" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="9667" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="9667" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="9667" y="-849.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">search</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_views_service_search -->
<g id="edge91" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11672,-4630.06C11646.86,-4603.95 11633.95,-4604.27 11610,-4577.06 11589.64,-4553.93 11593.4,-4541.24 11572,-4519.08 11546.86,-4493.04 11469.18,-4445.06 11439,-4425.1 11430.72,-4419.62 11295.81,-4335.7 11287,-4331.11 11028.88,-4196.78 10304.31,-4004.16 10084,-3814.07 10009.67,-3749.94 10012.33,-3713.69 9968,-3626.1 9947.65,-3585.91 9941.86,-3575.59 9930,-3532.12 9905.7,-3443.08 9692.11,-1980.98 9684,-1889.03 9676.85,-1807.97 9677.98,-1787.28 9681,-1705.96 9686.89,-1547.09 9782.42,-1143.94 9734,-992.51"/>
<path fill="none" stroke="black" d="M9734,-990.51C9724.19,-965.8 9709.7,-940.06 9696.7,-919.18"/>
<polygon fill="#f96210" stroke="black" points="9699.78,-917.51 9691.47,-910.93 9693.87,-921.25 9699.78,-917.51"/>
</g>
<!-- ahriman_web_views_status_logs -->
<g id="node166" class="node">
<title>ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#734126" stroke="black" cx="9934" cy="-874.19" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="9934" y="-893.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9934" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="9934" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="9934" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="9934" y="-849.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">logs</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge92" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11748,-4713.05C11802.17,-4653.74 11824,-4629.4 11824,-4549.07 11824,-4549.07 11824,-4549.07 11824,-4453.09 11824,-4377.04 11759.94,-4382.63 11704,-4331.11 11581.2,-4218.03 11262.89,-3947.04 11127,-3850.07 10928.63,-3708.52 10333.35,-3478.28 10189,-3281.93 10138.96,-3213.86 10048,-3102.26 10048,-2369.85 10048,-2369.85 10048,-2369.85 10048,-2258.31 10048,-2126.34 10019,-2094.77 10019,-1962.8 10019,-1962.8 10019,-1962.8 10019,-1632.19 10019,-1536.46 10093.67,-1526.38 10095,-1430.67"/>
<path fill="none" stroke="black" d="M10095,-1428.67C10081.52,-1236.18 9997.01,-1019.66 9956.12,-924.52"/>
<polygon fill="#f96210" stroke="black" points="9959.38,-923.24 9952.19,-915.45 9952.95,-926.02 9959.38,-923.24"/>
</g>
<!-- ahriman_web_views_status_package -->
<g id="node167" class="node">
<title>ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#734126" stroke="black" cx="9573" cy="-874.19" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="9573" y="-893.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9573" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="9573" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="9573" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="9573" y="-849.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_views_status_package -->
<g id="edge93" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11748,-4713.05C11781.29,-4676.6 11707.04,-4666.84 11672,-4632.06"/>
<path fill="none" stroke="black" d="M11672,-4630.06C11639.05,-4597.36 11620.39,-4603.16 11582,-4577.06 11491.14,-4515.28 11478.77,-4485.52 11387,-4425.1 11314.57,-4377.41 11295.08,-4366.72 11216,-4331.11 11128.19,-4291.58 11102.22,-4291.79 11012,-4258.11 10779.25,-4171.22 10132.65,-4014.6 9986,-3814.07 9874.74,-3661.93 9908.55,-3590.87 9867,-3407.03 9824.85,-3220.52 9748.62,-2745.94 9682,-2566.71 9598.56,-2342.23 9510.03,-2316.82 9426,-2092.56 9308.4,-1778.68 9326.28,-1685.46 9260,-1356.9 9227.79,-1197.24 9132.08,-1128.97 9221,-992.51"/>
<path fill="none" stroke="black" d="M9221,-990.51C9229.52,-975.52 9222.26,-965.15 9236,-954.74 9339.5,-876.28 9408.24,-973.52 9526,-918.74 9529.59,-917.07 9533.09,-915.02 9536.45,-912.74"/>
<polygon fill="#f96210" stroke="black" points="9538.53,-915.55 9544.34,-906.69 9534.27,-910 9538.53,-915.55"/>
</g>
<!-- ahriman_web_views_user_login -->
<g id="node171" class="node">
<title>ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#734126" stroke="black" cx="10339" cy="-874.19" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="10339" y="-893.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10339" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="10339" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="10339" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">user.</text>
<text text-anchor="middle" x="10339" y="-849.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">login</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_views_user_login -->
<g id="edge94" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11748,-4713.05C11780.01,-4672.52 11808.28,-4685.38 11845,-4649.06 11918.96,-4575.9 11976,-4559.12 11976,-4455.09 11976,-4455.09 11976,-4455.09 11976,-4359.1 11976,-3949.29 11973.29,-3839.87 11871,-3443.03 11870.38,-3440.64 11331.23,-2130.7 11330,-2128.56 11201.77,-1905.95 10626,-1468.49 10626,-1211.59 10626,-1211.59 10626,-1211.59 10626,-1100.05 10626,-980.23 10469.07,-914.66 10387.3,-888.63"/>
<polygon fill="#f96210" stroke="black" points="10388.55,-885.35 10377.97,-885.74 10386.48,-892.04 10388.55,-885.35"/>
</g>
<!-- ahriman_web_views_user_logout -->
<g id="node172" class="node">
<title>ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#734126" stroke="black" cx="9057" cy="-874.19" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="9057" y="-893.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9057" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="9057" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="9057" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">user.</text>
<text text-anchor="middle" x="9057" y="-849.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">logout</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge95" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7227.87,-4861.72C7230.96,-4842.57 7239.05,-4812.52 7260,-4798.04"/>
<path fill="none" stroke="black" d="M7260,-4796.04C7312.58,-4759.73 7245.83,-4285.01 7245,-4221.11 7234.95,-3450.34 7284,-3258 7284,-2487.17 7284,-2487.17 7284,-2487.17 7284,-1960.8 7284,-1697.84 7255,-1569.32 7450,-1392.9 7514.71,-1334.36 7578.62,-1415.8 7643,-1356.9 7667.91,-1334.1 7710.88,-1094.95 7725,-1064.28 7725.13,-1064.01 7772.74,-992.66 7773,-992.51"/>
<path fill="none" stroke="black" d="M7773,-990.51C7813.23,-961.28 7830.07,-963.57 7879,-954.74 8002.73,-932.4 8893.69,-966.49 9010,-918.74 9013.66,-917.24 9017.21,-915.31 9020.61,-913.11"/>
<polygon fill="#f96210" stroke="black" points="9022.63,-915.97 9028.55,-907.19 9018.44,-910.36 9022.63,-915.97"/>
</g>
<!-- ahriman_web_web -->
<g id="node173" class="node">
<title>ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#734126" stroke="black" cx="10517" cy="-545.57" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="10517" y="-554.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10517" y="-543.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="10517" y="-532.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_web -->
<g id="edge96" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7246.45,-4863.9C7279.72,-4840.3 7348.57,-4795.72 7415,-4779.04 7535.16,-4748.88 11751.14,-4745.82 11875,-4743.04 11959.81,-4741.15 12597.02,-4789.33 12638,-4715.05"/>
<path fill="none" stroke="black" d="M12638,-4713.05C12661.71,-4670.08 12587.6,-4678.05 12548,-4649.06 12393.08,-4535.65 12306.89,-4550.55 12203,-4389.1 12077.6,-4194.21 12090,-4111.81 12090,-3880.06 12090,-3880.06 12090,-3880.06 12090,-3361.48 12090,-3218.77 12128,-3185.35 12128,-3042.64 12128,-3042.64 12128,-3042.64 12128,-2931.1 12128,-2675.05 11998,-2625.9 11998,-2369.85 11998,-2369.85 11998,-2369.85 11998,-2156.55 11998,-1915.01 11848,-1875.73 11848,-1634.19 11848,-1634.19 11848,-1634.19 11848,-1428.67 11848,-1279.62 11772,-1251.09 11772,-1102.05 11772,-1102.05 11772,-1102.05 11772,-873.19 11772,-781.59 11716.38,-760.17 11634,-720.1 11528.44,-668.76 11205.12,-748.53 11107,-684.1 11076.25,-663.91 11099.27,-631.48 11069,-610.57 10988.25,-554.77 10687.14,-547.24 10566.98,-546.5"/>
<polygon fill="#f96210" stroke="black" points="10567.12,-543 10557.11,-546.46 10567.09,-550 10567.12,-543"/>
</g>
<!-- ahriman_core_alpm -->
<g id="node35" class="node">
<title>ahriman_core_alpm</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f96210" stroke="black" cx="6461" cy="-4067.03" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="6461" y="-4075.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="6461" y="-4064.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">core.</text>
<text text-anchor="middle" x="6461" y="-4053.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">alpm</text>
</g>
<!-- ahriman_core_alpm&#45;&gt;ahriman_application_handlers_search -->
<g id="edge97" class="edge">
<title>ahriman_core_alpm&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6499.75,-4065.52C6852.92,-4060.63 9518.34,-4017.27 10287,-3814.07 10836.42,-3668.83 11008.38,-3590.75 11393,-3172.39 11609.07,-2937.37 11962,-2172.51 11962,-1853.27 11962,-1853.27 11962,-1853.27 11962,-1530.43 11962,-1262.88 12010.05,-1189.71 12138,-954.74 12192.73,-854.22 12293.15,-871.81 12304,-757.87"/>
<path fill="none" stroke="black" d="M12304,-755.87C12304.24,-733.99 12297.33,-710.89 12289.42,-691.73"/>
<polygon fill="#f96210" stroke="black" points="12292.65,-690.39 12285.44,-682.63 12286.24,-693.19 12292.65,-690.39"/>
</g>
<!-- ahriman_core_repository_repository_properties -->
<g id="node102" class="node">
<title>ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#734126" stroke="black" cx="4047" cy="-1961.8" rx="77.15" ry="36.54"/>
<text text-anchor="middle" x="4047" y="-1975.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4047" y="-1964.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4047" y="-1953.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository.</text>
<text text-anchor="middle" x="4047" y="-1942.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository_properties</text>
</g>
<!-- ahriman_core_alpm&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge98" class="edge">
<title>ahriman_core_alpm&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6426.59,-4053.44C6411.26,-4048.16 6392.88,-4042.27 6376,-4038.04 6141.42,-3979.17 6078.44,-3984.53 5840,-3944.05 5234.33,-3841.23 5054.33,-3927.33 4476,-3720.09 4427.64,-3702.76 4420.78,-3687.29 4376,-3662.1 4346.88,-3645.72 4337.44,-3645.18 4310,-3626.1 4188.15,-3541.39 4130.9,-3536.3 4058,-3407.03 3965.42,-3242.85 3933.11,-2754.93 3943,-2566.71 3947.78,-2475.63 3916.1,-2217.14 3986,-2158.55"/>
</g>
<!-- ahriman_core_alpm&#45;&gt;ahriman_models_package -->
<g id="edge99" class="edge">
<title>ahriman_core_alpm&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6432.73,-4047.16C6407.3,-4029.59 6369.51,-4001.98 6340,-3974.04"/>
</g>
<!-- ahriman_core_alpm&#45;&gt;ahriman_models_remote_source -->
<g id="edge100" class="edge">
<title>ahriman_core_alpm&#45;&gt;ahriman_models_remote_source</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6427.18,-4052.82C6411.79,-4047.35 6393.21,-4041.49 6376,-4038.04 6327.25,-4028.24 4779.69,-3911.18 4434.72,-3885.16"/>
<polygon fill="#f96210" stroke="black" points="4435.18,-3881.69 4424.94,-3884.43 4434.65,-3888.67 4435.18,-3881.69"/>
</g>
<!-- ahriman_core_alpm&#45;&gt;ahriman_web_views_service_search -->
<g id="edge101" class="edge">
<title>ahriman_core_alpm&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6496.29,-4054.68C6651.39,-4004.18 7286.22,-3790.95 7768,-3532.12 8311.91,-3239.91 8625.94,-3294.85 8916,-2749.79 8954.23,-2677.96 8871.07,-2633.88 8917,-2566.71 8941.55,-2530.81 8972.66,-2556.07 9008,-2530.71 9067.21,-2488.24 9081.98,-2471.08 9114,-2405.62 9260.44,-2106.27 9209.5,-1999.51 9259,-1669.96 9304.01,-1370.34 9203.6,-1265.51 9335,-992.51"/>
<path fill="none" stroke="black" d="M9335,-990.51C9343.59,-973.12 9343.46,-964.86 9360,-954.74 9459.5,-893.84 9514.57,-968.69 9620,-918.74 9623.58,-917.04 9627.07,-914.98 9630.43,-912.68"/>
<polygon fill="#f96210" stroke="black" points="9632.52,-915.49 9638.31,-906.62 9628.25,-909.94 9632.52,-915.49"/>
</g>
<!-- ahriman_core_alpm_pacman -->
<g id="node36" class="node">
<title>ahriman_core_alpm_pacman</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#bd4604" stroke="black" cx="7702" cy="-2611.26" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="7702" y="-2625.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7702" y="-2614.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="7702" y="-2603.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="7702" y="-2592.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pacman</text>
</g>
<!-- ahriman_core_alpm_remote_aur -->
<g id="node38" class="node">
<title>ahriman_core_alpm_remote_aur</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a4528" stroke="black" cx="7498" cy="-4176.57" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="7498" y="-4196.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7498" y="-4185.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="7498" y="-4174.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="7498" y="-4163.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote.</text>
<text text-anchor="middle" x="7498" y="-4152.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">aur</text>
</g>
<!-- ahriman_core_alpm_pacman&#45;&gt;ahriman_core_alpm_remote_aur -->
<g id="edge102" class="edge">
<title>ahriman_core_alpm_pacman&#45;&gt;ahriman_core_alpm_remote_aur</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7697.16,-2647.93C7690.07,-2701.53 7676.95,-2806.08 7670,-2895.33 7645.81,-3206.13 7640,-3284.37 7640,-3596.11 7640,-3974.04 7640,-3974.04 7640,-3974.04 7640,-4044.77 7580.83,-4108.15 7538.88,-4144.21"/>
<polygon fill="#bd4604" stroke="black" points="7536.79,-4141.4 7531.38,-4150.51 7541.29,-4146.76 7536.79,-4141.4"/>
</g>
<!-- ahriman_core_alpm_remote_official -->
<g id="node39" class="node">
<title>ahriman_core_alpm_remote_official</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a4528" stroke="black" cx="8498" cy="-2486.17" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="8498" y="-2505.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8498" y="-2494.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8498" y="-2483.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="8498" y="-2472.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote.</text>
<text text-anchor="middle" x="8498" y="-2461.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">official</text>
</g>
<!-- ahriman_core_alpm_pacman&#45;&gt;ahriman_core_alpm_remote_official -->
<g id="edge103" class="edge">
<title>ahriman_core_alpm_pacman&#45;&gt;ahriman_core_alpm_remote_official</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7740.72,-2608.87C7845.14,-2604.46 8140.7,-2587.49 8379,-2530.71 8403.44,-2524.89 8429.76,-2515.6 8451.41,-2507.09"/>
<polygon fill="#bd4604" stroke="black" points="8452.57,-2510.39 8460.55,-2503.42 8449.97,-2503.89 8452.57,-2510.39"/>
</g>
<!-- ahriman_core_alpm_remote_official_syncdb -->
<g id="node40" class="node">
<title>ahriman_core_alpm_remote_official_syncdb</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4e2e" stroke="black" cx="7711" cy="-2486.17" rx="56.64" ry="44.6"/>
<text text-anchor="middle" x="7711" y="-2505.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7711" y="-2494.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="7711" y="-2483.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="7711" y="-2472.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote.</text>
<text text-anchor="middle" x="7711" y="-2461.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">official_syncdb</text>
</g>
<!-- ahriman_core_alpm_pacman&#45;&gt;ahriman_core_alpm_remote_official_syncdb -->
<g id="edge104" class="edge">
<title>ahriman_core_alpm_pacman&#45;&gt;ahriman_core_alpm_remote_official_syncdb</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7704.63,-2574.33C7705.37,-2564.21 7706.19,-2552.98 7706.99,-2542.03"/>
<polygon fill="#bd4604" stroke="black" points="7710.46,-2542.52 7707.7,-2532.29 7703.48,-2542.01 7710.46,-2542.52"/>
</g>
<!-- ahriman_core_alpm_remote_remote -->
<g id="node41" class="node">
<title>ahriman_core_alpm_remote_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#915230" stroke="black" cx="7824" cy="-2486.17" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="7824" y="-2505.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7824" y="-2494.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="7824" y="-2483.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="7824" y="-2472.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote.</text>
<text text-anchor="middle" x="7824" y="-2461.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote</text>
</g>
<!-- ahriman_core_alpm_pacman&#45;&gt;ahriman_core_alpm_remote_remote -->
<g id="edge105" class="edge">
<title>ahriman_core_alpm_pacman&#45;&gt;ahriman_core_alpm_remote_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7727.87,-2584.16C7745.13,-2566.74 7768.08,-2543.59 7787.23,-2524.27"/>
<polygon fill="#bd4604" stroke="black" points="7789.56,-2526.89 7794.11,-2517.32 7784.58,-2521.96 7789.56,-2526.89"/>
</g>
<!-- ahriman_core_alpm_pacman&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge106" class="edge">
<title>ahriman_core_alpm_pacman&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7674.76,-2585.1C7595.01,-2513.2 7352.24,-2306.6 7108,-2222.54 6536.43,-2025.82 4577.12,-1973.83 4135.78,-1964.5"/>
<polygon fill="#bd4604" stroke="black" points="4135.99,-1961.01 4125.91,-1964.3 4135.84,-1968.01 4135.99,-1961.01"/>
</g>
<!-- ahriman_core_alpm_pacman&#45;&gt;ahriman_models_package -->
<g id="edge107" class="edge">
<title>ahriman_core_alpm_pacman&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7681.08,-2642.3C7671.21,-2656.96 7659.53,-2675.02 7650,-2691.81 7620.69,-2743.47 7455.44,-3127.99 7416,-3172.39 7396.35,-3194.51 7382.6,-3189.29 7360,-3208.39 7326.23,-3236.93 7331.69,-3260.52 7293,-3281.93 7214.36,-3325.45 7179.89,-3291.45 7094,-3317.93 7001.01,-3346.6 6987.89,-3381.45 6894,-3407.03 6756.76,-3444.4 6697.7,-3369.4 6576,-3443.03 6491.92,-3493.9 6518.45,-3553.7 6452,-3626.1 6407.13,-3674.99 6396.76,-3693.43 6336,-3720.09 6235.21,-3764.3 6193.95,-3717.16 6091,-3756.09 6088.94,-3756.87 6086.87,-3757.76 6084.82,-3758.73"/>
<polygon fill="#bd4604" stroke="black" points="6083.27,-3755.59 6076.14,-3763.42 6086.6,-3761.75 6083.27,-3755.59"/>
</g>
<!-- ahriman_core_alpm_remote -->
<g id="node37" class="node">
<title>ahriman_core_alpm_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b34204" stroke="black" cx="8086" cy="-4176.57" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="8086" y="-4190.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8086" y="-4179.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8086" y="-4168.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="8086" y="-4157.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote</text>
</g>
<!-- ahriman_core_alpm_remote&#45;&gt;ahriman_application_handlers_search -->
<g id="edge108" class="edge">
<title>ahriman_core_alpm_remote&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8117.13,-4155.13C8167.18,-4123.5 8269.7,-4063.66 8366,-4038.04 8609.16,-3973.32 8680.15,-4021.74 8931,-4002.04 9154.84,-3984.45 9714.86,-3940.69 9937,-3908.05 10146.47,-3877.28 10198.97,-3866.87 10404,-3814.07 10538.49,-3779.44 10572.27,-3769.65 10702,-3720.09 10875.04,-3653.98 10922.64,-3638.91 11074,-3532.12 11160.48,-3471.11 11661.55,-3060.14 11722,-2968.87 11769.28,-2897.48 11746.88,-2863.88 11782,-2785.79 11885.38,-2555.92 11994.66,-2537.22 12068,-2296.08 12116.08,-2138 12075.52,-2089.53 12091,-1925.03 12111.37,-1708.64 12112.28,-1146.81 12214,-954.74 12238.98,-907.56 12295.12,-927.83 12304,-875.19"/>
<path fill="none" stroke="black" d="M12304,-873.19C12310.19,-822.32 12303.44,-809.12 12304,-757.87"/>
</g>
<!-- ahriman_core_alpm_remote&#45;&gt;ahriman_models_package -->
<g id="edge109" class="edge">
<title>ahriman_core_alpm_remote&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8047.5,-4171.54C7962.75,-4162.84 7753.63,-4142.25 7578,-4132.02 7513.41,-4128.25 6470.69,-4127.19 6414,-4096.02 6400.82,-4088.77 6407.75,-4076 6395,-4068.03"/>
</g>
<!-- ahriman_core_alpm_remote&#45;&gt;ahriman_models_remote_source -->
<g id="edge110" class="edge">
<title>ahriman_core_alpm_remote&#45;&gt;ahriman_models_remote_source</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8047.67,-4171.8C7959.21,-4163.26 7733.88,-4142.35 7545,-4132.02 6994.04,-4101.87 6854.86,-4128.04 6304,-4096.02 5824.77,-4068.16 5704.93,-4056.61 5228,-4002.04 4930.08,-3967.95 4576.16,-3913.33 4432.47,-3890.56"/>
<polygon fill="#b34204" stroke="black" points="4433.19,-3887.13 4422.76,-3889.02 4432.09,-3894.04 4433.19,-3887.13"/>
</g>
<!-- ahriman_core_alpm_remote&#45;&gt;ahriman_web_views_service_search -->
<g id="edge111" class="edge">
<title>ahriman_core_alpm_remote&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8097.12,-4141.54C8144.37,-3998.55 8331.83,-3447.67 8457,-3317.93 8681.87,-3084.87 8813.35,-3122.74 9115,-3004.87 9165.28,-2985.22 9193.98,-3008.15 9231,-2968.87 9287.41,-2909.01 9263.92,-2867.83 9258,-2785.79 9231.41,-2417.55 9145,-2332.01 9145,-1962.8 9145,-1962.8 9145,-1962.8 9145,-1428.67 9145,-1203.98 9142.72,-1091.49 9321,-954.74 9427.2,-873.28 9498.54,-974.97 9620,-918.74 9623.59,-917.08 9627.09,-915.04 9630.46,-912.75"/>
<polygon fill="#b34204" stroke="black" points="9632.54,-915.57 9638.35,-906.71 9628.28,-910.01 9632.54,-915.57"/>
</g>
<!-- ahriman_core_alpm_remote_aur&#45;&gt;ahriman_core_alpm_remote -->
<g id="edge112" class="edge">
<title>ahriman_core_alpm_remote_aur&#45;&gt;ahriman_core_alpm_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7536.76,-4176.57C7703.14,-4176.57 7869.53,-4176.57 8035.91,-4176.57"/>
<polygon fill="#7a4528" stroke="black" points="8035.87,-4180.07 8045.87,-4176.57 8035.87,-4173.07 8035.87,-4180.07"/>
</g>
<!-- ahriman_core_alpm_remote_official&#45;&gt;ahriman_core_alpm_remote -->
<g id="edge113" class="edge">
<title>ahriman_core_alpm_remote_official&#45;&gt;ahriman_core_alpm_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8487.6,-2529.24C8472.27,-2584.58 8439.31,-2682.66 8384,-2749.79 8264.3,-2895.08 8036.45,-2853.88 8062.05,-3029.33"/>
<polygon fill="#7a4528" stroke="black" points="8058.6,-3029.89 8063.74,-3039.15 8065.5,-3028.7 8058.6,-3029.89"/>
</g>
<!-- ahriman_core_alpm_remote_official_syncdb&#45;&gt;ahriman_core_alpm_remote -->
<g id="edge114" class="edge">
<title>ahriman_core_alpm_remote_official_syncdb&#45;&gt;ahriman_core_alpm_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7750.16,-2518.37C7765,-2531.9 7780.97,-2548.74 7792,-2566.71 7836.66,-2639.45 7794.56,-2684.89 7850,-2749.79 7873.24,-2776.99 7899.64,-2757.87 7922,-2785.79 7927.84,-2793.08 8072.2,-3386.48 8093.42,-3475.55"/>
<polygon fill="#8a4e2e" stroke="black" points="8089.97,-3476.16 8095.66,-3485.1 8096.79,-3474.57 8089.97,-3476.16"/>
<path fill="none" stroke="black" d="M8096,-3488.57C8111.07,-3576.86 8096,-3600.53 8096,-3690.1 8096,-3974.04 8096,-3974.04 8096,-3974.04 8096,-4032.19 8091.8,-4099.66 8088.84,-4139.92"/>
</g>
<!-- ahriman_core_alpm_remote_remote&#45;&gt;ahriman_core_alpm_remote -->
<g id="edge115" class="edge">
<title>ahriman_core_alpm_remote_remote&#45;&gt;ahriman_core_alpm_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7828.14,-2530.97C7835.13,-2596.7 7851.22,-2716.67 7878,-2749.79 7903.03,-2780.74 7933.85,-2755.79 7960,-2785.79 8015.58,-2849.56 7975.06,-2892.77 8012,-2968.87 8027.39,-3000.57 8049.8,-3002.26 8060.67,-3029.75"/>
<polygon fill="#915230" stroke="black" points="8057.28,-3030.65 8063.56,-3039.19 8063.98,-3028.61 8057.28,-3030.65"/>
<path fill="none" stroke="black" d="M8064,-3042.64C8096.87,-3237.7 8066.94,-3290.9 8096,-3486.57"/>
</g>
<!-- ahriman_core_alpm_repo -->
<g id="node42" class="node">
<title>ahriman_core_alpm_repo</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#915230" stroke="black" cx="3213" cy="-2611.26" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="3213" y="-2625.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3213" y="-2614.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="3213" y="-2603.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="3213" y="-2592.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repo</text>
</g>
<!-- ahriman_core_alpm_repo&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge116" class="edge">
<title>ahriman_core_alpm_repo&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3203.61,-2575.55C3190.22,-2517.66 3173.31,-2401 3232,-2332.08 3277.85,-2278.23 3329.05,-2336.61 3387,-2296.08 3418.98,-2273.71 3410.24,-2252.71 3435,-2222.54 3472.88,-2176.38 3479.87,-2159.4 3531,-2128.56 3670.48,-2044.42 3857.29,-1998.27 3963.63,-1977.22"/>
<polygon fill="#915230" stroke="black" points="3963.98,-1980.71 3973.13,-1975.36 3962.64,-1973.84 3963.98,-1980.71"/>
</g>
<!-- ahriman_core_auth -->
<g id="node43" class="node">
<title>ahriman_core_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c74905" stroke="black" cx="10589" cy="-1852.27" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="10589" y="-1860.77" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10589" y="-1849.77" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="10589" y="-1838.77" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth</text>
</g>
<!-- ahriman_core_auth&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge117" class="edge">
<title>ahriman_core_auth&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10604.69,-1825.42C10642.02,-1765.05 10740.89,-1611.64 10846,-1502.43 10881.48,-1465.57 10906.87,-1472.72 10936,-1430.67"/>
</g>
<!-- ahriman_core_auth&#45;&gt;ahriman_web_views_base -->
<g id="edge118" class="edge">
<title>ahriman_core_auth&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10565.54,-1829.05C10546.05,-1808.9 10519.68,-1777.28 10508,-1743.73"/>
<path fill="none" stroke="black" d="M10508,-1741.73C10469.82,-1632.07 9786.98,-1143.76 9613.05,-1020.73"/>
<polygon fill="#c74905" stroke="black" points="9615.16,-1017.93 9604.97,-1015.02 9611.12,-1023.65 9615.16,-1017.93"/>
</g>
<!-- ahriman_core_auth&#45;&gt;ahriman_web_views_index -->
<g id="edge119" class="edge">
<title>ahriman_core_auth&#45;&gt;ahriman_web_views_index</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10508,-1741.73C10489.22,-1650.59 10530.92,-1623.73 10513,-1532.43"/>
<path fill="none" stroke="black" d="M10513,-1530.43C10505.08,-1492.08 10378.83,-1247.39 10363,-1211.59"/>
</g>
<!-- ahriman_core_auth&#45;&gt;ahriman_web_views_user_login -->
<g id="edge120" class="edge">
<title>ahriman_core_auth&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10513,-1530.43C10502.1,-1460.3 10452.43,-1268.37 10495,-1211.59"/>
</g>
<!-- ahriman_core_auth&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge121" class="edge">
<title>ahriman_core_auth&#45;&gt;ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10551.49,-1844.56C10481.42,-1831.99 10325.88,-1803.98 10195,-1779.5 10163.28,-1773.56 9084.92,-1569.66 9054,-1560.42 8826.89,-1492.5 8708.48,-1542.48 8561,-1356.9 8520.28,-1305.65 8589.8,-1250.27 8537,-1211.59"/>
<path fill="none" stroke="black" d="M8537,-1209.59C8412.71,-1123.79 7829.78,-1129.66 7893,-992.51"/>
</g>
<!-- ahriman_core_auth&#45;&gt;ahriman_web_web -->
<g id="edge122" class="edge">
<title>ahriman_core_auth&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10508,-1741.73C10495.86,-1681.94 10593.4,-1722.14 10625,-1669.96 10756.07,-1453.55 10664,-1355.05 10664,-1102.05 10664,-1102.05 10664,-1102.05 10664,-990.51 10664,-918.52 10646.29,-891.57 10683,-829.64 10753.92,-710.02 10969.02,-783.89 10938,-648.34"/>
<path fill="none" stroke="black" d="M10938,-646.34C10908.09,-578.03 10671.31,-555.67 10566.56,-549.07"/>
<polygon fill="#c74905" stroke="black" points="10567.06,-545.59 10556.87,-548.49 10566.64,-552.58 10567.06,-545.59"/>
</g>
<!-- ahriman_core_auth_auth -->
<g id="node44" class="node">
<title>ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#824a2b" stroke="black" cx="10416" cy="-1961.8" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="10416" y="-1975.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10416" y="-1964.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="10416" y="-1953.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth.</text>
<text text-anchor="middle" x="10416" y="-1942.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth</text>
</g>
<!-- ahriman_core_auth_auth&#45;&gt;ahriman_core_auth -->
<g id="edge123" class="edge">
<title>ahriman_core_auth_auth&#45;&gt;ahriman_core_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10447.73,-1941.08C10476.6,-1923.13 10519.3,-1896.59 10550.19,-1877.39"/>
<polygon fill="#824a2b" stroke="black" points="10551.84,-1880.48 10558.49,-1872.23 10548.15,-1874.54 10551.84,-1880.48"/>
</g>
<!-- ahriman_core_auth_helpers -->
<g id="node45" class="node">
<title>ahriman_core_auth_helpers</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d96526" stroke="black" cx="10429" cy="-1210.59" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="10429" y="-1224.59" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="10429" y="-1213.59" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">core.</text>
<text text-anchor="middle" x="10429" y="-1202.59" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">auth.</text>
<text text-anchor="middle" x="10429" y="-1191.59" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">helpers</text>
</g>
<!-- ahriman_core_auth_helpers&#45;&gt;ahriman_web_views_index -->
<g id="edge124" class="edge">
<title>ahriman_core_auth_helpers&#45;&gt;ahriman_web_views_index</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10410.97,-1177.78C10388.77,-1136.58 10352.37,-1061.81 10339,-992.51"/>
<path fill="none" stroke="black" d="M10339,-990.51C10332.57,-972.63 10302.5,-937.23 10278.08,-910.35"/>
<polygon fill="#d96526" stroke="black" points="10280.74,-908.07 10271.41,-903.06 10275.58,-912.8 10280.74,-908.07"/>
</g>
<!-- ahriman_core_auth_helpers&#45;&gt;ahriman_web_views_user_login -->
<g id="edge125" class="edge">
<title>ahriman_core_auth_helpers&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10339,-990.51C10335.25,-971.04 10334.4,-949.39 10334.77,-930.14"/>
<polygon fill="#d96526" stroke="black" points="10338.26,-930.44 10335.08,-920.34 10331.26,-930.22 10338.26,-930.44"/>
</g>
<!-- ahriman_core_auth_helpers&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge126" class="edge">
<title>ahriman_core_auth_helpers&#45;&gt;ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10390.47,-1208.01C10166.2,-1198.42 9035.75,-1144.52 8941,-1028.28 8920.35,-1002.94 8924.06,-982.69 8941,-954.74 8958.93,-925.16 8981.73,-938.67 9010,-918.74 9013.19,-916.49 9016.38,-914.04 9019.53,-911.49"/>
<polygon fill="#d96526" stroke="black" points="9021.7,-914.24 9027.04,-905.08 9017.16,-908.91 9021.7,-914.24"/>
</g>
<!-- ahriman_core_auth_mapping -->
<g id="node46" class="node">
<title>ahriman_core_auth_mapping</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#824a2b" stroke="black" cx="10683" cy="-1961.8" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="10683" y="-1975.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10683" y="-1964.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="10683" y="-1953.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth.</text>
<text text-anchor="middle" x="10683" y="-1942.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">mapping</text>
</g>
<!-- ahriman_core_auth_mapping&#45;&gt;ahriman_core_auth -->
<g id="edge127" class="edge">
<title>ahriman_core_auth_mapping&#45;&gt;ahriman_core_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10658.79,-1933.11C10646.06,-1918.54 10630.38,-1900.61 10617.11,-1885.43"/>
<polygon fill="#824a2b" stroke="black" points="10619.83,-1883.22 10610.62,-1878 10614.56,-1887.83 10619.83,-1883.22"/>
</g>
<!-- ahriman_core_auth_oauth -->
<g id="node47" class="node">
<title>ahriman_core_auth_oauth</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#824a2b" stroke="black" cx="10589" cy="-1961.8" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="10589" y="-1975.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10589" y="-1964.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="10589" y="-1953.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth.</text>
<text text-anchor="middle" x="10589" y="-1942.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">oauth</text>
</g>
<!-- ahriman_core_auth_oauth&#45;&gt;ahriman_core_auth -->
<g id="edge128" class="edge">
<title>ahriman_core_auth_oauth&#45;&gt;ahriman_core_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10589,-1925C10589,-1914.7 10589,-1903.4 10589,-1892.89"/>
<polygon fill="#824a2b" stroke="black" points="10592.5,-1892.95 10589,-1882.95 10585.5,-1892.95 10592.5,-1892.95"/>
</g>
<!-- ahriman_core_build_tools -->
<g id="node48" class="node">
<title>ahriman_core_build_tools</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f96210" stroke="black" cx="2322" cy="-3973.04" rx="44.6" ry="28.98"/>
<text text-anchor="middle" x="2322" y="-3981.54" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="2322" y="-3970.54" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">core.</text>
<text text-anchor="middle" x="2322" y="-3959.54" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">build_tools</text>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge129" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2285.07,-3956.17C2136.15,-3890.81 1570.45,-3629.57 1208,-3281.93 1080.51,-3159.65 946.23,-2827.34 922,-2749.79 861.23,-2555.29 870.71,-2499.32 856,-2296.08 843.67,-2125.65 874.15,-1687.46 946,-1532.43"/>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge130" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2298.64,-3947.92C2258.82,-3907.15 2174.75,-3822.56 2099,-3756.09 1978.7,-3650.52 1920.26,-3654.41 1817,-3532.12 1787.85,-3497.59 1800.91,-3474 1768,-3443.03 1740.78,-3417.41 1724.5,-3425.48 1692,-3407.03 1630.13,-3371.9 1618.64,-3356.73 1559,-3317.93 1533.88,-3301.59 1522.25,-3304.01 1502,-3281.93 1477.13,-3254.82 1485.01,-3238.6 1464,-3208.39 1381.81,-3090.22 1337.19,-3080.24 1246,-2968.87 1092.9,-2781.88 999.3,-2760.35 924,-2530.71 884.13,-2409.13 985.21,-2186.86 1008,-2128.56 1175.54,-1699.93 1436.15,-1668.75 1489,-1211.59"/>
<path fill="none" stroke="black" d="M1489,-1209.59C1489.09,-1189.78 1488.25,-1167.93 1487.23,-1149.14"/>
<polygon fill="#f96210" stroke="black" points="1490.74,-1149.17 1486.67,-1139.39 1483.75,-1149.57 1490.74,-1149.17"/>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge131" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2365.05,-3965.09C2409.48,-3958.27 2480.88,-3948.3 2543,-3944.05 3308.59,-3891.75 5230.13,-3956.14 5996,-3908.05 6220.15,-3893.98 6273.84,-3864.07 6498,-3850.07 6703.28,-3837.25 9998.96,-3857.47 10200,-3814.07 10301.14,-3792.23 10320.78,-3767.01 10413,-3720.09 10730.38,-3558.6 10789.6,-3481.33 11106,-3317.93 11140.28,-3300.23 11152.65,-3302.96 11185,-3281.93 11226.32,-3255.07 11226.05,-3234.27 11268,-3208.39 11304.67,-3185.77 11324.82,-3199.87 11358,-3172.39 11396.17,-3140.79 11394.73,-3122.16 11418,-3078.41 11456.27,-3006.46 11684.61,-2483.05 11710,-2405.62 11819.59,-2071.46 11886,-1985.86 11886,-1634.19 11886,-1634.19 11886,-1634.19 11886,-1319.13 11886,-1194.12 11942.96,-839.17 11848,-757.87"/>
<path fill="none" stroke="black" d="M11848,-755.87C11822.23,-737.22 11816.21,-730.08 11786,-720.1 11681.78,-685.68 11355.28,-660.96 11221.28,-652.01"/>
<polygon fill="#f96210" stroke="black" points="11221.78,-648.54 11211.57,-651.37 11221.32,-655.53 11221.78,-648.54"/>
</g>
<!-- ahriman_core_gitremote_remote_pull -->
<g id="node81" class="node">
<title>ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#734126" stroke="black" cx="2979" cy="-2368.85" rx="47.25" ry="36.54"/>
<text text-anchor="middle" x="2979" y="-2382.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2979" y="-2371.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="2979" y="-2360.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">gitremote.</text>
<text text-anchor="middle" x="2979" y="-2349.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote_pull</text>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge132" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2322,-3878.06C2308.55,-3839.45 2329.44,-3826.28 2322,-3786.08"/>
<path fill="none" stroke="black" d="M2322,-3784.08C2315.44,-3748.59 2285.74,-3753.46 2272,-3720.09 2244.67,-3653.7 2200.23,-3150.08 2196,-3078.41 2188.34,-2948.58 2125.27,-2894.93 2196,-2785.79 2251.61,-2699.98 2306.88,-2716.93 2406,-2691.81 2508.61,-2665.8 2794.69,-2717.1 2881,-2655.81 2898.22,-2643.58 2887.38,-2629.19 2900,-2612.26"/>
<path fill="none" stroke="black" d="M2900,-2610.26C2932.65,-2566.35 2878.53,-2536.59 2902,-2487.17"/>
</g>
<!-- ahriman_core_gitremote_remote_push -->
<g id="node83" class="node">
<title>ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#734126" stroke="black" cx="3293" cy="-2368.85" rx="51.74" ry="36.54"/>
<text text-anchor="middle" x="3293" y="-2382.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3293" y="-2371.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="3293" y="-2360.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">gitremote.</text>
<text text-anchor="middle" x="3293" y="-2349.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote_push</text>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge133" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2322,-3784.08C2292.51,-3578.29 2457.47,-3032.13 2614,-2895.33 2680.27,-2837.41 2914.03,-2789.72 2970,-2721.8"/>
<path fill="none" stroke="black" d="M2970,-2719.8C3065.35,-2599 3192.81,-2468.85 3255.27,-2406.82"/>
<polygon fill="#f96210" stroke="black" points="3257.57,-2409.47 3262.21,-2399.95 3252.64,-2404.5 3257.57,-2409.47"/>
</g>
<!-- ahriman_core_repository_executor -->
<g id="node100" class="node">
<title>ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#734126" stroke="black" cx="3794" cy="-1742.73" rx="43.68" ry="36.54"/>
<text text-anchor="middle" x="3794" y="-1756.73" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3794" y="-1745.73" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="3794" y="-1734.73" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository.</text>
<text text-anchor="middle" x="3794" y="-1723.73" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">executor</text>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_core_repository_executor -->
<g id="edge134" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2134,-3690.1C2101.1,-3645.71 2128.28,-3620.26 2110,-3568.12 2010.67,-3284.76 1869.38,-3260.53 1798,-2968.87 1768.73,-2849.26 1773.9,-2812.57 1798,-2691.81 1821.91,-2571.98 1833.4,-2535.18 1912,-2441.62 1983.03,-2357.06 2630.81,-1927.02 2713,-1853.27"/>
<path fill="none" stroke="black" d="M2713,-1851.27C2784.66,-1780.35 2836.92,-1827.66 2937,-1815.5 3093.59,-1796.46 3575.55,-1759.95 3739.07,-1747.79"/>
<polygon fill="#f96210" stroke="black" points="3739.06,-1751.3 3748.77,-1747.06 3738.54,-1744.31 3739.06,-1751.3"/>
</g>
<!-- ahriman_core_repository_update_handler -->
<g id="node103" class="node">
<title>ahriman_core_repository_update_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#824a2b" stroke="black" cx="3953" cy="-1742.73" rx="58.88" ry="36.54"/>
<text text-anchor="middle" x="3953" y="-1756.73" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3953" y="-1745.73" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="3953" y="-1734.73" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository.</text>
<text text-anchor="middle" x="3953" y="-1723.73" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">update_handler</text>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_core_repository_update_handler -->
<g id="edge135" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_core_repository_update_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2349.41,-3949.74C2461.2,-3858.32 2891.92,-3501.46 3212,-3172.39 3339.31,-3041.51 3369.54,-3006.21 3478,-2859.33 3505.43,-2822.18 3922.53,-2204.66 3925,-2158.55"/>
<path fill="none" stroke="black" d="M3925,-2156.55C3925.54,-2004.97 3893.19,-1964.12 3923,-1815.5 3924.81,-1806.46 3927.79,-1797.14 3931.19,-1788.33"/>
<polygon fill="#f96210" stroke="black" points="3934.34,-1789.87 3934.9,-1779.29 3927.86,-1787.21 3934.34,-1789.87"/>
</g>
<!-- ahriman_core_tree -->
<g id="node111" class="node">
<title>ahriman_core_tree</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4e2e" stroke="black" cx="1316" cy="-2063.57" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="1316" y="-2072.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1316" y="-2061.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="1316" y="-2050.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">tree</text>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_core_tree -->
<g id="edge136" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_core_tree</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2326.71,-3943.88C2328.7,-3925.25 2329.14,-3900.57 2322,-3880.06"/>
<path fill="none" stroke="black" d="M2322,-3878.06C2283.35,-3767.07 2178.55,-3800.85 2134,-3692.1"/>
<path fill="none" stroke="black" d="M2134,-3690.1C2088.63,-3621.96 2059.64,-3619.6 1996,-3568.12 1902.33,-3492.36 1868.59,-3486.44 1778,-3407.03 1736.61,-3370.75 1739.6,-3345.55 1692,-3317.93 1635.68,-3285.26 1602.97,-3319.78 1550,-3281.93 1518.24,-3259.24 1524.67,-3240.16 1502,-3208.39 1490.23,-3191.89 1483.49,-3190.3 1474,-3172.39 1365.49,-2967.64 1088.25,-2341.87 1230,-2158.55"/>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_models_package -->
<g id="edge137" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2365.54,-3965.91C2410.06,-3959.78 2481.25,-3950.39 2543,-3944.05 3073.41,-3889.65 3206.56,-3878.35 3739,-3850.07 4644.72,-3801.96 5752.33,-3788.91 5998.15,-3786.52"/>
<polygon fill="#f96210" stroke="black" points="5998.05,-3790.02 6008.02,-3786.43 5997.98,-3783.02 5998.05,-3790.02"/>
</g>
<!-- ahriman_core_build_tools_sources -->
<g id="node49" class="node">
<title>ahriman_core_build_tools_sources</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a93e04" stroke="black" cx="2825" cy="-2611.26" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="2825" y="-2625.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2825" y="-2614.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="2825" y="-2603.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">build_tools.</text>
<text text-anchor="middle" x="2825" y="-2592.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">sources</text>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge138" class="edge">
<title>ahriman_core_build_tools_sources&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2826,-2367.85C2837.68,-2310.5 2894.35,-2318.33 2902,-2260.31"/>
<path fill="none" stroke="black" d="M2902,-2258.31C2909.29,-2203.05 2854.64,-2206.37 2826,-2158.55"/>
<path fill="none" stroke="black" d="M2826,-2156.55C2810.62,-2130.87 2812.82,-2121.45 2805,-2092.56 2785.1,-2019.05 2822.2,-1979.52 2769,-1925.03 2721.1,-1875.98 2683.17,-1913.18 2619,-1889.03 2455.43,-1827.48 2428.3,-1782.1 2271,-1705.96 1783.08,-1469.77 1598.6,-1524.57 1156,-1211.59"/>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge139" class="edge">
<title>ahriman_core_build_tools_sources&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2826,-2156.55C2775.24,-2066.41 2866.15,-2006.19 2802,-1925.03 2771.93,-1886.99 2737.09,-1919.05 2699,-1889.03 2447.54,-1690.85 2553.71,-1489.81 2309,-1283.36 2214.1,-1203.29 2171.85,-1206.25 2052,-1173.82 1887.12,-1129.2 1687.65,-1112.14 1574.33,-1105.75"/>
<polygon fill="#a93e04" stroke="black" points="1574.65,-1102.26 1564.47,-1105.21 1574.27,-1109.25 1574.65,-1102.26"/>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge140" class="edge">
<title>ahriman_core_build_tools_sources&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2870.89,-2602.66C2936.21,-2592.24 3059.87,-2573.99 3166,-2566.71 3978.36,-2511.04 6017.17,-2579.02 6830,-2530.71 7193.74,-2509.1 7281.28,-2463.6 7645,-2441.62 7729.41,-2436.52 10616.66,-2449.41 10689,-2405.62 10733.32,-2378.78 11591.02,-801.45 11563,-757.87"/>
<path fill="none" stroke="black" d="M11563,-755.87C11548.99,-735.34 11542.43,-730.83 11520,-720.1 11421.88,-673.17 11294.4,-656.91 11221.34,-651.29"/>
<polygon fill="#a93e04" stroke="black" points="11221.83,-647.81 11211.61,-650.58 11221.33,-654.8 11221.83,-647.81"/>
</g>
<!-- ahriman_core_build_tools_task -->
<g id="node50" class="node">
<title>ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#734126" stroke="black" cx="2713" cy="-1961.8" rx="46.84" ry="36.54"/>
<text text-anchor="middle" x="2713" y="-1975.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2713" y="-1964.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="2713" y="-1953.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">build_tools.</text>
<text text-anchor="middle" x="2713" y="-1942.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">task</text>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge141" class="edge">
<title>ahriman_core_build_tools_sources&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2821.56,-2574.51C2817.83,-2527.28 2813.9,-2441.67 2826,-2369.85"/>
<path fill="none" stroke="black" d="M2826,-2367.85C2835.54,-2321.02 2844.68,-2304.3 2826,-2260.31"/>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge142" class="edge">
<title>ahriman_core_build_tools_sources&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2847.55,-2578.77C2864.17,-2554.56 2886.48,-2519.84 2902,-2487.17"/>
<path fill="none" stroke="black" d="M2902,-2485.17C2911.48,-2465.2 2914.08,-2460.22 2926,-2441.62 2932.78,-2431.03 2940.59,-2419.95 2948.09,-2409.74"/>
<polygon fill="#a93e04" stroke="black" points="2950.79,-2411.98 2953.96,-2401.87 2945.18,-2407.8 2950.79,-2411.98"/>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge143" class="edge">
<title>ahriman_core_build_tools_sources&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2857.25,-2584.64C2903.75,-2548.68 2993.36,-2483.03 3078,-2441.62 3128.51,-2416.9 3189.61,-2397.42 3233.75,-2385.03"/>
<polygon fill="#a93e04" stroke="black" points="3234.43,-2388.47 3243.13,-2382.43 3232.56,-2381.72 3234.43,-2388.47"/>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_core_repository_update_handler -->
<g id="edge144" class="edge">
<title>ahriman_core_build_tools_sources&#45;&gt;ahriman_core_repository_update_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2902,-2258.31C2912.7,-2172.87 2902,-2150.67 2902,-2064.57 2902,-2064.57 2902,-2064.57 2902,-1960.8 2902,-1746.97 3640.22,-1833.95 3847,-1779.5 3861.81,-1775.6 3877.56,-1770.7 3892.25,-1765.8"/>
<polygon fill="#a93e04" stroke="black" points="3892.96,-1769.26 3901.31,-1762.73 3890.71,-1762.63 3892.96,-1769.26"/>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_core_tree -->
<g id="edge145" class="edge">
<title>ahriman_core_build_tools_sources&#45;&gt;ahriman_core_tree</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2782.67,-2594.95C2566.17,-2516.66 1584.22,-2161.56 1361.17,-2080.9"/>
<polygon fill="#a93e04" stroke="black" points="1362.54,-2077.68 1351.95,-2077.57 1360.16,-2084.26 1362.54,-2077.68"/>
</g>
<!-- ahriman_core_build_tools_task&#45;&gt;ahriman_core_repository_executor -->
<g id="edge147" class="edge">
<title>ahriman_core_build_tools_task&#45;&gt;ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2701.7,-1926.04C2696.37,-1902.3 2694.65,-1871.88 2713,-1853.27"/>
</g>
<!-- ahriman_core_configuration -->
<g id="node51" class="node">
<title>ahriman_core_configuration</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d14d05" stroke="black" cx="5039" cy="-3487.57" rx="50.82" ry="28.98"/>
<text text-anchor="middle" x="5039" y="-3496.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5039" y="-3485.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5039" y="-3474.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">configuration</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_application_application_properties -->
<g id="edge148" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_application_application_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3844,-3361.48C3744.24,-3314.7 3738.75,-3272.31 3649,-3208.39 3512.93,-3111.48 3489.69,-3062.8 3333,-3004.87 3222.34,-2963.96 3183.98,-2999.31 3070,-2968.87 2986.11,-2946.47 2973.13,-2916.83 2889,-2895.33 2753.33,-2860.66 2704.37,-2915.27 2576,-2859.33 2529.9,-2839.24 2535.73,-2806.73 2490,-2785.79 2393.53,-2741.62 2329.97,-2823.86 2254,-2749.79 2154.39,-2652.66 2276.18,-2557.38 2199,-2441.62 2182.59,-2417 2162.46,-2427.91 2143,-2405.62 2063.36,-2314.36 2028,-2279.67 2028,-2158.55 2028,-2158.55 2028,-2158.55 2028,-2062.57 2028,-1951.72 2046.02,-1925.18 2062,-1815.5 2078.02,-1705.51 2192.61,-1417.94 2138,-1321.13"/>
<path fill="none" stroke="black" d="M2138,-1319.13C2122.66,-1298.71 2069.65,-1267.3 2026.13,-1243.69"/>
<polygon fill="#d14d05" stroke="black" points="2027.96,-1240.7 2017.49,-1239.04 2024.64,-1246.86 2027.96,-1240.7"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_add -->
<g id="edge149" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4988.57,-3483.53C4866.35,-3476.19 4544.64,-3457.1 4276,-3443.03 3940.52,-3425.45 3854.51,-3447.31 3521,-3407.03 2785.19,-3318.16 2582.16,-3285.4 1912,-2968.87 1748.78,-2891.78 1704.48,-2870.2 1570,-2749.79 1529.98,-2713.96 1525.39,-2699.4 1494,-2655.81 1468.3,-2620.11 642,-1365.11 642,-1321.13 642,-1321.13 642,-1321.13 642,-873.19 642,-799.78 647.37,-766.81 704,-720.1 768.29,-667.09 810.64,-715.08 888,-684.1 892.04,-682.49 896.11,-680.57 900.1,-678.47"/>
<polygon fill="#d14d05" stroke="black" points="901.54,-681.68 908.52,-673.72 898.09,-675.59 901.54,-681.68"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_backup -->
<g id="edge150" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_backup</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3535,-3361.48C3395.17,-3340.91 3360.21,-3335.71 3220,-3317.93 3081.52,-3300.37 3042.1,-3320.69 2908,-3281.93 2800,-3250.71 2780.78,-3222.22 2680,-3172.39 2629.04,-3147.2 2620.07,-3131.94 2566,-3114.41 2468.41,-3082.77 2436.66,-3106.53 2338,-3078.41 2217.41,-3044.04 2191.19,-3022.82 2078,-2968.87 1984.75,-2924.43 1956.04,-2920.77 1873,-2859.33 1612.64,-2666.69 1458,-2584.19 1458,-2260.31 1458,-2260.31 1458,-2260.31 1458,-2156.55 1458,-2087.83 1410.1,-2084.61 1363,-2034.57 1194.94,-1856.05 1091.32,-1869.61 949,-1669.96 869.56,-1558.51 718,-1436.17 718,-1102.05 718,-1102.05 718,-1102.05 718,-873.19 718,-756.97 830.93,-780.87 930,-720.1 959.82,-701.81 975.24,-708.82 1000,-684.1 1026.04,-658.12 1012.86,-637.43 1038,-610.57 1157.59,-482.78 1349.58,-393.48 1441.56,-355.6"/>
<polygon fill="#d14d05" stroke="black" points="1442.67,-358.93 1450.6,-351.91 1440.02,-352.44 1442.67,-358.93"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_clean -->
<g id="edge151" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_clean</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3535,-3361.48C3393,-3340.57 3359.1,-3324.43 3222,-3281.93 3131.54,-3253.89 3111.56,-3239.18 3022,-3208.39 2932.41,-3177.6 2703.6,-3114.47 2616,-3078.41 2417.66,-2996.76 2371.91,-2966.29 2186,-2859.33 2133.74,-2829.26 2128.23,-2807.54 2072,-2785.79 1981.23,-2750.69 1932.31,-2810.19 1856,-2749.79 1844.24,-2740.48 1009.46,-767.45 1021,-757.87"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_daemon -->
<g id="edge152" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_daemon</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4988.56,-3483.68C4866.33,-3476.68 4544.58,-3458.26 4276,-3443.03 4134,-3434.97 3775.48,-3439.44 3637,-3407.03 3589,-3395.79 3583.78,-3370.55 3535,-3363.48"/>
<path fill="none" stroke="black" d="M3535,-3361.48C3184.89,-3310.7 3090.94,-3345.92 2743,-3281.93 2401.62,-3219.15 2314.47,-3199.03 1989,-3078.41 1883.21,-3039.2 1857.13,-3026.27 1760,-2968.87 1590.74,-2868.84 1213.68,-2545.6 1199,-2530.71 981.03,-2309.68 338,-1741.1 338,-1430.67 338,-1430.67 338,-1430.67 338,-1319.13 338,-1118.95 262,-1075.37 262,-875.19 262,-875.19 262,-875.19 262,-442.81 262,-377.36 263.21,-357.91 238,-297.5 233.19,-285.98 226.2,-274.55 218.91,-264.31"/>
<polygon fill="#d14d05" stroke="black" points="221.86,-262.41 213.07,-256.49 216.24,-266.6 221.86,-262.41"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_dump -->
<g id="edge153" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_dump</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5089.78,-3484.06C5245.23,-3476.46 5728.35,-3453.62 6129,-3443.03 6283.46,-3438.94 8761.15,-3448.47 8910,-3407.03 8985.44,-3386.02 8986.57,-3338.94 9062,-3317.93 9209.56,-3276.83 11681.9,-3350.24 11819,-3281.93 11856.01,-3263.49 11839.13,-3227.11 11876,-3208.39 12002.37,-3144.23 13024.96,-3237.2 13151,-3172.39 13179.77,-3157.6 13168.77,-3133.34 13195,-3114.41 13449.34,-2930.87 13611.98,-3060.04 13853,-2859.33 13954.28,-2774.99 14017,-2744.06 14017,-2612.26 14017,-2612.26 14017,-2612.26 14017,-2485.17 14017,-2220.16 14025.9,-2154.01 14030,-1889.03 14031.51,-1791.67 14031.56,-1767.33 14032,-1669.96 14032.34,-1595.5 14039.66,-1576.49 14032,-1502.43 14031.15,-1494.17 14029.75,-1485.44 14028.15,-1477.04"/>
<polygon fill="#d14d05" stroke="black" points="14031.59,-1476.43 14026.16,-1467.33 14024.74,-1477.83 14031.59,-1476.43"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge154" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8324,-3361.48C8344.31,-3360.67 8321.65,-3330.01 8338,-3317.93 8398.36,-3273.31 10965.69,-3292.52 11040,-3281.93 11161.43,-3264.63 11184.64,-3226.17 11306,-3208.39 11399.41,-3194.71 12930.21,-3230.01 13005,-3172.39 13066.35,-3125.12 12997.4,-3058.79 13053,-3004.87 13099.74,-2959.55 13133.04,-2988.88 13195,-2968.87 13279.59,-2941.55 13295.22,-2918.63 13381,-2895.33 13481.7,-2867.98 13531.56,-2924.56 13613,-2859.33 13768.67,-2734.65 13659.89,-2603.06 13777,-2441.62 13788.43,-2425.87 13804.09,-2411.53 13818.98,-2399.88"/>
<polygon fill="#d14d05" stroke="black" points="13821.03,-2402.72 13826.9,-2393.9 13816.81,-2397.14 13821.03,-2402.72"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_help -->
<g id="edge155" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_help</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5089.79,-3484.19C5245.25,-3476.98 5728.39,-3455.14 6129,-3443.03 6518.9,-3431.24 7498.52,-3466.74 7884,-3407.03 8022.29,-3385.6 8047.65,-3338.97 8186,-3317.93 8318.66,-3297.76 10480.46,-3340.87 10601,-3281.93 10638.64,-3263.52 10623.09,-3228.23 10660,-3208.39 10736.86,-3167.08 10979.89,-3222.95 11051,-3172.39 11165.21,-3091.19 11908.74,-946.56 11986,-829.64 12062.95,-713.2 12096.86,-690.89 12211,-610.57 12263.99,-573.27 12308.71,-602.17 12342,-546.57"/>
<path fill="none" stroke="black" d="M12342,-544.57C12420.96,-337.83 11533.83,-249.96 11295.86,-230.2"/>
<polygon fill="#d14d05" stroke="black" points="11296.46,-226.74 11286.2,-229.41 11295.88,-233.72 11296.46,-226.74"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_key_import -->
<g id="edge156" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_key_import</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4988.59,-3483.06C4866.42,-3474.68 4544.81,-3453.46 4276,-3443.03 4081.88,-3435.49 2718.37,-3445.71 2528,-3407.03 2134.77,-3327.13 1175.95,-2933.2 886,-2655.81 714.09,-2491.35 566,-1872.09 566,-1634.19 566,-1634.19 566,-1634.19 566,-1530.43 566,-1468.38 571.34,-1447.57 542,-1392.9 531,-1372.4 515.71,-1377 504,-1356.9 420.06,-1212.74 414,-1159.33 414,-992.51 414,-992.51 414,-992.51 414,-873.19 414,-804.32 392.53,-771.83 438,-720.1 484.86,-666.81 568.83,-652.07 625.47,-648.52"/>
<polygon fill="#d14d05" stroke="black" points="625.45,-652.03 635.26,-648.02 625.09,-645.04 625.45,-652.03"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge157" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5089.79,-3484.27C5245.26,-3477.28 5728.42,-3455.99 6129,-3443.03 6775.08,-3422.12 6939.15,-3464.64 7583,-3407.03 7840.58,-3383.98 7900.32,-3339.73 8158,-3317.93 8290.04,-3306.76 10418.65,-3327.72 10543,-3281.93 10591.15,-3264.2 10584.56,-3227.93 10632,-3208.39 10713.5,-3174.82 10959.39,-3228.94 11027,-3172.39 11047.16,-3155.53 11278,-2286.59 11278,-2260.31 11278,-2260.31 11278,-2260.31 11278,-2156.55 11278,-2053.52 11267.83,-2025.65 11290,-1925.03 11365.17,-1583.85 11620,-1560.95 11620,-1211.59 11620,-1211.59 11620,-1211.59 11620,-1100.05 11620,-931.07 11744.12,-848.27 11634,-720.1 11581.43,-658.92 11335.54,-649.31 11221.44,-648.2"/>
<polygon fill="#d14d05" stroke="black" points="11221.7,-644.7 11211.68,-648.12 11221.65,-651.7 11221.7,-644.7"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_rebuild -->
<g id="edge158" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5089.78,-3484.09C5245.24,-3476.57 5728.36,-3453.93 6129,-3443.03 6266.85,-3439.27 8478.46,-3445.1 8611,-3407.03 8684.43,-3385.94 8684.56,-3338.96 8758,-3317.93 9054.55,-3233 11229.59,-3331.83 11534,-3281.93 11639.07,-3264.71 11657.06,-3226.39 11762,-3208.39 11833.37,-3196.15 13003.37,-3210.41 13065,-3172.39 13136.93,-3128.02 13090.21,-3059.14 13155,-3004.87 13314.19,-2871.52 13466.79,-3019.47 13599,-2859.33 13769.85,-2652.37 13675,-2528.67 13675,-2260.31 13675,-2260.31 13675,-2260.31 13675,-1851.27 13675,-1705.59 13751,-1678.1 13751,-1532.43 13751,-1532.43 13751,-1532.43 13751,-1319.13 13751,-1202.66 13772.97,-1174.01 13812,-1064.28 13843.26,-976.41 13897.99,-968.32 13903,-875.19"/>
<path fill="none" stroke="black" d="M13903,-873.19C13901.04,-821.98 13886.53,-806.41 13903,-757.87"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_remove -->
<g id="edge159" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3535,-3361.48C3306.78,-3327.6 3237.66,-3363.94 3022,-3281.93 2965.64,-3260.5 2963.99,-3230.76 2908,-3208.39 2828.19,-3176.51 2789.47,-3220.13 2718,-3172.39 2692.38,-3155.28 2705.92,-3131.07 2680,-3114.41 2591.12,-3057.27 2543.24,-3117.31 2445,-3078.41 2391.35,-3057.16 2389.08,-3031.72 2338,-3004.87 2298.4,-2984.05 2284.78,-2987.26 2244,-2968.87 2148.22,-2925.67 1903.68,-2819.43 1825,-2749.79 1559.56,-2514.84 1674.72,-2325.37 1472,-2034.57 1348.11,-1856.86 1276.3,-1847.15 1112,-1705.96 1033.97,-1638.91 976.33,-1653.26 932,-1560.42 778.01,-1237.89 1052.17,-1108.52 983,-757.87"/>
<path fill="none" stroke="black" d="M983,-755.87C978.87,-736.32 1017.14,-703.1 1049.86,-678.74"/>
<polygon fill="#d14d05" stroke="black" points="1051.68,-681.75 1057.69,-673.02 1047.55,-676.1 1051.68,-681.75"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_remove_unknown -->
<g id="edge160" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_remove_unknown</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4988.58,-3483.15C4866.41,-3474.98 4544.78,-3454.18 4276,-3443.03 3967.72,-3430.23 3193.77,-3448.33 2888,-3407.03 2724.66,-3384.96 2689.44,-3351.18 2528,-3317.93 2431.82,-3298.12 2399.03,-3323.36 2310,-3281.93 2264.4,-3260.71 2267.58,-3233.5 2224,-3208.39 2072.97,-3121.39 2013.76,-3148.09 1854,-3078.41 1758.23,-3036.64 1737.75,-3018.85 1646,-2968.87 1176.24,-2712.96 756,-2693.49 756,-2158.55 756,-2158.55 756,-2158.55 756,-2062.57 756,-1754.83 688.09,-1681.03 580,-1392.9 548.4,-1308.66 490,-1301.55 490,-1211.59 490,-1211.59 490,-1211.59 490,-873.19 490,-733.88 612.03,-739.16 740,-684.1 745.19,-681.87 750.55,-679.47 755.9,-677.01"/>
<polygon fill="#d14d05" stroke="black" points="757.17,-680.28 764.75,-672.88 754.21,-673.94 757.17,-680.28"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_restore -->
<g id="edge161" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_restore</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4988.59,-3483C4866.43,-3474.51 4544.82,-3453.04 4276,-3443.03 4046.57,-3434.48 2434.58,-3454.72 2210,-3407.03 1550.18,-3266.91 1345.53,-3198.62 842,-2749.79 612.03,-2544.8 566.48,-2466.54 438,-2186.54 334.82,-1961.66 186,-1349.47 186,-1102.05 186,-1102.05 186,-1102.05 186,-544.57 186,-434.59 257.29,-391.39 200,-297.5 181.78,-267.64 160.26,-279.06 130,-261.5 126.65,-259.56 123.21,-257.5 119.78,-255.39"/>
<polygon fill="#d14d05" stroke="black" points="121.79,-252.51 111.46,-250.17 118.07,-258.45 121.79,-252.51"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_search -->
<g id="edge162" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5089.79,-3484.14C5245.24,-3476.77 5728.37,-3454.53 6129,-3443.03 6243.25,-3439.74 8077.52,-3443.01 8186,-3407.03 8250.41,-3385.66 8245.57,-3339.22 8310,-3317.93 8557.95,-3235.99 10403.85,-3332.77 10660,-3281.93 10747.19,-3264.63 10759.97,-3230.77 10846,-3208.39 10963.16,-3177.91 11010.44,-3231.67 11116,-3172.39 11125.14,-3167.26 11274.77,-2974.49 11278,-2968.87 11330.22,-2878.05 11331.56,-2849.08 11365,-2749.79 11391.96,-2669.74 11392.4,-2647.82 11416,-2566.71 11513.49,-2231.7 11512.24,-2138.57 11644,-1815.5 11831.81,-1354.98 12147.6,-838.51 12240.53,-690.18"/>
<polygon fill="#d14d05" stroke="black" points="12243.42,-692.16 12245.77,-681.83 12237.49,-688.44 12243.42,-692.16"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_setup -->
<g id="edge163" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_setup</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4988.23,-3483.82C4765.87,-3471.71 3886.56,-3422.97 3830,-3407.03 3714.98,-3374.6 3688.81,-3351.99 3592,-3281.93 3553.92,-3254.38 3555.02,-3234.59 3516,-3208.39 3482.96,-3186.2 3469.78,-3189.82 3434,-3172.39 3385.02,-3148.54 3374.63,-3138.96 3326,-3114.41 3292.64,-3097.56 3280.73,-3099.69 3250,-3078.41 3211.36,-3051.65 3216.69,-3024.54 3174,-3004.87 3019.92,-2933.89 2948.08,-3039.85 2794,-2968.87 2751.31,-2949.2 2760.46,-2915.5 2718,-2895.33 2595.1,-2836.96 2525.84,-2936.81 2414,-2859.33 2383.76,-2838.38 2405.64,-2807.58 2376,-2785.79 2301.46,-2731.01 2241.19,-2810.05 2171,-2749.79 1962.49,-2570.78 1990,-2433.36 1990,-2158.55 1990,-2158.55 1990,-2158.55 1990,-1530.43 1990,-1394.8 1924.86,-1373.88 1876,-1247.36 1785.99,-1014.29 1825.69,-923.79 1681,-720.1 1669.64,-704.11 1653.84,-689.64 1638.82,-677.95"/>
<polygon fill="#d14d05" stroke="black" points="1640.93,-675.16 1630.83,-671.96 1636.73,-680.76 1640.93,-675.16"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_shell -->
<g id="edge164" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_shell</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5089.79,-3484.13C5245.24,-3476.73 5728.37,-3454.41 6129,-3443.03 6247.47,-3439.66 8149.3,-3443.7 8262,-3407.03 8294.02,-3396.61 8290.35,-3364.83 8324,-3363.48"/>
<path fill="none" stroke="black" d="M8324,-3361.48C8344.31,-3360.66 8321.66,-3330.03 8338,-3317.93 8392.23,-3277.78 10700.17,-3291.28 10767,-3281.93 10891.45,-3264.52 10915.59,-3226.08 11040,-3208.39 11142.1,-3193.87 12803.91,-3218.82 12896,-3172.39 12979.91,-3130.09 12946.94,-3057.18 13025,-3004.87 13075.51,-2971.02 13109.72,-3007.11 13157,-2968.87 13185.61,-2945.73 13164.5,-2915.91 13195,-2895.33 13266.23,-2847.27 13522.14,-2922.86 13580,-2859.33 13602.01,-2835.17 13581.78,-2818.43 13580,-2785.79 13575.77,-2708.32 13561,-2689.85 13561,-2612.26 13561,-2612.26 13561,-2612.26 13561,-2258.31 13561,-2184.56 13601.34,-1669.65 13610,-1596.42 13618.76,-1522.3 13637,-1505.3 13637,-1430.67 13637,-1430.67 13637,-1430.67 13637,-1319.13 13637,-1121.1 13657.19,-1072.41 13675,-875.19"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_sign -->
<g id="edge165" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_sign</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3844,-3361.48C3760.47,-3322.45 3772.37,-3270.25 3704,-3208.39 3652.19,-3161.52 3636.3,-3152.9 3578,-3114.41 3551.41,-3096.85 3542.48,-3096.13 3516,-3078.41 3471.34,-3048.51 3469.86,-3024.93 3420,-3004.87 3286.4,-2951.12 3232.71,-3019.75 3098,-2968.87 3044.7,-2948.74 3046.49,-2914.95 2993,-2895.33 2830,-2835.53 2756.22,-2942.85 2604,-2859.33 2567.75,-2839.44 2582.52,-2806.96 2547,-2785.79 2462.65,-2735.51 2403.3,-2814.01 2329,-2749.79 2296.57,-2721.76 2181,-2308.01 2181,-1853.27 2181,-1853.27 2181,-1853.27 2181,-1319.13 2181,-1166.93 1850.96,-803.1 1740.52,-685.61"/>
<polygon fill="#d14d05" stroke="black" points="1743.09,-683.23 1733.69,-678.36 1738,-688.04 1743.09,-683.23"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_status -->
<g id="edge166" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5089.79,-3484.35C5245.27,-3477.59 5728.45,-3456.88 6129,-3443.03 6676.46,-3424.09 6817.14,-3472.52 7361,-3407.03 7549.16,-3384.37 7589.67,-3339.1 7778,-3317.93 7926.36,-3301.25 10320.95,-3321.14 10465,-3281.93 10528.68,-3264.6 10531,-3228.05 10594,-3208.39 10681.94,-3180.94 10939.08,-3234.63 11007,-3172.39 11018.52,-3161.84 11202,-2080.19 11202,-2064.57 11202,-2064.57 11202,-2064.57 11202,-1632.19 11202,-1523.53 11375.87,-1019.34 11392,-992.51"/>
<path fill="none" stroke="black" d="M11392,-990.51C11414.76,-933.5 11449.09,-933.59 11468,-875.19"/>
<path fill="none" stroke="black" d="M11468,-873.19C11484.63,-821.85 11539.77,-799.97 11506,-757.87"/>
<path fill="none" stroke="black" d="M11506,-755.87C11445.11,-679.96 11165.5,-717.24 11074,-684.1 11068.65,-682.17 11063.25,-679.76 11057.97,-677.12"/>
<polygon fill="#d14d05" stroke="black" points="11059.85,-674.16 11049.39,-672.52 11056.55,-680.33 11059.85,-674.16"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_status_update -->
<g id="edge167" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_status_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3535,-3361.48C3404.51,-3341.62 3182.85,-3053.14 3060,-3004.87 2917.75,-2948.97 2864.98,-3010.78 2718,-2968.87 2645.83,-2948.29 2637.26,-2918.86 2566,-2895.33 2484.39,-2868.38 2444.91,-2910.7 2376,-2859.33 2346.5,-2837.34 2367.85,-2807.29 2338,-2785.79 2253.69,-2725.06 2198.28,-2799.43 2107,-2749.79 2057.78,-2723.03 2049.55,-2705.14 2023,-2655.81 1995.75,-2605.17 2003.55,-2586.59 1990,-2530.71 1867.92,-2027.36 1869.32,-1893.92 1738,-1392.9 1686.4,-1196.04 1734.9,-1111.4 1605,-954.74 1582.92,-928.11 1565.18,-937.31 1536,-918.74 1509.1,-901.63 1498.18,-900.66 1479,-875.19"/>
<path fill="none" stroke="black" d="M1479,-873.19C1441.2,-821.4 1449.84,-743.53 1460.89,-694.35"/>
<polygon fill="#d14d05" stroke="black" points="1464.23,-695.42 1463.14,-684.88 1457.42,-693.8 1464.23,-695.42"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_triggers -->
<g id="edge168" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4987.99,-3485.39C4857.32,-3481.58 4500.45,-3466.11 4210,-3407.03 4146.98,-3394.21 4129.51,-3392.27 4072,-3363.48"/>
<path fill="none" stroke="black" d="M4072,-3361.48C4050.76,-3350.84 4058.45,-3334.05 4041,-3317.93 4038.07,-3315.23 3523.11,-3007.47 3516,-3004.87 3423.76,-2971.18 3392.95,-2993.93 3298,-2968.87 3206.43,-2944.7 3190.06,-2917.58 3098,-2895.33 2970.04,-2864.41 2931.96,-2890.25 2804,-2859.33 2711.94,-2837.09 2695.72,-2809.39 2604,-2785.79 2552.62,-2772.57 2405.55,-2787.27 2368,-2749.79 2278.36,-2660.32 2290.7,-2312.82 2281,-2186.54 2264.65,-1973.57 2248.79,-1917.11 2281,-1705.96 2310.67,-1511.44 2341.37,-1466.63 2413,-1283.36 2425.85,-1250.48 2437.21,-1245.5 2447,-1211.59"/>
<path fill="none" stroke="black" d="M2447,-1209.59C2462.45,-1114.35 2447,-1088.99 2447,-992.51 2447,-992.51 2447,-992.51 2447,-873.19 2447,-602.48 2110.68,-804.07 1868,-684.1 1865.1,-682.67 1862.18,-681.09 1859.27,-679.42"/>
<polygon fill="#d14d05" stroke="black" points="1861.19,-676.49 1850.84,-674.25 1857.53,-682.46 1861.19,-676.49"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_unsafe_commands -->
<g id="edge169" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_unsafe_commands</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3236,-3244.16C3138.7,-3195.96 3126.01,-3163.18 3029,-3114.41 2909.24,-3054.2 2876.69,-3042.36 2748,-3004.87 2668.84,-2981.81 2639.06,-3007.1 2566,-2968.87 2524.36,-2947.08 2531.23,-2917.9 2490,-2895.33 2429.1,-2862 2398.9,-2892.66 2338,-2859.33 2296.77,-2836.77 2304.02,-2806.85 2262,-2785.79 2172.24,-2740.82 2119.66,-2809.57 2039,-2749.79 2001.64,-2722.1 2009.25,-2699.38 1993,-2655.81 1737.38,-1970.24 1785.61,-1764.08 1572,-1064.28 1556.96,-1014.99 1567.66,-993.75 1534,-954.74 1511.4,-928.55 1486.21,-946.06 1465,-918.74 1379.69,-808.83 1358.1,-739.65 1410,-610.57 1431.76,-556.45 1480.56,-510.06 1518.4,-480.24"/>
<polygon fill="#d14d05" stroke="black" points="1520.3,-483.19 1526.07,-474.31 1516.02,-477.65 1520.3,-483.19"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_update -->
<g id="edge170" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3535,-3361.48C3481.91,-3353.66 3356.4,-3302.89 3307,-3281.93 3274.47,-3268.13 3267.73,-3261.7 3236,-3246.16"/>
<path fill="none" stroke="black" d="M3236,-3244.16C3109.19,-3182.06 3077.04,-3167 2946,-3114.41 2767.33,-3042.7 2712.27,-3050.69 2538,-2968.87 2480,-2941.64 2472.13,-2922.29 2414,-2895.33 2369.63,-2874.75 2354.37,-2879.91 2310,-2859.33 2251.87,-2832.37 2246.55,-2806.73 2186,-2785.79 2069.92,-2745.65 2005.31,-2829.67 1912,-2749.79 1790.9,-2646.12 1849.24,-2560.38 1811,-2405.62 1746.83,-2145.87 1781.18,-2067.75 1692,-1815.5 1633.69,-1650.54 1579.3,-1627.08 1510,-1466.43 1448.77,-1324.49 1433.94,-1287.68 1396,-1137.82 1355.54,-978.01 1330.85,-783.47 1320.98,-695.52"/>
<polygon fill="#d14d05" stroke="black" points="1324.46,-695.14 1319.88,-685.59 1317.5,-695.91 1324.46,-695.14"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_users -->
<g id="edge171" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5089.78,-3484.07C5245.23,-3476.51 5728.35,-3453.77 6129,-3443.03 6421.03,-3435.19 8469.73,-3454.43 8758,-3407.03 8885.19,-3386.11 8906.8,-3338.81 9034,-3317.93 9183.57,-3293.38 11620.16,-3335.37 11762,-3281.93 11809.06,-3264.2 11801.07,-3226.48 11848,-3208.39 11979.83,-3157.58 13001.15,-3250.3 13119,-3172.39 13187.36,-3127.2 13129.58,-3052.86 13196,-3004.87 13254.36,-2962.7 13448.21,-2986.59 13518,-2968.87 13602.16,-2947.5 13617.72,-2925.88 13699,-2895.33 13744.78,-2878.12 13765.2,-2890.37 13803,-2859.33 14051.1,-2655.61 13914.91,-2473.31 13978,-2158.55"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_versions -->
<g id="edge172" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_versions</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5089.78,-3484.04C5245.23,-3476.41 5728.35,-3453.49 6129,-3443.03 7432.21,-3409 7758.87,-3443.98 9062,-3407.03 10313.4,-3371.54 10626.63,-3361.55 11876,-3281.93 11894.35,-3280.76 13176.92,-3175.72 13195,-3172.39 13318.08,-3149.71 14193.45,-2952.51 14277,-2859.33 14318.42,-2813.13 14286.48,-2782.13 14301,-2721.8"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_web -->
<g id="edge173" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4072,-3361.48C4050.74,-3350.87 4056.28,-3336.12 4041,-3317.93 3997.04,-3265.57 3986.79,-3250.59 3933,-3208.39 3794.14,-3099.44 3758.61,-3063.11 3592,-3004.87 3479.38,-2965.5 3437.91,-3010.19 3326,-2968.87 3269.44,-2947.98 3268.83,-2915.46 3212,-2895.33 3072.1,-2845.77 3023.16,-2898.5 2880,-2859.33 2803.73,-2838.46 2793.53,-2809.19 2718,-2785.79 2630.06,-2758.55 2589.15,-2802.99 2514,-2749.79 2432.22,-2691.9 2295,-2350.97 2295,-2064.57 2295,-2064.57 2295,-2064.57 2295,-1851.27 2295,-1594.78 2523,-1577.61 2523,-1321.13 2523,-1321.13 2523,-1321.13 2523,-755.87 2523,-656.91 2515.33,-599.43 2599,-546.57"/>
<path fill="none" stroke="black" d="M2599,-544.57C2783.29,-424.49 10365.84,-604.6 10517,-444.81"/>
<path fill="none" stroke="black" d="M10517,-442.81C10559.77,-397.6 10547.36,-320.39 10533.16,-271.28"/>
<polygon fill="#d14d05" stroke="black" points="10536.54,-270.34 10530.28,-261.79 10529.84,-272.37 10536.54,-270.34"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_lock -->
<g id="edge174" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5089.79,-3484.12C5245.24,-3476.69 5728.37,-3454.29 6129,-3443.03 6251.69,-3439.58 8221.86,-3446.74 8338,-3407.03 8400.52,-3385.65 8394.44,-3339.19 8457,-3317.93 8606.87,-3266.99 11148.37,-3296.38 11306,-3281.93 11498.2,-3264.31 11541.93,-3227.43 11734,-3208.39 11806.39,-3201.21 12987.72,-3219.68 13043,-3172.39 13087.56,-3134.27 13021.66,-3079.84 13067,-3042.64"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_alpm_pacman -->
<g id="edge175" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_alpm_pacman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5090.22,-3486.26C5272.49,-3484.59 5888.46,-3474.01 6072,-3407.03 6135.75,-3383.76 6131.77,-3339.85 6196,-3317.93 6414.86,-3243.25 7020.49,-3365.78 7236,-3281.93 7282.87,-3263.7 7280.59,-3236.93 7322,-3208.39 7349.51,-3189.43 7368.26,-3199.35 7388,-3172.39 7462.11,-3071.17 7388.09,-3008.61 7442,-2895.33 7494.4,-2785.23 7604.46,-2688.09 7663.17,-2641.5"/>
<polygon fill="#d14d05" stroke="black" points="7665.24,-2644.32 7670.94,-2635.4 7660.92,-2638.82 7665.24,-2644.32"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_auth_auth -->
<g id="edge176" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5089.96,-3484.55C5391.27,-3472.6 6927.45,-3411.5 6951,-3407.03 7069.77,-3384.47 7088.91,-3338.7 7208,-3317.93 7293.25,-3303.07 10245.4,-3320.22 10323,-3281.93 10415.02,-3236.53 10415.09,-3179.62 10432,-3078.41 10445.43,-2998.03 10445.33,-2976.75 10442,-2895.33 10430.43,-2612.39 10279.64,-2521.1 10390,-2260.31"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_auth_mapping -->
<g id="edge177" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_auth_mapping</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5089.8,-3484.42C5245.28,-3477.85 5728.48,-3457.63 6129,-3443.03 6371.64,-3434.18 6982.38,-3451.87 7221,-3407.03 7338.16,-3385.01 7356.62,-3338.73 7474,-3317.93 7635.33,-3289.34 10276.32,-3354.94 10423,-3281.93 10460.02,-3263.5 10446.63,-3232.81 10480,-3208.39 10517.45,-3180.99 10547.11,-3207.02 10578,-3172.39 10762.4,-2965.68 10656.26,-2835.05 10725,-2566.71 10755.92,-2446.03 10781.64,-2419.58 10798,-2296.08 10813.27,-2180.86 10854.38,-2136.21 10798,-2034.57 10783.42,-2008.28 10754.75,-1990.36 10729.69,-1979"/>
<polygon fill="#d14d05" stroke="black" points="10731.18,-1975.83 10720.61,-1975.12 10728.43,-1982.27 10731.18,-1975.83"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge178" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_auth_oauth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5089.8,-3484.5C5245.29,-3478.15 5728.51,-3458.5 6129,-3443.03 6343.21,-3434.75 6883.08,-3450.49 7093,-3407.03 7199.94,-3384.88 7214.79,-3338.71 7322,-3317.93 7488.58,-3285.65 10221.46,-3351.98 10376,-3281.93 10416,-3263.8 10406.48,-3234.22 10442,-3208.39 10473.86,-3185.22 10496.32,-3201.37 10523,-3172.39 10587.89,-3101.91 10578,-3063.32 10594,-2968.87 10646.72,-2657.67 10506.74,-2573.5 10546,-2260.31"/>
<path fill="none" stroke="black" d="M10546,-2258.31C10548.14,-2210.91 10569.21,-2080.2 10581.04,-2009.56"/>
<polygon fill="#d14d05" stroke="black" points="10584.47,-2010.28 10582.67,-1999.84 10577.56,-2009.12 10584.47,-2010.28"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge179" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4988.48,-3482.81C4841.73,-3471.15 4418.37,-3432.25 4300,-3363.48"/>
<path fill="none" stroke="black" d="M4300,-3361.48C4252.68,-3333.98 4245.75,-3319.55 4206,-3281.93 4082.9,-3165.44 4090.4,-3090.25 3944,-3004.87 3929.66,-2996.51 3669.57,-2938.85 3654,-2933.1"/>
<path fill="none" stroke="black" d="M3654,-2931.1C3558.02,-2893.78 2829.6,-2739.07 2769,-2655.81 2743.78,-2621.17 2761.16,-2449.88 2788,-2369.85"/>
</g>
<!-- ahriman_core_database_data -->
<g id="node53" class="node">
<title>ahriman_core_database_data</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a3f1e" stroke="black" cx="8328" cy="-2486.17" rx="41.94" ry="36.54"/>
<text text-anchor="middle" x="8328" y="-2500.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8328" y="-2489.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8328" y="-2478.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="8328" y="-2467.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">data</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_database_data -->
<g id="edge180" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_database_data</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5089.94,-3483.99C5247.5,-3475.75 5740.86,-3448.26 6148,-3407.03 6451.25,-3376.31 6524.83,-3349.5 6828,-3317.93 7034.17,-3296.46 7095.95,-3346.27 7293,-3281.93 7673.98,-3157.52 7667.42,-2917.33 8046,-2785.79 8101.51,-2766.5 8269.38,-2794.09 8308,-2749.79 8324.94,-2730.37 8311.15,-2717.39 8308,-2691.81 8305.98,-2675.44 8301.02,-2672.18 8299,-2655.81 8294.16,-2616.51 8292.11,-2605.71 8299,-2566.71 8301.09,-2554.87 8304.81,-2542.46 8308.9,-2531.07"/>
<polygon fill="#d14d05" stroke="black" points="8312.1,-2532.52 8312.36,-2521.93 8305.55,-2530.04 8312.1,-2532.52"/>
</g>
<!-- ahriman_core_database_data_users -->
<g id="node57" class="node">
<title>ahriman_core_database_data_users</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b0643a" stroke="black" cx="2148" cy="-2486.17" rx="41.94" ry="44.6"/>
<text text-anchor="middle" x="2148" y="-2505.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2148" y="-2494.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="2148" y="-2483.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="2148" y="-2472.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">data.</text>
<text text-anchor="middle" x="2148" y="-2461.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">users</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_database_data_users -->
<g id="edge181" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_database_data_users</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4987.96,-3484.59C4842.2,-3478.48 4411.8,-3457.18 4058,-3407.03 3961.9,-3393.4 3932.4,-3403.56 3844,-3363.48"/>
<path fill="none" stroke="black" d="M3844,-3361.48C3769.49,-3327.69 3746.56,-3326.57 3678,-3281.93 3635.86,-3254.49 3633.41,-3236.93 3592,-3208.39 3564.49,-3189.43 3554.96,-3189.06 3526,-3172.39 3401.65,-3100.79 3385.58,-3051.87 3250,-3004.87 3125.62,-2961.75 3082.73,-3004.49 2956,-2968.87 2879.88,-2947.48 2869.93,-2917.4 2794,-2895.33 2683.67,-2863.26 2646.42,-2897.38 2538,-2859.33 2477.54,-2838.11 2474.02,-2808.22 2414,-2785.79 2330.21,-2754.49 2281.53,-2810.67 2216,-2749.79 2158.79,-2696.64 2147.16,-2602.16 2146.07,-2542.19"/>
<polygon fill="#d14d05" stroke="black" points="2149.57,-2542.53 2145.99,-2532.56 2142.57,-2542.59 2149.57,-2542.53"/>
</g>
<!-- ahriman_core_database_migrations -->
<g id="node58" class="node">
<title>ahriman_core_database_migrations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#794c34" stroke="black" cx="8254" cy="-2368.85" rx="43.68" ry="36.54"/>
<text text-anchor="middle" x="8254" y="-2382.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8254" y="-2371.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8254" y="-2360.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="8254" y="-2349.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">migrations</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_database_migrations -->
<g id="edge182" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_database_migrations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5089.05,-3481.72C5195.36,-3471.08 5451.38,-3443.7 5664,-3407.03 5846.91,-3375.48 5887.81,-3340.79 6072,-3317.93 6134.11,-3310.22 7145.07,-3315.33 7198,-3281.93 7229.11,-3262.3 7219,-3241.02 7236,-3208.39 7325.23,-3037.12 7485.09,-2549.89 7645,-2441.62 7734.64,-2380.92 8066.17,-2371.37 8198.72,-2370.01"/>
<polygon fill="#d14d05" stroke="black" points="8198.68,-2373.51 8208.65,-2369.92 8198.62,-2366.51 8198.68,-2373.51"/>
</g>
<!-- ahriman_core_database_sqlite -->
<g id="node66" class="node">
<title>ahriman_core_database_sqlite</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995733" stroke="black" cx="7960" cy="-2259.31" rx="41.94" ry="36.54"/>
<text text-anchor="middle" x="7960" y="-2273.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7960" y="-2262.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="7960" y="-2251.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="7960" y="-2240.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">sqlite</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_database_sqlite -->
<g id="edge183" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_database_sqlite</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5087.72,-3478.58C5173.52,-3464.45 5357.16,-3434.01 5512,-3407.03 5731.79,-3368.73 5784.13,-3341.27 6006,-3317.93 6069.79,-3311.22 7106.7,-3317.62 7160,-3281.93 7169.05,-3275.87 7475.96,-2576.37 7481,-2566.71 7510.99,-2509.24 7507.53,-2484.67 7556,-2441.62 7662.22,-2347.27 7825.62,-2294.65 7908.29,-2272.69"/>
<polygon fill="#d14d05" stroke="black" points="7909.15,-2276.08 7917.94,-2270.17 7907.38,-2269.31 7909.15,-2276.08"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge184" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3654,-2931.1C3570.53,-2893.3 3411.92,-2720.48 3347,-2655.81 3307.79,-2616.75 3302.18,-2602.55 3260,-2566.71 3182.11,-2500.55 3082.41,-2434.64 3025.11,-2398.37"/>
<polygon fill="#d14d05" stroke="black" points="3027.21,-2395.56 3016.89,-2393.19 3023.48,-2401.48 3027.21,-2395.56"/>
</g>
<!-- ahriman_core_gitremote_remote_pull_trigger -->
<g id="node82" class="node">
<title>ahriman_core_gitremote_remote_pull_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995733" stroke="black" cx="3547" cy="-2259.31" rx="70.01" ry="36.54"/>
<text text-anchor="middle" x="3547" y="-2273.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3547" y="-2262.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="3547" y="-2251.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">gitremote.</text>
<text text-anchor="middle" x="3547" y="-2240.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote_pull_trigger</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_gitremote_remote_pull_trigger -->
<g id="edge185" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_gitremote_remote_pull_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4989.07,-3481.49C4868.29,-3468.25 4564.78,-3429.13 4490,-3363.48"/>
<path fill="none" stroke="black" d="M4490,-3361.48C4446.12,-3322.95 4155.35,-3032.67 4104,-3004.87 4046.37,-2973.67 4016.9,-3003.08 3961,-2968.87 3921.57,-2944.74 3710.35,-2695.7 3687,-2655.81 3618.75,-2539.22 3575.91,-2383.96 3557.48,-2307.27"/>
<polygon fill="#d14d05" stroke="black" points="3560.89,-2306.49 3555.19,-2297.57 3554.08,-2308.11 3560.89,-2306.49"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge186" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4300,-3361.48C4199.35,-3286.05 4238.85,-3213.97 4162,-3114.41 4119.07,-3058.79 4108.76,-3040.16 4048,-3004.87 3999.11,-2976.48 3976.86,-2993.56 3926,-2968.87 3799.52,-2907.45 3788.57,-2858.12 3668,-2785.79 3557.22,-2719.33 3496.8,-2749.64 3408,-2655.81 3351.86,-2596.49 3348.17,-2567.77 3335,-2487.17"/>
</g>
<!-- ahriman_core_gitremote_remote_push_trigger -->
<g id="node84" class="node">
<title>ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#824a2b" stroke="black" cx="3709" cy="-2259.31" rx="74.49" ry="36.54"/>
<text text-anchor="middle" x="3709" y="-2273.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3709" y="-2262.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="3709" y="-2251.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">gitremote.</text>
<text text-anchor="middle" x="3709" y="-2240.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote_push_trigger</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge187" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4490,-3361.48C4451.49,-3327.66 4508.92,-3293.79 4490,-3246.16"/>
<path fill="none" stroke="black" d="M4490,-3244.16C4474.58,-3205.34 4237.57,-3023.13 4200,-3004.87 4132.49,-2972.06 4098.27,-3009.25 4035,-2968.87 3948.89,-2913.9 3966.78,-2859.46 3896,-2785.79 3873.25,-2762.12 3808.52,-2711.16 3782,-2691.81 3758.1,-2674.37 3741.2,-2681.19 3726,-2655.81 3659.95,-2545.52 3681.34,-2385.25 3697.66,-2306.92"/>
<polygon fill="#d14d05" stroke="black" points="3701.02,-2307.97 3699.7,-2297.46 3694.17,-2306.49 3701.02,-2307.97"/>
</g>
<!-- ahriman_core_log_http_log_handler -->
<g id="node87" class="node">
<title>ahriman_core_log_http_log_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a15b35" stroke="black" cx="5826" cy="-3041.64" rx="62.45" ry="36.54"/>
<text text-anchor="middle" x="5826" y="-3055.64" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5826" y="-3044.64" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5826" y="-3033.64" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log.</text>
<text text-anchor="middle" x="5826" y="-3022.64" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">http_log_handler</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_log_http_log_handler -->
<g id="edge188" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_log_http_log_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5422,-3244.16C5486.2,-3195.79 5515.75,-3207.61 5588,-3172.39 5652.57,-3140.91 5724.75,-3100.84 5772.52,-3073.62"/>
<polygon fill="#d14d05" stroke="black" points="5774.07,-3076.76 5781.01,-3068.76 5770.59,-3070.69 5774.07,-3076.76"/>
</g>
<!-- ahriman_core_log_log -->
<g id="node89" class="node">
<title>ahriman_core_log_log</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a15b35" stroke="black" cx="4860" cy="-2932.1" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="4860" y="-2946.1" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4860" y="-2935.1" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4860" y="-2924.1" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log.</text>
<text text-anchor="middle" x="4860" y="-2913.1" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_log_log -->
<g id="edge189" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_log_log</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4860,-3040.64C4863.42,-3020.99 4863.99,-2999.01 4863.48,-2980.07"/>
<polygon fill="#d14d05" stroke="black" points="4866.99,-2980.09 4863.11,-2970.23 4859.99,-2980.36 4866.99,-2980.09"/>
</g>
<!-- ahriman_core_report_console -->
<g id="node91" class="node">
<title>ahriman_core_report_console</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#824a2b" stroke="black" cx="5489" cy="-2486.17" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="5489" y="-2500.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5489" y="-2489.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5489" y="-2478.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="5489" y="-2467.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">console</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_report_console -->
<g id="edge190" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_report_console</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5004,-3142.4C5030.16,-2997.58 5157.43,-3040.48 5286,-2968.87 5313.79,-2953.39 5334.34,-2961.83 5348,-2933.1"/>
<path fill="none" stroke="black" d="M5348,-2931.1C5360.62,-2902.5 5525.91,-2751.39 5536,-2721.8"/>
<path fill="none" stroke="black" d="M5536,-2719.8C5545.28,-2672.08 5514.67,-2660.86 5516,-2612.26"/>
</g>
<!-- ahriman_core_report_email -->
<g id="node92" class="node">
<title>ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#734126" stroke="black" cx="5467" cy="-2259.31" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="5467" y="-2273.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5467" y="-2262.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5467" y="-2251.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="5467" y="-2240.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">email</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_report_email -->
<g id="edge191" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5004,-3361.48C4965.4,-3273.06 4981.24,-3238.16 5004,-3144.4"/>
<path fill="none" stroke="black" d="M5004,-3142.4C5024.41,-3083.8 4987.65,-3052 5028,-3004.87 5060.36,-2967.08 5094.5,-2999.12 5134,-2968.87 5149.2,-2957.23 5144.16,-2946.33 5158,-2933.1"/>
<path fill="none" stroke="black" d="M5158,-2931.1C5214.59,-2874.64 5211.21,-2845.82 5264,-2785.79 5279.36,-2768.32 5287.76,-2768.19 5302,-2749.79 5331.23,-2712.05 5337.92,-2700.76 5354,-2655.81 5379.67,-2584.05 5375.01,-2562.72 5385,-2487.17"/>
</g>
<!-- ahriman_core_report_html -->
<g id="node93" class="node">
<title>ahriman_core_report_html</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#824a2b" stroke="black" cx="5319" cy="-2259.31" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="5319" y="-2273.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5319" y="-2262.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5319" y="-2251.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="5319" y="-2240.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">html</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_report_html -->
<g id="edge192" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_report_html</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4860,-3142.4C4842.33,-3101.73 4853.29,-3086.47 4860,-3042.64"/>
<path fill="none" stroke="black" d="M4860,-3040.64C4865.77,-3002.95 4823.9,-3005.41 4813,-2968.87 4789.74,-2890.9 4784.04,-2861.83 4813,-2785.79 4826.55,-2750.2 4854.32,-2756.51 4870,-2721.8"/>
<path fill="none" stroke="black" d="M4870,-2719.8C4884.09,-2685.97 4830.26,-2690.34 4818,-2655.81 4794.79,-2590.44 4802.06,-2380.52 4832,-2369.85"/>
</g>
<!-- ahriman_core_report_jinja_template -->
<g id="node94" class="node">
<title>ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8b4118" stroke="black" cx="5467" cy="-2368.85" rx="54.39" ry="36.54"/>
<text text-anchor="middle" x="5467" y="-2382.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5467" y="-2371.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5467" y="-2360.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="5467" y="-2349.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">jinja_template</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge193" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5158,-2931.1C5201.26,-2871.36 5400.87,-2814.64 5436,-2749.79 5491.66,-2647.03 5354.1,-2581.56 5423,-2487.17"/>
</g>
<!-- ahriman_core_report_report -->
<g id="node95" class="node">
<title>ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#913807" stroke="black" cx="5319" cy="-2368.85" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="5319" y="-2382.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5319" y="-2371.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5319" y="-2360.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="5319" y="-2349.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_report_report -->
<g id="edge194" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4860,-3040.64C4876.41,-2946.36 5007.75,-3047 5063,-2968.87 5081.87,-2942.18 5064.9,-2927.96 5063,-2895.33 5059.34,-2832.52 5021.68,-2663.64 5058,-2612.26"/>
</g>
<!-- ahriman_core_report_report_trigger -->
<g id="node96" class="node">
<title>ahriman_core_report_report_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#824a2b" stroke="black" cx="4273" cy="-2259.31" rx="52.15" ry="36.54"/>
<text text-anchor="middle" x="4273" y="-2273.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4273" y="-2262.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4273" y="-2251.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="4273" y="-2240.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report_trigger</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_report_report_trigger -->
<g id="edge195" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_report_report_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4528,-3040.64C4505.86,-2926.19 4499.93,-2897.31 4466,-2785.79 4411.01,-2605.04 4328.25,-2395.8 4291.6,-2305.56"/>
<polygon fill="#d14d05" stroke="black" points="4294.84,-2304.24 4287.83,-2296.3 4288.36,-2306.88 4294.84,-2304.24"/>
</g>
<!-- ahriman_core_report_telegram -->
<g id="node97" class="node">
<title>ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#734126" stroke="black" cx="6116" cy="-2259.31" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="6116" y="-2273.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6116" y="-2262.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6116" y="-2251.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="6116" y="-2240.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">telegram</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_report_telegram -->
<g id="edge196" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5070.11,-3464.47C5109.72,-3435.89 5175.28,-3387.01 5194,-3363.48"/>
<path fill="none" stroke="black" d="M5194,-3361.48C5225.91,-3321.37 5203.54,-3296.52 5194,-3246.16"/>
<path fill="none" stroke="black" d="M5194,-3244.16C5172.54,-3130.91 5191.96,-3058.48 5294,-3004.87 5390.46,-2954.19 5690.54,-3026.53 5783,-2968.87 5815.13,-2948.84 5804.53,-2926.52 5826,-2895.33 5892.35,-2798.95 5896.9,-2758.56 5993,-2691.81 6032.14,-2664.62 6063.83,-2692.69 6094,-2655.81 6176.65,-2554.77 6148.83,-2386.12 6128.92,-2305.68"/>
<polygon fill="#d14d05" stroke="black" points="6132.42,-2305.22 6126.55,-2296.4 6125.63,-2306.95 6132.42,-2305.22"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge197" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4860,-3244.16C4829.02,-3212.44 4877.67,-3185.07 4860,-3144.4"/>
<path fill="none" stroke="black" d="M4860,-3142.4C4795.18,-2993.21 4712.37,-2998.41 4628,-2859.33 4576.98,-2775.22 4560.73,-2752.18 4541,-2655.81 4488.14,-2397.66 4666.8,-2315.05 4585,-2064.57"/>
</g>
<!-- ahriman_core_sign_gpg -->
<g id="node105" class="node">
<title>ahriman_core_sign_gpg</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8b4722" stroke="black" cx="4992" cy="-2611.26" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="4992" y="-2625.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4992" y="-2614.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4992" y="-2603.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">sign.</text>
<text text-anchor="middle" x="4992" y="-2592.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">gpg</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_sign_gpg -->
<g id="edge198" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_sign_gpg</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4870,-2719.8C4888.04,-2679.87 4910.96,-2683.39 4945,-2655.81 4949.11,-2652.48 4953.31,-2648.89 4957.42,-2645.25"/>
<polygon fill="#d14d05" stroke="black" points="4959.51,-2648.08 4964.58,-2638.78 4954.82,-2642.89 4959.51,-2648.08"/>
</g>
<!-- ahriman_core_spawn -->
<g id="node106" class="node">
<title>ahriman_core_spawn</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#ae511e" stroke="black" cx="2714" cy="-2720.8" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="2714" y="-2729.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2714" y="-2718.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="2714" y="-2707.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">spawn</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_spawn -->
<g id="edge199" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_spawn</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3996,-3142.4C3959.81,-3076.06 3960.79,-3043.78 3896,-3004.87 3797.51,-2945.71 3752.61,-2991.7 3640,-2968.87 3515.59,-2943.64 3488.1,-2922.05 3364,-2895.33 3268,-2874.66 3240.95,-2884.39 3146,-2859.33 3054.43,-2835.17 3036.17,-2814.75 2946,-2785.79 2882.79,-2765.49 2808.67,-2745.74 2761.53,-2733.67"/>
<polygon fill="#d14d05" stroke="black" points="2762.46,-2730.3 2751.91,-2731.22 2760.74,-2737.08 2762.46,-2730.3"/>
</g>
<!-- ahriman_core_status_client -->
<g id="node108" class="node">
<title>ahriman_core_status_client</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#9c4211" stroke="black" cx="6020" cy="-3245.16" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="6020" y="-3259.16" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6020" y="-3248.16" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6020" y="-3237.16" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="6020" y="-3226.16" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">client</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_status_client -->
<g id="edge200" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_status_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5498,-3361.48C5560.99,-3348.47 5573.61,-3333.54 5636,-3317.93 5698.95,-3302.18 5882.36,-3269.87 5970.96,-3254.56"/>
<polygon fill="#d14d05" stroke="black" points="5971.3,-3258.06 5980.55,-3252.91 5970.11,-3251.16 5971.3,-3258.06"/>
</g>
<!-- ahriman_core_status_watcher -->
<g id="node109" class="node">
<title>ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a3f1e" stroke="black" cx="7918" cy="-1320.13" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="7918" y="-1334.13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7918" y="-1323.13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="7918" y="-1312.13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="7918" y="-1301.13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">watcher</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_status_watcher -->
<g id="edge201" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5498,-3361.48C5517.91,-3357.39 5495.71,-3330.09 5512,-3317.93 5583.93,-3264.26 7060.33,-3342.01 7127,-3281.93 7159.16,-3252.94 7169.19,-2938.09 7176,-2895.33 7193.05,-2788.28 7204.14,-2762.73 7222,-2655.81 7234.48,-2581.14 7246,-2562.87 7246,-2487.17 7246,-2487.17 7246,-2487.17 7246,-2062.57 7246,-1762.52 7494.65,-1780.11 7664,-1532.43"/>
<path fill="none" stroke="black" d="M7664,-1530.43C7681.81,-1486.45 7677.17,-1471.1 7702,-1430.67"/>
<path fill="none" stroke="black" d="M7702,-1428.67C7743.64,-1360.87 7796.47,-1395.56 7866,-1356.9 7870.09,-1354.62 7874.27,-1352.11 7878.39,-1349.5"/>
<polygon fill="#d14d05" stroke="black" points="7880.12,-1352.55 7886.56,-1344.14 7876.28,-1346.7 7880.12,-1352.55"/>
</g>
<!-- ahriman_core_status_web_client -->
<g id="node110" class="node">
<title>ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#734126" stroke="black" cx="9444" cy="-2611.26" rx="43.68" ry="36.54"/>
<text text-anchor="middle" x="9444" y="-2625.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9444" y="-2614.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9444" y="-2603.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="9444" y="-2592.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web_client</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_status_web_client -->
<g id="edge202" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5089.79,-3484.51C5381.74,-3472.61 6834.12,-3413.16 6856,-3407.03 6935.12,-3384.85 6938.82,-3339.89 7018,-3317.93 7219.44,-3262.06 7750.91,-3310.4 7958,-3281.93 7967.25,-3280.66 9258.31,-2974.18 9266,-2968.87 9375.27,-2893.42 9417.64,-2853.58 9434,-2721.8"/>
<path fill="none" stroke="black" d="M9434,-2719.8C9434.17,-2699.93 9435.92,-2678.07 9437.9,-2659.29"/>
<polygon fill="#d14d05" stroke="black" points="9441.36,-2659.86 9438.99,-2649.53 9434.4,-2659.09 9441.36,-2659.86"/>
</g>
<!-- ahriman_core_triggers_trigger -->
<g id="node113" class="node">
<title>ahriman_core_triggers_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#915230" stroke="black" cx="4158" cy="-2611.26" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="4158" y="-2625.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4158" y="-2614.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4158" y="-2603.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">triggers.</text>
<text text-anchor="middle" x="4158" y="-2592.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">trigger</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_triggers_trigger -->
<g id="edge203" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_triggers_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4490,-3361.48C4464.76,-3335.95 4499.09,-3317.49 4504,-3281.93 4518.61,-3176.05 4567.97,-3141.77 4528,-3042.64"/>
<path fill="none" stroke="black" d="M4528,-3040.64C4518.39,-3003.55 4465.79,-2903.59 4314,-2785.79 4263.75,-2746.8 4220.44,-2775.27 4186,-2721.8"/>
</g>
<!-- ahriman_core_triggers_trigger_loader -->
<g id="node114" class="node">
<title>ahriman_core_triggers_trigger_loader</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#824a2b" stroke="black" cx="3821" cy="-2611.26" rx="53.07" ry="36.54"/>
<text text-anchor="middle" x="3821" y="-2625.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3821" y="-2614.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="3821" y="-2603.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">triggers.</text>
<text text-anchor="middle" x="3821" y="-2592.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">trigger_loader</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_triggers_trigger_loader -->
<g id="edge204" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_triggers_trigger_loader</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4490,-3244.16C4383.9,-2924.77 4252.22,-2878.21 3972,-2691.81 3941.1,-2671.26 3904.3,-2651.78 3874.76,-2637.24"/>
<polygon fill="#d14d05" stroke="black" points="3876.52,-2634.2 3866,-2632.97 3873.46,-2640.49 3876.52,-2634.2"/>
</g>
<!-- ahriman_core_upload_github -->
<g id="node116" class="node">
<title>ahriman_core_upload_github</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#824a2b" stroke="black" cx="6534" cy="-2368.85" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="6534" y="-2382.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6534" y="-2371.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6534" y="-2360.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload.</text>
<text text-anchor="middle" x="6534" y="-2349.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">github</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_upload_github -->
<g id="edge205" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_upload_github</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5194,-3244.16C5208.9,-3083.17 5319.75,-3069.39 5468,-3004.87 5610.58,-2942.82 5678.23,-3040.96 5816,-2968.87 5887.92,-2931.24 5985.75,-2735.73 6054,-2691.81 6102.26,-2660.75 6130.21,-2687.59 6178,-2655.81 6220.39,-2627.62 6215.38,-2604.04 6250,-2566.71 6305.19,-2507.22 6315.99,-2487.39 6383,-2441.62 6415.91,-2419.14 6456.96,-2400.13 6487.95,-2387.33"/>
<polygon fill="#d14d05" stroke="black" points="6489.1,-2390.64 6497.05,-2383.63 6486.47,-2384.15 6489.1,-2390.64"/>
</g>
<!-- ahriman_core_upload_http_upload -->
<g id="node117" class="node">
<title>ahriman_core_upload_http_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#915230" stroke="black" cx="6741" cy="-2486.17" rx="47.25" ry="36.54"/>
<text text-anchor="middle" x="6741" y="-2500.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6741" y="-2489.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6741" y="-2478.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload.</text>
<text text-anchor="middle" x="6741" y="-2467.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">http_upload</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_upload_http_upload -->
<g id="edge206" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_upload_http_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5083.22,-3472.86C5164.6,-3448.05 5343.88,-3395.31 5498,-3363.48"/>
<path fill="none" stroke="black" d="M5498,-3361.48C5529.85,-3354.9 6579.32,-2993.11 6601,-2968.87 6656.72,-2906.57 6621.51,-2866.29 6644,-2785.79 6669.35,-2695.04 6704.69,-2590.69 6724.97,-2532.48"/>
<polygon fill="#d14d05" stroke="black" points="6728.21,-2533.84 6728.2,-2523.25 6721.6,-2531.53 6728.21,-2533.84"/>
</g>
<!-- ahriman_core_upload_rsync -->
<g id="node118" class="node">
<title>ahriman_core_upload_rsync</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4e2e" stroke="black" cx="6430" cy="-2486.17" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="6430" y="-2500.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6430" y="-2489.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6430" y="-2478.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload.</text>
<text text-anchor="middle" x="6430" y="-2467.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">rsync</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_upload_rsync -->
<g id="edge207" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_upload_rsync</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5194,-3361.48C5206.66,-3345.57 5196.03,-3334.36 5208,-3317.93 5240.22,-3273.72 5268.51,-3284.02 5308,-3246.16"/>
<path fill="none" stroke="black" d="M5308,-3244.16C5431.12,-3126.14 5448.4,-3065 5608,-3004.87 5727.06,-2960.01 5784.15,-3036.38 5892,-2968.87 5925.08,-2948.16 5914.55,-2924.93 5940,-2895.33 6028.56,-2792.34 6053.1,-2764.26 6168,-2691.81 6203.05,-2669.71 6219.8,-2679.2 6254,-2655.81 6299.43,-2624.74 6300.24,-2604.77 6340,-2566.71 6357.06,-2550.38 6376.64,-2532.93 6393.18,-2518.55"/>
<polygon fill="#d14d05" stroke="black" points="6395.1,-2521.51 6400.37,-2512.32 6390.52,-2516.22 6395.1,-2521.51"/>
</g>
<!-- ahriman_core_upload_s3 -->
<g id="node119" class="node">
<title>ahriman_core_upload_s3</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#824a2b" stroke="black" cx="6600" cy="-2486.17" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="6600" y="-2500.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6600" y="-2489.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6600" y="-2478.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload.</text>
<text text-anchor="middle" x="6600" y="-2467.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">s3</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_upload_s3 -->
<g id="edge208" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_upload_s3</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5308,-3244.16C5312.93,-3239.64 5505.07,-3117.5 5511,-3114.41 5548.11,-3095.07 5567.19,-3106.72 5598,-3078.41 5625.09,-3053.52 5605.8,-3025.88 5636,-3004.87 5744.06,-2929.69 5807.44,-3016.91 5930,-2968.87 6001.07,-2941.01 6424.84,-2611.03 6487,-2566.71 6511.16,-2549.49 6538.36,-2530.33 6560.01,-2515.14"/>
<polygon fill="#d14d05" stroke="black" points="6561.82,-2518.15 6568,-2509.54 6557.8,-2512.42 6561.82,-2518.15"/>
</g>
<!-- ahriman_core_upload_upload -->
<g id="node120" class="node">
<title>ahriman_core_upload_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a3a0f" stroke="black" cx="6534" cy="-2611.26" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="6534" y="-2625.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6534" y="-2614.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6534" y="-2603.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload.</text>
<text text-anchor="middle" x="6534" y="-2592.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_upload_upload -->
<g id="edge209" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_upload_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5080.15,-3470.01C5115.14,-3455.28 5166.2,-3432.21 5208,-3407.03 5309.92,-3345.62 5327.37,-3318.29 5422,-3246.16"/>
<path fill="none" stroke="black" d="M5422,-3244.16C5500.4,-3192.96 5511.9,-3168.97 5588,-3114.41 5624.07,-3088.55 5713.69,-3021.08 5755,-3004.87 5844.37,-2969.8 5876.46,-2997.81 5968,-2968.87 5998.4,-2959.26 6465.97,-2746.61 6486,-2721.8"/>
<path fill="none" stroke="black" d="M6486,-2719.8C6488.31,-2717.01 6502.75,-2684.4 6515.2,-2655.82"/>
<polygon fill="#d14d05" stroke="black" points="6518.29,-2657.49 6519.06,-2646.92 6511.87,-2654.7 6518.29,-2657.49"/>
</g>
<!-- ahriman_core_upload_upload_trigger -->
<g id="node121" class="node">
<title>ahriman_core_upload_upload_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#824a2b" stroke="black" cx="4446" cy="-2259.31" rx="54.39" ry="36.54"/>
<text text-anchor="middle" x="4446" y="-2273.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4446" y="-2262.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4446" y="-2251.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload.</text>
<text text-anchor="middle" x="4446" y="-2240.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload_trigger</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_upload_upload_trigger -->
<g id="edge210" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_upload_upload_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5033.72,-3458.25C5028.31,-3432.68 5018.62,-3394.41 5004,-3363.48"/>
<path fill="none" stroke="black" d="M5004,-3361.48C4968.97,-3287.34 4920.75,-3301.23 4860,-3246.16"/>
<path fill="none" stroke="black" d="M4860,-3244.16C4766.11,-3159.05 4702.7,-3180.77 4628,-3078.41 4521.63,-2932.65 4588.24,-2851.38 4504,-2691.81 4494.54,-2673.88 4483.37,-2674.69 4476,-2655.81 4429.6,-2537.01 4426.81,-2494.88 4452,-2369.85"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_web_views_base -->
<g id="edge211" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5090.01,-3484.52C5375.24,-3472.99 6760.5,-3416.57 6780,-3407.03 6826.75,-3384.15 6809.5,-3341.32 6856,-3317.93 6961.85,-3264.68 7271.92,-3305.74 7388,-3281.93 7944.37,-3167.81 8066.14,-3068.93 8594,-2859.33 8705.23,-2815.16 8763.46,-2841.8 8840,-2749.79 8893.52,-2685.46 8841.17,-2638.61 8884,-2566.71 8950.98,-2454.27 9103,-2500.73 9103,-2369.85 9103,-2369.85 9103,-2369.85 9103,-2258.31 9103,-2034.55 9402,-2077.02 9402,-1853.27 9402,-1853.27 9402,-1853.27 9402,-1741.73 9402,-1641.65 9557.24,-1421.04 9563,-1321.13"/>
<path fill="none" stroke="black" d="M9563,-1319.13C9558.94,-1253.8 9564.21,-1234.22 9539,-1173.82 9523.83,-1137.47 9473.79,-1139.16 9487,-1102.05"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_web_web -->
<g id="edge212" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4987.91,-3485.03C4839.91,-3479.95 4413.35,-3460.9 4286,-3407.03 4125.85,-3339.28 4085.52,-3293.48 3996,-3144.4"/>
<path fill="none" stroke="black" d="M3996,-3142.4C3986,-3129.42 3985.02,-3124.35 3972,-3114.41 3942.3,-3091.72 3922.88,-3104.38 3896,-3078.41 3869.54,-3052.85 3888.71,-3025.13 3858,-3004.87 3766.13,-2944.25 3455.87,-3029.49 3364,-2968.87 3333.29,-2948.61 3356.48,-2915.93 3326,-2895.33 3255.71,-2847.85 3026.14,-2887.11 2946,-2859.33 2889.03,-2839.58 2888.62,-2806.51 2832,-2785.79 2715,-2742.97 2653.29,-2825.05 2554,-2749.79 2529.48,-2731.21 2446,-2542.59 2446,-2487.17 2446,-2487.17 2446,-2487.17 2446,-2367.85 2446,-1343.71 3048.89,-1074.83 3980,-648.34"/>
<path fill="none" stroke="black" d="M3980,-646.34C4314.17,-510.89 10122.88,-672.17 10470,-574.57 10473.13,-573.69 10476.26,-572.54 10479.34,-571.22"/>
<polygon fill="#d14d05" stroke="black" points="10480.77,-574.42 10488.16,-566.83 10477.65,-568.15 10480.77,-574.42"/>
</g>
<!-- ahriman_core_database -->
<g id="node52" class="node">
<title>ahriman_core_database</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db5105" stroke="black" cx="8038" cy="-2157.55" rx="39.7" ry="28.98"/>
<text text-anchor="middle" x="8038" y="-2166.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8038" y="-2155.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8038" y="-2144.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database</text>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_application_application_application_properties -->
<g id="edge213" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_application_application_application_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8050.47,-2129.59C8057.37,-2110.59 8062.78,-2085 8053,-2064.57"/>
<path fill="none" stroke="black" d="M8053,-2062.57C8022.6,-1999.01 6905.47,-1717.68 6836,-1705.96 5545.11,-1488.04 5200.73,-1640.07 3894,-1560.42 3317.11,-1525.25 3155.47,-1615.24 2597,-1466.43 2453.07,-1428.09 2438.53,-1360.95 2295,-1321.13"/>
<path fill="none" stroke="black" d="M2295,-1319.13C2205.15,-1294.56 2103.47,-1260.58 2036.8,-1237.44"/>
<polygon fill="#db5105" stroke="black" points="2038.03,-1234.16 2027.43,-1234.17 2035.72,-1240.77 2038.03,-1234.16"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_application_handlers_backup -->
<g id="edge214" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_application_handlers_backup</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8053,-2062.57C8043.02,-2033.78 7138.39,-1513.5 7110,-1502.43 6889.95,-1416.63 6822.66,-1433.52 6590,-1392.9 6517.51,-1380.24 4028.14,-1067.7 3966,-1028.28 3933.04,-1007.37 3939.37,-987.4 3918,-954.74 3881.61,-899.11 3891.3,-866.54 3836,-829.64 3617.04,-683.58 3514.65,-756.69 3254,-720.1 3210.82,-714.04 1724.18,-602.86 1691,-574.57 1632.52,-524.68 1699.05,-464.51 1648,-407.04 1618.56,-373.91 1594.91,-390.32 1555,-371.04 1550.14,-368.7 1545.16,-366.1 1540.23,-363.42"/>
<polygon fill="#db5105" stroke="black" points="1542,-360.4 1531.57,-358.56 1538.58,-366.5 1542,-360.4"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_application_handlers_users -->
<g id="edge215" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8077.08,-2151.5C8300.25,-2122.91 9436.31,-1980.63 10369,-1925.03 11093.44,-1881.85 13478.05,-1857.65 13882.47,-1853.81"/>
<polygon fill="#db5105" stroke="black" points="13882.37,-1857.31 13892.34,-1853.71 13882.31,-1850.31 13882.37,-1857.31"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_auth_auth -->
<g id="edge216" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8077.29,-2153.35C8357.66,-2130.5 10052.63,-1992.41 10366.15,-1966.87"/>
<polygon fill="#db5105" stroke="black" points="10366.36,-1970.36 10376.04,-1966.06 10365.79,-1963.38 10366.36,-1970.36"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_auth_mapping -->
<g id="edge217" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_auth_mapping</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8077.92,-2156.28C8270.64,-2154.75 9124.11,-2145.16 9821,-2092.56 10184.59,-2065.11 10297.75,-2134.72 10636,-1998.57 10639.38,-1997.21 10642.72,-1995.54 10645.98,-1993.68"/>
<polygon fill="#db5105" stroke="black" points="10647.64,-1996.77 10654.15,-1988.41 10643.85,-1990.88 10647.64,-1996.77"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge218" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_auth_oauth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8077.88,-2155.17C8353.36,-2145.46 9977.05,-2085.24 10463,-1998.57 10489.57,-1993.83 10518.59,-1985.8 10542.08,-1978.55"/>
<polygon fill="#db5105" stroke="black" points="10542.86,-1981.97 10551.34,-1975.63 10540.75,-1975.29 10542.86,-1981.97"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge219" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7998.14,-2156.59C7715.15,-2156.7 5980.6,-2154.74 4571,-2092.56 3860.55,-2061.21 2999.52,-1987.96 2770.96,-1967.94"/>
<polygon fill="#db5105" stroke="black" points="2771.39,-1964.47 2761.13,-1967.08 2770.78,-1971.44 2771.39,-1964.47"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge220" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7999.03,-2150.72C7861.28,-2130.39 7384.34,-2062.37 6988,-2034.57 6412.59,-1994.22 4562.96,-1969.2 4135.67,-1963.88"/>
<polygon fill="#db5105" stroke="black" points="4135.9,-1960.38 4125.85,-1963.75 4135.81,-1967.38 4135.9,-1960.38"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_status_watcher -->
<g id="edge221" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8053,-2062.57C8031.33,-2017.27 8113.84,-2012.4 8106,-1962.8"/>
<path fill="none" stroke="black" d="M8106,-1960.8C8090.93,-1865.51 8106,-1840.21 8106,-1743.73 8106,-1743.73 8106,-1743.73 8106,-1632.19 8106,-1542.62 8168.79,-1494.53 8106,-1430.67"/>
<path fill="none" stroke="black" d="M8106,-1428.67C8064.02,-1388.92 8004.64,-1358.12 7963.92,-1339.86"/>
<polygon fill="#db5105" stroke="black" points="7965.42,-1336.7 7954.86,-1335.88 7962.6,-1343.11 7965.42,-1336.7"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_tree -->
<g id="edge222" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_tree</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7997.84,-2156.21C7635.32,-2153.1 4889.03,-2128.97 2662,-2092.56 2155.98,-2084.28 1543.05,-2069.98 1366.05,-2065.77"/>
<polygon fill="#db5105" stroke="black" points="1366.14,-2062.27 1356.06,-2065.53 1365.97,-2069.27 1366.14,-2062.27"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_web_web -->
<g id="edge223" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8076.17,-2148.37C8239.83,-2113.69 8898.92,-1978.2 9448,-1925.03 9579.45,-1912.31 10514.8,-1941.48 10636,-1889.03 10789.32,-1822.69 11103.15,-1511.27 11167,-1356.9 11210.04,-1252.84 11181.98,-1143.85 11092,-954.74 11044.27,-854.43 10938,-868.96 10938,-757.87"/>
</g>
<!-- ahriman_core_database_data&#45;&gt;ahriman_core_database_migrations -->
<g id="edge224" class="edge">
<title>ahriman_core_database_data&#45;&gt;ahriman_core_database_migrations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8307.78,-2453.65C8299.3,-2440.43 8289.32,-2424.89 8280.28,-2410.8"/>
<polygon fill="#7a3f1e" stroke="black" points="8283.36,-2409.12 8275.01,-2402.59 8277.47,-2412.9 8283.36,-2409.12"/>
</g>
<!-- ahriman_core_database_data_package_remotes -->
<g id="node54" class="node">
<title>ahriman_core_database_data_package_remotes</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4e2e" stroke="black" cx="5649" cy="-2486.17" rx="66.44" ry="44.6"/>
<text text-anchor="middle" x="5649" y="-2505.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5649" y="-2494.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5649" y="-2483.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="5649" y="-2472.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">data.</text>
<text text-anchor="middle" x="5649" y="-2461.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package_remotes</text>
</g>
<!-- ahriman_core_database_data_package_remotes&#45;&gt;ahriman_core_database_data -->
<g id="edge225" class="edge">
<title>ahriman_core_database_data_package_remotes&#45;&gt;ahriman_core_database_data</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5714.98,-2493.59C5844.54,-2507.77 6141.41,-2538.18 6392,-2548.71 6443.93,-2550.89 8214.79,-2568.14 8263,-2548.71 8275.71,-2543.59 8287.33,-2534.66 8297.11,-2525.13"/>
<polygon fill="#8a4e2e" stroke="black" points="8299.42,-2527.77 8303.83,-2518.14 8294.38,-2522.92 8299.42,-2527.77"/>
</g>
<!-- ahriman_core_database_data_package_statuses -->
<g id="node55" class="node">
<title>ahriman_core_database_data_package_statuses</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a15b35" stroke="black" cx="8534" cy="-3362.48" rx="67.76" ry="44.6"/>
<text text-anchor="middle" x="8534" y="-3381.98" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8534" y="-3370.98" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8534" y="-3359.98" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="8534" y="-3348.98" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">data.</text>
<text text-anchor="middle" x="8534" y="-3337.98" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package_statuses</text>
</g>
<!-- ahriman_core_database_data_package_statuses&#45;&gt;ahriman_core_database_data -->
<g id="edge226" class="edge">
<title>ahriman_core_database_data_package_statuses&#45;&gt;ahriman_core_database_data</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8475.04,-3340.15C8431.11,-3323.28 8375.92,-3299.69 8359,-3281.93 8256.3,-3174.19 8264.74,-3115.65 8240,-2968.87 8234.57,-2936.64 8227.57,-2925.56 8240,-2895.33 8274.6,-2811.17 8328.02,-2821.53 8384,-2749.79 8414.05,-2711.28 8427.85,-2702.86 8441,-2655.81 8451.66,-2617.67 8459.24,-2601.86 8441,-2566.71 8427.27,-2540.25 8400.25,-2520.74 8376.07,-2507.66"/>
<polygon fill="#a15b35" stroke="black" points="8377.77,-2504.6 8367.28,-2503.14 8374.57,-2510.83 8377.77,-2504.6"/>
</g>
<!-- ahriman_core_database_data_patches -->
<g id="node56" class="node">
<title>ahriman_core_database_data_patches</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b0643a" stroke="black" cx="7922" cy="-2486.17" rx="41.94" ry="44.6"/>
<text text-anchor="middle" x="7922" y="-2505.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7922" y="-2494.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="7922" y="-2483.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="7922" y="-2472.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">data.</text>
<text text-anchor="middle" x="7922" y="-2461.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">patches</text>
</g>
<!-- ahriman_core_database_data_patches&#45;&gt;ahriman_core_database_data -->
<g id="edge227" class="edge">
<title>ahriman_core_database_data_patches&#45;&gt;ahriman_core_database_data</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7964.42,-2486.17C8067.77,-2486.17 8171.11,-2486.17 8274.45,-2486.17"/>
<polygon fill="#b0643a" stroke="black" points="8274.23,-2489.67 8284.23,-2486.17 8274.23,-2482.67 8274.23,-2489.67"/>
</g>
<!-- ahriman_core_database_data_users&#45;&gt;ahriman_core_database_data -->
<g id="edge228" class="edge">
<title>ahriman_core_database_data_users&#45;&gt;ahriman_core_database_data</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2190.26,-2488.3C2381.42,-2497.83 3184.48,-2536.56 3844,-2548.71 3905.36,-2549.84 8206.07,-2571.65 8263,-2548.71 8275.71,-2543.59 8287.33,-2534.66 8297.11,-2525.13"/>
<polygon fill="#b0643a" stroke="black" points="8299.42,-2527.77 8303.83,-2518.14 8294.38,-2522.92 8299.42,-2527.77"/>
</g>
<!-- ahriman_core_database_migrations&#45;&gt;ahriman_core_database_sqlite -->
<g id="edge229" class="edge">
<title>ahriman_core_database_migrations&#45;&gt;ahriman_core_database_sqlite</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8214.04,-2353.23C8160.8,-2333.76 8066.63,-2299.31 8009.11,-2278.27"/>
<polygon fill="#794c34" stroke="black" points="8010.48,-2275.05 7999.89,-2274.9 8008.08,-2281.62 8010.48,-2275.05"/>
</g>
<!-- ahriman_core_database_operations -->
<g id="node59" class="node">
<title>ahriman_core_database_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#9f3b04" stroke="black" cx="6870" cy="-2611.26" rx="43.68" ry="36.54"/>
<text text-anchor="middle" x="6870" y="-2625.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6870" y="-2614.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6870" y="-2603.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="6870" y="-2592.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations</text>
</g>
<!-- ahriman_core_database_operations&#45;&gt;ahriman_core_database_data_package_remotes -->
<g id="edge230" class="edge">
<title>ahriman_core_database_operations&#45;&gt;ahriman_core_database_data_package_remotes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6827.56,-2602.53C6771.37,-2592.6 6669.09,-2575.6 6581,-2566.71 6271.49,-2535.5 6190.91,-2567.37 5882,-2530.71 5828.39,-2524.35 5768.54,-2513.07 5722.92,-2503.59"/>
<polygon fill="#9f3b04" stroke="black" points="5723.93,-2500.23 5713.42,-2501.6 5722.49,-2507.08 5723.93,-2500.23"/>
</g>
<!-- ahriman_core_database_operations&#45;&gt;ahriman_core_database_sqlite -->
<g id="edge231" class="edge">
<title>ahriman_core_database_operations&#45;&gt;ahriman_core_database_sqlite</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6906.83,-2591.33C7005.85,-2541.23 7287.14,-2404.09 7536,-2332.08 7666.39,-2294.35 7825.43,-2274.01 7906.66,-2265.39"/>
<polygon fill="#9f3b04" stroke="black" points="7906.98,-2268.88 7916.56,-2264.36 7906.25,-2261.92 7906.98,-2268.88"/>
</g>
<!-- ahriman_core_database_operations_auth_operations -->
<g id="node60" class="node">
<title>ahriman_core_database_operations_auth_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#915230" stroke="black" cx="10795" cy="-2611.26" rx="60.62" ry="44.6"/>
<text text-anchor="middle" x="10795" y="-2630.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10795" y="-2619.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="10795" y="-2608.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="10795" y="-2597.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations.</text>
<text text-anchor="middle" x="10795" y="-2586.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth_operations</text>
</g>
<!-- ahriman_core_database_operations_auth_operations&#45;&gt;ahriman_core_database_operations -->
<g id="edge232" class="edge">
<title>ahriman_core_database_operations_auth_operations&#45;&gt;ahriman_core_database_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10757.83,-2646.92C10744.19,-2657.72 10727.91,-2668.2 10711,-2673.81 10630.66,-2700.44 7748.57,-2677.13 7664,-2673.81 7385.7,-2662.86 7053.8,-2630.42 6924.93,-2617.09"/>
<polygon fill="#915230" stroke="black" points="6925.64,-2613.64 6915.33,-2616.09 6924.92,-2620.6 6925.64,-2613.64"/>
</g>
<!-- ahriman_core_database_operations_build_operations -->
<g id="node61" class="node">
<title>ahriman_core_database_operations_build_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995733" stroke="black" cx="8370" cy="-2611.26" rx="61.54" ry="44.6"/>
<text text-anchor="middle" x="8370" y="-2630.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8370" y="-2619.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8370" y="-2608.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="8370" y="-2597.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations.</text>
<text text-anchor="middle" x="8370" y="-2586.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">build_operations</text>
</g>
<!-- ahriman_core_database_operations_build_operations&#45;&gt;ahriman_core_database_operations -->
<g id="edge233" class="edge">
<title>ahriman_core_database_operations_build_operations&#45;&gt;ahriman_core_database_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8332.33,-2646.93C8318.51,-2657.73 8302.06,-2668.21 8285,-2673.81 8219.44,-2695.33 7732.95,-2676.52 7664,-2673.81 7385.7,-2662.86 7053.8,-2630.42 6924.93,-2617.09"/>
<polygon fill="#995733" stroke="black" points="6925.64,-2613.64 6915.33,-2616.09 6924.92,-2620.6 6925.64,-2613.64"/>
</g>
<!-- ahriman_core_database_operations_logs_operations -->
<g id="node62" class="node">
<title>ahriman_core_database_operations_logs_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#915230" stroke="black" cx="9322" cy="-2611.26" rx="60.21" ry="44.6"/>
<text text-anchor="middle" x="9322" y="-2630.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9322" y="-2619.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9322" y="-2608.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="9322" y="-2597.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations.</text>
<text text-anchor="middle" x="9322" y="-2586.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">logs_operations</text>
</g>
<!-- ahriman_core_database_operations_logs_operations&#45;&gt;ahriman_core_database_operations -->
<g id="edge234" class="edge">
<title>ahriman_core_database_operations_logs_operations&#45;&gt;ahriman_core_database_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9285.34,-2646.92C9271.86,-2657.72 9255.77,-2668.2 9239,-2673.81 9156.02,-2701.57 7751.43,-2677.25 7664,-2673.81 7385.7,-2662.86 7053.8,-2630.42 6924.93,-2617.09"/>
<polygon fill="#915230" stroke="black" points="6925.64,-2613.64 6915.33,-2616.09 6924.92,-2620.6 6925.64,-2613.64"/>
</g>
<!-- ahriman_core_database_operations_operations -->
<g id="node63" class="node">
<title>ahriman_core_database_operations_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b0643a" stroke="black" cx="5235" cy="-2611.26" rx="45.92" ry="44.6"/>
<text text-anchor="middle" x="5235" y="-2630.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5235" y="-2619.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5235" y="-2608.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="5235" y="-2597.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations.</text>
<text text-anchor="middle" x="5235" y="-2586.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations</text>
</g>
<!-- ahriman_core_database_operations_operations&#45;&gt;ahriman_core_database_operations -->
<g id="edge235" class="edge">
<title>ahriman_core_database_operations_operations&#45;&gt;ahriman_core_database_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5280.67,-2617.17C5386.73,-2630.56 5658.04,-2662.88 5886,-2673.81 5987.77,-2678.69 6708.21,-2711.18 6803,-2673.81 6815.95,-2668.7 6827.88,-2659.78 6837.97,-2650.25"/>
<polygon fill="#b0643a" stroke="black" points="6840.36,-2652.8 6844.92,-2643.24 6835.39,-2647.87 6840.36,-2652.8"/>
</g>
<!-- ahriman_core_database_operations_package_operations -->
<g id="node64" class="node">
<title>ahriman_core_database_operations_package_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#824a2b" stroke="black" cx="6692" cy="-3487.57" rx="73.58" ry="44.6"/>
<text text-anchor="middle" x="6692" y="-3507.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6692" y="-3496.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6692" y="-3485.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="6692" y="-3474.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations.</text>
<text text-anchor="middle" x="6692" y="-3463.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package_operations</text>
</g>
<!-- ahriman_core_database_operations_package_operations&#45;&gt;ahriman_core_database_operations -->
<g id="edge236" class="edge">
<title>ahriman_core_database_operations_package_operations&#45;&gt;ahriman_core_database_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6694.82,-3442.61C6700.28,-3371.96 6715.21,-3229.42 6752,-3114.41 6773.99,-3045.67 6798.93,-3036.54 6824,-2968.87 6828.36,-2957.09 6878.43,-2762.26 6880,-2749.79 6883.79,-2719.69 6881.37,-2685.68 6877.97,-2659.01"/>
<polygon fill="#824a2b" stroke="black" points="6881.45,-2658.62 6876.62,-2649.19 6874.51,-2659.58 6881.45,-2658.62"/>
</g>
<!-- ahriman_core_database_operations_patch_operations -->
<g id="node65" class="node">
<title>ahriman_core_database_operations_patch_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995733" stroke="black" cx="8990" cy="-2611.26" rx="64.19" ry="44.6"/>
<text text-anchor="middle" x="8990" y="-2630.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8990" y="-2619.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8990" y="-2608.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="8990" y="-2597.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations.</text>
<text text-anchor="middle" x="8990" y="-2586.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">patch_operations</text>
</g>
<!-- ahriman_core_database_operations_patch_operations&#45;&gt;ahriman_core_database_operations -->
<g id="edge237" class="edge">
<title>ahriman_core_database_operations_patch_operations&#45;&gt;ahriman_core_database_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8951.32,-2646.94C8937.17,-2657.74 8920.35,-2668.22 8903,-2673.81 8837.48,-2694.92 7732.78,-2676.51 7664,-2673.81 7385.7,-2662.86 7053.8,-2630.42 6924.93,-2617.09"/>
<polygon fill="#995733" stroke="black" points="6925.64,-2613.64 6915.33,-2616.09 6924.92,-2620.6 6925.64,-2613.64"/>
</g>
<!-- ahriman_core_database_sqlite&#45;&gt;ahriman_core_database -->
<g id="edge238" class="edge">
<title>ahriman_core_database_sqlite&#45;&gt;ahriman_core_database</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7983.19,-2228.65C7992.21,-2217.11 8002.58,-2203.84 8011.87,-2191.97"/>
<polygon fill="#995733" stroke="black" points="8014.37,-2194.45 8017.78,-2184.41 8008.86,-2190.14 8014.37,-2194.45"/>
</g>
<!-- ahriman_core_exceptions -->
<g id="node67" class="node">
<title>ahriman_core_exceptions</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f96210" stroke="black" cx="7332" cy="-4880.04" rx="44.6" ry="28.98"/>
<text text-anchor="middle" x="7332" y="-4888.54" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="7332" y="-4877.54" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">core.</text>
<text text-anchor="middle" x="7332" y="-4866.54" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">exceptions</text>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge239" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7376.78,-4878.84C7898.39,-4876.5 12806.61,-4853.48 13108,-4815.04 13291.49,-4791.64 13512,-4900.03 13512,-4715.05 13512,-4715.05 13512,-4715.05 13512,-4547.07 13512,-4464.42 13533.48,-4440.92 13512,-4361.1"/>
<path fill="none" stroke="black" d="M13512,-4359.1C13495.4,-4305.44 13436,-4314.29 13436,-4258.11 13436,-4258.11 13436,-4258.11 13436,-3878.06 13436,-3807.96 13479.78,-3797.97 13536,-3756.09 13569.23,-3731.33 13584.97,-3738.67 13622,-3720.09 13748.16,-3656.77 13789.63,-3642.19 13878,-3532.12 14058.93,-3306.76 14131,-3222.1 14131,-2933.1 14131,-2933.1 14131,-2933.1 14131,-2719.8 14131,-2646.39 14111.41,-2626.63 14069,-2566.71 14038.16,-2523.14 14012.86,-2528.44 13979,-2487.17"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_search -->
<g id="edge240" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13094,-4713.05C13100.33,-4500.64 12855.09,-3973.36 12682,-3850.07 12604.51,-3794.88 12539.62,-3879.96 12471,-3814.07 12376.67,-3723.5 12508,-3415.26 12508,-3363.48 12508,-3363.48 12508,-3363.48 12508,-3040.64 12508,-2970.42 12484.04,-2954.34 12446,-2895.33 12434.24,-2877.09 12422.08,-2879.05 12413,-2859.33 12245.14,-2494.73 12304,-2364.19 12304,-1962.8 12304,-1962.8 12304,-1962.8 12304,-1100.05 12304,-1000.11 12295.06,-974.73 12304,-875.19"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_users -->
<g id="edge241" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13512,-4359.1C13496.47,-4301.02 13572.72,-4310.62 13602,-4258.11 13620.19,-4225.49 13626,-4214.92 13626,-4177.57 13626,-4177.57 13626,-4177.57 13626,-3878.06 13626,-3822.81 13608.34,-3792.38 13650,-3756.09 13756.58,-3663.26 14169.11,-3801 14285,-3720.09 14621.46,-3485.17 14566.05,-3266.25 14619,-2859.33 14628.64,-2785.24 14627.37,-2763.1 14605,-2691.81 14585.56,-2629.84 14444.41,-2364.51 14419,-2332.08 14373.85,-2274.46 14351.69,-2270.05 14296,-2222.54 14157.16,-2104.11 14039.13,-2134.75 13978,-1962.8"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_application_lock -->
<g id="edge242" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13094,-4713.05C13087.28,-4624.43 13284,-4449.98 13284,-4361.1 13284,-4361.1 13284,-4361.1 13284,-4257.11 13284,-4199.37 13381.59,-3797.33 13422,-3756.09 13461.27,-3716.01 13492.09,-3743.67 13543,-3720.09 13681.7,-3655.85 13735.06,-3651.11 13831,-3532.12 13946.78,-3388.54 13979,-3328.85 13979,-3144.4 13979,-3144.4 13979,-3144.4 13979,-3040.64 13979,-2944.16 13956.77,-2917.44 13979,-2823.56"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_remote_aur -->
<g id="edge243" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_remote_aur</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7371.26,-4865.97C7427.95,-4844.34 7526,-4795.32 7526,-4715.05 7526,-4715.05 7526,-4715.05 7526,-4547.07 7526,-4491.82 7524.91,-4475.37 7502,-4425.1 7493.59,-4406.65 7480.58,-4408.27 7474,-4389.1 7465.64,-4364.72 7472,-4356.81 7474,-4331.11 7476.58,-4297.87 7482.27,-4260.93 7487.45,-4231.62"/>
<polygon fill="#f96210" stroke="black" points="7490.88,-4232.33 7489.22,-4221.87 7483.99,-4231.09 7490.88,-4232.33"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_remote_official -->
<g id="edge244" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_remote_official</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7376.71,-4878.53C7612.57,-4875.67 8703.47,-4860.05 8758,-4815.04 8793.25,-4785.95 8782,-4760.76 8782,-4715.05 8782,-4715.05 8782,-4715.05 8782,-3486.57 8782,-3473.57 8557.35,-3090.66 8553,-3078.41 8536.45,-3031.85 8538.24,-3018.1 8534,-2968.87 8531.2,-2936.31 8530.77,-2927.85 8534,-2895.33 8538.91,-2845.92 8545.8,-2834.39 8556,-2785.79 8572.22,-2708.52 8615.84,-2688.13 8594,-2612.26"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_remote_official_syncdb -->
<g id="edge245" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_remote_official_syncdb</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7353.02,-4854.18C7376.72,-4823.55 7412,-4768.9 7412,-4715.05 7412,-4715.05 7412,-4715.05 7412,-4066.03 7412,-4010.78 7425.13,-3998.22 7436,-3944.05 7464.37,-3802.64 7473.91,-3767.77 7501,-3626.1 7519.57,-3528.96 7530.24,-3505.44 7540,-3407.03 7562.45,-3180.66 7513.86,-3119.75 7551,-2895.33 7576.01,-2744.19 7587,-2703.98 7655,-2566.71 7660.51,-2555.59 7667.47,-2544.3 7674.6,-2533.85"/>
<polygon fill="#f96210" stroke="black" points="7677.4,-2535.95 7680.28,-2525.76 7671.67,-2531.93 7677.4,-2535.95"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_repo -->
<g id="edge246" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_repo</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2547,-4713.05C2454.99,-4642.59 2577.23,-4570.72 2585,-4455.09"/>
<path fill="none" stroke="black" d="M2585,-4453.09C2586.6,-4398.81 2583.01,-4384.66 2592,-4331.11 2617.17,-4181.23 2656.51,-4151.33 2685,-4002.04 2751.46,-3653.76 2637.88,-3539 2766,-3208.39 2821.03,-3066.4 2862.93,-3041.39 2970,-2933.1"/>
<path fill="none" stroke="black" d="M2970,-2931.1C3038.81,-2862.69 3122.77,-2913.17 3160,-2823.56"/>
<path fill="none" stroke="black" d="M3160,-2821.56C3182.33,-2767.82 3197.07,-2702.27 3205.21,-2659.01"/>
<polygon fill="#f96210" stroke="black" points="3208.65,-2659.66 3207.01,-2649.19 3201.77,-2658.4 3208.65,-2659.66"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge247" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_auth_oauth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7376.87,-4878.92C7909.74,-4877.44 13010.94,-4862.14 13070,-4815.04 13105.73,-4786.55 13101.57,-4760.13 13094,-4715.05"/>
<path fill="none" stroke="black" d="M13094,-4713.05C13084.9,-4622.69 12875.69,-4480.84 12804,-4425.1 12406.87,-4116.3 12310.34,-4033.97 11891,-3756.09 11864.63,-3738.61 10928.96,-3199.71 10913,-3172.39 10879.04,-3114.27 10933.19,-2624.1 10898,-2566.71 10819.31,-2438.36 10698.77,-2519.25 10600,-2405.62 10577.4,-2379.62 10546.26,-2294.76 10546,-2260.31"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge248" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7300.14,-4859.41C7293.09,-4855.97 7285.48,-4852.89 7278,-4851.04 7127.77,-4813.91 1861.65,-4820.65 1707,-4815.04 1592.6,-4810.89 1548.62,-4856.16 1450,-4798.04"/>
<path fill="none" stroke="black" d="M1450,-4796.04C1417.81,-4777.08 1374,-4649.24 1374,-4632.06 1374,-4632.06 1374,-4632.06 1374,-4453.09 1374,-4196.18 1298,-4136.97 1298,-3880.06 1298,-3880.06 1298,-3880.06 1298,-3040.64 1298,-2821.26 1311.17,-2747.11 1436,-2566.71 1451.17,-2544.78 1464.17,-2548.54 1484,-2530.71 1524.25,-2494.54 1526.03,-2476.98 1567,-2441.62 1649.51,-2370.41 2016.87,-2143.43 2044,-2128.56 2131.18,-2080.76 2151.82,-2063.31 2247,-2034.57 2389.83,-1991.45 2565.49,-1973.35 2654.83,-1966.51"/>
<polygon fill="#f96210" stroke="black" points="2654.85,-1970.01 2664.57,-1965.78 2654.33,-1963.03 2654.85,-1970.01"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_configuration -->
<g id="edge249" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_configuration</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7300.11,-4859.52C7293.06,-4856.07 7285.47,-4852.96 7278,-4851.04 7047.43,-4791.75 3209.03,-4845.23 2994,-4743.04 2979.2,-4736.01 2973.49,-4731.06 2970,-4715.05"/>
<path fill="none" stroke="black" d="M2970,-4713.05C2728.86,-4547.89 3087.59,-4142.61 3095,-4132.02 3147.58,-4056.82 3642.46,-3638.2 3725,-3598.11"/>
<path fill="none" stroke="black" d="M3725,-3596.11C3812.18,-3556.1 3843.57,-3577.81 3939,-3568.12 4333.34,-3528.11 4809.21,-3500.79 4976.9,-3491.8"/>
<polygon fill="#f96210" stroke="black" points="4976.89,-3495.31 4986.69,-3491.28 4976.51,-3488.32 4976.89,-3495.31"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge250" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7300.14,-4859.42C7293.09,-4855.97 7285.48,-4852.9 7278,-4851.04 7032.38,-4790.14 2975.73,-4828.12 2723,-4815.04 2490.25,-4803 1679,-4948.11 1679,-4715.05 1679,-4715.05 1679,-4715.05 1679,-3972.04 1679,-3805.16 1773.33,-3784.79 1825,-3626.1 1884.39,-3443.73 1944.83,-2961.38 2022,-2785.79 2042.33,-2739.53 2046.06,-2722.77 2086,-2691.81 2224.68,-2584.29 2750.55,-2432.87 2923.5,-2384.98"/>
<polygon fill="#f96210" stroke="black" points="2924.2,-2388.42 2932.91,-2382.38 2922.34,-2381.67 2924.2,-2388.42"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge251" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7300.14,-4859.43C7293.09,-4855.98 7285.48,-4852.9 7278,-4851.04 7171.87,-4824.66 3450.35,-4817.08 3341,-4815.04 3072.5,-4810.04 2987.18,-4895.66 2737,-4798.04"/>
<path fill="none" stroke="black" d="M2737,-4796.04C2651.48,-4762.68 2622.6,-4767.12 2547,-4715.05"/>
<path fill="none" stroke="black" d="M2547,-4713.05C2410.77,-4619.22 2395,-4669.51 2395,-4177.57 2395,-4177.57 2395,-4177.57 2395,-3972.04 2395,-3585.61 2361.59,-3458.22 2538,-3114.41 2602.89,-2987.94 2655.8,-2978.6 2771,-2895.33 2822.3,-2858.25 2847.39,-2866.38 2894,-2823.56"/>
<path fill="none" stroke="black" d="M2894,-2821.56C2932.39,-2781.15 2929.5,-2760.1 2970,-2721.8"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_report_report -->
<g id="edge252" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2970,-4713.05C2791.87,-4585.66 3231,-4514.11 3231,-4295.11 3231,-4295.11 3231,-4295.11 3231,-4257.11 3231,-4228.29 4055.11,-3674.77 4081,-3662.1 4208.43,-3599.79 4246.3,-3592.68 4386,-3568.12 4546.62,-3539.89 4966.25,-3589.24 5119,-3532.12 5263.04,-3478.26 5314.84,-3429.53 5358,-3281.93 5375.41,-3222.41 5310.37,-2936.67 5286,-2895.33 5249,-2832.55 5220.08,-2832.32 5164,-2785.79 5143.75,-2768.99 5128.65,-2773.39 5117,-2749.79 5105.59,-2726.68 5110.56,-2716.76 5117,-2691.81 5127.1,-2652.69 5157.36,-2652.5 5161,-2612.26"/>
<path fill="none" stroke="black" d="M5161,-2610.26C5165.93,-2523.6 5236.99,-2443.8 5282.11,-2401.49"/>
<polygon fill="#f96210" stroke="black" points="5284.39,-2404.15 5289.38,-2394.81 5279.65,-2399 5284.39,-2404.15"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge253" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1450,-4796.04C1388.95,-4756.24 1450,-4704.94 1450,-4632.06 1450,-4632.06 1450,-4632.06 1450,-3972.04 1450,-3805 1412,-3765.16 1412,-3598.11 1412,-3598.11 1412,-3598.11 1412,-3361.48 1412,-3234.05 1988.74,-2508.84 2097,-2441.62 2114.87,-2430.52 2822.56,-2307.83 2840,-2296.08 2872.37,-2274.27 2856.37,-2245.41 2888,-2222.54 3151.83,-2031.78 3277.49,-2102.01 3596,-2034.57 3722.26,-2007.84 3870.31,-1986.08 3961.38,-1973.79"/>
<polygon fill="#f96210" stroke="black" points="3961.81,-1977.26 3971.25,-1972.46 3960.87,-1970.32 3961.81,-1977.26"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_sign_gpg -->
<g id="edge254" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_sign_gpg</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2775,-4630.06C2786.51,-4553.15 2775,-4532.85 2775,-4455.09 2775,-4455.09 2775,-4455.09 2775,-4359.1 2775,-3940.49 3907.74,-3429.62 4238,-3172.39 4495.42,-2971.89 4502.55,-2840.49 4793,-2691.81 4854.8,-2660.17 4883.74,-2688.48 4945,-2655.81 4949.78,-2653.26 4954.44,-2650.11 4958.86,-2646.67"/>
<polygon fill="#f96210" stroke="black" points="4961.01,-2649.43 4966.38,-2640.3 4956.48,-2644.09 4961.01,-2649.43"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_status_watcher -->
<g id="edge255" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7322.62,-4851.25C7312.56,-4818.93 7298,-4763.75 7298,-4715.05 7298,-4715.05 7298,-4715.05 7298,-4453.09 7298,-4432.65 7656.33,-1551.37 7664,-1532.43"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_triggers_trigger_loader -->
<g id="edge256" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_triggers_trigger_loader</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2585,-4453.09C2585,-4357.65 2637.89,-4346.05 2675,-4258.11 2696.84,-4206.36 2856,-3842.25 2856,-3786.08 2856,-3786.08 2856,-3786.08 2856,-3690.1 2856,-3138.65 3565.81,-2740.28 3767.9,-2638.04"/>
<polygon fill="#f96210" stroke="black" points="3769.26,-2641.28 3776.62,-2633.66 3766.12,-2635.02 3769.26,-2641.28"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_upload_upload -->
<g id="edge257" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_upload_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6720,-4713.05C6679.23,-4644.34 6858.22,-4467 6876,-4389.1 6881.73,-4363.97 6879.56,-4356.64 6876,-4331.11 6851.32,-4153.99 6822.49,-4113.74 6766,-3944.05 6751.87,-3901.61 6747.13,-3891.39 6730,-3850.07 6677.43,-3723.28 6661.96,-3692.54 6604,-3568.12 6599.86,-3559.24 6293.51,-2942.58 6296,-2933.1"/>
</g>
<!-- ahriman_core_util -->
<g id="node122" class="node">
<title>ahriman_core_util</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c74905" stroke="black" cx="6606" cy="-4548.07" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="6606" y="-4556.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6606" y="-4545.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6606" y="-4534.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">util</text>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_util -->
<g id="edge258" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_util</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6720,-4796.04C6684.14,-4792.89 6738.37,-4746.01 6720,-4715.05"/>
<path fill="none" stroke="black" d="M6720,-4713.05C6654.86,-4603.27 6556.53,-4701.17 6440,-4649.06 6428.07,-4643.73 6403.3,-4635.16 6416,-4632.06"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_models_migration_result -->
<g id="edge259" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_models_migration_result</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7376.96,-4878.88C7890.35,-4877.07 12630.21,-4859.15 12766,-4815.04 12778.43,-4811.01 12788.79,-4811.06 12790,-4798.04"/>
<path fill="none" stroke="black" d="M12790,-4796.04C12803.73,-4648.78 11618.68,-4605.59 11482,-4549.07"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_models_package -->
<g id="edge260" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6720,-4796.04C6549.08,-4781.02 3753.41,-4773.24 3635,-4649.06 3565.98,-4576.67 3605.78,-4511 3657,-4425.1 3712.57,-4331.91 3759.08,-4325.29 3863,-4294.11 4705.83,-4041.3 5762.89,-3839.02 5999.55,-3794.99"/>
<polygon fill="#f96210" stroke="black" points="6000.14,-3798.44 6009.34,-3793.18 5998.87,-3791.56 6000.14,-3798.44"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_models_repository_paths -->
<g id="edge261" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_models_repository_paths</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7299.76,-4859.63C7292.79,-4856.21 7285.32,-4853.1 7278,-4851.04 7055.82,-4788.64 6984.4,-4868.92 6760,-4815.04 6741.22,-4810.53 6739.24,-4799.74 6720,-4798.04"/>
<path fill="none" stroke="black" d="M6720,-4796.04C6384.35,-4766.53 4019.31,-4804.39 3688,-4743.04 3681.12,-4741.77 3674.03,-4739.95 3667.08,-4737.84"/>
<polygon fill="#f96210" stroke="black" points="3668.35,-4734.57 3657.75,-4734.8 3666.18,-4741.23 3668.35,-4734.57"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_models_result -->
<g id="edge262" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_models_result</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2737,-4796.04C2667.2,-4769.13 2775,-4706.87 2775,-4632.06"/>
<path fill="none" stroke="black" d="M2775,-4630.06C2774.63,-4605.7 2764.14,-4601.22 2761,-4577.06 2745.54,-4457.98 2747.35,-4146.44 2799,-4038.04 2808.34,-4018.44 2817.9,-4018.53 2832,-4002.04 3084.6,-3706.56 3080.19,-3568.97 3377,-3317.93 3596.43,-3132.34 3919.5,-2996.15 4037.1,-2950.11"/>
<polygon fill="#f96210" stroke="black" points="4038.37,-2953.37 4046.42,-2946.48 4035.83,-2946.85 4038.37,-2953.37"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge263" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7376.82,-4878.95C7896.09,-4877.85 12753.43,-4866.21 12804,-4815.04 13014.9,-4601.66 12679.28,-4414.74 12424,-4257.11 12049.57,-4025.92 11966.43,-3947.12 11570,-3756.09 11081.76,-3520.81 10955.51,-3458.17 10432,-3317.93 10382.24,-3304.6 10238.05,-3319.68 10203,-3281.93 10190.49,-3268.46 10095,-1981.19 10095,-1962.8 10095,-1962.8 10095,-1962.8 10095,-1632.19 10095,-1542.62 10093.95,-1520.22 10095,-1430.67"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_web_views_status_package -->
<g id="edge264" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12790,-4796.04C12812.03,-4744.02 12763.81,-4728.77 12728,-4685.06 12671.67,-4616.3 12499.63,-4471.8 12424,-4425.1 12332.49,-4368.59 12301.49,-4369.44 12201,-4331.11 11825.27,-4187.81 11734.34,-4138.62 11345,-4038.04 11069.44,-3966.84 10319.41,-3974.02 10084,-3814.07 9918.56,-3701.65 9939.58,-3601.31 9892,-3407.03 9836.96,-3182.28 9839.19,-3122.65 9796,-2895.33 9783.7,-2830.62 9779.29,-2814.69 9768,-2749.79 9744.24,-2613.23 9753.52,-2576.12 9720,-2441.62 9707.54,-2391.62 9699.1,-2380.69 9682,-2332.08 9629.77,-2183.62 9614.02,-2147.45 9563,-1998.57 9546.39,-1950.1 9542.38,-1937.92 9527,-1889.03 9486.24,-1759.49 9481.68,-1725.34 9439,-1596.42 9416.58,-1528.69 9184.13,-1053.58 9221,-992.51"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_web_web -->
<g id="edge265" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7300.14,-4859.41C7293.09,-4855.96 7285.48,-4852.89 7278,-4851.04 6962.91,-4773.2 1757.55,-4859.19 1436,-4815.04 1268.94,-4792.11 1070,-4883.68 1070,-4715.05 1070,-4715.05 1070,-4715.05 1070,-3040.64 1070,-2960.87 1686,-1823.49 1686,-1743.73 1686,-1743.73 1686,-1743.73 1686,-1428.67 1686,-352.07 2892.63,-693.8 3966,-610.57 4146.13,-596.6 10295.94,-622.99 10470,-574.57 10473.13,-573.69 10476.26,-572.56 10479.34,-571.24"/>
<polygon fill="#f96210" stroke="black" points="10480.77,-574.44 10488.17,-566.86 10477.66,-568.17 10480.77,-574.44"/>
</g>
<!-- ahriman_core_formatters -->
<g id="node68" class="node">
<title>ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#953703" stroke="black" cx="12710" cy="-2720.8" rx="43.68" ry="28.98"/>
<text text-anchor="middle" x="12710" y="-2729.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12710" y="-2718.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="12710" y="-2707.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters</text>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge266" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11582,-2610.26C11361.1,-2561.98 11323.39,-2487.59 11102,-2441.62 10882.99,-2396.14 10821.5,-2436.81 10600,-2405.62 10443.46,-2383.57 10408.62,-2353.55 10252,-2332.08 9253.48,-2195.19 8969.02,-2421.79 7989,-2186.54 7464.28,-2060.58 7392.61,-1855.09 6874,-1705.96 6567.15,-1617.71 6480.87,-1635.65 6164,-1596.42 4511.16,-1391.79 4070.66,-1550.39 2433,-1247.36 2313.65,-1225.27 2289.22,-1196.55 2170,-1173.82 1958.7,-1133.52 1706.15,-1114.44 1574.29,-1106.64"/>
<polygon fill="#953703" stroke="black" points="1574.77,-1103.16 1564.59,-1106.07 1574.37,-1110.15 1574.77,-1103.16"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_dump -->
<g id="edge267" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_dump</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13523,-2258.31C13517.19,-2212.63 13886.67,-1633.49 13990.29,-1472.14"/>
<polygon fill="#953703" stroke="black" points="13993.17,-1474.15 13995.63,-1463.84 13987.28,-1470.36 13993.17,-1474.15"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge268" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12753.81,-2720.36C12878.21,-2720.64 13242.72,-2712.21 13523,-2612.26"/>
<path fill="none" stroke="black" d="M13523,-2610.26C13574.53,-2591.88 13514.57,-2541.22 13523,-2487.17"/>
<path fill="none" stroke="black" d="M13523,-2485.17C13530.9,-2434.53 13555.65,-2409.35 13523,-2369.85"/>
<path fill="none" stroke="black" d="M13523,-2367.85C13196.71,-1973.08 12762.09,-2458.73 12404,-2092.56 12280.93,-1966.71 12359.18,-1877.09 12318,-1705.96 12264.91,-1485.29 12190,-1438.55 12190,-1211.59 12190,-1211.59 12190,-1211.59 12190,-1100.05 12190,-897.42 12111.93,-824.07 11938,-720.1 11876.91,-683.59 11391.5,-658.57 11221.53,-650.85"/>
<polygon fill="#953703" stroke="black" points="11221.75,-647.36 11211.6,-650.41 11221.43,-654.35 11221.75,-647.36"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_rebuild -->
<g id="edge269" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13561,-1960.8C13535.05,-1669.74 13713,-1613.34 13713,-1321.13 13713,-1321.13 13713,-1321.13 13713,-1100.05 13713,-926.1 13831.96,-916.65 13903,-757.87"/>
<path fill="none" stroke="black" d="M13903,-755.87C13909.95,-735.4 13917.72,-712.76 13924.34,-693.56"/>
<polygon fill="#953703" stroke="black" points="13927.65,-694.72 13927.6,-684.13 13921.03,-692.44 13927.65,-694.72"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_remove_unknown -->
<g id="edge270" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_remove_unknown</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12665.91,-2719.55C12036.06,-2715.93 4869.37,-2674.33 4851,-2655.81 4823.11,-2627.69 4837.63,-2603.99 4851,-2566.71 4932.6,-2339.23 5044.36,-2303.72 5272,-2222.54 5356.2,-2192.51 6860,-2052.2 6860,-1962.8 6860,-1962.8 6860,-1962.8 6860,-1851.27 6860,-1785.81 6883.02,-1751.5 6836,-1705.96 6630.22,-1506.64 2001.54,-1099.31 1724,-1028.28 1636.28,-1005.83 1620.09,-982.79 1534,-954.74 1269.84,-868.67 1162.57,-945.64 930,-793.64 890.94,-768.12 859.01,-725.09 838.61,-692.46"/>
<polygon fill="#953703" stroke="black" points="841.64,-690.71 833.44,-684 835.66,-694.36 841.64,-690.71"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_search -->
<g id="edge271" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13523,-2367.85C13492.55,-2331.01 13531.22,-2307.39 13523,-2260.31"/>
<path fill="none" stroke="black" d="M13523,-2258.31C13512.11,-2195.96 13448.35,-2227.38 13400,-2186.54 13327.47,-2125.27 12289.19,-968.98 12304,-875.19"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_shell -->
<g id="edge272" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_shell</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13523,-2258.31C13500.98,-2127.74 13570.88,-2094.85 13561,-1962.8"/>
<path fill="none" stroke="black" d="M13561,-1960.8C13556.36,-1921.69 13521.15,-1926.51 13509,-1889.03 13468.89,-1765.32 13476.99,-1722.47 13509,-1596.42 13529.63,-1515.17 13599,-1514.49 13599,-1430.67 13599,-1430.67 13599,-1430.67 13599,-1100.05 13599,-994.56 13675,-980.68 13675,-875.19"/>
<path fill="none" stroke="black" d="M13675,-873.19C13671.31,-800.83 13720.3,-728.2 13755.5,-685.79"/>
<polygon fill="#953703" stroke="black" points="13758,-688.26 13761.8,-678.37 13752.66,-683.73 13758,-688.26"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_status -->
<g id="edge273" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12677.85,-2700.67C12590.92,-2647.41 12348.75,-2488.61 12214,-2296.08 12179.75,-2247.14 12125.88,-2014.94 12091,-1925.03 11969.63,-1612.16 11878.43,-1560.59 11758,-1247.36 11676.89,-1036.38 11790.22,-906.58 11620,-757.87"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_unsafe_commands -->
<g id="edge274" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_unsafe_commands</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12666.01,-2718.66C12514.2,-2714.07 11998.65,-2693.12 11582,-2612.26"/>
<path fill="none" stroke="black" d="M11582,-2610.26C11384.69,-2571.97 8181.41,-2244.64 7989,-2186.54 7520.4,-2045.03 7465.49,-1851.1 6998,-1705.96 6766.2,-1633.99 6700.92,-1644.39 6463,-1596.42 5436.95,-1389.53 5174.7,-1365.23 4153,-1137.82 3396.92,-969.53 3226.04,-841.29 2461,-720.1 2351.41,-702.75 2066.21,-724.84 1963,-684.1 1914.63,-665.01 1919.39,-631.97 1872,-610.57 1785.3,-571.4 1741.53,-625.22 1661,-574.57 1628.9,-554.38 1604.77,-518.52 1589.29,-489.6"/>
<polygon fill="#953703" stroke="black" points="1592.57,-488.33 1584.87,-481.05 1586.35,-491.54 1592.57,-488.33"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_users -->
<g id="edge275" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13523,-2485.17C13583.83,-2335.27 13654.85,-2330.86 13775,-2222.54 13859.91,-2145.99 13959.86,-2177.44 13978,-2064.57"/>
<path fill="none" stroke="black" d="M13978,-2062.57C13976.12,-2018.27 13992.85,-2004.58 13978,-1962.8"/>
<path fill="none" stroke="black" d="M13978,-1960.8C13970.76,-1940.43 13962.94,-1917.81 13956.37,-1898.59"/>
<polygon fill="#953703" stroke="black" points="13959.68,-1897.48 13953.14,-1889.15 13953.06,-1899.74 13959.68,-1897.48"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_versions -->
<g id="edge276" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_versions</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13523,-2610.26C13642.45,-2558.39 13681.12,-2570.87 13805,-2530.71 13946.05,-2484.99 14109.3,-2422.42 14190.91,-2390.46"/>
<polygon fill="#953703" stroke="black" points="14191.96,-2393.81 14199.99,-2386.9 14189.4,-2387.29 14191.96,-2393.81"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_core_report_console -->
<g id="edge277" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_core_report_console</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12666.14,-2719.52C12074.56,-2715.7 5696.99,-2674.12 5654,-2655.81 5592.77,-2629.73 5542.8,-2568.82 5514.46,-2527.8"/>
<polygon fill="#953703" stroke="black" points="5517.42,-2525.92 5508.91,-2519.6 5511.62,-2529.85 5517.42,-2525.92"/>
</g>
<!-- ahriman_core_formatters_aur_printer -->
<g id="node69" class="node">
<title>ahriman_core_formatters_aur_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#915230" stroke="black" cx="12594" cy="-2822.56" rx="45.92" ry="36.54"/>
<text text-anchor="middle" x="12594" y="-2836.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12594" y="-2825.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="12594" y="-2814.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="12594" y="-2803.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">aur_printer</text>
</g>
<!-- ahriman_core_formatters_aur_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge278" class="edge">
<title>ahriman_core_formatters_aur_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12624.78,-2795.09C12640.3,-2781.74 12659.18,-2765.51 12675.22,-2751.71"/>
<polygon fill="#915230" stroke="black" points="12677.35,-2754.49 12682.65,-2745.32 12672.79,-2749.19 12677.35,-2754.49"/>
</g>
<!-- ahriman_core_formatters_build_printer -->
<g id="node70" class="node">
<title>ahriman_core_formatters_build_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a15b35" stroke="black" cx="11873" cy="-2822.56" rx="48.58" ry="36.54"/>
<text text-anchor="middle" x="11873" y="-2836.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11873" y="-2825.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11873" y="-2814.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="11873" y="-2803.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">build_printer</text>
</g>
<!-- ahriman_core_formatters_build_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge279" class="edge">
<title>ahriman_core_formatters_build_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11907.59,-2796.63C11915,-2792.33 11923.02,-2788.41 11931,-2785.79 12065.9,-2741.49 12500.78,-2726.86 12655.08,-2722.99"/>
<polygon fill="#a15b35" stroke="black" points="12654.7,-2726.5 12664.61,-2722.76 12654.53,-2719.5 12654.7,-2726.5"/>
</g>
<!-- ahriman_core_formatters_configuration_printer -->
<g id="node71" class="node">
<title>ahriman_core_formatters_configuration_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a15b35" stroke="black" cx="13366" cy="-2822.56" rx="73.58" ry="36.54"/>
<text text-anchor="middle" x="13366" y="-2836.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13366" y="-2825.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="13366" y="-2814.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="13366" y="-2803.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">configuration_printer</text>
</g>
<!-- ahriman_core_formatters_configuration_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge280" class="edge">
<title>ahriman_core_formatters_configuration_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13314.14,-2796.44C13304,-2792.33 13293.31,-2788.52 13283,-2785.79 13097.6,-2736.66 12868.72,-2725.23 12765.32,-2722.58"/>
<polygon fill="#a15b35" stroke="black" points="12765.53,-2719.09 12755.45,-2722.35 12765.36,-2726.09 12765.53,-2719.09"/>
</g>
<!-- ahriman_core_formatters_package_printer -->
<g id="node72" class="node">
<title>ahriman_core_formatters_package_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#915230" stroke="black" cx="12001" cy="-2822.56" rx="60.62" ry="36.54"/>
<text text-anchor="middle" x="12001" y="-2836.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12001" y="-2825.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="12001" y="-2814.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="12001" y="-2803.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package_printer</text>
</g>
<!-- ahriman_core_formatters_package_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge281" class="edge">
<title>ahriman_core_formatters_package_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12059.93,-2813.27C12195.08,-2794.25 12525.73,-2747.73 12655.99,-2729.4"/>
<polygon fill="#915230" stroke="black" points="12656.31,-2732.89 12665.73,-2728.03 12655.34,-2725.96 12656.31,-2732.89"/>
</g>
<!-- ahriman_core_formatters_patch_printer -->
<g id="node73" class="node">
<title>ahriman_core_formatters_patch_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995733" stroke="black" cx="12998" cy="-2822.56" rx="51.74" ry="36.54"/>
<text text-anchor="middle" x="12998" y="-2836.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12998" y="-2825.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="12998" y="-2814.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="12998" y="-2803.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">patch_printer</text>
</g>
<!-- ahriman_core_formatters_patch_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge282" class="edge">
<title>ahriman_core_formatters_patch_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12960.05,-2797.31C12952.59,-2793.12 12944.68,-2789.06 12937,-2785.79 12879.4,-2761.26 12809.63,-2743.21 12762.78,-2732.64"/>
<polygon fill="#995733" stroke="black" points="12763.67,-2729.26 12753.15,-2730.51 12762.16,-2736.09 12763.67,-2729.26"/>
</g>
<!-- ahriman_core_formatters_printer -->
<g id="node74" class="node">
<title>ahriman_core_formatters_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b0643a" stroke="black" cx="13228" cy="-2822.56" rx="45.92" ry="36.54"/>
<text text-anchor="middle" x="13228" y="-2836.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13228" y="-2825.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="13228" y="-2814.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="13228" y="-2803.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">printer</text>
</g>
<!-- ahriman_core_formatters_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge283" class="edge">
<title>ahriman_core_formatters_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13194.92,-2796.76C13187.97,-2792.51 13180.47,-2788.58 13173,-2785.79 13032.75,-2733.48 12854.22,-2723.33 12765.4,-2721.74"/>
<polygon fill="#b0643a" stroke="black" points="12765.55,-2718.25 12755.5,-2721.6 12765.45,-2725.25 12765.55,-2718.25"/>
</g>
<!-- ahriman_core_formatters_status_printer -->
<g id="node75" class="node">
<title>ahriman_core_formatters_status_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a15b35" stroke="black" cx="12476" cy="-2822.56" rx="53.98" ry="36.54"/>
<text text-anchor="middle" x="12476" y="-2836.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12476" y="-2825.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="12476" y="-2814.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="12476" y="-2803.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status_printer</text>
</g>
<!-- ahriman_core_formatters_status_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge284" class="edge">
<title>ahriman_core_formatters_status_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12515.83,-2797.69C12523.41,-2793.51 12531.37,-2789.36 12539,-2785.79 12578.77,-2767.2 12625.57,-2749.99 12660.14,-2738.12"/>
<polygon fill="#a15b35" stroke="black" points="12661.14,-2741.47 12669.48,-2734.94 12658.88,-2734.85 12661.14,-2741.47"/>
</g>
<!-- ahriman_core_formatters_string_printer -->
<g id="node76" class="node">
<title>ahriman_core_formatters_string_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b0643a" stroke="black" cx="12710" cy="-2822.56" rx="51.74" ry="36.54"/>
<text text-anchor="middle" x="12710" y="-2836.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12710" y="-2825.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="12710" y="-2814.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="12710" y="-2803.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">string_printer</text>
</g>
<!-- ahriman_core_formatters_string_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge285" class="edge">
<title>ahriman_core_formatters_string_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12710,-2785.54C12710,-2777.75 12710,-2769.45 12710,-2761.52"/>
<polygon fill="#b0643a" stroke="black" points="12713.5,-2761.77 12710,-2751.77 12706.5,-2761.77 12713.5,-2761.77"/>
</g>
<!-- ahriman_core_formatters_update_printer -->
<g id="node77" class="node">
<title>ahriman_core_formatters_update_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995733" stroke="black" cx="12873" cy="-2822.56" rx="55.31" ry="36.54"/>
<text text-anchor="middle" x="12873" y="-2836.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12873" y="-2825.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="12873" y="-2814.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="12873" y="-2803.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">update_printer</text>
</g>
<!-- ahriman_core_formatters_update_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge286" class="edge">
<title>ahriman_core_formatters_update_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12833.13,-2797.16C12808.25,-2781.93 12776.3,-2762.37 12751.18,-2747"/>
<polygon fill="#995733" stroke="black" points="12753.21,-2744.14 12742.86,-2741.91 12749.56,-2750.12 12753.21,-2744.14"/>
</g>
<!-- ahriman_core_formatters_user_printer -->
<g id="node78" class="node">
<title>ahriman_core_formatters_user_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995733" stroke="black" cx="13116" cy="-2822.56" rx="48.17" ry="36.54"/>
<text text-anchor="middle" x="13116" y="-2836.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13116" y="-2825.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="13116" y="-2814.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="13116" y="-2803.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">user_printer</text>
</g>
<!-- ahriman_core_formatters_user_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge287" class="edge">
<title>ahriman_core_formatters_user_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13081.22,-2796.86C13074.12,-2792.66 13066.51,-2788.71 13059,-2785.79 12959.61,-2747.14 12835.05,-2731.5 12764.81,-2725.43"/>
<polygon fill="#995733" stroke="black" points="12765.36,-2721.96 12755.11,-2724.62 12764.78,-2728.94 12765.36,-2721.96"/>
</g>
<!-- ahriman_core_formatters_version_printer -->
<g id="node79" class="node">
<title>ahriman_core_formatters_version_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a15b35" stroke="black" cx="13514" cy="-2822.56" rx="56.64" ry="36.54"/>
<text text-anchor="middle" x="13514" y="-2836.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13514" y="-2825.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="13514" y="-2814.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="13514" y="-2803.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">version_printer</text>
</g>
<!-- ahriman_core_formatters_version_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge288" class="edge">
<title>ahriman_core_formatters_version_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13474.23,-2796.32C13466.15,-2792.16 13457.5,-2788.37 13449,-2785.79 13320.95,-2746.92 12913.73,-2728.99 12765.04,-2723.62"/>
<polygon fill="#a15b35" stroke="black" points="12765.58,-2720.13 12755.46,-2723.27 12765.33,-2727.13 12765.58,-2720.13"/>
</g>
<!-- ahriman_core_gitremote -->
<g id="node80" class="node">
<title>ahriman_core_gitremote</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b65520" stroke="black" cx="3628" cy="-2157.55" rx="40.11" ry="28.98"/>
<text text-anchor="middle" x="3628" y="-2166.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3628" y="-2155.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="3628" y="-2144.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">gitremote</text>
</g>
<!-- ahriman_core_gitremote_remote_pull&#45;&gt;ahriman_core_gitremote_remote_pull_trigger -->
<g id="edge289" class="edge">
<title>ahriman_core_gitremote_remote_pull&#45;&gt;ahriman_core_gitremote_remote_pull_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3013.91,-2343.98C3022.16,-2339.32 3031.13,-2334.99 3040,-2332.08 3187.33,-2283.77 3233.97,-2321.03 3387,-2296.08 3415.39,-2291.45 3446.31,-2284.9 3473.33,-2278.67"/>
<polygon fill="#734126" stroke="black" points="3473.84,-2282.14 3482.78,-2276.46 3472.25,-2275.32 3473.84,-2282.14"/>
</g>
<!-- ahriman_core_gitremote_remote_pull_trigger&#45;&gt;ahriman_core_gitremote -->
<g id="edge290" class="edge">
<title>ahriman_core_gitremote_remote_pull_trigger&#45;&gt;ahriman_core_gitremote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3573.97,-2225.09C3582.67,-2214.37 3592.31,-2202.5 3601.02,-2191.78"/>
<polygon fill="#995733" stroke="black" points="3603.52,-2194.25 3607.11,-2184.28 3598.09,-2189.83 3603.52,-2194.25"/>
</g>
<!-- ahriman_core_gitremote_remote_push&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge291" class="edge">
<title>ahriman_core_gitremote_remote_push&#45;&gt;ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3343.73,-2360.08C3409.71,-2349.26 3528.13,-2327.39 3626,-2296.08 3632.22,-2294.09 3638.62,-2291.8 3644.96,-2289.36"/>
<polygon fill="#734126" stroke="black" points="3646.16,-2292.65 3654.15,-2285.7 3643.57,-2286.15 3646.16,-2292.65"/>
</g>
<!-- ahriman_core_gitremote_remote_push_trigger&#45;&gt;ahriman_core_gitremote -->
<g id="edge292" class="edge">
<title>ahriman_core_gitremote_remote_push_trigger&#45;&gt;ahriman_core_gitremote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3681.8,-2224.81C3673.11,-2214.11 3663.51,-2202.28 3654.84,-2191.61"/>
<polygon fill="#824a2b" stroke="black" points="3657.8,-2189.7 3648.78,-2184.14 3652.37,-2194.11 3657.8,-2189.7"/>
</g>
<!-- ahriman_core_log -->
<g id="node85" class="node">
<title>ahriman_core_log</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d14d05" stroke="black" cx="4860" cy="-2822.56" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="4860" y="-2831.06" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4860" y="-2820.06" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4860" y="-2809.06" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log</text>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_application_application_application_properties -->
<g id="edge293" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_application_application_application_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4821.53,-2819.89C4591.26,-2809.89 3402.59,-2758.01 3326,-2749.79 3076.38,-2722.99 2969.14,-2807.38 2769,-2655.81 2703.62,-2606.29 2182.89,-1389.77 2138,-1321.13"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge294" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_application_handlers_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4898.58,-2820.9C5269.97,-2814.57 8201.18,-2764.26 8384,-2749.79 8687.71,-2725.76 8770.89,-2742.34 9063,-2655.81 9152.43,-2629.32 9163.76,-2593.83 9253,-2566.71 9605.31,-2459.65 9705.12,-2472.97 10072,-2441.62 10841.62,-2375.85 13385.61,-2370.35 13805.17,-2369.89"/>
<polygon fill="#d14d05" stroke="black" points="13805.17,-2373.39 13815.17,-2369.88 13805.16,-2366.39 13805.17,-2373.39"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_application_lock -->
<g id="edge295" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4898.68,-2820.94C5297.95,-2814.48 8662.38,-2759.95 9106,-2749.79 11037.53,-2705.56 13409.26,-2627.48 13807.88,-2614.2"/>
<polygon fill="#d14d05" stroke="black" points="13807.71,-2617.71 13817.58,-2613.88 13807.47,-2610.72 13807.71,-2617.71"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_alpm_pacman -->
<g id="edge296" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_alpm_pacman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4898.75,-2820.55C5082.34,-2815.64 5882.97,-2792.71 6538,-2749.79 7011.71,-2718.76 7141.96,-2772.99 7602,-2655.81 7621.15,-2650.93 7641.3,-2642.8 7658.46,-2634.87"/>
<polygon fill="#d14d05" stroke="black" points="7659.82,-2638.09 7667.35,-2630.64 7656.81,-2631.77 7659.82,-2638.09"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_alpm_remote_remote -->
<g id="edge297" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_alpm_remote_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4898.65,-2820.86C5139.62,-2816.4 6428.16,-2790.66 6500,-2749.79 6526.78,-2734.56 6511.34,-2707.25 6538,-2691.81 6596.56,-2657.9 7078.87,-2664.41 7146,-2655.81 7216.9,-2646.73 7713.32,-2563.18 7777,-2530.71 7780.53,-2528.92 7783.98,-2526.78 7787.31,-2524.43"/>
<polygon fill="#d14d05" stroke="black" points="7789.44,-2527.2 7795.16,-2518.28 7785.13,-2521.69 7789.44,-2527.2"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_alpm_repo -->
<g id="edge298" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_alpm_repo</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4821.9,-2818.11C4717.71,-2808.55 4419.3,-2780.41 4172,-2749.79 3822.53,-2706.52 3403.25,-2642.04 3262.09,-2619.98"/>
<polygon fill="#d14d05" stroke="black" points="3262.77,-2616.55 3252.35,-2618.46 3261.68,-2623.46 3262.77,-2616.55"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_auth_auth -->
<g id="edge299" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4898.6,-2820.91C5271.5,-2814.63 8220.65,-2764.47 8237,-2749.79 8288.39,-2703.66 8230.44,-2492.62 8277,-2441.62 8351.6,-2359.89 10056.84,-2031.33 10367.62,-1972.01"/>
<polygon fill="#d14d05" stroke="black" points="10367.85,-1975.53 10377.01,-1970.22 10366.54,-1968.65 10367.85,-1975.53"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge300" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_build_tools_sources</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4821.44,-2820.1C4678.62,-2814.45 4166.35,-2792.29 3746,-2749.79 3558.52,-2730.84 3513.31,-2712.38 3326,-2691.81 3130.96,-2670.38 3070.26,-2723.24 2886,-2655.81 2878.86,-2653.19 2871.8,-2649.5 2865.15,-2645.36"/>
<polygon fill="#d14d05" stroke="black" points="2867.26,-2642.57 2857.01,-2639.9 2863.36,-2648.38 2867.26,-2642.57"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge301" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4836.76,-2799.27C4806.18,-2770.96 4749.75,-2722.14 4694,-2691.81 4651.04,-2668.43 4621.11,-2693.55 4590,-2655.81 4541.84,-2597.39 4566,-2562.87 4566,-2487.17 4566,-2487.17 4566,-2487.17 4566,-2258.31 4566,-2192.14 4549.43,-2163.11 4493,-2128.56 4408.59,-2076.88 3701.55,-2101.71 3603,-2092.56 3286.56,-2063.17 2910.73,-1998.5 2769.96,-1973.22"/>
<polygon fill="#d14d05" stroke="black" points="2770.6,-1969.78 2760.14,-1971.45 2769.36,-1976.67 2770.6,-1969.78"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_database_migrations -->
<g id="edge302" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_database_migrations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4898.67,-2821.51C5059.42,-2820.87 5690.45,-2814.16 6204,-2749.79 6335.28,-2733.34 6364.98,-2710.28 6496,-2691.81 6684.59,-2665.22 6736.38,-2693.83 6923,-2655.81 7221.46,-2595 7276.2,-2505.56 7574,-2441.62 7802.63,-2392.53 8082.03,-2376.49 8198.7,-2371.71"/>
<polygon fill="#d14d05" stroke="black" points="8198.77,-2375.21 8208.62,-2371.31 8198.49,-2368.21 8198.77,-2375.21"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_database_operations_operations -->
<g id="edge303" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_database_operations_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4885.3,-2800.45C4893.37,-2794.77 4902.65,-2789.25 4912,-2785.79 4983.06,-2759.52 5200.34,-2806.12 5251,-2749.79 5271.81,-2726.65 5267.48,-2691.75 5258.12,-2662.89"/>
<polygon fill="#d14d05" stroke="black" points="5261.46,-2661.85 5254.83,-2653.59 5254.86,-2664.19 5261.46,-2661.85"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge304" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4822.41,-2816.14C4701.67,-2798.04 4326.44,-2736.28 4238,-2655.81 4206.77,-2627.39 4238.92,-2591.86 4205,-2566.71 4151.08,-2526.75 3668.3,-2541.15 3602,-2530.71 3387.78,-2496.99 3140.2,-2421.91 3033.04,-2387.58"/>
<polygon fill="#d14d05" stroke="black" points="3034.23,-2384.29 3023.64,-2384.56 3032.09,-2390.95 3034.23,-2384.29"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge305" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4829.08,-2804.95C4740.22,-2758.09 4475.25,-2624.52 4238,-2566.71 4063.29,-2524.15 4010.2,-2571.21 3835,-2530.71 3726.98,-2505.74 3708.02,-2474.03 3602,-2441.62 3517.34,-2415.73 3417.17,-2394.06 3354.34,-2381.51"/>
<polygon fill="#d14d05" stroke="black" points="3355.03,-2378.08 3344.54,-2379.57 3353.67,-2384.95 3355.03,-2378.08"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_report_report -->
<g id="edge306" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4908,-2719.8C4929.77,-2658.77 4994.18,-2702.6 5039,-2655.81 5053.61,-2640.56 5049.81,-2631.72 5058,-2612.26"/>
<path fill="none" stroke="black" d="M5058,-2610.26C5090.87,-2532.14 5084.43,-2498.78 5147,-2441.62 5182.01,-2409.64 5233.29,-2390.75 5270.75,-2380.45"/>
<polygon fill="#d14d05" stroke="black" points="5271.17,-2383.96 5279.95,-2378.03 5269.39,-2377.19 5271.17,-2383.96"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge307" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4874.4,-2795.54C4884.87,-2775.78 4898.77,-2747.69 4908,-2721.8"/>
<path fill="none" stroke="black" d="M4908,-2719.8C4913.51,-2704.37 4896.74,-2702.12 4884,-2691.81 4858.03,-2670.78 4839.67,-2681.24 4818,-2655.81 4665.93,-2477.38 4744.24,-2369.52 4642,-2158.55"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_sign_gpg -->
<g id="edge308" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_sign_gpg</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4908,-2719.8C4918.05,-2691.62 4938.64,-2665.06 4956.91,-2645.4"/>
<polygon fill="#d14d05" stroke="black" points="4959.39,-2647.87 4963.78,-2638.23 4954.33,-2643.02 4959.39,-2647.87"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_spawn -->
<g id="edge309" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_spawn</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4821.54,-2819.72C4705.07,-2814.16 4345.87,-2797.26 4048,-2785.79 3562.76,-2767.11 3440.27,-2785.72 2956,-2749.79 2888.84,-2744.81 2811.6,-2735.19 2762.8,-2728.64"/>
<polygon fill="#d14d05" stroke="black" points="2763.51,-2725.2 2753.13,-2727.33 2762.57,-2732.14 2763.51,-2725.2"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_status_watcher -->
<g id="edge310" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4897.9,-2816.84C5096.69,-2792 6010.6,-2676.8 6031,-2655.81 6083.57,-2601.72 6050,-2562.59 6050,-2487.17 6050,-2487.17 6050,-2487.17 6050,-2367.85 6050,-2302.72 6023.64,-2269.28 6069,-2222.54 6321.38,-1962.45 6561.9,-2276.78 6874,-2092.56 7008.7,-2013.05 6977.75,-1923.38 7091,-1815.5 7326.37,-1591.26 7396.6,-1536.99 7688,-1392.9 7747.53,-1363.46 7821.69,-1342.93 7869.43,-1331.58"/>
<polygon fill="#d14d05" stroke="black" points="7869.97,-1335.05 7878.91,-1329.37 7868.38,-1328.23 7869.97,-1335.05"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_status_web_client -->
<g id="edge311" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4898.59,-2820.95C5258.24,-2815.19 8018.58,-2770.54 8384,-2749.79 8440.1,-2746.61 9339.04,-2677.19 9391,-2655.81 9396.64,-2653.49 9402.15,-2650.35 9407.35,-2646.81"/>
<polygon fill="#d14d05" stroke="black" points="9409.2,-2649.8 9415.13,-2641.02 9405.02,-2644.19 9409.2,-2649.8"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_triggers_trigger -->
<g id="edge312" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_triggers_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4262,-2719.8C4227.5,-2710.05 4199.96,-2679.55 4181.92,-2653.5"/>
<polygon fill="#d14d05" stroke="black" points="4184.99,-2651.81 4176.54,-2645.42 4179.16,-2655.68 4184.99,-2651.81"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_triggers_trigger_loader -->
<g id="edge313" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_triggers_trigger_loader</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4821.53,-2820.23C4732.39,-2816.33 4505.43,-2801.69 4324,-2749.79 4294.93,-2741.48 4291.09,-2730.02 4262,-2721.8"/>
<path fill="none" stroke="black" d="M4262,-2719.8C4127.73,-2681.86 3968.25,-2644.96 3882.65,-2625.81"/>
<polygon fill="#d14d05" stroke="black" points="3883.57,-2622.43 3873.05,-2623.67 3882.05,-2629.26 3883.57,-2622.43"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_upload_upload -->
<g id="edge314" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_upload_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4898.57,-2820.67C5115.31,-2815.21 6182.6,-2782.22 6482,-2655.81 6488.05,-2653.26 6493.92,-2649.75 6499.42,-2645.83"/>
<polygon fill="#d14d05" stroke="black" points="6501.34,-2648.77 6507.08,-2639.86 6497.04,-2643.25 6501.34,-2648.77"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_models_package -->
<g id="edge315" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4898.68,-2824.71C4960.72,-2828.16 5084.36,-2841.82 5172,-2895.33 5191.42,-2907.19 5421.88,-3190.55 5436,-3208.39 5446.99,-3222.27 5801.04,-3710.61 5816,-3720.09 5884.92,-3763.75 5919.24,-3728.45 5996,-3756.09 6000.11,-3757.57 6004.3,-3759.33 6008.42,-3761.25"/>
<polygon fill="#d14d05" stroke="black" points="6006.58,-3764.24 6017.1,-3765.56 6009.7,-3757.97 6006.58,-3764.24"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_web_web -->
<g id="edge316" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4840.13,-2797.3C4779.98,-2723.66 4604,-2506.56 4604,-2487.17 4604,-2487.17 4604,-2487.17 4604,-2258.31 4604,-2193.2 4587.63,-2168.23 4536,-2128.56 4328.25,-1968.91 4158.3,-2170.97 3961,-1998.57 3869.97,-1919.04 3866,-1864.61 3866,-1743.73 3866,-1743.73 3866,-1743.73 3866,-1100.05 3866,-988 4013.8,-982.02 3980,-875.19"/>
<path fill="none" stroke="black" d="M3980,-873.19C3960.78,-825.68 3972.7,-808.6 3980,-757.87"/>
</g>
<!-- ahriman_core_log_filtered_access_logger -->
<g id="node86" class="node">
<title>ahriman_core_log_filtered_access_logger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b8683d" stroke="black" cx="7538" cy="-991.51" rx="80.72" ry="36.54"/>
<text text-anchor="middle" x="7538" y="-1005.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7538" y="-994.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="7538" y="-983.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log.</text>
<text text-anchor="middle" x="7538" y="-972.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">filtered_access_logger</text>
</g>
<!-- ahriman_core_log_filtered_access_logger&#45;&gt;ahriman_web_web -->
<g id="edge317" class="edge">
<title>ahriman_core_log_filtered_access_logger&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7592.18,-964.02C7627.15,-944.21 7670.85,-913.9 7697,-875.19"/>
<path fill="none" stroke="black" d="M7697,-873.19C7708.92,-855.54 7705.7,-847.7 7717,-829.64 7738.91,-794.64 7755.5,-793.72 7776,-757.87"/>
<path fill="none" stroke="black" d="M7776,-755.87C7784.94,-740.25 7782.76,-733.3 7795,-720.1 7815.38,-698.14 7831.62,-706.07 7852,-684.1 7864.24,-670.91 7856.14,-658.5 7871,-648.34"/>
<path fill="none" stroke="black" d="M7871,-646.34C7990.21,-564.77 10331.28,-614.81 10470,-574.57 10473.12,-573.66 10476.25,-572.5 10479.32,-571.16"/>
<polygon fill="#b8683d" stroke="black" points="10480.76,-574.35 10488.14,-566.75 10477.63,-568.09 10480.76,-574.35"/>
</g>
<!-- ahriman_core_log_http_log_handler&#45;&gt;ahriman_core_log_log -->
<g id="edge318" class="edge">
<title>ahriman_core_log_http_log_handler&#45;&gt;ahriman_core_log_log</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5763.72,-3037.62C5570.9,-3028.03 4991.85,-2997.15 4912,-2968.87 4907.47,-2967.26 4902.96,-2965.16 4898.61,-2962.77"/>
<polygon fill="#a15b35" stroke="black" points="4900.43,-2959.78 4890.07,-2957.58 4896.79,-2965.76 4900.43,-2959.78"/>
</g>
<!-- ahriman_core_log_lazy_logging -->
<g id="node88" class="node">
<title>ahriman_core_log_lazy_logging</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c27347" stroke="black" cx="5004" cy="-2932.1" rx="50.41" ry="36.54"/>
<text text-anchor="middle" x="5004" y="-2946.1" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="5004" y="-2935.1" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">core.</text>
<text text-anchor="middle" x="5004" y="-2924.1" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">log.</text>
<text text-anchor="middle" x="5004" y="-2913.1" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">lazy_logging</text>
</g>
<!-- ahriman_core_log_lazy_logging&#45;&gt;ahriman_core_log -->
<g id="edge319" class="edge">
<title>ahriman_core_log_lazy_logging&#45;&gt;ahriman_core_log</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4969.51,-2905.34C4947.38,-2888.81 4918.68,-2867.39 4896.22,-2850.61"/>
<polygon fill="#c27347" stroke="black" points="4898.33,-2847.82 4888.22,-2844.64 4894.14,-2853.43 4898.33,-2847.82"/>
</g>
<!-- ahriman_core_log_log&#45;&gt;ahriman_core_log -->
<g id="edge320" class="edge">
<title>ahriman_core_log_log&#45;&gt;ahriman_core_log</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4860,-2895.29C4860,-2884.99 4860,-2873.7 4860,-2863.18"/>
<polygon fill="#a15b35" stroke="black" points="4863.5,-2863.25 4860,-2853.25 4856.5,-2863.25 4863.5,-2863.25"/>
</g>
<!-- ahriman_core_report -->
<g id="node90" class="node">
<title>ahriman_core_report</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db5105" stroke="black" cx="4273" cy="-2157.55" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="4273" y="-2166.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4273" y="-2155.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4273" y="-2144.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report</text>
</g>
<!-- ahriman_core_report_console&#45;&gt;ahriman_core_report_report -->
<g id="edge321" class="edge">
<title>ahriman_core_report_console&#45;&gt;ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5448.81,-2457.91C5421.81,-2439.59 5386.35,-2415.53 5359.31,-2397.19"/>
<polygon fill="#824a2b" stroke="black" points="5446.72,-2460.72 5456.96,-2463.43 5450.65,-2454.92 5446.72,-2460.72"/>
<polygon fill="#824a2b" stroke="black" points="5361.62,-2394.53 5351.38,-2391.82 5357.69,-2400.33 5361.62,-2394.53"/>
</g>
<!-- ahriman_core_report_jinja_template&#45;&gt;ahriman_core_report_email -->
<g id="edge324" class="edge">
<title>ahriman_core_report_jinja_template&#45;&gt;ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5467,-2332.04C5467,-2324.23 5467,-2315.85 5467,-2307.68"/>
<polygon fill="#8b4118" stroke="black" points="5470.5,-2307.84 5467,-2297.84 5463.5,-2307.84 5470.5,-2307.84"/>
</g>
<!-- ahriman_core_report_jinja_template&#45;&gt;ahriman_core_report_html -->
<g id="edge325" class="edge">
<title>ahriman_core_report_jinja_template&#45;&gt;ahriman_core_report_html</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5430.42,-2341.27C5408.55,-2325.37 5380.76,-2305.18 5358.4,-2288.94"/>
<polygon fill="#8b4118" stroke="black" points="5360.56,-2286.18 5350.41,-2283.14 5356.45,-2291.84 5360.56,-2286.18"/>
</g>
<!-- ahriman_core_report_jinja_template&#45;&gt;ahriman_core_report_telegram -->
<g id="edge326" class="edge">
<title>ahriman_core_report_jinja_template&#45;&gt;ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5519.84,-2359.09C5642.98,-2338.69 5947.65,-2288.2 6066.97,-2268.43"/>
<polygon fill="#8b4118" stroke="black" points="6067.47,-2271.9 6076.76,-2266.81 6066.32,-2264.99 6067.47,-2271.9"/>
</g>
<!-- ahriman_core_report_report&#45;&gt;ahriman_core_report_email -->
<g id="edge328" class="edge">
<title>ahriman_core_report_report&#45;&gt;ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5358.37,-2339.24C5379.78,-2323.69 5406.17,-2304.51 5427.59,-2288.95"/>
<polygon fill="#913807" stroke="black" points="5356.56,-2336.23 5350.53,-2344.94 5360.68,-2341.89 5356.56,-2336.23"/>
<polygon fill="#913807" stroke="black" points="5429.48,-2291.9 5435.51,-2283.19 5425.36,-2286.24 5429.48,-2291.9"/>
</g>
<!-- ahriman_core_report_report&#45;&gt;ahriman_core_report_html -->
<g id="edge329" class="edge">
<title>ahriman_core_report_report&#45;&gt;ahriman_core_report_html</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5319,-2320.7C5319,-2316.36 5319,-2311.96 5319,-2307.61"/>
<polygon fill="#913807" stroke="black" points="5315.5,-2320.53 5319,-2330.53 5322.5,-2320.53 5315.5,-2320.53"/>
<polygon fill="#913807" stroke="black" points="5322.5,-2307.84 5319,-2297.84 5315.5,-2307.84 5322.5,-2307.84"/>
</g>
<!-- ahriman_core_report_report&#45;&gt;ahriman_core_report_report_trigger -->
<g id="edge330" class="edge">
<title>ahriman_core_report_report&#45;&gt;ahriman_core_report_report_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5280.22,-2368.15C5151.31,-2368.48 4725.93,-2363.97 4383,-2296.08 4365.22,-2292.56 4346.31,-2287.08 4329.28,-2281.45"/>
<polygon fill="#913807" stroke="black" points="4330.41,-2278.14 4319.81,-2278.24 4328.16,-2284.77 4330.41,-2278.14"/>
</g>
<!-- ahriman_core_report_report&#45;&gt;ahriman_core_report_telegram -->
<g id="edge331" class="edge">
<title>ahriman_core_report_report&#45;&gt;ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5363.35,-2346.25C5376.2,-2340.81 5390.42,-2335.54 5404,-2332.08 5646.69,-2270.27 5948.64,-2261.3 6066.05,-2260.28"/>
<polygon fill="#913807" stroke="black" points="5362.07,-2342.99 5354.32,-2350.22 5364.88,-2349.4 5362.07,-2342.99"/>
<polygon fill="#913807" stroke="black" points="6066,-2263.78 6075.97,-2260.21 6065.95,-2256.78 6066,-2263.78"/>
</g>
<!-- ahriman_core_report_report_trigger&#45;&gt;ahriman_core_report -->
<g id="edge332" class="edge">
<title>ahriman_core_report_report_trigger&#45;&gt;ahriman_core_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4273,-2222.29C4273,-2214.49 4273,-2206.2 4273,-2198.27"/>
<polygon fill="#824a2b" stroke="black" points="4276.5,-2198.52 4273,-2188.52 4269.5,-2198.52 4276.5,-2198.52"/>
</g>
<!-- ahriman_core_repository -->
<g id="node98" class="node">
<title>ahriman_core_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db5105" stroke="black" cx="3945" cy="-1531.43" rx="42.35" ry="28.98"/>
<text text-anchor="middle" x="3945" y="-1539.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3945" y="-1528.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="3945" y="-1517.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository</text>
</g>
<!-- ahriman_core_repository&#45;&gt;ahriman_application_application_application_properties -->
<g id="edge334" class="edge">
<title>ahriman_core_repository&#45;&gt;ahriman_application_application_application_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3905.8,-1519.95C3882.48,-1514.05 3852.22,-1506.98 3825,-1502.43 3194.87,-1397.32 3018.09,-1497.85 2395,-1356.9 2348.96,-1346.48 2338.77,-1338.8 2295,-1321.13"/>
</g>
<!-- ahriman_core_repository&#45;&gt;ahriman_core_status_watcher -->
<g id="edge335" class="edge">
<title>ahriman_core_repository&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3987.58,-1529.76C4289.86,-1524.74 6142.47,-1489.46 7643,-1356.9 7722.25,-1349.89 7813.77,-1337.03 7868.7,-1328.79"/>
<polygon fill="#db5105" stroke="black" points="7868.99,-1332.28 7878.35,-1327.33 7867.94,-1325.36 7868.99,-1332.28"/>
</g>
<!-- ahriman_core_repository_cleaner -->
<g id="node99" class="node">
<title>ahriman_core_repository_cleaner</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b45c2d" stroke="black" cx="3976" cy="-1852.27" rx="43.68" ry="36.54"/>
<text text-anchor="middle" x="3976" y="-1866.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3976" y="-1855.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="3976" y="-1844.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository.</text>
<text text-anchor="middle" x="3976" y="-1833.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">cleaner</text>
</g>
<!-- ahriman_core_repository_cleaner&#45;&gt;ahriman_core_repository_executor -->
<g id="edge336" class="edge">
<title>ahriman_core_repository_cleaner&#45;&gt;ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3940.48,-1830.28C3911.54,-1813.18 3870.5,-1788.93 3839.22,-1770.45"/>
<polygon fill="#b45c2d" stroke="black" points="3841.13,-1767.51 3830.74,-1765.43 3837.57,-1773.53 3841.13,-1767.51"/>
</g>
<!-- ahriman_core_repository_cleaner&#45;&gt;ahriman_core_repository_update_handler -->
<g id="edge337" class="edge">
<title>ahriman_core_repository_cleaner&#45;&gt;ahriman_core_repository_update_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3968.47,-1816.05C3966.72,-1807.88 3964.83,-1799.04 3962.99,-1790.46"/>
<polygon fill="#b45c2d" stroke="black" points="3966.46,-1789.91 3960.94,-1780.87 3959.61,-1791.38 3966.46,-1789.91"/>
</g>
<!-- ahriman_core_repository_repository -->
<g id="node101" class="node">
<title>ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4e2e" stroke="black" cx="3945" cy="-1633.19" rx="43.68" ry="36.54"/>
<text text-anchor="middle" x="3945" y="-1647.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3945" y="-1636.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="3945" y="-1625.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository.</text>
<text text-anchor="middle" x="3945" y="-1614.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository</text>
</g>
<!-- ahriman_core_repository_executor&#45;&gt;ahriman_core_repository_repository -->
<g id="edge338" class="edge">
<title>ahriman_core_repository_executor&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3826.76,-1718.39C3849.05,-1702.52 3878.74,-1681.38 3902.79,-1664.25"/>
<polygon fill="#734126" stroke="black" points="3904.69,-1667.19 3910.81,-1658.54 3900.63,-1661.49 3904.69,-1667.19"/>
</g>
<!-- ahriman_core_repository_repository&#45;&gt;ahriman_core_repository -->
<g id="edge339" class="edge">
<title>ahriman_core_repository_repository&#45;&gt;ahriman_core_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3945,-1596.17C3945,-1588.37 3945,-1580.08 3945,-1572.15"/>
<polygon fill="#8a4e2e" stroke="black" points="3948.5,-1572.39 3945,-1562.39 3941.5,-1572.39 3948.5,-1572.39"/>
</g>
<!-- ahriman_core_repository_repository_properties&#45;&gt;ahriman_core_repository_cleaner -->
<g id="edge340" class="edge">
<title>ahriman_core_repository_repository_properties&#45;&gt;ahriman_core_repository_cleaner</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4024.34,-1926.48C4017.57,-1916.22 4010.07,-1904.87 4003.05,-1894.23"/>
<polygon fill="#734126" stroke="black" points="4006.03,-1892.39 3997.59,-1885.97 4000.18,-1896.25 4006.03,-1892.39"/>
</g>
<!-- ahriman_core_repository_update_handler&#45;&gt;ahriman_core_repository_repository -->
<g id="edge341" class="edge">
<title>ahriman_core_repository_update_handler&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3950.34,-1705.92C3949.75,-1698.03 3949.12,-1689.55 3948.5,-1681.29"/>
<polygon fill="#824a2b" stroke="black" points="3952,-1681.06 3947.76,-1671.35 3945.02,-1681.58 3952,-1681.06"/>
</g>
<!-- ahriman_core_sign -->
<g id="node104" class="node">
<title>ahriman_core_sign</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#ce6f3b" stroke="black" cx="4898" cy="-2611.26" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="4898" y="-2619.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="4898" y="-2608.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">core.</text>
<text text-anchor="middle" x="4898" y="-2597.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">sign</text>
</g>
<!-- ahriman_core_sign&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge342" class="edge">
<title>ahriman_core_sign&#45;&gt;ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4919.49,-2587.08C4927.04,-2579.86 4935.92,-2572.33 4945,-2566.71 4965.76,-2553.87 5277.49,-2439.19 5409.08,-2391.01"/>
<polygon fill="#ce6f3b" stroke="black" points="5410.13,-2394.35 5418.32,-2387.63 5407.73,-2387.78 5410.13,-2394.35"/>
</g>
<!-- ahriman_core_sign&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge343" class="edge">
<title>ahriman_core_sign&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4884.07,-2584.07C4864.72,-2546.03 4830.65,-2472.72 4818,-2405.62 4802.93,-2325.66 4809.25,-2303.44 4818,-2222.54 4821.13,-2193.59 4848.53,-2182.52 4832,-2158.55"/>
<path fill="none" stroke="black" d="M4832,-2156.55C4760.87,-2063.48 4621.37,-2175.92 4585,-2064.57"/>
</g>
<!-- ahriman_core_sign_gpg&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge344" class="edge">
<title>ahriman_core_sign_gpg&#45;&gt;ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5029.3,-2600.87C5067.12,-2591.52 5127.41,-2577.11 5180,-2566.71 5276.76,-2547.57 5318.43,-2587.62 5399,-2530.71 5417.05,-2517.96 5409.69,-2504.81 5423,-2487.17"/>
<path fill="none" stroke="black" d="M5423,-2485.17C5427.52,-2479.17 5440.3,-2445.12 5450.93,-2415.56"/>
<polygon fill="#8b4722" stroke="black" points="5454.15,-2416.95 5454.22,-2406.36 5447.56,-2414.6 5454.15,-2416.95"/>
</g>
<!-- ahriman_core_sign_gpg&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge345" class="edge">
<title>ahriman_core_sign_gpg&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4987.03,-2574.76C4974.17,-2493.6 4933.42,-2291.25 4832,-2158.55"/>
</g>
<!-- ahriman_core_spawn&#45;&gt;ahriman_application_handlers_web -->
<g id="edge346" class="edge">
<title>ahriman_core_spawn&#45;&gt;ahriman_application_handlers_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2693.98,-2695.71C2677.08,-2674.61 2652.99,-2642.66 2636,-2612.26"/>
<path fill="none" stroke="black" d="M2636,-2610.26C2581.32,-2512.45 2560,-2481.91 2560,-2369.85 2560,-2369.85 2560,-2369.85 2560,-2258.31 2560,-1841.42 2599,-1738.01 2599,-1321.13 2599,-1321.13 2599,-1321.13 2599,-755.87 2599,-662.85 2522.92,-600.1 2599,-546.57"/>
</g>
<!-- ahriman_core_spawn&#45;&gt;ahriman_web_views_base -->
<g id="edge347" class="edge">
<title>ahriman_core_spawn&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2752.77,-2718.84C2904.77,-2715.09 3474.71,-2701.2 3944,-2691.81 4059.94,-2689.49 5922.71,-2697.29 6031,-2655.81 6166.69,-2603.83 6157.96,-2523.49 6278,-2441.62 6364.64,-2382.53 6391.73,-2375.93 6487,-2332.08 6810.88,-2183.01 6898.68,-2161.14 7232,-2034.57 7366.26,-1983.59 7398.25,-1965.65 7536,-1925.03 8156.93,-1741.96 8322.9,-1736.13 8955,-1596.42 9030.84,-1579.66 9060.02,-1601.38 9126,-1560.42 9346.31,-1423.64 9388.33,-1341.86 9487,-1102.05"/>
<path fill="none" stroke="black" d="M9487,-1100.05C9495.7,-1070.77 9517.13,-1043.94 9536.42,-1024.39"/>
<polygon fill="#ae511e" stroke="black" points="9538.73,-1027.03 9543.43,-1017.54 9533.84,-1022.03 9538.73,-1027.03"/>
</g>
<!-- ahriman_core_spawn&#45;&gt;ahriman_web_web -->
<g id="edge348" class="edge">
<title>ahriman_core_spawn&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2636,-2610.26C2569.5,-2446.05 2556.79,-1921.16 2699,-1815.5 2786.64,-1750.38 3082.79,-1804.81 3189,-1779.5 3312.17,-1750.14 3346.4,-1739.83 3452,-1669.96 3559.86,-1598.58 3582.78,-1570.19 3660,-1466.43 3725.66,-1378.22 3735.2,-1349.87 3775,-1247.36 3823.67,-1121.99 3797.54,-1077.7 3852,-954.74 3894.26,-859.31 3962.54,-860.77 3980,-757.87"/>
<path fill="none" stroke="black" d="M3980,-755.87C3986.81,-708.57 3936.55,-668.24 3980,-648.34"/>
</g>
<!-- ahriman_core_status -->
<g id="node107" class="node">
<title>ahriman_core_status</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f96210" stroke="black" cx="7080" cy="-3245.16" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="7080" y="-3253.66" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="7080" y="-3242.66" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">core.</text>
<text text-anchor="middle" x="7080" y="-3231.66" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">status</text>
</g>
<!-- ahriman_core_status&#45;&gt;ahriman_application_lock -->
<g id="edge349" class="edge">
<title>ahriman_core_status&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7118.45,-3243.71C7622.8,-3237.83 12920.03,-3176.01 12929,-3172.39 13007.07,-3140.9 13001.81,-3095.91 13067,-3042.64"/>
<path fill="none" stroke="black" d="M13067,-3040.64C13098.45,-3013.72 13113.15,-3016.07 13153,-3004.87 13253.45,-2976.63 13285.01,-2998.71 13385,-2968.87 13460.77,-2946.26 13471.74,-2919.58 13547,-2895.33 13624.65,-2870.31 13650.66,-2888.1 13727,-2859.33 13756.77,-2848.11 13763.44,-2842.5 13789,-2823.56"/>
<path fill="none" stroke="black" d="M13789,-2821.56C13841.95,-2780.98 13858.5,-2700.22 13863.67,-2651.74"/>
<polygon fill="#f96210" stroke="black" points="13867.14,-2652.24 13864.59,-2641.96 13860.17,-2651.59 13867.14,-2652.24"/>
</g>
<!-- ahriman_core_status&#45;&gt;ahriman_core_log_http_log_handler -->
<g id="edge350" class="edge">
<title>ahriman_core_status&#45;&gt;ahriman_core_log_http_log_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7042.47,-3238.13C6867.45,-3210 6130.15,-3091.52 5897,-3054.05"/>
<polygon fill="#f96210" stroke="black" points="5897.87,-3050.64 5887.44,-3052.51 5896.76,-3057.56 5897.87,-3050.64"/>
</g>
<!-- ahriman_core_status&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge351" class="edge">
<title>ahriman_core_status&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7043.08,-3236.09C6947.82,-3215.34 6685.86,-3158.6 6467,-3114.41 6214.13,-3063.35 6153.3,-3034.17 5897,-3004.87 5791.83,-2992.85 5034.36,-3025.62 4945,-2968.87 4913.94,-2949.15 4934.42,-2919.86 4907,-2895.33 4873.66,-2865.5 4843.59,-2891.97 4813,-2859.33 4623.67,-2657.32 4617.64,-2536.1 4642,-2260.31"/>
</g>
<!-- ahriman_core_status&#45;&gt;ahriman_web_views_base -->
<g id="edge352" class="edge">
<title>ahriman_core_status&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7116.63,-3235.85C7324.59,-3188.16 8356.55,-2944.54 8612,-2749.79 8689.37,-2690.81 8677.39,-2647.23 8732,-2566.71 8825.39,-2429.04 8947,-2426.67 8947,-2260.31 8947,-2260.31 8947,-2260.31 8947,-2062.57 8947,-1935.02 9022.75,-1921.96 9093,-1815.5 9198.96,-1654.91 9253.56,-1633.48 9349,-1466.43 9375.28,-1420.44 9376.64,-1406.21 9396,-1356.9 9439.96,-1244.95 9452.75,-1217.34 9487,-1102.05"/>
</g>
<!-- ahriman_core_status&#45;&gt;ahriman_web_web -->
<g id="edge353" class="edge">
<title>ahriman_core_status&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7084.78,-3216.27C7095.36,-3153.03 7120.48,-2993.76 7129,-2859.33 7137.23,-2729.54 7130.41,-2696.76 7129,-2566.71 7128.25,-2497.5 7074.2,-1384.51 7102,-1321.13"/>
</g>
<!-- ahriman_core_status_client&#45;&gt;ahriman_application_lock -->
<g id="edge354" class="edge">
<title>ahriman_core_status_client&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6051.78,-3224.47C6063.9,-3218.03 6078.15,-3211.68 6092,-3208.39 6183.94,-3186.55 12814.43,-3220.11 12896,-3172.39 12921.59,-3157.42 12910.3,-3137.42 12929,-3114.41 12975.37,-3057.34 12989.23,-3041.48 13053,-3004.87 13061.42,-3000.03 13375.56,-2897.62 13385,-2895.33 13484.71,-2871.18 13521.31,-2905.34 13613,-2859.33 13714.15,-2808.58 13800.81,-2702.81 13841.4,-2647.57"/>
<polygon fill="#9c4211" stroke="black" points="13844.05,-2649.89 13847.09,-2639.74 13838.38,-2645.78 13844.05,-2649.89"/>
</g>
<!-- ahriman_core_status_client&#45;&gt;ahriman_core_log_http_log_handler -->
<g id="edge355" class="edge">
<title>ahriman_core_status_client&#45;&gt;ahriman_core_log_http_log_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5994.64,-3217.82C5961.37,-3183.25 5902.68,-3122.3 5864.07,-3082.18"/>
<polygon fill="#9c4211" stroke="black" points="5866.66,-3079.82 5857.2,-3075.05 5861.61,-3084.68 5866.66,-3079.82"/>
</g>
<!-- ahriman_core_status_client&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge356" class="edge">
<title>ahriman_core_status_client&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5981.15,-3244.12C5823.05,-3242.24 5217.23,-3218.31 4813,-2968.87 4793.82,-2957.03 4562.61,-2677.02 4555,-2655.81 4514.2,-2542.15 4622.96,-2338.14 4642,-2260.31"/>
<path fill="none" stroke="black" d="M4642,-2258.31C4645.9,-2214.14 4657.72,-2200 4642,-2158.55"/>
<path fill="none" stroke="black" d="M4642,-2156.55C4624.94,-2111.58 4599.93,-2110.28 4585,-2064.57"/>
</g>
<!-- ahriman_core_status_client&#45;&gt;ahriman_core_status_web_client -->
<g id="edge357" class="edge">
<title>ahriman_core_status_client&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6062.63,-3219.88C6072.05,-3215.4 6082.16,-3211.24 6092,-3208.39 6932.27,-2964.65 7177.05,-3063.46 8050,-3004.87 8115.49,-3000.47 9174.57,-3002.4 9231,-2968.87 9263.55,-2949.53 9254.7,-2927.9 9274,-2895.33 9324.9,-2809.44 9385.22,-2709.4 9418.59,-2654.22"/>
<polygon fill="#9c4211" stroke="black" points="6061.07,-3216.75 6053.69,-3224.34 6064.2,-3223.01 6061.07,-3216.75"/>
<polygon fill="#9c4211" stroke="black" points="9421.54,-2656.11 9423.72,-2645.75 9415.55,-2652.49 9421.54,-2656.11"/>
</g>
<!-- ahriman_core_status_watcher&#45;&gt;ahriman_web_views_base -->
<g id="edge358" class="edge">
<title>ahriman_core_status_watcher&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7956.47,-1316.75C8055.66,-1310.19 8327.94,-1289.48 8551,-1247.36 8675.74,-1223.8 8703.98,-1205.15 8827,-1173.82 9089.76,-1106.89 9406.01,-1031.84 9524.8,-1003.84"/>
<polygon fill="#7a3f1e" stroke="black" points="9525.26,-1007.32 9534.2,-1001.62 9523.66,-1000.51 9525.26,-1007.32"/>
</g>
<!-- ahriman_core_status_watcher&#45;&gt;ahriman_web_web -->
<g id="edge359" class="edge">
<title>ahriman_core_status_watcher&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7887.38,-1298.14C7821.93,-1250.44 7675.96,-1127.47 7697,-992.51"/>
</g>
<!-- ahriman_core_tree&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge361" class="edge">
<title>ahriman_core_tree&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1321.85,-2034.46C1339.1,-1952.26 1391.77,-1705.3 1444,-1502.43 1464.9,-1421.25 1505.85,-1404.38 1496,-1321.13"/>
<path fill="none" stroke="black" d="M1496,-1319.13C1488.92,-1271.76 1483.5,-1259.17 1489,-1211.59"/>
</g>
<!-- ahriman_core_triggers -->
<g id="node112" class="node">
<title>ahriman_core_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d14d05" stroke="black" cx="3882" cy="-2486.17" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="3882" y="-2494.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3882" y="-2483.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="3882" y="-2472.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">triggers</text>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_core_gitremote_remote_pull_trigger -->
<g id="edge362" class="edge">
<title>ahriman_core_triggers&#45;&gt;ahriman_core_gitremote_remote_pull_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3853.73,-2466.19C3797.34,-2428.34 3670.19,-2342.99 3598.56,-2294.92"/>
<polygon fill="#d14d05" stroke="black" points="3600.77,-2292.18 3590.51,-2289.52 3596.87,-2298 3600.77,-2292.18"/>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge363" class="edge">
<title>ahriman_core_triggers&#45;&gt;ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3879.24,-2456.98C3877.85,-2433.19 3878.02,-2398.53 3887,-2369.85"/>
<path fill="none" stroke="black" d="M3887,-2367.85C3902.57,-2318.13 3844.02,-2290.29 3789.97,-2275.46"/>
<polygon fill="#d14d05" stroke="black" points="3790.92,-2272.09 3780.36,-2272.96 3789.15,-2278.87 3790.92,-2272.09"/>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_core_report_report_trigger -->
<g id="edge364" class="edge">
<title>ahriman_core_triggers&#45;&gt;ahriman_core_report_report_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3887,-2367.85C3906.54,-2305.46 4105.46,-2276.71 4209.82,-2265.84"/>
<polygon fill="#d14d05" stroke="black" points="4210.05,-2269.34 4219.64,-2264.84 4209.34,-2262.37 4210.05,-2269.34"/>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge365" class="edge">
<title>ahriman_core_triggers&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3887,-2367.85C3917.75,-2269.65 3903.27,-2219.74 3986,-2158.55"/>
<path fill="none" stroke="black" d="M3986,-2156.55C4089.21,-2070.04 4626.81,-2192.58 4585,-2064.57"/>
<path fill="none" stroke="black" d="M4585,-2062.57C4557.34,-1977.86 4281.27,-1963.73 4135.75,-1962.22"/>
<polygon fill="#d14d05" stroke="black" points="4136.19,-1958.73 4126.16,-1962.14 4136.13,-1965.73 4136.19,-1958.73"/>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_core_upload_upload_trigger -->
<g id="edge366" class="edge">
<title>ahriman_core_triggers&#45;&gt;ahriman_core_upload_upload_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3915.09,-2470.69C3979.02,-2442.87 4124.16,-2380.39 4248,-2332.08 4294.55,-2313.92 4347.82,-2294.7 4387.37,-2280.72"/>
<polygon fill="#d14d05" stroke="black" points="4388.45,-2284.05 4396.72,-2277.43 4386.13,-2277.45 4388.45,-2284.05"/>
</g>
<!-- ahriman_core_triggers_trigger&#45;&gt;ahriman_core_triggers -->
<g id="edge367" class="edge">
<title>ahriman_core_triggers_trigger&#45;&gt;ahriman_core_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4123.32,-2594.8C4072.97,-2572.34 3979.66,-2530.72 3925,-2506.34"/>
<polygon fill="#915230" stroke="black" points="3926.55,-2503.2 3915.99,-2502.32 3923.69,-2509.59 3926.55,-2503.2"/>
</g>
<!-- ahriman_core_triggers_trigger_loader&#45;&gt;ahriman_core_triggers -->
<g id="edge368" class="edge">
<title>ahriman_core_triggers_trigger_loader&#45;&gt;ahriman_core_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3837.83,-2576.3C3845.95,-2559.92 3855.7,-2540.24 3863.97,-2523.55"/>
<polygon fill="#824a2b" stroke="black" points="3866.92,-2525.47 3868.23,-2514.96 3860.65,-2522.37 3866.92,-2525.47"/>
</g>
<!-- ahriman_core_upload -->
<g id="node115" class="node">
<title>ahriman_core_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db5105" stroke="black" cx="4446" cy="-2157.55" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="4446" y="-2166.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4446" y="-2155.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4446" y="-2144.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload</text>
</g>
<!-- ahriman_core_upload_github&#45;&gt;ahriman_core_upload_upload -->
<g id="edge369" class="edge">
<title>ahriman_core_upload_github&#45;&gt;ahriman_core_upload_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6534,-2405.69C6534,-2447.44 6534,-2516.57 6534,-2562.76"/>
<polygon fill="#824a2b" stroke="black" points="6530.5,-2562.76 6534,-2572.76 6537.5,-2562.76 6530.5,-2562.76"/>
</g>
<!-- ahriman_core_upload_http_upload&#45;&gt;ahriman_core_upload_github -->
<g id="edge370" class="edge">
<title>ahriman_core_upload_http_upload&#45;&gt;ahriman_core_upload_github</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6707.78,-2459.97C6698.94,-2453.68 6689.27,-2447.16 6680,-2441.62 6647.28,-2422.08 6608.49,-2403.2 6579.12,-2389.71"/>
<polygon fill="#915230" stroke="black" points="6580.69,-2386.57 6570.14,-2385.62 6577.79,-2392.95 6580.69,-2386.57"/>
</g>
<!-- ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_http_upload -->
<g id="edge373" class="edge">
<title>ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_http_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6566.34,-2591.03C6600.73,-2570.58 6655.41,-2538.06 6694.43,-2514.86"/>
<polygon fill="#8a3a0f" stroke="black" points="6695.89,-2518.07 6702.69,-2509.95 6692.31,-2512.05 6695.89,-2518.07"/>
</g>
<!-- ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_rsync -->
<g id="edge374" class="edge">
<title>ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_rsync</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6503.12,-2573.71C6489.72,-2557.85 6474.06,-2539.31 6460.68,-2523.47"/>
<polygon fill="#8a3a0f" stroke="black" points="6500.3,-2575.79 6509.42,-2581.17 6505.64,-2571.27 6500.3,-2575.79"/>
<polygon fill="#8a3a0f" stroke="black" points="6463.61,-2521.52 6454.48,-2516.14 6458.26,-2526.04 6463.61,-2521.52"/>
</g>
<!-- ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_s3 -->
<g id="edge375" class="edge">
<title>ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_s3</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6556.4,-2568.48C6563.24,-2555.72 6570.76,-2541.7 6577.6,-2528.94"/>
<polygon fill="#8a3a0f" stroke="black" points="6553.52,-2566.44 6551.88,-2576.91 6559.69,-2569.75 6553.52,-2566.44"/>
<polygon fill="#8a3a0f" stroke="black" points="6580.56,-2530.83 6582.2,-2520.36 6574.39,-2527.52 6580.56,-2530.83"/>
</g>
<!-- ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_upload_trigger -->
<g id="edge376" class="edge">
<title>ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_upload_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6532.61,-2574.35C6529.02,-2535.21 6516.89,-2473.88 6477,-2441.62 6316.76,-2312.03 4832.67,-2320.13 4628,-2296.08 4587.74,-2291.35 4543.07,-2282.62 4508.06,-2274.97"/>
<polygon fill="#8a3a0f" stroke="black" points="4509.05,-2271.61 4498.53,-2272.86 4507.53,-2278.44 4509.05,-2271.61"/>
</g>
<!-- ahriman_core_upload_upload_trigger&#45;&gt;ahriman_core_upload -->
<g id="edge377" class="edge">
<title>ahriman_core_upload_upload_trigger&#45;&gt;ahriman_core_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4446,-2222.29C4446,-2214.49 4446,-2206.2 4446,-2198.27"/>
<polygon fill="#824a2b" stroke="black" points="4449.5,-2198.52 4446,-2188.52 4442.5,-2198.52 4449.5,-2198.52"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_application_ahriman -->
<g id="edge378" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6644.33,-4544.35C6726.74,-4538.63 6926.96,-4525.34 7095,-4519.08 8021.61,-4484.58 8256.02,-4547.84 9181,-4483.08 10131.15,-4416.55 10367.79,-4373.48 11308,-4221.11 11585.92,-4176.07 11656.71,-4167.61 11929,-4096.02 12319.65,-3993.31 12420.23,-3969.63 12793,-3814.07 13157.87,-3661.8 13232.91,-3588.84 13584,-3407.03 14133.15,-3122.65 14666.22,-3326.65 14795,-2721.8"/>
<path fill="none" stroke="black" d="M14795,-2719.8C14810.83,-2092.95 14581.47,-1947.52 14610,-1321.13"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge379" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6567.34,-4546.95C6241.84,-4545.82 3963.73,-4536.06 3665,-4483.08 3409.26,-4437.73 3357.88,-4377.81 3112,-4294.11 2899.64,-4221.82 2850.18,-4191.92 2634,-4132.02 2371.47,-4059.27 2285.19,-4109.82 2035,-4002.04 1631.65,-3828.27 637.17,-3168.94 506,-2749.79 474.66,-2649.63 549.48,-2504.4 582,-2441.62 591.32,-2423.62 601.55,-2424.04 610,-2405.62 662.4,-2291.44 639.25,-2251.3 666,-2128.56 703.4,-1956.93 699.11,-1909.91 756,-1743.73"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_application_lock -->
<g id="edge380" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6644.33,-4544.38C6726.75,-4538.69 6926.97,-4525.47 7095,-4519.08 7518.32,-4502.97 8579.39,-4524.37 9001,-4483.08 9061.21,-4477.18 12709.31,-3823.84 12728,-3814.07 12812.65,-3769.8 12811.5,-3728.68 12880,-3662.1 12998.38,-3547.05 13032.64,-3523.13 13150,-3407.03 13189.12,-3368.32 13187.12,-3343.22 13236,-3317.93 13329.84,-3269.37 13378.24,-3332.52 13471,-3281.93 13672.4,-3172.09 13623.79,-3025.04 13813,-2895.33 13879.3,-2849.88 13959.1,-2901.44 13979,-2823.56"/>
<path fill="none" stroke="black" d="M13979,-2821.56C13987.74,-2785.36 13928.06,-2696.26 13892.04,-2646.79"/>
<polygon fill="#c74905" stroke="black" points="13895.04,-2644.95 13886.3,-2638.96 13889.39,-2649.09 13895.04,-2644.95"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_alpm_remote_aur -->
<g id="edge381" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_alpm_remote_aur</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6634,-4453.09C6631.85,-4398.5 6811.66,-4382.33 6862,-4361.1"/>
<path fill="none" stroke="black" d="M6862,-4359.1C7072.56,-4270.35 7340.08,-4209.88 7448.77,-4187.36"/>
<polygon fill="#c74905" stroke="black" points="7449.43,-4190.79 7458.52,-4185.35 7448.02,-4183.94 7449.43,-4190.79"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_alpm_remote_official -->
<g id="edge382" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_alpm_remote_official</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6862,-4359.1C6913.12,-4340.7 6927.39,-4339.94 6981,-4331.11 7107.88,-4310.23 8036.5,-4306.09 8133,-4221.11 8162.16,-4195.44 8210,-3918.91 8210,-3880.06 8210,-3880.06 8210,-3880.06 8210,-3596.11 8210,-3274.32 8257.76,-3187.78 8392,-2895.33 8416.72,-2841.48 8432.11,-2832.94 8468,-2785.79 8525.73,-2709.95 8618.02,-2704.5 8594,-2612.26"/>
<path fill="none" stroke="black" d="M8594,-2610.26C8584.05,-2575.7 8558.62,-2543.89 8536.43,-2521.27"/>
<polygon fill="#c74905" stroke="black" points="8539.09,-2518.97 8529.52,-2514.43 8534.16,-2523.95 8539.09,-2518.97"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_alpm_repo -->
<g id="edge383" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_alpm_repo</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4181,-4359.1C4060.62,-4141.03 3918.31,-4184.74 3749,-4002.04 3492.96,-3725.74 3435.23,-3634.28 3302,-3281.93 3218.17,-3060.22 3211.23,-2771.21 3212.03,-2659.34"/>
<polygon fill="#c74905" stroke="black" points="3215.52,-2659.68 3212.12,-2649.65 3208.52,-2659.61 3215.52,-2659.68"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge384" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_build_tools_sources</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4181,-4453.09C4089.97,-4425.3 4092.4,-4368.78 4005,-4331.11 3787.26,-4237.29 3690.46,-4335.9 3483,-4221.11 3434.84,-4194.47 3444.69,-4159.5 3397,-4132.02 3246.26,-4045.15 3189.15,-4063.22 3017,-4038.04 2934.56,-4025.98 2331.23,-4056.29 2268,-4002.04 2150.27,-3901.01 2211.25,-3449.46 2129,-3317.93 2115.05,-3295.62 2093.65,-3305.52 2082,-3281.93 2067.53,-3252.62 2078.98,-3240.94 2082,-3208.39 2099.63,-3018.13 2090.75,-2963.48 2161,-2785.79 2179.22,-2739.71 2178.58,-2717.42 2221,-2691.81 2302.9,-2642.36 2555.61,-2671.41 2650,-2655.81 2690.83,-2649.06 2736.16,-2637.67 2770.45,-2628.23"/>
<polygon fill="#c74905" stroke="black" points="2771.02,-2631.7 2779.72,-2625.65 2769.15,-2624.96 2771.02,-2631.7"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge385" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6567.55,-4546.11C6266.85,-4538.58 4301.01,-4488.17 4181,-4455.09"/>
<path fill="none" stroke="black" d="M4181,-4453.09C4093.42,-4428.94 3477.77,-4262.7 3397,-4221.11 3339.83,-4191.67 3342.25,-4157 3283,-4132.02 3173.07,-4085.68 3130.88,-4131.56 3017,-4096.02 2962.74,-4079.08 2957.91,-4052.75 2903,-4038.04 2757.26,-3998.99 2355.8,-4077.25 2225,-4002.04 2198.29,-3986.68 2204.92,-3969.12 2187,-3944.05 2175.21,-3927.56 2169.51,-3925.39 2159,-3908.05 1892.77,-3468.79 1761.96,-3284.97 1883,-2785.79 1922.03,-2624.81 1909.87,-2559.73 2026,-2441.62 2246.91,-2216.93 2545.98,-2445.57 2676,-2158.55"/>
<path fill="none" stroke="black" d="M2676,-2156.55C2669.89,-2116.13 2647.29,-2093.67 2676,-2064.57"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_database_operations_logs_operations -->
<g id="edge386" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_database_operations_logs_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6643.11,-4540.02C6873.18,-4496.26 8097.08,-4262.11 8166,-4221.11 8318.32,-4130.51 9047.63,-3098.67 9198,-3004.87 9253.24,-2970.41 9291.29,-3012.07 9340,-2968.87 9352.94,-2957.39 9396.47,-2840.86 9396,-2823.56"/>
<path fill="none" stroke="black" d="M9396,-2821.56C9395.35,-2764.89 9371.04,-2704.27 9350.45,-2662.94"/>
<polygon fill="#c74905" stroke="black" points="9353.66,-2661.53 9346.01,-2654.21 9347.43,-2664.7 9353.66,-2661.53"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_formatters_aur_printer -->
<g id="edge387" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_formatters_aur_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6644.33,-4544.4C6726.75,-4538.76 6926.97,-4525.63 7095,-4519.08 7481.23,-4504.03 8449.56,-4523.18 8834,-4483.08 8880.99,-4478.18 12129.22,-3856.64 12176,-3850.07 12262.19,-3837.96 12490.95,-3858.15 12566,-3814.07 12666.33,-3755.14 12682.67,-3710.17 12714,-3598.11"/>
<path fill="none" stroke="black" d="M12714,-3596.11C12738.98,-3300.56 12679.66,-3226.76 12638,-2933.1"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge388" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4181,-4453.09C4141.59,-4442.22 4201.74,-4396.33 4181,-4361.1"/>
<path fill="none" stroke="black" d="M4181,-4359.1C4172.69,-4344.98 4170.94,-4339.73 4157,-4331.11 3985.92,-4225.33 3910.85,-4278.28 3718,-4221.11 3477.86,-4149.93 3430.8,-4086.18 3185,-4038.04 3114.89,-4024.3 2597.26,-4048.51 2543,-4002.04 2483.97,-3951.47 2418.17,-3392.71 2397,-3317.93 2363.31,-3198.93 2157.2,-2882.73 2234,-2785.79 2262.35,-2750.01 2589.15,-2700.33 2634,-2691.81 2742.99,-2671.1 2792.82,-2723.13 2881,-2655.81 2897.78,-2642.99 2887.4,-2629.21 2900,-2612.26"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_report_email -->
<g id="edge389" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6527,-4257.11C6509.69,-4226.29 6546.55,-4207.02 6527,-4177.57"/>
<path fill="none" stroke="black" d="M6527,-4175.57C6489.09,-4118.46 5944,-4042.58 5944,-3974.04 5944,-3974.04 5944,-3974.04 5944,-3486.57 5944,-3304.85 5962.66,-3260.05 5968,-3078.41 5968.63,-3056.94 5980.53,-2709.25 5968,-2691.81 5938.72,-2651.06 5893.17,-2694.31 5861,-2655.81 5778.64,-2557.23 5910.53,-2459.98 5819,-2369.85"/>
<path fill="none" stroke="black" d="M5819,-2367.85C5732.51,-2290.54 5591.68,-2268.8 5517.07,-2262.69"/>
<polygon fill="#c74905" stroke="black" points="5517.42,-2259.21 5507.19,-2261.95 5516.9,-2266.19 5517.42,-2259.21"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge390" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6527,-4294.11C6513.66,-4285.27 6537.05,-4270.56 6527,-4258.11"/>
<path fill="none" stroke="black" d="M6527,-4257.11C6354.41,-4043.24 6175.26,-4220.01 5930,-4096.02 5870.17,-4065.77 5854.86,-4053.59 5812,-4002.04 5781.75,-3965.65 5782.59,-3950.65 5762,-3908.05 5723.85,-3829.09 5710.73,-3807.34 5702,-3720.09 5675.14,-3451.71 5773.66,-3382.02 5740,-3114.41 5733.73,-3064.55 5743.21,-3044.25 5712,-3004.87 5690.52,-2977.76 5660.93,-2998.45 5643,-2968.87 5626.06,-2940.92 5627,-2923.83 5643,-2895.33 5658.04,-2868.54 5679.65,-2880.4 5702,-2859.33 5745.11,-2818.68 5760.3,-2806.34 5778,-2749.79 5796.8,-2689.7 5761.79,-2672.66 5744,-2612.26"/>
<path fill="none" stroke="black" d="M5744,-2610.26C5723.88,-2538.04 5793.99,-2500.83 5748,-2441.62 5721.74,-2407.81 5606.42,-2387.25 5531.91,-2377.26"/>
<polygon fill="#c74905" stroke="black" points="5532.65,-2373.82 5522.28,-2376 5531.74,-2380.76 5532.65,-2373.82"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_report_telegram -->
<g id="edge391" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6527,-4175.57C6472.39,-4094.51 6602.75,-4071.01 6615,-3974.04"/>
<path fill="none" stroke="black" d="M6615,-3972.04C6616.03,-3925.12 6563.27,-3942.13 6531,-3908.05 6520.66,-3897.13 6522.31,-3891.01 6512,-3880.06"/>
<path fill="none" stroke="black" d="M6512,-3878.06C6310.1,-3663.74 6300.79,-3565.91 6223,-3281.93 6199.02,-3194.39 6209.78,-3169.1 6206,-3078.41 6202.6,-2996.96 6198.87,-2974.8 6217,-2895.33 6242.19,-2784.91 6265.68,-2762.39 6304,-2655.81 6330.91,-2580.94 6342.61,-2563.79 6364,-2487.17"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_repository_executor -->
<g id="edge392" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6567.28,-4547.06C6294.59,-4546.87 4659.73,-4543.21 4167,-4483.08 3974.11,-4459.54 3926.24,-4444.56 3740,-4389.1 3670.31,-4368.34 3655.19,-4356.37 3587,-4331.11 3452.26,-4281.21 3413.17,-4281.96 3283,-4221.11 3211.71,-4187.79 3203.8,-4159.33 3130,-4132.02 2913.02,-4051.72 2847.33,-4068.59 2618,-4038.04 2522.73,-4025.34 2274.64,-4041.49 2187,-4002.04 1974.37,-3906.3 1937.8,-3827.93 1821,-3626.1 1688.5,-3397.15 1662.88,-3332.12 1588,-3078.41 1574.01,-3031.02 1577.34,-3017.57 1569,-2968.87 1552.34,-2871.54 1540.25,-2848.19 1532,-2749.79 1529.85,-2724.11 1523.64,-2716.18 1532,-2691.81 1538.58,-2672.64 1548.93,-2672.79 1560,-2655.81 1620.06,-2563.66 1609.59,-2522.63 1684,-2441.62 2042.57,-2051.27 2186.56,-1950.93 2699,-1815.5 2898.57,-1762.75 3544.87,-1747.88 3738.61,-1744.55"/>
<polygon fill="#c74905" stroke="black" points="3738.46,-1748.06 3748.4,-1744.39 3738.34,-1741.06 3738.46,-1748.06"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_repository_repository -->
<g id="edge393" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6567.44,-4546.88C6254.55,-4545.29 4136.37,-4532.67 3858,-4483.08 3730.84,-4460.43 3703.15,-4436.51 3583,-4389.1 3524.53,-4366.02 3512.49,-4354.13 3454,-4331.11 3312.49,-4275.43 3265.99,-4289.18 3130,-4221.11 3067.36,-4189.76 3065.86,-4155.86 3000,-4132.02 2839.66,-4073.96 2782.18,-4142.11 2618,-4096.02 2561.36,-4080.12 2555.72,-4053.66 2499,-4038.04 2407.41,-4012.8 2154.61,-4050.67 2073,-4002.04 2046.53,-3986.26 2058.18,-3964.35 2035,-3944.05 2007.18,-3919.7 1989.29,-3930.62 1960,-3908.05 1916.55,-3874.57 1911.69,-3858.84 1880,-3814.07 1470.59,-3235.74 1281.41,-2720.01 1786,-2222.54 2031.15,-1980.85 2112.46,-1904.53 2445,-1815.5 2994.98,-1668.25 3690.64,-1640.35 3889.59,-1635.28"/>
<polygon fill="#c74905" stroke="black" points="3889.46,-1638.78 3899.37,-1635.04 3889.29,-1631.78 3889.46,-1638.78"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge394" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6568.72,-4540.51C6290.79,-4491.51 4546.53,-4182.1 4325,-4096.02 4100.08,-4008.62 4043.93,-3971.45 3861,-3814.07 3682.31,-3660.34 3609.99,-3625.3 3521,-3407.03 3471.26,-3285.03 3412.26,-2341.91 3468,-2222.54 3478.55,-2199.96 3491.96,-2202.63 3511,-2186.54 3541.34,-2160.91 3544.53,-2148.28 3579,-2128.56 3621.46,-2104.27 3636.85,-2108.77 3683,-2092.56 3784.81,-2056.79 3902.37,-2014.75 3975.71,-1988.44"/>
<polygon fill="#c74905" stroke="black" points="3976.54,-1991.85 3984.77,-1985.18 3974.18,-1985.27 3976.54,-1991.85"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_sign_gpg -->
<g id="edge395" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_sign_gpg</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6634,-4453.09C6659.87,-4372.33 6606.33,-4325.08 6527,-4295.11"/>
<path fill="none" stroke="black" d="M6527,-4294.11C6207.26,-4175.3 6095.6,-4296.8 5763,-4221.11 5133.68,-4077.9 4924.71,-4095.89 4400,-3720.09 4312.65,-3657.53 4283.83,-3633.41 4248,-3532.12 4234.79,-3494.79 4234.79,-3480.35 4248,-3443.03 4283.83,-3341.8 4769.7,-2755.71 4856,-2691.81 4890.29,-2666.42 4908.98,-2678.68 4945,-2655.81 4949.46,-2652.98 4953.88,-2649.7 4958.13,-2646.23"/>
<polygon fill="#c74905" stroke="black" points="4960.14,-2649.12 4965.41,-2639.93 4955.56,-2643.83 4960.14,-2649.12"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_status_web_client -->
<g id="edge396" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6643.86,-4542.98C6762.66,-4530.15 7138.68,-4489.48 7450,-4455.09"/>
<path fill="none" stroke="black" d="M7450,-4453.09C7461.39,-4451.83 8231.82,-4226.39 8242,-4221.11 8841.19,-3910.39 9194.61,-3808.9 9313,-3144.4"/>
<path fill="none" stroke="black" d="M9313,-3142.4C9316.59,-3117.82 9443.8,-2991.52 9454,-2968.87 9480.87,-2909.18 9492.24,-2887.45 9478,-2823.56"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_upload_github -->
<g id="edge397" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_upload_github</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6512,-3784.08C6467.28,-3312.85 6709.14,-3219.71 6766,-2749.79 6769.1,-2724.21 6766.97,-2717.56 6766,-2691.81 6764.67,-2656.38 6752.67,-2646.95 6760,-2612.26"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_upload_http_upload -->
<g id="edge398" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_upload_http_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6634,-4453.09C6656.94,-4382.06 6691,-4369.75 6691,-4295.11 6691,-4295.11 6691,-4295.11 6691,-4066.03 6691,-3933.45 6794,-3918.65 6794,-3786.08 6794,-3786.08 6794,-3786.08 6794,-3596.11 6794,-3491.97 6791.03,-3464.56 6766,-3363.48"/>
<path fill="none" stroke="black" d="M6766,-3361.48C6740.5,-3254.14 6764.31,-3221.7 6790,-3114.41 6798.09,-3080.63 6836.55,-3001.99 6847,-2968.87 6890.09,-2832.33 6905.99,-2797.97 6923,-2655.81 6927.7,-2616.49 6946.67,-2598.46 6923,-2566.71 6889.46,-2521.74 6852.41,-2555.35 6802,-2530.71 6795.4,-2527.49 6788.75,-2523.57 6782.38,-2519.42"/>
<polygon fill="#c74905" stroke="black" points="6784.79,-2516.82 6774.56,-2514.08 6780.85,-2522.61 6784.79,-2516.82"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_upload_rsync -->
<g id="edge399" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_upload_rsync</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6512,-3878.06C6483.97,-3848.3 6523.01,-3825.45 6512,-3786.08"/>
<path fill="none" stroke="black" d="M6512,-3784.08C6474.19,-3648.81 6418.98,-3627.74 6400,-3488.57"/>
<path fill="none" stroke="black" d="M6400,-3486.57C6354.25,-3320.94 6220,-3316.24 6220,-3144.4 6220,-3144.4 6220,-3144.4 6220,-3040.64 6220,-2975.18 6217.46,-2955.17 6244,-2895.33 6300.23,-2768.55 6364.59,-2769.51 6444,-2655.81 6456.65,-2637.69 6464.5,-2634.08 6468,-2612.26"/>
<path fill="none" stroke="black" d="M6468,-2610.26C6469.89,-2582.72 6461.12,-2553.11 6451.53,-2529.84"/>
<polygon fill="#c74905" stroke="black" points="6454.75,-2528.46 6447.56,-2520.68 6448.33,-2531.25 6454.75,-2528.46"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_upload_s3 -->
<g id="edge400" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_upload_s3</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6400,-3486.57C6382.14,-3362.45 6464.34,-3049.89 6510,-2933.1"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_aur_package -->
<g id="edge401" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_models_aur_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7450,-4453.09C7495.87,-4448.02 7504.41,-4432.31 7550,-4425.1 7937.51,-4363.81 8040.22,-4409.87 8432,-4389.1 8562.8,-4382.16 8715.88,-4371.58 8799.21,-4365.61"/>
<polygon fill="#c74905" stroke="black" points="8799.27,-4369.12 8808.99,-4364.91 8798.77,-4362.13 8799.27,-4369.12"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_build_status -->
<g id="edge402" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_models_build_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6644.19,-4544.48C6944.7,-4524.09 8917.45,-4390.21 8921,-4389.1 9008.66,-4361.72 9276,-4269.4 9276,-4177.57 9276,-4177.57 9276,-4177.57 9276,-4066.03 9276,-3896.08 9887.42,-3814.08 10082.76,-3792.22"/>
<polygon fill="#c74905" stroke="black" points="10083.15,-3795.7 10092.7,-3791.12 10082.38,-3788.74 10083.15,-3795.7"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_counters -->
<g id="edge403" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_models_counters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6644.34,-4544.65C6726.78,-4539.51 6927.04,-4527.27 7095,-4519.08 7521.91,-4498.27 8602.23,-4503.7 9014,-4389.1 9578.35,-4232.03 9851.6,-4285.01 10200,-3814.07 10217.41,-3790.54 10221.65,-3757.4 10221.82,-3731.6"/>
<polygon fill="#c74905" stroke="black" points="10225.32,-3731.78 10221.67,-3721.83 10218.32,-3731.89 10225.32,-3731.78"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_package -->
<g id="edge404" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6527,-4175.57C6467.94,-4088.47 6364.63,-4182.02 6304,-4096.02 6289.15,-4074.96 6297.47,-4062.96 6304,-4038.04 6312.27,-4006.47 6363.7,-3996.48 6340,-3974.04"/>
<path fill="none" stroke="black" d="M6340,-3972.04C6218.84,-3861.11 5988.87,-4044.2 5982,-3880.06"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_package_description -->
<g id="edge405" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_models_package_description</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6615,-3972.04C6617.16,-3954.96 6617.5,-3935.95 6617.17,-3919.66"/>
<polygon fill="#c74905" stroke="black" points="6620.67,-3919.76 6616.87,-3909.87 6613.68,-3919.97 6620.67,-3919.76"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_package_source -->
<g id="edge406" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_models_package_source</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4181,-4359.1C4173.16,-4344.71 4170.34,-4340.63 4157,-4331.11 4013,-4228.41 3589.28,-4078.07 3417,-4038.04 3279.43,-4006.07 2859.06,-3984.71 2687.79,-3977.12"/>
<polygon fill="#c74905" stroke="black" points="2688.04,-3973.63 2677.9,-3976.68 2687.73,-3980.62 2688.04,-3973.63"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_remote_source -->
<g id="edge407" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_models_remote_source</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6619.11,-4520.73C6626.82,-4502.68 6634.9,-4477.94 6634,-4455.09"/>
<path fill="none" stroke="black" d="M6634,-4453.09C6627.62,-4290.66 6080.24,-4321.43 5920,-4294.11 5786.75,-4271.4 5750.31,-4285.77 5618,-4258.11 5147,-4159.66 4597.83,-3964.88 4423.25,-3900.93"/>
<polygon fill="#c74905" stroke="black" points="4424.55,-3897.68 4413.96,-3897.53 4422.14,-3904.26 4424.55,-3897.68"/>
</g>
<!-- ahriman_models -->
<g id="node123" class="node">
<title>ahriman_models</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f96210" stroke="black" cx="8560" cy="-4714.05" rx="50.75" ry="18"/>
<text text-anchor="middle" x="8560" y="-4711.55" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.models</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_ahriman -->
<g id="edge408" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8610.69,-4712.33C9071.11,-4705.79 12513.35,-4656.63 12538,-4649.06 12593.86,-4631.92 12600.46,-4611.04 12648,-4577.06 13113.58,-4244.3 13181.96,-4094.5 13664,-3786.08"/>
<path fill="none" stroke="black" d="M13664,-3784.08C13923.85,-3634.12 14061.44,-3841.02 14336,-3720.09 14782.9,-3523.24 14762.69,-3209.06 14795,-2721.8"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_application_application -->
<g id="edge409" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8509.18,-4712.15C8299.65,-4708.46 7482.22,-4694.25 6810,-4685.06 6457.23,-4680.24 3985.73,-4687.22 3635,-4649.06 3607.92,-4646.12 3180.03,-4559.82 3155,-4549.07"/>
<path fill="none" stroke="black" d="M3155,-4547.07C2603.75,-4306.4 2367.45,-4447.04 1879,-4096.02 1809.34,-4045.96 1823.64,-4001.57 1760,-3944.05 1737.77,-3923.96 1728.31,-3924.08 1703,-3908.05 1637.17,-3866.36 1613.96,-3865.01 1555,-3814.07 1456.18,-3728.68 1287.64,-3478.14 1245,-3407.03 1072.19,-3118.86 944.75,-3023.24 1000,-2691.81 1028.16,-2522.88 1250,-2134.07 1250,-1962.8 1250,-1962.8 1250,-1962.8 1250,-1632.19 1250,-1377.59 1174.65,-1269.74 1325,-1064.28 1347.96,-1032.9 1388.15,-1014.78 1421.58,-1004.59"/>
<polygon fill="#f96210" stroke="black" points="1422.51,-1007.97 1431.16,-1001.85 1420.59,-1001.24 1422.51,-1007.97"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge410" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2623,-4547.07C2569,-4535.37 2640.48,-4461.59 2599,-4425.1 2553.77,-4385.31 2117.9,-4395.51 2058,-4389.1 1973.57,-4380.05 1945.64,-4397.68 1869,-4361.1"/>
<path fill="none" stroke="black" d="M1869,-4359.1C1439.89,-4153.51 939.89,-3439.98 917,-3407.03 763.38,-3185.88 702.75,-3124.85 658,-2859.33 645.63,-2785.91 652.76,-2766.08 658,-2691.81 669.36,-2530.73 677.53,-2490.46 709,-2332.08 751.82,-2116.58 832,-2072.98 832,-1853.27 832,-1853.27 832,-1853.27 832,-1741.73 832,-1670.42 863.92,-1657.92 900,-1596.42 917.72,-1566.21 929.47,-1563.31 946,-1532.43"/>
<path fill="none" stroke="black" d="M946,-1530.43C984.11,-1443.9 972.07,-1414.91 984,-1321.13"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge411" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8509.18,-4712.15C8299.65,-4708.44 7482.22,-4694.16 6810,-4685.06 6448.79,-4680.17 3918.76,-4681.83 3559,-4649.06 3371.26,-4631.96 3324.3,-4621.08 3141,-4577.06 2919.29,-4523.83 2870.37,-4487.29 2651,-4425.1 2300.88,-4325.84 2176.16,-4397.78 1858,-4221.11 1809.53,-4194.2 1175.13,-3571.4 1136,-3532.12 1027.9,-3423.62 975.79,-3414.46 899,-3281.93 800.68,-3112.24 800.53,-3053.37 772,-2859.33 767.25,-2826.99 768.11,-2818.24 772,-2785.79 780.95,-2711.17 905.1,-2198.74 932,-2128.56 1086.03,-1726.79 1365.04,-1284.21 1455.12,-1145.83"/>
<polygon fill="#f96210" stroke="black" points="1457.92,-1147.95 1460.45,-1137.66 1452.05,-1144.12 1457.92,-1147.95"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge412" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12372,-4630.06C12417.96,-4612.71 12435.25,-4612.76 12469,-4577.06 12552.16,-4489.1 12517.21,-4430.72 12586,-4331.11 12734.1,-4116.68 12817.22,-4101.36 12992,-3908.05 13014.76,-3882.88 13361.58,-3464.32 13388,-3443.03 13395.38,-3437.07 13681.87,-3288.18 13689,-3281.93 13710.76,-3262.88 13984.13,-2886.86 13993,-2859.33 14007.96,-2812.91 14029.72,-2552.43 13979,-2487.17"/>
<path fill="none" stroke="black" d="M13979,-2485.17C13955.36,-2456.35 13925.58,-2426.64 13902.24,-2404.59"/>
<polygon fill="#f96210" stroke="black" points="13904.76,-2402.15 13895.07,-2397.86 13899.97,-2407.26 13904.76,-2402.15"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge413" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8611,-4712.63C8997.27,-4709.3 11448.52,-4686.04 11501,-4632.06"/>
<path fill="none" stroke="black" d="M11501,-4630.06C11508.67,-4622.17 11449.76,-4558.45 11444,-4549.07"/>
<path fill="none" stroke="black" d="M11444,-4547.07C11395.81,-4468.63 11301.11,-4557.55 11247,-4483.08 11197.61,-4415.1 11115.64,-4743.64 11504,-3814.07 11577.8,-3637.41 11603.94,-3594.03 11645,-3407.03 11682.62,-3235.71 11924,-2028.67 11924,-1853.27 11924,-1853.27 11924,-1853.27 11924,-990.51 11924,-881.74 11936.11,-821.66 11848,-757.87"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_rebuild -->
<g id="edge414" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12524,-4630.06C12562.46,-4616.39 12566.89,-4602.26 12599,-4577.06 12836.19,-4390.93 12863.43,-4304.11 13111,-4132.02 13138.44,-4112.95 13150.7,-4116.62 13177,-4096.02 13338.19,-3969.73 13313.02,-3862.44 13488,-3756.09 13540.7,-3724.06 13563.9,-3740.75 13622,-3720.09 13718.34,-3685.83 13748.92,-3685.72 13832,-3626.1 13878.25,-3592.92 13880.41,-3573.96 13919,-3532.12 14103.28,-3332.35 14164.5,-3294.76 14329,-3078.41 14395.31,-2991.2 14415.61,-2965.66 14442,-2859.33 14473.43,-2732.72 14468.97,-2697.11 14465,-2566.71 14462.33,-2479.1 14453,-2457.51 14453,-2369.85 14453,-2369.85 14453,-2369.85 14453,-1632.19 14453,-1396.76 14218.52,-1443.95 14089,-1247.36 14021.13,-1144.34 14041.08,-1099.12 13979,-992.51"/>
<path fill="none" stroke="black" d="M13979,-990.51C13944.2,-939.95 13905.78,-936.51 13903,-875.19"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_search -->
<g id="edge415" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12052,-4547.07C12262.97,-4371.8 12397.53,-4429.37 12576,-4221.11 12577.8,-4219.01 12652.26,-4040.19 12654,-4038.04 12671.43,-4016.45 12683.56,-4019.64 12705,-4002.04 12733.91,-3978.3 12737.09,-3967.79 12766,-3944.05 12787.44,-3926.45 12796.46,-3926.7 12817,-3908.05 12857.83,-3870.99 12864.06,-3857.53 12898,-3814.07 12992.4,-3693.18 13009.78,-3658.29 13097,-3532.12 13162.37,-3437.56 13172.09,-3409.19 13242,-3317.93 13405.76,-3104.15 13488.44,-3083.28 13638,-2859.33 13668.25,-2814.03 13680.44,-2802.8 13693,-2749.79 13698.94,-2724.72 13694.66,-2717.53 13693,-2691.81 13680.53,-2498.83 13637,-2453.69 13637,-2260.31 13637,-2260.31 13637,-2260.31 13637,-2062.57 13637,-1951.66 13622.03,-1924.58 13602,-1815.5 13587.08,-1734.24 13561,-1716.8 13561,-1634.19 13561,-1634.19 13561,-1634.19 13561,-1100.05 13561,-994.56 13620.55,-979.39 13637,-875.19"/>
<path fill="none" stroke="black" d="M13637,-873.19C13650.07,-738.6 12587.44,-667.19 12325.02,-651.61"/>
<polygon fill="#f96210" stroke="black" points="12325.55,-648.14 12315.36,-651.04 12325.14,-655.13 12325.55,-648.14"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_setup -->
<g id="edge416" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_setup</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3155,-4547.07C3042.2,-4497.46 3019.19,-4473.82 2906,-4425.1 2882,-4414.77 2047.68,-4108.98 2025,-4096.02 1910.08,-4030.34 1895.18,-3993.39 1794,-3908.05 1570.35,-3719.43 1479.84,-3676.97 1367,-3407.03 1236.04,-3093.76 1241.63,-2995.08 1228,-2655.81 1226.41,-2616.24 1222.53,-2605.93 1228,-2566.71 1258.29,-2349.71 1321.36,-2307.68 1363,-2092.56 1389.59,-1955.2 1388.66,-1919.21 1396,-1779.5 1396,-1779.5 1396,-1064.28 1396,-1064.28 1434.75,-1014.12 1478.69,-1059.24 1534,-1028.28 1541.66,-1023.99 1644.56,-926.82 1648,-918.74 1680.43,-842.61 1644.44,-746 1617.65,-691.28"/>
<polygon fill="#f96210" stroke="black" points="1620.9,-689.96 1613.28,-682.59 1614.65,-693.1 1620.9,-689.96"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_status -->
<g id="edge417" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8611.12,-4712.92C8887.94,-4711.97 10209.74,-4704.57 10614,-4649.06 10746.42,-4630.88 10783.08,-4629.58 10906,-4577.06 11114.37,-4488.04 11162.42,-4419.99 11271,-4221.11 11651.22,-3524.69 11696,-3280.62 11696,-2487.17 11696,-2487.17 11696,-2487.17 11696,-2156.55 11696,-1733.52 11582,-1634.61 11582,-1211.59 11582,-1211.59 11582,-1211.59 11582,-1100.05 11582,-944.26 11603.48,-879.39 11506,-757.87"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_status_update -->
<g id="edge418" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_status_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8509.18,-4712.13C8299.65,-4708.36 7482.23,-4693.88 6810,-4685.06 6419.12,-4679.94 3681.68,-4680.03 3292,-4649.06 3217.08,-4643.11 2696.49,-4564.8 2623,-4549.07"/>
<path fill="none" stroke="black" d="M2623,-4547.07C2280.85,-4480.98 2182.55,-4508.06 1855,-4389.1 1553.93,-4279.75 870.11,-3800.99 696,-3532.12 500.81,-3230.7 529.53,-3107.14 494,-2749.79 491.45,-2724.15 493.69,-2717.58 494,-2691.81 494.67,-2636.2 490.07,-2621.89 497,-2566.71 506.15,-2493.82 520.22,-2477.77 534,-2405.62 593.08,-2096.36 548.67,-2005.71 645,-1705.96 742.51,-1402.55 816.2,-1346.09 965,-1064.28 1037.82,-926.37 1012.29,-852.83 1136,-757.87"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_triggers -->
<g id="edge419" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8509.02,-4712.23C7988.23,-4703.87 3652.4,-4634.18 3649,-4632.06"/>
<path fill="none" stroke="black" d="M3649,-4630.06C3503.72,-4539.54 3449.68,-4552.01 3293,-4483.08 3237.31,-4458.58 3226.46,-4445.1 3169,-4425.1 3103.43,-4402.27 3073.84,-4428.96 3017,-4389.1 2991.77,-4371.4 3004.03,-4349.08 2979,-4331.11 2939.55,-4302.8 2598.21,-4245.13 2556,-4221.11 2507.08,-4193.27 2516.76,-4156.33 2466,-4132.02 2338.12,-4070.76 2283.8,-4140 2149,-4096.02 2068.77,-4069.84 2049.49,-4055.27 1984,-4002.04 1584.33,-3677.13 1436.31,-3570.45 1284,-3078.41 1232.85,-2913.16 1275.81,-2856.41 1329,-2691.81 1347.17,-2635.58 1350.6,-2620.97 1374,-2566.71 1388.02,-2534.22 1646.3,-2030.29 1662,-1998.57 1741.77,-1837.38 1838,-1814.04 1838,-1634.19 1838,-1634.19 1838,-1634.19 1838,-1428.67 1838,-1150.61 1823.87,-817.03 1818.26,-695.53"/>
<polygon fill="#f96210" stroke="black" points="1821.76,-695.44 1817.8,-685.62 1814.77,-695.77 1821.76,-695.44"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_users -->
<g id="edge420" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8610.82,-4712.36C9049.74,-4706.33 12188.79,-4662.82 12386,-4649.06 12447.65,-4644.76 12465.87,-4653.02 12524,-4632.06"/>
<path fill="none" stroke="black" d="M12524,-4630.06C12619.35,-4595.68 12565.38,-4507.79 12624,-4425.1 12776.86,-4209.45 12859.24,-4193 13042,-4002.04 13093.53,-3948.19 13212.82,-3803.88 13270,-3756.09 13411.69,-3637.65 13471.17,-3641.46 13620,-3532.12 13994.94,-3256.66 14225.35,-3280.98 14422,-2859.33 14455.66,-2787.16 14427.89,-2533.64 14299,-2332.08 14266.66,-2281.51 14140.16,-2194.38 14092,-2158.55"/>
<path fill="none" stroke="black" d="M14092,-2156.55C14039.29,-2118.34 13980.76,-2129.61 13978,-2064.57"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_lock -->
<g id="edge421" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8610.75,-4712.29C9059.14,-4705.54 12328.61,-4655.51 12372,-4632.06"/>
<path fill="none" stroke="black" d="M12372,-4630.06C12507.65,-4556.77 12461.38,-4458.66 12548,-4331.11 12559.39,-4314.34 12565.1,-4312.2 12576,-4295.11 12595.88,-4263.94 12597.69,-4254.29 12614,-4221.11 12653.65,-4140.43 12637.52,-4102.67 12700,-4038.04 12711.02,-4026.64 12941.63,-3917.96 12954,-3908.05 12964.59,-3899.57 13023.47,-3824.62 13032,-3814.07 13065.42,-3772.73 13078.1,-3765.34 13106,-3720.09 13130.2,-3680.83 13131.08,-3668.17 13150,-3626.1 13186.35,-3545.28 13186.78,-3520.94 13229,-3443.03 13260.79,-3384.36 13255.93,-3354.1 13312,-3317.93 13396,-3263.75 13442.25,-3321.59 13534,-3281.93 13626.09,-3242.13 13656.37,-3227.22 13713,-3144.4"/>
<path fill="none" stroke="black" d="M13713,-3142.4C13752.55,-3093.5 13806.57,-2939.84 13851,-2895.33 13897.08,-2849.17 13963.97,-2887.03 13979,-2823.56"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_alpm_pacman -->
<g id="edge422" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_alpm_pacman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8418,-4453.09C8398.02,-4417.42 8422.59,-4401.73 8418,-4361.1"/>
<path fill="none" stroke="black" d="M8418,-4359.1C8413.04,-4315.23 8377.33,-4321.61 8342,-4295.11"/>
<path fill="none" stroke="black" d="M8342,-4294.11C8281.05,-4248.4 8059.44,-4276.39 8007,-4221.11 7959.55,-4171.1 7982,-4136.97 7982,-4068.03 7982,-4068.03 7982,-4068.03 7982,-3878.06 7982,-3795.41 7997.78,-3773.23 7982,-3692.1"/>
<path fill="none" stroke="black" d="M7982,-3690.1C7953.36,-3561.23 7914.46,-3537.12 7892,-3407.03 7886.46,-3374.97 7898.51,-3142.44 7882,-3114.41 7866.22,-3087.61 7841.61,-3102.55 7822,-3078.41 7789.51,-3038.41 7796.52,-3018.85 7784,-2968.87 7756.89,-2860.68 7772.85,-2828.39 7740,-2721.8"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_alpm_remote_aur -->
<g id="edge423" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_alpm_remote_aur</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7488,-4359.1C7452.4,-4326.97 7562.21,-4289.55 7526,-4258.11"/>
<path fill="none" stroke="black" d="M7526,-4257.11C7518.08,-4250.33 7512.39,-4241.17 7508.32,-4231.47"/>
<polygon fill="#f96210" stroke="black" points="7511.68,-4230.48 7505.01,-4222.25 7505.09,-4232.84 7511.68,-4230.48"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_alpm_remote_official -->
<g id="edge424" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_alpm_remote_official</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9162,-4453.09C9160.72,-4397.94 9163.71,-4380.44 9139,-4331.11 9119.27,-4291.74 9092.59,-4297.04 9072,-4258.11 9000.9,-4123.66 8972,-3761.26 8972,-3598.11 8972,-3598.11 8972,-3598.11 8972,-3486.57 8972,-3371.39 8882.53,-3373.75 8813,-3281.93 8760.81,-3213 8609.02,-3051 8582,-2968.87 8571.79,-2937.82 8576.76,-2927.59 8582,-2895.33 8584.7,-2878.68 8588.83,-2875.39 8594,-2859.33 8609.62,-2810.81 8613,-2798.51 8628,-2749.79 8646.81,-2688.71 8715.24,-2657.41 8670,-2612.26"/>
<path fill="none" stroke="black" d="M8670,-2610.26C8635.37,-2566.53 8581.26,-2531.35 8543,-2509.97"/>
<polygon fill="#f96210" stroke="black" points="8544.92,-2507.04 8534.47,-2505.3 8541.56,-2513.18 8544.92,-2507.04"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_alpm_remote_official_syncdb -->
<g id="edge425" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_alpm_remote_official_syncdb</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7982,-3690.1C7976.38,-3635.77 7974.38,-3622.24 7967,-3568.12 7939.44,-3366.09 7944.27,-3313.22 7899,-3114.41 7858.47,-2936.37 7833.05,-2895.9 7778,-2721.8"/>
<path fill="none" stroke="black" d="M7778,-2719.8C7759.53,-2653.06 7770.55,-2632.52 7749,-2566.71 7745.89,-2557.2 7741.88,-2547.36 7737.65,-2537.98"/>
<polygon fill="#f96210" stroke="black" points="7740.85,-2536.56 7733.45,-2528.99 7734.51,-2539.53 7740.85,-2536.56"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_alpm_remote_remote -->
<g id="edge426" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_alpm_remote_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8342,-4294.11C8253.83,-4243.04 8418.06,-4162.54 8380,-4068.03"/>
<path fill="none" stroke="black" d="M8380,-4066.03C8333.27,-3937.18 8134,-4017.12 8134,-3880.06 8134,-3880.06 8134,-3880.06 8134,-3486.57 8134,-3271.04 8131.08,-3213.76 8078,-3004.87 8065.08,-2954.02 8025.76,-2824.18 7990,-2785.79 7965.07,-2759.03 7944.95,-2772.14 7916,-2749.79 7903.03,-2739.78 7899.91,-2736.15 7892,-2721.8"/>
<path fill="none" stroke="black" d="M7892,-2719.8C7858.7,-2657.99 7873.72,-2633.8 7853,-2566.71 7850.1,-2557.32 7846.74,-2547.42 7843.35,-2537.9"/>
<polygon fill="#f96210" stroke="black" points="7846.75,-2537 7840.06,-2528.79 7840.17,-2539.39 7846.75,-2537"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_alpm_repo -->
<g id="edge427" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_alpm_repo</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3573,-4359.1C3561.15,-4333.25 3586.95,-4319.9 3573,-4295.11"/>
<path fill="none" stroke="black" d="M3573,-4294.11C3239.94,-3702.56 2957.25,-3471.44 3160,-2823.56"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_auth_auth -->
<g id="edge428" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10570,-4453.09C10570,-4315.59 10818.16,-4431.45 10836,-4295.11"/>
<path fill="none" stroke="black" d="M10836,-4294.11C10839.35,-4221.73 10722,-4250.02 10722,-4177.57 10722,-4177.57 10722,-4177.57 10722,-3784.08 10722,-3484.06 10699.64,-3407.82 10637,-3114.41 10580.4,-2849.3 10508.3,-2797.46 10460,-2530.71 10450.07,-2475.89 10455.35,-2461.23 10452,-2405.62 10442.06,-2240.74 10452.62,-2198.32 10431,-2034.57 10429.89,-2026.15 10428.34,-2017.24 10426.65,-2008.67"/>
<polygon fill="#f96210" stroke="black" points="10430.13,-2008.24 10424.69,-1999.15 10423.28,-2009.65 10430.13,-2008.24"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_auth_mapping -->
<g id="edge429" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_auth_mapping</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11064,-4359.1C11075.17,-4332.95 11075.06,-4321.32 11064,-4295.11"/>
<path fill="none" stroke="black" d="M11064,-4294.11C11057.16,-4277.91 11048.08,-4274.59 11050,-4257.11 11064.08,-4129 11113,-4102.93 11113,-3974.04 11113,-3974.04 11113,-3974.04 11113,-3878.06 11113,-3702.56 11178,-3664.07 11178,-3488.57 11178,-3488.57 11178,-3488.57 11178,-3244.16 11178,-2991.69 11080.85,-2351.84 10963,-2128.56 10937.26,-2079.79 10927.42,-2065.84 10882,-2034.57 10835.86,-2002.82 10774.06,-1983.43 10731.64,-1972.94"/>
<polygon fill="#f96210" stroke="black" points="10732.5,-1969.54 10721.96,-1970.63 10730.88,-1976.35 10732.5,-1969.54"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge430" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_auth_oauth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10570,-4547.07C10586.13,-4521.5 10604.01,-4530.5 10632,-4519.08 10643.83,-4514.25 11059.75,-4373.15 11064,-4361.1"/>
<path fill="none" stroke="black" d="M11064,-4359.1C11080.04,-4301.16 10996.97,-4313.67 10974,-4258.11 10876.76,-4022.9 10862.82,-3363.93 10913,-3114.41 10926.83,-3045.65 10960.17,-3037.63 10974,-2968.87 10995.79,-2860.5 10979.6,-2711.07 10936,-2566.71 10896.96,-2437.46 10859.09,-2416.49 10798,-2296.08 10739.1,-2179.97 10744.17,-2138.69 10666,-2034.57 10654.84,-2019.71 10640.39,-2005.33 10627.03,-1993.39"/>
<polygon fill="#f96210" stroke="black" points="10629.43,-1990.84 10619.59,-1986.91 10624.84,-1996.12 10629.43,-1990.84"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge431" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_build_tools_sources</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3193,-4359.1C2973.94,-4225.36 2955.68,-4121.59 2713,-4038.04 2610.18,-4002.64 2311.96,-4067.32 2225,-4002.04 2118.06,-3921.75 2154.92,-3849.16 2120,-3720.09 2086.09,-3594.75 2020,-3274.25 2020,-3144.4 2020,-3144.4 2020,-3144.4 2020,-2931.1 2020,-2805.58 2062.53,-2756.65 2170,-2691.81 2261.59,-2636.55 2544.39,-2672.78 2650,-2655.81 2691,-2649.22 2736.5,-2637.77 2770.82,-2628.26"/>
<polygon fill="#f96210" stroke="black" points="2771.41,-2631.73 2780.1,-2625.66 2769.52,-2624.99 2771.41,-2631.73"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge432" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3307,-4453.09C3250.03,-4424.81 3235.29,-4418.7 3179,-4389.1 3131.82,-4364.29 3123.85,-4350.01 3074,-4331.11 3005.44,-4305.13 2983.73,-4314.45 2913,-4295.11 2861.62,-4281.06 2732.75,-4244.72 2685,-4221.11 2622.54,-4190.23 2619.15,-4161.46 2556,-4132.02 2358.41,-4039.89 2278.32,-4098.89 2083,-4002.04 1901.45,-3912.01 1882.04,-3820.55 1825,-3626.1 1676.81,-3120.89 1548.46,-2878.02 1843,-2441.62 2070.35,-2104.78 2390.59,-2353.86 2676,-2064.57"/>
<path fill="none" stroke="black" d="M2676,-2062.57C2684.85,-2045.44 2692.63,-2025.7 2698.75,-2008.33"/>
<polygon fill="#f96210" stroke="black" points="2701.91,-2009.88 2701.84,-1999.29 2695.29,-2007.61 2701.91,-2009.88"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_configuration -->
<g id="edge433" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_configuration</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8509.13,-4712.33C8246.28,-4708.42 7039.96,-4688.62 6668,-4649.06 6578.19,-4639.51 6557.88,-4621.9 6468,-4613.06 6022.74,-4569.29 4902.16,-4591.88 4455,-4577.06 4326.48,-4572.8 3982.5,-4622.6 3877,-4549.07"/>
<path fill="none" stroke="black" d="M3877,-4547.07C3852.67,-4530.11 3839,-4451.37 3839,-4295.11 3839,-4295.11 3839,-4295.11 3839,-4257.11 3839,-4126.85 3915,-4104.31 3915,-3974.04 3915,-3974.04 3915,-3974.04 3915,-3878.06 3915,-3772.29 3938.35,-3734.99 4015,-3662.1 4154.8,-3529.16 4776.36,-3497.22 4976.61,-3490.32"/>
<polygon fill="#f96210" stroke="black" points="4976.68,-3493.82 4986.56,-3489.99 4976.44,-3486.82 4976.68,-3493.82"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_data -->
<g id="edge434" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_database_data</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8494,-4257.11C8514.24,-4175.55 8494,-4152.07 8494,-4068.03 8494,-4068.03 8494,-4068.03 8494,-3784.08 8494,-3570.48 8728.2,-3496.51 8611,-3317.93 8588.94,-3284.31 8559.55,-3306.86 8528,-3281.93 8480.28,-3244.23 8476.82,-3224.81 8446,-3172.39 8380.31,-3060.66 8326.51,-3021.77 8355,-2895.33 8366.85,-2842.76 8378.41,-2831.47 8407,-2785.79 8420.11,-2764.85 8556.11,-2634.8 8546,-2612.26"/>
<path fill="none" stroke="black" d="M8546,-2610.26C8531.95,-2575.14 8436.23,-2530.88 8376.4,-2506.14"/>
<polygon fill="#f96210" stroke="black" points="8378.01,-2503.02 8367.43,-2502.47 8375.36,-2509.5 8378.01,-2503.02"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_data_package_remotes -->
<g id="edge435" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_database_data_package_remotes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8508.96,-4712.72C8259.41,-4710.83 7166.2,-4699.78 6830,-4649.06 6769.02,-4639.86 6756.93,-4622.57 6696,-4613.06 6360.13,-4560.66 6271.51,-4594.1 5932,-4577.06 5882.96,-4574.6 4204.08,-4515.26 4167,-4483.08 4125.28,-4446.86 4128.64,-4414.46 4143,-4361.1"/>
<path fill="none" stroke="black" d="M4143,-4359.1C4171.35,-4235.64 4452,-4006.74 4452,-3880.06 4452,-3880.06 4452,-3880.06 4452,-3784.08 4452,-3728.83 4434.85,-3698.97 4476,-3662.1 4511.21,-3630.55 4853.02,-3631.44 4900,-3626.1 4973.49,-3617.75 5498.39,-3574.51 5559,-3532.12 5655.35,-3464.73 5636.15,-3399.18 5645,-3281.93 5650.61,-3207.69 5649.83,-3188.71 5645,-3114.41 5640.77,-3049.31 5630.23,-3033.97 5626,-2968.87 5623.88,-2936.25 5621.63,-2927.72 5626,-2895.33 5634.97,-2828.85 5656.55,-2816.2 5666,-2749.79 5674.61,-2689.27 5683.15,-2671.49 5668,-2612.26"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_data_package_statuses -->
<g id="edge436" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_database_data_package_statuses</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8418,-4359.1C8403.4,-4304.86 8475.28,-4311.08 8494,-4258.11"/>
<path fill="none" stroke="black" d="M8494,-4257.11C8494.34,-4254.3 8418,-4070.86 8418,-4068.03 8418,-4068.03 8418,-4068.03 8418,-3690.1 8418,-3600.53 8371.27,-3564.98 8418,-3488.57"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_data_patches -->
<g id="edge437" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_database_data_patches</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8380,-4066.03C8349.86,-3989.07 8380,-3962.71 8380,-3880.06 8380,-3880.06 8380,-3880.06 8380,-3596.11 8380,-3471.08 8397.95,-3427.66 8338,-3317.93 8326.37,-3296.65 8310.53,-3302.05 8297,-3281.93 8268.24,-3239.17 8273.29,-3221.9 8259,-3172.39 8214.86,-3019.48 8243.44,-2968.64 8178,-2823.56"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_migrations -->
<g id="edge438" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_database_migrations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8610.55,-4712.28C8914.57,-4707.45 10487.21,-4680.16 10494,-4632.06"/>
<path fill="none" stroke="black" d="M10494,-4630.06C10511.79,-4504.1 9459.9,-4616.45 9352,-4549.07"/>
<path fill="none" stroke="black" d="M9352,-4547.07C9325.46,-4530.5 9086,-4235.24 9086,-4177.57 9086,-4177.57 9086,-4177.57 9086,-3486.57 9086,-3378.56 8996.5,-3383.93 8911,-3317.93 8886.68,-3299.16 8872.77,-3304.56 8852,-3281.93 8799.44,-3224.67 8714.93,-3044.26 8696,-2968.87 8652.44,-2795.44 8759.18,-2728.96 8684,-2566.71 8617.84,-2423.93 8409.72,-2384.6 8309.29,-2373.85"/>
<polygon fill="#f96210" stroke="black" points="8309.69,-2370.37 8299.39,-2372.85 8308.99,-2377.33 8309.69,-2370.37"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_operations_auth_operations -->
<g id="edge439" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_database_operations_auth_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10836,-4294.11C10899.78,-3773.5 10771.75,-3637.92 10804,-3114.41 10808.01,-3049.36 10817.99,-3033.92 10822,-2968.87 10824.01,-2936.25 10823.87,-2927.96 10822,-2895.33 10817.55,-2817.82 10802.38,-2799.43 10802,-2721.8"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_operations_build_operations -->
<g id="edge440" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_database_operations_build_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8611.05,-4713.78C8764.45,-4713.36 9208.05,-4691.85 9162,-4455.09"/>
<path fill="none" stroke="black" d="M9162,-4453.09C9152.16,-4370.2 9125.57,-4348.2 9062,-4294.11 9030.75,-4267.53 9005.19,-4287.92 8977,-4258.11 8671.85,-3935.54 8873.87,-3694.77 8639,-3317.93 8591.36,-3241.5 8555.88,-3241.39 8498,-3172.39 8364.21,-3012.89 8266.19,-2902.26 8370,-2721.8"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_operations_logs_operations -->
<g id="edge441" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_database_operations_logs_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9352,-4547.07C9282.79,-4498.84 9390,-4445.46 9390,-4361.1 9390,-4361.1 9390,-4361.1 9390,-4175.57 9390,-3793.4 9379.22,-3696.65 9328,-3317.93 9315.75,-3227.39 9278.2,-3203.38 9299,-3114.41 9315.43,-3044.14 9348.65,-3037.49 9371,-2968.87 9391.3,-2906.56 9403.71,-2888.64 9396,-2823.56"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_operations_package_operations -->
<g id="edge442" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_database_operations_package_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7564,-4453.09C7526.83,-4374.07 7580.44,-4344.4 7578,-4257.11 7576.44,-4201.45 7590.34,-4184.24 7571,-4132.02 7540.28,-4049.09 7499.46,-4047.36 7450,-3974.04"/>
<path fill="none" stroke="black" d="M7450,-3972.04C7366.64,-3870.91 7311.54,-3884.48 7201,-3814.07 7038.28,-3710.42 6846.62,-3587.68 6751.61,-3526.79"/>
<polygon fill="#f96210" stroke="black" points="6753.76,-3524.01 6743.45,-3521.56 6749.98,-3529.9 6753.76,-3524.01"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_operations_patch_operations -->
<g id="edge443" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_database_operations_patch_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9238,-4294.11C9199.81,-4259.12 9238,-4229.36 9238,-4177.57 9238,-4177.57 9238,-4177.57 9238,-3784.08 9238,-3679.58 9206.84,-3417.78 9176,-3317.93 9124.72,-3151.93 9040.2,-3137.9 9000,-2968.87 8980.73,-2887.84 8998.89,-2858.22 9040,-2785.79 9058.09,-2753.92 9098.76,-2757.82 9092,-2721.8"/>
<path fill="none" stroke="black" d="M9092,-2719.8C9086.4,-2691.63 9066.29,-2667.58 9045.39,-2649.41"/>
<polygon fill="#f96210" stroke="black" points="9047.84,-2646.9 9037.91,-2643.21 9043.37,-2652.29 9047.84,-2646.9"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_aur_printer -->
<g id="edge444" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_aur_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11501,-4630.06C11531.68,-4598.5 11537.17,-4587.85 11558,-4549.07"/>
<path fill="none" stroke="black" d="M11558,-4547.07C11586.78,-4493.5 11581.83,-4472.44 11620,-4425.1 11694.14,-4333.12 11720.47,-4310.21 11826,-4257.11 11884.16,-4227.85 11910.7,-4252.03 11968,-4221.11 12074.06,-4163.89 12073.64,-4112.99 12168,-4038.04 12283.64,-3946.18 12306.97,-3909.87 12442,-3850.07 12505.48,-3821.96 12538.65,-3855.98 12594,-3814.07 12681.54,-3747.79 12702.26,-3707.29 12714,-3598.11"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_build_printer -->
<g id="edge445" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_build_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11444,-4547.07C11385.35,-4447.28 11468.32,-4403.56 11506,-4294.11 11582.16,-4072.9 11632.12,-4030.07 11722,-3814.07 11853.61,-3497.79 11907.14,-3418.03 11952,-3078.41 11956.28,-3046.01 11955.14,-3037.4 11952,-3004.87 11948.87,-2972.52 11933.05,-2965.22 11938,-2933.1"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_configuration_printer -->
<g id="edge446" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_configuration_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8610.86,-4712.5C9000.26,-4708.24 11498.51,-4679.77 11654,-4649.06 11740.96,-4631.88 11762.72,-4620.49 11840,-4577.06 11936.71,-4522.72 11949.63,-4492.15 12038,-4425.1 12059.24,-4408.98 12064.86,-4405.35 12086,-4389.1 12181.57,-4315.59 12206.11,-4297.97 12299,-4221.11 12394.66,-4141.97 12409.7,-4111.21 12510,-4038.04 12599.9,-3972.45 12634.76,-3974.54 12724,-3908.05 12773.96,-3870.83 12788.32,-3862.1 12828,-3814.07 12986.05,-3622.79 12970.8,-3538.73 13084,-3317.93 13171.05,-3148.14 13287.23,-2953.21 13339.06,-2867.67"/>
<polygon fill="#f96210" stroke="black" points="13341.93,-2869.7 13344.12,-2859.33 13335.94,-2866.06 13341.93,-2869.7"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_package_printer -->
<g id="edge447" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_package_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11444,-4547.07C11416.24,-4501.88 11493.09,-4500.79 11520,-4455.09"/>
<path fill="none" stroke="black" d="M11520,-4453.09C11590.37,-4333.57 11922.15,-3417.38 11952,-3281.93 11984.58,-3134.1 11995.77,-2954.49 11999.39,-2870.76"/>
<polygon fill="#f96210" stroke="black" points="12002.88,-2871.01 11999.8,-2860.87 11995.89,-2870.72 12002.88,-2871.01"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_patch_printer -->
<g id="edge448" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_patch_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8610.96,-4712.54C8996.95,-4708.58 11447,-4682.16 11515,-4649.06 11600.75,-4607.32 11591.54,-4557.64 11651,-4483.08 11671.34,-4457.58 11671.39,-4446.51 11696,-4425.1 11718.04,-4405.92 11897.65,-4306.74 11924,-4294.11 12004.46,-4255.56 12034.41,-4266.88 12111,-4221.11 12184.64,-4177.11 12193.99,-4153.13 12258,-4096.02 12286.15,-4070.9 12290.33,-4061.34 12320,-4038.04 12342.98,-4019.99 12350.93,-4018.6 12375,-4002.04 12433.73,-3961.62 12448.48,-3951.5 12505,-3908.05 12537.3,-3883.22 12539.97,-3869.1 12576,-3850.07 12625.99,-3823.67 12648.55,-3841.48 12698,-3814.07 12795.98,-3759.76 12828,-3710.14 12828,-3598.11 12828,-3598.11 12828,-3598.11 12828,-3361.48 12828,-3251.06 12781.47,-3222.9 12802,-3114.41 12811.73,-3063.02 12818.22,-3049.8 12845,-3004.87 12877.6,-2950.17 12926.63,-2895.41 12960.35,-2860.62"/>
<polygon fill="#f96210" stroke="black" points="12962.6,-2863.32 12967.09,-2853.72 12957.6,-2858.43 12962.6,-2863.32"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_printer -->
<g id="edge449" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8610.91,-4712.37C9001.89,-4707.07 11514.91,-4672.15 11589,-4649.06 11918.87,-4546.28 11966.57,-4434.89 12238,-4221.11 12331.64,-4147.36 12339.43,-4110.61 12434,-4038.04 12583.19,-3923.54 12658.35,-3945.35 12793,-3814.07 12828.83,-3779.14 12830.36,-3763.64 12855,-3720.09 12959.99,-3534.52 12933.7,-3592.43 13176,-2968.87 13188.95,-2935.54 13202.53,-2897.47 13212.56,-2868.66"/>
<polygon fill="#f96210" stroke="black" points="13215.76,-2870.13 13215.73,-2859.53 13209.15,-2867.84 13215.76,-2870.13"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_status_printer -->
<g id="edge450" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_status_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11520,-4453.09C11529.55,-4439.77 11532.37,-4436.64 11544,-4425.1 11779.31,-4191.61 11833.61,-4120.89 12114,-3944.05 12199.8,-3889.94 12224.66,-3878.63 12322,-3850.07 12374.59,-3834.64 12526.42,-3851.99 12566,-3814.07 12653.73,-3730.02 12600,-3210.76 12600,-3144.4 12600,-3144.4 12600,-3144.4 12600,-3040.64 12600,-2970.34 12550.36,-2902.09 12513.89,-2861.45"/>
<polygon fill="#f96210" stroke="black" points="12516.69,-2859.32 12507.36,-2854.32 12511.53,-2864.05 12516.69,-2859.32"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_update_printer -->
<g id="edge451" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_update_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11558,-4547.07C11579.2,-4515.07 11591.82,-4512.89 11616,-4483.08 11636.05,-4458.37 11635.24,-4447.33 11658,-4425.1 11731.37,-4353.42 11757.4,-4342.19 11848,-4294.11 11926.81,-4252.29 11956.93,-4264.3 12035,-4221.11 12156.07,-4154.14 12412.55,-3914.5 12535,-3850.07 12578.66,-3827.1 12598.71,-3841.07 12640,-3814.07 12701.6,-3773.79 12752,-3765.69 12752,-3692.1 12752,-3692.1 12752,-3692.1 12752,-3361.48 12752,-3170.34 12739.08,-3117.33 12790,-2933.1"/>
<path fill="none" stroke="black" d="M12790,-2931.1C12796.19,-2904.07 12814.21,-2879.18 12831.88,-2860.17"/>
<polygon fill="#f96210" stroke="black" points="12834.17,-2862.83 12838.61,-2853.21 12829.14,-2857.96 12834.17,-2862.83"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_user_printer -->
<g id="edge452" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_user_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8610.99,-4712.5C8999.88,-4708.25 11483.81,-4679.9 11554,-4649.06 11594.58,-4631.23 11594.53,-4611.03 11623,-4577.06 11636.43,-4561.04 11717.67,-4438.16 11734,-4425.1 11765.4,-4399.98 11780.32,-4405.56 11817,-4389.1 11978.82,-4316.47 12033.84,-4323.03 12179,-4221.11 12243.07,-4176.13 12248.5,-4152.22 12303,-4096.02 12327.73,-4070.52 12329.46,-4059.18 12358,-4038.04 12386.75,-4016.73 12399.61,-4020.92 12430,-4002.04 12488.73,-3965.53 12501.3,-3952.83 12554,-3908.05 12582.5,-3883.83 12582.34,-3868.31 12615,-3850.07 12669.59,-3819.58 12698.52,-3848.06 12751,-3814.07 12796.09,-3784.87 12801.38,-3767.3 12827,-3720.09 12949.06,-3495.11 12930.18,-3417.17 13005,-3172.39 13027.64,-3098.32 12999.74,-3061.1 13053,-3004.87 13086.64,-2969.36 13128.63,-3008.71 13157,-2968.87 13179.02,-2937.95 13163,-2895.51 13144.94,-2864.48"/>
<polygon fill="#f96210" stroke="black" points="13148.04,-2862.83 13139.84,-2856.12 13142.06,-2866.48 13148.04,-2862.83"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_version_printer -->
<g id="edge453" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_version_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8610.78,-4712.43C9005.07,-4707.54 11566.65,-4674.83 11727,-4649.06 11876.21,-4625.08 11959,-4668.19 12052,-4549.07"/>
<path fill="none" stroke="black" d="M12052,-4547.07C12094.77,-4503.84 12075.44,-4472.12 12114,-4425.1 12158.04,-4371.38 12550.25,-4080.79 12605,-4038.04 12679.4,-3979.93 12702.65,-3971.01 12773,-3908.05 12816.33,-3869.28 12827.12,-3859.02 12864,-3814.07 12896.22,-3774.81 12900.68,-3762.24 12929,-3720.09 13147.96,-3394.21 13403.9,-2995.68 13486.69,-2866.3"/>
<polygon fill="#f96210" stroke="black" points="13489.55,-2868.33 13491.99,-2858.02 13483.65,-2864.55 13489.55,-2868.33"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge454" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3307,-4453.09C3245.33,-4419.76 3254.57,-4382.61 3207,-4331.11 3120.38,-4237.35 3105.7,-4203.58 3000,-4132.02 2916,-4075.14 2889.61,-4065.65 2792,-4038.04 2670.42,-4003.64 2614.59,-4072.93 2510,-4002.04 2467.52,-3973.24 2286,-3649.43 2286,-3598.11 2286,-3598.11 2286,-3598.11 2286,-3361.48 2286,-3085.95 2339.12,-2997.04 2516,-2785.79 2566.75,-2725.18 2593.07,-2719.78 2667,-2691.81 2757.21,-2657.68 2804.99,-2715.17 2881,-2655.81 2897.64,-2642.81 2887.52,-2629.29 2900,-2612.26"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge455" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3307,-4453.09C3281.79,-4438.52 3317.87,-4418.04 3321,-4389.1 3325.54,-4347.13 3337.38,-4333.02 3321,-4294.11 3225.76,-4067.86 3066.34,-4109.46 2926,-3908.05 2743.64,-3646.33 2718.3,-3523.79 2766,-3208.39 2780.16,-3114.77 2785.45,-3088.95 2829,-3004.87 2885.5,-2895.8 3070.3,-2643.72 3166,-2566.71 3230.68,-2514.67 3346.58,-2569.37 3335,-2487.17"/>
<path fill="none" stroke="black" d="M3335,-2485.17C3331.58,-2460.91 3322.77,-2435.18 3314.09,-2414.2"/>
<polygon fill="#f96210" stroke="black" points="3317.34,-2412.9 3310.19,-2405.08 3310.9,-2415.65 3317.34,-2412.9"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge456" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3649,-4547.07C3631.57,-4515.77 3615.12,-4515.55 3600,-4483.08 3576.57,-4432.74 3596.13,-4411.58 3573,-4361.1"/>
<path fill="none" stroke="black" d="M3573,-4359.1C3534.67,-4294.38 3517.31,-4283.31 3475,-4221.11 3232.18,-3864.13 3071.38,-3819.85 2945,-3407.03 2892.68,-3236.11 2928.85,-3183.2 2941,-3004.87 2963.15,-2679.83 2951.67,-2498.08 3232,-2332.08 3307.65,-2287.28 3540.79,-2317.75 3626,-2296.08 3632.69,-2294.38 3639.52,-2292.21 3646.26,-2289.78"/>
<polygon fill="#f96210" stroke="black" points="3647.23,-2293.15 3655.33,-2286.31 3644.74,-2286.61 3647.23,-2293.15"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_console -->
<g id="edge457" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_report_console</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3991,-4359.1C3991,-4292.92 4022.72,-4282.69 4047,-4221.11 4128.17,-4015.23 4102.62,-3940.47 4225,-3756.09 4258.37,-3705.81 4274.19,-3697.6 4323,-3662.1 4350.34,-3642.22 4363.85,-3647.52 4390,-3626.1 4415.88,-3604.91 4408.04,-3583 4438,-3568.12 4606.53,-3484.43 5113.52,-3611.78 5284,-3532.12 5428,-3464.83 5460.49,-3365.44 5436,-3208.39 5426.1,-3144.93 5302.93,-2978.86 5348,-2933.1"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_email -->
<g id="edge458" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8509.81,-4710.48C8342.87,-4701.76 7791.09,-4671.67 7336,-4632.06"/>
<path fill="none" stroke="black" d="M7336,-4630.06C7314.45,-4628.19 6579.12,-4585.01 6559,-4577.06 6182.93,-4428.53 6027.43,-4367.29 5854,-4002.04 5639.61,-3550.51 5913.28,-3374.95 6054,-2895.33 6075.09,-2823.46 6161.6,-2634.15 6129,-2566.71 6014.53,-2329.89 5650.05,-2275.66 5516.59,-2263.62"/>
<polygon fill="#f96210" stroke="black" points="5517.29,-2260.17 5507.02,-2262.81 5516.69,-2267.15 5517.29,-2260.17"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_html -->
<g id="edge459" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_report_html</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8508.9,-4713.17C8247.59,-4713.48 7058.81,-4711.38 6696,-4649.06 6643.63,-4640.07 6634.44,-4621.63 6582,-4613.06 6147.25,-4542 5037.97,-4624.35 4600,-4577.06 4314.48,-4546.23 3990.27,-4648.28 3991,-4361.1"/>
<path fill="none" stroke="black" d="M3991,-4359.1C3975.86,-4185.32 4067,-4148.48 4067,-3974.04 4067,-3974.04 4067,-3974.04 4067,-3784.08 4067,-3653.77 4204.46,-3696.69 4314,-3626.1 4349.71,-3603.09 4350.06,-3582.61 4390,-3568.12 4475.32,-3537.18 5135.34,-3589.08 5206,-3532.12 5323.16,-3437.67 5390.87,-3259.18 5272,-2933.1"/>
<path fill="none" stroke="black" d="M5272,-2931.1C5208.91,-2833.66 5129.39,-2856.63 5084,-2749.79 5073.92,-2726.07 5080.83,-2717.38 5084,-2691.81 5098.11,-2578.01 5091.74,-2542.09 5147,-2441.62 5181.12,-2379.59 5241.61,-2322.98 5281,-2290.08"/>
<polygon fill="#f96210" stroke="black" points="5282.9,-2293.05 5288.39,-2283.99 5278.45,-2287.65 5282.9,-2293.05"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge460" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4143,-4359.1C4180.65,-4237.69 4566,-4101.16 4566,-3974.04 4566,-3974.04 4566,-3974.04 4566,-3784.08 4566,-3728.83 4548.44,-3698.51 4590,-3662.1 4638.49,-3619.64 5105.14,-3634.88 5169,-3626.1 5366.68,-3598.95 5445.14,-3647.4 5608,-3532.12 5785.73,-3406.33 5732.94,-3288.29 5864,-3114.41 5877.06,-3097.08 5889.13,-3098.64 5897,-3078.41 5931.68,-2989.25 5984.17,-2875.91 5872,-2691.81 5837.15,-2634.61 5768.32,-2674.67 5744,-2612.26"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_report -->
<g id="edge461" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3991,-4359.1C3992.51,-4319.53 4029.67,-4327.11 4053,-4295.11 4240.9,-4037.41 4152.51,-3873.86 4391,-3662.1 4476.97,-3585.77 4519.58,-3592.17 4632,-3568.12 4710.76,-3551.27 5285.25,-3570.62 5356,-3532.12 5416.16,-3499.38 5419.94,-3470.37 5446,-3407.03 5558.52,-3133.53 5526.82,-3044.62 5550,-2749.79 5552.02,-2724.1 5550.72,-2717.57 5550,-2691.81 5546.89,-2580.48 5606.05,-2528.2 5536,-2441.62 5497.75,-2394.34 5461.48,-2425.45 5404,-2405.62 5390.76,-2401.05 5376.64,-2395.42 5363.79,-2390"/>
<polygon fill="#f96210" stroke="black" points="5365.3,-2386.84 5354.73,-2386.11 5362.54,-2393.27 5365.3,-2386.84"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_report_trigger -->
<g id="edge462" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_report_report_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3649,-4547.07C3561.44,-4382.39 3623.83,-4314.86 3587,-4132.02 3566.72,-4031.33 3545.2,-4009.63 3530,-3908.05 3517.62,-3825.34 3523,-3803.7 3521,-3720.09 3520.38,-3694.32 3517.53,-3687.64 3521,-3662.1 3526.83,-3619.16 3531.02,-3608.41 3547,-3568.12 3650.02,-3308.45 3764.04,-3289.15 3982,-3114.41 4003.36,-3097.28 4010.93,-3095.89 4032,-3078.41 4059.16,-3055.87 4133.1,-3001.31 4147,-2968.87 4159.87,-2938.83 4148.84,-2927.96 4147,-2895.33 4141.88,-2804.44 4144.71,-2780.45 4124,-2691.81 4120.13,-2675.24 4114.87,-2672.37 4111,-2655.81 4093.85,-2582.36 4046.81,-2547.55 4092,-2487.17"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_telegram -->
<g id="edge463" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8509.32,-4712.04C8354.36,-4708.47 7888.7,-4694.19 7745,-4649.06 7730.75,-4644.59 7728.58,-4640.12 7716,-4632.06"/>
<path fill="none" stroke="black" d="M7716,-4630.06C7674.44,-4603.43 7669.61,-4588.57 7640,-4549.07"/>
<path fill="none" stroke="black" d="M7640,-4547.07C7608.19,-4504.64 7591.52,-4500.42 7564,-4455.09"/>
<path fill="none" stroke="black" d="M7564,-4453.09C7536.48,-4407.76 7525.88,-4398.21 7488,-4361.1"/>
<path fill="none" stroke="black" d="M7488,-4359.1C7418.48,-4291.01 7378.92,-4297 7318,-4221.11 7025.78,-3857.14 7025.38,-3713.68 6848,-3281.93 6772.92,-3099.17 6755.56,-3051.59 6710,-2859.33 6688.36,-2767.98 6710.96,-2510.33 6647,-2441.62 6597.34,-2388.27 6554.39,-2433.39 6487,-2405.62 6459.35,-2394.22 6453.99,-2387.7 6430,-2369.85"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_repository_executor -->
<g id="edge464" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3307,-4453.09C3259.82,-4429.46 3242.29,-4428.32 3207,-4389.1 3197.7,-4378.76 3205.08,-4368 3193,-4361.1"/>
<path fill="none" stroke="black" d="M3193,-4359.1C3169.87,-4345.9 3164.21,-4342.23 3140,-4331.11 2920.37,-4230.28 2862.05,-4212.01 2634,-4132.02 2500.55,-4085.21 2466.76,-4074.03 2330,-4038.04 2257.41,-4018.93 2223.85,-4048.62 2165,-4002.04 2092.65,-3944.77 2006.06,-3817.02 1920,-3172.39 1875.78,-2841.15 1918.31,-2724.01 2097,-2441.62 2252.93,-2195.18 2372.43,-2202.4 2581,-1998.57 2629.23,-1951.44 2642.28,-1940.38 2686,-1889.03 2698.91,-1873.87 2698.84,-1867.28 2713,-1853.27"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_repository_repository -->
<g id="edge465" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7944,-4359.1C7884.83,-4315.98 7889.79,-4284.99 7854,-4221.11 7809.96,-4142.52 7806.83,-4118.84 7767,-4038.04 7630.77,-3761.62 7590.83,-3693.28 7411,-3443.03 7369.14,-3384.77 7371.67,-3352.84 7309,-3317.93 7254.96,-3287.83 7074.62,-3327.69 7033,-3281.93 7031.33,-3280.09 7008.23,-2569.19 7008,-2566.71 6981.59,-2279.56 6998.49,-2200.12 6912,-1925.03 6885.02,-1839.21 6899.16,-1789.98 6822,-1743.73"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_repository_update_handler -->
<g id="edge466" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_repository_update_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8532.46,-4698.63C8503.41,-4683.13 8456.6,-4657.3 8418,-4632.06"/>
<path fill="none" stroke="black" d="M8418,-4630.06C8215.27,-4497.51 8148.21,-4491.37 7944,-4361.1"/>
<path fill="none" stroke="black" d="M7944,-4359.1C7877.98,-4311.99 7792,-4339.22 7792,-4258.11 7792,-4258.11 7792,-4258.11 7792,-4175.57 7792,-4063.13 7349.3,-3379.15 7255,-3317.93 7159,-3255.61 7075.21,-3368.21 7000,-3281.93 6998.65,-3280.39 6998.06,-2693.86 6998,-2691.81 6996.35,-2636.15 6998.77,-2621.85 6991,-2566.71 6965.04,-2382.48 6898,-2344.6 6898,-2158.55 6898,-2158.55 6898,-2158.55 6898,-1960.8 6898,-1811.89 4471.44,-1754.46 4023.6,-1745.13"/>
<polygon fill="#f96210" stroke="black" points="4023.74,-1741.63 4013.67,-1744.92 4023.6,-1748.63 4023.74,-1741.63"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_sign_gpg -->
<g id="edge467" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_sign_gpg</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3877,-4547.07C3845.91,-4519.85 3877,-4402.43 3877,-4361.1 3877,-4361.1 3877,-4361.1 3877,-4294.11 3877,-4221.22 3999.45,-3711.56 4053,-3662.1 4114.53,-3605.27 4158.35,-3652.04 4238,-3626.1 4295.85,-3607.27 4302.92,-3582.64 4362,-3568.12 4449.27,-3546.68 5099.02,-3587.23 5170,-3532.12 5227.21,-3487.7 5250.01,-3267.4 5208,-3208.39 5179.63,-3168.55 5132.37,-3212.24 5104,-3172.39 5030.46,-3069.11 5228.06,-3009.06 5172,-2895.33 5116.01,-2781.74 4961.01,-2847.55 4946,-2721.8"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_spawn -->
<g id="edge468" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_spawn</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3649,-4630.06C3618.45,-4611.03 3665.9,-4580.85 3649,-4549.07"/>
<path fill="none" stroke="black" d="M3649,-4547.07C3612.05,-4477.58 3375.52,-4493.8 3307,-4455.09"/>
<path fill="none" stroke="black" d="M3307,-4453.09C3224.27,-4406.34 3188.62,-4430.31 3103,-4389.1 3061.46,-4369.1 3059.08,-4349.94 3017,-4331.11 2957.57,-4304.52 2937.01,-4314.97 2875,-4295.11 2788.69,-4267.48 2765.05,-4263.6 2685,-4221.11 2623.45,-4188.45 2618.82,-4162.16 2556,-4132.02 2374.08,-4044.72 2241.82,-4163.64 2121,-4002.04 2045.97,-3901.67 2120.22,-3845.4 2120,-3720.09 2119.95,-3694.32 2116.94,-3687.69 2120,-3662.1 2134.88,-3537.74 2197.78,-3226.83 2253,-3114.41 2335.47,-2946.5 2362.05,-2892.07 2516,-2785.79 2561.34,-2754.49 2622.94,-2737.77 2665.32,-2729.37"/>
<polygon fill="#f96210" stroke="black" points="2665.81,-2732.84 2674.98,-2727.55 2664.51,-2725.96 2665.81,-2732.84"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_status_client -->
<g id="edge469" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_status_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8509.4,-4711.79C8277.39,-4705.59 7292.34,-4674.52 6491,-4577.06 6223.49,-4544.53 6086.2,-4669.91 5892,-4483.08 5852.18,-4444.77 5868,-4416.35 5868,-4361.1 5868,-4361.1 5868,-4361.1 5868,-3784.08 5868,-3593.37 5957.57,-3378.48 5999.19,-3288.91"/>
<polygon fill="#f96210" stroke="black" points="6002.3,-3290.53 6003.38,-3279.99 5995.96,-3287.55 6002.3,-3290.53"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_status_watcher -->
<g id="edge470" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9352,-4547.07C9332.67,-4533.21 9324.09,-4398.58 9314,-4361.1"/>
<path fill="none" stroke="black" d="M9314,-4359.1C9299.41,-4317.43 9272.01,-4323.28 9238,-4295.11"/>
<path fill="none" stroke="black" d="M9238,-4294.11C9190.37,-4254.67 9162,-4239.4 9162,-4177.57 9162,-4177.57 9162,-4177.57 9162,-3486.57 9162,-3310.32 9004.22,-3327.22 8920,-3172.39 8752.48,-2864.42 8853.04,-2706.18 8623,-2441.62 8417.51,-2205.28 8164.22,-2270.53 8106,-1962.8"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_status_web_client -->
<g id="edge471" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9590,-4294.11C9503.25,-4221.09 9542,-3899.48 9542,-3786.08 9542,-3786.08 9542,-3786.08 9542,-3596.11 9542,-3408.84 9485.84,-3360.79 9377,-3208.39 9353.62,-3175.66 9308.35,-3184.35 9313,-3144.4"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_tree -->
<g id="edge472" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_tree</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1869,-4359.1C1836.19,-4337.4 1440.93,-3845.29 1417,-3814.07 1354.73,-3732.85 1342.04,-3710.39 1284,-3626.1 1146.33,-3426.19 1065.74,-3399.47 980,-3172.39 926.11,-3029.67 860.2,-2618.39 938,-2487.17"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_triggers_trigger -->
<g id="edge473" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_triggers_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3573,-4175.57C3526.7,-4007.91 3535,-3960.01 3535,-3786.08 3535,-3786.08 3535,-3786.08 3535,-3690.1 3535,-3472.09 4134.89,-3176.92 4200,-2968.87 4232.85,-2863.9 4238.54,-2818.43 4186,-2721.8"/>
<path fill="none" stroke="black" d="M4186,-2719.8C4175.91,-2701.05 4169.32,-2678.49 4165.08,-2658.88"/>
<polygon fill="#f96210" stroke="black" points="4168.54,-2658.33 4163.15,-2649.21 4161.68,-2659.7 4168.54,-2658.33"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_triggers_trigger_loader -->
<g id="edge474" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_triggers_trigger_loader</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3573,-4294.11C3548.28,-4248.59 3588.85,-4226.88 3573,-4177.57"/>
<path fill="none" stroke="black" d="M3573,-4175.57C3567.74,-4155.93 3570.54,-4148.76 3559,-4132.02 3544.46,-4110.93 3529.42,-4116.47 3514,-4096.02 3396.83,-3940.65 3345,-3886.7 3345,-3692.1 3345,-3692.1 3345,-3692.1 3345,-3596.11 3345,-3191.23 3675.7,-2777.77 3785.81,-2651.32"/>
<polygon fill="#f96210" stroke="black" points="3788.4,-2653.69 3792.35,-2643.86 3783.13,-2649.07 3788.4,-2653.69"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_upload_github -->
<g id="edge475" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_upload_github</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7716,-4630.06C7652.69,-4584.89 7716,-4532.85 7716,-4455.09 7716,-4455.09 7716,-4455.09 7716,-4257.11 7716,-4150.81 7667.5,-4133.14 7620,-4038.04 7609.74,-4017.49 7232.96,-3330.89 7214,-3317.93 7120.6,-3254.08 7038.74,-3365.06 6962,-3281.93 6932.81,-3250.31 6943.47,-2938.02 6938,-2895.33 6933.87,-2863.09 6921.25,-2855.94 6924,-2823.56"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_upload_rsync -->
<g id="edge476" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_upload_rsync</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8508.85,-4713.28C8347.28,-4713.38 7849.78,-4708.7 7702,-4649.06 7594.88,-4605.83 7578.96,-4569.22 7502,-4483.08 7481.47,-4460.1 7487.05,-4445.54 7464,-4425.1 7311.45,-4289.76 7188.48,-4373.53 7053,-4221.11 6809.03,-3946.64 6981.66,-3746.58 6775,-3443.03 6603.91,-3191.73 6372.79,-3259 6282,-2968.87 6272.24,-2937.68 6271.15,-2926.16 6282,-2895.33 6292.37,-2865.88 6350.03,-2809.8 6370,-2785.79 6383.5,-2769.56 6389.39,-2767.43 6401,-2749.79 6438.38,-2693 6463.34,-2680.09 6468,-2612.26"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_upload_s3 -->
<g id="edge477" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_upload_s3</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7640,-4547.07C7540.86,-4389.93 7642.69,-4310.19 7590,-4132.02 7571.5,-4069.47 7601.62,-4156.04 7320,-3626.1 7247.58,-3489.83 7285.45,-3407.81 7160,-3317.93 7073.75,-3256.14 7007.33,-3347.61 6924,-3281.93 6892.04,-3256.74 6678.65,-2695.67 6616.78,-2531.75"/>
<polygon fill="#f96210" stroke="black" points="6620.1,-2530.63 6613.29,-2522.51 6613.55,-2533.1 6620.1,-2530.63"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_upload_upload -->
<g id="edge478" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_upload_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7450,-3972.04C7405.58,-3913.36 7388.04,-3904.04 7338,-3850.07 7221.28,-3724.19 7192.26,-3692.56 7074,-3568.12 6819.09,-3299.89 6634.52,-3312 6496,-2968.87 6473.71,-2913.66 6505.94,-2741.91 6523.66,-2658.56"/>
<polygon fill="#f96210" stroke="black" points="6527.06,-2659.4 6525.74,-2648.89 6520.22,-2657.93 6527.06,-2659.4"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_upload_upload_trigger -->
<g id="edge479" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_upload_upload_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8509.39,-4712.01C8005.71,-4701.54 3910.82,-4615.33 3863,-4577.06 3708.3,-4453.27 3809.88,-4328.29 3837,-4132.02 3871.86,-3879.73 3861.12,-3810.61 3939,-3568.12 4029.12,-3287.51 4145.29,-3253.17 4223,-2968.87 4235.89,-2921.71 4228.88,-2908.04 4233,-2859.33 4246.99,-2694.01 4158.47,-2616.81 4262,-2487.17"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_util -->
<g id="edge480" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_util</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7336,-4630.06C7079.06,-4607.7 6772.43,-4570.11 6655.03,-4555.32"/>
<polygon fill="#f96210" stroke="black" points="6655.8,-4551.89 6645.44,-4554.11 6654.92,-4558.84 6655.8,-4551.89"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge481" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8610.76,-4712.38C8898.38,-4708.45 10317.32,-4687.23 10508,-4649.06 10795.37,-4591.55 10903.55,-4593.06 11114,-4389.1 11395.12,-4116.64 11613.33,-3082.34 11586,-2691.81 11571.3,-2481.71 11573.69,-2426.2 11520,-2222.54 11486.35,-2094.89 11326.66,-1799.64 11302,-1669.96 11278.42,-1545.94 11384.36,-1208.17 11316,-1102.05"/>
<path fill="none" stroke="black" d="M11316,-1100.05C11224.41,-980.13 11049.99,-916.72 10958.09,-890.33"/>
<polygon fill="#f96210" stroke="black" points="10959.06,-886.97 10948.49,-887.63 10957.16,-893.71 10959.06,-886.97"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_base -->
<g id="edge482" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10418,-4547.07C10384.71,-4523.34 10439.76,-4489.7 10418,-4455.09"/>
<path fill="none" stroke="black" d="M10418,-4453.09C10294.84,-4257.24 10114.78,-4423.02 9922,-4295.11"/>
<path fill="none" stroke="black" d="M9922,-4294.11C9806.95,-4241.04 9733.61,-3298 9717,-3172.39 9698.76,-3034.45 9628.28,-2062.38 9606,-1925.03 9592.74,-1843.29 9563,-1826.54 9563,-1743.73 9563,-1743.73 9563,-1743.73 9563,-1530.43 9563,-1437.4 9574.65,-1413.42 9563,-1321.13"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_index -->
<g id="edge483" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_index</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10570,-4453.09C10630,-4110.86 10771.37,-3236.18 10704,-2895.33 10670.02,-2723.43 10609.17,-2697.03 10554,-2530.71 10520.11,-2428.55 10511.88,-2402.22 10494,-2296.08 10466.52,-2132.89 10504.76,-2085.16 10463,-1925.03 10431.58,-1804.52 10373.38,-1791.67 10347,-1669.96 10333.99,-1609.91 10350.08,-1592.89 10361,-1532.43"/>
<path fill="none" stroke="black" d="M10361,-1530.43C10362.85,-1486.13 10352,-1474.08 10361,-1430.67"/>
</g>
<!-- ahriman_web_views_service_add -->
<g id="node158" class="node">
<title>ahriman_web_views_service_add</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4e2e" stroke="black" cx="9385" cy="-874.19" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="9385" y="-893.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9385" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="9385" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="9385" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="9385" y="-849.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">add</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_service_add -->
<g id="edge484" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_service_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9314,-4359.1C9299.17,-4316.74 9314,-4303 9314,-4258.11 9314,-4258.11 9314,-4258.11 9314,-3972.04 9314,-3733.47 9296.97,-3669.84 9223,-3443.03 9150.08,-3219.42 9068.13,-3190 8988,-2968.87 8802.8,-2457.82 8784.54,-2316.92 8703,-1779.5 8689.85,-1692.85 8587.55,-1052.96 8651,-992.51"/>
</g>
<!-- ahriman_web_views_service_pgp -->
<g id="node159" class="node">
<title>ahriman_web_views_service_pgp</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4e2e" stroke="black" cx="10057" cy="-874.19" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="10057" y="-893.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10057" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="10057" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="10057" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="10057" y="-849.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pgp</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_service_pgp -->
<g id="edge485" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_service_pgp</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10418,-4359.1C10414.77,-4314.34 10418,-4303 10418,-4258.11 10418,-4258.11 10418,-4258.11 10418,-3878.06 10418,-3538.64 10435.11,-3452.83 10409,-3114.41 10403.39,-3041.73 10251.5,-1882.59 10223,-1815.5 10215.08,-1796.84 10203.12,-1798.07 10195,-1779.5 10168.77,-1719.53 10171,-1699.64 10171,-1634.19 10171,-1634.19 10171,-1634.19 10171,-1100.05 10171,-1028.89 10125.03,-957.43 10091.47,-914.75"/>
<polygon fill="#f96210" stroke="black" points="10094.24,-912.61 10085.25,-907.01 10088.79,-917 10094.24,-912.61"/>
</g>
<!-- ahriman_web_views_service_rebuild -->
<g id="node160" class="node">
<title>ahriman_web_views_service_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4e2e" stroke="black" cx="9801" cy="-874.19" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="9801" y="-893.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9801" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="9801" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="9801" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="9801" y="-849.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">rebuild</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_service_rebuild -->
<g id="edge486" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_service_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9922,-4294.11C9893.72,-4269.69 9846.17,-3663.4 9844,-3626.1 9820.62,-3224.21 9896,-3124.38 9896,-2721.8 9896,-2721.8 9896,-2721.8 9896,-2367.85 9896,-2187.37 9867,-2143.28 9867,-1962.8 9867,-1962.8 9867,-1962.8 9867,-1851.27 9867,-1549.84 9859.17,-1474.27 9835,-1173.82 9828.12,-1088.31 9816.05,-989.47 9808.3,-929.68"/>
<polygon fill="#f96210" stroke="black" points="9811.82,-929.59 9807.05,-920.13 9804.88,-930.49 9811.82,-929.59"/>
</g>
<!-- ahriman_web_views_service_remove -->
<g id="node161" class="node">
<title>ahriman_web_views_service_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4e2e" stroke="black" cx="9291" cy="-874.19" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="9291" y="-893.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9291" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="9291" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="9291" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="9291" y="-849.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remove</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_service_remove -->
<g id="edge487" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_service_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8418,-4547.07C8404.55,-4508.46 8437.98,-4490.75 8418,-4455.09"/>
<path fill="none" stroke="black" d="M8418,-4453.09C8308.79,-4258.17 8104.72,-4400.85 7972,-4221.11 7930.91,-4165.47 7944,-4137.19 7944,-4068.03 7944,-4068.03 7944,-4068.03 7944,-3784.08 7944,-3643.31 7830,-3629.34 7830,-3488.57 7830,-3488.57 7830,-3488.57 7830,-3361.48 7830,-3199.91 7680.97,-2815.27 7655,-2655.81 7639.68,-2561.75 7644.75,-2536.92 7645,-2441.62 7645.62,-2208.37 7538.43,-1571.87 7688,-1392.9 7708.93,-1367.85 7723.89,-1373.48 7752,-1356.9 7805.55,-1325.31 7816.33,-1312.96 7871,-1283.36 8173.23,-1119.72 8237.67,-1038.5 8571,-954.74 8716.25,-918.24 9106.07,-977.11 9244,-918.74 9247.64,-917.2 9251.18,-915.24 9254.58,-913.02"/>
<polygon fill="#f96210" stroke="black" points="9256.61,-915.87 9262.51,-907.07 9252.41,-910.27 9256.61,-915.87"/>
</g>
<!-- ahriman_web_views_service_request -->
<g id="node162" class="node">
<title>ahriman_web_views_service_request</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4e2e" stroke="black" cx="9479" cy="-874.19" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="9479" y="-893.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9479" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="9479" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="9479" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="9479" y="-849.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">request</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_service_request -->
<g id="edge488" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_service_request</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10494,-4630.06C10499.07,-4594.17 10454.33,-4605.62 10432,-4577.06 10423.43,-4566.1 10429.33,-4557.15 10418,-4549.07"/>
<path fill="none" stroke="black" d="M10418,-4547.07C10137.68,-4347.18 9936.76,-4573.76 9666,-4361.1"/>
<path fill="none" stroke="black" d="M9666,-4359.1C9630.8,-4332.45 9625.48,-4321.4 9590,-4295.11"/>
<path fill="none" stroke="black" d="M9590,-4294.11C9471.64,-4206.43 9504,-4121.34 9504,-3974.04 9504,-3974.04 9504,-3974.04 9504,-3596.11 9504,-3381.92 9442.7,-3323.54 9489,-3114.41 9500.61,-3061.98 9512,-3050.7 9540,-3004.87 9550.57,-2987.57 9561.42,-2988.04 9568,-2968.87 9578.61,-2937.95 9571.47,-2927.83 9568,-2895.33 9564.03,-2858.19 9522.12,-2594.36 9497,-2566.71 9461.55,-2527.7 9423.88,-2565.18 9384,-2530.71 9334.23,-2487.7 8879.8,-1530.53 8865,-1466.43 8828.55,-1308.52 8865.87,-1263.58 8879,-1102.05"/>
<path fill="none" stroke="black" d="M8879,-1100.05C8883.23,-1062.61 8906.57,-979.08 8941,-954.74 9030.33,-891.57 9331.67,-962.37 9432,-918.74 9435.63,-917.16 9439.16,-915.18 9442.54,-912.94"/>
<polygon fill="#f96210" stroke="black" points="9444.59,-915.78 9450.46,-906.97 9440.37,-910.19 9444.59,-915.78"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_service_search -->
<g id="edge489" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9656,-3972.04C9652.28,-3889.48 9656,-3868.73 9656,-3786.08 9656,-3786.08 9656,-3786.08 9656,-3486.57 9656,-2989.44 9592,-2866.99 9592,-2369.85 9592,-2369.85 9592,-2369.85 9592,-2062.57 9592,-1917.76 9525,-1888.53 9525,-1743.73 9525,-1743.73 9525,-1743.73 9525,-1632.19 9525,-1489.87 9601,-1463.44 9601,-1321.13 9601,-1321.13 9601,-1321.13 9601,-1209.59 9601,-1108.06 9630.65,-992.42 9650.2,-927.18"/>
<polygon fill="#f96210" stroke="black" points="9653.48,-928.41 9653.04,-917.83 9646.79,-926.38 9653.48,-928.41"/>
</g>
<!-- ahriman_web_views_service_update -->
<g id="node164" class="node">
<title>ahriman_web_views_service_update</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4e2e" stroke="black" cx="10151" cy="-874.19" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="10151" y="-893.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10151" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="10151" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="10151" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="10151" y="-849.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">update</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_service_update -->
<g id="edge490" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_service_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10494,-4630.06C10500.9,-4581.18 10533.64,-4582.46 10570,-4549.07"/>
<path fill="none" stroke="black" d="M10570,-4547.07C10600.11,-4519.42 10565.04,-4495.67 10570,-4455.09"/>
<path fill="none" stroke="black" d="M10570,-4453.09C10579.46,-4375.75 10494,-4373.03 10494,-4295.11 10494,-4295.11 10494,-4295.11 10494,-3486.57 10494,-3174.44 10493.47,-3094.59 10448,-2785.79 10420.36,-2598.09 10352,-2559.57 10352,-2369.85 10352,-2369.85 10352,-2369.85 10352,-2258.31 10352,-2055.84 10314.62,-2005.62 10245,-1815.5 10232.73,-1781.99 10219.36,-1777.88 10209,-1743.73"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge491" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10418,-4453.09C10400.1,-4416.33 10429.6,-4400.3 10418,-4361.1"/>
<path fill="none" stroke="black" d="M10418,-4359.1C10328.03,-4055.18 10356.21,-3966.26 10267,-3662.1 10216.24,-3489.03 10184.77,-3452.11 10125,-3281.93 10076.99,-3145.22 10054.9,-3112.25 10034,-2968.87 10000.1,-2736.35 10016.35,-2675.62 9995,-2441.62 9975.55,-2228.45 9943,-2176.86 9943,-1962.8 9943,-1962.8 9943,-1962.8 9943,-1851.27 9943,-1500.65 9937.12,-1079.22 9934.87,-930.45"/>
<polygon fill="#f96210" stroke="black" points="9938.37,-930.43 9934.71,-920.48 9931.37,-930.53 9938.37,-930.43"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_status_package -->
<g id="edge492" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9666,-4359.1C9529.53,-4255.75 9688.69,-4142.09 9656,-3974.04"/>
<path fill="none" stroke="black" d="M9656,-3972.04C9650.59,-3943.44 9646.32,-3936.84 9642,-3908.05 9587.16,-3542.31 9591.42,-3447.99 9578,-3078.41 9576.81,-3045.75 9575.3,-3037.44 9578,-3004.87 9579.34,-2988.7 9582.66,-2985.03 9584,-2968.87 9598.9,-2788.84 9586.83,-2736.45 9525,-2566.71 9478.44,-2438.89 9433.82,-2421.86 9382,-2296.08 9164,-1766.95 9261.71,-1576.74 9007,-1064.28 8989.47,-1029 8933.15,-1025.28 8955,-992.51"/>
</g>
<!-- ahriman_web_views_status_packages -->
<g id="node168" class="node">
<title>ahriman_web_views_status_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a4e2e" stroke="black" cx="9193" cy="-874.19" rx="41.94" ry="44.6"/>
<text text-anchor="middle" x="9193" y="-893.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9193" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="9193" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="9193" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="9193" y="-849.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">packages</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_status_packages -->
<g id="edge493" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_status_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8418,-4630.06C8390.62,-4606.69 8431.86,-4582.29 8418,-4549.07"/>
<path fill="none" stroke="black" d="M8418,-4547.07C8356.76,-4400.33 8226.15,-4481.85 8097,-4389.1 8011.49,-4327.69 7977.58,-4315.02 7930,-4221.11 7898.87,-4159.68 7906,-4136.9 7906,-4068.03 7906,-4068.03 7906,-4068.03 7906,-3784.08 7906,-3703.27 7850.36,-3699.24 7816,-3626.1 7741.7,-3467.94 7398,-2497.04 7398,-2487.17 7398,-2487.17 7398,-2487.17 7398,-2156.55 7398,-1902.05 7423.25,-1833.02 7517,-1596.42 7535,-1551 7547.4,-1543.41 7574,-1502.43 7606.27,-1452.74 7608.08,-1434.77 7650,-1392.9 7669.89,-1373.03 7681.27,-1375.88 7702,-1356.9 7826.65,-1242.7 7833.05,-1190.94 7945,-1064.28 7989.26,-1014.21 7987.12,-982.3 8048,-954.74 8154.95,-906.32 8990.09,-947.17 9104,-918.74 9118.5,-915.12 9133.4,-908.95 9146.77,-902.36"/>
<polygon fill="#f96210" stroke="black" points="9148.02,-905.66 9155.31,-897.98 9144.82,-899.43 9148.02,-905.66"/>
</g>
<!-- ahriman_web_views_status_status -->
<g id="node169" class="node">
<title>ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#734126" stroke="black" cx="10730" cy="-874.19" rx="38.37" ry="44.6"/>
<text text-anchor="middle" x="10730" y="-893.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10730" y="-882.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="10730" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="10730" y="-860.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="10730" y="-849.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_status_status -->
<g id="edge494" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10494,-4630.06C10500.49,-4584.1 10544.74,-4601.83 10584,-4577.06 10622.99,-4552.47 10627.7,-4537.4 10670,-4519.08 10736.09,-4490.46 10759.02,-4503.8 10828,-4483.08 10941.69,-4448.93 10996.19,-4475.11 11078,-4389.1 11286.62,-4169.75 11417.54,-3379.48 11449,-3078.41 11475.73,-2822.66 11427.98,-2171.89 11356,-1925.03 11259.42,-1593.8 11050,-1556.61 11050,-1211.59 11050,-1211.59 11050,-1211.59 11050,-1100.05 11050,-1033.9 10864.65,-938.2 10776.08,-896.24"/>
<polygon fill="#f96210" stroke="black" points="10777.69,-893.13 10767.15,-892.04 10774.71,-899.46 10777.69,-893.13"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_user_login -->
<g id="edge495" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11064,-4294.11C11063.72,-4291.29 11113.31,-4098.77 11114,-4096.02 11235.47,-3613.04 11469.94,-3492.55 11369,-3004.87 11205.63,-2215.59 10901.6,-2109.08 10612,-1356.9 10550.88,-1198.16 10600.3,-1126.09 10495,-992.51"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge496" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7944,-4359.1C7890.93,-4318.45 7868,-4134.88 7868,-4068.03 7868,-4068.03 7868,-4068.03 7868,-3784.08 7868,-3682.23 7764.28,-3706.69 7702,-3626.1 7599.9,-3494 7379.77,-3130.51 7338,-2968.87 7293.98,-2798.53 7367.8,-1518.48 7491,-1392.9 7549.66,-1333.1 7614.79,-1414.08 7676,-1356.9 7706.62,-1328.29 7738.34,-1016.04 7773,-992.51"/>
</g>
<!-- ahriman_models_action -->
<g id="node124" class="node">
<title>ahriman_models_action</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#e76822" stroke="black" cx="13447" cy="-2157.55" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="13447" y="-2166.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="13447" y="-2155.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="13447" y="-2144.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">action</text>
</g>
<!-- ahriman_models_action&#45;&gt;ahriman_application_ahriman -->
<g id="edge497" class="edge">
<title>ahriman_models_action&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13447,-1851.27C13462.05,-1610.8 13789,-1671.6 13789,-1430.67 13789,-1430.67 13789,-1430.67 13789,-1319.13 13789,-1023.72 13944.98,-984.37 14077,-720.1 14115.83,-642.38 14145.06,-630.64 14167,-546.57"/>
<path fill="none" stroke="black" d="M14167,-544.57C14177.53,-452.15 14167,-428.3 14167,-335.27 14167,-335.27 14167,-335.27 14167,-223.74 14167,-35.88 11043.17,-29.79 10575.34,-29.93"/>
<polygon fill="#e76822" stroke="black" points="10575.66,-26.43 10565.66,-29.93 10575.66,-33.43 10575.66,-26.43"/>
</g>
<!-- ahriman_models_action&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge498" class="edge">
<title>ahriman_models_action&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13453.44,-2128.58C13464.72,-2073.63 13483.58,-1948.64 13447,-1853.27"/>
<path fill="none" stroke="black" d="M13447,-1851.27C13310.87,-1570.94 13073.26,-1725.58 12809,-1560.42 12753.32,-1525.62 12741.61,-1512.69 12695,-1466.43 12514.68,-1287.52 12489,-1224.76 12328,-1028.28 12216.75,-892.51 12236.16,-802.18 12081,-720.1 12005.22,-680.02 11411.89,-656.72 11221.55,-650.22"/>
<polygon fill="#e76822" stroke="black" points="11221.76,-646.73 11211.65,-649.89 11221.53,-653.72 11221.76,-646.73"/>
</g>
<!-- ahriman_models_action&#45;&gt;ahriman_application_handlers_status_update -->
<g id="edge499" class="edge">
<title>ahriman_models_action&#45;&gt;ahriman_application_handlers_status_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13408.68,-2154.97C13156.27,-2144.18 11706.54,-2076.01 10542,-1889.03 10398.34,-1865.97 10366.71,-1838.2 10223,-1815.5 10040.57,-1786.68 9992.84,-1797.23 9809,-1779.5 8185.68,-1622.94 7782.06,-1561.99 6160,-1392.9 5903.16,-1366.12 1776.07,-1013.87 1536,-918.74 1506.36,-906.99 1497.73,-900.99 1479,-875.19"/>
</g>
<!-- ahriman_models_action&#45;&gt;ahriman_application_handlers_users -->
<g id="edge500" class="edge">
<title>ahriman_models_action&#45;&gt;ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13476.42,-2138.48C13559.24,-2087.64 13794.82,-1943.01 13895,-1881.5"/>
<polygon fill="#e76822" stroke="black" points="13896.57,-1884.65 13903.26,-1876.44 13892.91,-1878.68 13896.57,-1884.65"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_application_handlers_search -->
<g id="edge501" class="edge">
<title>ahriman_models_aur_package&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9048,-4294.11C9200.31,-4169.53 9274.06,-4196.41 9460,-4132.02 10211.17,-3871.88 10492.36,-3985.98 11145,-3532.12 11286.42,-3433.78 11312.65,-3396.81 11441,-3281.93 11541.97,-3191.56 11576.22,-3178.09 11668,-3078.41 11709.37,-3033.47 11722.13,-3022.7 11751,-2968.87 11791.75,-2892.91 11775.59,-2862.45 11815,-2785.79 11945.6,-2531.77 12185,-2545.94 12185,-2260.31 12185,-2260.31 12185,-2260.31 12185,-2156.55 12185,-1736.13 12228,-1632 12228,-1211.59 12228,-1211.59 12228,-1211.59 12228,-1100.05 12228,-994.56 12291.25,-979.91 12304,-875.19"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_aur -->
<g id="edge502" class="edge">
<title>ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_aur</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8810.4,-4355.69C8568.18,-4339.3 7538.27,-4269 7526,-4258.11"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_official -->
<g id="edge503" class="edge">
<title>ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_official</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8858,-4257.11C8786.58,-4212.83 8858,-4152.07 8858,-4068.03 8858,-4068.03 8858,-4068.03 8858,-3486.57 8858,-3406.72 8848.17,-3378.39 8796,-3317.93 8774.17,-3292.63 8754.06,-3305.12 8730,-3281.93 8671.74,-3225.77 8565.43,-3046.9 8544,-2968.87 8517,-2870.56 8589.9,-2849.32 8612,-2749.79 8625.37,-2689.61 8614.88,-2670.26 8594,-2612.26"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_official_syncdb -->
<g id="edge504" class="edge">
<title>ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_official_syncdb</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8812.27,-4351.12C8636.09,-4322.24 8042.41,-4224.67 8039,-4221.11 7991.57,-4171.61 8020,-4136.59 8020,-4068.03 8020,-4068.03 8020,-4068.03 8020,-3596.11 8020,-3380.26 8006.84,-3324.67 7958,-3114.41 7923.09,-2964.11 7929.54,-2915.52 7846,-2785.79 7823.53,-2750.9 7792.91,-2760.53 7778,-2721.8"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_remote -->
<g id="edge505" class="edge">
<title>ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8910.5,-4353.01C8951.66,-4345.62 9009.52,-4329.56 9048,-4295.11"/>
<path fill="none" stroke="black" d="M9048,-4294.11C9112.03,-4236.79 8932.8,-4300.44 8858,-4258.11"/>
<path fill="none" stroke="black" d="M8858,-4257.11C8719.68,-4178.84 8706,-3990.74 8706,-3880.06 8706,-3880.06 8706,-3880.06 8706,-3784.08 8706,-3731.22 8643.16,-3359.88 8611,-3317.93 8589.23,-3289.54 8568.96,-3301.48 8539,-3281.93 8475.15,-3240.27 8462.93,-3224.19 8407,-3172.39 8364.34,-3132.88 8356.32,-3120.3 8316,-3078.41 8191.17,-2948.72 8189.51,-2879.79 8036,-2785.79 7988.51,-2756.71 7962.67,-2780.15 7916,-2749.79 7902.26,-2740.86 7900.04,-2736.08 7892,-2721.8"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_core_formatters_aur_printer -->
<g id="edge506" class="edge">
<title>ahriman_models_aur_package&#45;&gt;ahriman_core_formatters_aur_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9048,-4294.11C9075.99,-4263.62 11953.85,-3854.51 11995,-3850.07 12055.67,-3843.52 12499.74,-3857.1 12543,-3814.07 12590.83,-3766.49 12577.41,-3275.31 12586,-3208.39 12597.72,-3117.12 12606.75,-3095.25 12624,-3004.87 12630.09,-2972.95 12638.78,-2965.59 12638,-2933.1"/>
<path fill="none" stroke="black" d="M12638,-2931.1C12634.84,-2908.86 12626.11,-2885.61 12617.24,-2866.45"/>
<polygon fill="#d14d05" stroke="black" points="12620.48,-2865.11 12612.99,-2857.62 12614.17,-2868.15 12620.48,-2865.11"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_web_views_service_search -->
<g id="edge507" class="edge">
<title>ahriman_models_aur_package&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9048,-4294.11C9086.59,-4259.56 9048,-4229.36 9048,-4177.57 9048,-4177.57 9048,-4177.57 9048,-4066.03 9048,-3808.44 9390,-3855.7 9390,-3598.11 9390,-3598.11 9390,-3598.11 9390,-3486.57 9390,-3252.96 9439.34,-3198.74 9481,-2968.87 9506.11,-2830.29 9519.08,-2796.22 9530,-2655.81 9533.07,-2616.33 9535.64,-2605.91 9530,-2566.71 9509.79,-2426.23 9440,-2402.24 9440,-2260.31 9440,-2260.31 9440,-2260.31 9440,-1741.73 9440,-1573.61 9260.54,-1143.24 9335,-992.51"/>
</g>
<!-- ahriman_models_auth_settings -->
<g id="node126" class="node">
<title>ahriman_models_auth_settings</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db6b2f" stroke="black" cx="10627" cy="-2259.31" rx="53.07" ry="28.98"/>
<text text-anchor="middle" x="10627" y="-2267.81" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="10627" y="-2256.81" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="10627" y="-2245.81" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">auth_settings</text>
</g>
<!-- ahriman_models_auth_settings&#45;&gt;ahriman_core_auth_auth -->
<g id="edge508" class="edge">
<title>ahriman_models_auth_settings&#45;&gt;ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10631.82,-2230.03C10637.29,-2191.68 10643.47,-2121.43 10627,-2064.57"/>
<path fill="none" stroke="black" d="M10627,-2062.57C10615.43,-2029.31 10522.32,-1995.23 10463.71,-1976.77"/>
<polygon fill="#db6b2f" stroke="black" points="10464.88,-1973.47 10454.29,-1973.85 10462.81,-1980.15 10464.88,-1973.47"/>
</g>
<!-- ahriman_models_auth_settings&#45;&gt;ahriman_core_auth_mapping -->
<g id="edge509" class="edge">
<title>ahriman_models_auth_settings&#45;&gt;ahriman_core_auth_mapping</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10627,-2062.57C10620.16,-2038.96 10633.02,-2014.86 10648.13,-1996.27"/>
<polygon fill="#db6b2f" stroke="black" points="10650.75,-1998.59 10654.66,-1988.75 10645.46,-1994 10650.75,-1998.59"/>
</g>
<!-- ahriman_models_auth_settings&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge510" class="edge">
<title>ahriman_models_auth_settings&#45;&gt;ahriman_core_auth_oauth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10627,-2062.57C10621.58,-2043.84 10614.2,-2023.67 10607.38,-2006.39"/>
<polygon fill="#db6b2f" stroke="black" points="10610.77,-2005.43 10603.8,-1997.45 10604.27,-2008.04 10610.77,-2005.43"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_application_ahriman -->
<g id="edge511" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10190.88,-3783.73C10511.19,-3781.34 12304.48,-3765.96 12543,-3720.09 13095.64,-3613.81 13228.27,-3534.85 13731,-3281.93 14028.25,-3132.39 14113.85,-3094.75 14349,-2859.33 14522.5,-2685.63 14582.67,-2614.34 14605,-2369.85"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_application_handlers_status -->
<g id="edge512" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_application_handlers_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10399,-3690.1C10410.97,-3683.01 10402.92,-3671.69 10413,-3662.1 10441.84,-3634.67 10460.28,-3645.57 10495,-3626.1 10510.57,-3617.37 10783.55,-3426.75 10809,-3407.03 10857.11,-3369.75 10858.14,-3344.28 10913,-3317.93 10990.47,-3280.72 11021.97,-3310.59 11103,-3281.93 11168.15,-3258.89 11178.08,-3239.08 11240,-3208.39 11274.57,-3191.26 11290.76,-3198.68 11319,-3172.39 11394.42,-3102.2 11396.72,-3066.38 11430,-2968.87 11470.94,-2848.91 11502.76,-2531.19 11520,-2405.62 11542.54,-2241.48 11562.27,-2200.14 11556,-2034.57 11551.11,-1905.48 11428.19,-998.1 11468,-875.19"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_application_lock -->
<g id="edge513" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10189.62,-3778.45C10282.06,-3767.49 10492.29,-3742.39 10669,-3720.09 11307.16,-3639.55 11478.52,-3682.16 12104,-3532.12 12569.4,-3420.48 12679.33,-3361.47 13119,-3172.39 13427.41,-3039.76 13534.82,-3042.88 13789,-2823.56"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_database_data_package_statuses -->
<g id="edge514" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_core_database_data_package_statuses</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10100.12,-3769.99C10028.2,-3746.06 9876.36,-3696.72 9746,-3662.1 9244.61,-3528.96 9088.93,-3599.01 8607,-3407.03 8601.82,-3404.96 8596.58,-3402.56 8591.41,-3399.96"/>
<polygon fill="#e55405" stroke="black" points="8593.4,-3397.06 8582.92,-3395.47 8590.13,-3403.24 8593.4,-3397.06"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_database_operations_package_operations -->
<g id="edge515" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_core_database_operations_package_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10093.89,-3779.96C9718.76,-3747.83 7263.89,-3537.56 6776.17,-3495.78"/>
<polygon fill="#e55405" stroke="black" points="6776.78,-3492.32 6766.52,-3494.96 6776.19,-3499.3 6776.78,-3492.32"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_formatters_package_printer -->
<g id="edge516" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_core_formatters_package_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10187.92,-3774.71C10242.11,-3763.32 10334.77,-3742.78 10413,-3720.09 10658.68,-3648.83 10719.11,-3626.16 10957,-3532.12 11183,-3442.78 11807.35,-3273.68 11952,-3078.41 11990.96,-3025.81 11946.39,-2991.48 11976,-2933.1"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_formatters_status_printer -->
<g id="edge517" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_core_formatters_status_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10189.58,-3777.93C10262.04,-3768.16 10404.19,-3747.36 10523,-3720.09 11005.52,-3609.32 11142.85,-3615.24 11592,-3407.03 11912.78,-3258.32 11960.93,-3163.67 12256,-2968.87 12315.43,-2929.63 12383.88,-2884.42 12428.44,-2854.98"/>
<polygon fill="#e55405" stroke="black" points="12430.17,-2858.03 12436.59,-2849.6 12426.31,-2852.19 12430.17,-2858.03"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_status_client -->
<g id="edge518" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_core_status_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10094.33,-3778.57C9944.19,-3761.23 9467.7,-3706.31 9073,-3662.1 8041.68,-3546.6 7778.36,-3560.45 6752,-3407.03 6456.73,-3362.89 6375,-3377.04 6092,-3281.93 6082.39,-3278.7 6072.43,-3274.42 6063.1,-3269.95"/>
<polygon fill="#e55405" stroke="black" points="6064.75,-3266.86 6054.24,-3265.54 6061.63,-3273.13 6064.75,-3266.86"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_status_watcher -->
<g id="edge519" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10118.69,-3759.31C10102.77,-3741.54 10081.95,-3716.53 10067,-3692.1"/>
<path fill="none" stroke="black" d="M10067,-3690.1C10045.68,-3655.24 10028.22,-3656.57 10001,-3626.1 9990.98,-3614.89 9992.59,-3608.79 9982,-3598.11"/>
<path fill="none" stroke="black" d="M9982,-3596.11C9832.11,-3444.9 9765.84,-3440.85 9592,-3317.93 9481.65,-3239.91 9156.37,-3088.76 9094,-2968.87 9083.42,-2948.53 9103.67,-2806.37 9106,-2749.79 9107.06,-2724.04 9109.24,-2717.37 9106,-2691.81 9073.52,-2435.36 9095.93,-2349.04 8961,-2128.56 8889.75,-2012.13 8835.68,-2012.63 8731,-1925.03 8459.39,-1697.74 8363.19,-1674.16 8106,-1430.67"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_status_web_client -->
<g id="edge520" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10145.85,-3755.86C10150.51,-3713.69 10155.21,-3632.31 10133,-3568.12 9989.62,-3153.73 9603.28,-2763.13 9481.38,-2647.02"/>
<polygon fill="#e55405" stroke="black" points="9483.83,-2644.52 9474.17,-2640.18 9479.02,-2649.6 9483.83,-2644.52"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_models_counters -->
<g id="edge521" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_models_counters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10163.04,-3758.94C10171.82,-3748.45 10182.15,-3736.12 10191.52,-3724.93"/>
<polygon fill="#e55405" stroke="black" points="10194.08,-3727.32 10197.81,-3717.41 10188.71,-3722.83 10194.08,-3727.32"/>
</g>
<!-- ahriman_models_internal_status -->
<g id="node129" class="node">
<title>ahriman_models_internal_status</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#bf5921" stroke="black" cx="10067" cy="-3597.11" rx="56.64" ry="28.98"/>
<text text-anchor="middle" x="10067" y="-3605.61" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10067" y="-3594.61" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="10067" y="-3583.61" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">internal_status</text>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_models_internal_status -->
<g id="edge522" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_models_internal_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10067,-3690.1C10057.5,-3674.56 10056.46,-3654.62 10058.23,-3637.28"/>
<polygon fill="#e55405" stroke="black" points="10061.63,-3638.21 10059.53,-3627.82 10054.7,-3637.25 10061.63,-3638.21"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_web_views_status_package -->
<g id="edge523" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9982,-3596.11C9918.17,-3509.55 9950.92,-3220.78 9935,-3114.41 9873.08,-2700.58 9710.56,-1642.59 9496,-1283.36 9484.6,-1264.27 9210.13,-1011.91 9221,-992.51"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_web_views_status_status -->
<g id="edge524" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10187.44,-3774.29C10241.03,-3761.34 10331.37,-3735 10399,-3692.1"/>
<path fill="none" stroke="black" d="M10399,-3690.1C10410.75,-3682.64 10404.56,-3673.16 10413,-3662.1 10451.01,-3612.33 10469.07,-3607.21 10518,-3568.12 10667.97,-3448.33 10699.48,-3406.03 10870,-3317.93 10891.8,-3306.67 11272.79,-3192.4 11287,-3172.39 11522.02,-2841.44 11240,-2666.22 11240,-2260.31 11240,-2260.31 11240,-2260.31 11240,-2156.55 11240,-1954.57 11050,-1945.7 11050,-1743.73 11050,-1743.73 11050,-1743.73 11050,-1530.43 11050,-1422.76 10970.03,-1158.53 10918,-1064.28 10888.61,-1011.04 10878.98,-997.77 10836,-954.74 10816.91,-935.63 10793.04,-917.31 10772.78,-903.09"/>
<polygon fill="#e55405" stroke="black" points="10774.92,-900.31 10764.71,-897.51 10770.94,-906.07 10774.92,-900.31"/>
</g>
<!-- ahriman_models_counters&#45;&gt;ahriman_models_internal_status -->
<g id="edge525" class="edge">
<title>ahriman_models_counters&#45;&gt;ahriman_models_internal_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10189.33,-3672.14C10167.52,-3658.94 10137.47,-3640.76 10112.61,-3625.72"/>
<polygon fill="#a35428" stroke="black" points="10114.68,-3622.88 10104.32,-3620.69 10111.06,-3628.87 10114.68,-3622.88"/>
</g>
<!-- ahriman_models_counters&#45;&gt;ahriman_web_views_status_status -->
<g id="edge526" class="edge">
<title>ahriman_models_counters&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10244.7,-3669.18C10300.79,-3623.26 10437.79,-3509.52 10546,-3407.03 10585.96,-3369.18 10583.27,-3343.51 10632,-3317.93 10718.95,-3272.29 10754.42,-3304.48 10850,-3281.93 10957.75,-3256.51 10980.69,-3235.63 11088,-3208.39 11167.08,-3188.32 11216.28,-3235.48 11268,-3172.39 11289.52,-3146.14 11281.38,-3146.05 11240,-2895.33 11218.76,-2766.63 11012,-1874.17 11012,-1743.73 11012,-1743.73 11012,-1743.73 11012,-1632.19 11012,-1499.94 10976.63,-1229.9 10889,-1064.28 10868.59,-1025.71 10848.69,-1027.03 10822,-992.51"/>
</g>
<!-- ahriman_models_internal_status&#45;&gt;ahriman_core_status_client -->
<g id="edge527" class="edge">
<title>ahriman_models_internal_status&#45;&gt;ahriman_core_status_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10044.69,-3570.35C10021.87,-3545.64 9984.14,-3509.13 9944,-3488.57"/>
<path fill="none" stroke="black" d="M9944,-3486.57C9412.48,-3214.37 9206.7,-3359.74 8611,-3317.93 8331.77,-3298.33 6364.05,-3347.84 6092,-3281.93 6082.05,-3279.52 6071.88,-3275.55 6062.45,-3271.12"/>
<polygon fill="#bf5921" stroke="black" points="6064.02,-3267.99 6053.51,-3266.65 6060.89,-3274.25 6064.02,-3267.99"/>
</g>
<!-- ahriman_models_internal_status&#45;&gt;ahriman_core_status_web_client -->
<g id="edge528" class="edge">
<title>ahriman_models_internal_status&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9944,-3486.57C9868.53,-3443.01 9892.52,-3390.31 9844,-3317.93 9724.76,-3140.03 9664.69,-3116.44 9554,-2933.1"/>
</g>
<!-- ahriman_models_internal_status&#45;&gt;ahriman_web_views_status_status -->
<g id="edge529" class="edge">
<title>ahriman_models_internal_status&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10089.87,-3570.26C10120.06,-3537.34 10176.08,-3480.26 10233,-3443.03 10468.81,-3288.77 10549.31,-3279.4 10822,-3208.39 10869.52,-3196.02 11007.73,-3209.39 11040,-3172.39 11056.01,-3154.04 11063.67,-2320.43 11064,-2296.08 11064.45,-2263.4 11067.25,-2255.06 11064,-2222.54 11055.51,-2137.73 11057.93,-2113.6 11026,-2034.57 11018.89,-2016.97 11010.82,-2015.88 11003,-1998.57 10933.58,-1845 10898,-1802.73 10898,-1634.19 10898,-1634.19 10898,-1634.19 10898,-1319.13 10898,-1170.08 10902.73,-1117.79 10822,-992.51"/>
<path fill="none" stroke="black" d="M10822,-990.51C10802.72,-965.58 10780.72,-937.97 10763.07,-916.02"/>
<polygon fill="#bf5921" stroke="black" points="10765.99,-914.06 10756.99,-908.47 10760.54,-918.46 10765.99,-914.06"/>
</g>
<!-- ahriman_models_log_record_id -->
<g id="node130" class="node">
<title>ahriman_models_log_record_id</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db6b2f" stroke="black" cx="9170" cy="-2932.1" rx="52.15" ry="28.98"/>
<text text-anchor="middle" x="9170" y="-2940.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="9170" y="-2929.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="9170" y="-2918.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">log_record_id</text>
</g>
<!-- ahriman_models_log_record_id&#45;&gt;ahriman_core_database_operations_logs_operations -->
<g id="edge530" class="edge">
<title>ahriman_models_log_record_id&#45;&gt;ahriman_core_database_operations_logs_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9244,-2821.56C9270.14,-2770.82 9292.01,-2709.24 9305.87,-2666.06"/>
<polygon fill="#db6b2f" stroke="black" points="9309.17,-2667.25 9308.85,-2656.66 9302.49,-2665.13 9309.17,-2667.25"/>
</g>
<!-- ahriman_models_log_record_id&#45;&gt;ahriman_core_status_watcher -->
<g id="edge531" class="edge">
<title>ahriman_models_log_record_id&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9122.35,-2919.84C9008.23,-2893.22 8710.02,-2825.65 8458,-2785.79 8387.54,-2774.65 8188.79,-2800.88 8139,-2749.79 8020.7,-2628.4 8106,-2539.35 8106,-2369.85 8106,-2369.85 8106,-2369.85 8106,-2156.55 8106,-2070.44 8121.38,-2047.53 8106,-1962.8"/>
</g>
<!-- ahriman_models_log_record_id&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge532" class="edge">
<title>ahriman_models_log_record_id&#45;&gt;ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9192.13,-2905.49C9208.89,-2884.74 9231.15,-2854.05 9244,-2823.56"/>
<path fill="none" stroke="black" d="M9244,-2821.56C9288.01,-2717.12 9211.77,-2672.28 9253,-2566.71 9318.28,-2399.54 9516,-2439.77 9516,-2260.31 9516,-2260.31 9516,-2260.31 9516,-2156.55 9516,-1784.05 9656.34,-1712.58 9767,-1356.9 9822.56,-1178.3 9818.62,-1127.21 9891,-954.74 9895.65,-943.66 9901.36,-932.09 9907.09,-921.32"/>
<polygon fill="#db6b2f" stroke="black" points="9910.12,-923.07 9911.82,-912.61 9903.97,-919.73 9910.12,-923.07"/>
</g>
<!-- ahriman_models_migration -->
<g id="node131" class="node">
<title>ahriman_models_migration</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c27347" stroke="black" cx="8188" cy="-2720.8" rx="39.7" ry="28.98"/>
<text text-anchor="middle" x="8188" y="-2729.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="8188" y="-2718.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="8188" y="-2707.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">migration</text>
</g>
<!-- ahriman_models_migration&#45;&gt;ahriman_core_database_migrations -->
<g id="edge533" class="edge">
<title>ahriman_models_migration&#45;&gt;ahriman_core_database_migrations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8184.58,-2691.44C8179.49,-2639.84 8173.66,-2527.96 8206,-2441.62 8210.22,-2430.34 8216.52,-2419.08 8223.18,-2408.92"/>
<polygon fill="#c27347" stroke="black" points="8225.97,-2411.04 8228.76,-2400.81 8220.2,-2407.07 8225.97,-2411.04"/>
</g>
<!-- ahriman_models_migration_result&#45;&gt;ahriman_core_database_data -->
<g id="edge534" class="edge">
<title>ahriman_models_migration_result&#45;&gt;ahriman_core_database_data</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11280.25,-4430.58C11234.43,-4403.41 11152.98,-4358.03 11078,-4331.11 10758.85,-4216.55 9888.3,-4159.53 9588,-4002.04 9171.61,-3783.65 9138.95,-3620.8 8813,-3281.93 8685.83,-3149.72 8607.75,-3140.88 8544,-2968.87 8488.92,-2820.25 8610.2,-2757.17 8546,-2612.26"/>
</g>
<!-- ahriman_models_migration_result&#45;&gt;ahriman_core_database_migrations -->
<g id="edge535" class="edge">
<title>ahriman_models_migration_result&#45;&gt;ahriman_core_database_migrations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11290.32,-4427.76C11248.8,-4390.25 11164.49,-4321.42 11078,-4294.11 10984.35,-4264.55 10954.94,-4283.22 10860,-4258.11 10542.16,-4174.05 10458.77,-4151.62 10166,-4002.04 9965.79,-3899.74 9912.25,-3871.44 9746,-3720.09 9528.85,-3522.4 9541.2,-3410.33 9328,-3208.39 9196.95,-3084.26 9104.47,-3116.07 9000,-2968.87 8925.53,-2863.94 8998.41,-2790.63 8916,-2691.81 8893.59,-2664.94 8871.35,-2679.92 8846,-2655.81 8766.31,-2579.99 8812.84,-2503.64 8722,-2441.62 8655.68,-2396.34 8417.99,-2378.37 8309.14,-2372.4"/>
<polygon fill="#bc602f" stroke="black" points="8309.45,-2368.91 8299.28,-2371.87 8309.08,-2375.9 8309.45,-2368.91"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge536" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6009.53,-3783.95C5727.75,-3782.88 3978.45,-3774.11 3451,-3720.09 2985.47,-3672.41 2852.43,-3698.38 2415,-3532.12 1760.56,-3283.38 1425.23,-3193.27 1199,-2530.71 1055.35,-2110 1198.94,-1972.51 1136,-1532.43"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge537" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6009.57,-3782.46C5900.87,-3777.91 5581.98,-3764.8 5317,-3756.09 5025.49,-3746.51 4292.92,-3766.66 4005,-3720.09 3917,-3705.85 3900.25,-3680.35 3813,-3662.1 3681.12,-3634.52 3641.51,-3663.26 3512,-3626.1 2962.43,-3468.42 2859.67,-3333.51 2348,-3078.41 2098.44,-2953.99 2040.69,-2913.87 1793,-2785.79 1761.57,-2769.54 1742.24,-2778.81 1722,-2749.79 1668.52,-2673.14 1685.11,-2424.75 1673,-2332.08 1662.9,-2254.81 1648,-2236.47 1648,-2158.55 1648,-2158.55 1648,-2158.55 1648,-1851.27 1648,-1606.15 1532.25,-1563.54 1496,-1321.13"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge538" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6086.51,-3781.34C6164.25,-3775.89 6345.55,-3763.57 6498,-3756.09 6942.2,-3734.28 7054.67,-3755.35 7498,-3720.09 7707.81,-3703.4 7758.03,-3676.71 7968,-3662.1 8091.5,-3653.51 10078.11,-3663.89 10196,-3626.1 10239.2,-3612.26 10241.37,-3591.9 10280,-3568.12 10308.45,-3550.61 10317.34,-3549.29 10346,-3532.12 10407.99,-3494.99 10419.85,-3479.9 10482,-3443.03 10583.42,-3382.86 10609.62,-3368.82 10716,-3317.93 10828.38,-3264.17 10856.6,-3250.05 10974,-3208.39 11028.49,-3189.06 11045.33,-3193.88 11099,-3172.39 11182.78,-3138.85 11216.24,-3143.26 11279,-3078.41 11339.76,-3015.63 11620,-2457.22 11620,-2369.85 11620,-2369.85 11620,-2369.85 11620,-2258.31 11620,-2019.84 11772,-1982.2 11772,-1743.73 11772,-1743.73 11772,-1743.73 11772,-1530.43 11772,-1290.76 11734,-1232.18 11734,-992.51 11734,-992.51 11734,-992.51 11734,-873.19 11734,-799.1 11726.87,-765.09 11668,-720.1 11598.97,-667.36 11339.08,-653.31 11221.47,-649.62"/>
<polygon fill="#953703" stroke="black" points="11221.81,-646.13 11211.71,-649.33 11221.61,-653.12 11221.81,-646.13"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_application_handlers_rebuild -->
<g id="edge539" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_application_handlers_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6086.49,-3781.02C6164.21,-3775 6345.47,-3761.7 6498,-3756.09 7888.7,-3704.87 8239.78,-3802.2 9629,-3720.09 9870.84,-3705.79 9929.71,-3683.8 10171,-3662.1 10390.25,-3642.39 10445.51,-3642.96 10665,-3626.1 11182.94,-3586.34 11318.01,-3619.91 11830,-3532.12 12444.97,-3426.68 12590.49,-3355.36 13187,-3172.39 13278.85,-3144.22 13933.5,-2934.76 13993,-2859.33 14239.87,-2546.39 14016,-2361.39 14016,-1962.8 14016,-1962.8 14016,-1962.8 14016,-1851.27 14016,-1678.49 13981.66,-1637.97 13961,-1466.43 13929.43,-1204.29 13913.11,-1139.03 13903,-875.19"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_application_handlers_status -->
<g id="edge540" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_application_handlers_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6086.52,-3781.59C6164.29,-3776.59 6345.62,-3765.02 6498,-3756.09 6788.61,-3739.05 6861.63,-3740.75 7152,-3720.09 7447.49,-3699.06 7520.16,-3677.3 7816,-3662.1 7944.57,-3655.5 10010.9,-3666.92 10133,-3626.1 10243.3,-3589.23 10450.64,-3367.18 10556,-3317.93 10615.76,-3289.99 10638.04,-3304.58 10700,-3281.93 10769.74,-3256.44 10779.38,-3231.32 10850,-3208.39 10938.81,-3179.55 10981.2,-3226.93 11057,-3172.39 11140.46,-3112.34 11130.53,-3065.01 11167,-2968.87 11232.1,-2797.25 11215.41,-2744.51 11261,-2566.71 11283.57,-2478.71 11316,-2460.69 11316,-2369.85 11316,-2369.85 11316,-2369.85 11316,-2156.55 11316,-2091.74 11367.97,-1052.69 11392,-992.51"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge541" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_build_tools_sources</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6008.98,-3760.61C6004.71,-3758.8 6000.34,-3757.23 5996,-3756.09 5619.18,-3656.98 4622.47,-3808.52 4243,-3720.09 4183.75,-3706.28 4177.75,-3677.9 4119,-3662.1 3943.21,-3614.83 3880.16,-3693.35 3711,-3626.1 3659.68,-3605.7 3369.23,-3344.83 3321,-3317.93 3280.11,-3295.13 3258.04,-3311.81 3222,-3281.93 3007.09,-3103.75 2880.53,-2777.15 2839.66,-2657.62"/>
<polygon fill="#953703" stroke="black" points="6007.41,-3763.74 6017.94,-3764.89 6010.42,-3757.42 6007.41,-3763.74"/>
<polygon fill="#953703" stroke="black" points="2843.09,-2656.83 2836.57,-2648.48 2836.45,-2659.07 2843.09,-2656.83"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge542" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6019.31,-3765.53C6011.99,-3761.68 6003.93,-3758.17 5996,-3756.09 5794.23,-3703.17 4321.37,-3770.65 4119,-3720.09 4063.85,-3706.31 4059.59,-3677.96 4005,-3662.1 3842.51,-3614.92 3786.46,-3679.77 3626,-3626.1 3496.68,-3582.85 3172.66,-3312.87 3142,-3281.93 2911.22,-3049.08 2835.44,-2972.86 2752,-2655.81 2747.36,-2638.19 2750.79,-2455.39 2754,-2441.62 2762.02,-2407.24 2775.29,-2402.78 2788,-2369.85"/>
<path fill="none" stroke="black" d="M2788,-2367.85C2802.6,-2319.3 2845.81,-2306.97 2826,-2260.31"/>
<path fill="none" stroke="black" d="M2826,-2258.31C2794.71,-2184.61 2642.96,-2231.48 2676,-2158.55"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_database_data_package_statuses -->
<g id="edge543" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_database_data_package_statuses</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6086.54,-3781.64C6248.85,-3771.32 6872.48,-3731.3 6960,-3720.09 7296.03,-3677.05 8134.12,-3524.18 8452,-3407.03 8459.11,-3404.4 8466.38,-3401.28 8473.51,-3397.92"/>
<polygon fill="#953703" stroke="black" points="8475.01,-3401.07 8482.45,-3393.53 8471.93,-3394.79 8475.01,-3401.07"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_database_operations_build_operations -->
<g id="edge544" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_database_operations_build_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6074.77,-3764.02C6079.94,-3760.93 6085.47,-3758.09 6091,-3756.09 6217.23,-3710.26 6264.16,-3764.19 6391,-3720.09 6488.98,-3686.02 6520.88,-3675.46 6590,-3598.11"/>
<path fill="none" stroke="black" d="M6590,-3596.11C6634.03,-3543.56 6559.72,-3490.69 6609,-3443.03 6673,-3381.14 6920.82,-3425.06 7008,-3407.03 7182.12,-3371 7226.93,-3357.24 7388,-3281.93 7471.46,-3242.91 7486.96,-3222.92 7564,-3172.39 7690.45,-3089.46 7984.15,-2843.32 8124,-2785.79 8228.48,-2742.81 8313.67,-2819.72 8370,-2721.8"/>
<path fill="none" stroke="black" d="M8370,-2719.8C8379.01,-2704.14 8381.21,-2684.94 8380.46,-2667.13"/>
<polygon fill="#953703" stroke="black" points="8383.95,-2666.88 8379.69,-2657.18 8376.97,-2667.42 8383.95,-2666.88"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_database_operations_package_operations -->
<g id="edge545" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_database_operations_package_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6590,-3596.11C6608.37,-3575.55 6629.23,-3553.37 6647.28,-3534.52"/>
<polygon fill="#953703" stroke="black" points="6649.64,-3537.11 6654.04,-3527.47 6644.59,-3532.26 6649.64,-3537.11"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_formatters_build_printer -->
<g id="edge546" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_formatters_build_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6086.5,-3781.22C6164.23,-3775.56 6345.51,-3762.87 6498,-3756.09 7095.85,-3729.51 7245.99,-3742.65 7844,-3720.09 8373.14,-3700.12 8504.88,-3682.64 9034,-3662.1 9172.4,-3656.73 10145.24,-3658.1 10280,-3626.1 10339.19,-3612.05 10348.31,-3592.62 10404,-3568.12 10670.71,-3450.78 10739.64,-3426.62 11010,-3317.93 11174.72,-3251.71 11219.08,-3242.92 11382,-3172.39 11541,-3103.56 11573.83,-3070.94 11734,-3004.87 11822.85,-2968.22 11913.65,-3026.08 11938,-2933.1"/>
<path fill="none" stroke="black" d="M11938,-2931.1C11942.03,-2904.92 11927.62,-2879.39 11911.35,-2859.77"/>
<polygon fill="#953703" stroke="black" points="11914.04,-2857.53 11904.81,-2852.33 11908.78,-2862.15 11914.04,-2857.53"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_formatters_package_printer -->
<g id="edge547" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_formatters_package_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6086.5,-3781.11C6164.22,-3775.26 6345.49,-3762.23 6498,-3756.09 7366.33,-3721.1 7584.46,-3749.52 8453,-3720.09 8664.58,-3712.92 10148.74,-3669.22 10356,-3626.1 10780.16,-3537.87 10868.13,-3448.66 11268,-3281.93 11576.58,-3153.26 11697.27,-3185.41 11952,-2968.87 11966.59,-2956.47 11966.29,-2949.6 11976,-2933.1"/>
<path fill="none" stroke="black" d="M11976,-2931.1C11983.94,-2911.95 11989.64,-2889.78 11993.57,-2870.57"/>
<polygon fill="#953703" stroke="black" points="11996.99,-2871.31 11995.45,-2860.83 11990.11,-2869.99 11996.99,-2871.31"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_formatters_update_printer -->
<g id="edge548" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_formatters_update_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6086.49,-3781.05C6164.21,-3775.07 6345.47,-3761.84 6498,-3756.09 7698.14,-3710.79 8000.12,-3771.91 9200,-3720.09 9271.51,-3717 10414.36,-3637.68 10485,-3626.1 10967.09,-3547.12 12197.3,-3333.37 12614,-3078.41 12706.68,-3021.7 12695.89,-2968.73 12776,-2895.33 12791.24,-2881.37 12809.13,-2867.51 12825.38,-2855.75"/>
<polygon fill="#953703" stroke="black" points="12827.38,-2858.62 12833.48,-2849.96 12823.31,-2852.93 12827.38,-2858.62"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge549" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3953,-3596.11C3890.6,-3544.04 3911.76,-3499.17 3853,-3443.03 3830.24,-3421.28 3815.49,-3427.98 3792,-3407.03 3720.77,-3343.5 3273.2,-2817.24 3274,-2721.8"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge550" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6019.3,-3765.57C6011.98,-3761.72 6003.93,-3758.19 5996,-3756.09 5693.93,-3675.83 4899.07,-3766.57 4590,-3720.09 4544.36,-3713.22 4534.22,-3705.31 4490,-3692.1"/>
<path fill="none" stroke="black" d="M4490,-3690.1C4461.03,-3681.44 4456.24,-3672.9 4428,-3662.1 4378.37,-3643.14 4363.62,-3645.09 4314,-3626.1 4286.43,-3615.56 3850.43,-3428.33 3830,-3407.03 3696.64,-3267.93 3764.08,-3171.9 3668,-3004.87 3657.89,-2987.3 3646.64,-2988.02 3640,-2968.87 3581.45,-2799.99 3622.56,-2744.78 3638,-2566.71 3647.15,-2461.25 3649.29,-2433.69 3679,-2332.08 3681.53,-2323.42 3684.78,-2314.39 3688.21,-2305.78"/>
<polygon fill="#953703" stroke="black" points="3691.44,-2307.13 3692.02,-2296.55 3684.97,-2304.46 3691.44,-2307.13"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_report_console -->
<g id="edge551" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_report_console</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6033.34,-3757.87C6000.69,-3699.97 5918.83,-3557.24 5842,-3443.03 5698.98,-3230.41 5573.99,-3217.99 5514,-2968.87 5499.24,-2907.57 5534.34,-2730.35 5536,-2721.8"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_report_email -->
<g id="edge552" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6143,-3486.57C6082.66,-3396.87 6122.94,-3352.93 6106,-3246.16"/>
<path fill="none" stroke="black" d="M6106,-3244.16C6076.6,-3108.02 6050.62,-3071.29 6068,-2933.1"/>
<path fill="none" stroke="black" d="M6068,-2931.1C6083.7,-2822.36 6082.96,-2770.21 6006,-2691.81 5964.3,-2649.33 5912.99,-2703.22 5877,-2655.81 5853.06,-2624.27 5872.37,-2606.04 5877,-2566.71 5881.25,-2530.61 5905.15,-2522.34 5896,-2487.17"/>
<path fill="none" stroke="black" d="M5896,-2485.17C5874.52,-2427.4 5862.91,-2413.09 5819,-2369.85"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_report_html -->
<g id="edge553" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_report_html</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6022.27,-3763.24C6007.7,-3751.09 5989.37,-3735.22 5974,-3720.09 5963.56,-3709.81 5277.66,-2946.61 5272,-2933.1"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_report_report -->
<g id="edge554" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6084.67,-3775.89C6128.56,-3764.31 6201.67,-3739.12 6246,-3692.1"/>
<path fill="none" stroke="black" d="M6246,-3690.1C6274.04,-3660.35 6250.93,-3638.7 6246,-3598.11"/>
<path fill="none" stroke="black" d="M6246,-3596.11C6238.02,-3530.41 6179.94,-3543.49 6143,-3488.57"/>
<path fill="none" stroke="black" d="M6143,-3486.57C6099.83,-3422.4 6063.48,-3427.44 6020,-3363.48"/>
<path fill="none" stroke="black" d="M6020,-3361.48C5996.91,-3327.52 5989.02,-3319.74 5973,-3281.93 5923.2,-3164.36 5992.39,-3089.76 5897,-3004.87 5817.74,-2934.33 5730.14,-3049.35 5661,-2968.87 5639.7,-2944.08 5647.52,-2925.11 5661,-2895.33 5671,-2873.24 5685.86,-2877.43 5702,-2859.33 5741.44,-2815.11 5760.3,-2806.34 5778,-2749.79 5785.7,-2725.2 5789.52,-2714.86 5778,-2691.81 5766.07,-2667.96 5742.26,-2679.49 5730,-2655.81 5686.22,-2571.23 5788.45,-2511.73 5724,-2441.62 5675.57,-2388.94 5473.24,-2423.68 5404,-2405.62 5390.44,-2402.08 5376.23,-2396.78 5363.38,-2391.34"/>
<polygon fill="#953703" stroke="black" points="5364.91,-2388.19 5354.34,-2387.38 5362.1,-2394.6 5364.91,-2388.19"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_report_report_trigger -->
<g id="edge555" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_report_report_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4604,-3690.1C4558.46,-3650.1 4575.76,-3619.12 4543,-3568.12 4531.9,-3550.83 4525.6,-3549.08 4514,-3532.12 4434.3,-3415.67 4376,-3387.28 4376,-3246.16 4376,-3246.16 4376,-3246.16 4376,-3142.4 4376,-2967.43 4167.72,-2535.52 4224,-2369.85"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_report_telegram -->
<g id="edge556" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6068,-2931.1C6087.7,-2814.18 6338.09,-2602.87 6364,-2487.17"/>
<path fill="none" stroke="black" d="M6364,-2485.17C6369.68,-2464.83 6372.96,-2460.19 6383,-2441.62 6401.13,-2408.08 6460.59,-2392.61 6430,-2369.85"/>
<path fill="none" stroke="black" d="M6430,-2367.85C6348.78,-2307.41 6231.14,-2279.28 6165.33,-2267.57"/>
<polygon fill="#953703" stroke="black" points="6165.99,-2264.14 6155.54,-2265.9 6164.81,-2271.04 6165.99,-2264.14"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_repository_executor -->
<g id="edge557" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6019.3,-3765.55C6011.98,-3761.71 6003.93,-3758.19 5996,-3756.09 5832.69,-3712.86 4643.59,-3741.38 4476,-3720.09 4446.4,-3716.33 3977.94,-3614.48 3953,-3598.11"/>
<path fill="none" stroke="black" d="M3953,-3596.11C3835.05,-3524 3785.74,-3519.97 3706,-3407.03 3552.96,-3190.25 3315.53,-2519.36 3373,-2260.31"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_repository_repository -->
<g id="edge558" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6246,-3690.1C6332.58,-3598.26 6322.17,-3551.91 6386,-3443.03 6481.83,-3279.55 6515.3,-3244.24 6607,-3078.41 6633.36,-3030.74 6638.1,-3017.82 6662,-2968.87 6709.3,-2872.02 6728.29,-2850.76 6766,-2749.79 6795.55,-2670.66 6791.3,-2647.18 6817,-2566.71 6822.18,-2550.51 6827.07,-2547.47 6830,-2530.71 6836.83,-2491.71 6830.23,-2481.22 6830,-2441.62 6829.78,-2402.84 6854.76,-1764.47 6822,-1743.73"/>
<path fill="none" stroke="black" d="M6822,-1741.73C6696.4,-1666.43 4389.13,-1638.87 4000.38,-1634.75"/>
<polygon fill="#953703" stroke="black" points="4000.47,-1631.25 3990.44,-1634.64 4000.4,-1638.25 4000.47,-1631.25"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_repository_update_handler -->
<g id="edge559" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_repository_update_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6018.53,-3766C6011.37,-3762.24 6003.58,-3758.64 5996,-3756.09 5898.79,-3723.31 5868.51,-3740.65 5768,-3720.09 5664.72,-3698.96 5640.46,-3686.93 5538,-3662.1 5290.1,-3602.04 5181.23,-3687.57 4979,-3532.12 4827.07,-3415.34 4642,-2804.96 4642,-2721.8 4642,-2721.8 4642,-2721.8 4642,-2610.26 4642,-2453.81 4680,-2416.76 4680,-2260.31 4680,-2260.31 4680,-2260.31 4680,-1960.8 4680,-1824.51 4204.96,-1766.72 4022.87,-1749.57"/>
<polygon fill="#953703" stroke="black" points="4023.36,-1746.1 4013.08,-1748.66 4022.71,-1753.07 4023.36,-1746.1"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_status_client -->
<g id="edge560" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_status_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6020,-3361.48C6006.42,-3341.51 6005.64,-3314.76 6008.61,-3292.05"/>
<polygon fill="#953703" stroke="black" points="6012.02,-3292.86 6010.15,-3282.43 6005.11,-3291.75 6012.02,-3292.86"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_status_watcher -->
<g id="edge561" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6074.93,-3764.43C6080.08,-3761.29 6085.57,-3758.34 6091,-3756.09 6161.93,-3726.64 6193.83,-3759.07 6260,-3720.09 6400.62,-3637.25 6357.12,-3520.07 6501,-3443.03 6611.22,-3384.01 6664.64,-3455.24 6780,-3407.03 6839.33,-3382.23 6834.8,-3343.05 6894,-3317.93 7000.18,-3272.88 7062.71,-3356.14 7151,-3281.93 7169.77,-3266.15 7413.35,-2464.57 7422,-2441.62 7459.44,-2342.31 7474.15,-2319.63 7517,-2222.54 7604.16,-2025.06 7670.77,-1990.56 7716,-1779.5 7722.85,-1747.54 7716.83,-1738.63 7716,-1705.96 7714.44,-1644.72 7669.94,-1482.86 7702,-1430.67"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_status_web_client -->
<g id="edge562" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6086.54,-3781.87C6235.97,-3773.19 6772.44,-3740.86 6846,-3720.09 6900.7,-3704.64 6906.83,-3682.22 6960,-3662.1 7175.96,-3580.4 7239.9,-3591.64 7463,-3532.12 8197.44,-3336.2 8392.78,-3324.41 9112,-3078.41 9232.97,-3037.03 9278.53,-3049.2 9378,-2968.87 9408.5,-2944.24 9485.94,-2861.95 9478,-2823.56"/>
<path fill="none" stroke="black" d="M9478,-2821.56C9467.46,-2774.26 9433.58,-2770.26 9434,-2721.8"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_tree -->
<g id="edge563" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_tree</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6009.46,-3784.3C5801.88,-3785.21 4795.87,-3785.87 3977,-3720.09 3654.44,-3694.17 3572.92,-3686.42 3255,-3626.1 3086.19,-3594.08 3042.57,-3587.73 2880,-3532.12 2238.36,-3312.64 2047.37,-3231.46 1570,-2749.79 1486.58,-2665.62 1462.03,-2640.74 1418,-2530.71 1357.56,-2379.7 1329.83,-2186.12 1320.19,-2104.11"/>
<polygon fill="#953703" stroke="black" points="1323.69,-2103.87 1319.07,-2094.34 1316.73,-2104.67 1323.69,-2103.87"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_triggers_trigger -->
<g id="edge564" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_triggers_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4262,-3486.57C4198.58,-3410.53 4300,-3141.65 4300,-3042.64 4300,-3042.64 4300,-3042.64 4300,-2931.1 4300,-2860.89 4274.27,-2845.91 4238,-2785.79 4219.07,-2754.41 4204.56,-2753.4 4186,-2721.8"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_triggers_trigger_loader -->
<g id="edge565" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_triggers_trigger_loader</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4490,-3690.1C4403.11,-3651.28 4395,-3618.08 4314,-3568.12 4285.56,-3550.58 4271.57,-3555.81 4248,-3532.12 4216.28,-3500.23 4235.47,-3470.69 4200,-3443.03 4148.66,-3402.98 4110.36,-3445.73 4058,-3407.03 4005.69,-3368.35 4008.46,-3341.36 3982,-3281.93 3883.6,-3060.89 3840.17,-2770.92 3826.29,-2659.06"/>
<polygon fill="#953703" stroke="black" points="3829.79,-2658.87 3825.11,-2649.37 3822.84,-2659.72 3829.79,-2658.87"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_upload_github -->
<g id="edge566" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_upload_github</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6295,-3486.57C6319.96,-3450.31 6329.11,-3443.33 6354,-3407.03 6484.27,-3217 6529.67,-3175.77 6631,-2968.87 6705.13,-2817.5 6718.81,-2775.69 6760,-2612.26"/>
<path fill="none" stroke="black" d="M6760,-2610.26C6763.11,-2595.56 6826.7,-2497.72 6816,-2487.17"/>
<path fill="none" stroke="black" d="M6816,-2485.17C6800.97,-2470.33 6812.97,-2455.43 6797,-2441.62 6736.71,-2389.49 6641.93,-2374.89 6584.13,-2371"/>
<polygon fill="#953703" stroke="black" points="6584.43,-2367.51 6574.25,-2370.42 6584.03,-2374.5 6584.43,-2367.51"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_upload_rsync -->
<g id="edge567" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_upload_rsync</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6106,-3244.16C6077.61,-3037 6101.01,-2963 6212,-2785.79 6253.41,-2719.67 6283.64,-2718.57 6330,-2655.81 6360.19,-2614.94 6389.17,-2564.4 6408.09,-2529.35"/>
<polygon fill="#953703" stroke="black" points="6411.04,-2531.26 6412.67,-2520.79 6404.87,-2527.95 6411.04,-2531.26"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_upload_s3 -->
<g id="edge568" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_upload_s3</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6246,-3596.11C6239.67,-3543.97 6267.88,-3533.55 6295,-3488.57"/>
<path fill="none" stroke="black" d="M6295,-3486.57C6361.56,-3376.19 6330.59,-3328.64 6377,-3208.39 6425.93,-3081.62 6436.55,-3047.42 6510,-2933.1"/>
<path fill="none" stroke="black" d="M6510,-2931.1C6529.55,-2881.1 6549.72,-2875.02 6565,-2823.56"/>
<path fill="none" stroke="black" d="M6565,-2821.56C6594.47,-2722.32 6599.9,-2600.09 6600.46,-2534.36"/>
<polygon fill="#953703" stroke="black" points="6603.96,-2534.67 6600.51,-2524.66 6596.96,-2534.64 6603.96,-2534.67"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_upload_upload -->
<g id="edge569" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_upload_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6143,-3486.57C6086,-3372.41 6264.12,-3056.66 6296,-2933.1"/>
<path fill="none" stroke="black" d="M6296,-2931.1C6300.57,-2913.69 6303.59,-2909.25 6315,-2895.33 6331.02,-2875.79 6341.82,-2877.86 6359,-2859.33 6372.19,-2845.11 6373.3,-2839.74 6384,-2823.56"/>
<path fill="none" stroke="black" d="M6384,-2821.56C6409.98,-2782.27 6429.28,-2783.68 6462,-2749.79 6473.38,-2738 6475.55,-2734.42 6486,-2721.8"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_upload_upload_trigger -->
<g id="edge570" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_upload_upload_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6018.56,-3765.91C6011.4,-3762.15 6003.6,-3758.58 5996,-3756.09 5886.82,-3720.3 5853.18,-3739.87 5740,-3720.09 5454.94,-3670.27 4661.26,-3629.32 4476,-3407.03 4429.72,-3351.5 4452,-3318.45 4452,-3246.16 4452,-3246.16 4452,-3246.16 4452,-3142.4 4452,-2830.81 4389.79,-2750.33 4432,-2441.62 4436.49,-2408.81 4444.65,-2402.13 4452,-2369.85"/>
<path fill="none" stroke="black" d="M4452,-2367.85C4453.13,-2348.06 4452.3,-2326.22 4450.93,-2307.42"/>
<polygon fill="#953703" stroke="black" points="4454.44,-2307.35 4450.15,-2297.67 4447.46,-2307.91 4454.44,-2307.35"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_models_counters -->
<g id="edge571" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_models_counters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6086.49,-3781C6164.21,-3774.95 6345.46,-3761.58 6498,-3756.09 6901.09,-3741.56 9729.43,-3782.02 10128,-3720.09 10143.36,-3717.7 10159.71,-3713.29 10174.26,-3708.67"/>
<polygon fill="#953703" stroke="black" points="10175.15,-3712.06 10183.54,-3705.59 10172.95,-3705.41 10175.15,-3712.06"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_models_result -->
<g id="edge572" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_models_result</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6018.99,-3765.54C6011.75,-3761.74 6003.81,-3758.25 5996,-3756.09 5846.77,-3714.81 4720.59,-3793.97 4604,-3692.1"/>
<path fill="none" stroke="black" d="M4604,-3690.1C4551.21,-3643.97 4561.82,-3607.75 4504,-3568.12 4410.61,-3504.12 4338.13,-3572.37 4262,-3488.57"/>
<path fill="none" stroke="black" d="M4262,-3486.57C4225.81,-3446.8 4125.34,-3090.44 4092.52,-2971.53"/>
<polygon fill="#953703" stroke="black" points="4095.99,-2970.95 4089.96,-2962.24 4089.24,-2972.81 4095.99,-2970.95"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_web_views_status_package -->
<g id="edge573" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6086.58,-3781.72C6161.73,-3776.37 6332.42,-3760.49 6470,-3720.09 6678.9,-3658.74 7069.47,-3541.23 7426,-3281.93 7547.35,-3193.68 7749.78,-2852.87 7884,-2785.79 7954.53,-2750.54 8180.48,-2804.78 8237,-2749.79 8335.99,-2653.48 8221.7,-2568.18 8277,-2441.62 8285.34,-2422.53 8294.74,-2422.45 8307,-2405.62 8500.81,-2139.44 8549.9,-2071 8703,-1779.5 8735.65,-1717.33 8765,-1704.4 8765,-1634.19 8765,-1634.19 8765,-1634.19 8765,-1530.43 8765,-1369.56 8733.29,-1304.58 8827,-1173.82 8846.46,-1146.66 8870.53,-1162.55 8893,-1137.82 8940.21,-1085.84 8916.64,-1051.32 8955,-992.51"/>
<path fill="none" stroke="black" d="M8955,-990.51C8974.16,-961.77 8990.75,-964.12 9024,-954.74 9239.28,-894.01 9320.8,-1007.79 9526,-918.74 9529.63,-917.16 9533.16,-915.19 9536.55,-912.95"/>
<polygon fill="#953703" stroke="black" points="9538.59,-915.79 9544.47,-906.97 9534.37,-910.2 9538.59,-915.79"/>
</g>
<!-- ahriman_models_package_description&#45;&gt;ahriman_core_database_operations_package_operations -->
<g id="edge574" class="edge">
<title>ahriman_models_package_description&#45;&gt;ahriman_core_database_operations_package_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6614.22,-3849.8C6613.97,-3796.87 6619.32,-3680.68 6666,-3598.11"/>
</g>
<!-- ahriman_models_package_description&#45;&gt;ahriman_core_repository_executor -->
<g id="edge575" class="edge">
<title>ahriman_models_package_description&#45;&gt;ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6560.95,-3858.66C6549.54,-3855.25 6537.48,-3852.13 6526,-3850.07 6386.44,-3824.99 4117.69,-3737.79 3977,-3720.09 3767.8,-3693.76 3710.43,-3697.4 3512,-3626.1 3096.39,-3476.77 2946.73,-3295.89 2880,-2859.33 2878.39,-2848.83 2881.91,-2477.91 2888,-2441.62 2896.46,-2391.21 2884.24,-2365.39 2923,-2332.08 2999.81,-2266.08 3350.77,-2359.1 3373,-2260.31"/>
<path fill="none" stroke="black" d="M3373,-2258.31C3374.13,-2253.05 2709.23,-1857.1 2713,-1853.27"/>
</g>
<!-- ahriman_models_package_description&#45;&gt;ahriman_models_package -->
<g id="edge576" class="edge">
<title>ahriman_models_package_description&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6559.85,-3859.1C6548.74,-3855.74 6537.07,-3852.53 6526,-3850.07 6371.87,-3815.78 6185.44,-3797.29 6097.93,-3789.92"/>
<polygon fill="#bf5921" stroke="black" points="6098.26,-3786.44 6088.01,-3789.1 6097.68,-3793.41 6098.26,-3786.44"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_application_ahriman -->
<g id="edge577" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2572.16,-3951.4C2448.14,-3889.97 2072.23,-3702.07 1768,-3532.12 1262.69,-3249.84 451.86,-2674.57 430,-2655.81 372.93,-2606.81 349.67,-2597.98 316,-2530.71 193.31,-2285.62 256.59,-2193.21 200,-1925.03 139.57,-1638.66 125.26,-1566.72 52,-1283.36 31.02,-1202.19 0,-1185.88 0,-1102.05 0,-1102.05 0,-1102.05 0,-223.74 0,-205.73 3.64,-197.36 19,-187.97 256.81,-42.56 9629.63,-30.79 10458.56,-30.04"/>
<polygon fill="#e55405" stroke="black" points="10458.36,-33.54 10468.36,-30.03 10458.35,-26.54 10458.36,-33.54"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge578" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2609.86,-3943.99C2606.33,-3925.18 2600.17,-3900.25 2590,-3880.06"/>
<path fill="none" stroke="black" d="M2590,-3878.06C2418.81,-3538.2 2189.29,-3621.58 1875,-3407.03 1818.36,-3368.36 1808.03,-3352.85 1749,-3317.93 1717.52,-3299.31 1705.44,-3302.2 1675,-3281.93 1561.11,-3206.09 1533.38,-3182.01 1444,-3078.41 1303.34,-2915.36 1284.76,-2856.62 1207,-2655.81 1064,-2286.54 1074.9,-2174.43 1046,-1779.5 1043.61,-1746.9 1038.26,-1737.71 1046,-1705.96 1066.59,-1621.55 1150.37,-1618.11 1136,-1532.43"/>
<path fill="none" stroke="black" d="M1136,-1530.43C1108.63,-1418.77 970.96,-1435.35 984,-1321.13"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_core_database_data_package_remotes -->
<g id="edge579" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_core_database_data_package_remotes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2665.93,-3956.62C2829.57,-3908.41 3349.52,-3758 3787,-3662.1 4023.67,-3610.22 4083.17,-3594.68 4324,-3568.12 4409.68,-3558.67 5021.18,-3569.2 5099,-3532.12 5166.24,-3500.09 5282.04,-3344.78 5322,-3281.93 5460.07,-3064.81 5453.93,-2988.48 5550,-2749.79 5579.02,-2677.69 5610.31,-2593.48 5629.78,-2540.24"/>
<polygon fill="#e55405" stroke="black" points="5632.97,-2541.71 5633.11,-2531.11 5626.39,-2539.31 5632.97,-2541.71"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge580" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2552,-3142.4C2526.33,-3026.75 2574.06,-2984.54 2652,-2895.33 2673.22,-2871.05 2690.39,-2880.18 2715,-2859.33 2804.06,-2783.88 2820.21,-2755.45 2881,-2655.81 2892,-2637.78 2887.41,-2629.22 2900,-2612.26"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge581" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2590,-3596.11C2587.1,-3492.76 2590,-3466.87 2590,-3363.48 2590,-3363.48 2590,-3363.48 2590,-3244.16 2590,-3052.9 2727.27,-3048.36 2842,-2895.33 2854.16,-2879.11 2858.12,-2875.76 2870,-2859.33 2881.22,-2843.82 2879.43,-2835.98 2894,-2823.56"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_core_repository_update_handler -->
<g id="edge582" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_core_repository_update_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2649.82,-3948.95C2716.62,-3905.61 2864.26,-3808.46 2984,-3720.09 3142.79,-3602.89 3171.31,-3558.98 3331,-3443.03 3412.81,-3383.62 3435.14,-3371.32 3521,-3317.93 3672.83,-3223.51 3712.8,-3203.18 3868,-3114.41 3925.64,-3081.44 4095.37,-3026.13 4129,-2968.87 4145.55,-2940.69 4134,-2927.63 4129,-2895.33 4086.28,-2619.22 3995.67,-2569.67 3939,-2296.08 3926.54,-2235.92 3920.78,-2219.84 3925,-2158.55"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_core_spawn -->
<g id="edge583" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_core_spawn</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2590,-3878.06C2537.41,-3765.3 2610.68,-3720.8 2590,-3598.11"/>
<path fill="none" stroke="black" d="M2590,-3596.11C2585.47,-3567.35 2580.02,-3560.96 2576,-3532.12 2564.07,-3446.62 2579.22,-3226.32 2552,-3144.4"/>
<path fill="none" stroke="black" d="M2552,-3142.4C2538.1,-3108.49 2512.26,-3112.94 2500,-3078.41 2472.77,-3001.73 2468.11,-2970.19 2500,-2895.33 2527.54,-2830.69 2558.81,-2829.28 2614,-2785.79 2632.8,-2770.98 2655.12,-2756.44 2673.9,-2744.97"/>
<polygon fill="#e55405" stroke="black" points="2675.59,-2748.04 2682.35,-2739.88 2671.97,-2742.04 2675.59,-2748.04"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_models_package -->
<g id="edge584" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2676.27,-3969.51C2846.57,-3962.36 3334.36,-3940.42 3739,-3908.05 3989.3,-3888.03 4050.51,-3867.56 4301,-3850.07 4971.48,-3803.25 5789.25,-3789.55 5997.77,-3786.7"/>
<polygon fill="#e55405" stroke="black" points="5997.75,-3790.2 6007.7,-3786.57 5997.66,-3783.2 5997.75,-3790.2"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_models_remote_source -->
<g id="edge585" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_models_remote_source</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2676.25,-3969.99C2950.59,-3960.85 4044.94,-3923.76 4198,-3908.05 4232.91,-3904.47 4271.55,-3898.24 4303.06,-3892.57"/>
<polygon fill="#e55405" stroke="black" points="4303.63,-3896.02 4312.83,-3890.78 4302.37,-3889.14 4303.63,-3896.02"/>
</g>
<!-- ahriman_models_pkgbuild_patch -->
<g id="node136" class="node">
<title>ahriman_models_pkgbuild_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#e76822" stroke="black" cx="10310" cy="-3143.4" rx="57.05" ry="28.98"/>
<text text-anchor="middle" x="10310" y="-3151.9" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="10310" y="-3140.9" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="10310" y="-3129.9" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">pkgbuild_patch</text>
</g>
<!-- ahriman_models_pkgbuild_patch&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge586" class="edge">
<title>ahriman_models_pkgbuild_patch&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10298.01,-3114.84C10287.44,-3086.38 10275.75,-3041.14 10290,-3004.87 10342.17,-2872.11 11164,-2207.21 11164,-2064.57 11164,-2064.57 11164,-2064.57 11164,-1960.8 11164,-1787.63 11224.86,-1751.46 11302,-1596.42 11392,-1415.53 11544,-1413.63 11544,-1211.59 11544,-1211.59 11544,-1211.59 11544,-1100.05 11544,-947.74 11648.84,-883.7 11563,-757.87"/>
</g>
<!-- ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge587" class="edge">
<title>ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_build_tools_sources</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10253.31,-3138.73C9927.61,-3117.65 8301.28,-3012.74 8078,-3004.87 7853.52,-2996.96 4257.35,-3000.7 4035,-2968.87 3680.67,-2918.14 3604.12,-2848.31 3260,-2749.79 3171.03,-2724.32 3149.83,-2714.09 3060,-2691.81 2983.35,-2672.8 2958.36,-2687.43 2886,-2655.81 2879.19,-2652.83 2872.38,-2649.02 2865.92,-2644.89"/>
<polygon fill="#e76822" stroke="black" points="2868.22,-2642.22 2857.98,-2639.51 2864.3,-2648.02 2868.22,-2642.22"/>
</g>
<!-- ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_database_operations_patch_operations -->
<g id="edge588" class="edge">
<title>ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_database_operations_patch_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10255.13,-3134.71C10020.59,-3101.79 9113.99,-2974.25 9109,-2968.87 9034.13,-2888.18 9113.46,-2829.76 9092,-2721.8"/>
</g>
<!-- ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_formatters_patch_printer -->
<g id="edge589" class="edge">
<title>ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_formatters_patch_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10352.17,-3123.5C10361.5,-3119.96 10371.46,-3116.67 10381,-3114.41 11079.65,-2948.71 11275.75,-3042.47 11990,-2968.87 12016.34,-2966.16 12911.89,-2867.73 12937,-2859.33 12941.71,-2857.75 12946.46,-2855.78 12951.11,-2853.58"/>
<polygon fill="#e76822" stroke="black" points="12952.45,-2856.83 12959.75,-2849.14 12949.25,-2850.6 12952.45,-2856.83"/>
</g>
<!-- ahriman_models_property -->
<g id="node137" class="node">
<title>ahriman_models_property</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f96210" stroke="black" cx="12849" cy="-3143.4" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="12849" y="-3151.9" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="12849" y="-3140.9" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="12849" y="-3129.9" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">property</text>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_aur_printer -->
<g id="edge590" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_aur_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12829.76,-3118.16C12794.57,-3073.85 12717.42,-2976.83 12652,-2895.33 12643.46,-2884.69 12634.18,-2873.19 12625.61,-2862.58"/>
<polygon fill="#f96210" stroke="black" points="12628.56,-2860.66 12619.55,-2855.08 12623.11,-2865.06 12628.56,-2860.66"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_configuration_printer -->
<g id="edge591" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_configuration_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13143,-2931.1C13158.84,-2920.35 13151.65,-2906.77 13167,-2895.33 13210.29,-2863.08 13232.36,-2878.04 13283,-2859.33 13289.13,-2857.07 13295.46,-2854.59 13301.77,-2852.04"/>
<polygon fill="#f96210" stroke="black" points="13303.01,-2855.31 13310.91,-2848.26 13300.33,-2848.84 13303.01,-2855.31"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_package_printer -->
<g id="edge592" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_package_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12814.97,-3129.61C12686.49,-3081.3 12229.71,-2909.55 12062.72,-2846.77"/>
<polygon fill="#f96210" stroke="black" points="12064.15,-2843.57 12053.56,-2843.32 12061.69,-2850.12 12064.15,-2843.57"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_patch_printer -->
<g id="edge593" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_patch_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12859,-3040.64C12895.51,-2962.48 13009.19,-3023.87 13143,-2933.1"/>
<path fill="none" stroke="black" d="M13143,-2931.1C13153.53,-2923.95 13092.31,-2882.58 13046.16,-2853.29"/>
<polygon fill="#f96210" stroke="black" points="13048.18,-2850.42 13037.85,-2848.05 13044.44,-2856.34 13048.18,-2850.42"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_printer -->
<g id="edge594" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13143,-2931.1C13158.84,-2920.35 13155.45,-2910.6 13167,-2895.33 13175.48,-2884.12 13185.14,-2872.35 13194.23,-2861.66"/>
<polygon fill="#f96210" stroke="black" points="13196.85,-2863.98 13200.71,-2854.12 13191.54,-2859.42 13196.85,-2863.98"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_update_printer -->
<g id="edge595" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_update_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12846.96,-3113.99C12846.61,-3093.28 12848.54,-3065.03 12859,-3042.64"/>
<path fill="none" stroke="black" d="M12859,-3040.64C12883.03,-2989.19 12774.87,-2987.84 12790,-2933.1"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_user_printer -->
<g id="edge596" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_user_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13143,-2931.1C13163.91,-2916.92 13156.28,-2889.01 13143.88,-2865.18"/>
<polygon fill="#f96210" stroke="black" points="13147.01,-2863.61 13139.08,-2856.59 13140.9,-2867.03 13147.01,-2863.61"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_version_printer -->
<g id="edge597" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_version_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13143,-2931.1C13158.84,-2920.35 13150.71,-2905.39 13167,-2895.33 13274.49,-2828.92 13328.87,-2898.48 13449,-2859.33 13453.81,-2857.76 13458.68,-2855.83 13463.48,-2853.69"/>
<polygon fill="#f96210" stroke="black" points="13464.95,-2856.86 13472.43,-2849.37 13461.9,-2850.56 13464.95,-2856.86"/>
</g>
<!-- ahriman_models_remote_source&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge598" class="edge">
<title>ahriman_models_remote_source&#45;&gt;ahriman_core_build_tools_sources</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4310.2,-3875.91C4200.65,-3870.95 3952.97,-3855.74 3749,-3814.07 3471.88,-3757.46 3382.18,-3773.86 3141,-3626.1 2865.25,-3457.17 2783.68,-3378.03 2662,-3078.41 2631.34,-3002.91 2626.26,-2972.65 2652,-2895.33 2677.53,-2818.65 2719.51,-2819.14 2761,-2749.79 2778.79,-2720.06 2795.19,-2684.58 2806.94,-2657.1"/>
<polygon fill="#bd4604" stroke="black" points="2810.11,-2658.58 2810.78,-2648 2803.66,-2655.86 2810.11,-2658.58"/>
</g>
<!-- ahriman_models_remote_source&#45;&gt;ahriman_core_database_data_package_remotes -->
<g id="edge599" class="edge">
<title>ahriman_models_remote_source&#45;&gt;ahriman_core_database_data_package_remotes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4367.32,-3849.73C4369.52,-3802.77 4381.24,-3709.28 4438,-3662.1 4468.09,-3637.09 5097.14,-3572.65 5136,-3568.12 5216.96,-3558.68 5430.71,-3573.38 5501,-3532.12 5608.2,-3469.21 5607.74,-3404.88 5626,-3281.93 5636.94,-3208.28 5645.48,-3186.27 5626,-3114.41 5616.33,-3078.74 5602.49,-3074.64 5584,-3042.64"/>
</g>
<!-- ahriman_models_remote_source&#45;&gt;ahriman_core_database_operations_package_operations -->
<g id="edge600" class="edge">
<title>ahriman_models_remote_source&#45;&gt;ahriman_core_database_operations_package_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4424.35,-3877.65C4685.26,-3875.49 5761.88,-3863.7 6095,-3814.07 6363.36,-3774.08 6522.77,-3828.55 6666,-3598.11"/>
<path fill="none" stroke="black" d="M6666,-3596.11C6672.72,-3579.45 6678,-3560.62 6681.99,-3543.41"/>
<polygon fill="#bd4604" stroke="black" points="6685.36,-3544.38 6684.11,-3533.86 6678.53,-3542.87 6685.36,-3544.38"/>
</g>
<!-- ahriman_models_remote_source&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge601" class="edge">
<title>ahriman_models_remote_source&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4310.61,-3873.86C4232.94,-3866.97 4089.34,-3850.24 3972,-3814.07 3553.25,-3685 3444.09,-3599.35 3142,-3281.93 2905.31,-3033.23 2949.99,-2565.21 2971.39,-2416.47"/>
<polygon fill="#bd4604" stroke="black" points="2974.79,-2417.41 2972.79,-2407 2967.87,-2416.39 2974.79,-2417.41"/>
</g>
<!-- ahriman_models_remote_source&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge602" class="edge">
<title>ahriman_models_remote_source&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4315.69,-3865.84C4200.78,-3836.94 3916.68,-3756.8 3711,-3626.1 3334.25,-3386.7 3200.71,-3162.12 3274,-2721.8"/>
<path fill="none" stroke="black" d="M3274,-2719.8C3285.38,-2613.52 3350.75,-2592.89 3335,-2487.17"/>
</g>
<!-- ahriman_models_remote_source&#45;&gt;ahriman_models_package -->
<g id="edge603" class="edge">
<title>ahriman_models_remote_source&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4421.4,-3869.98C4466.47,-3863.59 4532.26,-3854.95 4590,-3850.07 5140.87,-3803.48 5811.88,-3789.82 5998.04,-3786.8"/>
<polygon fill="#bd4604" stroke="black" points="5997.89,-3790.31 6007.83,-3786.65 5997.78,-3783.31 5997.89,-3790.31"/>
</g>
<!-- ahriman_models_report_settings -->
<g id="node139" class="node">
<title>ahriman_models_report_settings</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c27347" stroke="black" cx="5184" cy="-2720.8" rx="57.97" ry="28.98"/>
<text text-anchor="middle" x="5184" y="-2729.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="5184" y="-2718.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="5184" y="-2707.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">report_settings</text>
</g>
<!-- ahriman_models_report_settings&#45;&gt;ahriman_core_report_report -->
<g id="edge604" class="edge">
<title>ahriman_models_report_settings&#45;&gt;ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5173.37,-2692.23C5166.21,-2670.67 5158.5,-2639.83 5161,-2612.26"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge605" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_application_handlers_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3673.96,-4712.56C4250.79,-4708.01 8603,-4672.97 8875,-4649.06 9166.54,-4623.43 11190.74,-4294.73 11474,-4221.11 11752.4,-4148.76 11812.68,-4100.37 12083,-4002.04 12097.21,-3996.86 12581.03,-3821.85 12594,-3814.07 12877.98,-3643.64 12893.45,-3527.38 13150,-3317.93 13166.51,-3304.45 13754.79,-2878.03 13765,-2859.33 13844.48,-2713.81 13769.06,-2651.52 13791,-2487.17"/>
<path fill="none" stroke="black" d="M13791,-2485.17C13793.69,-2465.01 13795.26,-2459.46 13805,-2441.62 13811.58,-2429.56 13820.31,-2417.58 13829.03,-2406.97"/>
<polygon fill="#e55405" stroke="black" points="13831.53,-2409.44 13835.33,-2399.55 13826.19,-2404.91 13831.53,-2409.44"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_application_handlers_setup -->
<g id="edge606" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_application_handlers_setup</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3549.52,-4707.26C3404.21,-4693.47 3047.72,-4659.14 2994,-4649.06 2965.92,-4643.79 2959.94,-4638.05 2932,-4632.06"/>
<path fill="none" stroke="black" d="M2932,-4630.06C2750.7,-4591.19 2288.89,-4542.91 2105,-4519.08 1977.07,-4502.5 1943.46,-4508.53 1817,-4483.08 1771.75,-4473.97 1762.34,-4463.69 1717,-4455.09"/>
<path fill="none" stroke="black" d="M1717,-4453.09C1488.8,-4404.86 918.67,-4233.16 730,-4096.02 686.55,-4064.43 685.28,-4045.71 654,-4002.04 649.09,-3995.18 330,-3497.01 330,-3488.57 330,-3488.57 330,-3488.57 330,-2719.8 330,-2594.02 352.69,-2563.93 382,-2441.62 461.41,-2110.24 484.74,-2027.35 598,-1705.96 608.63,-1675.79 801.92,-1201.47 818,-1173.82 828.19,-1156.29 834.23,-1154.32 846,-1137.82 868.67,-1106.04 865.79,-1091.25 894,-1064.28 1134.25,-834.6 1254.79,-858.07 1538,-684.1 1541.5,-681.96 1545.11,-679.71 1548.73,-677.44"/>
<polygon fill="#e55405" stroke="black" points="1550.4,-680.53 1556.99,-672.23 1546.66,-674.61 1550.4,-680.53"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_alpm_pacman -->
<g id="edge607" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_core_alpm_pacman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3674.25,-4712.71C4065.67,-4710.47 6150.27,-4696.36 6430,-4649.06 6532.69,-4631.7 6572.58,-4643.24 6653,-4577.06 6697.87,-4540.14 7131.26,-3712.61 7160,-3662.1 7308.47,-3401.16 7361.73,-3344.89 7500,-3078.41 7573.86,-2936.07 7588.54,-2898.32 7649,-2749.79 7661.59,-2718.86 7675.12,-2683.72 7685.36,-2656.7"/>
<polygon fill="#e55405" stroke="black" points="7688.59,-2658.04 7688.86,-2647.45 7682.05,-2655.56 7688.59,-2658.04"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_alpm_repo -->
<g id="edge608" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_core_alpm_repo</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3008,-4630.06C2875.32,-4590.66 2851,-4499.52 2851,-4361.1 2851,-4361.1 2851,-4361.1 2851,-4294.11 2851,-4033.83 2940.6,-3979.02 2967,-3720.09 2975.87,-3633.09 2911.17,-2997.79 2970,-2933.1"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge609" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_core_build_tools_sources</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3548.25,-4710.09C3418.54,-4703.32 3125.24,-4684.5 3032,-4649.06 3019.78,-4644.42 3020.6,-4635.55 3008,-4632.06"/>
<path fill="none" stroke="black" d="M3008,-4630.06C2944.69,-4612.51 2927.03,-4609.68 2870,-4577.06 2717.63,-4489.93 2713.78,-4417.52 2561,-4331.11 2300.86,-4183.99 2172.79,-4271.68 1931,-4096.02 1922.91,-4090.14 1711.54,-3822.98 1707,-3814.07 1687.35,-3775.44 1686.83,-3763.03 1681,-3720.09 1614.56,-3230.74 1646.61,-2882.83 2102,-2691.81 2214.54,-2644.6 2529.42,-2674.62 2650,-2655.81 2691.03,-2649.41 2736.53,-2637.95 2770.84,-2628.39"/>
<polygon fill="#e55405" stroke="black" points="2771.44,-2631.86 2780.11,-2625.78 2769.54,-2625.12 2771.44,-2631.86"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge610" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2932,-4630.06C2862.18,-4616.49 2842.84,-4612.19 2781,-4577.06 2689.37,-4525.01 2692.36,-4473.96 2599,-4425.1 2296.36,-4266.7 2115.78,-4445.23 1858,-4221.11 1839.41,-4204.95 1689.99,-3837.38 1682,-3814.07 1524.01,-3353.04 1457.64,-3235.52 1418,-2749.79 1415.9,-2724.11 1407.77,-2715.46 1418,-2691.81 1450.2,-2617.32 1620.16,-2491.72 1684,-2441.62 1884.95,-2283.91 1934.36,-2236.23 2166,-2128.56 2336.9,-2049.11 2555.31,-1996.31 2656.65,-1974.35"/>
<polygon fill="#e55405" stroke="black" points="2657.32,-1977.79 2666.36,-1972.27 2655.85,-1970.95 2657.32,-1977.79"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_configuration -->
<g id="edge611" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_core_configuration</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3547.77,-4712.86C3421.51,-4711.01 3144.99,-4699.21 3084,-4632.06"/>
<path fill="none" stroke="black" d="M3084,-4630.06C3050.35,-4593.02 3090.58,-4567.56 3103,-4519.08 3118.23,-4459.65 3193,-4319.46 3193,-4258.11 3193,-4258.11 3193,-4258.11 3193,-4175.57 3193,-4153.47 3201.36,-4147.63 3217,-4132.02 3363.39,-3985.87 3493.26,-4067.53 3625,-3908.05 3717.18,-3796.46 3597.08,-3665.85 3725,-3598.11"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_database_data_package_remotes -->
<g id="edge612" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_core_database_data_package_remotes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3084,-4630.06C3068.53,-4607.05 3122.96,-4540.13 3141,-4519.08 3211.69,-4436.56 3841.69,-4004.48 3932,-3944.05 4225.49,-3747.66 4286.62,-3641.73 4632,-3568.12 4794.54,-3533.48 5226.02,-3597.06 5379,-3532.12 5445.68,-3503.81 5568.47,-3351.69 5588,-3281.93 5599.17,-3242.02 5603.07,-3086.18 5584,-3042.64"/>
<path fill="none" stroke="black" d="M5584,-3040.64C5571.13,-3008.17 5559.27,-3003.03 5552,-2968.87 5545.2,-2936.9 5545.68,-2927.4 5552,-2895.33 5578.27,-2761.93 5701.16,-2744.12 5668,-2612.26"/>
<path fill="none" stroke="black" d="M5668,-2610.26C5662.37,-2588.24 5658.16,-2563.55 5655.15,-2542.1"/>
<polygon fill="#e55405" stroke="black" points="5658.65,-2541.82 5653.85,-2532.38 5651.71,-2542.75 5658.65,-2541.82"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_database_data_package_statuses -->
<g id="edge613" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_core_database_data_package_statuses</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8266,-4547.07C8250.22,-4465.94 8266,-4443.76 8266,-4361.1 8266,-4361.1 8266,-4361.1 8266,-4175.57 8266,-4097.39 8375.39,-3554.12 8418,-3488.57"/>
<path fill="none" stroke="black" d="M8418,-3486.57C8434.32,-3456 8460.24,-3427.46 8483.45,-3405.57"/>
<polygon fill="#e55405" stroke="black" points="8485.76,-3408.2 8490.74,-3398.84 8481.02,-3403.05 8485.76,-3408.2"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_database_data_patches -->
<g id="edge614" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_core_database_data_patches</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3673.92,-4712.46C4182.07,-4707.64 7602.19,-4674.35 7817,-4649.06 8020.04,-4625.16 8307.75,-4749.21 8266,-4549.07"/>
<path fill="none" stroke="black" d="M8266,-4547.07C8277.35,-4520.45 8256.83,-4511.88 8254,-4483.08 8238.73,-4327.8 8248.52,-4288.01 8252,-4132.02 8254.8,-4006.66 8267.12,-3975.35 8262,-3850.07 8259.66,-3792.9 8205.45,-2873.76 8178,-2823.56"/>
<path fill="none" stroke="black" d="M8178,-2821.56C8129.34,-2764.88 8077.11,-2804.28 8026,-2749.79 7970.96,-2691.11 7943.75,-2599.78 7931.31,-2541.75"/>
<polygon fill="#e55405" stroke="black" points="7934.77,-2541.17 7929.32,-2532.09 7927.91,-2542.59 7934.77,-2541.17"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_tree -->
<g id="edge615" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_core_tree</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1717,-4453.09C1630.41,-4432.88 1103.46,-4077.22 1056,-4002.04 980.71,-3882.77 859.59,-2890.36 848,-2749.79 837.86,-2626.82 875.31,-2593.44 938,-2487.17"/>
<path fill="none" stroke="black" d="M938,-2485.17C964.44,-2438.79 990.98,-2444.09 1028,-2405.62 1126.35,-2303.41 1137.1,-2265.73 1230,-2158.55"/>
<path fill="none" stroke="black" d="M1230,-2156.55C1246.11,-2134.35 1267.09,-2111.81 1284.29,-2094.6"/>
<polygon fill="#e55405" stroke="black" points="1286.65,-2097.19 1291.32,-2087.67 1281.74,-2092.2 1286.65,-2097.19"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_util -->
<g id="edge616" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_core_util</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3674.09,-4711.98C4077.09,-4705.02 6278.44,-4665.59 6416,-4632.06"/>
<path fill="none" stroke="black" d="M6416,-4630.06C6469.66,-4616.99 6527.52,-4590.33 6565.11,-4571.16"/>
<polygon fill="#e55405" stroke="black" points="6566.53,-4574.37 6573.81,-4566.67 6563.32,-4568.15 6566.53,-4574.37"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_models_package -->
<g id="edge617" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3606.99,-4684.95C3602.78,-4644.58 3600.83,-4569.5 3635,-4519.08 3753.37,-4344.44 3853.56,-4362.93 4053,-4294.11 4467.45,-4151.11 6000.33,-4318.11 5982,-3880.06"/>
<path fill="none" stroke="black" d="M5982,-3878.06C5976.41,-3853.11 5993.54,-3829.77 6011.75,-3812.84"/>
<polygon fill="#e55405" stroke="black" points="6013.74,-3815.74 6018.97,-3806.53 6009.14,-3810.47 6013.74,-3815.74"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_application_application_application -->
<g id="edge618" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_application_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4043.67,-2927.65C3904.59,-2915.1 3431.11,-2871.87 3364,-2859.33 3243.43,-2836.81 3218.93,-2806.29 3098,-2785.79 2978.55,-2765.54 2656.29,-2814.71 2554,-2749.79 2493.59,-2711.45 2275.74,-2249.63 2242,-2186.54 2028.99,-1788.23 2035.89,-1652.8 1776,-1283.36 1699.45,-1174.54 1670.56,-1153.65 1572,-1064.28 1556.21,-1049.96 1537.78,-1035.46 1521.44,-1023.27"/>
<polygon fill="#d14d05" stroke="black" points="1523.95,-1020.78 1513.82,-1017.66 1519.79,-1026.41 1523.95,-1020.78"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge619" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4043.89,-2928.1C3933.91,-2919.29 3606.61,-2892.07 3336,-2859.33 3111.27,-2832.14 3056.47,-2815.11 2832,-2785.79 2693.59,-2767.71 2644.09,-2813.72 2520,-2749.79 2408.84,-2692.52 2228.6,-2423.22 2143,-2332.08 1954.5,-2131.39 1893.55,-2094.26 1710,-1889.03 1450.71,-1599.13 1409.02,-1506.99 1156,-1211.59"/>
<path fill="none" stroke="black" d="M1156,-1209.59C1133.41,-1188.29 1109.24,-1163.44 1089.89,-1142.99"/>
<polygon fill="#d14d05" stroke="black" points="1092.63,-1140.79 1083.22,-1135.92 1087.53,-1145.59 1092.63,-1140.79"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge620" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4044.82,-2923.97C3978.65,-2911.24 3836.11,-2883.65 3716,-2859.33 3559.36,-2827.61 3522.55,-2805.94 3364,-2785.79 3279.25,-2775.02 2665.63,-2799.28 2596,-2749.79 2553.23,-2719.4 2524.85,-2580.4 2508,-2530.71 2462.32,-2396.05 2473.31,-2355.16 2422,-2222.54 2309.61,-1932.01 2303.62,-1838.04 2107,-1596.42 1935.98,-1386.26 1661.09,-1207.81 1542.05,-1135.94"/>
<polygon fill="#d14d05" stroke="black" points="1544.06,-1133.06 1533.68,-1130.91 1540.45,-1139.06 1544.06,-1133.06"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_application_handlers_triggers -->
<g id="edge621" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_application_handlers_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4046.54,-2920.2C3944.75,-2889.09 3652.64,-2801.16 3554,-2785.79 3456.54,-2770.61 2750.92,-2801.63 2667,-2749.79 2572.37,-2691.33 2584.36,-2635.12 2546,-2530.71 2493.03,-2386.54 2409,-2006.86 2409,-1853.27 2409,-1853.27 2409,-1853.27 2409,-1530.43 2409,-1387.72 2413.09,-1350.21 2447,-1211.59"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge622" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4054.38,-2911.65C4012.74,-2882.68 3930.99,-2827.18 3858,-2785.79 3830.49,-2770.19 3369.58,-2554.73 3349,-2530.71 3335.77,-2515.28 3340.05,-2506.86 3335,-2487.17"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge623" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3740,-2610.26C3702.21,-2492.06 3727.36,-2455.65 3716,-2332.08 3715.27,-2324.11 3714.47,-2315.65 3713.67,-2307.44"/>
<polygon fill="#d14d05" stroke="black" points="3717.17,-2307.2 3712.71,-2297.58 3710.2,-2307.88 3717.17,-2307.2"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_console -->
<g id="edge624" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_report_console</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4120.72,-2930.91C4345.86,-2928.81 5477.89,-2903.71 5516,-2612.26"/>
<path fill="none" stroke="black" d="M5516,-2610.26C5516.72,-2583.95 5510.8,-2555.18 5504.32,-2532.07"/>
<polygon fill="#d14d05" stroke="black" points="5507.74,-2531.28 5501.55,-2522.67 5501.02,-2533.26 5507.74,-2531.28"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_email -->
<g id="edge625" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4120.68,-2930.01C4275.1,-2925.38 4842.29,-2905.32 4907,-2859.33 4936.2,-2838.58 4911.02,-2806.85 4940,-2785.79 5060.06,-2698.53 5152.62,-2837.98 5272,-2749.79 5297.55,-2730.92 5380.33,-2518.59 5385,-2487.17"/>
<path fill="none" stroke="black" d="M5385,-2485.17C5391.09,-2416.88 5375.92,-2394.63 5404,-2332.08 5410.44,-2317.74 5420.75,-2304.17 5431.19,-2292.78"/>
<polygon fill="#d14d05" stroke="black" points="5433.67,-2295.24 5438.08,-2285.6 5428.63,-2290.39 5433.67,-2295.24"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_html -->
<g id="edge626" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_report_html</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4088.47,-2903.16C4097.11,-2863.17 4111.19,-2787.23 4110,-2721.8"/>
<path fill="none" stroke="black" d="M4110,-2719.8C4111.43,-2651.77 4068.15,-2619.57 4111,-2566.71 4158.27,-2508.41 4203.24,-2549.15 4276,-2530.71 4525.36,-2467.51 4587.68,-2450.36 4832,-2369.85"/>
<path fill="none" stroke="black" d="M4832,-2367.85C4986.93,-2312.6 5180.1,-2280.13 5269.44,-2267.05"/>
<polygon fill="#d14d05" stroke="black" points="5269.94,-2270.52 5279.33,-2265.63 5268.94,-2263.59 5269.94,-2270.52"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge627" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4120.72,-2931.22C4267.69,-2931.14 4790.36,-2926.11 4940,-2859.33 4983.51,-2839.92 4974.83,-2805.95 5018,-2785.79 5141.27,-2728.22 5214.58,-2833.29 5322,-2749.79 5371.37,-2711.42 5385.35,-2537.09 5423,-2487.17"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_report -->
<g id="edge628" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4111.45,-2912.93C4226.2,-2842.82 4655.9,-2586.63 5039,-2441.62 5117.6,-2411.87 5213.18,-2390.33 5269.9,-2378.99"/>
<polygon fill="#d14d05" stroke="black" points="5270.43,-2382.45 5279.56,-2377.08 5269.07,-2375.58 5270.43,-2382.45"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_report_trigger -->
<g id="edge629" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_report_report_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3958,-2719.8C3920.04,-2660.05 3964.19,-2626.56 4002,-2566.71 4030.51,-2521.58 4060.3,-2530.12 4092,-2487.17"/>
<path fill="none" stroke="black" d="M4092,-2485.17C4138.68,-2422.8 4198.94,-2443.61 4224,-2369.85"/>
<path fill="none" stroke="black" d="M4224,-2367.85C4231.29,-2346.38 4241.42,-2323.4 4250.58,-2304.22"/>
<polygon fill="#d14d05" stroke="black" points="4253.67,-2305.87 4254.88,-2295.35 4247.37,-2302.82 4253.67,-2305.87"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_telegram -->
<g id="edge630" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4120.63,-2929.42C4290.04,-2921.9 4968.12,-2890.45 5179,-2859.33 5505.31,-2811.18 5580.33,-2764.81 5902,-2691.81 5973.93,-2675.48 6014.19,-2710.2 6064,-2655.81 6109.75,-2605.85 6115.94,-2401.28 6116.32,-2307.58"/>
<polygon fill="#d14d05" stroke="black" points="6119.82,-2307.71 6116.34,-2297.7 6112.82,-2307.69 6119.82,-2307.71"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_repository_executor -->
<g id="edge631" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4072.4,-2903.93C4063.89,-2881.5 4050.31,-2849.29 4034,-2823.56"/>
<path fill="none" stroke="black" d="M4034,-2821.56C4023.75,-2805.39 4024.14,-2798.69 4010,-2785.79 3985.32,-2763.27 3972.55,-2767.15 3944,-2749.79 3904.61,-2725.84 3899.08,-2712.73 3858,-2691.81 3816.28,-2670.56 3793.13,-2687.86 3759,-2655.81 3743.61,-2641.35 3747.21,-2632.11 3740,-2612.26"/>
<path fill="none" stroke="black" d="M3740,-2610.26C3713.85,-2544.5 3781.38,-2366.05 3792,-2296.08 3801.26,-2235.07 3811,-2220.25 3811,-2158.55 3811,-2158.55 3811,-2158.55 3811,-1960.8 3811,-1901.99 3804.72,-1834.47 3799.79,-1790.57"/>
<polygon fill="#d14d05" stroke="black" points="3803.3,-1790.42 3798.68,-1780.89 3796.35,-1791.22 3803.3,-1790.42"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_triggers_trigger -->
<g id="edge632" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_triggers_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4110,-2719.8C4109.56,-2695.78 4119.64,-2671.15 4130.67,-2651.53"/>
<polygon fill="#d14d05" stroke="black" points="4133.61,-2653.45 4135.71,-2643.06 4127.59,-2649.87 4133.61,-2653.45"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_triggers_trigger_loader -->
<g id="edge633" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_triggers_trigger_loader</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4034,-2821.56C4008.02,-2772.25 3987.89,-2768.85 3958,-2721.8"/>
<path fill="none" stroke="black" d="M3958,-2719.8C3936.88,-2686.55 3901.77,-2659.29 3872.39,-2640.54"/>
<polygon fill="#d14d05" stroke="black" points="3874.3,-2637.61 3863.96,-2635.31 3870.61,-2643.55 3874.3,-2637.61"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_upload_upload_trigger -->
<g id="edge634" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_upload_upload_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4034,-2821.56C3981.19,-2721.32 3973.7,-2658.58 4040,-2566.71 4070.67,-2524.22 4242.15,-2535.67 4262,-2487.17"/>
<path fill="none" stroke="black" d="M4262,-2485.17C4293.28,-2408.29 4360.36,-2337.35 4404.3,-2296.47"/>
<polygon fill="#d14d05" stroke="black" points="4406.64,-2299.07 4411.64,-2289.73 4401.91,-2293.91 4406.64,-2299.07"/>
</g>
<!-- ahriman_models_sign_settings -->
<g id="node142" class="node">
<title>ahriman_models_sign_settings</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db6b2f" stroke="black" cx="5722" cy="-2932.1" rx="52.15" ry="28.98"/>
<text text-anchor="middle" x="5722" y="-2940.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="5722" y="-2929.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="5722" y="-2918.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">sign_settings</text>
</g>
<!-- ahriman_models_sign_settings&#45;&gt;ahriman_application_ahriman -->
<g id="edge635" class="edge">
<title>ahriman_models_sign_settings&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5772.49,-2924.02C5837.45,-2915.3 5953.86,-2900.93 6054,-2895.33 6110.79,-2892.15 14203.87,-2899.64 14244,-2859.33 14267.06,-2836.17 14246.43,-2818.38 14244,-2785.79 14228.89,-2583.12 14152.54,-2532.37 14187,-2332.08 14262.09,-1895.61 14347.23,-1800.68 14520,-1392.9 14537.55,-1351.48 14624.62,-1254.13 14610,-1211.59"/>
<path fill="none" stroke="black" d="M14610,-1209.59C14472.03,-923.31 14146.82,-965.48 14167,-648.34"/>
</g>
<!-- ahriman_models_sign_settings&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge636" class="edge">
<title>ahriman_models_sign_settings&#45;&gt;ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5743.02,-2905.25C5753.76,-2891.77 5766.88,-2874.89 5778,-2859.33 5800.69,-2827.57 5803.33,-2817.56 5826,-2785.79 5837.77,-2769.29 5847.42,-2768.96 5854,-2749.79 5862.36,-2725.42 5868.28,-2713.26 5854,-2691.81 5831.04,-2657.31 5798.83,-2683.5 5768,-2655.81 5751.56,-2641.04 5750.51,-2633.38 5744,-2612.26"/>
</g>
<!-- ahriman_models_sign_settings&#45;&gt;ahriman_core_sign_gpg -->
<g id="edge637" class="edge">
<title>ahriman_models_sign_settings&#45;&gt;ahriman_core_sign_gpg</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5671.19,-2925.22C5562.15,-2910.68 5300.7,-2865.51 5117,-2749.79 5076.8,-2724.47 5041.48,-2682.77 5018.74,-2651.91"/>
<polygon fill="#db6b2f" stroke="black" points="5021.67,-2650 5012.98,-2643.94 5016,-2654.1 5021.67,-2650"/>
</g>
<!-- ahriman_models_smtp_ssl_settings -->
<g id="node143" class="node">
<title>ahriman_models_smtp_ssl_settings</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c27347" stroke="black" cx="5954" cy="-2611.26" rx="67.76" ry="28.98"/>
<text text-anchor="middle" x="5954" y="-2619.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="5954" y="-2608.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="5954" y="-2597.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">smtp_ssl_settings</text>
</g>
<!-- ahriman_models_smtp_ssl_settings&#45;&gt;ahriman_core_report_email -->
<g id="edge638" class="edge">
<title>ahriman_models_smtp_ssl_settings&#45;&gt;ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5937.54,-2583.03C5923.79,-2558.8 5905.04,-2521.92 5896,-2487.17"/>
</g>
<!-- ahriman_models_upload_settings -->
<g id="node144" class="node">
<title>ahriman_models_upload_settings</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c27347" stroke="black" cx="6384" cy="-2932.1" rx="60.21" ry="28.98"/>
<text text-anchor="middle" x="6384" y="-2940.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="6384" y="-2929.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="6384" y="-2918.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">upload_settings</text>
</g>
<!-- ahriman_models_upload_settings&#45;&gt;ahriman_core_upload_upload -->
<g id="edge639" class="edge">
<title>ahriman_models_upload_settings&#45;&gt;ahriman_core_upload_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6376.05,-2903.07C6371.21,-2879.83 6368.55,-2846.92 6384,-2823.56"/>
</g>
<!-- ahriman_models_user -->
<g id="node145" class="node">
<title>ahriman_models_user</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b84709" stroke="black" cx="10960" cy="-3143.4" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="10960" y="-3151.9" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10960" y="-3140.9" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="10960" y="-3129.9" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">user</text>
</g>
<!-- ahriman_models_user&#45;&gt;ahriman_application_handlers_users -->
<g id="edge640" class="edge">
<title>ahriman_models_user&#45;&gt;ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10997.62,-3136.64C11256.27,-3097.01 12761.56,-2866.13 12771,-2859.33 12800.85,-2837.82 12779.39,-2807.62 12809,-2785.79 13073.55,-2590.76 13252.63,-2820.62 13537,-2655.81 13699.34,-2561.72 13682.03,-2471.14 13808,-2332.08 13880.48,-2252.06 13938.53,-2259.04 13978,-2158.55"/>
<path fill="none" stroke="black" d="M13978,-2156.55C13986.03,-2116.46 13979.74,-2105.41 13978,-2064.57"/>
</g>
<!-- ahriman_models_user&#45;&gt;ahriman_core_auth_mapping -->
<g id="edge641" class="edge">
<title>ahriman_models_user&#45;&gt;ahriman_core_auth_mapping</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10970.81,-3115.31C10983.62,-3081.63 11004.2,-3022.08 11012,-2968.87 11016.74,-2936.53 11013.18,-2927.99 11012,-2895.33 11003.55,-2661.33 10974,-2604.01 10974,-2369.85 10974,-2369.85 10974,-2369.85 10974,-2258.31 10974,-2141.48 10923.19,-2112.34 10836,-2034.57 10805.51,-2007.38 10762.92,-1988.53 10730.41,-1977"/>
<polygon fill="#b84709" stroke="black" points="10731.83,-1973.79 10721.24,-1973.86 10729.56,-1980.41 10731.83,-1973.79"/>
</g>
<!-- ahriman_models_user&#45;&gt;ahriman_core_database_operations_auth_operations -->
<g id="edge642" class="edge">
<title>ahriman_models_user&#45;&gt;ahriman_core_database_operations_auth_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10953.95,-3114.35C10943.79,-3068.26 10922.04,-2973.76 10898,-2895.33 10873.02,-2813.83 10838.09,-2721.36 10816.01,-2664.93"/>
<polygon fill="#b84709" stroke="black" points="10819.38,-2663.92 10812.47,-2655.89 10812.86,-2666.48 10819.38,-2663.92"/>
</g>
<!-- ahriman_models_user&#45;&gt;ahriman_core_formatters_user_printer -->
<g id="edge643" class="edge">
<title>ahriman_models_user&#45;&gt;ahriman_core_formatters_user_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10998.45,-3140.78C11183.16,-3132.52 11997.34,-3090.59 12652,-2968.87 12836.17,-2934.63 12887.32,-2934.29 13059,-2859.33 13062.98,-2857.59 13067.01,-2855.6 13070.99,-2853.48"/>
<polygon fill="#b84709" stroke="black" points="13072.42,-2856.68 13079.39,-2848.7 13068.97,-2850.6 13072.42,-2856.68"/>
</g>
<!-- ahriman_models_user&#45;&gt;ahriman_core_status_web_client -->
<g id="edge644" class="edge">
<title>ahriman_models_user&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10925.49,-3130.33C10727.11,-3060.96 9732.57,-2713.17 9495.02,-2630.1"/>
<polygon fill="#b84709" stroke="black" points="9496.31,-2626.85 9485.71,-2626.85 9494,-2633.45 9496.31,-2626.85"/>
</g>
<!-- ahriman_models_user_access -->
<g id="node146" class="node">
<title>ahriman_models_user_access</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f96210" stroke="black" cx="10263" cy="-3245.16" rx="50.82" ry="28.98"/>
<text text-anchor="middle" x="10263" y="-3253.66" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="10263" y="-3242.66" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="10263" y="-3231.66" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">user_access</text>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_application_ahriman -->
<g id="edge645" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10314.19,-3243.85C10640.52,-3241.68 12433.72,-3227.41 12979,-3172.39 13496.74,-3120.15 13647.52,-3158.76 14132,-2968.87 14215.68,-2936.07 14235.05,-2919.3 14302,-2859.33 14397.29,-2773.98 14590.82,-2496.99 14605,-2369.85"/>
<path fill="none" stroke="black" d="M14605,-2367.85C14619.06,-2025.02 14557.37,-1939.08 14575,-1596.42 14579.67,-1505.6 14582.61,-1482.84 14596,-1392.9 14600.78,-1360.75 14604.6,-1353.17 14610,-1321.13"/>
<path fill="none" stroke="black" d="M14610,-1319.13C14612.17,-1271.38 14619.63,-1258.4 14610,-1211.59"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_core_auth_auth -->
<g id="edge646" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10238,-2367.85C10252.47,-2286.37 10364.9,-2339.16 10390,-2260.31"/>
<path fill="none" stroke="black" d="M10390,-2258.31C10416.95,-2173.66 10419.38,-2068.91 10418.11,-2009.59"/>
<polygon fill="#f96210" stroke="black" points="10421.61,-2009.77 10417.85,-1999.87 10414.62,-2009.96 10421.61,-2009.77"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_core_auth_mapping -->
<g id="edge647" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_core_auth_mapping</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10395,-3142.4C10452.79,-2880.22 10459.88,-2807.81 10578,-2566.71 10646.33,-2427.25 10746,-2415.62 10746,-2260.31 10746,-2260.31 10746,-2260.31 10746,-2156.55 10746,-2102.23 10723.33,-2043.37 10705.19,-2004.95"/>
<polygon fill="#f96210" stroke="black" points="10708.38,-2003.52 10700.87,-1996.04 10702.08,-2006.57 10708.38,-2003.52"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_core_database_operations_auth_operations -->
<g id="edge648" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_core_database_operations_auth_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10310.54,-3234.37C10375.35,-3220.46 10487.45,-3194.25 10523,-3172.39 10723.66,-3049.04 10773.7,-2955.64 10802,-2721.8"/>
<path fill="none" stroke="black" d="M10802,-2719.8C10801.92,-2702.77 10801.01,-2684.26 10799.87,-2667.48"/>
<polygon fill="#f96210" stroke="black" points="10803.37,-2667.4 10799.16,-2657.68 10796.39,-2667.91 10803.37,-2667.4"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_models_user -->
<g id="edge649" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_models_user</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10311.2,-3235.78C10355.13,-3228.24 10421.84,-3217.06 10480,-3208.39 10637.01,-3184.99 10823.54,-3161.3 10910.62,-3150.47"/>
<polygon fill="#f96210" stroke="black" points="10910.99,-3153.95 10920.48,-3149.25 10910.13,-3147.01 10910.99,-3153.95"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge650" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10307.26,-3230.62C10338.71,-3219.19 10380.29,-3200.19 10409,-3172.39 10442.99,-3139.48 10437.7,-3120.66 10459,-3078.41 10572.42,-2853.43 10586.24,-2789.98 10703,-2566.71 10799.8,-2381.61 10936,-2367.43 10936,-2158.55 10936,-2158.55 10936,-2158.55 10936,-1632.19 10936,-1542.62 10884.94,-1504.25 10936,-1430.67"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_base -->
<g id="edge651" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10250.84,-3216.65C10229.21,-3167.35 10183.02,-3060.56 10148,-2968.87 10074.46,-2776.31 10059.74,-2726.73 9996,-2530.71 9978.03,-2475.46 9972.02,-2462.01 9958,-2405.62 9939.92,-2332.9 9829,-1818.65 9829,-1743.73 9829,-1743.73 9829,-1743.73 9829,-1632.19 9829,-1446.79 9736.17,-1419.77 9668,-1247.36 9639.05,-1174.13 9607.5,-1088.16 9589.03,-1037.13"/>
<polygon fill="#f96210" stroke="black" points="9592.38,-1036.11 9585.69,-1027.9 9585.8,-1038.49 9592.38,-1036.11"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_index -->
<g id="edge652" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_index</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10395,-3142.4C10410.08,-3084.31 10313.46,-3101.9 10304,-3042.64"/>
<path fill="none" stroke="black" d="M10304,-3040.64C10254.04,-2727.69 10219.21,-2648.96 10224,-2332.08 10226,-2199.81 10225.28,-2166.63 10233,-2034.57 10244.4,-1839.44 10214.74,-1783.61 10271,-1596.42 10295.13,-1516.14 10341.22,-1512.13 10361,-1430.67"/>
<path fill="none" stroke="black" d="M10361,-1428.67C10373.7,-1333.02 10397.86,-1301.55 10363,-1211.59"/>
<path fill="none" stroke="black" d="M10363,-1209.59C10319.67,-1108.18 10279.2,-984.95 10258.81,-920.1"/>
<polygon fill="#f96210" stroke="black" points="10262.25,-919.39 10255.92,-910.89 10255.57,-921.48 10262.25,-919.39"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_add -->
<g id="edge653" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_service_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10213.55,-3237.35C10128.31,-3225.42 9948.29,-3199.45 9797,-3172.39 9591.16,-3135.58 9538,-3132.45 9336,-3078.41 8938.65,-2972.11 8859.67,-2874.37 8458,-2785.79 8388.33,-2770.43 8186.53,-2802.99 8139,-2749.79 8111.66,-2719.19 8121.65,-2780.32 8181,-2441.62 8189.54,-2392.87 8185.95,-2379.22 8201,-2332.08 8320.33,-1958.31 8575,-1924.78 8575,-1532.43 8575,-1532.43 8575,-1532.43 8575,-1209.59 8575,-1184.03 8631.42,-1008.93 8651,-992.51"/>
<path fill="none" stroke="black" d="M8651,-990.51C8762.14,-884.63 9197.22,-979.91 9338,-918.74 9341.63,-917.16 9345.16,-915.18 9348.54,-912.94"/>
<polygon fill="#f96210" stroke="black" points="9350.59,-915.79 9356.46,-906.97 9346.37,-910.2 9350.59,-915.79"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_pgp -->
<g id="edge654" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_service_pgp</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10057,-990.51C10048.86,-971.69 10047.23,-949.48 10048.21,-929.6"/>
<polygon fill="#f96210" stroke="black" points="10051.69,-929.94 10048.94,-919.71 10044.71,-929.42 10051.69,-929.94"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_rebuild -->
<g id="edge655" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_service_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10086,-2485.17C10077.3,-2457.43 10057,-1991.87 10057,-1962.8 10057,-1962.8 10057,-1962.8 10057,-1530.43 10057,-1365.21 10012.86,-1327.42 9952,-1173.82 9915.46,-1081.6 9860.49,-979.55 9827.93,-921.8"/>
<polygon fill="#f96210" stroke="black" points="9831.03,-920.19 9823.06,-913.21 9824.94,-923.64 9831.03,-920.19"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_remove -->
<g id="edge656" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_service_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10212.01,-3242.1C10060.51,-3235.56 9615.02,-3213.3 9476,-3172.39 9422.6,-3156.68 9418.05,-3131.25 9365,-3114.41 9250.45,-3078.04 9211.34,-3115.42 9097,-3078.41 9031.25,-3057.12 9024.4,-3029.94 8960,-3004.87 8899.73,-2981.4 8879.12,-2992.71 8819,-2968.87 8756.21,-2943.97 8749.88,-2917.27 8686,-2895.33 8588.97,-2862.01 8555.9,-2890 8458,-2859.33 8386.39,-2836.89 8377.22,-2809.46 8306,-2785.79 8226.1,-2759.23 8173.58,-2814.74 8120,-2749.79 8103.6,-2729.91 8118.51,-2717.54 8120,-2691.81 8133.8,-2453.61 8182,-2397.15 8182,-2158.55 8182,-2158.55 8182,-2158.55 8182,-1632.19 8182,-1434.8 8499,-1518.52 8499,-1321.13 8499,-1321.13 8499,-1321.13 8499,-1209.59 8499,-1145.18 8582.67,-989.32 8637,-954.74 8750.99,-882.18 9119.71,-971.77 9244,-918.74 9247.64,-917.19 9251.18,-915.22 9254.57,-913"/>
<polygon fill="#f96210" stroke="black" points="9256.6,-915.85 9262.49,-907.04 9252.4,-910.25 9256.6,-915.85"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_request -->
<g id="edge657" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_service_request</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10218.23,-3230.87C10085.36,-3191.77 9681.23,-3075.51 9340,-3004.87 9289.13,-2994.34 9142.79,-3008.33 9109,-2968.87 9087.74,-2944.04 9105.15,-2927.79 9109,-2895.33 9116.83,-2829.26 9136.17,-2815.86 9144,-2749.79 9147.03,-2724.2 9146.1,-2717.49 9144,-2691.81 9136.98,-2605.76 9041.76,-2008.04 9018,-1925.03 8957.25,-1712.76 8870.28,-1682.94 8827,-1466.43 8801.5,-1338.91 8805.39,-1302.06 8827,-1173.82 8844.13,-1072.19 8821.11,-1017.31 8903,-954.74 8996.63,-883.21 9323.83,-965.45 9432,-918.74 9435.63,-917.17 9439.16,-915.2 9442.55,-912.96"/>
<polygon fill="#f96210" stroke="black" points="9444.59,-915.81 9450.47,-906.99 9440.38,-910.21 9444.59,-915.81"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_search -->
<g id="edge658" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10298.36,-3223.84C10326.6,-3207.23 10363.45,-3184.57 10376,-3172.39 10386.79,-3161.92 10391.39,-3159 10395,-3144.4"/>
<path fill="none" stroke="black" d="M10395,-3142.4C10398.61,-3127.8 10387.64,-3123.93 10376,-3114.41 10319.41,-3068.13 10273.78,-3099.63 10228,-3042.64"/>
<path fill="none" stroke="black" d="M10228,-3040.64C10148.49,-2941.64 10126.32,-2607.57 10086,-2487.17"/>
<path fill="none" stroke="black" d="M10086,-2485.17C10019.25,-2257.96 9981,-2199.61 9981,-1962.8 9981,-1962.8 9981,-1962.8 9981,-1851.27 9981,-1454.12 9868.43,-1366.21 9734,-992.51"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_update -->
<g id="edge659" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_service_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10209,-1851.27C10209.77,-1803.48 10220.36,-1790.15 10209,-1743.73"/>
<path fill="none" stroke="black" d="M10209,-1741.73C10164.4,-1559.41 10247,-1508.82 10247,-1321.13 10247,-1321.13 10247,-1321.13 10247,-1100.05 10247,-1032.37 10209.76,-961.77 10181.67,-918.14"/>
<polygon fill="#f96210" stroke="black" points="10184.72,-916.42 10176.3,-909.99 10178.87,-920.26 10184.72,-916.42"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge660" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10228,-3040.64C10208.38,-3014.12 10208.47,-1886.25 10209,-1853.27"/>
<path fill="none" stroke="black" d="M10209,-1851.27C10202.63,-1812.39 10172.17,-1815.85 10157,-1779.5 10131.79,-1719.09 10133,-1699.64 10133,-1634.19 10133,-1634.19 10133,-1634.19 10133,-1530.43 10133,-1288.98 10152.88,-1214.1 10057,-992.51"/>
<path fill="none" stroke="black" d="M10057,-990.51C10040.56,-953.35 10005.79,-922.58 9977.4,-902.2"/>
<polygon fill="#f96210" stroke="black" points="9979.5,-899.4 9969.29,-896.56 9975.5,-905.15 9979.5,-899.4"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_status_package -->
<g id="edge661" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10239.59,-3219.01C10227.84,-3205.71 10213.84,-3188.78 10203,-3172.39 10060.76,-2957.34 10043.59,-2891.48 9939,-2655.81 9890.75,-2547.09 9873.37,-2520.88 9844,-2405.62 9807.15,-2260.99 9753,-1785.61 9753,-1634.19 9753,-1634.19 9753,-1634.19 9753,-1530.43 9753,-1267.83 9717.49,-1198.57 9620,-954.74 9615.21,-942.76 9608.79,-930.45 9602.24,-919.21"/>
<polygon fill="#f96210" stroke="black" points="9605.41,-917.7 9597.26,-910.94 9599.41,-921.31 9605.41,-917.7"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_status_packages -->
<g id="edge662" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_status_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9351,-3142.4C9176.85,-3116.36 9130.93,-3120.73 8960,-3078.41 8922.81,-3069.2 8335.1,-2884.26 8306,-2859.33 8278.07,-2835.39 8297.12,-2808.28 8268,-2785.79 8210.31,-2741.24 8158.52,-2802.34 8108,-2749.79 7942.87,-2578.03 8096.1,-2445.09 8011,-2222.54 8004.3,-2205.03 7998.36,-2202.79 7989,-2186.54 7831.11,-1912.3 7727.71,-1867.17 7650,-1560.42 7643.67,-1535.44 7645.72,-1527.85 7650,-1502.43 7658.56,-1451.62 7651.66,-1429.43 7688,-1392.9 7721.9,-1358.81 7751.65,-1385.88 7790,-1356.9 7885.16,-1284.98 7877.95,-1236.46 7945,-1137.82 7966.94,-1105.54 7960.75,-1086.26 7993,-1064.28 8191.77,-928.83 8284.59,-986.6 8523,-954.74 8779.44,-920.47 8853.88,-984.87 9104,-918.74 9118.45,-914.92 9133.33,-908.68 9146.7,-902.1"/>
<polygon fill="#f96210" stroke="black" points="9147.94,-905.4 9155.25,-897.73 9144.75,-899.17 9147.94,-905.4"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_status_status -->
<g id="edge663" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10395,-3142.4C10403.2,-3110.81 10417.41,-3108.07 10431,-3078.41 10481.37,-2968.49 10555.83,-2671.59 10616,-2566.71 10626.36,-2548.65 10633.47,-2547.35 10646,-2530.71 10686.45,-2477.03 10702.29,-2466.4 10731,-2405.62 10803.57,-2251.99 10833.94,-2204.12 10823,-2034.57 10798.2,-1650.14 10715.2,-1559.01 10721,-1173.82 10722.28,-1088.97 10725.6,-990.62 10727.83,-930.67"/>
<polygon fill="#f96210" stroke="black" points="10731.32,-930.84 10728.2,-920.72 10724.33,-930.58 10731.32,-930.84"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_user_login -->
<g id="edge664" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10304,-3040.64C10297.06,-3009.08 10301.42,-2927.55 10299,-2895.33 10294.6,-2836.72 10227.72,-2427.72 10238,-2369.85"/>
<path fill="none" stroke="black" d="M10238,-2367.85C10259.37,-2299.49 10399,-1815.34 10399,-1743.73 10399,-1743.73 10399,-1743.73 10399,-1428.67 10399,-1415.48 10486.99,-1222.06 10495,-1211.59"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge665" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10212.03,-3242.98C10032.35,-3238.44 9435.38,-3219.86 9365,-3172.39 9353.47,-3164.61 9364.77,-3146.35 9351,-3144.4"/>
<path fill="none" stroke="black" d="M9351,-3142.4C8921.69,-3081.7 8766.3,-3185.99 8391,-2968.87 8327.64,-2932.21 8321.65,-2909.13 8268,-2859.33 8233.55,-2827.35 8232.87,-2809.01 8192,-2785.79 8138.75,-2755.54 8104.44,-2790.84 8059,-2749.79 8025.81,-2719.81 8036.11,-2698.57 8023,-2655.81 7994.34,-2562.35 8024.7,-2524.58 7973,-2441.62 7833.01,-2216.97 7512,-2329.26 7512,-2064.57 7512,-2064.57 7512,-2064.57 7512,-1851.27 7512,-1693.8 7513.95,-1648 7574,-1502.43 7596.6,-1447.66 7606.18,-1432.78 7650,-1392.9 7674.14,-1370.93 7691.58,-1380.61 7714,-1356.9 7837.98,-1225.8 7826.85,-1160.38 7893,-992.51"/>
<path fill="none" stroke="black" d="M7893,-990.51C7900.99,-973.11 7900.26,-964.02 7917,-954.74 8023.26,-895.81 8897.62,-964.95 9010,-918.74 9013.66,-917.23 9017.21,-915.31 9020.61,-913.1"/>
<polygon fill="#f96210" stroke="black" points="9022.62,-915.97 9028.55,-907.19 9018.44,-910.35 9022.62,-915.97"/>
</g>
<!-- ahriman_models_user_identity -->
<g id="node147" class="node">
<title>ahriman_models_user_identity</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#ce6f3b" stroke="black" cx="10781" cy="-1210.59" rx="50.82" ry="28.98"/>
<text text-anchor="middle" x="10781" y="-1219.09" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="10781" y="-1208.09" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="10781" y="-1197.09" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">user_identity</text>
</g>
<!-- ahriman_models_user_identity&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge666" class="edge">
<title>ahriman_models_user_identity&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10790.77,-1181.65C10810.95,-1123.99 10857.37,-991.31 10881.99,-920.95"/>
<polygon fill="#ce6f3b" stroke="black" points="10885.25,-922.23 10885.25,-911.64 10878.64,-919.92 10885.25,-922.23"/>
</g>
<!-- ahriman_models_user_identity&#45;&gt;ahriman_web_views_user_login -->
<g id="edge667" class="edge">
<title>ahriman_models_user_identity&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10773.57,-1181.78C10758.03,-1129.11 10716.98,-1014.72 10640,-954.74 10565.84,-896.96 10453.52,-880.97 10389.11,-876.66"/>
<polygon fill="#ce6f3b" stroke="black" points="10389.36,-873.17 10379.18,-876.07 10388.95,-880.16 10389.36,-873.17"/>
</g>
<!-- ahriman_version -->
<g id="node148" class="node">
<title>ahriman_version</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#e76822" stroke="black" cx="14197" cy="-2822.56" rx="38.37" ry="21.43"/>
<text text-anchor="middle" x="14197" y="-2825.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="14197" y="-2814.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">version</text>
</g>
<!-- ahriman_version&#45;&gt;ahriman_application_ahriman -->
<g id="edge668" class="edge">
<title>ahriman_version&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14130,-2485.17C14106.29,-2388.08 14130,-2360.25 14130,-2260.31 14130,-2260.31 14130,-2260.31 14130,-1851.27 14130,-1452.35 14036.2,-1350.41 14087,-954.74 14104.92,-815.14 14143.61,-787.12 14167,-648.34"/>
<path fill="none" stroke="black" d="M14167,-646.34C14169.82,-602.09 14161.33,-590.55 14167,-546.57"/>
</g>
<!-- ahriman_version&#45;&gt;ahriman_application_handlers_versions -->
<g id="edge669" class="edge">
<title>ahriman_version&#45;&gt;ahriman_application_handlers_versions</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14224.68,-2807.18C14252.15,-2790.87 14291.49,-2761.33 14301,-2721.8"/>
<path fill="none" stroke="black" d="M14301,-2719.8C14312.18,-2673.33 14308.94,-2659.39 14301,-2612.26"/>
<path fill="none" stroke="black" d="M14301,-2610.26C14289.47,-2541.86 14269.4,-2464.05 14256.15,-2415.95"/>
<polygon fill="#e76822" stroke="black" points="14259.56,-2415.13 14253.51,-2406.43 14252.81,-2417 14259.56,-2415.13"/>
</g>
<!-- ahriman_version&#45;&gt;ahriman_application_lock -->
<g id="edge670" class="edge">
<title>ahriman_version&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14195.17,-2800.77C14192.41,-2779.33 14185.61,-2745.74 14169,-2721.8"/>
<path fill="none" stroke="black" d="M14169,-2719.8C14114.1,-2640.68 13995.59,-2619.36 13924.13,-2613.87"/>
<polygon fill="#e76822" stroke="black" points="13924.81,-2610.41 13914.6,-2613.22 13924.33,-2617.39 13924.81,-2610.41"/>
</g>
<!-- ahriman_version&#45;&gt;ahriman_web_views_status_status -->
<g id="edge671" class="edge">
<title>ahriman_version&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14169,-2719.8C14139.12,-2676.74 14154.8,-2533.35 14130,-2487.17"/>
<path fill="none" stroke="black" d="M14130,-2485.17C14014.29,-2221.16 13814.97,-2298.8 13537,-2222.54 12619.54,-1970.83 12206.59,-2270.82 11469,-1669.96 11362.19,-1582.95 11396.69,-1513.44 11330,-1392.9 11274.86,-1293.22 11158.57,-1018.23 11064,-954.74 10979.19,-897.8 10935.4,-946.17 10837,-918.74 10816.49,-913.02 10794.59,-904.56 10775.98,-896.61"/>
<polygon fill="#e76822" stroke="black" points="10777.39,-893.4 10766.82,-892.61 10774.59,-899.82 10777.39,-893.4"/>
</g>
<!-- ahriman_web -->
<g id="node149" class="node">
<title>ahriman_web</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f96210" stroke="black" cx="10419" cy="-545.57" rx="41.59" ry="18"/>
<text text-anchor="middle" x="10419" y="-543.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.web</text>
</g>
<!-- ahriman_web&#45;&gt;ahriman_application_handlers_web -->
<g id="edge672" class="edge">
<title>ahriman_web&#45;&gt;ahriman_application_handlers_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10435.15,-528.51C10454.73,-508.95 10488.64,-474.8 10517,-444.81"/>
</g>
<!-- ahriman_web_middlewares -->
<g id="node150" class="node">
<title>ahriman_web_middlewares</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c85d23" stroke="black" cx="7793" cy="-647.34" rx="50.41" ry="28.98"/>
<text text-anchor="middle" x="7793" y="-655.84" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7793" y="-644.84" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="7793" y="-633.84" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">middlewares</text>
</g>
<!-- ahriman_web_middlewares&#45;&gt;ahriman_web_web -->
<g id="edge673" class="edge">
<title>ahriman_web_middlewares&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7824.87,-624.46C7834.74,-618.83 7845.93,-613.53 7857,-610.57 8137.47,-535.44 10190.59,-653.54 10470,-574.57 10473.13,-573.68 10476.26,-572.53 10479.34,-571.21"/>
<polygon fill="#c85d23" stroke="black" points="10480.76,-574.41 10488.16,-566.82 10477.65,-568.14 10480.76,-574.41"/>
</g>
<!-- ahriman_web_middlewares_auth_handler&#45;&gt;ahriman_web_web -->
<g id="edge674" class="edge">
<title>ahriman_web_middlewares_auth_handler&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10916.24,-839.68C10926.79,-817.21 10938,-786.59 10938,-757.87"/>
<path fill="none" stroke="black" d="M10938,-755.87C10938,-708.08 10948.66,-694.93 10938,-648.34"/>
</g>
<!-- ahriman_web_middlewares_exception_handler -->
<g id="node152" class="node">
<title>ahriman_web_middlewares_exception_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#995733" stroke="black" cx="7871" cy="-756.87" rx="67.35" ry="36.54"/>
<text text-anchor="middle" x="7871" y="-770.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7871" y="-759.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="7871" y="-748.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">middlewares.</text>
<text text-anchor="middle" x="7871" y="-737.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">exception_handler</text>
</g>
<!-- ahriman_web_middlewares_exception_handler&#45;&gt;ahriman_web_web -->
<g id="edge675" class="edge">
<title>ahriman_web_middlewares_exception_handler&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7858.19,-720.59C7851.57,-695.42 7848.89,-663.46 7871,-648.34"/>
</g>
<!-- ahriman_web_routes -->
<g id="node153" class="node">
<title>ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#734126" stroke="black" cx="9674" cy="-647.34" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="9674" y="-655.84" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9674" y="-644.84" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="9674" y="-633.84" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">routes</text>
</g>
<!-- ahriman_web_routes&#45;&gt;ahriman_web_web -->
<g id="edge676" class="edge">
<title>ahriman_web_routes&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9712.38,-645.13C9851.15,-640.41 10326.3,-621.16 10470,-574.57 10473.05,-573.58 10476.11,-572.36 10479.13,-571"/>
<polygon fill="#734126" stroke="black" points="10480.47,-574.24 10487.79,-566.59 10477.29,-568.01 10480.47,-574.24"/>
</g>
<!-- ahriman_web_views -->
<g id="node154" class="node">
<title>ahriman_web_views</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f96210" stroke="black" cx="8803" cy="-756.87" rx="38.37" ry="28.98"/>
<text text-anchor="middle" x="8803" y="-765.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="8803" y="-754.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">web.</text>
<text text-anchor="middle" x="8803" y="-743.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">views</text>
</g>
<!-- ahriman_web_views&#45;&gt;ahriman_web_routes -->
<g id="edge677" class="edge">
<title>ahriman_web_views&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8828.26,-734.65C8836.33,-728.97 8845.62,-723.48 8855,-720.1 8997.86,-668.77 9468.74,-653.19 9623.91,-649.39"/>
<polygon fill="#f96210" stroke="black" points="9623.96,-652.89 9633.87,-649.16 9623.79,-645.9 9623.96,-652.89"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_index -->
<g id="edge678" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_index</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9611.41,-987.5C9739.14,-977.29 10144.6,-943.28 10198,-918.74 10202.92,-916.48 10207.67,-913.5 10212.14,-910.16"/>
<polygon fill="#953703" stroke="black" points="10214.24,-912.96 10219.7,-903.88 10209.77,-907.58 10214.24,-912.96"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_add -->
<g id="edge679" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_service_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9537.88,-975.91C9508.39,-962.9 9465.79,-942.31 9432,-918.74 9428.8,-916.51 9425.6,-914.07 9422.45,-911.53"/>
<polygon fill="#953703" stroke="black" points="9424.81,-908.94 9414.93,-905.13 9420.28,-914.28 9424.81,-908.94"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_pgp -->
<g id="edge680" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_service_pgp</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9611.54,-988.17C9685.29,-982.74 9850.65,-965.91 9981,-918.74 9992.16,-914.7 10003.58,-909.08 10014.07,-903.21"/>
<polygon fill="#953703" stroke="black" points="10015.6,-906.37 10022.48,-898.31 10012.08,-900.31 10015.6,-906.37"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_rebuild -->
<g id="edge681" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_service_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9606.64,-973.49C9646.09,-953.54 9711.66,-920.38 9755.59,-898.16"/>
<polygon fill="#953703" stroke="black" points="9757.02,-901.36 9764.37,-893.72 9753.86,-895.11 9757.02,-901.36"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_remove -->
<g id="edge682" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_service_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9535.09,-984.37C9486.8,-975.37 9401.98,-955.53 9338,-918.74 9334.62,-916.8 9331.28,-914.57 9328.04,-912.17"/>
<polygon fill="#953703" stroke="black" points="9330.37,-909.55 9320.38,-906 9325.98,-915 9330.37,-909.55"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_request -->
<g id="edge683" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_service_request</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9549.76,-962C9538.4,-948.06 9524.53,-931.04 9512.08,-915.77"/>
<polygon fill="#953703" stroke="black" points="9514.94,-913.74 9505.9,-908.2 9509.51,-918.16 9514.94,-913.74"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_search -->
<g id="edge684" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9596.24,-962C9607.6,-948.06 9621.47,-931.04 9633.92,-915.77"/>
<polygon fill="#953703" stroke="black" points="9636.49,-918.16 9640.1,-908.2 9631.06,-913.74 9636.49,-918.16"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_update -->
<g id="edge685" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_service_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9611.62,-988.31C9718.51,-981.75 10016.19,-960.17 10104,-918.74 10107.58,-917.05 10111.07,-914.99 10114.43,-912.69"/>
<polygon fill="#953703" stroke="black" points="10116.52,-915.5 10122.31,-906.63 10112.25,-909.95 10116.52,-915.5"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge686" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9610.7,-983.33C9664.43,-972.52 9765.63,-949.93 9848,-918.74 9861.83,-913.5 9876.36,-906.69 9889.46,-900.02"/>
<polygon fill="#953703" stroke="black" points="9891.02,-903.15 9898.28,-895.42 9887.79,-896.94 9891.02,-903.15"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_status_package -->
<g id="edge687" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9573,-954.65C9573,-947.01 9573,-938.78 9573,-930.6"/>
<polygon fill="#953703" stroke="black" points="9576.5,-930.66 9573,-920.66 9569.5,-930.66 9576.5,-930.66"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_status_packages -->
<g id="edge688" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_status_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9534.5,-988.19C9470.94,-983.07 9341.4,-967.09 9244,-918.74 9240.06,-916.79 9236.18,-914.46 9232.42,-911.92"/>
<polygon fill="#953703" stroke="black" points="9234.71,-909.26 9224.58,-906.13 9230.55,-914.89 9234.71,-909.26"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_status_status -->
<g id="edge689" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9611.56,-987.63C9728.34,-978.79 10088.38,-950.7 10386,-918.74 10491.1,-907.45 10613.86,-891.16 10680.61,-882.04"/>
<polygon fill="#953703" stroke="black" points="10680.69,-885.56 10690.12,-880.74 10679.74,-878.63 10680.69,-885.56"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_user_login -->
<g id="edge690" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9611.26,-987.37C9755.62,-975.44 10260.66,-932.86 10292,-918.74 10295.61,-917.11 10299.12,-915.1 10302.5,-912.83"/>
<polygon fill="#953703" stroke="black" points="10304.56,-915.66 10310.4,-906.82 10300.32,-910.09 10304.56,-915.66"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge691" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9534.58,-988.09C9458.1,-982.42 9282.09,-965.04 9142,-918.74 9128.21,-914.18 9113.91,-907.65 9101.06,-901.02"/>
<polygon fill="#953703" stroke="black" points="9102.91,-898.04 9092.43,-896.43 9099.62,-904.22 9102.91,-898.04"/>
</g>
<!-- ahriman_web_views_index&#45;&gt;ahriman_web_routes -->
<g id="edge692" class="edge">
<title>ahriman_web_views_index&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10219,-846.74C10212.44,-840.74 10205.21,-834.67 10198,-829.64 10140.33,-789.42 10092.17,-818.76 10057,-757.87"/>
</g>
<!-- ahriman_web_views_service -->
<g id="node157" class="node">
<title>ahriman_web_views_service</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c27347" stroke="black" cx="8963" cy="-874.19" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="8963" y="-888.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="8963" y="-877.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">web.</text>
<text text-anchor="middle" x="8963" y="-866.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">views.</text>
<text text-anchor="middle" x="8963" y="-855.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">service</text>
</g>
<!-- ahriman_web_views_service&#45;&gt;ahriman_web_routes -->
<g id="edge693" class="edge">
<title>ahriman_web_views_service&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8987.52,-846.23C8994.29,-840.04 9001.99,-834.01 9010,-829.64 9123.2,-768 9200.05,-849.22 9291,-757.87"/>
<path fill="none" stroke="black" d="M9291,-755.87C9381.57,-664.91 9542.51,-649.35 9623.9,-647.64"/>
<polygon fill="#c27347" stroke="black" points="9623.85,-651.15 9633.8,-647.51 9623.75,-644.15 9623.85,-651.15"/>
</g>
<!-- ahriman_web_views_service_add&#45;&gt;ahriman_web_routes -->
<g id="edge694" class="edge">
<title>ahriman_web_views_service_add&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9356.33,-844.12C9325.97,-812.54 9283.37,-765.54 9291,-757.87"/>
</g>
<!-- ahriman_web_views_service_pgp&#45;&gt;ahriman_web_routes -->
<g id="edge695" class="edge">
<title>ahriman_web_views_service_pgp&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10066.8,-830.81C10069.81,-807.77 10069.57,-779.63 10057,-757.87"/>
</g>
<!-- ahriman_web_views_service_rebuild&#45;&gt;ahriman_web_routes -->
<g id="edge696" class="edge">
<title>ahriman_web_views_service_rebuild&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9835.88,-854.84C9851.41,-846.85 9869.99,-837.53 9887,-829.64 9961.41,-795.15 10098.02,-828.89 10057,-757.87"/>
</g>
<!-- ahriman_web_views_service_remove&#45;&gt;ahriman_web_routes -->
<g id="edge697" class="edge">
<title>ahriman_web_views_service_remove&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9277.99,-831.98C9272.95,-807.13 9272.21,-776.74 9291,-757.87"/>
</g>
<!-- ahriman_web_views_service_request&#45;&gt;ahriman_web_routes -->
<g id="edge698" class="edge">
<title>ahriman_web_views_service_request&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9450.22,-844.23C9444.43,-839.07 9438.2,-833.97 9432,-829.64 9374.33,-789.42 9241.39,-807.7 9291,-757.87"/>
</g>
<!-- ahriman_web_views_service_search&#45;&gt;ahriman_web_routes -->
<g id="edge699" class="edge">
<title>ahriman_web_views_service_search&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9701.32,-853.71C9717.01,-845.41 9736.06,-836.16 9754,-829.64 9884.08,-782.41 10126.22,-877.71 10057,-757.87"/>
<path fill="none" stroke="black" d="M10057,-755.87C10023.34,-697.6 9818.99,-665.73 9723.33,-653.83"/>
<polygon fill="#734126" stroke="black" points="9723.79,-650.37 9713.44,-652.63 9722.95,-657.31 9723.79,-650.37"/>
</g>
<!-- ahriman_web_views_service_update&#45;&gt;ahriman_web_routes -->
<g id="edge700" class="edge">
<title>ahriman_web_views_service_update&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10122.59,-843.85C10102.26,-821.64 10075.35,-789.63 10057,-757.87"/>
</g>
<!-- ahriman_web_views_status -->
<g id="node165" class="node">
<title>ahriman_web_views_status</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c27347" stroke="black" cx="8775" cy="-874.19" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="8775" y="-888.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="8775" y="-877.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">web.</text>
<text text-anchor="middle" x="8775" y="-866.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">views.</text>
<text text-anchor="middle" x="8775" y="-855.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">status</text>
</g>
<!-- ahriman_web_views_status&#45;&gt;ahriman_web_routes -->
<g id="edge701" class="edge">
<title>ahriman_web_views_status&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8802.24,-847.87C8817.38,-832.96 8835.95,-813.23 8850,-793.64 8860.49,-779.02 8854.81,-768.95 8869,-757.87"/>
<path fill="none" stroke="black" d="M8869,-755.87C8987.63,-663.33 9467.9,-650.35 9624.42,-648.59"/>
<polygon fill="#c27347" stroke="black" points="9624.07,-652.09 9634.04,-648.49 9624,-645.09 9624.07,-652.09"/>
</g>
<!-- ahriman_web_views_status_logs&#45;&gt;ahriman_web_routes -->
<g id="edge702" class="edge">
<title>ahriman_web_views_status_logs&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9967.7,-852.06C10008.34,-825.27 10069.74,-779.93 10057,-757.87"/>
</g>
<!-- ahriman_web_views_status_package&#45;&gt;ahriman_web_routes -->
<g id="edge703" class="edge">
<title>ahriman_web_views_status_package&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9544.8,-843.33C9538.95,-838.25 9532.56,-833.41 9526,-829.64 9431.33,-775.21 9213.95,-835.26 9291,-757.87"/>
</g>
<!-- ahriman_web_views_status_packages&#45;&gt;ahriman_web_routes -->
<g id="edge704" class="edge">
<title>ahriman_web_views_status_packages&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9219.55,-839.16C9238.56,-815.53 9265.23,-783.75 9291,-757.87"/>
</g>
<!-- ahriman_web_views_status_status&#45;&gt;ahriman_web_routes -->
<g id="edge705" class="edge">
<title>ahriman_web_views_status_status&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10692.26,-863.73C10591.65,-838.67 10308.54,-769.14 10071,-720.1 9945.89,-694.28 9797.54,-668.82 9722.57,-656.32"/>
<polygon fill="#734126" stroke="black" points="9723.54,-652.93 9713.11,-654.75 9722.4,-659.84 9723.54,-652.93"/>
</g>
<!-- ahriman_web_views_user -->
<g id="node170" class="node">
<title>ahriman_web_views_user</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c27347" stroke="black" cx="8869" cy="-874.19" rx="38.37" ry="36.54"/>
<text text-anchor="middle" x="8869" y="-888.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ahriman.</text>
<text text-anchor="middle" x="8869" y="-877.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">web.</text>
<text text-anchor="middle" x="8869" y="-866.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">views.</text>
<text text-anchor="middle" x="8869" y="-855.19" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">user</text>
</g>
<!-- ahriman_web_views_user&#45;&gt;ahriman_web_routes -->
<g id="edge706" class="edge">
<title>ahriman_web_views_user&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8856.67,-839.21C8849.34,-812.28 8845.48,-776.22 8869,-757.87"/>
</g>
<!-- ahriman_web_views_user_login&#45;&gt;ahriman_web_routes -->
<g id="edge707" class="edge">
<title>ahriman_web_views_user_login&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10310.8,-843.33C10304.95,-838.25 10298.56,-833.41 10292,-829.64 10197.33,-775.21 10111.62,-852.44 10057,-757.87"/>
</g>
<!-- ahriman_web_views_user_logout&#45;&gt;ahriman_web_routes -->
<g id="edge708" class="edge">
<title>ahriman_web_views_user_logout&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9086.84,-845.44C9093.8,-839.76 9101.41,-834.16 9109,-829.64 9183.74,-785.21 9229.65,-819.49 9291,-757.87"/>
</g>
<!-- ahriman_web_web&#45;&gt;ahriman_application_handlers_web -->
<g id="edge709" class="edge">
<title>ahriman_web_web&#45;&gt;ahriman_application_handlers_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10507.82,-517.13C10502.21,-494.69 10499.15,-463.69 10517,-444.81"/>
</g>
<!-- aioauthclient -->
<g id="node174" class="node">
<title>aioauthclient</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#b69953" stroke="black" points="10679.5,-2386.85 10676.5,-2390.85 10655.5,-2390.85 10652.5,-2386.85 10608.5,-2386.85 10608.5,-2350.85 10679.5,-2350.85 10679.5,-2386.85"/>
<text text-anchor="middle" x="10644" y="-2366.35" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">aioauthclient</text>
</g>
<!-- aioauthclient&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge710" class="edge">
<title>aioauthclient&#45;&gt;ahriman_core_auth_oauth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10658.72,-2350.63C10669.45,-2336.88 10683.11,-2316.57 10689,-2296.08 10698.03,-2264.67 10693.08,-2254.97 10689,-2222.54 10678.25,-2136.99 10677.61,-2112.64 10641,-2034.57 10635.34,-2022.51 10627.56,-2010.39 10619.74,-1999.63"/>
<polygon fill="#b69953" stroke="black" points="10622.63,-1997.66 10613.82,-1991.78 10617.04,-2001.87 10622.63,-1997.66"/>
</g>
<!-- aiohttp -->
<g id="node175" class="node">
<title>aiohttp</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#ebf906" stroke="black" points="9117,-1549.43 9114,-1553.43 9093,-1553.43 9090,-1549.43 9063,-1549.43 9063,-1513.43 9117,-1513.43 9117,-1549.43"/>
<text text-anchor="middle" x="9090" y="-1528.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">aiohttp</text>
</g>
<!-- aiohttp&#45;&gt;ahriman_core_log_filtered_access_logger -->
<g id="edge711" class="edge">
<title>aiohttp&#45;&gt;ahriman_core_log_filtered_access_logger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7538,-1100.05C7533.44,-1080.63 7532.68,-1058.69 7533.35,-1039.72"/>
<polygon fill="#ebf906" stroke="black" points="7536.84,-1040.01 7533.85,-1029.85 7529.85,-1039.66 7536.84,-1040.01"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_middlewares -->
<g id="edge712" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_middlewares</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9062.53,-1529.49C8864.58,-1522.45 7660.9,-1474.97 7557,-1356.9 7481.97,-1271.63 7563.99,-1212.62 7538,-1102.05"/>
<path fill="none" stroke="black" d="M7538,-1100.05C7527.21,-1050.04 7470.2,-1074.37 7448,-1028.28 7433.82,-998.83 7434.6,-984.55 7448,-954.74 7509.71,-817.4 7666.79,-716.56 7745.92,-672.66"/>
<polygon fill="#ebf906" stroke="black" points="7747.22,-675.94 7754.31,-668.06 7743.85,-669.8 7747.22,-675.94"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge713" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9117.3,-1530.22C9319.66,-1528.11 10585.81,-1504.68 10841,-1247.36 10927.43,-1160.21 10917.74,-1000.69 10906.43,-921.84"/>
<polygon fill="#ebf906" stroke="black" points="10909.94,-921.67 10904.99,-912.31 10903.02,-922.72 10909.94,-921.67"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_middlewares_exception_handler -->
<g id="edge714" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_middlewares_exception_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8879,-1428.67C8764.65,-1382.52 8728.38,-1394.68 8611,-1356.9 8348.7,-1272.47 8273.77,-1268.18 8031,-1137.82 7907.21,-1071.34 7812.92,-1009.25 7855,-875.19"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_routes -->
<g id="edge715" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8879,-1428.67C8767.81,-1383.5 8538.34,-1042.7 8620,-954.74 8693.38,-875.7 9016.28,-981.49 9104,-918.74 9139.01,-893.69 9109.47,-857.84 9142,-829.64 9188.92,-788.97 9230.69,-835.02 9277,-793.64 9289.73,-782.27 9278.95,-769.97 9291,-757.87"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_base -->
<g id="edge716" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9107,-1428.67C9210.51,-1232.45 9437.13,-1076.38 9530.99,-1017.67"/>
<polygon fill="#ebf906" stroke="black" points="9532.77,-1020.69 9539.43,-1012.44 9529.08,-1014.74 9532.77,-1020.69"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_add -->
<g id="edge717" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_service_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8841,-1209.59C8827.43,-1152.9 8856.95,-990.46 8903,-954.74 8979.64,-895.29 9249.23,-957.84 9338,-918.74 9341.62,-917.14 9345.14,-915.15 9348.53,-912.9"/>
<polygon fill="#ebf906" stroke="black" points="9350.58,-915.74 9356.44,-906.91 9346.35,-910.16 9350.58,-915.74"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_pgp -->
<g id="edge718" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_service_pgp</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9107,-1428.67C9113.09,-1416.87 9826.43,-1007.37 10012.84,-900.49"/>
<polygon fill="#ebf906" stroke="black" points="10014.34,-903.67 10021.28,-895.66 10010.86,-897.6 10014.34,-903.67"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_rebuild -->
<g id="edge719" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_service_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8879,-1428.67C8828.69,-1407.79 9166.45,-1100.65 9207,-1064.28 9268.99,-1008.68 9281.15,-984.29 9359,-954.74 9507.27,-898.46 9561.7,-962.96 9714,-918.74 9728.61,-914.5 9743.7,-907.85 9757.13,-901.02"/>
<polygon fill="#ebf906" stroke="black" points="9758.49,-904.26 9765.71,-896.5 9755.23,-898.07 9758.49,-904.26"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_remove -->
<g id="edge720" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_service_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8879,-1319.13C8872.6,-1268.84 8857.61,-1259.48 8841,-1211.59"/>
<path fill="none" stroke="black" d="M8841,-1209.59C8803.71,-1102.1 8775.53,-1025.01 8865,-954.74 8931.53,-902.48 9166.79,-953.31 9244,-918.74 9247.61,-917.12 9251.13,-915.11 9254.5,-912.85"/>
<polygon fill="#ebf906" stroke="black" points="9256.56,-915.68 9262.41,-906.85 9252.33,-910.11 9256.56,-915.68"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_request -->
<g id="edge721" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_service_request</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8879,-1319.13C8872.6,-1268.84 8904.32,-1260.67 8917,-1211.59"/>
<path fill="none" stroke="black" d="M8917,-1209.59C8929.68,-1160.51 8874.89,-1152.57 8879,-1102.05"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_search -->
<g id="edge722" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8993,-1100.05C9020.89,-973.81 9120.18,-988.42 9245,-954.74 9406.65,-911.13 9467.22,-987.24 9620,-918.74 9623.61,-917.12 9627.13,-915.11 9630.5,-912.85"/>
<polygon fill="#ebf906" stroke="black" points="9632.56,-915.68 9638.41,-906.84 9628.33,-910.1 9632.56,-915.68"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_update -->
<g id="edge723" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_service_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9112.09,-1513.11C9151.54,-1483.18 9237.79,-1422.18 9321,-1392.9 9429.38,-1354.76 9472.36,-1404.36 9577,-1356.9 9826.14,-1243.88 9820.76,-1114.27 10043,-954.74 10068.57,-936.38 10078.75,-937.54 10104,-918.74 10107.13,-916.41 10110.28,-913.9 10113.39,-911.31"/>
<polygon fill="#ebf906" stroke="black" points="10115.59,-914.03 10120.86,-904.83 10111.01,-908.74 10115.59,-914.03"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge724" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9090.06,-1512.94C9090.76,-1492.29 9094.01,-1457.37 9107,-1430.67"/>
<path fill="none" stroke="black" d="M9107,-1428.67C9136.35,-1368.32 9116.45,-1342.58 9148,-1283.36 9252.66,-1086.88 9317.22,-1031.99 9526,-954.74 9661.05,-904.77 9710.01,-959.92 9848,-918.74 9862.17,-914.51 9876.81,-908.01 9889.9,-901.31"/>
<polygon fill="#ebf906" stroke="black" points="9891.5,-904.43 9898.69,-896.65 9888.22,-898.24 9891.5,-904.43"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_status_package -->
<g id="edge725" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8917,-1209.59C8931.64,-1152.92 8980.38,-1159.2 8993,-1102.05"/>
<path fill="none" stroke="black" d="M8993,-1100.05C9003.93,-1050.55 8927.31,-1034.97 8955,-992.51"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_status_packages -->
<g id="edge726" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_status_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8879,-1428.67C8834.85,-1410.35 8889.27,-1367.8 8879,-1321.13"/>
<path fill="none" stroke="black" d="M8879,-1319.13C8869.96,-1278.07 8651.3,-1067.81 8637,-1028.28 8625.89,-997.54 8614.73,-978.67 8637,-954.74 8674.94,-913.96 9085,-938.69 9137,-918.74 9142.33,-916.7 9147.56,-913.97 9152.55,-910.87"/>
<polygon fill="#ebf906" stroke="black" points="9154.3,-913.91 9160.59,-905.38 9150.35,-908.13 9154.3,-913.91"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_status_status -->
<g id="edge727" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9335,-1428.67C9585.74,-1357.56 9659.65,-1398.08 9917,-1356.9 10083.85,-1330.2 10123.72,-1313.41 10290,-1283.36 10387.07,-1265.81 10427.53,-1302.97 10509,-1247.36 10539.5,-1226.54 10653.48,-1018.23 10704.74,-922.66"/>
<polygon fill="#ebf906" stroke="black" points="10707.74,-924.48 10709.38,-914.01 10701.57,-921.17 10707.74,-924.48"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_user_login -->
<g id="edge728" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9117.2,-1521.5C9151.77,-1509.91 9213.07,-1488.54 9264,-1466.43 9296.41,-1452.37 9300.97,-1440.16 9335,-1430.67"/>
<path fill="none" stroke="black" d="M9335,-1428.67C9505.67,-1381.04 9943.59,-1308.41 10119,-1283.36 10197.93,-1272.08 10409.81,-1291.82 10476,-1247.36 10490.94,-1237.32 10485.87,-1227.1 10495,-1211.59"/>
<path fill="none" stroke="black" d="M10495,-1209.59C10520.52,-1168.65 10523.42,-1031.49 10495,-992.51"/>
<path fill="none" stroke="black" d="M10495,-990.51C10464.54,-951.87 10418.05,-919.78 10383.74,-899.35"/>
<polygon fill="#ebf906" stroke="black" points="10385.67,-896.42 10375.27,-894.4 10382.14,-902.47 10385.67,-896.42"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge729" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8879,-1428.67C8804.63,-1398.17 8781.56,-1398.85 8713,-1356.9 8626.48,-1303.95 8612.73,-1279.08 8537,-1211.59"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_web -->
<g id="edge730" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9062.6,-1529.86C8878.58,-1525.97 7825.65,-1502.25 7688,-1466.43 7565.39,-1434.54 7156.95,-1336.52 7178,-1211.59"/>
</g>
<!-- aiohttpjinja2 -->
<g id="node177" class="node">
<title>aiohttpjinja2</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#50bc2f" stroke="black" points="7634,-1338.13 7631,-1342.13 7610,-1342.13 7607,-1338.13 7566,-1338.13 7566,-1302.13 7634,-1302.13 7634,-1338.13"/>
<text text-anchor="middle" x="7600" y="-1317.63" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">aiohttpjinja2</text>
</g>
<!-- aiohttp&#45;&gt;aiohttpjinja2 -->
<g id="edge731" class="edge">
<title>aiohttp&#45;&gt;aiohttpjinja2</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9062.76,-1516.42C9022.96,-1496.21 8946.29,-1458.26 8879,-1430.67"/>
<path fill="none" stroke="black" d="M8879,-1428.67C8671.23,-1343.46 8094.42,-1379.57 7871,-1356.9 7791.38,-1348.81 7699.07,-1335.86 7645.33,-1327.96"/>
<polygon fill="#ebf906" stroke="black" points="7646.05,-1324.53 7635.64,-1326.53 7645.02,-1331.45 7646.05,-1324.53"/>
</g>
<!-- aiohttpsession -->
<g id="node179" class="node">
<title>aiohttpsession</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#3db877" stroke="black" points="11158,-1338.13 11155,-1342.13 11134,-1342.13 11131,-1338.13 11078,-1338.13 11078,-1302.13 11158,-1302.13 11158,-1338.13"/>
<text text-anchor="middle" x="11118" y="-1317.63" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">aiohttpsession</text>
</g>
<!-- aiohttp&#45;&gt;aiohttpsession -->
<g id="edge732" class="edge">
<title>aiohttp&#45;&gt;aiohttpsession</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9117.39,-1530C9341.02,-1526.49 10860.84,-1501.4 10950,-1466.43 11013.6,-1441.49 11069.64,-1381.48 11098.11,-1346.88"/>
<polygon fill="#ebf906" stroke="black" points="11100.57,-1349.42 11104.12,-1339.44 11095.12,-1345.02 11100.57,-1349.42"/>
</g>
<!-- aiohttpdebugtoolbar -->
<g id="node176" class="node">
<title>aiohttpdebugtoolbar</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#8db653" stroke="black" points="7826.5,-892.19 7823.5,-896.19 7802.5,-896.19 7799.5,-892.19 7725.5,-892.19 7725.5,-856.19 7826.5,-856.19 7826.5,-892.19"/>
<text text-anchor="middle" x="7776" y="-871.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">aiohttpdebugtoolbar</text>
</g>
<!-- aiohttpdebugtoolbar&#45;&gt;ahriman_web_web -->
<g id="edge733" class="edge">
<title>aiohttpdebugtoolbar&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7770.97,-855.81C7765.14,-831.98 7758.4,-788.63 7776,-757.87"/>
</g>
<!-- aiohttpjinja2&#45;&gt;ahriman_web_middlewares_exception_handler -->
<g id="edge734" class="edge">
<title>aiohttpjinja2&#45;&gt;ahriman_web_middlewares_exception_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7624,-1100.05C7630.55,-1082.06 7633.99,-1077.32 7648,-1064.28 7671.61,-1042.31 7687.53,-1050.4 7711,-1028.28 7739.4,-1001.51 7729.53,-980.33 7759,-954.74 7787.53,-929.97 7809.64,-945.8 7836,-918.74 7850.74,-903.62 7848.68,-895.34 7855,-875.19"/>
<path fill="none" stroke="black" d="M7855,-873.19C7861.84,-851.39 7865.76,-826.35 7868.01,-805.19"/>
<polygon fill="#50bc2f" stroke="black" points="7871.48,-805.67 7868.94,-795.38 7864.51,-805 7871.48,-805.67"/>
</g>
<!-- aiohttpjinja2&#45;&gt;ahriman_web_views_index -->
<g id="edge735" class="edge">
<title>aiohttpjinja2&#45;&gt;ahriman_web_views_index</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7634.13,-1313.75C7685.41,-1305.86 7785.47,-1291.25 7871,-1283.36 8172.36,-1255.53 8250.42,-1282.67 8551,-1247.36 9088.14,-1184.25 9219.03,-1140.97 9748,-1028.28 9949.32,-985.39 10016.68,-1016.16 10198,-918.74 10202.77,-916.18 10207.43,-913.01 10211.84,-909.57"/>
<polygon fill="#50bc2f" stroke="black" points="10214,-912.33 10219.36,-903.19 10209.47,-906.99 10214,-912.33"/>
</g>
<!-- aiohttpjinja2&#45;&gt;ahriman_web_web -->
<g id="edge736" class="edge">
<title>aiohttpjinja2&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7599.19,-1301.89C7598,-1264.33 7598.24,-1172.77 7624,-1102.05"/>
<path fill="none" stroke="black" d="M7624,-1100.05C7632.3,-1082.8 7637.27,-1080.13 7648,-1064.28 7669.65,-1032.29 7692.18,-1030.83 7697,-992.51"/>
<path fill="none" stroke="black" d="M7697,-990.51C7703.4,-939.66 7668.31,-917.66 7697,-875.19"/>
</g>
<!-- aiohttpsecurity -->
<g id="node178" class="node">
<title>aiohttpsecurity</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#47c256" stroke="black" points="10616,-1651.19 10613,-1655.19 10592,-1655.19 10589,-1651.19 10536,-1651.19 10536,-1615.19 10616,-1615.19 10616,-1651.19"/>
<text text-anchor="middle" x="10576" y="-1630.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">aiohttpsecurity</text>
</g>
<!-- aiohttpsecurity&#45;&gt;ahriman_core_auth_helpers -->
<g id="edge737" class="edge">
<title>aiohttpsecurity&#45;&gt;ahriman_core_auth_helpers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10569.96,-1614.91C10548.68,-1554.01 10476.68,-1348.02 10444.62,-1256.29"/>
<polygon fill="#47c256" stroke="black" points="10448.02,-1255.4 10441.42,-1247.11 10441.41,-1257.71 10448.02,-1255.4"/>
</g>
<!-- aiohttpsecurity&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge738" class="edge">
<title>aiohttpsecurity&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10606.99,-1614.85C10694.27,-1566.03 10935.83,-1430.9 10936,-1430.67"/>
<path fill="none" stroke="black" d="M10936,-1428.67C10944.94,-1414.12 10943.23,-1408.57 10950,-1392.9 11006.78,-1261.56 11065.09,-1243.28 11088,-1102.05"/>
<path fill="none" stroke="black" d="M11088,-1100.05C11092.74,-1034.76 11105.89,-1005.04 11064,-954.74 11033.77,-918.44 11006.23,-939.9 10964,-918.74 10957.16,-915.31 10950.16,-911.31 10943.41,-907.15"/>
<polygon fill="#47c256" stroke="black" points="10945.32,-904.22 10935,-901.8 10941.56,-910.12 10945.32,-904.22"/>
</g>
<!-- aiohttpsession&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge739" class="edge">
<title>aiohttpsession&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11111.97,-1301.63C11100.02,-1264.66 11075.54,-1175.96 11088,-1102.05"/>
</g>
<!-- boto3 -->
<g id="node180" class="node">
<title>boto3</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#40c0a9" stroke="black" points="6592,-2950.1 6589,-2954.1 6568,-2954.1 6565,-2950.1 6538,-2950.1 6538,-2914.1 6592,-2914.1 6592,-2950.1"/>
<text text-anchor="middle" x="6565" y="-2929.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">boto3</text>
</g>
<!-- boto3&#45;&gt;ahriman_core_upload_s3 -->
<g id="edge740" class="edge">
<title>boto3&#45;&gt;ahriman_core_upload_s3</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6562.05,-2913.91C6559,-2892.31 6555.86,-2854.35 6565,-2823.56"/>
</g>
<!-- cryptography -->
<g id="node181" class="node">
<title>cryptography</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#19c2e6" stroke="black" points="13169,-4898.04 13166,-4902.04 13145,-4902.04 13142,-4898.04 13095,-4898.04 13095,-4862.04 13169,-4862.04 13169,-4898.04"/>
<text text-anchor="middle" x="13132" y="-4877.54" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">cryptography</text>
</g>
<!-- cryptography&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge741" class="edge">
<title>cryptography&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13169.46,-4872.65C13272.06,-4854.12 13550,-4796.42 13550,-4715.05 13550,-4715.05 13550,-4715.05 13550,-4294.11 13550,-4028.9 13253.35,-4145.78 13011,-4038.04 13007.29,-4036.39 12473.6,-3817.19 12471,-3814.07 12457.75,-3798.13 12432,-3602.74 12432,-3598.11 12432,-3598.11 12432,-3598.11 12432,-3486.57 12432,-3212.4 12347.32,-3153.85 12256,-2895.33 12194.72,-2721.85 12149.96,-2691.2 12060,-2530.71 11902.19,-2249.17 11862.54,-2178.61 11720,-1889.03 11589.36,-1623.62 11573.65,-1549.25 11444,-1283.36 11364.62,-1120.56 11363.36,-1038.93 11203,-954.74 11124.95,-913.77 11024.37,-892.86 10960.51,-882.99"/>
<polygon fill="#19c2e6" stroke="black" points="10961.32,-879.57 10950.92,-881.56 10960.29,-886.5 10961.32,-879.57"/>
</g>
<!-- cryptography&#45;&gt;aiohttpsession -->
<g id="edge742" class="edge">
<title>cryptography&#45;&gt;aiohttpsession</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13132,-4861.8C13132,-4831.92 13132,-4768.58 13132,-4715.05 13132,-4715.05 13132,-4715.05 13132,-4257.11 13132,-4016.39 12899.5,-4062.62 12690,-3944.05 12580.32,-3881.98 12520.28,-3909.53 12438,-3814.07 12351.58,-3713.8 12377.43,-3659.67 12342,-3532.12 12251.15,-3205.08 12336.62,-3086.92 12180,-2785.79 12161.86,-2750.91 12084.72,-2686.38 12060,-2655.81 11853.21,-2400.12 11248.1,-1512.49 11135.98,-1347.6"/>
<polygon fill="#19c2e6" stroke="black" points="11138.96,-1345.76 11130.45,-1339.45 11133.18,-1349.69 11138.96,-1345.76"/>
</g>
<!-- requests -->
<g id="node188" class="node">
<title>requests</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#ef06aa" stroke="black" points="6823,-4815.04 6820,-4819.04 6799,-4819.04 6796,-4815.04 6769,-4815.04 6769,-4779.04 6823,-4779.04 6823,-4815.04"/>
<text text-anchor="middle" x="6796" y="-4794.54" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">requests</text>
</g>
<!-- cryptography&#45;&gt;requests -->
<g id="edge743" class="edge">
<title>cryptography&#45;&gt;requests</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13094.63,-4879.02C12725.73,-4878.74 9697.92,-4874.68 7246,-4815.04 7093.6,-4811.34 6912.29,-4803.42 6834.53,-4799.85"/>
<polygon fill="#19c2e6" stroke="black" points="6835.05,-4796.37 6824.9,-4799.41 6834.73,-4803.36 6835.05,-4796.37"/>
</g>
<!-- inflection -->
<g id="node182" class="node">
<title>inflection</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#5382b6" stroke="black" points="8866,-4649.06 8863,-4653.06 8842,-4653.06 8839,-4649.06 8810,-4649.06 8810,-4613.06 8866,-4613.06 8866,-4649.06"/>
<text text-anchor="middle" x="8838" y="-4628.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">inflection</text>
</g>
<!-- inflection&#45;&gt;ahriman_models_aur_package -->
<g id="edge744" class="edge">
<title>inflection&#45;&gt;ahriman_models_aur_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8828.5,-4612.68C8810.64,-4577.42 8777.52,-4497.25 8820,-4455.09"/>
</g>
<!-- jinja2 -->
<g id="node183" class="node">
<title>jinja2</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#3b4cce" stroke="black" points="7120,-2840.56 7117,-2844.56 7096,-2844.56 7093,-2840.56 7066,-2840.56 7066,-2804.56 7120,-2804.56 7120,-2840.56"/>
<text text-anchor="middle" x="7093" y="-2820.06" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">jinja2</text>
</g>
<!-- jinja2&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge745" class="edge">
<title>jinja2&#45;&gt;ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7065.64,-2818.64C6889.87,-2799.8 5925.14,-2694.81 5877,-2655.81 5797.8,-2591.64 5872.28,-2508.08 5795,-2441.62 5756.18,-2408.23 5616.18,-2386.87 5532.15,-2376.75"/>
<polygon fill="#3b4cce" stroke="black" points="5532.77,-2373.3 5522.43,-2375.6 5531.95,-2380.25 5532.77,-2373.3"/>
</g>
<!-- jinja2&#45;&gt;ahriman_web_web -->
<g id="edge746" class="edge">
<title>jinja2&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7097.65,-2804.32C7101.29,-2789.87 7106.05,-2768.66 7108,-2749.79 7130.38,-2533.31 7097.49,-2477.92 7094,-2260.31"/>
<path fill="none" stroke="black" d="M7094,-2258.31C7010.74,-1850.17 6913.26,-1692.46 7102,-1321.13"/>
<path fill="none" stroke="black" d="M7102,-1319.13C7125.51,-1265.53 7180.53,-1270.06 7178,-1211.59"/>
<path fill="none" stroke="black" d="M7178,-1209.59C7162.55,-852.65 3899.89,-1223.37 3980,-875.19"/>
</g>
<!-- jinja2&#45;&gt;aiohttpjinja2 -->
<g id="edge747" class="edge">
<title>jinja2&#45;&gt;aiohttpjinja2</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7094,-2258.31C7089.3,-1857.73 7060.02,-1673.43 7346,-1392.9 7402.35,-1337.62 7497.86,-1324.24 7554.32,-1321.4"/>
<polygon fill="#3b4cce" stroke="black" points="7554.39,-1324.9 7564.24,-1321 7554.11,-1317.9 7554.39,-1324.9"/>
</g>
<!-- main -->
<g id="node184" class="node">
<title>main</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#6b2e2e" stroke="black" points="12534,-3803.08 12531,-3807.08 12510,-3807.08 12507,-3803.08 12480,-3803.08 12480,-3767.08 12534,-3767.08 12534,-3803.08"/>
<text text-anchor="middle" x="12507" y="-3782.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">main</text>
</g>
<!-- pkgresources -->
<g id="node186" class="node">
<title>pkgresources</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#8731c4" stroke="black" points="12534,-3709.1 12531,-3713.1 12510,-3713.1 12507,-3709.1 12460,-3709.1 12460,-3673.1 12534,-3673.1 12534,-3709.1"/>
<text text-anchor="middle" x="12497" y="-3688.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pkgresources</text>
</g>
<!-- main&#45;&gt;pkgresources -->
<g id="edge748" class="edge">
<title>main&#45;&gt;pkgresources</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12505.12,-3766.78C12503.71,-3753.8 12501.75,-3735.75 12500.1,-3720.65"/>
<polygon fill="#6b2e2e" stroke="black" points="12503.6,-3720.39 12499.04,-3710.82 12496.64,-3721.14 12503.6,-3720.39"/>
</g>
<!-- passlib -->
<g id="node185" class="node">
<title>passlib</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#5e3bce" stroke="black" points="11821,-3505.57 11818,-3509.57 11797,-3509.57 11794,-3505.57 11767,-3505.57 11767,-3469.57 11821,-3469.57 11821,-3505.57"/>
<text text-anchor="middle" x="11794" y="-3485.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">passlib</text>
</g>
<!-- passlib&#45;&gt;ahriman_models_user -->
<g id="edge749" class="edge">
<title>passlib&#45;&gt;ahriman_models_user</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11766.73,-3475.38C11645.4,-3425.61 11154.09,-3224.03 11003.86,-3162.39"/>
<polygon fill="#5e3bce" stroke="black" points="11005.21,-3159.17 10994.63,-3158.61 11002.55,-3165.64 11005.21,-3159.17"/>
</g>
<!-- pkgresources&#45;&gt;ahriman_application_handlers_versions -->
<g id="edge750" class="edge">
<title>pkgresources&#45;&gt;ahriman_application_handlers_versions</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12523.89,-3672.72C12612.24,-3616.16 12902.58,-3434.25 13160,-3317.93 13338.12,-3237.45 13390.98,-3238.28 13575,-3172.39 13823.14,-3083.55 13895.99,-3086.2 14132,-2968.87 14270.48,-2900.03 14448.68,-2858.83 14377,-2721.8"/>
<path fill="none" stroke="black" d="M14377,-2719.8C14350.55,-2667.59 14316.79,-2668.62 14301,-2612.26"/>
</g>
<!-- pkgresources&#45;&gt;passlib -->
<g id="edge751" class="edge">
<title>pkgresources&#45;&gt;passlib</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12459.7,-3679.4C12338.29,-3644.6 11955.18,-3534.78 11832.32,-3499.56"/>
<polygon fill="#8731c4" stroke="black" points="11833.29,-3496.2 11822.72,-3496.81 11831.36,-3502.93 11833.29,-3496.2"/>
</g>
<!-- pyalpm -->
<g id="node187" class="node">
<title>pyalpm</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#d12fdb" stroke="black" points="7808,-4649.06 7805,-4653.06 7784,-4653.06 7781,-4649.06 7754,-4649.06 7754,-4613.06 7808,-4613.06 7808,-4649.06"/>
<text text-anchor="middle" x="7781" y="-4628.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pyalpm</text>
</g>
<!-- pyalpm&#45;&gt;ahriman_core_alpm_pacman -->
<g id="edge752" class="edge">
<title>pyalpm&#45;&gt;ahriman_core_alpm_pacman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7781,-4547.07C7770.8,-4418.49 7754,-4387.1 7754,-4258.11 7754,-4258.11 7754,-4258.11 7754,-4175.57 7754,-3918.92 7754,-3854.76 7754,-3598.11 7754,-3598.11 7754,-3598.11 7754,-3486.57 7754,-3207.75 7746.69,-3138.12 7742,-2859.33 7741.87,-2851.69 7741.85,-2729.21 7740,-2721.8"/>
<path fill="none" stroke="black" d="M7740,-2719.8C7733.54,-2698.82 7725.54,-2675.85 7718.56,-2656.54"/>
<polygon fill="#d12fdb" stroke="black" points="7721.92,-2655.55 7715.21,-2647.35 7715.35,-2657.95 7721.92,-2655.55"/>
</g>
<!-- pyalpm&#45;&gt;ahriman_models_aur_package -->
<g id="edge753" class="edge">
<title>pyalpm&#45;&gt;ahriman_models_aur_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7808.21,-4624.46C7894.86,-4606.79 8172.24,-4551.46 8404,-4519.08 8560.62,-4497.2 8605.28,-4524.15 8758,-4483.08 8787.2,-4475.23 8798.42,-4476.26 8820,-4455.09"/>
<path fill="none" stroke="black" d="M8820,-4453.09C8835.41,-4439.26 8845.33,-4418.54 8851.55,-4400.27"/>
<polygon fill="#d12fdb" stroke="black" points="8854.89,-4401.32 8854.51,-4390.73 8848.21,-4399.24 8854.89,-4401.32"/>
</g>
<!-- pyalpm&#45;&gt;ahriman_models_package -->
<g id="edge754" class="edge">
<title>pyalpm&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7759,-4612.72C7703.83,-4567.12 7564,-4437.5 7564,-4295.11 7564,-4295.11 7564,-4295.11 7564,-4257.11 7564,-4200.88 7587.06,-4169.35 7545,-4132.02 7450.97,-4048.55 6524.15,-4156.64 6414,-4096.02 6400.83,-4088.77 6407.75,-4076 6395,-4068.03"/>
<path fill="none" stroke="black" d="M6395,-4066.03C6384.9,-4059.71 6348.78,-3982.09 6340,-3974.04"/>
</g>
<!-- pyalpm&#45;&gt;ahriman_models_package_description -->
<g id="edge755" class="edge">
<title>pyalpm&#45;&gt;ahriman_models_package_description</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7783.46,-4612.69C7785.23,-4596.07 7786.48,-4570.46 7781,-4549.07"/>
<path fill="none" stroke="black" d="M7781,-4547.07C7755.53,-4447.6 7657.45,-4197.05 7578,-4132.02 7542.65,-4103.09 6908.71,-3950.06 6689.13,-3897.67"/>
<polygon fill="#d12fdb" stroke="black" points="6690.07,-3894.29 6679.53,-3895.38 6688.45,-3901.1 6690.07,-3894.29"/>
</g>
<!-- requests&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge756" class="edge">
<title>requests&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6768.54,-4786.89C6757.88,-4783.77 6745.49,-4780.66 6734,-4779.04 6382.42,-4729.7 3893,-4769.99 3539,-4743.04 3333.56,-4727.41 1903.24,-4531.58 1703,-4483.08 1407.11,-4411.41 1316.54,-4415.6 1056,-4258.11 808.96,-4108.78 714.29,-4070.64 582,-3814.07 495.15,-3645.62 480.7,-3157.97 468,-2968.87 456,-2790.07 460.81,-2742.22 497,-2566.71 514.51,-2481.77 673.05,-1894.42 709,-1815.5 724.81,-1780.8 741.37,-1778.94 756,-1743.73"/>
<path fill="none" stroke="black" d="M756,-1741.73C793.81,-1642.36 968.94,-1426.37 984,-1321.13"/>
<path fill="none" stroke="black" d="M984,-1319.13C982.97,-1257.29 1008.64,-1189.88 1028.73,-1146.86"/>
<polygon fill="#ef06aa" stroke="black" points="1031.77,-1148.62 1032.92,-1138.09 1025.45,-1145.61 1031.77,-1148.62"/>
</g>
<!-- requests&#45;&gt;ahriman_core_alpm_remote_aur -->
<g id="edge757" class="edge">
<title>requests&#45;&gt;ahriman_core_alpm_remote_aur</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7109,-4547.07C7183.1,-4381.95 7368.82,-4254.61 7454.02,-4202.83"/>
<polygon fill="#ef06aa" stroke="black" points="7455.6,-4205.97 7462.36,-4197.82 7451.99,-4199.97 7455.6,-4205.97"/>
</g>
<!-- requests&#45;&gt;ahriman_core_alpm_remote_official -->
<g id="edge758" class="edge">
<title>requests&#45;&gt;ahriman_core_alpm_remote_official</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6823.39,-4794.83C6893.6,-4791.75 7085.79,-4783.56 7246,-4779.04 7341.48,-4776.35 10620.11,-4786.06 10684,-4715.05"/>
<path fill="none" stroke="black" d="M10684,-4713.05C10774.61,-4612.34 10668.73,-4530.81 10584,-4425.1 10559.16,-4394.11 10468.24,-4347.36 10432,-4331.11 10275.45,-4260.94 10216.52,-4295.65 10062,-4221.11 9974.58,-4178.94 9956.76,-4159.11 9883,-4096.02 9618.83,-3870.07 9567.85,-3795.52 9341,-3532.12 9262.58,-3441.07 9258.92,-3404.9 9176,-3317.93 9062.53,-3198.91 8995.33,-3207.92 8894,-3078.41 8764.76,-2913.23 8762.98,-2850.1 8684,-2655.81 8676.34,-2636.98 8682.62,-2628.2 8670,-2612.26"/>
</g>
<!-- requests&#45;&gt;ahriman_core_report_telegram -->
<g id="edge759" class="edge">
<title>requests&#45;&gt;ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6995,-4359.1C6963.34,-4289.2 7174,-3768.83 7174,-3692.1 7174,-3692.1 7174,-3692.1 7174,-3596.11 7174,-3422.53 7000.02,-3445.53 6942,-3281.93 6888.83,-3132.03 7034.29,-2711.75 6969,-2566.71 6886.28,-2382.95 6774.46,-2388.5 6581,-2332.08 6433.49,-2289.06 6251.7,-2270.51 6165.65,-2263.7"/>
<polygon fill="#ef06aa" stroke="black" points="6166.15,-2260.23 6155.91,-2262.95 6165.61,-2267.21 6166.15,-2260.23"/>
</g>
<!-- requests&#45;&gt;ahriman_core_sign_gpg -->
<g id="edge760" class="edge">
<title>requests&#45;&gt;ahriman_core_sign_gpg</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6768.51,-4787.07C6757.85,-4783.97 6745.47,-4780.83 6734,-4779.04 6052.97,-4672.79 4303.37,-4817.51 3635,-4649.06 3471.17,-4607.77 3382.67,-4626.27 3293,-4483.08 3198.58,-4332.3 3286.48,-4421.44 3559,-4132.02 3584.02,-4105.45 3987.89,-3682.72 4018,-3662.1 4105.73,-3602.03 4134.3,-3591.61 4238,-3568.12 4284.69,-3557.54 5065.86,-3566.67 5099,-3532.12 5126.41,-3503.54 5104.08,-3482.3 5099,-3443.03 5077.49,-3276.84 5024.51,-3244.6 5003,-3078.41 4998.8,-3046 4986.9,-3033.31 5003,-3004.87 5018.32,-2977.81 5047.68,-2995.93 5063,-2968.87 5079.1,-2940.43 5081.05,-2922.58 5063,-2895.33 5040.34,-2861.13 5004.41,-2890.73 4978,-2859.33 4937.6,-2811.31 4951.79,-2784.29 4946,-2721.8"/>
<path fill="none" stroke="black" d="M4946,-2719.8C4943.82,-2695.86 4953.5,-2671.07 4964.52,-2651.33"/>
<polygon fill="#ef06aa" stroke="black" points="4967.49,-2653.19 4969.58,-2642.8 4961.47,-2649.62 4967.49,-2653.19"/>
</g>
<!-- requests&#45;&gt;ahriman_core_status_web_client -->
<g id="edge761" class="edge">
<title>requests&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10684,-4713.05C10802.71,-4577.09 10686.38,-4444.57 10546,-4331.11 10241.4,-4084.93 9989.93,-4234.13 9773,-3908.05 9563.2,-3592.69 9645.07,-3451.2 9578,-3078.41 9566.41,-3013.99 9578.43,-2993.83 9554,-2933.1"/>
<path fill="none" stroke="black" d="M9554,-2931.1C9525.74,-2879.85 9489.77,-2880.89 9478,-2823.56"/>
</g>
<!-- requests&#45;&gt;ahriman_core_upload_github -->
<g id="edge762" class="edge">
<title>requests&#45;&gt;ahriman_core_upload_github</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6995,-4359.1C6914,-4193.27 7029.83,-4127.32 7008,-3944.05 6968.43,-3611.8 6816.39,-3541.5 6848,-3208.39 6851.53,-3171.16 6869.37,-3068.27 6924,-2823.56"/>
<path fill="none" stroke="black" d="M6924,-2821.56C6954.76,-2712.26 6996.82,-2666.15 6942,-2566.71 6934.01,-2552.21 6827.78,-2498.79 6816,-2487.17"/>
</g>
<!-- requests&#45;&gt;ahriman_core_upload_http_upload -->
<g id="edge763" class="edge">
<title>requests&#45;&gt;ahriman_core_upload_http_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6796,-4713.05C6766.86,-4558.73 7026.44,-4682.67 7109,-4549.07"/>
<path fill="none" stroke="black" d="M7109,-4547.07C7126.22,-4514.72 7076.97,-4513.81 7057,-4483.08 7023.86,-4432.09 7016.57,-4417.96 6995,-4361.1"/>
<path fill="none" stroke="black" d="M6995,-4359.1C6963.63,-4299.12 6881,-4325.8 6881,-4258.11 6881,-4258.11 6881,-4258.11 6881,-4175.57 6881,-4044.14 6870,-4011.49 6870,-3880.06 6870,-3880.06 6870,-3880.06 6870,-3596.11 6870,-3482.86 6794.99,-3472.96 6766,-3363.48"/>
</g>
<!-- requests&#45;&gt;ahriman_core_util -->
<g id="edge764" class="edge">
<title>requests&#45;&gt;ahriman_core_util</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6799.98,-4778.74C6803.01,-4761.72 6805.25,-4735.41 6796,-4715.05"/>
<path fill="none" stroke="black" d="M6796,-4713.05C6765.84,-4646.67 6693.92,-4597 6647.73,-4570.56"/>
<polygon fill="#ef06aa" stroke="black" points="6649.48,-4567.53 6639.04,-4565.7 6646.06,-4573.64 6649.48,-4567.53"/>
</g>
<!-- srcinfo -->
<g id="node189" class="node">
<title>srcinfo</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#b65376" stroke="black" points="6367,-4085.03 6364,-4089.03 6343,-4089.03 6340,-4085.03 6313,-4085.03 6313,-4049.03 6367,-4049.03 6367,-4085.03"/>
<text text-anchor="middle" x="6340" y="-4064.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">srcinfo</text>
</g>
<!-- srcinfo&#45;&gt;ahriman_models_package -->
<g id="edge765" class="edge">
<title>srcinfo&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6346.56,-4048.55C6353.17,-4027.55 6359.83,-3992.82 6340,-3974.04"/>
</g>
</g>
</svg>