<mxfile host="app.diagrams.net" agent="architecture-diagram" version="24.0.0">
  <diagram name="Distributed Job Scheduler — High-Level Architecture" id="02-high-level-architecture">
    <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1780" pageHeight="430" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="_st1" value="Declare" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="60" width="190" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.api" value="&lt;b&gt;Management API&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;Cloud Run&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#4a3200;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="40" y="90" width="190" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico2" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,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;" vertex="1" parent="n.api">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.valid" value="&lt;b&gt;Validator&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;next 3 instants&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#1a2b45;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="40" y="190" width="190" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico3" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAACpUlEQVRoge3YTYhNYRzH8Y+3iLzkbZoSdhJZkI1YUWzYWbCxJCU1ZShlpVhQKIoFG28pKxaKDUnyUtTQZJCExZSJEYMMFs+cXMe5955z7jn3jppf/evWfc7/+f6e5/+8nMOIWqsxJeWdhA3YhMUYQG9JfRWqZTiJfvyKxRPsxuyW0VXRHAGsx7/QSfED17ER41rACyYMAVwZAkoDnhTvhRlb2izwWiXSaJRWYvOxDy9yQOWZnW+4jPUaKLFGS+QBdmIGFuGgsAuVXmLTcUS+EnmDA1hQJff4oUG5mnNQ7mNdLfjJeJQx6QDOY61sZ0o7dqErY38/saVa0r0ZEt3BVkzLAF1Ny3EcfSn77sOUpEQ36zz4FkexpADoJI0XFu4lfK/DsjopwdOEhgO4INReWdeOJEUl9iSB6Rc2Rw1H10n0CS/RjcEySKuoF8/wOstDSTMQxaA/x//YIkljahcOs1c1WP6agbQG4mvhIOYWBD0aa6Sr/UIMRFF5KcuzPqYJh93zjP0WZqAyeoSpn5UCPLpPfWmgv8INRPEV57Aqljsa7ax9DDbbQGV0oQOn8Tnjs++wHwtbaSBP3Pb3i87EegbK3BLT6oOwAx0TDq5MaqWBhziFs8KCzqVmG+jHRZzA4yISNtPAGewQFnRhqncXKlLdCoanuQZK0YiBVuu/NzAcDrJqasOeeo0qDXwsjyWT2tCJbcJVIkkfoh+VJXSrRKg0asNh4RW2Q3X4r7iX9Mds4R20rItaZx3wtDfWvbVGYR6uNclAVvA+bMeoWgYirRC+i5ZhYKbwTp0WvH+ofa6PaCtxoyADh2Qf8X2Ymgc8rjJmpJQRb6WRUsHLNNJU8LgaMdJS8LiyGBlW4HHVMjKsweNaKXyW78Zd4atdIdvhiEZUsH4D+zfN9JHFLwAAAAAASUVORK5CYII=;" vertex="1" parent="n.valid">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st4" value="Remember" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="290" y="60" width="190" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.reg" value="&lt;b&gt;Trigger registry&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;Spanner&lt;/font&gt;" style="shape=cylinder3;boundedLbl=1;backgroundOutline=1;size=11;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#1e3a1e;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="290" y="90" width="190" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico5" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,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;" vertex="1" parent="n.reg">
          <mxGeometry x="12" y="29" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.due" value="&lt;b&gt;Due index&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;time-ordered&lt;/font&gt;" style="shape=cylinder3;boundedLbl=1;backgroundOutline=1;size=11;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#1e3a1e;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="290" y="190" width="190" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico6" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAADIUlEQVRoge3aTWwVVRjG8V9LkW+kwYDY6kLxC5QNJEIMECEGNSa6MCaGHStXrtyqxI0xJLCCDTGBBRuCiSQuTIgxhAUsABP5SAQlCFhlYaB82AqNdfFO06E9U+5M7+29rf0nbyY9M3Pmee85M/Ocd8o0zaVtHOfOwoosuvBEFp2YjTnZMf9kx9/AAK7jGv7ErziHK1VFlEmgE5vwOtbjOXRUvfAIbuI0vscRnMK/9ei4TQg+KH7JwQmKK/hMjGxlVuCHCRSdir/xqZiKpXgFt5osPh9HxH01ihkFbSfwWNmsG8jT6MexkTvaEwcvFU+TVmN1qjGVQKqtFUjqalWxNTMlE7gt7vxWo7fMwV9p/qMzH31YWyaBDuxrAeGD+AtvlRGfZzOON0n4HezG4qri86zCTpxvsOi7+A4fYmFVsV3Yj2UF+7vxAb7At7ikmtG7IVznfnyM1xTYBbyNHakdKTvdjavixjmAPfixoOM8S8RbfEnW76Jc//1Zf/1iHfB79vdYzMF7+AhrcBjv1qBDt9G/1gV8iS1YUEsnFVmObTgkplNewzepE8YagSIGREIXcBG/ZNurYmHSl108da1FmCsWR89msTzbvihGsIjkCFRZUXUYXkqORa9IZpaYDkXze1zUa0mY4tEsGsqU9EKTilQCdakGNICkrlQC19HTWC2VOF3m4LWGbXUrROGifixewtEmC+/D9irih2jDG/ga9yZQ+DV8jieriF6A5xPti/E+9uJn8Uaul+BbYrQ/wTqjyz3tCqoSRVbikjBxu/BbQaJzxdt4ZXbO49l2vmEj1+lBI3dXPCT+EA+Ky/gp2w4mrtGON0WZsUcFMzcgTNRWE/BWzfGyKClezGlJmrmHWYkZeCeL+zgpqmMnDRu5O+MU2yXM3At4FRvwVK0nl/FCM8X8XDeivUckc1lMlV4xVfrE3J4pptVCYermibLlM8KJziuhYRT1MHNDHzY21qGv0kxJLzSpmJIJTJcWGxDTpcVmCP9/lBarfKnvFh+6VwnPMvSl/pGS/dwUpvEszogy43Fh+mpmPP9qMJJ6lxanmRT8B1M0bJ9FjBNdAAAAAElFTkSuQmCC;" vertex="1" parent="n.due">
          <mxGeometry x="12" y="29" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st7" value="Decide" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="540" y="60" width="190" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.own" value="&lt;b&gt;Partition owner&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;lease held&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#1a2b45;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="540" y="90" width="190" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico8" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAACpUlEQVRoge3YTYhNYRzH8Y+3iLzkbZoSdhJZkI1YUWzYWbCxJCU1ZShlpVhQKIoFG28pKxaKDUnyUtTQZJCExZSJEYMMFs+cXMe5955z7jn3jppf/evWfc7/+f6e5/+8nMOIWqsxJeWdhA3YhMUYQG9JfRWqZTiJfvyKxRPsxuyW0VXRHAGsx7/QSfED17ER41rACyYMAVwZAkoDnhTvhRlb2izwWiXSaJRWYvOxDy9yQOWZnW+4jPUaKLFGS+QBdmIGFuGgsAuVXmLTcUS+EnmDA1hQJff4oUG5mnNQ7mNdLfjJeJQx6QDOY61sZ0o7dqErY38/saVa0r0ZEt3BVkzLAF1Ny3EcfSn77sOUpEQ36zz4FkexpADoJI0XFu4lfK/DsjopwdOEhgO4INReWdeOJEUl9iSB6Rc2Rw1H10n0CS/RjcEySKuoF8/wOstDSTMQxaA/x//YIkljahcOs1c1WP6agbQG4mvhIOYWBD0aa6Sr/UIMRFF5KcuzPqYJh93zjP0WZqAyeoSpn5UCPLpPfWmgv8INRPEV57Aqljsa7ax9DDbbQGV0oQOn8Tnjs++wHwtbaSBP3Pb3i87EegbK3BLT6oOwAx0TDq5MaqWBhziFs8KCzqVmG+jHRZzA4yISNtPAGewQFnRhqncXKlLdCoanuQZK0YiBVuu/NzAcDrJqasOeeo0qDXwsjyWT2tCJbcJVIkkfoh+VJXSrRKg0asNh4RW2Q3X4r7iX9Mds4R20rItaZx3wtDfWvbVGYR6uNclAVvA+bMeoWgYirRC+i5ZhYKbwTp0WvH+ofa6PaCtxoyADh2Qf8X2Ymgc8rjJmpJQRb6WRUsHLNNJU8LgaMdJS8LiyGBlW4HHVMjKsweNaKXyW78Zd4atdIdvhiEZUsH4D+zfN9JHFLwAAAAAASUVORK5CYII=;" vertex="1" parent="n.own">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.gate" value="&lt;b&gt;Clock gate&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;waits out ε&lt;/font&gt;" style="shape=hexagon;perimeter=hexagonPerimeter2;size=0.12;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;fontColor=#4a3c00;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="540" y="190" width="190" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico9" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAADLElEQVRoge3YT6hVVRTH8c97vjQyjVQESStCkEQQChV0GIqBg8AMI4IgUpyIRjNp0MgiB0YY4UghrYEURCQIWj2I6I8mBAlF+F9LB5mK9krvbbDvrdtxn3/3nXfOE/zC5vHO2nvt39rnrn3W3tyhWQZK9l+I57EY9+ICPsMu/FapsoqZiHdxE+1Iu4KXGlOXwyA+FheebJsa0pjJRsXEt3EDC5qRGWcQ5xQPoI09dQrMS+LF+Dry/Bd8gTWYkrD9gfuFYPJY2GmTcQbDnfGV8Yz4Kj/Ssa9Lsc/I8bsCP0TGjeAdYQEKMZhjT1vFmYm/SVoZPjdiv3iuTMQGfIUHcrQVYoH4Cl/Ftx2hSdu5DH9PSt+Kk+0bTBhtAAP4seCE3fZ2hb5eGG0AsLrEhJcxO8XPooxxsTfZxsEqAoA3C4gfwaoMH+tTxq3EPfgkYvu9qgAIyXUpRcQxLMsZ/0pk3HUMdewvR+w3la/XMpmCzxOTbFUs2Z6LCGxjr7A4sQ/m6SrFd3k/MUnRIm62UGqUSeLdeU7zvgNVcgb7SvRv4a28TnUGAJtxtmDfN3Akr1PdAZzHE/gpo09LEL9lrET0mwO93C2cHc4mfA1jSRlHdb+BLn9iu7D99rJTvPpNpakACFvv/MSzovnxL00GsBazev6/ge/KOhnK71I5A3gKOxLPPxUuB0pRRwD3YY7wc3kcT/vvQNSlhdf7cV5VAEPC8XMp5uIhPIiHhUItj63CIaYWktvol/hVuRKht1h7rS7hXZIB9Ct8v5J7fow6cqAlXDsex2Fhpzkk1EajpsoAruGAcJY9IZTCp4Ty4e8K5xk1sZ/QDkxtUlQRJuNVXPR/8dfwrIpPTlUzDz/LTswPcVdTArOYgZOK7S4fGIdvYqdyW+SaZmTGmSrcHJQJYLgRpSksFxf5nlCQHY3Y/sKkJsTGSLsKmdaxp91ez7rF0xiRdx5Iuxl7URC5NmJrZ4yrnZnK3+V8X6fAvDdwQSi6yrCrPyljx6PCSanI6h81jhK4l5XC1XmW+GPCQWbcMg8fuTUnLmObcHSsnX4++9PxmCD4vFDfj1Qp6g63E/8AKx6wsTVHQH0AAAAASUVORK5CYII=;" vertex="1" parent="n.gate">
          <mxGeometry x="19" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st10" value="Commit" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="800" y="60" width="190" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.ledger" value="&lt;b&gt;Fire ledger&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;append-only, keyed&lt;/font&gt;" style="shape=cylinder3;boundedLbl=1;backgroundOutline=1;size=11;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#1e3a1e;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="800" y="130" width="190" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico11" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAADIUlEQVRoge3aTWwVVRjG8V9LkW+kwYDY6kLxC5QNJEIMECEGNSa6MCaGHStXrtyqxI0xJLCCDTGBBRuCiSQuTIgxhAUsABP5SAQlCFhlYaB82AqNdfFO06E9U+5M7+29rf0nbyY9M3Pmee85M/Ocd8o0zaVtHOfOwoosuvBEFp2YjTnZMf9kx9/AAK7jGv7ErziHK1VFlEmgE5vwOtbjOXRUvfAIbuI0vscRnMK/9ei4TQg+KH7JwQmKK/hMjGxlVuCHCRSdir/xqZiKpXgFt5osPh9HxH01ihkFbSfwWNmsG8jT6MexkTvaEwcvFU+TVmN1qjGVQKqtFUjqalWxNTMlE7gt7vxWo7fMwV9p/qMzH31YWyaBDuxrAeGD+AtvlRGfZzOON0n4HezG4qri86zCTpxvsOi7+A4fYmFVsV3Yj2UF+7vxAb7At7ikmtG7IVznfnyM1xTYBbyNHakdKTvdjavixjmAPfixoOM8S8RbfEnW76Jc//1Zf/1iHfB79vdYzMF7+AhrcBjv1qBDt9G/1gV8iS1YUEsnFVmObTgkplNewzepE8YagSIGREIXcBG/ZNurYmHSl108da1FmCsWR89msTzbvihGsIjkCFRZUXUYXkqORa9IZpaYDkXze1zUa0mY4tEsGsqU9EKTilQCdakGNICkrlQC19HTWC2VOF3m4LWGbXUrROGifixewtEmC+/D9irih2jDG/ga9yZQ+DV8jieriF6A5xPti/E+9uJn8Uaul+BbYrQ/wTqjyz3tCqoSRVbikjBxu/BbQaJzxdt4ZXbO49l2vmEj1+lBI3dXPCT+EA+Ky/gp2w4mrtGON0WZsUcFMzcgTNRWE/BWzfGyKClezGlJmrmHWYkZeCeL+zgpqmMnDRu5O+MU2yXM3At4FRvwVK0nl/FCM8X8XDeivUckc1lMlV4xVfrE3J4pptVCYermibLlM8KJziuhYRT1MHNDHzY21qGv0kxJLzSpmJIJTJcWGxDTpcVmCP9/lBarfKnvFh+6VwnPMvSl/pGS/dwUpvEszogy43Fh+mpmPP9qMJJ6lxanmRT8B1M0bJ9FjBNdAAAAAElFTkSuQmCC;" vertex="1" parent="n.ledger">
          <mxGeometry x="12" y="39" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st12" value="Shape" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="1050" y="60" width="190" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.lanes" value="&lt;b&gt;Dispatch lanes&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;Cloud Tasks&lt;/font&gt;" style="shape=process;size=0.08;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#4a3200;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1050" y="90" width="190" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico13" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAACUElEQVRoge3Yz4tNYRzH8ZcxTU2SGaasJGo2iCQLCxYmYmExUYrJzmTiP7BnpZT8WGAIZWFFiLJSGL8aURbIykKkrPy4xlg89zb3nnnumTvce8+9Oe966pzn+T7nfL7Pz29fcnJyZksnFmUt4m9ZgAf4jsGMtcyaHoxhslgK2JGpImE51EIP7mJ9ou8W3Ci+d2Ovxi+vl7hVrXEFzmFlWV0vnpga+VIZE5ZUiSMRm0aVjTHxq/CxaPAJa4vin9YgHi410YGhmAP3E0Zf8KJG8Zk50FEm4EqxsUQvVidEPsZWfI04MBGpaxS/Sg/lm/gMunAccyKd0sQTZmAA8+qjsSrvcS/NYBi/VU7ZMyxssLC6csiUE9XWfMszhFPCHZCTU0f24aw2XVr7TW3u59rsZBox/Xg9kaki8Wi0H28SdSM4qfKCK+B22ftmjGJ+PQVGeIft+Jxs6BDW9iTOY26x/oDpI/8TOxP9R9U33kkru2OeHUsYXcbBKuJ3RfpnHo3erKFjNfEt4UCfePhci3g42kQHNpV+mow6+4RILxlGF7AH11Ic6BbuiEbfD69xPc0gORMF6SPfkvRhHD+0ofgSXYIjOTn/IxtwUUi1XBUycC1JLPswjNMqUy5wWMi+VaMlUovLhKMzdvtNYE3KhzNJLSZHeVA4PmN0mB6BlrMkpa3eLC09JB2YKQzorb+WfyPpwPgM9mntmaQWk5u4E4+wLtLprRDkfavy0QFc0JzU4jYhgx5lMe6o3DQPhQ3ecsSO0RL9WI4PeNUcOTk5OTntxh/8pG5i98V9WAAAAABJRU5ErkJggg==;" vertex="1" parent="n.lanes">
          <mxGeometry x="21" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.smear" value="&lt;b&gt;Jitter smear&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;peak second&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#1a2b45;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1050" y="190" width="190" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico14" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAACpUlEQVRoge3YTYhNYRzH8Y+3iLzkbZoSdhJZkI1YUWzYWbCxJCU1ZShlpVhQKIoFG28pKxaKDUnyUtTQZJCExZSJEYMMFs+cXMe5955z7jn3jppf/evWfc7/+f6e5/+8nMOIWqsxJeWdhA3YhMUYQG9JfRWqZTiJfvyKxRPsxuyW0VXRHAGsx7/QSfED17ER41rACyYMAVwZAkoDnhTvhRlb2izwWiXSaJRWYvOxDy9yQOWZnW+4jPUaKLFGS+QBdmIGFuGgsAuVXmLTcUS+EnmDA1hQJff4oUG5mnNQ7mNdLfjJeJQx6QDOY61sZ0o7dqErY38/saVa0r0ZEt3BVkzLAF1Ny3EcfSn77sOUpEQ36zz4FkexpADoJI0XFu4lfK/DsjopwdOEhgO4INReWdeOJEUl9iSB6Rc2Rw1H10n0CS/RjcEySKuoF8/wOstDSTMQxaA/x//YIkljahcOs1c1WP6agbQG4mvhIOYWBD0aa6Sr/UIMRFF5KcuzPqYJh93zjP0WZqAyeoSpn5UCPLpPfWmgv8INRPEV57Aqljsa7ax9DDbbQGV0oQOn8Tnjs++wHwtbaSBP3Pb3i87EegbK3BLT6oOwAx0TDq5MaqWBhziFs8KCzqVmG+jHRZzA4yISNtPAGewQFnRhqncXKlLdCoanuQZK0YiBVuu/NzAcDrJqasOeeo0qDXwsjyWT2tCJbcJVIkkfoh+VJXSrRKg0asNh4RW2Q3X4r7iX9Mds4R20rItaZx3wtDfWvbVGYR6uNclAVvA+bMeoWgYirRC+i5ZhYKbwTp0WvH+ofa6PaCtxoyADh2Qf8X2Ymgc8rjJmpJQRb6WRUsHLNNJU8LgaMdJS8LiyGBlW4HHVMjKsweNaKXyW78Zd4atdIdvhiEZUsH4D+zfN9JHFLwAAAAAASUVORK5CYII=;" vertex="1" parent="n.smear">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st15" value="Deliver" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="1300" y="60" width="190" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.disp" value="&lt;b&gt;Dispatcher&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;signs + mints&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#1a2b45;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1300" y="90" width="190" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico16" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAACpUlEQVRoge3YTYhNYRzH8Y+3iLzkbZoSdhJZkI1YUWzYWbCxJCU1ZShlpVhQKIoFG28pKxaKDUnyUtTQZJCExZSJEYMMFs+cXMe5955z7jn3jppf/evWfc7/+f6e5/+8nMOIWqsxJeWdhA3YhMUYQG9JfRWqZTiJfvyKxRPsxuyW0VXRHAGsx7/QSfED17ER41rACyYMAVwZAkoDnhTvhRlb2izwWiXSaJRWYvOxDy9yQOWZnW+4jPUaKLFGS+QBdmIGFuGgsAuVXmLTcUS+EnmDA1hQJff4oUG5mnNQ7mNdLfjJeJQx6QDOY61sZ0o7dqErY38/saVa0r0ZEt3BVkzLAF1Ny3EcfSn77sOUpEQ36zz4FkexpADoJI0XFu4lfK/DsjopwdOEhgO4INReWdeOJEUl9iSB6Rc2Rw1H10n0CS/RjcEySKuoF8/wOstDSTMQxaA/x//YIkljahcOs1c1WP6agbQG4mvhIOYWBD0aa6Sr/UIMRFF5KcuzPqYJh93zjP0WZqAyeoSpn5UCPLpPfWmgv8INRPEV57Aqljsa7ax9DDbbQGV0oQOn8Tnjs++wHwtbaSBP3Pb3i87EegbK3BLT6oOwAx0TDq5MaqWBhziFs8KCzqVmG+jHRZzA4yISNtPAGewQFnRhqncXKlLdCoanuQZK0YiBVuu/NzAcDrJqasOeeo0qDXwsjyWT2tCJbcJVIkkfoh+VJXSrRKg0asNh4RW2Q3X4r7iX9Mds4R20rItaZx3wtDfWvbVGYR6uNclAVvA+bMeoWgYirRC+i5ZhYKbwTp0WvH+ofa6PaCtxoyADh2Qf8X2Ymgc8rjJmpJQRb6WRUsHLNNJU8LgaMdJS8LiyGBlW4HHVMjKsweNaKXyW78Zd4atdIdvhiEZUsH4D+zfN9JHFLwAAAAAASUVORK5CYII=;" vertex="1" parent="n.disp">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.tgt" value="&lt;b&gt;Tenant target&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#8c8c8c;fontColor=#333333;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1300" y="190" width="190" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico17" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAAB40lEQVRoge3Yz6sOURzH8dfjXlfuQkoW6ooiIUk2imRna+kvYCMLUlIsWNhYKFtZKUp3y80/YGOHKD+6RCGJErnyazF3MsbM85z73HnmTDnv+tQ0c2bm8znnzJyZL4lEIpH4n+k1dJ21mMJKfMFjvG7o2iNjChfwFL8q9ARnsTqWwTrGcE7W01XGy/qEo5ob7UWxAjPCjJd1DRPtW/7DOG4bznyuqyKOxPkAgyE6jD24IXtOPmMWV7B9VObX4WtDAb73OfYDZ4xglC41ZD5UJ5s038PLlgPMYUOIuSUBbTbJ3vltMoFDIQ1DArRtPmdvSKOQALFW0kXfdxlO4IV253+uOyEmx2v2b8U0tgTHbZ57w564Ex/E6fWynuE4loeaX4VXHTBe1kNsCwlwuQNm6/RuUIg1+NYBo/30SGk6FV+jB7G0X8IOsBlH6g5Oi9/DIZotmi6OQKwVd6Gsl33e4O8AUf+WFsjGfKMYoPNVhAKT+UYxwIMIRoblTdXO3eI/oCGakxUX/qGHux0wOEg3q8zn7JP9l8Y2Waef2NUvAJzqgNE6XRxknmwqnZ5PG9twUdfVf/5Xsh/3O2D8I46pKbUMqr+MzQc5gB2y1Xqy7xnN8BbPcUtWknzfwj0TiUQikWif37lJeEKjXHZHAAAAAElFTkSuQmCC;" vertex="1" parent="n.tgt">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st18" value="Account" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="1550" y="60" width="190" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.hist" value="&lt;b&gt;Fire history&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;Bigtable 90 d&lt;/font&gt;" style="shape=cylinder3;boundedLbl=1;backgroundOutline=1;size=11;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#1e3a1e;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1550" y="90" width="190" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico19" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAADIUlEQVRoge3aTWwVVRjG8V9LkW+kwYDY6kLxC5QNJEIMECEGNSa6MCaGHStXrtyqxI0xJLCCDTGBBRuCiSQuTIgxhAUsABP5SAQlCFhlYaB82AqNdfFO06E9U+5M7+29rf0nbyY9M3Pmee85M/Ocd8o0zaVtHOfOwoosuvBEFp2YjTnZMf9kx9/AAK7jGv7ErziHK1VFlEmgE5vwOtbjOXRUvfAIbuI0vscRnMK/9ei4TQg+KH7JwQmKK/hMjGxlVuCHCRSdir/xqZiKpXgFt5osPh9HxH01ihkFbSfwWNmsG8jT6MexkTvaEwcvFU+TVmN1qjGVQKqtFUjqalWxNTMlE7gt7vxWo7fMwV9p/qMzH31YWyaBDuxrAeGD+AtvlRGfZzOON0n4HezG4qri86zCTpxvsOi7+A4fYmFVsV3Yj2UF+7vxAb7At7ikmtG7IVznfnyM1xTYBbyNHakdKTvdjavixjmAPfixoOM8S8RbfEnW76Jc//1Zf/1iHfB79vdYzMF7+AhrcBjv1qBDt9G/1gV8iS1YUEsnFVmObTgkplNewzepE8YagSIGREIXcBG/ZNurYmHSl108da1FmCsWR89msTzbvihGsIjkCFRZUXUYXkqORa9IZpaYDkXze1zUa0mY4tEsGsqU9EKTilQCdakGNICkrlQC19HTWC2VOF3m4LWGbXUrROGifixewtEmC+/D9irih2jDG/ga9yZQ+DV8jieriF6A5xPti/E+9uJn8Uaul+BbYrQ/wTqjyz3tCqoSRVbikjBxu/BbQaJzxdt4ZXbO49l2vmEj1+lBI3dXPCT+EA+Ky/gp2w4mrtGON0WZsUcFMzcgTNRWE/BWzfGyKClezGlJmrmHWYkZeCeL+zgpqmMnDRu5O+MU2yXM3At4FRvwVK0nl/FCM8X8XDeivUckc1lMlV4xVfrE3J4pptVCYermibLlM8KJziuhYRT1MHNDHzY21qGv0kxJLzSpmJIJTJcWGxDTpcVmCP9/lBarfKnvFh+6VwnPMvSl/pGS/dwUpvEszogy43Fh+mpmPP9qMJJ6lxanmRT8B1M0bJ9FjBNdAAAAAElFTkSuQmCC;" vertex="1" parent="n.hist">
          <mxGeometry x="12" y="29" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.rep" value="&lt;b&gt;Lateness facts&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;BigQuery&lt;/font&gt;" style="shape=cylinder3;boundedLbl=1;backgroundOutline=1;size=11;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#1e3a1e;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1550" y="190" width="190" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico20" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,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;" vertex="1" parent="n.rep">
          <mxGeometry x="12" y="29" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_spine21" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="240" y="170" as="sourcePoint" />
            <mxPoint x="280" y="170" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine22" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="490" y="170" as="sourcePoint" />
            <mxPoint x="530" y="170" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine23" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="740" y="170" as="sourcePoint" />
            <mxPoint x="790" y="170" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine24" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="1000" y="170" as="sourcePoint" />
            <mxPoint x="1040" y="170" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine25" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="1250" y="170" as="sourcePoint" />
            <mxPoint x="1290" y="170" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine26" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="1500" y="170" as="sourcePoint" />
            <mxPoint x="1540" y="170" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_e27" value="commit first" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.gate" target="n.ledger">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="640" y="290" />
              <mxPoint x="900" y="290" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e28" value="state changes" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;dashed=1;endArrow=open;endFill=0;strokeColor=#d79b00;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.ledger" target="n.hist">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="900" y="60" />
              <mxPoint x="1650" y="60" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="title" value="Distributed Job Scheduler — High-Level Architecture" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=20;fontStyle=1;fontColor=#16202c;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="20" width="1690" height="30" as="geometry" />
        </mxCell>
        <mxCell id="rule" value="" style="line;strokeWidth=1;html=1;strokeColor=#c9d3de;" vertex="1" parent="1">
          <mxGeometry x="40" y="50" width="1690" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg29" value="" style="rounded=1;arcSize=30;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
          <mxGeometry x="40" y="340" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg30" value="Interface / broker" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="70" y="330" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg31" value="" style="rounded=1;arcSize=30;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
          <mxGeometry x="200" y="340" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg32" value="Application we own" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="230" y="330" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg33" value="" style="rounded=1;arcSize=30;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
          <mxGeometry x="360" y="340" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg34" value="Data store" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="390" y="330" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg35" value="" style="rounded=1;arcSize=30;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
          <mxGeometry x="480" y="340" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg36" value="Decision point" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="510" y="330" width="90" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg37" value="" style="rounded=1;arcSize=30;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
          <mxGeometry x="610" y="340" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg38" value="Queue / topic" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="640" y="330" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg39" value="" style="rounded=1;arcSize=30;html=1;fillColor=#f5f5f5;strokeColor=#8c8c8c;" vertex="1" parent="1">
          <mxGeometry x="750" y="340" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg40" value="External / third party" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="770" y="330" width="130" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg41" value="" style="html=1;endArrow=none;strokeColor=#5a6570;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="930" y="340" as="sourcePoint" />
            <mxPoint x="950" y="340" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg42" value="synchronous" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="950" y="330" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg43" value="" style="html=1;endArrow=none;dashed=1;strokeColor=#d79b00;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="1050" y="340" as="sourcePoint" />
            <mxPoint x="1070" y="340" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg44" value="event / async" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="1080" y="330" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="note" value="The spine is the fire path. Nothing is dispatched that is not already committed to the ledger." style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="360" width="1690" height="20" as="geometry" />
        </mxCell>
        <mxCell id="foot-rule" value="" style="line;strokeWidth=1;html=1;strokeColor=#e3e9ef;" vertex="1" parent="1">
          <mxGeometry x="40" y="380" width="1690" height="10" as="geometry" />
        </mxCell>
        <mxCell id="foot" value="v 1.0   ·   owner Platform Architecture   ·   date 2026-10" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=9;fontColor=#9aa7b4;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="400" width="1690" height="10" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
