cpp_dependency_graph 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +20 -0
  3. data/.rspec +3 -0
  4. data/.vscode/launch.json +79 -0
  5. data/.vscode/tasks.json +12 -0
  6. data/CODE_OF_CONDUCT.md +46 -0
  7. data/Gemfile +7 -0
  8. data/LICENSE +21 -0
  9. data/README.md +84 -0
  10. data/Rakefile +9 -0
  11. data/TODO.md +38 -0
  12. data/bin/console +14 -0
  13. data/bin/setup +8 -0
  14. data/cpp_dependency_graph.gemspec +44 -0
  15. data/examples/leveldb_overall.png +0 -0
  16. data/examples/leveldb_overall.svg +215 -0
  17. data/examples/leveldb_overall_d3.png +0 -0
  18. data/examples/leveldb_overall_d3.svg +1 -0
  19. data/examples/rethinkdb_queue_component.png +0 -0
  20. data/examples/rethinkdb_queue_component.svg +234 -0
  21. data/examples/rethinkdb_queue_component_d3.png +0 -0
  22. data/examples/rethinkdb_queue_component_d3.svg +1 -0
  23. data/examples/rethinkdb_queue_include.png +0 -0
  24. data/examples/rethinkdb_queue_include.svg +211 -0
  25. data/examples/rethinkdb_queue_include_d3.png +0 -0
  26. data/examples/rethinkdb_queue_include_d3.svg +1 -0
  27. data/examples/rocksdb_overall_d3.svg +1 -0
  28. data/examples/rocksdb_table_component.png +0 -0
  29. data/exe/cpp_dependency_graph +87 -0
  30. data/lib/cpp_dependency_graph/bidirectional_hash.rb +30 -0
  31. data/lib/cpp_dependency_graph/component_link.rb +37 -0
  32. data/lib/cpp_dependency_graph/cycle_detector.rb +25 -0
  33. data/lib/cpp_dependency_graph/cyclic_link.rb +30 -0
  34. data/lib/cpp_dependency_graph/dependency_graph.rb +49 -0
  35. data/lib/cpp_dependency_graph/graph_to_html_converter.rb +7 -0
  36. data/lib/cpp_dependency_graph/graph_visualiser.rb +59 -0
  37. data/lib/cpp_dependency_graph/include_dependency_graph.rb +24 -0
  38. data/lib/cpp_dependency_graph/project.rb +66 -0
  39. data/lib/cpp_dependency_graph/source_component.rb +37 -0
  40. data/lib/cpp_dependency_graph/source_file.rb +51 -0
  41. data/lib/cpp_dependency_graph/tsortable_hash.rb +12 -0
  42. data/lib/cpp_dependency_graph/version.rb +5 -0
  43. data/lib/cpp_dependency_graph.rb +48 -0
  44. data/views/index.html.template +990 -0
  45. metadata +258 -0
@@ -0,0 +1 @@
1
+ <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="1536" height="734" style="perspective-origin:768px 367px;transform-origin:768px 367px;" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg"><rect width="1536" height="734" style="overflow-x:visible;overflow-y:visible;pointer-events:all;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform-origin:0px 0px;fill:none;"/><g style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;transform-origin:0px 0px;"><defs style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;transform-origin:0px 0px;"><marker id="default" orient="auto" class="marker" viewBox="0 -5 10 10" refX="10" refY="0" markerWidth="10" markerHeight="10" style="pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:rgb(153, 153, 153);stroke:rgb(153, 153, 153);"><path d="M0,-5L10,0L0,5" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:rgb(153, 153, 153);stroke:rgb(153, 153, 153);d:path('M 0 -5 L 10 0 L 0 5');"/></marker><marker id="dependency" orient="auto" class="marker" viewBox="0 -5 10 10" refX="10" refY="0" markerWidth="10" markerHeight="10" style="pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:rgb(153, 0, 0);stroke:rgb(153, 0, 0);"><path d="M0,-5L10,0L0,5" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:rgb(153, 0, 0);stroke:rgb(153, 0, 0);d:path('M 0 -5 L 10 0 L 0 5');"/></marker><marker id="dependants" orient="auto" class="marker" viewBox="0 -5 10 10" refX="10" refY="0" markerWidth="10" markerHeight="10" style="pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:rgb(0, 153, 0);stroke:rgb(0, 153, 0);"><path d="M0,-5L10,0L0,5" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:rgb(0, 153, 0);stroke:rgb(0, 153, 0);d:path('M 0 -5 L 10 0 L 0 5');"/></marker></defs><g style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;transform-origin:0px 0px;"><path class="link" marker-end="url(#default)" d="M761.1436201549925,348.2480094955387L750.2893067298836,351.8899442255455" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 761.144 348.248 L 750.289 351.89');"/><path class="link" marker-end="url(#default)" d="M766.6372494011929,323.9372265952276L739.3429312334026,297.5654366799643" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 766.637 323.937 L 739.343 297.565');"/><path class="link" marker-end="url(#default)" d="M790.9460408130825,317.6721330919967L795.935314151351,301.4343124148065" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 790.946 317.672 L 795.935 301.434');"/><path class="link" marker-end="url(#default)" d="M792.3586064145568,363.07247320524834L799.3553977074473,381.64339653913834" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 792.359 363.072 L 799.355 381.643');"/><path class="link" marker-end="url(#default)" d="M807.7682889571545,338.1314584987462L825.141919778455,336.32494631278234" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 807.768 338.131 L 825.142 336.325');"/><path class="link" marker-end="url(#default)" d="M602.1081396256803,423.59339469117805L711.6492546557412,368.0650564448168" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 602.108 423.593 L 711.649 368.065');"/><path class="link" marker-end="url(#default)" d="M727.2465700136596,402.920090999461L724.7667632804652,303.96701955579357" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 727.247 402.92 L 724.767 303.967');"/><path class="link" marker-end="url(#default)" d="M728.6746530236694,402.9296393462248L729.5733357105115,379.5545503488341" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 728.675 402.93 L 729.573 379.555');"/><path class="link" marker-end="url(#default)" d="M749.2056921914977,418.44989960189395L787.6877479608562,405.92594391046543" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 749.206 418.45 L 787.688 405.926');"/><path class="link" marker-end="url(#default)" d="M740.2225583097438,406.64644514947577L770.6571960743197,360.63128860951605" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 740.223 406.646 L 770.657 360.631');"/><path class="link" marker-end="url(#default)" d="M743.4606294785107,291.4348605954721L826.4520336579063,327.9703497275841" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 743.461 291.435 L 826.452 327.97');"/><path class="link" marker-end="url(#default)" d="M745.2067430659146,281.780574680149L779.0231278099676,279.8563161380082" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 745.207 281.781 L 779.023 279.856');"/><path class="link" marker-end="url(#default)" d="M725.9405456908722,303.9046973233634L728.6802229803866,337.6389666932318" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 725.941 303.905 L 728.68 337.639');"/><path class="link" marker-end="url(#default)" d="M668.6157692335331,301.2560343616305L704.2905962304654,289.53066647555545" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 668.616 301.256 L 704.291 289.531');"/><path class="link" marker-end="url(#default)" d="M669.0739649319873,312.76313766450824L760.5732642585764,334.95640193168504" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 669.074 312.763 L 760.573 334.956');"/><path class="link" marker-end="url(#default)" d="M666.5044630246589,318.89364744947335L712.5413523453952,347.489495971066" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 666.504 318.894 L 712.541 347.49');"/><path class="link" marker-end="url(#default)" d="M815.5112588689315,382.7413975624606L833.7004568803187,349.12987277376453" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 815.511 382.741 L 833.7 349.13');"/><path class="link" marker-end="url(#default)" d="M789.1065903255628,390.5626190620041L748.8212020050406,368.6162515573128" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 789.107 390.563 L 748.821 368.616');"/><path class="link" marker-end="url(#default)" d="M816.5769184170119,298.2726979256489L832.2085591563806,321.0198266961649" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 816.577 298.273 L 832.209 321.02');"/><path class="link" marker-end="url(#default)" d="M779.0231278099676,279.8563161380082L745.2067430659146,281.780574680149" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 779.023 279.856 L 745.207 281.781');"/><path class="link" marker-end="url(#default)" d="M786.8637204558488,296.2727445088678L744.485674406824,343.0126424390002" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 786.864 296.273 L 744.486 343.013');"/><path class="link" marker-end="url(#default)" d="M803.6258778349516,302.4842711616813L805.7092340156955,380.3981990960744" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 803.626 302.484 L 805.709 380.398');"/><path class="link" marker-end="url(#default)" d="M795.935314151351,301.4343124148065L790.9460408130825,317.6721330919967" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 795.935 301.434 L 790.946 317.672');"/><path class="link" marker-end="url(#default)" d="M750.9090775543609,354.1472191468853L825.4235350959248,338.09355860982294" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 750.909 354.147 L 825.424 338.094');"/><path class="link" marker-end="url(#default)" d="M748.8212020050406,368.6162515573128L789.1065903255628,390.5626190620041" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 748.821 368.616 L 789.107 390.563');"/><path class="link" marker-end="url(#default)" d="M728.6802229803866,337.6389666932318L725.9405456908722,303.9046973233634" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 728.68 337.639 L 725.941 303.905');"/></g><g style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;transform-origin:0px 0px;"><circle class="node" r="24" source="6" dest="3" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 783.897, 340.614);transform-origin:0px 0px;fill:rgb(31, 119, 180);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:24px;" transform="translate(783.8969886592512,340.61359912476297)"/><circle class="node" r="21" source="4" dest="7" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 730.38, 358.57);transform-origin:0px 0px;fill:rgb(255, 127, 14);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:21px;" transform="translate(730.3801092886572,358.5700532999743)"/><circle class="node" r="21" source="4" dest="5" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 724.241, 282.974);transform-origin:0px 0px;fill:rgb(44, 160, 44);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:21px;" transform="translate(724.2406593826016,282.9736107166209)"/><circle class="node" r="24" source="6" dest="2" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 802.984, 278.493);transform-origin:0px 0px;fill:rgb(214, 39, 40);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:24px;" transform="translate(802.9843663051823,278.4928463820403)"/><circle class="node" r="19.5" source="3" dest="4" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 806.23, 399.891);transform-origin:0px 0px;fill:rgb(148, 103, 189);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:19.5px;" transform="translate(806.2304621336331,399.8912317295327)"/><circle class="node" r="16.5" source="1" dest="5" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 841.554, 334.618);transform-origin:0px 0px;fill:rgb(140, 86, 75);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:16.5px;" transform="translate(841.5534387332634,334.6184746323958)"/><circle class="node" r="18" source="2" dest="0" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 586.053, 431.732);transform-origin:0px 0px;fill:rgb(227, 119, 194);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:18px;" transform="translate(586.0531213688952,431.73196881532874)"/><circle class="node" r="22.5" source="5" dest="0" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 727.81, 425.413);transform-origin:0px 0px;fill:rgb(127, 127, 127);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:22.5px;" transform="translate(727.8102527613705,425.41302904143174)"/><circle class="node" r="21" source="4" dest="0" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 648.666, 307.813);transform-origin:0px 0px;fill:rgb(188, 189, 34);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:21px;" transform="translate(648.6657060813969,307.81309012056505)"/></g><g style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;transform-origin:0px 0px;"/><g style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;transform-origin:0px 0px;"><text visibility="visible" transform="translate(783.8969886592512,340.61359912476297)" class="" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.3375px 0px;transform:matrix(1, 0, 0, 1, 783.897, 340.614);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">db</text><text visibility="visible" transform="translate(730.3801092886572,358.5700532999743)" class="" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.0625px 0px;transform:matrix(1, 0, 0, 1, 730.38, 358.57);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">util</text><text visibility="visible" transform="translate(724.2406593826016,282.9736107166209)" class="" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.325px 0px;transform:matrix(1, 0, 0, 1, 724.241, 282.974);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">leveldb</text><text visibility="visible" transform="translate(802.9843663051823,278.4928463820403)" class="" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:-0.3px 0px;transform:matrix(1, 0, 0, 1, 802.984, 278.493);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">table</text><text visibility="visible" transform="translate(806.2304621336331,399.8912317295327)" class="" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.1625px 0px;transform:matrix(1, 0, 0, 1, 806.23, 399.891);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">port</text><text visibility="visible" transform="translate(841.5534387332634,334.6184746323958)" class="" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:-0.3px 0px;transform:matrix(1, 0, 0, 1, 841.554, 334.618);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">win</text><text visibility="visible" transform="translate(586.0531213688952,431.73196881532874)" class="" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.025px 0px;transform:matrix(1, 0, 0, 1, 586.053, 431.732);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">bench</text><text visibility="visible" transform="translate(727.8102527613705,425.41302904143174)" class="" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.2375px 0px;transform:matrix(1, 0, 0, 1, 727.81, 425.413);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">memenv</text><text visibility="visible" transform="translate(648.6657060813969,307.81309012056505)" class="" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.2375px 0px;transform:matrix(1, 0, 0, 1, 648.666, 307.813);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">issues</text></g></g></svg>
@@ -0,0 +1,234 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <!-- Generated by graphviz version 2.38.0 (20140413.2041)
5
+ -->
6
+ <!-- Title: dependency_graph Pages: 1 -->
7
+ <svg width="862pt" height="188pt"
8
+ viewBox="0.00 0.00 862.00 188.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
9
+ <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 184)">
10
+ <title>dependency_graph</title>
11
+ <polygon fill="white" stroke="none" points="-4,4 -4,-184 858,-184 858,4 -4,4"/>
12
+ <!-- io -->
13
+ <g id="node1" class="node"><title>io</title>
14
+ <polygon fill="none" stroke="black" points="54,-180 4,-180 0,-176 0,-144 50,-144 54,-148 54,-180"/>
15
+ <polyline fill="none" stroke="black" points="50,-176 0,-176 "/>
16
+ <polyline fill="none" stroke="black" points="50,-176 50,-144 "/>
17
+ <polyline fill="none" stroke="black" points="50,-176 54,-180 "/>
18
+ <text text-anchor="middle" x="27" y="-158.3" font-family="Times New Roman,serif" font-size="14.00">io</text>
19
+ </g>
20
+ <!-- queue -->
21
+ <g id="node2" class="node"><title>queue</title>
22
+ <polygon fill="none" stroke="black" points="391,-108 341,-108 337,-104 337,-72 387,-72 391,-76 391,-108"/>
23
+ <polyline fill="none" stroke="black" points="387,-104 337,-104 "/>
24
+ <polyline fill="none" stroke="black" points="387,-104 387,-72 "/>
25
+ <polyline fill="none" stroke="black" points="387,-104 391,-108 "/>
26
+ <text text-anchor="middle" x="364" y="-86.3" font-family="Times New Roman,serif" font-size="14.00">queue</text>
27
+ </g>
28
+ <!-- io&#45;&gt;queue -->
29
+ <g id="edge1" class="edge"><title>io&#45;&gt;queue</title>
30
+ <path fill="none" stroke="black" d="M54.2122,-147.229C57.1362,-146.028 60.1017,-144.921 63,-144 155.354,-114.647 269.13,-100.201 326.76,-94.3315"/>
31
+ <polygon fill="black" stroke="black" points="327.242,-97.801 336.849,-93.3337 326.553,-90.835 327.242,-97.801"/>
32
+ </g>
33
+ <!-- concurrency -->
34
+ <g id="node8" class="node"><title>concurrency</title>
35
+ <polygon fill="none" stroke="black" points="191,-36 109,-36 105,-32 105,-0 187,-0 191,-4 191,-36"/>
36
+ <polyline fill="none" stroke="black" points="187,-32 105,-32 "/>
37
+ <polyline fill="none" stroke="black" points="187,-32 187,-0 "/>
38
+ <polyline fill="none" stroke="black" points="187,-32 191,-36 "/>
39
+ <text text-anchor="middle" x="148" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">concurrency</text>
40
+ </g>
41
+ <!-- queue&#45;&gt;concurrency -->
42
+ <g id="edge13" class="edge"><title>queue&#45;&gt;concurrency</title>
43
+ <path fill="none" stroke="red" d="M336.892,-82.1622C304.705,-72.7361 249.869,-55.1117 200.989,-39.2446"/>
44
+ <polygon fill="red" stroke="red" points="201.892,-35.8583 191.3,-36.0976 199.73,-42.5158 201.892,-35.8583"/>
45
+ </g>
46
+ <!-- containers -->
47
+ <g id="node12" class="node"><title>containers</title>
48
+ <polygon fill="none" stroke="black" points="283,-36 213,-36 209,-32 209,-0 279,-0 283,-4 283,-36"/>
49
+ <polyline fill="none" stroke="black" points="279,-32 209,-32 "/>
50
+ <polyline fill="none" stroke="black" points="279,-32 279,-0 "/>
51
+ <polyline fill="none" stroke="black" points="279,-32 283,-36 "/>
52
+ <text text-anchor="middle" x="246" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">containers</text>
53
+ </g>
54
+ <!-- queue&#45;&gt;containers -->
55
+ <g id="edge11" class="edge"><title>queue&#45;&gt;containers</title>
56
+ <path fill="none" stroke="black" d="M336.928,-72.9406C321.168,-63.5913 301.058,-51.6616 283.76,-41.3998"/>
57
+ <polygon fill="black" stroke="black" points="285.394,-38.2998 275.008,-36.208 281.823,-44.3202 285.394,-38.2998"/>
58
+ </g>
59
+ <!-- src -->
60
+ <g id="node13" class="node"><title>src</title>
61
+ <polygon fill="none" stroke="black" points="355,-36 305,-36 301,-32 301,-0 351,-0 355,-4 355,-36"/>
62
+ <polyline fill="none" stroke="black" points="351,-32 301,-32 "/>
63
+ <polyline fill="none" stroke="black" points="351,-32 351,-0 "/>
64
+ <polyline fill="none" stroke="black" points="351,-32 355,-36 "/>
65
+ <text text-anchor="middle" x="328" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">src</text>
66
+ </g>
67
+ <!-- queue&#45;&gt;src -->
68
+ <g id="edge12" class="edge"><title>queue&#45;&gt;src</title>
69
+ <path fill="none" stroke="black" d="M355.101,-71.6966C351.003,-63.7284 346.051,-54.0995 341.507,-45.2641"/>
70
+ <polygon fill="black" stroke="black" points="344.483,-43.3965 336.797,-36.1043 338.258,-46.598 344.483,-43.3965"/>
71
+ </g>
72
+ <!-- archive -->
73
+ <g id="node14" class="node"><title>archive</title>
74
+ <polygon fill="none" stroke="black" points="429,-36 377,-36 373,-32 373,-0 425,-0 429,-4 429,-36"/>
75
+ <polyline fill="none" stroke="black" points="425,-32 373,-32 "/>
76
+ <polyline fill="none" stroke="black" points="425,-32 425,-0 "/>
77
+ <polyline fill="none" stroke="black" points="425,-32 429,-36 "/>
78
+ <text text-anchor="middle" x="401" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">archive</text>
79
+ </g>
80
+ <!-- queue&#45;&gt;archive -->
81
+ <g id="edge14" class="edge"><title>queue&#45;&gt;archive</title>
82
+ <path fill="none" stroke="black" d="M373.146,-71.6966C377.403,-63.6436 382.556,-53.8945 387.266,-44.9824"/>
83
+ <polygon fill="black" stroke="black" points="390.38,-46.5809 391.959,-36.1043 384.192,-43.3097 390.38,-46.5809"/>
84
+ </g>
85
+ <!-- arch -->
86
+ <g id="node15" class="node"><title>arch</title>
87
+ <polygon fill="none" stroke="black" points="501,-36 451,-36 447,-32 447,-0 497,-0 501,-4 501,-36"/>
88
+ <polyline fill="none" stroke="black" points="497,-32 447,-32 "/>
89
+ <polyline fill="none" stroke="black" points="497,-32 497,-0 "/>
90
+ <polyline fill="none" stroke="black" points="497,-32 501,-36 "/>
91
+ <text text-anchor="middle" x="474" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">arch</text>
92
+ </g>
93
+ <!-- queue&#45;&gt;arch -->
94
+ <g id="edge15" class="edge"><title>queue&#45;&gt;arch</title>
95
+ <path fill="none" stroke="black" d="M390.909,-71.8761C405.158,-62.8083 422.846,-51.5523 438.236,-41.7592"/>
96
+ <polygon fill="black" stroke="black" points="440.43,-44.5114 446.988,-36.1898 436.672,-38.6057 440.43,-44.5114"/>
97
+ </g>
98
+ <!-- runtime -->
99
+ <g id="node16" class="node"><title>runtime</title>
100
+ <polygon fill="none" stroke="black" points="577,-36 523,-36 519,-32 519,-0 573,-0 577,-4 577,-36"/>
101
+ <polyline fill="none" stroke="black" points="573,-32 519,-32 "/>
102
+ <polyline fill="none" stroke="black" points="573,-32 573,-0 "/>
103
+ <polyline fill="none" stroke="black" points="573,-32 577,-36 "/>
104
+ <text text-anchor="middle" x="548" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">runtime</text>
105
+ </g>
106
+ <!-- queue&#45;&gt;runtime -->
107
+ <g id="edge16" class="edge"><title>queue&#45;&gt;runtime</title>
108
+ <path fill="none" stroke="black" d="M391.131,-79.8111C418.773,-70.3059 463.03,-54.6944 509.346,-36.14"/>
109
+ <polygon fill="black" stroke="black" points="510.669,-39.3801 518.632,-32.3908 508.049,-32.8891 510.669,-39.3801"/>
110
+ </g>
111
+ <!-- perfmon -->
112
+ <g id="node17" class="node"><title>perfmon</title>
113
+ <polygon fill="none" stroke="black" points="659,-36 599,-36 595,-32 595,-0 655,-0 659,-4 659,-36"/>
114
+ <polyline fill="none" stroke="black" points="655,-32 595,-32 "/>
115
+ <polyline fill="none" stroke="black" points="655,-32 655,-0 "/>
116
+ <polyline fill="none" stroke="black" points="655,-32 659,-36 "/>
117
+ <text text-anchor="middle" x="627" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">perfmon</text>
118
+ </g>
119
+ <!-- queue&#45;&gt;perfmon -->
120
+ <g id="edge17" class="edge"><title>queue&#45;&gt;perfmon</title>
121
+ <path fill="none" stroke="black" d="M391.034,-83.9875C431.49,-76.1787 510.221,-59.7938 585.337,-35.953"/>
122
+ <polygon fill="black" stroke="black" points="586.508,-39.2529 594.952,-32.8532 584.36,-32.5905 586.508,-39.2529"/>
123
+ </g>
124
+ <!-- disk -->
125
+ <g id="node3" class="node"><title>disk</title>
126
+ <polygon fill="none" stroke="black" points="126,-180 76,-180 72,-176 72,-144 122,-144 126,-148 126,-180"/>
127
+ <polyline fill="none" stroke="black" points="122,-176 72,-176 "/>
128
+ <polyline fill="none" stroke="black" points="122,-176 122,-144 "/>
129
+ <polyline fill="none" stroke="black" points="122,-176 126,-180 "/>
130
+ <text text-anchor="middle" x="99" y="-158.3" font-family="Times New Roman,serif" font-size="14.00">disk</text>
131
+ </g>
132
+ <!-- disk&#45;&gt;queue -->
133
+ <g id="edge2" class="edge"><title>disk&#45;&gt;queue</title>
134
+ <path fill="none" stroke="black" d="M126.265,-147.387C129.178,-146.155 132.127,-144.998 135,-144 200.804,-121.143 280.672,-105.203 326.589,-97.1183"/>
135
+ <polygon fill="black" stroke="black" points="327.422,-100.526 336.678,-95.3725 326.228,-93.6288 327.422,-100.526"/>
136
+ </g>
137
+ <!-- btree -->
138
+ <g id="node4" class="node"><title>btree</title>
139
+ <polygon fill="none" stroke="black" points="198,-180 148,-180 144,-176 144,-144 194,-144 198,-148 198,-180"/>
140
+ <polyline fill="none" stroke="black" points="194,-176 144,-176 "/>
141
+ <polyline fill="none" stroke="black" points="194,-176 194,-144 "/>
142
+ <polyline fill="none" stroke="black" points="194,-176 198,-180 "/>
143
+ <text text-anchor="middle" x="171" y="-158.3" font-family="Times New Roman,serif" font-size="14.00">btree</text>
144
+ </g>
145
+ <!-- btree&#45;&gt;queue -->
146
+ <g id="edge3" class="edge"><title>btree&#45;&gt;queue</title>
147
+ <path fill="none" stroke="black" d="M198.372,-147.674C201.265,-146.386 204.18,-145.138 207,-144 247.445,-127.687 295.043,-112.109 327.14,-102.116"/>
148
+ <polygon fill="black" stroke="black" points="328.467,-105.37 336.988,-99.0739 326.401,-98.6815 328.467,-105.37"/>
149
+ </g>
150
+ <!-- client_protocol -->
151
+ <g id="node5" class="node"><title>client_protocol</title>
152
+ <polygon fill="none" stroke="black" points="317.5,-180 220.5,-180 216.5,-176 216.5,-144 313.5,-144 317.5,-148 317.5,-180"/>
153
+ <polyline fill="none" stroke="black" points="313.5,-176 216.5,-176 "/>
154
+ <polyline fill="none" stroke="black" points="313.5,-176 313.5,-144 "/>
155
+ <polyline fill="none" stroke="black" points="313.5,-176 317.5,-180 "/>
156
+ <text text-anchor="middle" x="267" y="-158.3" font-family="Times New Roman,serif" font-size="14.00">client_protocol</text>
157
+ </g>
158
+ <!-- client_protocol&#45;&gt;queue -->
159
+ <g id="edge4" class="edge"><title>client_protocol&#45;&gt;queue</title>
160
+ <path fill="none" stroke="black" d="M290.978,-143.697C303.311,-134.796 318.516,-123.823 331.853,-114.199"/>
161
+ <polygon fill="black" stroke="black" points="334.237,-116.794 340.298,-108.104 330.141,-111.118 334.237,-116.794"/>
162
+ </g>
163
+ <!-- generic -->
164
+ <g id="node6" class="node"><title>generic</title>
165
+ <polygon fill="none" stroke="black" points="392,-180 340,-180 336,-176 336,-144 388,-144 392,-148 392,-180"/>
166
+ <polyline fill="none" stroke="black" points="388,-176 336,-176 "/>
167
+ <polyline fill="none" stroke="black" points="388,-176 388,-144 "/>
168
+ <polyline fill="none" stroke="black" points="388,-176 392,-180 "/>
169
+ <text text-anchor="middle" x="364" y="-158.3" font-family="Times New Roman,serif" font-size="14.00">generic</text>
170
+ </g>
171
+ <!-- generic&#45;&gt;queue -->
172
+ <g id="edge5" class="edge"><title>generic&#45;&gt;queue</title>
173
+ <path fill="none" stroke="black" d="M364,-143.697C364,-135.983 364,-126.712 364,-118.112"/>
174
+ <polygon fill="black" stroke="black" points="367.5,-118.104 364,-108.104 360.5,-118.104 367.5,-118.104"/>
175
+ </g>
176
+ <!-- immediate_consistency -->
177
+ <g id="node7" class="node"><title>immediate_consistency</title>
178
+ <polygon fill="none" stroke="black" points="556,-180 414,-180 410,-176 410,-144 552,-144 556,-148 556,-180"/>
179
+ <polyline fill="none" stroke="black" points="552,-176 410,-176 "/>
180
+ <polyline fill="none" stroke="black" points="552,-176 552,-144 "/>
181
+ <polyline fill="none" stroke="black" points="552,-176 556,-180 "/>
182
+ <text text-anchor="middle" x="483" y="-158.3" font-family="Times New Roman,serif" font-size="14.00">immediate_consistency</text>
183
+ </g>
184
+ <!-- immediate_consistency&#45;&gt;queue -->
185
+ <g id="edge6" class="edge"><title>immediate_consistency&#45;&gt;queue</title>
186
+ <path fill="none" stroke="black" d="M453.889,-143.876C437.6,-134.294 417.157,-122.269 399.884,-112.108"/>
187
+ <polygon fill="black" stroke="black" points="401.573,-109.041 391.179,-106.987 398.023,-115.074 401.573,-109.041"/>
188
+ </g>
189
+ <!-- concurrency&#45;&gt;queue -->
190
+ <g id="edge7" class="edge"><title>concurrency&#45;&gt;queue</title>
191
+ <path fill="none" stroke="black" d="M191.265,-30.2641C197.27,-32.1814 203.309,-34.1503 209,-36 249.571,-49.1873 295.818,-64.1244 327.281,-74.7722"/>
192
+ <polygon fill="black" stroke="black" points="326.357,-78.1548 336.951,-78.0709 328.617,-71.5296 326.357,-78.1548"/>
193
+ </g>
194
+ <!-- rdb_protocol -->
195
+ <g id="node9" class="node"><title>rdb_protocol</title>
196
+ <polygon fill="none" stroke="black" points="666,-180 578,-180 574,-176 574,-144 662,-144 666,-148 666,-180"/>
197
+ <polyline fill="none" stroke="black" points="662,-176 574,-176 "/>
198
+ <polyline fill="none" stroke="black" points="662,-176 662,-144 "/>
199
+ <polyline fill="none" stroke="black" points="662,-176 666,-180 "/>
200
+ <text text-anchor="middle" x="620" y="-158.3" font-family="Times New Roman,serif" font-size="14.00">rdb_protocol</text>
201
+ </g>
202
+ <!-- rdb_protocol&#45;&gt;queue -->
203
+ <g id="edge8" class="edge"><title>rdb_protocol&#45;&gt;queue</title>
204
+ <path fill="none" stroke="black" d="M573.828,-146.575C570.845,-145.69 567.883,-144.825 565,-144 508.029,-127.692 441.446,-110.499 401.021,-100.266"/>
205
+ <polygon fill="black" stroke="black" points="401.635,-96.8112 391.083,-97.757 399.922,-103.598 401.635,-96.8112"/>
206
+ </g>
207
+ <!-- datum_stream -->
208
+ <g id="node10" class="node"><title>datum_stream</title>
209
+ <polygon fill="none" stroke="black" points="779.5,-180 688.5,-180 684.5,-176 684.5,-144 775.5,-144 779.5,-148 779.5,-180"/>
210
+ <polyline fill="none" stroke="black" points="775.5,-176 684.5,-176 "/>
211
+ <polyline fill="none" stroke="black" points="775.5,-176 775.5,-144 "/>
212
+ <polyline fill="none" stroke="black" points="775.5,-176 779.5,-180 "/>
213
+ <text text-anchor="middle" x="732" y="-158.3" font-family="Times New Roman,serif" font-size="14.00">datum_stream</text>
214
+ </g>
215
+ <!-- datum_stream&#45;&gt;queue -->
216
+ <g id="edge9" class="edge"><title>datum_stream&#45;&gt;queue</title>
217
+ <path fill="none" stroke="black" d="M684.219,-146.292C681.109,-145.477 678.017,-144.704 675,-144 577.337,-121.203 460.279,-103.903 401.533,-95.8994"/>
218
+ <polygon fill="black" stroke="black" points="401.639,-92.382 391.26,-94.5139 400.703,-99.3192 401.639,-92.382"/>
219
+ </g>
220
+ <!-- unittest -->
221
+ <g id="node11" class="node"><title>unittest</title>
222
+ <polygon fill="none" stroke="black" points="854,-180 802,-180 798,-176 798,-144 850,-144 854,-148 854,-180"/>
223
+ <polyline fill="none" stroke="black" points="850,-176 798,-176 "/>
224
+ <polyline fill="none" stroke="black" points="850,-176 850,-144 "/>
225
+ <polyline fill="none" stroke="black" points="850,-176 854,-180 "/>
226
+ <text text-anchor="middle" x="826" y="-158.3" font-family="Times New Roman,serif" font-size="14.00">unittest</text>
227
+ </g>
228
+ <!-- unittest&#45;&gt;queue -->
229
+ <g id="edge10" class="edge"><title>unittest&#45;&gt;queue</title>
230
+ <path fill="none" stroke="black" d="M797.647,-146.927C794.77,-145.817 791.856,-144.813 789,-144 649.95,-104.41 476.952,-94.3846 401.789,-91.8523"/>
231
+ <polygon fill="black" stroke="black" points="401.528,-88.3427 391.424,-91.5305 401.311,-95.3393 401.528,-88.3427"/>
232
+ </g>
233
+ </g>
234
+ </svg>
@@ -0,0 +1 @@
1
+ <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="1536" height="734" style="perspective-origin:768px 367px;transform-origin:768px 367px;" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg"><rect width="1536" height="734" style="overflow-x:visible;overflow-y:visible;pointer-events:all;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform-origin:0px 0px;fill:none;"/><g style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;transform-origin:0px 0px;"><defs style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;transform-origin:0px 0px;"><marker id="default" orient="auto" class="marker" viewBox="0 -5 10 10" refX="10" refY="0" markerWidth="10" markerHeight="10" style="pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:rgb(153, 153, 153);stroke:rgb(153, 153, 153);"><path d="M0,-5L10,0L0,5" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:rgb(153, 153, 153);stroke:rgb(153, 153, 153);d:path('M 0 -5 L 10 0 L 0 5');"/></marker><marker id="dependency" orient="auto" class="marker" viewBox="0 -5 10 10" refX="10" refY="0" markerWidth="10" markerHeight="10" style="pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:rgb(153, 0, 0);stroke:rgb(153, 0, 0);"><path d="M0,-5L10,0L0,5" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:rgb(153, 0, 0);stroke:rgb(153, 0, 0);d:path('M 0 -5 L 10 0 L 0 5');"/></marker><marker id="dependants" orient="auto" class="marker" viewBox="0 -5 10 10" refX="10" refY="0" markerWidth="10" markerHeight="10" style="pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:rgb(0, 153, 0);stroke:rgb(0, 153, 0);"><path d="M0,-5L10,0L0,5" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:rgb(0, 153, 0);stroke:rgb(0, 153, 0);d:path('M 0 -5 L 10 0 L 0 5');"/></marker></defs><g style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;transform-origin:0px 0px;"><path class="link" marker-end="url(#default)" d="M793.1577564642273,284.24041958564226L747.5729053331187,331.3977665494379" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 793.158 284.24 L 747.573 331.398');"/><path class="link" marker-end="url(#default)" d="M714.2977703117758,258.0803791161047L724.6334811055274,324.1351511507291" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 714.298 258.08 L 724.633 324.135');"/><path class="link" marker-end="url(#default)" d="M784.6329062673592,425.63483549825946L744.9531989462693,372.45114228827015" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 784.633 425.635 L 744.953 372.451');"/><path class="link" marker-end="url(#default)" d="M640.1411800008569,355.9046469042232L701.8518832881618,352.3592293524466" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 640.141 355.905 L 701.852 352.359');"/><path class="link" marker-end="url(#default)" d="M817.4272187106583,315.80828774547444L753.9196114401044,340.89197940927136" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 817.427 315.808 L 753.92 340.892');"/><path class="link" marker-end="url(#default)" d="M716.4653545546167,439.436861686312L725.0833563316253,377.5525109785604" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 716.465 439.437 L 725.083 377.553');"/><path class="link" marker-end="url(#default)" d="M685.2044080647894,312.7224197796077L708.4729640438347,333.0479894638623" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 685.204 312.722 L 708.473 333.048');"/><path class="link" marker-end="url(#default)" d="M820.7267826801461,384.113880707774L754.1926510650895,360.00789350956865" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 820.727 384.114 L 754.193 360.008');"/><path class="link" marker-end="url(#default)" d="M656.2484476544648,401.0106406010359L706.6035079950343,366.17239934642146" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 656.248 401.011 L 706.604 366.172');"/><path class="link" marker-end="url(#default)" d="M757.6155493235125,262.7526211613971L737.2026317123414,325.1489159028566" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 757.616 262.753 L 737.203 325.149');"/><path class="link" marker-end="url(#default)" d="M735.9442087987072,376.8502816466059L752.3509839029946,436.7131189521411" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 735.944 376.85 L 752.351 436.713');"/><path class="link" marker-end="url(#default)" d="M704.2252666130186,339.64289215469154L639.8130139262059,310.3803991446138" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 704.225 339.643 L 639.813 310.38');"/><path class="link" marker-end="url(#default)" d="M708.4729640438347,333.0479894638623L685.2044080647894,312.7224197796077" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 708.473 333.048 L 685.204 312.722');"/><path class="link" marker-end="url(#default)" d="M755.8040083070175,350.3805442888323L818.5890704619329,349.38044066851126" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 755.804 350.381 L 818.589 349.38');"/><path class="link" marker-end="url(#default)" d="M714.8024686203114,373.89435445537487L682.0464634014476,427.8846714542536" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 714.802 373.894 L 682.046 427.885');"/><path class="link" marker-end="url(#default)" d="M712.865600659578,329.0193365832216L669.2931210685604,269.4591696029402" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 712.866 329.019 L 669.293 269.459');"/><path class="link" marker-end="url(#default)" d="M751.0610449795852,366.1003327427161L788.811030197829,392.03716538993444" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 751.061 366.1 L 788.811 392.037');"/></g><g style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;transform-origin:0px 0px;"><circle class="node" r="18" source="2" dest="0" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 805.668, 271.299);transform-origin:0px 0px;fill:rgb(31, 119, 180);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:18px;" transform="translate(805.668071317068,271.2985486898716)"/><circle class="node" r="27" source="8" dest="10" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 728.807, 350.811);transform-origin:0px 0px;fill:rgb(255, 127, 14);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:27px;" transform="translate(728.8074330538577,350.8105728930939)"/><circle class="node" r="18" source="2" dest="0" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 711.515, 240.297);transform-origin:0px 0px;fill:rgb(44, 160, 44);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:18px;" transform="translate(711.5151356795556,240.29676462119482)"/><circle class="node" r="18" source="2" dest="0" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 795.397, 440.062);transform-origin:0px 0px;fill:rgb(214, 39, 40);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:18px;" transform="translate(795.3967501956336,440.0618817617103)"/><circle class="node" r="18" source="2" dest="0" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 622.171, 356.937);transform-origin:0px 0px;fill:rgb(148, 103, 189);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:18px;" transform="translate(622.170813490393,356.93708454379174)"/><circle class="node" r="18" source="2" dest="0" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 834.169, 309.196);transform-origin:0px 0px;fill:rgb(140, 86, 75);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:18px;" transform="translate(834.168670968156,309.19589208959275)"/><circle class="node" r="18" source="2" dest="0" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 713.983, 457.265);transform-origin:0px 0px;fill:rgb(227, 119, 194);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:18px;" transform="translate(713.9826367397951,457.26482040995637)"/><circle class="node" r="18" source="2" dest="1" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 671.648, 300.881);transform-origin:0px 0px;fill:rgb(127, 127, 127);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:18px;" transform="translate(671.6480953914407,300.88069749345334)"/><circle class="node" r="18" source="2" dest="0" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 837.65, 390.245);transform-origin:0px 0px;fill:rgb(188, 189, 34);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:18px;" transform="translate(837.6502613543007,390.24542778542383)"/><circle class="node" r="18" source="2" dest="0" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 641.446, 411.252);transform-origin:0px 0px;fill:rgb(23, 190, 207);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:18px;" transform="translate(641.4458309485826,411.2518582365876)"/><circle class="node" r="18" source="2" dest="0" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 763.212, 245.645);transform-origin:0px 0px;fill:rgb(31, 119, 180);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:18px;" transform="translate(763.2123484291682,245.64484983457223)"/><circle class="node" r="16.5" source="1" dest="1" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 756.712, 452.626);transform-origin:0px 0px;fill:rgb(127, 127, 127);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:16.5px;" transform="translate(756.7123468581804,452.6262743015095)"/><circle class="node" r="16.5" source="1" dest="1" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 624.791, 303.556);transform-origin:0px 0px;fill:rgb(255, 127, 14);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:16.5px;" transform="translate(624.7905788790265,303.5557053600346)"/><circle class="node" r="16.5" source="1" dest="1" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 835.087, 349.118);transform-origin:0px 0px;fill:rgb(44, 160, 44);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:16.5px;" transform="translate(835.0869775610861,349.11764541035143)"/><circle class="node" r="16.5" source="1" dest="1" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 673.488, 441.991);transform-origin:0px 0px;fill:rgb(44, 160, 44);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:16.5px;" transform="translate(673.4878740253915,441.9914268534253)"/><circle class="node" r="16.5" source="1" dest="1" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 659.551, 256.142);transform-origin:0px 0px;fill:rgb(214, 39, 40);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:16.5px;" transform="translate(659.5508901609451,256.1423029691294)"/><circle class="node" r="16.5" source="1" dest="1" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 802.41, 401.381);transform-origin:0px 0px;fill:rgb(148, 103, 189);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:16.5px;" transform="translate(802.4104597079959,401.38090752025914)"/></g><g style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;transform-origin:0px 0px;"/><g style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;transform-origin:0px 0px;"><text visibility="visible" transform="translate(805.668071317068,271.2985486898716)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.0125px 0px;transform:matrix(1, 0, 0, 1, 805.668, 271.299);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">io</text><text visibility="visible" transform="translate(728.8074330538577,350.8105728930939)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.025px 0px;transform:matrix(1, 0, 0, 1, 728.807, 350.811);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">queue</text><text visibility="visible" transform="translate(711.5151356795556,240.29676462119482)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.2375px 0px;transform:matrix(1, 0, 0, 1, 711.515, 240.297);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">disk</text><text visibility="visible" transform="translate(795.3967501956336,440.0618817617103)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.0125px 0px;transform:matrix(1, 0, 0, 1, 795.397, 440.062);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">btree</text><text visibility="visible" transform="translate(622.170813490393,356.93708454379174)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.075px 0px;transform:matrix(1, 0, 0, 1, 622.171, 356.937);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">client_protocol</text><text visibility="visible" transform="translate(834.168670968156,309.19589208959275)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.2375px 0px;transform:matrix(1, 0, 0, 1, 834.169, 309.196);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">generic</text><text visibility="visible" transform="translate(713.9826367397951,457.26482040995637)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.25px 0px;transform:matrix(1, 0, 0, 1, 713.983, 457.265);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">immediate_consistency</text><text visibility="visible" transform="translate(671.6480953914407,300.88069749345334)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.25px 0px;transform:matrix(1, 0, 0, 1, 671.648, 300.881);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">concurrency</text><text visibility="visible" transform="translate(837.6502613543007,390.24542778542383)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.075px 0px;transform:matrix(1, 0, 0, 1, 837.65, 390.245);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">rdb_protocol</text><text visibility="visible" transform="translate(641.4458309485826,411.2518582365876)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.1875px 0px;transform:matrix(1, 0, 0, 1, 641.446, 411.252);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">datum_stream</text><text visibility="visible" transform="translate(763.2123484291682,245.64484983457223)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.175px 0px;transform:matrix(1, 0, 0, 1, 763.212, 245.645);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">unittest</text><text visibility="visible" transform="translate(756.7123468581804,452.6262743015095)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.2375px 0px;transform:matrix(1, 0, 0, 1, 756.712, 452.626);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">containers</text><text visibility="visible" transform="translate(624.7905788790265,303.5557053600346)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.2375px 0px;transform:matrix(1, 0, 0, 1, 624.791, 303.556);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">src</text><text visibility="visible" transform="translate(835.0869775610861,349.11764541035143)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.0125px 0px;transform:matrix(1, 0, 0, 1, 835.087, 349.118);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">archive</text><text visibility="visible" transform="translate(673.4878740253915,441.9914268534253)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.0125px 0px;transform:matrix(1, 0, 0, 1, 673.488, 441.991);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">arch</text><text visibility="visible" transform="translate(659.5508901609451,256.1423029691294)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.0125px 0px;transform:matrix(1, 0, 0, 1, 659.551, 256.142);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">runtime</text><text visibility="visible" transform="translate(802.4104597079959,401.38090752025914)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.025px 0px;transform:matrix(1, 0, 0, 1, 802.41, 401.381);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">perfmon</text></g></g></svg>
@@ -0,0 +1,211 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <!-- Generated by graphviz version 2.38.0 (20140413.2041)
5
+ -->
6
+ <!-- Title: dependency_graph Pages: 1 -->
7
+ <svg width="2205pt" height="116pt"
8
+ viewBox="0.00 0.00 2205.00 116.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
9
+ <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 112)">
10
+ <title>dependency_graph</title>
11
+ <polygon fill="white" stroke="none" points="-4,4 -4,-112 2201,-112 2201,4 -4,4"/>
12
+ <!-- accounting.hpp -->
13
+ <g id="node1" class="node"><title>accounting.hpp</title>
14
+ <polygon fill="none" stroke="black" points="1906,-108 1807,-108 1803,-104 1803,-72 1902,-72 1906,-76 1906,-108"/>
15
+ <polyline fill="none" stroke="black" points="1902,-104 1803,-104 "/>
16
+ <polyline fill="none" stroke="black" points="1902,-104 1902,-72 "/>
17
+ <polyline fill="none" stroke="black" points="1902,-104 1906,-108 "/>
18
+ <text text-anchor="middle" x="1854.5" y="-86.3" font-family="Times New Roman,serif" font-size="14.00">accounting.hpp</text>
19
+ </g>
20
+ <!-- concurrency/queue/passive_producer.hpp -->
21
+ <g id="node2" class="node"><title>concurrency/queue/passive_producer.hpp</title>
22
+ <polygon fill="none" stroke="black" points="1656.5,-36 1408.5,-36 1404.5,-32 1404.5,-0 1652.5,-0 1656.5,-4 1656.5,-36"/>
23
+ <polyline fill="none" stroke="black" points="1652.5,-32 1404.5,-32 "/>
24
+ <polyline fill="none" stroke="black" points="1652.5,-32 1652.5,-0 "/>
25
+ <polyline fill="none" stroke="black" points="1652.5,-32 1656.5,-36 "/>
26
+ <text text-anchor="middle" x="1530.5" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">concurrency/queue/passive_producer.hpp</text>
27
+ </g>
28
+ <!-- accounting.hpp&#45;&gt;concurrency/queue/passive_producer.hpp -->
29
+ <g id="edge1" class="edge"><title>accounting.hpp&#45;&gt;concurrency/queue/passive_producer.hpp</title>
30
+ <path fill="none" stroke="black" d="M1802.8,-77.8309C1753.49,-67.1762 1678.2,-50.9105 1619.28,-38.1806"/>
31
+ <polygon fill="black" stroke="black" points="1619.74,-34.6993 1609.23,-36.0086 1618.26,-41.5415 1619.74,-34.6993"/>
32
+ </g>
33
+ <!-- containers/intrusive_list.hpp -->
34
+ <g id="node3" class="node"><title>containers/intrusive_list.hpp</title>
35
+ <polygon fill="none" stroke="black" points="2006,-36 1837,-36 1833,-32 1833,-0 2002,-0 2006,-4 2006,-36"/>
36
+ <polyline fill="none" stroke="black" points="2002,-32 1833,-32 "/>
37
+ <polyline fill="none" stroke="black" points="2002,-32 2002,-0 "/>
38
+ <polyline fill="none" stroke="black" points="2002,-32 2006,-36 "/>
39
+ <text text-anchor="middle" x="1919.5" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">containers/intrusive_list.hpp</text>
40
+ </g>
41
+ <!-- accounting.hpp&#45;&gt;containers/intrusive_list.hpp -->
42
+ <g id="edge2" class="edge"><title>accounting.hpp&#45;&gt;containers/intrusive_list.hpp</title>
43
+ <path fill="none" stroke="black" d="M1870.57,-71.6966C1878.44,-63.2198 1888.06,-52.8636 1896.67,-43.5826"/>
44
+ <polygon fill="black" stroke="black" points="1899.38,-45.8139 1903.62,-36.1043 1894.25,-41.0507 1899.38,-45.8139"/>
45
+ </g>
46
+ <!-- disk_backed_queue_wrapper.hpp -->
47
+ <g id="node4" class="node"><title>disk_backed_queue_wrapper.hpp</title>
48
+ <polygon fill="none" stroke="black" points="695,-108 492,-108 488,-104 488,-72 691,-72 695,-76 695,-108"/>
49
+ <polyline fill="none" stroke="black" points="691,-104 488,-104 "/>
50
+ <polyline fill="none" stroke="black" points="691,-104 691,-72 "/>
51
+ <polyline fill="none" stroke="black" points="691,-104 695,-108 "/>
52
+ <text text-anchor="middle" x="591.5" y="-86.3" font-family="Times New Roman,serif" font-size="14.00">disk_backed_queue_wrapper.hpp</text>
53
+ </g>
54
+ <!-- disk_backed_queue_wrapper.hpp&#45;&gt;concurrency/queue/passive_producer.hpp -->
55
+ <g id="edge4" class="edge"><title>disk_backed_queue_wrapper.hpp&#45;&gt;concurrency/queue/passive_producer.hpp</title>
56
+ <path fill="none" stroke="black" d="M695.284,-84.0921C846.436,-76.51 1136.21,-60.338 1393.89,-36.0207"/>
57
+ <polygon fill="black" stroke="black" points="1394.58,-39.4715 1404.2,-35.0418 1393.92,-32.5028 1394.58,-39.4715"/>
58
+ </g>
59
+ <!-- concurrency/auto_drainer.hpp -->
60
+ <g id="node5" class="node"><title>concurrency/auto_drainer.hpp</title>
61
+ <polygon fill="none" stroke="black" points="185,-36 4,-36 0,-32 0,-0 181,-0 185,-4 185,-36"/>
62
+ <polyline fill="none" stroke="black" points="181,-32 0,-32 "/>
63
+ <polyline fill="none" stroke="black" points="181,-32 181,-0 "/>
64
+ <polyline fill="none" stroke="black" points="181,-32 185,-36 "/>
65
+ <text text-anchor="middle" x="92.5" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">concurrency/auto_drainer.hpp</text>
66
+ </g>
67
+ <!-- disk_backed_queue_wrapper.hpp&#45;&gt;concurrency/auto_drainer.hpp -->
68
+ <g id="edge3" class="edge"><title>disk_backed_queue_wrapper.hpp&#45;&gt;concurrency/auto_drainer.hpp</title>
69
+ <path fill="none" stroke="black" d="M487.866,-76.1905C409.976,-66.3308 300.378,-51.967 195.365,-36.2575"/>
70
+ <polygon fill="black" stroke="black" points="195.627,-32.7577 185.218,-34.7332 194.587,-39.68 195.627,-32.7577"/>
71
+ </g>
72
+ <!-- concurrency/wait_any.hpp -->
73
+ <g id="node6" class="node"><title>concurrency/wait_any.hpp</title>
74
+ <polygon fill="none" stroke="black" points="368,-36 207,-36 203,-32 203,-0 364,-0 368,-4 368,-36"/>
75
+ <polyline fill="none" stroke="black" points="364,-32 203,-32 "/>
76
+ <polyline fill="none" stroke="black" points="364,-32 364,-0 "/>
77
+ <polyline fill="none" stroke="black" points="364,-32 368,-36 "/>
78
+ <text text-anchor="middle" x="285.5" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">concurrency/wait_any.hpp</text>
79
+ </g>
80
+ <!-- disk_backed_queue_wrapper.hpp&#45;&gt;concurrency/wait_any.hpp -->
81
+ <g id="edge5" class="edge"><title>disk_backed_queue_wrapper.hpp&#45;&gt;concurrency/wait_any.hpp</title>
82
+ <path fill="none" stroke="black" d="M517.035,-71.9656C472.618,-61.8047 416.085,-48.8723 370,-38.33"/>
83
+ <polygon fill="black" stroke="black" points="370.562,-34.8682 360.033,-36.0501 369.001,-41.692 370.562,-34.8682"/>
84
+ </g>
85
+ <!-- containers/archive/archive.hpp -->
86
+ <g id="node7" class="node"><title>containers/archive/archive.hpp</title>
87
+ <polygon fill="none" stroke="black" points="572.5,-36 390.5,-36 386.5,-32 386.5,-0 568.5,-0 572.5,-4 572.5,-36"/>
88
+ <polyline fill="none" stroke="black" points="568.5,-32 386.5,-32 "/>
89
+ <polyline fill="none" stroke="black" points="568.5,-32 568.5,-0 "/>
90
+ <polyline fill="none" stroke="black" points="568.5,-32 572.5,-36 "/>
91
+ <text text-anchor="middle" x="479.5" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">containers/archive/archive.hpp</text>
92
+ </g>
93
+ <!-- disk_backed_queue_wrapper.hpp&#45;&gt;containers/archive/archive.hpp -->
94
+ <g id="edge6" class="edge"><title>disk_backed_queue_wrapper.hpp&#45;&gt;containers/archive/archive.hpp</title>
95
+ <path fill="none" stroke="black" d="M564.102,-71.8761C549.593,-62.8083 531.584,-51.5523 515.915,-41.7592"/>
96
+ <polygon fill="black" stroke="black" points="517.339,-38.5218 507.004,-36.1898 513.629,-44.4578 517.339,-38.5218"/>
97
+ </g>
98
+ <!-- containers/archive/vector_stream.hpp -->
99
+ <g id="node8" class="node"><title>containers/archive/vector_stream.hpp</title>
100
+ <polygon fill="none" stroke="black" points="816.5,-36 594.5,-36 590.5,-32 590.5,-0 812.5,-0 816.5,-4 816.5,-36"/>
101
+ <polyline fill="none" stroke="black" points="812.5,-32 590.5,-32 "/>
102
+ <polyline fill="none" stroke="black" points="812.5,-32 812.5,-0 "/>
103
+ <polyline fill="none" stroke="black" points="812.5,-32 816.5,-36 "/>
104
+ <text text-anchor="middle" x="703.5" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">containers/archive/vector_stream.hpp</text>
105
+ </g>
106
+ <!-- disk_backed_queue_wrapper.hpp&#45;&gt;containers/archive/vector_stream.hpp -->
107
+ <g id="edge7" class="edge"><title>disk_backed_queue_wrapper.hpp&#45;&gt;containers/archive/vector_stream.hpp</title>
108
+ <path fill="none" stroke="black" d="M618.898,-71.8761C633.407,-62.8083 651.416,-51.5523 667.085,-41.7592"/>
109
+ <polygon fill="black" stroke="black" points="669.371,-44.4578 675.996,-36.1898 665.661,-38.5218 669.371,-44.4578"/>
110
+ </g>
111
+ <!-- containers/disk_backed_queue.hpp -->
112
+ <g id="node9" class="node"><title>containers/disk_backed_queue.hpp</title>
113
+ <polygon fill="none" stroke="black" points="1050,-36 839,-36 835,-32 835,-0 1046,-0 1050,-4 1050,-36"/>
114
+ <polyline fill="none" stroke="black" points="1046,-32 835,-32 "/>
115
+ <polyline fill="none" stroke="black" points="1046,-32 1046,-0 "/>
116
+ <polyline fill="none" stroke="black" points="1046,-32 1050,-36 "/>
117
+ <text text-anchor="middle" x="942.5" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">containers/disk_backed_queue.hpp</text>
118
+ </g>
119
+ <!-- disk_backed_queue_wrapper.hpp&#45;&gt;containers/disk_backed_queue.hpp -->
120
+ <g id="edge8" class="edge"><title>disk_backed_queue_wrapper.hpp&#45;&gt;containers/disk_backed_queue.hpp</title>
121
+ <path fill="none" stroke="black" d="M676.915,-71.9656C728.292,-61.7195 793.8,-48.6552 846.901,-38.0653"/>
122
+ <polygon fill="black" stroke="black" points="847.884,-41.4383 857.006,-36.0501 846.515,-34.5735 847.884,-41.4383"/>
123
+ </g>
124
+ <!-- limited_fifo.hpp -->
125
+ <g id="node10" class="node"><title>limited_fifo.hpp</title>
126
+ <polygon fill="none" stroke="black" points="1377.5,-108 1275.5,-108 1271.5,-104 1271.5,-72 1373.5,-72 1377.5,-76 1377.5,-108"/>
127
+ <polyline fill="none" stroke="black" points="1373.5,-104 1271.5,-104 "/>
128
+ <polyline fill="none" stroke="black" points="1373.5,-104 1373.5,-72 "/>
129
+ <polyline fill="none" stroke="black" points="1373.5,-104 1377.5,-108 "/>
130
+ <text text-anchor="middle" x="1324.5" y="-86.3" font-family="Times New Roman,serif" font-size="14.00">limited_fifo.hpp</text>
131
+ </g>
132
+ <!-- limited_fifo.hpp&#45;&gt;concurrency/queue/passive_producer.hpp -->
133
+ <g id="edge9" class="edge"><title>limited_fifo.hpp&#45;&gt;concurrency/queue/passive_producer.hpp</title>
134
+ <path fill="none" stroke="black" d="M1374.63,-71.9656C1403.54,-62.1425 1440.07,-49.7291 1470.5,-39.3891"/>
135
+ <polygon fill="black" stroke="black" points="1471.8,-42.6422 1480.15,-36.1108 1469.55,-36.0143 1471.8,-42.6422"/>
136
+ </g>
137
+ <!-- concurrency/semaphore.hpp -->
138
+ <g id="node11" class="node"><title>concurrency/semaphore.hpp</title>
139
+ <polygon fill="none" stroke="black" points="1244.5,-36 1072.5,-36 1068.5,-32 1068.5,-0 1240.5,-0 1244.5,-4 1244.5,-36"/>
140
+ <polyline fill="none" stroke="black" points="1240.5,-32 1068.5,-32 "/>
141
+ <polyline fill="none" stroke="black" points="1240.5,-32 1240.5,-0 "/>
142
+ <polyline fill="none" stroke="black" points="1240.5,-32 1244.5,-36 "/>
143
+ <text text-anchor="middle" x="1156.5" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">concurrency/semaphore.hpp</text>
144
+ </g>
145
+ <!-- limited_fifo.hpp&#45;&gt;concurrency/semaphore.hpp -->
146
+ <g id="edge10" class="edge"><title>limited_fifo.hpp&#45;&gt;concurrency/semaphore.hpp</title>
147
+ <path fill="none" stroke="black" d="M1283.4,-71.8761C1260.33,-62.2641 1231.36,-50.1934 1206.93,-40.0125"/>
148
+ <polygon fill="black" stroke="black" points="1208.04,-36.6838 1197.46,-36.0683 1205.35,-43.1453 1208.04,-36.6838"/>
149
+ </g>
150
+ <!-- perfmon/types.hpp -->
151
+ <g id="node12" class="node"><title>perfmon/types.hpp</title>
152
+ <polygon fill="none" stroke="black" points="1386,-36 1267,-36 1263,-32 1263,-0 1382,-0 1386,-4 1386,-36"/>
153
+ <polyline fill="none" stroke="black" points="1382,-32 1263,-32 "/>
154
+ <polyline fill="none" stroke="black" points="1382,-32 1382,-0 "/>
155
+ <polyline fill="none" stroke="black" points="1382,-32 1386,-36 "/>
156
+ <text text-anchor="middle" x="1324.5" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">perfmon/types.hpp</text>
157
+ </g>
158
+ <!-- limited_fifo.hpp&#45;&gt;perfmon/types.hpp -->
159
+ <g id="edge11" class="edge"><title>limited_fifo.hpp&#45;&gt;perfmon/types.hpp</title>
160
+ <path fill="none" stroke="black" d="M1324.5,-71.6966C1324.5,-63.9827 1324.5,-54.7125 1324.5,-46.1124"/>
161
+ <polygon fill="black" stroke="black" points="1328,-46.1043 1324.5,-36.1043 1321,-46.1044 1328,-46.1043"/>
162
+ </g>
163
+ <!-- passive_producer.hpp -->
164
+ <g id="node13" class="node"><title>passive_producer.hpp</title>
165
+ <polygon fill="none" stroke="black" points="2181.5,-108 2043.5,-108 2039.5,-104 2039.5,-72 2177.5,-72 2181.5,-76 2181.5,-108"/>
166
+ <polyline fill="none" stroke="black" points="2177.5,-104 2039.5,-104 "/>
167
+ <polyline fill="none" stroke="black" points="2177.5,-104 2177.5,-72 "/>
168
+ <polyline fill="none" stroke="black" points="2177.5,-104 2181.5,-108 "/>
169
+ <text text-anchor="middle" x="2110.5" y="-86.3" font-family="Times New Roman,serif" font-size="14.00">passive_producer.hpp</text>
170
+ </g>
171
+ <!-- arch/runtime/coroutines.hpp -->
172
+ <g id="node14" class="node"><title>arch/runtime/coroutines.hpp</title>
173
+ <polygon fill="none" stroke="black" points="2197,-36 2028,-36 2024,-32 2024,-0 2193,-0 2197,-4 2197,-36"/>
174
+ <polyline fill="none" stroke="black" points="2193,-32 2024,-32 "/>
175
+ <polyline fill="none" stroke="black" points="2193,-32 2193,-0 "/>
176
+ <polyline fill="none" stroke="black" points="2193,-32 2197,-36 "/>
177
+ <text text-anchor="middle" x="2110.5" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">arch/runtime/coroutines.hpp</text>
178
+ </g>
179
+ <!-- passive_producer.hpp&#45;&gt;arch/runtime/coroutines.hpp -->
180
+ <g id="edge12" class="edge"><title>passive_producer.hpp&#45;&gt;arch/runtime/coroutines.hpp</title>
181
+ <path fill="none" stroke="black" d="M2110.5,-71.6966C2110.5,-63.9827 2110.5,-54.7125 2110.5,-46.1124"/>
182
+ <polygon fill="black" stroke="black" points="2114,-46.1043 2110.5,-36.1043 2107,-46.1044 2114,-46.1043"/>
183
+ </g>
184
+ <!-- unlimited_fifo.hpp -->
185
+ <g id="node15" class="node"><title>unlimited_fifo.hpp</title>
186
+ <polygon fill="none" stroke="black" points="1655,-108 1540,-108 1536,-104 1536,-72 1651,-72 1655,-76 1655,-108"/>
187
+ <polyline fill="none" stroke="black" points="1651,-104 1536,-104 "/>
188
+ <polyline fill="none" stroke="black" points="1651,-104 1651,-72 "/>
189
+ <polyline fill="none" stroke="black" points="1651,-104 1655,-108 "/>
190
+ <text text-anchor="middle" x="1595.5" y="-86.3" font-family="Times New Roman,serif" font-size="14.00">unlimited_fifo.hpp</text>
191
+ </g>
192
+ <!-- unlimited_fifo.hpp&#45;&gt;concurrency/queue/passive_producer.hpp -->
193
+ <g id="edge13" class="edge"><title>unlimited_fifo.hpp&#45;&gt;concurrency/queue/passive_producer.hpp</title>
194
+ <path fill="none" stroke="black" d="M1579.43,-71.6966C1571.56,-63.2198 1561.94,-52.8636 1553.33,-43.5826"/>
195
+ <polygon fill="black" stroke="black" points="1555.75,-41.0507 1546.38,-36.1043 1550.62,-45.8139 1555.75,-41.0507"/>
196
+ </g>
197
+ <!-- perfmon/perfmon.hpp -->
198
+ <g id="node16" class="node"><title>perfmon/perfmon.hpp</title>
199
+ <polygon fill="none" stroke="black" points="1814.5,-36 1678.5,-36 1674.5,-32 1674.5,-0 1810.5,-0 1814.5,-4 1814.5,-36"/>
200
+ <polyline fill="none" stroke="black" points="1810.5,-32 1674.5,-32 "/>
201
+ <polyline fill="none" stroke="black" points="1810.5,-32 1810.5,-0 "/>
202
+ <polyline fill="none" stroke="black" points="1810.5,-32 1814.5,-36 "/>
203
+ <text text-anchor="middle" x="1744.5" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">perfmon/perfmon.hpp</text>
204
+ </g>
205
+ <!-- unlimited_fifo.hpp&#45;&gt;perfmon/perfmon.hpp -->
206
+ <g id="edge14" class="edge"><title>unlimited_fifo.hpp&#45;&gt;perfmon/perfmon.hpp</title>
207
+ <path fill="none" stroke="black" d="M1631.95,-71.8761C1652.14,-62.3917 1677.42,-50.5134 1698.91,-40.419"/>
208
+ <polygon fill="black" stroke="black" points="1700.61,-43.4883 1708.17,-36.0683 1697.63,-37.1527 1700.61,-43.4883"/>
209
+ </g>
210
+ </g>
211
+ </svg>