ahriman/docs/ahriman-architecture.svg
2023-08-27 02:12:21 +03:00

8218 lines
839 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 8.1.0 (0)
-->
<!-- Title: G Pages: 1 -->
<svg width="18688pt" height="4853pt"
viewBox="0.00 0.00 18688.10 4853.33" 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 4849.33)">
<title>G</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="white" stroke="none" points="-4,4 -4,-4849.33 18684.1,-4849.33 18684.1,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="#6b2e2e" stroke="black" cx="3001" cy="-27.93" rx="46.32" ry="27.93"/>
<text text-anchor="middle" x="3001" y="-34.18" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3001" y="-23.68" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="3001" y="-13.18" 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="#db0505" stroke="black" cx="2330" cy="-851.92" rx="46.32" ry="27.93"/>
<text text-anchor="middle" x="2330" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2330" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="2330" y="-837.17" 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="#8a2e2e" stroke="black" cx="2671" cy="-631.07" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="2671" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2671" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="2671" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="2671" y="-611.07" 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="M2431,-736.78C2456.8,-718.7 2463.94,-714.59 2493,-702.43 2545.15,-680.6 2563.35,-689.41 2615,-666.43 2619.04,-664.63 2623.15,-662.58 2627.21,-660.41"/>
<polygon fill="#db0505" stroke="black" points="2628.53,-663.12 2635.52,-655.16 2625.09,-657.02 2628.53,-663.12"/>
</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="#993333" stroke="black" cx="1841" cy="-631.07" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="1841" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1841" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1841" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="1841" y="-611.07" 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="M2285.15,-844.07C2226.47,-833.97 2121.44,-811.96 2039,-773.14 1978.47,-744.63 1916.99,-697.35 1878.94,-665.46"/>
<polygon fill="#db0505" stroke="black" points="1881.61,-662.29 1871.72,-658.51 1877.09,-667.64 1881.61,-662.29"/>
</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="#993333" stroke="black" cx="1952" cy="-631.07" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="1952" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1952" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1952" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="1952" y="-611.07" 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="M2290.36,-837.17C2252.24,-823.26 2193.56,-800.01 2146,-773.14 2089.04,-740.95 2028.92,-695.14 1990.98,-664.55"/>
<polygon fill="#db0505" stroke="black" points="1993.73,-661.46 1983.76,-657.88 1989.32,-666.9 1993.73,-661.46"/>
</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="#732626" stroke="black" cx="5145" cy="-631.07" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="5145" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5145" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="5145" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="5145" y="-611.07" 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="M2376.52,-848.93C2518.36,-842.51 2957.75,-819.97 3319,-773.14 3493.7,-750.49 3533.99,-722.49 3709,-702.43 4242.34,-641.28 4893.09,-633.22 5087.53,-632.2"/>
<polygon fill="#db0505" stroke="black" points="5087.35,-635.7 5097.33,-632.15 5087.31,-628.7 5087.35,-635.7"/>
</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="#822b2b" stroke="black" cx="3685" cy="-631.07" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="3685" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3685" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="3685" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="3685" y="-611.07" 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="M2374.7,-843.7C2576.77,-811.06 3404.81,-677.32 3628.87,-641.14"/>
<polygon fill="#db0505" stroke="black" points="3629.39,-644.44 3638.7,-639.39 3628.27,-637.53 3629.39,-644.44"/>
</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="#993333" stroke="black" cx="2063" cy="-631.07" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="2063" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2063" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="2063" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="2063" y="-611.07" 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="M2302.93,-828.73C2255.61,-789.95 2157.68,-709.67 2102.68,-664.6"/>
<polygon fill="#db0505" stroke="black" points="2105.19,-661.31 2095.24,-657.68 2100.76,-666.72 2105.19,-661.31"/>
</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="#913030" stroke="black" cx="2872" cy="-631.07" rx="64.88" ry="35.36"/>
<text text-anchor="middle" x="2872" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2872" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="2872" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="2872" y="-611.07" 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="M2431,-736.78C2541.37,-659.41 2593.69,-692.17 2726,-666.43 2751.27,-661.51 2778.8,-655.27 2803.07,-649.45"/>
<polygon fill="#db0505" stroke="black" points="2803.72,-652.66 2812.62,-646.91 2802.07,-645.85 2803.72,-652.66"/>
</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="#732626" stroke="black" cx="2412" cy="-631.07" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="2412" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2412" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="2412" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="2412" y="-611.07" 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="M2320.78,-824.48C2313.66,-798.67 2308.4,-760.22 2331,-738.78"/>
</g>
<!-- ahriman_application_handlers_service_updates -->
<g id="node22" class="node">
<title>ahriman_application_handlers_service_updates</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#822b2b" stroke="black" cx="849" cy="-631.07" rx="62.23" ry="35.36"/>
<text text-anchor="middle" x="849" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="849" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="849" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="849" y="-611.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service_updates</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_service_updates -->
<g id="edge9" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_service_updates</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2283.47,-850.42C2090.15,-847.95 1350.09,-834.62 1126,-773.14 1040.82,-749.77 951.33,-698.62 897.86,-664.76"/>
<polygon fill="#db0505" stroke="black" points="899.94,-661.3 889.63,-658.86 896.17,-667.2 899.94,-661.3"/>
</g>
<!-- ahriman_application_handlers_setup -->
<g id="node23" class="node">
<title>ahriman_application_handlers_setup</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#822b2b" stroke="black" cx="5331" cy="-631.07" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="5331" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5331" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="5331" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="5331" y="-611.07" 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="edge10" 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="M2376.15,-848.07C2739.48,-825.68 5127.14,-678.21 5200,-666.43 5225.97,-662.23 5254.25,-655.14 5277.87,-648.49"/>
<polygon fill="#db0505" stroke="black" points="5278.73,-651.6 5287.37,-645.47 5276.8,-644.87 5278.73,-651.6"/>
</g>
<!-- ahriman_application_handlers_sign -->
<g id="node25" class="node">
<title>ahriman_application_handlers_sign</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="2174" cy="-631.07" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="2174" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2174" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="2174" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="2174" y="-611.07" 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="M2322.68,-824.12C2316.02,-801.07 2305.37,-767.16 2293,-738.78"/>
<path fill="none" stroke="black" d="M2293,-736.78C2284.91,-718.22 2246.79,-686.4 2215.85,-662.69"/>
<polygon fill="#db0505" stroke="black" points="2218.43,-659.49 2208.34,-656.24 2214.2,-665.07 2218.43,-659.49"/>
</g>
<!-- ahriman_application_handlers_status -->
<g id="node26" class="node">
<title>ahriman_application_handlers_status</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="976" cy="-631.07" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="976" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="976" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="976" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="976" y="-611.07" 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="M2283.31,-849.92C2090.25,-845.27 1354.38,-822.31 1140,-738.78"/>
</g>
<!-- ahriman_application_handlers_status_update -->
<g id="node27" class="node">
<title>ahriman_application_handlers_status_update</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a2e2e" stroke="black" cx="2293" cy="-631.07" rx="54.8" ry="35.36"/>
<text text-anchor="middle" x="2293" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2293" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="2293" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="2293" y="-611.07" 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="M2293,-736.78C2284.98,-718.39 2283.88,-696.4 2285.22,-677.33"/>
<polygon fill="#db0505" stroke="black" points="2288.78,-677.78 2286.25,-667.49 2281.82,-677.11 2288.78,-677.78"/>
</g>
<!-- ahriman_application_handlers_structure -->
<g id="node28" class="node">
<title>ahriman_application_handlers_structure</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a2e2e" stroke="black" cx="2560" cy="-631.07" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="2560" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2560" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="2560" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="2560" y="-611.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">structure</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_structure -->
<g id="edge14" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_structure</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2347.48,-825.59C2365.8,-800.63 2396.67,-762.84 2431,-738.78"/>
<path fill="none" stroke="black" d="M2431,-736.78C2462.73,-714.54 2496.67,-686.82 2521.77,-665.48"/>
<polygon fill="#db0505" stroke="black" points="2523.6,-667.67 2528.93,-658.51 2519.06,-662.34 2523.6,-667.67"/>
</g>
<!-- ahriman_application_handlers_triggers -->
<g id="node29" class="node">
<title>ahriman_application_handlers_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a2e2e" stroke="black" cx="3001" cy="-631.07" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="3001" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3001" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="3001" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="3001" y="-611.07" 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="edge15" 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="M2373.62,-842.08C2476.44,-820.34 2740.78,-759.23 2946,-666.43 2949.81,-664.7 2953.68,-662.75 2957.51,-660.68"/>
<polygon fill="#db0505" stroke="black" points="2958.92,-663.34 2965.87,-655.34 2955.45,-657.26 2958.92,-663.34"/>
</g>
<!-- ahriman_application_handlers_update -->
<g id="node31" class="node">
<title>ahriman_application_handlers_update</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a2e2e" stroke="black" cx="18326" cy="-631.07" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="18326" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="18326" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="18326" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="18326" y="-611.07" 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="edge16" 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="M2376.73,-850.81C3112.56,-849.11 12327.9,-826.86 15038,-773.14 15126.42,-771.38 18132.89,-681.69 18220,-666.43 18238.23,-663.23 18257.63,-657.63 18274.79,-651.86"/>
<polygon fill="#db0505" stroke="black" points="18275.85,-654.85 18284.15,-648.27 18273.55,-648.24 18275.85,-654.85"/>
</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="#732626" stroke="black" cx="1958" cy="-966.05" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="1958" y="-977.55" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1958" y="-967.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1958" y="-956.55" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1958" y="-946.05" 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="edge17" 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="M2002.74,-955.76C2057.49,-943.88 2152.7,-921.61 2232,-894.7 2249.41,-888.79 2268.06,-881.17 2284.38,-874.07"/>
<polygon fill="#732626" stroke="black" points="2285.47,-876.97 2293.21,-869.72 2282.65,-870.56 2285.47,-876.97"/>
</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="#732626" stroke="black" cx="1707" cy="-1072.76" rx="77.6" ry="35.36"/>
<text text-anchor="middle" x="1707" y="-1084.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1707" y="-1073.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1707" y="-1063.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1707" y="-1052.76" 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="edge18" 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="M1764.82,-1048.98C1798.78,-1035.45 1842.47,-1017.79 1881,-1001.41 1890,-997.58 1899.55,-993.41 1908.75,-989.34"/>
<polygon fill="#732626" stroke="black" points="1909.84,-992.24 1917.55,-984.98 1906.99,-985.84 1909.84,-992.24"/>
</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="#932424" stroke="black" cx="2400" cy="-1179.47" rx="78.67" ry="35.36"/>
<text text-anchor="middle" x="2400" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2400" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="2400" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="2400" y="-1159.47" 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="edge19" 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="M2323.81,-1170.2C2220.6,-1158.57 2030.79,-1135.69 1870,-1108.12 1842.69,-1103.44 1813,-1097.45 1786.52,-1091.78"/>
<polygon fill="#932424" stroke="black" points="1787.29,-1088.15 1776.78,-1089.47 1785.82,-1095 1787.29,-1088.15"/>
</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="#732626" stroke="black" cx="1958" cy="-1072.76" rx="78.67" ry="35.36"/>
<text text-anchor="middle" x="1958" y="-1084.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1958" y="-1073.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1958" y="-1063.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="1958" y="-1052.76" 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="edge20" 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="M2330.94,-1162.11C2251.42,-1143.28 2121.05,-1112.39 2037.41,-1092.58"/>
<polygon fill="#932424" stroke="black" points="2038.48,-1089 2027.94,-1090.1 2036.86,-1095.81 2038.48,-1089"/>
</g>
<!-- ahriman_application_application_application_repository&#45;&gt;ahriman_application_application_application -->
<g id="edge21" 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="M1958,-1037.19C1958,-1029.23 1958,-1020.66 1958,-1012.33"/>
<polygon fill="#732626" stroke="black" points="1961.5,-1012.59 1958,-1002.59 1954.5,-1012.59 1961.5,-1012.59"/>
</g>
<!-- ahriman_application_handlers -->
<g id="node7" class="node">
<title>ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#950303" stroke="black" cx="3001" cy="-119.79" rx="46.32" ry="27.93"/>
<text text-anchor="middle" x="3001" y="-126.04" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3001" y="-115.54" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="3001" y="-105.04" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers</text>
</g>
<!-- ahriman_application_handlers&#45;&gt;ahriman_application_ahriman -->
<g id="edge22" 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="M3001,-91.83C3001,-83.99 3001,-75.29 3001,-66.91"/>
<polygon fill="#950303" stroke="black" points="3004.5,-67.18 3001,-57.18 2997.5,-67.18 3004.5,-67.18"/>
</g>
<!-- ahriman_application_handlers_add&#45;&gt;ahriman_application_handlers -->
<g id="edge23" 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="M2666.82,-595.77C2665.55,-576.89 2665.68,-553.22 2671,-532.79"/>
</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="#993333" stroke="black" cx="5295" cy="-432.5" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="5295" y="-444" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5295" y="-433.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="5295" y="-423" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="5295" y="-412.5" 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="edge24" 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="M5273.1,-400.94C5258.26,-380.14 5238.28,-351.91 5221,-326.79"/>
</g>
<!-- ahriman_application_handlers_clean&#45;&gt;ahriman_application_handlers -->
<g id="edge25" 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="M1875.02,-606.79C1882.07,-602.66 1889.61,-598.73 1897,-595.72 2013.92,-548.09 2053.95,-571.86 2174,-532.79"/>
</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="#a13535" stroke="black" cx="2597" cy="-219.08" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="2597" y="-230.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2597" y="-220.08" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="2597" y="-209.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="2597" y="-199.08" 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="edge26" 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="M2631.89,-195.48C2639.89,-191.04 2648.54,-186.81 2657,-183.72 2754.29,-148.16 2874.7,-132.04 2944.2,-125.25"/>
<polygon fill="#a13535" stroke="black" points="2944.28,-128.67 2953.9,-124.24 2943.62,-121.7 2944.28,-128.67"/>
</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="#993333" stroke="black" cx="4803" cy="-432.5" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="4803" y="-444" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4803" y="-433.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="4803" y="-423" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="4803" y="-412.5" 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="edge27" 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="M4768.31,-408.68C4740.28,-387.38 4708.59,-354.75 4729,-326.79"/>
</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="#822b2b" stroke="black" cx="9495" cy="-2276.28" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="9495" y="-2287.78" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9495" y="-2277.28" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="9495" y="-2266.78" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="9495" y="-2256.28" 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="edge28" 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="M9500.97,-2240.73C9511.62,-2167.03 9525.34,-1992.86 9439,-1891.09 9404.9,-1850.9 9358.29,-1896.75 9326,-1855.09 9229.33,-1730.37 9306,-1658.41 9306,-1500.61 9306,-1500.61 9306,-1500.61 9306,-1178.47 9306,-1128.91 9410.84,-778.36 9381,-738.78"/>
<path fill="none" stroke="black" d="M9381,-736.78C9268.01,-626.28 8117.02,-705.4 7959,-702.43 7921.74,-701.73 5302.17,-692.96 5276,-666.43 5253.93,-644.06 5264.95,-625.14 5276,-595.72 5289.06,-560.94 5339.83,-568.87 5331,-532.79"/>
<path fill="none" stroke="black" d="M5331,-530.79C5318.03,-483.35 5265.69,-509.78 5240,-467.85 5206.94,-413.92 5260.93,-375.85 5221,-326.79"/>
</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="#a13535" stroke="black" cx="2927" cy="-219.08" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="2927" y="-230.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2927" y="-220.08" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="2927" y="-209.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="2927" y="-199.08" 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="edge29" 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="M2949.81,-188.1C2957.98,-177.35 2967.25,-165.16 2975.63,-154.15"/>
<polygon fill="#a13535" stroke="black" points="2978.85,-156.69 2982.12,-146.61 2973.28,-152.45 2978.85,-156.69"/>
</g>
<!-- ahriman_application_handlers_key_import&#45;&gt;ahriman_application_handlers -->
<g id="edge30" 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="M1986.68,-607.41C1993.61,-603.28 2000.94,-599.18 2008,-595.72 2078.83,-560.95 2098.97,-557.2 2174,-532.79"/>
</g>
<!-- ahriman_application_handlers_patch&#45;&gt;ahriman_application_handlers -->
<g id="edge31" 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="M5154.24,-596.03C5175.32,-518 5224.88,-332.43 5221,-326.79"/>
<path fill="none" stroke="black" d="M5221,-324.79C5144.08,-230.28 5052.08,-329.39 4956,-254.43 4942.24,-243.7 4950.41,-231.24 4937,-220.08"/>
</g>
<!-- ahriman_application_handlers_rebuild&#45;&gt;ahriman_application_handlers -->
<g id="edge32" 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="M3730.68,-624.15C3915.78,-599.11 4605.92,-495.45 4729,-326.79"/>
<path fill="none" stroke="black" d="M4729,-324.79C4795.2,-245.23 5016.53,-286.31 4937,-220.08"/>
<path fill="none" stroke="black" d="M4937,-218.08C4862.93,-156.38 3370.17,-127.19 3057.95,-121.74"/>
<polygon fill="#822b2b" stroke="black" points="3058.4,-118.23 3048.34,-121.56 3058.28,-125.23 3058.4,-118.23"/>
</g>
<!-- ahriman_application_handlers_remove&#45;&gt;ahriman_application_handlers -->
<g id="edge33" 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="M2085.53,-599.96C2105.62,-576.04 2137.45,-544.68 2174,-532.79"/>
</g>
<!-- ahriman_application_handlers_remove_unknown&#45;&gt;ahriman_application_handlers -->
<g id="edge34" 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="M2915.92,-604.86C2950.89,-583.49 2994.96,-553.16 3001,-532.79"/>
<path fill="none" stroke="black" d="M3001,-530.79C3040.14,-398.69 3020.09,-231.96 3007.98,-158.49"/>
<polygon fill="#913030" stroke="black" points="3011.32,-158.2 3006.19,-148.93 3004.42,-159.37 3011.32,-158.2"/>
</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="#a13535" stroke="black" cx="3075" cy="-219.08" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="3075" y="-230.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3075" y="-220.08" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="3075" y="-209.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="3075" y="-199.08" 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="edge35" 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="M3052.19,-188.1C3044.02,-177.35 3034.75,-165.16 3026.37,-154.15"/>
<polygon fill="#a13535" stroke="black" points="3028.72,-152.45 3019.88,-146.61 3023.15,-156.69 3028.72,-152.45"/>
</g>
<!-- ahriman_application_handlers_search&#45;&gt;ahriman_application_handlers -->
<g id="edge36" 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="M2377.76,-607.03C2371.03,-602.98 2363.91,-599.01 2357,-595.72 2279.36,-558.71 2092.21,-559.4 2174,-532.79"/>
</g>
<!-- ahriman_application_handlers_service_updates&#45;&gt;ahriman_application_handlers -->
<g id="edge37" class="edge">
<title>ahriman_application_handlers_service_updates&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M871.56,-597.67C895.53,-560.01 930,-495.14 930,-433.5 930,-433.5 930,-433.5 930,-324.79 930,-116.59 2609.07,-117.93 2943.48,-120.26"/>
<polygon fill="#822b2b" stroke="black" points="2943.32,-123.77 2953.35,-120.34 2943.37,-116.77 2943.32,-123.77"/>
</g>
<!-- ahriman_application_handlers_setup&#45;&gt;ahriman_application_handlers -->
<g id="edge38" 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="M5334.97,-595.38C5336.13,-576.59 5335.98,-553.13 5331,-532.79"/>
</g>
<!-- ahriman_application_handlers_shell -->
<g id="node24" class="node">
<title>ahriman_application_handlers_shell</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="4937" cy="-325.79" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="4937" y="-337.29" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4937" y="-326.79" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="4937" y="-316.29" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="4937" y="-305.79" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">shell</text>
</g>
<!-- ahriman_application_handlers_shell&#45;&gt;ahriman_application_handlers -->
<g id="edge39" 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="M4948.68,-291.32C4954.63,-267.44 4956.97,-236.72 4937,-220.08"/>
</g>
<!-- ahriman_application_handlers_sign&#45;&gt;ahriman_application_handlers -->
<g id="edge40" 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="M2161.23,-596.61C2153.92,-571.62 2150.31,-540.5 2174,-532.79"/>
</g>
<!-- ahriman_application_handlers_status&#45;&gt;ahriman_application_handlers -->
<g id="edge41" 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="M1022.45,-629.17C1215.41,-624.96 1953.87,-604.43 2174,-532.79"/>
<path fill="none" stroke="black" d="M2174,-530.79C2281.02,-495.96 2607.89,-526.68 2671,-433.5"/>
<path fill="none" stroke="black" d="M2671,-431.5C2750.52,-314.09 2756.51,-265.99 2872,-183.72 2896.8,-166.06 2927.3,-150.92 2952.42,-139.93"/>
<polygon fill="#7a2828" stroke="black" points="2953.66,-142.78 2961.47,-135.62 2950.9,-136.34 2953.66,-142.78"/>
</g>
<!-- ahriman_application_handlers_status_update&#45;&gt;ahriman_application_handlers -->
<g id="edge42" 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="M2253.3,-606.18C2210.94,-579.69 2152.62,-539.74 2174,-532.79"/>
</g>
<!-- ahriman_application_handlers_structure&#45;&gt;ahriman_application_handlers -->
<g id="edge43" class="edge">
<title>ahriman_application_handlers_structure&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2594.1,-606.83C2624.81,-584.84 2665.9,-552.38 2671,-532.79"/>
<path fill="none" stroke="black" d="M2671,-530.79C2681.9,-488.94 2646.75,-469.3 2671,-433.5"/>
</g>
<!-- ahriman_application_handlers_triggers&#45;&gt;ahriman_application_handlers -->
<g id="edge44" 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="M2996.29,-595.62C2994.86,-576.7 2995,-553.03 3001,-532.79"/>
</g>
<!-- ahriman_application_handlers_unsafe_commands -->
<g id="node30" class="node">
<title>ahriman_application_handlers_unsafe_commands</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="3897" cy="-1499.61" rx="69.65" ry="35.36"/>
<text text-anchor="middle" x="3897" y="-1511.11" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3897" y="-1500.61" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="3897" y="-1490.11" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="3897" y="-1479.61" 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="edge45" 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="M3949.48,-1475.92C3959.84,-1471.79 3970.69,-1467.7 3981,-1464.25 4273.89,-1366.23 4653,-1596.05 4653,-1287.18 4653,-1287.18 4653,-1287.18 4653,-736.78 4653,-673.19 4650.51,-653.54 4677,-595.72 4692.11,-562.73 4722.72,-568.52 4729,-532.79"/>
<path fill="none" stroke="black" d="M4729,-530.79C4742.05,-441.06 4671,-396.48 4729,-326.79"/>
</g>
<!-- ahriman_application_handlers_update&#45;&gt;ahriman_application_handlers -->
<g id="edge46" 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="M18336.11,-596.13C18364.9,-499.08 18444.83,-226.96 18438,-220.08"/>
<path fill="none" stroke="black" d="M18438,-218.08C18362.94,-146.99 4076.66,-122.54 3058.17,-120.88"/>
<polygon fill="#8a2e2e" stroke="black" points="3058.48,-117.38 3048.48,-120.87 3058.47,-124.38 3058.48,-117.38"/>
</g>
<!-- ahriman_application_handlers_users -->
<g id="node32" class="node">
<title>ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="18235" cy="-1933.87" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="18235" y="-1945.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="18235" y="-1934.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="18235" y="-1924.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="18235" y="-1913.87" 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="edge47" 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="M18247.47,-1899.61C18277.22,-1819.42 18353.47,-1608.71 18402,-1428.25 18422.9,-1350.54 18476,-1154.24 18476,-1073.76 18476,-1073.76 18476,-1073.76 18476,-431.5 18476,-336.03 18507.32,-285.73 18438,-220.08"/>
</g>
<!-- ahriman_application_handlers_validate -->
<g id="node33" class="node">
<title>ahriman_application_handlers_validate</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="9381" cy="-1819.74" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="9381" y="-1831.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9381" y="-1820.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="9381" y="-1810.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="9381" y="-1799.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">validate</text>
</g>
<!-- ahriman_application_handlers_validate&#45;&gt;ahriman_application_handlers -->
<g id="edge48" class="edge">
<title>ahriman_application_handlers_validate&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9381,-1783.95C9381,-1742.05 9381,-1669.53 9381,-1607.32 9381,-1607.32 9381,-1607.32 9381,-965.05 9381,-864.49 9438.76,-821.11 9381,-738.78"/>
</g>
<!-- ahriman_application_handlers_versions -->
<g id="node34" class="node">
<title>ahriman_application_handlers_versions</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="4765" cy="-737.78" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="4765" y="-749.28" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4765" y="-738.78" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="4765" y="-728.28" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="4765" y="-717.78" 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="edge49" 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="M4751.78,-703.54C4737.41,-663.14 4717.89,-592.91 4729,-532.79"/>
</g>
<!-- ahriman_application_handlers_web -->
<g id="node35" class="node">
<title>ahriman_application_handlers_web</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a2e2e" stroke="black" cx="5011" cy="-219.08" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="5011" y="-230.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5011" y="-220.08" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="5011" y="-209.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="5011" y="-199.08" 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="edge50" 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="M4976.74,-194.7C4968.63,-190.25 4959.78,-186.21 4951,-183.72 4765.1,-131.04 3361.38,-122.28 3058.49,-120.99"/>
<polygon fill="#8a2e2e" stroke="black" points="3058.79,-117.49 3048.77,-120.95 3058.76,-124.49 3058.79,-117.49"/>
</g>
<!-- ahriman_application_lock -->
<g id="node36" class="node">
<title>ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="9609" cy="-2511.97" rx="46.32" ry="27.93"/>
<text text-anchor="middle" x="9609" y="-2518.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9609" y="-2507.72" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="9609" y="-2497.22" 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="edge51" 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="M9576.97,-2491.29C9547.52,-2470.74 9506.97,-2435.38 9497,-2391.41"/>
</g>
<!-- ahriman_core -->
<g id="node37" class="node">
<title>ahriman_core</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#e50505" stroke="black" cx="6420" cy="-4653.53" rx="42.11" ry="18"/>
<text text-anchor="middle" x="6420" y="-4649.28" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.core</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_ahriman -->
<g id="edge52" 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="M6377.71,-4652.38C5929.28,-4650.69 2055.95,-4633.8 1553,-4552.6 1298.25,-4511.47 1211.33,-4530.94 996,-4388.74 893.41,-4320.99 897.04,-4271.14 820,-4175.32 741.9,-4078.18 714.84,-4059.16 647,-3954.6 577.51,-3847.48 152,-3045.22 152,-2917.54 152,-2917.54 152,-2917.54 152,-2808.83 152,-2620.26 76,-2579.98 76,-2391.41 76,-2391.41 76,-2391.41 76,-1712.03 76,-1618.06 44.48,-1589.13 76,-1500.61"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_application_application -->
<g id="edge53" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6377.68,-4652.56C6000.33,-4652.75 3217.99,-4651.97 2854,-4589.6 2802.75,-4580.82 2784.64,-4583.75 2743,-4552.6 2687.56,-4511.13 2699.3,-4477.1 2654,-4424.74 2608.59,-4372.26 2595.08,-4360.25 2540,-4318.03 2515.92,-4299.57 2504.64,-4302.22 2482,-4282.03 2452.08,-4255.35 2454.47,-4239.54 2426,-4211.32 2360.02,-4145.91 2157.21,-4024.49 2096,-3954.6 2066.98,-3921.46 2078.34,-3898.93 2046,-3869.04 2011.56,-3837.2 1900.05,-3793.26 1856,-3777.18 1795.25,-3754.99 1777.33,-3758.45 1715,-3741.18 1577.75,-3703.14 1534.03,-3715.65 1408,-3649.31 1350.42,-3619.01 1339.7,-3603.77 1294,-3557.45 1246.55,-3509.36 958.03,-3132.94 926,-3073.46 898.54,-3022.46 897.58,-3006.76 879,-2951.9 808.22,-2742.92 731.38,-2687.56 763,-2469.19 838.69,-1946.49 874.99,-1786.58 1183,-1357.54 1208.91,-1321.45 1230.59,-1324.94 1254,-1287.18"/>
<path fill="none" stroke="black" d="M1254,-1285.18C1271.32,-1251.58 1316,-1174.03 1354,-1144.12 1454.1,-1065.35 1498.06,-1074.24 1620,-1037.41 1717.29,-1008.02 1833.98,-986.7 1901.69,-975.65"/>
<polygon fill="#e50505" stroke="black" points="1902.22,-978.95 1911.53,-973.9 1901.1,-972.04 1902.22,-978.95"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge54" 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="M6377.7,-4652.53C5988.59,-4652.43 3042.24,-4649.67 2868,-4589.6"/>
<path fill="none" stroke="black" d="M2868,-4588.6C2834.18,-4576.94 2822.55,-4576.58 2796,-4552.6 2731.98,-4494.79 2735.56,-4463.19 2692,-4388.74 2673.98,-4357.95 2679.98,-4342.48 2654,-4318.03 2626.2,-4291.86 2608.12,-4302.68 2576,-4282.03 2482.8,-4222.11 2472.1,-4190.42 2387,-4119.46 2297.47,-4044.8 2271.39,-4030.6 2183,-3954.6 2094.41,-3878.41 2090.71,-3834.68 1989,-3777.18 1729.77,-3630.6 1598.43,-3730.41 1356,-3557.45 1310.22,-3524.79 1304.97,-3508.81 1269,-3465.59 1236.67,-3426.75 1229.3,-3416.25 1202,-3373.73 1178.44,-3337.04 1180,-3323.17 1154,-3288.17 1114.26,-3234.68 1091.98,-3231.92 1050,-3180.17 1026.07,-3150.67 1024.34,-3140.18 1002,-3109.46 990.08,-3093.06 985.21,-3090.35 974,-3073.46 949.88,-3037.14 948.78,-3025.08 926,-2987.9 915.95,-2971.5 907.78,-2970.24 902,-2951.9 731.31,-2410.59 1093.37,-2268.21 1216,-1714.03"/>
<path fill="none" stroke="black" d="M1216,-1712.03C1226.49,-1616.7 1247.67,-1372.23 1292,-1287.18"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_application_application_properties -->
<g id="edge55" 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="M2868,-4588.6C2790.53,-4552.86 2816.49,-4494.94 2768,-4424.74 2756.48,-4408.06 2751.92,-4405.13 2740,-4388.74 2717.66,-4358.02 2717.19,-4346.46 2692,-4318.03 2610.47,-4226.04 2366.9,-4036.23 2275,-3954.6 2187.15,-3876.57 2173.64,-3846.82 2079,-3777.18 2053.65,-3758.52 2042.14,-3761.38 2018,-3741.18 1992.9,-3720.16 1997.83,-3702.55 1970,-3685.31 1914.65,-3651.03 1890.27,-3668.33 1828,-3649.31 1596.78,-3578.7 1495.46,-3627.59 1316,-3465.59 1191.07,-3352.81 1124.27,-2905.56 1104,-2738.48 1082.5,-2561.22 1083.58,-2485.55 1197,-2347.63 1387.81,-2115.62 1520.12,-2154.81 1762,-1976.65 1803.02,-1946.44 2448.35,-1440.01 2470,-1393.9"/>
<path fill="none" stroke="black" d="M2470,-1391.9C2478.21,-1346.09 2488.07,-1330.07 2470,-1287.18"/>
<path fill="none" stroke="black" d="M2470,-1285.18C2460.59,-1262.84 2446.2,-1240.22 2432.91,-1221.74"/>
<polygon fill="#e50505" stroke="black" points="2435.25,-1220.01 2426.51,-1214.02 2429.61,-1224.15 2435.25,-1220.01"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge56" 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="M6377.69,-4652.26C6002.2,-4649.75 3250.01,-4630 3082,-4589.6 3045.47,-4580.82 3037.07,-4573.72 3006,-4552.6 2820.17,-4426.28 2800.15,-4361.49 2633,-4211.32 2461.94,-4057.64 2421.73,-4016.16 2245,-3869.04 2194.19,-3826.74 2180.25,-3817.68 2128,-3777.18 2074.92,-3736.02 2066.26,-3718.74 2008,-3685.31 1971.35,-3664.29 1955.96,-3671.51 1920,-3649.31 1887.87,-3629.48 1890,-3609.86 1856,-3593.45 1776.23,-3554.96 1744.71,-3583.3 1660,-3557.45 1562.17,-3527.6 1528.58,-3529.84 1449,-3465.59 1409.88,-3434.01 1404.25,-3419.29 1383,-3373.73 1334.03,-3268.72 1136.08,-2446.2 1197,-2347.63 1215.81,-2317.2 1244.74,-2337.93 1269,-2311.63 1452.01,-2113.26 1421.9,-2007.91 1496,-1748.38 1539.91,-1594.59 1558,-1553.84 1558,-1393.9 1558,-1393.9 1558,-1393.9 1558,-1285.18 1558,-1212.46 1767.26,-1134.34 1883.07,-1096.67"/>
<polygon fill="#e50505" stroke="black" points="1883.85,-1099.77 1892.29,-1093.37 1881.7,-1093.11 1883.85,-1099.77"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_add -->
<g id="edge57" 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="M3096,-4588.6C3028.76,-4549.33 3070.14,-4493.71 3034,-4424.74 2925.34,-4217.38 2548.62,-3762.69 2436,-3557.45 2385.23,-3464.93 2136.84,-2760.85 2066,-2682.62 2043.57,-2657.85 2017.06,-2675.35 2000,-2646.62 1959.75,-2578.81 1975.06,-2544 2000,-2469.19 2006.32,-2450.22 2016.45,-2450.19 2027,-2433.19 2309.42,-1978.19 2314.63,-1828.26 2570,-1357.54 2639.57,-1229.3 2683.1,-1210.11 2735,-1073.76"/>
<path fill="none" stroke="black" d="M2735,-1071.76C2747.05,-969.51 2807.17,-955.81 2811,-852.92"/>
<path fill="none" stroke="black" d="M2811,-850.92C2807.55,-775.73 2749.11,-705.57 2708.84,-665.84"/>
<polygon fill="#e50505" stroke="black" points="2711.67,-663.74 2702.05,-659.3 2706.8,-668.77 2711.67,-663.74"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_backup -->
<g id="edge58" 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="M6448.93,-4639.98C6485.59,-4624.76 6551.13,-4599.89 6610,-4589.6"/>
<path fill="none" stroke="black" d="M6610,-4588.6C6792.61,-4556.68 8092.77,-4559.87 8278,-4552.6 8996.39,-4524.43 9177.51,-4531.03 9893,-4460.74 10232.44,-4427.39 10653,-4695.45 10653,-4354.39 10653,-4354.39 10653,-4354.39 10653,-4245.67 10653,-3999.26 11144.21,-3449.51 11065,-3216.17 10882.89,-2679.72 10503.68,-2729.2 10289,-2204.92 10272.26,-2164.04 10253.44,-1988.34 10242,-1748.38 10240.5,-1716.99 10240.65,-1709.07 10242,-1677.67 10246.5,-1573.06 10386.35,-822.15 10323,-738.78"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_clean -->
<g id="edge59" 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="M6377.67,-4652.53C6017.88,-4652.36 3467.12,-4649.07 2702,-4589.6 2583,-4580.35 2547.83,-4594.33 2436,-4552.6 2393.3,-4536.67 2391.01,-4516.64 2350,-4496.74 2305.24,-4475.02 2291,-4477.06 2244,-4460.74 2153.56,-4429.35 2129.79,-4424.53 2041,-4388.74 1970.4,-4360.28 1955.25,-4347.34 1885,-4318.03 1467.42,-4143.79 1313.98,-4200.27 934,-3954.6 888.72,-3925.32 887.52,-3905.71 848,-3869.04 820.65,-3843.65 612.89,-3681.5 594,-3649.31 551.79,-3577.4 572.32,-3547.36 556,-3465.59 533.9,-3354.89 581.91,-3301.5 508,-3216.17 475.97,-3179.2 438.74,-3214.6 404,-3180.17 361.41,-3137.96 342,-2977.51 342,-2917.54 342,-2917.54 342,-2917.54 342,-2617.69 342,-2396.21 320.44,-2339.88 341,-2119.36 383.46,-1663.9 453.52,-1547.1 670,-1144.12 752.27,-990.96 731.67,-911.77 872,-809.14 1019.87,-700.99 1598.93,-649.84 1783.88,-636.03"/>
<polygon fill="#e50505" stroke="black" points="1784,-639.46 1793.72,-635.24 1783.49,-632.48 1784,-639.46"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_daemon -->
<g id="edge60" 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="M2450,-4523.67C2431.67,-4516.31 2177.74,-4326.71 2160,-4318.03 2110.37,-4293.73 2091.53,-4304.4 2041,-4282.03 1985.09,-4257.28 1977.1,-4239.81 1923,-4211.32 1565.72,-4023.2 1447.3,-4033.84 1097,-3833.04 937.06,-3741.36 907.2,-3697.23 787,-3557.45 717.16,-3476.23 693.73,-3460.56 631,-3373.73 582.98,-3307.26 578.89,-3285.43 535,-3216.17 494.35,-3152.02 475.92,-3140.91 441,-3073.46 406.79,-3007.38 380,-2991.95 380,-2917.54 380,-2917.54 380,-2917.54 380,-2617.69 380,-2215.7 342,-2116.01 342,-1714.03 342,-1714.03 342,-1714.03 342,-850.92 342,-752.59 424.71,-757.74 506,-702.43 617.49,-626.57 985.63,-552 1050,-433.5"/>
<path fill="none" stroke="black" d="M1050,-431.5C1099.12,-286.53 2265.83,-232.79 2539.79,-222.15"/>
<polygon fill="#e50505" stroke="black" points="2539.81,-225.61 2549.67,-221.73 2539.54,-218.62 2539.81,-225.61"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_dump -->
<g id="edge61" 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="M6377.74,-4652.2C6087.13,-4649.83 4395.14,-4634.11 4368,-4589.6"/>
<path fill="none" stroke="black" d="M4368,-4588.6C4326.14,-4519.95 4285.97,-4526.72 4240,-4460.74 4086.78,-4240.81 3988,-4180.86 3988,-3912.82 3988,-3912.82 3988,-3912.82 3988,-3620.38 3988,-3470.18 3992.18,-3426.79 4050,-3288.17 4112.5,-3138.34 4160.78,-3117.91 4258,-2987.9 4294.48,-2939.12 4302.69,-2925.95 4344,-2881.19 4359.78,-2864.09 4365.78,-2861.87 4382,-2845.19 4408.47,-2817.98 4575.98,-2607.6 4610,-2590.75 4700.3,-2546.04 4993.64,-2628.78 5062,-2554.75 5087.8,-2526.82 5065.93,-2507.02 5062,-2469.19 5021.56,-2079.88 4881,-1998.73 4881,-1607.32 4881,-1607.32 4881,-1607.32 4881,-1498.61 4881,-1356.21 4843,-1322.87 4843,-1180.47 4843,-1180.47 4843,-1180.47 4843,-1071.76 4843,-939.91 4910.94,-920.84 4981,-809.14 5001.66,-776.2 5046.9,-775.1 5033,-738.78"/>
<path fill="none" stroke="black" d="M5033,-736.78C4972.04,-614.5 4784.6,-668.18 4803,-532.79"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge62" 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="M7472,-4523.67C7484.81,-4519.45 7474.84,-4504.32 7486,-4496.74 7551.04,-4452.56 8111.54,-4429.97 8190,-4424.74 8253.83,-4420.48 9286.61,-4422.42 9341,-4388.74 9371.33,-4369.96 9354.21,-4343.69 9379,-4318.03 9527.68,-4164.1 10104.38,-4018.6 10211,-3833.04 10223.37,-3811.51 10227.29,-3795.91 10211,-3777.18 10173.31,-3733.82 10010.47,-3756.1 9955,-3741.18 9699.03,-3672.29 9441,-3703.73 9441,-3438.66 9441,-3438.66 9441,-3438.66 9441,-3329.95 9441,-3260.93 9418.16,-3246.76 9400,-3180.17 9387.07,-3132.75 9377.5,-3122.17 9371,-3073.46 9365.97,-3035.77 9367.05,-3025.72 9371,-2987.9 9371.88,-2979.48 9498.86,-2399.67 9497,-2391.41"/>
<path fill="none" stroke="black" d="M9497,-2389.41C9491.2,-2367.99 9490.16,-2343.41 9490.81,-2322.73"/>
<polygon fill="#e50505" stroke="black" points="9494.34,-2323.15 9491.3,-2313 9487.34,-2322.83 9494.34,-2323.15"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_help -->
<g id="edge63" 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="M6377.72,-4652.69C6002.48,-4654 3252.51,-4661.12 3096,-4589.6"/>
<path fill="none" stroke="black" d="M3096,-4588.6C3056.11,-4570.38 3050.38,-4557.3 3020,-4525.67"/>
<path fill="none" stroke="black" d="M3020,-4523.67C2914.02,-4413.36 2129.73,-3682.02 2005,-3593.45 1908.37,-3524.84 1860.35,-3543.45 1771,-3465.59 1578.23,-3297.6 1596,-3173.24 1596,-2917.54 1596,-2917.54 1596,-2917.54 1596,-2709.55 1596,-2212.44 1786,-2104.42 1786,-1607.32 1786,-1607.32 1786,-1607.32 1786,-1498.61 1786,-1394.43 1798.83,-1113.48 1870,-1037.41 1914.78,-989.55 1949.71,-1018.45 2013,-1001.41 2179.09,-956.69 2252.98,-1004.95 2385,-894.7 2431.24,-856.08 2421.97,-828.81 2445,-773.14 2476.82,-696.22 2452.58,-660.38 2505,-595.72 2594.12,-485.78 2718.62,-561.49 2779,-433.5"/>
<path fill="none" stroke="black" d="M2779,-431.5C2804.58,-362.91 2857.79,-295.76 2892.94,-256.14"/>
<polygon fill="#e50505" stroke="black" points="2895.07,-258.89 2899.15,-249.12 2889.87,-254.22 2895.07,-258.89"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_key_import -->
<g id="edge64" 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="M6377.55,-4652.25C5979.04,-4649.55 2904.67,-4627.52 2716,-4589.6"/>
<path fill="none" stroke="black" d="M2716,-4588.6C2627.02,-4570.72 2602.09,-4578.12 2515,-4552.6 2484.99,-4543.81 2479.2,-4536.86 2450,-4525.67"/>
<path fill="none" stroke="black" d="M2450,-4523.67C2364.27,-4490.81 1579.18,-4086.26 1187,-3833.04 1020.08,-3725.26 971,-3702.29 835,-3557.45 776.91,-3495.59 418,-3002.41 418,-2917.54 418,-2917.54 418,-2917.54 418,-2617.69 418,-2462.67 494,-2432.3 494,-2277.28 494,-2277.28 494,-2277.28 494,-2161.14 494,-1843.13 699.34,-986.94 963,-809.14 1034.62,-760.84 1084.3,-824.17 1154,-773.14 1182.79,-752.06 1161.86,-721.51 1192,-702.43 1258.18,-660.53 1821.19,-689.62 1896,-666.43 1900.35,-665.08 1904.71,-663.31 1908.96,-661.3"/>
<polygon fill="#e50505" stroke="black" points="1910.43,-663.96 1917.65,-656.21 1907.17,-657.76 1910.43,-663.96"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge65" 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="M4627,-4523.67C4758.26,-4440.54 4671.74,-4318.73 4784,-4211.32 4943.87,-4058.35 5501.99,-3912.19 5719,-3869.04 5813.24,-3850.3 6497.21,-3876.31 6583,-3833.04 6611.46,-3818.68 6603.17,-3797.18 6628,-3777.18 6655.86,-3754.73 6680.59,-3771.23 6700,-3741.18 6727.33,-3698.86 6710.16,-3337.93 6718,-3288.17 6817.76,-2654.93 7095.1,-2564.23 7217,-1934.87"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_rebuild -->
<g id="edge66" 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="M3248,-4588.6C3202.13,-4531.67 3354.06,-4582.55 3400,-4525.67"/>
<path fill="none" stroke="black" d="M3400,-4523.67C3451.82,-4459.51 3324,-4436.86 3324,-4354.39 3324,-4354.39 3324,-4354.39 3324,-3990.6 3324,-3823.5 3248,-3789.48 3248,-3622.38 3248,-3622.38 3248,-3622.38 3248,-3528.52 3248,-3409.83 2601.99,-2832.08 2529,-2738.48 2451.41,-2638.97 2405.26,-2590.79 2439,-2469.19 2492.5,-2276.39 2576.41,-2259.69 2671,-2083.36 2740.54,-1953.73 2732.17,-1907.29 2813,-1784.38 2986.32,-1520.83 3072.73,-1487.72 3281,-1250.83 3308.52,-1219.53 3332.51,-1220.81 3343,-1180.47"/>
<path fill="none" stroke="black" d="M3343,-1178.47C3361.07,-1116.88 3351.5,-1097.53 3374,-1037.41 3433.47,-878.53 3437.2,-822.54 3557,-702.43 3578.66,-680.71 3608.42,-663.81 3633.8,-652.02"/>
<polygon fill="#e50505" stroke="black" points="3634.96,-654.89 3642.64,-647.6 3632.09,-648.51 3634.96,-654.89"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_remove -->
<g id="edge67" 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="M2716,-4588.6C2673.74,-4580.25 2664.38,-4572.17 2626,-4552.6 2504.31,-4490.57 2469.79,-4477.53 2366,-4388.74 2350.6,-4375.56 2353.96,-4363.78 2336,-4354.39"/>
<path fill="none" stroke="black" d="M2336,-4352.39C2320.94,-4341.42 2327.54,-4328.29 2312,-4318.03 2246.83,-4274.99 2211.53,-4313.4 2140,-4282.03 2090.48,-4260.31 2085.08,-4242.63 2041,-4211.32 1925.65,-4129.37 1905.81,-4094.24 1781,-4027.6 1567.73,-3913.72 1485.2,-3948.9 1273,-3833.04 1212.49,-3800 1201.3,-3784.91 1148,-3741.18 960.87,-3587.63 868.32,-3582.6 746,-3373.73 659.04,-3225.25 570,-2791.75 570,-2619.69 570,-2619.69 570,-2619.69 570,-2275.28 570,-1809.21 618.53,-1682.6 794,-1250.83 852.6,-1106.63 840.96,-1053.96 936,-930.7 988.82,-862.2 1012.25,-850.91 1088,-809.14 1130.83,-785.52 1147.45,-793.34 1192,-773.14 1249.78,-746.94 1255.12,-720.27 1316,-702.43 1611.11,-615.92 1713.31,-757.65 2007,-666.43 2011.35,-665.08 2015.71,-663.31 2019.96,-661.29"/>
<polygon fill="#e50505" stroke="black" points="2021.42,-663.95 2028.65,-656.2 2018.17,-657.75 2021.42,-663.95"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_remove_unknown -->
<g id="edge68" 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="M6377.46,-4652.54C6004.44,-4652.54 3303.11,-4650.38 3248,-4589.6"/>
<path fill="none" stroke="black" d="M3248,-4588.6C2794.67,-4088.64 2814.53,-3864.88 2464,-3288.17 2405.7,-3192.25 2387.48,-3170.47 2331,-3073.46 2282.01,-2989.31 2274.83,-2965.42 2226,-2881.19 2174.05,-2791.58 2159,-2770.39 2104,-2682.62 2093.92,-2666.53 2086.92,-2664.66 2081,-2646.62 2056.42,-2571.65 2029.24,-2533.47 2075,-2469.19 2103.37,-2429.35 2138.33,-2460.36 2179,-2433.19 2221.3,-2404.94 2216.78,-2381.19 2255,-2347.63 2276.4,-2328.85 2285.72,-2329.37 2308,-2311.63 2314.82,-2306.21 2417.93,-2212.02 2423,-2204.92 2447.19,-2171.07 2443.92,-2157.31 2461,-2119.36 2620.99,-1763.97 2665.7,-1677.25 2825,-1321.54 2852.99,-1259.04 2887,-1248.96 2887,-1180.47 2887,-1180.47 2887,-1180.47 2887,-850.92 2887,-790.71 2881.28,-721.4 2876.9,-677.19"/>
<polygon fill="#e50505" stroke="black" points="2880.31,-677.11 2875.82,-667.51 2873.35,-677.82 2880.31,-677.11"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_restore -->
<g id="edge69" 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="M3210,-4441.74C3167.46,-4243.36 3134,-4194.49 3134,-3991.6 3134,-3991.6 3134,-3991.6 3134,-3910.82 3134,-3276.49 2509.55,-3343.82 2320,-2738.48 2294.28,-2656.33 2357.69,-2518.58 2377,-2469.19 2546.05,-2036.93 3173.11,-1040.63 3491,-702.43 3544.34,-645.68 3560.94,-631.73 3630,-595.72 3805.47,-504.2 4508.2,-522.53 4479,-326.79"/>
<path fill="none" stroke="black" d="M4479,-324.79C4443.98,-265.85 3391.56,-229.78 3132.29,-221.78"/>
<polygon fill="#e50505" stroke="black" points="3132.72,-218.26 3122.61,-221.45 3132.5,-225.25 3132.72,-218.26"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_search -->
<g id="edge70" 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="M2640,-4523.67C2608.56,-4482.39 2610.99,-4464.79 2578,-4424.74 2575.24,-4421.39 2353.33,-4214.1 2350,-4211.32 2276.53,-4150.13 2247.86,-4147.64 2177,-4083.46 2135.75,-4046.1 2133.93,-4028.31 2093,-3990.6 2073.65,-3972.77 2065.27,-3972.51 2046,-3954.6 2008.75,-3919.96 2013.34,-3895.66 1970,-3869.04 1922.42,-3839.81 1535.6,-3762.5 1484,-3741.18 1408.93,-3710.15 1389.09,-3700.47 1326,-3649.31 1291.73,-3621.52 1120.37,-3439.12 1078,-3373.73 1055.38,-3338.81 1062.35,-3323.27 1040,-3288.17 1005.82,-3234.5 982.3,-3232.44 946,-3180.17 915.21,-3135.83 911.86,-3121.88 888,-3073.46 869.61,-3036.14 866.99,-3025.88 850,-2987.9 776.68,-2824.04 684,-2799.2 684,-2619.69 684,-2619.69 684,-2619.69 684,-2510.97 684,-2332.39 731.94,-2292.93 774,-2119.36 844.77,-1827.34 823.5,-1740.8 941,-1464.25 962.81,-1412.93 977.19,-1404.67 1007,-1357.54 1134.02,-1156.7 1125.75,-1053.82 1329,-930.7 1365.83,-908.39 1655.44,-820.42 1697,-809.14 1841.82,-769.83 2217.98,-722.92 2357,-666.43 2360.94,-664.83 2364.91,-662.95 2368.82,-660.92"/>
<polygon fill="#e50505" stroke="black" points="2370.32,-663.53 2377.35,-655.6 2366.91,-657.42 2370.32,-663.53"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_service_updates -->
<g id="edge71" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_service_updates</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6377.5,-4652.34C6014.82,-4650.6 3434.87,-4636.72 2660,-4589.6 2502.98,-4580.05 2463.46,-4576.66 2308,-4552.6 1716.61,-4461.09 1494.74,-4601.94 989,-4282.03 759.18,-4136.66 434.27,-3502.49 328,-3252.17 295.26,-3175.05 291.54,-3153.87 268,-3073.46 267.87,-3073.01 138.06,-2555.22 138,-2554.75 96.48,-2218.33 213.63,-1572.64 214,-1570.96 235.64,-1472.63 250.22,-1450.04 290,-1357.54 324.88,-1276.44 364.49,-1267.38 380,-1180.47"/>
<path fill="none" stroke="black" d="M380,-1178.47C380.73,-1084.51 364.01,-1059.65 380,-967.05"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_setup -->
<g id="edge72" 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="M6447.27,-4639.53C6481.21,-4624.07 6541.4,-4599.05 6596,-4588.6 6859.78,-4538.12 7535.77,-4566.08 7804,-4552.6 8835.05,-4500.8 9091.39,-4463.93 10121,-4388.74 10323.7,-4373.94 10577,-4557.63 10577,-4354.39 10577,-4354.39 10577,-4354.39 10577,-4245.67 10577,-3729.27 10973.75,-3602.44 10820,-3109.46 10728.67,-2816.63 10095,-2241.61 10095,-1934.87 10095,-1934.87 10095,-1934.87 10095,-1605.32 10095,-1415.09 10009.67,-1367.76 10043,-1180.47"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_shell -->
<g id="edge73" 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="M4368,-4588.6C4357.79,-4562.56 4372.63,-4553.25 4368,-4525.67"/>
<path fill="none" stroke="black" d="M4368,-4523.67C4347.2,-4399.86 4178,-4117.15 4178,-3991.6 4178,-3991.6 4178,-3991.6 4178,-3528.52 4178,-3152.24 4384.72,-3105.85 4563,-2774.48 4585.23,-2733.16 4583.21,-2717.11 4615,-2682.62 4634.3,-2661.68 4646.05,-2664.75 4668,-2646.62 4695.1,-2624.23 4692.07,-2605.46 4724,-2590.75 4816.13,-2548.33 5110.17,-2629.25 5179,-2554.75 5204.81,-2526.83 5187.39,-2506.28 5179,-2469.19 5145.74,-2322.2 5033,-2313.85 5033,-2163.14 5033,-2163.14 5033,-2163.14 5033,-1605.32 5033,-1462.92 4995,-1429.58 4995,-1287.18 4995,-1287.18 4995,-1287.18 4995,-965.05 4995,-858.97 5052.8,-843.29 5071,-738.78"/>
<path fill="none" stroke="black" d="M5071,-736.78C5086.25,-595.88 5005.72,-439.24 4962.69,-367.13"/>
<polygon fill="#e50505" stroke="black" points="4965.3,-365.69 4957.13,-358.94 4959.31,-369.31 4965.3,-365.69"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_sign -->
<g id="edge74" 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="M2336,-4352.39C2319.64,-4343.48 2325.92,-4330.41 2312,-4318.03 2286.74,-4295.56 2272.73,-4301.36 2245,-4282.03 2064.86,-4156.46 2012.11,-4126.12 1875,-3954.6 1847.91,-3920.71 1864.28,-3892.84 1828,-3869.04 1755.78,-3821.66 1524.37,-3855.62 1441,-3833.04 1280.47,-3789.55 1231.12,-3768.38 1115,-3649.31 1046.01,-3578.57 1126.75,-3725.37 755,-3073.46 700.22,-2977.4 684.78,-2951.96 656,-2845.19 629.33,-2746.25 608,-2722.15 608,-2619.69 608,-2619.69 608,-2619.69 608,-2275.28 608,-1909.79 615.33,-1806.34 744,-1464.25 776.75,-1377.18 927.02,-1193.48 964,-1108.12 996.47,-1033.16 958.87,-992.74 1012,-930.7 1093.16,-835.92 1403.79,-732.04 1525,-702.43 1781.49,-639.75 1866.18,-745.83 2118,-666.43 2122.34,-665.06 2126.7,-663.28 2130.95,-661.25"/>
<polygon fill="#e50505" stroke="black" points="2132.42,-663.91 2139.63,-656.15 2129.15,-657.71 2132.42,-663.91"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_status -->
<g id="edge75" 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="M6377.48,-4652.37C6016.04,-4650.87 3453.59,-4638.6 2684,-4589.6 2609.47,-4584.86 2413.98,-4591.12 2350,-4552.6 2324.27,-4537.12 2337.01,-4513.36 2312,-4496.74 2244.78,-4452.07 2212.43,-4479.8 2134,-4460.74 2020.4,-4433.13 1992.59,-4423.59 1881,-4388.74 1506.21,-4271.71 1368.39,-4315.97 1052,-4083.46 1025.15,-4063.73 1028.69,-4047.54 1002,-4027.6 941.32,-3982.26 909.84,-3998.34 848,-3954.6 804.24,-3923.64 801.56,-3906.27 763,-3869.04 702.86,-3810.95 678.44,-3805.48 625,-3741.18 594.14,-3704.04 587.93,-3692.83 567,-3649.31 524.05,-3560.02 494,-3537.75 494,-3438.66 494,-3438.66 494,-3438.66 494,-3329.95 494,-3242.38 410.68,-3255.48 366,-3180.17 302.27,-3072.75 266,-3042.44 266,-2917.54 266,-2917.54 266,-2917.54 266,-2709.55 266,-2532.62 256.67,-2488.54 254,-2311.63 247.05,-1850.58 306.02,-1734.49 418,-1287.18"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_status_update -->
<g id="edge76" 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="M2716,-4588.6C2672.98,-4580.1 2670.2,-4557.47 2640,-4525.67"/>
<path fill="none" stroke="black" d="M2640,-4523.67C2634.62,-4518.01 2546.42,-4429.19 2540,-4424.74 2508.62,-4402.99 2494.05,-4409.49 2462,-4388.74 2339.6,-4309.5 2078.54,-4051.97 1970,-3954.6 1927.7,-3916.65 1926.5,-3893.06 1875,-3869.04 1770.87,-3820.47 1730.42,-3861.08 1619,-3833.04 1504.61,-3804.25 1475.41,-3794.12 1370,-3741.18 1236.33,-3674.04 1178.68,-3676.42 1088,-3557.45 1011.84,-3457.53 1065.3,-3396.69 1002,-3288.17 985.52,-3259.92 921.22,-3206.64 902,-3180.17 741.09,-2958.57 646,-2893.54 646,-2619.69 646,-2619.69 646,-2619.69 646,-2510.97 646,-2245.62 835.61,-1594.52 955,-1357.54 1056.32,-1156.43 1059.54,-1080.13 1228,-930.7 1303.56,-863.68 1325.82,-845.61 1420,-809.14 1760.46,-677.27 1884.03,-785.99 2229,-666.43 2233.81,-664.76 2238.7,-662.76 2243.51,-660.58"/>
<polygon fill="#e50505" stroke="black" points="2244.76,-663.39 2252.26,-655.9 2241.73,-657.08 2244.76,-663.39"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_structure -->
<g id="edge77" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_structure</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3020,-4523.67C2988.56,-4482.39 2986.22,-4468.29 2958,-4424.74 2842.47,-4246.46 2810.68,-4203.8 2692,-4027.6 2437.87,-3650.3 2337.19,-3578.78 2118,-3180.17 2045.06,-3047.52 1877.5,-2703.23 1848,-2554.75 1840.59,-2517.46 1829.03,-2502.15 1848,-2469.19 1863.9,-2441.58 1889,-2457.16 1910,-2433.19 1964.32,-2371.21 2172.14,-1827.57 2195,-1748.38 2239.32,-1594.86 2255,-1553.69 2255,-1393.9 2255,-1393.9 2255,-1393.9 2255,-1285.18 2255,-1217.56 2258.88,-1185.96 2312,-1144.12 2397.42,-1076.83 2467.55,-1174.08 2554,-1108.12 2647.23,-1036.98 2635.44,-969.29 2621,-852.92"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_triggers -->
<g id="edge78" 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="M3248,-4588.6C3206.24,-4536.77 3237.03,-4504.57 3210,-4443.74"/>
<path fill="none" stroke="black" d="M3210,-4441.74C3197.95,-4401.6 2533.84,-3136.71 2502,-3109.46 2464.84,-3077.66 2434.24,-3106.3 2398,-3073.46 2256.29,-2945.04 2359.71,-2811.04 2218,-2682.62 2181.76,-2649.77 2142.37,-2686.46 2114,-2646.62 2068.26,-2582.38 2065.63,-2531.47 2114,-2469.19 2153.68,-2418.12 2203.7,-2472.58 2255,-2433.19 2289.58,-2406.64 2270.64,-2376.85 2303,-2347.63 2332.84,-2320.69 2354.83,-2337.03 2386,-2311.63 2430.94,-2275.02 2431.04,-2254.55 2461,-2204.92 2522.56,-2102.94 2888.76,-1353.01 2950,-1250.83 2985.59,-1191.45 3329.78,-803.42 3305,-738.78"/>
<path fill="none" stroke="black" d="M3305,-736.78C3252.22,-655.36 3130.96,-636.23 3058.55,-632.34"/>
<polygon fill="#e50505" stroke="black" points="3058.94,-628.81 3048.8,-631.86 3058.63,-635.81 3058.94,-628.81"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_unsafe_commands -->
<g id="edge79" 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="M3400,-4523.67C3496.25,-4378.33 3514,-4322.71 3514,-4148.39 3514,-4148.39 3514,-4148.39 3514,-3804.11 3514,-3551.7 2801.16,-2911.76 2579,-2646.62 2524.35,-2581.39 2458.41,-2539.06 2507,-2469.19 2533.26,-2431.44 2563.8,-2455.53 2604,-2433.19 2870.82,-2284.93 2901.03,-2193.41 3147,-2012.65 3423.73,-1809.3 3493.15,-1758.25 3781,-1570.96 3800.85,-1558.05 3823,-1544.42 3842.59,-1532.64"/>
<polygon fill="#e50505" stroke="black" points="3844.19,-1535.16 3850.97,-1527.01 3840.59,-1529.15 3844.19,-1535.16"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_update -->
<g id="edge80" 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="M6459.62,-4647.06C6509.17,-4640.5 6596.66,-4629.86 6672,-4625.6 7924.7,-4554.85 11065.97,-4671.3 12318,-4589.6 12450.74,-4580.94 12484.67,-4579.2 12615,-4552.6 12760.4,-4522.93 12793.67,-4502.72 12936,-4460.74 13041.59,-4429.6 13072.01,-4432.57 13173,-4388.74 13317.56,-4326 13338.86,-4281.42 13480,-4211.32 13668.69,-4117.59 13718.21,-4097.39 13917,-4027.6 15401.88,-3506.29 15877.8,-3784.42 17397,-3373.73 17558.04,-3330.2 17982.24,-3204.87 18085,-3073.46 18176.95,-2955.88 18262.7,-2580.3 18288,-2433.19 18295.46,-2389.83 18408.55,-896.08 18400,-852.92"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_users -->
<g id="edge81" 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="M6459.62,-4647.06C6509.17,-4640.49 6596.66,-4629.85 6672,-4625.6 7963.09,-4552.8 11198.92,-4641.92 12491,-4589.6 12710.99,-4580.69 12768.28,-4591.44 12985,-4552.6 13244.46,-4506.1 13301.82,-4462.09 13555,-4388.74 13805.43,-4316.19 17888.46,-3269.81 18060,-3073.46 18093.65,-3034.94 18184.69,-2212.78 18197,-2163.14"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_validate -->
<g id="edge82" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_validate</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6458,-4588.6C6515.8,-4553.68 7606.05,-4561.46 7673,-4552.6 7779.43,-4538.53 7801.78,-4512.29 7908,-4496.74 7920.93,-4494.85 9774,-4390.12 9787,-4388.74 10092.95,-4356.16 10246.37,-4492.29 10471,-4282.03 10515.44,-4240.43 10501,-4209.26 10501,-4148.39 10501,-4148.39 10501,-4148.39 10501,-3990.6 10501,-3899.1 10821.43,-3298.25 10781,-3216.17 10609.08,-2867.15 10433.47,-2859.62 10087,-2682.62 10037.04,-2657.09 10012.28,-2678.34 9966,-2646.62 9963.34,-2644.79 9896.44,-2557.64 9895,-2554.75 9823.25,-2410.5 9821.3,-2364.62 9800,-2204.92 9794.97,-2167.23 9786.56,-2154.94 9800,-2119.36 9814.73,-2080.38 9862,-2090.69 9862,-2049.01"/>
<path fill="none" stroke="black" d="M9862,-2047.01C9846.26,-1842.38 9624.91,-1948.18 9442,-1855.09 9437.12,-1852.61 9432.06,-1849.93 9427.04,-1847.21"/>
<polygon fill="#e50505" stroke="black" points="9428.95,-1843.71 9418.5,-1841.96 9425.57,-1849.85 9428.95,-1843.71"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_versions -->
<g id="edge83" 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="M3400,-4523.67C3424.85,-4493.27 3438.31,-4492.05 3462,-4460.74 3484.22,-4431.38 3486.7,-4421.76 3503,-4388.74 3604.65,-4182.86 3704,-4142.43 3704,-3912.82 3704,-3912.82 3704,-3912.82 3704,-3620.38 3704,-3397.7 4184.99,-3006.03 4339,-2845.19 4447.15,-2732.25 4440.75,-2657.84 4582,-2590.75 4674.22,-2546.96 4970.7,-2629.72 5040,-2554.75 5065.81,-2526.83 5058.61,-2502.36 5040,-2469.19 5024.96,-2442.41 5002.84,-2454.8 4981,-2433.19 4935.7,-2388.39 4928.63,-2370.81 4905,-2311.63 4822.44,-2104.85 4805,-2043.4 4805,-1820.74 4805,-1820.74 4805,-1820.74 4805,-1498.61 4805,-1404.64 4781.06,-1378.05 4805,-1287.18"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_web -->
<g id="edge84" 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="M6610,-4588.6C6921.21,-4534.27 9137.68,-4572.02 9453,-4552.6 9995.98,-4519.16 10240.51,-4727.71 10666,-4388.74 10887.22,-4212.5 11229.46,-3490.6 11161,-3216.17 11147.54,-3162.23 10957.65,-2820.18 10926,-2774.48 10823.05,-2625.8 10777.45,-2604.08 10657,-2469.19 10608.47,-2414.85 10597.01,-2400.63 10547,-2347.63 10501.33,-2299.24 10495.24,-2280.83 10442,-2240.92 10414.95,-2220.65 10392.35,-2233.94 10375,-2204.92 10331.15,-2131.58 10368.52,-2097.86 10375,-2012.65 10388.82,-1830.93 10437,-1789.56 10437,-1607.32 10437,-1607.32 10437,-1607.32 10437,-1071.76 10437,-822.52 10652.86,-842.53 10859,-702.43 10872.51,-693.24 11392.01,-446.41 11382,-433.5"/>
<path fill="none" stroke="black" d="M11382,-431.5C11278.02,-300.64 5694.11,-228.45 5067.92,-220.76"/>
<polygon fill="#e50505" stroke="black" points="5068.41,-217.26 5058.37,-220.64 5068.32,-224.26 5068.41,-217.26"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_lock -->
<g id="edge85" 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="M6425.29,-4635.38C6430.85,-4620.49 6441.19,-4599.79 6458,-4589.6"/>
<path fill="none" stroke="black" d="M6458,-4588.6C6506.87,-4558.98 7429.13,-4558.17 7486,-4552.6 7641.03,-4537.43 7677.26,-4514.6 7832,-4496.74 8516.69,-4417.73 8692.26,-4447.27 9379,-4388.74 9408.49,-4386.23 10419.15,-4303.98 10439,-4282.03 10502.44,-4211.88 10541.21,-4024.94 10249,-3777.18 10199.34,-3735.07 10163.74,-3773.1 10107,-3741.18 10097.31,-3735.72 9540.3,-3190.42 9536,-3180.17 9523.85,-3151.19 9520.36,-3136.72 9536,-3109.46 9570.07,-3050.06 9632.86,-3089.85 9669,-3031.68"/>
<path fill="none" stroke="black" d="M9669,-3029.68C9679.43,-3012.36 9678.25,-3006.13 9687,-2987.9 9725.55,-2907.57 9773.16,-2899.59 9781,-2810.83"/>
<path fill="none" stroke="black" d="M9781,-2808.83C9782.01,-2765.61 9779.53,-2754.76 9781,-2711.55"/>
</g>
<!-- ahriman_models_aur_package -->
<g id="node143" class="node">
<title>ahriman_models_aur_package</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d10505" stroke="black" cx="5715" cy="-4147.39" rx="50.56" ry="27.93"/>
<text text-anchor="middle" x="5715" y="-4153.64" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5715" y="-4143.14" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="5715" y="-4132.64" 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="edge86" 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="M6377.72,-4652.07C6118.98,-4649.07 4760.24,-4631.35 4760,-4589.6"/>
<path fill="none" stroke="black" d="M4760,-4588.6C4757.69,-4193.58 5441.55,-4151.83 5653.29,-4148.37"/>
<polygon fill="#e50505" stroke="black" points="5653.24,-4151.86 5663.19,-4148.22 5653.14,-4144.86 5653.24,-4151.86"/>
</g>
<!-- ahriman_models_build_status -->
<g id="node145" class="node">
<title>ahriman_models_build_status</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#e50505" stroke="black" cx="11717" cy="-3621.38" rx="48.44" ry="27.93"/>
<text text-anchor="middle" x="11717" y="-3627.63" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11717" y="-3617.13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="11717" y="-3606.63" 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="edge87" 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="M6460,-4647.5C6565.23,-4634.54 6858.58,-4600.23 7104,-4588.6 7169.06,-4585.52 11758.31,-4580.8 11793,-4525.67"/>
<path fill="none" stroke="black" d="M11793,-4523.67C11798.8,-4514.45 11679,-4159.28 11679,-4148.39 11679,-4148.39 11679,-4148.39 11679,-4054.53 11679,-3908.39 11700.83,-3735.51 11711.4,-3660.39"/>
<polygon fill="#e50505" stroke="black" points="11714.99,-3661.01 11712.93,-3650.61 11708.06,-3660.02 11714.99,-3661.01"/>
</g>
<!-- ahriman_models_counters -->
<g id="node147" class="node">
<title>ahriman_models_counters</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a32828" stroke="black" cx="11783" cy="-3529.52" rx="38.36" ry="27.93"/>
<text text-anchor="middle" x="11783" y="-3535.77" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11783" y="-3525.27" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="11783" y="-3514.77" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">counters</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_counters -->
<g id="edge88" 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="M11793,-4523.67C12041.92,-4236.87 11855.14,-3708.49 11798.1,-3566.46"/>
<polygon fill="#e50505" stroke="black" points="11801.08,-3565.48 11794.07,-3557.53 11794.59,-3568.11 11801.08,-3565.48"/>
</g>
<!-- ahriman_models_internal_status -->
<g id="node148" class="node">
<title>ahriman_models_internal_status</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#ae1e1e" stroke="black" cx="11633" cy="-3437.66" rx="56.39" ry="27.93"/>
<text text-anchor="middle" x="11633" y="-3443.91" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11633" y="-3433.41" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="11633" y="-3422.91" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">internal_status</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_internal_status -->
<g id="edge89" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_internal_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6457.37,-4644.72C6528.4,-4630.3 6687.95,-4599.94 6824,-4588.6 7253.75,-4552.8 10280.04,-4625.94 10705,-4552.6 11076.61,-4488.47 11451,-4525.49 11451,-4148.39 11451,-4148.39 11451,-4148.39 11451,-3990.6 11451,-3785.42 11236.81,-3635.65 11413,-3530.52"/>
</g>
<!-- ahriman_models_migration -->
<g id="node151" class="node">
<title>ahriman_models_migration</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b03a3a" stroke="black" cx="12126" cy="-3144.81" rx="39.42" ry="27.93"/>
<text text-anchor="middle" x="12126" y="-3151.06" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12126" y="-3140.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="12126" y="-3130.06" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">migration</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_migration -->
<g id="edge90" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_migration</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6460.07,-4647.28C6509.71,-4641 6596.93,-4630.7 6672,-4625.6 7237.16,-4587.25 7379.64,-4599.32 7946,-4588.6 8002.8,-4587.53 11989.06,-4584.6 12036,-4552.6 12176.9,-4456.55 12249,-3864.78 12249,-3806.11 12249,-3806.11 12249,-3806.11 12249,-3620.38 12249,-3527.85 12174.5,-3305.12 12149,-3216.17 12145.87,-3205.24 12142.15,-3193.46 12138.63,-3182.72"/>
<polygon fill="#e50505" stroke="black" points="12141.67,-3181.79 12135.2,-3173.4 12135.03,-3183.99 12141.67,-3181.79"/>
</g>
<!-- ahriman_models_migration_result -->
<g id="node152" class="node">
<title>ahriman_models_migration_result</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b03a3a" stroke="black" cx="11967" cy="-4524.67" rx="60.1" ry="27.93"/>
<text text-anchor="middle" x="11967" y="-4530.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11967" y="-4520.42" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="11967" y="-4509.92" 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="edge91" 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="M6460.23,-4647.6C6568.13,-4634.65 6873.09,-4599.91 7128,-4588.6 7647.39,-4565.56 11289.07,-4597.89 11807,-4552.6 11838.35,-4549.86 11872.81,-4544.38 11901.7,-4539.08"/>
<polygon fill="#e50505" stroke="black" points="11902.29,-4542.34 11911.48,-4537.06 11901.01,-4535.46 11902.29,-4542.34"/>
</g>
<!-- ahriman_models_package -->
<g id="node153" class="node">
<title>ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#950303" stroke="black" cx="6538" cy="-3621.38" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="6538" y="-3627.63" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6538" y="-3617.13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="6538" y="-3606.63" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_package -->
<g id="edge92" 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="M4368,-4588.6C4337.16,-4538.03 4581.33,-4563.38 4627,-4525.67"/>
<path fill="none" stroke="black" d="M4627,-4523.67C4699,-4464.22 4648.62,-4408.92 4670,-4318.03 4700.55,-4188.15 4648.49,-4118.67 4746,-4027.6 4815.02,-3963.14 5487.16,-3879.62 5581,-3869.04 5634.92,-3862.96 6519.35,-3872.1 6557,-3833.04 6601.77,-3786.58 6576.13,-3704.66 6555.65,-3657.84"/>
<polygon fill="#e50505" stroke="black" points="6558.44,-3656.51 6551.12,-3648.85 6552.06,-3659.4 6558.44,-3656.51"/>
</g>
<!-- ahriman_models_package_description -->
<g id="node154" class="node">
<title>ahriman_models_package_description</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#ae1e1e" stroke="black" cx="7724" cy="-4055.53" rx="74.42" ry="27.93"/>
<text text-anchor="middle" x="7724" y="-4061.78" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7724" y="-4051.28" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="7724" y="-4040.78" 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="edge93" 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="M6421.35,-4635.27C6423.52,-4620.26 6429.2,-4599.3 6444,-4588.6 6525.02,-4530.04 7243.79,-4564.86 7343,-4552.6 7401.13,-4545.42 7416.8,-4545.26 7472,-4525.67"/>
<path fill="none" stroke="black" d="M7472,-4523.67C7514.79,-4508.4 7504.67,-4154.16 7534,-4119.46 7549.4,-4101.24 7602.93,-4084.46 7649.27,-4072.82"/>
<polygon fill="#e50505" stroke="black" points="7650.07,-4075.98 7658.95,-4070.19 7648.4,-4069.18 7650.07,-4075.98"/>
</g>
<!-- ahriman_models_package_source -->
<g id="node155" class="node">
<title>ahriman_models_package_source</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d10505" stroke="black" cx="5038" cy="-3805.11" rx="61.7" ry="27.93"/>
<text text-anchor="middle" x="5038" y="-3811.36" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5038" y="-3800.86" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="5038" y="-3790.36" 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="edge94" 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="M4368,-4523.67C4365.28,-4488.25 4375.09,-4478.55 4368,-4443.74"/>
<path fill="none" stroke="black" d="M4368,-4441.74C4363.13,-4417.87 4357.14,-4412.9 4354,-4388.74 4343.85,-4310.54 4322.31,-4283.52 4354,-4211.32 4412.24,-4078.62 4471.89,-4068.64 4594,-3990.6 4720.05,-3910.03 4887.21,-3851.85 4976.15,-3824.2"/>
<polygon fill="#e50505" stroke="black" points="4977.07,-3827.27 4985.6,-3820.98 4975.01,-3820.58 4977.07,-3827.27"/>
</g>
<!-- ahriman_models_remote_source -->
<g id="node160" class="node">
<title>ahriman_models_remote_source</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c70505" stroke="black" cx="5504" cy="-3713.24" rx="56.92" ry="27.93"/>
<text text-anchor="middle" x="5504" y="-3719.49" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5504" y="-3708.99" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="5504" y="-3698.49" 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="edge95" 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="M4368,-4523.67C4362.62,-4453.63 4652.87,-4034.15 4708,-3990.6 4768.72,-3942.63 5272.75,-3785.2 5445.88,-3731.99"/>
<polygon fill="#e50505" stroke="black" points="5446.78,-3735.07 5455.31,-3728.79 5444.73,-3728.38 5446.78,-3735.07"/>
</g>
<!-- ahriman_models_repository_paths -->
<g id="node162" class="node">
<title>ahriman_models_repository_paths</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#e50505" stroke="black" cx="7271" cy="-4524.67" rx="62.76" ry="27.93"/>
<text text-anchor="middle" x="7271" y="-4530.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7271" y="-4520.42" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="7271" y="-4509.92" 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="edge96" 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="M4760,-4588.6C4759.81,-4555.32 7122.97,-4556.67 7156,-4552.6 7173.11,-4550.5 7191.38,-4546.87 7208.2,-4542.95"/>
<polygon fill="#e50505" stroke="black" points="7208.57,-4546.22 7217.47,-4540.48 7206.93,-4539.41 7208.57,-4546.22"/>
</g>
<!-- ahriman_models_result -->
<g id="node163" class="node">
<title>ahriman_models_result</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d10505" stroke="black" cx="6200" cy="-2618.69" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="6200" y="-2624.94" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6200" y="-2614.44" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="6200" y="-2603.94" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">result</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_result -->
<g id="edge97" 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="M4368,-4441.74C4362.96,-4355.64 4368,-4333.93 4368,-4247.67 4368,-4247.67 4368,-4247.67 4368,-4146.39 4368,-3994.21 4406,-3958.28 4406,-3806.11 4406,-3806.11 4406,-3806.11 4406,-3712.24 4406,-3608.61 4453.51,-3590.96 4506,-3501.59 4564.97,-3401.18 4575.96,-3370.81 4658,-3288.17 4785.52,-3159.71 5157.46,-2894.44 5318,-2810.83"/>
<path fill="none" stroke="black" d="M5318,-2808.83C5600.11,-2641.1 6011.43,-2621.23 6151.33,-2619.54"/>
<polygon fill="#e50505" stroke="black" points="6151.13,-2623.03 6161.09,-2619.44 6151.06,-2616.03 6151.13,-2623.03"/>
</g>
<!-- ahriman_web_apispec -->
<g id="node171" class="node">
<title>ahriman_web_apispec</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="11658" cy="-966.05" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="11658" y="-972.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11658" y="-961.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="11658" y="-951.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">apispec</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_apispec -->
<g id="edge98" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_apispec</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6459.62,-4647.15C6509.18,-4640.68 6596.68,-4630.13 6672,-4625.6 6746.9,-4621.1 12009.43,-4590.83 12074,-4552.6 12164.88,-4498.79 12213.31,-4078.53 12589,-3685.31 12708.43,-3560.31 12775.76,-3574.54 12910,-3465.59 12955.85,-3428.38 12964.48,-3415.73 13006,-3373.73 13088.8,-3289.97 13122.04,-3278.41 13187,-3180.17 13342.64,-2944.79 13489.75,-2864.93 13423,-2590.75 13395.47,-2477.69 12986.1,-1765.71 12910,-1677.67 12847.03,-1604.83 12818.69,-1599.24 12747,-1534.96 12736.1,-1525.18 12565.53,-1363.14 12552,-1357.54 12404.4,-1296.41 11982.13,-1381.37 11834,-1321.54 11789.69,-1303.64 11790.93,-1279.9 11753,-1250.83 11708.42,-1216.65 11683.76,-1223.8 11648,-1180.47"/>
<path fill="none" stroke="black" d="M11648,-1178.47C11607.42,-1129.09 11626.61,-1049.2 11643.07,-1003.07"/>
<polygon fill="#e50505" stroke="black" points="11646.64,-1004.52 11646.84,-993.93 11640.08,-1002.08 11646.64,-1004.52"/>
</g>
<!-- ahriman_web_middlewares_auth_handler -->
<g id="node174" class="node">
<title>ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="18206" cy="-966.05" rx="51.62" ry="35.36"/>
<text text-anchor="middle" x="18206" y="-977.55" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="18206" y="-967.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="18206" y="-956.55" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">middlewares.</text>
<text text-anchor="middle" x="18206" y="-946.05" 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="edge99" 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="M6459.62,-4647.06C6509.17,-4640.5 6596.66,-4629.86 6672,-4625.6 7296.46,-4590.33 11679.31,-4658.1 12301,-4589.6 12406.24,-4578.01 13000.78,-4430.9 13099,-4388.74 13167.73,-4359.24 13319.99,-4248.31 13385,-4211.32 13492.1,-4150.38 13522.31,-4141.5 13631,-4083.46 13736.07,-4027.35 13784.52,-4041.49 13866,-3954.6 13894.71,-3923.98 13875.49,-3897.87 13906,-3869.04 14158.44,-3630.48 15026.47,-3394.84 15357,-3288.17 16337.65,-2971.68 16717.19,-3202.26 17585,-2646.62 17825.2,-2492.82 18007,-2448.36 18007,-2163.14 18007,-2163.14 18007,-2163.14 18007,-1712.03 18007,-1553.84 17979.73,-1504.21 18039,-1357.54 18046.7,-1338.49 18055.67,-1337.97 18068,-1321.54 18079.18,-1306.64 18081.33,-1302.45 18092,-1287.18"/>
</g>
<!-- ahriman_web_views_api_swagger -->
<g id="node204" class="node">
<title>ahriman_web_views_api_swagger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="15588" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="15588" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15588" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15588" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="15588" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">api.</text>
<text text-anchor="middle" x="15588" y="-826.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">swagger</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_views_api_swagger -->
<g id="edge100" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_views_api_swagger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12287,-4441.74C12292.7,-4400.22 12594.98,-4102.82 12718,-3990.6 13176.51,-3572.34 13411.42,-3579.3 13771,-3073.46 13920.53,-2863.11 13982.89,-2808.11 14032,-2554.75 14036.35,-2532.31 14035.54,-2354.48 14031,-2347.63 14008.8,-2314.11 13976.42,-2340.08 13948,-2311.63 13912.01,-2275.62 13788.46,-1936.79 13766,-1891.09 13742.1,-1842.46 13734.29,-1831.2 13707,-1784.38 13650.95,-1688.23 13668.83,-1632.35 13576,-1570.96 13485.67,-1511.22 13422.56,-1598.7 13335,-1534.96 13306.71,-1514.37 13295.52,-1411.01 13265,-1393.9"/>
<path fill="none" stroke="black" d="M13265,-1391.9C13245.31,-1382.54 13249.93,-1366.37 13230,-1357.54 13104.44,-1301.89 12728.95,-1395.15 12613,-1321.54 12466.31,-1228.42 12468.05,-1011.26 12622,-930.7 12765.69,-855.5 15389.77,-953.27 15541,-894.7 15544.95,-893.17 15548.79,-891.14 15552.45,-888.8"/>
<polygon fill="#e50505" stroke="black" points="15554.14,-891.17 15560.16,-882.45 15550.02,-885.51 15554.14,-891.17"/>
</g>
<!-- ahriman_web_views_base -->
<g id="node205" class="node">
<title>ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#950303" stroke="black" cx="16370" cy="-966.05" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="16370" y="-977.55" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16370" y="-967.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="16370" y="-956.55" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="16370" y="-946.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">base</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_views_base -->
<g id="edge101" 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="M12287,-4588.6C12344.07,-4573.26 12361.16,-4576.97 12415,-4552.6 12456.52,-4533.8 12460.35,-4517.35 12501,-4496.74 12581.55,-4455.91 12603.95,-4448.78 12691,-4424.74 12776.73,-4401.06 13046.26,-4434.45 13085,-4354.39"/>
<path fill="none" stroke="black" d="M13085,-4352.39C13098.65,-4323.57 13074.13,-4313.76 13071,-4282.03 13067.92,-4250.75 13055.56,-4238.69 13071,-4211.32 13109.78,-4142.57 13154.79,-4159.18 13223,-4119.46 13352.46,-4044.07 13388.92,-4032.31 13517,-3954.6 13665.06,-3864.77 13701.6,-3841.16 13843,-3741.18 13926.96,-3681.81 14504.66,-3251.21 14579,-3180.17 14618.12,-3142.79 15174.66,-2478.66 15204,-2433.19 15483.96,-1999.39 15318.09,-1714.23 15723,-1393.9"/>
<path fill="none" stroke="black" d="M15723,-1391.9C15872.99,-1290.37 16367.14,-1389.56 16535,-1321.54 16621.33,-1286.56 16716.89,-1269.66 16690,-1180.47"/>
</g>
<!-- ahriman_web_views_index -->
<g id="node206" class="node">
<title>ahriman_web_views_index</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="17604" cy="-851.92" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="17604" y="-863.42" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="17604" y="-852.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="17604" y="-842.42" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="17604" y="-831.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">index</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_views_index -->
<g id="edge102" 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="M13085,-4352.39C13094.92,-4339.22 13089.27,-4331.34 13099,-4318.03 13180.3,-4206.82 13224.29,-4198.67 13337,-4119.46 13431.61,-4052.97 14130.33,-3642.61 14235,-3593.45 15439.07,-3028.01 15900.73,-3238.14 17042,-2554.75 17187.18,-2467.82 17211.94,-2427.78 17335,-2311.63 17385,-2264.44 17405.18,-2259.5 17447,-2204.92 17555.36,-2063.51 17798.58,-1675.97 17830,-1500.61"/>
<path fill="none" stroke="black" d="M17830,-1498.61C17838.79,-1387.54 17814.47,-1348.54 17868,-1250.83 17879.65,-1229.56 17899,-1236.92 17909,-1214.83 17921.96,-1186.2 17909.74,-1175.54 17909,-1144.12 17907.89,-1096.65 17927.94,-1078.41 17904,-1037.41 17874.37,-986.64 17840.79,-999.84 17792,-967.05"/>
</g>
<!-- ahriman_web_views_service_search -->
<g id="node214" class="node">
<title>ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="15306" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="15306" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15306" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15306" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="15306" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="15306" y="-826.67" 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="edge103" 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="M6459.62,-4647.06C6509.17,-4640.5 6596.66,-4629.86 6672,-4625.6 6748.23,-4621.29 12099.3,-4620.75 12169,-4589.6"/>
<path fill="none" stroke="black" d="M12169,-4588.6C12172.53,-4587.02 12233.46,-4321.58 12235,-4318.03 12296.12,-4176.67 12322.43,-4143.36 12424,-4027.6 12800.24,-3598.81 13105.33,-3675.66 13388,-3180.17 13572.42,-2856.9 13539.86,-2714.63 13478,-2347.63 13469.87,-2299.39 13467.87,-2286.85 13451,-2240.92 13412.04,-2134.85 13396.97,-2109.66 13339,-2012.65 13269.5,-1896.35 13053.61,-1600.54 13012,-1570.96 12969.04,-1540.42 12945.31,-1560.14 12899,-1534.96 12789.86,-1475.62 12798.89,-1402.31 12683,-1357.54 12532.53,-1299.41 12108.46,-1379.7 11958,-1321.54 11911.85,-1303.7 11910.91,-1281.4 11872,-1250.83 11851.03,-1234.36 11835.93,-1238.68 11824,-1214.83 11795.82,-1158.48 11827.28,-1135.85 11838,-1073.76"/>
<path fill="none" stroke="black" d="M11838,-1071.76C11842.54,-974.71 11913.94,-964.58 12005,-930.7 12174.44,-867.65 15090.37,-959.88 15259,-894.7 15262.95,-893.17 15266.79,-891.14 15270.45,-888.81"/>
<polygon fill="#e50505" stroke="black" points="15272.14,-891.18 15278.17,-882.46 15268.02,-885.52 15272.14,-891.18"/>
</g>
<!-- ahriman_web_views_status_logs -->
<g id="node218" class="node">
<title>ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="16058" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="16058" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16058" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="16058" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="16058" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="16058" y="-826.67" 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="edge104" 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="M12287,-4588.6C12327.11,-4578.21 12340.3,-4578.05 12373,-4552.6 12397.51,-4533.53 12392.15,-4517.79 12415,-4496.74 12507.56,-4411.47 14221.42,-3350.06 14331,-3288.17 14354.28,-3275.02 14531.97,-3202.92 14546,-3180.17 14562.5,-3153.42 14546.43,-3140.88 14546,-3109.46 14543.56,-2932.56 14535,-2888.46 14535,-2711.55 14535,-2711.55 14535,-2711.55 14535,-2617.69 14535,-2366.8 14291.06,-1746.69 14112,-1570.96 14088.98,-1548.37 14076.71,-1551.45 14049,-1534.96 13842.81,-1412.28 13812.93,-1339.51 13590,-1250.83 13516.22,-1221.48 13465.17,-1276.38 13415,-1214.83 13395.14,-1190.47 13393.54,-1167.08 13415,-1144.12 13575.14,-972.76 15288.79,-1034.38 15521,-1001.41 15741.67,-970.08 15812.34,-995.75 16011,-894.7 16014.73,-892.8 16018.39,-890.54 16021.92,-888.06"/>
<polygon fill="#e50505" stroke="black" points="16023.61,-890.41 16029.41,-881.55 16019.34,-884.86 16023.61,-890.41"/>
</g>
<!-- ahriman_web_views_status_package -->
<g id="node219" class="node">
<title>ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="15494" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="15494" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15494" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15494" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="15494" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="15494" y="-826.67" 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="edge105" 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="M12169,-4588.6C12224.01,-4566.09 12242.76,-4565.37 12287,-4525.67"/>
<path fill="none" stroke="black" d="M12287,-4523.67C12313.44,-4499.94 12287,-4479.27 12287,-4443.74"/>
<path fill="none" stroke="black" d="M12287,-4441.74C12287,-4385.73 12285.2,-4367.74 12311,-4318.03 12367.42,-4209.35 12415.57,-4206.2 12502,-4119.46 12560.09,-4061.15 12575.25,-4047.2 12635,-3990.6 12781.45,-3851.86 13172.99,-3529.64 13301,-3373.73 13365.08,-3295.68 13368.92,-3267.28 13420,-3180.17 13595.64,-2880.61 13793.82,-2812.86 13744,-2469.19 13672.17,-1973.66 13410.65,-1932.27 13064,-1570.96 12972.73,-1475.83 12977.97,-1412.2 12858,-1357.54 12787.83,-1325.57 12218.09,-1377.46 12165,-1321.54 12031.88,-1181.33 12182.32,-1015.65 12356,-930.7 12510.27,-855.24 15286.84,-956.66 15447,-894.7 15450.95,-893.17 15454.79,-891.14 15458.45,-888.8"/>
<polygon fill="#e50505" stroke="black" points="15460.14,-891.17 15466.17,-882.46 15456.02,-885.51 15460.14,-891.17"/>
</g>
<!-- ahriman_web_views_user_login -->
<g id="node223" class="node">
<title>ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="15682" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="15682" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15682" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15682" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="15682" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">user.</text>
<text text-anchor="middle" x="15682" y="-826.67" 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="edge106" 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="M12287,-4523.67C12298.19,-4513.63 12452.67,-4328.96 12463,-4318.03 12607.59,-4165.14 12646.67,-4129.21 12805,-3990.6 13110.59,-3723.05 13225.46,-3705.77 13553,-3465.59 13717.66,-3344.85 13804.7,-3353.27 13913,-3180.17 13950.69,-3119.92 14038.7,-2625.34 14047,-2554.75 14063.31,-2416.07 14069.61,-2380.36 14062,-2240.92 14056.44,-2139.02 14070.45,-2109.08 14037,-2012.65 13997.05,-1897.5 13957.79,-1882.15 13885,-1784.38 13872.9,-1768.12 13867.7,-1765.6 13857,-1748.38 13810.74,-1673.96 13838.97,-1626.27 13771,-1570.96 13720.16,-1529.6 13687.67,-1562.07 13628,-1534.96 13577.78,-1512.15 13573.34,-1492.57 13526,-1464.25 13436.5,-1410.71 13417.81,-1384.29 13317,-1357.54 13234.11,-1335.55 12605.21,-1383.58 12546,-1321.54 12491.56,-1264.5 12514.63,-1216.46 12546,-1144.12 12557.94,-1116.58 12723.31,-980.79 12750,-967.05"/>
<path fill="none" stroke="black" d="M12750,-965.05C12812.88,-931.16 12836.04,-938.85 12907,-930.7 13057.58,-913.41 15493.68,-949.5 15635,-894.7 15638.95,-893.16 15642.79,-891.14 15646.45,-888.8"/>
<polygon fill="#e50505" stroke="black" points="15648.14,-891.17 15654.16,-882.45 15644.02,-885.51 15648.14,-891.17"/>
</g>
<!-- ahriman_web_views_user_logout -->
<g id="node224" class="node">
<title>ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="15964" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="15964" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15964" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15964" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="15964" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">user.</text>
<text text-anchor="middle" x="15964" y="-826.67" 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="edge107" 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="M6459.62,-4647.06C6509.17,-4640.5 6596.66,-4629.86 6672,-4625.6 6827.73,-4616.8 12136.89,-4631.98 12287,-4589.6"/>
<path fill="none" stroke="black" d="M12287,-4588.6C12326.9,-4577.34 12514.51,-4347.18 12544,-4318.03 12752.7,-4111.78 12791.3,-4042.43 13028,-3869.04 13236.48,-3716.32 14003,-3493.6 14003,-3235.17 14003,-3235.17 14003,-3235.17 14003,-3143.81 14003,-2640.44 14187.86,-2499.52 14060,-2012.65 14002.65,-1794.27 13972.64,-1726.54 13809,-1570.96 13785.35,-1548.47 13773.09,-1551.58 13745,-1534.96 13629.03,-1466.34 13295.47,-1332.61 13230,-1214.83 13188.32,-1139.85 13230.85,-1078.78 13306,-1037.41 13369.63,-1002.38 15849.84,-922.36 15917,-894.7 15920.92,-893.08 15924.73,-891 15928.38,-888.62"/>
<polygon fill="#e50505" stroke="black" points="15930.1,-890.97 15936.07,-882.21 15925.94,-885.33 15930.1,-890.97"/>
</g>
<!-- ahriman_web_web -->
<g id="node225" class="node">
<title>ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="13341" cy="-531.79" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="13341" y="-538.04" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13341" y="-527.54" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="13341" y="-517.04" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_web -->
<g id="edge108" 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="M6456.96,-4644.55C6526.08,-4630.06 6679.76,-4599.88 6811,-4588.6 6917.72,-4579.43 10572.56,-4603.15 10667,-4552.6 10693.47,-4538.43 10684.52,-4518.7 10705,-4496.74 10875.56,-4313.79 11147,-4398.51 11147,-4148.39 11147,-4148.39 11147,-4148.39 11147,-3712.24 11147,-3479.75 11390.07,-3435.52 11313,-3216.17 11269.9,-3093.49 11231.82,-3068.78 11130,-2987.9 11101.05,-2964.9 11078.41,-2980.52 11055,-2951.9 11024.03,-2914.03 11039.69,-2892.69 11028,-2845.19 10986.93,-2678.34 10984.06,-2634.74 10938,-2469.19 10904.97,-2350.46 10872.89,-2326.71 10854,-2204.92 10835.56,-2086.03 10873,-2055.19 10873,-1934.87 10873,-1934.87 10873,-1934.87 10873,-736.78 10873,-610.68 12946.4,-544.36 13292.34,-534.18"/>
<polygon fill="#e50505" stroke="black" points="13292.33,-537.65 13302.22,-533.86 13292.12,-530.65 13292.33,-537.65"/>
</g>
<!-- ahriman_core_alpm -->
<g id="node38" class="node">
<title>ahriman_core_alpm</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f91010" stroke="black" cx="8200" cy="-3805.11" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="8200" y="-3811.36" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8200" y="-3800.86" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8200" y="-3790.36" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm</text>
</g>
<!-- ahriman_core_alpm&#45;&gt;ahriman_application_handlers_search -->
<g id="edge109" 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="M8161.79,-3803.47C7839.19,-3798.12 5579.26,-3759.99 5438,-3741.18 5151.09,-3702.95 3184.36,-3191.34 2920,-3073.46 2855.51,-3044.7 2430.88,-2787.43 2380,-2738.48 2309.01,-2670.17 2284.82,-2648.96 2256,-2554.75 2244.88,-2518.39 2253.78,-2507.16 2256,-2469.19 2272.03,-2194.86 2311.97,-2129.43 2328,-1855.09 2329.83,-1823.72 2328.44,-1815.81 2328,-1784.38 2326,-1642.07 2220.3,-1252.97 2312,-1144.12 2372.73,-1072.03 2460.27,-1180.2 2521,-1108.12 2573.12,-1046.26 2589.88,-1124.24 2445,-702.43 2441.78,-693.06 2437.69,-683.27 2433.5,-674.08"/>
<polygon fill="#f91010" stroke="black" points="2436.37,-672.95 2428.95,-665.39 2430.03,-675.93 2436.37,-672.95"/>
</g>
<!-- ahriman_core_repository_repository -->
<g id="node110" class="node">
<title>ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="8087" cy="-1606.32" rx="43.66" ry="35.36"/>
<text text-anchor="middle" x="8087" y="-1617.82" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8087" y="-1607.32" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8087" y="-1596.82" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository.</text>
<text text-anchor="middle" x="8087" y="-1586.32" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository</text>
</g>
<!-- ahriman_core_alpm&#45;&gt;ahriman_core_repository_repository -->
<g id="edge110" class="edge">
<title>ahriman_core_alpm&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8228.09,-3786.23C8233.03,-3783.16 8238.15,-3780.05 8243,-3777.18 8559.7,-3589.8 8724.27,-3651.17 8966,-3373.73 9131.62,-3183.64 9086.9,-3082.51 9172,-2845.19 9196.95,-2775.62 9234.31,-2751.3 9207,-2682.62 9198.87,-2662.17 9181.13,-2667.07 9173,-2646.62 9163.83,-2623.55 9172.68,-2615.58 9173,-2590.75 9177.44,-2248.44 9176.56,-2162.69 9193,-1820.74"/>
</g>
<!-- ahriman_core_repository_repository_properties -->
<g id="node111" class="node">
<title>ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="8665" cy="-1933.87" rx="76.54" ry="35.36"/>
<text text-anchor="middle" x="8665" y="-1945.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8665" y="-1934.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8665" y="-1924.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository.</text>
<text text-anchor="middle" x="8665" y="-1913.87" 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="edge111" 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="M8200,-3776.71C8200,-3741.13 8200,-3677.12 8200,-3622.38 8200,-3622.38 8200,-3622.38 8200,-3233.17 8200,-3159.82 8301.82,-2644.25 8352,-2590.75 8384.32,-2556.3 8423.53,-2592.45 8452,-2554.75 8526.49,-2456.11 8402.88,-2380.43 8471,-2277.28"/>
</g>
<!-- ahriman_core_alpm&#45;&gt;ahriman_models_package -->
<g id="edge112" 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="M8162.56,-3800.01C7943.79,-3776.09 6832.02,-3654.53 6586.17,-3627.65"/>
<polygon fill="#f91010" stroke="black" points="6586.78,-3624.09 6576.45,-3626.48 6586.01,-3631.04 6586.78,-3624.09"/>
</g>
<!-- ahriman_core_alpm&#45;&gt;ahriman_web_views_service_search -->
<g id="edge113" 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="M8238.14,-3803.04C8616.26,-3792.37 11682.81,-3704.29 11866,-3649.31 11912.18,-3635.45 11913.17,-3608.44 11959,-3593.45 12125.71,-3538.92 12182.33,-3601.92 12352,-3557.45 12545.16,-3506.83 12586.13,-3468.3 12762,-3373.73 12832.7,-3335.71 13021.22,-3246.11 13067,-3180.17 13163.76,-3040.8 13207.35,-2601.94 13225,-2433.19 13253,-2165.49 13106.66,-2113.47 12955,-1891.09 12904.14,-1816.52 12775.61,-1627.19 12705,-1570.96 12675.45,-1547.43 12656.64,-1559.6 12628,-1534.96 12584.82,-1497.81 12586.29,-1477.11 12557,-1428.25 12538.65,-1397.65 12549.18,-1376.57 12519,-1357.54 12375.97,-1267.37 11902.52,-1410.93 11759,-1321.54 11728.54,-1302.57 11746.71,-1274.81 11720,-1250.83 11689.17,-1223.15 11658.77,-1248.04 11634,-1214.83 11558.25,-1113.27 11521.86,-1020.72 11611,-930.7 11682.3,-858.69 15164.46,-931.18 15259,-894.7 15262.95,-893.17 15266.79,-891.15 15270.45,-888.81"/>
<polygon fill="#f91010" stroke="black" points="15272.14,-891.18 15278.17,-882.47 15268.03,-885.52 15272.14,-891.18"/>
</g>
<!-- ahriman_core_alpm_pacman -->
<g id="node39" class="node">
<title>ahriman_core_alpm_pacman</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a90404" stroke="black" cx="7731" cy="-2511.97" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="7731" y="-2523.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7731" y="-2512.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="7731" y="-2502.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="7731" y="-2491.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pacman</text>
</g>
<!-- ahriman_core_alpm_remote_aur -->
<g id="node41" class="node">
<title>ahriman_core_alpm_remote_aur</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a2e2e" stroke="black" cx="5766" cy="-3911.82" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="5766" y="-3928.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5766" y="-3918.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5766" y="-3907.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="5766" y="-3897.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote.</text>
<text text-anchor="middle" x="5766" y="-3886.57" 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="edge114" 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="M7520,-2619.69C7491.22,-2643.14 7177.05,-3149.59 7156,-3180.17 7009.68,-3392.7 6972.32,-3445.56 6814,-3649.31 6742.71,-3741.07 6735.77,-3789.61 6628,-3833.04 6522.41,-3875.58 6230.33,-3858.31 6117,-3869.04 6002.75,-3879.85 5868.13,-3897.16 5803.85,-3905.7"/>
</g>
<!-- ahriman_core_alpm_remote_official -->
<g id="node42" class="node">
<title>ahriman_core_alpm_remote_official</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a2e2e" stroke="black" cx="1244" cy="-2390.41" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="1244" y="-2407.16" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1244" y="-2396.66" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="1244" y="-2386.16" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="1244" y="-2375.66" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote.</text>
<text text-anchor="middle" x="1244" y="-2365.16" 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="edge115" 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="M7692.96,-2509.4C7536.8,-2503.03 6929.61,-2478.97 6430,-2469.19 6358.64,-2467.8 1357.63,-2458.8 1291,-2433.19 1287.04,-2431.67 1283.21,-2429.65 1279.54,-2427.32"/>
<polygon fill="#a90404" stroke="black" points="1281.97,-2424.03 1271.82,-2420.98 1277.85,-2429.69 1281.97,-2424.03"/>
</g>
<!-- ahriman_core_alpm_remote_official_syncdb -->
<g id="node43" class="node">
<title>ahriman_core_alpm_remote_official_syncdb</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a2e2e" stroke="black" cx="1356" cy="-2390.41" rx="56.39" ry="42.78"/>
<text text-anchor="middle" x="1356" y="-2407.16" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1356" y="-2396.66" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="1356" y="-2386.16" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="1356" y="-2375.66" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote.</text>
<text text-anchor="middle" x="1356" y="-2365.16" 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="edge116" 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="M7692.96,-2509.42C7536.8,-2503.09 6929.61,-2479.19 6430,-2469.19 5419.5,-2448.97 2891.74,-2477.24 1882,-2433.19 1716.6,-2425.98 1522.59,-2408.13 1422.79,-2398.26"/>
<polygon fill="#a90404" stroke="black" points="1423.27,-2394.69 1412.97,-2397.18 1422.57,-2401.65 1423.27,-2394.69"/>
</g>
<!-- ahriman_core_alpm_remote_remote -->
<g id="node44" class="node">
<title>ahriman_core_alpm_remote_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#913030" stroke="black" cx="9677" cy="-2162.14" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="9677" y="-2178.89" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9677" y="-2168.39" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9677" y="-2157.89" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="9677" y="-2147.39" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote.</text>
<text text-anchor="middle" x="9677" y="-2136.89" 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="edge117" 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="M7766.72,-2499.68C7799.08,-2489.93 7848.25,-2476.33 7892,-2469.19 8119.33,-2432.11 8180.91,-2465.26 8409,-2433.19 8890.99,-2365.43 9463.49,-2219.45 9629.65,-2175.75"/>
<polygon fill="#a90404" stroke="black" points="9630.22,-2178.96 9639,-2173.02 9628.44,-2172.19 9630.22,-2178.96"/>
</g>
<!-- ahriman_core_alpm_pacman&#45;&gt;ahriman_core_repository_repository -->
<g id="edge118" class="edge">
<title>ahriman_core_alpm_pacman&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7750.61,-2481.58C7775.39,-2443.54 7818.27,-2374.67 7847,-2311.63 7956.79,-2070.8 8044.57,-1764.31 8075.25,-1651.53"/>
<polygon fill="#a90404" stroke="black" points="8078.8,-1652.8 8078.04,-1642.23 8072.05,-1650.97 8078.8,-1652.8"/>
</g>
<!-- ahriman_core_alpm_pacman&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge119" 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="M7763.77,-2494.14C7780.6,-2485.92 7801.58,-2476.29 7821,-2469.19 7878.11,-2448.32 7895.58,-2453.2 7953,-2433.19 8044.3,-2401.39 8061.42,-2378.62 8153,-2347.63 8214.67,-2326.77 8238.54,-2344.06 8295,-2311.63 8448.09,-2223.7 8580.24,-2054.86 8636.31,-1976.6"/>
<polygon fill="#a90404" stroke="black" points="8639.51,-1979.14 8642.46,-1968.96 8633.81,-1975.08 8639.51,-1979.14"/>
</g>
<!-- ahriman_core_alpm_pacman&#45;&gt;ahriman_models_package -->
<g id="edge120" 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="M7697.4,-2528.64C7648.45,-2551.6 7560.02,-2593.61 7529.2,-2611.69"/>
<polygon fill="#a90404" stroke="black" points="7527.47,-2609.29 7521,-2617.69 7531.29,-2615.16 7527.47,-2609.29"/>
<path fill="none" stroke="black" d="M7520,-2619.69C7300.46,-2775.89 7312.04,-2886.52 7118,-3073.46 7006.33,-3181.04 6961.43,-3188.07 6843,-3288.17 6781.84,-3339.86 6765.21,-3351.73 6710,-3409.73 6649.29,-3473.51 6585.75,-3556.16 6555.72,-3596.34"/>
</g>
<!-- ahriman_core_alpm_remote -->
<g id="node40" class="node">
<title>ahriman_core_alpm_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b30404" stroke="black" cx="6164" cy="-3911.82" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="6164" y="-3923.32" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6164" y="-3912.82" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6164" y="-3902.32" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="6164" y="-3891.82" 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="edge121" 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="M6126.45,-3905.24C6062.34,-3895.96 5927.59,-3877.55 5813,-3869.04 5279.57,-3829.39 5143.3,-3874.48 4610,-3833.04 4283.98,-3807.7 3474.3,-3691.24 3150,-3649.31 2655.11,-3585.34 2533.23,-3554.12 2037,-3501.59 1936.14,-3490.91 1672,-3512.36 1582,-3465.59 1466.13,-3405.37 1014.91,-2590.08 974,-2433.19 964.4,-2396.4 969.71,-2385.42 974,-2347.63 991.22,-2195.85 1014.27,-2160.93 1051,-2012.65 1072.22,-1926.99 1102,-1908.99 1102,-1820.74 1102,-1820.74 1102,-1820.74 1102,-1712.03 1102,-1551.99 1220.24,-1125.26 1354,-1037.41 1374.51,-1023.94 2217.78,-877.46 2218,-852.92"/>
<path fill="none" stroke="black" d="M2218,-850.92C2237.01,-782.76 2279.67,-787.48 2331,-738.78"/>
</g>
<!-- ahriman_core_alpm_remote&#45;&gt;ahriman_models_package -->
<g id="edge122" 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="M6202.14,-3911.15C6339.12,-3910.88 6792.61,-3896.45 6686,-3714.24"/>
<path fill="none" stroke="black" d="M6686,-3712.24C6678.9,-3702.02 6618.97,-3667.38 6577.59,-3644.21"/>
<polygon fill="#b30404" stroke="black" points="6579.47,-3640.7 6569.03,-3638.88 6576.06,-3646.81 6579.47,-3640.7"/>
</g>
<!-- ahriman_core_alpm_remote&#45;&gt;ahriman_web_views_service_search -->
<g id="edge123" 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="M6201.82,-3907.44C6294.6,-3899.31 6540.97,-3878.59 6747,-3869.04 7502.36,-3834 7692.17,-3855.61 8448,-3833.04 8977.27,-3817.23 10300.48,-3773.48 10829,-3741.18 11317.35,-3711.32 11442.94,-3726.98 11926,-3649.31 12031.14,-3632.41 12054.85,-3615.64 12159,-3593.45 12244.34,-3575.27 12268.16,-3581.63 12352,-3557.45 12696.03,-3458.26 12878.28,-3411.6 12996,-3073.46 13135.43,-2672.98 13112.22,-2529.11 13003,-2119.36 12972.87,-2006.34 12934.5,-1989.97 12872,-1891.09 12860.44,-1872.8 12666.58,-1584.88 12650,-1570.96 12620.76,-1546.41 12601.19,-1559.57 12572,-1534.96 12498.83,-1473.28 12533.57,-1404.16 12450,-1357.54 12308.16,-1278.41 11864.1,-1396.47 11720,-1321.54 11684.68,-1303.17 11696.24,-1275.51 11665,-1250.83 11634.72,-1226.91 11611.36,-1243.91 11586,-1214.83 11502.67,-1119.3 11468.9,-1017.8 11561,-930.7 11635.64,-860.11 15163.16,-931.67 15259,-894.7 15262.95,-893.17 15266.79,-891.15 15270.45,-888.81"/>
<polygon fill="#b30404" stroke="black" points="15272.14,-891.18 15278.17,-882.47 15268.03,-885.52 15272.14,-891.18"/>
</g>
<!-- ahriman_core_alpm_remote_aur&#45;&gt;ahriman_core_alpm_remote -->
<g id="edge124" 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="M5804.09,-3911.82C5907.63,-3911.82 6011.16,-3911.82 6114.7,-3911.82"/>
<polygon fill="#8a2e2e" stroke="black" points="6114.69,-3915.32 6124.69,-3911.82 6114.69,-3908.32 6114.69,-3915.32"/>
</g>
<!-- ahriman_core_alpm_remote_official&#45;&gt;ahriman_core_alpm_remote -->
<g id="edge125" 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="M1256.52,-2431.07C1301.17,-2572.33 1450.91,-3044.2 1468,-3073.46 1482.88,-3098.93 1799.38,-3452.88 1826,-3465.59 1946.54,-3523.14 2293.03,-3488.94 2426,-3501.59 2616.97,-3519.76 2663.71,-3533.13 2854,-3557.45 3634.18,-3657.18 3834.25,-3647.41 4610,-3777.18 4729.15,-3797.11 4756.11,-3818.25 4876,-3833.04 5289.62,-3884.04 5397.53,-3836.38 5813,-3869.04 5921.52,-3877.57 6048.16,-3894.33 6115.72,-3903.83"/>
<polygon fill="#8a2e2e" stroke="black" points="6115.05,-3907.41 6125.44,-3905.34 6116.03,-3900.48 6115.05,-3907.41"/>
</g>
<!-- ahriman_core_alpm_remote_official_syncdb&#45;&gt;ahriman_core_alpm_remote -->
<g id="edge126" 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="M1360.06,-2433.33C1364.56,-2467.34 1373.73,-2515.85 1392,-2554.75 1400.62,-2573.1 1408.42,-2574.12 1420,-2590.75 1474.91,-2669.62 1487.2,-2690.55 1534,-2774.48 1632.1,-2950.4 1645.08,-3000.44 1736,-3180.17 1752.24,-3212.27 1756.36,-3220.27 1773,-3252.17 1822.64,-3347.33 1795.2,-3408.37 1886,-3465.59 1968.98,-3517.88 2671.12,-3486.3 2768,-3501.59 2859.16,-3515.98 2877.43,-3539.7 2968,-3557.45 3805.67,-3721.6 4069.18,-3498.47 4876,-3777.18 4920.86,-3792.67 4921.55,-3819.4 4967,-3833.04 5202.74,-3903.78 5834.55,-3812.07 6074,-3869.04 6090.63,-3872.99 6107.9,-3880.16 6122.81,-3887.46"/>
<polygon fill="#8a2e2e" stroke="black" points="6120.73,-3890.84 6131.23,-3892.24 6123.89,-3884.59 6120.73,-3890.84"/>
</g>
<!-- ahriman_core_alpm_remote_remote&#45;&gt;ahriman_core_alpm_remote -->
<g id="edge127" 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="M9683.87,-2204.4C9702.15,-2309.48 9755,-2583.35 9819,-2646.62 9861.03,-2688.16 9901.38,-2645.05 9947,-2682.62 9998.25,-2724.83 10200.64,-3151.58 10216,-3216.17 10219.7,-3231.74 10225.33,-3239.17 10216,-3252.17 10017.96,-3528.08 9097.06,-3657.11 8768,-3741.18 8540.19,-3799.37 8480.97,-3809.74 8247,-3833.04 7583.42,-3899.12 7413.1,-3837.19 6747,-3869.04 6548.63,-3878.52 6312.84,-3897.92 6212.77,-3906.53"/>
<polygon fill="#913030" stroke="black" points="6212.48,-3903.13 6202.82,-3907.48 6213.08,-3910.11 6212.48,-3903.13"/>
</g>
<!-- ahriman_core_alpm_repo -->
<g id="node45" class="node">
<title>ahriman_core_alpm_repo</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#913030" stroke="black" cx="7939" cy="-2511.97" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="7939" y="-2523.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7939" y="-2512.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="7939" y="-2502.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="7939" y="-2491.97" 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="edge128" 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="M7977.1,-2508.48C8049.15,-2502.68 8209.22,-2484.64 8333,-2433.19 8363.68,-2420.44 8369.38,-2412.57 8395,-2391.41"/>
<path fill="none" stroke="black" d="M8395,-2389.41C8411.51,-2375.78 8407.06,-2365.41 8419,-2347.63 8440.67,-2315.35 8455.28,-2312.85 8471,-2277.28"/>
</g>
<!-- ahriman_core_auth -->
<g id="node46" class="node">
<title>ahriman_core_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db0505" stroke="black" cx="17364" cy="-1286.18" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="17364" y="-1292.43" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="17364" y="-1281.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="17364" y="-1271.43" 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="edge129" 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="M17397.53,-1272.52C17526.37,-1223.84 17990.48,-1048.48 18150.95,-987.85"/>
<polygon fill="#db0505" stroke="black" points="18151.96,-990.84 18160.08,-984.03 18149.48,-984.29 18151.96,-990.84"/>
</g>
<!-- ahriman_core_auth&#45;&gt;ahriman_web_views_base -->
<g id="edge130" 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="M17328.15,-1276.97C17281.8,-1265.75 17199.08,-1243.69 17132,-1214.83 17073.72,-1189.75 17067.69,-1165.61 17008,-1144.12 16920.55,-1112.63 16889.64,-1139.07 16802,-1108.12 16772.3,-1097.63 16769.95,-1083.54 16740,-1073.76"/>
</g>
<!-- ahriman_core_auth&#45;&gt;ahriman_web_views_index -->
<g id="edge131" 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="M17526,-1178.47C17551.24,-1137.32 17539.51,-998.67 17576,-967.05"/>
</g>
<!-- ahriman_core_auth&#45;&gt;ahriman_web_views_user_login -->
<g id="edge132" 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="M17326.19,-1281.88C17167.46,-1268.01 16563.16,-1215.19 16562,-1214.83 16501.45,-1195.91 16497.5,-1166.13 16438,-1144.12 16202.82,-1057.13 16132.26,-1072.66 15884,-1037.41 15825.29,-1029.07 15355.77,-1026.34 15355,-967.05"/>
</g>
<!-- ahriman_core_auth&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge133" 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="M17334.46,-1268.39C17284.16,-1240.24 17178.16,-1182.79 17084,-1144.12 16941.41,-1085.55 16902.12,-1080.08 16754,-1037.41 16691.44,-1019.38 16674.24,-1020.53 16612,-1001.41 16523.88,-974.33 16507,-950.65 16417,-930.7 16240.14,-891.49 16177.31,-966.5 16011,-894.7 16007.16,-893.04 16003.42,-890.95 15999.84,-888.58"/>
<polygon fill="#db0505" stroke="black" points="16002.39,-885.37 15992.27,-882.24 15998.22,-891 16002.39,-885.37"/>
</g>
<!-- ahriman_core_auth&#45;&gt;ahriman_web_web -->
<g id="edge134" 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="M17390.94,-1266.01C17398.83,-1260.77 17407.6,-1255.31 17416,-1250.83 17452.56,-1231.32 17469.75,-1240.84 17502,-1214.83 17516.5,-1203.14 17517.4,-1196.99 17526,-1180.47"/>
<path fill="none" stroke="black" d="M17526,-1178.47C17527.19,-1176.19 17555.78,-811.41 17557,-809.14 17580.85,-764.72 17667.24,-784.51 17646,-738.78"/>
<path fill="none" stroke="black" d="M17646,-736.78C17616.91,-679.18 17564.61,-712.07 17519,-666.43 17506.67,-654.08 17513.62,-642.97 17500,-632.07"/>
</g>
<!-- ahriman_core_auth_auth -->
<g id="node47" class="node">
<title>ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="15855" cy="-1819.74" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="15855" y="-1831.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15855" y="-1820.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="15855" y="-1810.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth.</text>
<text text-anchor="middle" x="15855" y="-1799.74" 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="edge135" 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="M15893.05,-1815.83C16071.06,-1801.82 16821.83,-1737.92 17034,-1641.67 17099,-1612.19 17228.4,-1483.15 17274,-1428.25 17289.29,-1409.84 17322.19,-1356.69 17343.69,-1321.14"/>
<polygon fill="#732626" stroke="black" points="17346.99,-1323.44 17349.16,-1313.07 17340.99,-1319.83 17346.99,-1323.44"/>
</g>
<!-- ahriman_core_auth_helpers -->
<g id="node48" class="node">
<title>ahriman_core_auth_helpers</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d92626" stroke="black" cx="13462" cy="-1179.47" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="13462" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13462" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="13462" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth.</text>
<text text-anchor="middle" x="13462" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">helpers</text>
</g>
<!-- ahriman_core_auth_helpers&#45;&gt;ahriman_web_views_index -->
<g id="edge136" 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="M15402,-1071.76C15419.4,-1070.47 15406.07,-1046.43 15421,-1037.41 15500.66,-989.27 17003.02,-1005.73 17096,-1001.41 17309.65,-991.47 17414.37,-1107.12 17576,-967.05"/>
<path fill="none" stroke="black" d="M17576,-965.05C17594.85,-948.72 17602,-921.8 17604.36,-898.44"/>
<polygon fill="#d92626" stroke="black" points="17607.91,-898.89 17605.15,-888.66 17600.93,-898.38 17607.91,-898.89"/>
</g>
<!-- ahriman_core_auth_helpers&#45;&gt;ahriman_web_views_user_login -->
<g id="edge137" 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="M13426.02,-1167.86C13398.15,-1157.53 13361.43,-1138.81 13344,-1108.12 13328.48,-1080.79 13322.48,-1060.31 13344,-1037.41 13518.65,-851.54 15399.54,-992.71 15635,-894.7 15638.86,-893.09 15642.61,-891.03 15646.21,-888.69"/>
<polygon fill="#d92626" stroke="black" points="15647.81,-891.12 15653.79,-882.38 15643.66,-885.48 15647.81,-891.12"/>
</g>
<!-- ahriman_core_auth_helpers&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge138" 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="M13489.28,-1154.44C13495.4,-1150.27 13502.13,-1146.51 13509,-1144.12 13533.85,-1135.49 15375.76,-1075.71 15402,-1073.76"/>
<path fill="none" stroke="black" d="M15402,-1071.76C15419.4,-1070.47 15409.82,-1050.81 15421,-1037.41 15452.63,-999.48 15458.33,-975.39 15507,-967.05"/>
</g>
<!-- ahriman_core_auth_mapping -->
<g id="node49" class="node">
<title>ahriman_core_auth_mapping</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8b2222" stroke="black" cx="15817" cy="-2048.01" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="15817" y="-2059.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15817" y="-2049.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="15817" y="-2038.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth.</text>
<text text-anchor="middle" x="15817" y="-2028.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">mapping</text>
</g>
<!-- ahriman_core_auth_mapping&#45;&gt;ahriman_core_auth_auth -->
<g id="edge139" class="edge">
<title>ahriman_core_auth_mapping&#45;&gt;ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15848.15,-2027.49C15876.16,-2007.17 15911.68,-1973.03 15903,-1934.87"/>
</g>
<!-- ahriman_core_auth_oauth -->
<g id="node50" class="node">
<title>ahriman_core_auth_oauth</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#832020" stroke="black" cx="15191" cy="-1933.87" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="15191" y="-1945.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15191" y="-1934.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="15191" y="-1924.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth.</text>
<text text-anchor="middle" x="15191" y="-1913.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">oauth</text>
</g>
<!-- ahriman_core_auth_mapping&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge140" class="edge">
<title>ahriman_core_auth_mapping&#45;&gt;ahriman_core_auth_oauth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15779.72,-2040.33C15671.75,-2020.99 15358.91,-1964.95 15238.77,-1943.43"/>
<polygon fill="#8b2222" stroke="black" points="15239.55,-1939.84 15229.09,-1941.52 15238.32,-1946.73 15239.55,-1939.84"/>
</g>
<!-- ahriman_core_auth_oauth&#45;&gt;ahriman_core_auth_auth -->
<g id="edge141" class="edge">
<title>ahriman_core_auth_oauth&#45;&gt;ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15228.76,-1930.33C15345.05,-1922.13 15696.3,-1894.66 15803,-1855.09 15807.76,-1853.33 15812.52,-1851.06 15817.12,-1848.52"/>
<polygon fill="#832020" stroke="black" points="15818.51,-1851.17 15825.29,-1843.04 15814.92,-1845.17 15818.51,-1851.17"/>
</g>
<!-- ahriman_core_auth_oauth&#45;&gt;ahriman_web_views_user_login -->
<g id="edge142" class="edge">
<title>ahriman_core_auth_oauth&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15154.65,-1923.2C15062.17,-1898.2 14810.97,-1827.81 14609,-1748.38 14434.79,-1679.88 14398.77,-1645.38 14227,-1570.96 14110.49,-1520.49 13819.34,-1391.5 13697,-1357.54 13599.42,-1330.46 13570.38,-1345.57 13472,-1321.54 13375.1,-1297.87 13356.68,-1271.05 13259,-1250.83 13214.33,-1241.58 12880.81,-1248.47 12850,-1214.83 12828.77,-1191.65 12841.44,-1174.36 12850,-1144.12 12851.57,-1138.56 12954.12,-970.14 12959,-967.05"/>
<path fill="none" stroke="black" d="M12959,-965.05C12973.24,-953.05 12966.54,-939.42 12983,-930.7 13113.2,-861.7 15497.63,-948 15635,-894.7 15638.95,-893.16 15642.79,-891.13 15646.45,-888.8"/>
<polygon fill="#832020" stroke="black" points="15648.14,-891.16 15654.16,-882.45 15644.02,-885.51 15648.14,-891.16"/>
</g>
<!-- ahriman_core_build_tools -->
<g id="node51" class="node">
<title>ahriman_core_build_tools</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f91010" stroke="black" cx="6504" cy="-3805.11" rx="44.19" ry="27.93"/>
<text text-anchor="middle" x="6504" y="-3811.36" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6504" y="-3800.86" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6504" y="-3790.36" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">build_tools</text>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge143" 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="M6459.55,-3803.37C6299.44,-3800.41 5737.22,-3787.16 5276,-3741.18 4999.69,-3713.62 4932.58,-3690.73 4658,-3649.31 4579.75,-3637.51 4560.35,-3633.47 4482,-3622.38"/>
<path fill="none" stroke="black" d="M4482,-3620.38C4401.95,-3611.65 3112.95,-3573.28 3034,-3557.45 2963.43,-3543.31 2952.61,-3515.52 2882,-3501.59 2776.73,-3480.83 2002.45,-3530.48 1917,-3465.59 1874.69,-3433.47 1640.65,-2605.82 1626,-2554.75 1610.62,-2501.16 1603.59,-2488.28 1595,-2433.19 1573.51,-2295.42 1456.55,-1304.64 1520,-1180.47"/>
<path fill="none" stroke="black" d="M1520,-1178.47C1528.74,-1162.03 1529.57,-1155.89 1544,-1144.12 1569.64,-1123.21 1602.43,-1107.46 1631.88,-1096.23"/>
<polygon fill="#f91010" stroke="black" points="1632.97,-1099.19 1641.14,-1092.44 1630.54,-1092.62 1632.97,-1099.19"/>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge144" 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="M4482,-3620.38C4339.27,-3600.09 3327.29,-3586.14 3186,-3557.45 3115.47,-3543.13 3104.64,-3515.38 3034,-3501.59 2975.19,-3490.11 2002.37,-3503.54 1956,-3465.59 1893.29,-3414.27 1934.35,-3366.61 1914,-3288.17 1874.99,-3137.84 1860.66,-3101.51 1819,-2951.9 1815.93,-2940.88 1712.61,-2565.89 1710,-2554.75 1669.62,-2382.12 1634,-2340.44 1634,-2163.14 1634,-2163.14 1634,-2163.14 1634,-2047.01 1634,-1687.09 1564.53,-1537.62 1782,-1250.83 1816.39,-1205.48 1854.25,-1225.55 1889,-1180.47"/>
<path fill="none" stroke="black" d="M1889,-1178.47C1902.83,-1158.01 1917.95,-1135.13 1930.5,-1115.98"/>
<polygon fill="#f91010" stroke="black" points="1933.89,-1118.19 1936.44,-1107.91 1928.04,-1114.36 1933.89,-1118.19"/>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge145" 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="M6521.66,-3779.2C6532.13,-3761.52 6542.54,-3736.98 6538,-3714.24"/>
<path fill="none" stroke="black" d="M6538,-3712.24C6531.79,-3681.12 6007.17,-3582.76 5988,-3557.45 5973.01,-3537.66 5983.77,-3526.06 5988,-3501.59 6005.14,-3402.37 6014.67,-3375.95 6064,-3288.17 6136.03,-3159.99 6376.54,-2877.95 6481,-2774.48 6592.39,-2664.14 6640.38,-2659.56 6757,-2554.75 6764.06,-2548.41 6871.1,-2440.63 6877,-2433.19 6979.53,-2304.02 6974.13,-2249.84 7075,-2119.36 7101.22,-2085.45 7116.76,-2084.37 7141,-2049.01"/>
<path fill="none" stroke="black" d="M7141,-2047.01C7145.08,-2040.69 7214.91,-1942.1 7217,-1934.87"/>
<path fill="none" stroke="black" d="M7217,-1932.87C7244.19,-1838.66 7199.1,-1800.68 7245,-1714.03"/>
</g>
<!-- ahriman_core_gitremote_remote_pull -->
<g id="node86" class="node">
<title>ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="5527" cy="-2276.28" rx="46.85" ry="35.36"/>
<text text-anchor="middle" x="5527" y="-2287.78" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5527" y="-2277.28" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5527" y="-2266.78" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">gitremote.</text>
<text text-anchor="middle" x="5527" y="-2256.28" 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="edge146" 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="M6461.37,-3797.02C6270.13,-3764.9 5497.24,-3631.32 5418,-3557.45 5160.78,-3317.66 5117.9,-3072.86 5304,-2774.48 5386.76,-2641.78 5479.88,-2689.15 5620,-2619.69"/>
<path fill="none" stroke="black" d="M5620,-2617.69C5645.62,-2605.39 5650.98,-2599.57 5678,-2590.75 5755.97,-2565.3 5792.38,-2602.6 5859,-2554.75 5876.39,-2542.26 5881.96,-2534.36 5883,-2512.97"/>
</g>
<!-- ahriman_core_gitremote_remote_push -->
<g id="node88" class="node">
<title>ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="5370" cy="-2048.01" rx="51.09" ry="35.36"/>
<text text-anchor="middle" x="5370" y="-2059.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5370" y="-2049.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5370" y="-2038.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">gitremote.</text>
<text text-anchor="middle" x="5370" y="-2028.01" 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="edge147" 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="M6459.61,-3803.72C6283.78,-3801.87 5636.06,-3791.67 5438,-3741.18 5286.13,-3702.46 5240.07,-3675.52 5137,-3557.45 4899.84,-3285.77 4874.42,-3131.69 4924,-2774.48 4937.75,-2675.4 4962.41,-2630.97 5054,-2590.75 5124.58,-2559.76 5347.4,-2612.02 5399,-2554.75 5424.46,-2526.5 5411.56,-2505.09 5399,-2469.19 5384.4,-2427.47 5349.46,-2433.83 5337,-2391.41"/>
<path fill="none" stroke="black" d="M5337,-2389.41C5314.82,-2289.88 5357.5,-2263.6 5375,-2163.14"/>
</g>
<!-- ahriman_core_repository_executor -->
<g id="node109" class="node">
<title>ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="8315" cy="-1713.03" rx="43.66" ry="35.36"/>
<text text-anchor="middle" x="8315" y="-1724.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8315" y="-1714.03" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8315" y="-1703.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository.</text>
<text text-anchor="middle" x="8315" y="-1693.03" 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="edge148" 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="M6537.77,-3786.75C6612.36,-3748.07 6796.21,-3650.82 6943,-3557.45 7378.78,-3280.27 7427.55,-3115.12 7888,-2881.19 7933.48,-2858.08 7967.11,-2886.54 7997,-2845.19 8098.64,-2704.58 7782.37,-2603.67 7892,-2469.19 7942.17,-2407.65 7995.39,-2467.51 8067,-2433.19 8143.45,-2396.55 8170.63,-2384.48 8214,-2311.63 8238.73,-2270.1 8229.81,-2252.98 8235,-2204.92 8237.29,-2183.7 8234.39,-1840.27 8243,-1820.74"/>
</g>
<!-- ahriman_core_repository_update_handler -->
<g id="node112" class="node">
<title>ahriman_core_repository_update_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="7859" cy="-1713.03" rx="57.98" ry="35.36"/>
<text text-anchor="middle" x="7859" y="-1724.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7859" y="-1714.03" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="7859" y="-1703.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository.</text>
<text text-anchor="middle" x="7859" y="-1693.03" 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="edge149" 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="M6538,-3712.24C6532.61,-3677.76 6566.02,-3678.62 6585,-3649.31 6684.85,-3495.13 6691.84,-3445.9 6786,-3288.17 6968.81,-2981.95 7052.51,-2930.79 7268,-2646.62 7298.85,-2605.93 7311.14,-2598.78 7337,-2554.75 7358.07,-2518.88 7342.83,-2495.59 7375,-2469.19 7431.35,-2422.96 7489.47,-2490.11 7535,-2433.19 7620.24,-2326.64 7408.09,-1929.11 7491,-1820.74"/>
</g>
<!-- ahriman_core_support_package_creator -->
<g id="node123" class="node">
<title>ahriman_core_support_package_creator</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a1e1e" stroke="black" cx="11700" cy="-2048.01" rx="62.23" ry="35.36"/>
<text text-anchor="middle" x="11700" y="-2059.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11700" y="-2049.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11700" y="-2038.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">support.</text>
<text text-anchor="middle" x="11700" y="-2028.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package_creator</text>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_core_support_package_creator -->
<g id="edge150" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_core_support_package_creator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6548.51,-3802.63C6922.63,-3790.01 9547.9,-3697.37 10325,-3557.45 10898.64,-3454.17 11032.3,-3376.78 11581,-3180.17 11696.66,-3138.73 11757.63,-3168.08 11836,-3073.46 11949.36,-2936.59 12036.56,-2403.05 11911,-2277.28"/>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_models_package -->
<g id="edge151" 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="M6538,-3712.24C6535.36,-3695.34 6534.98,-3676.42 6535.41,-3660.32"/>
<polygon fill="#f91010" stroke="black" points="6538.93,-3660.81 6535.82,-3650.69 6531.94,-3660.54 6538.93,-3660.81"/>
</g>
<!-- ahriman_core_build_tools_sources -->
<g id="node52" class="node">
<title>ahriman_core_build_tools_sources</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a90404" stroke="black" cx="6375" cy="-2511.97" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="6375" y="-2523.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6375" y="-2512.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6375" y="-2502.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">build_tools.</text>
<text text-anchor="middle" x="6375" y="-2491.97" 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="edge152" 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="M6343.78,-2485.52C6334.91,-2479.36 6324.95,-2473.36 6315,-2469.19 6234.09,-2435.38 6200.19,-2470.86 6121,-2433.19 6045.67,-2397.36 6037.65,-2369.94 5978,-2311.63 5846.28,-2182.89 5803.47,-2147.24 5734,-1976.65 5701.15,-1895.98 5761.73,-1841.55 5696,-1784.38 5642.09,-1737.5 5124.12,-1762.11 5054,-1748.38 4910.59,-1720.31 4854.38,-1736.27 4743,-1641.67 4715.81,-1618.58 4734.88,-1590.46 4705,-1570.96 4619.88,-1515.41 4349.25,-1551.77 4249,-1534.96 4125.39,-1514.24 4099.73,-1484.28 3976,-1464.25 3434.05,-1376.51 3259.92,-1522.47 2749,-1321.54 2740.84,-1318.33 2496.3,-1146.94 2488,-1144.12 2357.75,-1099.85 2006.35,-1126.36 1870,-1108.12 1842.16,-1104.4 1811.99,-1098.55 1785.26,-1092.74"/>
<polygon fill="#a90404" stroke="black" points="1786.33,-1089.17 1775.81,-1090.43 1784.82,-1096 1786.33,-1089.17"/>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge153" 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="M6343.69,-2485.72C6334.83,-2479.56 6324.89,-2473.5 6315,-2469.19 6245.79,-2439.04 6205.23,-2483.57 6149,-2433.19 6134.41,-2420.13 6147.99,-2406.07 6135,-2391.41"/>
<path fill="none" stroke="black" d="M6135,-2389.41C6096.59,-2346.09 5977.99,-2256.15 5951,-2204.92 5917.92,-2142.14 5931.39,-1950.12 5892,-1891.09 5885.99,-1882.09 5739.23,-1787.92 5729,-1784.38 5552.34,-1723.34 5493.38,-1784.51 5310,-1748.38 5050.93,-1697.35 4998.79,-1636.49 4743,-1570.96 4077.7,-1400.52 3895.12,-1436.36 3218,-1321.54 2974.65,-1280.28 2892.91,-1326.91 2673,-1214.83 2631.89,-1193.88 2638.95,-1163.33 2597,-1144.12 2501.25,-1100.26 2199.41,-1082.83 2047.37,-1076.7"/>
<polygon fill="#a90404" stroke="black" points="2047.81,-1073.18 2037.68,-1076.28 2047.54,-1080.17 2047.81,-1073.18"/>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge154" 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="M6135,-2389.41C6083.96,-2339.32 6144.53,-2289.52 6197,-2240.92 6234.43,-2206.26 6273.37,-2244.14 6306,-2204.92 6396.05,-2096.7 6274.81,-2010.75 6349,-1891.09 6393.46,-1819.39 6426.63,-1812.99 6506,-1784.38 6661.19,-1728.45 7160.48,-1855.7 7245,-1714.03"/>
<path fill="none" stroke="black" d="M7245,-1712.03C7290.86,-1630.02 7162.8,-1546.14 7245,-1500.61"/>
</g>
<!-- ahriman_core_build_tools_task -->
<g id="node53" class="node">
<title>ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="8929" cy="-2048.01" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="8929" y="-2059.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8929" y="-2049.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8929" y="-2038.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">build_tools.</text>
<text text-anchor="middle" x="8929" y="-2028.01" 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="edge155" 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="M6421.28,-2509.61C6693.16,-2501.16 8084.46,-2451.6 8485,-2311.63 8646.06,-2255.35 8813.29,-2137.4 8888.31,-2080.73"/>
<polygon fill="#a90404" stroke="black" points="8890.15,-2082.97 8896,-2074.13 8885.92,-2077.39 8890.15,-2082.97"/>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge156" 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="M6344.33,-2485.14C6335.39,-2478.89 6325.25,-2472.95 6315,-2469.19 6154.03,-2410.28 6097.87,-2472.42 5931,-2433.19 5860.9,-2416.71 5669.48,-2337.59 5577.57,-2298.81"/>
<polygon fill="#a90404" stroke="black" points="5579.24,-2295.29 5568.67,-2294.62 5576.51,-2301.74 5579.24,-2295.29"/>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge157" 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="M6344.27,-2485.29C6335.33,-2479.05 6325.21,-2473.06 6315,-2469.19 6186.13,-2420.35 6131.12,-2493.09 6007,-2433.19 5958.44,-2409.76 5965.75,-2377.71 5921,-2347.63 5854.5,-2302.93 5818.25,-2326.48 5755,-2277.28"/>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_core_repository_update_handler -->
<g id="edge158" 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="M6421.33,-2508.8C6498.32,-2503.73 6656.07,-2487.08 6777,-2433.19 6930.68,-2364.71 6964.69,-2328.38 7079,-2204.92 7134.93,-2144.52 7142.86,-2122.98 7179,-2049.01"/>
<path fill="none" stroke="black" d="M7179,-2047.01C7195.51,-2011.8 7212.53,-2010.87 7231,-1976.65 7252.64,-1936.58 7266.34,-1812.72 7302,-1784.38 7376.04,-1725.56 7657.86,-1715.49 7789.93,-1714.06"/>
<polygon fill="#a90404" stroke="black" points="7789.74,-1717.55 7799.71,-1713.96 7789.67,-1710.55 7789.74,-1717.55"/>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_core_support_package_creator -->
<g id="edge159" class="edge">
<title>ahriman_core_build_tools_sources&#45;&gt;ahriman_core_support_package_creator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6421.66,-2509.13C6591.09,-2502.49 7189.86,-2479.7 7684,-2469.19 7872.75,-2465.18 10898.39,-2477.11 11082,-2433.19 11304.75,-2379.92 11359.73,-2340.93 11544,-2204.92 11586.13,-2173.83 11587.89,-2156.31 11625,-2119.36 11636.21,-2108.21 11648.63,-2096.35 11660.1,-2085.61"/>
<polygon fill="#a90404" stroke="black" points="11661.93,-2088.76 11666.85,-2079.38 11657.15,-2083.64 11661.93,-2088.76"/>
</g>
<!-- ahriman_core_build_tools_task&#45;&gt;ahriman_core_repository_executor -->
<g id="edge161" 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="M8926.38,-2012.46C8925.33,-1990.19 8925.15,-1960.68 8929,-1934.87"/>
</g>
<!-- ahriman_core_configuration -->
<g id="node54" class="node">
<title>ahriman_core_configuration</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db0505" stroke="black" cx="8906" cy="-3330.95" rx="50.56" ry="27.93"/>
<text text-anchor="middle" x="8906" y="-3337.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8906" y="-3326.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8906" y="-3316.2" 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="edge162" 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="M5698,-3029.68C5677.02,-3025.4 5691.99,-2999.51 5674,-2987.9 5661.08,-2979.56 4587.34,-2882.2 4572,-2881.19 4342.58,-2866.1 3759.18,-2907.96 3538,-2845.19 3476.97,-2827.87 3472.84,-2798.2 3414,-2774.48 3353.62,-2750.13 3329.33,-2769.34 3272,-2738.48 3186.2,-2692.29 3195.56,-2637.39 3110,-2590.75 3055.1,-2560.83 3021.42,-2595.51 2974,-2554.75 2947.34,-2531.84 2454.11,-1425.25 2470,-1393.9"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_add -->
<g id="edge163" 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="M8855.17,-3328.84C8522.51,-3321.54 6665.98,-3279.66 6550,-3252.17 6512.85,-3243.36 6508.54,-3227.25 6472,-3216.17 6373.83,-3186.39 6324.4,-3243.89 6244,-3180.17 6231.08,-3169.93 6245.67,-3150.94 6230,-3145.81"/>
<path fill="none" stroke="black" d="M6230,-3143.81C6212.36,-3137.83 6221.98,-3119.03 6206,-3109.46 6089.27,-3039.57 6022.61,-3136.43 5902,-3073.46 5856.91,-3049.92 5868.68,-3015.57 5826,-2987.9 5781.42,-2958.99 5752.92,-2985.79 5712,-2951.9 5684.52,-2929.14 5704.46,-2899.77 5674,-2881.19 5579.42,-2823.48 3774.58,-2902.9 3680,-2845.19 3649.54,-2826.61 3668.74,-2798.1 3642,-2774.48 3608.78,-2745.14 3586.46,-2762.16 3549,-2738.48 3498.81,-2706.75 3490.48,-2691.84 3452,-2646.62 3432.54,-2623.75 3438.26,-2608.45 3414,-2590.75 3368.33,-2557.44 3330.1,-2596.52 3292,-2554.75 3192.46,-2445.65 3078.64,-1391.61 3034,-1250.83 3002.62,-1151.86 2992.95,-1126.12 2939,-1037.41 2887.14,-952.14 2795.03,-951.43 2811,-852.92"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_backup -->
<g id="edge164" 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="M8953.66,-3320.94C9067.79,-3299.67 9365.93,-3245.91 9617,-3216.17 9668.57,-3210.06 10042.85,-3213.1 10083,-3180.17 10297.25,-3004.45 10019,-2211.97 10019,-1934.87 10019,-1934.87 10019,-1934.87 10019,-1605.32 10019,-1503.28 10318.54,-840.72 10323,-738.78"/>
<path fill="none" stroke="black" d="M10323,-736.78C10318.03,-474.64 5908.79,-437.48 5352.45,-433.84"/>
<polygon fill="#db0505" stroke="black" points="5352.54,-430.33 5342.52,-433.77 5352.49,-437.33 5352.54,-430.33"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_clean -->
<g id="edge165" 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="M6154,-3233.17C6075.57,-3228.26 6056.37,-3222.04 5978,-3216.17 5678.86,-3193.74 5602.95,-3205.05 5304,-3180.17 5290.86,-3179.08 4372.19,-3080.42 4361,-3073.46 4322.61,-3049.6 4344.59,-3011.44 4306,-2987.9 4297.19,-2982.52 2836.96,-2847.87 2827,-2845.19 2689.53,-2808.2 2370.97,-2638.71 2256,-2554.75 2129.48,-2462.37 1064,-1498.96 1064,-1287.18 1064,-1287.18 1064,-1287.18 1064,-965.05 1064,-807.91 1607.68,-680.67 1785.47,-643.26"/>
<polygon fill="#db0505" stroke="black" points="1786.08,-646.5 1795.15,-641.03 1784.65,-639.65 1786.08,-646.5"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_daemon -->
<g id="edge166" 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="M6154,-3233.17C6063.62,-3227.62 5824.52,-3231.6 5750,-3180.17 5720.64,-3159.91 5742.16,-3128.52 5712,-3109.46 5644.11,-3066.54 5069.37,-3085.81 4990,-3073.46 4843.26,-3050.62 4813.43,-3012.63 4667,-2987.9 4458.24,-2952.64 4393.27,-3017.58 4192,-2951.9 4135.32,-2933.4 4134.98,-2898.73 4078,-2881.19 3896.46,-2825.3 3410.41,-2881.69 3224,-2845.19 3132.71,-2827.31 3115.99,-2801.58 3027,-2774.48 2964.3,-2755.38 2945.32,-2761.62 2884,-2738.48 2717.05,-2675.46 2669.83,-2661.73 2527,-2554.75 2224.28,-2328.02 1550.11,-1644.95 1354,-1321.54 1245.85,-1143.18 953.02,-618.17 1050,-433.5"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_dump -->
<g id="edge167" 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="M8855.11,-3330.43C8665.91,-3331.56 7985.57,-3329.65 7432,-3252.17 7290.2,-3232.32 7255.47,-3220.21 7118,-3180.17 7027.88,-3153.92 7010.35,-3131.04 6919,-3109.46 6791.74,-3079.39 6750.08,-3117.62 6627,-3073.46 6449.03,-3009.6 6423.83,-2952.27 6268,-2845.19 6202.35,-2800.08 6178.03,-2797.01 6124,-2738.48 6028.32,-2634.82 6070.93,-2550.99 5956,-2469.19 5897.32,-2427.43 5857.82,-2473.3 5798,-2433.19 5656.31,-2338.19 5702.79,-2234.6 5577,-2119.36 5553.51,-2097.84 5537.04,-2106.37 5515,-2083.36 5415.48,-1979.49 5533.22,-2330.92 5033,-738.78"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge168" 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="M8940,-3309.76C8987.55,-3282.71 9077.48,-3235.86 9161,-3216.17 9250.74,-3195.01 9926.24,-3246.76 9990,-3180.17 10011.73,-3157.47 9994.26,-3140.6 9990,-3109.46 9989.17,-3103.36 9875.35,-2686.97 9871,-2682.62 9829.26,-2640.78 9787.7,-2685.27 9743,-2646.62 9677.71,-2590.15 9724.52,-2530.75 9664,-2469.19 9606.6,-2410.81 9515.1,-2471.27 9497,-2391.41"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_help -->
<g id="edge169" 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="M8855.13,-3328.91C8515.97,-3321.93 6591.88,-3281.15 6472,-3252.17 6435.67,-3243.39 6431.48,-3227.92 6396,-3216.17 6318.55,-3190.51 6283.98,-3225.28 6216,-3180.17 6184.35,-3159.17 6200.59,-3128.98 6168,-3109.46 6036.88,-3030.92 5945.21,-3169.11 5826,-3073.46 5810.73,-3061.2 5830.5,-3038.11 5812,-3031.68"/>
<path fill="none" stroke="black" d="M5812,-3029.68C5786.83,-3020.92 5793.01,-2999.45 5769,-2987.9 5653.94,-2932.56 5609.23,-2976.77 5484,-2951.9 5366.96,-2928.65 5343.08,-2898.35 5225,-2881.19 5135.86,-2868.23 3684.82,-2884.96 3604,-2845.19 3567.78,-2827.37 3580.8,-2796.54 3547,-2774.48 3495.72,-2741 3468.82,-2765.77 3414,-2738.48 3294.69,-2679.08 3258.66,-2660.08 3177,-2554.75 3074.49,-2422.54 3072.21,-2368.69 3038,-2204.92 2921.54,-1647.37 3025.17,-1486.58 2901,-930.7 2877.69,-826.34 2874.61,-797.15 2825,-702.43 2815.72,-684.71 2805.09,-685.13 2798,-666.43 2761.17,-569.31 2736.81,-528.41 2779,-433.5"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_key_import -->
<g id="edge170" 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="M6154,-3233.17C6057.47,-3227.11 5817.89,-3192.78 5722,-3180.17 5548.53,-3157.35 4333.71,-2994.42 4164,-2951.9 4072.55,-2928.98 4056.52,-2899.3 3964,-2881.19 3628.66,-2815.53 3533.33,-2899.73 3196,-2845.19 2815.98,-2783.74 2703.79,-2762.96 2380,-2554.75 2186.91,-2430.6 2159.57,-2369.95 2000,-2204.92 1977.5,-2181.65 1251.26,-1351.89 1240,-1321.54 1194.53,-1198.98 1234.54,-1139.65 1316,-1037.41 1326.93,-1023.69 1765.22,-748.91 1907.73,-659.75"/>
<polygon fill="#db0505" stroke="black" points="1909.06,-662.42 1915.68,-654.15 1905.35,-656.48 1909.06,-662.42"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge171" 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="M8909,-3233.17C8925,-3197.8 8917.78,-3183.63 8909,-3145.81"/>
<path fill="none" stroke="black" d="M8909,-3143.81C8893.49,-3077.01 8855.97,-3075.24 8803,-3031.68"/>
<path fill="none" stroke="black" d="M8803,-3029.68C8670.6,-2920.82 8578.03,-3010.47 8434,-2917.54"/>
<path fill="none" stroke="black" d="M8434,-2915.54C8388.34,-2886.08 8372.29,-2883.75 8334,-2845.19 8307.06,-2818.06 8308.23,-2804.85 8285,-2774.48 7973.14,-2366.77 7873.93,-2281.79 7541,-1891.09 7500.39,-1843.43 7500.83,-1819.52 7449,-1784.38 7369.61,-1730.57 7201.75,-1799.63 7245,-1714.03"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_rebuild -->
<g id="edge172" 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="M8855.35,-3329.17C8565.17,-3324.55 7120.01,-3299.33 6928,-3252.17 6891.7,-3243.25 6888.04,-3226.08 6852,-3216.17 6688.43,-3171.18 6632.77,-3234.31 6472,-3180.17 6415.5,-3161.14 6413.89,-3130.23 6358,-3109.46 6261.84,-3073.71 6220,-3122.69 6130,-3073.46 6085.38,-3049.05 6094.76,-3018.32 6054,-2987.9 6052.6,-2986.85 5827.7,-2881.58 5826,-2881.19 5722.19,-2857.07 3998.96,-2900.73 3908,-2845.19 3877.55,-2826.59 3891.16,-2803.2 3870,-2774.48 3788.77,-2664.23 3734.04,-2665.87 3654,-2554.75 3618.55,-2505.54 3606.17,-2492.16 3592,-2433.19 3482.66,-1978.17 3761,-1861.87 3761,-1393.9 3761,-1393.9 3761,-1393.9 3761,-965.05 3761,-864.49 3768.82,-839.04 3761,-738.78"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_remove -->
<g id="edge173" 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="M8855.1,-3330.19C8536.4,-3331.41 6812.26,-3334.07 6292,-3252.17 6235.31,-3243.24 6224.37,-3226.92 6168,-3216.17 6084.68,-3200.27 5858.67,-3227.08 5788,-3180.17 5758.28,-3160.44 5779.73,-3129.18 5750,-3109.46 5678.57,-3062.09 5450.63,-3087 5366,-3073.46 5196.77,-3046.39 5159.75,-3011.5 4990,-2987.9 4839.24,-2966.94 4451.24,-2997.45 4306,-2951.9 4249.11,-2934.06 4249,-2898.68 4192,-2881.19 4002.35,-2822.99 3483.12,-2921.5 3300,-2845.19 3257.41,-2827.44 3264.73,-2796.14 3224,-2774.48 3161.56,-2741.27 3135.75,-2761.84 3069,-2738.48 2890.05,-2675.84 2819.43,-2687.44 2684,-2554.75 2653.6,-2524.97 2665.86,-2503.74 2641,-2469.19 2460.83,-2218.81 2324.17,-2232.6 2152,-1976.65 2044.67,-1817.1 1813,-1372.77 1813,-1180.47 1813,-1180.47 1813,-1180.47 1813,-850.92 1813,-796.98 1946.4,-705.07 2018.31,-659.44"/>
<polygon fill="#db0505" stroke="black" points="2019.59,-662.14 2026.18,-653.85 2015.86,-656.22 2019.59,-662.14"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_remove_unknown -->
<g id="edge174" 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="M6230,-3143.81C6212.33,-3137.91 6221.79,-3119.33 6206,-3109.46 6119.02,-3055.07 6068,-3122.69 5978,-3073.46 5933.38,-3049.05 5945.66,-3013.98 5902,-2987.9 5842.4,-2952.29 5805.05,-2994.2 5750,-2951.9 5721.71,-2930.16 5742.46,-2899.77 5712,-2881.19 5617.42,-2823.48 3812.58,-2902.9 3718,-2845.19 3687.54,-2826.61 3705.15,-2799.78 3680,-2774.48 3656.45,-2750.78 3641.21,-2757.87 3614,-2738.48 3534.66,-2681.91 3537.91,-2636.73 3452,-2590.75 3393.45,-2559.43 3347.91,-2607.06 3307,-2554.75 3283.57,-2524.8 3306.14,-2507.21 3307,-2469.19 3311.22,-2282.3 3326,-2235.95 3326,-2049.01 3326,-2049.01 3326,-2049.01 3326,-1818.74 3326,-1439.3 3267,-1346.49 3267,-967.05 3267,-967.05 3267,-967.05 3267,-850.92 3267,-831.82 3038.12,-714.99 2928.81,-660.28"/>
<polygon fill="#db0505" stroke="black" points="2930.76,-656.84 2920.25,-655.5 2927.63,-663.11 2930.76,-656.84"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_restore -->
<g id="edge175" 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="M8855.33,-3329.4C8579.51,-3326.2 7256.52,-3308.13 6852,-3252.17 6784.51,-3242.83 6770.14,-3227.73 6703,-3216.17 6627.04,-3203.09 6425.71,-3217 6358,-3180.17 6322.54,-3160.88 6336.06,-3129.46 6301,-3109.46 6204.65,-3054.48 6142.4,-3140.49 6054,-3073.46 6020.85,-3048.32 6048.61,-3013.74 6016,-2987.9 5948.64,-2934.52 5895.32,-3002.71 5826,-2951.9 5797.22,-2930.81 5818.45,-2899.78 5788,-2881.19 5697.04,-2825.64 3967.61,-2887.97 3870,-2845.19 3863.01,-2842.12 3685.18,-2652.22 3680,-2646.62 3642.85,-2606.43 3622.96,-2603.46 3598,-2554.75 3572.76,-2505.5 3579.06,-2487.95 3571,-2433.19 3493.58,-1907.58 3519.02,-1730.72 3747,-1250.83 3971.82,-777.59 4587.55,-839.35 4479,-326.79"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_search -->
<g id="edge176" 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="M8855.14,-3328.71C8513.92,-3320.31 6567.28,-3271.69 6444,-3252.17 6387.32,-3243.19 6375.38,-3231.22 6320,-3216.17 6257.17,-3199.09 6231.31,-3217.54 6178,-3180.17 6146.9,-3158.37 6162.56,-3129.03 6130,-3109.46 6002.79,-3033 5931.94,-3137.4 5798,-3073.46 5749.34,-3050.23 5760.28,-3011.9 5712,-2987.9 5609.11,-2936.76 5569.75,-2968.12 5456,-2951.9 5238.61,-2920.9 5185.81,-2899.77 4967,-2881.19 4812.95,-2868.1 3720.86,-2899.22 3576,-2845.19 3529.64,-2827.9 3534.71,-2795.68 3490,-2774.48 3416.28,-2739.52 3382.27,-2776.34 3310,-2738.48 3307.38,-2737.11 3159.59,-2592.18 3157,-2590.75 3096.89,-2557.78 3056.67,-2602.02 3007,-2554.75 2962.79,-2512.68 2698,-1561.63 2698,-1500.61 2698,-1500.61 2698,-1500.61 2698,-1391.9 2698,-1070.91 2666.35,-965.89 2483,-702.43 2473.82,-689.23 2461.99,-676.38 2450.62,-665.34"/>
<polygon fill="#db0505" stroke="black" points="2453.54,-663.34 2443.87,-659.01 2448.73,-668.42 2453.54,-663.34"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_service_updates -->
<g id="edge177" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_service_updates</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8855.54,-3328.65C8580.85,-3321.57 7237.77,-3286.62 6140,-3252.17 4270.05,-3193.48 3673.39,-3494.32 1962,-2738.48 1889.79,-2706.59 1872.6,-2694.69 1810,-2646.62 1533.87,-2434.56 944.59,-1788.52 706,-1534.96 632.66,-1457.02 366.15,-1286.6 380,-1180.47"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_setup -->
<g id="edge178" 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="M8952.55,-3319.64C9018.11,-3305.04 9141.35,-3277.31 9246,-3252.17 9309.73,-3236.86 9324.21,-3226.02 9389,-3216.17 9460.84,-3205.25 9984.54,-3224.65 10042,-3180.17 10148.16,-3098 10085.63,-3015.43 10085,-2881.19 10084.59,-2792.91 10085.27,-2770.74 10080,-2682.62 10077.55,-2641.74 10076.9,-2631.51 10073,-2590.75 10067.95,-2537.91 10026.11,-2162.38 9995,-2119.36 9975.42,-2092.29 9948.3,-2110.64 9929,-2083.36 9890.38,-2028.79 9905,-2001.73 9905,-1934.87 9905,-1934.87 9905,-1934.87 9905,-1712.03 9905,-1503.52 9907.81,-1442.02 9991,-1250.83 10006.51,-1215.18 10034.34,-1218.38 10043,-1180.47"/>
<path fill="none" stroke="black" d="M10043,-1178.47C10060.45,-1062.92 10068.53,-1029.46 10131,-930.7 10157.17,-889.32 10188.55,-897.4 10209,-852.92"/>
<path fill="none" stroke="black" d="M10209,-850.92C10218.4,-826.34 10265.44,-757.55 10247,-738.78"/>
<path fill="none" stroke="black" d="M10247,-736.78C10157.42,-645.63 5931.37,-633.38 5388.25,-632.18"/>
<polygon fill="#db0505" stroke="black" points="5388.57,-628.68 5378.56,-632.16 5388.56,-635.68 5388.57,-628.68"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_shell -->
<g id="edge179" 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="M8901.52,-3302.97C8899.5,-3283.3 8899.37,-3256.47 8909,-3235.17"/>
<path fill="none" stroke="black" d="M8909,-3233.17C8959.48,-3121.58 8478.33,-3122.36 8396,-3031.68"/>
<path fill="none" stroke="black" d="M8396,-3029.68C8348.12,-2990.09 7976.73,-2488.71 7925,-2311.63 7916.19,-2281.47 7924.5,-2272.35 7925,-2240.92 7929.44,-1959.22 7945,-1889.06 7945,-1607.32 7945,-1607.32 7945,-1607.32 7945,-850.92 7945,-784.07 7971.61,-746.11 7921,-702.43 7865.02,-654.11 5323.71,-702.23 5259,-666.43 5196.66,-631.94 5138.54,-444.15 5085,-397.14 5057.43,-372.95 5020.1,-355.28 4989.82,-343.7"/>
<polygon fill="#db0505" stroke="black" points="4991.44,-340.2 4980.85,-340 4989.01,-346.76 4991.44,-340.2"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_sign -->
<g id="edge180" 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="M8855.26,-3328.71C8495.98,-3319.9 6349.56,-3266.67 6320,-3252.17 6311.21,-3247.86 6315.71,-3236.39 6306,-3235.17"/>
<path fill="none" stroke="black" d="M6306,-3233.17C6277.65,-3229.62 6272.12,-3221.23 6244,-3216.17 6154.86,-3200.13 5916.52,-3225.32 5838,-3180.17 5804.63,-3160.98 5819.34,-3131.8 5788,-3109.46 5768.31,-3095.42 5393.87,-2991.78 5370,-2987.9 5169.81,-2955.34 4655.13,-2999.61 4458,-2951.9 4385.58,-2934.37 4378.42,-2898.69 4306,-2881.19 4104.96,-2832.62 3566.97,-2924.59 3376,-2845.19 3333.4,-2827.48 3340.91,-2795.82 3300,-2774.48 3232.68,-2739.36 3198.98,-2776.05 3133,-2738.48 3055.19,-2694.17 3071.27,-2639.26 2996,-2590.75 2953.47,-2563.35 2924.6,-2589.69 2888,-2554.75 2858.52,-2526.61 2878.71,-2502.34 2855,-2469.19 2840.5,-2448.92 2829.5,-2450.95 2812,-2433.19 2579.54,-2197.37 2538.96,-2121.28 2342,-1855.09 2240.06,-1717.32 2176.95,-1698.91 2127,-1534.96 2032.99,-1226.37 2085.27,-1129.02 2127,-809.14 2133.07,-762.64 2147.74,-710.96 2159.09,-675.5"/>
<polygon fill="#db0505" stroke="black" points="2162.58,-677.09 2162.34,-666.49 2155.92,-674.92 2162.58,-677.09"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_status -->
<g id="edge181" 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="M8855.27,-3328.8C8484.01,-3320.31 6199.39,-3267.53 6168,-3252.17 6159.21,-3247.87 6163.77,-3235.8 6154,-3235.17"/>
<path fill="none" stroke="black" d="M6154,-3233.17C6075.58,-3228.11 6056.44,-3221.02 5978,-3216.17 5390.46,-3179.85 5240.2,-3233.96 4654,-3180.17 4003.04,-3120.44 3844.95,-3064.36 3201,-2951.9 3139.14,-2941.1 2701.19,-2875.15 2646,-2845.19 2607.68,-2824.38 2615.02,-2797.51 2578,-2774.48 2533.25,-2746.63 2513.18,-2759.85 2465,-2738.48 2390.75,-2705.54 2377.05,-2687.74 2307,-2646.62 2237.94,-2606.08 2216.69,-2601.96 2152,-2554.75 2086.24,-2506.77 2075.47,-2487.69 2015,-2433.19 1995.17,-2415.32 1328.94,-1798.04 1306,-1784.38 1263.98,-1759.35 1240.3,-1778.81 1202,-1748.38 1107.21,-1673.07 912,-1408.25 912,-1287.18 912,-1287.18 912,-1287.18 912,-1071.76 912,-926.07 946.83,-756.03 965.1,-676.87"/>
<polygon fill="#db0505" stroke="black" points="968.7,-677.85 967.57,-667.31 961.89,-676.26 968.7,-677.85"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_status_update -->
<g id="edge182" 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="M6306,-3233.17C6277.73,-3229 6271.58,-3223.65 6244,-3216.17 6229.23,-3212.16 5723.15,-3083.94 5712,-3073.46 5697.73,-3060.04 5717.22,-3035.45 5698,-3031.68"/>
<path fill="none" stroke="black" d="M5698,-3029.68C5677.3,-3024.18 5692.36,-2998.93 5674,-2987.9 5568.99,-2924.81 4689.26,-2987.39 4572,-2951.9 4514.94,-2934.63 4515.05,-2898.51 4458,-2881.19 4346.94,-2847.46 3512.58,-2906.46 3414,-2845.19 3383.7,-2826.36 3404.62,-2795.78 3376,-2774.48 3311.95,-2726.81 3270.12,-2776.66 3200,-2738.48 3149.8,-2711.14 3146.22,-2690.83 3110,-2646.62 3090.97,-2623.39 3096.65,-2607.9 3072,-2590.75 3017.13,-2552.6 2977.23,-2597.67 2926,-2554.75 2894.1,-2528.04 2906.9,-2506.26 2888,-2469.19 2737.6,-2174.32 2141,-1511.49 2141,-1180.47 2141,-1180.47 2141,-1180.47 2141,-850.92 2141,-774.05 2205.03,-704.77 2249.98,-665.61"/>
<polygon fill="#db0505" stroke="black" points="2251.79,-667.81 2257.13,-658.66 2247.25,-662.49 2251.79,-667.81"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_structure -->
<g id="edge183" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_structure</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5812,-3029.68C5791.98,-3022.09 5804.68,-3001.32 5788,-2987.9 5746.61,-2954.59 5724.25,-2969.17 5674,-2951.9 5588.79,-2922.61 5572.52,-2898.02 5484,-2881.19 5383.45,-2862.07 3729.33,-2898.57 3642,-2845.19 3611.56,-2826.58 3631.79,-2796.86 3604,-2774.48 3558.64,-2737.95 3527.8,-2768.68 3478,-2738.48 3400.66,-2691.56 3412.74,-2641.7 3338,-2590.75 3302.74,-2566.72 3277.2,-2586.78 3249,-2554.75 2852.63,-2104.57 3177.83,-1782.93 2901,-1250.83 2897.88,-1244.83 2621,-859.68 2621,-852.92"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_triggers -->
<g id="edge184" 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="M8855.14,-3330.06C8621.96,-3330.14 7631.78,-3325.91 6824,-3252.17 6796.38,-3249.65 6355.36,-3191.39 6330,-3180.17 6284.75,-3160.15 6289.06,-3129.9 6244,-3109.46 6154.57,-3068.89 6106.4,-3129.84 6026,-3073.46 5990.3,-3048.42 6013.27,-3013.53 5978,-2987.9 5912,-2939.94 5865.98,-2997.01 5798,-2951.9 5766.35,-2930.9 5783.39,-2899.29 5750,-2881.19 5656.79,-2830.67 3942.79,-2878.08 3842,-2845.19 3763.53,-2819.58 3752.47,-2792.43 3690,-2738.48 3565.26,-2630.74 3557.48,-2579.5 3435,-2469.19 3415.45,-2451.59 3399.65,-2456.79 3388,-2433.19 3371.17,-2399.1 3386.95,-2385.65 3388,-2347.63 3394.45,-2113.19 3417,-2055.27 3417,-1820.74 3417,-1820.74 3417,-1820.74 3417,-1712.03 3417,-1570.63 3419,-1535.29 3419,-1393.9 3419,-1393.9 3419,-1393.9 3419,-1285.18 3419,-1223.17 3331.76,-794.73 3305,-738.78"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_unsafe_commands -->
<g id="edge185" 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="M8855.39,-3329.01C8609.16,-3324.2 7534.88,-3300.79 7204,-3252.17 6946.48,-3214.32 6892.31,-3154.83 6636,-3109.46 6484.63,-3082.66 6430.85,-3139.43 6292,-3073.46 6243.3,-3050.32 6247.54,-3022.28 6206,-2987.9 6141.29,-2934.34 6129.63,-2907.94 6050,-2881.19 5971.33,-2854.76 5361.25,-2905.27 5304,-2845.19 5182.81,-2718.01 5333.95,-2673.06 5509,-2590.75 5607.01,-2544.67 5679.3,-2636.8 5750,-2554.75 5774.82,-2525.95 5775.31,-2497.58 5750,-2469.19 5703.41,-2416.94 5502.96,-2456.66 5437,-2433.19 5342.55,-2399.59 5323.82,-2376.05 5247,-2311.63 4953.45,-2065.49 4996.4,-1866.37 4663,-1677.67 4390.09,-1523.21 4270.01,-1632.6 3972,-1534.96 3966.78,-1533.25 3961.43,-1531.28 3956.12,-1529.16"/>
<polygon fill="#db0505" stroke="black" points="3957.57,-1525.56 3946.99,-1524.95 3954.88,-1532.02 3957.57,-1525.56"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_update -->
<g id="edge186" 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="M8956.73,-3329.66C9302.4,-3327.58 11347.28,-3313.01 13011,-3252.17 13306.35,-3241.37 13379.75,-3229.34 13675,-3216.17 13903.36,-3205.98 14477.49,-3217.54 14703,-3180.17 14810.18,-3162.41 14829.62,-3125.99 14937,-3109.46 15018.71,-3096.88 17848.74,-3125.47 17913,-3073.46 18017.69,-2988.73 18133.33,-2017.43 18180,-1891.09 18186.27,-1874.12 18190.94,-1871.29 18199,-1855.09 18222.34,-1808.21 18234.31,-1798.66 18249,-1748.38 18275.8,-1656.66 18264.61,-1629.95 18275,-1534.96 18297.41,-1330.05 18297.66,-1278.2 18324,-1073.76"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_users -->
<g id="edge187" 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="M8956.68,-3329.41C9404.26,-3324.62 12688.73,-3288.57 13675,-3252.17 14778.29,-3211.45 15051.78,-3152.04 16155,-3109.46 16205.78,-3107.5 17945.37,-3106.47 17984,-3073.46 18025.42,-3038.07 18057.45,-2643.77 18070,-2590.75 18115.68,-2397.84 18134.37,-2351.25 18197,-2163.14"/>
<path fill="none" stroke="black" d="M18197,-2161.14C18209.67,-2110.07 18235,-2101.63 18235,-2049.01"/>
<path fill="none" stroke="black" d="M18235,-2047.01C18235,-2025.16 18235,-2000.92 18235,-1980.58"/>
<polygon fill="#db0505" stroke="black" points="18238.5,-1980.73 18235,-1970.73 18231.5,-1980.73 18238.5,-1980.73"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_validate -->
<g id="edge188" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_validate</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8947.79,-3314.95C9020.77,-3289.5 9176.69,-3238.47 9313,-3216.17 9389.42,-3203.67 9953.21,-3233.87 10009,-3180.17 10103.67,-3089.03 10067.18,-2721.77 10057,-2590.75 10052.77,-2536.24 10047.83,-2522.99 10038,-2469.19 10025.14,-2398.81 10018.04,-2381.98 10005,-2311.63 9992.81,-2245.9 10023.91,-2214.41 9981,-2163.14"/>
<path fill="none" stroke="black" d="M9981,-2161.14C9967.02,-2145.49 9973.82,-2134.22 9959,-2119.36 9921.38,-2081.66 9862,-2102.27 9862,-2049.01"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_versions -->
<g id="edge189" 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="M8855.25,-3329.12C8615.4,-3324.93 7594.17,-3304.33 7280,-3252.17 7167.28,-3233.46 6898,-3132.11 6786,-3109.46 6652.64,-3082.49 6611.83,-3114.14 6482,-3073.46 6308.53,-3019.11 6294.28,-2936.14 6121,-2881.19 6059.73,-2861.76 5880.26,-2889.81 5834,-2845.19 5712.15,-2727.66 5887.36,-2594.02 5773,-2469.19 5729.02,-2421.19 5689.65,-2461.46 5631,-2433.19 5550.55,-2394.43 5538.73,-2369.85 5471,-2311.63 5169.38,-2052.4 4919,-2005.03 4919,-1607.32 4919,-1607.32 4919,-1607.32 4919,-1391.9 4919,-1149.32 4917.89,-1080.16 4833,-852.92"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_web -->
<g id="edge190" 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="M8955.76,-3325.44C9058.46,-3315.7 9301.09,-3290.43 9502,-3252.17 9566.38,-3239.91 9580.31,-3226.67 9645,-3216.17 9749.93,-3199.13 10035.7,-3242.24 10122,-3180.17 10163.79,-3150.12 10154.35,-3123.35 10167,-3073.46 10283.47,-2614.27 10196.41,-2480.47 10271,-2012.65 10300.06,-1830.42 10361,-1791.85 10361,-1607.32 10361,-1607.32 10361,-1607.32 10361,-965.05 10361,-689.49 10600.59,-691.43 10859,-595.72 10964.29,-556.72 11265.21,-614.91 11363,-559.72 11375.76,-552.52 11373.27,-544.55 11382,-532.79"/>
<path fill="none" stroke="black" d="M11382,-530.79C11407.74,-496.04 11408.5,-467.66 11382,-433.5"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_lock -->
<g id="edge191" 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="M8909,-3233.17C8956.78,-3131.68 8982.16,-3111.48 9061,-3031.68"/>
<path fill="none" stroke="black" d="M9061,-3029.68C9129.09,-2969.3 9123.5,-2927.23 9202,-2881.19 9433.31,-2745.54 9743.95,-2977.13 9781,-2711.55"/>
<path fill="none" stroke="black" d="M9781,-2709.55C9781.5,-2694.91 9772.62,-2692.71 9762,-2682.62 9740.28,-2661.98 9727.86,-2665.99 9705,-2646.62 9692.77,-2636.25 9692.37,-2630.99 9681,-2619.69"/>
<path fill="none" stroke="black" d="M9681,-2617.69C9660.14,-2596.96 9641.49,-2569.43 9628.4,-2547.8"/>
<polygon fill="#db0505" stroke="black" points="9631.07,-2546.45 9622.96,-2539.63 9625.05,-2550.02 9631.07,-2546.45"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_alpm_pacman -->
<g id="edge192" 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="M8865.94,-3313.4C8800.06,-3286.1 8664.77,-3229.71 8551,-3180.17 8540.59,-3175.64 7811.17,-2854.72 7805,-2845.19 7750.35,-2760.75 7877.16,-2705.07 7824,-2619.69"/>
<path fill="none" stroke="black" d="M7824,-2617.69C7807.57,-2591.16 7784.25,-2564.92 7765.07,-2545.34"/>
<polygon fill="#db0505" stroke="black" points="7767.94,-2543.26 7758.4,-2538.64 7762.98,-2548.2 7767.94,-2543.26"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_auth_auth -->
<g id="edge193" 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="M8956.72,-3329.41C9320.97,-3325.46 11542.99,-3299.69 12216,-3252.17 12352.16,-3242.56 12384.82,-3225.39 12521,-3216.17 12745.52,-3200.96 14326.41,-3229.38 14546,-3180.17 14620.68,-3163.43 14629.42,-3130.5 14703,-3109.46 14818.12,-3076.53 14851.5,-3090.66 14970,-3073.46 15318.08,-3022.94 15436.89,-3108.17 15752,-2951.9 16030.16,-2813.95 16169,-2701.9 16169,-2391.41 16169,-2391.41 16169,-2391.41 16169,-2275.28 16169,-2205.17 16185.28,-2176.75 16145,-2119.36 16125.8,-2092.02 16106.58,-2102.23 16079,-2083.36 15994.54,-2025.57 15926.47,-2034.49 15903,-1934.87"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_auth_mapping -->
<g id="edge194" 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="M8956.69,-3329.37C9246.15,-3325.89 10719.21,-3306.14 11921,-3252.17 12171.04,-3240.94 12232.93,-3226.73 12483,-3216.17 12678.2,-3207.92 14048.93,-3215.95 14241,-3180.17 14331.63,-3163.29 14346.51,-3131.58 14436,-3109.46 14820.57,-3014.39 14925.49,-3033.56 15319,-2987.9 15403.48,-2978.1 15633.29,-3004.64 15700,-2951.9 15935.7,-2765.57 15868.35,-2608.13 15917,-2311.63 15922.09,-2280.62 15924.48,-2271.45 15917,-2240.92 15902.91,-2183.4 15868.25,-2123.95 15843.7,-2086.75"/>
<polygon fill="#db0505" stroke="black" points="15846.17,-2085.15 15837.7,-2078.79 15840.36,-2089.05 15846.17,-2085.15"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge195" 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="M8956.81,-3329.19C9281.66,-3324.26 11071.5,-3295.46 11617,-3252.17 11740.32,-3242.38 11769.62,-3225.16 11893,-3216.17 11956.09,-3211.57 14115.11,-3211.61 14170,-3180.17 14201.92,-3161.89 14192.61,-3140.07 14213,-3109.46 14477.69,-2712.16 14523.87,-2594.17 14845,-2240.92 14947.22,-2128.48 15087.69,-2014.81 15153.77,-1963.34"/>
<polygon fill="#db0505" stroke="black" points="15155.46,-1965.69 15161.22,-1956.79 15151.17,-1960.16 15155.46,-1965.69"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge196" 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="M8803,-2915.54C8804.54,-2884.08 8835.94,-2893.35 8865,-2881.19 8917.15,-2859.36 8942.91,-2880.57 8987,-2845.19 9000.61,-2834.27 8997.89,-2826.28 9006,-2810.83"/>
<path fill="none" stroke="black" d="M9006,-2808.83C9026.1,-2770.53 9011.52,-2753.96 9003,-2711.55"/>
</g>
<!-- ahriman_core_database_migrations -->
<g id="node60" class="node">
<title>ahriman_core_database_migrations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#883a3a" stroke="black" cx="12360" cy="-2511.97" rx="43.13" ry="35.36"/>
<text text-anchor="middle" x="12360" y="-2523.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12360" y="-2512.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="12360" y="-2502.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="12360" y="-2491.97" 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="edge197" 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="M8956.97,-3329.6C9181.35,-3327.7 10103.36,-3316.21 10857,-3252.17 10980.26,-3241.7 11009.71,-3226.32 11133,-3216.17 11190.67,-3211.42 12129.16,-3216.75 12174,-3180.17 12262.13,-3108.27 12230.16,-2776.74 12294,-2682.62 12321.19,-2642.52 12354.66,-2658.97 12383,-2619.69"/>
<path fill="none" stroke="black" d="M12383,-2617.69C12394.84,-2598.8 12390.57,-2574.66 12382.67,-2554.33"/>
<polygon fill="#db0505" stroke="black" points="12385.56,-2553.21 12378.41,-2545.39 12379.13,-2555.96 12385.56,-2553.21"/>
</g>
<!-- ahriman_core_database_sqlite -->
<g id="node68" class="node">
<title>ahriman_core_database_sqlite</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="12323" cy="-2390.41" rx="41.54" ry="35.36"/>
<text text-anchor="middle" x="12323" y="-2401.91" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12323" y="-2391.41" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="12323" y="-2380.91" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="12323" y="-2370.41" 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="edge198" 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="M12383,-2617.69C12418.71,-2560.71 12439.8,-2530.42 12412,-2469.19 12406.52,-2457.13 12383.9,-2437.43 12362.84,-2420.87"/>
<polygon fill="#db0505" stroke="black" points="12365.32,-2417.6 12355.27,-2414.24 12361.04,-2423.13 12365.32,-2417.6"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge199" 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="M7446,-3233.17C7327.5,-3194.13 7311.1,-3152.51 7194,-3109.46 7132.89,-3086.99 7113.56,-3094.64 7052,-3073.46 6606.63,-2920.2 6457.89,-2930.43 6082,-2646.62 6000.28,-2584.91 6023.29,-2521.07 5935,-2469.19 5859.39,-2424.77 5821.55,-2467.87 5741,-2433.19 5671.88,-2403.43 5603.64,-2347.97 5563.43,-2311.85"/>
<polygon fill="#db0505" stroke="black" points="5566.28,-2309.81 5556.52,-2305.67 5561.58,-2314.99 5566.28,-2309.81"/>
</g>
<!-- ahriman_core_gitremote_remote_pull_trigger -->
<g id="node87" class="node">
<title>ahriman_core_gitremote_remote_pull_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="5813" cy="-1933.87" rx="69.65" ry="35.36"/>
<text text-anchor="middle" x="5813" y="-1945.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5813" y="-1934.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5813" y="-1924.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">gitremote.</text>
<text text-anchor="middle" x="5813" y="-1913.87" 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="edge200" 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="M8855.6,-3328.53C8725.67,-3324.15 8369.11,-3307.62 8078,-3252.17 8077.35,-3252.05 7712.62,-3146.04 7712,-3145.81"/>
<path fill="none" stroke="black" d="M7712,-3143.81C7561.52,-3089.55 7506.03,-3115.84 7370,-3031.68"/>
<path fill="none" stroke="black" d="M7370,-3029.68C7259.45,-2961.28 7239.49,-2927.45 7118,-2881.19 7040.94,-2851.84 7010.1,-2881.35 6936,-2845.19 6921.65,-2838.18 6514.36,-2477.95 6501,-2469.19 6274.2,-2320.49 6145.1,-2394.33 5951,-2204.92 5885.02,-2140.54 5844.73,-2037.89 5825.87,-1979.44"/>
<polygon fill="#db0505" stroke="black" points="5828.94,-1978.55 5822.59,-1970.06 5822.26,-1980.65 5828.94,-1978.55"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge201" 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="M8855.31,-3329.61C8630.04,-3327.65 7718.77,-3314.86 7446,-3235.17"/>
<path fill="none" stroke="black" d="M7446,-3233.17C7336.14,-3201.07 7295.6,-3232.85 7194,-3180.17 7153.04,-3158.93 7159.96,-3128.63 7118,-3109.46 6982.6,-3047.6 6925.99,-3121.23 6785,-3073.46 6741.73,-3058.8 6104.41,-2686.44 6082,-2646.62 6043.31,-2577.87 6139.44,-2528.12 6087,-2469.19 5995.38,-2366.24 5878.21,-2528.86 5779,-2433.19 5728.53,-2384.53 5810.91,-2319.58 5755,-2277.28"/>
<path fill="none" stroke="black" d="M5755,-2275.28C5675.59,-2216.46 5651.63,-2206.85 5563,-2163.14"/>
<path fill="none" stroke="black" d="M5563,-2161.14C5511.36,-2135.68 5454.64,-2102 5416.14,-2078.22"/>
<polygon fill="#db0505" stroke="black" points="5418.59,-2075 5408.25,-2072.7 5414.9,-2080.94 5418.59,-2075"/>
</g>
<!-- ahriman_core_gitremote_remote_push_trigger -->
<g id="node89" class="node">
<title>ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="5575" cy="-1933.87" rx="73.89" ry="35.36"/>
<text text-anchor="middle" x="5575" y="-1945.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5575" y="-1934.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5575" y="-1924.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">gitremote.</text>
<text text-anchor="middle" x="5575" y="-1913.87" 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="edge202" 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="M8855.04,-3329.2C8711.99,-3326.38 8294.97,-3313.11 7955,-3252.17 7838.24,-3231.24 7811.74,-3213.84 7698,-3180.17 7432.37,-3101.54 7344.94,-3110.78 7118,-2951.9 7080.21,-2925.44 7083.19,-2901.97 7042,-2881.19 6964.49,-2842.07 6920.08,-2896.44 6850,-2845.19 6821.2,-2824.13 6837.76,-2799.16 6812,-2774.48 6803.53,-2766.37 6633.32,-2685.67 6622,-2682.62 6571.54,-2669 6188.51,-2684.96 6153,-2646.62 6136.13,-2628.4 6149.65,-2615.35 6153,-2590.75 6155.24,-2574.3 6160.76,-2571.21 6163,-2554.75 6168.14,-2517.08 6188.05,-2497.81 6163,-2469.19 6083.25,-2378.11 5990,-2505.63 5893,-2433.19 5817.99,-2377.19 5872.8,-2307.51 5807,-2240.92 5780.16,-2213.77 5755.8,-2232.12 5729,-2204.92 5699.79,-2175.29 5712.37,-2155.06 5691,-2119.36 5680.59,-2101.97 5674.41,-2100.12 5663,-2083.36 5639.48,-2048.84 5615.48,-2007.88 5598.5,-1977.73"/>
<polygon fill="#db0505" stroke="black" points="5601.18,-1976.36 5593.24,-1969.35 5595.07,-1979.78 5601.18,-1976.36"/>
</g>
<!-- ahriman_core_http_sync_http_client -->
<g id="node91" class="node">
<title>ahriman_core_http_sync_http_client</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a13535" stroke="black" cx="10868" cy="-2511.97" rx="61.16" ry="35.36"/>
<text text-anchor="middle" x="10868" y="-2523.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10868" y="-2512.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="10868" y="-2502.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">http.</text>
<text text-anchor="middle" x="10868" y="-2491.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">sync_http_client</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_http_sync_http_client -->
<g id="edge203" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_http_sync_http_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8956.94,-3329.56C9167.67,-3327.56 9971.54,-3315.82 10216,-3252.17 10463.54,-3187.72 10557.57,-3159.5 10707,-2951.9 10797.87,-2825.65 10842.92,-2642.44 10859.82,-2558.31"/>
<polygon fill="#db0505" stroke="black" points="10863.43,-2559.08 10861.93,-2548.59 10856.56,-2557.72 10863.43,-2559.08"/>
</g>
<!-- ahriman_core_log_http_log_handler -->
<g id="node94" class="node">
<title>ahriman_core_log_http_log_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a13535" stroke="black" cx="9273" cy="-2916.54" rx="61.7" ry="35.36"/>
<text text-anchor="middle" x="9273" y="-2928.04" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9273" y="-2917.54" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9273" y="-2907.04" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log.</text>
<text text-anchor="middle" x="9273" y="-2896.54" 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="edge204" 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="M9061,-3029.68C9073.13,-3017.4 9158.44,-2974.01 9217.08,-2944.94"/>
<polygon fill="#db0505" stroke="black" points="9218.19,-2947.8 9225.6,-2940.23 9215.09,-2941.52 9218.19,-2947.8"/>
</g>
<!-- ahriman_core_log_log -->
<g id="node97" class="node">
<title>ahriman_core_log_log</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#822b2b" stroke="black" cx="8732" cy="-2809.83" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="8732" y="-2821.33" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8732" y="-2810.83" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8732" y="-2800.33" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log.</text>
<text text-anchor="middle" x="8732" y="-2789.83" 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="edge205" 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="M8803,-2915.54C8804.4,-2887.01 8786.05,-2860.44 8767.65,-2841.2"/>
<polygon fill="#db0505" stroke="black" points="8770.65,-2839.26 8761.1,-2834.68 8765.72,-2844.22 8770.65,-2839.26"/>
</g>
<!-- ahriman_core_report_console -->
<g id="node99" class="node">
<title>ahriman_core_report_console</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#822b2b" stroke="black" cx="6809" cy="-2162.14" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="6809" y="-2173.64" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6809" y="-2163.14" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6809" y="-2152.64" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="6809" y="-2142.14" 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="edge206" 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="M8855.29,-3328.86C8698.7,-3324.77 8225.3,-3306.64 8092,-3235.17"/>
<path fill="none" stroke="black" d="M8092,-3233.17C7935.26,-3149.13 7533.42,-2953.03 7392,-2845.19 7356.92,-2818.44 6849.34,-2319.63 6837,-2277.28"/>
</g>
<!-- ahriman_core_report_email -->
<g id="node100" class="node">
<title>ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="6553" cy="-1819.74" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="6553" y="-1831.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6553" y="-1820.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6553" y="-1810.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="6553" y="-1799.74" 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="edge207" 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="M7370,-3029.68C7287.61,-2972.44 7277.9,-2944.41 7200,-2881.19 7198.15,-2879.69 6655.05,-2470.41 6653,-2469.19 6619.44,-2449.34 6597.38,-2463.62 6573,-2433.19 6560.59,-2417.71 6503.01,-2103.1 6501,-2083.36 6497.82,-2052.1 6496.85,-2043.81 6501,-2012.65 6507.93,-1960.58 6525,-1902.59 6537.7,-1864.13"/>
<polygon fill="#db0505" stroke="black" points="6541.3,-1865.41 6541.16,-1854.82 6534.66,-1863.19 6541.3,-1865.41"/>
</g>
<!-- ahriman_core_report_html -->
<g id="node101" class="node">
<title>ahriman_core_report_html</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#822b2b" stroke="black" cx="5551" cy="-1819.74" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="5551" y="-1831.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5551" y="-1820.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5551" y="-1810.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="5551" y="-1799.74" 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="edge208" 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="M7446,-3233.17C7356.05,-3207.86 7359.02,-3152.35 7276,-3109.46 7231.42,-3086.43 7215.98,-3091.08 7169,-3073.46 7111.05,-3051.72 6178.69,-2694.92 6140,-2646.62 6089.96,-2584.14 6166.68,-2524.7 6109,-2469.19 6023.04,-2386.47 5936.59,-2507.18 5843,-2433.19 5771.17,-2376.41 5831.61,-2307.74 5769,-2240.92 5742.89,-2213.06 5717.8,-2232.12 5691,-2204.92 5661.79,-2175.29 5677.57,-2152.94 5653,-2119.36 5619.17,-2073.14 5435.88,-1978.5 5473,-1934.87"/>
</g>
<!-- ahriman_core_report_jinja_template -->
<g id="node102" class="node">
<title>ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8b1818" stroke="black" cx="6629" cy="-1933.87" rx="53.74" ry="35.36"/>
<text text-anchor="middle" x="6629" y="-1945.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6629" y="-1934.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6629" y="-1924.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="6629" y="-1913.87" 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="edge209" 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="M7712,-3143.81C7574.33,-3089.62 7547.47,-3053.58 7440,-2951.9 7410.88,-2924.35 7414.89,-2906.74 7384,-2881.19 7357.34,-2859.15 7344.65,-2863.01 7315,-2845.19 7061.83,-2693.04 7038.94,-2584.49 6767,-2469.19 6693.09,-2437.86 6640.79,-2495.36 6590,-2433.19 6565.94,-2403.75 6582.54,-2384.92 6590,-2347.63 6593.4,-2330.64 6600.83,-2328.46 6605,-2311.63 6633.2,-2197.87 6635.14,-2166.06 6629,-2049.01"/>
<path fill="none" stroke="black" d="M6629,-2047.01C6627.85,-2025.03 6627.71,-2000.59 6627.92,-1980.15"/>
<polygon fill="#db0505" stroke="black" points="6631.43,-1980.3 6628.07,-1970.25 6624.43,-1980.2 6631.43,-1980.3"/>
</g>
<!-- ahriman_core_report_remote_call -->
<g id="node103" class="node">
<title>ahriman_core_report_remote_call</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="9268" cy="-1933.87" rx="46.85" ry="35.36"/>
<text text-anchor="middle" x="9268" y="-1945.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9268" y="-1934.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9268" y="-1924.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="9268" y="-1913.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote_call</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_report_remote_call -->
<g id="edge210" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_report_remote_call</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8909,-3143.81C8882.95,-3025.86 8901.01,-2973.44 8979,-2881.19 9003.91,-2851.72 9036.83,-2877.44 9058,-2845.19 9149.72,-2705.47 9015.09,-2628.7 9065,-2469.19 9113.82,-2313.18 9236.31,-2323.31 9269,-2163.14"/>
<path fill="none" stroke="black" d="M9269,-2161.14C9272.57,-2111.27 9291.36,-2097.19 9278,-2049.01"/>
<path fill="none" stroke="black" d="M9278,-2047.01C9272.04,-2025.54 9269.41,-2000.95 9268.32,-1980.28"/>
<polygon fill="#db0505" stroke="black" points="9271.79,-1980.4 9267.87,-1970.56 9264.79,-1980.69 9271.79,-1980.4"/>
</g>
<!-- ahriman_core_report_report -->
<g id="node104" class="node">
<title>ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#950303" stroke="black" cx="6809" cy="-2048.01" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="6809" y="-2059.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6809" y="-2049.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6809" y="-2038.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="6809" y="-2028.01" 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="edge211" 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="M8092,-3233.17C8013.24,-3192.83 8006.13,-3163.42 7936,-3109.46 7780.4,-2989.72 7721.34,-2983.51 7582,-2845.19 7312.05,-2577.21 7421.41,-2296.02 7065,-2163.14"/>
<path fill="none" stroke="black" d="M7065,-2161.14C7033.69,-2150.02 7032.62,-2134.43 7003,-2119.36 6954.63,-2094.77 6895.58,-2074.65 6855.43,-2062.32"/>
<polygon fill="#db0505" stroke="black" points="6856.72,-2058.75 6846.14,-2059.2 6854.69,-2065.45 6856.72,-2058.75"/>
</g>
<!-- ahriman_core_report_report_trigger -->
<g id="node105" class="node">
<title>ahriman_core_report_report_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#822b2b" stroke="black" cx="7335" cy="-1933.87" rx="52.15" ry="35.36"/>
<text text-anchor="middle" x="7335" y="-1945.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7335" y="-1934.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="7335" y="-1924.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="7335" y="-1913.87" 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="edge212" 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="M8092,-3233.17C8027.11,-3203.03 8040.17,-3159.47 7989,-3109.46 7865.87,-2989.11 7820.04,-2975.51 7676,-2881.19 7651.25,-2864.98 7636.32,-2869.87 7620,-2845.19 7544.28,-2730.7 7596.98,-2329.35 7492,-2240.92 7433.93,-2192.01 7381.58,-2255.55 7325,-2204.92 7310.41,-2191.87 7316.12,-2182.05 7311,-2163.14"/>
</g>
<!-- ahriman_core_report_telegram -->
<g id="node106" class="node">
<title>ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="6809" cy="-1819.74" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="6809" y="-1831.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6809" y="-1820.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6809" y="-1810.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="6809" y="-1799.74" 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="edge213" 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="M8856.98,-3323.46C8683.47,-3297.88 8092.49,-3187.98 7787,-2845.19 7686.89,-2732.85 7669.66,-2694.16 7613,-2554.75 7577.38,-2467.12 7590.8,-2438.35 7564,-2347.63 7523.76,-2211.41 7422.82,-1912.21 7396,-1891.09 7353.94,-1857.97 6990.56,-1832.11 6857.53,-1823.67"/>
<polygon fill="#db0505" stroke="black" points="6858.07,-1820.13 6847.87,-1823 6857.63,-1827.12 6858.07,-1820.13"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_repository_repository -->
<g id="edge214" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8803,-2915.54C8815.64,-2814.95 8960.38,-2927.19 9020,-2845.19 9026.68,-2835.99 9020.66,-2692.42 9017,-2682.62 8991.35,-2614 8937.53,-2623.78 8913,-2554.75 8900.27,-2518.92 8906.99,-2506.74 8913,-2469.19 8955.76,-2202.14 8947.53,-2112.4 9103,-1891.09 9132.19,-1849.55 9188.71,-1871.33 9193,-1820.74"/>
<path fill="none" stroke="black" d="M9193,-1818.74C9195.23,-1772.25 9228.86,-1743.69 9193,-1714.03"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge215" 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="M8803,-3029.68C8764.5,-2998.03 8800.56,-2967.32 8803,-2917.54"/>
<path fill="none" stroke="black" d="M8803,-2915.54C8808.68,-2799.83 8625.5,-2934.74 8552,-2845.19 8498.84,-2780.41 8537.24,-2551.78 8523,-2469.19 8521.12,-2458.31 8465.59,-2286.91 8471,-2277.28"/>
</g>
<!-- ahriman_core_sign_gpg -->
<g id="node114" class="node">
<title>ahriman_core_sign_gpg</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b30404" stroke="black" cx="11365" cy="-2162.14" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="11365" y="-2173.64" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11365" y="-2163.14" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11365" y="-2152.64" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">sign.</text>
<text text-anchor="middle" x="11365" y="-2142.14" 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="edge216" 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="M8956.83,-3329.87C9161.97,-3329.05 9948.62,-3321.34 10591,-3252.17 10635.82,-3247.34 10646.22,-3240.4 10691,-3235.17"/>
<path fill="none" stroke="black" d="M10691,-3233.17C10719.38,-3229.86 10724.97,-3221.69 10753,-3216.17 10883.03,-3190.58 10924.85,-3226.55 11049,-3180.17 11164.29,-3137.1 11443.91,-2959.3 11490,-2845.19 11501.77,-2816.05 11491.27,-2805.88 11490,-2774.48 11483.11,-2603.81 11467.62,-2562 11459,-2391.41"/>
</g>
<!-- ahriman_core_status_client -->
<g id="node117" class="node">
<title>ahriman_core_status_client</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#931010" stroke="black" cx="9583" cy="-3144.81" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="9583" y="-3156.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9583" y="-3145.81" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9583" y="-3135.31" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="9583" y="-3124.81" 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="edge217" 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="M8909,-3233.17C8935.75,-3176.34 9384.25,-3153.62 9534.44,-3147.58"/>
<polygon fill="#db0505" stroke="black" points="9534.29,-3151.04 9544.14,-3147.15 9534.01,-3144.05 9534.29,-3151.04"/>
</g>
<!-- ahriman_core_status_watcher -->
<g id="node118" class="node">
<title>ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a1e1e" stroke="black" cx="12228" cy="-1286.18" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="12228" y="-1297.68" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12228" y="-1287.18" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="12228" y="-1276.68" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="12228" y="-1266.18" 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="edge218" 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="M12497,-3029.68C12597.7,-2696.76 12920.58,-2840.42 13119,-2554.75 13291.71,-2306.1 13294.35,-2169.81 13169,-1607.32"/>
</g>
<!-- ahriman_core_status_web_client -->
<g id="node119" class="node">
<title>ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#821717" stroke="black" cx="11121" cy="-2162.14" rx="43.66" ry="35.36"/>
<text text-anchor="middle" x="11121" y="-2173.64" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11121" y="-2163.14" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11121" y="-2152.64" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="11121" y="-2142.14" 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="edge219" 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="M8956.21,-3326.6C9150.91,-3313.57 9850.13,-3266.26 9949,-3252.17 9987.23,-3246.72 10254.76,-3198.02 10289,-3180.17 10509.16,-3065.4 10518.55,-2959.83 10631,-2738.48 10688.55,-2625.2 10655.24,-2574.05 10727,-2469.19 10800.67,-2361.57 10869.13,-2380.39 10949,-2277.28"/>
<path fill="none" stroke="black" d="M10949,-2275.28C10981.85,-2225.63 11013.48,-2237.98 11063,-2204.92 11068.62,-2201.17 11074.48,-2197.12 11080.21,-2193.08"/>
<polygon fill="#db0505" stroke="black" points="11081.96,-2195.42 11088.07,-2186.76 11077.9,-2189.72 11081.96,-2195.42"/>
</g>
<!-- ahriman_core_support_keyring_trigger -->
<g id="node121" class="node">
<title>ahriman_core_support_keyring_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="11515" cy="-1819.74" rx="55.86" ry="35.36"/>
<text text-anchor="middle" x="11515" y="-1831.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11515" y="-1820.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11515" y="-1810.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">support.</text>
<text text-anchor="middle" x="11515" y="-1799.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">keyring_trigger</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_support_keyring_trigger -->
<g id="edge220" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_support_keyring_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11480,-3029.68C11658.06,-2862.67 11644.94,-2167.54 11571,-1934.87"/>
</g>
<!-- ahriman_core_support_mirrorlist_trigger -->
<g id="node122" class="node">
<title>ahriman_core_support_mirrorlist_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a2e2e" stroke="black" cx="11482" cy="-1933.87" rx="60.63" ry="35.36"/>
<text text-anchor="middle" x="11482" y="-1945.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11482" y="-1934.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11482" y="-1924.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">support.</text>
<text text-anchor="middle" x="11482" y="-1913.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">mirrorlist_trigger</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_support_mirrorlist_trigger -->
<g id="edge221" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_support_mirrorlist_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10691,-3233.17C10719.38,-3229.87 10724.9,-3221.32 10753,-3216.17 10918.99,-3185.74 10968.49,-3225.67 11131,-3180.17 11200.43,-3160.73 11210.83,-3138.1 11277,-3109.46 11365.67,-3071.08 11415.49,-3103.61 11480,-3031.68"/>
<path fill="none" stroke="black" d="M11480,-3029.68C11538.07,-2970.64 11500.21,-2927.79 11506,-2845.19 11521.5,-2624.11 11499.55,-2567.66 11473,-2347.63 11465.3,-2283.85 11455.13,-2268.96 11450,-2204.92 11446.97,-2167.02 11446.74,-2157.25 11450,-2119.36 11454.14,-2071.31 11464.23,-2017 11471.98,-1979.81"/>
<polygon fill="#db0505" stroke="black" points="11475.55,-1980.83 11474.2,-1970.33 11468.7,-1979.38 11475.55,-1980.83"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_support_package_creator -->
<g id="edge222" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_support_package_creator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8956.95,-3329.29C9212.34,-3325.75 10354.65,-3307.06 10705,-3252.17 10733.23,-3247.75 10738.57,-3238.03 10767,-3235.17"/>
<path fill="none" stroke="black" d="M10767,-3233.17C10776.74,-3232.19 10772.31,-3220.66 10781,-3216.17 10879.17,-3165.42 11171.27,-3212.34 11277,-3180.17 11337.69,-3161.7 11341.72,-3132.05 11401,-3109.46 11472.76,-3082.11 11508.16,-3118.99 11570,-3073.46 11605.11,-3047.61 11592.29,-3023.11 11618,-2987.9 11702.79,-2871.79 11781.51,-2875.83 11824,-2738.48 11831.34,-2714.76 11828.23,-2707.08 11824,-2682.62 11818.78,-2652.43 11646.16,-2192.93 11639,-2163.14"/>
<path fill="none" stroke="black" d="M11639,-2161.14C11633.01,-2134.86 11646.48,-2108.24 11662.27,-2087.54"/>
<polygon fill="#db0505" stroke="black" points="11665.57,-2090.02 11669.13,-2080.05 11660.12,-2085.63 11665.57,-2090.02"/>
</g>
<!-- ahriman_core_support_pkgbuild_keyring_generator -->
<g id="node125" class="node">
<title>ahriman_core_support_pkgbuild_keyring_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="11790" cy="-1933.87" rx="65.41" ry="42.78"/>
<text text-anchor="middle" x="11790" y="-1950.62" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11790" y="-1940.12" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11790" y="-1929.62" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">support.</text>
<text text-anchor="middle" x="11790" y="-1919.12" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pkgbuild.</text>
<text text-anchor="middle" x="11790" y="-1908.62" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">keyring_generator</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_support_pkgbuild_keyring_generator -->
<g id="edge223" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_support_pkgbuild_keyring_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8956.94,-3329.67C9191.6,-3328.06 10191.84,-3317.49 11009,-3252.17 11070.6,-3247.25 11085.32,-3238.96 11147,-3235.17"/>
<path fill="none" stroke="black" d="M11147,-3233.17C11192,-3230.41 11202.16,-3220.8 11247,-3216.17 11300.14,-3210.68 12165.19,-3212.14 12208,-3180.17 12248.1,-3150.22 12229.81,-3121.46 12244,-3073.46 12295.37,-2899.7 12263.4,-2835.92 12360,-2682.62 12372.23,-2663.2 12381.46,-2663.5 12397,-2646.62 12449.09,-2590.01 12502.4,-2589.77 12507,-2512.97"/>
<path fill="none" stroke="black" d="M12507,-2510.97C12532.77,-2352.36 12121.29,-2094.5 11983,-2012.65 11943.9,-1989.51 11896.64,-1970.34 11858.67,-1956.82"/>
<polygon fill="#db0505" stroke="black" points="11860.32,-1953.34 11849.73,-1953.33 11858.01,-1959.94 11860.32,-1953.34"/>
</g>
<!-- ahriman_core_support_pkgbuild_mirrorlist_generator -->
<g id="node126" class="node">
<title>ahriman_core_support_pkgbuild_mirrorlist_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a2e2e" stroke="black" cx="11893" cy="-2162.14" rx="70.18" ry="42.78"/>
<text text-anchor="middle" x="11893" y="-2178.89" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11893" y="-2168.39" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11893" y="-2157.89" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">support.</text>
<text text-anchor="middle" x="11893" y="-2147.39" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pkgbuild.</text>
<text text-anchor="middle" x="11893" y="-2136.89" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">mirrorlist_generator</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_support_pkgbuild_mirrorlist_generator -->
<g id="edge224" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_support_pkgbuild_mirrorlist_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10767,-3233.17C10776.74,-3232.23 10772.29,-3220.64 10781,-3216.17 10886.79,-3161.82 11198.63,-3204.76 11315,-3180.17 11450.59,-3151.51 11483.77,-3134.89 11608,-3073.46 11697.86,-3029.02 11720.13,-3015.04 11798,-2951.9 11960.96,-2819.76 11951.43,-2736.86 12102,-2590.75 12121.39,-2571.94 12138.8,-2578.87 12151,-2554.75 12168.17,-2520.83 12158.04,-2506.56 12151,-2469.19 12146.76,-2446.7 12095.77,-2288.83 12076,-2277.28"/>
<path fill="none" stroke="black" d="M12076,-2275.28C12059.81,-2266.08 12066.19,-2252.98 12052,-2240.92 12023.82,-2216.98 12010.22,-2221.16 11977,-2204.92 11970.26,-2201.63 11963.22,-2198.17 11956.22,-2194.71"/>
<polygon fill="#db0505" stroke="black" points="11958.23,-2191.3 11947.72,-2190 11955.13,-2197.58 11958.23,-2191.3"/>
</g>
<!-- ahriman_core_triggers_trigger -->
<g id="node130" class="node">
<title>ahriman_core_triggers_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a2e2e" stroke="black" cx="7653" cy="-2276.28" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="7653" y="-2287.78" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7653" y="-2277.28" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="7653" y="-2266.78" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">triggers.</text>
<text text-anchor="middle" x="7653" y="-2256.28" 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="edge225" 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="M8434,-2915.54C8419.64,-2903.69 8420.74,-2896.41 8410,-2881.19 8376.44,-2833.61 8371.95,-2818.64 8334,-2774.48 8206.92,-2626.62 8189.55,-2563.64 8019,-2469.19 7960.53,-2436.82 7929.75,-2468.5 7873,-2433.19 7830.8,-2406.94 7841.59,-2376.31 7801,-2347.63 7763.78,-2321.34 7745.6,-2332.33 7705,-2311.63 7700.71,-2309.45 7696.34,-2306.98 7692.04,-2304.4"/>
<polygon fill="#db0505" stroke="black" points="7694.16,-2300.97 7683.83,-2298.63 7690.45,-2306.91 7694.16,-2300.97"/>
</g>
<!-- ahriman_core_triggers_trigger_loader -->
<g id="node131" class="node">
<title>ahriman_core_triggers_trigger_loader</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#822b2b" stroke="black" cx="7430" cy="-2276.28" rx="52.68" ry="35.36"/>
<text text-anchor="middle" x="7430" y="-2287.78" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7430" y="-2277.28" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="7430" y="-2266.78" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">triggers.</text>
<text text-anchor="middle" x="7430" y="-2256.28" 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="edge226" 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="M8396,-3029.68C8352.77,-2972.71 8373.11,-2941.06 8334,-2881.19 8309.61,-2843.85 8088.59,-2622.23 8057,-2590.75 8040.52,-2574.33 8031.95,-2574.08 8019,-2554.75 7996.32,-2520.89 8017.24,-2495.37 7986,-2469.19 7921.8,-2415.4 7881.15,-2457.55 7801,-2433.19 7683.21,-2397.4 7551.8,-2337.01 7481.32,-2302.84"/>
<polygon fill="#db0505" stroke="black" points="7483.32,-2299.43 7472.79,-2298.2 7480.25,-2305.73 7483.32,-2299.43"/>
</g>
<!-- ahriman_core_upload_github -->
<g id="node133" class="node">
<title>ahriman_core_upload_github</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#822b2b" stroke="black" cx="12495" cy="-1606.32" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="12495" y="-1617.82" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12495" y="-1607.32" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="12495" y="-1596.82" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload.</text>
<text text-anchor="middle" x="12495" y="-1586.32" 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="edge227" 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="M11147,-3233.17C11156.77,-3232.57 11152.22,-3220.49 11161,-3216.17 11268.21,-3163.36 12134.98,-3244.03 12236,-3180.17 12244.26,-3174.95 12554.8,-2563.58 12559,-2554.75 12584.31,-2501.53 12599.97,-2490.89 12612,-2433.19 12640.52,-2296.43 12615.27,-2257.45 12594,-2119.36 12567.23,-1945.58 12524.11,-1740.81 12504.84,-1652.06"/>
<polygon fill="#db0505" stroke="black" points="12508.05,-1651.34 12502.51,-1642.32 12501.21,-1652.83 12508.05,-1651.34"/>
</g>
<!-- ahriman_core_upload_http_upload -->
<g id="node134" class="node">
<title>ahriman_core_upload_http_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a32828" stroke="black" cx="12202" cy="-1713.03" rx="46.85" ry="35.36"/>
<text text-anchor="middle" x="12202" y="-1724.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12202" y="-1714.03" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="12202" y="-1703.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload.</text>
<text text-anchor="middle" x="12202" y="-1693.03" 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="edge228" 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="M8956.94,-3330.37C9201.73,-3331.92 10281.42,-3333.59 11161,-3252.17 11267.53,-3242.31 11292.5,-3226.27 11399,-3216.17 11501.06,-3206.49 12231.45,-3230.09 12321,-3180.17 12390.5,-3141.43 12421,-3111.25 12421,-3031.68 12421,-3031.68 12421,-3031.68 12421,-2915.54 12421,-2687.34 12562.56,-2658.78 12597,-2433.19 12610,-2348.01 12576.87,-2127.78 12575,-2119.36 12564.06,-2070.22 12565.11,-2054.42 12537,-2012.65 12456.54,-1893.11 12317.49,-1790.43 12246.5,-1742.65"/>
<polygon fill="#db0505" stroke="black" points="12248.62,-1739.19 12238.36,-1736.54 12244.74,-1745.01 12248.62,-1739.19"/>
</g>
<!-- ahriman_core_upload_remote_service -->
<g id="node135" class="node">
<title>ahriman_core_upload_remote_service</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="12094" cy="-1933.87" rx="59.04" ry="35.36"/>
<text text-anchor="middle" x="12094" y="-1945.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12094" y="-1934.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="12094" y="-1924.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload.</text>
<text text-anchor="middle" x="12094" y="-1913.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote_service</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_upload_remote_service -->
<g id="edge229" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_upload_remote_service</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12507,-2510.97C12529.47,-2409.1 12471.35,-2380.71 12485,-2277.28"/>
</g>
<!-- ahriman_core_upload_rsync -->
<g id="node136" class="node">
<title>ahriman_core_upload_rsync</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a2e2e" stroke="black" cx="11269" cy="-1713.03" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="11269" y="-1724.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11269" y="-1714.03" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11269" y="-1703.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload.</text>
<text text-anchor="middle" x="11269" y="-1693.03" 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="edge230" 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="M8956.83,-3328.49C9138.55,-3322.96 9772.87,-3301.12 10294,-3252.17 10415.63,-3240.74 10722.49,-3216.9 10839,-3180.17 10943.87,-3147.11 11203.44,-3032.71 11278,-2951.9 11295.45,-2932.98 11362.9,-2763.7 11368,-2738.48 11372.92,-2714.14 11377,-2705.75 11368,-2682.62 11360.13,-2662.39 11349.41,-2662.85 11335,-2646.62 11313.27,-2622.13 11314.99,-2607.73 11287,-2590.75 11226.9,-2554.3 11176.68,-2609.82 11133,-2554.75 11089.66,-2500.12 11104.24,-2304.46 11133,-2240.92 11143,-2218.83 11160.42,-2225.02 11174,-2204.92 11209.62,-2152.21 11258.82,-1997.67 11269,-1934.87"/>
<path fill="none" stroke="black" d="M11269,-1932.87C11273.04,-1873.07 11272.1,-1803.86 11270.79,-1759.55"/>
<polygon fill="#db0505" stroke="black" points="11274.25,-1759.45 11270.44,-1749.57 11267.26,-1759.67 11274.25,-1759.45"/>
</g>
<!-- ahriman_core_upload_s3 -->
<g id="node137" class="node">
<title>ahriman_core_upload_s3</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#822b2b" stroke="black" cx="10807" cy="-1713.03" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="10807" y="-1724.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10807" y="-1714.03" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="10807" y="-1703.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload.</text>
<text text-anchor="middle" x="10807" y="-1693.03" 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="edge231" 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="M8955.8,-3325.26C9074.98,-3313.91 9385.98,-3283.59 9645,-3252.17 9761.68,-3238.02 9790.41,-3231.04 9907,-3216.17 9974.92,-3207.51 10157.22,-3219.88 10213,-3180.17 10222.67,-3173.29 10300.42,-2998.37 10306,-2987.9 10314.71,-2971.55 10320.52,-2969.25 10327,-2951.9 10439.43,-2650.64 10267.96,-2498.09 10461,-2240.92 10482.24,-2212.63 10511.69,-2233.9 10532,-2204.92 10572.07,-2147.76 10541.25,-2118.13 10551,-2049.01"/>
</g>
<!-- ahriman_core_upload_upload -->
<g id="node138" class="node">
<title>ahriman_core_upload_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a0f0f" stroke="black" cx="11203" cy="-1819.74" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="11203" y="-1831.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11203" y="-1820.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11203" y="-1810.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload.</text>
<text text-anchor="middle" x="11203" y="-1799.74" 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="edge232" 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="M8956.32,-3326.51C9156.81,-3312.76 9888.92,-3261.97 9911,-3252.17 9932.26,-3242.73 9927.94,-3226.05 9949,-3216.17 10071.38,-3158.78 10139.3,-3256.29 10251,-3180.17 10280.48,-3160.08 10271.28,-3140.43 10289,-3109.46 10485.74,-2765.54 10469.3,-2625.24 10752,-2347.63 10819.18,-2281.67 10851.39,-2284.21 10935,-2240.92 10969.26,-2223.18 10989.04,-2234.35 11014,-2204.92 11094.44,-2110.12 11050.41,-2053.7 11087,-1934.87"/>
</g>
<!-- ahriman_core_upload_upload_trigger -->
<g id="node139" class="node">
<title>ahriman_core_upload_upload_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#822b2b" stroke="black" cx="4571" cy="-1713.03" rx="54.27" ry="35.36"/>
<text text-anchor="middle" x="4571" y="-1724.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4571" y="-1714.03" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4571" y="-1703.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload.</text>
<text text-anchor="middle" x="4571" y="-1693.03" 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="edge233" 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="M8855.45,-3329.04C8599.55,-3324.26 7445.11,-3300.36 7090,-3252.17 7055.08,-3247.43 6506.57,-3116.3 6472,-3109.46 6375.67,-3090.4 6344.97,-3110.44 6254,-3073.46 6115.51,-3017.17 6120.23,-2927.24 5978,-2881.19 5870.85,-2846.5 4048.68,-2901.26 3951,-2845.19 3919.1,-2826.88 3929.33,-2804.44 3908,-2774.48 3846.53,-2688.15 3841.38,-2653.53 3756,-2590.75 3721.95,-2565.72 3691.55,-2589.84 3668,-2554.75 3646.8,-2523.18 3666.13,-2507.18 3668,-2469.19 3675.74,-2312.06 3671.4,-2268.33 3722,-2119.36 3733.3,-2086.11 3750.8,-2083.39 3758,-2049.01"/>
<path fill="none" stroke="black" d="M3758,-2047.01C3765.78,-1997.78 3735.72,-1979.46 3758,-1934.87"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_models_migration -->
<g id="edge234" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_models_migration</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8956.94,-3329.49C9218.81,-3326.91 10415.25,-3311.95 10781,-3252.17 10837.64,-3242.91 10848.44,-3225.88 10905,-3216.17 10919.68,-3213.65 11847.29,-3161.46 12075.64,-3148.64"/>
<polygon fill="#db0505" stroke="black" points="12075.81,-3152.08 12085.6,-3148.02 12075.42,-3145.09 12075.81,-3152.08"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_web_apispec -->
<g id="edge235" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_web_apispec</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8956.92,-3329.97C9210.03,-3329.71 10357.77,-3324.4 11294,-3252.17 11425.69,-3242.01 11457.38,-3227.2 11589,-3216.17 11676.23,-3208.86 12301.97,-3226.89 12376,-3180.17 12495.35,-3104.85 12442.49,-3016.38 12483,-2881.19 12543.22,-2680.18 12598.63,-2640.36 12632,-2433.19 12679.35,-2139.28 12543.5,-1573.42 12542,-1570.96 12527.59,-1547.26 12508.95,-1556.12 12491,-1534.96 12434.3,-1468.15 12477.99,-1406.03 12405,-1357.54 12279.88,-1274.42 11865.54,-1386.3 11730,-1321.54 11672.44,-1294.04 11656.85,-1274.39 11634,-1214.83 11605.76,-1141.21 11621.1,-1115.2 11634,-1037.41 11635.9,-1025.93 11639.45,-1013.8 11643.23,-1002.92"/>
<polygon fill="#db0505" stroke="black" points="11646.74,-1004.51 11646.9,-993.92 11640.17,-1002.1 11646.74,-1004.51"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge236" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8956.78,-3329C9271.2,-3323.05 10984.75,-3290.1 12382,-3252.17 12413.34,-3251.32 14608.21,-3189.93 14638,-3180.17 14690.76,-3162.87 14688.49,-3127.51 14741,-3109.46 14865.85,-3066.54 15202.96,-3089.51 15334,-3073.46 16145.17,-2974.07 16369.21,-3004.3 17142,-2738.48 17387.36,-2654.08 17422.29,-2573.21 17660,-2469.19 17703.27,-2450.26 17726.22,-2466.22 17760,-2433.19 17789.14,-2404.7 17776.06,-2384.7 17793,-2347.63 17822.87,-2282.28 17848.27,-2273.73 17869,-2204.92 17950.66,-1933.9 17868.5,-1847.26 17930,-1570.96 17951.88,-1472.68 17948.02,-1439.86 18006,-1357.54 18034.44,-1317.17 18062.67,-1326.91 18092,-1287.18"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_web_views_base -->
<g id="edge237" 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="M8957,-3330C9293.1,-3330.08 11194.45,-3327.2 11769,-3252.17 11837.84,-3243.18 11852.11,-3224.77 11921,-3216.17 11983.96,-3208.31 14151.17,-3213.76 14205,-3180.17 14234.92,-3161.5 14216.81,-3135.12 14241,-3109.46 14320.67,-3024.93 14599.03,-2914.83 14692,-2845.19 14887.02,-2699.11 14891.63,-2609.28 15091,-2469.19 15119.95,-2448.85 15136.25,-2457.46 15162,-2433.19 15207.53,-2390.29 15208.38,-2369.16 15233,-2311.63 15287.4,-2184.52 15276.06,-2144.08 15319,-2012.65 15383.94,-1813.9 15365.54,-1745.29 15481,-1570.96 15557.64,-1455.24 15581.11,-1411.47 15709,-1357.54 15870.11,-1289.6 16328.05,-1373.52 16495,-1321.54 16546.07,-1305.64 16703.05,-1232.34 16690,-1180.47"/>
<path fill="none" stroke="black" d="M16690,-1178.47C16662.56,-1087.45 16561.22,-1168.76 16488,-1108.12 16475.3,-1097.6 16487.16,-1083.69 16474,-1073.76"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_web_web -->
<g id="edge238" 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="M8956.83,-3329.7C9270.51,-3327.98 10946.09,-3315.9 11455,-3252.17 11528.18,-3243 11543.88,-3225.85 11617,-3216.17 11705.87,-3204.4 12347.85,-3229.04 12423,-3180.17 12484.82,-3139.97 12488,-3104.86 12497,-3031.68"/>
<path fill="none" stroke="black" d="M12497,-3029.68C12532.79,-2918.01 12532.28,-2887.37 12564,-2774.48 12619.01,-2578.69 12916.35,-2059.94 12803,-1891.09 12779.45,-1856.01 12747.15,-1882.51 12715,-1855.09 12602.5,-1759.16 12648.33,-1673.69 12542,-1570.96 12518.53,-1548.29 12502.06,-1557.01 12478,-1534.96 12435.63,-1496.15 12432.22,-1478.86 12405,-1428.25 12397.19,-1413.73 12400.15,-1407.61 12391,-1393.9"/>
</g>
<!-- ahriman_core_configuration_configuration -->
<g id="node55" class="node">
<title>ahriman_core_configuration_configuration</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#913030" stroke="black" cx="7743" cy="-4246.67" rx="52.68" ry="35.36"/>
<text text-anchor="middle" x="7743" y="-4258.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7743" y="-4247.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="7743" y="-4237.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">configuration.</text>
<text text-anchor="middle" x="7743" y="-4226.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">configuration</text>
</g>
<!-- ahriman_core_configuration_configuration&#45;&gt;ahriman_core_configuration -->
<g id="edge239" class="edge">
<title>ahriman_core_configuration_configuration&#45;&gt;ahriman_core_configuration</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7782.46,-4222.71C7791.29,-4218.35 7800.78,-4214.24 7810,-4211.32 8044.47,-4136.97 8906,-4302.5 8906,-4056.53 8906,-4056.53 8906,-4056.53 8906,-3528.52 8906,-3473.54 8906,-3409.92 8906,-3370.3"/>
<polygon fill="#913030" stroke="black" points="8909.5,-3370.3 8906,-3360.3 8902.5,-3370.3 8909.5,-3370.3"/>
</g>
<!-- ahriman_core_configuration_schema -->
<g id="node56" class="node">
<title>ahriman_core_configuration_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#ce3b3b" stroke="black" cx="8390" cy="-2511.97" rx="52.68" ry="35.36"/>
<text text-anchor="middle" x="8390" y="-2523.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8390" y="-2512.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8390" y="-2502.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">configuration.</text>
<text text-anchor="middle" x="8390" y="-2491.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schema</text>
</g>
<!-- ahriman_core_configuration_schema&#45;&gt;ahriman_application_handlers_validate -->
<g id="edge240" class="edge">
<title>ahriman_core_configuration_schema&#45;&gt;ahriman_application_handlers_validate</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8405.04,-2477.85C8434.18,-2414.52 8498.53,-2279.14 8533,-2240.92 8655.16,-2105.5 8711.89,-2096.21 8874,-2012.65 9032.09,-1931.18 9233.04,-1865.42 9327.44,-1836.56"/>
<polygon fill="#ce3b3b" stroke="black" points="9328.32,-1839.65 9336.87,-1833.39 9326.28,-1832.95 9328.32,-1839.65"/>
</g>
<!-- ahriman_core_configuration_schema&#45;&gt;ahriman_core_triggers_trigger -->
<g id="edge241" class="edge">
<title>ahriman_core_configuration_schema&#45;&gt;ahriman_core_triggers_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8353.22,-2486.14C8343.6,-2480.19 8333.1,-2474.13 8323,-2469.19 8181.8,-2400.24 8143.34,-2386.14 7991,-2347.63 7883.02,-2320.34 7850.79,-2339.67 7743,-2311.63 7727.76,-2307.67 7711.56,-2301.98 7697.16,-2296.36"/>
<polygon fill="#ce3b3b" stroke="black" points="7698.62,-2292.78 7688.04,-2292.31 7696.02,-2299.27 7698.62,-2292.78"/>
</g>
<!-- ahriman_core_configuration_shell_interpolator -->
<g id="node57" class="node">
<title>ahriman_core_configuration_shell_interpolator</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c24747" stroke="black" cx="7754" cy="-4353.39" rx="63.82" ry="35.36"/>
<text text-anchor="middle" x="7754" y="-4364.89" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7754" y="-4354.39" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="7754" y="-4343.89" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">configuration.</text>
<text text-anchor="middle" x="7754" y="-4333.39" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">shell_interpolator</text>
</g>
<!-- ahriman_core_configuration_shell_interpolator&#45;&gt;ahriman_core_configuration_configuration -->
<g id="edge242" class="edge">
<title>ahriman_core_configuration_shell_interpolator&#45;&gt;ahriman_core_configuration_configuration</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7750.37,-4317.81C7749.53,-4309.86 7748.63,-4301.28 7747.76,-4292.95"/>
<polygon fill="#c24747" stroke="black" points="7751.15,-4292.79 7746.63,-4283.21 7744.19,-4293.53 7751.15,-4292.79"/>
</g>
<!-- ahriman_core_configuration_validator -->
<g id="node58" class="node">
<title>ahriman_core_configuration_validator</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a83838" stroke="black" cx="9862" cy="-2162.14" rx="52.68" ry="35.36"/>
<text text-anchor="middle" x="9862" y="-2173.64" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9862" y="-2163.14" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9862" y="-2152.64" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">configuration.</text>
<text text-anchor="middle" x="9862" y="-2142.14" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">validator</text>
</g>
<!-- ahriman_core_configuration_validator&#45;&gt;ahriman_application_handlers_validate -->
<g id="edge243" class="edge">
<title>ahriman_core_configuration_validator&#45;&gt;ahriman_application_handlers_validate</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9862,-2126.29C9862,-2104.16 9862,-2074.9 9862,-2049.01"/>
</g>
<!-- ahriman_core_database -->
<g id="node59" class="node">
<title>ahriman_core_database</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db0505" stroke="black" cx="12181" cy="-2276.28" rx="39.42" ry="27.93"/>
<text text-anchor="middle" x="12181" y="-2282.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12181" y="-2272.03" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="12181" y="-2261.53" 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="edge244" 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="M12141.21,-2274.72C11899.71,-2271.34 10605.73,-2253.36 9550,-2240.92 9502.35,-2240.36 6160.5,-2228.35 6119,-2204.92 5924.94,-2095.4 6034.38,-1903.41 5846,-1784.38 5841.11,-1781.29 4217.69,-1465.25 4212,-1464.25 3549.27,-1347.48 2745.84,-1230.11 2485.69,-1192.71"/>
<polygon fill="#db0505" stroke="black" points="2486.22,-1189.1 2475.82,-1191.15 2485.22,-1196.03 2486.22,-1189.1"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_application_handlers_backup -->
<g id="edge245" 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="M10403,-2161.14C10369.15,-2138.68 10436.82,-2121.43 10451,-2083.36 10474.34,-2020.72 10475,-2001.73 10475,-1934.87 10475,-1934.87 10475,-1934.87 10475,-1071.76 10475,-990.42 10323,-820.12 10323,-738.78"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_application_handlers_users -->
<g id="edge246" 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="M12206.51,-2254.69C12214.8,-2249.16 12224.36,-2243.89 12234,-2240.92 12417.47,-2184.58 13771.54,-2235.64 13961,-2204.92 14087.77,-2184.37 14111.5,-2146.61 14237,-2119.36 14603.04,-2039.9 14699.5,-2041.01 15073,-2012.65 15393.73,-1988.3 17776.16,-1943.37 18177.64,-1935.93"/>
<polygon fill="#db0505" stroke="black" points="18177.46,-1939.42 18187.39,-1935.73 18177.33,-1932.42 18177.46,-1939.42"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_auth_auth -->
<g id="edge247" 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="M12207.25,-2254.92C12215.42,-2249.53 12224.72,-2244.28 12234,-2240.92 13458.84,-1797.46 13849.1,-2032.98 15144,-1891.09 15392.8,-1863.83 15691.11,-1835.84 15806.31,-1825.2"/>
<polygon fill="#db0505" stroke="black" points="15806.57,-1828.6 15816.2,-1824.2 15805.92,-1821.63 15806.57,-1828.6"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_auth_mapping -->
<g id="edge248" 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="M12206.51,-2254.68C12214.8,-2249.14 12224.35,-2243.88 12234,-2240.92 12335.86,-2209.76 14044.65,-2210.89 14151,-2204.92 14792.56,-2168.93 15569.22,-2078.74 15768.56,-2054.88"/>
<polygon fill="#db0505" stroke="black" points="15768.73,-2058.26 15778.24,-2053.59 15767.9,-2051.31 15768.73,-2058.26"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge249" 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="M12206.94,-2255C12215.17,-2249.54 12224.59,-2244.24 12234,-2240.92 12803.68,-2039.97 14804.04,-1950.62 15142.25,-1936.8"/>
<polygon fill="#db0505" stroke="black" points="15142.28,-1940.26 15152.13,-1936.36 15141.99,-1933.27 15142.28,-1940.26"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge250" 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="M12141.22,-2275C11838.73,-2272.77 9910.47,-2256.53 9800,-2204.92 9753.92,-2183.4 9769.81,-2141.47 9724,-2119.36 9591.91,-2055.63 9209.99,-2105.43 9065,-2083.36 9037.3,-2079.15 9007.02,-2071.78 8982.09,-2064.95"/>
<polygon fill="#db0505" stroke="black" points="8983.32,-2061.38 8972.75,-2062.06 8981.44,-2068.12 8983.32,-2061.38"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge251" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12141.21,-2274.71C11899.71,-2271.29 10605.73,-2253.07 9550,-2240.92 9348.84,-2238.61 6128.18,-2233.19 5929,-2204.92 5829.89,-2190.86 5547.85,-2104.69 5426.57,-2066.83"/>
<polygon fill="#db0505" stroke="black" points="5427.97,-2063.29 5417.38,-2063.64 5425.88,-2069.97 5427.97,-2063.29"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge252" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12141.21,-2274.72C11899.71,-2271.31 10605.73,-2253.18 9550,-2240.92 9451.53,-2239.78 6099.49,-2232.66 6005,-2204.92 5963.33,-2192.69 5731.04,-2039.29 5626.27,-1969.29"/>
<polygon fill="#db0505" stroke="black" points="5628.4,-1965.83 5618.14,-1963.19 5624.51,-1971.65 5628.4,-1965.83"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_repository_repository -->
<g id="edge253" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12141.29,-2274.77C11887.66,-2271.38 10502.75,-2250.82 10427,-2204.92 10408.68,-2193.83 10421.01,-2174.74 10403,-2163.14"/>
<path fill="none" stroke="black" d="M10403,-2161.14C10181.72,-2018.67 10121.98,-1984.69 9876,-1891.09 9839.36,-1877.15 9222.79,-1739.5 9193,-1714.03"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge254" 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="M12141.14,-2275.17C11850.18,-2274.2 10062.25,-2265.77 9967,-2204.92 9931.13,-2182.01 9959.6,-2142.68 9924,-2119.36 9862.56,-2079.13 9336.92,-2092.09 9264,-2083.36 9180.96,-2073.43 9159.88,-2070.26 9079,-2049.01"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_status_watcher -->
<g id="edge255" 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="M12204.22,-2253.36C12342.24,-2122.86 13047.88,-1451.86 13028,-1393.9"/>
<path fill="none" stroke="black" d="M13028,-1391.9C13017.09,-1375.16 13016.91,-1366.41 12999,-1357.54 12855.64,-1286.54 12432.01,-1371.4 12280,-1321.54 12275.18,-1319.96 12270.38,-1317.8 12265.75,-1315.34"/>
<polygon fill="#db0505" stroke="black" points="12267.95,-1311.98 12257.55,-1309.92 12264.4,-1318.01 12267.95,-1311.98"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_support_keyring_trigger -->
<g id="edge256" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_support_keyring_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11969,-2047.01C11923.6,-1976.88 11933.49,-1937.47 11864,-1891.09 11818.46,-1860.7 11668.79,-1838.68 11580.94,-1828"/>
<polygon fill="#db0505" stroke="black" points="11581.36,-1824.4 11571.02,-1826.69 11580.53,-1831.35 11581.36,-1824.4"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_support_package_creator -->
<g id="edge257" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_support_package_creator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12153.08,-2256.23C12145.11,-2251.06 12136.32,-2245.59 12128,-2240.92 12095.75,-2222.83 12080.09,-2230.09 12053,-2204.92 12037.31,-2190.35 12046.83,-2175.01 12029,-2163.14"/>
<path fill="none" stroke="black" d="M12029,-2161.14C12011.17,-2149.28 12022.2,-2132.12 12005,-2119.36 11937.29,-2069.16 11839.66,-2053.96 11773.22,-2049.78"/>
<polygon fill="#db0505" stroke="black" points="11773.61,-2046.25 11763.43,-2049.18 11773.22,-2053.23 11773.61,-2046.25"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_support_pkgbuild_keyring_generator -->
<g id="edge258" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_support_pkgbuild_keyring_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12029,-2161.14C12023.12,-2157.23 11972.84,-2054.94 11969,-2049.01"/>
<path fill="none" stroke="black" d="M11969,-2047.01C11942.64,-2006.29 11895.72,-1977.71 11856.53,-1959.59"/>
<polygon fill="#db0505" stroke="black" points="11858.31,-1956.11 11847.76,-1955.21 11855.45,-1962.5 11858.31,-1956.11"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_web_web -->
<g id="edge259" 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="M12164.33,-2250.77C12122.6,-2189.56 12009.92,-2025.27 11912,-1891.09 11637.72,-1515.26 11172.14,-1360.81 11420,-967.05"/>
<path fill="none" stroke="black" d="M11420,-965.05C11484.29,-867.38 11635.74,-967.71 11658,-852.92"/>
<path fill="none" stroke="black" d="M11658,-850.92C11690.51,-683.29 13019.54,-560.36 13292.36,-536.86"/>
<polygon fill="#db0505" stroke="black" points="13292.42,-540.29 13302.09,-535.94 13291.83,-533.31 13292.42,-540.29"/>
</g>
<!-- ahriman_core_database_migrations&#45;&gt;ahriman_core_database_sqlite -->
<g id="edge260" 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="M12349.59,-2477.35C12345.54,-2464.25 12340.84,-2449.07 12336.53,-2435.14"/>
<polygon fill="#883a3a" stroke="black" points="12339.63,-2434.3 12333.33,-2425.78 12332.94,-2436.37 12339.63,-2434.3"/>
</g>
<!-- ahriman_core_database_operations -->
<g id="node61" class="node">
<title>ahriman_core_database_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#9f0404" stroke="black" cx="12768" cy="-2511.97" rx="43.13" ry="35.36"/>
<text text-anchor="middle" x="12768" y="-2523.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12768" y="-2512.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="12768" y="-2502.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="12768" y="-2491.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations</text>
</g>
<!-- ahriman_core_database_operations&#45;&gt;ahriman_core_database_sqlite -->
<g id="edge261" 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="M12725.88,-2503.64C12631.84,-2487.1 12410.57,-2447.26 12379,-2433.19 12372.75,-2430.41 12366.53,-2426.82 12360.64,-2422.92"/>
<polygon fill="#9f0404" stroke="black" points="12362.87,-2419.51 12352.68,-2416.6 12358.83,-2425.23 12362.87,-2419.51"/>
</g>
<!-- ahriman_core_database_operations_auth_operations -->
<g id="node62" class="node">
<title>ahriman_core_database_operations_auth_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#913030" stroke="black" cx="14447" cy="-2511.97" rx="60.1" ry="42.78"/>
<text text-anchor="middle" x="14447" y="-2528.72" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14447" y="-2518.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="14447" y="-2507.72" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="14447" y="-2497.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations.</text>
<text text-anchor="middle" x="14447" y="-2486.72" 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="edge262" 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="M14386.71,-2511.97C13865.21,-2511.97 13343.71,-2511.97 12822.22,-2511.97"/>
<polygon fill="#913030" stroke="black" points="12822.45,-2508.47 12812.45,-2511.97 12822.45,-2515.47 12822.45,-2508.47"/>
</g>
<!-- ahriman_core_database_operations_build_operations -->
<g id="node63" class="node">
<title>ahriman_core_database_operations_build_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="5680" cy="-2511.97" rx="61.16" ry="42.78"/>
<text text-anchor="middle" x="5680" y="-2528.72" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5680" y="-2518.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5680" y="-2507.72" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="5680" y="-2497.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations.</text>
<text text-anchor="middle" x="5680" y="-2486.72" 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="edge263" 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="M5740.15,-2520.98C5839.68,-2535.37 6045.03,-2562.94 6220,-2572.75 6309.89,-2577.8 12618.13,-2605.49 12702,-2572.75 12714.82,-2567.75 12726.66,-2558.96 12736.66,-2549.59"/>
<polygon fill="#993333" stroke="black" points="12738.65,-2552.55 12743.27,-2543.01 12733.71,-2547.59 12738.65,-2552.55"/>
</g>
<!-- ahriman_core_database_operations_logs_operations -->
<g id="node64" class="node">
<title>ahriman_core_database_operations_logs_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#913030" stroke="black" cx="12927" cy="-3030.68" rx="59.57" ry="42.78"/>
<text text-anchor="middle" x="12927" y="-3047.43" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12927" y="-3036.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="12927" y="-3026.43" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="12927" y="-3015.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations.</text>
<text text-anchor="middle" x="12927" y="-3005.43" 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="edge264" 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="M12892.24,-2995.63C12854.94,-2955.29 12801,-2884.27 12801,-2810.83 12801,-2810.83 12801,-2810.83 12801,-2709.55 12801,-2656.72 12789.27,-2597 12779.79,-2557.39"/>
<polygon fill="#913030" stroke="black" points="12782.97,-2556.66 12777.19,-2547.78 12776.17,-2558.32 12782.97,-2556.66"/>
</g>
<!-- ahriman_core_database_operations_operations -->
<g id="node65" class="node">
<title>ahriman_core_database_operations_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b03a3a" stroke="black" cx="9984" cy="-2511.97" rx="45.25" ry="42.78"/>
<text text-anchor="middle" x="9984" y="-2528.72" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9984" y="-2518.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9984" y="-2507.72" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="9984" y="-2497.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations.</text>
<text text-anchor="middle" x="9984" y="-2486.72" 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="edge265" 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="M10029.44,-2516.51C10153.73,-2528.67 10509.91,-2561.8 10807,-2572.75 10912.21,-2576.63 12603.93,-2611.03 12702,-2572.75 12714.82,-2567.75 12726.66,-2558.96 12736.66,-2549.59"/>
<polygon fill="#b03a3a" stroke="black" points="12738.65,-2552.55 12743.27,-2543.01 12733.71,-2547.59 12738.65,-2552.55"/>
</g>
<!-- ahriman_core_database_operations_package_operations -->
<g id="node66" class="node">
<title>ahriman_core_database_operations_package_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#822b2b" stroke="black" cx="12680" cy="-3330.95" rx="72.83" ry="42.78"/>
<text text-anchor="middle" x="12680" y="-3347.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12680" y="-3337.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="12680" y="-3326.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="12680" y="-3316.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations.</text>
<text text-anchor="middle" x="12680" y="-3305.7" 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="edge266" 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="M12695.99,-3288.96C12708.93,-3252.1 12725,-3196.16 12725,-3145.81 12725,-3145.81 12725,-3145.81 12725,-2709.55 12725,-2655.95 12740.45,-2595.98 12752.82,-2556.54"/>
<polygon fill="#822b2b" stroke="black" points="12756.41,-2557.82 12756.14,-2547.23 12749.75,-2555.68 12756.41,-2557.82"/>
</g>
<!-- ahriman_core_database_operations_patch_operations -->
<g id="node67" class="node">
<title>ahriman_core_database_operations_patch_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="11855" cy="-2511.97" rx="63.82" ry="42.78"/>
<text text-anchor="middle" x="11855" y="-2528.72" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11855" y="-2518.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11855" y="-2507.72" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="11855" y="-2497.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations.</text>
<text text-anchor="middle" x="11855" y="-2486.72" 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="edge267" 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="M11917.14,-2522.78C12005.61,-2537.56 12173.11,-2563.33 12317,-2572.75 12402.37,-2578.35 12622.3,-2603.86 12702,-2572.75 12714.82,-2567.75 12726.66,-2558.96 12736.66,-2549.59"/>
<polygon fill="#993333" stroke="black" points="12738.65,-2552.55 12743.27,-2543.01 12733.71,-2547.59 12738.65,-2552.55"/>
</g>
<!-- ahriman_core_database_sqlite&#45;&gt;ahriman_core_database -->
<g id="edge268" 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="M12292.89,-2365.63C12270.12,-2347.65 12238.84,-2322.96 12215.15,-2304.24"/>
<polygon fill="#993333" stroke="black" points="12217.8,-2301.09 12207.79,-2297.64 12213.47,-2306.59 12217.8,-2301.09"/>
</g>
<!-- ahriman_core_exceptions -->
<g id="node69" class="node">
<title>ahriman_core_exceptions</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f91010" stroke="black" cx="7142" cy="-4653.53" rx="44.19" ry="27.93"/>
<text text-anchor="middle" x="7142" y="-4659.78" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7142" y="-4649.28" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="7142" y="-4638.78" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">exceptions</text>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge269" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7097.79,-4649.44C7018.25,-4643.98 6845.71,-4632.51 6700,-4625.6 6229.15,-4603.27 6111.03,-4607.89 5640,-4589.6 5263.48,-4574.99 5167.14,-4597.32 4793,-4552.6 4418.35,-4507.83 4329.25,-4466.35 3960,-4388.74 3534.81,-4299.38 3415.86,-4319.5 3006,-4175.32 2772.93,-4093.33 2240.55,-3768.75 2008,-3685.31 1942.65,-3661.87 1922.37,-3669.69 1856,-3649.31 1789.19,-3628.8 1776.45,-3611.78 1709,-3593.45 1616.35,-3568.28 1583.38,-3597.23 1496,-3557.45 1378.81,-3504.11 1362.12,-3465.69 1272,-3373.73 1261.56,-3363.08 944.88,-2965.99 940,-2951.9 914.19,-2877.39 929.09,-2852.57 940,-2774.48 998.79,-2353.68 1122.48,-2272.47 1202,-1855.09 1213.79,-1793.2 1208.53,-1776.59 1216,-1714.03"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge270" 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="M7186.3,-4652.41C7680.11,-4650.97 12136.53,-4636.66 12183,-4589.6 12232.99,-4538.98 11931.64,-4577.52 11865,-4552.6 11744.71,-4507.62 11716.88,-4480.47 11627,-4388.74 11197.05,-3949.91 11338.4,-3641.4 10895,-3216.17 10718.67,-3047.07 10625.37,-3072.66 10413,-2951.9 10354.93,-2918.88 9948.62,-2686.46 9895,-2646.62 9856.11,-2617.72 9622.87,-2398.14 9531.59,-2311.9"/>
<polygon fill="#f91010" stroke="black" points="9534.39,-2309.79 9524.72,-2305.46 9529.59,-2314.87 9534.39,-2309.79"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_search -->
<g id="edge271" 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="M7098.37,-4648.14C6886.1,-4626.55 5960.22,-4530.01 5679,-4460.74 4285.85,-4117.57 3988.17,-3821.8 2764,-3073.46 2428.42,-2868.32 2221.07,-2907.45 2047,-2554.75 2030.17,-2520.66 2041.77,-2506.86 2047,-2469.19 2073.7,-2276.95 2166,-2243.1 2166,-2049.01 2166,-2049.01 2166,-2049.01 2166,-1932.87 2166,-1582.06 2077.94,-1474.47 2196,-1144.12 2242.81,-1013.15 2340.69,-1026.54 2385,-894.7 2397.11,-858.65 2397.23,-845.15 2385,-809.14 2372.33,-771.81 2305.61,-768.93 2331,-738.78"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_users -->
<g id="edge272" 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="M7186.45,-4652.4C7723.01,-4650.72 12948.51,-4633.31 13631,-4589.6 13691.58,-4585.72 14656.33,-4471.86 14716,-4460.74 15343.61,-4343.77 15501.21,-4299.38 16102,-4083.46 16160.8,-4062.33 16173.16,-4051.22 16231,-4027.6 16770.5,-3807.29 16936.63,-3823.7 17455,-3557.45 17648.6,-3458.02 17671.49,-3389.69 17864,-3288.17 17976.14,-3229.04 18025.71,-3255.06 18128,-3180.17 18261.12,-3082.7 18263.22,-3008.31 18288,-2845.19 18341.27,-2494.57 18235,-2403.65 18235,-2049.01"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_validate -->
<g id="edge273" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_validate</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7186.37,-4652.6C7690.45,-4653.26 12320.02,-4657.49 12325,-4589.6"/>
<path fill="none" stroke="black" d="M12325,-4588.6C12328.48,-4541.12 11939.31,-4576.27 11898,-4552.6 11885.29,-4545.32 11891.61,-4533.12 11879,-4525.67"/>
<path fill="none" stroke="black" d="M11879,-4523.67C11517.06,-4310.03 11522.81,-4123.39 11348,-3741.18 11244.97,-3515.92 11303.97,-3418.44 11161,-3216.17 11093.73,-3121.01 10432.21,-2634.26 10347,-2554.75 10259.91,-2473.49 10060.33,-2252 9981,-2163.14"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_application_lock -->
<g id="edge274" 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="M10615,-4588.6C10689.38,-4554.26 10729,-4525.67 10729,-4443.74 10729,-4443.74 10729,-4443.74 10729,-4245.67 10729,-4076.11 10463,-3700.08 10463,-3530.52 10463,-3530.52 10463,-3530.52 10463,-3329.95 10463,-3287.98 9982.99,-2801.64 9951,-2774.48 9912.67,-2741.94 9895.61,-2743.74 9857,-2711.55"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_remote_aur -->
<g id="edge275" 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="M7098.51,-4647.45C7025.52,-4638.51 6873.99,-4618.17 6748,-4589.6 6606.07,-4557.42 6573.61,-4537.82 6434,-4496.74 6379.36,-4480.66 6361.3,-4487.47 6311,-4460.74 6047.87,-4320.89 5845.12,-4289.3 5832,-3991.6"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_remote_official -->
<g id="edge276" 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="M7097.79,-4649.46C7018.25,-4644.01 6845.71,-4632.57 6700,-4625.6 6239.8,-4603.59 6124.07,-4614.05 5664,-4589.6 5433.96,-4577.38 5374.87,-4586.41 5147,-4552.6 3842.99,-4359.11 3535.66,-4184.09 2294,-3741.18 2010.28,-3639.97 1948.21,-3589.18 1660,-3501.59 1596.06,-3482.16 1571.46,-3499.72 1514,-3465.59 1466.43,-3437.34 1458.57,-3421.1 1430,-3373.73 1352.55,-3245.29 1227.71,-2886.24 1202,-2738.48 1183.73,-2633.47 1210.29,-2509.22 1228.77,-2441.53"/>
<polygon fill="#f91010" stroke="black" points="1232.34,-2442.74 1231.66,-2432.17 1225.6,-2440.86 1232.34,-2442.74"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_remote_official_syncdb -->
<g id="edge277" 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="M7097.78,-4649.76C7018.21,-4644.78 6845.63,-4634.08 6700,-4625.6 6115.2,-4591.57 5963.23,-4639.99 5384,-4552.6 5330.67,-4544.56 3551.52,-4099.39 3500,-4083.46 3411.33,-4056.04 2024.39,-3522.64 1934,-3501.59 1857.42,-3483.75 1645.41,-3512.08 1582,-3465.59 1457.17,-3374.06 1444,-3300.61 1444,-3145.81 1444,-3145.81 1444,-3145.81 1444,-2915.54 1444,-2824.88 1476.41,-2796.22 1444,-2711.55"/>
<path fill="none" stroke="black" d="M1444,-2709.55C1427.52,-2669.44 1414.93,-2662.12 1406,-2619.69"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_repo -->
<g id="edge278" 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="M7186.42,-4652.31C7348.77,-4651.05 7903.42,-4642.88 7960,-4589.6"/>
<path fill="none" stroke="black" d="M7960,-4588.6C8002.14,-4548.93 7893.2,-4559.16 7846,-4525.67"/>
<path fill="none" stroke="black" d="M7846,-4523.67C7756.73,-4460.35 7692.03,-4485.03 7640,-4388.74 7633.29,-4376.32 7632.5,-4232.73 7641,-4211.32 7661.53,-4159.62 7677.96,-4147.5 7726,-4119.46 7785.96,-4084.46 7828.35,-4131.98 7878,-4083.46 7908.18,-4053.96 7902,-4033.79 7902,-3991.6 7902,-3991.6 7902,-3991.6 7902,-3233.17 7902,-3091.88 7855.62,-3030.87 7940,-2917.54"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge279" 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="M7186.5,-4652.44C7638.53,-4651.45 11405.5,-4641.68 12529,-4589.6 12732.11,-4580.19 12788.8,-4605.99 12985,-4552.6 13169.11,-4502.51 13596.89,-4206.95 13641,-4175.32 13765.57,-4086.01 13793.17,-4058.35 13906,-3954.6 14399.72,-3500.63 14542.25,-3393.15 14929,-2845.19 15092.42,-2613.64 15205.85,-2560.38 15219,-2277.28"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge280" 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="M7186.42,-4652.3C7585.18,-4650.15 10536.07,-4632.77 10615,-4589.6"/>
<path fill="none" stroke="black" d="M10615,-4588.6C10693.74,-4545.55 10537.58,-4271.49 10471,-4211.32 10282.13,-4040.63 9365,-4167.39 9365,-3912.82 9365,-3912.82 9365,-3912.82 9365,-3329.95 9365,-3217.47 9231.64,-3267.7 9161,-3180.17 9102.21,-3107.32 9116.88,-3071.62 9075,-2987.9 9066.81,-2971.53 9059.59,-2969.62 9055,-2951.9 9047.12,-2921.48 9040.95,-2909.3 9055,-2881.19 9066.93,-2857.34 9091.07,-2869.04 9103,-2845.19 9154.32,-2742.54 9116.14,-2690.28 9059,-2590.75 9048.34,-2572.19 9038.98,-2572.49 9027,-2554.75 8949.9,-2440.62 8937.91,-2406.04 8889,-2277.28"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_configuration_configuration -->
<g id="edge281" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_configuration_configuration</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7846,-4523.67C7784.81,-4479.89 7901.87,-4404.78 7846,-4354.39"/>
<path fill="none" stroke="black" d="M7846,-4352.39C7833.08,-4340.66 7838.1,-4331.49 7827,-4318.03 7815.48,-4304.05 7800.9,-4290.74 7787.14,-4279.53"/>
<polygon fill="#f91010" stroke="black" points="7789.72,-4276.31 7779.71,-4272.83 7785.37,-4281.79 7789.72,-4276.31"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge282" 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="M7098.06,-4649.02C7037.41,-4642.95 6925.64,-4627.29 6838,-4589.6"/>
<path fill="none" stroke="black" d="M6838,-4588.6C6794.61,-4569.94 6779.69,-4574.82 6738,-4552.6 6701.01,-4532.88 6696.6,-4520.41 6662,-4496.74 6588.12,-4446.2 6566.27,-4438.71 6492,-4388.74 6297.84,-4258.11 6245.04,-4230.51 6063,-4083.46 5996.96,-4030.11 5981.6,-4015.05 5922,-3954.6 5886.29,-3918.38 5891.97,-3890.81 5846,-3869.04 5666.72,-3784.1 5138.51,-3905.93 4954,-3833.04 4820.75,-3780.39 4710,-3765.65 4710,-3622.38 4710,-3622.38 4710,-3622.38 4710,-3528.52 4710,-3161.08 4842.3,-3078.27 5049,-2774.48 5081.06,-2727.35 5176.27,-2614.71 5228,-2590.75 5280.76,-2566.33 5710.33,-2597.26 5750,-2554.75 5775.95,-2526.96 5775.15,-2497.72 5750,-2469.19 5665.57,-2373.43 5563.75,-2514.12 5465,-2433.19 5449.85,-2420.78 5455.29,-2410.52 5451,-2391.41"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge283" 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="M7098.19,-4648.49C7012.02,-4639.44 6815.54,-4613.4 6662,-4552.6 6555.98,-4510.62 6316.65,-4351.2 6226,-4282.03 6117.56,-4199.29 6095.14,-4172.72 5992,-4083.46 5926.56,-4026.82 5895.43,-4025.64 5846,-3954.6 5822.72,-3921.14 5846.19,-3892.69 5813,-3869.04 5721.83,-3804.06 4908.55,-3877.96 4806,-3833.04 4753.36,-3809.98 4743.33,-3791.17 4715,-3741.18 4548.25,-3446.93 4511.8,-3312.44 4607,-2987.9 4668.82,-2777.17 4705.87,-2691.53 4901,-2590.75 4980.3,-2549.8 5239.53,-2619.46 5301,-2554.75 5308.93,-2546.41 5308.13,-2359.12 5309,-2347.63 5312.59,-2300.04 5304.21,-2285.6 5321,-2240.92 5335.8,-2201.53 5366.57,-2204.37 5375,-2163.14"/>
<path fill="none" stroke="black" d="M5375,-2161.14C5376.64,-2139.17 5375.85,-2114.74 5374.47,-2094.3"/>
<polygon fill="#f91010" stroke="black" points="5377.89,-2094.1 5373.65,-2084.39 5370.91,-2094.63 5377.89,-2094.1"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_report_report -->
<g id="edge284" 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="M6914,-4523.67C6882.51,-4470.37 6952,-4309.59 6952,-4247.67 6952,-4247.67 6952,-4247.67 6952,-3910.82 6952,-3806.87 6927.35,-3782.31 6890,-3685.31 6738.51,-3291.87 6490.15,-3173.93 6625,-2774.48 6669,-2644.14 6764.19,-2667.51 6843,-2554.75 6888.62,-2489.49 7007.21,-2228.63 6989,-2163.14"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_repository_update_handler -->
<g id="edge285" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_repository_update_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7142,-4523.67C7122.8,-4450.93 7142,-4429.62 7142,-4354.39 7142,-4354.39 7142,-4354.39 7142,-4245.67 7142,-4121.91 7256,-4115.37 7256,-3991.6 7256,-3991.6 7256,-3991.6 7256,-3233.17 7256,-2976.14 7306.21,-2906.19 7433,-2682.62 7458.72,-2637.25 7467.33,-2625.74 7506,-2590.75 7553.41,-2547.87 7581.72,-2558.11 7627,-2512.97"/>
<path fill="none" stroke="black" d="M7627,-2510.97C7640.9,-2497.18 7631.4,-2486.27 7641,-2469.19 7663.46,-2429.26 7752.01,-2351.83 7774,-2311.63 7841.52,-2188.19 7868.16,-1901.87 7871,-1820.74"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_sign_gpg -->
<g id="edge286" 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="M11983,-4352.39C11999.7,-4263.27 11983,-4239.05 11983,-4148.39 11983,-4148.39 11983,-4148.39 11983,-3804.11 11983,-3640.81 11945,-3601.96 11945,-3438.66 11945,-3438.66 11945,-3438.66 11945,-3233.17 11945,-3076.46 11977.65,-3028.43 11924,-2881.19 11810.12,-2568.66 11505.44,-2284.51 11400.84,-2193.46"/>
<polygon fill="#f91010" stroke="black" points="11403.64,-2190.39 11393.79,-2186.49 11399.06,-2195.68 11403.64,-2190.39"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_status_watcher -->
<g id="edge287" 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="M7186.61,-4652.62C7668.41,-4653.49 11900.93,-4659.15 12453,-4589.6 12521.98,-4580.91 12545.79,-4589.05 12605,-4552.6 12721.67,-4480.78 12698.65,-4404.4 12805,-4318.03 12830.94,-4296.97 12843.88,-4301.55 12871,-4282.03 13025.55,-4170.82 13037.79,-4111.35 13185,-3990.6 13277.43,-3914.78 13314.99,-3913.94 13403,-3833.04 13427.1,-3810.88 13425.55,-3797.76 13451,-3777.18 13476.98,-3756.16 13490.52,-3761.55 13517,-3741.18 13695.25,-3603.99 13739.57,-3560.43 13865,-3373.73 13898.07,-3324.51 13899.42,-3307.78 13920,-3252.17 13984.39,-3078.12 14008.15,-2793.03 14017,-2738.48 14027.56,-2673.38 14040.95,-2655.95 14031,-2590.75 14013.92,-2478.84 14016.14,-2442.92 13955,-2347.63 13942.08,-2327.5 13929.81,-2330.41 13915,-2311.63 13881.57,-2269.25 13879.9,-2253.8 13857,-2204.92 13825.36,-2137.4 13805.79,-2122.8 13795,-2049.01"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_support_pkgbuild_keyring_generator -->
<g id="edge288" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_support_pkgbuild_keyring_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7186.62,-4652.43C7691.27,-4651.16 12308.7,-4638.3 12439,-4589.6"/>
<path fill="none" stroke="black" d="M12439,-4588.6C12552.09,-4546.34 12427.2,-4433.33 12463,-4318.03 12553.19,-4027.6 13161.68,-3408.24 13105,-3109.46 13047.91,-2808.53 13045.12,-2705.3 12850,-2469.19 12578.78,-2141 12054.98,-1994.53 11862.9,-1950.22"/>
<polygon fill="#f91010" stroke="black" points="11863.89,-1946.63 11853.36,-1947.82 11862.33,-1953.46 11863.89,-1946.63"/>
</g>
<!-- ahriman_core_tree -->
<g id="node128" class="node">
<title>ahriman_core_tree</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#ae1e1e" stroke="black" cx="2118" cy="-3437.66" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="2118" y="-3443.91" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2118" y="-3433.41" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="2118" y="-3422.91" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">tree</text>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_tree -->
<g id="edge289" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_tree</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7098.56,-4647.6C6991.97,-4635.66 6708.93,-4605 6472,-4588.6 6101.43,-4562.95 6002.79,-4617.21 5637,-4552.6 4889.85,-4420.63 2514.05,-3579.71 2161.82,-3454.3"/>
<polygon fill="#f91010" stroke="black" points="2163.12,-3450.69 2152.53,-3450.63 2160.77,-3457.28 2163.12,-3450.69"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_triggers_trigger_loader -->
<g id="edge290" 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="M7137.51,-4625.31C7136.75,-4613.88 7137.4,-4600.7 7142,-4589.6"/>
<path fill="none" stroke="black" d="M7142,-4588.6C7152.71,-4562.76 7152.04,-4551.78 7142,-4525.67"/>
<path fill="none" stroke="black" d="M7142,-4523.67C7124.34,-4477.78 7073.83,-4504.29 7051,-4460.74 7043.57,-4446.57 7050.32,-4440.73 7051,-4424.74 7054.34,-4345.83 7066,-4326.65 7066,-4247.67 7066,-4247.67 7066,-4247.67 7066,-3528.52 7066,-3405.54 7055.11,-3375.11 7052,-3252.17 7051.6,-3236.17 7049.44,-3231.96 7052,-3216.17 7064.6,-3138.46 7224.7,-2659.66 7254,-2619.69"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_upload_upload -->
<g id="edge291" 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="M11879,-4523.67C11803.13,-4478.49 11965.94,-4441.02 11983,-4354.39"/>
<path fill="none" stroke="black" d="M11983,-4352.39C12001.83,-4181.48 11691.92,-3818.26 11660,-3649.31 11655.39,-3624.92 11656.43,-3618.02 11660,-3593.45 11668.53,-3534.79 11685.61,-3523.56 11698,-3465.59 11724.75,-3340.45 11727.54,-3307.86 11736,-3180.17 11738.08,-3148.81 11745.63,-3139.37 11736,-3109.46 11690.93,-2969.47 11448.82,-2670.11 11325,-2590.75 11279.55,-2561.63 11245.59,-2594.44 11209,-2554.75 11123.34,-2461.85 11136.19,-2403.18 11147,-2277.28"/>
<path fill="none" stroke="black" d="M11147,-2275.28C11150.28,-2241.95 11167.9,-2237.86 11174,-2204.92 11180.93,-2167.53 11182.31,-2156.47 11174,-2119.36 11154.19,-2030.9 11058.12,-2020.81 11087,-1934.87"/>
</g>
<!-- ahriman_core_util -->
<g id="node140" class="node">
<title>ahriman_core_util</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d10505" stroke="black" cx="9261" cy="-4353.39" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="9261" y="-4359.64" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9261" y="-4349.14" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9261" y="-4338.64" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">util</text>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_util -->
<g id="edge292" 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="M7960,-4588.6C8008.5,-4468.55 8982.56,-4378.14 9212.61,-4358.41"/>
<polygon fill="#f91010" stroke="black" points="9212.64,-4361.84 9222.31,-4357.5 9212.05,-4354.86 9212.64,-4361.84"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_models_migration_result -->
<g id="edge293" 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="M12325,-4588.6C12327.33,-4556.88 12071.91,-4560.09 12041,-4552.6 12034.63,-4551.06 12028.06,-4549.15 12021.58,-4547.07"/>
<polygon fill="#f91010" stroke="black" points="12023.1,-4543.56 12012.51,-4543.68 12020.87,-4550.19 12023.1,-4543.56"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_models_package -->
<g id="edge294" 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="M7104.25,-4638.69C7055.62,-4619.38 6970.65,-4580.47 6914,-4525.67"/>
<path fill="none" stroke="black" d="M6914,-4523.67C6904.57,-4512.04 6846.97,-4277.03 6824,-3991.6 6822.35,-3971.04 6840.51,-3971.72 6852,-3954.6 6863.94,-3936.82 6869.1,-3933.09 6876,-3912.82"/>
<path fill="none" stroke="black" d="M6876,-3910.82C6883.98,-3867.87 6914.55,-3734.79 6876,-3714.24"/>
<path fill="none" stroke="black" d="M6876,-3712.24C6779.68,-3663.1 6653.8,-3638.84 6586.1,-3628.63"/>
<polygon fill="#f91010" stroke="black" points="6586.75,-3625.04 6576.35,-3627.05 6585.74,-3631.97 6586.75,-3625.04"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_models_remote_source -->
<g id="edge295" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_models_remote_source</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7101.25,-4642.31C7050.53,-4628.17 6962.91,-4599.02 6900,-4552.6 6889.34,-4544.74 6831.84,-4471.42 6824,-4460.74 6745.74,-4354.21 6749.43,-4310.45 6662,-4211.32 6545.02,-4078.69 6464.14,-4096.05 6358,-3954.6 6335.63,-3924.78 6313.18,-3823.08 6280,-3806.11"/>
<path fill="none" stroke="black" d="M6280,-3804.11C6146.91,-3734.94 5755.74,-3767.05 5608,-3741.18 5593.22,-3738.59 5577.45,-3734.96 5562.78,-3731.21"/>
<polygon fill="#f91010" stroke="black" points="5563.88,-3727.62 5553.32,-3728.47 5562.11,-3734.39 5563.88,-3727.62"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_models_repository_paths -->
<g id="edge296" 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="M7142,-4588.6C7148.13,-4573.8 7180.65,-4557.99 7211.5,-4545.92"/>
<polygon fill="#f91010" stroke="black" points="7212.32,-4548.97 7220.42,-4542.14 7209.83,-4542.43 7212.32,-4548.97"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_models_result -->
<g id="edge297" 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="M6838,-4588.6C6785.86,-4558.21 6784.85,-4534.78 6738,-4496.74 6568.73,-4359.31 6517.94,-4335.9 6339,-4211.32 6336.39,-4209.5 5962.04,-3957.03 5960,-3954.6 5933.3,-3922.68 5956.45,-3892.37 5922,-3869.04 5834.08,-3809.5 5040.66,-3909.52 4967,-3833.04 4949.78,-3815.15 4962.7,-3801.63 4967,-3777.18 4971.95,-3749.05 5294.32,-2826.8 5318,-2810.83"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge298" 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="M7186.36,-4652.39C7638.94,-4650.89 11425.57,-4637.01 12555,-4589.6 12782.51,-4580.05 12846.83,-4614.37 13066,-4552.6 13569.54,-4410.7 14583.54,-3592 14618,-3557.45 14841.12,-3333.77 15195.75,-2608.81 15303,-2311.63 15376.88,-2106.92 15356.43,-1496.41 15524,-1357.54 15599.43,-1295.03 16320.6,-1371.29 16405,-1321.54 16436.69,-1302.86 16421.39,-1276.22 16448,-1250.83 16472.18,-1227.76 16496.94,-1243.56 16514,-1214.83 16530.04,-1187.81 16532.03,-1169.86 16514,-1144.12 16487.14,-1105.77 16457.07,-1128.67 16415,-1108.12 16308.95,-1056.31 16286.88,-1034.47 16190,-967.05"/>
<path fill="none" stroke="black" d="M16190,-965.05C16155.87,-941.65 16120.29,-911.01 16094.69,-887.67"/>
<polygon fill="#f91010" stroke="black" points="16097.47,-885.56 16087.74,-881.37 16092.73,-890.71 16097.47,-885.56"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_web_views_status_package -->
<g id="edge299" 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="M12439,-4588.6C12583.86,-4544.65 12692.84,-4314.75 12719,-4282.03 12808.82,-4169.69 12814.31,-4126.23 12919,-4027.6 13033.97,-3919.28 13503,-3780.34 13503,-3622.38 13503,-3622.38 13503,-3622.38 13503,-3528.52 13503,-3433.17 13819.01,-2831.92 13838,-2738.48 13897.78,-2444.35 13767.65,-2368.53 13674,-2083.36 13645.99,-1998.06 13663.58,-1964.58 13612,-1891.09 13418.91,-1616.01 13254.99,-1662.51 13014,-1428.25 12984.85,-1399.92 12992.33,-1375.77 12956,-1357.54 12878.95,-1318.87 12240.52,-1383.89 12181,-1321.54 12159.3,-1298.81 12171.9,-1280.91 12181,-1250.83 12181.69,-1248.56 12367.92,-968.18 12370,-967.05"/>
<path fill="none" stroke="black" d="M12370,-965.05C12407.67,-936.95 12423.7,-938.72 12470,-930.7 12632.97,-902.47 15292.76,-954.41 15447,-894.7 15450.95,-893.17 15454.79,-891.14 15458.45,-888.8"/>
<polygon fill="#f91010" stroke="black" points="15460.14,-891.17 15466.17,-882.45 15456.02,-885.51 15460.14,-891.17"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_web_web -->
<g id="edge300" 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="M7186.33,-4652.55C7646.68,-4652.62 11561.08,-4651.37 12727,-4589.6 13172.97,-4565.98 14295.7,-4441.12 14713,-4282.03 15074.87,-4144.07 15015.55,-3883.96 15348,-3685.31 16185.04,-3185.18 16502.91,-3268.1 17465,-3109.46 17529.47,-3098.83 18000.96,-3114.26 18052,-3073.46 18121.52,-3017.89 18081.53,-2966.17 18108,-2881.19 18117.86,-2849.53 18478.71,-1781.11 18484,-1748.38 18489.01,-1717.36 18484.1,-1709.1 18484,-1677.67 18483.11,-1393.11 18509.13,-1320.48 18480,-1037.41 18459.41,-837.29 18538.7,-720.63 18381,-595.72 18329.32,-554.78 13904.74,-535.13 13389.73,-532.98"/>
<polygon fill="#f91010" stroke="black" points="13389.99,-529.48 13379.97,-532.94 13389.96,-536.48 13389.99,-529.48"/>
</g>
<!-- ahriman_core_formatters -->
<g id="node70" class="node">
<title>ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#950303" stroke="black" cx="4150" cy="-2390.41" rx="43.13" ry="27.93"/>
<text text-anchor="middle" x="4150" y="-2396.66" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4150" y="-2386.16" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4150" y="-2375.66" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters</text>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_application_application -->
<g id="edge301" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4107.24,-2385.45C4009.94,-2375.88 3775.07,-2349.45 3706,-2311.63 3397.19,-2142.55 2911.94,-1361.52 2635,-1144.12 2583.94,-1104.03 2567.94,-1096.14 2507,-1073.76"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_dump -->
<g id="edge302" 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="M4767,-2047.01C4797.12,-2006.75 4767,-1871.02 4767,-1820.74 4767,-1820.74 4767,-1820.74 4767,-1498.61 4767,-1143.84 4621.98,-1046.1 4710,-702.43 4731.33,-619.13 4781.16,-615.95 4803,-532.79"/>
<path fill="none" stroke="black" d="M4803,-530.79C4805.29,-513.92 4805.78,-495.27 4805.53,-478.84"/>
<polygon fill="#950303" stroke="black" points="4809,-478.78 4805.25,-468.87 4802.01,-478.96 4809,-478.78"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge303" 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="M4187.22,-2375.6C4291.49,-2336.27 4594.07,-2217.8 4827,-2083.36 4953.96,-2010.09 4962.29,-1953.37 5095,-1891.09 5265.07,-1811.28 5320.2,-1823.25 5504,-1784.38 6271.03,-1622.18 6479.83,-1671.37 7245,-1500.61"/>
<path fill="none" stroke="black" d="M7245,-1498.61C7350.93,-1462.32 8016.67,-761.39 7907,-738.78"/>
<path fill="none" stroke="black" d="M7907,-736.78C7319.42,-612.18 5783.4,-828.39 5205,-666.43 5199.65,-664.93 5194.27,-662.85 5189.04,-660.44"/>
<polygon fill="#950303" stroke="black" points="5190.75,-656.88 5180.25,-655.49 5187.59,-663.13 5190.75,-656.88"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_remove_unknown -->
<g id="edge304" 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="M3894,-1605.32C3879.68,-1595.35 3886.97,-1583.65 3875,-1570.96 3854.44,-1549.17 3836.92,-1558.2 3818,-1534.96 3711.77,-1404.46 3685,-1348.75 3685,-1180.47 3685,-1180.47 3685,-1180.47 3685,-850.92 3685,-659.62 3467.28,-745.97 3281,-702.43 3135.18,-668.34 3090.29,-706.49 2946,-666.43 2940.05,-664.78 2933.99,-662.69 2928.02,-660.37"/>
<polygon fill="#950303" stroke="black" points="2929.67,-656.85 2919.09,-656.27 2927,-663.32 2929.67,-656.85"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_search -->
<g id="edge305" 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="M4150,-2275.28C3999.48,-2024.97 4589.51,-2280.97 4767,-2049.01"/>
<path fill="none" stroke="black" d="M4767,-2047.01C4790.17,-2012.72 4724.94,-2013.45 4706,-1976.65 4674.73,-1915.89 4685.62,-1722.46 4634,-1677.67 4509.23,-1569.42 4031.2,-1699.31 3894,-1607.32"/>
<path fill="none" stroke="black" d="M3894,-1605.32C3879.51,-1595.59 3889.28,-1580.99 3875,-1570.96 3792.12,-1512.77 3741.32,-1578.73 3650,-1534.96 3586.24,-1504.4 3582.62,-1477.62 3532,-1428.25 3438.28,-1336.86 3411.15,-1316.76 3329,-1214.83 3305.16,-1185.26 3311.46,-1166.81 3281,-1144.12 3238.39,-1112.38 3207.92,-1142.01 3167,-1108.12 3139.52,-1085.36 3157.66,-1058.65 3129,-1037.41 3104.78,-1019.46 2626.81,-935.18 2597,-930.7 2518.37,-918.86 2307.33,-938.55 2241,-894.7 2223.32,-883.01 2217.46,-874.11 2218,-852.92"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_service_updates -->
<g id="edge306" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_service_updates</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4112.19,-2376.37C4042.61,-2351.1 3891.81,-2290.33 3787,-2204.92 3577.62,-2034.3 3249.21,-1414.04 3034,-1250.83 2837.24,-1101.61 2756.87,-1110.54 2521,-1037.41 2300.64,-969.09 2241.74,-960.76 2013,-930.7 1720.86,-892.3 1641.01,-946.83 1351,-894.7 1171.89,-862.5 1109.91,-876.31 960,-773.14 922.85,-747.57 892.23,-705.83 872.63,-674.37"/>
<polygon fill="#950303" stroke="black" points="875.34,-673.1 867.15,-666.38 869.37,-676.74 875.34,-673.1"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_shell -->
<g id="edge307" 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="M4767,-2047.01C4936.71,-1826.94 5071,-1778.51 5071,-1500.61 5071,-1500.61 5071,-1500.61 5071,-965.05 5071,-864.49 5054.91,-838.05 5071,-738.78"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_status -->
<g id="edge308" 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="M4154.88,-2362.31C4157.93,-2339.07 4159.67,-2305.04 4150,-2277.28"/>
<path fill="none" stroke="black" d="M4150,-2275.28C4084.34,-2086.8 3886.64,-2222.97 3744,-2083.36 3675.74,-2016.56 3692.55,-1975.58 3648,-1891.09 3422.9,-1464.22 3410.95,-1248.55 2977,-1037.41 2824.45,-963.18 2751.77,-1070.88 2597,-1001.41 2554.91,-982.52 2562.91,-949.98 2521,-930.7 2392.19,-871.43 2344.61,-912.98 2204,-894.7 1730.05,-833.08 1585.33,-912.29 1140,-738.78"/>
<path fill="none" stroke="black" d="M1140,-736.78C1093.89,-719.93 1047.28,-688.46 1015.59,-664.41"/>
<polygon fill="#950303" stroke="black" points="1018.12,-661.17 1008.07,-657.84 1013.85,-666.71 1018.12,-661.17"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_structure -->
<g id="edge309" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_structure</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3894,-1605.32C3879.62,-1595.44 3888.5,-1582.01 3875,-1570.96 3833.88,-1537.32 3807.24,-1561.13 3761,-1534.96 3532.78,-1405.81 3524.86,-1306.56 3319,-1144.12 3254.2,-1092.99 3235.1,-1084.04 3167,-1037.41 2957.38,-893.87 2703.79,-726.55 2603.67,-660.73"/>
<polygon fill="#950303" stroke="black" points="2606.03,-657.44 2595.75,-654.87 2602.19,-663.29 2606.03,-657.44"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_unsafe_commands -->
<g id="edge310" 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="M3894,-1605.32C3872.65,-1595.43 3873.64,-1568.8 3879.85,-1544.87"/>
<polygon fill="#950303" stroke="black" points="3883.44,-1546.07 3882.89,-1535.49 3876.72,-1544.1 3883.44,-1546.07"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_users -->
<g id="edge311" 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="M4193.44,-2388.06C4389.95,-2382 5215.42,-2357.25 5893,-2347.63 6345.68,-2341.21 13591.02,-2351.37 14042,-2311.63 14818.4,-2243.23 14994.6,-2091.58 15770,-2012.65 16259.12,-1962.87 17854.39,-1939.81 18177.58,-1935.59"/>
<polygon fill="#950303" stroke="black" points="18177.59,-1939.08 18187.54,-1935.45 18177.5,-1932.08 18177.59,-1939.08"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_validate -->
<g id="edge312" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_validate</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4193.45,-2388.25C4389.96,-2382.98 5215.49,-2361.16 5893,-2347.63 5955.63,-2346.38 8096.66,-2347.53 8148,-2311.63 8205.94,-2271.13 8205,-2233.84 8205,-2163.14 8205,-2163.14 8205,-2163.14 8205,-2047.01 8205,-1866.92 8403.5,-1931.47 8579,-1891.09 8851.45,-1828.41 8929.65,-1890.25 9207,-1855.09 9247.24,-1849.99 9292.15,-1841.04 9326.26,-1833.56"/>
<polygon fill="#950303" stroke="black" points="9326.93,-1836.77 9335.93,-1831.18 9325.41,-1829.94 9326.93,-1836.77"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_versions -->
<g id="edge313" 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="M3894,-1605.32C3817.09,-1569.7 4560.24,-1466.25 4636,-1428.25 4723.45,-1384.39 4781.24,-1382.1 4805,-1287.18"/>
<path fill="none" stroke="black" d="M4805,-1285.18C4805.67,-1282.25 4833.92,-855.78 4833,-852.92"/>
<path fill="none" stroke="black" d="M4833,-850.92C4823.35,-825.09 4807.62,-798.61 4793.72,-777.87"/>
<polygon fill="#950303" stroke="black" points="4796.22,-776.34 4787.69,-770.06 4790.45,-780.29 4796.22,-776.34"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_core_report_console -->
<g id="edge314" 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="M4192.86,-2385.21C4307.07,-2373.96 4628.18,-2341.94 4895,-2311.63 5151.27,-2282.53 5213.88,-2261.21 5471,-2240.92 5923.21,-2205.25 6038.94,-2242.51 6491,-2204.92 6587.32,-2196.92 6699.22,-2180.56 6761.29,-2170.86"/>
<polygon fill="#950303" stroke="black" points="6761.58,-2174.2 6770.92,-2169.19 6760.49,-2167.28 6761.58,-2174.2"/>
</g>
<!-- ahriman_core_formatters_aur_printer -->
<g id="node71" class="node">
<title>ahriman_core_formatters_aur_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#913030" stroke="black" cx="4150" cy="-2511.97" rx="45.25" ry="35.36"/>
<text text-anchor="middle" x="4150" y="-2523.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4150" y="-2512.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4150" y="-2502.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="4150" y="-2491.97" 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="edge315" 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="M4150,-2476.39C4150,-2461.77 4150,-2444.7 4150,-2429.7"/>
<polygon fill="#913030" stroke="black" points="4153.5,-2429.71 4150,-2419.71 4146.5,-2429.71 4153.5,-2429.71"/>
</g>
<!-- ahriman_core_formatters_build_printer -->
<g id="node72" class="node">
<title>ahriman_core_formatters_build_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a13535" stroke="black" cx="2584" cy="-2511.97" rx="48.44" ry="35.36"/>
<text text-anchor="middle" x="2584" y="-2523.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2584" y="-2512.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="2584" y="-2502.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="2584" y="-2491.97" 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="edge316" 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="M2626.41,-2494.49C2652.19,-2485.27 2686,-2474.58 2717,-2469.19 3112.72,-2400.41 3219.05,-2456.98 3620,-2433.19 3794.38,-2422.85 4000.59,-2404.97 4096.27,-2396.34"/>
<polygon fill="#a13535" stroke="black" points="4096.46,-2399.75 4106.1,-2395.36 4095.83,-2392.78 4096.46,-2399.75"/>
</g>
<!-- ahriman_core_formatters_configuration_paths_printer -->
<g id="node73" class="node">
<title>ahriman_core_formatters_configuration_paths_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a13535" stroke="black" cx="4416" cy="-2511.97" rx="94.05" ry="35.36"/>
<text text-anchor="middle" x="4416" y="-2523.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4416" y="-2512.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4416" y="-2502.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="4416" y="-2491.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">configuration_paths_printer</text>
</g>
<!-- ahriman_core_formatters_configuration_paths_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge317" class="edge">
<title>ahriman_core_formatters_configuration_paths_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4356.64,-2484.29C4307.77,-2462.33 4239.54,-2431.66 4195.07,-2411.67"/>
<polygon fill="#a13535" stroke="black" points="4196.69,-2408.11 4186.13,-2407.2 4193.82,-2414.5 4196.69,-2408.11"/>
</g>
<!-- ahriman_core_formatters_configuration_printer -->
<g id="node74" class="node">
<title>ahriman_core_formatters_configuration_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a13535" stroke="black" cx="4601" cy="-2511.97" rx="73.36" ry="35.36"/>
<text text-anchor="middle" x="4601" y="-2523.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4601" y="-2512.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4601" y="-2502.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="4601" y="-2491.97" 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="edge318" 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="M4554.24,-2484.49C4542.95,-2478.84 4530.75,-2473.34 4519,-2469.19 4410.08,-2430.73 4276.01,-2408.34 4203.2,-2398.14"/>
<polygon fill="#a13535" stroke="black" points="4203.87,-2394.56 4193.49,-2396.66 4202.92,-2401.49 4203.87,-2394.56"/>
</g>
<!-- ahriman_core_formatters_package_printer -->
<g id="node75" class="node">
<title>ahriman_core_formatters_package_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#913030" stroke="black" cx="2786" cy="-2511.97" rx="60.1" ry="35.36"/>
<text text-anchor="middle" x="2786" y="-2523.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2786" y="-2512.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="2786" y="-2502.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="2786" y="-2491.97" 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="edge319" 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="M2842.01,-2498.33C2886.49,-2488.78 2950.42,-2476.18 3007,-2469.19 3277.86,-2435.78 3347.73,-2451.92 3620,-2433.19 3794.27,-2421.21 4000.54,-2404.11 4096.25,-2396.01"/>
<polygon fill="#913030" stroke="black" points="4096.42,-2399.42 4106.08,-2395.09 4095.82,-2392.45 4096.42,-2399.42"/>
</g>
<!-- ahriman_core_formatters_patch_printer -->
<g id="node76" class="node">
<title>ahriman_core_formatters_patch_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="4743" cy="-2511.97" rx="51.09" ry="35.36"/>
<text text-anchor="middle" x="4743" y="-2523.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4743" y="-2512.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4743" y="-2502.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="4743" y="-2491.97" 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="edge320" 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="M4710.62,-2484.4C4702.08,-2478.55 4692.56,-2472.98 4683,-2469.19 4517.41,-2403.71 4303.28,-2392.61 4204.42,-2391.22"/>
<polygon fill="#993333" stroke="black" points="4204.56,-2387.71 4194.52,-2391.1 4204.48,-2394.71 4204.56,-2387.71"/>
</g>
<!-- ahriman_core_formatters_printer -->
<g id="node77" class="node">
<title>ahriman_core_formatters_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b03a3a" stroke="black" cx="4259" cy="-2511.97" rx="45.25" ry="35.36"/>
<text text-anchor="middle" x="4259" y="-2523.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4259" y="-2512.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4259" y="-2502.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="4259" y="-2491.97" 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="edge321" 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="M4233.17,-2482.64C4216.72,-2464.6 4195.39,-2441.2 4178.46,-2422.63"/>
<polygon fill="#b03a3a" stroke="black" points="4181.58,-2420.76 4172.25,-2415.73 4176.41,-2425.48 4181.58,-2420.76"/>
</g>
<!-- ahriman_core_formatters_status_printer -->
<g id="node78" class="node">
<title>ahriman_core_formatters_status_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a13535" stroke="black" cx="4978" cy="-2511.97" rx="53.21" ry="35.36"/>
<text text-anchor="middle" x="4978" y="-2523.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4978" y="-2512.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4978" y="-2502.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="4978" y="-2491.97" 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="edge322" 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="M4944.29,-2484.33C4935.24,-2478.41 4925.13,-2472.82 4915,-2469.19 4783.48,-2422.16 4355.8,-2400.05 4204.03,-2393.54"/>
<polygon fill="#a13535" stroke="black" points="4204.3,-2390.01 4194.16,-2393.08 4204.01,-2397 4204.3,-2390.01"/>
</g>
<!-- ahriman_core_formatters_string_printer -->
<g id="node79" class="node">
<title>ahriman_core_formatters_string_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b03a3a" stroke="black" cx="3761" cy="-2511.97" rx="51.09" ry="35.36"/>
<text text-anchor="middle" x="3761" y="-2523.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3761" y="-2512.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="3761" y="-2502.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="3761" y="-2491.97" 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="edge323" 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="M3793.94,-2484.76C3802.39,-2478.97 3811.73,-2473.34 3821,-2469.19 3913.13,-2428.03 4029.9,-2407.07 4096.67,-2397.75"/>
<polygon fill="#b03a3a" stroke="black" points="4096.9,-2401.12 4106.34,-2396.3 4095.96,-2394.18 4096.9,-2401.12"/>
</g>
<!-- ahriman_core_formatters_tree_printer -->
<g id="node80" class="node">
<title>ahriman_core_formatters_tree_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="3062" cy="-2511.97" rx="45.79" ry="35.36"/>
<text text-anchor="middle" x="3062" y="-2523.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3062" y="-2512.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="3062" y="-2502.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="3062" y="-2491.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">tree_printer</text>
</g>
<!-- ahriman_core_formatters_tree_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge324" class="edge">
<title>ahriman_core_formatters_tree_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3106.55,-2502.32C3155.53,-2493.05 3236.62,-2478.43 3307,-2469.19 3603.95,-2430.23 3962.28,-2404.02 4096.13,-2394.94"/>
<polygon fill="#993333" stroke="black" points="4096.14,-2398.38 4105.88,-2394.22 4095.67,-2391.4 4096.14,-2398.38"/>
</g>
<!-- ahriman_core_formatters_update_printer -->
<g id="node81" class="node">
<title>ahriman_core_formatters_update_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="3371" cy="-2511.97" rx="54.8" ry="35.36"/>
<text text-anchor="middle" x="3371" y="-2523.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3371" y="-2512.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="3371" y="-2502.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="3371" y="-2491.97" 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="edge325" 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="M3424.24,-2502.8C3566.85,-2480.92 3956.26,-2421.15 4097.74,-2399.44"/>
<polygon fill="#993333" stroke="black" points="4097.93,-2402.79 4107.28,-2397.82 4096.87,-2395.87 4097.93,-2402.79"/>
</g>
<!-- ahriman_core_formatters_user_printer -->
<g id="node82" class="node">
<title>ahriman_core_formatters_user_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="4859" cy="-2511.97" rx="47.38" ry="35.36"/>
<text text-anchor="middle" x="4859" y="-2523.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4859" y="-2512.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4859" y="-2502.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="4859" y="-2491.97" 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="edge326" 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="M4829.06,-2484.2C4821.08,-2478.36 4812.13,-2472.84 4803,-2469.19 4694.19,-2425.76 4340.16,-2401.98 4204.02,-2394.25"/>
<polygon fill="#993333" stroke="black" points="4204.25,-2390.71 4194.07,-2393.64 4203.86,-2397.69 4204.25,-2390.71"/>
</g>
<!-- ahriman_core_formatters_validation_printer -->
<g id="node83" class="node">
<title>ahriman_core_formatters_validation_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a13535" stroke="black" cx="3893" cy="-2511.97" rx="62.76" ry="35.36"/>
<text text-anchor="middle" x="3893" y="-2523.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3893" y="-2512.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="3893" y="-2502.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="3893" y="-2491.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">validation_printer</text>
</g>
<!-- ahriman_core_formatters_validation_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge327" class="edge">
<title>ahriman_core_formatters_validation_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3935.15,-2485.31C3944.83,-2479.76 3955.17,-2474.09 3965,-2469.19 4010.9,-2446.34 4065.16,-2424.06 4103.01,-2409.25"/>
<polygon fill="#a13535" stroke="black" points="4104.17,-2412.16 4112.22,-2405.27 4101.64,-2405.64 4104.17,-2412.16"/>
</g>
<!-- ahriman_core_formatters_version_printer -->
<g id="node84" class="node">
<title>ahriman_core_formatters_version_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a13535" stroke="black" cx="4030" cy="-2511.97" rx="56.39" ry="35.36"/>
<text text-anchor="middle" x="4030" y="-2523.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4030" y="-2512.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4030" y="-2502.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="4030" y="-2491.97" 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="edge328" 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="M4059.66,-2481.42C4077.88,-2463.27 4101.16,-2440.07 4119.53,-2421.77"/>
<polygon fill="#a13535" stroke="black" points="4121.46,-2424.8 4126.07,-2415.26 4116.52,-2419.84 4121.46,-2424.8"/>
</g>
<!-- ahriman_core_gitremote -->
<g id="node85" class="node">
<title>ahriman_core_gitremote</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b62020" stroke="black" cx="5647" cy="-1819.74" rx="39.95" ry="27.93"/>
<text text-anchor="middle" x="5647" y="-1825.99" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5647" y="-1815.49" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5647" y="-1804.99" 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="edge329" 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="M5524.94,-2240.73C5523.59,-2185.51 5529.17,-2077.02 5587,-2012.65 5597.89,-2000.54 5680.43,-1974.03 5742.64,-1955.33"/>
<polygon fill="#732626" stroke="black" points="5743.25,-1958.51 5751.82,-1952.29 5741.24,-1951.8 5743.25,-1958.51"/>
</g>
<!-- ahriman_core_gitremote_remote_pull_trigger&#45;&gt;ahriman_core_gitremote -->
<g id="edge330" 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="M5771.97,-1905.15C5745.08,-1887 5710.23,-1863.45 5684.17,-1845.84"/>
<polygon fill="#993333" stroke="black" points="5686.59,-1842.58 5676.34,-1839.88 5682.67,-1848.38 5686.59,-1842.58"/>
</g>
<!-- ahriman_core_gitremote_remote_push&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge331" 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="M5409.53,-2025.39C5440.15,-2008.63 5483.03,-1985.18 5517.47,-1966.35"/>
<polygon fill="#732626" stroke="black" points="5518.84,-1969.03 5525.94,-1961.16 5515.48,-1962.89 5518.84,-1969.03"/>
</g>
<!-- ahriman_core_gitremote_remote_push_trigger&#45;&gt;ahriman_core_gitremote -->
<g id="edge332" 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="M5596.21,-1899.84C5605.33,-1885.63 5615.98,-1869.04 5625.17,-1854.74"/>
<polygon fill="#732626" stroke="black" points="5628.51,-1857.02 5630.96,-1846.71 5622.62,-1853.24 5628.51,-1857.02"/>
</g>
<!-- ahriman_core_http -->
<g id="node90" class="node">
<title>ahriman_core_http</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db0505" stroke="black" cx="11035" cy="-2390.41" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="11035" y="-2396.66" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11035" y="-2386.16" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11035" y="-2375.66" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">http</text>
</g>
<!-- ahriman_core_http&#45;&gt;ahriman_core_alpm_remote_remote -->
<g id="edge333" class="edge">
<title>ahriman_core_http&#45;&gt;ahriman_core_alpm_remote_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10997.06,-2387.9C10841.5,-2380.84 10238.43,-2345.37 9767,-2204.92 9751.44,-2200.29 9735.14,-2193.4 9720.75,-2186.55"/>
<polygon fill="#db0505" stroke="black" points="9722.65,-2183.1 9712.13,-2181.84 9719.57,-2189.38 9722.65,-2183.1"/>
</g>
<!-- ahriman_core_http&#45;&gt;ahriman_core_report_telegram -->
<g id="edge334" class="edge">
<title>ahriman_core_http&#45;&gt;ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10996.78,-2388.77C10653.7,-2382.93 8114.63,-2338.8 8042,-2311.63 7916.25,-2264.6 7914.49,-2202.42 7809,-2119.36 7676.25,-2014.84 7662.38,-1952.57 7505,-1891.09 7444.92,-1867.62 7005.29,-1834.66 6857.39,-1824.12"/>
<polygon fill="#db0505" stroke="black" points="6858.07,-1820.59 6847.85,-1823.37 6857.57,-1827.57 6858.07,-1820.59"/>
</g>
<!-- ahriman_core_http&#45;&gt;ahriman_core_sign_gpg -->
<g id="edge335" class="edge">
<title>ahriman_core_http&#45;&gt;ahriman_core_sign_gpg</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11064.75,-2372.58C11090.75,-2357.52 11129.21,-2334.36 11161,-2311.63 11201.26,-2282.86 11205.99,-2268.61 11247,-2240.92 11274.69,-2222.23 11285.2,-2223.46 11313,-2204.92 11318.25,-2201.43 11323.61,-2197.53 11328.81,-2193.55"/>
<polygon fill="#db0505" stroke="black" points="11330.64,-2195.78 11336.35,-2186.86 11326.32,-2190.27 11330.64,-2195.78"/>
</g>
<!-- ahriman_core_http&#45;&gt;ahriman_core_status_web_client -->
<g id="edge336" class="edge">
<title>ahriman_core_http&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11011.18,-2368.41C10981.39,-2340.95 10935.78,-2294.35 10949,-2277.28"/>
</g>
<!-- ahriman_core_http&#45;&gt;ahriman_core_upload_http_upload -->
<g id="edge337" class="edge">
<title>ahriman_core_http&#45;&gt;ahriman_core_upload_http_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12248,-2275.28C12300.73,-2188.68 12219,-2150.4 12219,-2049.01 12219,-2049.01 12219,-2049.01 12219,-1932.87 12219,-1872.62 12212.52,-1803.32 12207.56,-1759.13"/>
<polygon fill="#db0505" stroke="black" points="12210.95,-1758.99 12206.33,-1749.46 12204,-1759.79 12210.95,-1758.99"/>
</g>
<!-- ahriman_core_http&#45;&gt;ahriman_core_upload_remote_service -->
<g id="edge338" class="edge">
<title>ahriman_core_http&#45;&gt;ahriman_core_upload_remote_service</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11072.94,-2387.19C11275.05,-2375.31 12216.47,-2319.58 12229,-2311.63 12243.73,-2302.29 12240.05,-2292.81 12248,-2277.28"/>
<path fill="none" stroke="black" d="M12248,-2275.28C12264.7,-2242.66 12222.21,-2237.28 12205,-2204.92 12164.26,-2128.36 12128.4,-2033.51 12109.09,-1979.02"/>
<polygon fill="#db0505" stroke="black" points="12112.07,-1977.95 12105.45,-1969.68 12105.47,-1980.27 12112.07,-1977.95"/>
</g>
<!-- ahriman_core_http_sync_http_client&#45;&gt;ahriman_core_http -->
<g id="edge339" class="edge">
<title>ahriman_core_http_sync_http_client&#45;&gt;ahriman_core_http</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10905.89,-2483.84C10933.91,-2463.79 10971.8,-2436.66 10999.28,-2416.99"/>
<polygon fill="#a13535" stroke="black" points="11001.08,-2419.29 11007.17,-2410.62 10997.01,-2413.6 11001.08,-2419.29"/>
</g>
<!-- ahriman_core_log -->
<g id="node92" class="node">
<title>ahriman_core_log</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d10505" stroke="black" cx="8732" cy="-2710.55" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="8732" y="-2716.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8732" y="-2706.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8732" y="-2695.8" 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="edge340" 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="M8694.14,-2708.04C8577.83,-2703.45 8215.43,-2689.58 7915,-2682.62 6720.99,-2654.94 6421.55,-2689.73 5228,-2646.62 5141.24,-2643.48 3751.62,-2578.11 3668,-2554.75 3589.58,-2532.85 3581.28,-2500.23 3506,-2469.19 3455.31,-2448.3 3433.23,-2464.19 3388,-2433.19 3085.68,-2225.99 3172.31,-2004.15 2879,-1784.38 2844.52,-1758.55 2825.93,-1770.57 2789,-1748.38 2705.71,-1698.35 2666.91,-1693.47 2622,-1607.32"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge341" 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="M8761.44,-2692.87C8877.9,-2626.89 9306.9,-2383.84 9448.97,-2303.36"/>
<polygon fill="#d10505" stroke="black" points="9450.32,-2306.05 9457.3,-2298.07 9446.87,-2299.96 9450.32,-2306.05"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_application_lock -->
<g id="edge342" 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="M8769.17,-2704.94C8882.41,-2690.33 9232.36,-2640.82 9511,-2554.75 9528.56,-2549.33 9547.26,-2541.82 9563.56,-2534.66"/>
<polygon fill="#d10505" stroke="black" points="9564.67,-2537.55 9572.37,-2530.27 9561.81,-2531.16 9564.67,-2537.55"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_alpm_pacman -->
<g id="edge343" 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="M7862,-2617.69C7846.28,-2614.52 7849.89,-2601.51 7838,-2590.75 7817.09,-2571.82 7791.61,-2553.15 7770.77,-2538.85"/>
<polygon fill="#d10505" stroke="black" points="7773.09,-2535.52 7762.84,-2532.8 7769.16,-2541.31 7773.09,-2535.52"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_alpm_repo -->
<g id="edge344" 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="M8693.93,-2708.79C8565.82,-2705.63 8152.29,-2690.05 8043,-2619.69"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_auth_auth -->
<g id="edge345" 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="M8769.89,-2708.3C8896.86,-2704.16 9318.98,-2690.67 9668,-2682.62 10587.45,-2661.39 10818.13,-2685.45 11737,-2646.62 12912.37,-2596.94 13202.83,-2523.44 14378,-2469.19 14417.69,-2467.36 15777.02,-2458.08 15808,-2433.19 15825.14,-2419.43 15899.48,-2070.71 15903,-2049.01"/>
<path fill="none" stroke="black" d="M15903,-2047.01C15905.61,-1997.24 15914.43,-1983.38 15903,-1934.87"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge346" 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="M8694.21,-2707.3C8568.52,-2699.77 8153.03,-2674.29 7810,-2646.62 7273.3,-2603.32 6624.9,-2538.38 6431.84,-2518.78"/>
<polygon fill="#d10505" stroke="black" points="6432.42,-2515.22 6422.12,-2517.69 6431.71,-2522.18 6432.42,-2515.22"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge347" 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="M8737,-2510.97C8737,-2425.02 8861.01,-2472.68 8889,-2391.41"/>
<path fill="none" stroke="black" d="M8889,-2389.41C8905.23,-2342.29 8906.7,-2323.87 8889,-2277.28"/>
<path fill="none" stroke="black" d="M8889,-2275.28C8871.3,-2228.69 8872.89,-2210.31 8889,-2163.14"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_database_migrations -->
<g id="edge348" 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="M8769.89,-2708.33C8896.86,-2704.28 9318.99,-2691.04 9668,-2682.62 10078.4,-2672.71 11106.07,-2682.77 11515,-2646.62 11817.19,-2619.9 12175.1,-2550.74 12307.43,-2523.87"/>
<polygon fill="#d10505" stroke="black" points="12307.95,-2527.13 12317.05,-2521.71 12306.55,-2520.28 12307.95,-2527.13"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_database_operations_operations -->
<g id="edge349" 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="M8770.02,-2708.43C8982.61,-2702.11 10015.53,-2670.2 10038,-2646.62 10062.75,-2620.65 10042.85,-2581.86 10020.54,-2552.75"/>
<polygon fill="#d10505" stroke="black" points="10022.88,-2551.07 10013.91,-2545.43 10017.41,-2555.43 10022.88,-2551.07"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge350" 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="M8694.18,-2707.1C8588.66,-2700.09 8282.2,-2678.33 8029,-2646.62 7954.4,-2637.27 7935.7,-2634.55 7862,-2619.69"/>
<path fill="none" stroke="black" d="M7862,-2617.69C7214.37,-2487.09 7029.54,-2586.88 6387,-2433.19 6277.68,-2407.05 6258.78,-2371.79 6149,-2347.63 5971.21,-2308.52 5921.65,-2334.08 5741,-2311.63 5687.24,-2304.96 5626.27,-2294.92 5583.19,-2287.42"/>
<polygon fill="#d10505" stroke="black" points="5583.82,-2283.8 5573.37,-2285.52 5582.62,-2290.7 5583.82,-2283.8"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge351" 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="M8694.21,-2706.31C8615.28,-2698.98 8436.03,-2679.18 8385,-2646.62 8372.65,-2638.74 8379.85,-2624.46 8366,-2619.69"/>
<path fill="none" stroke="black" d="M8366,-2617.69C8249.11,-2577.37 8206.51,-2608.19 8095,-2554.75 8039.46,-2528.14 8043.94,-2490.06 7986,-2469.19 7840.01,-2416.63 6743.46,-2456.13 6590,-2433.19 6449.49,-2412.19 6420.06,-2381.15 6282,-2347.63 6281.41,-2347.49 5597.52,-2205.24 5597,-2204.92 5576.55,-2192.48 5585,-2172.59 5563,-2163.14"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_http_sync_http_client -->
<g id="edge352" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_http_sync_http_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10247,-2617.69C10447.34,-2584.33 10683.91,-2544.25 10798.65,-2524.77"/>
<polygon fill="#d10505" stroke="black" points="10799.09,-2528.07 10808.36,-2522.94 10797.92,-2521.17 10799.09,-2528.07"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_report_report -->
<g id="edge353" 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="M8733.13,-2682.2C8734.61,-2644.24 8737,-2573.4 8737,-2512.97"/>
<path fill="none" stroke="black" d="M8737,-2510.97C8738.31,-2371.29 8267.4,-2372.84 8130,-2347.63 7972.28,-2318.7 7915.97,-2380.18 7771,-2311.63 7730.74,-2292.6 7740.36,-2259.74 7700,-2240.92 7618.51,-2202.93 7386.11,-2216.9 7297,-2204.92 7193.16,-2190.96 7163.31,-2199.36 7065,-2163.14"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge354" 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="M8737,-2510.97C8681.97,-2310.6 8628.55,-2253.58 8665,-2049.01"/>
</g>
<!-- ahriman_core_spawn -->
<g id="node115" class="node">
<title>ahriman_core_spawn</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c82323" stroke="black" cx="11526" cy="-1286.18" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="11526" y="-1292.43" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11526" y="-1281.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11526" y="-1271.43" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">spawn</text>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_spawn -->
<g id="edge355" 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="M8770.14,-2708.53C8942.66,-2703.8 9667.31,-2682.72 10261,-2646.62 10514.91,-2631.18 11154.09,-2611.74 11402,-2554.75 11547.04,-2521.42 11580.15,-2498.23 11714,-2433.19 11781.3,-2400.49 11787.76,-2370.54 11859,-2347.63 11944.6,-2320.11 12200.02,-2376.77 12262,-2311.63 12274.5,-2298.5 12277,-1856.2 12277,-1714.03 12277,-1714.03 12277,-1714.03 12277,-1498.61 12277,-1178.13 11871.15,-1451.04 11578,-1321.54 11572.29,-1319.02 11566.52,-1315.89 11561,-1312.56"/>
<polygon fill="#d10505" stroke="black" points="11563.32,-1309.25 11553,-1306.82 11559.55,-1315.15 11563.32,-1309.25"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_status_watcher -->
<g id="edge356" 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="M8769.89,-2708.37C8896.87,-2704.44 9319,-2691.52 9668,-2682.62 10027.75,-2673.44 10930.23,-2693.71 11287,-2646.62 11390.43,-2632.96 11412.06,-2607.75 11515,-2590.75 11696.79,-2560.74 11752.78,-2611.74 11928,-2554.75 12097.71,-2499.56 12104.33,-2408.77 12272,-2347.63 12367.97,-2312.64 12408.57,-2359.15 12499,-2311.63 12594.61,-2261.39 13177.82,-1714.97 13169,-1607.32"/>
<path fill="none" stroke="black" d="M13169,-1605.32C13163.19,-1587.62 13157.81,-1584.48 13145,-1570.96 13127.15,-1552.11 13115.46,-1555.04 13099,-1534.96 13054.51,-1480.67 13066.33,-1452.69 13028,-1393.9"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_triggers_trigger -->
<g id="edge357" 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="M8695.71,-2701.44C8621.75,-2683.73 8450.23,-2636.47 8328,-2554.75 8284.47,-2525.65 8293.54,-2493.2 8247,-2469.19 8144.89,-2416.52 8097.19,-2477.07 7991,-2433.19 7932.45,-2409.01 7933.96,-2375.37 7877,-2347.63 7821.56,-2320.64 7801.66,-2330.66 7743,-2311.63 7728.02,-2306.78 7711.89,-2300.85 7697.47,-2295.29"/>
<polygon fill="#d10505" stroke="black" points="7698.91,-2291.7 7688.32,-2291.33 7696.37,-2298.22 7698.91,-2291.7"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_triggers_trigger_loader -->
<g id="edge358" 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="M8366,-2617.69C8309.98,-2596.67 8299.52,-2583.42 8247,-2554.75 8178.95,-2517.62 8168.13,-2494.91 8095,-2469.19 8002.36,-2436.62 7962.99,-2480.63 7877,-2433.19 7832.46,-2408.63 7845.3,-2372.62 7801,-2347.63 7724.24,-2304.34 7692.58,-2328.08 7606,-2311.63 7567.78,-2304.38 7524.93,-2296.02 7491.08,-2289.36"/>
<polygon fill="#d10505" stroke="black" points="7491.91,-2285.76 7481.42,-2287.26 7490.56,-2292.63 7491.91,-2285.76"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_upload_upload -->
<g id="edge359" 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="M8770.04,-2709.04C8928.18,-2706.65 9549.16,-2694.56 10057,-2646.62 10141.91,-2638.6 10162.87,-2633.69 10247,-2619.69"/>
<path fill="none" stroke="black" d="M10247,-2617.69C10296.85,-2609.39 10570.04,-2374.26 10613,-2347.63 10701.31,-2292.9 10723.07,-2275.65 10821,-2240.92 10894.2,-2214.97 10939.5,-2262.16 10992,-2204.92 11039.19,-2153.48 10966.85,-2103.08 11011,-2049.01"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_models_package -->
<g id="edge360" 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="M8701.52,-2727.73C8693.94,-2731.49 8685.76,-2735.31 8678,-2738.48 8629.99,-2758.11 8614.84,-2754.45 8567,-2774.48 8301.31,-2885.73 8252.54,-2950.64 7992,-3073.46 7743.05,-3190.81 7114.96,-3476.21 6852,-3557.45 6759.79,-3585.94 6648.27,-3604.73 6586.01,-3613.87"/>
<polygon fill="#d10505" stroke="black" points="6585.74,-3610.52 6576.35,-3615.42 6586.75,-3617.45 6585.74,-3610.52"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_web_web -->
<g id="edge361" 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="M8770,-2708.43C9036.63,-2700.59 10619.1,-2653.89 10720,-2646.62 10810.78,-2640.07 11445.3,-2575.18 11534,-2554.75 11601.2,-2539.28 12052.75,-2366.74 12119,-2347.63 12189.03,-2327.44 12227.76,-2363.47 12279,-2311.63 12391.5,-2197.83 12466.75,-1762.83 12429,-1607.32"/>
<path fill="none" stroke="black" d="M12429,-1605.32C12407.82,-1559.17 12361.25,-1580.6 12339,-1534.96 12325.23,-1506.71 12329.17,-1494.1 12339,-1464.25 12351.17,-1427.32 12411.26,-1427.09 12391,-1393.9"/>
<path fill="none" stroke="black" d="M12391,-1391.9C12295,-1248.06 11762.8,-1412.94 11616,-1321.54 11584.78,-1302.1 11601.12,-1274.54 11573,-1250.83 11539.75,-1222.79 11510.67,-1247.54 11482,-1214.83 11477.32,-1209.49 11416.1,-972.98 11420,-967.05"/>
</g>
<!-- ahriman_core_log_filtered_access_logger -->
<g id="node93" class="node">
<title>ahriman_core_log_filtered_access_logger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="17684" cy="-1072.76" rx="80.26" ry="35.36"/>
<text text-anchor="middle" x="17684" y="-1084.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="17684" y="-1073.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="17684" y="-1063.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log.</text>
<text text-anchor="middle" x="17684" y="-1052.76" 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="edge362" 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="M17747.22,-1050.72C17769.89,-1039.77 17793.04,-1023.85 17806,-1001.41 17821.72,-974.2 17816.7,-960.25 17806,-930.7 17768.18,-826.28 17678.13,-845.08 17646,-738.78"/>
</g>
<!-- ahriman_core_log_http_log_handler&#45;&gt;ahriman_core_log_log -->
<g id="edge363" 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="M9220.48,-2897.35C9201.33,-2891.35 9179.38,-2885.2 9159,-2881.19 8994.71,-2848.88 8941.86,-2900.99 8784,-2845.19 8779.21,-2843.5 8774.44,-2841.27 8769.83,-2838.77"/>
<polygon fill="#a13535" stroke="black" points="8772.03,-2835.41 8761.64,-2833.31 8768.45,-2841.43 8772.03,-2835.41"/>
</g>
<!-- ahriman_core_log_journal_handler -->
<g id="node95" class="node">
<title>ahriman_core_log_journal_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#ac4949" stroke="black" cx="11424" cy="-2809.83" rx="57.45" ry="35.36"/>
<text text-anchor="middle" x="11424" y="-2821.33" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11424" y="-2810.83" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11424" y="-2800.33" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log.</text>
<text text-anchor="middle" x="11424" y="-2789.83" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">journal_handler</text>
</g>
<!-- ahriman_core_log_lazy_logging -->
<g id="node96" class="node">
<title>ahriman_core_log_lazy_logging</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b03a3a" stroke="black" cx="8626" cy="-2809.83" rx="50.03" ry="35.36"/>
<text text-anchor="middle" x="8626" y="-2821.33" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8626" y="-2810.83" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8626" y="-2800.33" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log.</text>
<text text-anchor="middle" x="8626" y="-2789.83" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">lazy_logging</text>
</g>
<!-- ahriman_core_log_lazy_logging&#45;&gt;ahriman_core_log -->
<g id="edge364" 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="M8656.09,-2781.21C8670.01,-2768.44 8686.54,-2753.27 8700.61,-2740.36"/>
<polygon fill="#b03a3a" stroke="black" points="8702.57,-2743.39 8707.57,-2734.05 8697.84,-2738.23 8702.57,-2743.39"/>
</g>
<!-- ahriman_core_log_log&#45;&gt;ahriman_core_log -->
<g id="edge365" 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="M8732,-2773.99C8732,-2766.13 8732,-2757.75 8732,-2749.76"/>
<polygon fill="#822b2b" stroke="black" points="8735.5,-2749.83 8732,-2739.83 8728.5,-2749.83 8735.5,-2749.83"/>
</g>
<!-- ahriman_core_report -->
<g id="node98" class="node">
<title>ahriman_core_report</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db0505" stroke="black" cx="7349" cy="-1819.74" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="7349" y="-1825.99" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7349" y="-1815.49" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="7349" y="-1804.99" 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="edge366" 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="M6809,-2115.7C6809,-2108.68 6809,-2101.44 6809,-2094.42"/>
<polygon fill="#822b2b" stroke="black" points="6805.5,-2115.58 6809,-2125.59 6812.5,-2115.59 6805.5,-2115.58"/>
<polygon fill="#822b2b" stroke="black" points="6812.5,-2094.65 6809,-2084.65 6805.5,-2094.65 6812.5,-2094.65"/>
</g>
<!-- ahriman_core_report_jinja_template&#45;&gt;ahriman_core_report_email -->
<g id="edge369" 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="M6607.42,-1901.04C6598.5,-1887.87 6588.07,-1872.49 6578.75,-1858.73"/>
<polygon fill="#8b1818" stroke="black" points="6581.31,-1857.28 6572.81,-1850.96 6575.52,-1861.2 6581.31,-1857.28"/>
</g>
<!-- ahriman_core_report_jinja_template&#45;&gt;ahriman_core_report_html -->
<g id="edge370" 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="M6575.33,-1928.8C6476.66,-1921.32 6259.81,-1904.88 6077,-1891.09 5970.56,-1883.07 5698.16,-1892.01 5598,-1855.09 5594.48,-1853.8 5590.99,-1852.15 5587.6,-1850.29"/>
<polygon fill="#8b1818" stroke="black" points="5589.7,-1846.86 5579.36,-1844.57 5586.02,-1852.81 5589.7,-1846.86"/>
</g>
<!-- ahriman_core_report_jinja_template&#45;&gt;ahriman_core_report_telegram -->
<g id="edge371" 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="M6667.61,-1908.82C6697.38,-1890.27 6738.43,-1864.7 6768.64,-1845.88"/>
<polygon fill="#8b1818" stroke="black" points="6770,-1848.54 6776.64,-1840.28 6766.3,-1842.59 6770,-1848.54"/>
</g>
<!-- ahriman_core_report_report&#45;&gt;ahriman_core_report_email -->
<g id="edge374" 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="M6786.17,-2006.91C6765.15,-1972.74 6731.35,-1924.09 6692,-1891.09 6664.01,-1867.62 6626.86,-1849.33 6598.01,-1837.29"/>
<polygon fill="#950303" stroke="black" points="6783.58,-2008.39 6791.75,-2015.13 6789.57,-2004.76 6783.58,-2008.39"/>
<polygon fill="#950303" stroke="black" points="6599.76,-1833.82 6589.18,-1833.29 6597.12,-1840.3 6599.76,-1833.82"/>
</g>
<!-- ahriman_core_report_report&#45;&gt;ahriman_core_report_html -->
<g id="edge375" 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="M6761.56,-2038.14C6626.16,-2013 6226.1,-1939.92 5892,-1891.09 5761.74,-1872.06 5720.42,-1903.5 5598,-1855.09 5594.56,-1853.73 5591.14,-1852.06 5587.81,-1850.19"/>
<polygon fill="#950303" stroke="black" points="6760.5,-2041.69 6770.97,-2040.08 6761.78,-2034.81 6760.5,-2041.69"/>
<polygon fill="#950303" stroke="black" points="5590.04,-1846.83 5579.7,-1844.5 5586.33,-1852.77 5590.04,-1846.83"/>
</g>
<!-- ahriman_core_report_report&#45;&gt;ahriman_core_report_remote_call -->
<g id="edge376" class="edge">
<title>ahriman_core_report_report&#45;&gt;ahriman_core_report_remote_call</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6857.93,-2045.68C7156.67,-2037.49 8729.14,-1993.89 8943,-1976.65 9037.48,-1969.04 9146.64,-1953.64 9211.35,-1943.81"/>
<polygon fill="#950303" stroke="black" points="6857.94,-2042.2 6848.04,-2045.97 6858.14,-2049.2 6857.94,-2042.2"/>
<polygon fill="#950303" stroke="black" points="9211.77,-1947.14 9221.13,-1942.17 9210.71,-1940.22 9211.77,-1947.14"/>
</g>
<!-- ahriman_core_report_report&#45;&gt;ahriman_core_report_report_trigger -->
<g id="edge377" 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="M6846.86,-2043.48C6921.45,-2035.92 7092.27,-2015.59 7231,-1976.65 7248.07,-1971.86 7266.15,-1965.19 7282.38,-1958.59"/>
<polygon fill="#950303" stroke="black" points="7283.32,-1961.57 7291.21,-1954.5 7280.63,-1955.1 7283.32,-1961.57"/>
</g>
<!-- ahriman_core_report_report&#45;&gt;ahriman_core_report_telegram -->
<g id="edge378" 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="M6809,-2001.89C6809,-1962.56 6809,-1905.79 6809,-1866.32"/>
<polygon fill="#950303" stroke="black" points="6805.5,-2001.64 6809,-2011.64 6812.5,-2001.64 6805.5,-2001.64"/>
<polygon fill="#950303" stroke="black" points="6812.5,-1866.43 6809,-1856.43 6805.5,-1866.43 6812.5,-1866.43"/>
</g>
<!-- ahriman_core_report_report_trigger&#45;&gt;ahriman_core_report -->
<g id="edge379" 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="M7339.31,-1898.31C7340.88,-1885.77 7342.66,-1871.54 7344.26,-1858.72"/>
<polygon fill="#822b2b" stroke="black" points="7347.84,-1859.25 7345.61,-1848.89 7340.9,-1858.38 7347.84,-1859.25"/>
</g>
<!-- ahriman_core_repository -->
<g id="node107" class="node">
<title>ahriman_core_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db0505" stroke="black" cx="8087" cy="-1499.61" rx="42.07" ry="27.93"/>
<text text-anchor="middle" x="8087" y="-1505.86" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8087" y="-1495.36" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8087" y="-1484.86" 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="edge381" 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="M8044.89,-1496.25C7567.12,-1469.52 3171.51,-1223.63 2488.9,-1185.45"/>
<polygon fill="#db0505" stroke="black" points="2489.35,-1181.91 2479.17,-1184.85 2488.96,-1188.9 2489.35,-1181.91"/>
</g>
<!-- ahriman_core_repository&#45;&gt;ahriman_core_status_watcher -->
<g id="edge382" 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="M8128.9,-1496.5C8418.87,-1481.95 10157.63,-1394.6 11573,-1321.54 11799.53,-1309.85 12070.11,-1295.55 12179.03,-1289.78"/>
<polygon fill="#db0505" stroke="black" points="12179.18,-1293.23 12188.98,-1289.2 12178.81,-1286.24 12179.18,-1293.23"/>
</g>
<!-- ahriman_core_repository_cleaner -->
<g id="node108" class="node">
<title>ahriman_core_repository_cleaner</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b42d2d" stroke="black" cx="8315" cy="-1819.74" rx="43.66" ry="35.36"/>
<text text-anchor="middle" x="8315" y="-1831.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8315" y="-1820.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8315" y="-1810.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository.</text>
<text text-anchor="middle" x="8315" y="-1799.74" 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="edge383" 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="M8315,-1784.16C8315,-1776.21 8315,-1767.64 8315,-1759.31"/>
<polygon fill="#b42d2d" stroke="black" points="8318.5,-1759.57 8315,-1749.57 8311.5,-1759.57 8318.5,-1759.57"/>
</g>
<!-- ahriman_core_repository_cleaner&#45;&gt;ahriman_core_repository_update_handler -->
<g id="edge384" 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="M8272.92,-1809.08C8192.99,-1790.72 8018.73,-1750.71 7923.8,-1728.91"/>
<polygon fill="#b42d2d" stroke="black" points="7924.71,-1725.3 7914.18,-1726.47 7923.15,-1732.12 7924.71,-1725.3"/>
</g>
<!-- ahriman_core_repository_executor&#45;&gt;ahriman_core_repository_repository -->
<g id="edge385" 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="M8277.35,-1694.74C8238.24,-1676.78 8176.94,-1648.62 8134.52,-1629.14"/>
<polygon fill="#732626" stroke="black" points="8136.25,-1625.63 8125.71,-1624.63 8133.33,-1631.99 8136.25,-1625.63"/>
</g>
<!-- ahriman_core_repository_repository&#45;&gt;ahriman_core_repository -->
<g id="edge386" 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="M8087,-1570.74C8087,-1560.5 8087,-1549.24 8087,-1538.79"/>
<polygon fill="#732626" stroke="black" points="8090.5,-1538.85 8087,-1528.85 8083.5,-1538.85 8090.5,-1538.85"/>
</g>
<!-- ahriman_core_repository_repository_properties&#45;&gt;ahriman_core_repository_cleaner -->
<g id="edge387" 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="M8602.83,-1912.96C8535.33,-1891.33 8428.79,-1857.19 8366.01,-1837.08"/>
<polygon fill="#732626" stroke="black" points="8367.16,-1833.46 8356.57,-1833.74 8365.03,-1840.12 8367.16,-1833.46"/>
</g>
<!-- ahriman_core_repository_update_handler&#45;&gt;ahriman_core_repository_repository -->
<g id="edge388" 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="M7904.86,-1690.96C7943.86,-1673.05 7999.66,-1647.43 8039.2,-1629.27"/>
<polygon fill="#732626" stroke="black" points="8040.51,-1632.06 8048.14,-1624.71 8037.59,-1625.7 8040.51,-1632.06"/>
</g>
<!-- ahriman_core_sign -->
<g id="node113" class="node">
<title>ahriman_core_sign</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f91010" stroke="black" cx="10655" cy="-2162.14" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="10655" y="-2168.39" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10655" y="-2157.89" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="10655" y="-2147.39" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">sign</text>
</g>
<!-- ahriman_core_sign&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge389" 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="M10622.23,-2147.42C10597.81,-2137.83 10563.4,-2125.67 10532,-2119.36 10447.48,-2102.4 9070.12,-2016.49 8984,-2012.65 8193.07,-1977.42 7993.86,-2013.4 7203,-1976.65 7017.68,-1968.04 6799.22,-1949.94 6693.19,-1940.65"/>
<polygon fill="#f91010" stroke="black" points="6693.63,-1937.09 6683.36,-1939.7 6693.02,-1944.06 6693.63,-1937.09"/>
</g>
<!-- ahriman_core_sign&#45;&gt;ahriman_core_repository_repository -->
<g id="edge390" class="edge">
<title>ahriman_core_sign&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10629.96,-2140.96C10566.18,-2090.61 10390.78,-1958.67 10223,-1891.09 9795,-1718.72 9664.22,-1739.72 9207,-1677.67 8800.3,-1622.48 8304.54,-1610.48 8141.68,-1607.96"/>
<polygon fill="#f91010" stroke="black" points="8142.04,-1604.45 8131.99,-1607.8 8141.93,-1611.45 8142.04,-1604.45"/>
</g>
<!-- ahriman_core_sign&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge391" 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="M10621.69,-2148.5C10597.15,-2139.52 10562.82,-2127.62 10532,-2119.36 10296.96,-2056.38 10236.73,-2040.51 9995,-2012.65 9517.89,-1957.67 9392.89,-2024.34 8915,-1976.65 8857.89,-1970.95 8794.08,-1960.22 8745.22,-1951.06"/>
<polygon fill="#f91010" stroke="black" points="8746.19,-1947.49 8735.71,-1949.07 8744.89,-1954.37 8746.19,-1947.49"/>
</g>
<!-- ahriman_core_sign&#45;&gt;ahriman_core_support_keyring_trigger -->
<g id="edge392" class="edge">
<title>ahriman_core_sign&#45;&gt;ahriman_core_support_keyring_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10670.41,-2136.49C10688.28,-2110.19 10720.3,-2069.54 10759,-2049.01"/>
<path fill="none" stroke="black" d="M10759,-2047.01C10862.79,-1991.95 11176.24,-2025.71 11283,-1976.65 11334.93,-1952.79 11331.92,-1923.49 11379,-1891.09 11404.23,-1873.73 11434.3,-1857.75 11459.73,-1845.42"/>
<polygon fill="#f91010" stroke="black" points="11461.08,-1848.18 11468.6,-1840.71 11458.07,-1841.86 11461.08,-1848.18"/>
</g>
<!-- ahriman_core_sign&#45;&gt;ahriman_core_support_pkgbuild_keyring_generator -->
<g id="edge393" class="edge">
<title>ahriman_core_sign&#45;&gt;ahriman_core_support_pkgbuild_keyring_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10759,-2047.01C10868.2,-1989.08 10911.94,-2024.33 11035,-2012.65 11278.87,-1989.51 11342.2,-2009.19 11585,-1976.65 11629.68,-1970.67 11679.23,-1960.66 11718.42,-1951.95"/>
<polygon fill="#f91010" stroke="black" points="11718.93,-1955.19 11727.92,-1949.58 11717.4,-1948.36 11718.93,-1955.19"/>
</g>
<!-- ahriman_core_sign&#45;&gt;ahriman_core_upload_remote_service -->
<g id="edge394" class="edge">
<title>ahriman_core_sign&#45;&gt;ahriman_core_upload_remote_service</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10691.23,-2153.1C10731.05,-2144.36 10796.95,-2130.2 10854,-2119.36 11132.14,-2066.56 11201.32,-2049.67 11482,-2012.65 11651.07,-1990.35 11695.06,-1999.91 11864,-1976.65 11919.46,-1969.02 11981.93,-1957.48 12027.75,-1948.46"/>
<polygon fill="#f91010" stroke="black" points="12028.31,-1951.72 12037.44,-1946.35 12026.95,-1944.86 12028.31,-1951.72"/>
</g>
<!-- ahriman_core_sign_gpg&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge395" 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="M11328.72,-2151.18C11290.55,-2141.18 11228.55,-2126.28 11174,-2119.36 10744.7,-2064.91 10632.64,-2114.23 10201,-2083.36 9904.09,-2062.14 9832.12,-2030.68 9535,-2012.65 8500.34,-1949.87 8238.56,-2022.3 7203,-1976.65 7017.66,-1968.48 6799.21,-1950.19 6693.18,-1940.75"/>
<polygon fill="#b30404" stroke="black" points="6693.63,-1937.19 6683.36,-1939.78 6693.01,-1944.16 6693.63,-1937.19"/>
</g>
<!-- ahriman_core_sign_gpg&#45;&gt;ahriman_core_repository_repository -->
<g id="edge396" class="edge">
<title>ahriman_core_sign_gpg&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11366.65,-2126.55C11369.38,-2081.74 11376.31,-2001.49 11393,-1934.87"/>
<path fill="none" stroke="black" d="M11393,-1932.87C11431.15,-1820.71 11410.33,-1749.35 11316,-1677.67 11250.15,-1627.64 8562.13,-1610.07 8141.98,-1607.62"/>
<polygon fill="#b30404" stroke="black" points="8142.08,-1604.12 8132.06,-1607.56 8142.04,-1611.12 8142.08,-1604.12"/>
</g>
<!-- ahriman_core_sign_gpg&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge397" 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="M11328.69,-2151.4C11290.5,-2141.57 11228.48,-2126.81 11174,-2119.36 10893.05,-2080.95 10818.05,-2121.01 10537,-2083.36 10387.47,-2063.34 10354.8,-2030.55 10205,-2012.65 9635.49,-1944.63 9485.87,-2032.06 8915,-1976.65 8857.77,-1971.1 8793.83,-1960.33 8744.95,-1951.12"/>
<polygon fill="#b30404" stroke="black" points="8745.91,-1947.55 8735.44,-1949.12 8744.61,-1954.43 8745.91,-1947.55"/>
</g>
<!-- ahriman_core_sign_gpg&#45;&gt;ahriman_core_support_keyring_trigger -->
<g id="edge398" class="edge">
<title>ahriman_core_sign_gpg&#45;&gt;ahriman_core_support_keyring_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11393,-1932.87C11397.96,-1913.09 11398.87,-1906.71 11412,-1891.09 11426.06,-1874.37 11445.04,-1859.9 11462.88,-1848.5"/>
<polygon fill="#b30404" stroke="black" points="11464.4,-1851.06 11471.07,-1842.83 11460.72,-1845.1 11464.4,-1851.06"/>
</g>
<!-- ahriman_core_sign_gpg&#45;&gt;ahriman_core_support_pkgbuild_keyring_generator -->
<g id="edge399" class="edge">
<title>ahriman_core_sign_gpg&#45;&gt;ahriman_core_support_pkgbuild_keyring_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11397.73,-2144.06C11413.37,-2136.15 11432.46,-2126.87 11450,-2119.36 11492.66,-2101.1 11505.8,-2102.67 11548,-2083.36 11576.65,-2070.26 11580.79,-2060.8 11610,-2049.01"/>
<path fill="none" stroke="black" d="M11610,-2047.01C11626.18,-2040.48 11616.33,-2024.65 11629,-2012.65 11655.04,-1988.01 11690.36,-1969.77 11721.28,-1957.17"/>
<polygon fill="#b30404" stroke="black" points="11722.13,-1960.21 11730.15,-1953.28 11719.56,-1953.69 11722.13,-1960.21"/>
</g>
<!-- ahriman_core_sign_gpg&#45;&gt;ahriman_core_upload_remote_service -->
<g id="edge400" class="edge">
<title>ahriman_core_sign_gpg&#45;&gt;ahriman_core_upload_remote_service</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11610,-2047.01C11626.18,-2040.48 11614.69,-2022.63 11629,-2012.65 11715.68,-1952.23 11759.79,-1994.1 11864,-1976.65 11919.03,-1967.44 11981.28,-1956.08 12027.14,-1947.52"/>
<polygon fill="#b30404" stroke="black" points="12027.65,-1950.8 12036.83,-1945.52 12026.36,-1943.92 12027.65,-1950.8"/>
</g>
<!-- ahriman_core_spawn&#45;&gt;ahriman_application_handlers_web -->
<g id="edge401" 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="M11497.12,-1267.94C11478.92,-1255.5 11456.57,-1237.03 11444,-1214.83 11412.67,-1159.48 11425.6,-1137.11 11420,-1073.76"/>
<path fill="none" stroke="black" d="M11420,-1071.76C11405.37,-974.13 11382,-951.64 11382,-852.92 11382,-852.92 11382,-852.92 11382,-736.78 11382,-646.12 11328.27,-605.81 11382,-532.79"/>
</g>
<!-- ahriman_core_spawn&#45;&gt;ahriman_web_views_base -->
<g id="edge402" 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="M11563.45,-1280.65C11713.97,-1262.47 12289.57,-1193.51 12764,-1144.12 13266.63,-1091.8 13391.42,-1065.08 13896,-1037.41 14408.18,-1009.32 15694.14,-1057.64 16204,-1001.41 16244.78,-996.91 16290.38,-987.12 16323.45,-979.14"/>
<polygon fill="#c82323" stroke="black" points="16323.84,-982.4 16332.72,-976.62 16322.18,-975.6 16323.84,-982.4"/>
</g>
<!-- ahriman_core_spawn&#45;&gt;ahriman_web_web -->
<g id="edge403" 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="M11420,-1071.76C11415.91,-1025.41 11395.21,-1006.44 11420,-967.05"/>
</g>
<!-- ahriman_core_status -->
<g id="node116" class="node">
<title>ahriman_core_status</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f91010" stroke="black" cx="9943" cy="-3144.81" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="9943" y="-3151.06" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9943" y="-3140.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9943" y="-3130.06" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status</text>
</g>
<!-- ahriman_core_status&#45;&gt;ahriman_application_lock -->
<g id="edge404" 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="M9819,-2808.83C9792.15,-2770.97 9889.67,-2744.52 9857,-2711.55"/>
<path fill="none" stroke="black" d="M9857,-2709.55C9805.54,-2657.61 9764.86,-2688.6 9705,-2646.62 9691.87,-2637.41 9692.37,-2630.99 9681,-2619.69"/>
</g>
<!-- ahriman_core_status&#45;&gt;ahriman_core_log_http_log_handler -->
<g id="edge405" 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="M9904.94,-3142.47C9841.54,-3138.79 9711.88,-3125.01 9617,-3073.46 9569.62,-3047.72 9577.67,-3014.9 9531,-2987.9 9472.79,-2954.22 9397.86,-2936.13 9343.76,-2926.77"/>
<polygon fill="#f91010" stroke="black" points="9344.67,-2923.21 9334.23,-2925.01 9343.52,-2930.11 9344.67,-2923.21"/>
</g>
<!-- ahriman_core_status&#45;&gt;ahriman_core_report_remote_call -->
<g id="edge406" class="edge">
<title>ahriman_core_status&#45;&gt;ahriman_core_report_remote_call</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9937.95,-3116.98C9925.73,-3057.36 9890.19,-2911.22 9819,-2810.83"/>
<path fill="none" stroke="black" d="M9819,-2808.83C9755.75,-2731.22 9688.24,-2794.1 9605,-2738.48 9515.46,-2678.64 9504.98,-2645.52 9447,-2554.75 9421.27,-2514.47 9261.93,-2210.41 9269,-2163.14"/>
</g>
<!-- ahriman_core_status&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge407" 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="M9906.05,-3137.89C9838.13,-3126.5 9696.57,-3100.28 9655,-3073.46 9614.42,-3047.27 9623.47,-3020.68 9588,-2987.9 9524.95,-2929.64 9508.41,-2908.43 9427,-2881.19 9364.3,-2860.21 8882.52,-2889.01 8833,-2845.19 8828.84,-2841.5 8706.27,-2163.61 8673.17,-1980.18"/>
<polygon fill="#f91010" stroke="black" points="8676.48,-1979.79 8671.26,-1970.57 8669.59,-1981.03 8676.48,-1979.79"/>
</g>
<!-- ahriman_core_status&#45;&gt;ahriman_core_upload_remote_service -->
<g id="edge408" class="edge">
<title>ahriman_core_status&#45;&gt;ahriman_core_upload_remote_service</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9980.39,-3138.69C10195.35,-3109.19 11264.54,-2962.03 11278,-2951.9 11286.64,-2945.4 11349.33,-2780.93 11358,-2774.48 11455.48,-2701.95 11511.63,-2769.88 11629,-2738.48 11836.1,-2683.07 11903.8,-2683.8 12075,-2554.75 12168.76,-2484.08 12137.79,-2407.16 12239,-2347.63 12337.02,-2289.99 12477.87,-2390.77 12485,-2277.28"/>
<path fill="none" stroke="black" d="M12485,-2275.28C12479.95,-2132.6 12350.42,-2156.97 12257,-2049.01"/>
</g>
<!-- ahriman_core_status&#45;&gt;ahriman_web_views_base -->
<g id="edge409" 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="M9981.05,-3143.41C10194.99,-3140.96 11249.73,-3126.33 11570,-3073.46 12381.75,-2939.45 12557.41,-2785.92 13347,-2554.75 13531.04,-2500.87 13597.89,-2534.03 13761,-2433.19 13900.91,-2346.7 14115.73,-1960.18 14265,-1891.09 14425.89,-1816.63 14897.98,-1922.39 15062,-1855.09 15367.57,-1729.72 15308.34,-1482.69 15614,-1357.54 15783.62,-1288.09 16266.85,-1387.12 16438,-1321.54 16484.21,-1303.84 16482.99,-1278.51 16524,-1250.83 16551.69,-1232.14 16572.94,-1243.56 16590,-1214.83 16606.04,-1187.81 16608.15,-1169.77 16590,-1144.12 16562.23,-1104.87 16522.79,-1141.29 16488,-1108.12 16476.07,-1096.74 16487.22,-1083.61 16474,-1073.76"/>
<path fill="none" stroke="black" d="M16474,-1071.76C16457.58,-1059.38 16457.3,-1052.19 16443,-1037.41 16430.65,-1024.65 16416.7,-1011.01 16404.32,-999.18"/>
<polygon fill="#f91010" stroke="black" points="16407.1,-997.05 16397.45,-992.69 16402.28,-1002.12 16407.1,-997.05"/>
</g>
<!-- ahriman_core_status&#45;&gt;ahriman_web_web -->
<g id="edge410" 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="M9981.01,-3143.41C10144.44,-3140.67 10801.92,-3119.24 11307,-2951.9 11689.87,-2825.05 11836.08,-2838.23 12123,-2554.75 12203.67,-2475.06 12175.46,-2407.12 12272,-2347.63 12358.97,-2294.05 12432.67,-2389.32 12499,-2311.63 12601.14,-2192.02 12488.04,-1753.1 12429,-1607.32"/>
</g>
<!-- ahriman_core_status_client&#45;&gt;ahriman_application_lock -->
<g id="edge411" 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="M9606.15,-3116.8C9624.44,-3094.74 9649.97,-3062.31 9669,-3031.68"/>
</g>
<!-- ahriman_core_status_client&#45;&gt;ahriman_core_log_http_log_handler -->
<g id="edge412" 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="M9403,-3029.68C9366.61,-3011.65 9332.13,-2981.05 9307.84,-2956.36"/>
<polygon fill="#931010" stroke="black" points="9310.78,-2954.34 9301.32,-2949.58 9305.75,-2959.2 9310.78,-2954.34"/>
</g>
<!-- ahriman_core_status_client&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge413" 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="M9545.87,-3137.3C9508.41,-3128.85 9451.33,-3110.56 9417,-3073.46 9403.7,-3059.08 9420.55,-3040.37 9403,-3031.68"/>
<path fill="none" stroke="black" d="M9403,-3029.68C9212.49,-2935.29 9130.03,-3026.65 8931,-2951.9 8875.18,-2930.94 8873.03,-2901.58 8817,-2881.19 8764.26,-2861.99 8603.75,-2887.61 8567,-2845.19 8546.42,-2821.44 8563.16,-2805.67 8567,-2774.48 8574.16,-2716.34 8591.84,-2704.76 8599,-2646.62 8615.25,-2514.73 8617.2,-2479.26 8599,-2347.63 8587.33,-2263.25 8513.74,-2241.58 8547,-2163.14"/>
</g>
<!-- ahriman_core_status_client&#45;&gt;ahriman_core_status_web_client -->
<g id="edge414" 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="M9622.87,-3117.73C9746.9,-3036.38 10136.44,-2779.33 10451,-2554.75 10575.82,-2465.64 10596.97,-2428.96 10727,-2347.63 10815.09,-2292.54 10838.29,-2278.89 10935,-2240.92 10990.01,-2219.33 11009.77,-2230.59 11063,-2204.92 11069.38,-2201.85 11075.81,-2198.06 11081.93,-2194.04"/>
<polygon fill="#931010" stroke="black" points="9621.17,-3115.32 9614.73,-3123.72 9625.01,-3121.17 9621.17,-3115.32"/>
<polygon fill="#931010" stroke="black" points="11083.4,-2196.59 11089.66,-2188.03 11079.43,-2190.82 11083.4,-2196.59"/>
</g>
<!-- ahriman_core_status_watcher&#45;&gt;ahriman_web_views_base -->
<g id="edge415" 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="M12265.58,-1279.83C12412.31,-1259.09 12960.91,-1183.34 13415,-1144.12 14289.91,-1068.55 14510.89,-1080.47 15388,-1037.41 15750.58,-1019.61 15843.77,-1046.34 16204,-1001.41 16244.58,-996.35 16290.02,-986.66 16323.08,-978.86"/>
<polygon fill="#7a1e1e" stroke="black" points="16323.45,-982.13 16332.36,-976.4 16321.82,-975.32 16323.45,-982.13"/>
</g>
<!-- ahriman_core_status_watcher&#45;&gt;ahriman_web_web -->
<g id="edge416" 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="M12196.6,-1265.93C12075.4,-1191.04 11645.33,-920.04 11658,-852.92"/>
</g>
<!-- ahriman_core_status_web_client&#45;&gt;ahriman_core_report_remote_call -->
<g id="edge417" class="edge">
<title>ahriman_core_status_web_client&#45;&gt;ahriman_core_report_remote_call</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11085.85,-2141.17C11024.59,-2107.53 10893.31,-2040.5 10773,-2012.65 10490.25,-1947.2 9567.28,-1936.78 9326.09,-1935.16"/>
<polygon fill="#821717" stroke="black" points="9326.15,-1931.66 9316.13,-1935.09 9326.11,-1938.66 9326.15,-1931.66"/>
</g>
<!-- ahriman_core_status_web_client&#45;&gt;ahriman_core_upload_remote_service -->
<g id="edge419" class="edge">
<title>ahriman_core_status_web_client&#45;&gt;ahriman_core_upload_remote_service</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11160.42,-2146.31C11241.04,-2116.54 11431.09,-2049.23 11596,-2012.65 11713.33,-1986.63 11745.29,-1995.4 11864,-1976.65 11919.11,-1967.95 11981.36,-1956.55 12027.19,-1947.85"/>
<polygon fill="#821717" stroke="black" points="12027.71,-1951.12 12036.88,-1945.82 12026.4,-1944.25 12027.71,-1951.12"/>
</g>
<!-- ahriman_core_support -->
<g id="node120" class="node">
<title>ahriman_core_support</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d10505" stroke="black" cx="11487" cy="-1713.03" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="11487" y="-1719.28" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11487" y="-1708.78" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11487" y="-1698.28" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">support</text>
</g>
<!-- ahriman_core_support_keyring_trigger&#45;&gt;ahriman_core_support -->
<g id="edge420" class="edge">
<title>ahriman_core_support_keyring_trigger&#45;&gt;ahriman_core_support</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11505.83,-1784.45C11502.98,-1773.81 11499.83,-1762.02 11496.94,-1751.19"/>
<polygon fill="#732626" stroke="black" points="11500.11,-1750.51 11494.15,-1741.75 11493.35,-1752.32 11500.11,-1750.51"/>
</g>
<!-- ahriman_core_support_mirrorlist_trigger&#45;&gt;ahriman_core_support -->
<g id="edge421" class="edge">
<title>ahriman_core_support_mirrorlist_trigger&#45;&gt;ahriman_core_support</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11465.01,-1899.7C11459,-1886.22 11453,-1870.28 11450,-1855.09 11443.91,-1824.26 11442.47,-1814.89 11450,-1784.38 11453.1,-1771.84 11458.87,-1759.07 11464.96,-1747.91"/>
<polygon fill="#8a2e2e" stroke="black" points="11468.38,-1749.98 11470.32,-1739.56 11462.31,-1746.49 11468.38,-1749.98"/>
</g>
<!-- ahriman_core_support_package_creator&#45;&gt;ahriman_core_support_keyring_trigger -->
<g id="edge422" class="edge">
<title>ahriman_core_support_package_creator&#45;&gt;ahriman_core_support_keyring_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11653.63,-2023.99C11622.06,-2005.14 11583.76,-1975.03 11571,-1934.87"/>
</g>
<!-- ahriman_core_support_package_creator&#45;&gt;ahriman_core_support_mirrorlist_trigger -->
<g id="edge423" class="edge">
<title>ahriman_core_support_package_creator&#45;&gt;ahriman_core_support_mirrorlist_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11652.68,-2024.48C11624.68,-2010.96 11588.61,-1993.22 11557,-1976.65 11549.67,-1972.81 11541.99,-1968.67 11534.45,-1964.54"/>
<polygon fill="#7a1e1e" stroke="black" points="11536.47,-1961.1 11526.02,-1959.33 11533.09,-1967.23 11536.47,-1961.1"/>
</g>
<!-- ahriman_core_support_pkgbuild -->
<g id="node124" class="node">
<title>ahriman_core_support_pkgbuild</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f31616" stroke="black" cx="11497" cy="-2162.14" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="11497" y="-2173.64" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11497" y="-2163.14" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11497" y="-2152.64" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">support.</text>
<text text-anchor="middle" x="11497" y="-2142.14" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pkgbuild</text>
</g>
<!-- ahriman_core_support_pkgbuild&#45;&gt;ahriman_core_support_keyring_trigger -->
<g id="edge424" class="edge">
<title>ahriman_core_support_pkgbuild&#45;&gt;ahriman_core_support_keyring_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11496,-2047.01C11498.07,-2030.65 11500.36,-2026.03 11510,-2012.65 11535.69,-1977.02 11584.31,-1976.74 11571,-1934.87"/>
<path fill="none" stroke="black" d="M11571,-1932.87C11563.26,-1908.53 11550.84,-1882.92 11539.66,-1862.34"/>
<polygon fill="#f31616" stroke="black" points="11542.38,-1861.02 11534.47,-1853.96 11536.25,-1864.41 11542.38,-1861.02"/>
</g>
<!-- ahriman_core_support_pkgbuild&#45;&gt;ahriman_core_support_mirrorlist_trigger -->
<g id="edge425" class="edge">
<title>ahriman_core_support_pkgbuild&#45;&gt;ahriman_core_support_mirrorlist_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11494.3,-2126.65C11493.14,-2104.4 11492.72,-2074.89 11496,-2049.01"/>
<path fill="none" stroke="black" d="M11496,-2047.01C11498.8,-2024.9 11496.36,-2000.34 11492.78,-1979.85"/>
<polygon fill="#f31616" stroke="black" points="11496.07,-1979.4 11490.76,-1970.23 11489.19,-1980.71 11496.07,-1979.4"/>
</g>
<!-- ahriman_core_support_pkgbuild&#45;&gt;ahriman_core_support_package_creator -->
<g id="edge426" class="edge">
<title>ahriman_core_support_pkgbuild&#45;&gt;ahriman_core_support_package_creator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11524.15,-2137.3C11531.9,-2131.07 11540.54,-2124.62 11549,-2119.36 11557.72,-2113.94 11603.2,-2092.9 11642,-2075.22"/>
<polygon fill="#f31616" stroke="black" points="11643.04,-2078.14 11650.69,-2070.82 11640.14,-2071.77 11643.04,-2078.14"/>
</g>
<!-- ahriman_core_support_pkgbuild_keyring_generator&#45;&gt;ahriman_core_support_keyring_trigger -->
<g id="edge427" class="edge">
<title>ahriman_core_support_pkgbuild_keyring_generator&#45;&gt;ahriman_core_support_keyring_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11735.01,-1910.45C11687.6,-1891.12 11619.42,-1863.32 11571.55,-1843.8"/>
<polygon fill="#7a2828" stroke="black" points="11573.25,-1840.3 11562.66,-1839.77 11570.6,-1846.78 11573.25,-1840.3"/>
</g>
<!-- ahriman_core_support_pkgbuild_mirrorlist_generator&#45;&gt;ahriman_core_support_mirrorlist_trigger -->
<g id="edge428" class="edge">
<title>ahriman_core_support_pkgbuild_mirrorlist_generator&#45;&gt;ahriman_core_support_mirrorlist_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11871.3,-2121.13C11850.35,-2086.59 11815.32,-2038.32 11771,-2012.65 11687.53,-1964.33 11648.01,-2008.59 11557,-1976.65 11548.7,-1973.74 11540.24,-1969.95 11532.14,-1965.84"/>
<polygon fill="#8a2e2e" stroke="black" points="11533.94,-1962.31 11523.47,-1960.71 11530.66,-1968.49 11533.94,-1962.31"/>
</g>
<!-- ahriman_core_support_pkgbuild_pkgbuild_generator -->
<g id="node127" class="node">
<title>ahriman_core_support_pkgbuild_pkgbuild_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b62020" stroke="black" cx="11736" cy="-2162.14" rx="68.59" ry="42.78"/>
<text text-anchor="middle" x="11736" y="-2178.89" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11736" y="-2168.39" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11736" y="-2157.89" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">support.</text>
<text text-anchor="middle" x="11736" y="-2147.39" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pkgbuild.</text>
<text text-anchor="middle" x="11736" y="-2136.89" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pkgbuild_generator</text>
</g>
<!-- ahriman_core_support_pkgbuild_pkgbuild_generator&#45;&gt;ahriman_core_support_package_creator -->
<g id="edge429" class="edge">
<title>ahriman_core_support_pkgbuild_pkgbuild_generator&#45;&gt;ahriman_core_support_package_creator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11722.7,-2119.71C11719.96,-2111.19 11717.07,-2102.19 11714.31,-2093.57"/>
<polygon fill="#b62020" stroke="black" points="11717.4,-2092.75 11711.01,-2084.3 11710.73,-2094.89 11717.4,-2092.75"/>
</g>
<!-- ahriman_core_support_pkgbuild_pkgbuild_generator&#45;&gt;ahriman_core_support_pkgbuild_keyring_generator -->
<g id="edge430" class="edge">
<title>ahriman_core_support_pkgbuild_pkgbuild_generator&#45;&gt;ahriman_core_support_pkgbuild_keyring_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11756.68,-2121.22C11762.1,-2109.31 11767.42,-2096.05 11771,-2083.36 11779.79,-2052.2 11784.53,-2016.2 11787.07,-1987.45"/>
<polygon fill="#b62020" stroke="black" points="11790.62,-1988.07 11787.94,-1977.82 11783.64,-1987.5 11790.62,-1988.07"/>
</g>
<!-- ahriman_core_support_pkgbuild_pkgbuild_generator&#45;&gt;ahriman_core_support_pkgbuild_mirrorlist_generator -->
<g id="edge431" class="edge">
<title>ahriman_core_support_pkgbuild_pkgbuild_generator&#45;&gt;ahriman_core_support_pkgbuild_mirrorlist_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11804.99,-2162.14C11807.19,-2162.14 11809.38,-2162.14 11811.57,-2162.14"/>
<polygon fill="#b62020" stroke="black" points="11811.53,-2165.64 11821.53,-2162.14 11811.53,-2158.64 11811.53,-2165.64"/>
</g>
<!-- ahriman_core_tree&#45;&gt;ahriman_application_application_application -->
<g id="edge432" class="edge">
<title>ahriman_core_tree&#45;&gt;ahriman_application_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1786,-2617.69C1762.12,-2555.24 1778.07,-2527.93 1810,-2469.19 1834.61,-2423.92 1885.41,-2441.85 1896,-2391.41"/>
<path fill="none" stroke="black" d="M1896,-2389.41C1902.66,-2354.93 1885.12,-2346.62 1882,-2311.63 1879.21,-2280.33 1879.74,-2272.27 1882,-2240.92 1900.27,-1987.22 2027.73,-1361.82 2046,-1108.12 2048.26,-1076.77 2059.62,-1065.73 2046,-1037.41 2037.2,-1019.11 2021.08,-1004.09 2005.01,-992.69"/>
<polygon fill="#ae1e1e" stroke="black" points="2007.39,-989.4 1997.13,-986.73 2003.49,-995.21 2007.39,-989.4"/>
</g>
<!-- ahriman_core_tree&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge433" 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="M2110.42,-3410.02C2101.42,-3379.81 2085.2,-3329.4 2066,-3288.17 2042.44,-3237.59 2023.58,-3231.62 2002,-3180.17 1967.81,-3098.64 1974.67,-3073.08 1951,-2987.9 1924.56,-2892.73 1926.99,-2865.66 1889,-2774.48 1871.04,-2731.37 1864.32,-2721.19 1838,-2682.62 1817.55,-2652.64 1807,-2649.27 1786,-2619.69"/>
<path fill="none" stroke="black" d="M1786,-2617.69C1754.42,-2559.4 1767.1,-2535.3 1772,-2469.19 1779.58,-2366.9 1783.32,-2340.96 1806,-2240.92 1821.73,-2171.54 1900,-2006.02 1900,-1934.87 1900,-1934.87 1900,-1934.87 1900,-1498.61 1900,-1427.87 1844.94,-1235.81 1889,-1180.47"/>
</g>
<!-- ahriman_core_tree&#45;&gt;ahriman_application_handlers_structure -->
<g id="edge434" class="edge">
<title>ahriman_core_tree&#45;&gt;ahriman_application_handlers_structure</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1896,-2389.41C1941.28,-2253.16 2132.51,-1238.16 2241,-1144.12 2335.81,-1061.94 2422.08,-1185.3 2521,-1108.12 2545.01,-1089.38 2621.04,-883.37 2621,-852.92"/>
<path fill="none" stroke="black" d="M2621,-850.92C2616.83,-784.2 2618.17,-765.84 2597,-702.43 2593.72,-692.61 2589.19,-682.52 2584.43,-673.14"/>
<polygon fill="#ae1e1e" stroke="black" points="2587.19,-671.87 2579.41,-664.67 2581,-675.15 2587.19,-671.87"/>
</g>
<!-- ahriman_core_triggers -->
<g id="node129" class="node">
<title>ahriman_core_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d10505" stroke="black" cx="7605" cy="-2162.14" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="7605" y="-2168.39" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7605" y="-2157.89" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="7605" y="-2147.39" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">triggers</text>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_application_handlers_validate -->
<g id="edge435" class="edge">
<title>ahriman_core_triggers&#45;&gt;ahriman_application_handlers_validate</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7633.09,-2143.21C7715.02,-2092.04 7962.42,-1945.49 8191,-1891.09 8410.78,-1838.79 8982.58,-1881.06 9207,-1855.09 9247.3,-1850.43 9292.2,-1841.47 9326.3,-1833.87"/>
<polygon fill="#d10505" stroke="black" points="9326.98,-1837.07 9335.97,-1831.45 9325.44,-1830.25 9326.98,-1837.07"/>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_core_gitremote_remote_pull_trigger -->
<g id="edge436" 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="M7572.84,-2147.04C7537.53,-2131.53 7479.16,-2105.81 7429,-2083.36 7359.52,-2052.27 7346.97,-2030.62 7273,-2012.65 7120.13,-1975.53 6723.09,-1985.01 6566,-1976.65 6320.79,-1963.61 6030.72,-1947.25 5893.13,-1939.44"/>
<polygon fill="#d10505" stroke="black" points="5893.47,-1935.9 5883.29,-1938.82 5893.08,-1942.89 5893.47,-1935.9"/>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge437" 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="M7568.99,-2153.19C7439.74,-2124.77 6999.23,-2029.04 6856,-2012.65 6360.31,-1955.95 6227.72,-2048.51 5734,-1976.65 5704.95,-1972.43 5673.58,-1964.85 5646.44,-1957.3"/>
<polygon fill="#d10505" stroke="black" points="5647.45,-1953.67 5636.87,-1954.31 5645.54,-1960.4 5647.45,-1953.67"/>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_core_report_report_trigger -->
<g id="edge438" 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="M7580.58,-2140.41C7546.65,-2111.64 7483.3,-2058.02 7429,-2012.65 7411.7,-1998.2 7392.53,-1982.31 7376.04,-1968.69"/>
<polygon fill="#d10505" stroke="black" points="7378.63,-1965.46 7368.69,-1961.79 7374.17,-1970.86 7378.63,-1965.46"/>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge439" 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="M7640.57,-2151.61C7724.75,-2129.48 7943.06,-2074.56 8129,-2049.01"/>
<path fill="none" stroke="black" d="M8129,-2047.01C8173.78,-2040.86 8447.81,-1981.96 8585.78,-1952.08"/>
<polygon fill="#d10505" stroke="black" points="8586.25,-1955.35 8595.28,-1949.81 8584.77,-1948.51 8586.25,-1955.35"/>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_core_support_keyring_trigger -->
<g id="edge440" class="edge">
<title>ahriman_core_triggers&#45;&gt;ahriman_core_support_keyring_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7642.92,-2159.2C7731.86,-2153.89 7960.21,-2135.82 8143,-2083.36 8244.78,-2054.16 8475.53,-1913.62 8579,-1891.09 8869.01,-1827.94 10953.95,-1876.21 11250,-1855.09 11318.62,-1850.2 11396.65,-1839.45 11450.18,-1831.27"/>
<polygon fill="#d10505" stroke="black" points="11450.53,-1834.6 11459.88,-1829.62 11449.46,-1827.68 11450.53,-1834.6"/>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_core_support_mirrorlist_trigger -->
<g id="edge441" class="edge">
<title>ahriman_core_triggers&#45;&gt;ahriman_core_support_mirrorlist_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8129,-2047.01C8457.38,-2001.89 8542.69,-2022.77 8874,-2012.65 9409.14,-1996.32 10750.9,-2035.93 11283,-1976.65 11328.06,-1971.63 11377.99,-1961.14 11416.57,-1951.92"/>
<polygon fill="#d10505" stroke="black" points="11417.24,-1955.12 11426.13,-1949.36 11415.59,-1948.31 11417.24,-1955.12"/>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_core_upload_upload_trigger -->
<g id="edge442" 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="M7599.17,-2134.05C7587.36,-2083.27 7557.23,-1971.63 7505,-1891.09 7486.56,-1862.65 7427.22,-1797.58 7396,-1784.38 7264.84,-1728.95 5047.55,-1716.19 4636.33,-1714.3"/>
<polygon fill="#d10505" stroke="black" points="4636.56,-1710.8 4626.54,-1714.25 4636.52,-1717.8 4636.56,-1710.8"/>
</g>
<!-- ahriman_core_triggers_trigger&#45;&gt;ahriman_core_triggers -->
<g id="edge443" 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="M7639.25,-2243.15C7633.36,-2229.4 7626.46,-2213.29 7620.41,-2199.14"/>
<polygon fill="#8a2e2e" stroke="black" points="7623.33,-2198.06 7616.17,-2190.24 7616.89,-2200.82 7623.33,-2198.06"/>
</g>
<!-- ahriman_core_triggers_trigger_loader&#45;&gt;ahriman_core_triggers -->
<g id="edge444" 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="M7467.54,-2251.22C7497.09,-2232.29 7538.06,-2206.04 7567.57,-2187.13"/>
<polygon fill="#822b2b" stroke="black" points="7569.19,-2189.61 7575.72,-2181.26 7565.41,-2183.71 7569.19,-2189.61"/>
</g>
<!-- ahriman_core_upload -->
<g id="node132" class="node">
<title>ahriman_core_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db0505" stroke="black" cx="3828" cy="-1606.32" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="3828" y="-1612.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3828" y="-1602.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="3828" y="-1591.57" 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="edge445" 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="M12466.49,-1630.18C12459.22,-1634.83 12451.15,-1639.09 12443,-1641.67 12378.3,-1662.16 11272.42,-1632.26 11222,-1677.67 11195.88,-1701.19 11192.92,-1742.12 11195.45,-1773.86"/>
<polygon fill="#822b2b" stroke="black" points="11192.05,-1774.06 11196.54,-1783.65 11199.02,-1773.35 11192.05,-1774.06"/>
</g>
<!-- ahriman_core_upload_http_upload&#45;&gt;ahriman_core_upload_github -->
<g id="edge446" 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="M12247.42,-1703.04C12296.99,-1692.27 12377.95,-1671.82 12443,-1641.67 12447.43,-1639.62 12451.91,-1637.23 12456.29,-1634.67"/>
<polygon fill="#a32828" stroke="black" points="12457.97,-1637.13 12464.65,-1628.9 12454.3,-1631.17 12457.97,-1637.13"/>
</g>
<!-- ahriman_core_upload_http_upload&#45;&gt;ahriman_core_upload_remote_service -->
<g id="edge447" class="edge">
<title>ahriman_core_upload_http_upload&#45;&gt;ahriman_core_upload_remote_service</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12185.97,-1746.51C12167.18,-1784.59 12135.96,-1847.84 12115.19,-1889.94"/>
<polygon fill="#a32828" stroke="black" points="12111.69,-1888.12 12110.4,-1898.64 12117.97,-1891.22 12111.69,-1888.12"/>
</g>
<!-- ahriman_core_upload_remote_service&#45;&gt;ahriman_core_upload_upload -->
<g id="edge448" class="edge">
<title>ahriman_core_upload_remote_service&#45;&gt;ahriman_core_upload_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12038.46,-1921.29C11992.02,-1911.96 11923.93,-1899.13 11864,-1891.09 11680.94,-1866.56 11633.53,-1875.82 11450,-1855.09 11380.81,-1847.28 11301.06,-1835.72 11251.34,-1828.21"/>
<polygon fill="#732626" stroke="black" points="11252,-1824.62 11241.59,-1826.58 11250.95,-1831.54 11252,-1824.62"/>
</g>
<!-- ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_http_upload -->
<g id="edge451" 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="M11240.59,-1812.97C11288.96,-1805.68 11375.6,-1793.03 11450,-1784.38 11708.55,-1754.32 12018.3,-1728.58 12144.38,-1718.53"/>
<polygon fill="#8a0f0f" stroke="black" points="12144.59,-1721.95 12154.28,-1717.66 12144.04,-1714.97 12144.59,-1721.95"/>
</g>
<!-- ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_rsync -->
<g id="edge452" 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="M11227.7,-1779.56C11233.14,-1770.93 11238.9,-1761.78 11244.34,-1753.15"/>
<polygon fill="#8a0f0f" stroke="black" points="11224.28,-1777.41 11221.91,-1787.73 11230.21,-1781.14 11224.28,-1777.41"/>
<polygon fill="#8a0f0f" stroke="black" points="11247.71,-1755.36 11250.08,-1745.04 11241.79,-1751.63 11247.71,-1755.36"/>
</g>
<!-- ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_s3 -->
<g id="edge453" 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="M11156.21,-1806.37C11079.98,-1786.21 10929.87,-1746.52 10853.7,-1726.38"/>
<polygon fill="#8a0f0f" stroke="black" points="11154.89,-1809.9 11165.46,-1809.08 11156.68,-1803.14 11154.89,-1809.9"/>
<polygon fill="#8a0f0f" stroke="black" points="10855.02,-1722.84 10844.46,-1723.67 10853.23,-1729.61 10855.02,-1722.84"/>
</g>
<!-- ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_upload_trigger -->
<g id="edge454" 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="M11164.77,-1817.92C10976.56,-1813.93 10129.72,-1796.14 9436,-1784.38 7471.81,-1751.09 5061.37,-1720.22 4636.47,-1714.85"/>
<polygon fill="#8a0f0f" stroke="black" points="4636.69,-1711.34 4626.64,-1714.71 4636.6,-1718.34 4636.69,-1711.34"/>
</g>
<!-- ahriman_core_upload_upload_trigger&#45;&gt;ahriman_core_upload -->
<g id="edge455" 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="M4516.64,-1709.85C4374.96,-1703.63 3997.27,-1683.5 3880,-1641.67 3873.99,-1639.53 3868,-1636.55 3862.32,-1633.24"/>
<polygon fill="#822b2b" stroke="black" points="3864.46,-1629.82 3854.14,-1627.43 3860.72,-1635.73 3864.46,-1629.82"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_application_ahriman -->
<g id="edge456" 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="M9285.71,-4331.97C9293.9,-4326.37 9303.39,-4321.02 9313,-4318.03 9511.86,-4256.18 10979.72,-4302.19 11187,-4282.03 12679.44,-4136.91 16351.01,-3344.19 17832,-3109.46 17888.74,-3100.47 18041.48,-3107.17 18088,-3073.46 18187.23,-3001.55 18530.14,-2197.8 18574,-2083.36 18598.54,-2019.32 18607.77,-2002.96 18616,-1934.87"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge457" 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="M9222.9,-4352.47C9056,-4352.24 8373.25,-4345.06 7824,-4247.67"/>
<path fill="none" stroke="black" d="M7824,-4245.67C7806.82,-4242.63 7819.96,-4220.31 7805,-4211.32 7753.8,-4180.55 5714.64,-4178.55 5655,-4175.32 5208.9,-4151.15 5096.5,-4145.01 4654,-4083.46 3834.45,-3969.46 3636.74,-3896.44 2824,-3741.18 2614.51,-3701.16 2559.92,-3700.99 2353,-3649.31 2135.21,-3594.93 2090.02,-3546.14 1870,-3501.59 1717.17,-3470.64 1661.08,-3534.09 1521,-3465.59 1332.55,-3373.44 1102,-2829.46 1102,-2619.69 1102,-2619.69 1102,-2619.69 1102,-2510.97 1102,-2142.57 1330,-2082.44 1330,-1714.03 1330,-1714.03 1330,-1714.03 1330,-1498.61 1330,-1403.14 1368.67,-1382.65 1368,-1287.18"/>
<path fill="none" stroke="black" d="M1368,-1285.18C1365.5,-1238.71 1334.49,-1212.76 1368,-1180.47"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_application_lock -->
<g id="edge458" 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="M9251,-4054.53C9270.64,-4031.39 9252.15,-4010.58 9275,-3990.6 9456.92,-3831.5 9567.78,-3915.23 9805,-3869.04 9891.6,-3852.17 10175.56,-3891.69 10197,-3806.11"/>
<path fill="none" stroke="black" d="M10197,-3804.11C10228.03,-3664.33 9931,-3765.56 9931,-3622.38 9931,-3622.38 9931,-3622.38 9931,-3528.52 9931,-3340.6 10298.31,-3385.11 10216,-3216.17 10204.63,-3192.83 10187.65,-3199.2 10170,-3180.17 9999.68,-2996.54 10033.29,-2889.46 9857,-2711.55"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_alpm_pacman -->
<g id="edge459" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_alpm_pacman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7824,-4245.67C7684.8,-4218.36 9086.04,-4289.82 9097,-4148.39"/>
<path fill="none" stroke="black" d="M9097,-4146.39C9115.92,-3902.13 8212.8,-4006.71 8040,-3833.04 7732.43,-3523.92 7921.25,-3300.63 7802,-2881.19 7797.26,-2864.52 7791.84,-2861.83 7787,-2845.19 7758.6,-2747.52 7745.66,-2721.37 7748,-2619.69"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_alpm_repo -->
<g id="edge460" 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="M9097,-4146.39C9103.12,-4067.38 9196.8,-4114.34 9251,-4056.53"/>
<path fill="none" stroke="black" d="M9251,-4054.53C9280.99,-4022.53 9213.12,-4013.28 9175,-3991.6"/>
<path fill="none" stroke="black" d="M9175,-3990.6C8775.53,-3763.34 8500.72,-4133.55 8153,-3833.04 7980.83,-3684.24 7994.62,-3016.51 8092,-2810.83"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge461" 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="M7256,-4146.39C7199.57,-4112.21 7224.79,-4059.41 7167,-4027.6 7077.76,-3978.47 6810.89,-4005.66 6710,-3991.6 6627.38,-3980.08 6601,-3991.11 6526,-3954.6 6473.41,-3928.99 6472.29,-3904.8 6426,-3869.04 6397.72,-3847.19 6326.67,-3791.66 6294,-3777.18 6013.8,-3652.99 5622,-3928.87 5622,-3622.38 5622,-3622.38 5622,-3622.38 5622,-3233.17 5622,-3121.74 5510.25,-3081.96 5570,-2987.9 5590.01,-2956.4 5842.63,-2865.39 5874,-2845.19 5967.73,-2784.84 5963.93,-2729.65 6065,-2682.62 6152.84,-2641.74 6195.18,-2693.44 6280,-2646.62 6294.04,-2638.87 6290.85,-2628.86 6304,-2619.69"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge462" 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="M9175,-3990.6C9144.64,-3974.07 9175,-3947.39 9175,-3912.82"/>
<path fill="none" stroke="black" d="M9175,-3910.82C9175,-3817.15 9099,-3807.91 9099,-3714.24 9099,-3714.24 9099,-3714.24 9099,-3436.66 9099,-3155.46 8875.34,-3059.83 9006,-2810.83"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_database_operations_logs_operations -->
<g id="edge463" 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="M9286,-4331.87C9294.13,-4326.33 9303.51,-4321.05 9313,-4318.03 9432.29,-4280.09 10314.25,-4292.34 10439,-4282.03 10795.61,-4252.56 10895.72,-4282.85 11237,-4175.32 11379.47,-4130.43 12299.35,-3628.03 12431,-3557.45 12579.29,-3477.95 12645.39,-3495.02 12762,-3373.73 12840.63,-3291.94 12810.11,-3237.46 12877,-3145.81"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_formatters_aur_printer -->
<g id="edge464" 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="M7824,-4245.67C7806.88,-4242.32 7819.82,-4220.54 7805,-4211.32 7733.41,-4166.78 7130.55,-4186.69 7047,-4175.32 7019.54,-4171.58 6099.52,-3965.41 6074,-3954.6 6009.97,-3927.46 6009.27,-3890.1 5943,-3869.04 5736.16,-3803.3 5179.93,-3875.05 4967,-3833.04 4735.14,-3787.28 4630.08,-3821.31 4468,-3649.31 4194.46,-3359.04 4383.93,-3156.11 4268,-2774.48 4243.43,-2693.61 4199.59,-2605.05 4172.82,-2554.53"/>
<polygon fill="#d10505" stroke="black" points="4175.5,-2553.12 4167.7,-2545.95 4169.32,-2556.42 4175.5,-2553.12"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge465" 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="M7824,-4245.67C7806.88,-4242.31 7819.74,-4220.66 7805,-4211.32 7699.1,-4144.22 7362.72,-4209.14 7242,-4175.32 7105.76,-4137.14 7095.12,-4069.57 6960,-4027.6 6832.18,-3987.89 6793.89,-4007.6 6661,-3991.6 6524.55,-3975.16 6484.04,-3999.07 6354,-3954.6 6283.92,-3930.63 6281.07,-3893.01 6211,-3869.04 5986.72,-3792.3 5334.43,-3892.53 5152,-3741.18 5003.64,-3618.08 4978.84,-3064.67 5038,-2881.19 5055.87,-2825.77 5078.54,-2820.66 5114,-2774.48 5117.4,-2770.05 5237.16,-2622.45 5242,-2619.69"/>
<path fill="none" stroke="black" d="M5242,-2617.69C5362.23,-2537.83 5875.99,-2657.14 5883,-2512.97"/>
<path fill="none" stroke="black" d="M5883,-2510.97C5884.23,-2485.6 5866.37,-2481.23 5844,-2469.19 5759.45,-2423.7 5711.57,-2485.41 5631,-2433.19 5589.57,-2406.35 5560.71,-2356.55 5544.08,-2320.44"/>
<polygon fill="#d10505" stroke="black" points="5546.99,-2319.36 5539.72,-2311.65 5540.59,-2322.21 5546.99,-2319.36"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_report_email -->
<g id="edge466" 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="M7824,-4245.67C7806.81,-4242.67 7816.89,-4224.09 7805,-4211.32 7798.61,-4204.46 7530.91,-4030.51 7522,-4027.6 7388.52,-3983.9 7030.24,-4010.02 6891,-3991.6 6811.33,-3981.06 6787.74,-3986.55 6714,-3954.6 6653.23,-3928.27 6652.18,-3896.69 6592,-3869.04 6533.23,-3842.03 6505.02,-3868.61 6451,-3833.04 6424.83,-3815.8 6432.07,-3797.23 6408,-3777.18 6339.29,-3719.95 6309.44,-3724.36 6229,-3685.31 6198.32,-3670.42 5970.16,-3584.96 5950,-3557.45 5831.88,-3396.28 5826.43,-3290.03 5912,-3109.46 5922.82,-3086.63 5939.94,-3092.96 5956,-3073.46 6081.38,-2921.26 6007.24,-2799.58 6166,-2682.62 6233.44,-2632.93 6278.57,-2688.7 6351,-2646.62 6397.56,-2619.56 6411.28,-2605.24 6430,-2554.75 6491.4,-2389.2 6272.75,-2314.92 6363,-2163.14"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge467" 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="M7824,-4245.67C7806.81,-4242.71 7819.16,-4221.52 7805,-4211.32 7733.48,-4159.82 7695.06,-4198.4 7610,-4175.32 7423.88,-4124.81 7390.34,-4069.09 7202,-4027.6 7020.77,-3987.67 6968.14,-4027.14 6786,-3991.6 6731.22,-3980.91 6717.88,-3975.16 6666,-3954.6 6662.43,-3953.18 6421.03,-3835.38 6418,-3833.04 6392.11,-3813.01 6396.74,-3796.06 6370,-3777.18 6241.17,-3686.21 6177.59,-3724.56 6039,-3649.31 5809.21,-3524.55 5747.81,-3433.74 5684,-3180.17 5663.15,-3097.3 5638.83,-3060.44 5684,-2987.9 5724.64,-2922.63 6233.22,-2710.17 6305,-2682.62 6359.77,-2661.59 6384.42,-2680.93 6432,-2646.62 6456.35,-2629.05 6451.73,-2614.58 6470,-2590.75 6482.85,-2574 6493.65,-2574.55 6501,-2554.75 6561.69,-2391.28 6400.46,-2319.82 6477,-2163.14"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_repository_executor -->
<g id="edge468" 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="M9175,-3910.82C9189.31,-3632.45 9150.16,-3562.35 9100,-3288.17 9072.3,-3136.74 9035.58,-3104.71 9017,-2951.9 9013.21,-2920.7 9000.71,-2908.06 9017,-2881.19 9034.93,-2851.61 9068.07,-2874.77 9086,-2845.19 9109.71,-2806.08 9060.32,-2654.69 9059,-2646.62 9024.17,-2433.13 9003,-2379.46 9003,-2163.14 9003,-2163.14 9003,-2163.14 9003,-2047.01 9003,-1946.44 9079.81,-1885.65 9003,-1820.74"/>
<path fill="none" stroke="black" d="M9003,-1818.74C8904.13,-1742.07 8514.95,-1720.92 8369.89,-1715.64"/>
<polygon fill="#d10505" stroke="black" points="8370.17,-1712.11 8360.06,-1715.26 8369.93,-1719.11 8370.17,-1712.11"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_repository_repository -->
<g id="edge469" 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="M9175,-3910.82C9180.1,-3817.29 9251,-3807.91 9251,-3714.24 9251,-3714.24 9251,-3714.24 9251,-3143.81 9251,-3073.7 9234.19,-3044.91 9275,-2987.9 9295.13,-2959.77 9326.07,-2981.48 9344,-2951.9 9360.29,-2925.02 9348.9,-2912.23 9344,-2881.19 9326.9,-2772.94 9292.09,-2753.53 9268,-2646.62 9254.96,-2588.72 9183.52,-1994.4 9193,-1820.74"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_sign_gpg -->
<g id="edge470" 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="M7824,-4245.67C7645.69,-4210.63 9276.97,-4191.22 9458,-4175.32 9988.48,-4128.73 10143.17,-4178.01 10642,-3991.6 10931.09,-3883.56 11581.83,-3364.68 11684,-3073.46 11725.39,-2955.48 11746.77,-2839.74 11630,-2590.75 11620.78,-2571.1 11611.34,-2571.05 11597,-2554.75 11534.21,-2483.41 11464.95,-2486.26 11459,-2391.41"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_support_pkgbuild_pkgbuild_generator -->
<g id="edge471" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_support_pkgbuild_pkgbuild_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10425,-4245.67C10441.35,-4243.51 10425.81,-4221.21 10439,-4211.32 10501.02,-4164.8 10710.8,-4194.15 10786,-4175.32 11037.91,-4112.24 11093.16,-4067.55 11327,-3954.6 11501.07,-3870.51 11552.95,-3859.27 11706,-3741.18 11781.28,-3683.08 11983,-3456.46 11983,-3438.66 11983,-3438.66 11983,-3438.66 11983,-3233.17 11983,-3165.47 12131.28,-2712.22 12148,-2646.62 12158.34,-2606.03 12164.3,-2596.37 12169,-2554.75 12173.26,-2516.97 12180.22,-2505.53 12169,-2469.19 12168.52,-2467.65 12039.5,-2277.88 12038,-2277.28"/>
<path fill="none" stroke="black" d="M12038,-2275.28C11942.88,-2232.37 11910.19,-2245.37 11814,-2204.92 11807.96,-2202.38 11801.77,-2199.53 11795.64,-2196.54"/>
<polygon fill="#d10505" stroke="black" points="11797.6,-2193.11 11787.1,-2191.75 11794.46,-2199.36 11797.6,-2193.11"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_tree -->
<g id="edge472" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_tree</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7824,-4245.67C7806.88,-4242.28 7819.85,-4220.48 7805,-4211.32 7719.35,-4158.49 6999.56,-4189.99 6900,-4175.32 6512.16,-4118.15 6420.24,-4071.36 6046,-3954.6 5940.69,-3921.74 5921.3,-3890.04 5813,-3869.04 5560.9,-3820.15 4913.45,-3859.28 4658,-3833.04 3809.65,-3745.88 3613.05,-3616.42 2768,-3501.59 2544.21,-3471.18 2275.13,-3449.99 2166.75,-3442.09"/>
<polygon fill="#d10505" stroke="black" points="2167.08,-3438.53 2156.85,-3441.3 2166.57,-3445.51 2167.08,-3438.53"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_upload_github -->
<g id="edge473" 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="M9285.72,-4332C9293.91,-4326.4 9303.4,-4321.04 9313,-4318.03 9469.52,-4268.91 10625.99,-4300.47 10789,-4282.03 11025.16,-4255.32 11087.26,-4249.67 11313,-4175.32 11987.18,-3953.26 12100.75,-3762.16 12761,-3501.59 12808.85,-3482.71 12828.48,-3494.55 12871,-3465.59 12914.79,-3435.76 12913.36,-3414.67 12947,-3373.73 13087.42,-3202.86 13163.3,-3167.86 13211,-2951.9 13316.54,-2474.04 13112.19,-2302.35 12789,-1934.87"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_upload_rsync -->
<g id="edge474" 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="M9251,-4054.53C9327.28,-3973.16 10124.08,-3867.94 10230,-3833.04 10555.1,-3725.91 11409.02,-3375.53 11570,-3073.46 11618.07,-2983.25 11498.05,-2787.75 11490,-2774.48 11433.08,-2680.64 11413.31,-2655.92 11325,-2590.75 11294.28,-2568.08 11267.58,-2586.92 11247,-2554.75 11226.51,-2522.72 11243.87,-2507.09 11247,-2469.19 11255.47,-2366.69 11267.45,-2342.26 11285,-2240.92 11291,-2206.32 11297.87,-2198.25 11299,-2163.14"/>
<path fill="none" stroke="black" d="M11299,-2161.14C11290.63,-2060.05 11261.27,-2036.02 11269,-1934.87"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_upload_s3 -->
<g id="edge475" 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="M10197,-3804.11C10371.32,-3388.77 10881.32,-3671.03 11047,-3252.17 11107.53,-3099.14 10837.41,-2714.53 10798,-2554.75 10764.76,-2419.98 10793.66,-2053.15 10721,-1934.87"/>
<path fill="none" stroke="black" d="M10721,-1932.87C10680.19,-1875.07 10560.12,-1872.83 10608,-1820.74"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_aur_package -->
<g id="edge476" 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="M7824,-4245.67C7806.87,-4242.36 7819.89,-4220.41 7805,-4211.32 7793.88,-4204.54 6121.08,-4159.29 5776.6,-4150.04"/>
<polygon fill="#d10505" stroke="black" points="5776.94,-4146.52 5766.85,-4149.75 5776.75,-4153.52 5776.94,-4146.52"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_build_status -->
<g id="edge477" 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="M9286.42,-4332.13C9294.49,-4326.67 9303.74,-4321.37 9313,-4318.03 9451.37,-4268.16 10488.06,-4217.38 10629,-4175.32 10743.76,-4141.08 11481.93,-3738.96 11589,-3685.31 11616.05,-3671.76 11646.43,-3656.81 11670.81,-3644.89"/>
<polygon fill="#d10505" stroke="black" points="11672.07,-3647.68 11679.51,-3640.14 11668.99,-3641.39 11672.07,-3647.68"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_counters -->
<g id="edge478" 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="M9286.04,-4332C9294.18,-4326.48 9303.55,-4321.16 9313,-4318.03 9449.92,-4272.71 9817.08,-4291.36 9961,-4282.03 10167.35,-4268.66 10220,-4274.82 10425,-4247.67"/>
<path fill="none" stroke="black" d="M10425,-4245.67C10552.63,-4228.78 10584.76,-4218.62 10706,-4175.32 10830.57,-4130.83 11700.64,-3759.39 11774,-3649.31 11789.72,-3625.73 11791.19,-3593.36 11789.16,-3568.37"/>
<polygon fill="#d10505" stroke="black" points="11792.54,-3568.05 11788.02,-3558.46 11785.58,-3568.77 11792.54,-3568.05"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_internal_status -->
<g id="edge479" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_models_internal_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7824,-4245.67C7683.41,-4218.4 8968.61,-4190.67 9111,-4175.32 9722.44,-4109.39 9896.66,-4158.09 10477,-3954.6 10628.26,-3901.56 10646.38,-3846.31 10791,-3777.18 11059.31,-3648.92 11141.82,-3652.58 11413,-3530.52"/>
<path fill="none" stroke="black" d="M11413,-3528.52C11465.1,-3497.44 11529.93,-3472.41 11575.68,-3456.74"/>
<polygon fill="#d10505" stroke="black" points="11576.66,-3459.77 11585.01,-3453.25 11574.42,-3453.14 11576.66,-3459.77"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_package -->
<g id="edge480" 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="M7824,-4245.67C7776.29,-4236.39 7836.88,-4065.94 7807,-4027.6 7538.64,-3683.22 7226.08,-3975.11 6876,-3714.24"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_package_description -->
<g id="edge481" 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="M7824,-4245.67C7822.95,-4245.47 7771.73,-4147.8 7743.01,-4092.91"/>
<polygon fill="#d10505" stroke="black" points="7745.66,-4091.43 7737.93,-4084.19 7739.46,-4094.67 7745.66,-4091.43"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_package_source -->
<g id="edge482" 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="M7824,-4245.67C7806.87,-4242.34 7819.77,-4220.6 7805,-4211.32 7684.57,-4135.66 7302.93,-4213.78 7166,-4175.32 7032.05,-4137.69 7023.43,-4067.02 6890,-4027.6 6705.23,-3973 6649.79,-4009.99 6458,-3991.6 6382.13,-3984.32 6179.62,-3998.05 6117,-3954.6 6082.03,-3930.34 6109.8,-3892.05 6074,-3869.04 5984.21,-3811.32 5218.84,-3853.09 5114,-3833.04 5107.16,-3831.73 5100.12,-3829.91 5093.2,-3827.84"/>
<polygon fill="#d10505" stroke="black" points="5094.78,-3824.35 5084.19,-3824.64 5092.65,-3831.02 5094.78,-3824.35"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_remote_source -->
<g id="edge483" 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="M7824,-4245.67C7806.87,-4242.34 7819.6,-4220.87 7805,-4211.32 7733.1,-4164.27 7505.23,-4186.29 7420,-4175.32 7346.74,-4165.89 7319.87,-4185.5 7256,-4148.39"/>
<path fill="none" stroke="black" d="M7256,-4146.39C7186.03,-4105.73 7192.68,-4058.79 7118,-4027.6 7026.25,-3989.28 6770.61,-4004.4 6672,-3991.6 6579.75,-3979.62 6550.79,-3992.85 6466,-3954.6 6410.18,-3929.41 6407.52,-3905.06 6358,-3869.04 6334.68,-3852.07 6325.77,-3851.96 6304,-3833.04 6291.9,-3822.52 6294.35,-3813.27 6280,-3806.11"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_web_views_api_swagger -->
<g id="edge484" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_web_views_api_swagger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9285.72,-4331.98C9293.91,-4326.38 9303.39,-4321.03 9313,-4318.03 9492.71,-4261.94 10820.61,-4308.54 11007,-4282.03 11321.24,-4237.33 11394.53,-4191.44 11693,-4083.46 12140.95,-3921.4 13292.93,-3509.62 13637,-3180.17 13801.17,-3022.97 14124.4,-2452.76 14042,-2240.92 14034.13,-2220.7 14021.69,-2222.53 14009,-2204.92 13961.9,-2139.56 13720.04,-1621.13 13657,-1570.96 13611.76,-1534.96 13586.37,-1554.63 13532,-1534.96 13421.08,-1494.84 13380.17,-1503.1 13289,-1428.25 13274.6,-1416.43 13279.53,-1405.55 13265,-1393.9"/>
</g>
<!-- ahriman_models -->
<g id="node141" class="node">
<title>ahriman_models</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f91010" stroke="black" cx="13351" cy="-4735.46" rx="49.54" ry="18"/>
<text text-anchor="middle" x="13351" y="-4731.21" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.models</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_ahriman -->
<g id="edge485" 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="M13301.23,-4734.45C12540.75,-4734.19 3313.45,-4729.45 2754,-4654.53"/>
<path fill="none" stroke="black" d="M2754,-4652.53C2504.93,-4619.18 502,-4695.04 502,-4443.74 502,-4443.74 502,-4443.74 502,-4146.39 502,-4131.38 295.48,-3663.29 290,-3649.31 258.57,-3569.22 253.84,-3547.96 229,-3465.59 176.49,-3291.46 158.48,-3249.29 112,-3073.46 93.82,-3004.7 76,-2988.66 76,-2917.54 76,-2917.54 76,-2917.54 76,-2808.83 76,-2620.26 0,-2579.98 0,-2391.41 0,-2391.41 0,-2391.41 0,-1712.03 0,-1612.18 40.77,-1594.04 76,-1500.61"/>
<path fill="none" stroke="black" d="M76,-1498.61C138.29,-1301.37 209.11,-1272.63 266,-1073.76"/>
<path fill="none" stroke="black" d="M266,-1071.76C276.09,-975.02 266,-950.18 266,-852.92 266,-852.92 266,-852.92 266,-218.08 266,-78.9 2549.92,-36.14 2943.57,-29.8"/>
<polygon fill="#f91010" stroke="black" points="2943.45,-33.29 2953.39,-29.63 2943.34,-26.29 2943.45,-33.29"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_application_application -->
<g id="edge486" 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="M456,-3804.11C427.03,-3728.72 456,-3703.15 456,-3622.38 456,-3622.38 456,-3622.38 456,-2617.69 456,-2549.34 472.08,-2533.22 496,-2469.19 539.45,-2352.92 913.66,-1566.52 984,-1464.25 1096.07,-1301.32 1150.76,-1281.49 1293,-1144.12 1342.45,-1096.36 1342.91,-1066.93 1405,-1037.41 1491.96,-996.05 1777.87,-976.48 1900.89,-969.81"/>
<polygon fill="#f91010" stroke="black" points="1900.77,-973.27 1910.57,-969.24 1900.4,-966.28 1900.77,-973.27"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge487" 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="M646,-3990.6C611.89,-3916.03 646,-3888.1 646,-3806.11 646,-3806.11 646,-3806.11 646,-3329.95 646,-3089.54 494,-3051.24 494,-2810.83 494,-2810.83 494,-2810.83 494,-2617.69 494,-2396.01 657.48,-2393.5 774,-2204.92 1000.95,-1837.64 1030.83,-1730.11 1249,-1357.54 1267.52,-1325.92 1273.04,-1318.55 1292,-1287.18"/>
<path fill="none" stroke="black" d="M1292,-1285.18C1299.1,-1272.69 1357.65,-1190.45 1368,-1180.47"/>
<path fill="none" stroke="black" d="M1368,-1178.47C1405.03,-1142.79 1537.96,-1109.12 1625.94,-1090"/>
<polygon fill="#f91010" stroke="black" points="1626.4,-1093.27 1635.44,-1087.75 1624.93,-1086.43 1626.4,-1093.27"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_application_application_properties -->
<g id="edge488" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_application_application_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1102,-4588.6C1091.39,-4562.72 1107.96,-4553 1102,-4525.67"/>
<path fill="none" stroke="black" d="M1102,-4523.67C1094.27,-4488.22 1067.7,-4492.41 1050,-4460.74 1009.05,-4387.48 1015.04,-4361.82 989,-4282.03 880.67,-3950.09 760,-3879.69 760,-3530.52 760,-3530.52 760,-3530.52 760,-2617.69 760,-2306.77 1273.57,-1855.55 1496,-1677.67 1777.46,-1452.59 2174.92,-1274.18 2332.17,-1208.12"/>
<polygon fill="#f91010" stroke="black" points="2333.3,-1211.02 2341.18,-1203.93 2330.6,-1204.57 2333.3,-1211.02"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge489" 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="M1102,-4352.39C1081.97,-4263.96 1102,-4239.05 1102,-4148.39 1102,-4148.39 1102,-4148.39 1102,-3233.17 1102,-3160.1 1071.73,-3146 1063,-3073.46 1046.09,-2932.92 1069.21,-2725.74 1098,-2590.75 1158.23,-2308.37 1221.92,-2251.63 1310,-1976.65 1367.36,-1797.59 1374.79,-1750.7 1430,-1570.96 1459.23,-1475.8 1463.14,-1450.79 1498,-1357.54 1535.73,-1256.61 1523.86,-1204.65 1613,-1144.12 1680.85,-1098.04 1713.64,-1124.53 1794,-1108.12 1820.93,-1102.62 1850.32,-1096.5 1876.69,-1090.97"/>
<polygon fill="#f91010" stroke="black" points="1877.33,-1094.2 1886.4,-1088.72 1875.89,-1087.35 1877.33,-1094.2"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_add -->
<g id="edge490" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1985,-4441.74C2039.4,-4279.36 1994,-4227.78 1994,-4056.53 1994,-4056.53 1994,-4056.53 1994,-3990.6 1994,-3745.2 2126.52,-3707.96 2165,-3465.59 2193.26,-3287.59 2183.15,-3641.39 2050,-2845.19 2035.36,-2757.66 2032.79,-2735.28 2029,-2646.62 2023.33,-2513.85 1988.08,-2474.69 2027,-2347.63 2104.39,-2094.98 2224.12,-2081.72 2360,-1855.09 2525.47,-1579.12 2581.3,-1514.7 2698,-1214.83 2721.51,-1154.43 2716.57,-1135.9 2735,-1073.76"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge491" 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="M13351,-4652.53C13378.76,-4517.33 12862.2,-4595.24 12743,-4525.67"/>
<path fill="none" stroke="black" d="M12743,-4523.67C12588.34,-4434.8 12643.29,-4304.18 12491,-4211.32 12416.87,-4166.12 12381.54,-4202.25 12299,-4175.32 12244.22,-4157.45 12237.34,-4135.53 12182,-4119.46 12053.46,-4082.13 12013.89,-4111.46 11883,-4083.46 11694.56,-4043.14 11636.11,-4050.56 11469,-3954.6 11367.68,-3896.41 11372.65,-3841.34 11275,-3777.18 11020.54,-3609.98 10316.55,-3303.93 10025,-3216.17 9930.55,-3187.74 9875.73,-3249.94 9806,-3180.17 9710.81,-3084.93 9808.02,-3005.8 9757,-2881.19 9719.04,-2788.49 9523.4,-2609.6 9497,-2512.97"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge492" 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="M12477,-4352.39C12377.93,-4229.78 11961.02,-4152.99 11807,-4119.46 11725.15,-4101.64 11701.24,-4110.61 11622,-4083.46 11561.94,-4062.88 11422.79,-3984.9 11367,-3954.6 11300.57,-3918.52 11286.28,-3905.4 11220,-3869.04 10650.01,-3556.34 10522.97,-3435.61 9911,-3216.17 9846.46,-3193.03 9815.58,-3221.66 9761,-3180.17 9545.1,-3016.07 9557.99,-2901.36 9465,-2646.62 9348.58,-2327.68 9548.99,-2167.62 9352,-1891.09 9331.7,-1862.6 9305.79,-1880.74 9282,-1855.09 9223.78,-1792.33 9271.51,-1733.96 9207,-1677.67 8842.74,-1359.86 8025.28,-1859.01 8157,-1393.9"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_rebuild -->
<g id="edge493" 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="M2146,-4352.39C2075.92,-3946.71 2298,-3850.34 2298,-3438.66 2298,-3438.66 2298,-3438.66 2298,-2915.54 2298,-2709.41 2329.94,-2652.61 2424,-2469.19 2558.94,-2206.06 3069.24,-1659.94 3253,-1428.25 3377.76,-1270.95 3533,-1274.53 3533,-1073.76 3533,-1073.76 3533,-1073.76 3533,-965.05 3533,-849.3 3609.95,-729.69 3654.35,-670.32"/>
<polygon fill="#f91010" stroke="black" points="3657.66,-672.74 3660.92,-662.66 3652.08,-668.51 3657.66,-672.74"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_search -->
<g id="edge494" 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="M1102,-4588.6C1093.12,-4566.94 745.31,-4407.27 731,-4388.74 620.64,-4245.9 723.78,-4154.49 646,-3991.6"/>
<path fill="none" stroke="black" d="M646,-3990.6C618.08,-3947.89 576.18,-3987.28 537,-3954.6 479.27,-3906.44 484.29,-3875.76 456,-3806.11"/>
<path fill="none" stroke="black" d="M456,-3804.11C438.99,-3772.06 419.66,-3773.9 404,-3741.18 344.75,-3617.38 342,-3575.91 342,-3438.66 342,-3438.66 342,-3438.66 342,-3233.17 342,-3091.88 304,-3058.83 304,-2917.54 304,-2917.54 304,-2917.54 304,-2617.69 304,-2520.05 1008.76,-1110.93 1073,-1037.41 1325.02,-749 1488.51,-761.12 1867,-702.43 2082.79,-668.97 2149.44,-734.25 2357,-666.43 2361.21,-665.05 2365.43,-663.28 2369.55,-661.28"/>
<polygon fill="#f91010" stroke="black" points="2370.79,-664.06 2377.95,-656.25 2367.48,-657.88 2370.79,-664.06"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_service_updates -->
<g id="edge495" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_service_updates</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2754,-4652.53C2662.97,-4640.34 1139.99,-4673.22 1102,-4589.6"/>
<path fill="none" stroke="black" d="M1102,-4588.6C1070.96,-4520.26 1006.43,-4581.12 937,-4552.6 814.11,-4502.12 773.19,-4489.84 687,-4388.74 571.78,-4253.6 596.7,-4185.79 516,-4027.6 499.19,-3994.64 492.71,-3987.6 476,-3954.6 367.66,-3740.67 320.66,-3694.12 248,-3465.59 204.23,-3327.94 223.76,-3286.26 190,-3145.81"/>
<path fill="none" stroke="black" d="M190,-3143.81C179.47,-3106.38 152.95,-3109.35 138,-3073.46 111.05,-3008.74 114,-2987.66 114,-2917.54 114,-2917.54 114,-2917.54 114,-2808.83 114,-2620.26 38,-2579.98 38,-2391.41 38,-2391.41 38,-2391.41 38,-1712.03 38,-1529.87 347.51,-1146.29 380,-967.05"/>
<path fill="none" stroke="black" d="M380,-965.05C398.27,-773.12 655.75,-681.3 781.23,-647.75"/>
<polygon fill="#f91010" stroke="black" points="781.7,-650.98 790.49,-645.06 779.93,-644.21 781.7,-650.98"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_setup -->
<g id="edge496" 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="M12743,-4245.67C12715.53,-4212.29 12755.95,-4189.64 12743,-4148.39"/>
<path fill="none" stroke="black" d="M12743,-4146.39C12735.63,-4122.93 11937.21,-3843.6 11915,-3833.04 11768.31,-3763.22 11715.35,-3762.7 11599,-3649.31 11437.04,-3491.48 11474.31,-3391.92 11332,-3216.17 11224.92,-3083.93 11176.24,-3071.28 11055,-2951.9 10960.18,-2858.53 10936.37,-2835.22 10845,-2738.48 10819.38,-2711.35 10424.23,-2262.79 10394,-2240.92 10362.08,-2217.83 10335.72,-2237.11 10313,-2204.92 10269.56,-2143.38 10182.09,-923.28 10209,-852.92"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_status -->
<g id="edge497" 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="M190,-3143.81C139.85,-2915.71 267.76,-2849.83 228,-2619.69"/>
<path fill="none" stroke="black" d="M228,-2617.69C138.83,-2208.34 207.04,-2086.62 298,-1677.67 329.87,-1534.41 324.37,-1493.76 379,-1357.54 392.31,-1324.36 407.77,-1321.44 418,-1287.18"/>
<path fill="none" stroke="black" d="M418,-1285.18C456.86,-1062.98 523.05,-1010.97 684,-852.92"/>
<path fill="none" stroke="black" d="M684,-850.92C727.17,-794.46 747.98,-789.27 798,-738.78"/>
<path fill="none" stroke="black" d="M798,-736.78C842.05,-692.32 866.21,-698.43 920,-666.43 923.59,-664.29 927.3,-662.06 931.02,-659.81"/>
<polygon fill="#f91010" stroke="black" points="932.51,-662.39 939.24,-654.21 928.88,-656.41 932.51,-662.39"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_status_update -->
<g id="edge498" 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="M228,-2617.69C186.35,-2376.55 465.42,-1792.2 570,-1570.96 588.03,-1532.83 946.79,-959.07 978,-930.7 1065.89,-850.8 1106.71,-855.65 1216,-809.14 1349.69,-752.24 1382.37,-730.12 1525,-702.43 1832.55,-642.7 1927.21,-750.56 2229,-666.43 2234.18,-664.98 2239.41,-663.07 2244.53,-660.87"/>
<polygon fill="#f91010" stroke="black" points="2245.62,-663.77 2253.21,-656.37 2242.66,-657.42 2245.62,-663.77"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_triggers -->
<g id="edge499" 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="M2754,-4652.53C2600.82,-4632.02 2545.01,-4668.31 2412,-4589.6"/>
<path fill="none" stroke="black" d="M2412,-4588.6C2371.35,-4564.55 2347.56,-4583.7 2312,-4552.6 2301.84,-4543.72 2307.73,-4535.02 2298,-4525.67"/>
<path fill="none" stroke="black" d="M2298,-4523.67C2225.08,-4453.62 2165.45,-4453.61 2146,-4354.39"/>
<path fill="none" stroke="black" d="M2146,-4352.39C1962.41,-3975.09 2238.67,-3827.35 2198,-3409.73 2177.48,-3199.04 1976.32,-2668.73 2047,-2469.19 2141.06,-2203.64 2302.08,-2218.84 2446,-1976.65 2729.68,-1499.26 2935.51,-849.93 2987.92,-676.27"/>
<polygon fill="#f91010" stroke="black" points="2991.49,-677.58 2991.01,-667 2984.78,-675.57 2991.49,-677.58"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_update -->
<g id="edge500" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13400.64,-4734.44C13933.57,-4734.03 18578,-4726.52 18578,-4589.6 18578,-4589.6 18578,-4589.6 18578,-1498.61 18578,-1200.93 18456.2,-1145.24 18400,-852.92"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_users -->
<g id="edge501" 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="M17878,-3436.66C17902.65,-3262.3 18058.94,-3308.06 18180,-3180.17 18220.93,-3136.93 18235.36,-3127.2 18261,-3073.46 18332.33,-2923.96 18350,-2877.19 18350,-2711.55 18350,-2711.55 18350,-2711.55 18350,-2510.97 18350,-2308.92 18281.13,-2074.57 18249.98,-1978.93"/>
<polygon fill="#f91010" stroke="black" points="18253,-1977.9 18246.55,-1969.49 18246.35,-1980.09 18253,-1977.9"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_lock -->
<g id="edge502" 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="M12743,-4523.67C12681.82,-4478.77 12661.89,-4261.54 12605,-4211.32 12498.55,-4117.35 12436.23,-4155.95 12299,-4119.46 12259.87,-4109.05 11624.84,-3973.44 11589,-3954.6 11431.87,-3871.99 11438.85,-3787.94 11294,-3685.31 11223.61,-3635.44 11203.41,-3624.7 11123,-3593.45 11062.31,-3569.87 11040.72,-3583.39 10981,-3557.45 10777.96,-3469.26 10766.89,-3371.96 10562,-3288.17 10416.61,-3228.72 10371.34,-3239.41 10216,-3216.17 10172.85,-3209.72 9854.4,-3212.4 9825,-3180.17 9779.9,-3130.72 9855.36,-3098.39 9850,-3031.68"/>
<path fill="none" stroke="black" d="M9850,-3029.68C9844.14,-2979.02 9779.81,-2861.81 9781,-2810.83"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core -->
<g id="edge503" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13301.33,-4734.37C12728.11,-4733.24 7373.13,-4721.61 6672,-4681.46 6601.81,-4677.44 6521.08,-4667.95 6470.3,-4661.38"/>
<polygon fill="#f91010" stroke="black" points="6470.99,-4657.81 6460.62,-4659.99 6470.08,-4664.75 6470.99,-4657.81"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_alpm_pacman -->
<g id="edge504" 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="M6686,-4652.53C6474.55,-4635.91 6965.26,-4602.53 7123,-4460.74 7266.7,-4331.57 7244.88,-4252.2 7339,-4083.46 7370.75,-4026.54 7383.95,-4014.77 7409,-3954.6 7489.43,-3761.39 7622.78,-3282.4 7650,-3073.46 7665.11,-2957.5 7638.47,-2927.69 7634,-2810.83"/>
<path fill="none" stroke="black" d="M7634,-2808.83C7635.97,-2710.7 7737.44,-2717.27 7748,-2619.69"/>
<path fill="none" stroke="black" d="M7748,-2617.69C7749.23,-2597.71 7746.35,-2575.82 7742.63,-2557.25"/>
<polygon fill="#f91010" stroke="black" points="7745.89,-2556.78 7740.37,-2547.74 7739.05,-2558.25 7745.89,-2556.78"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_alpm_remote_aur -->
<g id="edge505" 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="M6686,-4652.53C6493.41,-4639.16 5902.86,-4544.63 5870,-4354.39"/>
<path fill="none" stroke="black" d="M5870,-4352.39C5808.45,-4231.38 5774.6,-4190.9 5794,-4056.53"/>
<path fill="none" stroke="black" d="M5794,-4054.53C5799.37,-4022.3 5833.84,-4024.22 5832,-3991.6"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_alpm_remote_official -->
<g id="edge506" 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="M1102,-4523.67C1085.79,-4450.2 1120.27,-4427.37 1102,-4354.39"/>
<path fill="none" stroke="black" d="M1102,-4352.39C1095.93,-4328.69 1078.27,-4333.1 1059,-4318.03 1038.28,-4301.82 1024.88,-4304.97 1012,-4282.03 962.66,-4194.15 1025.48,-4150.09 988,-4056.53"/>
<path fill="none" stroke="black" d="M988,-4054.53C972.7,-4021.63 950.01,-4025.06 936,-3991.6 802.27,-3672.18 847.69,-3562.24 860,-3216.17 868.45,-2978.58 790.09,-2894.45 898,-2682.62 965.58,-2549.95 1122.91,-2454.04 1199.93,-2413.23"/>
<polygon fill="#f91010" stroke="black" points="1201.12,-2416.03 1208.36,-2408.3 1197.87,-2409.83 1201.12,-2416.03"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_alpm_remote_official_syncdb -->
<g id="edge507" 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="M988,-4054.53C965.69,-3995.63 988,-3975.8 988,-3912.82 988,-3912.82 988,-3912.82 988,-3804.11 988,-3593.58 950,-3542.48 950,-3331.95 950,-3331.95 950,-3331.95 950,-3233.17 950,-2893.44 1475.98,-2952.13 1406,-2619.69"/>
<path fill="none" stroke="black" d="M1406,-2617.69C1392.11,-2586.51 1372.85,-2587.11 1362,-2554.75 1350.09,-2519.22 1348.87,-2476.88 1350.48,-2444.21"/>
<polygon fill="#f91010" stroke="black" points="1354.02,-2444.72 1351.13,-2434.52 1347.03,-2444.29 1354.02,-2444.72"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_alpm_remote_remote -->
<g id="edge508" 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="M13351,-4652.53C13357.87,-4625.42 13361.35,-4615.59 13351,-4589.6"/>
<path fill="none" stroke="black" d="M13351,-4588.6C13329.59,-4534.84 13280.56,-4563.78 13237,-4525.67"/>
<path fill="none" stroke="black" d="M13237,-4523.67C13190.43,-4482.93 13168.5,-4485.67 13123,-4443.74"/>
<path fill="none" stroke="black" d="M13123,-4441.74C13019.62,-4346.48 12928.84,-4442.12 12819,-4354.39"/>
<path fill="none" stroke="black" d="M12819,-4352.39C12774.07,-4316.5 12774.84,-4295.56 12743,-4247.67"/>
<path fill="none" stroke="black" d="M12743,-4245.67C12662.46,-4124.53 12577.95,-4168.53 12441,-4119.46 12201.57,-4033.67 12120.73,-4067.85 11893,-3954.6 11640.76,-3829.15 11569.5,-3781.7 11399,-3557.45 11287.08,-3410.25 11302.66,-3335.03 11161,-3216.17 11053.09,-3125.63 10138.84,-2741.77 10011,-2682.62 9976.35,-2666.58 9963.1,-2670.1 9933,-2646.62 9903.96,-2623.96 9849.67,-2546.75 9835,-2512.97"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_alpm_repo -->
<g id="edge509" 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="M6686,-4652.53C6504.74,-4638.63 6909.6,-4611.05 7090,-4588.6 7301.86,-4562.24 7548,-4657.24 7548,-4443.74 7548,-4443.74 7548,-4443.74 7548,-4245.67 7548,-4188.57 7530.91,-4159.1 7572,-4119.46 7648.04,-4046.1 7735.52,-4161.28 7807,-4083.46 7934.81,-3944.31 7864,-3424.1 7864,-3235.17 7864,-3235.17 7864,-3235.17 7864,-3143.81 7864,-3073.89 7857.86,-3052.34 7885,-2987.9 7892.7,-2969.61 7926.84,-2932.4 7940,-2917.54"/>
<path fill="none" stroke="black" d="M7940,-2915.54C7993.31,-2853.19 8053.31,-2883.17 8092,-2810.83"/>
<path fill="none" stroke="black" d="M8092,-2808.83C8097.12,-2799.26 8052.13,-2625.55 8043,-2619.69"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_auth_auth -->
<g id="edge510" 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="M16245,-4054.53C16228.42,-3993.77 16245,-3975.8 16245,-3912.82 16245,-3912.82 16245,-3912.82 16245,-2510.97 16245,-2333.93 16265.85,-2269.49 16172,-2119.36 16129.78,-2051.82 16093.87,-2057.45 16028,-2012.65 15973.89,-1975.86 15919.94,-1998.08 15903,-1934.87"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_auth_mapping -->
<g id="edge511" 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="M16169,-3143.81C16159.82,-2979.8 16201.91,-2937.65 16183,-2774.48 16162.87,-2600.75 16093,-2566.3 16093,-2391.41 16093,-2391.41 16093,-2391.41 16093,-2275.28 16093,-2215.41 15935.75,-2117 15858.64,-2072.35"/>
<polygon fill="#f91010" stroke="black" points="15860.61,-2068.87 15850.2,-2066.92 15857.12,-2074.94 15860.61,-2068.87"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge512" 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="M15363,-3910.82C15319.2,-3657.27 15414.11,-3585.61 15371,-3331.95"/>
<path fill="none" stroke="black" d="M15371,-3329.95C15350.49,-3243.82 15295,-3234.35 15295,-3145.81 15295,-3145.81 15295,-3145.81 15295,-2709.55 15295,-2612.01 15212.48,-2374.59 15219,-2277.28"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge513" 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="M5794,-4054.53C5832.2,-3825.31 4919.42,-4012.67 4772,-3833.04 4728.99,-3780.63 4773.2,-3742.25 4810,-3685.31 4899.39,-3547.01 5278.52,-3305.68 5318,-3145.81"/>
<path fill="none" stroke="black" d="M5318,-3143.81C5330.17,-3074.77 5300.99,-3044.77 5342,-2987.9 5402.77,-2903.62 5451.14,-2913.15 5550,-2881.19 5650.96,-2848.55 5699.31,-2906.36 5786,-2845.19 5815.15,-2824.62 5802.7,-2803.1 5824,-2774.48 5858.49,-2728.12 5863.76,-2707.31 5916,-2682.62 6062.97,-2613.14 6135.11,-2720.35 6280,-2646.62 6294.29,-2639.34 6290.88,-2628.9 6304,-2619.69"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge514" 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="M12553,-4588.6C12521.01,-4581.96 12540.83,-4545.68 12515,-4525.67"/>
<path fill="none" stroke="black" d="M12515,-4523.67C12439.98,-4465.58 12400.74,-4491.55 12311,-4460.74 12225.59,-4431.42 12202.69,-4427.22 12121,-4388.74 12063.61,-4361.7 12056.42,-4340.25 11997,-4318.03 11920.58,-4289.46 11896.66,-4299.63 11817,-4282.03 11450.86,-4201.12 11358.43,-4183.36 10997,-4083.46 10811.26,-4032.12 10760.04,-4030.7 10583,-3954.6 10508.84,-3922.71 10341.37,-3806.1 10266,-3777.18 10198.36,-3751.21 10173.91,-3768.97 10107,-3741.18 9826.57,-3624.7 9759.06,-3574.21 9531,-3373.73 9352.43,-3216.75 9294.44,-3170.95 9202,-2951.9 9153.88,-2837.86 9173.18,-2798.98 9131,-2682.62 9115.64,-2640.24 9108.82,-2630.74 9088,-2590.75 9030.41,-2480.16 9019.45,-2449.82 8948,-2347.63 8924.62,-2314.19 8901.09,-2316.26 8889,-2277.28"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_configuration_configuration -->
<g id="edge515" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_configuration_configuration</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13351,-4652.53C13358.51,-4563.91 12640.12,-4607.51 12553,-4589.6"/>
<path fill="none" stroke="black" d="M12553,-4588.6C12430.1,-4563.34 12394.33,-4584.57 12273,-4552.6 12242.36,-4544.53 12238.51,-4528.97 12207,-4525.67"/>
<path fill="none" stroke="black" d="M12207,-4523.67C12144.85,-4517.17 12131.16,-4503.18 12069,-4496.74 11493.58,-4437.1 10044.04,-4483.7 9466,-4460.74 9285.75,-4453.58 7979.55,-4475.64 7846,-4354.39"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_migrations -->
<g id="edge516" 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="M13351,-4652.53C13378.75,-4517.38 13599.43,-4715.89 13655,-4589.6"/>
<path fill="none" stroke="black" d="M13655,-4588.6C13658.66,-4580.28 13580.81,-4452.65 13579,-4443.74"/>
<path fill="none" stroke="black" d="M13579,-4441.74C13538.53,-4358.42 13503,-4340.3 13503,-4247.67 13503,-4247.67 13503,-4247.67 13503,-3910.82 13503,-3538.25 13479.76,-3408.09 13257,-3109.46 13019.8,-2791.47 12559.81,-2590.91 12409.11,-2531.51"/>
<polygon fill="#f91010" stroke="black" points="12410.8,-2528.02 12400.22,-2527.64 12408.25,-2534.54 12410.8,-2528.02"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_operations_auth_operations -->
<g id="edge517" 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="M14699,-4352.39C14715.16,-4308.74 14707.46,-4293.44 14699,-4247.67"/>
<path fill="none" stroke="black" d="M14699,-4245.67C14693.21,-4214.32 14688.13,-4207.05 14685,-4175.32 14682.57,-4150.61 14684.89,-4144.29 14685,-4119.46 14686.78,-3701.99 14691.22,-3597.64 14693,-3180.17 14693.36,-3094.72 14713.93,-3070.75 14693,-2987.9 14675.35,-2918.02 14649.45,-2909.02 14616,-2845.19 14563.65,-2745.28 14504.24,-2627.41 14471.65,-2562.36"/>
<polygon fill="#f91010" stroke="black" points="14474.46,-2561.14 14466.85,-2553.77 14468.2,-2564.28 14474.46,-2561.14"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_operations_build_operations -->
<g id="edge518" 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="M13301.31,-4734.45C12785.25,-4734.2 8397.12,-4730.67 7089,-4681.46 6909.62,-4674.72 6864.97,-4668.42 6686,-4654.53"/>
<path fill="none" stroke="black" d="M6686,-4652.53C6589.99,-4645.08 6567.04,-4632.65 6471,-4625.6 6105.45,-4598.79 5185.42,-4637.23 4822,-4589.6 4753.06,-4580.57 4722.61,-4598.06 4670,-4552.6 4399.18,-4318.61 4368,-4164 4368,-3806.11 4368,-3806.11 4368,-3806.11 4368,-3712.24 4368,-3469.98 4750.32,-2943.39 4924,-2774.48 4970.65,-2729.11 4984.87,-2720.18 5038,-2682.62 5101.53,-2637.71 5113.29,-2615.63 5187,-2590.75 5341.03,-2538.76 5391.87,-2587.99 5551,-2554.75 5572.59,-2550.25 5595.65,-2543.44 5616.21,-2536.63"/>
<polygon fill="#f91010" stroke="black" points="5617.05,-2539.7 5625.4,-2533.18 5614.81,-2533.07 5617.05,-2539.7"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_operations_logs_operations -->
<g id="edge519" 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="M13351,-4588.6C13328.19,-4528.4 13351,-4508.12 13351,-4443.74 13351,-4443.74 13351,-4443.74 13351,-4352.39 13351,-4261.72 13386.4,-4231.86 13351,-4148.39"/>
<path fill="none" stroke="black" d="M13351,-4146.39C13303.01,-4048.61 13161,-4100.52 13161,-3991.6 13161,-3991.6 13161,-3991.6 13161,-3910.82 13161,-3679.82 13104.46,-3625.88 13023,-3409.73 12989.27,-3320.24 12978.52,-3297.98 12929,-3216.17 12908.87,-3182.91 12854.96,-3177.84 12877,-3145.81"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_operations_package_operations -->
<g id="edge520" 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="M12933,-4054.53C12813.68,-3815.23 12725.65,-3505.8 12693.42,-3384.25"/>
<polygon fill="#f91010" stroke="black" points="12696.59,-3383.54 12690.66,-3374.76 12689.82,-3385.32 12696.59,-3383.54"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_operations_patch_operations -->
<g id="edge521" 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="M13237,-4352.39C13204.75,-4267.65 13267.71,-4233.69 13237,-4148.39"/>
<path fill="none" stroke="black" d="M13237,-4146.39C13222.49,-4106.09 13194.27,-4113.77 13164,-4083.46 13125.95,-4045.36 13085,-4045.45 13085,-3991.6 13085,-3991.6 13085,-3991.6 13085,-3910.82 13085,-3194.28 12162.82,-2670.59 11915.45,-2543"/>
<polygon fill="#f91010" stroke="black" points="11917.39,-2539.55 11906.9,-2538.1 11914.2,-2545.78 11917.39,-2539.55"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_aur_printer -->
<g id="edge522" 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="M2754,-4652.53C2681.4,-4643.87 2640.78,-4651.59 2602,-4589.6"/>
<path fill="none" stroke="black" d="M2602,-4588.6C2589.31,-4568.33 2571.73,-4574.45 2562,-4552.6 2538.63,-4500.12 2558.31,-4477.52 2581,-4424.74 2603.02,-4373.51 2616.1,-4364.45 2647,-4318.03 2655.5,-4305.27 2957.99,-3880.65 2968,-3869.04 3006.35,-3824.55 3020.31,-3817.51 3063,-3777.18 3115.32,-3727.74 3257.98,-3615.17 3301,-3557.45 3380.66,-3450.59 3367.52,-3404.27 3433,-3288.17 3541.23,-3096.27 3521.57,-2984.79 3716,-2881.19 3845.82,-2812.02 3929.54,-2936.32 4045,-2845.19 4063.39,-2830.67 4109.16,-2669.03 4116,-2646.62 4124.93,-2617.36 4133.41,-2584.03 4139.67,-2557.97"/>
<polygon fill="#f91010" stroke="black" points="4143.31,-2558.81 4142.21,-2548.28 4136.5,-2557.2 4143.31,-2558.81"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_build_printer -->
<g id="edge523" 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="M2298,-4523.67C2002,-4245.45 2450,-4028.61 2450,-3622.38 2450,-3622.38 2450,-3622.38 2450,-3233.17 2450,-2972.9 2535.63,-2668.51 2569.99,-2556.87"/>
<polygon fill="#f91010" stroke="black" points="2573.53,-2558.26 2573.15,-2547.67 2566.84,-2556.19 2573.53,-2558.26"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_configuration_paths_printer -->
<g id="edge524" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_configuration_paths_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2716,-4523.67C2725.97,-4514.59 2722.62,-4508.04 2730,-4496.74 2847.84,-4316.29 3210.7,-3915.08 3338,-3741.18 3366.95,-3701.63 3378.25,-3693.71 3399,-3649.31 3469.87,-3497.65 3434.27,-3439.43 3506,-3288.17 3522.59,-3253.2 3527.5,-3243.41 3555,-3216.17 3575.49,-3195.87 3589.36,-3201.3 3609,-3180.17 3633.58,-3153.72 3623.9,-3135.41 3649,-3109.46 3784.4,-2969.49 3848.39,-2967.41 4023,-2881.19 4062.74,-2861.56 4083.71,-2875.55 4116,-2845.19 4206.68,-2759.93 4143.72,-2677.47 4233,-2590.75 4237.42,-2586.47 4293.75,-2562.8 4342.76,-2542.69"/>
<polygon fill="#f91010" stroke="black" points="4343.84,-2545.62 4351.76,-2538.59 4341.18,-2539.14 4343.84,-2545.62"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_configuration_printer -->
<g id="edge525" 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="M2754,-4652.53C2722.25,-4648.78 2769.01,-4615.04 2787,-4588.6 2857.37,-4485.19 3459.18,-3845.62 3528,-3741.18 3703.9,-3474.22 3659.93,-3348.68 3872,-3109.46 3972.03,-2996.62 3999.36,-2967.5 4123,-2881.19 4151.36,-2861.39 4169.51,-2871.47 4192,-2845.19 4269.62,-2754.5 4186.44,-2667.34 4278,-2590.75 4361.07,-2521.27 4415.85,-2587.77 4519,-2554.75 4527.64,-2551.99 4536.48,-2548.4 4545.01,-2544.48"/>
<polygon fill="#f91010" stroke="black" points="4546.35,-2547.24 4553.85,-2539.76 4543.32,-2540.93 4546.35,-2547.24"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_package_printer -->
<g id="edge526" 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="M2298,-4523.67C2244.33,-4470.95 2292.06,-4429.39 2298,-4354.39"/>
<path fill="none" stroke="black" d="M2298,-4352.39C2309.84,-4290.5 2296.87,-4272.48 2312,-4211.32 2326.74,-4151.77 2342.07,-4140.75 2364,-4083.46 2379.51,-4042.94 2383.26,-4032.74 2397,-3991.6 2582.5,-3436.11 2737.19,-2739.83 2776.4,-2558.04"/>
<polygon fill="#f91010" stroke="black" points="2780.03,-2558.82 2778.71,-2548.3 2773.18,-2557.34 2780.03,-2558.82"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_patch_printer -->
<g id="edge527" 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="M2754,-4652.53C2717.62,-4648.26 2687.1,-4622.06 2702,-4588.6 2719.27,-4549.81 2814.78,-4491.55 2844,-4460.74 2978.23,-4319.19 2996.49,-4270.45 3120,-4119.46 3120.41,-4118.96 3356.63,-3833.56 3357,-3833.04 3483.46,-3654.02 3481.21,-3587.08 3610,-3409.73 3714.07,-3266.42 3741.76,-3229.49 3872,-3109.46 4017.43,-2975.43 4118.07,-3008.23 4230,-2845.19 4259.41,-2802.34 4247.95,-2647.26 4292,-2619.69"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_printer -->
<g id="edge528" 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="M2602,-4588.6C2571.3,-4539.54 2679.65,-4570.71 2716,-4525.67"/>
<path fill="none" stroke="black" d="M2716,-4523.67C2730.6,-4505.58 2740.79,-4446.09 2750,-4424.74 2771.21,-4375.56 2778.9,-4364.23 2806,-4318.03 2889.38,-4175.85 2982,-4156.42 2982,-3991.6 2982,-3991.6 2982,-3991.6 2982,-3910.82 2982,-3903.42 3375.95,-3563.63 3380,-3557.45 3449.03,-3452.15 3410.9,-3400.39 3468,-3288.17 3485.9,-3252.99 3492.48,-3244.47 3520,-3216.17 3538.34,-3197.3 3549.53,-3199.84 3567,-3180.17 3571.12,-3175.53 3676.59,-2992.27 3681,-2987.9 3748.17,-2921.38 3776.08,-2913.29 3865,-2881.19 3955.3,-2848.58 4002.07,-2903.94 4078,-2845.19 4102.5,-2826.23 4175.38,-2616.9 4192,-2590.75 4201.33,-2576.07 4213.29,-2561.28 4224.51,-2548.59"/>
<polygon fill="#f91010" stroke="black" points="4226.64,-2551.35 4230.75,-2541.58 4221.45,-2546.66 4226.64,-2551.35"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_status_printer -->
<g id="edge529" 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="M2602,-4588.6C2529.83,-4452.61 2533.14,-4528.01 2911,-4119.46 3147.25,-3864.02 3301.24,-3869.08 3456,-3557.45 3528.26,-3411.94 3481.64,-3339.84 3587,-3216.17 3607.66,-3191.91 3621.72,-3196.63 3649,-3180.17 3863.22,-3050.89 3900.33,-2989.24 4126,-2881.19 4170.12,-2860.06 4188.02,-2870.29 4230,-2845.19 4373.18,-2759.55 4353.41,-2658.22 4506,-2590.75 4672.9,-2516.97 4742.76,-2615.04 4915,-2554.75 4921.82,-2552.37 4928.63,-2549.07 4935.11,-2545.37"/>
<polygon fill="#f91010" stroke="black" points="4936.63,-2547.93 4943.33,-2539.71 4932.97,-2541.96 4936.63,-2547.93"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_tree_printer -->
<g id="edge530" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_tree_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2298,-4352.39C2332.88,-4150.48 2443.47,-4139.85 2531,-3954.6 2782.52,-3422.27 2995.09,-2736.1 3048.87,-2557.19"/>
<polygon fill="#f91010" stroke="black" points="3052.45,-2558.45 3051.97,-2547.87 3045.74,-2556.44 3052.45,-2558.45"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_update_printer -->
<g id="edge531" 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="M2298,-4523.67C2278.39,-4502.42 3189.91,-2842.28 3347.84,-2555.07"/>
<polygon fill="#f91010" stroke="black" points="3351.17,-2557.27 3352.93,-2546.82 3345.04,-2553.9 3351.17,-2557.27"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_user_printer -->
<g id="edge532" 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="M2754,-4652.53C2656.22,-4640.92 3034.65,-4452.12 3110,-4388.74 3163.54,-4343.71 3530.12,-4014.65 3566,-3954.6 3673.06,-3775.4 3606.08,-3692.72 3690,-3501.59 3772.71,-3313.21 3801.75,-3265.36 3936,-3109.46 4037.66,-2991.41 4068.93,-2962.19 4202,-2881.19 4238.45,-2859 4256.44,-2870.22 4291,-2845.19 4410.91,-2758.35 4375.72,-2661.07 4506,-2590.75 4623.01,-2527.6 4679.56,-2604.17 4803,-2554.75 4808.84,-2552.42 4814.62,-2549.31 4820.11,-2545.84"/>
<polygon fill="#f91010" stroke="black" points="4821.77,-2548.26 4828.06,-2539.73 4817.83,-2542.48 4821.77,-2548.26"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_validation_printer -->
<g id="edge533" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_validation_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2412,-4588.6C2375.3,-4567.77 2420.38,-4535.94 2436,-4496.74 2501.37,-4332.72 3121.46,-3261.64 3211,-3109.46 3242.96,-3055.14 3248.14,-3039.72 3284,-2987.9 3352.84,-2888.4 3371.78,-2864.15 3453,-2774.48 3536.03,-2682.81 3550.66,-2644.6 3662,-2590.75 3727.23,-2559.21 3753.56,-2581.24 3821,-2554.75 3828.31,-2551.89 3835.75,-2548.35 3842.95,-2544.57"/>
<polygon fill="#f91010" stroke="black" points="3844.49,-2547.17 3851.58,-2539.29 3841.13,-2541.03 3844.49,-2547.17"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_version_printer -->
<g id="edge534" 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="M2754,-4652.53C2652.96,-4640.48 2588.76,-4645.84 2548,-4552.6 2505.41,-4455.18 2550.4,-4414.55 2595,-4318.03 2774.61,-3929.32 3281.44,-2952.35 3614,-2682.62 3742.95,-2578.03 3816.25,-2628.51 3965,-2554.75 3971.07,-2551.74 3977.28,-2548.29 3983.33,-2544.69"/>
<polygon fill="#f91010" stroke="black" points="3984.99,-2547.17 3991.68,-2538.96 3981.32,-2541.21 3984.99,-2547.17"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge535" 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="M2754,-4652.53C2114.22,-4574.43 3662.98,-4773.59 4180,-4388.74 4222.97,-4356.76 4218.22,-4332.55 4236,-4282.03 4353.65,-3947.78 4281.04,-3835.73 4399,-3501.59 4404.74,-3485.32 4480.3,-3297.34 4485,-3288.17 4557.04,-3147.63 4579.59,-3113.74 4675,-2987.9 4822.41,-2793.48 4830.6,-2688.85 5054,-2590.75 5124.58,-2559.76 5342.42,-2607.11 5399,-2554.75 5467.69,-2491.19 5388.53,-2427.7 5437,-2347.63 5447.66,-2330.03 5464.47,-2315.13 5480.69,-2303.65"/>
<polygon fill="#f91010" stroke="black" points="5482.27,-2306.12 5488.59,-2297.62 5478.35,-2300.32 5482.27,-2306.12"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge536" 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="M2754,-4652.53C2542.35,-4624.06 3025.4,-4631.13 3224,-4552.6 3473.2,-4454.06 3787.15,-4285.68 4040,-3991.6 4146.42,-3867.82 4592.98,-2799.43 4707,-2682.62 4727.41,-2661.71 4740.8,-2666.71 4762,-2646.62 4784.35,-2625.43 4776.09,-2605.73 4803,-2590.75 4892.59,-2540.89 5188.53,-2625.24 5263,-2554.75 5314.1,-2506.39 5288.97,-2309.44 5305,-2240.92 5317.21,-2188.73 5337.92,-2130.67 5352.68,-2092.23"/>
<polygon fill="#f91010" stroke="black" points="5356.13,-2094 5356.48,-2083.41 5349.6,-2091.47 5356.13,-2094"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge537" 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="M2754,-4652.53C2656.32,-4639.6 3104.7,-4608.27 3186,-4552.6 3210.78,-4535.64 3203.99,-4519.13 3224,-4496.74 3305.2,-4405.85 3339.36,-4397.23 3432,-4318.03 3684.81,-4101.87 3812.89,-4106.67 4002,-3833.04 4148.23,-3621.45 4069.85,-3511.75 4197,-3288.17 4260.13,-3177.17 4488.97,-2949.23 4563,-2845.19 4612.18,-2776.07 4602.35,-2741.93 4663,-2682.62 4685.51,-2660.6 4701.04,-2668.15 4724,-2646.62 4745.9,-2626.08 4736.02,-2605.82 4762,-2590.75 4851.27,-2538.98 5150.15,-2625.8 5225,-2554.75 5307.21,-2476.73 5210.67,-2128.96 5291,-2049.01"/>
<path fill="none" stroke="black" d="M5291,-2047.01C5302.46,-2033.85 5295.93,-2022.98 5310,-2012.65 5374.72,-1965.16 5410.85,-2002.06 5487,-1976.65 5496.64,-1973.44 5506.61,-1969.43 5516.22,-1965.17"/>
<polygon fill="#f91010" stroke="black" points="5517.43,-1968.01 5525.07,-1960.68 5514.52,-1961.64 5517.43,-1968.01"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_log_lazy_logging -->
<g id="edge538" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_log_lazy_logging</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13350.16,-4717.28C13349.57,-4701.07 13349.17,-4676.1 13351,-4654.53"/>
<path fill="none" stroke="black" d="M13351,-4652.53C13354.82,-4607.45 12584.06,-4593.76 12539,-4589.6 12385,-4575.4 12343.78,-4586.98 12193,-4552.6 12120.79,-4536.14 12108.92,-4509.68 12036,-4496.74 11614.02,-4421.88 8606.32,-4493.48 8179,-4460.74 7956.02,-4443.66 7827.38,-4557.81 7681,-4388.74 7629.39,-4329.13 7632.11,-4273.19 7681,-4211.32 7757.19,-4114.9 8100.73,-4116.84 8219,-4083.46 8395.91,-4033.53 8445.56,-4032.61 8612,-3954.6 8704.13,-3911.41 8748.11,-3916.72 8806,-3833.04 8836.64,-3788.74 8830,-3768.11 8830,-3714.24 8830,-3714.24 8830,-3714.24 8830,-3620.38 8830,-3318.99 8695.41,-2973.1 8644.87,-2853.85"/>
<polygon fill="#f91010" stroke="black" points="8647.81,-2852.83 8640.67,-2845.01 8641.38,-2855.58 8647.81,-2852.83"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_log_log -->
<g id="edge539" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_log_log</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12553,-4588.6C12436.23,-4564.6 12415.78,-4528.94 12301,-4496.74 12222.45,-4474.71 12200.57,-4478.77 12121,-4460.74 11455.61,-4309.95 11273.81,-4317.64 10633,-4083.46 10545.28,-4051.4 10521.18,-4044.19 10444,-3991.6 10327.7,-3912.35 10338.22,-3837.35 10211,-3777.18 10107.13,-3728.05 10066.68,-3768.18 9955,-3741.18 9713.49,-3682.77 9640.81,-3684.03 9427,-3557.45 9211.65,-3429.96 9170.93,-3370.98 9009,-3180.17 8983.45,-3150.07 8843.18,-2910.74 8817,-2881.19 8803.17,-2865.58 8785.74,-2850.53 8770.26,-2838.38"/>
<polygon fill="#f91010" stroke="black" points="8772.96,-2835.27 8762.9,-2831.94 8768.69,-2840.82 8772.96,-2835.27"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_console -->
<g id="edge540" 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="M6686,-4652.53C6555.45,-4641.95 6463.79,-4649.11 6420,-4525.67"/>
<path fill="none" stroke="black" d="M6420,-4523.67C6342.82,-4406.82 6268,-4387.71 6268,-4247.67 6268,-4247.67 6268,-4247.67 6268,-3990.6 6268,-3930.93 6260.55,-3902.29 6211,-3869.04 6077.61,-3779.52 5625.37,-3917.95 5489,-3833.04 5280.39,-3703.15 5284.76,-3507.79 5395,-3288.17 5495.21,-3088.55 5600.58,-3092.39 5798,-2987.9 5841.23,-2965.02 5857.77,-2972.78 5902,-2951.9 6066.42,-2874.28 6099.74,-2839.37 6251,-2738.48 6286.17,-2715.02 6289.79,-2700.71 6328,-2682.62 6384.9,-2655.67 6407.89,-2673.1 6465,-2646.62 6529.51,-2616.7 6539.29,-2597.66 6596,-2554.75 6644.01,-2518.44 6647.75,-2497.28 6701,-2469.19 6751,-2442.82 6782.3,-2472.44 6823,-2433.19 6837.1,-2419.6 6830,-2409.71 6837,-2391.41"/>
<path fill="none" stroke="black" d="M6837,-2389.41C6856.25,-2343.45 6844.64,-2326.53 6837,-2277.28"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_email -->
<g id="edge541" 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="M6686,-4652.53C6590.02,-4644.64 6567.04,-4632.66 6471,-4625.6 6289.78,-4612.29 5009.64,-4643.14 4836,-4589.6"/>
<path fill="none" stroke="black" d="M4836,-4588.6C4746.82,-4561.1 4684,-4537.06 4684,-4443.74 4684,-4443.74 4684,-4443.74 4684,-4245.67 4684,-3998.49 4520,-3961.43 4520,-3714.24 4520,-3714.24 4520,-3714.24 4520,-3620.38 4520,-3432.45 4925.46,-3102.41 5038,-2951.9 5061.2,-2920.87 5059.72,-2906.57 5089,-2881.19 5232.68,-2756.62 5289.24,-2747.48 5468,-2682.62 5538.97,-2656.87 5561.34,-2667.1 5634,-2646.62 5753.17,-2613.02 5825.32,-2655.71 5897,-2554.75 5950.3,-2479.68 5839.58,-2422.62 5893,-2347.63 6023.21,-2164.87 6266.72,-2365.85 6363,-2163.14"/>
<path fill="none" stroke="black" d="M6363,-2161.14C6414.78,-2048.48 6358.25,-1990.02 6433,-1891.09 6451.83,-1866.17 6482.26,-1848.48 6507.77,-1837.06"/>
<polygon fill="#f91010" stroke="black" points="6508.81,-1840 6516.62,-1832.85 6506.05,-1833.56 6508.81,-1840"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_html -->
<g id="edge542" 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="M2754,-4652.53C2750.65,-4652.08 3160.31,-4390.79 3163,-4388.74 3380.63,-4222.64 3421.27,-4161.98 3600,-3954.6 3882.66,-3626.62 3938.77,-3532.08 4191,-3180.17 4192.46,-3178.14 4390.07,-2882.78 4392,-2881.19 4424.02,-2854.89 4446.28,-2871.85 4478,-2845.19 4543.66,-2789.99 4524.75,-2746.49 4582,-2682.62 4625.43,-2634.16 4635.54,-2614.82 4696,-2590.75 4789.83,-2553.41 5076.63,-2625.18 5149,-2554.75 5235.83,-2470.26 5140.17,-2113.71 5207,-2012.65 5277.25,-1906.41 5427.35,-1853.18 5503.94,-1832.06"/>
<polygon fill="#f91010" stroke="black" points="5504.49,-1835.26 5513.24,-1829.29 5502.68,-1828.5 5504.49,-1835.26"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge543" 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="M4836,-4588.6C4737.64,-4550.56 4798,-4459.84 4798,-4354.39 4798,-4354.39 4798,-4354.39 4798,-4054.53 4798,-3953.8 4760.73,-3933.19 4750,-3833.04 4734.06,-3684.18 4740.94,-3634.41 4810,-3501.59 4981.37,-3172.03 5066.88,-3095.88 5370,-2881.19 5556.73,-2748.94 5622.89,-2737.59 5845,-2682.62 5932.06,-2661.07 6186.47,-2712.81 6247,-2646.62 6268.25,-2623.37 6273.05,-2512.16 6239,-2469.19 6204.94,-2426.22 6153.63,-2477.26 6121,-2433.19 6098.37,-2402.63 6098.72,-2378.45 6121,-2347.63 6150.89,-2306.29 6182.67,-2330.68 6230,-2311.63 6348.82,-2263.81 6424.82,-2280.12 6477,-2163.14"/>
<path fill="none" stroke="black" d="M6477,-2161.14C6501.27,-2114.45 6481.66,-2089.72 6515,-2049.01"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_remote_call -->
<g id="edge544" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_report_remote_call</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13351,-4652.53C13368.71,-4582.62 12774.1,-4610.23 12705,-4589.6"/>
<path fill="none" stroke="black" d="M12705,-4588.6C12649.19,-4571.94 12628.36,-4583.51 12579,-4552.6 12550.76,-4534.92 12555.72,-4516.64 12529,-4496.74 12524.32,-4493.26 12154.41,-4320.21 12149,-4318.03 12102.86,-4299.41 12089.98,-4298.4 12043,-4282.03 11954.76,-4251.29 11933.57,-4241.11 11845,-4211.32 11794.64,-4194.38 11780.33,-4195.06 11731,-4175.32 11678.62,-4154.35 11670.96,-4135.95 11617,-4119.46 11505.44,-4085.36 11471.84,-4103.98 11357,-4083.46 11291.27,-4071.71 10829.51,-3984.89 10770,-3954.6 10664.11,-3900.69 10667.97,-3844.41 10570,-3777.18 10248.21,-3556.32 10123.07,-3577.18 9790,-3373.73 9687.06,-3310.85 9676.2,-3271.48 9569,-3216.17 9525.53,-3193.74 9496.85,-3217.3 9465,-3180.17 9345.67,-3041.05 9463.35,-2942.87 9391,-2774.48 9377.32,-2742.65 9363.59,-2740.78 9345,-2711.55"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_report -->
<g id="edge545" 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="M6420,-4523.67C6280.05,-4217.69 6527.77,-4019.17 6294,-3777.18 6238.53,-3719.75 6190.01,-3775.66 6118,-3741.18 6060.24,-3713.52 6049.1,-3697.57 6007,-3649.31 5877.43,-3500.81 5836.82,-3398.35 5912,-3216.17 6000.71,-3001.2 6128.5,-3020.76 6281,-2845.19 6340.42,-2776.79 6329.72,-2734.49 6404,-2682.62 6448.95,-2651.22 6472.29,-2669.76 6522,-2646.62 6561.5,-2628.22 6825.68,-2468.66 6851,-2433.19 6902.17,-2361.51 6852.86,-2315.95 6899,-2240.92 6926.7,-2195.89 7001.44,-2214.53 6989,-2163.14"/>
<path fill="none" stroke="black" d="M6989,-2161.14C6973.56,-2102.91 6904.32,-2073.31 6856.37,-2059.53"/>
<polygon fill="#f91010" stroke="black" points="6857.45,-2055.92 6846.88,-2056.67 6855.61,-2062.68 6857.45,-2055.92"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_report_trigger -->
<g id="edge546" 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="M6686,-4652.53C6658.12,-4650.24 6683.99,-4617.5 6686,-4589.6"/>
<path fill="none" stroke="black" d="M6686,-4588.6C6691.23,-4516.08 6610,-4516.45 6610,-4443.74 6610,-4443.74 6610,-4443.74 6610,-4352.39 6610,-4152.67 6771.16,-4148.49 6819,-3954.6 6890.53,-3664.64 6672.03,-3580.53 6733,-3288.17 6745.71,-3227.21 6924.05,-2827.31 6957,-2774.48 6985.34,-2729.03 6997,-2720.36 7035,-2682.62 7052.69,-2665.05 7062.56,-2666.18 7078,-2646.62 7181.06,-2516.03 7174.09,-2462.12 7245,-2311.63 7275.79,-2246.3 7323.83,-2234.22 7311,-2163.14"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_telegram -->
<g id="edge547" 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="M5870,-4352.39C5832.93,-4269.64 5870,-4239.05 5870,-4148.39 5870,-4148.39 5870,-4148.39 5870,-3990.6 5870,-3930.93 5862.67,-3902.11 5813,-3869.04 5734.69,-3816.89 5032.1,-3900.96 4967,-3833.04 4949.82,-3815.11 4959.25,-3800.76 4967,-3777.18 5000.97,-3673.71 5465.45,-3058.92 5548,-2987.9 5651.19,-2899.12 5699.69,-2910.73 5819,-2845.19 5946.47,-2775.17 5966.03,-2731.52 6103,-2682.62 6249.96,-2630.15 6361.64,-2695.04 6430,-2554.75 6506.26,-2398.25 6407.48,-2334.36 6439,-2163.14"/>
<path fill="none" stroke="black" d="M6439,-2161.14C6435.53,-2094.92 6514.47,-1932.83 6566,-1891.09 6622.4,-1845.41 6707.23,-1829.39 6760.3,-1823.77"/>
<polygon fill="#f91010" stroke="black" points="6760.5,-1827.17 6770.12,-1822.72 6759.83,-1820.21 6760.5,-1827.17"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_repository_executor -->
<g id="edge548" 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="M12515,-4523.67C12461.96,-4479.48 12435.44,-4490.17 12373,-4460.74 12340.64,-4445.49 12334.63,-4436.94 12301,-4424.74 12235.74,-4401.06 12210.22,-4421.47 12149,-4388.74 12108.31,-4366.99 12114.48,-4338.22 12073,-4318.03 11980.76,-4273.13 11943.84,-4309.52 11845,-4282.03 11764.58,-4259.66 11750.74,-4236.02 11671,-4211.32 11488.06,-4154.65 11437.54,-4158.26 11250,-4119.46 10983.8,-4064.38 10908.28,-4067.5 10661,-3954.6 10594.67,-3924.31 10583.61,-3906.43 10521,-3869.04 10145.94,-3645.05 10035.31,-3616.31 9672,-3373.73 9642.42,-3353.98 9436.76,-3209.75 9417,-3180.17 9389.76,-3139.4 9400.81,-3121.05 9389,-3073.46 9367.86,-2988.28 9367.55,-2965.73 9344,-2881.19 9314.6,-2775.62 9299.48,-2751.59 9268,-2646.62 9184.04,-2366.63 9191.49,-2287.86 9093,-2012.65 9061.26,-1923.95 9077.45,-1878.47 9003,-1820.74"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_repository_repository -->
<g id="edge549" 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="M12515,-4441.74C12483.97,-4412.94 12505.73,-4385.48 12477,-4354.39"/>
<path fill="none" stroke="black" d="M12477,-4352.39C12446.53,-4319.41 12571.57,-4348.61 11688,-4119.46 11620.38,-4101.92 11602.39,-4101.87 11535,-4083.46 10946.86,-3922.73 10817.52,-3821.6 10268,-3557.45 10102.52,-3477.91 10060.15,-3459.85 9898,-3373.73 9829.88,-3337.55 9814.53,-3325.44 9747,-3288.17 9687.81,-3255.5 9673.42,-3246.5 9613,-3216.17 9579.24,-3199.22 9560.67,-3208.78 9536,-3180.17 9413.12,-3037.68 9491.49,-2946.38 9415,-2774.48 9395.56,-2730.79 9388.02,-2720.62 9359,-2682.62 9345.64,-2665.12 9333.14,-2667.06 9325,-2646.62 9262.87,-2490.64 9422.07,-2027.37 9324,-1891.09 9285.4,-1837.45 9194.95,-1886.8 9193,-1820.74"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge550" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6686,-4652.53C6488.17,-4636.35 6930.84,-4611.5 7128,-4588.6 7218.85,-4578.05 7467.03,-4610.3 7538,-4552.6 7660.93,-4452.65 7562.29,-4348.83 7641,-4211.32 7668.63,-4163.04 7679.14,-4149.42 7726,-4119.46 7769.69,-4091.52 7791.24,-4107.87 7837,-4083.46 7945.26,-4025.72 8054,-4035.51 8054,-3912.82 8054,-3912.82 8054,-3912.82 8054,-3233.17 8054,-3031.35 8239.36,-2519.9 8395,-2391.41"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_repository_update_handler -->
<g id="edge551" 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="M6686,-4588.6C6690.41,-4564.42 6710.38,-4569.74 6728,-4552.6 6985.13,-4302.5 7126.19,-4283.21 7270,-3954.6 7442.93,-3559.44 7227.03,-3399.51 7356,-2987.9 7428.66,-2755.99 7472.92,-2700.91 7627,-2512.97"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_sign_gpg -->
<g id="edge552" 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="M13237,-4523.67C13181.37,-4473.01 13263.77,-4424.7 13237,-4354.39"/>
<path fill="none" stroke="black" d="M13237,-4352.39C13199.44,-4234.32 13047,-4272.29 13047,-4148.39 13047,-4148.39 13047,-4148.39 13047,-3990.6 13047,-3544.38 13204.14,-3382.6 12996,-2987.9 12984.69,-2966.45 12973.17,-2967.95 12955,-2951.9 12713.01,-2738.1 12697.03,-2620.93 12412,-2469.19 12355.29,-2439 12334.07,-2449.79 12272,-2433.19 11905.71,-2335.25 11804.33,-2339.86 11450,-2204.92 11435.66,-2199.46 11420.47,-2192.43 11406.97,-2185.7"/>
<polygon fill="#f91010" stroke="black" points="11408.97,-2182.28 11398.47,-2180.87 11405.8,-2188.52 11408.97,-2182.28"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_status_client -->
<g id="edge553" 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="M12705,-4588.6C12607.25,-4547.12 12603.77,-4502.02 12515,-4443.74"/>
<path fill="none" stroke="black" d="M12515,-4441.74C12433.37,-4368.21 12400.87,-4363.8 12301,-4318.03 12057.12,-4206.27 11990.36,-4188.02 11731,-4119.46 11645.37,-4096.82 11618.67,-4112.52 11535,-4083.46 11510.65,-4075 10737.22,-3662.38 10715,-3649.31 10675.71,-3626.21 10671.69,-3609.42 10629,-3593.45 10521.38,-3553.2 10481.67,-3594.76 10373,-3557.45 10310.7,-3536.06 10175.49,-3438.01 10116,-3409.73 10075.6,-3390.52 10061.7,-3394.36 10022,-3373.73 9910.74,-3315.92 9903.2,-3265.64 9788,-3216.17 9720.23,-3187.07 9692.53,-3212.01 9626,-3180.17 9623.51,-3178.98 9621.04,-3177.62 9618.61,-3176.14"/>
<polygon fill="#f91010" stroke="black" points="9620.75,-3172.69 9610.5,-3170 9616.83,-3178.49 9620.75,-3172.69"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_status_watcher -->
<g id="edge554" 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="M14459,-4588.6C14613.68,-4424.67 14839.77,-4643.06 14945,-4443.74"/>
<path fill="none" stroke="black" d="M14945,-4441.74C14954.45,-4420.6 14869,-4270.83 14869,-4247.67 14869,-4247.67 14869,-4247.67 14869,-4054.53 14869,-3689.98 14907,-3599.72 14907,-3235.17 14907,-3235.17 14907,-3235.17 14907,-3143.81 14907,-3022.7 14640.38,-2484.26 14625,-2469.19 14595.98,-2440.78 14572.74,-2458.54 14541,-2433.19 14406.26,-2325.64 14426.33,-2249.29 14313,-2119.36 14216.66,-2008.91 14181.39,-1991.9 14075,-1891.09 14024.62,-1843.36 14017.11,-1825.23 13961,-1784.38 13675.59,-1576.61 13567.35,-1584.94 13251,-1428.25 13222.77,-1414.27 13213.83,-1413.28 13189,-1393.9"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_status_web_client -->
<g id="edge555" 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="M12819,-4352.39C12712.21,-4251.43 12845.67,-4144.79 12757,-4027.6 12551.89,-3756.51 12400.12,-3777.77 12073,-3685.31 11984.35,-3660.26 11722.25,-3717.23 11660,-3649.31 11643.22,-3631.01 11656.43,-3618.02 11660,-3593.45 11672,-3510.94 11712.2,-3491.89 11698,-3409.73 11673.87,-3270.13 11650.73,-3237.93 11591,-3109.46 11583.19,-3092.66 11577.65,-3090.33 11570,-3073.46 11561.91,-3055.62 11570.22,-3045.14 11556,-3031.68"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_support_keyring_trigger -->
<g id="edge556" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_support_keyring_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13655,-4588.6C13710.6,-4500.49 13665,-4458.58 13665,-4354.39 13665,-4354.39 13665,-4354.39 13665,-4245.67 13665,-3314.73 13763.52,-2848.3 13058,-2240.92 12967.08,-2162.66 12927.44,-2166.22 12817,-2119.36 12799.26,-2111.84 12180.8,-1895.33 12162,-1891.09 11953.58,-1844.09 11700.05,-1828.14 11581.77,-1823.01"/>
<polygon fill="#f91010" stroke="black" points="11582.23,-1819.49 11572.09,-1822.56 11581.93,-1826.48 11582.23,-1819.49"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_support_package_creator -->
<g id="edge557" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_support_package_creator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13579,-4441.74C13546.61,-4361.8 13579,-4333.93 13579,-4247.67 13579,-4247.67 13579,-4247.67 13579,-4146.39 13579,-4041.21 13541,-4017.99 13541,-3912.82 13541,-3912.82 13541,-3912.82 13541,-3528.52 13541,-3070.56 13468.09,-2881.17 13114,-2590.75 13042.18,-2531.85 13028.07,-2508.7 12944,-2469.19 12848.11,-2424.14 12587.23,-2366.62 12483,-2347.63 12406.08,-2333.62 12198.23,-2354.75 12133,-2311.63 12118.44,-2302.01 12129.56,-2285.17 12114,-2277.28"/>
<path fill="none" stroke="black" d="M12114,-2275.28C12097.32,-2267 12104.19,-2252.98 12090,-2240.92 12061.82,-2216.98 12041.38,-2230.83 12015,-2204.92 11984.63,-2175.11 12005.12,-2146.1 11972,-2119.36 11915.46,-2073.72 11832.61,-2057.38 11773.22,-2051.69"/>
<polygon fill="#f91010" stroke="black" points="11773.68,-2048.13 11763.42,-2050.74 11773.07,-2055.1 11773.68,-2048.13"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_support_pkgbuild_mirrorlist_generator -->
<g id="edge558" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_support_pkgbuild_mirrorlist_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13351,-4146.39C13326.22,-4082.21 13351,-4060.39 13351,-3991.6 13351,-3991.6 13351,-3991.6 13351,-3620.38 13351,-3391.85 13487.98,-3323.91 13409,-3109.46 13278.76,-2755.8 13189.96,-2638 12853,-2469.19 12724.25,-2404.7 12665.89,-2483.61 12531,-2433.19 12468.28,-2409.75 12469.66,-2371.24 12407,-2347.63 12278.44,-2299.19 12217.91,-2382.13 12100,-2311.63 12084.01,-2302.08 12092.19,-2286.48 12076,-2277.28"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_support_pkgbuild_pkgbuild_generator -->
<g id="edge559" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_support_pkgbuild_pkgbuild_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13237,-4146.39C13209.38,-4044.91 13275,-4017.99 13275,-3912.82 13275,-3912.82 13275,-3912.82 13275,-3436.66 13275,-3329.06 13220.78,-3313.55 13175,-3216.17 13035.91,-2920.28 12983.5,-2854.53 12853,-2554.75 12836.73,-2517.39 12852.57,-2493.69 12820,-2469.19 12746.37,-2413.82 12480.63,-2488.57 12407,-2433.19 12374.43,-2408.7 12406.23,-2372.58 12374,-2347.63 12263.62,-2262.19 12181.87,-2383.16 12062,-2311.63 12046,-2302.09 12054.98,-2284.94 12038,-2277.28"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_tree -->
<g id="edge560" 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="M1102,-4588.6C914.56,-4522.24 1898.35,-4622.71 1985,-4443.74"/>
<path fill="none" stroke="black" d="M1985,-4441.74C1999.74,-4397.72 1929.07,-4420.27 1895,-4388.74 1881.33,-4376.09 1882.71,-4368.87 1871,-4354.39"/>
<path fill="none" stroke="black" d="M1871,-4352.39C1783.3,-4243.87 1766,-4196.06 1766,-4056.53 1766,-4056.53 1766,-4056.53 1766,-3620.38 1766,-3485.59 1972.31,-3450.68 2069.04,-3441.72"/>
<polygon fill="#f91010" stroke="black" points="2069.33,-3445.12 2079,-3440.77 2068.73,-3438.14 2069.33,-3445.12"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_triggers_trigger -->
<g id="edge561" 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="M6686,-4588.6C6686,-4515.9 6749.49,-4515.36 6762,-4443.74"/>
<path fill="none" stroke="black" d="M6762,-4441.74C6763.56,-4417.43 6751.14,-4412.9 6748,-4388.74 6743.95,-4357.58 6742.18,-4348.91 6748,-4318.03 6780.11,-4147.61 6827.47,-4116.35 6890,-3954.6 6973.9,-3737.56 7010.07,-3688.44 7077,-3465.59 7123.64,-3310.31 7106.6,-3263.88 7156,-3109.46 7205.27,-2955.44 7222.16,-2917.29 7298,-2774.48 7316.96,-2738.77 7466.62,-2496.97 7496,-2469.19 7519.44,-2447.04 7533.84,-2453.37 7559,-2433.19 7578.58,-2417.49 7581.34,-2411.03 7597,-2391.41"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_triggers_trigger_loader -->
<g id="edge562" 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="M6762,-4441.74C6813.3,-4212.69 6911.49,-4182.91 6966,-3954.6 7000.38,-3810.61 6990,-3770.42 6990,-3622.38 6990,-3622.38 6990,-3622.38 6990,-3528.52 6990,-3240.57 6914.04,-3150.11 7017,-2881.19 7073.08,-2734.7 7154.23,-2740.72 7254,-2619.69"/>
<path fill="none" stroke="black" d="M7254,-2617.69C7261.68,-2606.59 7261.56,-2602.61 7268,-2590.75 7297.67,-2536.17 7291.17,-2511.13 7337,-2469.19 7365.47,-2443.15 7393.69,-2464.68 7416,-2433.19 7438.58,-2401.32 7440.22,-2356.08 7437.31,-2322.53"/>
<polygon fill="#f91010" stroke="black" points="7440.69,-2322.23 7436.18,-2312.64 7433.73,-2322.95 7440.69,-2322.23"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_upload_github -->
<g id="edge563" 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="M14046,-4352.39C13986.29,-4282.1 14008,-4240.61 14008,-4148.39 14008,-4148.39 14008,-4148.39 14008,-3990.6 14008,-3928.46 13885.74,-2940.11 13866,-2881.19 13796.21,-2672.91 13742.99,-2629.67 13593,-2469.19 13231.15,-2082.05 12686.34,-1727.44 12535.15,-1632.25"/>
<polygon fill="#f91010" stroke="black" points="12537.5,-1628.97 12527.17,-1626.62 12533.78,-1634.9 12537.5,-1628.97"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_upload_remote_service -->
<g id="edge564" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_upload_remote_service</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13351,-4652.53C13381.28,-4533 14396.66,-4695.99 14459,-4589.6"/>
<path fill="none" stroke="black" d="M14459,-4588.6C14485.67,-4543.09 14084.48,-4390.48 14046,-4354.39"/>
<path fill="none" stroke="black" d="M14046,-4352.39C13889.75,-4216.47 13775,-4005.34 13775,-3806.11 13775,-3806.11 13775,-3806.11 13775,-3233.17 13775,-3034.31 13460.88,-2597.56 13309,-2469.19 12949.69,-2165.51 12800.86,-2159.78 12354,-2012.65 12273.61,-1986.19 12246.36,-2006.07 12167,-1976.65 12158.92,-1973.66 12150.69,-1969.82 12142.8,-1965.7"/>
<polygon fill="#f91010" stroke="black" points="12144.84,-1962.28 12134.39,-1960.55 12141.48,-1968.42 12144.84,-1962.28"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_upload_rsync -->
<g id="edge565" 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="M13123,-4441.74C13112.71,-4432.61 13125.68,-4330.05 13119,-4318.03 13104.98,-4292.82 13084.79,-4303.01 13065,-4282.03 12985.32,-4197.55 12992.97,-4155.98 12933,-4056.53"/>
<path fill="none" stroke="black" d="M12933,-4054.53C12900.96,-4005.47 12870.83,-4008.13 12847,-3954.6 12725.59,-3681.8 12932.89,-3533.02 12762,-3288.17 12569.53,-3012.41 11732.99,-2711.17 11419,-2590.75 11359.42,-2567.9 11319.06,-2605.22 11280,-2554.75 11256.72,-2524.68 11278.82,-2507.2 11280,-2469.19 11284.22,-2332.98 11305.15,-2299.29 11299,-2163.14"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_upload_s3 -->
<g id="edge566" 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="M12743,-4146.39C12730.14,-4086.7 12720.75,-4066.87 12674,-4027.6 12487.79,-3871.15 11823.49,-3816.66 11647,-3649.31 11582.5,-3588.16 11592.55,-3551.02 11568,-3465.59 11538.33,-3362.35 11572.31,-3061.43 11494,-2987.9 11429.58,-2927.42 11167.01,-3007.08 11098,-2951.9 11048.88,-2912.63 11030.84,-2742.29 11011,-2682.62 10979.37,-2587.49 10974.55,-2562.54 10938,-2469.19 10891.17,-2349.59 10862.71,-2326.41 10821,-2204.92 10792.4,-2121.62 10808.67,-2093.18 10773,-2012.65 10756.16,-1974.63 10744.98,-1968.84 10721,-1934.87"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_upload_upload -->
<g id="edge567" 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="M13123,-4441.74C13081.81,-4403.79 13135.7,-4360.34 13099,-4318.03 13066.95,-4281.08 13034.97,-4310.22 12995,-4282.03 12898.88,-4214.25 12744.06,-3955.19 12664,-3869.04 12484.73,-3676.12 12418.1,-3649.92 12230,-3465.59 11884.06,-3126.59 11818.09,-3021.45 11472,-2682.62 11429.11,-2640.62 11425.29,-2620.22 11373,-2590.75 11322.26,-2562.16 11289.55,-2594.52 11247,-2554.75 11199.11,-2510 11153.2,-2342.53 11147,-2277.28"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_upload_upload_trigger -->
<g id="edge568" 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="M1871,-4352.39C1794.8,-4243.21 1918,-4189.67 1918,-4056.53 1918,-4056.53 1918,-4056.53 1918,-3804.11 1918,-3617.86 2096.68,-3638.85 2165,-3465.59 2260.99,-3222.19 2165.76,-3133.23 2236,-2881.19 2294.84,-2670.06 2338.73,-2609.62 2507,-2469.19 2747.41,-2268.57 3458.07,-1910.67 3758,-1820.74"/>
<path fill="none" stroke="black" d="M3758,-1818.74C3893.16,-1761.8 4337.72,-1728.67 4505.83,-1717.92"/>
<polygon fill="#f91010" stroke="black" points="4505.97,-1721.35 4515.73,-1717.23 4505.53,-1714.37 4505.97,-1721.35"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_util -->
<g id="edge569" 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="M12207,-4523.67C12144.86,-4517.05 12131.07,-4503.97 12069,-4496.74 11460.2,-4425.83 9896.42,-4576.59 9313,-4388.74 9306.93,-4386.79 9300.9,-4383.91 9295.21,-4380.64"/>
<polygon fill="#f91010" stroke="black" points="9297.34,-4377.22 9287.01,-4374.86 9293.62,-4383.15 9297.34,-4377.22"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge570" 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="M17745,-4588.6C17782.38,-4451.66 18461,-3672.47 18461,-3530.52 18461,-3530.52 18461,-3530.52 18461,-3436.66 18461,-3307.39 18464,-3275.09 18464,-3145.81 18464,-3145.81 18464,-3145.81 18464,-2275.28 18464,-1819.14 18585.01,-1668.65 18402,-1250.83 18359.79,-1154.46 18283.18,-1056.68 18239.28,-1004.84"/>
<polygon fill="#f91010" stroke="black" points="18241.42,-1002.95 18232.27,-997.62 18236.1,-1007.5 18241.42,-1002.95"/>
</g>
<!-- ahriman_web_schemas_package_status_schema -->
<g id="node192" class="node">
<title>ahriman_web_schemas_package_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#822b2b" stroke="black" cx="14648" cy="-1179.47" rx="88.21" ry="35.36"/>
<text text-anchor="middle" x="14648" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14648" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="14648" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="14648" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package_status_schema</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_schemas_package_status_schema -->
<g id="edge571" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_schemas_package_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15371,-3329.95C15357.1,-3249.3 15371,-3227.65 15371,-3145.81 15371,-3145.81 15371,-3145.81 15371,-2808.83 15371,-2517.42 15257,-2454.56 15257,-2163.14 15257,-2163.14 15257,-2163.14 15257,-2047.01 15257,-1977.2 15287.06,-1940.76 15238,-1891.09 15153.54,-1805.59 15053.03,-1941.98 14970,-1855.09 14794.8,-1671.76 15073.77,-1484.91 14915,-1287.18"/>
</g>
<!-- ahriman_web_schemas_remote_schema -->
<g id="node197" class="node">
<title>ahriman_web_schemas_remote_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#ac2b2b" stroke="black" cx="14788" cy="-1392.9" rx="60.63" ry="35.36"/>
<text text-anchor="middle" x="14788" y="-1404.4" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14788" y="-1393.9" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="14788" y="-1383.4" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="14788" y="-1372.9" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote_schema</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_schemas_remote_schema -->
<g id="edge572" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_schemas_remote_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15287,-3804.11C15146.02,-3620.58 15169.34,-3002.7 15131,-2774.48 15093.89,-2553.61 15049,-2501.24 15049,-2277.28 15049,-2277.28 15049,-2277.28 15049,-2047.01 15049,-1937.78 14803.34,-1746 14771,-1641.67 14749.77,-1573.18 14763.3,-1489.12 14775.38,-1438.61"/>
<polygon fill="#f91010" stroke="black" points="14778.99,-1439.61 14778,-1429.06 14772.2,-1437.92 14778.99,-1439.61"/>
</g>
<!-- ahriman_web_schemas_status_schema -->
<g id="node199" class="node">
<title>ahriman_web_schemas_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c11515" stroke="black" cx="15204" cy="-1286.18" rx="58.51" ry="35.36"/>
<text text-anchor="middle" x="15204" y="-1297.68" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15204" y="-1287.18" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15204" y="-1276.68" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="15204" y="-1266.18" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status_schema</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_schemas_status_schema -->
<g id="edge573" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_schemas_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16207,-4523.67C16210.67,-4488.34 16225.82,-4473.87 16207,-4443.74"/>
<path fill="none" stroke="black" d="M16207,-4441.74C16129.33,-4317.38 15666.8,-4446.84 15553,-4354.39"/>
<path fill="none" stroke="black" d="M15553,-4352.39C15477.9,-4291.38 15477,-4245.14 15477,-4148.39 15477,-4148.39 15477,-4148.39 15477,-3804.11 15477,-3377.62 15449,-3271.6 15441,-2845.19 15440.41,-2813.77 15436.66,-2805.6 15441,-2774.48 15450.87,-2703.64 15485,-2691.21 15485,-2619.69 15485,-2619.69 15485,-2619.69 15485,-2275.28 15485,-1967.82 15305,-1914.78 15305,-1607.32 15305,-1607.32 15305,-1607.32 15305,-1498.61 15305,-1433.75 15265.82,-1367.67 15236.27,-1327.05"/>
<polygon fill="#f91010" stroke="black" points="15238.52,-1325.22 15229.75,-1319.28 15232.91,-1329.39 15238.52,-1325.22"/>
</g>
<!-- ahriman_web_views_api_docs -->
<g id="node203" class="node">
<title>ahriman_web_views_api_docs</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#913030" stroke="black" cx="17934" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="17934" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="17934" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="17934" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="17934" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">api.</text>
<text text-anchor="middle" x="17934" y="-826.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">docs</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_api_docs -->
<g id="edge574" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_api_docs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17745,-4441.74C17666.2,-3998.98 17747.2,-3868.93 17878,-3438.66"/>
<path fill="none" stroke="black" d="M17878,-3436.66C17891.02,-3341.84 17802,-3330.88 17802,-3235.17 17802,-3235.17 17802,-3235.17 17802,-3143.81 17802,-2955.96 17973,-1650.7 17996,-1464.25 18001.86,-1416.78 17997.78,-1403.79 18010,-1357.54 18027.48,-1291.35 18048.41,-1280.43 18068,-1214.83 18104.13,-1093.82 18138.49,-1032.68 18064,-930.7 18043.21,-902.23 18008.55,-882.25 17980.24,-869.67"/>
<polygon fill="#f91010" stroke="black" points="17981.71,-866.07 17971.14,-865.37 17978.97,-872.51 17981.71,-866.07"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_api_swagger -->
<g id="edge575" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_api_swagger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14459,-4523.67C14430.88,-4396.2 14653.67,-4476.79 14699,-4354.39"/>
<path fill="none" stroke="black" d="M14699,-4352.39C14707.55,-4321.67 14689.77,-4313.55 14685,-4282.03 14606.68,-3763.96 14685.13,-3618.98 14563,-3109.46 14515.63,-2911.83 14480.77,-2868.67 14399,-2682.62 14349.19,-2569.28 14325.92,-2546.04 14275,-2433.19 14146.95,-2149.43 14201.4,-2030.69 14011,-1784.38 13998.87,-1768.7 13884.67,-1688.41 13868,-1677.67 13806.04,-1637.75 13357.92,-1377.63 13287,-1357.54 13207.69,-1335.07 12602.86,-1381.22 12546,-1321.54 12502.24,-1275.6 12541.68,-1092 12574,-1037.41 12585.85,-1017.39 12596.93,-1019.14 12612,-1001.41 12636.6,-972.46 12626.55,-948.69 12660,-930.7 12800.97,-854.88 15391.74,-952.52 15541,-894.7 15544.95,-893.17 15548.79,-891.14 15552.45,-888.8"/>
<polygon fill="#f91010" stroke="black" points="15554.14,-891.17 15560.16,-882.45 15550.02,-885.51 15554.14,-891.17"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_base -->
<g id="edge576" 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="M16207,-4441.74C16186.43,-4408.81 16215.73,-4392.22 16207,-4354.39"/>
<path fill="none" stroke="black" d="M16207,-4352.39C16040.02,-3628.54 15561,-3553.69 15561,-2810.83 15561,-2810.83 15561,-2810.83 15561,-2389.41 15561,-2069.85 15586.31,-1987.9 15663,-1677.67 15682.94,-1597.01 15707.51,-1582.24 15723,-1500.61"/>
<path fill="none" stroke="black" d="M15723,-1498.61C15724.94,-1475.42 15703.8,-1407.04 15723,-1393.9"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_index -->
<g id="edge577" 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="M13400.79,-4734.38C13778.08,-4733.68 16191.79,-4727.42 16921,-4681.46 17104.88,-4669.88 17722.63,-4772.48 17745,-4589.6"/>
<path fill="none" stroke="black" d="M17745,-4588.6C17768.78,-4566.9 17751.43,-4475.28 17745,-4443.74"/>
<path fill="none" stroke="black" d="M17745,-4441.74C17721.03,-4352.27 17669,-4340.3 17669,-4247.67 17669,-4247.67 17669,-4247.67 17669,-2510.97 17669,-2283.62 17809.94,-1727.08 17830,-1500.61"/>
</g>
<!-- ahriman_web_views_service_add -->
<g id="node208" class="node">
<title>ahriman_web_views_service_add</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="16478" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="16478" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16478" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="16478" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="16478" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="16478" y="-826.67" 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="edge578" 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="M16312,-4352.39C16679.16,-3567.5 17365,-3578.06 17365,-2711.55 17365,-2711.55 17365,-2711.55 17365,-2510.97 17365,-2370.87 17456.66,-1383.29 17411,-1250.83 17371.75,-1136.96 17337.25,-1113.63 17244,-1037.41 17216.3,-1014.77 17201.4,-1021.8 17172,-1001.41 17134.09,-975.11 17138.38,-948.93 17096,-930.7 16862.41,-830.23 16759.72,-992.5 16525,-894.7 16521.14,-893.09 16517.39,-891.03 16513.79,-888.69"/>
<polygon fill="#f91010" stroke="black" points="16516.34,-885.48 16506.21,-882.38 16512.19,-891.12 16516.34,-885.48"/>
</g>
<!-- ahriman_web_views_service_pgp -->
<g id="node209" class="node">
<title>ahriman_web_views_service_pgp</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="16572" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="16572" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16572" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="16572" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="16572" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="16572" y="-826.67" 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="edge579" 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="M13400.77,-4734.1C13873.54,-4730.5 17555,-4698.95 17555,-4589.6"/>
<path fill="none" stroke="black" d="M17555,-4588.6C17567.91,-4574.35 17540.78,-4569.16 17531,-4552.6 17524.14,-4540.99 17523.27,-4537.61 17517,-4525.67"/>
<path fill="none" stroke="black" d="M17517,-4523.67C17478.65,-4450.66 17441,-4436.86 17441,-4354.39 17441,-4354.39 17441,-4354.39 17441,-2617.69 17441,-2262.87 17488,-2175.55 17488,-1820.74 17488,-1820.74 17488,-1820.74 17488,-1498.61 17488,-1337.84 17635.85,-1285.87 17560,-1144.12 17539.84,-1106.44 17280.53,-944.27 17240,-930.7 17108.92,-886.81 16746.73,-947.54 16619,-894.7 16615.14,-893.1 16611.38,-891.05 16607.78,-888.71"/>
<polygon fill="#f91010" stroke="black" points="16610.33,-885.5 16600.2,-882.41 16606.19,-891.15 16610.33,-885.5"/>
</g>
<!-- ahriman_web_views_service_process -->
<g id="node210" class="node">
<title>ahriman_web_views_service_process</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="16666" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="16666" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16666" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="16666" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="16666" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="16666" y="-826.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">process</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_service_process -->
<g id="edge580" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_service_process</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17517,-4523.67C17486.32,-4454.97 17517,-4429.62 17517,-4354.39 17517,-4354.39 17517,-4354.39 17517,-2709.55 17517,-2666.02 17599.8,-1184.67 17584,-1144.12 17534.79,-1017.77 17491,-983.24 17366,-930.7 17259.01,-885.73 16959.77,-911.94 16845,-894.7 16799.62,-887.88 16748.74,-875.54 16712.86,-866.03"/>
<polygon fill="#f91010" stroke="black" points="16714.26,-862.51 16703.69,-863.3 16712.44,-869.27 16714.26,-862.51"/>
</g>
<!-- ahriman_web_views_service_rebuild -->
<g id="node211" class="node">
<title>ahriman_web_views_service_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="16892" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="16892" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16892" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="16892" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="16892" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="16892" y="-826.67" 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="edge581" 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="M17555,-4588.6C17599.68,-4539.26 17593,-4510.3 17593,-4443.74 17593,-4443.74 17593,-4443.74 17593,-2808.83 17593,-2709.8 17850.51,-1117.31 17792,-1037.41 17689.7,-897.72 17113.6,-862.27 16940.92,-854.73"/>
<polygon fill="#f91010" stroke="black" points="16941.28,-851.2 16931.14,-854.27 16940.98,-858.19 16941.28,-851.2"/>
</g>
<!-- ahriman_web_views_service_remove -->
<g id="node212" class="node">
<title>ahriman_web_views_service_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="15776" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="15776" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15776" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15776" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="15776" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="15776" y="-826.67" 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="edge582" 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="M14945,-4441.74C15064.75,-4238.74 14983,-4148.5 14983,-3912.82 14983,-3912.82 14983,-3912.82 14983,-3436.66 14983,-3182.81 14947.69,-3115.49 14850,-2881.19 14772.47,-2695.25 14784.77,-2628.15 14661,-2469.19 14645.48,-2449.26 14634.43,-2451.49 14617,-2433.19 14506.74,-2317.47 14274.61,-1990.08 14189,-1855.09 14169.89,-1824.96 14176.46,-1809.38 14151,-1784.38 14126.04,-1759.87 14106.73,-1772.09 14081,-1748.38 14053.78,-1723.3 14060.79,-1706.03 14037,-1677.67 13991.33,-1623.26 13977.15,-1610.3 13918,-1570.96 13733.69,-1448.37 13679.02,-1424.37 13468,-1357.54 13378.14,-1329.08 13351.22,-1341.03 13259,-1321.54 13058.74,-1279.21 12769,-1338.21 12834,-1144.12 12871.73,-1031.45 12889,-984.38 12995,-930.7 13130.51,-862.06 15587.37,-949.62 15729,-894.7 15732.95,-893.17 15736.79,-891.14 15740.45,-888.8"/>
<polygon fill="#f91010" stroke="black" points="15742.14,-891.17 15748.16,-882.45 15738.02,-885.51 15742.14,-891.17"/>
</g>
<!-- ahriman_web_views_service_request -->
<g id="node213" class="node">
<title>ahriman_web_views_service_request</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="15870" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="15870" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15870" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15870" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="15870" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="15870" y="-826.67" 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="edge583" 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="M13351,-4652.53C13370.5,-4575.55 16198.8,-4604.66 16207,-4525.67"/>
<path fill="none" stroke="black" d="M16207,-4523.67C16222.04,-4372.98 15666.58,-4470.34 15539,-4388.74 15427.46,-4317.4 15439.72,-4256.3 15363,-4148.39"/>
<path fill="none" stroke="black" d="M15363,-4146.39C15196.34,-3945.29 15097,-3883.56 15097,-3622.38 15097,-3622.38 15097,-3622.38 15097,-3233.17 15097,-2839.74 14862.8,-2799.01 14718,-2433.19 14664.07,-2296.95 14691.47,-2245.56 14617,-2119.36 14501.95,-1924.41 14404.17,-1929.22 14268,-1748.38 14212.05,-1674.08 14230.52,-1627.94 14157,-1570.96 14117.01,-1539.97 14096.23,-1553.1 14049,-1534.96 13975.66,-1506.8 13960.13,-1492.96 13887,-1464.25 13753.32,-1411.78 13718.89,-1400.98 13582,-1357.54 13361.73,-1287.64 13221.19,-1399.31 13082,-1214.83 13044.14,-1164.66 13080.7,-1135.59 13092,-1073.76"/>
<path fill="none" stroke="black" d="M13092,-1071.76C13101.38,-878.02 13313.91,-963.96 13505,-930.7 13631.89,-908.61 15702.97,-941.4 15823,-894.7 15826.95,-893.16 15830.78,-891.13 15834.44,-888.79"/>
<polygon fill="#f91010" stroke="black" points="15836.14,-891.15 15842.16,-882.44 15832.02,-885.5 15836.14,-891.15"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_service_search -->
<g id="edge584" 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="M14046,-4352.39C13999.58,-4298.21 14117,-3785.59 14117,-3714.24 14117,-3714.24 14117,-3714.24 14117,-3329.95 14117,-3259.48 14085.72,-3247.52 14065,-3180.17 13952.32,-2813.94 13966.68,-2709.61 13841,-2347.63 13831.95,-2321.56 13663.21,-1911.84 13645,-1891.09 13491.76,-1716.49 12968.31,-1424.97 12746,-1357.54 12602.47,-1314 12208.11,-1384.57 12072,-1321.54 12003.28,-1289.72 11807.6,-1143.13 11838,-1073.76"/>
</g>
<!-- ahriman_web_views_service_update -->
<g id="node215" class="node">
<title>ahriman_web_views_service_update</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="16152" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="16152" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16152" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="16152" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="16152" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="16152" y="-826.67" 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="edge585" 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="M16207,-4352.39C16202.71,-4288.93 16218.76,-4273.73 16231,-4211.32 16236.52,-4183.2 16246.6,-4177 16245,-4148.39"/>
<path fill="none" stroke="black" d="M16245,-4146.39C16231.17,-4031.71 16131,-4028.33 16131,-3912.82 16131,-3912.82 16131,-3912.82 16131,-3804.11 16131,-3511.04 16184.23,-3438.48 16169,-3145.81"/>
<path fill="none" stroke="black" d="M16169,-3143.81C16163.76,-3112.91 16166.11,-3104.74 16164,-3073.46 16159.53,-3007.03 16176.83,-2832.95 16145,-2774.48 16023.12,-2550.58 15798.72,-2660.85 15684,-2433.19 15645.92,-2357.62 15683.96,-2284.81 15746,-2012.65 15769.36,-1910.15 15736.31,-1861.28 15808,-1784.38 15922.9,-1661.15 16375.73,-1614.99 16524,-1534.96 16655.86,-1463.78 16723.07,-1457.99 16785,-1321.54 16797.99,-1292.92 16790.73,-1281.73 16785,-1250.83 16775.73,-1200.87 16776.07,-1183.52 16744,-1144.12 16725.32,-1121.17 16707.31,-1130.54 16688,-1108.12 16654.06,-1068.72 16660.48,-1049.21 16640,-1001.41 16633.51,-986.25 16638.14,-978.21 16626,-967.05"/>
<path fill="none" stroke="black" d="M16626,-965.05C16460.89,-866.41 16374.79,-972.74 16199,-894.7 16195.18,-893 16191.45,-890.88 16187.87,-888.49"/>
<polygon fill="#f91010" stroke="black" points="16190.43,-885.29 16180.32,-882.12 16186.25,-890.9 16190.43,-885.29"/>
</g>
<!-- ahriman_web_views_service_upload -->
<g id="node216" class="node">
<title>ahriman_web_views_service_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="16246" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="16246" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16246" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="16246" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="16246" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="16246" y="-826.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_service_upload -->
<g id="edge586" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_service_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16245,-4146.39C16245.15,-4106.45 16256.27,-4094.84 16245,-4056.53"/>
<path fill="none" stroke="black" d="M16245,-4054.53C16000.22,-3222.45 16268.98,-5058.57 16879,-1534.96 16900.58,-1410.31 16900.67,-1371.28 16862,-1250.83 16846.32,-1201.98 16838.28,-1191.24 16818,-1144.12 16790.53,-1080.27 16781.34,-1065.32 16754,-1001.41 16747.51,-986.25 16755.05,-973.78 16740,-967.05"/>
<path fill="none" stroke="black" d="M16740,-965.05C16717.4,-953.2 16717.83,-939.82 16694,-930.7 16526.88,-866.74 16457.24,-965.71 16293,-894.7 16289.16,-893.04 16285.42,-890.94 16281.84,-888.58"/>
<polygon fill="#f91010" stroke="black" points="16284.39,-885.37 16274.27,-882.23 16280.22,-891 16284.39,-885.37"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge587" 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="M15553,-4352.39C15478.19,-4289.49 15538,-4010.56 15538,-3912.82 15538,-3912.82 15538,-3912.82 15538,-3804.11 15538,-3641.65 15530,-3601.12 15530,-3438.66 15530,-3438.66 15530,-3438.66 15530,-3329.95 15530,-3099.21 15523,-3041.57 15523,-2810.83 15523,-2810.83 15523,-2810.83 15523,-2389.41 15523,-1925.66 15331.3,-1665.55 15678,-1357.54 15741.37,-1301.25 16365.48,-1361.92 16440,-1321.54 16474.07,-1303.08 16464.53,-1279.13 16491,-1250.83 16524.5,-1215.02 16582.68,-1229.06 16576,-1180.47"/>
<path fill="none" stroke="black" d="M16576,-1178.47C16571.76,-1148.55 16461.07,-1108.77 16460,-1108.12 16415.4,-1080.84 16411.56,-1063.05 16366,-1037.41 16292.59,-996.09 16259.48,-1014.69 16190,-967.05"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_status_package -->
<g id="edge588" 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="M14383,-4441.74C14336.27,-4369.25 14383,-4333.93 14383,-4247.67 14383,-4247.67 14383,-4247.67 14383,-3528.52 14383,-2767.08 14239.71,-2561.67 13879,-1891.09 13801.36,-1746.76 13829.42,-1666.14 13696,-1570.96 13633.13,-1526.11 13598.8,-1560.74 13526,-1534.96 13427.69,-1500.14 13404.4,-1485.17 13317,-1428.25 13275.25,-1401.06 13276.45,-1375.58 13230,-1357.54 13101.97,-1307.83 12732.59,-1389.08 12613,-1321.54 12529.84,-1274.58 12293.45,-1024.16 12370,-967.05"/>
</g>
<!-- ahriman_web_views_status_packages -->
<g id="node220" class="node">
<title>ahriman_web_views_status_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="16343" cy="-851.92" rx="41.01" ry="42.78"/>
<text text-anchor="middle" x="16343" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16343" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="16343" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="16343" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="16343" y="-826.67" 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="edge589" 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="M16207,-4441.74C16174.84,-4390.25 16294.05,-4412.38 16312,-4354.39"/>
<path fill="none" stroke="black" d="M16312,-4352.39C16321.27,-4322.44 16308.11,-4313.36 16307,-4282.03 16305.89,-4250.62 16299.59,-4241.86 16307,-4211.32 16494.74,-3437.82 17128,-3415.64 17128,-2619.69 17128,-2619.69 17128,-2619.69 17128,-1818.74 17128,-1708.22 17125.85,-1679.03 17149,-1570.96 17157.79,-1529.96 17266.96,-1256.17 17274,-1214.83 17279.28,-1183.85 17289.49,-1171.46 17274,-1144.12 17250.7,-1102.99 16951.24,-944.38 16906,-930.7 16703.35,-869.41 16635.63,-949.01 16431,-894.7 16416.67,-890.89 16401.84,-884.8 16388.53,-878.42"/>
<polygon fill="#f91010" stroke="black" points="16390.19,-874.84 16379.67,-873.53 16387.07,-881.11 16390.19,-874.84"/>
</g>
<!-- ahriman_web_views_status_status -->
<g id="node221" class="node">
<title>ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="15400" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="15400" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15400" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15400" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="15400" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="15400" y="-826.67" 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="edge590" 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="M14459,-4588.6C14484.12,-4576.31 14465.03,-4552.98 14459,-4525.67"/>
<path fill="none" stroke="black" d="M14459,-4523.67C14448.44,-4475.8 14412.97,-4482.53 14383,-4443.74"/>
<path fill="none" stroke="black" d="M14383,-4441.74C14321.84,-4362.58 14269,-4347.71 14269,-4247.67 14269,-4247.67 14269,-4247.67 14269,-3329.95 14269,-3228.92 14143.73,-3270.26 14098,-3180.17 13954.36,-2897.19 14101.25,-2778.89 14032,-2469.19 14019.56,-2413.55 14029.86,-2389.36 13991,-2347.63 13962.76,-2317.31 13935.74,-2339.42 13905,-2311.63 13826.28,-2240.5 13736.38,-1980.33 13679,-1891.09 13614.3,-1790.48 13608.68,-1752.06 13515,-1677.67 13394.95,-1582.35 13337.26,-1605.2 13201,-1534.96 13145.29,-1506.25 13134.37,-1493.61 13079,-1464.25 12982.64,-1413.15 12963.64,-1384.68 12858,-1357.54 12785.04,-1338.8 12237.78,-1371.04 12181,-1321.54 12114.94,-1263.94 12066.37,-993.02 12128,-930.7 12190.99,-867 15269.44,-927 15353,-894.7 15356.95,-893.17 15360.79,-891.14 15364.45,-888.81"/>
<polygon fill="#f91010" stroke="black" points="15366.14,-891.18 15372.17,-882.46 15362.02,-885.52 15366.14,-891.18"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_user_login -->
<g id="edge591" 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="M14699,-4245.67C14688.47,-3966.35 14758.58,-3263.34 14711,-2987.9 14688.09,-2855.25 14652.63,-2628.84 14516,-2469.19 14495.03,-2444.69 14476.18,-2455.62 14453,-2433.19 14249.62,-2236.42 14270.06,-2130.4 14119,-1891.09 14088.85,-1843.34 14089.12,-1825.12 14050,-1784.38 14030.78,-1764.37 14020.04,-1766.46 13999,-1748.38 13965.93,-1719.97 13964.79,-1705.23 13931,-1677.67 13820.21,-1587.33 13510.6,-1396.32 13373,-1357.54 13251.48,-1323.29 12914.71,-1385.74 12806,-1321.54 12668.66,-1240.43 12609.59,-1042.74 12750,-967.05"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge592" 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="M15363,-4146.39C15317.14,-4053.26 15382.97,-4014.69 15363,-3912.82"/>
<path fill="none" stroke="black" d="M15363,-3910.82C15354.77,-3867.38 15325.09,-3870.11 15301,-3833.04 15293.65,-3821.72 15295.9,-3816.24 15287,-3806.11"/>
<path fill="none" stroke="black" d="M15287,-3804.11C15217.51,-3725 15135,-3727.68 15135,-3622.38 15135,-3622.38 15135,-3622.38 15135,-3233.17 15135,-3177.35 15019.18,-2558.62 14819,-2119.36 14767.83,-2007.09 14742.01,-1984.16 14661,-1891.09 14616.28,-1839.72 14608.67,-1820.63 14551,-1784.38 14511.71,-1759.69 14492.58,-1772.6 14453,-1748.38 14353.89,-1687.75 14358.07,-1634.81 14261,-1570.96 14065.6,-1442.44 13998.79,-1440.17 13780,-1357.54 13582.13,-1282.82 13451.14,-1385.35 13326,-1214.83 13305.49,-1186.88 13341.84,-1039.27 13344,-1037.41 13429.28,-964 15263.42,-1040.3 15369,-1001.41 15415.43,-984.3 15409.1,-949.19 15455,-930.7 15646.04,-853.74 15727.48,-975.32 15917,-894.7 15920.85,-893.06 15924.59,-890.98 15928.18,-888.62"/>
<polygon fill="#f91010" stroke="black" points="15929.79,-891.05 15935.76,-882.3 15925.63,-885.42 15929.79,-891.05"/>
</g>
<!-- ahriman_models_action -->
<g id="node142" class="node">
<title>ahriman_models_action</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#e72222" stroke="black" cx="13995" cy="-2276.28" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="13995" y="-2282.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13995" y="-2272.03" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="13995" y="-2261.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">action</text>
</g>
<!-- ahriman_models_action&#45;&gt;ahriman_application_ahriman -->
<g id="edge593" 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="M14027.66,-2261.58C14162.47,-2205.64 14689.86,-1992.69 15144,-1891.09 15277.2,-1861.29 15314.16,-1876.3 15449,-1855.09 15609.65,-1829.83 15646.49,-1803.4 15808,-1784.38 16205.57,-1737.56 16309.04,-1781.32 16708,-1748.38 17087.89,-1717.02 17184.39,-1712.14 17559,-1641.67 17849.95,-1586.94 17963.71,-1619.14 18190,-1428.25 18235.31,-1390.03 18242.4,-1374 18270,-1321.54 18443.82,-991.18 18406.51,-873.01 18462,-503.85 18476.32,-408.58 18482.15,-385.11 18500,-290.43 18505.91,-259.1 18508.57,-251.5 18514,-220.08"/>
<path fill="none" stroke="black" d="M18514,-218.08C18515.54,-186.61 18482.46,-191.76 18452,-183.72 18051.99,-78.16 4068.47,-32.29 3058.49,-29.11"/>
<polygon fill="#e72222" stroke="black" points="3058.56,-25.61 3048.54,-29.07 3058.53,-32.61 3058.56,-25.61"/>
</g>
<!-- ahriman_models_action&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge594" 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="M13956.8,-2274.52C13575.03,-2266.92 10460,-2204.92 10460,-2204.92 10424,-2182.23 10439.19,-2155.68 10417,-2119.36 10228.93,-1811.59 10196.45,-1715.84 9938,-1464.25 9698.81,-1231.41 9626.63,-1169.35 9320,-1037.41 8730.4,-783.7 8543.34,-822.87 7907,-738.78"/>
</g>
<!-- ahriman_models_action&#45;&gt;ahriman_application_handlers_status_update -->
<g id="edge595" 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="M13956.89,-2274.33C13771.09,-2269.73 12941.66,-2249.66 12262,-2240.92 12177.14,-2239.83 6225.26,-2247.76 6152,-2204.92 6117.35,-2184.66 5994.62,-1924.92 5973,-1891.09 5941.65,-1842.03 5944.26,-1818.4 5897,-1784.38 5765.02,-1689.37 5702.58,-1725.01 5547,-1677.67 5234.61,-1582.63 5158.52,-1551.97 4844,-1464.25 4103.18,-1257.63 3918.04,-1203.11 3167,-1037.41 2915.32,-981.88 2851.91,-968.76 2597,-930.7 2525.79,-920.07 2323,-948.36 2275,-894.7 2221.25,-834.61 2250.13,-732.62 2273.28,-675.02"/>
<polygon fill="#e72222" stroke="black" points="2276.77,-676.72 2277.36,-666.14 2270.31,-674.04 2276.77,-676.72"/>
</g>
<!-- ahriman_models_action&#45;&gt;ahriman_application_handlers_users -->
<g id="edge596" 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="M14032.18,-2269.51C14271.39,-2232.46 15589.56,-2028.8 15770,-2012.65 16259.69,-1968.85 17854.5,-1941.04 18177.6,-1935.78"/>
<polygon fill="#e72222" stroke="black" points="18177.61,-1939.27 18187.55,-1935.61 18177.5,-1932.27 18177.61,-1939.27"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_application_handlers_search -->
<g id="edge597" 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="M5664.41,-4144.25C5511.74,-4137.61 5042.23,-4115.83 4654,-4083.46 3660.88,-4000.64 3405.89,-3978.52 2438,-3741.18 2202.58,-3683.45 2146.58,-3658.22 1913,-3593.45 1705.22,-3535.84 1632.65,-3571.8 1445,-3465.59 1319.15,-3394.36 985.62,-2897.1 936,-2738.48 829.33,-2397.46 912,-2292.19 912,-1934.87 912,-1934.87 912,-1934.87 912,-1818.74 912,-1626.24 1141.48,-1164.56 1286,-1037.41 1372.12,-961.64 1412.2,-967.03 1521,-930.7 1696.46,-872.1 2196.81,-866.11 2331,-738.78"/>
<path fill="none" stroke="black" d="M2331,-736.78C2348.93,-715.5 2368.02,-690.92 2383.16,-670.93"/>
<polygon fill="#d10505" stroke="black" points="2386.38,-673.48 2389.6,-663.38 2380.79,-669.26 2386.38,-673.48"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_aur -->
<g id="edge598" 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="M5736,-4054.53C5707.18,-4012.43 5834.25,-4042.56 5832,-3991.6"/>
<path fill="none" stroke="black" d="M5832,-3990.6C5831.17,-3971.67 5819.5,-3954.97 5806.2,-3941.95"/>
<polygon fill="#d10505" stroke="black" points="5809,-3939.86 5799.25,-3935.72 5804.29,-3945.04 5809,-3939.86"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_official -->
<g id="edge599" 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="M5664.61,-4144.07C5541.81,-4138.03 5217.44,-4119.7 4949,-4083.46 4949,-4083.46 2160,-3557.45 2160,-3557.45 2134.88,-3541 2147.79,-3516.97 2122,-3501.59 1987.32,-3421.26 1916.64,-3523.73 1771,-3465.59 1607.69,-3400.4 1597.41,-3324.53 1497,-3180.17 1327.98,-2937.16 1334.6,-2843.17 1268,-2554.75 1259.54,-2518.12 1253.45,-2476.15 1249.52,-2443.92"/>
<polygon fill="#d10505" stroke="black" points="1252.92,-2443.9 1248.27,-2434.39 1245.97,-2444.73 1252.92,-2443.9"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_official_syncdb -->
<g id="edge600" 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="M5665.87,-4139.92C5507.82,-4118.72 4998.71,-4047.34 4584,-3954.6 4297.61,-3890.55 4234.86,-3839.06 3948,-3777.18 3849.75,-3755.98 2259.66,-3514.63 2160,-3501.59 2085.98,-3491.9 1886.92,-3508.74 1826,-3465.59 1687.12,-3367.21 1587.56,-2917.94 1496,-2774.48 1476.48,-2743.89 1457.42,-2745.26 1444,-2711.55"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_remote -->
<g id="edge601" 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="M5765.41,-4143.81C6188.97,-4121.5 9157.81,-3952.41 9945,-3557.45 10217.43,-3420.77 10503.79,-3236.18 10327,-2987.9 10298.63,-2948.05 10264.88,-2977.16 10223,-2951.9 10163.58,-2916.05 10154.1,-2897.94 10109,-2845.19 10084.32,-2816.32 10084.18,-2804.57 10061,-2774.48 10027.96,-2731.59 10024.89,-2714.31 9981,-2682.62 9947.41,-2658.36 9924.67,-2675.54 9895,-2646.62 9848.38,-2601.17 9845.55,-2577.22 9835,-2512.97"/>
<path fill="none" stroke="black" d="M9835,-2510.97C9806.41,-2395.87 9740.67,-2271.85 9703.63,-2207.54"/>
<polygon fill="#d10505" stroke="black" points="9706.21,-2206.01 9698.16,-2199.12 9700.15,-2209.52 9706.21,-2206.01"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_core_formatters_aur_printer -->
<g id="edge602" 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="M5731.03,-4120.77C5740.76,-4101.62 5749.03,-4075.56 5736,-4056.53"/>
<path fill="none" stroke="black" d="M5736,-4054.53C5609.59,-3869.88 4945.38,-4028.01 4734,-3954.6 4639.3,-3921.71 4622.65,-3895.2 4544,-3833.04 4451.85,-3760.19 4429.02,-3739.7 4354,-3649.31 4158.17,-3413.36 4076.8,-3362.35 3974,-3073.46 3929.32,-2947.9 3919.78,-2904.04 3951,-2774.48 3974.55,-2676.76 4059.95,-2589.68 4110.9,-2544.88"/>
<polygon fill="#d10505" stroke="black" points="4112.81,-2546.99 4118.08,-2537.8 4108.23,-2541.7 4112.81,-2546.99"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_models_package_description -->
<g id="edge603" class="edge">
<title>ahriman_models_aur_package&#45;&gt;ahriman_models_package_description</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5765.87,-4145.54C6024.74,-4141.09 7197.6,-4119.24 7560,-4083.46 7588.9,-4080.6 7620.42,-4075.83 7648.04,-4071.09"/>
<polygon fill="#d10505" stroke="black" points="7648.57,-4074.38 7657.81,-4069.21 7647.36,-4067.48 7648.57,-4074.38"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_web_views_service_search -->
<g id="edge604" 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="M5765.78,-4144.75C5941.14,-4138.91 6537.44,-4117.65 7029,-4083.46 7301.47,-4064.51 7368.66,-4048.31 7641,-4027.6 9786.31,-3864.43 10396.18,-4168.81 12459,-3557.45 12794.11,-3458.14 12917.28,-3441.84 13149,-3180.17 13211.78,-3109.28 13160.26,-3200.58 13415,-2554.75 13449.6,-2467.04 13484.27,-2439.02 13461,-2347.63 13414.68,-2165.7 13342.06,-2145.02 13259,-1976.65 13240.59,-1939.34 13253,-1917.69 13221,-1891.09 13167.94,-1847 13123.24,-1898.97 13070,-1855.09 13043.24,-1833.04 12966.86,-1594.06 12941,-1570.96 12902.32,-1536.41 12875.26,-1560.29 12830,-1534.96 12829,-1534.4 12705.84,-1429.02 12705,-1428.25 12671.92,-1397.96 12674.1,-1375.51 12633,-1357.54 12479.91,-1290.61 12027.72,-1403.27 11882,-1321.54 11848.87,-1302.96 11863.4,-1274.87 11834,-1250.83 11801.92,-1224.6 11770.96,-1249.33 11748,-1214.83 11693.03,-1132.22 11759.75,-976.53 11824,-930.7 11901.68,-875.29 15169.99,-929.08 15259,-894.7 15262.95,-893.17 15266.79,-891.15 15270.45,-888.81"/>
<polygon fill="#d10505" stroke="black" points="15272.14,-891.18 15278.17,-882.46 15268.02,-885.52 15272.14,-891.18"/>
</g>
<!-- ahriman_models_auth_settings -->
<g id="node144" class="node">
<title>ahriman_models_auth_settings</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db2f2f" stroke="black" cx="15746" cy="-2390.41" rx="52.68" ry="27.93"/>
<text text-anchor="middle" x="15746" y="-2396.66" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15746" y="-2386.16" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="15746" y="-2375.66" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth_settings</text>
</g>
<!-- ahriman_models_auth_settings&#45;&gt;ahriman_core_auth_auth -->
<g id="edge605" 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="M15744.53,-2362.08C15742.69,-2319.37 15740.91,-2234.34 15751,-2163.14"/>
<path fill="none" stroke="black" d="M15751,-2161.14C15762.63,-2095.63 15733.29,-2068.14 15770,-2012.65 15807.78,-1955.54 15918.18,-2001.65 15903,-1934.87"/>
<path fill="none" stroke="black" d="M15903,-1932.87C15897.2,-1908.25 15886.36,-1882.19 15876.45,-1861.4"/>
<polygon fill="#db2f2f" stroke="black" points="15879.22,-1860.09 15871.68,-1852.64 15872.93,-1863.16 15879.22,-1860.09"/>
</g>
<!-- ahriman_models_auth_settings&#45;&gt;ahriman_core_auth_mapping -->
<g id="edge606" 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="M15751,-2161.14C15755.02,-2132.77 15771.27,-2104.97 15786.63,-2084.16"/>
<polygon fill="#db2f2f" stroke="black" points="15789.82,-2086.75 15793.13,-2076.68 15784.27,-2082.49 15789.82,-2086.75"/>
</g>
<!-- ahriman_models_auth_settings&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge607" 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="M15708.24,-2370.76C15597.35,-2315.16 15276.85,-2148.3 15219,-2049.01"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_application_ahriman -->
<g id="edge608" 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="M11765.44,-3618.13C11912.64,-3611.13 12367.68,-3588.36 12744,-3557.45 13907.57,-3461.89 14194.81,-3399.25 15357,-3288.17 16257.72,-3202.08 16482.56,-3175.11 17385,-3109.46 17454.6,-3104.4 17953.73,-3111.85 18012,-3073.46 18051.88,-3047.19 18086.26,-2923.71 18108,-2881.19 18174.32,-2751.47 18191.47,-2719.32 18260,-2590.75 18279.5,-2554.17 18609.37,-1975.8 18616,-1934.87"/>
<path fill="none" stroke="black" d="M18616,-1932.87C18621.98,-1883.4 18608.53,-1870.01 18616,-1820.74"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_application_handlers_rebuild -->
<g id="edge609" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_application_handlers_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11668.29,-3619.96C11288.82,-3616.58 8800.48,-3593.29 8049,-3557.45 7526.66,-3532.54 7396.47,-3516.29 6876,-3465.59 6525.07,-3431.41 6436.94,-3424.36 6088,-3373.73 5317,-3261.85 5123.09,-3235.25 4361,-3073.46 4018.07,-3000.66 3941.99,-2937.68 3596,-2881.19 3391.86,-2847.86 3324.72,-2920.31 3132,-2845.19 3084.6,-2826.71 3083.1,-2804.46 3042,-2774.48 2971.57,-2723.1 2757.89,-2631.75 2717,-2554.75 2699.17,-2521.17 2695.68,-2500.68 2717,-2469.19 2741.15,-2433.52 2773.98,-2460.86 2807,-2433.19 3210.15,-2095.38 3156.73,-1876.44 3432,-1428.25 3528.44,-1271.24 3647,-1258.03 3647,-1073.76 3647,-1073.76 3647,-1073.76 3647,-965.05 3647,-852.45 3770.15,-851.02 3761,-738.78"/>
<path fill="none" stroke="black" d="M3761,-736.78C3755.72,-710.1 3738.43,-685.24 3721.68,-666.44"/>
<polygon fill="#e50505" stroke="black" points="3724.68,-664.45 3715.32,-659.5 3719.55,-669.21 3724.68,-664.45"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_application_handlers_status -->
<g id="edge610" 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="M11668.42,-3620.28C11244.27,-3619.31 8164.23,-3610.5 7240,-3557.45 6428.34,-3510.87 6226.17,-3478.86 5420,-3373.73 4831.97,-3297.05 3354.95,-3115.68 2785,-2951.9 2350.29,-2826.98 2215.75,-2818.08 1848,-2554.75 1457.36,-2275.04 1437.8,-2115.63 1128,-1748.38 965.48,-1555.73 798,-1539.23 798,-1287.18 798,-1287.18 798,-1287.18 798,-965.05 798,-864.49 729.68,-812.57 798,-738.78"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_application_lock -->
<g id="edge611" 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="M11722.86,-3593.49C11725.54,-3574.9 11726.35,-3550.09 11717,-3530.52"/>
<path fill="none" stroke="black" d="M11717,-3528.52C11685.5,-3462.57 10511.24,-3227.31 10439,-3216.17 10379.24,-3206.96 9943.46,-3217.64 9896,-3180.17 9841.77,-3137.36 9855.84,-3100.52 9850,-3031.68"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_database_operations_package_operations -->
<g id="edge612" 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="M11759.51,-3607.51C11777.16,-3602.54 11797.94,-3597.17 11817,-3593.45 11946.21,-3568.27 11981.42,-3580.65 12111,-3557.45 12154.61,-3549.64 12460.95,-3488.28 12499,-3465.59 12512.77,-3457.38 12508.85,-3446.19 12523,-3438.66"/>
<path fill="none" stroke="black" d="M12523,-3436.66C12536.94,-3428.73 12534.59,-3419.89 12547,-3409.73 12567.74,-3392.75 12592.61,-3377.15 12615.21,-3364.45"/>
<polygon fill="#e50505" stroke="black" points="12616.68,-3367.09 12623.74,-3359.19 12613.29,-3360.96 12616.68,-3367.09"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_formatters_package_printer -->
<g id="edge613" 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="M11668.29,-3619.22C11449.98,-3613.91 10539.62,-3590.83 9793,-3557.45 8352.13,-3493.05 7984.93,-3546.5 6553,-3373.73 6346.11,-3348.77 6297.73,-3321.34 6092,-3288.17 5743.01,-3231.9 5651.51,-3244.93 5304,-3180.17 4736.49,-3074.41 4611.46,-2962.96 4040,-2881.19 3735.13,-2837.57 3648.77,-2911.42 3348,-2845.19 3223.6,-2817.79 3185.2,-2813.14 3082,-2738.48 3075.01,-2733.42 2988.36,-2625.51 2982,-2619.69"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_formatters_status_printer -->
<g id="edge614" 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="M11668.82,-3617.44C11131.74,-3584.66 6282.23,-3287.9 6140,-3252.17 5924.76,-3198.09 5401.58,-2983.47 5228,-2845.19 5122.99,-2761.53 5038.6,-2624.06 5000.3,-2555.14"/>
<polygon fill="#e50505" stroke="black" points="5003.09,-2553.96 4995.2,-2546.88 4996.96,-2557.33 5003.09,-2553.96"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_status_client -->
<g id="edge615" 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="M11670.96,-3611.9C11396.95,-3561.28 9990.18,-3299.79 9911,-3252.17 9902.61,-3247.12 9906.63,-3236.9 9897,-3235.17"/>
<path fill="none" stroke="black" d="M9897,-3233.17C9868.98,-3227.6 9862.87,-3222.48 9835,-3216.17 9746.92,-3196.21 9718.84,-3213.75 9635,-3180.17 9630.47,-3178.36 9625.92,-3176.11 9621.51,-3173.65"/>
<polygon fill="#e50505" stroke="black" points="9623.47,-3170.15 9613.1,-3167.99 9619.86,-3176.15 9623.47,-3170.15"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_status_watcher -->
<g id="edge616" 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="M11751.54,-3601.37C11757.59,-3598.46 11763.9,-3595.69 11770,-3593.45 11834.76,-3569.66 11854.33,-3575.19 11921,-3557.45 12006.06,-3534.82 12024.74,-3519.11 12111,-3501.59 12247.79,-3473.8 12292.43,-3514.95 12423,-3465.59 12439.71,-3459.27 12543.29,-3387.23 12555,-3373.73 12582.88,-3341.57 12563.43,-3312.99 12598,-3288.17 12644.49,-3254.79 12796.37,-3260.41 12853,-3252.17 13066.47,-3221.09 13139.84,-3276.2 13333,-3180.17 13370.98,-3161.29 13862.54,-2685.71 13879,-2646.62 13888.63,-2623.73 13882.08,-2615.39 13879,-2590.75 13857.05,-2415.2 13802.95,-2380.48 13781,-2204.92 13776.28,-2167.19 13777.27,-2157.21 13781,-2119.36 13784.13,-2087.64 13792.99,-2080.83 13795,-2049.01"/>
<path fill="none" stroke="black" d="M13795,-2047.01C13785,-1972.6 13761.92,-1959.05 13730,-1891.09 13707.23,-1842.61 13701.1,-1830.58 13674,-1784.38 13635.7,-1719.08 13619.62,-1706.79 13581,-1641.67 13562.8,-1610.99 13572.56,-1590.94 13543,-1570.96 13423.7,-1490.31 13328.35,-1630.94 13221,-1534.96 13197.04,-1513.54 13213.66,-1414.52 13189,-1393.9"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_status_web_client -->
<g id="edge617" 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="M11717,-3528.52C11712.1,-3514.72 11725.28,-3511.58 11736,-3501.59 11775.52,-3464.75 11822.17,-3489.66 11840,-3438.66"/>
<path fill="none" stroke="black" d="M11840,-3436.66C11878.41,-3326.8 11670.82,-3046.04 11570,-2987.9 11492.69,-2943.31 11235.67,-3012.34 11170,-2951.9 11110.06,-2896.73 11131.32,-2668.51 11107,-2590.75 11101.32,-2572.58 11083.14,-2527.65 11071,-2512.97"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_support_package_creator -->
<g id="edge618" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_core_support_package_creator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11840,-3436.66C11889.79,-3345.46 12133.47,-2657.17 12151,-2554.75 12157.42,-2517.27 12167.48,-2503.47 12151,-2469.19 12091.82,-2346.1 12008.56,-2372.86 11911,-2277.28"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_models_counters -->
<g id="edge619" 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="M11735.38,-3595.35C11742.72,-3585.37 11751.25,-3573.75 11759.06,-3563.12"/>
<polygon fill="#e50505" stroke="black" points="11762.3,-3565.62 11765.4,-3555.49 11756.66,-3561.48 11762.3,-3565.62"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_models_internal_status -->
<g id="edge620" 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="M11717,-3528.52C11706.07,-3505.63 11687.19,-3484.63 11670.1,-3468.7"/>
<polygon fill="#e50505" stroke="black" points="11673.17,-3466.85 11663.4,-3462.75 11668.48,-3472.05 11673.17,-3466.85"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_web_schemas_package_status_schema -->
<g id="edge621" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_web_schemas_package_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11764.84,-3615.97C11858.74,-3607.03 12073.61,-3585.28 12253,-3557.45 12253,-3557.45 14205,-3180.17 14205,-3180.17 14462.69,-3023.09 14472.55,-2907.07 14625,-2646.62 14647.32,-2608.49 14654.39,-2598.09 14663,-2554.75 14670.41,-2517.46 14679.66,-2503.38 14663,-2469.19 14651.63,-2445.86 14628.37,-2456.53 14617,-2433.19 14555.91,-2307.81 14597.97,-2257.54 14617,-2119.36 14651.55,-1868.57 14669.94,-1803.08 14771,-1570.96 14827.46,-1441.29 14994.31,-1404.29 14915,-1287.18"/>
<path fill="none" stroke="black" d="M14915,-1285.18C14908.57,-1277.17 14799.4,-1235.95 14722.67,-1207.68"/>
<polygon fill="#e50505" stroke="black" points="14724.13,-1204.12 14713.54,-1203.96 14721.72,-1210.69 14724.13,-1204.12"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_web_schemas_status_schema -->
<g id="edge622" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_web_schemas_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11765.15,-3616.79C11938.66,-3603.85 12522.63,-3560.19 12542,-3557.45 12998.26,-3493.02 14079.01,-3328.76 14355,-3180.17 14378.24,-3167.66 14677.69,-2867.37 14692,-2845.19 14946.69,-2450.46 14922.58,-2303.69 15062,-1855.09 15121.68,-1663.05 15173.94,-1428.59 15194.59,-1332.02"/>
<polygon fill="#e50505" stroke="black" points="15198.18,-1332.99 15196.84,-1322.48 15191.33,-1331.53 15198.18,-1332.99"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_web_views_status_package -->
<g id="edge623" 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="M12503,-3329.95C12518.13,-3317.51 12503.86,-3302.69 12517,-3288.17 12543.16,-3259.26 12562.45,-3270.23 12597,-3252.17 12652.12,-3223.36 12670.45,-3221.42 12717,-3180.17 12761.97,-3140.32 12764.68,-3122.07 12800,-3073.46 12827.01,-3036.29 12825.74,-3020.6 12858,-2987.9 13044.13,-2799.22 13224.44,-2881.61 13347,-2646.62 13503.5,-2346.54 13392.16,-2199.14 13252,-1891.09 13178.35,-1729.24 13146.08,-1687.77 13012,-1570.96 12987.1,-1549.27 12971.38,-1557.23 12947,-1534.96 12918.95,-1509.35 12921.6,-1494.78 12899,-1464.25 12862.75,-1415.3 12867.26,-1385.22 12813,-1357.54 12743.33,-1321.99 12168.89,-1373.02 12110,-1321.54 12050.26,-1269.31 12064.25,-1219.18 12090,-1144.12 12096.58,-1124.95 12109.83,-1126.67 12118,-1108.12 12143.63,-1049.91 12083.5,-992.01 12142,-967.05"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_web_views_status_status -->
<g id="edge624" 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="M11751.83,-3601.48C11774.29,-3589.18 11804.03,-3572.65 11830,-3557.45 11870.96,-3533.49 11875.91,-3516.38 11921,-3501.59 12103.65,-3441.68 12173.13,-3535.99 12352,-3465.59 12389.36,-3450.89 12390.3,-3433.03 12423,-3409.73 12447.1,-3392.56 12458.61,-3395.17 12479,-3373.73 12493.76,-3358.21 12486.86,-3346.02 12503,-3331.95"/>
<path fill="none" stroke="black" d="M12503,-3329.95C12518.42,-3317.87 12505.46,-3303.99 12517,-3288.17 12564.78,-3222.67 12605.63,-3236.43 12664,-3180.17 12695.93,-3149.4 13135.67,-2591.83 13160,-2554.75 13193.61,-2503.53 13201.95,-2489.96 13225,-2433.19 13295.54,-2259.45 13287.7,-2197.96 13259,-2012.65 13250.34,-1956.72 13260.42,-1931.72 13221,-1891.09 13186.94,-1855.99 13153.57,-1887.58 13117,-1855.09 13064.52,-1808.48 13028.1,-1621.13 12979,-1570.96 12954.53,-1545.96 12937.87,-1554.72 12909,-1534.96 12810.95,-1467.84 12818.93,-1402.66 12709,-1357.54 12570.04,-1300.51 12161.02,-1401.73 12034,-1321.54 11885.61,-1227.86 11940,-1021.76 12090,-930.7 12167.48,-883.66 15268.45,-927.38 15353,-894.7 15356.95,-893.17 15360.79,-891.14 15364.45,-888.81"/>
<polygon fill="#e50505" stroke="black" points="15366.14,-891.18 15372.17,-882.46 15362.02,-885.52 15366.14,-891.18"/>
</g>
<!-- ahriman_models_context_key -->
<g id="node146" class="node">
<title>ahriman_models_context_key</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f31616" stroke="black" cx="9250" cy="-4817.39" rx="48.44" ry="27.93"/>
<text text-anchor="middle" x="9250" y="-4823.64" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9250" y="-4813.14" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="9250" y="-4802.64" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">context_key</text>
</g>
<!-- ahriman_models_context_key&#45;&gt;ahriman_core -->
<g id="edge625" class="edge">
<title>ahriman_models_context_key&#45;&gt;ahriman_core</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M950,-4734.46C949.64,-4698.68 5803.75,-4659.39 6366.91,-4654.95"/>
<polygon fill="#f31616" stroke="black" points="6366.58,-4658.44 6376.55,-4654.86 6366.53,-4651.44 6366.58,-4658.44"/>
</g>
<!-- ahriman_models_context_key&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge626" class="edge">
<title>ahriman_models_context_key&#45;&gt;ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9201.26,-4816.26C8521.1,-4814.32 950.55,-4791.51 950,-4736.46"/>
<path fill="none" stroke="black" d="M950,-4734.46C949.35,-4670.08 950,-4653.99 950,-4589.6 950,-4589.6 950,-4589.6 950,-4523.67 950,-4076.1 1668.75,-4103.39 1932,-3991.6 2169.58,-3890.7 2228.78,-3863.63 2456,-3741.18 2744.73,-3585.57 2816.74,-3545.76 3096,-3373.73 3361.18,-3210.37 3404.5,-3131.27 3681,-2987.9 3835.26,-2907.91 3885.5,-2914.14 4045,-2845.19 4287.42,-2740.39 4326.81,-2658.77 4582,-2590.75 4680.65,-2564.46 4956.82,-2613.95 5040,-2554.75 5254.23,-2402.28 5069.95,-2174.75 5277,-2012.65 5351.56,-1954.28 5396.72,-2005.23 5487,-1976.65 5496.81,-1973.55 5506.93,-1969.56 5516.66,-1965.28"/>
<polygon fill="#f31616" stroke="black" points="5517.98,-1968.07 5525.63,-1960.74 5515.08,-1961.7 5517.98,-1968.07"/>
</g>
<!-- ahriman_models_context_key&#45;&gt;ahriman_core_repository_repository -->
<g id="edge627" class="edge">
<title>ahriman_models_context_key&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9298.71,-4816.26C9980.38,-4814.34 17588.48,-4791.62 17593,-4736.46"/>
<path fill="none" stroke="black" d="M17593,-4734.46C17599.26,-4658.06 14930.47,-4402.17 14855,-4388.74 14674.93,-4356.7 11822.4,-3701.12 11647,-3649.31 11195.42,-3515.93 11102.03,-3423.41 10651,-3288.17 10519.24,-3248.66 10485.86,-3237.67 10350,-3216.17 10300.02,-3208.26 9930.34,-3217.34 9896,-3180.17 9874.67,-3157.09 9894.64,-3140.86 9896,-3109.46 9902.48,-2960.37 9939.52,-2922.29 9919,-2774.48 9913.17,-2732.45 9922.51,-2713.1 9893,-2682.62 9856.34,-2644.74 9819.68,-2681.31 9780,-2646.62 9747.16,-2617.9 9715.49,-2508.22 9696,-2469.19 9562.44,-2201.7 9572.57,-2092.93 9352,-1891.09 9326.48,-1867.74 9308.5,-1878.47 9283,-1855.09 9228.18,-1804.84 9250.31,-1761.43 9193,-1714.03"/>
</g>
<!-- ahriman_models_context_key&#45;&gt;ahriman_core_support_keyring_trigger -->
<g id="edge628" class="edge">
<title>ahriman_models_context_key&#45;&gt;ahriman_core_support_keyring_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17593,-4734.46C17599.39,-4657.28 17705.72,-4737.67 17759,-4681.46 17788.03,-4650.84 17783,-4631.8 17783,-4589.6 17783,-4589.6 17783,-4589.6 17783,-4523.67 17783,-4478.43 17791.48,-4456.24 17759,-4424.74 17394.66,-4071.4 15983.26,-4170.64 15524,-3954.6 15409.39,-3900.68 15407.88,-3845.13 15301,-3777.18 14797.31,-3456.91 14580.7,-3531.27 14098,-3180.17 13772.49,-2943.4 13834.06,-2740.8 13537,-2469.19 13306.63,-2258.57 13211.07,-2250.91 12928,-2119.36 12658.68,-1994.21 12589.88,-1955.62 12300,-1891.09 12038.62,-1832.91 11718.12,-1822.57 11581.64,-1820.93"/>
<polygon fill="#f31616" stroke="black" points="11582,-1817.42 11571.96,-1820.81 11581.92,-1824.42 11582,-1817.42"/>
</g>
<!-- ahriman_models_context_key&#45;&gt;ahriman_core_support_package_creator -->
<g id="edge629" class="edge">
<title>ahriman_models_context_key&#45;&gt;ahriman_core_support_package_creator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17593,-4734.46C17601.97,-4625.64 17616.34,-4564.85 17531,-4496.74 17086.3,-4141.85 16825.36,-4401.06 16269,-4282.03 15924.24,-4208.27 15836.79,-4190.88 15501,-4083.46 14987.78,-3919.28 14836.02,-3918.1 14369,-3649.31 14196.47,-3550.01 13192.84,-2569.68 13021,-2469.19 12881.02,-2387.34 12835.83,-2380.31 12677,-2347.63 12558.33,-2323.22 12235.27,-2376.59 12133,-2311.63 12118.27,-2302.28 12129.6,-2285.1 12114,-2277.28"/>
</g>
<!-- ahriman_models_counters&#45;&gt;ahriman_models_internal_status -->
<g id="edge630" 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="M11753.72,-3510.98C11732.02,-3497.98 11702.07,-3480.04 11677.43,-3465.28"/>
<polygon fill="#a32828" stroke="black" points="11679.65,-3461.93 11669.27,-3459.79 11676.05,-3467.93 11679.65,-3461.93"/>
</g>
<!-- ahriman_models_counters&#45;&gt;ahriman_web_views_status_status -->
<g id="edge631" 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="M11815.42,-3513.88C11917.94,-3467.77 12244.7,-3322.33 12521,-3216.17 12566.66,-3198.63 12587.5,-3211.57 12625,-3180.17 12668.11,-3144.07 12857.82,-2792.89 12872,-2738.48 12919.52,-2556.13 12942.11,-2050.11 12841,-1891.09 12823.07,-1862.9 12800,-1877.27 12775,-1855.09 12731.44,-1816.45 12728.58,-1798.54 12699,-1748.38 12654.59,-1673.07 12676.56,-1632.04 12614,-1570.96 12586.1,-1543.72 12564.26,-1559.55 12534,-1534.96 12458.34,-1473.47 12490.73,-1403.96 12405,-1357.54 12265.49,-1282 11835.24,-1389.73 11692,-1321.54 11634.4,-1294.12 11618.85,-1274.39 11596,-1214.83 11570.11,-1147.33 11554.86,-983.54 11611,-930.7 11686.69,-859.45 15256.02,-932.11 15353,-894.7 15356.96,-893.17 15360.79,-891.15 15364.45,-888.81"/>
<polygon fill="#a32828" stroke="black" points="15366.14,-891.18 15372.17,-882.47 15362.03,-885.52 15366.14,-891.18"/>
</g>
<!-- ahriman_models_internal_status&#45;&gt;ahriman_core_status_client -->
<g id="edge632" 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="M11586.59,-3421.25C11488.38,-3389.46 11251.71,-3317.15 11047,-3288.17 10567.96,-3220.36 10437.36,-3324.64 9959,-3252.17 9930.75,-3247.89 9925.14,-3240.15 9897,-3235.17"/>
</g>
<!-- ahriman_models_internal_status&#45;&gt;ahriman_core_status_web_client -->
<g id="edge633" 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="M11628.37,-3409.48C11613.28,-3321.32 11565.93,-3048.1 11556,-3031.68"/>
<path fill="none" stroke="black" d="M11556,-3029.68C11540.42,-3014.99 11550.03,-2999.45 11532,-2987.9 11457.42,-2940.1 11205,-3006.18 11135,-2951.9 11095.21,-2921.05 11107.5,-2894.43 11097,-2845.19 11081.56,-2772.77 11118.36,-2569.9 11071,-2512.97"/>
<path fill="none" stroke="black" d="M11071,-2510.97C11056.77,-2494.97 11061.94,-2484.54 11047,-2469.19 11025.57,-2447.19 11006.2,-2457.94 10988,-2433.19 10966.84,-2404.42 10929.29,-2307.07 10949,-2277.28"/>
</g>
<!-- ahriman_models_internal_status&#45;&gt;ahriman_web_views_status_status -->
<g id="edge634" 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="M11681.24,-3422.95C11803.37,-3388.26 12134.7,-3294.18 12411,-3216.17 12467.87,-3200.11 12498.97,-3223.65 12539,-3180.17 12630.68,-3080.59 12543.64,-3005.58 12597,-2881.19 12668.3,-2714.97 12772.1,-2722.39 12840,-2554.75 12937.3,-2314.51 12899.85,-2235.29 12917,-1976.65 12919.52,-1938.71 12927.96,-1927.51 12917,-1891.09 12867.8,-1727.69 12800.74,-1712.23 12705,-1570.96 12700.95,-1564.99 12563.31,-1361.05 12557,-1357.54 12418.35,-1280.44 11987.24,-1389.73 11844,-1321.54 11786.4,-1294.12 11770.85,-1274.39 11748,-1214.83 11736.74,-1185.49 11739.88,-1174.48 11748,-1144.12 11776.29,-1038.36 11776.49,-985.96 11871,-930.7 11954.5,-881.87 15262.77,-929.54 15353,-894.7 15356.95,-893.17 15360.79,-891.15 15364.45,-888.81"/>
<polygon fill="#ae1e1e" stroke="black" points="15366.14,-891.18 15372.17,-882.46 15362.02,-885.52 15366.14,-891.18"/>
</g>
<!-- ahriman_models_log_handler -->
<g id="node149" class="node">
<title>ahriman_models_log_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#ce3b3b" stroke="black" cx="14491" cy="-3144.81" rx="46.32" ry="27.93"/>
<text text-anchor="middle" x="14491" y="-3151.06" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14491" y="-3140.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="14491" y="-3130.06" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log_handler</text>
</g>
<!-- ahriman_models_log_handler&#45;&gt;ahriman_application_ahriman -->
<g id="edge635" class="edge">
<title>ahriman_models_log_handler&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14534.58,-3134.63C14576.49,-3126.26 14641.76,-3114.48 14699,-3109.46 14787.94,-3101.66 17837.8,-3121.59 17913,-3073.46 17944.3,-3053.43 18183.8,-2502.64 18200,-2469.19 18226.26,-2414.97 18229.73,-2399.73 18260,-2347.63 18330.99,-2225.45 18580.28,-1957.46 18616,-1820.74"/>
<path fill="none" stroke="black" d="M18616,-1818.74C18639.04,-1631.33 18598.6,-1581.91 18616,-1393.9"/>
</g>
<!-- ahriman_models_log_handler&#45;&gt;ahriman_core_log_log -->
<g id="edge636" class="edge">
<title>ahriman_models_log_handler&#45;&gt;ahriman_core_log_log</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14445.86,-3137.7C14264.4,-3113.4 13570.32,-3023.35 12996,-2987.9 12201.79,-2938.88 12001.3,-2977.69 11206,-2951.9 11139.75,-2949.75 8886.9,-2858.66 8822,-2845.19 8806.45,-2841.96 8790.05,-2836.4 8775.58,-2830.68"/>
<polygon fill="#ce3b3b" stroke="black" points="8777,-2827.07 8766.42,-2826.52 8774.35,-2833.55 8777,-2827.07"/>
</g>
<!-- ahriman_models_log_record_id -->
<g id="node150" class="node">
<title>ahriman_models_log_record_id</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f91010" stroke="black" cx="12291" cy="-3437.66" rx="52.15" ry="27.93"/>
<text text-anchor="middle" x="12291" y="-3443.91" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12291" y="-3433.41" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="12291" y="-3422.91" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log_record_id</text>
</g>
<!-- ahriman_models_log_record_id&#45;&gt;ahriman_core_database_operations_logs_operations -->
<g id="edge637" 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="M12324.39,-3415.9C12359.21,-3394.41 12415.51,-3360.1 12465,-3331.95"/>
<path fill="none" stroke="black" d="M12465,-3329.95C12483.61,-3319.36 12476.59,-3305.62 12489,-3288.17 12507.07,-3262.75 12509.53,-3253.17 12535,-3235.17"/>
<path fill="none" stroke="black" d="M12535,-3233.17C12545.67,-3225.63 12546.85,-3220.99 12559,-3216.17 12665.79,-3173.77 12706.04,-3216.62 12815,-3180.17 12844.88,-3170.17 12858.43,-3171.26 12877,-3145.81"/>
<path fill="none" stroke="black" d="M12877,-3143.81C12890.38,-3125.49 12901.27,-3103.01 12909.44,-3083.01"/>
<polygon fill="#f91010" stroke="black" points="12913.05,-3084.4 12913.46,-3073.81 12906.54,-3081.83 12913.05,-3084.4"/>
</g>
<!-- ahriman_models_log_record_id&#45;&gt;ahriman_core_log_lazy_logging -->
<g id="edge638" class="edge">
<title>ahriman_models_log_record_id&#45;&gt;ahriman_core_log_lazy_logging</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12245.34,-3423.87C12134.6,-3393.53 11842.47,-3317.55 11593,-3288.17 10953.22,-3212.83 10783.16,-3332.56 10144,-3252.17 10072.97,-3243.24 10057.58,-3228.14 9987,-3216.17 9915.58,-3204.05 9721.86,-3222.4 9663,-3180.17 9634.82,-3159.95 9655.58,-3132.88 9630,-3109.46 9595.47,-3077.84 9572.17,-3095.75 9531,-3073.46 9475.29,-3043.29 9475.23,-3012.85 9417,-2987.9 9327.95,-2949.74 9296.75,-2972.15 9202,-2951.9 9080.27,-2925.88 9052.99,-2905.95 8931,-2881.19 8822.71,-2859.21 8789.31,-2881.65 8685,-2845.19 8680.54,-2843.63 8676.03,-2841.72 8671.61,-2839.61"/>
<polygon fill="#f91010" stroke="black" points="8673.59,-2836.18 8663.09,-2834.73 8670.39,-2842.41 8673.59,-2836.18"/>
</g>
<!-- ahriman_models_log_record_id&#45;&gt;ahriman_core_status_client -->
<g id="edge639" class="edge">
<title>ahriman_models_log_record_id&#45;&gt;ahriman_core_status_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12241.92,-3427.66C12093.2,-3400.82 11634.24,-3321.16 11250,-3288.17 10980.87,-3265.06 10301.83,-3294.16 10035,-3252.17 9978.31,-3243.25 9967.17,-3227.92 9911,-3216.17 9789.91,-3190.85 9750.92,-3223.37 9635,-3180.17 9630.43,-3178.47 9625.85,-3176.3 9621.42,-3173.88"/>
<polygon fill="#f91010" stroke="black" points="9623.37,-3170.37 9612.99,-3168.27 9619.8,-3176.39 9623.37,-3170.37"/>
</g>
<!-- ahriman_models_log_record_id&#45;&gt;ahriman_core_status_watcher -->
<g id="edge640" 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="M12535,-3233.17C12545.67,-3225.63 12547.37,-3222.15 12559,-3216.17 12602.5,-3193.81 12621.45,-3205.98 12663,-3180.17 12766.39,-3115.95 12757.75,-3056.92 12858,-2987.9 12889.78,-2966.02 12902.73,-2969.63 12937,-2951.9 13176.38,-2828.02 13273.96,-2840.69 13461,-2646.62 13535.62,-2569.18 13548.88,-2537.51 13575,-2433.19 13584.23,-2396.31 13578.68,-2385.48 13575,-2347.63 13568.75,-2283.3 13558.12,-2268.6 13547,-2204.92 13511.68,-2002.71 13492.6,-1953.07 13477,-1748.38 13474.61,-1717.05 13473.92,-1708.95 13477,-1677.67 13480.13,-1645.94 13505.63,-1635.64 13491,-1607.32"/>
<path fill="none" stroke="black" d="M13491,-1605.32C13449.76,-1546.37 13220,-1591.09 13175,-1534.96 13155.34,-1510.44 13171.92,-1495.53 13175,-1464.25 13178.13,-1432.52 13211.63,-1416.35 13189,-1393.9"/>
<path fill="none" stroke="black" d="M13189,-1391.9C13163.63,-1370.68 13154.95,-1366.08 13123,-1357.54 12939.92,-1308.62 12448.48,-1387.97 12271,-1321.54 12268.42,-1320.57 12265.87,-1319.39 12263.38,-1318.04"/>
<polygon fill="#f91010" stroke="black" points="12265.46,-1314.59 12255.14,-1312.21 12261.73,-1320.51 12265.46,-1314.59"/>
</g>
<!-- ahriman_models_log_record_id&#45;&gt;ahriman_core_status_web_client -->
<g id="edge641" class="edge">
<title>ahriman_models_log_record_id&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12292.34,-3409.24C12293.4,-3366.23 12291.27,-3281.09 12263,-3216.17 12238.34,-3159.55 12225.64,-3143.34 12174,-3109.46 12093.83,-3056.86 11854.42,-3004.62 11760,-2987.9 11699.26,-2977.14 11252.34,-2992.61 11206,-2951.9 11144.55,-2897.92 11175.36,-2661.89 11135,-2590.75 11123.2,-2569.95 11110.03,-2573.36 11095,-2554.75 11081.54,-2538.1 11085.23,-2528.98 11071,-2512.97"/>
</g>
<!-- ahriman_models_log_record_id&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge642" 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="M12465,-3329.95C12483.61,-3319.36 12472.03,-3301.23 12489,-3288.17 12562.31,-3231.75 12806.01,-3216.68 12891,-3180.17 13292.9,-3007.52 13484.2,-3016.3 13718,-2646.62 13870.15,-2406.04 13855.96,-2293.4 13809,-2012.65 13774.75,-1807.89 13789.81,-1730.53 13657,-1570.96 13533.58,-1422.67 13452.46,-1442.01 13279,-1357.54 13241.38,-1339.22 13215.25,-1356.33 13192,-1321.54 13137.09,-1239.39 13234.54,-1181.54 13326,-1144.12 13747.86,-971.51 13891.3,-1069.16 14346,-1037.41 14459.46,-1029.49 15262.62,-1041.65 15369,-1001.41 15415.28,-983.9 15408.98,-948.89 15455,-930.7 15685.29,-839.68 15782.5,-990.14 16011,-894.7 16014.86,-893.09 16018.61,-891.02 16022.21,-888.68"/>
<polygon fill="#f91010" stroke="black" points="16023.8,-891.11 16029.79,-882.37 16019.66,-885.47 16023.8,-891.11"/>
</g>
<!-- ahriman_models_migration&#45;&gt;ahriman_core_database_migrations -->
<g id="edge643" 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="M12120.32,-3116.84C12116.68,-3093.37 12114.52,-3058.95 12126,-3031.68"/>
</g>
<!-- ahriman_models_migration_result&#45;&gt;ahriman_core_database_migrations -->
<g id="edge644" 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="M11974.33,-4496.66C12006.66,-4374.98 12135,-3865.16 12135,-3438.66 12135,-3438.66 12135,-3438.66 12135,-3329.95 12135,-3258.72 12090.88,-3250.22 12078,-3180.17 12072.32,-3149.26 12068.89,-3139.54 12078,-3109.46 12083.57,-3091.05 12091.87,-3089.81 12102,-3073.46 12113.28,-3055.26 12117.69,-3051.42 12126,-3031.68"/>
<path fill="none" stroke="black" d="M12126,-3029.68C12139.75,-2993.75 12148.67,-2987.19 12164,-2951.9 12215.06,-2834.38 12213.19,-2798.91 12267,-2682.62 12288.02,-2637.2 12316.07,-2587.19 12335.85,-2553.31"/>
<polygon fill="#b03a3a" stroke="black" points="12339.16,-2555.6 12341.2,-2545.2 12333.12,-2552.05 12339.16,-2555.6"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_application_application_application -->
<g id="edge645" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_application_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6500.19,-3619.29C6363.43,-3615.34 5881.58,-3601.7 5484,-3593.45 5421.23,-3592.15 3279.26,-3587.26 3224,-3557.45 3197.57,-3543.2 3212.32,-3516.04 3186,-3501.59 3070.03,-3437.96 2106.35,-3538.53 1996,-3465.59 1959.77,-3441.64 1933.7,-3326.88 1914,-3288.17 1820.04,-3103.59 1795.23,-3057.77 1687,-2881.19 1595.71,-2732.23 1537.16,-2715.19 1468,-2554.75 1430.63,-2468.07 1474.53,-2425.38 1421,-2347.63 1404.64,-2323.88 1384.08,-2334.88 1367,-2311.63 1212.5,-2101.46 1239.04,-2006.59 1202,-1748.38 1172.71,-1544.2 1140.91,-1459.7 1254,-1287.18"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge646" 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="M6499.96,-3619.42C6243.72,-3612.95 4766.2,-3575.34 4316,-3557.45 3830.42,-3538.16 3709.57,-3521.35 3224,-3501.59 3157.91,-3498.9 2085.47,-3507.13 2034,-3465.59 1970.78,-3414.57 2015.47,-3365.31 1990,-3288.17 1973.69,-3238.79 1964.23,-3228.48 1945,-3180.17 1911.2,-3095.24 1907.39,-3072.17 1872,-2987.9 1845.71,-2925.31 1633,-2498.91 1616,-2433.19 1585.86,-2316.68 1596,-2283.5 1596,-2163.14 1596,-2163.14 1596,-2163.14 1596,-1391.9 1596,-1341.97 1501.76,-1226.95 1520,-1180.47"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge647" 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="M6499.98,-3619.28C6314.66,-3613.82 5487.35,-3588.78 4810,-3557.45 4596.56,-3547.58 4543.49,-3539.33 4330,-3530.52"/>
<path fill="none" stroke="black" d="M4330,-3528.52C4074.83,-3517.99 4011.24,-3510.3 3756,-3501.59 3709.21,-3499.99 2107.49,-3494.93 2071,-3465.59 2007.77,-3414.75 2055.88,-3364.37 2028,-3288.17 2009.56,-3237.77 1993.97,-3229.98 1974,-3180.17 1903.8,-3005.05 1921.51,-2948.66 1849,-2774.48 1831.22,-2731.76 1825.19,-2721.43 1800,-2682.62 1788.97,-2665.61 1779.61,-2665.4 1772,-2646.62 1598.59,-2218.36 1748,-2069.35 1748,-1607.32 1748,-1607.32 1748,-1607.32 1748,-1498.61 1748,-1343.95 1791.24,-1300.32 1889,-1180.47"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge648" 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="M6268,-3329.95C6261.68,-3279.73 6233.18,-3257.07 6263,-3216.17 6293.8,-3173.92 6331.65,-3209.4 6375,-3180.17 6408.94,-3157.29 6407.29,-3140.47 6434,-3109.46 6447.97,-3093.24 6453.78,-3091.03 6466,-3073.46 6551.93,-2949.9 6542.51,-2900.36 6625,-2774.48 6639.29,-2752.67 6677.62,-2698.88 6698,-2682.62 6726.9,-2659.56 6741.23,-2665.53 6773,-2646.62 6832.86,-2610.99 6854.66,-2607.64 6900,-2554.75 7013.68,-2422.17 7006.87,-2363.99 7079,-2204.92 7109.8,-2137.01 7103.6,-2113.53 7141,-2049.01"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_application_handlers_rebuild -->
<g id="edge649" 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="M6500.04,-3619.85C6279.46,-3616.55 5160.78,-3596.76 4824,-3530.52"/>
<path fill="none" stroke="black" d="M4824,-3528.52C4699.7,-3504.07 4668.25,-3498.79 4546,-3465.59 4268.32,-3390.19 3581.23,-3174.98 3312,-3073.46 3086.45,-2988.4 3033.24,-2957.59 2820,-2845.19 2636.91,-2748.68 2532.32,-2747.13 2456,-2554.75 2441.98,-2519.41 2435.43,-2501.18 2456,-2469.19 2476.87,-2436.74 2503.26,-2455.13 2535,-2433.19 2653.49,-2351.33 2676.82,-2318.8 2765,-2204.92 2773.7,-2193.69 3274.55,-1334.2 3281,-1321.54 3312.1,-1260.52 3331.34,-1247.96 3343,-1180.47"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_application_handlers_service_updates -->
<g id="edge650" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_application_handlers_service_updates</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6500.19,-3619.27C6363.43,-3615.26 5881.59,-3601.41 5484,-3593.45 5345.79,-3590.69 3130.44,-3589.65 2996,-3557.45 2941.13,-3544.31 2936.72,-3515.34 2882,-3501.59 2670.65,-3448.48 2103.98,-3547.42 1902,-3465.59 1845.46,-3442.68 1842.36,-3417.63 1800,-3373.73 1705.34,-3275.62 1093.68,-2542.35 1012,-2433.19 792.92,-2140.43 719.9,-2075.26 556,-1748.38 437.56,-1512.17 336.83,-1441.17 380,-1180.47"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_application_handlers_status -->
<g id="edge651" 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="M6500.19,-3619.28C6363.43,-3615.33 5881.58,-3601.64 5484,-3593.45 5228.25,-3588.19 3434.79,-3596.62 3182,-3557.45 3096.7,-3544.24 3081.17,-3515.61 2996,-3501.59 2881.91,-3482.81 2060.4,-3515.29 1956,-3465.59 1948.9,-3462.21 1774.91,-3258.31 1770,-3252.17 1605.61,-3046.62 1578.62,-2984.51 1420,-2774.48 1345.42,-2675.73 1312.65,-2660.87 1249,-2554.75 1209.34,-2488.64 684,-1364.28 684,-1287.18 684,-1287.18 684,-1287.18 684,-1071.76 684,-974.5 616.12,-922.58 684,-852.92"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge652" 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="M6489.03,-3617.62C6430.09,-3612.53 6329.63,-3598.12 6254,-3557.45 6054.67,-3450.27 5985.95,-3394.07 5912,-3180.17 5901.73,-3150.47 5905.53,-3140.21 5912,-3109.46 5917.34,-3084.1 6079.53,-2698.5 6100,-2682.62 6177.59,-2622.42 6240.76,-2707.26 6318,-2646.62 6345.48,-2625.04 6359.91,-2587.7 6367.36,-2557.96"/>
<polygon fill="#950303" stroke="black" points="6488.64,-3621.18 6498.89,-3618.49 6489.2,-3614.2 6488.64,-3621.18"/>
<polygon fill="#950303" stroke="black" points="6370.96,-2558.92 6369.81,-2548.39 6364.14,-2557.35 6370.96,-2558.92"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge653" 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="M6570.78,-3606.65C6809.05,-3506.39 8275.66,-2881.85 8624,-2554.75 8630.8,-2548.37 8808.91,-2285.66 8813,-2277.28"/>
<path fill="none" stroke="black" d="M8813,-2275.28C8839.43,-2221.18 8869.53,-2220.12 8889,-2163.14"/>
<path fill="none" stroke="black" d="M8889,-2161.14C8896.78,-2138.39 8905.74,-2113.16 8913.22,-2092.4"/>
<polygon fill="#950303" stroke="black" points="8916.76,-2093.89 8916.86,-2083.29 8910.18,-2091.51 8916.76,-2093.89"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_database_operations_build_operations -->
<g id="edge654" 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="M5356,-3029.68C5243.38,-2860.54 5091.31,-2741.12 5228,-2590.75 5284.61,-2528.48 5524.64,-2579.76 5605,-2554.75 5611.88,-2552.61 5618.85,-2549.79 5625.61,-2546.61"/>
<polygon fill="#950303" stroke="black" points="5626.96,-2549.35 5634.34,-2541.76 5623.83,-2543.09 5626.96,-2549.35"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_database_operations_package_operations -->
<g id="edge655" 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="M6576.15,-3620.18C7022.74,-3617.82 11244.41,-3594.56 11503,-3557.45 11594.36,-3544.34 11611.93,-3516.53 11703,-3501.59 12002.53,-3452.47 12090.1,-3537.46 12385,-3465.59 12386.51,-3465.22 12526.46,-3401.7 12613.04,-3362.38"/>
<polygon fill="#950303" stroke="black" points="12614.14,-3365.26 12621.8,-3357.94 12611.25,-3358.89 12614.14,-3365.26"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_formatters_build_printer -->
<g id="edge656" 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="M6499.84,-3620.14C6313.3,-3618.71 5496.25,-3609.54 5248,-3557.45 5113.47,-3529.23 4794.06,-3395.16 4672,-3331.95"/>
<path fill="none" stroke="black" d="M4672,-3329.95C4577.92,-3286.31 4324.28,-3223.37 4230,-3180.17 4173.72,-3154.39 4168.14,-3130.71 4110,-3109.46 4020.23,-3076.66 3984.03,-3115.09 3898,-3073.46 3846.85,-3048.71 3855.06,-3010.67 3803,-2987.9 3642.3,-2917.62 3570.36,-3022.95 3410,-2951.9 3367.52,-2933.08 3374.91,-2901.24 3333,-2881.19 3236.1,-2834.83 3195.56,-2880.17 3094,-2845.19 3024.51,-2821.26 2872.14,-2714.66 2806,-2682.62 2767.97,-2664.19 2753.2,-2669.99 2718,-2646.62 2678.14,-2620.15 2640.27,-2580.55 2615.02,-2551.32"/>
<polygon fill="#950303" stroke="black" points="2617.07,-2549.33 2607.92,-2543.99 2611.74,-2553.87 2617.07,-2549.33"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_formatters_package_printer -->
<g id="edge657" 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="M4672,-3329.95C4578.17,-3277.05 4554.37,-3264.3 4458,-3216.17 4451.74,-3213.05 4236.53,-3111.97 4230,-3109.46 4178.82,-3089.79 4163.72,-3091.65 4112,-3073.46 4015.37,-3039.47 3995.61,-3018.94 3898,-2987.9 3709.59,-2927.99 3189.96,-2871.83 3044,-2738.48 3000.03,-2698.31 3021.81,-2663.98 2982,-2619.69"/>
<path fill="none" stroke="black" d="M2982,-2617.69C2937.01,-2576.48 2913.68,-2583.74 2860,-2554.75 2852.79,-2550.86 2845.22,-2546.69 2837.8,-2542.55"/>
<polygon fill="#950303" stroke="black" points="2839.93,-2539.17 2829.5,-2537.33 2836.51,-2545.28 2839.93,-2539.17"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_formatters_tree_printer -->
<g id="edge658" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_formatters_tree_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6499.83,-3620.03C6328.57,-3618.16 5630.29,-3607.57 5418,-3557.45 5173.88,-3499.83 4613.65,-3205.64 4382,-3109.46 4126.54,-3003.39 4072,-2945.63 3803,-2881.19 3638.45,-2841.77 3578.59,-2913.97 3424,-2845.19 3274.03,-2778.47 3144.98,-2624.35 3090.14,-2551.92"/>
<polygon fill="#950303" stroke="black" points="3092.62,-2550.4 3083.82,-2544.5 3087.03,-2554.6 3092.62,-2550.4"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_formatters_update_printer -->
<g id="edge659" 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="M6499.97,-3619.86C6336.23,-3617.34 5690.79,-3604.57 5494,-3557.45 5464.78,-3550.46 5457.63,-3546.2 5432,-3530.52"/>
<path fill="none" stroke="black" d="M5432,-3528.52C5153.32,-3357.99 4944.67,-3143.67 4040,-2881.19 3922.04,-2846.96 3880.45,-2889.76 3766,-2845.19 3605,-2782.49 3462.44,-2625.77 3401.88,-2552.24"/>
<polygon fill="#950303" stroke="black" points="3404.29,-2550.65 3395.25,-2545.11 3398.87,-2555.07 3404.29,-2550.65"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge660" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6500.16,-3618.58C6410.92,-3613.35 6181.37,-3594.27 6002,-3530.52"/>
<path fill="none" stroke="black" d="M6002,-3528.52C5942.27,-3507.29 5927.38,-3499.79 5874,-3465.59 5669.65,-3334.68 5580.27,-3300.3 5494,-3073.46 5433.52,-2914.43 5525.22,-2675.05 5620,-2619.69"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge661" 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="M6499.89,-3620.04C6409.41,-3618.36 6175.18,-3608.96 5988,-3557.45 5892.13,-3531.07 5872.97,-3510 5784,-3465.59 5765.05,-3456.13 5633.05,-3387.55 5617,-3373.73 5472.1,-3248.95 5413.76,-3213.97 5356,-3031.68"/>
<path fill="none" stroke="black" d="M5356,-3029.68C5310.37,-2809.86 5408.77,-2697.99 5606,-2590.75 5691.12,-2544.48 5758.4,-2628.7 5821,-2554.75 5845.57,-2525.73 5846.28,-2497.6 5821,-2469.19 5775.19,-2417.72 5569.59,-2472.52 5513,-2433.19 5485.33,-2413.96 5369.12,-2196.32 5375,-2163.14"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge662" 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="M6500.17,-3618.87C6374.64,-3613.56 5972.83,-3594.03 5849,-3557.45 5764.76,-3532.57 5750.93,-3507.99 5674,-3465.59 5602.52,-3426.2 5578.27,-3425.28 5515,-3373.73 5450.09,-3320.84 5014,-2894.56 5014,-2810.83 5014,-2810.83 5014,-2810.83 5014,-2709.55 5014,-2616.28 5100.35,-2625.28 5187,-2590.75 5282.3,-2552.78 5348.36,-2632.75 5415,-2554.75 5439.7,-2525.84 5436.44,-2500.6 5415,-2469.19 5390.25,-2432.93 5349.24,-2468.4 5323,-2433.19 5271.81,-2364.5 5239.68,-2117.6 5291,-2049.01"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_report_console -->
<g id="edge663" 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="M6268,-3436.66C6251.44,-3393.17 6276.66,-3377.68 6268,-3331.95"/>
<path fill="none" stroke="black" d="M6268,-3329.95C6264.36,-3310.71 6267.97,-3301.9 6254,-3288.17 6216.1,-3250.93 6171.41,-3295.03 6140,-3252.17 6130.54,-3239.26 6129.86,-3228.54 6140,-3216.17 6191.72,-3153.08 6247.44,-3217.47 6320,-3180.17 6350.86,-3164.3 6415.55,-3102.85 6434,-3073.46 6530.77,-2919.35 6429.33,-2813.26 6556,-2682.62 6590.05,-2647.5 6620.36,-2675.27 6660,-2646.62 6756.73,-2576.7 6767.06,-2538.63 6823,-2433.19 6832.18,-2415.9 6830.26,-2409.8 6837,-2391.41"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_report_email -->
<g id="edge664" 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="M6002,-3528.52C5900.78,-3489.13 5759.97,-3235.01 5698,-3145.81"/>
<path fill="none" stroke="black" d="M5698,-3143.81C5673.74,-3114.1 5659.66,-3110 5648,-3073.46 5621.93,-2991.77 5628.97,-2959.45 5664,-2881.19 5683.26,-2838.16 5918.99,-2599.09 5935,-2554.75 5947.91,-2518.99 5959.74,-2498.07 5935,-2469.19 5867.11,-2389.96 5775.29,-2508.44 5703,-2433.19 5572.93,-2297.8 5540.98,-2155.35 5663,-2012.65 5696.48,-1973.5 5841.85,-1988.41 5892,-1976.65 6015.38,-1947.72 6040.96,-1921.44 6164,-1891.09 6285.21,-1861.19 6430.58,-1838.26 6504.57,-1827.49"/>
<polygon fill="#950303" stroke="black" points="6504.99,-1830.82 6514.39,-1825.93 6503.99,-1823.9 6504.99,-1830.82"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_report_html -->
<g id="edge665" 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="M5432,-3528.52C5398.13,-3510.11 5064.69,-2985.61 5046,-2951.9 4995.56,-2860.94 4985.59,-2836.21 4950,-2738.48 4927.19,-2675.84 4878.94,-2639.89 4924,-2590.75 4986.56,-2522.53 5276.44,-2622.98 5339,-2554.75 5364.7,-2526.73 5351.95,-2504.95 5339,-2469.19 5331.91,-2449.61 5318.08,-2451.94 5309,-2433.19 5227.3,-2264.49 5160.46,-2159.47 5277,-2012.65 5335.27,-1939.25 5419.55,-2011.86 5473,-1934.87"/>
<path fill="none" stroke="black" d="M5473,-1932.87C5483.67,-1915.49 5481.12,-1908.35 5492,-1891.09 5499.86,-1878.63 5509.73,-1865.99 5519.14,-1854.93"/>
<polygon fill="#950303" stroke="black" points="5522.29,-1857.65 5526.21,-1847.81 5517,-1853.06 5522.29,-1857.65"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_report_remote_call -->
<g id="edge666" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_report_remote_call</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6575.43,-3616.19C6647.23,-3607.78 6809.09,-3587.11 6943,-3557.45 7030.19,-3538.14 7048.18,-3517.75 7136,-3501.59 7625.46,-3411.55 7755.41,-3442.68 8252,-3409.73 8331.26,-3404.47 8894.31,-3407.94 8966,-3373.73 8969.55,-3372.04 9342.59,-2955.57 9344,-2951.9 9382.37,-2852.2 9401.76,-2802.04 9345,-2711.55"/>
<path fill="none" stroke="black" d="M9345,-2709.55C9335.69,-2696.49 9331.84,-2694.43 9321,-2682.62 9306.12,-2666.4 9295.51,-2666.91 9287,-2646.62 9245.43,-2547.47 9261.33,-2270.38 9269,-2163.14"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_report_report -->
<g id="edge667" 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="M6078,-3329.95C6036.69,-3282.53 6225.07,-3105.37 6244,-3073.46 6339.78,-2912.04 6267.66,-2811.62 6404,-2682.62 6439.53,-2649 6465.58,-2670.98 6508,-2646.62 6562.35,-2615.4 6588.83,-2611.71 6615,-2554.75 6630.88,-2520.2 6626.36,-2505.48 6615,-2469.19 6609.18,-2450.61 6595.82,-2451.78 6590,-2433.19 6578.64,-2396.91 6579.73,-2384.25 6590,-2347.63 6622.08,-2233.27 6652.64,-2210.35 6729,-2119.36 6741.62,-2104.32 6757.53,-2089.66 6771.84,-2077.64"/>
<polygon fill="#950303" stroke="black" points="6773.54,-2079.95 6779.03,-2070.89 6769.09,-2074.55 6773.54,-2079.95"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_report_report_trigger -->
<g id="edge668" 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="M6268,-3329.95C6259.55,-3278.96 6256.2,-3253.44 6292,-3216.17 6337.1,-3169.21 6376.87,-3211.4 6434,-3180.17 6494.89,-3146.88 6508.65,-3130.62 6548,-3073.46 6629.38,-2955.25 6584.29,-2889.59 6670,-2774.48 6708.86,-2722.29 6725.79,-2711.69 6784,-2682.62 6842.24,-2653.52 6870.31,-2680.34 6926,-2646.62 7034.88,-2580.68 7037.31,-2532.45 7117,-2433.19 7119.89,-2429.59 7312,-2167.65 7311,-2163.14"/>
<path fill="none" stroke="black" d="M7311,-2161.14C7297.51,-2098.96 7310.5,-2025.44 7321.99,-1979.47"/>
<polygon fill="#950303" stroke="black" points="7325.59,-1980.53 7324.71,-1969.97 7318.81,-1978.77 7325.59,-1980.53"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_report_telegram -->
<g id="edge669" 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="M6500.36,-3617.6C6449.7,-3612.4 6358.28,-3597.79 6292,-3557.45 6278.3,-3549.12 6274.25,-3545.29 6268,-3530.52"/>
<path fill="none" stroke="black" d="M6268,-3528.52C6252.44,-3491.74 6282.21,-3475.99 6268,-3438.66"/>
<path fill="none" stroke="black" d="M6268,-3436.66C6238.45,-3359.02 6150.15,-3433.06 6092,-3373.73 6078.29,-3359.74 6089.75,-3347.61 6078,-3331.95"/>
<path fill="none" stroke="black" d="M6078,-3329.95C6031.15,-3267.51 6288.35,-2729.18 6351,-2682.62 6395.35,-2649.65 6425.47,-2679.33 6470,-2646.62 6494.2,-2628.84 6485.57,-2610.72 6508,-2590.75 6533.84,-2567.76 6559.07,-2584.33 6577,-2554.75 6596.71,-2522.24 6584.99,-2506.37 6577,-2469.19 6545.63,-2323.32 6426.71,-2311.85 6439,-2163.14"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_repository_executor -->
<g id="edge670" 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="M6564.57,-3601.05C6581.06,-3588.85 6602.55,-3572.59 6621,-3557.45 6649.93,-3533.72 6654.47,-3524.58 6684,-3501.59 7092.97,-3183.13 7252.43,-3180.15 7648,-2845.19 7741.22,-2766.25 7792.5,-2759.97 7838,-2646.62 7847.25,-2623.58 7843.43,-2614.98 7838,-2590.75 7834.13,-2573.49 7824.87,-2572.02 7821,-2554.75 7812.68,-2517.65 7800.09,-2500.96 7821,-2469.19 7918.37,-2321.27 8069.76,-2444.37 8187,-2311.63 8219.7,-2274.62 8209.46,-2253.57 8218,-2204.92 8247.6,-2036.39 8178.3,-1979.15 8243,-1820.74"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_repository_repository -->
<g id="edge671" 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="M6268,-3329.95C6249.98,-3211.92 6401.66,-3259.38 6491,-3180.17 6537.86,-3138.63 6550.07,-3126.72 6583,-3073.46 6620.87,-3012.21 6658.48,-2826.76 6708,-2774.48 6740.25,-2740.43 6855.6,-2702.65 6898,-2682.62 6932.52,-2666.31 6944.33,-2667.95 6976,-2646.62 7025.51,-2613.27 7034.54,-2599.55 7074,-2554.75 7114.45,-2508.83 7300.76,-2252.14 7325,-2204.92 7347.69,-2160.72 7440.62,-1818.22 7477,-1784.38 7636.97,-1635.6 7914.66,-1611.05 8032.07,-1607.56"/>
<polygon fill="#950303" stroke="black" points="8032.01,-1611.04 8041.92,-1607.29 8031.84,-1604.04 8032.01,-1611.04"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_repository_update_handler -->
<g id="edge672" 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="M6540.05,-3593.36C6542.49,-3568.88 6547.62,-3532.08 6558,-3501.59 6604.31,-3365.54 6633.71,-3337.97 6710,-3216.17 6751.66,-3149.66 6769.6,-3138.18 6814,-3073.46 6871.52,-2989.61 6881.46,-2965.71 6938,-2881.19 6970.09,-2833.22 6977.13,-2820.47 7012,-2774.48 7044.02,-2732.25 7052.04,-2721.54 7088,-2682.62 7091.38,-2678.96 7342.79,-2437.65 7345,-2433.19 7383.19,-2356.07 7350.74,-2325.24 7368,-2240.92 7377.76,-2193.27 7461.78,-1859.63 7491,-1820.74"/>
<path fill="none" stroke="black" d="M7491,-1818.74C7527.48,-1771.05 7695.96,-1738.5 7791.81,-1723.48"/>
<polygon fill="#950303" stroke="black" points="7792.21,-1726.81 7801.56,-1721.83 7791.14,-1719.89 7792.21,-1726.81"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_status_client -->
<g id="edge673" 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="M6575.48,-3616.26C6723.01,-3600.14 7278.08,-3540.26 7736,-3501.59 7965.08,-3482.25 8023.17,-3487.63 8252,-3465.59 8418.48,-3449.56 8836.83,-3414.66 8999,-3373.73 9208.74,-3320.79 9444.83,-3212.67 9539.92,-3166.96"/>
<polygon fill="#950303" stroke="black" points="9541.26,-3169.72 9548.75,-3162.22 9538.22,-3163.42 9541.26,-3169.72"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_status_watcher -->
<g id="edge674" 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="M6575.99,-3620.22C7024.97,-3618.24 11304.98,-3598.34 11427,-3557.45 11466.75,-3544.13 11463.45,-3515.5 11503,-3501.59 11592.07,-3470.27 12271.01,-3514.12 12352,-3465.59 12376.74,-3450.77 12362.97,-3428.34 12385,-3409.73 12419.17,-3380.86 12442.21,-3399.18 12479,-3373.73 12520.83,-3344.8 12510.43,-3312.67 12555,-3288.17 12642.59,-3240.02 12678.46,-3268.94 12777,-3252.17 12956.8,-3221.57 13019.77,-3265.43 13181,-3180.17 13325.72,-3103.64 13604.59,-2786.89 13689,-2646.62 13730.58,-2577.52 13744.27,-2547.97 13727,-2469.19 13714.26,-2411.09 13710.71,-2391.92 13671,-2347.63 13650.24,-2324.48 13629.22,-2336.84 13611,-2311.63 13582.53,-2272.24 13596.19,-2252.66 13587,-2204.92 13586.21,-2200.8 13493.33,-1610.82 13491,-1607.32"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_status_web_client -->
<g id="edge675" 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="M6575.88,-3618.55C6726.25,-3611.26 7295.57,-3583.42 7764,-3557.45 8180.99,-3534.33 8284.77,-3519.7 8702,-3501.59 8994.94,-3488.87 9733.33,-3522.36 10021,-3465.59 10130.12,-3444.06 10381.62,-3317.17 10489,-3288.17 10582.96,-3262.8 10636.68,-3321.48 10705,-3252.17 10867.1,-3087.71 10759.22,-2968.17 10783,-2738.48 10795.34,-2619.25 10754.07,-2580.72 10798,-2469.19 10805.63,-2449.82 10814.95,-2449.42 10828,-2433.19 10882.97,-2364.84 10900.6,-2350.43 10949,-2277.28"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_support_package_creator -->
<g id="edge676" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_support_package_creator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6576.24,-3619.86C6789.98,-3616.8 7858.25,-3599.97 8730,-3557.45 9090.87,-3539.85 9180.37,-3523.56 9541,-3501.59 9843.09,-3483.19 9922.69,-3516.62 10221,-3465.59 10307.76,-3450.75 10326,-3432.57 10411,-3409.73 10619.08,-3353.82 11148.32,-3247.47 11353,-3180.17 11469.71,-3141.79 11508.92,-3146.1 11608,-3073.46 11715.15,-2994.91 11730.76,-2957.96 11801,-2845.19 11875.48,-2725.6 11899.17,-2692.66 11928,-2554.75 11935.78,-2517.53 11941.23,-2504.84 11928,-2469.19 11920.65,-2449.4 11904.35,-2452.99 11897,-2433.19 11883.77,-2397.55 11893.27,-2385.48 11897,-2347.63 11900.13,-2315.91 11931.74,-2301.49 11911,-2277.28"/>
<path fill="none" stroke="black" d="M11911,-2275.28C11828.54,-2192.68 11746.69,-2280.79 11658,-2204.92 11642.5,-2191.66 11643.53,-2183.03 11639,-2163.14"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_tree -->
<g id="edge677" 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="M4330,-3528.52C4074.83,-3517.99 4011.16,-3512.48 3756,-3501.59 3128.45,-3474.81 2365.42,-3447.43 2167.01,-3440.39"/>
<polygon fill="#950303" stroke="black" points="2167.22,-3436.86 2157.1,-3440 2166.97,-3443.86 2167.22,-3436.86"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_triggers_trigger -->
<g id="edge678" 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="M6496,-3329.95C6504.59,-3310.33 6506.75,-3305 6520,-3288.17 6548.78,-3251.61 6558.37,-3243.54 6596,-3216.17 6623.02,-3196.52 6634.61,-3199.3 6662,-3180.17 6672.8,-3172.63 7365.37,-2563.75 7375,-2554.75 7414.4,-2517.95 7414.95,-2497.23 7461,-2469.19 7505.66,-2442 7532.35,-2466.08 7573,-2433.19 7589.65,-2419.73 7583.39,-2407.95 7597,-2391.41"/>
<path fill="none" stroke="black" d="M7597,-2389.41C7613.64,-2368.57 7627.19,-2341.97 7636.79,-2319.92"/>
<polygon fill="#950303" stroke="black" points="7640.38,-2321.39 7641.04,-2310.82 7633.93,-2318.67 7640.38,-2321.39"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_triggers_trigger_loader -->
<g id="edge679" 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="M6268,-3528.52C6240.4,-3467.58 6476.72,-3396.01 6496,-3331.95"/>
<path fill="none" stroke="black" d="M6496,-3329.95C6509.81,-3280.91 6450.71,-3256.38 6482,-3216.17 6521.98,-3164.79 6570.69,-3217.54 6624,-3180.17 6655.1,-3158.37 6649.66,-3140.18 6672,-3109.46 6683.92,-3093.06 6688.79,-3090.35 6700,-3073.46 6724.12,-3037.14 6724.65,-3024.72 6748,-2987.9 6779.18,-2938.72 6784.62,-2924.08 6824,-2881.19 6919.64,-2777.02 7190.59,-2546.51 7309,-2469.19 7339.62,-2449.2 7359.29,-2461.04 7383,-2433.19 7409.46,-2402.12 7421.03,-2356.5 7426.08,-2322.63"/>
<polygon fill="#950303" stroke="black" points="7429.63,-2323.46 7427.5,-2313.08 7422.7,-2322.53 7429.63,-2323.46"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_upload_github -->
<g id="edge680" 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="M6575.91,-3620.05C6884.22,-3617.3 8984.68,-3597.26 9617,-3557.45 10004.61,-3533.05 10101,-3516.7 10486,-3465.59 11181.6,-3373.25 11348.17,-3298.69 12045,-3216.17 12096.57,-3210.06 12472.8,-3215.35 12511,-3180.17 12560.49,-3134.58 12542.31,-2946.38 12559,-2881.19 12571.49,-2832.42 12572.13,-2818.25 12597,-2774.48 12623.17,-2728.4 12636,-2720.54 12673,-2682.62 12733.47,-2620.64 12784.1,-2633.55 12820,-2554.75 12836.23,-2519.12 12879.66,-2074.79 12789,-1934.87"/>
<path fill="none" stroke="black" d="M12789,-1932.87C12740.56,-1878.09 12696.96,-1905.52 12644,-1855.09 12610.61,-1823.31 12548.43,-1709.58 12515.96,-1647.86"/>
<polygon fill="#950303" stroke="black" points="12518.76,-1646.66 12511.02,-1639.42 12512.56,-1649.91 12518.76,-1646.66"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_upload_remote_service -->
<g id="edge681" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_upload_remote_service</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6575.98,-3620.23C6811.8,-3619.14 8100.1,-3610.85 9149,-3557.45 9674.79,-3530.69 9809.03,-3541.54 10330,-3465.59 10522.09,-3437.59 10568.67,-3420.79 10757,-3373.73 10891.51,-3340.12 10920.67,-3313.45 11057,-3288.17 11090.23,-3282.01 12242.09,-3200.63 12269,-3180.17 12274.88,-3175.7 12453.02,-2689.37 12456,-2682.62 12481.7,-2624.28 12504.12,-2616.23 12521,-2554.75 12557.98,-2420.08 12588.65,-2370.68 12537,-2240.92 12479.38,-2096.18 12409.59,-2083.79 12271,-2012.65 12227.48,-1990.32 12211.53,-1996.89 12167,-1976.65 12159.43,-1973.21 12151.61,-1969.24 12144.04,-1965.13"/>
<polygon fill="#950303" stroke="black" points="12146.05,-1961.69 12135.6,-1959.89 12142.65,-1967.81 12146.05,-1961.69"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_upload_rsync -->
<g id="edge682" 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="M7750,-3528.52C7763.46,-3527.67 7752.56,-3508.75 7764,-3501.59 7827.65,-3461.77 9040.06,-3470.29 9115,-3465.59 9529.09,-3439.63 9650.47,-3505.17 10044,-3373.73 10332.57,-3277.35 10402.05,-3139.53 10479,-2845.19 10521.38,-2683.07 10415.92,-2633.05 10451,-2469.19 10468.84,-2385.87 10555.39,-2186.39 10608,-2119.36 10779.44,-1900.93 11103.75,-1771.34 11223.28,-1729.24"/>
<polygon fill="#950303" stroke="black" points="11224.24,-1732.27 11232.53,-1725.67 11221.93,-1725.65 11224.24,-1732.27"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_upload_s3 -->
<g id="edge683" 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="M6575.89,-3618.07C6701.01,-3610.35 7112.3,-3584.49 7452,-3557.45 7584.56,-3546.9 7617.3,-3539.22 7750,-3530.52"/>
<path fill="none" stroke="black" d="M7750,-3528.52C7763.46,-3527.64 7752.64,-3508.86 7764,-3501.59 7835.87,-3455.61 8446,-3472.96 8531,-3465.59 8907.03,-3433 9917.12,-3482.67 10216,-3252.17 10244.72,-3230.02 10291.05,-3158.32 10327,-2951.9 10376.85,-2665.66 10228.66,-2600.23 10195,-2311.63 10185.1,-2226.76 10156.12,-2195.46 10195,-2119.36 10298.06,-1917.66 10423.05,-1951.51 10608,-1820.74"/>
<path fill="none" stroke="black" d="M10608,-1818.74C10620.6,-1805.03 10617.42,-1795.97 10632,-1784.38 10669.84,-1754.3 10722.23,-1735.52 10759.81,-1725.01"/>
<polygon fill="#950303" stroke="black" points="10760.25,-1728.24 10768.99,-1722.26 10758.42,-1721.49 10760.25,-1728.24"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_upload_upload -->
<g id="edge684" 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="M6576.26,-3620.08C6760.99,-3618.4 7579.05,-3608.3 8247,-3557.45 8462.47,-3541.05 8514.44,-3516.83 8730,-3501.59 8883.56,-3490.74 9966.06,-3504.5 10115,-3465.59 10166.52,-3452.13 10170.89,-3427.74 10221,-3409.73 10294.91,-3383.16 10320.17,-3400.52 10394,-3373.73 10469.8,-3346.22 10477.56,-3313.86 10554,-3288.17 10602.41,-3271.9 10747.83,-3291.01 10781,-3252.17 10846.3,-3175.7 10731.03,-2445.98 10752,-2347.63 10775.18,-2238.96 10775.47,-2197.98 10854,-2119.36 10908.04,-2065.27 10962.17,-2107.85 11011,-2049.01"/>
<path fill="none" stroke="black" d="M11011,-2047.01C11047.16,-1998.87 11067.82,-1991.94 11087,-1934.87"/>
<path fill="none" stroke="black" d="M11087,-1932.87C11099.68,-1895.14 11134.03,-1864.74 11162.09,-1845.17"/>
<polygon fill="#950303" stroke="black" points="11163.61,-1847.69 11169.94,-1839.19 11159.69,-1841.89 11163.61,-1847.69"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_upload_upload_trigger -->
<g id="edge685" 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="M4824,-3528.52C4582.07,-3454.06 4532.95,-3397.92 4326,-3252.17 4306.17,-3238.21 4306.71,-3226.97 4285,-3216.17 4213.91,-3180.79 4187.07,-3199.27 4110,-3180.17 3592.45,-3051.91 3443.48,-3065.69 2958,-2845.19 2809.03,-2777.52 2780.68,-2742.37 2648,-2646.62 2616.01,-2623.53 2610.58,-2614.41 2579,-2590.75 2556.51,-2573.9 2540.05,-2579.65 2527,-2554.75 2509.35,-2521.07 2501.88,-2497.75 2527,-2469.19 2568.44,-2422.09 2746.37,-2449.32 2807,-2433.19 3037.57,-2371.87 3651.36,-2148.3 3758,-1934.87"/>
<path fill="none" stroke="black" d="M3758,-1932.87C3768.48,-1884.15 3710.26,-1835.05 3758,-1820.74"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_models_counters -->
<g id="edge686" 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="M6576.16,-3620.43C7034.17,-3620.91 11465.58,-3623.81 11731,-3557.45 11735.44,-3556.34 11739.92,-3554.79 11744.3,-3552.99"/>
<polygon fill="#950303" stroke="black" points="11745.63,-3555.77 11753.25,-3548.41 11742.7,-3549.41 11745.63,-3555.77"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_models_result -->
<g id="edge687" 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="M5698,-3143.81C5553.44,-2950.16 5778.53,-2806.53 5986,-2682.62 6038.22,-2651.43 6106.9,-2634.82 6152.2,-2626.65"/>
<polygon fill="#950303" stroke="black" points="6152.65,-2629.95 6161.91,-2624.79 6151.46,-2623.05 6152.65,-2629.95"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_web_views_status_package -->
<g id="edge688" 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="M6576.08,-3620.21C6902.25,-3618.67 9230.37,-3606.09 9929,-3557.45 10267.97,-3533.86 10351.31,-3511.45 10688,-3465.59 10740.47,-3458.44 12530.51,-3211.78 12573,-3180.17 12634.69,-3134.29 12841.56,-2626.57 12869,-2554.75 12908.44,-2451.54 12909.68,-2421.55 12921,-2311.63 12945.05,-2078.05 13035.44,-2005 12955,-1784.38 12952.35,-1777.11 12602.91,-1361.05 12596,-1357.54 12490.33,-1303.93 12144.91,-1408.11 12064,-1321.54 11953.85,-1203.68 11992.22,-1026.96 12142,-967.05"/>
<path fill="none" stroke="black" d="M12142,-965.05C12196.89,-933.72 12217.31,-938.75 12280,-930.7 12454.52,-908.29 15282.89,-958.16 15447,-894.7 15450.95,-893.17 15454.79,-891.14 15458.45,-888.8"/>
<polygon fill="#950303" stroke="black" points="15460.14,-891.17 15466.17,-882.46 15456.02,-885.52 15460.14,-891.17"/>
</g>
<!-- ahriman_models_package_description&#45;&gt;ahriman_core_database_operations_package_operations -->
<g id="edge689" 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="M7797.26,-4049.9C8289.1,-4018.48 11116.53,-3832.16 11959,-3649.31 12033.43,-3633.16 12047.08,-3611.8 12121,-3593.45 12221.85,-3568.42 12252.98,-3588.93 12352,-3557.45 12439.49,-3529.65 12461.56,-3517.9 12537,-3465.59 12574.27,-3439.75 12611.54,-3404.54 12638.69,-3376.74"/>
<polygon fill="#ae1e1e" stroke="black" points="12640.63,-3379.73 12645.07,-3370.11 12635.6,-3374.87 12640.63,-3379.73"/>
</g>
<!-- ahriman_models_package_description&#45;&gt;ahriman_core_repository_executor -->
<g id="edge690" 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="M7782.67,-4038.06C7906.95,-4001.94 8189.99,-3912.59 8247,-3833.04 8349.38,-3690.18 8276,-3614.41 8276,-3438.66 8276,-3438.66 8276,-3438.66 8276,-3233.17 8276,-3023.93 8289.53,-2962.17 8382,-2774.48 8560.13,-2412.92 8648.26,-2346.57 8874,-2012.65 8897.71,-1977.58 8922.76,-1976.75 8929,-1934.87"/>
<path fill="none" stroke="black" d="M8929,-1932.87C8947.69,-1815.41 8521.71,-1743.3 8368.71,-1721.26"/>
<polygon fill="#ae1e1e" stroke="black" points="8369.57,-1717.7 8359.18,-1719.75 8368.58,-1724.63 8369.57,-1717.7"/>
</g>
<!-- ahriman_models_package_description&#45;&gt;ahriman_models_package -->
<g id="edge691" 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="M7670.01,-4036.01C7658.87,-4032.76 7647.14,-4029.73 7636,-4027.6 7538.66,-4008.93 6818.65,-4023.07 6747,-3954.6 6698.9,-3908.63 6726.81,-3872.63 6728,-3806.11"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_application_ahriman -->
<g id="edge692" 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="M4978.04,-3797.58C4921.2,-3791.57 4833.37,-3782.78 4757,-3777.18 4443.21,-3754.16 4363.27,-3770.34 4050,-3741.18 3866.01,-3724.05 3821.49,-3707.13 3638,-3685.31 3481.84,-3666.75 3441.8,-3670.73 3286,-3649.31 3141.67,-3629.48 3107.01,-3615.46 2963,-3593.45 2842.89,-3575.1 2812.42,-3573.63 2692,-3557.45 2509.3,-3532.9 2464.29,-3521.28 2281,-3501.59 2079.31,-3479.92 2020.82,-3522.11 1826,-3465.59 1666.05,-3419.19 1638.82,-3366.79 1518,-3252.17 1348.14,-3091.04 1320.6,-3034.9 1144,-2881.19 896.18,-2665.49 778.74,-2674.7 556,-2433.19 500.19,-2372.68 456,-2359.6 456,-2277.28 456,-2277.28 456,-2277.28 456,-1932.87 456,-1765.34 266,-1774.85 266,-1607.32 266,-1607.32 266,-1607.32 266,-1285.18 266,-1191.22 241.4,-1164.45 266,-1073.76"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge693" 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="M4978.63,-3797.03C4664.88,-3759.63 3206.82,-3585.57 3006,-3557.45 2849.13,-3535.49 2811.58,-3517.74 2654,-3501.59 2569.02,-3492.88 1956.22,-3514.24 1886,-3465.59 1850.6,-3441.06 1750.38,-3148.86 1733,-3109.46 1709.07,-3055.2 1703.16,-3041.6 1678,-2987.9 1655.31,-2939.47 1481.56,-2606.49 1468,-2554.75 1456.95,-2512.59 1444,-2206.74 1444,-2163.14 1444,-2163.14 1444,-2163.14 1444,-1498.61 1444,-1398.75 1376.79,-1386.65 1368,-1287.18"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge694" 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="M5004.99,-3781.1C4925.82,-3723.57 4726.63,-3564.34 4658,-3373.73 4645.12,-3337.95 4649.17,-3325.16 4658,-3288.17 4687.84,-3163.13 4842.02,-2873.49 4924,-2774.48 5014.93,-2664.65 5052.05,-2636.78 5187,-2590.75 5259.33,-2566.09 5477.87,-2611.55 5529,-2554.75 5554.44,-2526.49 5546.94,-2502.72 5529,-2469.19 5515.39,-2443.76 5494.71,-2454.26 5475,-2433.19 5460.37,-2417.56 5456.25,-2412.18 5451,-2391.41"/>
<path fill="none" stroke="black" d="M5451,-2389.41C5444.16,-2358.96 5464.84,-2329.95 5486.34,-2309.07"/>
<polygon fill="#d10505" stroke="black" points="5488.28,-2312.11 5493.25,-2302.75 5483.53,-2306.97 5488.28,-2312.11"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge695" 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="M4987.3,-3788.9C4956.25,-3778.26 4916.56,-3762.19 4885,-3741.18 4793.65,-3680.35 4775.44,-3652.17 4720,-3557.45 4568.15,-3298 4617.68,-3158.4 4734,-2881.19 4793.68,-2738.95 4791.33,-2669.45 4924,-2590.75 5010.85,-2539.23 5308.48,-2628.94 5377,-2554.75 5402.8,-2526.82 5394.94,-2502.72 5377,-2469.19 5363.39,-2443.76 5336.61,-2458.63 5323,-2433.19 5286.44,-2364.89 5372.75,-2173.95 5375,-2163.14"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_core_repository_update_handler -->
<g id="edge696" 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="M5056.27,-3778.25C5072.56,-3757.34 5098.36,-3729.03 5128,-3714.24"/>
<path fill="none" stroke="black" d="M5128,-3712.24C5142.35,-3705.09 5139.99,-3695.93 5152,-3685.31 5259.67,-3590.18 5297.49,-3579.84 5418,-3501.59 5811.75,-3245.93 5932.94,-3217.58 6320,-2951.9 6481.81,-2840.83 6513.3,-2800.79 6670,-2682.62 6746.34,-2625.05 6770.47,-2617.05 6843,-2554.75 6883.9,-2519.62 6885.05,-2500.43 6929,-2469.19 6958.81,-2448.01 6976.65,-2458.56 7003,-2433.19 7138.31,-2302.94 7105.81,-2221.98 7179,-2049.01"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_models_package -->
<g id="edge697" 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="M5128,-3712.24C5251.91,-3650.45 6254.2,-3627.75 6488.94,-3623.26"/>
<polygon fill="#d10505" stroke="black" points="6488.92,-3626.74 6498.85,-3623.05 6488.79,-3619.74 6488.92,-3626.74"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_models_remote_source -->
<g id="edge698" 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="M5094.21,-3793.27C5181.56,-3776.42 5349.32,-3744.07 5440.77,-3726.44"/>
<polygon fill="#d10505" stroke="black" points="5441.38,-3729.69 5450.53,-3724.36 5440.05,-3722.82 5441.38,-3729.69"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_web_schemas_remote_schema -->
<g id="edge699" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_web_schemas_remote_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5099.84,-3802.85C5761.03,-3789.4 11509.15,-3671.99 11866,-3649.31 12694.31,-3596.68 12915.6,-3603.97 13713,-3373.73 13938.76,-3308.54 14052.73,-3359.13 14205,-3180.17 14469.1,-2869.78 14365,-2684.82 14365,-2277.28 14365,-2277.28 14365,-2277.28 14365,-1712.03 14365,-1601.3 14313.47,-1543.3 14391,-1464.25 14436.32,-1418.05 14616.78,-1442.12 14680,-1428.25 14695.3,-1424.89 14711.53,-1420.3 14726.64,-1415.57"/>
<polygon fill="#d10505" stroke="black" points="14727.43,-1418.67 14735.89,-1412.28 14725.3,-1412 14727.43,-1418.67"/>
</g>
<!-- ahriman_models_packagers -->
<g id="node156" class="node">
<title>ahriman_models_packagers</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f31616" stroke="black" cx="8095" cy="-2276.28" rx="43.66" ry="27.93"/>
<text text-anchor="middle" x="8095" y="-2282.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8095" y="-2272.03" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="8095" y="-2261.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">packagers</text>
</g>
<!-- ahriman_models_packagers&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge700" class="edge">
<title>ahriman_models_packagers&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8051.81,-2270.59C7979.24,-2262.93 7828.19,-2247.87 7700,-2240.92 7653.47,-2238.4 6060.76,-2232.23 6023,-2204.92 5858.68,-2086.09 6017.05,-1893.32 5846,-1784.38 5778.29,-1741.26 5747.12,-1766.85 5669,-1748.38 5020.29,-1595.02 4878.82,-1465.31 4221,-1357.54 3962.62,-1315.21 3892.88,-1353.39 3633,-1321.54 3202.33,-1268.76 3102.62,-1204.85 2673,-1144.12 2448.29,-1112.36 2181.82,-1090.2 2046.46,-1080.05"/>
<polygon fill="#f31616" stroke="black" points="2046.99,-1076.5 2036.76,-1079.25 2046.47,-1083.48 2046.99,-1076.5"/>
</g>
<!-- ahriman_models_packagers&#45;&gt;ahriman_application_handlers_add -->
<g id="edge701" class="edge">
<title>ahriman_models_packagers&#45;&gt;ahriman_application_handlers_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8051.81,-2270.61C7979.24,-2262.97 7828.19,-2247.95 7700,-2240.92 7612.28,-2236.12 6192.53,-2253 6119,-2204.92 5942.1,-2089.26 6062.57,-1915.74 5897,-1784.38 5622.58,-1566.66 3120.87,-773.69 2723.95,-648.71"/>
<polygon fill="#f31616" stroke="black" points="2725.21,-645.12 2714.63,-645.46 2723.11,-651.8 2725.21,-645.12"/>
</g>
<!-- ahriman_models_packagers&#45;&gt;ahriman_application_handlers_update -->
<g id="edge702" class="edge">
<title>ahriman_models_packagers&#45;&gt;ahriman_application_handlers_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8138.83,-2273.98C8307.14,-2269.03 8928.26,-2251.1 9440,-2240.92 10565.22,-2218.55 10847.46,-2250.1 11972,-2204.92 12789.57,-2172.08 12999.48,-2202.46 13809,-2083.36 14186.2,-2027.87 14268.19,-1949.18 14645,-1891.09 14843.3,-1860.53 14895.2,-1873.47 15095,-1855.09 15397.57,-1827.26 15472.67,-1814.71 15775,-1784.38 16696.59,-1691.95 16949.31,-1774.54 17844,-1534.96 17979.49,-1498.68 18035.51,-1520.69 18141,-1428.25 18274.35,-1311.39 18280.94,-1245.76 18324,-1073.76"/>
<path fill="none" stroke="black" d="M18324,-1071.76C18328,-1008.29 18324.47,-989.78 18348,-930.7 18363.38,-892.06 18402.3,-894.44 18400,-852.92"/>
<path fill="none" stroke="black" d="M18400,-850.92C18395.16,-786.86 18367.41,-717.3 18347.32,-674.19"/>
<polygon fill="#f31616" stroke="black" points="18350.09,-672.88 18342.64,-665.35 18343.77,-675.88 18350.09,-672.88"/>
</g>
<!-- ahriman_models_packagers&#45;&gt;ahriman_core_repository_executor -->
<g id="edge703" class="edge">
<title>ahriman_models_packagers&#45;&gt;ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8092.55,-2247.9C8087.94,-2181.63 8083.95,-2009.34 8153,-1891.09 8178.6,-1847.25 8220.57,-1866.29 8243,-1820.74"/>
<path fill="none" stroke="black" d="M8243,-1818.74C8253.47,-1794.84 8269.63,-1770.67 8284,-1751.59"/>
<polygon fill="#f31616" stroke="black" points="8287.34,-1753.99 8290.65,-1743.92 8281.78,-1749.72 8287.34,-1753.99"/>
</g>
<!-- ahriman_models_packagers&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge704" class="edge">
<title>ahriman_models_packagers&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8120.87,-2253.4C8160.57,-2219.21 8237.89,-2150.09 8295,-2083.36 8307.11,-2069.21 8305.81,-2062.16 8319,-2049.01"/>
<path fill="none" stroke="black" d="M8319,-2047.01C8391.26,-1981.26 8502.56,-1954.02 8579.32,-1942.77"/>
<polygon fill="#f31616" stroke="black" points="8579.49,-1946.13 8588.91,-1941.28 8578.52,-1939.2 8579.49,-1946.13"/>
</g>
<!-- ahriman_models_pacman_synchronization -->
<g id="node157" class="node">
<title>ahriman_models_pacman_synchronization</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#e72222" stroke="black" cx="7901" cy="-2809.83" rx="87.15" ry="27.93"/>
<text text-anchor="middle" x="7901" y="-2816.08" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7901" y="-2805.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="7901" y="-2795.08" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pacman_synchronization</text>
</g>
<!-- ahriman_models_pacman_synchronization&#45;&gt;ahriman_application_application_application_properties -->
<g id="edge705" class="edge">
<title>ahriman_models_pacman_synchronization&#45;&gt;ahriman_application_application_application_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7813.93,-2807.3C7410.95,-2799.72 5686.8,-2761.82 4278,-2646.62 4191.9,-2639.58 3581.88,-2596.04 3506,-2554.75 3462.59,-2531.14 3477.03,-2495.19 3435,-2469.19 3375.22,-2432.22 3341.28,-2469.34 3281,-2433.19 3067.74,-2305.33 3077.78,-2197.98 2912,-2012.65 2806.02,-1894.18 2752.3,-1884.98 2671,-1748.38 2637.06,-1691.35 2656.44,-1664.05 2622,-1607.32"/>
<path fill="none" stroke="black" d="M2622,-1605.32C2532.31,-1476.82 2539.75,-1427.51 2470,-1287.18"/>
</g>
<!-- ahriman_models_pacman_synchronization&#45;&gt;ahriman_core_alpm_pacman -->
<g id="edge706" class="edge">
<title>ahriman_models_pacman_synchronization&#45;&gt;ahriman_core_alpm_pacman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7902.56,-2781.49C7903.29,-2761.95 7903.53,-2735.06 7901,-2711.55"/>
<path fill="none" stroke="black" d="M7901,-2709.55C7900.3,-2703.01 7827.47,-2625.27 7824,-2619.69"/>
</g>
<!-- ahriman_models_pacman_synchronization&#45;&gt;ahriman_core_repository_repository -->
<g id="edge707" class="edge">
<title>ahriman_models_pacman_synchronization&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7927.89,-2783.11C8030.16,-2685.18 8390.16,-2339.77 8409,-2311.63 8521.19,-2144.13 8429.27,-2026.09 8579,-1891.09 8684.47,-1796 9312.05,-1791.43 9193,-1714.03"/>
<path fill="none" stroke="black" d="M9193,-1712.03C9151.98,-1678.1 8359.06,-1624.81 8141.69,-1610.79"/>
<polygon fill="#e72222" stroke="black" points="8142.09,-1607.24 8131.89,-1610.09 8141.64,-1614.23 8142.09,-1607.24"/>
</g>
<!-- ahriman_models_pacman_synchronization&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge708" class="edge">
<title>ahriman_models_pacman_synchronization&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7901,-2709.55C7897.94,-2681.15 7911.1,-2675.03 7914,-2646.62 7916.52,-2621.92 7920.72,-2614.65 7914,-2590.75 7908.92,-2572.7 7897.08,-2572.81 7892,-2554.75 7881.7,-2518.15 7867.97,-2498.67 7892,-2469.19 7942.17,-2407.65 7990.52,-2454.54 8067,-2433.19 8159.69,-2407.32 8432.11,-2365.3 8471,-2277.28"/>
<path fill="none" stroke="black" d="M8471,-2275.28C8479.08,-2260.91 8476.63,-2255.13 8485,-2240.92 8507.45,-2202.84 8529.74,-2203.84 8547,-2163.14"/>
<path fill="none" stroke="black" d="M8547,-2161.14C8554.76,-2142.84 8550.71,-2134.99 8563,-2119.36 8597.04,-2076.07 8650.99,-2102.27 8665,-2049.01"/>
<path fill="none" stroke="black" d="M8665,-2047.01C8670.65,-2025.54 8671.26,-2000.96 8670.21,-1980.29"/>
<polygon fill="#e72222" stroke="black" points="8673.65,-1980.31 8669.5,-1970.56 8666.67,-1980.77 8673.65,-1980.31"/>
</g>
<!-- ahriman_models_pkgbuild_patch -->
<g id="node158" class="node">
<title>ahriman_models_pkgbuild_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f91010" stroke="black" cx="8921" cy="-2809.83" rx="56.92" ry="27.93"/>
<text text-anchor="middle" x="8921" y="-2816.08" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8921" y="-2805.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="8921" y="-2795.08" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pkgbuild_patch</text>
</g>
<!-- ahriman_models_pkgbuild_patch&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge709" 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="M8869.85,-2797.15C8810.13,-2782.9 8715.61,-2758.26 8685,-2738.48 8552.07,-2652.59 8581.52,-2560.14 8452,-2469.19 8447.01,-2465.69 8045.59,-2316.57 8042,-2311.63 7913.37,-2135 8015,-2039.24 8015,-1820.74 8015,-1820.74 8015,-1820.74 8015,-1712.03 8015,-1601.51 7976.89,-1557.63 8036,-1464.25 8069.27,-1411.69 8159.04,-1456.07 8157,-1393.9"/>
<path fill="none" stroke="black" d="M8157,-1391.9C8144.79,-1081.32 8211.05,-803.26 7907,-738.78"/>
</g>
<!-- ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge710" 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="M8872.09,-2795.02C8844.89,-2787.84 8810.3,-2779.53 8779,-2774.48 8101.42,-2665.04 7921.58,-2727.48 7240,-2646.62 6932.94,-2610.19 6567.5,-2547.23 6430.49,-2522.94"/>
<polygon fill="#f91010" stroke="black" points="6431.33,-2519.35 6420.87,-2521.05 6430.11,-2526.25 6431.33,-2519.35"/>
</g>
<!-- ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge711" class="edge">
<title>ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8957.3,-2787.82C8982.36,-2770.24 9010.02,-2743.02 9003,-2711.55"/>
<path fill="none" stroke="black" d="M9003,-2709.55C8994.17,-2669.99 8963.16,-2677.58 8937,-2646.62 8905.21,-2608.99 8889.41,-2601.86 8875,-2554.75 8853.69,-2485.08 8865.27,-2460.31 8889,-2391.41"/>
</g>
<!-- ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_database_operations_patch_operations -->
<g id="edge712" 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="M8977.81,-2806.66C9247.88,-2796.31 10395.4,-2751.91 10555,-2738.48 10881.73,-2710.99 10967.63,-2720.87 11287,-2646.62 11361.18,-2629.37 11374.69,-2607.43 11449,-2590.75 11592.1,-2558.65 11636.92,-2598.17 11777,-2554.75 11784.26,-2552.5 11791.63,-2549.56 11798.8,-2546.28"/>
<polygon fill="#f91010" stroke="black" points="11799.94,-2549.13 11807.41,-2541.62 11796.89,-2542.83 11799.94,-2549.13"/>
</g>
<!-- ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_formatters_patch_printer -->
<g id="edge713" 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="M8872.84,-2794.57C8845.56,-2787.15 8810.67,-2778.76 8779,-2774.48 8275.33,-2706.36 8143.76,-2760.78 7636,-2738.48 6911.1,-2706.64 6730,-2694.66 6006,-2646.62 5470.95,-2611.11 5308.13,-2734.71 4803,-2554.75 4796.57,-2552.46 4790.19,-2549.29 4784.12,-2545.7"/>
<polygon fill="#f91010" stroke="black" points="4786.2,-2542.24 4775.89,-2539.8 4782.43,-2548.14 4786.2,-2542.24"/>
</g>
<!-- ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_support_pkgbuild_mirrorlist_generator -->
<g id="edge714" class="edge">
<title>ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_support_pkgbuild_mirrorlist_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8977.51,-2805.03C9124.72,-2795.05 9532.12,-2766.89 9871,-2738.48 10307.38,-2701.89 10417.37,-2700.08 10852,-2646.62 10919.16,-2638.36 11390.88,-2579.14 11454,-2554.75 11609.25,-2494.76 11612.98,-2413.12 11766,-2347.63 11832.61,-2319.13 11879.78,-2368.24 11925,-2311.63 11947.38,-2283.63 11936.97,-2243.49 11922.28,-2212.01"/>
<polygon fill="#f91010" stroke="black" points="11925.17,-2210.97 11917.61,-2203.54 11918.89,-2214.06 11925.17,-2210.97"/>
</g>
<!-- ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_support_pkgbuild_pkgbuild_generator -->
<g id="edge715" class="edge">
<title>ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_support_pkgbuild_pkgbuild_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8977.56,-2804.97C9116.72,-2795.32 9486.89,-2768.73 9795,-2738.48 10362.29,-2682.77 10502.53,-2654.22 11069,-2590.75 11142.97,-2582.47 11336.19,-2589.53 11402,-2554.75 11421.79,-2544.3 11615.29,-2310.21 11698.39,-2209.04"/>
<polygon fill="#f91010" stroke="black" points="11701.73,-2211.5 11705.37,-2201.55 11696.32,-2207.05 11701.73,-2211.5"/>
</g>
<!-- ahriman_models_property -->
<g id="node159" class="node">
<title>ahriman_models_property</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f91010" stroke="black" cx="3998" cy="-2809.83" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="3998" y="-2816.08" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3998" y="-2805.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="3998" y="-2795.08" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">property</text>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_aur_printer -->
<g id="edge716" 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="M4102,-2617.69C4121.22,-2602.93 4133,-2578.69 4140.08,-2557.24"/>
<polygon fill="#f91010" stroke="black" points="4143.63,-2558.57 4143.19,-2547.99 4136.93,-2556.54 4143.63,-2558.57"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_configuration_paths_printer -->
<g id="edge717" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_configuration_paths_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4102,-2617.69C4179.63,-2558.11 4220.66,-2587.17 4313,-2554.75 4323.21,-2551.17 4333.89,-2547.15 4344.34,-2543.06"/>
<polygon fill="#f91010" stroke="black" points="4345.27,-2546.06 4353.27,-2539.13 4342.69,-2539.56 4345.27,-2546.06"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_configuration_printer -->
<g id="edge718" 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="M4102,-2617.69C4151.57,-2579.64 4178.31,-2600.74 4240,-2590.75 4363.42,-2570.77 4399.55,-2591.68 4519,-2554.75 4527.67,-2552.08 4536.52,-2548.53 4545.06,-2544.63"/>
<polygon fill="#f91010" stroke="black" points="4546.39,-2547.4 4553.9,-2539.93 4543.37,-2541.08 4546.39,-2547.4"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_package_printer -->
<g id="edge719" 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="M3962.24,-2799.6C3896.16,-2782.5 3750.47,-2744.62 3628,-2711.55"/>
<path fill="none" stroke="black" d="M3628,-2709.55C3483.01,-2670.39 3442.5,-2679.65 3296,-2646.62 3134.42,-2610.18 2946.43,-2558.47 2850.11,-2531.3"/>
<polygon fill="#f91010" stroke="black" points="2851.25,-2527.7 2840.67,-2528.35 2849.34,-2534.43 2851.25,-2527.7"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_patch_printer -->
<g id="edge720" 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="M4024.77,-2789.76C4075.51,-2754.04 4189.76,-2675.6 4292,-2619.69"/>
<path fill="none" stroke="black" d="M4292,-2617.69C4441.2,-2524.31 4518.18,-2616.53 4683,-2554.75 4689.32,-2552.39 4695.6,-2549.2 4701.59,-2545.64"/>
<polygon fill="#f91010" stroke="black" points="4703.18,-2548.13 4709.72,-2539.79 4699.41,-2542.24 4703.18,-2548.13"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_printer -->
<g id="edge721" 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="M4102,-2617.69C4144.26,-2585.25 4160.07,-2584.89 4204,-2554.75 4208.82,-2551.45 4213.8,-2547.89 4218.7,-2544.29"/>
<polygon fill="#f91010" stroke="black" points="4220.47,-2546.59 4226.39,-2537.81 4216.28,-2540.98 4220.47,-2546.59"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_tree_printer -->
<g id="edge722" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_tree_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3628,-2709.55C3478.26,-2669.35 3446.59,-2641.24 3300,-2590.75 3236.44,-2568.86 3162.81,-2545.04 3114.48,-2529.6"/>
<polygon fill="#f91010" stroke="black" points="3115.86,-2526.05 3105.27,-2526.34 3113.73,-2532.72 3115.86,-2526.05"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_update_printer -->
<g id="edge723" 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="M3967.81,-2792.43C3898.02,-2754.78 3719.76,-2660.07 3566,-2590.75 3552.73,-2584.77 3480.13,-2555.98 3427.38,-2535.17"/>
<polygon fill="#f91010" stroke="black" points="3429.04,-2531.67 3418.45,-2531.26 3426.47,-2538.18 3429.04,-2531.67"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_user_printer -->
<g id="edge724" 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="M4030.97,-2795.63C4063.35,-2782.32 4113.88,-2760.63 4156,-2738.48 4225.19,-2702.09 4239.88,-2688.33 4306,-2646.62 4344.55,-2622.3 4348.91,-2605.6 4392,-2590.75 4565.37,-2531.04 4631.66,-2620.07 4803,-2554.75 4808.88,-2552.51 4814.68,-2549.46 4820.19,-2546.03"/>
<polygon fill="#f91010" stroke="black" points="4821.83,-2548.46 4828.14,-2539.95 4817.9,-2542.67 4821.83,-2548.46"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_validation_printer -->
<g id="edge725" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_validation_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4002.99,-2781.69C4006.3,-2762.24 4010.33,-2735.38 4012,-2711.55"/>
<path fill="none" stroke="black" d="M4012,-2709.55C4016.41,-2646.76 3970.18,-2586.7 3934.06,-2549.85"/>
<polygon fill="#f91010" stroke="black" points="3937.08,-2547.93 3927.52,-2543.35 3932.14,-2552.89 3937.08,-2547.93"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_version_printer -->
<g id="edge726" 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="M4012,-2709.55C4015.96,-2653.16 4057.16,-2654.1 4102,-2619.69"/>
<path fill="none" stroke="black" d="M4102,-2617.69C4126.66,-2598.76 4102.36,-2568.94 4075.52,-2545.95"/>
<polygon fill="#f91010" stroke="black" points="4078.1,-2542.72 4068.16,-2539.06 4073.65,-2548.12 4078.1,-2542.72"/>
</g>
<!-- ahriman_models_remote_source&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge727" 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="M5470,-3620.38C5345.89,-3366.66 5397.99,-3236.54 5532,-2987.9 5567.79,-2921.49 5596.09,-2914.04 5664,-2881.19 5729.61,-2849.45 5760.18,-2880.4 5824,-2845.19 5913.31,-2795.91 5894.35,-2727.4 5986,-2682.62 6104.28,-2624.82 6163.38,-2707.68 6280,-2646.62 6294.2,-2639.18 6290.8,-2628.78 6304,-2619.69"/>
</g>
<!-- ahriman_models_remote_source&#45;&gt;ahriman_core_database_operations_package_operations -->
<g id="edge728" 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="M5560.94,-3710.35C5715.68,-3705.29 6156.92,-3691.42 6524,-3685.31 6815.63,-3680.46 11486.75,-3699.91 11774,-3649.31 11846.94,-3636.47 11858.83,-3610.09 11931,-3593.45 12071.32,-3561.1 12112.93,-3590.89 12253,-3557.45 12309.76,-3543.9 12450.84,-3498.55 12499,-3465.59 12512.23,-3456.54 12509.06,-3446.59 12523,-3438.66"/>
</g>
<!-- ahriman_models_remote_source&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge729" 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="M5496.33,-3685.27C5490.51,-3666.86 5481.53,-3642.31 5470,-3622.38"/>
<path fill="none" stroke="black" d="M5470,-3620.38C5445.56,-3578.13 5415.88,-3590.54 5380,-3557.45 5246.33,-3434.19 5128,-3417 5128,-3235.17 5128,-3235.17 5128,-3235.17 5128,-3143.81 5128,-3084.22 5192.48,-2652.85 5242,-2619.69"/>
</g>
<!-- ahriman_models_remote_source&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge730" 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="M5456.82,-3697.19C5372.55,-3667.63 5197.24,-3593.51 5114,-3465.59 4988.12,-3272.15 5054.93,-3182.07 5038,-2951.9 5025.26,-2778.73 5035.34,-2675.3 5187,-2590.75 5246.42,-2557.63 5445.81,-2605.61 5491,-2554.75 5516.26,-2526.33 5512.44,-2500.6 5491,-2469.19 5466.25,-2432.93 5437.89,-2453.59 5399,-2433.19 5369.57,-2417.76 5347.61,-2422.9 5337,-2391.41"/>
</g>
<!-- ahriman_models_remote_source&#45;&gt;ahriman_core_repository_update_handler -->
<g id="edge731" class="edge">
<title>ahriman_models_remote_source&#45;&gt;ahriman_core_repository_update_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5561.32,-3712.24C5755.94,-3711.72 6390.18,-3705.64 6585,-3649.31 6689.88,-3618.99 6800,-3639.69 6800,-3530.52 6800,-3530.52 6800,-3530.52 6800,-3329.95 6800,-3242.38 6871.34,-3246.94 6928,-3180.17 7000.3,-3094.97 7015.72,-3071.38 7090,-2987.9 7146.21,-2924.73 7556.98,-2498.25 7611,-2433.19 7703.79,-2321.46 7795,-2308.38 7795,-2163.14 7795,-2163.14 7795,-2163.14 7795,-2047.01 7795,-1940.92 7859.91,-1926.24 7871,-1820.74"/>
<path fill="none" stroke="black" d="M7871,-1818.74C7871.69,-1799.11 7869.69,-1777.54 7867.14,-1759.1"/>
<polygon fill="#c70505" stroke="black" points="7870.47,-1758.73 7865.54,-1749.35 7863.55,-1759.76 7870.47,-1758.73"/>
</g>
<!-- ahriman_models_remote_source&#45;&gt;ahriman_models_package -->
<g id="edge732" 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="M5559.96,-3707.38C5742.33,-3691.53 6317.65,-3641.53 6489.23,-3626.62"/>
<polygon fill="#c70505" stroke="black" points="6489.52,-3630.02 6499.18,-3625.67 6488.91,-3623.05 6489.52,-3630.02"/>
</g>
<!-- ahriman_models_report_settings -->
<g id="node161" class="node">
<title>ahriman_models_report_settings</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c24747" stroke="black" cx="6676" cy="-2390.41" rx="57.45" ry="27.93"/>
<text text-anchor="middle" x="6676" y="-2396.66" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6676" y="-2386.16" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="6676" y="-2375.66" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report_settings</text>
</g>
<!-- ahriman_models_report_settings&#45;&gt;ahriman_core_report_report -->
<g id="edge733" 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="M6684.38,-2362.4C6704.93,-2296.25 6756.54,-2130.7 6762,-2119.36 6767.42,-2108.1 6774.43,-2096.56 6781.37,-2086.16"/>
<polygon fill="#c24747" stroke="black" points="6784.64,-2088.58 6787.41,-2078.35 6778.87,-2084.62 6784.64,-2088.58"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge734" 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="M7325.32,-4510.4C7433.7,-4483.96 7667.98,-4427.06 7686,-4424.74 7775.39,-4413.23 9230.87,-4435.38 9308,-4388.74 9322.93,-4379.71 9313.92,-4365.93 9327,-4354.39"/>
<path fill="none" stroke="black" d="M9327,-4352.39C9387.89,-4298.62 9259.13,-4070.25 9275,-3990.6 9333.01,-3699.48 9472.99,-3664.84 9531,-3373.73 9538.43,-3336.44 9540.14,-3325.08 9531,-3288.17 9503.49,-3177.12 9423.84,-3182.43 9389,-3073.46 9377.42,-3037.24 9365.7,-3017.95 9389,-2987.9 9428.37,-2937.13 9489.63,-3002.67 9529,-2951.9 9577.74,-2889.05 9498.8,-2542.71 9497,-2512.97"/>
<path fill="none" stroke="black" d="M9497,-2510.97C9483,-2459.72 9508.7,-2443.25 9497,-2391.41"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_application_handlers_setup -->
<g id="edge735" 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="M9327,-4352.39C9348.26,-4337.01 9352.27,-4331.13 9375,-4318.03 9594.31,-4191.63 9666.18,-4193.8 9894,-4083.46 10006.15,-4029.14 10038.83,-4022.98 10143,-3954.6 10280.66,-3864.22 10425,-3878.92 10425,-3714.24 10425,-3714.24 10425,-3714.24 10425,-3620.38 10425,-3392.86 10408.91,-3336.42 10393,-3109.46 10382.55,-2960.5 10398.65,-2920.41 10367,-2774.48 10348.58,-2689.54 10348.18,-2663.09 10300,-2590.75 10286.92,-2571.12 10274.09,-2574.38 10261,-2554.75 10077.31,-2279.26 10062.78,-2181.14 10005,-1855.09 9952.6,-1559.39 9983.25,-1474.78 10043,-1180.47"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_alpm_pacman -->
<g id="edge736" 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="M7508,-4054.53C7615.19,-3624.37 7647.83,-3514.94 7688,-3073.46 7695.74,-2988.36 7715.47,-2962.11 7688,-2881.19 7675.33,-2843.86 7641.29,-2849.57 7634,-2810.83"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_alpm_repo -->
<g id="edge737" 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="M7472,-4352.39C7491.36,-4310.07 7454.67,-4290.86 7472,-4247.67"/>
<path fill="none" stroke="black" d="M7472,-4245.67C7494.13,-4190.54 7494.21,-4174.73 7516,-4119.46 7635.5,-3816.33 7788,-3764.49 7788,-3438.66 7788,-3438.66 7788,-3438.66 7788,-3329.95 7788,-3175.45 7789.96,-3130.26 7850,-2987.9 7872.63,-2934.25 7879.9,-2916.75 7926,-2881.19 7961.75,-2853.61 7993.57,-2881.05 8021,-2845.19 8036.29,-2825.19 8064.17,-2633.31 8043,-2619.69"/>
<path fill="none" stroke="black" d="M8043,-2617.69C8014.14,-2599.14 7987.02,-2571.35 7967.71,-2549.06"/>
<polygon fill="#e50505" stroke="black" points="7969.85,-2547.17 7960.71,-2541.81 7964.52,-2551.7 7969.85,-2547.17"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge738" 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="M6952,-4441.74C6885.56,-4406.8 6890.33,-4370.86 6837,-4318.03 6787,-4268.5 6775.81,-4254.19 6720,-4211.32 6552.48,-4082.64 6457.55,-4114.92 6320,-3954.6 6292.91,-3923.02 6315.08,-3894.27 6282,-3869.04 5980.34,-3638.95 5738.29,-3973.04 5438,-3741.18 5224.35,-3576.21 5264.1,-3410.3 5318,-3145.81"/>
<path fill="none" stroke="black" d="M6304,-2617.69C6315.04,-2609.93 6310.88,-2602.21 6318,-2590.75 6326.18,-2577.6 6335.89,-2563.79 6344.96,-2551.52"/>
<polygon fill="#e50505" stroke="black" points="6348.23,-2553.99 6351.42,-2543.89 6342.63,-2549.79 6348.23,-2553.99"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge739" 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="M7472,-4245.67C7503.59,-4175.45 8059.71,-3996.16 8068,-3991.6 8170.13,-3935.35 8207.54,-3926.69 8277,-3833.04 8302.93,-3798.07 8301.32,-3783.62 8311,-3741.18 8385.77,-3413.32 8309.26,-3316.21 8382,-2987.9 8392.89,-2938.75 8396.09,-2925.49 8420,-2881.19 8506.41,-2721.09 8562.23,-2703.5 8667,-2554.75 8693.17,-2517.6 8696.58,-2506.18 8723,-2469.19 8734.78,-2452.7 8740.93,-2450.79 8751,-2433.19 8788.04,-2368.47 8780.27,-2344.28 8813,-2277.28"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_configuration_configuration -->
<g id="edge740" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_core_configuration_configuration</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7472,-4352.39C7506.9,-4276.08 7610.88,-4254.73 7679.42,-4249.13"/>
<polygon fill="#e50505" stroke="black" points="7679.37,-4252.57 7689.1,-4248.36 7678.87,-4245.59 7679.37,-4252.57"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge741" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7312.46,-4503.31C7361.23,-4476.73 7439.64,-4425.12 7472,-4354.39"/>
<path fill="none" stroke="black" d="M7472,-4352.39C7489.31,-4325.61 7461.13,-4313.76 7458,-4282.03 7454.92,-4250.75 7453.11,-4242.36 7458,-4211.32 7469.25,-4139.9 7487.36,-4125.81 7508,-4056.53"/>
<path fill="none" stroke="black" d="M7508,-4054.53C7501.2,-3914.87 7486.23,-3880.86 7480,-3741.18 7460.74,-3309.24 7498.7,-3197.31 7589,-2774.48 7603.84,-2704.99 7636.94,-2522.42 7684,-2469.19 7684.68,-2468.43 7952.02,-2347.93 7953,-2347.63 8053.87,-2317.69 8101.91,-2373.53 8187,-2311.63 8292.65,-2234.79 8222.38,-2136.93 8319,-2049.01"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_util -->
<g id="edge742" 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="M7318.68,-4506.21C7390.31,-4480.29 7522.55,-4433.72 7572,-4424.74 7899.07,-4365.36 8969.81,-4355.98 9212.01,-4354.61"/>
<polygon fill="#e50505" stroke="black" points="9211.93,-4358.1 9221.91,-4354.55 9211.89,-4351.1 9211.93,-4358.1"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_models_package -->
<g id="edge743" 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="M7216.97,-4509.9C7156.53,-4494.24 7065.21,-4469.68 7051,-4460.74 7014.76,-4437.95 7011.73,-4423.69 6987,-4388.74 6955.69,-4344.5 6953.94,-4329.61 6928,-4282.03 6910.92,-4250.7 6908.56,-4241.79 6890,-4211.32 6818.04,-4093.17 6754.95,-4086.74 6714,-3954.6 6702.74,-3918.27 6709.85,-3906.84 6714,-3869.04 6717.13,-3840.56 6727.7,-3834.76 6728,-3806.11"/>
<path fill="none" stroke="black" d="M6728,-3804.11C6727,-3798.69 6689.14,-3718.77 6686,-3714.24"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_models_package_source -->
<g id="edge744" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_models_package_source</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7216.22,-4510.58C7128.23,-4489.47 6963.95,-4449.64 6952,-4443.74"/>
<path fill="none" stroke="black" d="M6952,-4441.74C6910.37,-4421.21 6899.54,-4416.05 6862,-4388.74 6765.91,-4318.84 6764.64,-4271.18 6662,-4211.32 6619.38,-4186.47 6602.85,-4193.52 6557,-4175.32 6336.13,-4087.63 6273.42,-4077.45 6070,-3954.6 6016.98,-3922.58 6018.14,-3890.38 5960,-3869.04 5783.35,-3804.2 5298.73,-3868.86 5114,-3833.04 5107.17,-3831.71 5100.12,-3829.89 5093.2,-3827.8"/>
<polygon fill="#e50505" stroke="black" points="5094.79,-3824.32 5084.2,-3824.6 5092.66,-3830.98 5094.79,-3824.32"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_application_application_application -->
<g id="edge745" 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="M3682,-2510.97C3624.65,-2484.98 3643.81,-2441.77 3606,-2391.41"/>
<path fill="none" stroke="black" d="M3606,-2389.41C3591.7,-2370.37 2528.73,-1083.49 2507,-1073.76"/>
<path fill="none" stroke="black" d="M2507,-1071.76C2340.11,-993.27 2118.39,-973.61 2015.27,-968.69"/>
<polygon fill="#d10505" stroke="black" points="2015.62,-965.16 2005.48,-968.21 2015.31,-972.15 2015.62,-965.16"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge746" 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="M6162.18,-2617.01C5851.27,-2611.41 3727.83,-2572.51 3701,-2554.75 3683.99,-2543.5 3700.58,-2521.4 3682,-2512.97"/>
<path fill="none" stroke="black" d="M3682,-2510.97C3558.76,-2455.11 3527.08,-2443.03 3402,-2391.41"/>
<path fill="none" stroke="black" d="M3402,-2389.41C2781.23,-2133.23 2588.72,-2090.29 2089,-1641.67 2065.48,-1620.56 1771.83,-1207.83 1756,-1180.47"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge747" 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="M3402,-2389.41C3385.5,-2382.54 3348.21,-2256.81 3340,-2240.92 3310.74,-2184.32 3299.41,-2172.34 3264,-2119.36 3162.36,-1967.32 3175.98,-1887.6 3025,-1784.38 2971.25,-1747.64 2940.46,-1779 2883,-1748.38 2820.31,-1714.97 2808.29,-1697.22 2764,-1641.67 2685.17,-1542.81 2592.49,-1215.32 2488,-1144.12 2418.2,-1096.55 2179.75,-1081.06 2047.74,-1076.08"/>
<polygon fill="#d10505" stroke="black" points="2047.98,-1072.55 2037.86,-1075.68 2047.73,-1079.54 2047.98,-1072.55"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_application_handlers_triggers -->
<g id="edge748" 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="M3606,-2389.41C3381.98,-1953.48 3571,-1777.31 3571,-1287.18 3571,-1287.18 3571,-1287.18 3571,-965.05 3571,-729.09 3202.32,-657.3 3057.98,-638.23"/>
<polygon fill="#d10505" stroke="black" points="3058.53,-634.64 3048.16,-636.84 3057.64,-641.59 3058.53,-634.64"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge749" 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="M6213.87,-2592.38C6223.75,-2570.95 6233.86,-2539.57 6225,-2512.97"/>
<path fill="none" stroke="black" d="M6225,-2510.97C6218.23,-2490.66 6218.81,-2481.08 6201,-2469.19 6096.65,-2399.53 6017.95,-2512.83 5921,-2433.19 5905.87,-2420.76 5922.3,-2403.64 5907,-2391.41"/>
<path fill="none" stroke="black" d="M5907,-2389.41C5841.42,-2337.01 5821.95,-2327.93 5755,-2277.28"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge750" 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="M5907,-2389.41C5880.16,-2367.97 5886.91,-2266.52 5864,-2240.92 5836.09,-2209.75 5808.3,-2232.7 5777,-2204.92 5744.39,-2175.98 5752.67,-2155.98 5729,-2119.36 5707.89,-2086.71 5695.77,-2083.06 5677,-2049.01"/>
<path fill="none" stroke="black" d="M5677,-2047.01C5661.68,-2019.22 5638.16,-1992.72 5617.56,-1972.48"/>
<polygon fill="#d10505" stroke="black" points="5620.46,-1970.45 5610.83,-1966.03 5615.61,-1975.49 5620.46,-1970.45"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_console -->
<g id="edge751" 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="M6216.14,-2593.28C6233.84,-2568.67 6264.63,-2531.72 6301,-2512.97"/>
<path fill="none" stroke="black" d="M6301,-2510.97C6319.13,-2501.63 6303.33,-2480.96 6320,-2469.19 6396.9,-2414.93 6664.06,-2485.96 6742,-2433.19 6777.24,-2409.34 6762.72,-2383.89 6785,-2347.63 6805.36,-2314.51 6847.78,-2314.64 6837,-2277.28"/>
<path fill="none" stroke="black" d="M6837,-2275.28C6830.57,-2253.23 6824.3,-2228.49 6819.32,-2207.87"/>
<polygon fill="#d10505" stroke="black" points="6822.5,-2207.1 6816.77,-2198.19 6815.69,-2208.73 6822.5,-2207.1"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_email -->
<g id="edge752" 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="M6225,-2510.97C6218.36,-2490.61 6218.47,-2481.58 6201,-2469.19 6117.06,-2409.72 5993,-2493.8 5983,-2391.41"/>
<path fill="none" stroke="black" d="M5983,-2389.41C5957.85,-2131.9 6070.5,-2037.27 6284,-1891.09 6351.21,-1845.07 6446.7,-1829.15 6503.98,-1823.65"/>
<polygon fill="#d10505" stroke="black" points="6504.26,-1827.05 6513.91,-1822.68 6503.64,-1820.08 6504.26,-1827.05"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_html -->
<g id="edge753" 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="M5677,-2047.01C5643.3,-1985.88 5696.01,-1949.65 5658,-1891.09 5641.07,-1865.01 5623.91,-1872.29 5598,-1855.09 5595.09,-1853.17 5592.12,-1851.13 5589.14,-1849.06"/>
<polygon fill="#d10505" stroke="black" points="5591.48,-1845.71 5581.3,-1842.78 5587.42,-1851.42 5591.48,-1845.71"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge754" 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="M6401,-2161.14C6446.51,-2106.56 6469.97,-2104 6515,-2049.01"/>
<path fill="none" stroke="black" d="M6515,-2047.01C6526.8,-2032.6 6526.52,-2026.48 6539,-2012.65 6553.24,-1996.87 6570.58,-1981.2 6586.22,-1968.11"/>
<polygon fill="#d10505" stroke="black" points="6588.22,-1970.18 6593.71,-1961.12 6583.77,-1964.78 6588.22,-1970.18"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_remote_call -->
<g id="edge755" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_report_remote_call</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6301,-2510.97C6319.13,-2501.63 6303.03,-2480.52 6320,-2469.19 6370.91,-2435.23 7360.48,-2442.28 7421,-2433.19 7564.47,-2411.67 7593.08,-2372.53 7736,-2347.63 7934.1,-2313.13 7991.93,-2360.42 8187,-2311.63 8510.05,-2230.84 8556.14,-2111.92 8874,-2012.65 8991.27,-1976.03 9133.78,-1952.97 9211.21,-1942.16"/>
<polygon fill="#d10505" stroke="black" points="9211.27,-1945.55 9220.7,-1940.71 9210.32,-1938.61 9211.27,-1945.55"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_report -->
<g id="edge756" 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="M6225,-2510.97C6214.25,-2480.59 6626.08,-2137.09 6653,-2119.36 6687.82,-2096.44 6731.33,-2077.51 6763.55,-2065.08"/>
<polygon fill="#d10505" stroke="black" points="6764.48,-2068.09 6772.59,-2061.28 6762,-2061.55 6764.48,-2068.09"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_report_trigger -->
<g id="edge757" 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="M6225,-2510.97C6218.23,-2490.66 6216.87,-2483.57 6201,-2469.19 6172.11,-2443.02 6142.17,-2465.94 6121,-2433.19 6100.35,-2401.26 6097.65,-2377.65 6121,-2347.63 6160.98,-2296.25 6201.69,-2333.53 6263,-2311.63 6276.17,-2306.93 6480.4,-2214.04 6491,-2204.92 6525.64,-2175.13 6513.73,-2149.59 6548,-2119.36 6627.7,-2049.06 6659.56,-2040.96 6762,-2012.65 6963.51,-1956.97 7027.41,-2024.17 7231,-1976.65 7248.42,-1972.59 7266.74,-1966.06 7283.06,-1959.35"/>
<polygon fill="#d10505" stroke="black" points="7284.1,-1962.29 7291.94,-1955.18 7281.37,-1955.84 7284.1,-1962.29"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_telegram -->
<g id="edge758" 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="M5983,-2389.41C5978.93,-2356.44 6015.83,-2363.55 6045,-2347.63 6080.25,-2328.4 6347.02,-2231.63 6377,-2204.92 6392.99,-2190.68 6387.29,-2179.59 6401,-2163.14"/>
<path fill="none" stroke="black" d="M6401,-2161.14C6446.11,-2111.8 6401.48,-2075.23 6425,-2012.65 6447.42,-1953.01 6449.08,-1928.03 6501,-1891.09 6542.37,-1861.66 6685,-1838 6760.79,-1827.16"/>
<polygon fill="#d10505" stroke="black" points="6761.05,-1830.52 6770.46,-1825.65 6760.07,-1823.58 6761.05,-1830.52"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_repository_executor -->
<g id="edge759" 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="M6301,-2510.97C6319.15,-2501.66 6303.07,-2480.58 6320,-2469.19 6402.3,-2413.83 7115.08,-2454.3 7212,-2433.19 7310.07,-2411.83 7323.03,-2369.44 7421,-2347.63 7499.94,-2330.06 8088.63,-2366.56 8148,-2311.63 8196.84,-2266.45 8167,-2229.68 8167,-2163.14 8167,-2163.14 8167,-2163.14 8167,-2047.01 8167,-1940.92 8200.43,-1917.91 8243,-1820.74"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_triggers_trigger -->
<g id="edge760" 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="M6301,-2510.97C6319.13,-2501.63 6303.14,-2480.67 6320,-2469.19 6384.57,-2425.25 6944.74,-2444.61 7022,-2433.19 7137.93,-2416.06 7481.09,-2324.1 7606.46,-2290.01"/>
<polygon fill="#d10505" stroke="black" points="7607.13,-2293.18 7615.86,-2287.18 7605.29,-2286.43 7607.13,-2293.18"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_triggers_trigger_loader -->
<g id="edge761" 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="M6301,-2510.97C6319.12,-2501.6 6303.23,-2480.81 6320,-2469.19 6368.61,-2435.52 6792.69,-2443.02 6851,-2433.19 6993.63,-2409.17 7025.32,-2385.21 7165,-2347.63 7235.67,-2328.62 7317.04,-2307.07 7370.77,-2292.89"/>
<polygon fill="#d10505" stroke="black" points="7371.36,-2296.09 7380.13,-2290.15 7369.57,-2289.32 7371.36,-2296.09"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_upload_upload_trigger -->
<g id="edge762" 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="M3682,-2510.97C3658.25,-2500.37 3753.84,-2074.68 3758,-2049.01"/>
</g>
<!-- ahriman_models_sign_settings -->
<g id="node164" class="node">
<title>ahriman_models_sign_settings</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db2f2f" stroke="black" cx="11341" cy="-2511.97" rx="52.15" ry="27.93"/>
<text text-anchor="middle" x="11341" y="-2518.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11341" y="-2507.72" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="11341" y="-2497.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">sign_settings</text>
</g>
<!-- ahriman_models_sign_settings&#45;&gt;ahriman_application_ahriman -->
<g id="edge763" 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="M11391.82,-2504.69C11473.78,-2494.88 11640.29,-2476.32 11782,-2469.19 11947.85,-2460.86 17602.04,-2484.41 17760,-2433.19 18014.2,-2350.78 18085.52,-2294.74 18249,-2083.36 18337.49,-1968.94 18391.55,-1596.57 18450,-1464.25 18509.04,-1330.59 18580.02,-1322.09 18616,-1180.47"/>
<path fill="none" stroke="black" d="M18616,-1178.47C18638.36,-750.7 18795.56,-542.91 18514,-220.08"/>
</g>
<!-- ahriman_models_sign_settings&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge764" 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="M11290.55,-2504.19C11214.35,-2494.29 11065.29,-2476.31 10938,-2469.19 10877.98,-2465.84 6652.33,-2475.88 6610,-2433.19 6583.22,-2406.19 6596.21,-2383.07 6610,-2347.63 6617.87,-2327.41 6635.13,-2331.86 6643,-2311.63 6685.37,-2202.7 6647.7,-2164.39 6629,-2049.01"/>
</g>
<!-- ahriman_models_sign_settings&#45;&gt;ahriman_core_sign_gpg -->
<g id="edge765" 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="M11370.61,-2488.66C11405.1,-2461.55 11457.57,-2416.38 11459,-2391.41"/>
<path fill="none" stroke="black" d="M11459,-2389.41C11463.06,-2318.59 11421.95,-2244.02 11392.78,-2200.64"/>
<polygon fill="#db2f2f" stroke="black" points="11395.13,-2198.87 11386.58,-2192.61 11389.36,-2202.83 11395.13,-2198.87"/>
</g>
<!-- ahriman_models_smtp_ssl_settings -->
<g id="node165" class="node">
<title>ahriman_models_smtp_ssl_settings</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c24747" stroke="black" cx="6229" cy="-2162.14" rx="67.53" ry="27.93"/>
<text text-anchor="middle" x="6229" y="-2168.39" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6229" y="-2157.89" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="6229" y="-2147.39" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">smtp_ssl_settings</text>
</g>
<!-- ahriman_models_smtp_ssl_settings&#45;&gt;ahriman_core_report_email -->
<g id="edge766" 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="M6233.64,-2133.97C6244.24,-2080.01 6275.28,-1958.73 6349,-1891.09 6392.36,-1851.32 6459.29,-1833.87 6504.56,-1826.32"/>
<polygon fill="#c24747" stroke="black" points="6504.95,-1829.64 6514.29,-1824.65 6503.87,-1822.73 6504.95,-1829.64"/>
</g>
<!-- ahriman_models_upload_settings -->
<g id="node166" class="node">
<title>ahriman_models_upload_settings</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c24747" stroke="black" cx="10923" cy="-2162.14" rx="59.57" ry="27.93"/>
<text text-anchor="middle" x="10923" y="-2168.39" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10923" y="-2157.89" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="10923" y="-2147.39" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload_settings</text>
</g>
<!-- ahriman_models_upload_settings&#45;&gt;ahriman_core_upload_upload -->
<g id="edge767" 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="M10942.64,-2135.54C10960.3,-2112.66 10987.06,-2078.34 11011,-2049.01"/>
</g>
<!-- ahriman_models_user -->
<g id="node167" class="node">
<title>ahriman_models_user</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d10505" stroke="black" cx="14221" cy="-2809.83" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="14221" y="-2816.08" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14221" y="-2805.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="14221" y="-2795.08" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">user</text>
</g>
<!-- ahriman_models_user&#45;&gt;ahriman_application_handlers_setup -->
<g id="edge768" class="edge">
<title>ahriman_models_user&#45;&gt;ahriman_application_handlers_setup</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14183.88,-2803.1C13994.74,-2774.17 13119.03,-2643.5 12397,-2590.75 12248.45,-2579.9 11198.14,-2602.33 11057,-2554.75 10995.27,-2533.95 10991.36,-2506.55 10938,-2469.19 10790.4,-2365.87 10770.16,-2308.15 10603,-2240.92 10513.52,-2204.94 10452.26,-2277.73 10389,-2204.92 10369.78,-2182.8 10377.37,-1706.88 10375,-1677.67 10366.48,-1572.73 10320.64,-814.03 10247,-738.78"/>
</g>
<!-- ahriman_models_user&#45;&gt;ahriman_application_handlers_users -->
<g id="edge769" 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="M14258.8,-2805.57C14628.76,-2773.58 17593.71,-2515.08 17760,-2433.19 17977.92,-2325.89 18149.2,-2074.9 18210.55,-1975.98"/>
<polygon fill="#d10505" stroke="black" points="18214.05,-1977.97 18216.31,-1967.62 18208.09,-1974.3 18214.05,-1977.97"/>
</g>
<!-- ahriman_models_user&#45;&gt;ahriman_core_auth_mapping -->
<g id="edge770" 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="M14224.09,-2781.5C14233.32,-2714.44 14267.26,-2541.98 14378,-2469.19 14444.41,-2425.55 15752.52,-2490.09 15808,-2433.19 15826.67,-2414.05 15800.25,-2263.79 15789,-2163.14"/>
<path fill="none" stroke="black" d="M15789,-2161.14C15785.81,-2137.67 15791.51,-2112 15798.59,-2091.15"/>
<polygon fill="#d10505" stroke="black" points="15802.14,-2092.63 15802.26,-2082.03 15795.56,-2090.24 15802.14,-2092.63"/>
</g>
<!-- ahriman_models_user&#45;&gt;ahriman_core_database_operations_auth_operations -->
<g id="edge771" 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="M14239.3,-2784.87C14276.94,-2735.6 14363.55,-2622.22 14412.21,-2558.52"/>
<polygon fill="#d10505" stroke="black" points="14415.52,-2560.95 14418.81,-2550.88 14409.96,-2556.7 14415.52,-2560.95"/>
</g>
<!-- ahriman_models_user&#45;&gt;ahriman_core_formatters_user_printer -->
<g id="edge772" 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="M14182.82,-2808.35C13695.36,-2802.21 8703.27,-2739.26 8685,-2738.48 8342.19,-2723.88 8257.75,-2698.54 7915,-2682.62 7132.57,-2646.27 6935.23,-2686.98 6153,-2646.62 5852.82,-2631.13 5778.78,-2612.76 5479,-2590.75 5353.97,-2581.58 5033.84,-2597.53 4916,-2554.75 4909.72,-2552.47 4903.53,-2549.27 4897.68,-2545.65"/>
<polygon fill="#d10505" stroke="black" points="4900.05,-2542.35 4889.8,-2539.67 4896.14,-2548.15 4900.05,-2542.35"/>
</g>
<!-- ahriman_models_user&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge773" class="edge">
<title>ahriman_models_user&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14182.91,-2808.33C13745.97,-2802.56 9696.08,-2748.8 9668,-2738.48 9408.97,-2643.25 9377.03,-2536.48 9217,-2311.63 9140.54,-2204.21 9206.54,-2082.48 9079,-2049.01"/>
<path fill="none" stroke="black" d="M9079,-2047.01C9035.52,-2035.82 9026.98,-2025.62 8984,-2012.65 8903.35,-1988.32 8809.52,-1966.16 8744.59,-1951.78"/>
<polygon fill="#d10505" stroke="black" points="8745.55,-1948.18 8735.03,-1949.45 8744.04,-1955.02 8745.55,-1948.18"/>
</g>
<!-- ahriman_models_user_access -->
<g id="node168" class="node">
<title>ahriman_models_user_access</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f91010" stroke="black" cx="15640" cy="-2916.54" rx="50.56" ry="27.93"/>
<text text-anchor="middle" x="15640" y="-2922.79" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15640" y="-2912.29" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="15640" y="-2901.79" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">user_access</text>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_application_ahriman -->
<g id="edge774" 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="M15690.76,-2914.66C15901.68,-2910.11 16728.71,-2883.45 17389,-2738.48 17634.15,-2684.65 17716.81,-2697.86 17923,-2554.75 18088.45,-2439.93 18095.85,-2370.14 18211,-2204.92 18246.78,-2153.59 18252.56,-2138.57 18282,-2083.36 18322.05,-2008.25 18595.33,-1476.47 18616,-1393.9"/>
<path fill="none" stroke="black" d="M18616,-1391.9C18625.54,-1298.42 18601.93,-1273.38 18616,-1180.47"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_core_auth_auth -->
<g id="edge775" 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="M15903,-2275.28C15897.05,-2174.89 15897.74,-2149.44 15903,-2049.01"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_core_auth_mapping -->
<g id="edge776" 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="M15627,-2510.97C15605.99,-2485.23 15658.74,-2482.92 15689,-2469.19 15745.94,-2443.36 15776.49,-2472.65 15825,-2433.19 15885.11,-2384.3 15920.78,-2352.69 15903,-2277.28"/>
<path fill="none" stroke="black" d="M15903,-2275.28C15898.8,-2204.33 15798.58,-2233.57 15789,-2163.14"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_core_database_operations_auth_operations -->
<g id="edge777" 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="M15590.37,-2910.08C15514.47,-2900.99 15365.49,-2880.21 15243,-2845.19 14956.39,-2763.25 14634.21,-2607.87 14505.08,-2542.8"/>
<polygon fill="#f91010" stroke="black" points="14506.88,-2539.29 14496.38,-2537.91 14503.73,-2545.54 14506.88,-2539.29"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge778" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15589.42,-2915.13C14970.08,-2910.1 8871.61,-2860.16 8855,-2845.19 8824.86,-2818.01 8777.5,-2159.58 8772,-2119.36 8765.49,-2071.78 8778.36,-2054.61 8755,-2012.65 8745.85,-1996.21 8731.81,-1981.62 8717.52,-1969.65"/>
<polygon fill="#f91010" stroke="black" points="8720.1,-1966.43 8710.11,-1962.9 8715.72,-1971.89 8720.1,-1966.43"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_models_user -->
<g id="edge779" 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="M15589.91,-2911.85C15369.46,-2895.58 14486.87,-2830.45 14269.54,-2814.41"/>
<polygon fill="#f91010" stroke="black" points="14270.05,-2810.87 14259.82,-2813.62 14269.53,-2817.85 14270.05,-2810.87"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge780" 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="M16131,-2808.83C16872.8,-2656.41 17266.7,-2977.72 17793,-2433.19 17988.03,-2231.41 18110.45,-1635.56 18141,-1428.25 18145.58,-1397.16 18150.41,-1387.52 18141,-1357.54 18129.59,-1321.18 18070.46,-1318.62 18092,-1287.18"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_api_docs -->
<g id="edge781" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_api_docs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16131,-2808.83C16741.01,-2682.27 16952.4,-2642.36 17396,-2204.92 17732.86,-1872.75 17520.54,-1571.9 17868,-1250.83 17899.64,-1221.59 17928.13,-1245.87 17958,-1214.83 18039.38,-1130.26 17989.54,-977 17956.41,-899.89"/>
<polygon fill="#f91010" stroke="black" points="17959.29,-898.73 17952.07,-890.98 17952.88,-901.54 17959.29,-898.73"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_api_swagger -->
<g id="edge782" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_api_swagger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15455,-2808.83C15398.34,-2761.5 15408.52,-2723.43 15347,-2682.62 15303.08,-2653.48 15276.44,-2677.88 15234,-2646.62 15209.62,-2628.66 15220.42,-2607.2 15195,-2590.75 15122.84,-2544.07 15083.63,-2589.45 15005,-2554.75 14947.04,-2529.18 14944.88,-2502.51 14891,-2469.19 14860.57,-2450.38 14843.28,-2459.47 14819,-2433.19 14716.89,-2322.67 14786.13,-2236.75 14692,-2119.36 14657.05,-2075.77 14525.55,-2015.09 14485,-1976.65 14450.15,-1943.61 14458.57,-1918.31 14419,-1891.09 14373.13,-1859.53 14346.93,-1883.43 14299,-1855.09 14260.39,-1832.27 14260.39,-1814.33 14227,-1784.38 14208.19,-1767.51 14199.58,-1767.45 14183,-1748.38 14167.85,-1730.97 14094.16,-1583.82 14075,-1570.96 13990.54,-1514.29 13931.91,-1593.88 13849,-1534.96 13819.92,-1514.3 13840.1,-1484.9 13811,-1464.25 13727.34,-1404.88 13666.66,-1487.62 13583,-1428.25 13553.9,-1407.6 13575.17,-1376.59 13545,-1357.54 13405.98,-1269.76 12948.19,-1404.1 12806,-1321.54 12653.39,-1232.93 12604.1,-1047.93 12736,-930.7 12794.24,-878.93 15468.34,-922.86 15541,-894.7 15544.95,-893.17 15548.79,-891.14 15552.45,-888.8"/>
<polygon fill="#f91010" stroke="black" points="15554.14,-891.17 15560.16,-882.45 15550.02,-885.51 15554.14,-891.17"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_base -->
<g id="edge783" 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="M15723,-1605.32C15733.36,-1559.95 15714.33,-1546.33 15723,-1500.61"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_index -->
<g id="edge784" 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="M15686.71,-2905.56C15773.98,-2886.91 15967.73,-2845.53 16131,-2810.83"/>
<path fill="none" stroke="black" d="M16131,-2808.83C16212.3,-2791.55 16199.95,-2728.88 16269,-2682.62 16485.27,-2537.7 16574.6,-2565.19 16799,-2433.19 16938.58,-2351.09 16974.73,-2325.35 17083,-2204.92 17094.06,-2192.62 17782.96,-1261.01 17796,-1250.83 17828.66,-1225.34 17859.04,-1249.33 17882,-1214.83 17946.91,-1117.29 17890.08,-1031.15 17792,-967.05"/>
<path fill="none" stroke="black" d="M17792,-965.05C17776.54,-954.66 17782.4,-942.52 17768,-930.7 17737.24,-905.44 17721.97,-911.74 17686,-894.7 17673.13,-888.6 17659.27,-881.68 17646.68,-875.25"/>
<polygon fill="#f91010" stroke="black" points="17648.4,-871.68 17637.9,-870.23 17645.2,-877.91 17648.4,-871.68"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_add -->
<g id="edge785" 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="M15687,-2709.55C15709.51,-2542.7 15930.29,-2732.79 16055,-2619.69"/>
<path fill="none" stroke="black" d="M16055,-2617.69C16130.86,-2548.88 16147.39,-2264.24 16131,-2163.14"/>
<path fill="none" stroke="black" d="M16131,-2161.14C16118.96,-2095.96 16076.08,-2064.8 16117,-2012.65 16158.52,-1959.74 16200.26,-1998.15 16264,-1976.65 16617.64,-1857.4 16760.18,-1895.25 17034,-1641.67 17178.22,-1508.11 17127.67,-1411.44 17241,-1250.83 17253.51,-1233.1 17266.13,-1235.06 17274,-1214.83 17324.51,-1084.99 17194.28,-1049.52 17082,-967.05"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_pgp -->
<g id="edge786" 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="M16131,-2161.14C16129.76,-2144.03 17240.3,-1654.23 17252,-1641.67 17344.09,-1542.83 17277.2,-1464.29 17360,-1357.54 17377,-1335.62 17389.19,-1338.69 17411,-1321.54 17448.57,-1292.01 17454.86,-1280.9 17492,-1250.83 17512.73,-1234.05 17528.07,-1238.68 17540,-1214.83 17554.05,-1186.72 17559.03,-1169.13 17540,-1144.12 17503.7,-1096.4 17463.84,-1134.49 17410,-1108.12 17291.51,-1050.09 17295.81,-976.28 17172,-930.7 16940.87,-845.59 16846.25,-989.67 16619,-894.7 16615.14,-893.09 16611.39,-891.02 16607.79,-888.68"/>
<polygon fill="#f91010" stroke="black" points="16610.34,-885.47 16600.21,-882.37 16606.2,-891.11 16610.34,-885.47"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_process -->
<g id="edge787" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_service_process</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16055,-2617.69C16614.14,-2198.95 16818.6,-2159.92 17287,-1641.67 17296.44,-1631.23 17556.05,-1228.34 17560,-1214.83 17568.82,-1184.67 17573.22,-1172.63 17560,-1144.12 17552.28,-1127.47 17324.97,-937.68 17308,-930.7 17212.56,-891.45 16946.99,-910.47 16845,-894.7 16799.65,-887.68 16748.77,-875.37 16712.88,-865.92"/>
<polygon fill="#f91010" stroke="black" points="16714.27,-862.4 16703.71,-863.21 16712.47,-869.16 16714.27,-862.4"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_rebuild -->
<g id="edge788" 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="M15673.22,-2894.97C15745.44,-2850.19 15922.1,-2740.36 16069,-2646.62 16107.42,-2622.1 16114.25,-2611.16 16155,-2590.75 16476.38,-2429.83 16631.75,-2534.16 16914,-2311.63 17314.2,-1996.12 17203.61,-1731.34 17550,-1357.54 17567.65,-1338.5 17575.62,-1337.63 17596,-1321.54 17655.76,-1274.37 17684.49,-1275.86 17730,-1214.83 17760.56,-1173.84 17763.27,-1158.32 17773,-1108.12 17778.98,-1077.27 17793.27,-1061.43 17773,-1037.41 17742.32,-1001.06 17608.34,-1012.12 17562,-1001.41 17453.24,-976.27 17429.63,-956.4 17321,-930.7 17184.35,-898.36 17020.45,-872.04 16940.57,-860"/>
<polygon fill="#f91010" stroke="black" points="16941.27,-856.42 16930.86,-858.4 16940.24,-863.34 16941.27,-856.42"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_remove -->
<g id="edge789" 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="M15671,-2808.83C15664.29,-2765.53 15693.07,-2754.94 15687,-2711.55"/>
<path fill="none" stroke="black" d="M15687,-2709.55C15670.88,-2594.37 15541.59,-2688.26 15433,-2646.62 15276.42,-2586.57 15256.36,-2529.8 15100,-2469.19 15039.69,-2445.82 15010.25,-2472.65 14959,-2433.19 14832.45,-2335.78 14871.33,-2253.07 14784,-2119.36 14714.39,-2012.79 14696.63,-1985.29 14611,-1891.09 14563.88,-1839.26 14557.47,-1816.08 14495,-1784.38 14421.47,-1747.08 14378.27,-1798.77 14313,-1748.38 14243.63,-1694.84 14296.25,-1624.65 14227,-1570.96 14163.21,-1521.51 14125.27,-1561.36 14049,-1534.96 13883.44,-1477.66 13858.68,-1425.01 13697,-1357.54 13628.21,-1328.84 13451.72,-1267.2 13379,-1250.83 13313.28,-1236.04 13129.74,-1257.97 13078,-1214.83 12980.39,-1133.45 12956.32,-1020.74 13046,-930.7 13098.6,-877.89 15659.51,-921.65 15729,-894.7 15732.95,-893.16 15736.79,-891.14 15740.45,-888.8"/>
<polygon fill="#f91010" stroke="black" points="15742.14,-891.16 15748.16,-882.45 15738.02,-885.51 15742.14,-891.16"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_request -->
<g id="edge790" 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="M15687,-2709.55C15654.31,-2467.99 15425.6,-2545.22 15194,-2469.19 15109.43,-2441.43 15061.91,-2494.09 14997,-2433.19 14932.76,-2372.94 14972.07,-2325.92 14949,-2240.92 14921.3,-2138.88 14921.71,-2110.65 14882,-2012.65 14859.07,-1956.07 14862.86,-1932.51 14818,-1891.09 14788.16,-1863.54 14768.76,-1876.1 14734,-1855.09 14691.36,-1829.32 14688.38,-1812.14 14647,-1784.38 14619.25,-1765.77 14610.28,-1764.48 14581,-1748.38 14149.15,-1510.89 14064.67,-1383.43 13590,-1250.83 13363.75,-1187.63 13031.8,-1300.83 13092,-1073.76"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_search -->
<g id="edge791" 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="M15589.88,-2911.48C15517.5,-2904.4 15380.39,-2886.42 15271,-2845.19 15213.07,-2823.36 15208.21,-2798.13 15151,-2774.48 15091.63,-2749.93 15068.7,-2766.74 15011,-2738.48 14812.06,-2641.04 14789.72,-2571.91 14617,-2433.19 14558.62,-2386.3 13649.93,-1600.22 13581,-1570.96 13513.09,-1542.14 13307.06,-1582.91 13251,-1534.96 13188.92,-1481.86 13266.85,-1408.5 13203,-1357.54 13126.08,-1296.15 12402.79,-1371.51 12318,-1321.54 12286.31,-1302.87 12297.47,-1279.95 12275,-1250.83 12258.29,-1229.18 12120.17,-1095.82 12104,-1073.76"/>
<path fill="none" stroke="black" d="M12104,-1071.76C12073.9,-1032.46 12048.57,-1013.39 12066,-967.05"/>
<path fill="none" stroke="black" d="M12066,-965.05C12072.56,-947.62 12073.53,-939.4 12090,-930.7 12245.66,-848.43 15094.79,-958.2 15259,-894.7 15262.95,-893.17 15266.79,-891.14 15270.45,-888.8"/>
<polygon fill="#f91010" stroke="black" points="15272.14,-891.17 15278.17,-882.46 15268.02,-885.52 15272.14,-891.17"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_update -->
<g id="edge792" 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="M15627,-2389.41C15630.88,-2354.24 15636.61,-2346.24 15644,-2311.63 15658.09,-2245.7 15675,-2230.56 15675,-2163.14 15675,-2163.14 15675,-2163.14 15675,-1932.87 15675,-1861.36 15687.73,-1836.22 15737,-1784.38 16065.24,-1439.01 16450.02,-1724.68 16704,-1321.54 16746.03,-1254.82 16753.57,-1205.44 16704,-1144.12 16655.99,-1084.74 16599.22,-1150.95 16536,-1108.12 16526.17,-1101.46 16426.98,-937.12 16417,-930.7 16334.42,-877.55 16287.63,-936.98 16199,-894.7 16195.23,-892.9 16191.53,-890.7 16187.98,-888.27"/>
<polygon fill="#f91010" stroke="black" points="16190.54,-885.07 16180.46,-881.82 16186.32,-890.65 16190.54,-885.07"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_upload -->
<g id="edge793" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_service_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15703,-2617.69C15714.52,-2538.96 15743.08,-2521.55 15803,-2469.19 15830.24,-2445.39 15852.17,-2460.42 15876,-2433.19 16004.59,-2286.28 15882.5,-2166.28 16003,-2012.65 16070.03,-1927.19 16119.3,-1942.45 16215,-1891.09 16308.3,-1841.03 16331.3,-1827.51 16428,-1784.38 16586.32,-1713.77 16683.63,-1777.77 16791,-1641.67 16927.96,-1468.06 16882.67,-1344.44 16789,-1144.12 16740,-1039.33 16739.68,-989.41 16640,-930.7 16506.41,-852 16434.89,-957.22 16293,-894.7 16289.18,-893.01 16285.44,-890.9 16281.86,-888.52"/>
<polygon fill="#f91010" stroke="black" points="16284.42,-885.31 16274.3,-882.15 16280.24,-890.93 16284.42,-885.31"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge794" 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="M15627,-2510.97C15593.04,-2470.1 15624.68,-2444.5 15627,-2391.41"/>
<path fill="none" stroke="black" d="M15627,-2389.41C15638.76,-2120.34 15619.06,-2050.42 15661,-1784.38 15668.64,-1735.95 15672.03,-1723.67 15689,-1677.67 15701.02,-1645.09 15715.27,-1641.18 15723,-1607.32"/>
<path fill="none" stroke="black" d="M15723,-1605.32C15726.55,-1573.63 15712.13,-1566.69 15709,-1534.96 15701.27,-1456.49 15654.56,-1414.59 15709,-1357.54 15767.9,-1295.81 16401.1,-1362.4 16476,-1321.54 16543.46,-1284.74 16593.23,-1255.37 16576,-1180.47"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_status_package -->
<g id="edge795" 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="M15602.06,-2897.79C15563.34,-2878.85 15502.39,-2846.68 15455,-2810.83"/>
<path fill="none" stroke="black" d="M15455,-2808.83C15448.15,-2803.65 14897.06,-2560.85 14891,-2554.75 14861.66,-2525.26 14882.97,-2498.06 14853,-2469.19 14821.97,-2439.31 14793.67,-2463.45 14763,-2433.19 14730.05,-2400.7 14708.12,-2279.79 14683,-2240.92 14642.79,-2178.72 14622.52,-2170.57 14569,-2119.36 14512.72,-2065.51 14368.33,-1933.51 14303,-1891.09 14271.65,-1870.74 14254.09,-1880.84 14227,-1855.09 14201.14,-1830.51 14212.77,-1810.99 14189,-1784.38 14170.27,-1763.42 14157.42,-1767.7 14137,-1748.38 14064.43,-1679.73 14084.19,-1623.13 13999,-1570.96 13926.45,-1526.53 13887,-1573.19 13811,-1534.96 13769.49,-1514.08 13775.52,-1485.11 13734,-1464.25 13657.59,-1425.87 13627.36,-1451.24 13545,-1428.25 13458.22,-1404.02 13443.19,-1376 13355,-1357.54 13216.01,-1328.45 12843.23,-1386.59 12717,-1321.54 12608.96,-1265.86 12586.28,-1222.8 12546,-1108.12 12535.59,-1078.47 12536.17,-1067.26 12546,-1037.41 12558.17,-1000.48 12581.95,-1002.47 12598,-967.05"/>
<path fill="none" stroke="black" d="M12598,-965.05C12605.38,-947.95 12605.54,-939.41 12622,-930.7 12760.72,-857.26 15300.65,-951.41 15447,-894.7 15450.95,-893.17 15454.79,-891.14 15458.45,-888.8"/>
<polygon fill="#f91010" stroke="black" points="15460.14,-891.17 15466.16,-882.45 15456.02,-885.51 15460.14,-891.17"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_status_packages -->
<g id="edge796" 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="M15703,-2617.69C15712.9,-2576.01 15743.66,-2582.84 15776,-2554.75 15899.34,-2447.66 16017,-2440.62 16017,-2277.28 16017,-2277.28 16017,-2277.28 16017,-2161.14 16017,-2094.29 15998.47,-2064.23 16041,-2012.65 16070.52,-1976.85 16095.89,-1993.82 16139,-1976.65 16377.65,-1881.6 16444.57,-1871.54 16670,-1748.38 16744.36,-1707.76 16764.67,-1697.97 16828,-1641.67 16874.8,-1600.07 16887.37,-1588.41 16920,-1534.96 16990.98,-1418.68 16965,-1367.7 17035,-1250.83 17045.7,-1232.96 17057.91,-1234.41 17065,-1214.83 17075.7,-1185.28 17078.61,-1172.44 17065,-1144.12 17053.9,-1121.03 17039.44,-1124.79 17020,-1108.12 16984.73,-1077.88 16984.03,-1059.21 16943,-1037.41 16882.08,-1005.03 16846.68,-1043.48 16792,-1001.41 16763.72,-979.65 16783.69,-950.49 16754,-930.7 16618.37,-840.28 16537.99,-960.84 16389,-894.7 16385.94,-893.34 16382.95,-891.7 16380.06,-889.86"/>
<polygon fill="#f91010" stroke="black" points="16382.32,-886.46 16372.16,-883.44 16378.22,-892.13 16382.32,-886.46"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_status_status -->
<g id="edge797" 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="M15597.44,-2901.25C15556.98,-2887.48 15494.53,-2865.77 15441,-2845.19 15364.62,-2815.83 15347.3,-2804.06 15271,-2774.48 15134.34,-2721.49 15079.27,-2740.85 14967,-2646.62 14944,-2627.31 14951.81,-2610.28 14929,-2590.75 14900.6,-2566.45 14879.1,-2581.5 14853,-2554.75 14823.94,-2524.98 14845.18,-2497.84 14815,-2469.19 14782.55,-2438.4 14758.33,-2457.84 14721,-2433.19 14721,-2433.19 14161,-1855.09 14161,-1855.09 14137.03,-1825.63 14141.13,-1809.91 14113,-1784.38 14088.26,-1761.93 14071.74,-1770.84 14047,-1748.38 14018.87,-1722.86 14025.65,-1704.74 13999,-1677.67 13941.1,-1618.85 13920.72,-1608.09 13847,-1570.96 13830.22,-1562.51 13544.14,-1469.16 13526,-1464.25 13451.03,-1443.97 13417.18,-1474.79 13355,-1428.25 13326.44,-1406.87 13347.14,-1376.62 13317,-1357.54 13184.64,-1273.75 12761,-1372.88 12613,-1321.54 12407.39,-1250.21 12160.74,-1081.14 12318,-930.7 12378.92,-872.42 15274.37,-925.13 15353,-894.7 15356.95,-893.17 15360.79,-891.14 15364.45,-888.8"/>
<polygon fill="#f91010" stroke="black" points="15366.14,-891.17 15372.17,-882.46 15362.02,-885.51 15366.14,-891.17"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_user_login -->
<g id="edge798" 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="M15655.79,-2889.83C15666.79,-2868.69 15678.29,-2837.93 15671,-2810.83"/>
<path fill="none" stroke="black" d="M15671,-2808.83C15638.86,-2689.41 15533.43,-2738.3 15423,-2682.62 15309.44,-2625.36 15280.13,-2612.87 15167,-2554.75 15094.57,-2517.55 15080.42,-2499.88 15005,-2469.19 14952.64,-2447.89 14925.24,-2470.77 14883,-2433.19 14769.69,-2332.38 14841.34,-2239.68 14749,-2119.36 14598.07,-1922.7 14514.2,-1914.2 14303,-1784.38 14274.53,-1766.89 14261.9,-1770.67 14237,-1748.38 14165.32,-1684.22 14194.36,-1622.31 14113,-1570.96 14030.7,-1519.02 13978.95,-1587.46 13897,-1534.96 13865.02,-1514.47 13880.1,-1486.05 13849,-1464.25 13795.69,-1426.88 13767.38,-1452.6 13707,-1428.25 13648.16,-1404.53 13643.34,-1377.12 13583,-1357.54 13443.51,-1312.27 13399.69,-1345.46 13255,-1321.54 13038.96,-1285.83 12919.13,-1378.8 12774,-1214.83 12737.34,-1173.41 12701.33,-993.35 12750,-967.05"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge799" 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="M15687,-2709.55C15692.42,-2669.34 15697.13,-2659.82 15703,-2619.69"/>
<path fill="none" stroke="black" d="M15703,-2617.69C15708.25,-2581.79 15671.67,-2584.58 15651,-2554.75 15638.8,-2537.15 15641.01,-2529.17 15627,-2512.97"/>
<path fill="none" stroke="black" d="M15627,-2510.97C15544.96,-2416.11 15166.84,-2510.39 15068,-2433.19 15009.85,-2387.78 15011,-2351.06 15011,-2277.28 15011,-2277.28 15011,-2277.28 15011,-2047.01 15011,-1957.23 14783.4,-1826.29 14704,-1784.38 14664.07,-1763.31 14647.36,-1772.21 14609,-1748.38 14569.81,-1724.04 14569.84,-1705.44 14533,-1677.67 14386.3,-1567.08 14337.11,-1557.81 14179,-1464.25 14151.58,-1448.02 14142.98,-1446.7 14117,-1428.25 14018.2,-1358.11 14022.26,-1296.44 13910,-1250.83 13851.31,-1226.99 13384.36,-1261.02 13341,-1214.83 13319.39,-1191.81 13333.57,-1093.77 13358,-1073.76"/>
<path fill="none" stroke="black" d="M13358,-1071.76C13438.17,-987.91 15333.17,-1032.28 15445,-1001.41 15475.37,-993.02 15475.95,-972.37 15507,-967.05"/>
<path fill="none" stroke="black" d="M15507,-965.05C15587.71,-951.23 15607.32,-944.69 15688,-930.7 15789.51,-913.09 15823.84,-938.7 15917,-894.7 15920.78,-892.91 15924.48,-890.73 15928.04,-888.3"/>
<polygon fill="#f91010" stroke="black" points="15929.69,-890.68 15935.56,-881.87 15925.47,-885.1 15929.69,-890.68"/>
</g>
<!-- ahriman_models_waiter -->
<g id="node169" class="node">
<title>ahriman_models_waiter</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#ce3b3b" stroke="black" cx="9715" cy="-2710.55" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="9715" y="-2716.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9715" y="-2706.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="9715" y="-2695.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">waiter</text>
</g>
<!-- ahriman_models_waiter&#45;&gt;ahriman_application_lock -->
<g id="edge800" class="edge">
<title>ahriman_models_waiter&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9643,-2617.69C9628.7,-2597.9 9620.2,-2571.79 9615.28,-2550.59"/>
<polygon fill="#ce3b3b" stroke="black" points="9618.53,-2550.06 9613.02,-2541.01 9611.69,-2551.53 9618.53,-2550.06"/>
</g>
<!-- ahriman_models_waiter&#45;&gt;ahriman_core_report_remote_call -->
<g id="edge801" class="edge">
<title>ahriman_models_waiter&#45;&gt;ahriman_core_report_remote_call</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9695.4,-2686.39C9680.54,-2668.53 9659.87,-2643.01 9643,-2619.69"/>
<path fill="none" stroke="black" d="M9643,-2617.69C9633.61,-2604.69 9631.52,-2600.77 9619,-2590.75 9593.2,-2570.14 9570.95,-2583.1 9554,-2554.75 9482.42,-2435.03 9631.8,-2353.91 9550,-2240.92 9521.07,-2200.96 9486.89,-2230.99 9445,-2204.92 9399.22,-2176.44 9398.49,-2156.08 9359,-2119.36 9324.08,-2086.9 9292.51,-2094.43 9278,-2049.01"/>
</g>
<!-- ahriman_web -->
<g id="node170" class="node">
<title>ahriman_web</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f91010" stroke="black" cx="11313" cy="-531.79" rx="41.24" ry="18"/>
<text text-anchor="middle" x="11313" y="-527.54" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.web</text>
</g>
<!-- ahriman_web&#45;&gt;ahriman_application_handlers_web -->
<g id="edge802" 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="M11335.55,-516.66C11363.35,-497.48 11404.34,-462.29 11382,-433.5"/>
</g>
<!-- ahriman_web_apispec&#45;&gt;ahriman_web_web -->
<g id="edge803" class="edge">
<title>ahriman_web_apispec&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11655.21,-938.06C11653.52,-915.18 11652.58,-881.61 11658,-852.92"/>
</g>
<!-- ahriman_web_cors -->
<g id="node172" class="node">
<title>ahriman_web_cors</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b03a3a" stroke="black" cx="17500" cy="-737.78" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="17500" y="-744.03" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="17500" y="-733.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="17500" y="-723.03" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">cors</text>
</g>
<!-- ahriman_web_cors&#45;&gt;ahriman_web_web -->
<g id="edge804" class="edge">
<title>ahriman_web_cors&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17509.86,-710.39C17517.17,-685.7 17522.43,-650.02 17500,-632.07"/>
</g>
<!-- ahriman_web_middlewares -->
<g id="node173" class="node">
<title>ahriman_web_middlewares</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d02424" stroke="black" cx="17577" cy="-631.07" rx="49.5" ry="27.93"/>
<text text-anchor="middle" x="17577" y="-637.32" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="17577" y="-626.82" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="17577" y="-616.32" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">middlewares</text>
</g>
<!-- ahriman_web_middlewares&#45;&gt;ahriman_web_web -->
<g id="edge805" 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="M17545.56,-609.07C17535.85,-603.66 17524.84,-598.57 17514,-595.72 17304.49,-540.62 13843.66,-533.54 13389.93,-532.85"/>
<polygon fill="#d02424" stroke="black" points="13390.18,-529.35 13380.17,-532.84 13390.17,-536.35 13390.18,-529.35"/>
</g>
<!-- ahriman_web_middlewares_auth_handler&#45;&gt;ahriman_web_web -->
<g id="edge806" 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="M18204.06,-930.59C18203.29,-908.36 18203.16,-878.85 18206,-852.92"/>
</g>
<!-- ahriman_web_middlewares_exception_handler -->
<g id="node175" class="node">
<title>ahriman_web_middlewares_exception_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="18112" cy="-737.78" rx="66.47" ry="35.36"/>
<text text-anchor="middle" x="18112" y="-749.28" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="18112" y="-738.78" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="18112" y="-728.28" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">middlewares.</text>
<text text-anchor="middle" x="18112" y="-717.78" 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="edge807" 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="M18159.11,-712.47C18191.45,-692.38 18225.31,-662.35 18206,-632.07"/>
<path fill="none" stroke="black" d="M18206,-630.07C18137.65,-522.91 13896.03,-531.26 13390.15,-532.64"/>
<polygon fill="#993333" stroke="black" points="13390.23,-529.14 13380.24,-532.67 13390.25,-536.14 13390.23,-529.14"/>
</g>
<!-- ahriman_web_routes -->
<g id="node176" class="node">
<title>ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="15494" cy="-631.07" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="15494" y="-637.32" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15494" y="-626.82" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15494" y="-616.32" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">routes</text>
</g>
<!-- ahriman_web_routes&#45;&gt;ahriman_web_web -->
<g id="edge808" 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="M15456.18,-628.36C15196.69,-616.64 13681.3,-548.16 13389.58,-534.98"/>
<polygon fill="#732626" stroke="black" points="13390.08,-531.45 13379.94,-534.5 13389.77,-538.45 13390.08,-531.45"/>
</g>
<!-- ahriman_web_schemas -->
<g id="node177" class="node">
<title>ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#950303" stroke="black" cx="15469" cy="-1072.76" rx="39.42" ry="27.93"/>
<text text-anchor="middle" x="15469" y="-1079.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15469" y="-1068.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15469" y="-1058.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas</text>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_service_add -->
<g id="edge809" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_service_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15508.25,-1067.96C15578.13,-1061.26 15728.72,-1047.14 15856,-1037.41 15918.28,-1032.65 16366.26,-1037.83 16417,-1001.41 16447.95,-979.19 16463.24,-938.36 16470.77,-905.13"/>
<polygon fill="#950303" stroke="black" points="16474.34,-906.14 16472.95,-895.64 16467.49,-904.72 16474.34,-906.14"/>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_service_pgp -->
<g id="edge810" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_service_pgp</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15508.25,-1067.91C15578.12,-1061.13 15728.7,-1046.89 15856,-1037.41 15922.38,-1032.46 16394.95,-1032.13 16454,-1001.41 16496.59,-979.25 16528.94,-934.17 16548.9,-899.46"/>
<polygon fill="#950303" stroke="black" points="16552.38,-901.41 16554.2,-890.98 16546.27,-898 16552.38,-901.41"/>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_service_process -->
<g id="edge811" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_service_process</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15508.23,-1067.65C15578.07,-1060.46 15728.61,-1045.61 15856,-1037.41 16254.61,-1011.74 16358.59,-1057.95 16754,-1001.41 16816.57,-992.46 16869.87,-1026.26 16892,-967.05"/>
<path fill="none" stroke="black" d="M16892,-965.05C16906.08,-927.4 16783.75,-886.08 16713.41,-865.72"/>
<polygon fill="#950303" stroke="black" points="16714.59,-862.13 16704.01,-862.76 16712.67,-868.87 16714.59,-862.13"/>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_service_rebuild -->
<g id="edge812" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_service_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16892,-965.05C16899.01,-946.29 16900.39,-924.5 16899.53,-905.14"/>
<polygon fill="#950303" stroke="black" points="16902.97,-905.12 16898.81,-895.37 16895.98,-905.58 16902.97,-905.12"/>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_service_remove -->
<g id="edge813" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_service_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15460.95,-1045.02C15455.78,-1022.12 15452.73,-989.39 15469,-967.05"/>
<path fill="none" stroke="black" d="M15469,-965.05C15479.97,-950 15477.18,-940.53 15493,-930.7 15583.11,-874.68 15632.96,-939.8 15729,-894.7 15732.78,-892.92 15736.49,-890.74 15740.05,-888.32"/>
<polygon fill="#950303" stroke="black" points="15741.7,-890.7 15747.58,-881.89 15737.48,-885.12 15741.7,-890.7"/>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_service_request -->
<g id="edge814" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_service_request</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15469,-965.05C15479.97,-950 15476.98,-940.19 15493,-930.7 15619.93,-855.5 15688.15,-954.54 15823,-894.7 15826.82,-893 15830.55,-890.88 15834.13,-888.5"/>
<polygon fill="#950303" stroke="black" points="15835.75,-890.9 15841.68,-882.13 15831.57,-885.29 15835.75,-890.9"/>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_service_search -->
<g id="edge815" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15443.5,-1051.13C15435.21,-1045.59 15425.65,-1040.33 15416,-1037.41 15131,-951.03 13023.82,-1077.89 12736,-1001.41 12705.55,-993.32 12674.07,-998.56 12674,-967.05"/>
<path fill="none" stroke="black" d="M12674,-965.05C12673.96,-946.43 12681.54,-939.42 12698,-930.7 12823.71,-864.04 15126.36,-946.2 15259,-894.7 15262.95,-893.16 15266.79,-891.13 15270.45,-888.79"/>
<polygon fill="#950303" stroke="black" points="15272.14,-891.16 15278.16,-882.44 15268.02,-885.5 15272.14,-891.16"/>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_service_update -->
<g id="edge816" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_service_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16038,-965.05C16068.07,-943.92 16097.53,-914.65 16118.96,-891.32"/>
<polygon fill="#950303" stroke="black" points="16121.08,-894.1 16125.2,-884.34 16115.89,-889.39 16121.08,-894.1"/>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_service_upload -->
<g id="edge817" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_service_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15508.11,-1068.19C15630.56,-1056.86 16001.41,-1021.27 16052,-1001.41 16114.95,-976.7 16174.74,-925.17 16210.89,-889.81"/>
<polygon fill="#950303" stroke="black" points="16213.04,-892.61 16217.68,-883.09 16208.11,-887.64 16213.04,-892.61"/>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge818" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15508.34,-1068.78C15622.54,-1059.46 15951.51,-1027.85 16038,-967.05"/>
<path fill="none" stroke="black" d="M16038,-965.05C16056.63,-951.96 16062.55,-927.95 16063.42,-905.5"/>
<polygon fill="#950303" stroke="black" points="16066.92,-905.68 16063.47,-895.66 16059.92,-905.65 16066.92,-905.68"/>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_status_package -->
<g id="edge819" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15441.08,-1052.72C15433.11,-1047.54 15424.32,-1042.08 15416,-1037.41 15383.75,-1019.32 15360.69,-1032.7 15341,-1001.41 15324.26,-974.81 15322.7,-956.24 15341,-930.7 15369.98,-890.25 15404,-919.72 15447,-894.7 15450.46,-892.68 15453.89,-890.39 15457.23,-887.94"/>
<polygon fill="#950303" stroke="black" points="15459.14,-890.1 15464.83,-881.16 15454.81,-884.61 15459.14,-890.1"/>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_status_packages -->
<g id="edge820" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_status_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15508.31,-1068.19C15659.57,-1054.41 16196.1,-1005.29 16204,-1001.41 16250.98,-978.31 16290.16,-932.17 16314.82,-897.42"/>
<polygon fill="#950303" stroke="black" points="16318.26,-899.61 16321.08,-889.4 16312.51,-895.62 16318.26,-899.61"/>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_status_status -->
<g id="edge821" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12674,-965.05C12673.96,-946.43 12681.54,-939.42 12698,-930.7 12828.34,-861.63 15215.48,-948.06 15353,-894.7 15356.95,-893.16 15360.79,-891.13 15364.45,-888.8"/>
<polygon fill="#950303" stroke="black" points="15366.14,-891.16 15372.16,-882.45 15362.02,-885.51 15366.14,-891.16"/>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_user_login -->
<g id="edge822" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15440.62,-1053.01C15406.96,-1029.72 15355.3,-990.23 15355,-967.05"/>
<path fill="none" stroke="black" d="M15355,-965.05C15354.76,-946.43 15363.12,-940.44 15379,-930.7 15476.93,-870.61 15530.72,-942.93 15635,-894.7 15638.79,-892.94 15642.5,-890.78 15646.07,-888.37"/>
<polygon fill="#950303" stroke="black" points="15647.71,-890.76 15653.61,-881.95 15643.51,-885.16 15647.71,-890.76"/>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge823" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15505.85,-1061.98C15585.1,-1039.94 15775.96,-981.47 15917,-894.7 15920.41,-892.6 15923.8,-890.25 15927.12,-887.75"/>
<polygon fill="#950303" stroke="black" points="15929.05,-889.89 15934.67,-880.91 15924.68,-884.43 15929.05,-889.89"/>
</g>
<!-- ahriman_web_schemas_aur_package_schema -->
<g id="node178" class="node">
<title>ahriman_web_schemas_aur_package_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="15616" cy="-1179.47" rx="78.67" ry="35.36"/>
<text text-anchor="middle" x="15616" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15616" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15616" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="15616" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">aur_package_schema</text>
</g>
<!-- ahriman_web_schemas_aur_package_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge824" class="edge">
<title>ahriman_web_schemas_aur_package_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15574.66,-1149.03C15552.77,-1133.43 15526.13,-1114.46 15505.07,-1099.46"/>
<polygon fill="#b83d3d" stroke="black" points="15507.3,-1096.04 15497.13,-1093.09 15503.24,-1101.74 15507.3,-1096.04"/>
</g>
<!-- ahriman_web_schemas_auth_schema -->
<g id="node179" class="node">
<title>ahriman_web_schemas_auth_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="15765" cy="-1179.47" rx="52.68" ry="35.36"/>
<text text-anchor="middle" x="15765" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15765" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15765" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="15765" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth_schema</text>
</g>
<!-- ahriman_web_schemas_auth_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge825" class="edge">
<title>ahriman_web_schemas_auth_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15726.27,-1154.98C15719.01,-1151.06 15711.38,-1147.26 15704,-1144.12 15641.33,-1117.48 15565.26,-1096.67 15516.98,-1084.8"/>
<polygon fill="#b83d3d" stroke="black" points="15518.07,-1081.22 15507.53,-1082.26 15516.42,-1088.02 15518.07,-1081.22"/>
</g>
<!-- ahriman_web_schemas_counters_schema -->
<g id="node180" class="node">
<title>ahriman_web_schemas_counters_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c43131" stroke="black" cx="16014" cy="-1286.18" rx="66.47" ry="35.36"/>
<text text-anchor="middle" x="16014" y="-1297.68" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16014" y="-1287.18" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="16014" y="-1276.68" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="16014" y="-1266.18" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">counters_schema</text>
</g>
<!-- ahriman_web_schemas_counters_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge826" class="edge">
<title>ahriman_web_schemas_counters_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16025.1,-1251.13C16033.09,-1219.44 16038.49,-1172.91 16013,-1144.12 15996.65,-1125.65 15650.36,-1090.99 15518.96,-1078.44"/>
<polygon fill="#c43131" stroke="black" points="15519.32,-1074.87 15509.04,-1077.4 15518.66,-1081.84 15519.32,-1074.87"/>
</g>
<!-- ahriman_web_schemas_internal_status_schema -->
<g id="node183" class="node">
<title>ahriman_web_schemas_internal_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#913030" stroke="black" cx="15920" cy="-1179.47" rx="84.5" ry="35.36"/>
<text text-anchor="middle" x="15920" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15920" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15920" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="15920" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">internal_status_schema</text>
</g>
<!-- ahriman_web_schemas_counters_schema&#45;&gt;ahriman_web_schemas_internal_status_schema -->
<g id="edge827" class="edge">
<title>ahriman_web_schemas_counters_schema&#45;&gt;ahriman_web_schemas_internal_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15985.8,-1253.77C15976.57,-1243.5 15966.2,-1231.93 15956.46,-1221.08"/>
<polygon fill="#c43131" stroke="black" points="15959.45,-1219.06 15950.16,-1213.96 15954.24,-1223.74 15959.45,-1219.06"/>
</g>
<!-- ahriman_web_schemas_error_schema -->
<g id="node181" class="node">
<title>ahriman_web_schemas_error_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="16113" cy="-1179.47" rx="53.21" ry="35.36"/>
<text text-anchor="middle" x="16113" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16113" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="16113" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="16113" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">error_schema</text>
</g>
<!-- ahriman_web_schemas_error_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge828" class="edge">
<title>ahriman_web_schemas_error_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16073.58,-1155.37C16064.75,-1151.02 16055.25,-1146.96 16046,-1144.12 15947.76,-1113.99 15640.7,-1087.28 15519.21,-1077.61"/>
<polygon fill="#b83d3d" stroke="black" points="15519.63,-1074.05 15509.38,-1076.75 15519.08,-1081.03 15519.63,-1074.05"/>
</g>
<!-- ahriman_web_schemas_file_schema -->
<g id="node182" class="node">
<title>ahriman_web_schemas_file_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="16233" cy="-1179.47" rx="48.44" ry="35.36"/>
<text text-anchor="middle" x="16233" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16233" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="16233" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="16233" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">file_schema</text>
</g>
<!-- ahriman_web_schemas_file_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge829" class="edge">
<title>ahriman_web_schemas_file_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16197.97,-1154.47C16190.65,-1150.4 16182.78,-1146.67 16175,-1144.12 16143.78,-1133.88 15674.12,-1091.83 15518.6,-1078.11"/>
<polygon fill="#b83d3d" stroke="black" points="15519.22,-1074.57 15508.95,-1077.18 15518.61,-1081.54 15519.22,-1074.57"/>
</g>
<!-- ahriman_web_schemas_internal_status_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge830" class="edge">
<title>ahriman_web_schemas_internal_status_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15859.43,-1154.52C15848.72,-1150.74 15837.61,-1147.1 15827,-1144.12 15718.47,-1113.62 15587.81,-1091.52 15518.25,-1080.89"/>
<polygon fill="#913030" stroke="black" points="15519.03,-1077.31 15508.62,-1079.28 15517.98,-1084.24 15519.03,-1077.31"/>
</g>
<!-- ahriman_web_schemas_log_schema -->
<g id="node184" class="node">
<title>ahriman_web_schemas_log_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b03a3a" stroke="black" cx="16348" cy="-1179.47" rx="48.44" ry="35.36"/>
<text text-anchor="middle" x="16348" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16348" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="16348" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="16348" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log_schema</text>
</g>
<!-- ahriman_web_schemas_log_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge831" class="edge">
<title>ahriman_web_schemas_log_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16313.31,-1154.54C16305.9,-1150.41 16297.92,-1146.64 16290,-1144.12 16105.6,-1085.3 16048.84,-1124.68 15856,-1108.12 15735.03,-1097.73 15592.83,-1084.97 15519.08,-1078.3"/>
<polygon fill="#b03a3a" stroke="black" points="15519.55,-1074.74 15509.27,-1077.33 15518.92,-1081.71 15519.55,-1074.74"/>
</g>
<!-- ahriman_web_schemas_login_schema -->
<g id="node185" class="node">
<title>ahriman_web_schemas_login_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="13572" cy="-1179.47" rx="53.74" ry="35.36"/>
<text text-anchor="middle" x="13572" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13572" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="13572" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="13572" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">login_schema</text>
</g>
<!-- ahriman_web_schemas_login_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge832" class="edge">
<title>ahriman_web_schemas_login_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13610.1,-1153.97C13618.04,-1149.94 13626.57,-1146.36 13635,-1144.12 13826.29,-1093.29 15226.77,-1166.17 15416,-1108.12 15422.33,-1106.18 15428.62,-1103.24 15434.54,-1099.89"/>
<polygon fill="#b83d3d" stroke="black" points="15435.82,-1102.59 15442.49,-1094.35 15432.14,-1096.64 15435.82,-1102.59"/>
</g>
<!-- ahriman_web_schemas_logs_schema -->
<g id="node186" class="node">
<title>ahriman_web_schemas_logs_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="15429" cy="-1179.47" rx="52.15" ry="35.36"/>
<text text-anchor="middle" x="15429" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15429" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15429" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="15429" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">logs_schema</text>
</g>
<!-- ahriman_web_schemas_logs_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge833" class="edge">
<title>ahriman_web_schemas_logs_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15441.88,-1144.77C15446.11,-1133.69 15450.83,-1121.33 15455.13,-1110.07"/>
<polygon fill="#993333" stroke="black" points="15458.64,-1111.69 15458.94,-1101.1 15452.1,-1109.2 15458.64,-1111.69"/>
</g>
<!-- ahriman_web_schemas_oauth2_schema -->
<g id="node187" class="node">
<title>ahriman_web_schemas_oauth2_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="13704" cy="-1179.47" rx="60.1" ry="35.36"/>
<text text-anchor="middle" x="13704" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13704" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="13704" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="13704" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">oauth2_schema</text>
</g>
<!-- ahriman_web_schemas_oauth2_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge834" class="edge">
<title>ahriman_web_schemas_oauth2_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13745.94,-1153.97C13754.63,-1149.95 13763.91,-1146.36 13773,-1144.12 13950.28,-1100.37 15241.48,-1161.82 15416,-1108.12 15422.33,-1106.17 15428.62,-1103.23 15434.54,-1099.88"/>
<polygon fill="#b83d3d" stroke="black" points="15435.82,-1102.58 15442.49,-1094.34 15432.14,-1096.63 15435.82,-1102.58"/>
</g>
<!-- ahriman_web_schemas_package_name_schema -->
<g id="node188" class="node">
<title>ahriman_web_schemas_package_name_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="13868" cy="-1179.47" rx="86.09" ry="35.36"/>
<text text-anchor="middle" x="13868" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13868" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="13868" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="13868" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package_name_schema</text>
</g>
<!-- ahriman_web_schemas_package_name_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge835" class="edge">
<title>ahriman_web_schemas_package_name_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13927.74,-1153.58C13939.26,-1149.73 13951.37,-1146.31 13963,-1144.12 14121.71,-1114.27 15261.72,-1155.84 15416,-1108.12 15422.32,-1106.16 15428.61,-1103.22 15434.53,-1099.86"/>
<polygon fill="#b83d3d" stroke="black" points="15435.82,-1102.56 15442.48,-1094.33 15432.14,-1096.61 15435.82,-1102.56"/>
</g>
<!-- ahriman_web_schemas_package_names_schema -->
<g id="node189" class="node">
<title>ahriman_web_schemas_package_names_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="14062" cy="-1179.47" rx="89.8" ry="35.36"/>
<text text-anchor="middle" x="14062" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14062" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="14062" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="14062" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package_names_schema</text>
</g>
<!-- ahriman_web_schemas_package_names_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge836" class="edge">
<title>ahriman_web_schemas_package_names_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14124.33,-1153.63C14136.33,-1149.77 14148.92,-1146.33 14161,-1144.12 14435.43,-1093.8 15149.61,-1191.08 15416,-1108.12 15422.32,-1106.15 15428.61,-1103.2 15434.53,-1099.84"/>
<polygon fill="#b83d3d" stroke="black" points="15435.81,-1102.54 15442.47,-1094.3 15432.13,-1096.59 15435.81,-1102.54"/>
</g>
<!-- ahriman_web_schemas_package_properties_schema -->
<g id="node190" class="node">
<title>ahriman_web_schemas_package_properties_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c43131" stroke="black" cx="14571" cy="-1392.9" rx="99.88" ry="35.36"/>
<text text-anchor="middle" x="14571" y="-1404.4" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14571" y="-1393.9" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="14571" y="-1383.4" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="14571" y="-1372.9" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package_properties_schema</text>
</g>
<!-- ahriman_web_schemas_package_properties_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge837" class="edge">
<title>ahriman_web_schemas_package_properties_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14516.33,-1362.85C14433.44,-1315.32 14292.89,-1218.74 14365,-1144.12 14405.6,-1102.11 15360.27,-1125.65 15416,-1108.12 15422.1,-1106.2 15428.17,-1103.38 15433.9,-1100.15"/>
<polygon fill="#c43131" stroke="black" points="15435.5,-1102.67 15442.19,-1094.45 15431.84,-1096.7 15435.5,-1102.67"/>
</g>
<!-- ahriman_web_schemas_package_schema -->
<g id="node191" class="node">
<title>ahriman_web_schemas_package_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#9b2626" stroke="black" cx="14625" cy="-1286.18" rx="65.41" ry="35.36"/>
<text text-anchor="middle" x="14625" y="-1297.68" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14625" y="-1287.18" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="14625" y="-1276.68" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="14625" y="-1266.18" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package_schema</text>
</g>
<!-- ahriman_web_schemas_package_properties_schema&#45;&gt;ahriman_web_schemas_package_schema -->
<g id="edge838" class="edge">
<title>ahriman_web_schemas_package_properties_schema&#45;&gt;ahriman_web_schemas_package_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14588.68,-1357.61C14593.2,-1348.85 14598.11,-1339.32 14602.83,-1330.18"/>
<polygon fill="#c43131" stroke="black" points="14606.36,-1331.97 14607.83,-1321.48 14600.14,-1328.76 14606.36,-1331.97"/>
</g>
<!-- ahriman_web_schemas_package_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge839" class="edge">
<title>ahriman_web_schemas_package_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14578.42,-1260.83C14547.01,-1240.96 14514.26,-1211.22 14532,-1180.47"/>
</g>
<!-- ahriman_web_schemas_package_schema&#45;&gt;ahriman_web_schemas_package_status_schema -->
<g id="edge840" class="edge">
<title>ahriman_web_schemas_package_schema&#45;&gt;ahriman_web_schemas_package_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14632.59,-1250.61C14634.34,-1242.66 14636.22,-1234.08 14638.05,-1225.75"/>
<polygon fill="#9b2626" stroke="black" points="14641.69,-1226.53 14640.41,-1216.01 14634.85,-1225.03 14641.69,-1226.53"/>
</g>
<!-- ahriman_web_schemas_package_status_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge841" class="edge">
<title>ahriman_web_schemas_package_status_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14709.61,-1153.69C14721.21,-1149.88 14733.35,-1146.44 14745,-1144.12 14891.44,-1114.89 15273.99,-1154.29 15416,-1108.12 15422.08,-1106.14 15428.14,-1103.28 15433.87,-1100.05"/>
<polygon fill="#822b2b" stroke="black" points="15435.47,-1102.56 15442.16,-1094.34 15431.8,-1096.6 15435.47,-1102.56"/>
</g>
<!-- ahriman_web_schemas_pgp_key_id_schema -->
<g id="node193" class="node">
<title>ahriman_web_schemas_pgp_key_id_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="14244" cy="-1179.47" rx="74.42" ry="35.36"/>
<text text-anchor="middle" x="14244" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14244" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="14244" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="14244" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pgp_key_id_schema</text>
</g>
<!-- ahriman_web_schemas_pgp_key_id_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge842" class="edge">
<title>ahriman_web_schemas_pgp_key_id_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14297.11,-1154.43C14308.41,-1150.25 14320.43,-1146.5 14332,-1144.12 14568.09,-1095.6 15186.04,-1180.3 15416,-1108.12 15422.32,-1106.14 15428.6,-1103.18 15434.52,-1099.81"/>
<polygon fill="#b83d3d" stroke="black" points="15435.8,-1102.52 15442.47,-1094.28 15432.12,-1096.56 15435.8,-1102.52"/>
</g>
<!-- ahriman_web_schemas_pgp_key_schema -->
<g id="node194" class="node">
<title>ahriman_web_schemas_pgp_key_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="14439" cy="-1179.47" rx="65.41" ry="35.36"/>
<text text-anchor="middle" x="14439" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14439" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="14439" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="14439" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pgp_key_schema</text>
</g>
<!-- ahriman_web_schemas_pgp_key_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge843" class="edge">
<title>ahriman_web_schemas_pgp_key_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14486.08,-1154.64C14496.36,-1150.4 14507.36,-1146.56 14518,-1144.12 14712.68,-1099.53 15225.66,-1168.59 15416,-1108.12 15422.09,-1106.18 15428.16,-1103.35 15433.89,-1100.12"/>
<polygon fill="#b83d3d" stroke="black" points="15435.49,-1102.63 15442.18,-1094.42 15431.83,-1096.67 15435.49,-1102.63"/>
</g>
<!-- ahriman_web_schemas_process_id_schema -->
<g id="node195" class="node">
<title>ahriman_web_schemas_process_id_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="15286" cy="-1179.47" rx="72.83" ry="35.36"/>
<text text-anchor="middle" x="15286" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15286" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15286" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="15286" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">process_id_schema</text>
</g>
<!-- ahriman_web_schemas_process_id_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge844" class="edge">
<title>ahriman_web_schemas_process_id_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15335.28,-1152.98C15359.8,-1140 15389.74,-1123.7 15416,-1108.12 15421.07,-1105.11 15426.35,-1101.85 15431.52,-1098.58"/>
<polygon fill="#b83d3d" stroke="black" points="15433.12,-1101.07 15439.65,-1092.73 15429.35,-1095.17 15433.12,-1101.07"/>
</g>
<!-- ahriman_web_schemas_process_schema -->
<g id="node196" class="node">
<title>ahriman_web_schemas_process_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="14818" cy="-1179.47" rx="63.82" ry="35.36"/>
<text text-anchor="middle" x="14818" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14818" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="14818" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="14818" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">process_schema</text>
</g>
<!-- ahriman_web_schemas_process_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge845" class="edge">
<title>ahriman_web_schemas_process_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14862.98,-1154.15C14872.03,-1150.17 14881.65,-1146.55 14891,-1144.12 15117.37,-1085.31 15194.12,-1182.09 15416,-1108.12 15422.06,-1106.1 15428.12,-1103.21 15433.84,-1099.97"/>
<polygon fill="#b83d3d" stroke="black" points="15435.45,-1102.47 15442.13,-1094.25 15431.78,-1096.51 15435.45,-1102.47"/>
</g>
<!-- ahriman_web_schemas_remote_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge846" class="edge">
<title>ahriman_web_schemas_remote_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14742.61,-1369.25C14732.98,-1364.98 14722.77,-1360.82 14713,-1357.54 14643.08,-1334.05 14600.9,-1375.86 14551,-1321.54 14508.2,-1274.95 14500.39,-1235.27 14532,-1180.47"/>
<path fill="none" stroke="black" d="M14532,-1178.47C14540.72,-1163.36 14536.16,-1153.29 14551,-1144.12 14632.83,-1093.54 15324.34,-1137.31 15416,-1108.12 15422.09,-1106.18 15428.16,-1103.34 15433.89,-1100.11"/>
<polygon fill="#ac2b2b" stroke="black" points="15435.49,-1102.63 15442.18,-1094.41 15431.83,-1096.66 15435.49,-1102.63"/>
</g>
<!-- ahriman_web_schemas_remote_schema&#45;&gt;ahriman_web_schemas_package_schema -->
<g id="edge847" class="edge">
<title>ahriman_web_schemas_remote_schema&#45;&gt;ahriman_web_schemas_package_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14747.71,-1366.01C14725.9,-1352 14698.76,-1334.57 14675.54,-1319.65"/>
<polygon fill="#ac2b2b" stroke="black" points="14677.84,-1316.32 14667.53,-1313.86 14674.05,-1322.21 14677.84,-1316.32"/>
</g>
<!-- ahriman_web_schemas_search_schema -->
<g id="node198" class="node">
<title>ahriman_web_schemas_search_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="14960" cy="-1179.47" rx="60.1" ry="35.36"/>
<text text-anchor="middle" x="14960" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14960" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="14960" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="14960" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">search_schema</text>
</g>
<!-- ahriman_web_schemas_search_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge848" class="edge">
<title>ahriman_web_schemas_search_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15002.82,-1154.13C15011.28,-1150.2 15020.25,-1146.61 15029,-1144.12 15195.14,-1096.82 15252.8,-1164.74 15416,-1108.12 15422.04,-1106.02 15428.08,-1103.1 15433.8,-1099.84"/>
<polygon fill="#b83d3d" stroke="black" points="15435.41,-1102.34 15442.08,-1094.11 15431.73,-1096.38 15435.41,-1102.34"/>
</g>
<!-- ahriman_web_schemas_status_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge849" class="edge">
<title>ahriman_web_schemas_status_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15247.62,-1262.3C15257.11,-1257.99 15267.24,-1253.89 15277,-1250.83 15322.81,-1236.48 15459.01,-1251.49 15490,-1214.83 15514.73,-1185.56 15501.89,-1140.13 15487.86,-1108.77"/>
<polygon fill="#c11515" stroke="black" points="15490.74,-1107.68 15483.31,-1100.12 15484.41,-1110.66 15490.74,-1107.68"/>
</g>
<!-- ahriman_web_schemas_status_schema&#45;&gt;ahriman_web_schemas_internal_status_schema -->
<g id="edge850" class="edge">
<title>ahriman_web_schemas_status_schema&#45;&gt;ahriman_web_schemas_internal_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15262.78,-1283.26C15374.25,-1278.59 15623.4,-1263.18 15827,-1214.83 15834.54,-1213.04 15842.31,-1210.81 15849.98,-1208.37"/>
<polygon fill="#c11515" stroke="black" points="15850.99,-1211.39 15859.37,-1204.91 15848.78,-1204.75 15850.99,-1211.39"/>
</g>
<!-- ahriman_web_schemas_status_schema&#45;&gt;ahriman_web_schemas_logs_schema -->
<g id="edge851" class="edge">
<title>ahriman_web_schemas_status_schema&#45;&gt;ahriman_web_schemas_logs_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15249.36,-1263.3C15258.47,-1259.06 15268,-1254.72 15277,-1250.83 15316.92,-1233.56 15328.74,-1233.54 15368,-1214.83 15372.07,-1212.89 15376.25,-1210.79 15380.41,-1208.61"/>
<polygon fill="#c11515" stroke="black" points="15381.88,-1211.26 15389.04,-1203.45 15378.57,-1205.09 15381.88,-1211.26"/>
</g>
<!-- ahriman_web_schemas_status_schema&#45;&gt;ahriman_web_schemas_package_status_schema -->
<g id="edge852" class="edge">
<title>ahriman_web_schemas_status_schema&#45;&gt;ahriman_web_schemas_package_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15160.93,-1261.92C15151.32,-1257.58 15141,-1253.56 15131,-1250.83 14964.78,-1205.46 14913.27,-1251.87 14745,-1214.83 14736.9,-1213.05 14728.55,-1210.78 14720.31,-1208.27"/>
<polygon fill="#c11515" stroke="black" points="14721.54,-1204.67 14710.95,-1204.97 14719.42,-1211.34 14721.54,-1204.67"/>
</g>
<!-- ahriman_web_schemas_update_flags_schema -->
<g id="node200" class="node">
<title>ahriman_web_schemas_update_flags_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="15117" cy="-1179.47" rx="78.67" ry="35.36"/>
<text text-anchor="middle" x="15117" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15117" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15117" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="15117" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">update_flags_schema</text>
</g>
<!-- ahriman_web_schemas_update_flags_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge853" class="edge">
<title>ahriman_web_schemas_update_flags_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15173.04,-1154.38C15183.22,-1150.57 15193.83,-1146.96 15204,-1144.12 15296.05,-1118.43 15326.95,-1142.83 15416,-1108.12 15421.89,-1105.82 15427.82,-1102.82 15433.46,-1099.54"/>
<polygon fill="#b83d3d" stroke="black" points="15434.99,-1102.09 15441.64,-1093.85 15431.3,-1096.14 15434.99,-1102.09"/>
</g>
<!-- ahriman_web_views -->
<g id="node201" class="node">
<title>ahriman_web_views</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f91010" stroke="black" cx="14958" cy="-737.78" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="14958" y="-744.03" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14958" y="-733.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="14958" y="-723.03" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views</text>
</g>
<!-- ahriman_web_views&#45;&gt;ahriman_web_routes -->
<g id="edge854" 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="M14983.49,-716.73C14991.57,-711.29 15000.8,-705.93 15010,-702.43 15161.23,-644.8 15355.56,-633.98 15444.98,-632.22"/>
<polygon fill="#f91010" stroke="black" points="15444.93,-635.7 15454.87,-632.04 15444.81,-628.7 15444.93,-635.7"/>
</g>
<!-- ahriman_web_views_api -->
<g id="node202" class="node">
<title>ahriman_web_views_api</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c24747" stroke="black" cx="14930" cy="-851.92" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="14930" y="-863.42" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14930" y="-852.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="14930" y="-842.42" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="14930" y="-831.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">api</text>
</g>
<!-- ahriman_web_views_api&#45;&gt;ahriman_web_routes -->
<g id="edge855" class="edge">
<title>ahriman_web_views_api&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14956.8,-826.51C14971.98,-811.9 14990.73,-792.45 15005,-773.14 15015.37,-759.1 15010.67,-750.05 15024,-738.78"/>
<path fill="none" stroke="black" d="M15024,-736.78C15087.9,-682.77 15339.22,-649.21 15445.8,-637.13"/>
<polygon fill="#c24747" stroke="black" points="15446.01,-640.52 15455.56,-635.93 15445.23,-633.56 15446.01,-640.52"/>
</g>
<!-- ahriman_web_views_api_docs&#45;&gt;ahriman_web_routes -->
<g id="edge856" class="edge">
<title>ahriman_web_views_api_docs&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17900.52,-831.79C17839.65,-798.17 17705.77,-729.49 17583,-702.43 17378.1,-657.27 15838.44,-636.28 15542.96,-632.65"/>
<polygon fill="#913030" stroke="black" points="15543.22,-629.14 15533.18,-632.52 15543.14,-636.14 15543.22,-629.14"/>
</g>
<!-- ahriman_web_views_api_swagger&#45;&gt;ahriman_web_routes -->
<g id="edge857" class="edge">
<title>ahriman_web_views_api_swagger&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15615.58,-822.27C15621.58,-817.28 15628.18,-812.59 15635,-809.14 15768.4,-741.6 16054.93,-857.48 15964,-738.78"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_api_docs -->
<g id="edge858" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_api_docs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16407.9,-962.22C16492.3,-955.96 16702.16,-940.74 16878,-930.7 17221.37,-911.09 17308.67,-927.85 17651,-894.7 17733.96,-886.66 17829.76,-871.21 17885.92,-861.52"/>
<polygon fill="#950303" stroke="black" points="17886.36,-864.82 17895.61,-859.66 17885.16,-857.92 17886.36,-864.82"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_api_swagger -->
<g id="edge859" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_api_swagger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16332.33,-960.72C16272.83,-953.93 16153.42,-940.55 16052,-930.7 15959.42,-921.7 15720.44,-931.46 15635,-894.7 15631.16,-893.05 15627.42,-890.95 15623.83,-888.59"/>
<polygon fill="#950303" stroke="black" points="15626.38,-885.38 15616.26,-882.25 15622.22,-891.01 15626.38,-885.38"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_index -->
<g id="edge860" 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="M16407.94,-961.6C16587.77,-945.26 17353.87,-875.65 17555.31,-857.34"/>
<polygon fill="#950303" stroke="black" points="17555.48,-860.75 17565.12,-856.36 17554.85,-853.78 17555.48,-860.75"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_add -->
<g id="edge861" 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="M16395.05,-939.05C16409.29,-924.26 16427.35,-905.5 16442.98,-889.28"/>
<polygon fill="#950303" stroke="black" points="16445.02,-892.17 16449.43,-882.54 16439.97,-887.32 16445.02,-892.17"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_pgp -->
<g id="edge862" 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="M16405.41,-952.5C16437.87,-940.19 16486.59,-919.66 16525,-894.7 16528.36,-892.52 16531.71,-890.1 16535,-887.57"/>
<polygon fill="#950303" stroke="black" points="16536.96,-889.68 16542.51,-880.66 16532.54,-884.25 16536.96,-889.68"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_process -->
<g id="edge863" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_service_process</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16407.44,-959.86C16457.97,-951.69 16549.66,-932.67 16619,-894.7 16622.51,-892.78 16625.98,-890.55 16629.35,-888.14"/>
<polygon fill="#950303" stroke="black" points="16631.23,-890.33 16636.98,-881.44 16626.93,-884.8 16631.23,-890.33"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_rebuild -->
<g id="edge864" 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="M16407.12,-957.78C16470.12,-945.36 16601.96,-919.04 16713,-894.7 16757.63,-884.91 16808.34,-873 16844.36,-864.41"/>
<polygon fill="#950303" stroke="black" points="16845.13,-867.58 16854.04,-861.85 16843.5,-860.77 16845.13,-867.58"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_remove -->
<g id="edge865" 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="M16332.12,-960.8C16212.03,-947.25 15846.28,-905.3 15823,-894.7 15819.2,-892.97 15815.48,-890.82 15811.91,-888.42"/>
<polygon fill="#950303" stroke="black" points="15814.47,-885.21 15804.36,-882.02 15810.27,-890.81 15814.47,-885.21"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_request -->
<g id="edge866" 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="M16332.01,-961.93C16236.89,-953.67 15990.8,-929.47 15917,-894.7 15913.22,-892.92 15909.52,-890.73 15905.96,-888.31"/>
<polygon fill="#950303" stroke="black" points="15908.52,-885.1 15898.43,-881.88 15904.31,-890.69 15908.52,-885.1"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_search -->
<g id="edge867" 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="M16332.37,-960.3C16272.92,-952.93 16153.57,-938.79 16052,-930.7 15896.95,-918.34 15496.91,-953.7 15353,-894.7 15349.08,-893.09 15345.26,-891.01 15341.62,-888.63"/>
<polygon fill="#950303" stroke="black" points="15344.05,-885.34 15333.92,-882.23 15339.9,-890.98 15344.05,-885.34"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_update -->
<g id="edge868" 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="M16333.93,-954.16C16298.12,-942.46 16242.42,-921.83 16199,-894.7 16195.61,-892.58 16192.22,-890.21 16188.91,-887.7"/>
<polygon fill="#950303" stroke="black" points="16191.36,-884.38 16181.37,-880.84 16186.97,-889.83 16191.36,-884.38"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_upload -->
<g id="edge869" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_service_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16343.09,-940.72C16325.64,-924.94 16302.66,-904.16 16283.44,-886.77"/>
<polygon fill="#950303" stroke="black" points="16286.22,-884.67 16276.46,-880.55 16281.52,-889.86 16286.22,-884.67"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge870" 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="M16332.94,-957.44C16269.85,-944.12 16144.57,-915.96 16105,-894.7 16101.32,-892.72 16097.69,-890.4 16094.17,-887.88"/>
<polygon fill="#950303" stroke="black" points="16096.76,-884.68 16086.72,-881.31 16092.46,-890.21 16096.76,-884.68"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_status_package -->
<g id="edge871" 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="M16332.35,-960.53C16272.87,-953.48 16153.49,-939.75 16052,-930.7 15938.61,-920.58 15645.92,-938.87 15541,-894.7 15537.15,-893.08 15533.4,-891 15529.8,-888.66"/>
<polygon fill="#950303" stroke="black" points="15532.35,-885.45 15522.22,-882.34 15528.2,-891.09 15532.35,-885.45"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_status_packages -->
<g id="edge872" 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="M16361.83,-931.1C16359.8,-922.67 16357.57,-913.44 16355.39,-904.38"/>
<polygon fill="#950303" stroke="black" points="16358.6,-903.77 16352.86,-894.87 16351.8,-905.41 16358.6,-903.77"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_status_status -->
<g id="edge873" 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="M16332.36,-960.39C16272.9,-953.16 16153.54,-939.2 16052,-930.7 15917.79,-919.46 15571.41,-946.28 15447,-894.7 15443.14,-893.1 15439.38,-891.04 15435.78,-888.7"/>
<polygon fill="#950303" stroke="black" points="15438.33,-885.5 15428.2,-882.4 15434.19,-891.14 15438.33,-885.5"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_user_login -->
<g id="edge874" 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="M16332.52,-961.02C16195.92,-946.29 15732.49,-896.25 15729,-894.7 15725.18,-893 15721.45,-890.88 15717.87,-888.49"/>
<polygon fill="#950303" stroke="black" points="15720.43,-885.29 15710.32,-882.12 15716.25,-890.9 15720.43,-885.29"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge875" 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="M16331.74,-964.1C16263.74,-961.01 16118.84,-948.14 16011,-894.7 16007.26,-892.84 16003.58,-890.61 16000.04,-888.15"/>
<polygon fill="#950303" stroke="black" points="16002.61,-884.94 15992.54,-881.66 15998.36,-890.51 16002.61,-884.94"/>
</g>
<!-- ahriman_web_views_index&#45;&gt;ahriman_web_routes -->
<g id="edge876" 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="M17601.37,-816.39C17596.66,-781.28 17583.54,-728.47 17547,-702.43 17462.78,-642.39 15844.99,-633.39 15542.5,-632.23"/>
<polygon fill="#7a2828" stroke="black" points="15542.9,-628.73 15532.89,-632.19 15542.88,-635.73 15542.9,-628.73"/>
</g>
<!-- ahriman_web_views_service -->
<g id="node207" class="node">
<title>ahriman_web_views_service</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c24747" stroke="black" cx="15024" cy="-851.92" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="15024" y="-863.42" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15024" y="-852.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15024" y="-842.42" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="15024" y="-831.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service</text>
</g>
<!-- ahriman_web_views_service&#45;&gt;ahriman_web_routes -->
<g id="edge877" 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="M15012.25,-817.81C15005.43,-791.95 15001.99,-757.38 15024,-738.78"/>
</g>
<!-- ahriman_web_views_service_add&#45;&gt;ahriman_web_routes -->
<g id="edge878" 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="M16449.26,-823.46C16442.12,-817.93 16434.16,-812.72 16426,-809.14 16330.92,-767.36 16027.16,-821.22 15964,-738.78"/>
</g>
<!-- ahriman_web_views_service_pgp&#45;&gt;ahriman_web_routes -->
<g id="edge879" 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="M16544.64,-821.8C16538.63,-816.85 16531.96,-812.29 16525,-809.14 16410.57,-757.25 16040.41,-838.52 15964,-738.78"/>
</g>
<!-- ahriman_web_views_service_process&#45;&gt;ahriman_web_routes -->
<g id="edge880" class="edge">
<title>ahriman_web_views_service_process&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16638.69,-821.7C16632.67,-816.76 16625.99,-812.23 16619,-809.14 16485.14,-749.87 16053.03,-854.99 15964,-738.78"/>
</g>
<!-- ahriman_web_views_service_rebuild&#45;&gt;ahriman_web_routes -->
<g id="edge881" 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="M16855.27,-840.8C16819.29,-831.26 16762.76,-817.24 16713,-809.14 16630.5,-795.7 16014.83,-805.14 15964,-738.78"/>
</g>
<!-- ahriman_web_views_service_remove&#45;&gt;ahriman_web_routes -->
<g id="edge882" 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="M15804.61,-823.36C15810.47,-818.34 15816.76,-813.36 15823,-809.14 15881.01,-769.9 16006.59,-794.38 15964,-738.78"/>
</g>
<!-- ahriman_web_views_service_request&#45;&gt;ahriman_web_routes -->
<g id="edge883" 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="M15898.25,-823.01C15928.23,-792.63 15970.47,-747.23 15964,-738.78"/>
</g>
<!-- ahriman_web_views_service_search&#45;&gt;ahriman_web_routes -->
<g id="edge884" 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="M15333.33,-821.74C15339.35,-816.8 15346.02,-812.26 15353,-809.14 15477.76,-753.33 16047.12,-847.28 15964,-738.78"/>
</g>
<!-- ahriman_web_views_service_update&#45;&gt;ahriman_web_routes -->
<g id="edge885" 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="M16123.39,-823.36C16117.53,-818.34 16111.24,-813.36 16105,-809.14 16046.99,-769.9 16006.59,-794.38 15964,-738.78"/>
</g>
<!-- ahriman_web_views_service_upload&#45;&gt;ahriman_web_routes -->
<g id="edge886" class="edge">
<title>ahriman_web_views_service_upload&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16217.93,-822.48C16212.03,-817.53 16205.58,-812.81 16199,-809.14 16103.78,-756.03 16030.3,-825.33 15964,-738.78"/>
</g>
<!-- ahriman_web_views_status -->
<g id="node217" class="node">
<title>ahriman_web_views_status</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c24747" stroke="black" cx="15118" cy="-851.92" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="15118" y="-863.42" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15118" y="-852.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15118" y="-842.42" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="15118" y="-831.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status</text>
</g>
<!-- ahriman_web_views_status&#45;&gt;ahriman_web_routes -->
<g id="edge887" 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="M15142.23,-824.17C15149,-818.24 15156.78,-812.68 15165,-809.14 15328.66,-738.54 16072.4,-880.28 15964,-738.78"/>
<path fill="none" stroke="black" d="M15964,-736.78C15912.88,-670.06 15652.06,-643.55 15542.53,-635.25"/>
<polygon fill="#c24747" stroke="black" points="15543.03,-631.7 15532.8,-634.46 15542.51,-638.68 15543.03,-631.7"/>
</g>
<!-- ahriman_web_views_status_logs&#45;&gt;ahriman_web_routes -->
<g id="edge888" 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="M16031.73,-821.05C16012.46,-798.79 15985.94,-767.42 15964,-738.78"/>
</g>
<!-- ahriman_web_views_status_package&#45;&gt;ahriman_web_routes -->
<g id="edge889" 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="M15521.46,-822.02C15527.47,-817.05 15534.1,-812.43 15541,-809.14 15712.96,-726.97 16079.9,-890.07 15964,-738.78"/>
</g>
<!-- ahriman_web_views_status_packages&#45;&gt;ahriman_web_routes -->
<g id="edge890" 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="M16313.17,-822.08C16306.88,-817.17 16300.02,-812.56 16293,-809.14 16158.58,-743.64 16054.93,-857.48 15964,-738.78"/>
</g>
<!-- ahriman_web_views_status_status&#45;&gt;ahriman_web_routes -->
<g id="edge891" 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="M15427.38,-821.86C15433.4,-816.9 15440.06,-812.33 15447,-809.14 15552.35,-760.7 16034.51,-830.82 15964,-738.78"/>
</g>
<!-- ahriman_web_views_user -->
<g id="node222" class="node">
<title>ahriman_web_views_user</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c24747" stroke="black" cx="15212" cy="-851.92" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="15212" y="-863.42" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15212" y="-852.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15212" y="-842.42" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="15212" y="-831.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">user</text>
</g>
<!-- ahriman_web_views_user&#45;&gt;ahriman_web_routes -->
<g id="edge892" 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="M15236.26,-824.23C15243.03,-818.31 15250.8,-812.73 15259,-809.14 15403.2,-745.94 16059.75,-863.77 15964,-738.78"/>
</g>
<!-- ahriman_web_views_user_login&#45;&gt;ahriman_web_routes -->
<g id="edge893" 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="M15710.07,-822.48C15715.97,-817.53 15722.42,-812.81 15729,-809.14 15824.22,-756.03 16030.3,-825.33 15964,-738.78"/>
</g>
<!-- ahriman_web_views_user_logout&#45;&gt;ahriman_web_routes -->
<g id="edge894" 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="M15975.19,-810.76C15979.15,-787.48 15979.39,-758.87 15964,-738.78"/>
</g>
<!-- ahriman_web_web&#45;&gt;ahriman_application_handlers_web -->
<g id="edge895" 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="M13302.73,-530.51C13034.35,-528.36 11443.15,-512.32 11382,-433.5"/>
</g>
<!-- aioauth_client -->
<g id="node226" class="node">
<title>aioauth_client</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#c06640" stroke="black" points="15153,-2408.41 15150,-2412.41 15129,-2412.41 15126,-2408.41 15077,-2408.41 15077,-2372.41 15153,-2372.41 15153,-2408.41"/>
<text text-anchor="middle" x="15115" y="-2386.16" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">aioauth_client</text>
</g>
<!-- aioauth_client&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge896" class="edge">
<title>aioauth_client&#45;&gt;ahriman_core_auth_oauth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15137.15,-2371.95C15167.79,-2346.9 15219.35,-2301.17 15219,-2277.28"/>
<path fill="none" stroke="black" d="M15219,-2275.28C15217.53,-2174.73 15268.33,-2136.64 15219,-2049.01"/>
<path fill="none" stroke="black" d="M15219,-2047.01C15207.17,-2026.71 15200.31,-2001.52 15196.34,-1980.16"/>
<polygon fill="#c06640" stroke="black" points="15199.63,-1979.66 15194.52,-1970.39 15192.73,-1980.83 15199.63,-1979.66"/>
</g>
<!-- aiohttp -->
<g id="node227" class="node">
<title>aiohttp</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#f99806" stroke="black" points="17025,-1624.32 17022,-1628.32 17001,-1628.32 16998,-1624.32 16971,-1624.32 16971,-1588.32 17025,-1588.32 17025,-1624.32"/>
<text text-anchor="middle" x="16998" y="-1602.07" 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="edge897" 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="M17025.39,-1593.85C17057.73,-1580.2 17113.06,-1556.56 17160,-1534.96 17176.28,-1527.47 17435.69,-1404.68 17450,-1393.9"/>
<path fill="none" stroke="black" d="M17450,-1391.9C17465.71,-1381.88 17462.05,-1371.83 17474,-1357.54 17531.39,-1288.89 17564.3,-1287.86 17616,-1214.83 17637.36,-1184.66 17655.21,-1146.74 17667.26,-1117.82"/>
<polygon fill="#f99806" stroke="black" points="17670.73,-1119.57 17671.27,-1108.99 17664.25,-1116.93 17670.73,-1119.57"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_apispec -->
<g id="edge898" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_apispec</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16970.59,-1604.61C16729.05,-1598.33 14966.82,-1552.12 14733,-1534.96 14050.28,-1484.86 13883.04,-1436.07 13203,-1357.54 12790.58,-1309.92 12687.51,-1297.69 12275,-1250.83 12135.69,-1235 11738.03,-1287.96 11648,-1180.47"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_cors -->
<g id="edge899" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_cors</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17500,-850.92C17496.54,-826.46 17496.51,-798.7 17497.36,-776.92"/>
<polygon fill="#f99806" stroke="black" points="17500.89,-777.28 17497.87,-767.12 17493.9,-776.95 17500.89,-777.28"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_middlewares -->
<g id="edge900" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_middlewares</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17450,-1391.9C17673.75,-1250.12 17868,-1231.94 17868,-967.05 17868,-967.05 17868,-967.05 17868,-850.92 17868,-734.22 17716.68,-672.03 17632.28,-646.41"/>
<polygon fill="#f99806" stroke="black" points="17633.41,-642.8 17622.83,-643.33 17631.43,-649.52 17633.41,-642.8"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge901" 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="M17025.37,-1598.13C17055.49,-1590.46 17105.4,-1578.39 17149,-1570.96 17287.91,-1547.3 17328.41,-1573.33 17464,-1534.96 17571.66,-1504.5 17592.57,-1479.55 17692,-1428.25 17748.72,-1398.99 17757.24,-1379.96 17817,-1357.54 17891.35,-1329.65 17920.34,-1355.76 17992,-1321.54 18036.65,-1300.22 18039.07,-1281.38 18078,-1250.83 18119.05,-1218.62 18143.02,-1223.87 18172,-1180.47"/>
<path fill="none" stroke="black" d="M18172,-1178.47C18204.05,-1128.24 18209.3,-1058.03 18208.74,-1012.55"/>
<polygon fill="#f99806" stroke="black" points="18212.22,-1012.75 18208.49,-1002.83 18205.22,-1012.91 18212.22,-1012.75"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_middlewares_exception_handler -->
<g id="edge902" 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="M17025.43,-1598.43C17055.59,-1591.01 17105.54,-1579.17 17149,-1570.96 17254.56,-1551.03 17291.25,-1581.63 17388,-1534.96 17429.56,-1514.92 17423.62,-1486.57 17464,-1464.25 17518.35,-1434.21 17543.23,-1455.56 17599,-1428.25 17645.63,-1405.42 17644.02,-1377.38 17692,-1357.54 17802.66,-1311.79 17862.54,-1392.48 17959,-1321.54 17986.94,-1300.99 17967.55,-1275.42 17992,-1250.83 18018.35,-1224.33 18045.04,-1244.32 18068,-1214.83 18097.69,-1176.68 18084.31,-1156.23 18089,-1108.12 18092.05,-1076.84 18092.27,-1068.66 18089,-1037.41 18086.82,-1016.57 18048.16,-873.79 18050,-852.92"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_routes -->
<g id="edge903" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17020,-1391.9C17024.83,-1375.13 17028.06,-1371.13 17039,-1357.54 17054.2,-1338.65 17063.61,-1339.41 17080,-1321.54 17106.37,-1292.79 17101.34,-1274.95 17132,-1250.83 17183.02,-1210.69 17254.95,-1245.19 17260,-1180.47"/>
<path fill="none" stroke="black" d="M17260,-1178.47C17261.95,-1154.44 17239.18,-1155.64 17218,-1144.12 17172.07,-1119.13 17148.06,-1139.18 17106,-1108.12 17091.02,-1097.06 17095.68,-1086.4 17082,-1073.76"/>
<path fill="none" stroke="black" d="M17082,-1071.76C17068.32,-1059.12 17071.16,-1050.59 17058,-1037.41 16999.7,-978.98 16983.71,-958.53 16906,-930.7 16806.34,-895.01 16517.51,-955.71 16431,-894.7 16397,-870.72 16425.93,-834.57 16393,-809.14 16240.09,-691.03 16081.5,-892.16 15964,-738.78"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_api_swagger -->
<g id="edge904" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_api_swagger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15039,-1498.61C15020.44,-1497.05 15031.32,-1473.22 15015,-1464.25 14854.36,-1376 14360.07,-1499.04 14191,-1428.25 14148.44,-1410.43 14156.98,-1376.67 14115,-1357.54 13977.13,-1294.71 13924.41,-1352.03 13776,-1321.54 13671.66,-1300.1 13651.72,-1270.34 13547,-1250.83 13432.91,-1229.57 13126.35,-1273.13 13026,-1214.83 12912.46,-1148.86 12852.79,-1024.19 12945,-930.7 12995.64,-879.35 15473.77,-920.79 15541,-894.7 15544.95,-893.16 15548.79,-891.13 15552.45,-888.79"/>
<polygon fill="#f99806" stroke="black" points="15554.14,-891.16 15560.16,-882.44 15550.02,-885.5 15554.14,-891.16"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_base -->
<g id="edge905" 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="M16974.5,-1587.92C16936.52,-1558.71 16861.31,-1496.32 16816,-1428.25 16740.78,-1315.26 16807.54,-1231.9 16704,-1144.12 16645.75,-1094.74 16607.51,-1134.92 16536,-1108.12 16506.5,-1097.06 16499.48,-1092.29 16474,-1073.76"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_add -->
<g id="edge906" 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="M17082,-1071.76C17047.82,-1040.18 17119.51,-994.6 17082,-967.05"/>
<path fill="none" stroke="black" d="M17082,-965.05C17066.99,-954.03 17074.22,-939.86 17058,-930.7 16954.64,-872.31 16634.48,-940.6 16525,-894.7 16521.15,-893.08 16517.39,-891.01 16513.8,-888.67"/>
<polygon fill="#f99806" stroke="black" points="16516.35,-885.46 16506.22,-882.35 16512.2,-891.1 16516.35,-885.46"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_pgp -->
<g id="edge907" 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="M17260,-1178.47C17261.29,-1112.46 17152.95,-964.12 17096,-930.7 17004.32,-876.89 16716.87,-936.19 16619,-894.7 16615.15,-893.07 16611.4,-890.99 16607.81,-888.63"/>
<polygon fill="#f99806" stroke="black" points="16610.36,-885.43 16600.24,-882.31 16606.21,-891.06 16610.36,-885.43"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_process -->
<g id="edge908" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_service_process</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17012.44,-1587.97C17017.66,-1582.22 17023.8,-1576 17030,-1570.96 17076.77,-1532.91 17103.49,-1543.37 17146,-1500.61"/>
<path fill="none" stroke="black" d="M17146,-1498.61C17152.35,-1492.22 17299.43,-1223.1 17303,-1214.83 17329.05,-1154.4 17380.75,-1130.85 17348,-1073.76"/>
<path fill="none" stroke="black" d="M17348,-1071.76C17314.9,-837.08 17078.32,-936.34 16845,-894.7 16800.02,-886.67 16749.36,-874.55 16713.44,-865.43"/>
<polygon fill="#f99806" stroke="black" points="16714.35,-861.79 16703.79,-862.7 16712.61,-868.57 16714.35,-861.79"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_rebuild -->
<g id="edge909" 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="M17348,-1071.76C17323.99,-1007.63 17339.43,-973.54 17286,-930.7 17233.2,-888.37 17033.95,-865.51 16940.69,-856.94"/>
<polygon fill="#f99806" stroke="black" points="16941.14,-853.37 16930.86,-855.96 16940.51,-860.34 16941.14,-853.37"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_remove -->
<g id="edge910" 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="M16970.79,-1604.77C16755.01,-1600.32 15326.26,-1569.64 15243,-1534.96 15200.41,-1517.22 15209.57,-1482.03 15167,-1464.25 15078.54,-1427.31 14383.42,-1483.39 14305,-1428.25 14291.51,-1418.77 14307.18,-1397.08 14291,-1393.9"/>
<path fill="none" stroke="black" d="M14291,-1391.9C14272.73,-1388.27 14283.11,-1366.89 14267,-1357.54 14113.36,-1268.42 14020.21,-1414.71 13869,-1321.54 13837.49,-1302.12 13856.69,-1269.96 13825,-1250.83 13729.82,-1193.37 13434.01,-1241.17 13326,-1214.83 13209.42,-1186.4 13143.98,-1208.34 13078,-1108.12 13034.39,-1041.88 13036.56,-982.04 13097,-930.7 13152.73,-883.36 15660.83,-921.15 15729,-894.7 15732.95,-893.16 15736.79,-891.13 15740.45,-888.79"/>
<polygon fill="#f99806" stroke="black" points="15742.14,-891.16 15748.16,-882.45 15738.02,-885.51 15742.14,-891.16"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_request -->
<g id="edge911" 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="M14291,-1391.9C14272.79,-1387.97 14282.64,-1367.66 14267,-1357.54 14194.83,-1310.86 14160.11,-1343.43 14077,-1321.54 13982.58,-1296.68 13964.73,-1270.03 13869,-1250.83 13811.34,-1239.27 13381.14,-1257.8 13341,-1214.83 13326.71,-1199.54 13327.32,-1054.59 13344,-1037.41 13440.1,-938.44 15695.52,-947.41 15823,-894.7 15826.86,-893.1 15830.62,-891.05 15834.22,-888.71"/>
<polygon fill="#f99806" stroke="black" points="15835.81,-891.15 15841.81,-882.41 15831.67,-885.5 15835.81,-891.15"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_search -->
<g id="edge912" 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="M16970.81,-1604.65C16763.36,-1599.51 15428.07,-1565.61 15025,-1534.96 14754.62,-1514.4 14689.07,-1488.52 14419,-1464.25 14166.18,-1441.53 14100.74,-1460.85 13849,-1428.25 13687.73,-1407.37 13650.82,-1381.69 13490,-1357.54 13337.11,-1334.58 13297.42,-1340.64 13144,-1321.54 13062,-1311.33 12487.6,-1236.99 12408,-1214.83 12336.25,-1194.85 12149.09,-1133.03 12104,-1073.76"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_update -->
<g id="edge913" 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="M16944,-1498.61C16900.58,-1415.11 16931.31,-1378.01 16956,-1287.18"/>
<path fill="none" stroke="black" d="M16956,-1285.18C16978.97,-1220.67 16938.15,-1196.48 16894,-1144.12 16801.97,-1034.98 16693.97,-1092.6 16626,-967.05"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_upload -->
<g id="edge914" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_service_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16956,-1285.18C16962.66,-1267.79 16966.12,-1263.25 16980,-1250.83 17004.89,-1228.54 17028.94,-1243.56 17046,-1214.83 17062.04,-1187.81 17061.49,-1171.46 17046,-1144.12 17040.32,-1134.09 16878.45,-1042.28 16868,-1037.41 16823.68,-1016.72 16803.02,-1030.9 16764,-1001.41 16749.14,-990.18 16757.01,-974.64 16740,-967.05"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge915" 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="M16989.55,-1588.08C16979.21,-1567.18 16960.96,-1530.96 16944,-1500.61"/>
<path fill="none" stroke="black" d="M16944,-1498.61C16855.77,-1340.69 16874.13,-1269.77 16744,-1144.12 16722.72,-1123.57 16712.82,-1124.22 16688,-1108.12 16567.23,-1029.77 16552.37,-979.69 16417,-930.7 16285.75,-883.19 16232.41,-951.71 16105,-894.7 16101.19,-892.99 16097.46,-890.86 16093.88,-888.47"/>
<polygon fill="#f99806" stroke="black" points="16096.44,-885.26 16086.33,-882.09 16092.25,-890.88 16096.44,-885.26"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_status_package -->
<g id="edge916" 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="M15039,-1498.61C15020.44,-1497.06 15031.34,-1473.19 15015,-1464.25 14839.39,-1368.2 14299.77,-1505.21 14115,-1428.25 14072.41,-1410.51 14081.29,-1375.98 14039,-1357.54 13938.51,-1313.72 13653.82,-1346.16 13547,-1321.54 13464.45,-1302.51 13452.45,-1270.27 13370,-1250.83 13182.48,-1206.6 13122.08,-1271.71 12938,-1214.83 12846.21,-1186.46 12827.51,-1164.89 12750,-1108.12 12675.65,-1053.66 12562.23,-1052 12598,-967.05"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_status_packages -->
<g id="edge917" 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="M17001.19,-1588.18C17005.15,-1567.36 17012.33,-1531.24 17020,-1500.61"/>
<path fill="none" stroke="black" d="M17020,-1498.61C17031.3,-1453.46 17009.89,-1439.32 17020,-1393.9"/>
<path fill="none" stroke="black" d="M17020,-1391.9C17035.39,-1322.79 17040.33,-1297 17094,-1250.83 17131.08,-1218.93 17169.63,-1254.67 17198,-1214.83 17216.23,-1189.23 17217.03,-1169.13 17198,-1144.12 17161.7,-1096.4 17116.71,-1143.06 17068,-1108.12 17037.14,-1085.98 17050.15,-1060.51 17020,-1037.41 16981.17,-1007.66 16960.55,-1021.61 16916,-1001.41 16858.22,-975.21 16852.52,-949.73 16792,-930.7 16624.26,-877.95 16561.92,-958.35 16398,-894.7 16392.82,-892.69 16387.72,-890.04 16382.83,-887.04"/>
<polygon fill="#f99806" stroke="black" points="16384.99,-883.61 16374.74,-880.94 16381.09,-889.42 16384.99,-883.61"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_status_status -->
<g id="edge918" 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="M16970.81,-1604.54C16737,-1597.8 15073.6,-1549.36 15053,-1534.96 15039.49,-1525.52 15055.43,-1501.97 15039,-1500.61"/>
<path fill="none" stroke="black" d="M15039,-1498.61C15020.44,-1497.06 15031.36,-1473.16 15015,-1464.25 14919.71,-1412.33 14145.43,-1449.45 14039,-1428.25 13950.63,-1410.65 13937.02,-1376.82 13849,-1357.54 13640.46,-1311.86 13579.68,-1361.68 13370,-1321.54 13266.63,-1301.75 13247.09,-1272.03 13144,-1250.83 12990.83,-1219.32 12947.57,-1244.34 12794,-1214.83 12565.19,-1170.86 12241.16,-1181.61 12332,-967.05"/>
<path fill="none" stroke="black" d="M12332,-965.05C12339.26,-947.9 12339.54,-939.41 12356,-930.7 12503.19,-852.84 15197.72,-954.81 15353,-894.7 15356.95,-893.17 15360.79,-891.14 15364.45,-888.8"/>
<polygon fill="#f99806" stroke="black" points="15366.14,-891.17 15372.17,-882.46 15362.02,-885.51 15366.14,-891.17"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_user_login -->
<g id="edge919" 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="M16970.73,-1604.67C16749.67,-1599.35 15257.12,-1562.52 15167,-1534.96 15109.98,-1517.52 15109.95,-1481.91 15053,-1464.25 14888.12,-1413.11 14438.12,-1490.23 14277,-1428.25 14230.82,-1410.48 14236.71,-1376.49 14191,-1357.54 14040.02,-1294.93 13965.91,-1404.37 13825,-1321.54 13792.04,-1302.16 13809.39,-1269.46 13776,-1250.83 13645.03,-1177.73 13229.84,-1293.27 13102,-1214.83 13047.81,-1181.58 12907.83,-1004.78 12959,-967.05"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge920" 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="M16970.61,-1605.01C16790.66,-1602.83 15775.54,-1588.3 15471,-1534.96 15366.5,-1516.66 15347.54,-1482.33 15243,-1464.25 15054.08,-1431.58 14557.92,-1502.12 14381,-1428.25 14338.43,-1410.47 14346.17,-1378.37 14305,-1357.54 14228.31,-1318.75 14184.32,-1372.35 14115,-1321.54 14086.22,-1300.45 14107.11,-1269.96 14077,-1250.83 13952.65,-1171.82 13534.86,-1300.5 13415,-1214.83 13359.99,-1175.51 13303.73,-1114.1 13358,-1073.76"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_web -->
<g id="edge921" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17146,-1498.61C17159.34,-1485.97 17156.29,-1477.52 17169,-1464.25 17187.69,-1444.73 17200.09,-1448.48 17218,-1428.25 17254.07,-1387.51 17251.53,-1369.08 17278,-1321.54 17295.46,-1290.18 17299.29,-1282.05 17317,-1250.83 17326.14,-1234.72 17329.54,-1231.31 17338,-1214.83 17418.51,-1058.07 17524.72,-1027.4 17500,-852.92"/>
<path fill="none" stroke="black" d="M17500,-850.92C17495.91,-810.74 17463.84,-812.05 17453,-773.14 17444.56,-742.86 17443.88,-732.5 17453,-702.43 17463.91,-666.44 17529.36,-655.57 17500,-632.07"/>
<path fill="none" stroke="black" d="M17500,-630.07C17414.16,-564.4 13850.76,-536.47 13389.92,-533.13"/>
<polygon fill="#f99806" stroke="black" points="13390.03,-529.62 13380,-533.05 13389.98,-536.62 13390.03,-529.62"/>
</g>
<!-- aiohttp_cors -->
<g id="node229" class="node">
<title>aiohttp_cors</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#9fb83d" stroke="black" points="17118,-1410.9 17115,-1414.9 17094,-1414.9 17091,-1410.9 17048,-1410.9 17048,-1374.9 17118,-1374.9 17118,-1410.9"/>
<text text-anchor="middle" x="17083" y="-1388.65" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">aiohttp_cors</text>
</g>
<!-- aiohttp&#45;&gt;aiohttp_cors -->
<g id="edge922" class="edge">
<title>aiohttp&#45;&gt;aiohttp_cors</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17020,-1498.61C17027.37,-1469.16 17046.18,-1439.92 17061.34,-1419.85"/>
<polygon fill="#f99806" stroke="black" points="17064.61,-1422.35 17068,-1412.31 17059.09,-1418.05 17064.61,-1422.35"/>
</g>
<!-- aiohttp_jinja2 -->
<g id="node230" class="node">
<title>aiohttp_jinja2</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#75c823" stroke="black" points="17949.5,-1304.18 17946.5,-1308.18 17925.5,-1308.18 17922.5,-1304.18 17876.5,-1304.18 17876.5,-1268.18 17949.5,-1268.18 17949.5,-1304.18"/>
<text text-anchor="middle" x="17913" y="-1281.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">aiohttp_jinja2</text>
</g>
<!-- aiohttp&#45;&gt;aiohttp_jinja2 -->
<g id="edge923" class="edge">
<title>aiohttp&#45;&gt;aiohttp_jinja2</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17025.27,-1599.06C17055.5,-1592.13 17105.71,-1580.67 17149,-1570.96 17221.39,-1554.73 17242.77,-1561.64 17312,-1534.96 17371.2,-1512.15 17379.67,-1493.43 17436,-1464.25 17535.34,-1412.78 17559.15,-1396.59 17664,-1357.54 17732.63,-1331.98 17814.84,-1310.44 17865.49,-1298.17"/>
<polygon fill="#f99806" stroke="black" points="17866.21,-1301.35 17875.12,-1295.62 17864.58,-1294.55 17866.21,-1301.35"/>
</g>
<!-- aiohttp_session -->
<g id="node232" class="node">
<title>aiohttp_session</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#3db849" stroke="black" points="18132.12,-1410.9 18129.12,-1414.9 18108.12,-1414.9 18105.12,-1410.9 18047.88,-1410.9 18047.88,-1374.9 18132.12,-1374.9 18132.12,-1410.9"/>
<text text-anchor="middle" x="18090" y="-1388.65" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">aiohttp_session</text>
</g>
<!-- aiohttp&#45;&gt;aiohttp_session -->
<g id="edge924" class="edge">
<title>aiohttp&#45;&gt;aiohttp_session</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17025.32,-1597.78C17055.38,-1589.79 17105.25,-1577.46 17149,-1570.96 17371.57,-1537.91 17433.12,-1577.91 17654,-1534.96 17796.48,-1507.26 17957.33,-1447.39 18037.99,-1415.28"/>
<polygon fill="#f99806" stroke="black" points="18038.91,-1418.28 18046.89,-1411.31 18036.31,-1411.78 18038.91,-1418.28"/>
</g>
<!-- aiohttp_apispec -->
<g id="node228" class="node">
<title>aiohttp_apispec</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#f9e210" stroke="black" points="16396.12,-1304.18 16393.12,-1308.18 16372.12,-1308.18 16369.12,-1304.18 16311.88,-1304.18 16311.88,-1268.18 16396.12,-1268.18 16396.12,-1304.18"/>
<text text-anchor="middle" x="16354" y="-1281.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">aiohttp_apispec</text>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_apispec -->
<g id="edge925" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_apispec</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16331.9,-1267.79C16322.09,-1261.13 16310.06,-1254.3 16298,-1250.83 16103.76,-1194.96 12861.16,-1234.5 12660,-1214.83 12403.49,-1189.74 12339.7,-1171.97 12090,-1108.12 11945.34,-1071.13 11778.47,-1011.73 11701.29,-983.28"/>
<polygon fill="#f9e210" stroke="black" points="11703.04,-979.82 11692.44,-979.64 11700.61,-986.39 11703.04,-979.82"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_service_add -->
<g id="edge926" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_service_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16396.3,-1275.51C16444.28,-1263.88 16524.37,-1242.41 16590,-1214.83 16619.04,-1202.62 16624.35,-1195.57 16652,-1180.47"/>
<path fill="none" stroke="black" d="M16652,-1178.47C16748.76,-1125.63 16707.41,-1017.94 16640,-930.7 16607.25,-888.32 16571.61,-921.08 16525,-894.7 16521.52,-892.73 16518.07,-890.46 16514.71,-888.03"/>
<polygon fill="#f9e210" stroke="black" points="16517.13,-884.7 16507.1,-881.29 16512.82,-890.21 16517.13,-884.7"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_service_pgp -->
<g id="edge927" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_service_pgp</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16652,-1178.47C16700.38,-1152.16 16728.4,-1156.88 16754,-1108.12 16790.66,-1038.3 16802.04,-993.23 16754,-930.7 16716.17,-881.46 16673.68,-924.12 16619,-894.7 16615.32,-892.72 16611.69,-890.39 16608.18,-887.88"/>
<polygon fill="#f9e210" stroke="black" points="16610.76,-884.68 16600.72,-881.3 16606.46,-890.2 16610.76,-884.68"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_service_process -->
<g id="edge928" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_service_process</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16652,-1178.47C16790.1,-1102.31 16998.75,-1058.25 16906,-930.7 16883.23,-899.39 16777.47,-874.23 16714.19,-861.66"/>
<polygon fill="#f9e210" stroke="black" points="16715.14,-858.08 16704.66,-859.6 16713.8,-864.95 16715.14,-858.08"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_service_rebuild -->
<g id="edge929" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_service_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16396.58,-1283.25C16494.57,-1276.45 16737.7,-1245.84 16869,-1108.12 16926.64,-1047.66 16950.24,-1011.98 16931,-930.7 16928.28,-919.22 16923.59,-907.5 16918.39,-896.77"/>
<polygon fill="#f9e210" stroke="black" points="16921.18,-895.53 16913.51,-888.22 16914.94,-898.71 16921.18,-895.53"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_service_remove -->
<g id="edge930" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_service_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16378.72,-1268.01C16403.77,-1248.31 16437.08,-1214.33 16424,-1180.47"/>
<path fill="none" stroke="black" d="M16424,-1178.47C16417.71,-1162.2 16419.71,-1153.51 16405,-1144.12 16309.04,-1082.88 15993.03,-1164.25 15894,-1108.12 15877.8,-1098.93 15883.31,-1086.79 15870,-1073.76"/>
<path fill="none" stroke="black" d="M15870,-1071.76C15823.42,-1026.2 15798.57,-953.81 15786.34,-904.88"/>
<polygon fill="#f9e210" stroke="black" points="15789.52,-904.11 15783.78,-895.2 15782.71,-905.74 15789.52,-904.11"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_service_request -->
<g id="edge931" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_service_request</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15870,-1071.76C15828.08,-1027.12 15838.95,-951.95 15852.75,-902.38"/>
<polygon fill="#f9e210" stroke="black" points="15856.36,-903.48 15855.81,-892.9 15849.64,-901.52 15856.36,-903.48"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_service_search -->
<g id="edge932" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16331.9,-1267.79C16322.09,-1261.13 16310.06,-1254.3 16298,-1250.83 16110.01,-1196.72 12970.43,-1244.05 12777,-1214.83 12694.28,-1202.33 12039.65,-1046.45 12066,-967.05"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_service_update -->
<g id="edge933" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_service_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16152,-1071.76C16109.27,-1027.65 16120.5,-952 16134.58,-902.22"/>
<polygon fill="#f9e210" stroke="black" points="16138.22,-903.28 16137.71,-892.7 16131.51,-901.29 16138.22,-903.28"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_service_upload -->
<g id="edge934" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_service_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16380.48,-1267.83C16422.62,-1239.99 16500.2,-1187.74 16500,-1180.47"/>
<path fill="none" stroke="black" d="M16500,-1178.47C16498.02,-1105.69 16362.39,-1118.32 16351,-1108.12 16291.66,-1054.97 16265.11,-963.19 16253.78,-905.4"/>
<polygon fill="#f9e210" stroke="black" points="16257.06,-904.85 16251.78,-895.66 16250.18,-906.14 16257.06,-904.85"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge935" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16424,-1178.47C16417.71,-1162.2 16418.69,-1154.93 16405,-1144.12 16313.41,-1071.79 16237.74,-1152.94 16152,-1073.76"/>
<path fill="none" stroke="black" d="M16152,-1071.76C16103.89,-1027.33 16079.33,-954.11 16067.59,-904.73"/>
<polygon fill="#f9e210" stroke="black" points="16070.84,-904.25 16065.21,-895.27 16064.02,-905.8 16070.84,-904.25"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_status_package -->
<g id="edge936" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16331.89,-1267.81C16322.09,-1261.14 16310.05,-1254.31 16298,-1250.83 16139.9,-1205.16 13498.49,-1240.88 13336,-1214.83 13293.3,-1207.98 12581.72,-1007.12 12598,-967.05"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_status_packages -->
<g id="edge937" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_status_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16500,-1178.47C16498.18,-1122.87 16345.18,-1052.43 16323,-1001.41 16309.36,-970.04 16315.01,-931.72 16323.73,-901.86"/>
<polygon fill="#f9e210" stroke="black" points="16327.27,-903.27 16326.92,-892.68 16320.59,-901.18 16327.27,-903.27"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_status_status -->
<g id="edge938" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16331.9,-1267.8C16322.09,-1261.14 16310.06,-1254.31 16298,-1250.83 16126.16,-1201.28 13255.86,-1241.4 13079,-1214.83 12992.52,-1201.84 12288.44,-1042.88 12332,-967.05"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_user_login -->
<g id="edge939" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16331.89,-1267.81C16322.09,-1261.15 16310.05,-1254.31 16298,-1250.83 16144.12,-1206.35 13559.64,-1283.65 13415,-1214.83 13359.23,-1188.3 13347.04,-1166.18 13326,-1108.12 13295.6,-1024.22 13338.98,-968.1 13420,-930.7 13531.74,-879.12 15520.32,-939.37 15635,-894.7 15638.95,-893.16 15642.78,-891.13 15646.44,-888.78"/>
<polygon fill="#f9e210" stroke="black" points="15648.14,-891.15 15654.16,-882.43 15644.01,-885.49 15648.14,-891.15"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge940" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15870,-1071.76C15858.34,-1057.64 15907.82,-958.28 15939.42,-898.41"/>
<polygon fill="#f9e210" stroke="black" points="15942.92,-900.27 15944.51,-889.79 15936.74,-896.99 15942.92,-900.27"/>
</g>
<!-- aiohttp_cors&#45;&gt;ahriman_web_cors -->
<g id="edge941" class="edge">
<title>aiohttp_cors&#45;&gt;ahriman_web_cors</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17104.22,-1374.53C17148.72,-1337.78 17249.67,-1252.4 17274,-1214.83 17319.25,-1144.96 17300.31,-1113.53 17334,-1037.41 17378.17,-937.63 17444.57,-827.05 17478.45,-772.72"/>
<polygon fill="#9fb83d" stroke="black" points="17481.85,-774.89 17484.19,-764.55 17475.92,-771.17 17481.85,-774.89"/>
</g>
<!-- aiohttp_cors&#45;&gt;ahriman_web_views_base -->
<g id="edge942" class="edge">
<title>aiohttp_cors&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17071.31,-1374.74C17052,-1347.05 17011.44,-1291.48 16970,-1250.83 16946.98,-1228.25 16770.66,-1083.77 16740,-1073.76"/>
<path fill="none" stroke="black" d="M16740,-1071.76C16626.43,-1030.11 16488.27,-994.96 16417.22,-977.98"/>
<polygon fill="#9fb83d" stroke="black" points="16418.36,-974.42 16407.82,-975.51 16416.74,-981.23 16418.36,-974.42"/>
</g>
<!-- aiohttp_jinja2&#45;&gt;ahriman_web_middlewares_exception_handler -->
<g id="edge943" class="edge">
<title>aiohttp_jinja2&#45;&gt;ahriman_web_middlewares_exception_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M18050,-965.05C18047.16,-915.3 18045.61,-902.56 18050,-852.92"/>
<path fill="none" stroke="black" d="M18050,-850.92C18052.29,-824.98 18065.45,-799.31 18079.06,-779.09"/>
<polygon fill="#75c823" stroke="black" points="18082.42,-781.4 18085.31,-771.21 18076.7,-777.37 18082.42,-781.4"/>
</g>
<!-- aiohttp_jinja2&#45;&gt;ahriman_web_views_api_docs -->
<g id="edge944" class="edge">
<title>aiohttp_jinja2&#45;&gt;ahriman_web_views_api_docs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17937.52,-1267.81C17945.8,-1262.18 17955.18,-1256.05 17964,-1250.83 17994.12,-1233.03 18010.96,-1241.16 18034,-1214.83 18087.11,-1154.15 18084.17,-1117.13 18072,-1037.41 18067.05,-1005.02 18054.75,-999.47 18050,-967.05"/>
<path fill="none" stroke="black" d="M18050,-965.05C18047.67,-924.07 18010,-893.27 17978.21,-874.41"/>
<polygon fill="#75c823" stroke="black" points="17980.43,-871.08 17970.01,-869.18 17976.97,-877.17 17980.43,-871.08"/>
</g>
<!-- aiohttp_jinja2&#45;&gt;ahriman_web_views_index -->
<g id="edge945" class="edge">
<title>aiohttp_jinja2&#45;&gt;ahriman_web_views_index</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17928.18,-1267.94C17963.07,-1226.12 18042.52,-1116.89 17996,-1037.41 17923.31,-913.22 17740.33,-871.61 17652.51,-858.51"/>
<polygon fill="#75c823" stroke="black" points="17653.17,-854.93 17642.78,-856.99 17652.18,-861.86 17653.17,-854.93"/>
</g>
<!-- aiohttp_jinja2&#45;&gt;ahriman_web_web -->
<g id="edge946" class="edge">
<title>aiohttp_jinja2&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M18050,-965.05C18045.14,-879.8 18196.69,-937.8 18206,-852.92"/>
<path fill="none" stroke="black" d="M18206,-850.92C18216.6,-754.23 18258.3,-714.08 18206,-632.07"/>
</g>
<!-- aiohttp_security -->
<g id="node231" class="node">
<title>aiohttp_security</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#60c247" stroke="black" points="17242.5,-1624.32 17239.5,-1628.32 17218.5,-1628.32 17215.5,-1624.32 17157.5,-1624.32 17157.5,-1588.32 17242.5,-1588.32 17242.5,-1624.32"/>
<text text-anchor="middle" x="17200" y="-1602.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">aiohttp_security</text>
</g>
<!-- aiohttp_security&#45;&gt;ahriman_core_auth_helpers -->
<g id="edge947" class="edge">
<title>aiohttp_security&#45;&gt;ahriman_core_auth_helpers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17157,-1594.23C17123.69,-1586.18 17076.24,-1575.87 17034,-1570.96 16448.83,-1503 16290.77,-1627.64 15709,-1534.96 15600.03,-1517.6 15579.9,-1482.07 15471,-1464.25 15360.29,-1446.13 14566.32,-1469.51 14462,-1428.25 14417.56,-1410.67 14421.75,-1382.5 14381,-1357.54 14272.38,-1291 14239.3,-1278.68 14115,-1250.83 13983.36,-1221.33 13635.94,-1260.49 13509,-1214.83 13505.47,-1213.56 13501.97,-1211.94 13498.58,-1210.09"/>
<polygon fill="#60c247" stroke="black" points="13500.68,-1206.65 13490.33,-1204.39 13497,-1212.61 13500.68,-1206.65"/>
</g>
<!-- aiohttp_security&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge948" class="edge">
<title>aiohttp_security&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17242.8,-1604.55C17325.12,-1601.82 17510.07,-1589.55 17654,-1534.96 17790.35,-1483.25 17799.23,-1422.07 17930,-1357.54 18000.39,-1322.8 18044.32,-1349.54 18092,-1287.18"/>
<path fill="none" stroke="black" d="M18092,-1285.18C18114.59,-1252.21 18124.1,-1246.86 18148,-1214.83 18159.14,-1199.9 18161.66,-1195.96 18172,-1180.47"/>
</g>
<!-- aiohttp_session&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge949" class="edge">
<title>aiohttp_session&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M18084.67,-1374.67C18078.84,-1352.11 18072.67,-1312.46 18092,-1287.18"/>
</g>
<!-- boto3 -->
<g id="node233" class="node">
<title>boto3</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#40c073" stroke="black" points="10523,-2180.14 10520,-2184.14 10499,-2184.14 10496,-2180.14 10469,-2180.14 10469,-2144.14 10523,-2144.14 10523,-2180.14"/>
<text text-anchor="middle" x="10496" y="-2157.89" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">boto3</text>
</g>
<!-- boto3&#45;&gt;ahriman_core_upload_s3 -->
<g id="edge950" 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="M10507.96,-2143.91C10521.81,-2122.73 10543.65,-2085.13 10551,-2049.01"/>
<path fill="none" stroke="black" d="M10551,-2047.01C10571.67,-1945.38 10523.89,-1881.41 10608,-1820.74"/>
</g>
<!-- cerberus -->
<g id="node234" class="node">
<title>cerberus</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#40c099" stroke="black" points="10029.12,-2636.69 10026.12,-2640.69 10005.12,-2640.69 10002.12,-2636.69 9974.88,-2636.69 9974.88,-2600.69 10029.12,-2600.69 10029.12,-2636.69"/>
<text text-anchor="middle" x="10002" y="-2614.44" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">cerberus</text>
</g>
<!-- cerberus&#45;&gt;ahriman_core_configuration_validator -->
<g id="edge951" class="edge">
<title>cerberus&#45;&gt;ahriman_core_configuration_validator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9974.65,-2601.02C9958.93,-2589.93 9940.32,-2573.9 9930,-2554.75 9863.21,-2430.83 9918.21,-2378.2 9887,-2240.92 9884.47,-2229.81 9881.07,-2218.02 9877.59,-2207.06"/>
<polygon fill="#40c099" stroke="black" points="9880.69,-2206.28 9874.26,-2197.86 9874.04,-2208.45 9880.69,-2206.28"/>
</g>
<!-- cryptography -->
<g id="node235" class="node">
<title>cryptography</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#19e6e6" stroke="black" points="17903.5,-3048.68 17900.5,-3052.68 17879.5,-3052.68 17876.5,-3048.68 17830.5,-3048.68 17830.5,-3012.68 17903.5,-3012.68 17903.5,-3048.68"/>
<text text-anchor="middle" x="17867" y="-3026.43" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">cryptography</text>
</g>
<!-- cryptography&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge952" 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="M18235,-1712.03C18264.12,-1508.91 18273.87,-1455.24 18256,-1250.83 18248.55,-1165.56 18228.72,-1067.52 18216.39,-1011.86"/>
<polygon fill="#19e6e6" stroke="black" points="18219.63,-1011.3 18214.03,-1002.31 18212.8,-1012.83 18219.63,-1011.3"/>
</g>
<!-- cryptography&#45;&gt;aiohttp_session -->
<g id="edge953" class="edge">
<title>cryptography&#45;&gt;aiohttp_session</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17870.68,-3012.48C17897.55,-2887.39 18064.72,-2115.68 18147,-1891.09 18162.12,-1849.84 18232.56,-1757.9 18235,-1714.03"/>
<path fill="none" stroke="black" d="M18235,-1712.03C18237.97,-1650.18 18144.11,-1484.85 18105.87,-1420.26"/>
<polygon fill="#19e6e6" stroke="black" points="18108.56,-1418.94 18100.44,-1412.14 18102.55,-1422.52 18108.56,-1418.94"/>
</g>
<!-- requests -->
<g id="node241" class="node">
<title>requests</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#c006ef" stroke="black" points="11269,-2934.54 11266,-2938.54 11245,-2938.54 11242,-2934.54 11215,-2934.54 11215,-2898.54 11269,-2898.54 11269,-2934.54"/>
<text text-anchor="middle" x="11242" y="-2912.29" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">requests</text>
</g>
<!-- cryptography&#45;&gt;requests -->
<g id="edge954" class="edge">
<title>cryptography&#45;&gt;requests</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17830.15,-3029.06C17325.28,-3020.51 11794.4,-2926.89 11280.26,-2918.19"/>
<polygon fill="#19e6e6" stroke="black" points="11280.44,-2914.68 11270.38,-2918.01 11280.32,-2921.68 11280.44,-2914.68"/>
</g>
<!-- inflection -->
<g id="node236" class="node">
<title>inflection</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#5398b6" stroke="black" points="5742.5,-4460.74 5739.5,-4464.74 5718.5,-4464.74 5715.5,-4460.74 5687.5,-4460.74 5687.5,-4424.74 5742.5,-4424.74 5742.5,-4460.74"/>
<text text-anchor="middle" x="5715" y="-4438.49" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">inflection</text>
</g>
<!-- inflection&#45;&gt;ahriman_models_aur_package -->
<g id="edge955" 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="M5715,-4424.27C5715,-4377.84 5715,-4250.58 5715,-4186.42"/>
<polygon fill="#5398b6" stroke="black" points="5718.5,-4186.58 5715,-4176.58 5711.5,-4186.58 5718.5,-4186.58"/>
</g>
<!-- jinja2 -->
<g id="node237" class="node">
<title>jinja2</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#3b76ce" stroke="black" points="17751,-2408.41 17748,-2412.41 17727,-2412.41 17724,-2408.41 17697,-2408.41 17697,-2372.41 17751,-2372.41 17751,-2408.41"/>
<text text-anchor="middle" x="17724" y="-2386.16" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">jinja2</text>
</g>
<!-- jinja2&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge956" 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="M17696.71,-2388.64C17525.29,-2383.83 16579.42,-2357.83 15808,-2347.63 15592.29,-2344.78 8255.91,-2339.59 8042,-2311.63 7918.57,-2295.51 7892.71,-2267.03 7771,-2240.92 7677.13,-2220.79 7651.59,-2226.36 7558,-2204.92 7223.78,-2128.37 6831.85,-2002.19 6686.78,-1954.2"/>
<polygon fill="#3b76ce" stroke="black" points="6687.95,-1950.57 6677.35,-1950.75 6685.75,-1957.22 6687.95,-1950.57"/>
</g>
<!-- jinja2&#45;&gt;ahriman_web_web -->
<g id="edge957" class="edge">
<title>jinja2&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17855,-2161.14C17954.92,-2028.62 17994.31,-2003.32 18069,-1855.09 18159.03,-1676.42 18167.23,-1623.25 18212,-1428.25 18236.9,-1319.83 18303.31,-1035.84 18267,-930.7 18252.66,-889.17 18197.45,-896.01 18206,-852.92"/>
</g>
<!-- jinja2&#45;&gt;aiohttp_jinja2 -->
<g id="edge958" class="edge">
<title>jinja2&#45;&gt;aiohttp_jinja2</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17732.46,-2372.18C17746.36,-2344.19 17775.27,-2287.28 17803,-2240.92 17824.35,-2205.24 17830.14,-2196.48 17855,-2163.14"/>
<path fill="none" stroke="black" d="M17855,-2161.14C17877.79,-2129.78 17888.69,-1502.88 17892,-1464.25 17896.54,-1411.32 17904.43,-1349.79 17909.14,-1314.97"/>
<polygon fill="#3b76ce" stroke="black" points="17912.72,-1315.62 17910.6,-1305.24 17905.78,-1314.67 17912.72,-1315.62"/>
</g>
<!-- marshmallow -->
<g id="node238" class="node">
<title>marshmallow</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#061def" stroke="black" points="15053.25,-1837.74 15050.25,-1841.74 15029.25,-1841.74 15026.25,-1837.74 14978.75,-1837.74 14978.75,-1801.74 15053.25,-1801.74 15053.25,-1837.74"/>
<text text-anchor="middle" x="15016" y="-1815.49" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">marshmallow</text>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_aur_package_schema -->
<g id="edge959" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_aur_package_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15077,-1605.32C15121.78,-1487.49 15121.85,-1442.46 15215,-1357.54 15241.12,-1333.73 15440.47,-1251.25 15547.9,-1207.77"/>
<polygon fill="#061def" stroke="black" points="15549.04,-1210.68 15557,-1203.69 15546.41,-1204.19 15549.04,-1210.68"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_auth_schema -->
<g id="edge960" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_auth_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15077,-1605.32C15080.3,-1597.2 15264.34,-1361.79 15272,-1357.54 15398.69,-1287.32 15864.3,-1420.89 15920,-1287.18"/>
<path fill="none" stroke="black" d="M15920,-1285.18C15922.53,-1279.08 15859.17,-1238.4 15812.69,-1209.59"/>
<polygon fill="#061def" stroke="black" points="15814.7,-1206.09 15804.35,-1203.81 15811.02,-1212.05 15814.7,-1206.09"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_counters_schema -->
<g id="edge961" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_counters_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15077,-1605.32C15101.39,-1545.16 15155.53,-1577 15205,-1534.96 15281.33,-1470.09 15255.31,-1404.12 15344,-1357.54 15460.29,-1296.47 15806.2,-1351.91 15934,-1321.54 15941.28,-1319.81 15948.73,-1317.47 15956.03,-1314.81"/>
<polygon fill="#061def" stroke="black" points="15956.77,-1317.89 15964.83,-1311.02 15954.25,-1311.36 15956.77,-1317.89"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_error_schema -->
<g id="edge962" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_error_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15077,-1605.32C15106.04,-1529.76 15180.04,-1583.27 15245,-1534.96 15285.97,-1504.49 15345.4,-1380.52 15391,-1357.54 15460.35,-1322.59 16030.97,-1373.15 16089,-1321.54 16115.32,-1298.13 16119.85,-1257.38 16118.65,-1225.68"/>
<polygon fill="#061def" stroke="black" points="16122.09,-1225.66 16118.01,-1215.89 16115.11,-1226.08 16122.09,-1225.66"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_file_schema -->
<g id="edge963" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_file_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15032.87,-1801.26C15075.56,-1756.98 15191.18,-1636.69 15286,-1534.96 15304.2,-1515.43 15423.87,-1368.97 15448,-1357.54 15616.5,-1277.75 16156.18,-1422.91 16284,-1287.18"/>
<path fill="none" stroke="black" d="M16284,-1285.18C16302.55,-1265.47 16287.75,-1237.73 16269.4,-1215.76"/>
<polygon fill="#061def" stroke="black" points="16272.49,-1213.84 16263.26,-1208.65 16267.24,-1218.46 16272.49,-1213.84"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_internal_status_schema -->
<g id="edge964" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_internal_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15920,-1285.18C15927.68,-1266.66 15928.74,-1244.65 15927.46,-1225.6"/>
<polygon fill="#061def" stroke="black" points="15930.87,-1225.41 15926.47,-1215.77 15923.9,-1226.05 15930.87,-1225.41"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_log_schema -->
<g id="edge965" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_log_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16284,-1285.18C16295.96,-1272.48 16294.07,-1265.82 16303,-1250.83 16308.85,-1241.01 16315.36,-1230.57 16321.57,-1220.82"/>
<polygon fill="#061def" stroke="black" points="16324.95,-1223.03 16327.41,-1212.73 16319.06,-1219.25 16324.95,-1223.03"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_login_schema -->
<g id="edge966" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_login_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14978.33,-1811.25C14926.71,-1800.41 14831.56,-1778.3 14754,-1748.38 14741.88,-1743.71 14555.51,-1650.52 14546,-1641.67 14519.07,-1616.62 14531.88,-1593.74 14503,-1570.96 14461.94,-1538.59 14432.85,-1566.3 14391,-1534.96 14360.6,-1512.2 14373.93,-1486.3 14343,-1464.25 14293.14,-1428.7 14264.43,-1456.31 14210,-1428.25 14099.58,-1371.32 14108.72,-1298.5 13994,-1250.83 13845.92,-1189.3 13788.21,-1262.16 13635,-1214.83 13630.12,-1213.32 13625.19,-1211.42 13620.35,-1209.28"/>
<polygon fill="#061def" stroke="black" points="13622.12,-1205.77 13611.59,-1204.63 13619.11,-1212.09 13622.12,-1205.77"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_logs_schema -->
<g id="edge967" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_logs_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15117,-1285.18C15111.95,-1268.48 15121.7,-1260.82 15136,-1250.83 15221.54,-1191.07 15269.4,-1248.98 15368,-1214.83 15372.52,-1213.27 15377.08,-1211.37 15381.58,-1209.29"/>
<polygon fill="#061def" stroke="black" points="15382.87,-1212.06 15390.26,-1204.47 15379.75,-1205.79 15382.87,-1212.06"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_oauth2_schema -->
<g id="edge968" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_oauth2_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14983.65,-1801.37C14907.6,-1760.59 14711.38,-1655.8 14546,-1570.96 14483.69,-1538.99 14459.91,-1544.07 14405,-1500.61"/>
<path fill="none" stroke="black" d="M14405,-1498.61C14389.91,-1487.68 14395.86,-1475.48 14381,-1464.25 14341.98,-1434.76 14317.01,-1456.39 14277,-1428.25 14227.17,-1393.21 14224.67,-1372.3 14191,-1321.54 14171.28,-1291.81 14182.72,-1270.56 14153,-1250.83 14082.33,-1203.92 13854.56,-1238.13 13773,-1214.83 13767.53,-1213.27 13761.98,-1211.28 13756.52,-1209.04"/>
<polygon fill="#061def" stroke="black" points="13758.39,-1205.61 13747.82,-1204.8 13755.58,-1212.02 13758.39,-1205.61"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_package_name_schema -->
<g id="edge969" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_package_name_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14405,-1498.61C14390.51,-1486.9 14393.16,-1478.36 14381,-1464.25 14365.82,-1446.62 14359.03,-1445.11 14343,-1428.25 14271.44,-1353.02 14281.65,-1301.47 14191,-1250.83 14101.44,-1200.79 14062.35,-1240.39 13963,-1214.83 13955.47,-1212.89 13947.7,-1210.59 13939.99,-1208.12"/>
<polygon fill="#061def" stroke="black" points="13941.15,-1204.49 13930.56,-1204.65 13938.94,-1211.13 13941.15,-1204.49"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_package_names_schema -->
<g id="edge970" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_package_names_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14405,-1498.61C14379.29,-1475.98 14360.17,-1387.17 14343,-1357.54 14323.5,-1323.9 14320.61,-1312.39 14291,-1287.18"/>
<path fill="none" stroke="black" d="M14291,-1285.18C14269.42,-1261.06 14196.16,-1229.8 14138.24,-1207.74"/>
<polygon fill="#061def" stroke="black" points="14139.58,-1204.12 14128.99,-1203.87 14137.11,-1210.67 14139.58,-1204.12"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_package_properties_schema -->
<g id="edge971" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_package_properties_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15027.54,-1801.41C15039.88,-1780.71 15056.57,-1744.99 15048,-1714.03"/>
<path fill="none" stroke="black" d="M15048,-1712.03C15014.44,-1590.77 14872.01,-1698.19 14785,-1607.32"/>
<path fill="none" stroke="black" d="M14785,-1605.32C14726.51,-1544.24 14656.4,-1475.84 14612.76,-1433.82"/>
<polygon fill="#061def" stroke="black" points="14615.57,-1431.7 14605.93,-1427.29 14610.72,-1436.74 14615.57,-1431.7"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_package_schema -->
<g id="edge972" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_package_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15077,-1605.32C15098.61,-1552.03 15014.9,-1556.4 15001,-1500.61"/>
<path fill="none" stroke="black" d="M15001,-1498.61C14968.68,-1368.9 14798.63,-1317.28 14698.63,-1297.92"/>
<polygon fill="#061def" stroke="black" points="14699.47,-1294.33 14688.99,-1295.93 14698.18,-1301.21 14699.47,-1294.33"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_package_status_schema -->
<g id="edge973" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_package_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15001,-1498.61C14996.66,-1480.49 15012.19,-1477.77 15025,-1464.25 15059.92,-1427.4 15085.88,-1435.49 15115,-1393.9"/>
<path fill="none" stroke="black" d="M15115,-1391.9C15141.69,-1353.76 15130.48,-1331.74 15117,-1287.18"/>
<path fill="none" stroke="black" d="M15117,-1285.18C15092.64,-1204.66 14826.22,-1236.76 14745,-1214.83 14737.32,-1212.76 14729.39,-1210.37 14721.51,-1207.83"/>
<polygon fill="#061def" stroke="black" points="14722.81,-1204.25 14712.22,-1204.43 14720.61,-1210.89 14722.81,-1204.25"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_pgp_key_id_schema -->
<g id="edge974" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_pgp_key_id_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14291,-1285.18C14272.96,-1269.82 14261.54,-1246.14 14254.48,-1225.18"/>
<polygon fill="#061def" stroke="black" points="14257.58,-1224.36 14251.26,-1215.85 14250.89,-1226.43 14257.58,-1224.36"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_pgp_key_schema -->
<g id="edge975" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_pgp_key_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14785,-1605.32C14741.3,-1564.49 14726.17,-1395.55 14680,-1357.54 14620.04,-1308.18 14570.41,-1369.09 14509,-1321.54 14478.31,-1297.78 14460.13,-1257 14450.03,-1225.37"/>
<polygon fill="#061def" stroke="black" points="14453.15,-1224.6 14446.9,-1216.04 14446.45,-1226.62 14453.15,-1224.6"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_process_id_schema -->
<g id="edge976" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_process_id_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15117,-1285.18C15111.95,-1268.48 15123.26,-1262.75 15136,-1250.83 15143.11,-1244.18 15184.66,-1224.88 15222.23,-1208.18"/>
<polygon fill="#061def" stroke="black" points="15223.45,-1211.02 15231.18,-1203.77 15220.62,-1204.62 15223.45,-1211.02"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_process_schema -->
<g id="edge977" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_process_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15117,-1285.18C15086.54,-1184.49 14989.05,-1252.95 14891,-1214.83 14885.7,-1212.77 14880.24,-1210.49 14874.81,-1208.13"/>
<polygon fill="#061def" stroke="black" points="14876.66,-1204.68 14866.1,-1203.8 14873.81,-1211.07 14876.66,-1204.68"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_remote_schema -->
<g id="edge978" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_remote_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15048,-1712.03C15035.12,-1665.49 15059.45,-1652.31 15077,-1607.32"/>
<path fill="none" stroke="black" d="M15077,-1605.32C15078.35,-1601.86 14916.75,-1485.83 14834.64,-1427.16"/>
<polygon fill="#061def" stroke="black" points="14837.17,-1423.95 14827,-1420.98 14833.1,-1429.64 14837.17,-1423.95"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_search_schema -->
<g id="edge979" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_search_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15117,-1285.18C15109.91,-1261.77 15057.65,-1230.03 15015.34,-1207.65"/>
<polygon fill="#061def" stroke="black" points="15017.14,-1204.12 15006.66,-1202.6 15013.91,-1210.33 15017.14,-1204.12"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_status_schema -->
<g id="edge980" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15115,-1391.9C15125.68,-1376.64 15127.32,-1372.05 15139,-1357.54 15147.72,-1346.71 15157.68,-1335.44 15167.14,-1325.18"/>
<polygon fill="#061def" stroke="black" points="15169.33,-1327.9 15173.59,-1318.2 15164.21,-1323.13 15169.33,-1327.9"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_update_flags_schema -->
<g id="edge981" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_update_flags_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15117,-1285.18C15111.31,-1266.36 15110.42,-1244.75 15111.3,-1226.07"/>
<polygon fill="#061def" stroke="black" points="15114.86,-1226.37 15112.03,-1216.16 15107.87,-1225.91 15114.86,-1226.37"/>
</g>
<!-- passlib -->
<g id="node239" class="node">
<title>passlib</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#6047c2" stroke="black" points="14161,-3162.81 14158,-3166.81 14137,-3166.81 14134,-3162.81 14107,-3162.81 14107,-3126.81 14161,-3126.81 14161,-3162.81"/>
<text text-anchor="middle" x="14134" y="-3140.56" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">passlib</text>
</g>
<!-- passlib&#45;&gt;ahriman_models_user -->
<g id="edge982" class="edge">
<title>passlib&#45;&gt;ahriman_models_user</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14138.56,-3126.38C14152.16,-3074.32 14192.69,-2919.2 14211.37,-2847.69"/>
<polygon fill="#6047c2" stroke="black" points="14214.93,-2848.92 14214.07,-2838.36 14208.15,-2847.15 14214.93,-2848.92"/>
</g>
<!-- pyalpm -->
<g id="node240" class="node">
<title>pyalpm</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#852fdb" stroke="black" points="7114,-4460.74 7111,-4464.74 7090,-4464.74 7087,-4460.74 7060,-4460.74 7060,-4424.74 7114,-4424.74 7114,-4460.74"/>
<text text-anchor="middle" x="7087" y="-4438.49" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pyalpm</text>
</g>
<!-- pyalpm&#45;&gt;ahriman_core_alpm_pacman -->
<g id="edge983" 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="M7089.18,-4424.38C7091.69,-4406.53 7096.48,-4378.1 7104,-4354.39"/>
<path fill="none" stroke="black" d="M7104,-4352.39C7140.4,-4237.69 7155.42,-4203.02 7242,-4119.46 7266.04,-4096.25 7288.95,-4110.91 7308,-4083.46 7530.02,-3763.57 7356.48,-3598.16 7432,-3216.17 7471.28,-3017.49 7458.74,-2958.17 7544,-2774.48 7585.34,-2685.41 7658.18,-2595.25 7699.7,-2547.57"/>
<polygon fill="#852fdb" stroke="black" points="7702.86,-2550.28 7706.83,-2540.45 7697.6,-2545.66 7702.86,-2550.28"/>
</g>
<!-- pyalpm&#45;&gt;ahriman_models_aur_package -->
<g id="edge984" 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="M7059.59,-4435.88C6892.3,-4400.11 6008.02,-4211.04 5772.61,-4160.71"/>
<polygon fill="#852fdb" stroke="black" points="5773.41,-4157.08 5762.9,-4158.42 5771.95,-4163.93 5773.41,-4157.08"/>
</g>
<!-- pyalpm&#45;&gt;ahriman_models_package -->
<g id="edge985" class="edge">
<title>pyalpm&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7071.66,-4424.58C7015.69,-4359.84 6828.12,-4123.46 6876,-3912.82"/>
</g>
<!-- pyalpm&#45;&gt;ahriman_models_package_description -->
<g id="edge986" 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="M7104,-4352.39C7224.51,-4161.79 7505.21,-4091.34 7643.74,-4067.54"/>
<polygon fill="#852fdb" stroke="black" points="7643.99,-4070.88 7653.28,-4065.77 7642.83,-4063.97 7643.99,-4070.88"/>
</g>
<!-- requests&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge987" 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="M11214.69,-2914.93C11044.14,-2911.14 10107.71,-2890.65 9344,-2881.19 9044.41,-2877.48 4246.95,-2891.94 3951,-2845.19 3931.6,-2842.12 3631.96,-2746.42 3614,-2738.48 3418.44,-2652.06 2120.17,-1894.41 1964,-1748.38 1907.49,-1695.54 1862,-1684.69 1862,-1607.32 1862,-1607.32 1862,-1607.32 1862,-1498.61 1862,-1415.08 1825.18,-1400.86 1799,-1321.54 1778.45,-1259.3 1777.94,-1242.24 1756,-1180.47"/>
<path fill="none" stroke="black" d="M1756,-1178.47C1746.43,-1158.54 1736.02,-1136.36 1727.26,-1117.57"/>
<polygon fill="#c006ef" stroke="black" points="1730.11,-1116.39 1722.72,-1108.8 1723.76,-1119.34 1730.11,-1116.39"/>
</g>
<!-- requests&#45;&gt;ahriman_core_http_sync_http_client -->
<g id="edge988" class="edge">
<title>requests&#45;&gt;ahriman_core_http_sync_http_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11225.93,-2898.25C11169.99,-2838.03 10982.91,-2636.66 10903.81,-2551.51"/>
<polygon fill="#c006ef" stroke="black" points="10906.87,-2549.59 10897.49,-2544.65 10901.74,-2554.35 10906.87,-2549.59"/>
</g>
<!-- requests&#45;&gt;ahriman_core_report_remote_call -->
<g id="edge989" class="edge">
<title>requests&#45;&gt;ahriman_core_report_remote_call</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11214.71,-2913.05C11011.44,-2894.43 9739.41,-2776.59 9668,-2738.48 9592.13,-2697.98 9608.53,-2646.45 9543,-2590.75 9519.3,-2570.61 9501.3,-2579.9 9483,-2554.75 9427.4,-2478.35 9468.16,-2436.12 9435,-2347.63 9382.38,-2207.22 9320.59,-2192.78 9278,-2049.01"/>
</g>
<!-- requests&#45;&gt;ahriman_core_status_web_client -->
<g id="edge990" 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="M11234.41,-2898.16C11226.3,-2877.11 11215.77,-2840.75 11225,-2810.83"/>
<path fill="none" stroke="black" d="M11225,-2808.83C11241.72,-2754.62 11227.74,-2736.97 11244,-2682.62 11252.82,-2653.11 11287.81,-2646.69 11273,-2619.69"/>
<path fill="none" stroke="black" d="M11273,-2617.69C11257.56,-2591.91 11239.17,-2601.21 11211,-2590.75 11160.39,-2571.97 11137.14,-2588.49 11095,-2554.75 11078.28,-2541.37 11084.69,-2529.44 11071,-2512.97"/>
</g>
<!-- requests&#45;&gt;ahriman_core_upload_github -->
<g id="edge991" 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="M11246.76,-2898.26C11255.93,-2868.3 11278.96,-2806.84 11321,-2774.48 11371.91,-2735.29 11399.48,-2756.98 11461,-2738.48 11520.89,-2720.47 11668.33,-2668.25 11727,-2646.62 11831.83,-2607.96 11863.43,-2609.2 11961,-2554.75 12016.32,-2523.89 12024.22,-2507.07 12075,-2469.19 12147.73,-2414.95 12165.25,-2400.48 12239,-2347.63 12312.76,-2294.79 12345.36,-2286.55 12385,-2204.92 12477.28,-2014.9 12492.5,-1756.51 12494.75,-1652.97"/>
<polygon fill="#c006ef" stroke="black" points="12498.27,-1653.05 12494.95,-1642.99 12491.27,-1652.93 12498.27,-1653.05"/>
</g>
<!-- requests&#45;&gt;ahriman_core_upload_remote_service -->
<g id="edge992" class="edge">
<title>requests&#45;&gt;ahriman_core_upload_remote_service</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11225,-2808.83C11230.87,-2790.59 11458.6,-2697.47 11796,-2590.75 11853.98,-2572.42 11882.6,-2595.21 11928,-2554.75 12002.03,-2488.77 11933.03,-2408.91 12011,-2347.63 12099.61,-2278 12188.18,-2396.79 12262,-2311.63 12293.06,-2275.81 12333.83,-2152.06 12257,-2049.01"/>
<path fill="none" stroke="black" d="M12257,-2047.01C12239.87,-2027.21 12185.32,-1991.22 12144.01,-1965.34"/>
<polygon fill="#c006ef" stroke="black" points="12146.22,-1961.98 12135.88,-1959.66 12142.52,-1967.92 12146.22,-1961.98"/>
</g>
<!-- requests_unixsocket -->
<g id="node242" class="node">
<title>requests_unixsocket</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#b34ca8" stroke="black" points="11358.62,-2728.55 11355.62,-2732.55 11334.62,-2732.55 11331.62,-2728.55 11253.38,-2728.55 11253.38,-2692.55 11358.62,-2692.55 11358.62,-2728.55"/>
<text text-anchor="middle" x="11306" y="-2706.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">requests_unixsocket</text>
</g>
<!-- requests&#45;&gt;requests_unixsocket -->
<g id="edge993" class="edge">
<title>requests&#45;&gt;requests_unixsocket</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11225,-2808.83C11233.95,-2779.8 11256.86,-2753.75 11276.04,-2735.93"/>
<polygon fill="#c006ef" stroke="black" points="11277.87,-2739.1 11282.98,-2729.81 11273.19,-2733.88 11277.87,-2739.1"/>
</g>
<!-- requests_unixsocket&#45;&gt;ahriman_core_status_web_client -->
<g id="edge994" class="edge">
<title>requests_unixsocket&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11301.36,-2692.33C11295.96,-2673.74 11286.11,-2643.58 11273,-2619.69"/>
</g>
<!-- srcinfo -->
<g id="node243" class="node">
<title>srcinfo</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#b6538e" stroke="black" points="6810,-3929.82 6807,-3933.82 6786,-3933.82 6783,-3929.82 6756,-3929.82 6756,-3893.82 6810,-3893.82 6810,-3929.82"/>
<text text-anchor="middle" x="6783" y="-3907.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">srcinfo</text>
</g>
<!-- srcinfo&#45;&gt;ahriman_models_package -->
<g id="edge995" class="edge">
<title>srcinfo&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6781.75,-3893.6C6777.78,-3851.7 6761.75,-3743.57 6700,-3685.31 6668.37,-3655.48 6621.03,-3639.29 6585.67,-3630.84"/>
<polygon fill="#b6538e" stroke="black" points="6586.64,-3627.25 6576.12,-3628.46 6585.1,-3634.08 6586.64,-3627.25"/>
</g>
<!-- systemd -->
<g id="node244" class="node">
<title>systemd</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#ce3b67" stroke="black" points="10207,-3252.17 10204,-3256.17 10183,-3256.17 10180,-3252.17 10153,-3252.17 10153,-3216.17 10207,-3216.17 10207,-3252.17"/>
<text text-anchor="middle" x="10180" y="-3229.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">systemd</text>
</g>
<!-- systemd&#45;&gt;ahriman_core_log_journal_handler -->
<g id="edge996" class="edge">
<title>systemd&#45;&gt;ahriman_core_log_journal_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10207.09,-3232.65C10339.29,-3228.91 10925.91,-3198.5 11311,-2951.9 11349.6,-2927.18 11380.94,-2884.74 11400.74,-2852.85"/>
<polygon fill="#ce3b67" stroke="black" points="11404.07,-2855.11 11406.26,-2844.74 11398.09,-2851.48 11404.07,-2855.11"/>
</g>
<!-- systemd&#45;&gt;ahriman_core_log_log -->
<g id="edge997" class="edge">
<title>systemd&#45;&gt;ahriman_core_log_log</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10152.59,-3229.07C10128.89,-3225.56 10093.7,-3220.4 10063,-3216.17 9940.45,-3199.28 9903.41,-3222.02 9787,-3180.17 9745.03,-3165.08 9651.91,-3101.22 9617,-3073.46 9574.8,-3039.91 9573.9,-3020.56 9531,-2987.9 9454.86,-2929.94 9435.66,-2908.68 9344,-2881.19 9105.11,-2809.54 9020.42,-2924.59 8784,-2845.19 8779.19,-2843.57 8774.39,-2841.4 8769.77,-2838.92"/>
<polygon fill="#ce3b67" stroke="black" points="8771.97,-2835.56 8761.58,-2833.49 8768.41,-2841.59 8771.97,-2835.56"/>
</g>
</g>
</svg>