aboutsummaryrefslogtreecommitdiff
path: root/rebuilds-contamination-1party.svg
diff options
context:
space:
mode:
Diffstat (limited to 'rebuilds-contamination-1party.svg')
-rw-r--r--rebuilds-contamination-1party.svg653
1 files changed, 653 insertions, 0 deletions
diff --git a/rebuilds-contamination-1party.svg b/rebuilds-contamination-1party.svg
new file mode 100644
index 0000000..3f76cc6
--- /dev/null
+++ b/rebuilds-contamination-1party.svg
@@ -0,0 +1,653 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ width="800pt"
+ height="400pt"
+ viewBox="0 0 800 400"
+ version="1.1"
+ id="svg1"
+ inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
+ sodipodi:docname="rebuilds-contamination-1party.svg"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg">
+ <sodipodi:namedview
+ id="namedview1"
+ pagecolor="#ffffff"
+ bordercolor="#000000"
+ borderopacity="0.25"
+ inkscape:showpageshadow="2"
+ inkscape:pageopacity="0.0"
+ inkscape:pagecheckerboard="0"
+ inkscape:deskcolor="#d1d1d1"
+ inkscape:document-units="pt"
+ inkscape:zoom="2.5584366"
+ inkscape:cx="264.22386"
+ inkscape:cy="370.34336"
+ inkscape:window-width="1280"
+ inkscape:window-height="749"
+ inkscape:window-x="0"
+ inkscape:window-y="27"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="layer1"
+ showgrid="false" />
+ <defs
+ id="defs1">
+ <inkscape:path-effect
+ effect="powermask"
+ id="path-effect29"
+ is_visible="true"
+ lpeversion="1"
+ uri="#mask-powermask-path-effect29"
+ invert="false"
+ hide_mask="false"
+ background="true"
+ background_color="#ffffffff" />
+ <marker
+ style="overflow:visible"
+ id="marker33"
+ refX="0"
+ refY="0"
+ orient="auto-start-reverse"
+ inkscape:stockid="Wide arrow"
+ markerWidth="1"
+ markerHeight="1"
+ viewBox="0 0 1 1"
+ inkscape:isstock="true"
+ inkscape:collect="always"
+ preserveAspectRatio="xMidYMid">
+ <path
+ style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt"
+ d="M 3,-3 0,0 3,3"
+ transform="rotate(180,0.125,0)"
+ sodipodi:nodetypes="ccc"
+ id="path33" />
+ </marker>
+ <inkscape:path-effect
+ effect="powermask"
+ id="path-effect28"
+ is_visible="true"
+ lpeversion="1"
+ uri="#mask-powermask-path-effect28"
+ invert="false"
+ hide_mask="false"
+ background="false"
+ background_color="#ffffffff" />
+ <inkscape:path-effect
+ effect="powermask"
+ id="path-effect27"
+ is_visible="true"
+ lpeversion="1"
+ uri="#mask-powermask-path-effect27"
+ invert="false"
+ hide_mask="false"
+ background="true"
+ background_color="#ffffffff" />
+ <mask
+ maskUnits="userSpaceOnUse"
+ id="mask-powermask-path-effect29" />
+ <marker
+ style="overflow:visible"
+ id="marker33-1"
+ refX="0"
+ refY="0"
+ orient="auto-start-reverse"
+ inkscape:stockid="Wide arrow"
+ markerWidth="1"
+ markerHeight="1"
+ viewBox="0 0 1 1"
+ inkscape:isstock="true"
+ inkscape:collect="always"
+ preserveAspectRatio="xMidYMid">
+ <path
+ style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt"
+ d="M 3,-3 0,0 3,3"
+ transform="rotate(180,0.125,0)"
+ sodipodi:nodetypes="ccc"
+ id="path33-8" />
+ </marker>
+ <marker
+ style="overflow:visible"
+ id="marker33-1-7"
+ refX="0"
+ refY="0"
+ orient="auto-start-reverse"
+ inkscape:stockid="Wide arrow"
+ markerWidth="1"
+ markerHeight="1"
+ viewBox="0 0 1 1"
+ inkscape:isstock="true"
+ inkscape:collect="always"
+ preserveAspectRatio="xMidYMid">
+ <path
+ style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt"
+ d="M 3,-3 0,0 3,3"
+ transform="rotate(180,0.125,0)"
+ sodipodi:nodetypes="ccc"
+ id="path33-8-8" />
+ </marker>
+ </defs>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <rect
+ style="fill:#000000;fill-opacity:0;stroke:none;stroke-width:0.999997;stroke-linejoin:round;stroke-miterlimit:2.3"
+ id="rect4"
+ width="800"
+ height="400"
+ x="0"
+ y="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:10.875px;line-height:0px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;letter-spacing:-0.435px;text-anchor:middle;fill:none;stroke:#555555;stroke-width:0.999997;stroke-linejoin:round;stroke-miterlimit:2.3"
+ x="659.03473"
+ y="354.23218"
+ id="text60"><tspan
+ sodipodi:role="line"
+ id="tspan60"
+ style="stroke-width:1"
+ x="659.03473"
+ y="354.23218" /></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.875px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:start;letter-spacing:-0.434999px;text-anchor:start;white-space:pre;inline-size:131.66;display:inline;opacity:1;fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999992;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:3.99999, 3.99999;stroke-dashoffset:0;stroke-opacity:1"
+ x="666.77734"
+ y="359.8067"
+ id="text61"
+ inkscape:label="text3"
+ transform="matrix(0.99999598,0,0,1,-7.2237155,-36.18825)"><tspan
+ x="666.77734"
+ y="359.8067"
+ id="tspan11"><tspan
+ style="font-style:italic;stroke-width:0.999993"
+ id="tspan4">Build outputs do match, </tspan></tspan><tspan
+ x="666.77734"
+ y="373.40045"
+ id="tspan21"><tspan
+ style="font-style:italic;stroke-width:0.999993"
+ id="tspan20">contamination was not </tspan></tspan><tspan
+ x="666.77734"
+ y="386.9942"
+ id="tspan24"><tspan
+ style="font-style:italic;stroke-width:0.999993"
+ id="tspan22">detected.</tspan></tspan></text>
+ <path
+ style="fill:none;fill-opacity:1;stroke:#555555;stroke-width:0.999999;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker33-1)"
+ d="m 175.73,365.212 v -83.559 h 42.818"
+ id="path61"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:#555555;stroke-width:0.999999;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker33)"
+ d="m 225.54798,304.337 2e-5,-15.684"
+ id="path66"
+ sodipodi:nodetypes="cc" />
+ <use
+ x="0"
+ y="0"
+ xlink:href="#g65"
+ id="use73"
+ transform="translate(457.33403,139.85734)" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.875px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:start;letter-spacing:-0.434999px;text-anchor:start;white-space:pre;inline-size:131.66;display:inline;opacity:1;fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999992;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:3.99999, 3.99999;stroke-dashoffset:0;stroke-opacity:1"
+ x="666.77734"
+ y="359.8067"
+ id="text73"
+ inkscape:label="text3"
+ transform="matrix(0.99999992,0,0,1.0000016,-481.63695,-245.13181)"><tspan
+ x="666.77734"
+ y="359.8067"
+ id="tspan28"><tspan
+ style="font-style:italic;stroke-width:0.999993"
+ id="tspan25">Contamination gets </tspan></tspan><tspan
+ x="666.77734"
+ y="373.40045"
+ id="tspan30"><tspan
+ style="font-style:italic;stroke-width:0.999993"
+ id="tspan29">introduced by deliberate </tspan></tspan><tspan
+ x="666.77734"
+ y="386.9942"
+ id="tspan36"><tspan
+ style="font-style:italic;stroke-width:0.999993"
+ id="tspan35">human action during </tspan></tspan><tspan
+ x="666.77734"
+ y="400.58795"
+ id="tspan38"><tspan
+ style="font-style:italic;stroke-width:0.999993"
+ id="tspan37">every build.</tspan></tspan></text>
+ <rect
+ style="fill:#000000;fill-opacity:0;stroke:none;stroke-width:0.999997;stroke-linejoin:round;stroke-miterlimit:2.3"
+ id="rect4-9"
+ width="800"
+ height="400"
+ x="0"
+ y="0" />
+ <path
+ style="fill:#000000;stroke:#555555;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:4, 4;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 160,0 V 400"
+ id="path12"
+ sodipodi:nodetypes="cc" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.875px;line-height:0px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;letter-spacing:-0.435001px;text-anchor:middle;fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999998;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:4.00001, 4.00001;stroke-dashoffset:0;stroke-opacity:1"
+ x="79.771561"
+ y="21.935478"
+ id="text3"
+ inkscape:label="text3"><tspan
+ sodipodi:role="line"
+ id="tspan3"
+ style="fill:#212121;fill-opacity:1;stroke:none;stroke-width:1"
+ x="79.554054"
+ y="21.935478">build inputs</tspan></text>
+ <path
+ style="fill:#000000;stroke:#555555;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:4, 4;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 319.726,47.935 v 304.13"
+ id="path13"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:#000000;stroke:#555555;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:4, 4;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 480,47.935 v 304.13"
+ id="path14"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:#000000;stroke:#555555;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:4, 4;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 640,0 V 400"
+ id="path15"
+ sodipodi:nodetypes="cc" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.875px;line-height:0px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;letter-spacing:-0.435px;text-anchor:middle;fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999995;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:4, 4;stroke-dashoffset:0;stroke-opacity:1"
+ x="399.89056"
+ y="21.935417"
+ id="text23"
+ inkscape:label="text3"><tspan
+ sodipodi:role="line"
+ id="tspan23"
+ style="fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999996"
+ x="399.67307"
+ y="21.935417">software distributor; a single party, which rebuilds software on multiple infrastructures</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.875px;line-height:0px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;letter-spacing:-0.434999px;text-anchor:middle;fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999992;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:3.99999, 3.99999;stroke-dashoffset:0;stroke-opacity:1"
+ x="719.70563"
+ y="21.935364"
+ id="text26"
+ inkscape:label="text3"><tspan
+ sodipodi:role="line"
+ id="tspan26"
+ style="fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999993"
+ x="719.48816"
+ y="21.935364">software consumer</tspan></text>
+ <g
+ id="g1"
+ transform="translate(2.6e-5,139.858)">
+ <rect
+ style="fill:none;fill-opacity:1;stroke:#555555;stroke-width:0.999995;stroke-linejoin:round;stroke-miterlimit:2.3"
+ id="rect26"
+ width="114.616"
+ height="85.299004"
+ x="182.692"
+ y="101.534" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.875px;line-height:0px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;letter-spacing:-0.434999px;text-anchor:middle;opacity:1;fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999995;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:3.99999, 3.99999;stroke-dashoffset:0;stroke-opacity:1"
+ x="235.13669"
+ y="116.79645"
+ id="text32"><tspan
+ sodipodi:role="line"
+ style="fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999998"
+ x="234.91919"
+ y="116.79645"
+ id="tspan32">build environment</tspan></text>
+ <rect
+ style="fill:none;fill-opacity:1;stroke:#555555;stroke-width:0.999995;stroke-linejoin:round;stroke-miterlimit:2.3"
+ id="rect33"
+ width="114.616"
+ height="29"
+ x="182.692"
+ y="157.83273" />
+ <g
+ id="g34"
+ transform="matrix(0.99999647,0,0,1,179.58561,-89.151178)">
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.875px;line-height:0px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;letter-spacing:-0.435px;text-anchor:middle;opacity:1;fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999997;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:4, 4;stroke-dashoffset:0;stroke-opacity:1"
+ x="60.4146"
+ y="224.83426"
+ id="text34"><tspan
+ sodipodi:role="line"
+ id="tspan34"
+ style="fill:#212121;fill-opacity:1;stroke:none;stroke-width:1"
+ x="60.197102"
+ y="224.83426">build</tspan></text>
+ <rect
+ style="opacity:1;fill:none;stroke:#555555;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:1, 1;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect34"
+ width="37.526001"
+ height="14.5"
+ x="41.6516"
+ y="214.58449" />
+ </g>
+ <path
+ style="fill:none;fill-opacity:1;stroke:#555555;stroke-width:0.999992;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker33-1-7)"
+ d="M 277.08,373.56518 V 328.6911"
+ id="path1"
+ sodipodi:nodetypes="cc"
+ transform="translate(-2.6e-5,-139.858)" />
+ <g
+ id="g65"
+ transform="translate(-51.211273,-170.53722)">
+ <circle
+ style="fill:#ffffff;fill-opacity:1;stroke:#212121;stroke-width:0.75;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:none"
+ id="path62"
+ cx="276.75925"
+ cy="312.33221"
+ r="5" />
+ <circle
+ style="fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999997;stroke-linejoin:round;stroke-miterlimit:2.3"
+ id="path63"
+ cx="275.11801"
+ cy="310.72949"
+ r="0.5" />
+ <circle
+ style="fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999997;stroke-linejoin:round;stroke-miterlimit:2.3"
+ id="circle63"
+ cx="278.40048"
+ cy="310.72949"
+ r="0.5" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:#212121;stroke-width:0.5;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:none;stroke-opacity:1"
+ d="m 274.546,314.57533 c 1.53726,-1.47398 2.87901,-1.47799 4.425,0.0286"
+ id="path65"
+ sodipodi:nodetypes="cc" />
+ </g>
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.875px;line-height:0px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;letter-spacing:-0.434999px;text-anchor:middle;fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999995;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:3.99999, 3.99999;stroke-dashoffset:0;stroke-opacity:1"
+ x="239.77739"
+ y="175.33215"
+ id="text33"
+ transform="translate(2.6e-5,139.858)"><tspan
+ sodipodi:role="line"
+ id="tspan33"
+ style="fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999998"
+ x="239.55989"
+ y="175.33215">infrastructure A</tspan></text>
+ <rect
+ style="fill:none;stroke:#555555;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:1, 1;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect71"
+ width="114.616"
+ height="295.29874"
+ x="22.691999"
+ y="58.580002" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:#555555;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker33-1)"
+ d="m 139.308,272.54133 h 79.929"
+ id="path17"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:#555555;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker33-1)"
+ d="m 139.308,181.13525 239.929,3.1e-4"
+ id="path46"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:#555555;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker33-1)"
+ d="m 139.308,89.729 399.929,3.1e-4"
+ id="path47"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:#555555;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker33-1)"
+ d="m 260.763,272.54164 417.808,-7.3e-4"
+ id="path48"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:#555555;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker33-1)"
+ d="m 420.763,181.13556 257.807,-3.4e-4"
+ id="path49"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:#555555;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker33-1)"
+ d="m 580.763,89.72931 97.807,-2e-4"
+ id="path50"
+ sodipodi:nodetypes="cc" />
+ <rect
+ style="fill:none;stroke:#555555;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:1, 1;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect53"
+ width="114.616"
+ height="169.217"
+ x="662.69202"
+ y="78.520996" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:#555555;stroke-width:0.999999;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker33-1)"
+ d="M 720,264.688 V 241.73833"
+ id="path53"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:#555555;stroke-width:0.999999;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:0.999999, 0.999999;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker33-1)"
+ d="m 766.724,247.738 v 63.13001"
+ id="path60"
+ sodipodi:nodetypes="cc" />
+ <g
+ id="g3">
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.875px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:start;text-decoration:underline;text-decoration-line:underline;letter-spacing:-0.435001px;text-anchor:start;opacity:1;fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999999;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:4.00001, 4.00001;stroke-dashoffset:0;stroke-opacity:1"
+ x="49.270584"
+ y="158.74438"
+ id="text69"><tspan
+ sodipodi:role="line"
+ id="tspan69"
+ style="text-align:start;text-anchor:start;fill:#212121;fill-opacity:1;stroke:none;stroke-width:1"
+ x="49.270584"
+ y="158.74438">software</tspan><tspan
+ sodipodi:role="line"
+ style="text-align:start;text-anchor:start;fill:#212121;fill-opacity:1;stroke:none;stroke-width:1"
+ x="49.270584"
+ y="172.33813"
+ id="tspan72">source code</tspan></text>
+ <path
+ style="fill:none;stroke:#212121;stroke-width:0.48;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:none;stroke-opacity:1"
+ d="M 49.860001,159.672 H 110.139"
+ id="path55"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#212121;stroke-width:0.48;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:none;stroke-opacity:1"
+ d="M 49.860001,173.267 H 110.139"
+ id="path18"
+ sodipodi:nodetypes="cc" />
+ </g>
+ <g
+ id="g12">
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.875px;line-height:0px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;text-decoration:underline;text-decoration-line:underline;letter-spacing:-0.435001px;text-anchor:middle;opacity:1;fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999999;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:4.00001, 4.00001;stroke-dashoffset:0;stroke-opacity:1"
+ x="74.926155"
+ y="210.2836"
+ id="text70"><tspan
+ sodipodi:role="line"
+ id="tspan70"
+ style="fill:#212121;fill-opacity:1;stroke:none;stroke-width:1"
+ x="74.708656"
+ y="210.2836">build tools</tspan></text>
+ <path
+ style="fill:none;stroke:#212121;stroke-width:0.48;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:none;stroke-opacity:1"
+ d="M 49.860001,211.211 H 100.448"
+ id="path19"
+ sodipodi:nodetypes="cc" />
+ </g>
+ <g
+ id="g10">
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.875px;line-height:0px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;text-decoration:underline;text-decoration-line:underline;letter-spacing:-0.435001px;text-anchor:middle;opacity:1;fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999999;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:4.00001, 4.00001;stroke-dashoffset:0;stroke-opacity:1"
+ x="69.060753"
+ y="248.22868"
+ id="text71"><tspan
+ sodipodi:role="line"
+ id="tspan71"
+ style="fill:#212121;fill-opacity:1;stroke:none;stroke-width:1"
+ x="68.843254"
+ y="248.22868">libraries</tspan></text>
+ <path
+ style="fill:none;stroke:#212121;stroke-width:0.48;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:none;stroke-opacity:1"
+ d="m 49.860001,249.156 h 38.894"
+ id="path20"
+ sodipodi:nodetypes="cc" />
+ </g>
+ <use
+ x="0"
+ y="0"
+ xlink:href="#g1"
+ id="use11"
+ transform="translate(160,-91.405997)"
+ style="display:inline" />
+ <use
+ x="0"
+ y="0"
+ xlink:href="#g1"
+ id="use12"
+ transform="translate(320,-182.812)"
+ style="display:inline" />
+ <g
+ id="g13">
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.875px;line-height:0px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;text-decoration:underline;text-decoration-line:underline;letter-spacing:-0.435px;text-anchor:middle;opacity:1;fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999998;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:4.00001, 4.00001;stroke-dashoffset:0;stroke-opacity:1"
+ x="720.13354"
+ y="93.78334"
+ id="text53"><tspan
+ sodipodi:role="line"
+ style="fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999999"
+ x="719.91602"
+ y="93.78334"
+ id="tspan59">hash: 07ef5…</tspan></text>
+ <path
+ style="fill:none;stroke:#212121;stroke-width:0.48;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:none;stroke-opacity:1"
+ d="m 685.82029,94.711 h 68.361"
+ id="path3-0"
+ sodipodi:nodetypes="cc" />
+ </g>
+ <use
+ x="0"
+ y="0"
+ xlink:href="#g13"
+ id="use13"
+ transform="translate(1.22e-4,91.406111)"
+ style="display:inline" />
+ <g
+ id="g14"
+ transform="translate(0,-27.187667)">
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.875px;line-height:0px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;text-decoration:underline;text-decoration-line:underline;letter-spacing:-0.435px;text-anchor:middle;opacity:1;fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999998;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:4.00001, 4.00001;stroke-dashoffset:0;stroke-opacity:1"
+ x="719.21313"
+ y="302.72876"
+ id="text50"><tspan
+ sodipodi:role="line"
+ id="tspan50"
+ style="fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999999"
+ x="718.99561"
+ y="302.72876">built program</tspan></text>
+ <path
+ style="fill:none;stroke:#212121;stroke-width:0.48;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:none;stroke-opacity:1"
+ d="m 685.82094,303.656 h 66.848"
+ id="path3-0-6"
+ sodipodi:nodetypes="cc" />
+ </g>
+ <g
+ id="g16"
+ transform="matrix(1.0000003,0,0,0.99998332,-2.6011835e-5,171.64614)">
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.875px;line-height:0px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;text-decoration:underline;text-decoration-line:underline;letter-spacing:-0.435px;text-anchor:middle;opacity:1;fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999997;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:4, 4;stroke-dashoffset:0;stroke-opacity:1"
+ x="190.52602"
+ y="204.42259"
+ id="text27"><tspan
+ sodipodi:role="line"
+ id="tspan27"
+ style="fill:#212121;fill-opacity:1;stroke:none;stroke-width:1"
+ x="190.30852"
+ y="204.42259">people</tspan></text>
+ <g
+ id="g1-2"
+ transform="translate(2.8864938,-153.44257)">
+ <path
+ style="fill:none;stroke:#212121;stroke-width:0.48;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:none;stroke-opacity:1"
+ d="m 171.28348,358.79257 h 33.121"
+ id="path16"
+ sodipodi:nodetypes="cc" />
+ </g>
+ </g>
+ <path
+ style="fill:none;fill-opacity:1;stroke:#555555;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 214.541,373.56518 277.08,373.565"
+ id="path28"
+ sodipodi:nodetypes="cc" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.875px;line-height:0px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;letter-spacing:-0.435px;text-anchor:middle;fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999997;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:4, 4;stroke-dashoffset:0;stroke-opacity:1"
+ id="text31"
+ transform="translate(0,10.49994)"
+ x="-8.5231352"
+ y="0"><textPath
+ xlink:href="#path28"
+ startOffset="50%"
+ id="textPath31"><tspan
+ id="tspan31"
+ style="text-align:center;text-anchor:middle;fill:#212121;fill-opacity:1;stroke:none;stroke-width:1">«manage» </tspan></textPath></text>
+ <path
+ style="fill:none;stroke:#555555;stroke-width:0.999997;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:none;stroke-opacity:1"
+ d="m 277.08,373.56518 h 160 v -91.406"
+ id="path2"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:none;stroke:#555555;stroke-width:0.999997;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:none;stroke-opacity:1"
+ d="M 438.9225,373.56518 H 597.08 v -182.812"
+ id="path4"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:#555555;stroke-width:0.999999;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker33-1)"
+ d="m 175.73,281.653 -0.5,-90.89982 203.318,-0.50618"
+ id="path5"
+ sodipodi:nodetypes="ccc" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:#555555;stroke-width:0.999999;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker33-1)"
+ d="M 175.23,190.75318 174.73,99.85336 538.548,98.841"
+ id="path6"
+ sodipodi:nodetypes="ccc" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.875px;line-height:0px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;letter-spacing:-0.434999px;text-anchor:middle;fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999995;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:3.99999, 3.99999;stroke-dashoffset:0;stroke-opacity:1"
+ x="399.87259"
+ y="223.78445"
+ id="text6"><tspan
+ sodipodi:role="line"
+ id="tspan6"
+ style="fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999998"
+ x="399.65509"
+ y="223.78445">infrastructure B</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.875px;line-height:0px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;letter-spacing:-0.434999px;text-anchor:middle;fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999995;stroke-linejoin:round;stroke-miterlimit:2.3;stroke-dasharray:3.99999, 3.99999;stroke-dashoffset:0;stroke-opacity:1"
+ x="559.78229"
+ y="132.37845"
+ id="text7"><tspan
+ sodipodi:role="line"
+ id="tspan7"
+ style="fill:#212121;fill-opacity:1;stroke:none;stroke-width:0.999998"
+ x="559.56476"
+ y="132.37845">infrastructure C</tspan></text>
+ <use
+ x="0"
+ y="0"
+ xlink:href="#g13"
+ id="use7"
+ transform="translate(-2.746582e-4,143.81311)"
+ style="display:inline" />
+ </g>
+</svg>