chaintool-doc

Chaintool documentation
Log | Files | Refs | README | LICENSE

commit 10d481dbb4dc06caab466db8e774aae0771b5383
parent 7248dce50c1b1f073be3f6c712588f4b28183998
Author: lash <dev@holbrook.no>
Date:   Sun, 13 Nov 2022 08:45:10 +0000

Inline diagram svg

Diffstat:
MREADME.md | 2+-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md @@ -67,7 +67,7 @@ So far, documentation efforts have been made in four areas, in order of most rec Last time the author remembered to render it, it looked like this: -![](./build/deps.svg) +<img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgo8IS0tIEdlbmVyYXRlZCBieSBncmFwaHZpeiB2ZXJzaW9uIDcuMC4xICgwKQogLS0+CjwhLS0gUGFnZXM6IDEgLS0+Cjxzdmcgd2lkdGg9IjYzNXB0IiBoZWlnaHQ9IjU0OHB0Igogdmlld0JveD0iMC4wMCAwLjAwIDYzNC42NyA1NDguMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgo8ZyBpZD0iZ3JhcGgwIiBjbGFzcz0iZ3JhcGgiIHRyYW5zZm9ybT0ic2NhbGUoMSAxKSByb3RhdGUoMCkgdHJhbnNsYXRlKDQgNTQ0KSI+Cjxwb2x5Z29uIGZpbGw9IndoaXRlIiBzdHJva2U9Im5vbmUiIHBvaW50cz0iLTQsNCAtNCwtNTQ0IDYzMC42NywtNTQ0IDYzMC42Nyw0IC00LDQiLz4KPCEtLSBjb25maW5pIC0tPgo8ZyBpZD0ibm9kZTEiIGNsYXNzPSJub2RlIj4KPHRpdGxlPmNvbmZpbmk8L3RpdGxlPgo8ZWxsaXBzZSBmaWxsPSIjY2NjY2NjIiBzdHJva2U9ImJsYWNrIiBjeD0iMTMxLjQ1IiBjeT0iLTQ1MCIgcng9IjQ0LjY5IiByeT0iMTgiLz4KPHRleHQgdGV4dC1hbmNob3I9Im1pZGRsZSIgeD0iMTMxLjQ1IiB5PSItNDQ2LjMiIGZvbnQtZmFtaWx5PSJUaW1lcyxzZXJpZiIgZm9udC1zaXplPSIxNC4wMCI+bG8vY29uZmluaTwvdGV4dD4KPC9nPgo8IS0tIGNoYWlubGliIC0tPgo8ZyBpZD0ibm9kZTciIGNsYXNzPSJub2RlIj4KPHRpdGxlPmNoYWlubGliPC90aXRsZT4KPGVsbGlwc2UgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgY3g9IjIwNC40NSIgY3k9Ii0zNzgiIHJ4PSIzOC45OSIgcnk9IjE4Ii8+Cjx0ZXh0IHRleHQtYW5jaG9yPSJtaWRkbGUiIHg9IjIwNC40NSIgeT0iLTM3NC4zIiBmb250LWZhbWlseT0iVGltZXMsc2VyaWYiIGZvbnQtc2l6ZT0iMTQuMDAiPmNoYWlubGliPC90ZXh0Pgo8L2c+CjwhLS0gY29uZmluaSYjNDU7Jmd0O2NoYWlubGliIC0tPgo8ZyBpZD0iZWRnZTIiIGNsYXNzPSJlZGdlIj4KPHRpdGxlPmNvbmZpbmkmIzQ1OyZndDtjaGFpbmxpYjwvdGl0bGU+CjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iYmxhY2siIGQ9Ik0xNDguMDEsLTQzMy4xMkMxNTcuNTEsLTQyNC4wMSAxNjkuNTksLTQxMi40MiAxODAuMTUsLTQwMi4zIi8+Cjxwb2x5Z29uIGZpbGw9ImJsYWNrIiBzdHJva2U9ImJsYWNrIiBwb2ludHM9IjE4Mi4zMSwtNDA1LjA4IDE4Ny4xMSwtMzk1LjYzIDE3Ny40NywtNDAwLjAyIDE4Mi4zMSwtNDA1LjA4Ii8+CjwvZz4KPCEtLSBoZXhhdGhvbiAtLT4KPGcgaWQ9Im5vZGUyIiBjbGFzcz0ibm9kZSI+Cjx0aXRsZT5oZXhhdGhvbjwvdGl0bGU+CjxlbGxpcHNlIGZpbGw9IiNjY2NjY2MiIHN0cm9rZT0iYmxhY2siIGN4PSIzODEuNDUiIGN5PSItNTIyIiByeD0iNTEuOTkiIHJ5PSIxOCIvPgo8dGV4dCB0ZXh0LWFuY2hvcj0ibWlkZGxlIiB4PSIzODEuNDUiIHk9Ii01MTguMyIgZm9udC1mYW1pbHk9IlRpbWVzLHNlcmlmIiBmb250LXNpemU9IjE0LjAwIj5sby9oZXhhdGhvbjwvdGV4dD4KPC9nPgo8IS0tIGxldmVsZGlyIC0tPgo8ZyBpZD0ibm9kZTQiIGNsYXNzPSJub2RlIj4KPHRpdGxlPmxldmVsZGlyPC90aXRsZT4KPGVsbGlwc2UgZmlsbD0iI2NjY2NjYyIgc3Ryb2tlPSJibGFjayIgY3g9IjI3OS40NSIgY3k9Ii0zMDYiIHJ4PSI0Ni41OSIgcnk9IjE4Ii8+Cjx0ZXh0IHRleHQtYW5jaG9yPSJtaWRkbGUiIHg9IjI3OS40NSIgeT0iLTMwMi4zIiBmb250LWZhbWlseT0iVGltZXMsc2VyaWYiIGZvbnQtc2l6ZT0iMTQuMDAiPmxvL2xldmVsZGlyPC90ZXh0Pgo8L2c+CjwhLS0gaGV4YXRob24mIzQ1OyZndDtsZXZlbGRpciAtLT4KPGcgaWQ9ImVkZ2U4IiBjbGFzcz0iZWRnZSI+Cjx0aXRsZT5oZXhhdGhvbiYjNDU7Jmd0O2xldmVsZGlyPC90aXRsZT4KPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgZD0iTTM5Ny41LC01MDQuODRDNDA2LjE4LC00OTUuMDMgNDE2LjE4LC00ODEuNzggNDIxLjQ1LC00NjggNDM4LjYsLTQyMy4wOSA0NTUuMTIsLTM5OS4zMSA0MjcuNDUsLTM2MCA0MjQuMywtMzU1LjUzIDM2Ny4yMywtMzM1LjkzIDMyNC45LC0zMjEuODciLz4KPHBvbHlnb24gZmlsbD0iYmxhY2siIHN0cm9rZT0iYmxhY2siIHBvaW50cz0iMzI2LjI1LC0zMTguNjMgMzE1LjY2LC0zMTguODEgMzI0LjA1LC0zMjUuMjggMzI2LjI1LC0zMTguNjMiLz4KPC9nPgo8IS0tIGhleGF0aG9uJiM0NTsmZ3Q7Y2hhaW5saWIgLS0+CjxnIGlkPSJlZGdlMyIgY2xhc3M9ImVkZ2UiPgo8dGl0bGU+aGV4YXRob24mIzQ1OyZndDtjaGFpbmxpYjwvdGl0bGU+CjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iYmxhY2siIGQ9Ik0zMzEuMjYsLTUxNy4wMUMyOTYuMTEsLTUxMS41MSAyNTAuNzEsLTQ5OC41NCAyMjMuNDUsLTQ2OCAyMDguODgsLTQ1MS42OCAyMDQuNTEsLTQyNi45OCAyMDMuNTcsLTQwNy43MyIvPgo8cG9seWdvbiBmaWxsPSJibGFjayIgc3Ryb2tlPSJibGFjayIgcG9pbnRzPSIyMDcuMDcsLTQwNy43NSAyMDMuNCwtMzk3LjgxIDIwMC4wNywtNDA3Ljg3IDIwNy4wNywtNDA3Ljc1Ii8+CjwvZz4KPCEtLSBmdW5nYSAtLT4KPGcgaWQ9Im5vZGU5IiBjbGFzcz0ibm9kZSI+Cjx0aXRsZT5mdW5nYTwvdGl0bGU+CjxlbGxpcHNlIGZpbGw9Im5vbmUiIHN0cm9rZT0iYmxhY2siIGN4PSIzODEuNDUiIGN5PSItNDUwIiByeD0iMzAuNTkiIHJ5PSIxOCIvPgo8dGV4dCB0ZXh0LWFuY2hvcj0ibWlkZGxlIiB4PSIzODEuNDUiIHk9Ii00NDYuMyIgZm9udC1mYW1pbHk9IlRpbWVzLHNlcmlmIiBmb250LXNpemU9IjE0LjAwIj5mdW5nYTwvdGV4dD4KPC9nPgo8IS0tIGhleGF0aG9uJiM0NTsmZ3Q7ZnVuZ2EgLS0+CjxnIGlkPSJlZGdlNiIgY2xhc3M9ImVkZ2UiPgo8dGl0bGU+aGV4YXRob24mIzQ1OyZndDtmdW5nYTwvdGl0bGU+CjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iYmxhY2siIGQ9Ik0zODEuNDUsLTUwMy43QzM4MS40NSwtNDk2LjQxIDM4MS40NSwtNDg3LjczIDM4MS40NSwtNDc5LjU0Ii8+Cjxwb2x5Z29uIGZpbGw9ImJsYWNrIiBzdHJva2U9ImJsYWNrIiBwb2ludHM9IjM4NC45NSwtNDc5LjYyIDM4MS40NSwtNDY5LjYyIDM3Ny45NSwtNDc5LjYyIDM4NC45NSwtNDc5LjYyIi8+CjwvZz4KPCEtLSBwb3RhYWh0byAtLT4KPGcgaWQ9Im5vZGUzIiBjbGFzcz0ibm9kZSI+Cjx0aXRsZT5wb3RhYWh0bzwvdGl0bGU+CjxlbGxpcHNlIGZpbGw9IiNjY2NjY2MiIHN0cm9rZT0iYmxhY2siIGN4PSIyODIuNDUiIGN5PSItNDUwIiByeD0iNTAuMDkiIHJ5PSIxOCIvPgo8dGV4dCB0ZXh0LWFuY2hvcj0ibWlkZGxlIiB4PSIyODIuNDUiIHk9Ii00NDYuMyIgZm9udC1mYW1pbHk9IlRpbWVzLHNlcmlmIiBmb250LXNpemU9IjE0LjAwIj5sby9wb3RhYWh0bzwvdGV4dD4KPC9nPgo8IS0tIHBvdGFhaHRvJiM0NTsmZ3Q7Y2hhaW5saWIgLS0+CjxnIGlkPSJlZGdlNCIgY2xhc3M9ImVkZ2UiPgo8dGl0bGU+cG90YWFodG8mIzQ1OyZndDtjaGFpbmxpYjwvdGl0bGU+CjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iYmxhY2siIGQ9Ik0yNjQuMzYsLTQzMi43NkMyNTQuMiwtNDIzLjY1IDI0MS4zNiwtNDEyLjEzIDIzMC4xNywtNDAyLjA5Ii8+Cjxwb2x5Z29uIGZpbGw9ImJsYWNrIiBzdHJva2U9ImJsYWNrIiBwb2ludHM9IjIzMi41NCwtMzk5LjUxIDIyMi43NiwtMzk1LjQ0IDIyNy44NywtNDA0LjcyIDIzMi41NCwtMzk5LjUxIi8+CjwvZz4KPCEtLSBldGhfY2FjaGUgLS0+CjxnIGlkPSJub2RlMTEiIGNsYXNzPSJub2RlIj4KPHRpdGxlPmV0aF9jYWNoZTwvdGl0bGU+CjxlbGxpcHNlIGZpbGw9Im5vbmUiIHN0cm9rZT0iYmxhY2siIGN4PSIyNzYuNDUiIGN5PSItMjM0IiByeD0iNDQuMzkiIHJ5PSIxOCIvPgo8dGV4dCB0ZXh0LWFuY2hvcj0ibWlkZGxlIiB4PSIyNzYuNDUiIHk9Ii0yMzAuMyIgZm9udC1mYW1pbHk9IlRpbWVzLHNlcmlmIiBmb250LXNpemU9IjE0LjAwIj5ldGgmIzQ1O2NhY2hlPC90ZXh0Pgo8L2c+CjwhLS0gbGV2ZWxkaXImIzQ1OyZndDtldGhfY2FjaGUgLS0+CjxnIGlkPSJlZGdlOSIgY2xhc3M9ImVkZ2UiPgo8dGl0bGU+bGV2ZWxkaXImIzQ1OyZndDtldGhfY2FjaGU8L3RpdGxlPgo8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImJsYWNrIiBkPSJNMjc4LjcxLC0yODcuN0MyNzguMzksLTI4MC40MSAyNzguMDIsLTI3MS43MyAyNzcuNjcsLTI2My41NCIvPgo8cG9seWdvbiBmaWxsPSJibGFjayIgc3Ryb2tlPSJibGFjayIgcG9pbnRzPSIyODEuMTcsLTI2My40NiAyNzcuMjQsLTI1My42MiAyNzQuMTgsLTI2My43NiAyODEuMTcsLTI2My40NiIvPgo8L2c+CjwhLS0gc2hlcCAtLT4KPGcgaWQ9Im5vZGU1IiBjbGFzcz0ibm9kZSI+Cjx0aXRsZT5zaGVwPC90aXRsZT4KPGVsbGlwc2UgZmlsbD0iI2NjY2NjYyIgc3Ryb2tlPSJibGFjayIgY3g9IjE0MC40NSIgY3k9Ii0yMzQiIHJ4PSIzNi4yOSIgcnk9IjE4Ii8+Cjx0ZXh0IHRleHQtYW5jaG9yPSJtaWRkbGUiIHg9IjE0MC40NSIgeT0iLTIzMC4zIiBmb250LWZhbWlseT0iVGltZXMsc2VyaWYiIGZvbnQtc2l6ZT0iMTQuMDAiPmxvL3NoZXA8L3RleHQ+CjwvZz4KPCEtLSBjaGFpbnN5bmNlciAtLT4KPGcgaWQ9Im5vZGUxMiIgY2xhc3M9Im5vZGUiPgo8dGl0bGU+Y2hhaW5zeW5jZXI8L3RpdGxlPgo8ZWxsaXBzZSBmaWxsPSJub25lIiBzdHJva2U9ImJsYWNrIiBjeD0iMjY4LjQ1IiBjeT0iLTE2MiIgcng9IjUyLjc5IiByeT0iMTgiLz4KPHRleHQgdGV4dC1hbmNob3I9Im1pZGRsZSIgeD0iMjY4LjQ1IiB5PSItMTU4LjMiIGZvbnQtZmFtaWx5PSJUaW1lcyxzZXJpZiIgZm9udC1zaXplPSIxNC4wMCI+Y2hhaW5zeW5jZXI8L3RleHQ+CjwvZz4KPCEtLSBzaGVwJiM0NTsmZ3Q7Y2hhaW5zeW5jZXIgLS0+CjxnIGlkPSJlZGdlMTQiIGNsYXNzPSJlZGdlIj4KPHRpdGxlPnNoZXAmIzQ1OyZndDtjaGFpbnN5bmNlcjwvdGl0bGU+CjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iYmxhY2siIGQ9Ik0xNjQuMjIsLTIyMEMxODMuMDcsLTIwOS42OSAyMDkuNzUsLTE5NS4xIDIzMS4zOSwtMTgzLjI2Ii8+Cjxwb2x5Z29uIGZpbGw9ImJsYWNrIiBzdHJva2U9ImJsYWNrIiBwb2ludHM9IjIzMi44MywtMTg2LjQ3IDIzOS45MiwtMTc4LjYgMjI5LjQ3LC0xODAuMzMgMjMyLjgzLC0xODYuNDciLz4KPC9nPgo8IS0tIGNoYWlucXVldWUgLS0+CjxnIGlkPSJub2RlMTMiIGNsYXNzPSJub2RlIj4KPHRpdGxlPmNoYWlucXVldWU8L3RpdGxlPgo8ZWxsaXBzZSBmaWxsPSJub25lIiBzdHJva2U9ImJsYWNrIiBjeD0iMTQwLjQ1IiBjeT0iLTE2MiIgcng9IjUwLjg5IiByeT0iMTgiLz4KPHRleHQgdGV4dC1hbmNob3I9Im1pZGRsZSIgeD0iMTQwLjQ1IiB5PSItMTU4LjMiIGZvbnQtZmFtaWx5PSJUaW1lcyxzZXJpZiIgZm9udC1zaXplPSIxNC4wMCI+Y2hhaW5xdWV1ZTwvdGV4dD4KPC9nPgo8IS0tIHNoZXAmIzQ1OyZndDtjaGFpbnF1ZXVlIC0tPgo8ZyBpZD0iZWRnZTE1IiBjbGFzcz0iZWRnZSI+Cjx0aXRsZT5zaGVwJiM0NTsmZ3Q7Y2hhaW5xdWV1ZTwvdGl0bGU+CjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iYmxhY2siIGQ9Ik0xNDAuNDUsLTIxNS43QzE0MC40NSwtMjA4LjQxIDE0MC40NSwtMTk5LjczIDE0MC40NSwtMTkxLjU0Ii8+Cjxwb2x5Z29uIGZpbGw9ImJsYWNrIiBzdHJva2U9ImJsYWNrIiBwb2ludHM9IjE0My45NSwtMTkxLjYyIDE0MC40NSwtMTgxLjYyIDEzNi45NSwtMTkxLjYyIDE0My45NSwtMTkxLjYyIi8+CjwvZz4KPCEtLSBhaWVlIC0tPgo8ZyBpZD0ibm9kZTYiIGNsYXNzPSJub2RlIj4KPHRpdGxlPmFpZWU8L3RpdGxlPgo8ZWxsaXBzZSBmaWxsPSIjY2NjY2NjIiBzdHJva2U9ImJsYWNrIiBjeD0iMzQuNDUiIGN5PSItNDUwIiByeD0iMzQuMzkiIHJ5PSIxOCIvPgo8dGV4dCB0ZXh0LWFuY2hvcj0ibWlkZGxlIiB4PSIzNC40NSIgeT0iLTQ0Ni4zIiBmb250LWZhbWlseT0iVGltZXMsc2VyaWYiIGZvbnQtc2l6ZT0iMTQuMDAiPmxvL2FsZWU8L3RleHQ+CjwvZz4KPCEtLSBhaWVlJiM0NTsmZ3Q7Y2hhaW5saWIgLS0+CjxnIGlkPSJlZGdlMSIgY2xhc3M9ImVkZ2UiPgo8dGl0bGU+YWllZSYjNDU7Jmd0O2NoYWlubGliPC90aXRsZT4KPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgZD0iTTYxLjAxLC00MzguMDZDODkuMTIsLTQyNi40OSAxMzMuNzQsLTQwOC4xMSAxNjUuNzYsLTM5NC45MyIvPgo8cG9seWdvbiBmaWxsPSJibGFjayIgc3Ryb2tlPSJibGFjayIgcG9pbnRzPSIxNjYuNzcsLTM5OC4zIDE3NC42OSwtMzkxLjI1IDE2NC4xMSwtMzkxLjgyIDE2Ni43NywtMzk4LjMiLz4KPC9nPgo8IS0tIGNoYWlubGliX2V0aCAtLT4KPGcgaWQ9Im5vZGU4IiBjbGFzcz0ibm9kZSI+Cjx0aXRsZT5jaGFpbmxpYl9ldGg8L3RpdGxlPgo8ZWxsaXBzZSBmaWxsPSJub25lIiBzdHJva2U9ImJsYWNrIiBjeD0iMzk2LjQ1IiBjeT0iLTMwNiIgcng9IjUyLjc5IiByeT0iMTgiLz4KPHRleHQgdGV4dC1hbmNob3I9Im1pZGRsZSIgeD0iMzk2LjQ1IiB5PSItMzAyLjMiIGZvbnQtZmFtaWx5PSJUaW1lcyxzZXJpZiIgZm9udC1zaXplPSIxNC4wMCI+Y2hhaW5saWImIzQ1O2V0aDwvdGV4dD4KPC9nPgo8IS0tIGNoYWlubGliJiM0NTsmZ3Q7Y2hhaW5saWJfZXRoIC0tPgo8ZyBpZD0iZWRnZTUiIGNsYXNzPSJlZGdlIj4KPHRpdGxlPmNoYWlubGliJiM0NTsmZ3Q7Y2hhaW5saWJfZXRoPC90aXRsZT4KPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgZD0iTTIzNC40NSwtMzY2LjA2QzI2NS42MSwtMzU0LjcgMzE0Ljc1LC0zMzYuNzkgMzUwLjc0LC0zMjMuNjYiLz4KPHBvbHlnb24gZmlsbD0iYmxhY2siIHN0cm9rZT0iYmxhY2siIHBvaW50cz0iMzUxLjg0LC0zMjYuOTkgMzYwLjAzLC0zMjAuMjggMzQ5LjQ0LC0zMjAuNDEgMzUxLjg0LC0zMjYuOTkiLz4KPC9nPgo8IS0tIGNoYWlubGliJiM0NTsmZ3Q7Y2hhaW5zeW5jZXIgLS0+CjxnIGlkPSJlZGdlMTAiIGNsYXNzPSJlZGdlIj4KPHRpdGxlPmNoYWlubGliJiM0NTsmZ3Q7Y2hhaW5zeW5jZXI8L3RpdGxlPgo8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImJsYWNrIiBkPSJNMjAzLjMxLC0zNTkuNzFDMjAxLjk3LC0zMjkuMjggMjAyLjIxLC0yNjQuNzcgMjIzLjQ1LC0yMTYgMjI3LjkxLC0yMDUuNzYgMjM1LjAyLC0xOTYgMjQyLjI5LC0xODcuNzEiLz4KPHBvbHlnb24gZmlsbD0iYmxhY2siIHN0cm9rZT0iYmxhY2siIHBvaW50cz0iMjQ0LjgxLC0xOTAuMTMgMjQ5LjA4LC0xODAuNDQgMjM5LjcsLTE4NS4zNSAyNDQuODEsLTE5MC4xMyIvPgo8L2c+CjwhLS0gY2hhaW5saWImIzQ1OyZndDtjaGFpbnF1ZXVlIC0tPgo8ZyBpZD0iZWRnZTExIiBjbGFzcz0iZWRnZSI+Cjx0aXRsZT5jaGFpbmxpYiYjNDU7Jmd0O2NoYWlucXVldWU8L3RpdGxlPgo8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImJsYWNrIiBkPSJNMTg0LjgyLC0zNjIuMjdDMTU4LjU5LC0zNDEuMjEgMTEzLjMzLC0yOTkuNzIgOTUuNDUsLTI1MiA4OS44MywtMjM3LjAyIDg5LjkzLC0yMzEuMDIgOTUuNDUsLTIxNiA5OS4zLC0yMDUuNTIgMTA2LjI0LC0xOTUuNjkgMTEzLjU0LC0xODcuNDEiLz4KPHBvbHlnb24gZmlsbD0iYmxhY2siIHN0cm9rZT0iYmxhY2siIHBvaW50cz0iMTE2LjA3LC0xODkuODMgMTIwLjQzLC0xODAuMTcgMTExLC0xODUgMTE2LjA3LC0xODkuODMiLz4KPC9nPgo8IS0tIGNoYWlubGliX2V0aCYjNDU7Jmd0O2V0aF9jYWNoZSAtLT4KPGcgaWQ9ImVkZ2UxMiIgY2xhc3M9ImVkZ2UiPgo8dGl0bGU+Y2hhaW5saWJfZXRoJiM0NTsmZ3Q7ZXRoX2NhY2hlPC90aXRsZT4KPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgZD0iTTM3MC43LC0yODkuOThDMzUzLjE5LC0yNzkuNzcgMzI5LjgyLC0yNjYuMTQgMzEwLjc0LC0yNTUiLz4KPHBvbHlnb24gZmlsbD0iYmxhY2siIHN0cm9rZT0iYmxhY2siIHBvaW50cz0iMzEyLjYzLC0yNTIuMDUgMzAyLjIzLC0yNTAuMDQgMzA5LjEsLTI1OC4xIDMxMi42MywtMjUyLjA1Ii8+CjwvZz4KPCEtLSBjaGFpbmRfZXRoIC0tPgo8ZyBpZD0ibm9kZTE1IiBjbGFzcz0ibm9kZSI+Cjx0aXRsZT5jaGFpbmRfZXRoPC90aXRsZT4KPGVsbGlwc2UgZmlsbD0iI2FhZmZhYSIgc3Ryb2tlPSJibGFjayIgY3g9IjQ1OS40NSIgY3k9Ii0xOCIgcng9IjU3LjM5IiByeT0iMTgiLz4KPHRleHQgdGV4dC1hbmNob3I9Im1pZGRsZSIgeD0iNDU5LjQ1IiB5PSItMTQuMyIgZm9udC1mYW1pbHk9IlRpbWVzLHNlcmlmIiBmb250LXNpemU9IjE0LjAwIj5oaS9jaGFpbmQmIzQ1O2V0aDwvdGV4dD4KPC9nPgo8IS0tIGNoYWlubGliX2V0aCYjNDU7Jmd0O2NoYWluZF9ldGggLS0+CjxnIGlkPSJlZGdlMjUiIGNsYXNzPSJlZGdlIj4KPHRpdGxlPmNoYWlubGliX2V0aCYjNDU7Jmd0O2NoYWluZF9ldGg8L3RpdGxlPgo8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImJsYWNrIiBkPSJNNDQ1Ljk2LC0yOTkuNDhDNTAxLjY2LC0yOTIuMTMgNTg2LjkyLC0yNzcuMDcgNjA2LjQ1LC0yNTIgNjU4LjgxLC0xODQuNzggNTk3LjgxLC0xMzUuMDEgNTQwLjQ1LC03MiA1MjguNzcsLTU5LjE4IDUxMy4zNSwtNDguMDggNDk5LjEsLTM5LjQiLz4KPHBvbHlnb24gZmlsbD0iYmxhY2siIHN0cm9rZT0iYmxhY2siIHBvaW50cz0iNTAxLjE5LC0zNi41NyA0OTAuNzgsLTM0LjU1IDQ5Ny42NiwtNDIuNjEgNTAxLjE5LC0zNi41NyIvPgo8L2c+CjwhLS0gZXRoX21vbml0b3IgLS0+CjxnIGlkPSJub2RlMTYiIGNsYXNzPSJub2RlIj4KPHRpdGxlPmV0aF9tb25pdG9yPC90aXRsZT4KPGVsbGlwc2UgZmlsbD0iI2FhZmZhYSIgc3Ryb2tlPSJibGFjayIgY3g9IjQ2OS40NSIgY3k9Ii05MCIgcng9IjYxLjk5IiByeT0iMTgiLz4KPHRleHQgdGV4dC1hbmNob3I9Im1pZGRsZSIgeD0iNDY5LjQ1IiB5PSItODYuMyIgZm9udC1mYW1pbHk9IlRpbWVzLHNlcmlmIiBmb250LXNpemU9IjE0LjAwIj5oaS9ldGgmIzQ1O21vbml0b3I8L3RleHQ+CjwvZz4KPCEtLSBjaGFpbmxpYl9ldGgmIzQ1OyZndDtldGhfbW9uaXRvciAtLT4KPGcgaWQ9ImVkZ2UyNCIgY2xhc3M9ImVkZ2UiPgo8dGl0bGU+Y2hhaW5saWJfZXRoJiM0NTsmZ3Q7ZXRoX21vbml0b3I8L3RpdGxlPgo8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImJsYWNrIiBkPSJNNDQ0LjcyLC0yOTguMzFDNDk1LjQzLC0yOTAuMTggNTcwLjIxLC0yNzQuNjcgNTg3LjQ1LC0yNTIgNjI0Ljg1LC0yMDIuODEgNTUyLjg5LC0xNDQuMDMgNTA1Ljc4LC0xMTIuODkiLz4KPHBvbHlnb24gZmlsbD0iYmxhY2siIHN0cm9rZT0iYmxhY2siIHBvaW50cz0iNTA3LjczLC0xMDkuOTggNDk3LjQzLC0xMDcuNSA1MDMuOTMsLTExNS44NiA1MDcuNzMsLTEwOS45OCIvPgo8L2c+CjwhLS0gZXRoX2VyYzIwIC0tPgo8ZyBpZD0ibm9kZTE3IiBjbGFzcz0ibm9kZSI+Cjx0aXRsZT5ldGhfZXJjMjA8L3RpdGxlPgo8ZWxsaXBzZSBmaWxsPSIjYWFmZmFhIiBzdHJva2U9ImJsYWNrIiBjeD0iNTI1LjQ1IiBjeT0iLTIzNCIgcng9IjUzLjA5IiByeT0iMTgiLz4KPHRleHQgdGV4dC1hbmNob3I9Im1pZGRsZSIgeD0iNTI1LjQ1IiB5PSItMjMwLjMiIGZvbnQtZmFtaWx5PSJUaW1lcyxzZXJpZiIgZm9udC1zaXplPSIxNC4wMCI+aGkvZXRoJiM0NTtlcmMyMDwvdGV4dD4KPC9nPgo8IS0tIGNoYWlubGliX2V0aCYjNDU7Jmd0O2V0aF9lcmMyMCAtLT4KPGcgaWQ9ImVkZ2UyMCIgY2xhc3M9ImVkZ2UiPgo8dGl0bGU+Y2hhaW5saWJfZXRoJiM0NTsmZ3Q7ZXRoX2VyYzIwPC90aXRsZT4KPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgZD0iTTQyMy44LC0yOTAuMTVDNDQyLjUzLC0yNzkuOTkgNDY3LjYsLTI2Ni4zOSA0ODguMTUsLTI1NS4yNCIvPgo8cG9seWdvbiBmaWxsPSJibGFjayIgc3Ryb2tlPSJibGFjayIgcG9pbnRzPSI0ODkuNjgsLTI1OC4zOSA0OTYuOCwtMjUwLjU1IDQ4Ni4zNCwtMjUyLjI0IDQ4OS42OCwtMjU4LjM5Ii8+CjwvZz4KPCEtLSBldGhfZXJjNzIxIC0tPgo8ZyBpZD0ibm9kZTE4IiBjbGFzcz0ibm9kZSI+Cjx0aXRsZT5ldGhfZXJjNzIxPC90aXRsZT4KPGVsbGlwc2UgZmlsbD0iI2FhZmZhYSIgc3Ryb2tlPSJibGFjayIgY3g9IjM5Ni40NSIgY3k9Ii0yMzQiIHJ4PSI1Ny42OSIgcnk9IjE4Ii8+Cjx0ZXh0IHRleHQtYW5jaG9yPSJtaWRkbGUiIHg9IjM5Ni40NSIgeT0iLTIzMC4zIiBmb250LWZhbWlseT0iVGltZXMsc2VyaWYiIGZvbnQtc2l6ZT0iMTQuMDAiPmhpL2V0aCYjNDU7ZXJjNzIxPC90ZXh0Pgo8L2c+CjwhLS0gY2hhaW5saWJfZXRoJiM0NTsmZ3Q7ZXRoX2VyYzcyMSAtLT4KPGcgaWQ9ImVkZ2UyMSIgY2xhc3M9ImVkZ2UiPgo8dGl0bGU+Y2hhaW5saWJfZXRoJiM0NTsmZ3Q7ZXRoX2VyYzcyMTwvdGl0bGU+CjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iYmxhY2siIGQ9Ik0zOTYuNDUsLTI4Ny43QzM5Ni40NSwtMjgwLjQxIDM5Ni40NSwtMjcxLjczIDM5Ni40NSwtMjYzLjU0Ii8+Cjxwb2x5Z29uIGZpbGw9ImJsYWNrIiBzdHJva2U9ImJsYWNrIiBwb2ludHM9IjM5OS45NSwtMjYzLjYyIDM5Ni40NSwtMjUzLjYyIDM5Mi45NSwtMjYzLjYyIDM5OS45NSwtMjYzLjYyIi8+CjwvZz4KPCEtLSBmdW5nYSYjNDU7Jmd0O2NoYWlubGliIC0tPgo8ZyBpZD0iZWRnZTIyIiBjbGFzcz0iZWRnZSI+Cjx0aXRsZT5mdW5nYSYjNDU7Jmd0O2NoYWlubGliPC90aXRsZT4KPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgZD0iTTM1Ny4zOSwtNDM4LjYyQzM1Mi4xNSwtNDM2LjQxIDM0Ni42MiwtNDM0LjEgMzQxLjQ1LC00MzIgMzA5LjA1LC00MTguODUgMjcyLjA1LC00MDQuNTggMjQ0LjY4LC0zOTQuMTciLz4KPHBvbHlnb24gZmlsbD0iYmxhY2siIHN0cm9rZT0iYmxhY2siIHBvaW50cz0iMjQ1Ljk2LC0zOTAuOTEgMjM1LjM3LC0zOTAuNjMgMjQzLjQ4LC0zOTcuNDUgMjQ1Ljk2LC0zOTAuOTEiLz4KPC9nPgo8IS0tIGZ1bmdhX2V0aCAtLT4KPGcgaWQ9Im5vZGUxMCIgY2xhc3M9Im5vZGUiPgo8dGl0bGU+ZnVuZ2FfZXRoPC90aXRsZT4KPGVsbGlwc2UgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgY3g9IjM3NC40NSIgY3k9Ii0zNzgiIHJ4PSI0NC4zOSIgcnk9IjE4Ii8+Cjx0ZXh0IHRleHQtYW5jaG9yPSJtaWRkbGUiIHg9IjM3NC40NSIgeT0iLTM3NC4zIiBmb250LWZhbWlseT0iVGltZXMsc2VyaWYiIGZvbnQtc2l6ZT0iMTQuMDAiPmZ1bmdhJiM0NTtldGg8L3RleHQ+CjwvZz4KPCEtLSBmdW5nYSYjNDU7Jmd0O2Z1bmdhX2V0aCAtLT4KPGcgaWQ9ImVkZ2U3IiBjbGFzcz0iZWRnZSI+Cjx0aXRsZT5mdW5nYSYjNDU7Jmd0O2Z1bmdhX2V0aDwvdGl0bGU+CjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iYmxhY2siIGQ9Ik0zNzkuNzIsLTQzMS43QzM3OC45OSwtNDI0LjQxIDM3OC4xMiwtNDE1LjczIDM3Ny4zLC00MDcuNTQiLz4KPHBvbHlnb24gZmlsbD0iYmxhY2siIHN0cm9rZT0iYmxhY2siIHBvaW50cz0iMzgwLjc5LC00MDcuMjEgMzc2LjMxLC0zOTcuNjEgMzczLjgyLC00MDcuOTEgMzgwLjc5LC00MDcuMjEiLz4KPC9nPgo8IS0tIGZ1bmdhX2V0aCYjNDU7Jmd0O2NoYWlubGliX2V0aCAtLT4KPGcgaWQ9ImVkZ2UyMyIgY2xhc3M9ImVkZ2UiPgo8dGl0bGU+ZnVuZ2FfZXRoJiM0NTsmZ3Q7Y2hhaW5saWJfZXRoPC90aXRsZT4KPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgZD0iTTM3OS44OSwtMzU5LjdDMzgyLjIzLC0zNTIuMjQgMzg1LjAzLC0zNDMuMzIgMzg3LjY2LC0zMzQuOTciLz4KPHBvbHlnb24gZmlsbD0iYmxhY2siIHN0cm9rZT0iYmxhY2siIHBvaW50cz0iMzkwLjk2LC0zMzYuMTQgMzkwLjYyLC0zMjUuNTUgMzg0LjI4LC0zMzQuMDQgMzkwLjk2LC0zMzYuMTQiLz4KPC9nPgo8IS0tIGV0aF9jYWNoZSYjNDU7Jmd0O2NoYWluc3luY2VyIC0tPgo8ZyBpZD0iZWRnZTEzIiBjbGFzcz0iZWRnZSI+Cjx0aXRsZT5ldGhfY2FjaGUmIzQ1OyZndDtjaGFpbnN5bmNlcjwvdGl0bGU+CjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iYmxhY2siIGQ9Ik0yNzQuNDcsLTIxNS43QzI3My42NCwtMjA4LjQxIDI3Mi42NCwtMTk5LjczIDI3MS43MSwtMTkxLjU0Ii8+Cjxwb2x5Z29uIGZpbGw9ImJsYWNrIiBzdHJva2U9ImJsYWNrIiBwb2ludHM9IjI3NS4xOSwtMTkxLjE1IDI3MC41NywtMTgxLjYxIDI2OC4yMywtMTkxLjk0IDI3NS4xOSwtMTkxLjE1Ii8+CjwvZz4KPCEtLSBjaGFpbmQgLS0+CjxnIGlkPSJub2RlMTQiIGNsYXNzPSJub2RlIj4KPHRpdGxlPmNoYWluZDwvdGl0bGU+CjxlbGxpcHNlIGZpbGw9IiNhYWZmYWEiIHN0cm9rZT0iYmxhY2siIGN4PSIyNjguNDUiIGN5PSItOTAiIHJ4PSI0My41OSIgcnk9IjE4Ii8+Cjx0ZXh0IHRleHQtYW5jaG9yPSJtaWRkbGUiIHg9IjI2OC40NSIgeT0iLTg2LjMiIGZvbnQtZmFtaWx5PSJUaW1lcyxzZXJpZiIgZm9udC1zaXplPSIxNC4wMCI+aGkvY2hhaW5kPC90ZXh0Pgo8L2c+CjwhLS0gY2hhaW5zeW5jZXImIzQ1OyZndDtjaGFpbmQgLS0+CjxnIGlkPSJlZGdlMTYiIGNsYXNzPSJlZGdlIj4KPHRpdGxlPmNoYWluc3luY2VyJiM0NTsmZ3Q7Y2hhaW5kPC90aXRsZT4KPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgZD0iTTI2OC40NSwtMTQzLjdDMjY4LjQ1LC0xMzYuNDEgMjY4LjQ1LC0xMjcuNzMgMjY4LjQ1LC0xMTkuNTQiLz4KPHBvbHlnb24gZmlsbD0iYmxhY2siIHN0cm9rZT0iYmxhY2siIHBvaW50cz0iMjcxLjk1LC0xMTkuNjIgMjY4LjQ1LC0xMDkuNjIgMjY0Ljk1LC0xMTkuNjIgMjcxLjk1LC0xMTkuNjIiLz4KPC9nPgo8IS0tIGNoYWluc3luY2VyJiM0NTsmZ3Q7ZXRoX21vbml0b3IgLS0+CjxnIGlkPSJlZGdlMTkiIGNsYXNzPSJlZGdlIj4KPHRpdGxlPmNoYWluc3luY2VyJiM0NTsmZ3Q7ZXRoX21vbml0b3I8L3RpdGxlPgo8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImJsYWNrIiBkPSJNMzA0LjM4LC0xNDguNDlDMzM2LjYyLC0xMzcuMjYgMzg0LjIyLC0xMjAuNjggNDIwLjAzLC0xMDguMjEiLz4KPHBvbHlnb24gZmlsbD0iYmxhY2siIHN0cm9rZT0iYmxhY2siIHBvaW50cz0iNDIxLjAyLC0xMTEuNTcgNDI5LjMxLC0xMDQuOTggNDE4LjcxLC0xMDQuOTYgNDIxLjAyLC0xMTEuNTciLz4KPC9nPgo8IS0tIGNoYWlucXVldWUmIzQ1OyZndDtjaGFpbmQgLS0+CjxnIGlkPSJlZGdlMTciIGNsYXNzPSJlZGdlIj4KPHRpdGxlPmNoYWlucXVldWUmIzQ1OyZndDtjaGFpbmQ8L3RpdGxlPgo8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImJsYWNrIiBkPSJNMTY3LjI4LC0xNDYuMzNDMTg2LjM0LC0xMzUuOSAyMTIuMTQsLTEyMS43OSAyMzIuOTIsLTExMC40MyIvPgo8cG9seWdvbiBmaWxsPSJibGFjayIgc3Ryb2tlPSJibGFjayIgcG9pbnRzPSIyMzQuNTQsLTExMy41MyAyNDEuNjMsLTEwNS42NyAyMzEuMTgsLTEwNy4zOSAyMzQuNTQsLTExMy41MyIvPgo8L2c+CjwhLS0gY2hhaW5kJiM0NTsmZ3Q7Y2hhaW5kX2V0aCAtLT4KPGcgaWQ9ImVkZ2UxOCIgY2xhc3M9ImVkZ2UiPgo8dGl0bGU+Y2hhaW5kJiM0NTsmZ3Q7Y2hhaW5kX2V0aDwvdGl0bGU+CjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iYmxhY2siIGQ9Ik0zMDAuNDIsLTc3LjI4QzMzMS4xMiwtNjYuMDMgMzc3Ljg1LC00OC45IDQxMi43MiwtMzYuMTIiLz4KPHBvbHlnb24gZmlsbD0iYmxhY2siIHN0cm9rZT0iYmxhY2siIHBvaW50cz0iNDEzLjUzLC0zOS41NiA0MjEuNzEsLTMyLjgzIDQxMS4xMiwtMzIuOTggNDEzLjUzLC0zOS41NiIvPgo8L2c+CjwvZz4KPC9zdmc+Cg==" /> The dependency graph is only available in as an unformatted **graphviz** document located at `$REPO_ROOT/deps.dot`. `make diagram` renders this SVG version.