~samwhited/mellium.im

9ff6e6c29b811136edd0c7cfd06a0e8e2b88f2b9 — Sam Whited 5 months ago dd79d29
static: add image for use in ARCHITECTURE.md

Since we don't know where the markdown file will end up and can't link
directly to a file in the repo and have it show up on GitHub and
SourceHut, put it on the website.

Signed-off-by: Sam Whited <sam@samwhited.com>
1 files changed, 1194 insertions(+), 0 deletions(-)

A static/localdeps.svg
A static/localdeps.svg => static/localdeps.svg +1194 -0
@@ 0,0 1,1194 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   width="2075.625pt"
   height="356.67593pt"
   viewBox="0 0 2076.0709 356.67593"
   version="1.1"
   id="svg406"
   sodipodi:docname="melliumlocaldeps.svg"
   inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
  <metadata
     id="metadata412">
    <rdf:RDF>
      <cc:Work
         rdf:about="">
        <dc:format>image/svg+xml</dc:format>
        <dc:type
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
        <dc:title></dc:title>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <defs
     id="defs410">
    <rect
       x="16.835098"
       y="281.87595"
       width="627.11121"
       height="42.791813"
       id="rect1353" />
    <rect
       x="1209.498"
       y="139.73827"
       width="523.39307"
       height="44.296021"
       id="rect1345" />
    <rect
       x="16.626905"
       y="-1.3332692"
       width="701.60272"
       height="50.304253"
       id="rect1243" />
  </defs>
  <sodipodi:namedview
     pagecolor="#ffffff"
     bordercolor="#666666"
     borderopacity="1"
     objecttolerance="10"
     gridtolerance="10"
     guidetolerance="10"
     inkscape:pageopacity="0"
     inkscape:pageshadow="2"
     inkscape:window-width="3832"
     inkscape:window-height="1497"
     id="namedview408"
     showgrid="false"
     fit-margin-top="0"
     fit-margin-left="0"
     fit-margin-right="0"
     fit-margin-bottom="0"
     inkscape:zoom="0.6595459"
     inkscape:cx="933.70888"
     inkscape:cy="13.457016"
     inkscape:window-x="0"
     inkscape:window-y="70"
     inkscape:window-maximized="0"
     inkscape:current-layer="svg406" />
  <g
     id="graph0"
     class="graph"
     transform="translate(12.139454,350.08122)">
    <title
       id="title2">G</title>
    <polygon
       fill="#ffffff"
       stroke="transparent"
       points="2044.44,4 -4,4 -4,-328 2044.44,-328 "
       id="polygon4" />
    <!-- mellium.im/xmpp -->
    <g
       id="node1"
       class="node">
      <title
         id="title6">mellium.im/xmpp</title>
      <ellipse
         fill="none"
         stroke="#000000"
         cx="1036.65"
         cy="-162"
         rx="91.779999"
         ry="18"
         id="ellipse8" />
      <text
         text-anchor="middle"
         x="1036.65"
         y="-158.3"
         font-family="Times, serif"
         font-size="14px"
         id="text10">mellium.im/xmpp</text>
    </g>
    <!-- mellium.im/xmpp/dial -->
    <g
       id="node2"
       class="node">
      <title
         id="title13">mellium.im/xmpp/dial</title>
      <ellipse
         fill="none"
         stroke="#000000"
         cx="1151.65"
         cy="-90"
         rx="111.58"
         ry="18"
         id="ellipse15" />
      <text
         text-anchor="middle"
         x="1151.65"
         y="-86.300003"
         font-family="Times, serif"
         font-size="14px"
         id="text17">mellium.im/xmpp/dial</text>
    </g>
    <!-- mellium.im/xmpp&#45;&gt;mellium.im/xmpp/dial -->
    <g
       id="edge1"
       class="edge">
      <title
         id="title20">mellium.im/xmpp-&gt;mellium.im/xmpp/dial</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 1063.32,-144.76 c 15.59,9.49 35.48,21.59 52.44,31.92"
         id="path22" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1124.32,-107.63 1113.96,-109.84 1117.6,-115.82 "
         id="polygon24" />
    </g>
    <!-- mellium.im/xmpp/jid -->
    <g
       id="node3"
       class="node">
      <title
         id="title27">mellium.im/xmpp/jid</title>
      <ellipse
         fill="none"
         stroke="#000000"
         cx="1151.65"
         cy="-18"
         rx="106.68"
         ry="18"
         id="ellipse29" />
      <text
         text-anchor="middle"
         x="1151.65"
         y="-14.3"
         font-family="Times, serif"
         font-size="14px"
         id="text31">mellium.im/xmpp/jid</text>
    </g>
    <!-- mellium.im/xmpp&#45;&gt;mellium.im/xmpp/jid -->
    <g
       id="edge2"
       class="edge">
      <title
         id="title34">mellium.im/xmpp-&gt;mellium.im/xmpp/jid</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 1029.73,-143.71 c -6.45,19.16 -13.15,50.19 0.92,71.71 10.89,16.67 28.32,28.13 46.59,35.99"
         id="path36" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1086.54,-32.32 1075.96,-32.75 1078.54,-39.26 "
         id="polygon38" />
    </g>
    <!-- mellium.im/xmpp/stanza -->
    <g
       id="node4"
       class="node">
      <title
         id="title41">mellium.im/xmpp/stanza</title>
      <ellipse
         fill="none"
         stroke="#000000"
         cx="1406.65"
         cy="-90"
         rx="124.58"
         ry="18"
         id="ellipse43" />
      <text
         text-anchor="middle"
         x="1406.65"
         y="-86.300003"
         font-family="Times, serif"
         font-size="14px"
         id="text45">mellium.im/xmpp/stanza</text>
    </g>
    <!-- mellium.im/xmpp&#45;&gt;mellium.im/xmpp/stanza -->
    <g
       id="edge3"
       class="edge">
      <title
         id="title48">mellium.im/xmpp-&gt;mellium.im/xmpp/stanza</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 1100.25,-148.97 c 61.81,11.7 155.99,29.51 223.61,42.31"
         id="path50" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1334.05,-104.73 1323.58,-103.15 1324.88,-110.03 "
         id="polygon52" />
    </g>
    <!-- mellium.im/xmpp/stream -->
    <g
       id="node5"
       class="node">
      <title
         id="title55">mellium.im/xmpp/stream</title>
      <ellipse
         fill="none"
         stroke="#000000"
         cx="856.65002"
         cy="-90"
         rx="127.28"
         ry="18"
         id="ellipse57" />
      <text
         text-anchor="middle"
         x="856.65002"
         y="-86.300003"
         font-family="Times, serif"
         font-size="14px"
         id="text59">mellium.im/xmpp/stream</text>
    </g>
    <!-- mellium.im/xmpp&#45;&gt;mellium.im/xmpp/stream -->
    <g
       id="edge4"
       class="edge">
      <title
         id="title62">mellium.im/xmpp-&gt;mellium.im/xmpp/stream</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 997.14,-145.64 c -26.4,10.27 -61.38,23.87 -89.83,34.94"
         id="path64" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="897.93,-107.06 905.98,-113.94 908.52,-107.42 "
         id="polygon66" />
    </g>
    <!-- mellium.im/xmpp/dial&#45;&gt;mellium.im/xmpp/jid -->
    <g
       id="edge10"
       class="edge">
      <title
         id="title69">mellium.im/xmpp/dial-&gt;mellium.im/xmpp/jid</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 1151.65,-71.7 c 0,7.72 0,16.99 0,25.59"
         id="path71" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1151.65,-36.1 1148.15,-46.1 1155.15,-46.1 "
         id="polygon73" />
    </g>
    <!-- mellium.im/xmpp/stanza&#45;&gt;mellium.im/xmpp/jid -->
    <g
       id="edge31"
       class="edge">
      <title
         id="title76">mellium.im/xmpp/stanza-&gt;mellium.im/xmpp/jid</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 1351.31,-73.81 c -40.14,11.02 -94.51,25.94 -136.37,37.44"
         id="path78" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1205.12,-33.68 1213.84,-39.7 1215.69,-32.95 "
         id="polygon80" />
    </g>
    <!-- mellium.im/xmpp/stream&#45;&gt;mellium.im/xmpp/jid -->
    <g
       id="edge32"
       class="edge">
      <title
         id="title83">mellium.im/xmpp/stream-&gt;mellium.im/xmpp/jid</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 918.85,-74.24 c 47.92,11.37 114.13,27.08 163.7,38.84"
         id="path85" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1092.55,-33.02 1082.01,-31.93 1083.62,-38.74 "
         id="polygon87" />
    </g>
    <!-- mellium.im/xmpp/component -->
    <g
       id="node6"
       class="node">
      <title
         id="title90">mellium.im/xmpp/component</title>
      <ellipse
         fill="none"
         stroke="#000000"
         cx="162.64999"
         cy="-234"
         rx="145.67"
         ry="18"
         id="ellipse92" />
      <text
         text-anchor="middle"
         x="162.64999"
         y="-230.3"
         font-family="Times, serif"
         font-size="14px"
         id="text94">mellium.im/xmpp/component</text>
    </g>
    <!-- mellium.im/xmpp/component&#45;&gt;mellium.im/xmpp -->
    <g
       id="edge5"
       class="edge">
      <title
         id="title97">mellium.im/xmpp/component-&gt;mellium.im/xmpp</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 264.47,-221.12 c 17.4,1.84 35.29,3.63 52.18,5.12 240.92,21.27 301.92,16.44 543,36 28.5,2.31 59.54,5.18 87.56,7.89"
         id="path99" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="957.39,-171.12 947.1,-168.6 947.78,-175.57 "
         id="polygon101" />
    </g>
    <!-- mellium.im/xmpp/component&#45;&gt;mellium.im/xmpp/jid -->
    <g
       id="edge6"
       class="edge">
      <title
         id="title104">mellium.im/xmpp/component-&gt;mellium.im/xmpp/jid</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 182.61,-216.07 c 24.59,20.02 68.36,53.01 111.04,72.07 121.25,54.16 159.07,49.77 290,72 157.45,26.74 341.92,40.82 456.89,47.58"
         id="path106" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1050.76,-23.83 1040.57,-20.91 1040.98,-27.9 "
         id="polygon108" />
    </g>
    <!-- mellium.im/xmpp/component&#45;&gt;mellium.im/xmpp/stream -->
    <g
       id="edge7"
       class="edge">
      <title
         id="title111">mellium.im/xmpp/component-&gt;mellium.im/xmpp/stream</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 262.35,-220.83 c 108.68,13.52 268.88,34.31 281.3,40.83 19.21,10.09 14.03,25.44 33,36 45.8,25.5 101.65,38.97 151.38,46"
         id="path113" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="738.22,-96.64 727.84,-94.5 728.77,-101.43 "
         id="polygon115" />
    </g>
    <!-- mellium.im/xmpp/compress -->
    <g
       id="node7"
       class="node">
      <title
         id="title118">mellium.im/xmpp/compress</title>
      <ellipse
         fill="none"
         stroke="#000000"
         cx="710.65002"
         cy="-234"
         rx="139.17999"
         ry="18"
         id="ellipse120" />
      <text
         text-anchor="middle"
         x="710.65002"
         y="-230.3"
         font-family="Times, serif"
         font-size="14px"
         id="text122">mellium.im/xmpp/compress</text>
    </g>
    <!-- mellium.im/xmpp/compress&#45;&gt;mellium.im/xmpp -->
    <g
       id="edge8"
       class="edge">
      <title
         id="title125">mellium.im/xmpp/compress-&gt;mellium.im/xmpp</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 779.38,-218.24 c 55.22,11.86 132.43,28.44 187.84,40.33"
         id="path127" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="977.3,-175.74 966.79,-174.42 968.26,-181.26 "
         id="polygon129" />
    </g>
    <!-- mellium.im/xmpp/compress&#45;&gt;mellium.im/xmpp/stream -->
    <g
       id="edge9"
       class="edge">
      <title
         id="title132">mellium.im/xmpp/compress-&gt;mellium.im/xmpp/stream</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 800.54,-220.12 c 22.97,7.81 45.1,20.27 59.11,40.12 12.56,17.8 10.38,42.97 5.89,62"
         id="path134" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="862.88,-108.14 862.1,-118.71 868.86,-116.89 "
         id="polygon136" />
    </g>
    <!-- mellium.im/xmpp/form -->
    <g
       id="node8"
       class="node">
      <title
         id="title139">mellium.im/xmpp/form</title>
      <ellipse
         fill="none"
         stroke="#000000"
         cx="418.64999"
         cy="-162"
         rx="116.18"
         ry="18"
         id="ellipse141" />
      <text
         text-anchor="middle"
         x="418.64999"
         y="-158.3"
         font-family="Times, serif"
         font-size="14px"
         id="text143">mellium.im/xmpp/form</text>
    </g>
    <!-- mellium.im/xmpp/form&#45;&gt;mellium.im/xmpp/jid -->
    <g
       id="edge11"
       class="edge">
      <title
         id="title146">mellium.im/xmpp/form-&gt;mellium.im/xmpp/jid</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 463.34,-145.31 c 58.43,19.92 164.31,54.03 257.31,73.31 109.99,22.81 237.96,37.02 325.71,44.92"
         id="path148" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1056.32,-26.2 1046.05,-23.6 1046.67,-30.57 "
         id="polygon150" />
    </g>
    <!-- mellium.im/xmpp/ibr2 -->
    <g
       id="node9"
       class="node">
      <title
         id="title153">mellium.im/xmpp/ibr2</title>
      <ellipse
         fill="none"
         stroke="#000000"
         cx="439.64999"
         cy="-234"
         rx="113.98"
         ry="18"
         id="ellipse155" />
      <text
         text-anchor="middle"
         x="439.64999"
         y="-230.3"
         font-family="Times, serif"
         font-size="14px"
         id="text157">mellium.im/xmpp/ibr2</text>
    </g>
    <!-- mellium.im/xmpp/ibr2&#45;&gt;mellium.im/xmpp -->
    <g
       id="edge12"
       class="edge">
      <title
         id="title160">mellium.im/xmpp/ibr2-&gt;mellium.im/xmpp</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 521.32,-221.41 c 13.78,1.87 27.96,3.74 41.33,5.41 133.97,16.75 289.58,33.66 384.91,43.74"
         id="path162" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="957.73,-171.19 947.42,-168.76 948.16,-175.72 "
         id="polygon164" />
    </g>
    <!-- mellium.im/xmpp/ibr2&#45;&gt;mellium.im/xmpp/stream -->
    <g
       id="edge15"
       class="edge">
      <title
         id="title167">mellium.im/xmpp/ibr2-&gt;mellium.im/xmpp/stream</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 490.28,-217.86 c 26.67,9.06 59.35,21.92 86.37,37.86 21.46,12.67 20.65,24.97 43,36 40.51,20 88.63,32.54 130.9,40.37"
         id="path169" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="760.59,-101.84 750.13,-100.15 751.36,-107.04 "
         id="polygon171" />
    </g>
    <!-- mellium.im/xmpp/ibr2&#45;&gt;mellium.im/xmpp/form -->
    <g
       id="edge13"
       class="edge">
      <title
         id="title174">mellium.im/xmpp/ibr2-&gt;mellium.im/xmpp/form</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 434.45,-215.7 c -2.34,7.8 -5.15,17.19 -7.76,25.87"
         id="path176" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="423.78,-180.1 423.3,-190.69 430,-188.68 "
         id="polygon178" />
    </g>
    <!-- mellium.im/xmpp/oob -->
    <g
       id="node10"
       class="node">
      <title
         id="title181">mellium.im/xmpp/oob</title>
      <ellipse
         fill="none"
         stroke="#000000"
         cx="739.65002"
         cy="-162"
         rx="111.28"
         ry="18"
         id="ellipse183" />
      <text
         text-anchor="middle"
         x="739.65002"
         y="-158.3"
         font-family="Times, serif"
         font-size="14px"
         id="text185">mellium.im/xmpp/oob</text>
    </g>
    <!-- mellium.im/xmpp/ibr2&#45;&gt;mellium.im/xmpp/oob -->
    <g
       id="edge14"
       class="edge">
      <title
         id="title188">mellium.im/xmpp/ibr2-&gt;mellium.im/xmpp/oob</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 500.72,-218.75 c 48.82,11.39 117.32,27.38 168.47,39.31"
         id="path190" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="679.17,-177.11 668.64,-175.97 670.23,-182.79 "
         id="polygon192" />
    </g>
    <!-- mellium.im/xmpp/oob&#45;&gt;mellium.im/xmpp/stanza -->
    <g
       id="edge18"
       class="edge">
      <title
         id="title195">mellium.im/xmpp/oob-&gt;mellium.im/xmpp/stanza</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 834.08,-152.39 c 106.6,9.9 285.18,27.04 438.57,44.39 11.26,1.27 23.05,2.67 34.76,4.11"
         id="path197" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1317.67,-102.63 1307.32,-100.38 1308.17,-107.33 "
         id="polygon199" />
    </g>
    <!-- mellium.im/xmpp/mux -->
    <g
       id="node11"
       class="node">
      <title
         id="title202">mellium.im/xmpp/mux</title>
      <ellipse
         fill="none"
         stroke="#000000"
         cx="1333.65"
         cy="-234"
         rx="114.28"
         ry="18"
         id="ellipse204" />
      <text
         text-anchor="middle"
         x="1333.65"
         y="-230.3"
         font-family="Times, serif"
         font-size="14px"
         id="text206">mellium.im/xmpp/mux</text>
    </g>
    <!-- mellium.im/xmpp/mux&#45;&gt;mellium.im/xmpp -->
    <g
       id="edge16"
       class="edge">
      <title
         id="title209">mellium.im/xmpp/mux-&gt;mellium.im/xmpp</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 1272.83,-218.67 c -49.48,11.67 -119.2,28.1 -170.06,40.08"
         id="path211" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1092.86,-176.25 1101.79,-181.95 1103.4,-175.14 "
         id="polygon213" />
    </g>
    <!-- mellium.im/xmpp/mux&#45;&gt;mellium.im/xmpp/stanza -->
    <g
       id="edge17"
       class="edge">
      <title
         id="title216">mellium.im/xmpp/mux-&gt;mellium.im/xmpp/stanza</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 1342.45,-215.87 c 12.61,24.52 35.9,69.84 50.7,98.61"
         id="path218" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1397.81,-108.19 1390.12,-115.48 1396.35,-118.68 "
         id="polygon220" />
    </g>
    <!-- mellium.im/xmpp/ping -->
    <g
       id="node12"
       class="node">
      <title
         id="title223">mellium.im/xmpp/ping</title>
      <ellipse
         fill="none"
         stroke="#000000"
         cx="945.65002"
         cy="-306"
         rx="115.08"
         ry="18"
         id="ellipse225" />
      <text
         text-anchor="middle"
         x="945.65002"
         y="-302.29999"
         font-family="Times, serif"
         font-size="14px"
         id="text227">mellium.im/xmpp/ping</text>
    </g>
    <!-- mellium.im/xmpp/ping&#45;&gt;mellium.im/xmpp -->
    <g
       id="edge19"
       class="edge">
      <title
         id="title230">mellium.im/xmpp/ping-&gt;mellium.im/xmpp</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 926.85,-288.17 c -18.32,18.49 -41.22,48.67 -25.2,72.17 12.97,19.03 33.9,31.23 55.46,39.04"
         id="path232" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="966.69,-173.77 956.1,-173.6 958.31,-180.24 "
         id="polygon234" />
    </g>
    <!-- mellium.im/xmpp/ping&#45;&gt;mellium.im/xmpp/jid -->
    <g
       id="edge20"
       class="edge">
      <title
         id="title237">mellium.im/xmpp/ping-&gt;mellium.im/xmpp/jid</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 832.37,-302.7 c -243.44,5.48 -796.8,21.16 -824.72,50.7 -10.99,11.63 -9.08,22.83 0,36 115.37,167.42 759.6,193.31 1027.31,196.76"
         id="path239" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1045.1,-19.11 1035.06,-15.74 1035.14,-22.74 "
         id="polygon241" />
    </g>
    <!-- mellium.im/xmpp/ping&#45;&gt;mellium.im/xmpp/stanza -->
    <g
       id="edge22"
       class="edge">
      <title
         id="title244">mellium.im/xmpp/ping-&gt;mellium.im/xmpp/stanza</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 1036.87,-294.94 c 43.09,7.49 94.08,20.49 135.78,42.94 20.48,11.03 19.66,21.68 38,36 51.74,40.42 116.88,79.95 157.49,103.4"
         id="path246" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1376.91,-107.57 1366.5,-109.51 1369.98,-115.58 "
         id="polygon248" />
    </g>
    <!-- mellium.im/xmpp/ping&#45;&gt;mellium.im/xmpp/mux -->
    <g
       id="edge21"
       class="edge">
      <title
         id="title251">mellium.im/xmpp/ping-&gt;mellium.im/xmpp/mux</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 1018.17,-291.92 c 66.27,11.96 164.19,29.63 233.32,42.1"
         id="path253" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1261.48,-248.02 1251.01,-246.35 1252.26,-253.24 "
         id="polygon255" />
    </g>
    <!-- mellium.im/xmpp/receipts -->
    <g
       id="node13"
       class="node">
      <title
         id="title258">mellium.im/xmpp/receipts</title>
      <ellipse
         fill="none"
         stroke="#000000"
         cx="1278.65"
         cy="-306"
         rx="131.88"
         ry="18"
         id="ellipse260" />
      <text
         text-anchor="middle"
         x="1278.65"
         y="-302.29999"
         font-family="Times, serif"
         font-size="14px"
         id="text262">mellium.im/xmpp/receipts</text>
    </g>
    <!-- mellium.im/xmpp/receipts&#45;&gt;mellium.im/xmpp -->
    <g
       id="edge23"
       class="edge">
      <title
         id="title265">mellium.im/xmpp/receipts-&gt;mellium.im/xmpp</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 1171.48,-295.47 c -95.11,9.56 -221.37,25.44 -236.83,43.47 -10.42,12.14 -8.31,22.32 0,36 9.52,15.69 25.37,26.94 41.76,34.93"
         id="path267" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="985.54,-176.97 974.99,-177.88 977.86,-184.26 "
         id="polygon269" />
    </g>
    <!-- mellium.im/xmpp/receipts&#45;&gt;mellium.im/xmpp/stanza -->
    <g
       id="edge25"
       class="edge">
      <title
         id="title272">mellium.im/xmpp/receipts-&gt;mellium.im/xmpp/stanza</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 1356.45,-291.33 c 41.96,9.12 87.67,22.53 100.2,39.33 30.8,41.31 -4.42,101.96 -29.42,135.8"
         id="path274" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1421.14,-108.2 1424.41,-118.28 1429.98,-114.04 "
         id="polygon276" />
    </g>
    <!-- mellium.im/xmpp/receipts&#45;&gt;mellium.im/xmpp/mux -->
    <g
       id="edge24"
       class="edge">
      <title
         id="title279">mellium.im/xmpp/receipts-&gt;mellium.im/xmpp/mux</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 1291.96,-288.05 c 6.52,8.3 14.51,18.47 21.75,27.67"
         id="path281" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1320.07,-252.28 1311.14,-257.98 1316.65,-262.3 "
         id="polygon283" />
    </g>
    <!-- mellium.im/xmpp/roster -->
    <g
       id="node14"
       class="node">
      <title
         id="title286">mellium.im/xmpp/roster</title>
      <ellipse
         fill="none"
         stroke="#000000"
         cx="1551.65"
         cy="-306"
         rx="122.68"
         ry="18"
         id="ellipse288" />
      <text
         text-anchor="middle"
         x="1551.65"
         y="-302.29999"
         font-family="Times, serif"
         font-size="14px"
         id="text290">mellium.im/xmpp/roster</text>
    </g>
    <!-- mellium.im/xmpp/roster&#45;&gt;mellium.im/xmpp -->
    <g
       id="edge26"
       class="edge">
      <title
         id="title293">mellium.im/xmpp/roster-&gt;mellium.im/xmpp</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 1539.04,-287.88 c -16.42,20.86 -47.21,55.35 -82.39,71.88 -55.51,26.07 -217.1,40.67 -322.9,47.68"
         id="path295" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1123.69,-167.66 1133.44,-171.81 1133.9,-164.82 "
         id="polygon297" />
    </g>
    <!-- mellium.im/xmpp/roster&#45;&gt;mellium.im/xmpp/jid -->
    <g
       id="edge27"
       class="edge">
      <title
         id="title300">mellium.im/xmpp/roster-&gt;mellium.im/xmpp/jid</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 1656.64,-296.62 c 101.12,9.17 241.19,25.17 258.01,44.62 10.46,12.1 8.74,22.6 0,36 -86.76,133.01 -173.87,101.97 -327,144 -107.45,29.49 -234.28,42.58 -323.37,48.39"
         id="path302" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1254.15,-22.97 1263.91,-27.09 1264.36,-20.11 "
         id="polygon304" />
    </g>
    <!-- mellium.im/xmpp/roster&#45;&gt;mellium.im/xmpp/stanza -->
    <g
       id="edge29"
       class="edge">
      <title
         id="title307">mellium.im/xmpp/roster-&gt;mellium.im/xmpp/stanza</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 1545.17,-287.79 c -12.12,30.86 -40.41,96.77 -77.52,143.79 -8.51,10.77 -19.42,21.06 -29.66,29.65"
         id="path309" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1429.98,-107.85 1435.53,-116.87 1439.95,-111.44 "
         id="polygon311" />
    </g>
    <!-- mellium.im/xmpp/roster&#45;&gt;mellium.im/xmpp/mux -->
    <g
       id="edge28"
       class="edge">
      <title
         id="title314">mellium.im/xmpp/roster-&gt;mellium.im/xmpp/mux</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 1502.99,-289.38 c -33.03,10.61 -76.86,24.68 -111.66,35.86"
         id="path316" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1381.77,-250.45 1390.22,-256.84 1392.36,-250.18 "
         id="polygon318" />
    </g>
    <!-- mellium.im/xmpp/s2s -->
    <g
       id="node15"
       class="node">
      <title
         id="title321">mellium.im/xmpp/s2s</title>
      <ellipse
         fill="none"
         stroke="#000000"
         cx="1053.65"
         cy="-234"
         rx="110.48"
         ry="18"
         id="ellipse323" />
      <text
         text-anchor="middle"
         x="1053.65"
         y="-230.3"
         font-family="Times, serif"
         font-size="14px"
         id="text325">mellium.im/xmpp/s2s</text>
    </g>
    <!-- mellium.im/xmpp/s2s&#45;&gt;mellium.im/xmpp -->
    <g
       id="edge30"
       class="edge">
      <title
         id="title328">mellium.im/xmpp/s2s-&gt;mellium.im/xmpp</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 1049.44,-215.7 c -1.89,7.8 -4.17,17.19 -6.28,25.87"
         id="path330" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1040.8,-180.1 1039.76,-190.65 1046.56,-189 "
         id="polygon332" />
    </g>
    <!-- mellium.im/xmpp/uri -->
    <g
       id="node16"
       class="node">
      <title
         id="title335">mellium.im/xmpp/uri</title>
      <ellipse
         fill="none"
         stroke="#000000"
         cx="1904.65"
         cy="-90"
         rx="107.78"
         ry="18"
         id="ellipse337" />
      <text
         text-anchor="middle"
         x="1904.65"
         y="-86.300003"
         font-family="Times, serif"
         font-size="14px"
         id="text339">mellium.im/xmpp/uri</text>
    </g>
    <!-- mellium.im/xmpp/uri&#45;&gt;mellium.im/xmpp/jid -->
    <g
       id="edge33"
       class="edge">
      <title
         id="title342">mellium.im/xmpp/uri-&gt;mellium.im/xmpp/jid</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 1826.63,-77.48 c -14.6,1.97 -29.74,3.89 -43.98,5.48 -183.64,20.49 -398.13,36.92 -523.81,45.79"
         id="path344" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1248.82,-25.51 1258.55,-29.7 1259.04,-22.72 "
         id="polygon346" />
    </g>
    <!-- mellium.im/xmpp/websocket -->
    <g
       id="node17"
       class="node">
      <title
         id="title349">mellium.im/xmpp/websocket</title>
      <ellipse
         fill="none"
         stroke="#000000"
         cx="1761.65"
         cy="-234"
         rx="143.77"
         ry="18"
         id="ellipse351" />
      <text
         text-anchor="middle"
         x="1761.65"
         y="-230.3"
         font-family="Times, serif"
         font-size="14px"
         id="text353">mellium.im/xmpp/websocket</text>
    </g>
    <!-- mellium.im/xmpp/websocket&#45;&gt;mellium.im/xmpp -->
    <g
       id="edge34"
       class="edge">
      <title
         id="title356">mellium.im/xmpp/websocket-&gt;mellium.im/xmpp</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 1657.55,-221.59 c -17.97,1.91 -36.47,3.84 -53.9,5.59 -167.42,16.83 -362.83,34.71 -475.02,44.8"
         id="path358" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1118.37,-170.28 1128.02,-174.66 1128.64,-167.69 "
         id="polygon360" />
    </g>
    <!-- mellium.im/xmpp/websocket&#45;&gt;mellium.im/xmpp/jid -->
    <g
       id="edge35"
       class="edge">
      <title
         id="title363">mellium.im/xmpp/websocket-&gt;mellium.im/xmpp/jid</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 1744.88,-216.08 c -34.65,33.81 -118.14,109.44 -204.23,144.08 -87.17,35.07 -193.26,47.74 -272.62,51.96"
         id="path365" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1258,-19.54 1267.81,-23.53 1268.16,-16.54 "
         id="polygon367" />
    </g>
    <!-- mellium.im/xmpp/xtime -->
    <g
       id="node18"
       class="node">
      <title
         id="title370">mellium.im/xmpp/xtime</title>
      <ellipse
         fill="none"
         stroke="#000000"
         cx="1892.65"
         cy="-306"
         rx="120.78"
         ry="18"
         id="ellipse372" />
      <text
         text-anchor="middle"
         x="1892.65"
         y="-302.29999"
         font-family="Times, serif"
         font-size="14px"
         id="text374">mellium.im/xmpp/xtime</text>
    </g>
    <!-- mellium.im/xmpp/xtime&#45;&gt;mellium.im/xmpp -->
    <g
       id="edge36"
       class="edge">
      <title
         id="title377">mellium.im/xmpp/xtime-&gt;mellium.im/xmpp</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 1811.59,-292.56 c -57.12,9.41 -135.19,23.61 -202.94,40.56 -51.55,12.9 -62.04,24.9 -114,36 -123.3,26.35 -268.26,40.34 -361.54,47.2"
         id="path379" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1123.12,-168.08 1132.84,-172.29 1133.34,-165.31 "
         id="polygon381" />
    </g>
    <!-- mellium.im/xmpp/xtime&#45;&gt;mellium.im/xmpp/jid -->
    <g
       id="edge37"
       class="edge">
      <title
         id="title384">mellium.im/xmpp/xtime-&gt;mellium.im/xmpp/jid</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 1914.83,-288.27 c 51.75,40.93 171.29,147.74 106.82,216.27 -25.49,27.08 -524.82,43.82 -755.26,50.14"
         id="path386" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1256.29,-21.59 1266.19,-25.36 1266.39,-18.36 "
         id="polygon388" />
    </g>
    <!-- mellium.im/xmpp/xtime&#45;&gt;mellium.im/xmpp/stanza -->
    <g
       id="edge39"
       class="edge">
      <title
         id="title391">mellium.im/xmpp/xtime-&gt;mellium.im/xmpp/stanza</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 1904.72,-287.79 c 11.96,19.37 26.32,50.87 9.93,71.79 -48.6,62.01 -264.62,97.38 -398.83,113.74"
         id="path393" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1505.5,-101.02 1515.01,-105.69 1515.85,-98.74 "
         id="polygon395" />
    </g>
    <!-- mellium.im/xmpp/xtime&#45;&gt;mellium.im/xmpp/mux -->
    <g
       id="edge38"
       class="edge">
      <title
         id="title398">mellium.im/xmpp/xtime-&gt;mellium.im/xmpp/mux</title>
      <path
         fill="none"
         stroke="#000000"
         d="m 1803.45,-293.83 c -101.97,12.77 -268.31,33.6 -373.27,46.74"
         id="path400" />
      <polygon
         fill="#000000"
         stroke="#000000"
         points="1420.22,-245.84 1429.71,-250.56 1430.58,-243.61 "
         id="polygon402" />
    </g>
  </g>
  <rect
     style="fill:none;stroke:#ff0000;stroke-width:3.75081"
     id="rect1237"
     x="-92.494041"
     y="-25.872503"
     height="130.47861"
     width="0" />
  <text
     xml:space="preserve"
     id="text1241"
     style="font-style:normal;font-weight:normal;font-size:30.0064px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1243);fill:#000000;fill-opacity:1;stroke:none;"
     transform="translate(8.1394536,22.116883)"><tspan
       x="16.626953"
       y="25.214646"><tspan>High level (features and XEPs)</tspan></tspan></text>
  <path
     style="fill:none;stroke:#0000ff;stroke-width:3.75081;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
     d="M 888.42043,215.61349 H 1758.1619"
     id="path1341" />
  <rect
     style="fill:#ffffff;stroke:none;stroke-width:3.7508056;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;fill-opacity:0.74901962"
     id="rect1357"
     width="431.88177"
     height="31.208258"
     x="1229.6995"
     y="177.45734" />
  <text
     xml:space="preserve"
     id="text1343"
     style="font-style:normal;font-weight:normal;font-size:30.0064px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1345);fill:#000000;fill-opacity:1;stroke:none;"
     transform="translate(16.348601,35.053309)"><tspan
       x="1209.498"
       y="166.28691"><tspan>Mid Level (core functionality)</tspan></tspan></text>
  <path
     style="fill:none;stroke:#00ff00;stroke-width:3.75081;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
     d="M 1.8756083,215.61349 V 354.83884 H 2074.1955 v -53.5812"
     id="path1349"
     sodipodi:nodetypes="cccc" />
  <path
     style="fill:none;stroke:#ff0000;stroke-width:3.75081;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
     d="M 1.8754035,1.8370827 H 2074.1955 V 301.54249 H 1757.8198 V 156.68905 H 1491.9257 V 82.053322 H 1198.3104 V 156.68905 H 888.42043 v 58.92444 H 1.8756048 C 1.8756011,144.35469 1.8754822,73.095886 1.8754035,1.8370827 Z"
     id="path1337"
     sodipodi:nodetypes="ccccccccccccc" />
  <text
     xml:space="preserve"
     id="text1351"
     style="font-style:normal;font-weight:normal;font-size:30.0064px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1353);fill:#000000;fill-opacity:1;stroke:none;"
     transform="translate(2.1381648,31.118816)"><tspan
       x="16.835938"
       y="308.42363"><tspan>Low level (primitives and building blocks)</tspan></tspan></text>
</svg>